@synergenius/flow-weaver 0.33.1 → 0.44.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 (922) hide show
  1. package/LICENSE +201 -226
  2. package/NOTICE +13 -0
  3. package/README.md +152 -244
  4. package/dist/agent/agent-loop.d.ts +4 -2
  5. package/dist/agent/cli-session.d.ts +3 -3
  6. package/dist/agent/cli-session.js +511 -438
  7. package/dist/agent/cli-spawn-config.d.ts +4 -4
  8. package/dist/agent/gate.d.ts +164 -0
  9. package/dist/agent/index.d.ts +4 -4
  10. package/dist/agent/index.js +174 -28
  11. package/dist/agent/mcp-bridge.d.ts +1 -1
  12. package/dist/agent/mcp-bridge.js +114 -128
  13. package/dist/agent/mcp-tool-server.d.ts +2 -2
  14. package/dist/agent/mcp-tool-server.js +147 -189
  15. package/dist/agent/profiles.d.ts +69 -0
  16. package/dist/agent/providers/anthropic.d.ts +2 -4
  17. package/dist/agent/providers/claude-cli.d.ts +4 -5
  18. package/dist/agent/providers/openai-compat.d.ts +8 -1
  19. package/dist/agent/streaming.d.ts +2 -2
  20. package/dist/agent/types.d.ts +16 -10
  21. package/dist/api/builder.d.ts +3 -3
  22. package/dist/api/compile.d.ts +9 -4
  23. package/dist/api/durable-validation.d.ts +15 -0
  24. package/dist/api/generate-in-place.d.ts +21 -19
  25. package/dist/api/generate.d.ts +21 -16
  26. package/dist/api/generated-module/local-node-functions.d.ts +24 -0
  27. package/dist/api/generated-module/module-format.d.ts +23 -0
  28. package/dist/api/generated-module/module-writer.d.ts +34 -0
  29. package/dist/api/generated-module/node-type-imports.d.ts +39 -0
  30. package/dist/api/generated-module/preamble.d.ts +16 -0
  31. package/dist/api/generated-module/workflow-functions.d.ts +29 -0
  32. package/dist/api/graph-identity.d.ts +39 -0
  33. package/dist/api/helpers.d.ts +4 -60
  34. package/dist/api/in-place/built-in-nodes.d.ts +18 -0
  35. package/dist/api/in-place/function-body.d.ts +21 -0
  36. package/dist/api/in-place/fw-imports.d.ts +30 -0
  37. package/dist/api/in-place/macro-coverage.d.ts +14 -0
  38. package/dist/api/in-place/node-type-functions.d.ts +18 -0
  39. package/dist/api/in-place/node-type-jsdoc.d.ts +20 -0
  40. package/dist/api/in-place/orphaned-node-types.d.ts +16 -0
  41. package/dist/api/in-place/runtime-section.d.ts +16 -0
  42. package/dist/api/in-place/signature.d.ts +47 -0
  43. package/dist/api/in-place/source-file.d.ts +19 -0
  44. package/dist/api/in-place/workflow-jsdoc.d.ts +19 -0
  45. package/dist/api/index.d.ts +18 -21
  46. package/dist/api/index.js +259 -53
  47. package/dist/api/inline-engine.generated.d.ts +3 -0
  48. package/dist/api/inline-runtime.d.ts +10 -2
  49. package/dist/api/manipulation/connections.d.ts +1 -1
  50. package/dist/api/manipulation/index.d.ts +8 -8
  51. package/dist/api/manipulation/node-types.d.ts +1 -1
  52. package/dist/api/manipulation/nodes.d.ts +3 -13
  53. package/dist/api/manipulation/ports.d.ts +1 -1
  54. package/dist/api/manipulation/scopes.d.ts +1 -1
  55. package/dist/api/manipulation/workflow.d.ts +1 -1
  56. package/dist/api/modify-operation.d.ts +0 -2
  57. package/dist/api/parse.d.ts +22 -1
  58. package/dist/api/port-references.d.ts +66 -0
  59. package/dist/api/query.d.ts +18 -2
  60. package/dist/api/templates.d.ts +1 -1
  61. package/dist/api/transform.d.ts +1 -1
  62. package/dist/api/validate.d.ts +1 -1
  63. package/dist/api/validation-registry.d.ts +2 -2
  64. package/dist/artifacts/brief.d.ts +43 -0
  65. package/dist/artifacts/index.d.ts +31 -0
  66. package/dist/artifacts/pdf.d.ts +19 -0
  67. package/dist/ast/builder.d.ts +3 -3
  68. package/dist/ast/index.d.ts +4 -4
  69. package/dist/ast/index.js +60 -5
  70. package/dist/ast/serialization-node.d.ts +1 -1
  71. package/dist/ast/serialization.d.ts +1 -1
  72. package/dist/ast/types.d.ts +82 -291
  73. package/dist/ast/workflow-utils.d.ts +4 -4
  74. package/dist/built-in-nodes/coercion-types.d.ts +1 -1
  75. package/dist/built-in-nodes/delay.d.ts +3 -1
  76. package/dist/built-in-nodes/generated-registry.d.ts +1 -1
  77. package/dist/built-in-nodes/index.d.ts +6 -5
  78. package/dist/built-in-nodes/index.js +79 -5
  79. package/dist/built-in-nodes/invoke-workflow.d.ts +2 -1
  80. package/dist/built-in-nodes/mock-types.d.ts +45 -14
  81. package/dist/built-in-nodes/sleep.d.ts +12 -0
  82. package/dist/built-in-nodes/wait-for-agent.d.ts +2 -1
  83. package/dist/built-in-nodes/wait-for-event.d.ts +2 -1
  84. package/dist/chevrotain-parser/coerce-parser.d.ts +1 -1
  85. package/dist/chevrotain-parser/connect-parser.d.ts +1 -1
  86. package/dist/chevrotain-parser/grammar-diagrams.d.ts +1 -1
  87. package/dist/chevrotain-parser/index.d.ts +20 -23
  88. package/dist/chevrotain-parser/node-parser.d.ts +7 -8
  89. package/dist/chevrotain-parser/parse-line.d.ts +54 -0
  90. package/dist/chevrotain-parser/tokens.d.ts +0 -17
  91. package/dist/chevrotain-parser/trigger-cancel-parser.d.ts +6 -1
  92. package/dist/chunks/chunk-4EUSHAY6.js +298 -0
  93. package/dist/chunks/chunk-4KDUEOFD.js +197 -0
  94. package/dist/chunks/chunk-5Y3AIUWY.js +911 -0
  95. package/dist/chunks/chunk-6KMVP6AU.js +20 -0
  96. package/dist/chunks/chunk-6PNJORFL.js +128 -0
  97. package/dist/chunks/chunk-7AAQNGRH.js +2001 -0
  98. package/dist/chunks/chunk-7YYKTPJ5.js +22705 -0
  99. package/dist/chunks/chunk-A5MBOFVY.js +33 -0
  100. package/dist/chunks/chunk-AXNQRVJB.js +18 -0
  101. package/dist/chunks/chunk-B6HQ6YS5.js +572 -0
  102. package/dist/chunks/chunk-CY3RNVML.js +296 -0
  103. package/dist/chunks/chunk-CYHYDLV4.js +653 -0
  104. package/dist/chunks/chunk-CZBCCK4Y.js +82 -0
  105. package/dist/chunks/chunk-DCMGQP5V.js +505 -0
  106. package/dist/chunks/chunk-DIAA66GL.js +72 -0
  107. package/dist/chunks/chunk-DUO6H5PR.js +20 -0
  108. package/dist/chunks/chunk-E5WN7IGO.js +125 -0
  109. package/dist/chunks/chunk-EFGFXXQF.js +184 -0
  110. package/dist/chunks/chunk-F3RTZV2A.js +2811 -0
  111. package/dist/chunks/chunk-FMTLP5ZX.js +1397 -0
  112. package/dist/chunks/chunk-HKZLQJDV.js +79 -0
  113. package/dist/chunks/chunk-INDEVYEC.js +146 -0
  114. package/dist/chunks/chunk-JQTF4R5L.js +390 -0
  115. package/dist/chunks/chunk-KMCAYNUM.js +331 -0
  116. package/dist/chunks/chunk-KMWCCOUJ.js +1444 -0
  117. package/dist/chunks/chunk-KU3CLJI2.js +338 -0
  118. package/dist/chunks/chunk-NDSTGMKR.js +3300 -0
  119. package/dist/chunks/chunk-NQNLUAPO.js +505 -0
  120. package/dist/chunks/chunk-O2U2LO57.js +466 -0
  121. package/dist/chunks/chunk-OOQG7UPP.js +457 -0
  122. package/dist/chunks/chunk-OZQAW5ZG.js +112 -0
  123. package/dist/chunks/chunk-P2CVDGHR.js +487 -0
  124. package/dist/chunks/chunk-P44RIZ7C.js +592 -0
  125. package/dist/chunks/chunk-PEZCT37T.js +1475 -0
  126. package/dist/chunks/chunk-PKWSAW6O.js +152 -0
  127. package/dist/chunks/chunk-Q6MDDZMT.js +4373 -0
  128. package/dist/chunks/chunk-QDE4Z7KW.js +6 -0
  129. package/dist/chunks/chunk-QJDAVSNY.js +8 -0
  130. package/dist/chunks/chunk-QYPORSLO.js +7552 -0
  131. package/dist/chunks/chunk-R4QGNK34.js +183 -0
  132. package/dist/chunks/chunk-REEYC73I.js +3002 -0
  133. package/dist/chunks/chunk-SEWDMQ6Q.js +46 -0
  134. package/dist/chunks/chunk-TAIUWKZB.js +3057 -0
  135. package/dist/chunks/chunk-TN4YZ3O7.js +196 -0
  136. package/dist/chunks/chunk-TRMFB43C.js +143 -0
  137. package/dist/chunks/chunk-VO4QXG2X.js +1016 -0
  138. package/dist/chunks/chunk-VP2P3BPA.js +1002 -0
  139. package/dist/chunks/chunk-VQ7H33J4.js +2176 -0
  140. package/dist/chunks/chunk-VWA7MCV2.js +105 -0
  141. package/dist/chunks/chunk-XAV22WD7.js +253 -0
  142. package/dist/chunks/chunk-YSPBPZDV.js +148 -0
  143. package/dist/chunks/chunk-ZKEGXO73.js +282 -0
  144. package/dist/chunks/chunk-ZMGN6F3S.js +4256 -0
  145. package/dist/chunks/grammar-diagrams-AI7VDXOM.js +14 -0
  146. package/dist/chunks/index.min-ECJD6GZC.js +37 -0
  147. package/dist/chunks/manifest-EPTR5MYH.js +21 -0
  148. package/dist/chunks/openapi-document-6TCGVDUW.js +69 -0
  149. package/dist/chunks/registry-K2U5KUTY.js +23 -0
  150. package/dist/chunks/serialization-node-UGY6CFH6.js +38 -0
  151. package/dist/chunks/validate-GEKSZPIN.js +24 -0
  152. package/dist/chunks/validation-registry-IQZX3UE3.js +7 -0
  153. package/dist/chunks/validator-VXFHLPDW.js +26 -0
  154. package/dist/chunks/workflow-executor-KBGFKHNR.js +36 -0
  155. package/dist/cli/commands/agents.d.ts +16 -0
  156. package/dist/cli/commands/artifact.d.ts +10 -0
  157. package/dist/cli/commands/compile.d.ts +0 -30
  158. package/dist/cli/commands/console.d.ts +32 -0
  159. package/dist/cli/commands/context.d.ts +0 -3
  160. package/dist/cli/commands/describe.js +386 -352
  161. package/dist/cli/commands/dev.d.ts +9 -4
  162. package/dist/cli/commands/diagram.d.ts +3 -5
  163. package/dist/cli/commands/doctor.d.ts +27 -4
  164. package/dist/cli/commands/doctor.js +3307 -633
  165. package/dist/cli/commands/export.d.ts +6 -4
  166. package/dist/cli/commands/grammar.d.ts +0 -3
  167. package/dist/cli/commands/implement.d.ts +1 -1
  168. package/dist/cli/commands/init/agent-handoff.d.ts +28 -0
  169. package/dist/cli/commands/init/config.d.ts +3 -0
  170. package/dist/cli/commands/init/files.d.ts +12 -0
  171. package/dist/cli/commands/init/naming.d.ts +13 -0
  172. package/dist/cli/commands/init/output.d.ts +12 -0
  173. package/dist/cli/commands/init/setup.d.ts +21 -0
  174. package/dist/cli/commands/init/types.d.ts +53 -0
  175. package/dist/cli/commands/init-personas.d.ts +9 -1
  176. package/dist/cli/commands/init.d.ts +24 -88
  177. package/dist/cli/commands/market.d.ts +1 -1
  178. package/dist/cli/commands/mcp-setup.d.ts +1 -4
  179. package/dist/cli/commands/modify.d.ts +0 -5
  180. package/dist/cli/commands/openapi.d.ts +9 -11
  181. package/dist/cli/commands/run.d.ts +0 -4
  182. package/dist/cli/commands/serve.d.ts +24 -26
  183. package/dist/cli/commands/status.d.ts +1 -1
  184. package/dist/cli/exports.d.ts +3 -4
  185. package/dist/cli/exports.js +124 -23
  186. package/dist/cli/flow-weaver-agents-H653446S.mjs +81 -0
  187. package/dist/cli/flow-weaver-artifact-WBFYTW76.mjs +58 -0
  188. package/dist/cli/flow-weaver-chunk-265CEK74.mjs +2 -0
  189. package/dist/cli/flow-weaver-chunk-2C7PZCV5.mjs +186 -0
  190. package/dist/cli/flow-weaver-chunk-3BSYCWPL.mjs +3109 -0
  191. package/dist/cli/flow-weaver-chunk-3MKUQP3D.mjs +547 -0
  192. package/dist/cli/flow-weaver-chunk-3ZLMPQTH.mjs +27 -0
  193. package/dist/cli/flow-weaver-chunk-4DVY73ML.mjs +280 -0
  194. package/dist/cli/flow-weaver-chunk-54M4KNEL.mjs +200 -0
  195. package/dist/cli/flow-weaver-chunk-55QMUZIA.mjs +256 -0
  196. package/dist/cli/flow-weaver-chunk-6ZUJ7LMX.mjs +2003 -0
  197. package/dist/cli/flow-weaver-chunk-7ET6N32V.mjs +419 -0
  198. package/dist/cli/flow-weaver-chunk-7G63RR4K.mjs +8880 -0
  199. package/dist/cli/flow-weaver-chunk-A6M5K3W7.mjs +4418 -0
  200. package/dist/cli/flow-weaver-chunk-AA3NATMX.mjs +154 -0
  201. package/dist/cli/flow-weaver-chunk-APX6MQ5A.mjs +5652 -0
  202. package/dist/cli/flow-weaver-chunk-BHCC5FE5.mjs +17 -0
  203. package/dist/cli/flow-weaver-chunk-DM4BBRRU.mjs +35 -0
  204. package/dist/cli/flow-weaver-chunk-DRN7KPWY.mjs +168 -0
  205. package/dist/cli/flow-weaver-chunk-EKWF27G6.mjs +23 -0
  206. package/dist/cli/flow-weaver-chunk-EM5HWQ4R.mjs +338 -0
  207. package/dist/cli/flow-weaver-chunk-FPPPU2DG.mjs +226 -0
  208. package/dist/cli/flow-weaver-chunk-GAQXZHNO.mjs +3005 -0
  209. package/dist/cli/flow-weaver-chunk-GBUNNP33.mjs +1329 -0
  210. package/dist/cli/flow-weaver-chunk-HMAKDE55.mjs +636 -0
  211. package/dist/cli/flow-weaver-chunk-HQ3ZAN44.mjs +367 -0
  212. package/dist/cli/flow-weaver-chunk-I4APCXYN.mjs +21442 -0
  213. package/dist/cli/flow-weaver-chunk-IJJ4JXTL.mjs +2297 -0
  214. package/dist/cli/flow-weaver-chunk-J7EPZW2I.mjs +33 -0
  215. package/dist/cli/flow-weaver-chunk-KOEMJHLG.mjs +83 -0
  216. package/dist/cli/flow-weaver-chunk-M6CBWQKJ.mjs +271 -0
  217. package/dist/cli/flow-weaver-chunk-MHJ4N652.mjs +1580 -0
  218. package/dist/cli/flow-weaver-chunk-MKAFQWLP.mjs +202 -0
  219. package/dist/cli/flow-weaver-chunk-MMV2XGD3.mjs +3291 -0
  220. package/dist/cli/flow-weaver-chunk-MSI2UJES.mjs +125 -0
  221. package/dist/cli/flow-weaver-chunk-N767YRAI.mjs +48 -0
  222. package/dist/cli/flow-weaver-chunk-NQKKWDGF.mjs +56 -0
  223. package/dist/cli/flow-weaver-chunk-NYZDQYFU.mjs +45 -0
  224. package/dist/cli/flow-weaver-chunk-OMVWSNHJ.mjs +14 -0
  225. package/dist/cli/flow-weaver-chunk-PUWZ47H5.mjs +2188 -0
  226. package/dist/cli/flow-weaver-chunk-QOPRVDES.mjs +46 -0
  227. package/dist/cli/flow-weaver-chunk-RIWE7YTR.mjs +216 -0
  228. package/dist/cli/flow-weaver-chunk-S63Q3JIU.mjs +789 -0
  229. package/dist/cli/flow-weaver-chunk-T7X5A23H.mjs +558 -0
  230. package/dist/cli/flow-weaver-chunk-TLV3VZUN.mjs +2 -0
  231. package/dist/cli/flow-weaver-chunk-TS5P3PIN.mjs +194 -0
  232. package/dist/cli/flow-weaver-chunk-U3EO3X4B.mjs +649 -0
  233. package/dist/cli/flow-weaver-chunk-UNFS3NQP.mjs +34 -0
  234. package/dist/cli/flow-weaver-chunk-V6DHWFQG.mjs +2811 -0
  235. package/dist/cli/flow-weaver-chunk-VXWNLYQU.mjs +9 -0
  236. package/dist/cli/flow-weaver-chunk-W3YNK26P.mjs +149 -0
  237. package/dist/cli/flow-weaver-chunk-XG2WKXYZ.mjs +324 -0
  238. package/dist/cli/flow-weaver-chunk-YLSRZWFK.mjs +2219 -0
  239. package/dist/cli/flow-weaver-chunk-YVPURWS6.mjs +40 -0
  240. package/dist/cli/flow-weaver-chunk-Z44JK332.mjs +582 -0
  241. package/dist/cli/flow-weaver-chunk-Z5ZJPNSY.mjs +517 -0
  242. package/dist/cli/flow-weaver-chunk-ZQALO25T.mjs +594 -0
  243. package/dist/cli/flow-weaver-compile-A2CABDSB.mjs +37 -0
  244. package/dist/cli/flow-weaver-console-6EBHDBTN.mjs +71 -0
  245. package/dist/cli/flow-weaver-context-ECLYANFF.mjs +17 -0
  246. package/dist/cli/flow-weaver-context-ZRUMW2KE.mjs +69 -0
  247. package/dist/cli/flow-weaver-create-WIP4EFNP.mjs +124 -0
  248. package/dist/cli/flow-weaver-deployment-WJJRK7NO.mjs +14 -0
  249. package/dist/cli/flow-weaver-describe-XDIFF5LI.mjs +41 -0
  250. package/dist/cli/flow-weaver-dev-LG2NSQAU.mjs +196 -0
  251. package/dist/cli/flow-weaver-diagram-3EVQARQE.mjs +52 -0
  252. package/dist/cli/flow-weaver-diagram-7LR7O4M2.mjs +44 -0
  253. package/dist/cli/flow-weaver-diff-USF7DJLU.mjs +85 -0
  254. package/dist/cli/flow-weaver-docs-QU2ZOXKH.mjs +96 -0
  255. package/dist/cli/flow-weaver-doctor-K447YWHR.mjs +43 -0
  256. package/dist/cli/flow-weaver-export-LAS6N56Y.mjs +140 -0
  257. package/dist/cli/flow-weaver-grammar-RIRUS3Q6.mjs +49 -0
  258. package/dist/cli/flow-weaver-grammar-diagrams-WXRTW5SK.mjs +15 -0
  259. package/dist/cli/flow-weaver-implement-5JG6BCFZ.mjs +114 -0
  260. package/dist/cli/flow-weaver-index.min-OR5SIHXD.mjs +39 -0
  261. package/dist/cli/flow-weaver-init-34YZNPQX.mjs +972 -0
  262. package/dist/cli/flow-weaver-init-personas-NOGZTQQ2.mjs +48 -0
  263. package/dist/cli/flow-weaver-manifest-4JNUSEB3.mjs +18 -0
  264. package/dist/cli/flow-weaver-market-WA4CKHKV.mjs +444 -0
  265. package/dist/cli/flow-weaver-mcp-setup-O26MGXSD.mjs +22 -0
  266. package/dist/cli/flow-weaver-migrate-VFVEUTPH.mjs +119 -0
  267. package/dist/cli/flow-weaver-modify-VM3JP5K6.mjs +97 -0
  268. package/dist/cli/flow-weaver-openapi-IRBWI3HM.mjs +71 -0
  269. package/dist/cli/flow-weaver-openapi-document-7N6YMPG3.mjs +30 -0
  270. package/dist/cli/flow-weaver-pack-commands-OS2QRXAK.mjs +146 -0
  271. package/dist/cli/flow-weaver-registry-5MLFRPPT.mjs +25 -0
  272. package/dist/cli/flow-weaver-run-DSTLSTHR.mjs +555 -0
  273. package/dist/cli/flow-weaver-serialization-node-LE6PCG4M.mjs +50 -0
  274. package/dist/cli/flow-weaver-serve-NVLCLSOW.mjs +192 -0
  275. package/dist/cli/flow-weaver-server-7IERLVXE.mjs +2925 -0
  276. package/dist/cli/flow-weaver-server-KWF4PXYC.mjs +19112 -0
  277. package/dist/cli/flow-weaver-status-75W2S3YB.mjs +138 -0
  278. package/dist/cli/flow-weaver-strip-AZPXUYVA.mjs +79 -0
  279. package/dist/cli/flow-weaver-templates-DSNMB6K7.mjs +72 -0
  280. package/dist/cli/flow-weaver-validate-A4UWDQN6.mjs +19 -0
  281. package/dist/cli/flow-weaver-validate-GRBZ5W4C.mjs +296 -0
  282. package/dist/cli/flow-weaver-validation-registry-BINGUNXX.mjs +9 -0
  283. package/dist/cli/flow-weaver-validator-TY56CI42.mjs +21 -0
  284. package/dist/cli/flow-weaver-watch-OPPERXL6.mjs +114 -0
  285. package/dist/cli/flow-weaver-workflow-executor-6AHYPXAN.mjs +26 -0
  286. package/dist/cli/flow-weaver.mjs +3557 -89498
  287. package/dist/cli/index.d.ts +5 -2
  288. package/dist/cli/pack-commands-needed.d.ts +12 -0
  289. package/dist/cli/program.d.ts +14 -0
  290. package/dist/cli/templates/ai/mock-provider.d.ts +1 -1
  291. package/dist/cli/templates/index.d.ts +1 -8
  292. package/dist/cli/templates/nodes/agent-router.d.ts +1 -1
  293. package/dist/cli/templates/nodes/aggregator.d.ts +1 -1
  294. package/dist/cli/templates/nodes/conversation-memory.d.ts +1 -1
  295. package/dist/cli/templates/nodes/http.d.ts +1 -1
  296. package/dist/cli/templates/nodes/human-approval.d.ts +1 -1
  297. package/dist/cli/templates/nodes/json-extractor.d.ts +1 -1
  298. package/dist/cli/templates/nodes/llm-call.d.ts +1 -1
  299. package/dist/cli/templates/nodes/prompt-template.d.ts +1 -1
  300. package/dist/cli/templates/nodes/rag-retriever.d.ts +1 -1
  301. package/dist/cli/templates/nodes/tool-executor.d.ts +1 -1
  302. package/dist/cli/templates/nodes/transformer.d.ts +1 -1
  303. package/dist/cli/templates/nodes/validator.d.ts +1 -1
  304. package/dist/cli/templates/shared/approval-types.d.ts +1 -1
  305. package/dist/cli/templates/shared/case.d.ts +14 -0
  306. package/dist/cli/templates/shared/llm-types.d.ts +4 -4
  307. package/dist/cli/templates/workflows/aggregator.d.ts +1 -1
  308. package/dist/cli/templates/workflows/ai-agent.d.ts +1 -1
  309. package/dist/cli/templates/workflows/ai-chat.d.ts +1 -1
  310. package/dist/cli/templates/workflows/ai-rag.d.ts +1 -1
  311. package/dist/cli/templates/workflows/ai-react.d.ts +1 -1
  312. package/dist/cli/templates/workflows/approval.d.ts +10 -0
  313. package/dist/cli/templates/workflows/conditional.d.ts +2 -2
  314. package/dist/cli/templates/workflows/error-handler.d.ts +2 -2
  315. package/dist/cli/templates/workflows/foreach.d.ts +1 -1
  316. package/dist/cli/templates/workflows/sequential.d.ts +1 -1
  317. package/dist/cli/templates/workflows/webhook.d.ts +1 -1
  318. package/dist/cli/utils/interactive.d.ts +6 -0
  319. package/dist/cli/utils/json-option.d.ts +8 -0
  320. package/dist/cli/utils/logger.d.ts +2 -0
  321. package/dist/compiler/durable-source-proof.d.ts +23 -0
  322. package/dist/compiler/executable-artifact.d.ts +29 -0
  323. package/dist/compiler/index.d.ts +4 -0
  324. package/dist/compiler/index.js +36 -0
  325. package/dist/console/app.js +106 -0
  326. package/dist/console/assets/synergenius.svg +18 -0
  327. package/dist/console/author.d.ts +32 -0
  328. package/dist/console/cli-catalog.d.ts +21 -0
  329. package/dist/console/cli-run.d.ts +35 -0
  330. package/dist/console/cli-run.js +46 -0
  331. package/dist/console/debug.d.ts +67 -0
  332. package/dist/console/diff-view.d.ts +96 -0
  333. package/dist/console/export.d.ts +36 -0
  334. package/dist/console/git.d.ts +27 -0
  335. package/dist/console/index.d.ts +4 -0
  336. package/dist/console/index.html +16 -0
  337. package/dist/console/index.js +203 -0
  338. package/dist/console/packs.d.ts +100 -0
  339. package/dist/console/request-guard.d.ts +10 -0
  340. package/dist/console/respond.d.ts +16 -0
  341. package/dist/console/router.d.ts +64 -0
  342. package/dist/console/routes-agents.d.ts +14 -0
  343. package/dist/console/routes-project.d.ts +3 -0
  344. package/dist/console/routes-runs.d.ts +3 -0
  345. package/dist/console/routes-services.d.ts +7 -0
  346. package/dist/console/routes-tools.d.ts +3 -0
  347. package/dist/console/runs.d.ts +69 -0
  348. package/dist/console/scan.d.ts +49 -0
  349. package/dist/console/schema.d.ts +74 -0
  350. package/dist/console/server.d.ts +34 -0
  351. package/dist/console/server.js +43264 -0
  352. package/dist/console/services.d.ts +119 -0
  353. package/dist/console/source.d.ts +23 -0
  354. package/dist/console/status.d.ts +68 -0
  355. package/dist/console/styles.css +1023 -0
  356. package/dist/console/terminals.d.ts +22 -0
  357. package/dist/console/workflow-view.d.ts +153 -0
  358. package/dist/constants.d.ts +5 -1
  359. package/dist/constants.js +56 -167
  360. package/dist/context/index.d.ts +10 -0
  361. package/dist/context/index.js +14 -191
  362. package/dist/coordinator/agent-gate.d.ts +107 -0
  363. package/dist/coordinator/bundle-digest.d.ts +20 -0
  364. package/dist/coordinator/clock-tick.d.ts +4 -0
  365. package/dist/coordinator/effect-receipts.d.ts +10 -0
  366. package/dist/coordinator/errors.d.ts +31 -0
  367. package/dist/coordinator/file-store.d.ts +3 -0
  368. package/dist/coordinator/gate-labeling.d.ts +33 -0
  369. package/dist/coordinator/gate-resolution.d.ts +28 -0
  370. package/dist/coordinator/index.d.ts +12 -0
  371. package/dist/coordinator/index.js +107 -0
  372. package/dist/coordinator/memory-store.d.ts +3 -0
  373. package/dist/coordinator/params.d.ts +18 -0
  374. package/dist/coordinator/run-annotations.d.ts +6 -0
  375. package/dist/coordinator/run-context.d.ts +11 -0
  376. package/dist/coordinator/run-ending.d.ts +5 -0
  377. package/dist/coordinator/run-outcome.d.ts +31 -0
  378. package/dist/coordinator/run-resume.d.ts +6 -0
  379. package/dist/coordinator/run-start.d.ts +4 -0
  380. package/dist/coordinator/run-store.d.ts +275 -0
  381. package/dist/coordinator/run-trace.d.ts +41 -0
  382. package/dist/coordinator/run-views.d.ts +12 -0
  383. package/dist/coordinator/runs-dir.d.ts +26 -0
  384. package/dist/coordinator/store.d.ts +67 -0
  385. package/dist/coordinator/time.d.ts +39 -0
  386. package/dist/coordinator/workflow-selection.d.ts +6 -0
  387. package/dist/deployment/index.d.ts +11 -16
  388. package/dist/deployment/index.js +541 -50
  389. package/dist/deployment/targets/base.d.ts +11 -13
  390. package/dist/deployment/targets/openapi-parts.d.ts +92 -0
  391. package/dist/diagram/arms.d.ts +70 -0
  392. package/dist/diagram/ascii-renderer.d.ts +1 -1
  393. package/dist/diagram/geometry.d.ts +22 -29
  394. package/dist/diagram/graph/bounds.d.ts +30 -0
  395. package/dist/diagram/graph/metrics.d.ts +21 -0
  396. package/dist/diagram/graph/nodes.d.ts +33 -0
  397. package/dist/diagram/graph/placement.d.ts +22 -0
  398. package/dist/diagram/graph/ports.d.ts +23 -0
  399. package/dist/diagram/graph/routing.d.ts +40 -0
  400. package/dist/diagram/graph/scopes.d.ts +30 -0
  401. package/dist/diagram/index.d.ts +15 -23
  402. package/dist/diagram/index.js +632 -111
  403. package/dist/diagram/labels.d.ts +12 -0
  404. package/dist/diagram/lanes.d.ts +93 -0
  405. package/dist/diagram/layout.d.ts +1 -1
  406. package/dist/diagram/material-symbols.d.ts +7 -0
  407. package/dist/diagram/orthogonal-router.d.ts +15 -51
  408. package/dist/diagram/process-view.d.ts +79 -0
  409. package/dist/diagram/spine.d.ts +25 -0
  410. package/dist/diagram/theme.d.ts +3 -5
  411. package/dist/diagram/types.d.ts +6 -20
  412. package/dist/diff/index.js +53 -9
  413. package/dist/diff/types.d.ts +1 -5
  414. package/dist/doc-metadata/extractors/annotations.d.ts +0 -4
  415. package/dist/doc-metadata/extractors/cli-commands.d.ts +2 -1
  416. package/dist/doc-metadata/extractors/core-metadata.d.ts +19 -4
  417. package/dist/doc-metadata/extractors/error-codes.d.ts +1 -1
  418. package/dist/doc-metadata/extractors/mcp-tools.d.ts +7 -3
  419. package/dist/doc-metadata/index.d.ts +1 -2
  420. package/dist/doc-metadata/index.js +2368 -9
  421. package/dist/doc-metadata/types.d.ts +7 -24
  422. package/dist/docs/guide.d.ts +33 -0
  423. package/dist/docs/index.d.ts +7 -4
  424. package/dist/docs/index.js +298 -298
  425. package/dist/docs/pack-topics.d.ts +18 -0
  426. package/dist/editor-completions/annotationValues.d.ts +1 -1
  427. package/dist/editor-completions/contextParser.d.ts +3 -2
  428. package/dist/editor-completions/dataTypes.d.ts +1 -1
  429. package/dist/editor-completions/goToDefinition.d.ts +1 -1
  430. package/dist/editor-completions/index.d.ts +8 -8
  431. package/dist/editor-completions/index.js +1244 -175
  432. package/dist/editor-completions/jsDocAnnotations.d.ts +1 -1
  433. package/dist/editor-completions/modifierCompletions.d.ts +1 -1
  434. package/dist/export/index.d.ts +7 -1
  435. package/dist/generated-branding.js +8 -21
  436. package/dist/generated-version.d.ts +1 -1
  437. package/dist/generated-version.js +7 -3
  438. package/dist/generator/annotation-generator.d.ts +84 -0
  439. package/dist/generator/async-detection.d.ts +1 -1
  440. package/dist/{body-generator.d.ts → generator/body-generator.d.ts} +7 -3
  441. package/dist/generator/code-utils.d.ts +15 -60
  442. package/dist/generator/connection-reads.d.ts +94 -0
  443. package/dist/generator/control-flow-plan.d.ts +74 -0
  444. package/dist/generator/control-flow.d.ts +1 -1
  445. package/dist/generator/exit-assembly.d.ts +11 -0
  446. package/dist/generator/index.d.ts +4 -5
  447. package/dist/generator/index.js +34 -11
  448. package/dist/generator/input-port-values.d.ts +22 -0
  449. package/dist/generator/{scope-function-generator.d.ts → node-arguments.d.ts} +76 -1
  450. package/dist/generator/node-invocation.d.ts +74 -0
  451. package/dist/{node-types-generator.d.ts → generator/node-types-generator.d.ts} +3 -2
  452. package/dist/generator/scope-closure.d.ts +23 -0
  453. package/dist/generator/scoped-child.d.ts +49 -0
  454. package/dist/{sugar-optimizer.d.ts → generator/sugar-optimizer.d.ts} +1 -1
  455. package/dist/generator/unified.d.ts +14 -2
  456. package/dist/generator/workflow-generator.d.ts +37 -0
  457. package/dist/index.d.ts +29 -26
  458. package/dist/index.js +1322 -92
  459. package/dist/jsdoc-port-sync/apply-diff.d.ts +15 -0
  460. package/dist/jsdoc-port-sync/callback-signature.d.ts +17 -0
  461. package/dist/jsdoc-port-sync/diff.d.ts +5 -7
  462. package/dist/jsdoc-port-sync/incomplete-lines.d.ts +41 -0
  463. package/dist/jsdoc-port-sync/index.d.ts +11 -11
  464. package/dist/jsdoc-port-sync/index.js +88 -45
  465. package/dist/jsdoc-port-sync/jsdoc-to-signature.d.ts +66 -0
  466. package/dist/jsdoc-port-sync/port-parser.d.ts +6 -24
  467. package/dist/jsdoc-port-sync/port-tag-placement.d.ts +55 -0
  468. package/dist/jsdoc-port-sync/scoped-ports.d.ts +21 -0
  469. package/dist/jsdoc-port-sync/signature-parser.d.ts +8 -1
  470. package/dist/jsdoc-port-sync/signature-to-jsdoc.d.ts +77 -0
  471. package/dist/jsdoc-port-sync/sync.d.ts +4 -1
  472. package/dist/marketplace/index.d.ts +5 -3
  473. package/dist/marketplace/index.js +62 -10
  474. package/dist/marketplace/install.d.ts +24 -0
  475. package/dist/marketplace/manifest.d.ts +1 -1
  476. package/dist/marketplace/npmrc.d.ts +24 -0
  477. package/dist/marketplace/registry.d.ts +46 -11
  478. package/dist/marketplace/types.d.ts +41 -24
  479. package/dist/marketplace/validator.d.ts +1 -1
  480. package/dist/mcp/debug-session.d.ts +2 -4
  481. package/dist/mcp/dist-imports.d.ts +12 -0
  482. package/dist/mcp/response-utils.d.ts +11 -9
  483. package/dist/mcp/server.d.ts +0 -1
  484. package/dist/mcp/tools-context.d.ts +11 -0
  485. package/dist/mcp/tools-diagram.d.ts +1 -2
  486. package/dist/mcp/tools-export.d.ts +2 -2
  487. package/dist/mcp/tools-marketplace.d.ts +1 -1
  488. package/dist/mcp/tools-run.d.ts +17 -0
  489. package/dist/mcp/tools-workflow.d.ts +3 -0
  490. package/dist/mcp/types.d.ts +4 -14
  491. package/dist/mcp/workflow-executor.d.ts +57 -19
  492. package/dist/npm-packages.d.ts +1 -1
  493. package/dist/npm-packages.js +10 -473
  494. package/dist/parser/annotation-parser.d.ts +88 -0
  495. package/dist/parser/annotation-suggestion.d.ts +23 -0
  496. package/dist/parser/durable-effect-contract.d.ts +10 -0
  497. package/dist/parser/expression-references.d.ts +101 -0
  498. package/dist/parser/external-node-types.d.ts +69 -0
  499. package/dist/{function-like.d.ts → parser/function-like.d.ts} +10 -3
  500. package/dist/parser/generated-sections.d.ts +25 -0
  501. package/dist/parser/import-resolution.d.ts +67 -0
  502. package/dist/parser/import-stub.d.ts +29 -0
  503. package/dist/parser/jsdoc/config-types.d.ts +209 -0
  504. package/dist/parser/jsdoc/graph-tags.d.ts +54 -0
  505. package/dist/parser/jsdoc/node-type-block.d.ts +23 -0
  506. package/dist/parser/jsdoc/parse-line-once.d.ts +11 -0
  507. package/dist/parser/jsdoc/port-tags.d.ts +42 -0
  508. package/dist/parser/jsdoc/runtime-tags.d.ts +65 -0
  509. package/dist/parser/jsdoc/signature-types.d.ts +52 -0
  510. package/dist/parser/jsdoc/workflow-block.d.ts +22 -0
  511. package/dist/parser/jsdoc-parser.d.ts +23 -0
  512. package/dist/parser/macro-expansion.d.ts +80 -0
  513. package/dist/parser/module-resolution.d.ts +38 -0
  514. package/dist/parser/node-inference.d.ts +39 -0
  515. package/dist/parser/npm-node-types.d.ts +24 -0
  516. package/dist/parser/pack-handlers.d.ts +12 -0
  517. package/dist/parser/path-data-resolution.d.ts +75 -0
  518. package/dist/parser/port-inference.d.ts +15 -0
  519. package/dist/{resolve-package-types.d.ts → parser/resolve-package-types.d.ts} +4 -0
  520. package/dist/parser/serialize-deploy-annotations.d.ts +19 -0
  521. package/dist/parser/tag-registry.d.ts +22 -0
  522. package/dist/parser/workflow-extraction.d.ts +39 -0
  523. package/dist/runtime/ExecutionContext.d.ts +87 -99
  524. package/dist/runtime/continuation-core.d.ts +147 -0
  525. package/dist/runtime/continuation.d.ts +48 -0
  526. package/dist/runtime/debug-controller.d.ts +7 -22
  527. package/dist/runtime/durable-execution.d.ts +176 -0
  528. package/dist/runtime/events.d.ts +16 -1
  529. package/dist/runtime/executable-module-contract.d.ts +16 -0
  530. package/dist/runtime/index.d.ts +13 -10
  531. package/dist/runtime/index.js +947 -9
  532. package/dist/runtime/strict-json.d.ts +15 -0
  533. package/dist/server/access.d.ts +12 -0
  534. package/dist/server/api.d.ts +126 -0
  535. package/dist/server/callback-delivery.d.ts +62 -0
  536. package/dist/server/callback-url.d.ts +44 -0
  537. package/dist/server/context.d.ts +35 -0
  538. package/dist/server/http-error.d.ts +10 -0
  539. package/dist/server/index.d.ts +7 -1
  540. package/dist/server/index.js +125 -6
  541. package/dist/server/openapi-document.d.ts +33 -0
  542. package/dist/server/openapi.d.ts +32 -0
  543. package/dist/server/respond.d.ts +35 -0
  544. package/dist/server/route-params.d.ts +17 -0
  545. package/dist/server/route-plan.d.ts +41 -0
  546. package/dist/server/routes-catalog.d.ts +5 -0
  547. package/dist/server/routes-declared.d.ts +12 -0
  548. package/dist/server/routes-runs.d.ts +8 -0
  549. package/dist/server/run-driver.d.ts +58 -0
  550. package/dist/server/run-view.d.ts +26 -0
  551. package/dist/server/transport.d.ts +35 -0
  552. package/dist/server/types.d.ts +143 -52
  553. package/dist/server/webhook-server.d.ts +12 -38
  554. package/dist/server/workflow-registry.d.ts +7 -4
  555. package/dist/service-registry.d.ts +49 -0
  556. package/dist/service-registry.js +123 -0
  557. package/dist/testing/assertions.d.ts +2 -2
  558. package/dist/testing/index.d.ts +14 -13
  559. package/dist/testing/index.js +582 -24
  560. package/dist/testing/mock-approval.d.ts +3 -5
  561. package/dist/testing/mock-llm.d.ts +2 -3
  562. package/dist/testing/recorder.d.ts +5 -6
  563. package/dist/testing/replayer.d.ts +6 -7
  564. package/dist/testing/run-store-check.d.ts +3 -0
  565. package/dist/testing/token-tracker.d.ts +2 -2
  566. package/dist/{type-mappings.d.ts → types/type-mappings.d.ts} +13 -1
  567. package/dist/utils/error-utils.d.ts +4 -2
  568. package/dist/utils/port-ordering.d.ts +2 -2
  569. package/dist/utils/port-tag-utils.d.ts +1 -1
  570. package/dist/validation/agent-detection.d.ts +17 -5
  571. package/dist/validation/agent-rules.d.ts +6 -7
  572. package/dist/validation/core-rules.d.ts +49 -0
  573. package/dist/validation/design-rules.d.ts +9 -3
  574. package/dist/validation/rule-registry.d.ts +3 -3
  575. package/dist/validation/rules/connections.d.ts +27 -0
  576. package/dist/validation/rules/context.d.ts +11 -0
  577. package/dist/validation/rules/cycles.d.ts +17 -0
  578. package/dist/validation/rules/data-flow.d.ts +19 -0
  579. package/dist/validation/rules/scope-topology.d.ts +35 -0
  580. package/dist/validation/rules/type-compatibility.d.ts +30 -0
  581. package/dist/validation/type-checker.d.ts +39 -0
  582. package/dist/validation/validator-helpers.d.ts +31 -0
  583. package/dist/validation/validator.d.ts +30 -0
  584. package/docs/reference/advanced-annotations.md +277 -60
  585. package/docs/reference/built-in-nodes.md +164 -94
  586. package/docs/reference/cancellation.md +44 -0
  587. package/docs/reference/cli-reference.md +252 -234
  588. package/docs/reference/compilation.md +36 -109
  589. package/docs/reference/concepts.md +80 -63
  590. package/docs/reference/console.md +169 -0
  591. package/docs/reference/debugging.md +26 -57
  592. package/docs/reference/deployment.md +217 -143
  593. package/docs/reference/durable-gates.md +445 -0
  594. package/docs/reference/error-codes.md +90 -43
  595. package/docs/reference/export-interface.md +91 -26
  596. package/docs/reference/iterative-development.md +50 -28
  597. package/docs/reference/jsdoc-grammar.md +66 -311
  598. package/docs/reference/library.md +250 -0
  599. package/docs/reference/marketplace.md +301 -152
  600. package/docs/reference/mcp-tools.md +102 -0
  601. package/docs/reference/node-conversion.md +84 -59
  602. package/docs/reference/orientation.md +68 -0
  603. package/docs/reference/scaffold.md +5 -4
  604. package/docs/reference/tutorial.md +106 -166
  605. package/docs/reference/visual-reference.md +1 -1
  606. package/package.json +85 -50
  607. package/dist/agent/agent-loop.js +0 -156
  608. package/dist/agent/cli-spawn-config.js +0 -65
  609. package/dist/agent/device-connection.d.ts +0 -79
  610. package/dist/agent/device-connection.js +0 -184
  611. package/dist/agent/env-allowlist.js +0 -60
  612. package/dist/agent/providers/anthropic.js +0 -198
  613. package/dist/agent/providers/claude-cli.js +0 -161
  614. package/dist/agent/providers/openai-compat.js +0 -205
  615. package/dist/agent/providers/platform.d.ts +0 -23
  616. package/dist/agent/providers/platform.js +0 -132
  617. package/dist/agent/streaming.js +0 -186
  618. package/dist/agent/types.js +0 -20
  619. package/dist/annotation-generator.d.ts +0 -50
  620. package/dist/annotation-generator.js +0 -743
  621. package/dist/api/builder.js +0 -345
  622. package/dist/api/command-runner.js +0 -787
  623. package/dist/api/compile.js +0 -148
  624. package/dist/api/extract-types.js +0 -57
  625. package/dist/api/generate-in-place.js +0 -1477
  626. package/dist/api/generate.js +0 -514
  627. package/dist/api/helpers.js +0 -285
  628. package/dist/api/inline-runtime.js +0 -526
  629. package/dist/api/manipulation/connections.js +0 -151
  630. package/dist/api/manipulation/index.js +0 -41
  631. package/dist/api/manipulation/node-types.js +0 -200
  632. package/dist/api/manipulation/nodes.js +0 -355
  633. package/dist/api/manipulation/ports.js +0 -228
  634. package/dist/api/manipulation/scopes.js +0 -156
  635. package/dist/api/manipulation/workflow.js +0 -116
  636. package/dist/api/modify-operation.js +0 -177
  637. package/dist/api/parse.js +0 -115
  638. package/dist/api/patterns.d.ts +0 -112
  639. package/dist/api/patterns.js +0 -303
  640. package/dist/api/query.js +0 -840
  641. package/dist/api/templates.js +0 -117
  642. package/dist/api/transform.js +0 -40
  643. package/dist/api/validate.js +0 -64
  644. package/dist/api/validation-registry.js +0 -10
  645. package/dist/api/workflow-file-operations.js +0 -180
  646. package/dist/ast/builder.js +0 -395
  647. package/dist/ast/serialization-node.js +0 -30
  648. package/dist/ast/serialization.js +0 -134
  649. package/dist/ast/types.js +0 -2
  650. package/dist/ast/workflow-utils.js +0 -114
  651. package/dist/body-generator.js +0 -35
  652. package/dist/built-in-nodes/coercion-types.js +0 -61
  653. package/dist/built-in-nodes/delay.js +0 -29
  654. package/dist/built-in-nodes/generated-registry.js +0 -299
  655. package/dist/built-in-nodes/invoke-workflow.js +0 -36
  656. package/dist/built-in-nodes/mock-types.js +0 -42
  657. package/dist/built-in-nodes/wait-for-agent.js +0 -31
  658. package/dist/built-in-nodes/wait-for-event.js +0 -25
  659. package/dist/chevrotain-parser/coerce-parser.js +0 -103
  660. package/dist/chevrotain-parser/connect-parser.js +0 -136
  661. package/dist/chevrotain-parser/fan-parser.js +0 -149
  662. package/dist/chevrotain-parser/grammar-diagrams.js +0 -273
  663. package/dist/chevrotain-parser/index.js +0 -31
  664. package/dist/chevrotain-parser/map-parser.js +0 -130
  665. package/dist/chevrotain-parser/node-parser.js +0 -558
  666. package/dist/chevrotain-parser/path-parser.js +0 -140
  667. package/dist/chevrotain-parser/port-parser.js +0 -519
  668. package/dist/chevrotain-parser/position-parser.d.ts +0 -20
  669. package/dist/chevrotain-parser/position-parser.js +0 -83
  670. package/dist/chevrotain-parser/scope-parser.js +0 -104
  671. package/dist/chevrotain-parser/tokens.js +0 -429
  672. package/dist/chevrotain-parser/trigger-cancel-parser.js +0 -291
  673. package/dist/cli/commands/account.d.ts +0 -4
  674. package/dist/cli/commands/account.js +0 -50
  675. package/dist/cli/commands/ai-credentials.d.ts +0 -12
  676. package/dist/cli/commands/ai-credentials.js +0 -95
  677. package/dist/cli/commands/apikey.d.ts +0 -4
  678. package/dist/cli/commands/apikey.js +0 -64
  679. package/dist/cli/commands/auth.d.ts +0 -9
  680. package/dist/cli/commands/auth.js +0 -255
  681. package/dist/cli/commands/compile.js +0 -331
  682. package/dist/cli/commands/connect.d.ts +0 -4
  683. package/dist/cli/commands/connect.js +0 -163
  684. package/dist/cli/commands/context.js +0 -51
  685. package/dist/cli/commands/create.js +0 -139
  686. package/dist/cli/commands/deploy.d.ts +0 -6
  687. package/dist/cli/commands/deploy.js +0 -74
  688. package/dist/cli/commands/dev.js +0 -227
  689. package/dist/cli/commands/diagram.js +0 -39
  690. package/dist/cli/commands/diff.js +0 -57
  691. package/dist/cli/commands/docs.js +0 -74
  692. package/dist/cli/commands/export.js +0 -153
  693. package/dist/cli/commands/grammar.js +0 -40
  694. package/dist/cli/commands/implement.js +0 -91
  695. package/dist/cli/commands/init-personas.js +0 -541
  696. package/dist/cli/commands/init.js +0 -797
  697. package/dist/cli/commands/market.js +0 -440
  698. package/dist/cli/commands/mcp-setup.js +0 -433
  699. package/dist/cli/commands/migrate.js +0 -91
  700. package/dist/cli/commands/modify.js +0 -58
  701. package/dist/cli/commands/openapi.js +0 -71
  702. package/dist/cli/commands/org.d.ts +0 -8
  703. package/dist/cli/commands/org.js +0 -136
  704. package/dist/cli/commands/pattern.d.ts +0 -34
  705. package/dist/cli/commands/pattern.js +0 -186
  706. package/dist/cli/commands/plugin.d.ts +0 -16
  707. package/dist/cli/commands/plugin.js +0 -176
  708. package/dist/cli/commands/run.js +0 -742
  709. package/dist/cli/commands/serve.js +0 -93
  710. package/dist/cli/commands/status.js +0 -123
  711. package/dist/cli/commands/strip.js +0 -61
  712. package/dist/cli/commands/templates.js +0 -58
  713. package/dist/cli/commands/validate.js +0 -267
  714. package/dist/cli/commands/watch.js +0 -71
  715. package/dist/cli/config/credentials.d.ts +0 -15
  716. package/dist/cli/config/credentials.js +0 -43
  717. package/dist/cli/config/platform-client.d.ts +0 -123
  718. package/dist/cli/config/platform-client.js +0 -248
  719. package/dist/cli/env-setup.js +0 -12
  720. package/dist/cli/index.js +0 -850
  721. package/dist/cli/pack-commands.js +0 -122
  722. package/dist/cli/postinstall.d.ts +0 -16
  723. package/dist/cli/postinstall.js +0 -119
  724. package/dist/cli/templates/ai/mock-provider.js +0 -64
  725. package/dist/cli/templates/ai/types.js +0 -5
  726. package/dist/cli/templates/approvals/index.d.ts +0 -15
  727. package/dist/cli/templates/approvals/index.js +0 -241
  728. package/dist/cli/templates/index.js +0 -123
  729. package/dist/cli/templates/nodes/agent-router.js +0 -114
  730. package/dist/cli/templates/nodes/aggregator.js +0 -63
  731. package/dist/cli/templates/nodes/conversation-memory.js +0 -85
  732. package/dist/cli/templates/nodes/http.js +0 -80
  733. package/dist/cli/templates/nodes/human-approval.js +0 -109
  734. package/dist/cli/templates/nodes/json-extractor.js +0 -119
  735. package/dist/cli/templates/nodes/llm-call.js +0 -106
  736. package/dist/cli/templates/nodes/prompt-template.js +0 -52
  737. package/dist/cli/templates/nodes/rag-retriever.js +0 -128
  738. package/dist/cli/templates/nodes/tool-executor.js +0 -108
  739. package/dist/cli/templates/nodes/transformer.js +0 -68
  740. package/dist/cli/templates/nodes/validator.js +0 -62
  741. package/dist/cli/templates/pack-loader.js +0 -58
  742. package/dist/cli/templates/providers/index.js +0 -239
  743. package/dist/cli/templates/shared/approval-types.js +0 -31
  744. package/dist/cli/templates/shared/llm-types.js +0 -109
  745. package/dist/cli/templates/workflows/aggregator.js +0 -101
  746. package/dist/cli/templates/workflows/ai-agent.js +0 -326
  747. package/dist/cli/templates/workflows/ai-chat.js +0 -167
  748. package/dist/cli/templates/workflows/ai-rag.js +0 -184
  749. package/dist/cli/templates/workflows/ai-react.js +0 -293
  750. package/dist/cli/templates/workflows/conditional.js +0 -139
  751. package/dist/cli/templates/workflows/error-handler.js +0 -145
  752. package/dist/cli/templates/workflows/foreach.js +0 -140
  753. package/dist/cli/templates/workflows/sequential.js +0 -200
  754. package/dist/cli/templates/workflows/webhook.js +0 -158
  755. package/dist/cli/utils/cli-helpers.d.ts +0 -44
  756. package/dist/cli/utils/cli-helpers.js +0 -99
  757. package/dist/cli/utils/logger.js +0 -126
  758. package/dist/cli/utils/parse-int-strict.js +0 -17
  759. package/dist/cli/utils/safe-write.js +0 -54
  760. package/dist/deployment/config/defaults.d.ts +0 -29
  761. package/dist/deployment/config/defaults.js +0 -98
  762. package/dist/deployment/config/loader.d.ts +0 -24
  763. package/dist/deployment/config/loader.js +0 -237
  764. package/dist/deployment/config/types.d.ts +0 -117
  765. package/dist/deployment/config/types.js +0 -5
  766. package/dist/deployment/core/adapters.d.ts +0 -66
  767. package/dist/deployment/core/adapters.js +0 -156
  768. package/dist/deployment/core/executor.d.ts +0 -62
  769. package/dist/deployment/core/executor.js +0 -197
  770. package/dist/deployment/core/formatters.d.ts +0 -42
  771. package/dist/deployment/core/formatters.js +0 -146
  772. package/dist/deployment/openapi/generator.d.ts +0 -146
  773. package/dist/deployment/openapi/generator.js +0 -347
  774. package/dist/deployment/openapi/schema-converter.d.ts +0 -49
  775. package/dist/deployment/openapi/schema-converter.js +0 -192
  776. package/dist/deployment/targets/base.js +0 -855
  777. package/dist/deployment/types.d.ts +0 -140
  778. package/dist/deployment/types.js +0 -8
  779. package/dist/diagram/ascii-renderer.js +0 -528
  780. package/dist/diagram/geometry.js +0 -1267
  781. package/dist/diagram/html-viewer.d.ts +0 -21
  782. package/dist/diagram/html-viewer.js +0 -1689
  783. package/dist/diagram/layout.js +0 -143
  784. package/dist/diagram/orthogonal-router.js +0 -568
  785. package/dist/diagram/renderer.d.ts +0 -3
  786. package/dist/diagram/renderer.js +0 -266
  787. package/dist/diagram/theme.js +0 -282
  788. package/dist/diagram/types.js +0 -2
  789. package/dist/diff/WorkflowDiffer.js +0 -429
  790. package/dist/diff/formatDiff.js +0 -239
  791. package/dist/diff/impact.js +0 -119
  792. package/dist/diff/types.js +0 -35
  793. package/dist/doc-metadata/extractors/annotations.js +0 -638
  794. package/dist/doc-metadata/extractors/cli-commands.js +0 -326
  795. package/dist/doc-metadata/extractors/core-metadata.js +0 -61
  796. package/dist/doc-metadata/extractors/error-codes.js +0 -372
  797. package/dist/doc-metadata/extractors/grammar-rules.js +0 -51
  798. package/dist/doc-metadata/extractors/mcp-tools.js +0 -705
  799. package/dist/doc-metadata/extractors/plugin-api.d.ts +0 -19
  800. package/dist/doc-metadata/extractors/plugin-api.js +0 -279
  801. package/dist/doc-metadata/types.js +0 -5
  802. package/dist/editor-completions/annotationValues.js +0 -146
  803. package/dist/editor-completions/contextParser.js +0 -410
  804. package/dist/editor-completions/dataTypes.js +0 -95
  805. package/dist/editor-completions/goToDefinition.js +0 -112
  806. package/dist/editor-completions/jsDocAnnotations.js +0 -359
  807. package/dist/editor-completions/modifierCompletions.js +0 -197
  808. package/dist/editor-completions/types.js +0 -8
  809. package/dist/export/index.js +0 -212
  810. package/dist/extensions/index.d.ts +0 -16
  811. package/dist/extensions/index.js +0 -17
  812. package/dist/friendly-errors.js +0 -761
  813. package/dist/function-like.js +0 -84
  814. package/dist/generator/async-detection.js +0 -56
  815. package/dist/generator/code-utils.js +0 -551
  816. package/dist/generator/compile-target-registry.d.ts +0 -20
  817. package/dist/generator/compile-target-registry.js +0 -20
  818. package/dist/generator/control-flow.js +0 -358
  819. package/dist/generator/dev-mode-registry.d.ts +0 -27
  820. package/dist/generator/dev-mode-registry.js +0 -20
  821. package/dist/generator/scope-function-generator.js +0 -397
  822. package/dist/generator/unified.js +0 -1831
  823. package/dist/generator.d.ts +0 -54
  824. package/dist/generator.js +0 -101
  825. package/dist/jsdoc-parser.d.ts +0 -377
  826. package/dist/jsdoc-parser.js +0 -1189
  827. package/dist/jsdoc-port-sync/constants.js +0 -103
  828. package/dist/jsdoc-port-sync/diff.js +0 -319
  829. package/dist/jsdoc-port-sync/port-parser.js +0 -579
  830. package/dist/jsdoc-port-sync/rename.js +0 -256
  831. package/dist/jsdoc-port-sync/signature-parser.js +0 -559
  832. package/dist/jsdoc-port-sync/sync.js +0 -653
  833. package/dist/marketplace/manifest.js +0 -194
  834. package/dist/marketplace/registry.js +0 -198
  835. package/dist/marketplace/types.js +0 -9
  836. package/dist/marketplace/validator.js +0 -150
  837. package/dist/mcp/agent-channel.d.ts +0 -35
  838. package/dist/mcp/agent-channel.js +0 -61
  839. package/dist/mcp/auto-registration.d.ts +0 -3
  840. package/dist/mcp/auto-registration.js +0 -62
  841. package/dist/mcp/debug-session.js +0 -25
  842. package/dist/mcp/index.d.ts +0 -11
  843. package/dist/mcp/index.js +0 -10
  844. package/dist/mcp/pack-tools.js +0 -59
  845. package/dist/mcp/prompts.js +0 -68
  846. package/dist/mcp/response-utils.js +0 -97
  847. package/dist/mcp/run-registry.d.ts +0 -29
  848. package/dist/mcp/run-registry.js +0 -24
  849. package/dist/mcp/server.js +0 -63
  850. package/dist/mcp/tools-context.js +0 -51
  851. package/dist/mcp/tools-debug.js +0 -451
  852. package/dist/mcp/tools-diagram.js +0 -97
  853. package/dist/mcp/tools-docs.js +0 -62
  854. package/dist/mcp/tools-export.js +0 -222
  855. package/dist/mcp/tools-marketplace.js +0 -132
  856. package/dist/mcp/tools-model.d.ts +0 -3
  857. package/dist/mcp/tools-model.js +0 -279
  858. package/dist/mcp/tools-pattern.d.ts +0 -3
  859. package/dist/mcp/tools-pattern.js +0 -604
  860. package/dist/mcp/tools-query.js +0 -377
  861. package/dist/mcp/tools-resources.js +0 -41
  862. package/dist/mcp/tools-template.js +0 -119
  863. package/dist/mcp/tools-workflow-run.d.ts +0 -40
  864. package/dist/mcp/tools-workflow-run.js +0 -150
  865. package/dist/mcp/types.js +0 -2
  866. package/dist/mcp/workflow-executor.js +0 -242
  867. package/dist/migration/registry.js +0 -29
  868. package/dist/node-types-generator.js +0 -139
  869. package/dist/parser/tag-registry.js +0 -57
  870. package/dist/parser.d.ts +0 -232
  871. package/dist/parser.js +0 -2500
  872. package/dist/plugin/PluginPanel.d.ts +0 -12
  873. package/dist/plugin/PluginPanel.js +0 -5
  874. package/dist/plugin/index.d.ts +0 -13
  875. package/dist/plugin/index.js +0 -14
  876. package/dist/plugin/types.d.ts +0 -75
  877. package/dist/plugin/types.js +0 -8
  878. package/dist/resolve-package-types.js +0 -123
  879. package/dist/runtime/CancellationError.js +0 -20
  880. package/dist/runtime/ExecutionContext.js +0 -280
  881. package/dist/runtime/builtin-functions.js +0 -549
  882. package/dist/runtime/checkpoint.d.ts +0 -84
  883. package/dist/runtime/checkpoint.js +0 -225
  884. package/dist/runtime/debug-controller.js +0 -247
  885. package/dist/runtime/events.js +0 -2
  886. package/dist/runtime/function-registry.js +0 -66
  887. package/dist/runtime/parameter-resolver.js +0 -113
  888. package/dist/server/types.js +0 -5
  889. package/dist/server/webhook-server.js +0 -269
  890. package/dist/server/workflow-registry.js +0 -202
  891. package/dist/shared-project.js +0 -28
  892. package/dist/sugar-optimizer.js +0 -498
  893. package/dist/testing/assertions.js +0 -127
  894. package/dist/testing/mock-approval.js +0 -98
  895. package/dist/testing/mock-llm.js +0 -119
  896. package/dist/testing/recorder.js +0 -70
  897. package/dist/testing/replayer.js +0 -143
  898. package/dist/testing/token-tracker.js +0 -94
  899. package/dist/type-checker.d.ts +0 -42
  900. package/dist/type-checker.js +0 -190
  901. package/dist/type-mappings.js +0 -131
  902. package/dist/types/branded-ports.d.ts +0 -151
  903. package/dist/types/branded-ports.js +0 -121
  904. package/dist/types/index.d.ts +0 -5
  905. package/dist/types/index.js +0 -5
  906. package/dist/types.d.ts +0 -139
  907. package/dist/types.js +0 -15
  908. package/dist/utils/error-utils.js +0 -27
  909. package/dist/utils/lru-cache.js +0 -40
  910. package/dist/utils/port-ordering.js +0 -81
  911. package/dist/utils/port-tag-utils.js +0 -41
  912. package/dist/utils/string-distance.js +0 -56
  913. package/dist/validation/agent-detection.js +0 -115
  914. package/dist/validation/agent-rules.js +0 -262
  915. package/dist/validation/design-rules.js +0 -377
  916. package/dist/validation/rule-registry.js +0 -37
  917. package/dist/validator.d.ts +0 -113
  918. package/dist/validator.js +0 -1631
  919. package/docs/reference/patterns.md +0 -159
  920. package/scripts/postinstall.cjs +0 -86
  921. /package/dist/{shared-project.d.ts → parser/shared-project.d.ts} +0 -0
  922. /package/dist/{friendly-errors.d.ts → validation/friendly-errors.d.ts} +0 -0
