@openapi-flow/langchain 0.2.0 → 0.3.1

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 (235) hide show
  1. package/README.md +123 -1
  2. package/dist/arguments/analyze-api-input-answers.d.ts +3 -0
  3. package/dist/arguments/analyze-api-input-answers.js +87 -0
  4. package/dist/arguments/analyze-api-request-media-type.d.ts +4 -0
  5. package/dist/arguments/analyze-api-request-media-type.js +50 -0
  6. package/dist/arguments/extract-api-input-answers.d.ts +3 -0
  7. package/dist/arguments/extract-api-input-answers.js +4 -0
  8. package/dist/arguments/generate-api-arguments.js +43 -28
  9. package/dist/arguments/select-api-request-media-type.js +8 -37
  10. package/dist/bindings/plan-api-bindings.js +30 -23
  11. package/dist/draft/analyze-workflow-draft-edit.d.ts +4 -0
  12. package/dist/draft/analyze-workflow-draft-edit.js +84 -0
  13. package/dist/draft/generate-workflow-draft-api-call-arguments.d.ts +3 -0
  14. package/dist/draft/generate-workflow-draft-api-call-arguments.js +88 -0
  15. package/dist/draft/generate-workflow-draft-api-input-edits.d.ts +4 -0
  16. package/dist/draft/generate-workflow-draft-api-input-edits.js +58 -0
  17. package/dist/draft/generate-workflow-draft-native-node-addition.d.ts +4 -0
  18. package/dist/draft/generate-workflow-draft-native-node-addition.js +137 -0
  19. package/dist/draft/generate-workflow-draft-native-parameter-edits.d.ts +3 -0
  20. package/dist/draft/generate-workflow-draft-native-parameter-edits.js +71 -0
  21. package/dist/draft/plan-workflow-draft-api-binding-edit.d.ts +4 -0
  22. package/dist/draft/plan-workflow-draft-api-binding-edit.js +103 -0
  23. package/dist/draft/plan-workflow-draft-api-call-bindings.d.ts +3 -0
  24. package/dist/draft/plan-workflow-draft-api-call-bindings.js +114 -0
  25. package/dist/draft/plan-workflow-draft-clarification-scopes.d.ts +4 -0
  26. package/dist/draft/plan-workflow-draft-clarification-scopes.js +77 -0
  27. package/dist/draft/plan-workflow-draft-connection-edit.d.ts +4 -0
  28. package/dist/draft/plan-workflow-draft-connection-edit.js +79 -0
  29. package/dist/draft/plan-workflow-draft-native-dependencies.d.ts +4 -0
  30. package/dist/draft/plan-workflow-draft-native-dependencies.js +45 -0
  31. package/dist/draft/plan-workflow-draft-native-reference-repair.d.ts +4 -0
  32. package/dist/draft/plan-workflow-draft-native-reference-repair.js +68 -0
  33. package/dist/draft/resolve-workflow-draft-edit-proposal.d.ts +3 -0
  34. package/dist/draft/resolve-workflow-draft-edit-proposal.js +39 -0
  35. package/dist/draft/select-workflow-draft-api-binding-inputs.d.ts +4 -0
  36. package/dist/draft/select-workflow-draft-api-binding-inputs.js +83 -0
  37. package/dist/draft/select-workflow-draft-api-input-edit-targets.d.ts +4 -0
  38. package/dist/draft/select-workflow-draft-api-input-edit-targets.js +55 -0
  39. package/dist/draft/select-workflow-draft-native-node-parameter-ownership.d.ts +4 -0
  40. package/dist/draft/select-workflow-draft-native-node-parameter-ownership.js +81 -0
  41. package/dist/draft/select-workflow-draft-native-parameter-edit-targets.d.ts +3 -0
  42. package/dist/draft/select-workflow-draft-native-parameter-edit-targets.js +51 -0
  43. package/dist/draft/workflow-draft-api-binding-edit-planning-error.d.ts +5 -0
  44. package/dist/draft/workflow-draft-api-binding-edit-planning-error.js +10 -0
  45. package/dist/draft/workflow-draft-api-call-planning-error.d.ts +5 -0
  46. package/dist/draft/workflow-draft-api-call-planning-error.js +10 -0
  47. package/dist/draft/workflow-draft-api-input-edit-planning-error.d.ts +5 -0
  48. package/dist/draft/workflow-draft-api-input-edit-planning-error.js +10 -0
  49. package/dist/draft/workflow-draft-clarification-scope-planning-error.d.ts +5 -0
  50. package/dist/draft/workflow-draft-clarification-scope-planning-error.js +8 -0
  51. package/dist/draft/workflow-draft-connection-edit-planning-error.d.ts +5 -0
  52. package/dist/draft/workflow-draft-connection-edit-planning-error.js +10 -0
  53. package/dist/draft/workflow-draft-edit-planning-error.d.ts +5 -0
  54. package/dist/draft/workflow-draft-edit-planning-error.js +8 -0
  55. package/dist/draft/workflow-draft-native-node-addition-planning-error.d.ts +5 -0
  56. package/dist/draft/workflow-draft-native-node-addition-planning-error.js +10 -0
  57. package/dist/draft/workflow-draft-native-parameter-edit-planning-error.d.ts +5 -0
  58. package/dist/draft/workflow-draft-native-parameter-edit-planning-error.js +8 -0
  59. package/dist/draft/workflow-draft-native-reference-repair-planning-error.d.ts +5 -0
  60. package/dist/draft/workflow-draft-native-reference-repair-planning-error.js +8 -0
  61. package/dist/prompts/api-arguments-prompt.d.ts +1 -1
  62. package/dist/prompts/api-arguments-prompt.js +1 -1
  63. package/dist/prompts/api-bindings-prompt.d.ts +1 -1
  64. package/dist/prompts/api-bindings-prompt.js +1 -0
  65. package/dist/prompts/api-input-answers-prompt.d.ts +1 -0
  66. package/dist/prompts/api-input-answers-prompt.js +7 -0
  67. package/dist/prompts/api-request-media-type-prompt.d.ts +1 -1
  68. package/dist/prompts/api-request-media-type-prompt.js +1 -1
  69. package/dist/prompts/api-selection-analysis-prompt.d.ts +1 -0
  70. package/dist/prompts/api-selection-analysis-prompt.js +5 -0
  71. package/dist/prompts/api-selection-explanation-prompt.d.ts +1 -0
  72. package/dist/prompts/api-selection-explanation-prompt.js +1 -0
  73. package/dist/prompts/native-instance-dependencies-prompt.d.ts +1 -0
  74. package/dist/prompts/native-instance-dependencies-prompt.js +8 -0
  75. package/dist/prompts/native-node-planning-prompt.d.ts +3 -1
  76. package/dist/prompts/native-node-planning-prompt.js +14 -1
  77. package/dist/prompts/reviewable-workflow-graph-prompt.d.ts +1 -1
  78. package/dist/prompts/workflow-connections-prompt.d.ts +1 -1
  79. package/dist/prompts/workflow-connections-prompt.js +4 -1
  80. package/dist/prompts/workflow-draft-api-binding-edit-prompt.d.ts +1 -0
  81. package/dist/prompts/workflow-draft-api-binding-edit-prompt.js +9 -0
  82. package/dist/prompts/workflow-draft-api-call-planning-prompt.d.ts +3 -0
  83. package/dist/prompts/workflow-draft-api-call-planning-prompt.js +39 -0
  84. package/dist/prompts/workflow-draft-api-input-edit-prompt.d.ts +2 -0
  85. package/dist/prompts/workflow-draft-api-input-edit-prompt.js +14 -0
  86. package/dist/prompts/workflow-draft-clarification-scope-prompt.d.ts +1 -0
  87. package/dist/prompts/workflow-draft-clarification-scope-prompt.js +10 -0
  88. package/dist/prompts/workflow-draft-connection-edit-prompt.d.ts +1 -0
  89. package/dist/prompts/workflow-draft-connection-edit-prompt.js +7 -0
  90. package/dist/prompts/workflow-draft-edit-prompt.d.ts +1 -0
  91. package/dist/prompts/workflow-draft-edit-prompt.js +15 -0
  92. package/dist/prompts/workflow-draft-native-dependencies-prompt.d.ts +1 -0
  93. package/dist/prompts/workflow-draft-native-dependencies-prompt.js +5 -0
  94. package/dist/prompts/workflow-draft-native-node-addition-prompt.d.ts +2 -0
  95. package/dist/prompts/workflow-draft-native-node-addition-prompt.js +6 -0
  96. package/dist/prompts/workflow-draft-native-parameter-edit-prompt.d.ts +2 -0
  97. package/dist/prompts/workflow-draft-native-parameter-edit-prompt.js +2 -0
  98. package/dist/prompts/workflow-draft-native-reference-repair-prompt.d.ts +1 -0
  99. package/dist/prompts/workflow-draft-native-reference-repair-prompt.js +7 -0
  100. package/dist/prompts/workflow-graph-prompt.d.ts +1 -1
  101. package/dist/prompts/workflow-graph-prompt.js +2 -0
  102. package/dist/prompts/workflow-requirements-prompt.d.ts +1 -0
  103. package/dist/prompts/workflow-requirements-prompt.js +14 -0
  104. package/dist/prompts/workflow-review-suggestions-prompt.d.ts +1 -0
  105. package/dist/prompts/workflow-review-suggestions-prompt.js +4 -0
  106. package/dist/prompts/workflow-user-action-evidence-prompt.d.ts +1 -0
  107. package/dist/prompts/workflow-user-action-evidence-prompt.js +1 -0
  108. package/dist/public-api.d.ts +47 -0
  109. package/dist/public-api.js +34 -0
  110. package/dist/requirements/clarify-workflow-requirements.d.ts +4 -0
  111. package/dist/requirements/clarify-workflow-requirements.js +53 -0
  112. package/dist/requirements/resolve-workflow-requirements-evidence.d.ts +4 -0
  113. package/dist/requirements/resolve-workflow-requirements-evidence.js +58 -0
  114. package/dist/review/suggest-workflow-review-follow-ups.d.ts +4 -0
  115. package/dist/review/suggest-workflow-review-follow-ups.js +87 -0
  116. package/dist/review/workflow-review-suggestion-planning-error.d.ts +5 -0
  117. package/dist/review/workflow-review-suggestion-planning-error.js +8 -0
  118. package/dist/schemas/api-binding-plan-schema.d.ts +7 -2
  119. package/dist/schemas/api-binding-plan-schema.js +11 -1
  120. package/dist/schemas/api-input-answer-source-schema.d.ts +16 -0
  121. package/dist/schemas/api-input-answer-source-schema.js +28 -0
  122. package/dist/schemas/api-literal-generation-output-schema.d.ts +11 -0
  123. package/dist/schemas/api-literal-generation-output-schema.js +20 -0
  124. package/dist/schemas/api-request-media-type-schema.d.ts +5 -2
  125. package/dist/schemas/api-request-media-type-schema.js +14 -2
  126. package/dist/schemas/api-selection-analysis-schema.d.ts +41 -0
  127. package/dist/schemas/api-selection-analysis-schema.js +23 -0
  128. package/dist/schemas/api-selection-options-schema.d.ts +4 -0
  129. package/dist/schemas/api-selection-options-schema.js +4 -0
  130. package/dist/schemas/api-selection-schema.d.ts +14 -1
  131. package/dist/schemas/api-selection-schema.js +6 -5
  132. package/dist/schemas/create-workflow-message-evidence-selection-schema.d.ts +16 -0
  133. package/dist/schemas/create-workflow-message-evidence-selection-schema.js +22 -0
  134. package/dist/schemas/native-node-explanation-schema.d.ts +5 -0
  135. package/dist/schemas/native-node-explanation-schema.js +9 -0
  136. package/dist/schemas/native-node-parameter-contract.d.ts +3 -0
  137. package/dist/schemas/native-node-parameter-contract.js +30 -0
  138. package/dist/schemas/native-node-planning-contract.d.ts +3 -0
  139. package/dist/schemas/native-node-planning-contract.js +44 -0
  140. package/dist/schemas/request-media-selection-options-schema.d.ts +4 -0
  141. package/dist/schemas/request-media-selection-options-schema.js +4 -0
  142. package/dist/schemas/reviewable-workflow-graph-schema.d.ts +4 -2
  143. package/dist/schemas/reviewable-workflow-graph-schema.js +13 -1
  144. package/dist/schemas/serialize-structured-output-schema.d.ts +5 -0
  145. package/dist/schemas/serialize-structured-output-schema.js +10 -0
  146. package/dist/schemas/serialize-workflow-requirements-schema.d.ts +4 -0
  147. package/dist/schemas/serialize-workflow-requirements-schema.js +5 -0
  148. package/dist/schemas/with-api-selection-explanation.d.ts +10 -0
  149. package/dist/schemas/with-api-selection-explanation.js +15 -0
  150. package/dist/schemas/workflow-connection-explanation-schema.d.ts +5 -0
  151. package/dist/schemas/workflow-connection-explanation-schema.js +9 -0
  152. package/dist/schemas/workflow-draft-edit-schema.d.ts +3 -0
  153. package/dist/schemas/workflow-draft-edit-schema.js +17 -0
  154. package/dist/schemas/workflow-graph-explanation-schema.d.ts +5 -0
  155. package/dist/schemas/workflow-graph-explanation-schema.js +9 -0
  156. package/dist/schemas/workflow-graph-proposal-schema.d.ts +2 -2
  157. package/dist/schemas/workflow-graph-proposal-schema.js +14 -7
  158. package/dist/schemas/workflow-planning-evidence-schemas.d.ts +20 -0
  159. package/dist/schemas/workflow-planning-evidence-schemas.js +44 -0
  160. package/dist/schemas/workflow-requirements-schema.d.ts +3 -0
  161. package/dist/schemas/workflow-requirements-schema.js +6 -0
  162. package/dist/schemas/workflow-review-suggestions-schema.d.ts +4 -0
  163. package/dist/schemas/workflow-review-suggestions-schema.js +18 -0
  164. package/dist/selection/analyze-api-selection.d.ts +4 -0
  165. package/dist/selection/analyze-api-selection.js +117 -0
  166. package/dist/selection/resolve-api-selection-options.d.ts +3 -0
  167. package/dist/selection/resolve-api-selection-options.js +6 -0
  168. package/dist/selection/select-api-operations.d.ts +1 -1
  169. package/dist/selection/select-api-operations.js +39 -6
  170. package/dist/types/api-input-answers.d.ts +16 -0
  171. package/dist/types/api-input-answers.js +1 -0
  172. package/dist/types/api-selection-analysis.d.ts +3 -0
  173. package/dist/types/api-selection-analysis.js +1 -0
  174. package/dist/types/argument-generation.d.ts +11 -5
  175. package/dist/types/binding-planning.d.ts +7 -5
  176. package/dist/types/native-node-planning.d.ts +67 -16
  177. package/dist/types/operation-selection.d.ts +5 -1
  178. package/dist/types/request-media-selection.d.ts +7 -2
  179. package/dist/types/reviewable-workflow-planning.d.ts +11 -2
  180. package/dist/types/structured-output-schema.d.ts +3 -0
  181. package/dist/types/structured-output-schema.js +1 -0
  182. package/dist/types/workflow-clarification.d.ts +23 -0
  183. package/dist/types/workflow-clarification.js +1 -0
  184. package/dist/types/workflow-draft-api-binding-edit.d.ts +9 -0
  185. package/dist/types/workflow-draft-api-binding-edit.js +1 -0
  186. package/dist/types/workflow-draft-api-call-planning.d.ts +15 -0
  187. package/dist/types/workflow-draft-api-call-planning.js +1 -0
  188. package/dist/types/workflow-draft-api-input-edit.d.ts +13 -0
  189. package/dist/types/workflow-draft-api-input-edit.js +1 -0
  190. package/dist/types/workflow-draft-clarification.d.ts +9 -0
  191. package/dist/types/workflow-draft-clarification.js +1 -0
  192. package/dist/types/workflow-draft-connection-edit.d.ts +9 -0
  193. package/dist/types/workflow-draft-connection-edit.js +1 -0
  194. package/dist/types/workflow-draft-edit.d.ts +16 -0
  195. package/dist/types/workflow-draft-edit.js +1 -0
  196. package/dist/types/workflow-draft-native-node-addition.d.ts +18 -0
  197. package/dist/types/workflow-draft-native-node-addition.js +1 -0
  198. package/dist/types/workflow-draft-native-parameter-edit.d.ts +13 -0
  199. package/dist/types/workflow-draft-native-parameter-edit.js +1 -0
  200. package/dist/types/workflow-draft-native-reference-repair.d.ts +9 -0
  201. package/dist/types/workflow-draft-native-reference-repair.js +1 -0
  202. package/dist/types/workflow-message-evidence-selection.d.ts +6 -0
  203. package/dist/types/workflow-message-evidence-selection.js +1 -0
  204. package/dist/types/workflow-orchestration.d.ts +13 -15
  205. package/dist/types/workflow-planning.d.ts +19 -7
  206. package/dist/types/workflow-review-suggestions.d.ts +12 -0
  207. package/dist/types/workflow-review-suggestions.js +1 -0
  208. package/dist/workflow/generate-native-node-parameters.d.ts +4 -0
  209. package/dist/workflow/generate-native-node-parameters.js +87 -0
  210. package/dist/workflow/orchestrate-workflow.js +2 -2
  211. package/dist/workflow/plan-native-instance-dependencies.d.ts +4 -0
  212. package/dist/workflow/plan-native-instance-dependencies.js +45 -0
  213. package/dist/workflow/plan-native-nodes.js +63 -66
  214. package/dist/workflow/plan-reviewable-workflow-graph.js +33 -64
  215. package/dist/workflow/plan-workflow-connections.js +35 -30
  216. package/dist/workflow/plan-workflow-graph.js +45 -64
  217. package/dist/workflow/resolve-native-node-parameter-source.d.ts +4 -0
  218. package/dist/workflow/resolve-native-node-parameter-source.js +7 -0
  219. package/dist/workflow/resolve-native-node-planning-output.d.ts +3 -0
  220. package/dist/workflow/resolve-native-node-planning-output.js +33 -0
  221. package/dist/workflow/resolve-workflow-connection-output.d.ts +3 -0
  222. package/dist/workflow/resolve-workflow-connection-output.js +22 -0
  223. package/dist/workflow/resolve-workflow-graph-output.d.ts +5 -0
  224. package/dist/workflow/resolve-workflow-graph-output.js +69 -0
  225. package/dist/workflow/select-native-node-instances.d.ts +4 -0
  226. package/dist/workflow/select-native-node-instances.js +57 -0
  227. package/package.json +7 -4
  228. package/dist/schemas/native-node-plan-schema.d.ts +0 -4
  229. package/dist/schemas/native-node-plan-schema.js +0 -26
  230. package/dist/workflow/assemble-native-node-materials.d.ts +0 -3
  231. package/dist/workflow/assemble-native-node-materials.js +0 -8
  232. package/dist/workflow/create-prepared-native-node-materials.d.ts +0 -4
  233. package/dist/workflow/create-prepared-native-node-materials.js +0 -15
  234. package/dist/workflow/prepare-workflow-connection-materials.d.ts +0 -3
  235. package/dist/workflow/prepare-workflow-connection-materials.js +0 -66
