@synergenius/flow-weaver 0.33.2 → 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 -245
  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 -89384
  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 +20 -32
  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 +2 -3
  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 +1 -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 -1226
  781. package/dist/diagram/html-viewer.d.ts +0 -21
  782. package/dist/diagram/html-viewer.js +0 -1745
  783. package/dist/diagram/layout.js +0 -143
  784. package/dist/diagram/orthogonal-router.js +0 -458
  785. package/dist/diagram/renderer.d.ts +0 -3
  786. package/dist/diagram/renderer.js +0 -280
  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
@@ -210,7 +210,7 @@ const myNode = (execute: boolean, input: string) => { ... };
210
210
  | Field | Value |
211
211
  | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
212
212
  | Severity | Error |
213
- | Meaning | A node instance in the `@instance` annotation uses a reserved ID (`Start` or `Exit`). |
213
+ | Meaning | A `@node` declaration uses a reserved instance ID (`Start` or `Exit`). |
214
214
  | Common Causes | Explicitly naming an instance `Start` or `Exit` in the workflow annotations. |
215
215
  | Fix | Choose a different instance ID. The names `Start` and `Exit` are reserved for the implicit entry and exit nodes that every workflow has. |
216
216
 
@@ -220,14 +220,26 @@ const myNode = (execute: boolean, input: string) => { ... };
220
220
 
221
221
  **Example:**
222
222
 
223
+ <!-- example: invalid RESERVED_INSTANCE_ID -->
223
224
  ```typescript
224
- // BAD: Using reserved names
225
- /** @instance Start: MyNodeType */ // RESERVED_INSTANCE_ID
226
- /** @instance Exit: MyNodeType */ // RESERVED_INSTANCE_ID
225
+ /** @flowWeaver nodeType @expression */
226
+ function myNodeType(value: string): { value: string } {
227
+ return { value };
228
+ }
229
+
230
+ // BAD: Start and Exit are reserved instance IDs (RESERVED_INSTANCE_ID)
231
+ /**
232
+ * @flowWeaver workflow
233
+ * @node Start myNodeType
234
+ * @node Exit myNodeType
235
+ */
227
236
 
228
237
  // GOOD: Non-reserved names
229
- /** @instance startHandler: MyNodeType */
230
- /** @instance exitHandler: MyNodeType */
238
+ /**
239
+ * @flowWeaver workflow
240
+ * @node startHandler myNodeType
241
+ * @node exitHandler myNodeType
242
+ */
231
243
  ```
232
244
 
233
245
  ---
@@ -329,7 +341,7 @@ const myNode = (execute: boolean, input: string) => { ... };
329
341
  | Severity | Error |
330
342
  | Meaning | A non-STEP input port has more than one incoming connection. Only one value can be received per data input. |
331
343
  | Common Causes | Two different nodes both send data to the same input port. Accidentally duplicating a `@connect` line with a different source. |
332
- | Fix | Remove one of the connections. If you need to merge multiple values, either: (1) use a merge node that combines the values and outputs a single result, (2) add a `@mergeStrategy` tag to the port (FIRST, LAST, COLLECT, MERGE, CONCAT), or (3) use separate input ports on the target node. Note: STEP ports (like `execute`) can have multiple connections because control flow supports multiple triggers. |
344
+ | Fix | Remove one of the connections. If you need to merge multiple values, either: (1) use a merge node that combines the values and outputs a single result, (2) declare a merge strategy on the input port, `@input items [mergeStrategy:COLLECT]` (FIRST, LAST, COLLECT, MERGE, CONCAT), or (3) use separate input ports on the target node. Note: STEP ports (like `execute`) can have multiple connections because control flow supports multiple triggers. |
333
345
 
334
346
  > **Beginner explanation:** Two different nodes are sending data to the same input port. Each data input can only receive from one source.
335
347
  >
@@ -359,7 +371,7 @@ const myNode = (execute: boolean, input: string) => { ... };
359
371
  | Severity | Warning |
360
372
  | Meaning | Both ports are OBJECT type but their TypeScript structural types (`tsType`) differ. |
