@n8n/workflow-sdk 0.31.0 → 0.32.0

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.
Files changed (68) hide show
  1. package/dist/ast-interpreter/errors.d.ts +4 -0
  2. package/dist/ast-interpreter/errors.js +9 -1
  3. package/dist/ast-interpreter/errors.js.map +1 -1
  4. package/dist/ast-interpreter/index.d.ts +1 -1
  5. package/dist/ast-interpreter/index.js +2 -1
  6. package/dist/ast-interpreter/index.js.map +1 -1
  7. package/dist/ast-interpreter/interpreter.js +193 -70
  8. package/dist/ast-interpreter/interpreter.js.map +1 -1
  9. package/dist/ast-interpreter/validators.js +1 -0
  10. package/dist/ast-interpreter/validators.js.map +1 -1
  11. package/dist/build.tsbuildinfo +1 -1
  12. package/dist/codegen/code-generator.d.ts +1 -0
  13. package/dist/codegen/code-generator.js +10 -9
  14. package/dist/codegen/code-generator.js.map +1 -1
  15. package/dist/codegen/index.d.ts +2 -1
  16. package/dist/codegen/index.js +5 -2
  17. package/dist/codegen/index.js.map +1 -1
  18. package/dist/codegen/locate-node-declarations.d.ts +6 -0
  19. package/dist/codegen/locate-node-declarations.js +65 -0
  20. package/dist/codegen/locate-node-declarations.js.map +1 -0
  21. package/dist/codegen/string-utils.d.ts +4 -0
  22. package/dist/codegen/string-utils.js +75 -0
  23. package/dist/codegen/string-utils.js.map +1 -1
  24. package/dist/codegen/subnode-generator.d.ts +1 -0
  25. package/dist/codegen/subnode-generator.js +30 -13
  26. package/dist/codegen/subnode-generator.js.map +1 -1
  27. package/dist/generate-types/generate-node-defs-cli.d.ts +1 -1
  28. package/dist/generate-types/generate-node-defs-cli.js +8 -3
  29. package/dist/generate-types/generate-node-defs-cli.js.map +1 -1
  30. package/dist/generate-types/generate-types.d.ts +5 -0
  31. package/dist/generate-types/generate-types.js +129 -36
  32. package/dist/generate-types/generate-types.js.map +1 -1
  33. package/dist/generate-types/schema-coverage-cli.d.ts +1 -0
  34. package/dist/generate-types/schema-coverage-cli.js +58 -0
  35. package/dist/generate-types/schema-coverage-cli.js.map +1 -0
  36. package/dist/generate-types/schema-coverage.d.ts +27 -0
  37. package/dist/generate-types/schema-coverage.js +101 -0
  38. package/dist/generate-types/schema-coverage.js.map +1 -0
  39. package/dist/generate-types/schema-harvest-cli.d.ts +1 -0
  40. package/dist/generate-types/schema-harvest-cli.js +65 -0
  41. package/dist/generate-types/schema-harvest-cli.js.map +1 -0
  42. package/dist/generate-types/schema-harvest.d.ts +26 -0
  43. package/dist/generate-types/schema-harvest.js +303 -0
  44. package/dist/generate-types/schema-harvest.js.map +1 -0
  45. package/dist/index.d.ts +2 -1
  46. package/dist/index.js +5 -2
  47. package/dist/index.js.map +1 -1
  48. package/dist/mock-data/ai-root-shapes.d.ts +1 -0
  49. package/dist/mock-data/ai-root-shapes.js +19 -0
  50. package/dist/mock-data/ai-root-shapes.js.map +1 -1
  51. package/dist/mock-data/index.d.ts +2 -1
  52. package/dist/mock-data/index.js +4 -1
  53. package/dist/mock-data/index.js.map +1 -1
  54. package/dist/mock-data/placeholder.d.ts +5 -0
  55. package/dist/mock-data/placeholder.js +187 -0
  56. package/dist/mock-data/placeholder.js.map +1 -0
  57. package/dist/node-deprecation.d.ts +2 -0
  58. package/dist/node-deprecation.js +11 -0
  59. package/dist/node-deprecation.js.map +1 -0
  60. package/dist/prompts/sdk-reference/workflow-rules.d.ts +1 -1
  61. package/dist/prompts/sdk-reference/workflow-rules.js +9 -1
  62. package/dist/prompts/sdk-reference/workflow-rules.js.map +1 -1
  63. package/dist/validation/validate-workflow-builder.js +5 -4
  64. package/dist/validation/validate-workflow-builder.js.map +1 -1
  65. package/dist/validation/validate-workflow.d.ts +1 -1
  66. package/dist/validation/validate-workflow.js +19 -0
  67. package/dist/validation/validate-workflow.js.map +1 -1
  68. package/package.json +13 -11