@@ -1,203 +1,289 @@
1
1
  ---
2
2
  name: Deployment
3
- description: Export workflows to serverless platforms, HTTP serve mode, OpenAPI generation, and multi-workflow services
4
- keywords: [deploy, export, lambda, vercel, cloudflare, inngest, github-actions, gitlab-ci, serve, openapi, swagger, serverless, multi-workflow, durable-steps, webhook, http, cors, packs, marketplace]
3
+ description: Export workflows through target packs, serve them over HTTP, generate OpenAPI specs, and export multi-workflow services
4
+ keywords: [deploy, export, target, serve, openapi, swagger, multi-workflow, durable-steps, webhook, http, cors, packs, marketplace, dry-run]
5
5
  ---
6
6
 
7
7
  # Deployment
8
8
 
9
- Flow Weaver workflows can be deployed as serverless functions, HTTP endpoints, durable event-driven functions, or CI/CD pipelines. This guide covers all deployment options.
9
+ The compiled output is plain TypeScript with no runtime dependency on Flow Weaver, so it runs wherever TypeScript runs. Beyond that, three paths exist: export platform-specific boilerplate through a target pack, serve workflows over HTTP with `fw serve`, or generate an OpenAPI spec for whatever hosts them.
10
10
 
11
- ## Installing Export Target Packs
11
+ ## Export Targets
12
12
 