361
373
  | Common Causes | Connecting a port that outputs `{ name: string }` to a port that expects `{ id: number, name: string }`. Different interfaces that happen to share the OBJECT data type. |
362
- | Fix | Verify that the source object shape is compatible with what the target expects. If the structures are intentionally different, ensure the target handles missing or extra properties gracefully. |
374
+ | Fix | Verify that the source object shape is compatible with what the target expects. If the structures are intentionally different, ensure the target handles missing or extra properties gracefully. Expected when a shared context object is threaded through a chain and a consumer declares only the fields it reads: the run is unaffected (structural subtyping), so widen the consumer's type to match the producer, or accept the warning. See the port-design rule in `export-interface`. |
363
375
 
364
376
  #### LOSSY_TYPE_COERCION (warning)
365
377
 
@@ -419,22 +431,13 @@ const myNode = (execute: boolean, input: string) => { ... };
419
431
  | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
420
432
  | Severity | Error |
421
433
  | Meaning | An instance references a node type function name that does not exist in the workflow. |
422
- | Common Causes | Typo in the `@instance` annotation. The node type function was renamed or removed. The node type is defined in a different file that is not imported. |
423
- | Fix | Correct the node type name in the `@instance` annotation. The validator suggests the closest match. Ensure the node type function is defined in the same file or properly imported. |
434
+ | Common Causes | Typo in the `@node` line. The node type function was renamed or removed. The node type is defined in a different file that is not imported. |
435
+ | Fix | Correct the node type name in the `@node` line. The validator suggests the closest match. Ensure the node type function is defined in the same file or properly imported. |
424
436
 
425
437
  > **Beginner explanation:** Did you forget to add `@flowWeaver nodeType` above the function? The `@node` annotation references a function name that the compiler cannot find. Either the function does not exist, is misspelled, or is missing its `@flowWeaver nodeType` annotation.
426
438
  >
427
439
  > **What to do:** Check that the function name in `@node instanceId functionName` exactly matches a function annotated with `@flowWeaver nodeType` in the same file (or imported).
428
440
 
429
- #### UNDEFINED_NODE
430
-
431
- | Field | Value |
432
- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
433
- | Severity | Error |
434
- | Meaning | A connection references a node name that appears in the graph but has no corresponding instance definition. |
435
- | Common Causes | A `@connect` annotation references a node that was never declared with `@instance`. The instance annotation was removed but connections still reference it. |
436
- | Fix | Either add the missing `@instance` annotation or remove/update the connections that reference the undefined node. |
437
-
438
441
  #### MISSING_REQUIRED_INPUT
439
442
 
440
443
  | Field | Value |
@@ -442,30 +445,38 @@ const myNode = (execute: boolean, input: string) => { ... };
442
445
  | Severity | Error |
443
446
  | Meaning | A required input port on a node instance has no connection, no default value, no expression, and is not optional. This will cause a runtime error. |
444
447
  | Common Causes | Adding a new required input to a node type without connecting it in the workflow. Removing a connection without adding a default or marking the port optional. |
445
- | Fix | Either: (1) connect a source to the missing input port, (2) add a `@default` value to the port in the node type definition, (3) add an `@expression` to compute the value, (4) mark the port as `@optional`, or (5) add an instance-level expression via `@portConfig`. |
448
+ | Fix | Either: (1) connect a source to the missing input port, or put the node on a `@path` after a step that outputs the same name, (2) give the port a default in the node type, `@input [apiKey="default-key"]`, (3) mark it optional, `@input [apiKey]`, or (4) bind it on the instance with an expression, `@node fetcher fetchData [expr: apiKey="process.env.API_KEY"]`. |
446
449
 
447
450
  **Example:**
448
451
 