@@ -13,6 +13,7 @@ export interface ExecutionContextOptions {
13
13
  }
14
14
  export interface GenerateCodeOptions extends ExecutionContextOptions {
15
15
  includeNodeIds?: boolean;
16
+ includePositions?: boolean;
16
17
  }
17
18
  export declare function collectNestedMultiOutputs(node: CompositeNode, collected: MultiOutputNode[], visited?: WeakSet<CompositeNode>): void;
18
19
  export declare function generateCode(tree: CompositeTree, json: WorkflowJSON, graph: SemanticGraph, executionContext?: GenerateCodeOptions): string;
@@ -45,7 +45,7 @@ function generateSubnodeCall(subnodeNode, builderName, ctx) {
45
45
  configParts.push(`credentials: ${(0, subnode_generator_1.formatCredentials)(subnodeNode.json.credentials)}`);
46
46
  }
47
47
  const pos = subnodeNode.json.position;
48
- if (pos && (pos[0] !== 0 || pos[1] !== 0)) {
48
+ if (!ctx.omitPositions && pos && (pos[0] !== 0 || pos[1] !== 0)) {
49
49
  configParts.push(`position: [${pos[0]}, ${pos[1]}]`);
50
50
  }
51
51
  appendNodeConfigOptions(configParts, subnodeNode);
@@ -179,7 +179,7 @@ function generateSubnodeCallWithVarRefs(subnodeNode, builderName, ctx) {
179
179
  configParts.push(`credentials: ${(0, subnode_generator_1.formatCredentials)(subnodeNode.json.credentials)}`);
180
180
  }
181
181
  const pos = subnodeNode.json.position;
182
- if (pos && (pos[0] !== 0 || pos[1] !== 0)) {
182
+ if (!ctx.omitPositions && pos && (pos[0] !== 0 || pos[1] !== 0)) {
183
183
  configParts.push(`position: [${pos[0]}, ${pos[1]}]`);
184
184
  }
185
185
  appendNodeConfigOptions(configParts, subnodeNode);
@@ -259,13 +259,13 @@ function generateNodeConfig(node, ctx) {
259
259
  configParts.push(`name: '${(0, string_utils_1.escapeString)(node.json.name)}'`);
260
260
  }
261
261
  if (node.json.parameters && Object.keys(node.json.parameters).length > 0) {
262
- configParts.push(`parameters: ${(0, subnode_generator_1.formatValue)(node.json.parameters, ctx)}`);
262
+ configParts.push(`parameters: ${(0, subnode_generator_1.formatValue)(node.json.parameters, { ...ctx, indent: ctx.indent + 2 })}`);
263
263
  }
264
264
  if (node.json.credentials && Object.keys(node.json.credentials).length > 0) {
265
265
  configParts.push(`credentials: ${(0, subnode_generator_1.formatCredentials)(node.json.credentials)}`);
266
266
  }
267
267
  const pos = node.json.position;
268
- if (pos && (pos[0] !== 0 || pos[1] !== 0)) {
268
+ if (!ctx.omitPositions && pos && (pos[0] !== 0 || pos[1] !== 0)) {
269
269
  configParts.push(`position: [${pos[0]}, ${pos[1]}]`);
270
270
  }
271
271
  appendNodeConfigOptions(configParts, node);
@@ -347,7 +347,7 @@ function getNodesInsideSticky(stickyNode, ctx) {
347
347
  return containedNodes;
348
348
  }
349
349
  function generateStickyCall(node, ctx) {
350
- const content = (0, string_utils_1.escapeString)(node.json.parameters?.content ?? '');
350
+ const content = (0, string_utils_1.formatStringLiteral)(node.json.parameters?.content ?? '');
351
351
  const nodesInside = getNodesInsideSticky(node, ctx);
352
352
  const nodesStr = `[${nodesInside.join(', ')}]`;
353
353
  const options = [];
@@ -371,11 +371,11 @@ function generateStickyCall(node, ctx) {
371
371
  options.push(`height: ${Number(params.height)}`);
372
372
  }
373
373
  const pos = node.json.position;
374
- if (pos && (pos[0] !== 0 || pos[1] !== 0)) {
374
+ if (!ctx.omitPositions && pos && (pos[0] !== 0 || pos[1] !== 0)) {
375
375
  options.push(`position: [${pos[0]}, ${pos[1]}]`);
376
376
  }
377
377
  const optionsStr = options.length > 0 ? `, { ${options.join(', ')} }` : '';
378
- return `sticky('${content}', ${nodesStr}${optionsStr})`;
378
+ return `sticky(${content}, ${nodesStr}${optionsStr})`;
379
379
  }
380
380
  function generateMergeCall(node, ctx) {
381
381
  const indent = getIndent(ctx);
@@ -388,13 +388,13 @@ function generateMergeCall(node, ctx) {
388
388
  configParts.push(`name: '${(0, string_utils_1.escapeString)(node.json.name)}'`);
389
389
  }
390
390
  if (node.json.parameters && Object.keys(node.json.parameters).length > 0) {
391
- configParts.push(`parameters: ${(0, subnode_generator_1.formatValue)(node.json.parameters, ctx)}`);
391
+ configParts.push(`parameters: ${(0, subnode_generator_1.formatValue)(node.json.parameters, { ...ctx, indent: ctx.indent + 2 })}`);
392
392
  }
393
393
  if (node.json.credentials && Object.keys(node.json.credentials).length > 0) {
394
394
  configParts.push(`credentials: ${(0, subnode_generator_1.formatCredentials)(node.json.credentials)}`);
395
395
  }
396
396
  const pos = node.json.position;
397
- if (pos && (pos[0] !== 0 || pos[1] !== 0)) {
397
+ if (!ctx.omitPositions && pos && (pos[0] !== 0 || pos[1] !== 0)) {
398
398
  configParts.push(`position: [${pos[0]}, ${pos[1]}]`);
399
399
  }
400
400
  appendNodeConfigOptions(configParts, node);
@@ -852,6 +852,7 @@ function generateCode(tree, json, graph, executionContext) {
852
852
  nodesWithEmittableId: executionContext?.includeNodeIds
853
853
  ? collectNodesWithEmittableId(graph)
854
854
  : undefined,
855
+ omitPositions: executionContext?.includePositions === false,
855
856
  };
856
857
  for (const nodeName of graph.nodes.keys()) {
857
858
  (0, variable_names_1.getUniqueVarName)(nodeName, ctx);
@@ -1 +1 @@
1
- {"version":3,"file":"code-generator.js","sourceRoot":"","sources":["../../src/codegen/code-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-generator.js","sourceRoot":"","sources":["../../src/codegen/code-generator.ts"],"names":[],"mappings":"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"}
@@ -12,11 +12,12 @@ export interface GenerateWorkflowCodeOptions {
12
12
  valuesExcluded?: boolean;
13
13
  pinnedNodes?: string[];
14
14
  includeNodeIds?: boolean;
15
+ includePositions?: boolean;
15
16
  }
16
17
  export { buildSemanticGraph } from './semantic-graph';
17
18
  export { annotateGraph } from './graph-annotator';
18
19
  export { buildCompositeTree } from './composite-builder';
19
20
  export { generateCode } from './code-generator';
20
- export { emitInstanceAi, SDK_IMPORTABLE_FUNCTIONS, type EmitInstanceAiOptions, } from './emit-instance-ai';
21
+ export { emitInstanceAi, buildImports, SDK_IMPORTABLE_FUNCTIONS, type EmitInstanceAiOptions, } from './emit-instance-ai';
21
22
  export { getOutputName, getInputName, getCompositeType, getNodeSemantics, isCycleOutput, } from './semantic-registry';
22
23
  export declare function generateWorkflowCode(input: WorkflowJSON | GenerateWorkflowCodeOptions): string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isCycleOutput = exports.getNodeSemantics = exports.getCompositeType = exports.getInputName = exports.getOutputName = exports.SDK_IMPORTABLE_FUNCTIONS = exports.emitInstanceAi = exports.generateCode = exports.buildCompositeTree = exports.annotateGraph = exports.buildSemanticGraph = void 0;
3
+ exports.isCycleOutput = exports.getNodeSemantics = exports.getCompositeType = exports.getInputName = exports.getOutputName = exports.SDK_IMPORTABLE_FUNCTIONS = exports.buildImports = exports.emitInstanceAi = exports.generateCode = exports.buildCompositeTree = exports.annotateGraph = exports.buildSemanticGraph = void 0;
4
4
  exports.generateWorkflowCode = generateWorkflowCode;
5
5
  const code_generator_1 = require("./code-generator");
6
6
  const composite_builder_1 = require("./composite-builder");
@@ -18,6 +18,7 @@ var code_generator_2 = require("./code-generator");
18
18
  Object.defineProperty(exports, "generateCode", { enumerable: true, get: function () { return code_generator_2.generateCode; } });
19
19
  var emit_instance_ai_1 = require("./emit-instance-ai");
20
20
  Object.defineProperty(exports, "emitInstanceAi", { enumerable: true, get: function () { return emit_instance_ai_1.emitInstanceAi; } });
21
+ Object.defineProperty(exports, "buildImports", { enumerable: true, get: function () { return emit_instance_ai_1.buildImports; } });
21
22
  Object.defineProperty(exports, "SDK_IMPORTABLE_FUNCTIONS", { enumerable: true, get: function () { return emit_instance_ai_1.SDK_IMPORTABLE_FUNCTIONS; } });
22
23
  var semantic_registry_1 = require("./semantic-registry");
23
24
  Object.defineProperty(exports, "getOutputName", { enumerable: true, get: function () { return semantic_registry_1.getOutputName; } });
@@ -29,7 +30,7 @@ function isOptionsObject(input) {
29
30
  return 'workflow' in input && input.workflow !== undefined;
30
31
  }
31
32
  function generateWorkflowCode(input) {
32
- const { workflow, executionSchema, expressionValues, executionData, valuesExcluded, pinnedNodes, includeNodeIds, } = isOptionsObject(input)
33
+ const { workflow, executionSchema, expressionValues, executionData, valuesExcluded, pinnedNodes, includeNodeIds, includePositions, } = isOptionsObject(input)
33
34
  ? input
34
35
  : {
35
36
  workflow: input,
@@ -39,6 +40,7 @@ function generateWorkflowCode(input) {
39
40
  valuesExcluded: undefined,
40
41
  pinnedNodes: undefined,
41
42
  includeNodeIds: undefined,
43
+ includePositions: undefined,
42
44
  };
43
45
  const graph = (0, semantic_graph_1.buildSemanticGraph)(workflow);
44
46
  (0, graph_annotator_1.annotateGraph)(graph);
@@ -60,6 +62,7 @@ function generateWorkflowCode(input) {
60
62
  valuesExcluded,
61
63
  pinnedNodes: pinnedNodes ? new Set(pinnedNodes) : undefined,
62
64
  includeNodeIds,
65
+ includePositions,
63
66
  });
64
67
  }
65
68
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/codegen/index.ts"],"names":[],"mappings":";;;;AAcA,qDAAgD;AAChD,2DAAyD;AACzD,yDAA0F;AAC1F,iEAAoE;AACpE,uDAAkD;AAClD,qDAAsD;AAwCtD,mDAAsD;AAA7C,oHAAA,kBAAkB,OAAA;AAC3B,qDAAkD;AAAzC,gHAAA,aAAa,OAAA;AACtB,yDAAyD;AAAhD,uHAAA,kBAAkB,OAAA;AAC3B,mDAAgD;AAAvC,8GAAA,YAAY,OAAA;AACrB,uDAI4B;AAH3B,kHAAA,cAAc,OAAA;AACd,4HAAA,wBAAwB,OAAA;AAGzB,yDAM6B;AAL5B,kHAAA,aAAa,OAAA;AACb,iHAAA,YAAY,OAAA;AACZ,qHAAA,gBAAgB,OAAA;AAChB,qHAAA,gBAAgB,OAAA;AAChB,kHAAA,aAAa,OAAA;AAMd,SAAS,eAAe,CACvB,KAAiD;IAEjD,OAAO,UAAU,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC;AAC5D,CAAC;AAuBD,8BAAqC,KAAiD;IAErF,MAAM,EACL,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,WAAW,EACX,cAAc,GACd,GAAG,eAAe,CAAC,KAAK,CAAC;QACzB,CAAC,CAAC,KAAK;QACP,CAAC,CAAC;YACA,QAAQ,EAAE,KAAK;YACf,eAAe,EAAE,SAAS;YAC1B,gBAAgB,EAAE,SAAS;YAC3B,aAAa,EAAE,SAAS;YACxB,cAAc,EAAE,SAAS;YACzB,WAAW,EAAE,SAAS;YACtB,cAAc,EAAE,SAAS;SACzB,CAAC;IAGJ,MAAM,KAAK,GAAG,IAAA,mCAAkB,EAAC,QAAQ,CAAC,CAAC;IAG3C,IAAA,+BAAa,EAAC,KAAK,CAAC,CAAC;IAGrB,MAAM,IAAI,GAAG,IAAA,sCAAkB,EAAC,KAAK,CAAC,CAAC;IAGvC,MAAM,qBAAqB,GAAG,IAAA,iDAA0B,EAAC,gBAAgB,CAAC,CAAC;IAC3E,MAAM,mBAAmB,GAAG,IAAA,2CAAwB,EAAC,aAAa,CAAC,CAAC;IAGpE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,IAAI,eAAe,EAAE,CAAC;QACrB,KAAK,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,eAAe,EAAE,CAAC;YACpD,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnC,CAAC;IACF,CAAC;IAGD,MAAM,mBAAmB,GAAG,IAAA,6CAA0B,EAAC,aAAa,CAAC,CAAC;IAGtE,OAAO,IAAA,6BAAY,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC1C,qBAAqB,EAAE,qBAAqB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS;QACzF,mBAAmB,EAAE,mBAAmB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS;QACnF,WAAW,EAAE,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QAC3D,mBAAmB,EAAE,mBAAmB,IAAI,SAAS;QACrD,cAAc;QACd,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;QAC3D,cAAc;KACd,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/codegen/index.ts"],"names":[],"mappings":";;;;AAcA,qDAAgD;AAChD,2DAAyD;AACzD,yDAA0F;AAC1F,iEAAoE;AACpE,uDAAkD;AAClD,qDAAsD;AA8CtD,mDAAsD;AAA7C,oHAAA,kBAAkB,OAAA;AAC3B,qDAAkD;AAAzC,gHAAA,aAAa,OAAA;AACtB,yDAAyD;AAAhD,uHAAA,kBAAkB,OAAA;AAC3B,mDAAgD;AAAvC,8GAAA,YAAY,OAAA;AACrB,uDAK4B;AAJ3B,kHAAA,cAAc,OAAA;AACd,gHAAA,YAAY,OAAA;AACZ,4HAAA,wBAAwB,OAAA;AAGzB,yDAM6B;AAL5B,kHAAA,aAAa,OAAA;AACb,iHAAA,YAAY,OAAA;AACZ,qHAAA,gBAAgB,OAAA;AAChB,qHAAA,gBAAgB,OAAA;AAChB,kHAAA,aAAa,OAAA;AAMd,SAAS,eAAe,CACvB,KAAiD;IAEjD,OAAO,UAAU,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC;AAC5D,CAAC;AAuBD,8BAAqC,KAAiD;IAErF,MAAM,EACL,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,WAAW,EACX,cAAc,EACd,gBAAgB,GAChB,GAAG,eAAe,CAAC,KAAK,CAAC;QACzB,CAAC,CAAC,KAAK;QACP,CAAC,CAAC;YACA,QAAQ,EAAE,KAAK;YACf,eAAe,EAAE,SAAS;YAC1B,gBAAgB,EAAE,SAAS;YAC3B,aAAa,EAAE,SAAS;YACxB,cAAc,EAAE,SAAS;YACzB,WAAW,EAAE,SAAS;YACtB,cAAc,EAAE,SAAS;YACzB,gBAAgB,EAAE,SAAS;SAC3B,CAAC;IAGJ,MAAM,KAAK,GAAG,IAAA,mCAAkB,EAAC,QAAQ,CAAC,CAAC;IAG3C,IAAA,+BAAa,EAAC,KAAK,CAAC,CAAC;IAGrB,MAAM,IAAI,GAAG,IAAA,sCAAkB,EAAC,KAAK,CAAC,CAAC;IAGvC,MAAM,qBAAqB,GAAG,IAAA,iDAA0B,EAAC,gBAAgB,CAAC,CAAC;IAC3E,MAAM,mBAAmB,GAAG,IAAA,2CAAwB,EAAC,aAAa,CAAC,CAAC;IAGpE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,IAAI,eAAe,EAAE,CAAC;QACrB,KAAK,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,eAAe,EAAE,CAAC;YACpD,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnC,CAAC;IACF,CAAC;IAGD,MAAM,mBAAmB,GAAG,IAAA,6CAA0B,EAAC,aAAa,CAAC,CAAC;IAGtE,OAAO,IAAA,6BAAY,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC1C,qBAAqB,EAAE,qBAAqB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS;QACzF,mBAAmB,EAAE,mBAAmB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS;QACnF,WAAW,EAAE,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QAC3D,mBAAmB,EAAE,mBAAmB,IAAI,SAAS;QACrD,cAAc;QACd,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;QAC3D,cAAc;QACd,gBAAgB;KAChB,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ export interface NodeDeclarationLocation {
2
+ name?: string;
3
+ id?: string;
4
+ line: number;
5
+ }
6
+ export declare function locateNodeDeclarations(source: string): NodeDeclarationLocation[];
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.locateNodeDeclarations = locateNodeDeclarations;
4
+ const ast_interpreter_1 = require("../ast-interpreter");
5
+ const ast_walk_1 = require("../lint/ast-walk");
6
+ const workflow_sdk_lint_1 = require("../lint/sdk/workflow-sdk-lint");
7
+ function locateNodeDeclarations(source) {
8
+ let program;
9
+ try {
10
+ program = (0, ast_interpreter_1.parseSDKCode)((0, workflow_sdk_lint_1.prepareSourceForLint)(source).code);
11
+ }
12
+ catch {
13
+ return [];
14
+ }
15
+ const found = [];
16
+ (0, ast_walk_1.walkAst)(program, (node) => {
17
+ if (node.type !== 'CallExpression')
18
+ return;
19
+ const head = declaredNodeHead(node);
20
+ if (!head)
21
+ return;
22
+ found.push({ ...readIdentity(head), line: node.loc?.start.line ?? 0 });
23
+ });
24
+ return found;
25
+ }
26
+ function declaredNodeHead(call) {
27
+ const args = call.arguments;
28
+ if (call.callee.type === 'Identifier' && call.callee.name === 'sticky') {
29
+ const options = args.length >= 2 ? args[args.length - 1] : undefined;
30
+ return options?.type === 'ObjectExpression' ? options : undefined;
31
+ }
32
+ const first = args[0];
33
+ if (first?.type !== 'ObjectExpression')
34
+ return undefined;
35
+ const config = directProperty(first, 'config');
36
+ return config?.type === 'ObjectExpression' ? config : undefined;
37
+ }
38
+ function readIdentity(head) {
39
+ const name = stringValue(directProperty(head, 'name'));
40
+ const id = stringValue(directProperty(head, 'id'));
41
+ return { ...(name !== undefined ? { name } : {}), ...(id !== undefined ? { id } : {}) };
42
+ }
43
+ function directProperty(object, key) {
44
+ for (const property of object.properties) {
45
+ if (property.type !== 'Property' || property.computed)
46
+ continue;
47
+ const propertyKey = property.key;
48
+ const matches = (propertyKey.type === 'Identifier' && propertyKey.name === key) ||
49
+ (propertyKey.type === 'Literal' && propertyKey.value === key);
50
+ if (matches)
51
+ return property.value;
52
+ }
53
+ return undefined;
54
+ }
55
+ function stringValue(value) {
56
+ if (!value)
57
+ return undefined;
58
+ if (value.type === 'Literal' && typeof value.value === 'string')
59
+ return value.value;
60
+ if (value.type === 'TemplateLiteral' && value.expressions.length === 0) {
61
+ return value.quasis[0]?.value.cooked ?? undefined;
62
+ }
63
+ return undefined;
64
+ }
65
+ //# sourceMappingURL=locate-node-declarations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locate-node-declarations.js","sourceRoot":"","sources":["../../src/codegen/locate-node-declarations.ts"],"names":[],"mappings":";;;AAOA,wDAAkD;AAClD,+CAA2C;AAC3C,qEAAqE;AAgBrE,gCAAuC,MAAc;IACpD,IAAI,OAAa,CAAC;IAClB,IAAI,CAAC;QACJ,OAAO,GAAG,IAAA,8BAAY,EAAC,IAAA,wCAAoB,EAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,KAAK,GAA8B,EAAE,CAAC;IAC5C,IAAA,kBAAO,EAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;QACzB,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB;YAAE,OAAO;QAC3C,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACd,CAAC;AASD,SAAS,gBAAgB,CAAC,IAAoB;IAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;IAC5B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACxE,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrE,OAAO,OAAO,EAAE,IAAI,KAAK,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,KAAK,EAAE,IAAI,KAAK,kBAAkB;QAAE,OAAO,SAAS,CAAC;IACzD,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC/C,OAAO,MAAM,EAAE,IAAI,KAAK,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACjE,CAAC;AAED,SAAS,YAAY,CAAC,IAAsB;IAC3C,MAAM,IAAI,GAAG,WAAW,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,MAAM,EAAE,GAAG,WAAW,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACnD,OAAO,EAAE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACzF,CAAC;AAED,SAAS,cAAc,CAAC,MAAwB,EAAE,GAAW;IAC5D,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1C,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,IAAI,QAAQ,CAAC,QAAQ;YAAE,SAAS;QAChE,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC;QACjC,MAAM,OAAO,GACZ,CAAC,WAAW,CAAC,IAAI,KAAK,YAAY,IAAI,WAAW,CAAC,IAAI,KAAK,GAAG,CAAC;YAC/D,CAAC,WAAW,CAAC,IAAI,KAAK,SAAS,IAAI,WAAW,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC;QAC/D,IAAI,OAAO;YAAE,OAAO,QAAQ,CAAC,KAAK,CAAC;IACpC,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAGD,SAAS,WAAW,CAAC,KAAuB;IAC3C,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC;IACpF,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC;IACnD,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC"}
@@ -1,4 +1,8 @@
1
1
  export declare function escapeString(str: string): string;
2
+ export declare function escapeTemplateLiteral(str: string): string;
3
+ export declare function isMultilineStringValue(str: string): boolean;
4
+ export declare function formatStringLiteral(str: string): string;
5
+ export declare function indentContinuationLines(text: string, indent: string): string;
2
6
  export declare function needsQuoting(key: string): boolean;
3
7
  export declare function formatKey(key: string): string;
4
8
  export declare function escapeRegexChars(str: string): string;
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.escapeString = escapeString;
4
+ exports.escapeTemplateLiteral = escapeTemplateLiteral;
5
+ exports.isMultilineStringValue = isMultilineStringValue;
6
+ exports.formatStringLiteral = formatStringLiteral;
7
+ exports.indentContinuationLines = indentContinuationLines;
4
8
  exports.needsQuoting = needsQuoting;
5
9
  exports.formatKey = formatKey;
6
10
  exports.escapeRegexChars = escapeRegexChars;
@@ -17,6 +21,77 @@ function escapeString(str) {
17
21
  .replace(/\n/g, '\\n')
18
22
  .replace(/\r/g, '\\r');
19
23
  }
24
+ function escapeTemplateLiteral(str) {
25
+ return str
26
+ .replace(/\\/g, '\\\\')
27
+ .replace(/\r/g, '\\r')
28
+ .replace(/`/g, '\\`')
29
+ .replace(/\$\{/g, '\\${');
30
+ }
31
+ function isMultilineStringValue(str) {
32
+ return str.includes('\n');
33
+ }
34
+ function formatStringLiteral(str) {
35
+ if (isMultilineStringValue(str)) {
36
+ return `\`${escapeTemplateLiteral(str)}\``;
37
+ }
38
+ return `'${escapeString(str)}'`;
39
+ }
40
+ function scanLine(line, state) {
41
+ for (let i = 0; i < line.length; i++) {
42
+ const ch = line[i];
43
+ switch (state) {
44
+ case 'code':
45
+ if (ch === "'")
46
+ state = 'single';
47
+ else if (ch === '"')
48
+ state = 'double';
49
+ else if (ch === '`')
50
+ state = 'template';
51
+ else if (ch === '/' && line[i + 1] === '*') {
52
+ state = 'block-comment';
53
+ i++;
54
+ }
55
+ else if (ch === '/' && line[i + 1] === '/') {
56
+ return state;
57
+ }
58
+ break;
59
+ case 'single':
60
+ case 'double':
61
+ case 'template': {
62
+ if (ch === '\\') {
63
+ i++;
64
+ }
65
+ else if ((state === 'single' && ch === "'") ||
66
+ (state === 'double' && ch === '"') ||
67
+ (state === 'template' && ch === '`')) {
68
+ state = 'code';
69
+ }
70
+ break;
71
+ }
72
+ case 'block-comment':
73
+ if (ch === '*' && line[i + 1] === '/') {
74
+ state = 'code';
75
+ i++;
76
+ }
77
+ break;
78
+ }
79
+ }
80
+ return state === 'single' || state === 'double' ? 'code' : state;
81
+ }
82
+ function indentContinuationLines(text, indent) {
83
+ const lines = text.split('\n');
84
+ if (lines.length === 1)
85
+ return text;
86
+ let state = 'code';
87
+ return lines
88
+ .map((line, index) => {
89
+ const result = index === 0 || state === 'template' ? line : `${indent}${line}`;
90
+ state = scanLine(line, state);
91
+ return result;
92
+ })
93
+ .join('\n');
94
+ }
20
95
  function needsQuoting(key) {
21
96
  return !/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(key);
22
97
  }
@@ -1 +1 @@
1
- {"version":3,"file":"string-utils.js","sourceRoot":"","sources":["../../src/codegen/string-utils.ts"],"names":[],"mappings":";;;;;;;;AAQA,sBAA6B,GAAW;IACvC,OAAO,GAAG;SACR,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC;SAC7B,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC;SAC7B,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC;SAC7B,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC;SAC7B,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACzB,CAAC;AAKD,sBAA6B,GAAW;IAEvC,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChD,CAAC;AAKD,mBAA0B,GAAW;IACpC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AAC3D,CAAC;AAKD,0BAAiC,GAAW;IAC3C,OAAO,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACnD,CAAC;AAMD,4BAAmC,KAAc;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC5E,CAAC;AAKD,gCAAuC,KAAa;IACnD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAC7D,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"string-utils.js","sourceRoot":"","sources":["../../src/codegen/string-utils.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ interface SubnodeGenerationContext {
7
7
  graph: SemanticGraph;
8
8
  nodeNameToVarName: Map<string, string>;
9
9
  expressionAnnotations?: Map<string, string>;
10
+ omitPositions?: boolean;
10
11
  }
11
12
  export interface FormatValueContext {
12
13
  expressionAnnotations?: Map<string, string>;