@@ -1,26 +0,0 @@
1
- import { z } from 'zod';
2
- export function createNativeNodePlanSchema(capabilities) {
3
- if (!capabilities.length)
4
- throw new Error('native planning schema requires supplied capabilities');
5
- const nodes = capabilities.map((capability) => z.strictObject({
6
- id: z
7
- .string()
8
- .min(1)
9
- .describe('Unique instance identity used by data references. Never repeat a supplied API or prepared native ID. Multiple instances of one capability may have different IDs.'),
10
- capability: z.literal(capability.name).describe(capability.description),
11
- parameters: capability.parametersSchema,
12
- }));
13
- return z.strictObject({
14
- nativeNodes: z
15
- .array(z.union([nodes[0], ...nodes.slice(1)]))
16
- .describe('Only new instances required by the scenario, with values following the supplied implementation schema. No ports, output schemas, code or n8n JSON.'),
17
- gaps: z
18
- .array(z.strictObject({
19
- description: z
20
- .string()
21
- .min(1)
22
- .describe('Describe a requested native behavior that cannot be represented and the missing capability or contract. Never a reminder to generate API requests, bindings or connections later.'),
23
- }))
24
- .describe('Blocking unmet native behavior only. Return [] when requested native behavior is representable. Selected OAS API calls are implemented separately; their bindings, request arguments and connections belong to later stages, not these gaps. Never invent missing data or substitute a capability.'),
25
- });
26
- }
@@ -1,3 +0,0 @@
1
- import type { PlannedNativeNode } from '@openapi-flow/core';
2
- /** Prepared values belong to the host; model output contains only additions. */
3
- export declare function assembleNativeNodeMaterials(prepared: PlannedNativeNode[], additional: PlannedNativeNode[]): PlannedNativeNode[];
@@ -1,8 +0,0 @@
1
- /** Prepared values belong to the host; model output contains only additions. */
2
- export function assembleNativeNodeMaterials(prepared, additional) {
3
- const preparedIds = new Set(prepared.map((node) => node.id));
4
- for (const node of additional)
5
- if (preparedIds.has(node.id))
6
- throw new Error(`additionalNativeNodes[${node.id}] duplicates preparedNativeNodes; return only new nodes, not existing materials`);
7
- return [...prepared, ...additional];
8
- }
@@ -1,4 +0,0 @@
1
- import type { PlannedNativeNode, WorkflowCapability } from '@openapi-flow/core';
2
- import type { PreparedNativeNodeMaterial } from '../types/workflow-planning.js';
3
- /** Expose existing implementation-owned ports, not descriptions for the model to guess. */
4
- export declare function createPreparedNativeNodeMaterials(nodes: PlannedNativeNode[], capabilities: WorkflowCapability[]): PreparedNativeNodeMaterial[];
@@ -1,15 +0,0 @@
1
- import { parseNativeNodeParameters } from '@openapi-flow/core';
2
- /** Expose existing implementation-owned ports, not descriptions for the model to guess. */
3
- export function createPreparedNativeNodeMaterials(nodes, capabilities) {
4
- return nodes.map((planned) => {
5
- const capability = capabilities.find((item) => item.name === planned.capability);
6
- if (!capability)
7
- throw new Error(`prepared node ${planned.id}: unknown capability ${planned.capability}`);
8
- const parameters = parseNativeNodeParameters(planned, capability);
9
- return {
10
- ...planned,
11
- inputPorts: capability.inputPorts(parameters),
12
- outputPorts: capability.outputPorts(parameters),
13
- };
14
- });
15
- }
@@ -1,3 +0,0 @@
1
- import type { PlanWorkflowConnectionsInput, WorkflowConnectionMaterials } from '../types/workflow-orchestration.js';
2
- /** Validate immutable supplied data before paying for any orchestration model call. */
3
- export declare function prepareWorkflowConnectionMaterials(input: PlanWorkflowConnectionsInput): WorkflowConnectionMaterials;
@@ -1,66 +0,0 @@
1
- import { createReviewableNodeContracts, createNativeOutputContracts, validateWorkflowEdges, validateApiArguments, validateApiBindingAssignments, validateNativeApiResponseReferences, } from '@openapi-flow/core';
2
- /** Validate immutable supplied data before paying for any orchestration model call. */
3
- export function prepareWorkflowConnectionMaterials(input) {
4
- const materials = input.materials ?? [];
5
- const capabilities = input.capabilities ?? [];
6
- const nativeNodes = input.nativeNodes ?? [];
7
- const gaps = input.gaps ?? [];
8
- const edges = input.edges ?? [];
9
- validateNativeApiResponseReferences({
10
- nativeNodes,
11
- capabilities,
12
- apiCallIds: materials.map((material) => material.status === 'ready' ? material.arguments.callId : material.callId),
13
- });
14
- const nativeOutputs = createNativeOutputContracts({
15
- nativeNodes,
16
- capabilities,
17
- });
18
- for (const material of materials) {
19
- if (material.status !== 'ready')
20
- continue;
21
- const args = material.arguments;
22
- const validation = validateApiArguments({
23
- operation: material.operation,
24
- ...args,
25
- });
26
- if (args.unresolvedInputs.length || !validation.valid)
27
- throw new Error(`materials[${args.callId}] has unresolved OAS request inputs`);
28
- }
29
- if (materials.length)
30
- validateApiBindingAssignments({
31
- nativeOutputs,
32
- materials: materials.map((material) => ({
33
- operation: material.operation,
34
- callId: material.status === 'ready'
35
- ? material.arguments.callId
36
- : material.callId,
37
- requestMediaType: material.status === 'ready'
38
- ? material.arguments.requestMediaType
39
- : material.requestMediaType,
40
- })),
41
- calls: materials.map((material) => ({
42
- callId: material.status === 'ready'
43
- ? material.arguments.callId
44
- : material.callId,
45
- bindings: material.status === 'ready'
46
- ? material.arguments.bindings
47
- : material.bindings,
48
- })),
49
- });
50
- const plan = {
51
- nativeNodes,
52
- gaps,
53
- edges,
54
- starts: [],
55
- blockedCalls: materials.flatMap((material) => material.status === 'blocked'
56
- ? [{ callId: material.callId, gapIds: material.gapIds }]
57
- : []),
58
- };
59
- const contracts = createReviewableNodeContracts({
60
- materials,
61
- capabilities,
62
- plan,
63
- });
64
- validateWorkflowEdges({ contracts, edges });
65
- return { materials, capabilities, nativeNodes, gaps, edges, contracts };
66
- }