452
+ <!-- example: invalid MISSING_REQUIRED_INPUT -->
449
453
  ```typescript
450
454
  // BAD: "apiKey" has no connection or default
451
- /** @flowWeaver nodeType */
452
- const fetchData = (execute: boolean, url: string, apiKey: string) => { ... };
453
-
454
- /** @instance fetcher: fetchData */
455
- /** @connect Start.url -> fetcher.url */
455
+ /**
456
+ * @flowWeaver nodeType
457
+ * @input url - URL to fetch
458
+ * @input apiKey - Bearer token
459
+ */
460
+ function fetchData(execute: boolean, url: string, apiKey: string) { ... }
461
+
462
+ /**
463
+ * @flowWeaver workflow
464
+ * @node fetcher fetchData
465
+ * @connect Start.url -> fetcher.url
466
+ */
456
467
  // Missing: nothing connects to fetcher.apiKey -> MISSING_REQUIRED_INPUT
457
468
 
458
- // Fix option 1: Add connection
459
- /** @connect Start.apiKey -> fetcher.apiKey */
469
+ // Fix option 1: connect it (or name the Start param apiKey and put fetcher on a @path)
470
+ // @connect Start.apiKey -> fetcher.apiKey
460
471
 
461
- // Fix option 2: Add default in node type
462
- // @default apiKey "default-key"
472
+ // Fix option 2: default in the node type
473
+ // @input [apiKey="default-key"] - Bearer token
463
474
 
464
- // Fix option 3: Add expression in node type
465
- // @expression apiKey process.env.API_KEY
475
+ // Fix option 3: optional in the node type
476
+ // @input [apiKey] - Bearer token
466
477
 
467
- // Fix option 4: Make optional
468
- // @optional apiKey
478
+ // Fix option 4: expression on the instance
479
+ // @node fetcher fetchData [expr: apiKey="process.env.API_KEY"]
469
480
  ```
470
481
 
471
482
  ---
@@ -504,7 +515,7 @@ const fetchData = (execute: boolean, url: string, apiKey: string) => { ... };
504
515
  | Severity | Warning |
505
516
  | Meaning | A node instance is defined but has no connections (not referenced by any `@connect`). |
506
517
  | Common Causes | Dead code from a previous iteration. Forgetting to wire up a newly added node. |
507
- | Fix | Either connect the node into the workflow graph or remove the `@instance` annotation if it is no longer needed. |
518
+ | Fix | Either connect the node into the workflow graph or remove its `@node` line if it is no longer needed. |
508
519
 
509
520
  #### NO_START_CONNECTIONS (warning)
510
521
 
@@ -551,6 +562,15 @@ const fetchData = (execute: boolean, url: string, apiKey: string) => { ... };
551
562
  | Common Causes | Defining a return type that includes a property but never connecting anything to the corresponding Exit port. A connection to this Exit port was removed. |
552
563
  | Fix | Connect a node output to this Exit port, or remove the port from the workflow's return type if it is not needed. |
553
564
 
565
+ #### HTTP_PARAM_UNKNOWN (error)
566
+
567
+ | Field | Value |
568
+ | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
569
+ | Severity | Error |
570
+ | Meaning | An `@http` route has a `:param` segment that names no parameter of the workflow, so a request to it could not bind that part of the path to anything. |
571
+ | Common Causes | A typo in the segment; a parameter renamed after the route was written; a route copied from another workflow. |
572
+ | Fix | Name the segment after one of the workflow's `@param`s, or take the segment out of the path. |
573
+
554
574
  #### MULTIPLE_EXIT_CONNECTIONS (warning)
555
575
 
556
576
  | Field | Value |
@@ -611,12 +631,12 @@ These codes apply to AI agent workflows that use LLM, tool-executor, and memory
611
631
  | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
612
632
  | Severity | Warning |
613
633
  | Meaning | An LLM node routes failures directly to Exit without any retry or fallback logic. Any LLM error immediately aborts the entire workflow. |
614
- | Common Causes | Wiring `llmNode.onFailure -> Exit.onFailure` without a retry or fallback node in between. |
615
- | Fix | Add a retry node or fallback LLM provider between the LLM's `onFailure` and Exit to improve resilience against transient failures. |
634
+ | Common Causes | Wiring `llmNode.onFailure -> Exit.onFailure` without visible retry/fallback handling, or using a shared resilient adapter without declaring its contract. |
635
+ | Fix | Add a retry/fallback node, or annotate an adapter that already implements it with `@resilience retries=N` and/or `fallback="provider"`. |
616
636
 
617
637
  > **Beginner explanation:** If the LLM fails and goes straight to Exit, the entire workflow stops. Transient errors (rate limits, timeouts) could be retried.
