@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,7 @@
1
+ /**
2
+ * Mock LLM provider for testing/development
3
+ * Replace with real provider (OpenAI, Anthropic, etc.)
4
+ */
5
+ import type { LLMProvider } from './types.js';
6
+ export declare const createMockProvider: () => LLMProvider;
7
+ //# sourceMappingURL=mock-provider.d.ts.map
@@ -0,0 +1,64 @@
1
+ export const createMockProvider = () => ({
2
+ async chat(messages, options) {
3
+ const lastMessage = messages[messages.length - 1];
4
+ // Simulate tool calling if tools provided
5
+ if (options?.tools && options.tools.length > 0) {
6
+ const shouldCallTool = lastMessage.content.toLowerCase().includes('search') ||
7
+ lastMessage.content.toLowerCase().includes('calculate');
8
+ if (shouldCallTool) {
9
+ return {
10
+ content: null,
11
+ toolCalls: [
12
+ {
13
+ id: `call_${Date.now()}`,
14
+ name: options.tools[0].name,
15
+ arguments: { query: lastMessage.content },
16
+ },
17
+ ],
18
+ finishReason: 'tool_calls',
19
+ };
20
+ }
21
+ }
22
+ return {
23
+ content: `[Mock Response to: ${lastMessage.content.slice(0, 50)}...]`,
24
+ toolCalls: [],
25
+ finishReason: 'stop',
26
+ };
27
+ },
28
+ });
29
+ // Example real provider adapter (in comments for user reference)
30
+ /*
31
+ import OpenAI from 'openai';
32
+
33
+ export const createOpenAIProvider = (apiKey: string): LLMProvider => {
34
+ const client = new OpenAI({ apiKey });
35
+
36
+ return {
37
+ async chat(messages, options) {
38
+ const response = await client.chat.completions.create({
39
+ model: options?.model ?? 'gpt-4',
40
+ messages: messages.map(m => ({ role: m.role, content: m.content })),
41
+ tools: options?.tools?.map(t => ({ type: 'function', function: t })),
42
+ temperature: options?.temperature,
43
+ max_tokens: options?.maxTokens,
44
+ });
45
+
46
+ const choice = response.choices[0];
47
+ return {
48
+ content: choice.message.content,
49
+ toolCalls: choice.message.tool_calls?.map(tc => ({
50
+ id: tc.id,
51
+ name: tc.function.name,
52
+ arguments: JSON.parse(tc.function.arguments)
53
+ })) ?? [],
54
+ finishReason: choice.finish_reason as any,
55
+ usage: response.usage ? {
56
+ promptTokens: response.usage.prompt_tokens,
57
+ completionTokens: response.usage.completion_tokens
58
+ } : undefined
59
+ };
60
+ }
61
+ };
62
+ };
63
+ */
64
+ //# sourceMappingURL=mock-provider.js.map
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Provider-agnostic LLM types for Flow Weaver AI templates
3
+ */
4
+ export interface LLMMessage {
5
+ role: 'system' | 'user' | 'assistant' | 'tool';
6
+ content: string;
7
+ toolCallId?: string;
8
+ }
9
+ export interface LLMTool {
10
+ name: string;
11
+ description: string;
12
+ parameters: {
13
+ type: 'object';
14
+ properties: Record<string, {
15
+ type: string;
16
+ description?: string;
17
+ enum?: string[];
18
+ }>;
19
+ required?: string[];
20
+ };
21
+ }
22
+ export interface LLMToolCall {
23
+ id: string;
24
+ name: string;
25
+ arguments: Record<string, unknown>;
26
+ }
27
+ export interface LLMResponse {
28
+ content: string | null;
29
+ toolCalls: LLMToolCall[];
30
+ finishReason: 'stop' | 'tool_calls' | 'length' | 'error';
31
+ usage?: {
32
+ promptTokens: number;
33
+ completionTokens: number;
34
+ };
35
+ }
36
+ export interface LLMOptions {
37
+ model?: string;
38
+ temperature?: number;
39
+ maxTokens?: number;
40
+ tools?: LLMTool[];
41
+ systemPrompt?: string;
42
+ }
43
+ export interface LLMProvider {
44
+ chat(messages: LLMMessage[], options?: LLMOptions): Promise<LLMResponse>;
45
+ }
46
+ export type LLMProviderFactory = () => LLMProvider;
47
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Provider-agnostic LLM types for Flow Weaver AI templates
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Approval Strategy Code Generators
3
+ * Generate approval provider implementation code for different strategies.
4
+ *
5
+ * Mirrors the LLM provider pattern in providers/index.ts.
6
+ */
7
+ export declare function generateMockApproval(): string;
8
+ export declare function generateCallbackApproval(): string;
9
+ export declare function generateWebhookApproval(): string;
10
+ /**
11
+ * Get approval provider code for a given strategy.
12
+ * Mirrors getProviderCode() from providers/index.ts.
13
+ */
14
+ export declare function getApprovalCode(strategy: string): string;
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,241 @@
1
+ /**
2
+ * Approval Strategy Code Generators
3
+ * Generate approval provider implementation code for different strategies.
4
+ *
5
+ * Mirrors the LLM provider pattern in providers/index.ts.
6
+ */
7
+ export function generateMockApproval() {
8
+ return `/* ============================================================
9
+ * MOCK APPROVAL PROVIDER (For Testing)
10
+ * Auto-approves all requests. Replace with a real strategy for production.
11
+ * ============================================================ */
12
+
13
+ const _defaultApprovalProvider: ApprovalProvider = {
14
+ async requestApproval(request) {
15
+ console.log('[Mock Approval] Auto-approving:', request.prompt);
16
+ return {
17
+ approved: true,
18
+ response: 'Auto-approved (mock)',
19
+ reviewer: 'system',
20
+ };
21
+ },
22
+ };
23
+
24
+ const approvalProvider: ApprovalProvider = (globalThis as unknown as { __fw_approval_provider__?: ApprovalProvider }).__fw_approval_provider__ ?? _defaultApprovalProvider;`;
25
+ }
26
+ export function generateCallbackApproval() {
27
+ return `/* ============================================================
28
+ * CALLBACK APPROVAL PROVIDER
29
+ *
30
+ * Pauses the workflow on a Promise. Call resolveApproval() from
31
+ * your HTTP handler, webhook, or external system to resume.
32
+ *
33
+ * Example integration:
34
+ * app.post('/approve/:id', (req, res) => {
35
+ * resolveApproval(req.params.id, true, req.body.response, req.body.reviewer);
36
+ * res.json({ ok: true });
37
+ * });
38
+ * ============================================================ */
39
+
40
+ const _pendingApprovals = new Map<string, {
41
+ resolve: (result: ApprovalResult) => void;
42
+ request: ApprovalRequest;
43
+ createdAt: number;
44
+ }>();
45
+
46
+ /**
47
+ * Resolve a pending approval. Call this from your HTTP handler or external system.
48
+ * Returns true if the approval was found and resolved, false if not found.
49
+ */
50
+ function resolveApproval(
51
+ id: string,
52
+ approved: boolean,
53
+ response?: string,
54
+ reviewer?: string,
55
+ ): boolean {
56
+ const pending = _pendingApprovals.get(id);
57
+ if (!pending) return false;
58
+ pending.resolve({ approved, response, reviewer });
59
+ _pendingApprovals.delete(id);
60
+ return true;
61
+ }
62
+
63
+ /** Get all currently pending approval requests */
64
+ function getPendingApprovals(): Array<{ id: string; request: ApprovalRequest; createdAt: number }> {
65
+ return [..._pendingApprovals.entries()].map(([id, entry]) => ({
66
+ id,
67
+ request: entry.request,
68
+ createdAt: entry.createdAt,
69
+ }));
70
+ }
71
+
72
+ const _defaultApprovalProvider: ApprovalProvider = {
73
+ async requestApproval(request) {
74
+ const id = request.id || crypto.randomUUID();
75
+ console.log(\`[Approval] Waiting for approval: \${id} — "\${request.prompt}"\`);
76
+
77
+ return new Promise<ApprovalResult>((resolve) => {
78
+ _pendingApprovals.set(id, { resolve, request, createdAt: Date.now() });
79
+
80
+ // Set up timeout if specified
81
+ if (request.timeout) {
82
+ const ms = parseTimeout(request.timeout);
83
+ if (ms > 0) {
84
+ setTimeout(() => {
85
+ if (_pendingApprovals.has(id)) {
86
+ _pendingApprovals.delete(id);
87
+ resolve({ approved: false, response: 'Timed out' });
88
+ }
89
+ }, ms);
90
+ }
91
+ }
92
+ });
93
+ },
94
+ };
95
+
96
+ /** Parse timeout string like "7d", "24h", "30m" to milliseconds */
97
+ function parseTimeout(timeout: string): number {
98
+ const match = timeout.match(/^(\\d+)\\s*(ms|s|m|h|d)$/);
99
+ if (!match) return 0;
100
+ const value = parseInt(match[1], 10);
101
+ const unit = match[2];
102
+ const multipliers: Record<string, number> = { ms: 1, s: 1000, m: 60000, h: 3600000, d: 86400000 };
103
+ return value * (multipliers[unit] ?? 0);
104
+ }
105
+
106
+ const approvalProvider: ApprovalProvider = (globalThis as unknown as { __fw_approval_provider__?: ApprovalProvider }).__fw_approval_provider__ ?? _defaultApprovalProvider;`;
107
+ }
108
+ export function generateWebhookApproval() {
109
+ return `/* ============================================================
110
+ * WEBHOOK APPROVAL PROVIDER
111
+ *
112
+ * Extends the callback pattern with a ready-made request handler.
113
+ * Mount createApprovalHandler() in your HTTP framework:
114
+ *
115
+ * Express: app.use('/approvals', createApprovalHandler());
116
+ * Hono: app.route('/approvals', createApprovalHandler());
117
+ * Node.js: http.createServer(createApprovalHandler());
118
+ *
119
+ * Endpoints:
120
+ * POST /approve/:id — Approve a request (body: { response?, reviewer? })
121
+ * POST /reject/:id — Reject a request (body: { response?, reviewer? })
122
+ * GET /pending — List pending approvals
123
+ * ============================================================ */
124
+
125
+ const _pendingApprovals = new Map<string, {
126
+ resolve: (result: ApprovalResult) => void;
127
+ request: ApprovalRequest;
128
+ createdAt: number;
129
+ }>();
130
+
131
+ function resolveApproval(
132
+ id: string,
133
+ approved: boolean,
134
+ response?: string,
135
+ reviewer?: string,
136
+ ): boolean {
137
+ const pending = _pendingApprovals.get(id);
138
+ if (!pending) return false;
139
+ pending.resolve({ approved, response, reviewer });
140
+ _pendingApprovals.delete(id);
141
+ return true;
142
+ }
143
+
144
+ function getPendingApprovals(): Array<{ id: string; request: ApprovalRequest; createdAt: number }> {
145
+ return [..._pendingApprovals.entries()].map(([id, entry]) => ({
146
+ id,
147
+ request: entry.request,
148
+ createdAt: entry.createdAt,
149
+ }));
150
+ }
151
+
152
+ /** Parse timeout string like "7d", "24h", "30m" to milliseconds */
153
+ function parseTimeout(timeout: string): number {
154
+ const match = timeout.match(/^(\\d+)\\s*(ms|s|m|h|d)$/);
155
+ if (!match) return 0;
156
+ const value = parseInt(match[1], 10);
157
+ const unit = match[2];
158
+ const multipliers: Record<string, number> = { ms: 1, s: 1000, m: 60000, h: 3600000, d: 86400000 };
159
+ return value * (multipliers[unit] ?? 0);
160
+ }
161
+
162
+ /**
163
+ * Creates an HTTP request handler for approval webhooks.
164
+ * Returns a function compatible with Node.js http.createServer(),
165
+ * or mount it as middleware in Express/Hono/Fastify.
166
+ */
167
+ function createApprovalHandler(): (req: { method?: string; url?: string; }, res: { writeHead: (status: number, headers?: Record<string, string>) => void; end: (body?: string) => void; }) => Promise<void> {
168
+ return async (req, res) => {
169
+ const url = req.url ?? '';
170
+ const method = req.method ?? 'GET';
171
+
172
+ // GET /pending
173
+ if (method === 'GET' && url.match(/\\/pending\\/?$/)) {
174
+ res.writeHead(200, { 'Content-Type': 'application/json' });
175
+ res.end(JSON.stringify({ pending: getPendingApprovals() }));
176
+ return;
177
+ }
178
+
179
+ // POST /approve/:id or POST /reject/:id
180
+ const match = url.match(/\\/(approve|reject)\\/([^/?]+)/);
181
+ if (method === 'POST' && match) {
182
+ const [, action, id] = match;
183
+ const resolved = resolveApproval(
184
+ id,
185
+ action === 'approve',
186
+ undefined,
187
+ undefined,
188
+ );
189
+ res.writeHead(resolved ? 200 : 404, { 'Content-Type': 'application/json' });
190
+ res.end(JSON.stringify({ resolved, id, action }));
191
+ return;
192
+ }
193
+
194
+ res.writeHead(404);
195
+ res.end('Not found');
196
+ };
197
+ }
198
+
199
+ const _defaultApprovalProvider: ApprovalProvider = {
200
+ async requestApproval(request) {
201
+ const id = request.id || crypto.randomUUID();
202
+ console.log(\`[Approval Webhook] Waiting for approval: \${id} — "\${request.prompt}"\`);
203
+ console.log(\` POST /approve/\${id} to approve\`);
204
+ console.log(\` POST /reject/\${id} to reject\`);
205
+
206
+ return new Promise<ApprovalResult>((resolve) => {
207
+ _pendingApprovals.set(id, { resolve, request, createdAt: Date.now() });
208
+
209
+ if (request.timeout) {
210
+ const ms = parseTimeout(request.timeout);
211
+ if (ms > 0) {
212
+ setTimeout(() => {
213
+ if (_pendingApprovals.has(id)) {
214
+ _pendingApprovals.delete(id);
215
+ resolve({ approved: false, response: 'Timed out' });
216
+ }
217
+ }, ms);
218
+ }
219
+ }
220
+ });
221
+ },
222
+ };
223
+
224
+ const approvalProvider: ApprovalProvider = (globalThis as unknown as { __fw_approval_provider__?: ApprovalProvider }).__fw_approval_provider__ ?? _defaultApprovalProvider;`;
225
+ }
226
+ /**
227
+ * Get approval provider code for a given strategy.
228
+ * Mirrors getProviderCode() from providers/index.ts.
229
+ */
230
+ export function getApprovalCode(strategy) {
231
+ switch (strategy) {
232
+ case 'callback':
233
+ return generateCallbackApproval();
234
+ case 'webhook':
235
+ return generateWebhookApproval();
236
+ case 'mock':
237
+ default:
238
+ return generateMockApproval();
239
+ }
240
+ }
241
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Flow Weaver Template Registry
3
+ * Central registry for workflow and node templates
4
+ */
5
+ /**
6
+ * Configuration field types
7
+ */
8
+ export type ConfigFieldType = 'select' | 'string' | 'boolean' | 'number';
9
+ /**
10
+ * A configuration field definition
11
+ */
12
+ export interface ConfigField {
13
+ type: ConfigFieldType;
14
+ label: string;
15
+ description?: string;
16
+ default?: unknown;
17
+ options?: Array<{
18
+ value: string;
19
+ label: string;
20
+ }>;
21
+ placeholder?: string;
22
+ dependsOn?: {
23
+ field: string;
24
+ values: string[];
25
+ };
26
+ }
27
+ /**
28
+ * Configuration schema for a template
29
+ */
30
+ export interface ConfigSchema {
31
+ [fieldName: string]: ConfigField;
32
+ }
33
+ /**
34
+ * Options for generating a workflow template
35
+ */
36
+ export interface WorkflowTemplateOptions {
37
+ /** Name for the workflow function */
38
+ workflowName: string;
39
+ /** Whether to generate an async workflow */
40
+ async?: boolean;
41
+ /** Configuration values for the template */
42
+ config?: Record<string, unknown>;
43
+ }
44
+ /**
45
+ * A workflow template definition
46
+ */
47
+ export interface WorkflowTemplate {
48
+ /** Unique template ID (used in CLI) */
49
+ id: string;
50
+ /** Display name */
51
+ name: string;
52
+ /** Brief description of the template */
53
+ description: string;
54
+ /** Category for grouping */
55
+ category: 'data-processing' | 'automation' | 'ai' | 'integration' | 'utility';
56
+ /** Configuration schema for the template */
57
+ configSchema?: ConfigSchema;
58
+ /** Generate the template code */
59
+ generate: (options: WorkflowTemplateOptions) => string;
60
+ }
61
+ /**
62
+ * A node type template definition
63
+ */
64
+ export interface NodeTemplate {
65
+ /** Unique template ID */
66
+ id: string;
67
+ /** Display name */
68
+ name: string;
69
+ /** Brief description */
70
+ description: string;
71
+ /** Category for grouping */
72
+ category: 'ai' | 'validation' | 'data' | 'integration' | 'workflow';
73
+ /** Configuration schema for the template (optional) */
74
+ configSchema?: ConfigSchema;
75
+ /** Generate the template code */
76
+ generate: (name: string, config?: Record<string, unknown>) => string;
77
+ }
78
+ /**
79
+ * All available workflow templates
80
+ */
81
+ export declare const workflowTemplates: WorkflowTemplate[];
82
+ /**
83
+ * All available node templates
84
+ */
85
+ export declare const nodeTemplates: NodeTemplate[];
86
+ /**
87
+ * Get a workflow template by ID
88
+ */
89
+ export declare function getWorkflowTemplate(id: string): WorkflowTemplate | undefined;
90
+ /**
91
+ * Get a node template by ID
92
+ */
93
+ export declare function getNodeTemplate(id: string): NodeTemplate | undefined;
94
+ /**
95
+ * Convert a string to camelCase
96
+ */
97
+ export declare function toCamelCase(str: string): string;
98
+ /**
99
+ * Convert a string to PascalCase (for labels)
100
+ */
101
+ export declare function toPascalCase(str: string): string;
102
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Flow Weaver Template Registry
3
+ * Central registry for workflow and node templates
4
+ */
5
+ // Import workflow templates
6
+ import { sequentialTemplate } from './workflows/sequential.js';
7
+ import { foreachTemplate } from './workflows/foreach.js';
8
+ import { conditionalTemplate } from './workflows/conditional.js';
9
+ import { aiAgentTemplate } from './workflows/ai-agent.js';
10
+ import { aiReactTemplate } from './workflows/ai-react.js';
11
+ import { aiRagTemplate } from './workflows/ai-rag.js';
12
+ import { aiChatTemplate } from './workflows/ai-chat.js';
13
+ import { aggregatorTemplate } from './workflows/aggregator.js';
14
+ import { webhookTemplate } from './workflows/webhook.js';
15
+ import { errorHandlerTemplate } from './workflows/error-handler.js';
16
+ import { aiAgentDurableTemplate } from './workflows/ai-agent-durable.js';
17
+ import { aiPipelineDurableTemplate } from './workflows/ai-pipeline-durable.js';
18
+ // Import node templates
19
+ import { validatorNodeTemplate } from './nodes/validator.js';
20
+ import { transformerNodeTemplate } from './nodes/transformer.js';
21
+ import { httpNodeTemplate } from './nodes/http.js';
22
+ import { aggregatorNodeTemplate } from './nodes/aggregator.js';
23
+ // Import AI node templates
24
+ import { llmCallNodeTemplate } from './nodes/llm-call.js';
25
+ import { toolExecutorNodeTemplate } from './nodes/tool-executor.js';
26
+ import { conversationMemoryNodeTemplate } from './nodes/conversation-memory.js';
27
+ // Import agent node templates
28
+ import { promptTemplateNodeTemplate } from './nodes/prompt-template.js';
29
+ import { jsonExtractorNodeTemplate } from './nodes/json-extractor.js';
30
+ import { humanApprovalNodeTemplate } from './nodes/human-approval.js';
31
+ import { agentRouterNodeTemplate } from './nodes/agent-router.js';
32
+ import { ragRetrieverNodeTemplate } from './nodes/rag-retriever.js';
33
+ /**
34
+ * All available workflow templates
35
+ */
36
+ export const workflowTemplates = [
37
+ sequentialTemplate,
38
+ foreachTemplate,
39
+ conditionalTemplate,
40
+ aiAgentTemplate,
41
+ aiReactTemplate,
42
+ aiRagTemplate,
43
+ aiChatTemplate,
44
+ aggregatorTemplate,
45
+ webhookTemplate,
46
+ errorHandlerTemplate,
47
+ aiAgentDurableTemplate,
48
+ aiPipelineDurableTemplate,
49
+ ];
50
+ /**
51
+ * All available node templates
52
+ */
53
+ export const nodeTemplates = [
54
+ validatorNodeTemplate,
55
+ transformerNodeTemplate,
56
+ httpNodeTemplate,
57
+ aggregatorNodeTemplate,
58
+ llmCallNodeTemplate,
59
+ toolExecutorNodeTemplate,
60
+ conversationMemoryNodeTemplate,
61
+ promptTemplateNodeTemplate,
62
+ jsonExtractorNodeTemplate,
63
+ humanApprovalNodeTemplate,
64
+ agentRouterNodeTemplate,
65
+ ragRetrieverNodeTemplate,
66
+ ];
67
+ /**
68
+ * Get a workflow template by ID
69
+ */
70
+ export function getWorkflowTemplate(id) {
71
+ return workflowTemplates.find((t) => t.id === id);
72
+ }
73
+ /**
74
+ * Get a node template by ID
75
+ */
76
+ export function getNodeTemplate(id) {
77
+ return nodeTemplates.find((t) => t.id === id);
78
+ }
79
+ /**
80
+ * Convert a string to camelCase
81
+ */
82
+ export function toCamelCase(str) {
83
+ // Preserve leading underscores/dollar signs
84
+ const leadingMatch = str.match(/^[_$]+/);
85
+ const leading = leadingMatch ? leadingMatch[0] : '';
86
+ const rest = leading ? str.slice(leading.length) : str;
87
+ const result = rest
88
+ .replace(/[-_\s]+(.)?/g, (_, c) => (c ? c.toUpperCase() : ''))
89
+ .replace(/^[^a-zA-Z_$]+/, '') // Strip leading non-identifier chars
90
+ .replace(/^./, (c) => c.toLowerCase());
91
+ const final = leading + result;
92
+ return final || '_' + str.replace(/[^a-zA-Z0-9_$]/g, '');
93
+ }
94
+ /**
95
+ * Convert a string to PascalCase (for labels)
96
+ */
97
+ export function toPascalCase(str) {
98
+ const camel = toCamelCase(str);
99
+ return camel.charAt(0).toUpperCase() + camel.slice(1);
100
+ }
101
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,3 @@
1
+ import type { NodeTemplate } from '../index.js';
2
+ export declare const agentRouterNodeTemplate: NodeTemplate;
3
+ //# sourceMappingURL=agent-router.d.ts.map