13
- Export targets are provided by marketplace packs. Install the ones you need:
13
+ Flow Weaver core ships no export target. A target is provided by a pack — its `exportTargets` manifest entry names the target and the class that generates files — and is discovered from the current project's `node_modules` each time `fw export` runs.
14
14
 
15
15
  ```bash
16
- # Serverless targets
17
- npm install @synergenius/flow-weaver-pack-lambda
18
- npm install @synergenius/flow-weaver-pack-vercel
19
- npm install @synergenius/flow-weaver-pack-cloudflare
20
- npm install @synergenius/flow-weaver-pack-inngest
21
-
22
- # CI/CD targets
23
- npm install @synergenius/flow-weaver-pack-github-actions
24
- npm install @synergenius/flow-weaver-pack-gitlab-ci
16
+ fw market search <what you need> # find a target pack
17
+ npm install <pack> # or: fw market install <pack>
18
+ fw export workflow.ts --target <name> --output dist/
25
19
  ```
26
20
 
27
- The `export` command automatically discovers installed packs — no configuration needed.
21
+ - `--dry-run` lists the files that would be written and previews the handler without touching disk
22
+ - `--durable-steps` is handed to the target as a target option; a target that supports per-node durability uses it
23
+ - `--production` compiles without trace instrumentation
24
+ - An unknown target name returns `INVALID_TARGET` naming the installed targets; with no target pack installed that list is empty
25
+
26
+ What a target generates, the deploy instructions it prints, and any annotations it reads (`@deploy` keys, platform-specific tags) are documented by the pack. Once installed, the pack's topics appear in `fw docs`. Writing a target is covered in [Marketplace](marketplace.md).
28
27
 
