Socket
Socket
Sign inDemoInstall

recime-message-responder

Package Overview
Dependencies
154
Maintainers
1
Versions
193
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.0.4 to 1.0.5

dist/vars.d.ts

12

dist/code-block.js

@@ -35,6 +35,12 @@ "use strict";

try {
const handler = vm.runInNewContext(this.code, sandbox);
handler(data, (result) => {
resolve(result);
const local = require("domain").create();
local.run(() => {
const handler = vm.runInNewContext(this.code, sandbox);
handler(data, (result) => {
resolve(result);
});
});
local.on("error", (ex) => {
reject(ex);
});
}

@@ -41,0 +47,0 @@ catch (ex) {

@@ -0,5 +1,10 @@

import { Vars } from "./vars";
export interface RequestOptions {
args: any;
nlp: any;
user: any;
vars: Vars;
}
export declare class Request {
private args;
constructor(args: any);
send(nlp: any, p: any): any;
send(options: RequestOptions): any;
}

@@ -7,11 +7,8 @@ "use strict";

class Request {
constructor(args) {
this.args = args;
}
send(nlp, p) {
if (nlp.response && nlp.response.length) {
const response = nlp.response.map(message => () => {
send(options) {
if (options.nlp.response && options.nlp.response.length) {
const response = options.nlp.response.map(message => () => {
switch (message.type) {
case 'text': {
return Promise.resolve(__.text(__.processTemplate(message.content.text, p), message.content.buttons));
return Promise.resolve(__.text(message.content.text, message.content.buttons));
}

@@ -22,20 +19,21 @@ case 'image': {

case 'button-template': {
return Promise.resolve(__.buttonTemplate(__.processTemplate(message.content.text, p), message.content.buttons));
return Promise.resolve(__.buttonTemplate(message.content.text, message.content.buttons));
}
case 'generic-template': {
return Promise.resolve(__.genericTemplate(message.content.elements.map(e => __.genericItem(__.processTemplate(e.title, p), __.processTemplate(e.subtitle, p), e.imageUrl, e.actionUrl, e.buttons))));
return Promise.resolve(__.genericTemplate(message.content.elements.map(e => __.genericItem(e.title, e.subtitle, e.imageUrl, e.actionUrl, e.buttons))));
}
case 'code': {
console.time("babel-compile");
const block = new code_block_1.CodeBlock(message.content.code);
return block.execute({
args: this.args,
nlp: nlp,
sender: p
}).then((r) => {
console.timeEnd("babel-compile");
return r;
}).catch((ex) => {
try {
const block = new code_block_1.CodeBlock(message.content.code);
return block.execute(options).then((r) => {
console.timeEnd("babel-compile");
return r;
}).catch((ex) => {
return Promise.resolve(__.text(ex.message));
});
}
catch (ex) {
return Promise.resolve(__.text(ex.message));
});
}
}

@@ -49,8 +47,10 @@ default: {

return a.then((messages) => b().then((message) => {
if (Array.isArray(message)) {
messages.push(...message);
if (message) {
if (Array.isArray(message)) {
messages.push(...message);
}
else {
messages.push(message);
}
}
else {
messages.push(message);
}
return messages;

@@ -57,0 +57,0 @@ }));

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const handlebars_1 = require("handlebars");
const recime_bot_extension_1 = require("recime-bot-extension");
const recime_nlp_provider_1 = require("recime-nlp-provider");
const recime_bot_extension_1 = require("recime-bot-extension");
const request_1 = require("./request");
const vars_1 = require("./vars");
const __ = recime_bot_extension_1.default.default;

@@ -12,6 +14,13 @@ class Responder {

respond() {
return recime_nlp_provider_1.default.request(this.args).then(result => {
return __.profile(this.args).then(p => {
const req = new request_1.Request(this.args);
return req.send(result, p).then((result) => {
const vars = new vars_1.Vars();
return recime_nlp_provider_1.default.request(this.args).then(res => {
return __.profile(this.args).then(user => {
const req = new request_1.Request();
user.nlp = res;
return req.send({
nlp: res,
vars: vars,
args: this.args,
user: user
}).then((result) => {
;

@@ -32,3 +41,9 @@ switch (process.env.PLATFORM) {

}
return result;
const values = vars.vals;
for (const key in values)
user[key] = values[key];
const template = handlebars_1.default.compile(JSON.stringify(result));
return JSON.parse(template(user));
}).catch(error => {
return __.text(error.message);
});

@@ -35,0 +50,0 @@ });

{
"name": "recime-message-responder",
"version": "1.0.4",
"version": "1.0.5",
"description": "",

@@ -31,2 +31,3 @@ "main": "dist/index.js",

"babel-preset-env": "^1.6.0",
"handlebars": "^4.0.11",
"recime-bot-extension": "^1.5.2",

@@ -33,0 +34,0 @@ "recime-nlp-provider": "^1.0.3"

@@ -41,7 +41,15 @@ import fs = require("fs");

try {
const handler = vm.runInNewContext(this.code, sandbox);
handler(data, (result)=>{
resolve(result);
const local = require("domain").create();
local.run (()=>{
const handler = vm.runInNewContext(this.code, sandbox);
handler(data, (result)=>{
resolve(result);
});
});
local.on("error", (ex)=>{
reject(ex);
});
} catch (ex){

@@ -48,0 +56,0 @@ reject(ex);

@@ -6,16 +6,18 @@ import Ext from 'recime-bot-extension';

import {CodeBlock} from "./code-block";
import {Vars} from "./vars";
export interface RequestOptions {
args: any;
nlp: any;
user: any;
vars: Vars
}
export class Request {
private args: any;
constructor(args){
this.args = args;
}
send(nlp, p) {
if (nlp.response && nlp.response.length) {
const response = nlp.response.map(message => ()=> {
send(options: RequestOptions) {
if (options.nlp.response && options.nlp.response.length) {
const response = options.nlp.response.map(message => ()=> {
switch (message.type) {
case 'text': {
return Promise.resolve(__.text(__.processTemplate(message.content.text, p), message.content.buttons));
return Promise.resolve(__.text(message.content.text, message.content.buttons));
}

@@ -26,23 +28,23 @@ case 'image': {

case 'button-template': {
return Promise.resolve(__.buttonTemplate(__.processTemplate(message.content.text, p), message.content.buttons));
return Promise.resolve(__.buttonTemplate(message.content.text, message.content.buttons));
}
case 'generic-template': {
return Promise.resolve(__.genericTemplate(message.content.elements.map(e =>
__.genericItem(__.processTemplate(e.title, p), __.processTemplate(e.subtitle, p), e.imageUrl, e.actionUrl, e.buttons))));
__.genericItem(e.title, e.subtitle, e.imageUrl, e.actionUrl, e.buttons))));
}
case 'code':{
console.time("babel-compile");
const block = new CodeBlock(message.content.code);
return block.execute({
args: this.args,
nlp: nlp,
sender: p
}).then((r) => {
console.timeEnd("babel-compile");
return r;
}).catch((ex)=>{
try {
const block = new CodeBlock(message.content.code);
return block.execute(options).then((r) => {
console.timeEnd("babel-compile");
return r;
}).catch((ex)=>{
return Promise.resolve(__.text(ex.message));
});
} catch(ex){
return Promise.resolve(__.text(ex.message));
});
}
}

@@ -56,6 +58,8 @@ default: {

return a.then((messages)=> b().then((message)=> {
if (Array.isArray(message)){
messages.push(...message);
} else {
messages.push(message);
if (message){
if (Array.isArray(message)){
messages.push(...message);
} else {
messages.push(message);
}
}

@@ -62,0 +66,0 @@ return messages;

@@ -0,5 +1,8 @@

import HandleBars from "handlebars";
import Ext from 'recime-bot-extension';
import nlp from "recime-nlp-provider";
import Ext from 'recime-bot-extension';
import {Request} from "./request";
import {Vars} from "./vars";

@@ -16,6 +19,14 @@ const __ = Ext.default;

respond(){
return nlp.request(this.args).then(result => {
return __.profile(this.args).then(p => {
const req = new Request(this.args);
return req.send(result, p).then((result)=>{;
const vars = new Vars();
return nlp.request(this.args).then(res => {
return __.profile(this.args).then(user => {
const req = new Request();
user.nlp = res;
return req.send({
nlp : res,
vars: vars,
args: this.args,
user: user
}).then((result)=>{;
switch (process.env.PLATFORM){

@@ -35,3 +46,12 @@ case "telegram": {

}
return result;
const values = vars.vals;
for (const key in values)
user[key]= values[key];
const template = HandleBars.compile(JSON.stringify(result));
return JSON.parse(template(user));
}).catch(error => {
return __.text(error.message);
});

@@ -38,0 +58,0 @@ });

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc