@minded-ai/mindedjs 1.0.85 → 1.0.87
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/nodes/addJumpToNode.d.ts.map +1 -1
- package/dist/nodes/addJumpToNode.js +11 -2
- package/dist/nodes/addJumpToNode.js.map +1 -1
- package/dist/playbooks/playbooks.d.ts.map +1 -1
- package/dist/playbooks/playbooks.js +44 -79
- package/dist/playbooks/playbooks.js.map +1 -1
- package/dist/types/Agent.types.d.ts +2 -1
- package/dist/types/Agent.types.d.ts.map +1 -1
- package/dist/types/Agent.types.js +1 -0
- package/dist/types/Agent.types.js.map +1 -1
- package/package.json +2 -4
- package/src/nodes/addJumpToNode.ts +12 -3
- package/src/playbooks/playbooks.ts +48 -83
- package/src/types/Agent.types.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addJumpToNode.d.ts","sourceRoot":"","sources":["../../src/nodes/addJumpToNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"addJumpToNode.d.ts","sourceRoot":"","sources":["../../src/nodes/addJumpToNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAmB,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAKlD,eAAO,MAAM,aAAa,GAAU,iBAAiB;IAAE,KAAK,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,kBAgBjG,CAAC"}
|
|
@@ -2,11 +2,20 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.addJumpToNode = void 0;
|
|
4
4
|
const logger_1 = require("../utils/logger");
|
|
5
|
+
const Agent_types_1 = require("../types/Agent.types");
|
|
6
|
+
const history_1 = require("../utils/history");
|
|
5
7
|
const addJumpToNode = async ({ graph, node }) => {
|
|
6
|
-
const callback = async () => {
|
|
8
|
+
const callback = async (state) => {
|
|
7
9
|
logger_1.logger.info(`Executing jump node ${node.displayName} – jumping to ${node.targetNodeId}`);
|
|
8
10
|
// No state modifications are necessary; control flow is handled via edges.
|
|
9
|
-
return
|
|
11
|
+
return {
|
|
12
|
+
history: (0, history_1.createHistoryStep)(state.history, {
|
|
13
|
+
type: Agent_types_1.HistoryStepType.JUMP_TO_NODE,
|
|
14
|
+
nodeId: node.name,
|
|
15
|
+
nodeDisplayName: node.displayName,
|
|
16
|
+
raw: '',
|
|
17
|
+
}),
|
|
18
|
+
};
|
|
10
19
|
};
|
|
11
20
|
graph.addNode(node.name, callback);
|
|
12
21
|
graph.addEdge(node.name, node.targetNodeId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addJumpToNode.js","sourceRoot":"","sources":["../../src/nodes/addJumpToNode.ts"],"names":[],"mappings":";;;AAGA,4CAAyC;
|
|
1
|
+
{"version":3,"file":"addJumpToNode.js","sourceRoot":"","sources":["../../src/nodes/addJumpToNode.ts"],"names":[],"mappings":";;;AAGA,4CAAyC;AACzC,sDAAoE;AACpE,8CAAqD;AAE9C,MAAM,aAAa,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAiD,EAAE,EAAE;IACpG,MAAM,QAAQ,GAAiB,KAAK,EAAE,KAAmC,EAAE,EAAE;QAC3E,eAAM,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,WAAW,iBAAiB,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACzF,2EAA2E;QAC3E,OAAO;YACL,OAAO,EAAE,IAAA,2BAAiB,EAAc,KAAK,CAAC,OAAO,EAAE;gBACrD,IAAI,EAAE,6BAAe,CAAC,YAAY;gBAClC,MAAM,EAAE,IAAI,CAAC,IAAI;gBACjB,eAAe,EAAE,IAAI,CAAC,WAAW;gBACjC,GAAG,EAAE,EAAE;aACR,CAAC;SACH,CAAC;IACJ,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;AAhBW,QAAA,aAAa,iBAgBxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playbooks.d.ts","sourceRoot":"","sources":["../../src/playbooks/playbooks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"playbooks.d.ts","sourceRoot":"","sources":["../../src/playbooks/playbooks.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAIhE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B,CAAC;AAkEF;;GAEG;AACH,wBAAsB,aAAa,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,EAAE,oBAAoB,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAsBnI;AAuDD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,MAAM,CAyBhG"}
|
|
@@ -32,9 +32,6 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
32
32
|
return result;
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
36
|
exports.loadPlaybooks = loadPlaybooks;
|
|
40
37
|
exports.compilePlaybooks = compilePlaybooks;
|
|
@@ -42,32 +39,9 @@ const fs = __importStar(require("fs"));
|
|
|
42
39
|
const path = __importStar(require("path"));
|
|
43
40
|
const yaml = __importStar(require("js-yaml"));
|
|
44
41
|
const ejs = __importStar(require("ejs"));
|
|
45
|
-
const turndown_1 = __importDefault(require("turndown"));
|
|
46
42
|
const mindedConnectionTypes_1 = require("../platform/mindedConnectionTypes");
|
|
47
43
|
const config_1 = require("../platform/config");
|
|
48
44
|
const logger_1 = require("../utils/logger");
|
|
49
|
-
// Initialize Turndown service with custom options
|
|
50
|
-
const turndownService = new turndown_1.default({
|
|
51
|
-
headingStyle: 'atx',
|
|
52
|
-
codeBlockStyle: 'fenced',
|
|
53
|
-
emDelimiter: '*',
|
|
54
|
-
strongDelimiter: '**',
|
|
55
|
-
});
|
|
56
|
-
/**
|
|
57
|
-
* Decode HTML entities to their character equivalents, but preserve angle bracket entities
|
|
58
|
-
*/
|
|
59
|
-
function decodeHtmlEntities(text) {
|
|
60
|
-
// For Node.js environment, manually decode common entities
|
|
61
|
-
// but keep < and > as entities so Turndown treats them as literal text
|
|
62
|
-
return text
|
|
63
|
-
.replace(/&/g, '&')
|
|
64
|
-
.replace(/"/g, '"')
|
|
65
|
-
.replace(/'/g, "'")
|
|
66
|
-
.replace(/'/g, "'");
|
|
67
|
-
// Note: We don't decode here - let Turndown handle it, then post-process
|
|
68
|
-
// Note: We intentionally do NOT decode < and >
|
|
69
|
-
// so that Turndown treats them as literal text rather than HTML elements
|
|
70
|
-
}
|
|
71
45
|
/**
|
|
72
46
|
* Convert EditorJS blocks to markdown
|
|
73
47
|
*/
|
|
@@ -78,61 +52,52 @@ function editorJsToMarkdown(blocks) {
|
|
|
78
52
|
return blocks
|
|
79
53
|
.map((block) => {
|
|
80
54
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
: '';
|
|
122
|
-
return `> ${processedText}${caption}`;
|
|
123
|
-
}
|
|
124
|
-
case 'code': {
|
|
125
|
-
const code = ((_h = block.data) === null || _h === void 0 ? void 0 : _h.code) || '';
|
|
126
|
-
return `\`\`\`\n${code}\n\`\`\``;
|
|
127
|
-
}
|
|
128
|
-
case 'delimiter': {
|
|
129
|
-
return '---';
|
|
130
|
-
}
|
|
131
|
-
default: {
|
|
132
|
-
logger_1.logger.warn(`Unknown playbook block type: ${block.type}`);
|
|
133
|
-
return '';
|
|
55
|
+
try {
|
|
56
|
+
switch (block.type) {
|
|
57
|
+
case 'header': {
|
|
58
|
+
const level = ((_a = block.data) === null || _a === void 0 ? void 0 : _a.level) || 1;
|
|
59
|
+
const headerPrefix = '#'.repeat(level);
|
|
60
|
+
return `${headerPrefix} ${((_b = block.data) === null || _b === void 0 ? void 0 : _b.text) || ''}`;
|
|
61
|
+
}
|
|
62
|
+
case 'paragraph': {
|
|
63
|
+
return ((_c = block.data) === null || _c === void 0 ? void 0 : _c.text) || '';
|
|
64
|
+
}
|
|
65
|
+
case 'list': {
|
|
66
|
+
const items = ((_d = block.data) === null || _d === void 0 ? void 0 : _d.items) || [];
|
|
67
|
+
const style = ((_e = block.data) === null || _e === void 0 ? void 0 : _e.style) || 'unordered';
|
|
68
|
+
return items
|
|
69
|
+
.map((item, index) => {
|
|
70
|
+
if (style === 'ordered') {
|
|
71
|
+
return `${index + 1}. ${item}`;
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
return `- ${item}`;
|
|
75
|
+
}
|
|
76
|
+
})
|
|
77
|
+
.join('\n');
|
|
78
|
+
}
|
|
79
|
+
case 'quote': {
|
|
80
|
+
const text = ((_f = block.data) === null || _f === void 0 ? void 0 : _f.text) || '';
|
|
81
|
+
const caption = ((_g = block.data) === null || _g === void 0 ? void 0 : _g.caption) ? `\n*${block.data.caption}*` : '';
|
|
82
|
+
return `> ${text}${caption}`;
|
|
83
|
+
}
|
|
84
|
+
case 'code': {
|
|
85
|
+
const code = ((_h = block.data) === null || _h === void 0 ? void 0 : _h.code) || '';
|
|
86
|
+
return `\`\`\`\n${code}\n\`\`\``;
|
|
87
|
+
}
|
|
88
|
+
case 'delimiter': {
|
|
89
|
+
return '---';
|
|
90
|
+
}
|
|
91
|
+
default: {
|
|
92
|
+
logger_1.logger.warn(`Unknown playbook block type: ${block.type}`);
|
|
93
|
+
return '';
|
|
94
|
+
}
|
|
134
95
|
}
|
|
135
96
|
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
logger_1.logger.error({ message: 'Error converting EditorJS blocks to markdown', error, block });
|
|
99
|
+
throw error;
|
|
100
|
+
}
|
|
136
101
|
})
|
|
137
102
|
.join('\n\n');
|
|
138
103
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playbooks.js","sourceRoot":"","sources":["../../src/playbooks/playbooks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"playbooks.js","sourceRoot":"","sources":["../../src/playbooks/playbooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,7 +28,8 @@ export declare enum HistoryStepType {
|
|
|
28
28
|
TRIGGER_NODE = "triggerNode",
|
|
29
29
|
APP_ACTION_NODE = "appActionNode",
|
|
30
30
|
CUSTOM_ACTION_NODE = "customActionNode",
|
|
31
|
-
PROMPT_NODE = "promptNode"
|
|
31
|
+
PROMPT_NODE = "promptNode",
|
|
32
|
+
JUMP_TO_NODE = "jumpToNode"
|
|
32
33
|
}
|
|
33
34
|
export interface HistoryStep {
|
|
34
35
|
type: HistoryStepType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Agent.types.d.ts","sourceRoot":"","sources":["../../src/types/Agent.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAC9F,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,MAAM,aAAa,CAAC,MAAM,EAAE,CAAC,SAAS,MAAM,yBAAyB,CAAC,MAAM,CAAC,IAAI,CACrF,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAC1C,OAAO,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAEtD,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,EAAE,SAAS,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,mDAAmD;IACnD,WAAW,EAAE,GAAG,CAAC;IACjB,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sFAAsF;IACtF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,oBAAY,eAAe;IACzB,gBAAgB,mBAAmB;IACnC,YAAY,gBAAgB;IAC5B,eAAe,kBAAkB;IACjC,kBAAkB,qBAAqB;IACvC,WAAW,eAAe;
|
|
1
|
+
{"version":3,"file":"Agent.types.d.ts","sourceRoot":"","sources":["../../src/types/Agent.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAC9F,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,MAAM,aAAa,CAAC,MAAM,EAAE,CAAC,SAAS,MAAM,yBAAyB,CAAC,MAAM,CAAC,IAAI,CACrF,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAC1C,OAAO,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAEtD,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,EAAE,SAAS,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,mDAAmD;IACnD,WAAW,EAAE,GAAG,CAAC;IACjB,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sFAAsF;IACtF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,oBAAY,eAAe;IACzB,gBAAgB,mBAAmB;IACnC,YAAY,gBAAgB;IAC5B,eAAe,kBAAkB;IACjC,kBAAkB,qBAAqB;IACvC,WAAW,eAAe;IAC1B,YAAY,eAAe;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,GAAG,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,qBAAsB,SAAQ,WAAW;IACxD,IAAI,EAAE,eAAe,CAAC,gBAAgB,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,IAAI,EAAE,eAAe,CAAC,YAAY,CAAC;CACpC;AAED,MAAM,WAAW,8BAA+B,SAAQ,WAAW;IACjE,IAAI,EAAE,eAAe,CAAC,eAAe,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iCAAkC,SAAQ,WAAW;IACpE,IAAI,EAAE,eAAe,CAAC,kBAAkB,CAAC;CAC1C;AAED,oBAAY,WAAW;IACrB,KAAK,UAAU;IACf,IAAI,SAAS;CACd"}
|
|
@@ -8,6 +8,7 @@ var HistoryStepType;
|
|
|
8
8
|
HistoryStepType["APP_ACTION_NODE"] = "appActionNode";
|
|
9
9
|
HistoryStepType["CUSTOM_ACTION_NODE"] = "customActionNode";
|
|
10
10
|
HistoryStepType["PROMPT_NODE"] = "promptNode";
|
|
11
|
+
HistoryStepType["JUMP_TO_NODE"] = "jumpToNode";
|
|
11
12
|
})(HistoryStepType || (exports.HistoryStepType = HistoryStepType = {}));
|
|
12
13
|
var SessionType;
|
|
13
14
|
(function (SessionType) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Agent.types.js","sourceRoot":"","sources":["../../src/types/Agent.types.ts"],"names":[],"mappings":";;;AAgCA,IAAY,
|
|
1
|
+
{"version":3,"file":"Agent.types.js","sourceRoot":"","sources":["../../src/types/Agent.types.ts"],"names":[],"mappings":";;;AAgCA,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,sDAAmC,CAAA;IACnC,+CAA4B,CAAA;IAC5B,oDAAiC,CAAA;IACjC,0DAAuC,CAAA;IACvC,6CAA0B,CAAA;IAC1B,8CAA2B,CAAA;AAC7B,CAAC,EAPW,eAAe,+BAAf,eAAe,QAO1B;AA6BD,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,8BAAe,CAAA;IACf,4BAAa,CAAA;AACf,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@minded-ai/mindedjs",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.87",
|
|
4
4
|
"description": "MindedJS is a TypeScript library for building agents.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -35,7 +35,6 @@
|
|
|
35
35
|
"@types/mocha": "^10.0.6",
|
|
36
36
|
"@types/node": "^20.11.19",
|
|
37
37
|
"@types/sinon": "^17.0.4",
|
|
38
|
-
"@types/turndown": "^5.0.5",
|
|
39
38
|
"@types/ws": "^8.18.1",
|
|
40
39
|
"chai": "^4.3.10",
|
|
41
40
|
"dotenv": "^16.4.5",
|
|
@@ -62,8 +61,7 @@
|
|
|
62
61
|
"pino": "^9.7.0",
|
|
63
62
|
"pino-pretty": "^13.0.0",
|
|
64
63
|
"socket.io-client": "^4.8.1",
|
|
65
|
-
"turndown": "^7.2.0",
|
|
66
64
|
"uuid": "^11.1.0",
|
|
67
65
|
"ws": "^8.15.1"
|
|
68
66
|
}
|
|
69
|
-
}
|
|
67
|
+
}
|
|
@@ -1,13 +1,22 @@
|
|
|
1
1
|
import { RunnableLike } from '@langchain/core/runnables';
|
|
2
|
-
import { PreCompiledGraph } from '../types/LangGraph.types';
|
|
2
|
+
import { PreCompiledGraph, stateAnnotation } from '../types/LangGraph.types';
|
|
3
3
|
import { JumpToNode } from '../types/Flows.types';
|
|
4
4
|
import { logger } from '../utils/logger';
|
|
5
|
+
import { HistoryStepType, HistoryStep } from '../types/Agent.types';
|
|
6
|
+
import { createHistoryStep } from '../utils/history';
|
|
5
7
|
|
|
6
8
|
export const addJumpToNode = async ({ graph, node }: { graph: PreCompiledGraph; node: JumpToNode }) => {
|
|
7
|
-
const callback: RunnableLike = async () => {
|
|
9
|
+
const callback: RunnableLike = async (state: typeof stateAnnotation.State) => {
|
|
8
10
|
logger.info(`Executing jump node ${node.displayName} – jumping to ${node.targetNodeId}`);
|
|
9
11
|
// No state modifications are necessary; control flow is handled via edges.
|
|
10
|
-
return
|
|
12
|
+
return {
|
|
13
|
+
history: createHistoryStep<HistoryStep>(state.history, {
|
|
14
|
+
type: HistoryStepType.JUMP_TO_NODE,
|
|
15
|
+
nodeId: node.name,
|
|
16
|
+
nodeDisplayName: node.displayName,
|
|
17
|
+
raw: '',
|
|
18
|
+
}),
|
|
19
|
+
};
|
|
11
20
|
};
|
|
12
21
|
|
|
13
22
|
graph.addNode(node.name, callback);
|
|
@@ -2,7 +2,6 @@ import * as fs from 'fs';
|
|
|
2
2
|
import * as path from 'path';
|
|
3
3
|
import * as yaml from 'js-yaml';
|
|
4
4
|
import * as ejs from 'ejs';
|
|
5
|
-
import TurndownService from 'turndown';
|
|
6
5
|
import { MindedConnection } from '../platform/mindedConnection';
|
|
7
6
|
import { MindedConnectionSocketMessageType } from '../platform/mindedConnectionTypes';
|
|
8
7
|
import { getConfig } from '../platform/config';
|
|
@@ -15,30 +14,6 @@ export type Playbook = {
|
|
|
15
14
|
blocks: OutputBlockData[];
|
|
16
15
|
};
|
|
17
16
|
|
|
18
|
-
// Initialize Turndown service with custom options
|
|
19
|
-
const turndownService = new TurndownService({
|
|
20
|
-
headingStyle: 'atx',
|
|
21
|
-
codeBlockStyle: 'fenced',
|
|
22
|
-
emDelimiter: '*',
|
|
23
|
-
strongDelimiter: '**',
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Decode HTML entities to their character equivalents, but preserve angle bracket entities
|
|
28
|
-
*/
|
|
29
|
-
function decodeHtmlEntities(text: string): string {
|
|
30
|
-
// For Node.js environment, manually decode common entities
|
|
31
|
-
// but keep < and > as entities so Turndown treats them as literal text
|
|
32
|
-
return text
|
|
33
|
-
.replace(/&/g, '&')
|
|
34
|
-
.replace(/"/g, '"')
|
|
35
|
-
.replace(/'/g, "'")
|
|
36
|
-
.replace(/'/g, "'");
|
|
37
|
-
// Note: We don't decode here - let Turndown handle it, then post-process
|
|
38
|
-
// Note: We intentionally do NOT decode < and >
|
|
39
|
-
// so that Turndown treats them as literal text rather than HTML elements
|
|
40
|
-
}
|
|
41
|
-
|
|
42
17
|
/**
|
|
43
18
|
* Convert EditorJS blocks to markdown
|
|
44
19
|
*/
|
|
@@ -49,65 +24,55 @@ function editorJsToMarkdown(blocks: OutputBlockData[]): string {
|
|
|
49
24
|
|
|
50
25
|
return blocks
|
|
51
26
|
.map((block) => {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
:
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
case 'code': {
|
|
99
|
-
const code = block.data?.code || '';
|
|
100
|
-
return `\`\`\`\n${code}\n\`\`\``;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
case 'delimiter': {
|
|
104
|
-
return '---';
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
default: {
|
|
108
|
-
logger.warn(`Unknown playbook block type: ${block.type}`);
|
|
109
|
-
return '';
|
|
27
|
+
try {
|
|
28
|
+
switch (block.type) {
|
|
29
|
+
case 'header': {
|
|
30
|
+
const level = block.data?.level || 1;
|
|
31
|
+
const headerPrefix = '#'.repeat(level);
|
|
32
|
+
return `${headerPrefix} ${block.data?.text || ''}`;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
case 'paragraph': {
|
|
36
|
+
return block.data?.text || '';
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
case 'list': {
|
|
40
|
+
const items = block.data?.items || [];
|
|
41
|
+
const style = block.data?.style || 'unordered';
|
|
42
|
+
return items
|
|
43
|
+
.map((item: string, index: number) => {
|
|
44
|
+
if (style === 'ordered') {
|
|
45
|
+
return `${index + 1}. ${item}`;
|
|
46
|
+
} else {
|
|
47
|
+
return `- ${item}`;
|
|
48
|
+
}
|
|
49
|
+
})
|
|
50
|
+
.join('\n');
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
case 'quote': {
|
|
54
|
+
const text = block.data?.text || '';
|
|
55
|
+
const caption = block.data?.caption ? `\n*${block.data.caption}*` : '';
|
|
56
|
+
return `> ${text}${caption}`;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
case 'code': {
|
|
60
|
+
const code = block.data?.code || '';
|
|
61
|
+
return `\`\`\`\n${code}\n\`\`\``;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
case 'delimiter': {
|
|
65
|
+
return '---';
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
default: {
|
|
69
|
+
logger.warn(`Unknown playbook block type: ${block.type}`);
|
|
70
|
+
return '';
|
|
71
|
+
}
|
|
110
72
|
}
|
|
73
|
+
} catch (error) {
|
|
74
|
+
logger.error({ message: 'Error converting EditorJS blocks to markdown', error, block });
|
|
75
|
+
throw error;
|
|
111
76
|
}
|
|
112
77
|
})
|
|
113
78
|
.join('\n\n');
|