29
28
  ---
30
29
 
31
- ## Export Targets
30
+ ## Multi-Workflow Export
32
31
 
33
- The `export` command generates platform-specific handler code, configuration files, and deploy instructions.
32
+ Export all workflows in a file as a **unified service** with routing, function registry, and optional API documentation:
34
33
 
35
34
  ```bash
36
- fw export <input> --target <target> --output <dir>
35
+ fw export workflows.ts --target <name> --output dist/ --multi
37
36
  ```
38
37
 
39
- ### AWS Lambda
38
+ ### Features
39
+
40
+ - **Unified routing** — Single entry point dispatches to the correct workflow
41
+ - **Function registry** — All workflows registered and callable by name
42
+ - **API docs** — Add `--docs` to include Swagger UI at `/docs` and OpenAPI spec at `/openapi.json`
40
43
 
41
44
  ```bash
42
- fw export workflow.ts --target lambda --output dist/
45
+ fw export workflows.ts --target <name> --output api/ --multi --docs
43
46
  ```
44
47
 
45
- Generates:
46
- - `handler.ts` — Lambda handler with API Gateway event parsing
47
- - `package.json` — Dependencies
48
- - Deploy instructions for AWS CLI or SAM
48
+ ### Selecting Workflows
49
49
 
50
- ### Vercel
50
+ Export a subset of workflows from a multi-workflow file:
51
51
 
