@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
@@ -1,743 +0,0 @@
1
- import { mapToTypeScript } from "./type-mappings.js";
2
- import { isExecutePort, isSuccessPort, isFailurePort, isControlFlowPort } from "./constants.js";
3
- import { shouldUseStepTag } from "./utils/port-tag-utils.js";
4
- import { detectSugarPatterns, filterStaleMacros } from "./sugar-optimizer.js";
5
- export class AnnotationGenerator {
6
- generate(workflow, options = {}) {
7
- const { includeComments = true, includeMetadata = true, indentSize = 2, skipParamReturns = false, } = options;
8
- const indent = " ".repeat(indentSize);
9
- const lines = [];
10
- if (includeComments) {
11
- lines.push("");
12
- lines.push("");
13
- }
14
- workflow.nodeTypes.forEach((nodeType) => {
15
- // Skip the workflow's own IMPORTED_WORKFLOW entry (would create duplicate)
16
- if (nodeType.variant === 'IMPORTED_WORKFLOW' && nodeType.functionName === workflow.functionName) {
17
- return;
18
- }
19
- // Skip synthetic MAP_ITERATOR node types — they're generated from @map macros
20
- if (nodeType.variant === 'MAP_ITERATOR') {
21
- return;
22
- }
23
- // Skip synthetic COERCION node types — they're generated from @coerce macros
24
- if (nodeType.variant === 'COERCION') {
25
- return;
26
- }
27
- // Skip inferred stubs — they have no @flowWeaver annotation and were auto-detected
28
- if (nodeType.variant === 'STUB' && nodeType.inferred) {
29
- return;
30
- }
31
- lines.push(...this.generateNodeTypeAnnotation(nodeType, indent, includeComments, includeMetadata));
32
- lines.push("");
33
- });
34
- lines.push(...this.generateWorkflowAnnotation(workflow, indent, includeComments, skipParamReturns));
35
- lines.push("");
36
- return lines.join("\n");
37
- }
38
- generateNodeTypeAnnotation(nodeType, indent, includeComments, includeMetadata) {
39
- const lines = [];
40
- // If functionText exists, it already includes the JSDoc - use it directly
41
- if (nodeType.functionText) {
42
- lines.push(nodeType.functionText);
43
- return lines;
44
- }
45
- // Generate JSDoc comment block (only when no functionText)
46
- lines.push("/**");
47
- // Add description if present (handle multi-line descriptions)
48
- if (includeComments && nodeType.description) {
49
- for (const descLine of nodeType.description.split('\n')) {
50
- lines.push(` * ${descLine}`);
51
- }
52
- lines.push(` *`);
53
- }
54
- // @flowWeaver marker: use 'node' shorthand for stubs and expression nodes
55
- const isStub = nodeType.variant === 'STUB';
56
- if (isStub || nodeType.expression) {
57
- lines.push(" * @flowWeaver node");
58
- }
59
- else {
60
- lines.push(" * @flowWeaver nodeType");
61
- }
62
- // Add label if present
63
- if (includeMetadata && nodeType.label) {
64
- lines.push(` * @label ${nodeType.label}`);
65
- }
66
- // Add name if different from function name (preserves display name across save/reload)
67
- if (includeMetadata && nodeType.name && nodeType.name !== nodeType.functionName) {
68
- lines.push(` * @name ${nodeType.name}`);
69
- }
70
- // Add scope if present
71
- if (nodeType.scope) {
72
- lines.push(` * @scope ${nodeType.scope}`);
73
- }
74
- // Add pullExecution if present
75
- if (nodeType.defaultConfig?.pullExecution) {
76
- lines.push(` * @pullExecution ${nodeType.defaultConfig.pullExecution.triggerPort}`);
77
- }
78
- // Add input ports (with automatic ordering)
79
- const inputEntries = this.assignPortOrders(Object.entries(nodeType.inputs), 'input');
80
- inputEntries.forEach(([name, port]) => {
81
- const portTag = this.generateJSDocPortTag(name, port, 'input');
82
- lines.push(` * ${portTag}`);
83
- });
84
- // Add output ports (with automatic ordering)
85
- const outputEntries = this.assignPortOrders(Object.entries(nodeType.outputs), 'output');
86
- outputEntries.forEach(([name, port]) => {
87
- const portTag = this.generateJSDocPortTag(name, port, 'output');
88
- lines.push(` * ${portTag}`);
89
- });
90
- lines.push(" */");
91
- // Generate function signature
92
- lines.push(...this.generateFunctionSignature(nodeType));
93
- return lines;
94
- }
95
- generateJSDocPortTag(name, port, direction, implicitOrder) {
96
- return generateJSDocPortTag(name, port, direction, implicitOrder);
97
- }
98
- generateTPortDefinition(port, _indent) {
99
- if (!port.optional &&
100
- port.default === undefined &&
101
- !port.expression &&
102
- !port.label &&
103
- !port.hidden &&
104
- !port.failure) {
105
- return `'${port.dataType}'`;
106
- }
107
- const props = [];
108
- props.push(`type: '${port.dataType}'`);
109
- if (port.optional) {
110
- props.push(`optional: true`);
111
- }
112
- if (port.default !== undefined) {
113
- props.push(`defaultValue: ${JSON.stringify(port.default)}`);
114
- }
115
- if (port.expression) {
116
- props.push(`expression: \`${port.expression}\``);
117
- }
118
- if (port.label) {
119
- props.push(`label: '${port.label}'`);
120
- }
121
- if (port.hidden) {
122
- props.push(`hidden: true`);
123
- }
124
- if (port.failure) {
125
- props.push(`failure: true`);
126
- }
127
- return `{ ${props.join(", ")} }`;
128
- }
129
- generateFunctionSignature(nodeType) {
130
- return generateFunctionSignature(nodeType);
131
- }
132
- generateWorkflowAnnotation(workflow, indent, includeComments, skipParamReturns = false) {
133
- const lines = [];
134
- // Build macro coverage sets for filtering (@map and @coerce)
135
- const macroInstanceIds = new Set();
136
- const macroChildIds = new Set();
137
- const macroScopeNames = new Set();
138
- const coerceInstanceIds = new Set();
139
- if (workflow.macros && workflow.macros.length > 0) {
140
- for (const macro of workflow.macros) {
141
- if (macro.type === 'map') {
142
- macroInstanceIds.add(macro.instanceId);
143
- macroChildIds.add(macro.childId);
144
- macroScopeNames.add(`${macro.instanceId}.iterate`);
145
- }
146
- else if (macro.type === 'coerce') {
147
- coerceInstanceIds.add(macro.instanceId);
148
- }
149
- }
150
- }
151
- // Generate JSDoc comment block
152
- lines.push("/**");
153
- // Add description if present
154
- if (includeComments && workflow.description) {
155
- lines.push(` * ${workflow.description}`);
156
- lines.push(` *`);
157
- }
158
- // @flowWeaver workflow marker
159
- lines.push(" * @flowWeaver workflow");
160
- // Add strictTypes option if enabled
161
- if (workflow.options?.strictTypes) {
162
- lines.push(" * @strictTypes");
163
- }
164
- // Add autoConnect option if enabled
165
- if (workflow.options?.autoConnect) {
166
- lines.push(" * @autoConnect");
167
- }
168
- // @trigger round-trip
169
- if (workflow.options?.trigger) {
170
- const t = workflow.options.trigger;
171
- const parts = [];
172
- if (t.event)
173
- parts.push(`event="${t.event}"`);
174
- if (t.cron)
175
- parts.push(`cron="${t.cron}"`);
176
- if (parts.length > 0)
177
- lines.push(` * @trigger ${parts.join(' ')}`);
178
- }
179
- // @cancelOn round-trip
180
- if (workflow.options?.cancelOn) {
181
- const c = workflow.options.cancelOn;
182
- let line = ` * @cancelOn event="${c.event}"`;
183
- if (c.match)
184
- line += ` match="${c.match}"`;
185
- if (c.timeout)
186
- line += ` timeout="${c.timeout}"`;
187
- lines.push(line);
188
- }
189
- // @retries round-trip
190
- if (workflow.options?.retries !== undefined) {
191
- lines.push(` * @retries ${workflow.options.retries}`);
192
- }
193
- // @timeout round-trip
194
- if (workflow.options?.timeout) {
195
- lines.push(` * @timeout "${workflow.options.timeout}"`);
196
- }
197
- // @throttle round-trip
198
- if (workflow.options?.throttle) {
199
- const t = workflow.options.throttle;
200
- let line = ` * @throttle limit=${t.limit}`;
201
- if (t.period)
202
- line += ` period="${t.period}"`;
203
- lines.push(line);
204
- }
205
- // CI/CD annotations round-trip (from pack-contributed tag handlers)
206
- if (workflow.options?.cicd) {
207
- const cicd = workflow.options.cicd;
208
- // @trigger (CI/CD style: push, pull_request, etc.)
209
- if (cicd.triggers && Array.isArray(cicd.triggers)) {
210
- for (const trigger of cicd.triggers) {
211
- const parts = [String(trigger.type || '')];
212
- if (trigger.branches)
213
- parts.push(`branches="${trigger.branches}"`);
214
- if (trigger.types)
215
- parts.push(`types="${trigger.types}"`);
216
- if (trigger.pattern)
217
- parts.push(`pattern="${trigger.pattern}"`);
218
- if (trigger.cron)
219
- parts.push(`cron="${trigger.cron}"`);
220
- lines.push(` * @trigger ${parts.join(' ')}`);
221
- }
222
- }
223
- // @secret
224
- if (cicd.secrets && Array.isArray(cicd.secrets)) {
225
- for (const secret of cicd.secrets) {
226
- let line = ` * @secret ${secret.name}`;
227
- if (secret.description)
228
- line += ` - ${secret.description}`;
229
- lines.push(line);
230
- }
231
- }
232
- // @runner
233
- if (cicd.runner) {
234
- lines.push(` * @runner ${cicd.runner}`);
235
- }
236
- // @cache
237
- if (cicd.caches && Array.isArray(cicd.caches)) {
238
- for (const cache of cicd.caches) {
239
- let line = ` * @cache ${cache.strategy || 'npm'}`;
240
- if (cache.key)
241
- line += ` key="${cache.key}"`;
242
- if (cache.path)
243
- line += ` path="${cache.path}"`;
244
- lines.push(line);
245
- }
246
- }
247
- }
248
- // Add name if different from export name
249
- if (workflow.name && workflow.name !== workflow.functionName) {
250
- lines.push(` * @name ${workflow.name}`);
251
- }
252
- // Add description tag
253
- if (workflow.description && includeComments) {
254
- lines.push(` * @description ${workflow.description}`);
255
- }
256
- // Add node instances — skip synthetic MAP_ITERATOR/COERCION instances, strip parent from macro children
257
- workflow.instances.forEach((instance) => {
258
- if (macroInstanceIds.has(instance.id))
259
- return;
260
- if (coerceInstanceIds.has(instance.id))
261
- return;
262
- if (macroChildIds.has(instance.id) && instance.parent) {
263
- const stripped = { ...instance, parent: undefined };
264
- lines.push(generateNodeInstanceTag(stripped));
265
- }
266
- else {
267
- lines.push(generateNodeInstanceTag(instance));
268
- }
269
- });
270
- // Filter stale macros (e.g. paths whose connections were deleted)
271
- const existingMacros = filterStaleMacros(workflow.macros || [], workflow.connections, workflow.instances, workflow.nodeTypes, workflow.startPorts, workflow.exitPorts);
272
- // Compute dropped coerce instance IDs — their connections must be excluded
273
- const survivingCoerceIds = new Set();
274
- for (const macro of existingMacros) {
275
- if (macro.type === 'coerce')
276
- survivingCoerceIds.add(macro.instanceId);
277
- }
278
- const droppedCoerceIds = new Set();
279
- for (const id of coerceInstanceIds) {
280
- if (!survivingCoerceIds.has(id))
281
- droppedCoerceIds.add(id);
282
- }
283
- // Auto-detect @path sugar patterns from connections
284
- const detected = detectSugarPatterns(workflow.connections, workflow.instances, existingMacros, workflow.nodeTypes, workflow.startPorts, workflow.exitPorts);
285
- // Merge detected macros with existing ones
286
- const allMacros = [
287
- ...existingMacros,
288
- ...detected.paths,
289
- ];
290
- // Add @map and @path macros
291
- if (allMacros.length > 0) {
292
- for (const macro of allMacros) {
293
- if (macro.type === 'map') {
294
- let mapLine = ` * @map ${macro.instanceId} ${macro.childId}`;
295
- if (macro.inputPort || macro.outputPort) {
296
- mapLine += `(${macro.inputPort} -> ${macro.outputPort})`;
297
- }
298
- mapLine += ` over ${macro.sourcePort}`;
299
- lines.push(mapLine);
300
- }
301
- else if (macro.type === 'path') {
302
- const stepsStr = macro.steps.map(s => s.route ? `${s.node}:${s.route}` : s.node).join(' -> ');
303
- lines.push(` * @path ${stepsStr}`);
304
- }
305
- else if (macro.type === 'fanOut') {
306
- const src = `${macro.source.node}.${macro.source.port}`;
307
- const tgts = macro.targets.map(t => t.port ? `${t.node}.${t.port}` : t.node).join(', ');
308
- lines.push(` * @fanOut ${src} -> ${tgts}`);
309
- }
310
- else if (macro.type === 'fanIn') {
311
- const srcs = macro.sources.map(s => s.port ? `${s.node}.${s.port}` : s.node).join(', ');
312
- const tgt = `${macro.target.node}.${macro.target.port}`;
313
- lines.push(` * @fanIn ${srcs} -> ${tgt}`);
314
- }
315
- else if (macro.type === 'coerce') {
316
- const src = `${macro.source.node}.${macro.source.port}`;
317
- const tgt = `${macro.target.node}.${macro.target.port}`;
318
- lines.push(` * @coerce ${macro.instanceId} ${src} -> ${tgt} as ${macro.targetType}`);
319
- }
320
- }
321
- }
322
- // Add node positions (if they exist)
323
- // Start with Start node position if present
324
- if (workflow.ui?.startNode?.x !== undefined && workflow.ui?.startNode?.y !== undefined) {
325
- lines.push(` * @position Start ${Math.round(workflow.ui.startNode.x)} ${Math.round(workflow.ui.startNode.y)}`);
326
- }
327
- // Instance positions are now emitted as [position: x y] on @node lines
328
- // Add Exit node position if present
329
- if (workflow.ui?.exitNode?.x !== undefined && workflow.ui?.exitNode?.y !== undefined) {
330
- lines.push(` * @position Exit ${Math.round(workflow.ui.exitNode.x)} ${Math.round(workflow.ui.exitNode.y)}`);
331
- }
332
- // Add connections — skip connections covered by macros and dropped coerce connections
333
- if (!workflow.options?.autoConnect) {
334
- workflow.connections.forEach((conn) => {
335
- if (allMacros.length > 0 && isConnectionCoveredByMacroStatic(conn, allMacros))
336
- return;
337
- if (droppedCoerceIds.has(conn.from.node) || droppedCoerceIds.has(conn.to.node))
338
- return;
339
- const fromScope = conn.from.scope ? `:${conn.from.scope}` : '';
340
- const toScope = conn.to.scope ? `:${conn.to.scope}` : '';
341
- lines.push(` * @connect ${conn.from.node}.${conn.from.port}${fromScope} -> ${conn.to.node}.${conn.to.port}${toScope}`);
342
- });
343
- }
344
- // Add @param annotations for start ports (workflow inputs)
345
- if (!skipParamReturns && workflow.startPorts && Object.keys(workflow.startPorts).length > 0) {
346
- const startPortEntries = this.assignPortOrders(Object.entries(workflow.startPorts), 'input');
347
- startPortEntries.forEach(([name, port], index) => {
348
- const paramTag = this.generateJSDocPortTag(name, port, 'input', index);
349
- // Replace @input with @param for workflow-level JSDoc
350
- lines.push(` * ${paramTag.replace('@input', '@param')}`);
351
- });
352
- }
353
- // Add @returns annotations for exit ports (workflow outputs)
354
- if (!skipParamReturns && workflow.exitPorts && Object.keys(workflow.exitPorts).length > 0) {
355
- const exitPortEntries = this.assignPortOrders(Object.entries(workflow.exitPorts), 'output');
356
- exitPortEntries.forEach(([name, port], index) => {
357
- const returnTag = this.generateJSDocPortTag(name, port, 'output', index);
358
- // Replace @output with @returns for workflow-level JSDoc
359
- lines.push(` * ${returnTag.replace('@output', '@returns')}`);
360
- });
361
- }
362
- // Add scopes — skip scopes covered by @map macros
363
- if (workflow.scopes) {
364
- Object.entries(workflow.scopes).forEach(([scopeName, children]) => {
365
- if (macroScopeNames.has(scopeName))
366
- return;
367
- lines.push(` * @scope ${scopeName} [${children.join(', ')}]`);
368
- });
369
- }
370
- lines.push(" */");
371
- // Add workflow function signature
372
- lines.push(...this.generateWorkflowFunctionSignature(workflow));
373
- return lines;
374
- }
375
- generateWorkflowFunctionSignature(workflow) {
376
- const lines = [];
377
- // Stub workflows use const declaration format
378
- if (workflow.stub) {
379
- lines.push(`export const ${workflow.functionName} = 'flowWeaver:draft';`);
380
- return lines;
381
- }
382
- const startPorts = workflow.startPorts || {};
383
- const exitPorts = workflow.exitPorts || {};
384
- // Build parameter types (excluding execute)
385
- const params = [];
386
- Object.entries(startPorts).forEach(([name, port]) => {
387
- if (isExecutePort(name))
388
- return;
389
- const optional = port.optional ? "?" : "";
390
- params.push(`${name}${optional}: ${this.mapDataTypeToTS(port.dataType)}`);
391
- });
392
- // Build return types (including onSuccess/onFailure)
393
- const returns = [];
394
- Object.entries(exitPorts).forEach(([name, port]) => {
395
- const optional = port.optional ? "?" : "";
396
- returns.push(`${name}${optional}: ${this.mapDataTypeToTS(port.dataType)}`);
397
- });
398
- // Generate async function signature with execute parameter
399
- lines.push(`export async function ${workflow.functionName}(`);
400
- lines.push(` execute: boolean,`);
401
- lines.push(` params: { ${params.join("; ")} }`);
402
- lines.push(`): Promise<{ ${returns.join("; ")} }> {`);
403
- lines.push(` throw new Error('Not implemented');`);
404
- lines.push("}");
405
- return lines;
406
- }
407
- assignPortOrders(ports, direction) {
408
- return assignPortOrders(ports, direction);
409
- }
410
- mapDataTypeToTS(dataType) {
411
- return mapToTypeScript(dataType);
412
- }
413
- }
414
- /**
415
- * Generate JSDoc port tag (e.g., @input name - Description)
416
- * Exported for reuse in generate-in-place.ts to maintain DRY principle
417
- *
418
- * New format (types derived from signature):
419
- * - @input name - Description
420
- * - @output name - Description
421
- * - @step name - Description (for explicit STEP/control-flow ports)
422
- *
423
- * Reserved STEP ports (execute, onSuccess, onFailure) use @input/@output.
424
- * Custom STEP ports use @step.
425
- */
426
- export function generateJSDocPortTag(rawName, port, direction, _implicitOrder) {
427
- // Support scoped key format: use _realName if present (for multi-scope mandatory ports)
428
- const name = port._realName ?? rawName;
429
- // Determine tag: @step for explicit control flow, @input/@output for data
430
- // Reserved STEP ports (execute, onSuccess, onFailure) stay as @input/@output
431
- // Scoped mandatory ports (start, success, failure) with scope attribute also stay as @input/@output
432
- const tag = shouldUseStepTag(name, port) ? 'step' : direction;
433
- // Format: @input [name=default] - Description
434
- // or: @input name - Expression: (ctx) => ...
435
- let portStr = `@${tag} `;
436
- // Handle optional with default value: [name=value]
437
- if (port.optional && port.default !== undefined) {
438
- portStr += `[${name}=${JSON.stringify(port.default)}]`;
439
- }
440
- // Handle optional without default: [name]
441
- else if (port.optional) {
442
- portStr += `[${name}]`;
443
- }
444
- // Handle required with default: name=value (though rare)
445
- else if (port.default !== undefined) {
446
- portStr += `${name}=${JSON.stringify(port.default)}`;
447
- }
448
- // Regular required port
449
- else {
450
- portStr += name;
451
- }
452
- // Add scope attribute if present (for per-port scoped architecture)
453
- if (port.scope) {
454
- portStr += ` scope:${port.scope}`;
455
- }
456
- // Add order metadata whenever it's explicitly set to preserve round-trip fidelity
457
- // Even if order matches position, we must write it to avoid losing metadata on re-parse
458
- if (port.metadata?.order !== undefined) {
459
- portStr += ` [order:${port.metadata.order}]`;
460
- }
461
- // Add placement metadata when explicitly set
462
- if (port.metadata?.placement !== undefined) {
463
- portStr += ` [placement:${port.metadata.placement}]`;
464
- }
465
- if (port.expression) {
466
- portStr += ` - Expression: ${port.expression}`;
467
- }
468
- else if (port.label && port.label !== name) {
469
- // Only add label if it differs from the port name
470
- portStr += ` - ${port.label}`;
471
- }
472
- return portStr;
473
- }
474
- /**
475
- * Check if a connection is covered by a macro (and should not be written as @connect).
476
- * Handles both @map and @path macros.
477
- */
478
- function isConnectionCoveredByMacroStatic(conn, macros) {
479
- for (const macro of macros) {
480
- if (macro.type === 'map') {
481
- const [sourceNode, sourcePort] = macro.sourcePort.split('.');
482
- // Scoped connections between the map instance and its child
483
- if ((conn.from.node === macro.instanceId || conn.from.node === macro.childId) &&
484
- (conn.to.node === macro.instanceId || conn.to.node === macro.childId) &&
485
- (conn.from.scope === 'iterate' || conn.to.scope === 'iterate')) {
486
- return true;
487
- }
488
- // Upstream connection: source.port -> mapInstance.items
489
- if (conn.from.node === sourceNode &&
490
- conn.from.port === sourcePort &&
491
- !conn.from.scope &&
492
- conn.to.node === macro.instanceId &&
493
- conn.to.port === 'items' &&
494
- !conn.to.scope) {
495
- return true;
496
- }
497
- }
498
- else if (macro.type === 'path') {
499
- if (conn.from.scope || conn.to.scope)
500
- continue;
501
- const steps = macro.steps;
502
- const fromIdx = steps.findIndex(s => s.node === conn.from.node);
503
- const toIdx = steps.findIndex(s => s.node === conn.to.node);
504
- if (fromIdx === -1 || toIdx === -1 || fromIdx >= toIdx)
505
- continue;
506
- // Control flow: check consecutive pairs
507
- if (toIdx === fromIdx + 1) {
508
- const route = steps[fromIdx].route || 'ok';
509
- // Start.execute -> next.execute
510
- if (conn.from.node === 'Start' && conn.from.port === 'execute' && conn.to.port === 'execute')
511
- return true;
512
- // To Exit: route determines which Exit port
513
- if (conn.to.node === 'Exit') {
514
- if (route === 'fail' && conn.from.port === 'onFailure' && conn.to.port === 'onFailure')
515
- return true;
516
- if (route === 'ok' && conn.from.port === 'onSuccess' && conn.to.port === 'onSuccess')
517
- return true;
518
- }
519
- // Normal: onSuccess/onFailure -> execute
520
- if (route === 'fail' && conn.from.port === 'onFailure' && conn.to.port === 'execute')
521
- return true;
522
- if (route === 'ok' && conn.from.port === 'onSuccess' && conn.to.port === 'execute')
523
- return true;
524
- }
525
- // Data: same-name non-control-flow, from before to, to is not Exit
526
- if (conn.to.node !== 'Exit' &&
527
- !isControlFlowPort(conn.from.port) &&
528
- !isControlFlowPort(conn.to.port) &&
529
- conn.from.port === conn.to.port) {
530
- return true;
531
- }
532
- }
533
- else if (macro.type === 'fanOut') {
534
- if (conn.from.scope || conn.to.scope)
535
- continue;
536
- // Check if connection matches the fan-out pattern
537
- if (conn.from.node === macro.source.node && conn.from.port === macro.source.port) {
538
- for (const target of macro.targets) {
539
- const targetPort = target.port ?? macro.source.port;
540
- if (conn.to.node === target.node && conn.to.port === targetPort) {
541
- return true;
542
- }
543
- }
544
- }
545
- }
546
- else if (macro.type === 'fanIn') {
547
- if (conn.from.scope || conn.to.scope)
548
- continue;
549
- // Check if connection matches the fan-in pattern
550
- if (conn.to.node === macro.target.node && conn.to.port === macro.target.port) {
551
- for (const source of macro.sources) {
552
- const sourcePort = source.port ?? macro.target.port;
553
- if (conn.from.node === source.node && conn.from.port === sourcePort) {
554
- return true;
555
- }
556
- }
557
- }
558
- }
559
- else if (macro.type === 'coerce') {
560
- if (conn.from.scope || conn.to.scope)
561
- continue;
562
- // Connections to/from the synthetic coercion instance are covered
563
- if (conn.to.node === macro.instanceId || conn.from.node === macro.instanceId) {
564
- return true;
565
- }
566
- }
567
- }
568
- return false;
569
- }
570
- /**
571
- * Simply return ports as-is to preserve exact order from the AST
572
- * Don't compute or add any new metadata - only preserve what's already there
573
- * This ensures perfect round-trip fidelity
574
- * Exported for reuse in generate-in-place.ts to maintain DRY principle
575
- */
576
- export function assignPortOrders(ports, _direction) {
577
- return ports;
578
- }
579
- /**
580
- * Generate @node tag for a single instance
581
- * Exported for reuse in generate-in-place.ts to maintain DRY principle
582
- */
583
- export function generateNodeInstanceTag(instance) {
584
- const parent = instance.parent ? ` ${instance.parent.id}.${instance.parent.scope}` : '';
585
- // Generate [label: ...] attribute if present and different from id
586
- let labelAttr = '';
587
- if (instance.config?.label && instance.config.label !== instance.id) {
588
- // Escape quotes in the label
589
- const escapedLabel = instance.config.label.replace(/"/g, '\\"');
590
- labelAttr = ` [label: "${escapedLabel}"]`;
591
- }
592
- // Generate [portOrder: ...] attribute if present
593
- let portOrderAttr = '';
594
- if (instance.config?.portConfigs && instance.config.portConfigs.length > 0) {
595
- const orderConfigs = instance.config.portConfigs
596
- .filter(pc => pc.order !== undefined)
597
- .map(pc => `${pc.portName}=${pc.order}`)
598
- .join(',');
599
- if (orderConfigs) {
600
- portOrderAttr = ` [portOrder: ${orderConfigs}]`;
601
- }
602
- }
603
- // Generate [portLabel: ...] attribute if present
604
- let portLabelAttr = '';
605
- if (instance.config?.portConfigs && instance.config.portConfigs.length > 0) {
606
- const labelConfigs = instance.config.portConfigs
607
- .filter(pc => pc.label !== undefined && pc.label !== '')
608
- .map(pc => {
609
- const escapedLabel = String(pc.label).replace(/"/g, '\\"');
610
- return `${pc.portName}="${escapedLabel}"`;
611
- })
612
- .join(', ');
613
- if (labelConfigs) {
614
- portLabelAttr = ` [portLabel: ${labelConfigs}]`;
615
- }
616
- }
617
- // Generate [expr: ...] attribute if any port has an expression
618
- let exprAttr = '';
619
- if (instance.config?.portConfigs && instance.config.portConfigs.length > 0) {
620
- const exprConfigs = instance.config.portConfigs
621
- .filter(pc => pc.expression !== undefined)
622
- .map(pc => {
623
- // Escape quotes and */ (which would close the JSDoc comment)
624
- const escapedExpr = String(pc.expression)
625
- .replace(/"/g, '\\"')
626
- .replace(/\*\//g, '*\\/');
627
- return `${pc.portName}="${escapedExpr}"`;
628
- })
629
- .join(', ');
630
- if (exprConfigs) {
631
- exprAttr = ` [expr: ${exprConfigs}]`;
632
- }
633
- }
634
- // Generate [pullExecution: ...] attribute if present
635
- let pullExecutionAttr = '';
636
- if (instance.config?.pullExecution) {
637
- pullExecutionAttr = ` [pullExecution: ${instance.config.pullExecution.triggerPort}]`;
638
- }
639
- // Generate [minimized] attribute if present
640
- const minimizedAttr = instance.config?.minimized ? ' [minimized]' : '';
641
- // Generate [color: "value"] attribute if present
642
- let colorAttr = '';
643
- if (instance.config?.color) {
644
- colorAttr = ` [color: "${instance.config.color}"]`;
645
- }
646
- // Generate [icon: "value"] attribute if present
647
- let iconAttr = '';
648
- if (instance.config?.icon) {
649
- iconAttr = ` [icon: "${instance.config.icon}"]`;
650
- }
651
- // Generate [tags: "label" "tooltip", "label2"] attribute if present
652
- let tagsAttr = '';
653
- if (instance.config?.tags?.length) {
654
- const tagEntries = instance.config.tags.map(t => t.tooltip ? `"${t.label}" "${t.tooltip}"` : `"${t.label}"`).join(', ');
655
- tagsAttr = ` [tags: ${tagEntries}]`;
656
- }
657
- // Generate [suppress: "CODE", "CODE2"] attribute if present
658
- let suppressAttr = '';
659
- if (instance.config?.suppressWarnings?.length) {
660
- const codes = instance.config.suppressWarnings.map(c => `"${c}"`).join(', ');
661
- suppressAttr = ` [suppress: ${codes}]`;
662
- }
663
- // Generate [size: width height] attribute if present
664
- let sizeAttr = '';
665
- if (instance.config?.width !== undefined && instance.config?.height !== undefined) {
666
- sizeAttr = ` [size: ${Math.round(instance.config.width)} ${Math.round(instance.config.height)}]`;
667
- }
668
- // Generate [position: x y] attribute if present
669
- let positionAttr = '';
670
- if (instance.config?.x !== undefined && instance.config?.y !== undefined) {
671
- positionAttr = ` [position: ${Math.round(instance.config.x)} ${Math.round(instance.config.y)}]`;
672
- }
673
- // Generate [job: "name"] attribute if present (CI/CD job group)
674
- let jobAttr = '';
675
- if (instance.job) {
676
- jobAttr = ` [job: "${instance.job}"]`;
677
- }
678
- // Generate [environment: "name"] attribute if present (CI/CD environment)
679
- let environmentAttr = '';
680
- if (instance.environment) {
681
- environmentAttr = ` [environment: "${instance.environment}"]`;
682
- }
683
- return ` * @node ${instance.id} ${instance.nodeType}${parent}${labelAttr}${portOrderAttr}${portLabelAttr}${exprAttr}${pullExecutionAttr}${minimizedAttr}${colorAttr}${iconAttr}${tagsAttr}${suppressAttr}${sizeAttr}${positionAttr}${jobAttr}${environmentAttr}`;
684
- }
685
- /**
686
- * Generate a TypeScript function signature from a node type definition.
687
- * Handles three modes: stub (declare function), expression (pure function), normal (execute/onSuccess/onFailure).
688
- */
689
- export function generateFunctionSignature(nodeType) {
690
- const lines = [];
691
- const isStub = nodeType.variant === 'STUB';
692
- const isExpression = isStub || nodeType.expression;
693
- if (isExpression) {
694
- const params = [];
695
- Object.entries(nodeType.inputs).forEach(([name, port]) => {
696
- if (isExecutePort(name))
697
- return;
698
- const optional = port.optional ? "?" : "";
699
- params.push(`${name}${optional}: ${mapToTypeScript(port.dataType)}`);
700
- });
701
- const returns = [];
702
- Object.entries(nodeType.outputs).forEach(([name, port]) => {
703
- if (isSuccessPort(name) || isFailurePort(name))
704
- return;
705
- returns.push(`${name}: ${mapToTypeScript(port.dataType)}`);
706
- });
707
- const returnType = returns.length === 1
708
- ? mapToTypeScript((Object.entries(nodeType.outputs).find(([n]) => !isSuccessPort(n) && !isFailurePort(n))?.[1].dataType || 'ANY'))
709
- : `{ ${returns.join("; ")} }`;
710
- if (isStub) {
711
- lines.push(`declare function ${nodeType.functionName}(${params.join(", ")}): ${returnType};`);
712
- }
713
- else {
714
- lines.push(`function ${nodeType.functionName}(${params.join(", ")}): ${returnType} {`);
715
- lines.push(` // TODO: implement`);
716
- lines.push(` throw new Error('Not implemented');`);
717
- lines.push(`}`);
718
- }
719
- }
720
- else {
721
- const params = ["execute: boolean"];
722
- Object.entries(nodeType.inputs).forEach(([name, port]) => {
723
- if (isExecutePort(name))
724
- return;
725
- const optional = port.optional ? "?" : "";
726
- const defaultVal = port.default !== undefined ? ` = ${JSON.stringify(port.default)}` : "";
727
- params.push(`${name}${optional}: ${mapToTypeScript(port.dataType)}${defaultVal}`);
728
- });
729
- const returns = ["onSuccess: boolean", "onFailure: boolean"];
730
- Object.entries(nodeType.outputs).forEach(([name, port]) => {
731
- if (isSuccessPort(name) || isFailurePort(name))
732
- return;
733
- returns.push(`${name}: ${mapToTypeScript(port.dataType)}`);
734
- });
735
- lines.push(`function ${nodeType.functionName}(${params.join(", ")}) {`);
736
- lines.push(` if (!execute) return { onSuccess: false, onFailure: false };`);
737
- lines.push(` return { onSuccess: true, onFailure: false };`);
738
- lines.push(`}`);
739
- }
740
- return lines;
741
- }
742
- export const annotationGenerator = new AnnotationGenerator();
743
- //# sourceMappingURL=annotation-generator.js.map