@synergenius/flow-weaver 0.33.1 → 0.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (922) hide show
  1. package/LICENSE +201 -226
  2. package/NOTICE +13 -0
  3. package/README.md +152 -244
  4. package/dist/agent/agent-loop.d.ts +4 -2
  5. package/dist/agent/cli-session.d.ts +3 -3
  6. package/dist/agent/cli-session.js +511 -438
  7. package/dist/agent/cli-spawn-config.d.ts +4 -4
  8. package/dist/agent/gate.d.ts +164 -0
  9. package/dist/agent/index.d.ts +4 -4
  10. package/dist/agent/index.js +174 -28
  11. package/dist/agent/mcp-bridge.d.ts +1 -1
  12. package/dist/agent/mcp-bridge.js +114 -128
  13. package/dist/agent/mcp-tool-server.d.ts +2 -2
  14. package/dist/agent/mcp-tool-server.js +147 -189
  15. package/dist/agent/profiles.d.ts +69 -0
  16. package/dist/agent/providers/anthropic.d.ts +2 -4
  17. package/dist/agent/providers/claude-cli.d.ts +4 -5
  18. package/dist/agent/providers/openai-compat.d.ts +8 -1
  19. package/dist/agent/streaming.d.ts +2 -2
  20. package/dist/agent/types.d.ts +16 -10
  21. package/dist/api/builder.d.ts +3 -3
  22. package/dist/api/compile.d.ts +9 -4
  23. package/dist/api/durable-validation.d.ts +15 -0
  24. package/dist/api/generate-in-place.d.ts +21 -19
  25. package/dist/api/generate.d.ts +21 -16
  26. package/dist/api/generated-module/local-node-functions.d.ts +24 -0
  27. package/dist/api/generated-module/module-format.d.ts +23 -0
  28. package/dist/api/generated-module/module-writer.d.ts +34 -0
  29. package/dist/api/generated-module/node-type-imports.d.ts +39 -0
  30. package/dist/api/generated-module/preamble.d.ts +16 -0
  31. package/dist/api/generated-module/workflow-functions.d.ts +29 -0
  32. package/dist/api/graph-identity.d.ts +39 -0
  33. package/dist/api/helpers.d.ts +4 -60
  34. package/dist/api/in-place/built-in-nodes.d.ts +18 -0
  35. package/dist/api/in-place/function-body.d.ts +21 -0
  36. package/dist/api/in-place/fw-imports.d.ts +30 -0
  37. package/dist/api/in-place/macro-coverage.d.ts +14 -0
  38. package/dist/api/in-place/node-type-functions.d.ts +18 -0
  39. package/dist/api/in-place/node-type-jsdoc.d.ts +20 -0
  40. package/dist/api/in-place/orphaned-node-types.d.ts +16 -0
  41. package/dist/api/in-place/runtime-section.d.ts +16 -0
  42. package/dist/api/in-place/signature.d.ts +47 -0
  43. package/dist/api/in-place/source-file.d.ts +19 -0
  44. package/dist/api/in-place/workflow-jsdoc.d.ts +19 -0
  45. package/dist/api/index.d.ts +18 -21
  46. package/dist/api/index.js +259 -53
  47. package/dist/api/inline-engine.generated.d.ts +3 -0
  48. package/dist/api/inline-runtime.d.ts +10 -2
  49. package/dist/api/manipulation/connections.d.ts +1 -1
  50. package/dist/api/manipulation/index.d.ts +8 -8
  51. package/dist/api/manipulation/node-types.d.ts +1 -1
  52. package/dist/api/manipulation/nodes.d.ts +3 -13
  53. package/dist/api/manipulation/ports.d.ts +1 -1
  54. package/dist/api/manipulation/scopes.d.ts +1 -1
  55. package/dist/api/manipulation/workflow.d.ts +1 -1
  56. package/dist/api/modify-operation.d.ts +0 -2
  57. package/dist/api/parse.d.ts +22 -1
  58. package/dist/api/port-references.d.ts +66 -0
  59. package/dist/api/query.d.ts +18 -2
  60. package/dist/api/templates.d.ts +1 -1
  61. package/dist/api/transform.d.ts +1 -1
  62. package/dist/api/validate.d.ts +1 -1
  63. package/dist/api/validation-registry.d.ts +2 -2
  64. package/dist/artifacts/brief.d.ts +43 -0
  65. package/dist/artifacts/index.d.ts +31 -0
  66. package/dist/artifacts/pdf.d.ts +19 -0
  67. package/dist/ast/builder.d.ts +3 -3
  68. package/dist/ast/index.d.ts +4 -4
  69. package/dist/ast/index.js +60 -5
  70. package/dist/ast/serialization-node.d.ts +1 -1
  71. package/dist/ast/serialization.d.ts +1 -1
  72. package/dist/ast/types.d.ts +82 -291
  73. package/dist/ast/workflow-utils.d.ts +4 -4
  74. package/dist/built-in-nodes/coercion-types.d.ts +1 -1
  75. package/dist/built-in-nodes/delay.d.ts +3 -1
  76. package/dist/built-in-nodes/generated-registry.d.ts +1 -1
  77. package/dist/built-in-nodes/index.d.ts +6 -5
  78. package/dist/built-in-nodes/index.js +79 -5
  79. package/dist/built-in-nodes/invoke-workflow.d.ts +2 -1
  80. package/dist/built-in-nodes/mock-types.d.ts +45 -14
  81. package/dist/built-in-nodes/sleep.d.ts +12 -0
  82. package/dist/built-in-nodes/wait-for-agent.d.ts +2 -1
  83. package/dist/built-in-nodes/wait-for-event.d.ts +2 -1
  84. package/dist/chevrotain-parser/coerce-parser.d.ts +1 -1
  85. package/dist/chevrotain-parser/connect-parser.d.ts +1 -1
  86. package/dist/chevrotain-parser/grammar-diagrams.d.ts +1 -1
  87. package/dist/chevrotain-parser/index.d.ts +20 -23
  88. package/dist/chevrotain-parser/node-parser.d.ts +7 -8
  89. package/dist/chevrotain-parser/parse-line.d.ts +54 -0
  90. package/dist/chevrotain-parser/tokens.d.ts +0 -17
  91. package/dist/chevrotain-parser/trigger-cancel-parser.d.ts +6 -1
  92. package/dist/chunks/chunk-4EUSHAY6.js +298 -0
  93. package/dist/chunks/chunk-4KDUEOFD.js +197 -0
  94. package/dist/chunks/chunk-5Y3AIUWY.js +911 -0
  95. package/dist/chunks/chunk-6KMVP6AU.js +20 -0
  96. package/dist/chunks/chunk-6PNJORFL.js +128 -0
  97. package/dist/chunks/chunk-7AAQNGRH.js +2001 -0
  98. package/dist/chunks/chunk-7YYKTPJ5.js +22705 -0
  99. package/dist/chunks/chunk-A5MBOFVY.js +33 -0
  100. package/dist/chunks/chunk-AXNQRVJB.js +18 -0
  101. package/dist/chunks/chunk-B6HQ6YS5.js +572 -0
  102. package/dist/chunks/chunk-CY3RNVML.js +296 -0
  103. package/dist/chunks/chunk-CYHYDLV4.js +653 -0
  104. package/dist/chunks/chunk-CZBCCK4Y.js +82 -0
  105. package/dist/chunks/chunk-DCMGQP5V.js +505 -0
  106. package/dist/chunks/chunk-DIAA66GL.js +72 -0
  107. package/dist/chunks/chunk-DUO6H5PR.js +20 -0
  108. package/dist/chunks/chunk-E5WN7IGO.js +125 -0
  109. package/dist/chunks/chunk-EFGFXXQF.js +184 -0
  110. package/dist/chunks/chunk-F3RTZV2A.js +2811 -0
  111. package/dist/chunks/chunk-FMTLP5ZX.js +1397 -0
  112. package/dist/chunks/chunk-HKZLQJDV.js +79 -0
  113. package/dist/chunks/chunk-INDEVYEC.js +146 -0
  114. package/dist/chunks/chunk-JQTF4R5L.js +390 -0
  115. package/dist/chunks/chunk-KMCAYNUM.js +331 -0
  116. package/dist/chunks/chunk-KMWCCOUJ.js +1444 -0
  117. package/dist/chunks/chunk-KU3CLJI2.js +338 -0
  118. package/dist/chunks/chunk-NDSTGMKR.js +3300 -0
  119. package/dist/chunks/chunk-NQNLUAPO.js +505 -0
  120. package/dist/chunks/chunk-O2U2LO57.js +466 -0
  121. package/dist/chunks/chunk-OOQG7UPP.js +457 -0
  122. package/dist/chunks/chunk-OZQAW5ZG.js +112 -0
  123. package/dist/chunks/chunk-P2CVDGHR.js +487 -0
  124. package/dist/chunks/chunk-P44RIZ7C.js +592 -0
  125. package/dist/chunks/chunk-PEZCT37T.js +1475 -0
  126. package/dist/chunks/chunk-PKWSAW6O.js +152 -0
  127. package/dist/chunks/chunk-Q6MDDZMT.js +4373 -0
  128. package/dist/chunks/chunk-QDE4Z7KW.js +6 -0
  129. package/dist/chunks/chunk-QJDAVSNY.js +8 -0
  130. package/dist/chunks/chunk-QYPORSLO.js +7552 -0
  131. package/dist/chunks/chunk-R4QGNK34.js +183 -0
  132. package/dist/chunks/chunk-REEYC73I.js +3002 -0
  133. package/dist/chunks/chunk-SEWDMQ6Q.js +46 -0
  134. package/dist/chunks/chunk-TAIUWKZB.js +3057 -0
  135. package/dist/chunks/chunk-TN4YZ3O7.js +196 -0
  136. package/dist/chunks/chunk-TRMFB43C.js +143 -0
  137. package/dist/chunks/chunk-VO4QXG2X.js +1016 -0
  138. package/dist/chunks/chunk-VP2P3BPA.js +1002 -0
  139. package/dist/chunks/chunk-VQ7H33J4.js +2176 -0
  140. package/dist/chunks/chunk-VWA7MCV2.js +105 -0
  141. package/dist/chunks/chunk-XAV22WD7.js +253 -0
  142. package/dist/chunks/chunk-YSPBPZDV.js +148 -0
  143. package/dist/chunks/chunk-ZKEGXO73.js +282 -0
  144. package/dist/chunks/chunk-ZMGN6F3S.js +4256 -0
  145. package/dist/chunks/grammar-diagrams-AI7VDXOM.js +14 -0
  146. package/dist/chunks/index.min-ECJD6GZC.js +37 -0
  147. package/dist/chunks/manifest-EPTR5MYH.js +21 -0
  148. package/dist/chunks/openapi-document-6TCGVDUW.js +69 -0
  149. package/dist/chunks/registry-K2U5KUTY.js +23 -0
  150. package/dist/chunks/serialization-node-UGY6CFH6.js +38 -0
  151. package/dist/chunks/validate-GEKSZPIN.js +24 -0
  152. package/dist/chunks/validation-registry-IQZX3UE3.js +7 -0
  153. package/dist/chunks/validator-VXFHLPDW.js +26 -0
  154. package/dist/chunks/workflow-executor-KBGFKHNR.js +36 -0
  155. package/dist/cli/commands/agents.d.ts +16 -0
  156. package/dist/cli/commands/artifact.d.ts +10 -0
  157. package/dist/cli/commands/compile.d.ts +0 -30
  158. package/dist/cli/commands/console.d.ts +32 -0
  159. package/dist/cli/commands/context.d.ts +0 -3
  160. package/dist/cli/commands/describe.js +386 -352
  161. package/dist/cli/commands/dev.d.ts +9 -4
  162. package/dist/cli/commands/diagram.d.ts +3 -5
  163. package/dist/cli/commands/doctor.d.ts +27 -4
  164. package/dist/cli/commands/doctor.js +3307 -633
  165. package/dist/cli/commands/export.d.ts +6 -4
  166. package/dist/cli/commands/grammar.d.ts +0 -3
  167. package/dist/cli/commands/implement.d.ts +1 -1
  168. package/dist/cli/commands/init/agent-handoff.d.ts +28 -0
  169. package/dist/cli/commands/init/config.d.ts +3 -0
  170. package/dist/cli/commands/init/files.d.ts +12 -0
  171. package/dist/cli/commands/init/naming.d.ts +13 -0
  172. package/dist/cli/commands/init/output.d.ts +12 -0
  173. package/dist/cli/commands/init/setup.d.ts +21 -0
  174. package/dist/cli/commands/init/types.d.ts +53 -0
  175. package/dist/cli/commands/init-personas.d.ts +9 -1
  176. package/dist/cli/commands/init.d.ts +24 -88
  177. package/dist/cli/commands/market.d.ts +1 -1
  178. package/dist/cli/commands/mcp-setup.d.ts +1 -4
  179. package/dist/cli/commands/modify.d.ts +0 -5
  180. package/dist/cli/commands/openapi.d.ts +9 -11
  181. package/dist/cli/commands/run.d.ts +0 -4
  182. package/dist/cli/commands/serve.d.ts +24 -26
  183. package/dist/cli/commands/status.d.ts +1 -1
  184. package/dist/cli/exports.d.ts +3 -4
  185. package/dist/cli/exports.js +124 -23
  186. package/dist/cli/flow-weaver-agents-H653446S.mjs +81 -0
  187. package/dist/cli/flow-weaver-artifact-WBFYTW76.mjs +58 -0
  188. package/dist/cli/flow-weaver-chunk-265CEK74.mjs +2 -0
  189. package/dist/cli/flow-weaver-chunk-2C7PZCV5.mjs +186 -0
  190. package/dist/cli/flow-weaver-chunk-3BSYCWPL.mjs +3109 -0
  191. package/dist/cli/flow-weaver-chunk-3MKUQP3D.mjs +547 -0
  192. package/dist/cli/flow-weaver-chunk-3ZLMPQTH.mjs +27 -0
  193. package/dist/cli/flow-weaver-chunk-4DVY73ML.mjs +280 -0
  194. package/dist/cli/flow-weaver-chunk-54M4KNEL.mjs +200 -0
  195. package/dist/cli/flow-weaver-chunk-55QMUZIA.mjs +256 -0
  196. package/dist/cli/flow-weaver-chunk-6ZUJ7LMX.mjs +2003 -0
  197. package/dist/cli/flow-weaver-chunk-7ET6N32V.mjs +419 -0
  198. package/dist/cli/flow-weaver-chunk-7G63RR4K.mjs +8880 -0
  199. package/dist/cli/flow-weaver-chunk-A6M5K3W7.mjs +4418 -0
  200. package/dist/cli/flow-weaver-chunk-AA3NATMX.mjs +154 -0
  201. package/dist/cli/flow-weaver-chunk-APX6MQ5A.mjs +5652 -0
  202. package/dist/cli/flow-weaver-chunk-BHCC5FE5.mjs +17 -0
  203. package/dist/cli/flow-weaver-chunk-DM4BBRRU.mjs +35 -0
  204. package/dist/cli/flow-weaver-chunk-DRN7KPWY.mjs +168 -0
  205. package/dist/cli/flow-weaver-chunk-EKWF27G6.mjs +23 -0
  206. package/dist/cli/flow-weaver-chunk-EM5HWQ4R.mjs +338 -0
  207. package/dist/cli/flow-weaver-chunk-FPPPU2DG.mjs +226 -0
  208. package/dist/cli/flow-weaver-chunk-GAQXZHNO.mjs +3005 -0
  209. package/dist/cli/flow-weaver-chunk-GBUNNP33.mjs +1329 -0
  210. package/dist/cli/flow-weaver-chunk-HMAKDE55.mjs +636 -0
  211. package/dist/cli/flow-weaver-chunk-HQ3ZAN44.mjs +367 -0
  212. package/dist/cli/flow-weaver-chunk-I4APCXYN.mjs +21442 -0
  213. package/dist/cli/flow-weaver-chunk-IJJ4JXTL.mjs +2297 -0
  214. package/dist/cli/flow-weaver-chunk-J7EPZW2I.mjs +33 -0
  215. package/dist/cli/flow-weaver-chunk-KOEMJHLG.mjs +83 -0
  216. package/dist/cli/flow-weaver-chunk-M6CBWQKJ.mjs +271 -0
  217. package/dist/cli/flow-weaver-chunk-MHJ4N652.mjs +1580 -0
  218. package/dist/cli/flow-weaver-chunk-MKAFQWLP.mjs +202 -0
  219. package/dist/cli/flow-weaver-chunk-MMV2XGD3.mjs +3291 -0
  220. package/dist/cli/flow-weaver-chunk-MSI2UJES.mjs +125 -0
  221. package/dist/cli/flow-weaver-chunk-N767YRAI.mjs +48 -0
  222. package/dist/cli/flow-weaver-chunk-NQKKWDGF.mjs +56 -0
  223. package/dist/cli/flow-weaver-chunk-NYZDQYFU.mjs +45 -0
  224. package/dist/cli/flow-weaver-chunk-OMVWSNHJ.mjs +14 -0
  225. package/dist/cli/flow-weaver-chunk-PUWZ47H5.mjs +2188 -0
  226. package/dist/cli/flow-weaver-chunk-QOPRVDES.mjs +46 -0
  227. package/dist/cli/flow-weaver-chunk-RIWE7YTR.mjs +216 -0
  228. package/dist/cli/flow-weaver-chunk-S63Q3JIU.mjs +789 -0
  229. package/dist/cli/flow-weaver-chunk-T7X5A23H.mjs +558 -0
  230. package/dist/cli/flow-weaver-chunk-TLV3VZUN.mjs +2 -0
  231. package/dist/cli/flow-weaver-chunk-TS5P3PIN.mjs +194 -0
  232. package/dist/cli/flow-weaver-chunk-U3EO3X4B.mjs +649 -0
  233. package/dist/cli/flow-weaver-chunk-UNFS3NQP.mjs +34 -0
  234. package/dist/cli/flow-weaver-chunk-V6DHWFQG.mjs +2811 -0
  235. package/dist/cli/flow-weaver-chunk-VXWNLYQU.mjs +9 -0
  236. package/dist/cli/flow-weaver-chunk-W3YNK26P.mjs +149 -0
  237. package/dist/cli/flow-weaver-chunk-XG2WKXYZ.mjs +324 -0
  238. package/dist/cli/flow-weaver-chunk-YLSRZWFK.mjs +2219 -0
  239. package/dist/cli/flow-weaver-chunk-YVPURWS6.mjs +40 -0
  240. package/dist/cli/flow-weaver-chunk-Z44JK332.mjs +582 -0
  241. package/dist/cli/flow-weaver-chunk-Z5ZJPNSY.mjs +517 -0
  242. package/dist/cli/flow-weaver-chunk-ZQALO25T.mjs +594 -0
  243. package/dist/cli/flow-weaver-compile-A2CABDSB.mjs +37 -0
  244. package/dist/cli/flow-weaver-console-6EBHDBTN.mjs +71 -0
  245. package/dist/cli/flow-weaver-context-ECLYANFF.mjs +17 -0
  246. package/dist/cli/flow-weaver-context-ZRUMW2KE.mjs +69 -0
  247. package/dist/cli/flow-weaver-create-WIP4EFNP.mjs +124 -0
  248. package/dist/cli/flow-weaver-deployment-WJJRK7NO.mjs +14 -0
  249. package/dist/cli/flow-weaver-describe-XDIFF5LI.mjs +41 -0
  250. package/dist/cli/flow-weaver-dev-LG2NSQAU.mjs +196 -0
  251. package/dist/cli/flow-weaver-diagram-3EVQARQE.mjs +52 -0
  252. package/dist/cli/flow-weaver-diagram-7LR7O4M2.mjs +44 -0
  253. package/dist/cli/flow-weaver-diff-USF7DJLU.mjs +85 -0
  254. package/dist/cli/flow-weaver-docs-QU2ZOXKH.mjs +96 -0
  255. package/dist/cli/flow-weaver-doctor-K447YWHR.mjs +43 -0
  256. package/dist/cli/flow-weaver-export-LAS6N56Y.mjs +140 -0
  257. package/dist/cli/flow-weaver-grammar-RIRUS3Q6.mjs +49 -0
  258. package/dist/cli/flow-weaver-grammar-diagrams-WXRTW5SK.mjs +15 -0
  259. package/dist/cli/flow-weaver-implement-5JG6BCFZ.mjs +114 -0
  260. package/dist/cli/flow-weaver-index.min-OR5SIHXD.mjs +39 -0
  261. package/dist/cli/flow-weaver-init-34YZNPQX.mjs +972 -0
  262. package/dist/cli/flow-weaver-init-personas-NOGZTQQ2.mjs +48 -0
  263. package/dist/cli/flow-weaver-manifest-4JNUSEB3.mjs +18 -0
  264. package/dist/cli/flow-weaver-market-WA4CKHKV.mjs +444 -0
  265. package/dist/cli/flow-weaver-mcp-setup-O26MGXSD.mjs +22 -0
  266. package/dist/cli/flow-weaver-migrate-VFVEUTPH.mjs +119 -0
  267. package/dist/cli/flow-weaver-modify-VM3JP5K6.mjs +97 -0
  268. package/dist/cli/flow-weaver-openapi-IRBWI3HM.mjs +71 -0
  269. package/dist/cli/flow-weaver-openapi-document-7N6YMPG3.mjs +30 -0
  270. package/dist/cli/flow-weaver-pack-commands-OS2QRXAK.mjs +146 -0
  271. package/dist/cli/flow-weaver-registry-5MLFRPPT.mjs +25 -0
  272. package/dist/cli/flow-weaver-run-DSTLSTHR.mjs +555 -0
  273. package/dist/cli/flow-weaver-serialization-node-LE6PCG4M.mjs +50 -0
  274. package/dist/cli/flow-weaver-serve-NVLCLSOW.mjs +192 -0
  275. package/dist/cli/flow-weaver-server-7IERLVXE.mjs +2925 -0
  276. package/dist/cli/flow-weaver-server-KWF4PXYC.mjs +19112 -0
  277. package/dist/cli/flow-weaver-status-75W2S3YB.mjs +138 -0
  278. package/dist/cli/flow-weaver-strip-AZPXUYVA.mjs +79 -0
  279. package/dist/cli/flow-weaver-templates-DSNMB6K7.mjs +72 -0
  280. package/dist/cli/flow-weaver-validate-A4UWDQN6.mjs +19 -0
  281. package/dist/cli/flow-weaver-validate-GRBZ5W4C.mjs +296 -0
  282. package/dist/cli/flow-weaver-validation-registry-BINGUNXX.mjs +9 -0
  283. package/dist/cli/flow-weaver-validator-TY56CI42.mjs +21 -0
  284. package/dist/cli/flow-weaver-watch-OPPERXL6.mjs +114 -0
  285. package/dist/cli/flow-weaver-workflow-executor-6AHYPXAN.mjs +26 -0
  286. package/dist/cli/flow-weaver.mjs +3557 -89498
  287. package/dist/cli/index.d.ts +5 -2
  288. package/dist/cli/pack-commands-needed.d.ts +12 -0
  289. package/dist/cli/program.d.ts +14 -0
  290. package/dist/cli/templates/ai/mock-provider.d.ts +1 -1
  291. package/dist/cli/templates/index.d.ts +1 -8
  292. package/dist/cli/templates/nodes/agent-router.d.ts +1 -1
  293. package/dist/cli/templates/nodes/aggregator.d.ts +1 -1
  294. package/dist/cli/templates/nodes/conversation-memory.d.ts +1 -1
  295. package/dist/cli/templates/nodes/http.d.ts +1 -1
  296. package/dist/cli/templates/nodes/human-approval.d.ts +1 -1
  297. package/dist/cli/templates/nodes/json-extractor.d.ts +1 -1
  298. package/dist/cli/templates/nodes/llm-call.d.ts +1 -1
  299. package/dist/cli/templates/nodes/prompt-template.d.ts +1 -1
  300. package/dist/cli/templates/nodes/rag-retriever.d.ts +1 -1
  301. package/dist/cli/templates/nodes/tool-executor.d.ts +1 -1
  302. package/dist/cli/templates/nodes/transformer.d.ts +1 -1
  303. package/dist/cli/templates/nodes/validator.d.ts +1 -1
  304. package/dist/cli/templates/shared/approval-types.d.ts +1 -1
  305. package/dist/cli/templates/shared/case.d.ts +14 -0
  306. package/dist/cli/templates/shared/llm-types.d.ts +4 -4
  307. package/dist/cli/templates/workflows/aggregator.d.ts +1 -1
  308. package/dist/cli/templates/workflows/ai-agent.d.ts +1 -1
  309. package/dist/cli/templates/workflows/ai-chat.d.ts +1 -1
  310. package/dist/cli/templates/workflows/ai-rag.d.ts +1 -1
  311. package/dist/cli/templates/workflows/ai-react.d.ts +1 -1
  312. package/dist/cli/templates/workflows/approval.d.ts +10 -0
  313. package/dist/cli/templates/workflows/conditional.d.ts +2 -2
  314. package/dist/cli/templates/workflows/error-handler.d.ts +2 -2
  315. package/dist/cli/templates/workflows/foreach.d.ts +1 -1
  316. package/dist/cli/templates/workflows/sequential.d.ts +1 -1
  317. package/dist/cli/templates/workflows/webhook.d.ts +1 -1
  318. package/dist/cli/utils/interactive.d.ts +6 -0
  319. package/dist/cli/utils/json-option.d.ts +8 -0
  320. package/dist/cli/utils/logger.d.ts +2 -0
  321. package/dist/compiler/durable-source-proof.d.ts +23 -0
  322. package/dist/compiler/executable-artifact.d.ts +29 -0
  323. package/dist/compiler/index.d.ts +4 -0
  324. package/dist/compiler/index.js +36 -0
  325. package/dist/console/app.js +106 -0
  326. package/dist/console/assets/synergenius.svg +18 -0
  327. package/dist/console/author.d.ts +32 -0
  328. package/dist/console/cli-catalog.d.ts +21 -0
  329. package/dist/console/cli-run.d.ts +35 -0
  330. package/dist/console/cli-run.js +46 -0
  331. package/dist/console/debug.d.ts +67 -0
  332. package/dist/console/diff-view.d.ts +96 -0
  333. package/dist/console/export.d.ts +36 -0
  334. package/dist/console/git.d.ts +27 -0
  335. package/dist/console/index.d.ts +4 -0
  336. package/dist/console/index.html +16 -0
  337. package/dist/console/index.js +203 -0
  338. package/dist/console/packs.d.ts +100 -0
  339. package/dist/console/request-guard.d.ts +10 -0
  340. package/dist/console/respond.d.ts +16 -0
  341. package/dist/console/router.d.ts +64 -0
  342. package/dist/console/routes-agents.d.ts +14 -0
  343. package/dist/console/routes-project.d.ts +3 -0
  344. package/dist/console/routes-runs.d.ts +3 -0
  345. package/dist/console/routes-services.d.ts +7 -0
  346. package/dist/console/routes-tools.d.ts +3 -0
  347. package/dist/console/runs.d.ts +69 -0
  348. package/dist/console/scan.d.ts +49 -0
  349. package/dist/console/schema.d.ts +74 -0
  350. package/dist/console/server.d.ts +34 -0
  351. package/dist/console/server.js +43264 -0
  352. package/dist/console/services.d.ts +119 -0
  353. package/dist/console/source.d.ts +23 -0
  354. package/dist/console/status.d.ts +68 -0
  355. package/dist/console/styles.css +1023 -0
  356. package/dist/console/terminals.d.ts +22 -0
  357. package/dist/console/workflow-view.d.ts +153 -0
  358. package/dist/constants.d.ts +5 -1
  359. package/dist/constants.js +56 -167
  360. package/dist/context/index.d.ts +10 -0
  361. package/dist/context/index.js +14 -191
  362. package/dist/coordinator/agent-gate.d.ts +107 -0
  363. package/dist/coordinator/bundle-digest.d.ts +20 -0
  364. package/dist/coordinator/clock-tick.d.ts +4 -0
  365. package/dist/coordinator/effect-receipts.d.ts +10 -0
  366. package/dist/coordinator/errors.d.ts +31 -0
  367. package/dist/coordinator/file-store.d.ts +3 -0
  368. package/dist/coordinator/gate-labeling.d.ts +33 -0
  369. package/dist/coordinator/gate-resolution.d.ts +28 -0
  370. package/dist/coordinator/index.d.ts +12 -0
  371. package/dist/coordinator/index.js +107 -0
  372. package/dist/coordinator/memory-store.d.ts +3 -0
  373. package/dist/coordinator/params.d.ts +18 -0
  374. package/dist/coordinator/run-annotations.d.ts +6 -0
  375. package/dist/coordinator/run-context.d.ts +11 -0
  376. package/dist/coordinator/run-ending.d.ts +5 -0
  377. package/dist/coordinator/run-outcome.d.ts +31 -0
  378. package/dist/coordinator/run-resume.d.ts +6 -0
  379. package/dist/coordinator/run-start.d.ts +4 -0
  380. package/dist/coordinator/run-store.d.ts +275 -0
  381. package/dist/coordinator/run-trace.d.ts +41 -0
  382. package/dist/coordinator/run-views.d.ts +12 -0
  383. package/dist/coordinator/runs-dir.d.ts +26 -0
  384. package/dist/coordinator/store.d.ts +67 -0
  385. package/dist/coordinator/time.d.ts +39 -0
  386. package/dist/coordinator/workflow-selection.d.ts +6 -0
  387. package/dist/deployment/index.d.ts +11 -16
  388. package/dist/deployment/index.js +541 -50
  389. package/dist/deployment/targets/base.d.ts +11 -13
  390. package/dist/deployment/targets/openapi-parts.d.ts +92 -0
  391. package/dist/diagram/arms.d.ts +70 -0
  392. package/dist/diagram/ascii-renderer.d.ts +1 -1
  393. package/dist/diagram/geometry.d.ts +22 -29
  394. package/dist/diagram/graph/bounds.d.ts +30 -0
  395. package/dist/diagram/graph/metrics.d.ts +21 -0
  396. package/dist/diagram/graph/nodes.d.ts +33 -0
  397. package/dist/diagram/graph/placement.d.ts +22 -0
  398. package/dist/diagram/graph/ports.d.ts +23 -0
  399. package/dist/diagram/graph/routing.d.ts +40 -0
  400. package/dist/diagram/graph/scopes.d.ts +30 -0
  401. package/dist/diagram/index.d.ts +15 -23
  402. package/dist/diagram/index.js +632 -111
  403. package/dist/diagram/labels.d.ts +12 -0
  404. package/dist/diagram/lanes.d.ts +93 -0
  405. package/dist/diagram/layout.d.ts +1 -1
  406. package/dist/diagram/material-symbols.d.ts +7 -0
  407. package/dist/diagram/orthogonal-router.d.ts +15 -51
  408. package/dist/diagram/process-view.d.ts +79 -0
  409. package/dist/diagram/spine.d.ts +25 -0
  410. package/dist/diagram/theme.d.ts +3 -5
  411. package/dist/diagram/types.d.ts +6 -20
  412. package/dist/diff/index.js +53 -9
  413. package/dist/diff/types.d.ts +1 -5
  414. package/dist/doc-metadata/extractors/annotations.d.ts +0 -4
  415. package/dist/doc-metadata/extractors/cli-commands.d.ts +2 -1
  416. package/dist/doc-metadata/extractors/core-metadata.d.ts +19 -4
  417. package/dist/doc-metadata/extractors/error-codes.d.ts +1 -1
  418. package/dist/doc-metadata/extractors/mcp-tools.d.ts +7 -3
  419. package/dist/doc-metadata/index.d.ts +1 -2
  420. package/dist/doc-metadata/index.js +2368 -9
  421. package/dist/doc-metadata/types.d.ts +7 -24
  422. package/dist/docs/guide.d.ts +33 -0
  423. package/dist/docs/index.d.ts +7 -4
  424. package/dist/docs/index.js +298 -298
  425. package/dist/docs/pack-topics.d.ts +18 -0
  426. package/dist/editor-completions/annotationValues.d.ts +1 -1
  427. package/dist/editor-completions/contextParser.d.ts +3 -2
  428. package/dist/editor-completions/dataTypes.d.ts +1 -1
  429. package/dist/editor-completions/goToDefinition.d.ts +1 -1
  430. package/dist/editor-completions/index.d.ts +8 -8
  431. package/dist/editor-completions/index.js +1244 -175
  432. package/dist/editor-completions/jsDocAnnotations.d.ts +1 -1
  433. package/dist/editor-completions/modifierCompletions.d.ts +1 -1
  434. package/dist/export/index.d.ts +7 -1
  435. package/dist/generated-branding.js +8 -21
  436. package/dist/generated-version.d.ts +1 -1
  437. package/dist/generated-version.js +7 -3
  438. package/dist/generator/annotation-generator.d.ts +84 -0
  439. package/dist/generator/async-detection.d.ts +1 -1
  440. package/dist/{body-generator.d.ts → generator/body-generator.d.ts} +7 -3
  441. package/dist/generator/code-utils.d.ts +15 -60
  442. package/dist/generator/connection-reads.d.ts +94 -0
  443. package/dist/generator/control-flow-plan.d.ts +74 -0
  444. package/dist/generator/control-flow.d.ts +1 -1
  445. package/dist/generator/exit-assembly.d.ts +11 -0
  446. package/dist/generator/index.d.ts +4 -5
  447. package/dist/generator/index.js +34 -11
  448. package/dist/generator/input-port-values.d.ts +22 -0
  449. package/dist/generator/{scope-function-generator.d.ts → node-arguments.d.ts} +76 -1
  450. package/dist/generator/node-invocation.d.ts +74 -0
  451. package/dist/{node-types-generator.d.ts → generator/node-types-generator.d.ts} +3 -2
  452. package/dist/generator/scope-closure.d.ts +23 -0
  453. package/dist/generator/scoped-child.d.ts +49 -0
  454. package/dist/{sugar-optimizer.d.ts → generator/sugar-optimizer.d.ts} +1 -1
  455. package/dist/generator/unified.d.ts +14 -2
  456. package/dist/generator/workflow-generator.d.ts +37 -0
  457. package/dist/index.d.ts +29 -26
  458. package/dist/index.js +1322 -92
  459. package/dist/jsdoc-port-sync/apply-diff.d.ts +15 -0
  460. package/dist/jsdoc-port-sync/callback-signature.d.ts +17 -0
  461. package/dist/jsdoc-port-sync/diff.d.ts +5 -7
  462. package/dist/jsdoc-port-sync/incomplete-lines.d.ts +41 -0
  463. package/dist/jsdoc-port-sync/index.d.ts +11 -11
  464. package/dist/jsdoc-port-sync/index.js +88 -45
  465. package/dist/jsdoc-port-sync/jsdoc-to-signature.d.ts +66 -0
  466. package/dist/jsdoc-port-sync/port-parser.d.ts +6 -24
  467. package/dist/jsdoc-port-sync/port-tag-placement.d.ts +55 -0
  468. package/dist/jsdoc-port-sync/scoped-ports.d.ts +21 -0
  469. package/dist/jsdoc-port-sync/signature-parser.d.ts +8 -1
  470. package/dist/jsdoc-port-sync/signature-to-jsdoc.d.ts +77 -0
  471. package/dist/jsdoc-port-sync/sync.d.ts +4 -1
  472. package/dist/marketplace/index.d.ts +5 -3
  473. package/dist/marketplace/index.js +62 -10
  474. package/dist/marketplace/install.d.ts +24 -0
  475. package/dist/marketplace/manifest.d.ts +1 -1
  476. package/dist/marketplace/npmrc.d.ts +24 -0
  477. package/dist/marketplace/registry.d.ts +46 -11
  478. package/dist/marketplace/types.d.ts +41 -24
  479. package/dist/marketplace/validator.d.ts +1 -1
  480. package/dist/mcp/debug-session.d.ts +2 -4
  481. package/dist/mcp/dist-imports.d.ts +12 -0
  482. package/dist/mcp/response-utils.d.ts +11 -9
  483. package/dist/mcp/server.d.ts +0 -1
  484. package/dist/mcp/tools-context.d.ts +11 -0
  485. package/dist/mcp/tools-diagram.d.ts +1 -2
  486. package/dist/mcp/tools-export.d.ts +2 -2
  487. package/dist/mcp/tools-marketplace.d.ts +1 -1
  488. package/dist/mcp/tools-run.d.ts +17 -0
  489. package/dist/mcp/tools-workflow.d.ts +3 -0
  490. package/dist/mcp/types.d.ts +4 -14
  491. package/dist/mcp/workflow-executor.d.ts +57 -19
  492. package/dist/npm-packages.d.ts +1 -1
  493. package/dist/npm-packages.js +10 -473
  494. package/dist/parser/annotation-parser.d.ts +88 -0
  495. package/dist/parser/annotation-suggestion.d.ts +23 -0
  496. package/dist/parser/durable-effect-contract.d.ts +10 -0
  497. package/dist/parser/expression-references.d.ts +101 -0
  498. package/dist/parser/external-node-types.d.ts +69 -0
  499. package/dist/{function-like.d.ts → parser/function-like.d.ts} +10 -3
  500. package/dist/parser/generated-sections.d.ts +25 -0
  501. package/dist/parser/import-resolution.d.ts +67 -0
  502. package/dist/parser/import-stub.d.ts +29 -0
  503. package/dist/parser/jsdoc/config-types.d.ts +209 -0
  504. package/dist/parser/jsdoc/graph-tags.d.ts +54 -0
  505. package/dist/parser/jsdoc/node-type-block.d.ts +23 -0
  506. package/dist/parser/jsdoc/parse-line-once.d.ts +11 -0
  507. package/dist/parser/jsdoc/port-tags.d.ts +42 -0
  508. package/dist/parser/jsdoc/runtime-tags.d.ts +65 -0
  509. package/dist/parser/jsdoc/signature-types.d.ts +52 -0
  510. package/dist/parser/jsdoc/workflow-block.d.ts +22 -0
  511. package/dist/parser/jsdoc-parser.d.ts +23 -0
  512. package/dist/parser/macro-expansion.d.ts +80 -0
  513. package/dist/parser/module-resolution.d.ts +38 -0
  514. package/dist/parser/node-inference.d.ts +39 -0
  515. package/dist/parser/npm-node-types.d.ts +24 -0
  516. package/dist/parser/pack-handlers.d.ts +12 -0
  517. package/dist/parser/path-data-resolution.d.ts +75 -0
  518. package/dist/parser/port-inference.d.ts +15 -0
  519. package/dist/{resolve-package-types.d.ts → parser/resolve-package-types.d.ts} +4 -0
  520. package/dist/parser/serialize-deploy-annotations.d.ts +19 -0
  521. package/dist/parser/tag-registry.d.ts +22 -0
  522. package/dist/parser/workflow-extraction.d.ts +39 -0
  523. package/dist/runtime/ExecutionContext.d.ts +87 -99
  524. package/dist/runtime/continuation-core.d.ts +147 -0
  525. package/dist/runtime/continuation.d.ts +48 -0
  526. package/dist/runtime/debug-controller.d.ts +7 -22
  527. package/dist/runtime/durable-execution.d.ts +176 -0
  528. package/dist/runtime/events.d.ts +16 -1
  529. package/dist/runtime/executable-module-contract.d.ts +16 -0
  530. package/dist/runtime/index.d.ts +13 -10
  531. package/dist/runtime/index.js +947 -9
  532. package/dist/runtime/strict-json.d.ts +15 -0
  533. package/dist/server/access.d.ts +12 -0
  534. package/dist/server/api.d.ts +126 -0
  535. package/dist/server/callback-delivery.d.ts +62 -0
  536. package/dist/server/callback-url.d.ts +44 -0
  537. package/dist/server/context.d.ts +35 -0
  538. package/dist/server/http-error.d.ts +10 -0
  539. package/dist/server/index.d.ts +7 -1
  540. package/dist/server/index.js +125 -6
  541. package/dist/server/openapi-document.d.ts +33 -0
  542. package/dist/server/openapi.d.ts +32 -0
  543. package/dist/server/respond.d.ts +35 -0
  544. package/dist/server/route-params.d.ts +17 -0
  545. package/dist/server/route-plan.d.ts +41 -0
  546. package/dist/server/routes-catalog.d.ts +5 -0
  547. package/dist/server/routes-declared.d.ts +12 -0
  548. package/dist/server/routes-runs.d.ts +8 -0
  549. package/dist/server/run-driver.d.ts +58 -0
  550. package/dist/server/run-view.d.ts +26 -0
  551. package/dist/server/transport.d.ts +35 -0
  552. package/dist/server/types.d.ts +143 -52
  553. package/dist/server/webhook-server.d.ts +12 -38
  554. package/dist/server/workflow-registry.d.ts +7 -4
  555. package/dist/service-registry.d.ts +49 -0
  556. package/dist/service-registry.js +123 -0
  557. package/dist/testing/assertions.d.ts +2 -2
  558. package/dist/testing/index.d.ts +14 -13
  559. package/dist/testing/index.js +582 -24
  560. package/dist/testing/mock-approval.d.ts +3 -5
  561. package/dist/testing/mock-llm.d.ts +2 -3
  562. package/dist/testing/recorder.d.ts +5 -6
  563. package/dist/testing/replayer.d.ts +6 -7
  564. package/dist/testing/run-store-check.d.ts +3 -0
  565. package/dist/testing/token-tracker.d.ts +2 -2
  566. package/dist/{type-mappings.d.ts → types/type-mappings.d.ts} +13 -1
  567. package/dist/utils/error-utils.d.ts +4 -2
  568. package/dist/utils/port-ordering.d.ts +2 -2
  569. package/dist/utils/port-tag-utils.d.ts +1 -1
  570. package/dist/validation/agent-detection.d.ts +17 -5
  571. package/dist/validation/agent-rules.d.ts +6 -7
  572. package/dist/validation/core-rules.d.ts +49 -0
  573. package/dist/validation/design-rules.d.ts +9 -3
  574. package/dist/validation/rule-registry.d.ts +3 -3
  575. package/dist/validation/rules/connections.d.ts +27 -0
  576. package/dist/validation/rules/context.d.ts +11 -0
  577. package/dist/validation/rules/cycles.d.ts +17 -0
  578. package/dist/validation/rules/data-flow.d.ts +19 -0
  579. package/dist/validation/rules/scope-topology.d.ts +35 -0
  580. package/dist/validation/rules/type-compatibility.d.ts +30 -0
  581. package/dist/validation/type-checker.d.ts +39 -0
  582. package/dist/validation/validator-helpers.d.ts +31 -0
  583. package/dist/validation/validator.d.ts +30 -0
  584. package/docs/reference/advanced-annotations.md +277 -60
  585. package/docs/reference/built-in-nodes.md +164 -94
  586. package/docs/reference/cancellation.md +44 -0
  587. package/docs/reference/cli-reference.md +252 -234
  588. package/docs/reference/compilation.md +36 -109
  589. package/docs/reference/concepts.md +80 -63
  590. package/docs/reference/console.md +169 -0
  591. package/docs/reference/debugging.md +26 -57
  592. package/docs/reference/deployment.md +217 -143
  593. package/docs/reference/durable-gates.md +445 -0
  594. package/docs/reference/error-codes.md +90 -43
  595. package/docs/reference/export-interface.md +91 -26
  596. package/docs/reference/iterative-development.md +50 -28
  597. package/docs/reference/jsdoc-grammar.md +66 -311
  598. package/docs/reference/library.md +250 -0
  599. package/docs/reference/marketplace.md +301 -152
  600. package/docs/reference/mcp-tools.md +102 -0
  601. package/docs/reference/node-conversion.md +84 -59
  602. package/docs/reference/orientation.md +68 -0
  603. package/docs/reference/scaffold.md +5 -4
  604. package/docs/reference/tutorial.md +106 -166
  605. package/docs/reference/visual-reference.md +1 -1
  606. package/package.json +85 -50
  607. package/dist/agent/agent-loop.js +0 -156
  608. package/dist/agent/cli-spawn-config.js +0 -65
  609. package/dist/agent/device-connection.d.ts +0 -79
  610. package/dist/agent/device-connection.js +0 -184
  611. package/dist/agent/env-allowlist.js +0 -60
  612. package/dist/agent/providers/anthropic.js +0 -198
  613. package/dist/agent/providers/claude-cli.js +0 -161
  614. package/dist/agent/providers/openai-compat.js +0 -205
  615. package/dist/agent/providers/platform.d.ts +0 -23
  616. package/dist/agent/providers/platform.js +0 -132
  617. package/dist/agent/streaming.js +0 -186
  618. package/dist/agent/types.js +0 -20
  619. package/dist/annotation-generator.d.ts +0 -50
  620. package/dist/annotation-generator.js +0 -743
  621. package/dist/api/builder.js +0 -345
  622. package/dist/api/command-runner.js +0 -787
  623. package/dist/api/compile.js +0 -148
  624. package/dist/api/extract-types.js +0 -57
  625. package/dist/api/generate-in-place.js +0 -1477
  626. package/dist/api/generate.js +0 -514
  627. package/dist/api/helpers.js +0 -285
  628. package/dist/api/inline-runtime.js +0 -526
  629. package/dist/api/manipulation/connections.js +0 -151
  630. package/dist/api/manipulation/index.js +0 -41
  631. package/dist/api/manipulation/node-types.js +0 -200
  632. package/dist/api/manipulation/nodes.js +0 -355
  633. package/dist/api/manipulation/ports.js +0 -228
  634. package/dist/api/manipulation/scopes.js +0 -156
  635. package/dist/api/manipulation/workflow.js +0 -116
  636. package/dist/api/modify-operation.js +0 -177
  637. package/dist/api/parse.js +0 -115
  638. package/dist/api/patterns.d.ts +0 -112
  639. package/dist/api/patterns.js +0 -303
  640. package/dist/api/query.js +0 -840
  641. package/dist/api/templates.js +0 -117
  642. package/dist/api/transform.js +0 -40
  643. package/dist/api/validate.js +0 -64
  644. package/dist/api/validation-registry.js +0 -10
  645. package/dist/api/workflow-file-operations.js +0 -180
  646. package/dist/ast/builder.js +0 -395
  647. package/dist/ast/serialization-node.js +0 -30
  648. package/dist/ast/serialization.js +0 -134
  649. package/dist/ast/types.js +0 -2
  650. package/dist/ast/workflow-utils.js +0 -114
  651. package/dist/body-generator.js +0 -35
  652. package/dist/built-in-nodes/coercion-types.js +0 -61
  653. package/dist/built-in-nodes/delay.js +0 -29
  654. package/dist/built-in-nodes/generated-registry.js +0 -299
  655. package/dist/built-in-nodes/invoke-workflow.js +0 -36
  656. package/dist/built-in-nodes/mock-types.js +0 -42
  657. package/dist/built-in-nodes/wait-for-agent.js +0 -31
  658. package/dist/built-in-nodes/wait-for-event.js +0 -25
  659. package/dist/chevrotain-parser/coerce-parser.js +0 -103
  660. package/dist/chevrotain-parser/connect-parser.js +0 -136
  661. package/dist/chevrotain-parser/fan-parser.js +0 -149
  662. package/dist/chevrotain-parser/grammar-diagrams.js +0 -273
  663. package/dist/chevrotain-parser/index.js +0 -31
  664. package/dist/chevrotain-parser/map-parser.js +0 -130
  665. package/dist/chevrotain-parser/node-parser.js +0 -558
  666. package/dist/chevrotain-parser/path-parser.js +0 -140
  667. package/dist/chevrotain-parser/port-parser.js +0 -519
  668. package/dist/chevrotain-parser/position-parser.d.ts +0 -20
  669. package/dist/chevrotain-parser/position-parser.js +0 -83
  670. package/dist/chevrotain-parser/scope-parser.js +0 -104
  671. package/dist/chevrotain-parser/tokens.js +0 -429
  672. package/dist/chevrotain-parser/trigger-cancel-parser.js +0 -291
  673. package/dist/cli/commands/account.d.ts +0 -4
  674. package/dist/cli/commands/account.js +0 -50
  675. package/dist/cli/commands/ai-credentials.d.ts +0 -12
  676. package/dist/cli/commands/ai-credentials.js +0 -95
  677. package/dist/cli/commands/apikey.d.ts +0 -4
  678. package/dist/cli/commands/apikey.js +0 -64
  679. package/dist/cli/commands/auth.d.ts +0 -9
  680. package/dist/cli/commands/auth.js +0 -255
  681. package/dist/cli/commands/compile.js +0 -331
  682. package/dist/cli/commands/connect.d.ts +0 -4
  683. package/dist/cli/commands/connect.js +0 -163
  684. package/dist/cli/commands/context.js +0 -51
  685. package/dist/cli/commands/create.js +0 -139
  686. package/dist/cli/commands/deploy.d.ts +0 -6
  687. package/dist/cli/commands/deploy.js +0 -74
  688. package/dist/cli/commands/dev.js +0 -227
  689. package/dist/cli/commands/diagram.js +0 -39
  690. package/dist/cli/commands/diff.js +0 -57
  691. package/dist/cli/commands/docs.js +0 -74
  692. package/dist/cli/commands/export.js +0 -153
  693. package/dist/cli/commands/grammar.js +0 -40
  694. package/dist/cli/commands/implement.js +0 -91
  695. package/dist/cli/commands/init-personas.js +0 -541
  696. package/dist/cli/commands/init.js +0 -797
  697. package/dist/cli/commands/market.js +0 -440
  698. package/dist/cli/commands/mcp-setup.js +0 -433
  699. package/dist/cli/commands/migrate.js +0 -91
  700. package/dist/cli/commands/modify.js +0 -58
  701. package/dist/cli/commands/openapi.js +0 -71
  702. package/dist/cli/commands/org.d.ts +0 -8
  703. package/dist/cli/commands/org.js +0 -136
  704. package/dist/cli/commands/pattern.d.ts +0 -34
  705. package/dist/cli/commands/pattern.js +0 -186
  706. package/dist/cli/commands/plugin.d.ts +0 -16
  707. package/dist/cli/commands/plugin.js +0 -176
  708. package/dist/cli/commands/run.js +0 -742
  709. package/dist/cli/commands/serve.js +0 -93
  710. package/dist/cli/commands/status.js +0 -123
  711. package/dist/cli/commands/strip.js +0 -61
  712. package/dist/cli/commands/templates.js +0 -58
  713. package/dist/cli/commands/validate.js +0 -267
  714. package/dist/cli/commands/watch.js +0 -71
  715. package/dist/cli/config/credentials.d.ts +0 -15
  716. package/dist/cli/config/credentials.js +0 -43
  717. package/dist/cli/config/platform-client.d.ts +0 -123
  718. package/dist/cli/config/platform-client.js +0 -248
  719. package/dist/cli/env-setup.js +0 -12
  720. package/dist/cli/index.js +0 -850
  721. package/dist/cli/pack-commands.js +0 -122
  722. package/dist/cli/postinstall.d.ts +0 -16
  723. package/dist/cli/postinstall.js +0 -119
  724. package/dist/cli/templates/ai/mock-provider.js +0 -64
  725. package/dist/cli/templates/ai/types.js +0 -5
  726. package/dist/cli/templates/approvals/index.d.ts +0 -15
  727. package/dist/cli/templates/approvals/index.js +0 -241
  728. package/dist/cli/templates/index.js +0 -123
  729. package/dist/cli/templates/nodes/agent-router.js +0 -114
  730. package/dist/cli/templates/nodes/aggregator.js +0 -63
  731. package/dist/cli/templates/nodes/conversation-memory.js +0 -85
  732. package/dist/cli/templates/nodes/http.js +0 -80
  733. package/dist/cli/templates/nodes/human-approval.js +0 -109
  734. package/dist/cli/templates/nodes/json-extractor.js +0 -119
  735. package/dist/cli/templates/nodes/llm-call.js +0 -106
  736. package/dist/cli/templates/nodes/prompt-template.js +0 -52
  737. package/dist/cli/templates/nodes/rag-retriever.js +0 -128
  738. package/dist/cli/templates/nodes/tool-executor.js +0 -108
  739. package/dist/cli/templates/nodes/transformer.js +0 -68
  740. package/dist/cli/templates/nodes/validator.js +0 -62
  741. package/dist/cli/templates/pack-loader.js +0 -58
  742. package/dist/cli/templates/providers/index.js +0 -239
  743. package/dist/cli/templates/shared/approval-types.js +0 -31
  744. package/dist/cli/templates/shared/llm-types.js +0 -109
  745. package/dist/cli/templates/workflows/aggregator.js +0 -101
  746. package/dist/cli/templates/workflows/ai-agent.js +0 -326
  747. package/dist/cli/templates/workflows/ai-chat.js +0 -167
  748. package/dist/cli/templates/workflows/ai-rag.js +0 -184
  749. package/dist/cli/templates/workflows/ai-react.js +0 -293
  750. package/dist/cli/templates/workflows/conditional.js +0 -139
  751. package/dist/cli/templates/workflows/error-handler.js +0 -145
  752. package/dist/cli/templates/workflows/foreach.js +0 -140
  753. package/dist/cli/templates/workflows/sequential.js +0 -200
  754. package/dist/cli/templates/workflows/webhook.js +0 -158
  755. package/dist/cli/utils/cli-helpers.d.ts +0 -44
  756. package/dist/cli/utils/cli-helpers.js +0 -99
  757. package/dist/cli/utils/logger.js +0 -126
  758. package/dist/cli/utils/parse-int-strict.js +0 -17
  759. package/dist/cli/utils/safe-write.js +0 -54
  760. package/dist/deployment/config/defaults.d.ts +0 -29
  761. package/dist/deployment/config/defaults.js +0 -98
  762. package/dist/deployment/config/loader.d.ts +0 -24
  763. package/dist/deployment/config/loader.js +0 -237
  764. package/dist/deployment/config/types.d.ts +0 -117
  765. package/dist/deployment/config/types.js +0 -5
  766. package/dist/deployment/core/adapters.d.ts +0 -66
  767. package/dist/deployment/core/adapters.js +0 -156
  768. package/dist/deployment/core/executor.d.ts +0 -62
  769. package/dist/deployment/core/executor.js +0 -197
  770. package/dist/deployment/core/formatters.d.ts +0 -42
  771. package/dist/deployment/core/formatters.js +0 -146
  772. package/dist/deployment/openapi/generator.d.ts +0 -146
  773. package/dist/deployment/openapi/generator.js +0 -347
  774. package/dist/deployment/openapi/schema-converter.d.ts +0 -49
  775. package/dist/deployment/openapi/schema-converter.js +0 -192
  776. package/dist/deployment/targets/base.js +0 -855
  777. package/dist/deployment/types.d.ts +0 -140
  778. package/dist/deployment/types.js +0 -8
  779. package/dist/diagram/ascii-renderer.js +0 -528
  780. package/dist/diagram/geometry.js +0 -1267
  781. package/dist/diagram/html-viewer.d.ts +0 -21
  782. package/dist/diagram/html-viewer.js +0 -1689
  783. package/dist/diagram/layout.js +0 -143
  784. package/dist/diagram/orthogonal-router.js +0 -568
  785. package/dist/diagram/renderer.d.ts +0 -3
  786. package/dist/diagram/renderer.js +0 -266
  787. package/dist/diagram/theme.js +0 -282
  788. package/dist/diagram/types.js +0 -2
  789. package/dist/diff/WorkflowDiffer.js +0 -429
  790. package/dist/diff/formatDiff.js +0 -239
  791. package/dist/diff/impact.js +0 -119
  792. package/dist/diff/types.js +0 -35
  793. package/dist/doc-metadata/extractors/annotations.js +0 -638
  794. package/dist/doc-metadata/extractors/cli-commands.js +0 -326
  795. package/dist/doc-metadata/extractors/core-metadata.js +0 -61
  796. package/dist/doc-metadata/extractors/error-codes.js +0 -372
  797. package/dist/doc-metadata/extractors/grammar-rules.js +0 -51
  798. package/dist/doc-metadata/extractors/mcp-tools.js +0 -705
  799. package/dist/doc-metadata/extractors/plugin-api.d.ts +0 -19
  800. package/dist/doc-metadata/extractors/plugin-api.js +0 -279
  801. package/dist/doc-metadata/types.js +0 -5
  802. package/dist/editor-completions/annotationValues.js +0 -146
  803. package/dist/editor-completions/contextParser.js +0 -410
  804. package/dist/editor-completions/dataTypes.js +0 -95
  805. package/dist/editor-completions/goToDefinition.js +0 -112
  806. package/dist/editor-completions/jsDocAnnotations.js +0 -359
  807. package/dist/editor-completions/modifierCompletions.js +0 -197
  808. package/dist/editor-completions/types.js +0 -8
  809. package/dist/export/index.js +0 -212
  810. package/dist/extensions/index.d.ts +0 -16
  811. package/dist/extensions/index.js +0 -17
  812. package/dist/friendly-errors.js +0 -761
  813. package/dist/function-like.js +0 -84
  814. package/dist/generator/async-detection.js +0 -56
  815. package/dist/generator/code-utils.js +0 -551
  816. package/dist/generator/compile-target-registry.d.ts +0 -20
  817. package/dist/generator/compile-target-registry.js +0 -20
  818. package/dist/generator/control-flow.js +0 -358
  819. package/dist/generator/dev-mode-registry.d.ts +0 -27
  820. package/dist/generator/dev-mode-registry.js +0 -20
  821. package/dist/generator/scope-function-generator.js +0 -397
  822. package/dist/generator/unified.js +0 -1831
  823. package/dist/generator.d.ts +0 -54
  824. package/dist/generator.js +0 -101
  825. package/dist/jsdoc-parser.d.ts +0 -377
  826. package/dist/jsdoc-parser.js +0 -1189
  827. package/dist/jsdoc-port-sync/constants.js +0 -103
  828. package/dist/jsdoc-port-sync/diff.js +0 -319
  829. package/dist/jsdoc-port-sync/port-parser.js +0 -579
  830. package/dist/jsdoc-port-sync/rename.js +0 -256
  831. package/dist/jsdoc-port-sync/signature-parser.js +0 -559
  832. package/dist/jsdoc-port-sync/sync.js +0 -653
  833. package/dist/marketplace/manifest.js +0 -194
  834. package/dist/marketplace/registry.js +0 -198
  835. package/dist/marketplace/types.js +0 -9
  836. package/dist/marketplace/validator.js +0 -150
  837. package/dist/mcp/agent-channel.d.ts +0 -35
  838. package/dist/mcp/agent-channel.js +0 -61
  839. package/dist/mcp/auto-registration.d.ts +0 -3
  840. package/dist/mcp/auto-registration.js +0 -62
  841. package/dist/mcp/debug-session.js +0 -25
  842. package/dist/mcp/index.d.ts +0 -11
  843. package/dist/mcp/index.js +0 -10
  844. package/dist/mcp/pack-tools.js +0 -59
  845. package/dist/mcp/prompts.js +0 -68
  846. package/dist/mcp/response-utils.js +0 -97
  847. package/dist/mcp/run-registry.d.ts +0 -29
  848. package/dist/mcp/run-registry.js +0 -24
  849. package/dist/mcp/server.js +0 -63
  850. package/dist/mcp/tools-context.js +0 -51
  851. package/dist/mcp/tools-debug.js +0 -451
  852. package/dist/mcp/tools-diagram.js +0 -97
  853. package/dist/mcp/tools-docs.js +0 -62
  854. package/dist/mcp/tools-export.js +0 -222
  855. package/dist/mcp/tools-marketplace.js +0 -132
  856. package/dist/mcp/tools-model.d.ts +0 -3
  857. package/dist/mcp/tools-model.js +0 -279
  858. package/dist/mcp/tools-pattern.d.ts +0 -3
  859. package/dist/mcp/tools-pattern.js +0 -604
  860. package/dist/mcp/tools-query.js +0 -377
  861. package/dist/mcp/tools-resources.js +0 -41
  862. package/dist/mcp/tools-template.js +0 -119
  863. package/dist/mcp/tools-workflow-run.d.ts +0 -40
  864. package/dist/mcp/tools-workflow-run.js +0 -150
  865. package/dist/mcp/types.js +0 -2
  866. package/dist/mcp/workflow-executor.js +0 -242
  867. package/dist/migration/registry.js +0 -29
  868. package/dist/node-types-generator.js +0 -139
  869. package/dist/parser/tag-registry.js +0 -57
  870. package/dist/parser.d.ts +0 -232
  871. package/dist/parser.js +0 -2500
  872. package/dist/plugin/PluginPanel.d.ts +0 -12
  873. package/dist/plugin/PluginPanel.js +0 -5
  874. package/dist/plugin/index.d.ts +0 -13
  875. package/dist/plugin/index.js +0 -14
  876. package/dist/plugin/types.d.ts +0 -75
  877. package/dist/plugin/types.js +0 -8
  878. package/dist/resolve-package-types.js +0 -123
  879. package/dist/runtime/CancellationError.js +0 -20
  880. package/dist/runtime/ExecutionContext.js +0 -280
  881. package/dist/runtime/builtin-functions.js +0 -549
  882. package/dist/runtime/checkpoint.d.ts +0 -84
  883. package/dist/runtime/checkpoint.js +0 -225
  884. package/dist/runtime/debug-controller.js +0 -247
  885. package/dist/runtime/events.js +0 -2
  886. package/dist/runtime/function-registry.js +0 -66
  887. package/dist/runtime/parameter-resolver.js +0 -113
  888. package/dist/server/types.js +0 -5
  889. package/dist/server/webhook-server.js +0 -269
  890. package/dist/server/workflow-registry.js +0 -202
  891. package/dist/shared-project.js +0 -28
  892. package/dist/sugar-optimizer.js +0 -498
  893. package/dist/testing/assertions.js +0 -127
  894. package/dist/testing/mock-approval.js +0 -98
  895. package/dist/testing/mock-llm.js +0 -119
  896. package/dist/testing/recorder.js +0 -70
  897. package/dist/testing/replayer.js +0 -143
  898. package/dist/testing/token-tracker.js +0 -94
  899. package/dist/type-checker.d.ts +0 -42
  900. package/dist/type-checker.js +0 -190
  901. package/dist/type-mappings.js +0 -131
  902. package/dist/types/branded-ports.d.ts +0 -151
  903. package/dist/types/branded-ports.js +0 -121
  904. package/dist/types/index.d.ts +0 -5
  905. package/dist/types/index.js +0 -5
  906. package/dist/types.d.ts +0 -139
  907. package/dist/types.js +0 -15
  908. package/dist/utils/error-utils.js +0 -27
  909. package/dist/utils/lru-cache.js +0 -40
  910. package/dist/utils/port-ordering.js +0 -81
  911. package/dist/utils/port-tag-utils.js +0 -41
  912. package/dist/utils/string-distance.js +0 -56
  913. package/dist/validation/agent-detection.js +0 -115
  914. package/dist/validation/agent-rules.js +0 -262
  915. package/dist/validation/design-rules.js +0 -377
  916. package/dist/validation/rule-registry.js +0 -37
  917. package/dist/validator.d.ts +0 -113
  918. package/dist/validator.js +0 -1631
  919. package/docs/reference/patterns.md +0 -159
  920. package/scripts/postinstall.cjs +0 -86
  921. /package/dist/{shared-project.d.ts → parser/shared-project.d.ts} +0 -0
  922. /package/dist/{friendly-errors.d.ts → validation/friendly-errors.d.ts} +0 -0