618
638
  >
619
- > **What to do:** Add a retry node or alternative LLM provider between the failure port and Exit.
639
+ > **What to do:** Add a retry/fallback node. If a shared adapter already owns that logic, declare it with `@resilience`; this annotation documents existing behavior and does not implement retries.
620
640
 
621
641
  #### AGENT_TOOL_NO_OUTPUT_HANDLING (warning)
622
642
 
@@ -633,16 +653,16 @@ These codes apply to AI agent workflows that use LLM, tool-executor, and memory
633
653
 
634
654
  ### Design Quality Rules
635
655
 
636
- These rules detect common workflow design problems that compile fine but indicate poor structure. All are warnings or info-level, suppressible with `@suppress`.
656
+ These rules detect common workflow design problems that compile fine but indicate poor structure. All are warnings or info-level, suppressible per instance with `[suppress: "CODE"]` on the `@node` line.
637
657
 
638
658
  #### DESIGN_ASYNC_NO_ERROR_PATH (warning)
639
659
 
640
660
  | Field | Value |
641
661
  | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
642
662
  | Severity | Warning |
643
- | Meaning | An async node has no onFailure connection. Async operations (network calls, file I/O, AI calls) can fail, and errors will be silently lost. |
644
- | Common Causes | Adding an async node and connecting onSuccess but forgetting to wire onFailure. |
645
- | Fix | Connect the node's `onFailure` port to an error handler, retry node, or `Exit.onFailure`. |
663
+ | Meaning | An async node has no `onFailure` connection. Async operations (network calls, file I/O, AI calls) can fail. For a normal-mode node the failure is silently lost. For an `@expression` node a throw aborts the run with the error, whether or not `onFailure` is wired. |
664
+ | Common Causes | Adding an async node and connecting `onSuccess` but forgetting to decide what a failure should do. |
665
+ | Fix | Normal mode: connect the node's `onFailure` port to an error handler, retry node, or `Exit.onFailure`. Expression mode: wiring `onFailure` does nothing about a throw; to route the failure inside the graph, write the node in normal mode and return `onFailure: true`. If aborting the run is the intended behaviour, add `[suppress: "DESIGN_ASYNC_NO_ERROR_PATH"]` to the `@node` line. |
646
666
 
647
667
  #### DESIGN_SCOPE_NO_FAILURE_EXIT (warning)
648
668
 
@@ -700,6 +720,15 @@ These rules detect common workflow design problems that compile fine but indicat
700
720
 
701
721
  ---
702
722
 
723
+ ## Parse-Level Codes
724
+
725
+ Two codes come from parsing the file, before validation runs. `fw_validate`, `fw_describe` and the other MCP tools return them as the error `code`; `fw validate --json` prints them as parse errors.
726
+
727
+ | Code | Meaning | What to do |
728
+ |------|---------|------------|
729
+ | `MULTIPLE_WORKFLOWS_FOUND` | The file declares several workflows and none was named | Pass `workflowName` (`-w` on the CLI), or let the tool handle every workflow in turn where it offers to |
730
+ | `NO_WORKFLOW_FOUND` | The file has node types but no `@flowWeaver workflow` function | Add the workflow annotation above an exported function, or validate the file as node types only (which `fw_validate` does on its own) |
731
+
703
732
  ## Quick Reference: Error Severity Summary
704
733
 
705
734
  ### Errors (must fix)
@@ -712,6 +741,7 @@ These rules detect common workflow design problems that compile fine but indicat
712
741
  | DUPLICATE_NODE_NAME | Two node types share a function name |
713
742
  | RESERVED_NODE_NAME | Node type uses "Start" or "Exit" |
714
743
  | RESERVED_INSTANCE_ID | Instance ID is "Start" or "Exit" |
744
+ | INVALID_SCOPE_NAME | A scoped port names a scope that is not a JavaScript identifier (scope names become identifiers in generated code) |
715
745
  | UNKNOWN_SOURCE_NODE | Connection from nonexistent node |
716
746
  | UNKNOWN_TARGET_NODE | Connection to nonexistent node |
717
747
  | UNKNOWN_SOURCE_PORT | Connection from nonexistent output port |