52
52
  ```bash
53
- fw export workflow.ts --target vercel --output api/
53
+ fw export workflows.ts --target <name> --output dist/ --multi --workflows validatePipeline,enrichPipeline
54
54
  ```
55
55
 
56
- Generates:
57
- - `api/workflow.ts` — Vercel serverless function
58
- - `vercel.json` — Route configuration
56
+ ---
57
+
58
+ ## HTTP Serve Mode
59
59
 
60
- ### Cloudflare Workers
60
+ `fw serve` puts a directory of workflows behind HTTP: the routes they declare, a run resource for every one of them, and a URL for every run.
61
61
 
62
62
  ```bash
63
- fw export workflow.ts --target cloudflare --output worker/
63
+ fw serve [directory] [options]
64
64
  ```
65
65
 
66
- Generates:
67
- - `worker.ts` — Cloudflare Worker handler
68
- - `wrangler.toml` — Wrangler configuration
66
+ Runs go through the same local coordinator `fw console` and the MCP tools use, stored under the project's `.fw/runs` (`FW_RUNS_DIR` to move it). That is what makes a workflow with durable gates an ordinary endpoint here: it runs to its first gate and answers with a run id; the gate is resolved by another request, by an agent profile, or by a person in the console — the same run, whoever picks it up. The same handler is a function you can mount in your own server; see [Embedding the API](#embedding-the-api).
67
+
68
+ ### Workflows as endpoints
69
+
70
+ A workflow becomes an endpoint by declaring its route:
71
+
72
+ ```typescript
73
+ /**
74
+ * Reviews a file and reports the risk.
75
+ * @flowWeaver workflow
76
+ * @http POST /reviews
77
+ * @http GET /reviews/:path
78
+ * @param path - The file
79
+ * @param text - Its contents
80
+ * @returns report - The review
81
+ */
82
+ export async function reviewFile(
83
+ execute: boolean,
84
+ params: { path: string; text: string }
85
+ ): Promise<{ onSuccess: boolean; onFailure: boolean; report: string }> {
86
+ throw new Error('generated body was not installed');
87
+ }
88
+ ```
69
89
 
