@minded-ai/mindedjs 1.0.69 → 1.0.70-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/index.js +0 -0
- package/dist/guidelines/guidelinesManager.d.ts +37 -0
- package/dist/guidelines/guidelinesManager.d.ts.map +1 -0
- package/dist/guidelines/guidelinesManager.js +172 -0
- package/dist/guidelines/guidelinesManager.js.map +1 -0
- package/dist/nodes/addJumpToNode.d.ts +7 -0
- package/dist/nodes/addJumpToNode.d.ts.map +1 -0
- package/dist/nodes/addJumpToNode.js +15 -0
- package/dist/nodes/addJumpToNode.js.map +1 -0
- package/dist/nodes/nodeFactory.d.ts.map +1 -1
- package/dist/nodes/nodeFactory.js +4 -0
- package/dist/nodes/nodeFactory.js.map +1 -1
- package/dist/types/Flows.types.d.ts +7 -2
- package/dist/types/Flows.types.d.ts.map +1 -1
- package/dist/types/Flows.types.js +1 -0
- package/dist/types/Flows.types.js.map +1 -1
- package/dist/utils/extractToolMemoryResponse.d.ts +4 -0
- package/dist/utils/extractToolMemoryResponse.d.ts.map +1 -0
- package/dist/utils/extractToolMemoryResponse.js +16 -0
- package/dist/utils/extractToolMemoryResponse.js.map +1 -0
- package/package.json +1 -1
- package/src/nodes/addJumpToNode.ts +21 -0
- package/src/nodes/nodeFactory.ts +5 -1
- package/src/types/Flows.types.ts +7 -1
package/dist/cli/index.js
CHANGED
|
File without changes
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { MindedConnection } from '../platform/mindedConnection';
|
|
2
|
+
export interface Guideline {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
content: string;
|
|
6
|
+
index?: number;
|
|
7
|
+
}
|
|
8
|
+
export declare class GuidelinesManager {
|
|
9
|
+
private guidelines;
|
|
10
|
+
private mindedConnection;
|
|
11
|
+
constructor(mindedConnection: MindedConnection | null);
|
|
12
|
+
/**
|
|
13
|
+
* Load guidelines from directories or platform
|
|
14
|
+
*/
|
|
15
|
+
loadGuidelines(guidelinesDirectories?: string[]): Promise<Guideline[]>;
|
|
16
|
+
/**
|
|
17
|
+
* Load guidelines from local directories
|
|
18
|
+
*/
|
|
19
|
+
private loadGuidelinesFromDirectories;
|
|
20
|
+
/**
|
|
21
|
+
* Recursively get all YAML files in a directory
|
|
22
|
+
*/
|
|
23
|
+
private getAllYamlFiles;
|
|
24
|
+
/**
|
|
25
|
+
* Compile guidelines into a single string with EJS and placeholders
|
|
26
|
+
*/
|
|
27
|
+
compileGuidelines(params?: Record<string, any>): string;
|
|
28
|
+
/**
|
|
29
|
+
* Replace placeholders in {key} format
|
|
30
|
+
*/
|
|
31
|
+
private replacePlaceholders;
|
|
32
|
+
/**
|
|
33
|
+
* Get raw guidelines without compilation
|
|
34
|
+
*/
|
|
35
|
+
getGuidelines(): Guideline[];
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=guidelinesManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guidelinesManager.d.ts","sourceRoot":"","sources":["../../src/guidelines/guidelinesManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAKhE,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,gBAAgB,CAA0B;gBAEtC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI;IAIrD;;OAEG;IACU,cAAc,CAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IA+BnF;;OAEG;IACH,OAAO,CAAC,6BAA6B;IA+BrC;;OAEG;IACH,OAAO,CAAC,eAAe;IAgBvB;;OAEG;IACI,iBAAiB,CAAC,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,MAAM;IA0BlE;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiB3B;;OAEG;IACI,aAAa,IAAI,SAAS,EAAE;CAGpC"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.GuidelinesManager = void 0;
|
|
37
|
+
const fs = __importStar(require("fs"));
|
|
38
|
+
const path = __importStar(require("path"));
|
|
39
|
+
const yaml = __importStar(require("js-yaml"));
|
|
40
|
+
const ejs = __importStar(require("ejs"));
|
|
41
|
+
const mindedConnectionTypes_1 = require("../platform/mindedConnectionTypes");
|
|
42
|
+
const config_1 = require("../platform/config");
|
|
43
|
+
const logger_1 = require("../utils/logger");
|
|
44
|
+
class GuidelinesManager {
|
|
45
|
+
constructor(mindedConnection) {
|
|
46
|
+
this.guidelines = [];
|
|
47
|
+
this.mindedConnection = mindedConnection;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Load guidelines from directories or platform
|
|
51
|
+
*/
|
|
52
|
+
async loadGuidelines(guidelinesDirectories) {
|
|
53
|
+
const { env, isDeployed } = (0, config_1.getConfig)();
|
|
54
|
+
if (['sandbox-staging', 'sandbox'].includes(env) && isDeployed && this.mindedConnection) {
|
|
55
|
+
// Load from platform
|
|
56
|
+
const response = await this.mindedConnection.awaitEmit(mindedConnectionTypes_1.MindedConnectionSocketMessageType.GET_GUIDELINES, {});
|
|
57
|
+
if (response === null || response === void 0 ? void 0 : response.error) {
|
|
58
|
+
throw new Error(`Failed to load guidelines from platform: ${response.error}`);
|
|
59
|
+
}
|
|
60
|
+
this.guidelines = (response === null || response === void 0 ? void 0 : response.guidelines) || [];
|
|
61
|
+
}
|
|
62
|
+
else if (guidelinesDirectories) {
|
|
63
|
+
// Load from directories
|
|
64
|
+
this.guidelines = this.loadGuidelinesFromDirectories(guidelinesDirectories);
|
|
65
|
+
}
|
|
66
|
+
// Sort guidelines by index if available
|
|
67
|
+
this.guidelines.sort((a, b) => {
|
|
68
|
+
if (a.index !== undefined && b.index !== undefined) {
|
|
69
|
+
return a.index - b.index;
|
|
70
|
+
}
|
|
71
|
+
return 0;
|
|
72
|
+
});
|
|
73
|
+
return this.guidelines;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Load guidelines from local directories
|
|
77
|
+
*/
|
|
78
|
+
loadGuidelinesFromDirectories(directories) {
|
|
79
|
+
const guidelines = [];
|
|
80
|
+
for (const directory of directories) {
|
|
81
|
+
if (!fs.existsSync(directory)) {
|
|
82
|
+
logger_1.logger.info(`Guidelines directory does not exist: ${directory}`);
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
const files = this.getAllYamlFiles(directory);
|
|
86
|
+
for (const file of files) {
|
|
87
|
+
try {
|
|
88
|
+
const fileContent = fs.readFileSync(file, 'utf8');
|
|
89
|
+
const guideline = yaml.load(fileContent);
|
|
90
|
+
if (guideline && guideline.name && guideline.content) {
|
|
91
|
+
guidelines.push(guideline);
|
|
92
|
+
logger_1.logger.info(`Loaded guideline: ${guideline.name} from ${file}`);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
logger_1.logger.warn(`Invalid guideline structure in ${file}`);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
logger_1.logger.error(`Failed to load guideline file ${file}: ${error}`);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return guidelines;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Recursively get all YAML files in a directory
|
|
107
|
+
*/
|
|
108
|
+
getAllYamlFiles(dir) {
|
|
109
|
+
const files = [];
|
|
110
|
+
const entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
111
|
+
for (const entry of entries) {
|
|
112
|
+
const fullPath = path.join(dir, entry.name);
|
|
113
|
+
if (entry.isDirectory()) {
|
|
114
|
+
files.push(...this.getAllYamlFiles(fullPath));
|
|
115
|
+
}
|
|
116
|
+
else if (entry.name.endsWith('.yaml') || entry.name.endsWith('.yml')) {
|
|
117
|
+
files.push(fullPath);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return files;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Compile guidelines into a single string with EJS and placeholders
|
|
124
|
+
*/
|
|
125
|
+
compileGuidelines(params = {}) {
|
|
126
|
+
if (this.guidelines.length === 0) {
|
|
127
|
+
return '';
|
|
128
|
+
}
|
|
129
|
+
// Combine all guidelines into sections
|
|
130
|
+
const sections = this.guidelines.map((guideline) => {
|
|
131
|
+
return `# ${guideline.name}\n${guideline.content}`;
|
|
132
|
+
});
|
|
133
|
+
const combinedGuidelines = sections.join('\n\n');
|
|
134
|
+
try {
|
|
135
|
+
// First, render with EJS
|
|
136
|
+
let compiledGuidelines = ejs.render(combinedGuidelines, params);
|
|
137
|
+
// Then, replace placeholders in {} format
|
|
138
|
+
compiledGuidelines = this.replacePlaceholders(compiledGuidelines, params);
|
|
139
|
+
return compiledGuidelines;
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
logger_1.logger.error({ message: 'Error compiling guidelines', error });
|
|
143
|
+
return combinedGuidelines; // Return uncompiled if there's an error
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Replace placeholders in {key} format
|
|
148
|
+
*/
|
|
149
|
+
replacePlaceholders(text, params) {
|
|
150
|
+
return text.replace(/\{([^}]+)\}/g, (match, key) => {
|
|
151
|
+
const keys = key.split('.');
|
|
152
|
+
let value = params;
|
|
153
|
+
for (const k of keys) {
|
|
154
|
+
if (value && typeof value === 'object' && k in value) {
|
|
155
|
+
value = value[k];
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
return match; // Return original if key not found
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
return String(value);
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Get raw guidelines without compilation
|
|
166
|
+
*/
|
|
167
|
+
getGuidelines() {
|
|
168
|
+
return this.guidelines;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
exports.GuidelinesManager = GuidelinesManager;
|
|
172
|
+
//# sourceMappingURL=guidelinesManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guidelinesManager.js","sourceRoot":"","sources":["../../src/guidelines/guidelinesManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { PreCompiledGraph } from '../types/LangGraph.types';
|
|
2
|
+
import { JumpToNode } from '../types/Flows.types';
|
|
3
|
+
export declare const addJumpToNode: ({ graph, node, }: {
|
|
4
|
+
graph: PreCompiledGraph;
|
|
5
|
+
node: JumpToNode;
|
|
6
|
+
}) => Promise<void>;
|
|
7
|
+
//# sourceMappingURL=addJumpToNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addJumpToNode.d.ts","sourceRoot":"","sources":["../../src/nodes/addJumpToNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGlD,eAAO,MAAM,aAAa,GAAU,kBAGjC;IACD,KAAK,EAAE,gBAAgB,CAAC;IACxB,IAAI,EAAE,UAAU,CAAC;CAClB,kBASA,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addJumpToNode = void 0;
|
|
4
|
+
const logger_1 = require("../utils/logger");
|
|
5
|
+
const addJumpToNode = async ({ graph, node, }) => {
|
|
6
|
+
const callback = async () => {
|
|
7
|
+
logger_1.logger.info(`Executing jump node ${node.name} – jumping to ${node.targetNodeId}`);
|
|
8
|
+
// No state modifications are necessary; control flow is handled via edges.
|
|
9
|
+
return;
|
|
10
|
+
};
|
|
11
|
+
graph.addNode(node.name, callback);
|
|
12
|
+
graph.addEdge(node.name, node.targetNodeId);
|
|
13
|
+
};
|
|
14
|
+
exports.addJumpToNode = addJumpToNode;
|
|
15
|
+
//# sourceMappingURL=addJumpToNode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addJumpToNode.js","sourceRoot":"","sources":["../../src/nodes/addJumpToNode.ts"],"names":[],"mappings":";;;AAGA,4CAAyC;AAElC,MAAM,aAAa,GAAG,KAAK,EAAE,EAClC,KAAK,EACL,IAAI,GAIL,EAAE,EAAE;IACH,MAAM,QAAQ,GAAiB,KAAK,IAAI,EAAE;QACxC,eAAM,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,IAAI,iBAAiB,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAClF,2EAA2E;QAC3E,OAAO;IACT,CAAC,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACnC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAW,EAAE,IAAI,CAAC,YAAmB,CAAC,CAAC;AAC5D,CAAC,CAAC;AAfW,QAAA,aAAa,iBAexB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodeFactory.d.ts","sourceRoot":"","sources":["../../src/nodes/nodeFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,IAAI,EAAY,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAG5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"nodeFactory.d.ts","sourceRoot":"","sources":["../../src/nodes/nodeFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,IAAI,EAAY,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAG5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAQjC,eAAO,MAAM,WAAW,GAAI,2CAOzB;IACD,KAAK,EAAE,gBAAgB,CAAC;IACxB,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IACxB,GAAG,EAAE,CAAC,OAAO,YAAY,EAAE,MAAM,OAAO,YAAY,CAAC,CAAC;IACtD,IAAI,EAAE,aAAa,CAAC,GAAG,EAAE,MAAM,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,KAAK,EAAE,KAAK,CAAC;CACd,SAwBA,CAAC"}
|
|
@@ -6,6 +6,7 @@ const addToolNode_1 = require("./addToolNode");
|
|
|
6
6
|
const addPromptNode_1 = require("./addPromptNode");
|
|
7
7
|
const addAppToolNode_1 = require("./addAppToolNode");
|
|
8
8
|
const addTriggerNode_1 = require("./addTriggerNode");
|
|
9
|
+
const addJumpToNode_1 = require("./addJumpToNode");
|
|
9
10
|
const addJunctionNode = ({ graph, node }) => {
|
|
10
11
|
const callback = async () => { };
|
|
11
12
|
graph.addNode(node.name, callback);
|
|
@@ -28,6 +29,9 @@ const nodeFactory = ({ graph, node, tools, llm, emit, agent, }) => {
|
|
|
28
29
|
case Flows_types_1.NodeType.PROMPT_NODE:
|
|
29
30
|
(0, addPromptNode_1.addPromptNode)({ graph, node, tools, llm, emit, agent });
|
|
30
31
|
break;
|
|
32
|
+
case Flows_types_1.NodeType.JUMP_TO_NODE:
|
|
33
|
+
(0, addJumpToNode_1.addJumpToNode)({ graph, node });
|
|
34
|
+
break;
|
|
31
35
|
default:
|
|
32
36
|
throw new Error(`Unsupported node type: ${nodeType}`);
|
|
33
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodeFactory.js","sourceRoot":"","sources":["../../src/nodes/nodeFactory.ts"],"names":[],"mappings":";;;AACA,sDAAoE;AAGpE,+CAA4C;AAC5C,mDAAgD;AAGhD,qDAAkD;AAClD,qDAAkD;
|
|
1
|
+
{"version":3,"file":"nodeFactory.js","sourceRoot":"","sources":["../../src/nodes/nodeFactory.ts"],"names":[],"mappings":";;;AACA,sDAAoE;AAGpE,+CAA4C;AAC5C,mDAAgD;AAGhD,qDAAkD;AAClD,qDAAkD;AAGlD,mDAAgD;AAEhD,MAAM,eAAe,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAmD,EAAE,EAAE;IAC3F,MAAM,QAAQ,GAAiB,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC;IAC/C,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACrC,CAAC,CAAC;AAEK,MAAM,WAAW,GAAG,CAAC,EAC1B,KAAK,EACL,IAAI,EACJ,KAAK,EACL,GAAG,EACH,IAAI,EACJ,KAAK,GAQN,EAAE,EAAE;IACH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;IAC3B,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,sBAAQ,CAAC,OAAO;YACnB,IAAA,+BAAc,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAChC,MAAM;QACR,KAAK,sBAAQ,CAAC,IAAI;YAChB,IAAA,yBAAW,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;YAChD,MAAM;QACR,KAAK,sBAAQ,CAAC,QAAQ;YACpB,eAAe,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACjC,MAAM;QACR,KAAK,sBAAQ,CAAC,QAAQ;YACpB,IAAA,+BAAc,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5C,MAAM;QACR,KAAK,sBAAQ,CAAC,WAAW;YACvB,IAAA,6BAAa,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACxD,MAAM;QACR,KAAK,sBAAQ,CAAC,YAAY;YACxB,IAAA,6BAAa,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/B,MAAM;QACR;YACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC,CAAC;AAtCW,QAAA,WAAW,eAsCtB"}
|
|
@@ -8,7 +8,8 @@ export declare enum NodeType {
|
|
|
8
8
|
JUNCTION = "junction",
|
|
9
9
|
TOOL = "tool",
|
|
10
10
|
APP_TOOL = "appTool",
|
|
11
|
-
PROMPT_NODE = "promptNode"
|
|
11
|
+
PROMPT_NODE = "promptNode",
|
|
12
|
+
JUMP_TO_NODE = "jumpToNode"
|
|
12
13
|
}
|
|
13
14
|
export declare enum EdgeType {
|
|
14
15
|
LOGICAL_CONDITION = "logicalCondition",
|
|
@@ -68,6 +69,10 @@ export interface PromptNode extends BaseNode {
|
|
|
68
69
|
prompt: string;
|
|
69
70
|
llmConfig?: LLMConfig;
|
|
70
71
|
}
|
|
72
|
+
export interface JumpToNode extends BaseNode {
|
|
73
|
+
type: NodeType.JUMP_TO_NODE;
|
|
74
|
+
targetNodeId: string;
|
|
75
|
+
}
|
|
71
76
|
export type TriggerNode = AppTriggerNode | WebhookTriggerNode | ManualTriggerNode | VoiceTriggerNode;
|
|
72
77
|
export interface JunctionNode extends BaseNode {
|
|
73
78
|
type: NodeType.JUNCTION;
|
|
@@ -85,7 +90,7 @@ export interface AppToolNode extends BaseNode, BaseAppNode {
|
|
|
85
90
|
metadata: AppNodeMetadata;
|
|
86
91
|
actionKey: string;
|
|
87
92
|
}
|
|
88
|
-
export type Node = TriggerNode | JunctionNode | ToolNode | AppToolNode | PromptNode;
|
|
93
|
+
export type Node = TriggerNode | JunctionNode | ToolNode | AppToolNode | PromptNode | JumpToNode;
|
|
89
94
|
export interface BaseEdge {
|
|
90
95
|
source: string;
|
|
91
96
|
target: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Flows.types.d.ts","sourceRoot":"","sources":["../../src/types/Flows.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,oBAAY,QAAQ;IAClB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,IAAI,SAAS;IACb,QAAQ,YAAY;IACpB,WAAW,eAAe;
|
|
1
|
+
{"version":3,"file":"Flows.types.d.ts","sourceRoot":"","sources":["../../src/types/Flows.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Flows.types.js","sourceRoot":"","sources":["../../src/types/Flows.types.ts"],"names":[],"mappings":";;;AAMA,IAAY,
|
|
1
|
+
{"version":3,"file":"Flows.types.js","sourceRoot":"","sources":["../../src/types/Flows.types.ts"],"names":[],"mappings":";;;AAMA,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,+BAAmB,CAAA;IACnB,iCAAqB,CAAA;IACrB,yBAAa,CAAA;IACb,gCAAoB,CAAA;IACpB,sCAA0B,CAAA;IAC1B,uCAA2B,CAAA;AAC7B,CAAC,EAPW,QAAQ,wBAAR,QAAQ,QAOnB;AAED,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,kDAAsC,CAAA;IACtC,gDAAoC,CAAA;IACpC,wCAA4B,CAAA;AAC9B,CAAC,EAJW,QAAQ,wBAAR,QAAQ,QAInB;AAUD,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,0BAAW,CAAA;IACX,kCAAmB,CAAA;IACnB,gCAAiB,CAAA;IACjB,8BAAe,CAAA;AACjB,CAAC,EALW,WAAW,2BAAX,WAAW,QAKtB;AAmGD,IAAY,mBAEX;AAFD,WAAY,mBAAmB;IAC7B,2CAAoB,CAAA;AACtB,CAAC,EAFW,mBAAmB,mCAAnB,mBAAmB,QAE9B;AAsBD,IAAY,oBAOX;AAPD,WAAY,oBAAoB;IAC9B,yCAAiB,CAAA;IACjB,yCAAiB,CAAA;IACjB,2CAAmB,CAAA;IACnB,uCAAe,CAAA;IACf,yCAAiB,CAAA;IACjB,mCAAW,CAAA;AACb,CAAC,EAPW,oBAAoB,oCAApB,oBAAoB,QAO/B;AAQD,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,wCAAmB,CAAA;IACnB,4DAAuC,CAAA;IACvC,oDAA+B,CAAA;AACjC,CAAC,EAJW,iBAAiB,iCAAjB,iBAAiB,QAI5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extractToolMemoryResponse.d.ts","sourceRoot":"","sources":["../../src/utils/extractToolMemoryResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,QAAA,MAAM,yBAAyB,GAAI,MAAM,EAAE,aAAa,WAAW,KAAG,OAAO,CAAC,MAAM,CAUnF,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const extractToolMemoryResponse = (toolMessage) => {
|
|
4
|
+
try {
|
|
5
|
+
const parsed = JSON.parse(toolMessage.content);
|
|
6
|
+
if (typeof parsed === 'object' && parsed !== null && 'memory' in parsed) {
|
|
7
|
+
return parsed.memory;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
catch (error) {
|
|
11
|
+
console.error('Error parsing tool memory response', error);
|
|
12
|
+
}
|
|
13
|
+
return {};
|
|
14
|
+
};
|
|
15
|
+
exports.default = extractToolMemoryResponse;
|
|
16
|
+
//# sourceMappingURL=extractToolMemoryResponse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extractToolMemoryResponse.js","sourceRoot":"","sources":["../../src/utils/extractToolMemoryResponse.ts"],"names":[],"mappings":";;AAEA,MAAM,yBAAyB,GAAG,CAAS,WAAwB,EAAmB,EAAE;IACtF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAiB,CAAC,CAAC;QACzD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;YACxE,OAAO,MAAM,CAAC,MAAM,CAAC;QACvB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,kBAAe,yBAAyB,CAAC"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { RunnableLike } from '@langchain/core/runnables';
|
|
2
|
+
import { PreCompiledGraph } from '../types/LangGraph.types';
|
|
3
|
+
import { JumpToNode } from '../types/Flows.types';
|
|
4
|
+
import { logger } from '../utils/logger';
|
|
5
|
+
|
|
6
|
+
export const addJumpToNode = async ({
|
|
7
|
+
graph,
|
|
8
|
+
node,
|
|
9
|
+
}: {
|
|
10
|
+
graph: PreCompiledGraph;
|
|
11
|
+
node: JumpToNode;
|
|
12
|
+
}) => {
|
|
13
|
+
const callback: RunnableLike = async () => {
|
|
14
|
+
logger.info(`Executing jump node ${node.name} – jumping to ${node.targetNodeId}`);
|
|
15
|
+
// No state modifications are necessary; control flow is handled via edges.
|
|
16
|
+
return;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
graph.addNode(node.name, callback);
|
|
20
|
+
graph.addEdge(node.name as any, node.targetNodeId as any);
|
|
21
|
+
};
|
package/src/nodes/nodeFactory.ts
CHANGED
|
@@ -10,9 +10,10 @@ import { addAppToolNode } from './addAppToolNode';
|
|
|
10
10
|
import { addTriggerNode } from './addTriggerNode';
|
|
11
11
|
import { LLMProviders } from '../types/LLM.types';
|
|
12
12
|
import { Agent } from '../agent';
|
|
13
|
+
import { addJumpToNode } from './addJumpToNode';
|
|
13
14
|
|
|
14
15
|
const addJunctionNode = ({ graph, node }: { graph: PreCompiledGraph; node: JunctionNode }) => {
|
|
15
|
-
const callback: RunnableLike = async () => {};
|
|
16
|
+
const callback: RunnableLike = async () => { };
|
|
16
17
|
graph.addNode(node.name, callback);
|
|
17
18
|
};
|
|
18
19
|
|
|
@@ -48,6 +49,9 @@ export const nodeFactory = ({
|
|
|
48
49
|
case NodeType.PROMPT_NODE:
|
|
49
50
|
addPromptNode({ graph, node, tools, llm, emit, agent });
|
|
50
51
|
break;
|
|
52
|
+
case NodeType.JUMP_TO_NODE:
|
|
53
|
+
addJumpToNode({ graph, node });
|
|
54
|
+
break;
|
|
51
55
|
default:
|
|
52
56
|
throw new Error(`Unsupported node type: ${nodeType}`);
|
|
53
57
|
}
|
package/src/types/Flows.types.ts
CHANGED
|
@@ -10,6 +10,7 @@ export enum NodeType {
|
|
|
10
10
|
TOOL = 'tool',
|
|
11
11
|
APP_TOOL = 'appTool',
|
|
12
12
|
PROMPT_NODE = 'promptNode',
|
|
13
|
+
JUMP_TO_NODE = 'jumpToNode',
|
|
13
14
|
}
|
|
14
15
|
|
|
15
16
|
export enum EdgeType {
|
|
@@ -80,6 +81,11 @@ export interface PromptNode extends BaseNode {
|
|
|
80
81
|
llmConfig?: LLMConfig;
|
|
81
82
|
}
|
|
82
83
|
|
|
84
|
+
export interface JumpToNode extends BaseNode {
|
|
85
|
+
type: NodeType.JUMP_TO_NODE;
|
|
86
|
+
targetNodeId: string;
|
|
87
|
+
}
|
|
88
|
+
|
|
83
89
|
export type TriggerNode = AppTriggerNode | WebhookTriggerNode | ManualTriggerNode | VoiceTriggerNode;
|
|
84
90
|
|
|
85
91
|
export interface JunctionNode extends BaseNode {
|
|
@@ -101,7 +107,7 @@ export interface AppToolNode extends BaseNode, BaseAppNode {
|
|
|
101
107
|
actionKey: string;
|
|
102
108
|
}
|
|
103
109
|
|
|
104
|
-
export type Node = TriggerNode | JunctionNode | ToolNode | AppToolNode | PromptNode;
|
|
110
|
+
export type Node = TriggerNode | JunctionNode | ToolNode | AppToolNode | PromptNode | JumpToNode;
|
|
105
111
|
|
|
106
112
|
export interface BaseEdge {
|
|
107
113
|
source: string;
|