@@ -720,15 +750,23 @@ These rules detect common workflow design problems that compile fine but indicat
720
750
  | STEP_PORT_TYPE_MISMATCH | STEP port connected to data port or vice versa |
721
751
  | TYPE_INCOMPATIBLE | Type mismatch with @strictTypes enabled |
722
752
  | UNKNOWN_NODE_TYPE | Instance references nonexistent node type |
723
- | UNDEFINED_NODE | Connection references node with no instance |
724
753
  | MISSING_REQUIRED_INPUT | Required input has no connection/default/expression |
725
754
  | CYCLE_DETECTED | Graph contains a loop |
726
755
  | INVALID_EXIT_PORT_TYPE | Exit onSuccess/onFailure is not STEP type |
756
+ | HTTP_PARAM_UNKNOWN | An @http route has a :param segment that names no parameter of the workflow |
727
757
  | SCOPE_MISSING_REQUIRED_INPUT | Required input port on a scoped child has no connection |
728
758
  | SCOPE_WRONG_SCOPE_NAME | Connection uses a scope name not defined on the node |
729
759
  | SCOPE_CONNECTION_OUTSIDE | Scoped connection references a node outside the scope |
730
760
  | SCOPE_UNKNOWN_PORT | Connection references a port that is not a scoped port of the specified scope |
731
761
  | AGENT_LLM_MISSING_ERROR_HANDLER | LLM node's onFailure port is unconnected |
762
+ | DUPLICATE_INSTANCE_ID | Two @node declarations in one workflow use the same ID. Each instance ID must be unique |
763
+ | STUB_NODE | An instance uses a node type that has no implementation. Implement it, or validate in draft mode to check structure only |
764
+ | DUPLICATE_CONNECTION | The same from-port to to-port connection is declared more than once |
765
+ | CROSS_SCOPE_CONNECTION | A connection links nodes that live in different scopes. Nodes in different scopes cannot connect directly |
766
+ | SCOPE_INCONSISTENT | An instance is listed in more than one scope. A node can belong to only one scope |
767
+ | COERCE_ON_FUNCTION_PORT | An `as` coercion is applied to a FUNCTION port. Function values cannot be meaningfully coerced |
768
+ | EXPRESSION_SYNTAX | An [expr:] binding or an Expression: default does not parse as a JavaScript expression (text needs quotes inside the attribute: timeout="'24h'"). It would otherwise fail only when the generated file is transpiled |
769
+ | DURABLE_CLOSURE_INVALID | A workflow with a durable gate breaks a durability rule (a gate/effect in more than one branch region or taking data from outside it, pull/lazy execution, an unclassified node, or a bad effect contract). Surfaced at author time. The coordinator would otherwise reject it only at run time. |
732
770
  <!-- AUTO:END error_summary_table -->
733
771
 
734
772
  ### Warnings (should review)
@@ -757,11 +795,20 @@ These rules detect common workflow design problems that compile fine but indicat
757
795
  | AGENT_MISSING_MEMORY_IN_LOOP | Loop has LLM but no conversation memory node |
758
796
  | AGENT_LLM_NO_FALLBACK | LLM onFailure routes directly to Exit |
759
797
  | AGENT_TOOL_NO_OUTPUT_HANDLING | Tool executor data outputs all unconnected |