70
- ### Inngest
90
+ Each `@http METHOD /path` line is mounted as written. The console's **Serve** pane writes the first one for you (*Expose as endpoint*), and its **Endpoints** page lists every route in the project with the request to copy.
71
91
 
72
- ```bash
73
- fw export workflow.ts --target inngest --output dist/
74
- ```
92
+ **Parameters.** A `:name` segment binds the workflow parameter of that name, converted to its declared type. `GET` and `DELETE` take the remaining parameters from the query string; `POST`, `PUT` and `PATCH` take them from the JSON body. A missing required parameter or a wrong type is `400 VALIDATION_ERROR` with `details: [{ path, message }]`.
75
93
 
76
- Generates:
77
- - Inngest function with event triggers
78
- - Serve handler for your framework
94
+ **The answer** is the workflow's return ports, with `onSuccess`/`onFailure` removed:
79
95
 
80
- Add `--durable-steps` for per-node `step.run()` durability:
96
+ | The workflow… | Status | Body | Headers |
97
+ |---------------|--------|------|---------|
98
+ | ran to the end | `200` | the return ports, e.g. `{ "report": "…" }` | `X-Run-Id` |
99
+ | ended on its failure path | `422` | the return ports as they stand | `X-Run-Id` |
100
+ | paused at a gate | `202` | the run (below), with `gate` | `Location: /runs/<id>/result`, `Retry-After` |
101
+ | still running past the wait | `202` | the run, `status: "running"` | `Location: /runs/<id>/result`, `Retry-After` |
102
+ | failed | `500` | `{ error: { code, message }, runId, links }` | `X-Run-Id` |
103
+ | cancelled | `410` | `{ error: { code: "RUN_CANCELLED" }, runId, links }` | `X-Run-Id` |
81
104
 
82
- ```bash
83
- fw export workflow.ts --target inngest --output dist/ --durable-steps
84
- ```
105
+ `Location` always points at `GET /runs/<id>/result`, which answers in this same table: `202` while the run waits or runs, then the declared body. So a client polls one URL and reads one shape from its first request to the final answer; the run resource at `/runs/<id>` is there when it wants the gate, the agent, or the raw ports.
85
106
 