@@ -1,653 +0,0 @@
1
- /**
2
- * @module jsdoc-port-sync/sync
3
- *
4
- * Bidirectional sync between JSDoc annotations and TypeScript signatures.
5
- * - syncSignatureToJSDoc: Code → JSDoc (regenerate tags from signature)
6
- * - syncJSDocToSignature: JSDoc → Code (add params/fields to signature)
7
- */
8
- import { SCOPED_PORT_NAMES } from "../constants.js";
9
- import { JSDOC_BLOCK_REGEX, SCOPE_TAG_REGEX, RESERVED_PARAMS, findBalancedClose, splitParams, } from "./constants.js";
10
- import { parseFunctionSignature, parseReturnFields, parseReturnBodyFieldsWithTypes, parseReturnTypeFields, parseInputTypeFields, tsTypeToPortType, portTypeToTsType, parseCallbackType, buildCallbackType, callbackHasAllPorts, } from "./signature-parser.js";
11
- import { parsePortsFromFunctionText, updatePortsInFunctionText, hasOrphanPortLines, getIncompletePortNames, } from "./port-parser.js";
12
- import { isReservedPortName } from "../constants.js";
13
- // =============================================================================
14
- // Sync: Signature → JSDoc
15
- // =============================================================================
16
- /**
17
- * Sync function signature to JSDoc (Code → JSDoc).
18
- *
19
- * **What it does:**
20
- * - Adds `@input` tags for params in signature but not in JSDoc
21
- * - Adds `@output` tags for return fields not in JSDoc
22
- * - Removes orphan `@input`/`@output` tags (port deleted from signature)
23
- * - Preserves existing JSDoc content (description, `@label`, etc.)
24
- *
25
- * **When to call:** Only on explicit format (Ctrl+P), NOT every keystroke.
26
- */
27
- export function syncSignatureToJSDoc(functionText) {
28
- // Check for orphan lines - skip sync if user is editing port names
29
- const orphanLines = hasOrphanPortLines(functionText);
30
- if (orphanLines.inputs || orphanLines.outputs) {
31
- return functionText;
32
- }
33
- const { inputs: existingInputs, outputs: existingOutputs } = parsePortsFromFunctionText(functionText);
34
- const { params } = parseFunctionSignature(functionText);
35
- // Determine return fields source
36
- const hasReturnTypeAnnotation = /\)\s*:\s*\{[^}]+\}\s*(?:\{|=>)/.test(functionText);
37
- const returnTypeFields = parseReturnTypeFields(functionText);
38
- const returnBodyFields = parseReturnFields(functionText);
39
- const returnBodyFieldTypes = parseReturnBodyFieldsWithTypes(functionText);
40
- const returnFields = hasReturnTypeAnnotation ? returnTypeFields : returnBodyFields;
41
- const incompletePortNames = getIncompletePortNames(functionText);
42
- // Get non-callback param names
43
- const signatureParamNames = new Set(params
44
- .filter((p) => !RESERVED_PARAMS.includes(p.name) && !p.tsType?.includes("=>"))
45
- .map((p) => p.name));
46
- // Also get input fields from TFlowWeaverNodeType type annotation
47
- const inputTypeFields = parseInputTypeFields(functionText);
48
- for (const field of inputTypeFields) {
49
- signatureParamNames.add(field.name);
50
- }
51
- const returnFieldNames = new Set(returnFields);
52
- // Build merged inputs
53
- const mergedInputs = { ...existingInputs };
54
- for (const param of params) {
55
- if (RESERVED_PARAMS.includes(param.name))
56
- continue;
57
- if (incompletePortNames.inputs.has(param.name))
58
- continue;
59
- const signatureType = tsTypeToPortType(param.tsType);
60
- if (!mergedInputs[param.name]) {
61
- mergedInputs[param.name] = {
62
- dataType: signatureType,
63
- ...(param.optional && { optional: true }),
64
- ...(param.defaultValue && { default: parseDefaultValue(param.defaultValue) }),
65
- };
66
- }
67
- else if (signatureType !== "ANY" && mergedInputs[param.name].dataType !== signatureType) {
68
- const existingType = mergedInputs[param.name].dataType;
69
- if (!(existingType === "STEP" && signatureType === "BOOLEAN")) {
70
- mergedInputs[param.name] = {
71
- ...mergedInputs[param.name],
72
- dataType: signatureType,
73
- };
74
- }
75
- }
76
- }
77
- // Add inputs from TFlowWeaverNodeType type annotation
78
- for (const field of inputTypeFields) {
79
- if (!mergedInputs[field.name] && !incompletePortNames.inputs.has(field.name)) {
80
- mergedInputs[field.name] = { dataType: tsTypeToPortType(field.tsType) };
81
- }
82
- }
83
- // Build merged outputs
84
- const mergedOutputs = { ...existingOutputs };
85
- for (const field of returnFields) {
86
- if (!mergedOutputs[field] && !incompletePortNames.outputs.has(field)) {
87
- const inferredType = returnBodyFieldTypes.get(field);
88
- const dataType = inferredType ? tsTypeToPortType(inferredType) : "ANY";
89
- mergedOutputs[field] = { dataType, ...(inferredType && { tsType: inferredType }) };
90
- }
91
- }
92
- // Get raw signature for additional checks
93
- const sigMatch = functionText.match(/function\s+\w+\s*\(([^)]*)/s) ||
94
- functionText.match(/=\s*\(([^)]*)\)\s*(?:=>|:)/s);
95
- const rawSigText = sigMatch?.[1] || "";
96
- // Parse callback info for scoped port detection
97
- const callbackInfo = new Map();
98
- for (const param of params) {
99
- if (param.tsType?.includes("=>")) {
100
- const parsed = parseCallbackType(param.tsType);
101
- const fieldNames = new Set(parsed.returnFields.map(f => f.name));
102
- callbackInfo.set(param.name, {
103
- hasReturnFields: fieldNames.size > 0,
104
- returnFieldNames: fieldNames,
105
- });
106
- }
107
- }
108
- // Auto-remove orphan inputs
109
- const finalInputs = {};
110
- for (const [name, port] of Object.entries(mergedInputs)) {
111
- const hasUserMetadata = port.metadata?.order !== undefined || port.label !== undefined;
112
- const existsInRawSig = new RegExp(`\\b${name}\\b`).test(rawSigText);
113
- const isScopedInput = port.scope !== undefined;
114
- let keepScopedInput = false;
115
- if (isScopedInput && port.scope) {
116
- const scopeCallback = callbackInfo.get(port.scope);
117
- if (scopeCallback) {
118
- if (scopeCallback.hasReturnFields) {
119
- keepScopedInput = scopeCallback.returnFieldNames.has(name);
120
- }
121
- else {
122
- keepScopedInput = true;
123
- }
124
- }
125
- }
126
- if (signatureParamNames.has(name) || keepScopedInput || incompletePortNames.inputs.has(name) || (hasUserMetadata && existsInRawSig)) {
127
- finalInputs[name] = port;
128
- }
129
- }
130
- // Auto-remove orphan outputs
131
- const finalOutputs = {};
132
- for (const [name, port] of Object.entries(mergedOutputs)) {
133
- if (returnFieldNames.has(name) || port.scope || isReservedPortName(name) || incompletePortNames.outputs.has(name)) {
134
- finalOutputs[name] = port;
135
- }
136
- }
137
- // Build signature input order
138
- const rawParamMatches = rawSigText.matchAll(/^\s*(\w+)\s*[?:]|,\s*(\w+)\s*[?:]/gm);
139
- const rawParamOrder = [];
140
- for (const match of rawParamMatches) {
141
- const name = match[1] || match[2];
142
- if (name && !RESERVED_PARAMS.includes(name) && !rawParamOrder.includes(name)) {
143
- const afterName = rawSigText.substring(rawSigText.indexOf(name + ":") + name.length + 1);
144
- if (!afterName.trim().startsWith("(")) {
145
- rawParamOrder.push(name);
146
- }
147
- }
148
- }
149
- const parsedOrder = params
150
- .filter((p) => !RESERVED_PARAMS.includes(p.name) && !p.tsType?.includes("=>"))
151
- .map((p) => p.name);
152
- const signatureInputOrder = rawParamOrder.length >= parsedOrder.length ? rawParamOrder : parsedOrder;
153
- // ==========================================================================
154
- // Auto-generate mandatory scoped ports for all scopes
155
- // Collects from both @scope tags AND per-port scope:name annotations
156
- // ==========================================================================
157
- const declaredScopes = new Set();
158
- // From @scope tags
159
- const jsdocMatch = functionText.match(JSDOC_BLOCK_REGEX);
160
- if (jsdocMatch) {
161
- const jsdoc = jsdocMatch[0];
162
- SCOPE_TAG_REGEX.lastIndex = 0;
163
- let scopeMatch;
164
- while ((scopeMatch = SCOPE_TAG_REGEX.exec(jsdoc)) != null) {
165
- declaredScopes.add(scopeMatch[1]);
166
- }
167
- }
168
- // From per-port scope annotations, but ONLY when the scope has a matching
169
- // callback parameter (confirming it's a real scope, not just a labeled port)
170
- for (const port of Object.values(finalInputs)) {
171
- if (port.scope && callbackInfo.has(port.scope))
172
- declaredScopes.add(port.scope);
173
- }
174
- for (const port of Object.values(finalOutputs)) {
175
- if (port.scope && callbackInfo.has(port.scope))
176
- declaredScopes.add(port.scope);
177
- }
178
- // For each scope, ensure mandatory ports exist.
179
- // Port Records use name as key. When multiple scopes need the same mandatory port
180
- // (e.g., "start" for scope "a" and "start" for scope "b"), we use a scoped key
181
- // format "name\0scope" for the second+ scope. generateJSDocPortTag receives the
182
- // real name via the port definition's _realName field.
183
- for (const scopeName of declaredScopes) {
184
- // Helper: find if mandatory port exists for this specific scope
185
- const hasPortForScope = (ports, portName, scope) => Object.entries(ports).some(([name, port]) => (name === portName || port._realName === portName) && port.scope === scope);
186
- // Helper: add a mandatory port, using a scoped key if the base key is taken by another scope
187
- const addMandatoryPort = (ports, portName, scope, extra) => {
188
- if (hasPortForScope(ports, portName, scope))
189
- return;
190
- // Use base key if available, otherwise use scoped key
191
- const key = !ports[portName] || ports[portName].scope === scope
192
- ? portName
193
- : `${portName}\0${scope}`;
194
- ports[key] = {
195
- dataType: "STEP",
196
- scope,
197
- ...(key !== portName && { _realName: portName }),
198
- ...extra,
199
- };
200
- };
201
- addMandatoryPort(finalOutputs, SCOPED_PORT_NAMES.START, scopeName);
202
- addMandatoryPort(finalInputs, SCOPED_PORT_NAMES.SUCCESS, scopeName);
203
- addMandatoryPort(finalInputs, SCOPED_PORT_NAMES.FAILURE, scopeName, { failure: true });
204
- }
205
- return updatePortsInFunctionText(functionText, finalInputs, finalOutputs, signatureInputOrder);
206
- }
207
- // =============================================================================
208
- // Sync: JSDoc → Signature
209
- // =============================================================================
210
- /**
211
- * Sync JSDoc to function signature (JSDoc → Code).
212
- *
213
- * **What it does:**
214
- * - Adds missing params from `@input` tags to function signature
215
- * - Updates return type with fields from `@output` tags
216
- * - Ensures `execute: boolean` is first param
217
- * - Builds/updates callback types for scoped ports
218
- *
219
- * **When to call:** On every keystroke during editing.
220
- */
221
- export function syncJSDocToSignature(functionText, authoritativePorts) {
222
- const { inputs: parsedInputs, outputs: parsedOutputs } = parsePortsFromFunctionText(functionText);
223
- const returnBodyFieldTypes = parseReturnBodyFieldsWithTypes(functionText);
224
- // Use authoritative ports if provided
225
- const inputs = {};
226
- for (const [name, port] of Object.entries(parsedInputs)) {
227
- inputs[name] = authoritativePorts?.inputs?.[name] ?? port;
228
- }
229
- const outputs = {};
230
- for (const [name, port] of Object.entries(parsedOutputs)) {
231
- const authoritative = authoritativePorts?.outputs?.[name];
232
- if (authoritative) {
233
- outputs[name] = authoritative;
234
- }
235
- else {
236
- const inferredTsType = returnBodyFieldTypes.get(name);
237
- if (inferredTsType && !port.tsType) {
238
- outputs[name] = { ...port, tsType: inferredTsType };
239
- }
240
- else {
241
- outputs[name] = port;
242
- }
243
- }
244
- }
245
- const { params, functionType } = parseFunctionSignature(functionText);
246
- // Helper to safely get order from metadata (metadata is Record<string, unknown>)
247
- const getOrder = (port) => {
248
- const order = port.metadata?.order;
249
- return typeof order === "number" ? order : Infinity;
250
- };
251
- // Build ordered list of NON-SCOPED ports only
252
- const orderedInputs = Object.entries(inputs)
253
- .filter(([_, port]) => !port.scope)
254
- .map(([name, port]) => ({ name, port, order: getOrder(port) }))
255
- .sort((a, b) => a.order - b.order);
256
- // Get existing param names
257
- const existingParamNames = new Set(params.map((p) => p.name));
258
- // Also extract from raw signature
259
- const sigMatch = functionText.match(/function\s+\w+\s*\(([^)]*)/s) ||
260
- functionText.match(/=\s*\(([^)]*)\)\s*(?:=>|:)/s);
261
- const rawSigText = sigMatch?.[1] || "";
262
- const rawParamMatches = rawSigText.matchAll(/\b(\w+)\s*[?:]/g);
263
- for (const match of rawParamMatches) {
264
- existingParamNames.add(match[1]);
265
- }
266
- // Find params to add
267
- const paramsToAdd = orderedInputs.filter(({ name }) => !existingParamNames.has(name) && !RESERVED_PARAMS.includes(name));
268
- // IMPORTANT: Do NOT remove params from signature that don't have @input tags
269
- // The signature is the source of truth for param existence
270
- // JSDoc is only for metadata (labels, order, scope, etc.)
271
- // Removing params would break user workflow of adding params to signature first
272
- const paramsToRemove = [];
273
- // Filter out scoped outputs
274
- const nonScopedOutputs = Object.fromEntries(Object.entries(outputs).filter(([_, port]) => !port.scope));
275
- // Check for scoped ports
276
- const scopedInputs = Object.entries(inputs).filter(([_, port]) => port.scope);
277
- const scopedOutputs = Object.entries(outputs).filter(([_, port]) => port.scope);
278
- const hasScopedPorts = scopedInputs.length > 0 || scopedOutputs.length > 0;
279
- const hasSyncableOutputs = Object.keys(nonScopedOutputs).length > 0;
280
- const hasExecuteParam = existingParamNames.has("execute");
281
- // Check for outputs to remove
282
- const existingReturnFields = parseReturnTypeFields(functionText);
283
- const jsDocOutputNames = new Set(Object.keys(nonScopedOutputs));
284
- const MANDATORY_RETURN_FIELDS = new Set(["onSuccess", "onFailure"]);
285
- const hasOutputsToRemove = existingReturnFields.some((field) => !jsDocOutputNames.has(field) && !MANDATORY_RETURN_FIELDS.has(field));
286
- if (paramsToAdd.length === 0 && paramsToRemove.length === 0 && !hasScopedPorts && !hasSyncableOutputs && !hasOutputsToRemove && hasExecuteParam) {
287
- return functionText;
288
- }
289
- let result = functionText;
290
- // Remove params not in JSDoc
291
- for (const param of paramsToRemove) {
292
- const paramRegex = new RegExp(`(,\\s*)?\\b${param.name}\\s*\\??\\s*:\\s*[^,)]+`, "g");
293
- result = result.replace(paramRegex, "");
294
- result = result.replace(/\(\s*,\s*/g, "(");
295
- result = result.replace(/,\s*,/g, ",");
296
- result = result.replace(/,\s*\)/g, ")");
297
- }
298
- // Ensure execute: boolean is first
299
- if (!hasExecuteParam) {
300
- if (functionType === "declaration") {
301
- const funcMatch = result.match(/function\s+\w+\s*\(/);
302
- if (funcMatch && funcMatch.index !== undefined) {
303
- const openParen = funcMatch.index + funcMatch[0].length - 1;
304
- const closeParen = findBalancedClose(result, openParen);
305
- if (closeParen !== -1) {
306
- const existingParams = result.substring(openParen + 1, closeParen).trim();
307
- const sep = existingParams ? ", " : "";
308
- result =
309
- result.substring(0, openParen + 1) +
310
- "execute: boolean" +
311
- sep +
312
- result.substring(openParen + 1);
313
- }
314
- }
315
- }
316
- else if (functionType === "arrow") {
317
- const arrowMatch = result.match(/(?:const|let|var)\s+\w+\s*=\s*(?:async\s*)?\(/);
318
- if (arrowMatch && arrowMatch.index !== undefined) {
319
- const openParen = arrowMatch.index + arrowMatch[0].length - 1;
320
- const closeParen = findBalancedClose(result, openParen);
321
- if (closeParen !== -1) {
322
- const existingParams = result.substring(openParen + 1, closeParen).trim();
323
- const sep = existingParams ? ", " : "";
324
- result =
325
- result.substring(0, openParen + 1) +
326
- "execute: boolean" +
327
- sep +
328
- result.substring(openParen + 1);
329
- }
330
- }
331
- }
332
- }
333
- // Add missing params
334
- if (paramsToAdd.length > 0) {
335
- const newParamStrings = paramsToAdd.map(({ name, port }) => {
336
- const tsType = portTypeToTsType(port.dataType);
337
- if (port.optional && port.default !== undefined) {
338
- return `${name}: ${tsType} = ${JSON.stringify(port.default)}`;
339
- }
340
- else if (port.optional) {
341
- return `${name}?: ${tsType}`;
342
- }
343
- return `${name}: ${tsType}`;
344
- });
345
- if (functionType === "declaration") {
346
- const funcMatch = result.match(/function\s+\w+\s*\(/);
347
- if (funcMatch && funcMatch.index !== undefined) {
348
- const openParen = funcMatch.index + funcMatch[0].length - 1;
349
- const closeParen = findBalancedClose(result, openParen);
350
- if (closeParen !== -1) {
351
- let existingParams = result.substring(openParen + 1, closeParen);
352
- const endsWithComma = /,\s*$/.test(existingParams);
353
- const isMultiline = existingParams.includes("\n");
354
- let sep;
355
- if (!existingParams.trim()) {
356
- sep = "";
357
- }
358
- else if (endsWithComma) {
359
- existingParams = existingParams.replace(/,\s*$/, ",");
360
- sep = "\n ";
361
- }
362
- else if (isMultiline) {
363
- existingParams = existingParams.trimEnd();
364
- sep = ",\n ";
365
- }
366
- else {
367
- sep = ", ";
368
- }
369
- result =
370
- result.substring(0, openParen + 1) +
371
- existingParams +
372
- sep +
373
- newParamStrings.join(", ") +
374
- "\n" +
375
- result.substring(closeParen);
376
- }
377
- }
378
- }
379
- else if (functionType === "arrow") {
380
- const arrowMatch = result.match(/(?:const|let|var)\s+\w+\s*=\s*(?:async\s*)?\(/);
381
- if (arrowMatch && arrowMatch.index !== undefined) {
382
- const openParen = arrowMatch.index + arrowMatch[0].length - 1;
383
- const closeParen = findBalancedClose(result, openParen);
384
- if (closeParen !== -1) {
385
- let existingParams = result.substring(openParen + 1, closeParen);
386
- const endsWithComma = /,\s*$/.test(existingParams);
387
- const isMultiline = existingParams.includes("\n");
388
- let sep;
389
- if (!existingParams.trim()) {
390
- sep = "";
391
- }
392
- else if (endsWithComma) {
393
- existingParams = existingParams.replace(/,\s*$/, ",");
394
- sep = "\n ";
395
- }
396
- else if (isMultiline) {
397
- existingParams = existingParams.trimEnd();
398
- sep = ",\n ";
399
- }
400
- else {
401
- sep = ", ";
402
- }
403
- result =
404
- result.substring(0, openParen + 1) +
405
- existingParams +
406
- sep +
407
- newParamStrings.join(", ") +
408
- "\n" +
409
- result.substring(closeParen);
410
- }
411
- }
412
- }
413
- }
414
- // Handle scoped ports → callback signatures
415
- if (hasScopedPorts) {
416
- const scopeNames = new Set([
417
- ...scopedInputs.map(([_, port]) => port.scope),
418
- ...scopedOutputs.map(([_, port]) => port.scope),
419
- ]);
420
- for (const scopeName of scopeNames) {
421
- const callbackParams = scopedOutputs.filter(([name, port]) => port.scope === scopeName && port.dataType !== "FUNCTION" && name !== scopeName);
422
- const callbackReturns = scopedInputs.filter(([_, port]) => port.scope === scopeName);
423
- if (callbackParams.length > 0 || callbackReturns.length > 0) {
424
- result = updateCallbackInSignature(result, scopeName, callbackParams, callbackReturns, functionType);
425
- }
426
- }
427
- }
428
- // Handle return type annotation
429
- const syncableOutputs = Object.entries(nonScopedOutputs).filter(([_, port]) => !port.scope);
430
- const existingReturnTypeMatch = result.match(/\)\s*:\s*\{([^}]*)\}/);
431
- const existingFields = new Map();
432
- if (existingReturnTypeMatch) {
433
- const existingContent = existingReturnTypeMatch[1];
434
- const fieldMatches = existingContent.matchAll(/(\w+)\s*:\s*([^;}\s][^;}]*)?/g);
435
- for (const match of fieldMatches) {
436
- const fieldName = match[1];
437
- const fieldType = match[2]?.trim() || "";
438
- existingFields.set(fieldName, fieldType);
439
- }
440
- }
441
- // Ensure mandatory fields
442
- if (!existingFields.has("onSuccess")) {
443
- existingFields.set("onSuccess", "boolean");
444
- }
445
- if (!existingFields.has("onFailure")) {
446
- existingFields.set("onFailure", "boolean");
447
- }
448
- // Add fields from JSDoc
449
- for (const [name, port] of syncableOutputs) {
450
- if (name === "onSuccess" || name === "onFailure")
451
- continue;
452
- const existingType = existingFields.get(name);
453
- if (!existingType) {
454
- const typeStr = port.tsType || portTypeToTsType(port.dataType);
455
- existingFields.set(name, typeStr);
456
- }
457
- }
458
- // Build final fields list
459
- const allFields = [];
460
- allFields.push(`onSuccess: ${existingFields.get("onSuccess")}`);
461
- allFields.push(`onFailure: ${existingFields.get("onFailure")}`);
462
- for (const [name, type] of existingFields) {
463
- if (name === "onSuccess" || name === "onFailure")
464
- continue;
465
- allFields.push(type ? `${name}: ${type}` : `${name}:`);
466
- }
467
- if (allFields.length > 0) {
468
- const returnType = `{ ${allFields.join("; ")} }`;
469
- if (functionType === "declaration") {
470
- const funcMatch = result.match(/function\s+\w+\s*\(/);
471
- if (funcMatch && funcMatch.index !== undefined) {
472
- const openParen = funcMatch.index + funcMatch[0].length - 1;
473
- const closeParen = findBalancedClose(result, openParen);
474
- if (closeParen !== -1) {
475
- const afterParen = result.substring(closeParen + 1);
476
- const existingReturnMatch = afterParen.match(/^\s*:\s*\{[^}]*\}/);
477
- if (existingReturnMatch) {
478
- result =
479
- result.substring(0, closeParen + 1) +
480
- ": " +
481
- returnType +
482
- afterParen.substring(existingReturnMatch[0].length);
483
- }
484
- else {
485
- const beforeBody = afterParen.match(/^\s*/);
486
- const whitespace = beforeBody ? beforeBody[0] : " ";
487
- result =
488
- result.substring(0, closeParen + 1) +
489
- ": " +
490
- returnType +
491
- whitespace +
492
- afterParen.substring(whitespace.length);
493
- }
494
- }
495
- }
496
- }
497
- else if (functionType === "arrow") {
498
- const arrowMatch = result.match(/(?:const|let|var)\s+\w+\s*=\s*(?:async\s*)?\(/);
499
- if (arrowMatch && arrowMatch.index !== undefined) {
500
- const openParen = arrowMatch.index + arrowMatch[0].length - 1;
501
- const closeParen = findBalancedClose(result, openParen);
502
- if (closeParen !== -1) {
503
- const afterParen = result.substring(closeParen + 1);
504
- const existingReturnMatch = afterParen.match(/^\s*:\s*\{[^}]*\}/);
505
- if (existingReturnMatch) {
506
- result =
507
- result.substring(0, closeParen + 1) +
508
- ": " +
509
- returnType +
510
- afterParen.substring(existingReturnMatch[0].length);
511
- }
512
- else {
513
- const beforeArrow = afterParen.match(/^\s*/);
514
- const whitespace = beforeArrow ? beforeArrow[0] : " ";
515
- result =
516
- result.substring(0, closeParen + 1) +
517
- ": " +
518
- returnType +
519
- whitespace +
520
- afterParen.substring(whitespace.length);
521
- }
522
- }
523
- }
524
- }
525
- }
526
- return result;
527
- }
528
- // =============================================================================
529
- // Callback Signature Update
530
- // =============================================================================
531
- /**
532
- * Update or add callback parameter for a scope.
533
- */
534
- function updateCallbackInSignature(functionText, scopeName, callbackParams, callbackReturns, functionType) {
535
- if (functionType === "declaration") {
536
- const funcMatch = functionText.match(/((?:async\s+)?function\s+)(\w+)\s*\(/);
537
- if (!funcMatch || funcMatch.index === undefined)
538
- return functionText;
539
- const openParenIndex = funcMatch.index + funcMatch[0].length - 1;
540
- const closeParenIndex = findBalancedClose(functionText, openParenIndex);
541
- if (closeParenIndex === -1)
542
- return functionText;
543
- const paramsStr = functionText.substring(openParenIndex + 1, closeParenIndex);
544
- const paramTokens = splitParams(paramsStr);
545
- const callbackIndex = paramTokens.findIndex((p) => p.includes("=>"));
546
- if (callbackIndex >= 0) {
547
- const callbackParam = paramTokens[callbackIndex].trim();
548
- const colonIndex = callbackParam.indexOf(":");
549
- const existingType = callbackParam.substring(colonIndex + 1).trim();
550
- if (callbackHasAllPorts(existingType, callbackParams, callbackReturns)) {
551
- return functionText;
552
- }
553
- }
554
- const beforeFunc = functionText.substring(0, funcMatch.index);
555
- const funcKeyword = funcMatch[1];
556
- const funcName = funcMatch[2];
557
- const suffix = functionText.substring(closeParenIndex + 1);
558
- const isMultiline = paramsStr.includes("\n");
559
- if (callbackIndex >= 0) {
560
- const callbackParam = paramTokens[callbackIndex].trim();
561
- const colonIndex = callbackParam.indexOf(":");
562
- const paramName = callbackParam.substring(0, colonIndex).trim();
563
- const existingType = callbackParam.substring(colonIndex + 1).trim();
564
- const callbackType = buildCallbackType(callbackParams, callbackReturns, existingType);
565
- paramTokens[callbackIndex] = `${paramName}: ${callbackType}`;
566
- }
567
- else {
568
- const callbackType = buildCallbackType(callbackParams, callbackReturns);
569
- paramTokens.push(`${scopeName}: ${callbackType}`);
570
- }
571
- if (isMultiline) {
572
- let result = paramsStr;
573
- const callbackToken = paramTokens[callbackIndex];
574
- const callbackStartRegex = new RegExp(`(${scopeName}\\s*:\\s*)\\([^)]*\\)\\s*=>\\s*\\{[^}]*\\}`, 's');
575
- const match = result.match(callbackStartRegex);
576
- if (match) {
577
- result = result.replace(callbackStartRegex, callbackToken);
578
- }
579
- return `${beforeFunc}${funcKeyword}${funcName}(${result})${suffix}`;
580
- }
581
- else {
582
- const trimmedTokens = paramTokens.map((p) => p.trim());
583
- return `${beforeFunc}${funcKeyword}${funcName}(${trimmedTokens.join(", ")})${suffix}`;
584
- }
585
- }
586
- else if (functionType === "arrow") {
587
- const arrowMatch = functionText.match(/((?:const|let|var)\s+\w+\s*=\s*(?:async\s*)?)\(/);
588
- if (!arrowMatch || arrowMatch.index === undefined)
589
- return functionText;
590
- const openParenIndex = arrowMatch.index + arrowMatch[0].length - 1;
591
- const closeParenIndex = findBalancedClose(functionText, openParenIndex);
592
- if (closeParenIndex === -1)
593
- return functionText;
594
- const paramsStr = functionText.substring(openParenIndex + 1, closeParenIndex);
595
- const paramTokens = splitParams(paramsStr);
596
- const callbackIndex = paramTokens.findIndex((p) => p.includes("=>"));
597
- if (callbackIndex >= 0) {
598
- const callbackParam = paramTokens[callbackIndex].trim();
599
- const colonIndex = callbackParam.indexOf(":");
600
- const existingType = callbackParam.substring(colonIndex + 1).trim();
601
- if (callbackHasAllPorts(existingType, callbackParams, callbackReturns)) {
602
- return functionText;
603
- }
604
- }
605
- const beforeArrow = functionText.substring(0, arrowMatch.index);
606
- const prefix = arrowMatch[1];
607
- const afterParams = functionText.substring(closeParenIndex + 1);
608
- const arrowIndex = afterParams.indexOf("=>");
609
- if (arrowIndex === -1)
610
- return functionText;
611
- const suffix = afterParams.substring(arrowIndex);
612
- const isMultiline = paramsStr.includes("\n");
613
- if (callbackIndex >= 0) {
614
- const callbackParam = paramTokens[callbackIndex].trim();
615
- const colonIndex = callbackParam.indexOf(":");
616
- const paramName = callbackParam.substring(0, colonIndex).trim();
617
- const existingType = callbackParam.substring(colonIndex + 1).trim();
618
- const callbackType = buildCallbackType(callbackParams, callbackReturns, existingType);
619
- paramTokens[callbackIndex] = `${paramName}: ${callbackType}`;
620
- }
621
- else {
622
- const callbackType = buildCallbackType(callbackParams, callbackReturns);
623
- paramTokens.push(`${scopeName}: ${callbackType}`);
624
- }
625
- if (isMultiline) {
626
- let result = paramsStr;
627
- const callbackToken = paramTokens[callbackIndex];
628
- const callbackStartRegex = new RegExp(`(${scopeName}\\s*:\\s*)\\([^)]*\\)\\s*=>\\s*\\{[^}]*\\}`, 's');
629
- const match = result.match(callbackStartRegex);
630
- if (match) {
631
- result = result.replace(callbackStartRegex, callbackToken);
632
- }
633
- return `${beforeArrow}${prefix}(${result}) ${suffix}`;
634
- }
635
- else {
636
- const trimmedTokens = paramTokens.map((p) => p.trim());
637
- return `${beforeArrow}${prefix}(${trimmedTokens.join(", ")}) ${suffix}`;
638
- }
639
- }
640
- return functionText;
641
- }
642
- // =============================================================================
643
- // Helpers
644
- // =============================================================================
645
- function parseDefaultValue(value) {
646
- try {
647
- return JSON.parse(value);
648
- }
649
- catch {
650
- return value;
651
- }
652
- }
653
- //# sourceMappingURL=sync.js.map