@synergenius/flow-weaver 0.2.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 (466) hide show
  1. package/LICENSE +122 -0
  2. package/README.md +315 -0
  3. package/dist/annotation-generator.d.ts +45 -0
  4. package/dist/annotation-generator.js +557 -0
  5. package/dist/api/builder.d.ts +223 -0
  6. package/dist/api/builder.js +345 -0
  7. package/dist/api/compile.d.ts +92 -0
  8. package/dist/api/compile.js +149 -0
  9. package/dist/api/extract-types.d.ts +29 -0
  10. package/dist/api/extract-types.js +57 -0
  11. package/dist/api/generate-in-place.d.ts +73 -0
  12. package/dist/api/generate-in-place.js +1353 -0
  13. package/dist/api/generate.d.ts +83 -0
  14. package/dist/api/generate.js +510 -0
  15. package/dist/api/helpers.d.ts +248 -0
  16. package/dist/api/helpers.js +285 -0
  17. package/dist/api/index.d.ts +46 -0
  18. package/dist/api/index.js +45 -0
  19. package/dist/api/inline-runtime.d.ts +27 -0
  20. package/dist/api/inline-runtime.js +551 -0
  21. package/dist/api/manipulation/connections.d.ts +79 -0
  22. package/dist/api/manipulation/connections.js +151 -0
  23. package/dist/api/manipulation/index.d.ts +34 -0
  24. package/dist/api/manipulation/index.js +41 -0
  25. package/dist/api/manipulation/node-types.d.ts +123 -0
  26. package/dist/api/manipulation/node-types.js +200 -0
  27. package/dist/api/manipulation/nodes.d.ts +144 -0
  28. package/dist/api/manipulation/nodes.js +333 -0
  29. package/dist/api/manipulation/ports.d.ts +59 -0
  30. package/dist/api/manipulation/ports.js +228 -0
  31. package/dist/api/manipulation/scopes.d.ts +52 -0
  32. package/dist/api/manipulation/scopes.js +156 -0
  33. package/dist/api/manipulation/validation.d.ts +6 -0
  34. package/dist/api/manipulation/validation.js +6 -0
  35. package/dist/api/manipulation/workflow.d.ts +81 -0
  36. package/dist/api/manipulation/workflow.js +116 -0
  37. package/dist/api/manipulation.d.ts +8 -0
  38. package/dist/api/manipulation.js +8 -0
  39. package/dist/api/parse.d.ts +48 -0
  40. package/dist/api/parse.js +110 -0
  41. package/dist/api/patterns.d.ts +112 -0
  42. package/dist/api/patterns.js +306 -0
  43. package/dist/api/query.d.ts +429 -0
  44. package/dist/api/query.js +816 -0
  45. package/dist/api/templates.d.ts +98 -0
  46. package/dist/api/templates.js +117 -0
  47. package/dist/api/transform.d.ts +31 -0
  48. package/dist/api/transform.js +40 -0
  49. package/dist/api/validate.d.ts +25 -0
  50. package/dist/api/validate.js +39 -0
  51. package/dist/api/workflow-file-operations.d.ts +29 -0
  52. package/dist/api/workflow-file-operations.js +180 -0
  53. package/dist/ast/builder.d.ts +210 -0
  54. package/dist/ast/builder.js +395 -0
  55. package/dist/ast/index.d.ts +5 -0
  56. package/dist/ast/index.js +5 -0
  57. package/dist/ast/serialization-node.d.ts +6 -0
  58. package/dist/ast/serialization-node.js +30 -0
  59. package/dist/ast/serialization.d.ts +43 -0
  60. package/dist/ast/serialization.js +134 -0
  61. package/dist/ast/types.d.ts +852 -0
  62. package/dist/ast/types.js +2 -0
  63. package/dist/ast/workflow-utils.d.ts +54 -0
  64. package/dist/ast/workflow-utils.js +114 -0
  65. package/dist/body-generator.d.ts +31 -0
  66. package/dist/body-generator.js +35 -0
  67. package/dist/built-in-nodes/delay.d.ts +11 -0
  68. package/dist/built-in-nodes/delay.js +29 -0
  69. package/dist/built-in-nodes/index.d.ts +5 -0
  70. package/dist/built-in-nodes/index.js +4 -0
  71. package/dist/built-in-nodes/invoke-workflow.d.ts +13 -0
  72. package/dist/built-in-nodes/invoke-workflow.js +25 -0
  73. package/dist/built-in-nodes/mock-types.d.ts +18 -0
  74. package/dist/built-in-nodes/mock-types.js +12 -0
  75. package/dist/built-in-nodes/wait-for-event.d.ts +13 -0
  76. package/dist/built-in-nodes/wait-for-event.js +25 -0
  77. package/dist/chevrotain-parser/connect-parser.d.ts +24 -0
  78. package/dist/chevrotain-parser/connect-parser.js +98 -0
  79. package/dist/chevrotain-parser/grammar-diagrams.d.ts +29 -0
  80. package/dist/chevrotain-parser/grammar-diagrams.js +264 -0
  81. package/dist/chevrotain-parser/index.d.ts +25 -0
  82. package/dist/chevrotain-parser/index.js +27 -0
  83. package/dist/chevrotain-parser/map-parser.d.ts +33 -0
  84. package/dist/chevrotain-parser/map-parser.js +130 -0
  85. package/dist/chevrotain-parser/node-parser.d.ts +36 -0
  86. package/dist/chevrotain-parser/node-parser.js +466 -0
  87. package/dist/chevrotain-parser/path-parser.d.ts +28 -0
  88. package/dist/chevrotain-parser/path-parser.js +118 -0
  89. package/dist/chevrotain-parser/port-parser.d.ts +36 -0
  90. package/dist/chevrotain-parser/port-parser.js +442 -0
  91. package/dist/chevrotain-parser/position-parser.d.ts +20 -0
  92. package/dist/chevrotain-parser/position-parser.js +83 -0
  93. package/dist/chevrotain-parser/scope-parser.d.ts +19 -0
  94. package/dist/chevrotain-parser/scope-parser.js +104 -0
  95. package/dist/chevrotain-parser/tokens.d.ts +78 -0
  96. package/dist/chevrotain-parser/tokens.js +384 -0
  97. package/dist/chevrotain-parser/trigger-cancel-parser.d.ts +50 -0
  98. package/dist/chevrotain-parser/trigger-cancel-parser.js +282 -0
  99. package/dist/cli/commands/changelog.d.ts +13 -0
  100. package/dist/cli/commands/changelog.js +135 -0
  101. package/dist/cli/commands/compile.d.ts +64 -0
  102. package/dist/cli/commands/compile.js +278 -0
  103. package/dist/cli/commands/create.d.ts +33 -0
  104. package/dist/cli/commands/create.js +147 -0
  105. package/dist/cli/commands/describe.d.ts +68 -0
  106. package/dist/cli/commands/describe.js +377 -0
  107. package/dist/cli/commands/dev.d.ts +32 -0
  108. package/dist/cli/commands/dev.js +384 -0
  109. package/dist/cli/commands/diagram.d.ts +13 -0
  110. package/dist/cli/commands/diagram.js +33 -0
  111. package/dist/cli/commands/diff.d.ts +11 -0
  112. package/dist/cli/commands/diff.js +59 -0
  113. package/dist/cli/commands/doctor.d.ts +57 -0
  114. package/dist/cli/commands/doctor.js +719 -0
  115. package/dist/cli/commands/export.d.ts +57 -0
  116. package/dist/cli/commands/export.js +163 -0
  117. package/dist/cli/commands/grammar.d.ts +9 -0
  118. package/dist/cli/commands/grammar.js +39 -0
  119. package/dist/cli/commands/init.d.ts +59 -0
  120. package/dist/cli/commands/init.js +435 -0
  121. package/dist/cli/commands/listen.d.ts +16 -0
  122. package/dist/cli/commands/listen.js +39 -0
  123. package/dist/cli/commands/market.d.ts +52 -0
  124. package/dist/cli/commands/market.js +436 -0
  125. package/dist/cli/commands/migrate.d.ts +13 -0
  126. package/dist/cli/commands/migrate.js +89 -0
  127. package/dist/cli/commands/openapi.d.ts +37 -0
  128. package/dist/cli/commands/openapi.js +67 -0
  129. package/dist/cli/commands/pattern.d.ts +34 -0
  130. package/dist/cli/commands/pattern.js +185 -0
  131. package/dist/cli/commands/plugin.d.ts +16 -0
  132. package/dist/cli/commands/plugin.js +176 -0
  133. package/dist/cli/commands/run.d.ts +49 -0
  134. package/dist/cli/commands/run.js +191 -0
  135. package/dist/cli/commands/serve.d.ts +45 -0
  136. package/dist/cli/commands/serve.js +81 -0
  137. package/dist/cli/commands/templates.d.ts +8 -0
  138. package/dist/cli/commands/templates.js +54 -0
  139. package/dist/cli/commands/ui.d.ts +16 -0
  140. package/dist/cli/commands/ui.js +130 -0
  141. package/dist/cli/commands/validate.d.ts +12 -0
  142. package/dist/cli/commands/validate.js +247 -0
  143. package/dist/cli/commands/watch.d.ts +9 -0
  144. package/dist/cli/commands/watch.js +70 -0
  145. package/dist/cli/flow-weaver.mjs +92924 -0
  146. package/dist/cli/index.d.ts +9 -0
  147. package/dist/cli/index.js +742 -0
  148. package/dist/cli/templates/ai/mock-provider.d.ts +7 -0
  149. package/dist/cli/templates/ai/mock-provider.js +64 -0
  150. package/dist/cli/templates/ai/types.d.ts +47 -0
  151. package/dist/cli/templates/ai/types.js +5 -0
  152. package/dist/cli/templates/approvals/index.d.ts +15 -0
  153. package/dist/cli/templates/approvals/index.js +241 -0
  154. package/dist/cli/templates/index.d.ts +102 -0
  155. package/dist/cli/templates/index.js +101 -0
  156. package/dist/cli/templates/nodes/agent-router.d.ts +3 -0
  157. package/dist/cli/templates/nodes/agent-router.js +114 -0
  158. package/dist/cli/templates/nodes/aggregator.d.ts +7 -0
  159. package/dist/cli/templates/nodes/aggregator.js +63 -0
  160. package/dist/cli/templates/nodes/conversation-memory.d.ts +3 -0
  161. package/dist/cli/templates/nodes/conversation-memory.js +85 -0
  162. package/dist/cli/templates/nodes/http.d.ts +7 -0
  163. package/dist/cli/templates/nodes/http.js +80 -0
  164. package/dist/cli/templates/nodes/human-approval.d.ts +3 -0
  165. package/dist/cli/templates/nodes/human-approval.js +110 -0
  166. package/dist/cli/templates/nodes/json-extractor.d.ts +3 -0
  167. package/dist/cli/templates/nodes/json-extractor.js +119 -0
  168. package/dist/cli/templates/nodes/llm-call.d.ts +3 -0
  169. package/dist/cli/templates/nodes/llm-call.js +106 -0
  170. package/dist/cli/templates/nodes/prompt-template.d.ts +3 -0
  171. package/dist/cli/templates/nodes/prompt-template.js +52 -0
  172. package/dist/cli/templates/nodes/rag-retriever.d.ts +3 -0
  173. package/dist/cli/templates/nodes/rag-retriever.js +128 -0
  174. package/dist/cli/templates/nodes/tool-executor.d.ts +3 -0
  175. package/dist/cli/templates/nodes/tool-executor.js +108 -0
  176. package/dist/cli/templates/nodes/transformer.d.ts +7 -0
  177. package/dist/cli/templates/nodes/transformer.js +68 -0
  178. package/dist/cli/templates/nodes/validator.d.ts +7 -0
  179. package/dist/cli/templates/nodes/validator.js +62 -0
  180. package/dist/cli/templates/providers/index.d.ts +14 -0
  181. package/dist/cli/templates/providers/index.js +239 -0
  182. package/dist/cli/templates/shared/approval-types.d.ts +9 -0
  183. package/dist/cli/templates/shared/approval-types.js +31 -0
  184. package/dist/cli/templates/shared/llm-types.d.ts +15 -0
  185. package/dist/cli/templates/shared/llm-types.js +104 -0
  186. package/dist/cli/templates/workflows/aggregator.d.ts +7 -0
  187. package/dist/cli/templates/workflows/aggregator.js +104 -0
  188. package/dist/cli/templates/workflows/ai-agent-durable.d.ts +8 -0
  189. package/dist/cli/templates/workflows/ai-agent-durable.js +338 -0
  190. package/dist/cli/templates/workflows/ai-agent.d.ts +31 -0
  191. package/dist/cli/templates/workflows/ai-agent.js +326 -0
  192. package/dist/cli/templates/workflows/ai-chat.d.ts +7 -0
  193. package/dist/cli/templates/workflows/ai-chat.js +169 -0
  194. package/dist/cli/templates/workflows/ai-pipeline-durable.d.ts +8 -0
  195. package/dist/cli/templates/workflows/ai-pipeline-durable.js +330 -0
  196. package/dist/cli/templates/workflows/ai-rag.d.ts +7 -0
  197. package/dist/cli/templates/workflows/ai-rag.js +186 -0
  198. package/dist/cli/templates/workflows/ai-react.d.ts +7 -0
  199. package/dist/cli/templates/workflows/ai-react.js +294 -0
  200. package/dist/cli/templates/workflows/conditional.d.ts +12 -0
  201. package/dist/cli/templates/workflows/conditional.js +142 -0
  202. package/dist/cli/templates/workflows/error-handler.d.ts +7 -0
  203. package/dist/cli/templates/workflows/error-handler.js +147 -0
  204. package/dist/cli/templates/workflows/foreach.d.ts +7 -0
  205. package/dist/cli/templates/workflows/foreach.js +143 -0
  206. package/dist/cli/templates/workflows/sequential.d.ts +7 -0
  207. package/dist/cli/templates/workflows/sequential.js +198 -0
  208. package/dist/cli/templates/workflows/webhook.d.ts +7 -0
  209. package/dist/cli/templates/workflows/webhook.js +161 -0
  210. package/dist/cli/utils/logger.d.ts +15 -0
  211. package/dist/cli/utils/logger.js +46 -0
  212. package/dist/constants.d.ts +100 -0
  213. package/dist/constants.js +125 -0
  214. package/dist/defaults.d.ts +3 -0
  215. package/dist/defaults.js +3 -0
  216. package/dist/deployment/config/defaults.d.ts +29 -0
  217. package/dist/deployment/config/defaults.js +98 -0
  218. package/dist/deployment/config/loader.d.ts +24 -0
  219. package/dist/deployment/config/loader.js +236 -0
  220. package/dist/deployment/config/types.d.ts +117 -0
  221. package/dist/deployment/config/types.js +5 -0
  222. package/dist/deployment/core/adapters.d.ts +90 -0
  223. package/dist/deployment/core/adapters.js +251 -0
  224. package/dist/deployment/core/executor.d.ts +62 -0
  225. package/dist/deployment/core/executor.js +197 -0
  226. package/dist/deployment/core/formatters.d.ts +57 -0
  227. package/dist/deployment/core/formatters.js +170 -0
  228. package/dist/deployment/index.d.ts +31 -0
  229. package/dist/deployment/index.js +48 -0
  230. package/dist/deployment/openapi/generator.d.ts +146 -0
  231. package/dist/deployment/openapi/generator.js +347 -0
  232. package/dist/deployment/openapi/schema-converter.d.ts +49 -0
  233. package/dist/deployment/openapi/schema-converter.js +192 -0
  234. package/dist/deployment/targets/base.d.ts +316 -0
  235. package/dist/deployment/targets/base.js +823 -0
  236. package/dist/deployment/targets/cloudflare.d.ts +23 -0
  237. package/dist/deployment/targets/cloudflare.js +1125 -0
  238. package/dist/deployment/targets/inngest.d.ts +38 -0
  239. package/dist/deployment/targets/inngest.js +926 -0
  240. package/dist/deployment/targets/lambda.d.ts +23 -0
  241. package/dist/deployment/targets/lambda.js +1289 -0
  242. package/dist/deployment/targets/vercel.d.ts +23 -0
  243. package/dist/deployment/targets/vercel.js +886 -0
  244. package/dist/deployment/types.d.ts +183 -0
  245. package/dist/deployment/types.js +8 -0
  246. package/dist/diagram/geometry.d.ts +26 -0
  247. package/dist/diagram/geometry.js +850 -0
  248. package/dist/diagram/index.d.ts +16 -0
  249. package/dist/diagram/index.js +42 -0
  250. package/dist/diagram/layout.d.ts +11 -0
  251. package/dist/diagram/layout.js +143 -0
  252. package/dist/diagram/orthogonal-router.d.ts +79 -0
  253. package/dist/diagram/orthogonal-router.js +568 -0
  254. package/dist/diagram/renderer.d.ts +3 -0
  255. package/dist/diagram/renderer.js +207 -0
  256. package/dist/diagram/theme.d.ts +20 -0
  257. package/dist/diagram/theme.js +189 -0
  258. package/dist/diagram/types.d.ts +70 -0
  259. package/dist/diagram/types.js +2 -0
  260. package/dist/diff/WorkflowDiffer.d.ts +13 -0
  261. package/dist/diff/WorkflowDiffer.js +429 -0
  262. package/dist/diff/formatDiff.d.ts +10 -0
  263. package/dist/diff/formatDiff.js +220 -0
  264. package/dist/diff/impact.d.ts +29 -0
  265. package/dist/diff/impact.js +119 -0
  266. package/dist/diff/index.d.ts +10 -0
  267. package/dist/diff/index.js +9 -0
  268. package/dist/diff/types.d.ts +138 -0
  269. package/dist/diff/types.js +35 -0
  270. package/dist/doc-metadata/extractors/annotations.d.ts +56 -0
  271. package/dist/doc-metadata/extractors/annotations.js +337 -0
  272. package/dist/doc-metadata/extractors/cli-commands.d.ts +17 -0
  273. package/dist/doc-metadata/extractors/cli-commands.js +355 -0
  274. package/dist/doc-metadata/extractors/mcp-tools.d.ts +16 -0
  275. package/dist/doc-metadata/extractors/mcp-tools.js +689 -0
  276. package/dist/doc-metadata/extractors/plugin-api.d.ts +19 -0
  277. package/dist/doc-metadata/extractors/plugin-api.js +279 -0
  278. package/dist/doc-metadata/index.d.ts +5 -0
  279. package/dist/doc-metadata/index.js +4 -0
  280. package/dist/doc-metadata/types.d.ts +120 -0
  281. package/dist/doc-metadata/types.js +5 -0
  282. package/dist/editor-completions/annotationValues.d.ts +12 -0
  283. package/dist/editor-completions/annotationValues.js +138 -0
  284. package/dist/editor-completions/contextParser.d.ts +40 -0
  285. package/dist/editor-completions/contextParser.js +410 -0
  286. package/dist/editor-completions/dataTypes.d.ts +16 -0
  287. package/dist/editor-completions/dataTypes.js +95 -0
  288. package/dist/editor-completions/goToDefinition.d.ts +27 -0
  289. package/dist/editor-completions/goToDefinition.js +112 -0
  290. package/dist/editor-completions/index.d.ts +39 -0
  291. package/dist/editor-completions/index.js +181 -0
  292. package/dist/editor-completions/jsDocAnnotations.d.ts +29 -0
  293. package/dist/editor-completions/jsDocAnnotations.js +357 -0
  294. package/dist/editor-completions/modifierCompletions.d.ts +17 -0
  295. package/dist/editor-completions/modifierCompletions.js +197 -0
  296. package/dist/editor-completions/types.d.ts +119 -0
  297. package/dist/editor-completions/types.js +8 -0
  298. package/dist/export/index.d.ts +68 -0
  299. package/dist/export/index.js +1074 -0
  300. package/dist/export/templates.d.ts +24 -0
  301. package/dist/export/templates.js +186 -0
  302. package/dist/friendly-errors.d.ts +35 -0
  303. package/dist/friendly-errors.js +375 -0
  304. package/dist/function-like.d.ts +38 -0
  305. package/dist/function-like.js +83 -0
  306. package/dist/generated-branding.d.ts +16 -0
  307. package/dist/generated-branding.js +22 -0
  308. package/dist/generator/async-detection.d.ts +27 -0
  309. package/dist/generator/async-detection.js +56 -0
  310. package/dist/generator/code-utils.d.ts +76 -0
  311. package/dist/generator/code-utils.js +410 -0
  312. package/dist/generator/control-flow.d.ts +54 -0
  313. package/dist/generator/control-flow.js +284 -0
  314. package/dist/generator/inngest.d.ts +53 -0
  315. package/dist/generator/inngest.js +1126 -0
  316. package/dist/generator/scope-function-generator.d.ts +78 -0
  317. package/dist/generator/scope-function-generator.js +360 -0
  318. package/dist/generator/unified.d.ts +42 -0
  319. package/dist/generator/unified.js +1504 -0
  320. package/dist/generator.d.ts +54 -0
  321. package/dist/generator.js +100 -0
  322. package/dist/index.d.ts +85 -0
  323. package/dist/index.js +89 -0
  324. package/dist/jsdoc-parser.d.ts +308 -0
  325. package/dist/jsdoc-parser.js +923 -0
  326. package/dist/jsdoc-port-sync/constants.d.ts +41 -0
  327. package/dist/jsdoc-port-sync/constants.js +103 -0
  328. package/dist/jsdoc-port-sync/diff.d.ts +76 -0
  329. package/dist/jsdoc-port-sync/diff.js +319 -0
  330. package/dist/jsdoc-port-sync/index.d.ts +42 -0
  331. package/dist/jsdoc-port-sync/index.js +45 -0
  332. package/dist/jsdoc-port-sync/port-parser.d.ts +68 -0
  333. package/dist/jsdoc-port-sync/port-parser.js +579 -0
  334. package/dist/jsdoc-port-sync/rename.d.ts +21 -0
  335. package/dist/jsdoc-port-sync/rename.js +256 -0
  336. package/dist/jsdoc-port-sync/signature-parser.d.ts +104 -0
  337. package/dist/jsdoc-port-sync/signature-parser.js +559 -0
  338. package/dist/jsdoc-port-sync/sync.d.ts +36 -0
  339. package/dist/jsdoc-port-sync/sync.js +644 -0
  340. package/dist/jsdoc-port-sync.d.ts +10 -0
  341. package/dist/jsdoc-port-sync.js +10 -0
  342. package/dist/marketplace/index.d.ts +11 -0
  343. package/dist/marketplace/index.js +10 -0
  344. package/dist/marketplace/manifest.d.ts +32 -0
  345. package/dist/marketplace/manifest.js +176 -0
  346. package/dist/marketplace/registry.d.ts +30 -0
  347. package/dist/marketplace/registry.js +100 -0
  348. package/dist/marketplace/types.d.ts +154 -0
  349. package/dist/marketplace/types.js +9 -0
  350. package/dist/marketplace/validator.d.ts +13 -0
  351. package/dist/marketplace/validator.js +131 -0
  352. package/dist/mcp/auto-registration.d.ts +3 -0
  353. package/dist/mcp/auto-registration.js +62 -0
  354. package/dist/mcp/editor-connection.d.ts +50 -0
  355. package/dist/mcp/editor-connection.js +125 -0
  356. package/dist/mcp/event-buffer.d.ts +62 -0
  357. package/dist/mcp/event-buffer.js +150 -0
  358. package/dist/mcp/index.d.ts +12 -0
  359. package/dist/mcp/index.js +11 -0
  360. package/dist/mcp/resources.d.ts +14 -0
  361. package/dist/mcp/resources.js +55 -0
  362. package/dist/mcp/response-utils.d.ts +63 -0
  363. package/dist/mcp/response-utils.js +89 -0
  364. package/dist/mcp/server.d.ts +4 -0
  365. package/dist/mcp/server.js +99 -0
  366. package/dist/mcp/tools-diagram.d.ts +8 -0
  367. package/dist/mcp/tools-diagram.js +53 -0
  368. package/dist/mcp/tools-editor.d.ts +5 -0
  369. package/dist/mcp/tools-editor.js +190 -0
  370. package/dist/mcp/tools-export.d.ts +9 -0
  371. package/dist/mcp/tools-export.js +180 -0
  372. package/dist/mcp/tools-marketplace.d.ts +9 -0
  373. package/dist/mcp/tools-marketplace.js +132 -0
  374. package/dist/mcp/tools-pattern.d.ts +3 -0
  375. package/dist/mcp/tools-pattern.js +783 -0
  376. package/dist/mcp/tools-query.d.ts +3 -0
  377. package/dist/mcp/tools-query.js +364 -0
  378. package/dist/mcp/tools-template.d.ts +10 -0
  379. package/dist/mcp/tools-template.js +119 -0
  380. package/dist/mcp/types.d.ts +70 -0
  381. package/dist/mcp/types.js +8 -0
  382. package/dist/mcp/workflow-executor.d.ts +47 -0
  383. package/dist/mcp/workflow-executor.js +133 -0
  384. package/dist/migration/registry.d.ts +30 -0
  385. package/dist/migration/registry.js +29 -0
  386. package/dist/node-types-generator.d.ts +49 -0
  387. package/dist/node-types-generator.js +139 -0
  388. package/dist/npm-packages.d.ts +56 -0
  389. package/dist/npm-packages.js +255 -0
  390. package/dist/parser.d.ts +204 -0
  391. package/dist/parser.js +2100 -0
  392. package/dist/plugin/PluginPanel.d.ts +12 -0
  393. package/dist/plugin/PluginPanel.js +5 -0
  394. package/dist/plugin/index.d.ts +13 -0
  395. package/dist/plugin/index.js +14 -0
  396. package/dist/plugin/types.d.ts +75 -0
  397. package/dist/plugin/types.js +8 -0
  398. package/dist/resolve-package-types.d.ts +17 -0
  399. package/dist/resolve-package-types.js +123 -0
  400. package/dist/runtime/CancellationError.d.ts +11 -0
  401. package/dist/runtime/CancellationError.js +20 -0
  402. package/dist/runtime/ExecutionContext.d.ts +146 -0
  403. package/dist/runtime/ExecutionContext.js +235 -0
  404. package/dist/runtime/builtin-functions.d.ts +8 -0
  405. package/dist/runtime/builtin-functions.js +549 -0
  406. package/dist/runtime/events.d.ts +50 -0
  407. package/dist/runtime/events.js +2 -0
  408. package/dist/runtime/function-registry.d.ts +59 -0
  409. package/dist/runtime/function-registry.js +66 -0
  410. package/dist/runtime/index.d.ts +7 -0
  411. package/dist/runtime/index.js +7 -0
  412. package/dist/runtime/parameter-resolver.d.ts +62 -0
  413. package/dist/runtime/parameter-resolver.js +113 -0
  414. package/dist/server/index.d.ts +7 -0
  415. package/dist/server/index.js +6 -0
  416. package/dist/server/types.d.ts +93 -0
  417. package/dist/server/types.js +5 -0
  418. package/dist/server/webhook-server.d.ts +50 -0
  419. package/dist/server/webhook-server.js +269 -0
  420. package/dist/server/workflow-registry.d.ts +61 -0
  421. package/dist/server/workflow-registry.js +202 -0
  422. package/dist/shared-project.d.ts +9 -0
  423. package/dist/shared-project.js +28 -0
  424. package/dist/sugar-optimizer.d.ts +40 -0
  425. package/dist/sugar-optimizer.js +387 -0
  426. package/dist/testing/assertions.d.ts +51 -0
  427. package/dist/testing/assertions.js +127 -0
  428. package/dist/testing/index.d.ts +30 -0
  429. package/dist/testing/index.js +24 -0
  430. package/dist/testing/mock-approval.d.ts +81 -0
  431. package/dist/testing/mock-approval.js +98 -0
  432. package/dist/testing/mock-llm.d.ts +124 -0
  433. package/dist/testing/mock-llm.js +119 -0
  434. package/dist/testing/recorder.d.ts +72 -0
  435. package/dist/testing/recorder.js +70 -0
  436. package/dist/testing/replayer.d.ts +56 -0
  437. package/dist/testing/replayer.js +143 -0
  438. package/dist/testing/token-tracker.d.ts +71 -0
  439. package/dist/testing/token-tracker.js +94 -0
  440. package/dist/type-checker.d.ts +42 -0
  441. package/dist/type-checker.js +190 -0
  442. package/dist/type-mappings.d.ts +29 -0
  443. package/dist/type-mappings.js +125 -0
  444. package/dist/types/branded-ports.d.ts +151 -0
  445. package/dist/types/branded-ports.js +121 -0
  446. package/dist/types/index.d.ts +5 -0
  447. package/dist/types/index.js +5 -0
  448. package/dist/types.d.ts +139 -0
  449. package/dist/types.js +15 -0
  450. package/dist/utils/error-utils.d.ts +15 -0
  451. package/dist/utils/error-utils.js +27 -0
  452. package/dist/utils/lru-cache.d.ts +15 -0
  453. package/dist/utils/lru-cache.js +40 -0
  454. package/dist/utils/port-ordering.d.ts +26 -0
  455. package/dist/utils/port-ordering.js +88 -0
  456. package/dist/utils/port-tag-utils.d.ts +23 -0
  457. package/dist/utils/port-tag-utils.js +41 -0
  458. package/dist/utils/string-distance.d.ts +14 -0
  459. package/dist/utils/string-distance.js +56 -0
  460. package/dist/validation/agent-detection.d.ts +33 -0
  461. package/dist/validation/agent-detection.js +115 -0
  462. package/dist/validation/agent-rules.d.ts +48 -0
  463. package/dist/validation/agent-rules.js +262 -0
  464. package/dist/validator.d.ts +92 -0
  465. package/dist/validator.js +970 -0
  466. package/package.json +109 -0