86
- ### GitHub Actions
107
+ A request waits at most 60 s for its run (`maxWaitMs`); a `Prefer: wait=<seconds>` header asks for less. Past that the answer is `202` and the run goes on without the connection, so a proxy that cuts long requests never loses a client its run id. A route with `mode=async` answers `202` before the first step runs; `?async=1` or `Prefer: respond-async` asks the same of any route.
87
108
 
88
- ```bash
89
- fw export workflow.ts --target github-actions --output .github/workflows/
90
- ```
109
+ At most 32 segments started by requests run at once (`maxInFlight`); past that a start or a resolve is `503 BUSY` with `Retry-After`. Agent answers and callbacks are not counted.
91
110
 
92
- Generates:
93
- - GitHub Actions workflow YAML with jobs mapped from workflow nodes
94
- - Proper step ordering and dependency configuration
111
+ The API also keeps the clock. Its sweep, every few seconds (`callbacks.sweepMs`), first wakes every run whose `sleep` is over and times out every gate whose `timeout` has passed — then delivers callbacks, so a run the clock finished still posts its result. A waiting run's JSON carries `due: { at, action }` when the clock will act on it. Embedding the API, `api.tick()` is the same pass on demand. See [Time](durable-gates.md#time).
95
112
 
96
- ### GitLab CI
113
+ **Retries.** An `Idempotency-Key` header makes the same request the same run: a retry after a timeout returns whatever that run has reached, with `Idempotent-Replayed: true`, instead of starting another. The key is scoped to the route.
97
114
 
98
- ```bash
99
- fw export workflow.ts --target gitlab-ci --output .
100
- ```
115
+ **Callbacks.** On a route marked `callback`, the caller may add `"callbackUrl": "https://…"` to the body (or `?callbackUrl=` on a `GET`). When the run ends — however it ends, and whoever ends it: the API, an agent profile, a person in the console — the API POSTs `{ runId, workflow, status, result?, failed?, error? }` there, with `X-Flow-Weaver-Run`, `X-Flow-Weaver-Status`, `X-Flow-Weaver-Attempt` and, when the server has a token, `X-Flow-Weaver-Signature: sha256=<HMAC-SHA256 of the body, keyed with the token>`. The callback is kept beside the run, so a restart does not lose it; a failed delivery is retried after 2 s, 10 s, 1 min, 5 min and 15 min, then given up and the reason recorded. Redirects are not followed. Answer `2xx` to acknowledge.
101
116
 
102
- Generates:
103
- - `.gitlab-ci.yml` with stages and jobs mapped from workflow nodes
104
- - Pipeline configuration with proper stage ordering
117
+ Only public hosts receive callbacks by default: `localhost`, private ranges, link-local addresses and names that resolve to them are refused with `400 CALLBACK_REFUSED`, because a server fetching a caller-chosen URL is the classic request-forgery hole. The check runs again at every delivery attempt, and the post connects to the address that check resolved. A name pointed at a private address after the run began is refused, not fetched. `fw serve --dev` allows them for local testing; an embedding sets `callbacks: { hosts: ['hooks.example.com', '*.internal.example.com'] }`, `{ allowPrivate: true }`, or its own `allow(url)` rule.
105
118
 
106
- ---
119
+ To verify a callback, recompute the HMAC over the raw body with your token and compare it to the header in constant time:
107
120
 
108
- ## CI/CD Pipeline Export
121
+ ```typescript
122
+ import { createHmac, timingSafeEqual } from 'node:crypto';
123
+ const expected = `sha256=${createHmac('sha256', process.env.FW_SERVE_TOKEN!).update(rawBody).digest('hex')}`;
124
+ const ok = expected.length === signature.length && timingSafeEqual(Buffer.from(expected), Buffer.from(signature));
125
+ ```
109
126
 
110
- CI/CD export works differently from serverless export. Instead of generating a handler that runs your workflow at request time, it reads the workflow graph and produces native pipeline YAML. The generated file has no runtime dependency on Flow Weaver.
127
+ **Auth.** Every route needs the bearer token when the server has one, except a route marked `auth=none` — for a webhook from a service that cannot carry your token. A form post (`application/x-www-form-urlencoded`) is accepted too, its fields read by the parameters' types, which is what most webhook senders emit.
111
128
 
112
- Use CI/CD-specific annotations (`@secret`, `@runner`, `@cache`, `@artifact`, `@environment`, `@matrix`, `@service`, `@concurrency`) alongside `@node` and `@connect` to define pipeline structure. The `[job: "name"]` attribute on `@node` groups nodes into jobs. Triggers use `@trigger push`, `@trigger pull_request`, etc.
129
+ A route under `/health`, `/workflows`, `/runs`, `/openapi.json` or `/docs` is refused, as is a method and path two workflows both declare; `GET /workflows` lists the `problems`, and the console's Endpoints page shows them. `:name` must be a parameter of the workflow, or the validator reports `HTTP_PARAM_UNKNOWN`.
113
130
 
114
- Secrets are wired as pseudo-node connections: `@connect secret:TOKEN -> node.port`. The export target renders these as platform-native secret references (`${{ secrets.TOKEN }}` for GitHub, `$NPM_TOKEN` for GitLab).
131
+ ### The run resource
115
132
 
116
- ```bash
117
- # GitHub Actions
118
- fw export pipeline.ts --target github-actions --output .github/workflows/
133
+ Every workflow, declared or not, also answers as a run resource:
119
134
 
120
- # GitLab CI
121
- fw export pipeline.ts --target gitlab-ci --output .
122
135
  ```
136
+ POST /workflows/<name>
137
+ Content-Type: application/json
138
+ Authorization: Bearer <token> # when the server has one
123
139
 
124
- See the [CI/CD Pipelines](cicd) topic for the complete annotation reference, validation rules, and full examples.
140
+ { "param1": "value1", "param2": "value2" }
141
+ ```
125
142
 
126
- ---
143
+ The answer is the run:
127
144
 
128
- ## Multi-Workflow Export
145
+ | The workflow… | Status | Body |
146
+ |---------------|--------|------|
147
+ | ran to the end | `200` | `{ runId, status: "completed", result, executionTime, links }` |
148
+ | paused at a gate | `202` | `{ runId, status: "waiting", gate: { kind, node, inputs, absent, outputs, hasFailurePort }, agent?, links }` |
149
+ | failed | `500` | `{ runId, status: "failed", error: { code, message } }` |
129
150
 
130
- Export all workflows in a file as a **unified service** with routing, function registry, and optional API documentation:
151
+ Add `?async=1` (or `Prefer: respond-async`) to be answered at once with `202` and `status: "running"`, then follow `links.self` or `links.events`. `gate.inputs` are labelled by port, as `fw_run` shows them.
131
152
 
132
- ```bash
133
- fw export workflows.ts --target lambda --output dist/ --multi
134
- ```
153
+ ### Runs
135
154
 
136
- ### Features
155
+ | Request | Does |
156
+ |---------|------|
157
+ | `GET /runs?workflow=<name>` | Lists runs, newest first — those in flight here and those in the store |
158
+ | `GET /runs/:id` | The run: `status`, `gate` while waiting, `agent` when a profile is involved, `result` or `error` |
159
+ | `GET /runs/:id/result` | The declared answer: `202` while waiting or running, `200`/`422` with the return ports, `500`, `410` when cancelled |
160
+ | `POST /runs/:id/resolve` | Body `{ "answer": … }` or `{ "reject": "why" }`. The rules for `answer` are the ones under [Durable Gates](durable-gates.md): one output → the value; several → an object with every one; none → `null`. Answers `200` on completion, `202` at the next gate, `409` when the run is not waiting, the file changed since it paused (`BUNDLE_CHANGED`), or an agent is answering |
161
+ | `POST /runs/:id/cancel` | Stops a segment in flight or drops a waiting continuation |
162
+ | `GET /runs/:id/events` | Server-sent events: the run (`type: "run"`), each step when the server keeps a trace (`type: "event"`), what an agent says while it answers (`type: "agent"`), then `synced` and whatever happens next |
163
+ | `GET /runs/:id/agent` | The transcript of the agent that answered the run's latest agent gate |
137
164
 
138
- - **Unified routing** — Single entry point dispatches to the correct workflow
139
- - **Function registry** — All workflows registered and callable by name
140
- - **API docs** — Add `--docs` to include Swagger UI at `/docs` and OpenAPI spec at `/openapi.json`
165
+ Errors are `{ "error": { "code", "message" } }`; `--dev` adds the stack. Codes: `UNAUTHORIZED`, `WORKFLOW_NOT_FOUND`, `RUN_NOT_FOUND`, `RUN_NOT_WAITING`, `BUNDLE_CHANGED`, `MISSING_OUTPUTS`, `INVALID_INPUT`, `INVALID_JSON`, `AGENT_ANSWERING`, `EXECUTION_ERROR`.
141
166
 
142
- ```bash
143
- fw export workflows.ts --target vercel --output api/ --multi --docs
144
- ```
167
+ ### Agent gates
145
168
 
146
- ### Selecting Workflows
169
+ When the project has `.flowweaver/agents.yaml`, a run that pauses at a `waitForAgent` gate is answered by the matching profile in the background: the server records `agent: { profile, status: "answering" }` on the run, streams the model's words on `/runs/:id/events`, and resumes with the answer. The caller sees `202 waiting` and, a moment later, `completed` — or `waiting` with `agent.status: "failed"` and the reason, when the profile could not answer and a person must. `--no-agents` turns this off. See [Agent profiles](durable-gates.md#agent-profiles).
147
170
 
148
- Export a subset of workflows from a multi-workflow file:
171
+ While a profile is answering, a resolve from elsewhere is refused with `409 AGENT_ANSWERING`, so two answers never race. The note records which process is answering; if that process dies mid-answer, the next server or console to start marks the note failed and the gate is open again, and a resolve in the meantime ignores a note whose process is gone.
149
172
 
150
- ```bash
151
- fw export workflows.ts --target lambda --output dist/ --multi --workflows validatePipeline,enrichPipeline
173
+ ### Options
174
+
175
+ | Option | Default | Does |
176
+ |--------|---------|------|
177
+ | `--port <n>` | `3000` | |
178
+ | `--host <h>` | `127.0.0.1` | Loopback only. Anything else needs `--token` or `--insecure`, because whoever reaches the port can run your workflows |
179
+ | `--token <t>` | `FW_SERVE_TOKEN` | Every request but `/health` must carry `Authorization: Bearer <t>` |
180
+ | `--no-agents` | agents on | Agent gates wait for a person |
181
+ | `--trace` | off | Keep a step trace per run and stream it; costs a debug build of each workflow |
182
+ | `--dev` | off | Stacks in error bodies; a start body may be `{ "params", "mocks" }`; callbacks may go to localhost and private addresses |
183
+ | `--insecure` | off | Listen beyond loopback with no token |
184
+ | `--no-watch` | watching | Do not re-discover workflows when files change |
185
+ | `--cors <origin>` | none | Send CORS headers for that origin |
186
+ | `--swagger` | off | Swagger UI at `/docs`; with it on, `/docs` and `/openapi.json` are readable without the token, since a browser page cannot send one. Off, `/docs` is `404` and `/openapi.json` needs the token |
187
+
188
+ `GET /health` answers without a token: `{ status, workflows, routes, uptime, version, auth: "token" | "open", agents }`. `GET /workflows` lists every workflow with its declared `routes`, its input and output JSON Schema and how many gates it has, plus the `problems` with routes that could not be mounted; `GET /workflows/<name>` is one of them. `GET /openapi.json` describes the declared routes with their path and query parameters and the `200`/`202`/`422` answers, the run resources, and the bearer scheme.
189
+
190
+ ### Embedding the API
191
+
192
+ `fw serve` is a thin wrapper around a handler that your own server can mount. `@synergenius/flow-weaver/server` exports it:
193
+
194
+ ```typescript
195
+ import { createWorkflowApi } from '@synergenius/flow-weaver/server';
196
+
197
+ const api = createWorkflowApi({
198
+ dir: './workflows', // the project: its workflows and .flowweaver/agents.yaml
199
+ token: process.env.FW_SERVE_TOKEN, // bearer token, unset means open
200
+ agents: true, // answer agent gates from the project's profiles
201
+ trace: false, // keep and stream a step trace per run
202
+ legacyRoutes: true, // also POST /workflows/<name> for every workflow
203
+ runsDir: undefined, // where runs live; unset is ~/.fw/runs (fw serve passes the project's .fw/runs)
204
+ maxWaitMs: 60_000, // answer 202 with the result URL past this
205
+ maxInFlight: 32, // 503 past this many running segments
206
+ callbacks: { hosts: ['hooks.example.com'] },
207
+ docs: false, // Swagger UI at /docs, readable without the token
208
+ });
152
209
  ```