760
- | DESIGN_ASYNC_NO_ERROR_PATH | Async node has no onFailure connection |
798
+ | DESIGN_ASYNC_NO_ERROR_PATH | Async node has no onFailure connection (durable gates are exempt: their body never runs and their failure arm is the resolver's rejection) |
761
799
  | DESIGN_SCOPE_NO_FAILURE_EXIT | Scope node has no failure path out |
762
800
  | DESIGN_UNBOUNDED_RETRY | Retry scope has no visible attempt limit |
763
801
  | DESIGN_FANOUT_NO_FANIN | Fan-out to multiple step targets with no merge back |
764
802
  | DESIGN_EXIT_DATA_UNREACHABLE | Exit data port has no connection and no pull-execution provider |
765
803
  | DESIGN_PULL_CANDIDATE | Node has no step trigger but its outputs are consumed downstream |
766
804
  | DESIGN_PULL_UNUSED | Pull-execution node has no downstream consumers |
805
+ | SCOPE_EMPTY | A scope declared on a node has no child nodes |
806
+ | COERCE_TYPE_MISMATCH | An `as` coercion produces a type the target port does not expect. Use the coercion that matches the target |
807
+ | REDUNDANT_COERCE | An `as` coercion converts between identical source and target types and does nothing |
808
+ | INVALID_PORT_TYPE | A port declares a dataType that is not a recognised Flow Weaver type |
809
+ | INVALID_COLOR | A node type uses an @color value that is not in the palette. See the visual-reference topic for valid colors |
810
+ | INVALID_ICON | A node type uses an @icon value that is not a Material Symbols name (snake_case or camelCase). See the visual-reference topic |
811
+ | INVALID_EXECUTE_WHEN | A node type declares an @executeWhen value that is not a recognised execution strategy |
812
+ | INVALID_PORT_CONFIG_REF | An instance configures a port (portOrder, portLabel, expr) that does not exist on its node type |
813
+ | SUPPRESS_UNKNOWN_CODE | A [suppress: ...] entry cannot be a validation code, so it suppresses nothing. Codes are separate string literals, e.g. [suppress: "A", "B"], not [suppress: "A,B"] |
767
814
  <!-- AUTO:END warning_summary_table -->
@@ -26,7 +26,9 @@ Use JSDoc `@param` to define Start node ports:
26
26
  export function myWorkflow(
27
27
  execute: boolean,
28
28
  params: { data: any; optional?: any; withDefault?: number }
29
- ) { ... }
29
+ ): { onSuccess: boolean; onFailure: boolean } {
30
+ throw new Error('generated body was not installed');
31
+ }
30
32
  ```
31
33
 
32
34
  **IMPORTANT:**
@@ -44,42 +46,61 @@ Use JSDoc `@returns` to define Exit node ports:
44
46
  * @returns result - The output result
45
47
  * @returns status - Status message
46
48
  */
47
- export function myWorkflow(...): {
48
- onSuccess: boolean;
49
- onFailure: boolean;
50
- result: any;
51
- status: string
52
- } { ... }
49
+ export function myWorkflow(
50
+ execute: boolean,
51
+ params: { data: any }
52
+ ): { onSuccess: boolean; onFailure: boolean; result: any; status: string } {
53
+ throw new Error('generated body was not installed');
54
+ }
53
55
  ```
54
56
 
55
57
  ## Node Inputs/Outputs
56
58
 
57
- Use `@input` and `@output` for node types. **Inputs become direct parameters:**
59
+ Use `@input` and `@output` for node types. **Inputs become direct parameters**, and the return value is the output:
58
60
 
59
61
  ```typescript
60
62
  /**
61
63
  * @flowWeaver nodeType
64
+ * @expression
62
65
  * @input value - Value to process
63
66
  * @input count - Number of times
64
67
  * @output result - Processed result
65
68
  */
66
- function processNode(execute: boolean, value: any, count: number) { ... }
67
- // ^ ^
68
- // Direct parameters (NOT wrapped in object)
69
+ function processNode(value: any, count: number): any { ... }
70
+ // ^ ^
71
+ // Direct parameters (NOT wrapped in object)
69
72
  ```
70
73
 
