@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 CHANGED
@@ -12,3 +12,4 @@ export * from './inline/inline.service';
12
12
  export * from './plugin/plugin.service';
13
13
  export * from './type/type';
14
14
  export * from './workflow-file.service';
15
+ export * from './util/serialize-text-template';
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 import_static_injector12 = require("static-injector");
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
- context = (0, import_static_injector3.inject)(CurrentContextToken);
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
- context$$ = (0, import_static_injector3.computed)(() => this.injector.get(NodeContextToken)());
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 serializeWithContext(input, options) {
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 = serializeWithContext(
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 = serializeWithContext(
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.context$$();
925
- const value = serializeWithContext(this.inputs.value, {
924
+ const context = await this.nodeContextData$$();
925
+ const value = serializeLexicalTextarea(this.inputs.value, {
926
926
  context,
927
- environmentContext: this.environmentContext,
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 import_static_injector10 = require("static-injector");
981
+ var import_static_injector9 = require("static-injector");
982
982
 
983
983
  // packages/workflow/inline/node/input-params/main/runner.ts
984
- var import_static_injector8 = require("static-injector");
984
+ var import_static_injector7 = require("static-injector");
985
985
  var InputParamsRunner = class extends NodeRunnerBase {
986
- #env = (0, import_static_injector8.inject)(EnviromentParametersToken);
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 import_static_injector9 = require("static-injector");
1002
+ var import_static_injector8 = require("static-injector");
1003
1003
  var IterationStartRunner = class extends NodeRunnerBase {
1004
- #nodeParentMap = (0, import_static_injector9.inject)(NodeParentMapToken);
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, import_static_injector10.inject)(import_static_injector10.Injector);
1054
- data = (0, import_static_injector10.inject)(CurrentWorkflowToken);
1055
- parent = (0, import_static_injector10.inject)(ParentContextToken);
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, import_static_injector10.inject)(InputsToken);
1059
- #plugin = (0, import_static_injector10.inject)(WorkflowPluginService);
1060
- #emitter = (0, import_static_injector10.inject)(WorkflowEmitter);
1061
- #inlineNode = (0, import_static_injector10.inject)(InlineNodeService);
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, import_static_injector10.createInjector)({
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, import_static_injector10.inject)(AbortSignalToken);
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, import_static_injector10.inject)(import_static_injector10.Injector);
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, import_static_injector10.createInjector)({
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, import_static_injector10.createInjector)({
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 import_static_injector11 = require("static-injector");
1274
+ var import_static_injector10 = require("static-injector");
1275
1275
  var IterationRunner = class extends NodeRunnerBase {
1276
- #nodeParentMap = (0, import_static_injector11.inject)(NodeParentMapToken);
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.context,
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 import_static_injector12.InjectionToken(
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, import_static_injector12.inject)(WorkflowDataToken);
1514
- #plugin = (0, import_static_injector12.inject)(WorkflowPluginService);
1515
- #inlineNodeService = (0, import_static_injector12.inject)(InlineNodeService);
1516
- #fullBlockObject$$ = (0, import_static_injector12.computed)(
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, import_static_injector12.computed)(
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, import_static_injector12.inject)(import_static_injector12.Injector);
1616
- #inlineNode = (0, import_static_injector12.inject)(InlineNodeService);
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, import_static_injector12.createInjector)({
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 import_static_injector14 = require("static-injector");
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 import_static_injector13 = require("static-injector");
1659
+ var import_static_injector12 = require("static-injector");
1660
1660
  var ContextBuildService = class {
1661
- template = (0, import_static_injector13.inject)(TemplateFormatService);
1662
- parser = (0, import_static_injector13.inject)(WorkflowParserService);
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, import_static_injector14.inject)(WorkflowParserService);
1698
- #runner = (0, import_static_injector14.inject)(WorkflowRunnerService);
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, import_static_injector14.inject)(ContextBuildService);
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 import_static_injector16 = require("static-injector");
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 import_static_injector15 = require("static-injector");
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, import_static_injector15.inject)(WorkflowConfigToken);
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, import_static_injector16.inject)(WorkflowFileService);
1799
- #config = (0, import_static_injector16.inject)(WorkflowConfigToken);
1800
- #vfs = (0, import_static_injector16.computed)(
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