153
210
 
154
- ---
211
+ Then one of the adapters, all serving the same routes:
155
212
 
156
- ## HTTP Serve Mode
213
+ ```typescript
214
+ // Node
215
+ import * as http from 'node:http';
216
+ http.createServer(api.node()).listen(3000);
157
217
 
158
- Run workflows as HTTP endpoints locally or in production with `fw serve`:
218
+ // Express (or anything with app.use(path, (req, res, next) => …))
219
+ app.use('/api', api.express()); // declared routes, /runs, /openapi.json, all under /api
159
220
 
160
- ```bash
161
- fw serve [directory] [options]
221
+ // A fetch host: Bun, Deno, Hono, Cloudflare Workers, Next.js route handlers
222
+ export default { fetch: (req: Request) => api.fetch(req) };
162
223
  ```
163
224
 
164
- ### Features
225
+ Links in responses — `Location`, `links.self`, the OpenAPI `servers` entry — are written under the mount path, so a client that follows them never needs to know where the API sits. The `handle(req, res, { basePath })` method under the adapters takes any request and response with Node's shape and returns whether the request was one of ours, for a framework not listed here.
226
+
227
+ `api.routes()` says what was mounted and what was refused; `api.openapi(serverUrl)` is the document; `api.close()` stops watching, ends every stream and aborts what is in flight. Pass `agentProvider` to build the model client for a profile yourself, and `env` to read keys from somewhere other than `process.env`.
228
+
229
+ Runs made through an embedded API land in the same store as `fw console` and `fw_run` on the same machine, so a gate reached in your server is answered in the console, and a run started in the console is visible at `GET /runs`. Every run records its `origin` — `http`, `console` or `mcp` — and the console's run list says so.
230
+
231
+ ### Integrating for real
165
232
 
166
- | Feature | Flag | Default |
167
- |---------|------|---------|
168
- | **Hot reload** | `--no-watch` to disable | enabled |
169
- | **CORS** | `--cors <origin>` | `*` |
170
- | **Swagger UI** | `--swagger` | disabled |
171
- | **Precompilation** | `--precompile` | disabled |
172
- | **Production mode** | `--production` | disabled |
233
+ What comes up when the API goes into an existing code base, and what the API does about it:
234
+
235
+ - **Body parsers.** `express.json()` and `express.urlencoded()` consume the request stream before any later middleware; the API notices `req.body` and uses it instead of reading the stream again. With a framework that parses bodies but does not set `req.body` on the raw request, pass the parsed body yourself:
236
+
237
+ ```typescript
238
+ // Fastify
239
+ fastify.all('/api/*', async (request, reply) => {
240
+ reply.hijack();
241
+ const handled = await api.handle(request.raw, reply.raw, { basePath: '/api', body: request.body });
242
+ if (!handled) {
243
+ reply.raw.writeHead(404);
244
+ reply.raw.end();
245
+ }
246
+ });
247
+ ```
248
+
249
+ - **Your own auth.** Mount the API behind your session or JWT middleware and leave `token` unset; then nothing but your middleware guards it, `auth=none` changes nothing, and callbacks go out unsigned. Or set `token` too, and clients carry both.
250
+ - **Your own CORS.** `cors` is off unless asked; a `cors()` middleware in front of the mount works as usual.
251
+ - **Long workflows.** Reverse proxies and load balancers cut a request after a minute or so. The API answers `202` with the result URL after `maxWaitMs` (60 s by default) on its own; set it under your proxy's timeout, or declare `mode=async` on a route whose workflow always runs long.
252
+ - **Back-pressure.** `maxInFlight` (32) caps the segments running at once; past it callers get `503` and `Retry-After`. Size it to what one process can run, and to the model calls agent gates will make.
253
+ - **Shutdown.** Call `api.close()` on `SIGTERM`. A run paused at a gate is safe, it lives in the store. A segment in flight is aborted and the run recorded as failed; a client that used an `Idempotency-Key` can simply repeat the request.
254
+ - **Where runs live.** By default the run store is a directory on the host, which is right for one process, or a few on one machine: they share it, and a claim keeps two from driving the same run. Past one host — instances behind a balancer, a container without a disk — pass a `RunStore` of your own (`createWorkflowApi({ store })`, nine methods over a database; see [Run stores](library.md#run-stores)) and every instance sees every run. Either way the workflows are parsed with the TypeScript compiler at startup, which takes seconds and needs Node: edge runtimes and short-lived functions are out; a long-running Node service is the shape.
255
+ - **Logs and metrics.** `onRun(run)` fires on every state change of a run the API drives; `onCallback(outcome)` on every delivery attempt. Nothing is written to the console otherwise.
256
+ - **Module format.** The package is ESM. From CommonJS, `const { createWorkflowApi } = await import('@synergenius/flow-weaver/server')`.
257
+ - **Limits.** Bodies over 1 MiB are refused with `413` (`maxBodyBytes` changes it). A JSON string where a number is declared is `400`; only form posts are coerced.
258
+
259
+ `fw openapi <dir> --server https://api.example.com/api` writes the same document `/openapi.json` serves, for a client generator or a gateway; `--no-auth` and `--no-legacy` match a server without a token or without the run resources.
173
260
 
174
261
  ### Examples
175
262
 
176
- Development server with hot reload:
177
263
  ```bash
178
- fw serve ./workflows
264
+ fw serve # this directory, 127.0.0.1:3000
265
+ fw serve ./workflows --trace --swagger # every step streamed, docs at /docs
266
+ fw serve --host 0.0.0.0 --token "$FW_SERVE_TOKEN" # reachable from elsewhere, guarded
267
+ fw serve --no-agents # a person answers every agent gate
179
268
  ```
180
269
 
181
- Production server:
182
- ```bash
183
- fw serve ./workflows --production --precompile --no-watch --port 8080
184
- ```
270
+ A declared route, end to end:
185
271
 
186
- With Swagger UI:
187
272
  ```bash
188
- fw serve ./workflows --swagger
189
- # Open http://localhost:3000/docs for API documentation
190
- ```
273
+ curl -s -X POST localhost:3000/reviews -H 'Content-Type: application/json' \
274
+ -H 'Idempotency-Key: review-notes-1' \
275
+ -d '{"path":"notes.md","text":"TODO: ship it."}'
276
+ # 202 { "runId": "5c1e…", "status": "waiting", "gate": { "kind": "agent", "node": "agent", … } }
277
+ # Location: /runs/5c1e…
191
278
 
192
- ### Endpoints
279
+ curl -s -X POST localhost:3000/runs/5c1e…/resolve -H 'Content-Type: application/json' \
280
+ -d '{"answer":{"summary":"No tests.","risk":"high"}}'
281
+ # 200 { "runId": "5c1e…", "status": "completed", "result": { "report": "…" } }
193
282
 
194
- Each workflow becomes a POST endpoint:
283
+ curl -s localhost:3000/reviews/notes.md?text=fine # the GET route: 200 { "report": "…" }
195
284
  ```
196
- POST /workflow-name
197
- Content-Type: application/json
198
285
 
199
- { "param1": "value1", "param2": "value2" }
200
- ```
286
+ Before 0.39, `fw serve` listened on `0.0.0.0`, sent `*` CORS headers, answered `{ success, result }`, mounted nothing but `/workflows/<name>`, and refused any workflow with a gate.
201
287
 
202
288
  ---
203
289
 
@@ -209,7 +295,7 @@ Generate an OpenAPI specification from all workflows in a directory:
209
295
  fw openapi <directory> [options]
210
296
  ```
211
297
 
212
- The specification is derived from workflow `@param` and `@returns` annotations.
298
+ It is the same document `fw serve` publishes at `/openapi.json`, built by the same code, so the two never disagree. The schemas come from each workflow's `@param` and `@returns` annotations, and the summary from its description.
213
299
 
214
300
  ### Options
215
301
 
@@ -222,30 +308,19 @@ fw openapi ./workflows --format yaml --output api-spec.yaml
222
308
 
223
309
  # With server URL
224
310
  fw openapi ./workflows --server https://api.example.com --title "My API" --version "2.0.0"
311
+
312
+ # For a server without a token, and without the run resources
313
+ fw openapi ./workflows --no-auth --no-legacy
225
314
  ```
226
315
 
227
316
  ### Generated Spec
228
317
 
229
- Each workflow becomes an endpoint with:
230
- - **Path** — `POST /workflow-name`
231
- - **Request body** — JSON schema from `@param` types
232
- - **Response** — JSON schema from `@returns` types
233
- - **Description** — From `@description` or JSDoc comment text
234
-
235
- ---
236
-
237
- ## Dev Mode with Inngest
238
-
239
- For Inngest development, `fw dev` starts a local dev server with the Inngest Dev Server:
240
-
241
- ```bash
242
- fw dev workflow.ts --target inngest --port 8080 --framework express
243
- ```
318
+ The document (OpenAPI 3.0.3) describes:
244
319
 
245
- This:
246
- 1. Compiles the workflow with Inngest target
247
- 2. Starts a local HTTP server with the serve handler
248
- 3. Watches for file changes and recompiles automatically
320
+ - **Declared routes**: every `@http METHOD /path` that could be mounted, with `:name` segments as path parameters, the remaining parameters as query parameters (`GET`, `DELETE`) or a JSON or form request body (the other methods), the `Idempotency-Key` and `Prefer` headers, `callbackUrl` on a `callback` route, and the answers: `200` with the return ports, `202` when paused at a gate (with `Location`), `400`, `409`, `422` on the failure path, `500`. A route marked `auth=none` carries no security requirement
321
+ - **The run resource**: `GET` and `POST /workflows/<name>` for every workflow, unless `--no-legacy`
322
+ - **The run endpoints**: `/runs`, `/runs/{runId}`, `/runs/{runId}/resolve`, `/runs/{runId}/cancel`, `/runs/{runId}/events`, `/runs/{runId}/agent`, and `/health`
323
+ - **Components**: the `Run` and `Error` schemas, and the bearer security scheme applied to every operation, unless `--no-auth`
249
324
 
250
325
  ---
251
326
 
@@ -254,15 +329,14 @@ This:
254
329
  1. **Validate** — Run `fw validate workflow.ts --strict` before deploying
255
330
  2. **Production compile** — Use `--production` to strip debug instrumentation
256
331
  3. **Test locally** — Use `fw serve` or `fw run` with mocks
257
- 4. **Export** — Generate platform-specific code with `fw export`
258
- 5. **Deploy** — Follow platform-specific instructions in the generated output
332
+ 4. **Export** — Generate platform-specific code with `fw export --target <name>`
333
+ 5. **Deploy** — Follow the instructions the target prints with the generated output
259
334
 
260
335
  ---
261
336
 
262
337
  ## Related Topics
263
338
 
264
- - [CI/CD Pipelines](cicd) — CI/CD annotation reference, secret wiring, job grouping, validation rules
265
- - [CLI Reference](cli-reference) — Full command flags for export, serve, openapi
266
- - [Compilation](compilation) — Inngest target details and serve handlers
267
- - [Built-in Nodes](built-in-nodes) — Mock system for local testing
268
- - [Concepts](concepts) — Core workflow fundamentals
339
+ - [Marketplace](marketplace.md) — Finding target packs and writing an export target
340
+ - [CLI Reference](cli-reference.md) — Full command flags for export, serve, openapi
341
+ - [Compilation](compilation.md) — Compile targets and target options
342
+ - [Built-in Nodes](built-in-nodes.md) — Mock system for local testing