74
+ With one `@output`, the whole return value is that port. With several, return an object with one property per `@output`. A throw marks the node failed and propagates the error out of the workflow call.
75
+
76
+ **The text after the dash is the port's display label, not a description.** It renders inside the port badge in the diagram, so keep it to **1–2 words** — `@output task - Agent task`, not `@output task - The agent task (agentId, context, prompt), as one value`. There is no separate description field for a port; a long sentence just overflows the badge. Omit the dash entirely when the name already says it (`@output task`).
77
+
78
+ Only a normal-mode node (see Mandatory Ports) adds `execute: boolean` in front: `function processNode(execute: boolean, value: any, count: number)`.
79
+
80
+ ## Designing ports to avoid connection sprawl
81
+
82
+ The rule: **scalar ports for what a node reads or transforms; one object port for context that flows through unchanged.** Getting this backwards is the main cause of over-wired workflows.
83
+
84
+ - **Never create a relay port pair.** An `@input x` plus `@output x` that only passes a value through is a smell. If several nodes need the same unchanging values, carry them in one object port (`@output brief`) instead of re-declaring each scalar on every node. One shared `brief` object replaced eight `surface` re-wirings in one workflow.
85
+ - **Keep port names identical along a chain** so `@path` wires the data with no `@connect`; reserve `@connect` for genuine renames.
86
+ - **Gates read the fields they need with `[expr:]`** (`context="upstream.state.field"`) rather than through relay ports — but only from their **immediate predecessor**. Reaching past a gate to an earlier node puts the gate in two branch regions and is rejected (`DURABLE_CLOSURE_INVALID`). Thread the shared object through each gate so each reads from the one before it.
87
+
88
+ The cost of an object port: type-checking is per-object, not per-field, and a consumer that declares a narrower shape than the producer emits gets an `OBJECT_TYPE_MISMATCH` warning (it still runs — structural subtyping). Keep the one or two values a node actually transforms as typed scalars so the checker still guards them.
89
+
71
90
  # Mandatory Ports
72
91
 
73
- Always present on every node/workflow:
92
+ Every node and workflow has these STEP ports, and `@path` wires them for every step:
74
93
 
75
94
  **Input:**
76
95
 
77
- - `execute` (STEP) - First function parameter
96
+ - `execute` (STEP)
78
97
 
79
98
  **Output:**
80
99
 
81
- - `onSuccess` (STEP) - In return type
82
- - `onFailure` (STEP) - In return type
100
+ - `onSuccess` (STEP)
101
+ - `onFailure` (STEP)
102
+
103
+ An expression node never mentions them: the runtime passes `execute`, sets `onSuccess` on return, and on a throw sets `onFailure` and rethrows, so the error leaves the workflow call rather than following a `:fail` route. They appear in a function signature only in **normal mode** (`execute` is the first parameter, `onSuccess`/`onFailure` are in the return type) and in the **workflow export**, whose signature is always `(execute: boolean, params: {...}): { onSuccess: boolean; onFailure: boolean; ...returns }`. Normal mode is reserved for a node that routes a failure to another node or to `Exit.onFailure`, returns data alongside a failure, a void side-effect, a boolean branch, a scope owner (forEach below), or a durable gate or effect.
83
104
 
84
105
  # Async Workflows
85
106
 
@@ -95,7 +116,23 @@ export async function asyncWorkflow(
95
116
  execute: boolean,
96
117
  params: { data: any }
97
118
  ): Promise<{ onSuccess: boolean; onFailure: boolean; result: any }> {
98
- // async implementation
119
+ throw new Error('generated body was not installed');
120
+ }
121
+ ```
122
+
123
+ Async node types work the same way. An `async` expression function's resolved value is its output, and a rejection is its failure:
124
+
125
+ ```typescript
126
+ /**
127
+ * @flowWeaver nodeType
128
+ * @expression
129
+ * @input url - URL to fetch
130
+ * @output data - Parsed response body
131
+ */
132
+ async function fetchJson(url: string): Promise<any> {
133
+ const res = await fetch(url);
134
+ if (!res.ok) throw new Error(`HTTP ${res.status}`);
135
+ return await res.json();
99
136
  }
100
137
  ```
101
138
 
@@ -103,6 +140,17 @@ export async function asyncWorkflow(
103
140
 
104
141
  For iteration (forEach), use **per-port scopes** with `scope:scopeName` suffix on ports.
105
142
 
143
+ The forEach node owns a scope, which is one of the reasons for normal mode: it takes `execute`, calls the generated callback per item itself, and reports `onSuccess`/`onFailure` when the loop is done. The child node inside the scope is an ordinary expression node.
144
+
145
+ > **A scope and a durable gate cannot share a workflow.** A workflow whose
146
+ > reachable closure contains a gate — `waitForEvent`, `waitForAgent`, or any
147
+ > `@durableGate` — may not contain scoped children at all, and is refused with
148
+ > `DURABLE_CLOSURE_INVALID`. The owner calls the callback itself, so the engine
149
+ > cannot prove on resume that the iteration it is servicing is the one that
150
+ > paused. To loop over work that pauses, run the loop **outside** the workflow
151
+ > and invoke the gated workflow once per item, or write the passes out in full
152
+ > if there are few and the count is fixed. See [Durable Gates](durable-gates.md).
153
+
106
154
  ## 1. Define ForEach Node Type
107
155
 
108
156
  ```typescript