@@ -0,0 +1,125 @@
1
+ /**
2
+ * # Flow Weaver Constants
3
+ *
4
+ * This module defines reserved names and constants used throughout the Flow Weaver system.
5
+ *
6
+ * ## Scoped Port Architecture
7
+ *
8
+ * Scoped ports enable iteration patterns (forEach, map) WITHOUT graph cycles.
9
+ * The key insight is that port directions are INVERTED for scoped ports:
10
+ *
11
+ * ```
12
+ * ┌─────────────────────────────────────────────────────────────────────┐
13
+ * │ SCOPED PORT DIRECTION MAPPING │
14
+ * ├─────────────────┬──────────┬────────────────────────────────────────┤
15
+ * │ Scoped OUTPUT │ Parent→ │ Parameters TO children (start, item) │
16
+ * │ Scoped INPUT │ →Parent │ Returns FROM children (success, result)│
17
+ * └─────────────────┴──────────┴────────────────────────────────────────┘
18
+ * ```
19
+ *
20
+ * **Why this inversion?**
21
+ * - Scoped OUTPUT ports (like `start`, `item`) are data the parent SENDS to nested nodes
22
+ * - Scoped INPUT ports (like `success`, `result`) are data the parent RECEIVES from nested nodes
23
+ * - The loop iteration happens in the parent's imperative code, not as graph cycles
24
+ *
25
+ * ## Mandatory Scoped Ports
26
+ *
27
+ * Every scoped node must have these ports for each scope it declares:
28
+ * - `start` (OUTPUT) - Triggers scope execution, passed as first param
29
+ * - `success` (INPUT) - Signals successful completion from child
30
+ * - `failure` (INPUT) - Signals failure from child
31
+ *
32
+ * ## Example: forEach Node
33
+ *
34
+ * ```typescript
35
+ * @scope processItem
36
+ * @output start scope:processItem // OUTPUT → function param (triggers iteration)
37
+ * @output item scope:processItem // OUTPUT → function param (current item)
38
+ * @input success scope:processItem // INPUT → return value (completion signal)
39
+ * @input processed scope:processItem // INPUT → return value (processed data)
40
+ *
41
+ * function forEach(execute, items, processItem) {
42
+ * const results = [];
43
+ * for (const item of items) {
44
+ * const r = processItem(true, item); // Calls generated closure
45
+ * if (r.success) results.push(r.processed);
46
+ * }
47
+ * return { onSuccess: true, results };
48
+ * }
49
+ * ```
50
+ */
51
+ export const RESERVED_NODE_NAMES = {
52
+ START: "Start",
53
+ EXIT: "Exit",
54
+ };
55
+ export const RESERVED_PORT_NAMES = {
56
+ EXECUTE: "execute",
57
+ ON_SUCCESS: "onSuccess",
58
+ ON_FAILURE: "onFailure",
59
+ };
60
+ // Scoped mandatory ports (different from external)
61
+ export const SCOPED_PORT_NAMES = {
62
+ START: "start", // OUTPUT - starts scope iteration
63
+ SUCCESS: "success", // INPUT - success signal from scope
64
+ FAILURE: "failure", // INPUT - failure signal from scope
65
+ };
66
+ export const EXECUTION_STRATEGIES = {
67
+ CONJUNCTION: "CONJUNCTION",
68
+ DISJUNCTION: "DISJUNCTION",
69
+ CUSTOM: "CUSTOM",
70
+ };
71
+ export const BRANCHING_STRATEGIES = {
72
+ VALUE_BASED: "value-based",
73
+ EXCEPTION_BASED: "exception-based",
74
+ NONE: "none",
75
+ };
76
+ export function isReservedNodeName(name) {
77
+ return Object.values(RESERVED_NODE_NAMES).includes(name);
78
+ }
79
+ export function isReservedPortName(name) {
80
+ return Object.values(RESERVED_PORT_NAMES).includes(name);
81
+ }
82
+ export function isStartNode(nodeName) {
83
+ return nodeName === RESERVED_NODE_NAMES.START;
84
+ }
85
+ export function isExitNode(nodeName) {
86
+ return nodeName === RESERVED_NODE_NAMES.EXIT;
87
+ }
88
+ export function isSpecialNode(nodeName) {
89
+ return isStartNode(nodeName) || isExitNode(nodeName);
90
+ }
91
+ export function isExecutePort(portName) {
92
+ return portName === RESERVED_PORT_NAMES.EXECUTE;
93
+ }
94
+ export function isSuccessPort(portName) {
95
+ return portName === RESERVED_PORT_NAMES.ON_SUCCESS;
96
+ }
97
+ export function isFailurePort(portName) {
98
+ return portName === RESERVED_PORT_NAMES.ON_FAILURE;
99
+ }
100
+ // Scoped port checks
101
+ export function isScopedStartPort(portName) {
102
+ return portName === SCOPED_PORT_NAMES.START;
103
+ }
104
+ export function isScopedSuccessPort(portName) {
105
+ return portName === SCOPED_PORT_NAMES.SUCCESS;
106
+ }
107
+ export function isScopedFailurePort(portName) {
108
+ return portName === SCOPED_PORT_NAMES.FAILURE;
109
+ }
110
+ export function isScopedMandatoryPort(portName) {
111
+ return isScopedStartPort(portName) || isScopedSuccessPort(portName) || isScopedFailurePort(portName);
112
+ }
113
+ export function isControlFlowPort(portName) {
114
+ return (isExecutePort(portName) ||
115
+ isSuccessPort(portName) ||
116
+ isFailurePort(portName));
117
+ }
118
+ /**
119
+ * Check if a port definition represents a scoped port
120
+ * Scoped ports are FUNCTION type with a scope attribute
121
+ */
122
+ export function isScopedPort(portDef) {
123
+ return portDef.dataType === "FUNCTION" && portDef.scope !== undefined;
124
+ }
125
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1,3 @@
1
+ export declare const DEFAULT_PORT: number;
2
+ export declare const DEFAULT_SERVER_URL: string;
3
+ //# sourceMappingURL=defaults.d.ts.map
@@ -0,0 +1,3 @@
1
+ export const DEFAULT_PORT = parseInt(process.env.FW_PORT || '6546', 10);
2
+ export const DEFAULT_SERVER_URL = `http://localhost:${DEFAULT_PORT}`;
3
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Default configuration values for the deployment system
3
+ */
4
+ import type { DeploymentConfig, ServerConfig, ExecutionConfig, SecretsConfig } from './types.js';
5
+ /**
6
+ * Default server configuration
7
+ */
8
+ export declare const DEFAULT_SERVER_CONFIG: ServerConfig;
9
+ /**
10
+ * Default execution configuration
11
+ */
12
+ export declare const DEFAULT_EXECUTION_CONFIG: ExecutionConfig;
13
+ /**
14
+ * Default secrets configuration
15
+ */
16
+ export declare const DEFAULT_SECRETS_CONFIG: SecretsConfig;
17
+ /**
18
+ * Default deployment configuration
19
+ */
20
+ export declare const DEFAULT_CONFIG: DeploymentConfig;
21
+ /**
22
+ * Production configuration overrides
23
+ */
24
+ export declare const PRODUCTION_OVERRIDES: Partial<DeploymentConfig>;
25
+ /**
26
+ * Get default configuration for a given environment
27
+ */
28
+ export declare function getDefaultConfig(environment: 'development' | 'staging' | 'production'): DeploymentConfig;
29
+ //# sourceMappingURL=defaults.d.ts.map
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Default configuration values for the deployment system
3
+ */
4
+ /**
5
+ * Default server configuration
6
+ */
7
+ export const DEFAULT_SERVER_CONFIG = {
8
+ port: 3000,
9
+ host: '0.0.0.0',
10
+ cors: {
11
+ origin: '*',
12
+ methods: ['GET', 'POST', 'OPTIONS'],
13
+ headers: ['Content-Type', 'Authorization', 'X-Request-Id'],
14
+ credentials: false,
15
+ },
16
+ swagger: false,
17
+ watch: true,
18
+ };
19
+ /**
20
+ * Default execution configuration
21
+ */
22
+ export const DEFAULT_EXECUTION_CONFIG = {
23
+ timeout: 30000,
24
+ includeTrace: true,
25
+ maxConcurrent: 10,
26
+ retry: {
27
+ maxRetries: 0,
28
+ initialDelay: 100,
29
+ maxDelay: 5000,
30
+ backoffMultiplier: 2,
31
+ },
32
+ };
33
+ /**
34
+ * Default secrets configuration
35
+ */
36
+ export const DEFAULT_SECRETS_CONFIG = {
37
+ fromEnv: [],
38
+ files: ['.env', '.env.local'],
39
+ };
40
+ /**
41
+ * Default deployment configuration
42
+ */
43
+ export const DEFAULT_CONFIG = {
44
+ environment: 'development',
45
+ server: DEFAULT_SERVER_CONFIG,
46
+ execution: DEFAULT_EXECUTION_CONFIG,
47
+ secrets: DEFAULT_SECRETS_CONFIG,
48
+ };
49
+ /**
50
+ * Production configuration overrides
51
+ */
52
+ export const PRODUCTION_OVERRIDES = {
53
+ environment: 'production',
54
+ server: {
55
+ ...DEFAULT_SERVER_CONFIG,
56
+ watch: false,
57
+ cors: {
58
+ ...DEFAULT_SERVER_CONFIG.cors,
59
+ origin: [], // Must be explicitly configured in production
60
+ },
61
+ },
62
+ execution: {
63
+ ...DEFAULT_EXECUTION_CONFIG,
64
+ includeTrace: false,
65
+ timeout: 60000,
66
+ },
67
+ };
68
+ /**
69
+ * Get default configuration for a given environment
70
+ */
71
+ export function getDefaultConfig(environment) {
72
+ if (environment === 'production') {
73
+ return {
74
+ ...DEFAULT_CONFIG,
75
+ ...PRODUCTION_OVERRIDES,
76
+ server: {
77
+ ...DEFAULT_CONFIG.server,
78
+ ...PRODUCTION_OVERRIDES.server,
79
+ },
80
+ execution: {
81
+ ...DEFAULT_CONFIG.execution,
82
+ ...PRODUCTION_OVERRIDES.execution,
83
+ },
84
+ };
85
+ }
86
+ if (environment === 'staging') {
87
+ return {
88
+ ...DEFAULT_CONFIG,
89
+ environment: 'staging',
90
+ execution: {
91
+ ...DEFAULT_CONFIG.execution,
92
+ includeTrace: true, // Keep traces in staging for debugging
93
+ },
94
+ };
95
+ }
96
+ return DEFAULT_CONFIG;
97
+ }
98
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Configuration loader
3
+ *
4
+ * Loads configuration from files, environment variables, and CLI arguments,
5
+ * merging them in order of precedence.
6
+ */
7
+ import type { DeploymentConfig, CliConfigOverrides } from './types.js';
8
+ /**
9
+ * Load configuration with the following precedence (highest to lowest):
10
+ * 1. CLI arguments
11
+ * 2. Environment variables
12
+ * 3. Config file
13
+ * 4. Default values
14
+ */
15
+ export declare function loadConfig(cliOverrides?: CliConfigOverrides, configPath?: string): Promise<DeploymentConfig>;
16
+ /**
17
+ * Synchronous config loading (for simpler use cases)
18
+ */
19
+ export declare function loadConfigSync(cliOverrides?: CliConfigOverrides): DeploymentConfig;
20
+ /**
21
+ * Get a specific config value with fallback to default
22
+ */
23
+ export declare function getConfigValue<K extends keyof DeploymentConfig>(key: K, config?: Partial<DeploymentConfig>): DeploymentConfig[K];
24
+ //# sourceMappingURL=loader.d.ts.map
@@ -0,0 +1,236 @@
1
+ /**
2
+ * Configuration loader
3
+ *
4
+ * Loads configuration from files, environment variables, and CLI arguments,
5
+ * merging them in order of precedence.
6
+ */
7
+ import * as fs from 'fs';
8
+ import * as path from 'path';
9
+ import * as YAML from 'js-yaml';
10
+ import { DEFAULT_CONFIG, getDefaultConfig } from './defaults.js';
11
+ /**
12
+ * Configuration file names to search for
13
+ */
14
+ const CONFIG_FILE_NAMES = ['flow-weaver.config.ts', 'flow-weaver.config.yaml'];
15
+ /**
16
+ * Environment variable prefix
17
+ */
18
+ const ENV_PREFIX = 'FW_';
19
+ /**
20
+ * Load configuration with the following precedence (highest to lowest):
21
+ * 1. CLI arguments
22
+ * 2. Environment variables
23
+ * 3. Config file
24
+ * 4. Default values
25
+ */
26
+ export async function loadConfig(cliOverrides, configPath) {
27
+ // Start with environment-specific defaults
28
+ const environment = detectEnvironment(cliOverrides);
29
+ let config = getDefaultConfig(environment);
30
+ // Load config file if it exists
31
+ const fileConfig = await loadConfigFile(configPath);
32
+ if (fileConfig) {
33
+ config = mergeConfig(config, fileConfig);
34
+ }
35
+ // Apply environment variable overrides
36
+ const envConfig = loadEnvConfig();
37
+ config = mergeConfig(config, envConfig);
38
+ // Apply CLI overrides (highest precedence)
39
+ if (cliOverrides) {
40
+ const cliConfig = convertCliOverrides(cliOverrides);
41
+ config = mergeConfig(config, cliConfig);
42
+ }
43
+ return config;
44
+ }
45
+ /**
46
+ * Detect environment from CLI, env vars, or defaults
47
+ */
48
+ function detectEnvironment(cliOverrides) {
49
+ // CLI override takes precedence
50
+ if (cliOverrides?.env) {
51
+ return cliOverrides.env;
52
+ }
53
+ // Check environment variables
54
+ const envValue = process.env[`${ENV_PREFIX}ENV`] || process.env.NODE_ENV;
55
+ if (envValue) {
56
+ if (envValue === 'production' || envValue === 'prod') {
57
+ return 'production';
58
+ }
59
+ if (envValue === 'staging' || envValue === 'stage') {
60
+ return 'staging';
61
+ }
62
+ }
63
+ return 'development';
64
+ }
65
+ /**
66
+ * Load configuration from file
67
+ */
68
+ async function loadConfigFile(configPath) {
69
+ // If a specific path is provided, try to load it
70
+ if (configPath) {
71
+ return loadConfigFromPath(configPath);
72
+ }
73
+ // Search for config file in current directory
74
+ const cwd = process.cwd();
75
+ for (const fileName of CONFIG_FILE_NAMES) {
76
+ const configFilePath = path.join(cwd, fileName);
77
+ if (fs.existsSync(configFilePath)) {
78
+ return loadConfigFromPath(configFilePath);
79
+ }
80
+ }
81
+ return null;
82
+ }
83
+ /**
84
+ * Load configuration from a specific file path
85
+ */
86
+ async function loadConfigFromPath(filePath) {
87
+ const absolutePath = path.resolve(filePath);
88
+ if (!fs.existsSync(absolutePath)) {
89
+ return null;
90
+ }
91
+ const ext = path.extname(absolutePath);
92
+ // YAML files
93
+ if (ext === '.yaml' || ext === '.yml') {
94
+ try {
95
+ const content = fs.readFileSync(absolutePath, 'utf8');
96
+ return YAML.load(content);
97
+ }
98
+ catch {
99
+ return null;
100
+ }
101
+ }
102
+ // TypeScript files - dynamic import
103
+ if (ext === '.ts') {
104
+ try {
105
+ const module = await import(absolutePath);
106
+ return (module.default || module);
107
+ }
108
+ catch {
109
+ // Config file loading failed, skip it
110
+ return null;
111
+ }
112
+ }
113
+ return null;
114
+ }
115
+ /**
116
+ * Load configuration from environment variables
117
+ */
118
+ function loadEnvConfig() {
119
+ const config = {};
120
+ // Server config
121
+ const port = process.env[`${ENV_PREFIX}PORT`];
122
+ const host = process.env[`${ENV_PREFIX}HOST`];
123
+ const cors = process.env[`${ENV_PREFIX}CORS_ORIGIN`];
124
+ if (port || host || cors) {
125
+ config.server = {};
126
+ if (port)
127
+ config.server.port = parseInt(port, 10);
128
+ if (host)
129
+ config.server.host = host;
130
+ if (cors)
131
+ config.server.cors = { origin: cors };
132
+ }
133
+ // Execution config
134
+ const timeout = process.env[`${ENV_PREFIX}TIMEOUT`];
135
+ const trace = process.env[`${ENV_PREFIX}TRACE`];
136
+ if (timeout || trace) {
137
+ config.execution = {};
138
+ if (timeout)
139
+ config.execution.timeout = parseInt(timeout, 10);
140
+ if (trace)
141
+ config.execution.includeTrace = trace === 'true' || trace === '1';
142
+ }
143
+ return config;
144
+ }
145
+ /**
146
+ * Convert CLI overrides to partial config
147
+ */
148
+ function convertCliOverrides(overrides) {
149
+ const config = {};
150
+ if (overrides.env) {
151
+ config.environment = overrides.env;
152
+ }
153
+ // Server overrides
154
+ if (overrides.port ||
155
+ overrides.host ||
156
+ overrides.cors ||
157
+ overrides.watch !== undefined ||
158
+ overrides.swagger !== undefined) {
159
+ config.server = {};
160
+ if (overrides.port)
161
+ config.server.port = overrides.port;
162
+ if (overrides.host)
163
+ config.server.host = overrides.host;
164
+ if (overrides.cors)
165
+ config.server.cors = { origin: overrides.cors };
166
+ if (overrides.watch !== undefined)
167
+ config.server.watch = overrides.watch;
168
+ if (overrides.swagger !== undefined)
169
+ config.server.swagger = overrides.swagger;
170
+ }
171
+ // Execution overrides
172
+ if (overrides.timeout || overrides.trace !== undefined || overrides.production !== undefined) {
173
+ config.execution = {};
174
+ if (overrides.timeout)
175
+ config.execution.timeout = overrides.timeout;
176
+ if (overrides.trace !== undefined)
177
+ config.execution.includeTrace = overrides.trace;
178
+ if (overrides.production)
179
+ config.execution.includeTrace = false;
180
+ }
181
+ return config;
182
+ }
183
+ /**
184
+ * Deep merge two configuration objects
185
+ */
186
+ function mergeConfig(base, override) {
187
+ return {
188
+ environment: override.environment ?? base.environment,
189
+ server: {
190
+ ...base.server,
191
+ ...override.server,
192
+ cors: {
193
+ ...base.server.cors,
194
+ ...(override.server?.cors || {}),
195
+ },
196
+ },
197
+ execution: {
198
+ ...base.execution,
199
+ ...override.execution,
200
+ retry: {
201
+ ...(base.execution.retry || {}),
202
+ ...(override.execution?.retry || {}),
203
+ },
204
+ },
205
+ secrets: {
206
+ ...base.secrets,
207
+ ...override.secrets,
208
+ },
209
+ };
210
+ }
211
+ /**
212
+ * Synchronous config loading (for simpler use cases)
213
+ */
214
+ export function loadConfigSync(cliOverrides) {
215
+ const environment = detectEnvironment(cliOverrides);
216
+ let config = getDefaultConfig(environment);
217
+ // Apply environment variable overrides
218
+ const envConfig = loadEnvConfig();
219
+ config = mergeConfig(config, envConfig);
220
+ // Apply CLI overrides
221
+ if (cliOverrides) {
222
+ const cliConfig = convertCliOverrides(cliOverrides);
223
+ config = mergeConfig(config, cliConfig);
224
+ }
225
+ return config;
226
+ }
227
+ /**
228
+ * Get a specific config value with fallback to default
229
+ */
230
+ export function getConfigValue(key, config) {
231
+ if (config && config[key] !== undefined) {
232
+ return config[key];
233
+ }
234
+ return DEFAULT_CONFIG[key];
235
+ }
236
+ //# sourceMappingURL=loader.js.map
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Configuration types for the deployment system
3
+ */
4
+ import type { Environment } from '../types.js';
5
+ /**
6
+ * Complete deployment configuration
7
+ */
8
+ export interface DeploymentConfig {
9
+ /** Runtime environment */
10
+ environment: Environment;
11
+ /** Server configuration */
12
+ server: ServerConfig;
13
+ /** Execution configuration */
14
+ execution: ExecutionConfig;
15
+ /** Secrets and environment variable configuration */
16
+ secrets: SecretsConfig;
17
+ }
18
+ /**
19
+ * Server configuration options
20
+ */
21
+ export interface ServerConfig {
22
+ /** Port to listen on */
23
+ port: number;
24
+ /** Host to bind to */
25
+ host: string;
26
+ /** CORS configuration */
27
+ cors: CorsConfig;
28
+ /** Enable Swagger UI */
29
+ swagger: boolean;
30
+ /** Enable file watching for hot reload */
31
+ watch: boolean;
32
+ }
33
+ /**
34
+ * CORS configuration
35
+ */
36
+ export interface CorsConfig {
37
+ /** Allowed origins (string or array of strings) */
38
+ origin: string | string[];
39
+ /** Allowed methods */
40
+ methods?: string[];
41
+ /** Allowed headers */
42
+ headers?: string[];
43
+ /** Expose headers */
44
+ exposeHeaders?: string[];
45
+ /** Allow credentials */
46
+ credentials?: boolean;
47
+ /** Max age for preflight cache */
48
+ maxAge?: number;
49
+ }
50
+ /**
51
+ * Execution configuration
52
+ */
53
+ export interface ExecutionConfig {
54
+ /** Default timeout in milliseconds */
55
+ timeout: number;
56
+ /** Include execution trace by default */
57
+ includeTrace: boolean;
58
+ /** Maximum concurrent executions */
59
+ maxConcurrent?: number;
60
+ /** Retry configuration */
61
+ retry?: RetryConfig;
62
+ }
63
+ /**
64
+ * Retry configuration
65
+ */
66
+ export interface RetryConfig {
67
+ /** Maximum number of retries */
68
+ maxRetries: number;
69
+ /** Initial delay in milliseconds */
70
+ initialDelay: number;
71
+ /** Maximum delay in milliseconds */
72
+ maxDelay: number;
73
+ /** Backoff multiplier */
74
+ backoffMultiplier: number;
75
+ }
76
+ /**
77
+ * Secrets and environment variable configuration
78
+ */
79
+ export interface SecretsConfig {
80
+ /** Environment variables to inject into execution context */
81
+ fromEnv: string[];
82
+ /** .env files to load */
83
+ files: string[];
84
+ }
85
+ /**
86
+ * Partial configuration for merging
87
+ */
88
+ export type PartialDeploymentConfig = {
89
+ environment?: Environment;
90
+ server?: Partial<ServerConfig>;
91
+ execution?: Partial<ExecutionConfig>;
92
+ secrets?: Partial<SecretsConfig>;
93
+ };
94
+ /**
95
+ * CLI argument overrides
96
+ */
97
+ export interface CliConfigOverrides {
98
+ /** Override port */
99
+ port?: number;
100
+ /** Override host */
101
+ host?: string;
102
+ /** Override environment */
103
+ env?: Environment;
104
+ /** Override CORS origin */
105
+ cors?: string;
106
+ /** Override timeout */
107
+ timeout?: number;
108
+ /** Override trace inclusion */
109
+ trace?: boolean;
110
+ /** Override file watching */
111
+ watch?: boolean;
112
+ /** Enable swagger */
113
+ swagger?: boolean;
114
+ /** Production mode */
115
+ production?: boolean;
116
+ }
117
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Configuration types for the deployment system
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map