@shenghuabi/workflow 1.1.5 → 1.1.7
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/index.d.ts +1 -0
- package/index.js +56 -55
- package/index.js.map +3 -3
- package/index.mjs +46 -46
- package/index.mjs.map +3 -3
- package/inline/node/text/main/runner.d.ts +0 -1
- package/package.json +2 -2
- package/runner/runner-item.d.ts +3 -2
- package/test/util/text-input/main/runner.d.ts +0 -1
- package/util/serialize-text-template.d.ts +1 -1
package/index.d.ts
CHANGED
package/index.js
CHANGED
|
@@ -67,12 +67,13 @@ __export(workflow_exports, {
|
|
|
67
67
|
createLLMData: () => createLLMData,
|
|
68
68
|
createResultData: () => createResultData,
|
|
69
69
|
flatFilterHandleList: () => flatFilterHandleList,
|
|
70
|
-
llmModelConfig: () => llmModelConfig
|
|
70
|
+
llmModelConfig: () => llmModelConfig,
|
|
71
|
+
serializeLexicalTextarea: () => serializeLexicalTextarea
|
|
71
72
|
});
|
|
72
73
|
module.exports = __toCommonJS(workflow_exports);
|
|
73
74
|
|
|
74
75
|
// packages/workflow/workflow-parser.service.ts
|
|
75
|
-
var
|
|
76
|
+
var import_static_injector11 = require("static-injector");
|
|
76
77
|
var import_graphology = __toESM(require("graphology"), 1);
|
|
77
78
|
var import_react = require("@xyflow/react");
|
|
78
79
|
|
|
@@ -559,16 +560,17 @@ var import_compat = require("es-toolkit/compat");
|
|
|
559
560
|
var NodeRunnerBase = class {
|
|
560
561
|
node = (0, import_static_injector3.inject)(CurrentNodeToken);
|
|
561
562
|
callNode = (0, import_static_injector3.inject)(CurrentCallNodeToken, { optional: true }) ?? void 0;
|
|
562
|
-
|
|
563
|
+
runnerContext = (0, import_static_injector3.inject)(CurrentContextToken);
|
|
563
564
|
injector = (0, import_static_injector3.inject)(import_static_injector3.Injector);
|
|
564
565
|
emitter = (0, import_static_injector3.inject)(WorkflowEmitter);
|
|
565
566
|
abortSignal = (0, import_static_injector3.inject)(AbortSignalToken);
|
|
566
567
|
inputs = (0, import_static_injector3.inject)(NodeInputsToken);
|
|
568
|
+
environmentContextData = (0, import_static_injector3.inject)(EnviromentParametersToken);
|
|
567
569
|
async run() {
|
|
568
570
|
throw new Error("待实现");
|
|
569
571
|
}
|
|
570
572
|
#modelConfig = (0, import_static_injector3.inject)(ModelOptionsToken, { optional: true }) ?? void 0;
|
|
571
|
-
|
|
573
|
+
nodeContextData$$ = (0, import_static_injector3.computed)(() => this.injector.get(NodeContextToken)());
|
|
572
574
|
mergeChatModel(input) {
|
|
573
575
|
const chatService = this.injector.get(ChatServiceToken);
|
|
574
576
|
let presetConfig = {};
|
|
@@ -707,7 +709,7 @@ var import_static_injector5 = require("static-injector");
|
|
|
707
709
|
// packages/workflow/util/serialize-text-template.ts
|
|
708
710
|
var import_compat2 = require("es-toolkit/compat");
|
|
709
711
|
var import_variable_serialization = require("@shenghuabi/lexical-textarea/variable-serialization");
|
|
710
|
-
function
|
|
712
|
+
function serializeLexicalTextarea(input, options) {
|
|
711
713
|
const { context, environmentContext, onMetadata } = options;
|
|
712
714
|
return (0, import_variable_serialization.serializeTemplate)(input, (item) => {
|
|
713
715
|
if (item.type === "custom") {
|
|
@@ -741,13 +743,13 @@ function useChat() {
|
|
|
741
743
|
const list2 = list.map((item) => {
|
|
742
744
|
const contentList = item.content.map((contentChild) => {
|
|
743
745
|
if (contentChild.type === "text") {
|
|
744
|
-
const text =
|
|
746
|
+
const text = serializeLexicalTextarea(
|
|
745
747
|
contentChild.text,
|
|
746
748
|
serializeOptions
|
|
747
749
|
);
|
|
748
750
|
return { type: contentChild.type, text };
|
|
749
751
|
} else if (contentChild.type === "image_url") {
|
|
750
|
-
const url =
|
|
752
|
+
const url = serializeLexicalTextarea(
|
|
751
753
|
contentChild.image_url.url,
|
|
752
754
|
serializeOptions
|
|
753
755
|
);
|
|
@@ -915,16 +917,14 @@ var TEXT_NODE_DEFINE = v7.object({
|
|
|
915
917
|
});
|
|
916
918
|
|
|
917
919
|
// packages/workflow/inline/node/text/main/runner.ts
|
|
918
|
-
var import_static_injector7 = require("static-injector");
|
|
919
920
|
var TextareaRunner = class extends NodeRunnerBase {
|
|
920
|
-
environmentContext = (0, import_static_injector7.inject)(EnviromentParametersToken);
|
|
921
921
|
async run() {
|
|
922
922
|
return async () => {
|
|
923
923
|
let metadataList;
|
|
924
|
-
const context = await this.
|
|
925
|
-
const value =
|
|
924
|
+
const context = await this.nodeContextData$$();
|
|
925
|
+
const value = serializeLexicalTextarea(this.inputs.value, {
|
|
926
926
|
context,
|
|
927
|
-
environmentContext: this.
|
|
927
|
+
environmentContext: this.environmentContextData,
|
|
928
928
|
onMetadata(metadata) {
|
|
929
929
|
metadataList = metadata;
|
|
930
930
|
}
|
|
@@ -978,12 +978,12 @@ var ITERATION_NODE_DEFINE = v8.pipe(
|
|
|
978
978
|
);
|
|
979
979
|
|
|
980
980
|
// packages/workflow/runner/workflow-runner.service.ts
|
|
981
|
-
var
|
|
981
|
+
var import_static_injector9 = require("static-injector");
|
|
982
982
|
|
|
983
983
|
// packages/workflow/inline/node/input-params/main/runner.ts
|
|
984
|
-
var
|
|
984
|
+
var import_static_injector7 = require("static-injector");
|
|
985
985
|
var InputParamsRunner = class extends NodeRunnerBase {
|
|
986
|
-
#env = (0,
|
|
986
|
+
#env = (0, import_static_injector7.inject)(EnviromentParametersToken);
|
|
987
987
|
async run() {
|
|
988
988
|
const data = this.#env;
|
|
989
989
|
return async (id) => {
|
|
@@ -999,9 +999,9 @@ var InputParamsRunner = class extends NodeRunnerBase {
|
|
|
999
999
|
};
|
|
1000
1000
|
|
|
1001
1001
|
// packages/workflow/inline/node/iteration/main/iteration-start.runner.ts
|
|
1002
|
-
var
|
|
1002
|
+
var import_static_injector8 = require("static-injector");
|
|
1003
1003
|
var IterationStartRunner = class extends NodeRunnerBase {
|
|
1004
|
-
#nodeParentMap = (0,
|
|
1004
|
+
#nodeParentMap = (0, import_static_injector8.inject)(NodeParentMapToken);
|
|
1005
1005
|
async run() {
|
|
1006
1006
|
const data = this.#nodeParentMap.get(this.node.parentId);
|
|
1007
1007
|
return async (id) => {
|
|
@@ -1050,15 +1050,15 @@ var v9 = __toESM(require("valibot"), 1);
|
|
|
1050
1050
|
var import_util4 = require("@cyia/util");
|
|
1051
1051
|
var import_fast_equals = require("fast-equals");
|
|
1052
1052
|
var WorkflowRunnerContext = class {
|
|
1053
|
-
#injector = (0,
|
|
1054
|
-
data = (0,
|
|
1055
|
-
parent = (0,
|
|
1053
|
+
#injector = (0, import_static_injector9.inject)(import_static_injector9.Injector);
|
|
1054
|
+
data = (0, import_static_injector9.inject)(CurrentWorkflowToken);
|
|
1055
|
+
parent = (0, import_static_injector9.inject)(ParentContextToken);
|
|
1056
1056
|
#callCache = /* @__PURE__ */ new Map();
|
|
1057
1057
|
#outputCache = /* @__PURE__ */ new Map();
|
|
1058
|
-
inputs = (0,
|
|
1059
|
-
#plugin = (0,
|
|
1060
|
-
#emitter = (0,
|
|
1061
|
-
#inlineNode = (0,
|
|
1058
|
+
inputs = (0, import_static_injector9.inject)(InputsToken);
|
|
1059
|
+
#plugin = (0, import_static_injector9.inject)(WorkflowPluginService);
|
|
1060
|
+
#emitter = (0, import_static_injector9.inject)(WorkflowEmitter);
|
|
1061
|
+
#inlineNode = (0, import_static_injector9.inject)(InlineNodeService);
|
|
1062
1062
|
async #getNodeRunner(type) {
|
|
1063
1063
|
return this.#inlineNode.getNodeRunner(type) ?? ItemRunnerObject[type] ?? await this.#plugin.getNodeRunner(type);
|
|
1064
1064
|
}
|
|
@@ -1096,7 +1096,7 @@ var WorkflowRunnerContext = class {
|
|
|
1096
1096
|
// 当前node 调用 node context
|
|
1097
1097
|
async #createNodeRunner(item, inputParams, contextFactory, callNode) {
|
|
1098
1098
|
const define = await this.#getNodeRunner(item.type);
|
|
1099
|
-
return (0,
|
|
1099
|
+
return (0, import_static_injector9.createInjector)({
|
|
1100
1100
|
providers: [
|
|
1101
1101
|
define,
|
|
1102
1102
|
{ provide: CurrentNodeToken, useValue: item },
|
|
@@ -1110,7 +1110,7 @@ var WorkflowRunnerContext = class {
|
|
|
1110
1110
|
parent: this.#injector
|
|
1111
1111
|
}).get(define);
|
|
1112
1112
|
}
|
|
1113
|
-
#abort = (0,
|
|
1113
|
+
#abort = (0, import_static_injector9.inject)(AbortSignalToken);
|
|
1114
1114
|
async #runItem(node, callNode, input) {
|
|
1115
1115
|
try {
|
|
1116
1116
|
if (this.#abort?.aborted) {
|
|
@@ -1227,12 +1227,12 @@ var WorkflowRunnerContext = class {
|
|
|
1227
1227
|
}
|
|
1228
1228
|
};
|
|
1229
1229
|
var WorkflowRunnerService = class {
|
|
1230
|
-
#injector = (0,
|
|
1230
|
+
#injector = (0, import_static_injector9.inject)(import_static_injector9.Injector);
|
|
1231
1231
|
/** 自己使用
|
|
1232
1232
|
* @internal
|
|
1233
1233
|
*/
|
|
1234
1234
|
createContext(data, parent, parentInjector) {
|
|
1235
|
-
return (0,
|
|
1235
|
+
return (0, import_static_injector9.createInjector)({
|
|
1236
1236
|
providers: [
|
|
1237
1237
|
WorkflowRunnerContext,
|
|
1238
1238
|
{ provide: CurrentWorkflowToken, useValue: data },
|
|
@@ -1247,7 +1247,7 @@ var WorkflowRunnerService = class {
|
|
|
1247
1247
|
}
|
|
1248
1248
|
/** 入口 */
|
|
1249
1249
|
run(wofkflowData, input, ob, signal2, providers) {
|
|
1250
|
-
const injector = (0,
|
|
1250
|
+
const injector = (0, import_static_injector9.createInjector)({
|
|
1251
1251
|
providers: [
|
|
1252
1252
|
WorkflowEmitter,
|
|
1253
1253
|
{ provide: AbortSignalToken, useValue: signal2 },
|
|
@@ -1271,9 +1271,9 @@ var WorkflowRunnerService = class {
|
|
|
1271
1271
|
|
|
1272
1272
|
// packages/workflow/inline/node/iteration/main/runner.ts
|
|
1273
1273
|
var import_util5 = require("@cyia/util");
|
|
1274
|
-
var
|
|
1274
|
+
var import_static_injector10 = require("static-injector");
|
|
1275
1275
|
var IterationRunner = class extends NodeRunnerBase {
|
|
1276
|
-
#nodeParentMap = (0,
|
|
1276
|
+
#nodeParentMap = (0, import_static_injector10.inject)(NodeParentMapToken);
|
|
1277
1277
|
async run() {
|
|
1278
1278
|
const inputs = this.inputs;
|
|
1279
1279
|
const value = inputs.list;
|
|
@@ -1289,7 +1289,7 @@ var IterationRunner = class extends NodeRunnerBase {
|
|
|
1289
1289
|
await this.injector.get(WorkflowRunnerService).createContext(
|
|
1290
1290
|
//迭代只有一个子流
|
|
1291
1291
|
this.node.subFlowList[0].flow,
|
|
1292
|
-
this.
|
|
1292
|
+
this.runnerContext,
|
|
1293
1293
|
this.injector
|
|
1294
1294
|
).run()
|
|
1295
1295
|
);
|
|
@@ -1497,7 +1497,7 @@ var NodeGroup = class {
|
|
|
1497
1497
|
return this.#group.get(type) || [];
|
|
1498
1498
|
}
|
|
1499
1499
|
};
|
|
1500
|
-
var WorkflowDataToken = new
|
|
1500
|
+
var WorkflowDataToken = new import_static_injector11.InjectionToken(
|
|
1501
1501
|
"WorkflowData"
|
|
1502
1502
|
);
|
|
1503
1503
|
var WorkflowPreParser = class {
|
|
@@ -1510,17 +1510,17 @@ var WorkflowPreParser = class {
|
|
|
1510
1510
|
* 所有独立块都是找到独立节点后终止
|
|
1511
1511
|
*/
|
|
1512
1512
|
#nodeGroup = new NodeGroup();
|
|
1513
|
-
#data = (0,
|
|
1514
|
-
#plugin = (0,
|
|
1515
|
-
#inlineNodeService = (0,
|
|
1516
|
-
#fullBlockObject$$ = (0,
|
|
1513
|
+
#data = (0, import_static_injector11.inject)(WorkflowDataToken);
|
|
1514
|
+
#plugin = (0, import_static_injector11.inject)(WorkflowPluginService);
|
|
1515
|
+
#inlineNodeService = (0, import_static_injector11.inject)(InlineNodeService);
|
|
1516
|
+
#fullBlockObject$$ = (0, import_static_injector11.computed)(
|
|
1517
1517
|
() => ({
|
|
1518
1518
|
...this.#inlineNodeService.conditionNodeList(),
|
|
1519
1519
|
...this.#plugin.conditionNodeList$$(),
|
|
1520
1520
|
["iteration" /* iteration */]: true
|
|
1521
1521
|
})
|
|
1522
1522
|
);
|
|
1523
|
-
#conditionBlockObject$$ = (0,
|
|
1523
|
+
#conditionBlockObject$$ = (0, import_static_injector11.computed)(
|
|
1524
1524
|
() => ({
|
|
1525
1525
|
...this.#inlineNodeService.conditionNodeList(),
|
|
1526
1526
|
...this.#plugin.conditionNodeList$$()
|
|
@@ -1612,8 +1612,8 @@ var WorkflowPreParser = class {
|
|
|
1612
1612
|
}
|
|
1613
1613
|
};
|
|
1614
1614
|
var WorkflowParserService = class {
|
|
1615
|
-
#injector = (0,
|
|
1616
|
-
#inlineNode = (0,
|
|
1615
|
+
#injector = (0, import_static_injector11.inject)(import_static_injector11.Injector);
|
|
1616
|
+
#inlineNode = (0, import_static_injector11.inject)(InlineNodeService);
|
|
1617
1617
|
constructor() {
|
|
1618
1618
|
this.#inlineNode.register(index_node_exports);
|
|
1619
1619
|
}
|
|
@@ -1626,7 +1626,7 @@ var WorkflowParserService = class {
|
|
|
1626
1626
|
*
|
|
1627
1627
|
*/
|
|
1628
1628
|
parse(data) {
|
|
1629
|
-
const injector = (0,
|
|
1629
|
+
const injector = (0, import_static_injector11.createInjector)({
|
|
1630
1630
|
providers: [
|
|
1631
1631
|
WorkflowPreParser,
|
|
1632
1632
|
{ provide: WorkflowDataToken, useValue: data }
|
|
@@ -1652,14 +1652,14 @@ var WorkflowParserService = class {
|
|
|
1652
1652
|
};
|
|
1653
1653
|
|
|
1654
1654
|
// packages/workflow/workflow-exec.service.ts
|
|
1655
|
-
var
|
|
1655
|
+
var import_static_injector13 = require("static-injector");
|
|
1656
1656
|
var import_rxjs3 = require("rxjs");
|
|
1657
1657
|
|
|
1658
1658
|
// packages/workflow/preset/context-build.service.ts
|
|
1659
|
-
var
|
|
1659
|
+
var import_static_injector12 = require("static-injector");
|
|
1660
1660
|
var ContextBuildService = class {
|
|
1661
|
-
template = (0,
|
|
1662
|
-
parser = (0,
|
|
1661
|
+
template = (0, import_static_injector12.inject)(TemplateFormatService);
|
|
1662
|
+
parser = (0, import_static_injector12.inject)(WorkflowParserService);
|
|
1663
1663
|
createWorkflow(input) {
|
|
1664
1664
|
const result = this.template.parse(
|
|
1665
1665
|
input.template.flatMap(
|
|
@@ -1694,8 +1694,8 @@ var ContextBuildService = class {
|
|
|
1694
1694
|
|
|
1695
1695
|
// packages/workflow/workflow-exec.service.ts
|
|
1696
1696
|
var WorkflowExecService = class {
|
|
1697
|
-
#parser = (0,
|
|
1698
|
-
#runner = (0,
|
|
1697
|
+
#parser = (0, import_static_injector13.inject)(WorkflowParserService);
|
|
1698
|
+
#runner = (0, import_static_injector13.inject)(WorkflowRunnerService);
|
|
1699
1699
|
parse(data) {
|
|
1700
1700
|
return this.#parser.parse(data);
|
|
1701
1701
|
}
|
|
@@ -1729,7 +1729,7 @@ var WorkflowExecService = class {
|
|
|
1729
1729
|
throw error;
|
|
1730
1730
|
}
|
|
1731
1731
|
}
|
|
1732
|
-
#contextBuild = (0,
|
|
1732
|
+
#contextBuild = (0, import_static_injector13.inject)(ContextBuildService);
|
|
1733
1733
|
async agentChat(input, fn, abort) {
|
|
1734
1734
|
const workflow = this.#contextBuild.createWorkflow(input);
|
|
1735
1735
|
const subject = new import_rxjs3.Subject();
|
|
@@ -1753,15 +1753,15 @@ var WorkflowExecService = class {
|
|
|
1753
1753
|
};
|
|
1754
1754
|
|
|
1755
1755
|
// packages/workflow/workflow-select.service.ts
|
|
1756
|
-
var
|
|
1756
|
+
var import_static_injector15 = require("static-injector");
|
|
1757
1757
|
var import_vfs22 = require("@cyia/vfs2");
|
|
1758
1758
|
|
|
1759
1759
|
// packages/workflow/workflow-file.service.ts
|
|
1760
|
-
var
|
|
1760
|
+
var import_static_injector14 = require("static-injector");
|
|
1761
1761
|
var import_vfs2 = require("@cyia/vfs2");
|
|
1762
1762
|
var import_bundle_file = require("@cyia/bundle-file");
|
|
1763
1763
|
var WorkflowFileService = class {
|
|
1764
|
-
#config = (0,
|
|
1764
|
+
#config = (0, import_static_injector14.inject)(WorkflowConfigToken);
|
|
1765
1765
|
#fileMap = /* @__PURE__ */ new Map();
|
|
1766
1766
|
getFile(filePath) {
|
|
1767
1767
|
const nFilePath = import_vfs2.path.normalize(filePath);
|
|
@@ -1795,9 +1795,9 @@ var WorkflowFileService = class {
|
|
|
1795
1795
|
|
|
1796
1796
|
// packages/workflow/workflow-select.service.ts
|
|
1797
1797
|
var WorkflowSelectService = class {
|
|
1798
|
-
#fileService = (0,
|
|
1799
|
-
#config = (0,
|
|
1800
|
-
#vfs = (0,
|
|
1798
|
+
#fileService = (0, import_static_injector15.inject)(WorkflowFileService);
|
|
1799
|
+
#config = (0, import_static_injector15.inject)(WorkflowConfigToken);
|
|
1800
|
+
#vfs = (0, import_static_injector15.computed)(
|
|
1801
1801
|
() => (0, import_vfs22.createNormalizeVfs)({
|
|
1802
1802
|
dir: this.#config().dir
|
|
1803
1803
|
})
|
|
@@ -1885,6 +1885,7 @@ var WORKFLOW_MODULE = {
|
|
|
1885
1885
|
createLLMData,
|
|
1886
1886
|
createResultData,
|
|
1887
1887
|
flatFilterHandleList,
|
|
1888
|
-
llmModelConfig
|
|
1888
|
+
llmModelConfig,
|
|
1889
|
+
serializeLexicalTextarea
|
|
1889
1890
|
});
|
|
1890
1891
|
//# sourceMappingURL=index.js.map
|