@@ -122,6 +170,7 @@ function forEach(
122
170
  items: any[],
123
171
  processItem: (start: boolean, item: any) => { success: boolean; failure: boolean; processed: any }
124
172
  ) {
173
+ // Normal mode: this node owns the processItem scope and drives the callback itself
125
174
  if (!execute) return { onSuccess: false, onFailure: false, results: [] };
126
175
  const results = items.map((item) => processItem(true, item).processed);
127
176
  return { onSuccess: true, onFailure: false, results };
@@ -134,10 +183,18 @@ Key points:
134
183
  - Callback is auto-generated by compiler, receives scoped port values as args
135
184
  - The node implementation iterates by calling callback for each item
136
185
  - Mandatory scoped STEP ports: `start` (output), `success`/`failure` (inputs)
186
+ - Scoped wiring uses `@connect` with the `:scopeName` suffix; `@path` does not express it
137
187
 
138
188
  ## 2. Use ForEach in Workflow
139
189
 
190
+ The child is an ordinary expression node:
191
+
140
192
  ```typescript
193
+ /** @flowWeaver nodeType @expression */
194
+ function processor(item: any): { result: any } {
195
+ return { result: item };
196
+ }
197
+
141
198
  /**
142
199
  * @flowWeaver workflow
143
200
  * @node loop forEach
@@ -170,30 +227,38 @@ Key syntax:
170
227
 
171
228
  ```typescript
172
229
  // WRONG - inputs wrapped in object
173
- function node(execute: boolean, params: { value: any }) { ... }
230
+ function node(params: { value: any }) { ... }
174
231
 
175
232
  // CORRECT - direct parameters for nodes
176
- function node(execute: boolean, value: any) { ... }
233
+ function node(value: any): Result { ... } // expression mode
234
+ function node(execute: boolean, value: any) { ... } // normal mode only
177
235
  ```
178
236
 
179
- **Missing execute parameter**
237
+ **Signature does not match the mode**
180
238
 
181
239
  ```typescript
182
- // WRONG - no execute
240
+ // WRONG - normal mode (no @expression tag) but no execute parameter
183
241
  function node(value: any) { ... }
184
242
 
185
- // CORRECT
243
+ // CORRECT - expression mode: add @expression, no execute parameter
244
+ /** @flowWeaver nodeType @expression ... */
245
+ function node(value: any): Result { ... }
246
+
247
+ // CORRECT - normal mode: execute comes first
186
248
  function node(execute: boolean, value: any) { ... }
187
249
  ```
188
250
 
189
- **Missing return properties**
251
+ **Missing return properties (normal mode)**
190
252
 
191
253
  ```typescript
192
- // WRONG - missing onFailure
254
+ // WRONG - normal mode return missing onFailure
193
255
  return { onSuccess: true, result: 42 };
194
256
 
195
- // CORRECT
257
+ // CORRECT - normal mode
196
258
  return { onSuccess: true, onFailure: false, result: 42 };
259
+
260
+ // CORRECT - expression mode returns the value itself
261
+ return 42;
197
262
  ```
198
263
 
199
264
  **Multiple connections to same Exit port**
@@ -212,10 +277,10 @@ return { onSuccess: true, onFailure: false, result: 42 };
212
277
 
213
278
  ```typescript
214
279
  // WRONG - 'process' is a Node.js global
215
- function process(execute: boolean, item: any) { ... }
280
+ function process(item: any) { ... }
216
281
 
217
282
  // CORRECT - use non-reserved names
218
- function processItem(execute: boolean, item: any) { ... }
283
+ function processItem(item: any) { ... }
219
284
  ```
220
285
 
221
286
  Avoid: `process`, `module`, `require`, `exports`, `console`, `global`