@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
package/dist/api/query.js DELETED
@@ -1,840 +0,0 @@
1
- /**
2
- * Query API for read-only workflow inspection
3
- * All functions are pure and do not modify the workflow
4
- */
5
- import { portReferencesEqual } from './helpers.js';
6
- import { isPerPortScopedChild } from '../generator/control-flow.js';
7
- // ============================================================================
8
- // SCOPE HELPERS
9
- // ============================================================================
10
- /**
11
- * Get connections that belong to the main control flow (exclude scoped connections).
12
- * Mirrors the filtering logic in control-flow.ts buildControlFlowGraph().
13
- */
14
- function getMainFlowConnections(ast) {
15
- return ast.connections.filter((conn) => {
16
- // Skip connections with scope annotation on either end
17
- if (conn.from.scope || conn.to.scope)
18
- return false;
19
- // Skip connections involving per-port scoped children
20
- const fromInstance = ast.instances.find((i) => i.id === conn.from.node);
21
- const toInstance = ast.instances.find((i) => i.id === conn.to.node);
22
- if ((fromInstance && isPerPortScopedChild(fromInstance, ast, ast.nodeTypes)) ||
23
- (toInstance && isPerPortScopedChild(toInstance, ast, ast.nodeTypes))) {
24
- return false;
25
- }
26
- return true;
27
- });
28
- }
29
- /**
30
- * Get instances that belong to the main control flow (exclude per-port scoped children).
31
- */
32
- function getMainFlowInstances(ast) {
33
- return ast.instances.filter((inst) => !isPerPortScopedChild(inst, ast, ast.nodeTypes));
34
- }
35
- // ============================================================================
36
- // NODE QUERIES
37
- // ============================================================================
38
- /**
39
- * Get a single node instance by ID
40
- *
41
- * @param ast - Workflow to query
42
- * @param nodeId - ID of node to retrieve
43
- * @returns Node instance or undefined
44
- *
45
- * @example
46
- * ```typescript
47
- * const node = getNode(workflow, 'processor1');
48
- * if (node) {
49
- * console.log(`Node type: ${node.nodeType}`);
50
- * }
51
- * ```
52
- */
53
- export function getNode(ast, nodeId) {
54
- return ast.instances.find((n) => n.id === nodeId);
55
- }
56
- /**
57
- * Get all node instances, optionally filtered
58
- *
59
- * @param ast - Workflow to query
60
- * @param filter - Optional filter criteria
61
- * @returns Array of matching node instances
62
- *
63
- * @example
64
- * ```typescript
65
- * // Get all nodes
66
- * const allNodes = getNodes(workflow);
67
- *
68
- * // Get nodes of specific type
69
- * const processors = getNodes(workflow, { type: 'processor' });
70
- *
71
- * // Get nodes in specific scope
72
- * const scopedNodes = getNodes(workflow, { scope: 'mainLoop' });
73
- *
74
- * // Custom filter
75
- * const configured = getNodes(workflow, {
76
- * predicate: (node) => node.config !== undefined
77
- * });
78
- * ```
79
- */
80
- export function getNodes(ast, filter) {
81
- let nodes = [...ast.instances];
82
- if (!filter) {
83
- return nodes;
84
- }
85
- // Filter by type
86
- if (filter.type) {
87
- nodes = nodes.filter((n) => n.nodeType === filter.type);
88
- }
89
- // Filter by scope
90
- if (filter.scope) {
91
- nodes = nodes.filter((n) => {
92
- if (!n.parent)
93
- return false;
94
- // Match by parent id (simple scope) or full qualified path
95
- return (n.parent.id === filter.scope ||
96
- (n.parent.scope && `${n.parent.id}.${n.parent.scope}` === filter.scope));
97
- });
98
- }
99
- // Apply custom predicate
100
- if (filter.predicate) {
101
- nodes = nodes.filter(filter.predicate);
102
- }
103
- return nodes;
104
- }
105
- /**
106
- * Get all nodes of a specific type
107
- *
108
- * @param ast - Workflow to query
109
- * @param nodeType - Node type (functionName) to filter by
110
- * @returns Array of matching node instances
111
- *
112
- * @example
113
- * ```typescript
114
- * const processors = getNodesByType(workflow, 'process');
115
- * console.log(`Found ${processors.length} processor nodes`);
116
- * ```
117
- */
118
- export function getNodesByType(ast, nodeType) {
119
- return ast.instances.filter((n) => n.nodeType === nodeType);
120
- }
121
- /**
122
- * Get all nodes in a specific scope
123
- *
124
- * @param ast - Workflow to query
125
- * @param scopeName - Name of scope
126
- * @returns Array of node instances in the scope
127
- *
128
- * @example
129
- * ```typescript
130
- * const loopNodes = getNodesInScope(workflow, 'mainLoop');
131
- * ```
132
- */
133
- export function getNodesInScope(ast, scopeName) {
134
- return ast.instances.filter((n) => {
135
- if (!n.parent)
136
- return false;
137
- // Match by parent id (simple scope) or full qualified path
138
- return (n.parent.id === scopeName ||
139
- (n.parent.scope && `${n.parent.id}.${n.parent.scope}` === scopeName));
140
- });
141
- }
142
- /**
143
- * Check if a node exists
144
- *
145
- * @param ast - Workflow to query
146
- * @param nodeId - ID of node to check
147
- * @returns True if node exists
148
- *
149
- * @example
150
- * ```typescript
151
- * if (hasNode(workflow, 'processor1')) {
152
- * console.log('Node exists');
153
- * }
154
- * ```
155
- */
156
- export function hasNode(ast, nodeId) {
157
- return ast.instances.some((n) => n.id === nodeId);
158
- }
159
- /**
160
- * Find nodes by name pattern (searches in config.label)
161
- *
162
- * @param ast - Workflow to query
163
- * @param pattern - String pattern or regex to match
164
- * @param caseSensitive - Whether to match case-sensitively (default: false)
165
- * @returns Array of matching node instances
166
- *
167
- * @example
168
- * ```typescript
169
- * // Find nodes with 'processor' in label
170
- * const nodes = findNodesByName(workflow, 'processor');
171
- *
172
- * // Case-sensitive search
173
- * const exact = findNodesByName(workflow, 'Processor', true);
174
- *
175
- * // Regex search
176
- * const regex = findNodesByName(workflow, /^proc-\d+$/);
177
- * ```
178
- */
179
- export function findNodesByName(ast, pattern, caseSensitive = false) {
180
- const regex = typeof pattern === 'string' ? new RegExp(pattern, caseSensitive ? '' : 'i') : pattern;
181
- return ast.instances.filter((node) => {
182
- // Check node ID
183
- if (regex.test(node.id)) {
184
- return true;
185
- }
186
- // Check config label if present
187
- if (node.config?.label && regex.test(node.config.label)) {
188
- return true;
189
- }
190
- return false;
191
- });
192
- }
193
- // ============================================================================
194
- // CONNECTION QUERIES
195
- // ============================================================================
196
- /**
197
- * Get all connections, optionally filtered by node
198
- *
199
- * @param ast - Workflow to query
200
- * @param nodeId - Optional node ID to filter connections
201
- * @returns Array of connections
202
- *
203
- * @example
204
- * ```typescript
205
- * // Get all connections
206
- * const allConnections = getConnections(workflow);
207
- *
208
- * // Get all connections involving a specific node
209
- * const nodeConnections = getConnections(workflow, 'processor1');
210
- * ```
211
- */
212
- export function getConnections(ast, nodeId) {
213
- if (!nodeId) {
214
- return [...ast.connections];
215
- }
216
- return ast.connections.filter((conn) => conn.from.node === nodeId || conn.to.node === nodeId);
217
- }
218
- /**
219
- * Get all incoming connections to a node or port
220
- *
221
- * @param ast - Workflow to query
222
- * @param nodeId - Target node ID
223
- * @param portName - Optional port name to filter
224
- * @returns Array of incoming connections
225
- *
226
- * @example
227
- * ```typescript
228
- * // Get all connections to a node
229
- * const incoming = getIncomingConnections(workflow, 'processor1');
230
- *
231
- * // Get connections to specific port
232
- * const inputConns = getIncomingConnections(workflow, 'processor1', 'input');
233
- * ```
234
- */
235
- export function getIncomingConnections(ast, nodeId, portName) {
236
- return ast.connections.filter((conn) => {
237
- if (conn.to.node !== nodeId) {
238
- return false;
239
- }
240
- if (portName && conn.to.port !== portName) {
241
- return false;
242
- }
243
- return true;
244
- });
245
- }
246
- /**
247
- * Get all outgoing connections from a node or port
248
- *
249
- * @param ast - Workflow to query
250
- * @param nodeId - Source node ID
251
- * @param portName - Optional port name to filter
252
- * @returns Array of outgoing connections
253
- *
254
- * @example
255
- * ```typescript
256
- * // Get all connections from a node
257
- * const outgoing = getOutgoingConnections(workflow, 'processor1');
258
- *
259
- * // Get connections from specific port
260
- * const outputConns = getOutgoingConnections(workflow, 'processor1', 'output');
261
- * ```
262
- */
263
- export function getOutgoingConnections(ast, nodeId, portName) {
264
- return ast.connections.filter((conn) => {
265
- if (conn.from.node !== nodeId) {
266
- return false;
267
- }
268
- if (portName && conn.from.port !== portName) {
269
- return false;
270
- }
271
- return true;
272
- });
273
- }
274
- /**
275
- * Check if two ports are connected
276
- *
277
- * @param ast - Workflow to query
278
- * @param from - Source port reference (string or object)
279
- * @param to - Target port reference (string or object)
280
- * @returns True if connected
281
- *
282
- * @example
283
- * ```typescript
284
- * if (isConnected(workflow, 'node1.output', 'node2.input')) {
285
- * console.log('Nodes are connected');
286
- * }
287
- * ```
288
- */
289
- export function isConnected(ast, from, to) {
290
- const fromRef = typeof from === 'string' ? { node: from.split('.')[0], port: from.split('.')[1] } : from;
291
- const toRef = typeof to === 'string' ? { node: to.split('.')[0], port: to.split('.')[1] } : to;
292
- return ast.connections.some((conn) => portReferencesEqual(conn.from, fromRef) && portReferencesEqual(conn.to, toRef));
293
- }
294
- /**
295
- * Get all ports connected to a node
296
- *
297
- * @param ast - Workflow to query
298
- * @param nodeId - Node ID to check
299
- * @returns Object with incoming and outgoing port references
300
- *
301
- * @example
302
- * ```typescript
303
- * const ports = getConnectedPorts(workflow, 'processor1');
304
- * console.log('Incoming:', ports.incoming);
305
- * console.log('Outgoing:', ports.outgoing);
306
- * ```
307
- */
308
- export function getConnectedPorts(ast, nodeId) {
309
- const incoming = ast.connections.filter((conn) => conn.to.node === nodeId).map((conn) => conn.to);
310
- const outgoing = ast.connections
311
- .filter((conn) => conn.from.node === nodeId)
312
- .map((conn) => conn.from);
313
- return { incoming, outgoing };
314
- }
315
- /**
316
- * Get all unconnected ports for a node
317
- *
318
- * @param ast - Workflow to query
319
- * @param nodeId - Node ID to check
320
- * @returns Object with unconnected input and output port names
321
- *
322
- * @example
323
- * ```typescript
324
- * const unconnected = getUnconnectedPorts(workflow, 'processor1');
325
- * console.log('Unconnected inputs:', unconnected.inputs);
326
- * console.log('Unconnected outputs:', unconnected.outputs);
327
- * ```
328
- */
329
- export function getUnconnectedPorts(ast, nodeId) {
330
- const node = ast.instances.find((n) => n.id === nodeId);
331
- if (!node) {
332
- return { inputs: [], outputs: [] };
333
- }
334
- const nodeType = ast.nodeTypes.find((nt) => nt.name === node.nodeType || nt.functionName === node.nodeType);
335
- if (!nodeType) {
336
- return { inputs: [], outputs: [] };
337
- }
338
- // Get connected ports
339
- const connectedInputs = new Set(ast.connections.filter((conn) => conn.to.node === nodeId).map((conn) => conn.to.port));
340
- const connectedOutputs = new Set(ast.connections.filter((conn) => conn.from.node === nodeId).map((conn) => conn.from.port));
341
- // Find unconnected ports
342
- const inputs = Object.keys(nodeType.inputs).filter((port) => !connectedInputs.has(port));
343
- const outputs = Object.keys(nodeType.outputs).filter((port) => !connectedOutputs.has(port));
344
- return { inputs, outputs };
345
- }
346
- // ============================================================================
347
- // DEPENDENCY ANALYSIS
348
- // ============================================================================
349
- /**
350
- * Get direct dependencies of a node (nodes that feed into it)
351
- *
352
- * @param ast - Workflow to query
353
- * @param nodeId - Node ID to analyze
354
- * @returns Array of node IDs that this node depends on
355
- *
356
- * @example
357
- * ```typescript
358
- * const deps = getDependencies(workflow, 'processor1');
359
- * console.log('Direct dependencies:', deps);
360
- * ```
361
- */
362
- export function getDependencies(ast, nodeId) {
363
- const deps = new Set();
364
- getMainFlowConnections(ast).forEach((conn) => {
365
- if (conn.to.node === nodeId && conn.from.node !== 'Start') {
366
- deps.add(conn.from.node);
367
- }
368
- });
369
- return Array.from(deps);
370
- }
371
- /**
372
- * Get data-only dependencies of a node (excludes control flow connections)
373
- *
374
- * @param ast - Workflow to query
375
- * @param nodeId - Node ID to analyze
376
- * @returns Array of node IDs that provide data inputs to this node
377
- */
378
- export function getDataDependencies(ast, nodeId) {
379
- const deps = new Set();
380
- const instanceTypeMap = new Map();
381
- for (const inst of ast.instances) {
382
- // Check both name (for npm nodes like 'npm/pkg/func') and functionName (for local nodes)
383
- const nt = ast.nodeTypes.find((t) => t.name === inst.nodeType || t.functionName === inst.nodeType);
384
- if (nt)
385
- instanceTypeMap.set(inst.id, nt);
386
- }
387
- getMainFlowConnections(ast).forEach((conn) => {
388
- if (conn.to.node === nodeId) {
389
- if (conn.from.node === 'Start') {
390
- // Include Start only when it provides data (not just execute)
391
- if (conn.from.port !== 'execute') {
392
- deps.add(conn.from.node);
393
- }
394
- return;
395
- }
396
- const sourceNodeType = instanceTypeMap.get(conn.from.node);
397
- if (sourceNodeType) {
398
- const sourcePort = sourceNodeType.outputs[conn.from.port];
399
- if (sourcePort && (sourcePort.isControlFlow || sourcePort.dataType === 'STEP')) {
400
- return; // Skip control flow connections
401
- }
402
- }
403
- deps.add(conn.from.node);
404
- }
405
- });
406
- return Array.from(deps);
407
- }
408
- /**
409
- * Get direct dependents of a node (nodes that consume its output)
410
- *
411
- * @param ast - Workflow to query
412
- * @param nodeId - Node ID to analyze
413
- * @returns Array of node IDs that depend on this node
414
- *
415
- * @example
416
- * ```typescript
417
- * const dependents = getDependents(workflow, 'processor1');
418
- * console.log('Direct dependents:', dependents);
419
- * ```
420
- */
421
- export function getDependents(ast, nodeId) {
422
- const dependents = new Set();
423
- getMainFlowConnections(ast).forEach((conn) => {
424
- if (conn.from.node === nodeId && conn.to.node !== 'Exit') {
425
- dependents.add(conn.to.node);
426
- }
427
- });
428
- return Array.from(dependents);
429
- }
430
- /**
431
- * Get transitive dependencies (all upstream nodes)
432
- *
433
- * @param ast - Workflow to query
434
- * @param nodeId - Node ID to analyze
435
- * @returns Array of all node IDs in the dependency chain
436
- *
437
- * @example
438
- * ```typescript
439
- * const allDeps = getTransitiveDependencies(workflow, 'finalProcessor');
440
- * console.log('All upstream nodes:', allDeps);
441
- * ```
442
- */
443
- export function getTransitiveDependencies(ast, nodeId) {
444
- const visited = new Set();
445
- const queue = [nodeId];
446
- while (queue.length > 0) {
447
- const current = queue.shift();
448
- if (visited.has(current)) {
449
- continue;
450
- }
451
- visited.add(current);
452
- const deps = getDependencies(ast, current);
453
- deps.forEach((dep) => {
454
- if (!visited.has(dep)) {
455
- queue.push(dep);
456
- }
457
- });
458
- }
459
- // Remove the original node from results
460
- visited.delete(nodeId);
461
- return Array.from(visited);
462
- }
463
- /**
464
- * Find a path between two nodes (BFS)
465
- *
466
- * @param ast - Workflow to query
467
- * @param fromNodeId - Source node ID
468
- * @param toNodeId - Target node ID
469
- * @returns Array of node IDs representing the path, or null if no path exists
470
- *
471
- * @example
472
- * ```typescript
473
- * const path = findPath(workflow, 'input', 'output');
474
- * if (path) {
475
- * console.log('Path:', path.join(' → '));
476
- * } else {
477
- * console.log('No path exists');
478
- * }
479
- * ```
480
- */
481
- export function findPath(ast, fromNodeId, toNodeId) {
482
- if (fromNodeId === toNodeId) {
483
- return [fromNodeId];
484
- }
485
- const visited = new Set();
486
- const queue = [{ node: fromNodeId, path: [fromNodeId] }];
487
- while (queue.length > 0) {
488
- const { node: current, path } = queue.shift();
489
- if (visited.has(current)) {
490
- continue;
491
- }
492
- visited.add(current);
493
- // Check if we reached the target
494
- if (current === toNodeId) {
495
- return path;
496
- }
497
- // Add all dependents to queue
498
- const dependents = getDependents(ast, current);
499
- dependents.forEach((dep) => {
500
- if (!visited.has(dep)) {
501
- queue.push({ node: dep, path: [...path, dep] });
502
- }
503
- });
504
- }
505
- return null; // No path found
506
- }
507
- /**
508
- * Get topological order of all nodes (for execution planning)
509
- *
510
- * @param ast - Workflow to query
511
- * @returns Array of node IDs in topological order
512
- * @throws {Error} If workflow contains cycles
513
- *
514
- * @example
515
- * ```typescript
516
- * try {
517
- * const order = getTopologicalOrder(workflow);
518
- * console.log('Execution order:', order);
519
- * } catch (error) {
520
- * console.error('Workflow has cycles!');
521
- * }
522
- * ```
523
- */
524
- export function getTopologicalOrder(ast, options) {
525
- const mainInstances = getMainFlowInstances(ast);
526
- const mainConnections = getMainFlowConnections(ast);
527
- const inDegree = new Map();
528
- const adjacency = new Map();
529
- // Initialize with main-flow instances only
530
- mainInstances.forEach((node) => {
531
- inDegree.set(node.id, 0);
532
- adjacency.set(node.id, []);
533
- });
534
- // Build graph from main-flow connections only
535
- mainConnections.forEach((conn) => {
536
- if (conn.from.node !== 'Start' && conn.to.node !== 'Exit') {
537
- const from = conn.from.node;
538
- const to = conn.to.node;
539
- adjacency.get(from)?.push(to);
540
- inDegree.set(to, (inDegree.get(to) || 0) + 1);
541
- }
542
- });
543
- // Kahn's algorithm
544
- const queue = [];
545
- const result = [];
546
- // Start with nodes that have no dependencies
547
- inDegree.forEach((degree, node) => {
548
- if (degree === 0) {
549
- queue.push(node);
550
- }
551
- });
552
- while (queue.length > 0) {
553
- const current = queue.shift();
554
- result.push(current);
555
- const neighbors = adjacency.get(current) || [];
556
- neighbors.forEach((neighbor) => {
557
- const newDegree = (inDegree.get(neighbor) || 0) - 1;
558
- inDegree.set(neighbor, newDegree);
559
- if (newDegree === 0) {
560
- queue.push(neighbor);
561
- }
562
- });
563
- }
564
- // Check for cycles (compare against main-flow instances, not all instances)
565
- if (result.length !== mainInstances.length) {
566
- throw new Error('Cannot compute topological order: workflow contains cycles');
567
- }
568
- // Optionally append scoped children (for debug: breakpoints need to know about them)
569
- if (options?.includeScopedChildren) {
570
- const scopedChildren = ast.instances.filter((inst) => isPerPortScopedChild(inst, ast, ast.nodeTypes));
571
- // Append scoped children after their parent node in the result
572
- const expanded = [];
573
- const scopedByParent = new Map();
574
- for (const child of scopedChildren) {
575
- if (child.parent) {
576
- const parentId = child.parent.id;
577
- if (!scopedByParent.has(parentId)) {
578
- scopedByParent.set(parentId, []);
579
- }
580
- scopedByParent.get(parentId).push(child.id);
581
- }
582
- }
583
- for (const nodeId of result) {
584
- expanded.push(nodeId);
585
- const children = scopedByParent.get(nodeId);
586
- if (children) {
587
- expanded.push(...children);
588
- }
589
- }
590
- return expanded;
591
- }
592
- return result;
593
- }
594
- /**
595
- * Group nodes by execution level (nodes at same level can execute in parallel)
596
- *
597
- * @param ast - Workflow to query
598
- * @returns Array of arrays, where each sub-array contains node IDs at that level
599
- * @throws {Error} If workflow contains cycles
600
- *
601
- * @example
602
- * ```typescript
603
- * const groups = getExecutionGroups(workflow);
604
- * groups.forEach((group, level) => {
605
- * console.log(`Level ${level}:`, group.join(', '));
606
- * });
607
- * ```
608
- */
609
- export function getExecutionGroups(ast) {
610
- const mainInstances = getMainFlowInstances(ast);
611
- const mainConnections = getMainFlowConnections(ast);
612
- const inDegree = new Map();
613
- const adjacency = new Map();
614
- // Initialize with main-flow instances only
615
- mainInstances.forEach((node) => {
616
- inDegree.set(node.id, 0);
617
- adjacency.set(node.id, []);
618
- });
619
- // Build graph from main-flow connections only
620
- mainConnections.forEach((conn) => {
621
- if (conn.from.node !== 'Start' && conn.to.node !== 'Exit') {
622
- const from = conn.from.node;
623
- const to = conn.to.node;
624
- adjacency.get(from)?.push(to);
625
- inDegree.set(to, (inDegree.get(to) || 0) + 1);
626
- }
627
- });
628
- // Level-based BFS
629
- const groups = [];
630
- let currentLevel = Array.from(inDegree.entries())
631
- .filter(([_, degree]) => degree === 0)
632
- .map(([node, _]) => node);
633
- const processed = new Set();
634
- while (currentLevel.length > 0) {
635
- groups.push([...currentLevel]);
636
- const nextLevel = new Set();
637
- currentLevel.forEach((node) => {
638
- processed.add(node);
639
- const neighbors = adjacency.get(node) || [];
640
- neighbors.forEach((neighbor) => {
641
- const newDegree = (inDegree.get(neighbor) || 0) - 1;
642
- inDegree.set(neighbor, newDegree);
643
- if (newDegree === 0 && !processed.has(neighbor)) {
644
- nextLevel.add(neighbor);
645
- }
646
- });
647
- });
648
- currentLevel = Array.from(nextLevel);
649
- }
650
- // Check for cycles (compare against main-flow instances, not all instances)
651
- if (processed.size !== mainInstances.length) {
652
- throw new Error('Cannot compute execution groups: workflow contains cycles');
653
- }
654
- return groups;
655
- }
656
- // ============================================================================
657
- // STATISTICS
658
- // ============================================================================
659
- /**
660
- * Count nodes, optionally filtered
661
- *
662
- * @param ast - Workflow to query
663
- * @param filter - Optional filter criteria
664
- * @returns Number of matching nodes
665
- *
666
- * @example
667
- * ```typescript
668
- * const total = countNodes(workflow);
669
- * const processors = countNodes(workflow, { type: 'process' });
670
- * ```
671
- */
672
- export function countNodes(ast, filter) {
673
- return getNodes(ast, filter).length;
674
- }
675
- /**
676
- * Count connections, optionally for a specific node
677
- *
678
- * @param ast - Workflow to query
679
- * @param nodeId - Optional node ID to filter
680
- * @returns Number of connections
681
- *
682
- * @example
683
- * ```typescript
684
- * const total = countConnections(workflow);
685
- * const nodeConns = countConnections(workflow, 'processor1');
686
- * ```
687
- */
688
- export function countConnections(ast, nodeId) {
689
- return getConnections(ast, nodeId).length;
690
- }
691
- /**
692
- * Count node types defined in workflow
693
- *
694
- * @param ast - Workflow to query
695
- * @returns Number of node type definitions
696
- *
697
- * @example
698
- * ```typescript
699
- * const typeCount = countNodeTypes(workflow);
700
- * ```
701
- */
702
- export function countNodeTypes(ast) {
703
- return ast.nodeTypes.length;
704
- }
705
- /**
706
- * Find isolated nodes (no connections)
707
- *
708
- * @param ast - Workflow to query
709
- * @returns Array of isolated node IDs
710
- *
711
- * @example
712
- * ```typescript
713
- * const isolated = findIsolatedNodes(workflow);
714
- * if (isolated.length > 0) {
715
- * console.warn('Isolated nodes:', isolated);
716
- * }
717
- * ```
718
- */
719
- export function findIsolatedNodes(ast) {
720
- const mainConnections = getMainFlowConnections(ast);
721
- return getMainFlowInstances(ast)
722
- .filter((node) => {
723
- const hasConnections = mainConnections.some((conn) => conn.from.node === node.id || conn.to.node === node.id);
724
- return !hasConnections;
725
- })
726
- .map((node) => node.id);
727
- }
728
- /**
729
- * Find unused node types (no instances)
730
- *
731
- * @param ast - Workflow to query
732
- * @returns Array of unused node type names
733
- *
734
- * @example
735
- * ```typescript
736
- * const unused = findUnusedNodeTypes(workflow);
737
- * if (unused.length > 0) {
738
- * console.warn('Unused node types:', unused);
739
- * }
740
- * ```
741
- */
742
- export function findUnusedNodeTypes(ast) {
743
- const usedTypes = new Set(ast.instances.map((n) => n.nodeType));
744
- return ast.nodeTypes.filter((nt) => !usedTypes.has(nt.functionName)).map((nt) => nt.name);
745
- }
746
- /**
747
- * Find dead-end nodes (output never reaches Exit)
748
- *
749
- * @param ast - Workflow to query
750
- * @returns Array of dead-end node IDs
751
- *
752
- * @example
753
- * ```typescript
754
- * const deadEnds = findDeadEnds(workflow);
755
- * if (deadEnds.length > 0) {
756
- * console.warn('Dead-end nodes:', deadEnds);
757
- * }
758
- * ```
759
- */
760
- export function findDeadEnds(ast) {
761
- const deadEnds = [];
762
- const mainConnections = getMainFlowConnections(ast);
763
- getMainFlowInstances(ast).forEach((node) => {
764
- // Check if there's a path from this node to Exit
765
- const hasPathToExit = mainConnections.some((conn) => {
766
- if (conn.from.node === node.id && conn.to.node === 'Exit') {
767
- return true;
768
- }
769
- // Check indirect paths via DFS
770
- const visited = new Set();
771
- const stack = [node.id];
772
- while (stack.length > 0) {
773
- const current = stack.pop();
774
- if (visited.has(current)) {
775
- continue;
776
- }
777
- visited.add(current);
778
- // Check if current connects to Exit (using main flow connections)
779
- const toExit = mainConnections.some((c) => c.from.node === current && c.to.node === 'Exit');
780
- if (toExit) {
781
- return true;
782
- }
783
- // Add dependents to stack (getDependents already uses main flow connections)
784
- const deps = getDependents(ast, current);
785
- deps.forEach((dep) => stack.push(dep));
786
- }
787
- return false;
788
- });
789
- if (!hasPathToExit) {
790
- deadEnds.push(node.id);
791
- }
792
- });
793
- return deadEnds;
794
- }
795
- /**
796
- * Find output ports that are not connected to anything.
797
- * Excludes control flow ports (onSuccess/onFailure) and scoped ports.
798
- *
799
- * @param ast - Workflow to query
800
- * @returns Array of objects with nodeId and their disconnected output port names
801
- */
802
- /**
803
- * Find dead-end details: both dead-end nodes and disconnected output ports.
804
- * Combines findDeadEnds() and findDisconnectedOutputPorts() into a single result.
805
- *
806
- * @param ast - Workflow to query
807
- * @returns Object with deadEndNodes and disconnectedOutputs
808
- */
809
- export function findDeadEndDetails(ast) {
810
- return {
811
- deadEndNodes: findDeadEnds(ast),
812
- disconnectedOutputs: findDisconnectedOutputPorts(ast),
813
- };
814
- }
815
- export function findDisconnectedOutputPorts(ast) {
816
- const connectedOutputPorts = new Set();
817
- getMainFlowConnections(ast).forEach((conn) => {
818
- connectedOutputPorts.add(`${conn.from.node}.${conn.from.port}`);
819
- });
820
- const results = [];
821
- for (const instance of getMainFlowInstances(ast)) {
822
- // Check both name (for npm nodes like 'npm/pkg/func') and functionName (for local nodes)
823
- const nodeType = ast.nodeTypes.find((nt) => nt.name === instance.nodeType || nt.functionName === instance.nodeType);
824
- if (!nodeType)
825
- continue;
826
- const disconnectedPorts = [];
827
- for (const [portName, portDef] of Object.entries(nodeType.outputs)) {
828
- if (portDef.isControlFlow || portDef.failure || portDef.scope)
829
- continue;
830
- if (!connectedOutputPorts.has(`${instance.id}.${portName}`)) {
831
- disconnectedPorts.push(portName);
832
- }
833
- }
834
- if (disconnectedPorts.length > 0) {
835
- results.push({ nodeId: instance.id, ports: disconnectedPorts });
836
- }
837
- }
838
- return results;
839
- }
840
- //# sourceMappingURL=query.js.map