@bavard/agent-config
Advanced tools
Comparing version 0.0.73 to 0.0.74
@@ -9,8 +9,2 @@ "use strict"; | ||
const agent_node_1 = require("./nodes/agent/agent-node"); | ||
const email_node_1 = require("./nodes/agent/email-node"); | ||
const form_node_1 = require("./nodes/agent/form-node"); | ||
const utterance_node_1 = require("./nodes/agent/utterance-node"); | ||
const image_option_node_1 = require("./nodes/user/image-option-node"); | ||
const submit_node_1 = require("./nodes/user/submit-node"); | ||
const text_option_node_1 = require("./nodes/user/text-option-node"); | ||
const user_node_1 = require("./nodes/user/user-node"); | ||
@@ -104,42 +98,4 @@ const validator_1 = require("./validator"); | ||
for (const jsonNode of jsonObj.allNodes) { | ||
switch (jsonNode.nodeType) { | ||
case nodes_1.EUserNodeTypes.USER_IMAGE_OPTION: | ||
{ | ||
const node = jsonNode; | ||
nodeMap.set(node.nodeId, new image_option_node_1.UserImageOptionNode(node.nodeId, node.imageName, node.text, node.caption, node.targetLink, node.intent)); | ||
} | ||
break; | ||
case nodes_1.EUserNodeTypes.USER_TEXT_OPTION: | ||
{ | ||
const node = jsonNode; | ||
nodeMap.set(jsonNode.nodeId, new text_option_node_1.UserTextOptionNode(node.nodeId, node.text, node.targetLink, node.intent)); | ||
} | ||
break; | ||
case nodes_1.EUserNodeTypes.USER_SUBMIT: | ||
{ | ||
const node = jsonNode; | ||
nodeMap.set(node.nodeId, new submit_node_1.UserSubmitNode(node.nodeId)); | ||
} | ||
break; | ||
case nodes_1.EAgentNodeTypes.AGENT_UTTERANCE: | ||
{ | ||
const node = jsonNode; | ||
nodeMap.set(node.nodeId, new utterance_node_1.AgentUtteranceNode(node.nodeId, node.utterance)); | ||
} | ||
break; | ||
case nodes_1.EAgentNodeTypes.AGENT_EMAIL: | ||
{ | ||
const node = jsonNode; | ||
nodeMap.set(node.nodeId, new email_node_1.AgentEmailNode(node.nodeId, node.prompt, node.to, node.from)); | ||
} | ||
break; | ||
case nodes_1.EAgentNodeTypes.AGENT_FORM: | ||
{ | ||
const node = jsonNode; | ||
nodeMap.set(node.nodeId, new form_node_1.AgentFormNode(node.nodeId, node.url, node.fields)); | ||
} | ||
break; | ||
default: | ||
throw new Error('Invalid nodeType'); | ||
} | ||
const node = nodes_1.nodeFromJson(jsonNode); | ||
nodeMap.set(node.nodeId, node); | ||
} | ||
@@ -146,0 +102,0 @@ // fill in the edges |
@@ -6,4 +6,4 @@ import { EAgentNodeTypes } from '..'; | ||
import { UserAction } from '../../../actions/user'; | ||
export declare abstract class AgentNode { | ||
nodeId: number; | ||
import { BaseNode } from '../BaseNode'; | ||
export declare abstract class AgentNode extends BaseNode { | ||
abstract readonly nodeType: EAgentNodeTypes; | ||
@@ -10,0 +10,0 @@ constructor(nodeId: number); |
@@ -5,5 +5,6 @@ "use strict"; | ||
const __1 = require(".."); | ||
class AgentNode { | ||
const BaseNode_1 = require("../BaseNode"); | ||
class AgentNode extends BaseNode_1.BaseNode { | ||
constructor(nodeId) { | ||
this.nodeId = nodeId; | ||
super(nodeId); | ||
this.childUserNodes = []; | ||
@@ -10,0 +11,0 @@ } |
@@ -22,2 +22,3 @@ "use strict"; | ||
return { | ||
position: this.position, | ||
nodeId: this.nodeId, | ||
@@ -24,0 +25,0 @@ nodeType: this.nodeType, |
@@ -38,2 +38,3 @@ "use strict"; | ||
return { | ||
position: this.position, | ||
nodeId: this.nodeId, | ||
@@ -40,0 +41,0 @@ nodeType: this.nodeType, |
import { EAgentNodeTypes } from '..'; | ||
import { IFormField } from '../../..'; | ||
import { IPoint2D } from '../BaseNode'; | ||
export interface IAgentNode { | ||
position: IPoint2D; | ||
nodeId: number; | ||
@@ -5,0 +7,0 @@ nodeType: EAgentNodeTypes; |
@@ -23,2 +23,3 @@ "use strict"; | ||
return { | ||
position: this.position, | ||
nodeId: this.nodeId, | ||
@@ -25,0 +26,0 @@ nodeType: this.nodeType, |
@@ -14,1 +14,2 @@ import { AgentNode } from './agent/agent-node'; | ||
export declare const isUserNode: (node: AgentNode | UserNode) => node is UserNode; | ||
export declare const nodeFromJson: (jsonNode: any) => AgentNode | UserNode; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.isUserNode = exports.EAgentNodeTypes = exports.EUserNodeTypes = void 0; | ||
exports.nodeFromJson = exports.isUserNode = exports.EAgentNodeTypes = exports.EUserNodeTypes = void 0; | ||
const email_node_1 = require("./agent/email-node"); | ||
const form_node_1 = require("./agent/form-node"); | ||
const utterance_node_1 = require("./agent/utterance-node"); | ||
const image_option_node_1 = require("./user/image-option-node"); | ||
const submit_node_1 = require("./user/submit-node"); | ||
const text_option_node_1 = require("./user/text-option-node"); | ||
var EUserNodeTypes; | ||
@@ -19,2 +25,50 @@ (function (EUserNodeTypes) { | ||
}; | ||
exports.nodeFromJson = (jsonNode) => { | ||
// construct the nodes | ||
let node; | ||
switch (jsonNode.nodeType) { | ||
case EUserNodeTypes.USER_IMAGE_OPTION: | ||
{ | ||
const x = jsonNode; | ||
node = new image_option_node_1.UserImageOptionNode(x.nodeId, x.imageName, x.text, x.caption, x.targetLink, x.intent); | ||
} | ||
break; | ||
case EUserNodeTypes.USER_TEXT_OPTION: | ||
{ | ||
const x = jsonNode; | ||
node = new text_option_node_1.UserTextOptionNode(x.nodeId, x.text, x.targetLink, x.intent); | ||
} | ||
break; | ||
case EUserNodeTypes.USER_SUBMIT: | ||
{ | ||
const x = jsonNode; | ||
node = new submit_node_1.UserSubmitNode(x.nodeId); | ||
} | ||
break; | ||
case EAgentNodeTypes.AGENT_UTTERANCE: | ||
{ | ||
const x = jsonNode; | ||
node = new utterance_node_1.AgentUtteranceNode(x.nodeId, x.utterance); | ||
} | ||
break; | ||
case EAgentNodeTypes.AGENT_EMAIL: | ||
{ | ||
const x = jsonNode; | ||
node = new email_node_1.AgentEmailNode(x.nodeId, x.prompt, x.to, x.from); | ||
} | ||
break; | ||
case EAgentNodeTypes.AGENT_FORM: | ||
{ | ||
const x = jsonNode; | ||
node = new form_node_1.AgentFormNode(x.nodeId, x.url, x.fields); | ||
} | ||
break; | ||
default: | ||
throw new Error('Invalid nodeType'); | ||
} | ||
if (jsonNode.position) { | ||
node.position = jsonNode.position; | ||
} | ||
return node; | ||
}; | ||
//# sourceMappingURL=index.js.map |
@@ -21,2 +21,3 @@ "use strict"; | ||
return { | ||
position: this.position, | ||
nodeId: this.nodeId, | ||
@@ -23,0 +24,0 @@ nodeType: this.nodeType, |
import { EUserNodeTypes } from '..'; | ||
import { IPoint2D } from '../BaseNode'; | ||
export interface IUserNode { | ||
position: IPoint2D; | ||
nodeId: number; | ||
@@ -4,0 +6,0 @@ nodeType: EUserNodeTypes; |
@@ -15,2 +15,3 @@ "use strict"; | ||
return { | ||
position: this.position, | ||
nodeId: this.nodeId, | ||
@@ -17,0 +18,0 @@ nodeType: this.nodeType, |
@@ -19,2 +19,3 @@ "use strict"; | ||
return { | ||
position: this.position, | ||
nodeId: this.nodeId, | ||
@@ -21,0 +22,0 @@ nodeType: this.nodeType, |
@@ -6,4 +6,4 @@ import { EUserNodeTypes } from '..'; | ||
import { UserAction } from '../../../actions/user'; | ||
export declare abstract class UserNode { | ||
nodeId: number; | ||
import { BaseNode } from '../BaseNode'; | ||
export declare abstract class UserNode extends BaseNode { | ||
abstract readonly nodeType: EUserNodeTypes; | ||
@@ -10,0 +10,0 @@ constructor(nodeId: number); |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.UserNode = void 0; | ||
class UserNode { | ||
const BaseNode_1 = require("../BaseNode"); | ||
class UserNode extends BaseNode_1.BaseNode { | ||
constructor(nodeId) { | ||
this.nodeId = nodeId; | ||
super(nodeId); | ||
} | ||
@@ -8,0 +9,0 @@ setChildAgentNode(agentNode) { |
{ | ||
"name": "@bavard/agent-config", | ||
"version": "0.0.73", | ||
"version": "0.0.74", | ||
"description": "", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
@@ -10,21 +10,7 @@ import { isEmpty } from 'lodash'; | ||
import { MAX_GRAPH_POLICY_NODE_COUNT } from '../constants'; | ||
import { EAgentNodeTypes, EUserNodeTypes } from './nodes'; | ||
import { nodeFromJson } from './nodes'; | ||
import { AgentNode } from './nodes/agent/agent-node'; | ||
import { AgentEmailNode } from './nodes/agent/email-node'; | ||
import { AgentFormNode } from './nodes/agent/form-node'; | ||
import { | ||
IAgentEmailNode, | ||
IAgentFormNode, | ||
IAgentNode, | ||
IAgentUtteranceNode, | ||
} from './nodes/agent/interfaces'; | ||
import { AgentUtteranceNode } from './nodes/agent/utterance-node'; | ||
import { UserImageOptionNode } from './nodes/user/image-option-node'; | ||
import { | ||
IUserImageOptionNode, | ||
IUserSubmitNode, | ||
IUserTextOptionNode, | ||
} from './nodes/user/interfaces'; | ||
import { UserSubmitNode } from './nodes/user/submit-node'; | ||
import { UserTextOptionNode } from './nodes/user/text-option-node'; | ||
import { UserNode } from './nodes/user/user-node'; | ||
@@ -144,69 +130,4 @@ import { GraphPolicySchemaV2 } from './validator'; | ||
for (const jsonNode of jsonObj.allNodes) { | ||
switch (jsonNode.nodeType) { | ||
case EUserNodeTypes.USER_IMAGE_OPTION: | ||
{ | ||
const node = jsonNode as IUserImageOptionNode; | ||
nodeMap.set( | ||
node.nodeId, | ||
new UserImageOptionNode( | ||
node.nodeId, | ||
node.imageName, | ||
node.text, | ||
node.caption, | ||
node.targetLink, | ||
node.intent, | ||
), | ||
); | ||
} | ||
break; | ||
case EUserNodeTypes.USER_TEXT_OPTION: | ||
{ | ||
const node = jsonNode as IUserTextOptionNode; | ||
nodeMap.set( | ||
jsonNode.nodeId, | ||
new UserTextOptionNode( | ||
node.nodeId, | ||
node.text, | ||
node.targetLink, | ||
node.intent, | ||
), | ||
); | ||
} | ||
break; | ||
case EUserNodeTypes.USER_SUBMIT: | ||
{ | ||
const node = jsonNode as IUserSubmitNode; | ||
nodeMap.set(node.nodeId, new UserSubmitNode(node.nodeId)); | ||
} | ||
break; | ||
case EAgentNodeTypes.AGENT_UTTERANCE: | ||
{ | ||
const node = jsonNode as IAgentUtteranceNode; | ||
nodeMap.set( | ||
node.nodeId, | ||
new AgentUtteranceNode(node.nodeId, node.utterance), | ||
); | ||
} | ||
break; | ||
case EAgentNodeTypes.AGENT_EMAIL: | ||
{ | ||
const node = jsonNode as IAgentEmailNode; | ||
nodeMap.set( | ||
node.nodeId, | ||
new AgentEmailNode(node.nodeId, node.prompt, node.to, node.from), | ||
); | ||
} | ||
break; | ||
case EAgentNodeTypes.AGENT_FORM: | ||
{ | ||
const node = jsonNode as IAgentFormNode; | ||
nodeMap.set( | ||
node.nodeId, | ||
new AgentFormNode(node.nodeId, node.url, node.fields), | ||
); | ||
} | ||
break; | ||
default: | ||
throw new Error('Invalid nodeType'); | ||
} | ||
const node = nodeFromJson(jsonNode); | ||
nodeMap.set(node.nodeId, node); | ||
} | ||
@@ -213,0 +134,0 @@ |
@@ -6,7 +6,10 @@ import { EAgentNodeTypes, isUserNode } from '..'; | ||
import { UserAction } from '../../../actions/user'; | ||
import { BaseNode } from '../BaseNode'; | ||
export abstract class AgentNode { | ||
export abstract class AgentNode extends BaseNode { | ||
public abstract readonly nodeType: EAgentNodeTypes; | ||
constructor(public nodeId: number) {} | ||
constructor(nodeId: number) { | ||
super(nodeId); | ||
} | ||
@@ -13,0 +16,0 @@ public childAgentNode?: AgentNode; |
@@ -23,2 +23,3 @@ import { IAgentEmailNode } from './interfaces'; | ||
return { | ||
position: this.position, | ||
nodeId: this.nodeId, | ||
@@ -25,0 +26,0 @@ nodeType: this.nodeType, |
@@ -41,2 +41,3 @@ import { IAgentFormNode } from './interfaces'; | ||
return { | ||
position: this.position, | ||
nodeId: this.nodeId, | ||
@@ -43,0 +44,0 @@ nodeType: this.nodeType, |
import { EAgentNodeTypes } from '..'; | ||
import { IFormField } from '../../..'; | ||
import { IPoint2D } from '../BaseNode'; | ||
export interface IAgentNode { | ||
position: IPoint2D; | ||
nodeId: number; | ||
@@ -6,0 +8,0 @@ nodeType: EAgentNodeTypes; |
@@ -26,2 +26,3 @@ import sanitize from 'sanitize-html'; | ||
return { | ||
position: this.position, | ||
nodeId: this.nodeId, | ||
@@ -28,0 +29,0 @@ nodeType: this.nodeType, |
import { AgentNode } from './agent/agent-node'; | ||
import { AgentEmailNode } from './agent/email-node'; | ||
import { AgentFormNode } from './agent/form-node'; | ||
import { IAgentEmailNode, IAgentFormNode, IAgentUtteranceNode } from './agent/interfaces'; | ||
import { AgentUtteranceNode } from './agent/utterance-node'; | ||
import { UserImageOptionNode } from './user/image-option-node'; | ||
import { IUserImageOptionNode, IUserSubmitNode, IUserTextOptionNode } from './user/interfaces'; | ||
import { UserSubmitNode } from './user/submit-node'; | ||
import { UserTextOptionNode } from './user/text-option-node'; | ||
import { UserNode } from './user/user-node'; | ||
@@ -19,1 +27,63 @@ | ||
}; | ||
export const nodeFromJson = (jsonNode: any): AgentNode | UserNode => { | ||
// construct the nodes | ||
let node: AgentNode | UserNode; | ||
switch (jsonNode.nodeType) { | ||
case EUserNodeTypes.USER_IMAGE_OPTION: | ||
{ | ||
const x = jsonNode as IUserImageOptionNode; | ||
node = new UserImageOptionNode( | ||
x.nodeId, | ||
x.imageName, | ||
x.text, | ||
x.caption, | ||
x.targetLink, | ||
x.intent); | ||
} | ||
break; | ||
case EUserNodeTypes.USER_TEXT_OPTION: | ||
{ | ||
const x = jsonNode as IUserTextOptionNode; | ||
node = new UserTextOptionNode( | ||
x.nodeId, | ||
x.text, | ||
x.targetLink, | ||
x.intent, | ||
); | ||
} | ||
break; | ||
case EUserNodeTypes.USER_SUBMIT: | ||
{ | ||
const x = jsonNode as IUserSubmitNode; | ||
node = new UserSubmitNode(x.nodeId); | ||
} | ||
break; | ||
case EAgentNodeTypes.AGENT_UTTERANCE: | ||
{ | ||
const x = jsonNode as IAgentUtteranceNode; | ||
node = new AgentUtteranceNode(x.nodeId, x.utterance); | ||
} | ||
break; | ||
case EAgentNodeTypes.AGENT_EMAIL: | ||
{ | ||
const x = jsonNode as IAgentEmailNode; | ||
node = new AgentEmailNode(x.nodeId, x.prompt, x.to, x.from); | ||
} | ||
break; | ||
case EAgentNodeTypes.AGENT_FORM: | ||
{ | ||
const x = jsonNode as IAgentFormNode; | ||
node = new AgentFormNode(x.nodeId, x.url, x.fields); | ||
} | ||
break; | ||
default: | ||
throw new Error('Invalid nodeType'); | ||
} | ||
if (jsonNode.position) { | ||
node.position = jsonNode.position; | ||
} | ||
return node; | ||
}; |
@@ -23,2 +23,3 @@ import { EUserNodeTypes } from '..'; | ||
return { | ||
position: this.position, | ||
nodeId: this.nodeId, | ||
@@ -25,0 +26,0 @@ nodeType: this.nodeType, |
import { EUserNodeTypes } from '..'; | ||
import { IPoint2D } from '../BaseNode'; | ||
export interface IUserNode { | ||
position: IPoint2D; | ||
nodeId: number; | ||
@@ -5,0 +7,0 @@ nodeType: EUserNodeTypes; |
@@ -17,2 +17,3 @@ import { EUserNodeTypes } from '..'; | ||
return { | ||
position: this.position, | ||
nodeId: this.nodeId, | ||
@@ -19,0 +20,0 @@ nodeType: this.nodeType, |
@@ -22,2 +22,3 @@ import { EUserNodeTypes } from '..'; | ||
return { | ||
position: this.position, | ||
nodeId: this.nodeId, | ||
@@ -24,0 +25,0 @@ nodeType: this.nodeType, |
@@ -6,7 +6,10 @@ import { EUserNodeTypes } from '..'; | ||
import { UserAction } from '../../../actions/user'; | ||
import { BaseNode } from '../BaseNode'; | ||
export abstract class UserNode { | ||
export abstract class UserNode extends BaseNode { | ||
public abstract readonly nodeType: EUserNodeTypes; | ||
constructor(public nodeId: number) {} | ||
constructor(nodeId: number) { | ||
super(nodeId); | ||
} | ||
@@ -13,0 +16,0 @@ childAgentNode?: AgentNode; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
394237
269
8921