@synergenius/flow-weaver 0.33.2 → 0.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (922) hide show
  1. package/LICENSE +201 -226
  2. package/NOTICE +13 -0
  3. package/README.md +152 -245
  4. package/dist/agent/agent-loop.d.ts +4 -2
  5. package/dist/agent/cli-session.d.ts +3 -3
  6. package/dist/agent/cli-session.js +511 -438
  7. package/dist/agent/cli-spawn-config.d.ts +4 -4
  8. package/dist/agent/gate.d.ts +164 -0
  9. package/dist/agent/index.d.ts +4 -4
  10. package/dist/agent/index.js +174 -28
  11. package/dist/agent/mcp-bridge.d.ts +1 -1
  12. package/dist/agent/mcp-bridge.js +114 -128
  13. package/dist/agent/mcp-tool-server.d.ts +2 -2
  14. package/dist/agent/mcp-tool-server.js +147 -189
  15. package/dist/agent/profiles.d.ts +69 -0
  16. package/dist/agent/providers/anthropic.d.ts +2 -4
  17. package/dist/agent/providers/claude-cli.d.ts +4 -5
  18. package/dist/agent/providers/openai-compat.d.ts +8 -1
  19. package/dist/agent/streaming.d.ts +2 -2
  20. package/dist/agent/types.d.ts +16 -10
  21. package/dist/api/builder.d.ts +3 -3
  22. package/dist/api/compile.d.ts +9 -4
  23. package/dist/api/durable-validation.d.ts +15 -0
  24. package/dist/api/generate-in-place.d.ts +21 -19
  25. package/dist/api/generate.d.ts +21 -16
  26. package/dist/api/generated-module/local-node-functions.d.ts +24 -0
  27. package/dist/api/generated-module/module-format.d.ts +23 -0
  28. package/dist/api/generated-module/module-writer.d.ts +34 -0
  29. package/dist/api/generated-module/node-type-imports.d.ts +39 -0
  30. package/dist/api/generated-module/preamble.d.ts +16 -0
  31. package/dist/api/generated-module/workflow-functions.d.ts +29 -0
  32. package/dist/api/graph-identity.d.ts +39 -0
  33. package/dist/api/helpers.d.ts +4 -60
  34. package/dist/api/in-place/built-in-nodes.d.ts +18 -0
  35. package/dist/api/in-place/function-body.d.ts +21 -0
  36. package/dist/api/in-place/fw-imports.d.ts +30 -0
  37. package/dist/api/in-place/macro-coverage.d.ts +14 -0
  38. package/dist/api/in-place/node-type-functions.d.ts +18 -0
  39. package/dist/api/in-place/node-type-jsdoc.d.ts +20 -0
  40. package/dist/api/in-place/orphaned-node-types.d.ts +16 -0
  41. package/dist/api/in-place/runtime-section.d.ts +16 -0
  42. package/dist/api/in-place/signature.d.ts +47 -0
  43. package/dist/api/in-place/source-file.d.ts +19 -0
  44. package/dist/api/in-place/workflow-jsdoc.d.ts +19 -0
  45. package/dist/api/index.d.ts +18 -21
  46. package/dist/api/index.js +259 -53
  47. package/dist/api/inline-engine.generated.d.ts +3 -0
  48. package/dist/api/inline-runtime.d.ts +10 -2
  49. package/dist/api/manipulation/connections.d.ts +1 -1
  50. package/dist/api/manipulation/index.d.ts +8 -8
  51. package/dist/api/manipulation/node-types.d.ts +1 -1
  52. package/dist/api/manipulation/nodes.d.ts +3 -13
  53. package/dist/api/manipulation/ports.d.ts +1 -1
  54. package/dist/api/manipulation/scopes.d.ts +1 -1
  55. package/dist/api/manipulation/workflow.d.ts +1 -1
  56. package/dist/api/modify-operation.d.ts +0 -2
  57. package/dist/api/parse.d.ts +22 -1
  58. package/dist/api/port-references.d.ts +66 -0
  59. package/dist/api/query.d.ts +18 -2
  60. package/dist/api/templates.d.ts +1 -1
  61. package/dist/api/transform.d.ts +1 -1
  62. package/dist/api/validate.d.ts +1 -1
  63. package/dist/api/validation-registry.d.ts +2 -2
  64. package/dist/artifacts/brief.d.ts +43 -0
  65. package/dist/artifacts/index.d.ts +31 -0
  66. package/dist/artifacts/pdf.d.ts +19 -0
  67. package/dist/ast/builder.d.ts +3 -3
  68. package/dist/ast/index.d.ts +4 -4
  69. package/dist/ast/index.js +60 -5
  70. package/dist/ast/serialization-node.d.ts +1 -1
  71. package/dist/ast/serialization.d.ts +1 -1
  72. package/dist/ast/types.d.ts +82 -291
  73. package/dist/ast/workflow-utils.d.ts +4 -4
  74. package/dist/built-in-nodes/coercion-types.d.ts +1 -1
  75. package/dist/built-in-nodes/delay.d.ts +3 -1
  76. package/dist/built-in-nodes/generated-registry.d.ts +1 -1
  77. package/dist/built-in-nodes/index.d.ts +6 -5
  78. package/dist/built-in-nodes/index.js +79 -5
  79. package/dist/built-in-nodes/invoke-workflow.d.ts +2 -1
  80. package/dist/built-in-nodes/mock-types.d.ts +45 -14
  81. package/dist/built-in-nodes/sleep.d.ts +12 -0
  82. package/dist/built-in-nodes/wait-for-agent.d.ts +2 -1
  83. package/dist/built-in-nodes/wait-for-event.d.ts +2 -1
  84. package/dist/chevrotain-parser/coerce-parser.d.ts +1 -1
  85. package/dist/chevrotain-parser/connect-parser.d.ts +1 -1
  86. package/dist/chevrotain-parser/grammar-diagrams.d.ts +1 -1
  87. package/dist/chevrotain-parser/index.d.ts +20 -23
  88. package/dist/chevrotain-parser/node-parser.d.ts +7 -8
  89. package/dist/chevrotain-parser/parse-line.d.ts +54 -0
  90. package/dist/chevrotain-parser/tokens.d.ts +0 -17
  91. package/dist/chevrotain-parser/trigger-cancel-parser.d.ts +6 -1
  92. package/dist/chunks/chunk-4EUSHAY6.js +298 -0
  93. package/dist/chunks/chunk-4KDUEOFD.js +197 -0
  94. package/dist/chunks/chunk-5Y3AIUWY.js +911 -0
  95. package/dist/chunks/chunk-6KMVP6AU.js +20 -0
  96. package/dist/chunks/chunk-6PNJORFL.js +128 -0
  97. package/dist/chunks/chunk-7AAQNGRH.js +2001 -0
  98. package/dist/chunks/chunk-7YYKTPJ5.js +22705 -0
  99. package/dist/chunks/chunk-A5MBOFVY.js +33 -0
  100. package/dist/chunks/chunk-AXNQRVJB.js +18 -0
  101. package/dist/chunks/chunk-B6HQ6YS5.js +572 -0
  102. package/dist/chunks/chunk-CY3RNVML.js +296 -0
  103. package/dist/chunks/chunk-CYHYDLV4.js +653 -0
  104. package/dist/chunks/chunk-CZBCCK4Y.js +82 -0
  105. package/dist/chunks/chunk-DCMGQP5V.js +505 -0
  106. package/dist/chunks/chunk-DIAA66GL.js +72 -0
  107. package/dist/chunks/chunk-DUO6H5PR.js +20 -0
  108. package/dist/chunks/chunk-E5WN7IGO.js +125 -0
  109. package/dist/chunks/chunk-EFGFXXQF.js +184 -0
  110. package/dist/chunks/chunk-F3RTZV2A.js +2811 -0
  111. package/dist/chunks/chunk-FMTLP5ZX.js +1397 -0
  112. package/dist/chunks/chunk-HKZLQJDV.js +79 -0
  113. package/dist/chunks/chunk-INDEVYEC.js +146 -0
  114. package/dist/chunks/chunk-JQTF4R5L.js +390 -0
  115. package/dist/chunks/chunk-KMCAYNUM.js +331 -0
  116. package/dist/chunks/chunk-KMWCCOUJ.js +1444 -0
  117. package/dist/chunks/chunk-KU3CLJI2.js +338 -0
  118. package/dist/chunks/chunk-NDSTGMKR.js +3300 -0
  119. package/dist/chunks/chunk-NQNLUAPO.js +505 -0
  120. package/dist/chunks/chunk-O2U2LO57.js +466 -0
  121. package/dist/chunks/chunk-OOQG7UPP.js +457 -0
  122. package/dist/chunks/chunk-OZQAW5ZG.js +112 -0
  123. package/dist/chunks/chunk-P2CVDGHR.js +487 -0
  124. package/dist/chunks/chunk-P44RIZ7C.js +592 -0
  125. package/dist/chunks/chunk-PEZCT37T.js +1475 -0
  126. package/dist/chunks/chunk-PKWSAW6O.js +152 -0
  127. package/dist/chunks/chunk-Q6MDDZMT.js +4373 -0
  128. package/dist/chunks/chunk-QDE4Z7KW.js +6 -0
  129. package/dist/chunks/chunk-QJDAVSNY.js +8 -0
  130. package/dist/chunks/chunk-QYPORSLO.js +7552 -0
  131. package/dist/chunks/chunk-R4QGNK34.js +183 -0
  132. package/dist/chunks/chunk-REEYC73I.js +3002 -0
  133. package/dist/chunks/chunk-SEWDMQ6Q.js +46 -0
  134. package/dist/chunks/chunk-TAIUWKZB.js +3057 -0
  135. package/dist/chunks/chunk-TN4YZ3O7.js +196 -0
  136. package/dist/chunks/chunk-TRMFB43C.js +143 -0
  137. package/dist/chunks/chunk-VO4QXG2X.js +1016 -0
  138. package/dist/chunks/chunk-VP2P3BPA.js +1002 -0
  139. package/dist/chunks/chunk-VQ7H33J4.js +2176 -0
  140. package/dist/chunks/chunk-VWA7MCV2.js +105 -0
  141. package/dist/chunks/chunk-XAV22WD7.js +253 -0
  142. package/dist/chunks/chunk-YSPBPZDV.js +148 -0
  143. package/dist/chunks/chunk-ZKEGXO73.js +282 -0
  144. package/dist/chunks/chunk-ZMGN6F3S.js +4256 -0
  145. package/dist/chunks/grammar-diagrams-AI7VDXOM.js +14 -0
  146. package/dist/chunks/index.min-ECJD6GZC.js +37 -0
  147. package/dist/chunks/manifest-EPTR5MYH.js +21 -0
  148. package/dist/chunks/openapi-document-6TCGVDUW.js +69 -0
  149. package/dist/chunks/registry-K2U5KUTY.js +23 -0
  150. package/dist/chunks/serialization-node-UGY6CFH6.js +38 -0
  151. package/dist/chunks/validate-GEKSZPIN.js +24 -0
  152. package/dist/chunks/validation-registry-IQZX3UE3.js +7 -0
  153. package/dist/chunks/validator-VXFHLPDW.js +26 -0
  154. package/dist/chunks/workflow-executor-KBGFKHNR.js +36 -0
  155. package/dist/cli/commands/agents.d.ts +16 -0
  156. package/dist/cli/commands/artifact.d.ts +10 -0
  157. package/dist/cli/commands/compile.d.ts +0 -30
  158. package/dist/cli/commands/console.d.ts +32 -0
  159. package/dist/cli/commands/context.d.ts +0 -3
  160. package/dist/cli/commands/describe.js +386 -352
  161. package/dist/cli/commands/dev.d.ts +9 -4
  162. package/dist/cli/commands/diagram.d.ts +3 -5
  163. package/dist/cli/commands/doctor.d.ts +27 -4
  164. package/dist/cli/commands/doctor.js +3307 -633
  165. package/dist/cli/commands/export.d.ts +6 -4
  166. package/dist/cli/commands/grammar.d.ts +0 -3
  167. package/dist/cli/commands/implement.d.ts +1 -1
  168. package/dist/cli/commands/init/agent-handoff.d.ts +28 -0
  169. package/dist/cli/commands/init/config.d.ts +3 -0
  170. package/dist/cli/commands/init/files.d.ts +12 -0
  171. package/dist/cli/commands/init/naming.d.ts +13 -0
  172. package/dist/cli/commands/init/output.d.ts +12 -0
  173. package/dist/cli/commands/init/setup.d.ts +21 -0
  174. package/dist/cli/commands/init/types.d.ts +53 -0
  175. package/dist/cli/commands/init-personas.d.ts +9 -1
  176. package/dist/cli/commands/init.d.ts +24 -88
  177. package/dist/cli/commands/market.d.ts +1 -1
  178. package/dist/cli/commands/mcp-setup.d.ts +1 -4
  179. package/dist/cli/commands/modify.d.ts +0 -5
  180. package/dist/cli/commands/openapi.d.ts +9 -11
  181. package/dist/cli/commands/run.d.ts +0 -4
  182. package/dist/cli/commands/serve.d.ts +24 -26
  183. package/dist/cli/commands/status.d.ts +1 -1
  184. package/dist/cli/exports.d.ts +3 -4
  185. package/dist/cli/exports.js +124 -23
  186. package/dist/cli/flow-weaver-agents-H653446S.mjs +81 -0
  187. package/dist/cli/flow-weaver-artifact-WBFYTW76.mjs +58 -0
  188. package/dist/cli/flow-weaver-chunk-265CEK74.mjs +2 -0
  189. package/dist/cli/flow-weaver-chunk-2C7PZCV5.mjs +186 -0
  190. package/dist/cli/flow-weaver-chunk-3BSYCWPL.mjs +3109 -0
  191. package/dist/cli/flow-weaver-chunk-3MKUQP3D.mjs +547 -0
  192. package/dist/cli/flow-weaver-chunk-3ZLMPQTH.mjs +27 -0
  193. package/dist/cli/flow-weaver-chunk-4DVY73ML.mjs +280 -0
  194. package/dist/cli/flow-weaver-chunk-54M4KNEL.mjs +200 -0
  195. package/dist/cli/flow-weaver-chunk-55QMUZIA.mjs +256 -0
  196. package/dist/cli/flow-weaver-chunk-6ZUJ7LMX.mjs +2003 -0
  197. package/dist/cli/flow-weaver-chunk-7ET6N32V.mjs +419 -0
  198. package/dist/cli/flow-weaver-chunk-7G63RR4K.mjs +8880 -0
  199. package/dist/cli/flow-weaver-chunk-A6M5K3W7.mjs +4418 -0
  200. package/dist/cli/flow-weaver-chunk-AA3NATMX.mjs +154 -0
  201. package/dist/cli/flow-weaver-chunk-APX6MQ5A.mjs +5652 -0
  202. package/dist/cli/flow-weaver-chunk-BHCC5FE5.mjs +17 -0
  203. package/dist/cli/flow-weaver-chunk-DM4BBRRU.mjs +35 -0
  204. package/dist/cli/flow-weaver-chunk-DRN7KPWY.mjs +168 -0
  205. package/dist/cli/flow-weaver-chunk-EKWF27G6.mjs +23 -0
  206. package/dist/cli/flow-weaver-chunk-EM5HWQ4R.mjs +338 -0
  207. package/dist/cli/flow-weaver-chunk-FPPPU2DG.mjs +226 -0
  208. package/dist/cli/flow-weaver-chunk-GAQXZHNO.mjs +3005 -0
  209. package/dist/cli/flow-weaver-chunk-GBUNNP33.mjs +1329 -0
  210. package/dist/cli/flow-weaver-chunk-HMAKDE55.mjs +636 -0
  211. package/dist/cli/flow-weaver-chunk-HQ3ZAN44.mjs +367 -0
  212. package/dist/cli/flow-weaver-chunk-I4APCXYN.mjs +21442 -0
  213. package/dist/cli/flow-weaver-chunk-IJJ4JXTL.mjs +2297 -0
  214. package/dist/cli/flow-weaver-chunk-J7EPZW2I.mjs +33 -0
  215. package/dist/cli/flow-weaver-chunk-KOEMJHLG.mjs +83 -0
  216. package/dist/cli/flow-weaver-chunk-M6CBWQKJ.mjs +271 -0
  217. package/dist/cli/flow-weaver-chunk-MHJ4N652.mjs +1580 -0
  218. package/dist/cli/flow-weaver-chunk-MKAFQWLP.mjs +202 -0
  219. package/dist/cli/flow-weaver-chunk-MMV2XGD3.mjs +3291 -0
  220. package/dist/cli/flow-weaver-chunk-MSI2UJES.mjs +125 -0
  221. package/dist/cli/flow-weaver-chunk-N767YRAI.mjs +48 -0
  222. package/dist/cli/flow-weaver-chunk-NQKKWDGF.mjs +56 -0
  223. package/dist/cli/flow-weaver-chunk-NYZDQYFU.mjs +45 -0
  224. package/dist/cli/flow-weaver-chunk-OMVWSNHJ.mjs +14 -0
  225. package/dist/cli/flow-weaver-chunk-PUWZ47H5.mjs +2188 -0
  226. package/dist/cli/flow-weaver-chunk-QOPRVDES.mjs +46 -0
  227. package/dist/cli/flow-weaver-chunk-RIWE7YTR.mjs +216 -0
  228. package/dist/cli/flow-weaver-chunk-S63Q3JIU.mjs +789 -0
  229. package/dist/cli/flow-weaver-chunk-T7X5A23H.mjs +558 -0
  230. package/dist/cli/flow-weaver-chunk-TLV3VZUN.mjs +2 -0
  231. package/dist/cli/flow-weaver-chunk-TS5P3PIN.mjs +194 -0
  232. package/dist/cli/flow-weaver-chunk-U3EO3X4B.mjs +649 -0
  233. package/dist/cli/flow-weaver-chunk-UNFS3NQP.mjs +34 -0
  234. package/dist/cli/flow-weaver-chunk-V6DHWFQG.mjs +2811 -0
  235. package/dist/cli/flow-weaver-chunk-VXWNLYQU.mjs +9 -0
  236. package/dist/cli/flow-weaver-chunk-W3YNK26P.mjs +149 -0
  237. package/dist/cli/flow-weaver-chunk-XG2WKXYZ.mjs +324 -0
  238. package/dist/cli/flow-weaver-chunk-YLSRZWFK.mjs +2219 -0
  239. package/dist/cli/flow-weaver-chunk-YVPURWS6.mjs +40 -0
  240. package/dist/cli/flow-weaver-chunk-Z44JK332.mjs +582 -0
  241. package/dist/cli/flow-weaver-chunk-Z5ZJPNSY.mjs +517 -0
  242. package/dist/cli/flow-weaver-chunk-ZQALO25T.mjs +594 -0
  243. package/dist/cli/flow-weaver-compile-A2CABDSB.mjs +37 -0
  244. package/dist/cli/flow-weaver-console-6EBHDBTN.mjs +71 -0
  245. package/dist/cli/flow-weaver-context-ECLYANFF.mjs +17 -0
  246. package/dist/cli/flow-weaver-context-ZRUMW2KE.mjs +69 -0
  247. package/dist/cli/flow-weaver-create-WIP4EFNP.mjs +124 -0
  248. package/dist/cli/flow-weaver-deployment-WJJRK7NO.mjs +14 -0
  249. package/dist/cli/flow-weaver-describe-XDIFF5LI.mjs +41 -0
  250. package/dist/cli/flow-weaver-dev-LG2NSQAU.mjs +196 -0
  251. package/dist/cli/flow-weaver-diagram-3EVQARQE.mjs +52 -0
  252. package/dist/cli/flow-weaver-diagram-7LR7O4M2.mjs +44 -0
  253. package/dist/cli/flow-weaver-diff-USF7DJLU.mjs +85 -0
  254. package/dist/cli/flow-weaver-docs-QU2ZOXKH.mjs +96 -0
  255. package/dist/cli/flow-weaver-doctor-K447YWHR.mjs +43 -0
  256. package/dist/cli/flow-weaver-export-LAS6N56Y.mjs +140 -0
  257. package/dist/cli/flow-weaver-grammar-RIRUS3Q6.mjs +49 -0
  258. package/dist/cli/flow-weaver-grammar-diagrams-WXRTW5SK.mjs +15 -0
  259. package/dist/cli/flow-weaver-implement-5JG6BCFZ.mjs +114 -0
  260. package/dist/cli/flow-weaver-index.min-OR5SIHXD.mjs +39 -0
  261. package/dist/cli/flow-weaver-init-34YZNPQX.mjs +972 -0
  262. package/dist/cli/flow-weaver-init-personas-NOGZTQQ2.mjs +48 -0
  263. package/dist/cli/flow-weaver-manifest-4JNUSEB3.mjs +18 -0
  264. package/dist/cli/flow-weaver-market-WA4CKHKV.mjs +444 -0
  265. package/dist/cli/flow-weaver-mcp-setup-O26MGXSD.mjs +22 -0
  266. package/dist/cli/flow-weaver-migrate-VFVEUTPH.mjs +119 -0
  267. package/dist/cli/flow-weaver-modify-VM3JP5K6.mjs +97 -0
  268. package/dist/cli/flow-weaver-openapi-IRBWI3HM.mjs +71 -0
  269. package/dist/cli/flow-weaver-openapi-document-7N6YMPG3.mjs +30 -0
  270. package/dist/cli/flow-weaver-pack-commands-OS2QRXAK.mjs +146 -0
  271. package/dist/cli/flow-weaver-registry-5MLFRPPT.mjs +25 -0
  272. package/dist/cli/flow-weaver-run-DSTLSTHR.mjs +555 -0
  273. package/dist/cli/flow-weaver-serialization-node-LE6PCG4M.mjs +50 -0
  274. package/dist/cli/flow-weaver-serve-NVLCLSOW.mjs +192 -0
  275. package/dist/cli/flow-weaver-server-7IERLVXE.mjs +2925 -0
  276. package/dist/cli/flow-weaver-server-KWF4PXYC.mjs +19112 -0
  277. package/dist/cli/flow-weaver-status-75W2S3YB.mjs +138 -0
  278. package/dist/cli/flow-weaver-strip-AZPXUYVA.mjs +79 -0
  279. package/dist/cli/flow-weaver-templates-DSNMB6K7.mjs +72 -0
  280. package/dist/cli/flow-weaver-validate-A4UWDQN6.mjs +19 -0
  281. package/dist/cli/flow-weaver-validate-GRBZ5W4C.mjs +296 -0
  282. package/dist/cli/flow-weaver-validation-registry-BINGUNXX.mjs +9 -0
  283. package/dist/cli/flow-weaver-validator-TY56CI42.mjs +21 -0
  284. package/dist/cli/flow-weaver-watch-OPPERXL6.mjs +114 -0
  285. package/dist/cli/flow-weaver-workflow-executor-6AHYPXAN.mjs +26 -0
  286. package/dist/cli/flow-weaver.mjs +3557 -89384
  287. package/dist/cli/index.d.ts +5 -2
  288. package/dist/cli/pack-commands-needed.d.ts +12 -0
  289. package/dist/cli/program.d.ts +14 -0
  290. package/dist/cli/templates/ai/mock-provider.d.ts +1 -1
  291. package/dist/cli/templates/index.d.ts +1 -8
  292. package/dist/cli/templates/nodes/agent-router.d.ts +1 -1
  293. package/dist/cli/templates/nodes/aggregator.d.ts +1 -1
  294. package/dist/cli/templates/nodes/conversation-memory.d.ts +1 -1
  295. package/dist/cli/templates/nodes/http.d.ts +1 -1
  296. package/dist/cli/templates/nodes/human-approval.d.ts +1 -1
  297. package/dist/cli/templates/nodes/json-extractor.d.ts +1 -1
  298. package/dist/cli/templates/nodes/llm-call.d.ts +1 -1
  299. package/dist/cli/templates/nodes/prompt-template.d.ts +1 -1
  300. package/dist/cli/templates/nodes/rag-retriever.d.ts +1 -1
  301. package/dist/cli/templates/nodes/tool-executor.d.ts +1 -1
  302. package/dist/cli/templates/nodes/transformer.d.ts +1 -1
  303. package/dist/cli/templates/nodes/validator.d.ts +1 -1
  304. package/dist/cli/templates/shared/approval-types.d.ts +1 -1
  305. package/dist/cli/templates/shared/case.d.ts +14 -0
  306. package/dist/cli/templates/shared/llm-types.d.ts +4 -4
  307. package/dist/cli/templates/workflows/aggregator.d.ts +1 -1
  308. package/dist/cli/templates/workflows/ai-agent.d.ts +1 -1
  309. package/dist/cli/templates/workflows/ai-chat.d.ts +1 -1
  310. package/dist/cli/templates/workflows/ai-rag.d.ts +1 -1
  311. package/dist/cli/templates/workflows/ai-react.d.ts +1 -1
  312. package/dist/cli/templates/workflows/approval.d.ts +10 -0
  313. package/dist/cli/templates/workflows/conditional.d.ts +2 -2
  314. package/dist/cli/templates/workflows/error-handler.d.ts +2 -2
  315. package/dist/cli/templates/workflows/foreach.d.ts +1 -1
  316. package/dist/cli/templates/workflows/sequential.d.ts +1 -1
  317. package/dist/cli/templates/workflows/webhook.d.ts +1 -1
  318. package/dist/cli/utils/interactive.d.ts +6 -0
  319. package/dist/cli/utils/json-option.d.ts +8 -0
  320. package/dist/cli/utils/logger.d.ts +2 -0
  321. package/dist/compiler/durable-source-proof.d.ts +23 -0
  322. package/dist/compiler/executable-artifact.d.ts +29 -0
  323. package/dist/compiler/index.d.ts +4 -0
  324. package/dist/compiler/index.js +36 -0
  325. package/dist/console/app.js +106 -0
  326. package/dist/console/assets/synergenius.svg +18 -0
  327. package/dist/console/author.d.ts +32 -0
  328. package/dist/console/cli-catalog.d.ts +21 -0
  329. package/dist/console/cli-run.d.ts +35 -0
  330. package/dist/console/cli-run.js +46 -0
  331. package/dist/console/debug.d.ts +67 -0
  332. package/dist/console/diff-view.d.ts +96 -0
  333. package/dist/console/export.d.ts +36 -0
  334. package/dist/console/git.d.ts +27 -0
  335. package/dist/console/index.d.ts +4 -0
  336. package/dist/console/index.html +16 -0
  337. package/dist/console/index.js +203 -0
  338. package/dist/console/packs.d.ts +100 -0
  339. package/dist/console/request-guard.d.ts +10 -0
  340. package/dist/console/respond.d.ts +16 -0
  341. package/dist/console/router.d.ts +64 -0
  342. package/dist/console/routes-agents.d.ts +14 -0
  343. package/dist/console/routes-project.d.ts +3 -0
  344. package/dist/console/routes-runs.d.ts +3 -0
  345. package/dist/console/routes-services.d.ts +7 -0
  346. package/dist/console/routes-tools.d.ts +3 -0
  347. package/dist/console/runs.d.ts +69 -0
  348. package/dist/console/scan.d.ts +49 -0
  349. package/dist/console/schema.d.ts +74 -0
  350. package/dist/console/server.d.ts +34 -0
  351. package/dist/console/server.js +43264 -0
  352. package/dist/console/services.d.ts +119 -0
  353. package/dist/console/source.d.ts +23 -0
  354. package/dist/console/status.d.ts +68 -0
  355. package/dist/console/styles.css +1023 -0
  356. package/dist/console/terminals.d.ts +22 -0
  357. package/dist/console/workflow-view.d.ts +153 -0
  358. package/dist/constants.d.ts +5 -1
  359. package/dist/constants.js +56 -167
  360. package/dist/context/index.d.ts +10 -0
  361. package/dist/context/index.js +14 -191
  362. package/dist/coordinator/agent-gate.d.ts +107 -0
  363. package/dist/coordinator/bundle-digest.d.ts +20 -0
  364. package/dist/coordinator/clock-tick.d.ts +4 -0
  365. package/dist/coordinator/effect-receipts.d.ts +10 -0
  366. package/dist/coordinator/errors.d.ts +31 -0
  367. package/dist/coordinator/file-store.d.ts +3 -0
  368. package/dist/coordinator/gate-labeling.d.ts +33 -0
  369. package/dist/coordinator/gate-resolution.d.ts +28 -0
  370. package/dist/coordinator/index.d.ts +12 -0
  371. package/dist/coordinator/index.js +107 -0
  372. package/dist/coordinator/memory-store.d.ts +3 -0
  373. package/dist/coordinator/params.d.ts +18 -0
  374. package/dist/coordinator/run-annotations.d.ts +6 -0
  375. package/dist/coordinator/run-context.d.ts +11 -0
  376. package/dist/coordinator/run-ending.d.ts +5 -0
  377. package/dist/coordinator/run-outcome.d.ts +31 -0
  378. package/dist/coordinator/run-resume.d.ts +6 -0
  379. package/dist/coordinator/run-start.d.ts +4 -0
  380. package/dist/coordinator/run-store.d.ts +275 -0
  381. package/dist/coordinator/run-trace.d.ts +41 -0
  382. package/dist/coordinator/run-views.d.ts +12 -0
  383. package/dist/coordinator/runs-dir.d.ts +26 -0
  384. package/dist/coordinator/store.d.ts +67 -0
  385. package/dist/coordinator/time.d.ts +39 -0
  386. package/dist/coordinator/workflow-selection.d.ts +6 -0
  387. package/dist/deployment/index.d.ts +11 -16
  388. package/dist/deployment/index.js +541 -50
  389. package/dist/deployment/targets/base.d.ts +11 -13
  390. package/dist/deployment/targets/openapi-parts.d.ts +92 -0
  391. package/dist/diagram/arms.d.ts +70 -0
  392. package/dist/diagram/ascii-renderer.d.ts +1 -1
  393. package/dist/diagram/geometry.d.ts +20 -32
  394. package/dist/diagram/graph/bounds.d.ts +30 -0
  395. package/dist/diagram/graph/metrics.d.ts +21 -0
  396. package/dist/diagram/graph/nodes.d.ts +33 -0
  397. package/dist/diagram/graph/placement.d.ts +22 -0
  398. package/dist/diagram/graph/ports.d.ts +23 -0
  399. package/dist/diagram/graph/routing.d.ts +40 -0
  400. package/dist/diagram/graph/scopes.d.ts +30 -0
  401. package/dist/diagram/index.d.ts +15 -23
  402. package/dist/diagram/index.js +632 -111
  403. package/dist/diagram/labels.d.ts +12 -0
  404. package/dist/diagram/lanes.d.ts +93 -0
  405. package/dist/diagram/layout.d.ts +1 -1
  406. package/dist/diagram/material-symbols.d.ts +7 -0
  407. package/dist/diagram/orthogonal-router.d.ts +2 -3
  408. package/dist/diagram/process-view.d.ts +79 -0
  409. package/dist/diagram/spine.d.ts +25 -0
  410. package/dist/diagram/theme.d.ts +1 -5
  411. package/dist/diagram/types.d.ts +6 -20
  412. package/dist/diff/index.js +53 -9
  413. package/dist/diff/types.d.ts +1 -5
  414. package/dist/doc-metadata/extractors/annotations.d.ts +0 -4
  415. package/dist/doc-metadata/extractors/cli-commands.d.ts +2 -1
  416. package/dist/doc-metadata/extractors/core-metadata.d.ts +19 -4
  417. package/dist/doc-metadata/extractors/error-codes.d.ts +1 -1
  418. package/dist/doc-metadata/extractors/mcp-tools.d.ts +7 -3
  419. package/dist/doc-metadata/index.d.ts +1 -2
  420. package/dist/doc-metadata/index.js +2368 -9
  421. package/dist/doc-metadata/types.d.ts +7 -24
  422. package/dist/docs/guide.d.ts +33 -0
  423. package/dist/docs/index.d.ts +7 -4
  424. package/dist/docs/index.js +298 -298
  425. package/dist/docs/pack-topics.d.ts +18 -0
  426. package/dist/editor-completions/annotationValues.d.ts +1 -1
  427. package/dist/editor-completions/contextParser.d.ts +3 -2
  428. package/dist/editor-completions/dataTypes.d.ts +1 -1
  429. package/dist/editor-completions/goToDefinition.d.ts +1 -1
  430. package/dist/editor-completions/index.d.ts +8 -8
  431. package/dist/editor-completions/index.js +1244 -175
  432. package/dist/editor-completions/jsDocAnnotations.d.ts +1 -1
  433. package/dist/editor-completions/modifierCompletions.d.ts +1 -1
  434. package/dist/export/index.d.ts +7 -1
  435. package/dist/generated-branding.js +8 -21
  436. package/dist/generated-version.d.ts +1 -1
  437. package/dist/generated-version.js +7 -3
  438. package/dist/generator/annotation-generator.d.ts +84 -0
  439. package/dist/generator/async-detection.d.ts +1 -1
  440. package/dist/{body-generator.d.ts → generator/body-generator.d.ts} +7 -3
  441. package/dist/generator/code-utils.d.ts +15 -60
  442. package/dist/generator/connection-reads.d.ts +94 -0
  443. package/dist/generator/control-flow-plan.d.ts +74 -0
  444. package/dist/generator/control-flow.d.ts +1 -1
  445. package/dist/generator/exit-assembly.d.ts +11 -0
  446. package/dist/generator/index.d.ts +4 -5
  447. package/dist/generator/index.js +34 -11
  448. package/dist/generator/input-port-values.d.ts +22 -0
  449. package/dist/generator/{scope-function-generator.d.ts → node-arguments.d.ts} +76 -1
  450. package/dist/generator/node-invocation.d.ts +74 -0
  451. package/dist/{node-types-generator.d.ts → generator/node-types-generator.d.ts} +3 -2
  452. package/dist/generator/scope-closure.d.ts +23 -0
  453. package/dist/generator/scoped-child.d.ts +49 -0
  454. package/dist/{sugar-optimizer.d.ts → generator/sugar-optimizer.d.ts} +1 -1
  455. package/dist/generator/unified.d.ts +14 -2
  456. package/dist/generator/workflow-generator.d.ts +37 -0
  457. package/dist/index.d.ts +29 -26
  458. package/dist/index.js +1322 -92
  459. package/dist/jsdoc-port-sync/apply-diff.d.ts +15 -0
  460. package/dist/jsdoc-port-sync/callback-signature.d.ts +17 -0
  461. package/dist/jsdoc-port-sync/diff.d.ts +5 -7
  462. package/dist/jsdoc-port-sync/incomplete-lines.d.ts +41 -0
  463. package/dist/jsdoc-port-sync/index.d.ts +11 -11
  464. package/dist/jsdoc-port-sync/index.js +88 -45
  465. package/dist/jsdoc-port-sync/jsdoc-to-signature.d.ts +66 -0
  466. package/dist/jsdoc-port-sync/port-parser.d.ts +6 -24
  467. package/dist/jsdoc-port-sync/port-tag-placement.d.ts +55 -0
  468. package/dist/jsdoc-port-sync/scoped-ports.d.ts +21 -0
  469. package/dist/jsdoc-port-sync/signature-parser.d.ts +8 -1
  470. package/dist/jsdoc-port-sync/signature-to-jsdoc.d.ts +77 -0
  471. package/dist/jsdoc-port-sync/sync.d.ts +4 -1
  472. package/dist/marketplace/index.d.ts +5 -3
  473. package/dist/marketplace/index.js +62 -10
  474. package/dist/marketplace/install.d.ts +24 -0
  475. package/dist/marketplace/manifest.d.ts +1 -1
  476. package/dist/marketplace/npmrc.d.ts +24 -0
  477. package/dist/marketplace/registry.d.ts +46 -11
  478. package/dist/marketplace/types.d.ts +41 -24
  479. package/dist/marketplace/validator.d.ts +1 -1
  480. package/dist/mcp/debug-session.d.ts +2 -4
  481. package/dist/mcp/dist-imports.d.ts +12 -0
  482. package/dist/mcp/response-utils.d.ts +11 -9
  483. package/dist/mcp/server.d.ts +0 -1
  484. package/dist/mcp/tools-context.d.ts +11 -0
  485. package/dist/mcp/tools-diagram.d.ts +1 -2
  486. package/dist/mcp/tools-export.d.ts +2 -2
  487. package/dist/mcp/tools-marketplace.d.ts +1 -1
  488. package/dist/mcp/tools-run.d.ts +17 -0
  489. package/dist/mcp/tools-workflow.d.ts +3 -0
  490. package/dist/mcp/types.d.ts +4 -14
  491. package/dist/mcp/workflow-executor.d.ts +57 -19
  492. package/dist/npm-packages.d.ts +1 -1
  493. package/dist/npm-packages.js +10 -473
  494. package/dist/parser/annotation-parser.d.ts +88 -0
  495. package/dist/parser/annotation-suggestion.d.ts +23 -0
  496. package/dist/parser/durable-effect-contract.d.ts +10 -0
  497. package/dist/parser/expression-references.d.ts +101 -0
  498. package/dist/parser/external-node-types.d.ts +69 -0
  499. package/dist/{function-like.d.ts → parser/function-like.d.ts} +10 -3
  500. package/dist/parser/generated-sections.d.ts +25 -0
  501. package/dist/parser/import-resolution.d.ts +67 -0
  502. package/dist/parser/import-stub.d.ts +29 -0
  503. package/dist/parser/jsdoc/config-types.d.ts +209 -0
  504. package/dist/parser/jsdoc/graph-tags.d.ts +54 -0
  505. package/dist/parser/jsdoc/node-type-block.d.ts +23 -0
  506. package/dist/parser/jsdoc/parse-line-once.d.ts +11 -0
  507. package/dist/parser/jsdoc/port-tags.d.ts +42 -0
  508. package/dist/parser/jsdoc/runtime-tags.d.ts +65 -0
  509. package/dist/parser/jsdoc/signature-types.d.ts +52 -0
  510. package/dist/parser/jsdoc/workflow-block.d.ts +22 -0
  511. package/dist/parser/jsdoc-parser.d.ts +23 -0
  512. package/dist/parser/macro-expansion.d.ts +80 -0
  513. package/dist/parser/module-resolution.d.ts +38 -0
  514. package/dist/parser/node-inference.d.ts +39 -0
  515. package/dist/parser/npm-node-types.d.ts +24 -0
  516. package/dist/parser/pack-handlers.d.ts +12 -0
  517. package/dist/parser/path-data-resolution.d.ts +75 -0
  518. package/dist/parser/port-inference.d.ts +15 -0
  519. package/dist/{resolve-package-types.d.ts → parser/resolve-package-types.d.ts} +4 -0
  520. package/dist/parser/serialize-deploy-annotations.d.ts +19 -0
  521. package/dist/parser/tag-registry.d.ts +22 -0
  522. package/dist/parser/workflow-extraction.d.ts +39 -0
  523. package/dist/runtime/ExecutionContext.d.ts +87 -99
  524. package/dist/runtime/continuation-core.d.ts +147 -0
  525. package/dist/runtime/continuation.d.ts +48 -0
  526. package/dist/runtime/debug-controller.d.ts +7 -22
  527. package/dist/runtime/durable-execution.d.ts +176 -0
  528. package/dist/runtime/events.d.ts +16 -1
  529. package/dist/runtime/executable-module-contract.d.ts +16 -0
  530. package/dist/runtime/index.d.ts +13 -10
  531. package/dist/runtime/index.js +947 -9
  532. package/dist/runtime/strict-json.d.ts +15 -0
  533. package/dist/server/access.d.ts +12 -0
  534. package/dist/server/api.d.ts +126 -0
  535. package/dist/server/callback-delivery.d.ts +62 -0
  536. package/dist/server/callback-url.d.ts +44 -0
  537. package/dist/server/context.d.ts +35 -0
  538. package/dist/server/http-error.d.ts +10 -0
  539. package/dist/server/index.d.ts +7 -1
  540. package/dist/server/index.js +125 -6
  541. package/dist/server/openapi-document.d.ts +33 -0
  542. package/dist/server/openapi.d.ts +32 -0
  543. package/dist/server/respond.d.ts +35 -0
  544. package/dist/server/route-params.d.ts +17 -0
  545. package/dist/server/route-plan.d.ts +41 -0
  546. package/dist/server/routes-catalog.d.ts +5 -0
  547. package/dist/server/routes-declared.d.ts +12 -0
  548. package/dist/server/routes-runs.d.ts +8 -0
  549. package/dist/server/run-driver.d.ts +58 -0
  550. package/dist/server/run-view.d.ts +26 -0
  551. package/dist/server/transport.d.ts +35 -0
  552. package/dist/server/types.d.ts +143 -52
  553. package/dist/server/webhook-server.d.ts +12 -38
  554. package/dist/server/workflow-registry.d.ts +7 -4
  555. package/dist/service-registry.d.ts +49 -0
  556. package/dist/service-registry.js +123 -0
  557. package/dist/testing/assertions.d.ts +2 -2
  558. package/dist/testing/index.d.ts +14 -13
  559. package/dist/testing/index.js +582 -24
  560. package/dist/testing/mock-approval.d.ts +3 -5
  561. package/dist/testing/mock-llm.d.ts +2 -3
  562. package/dist/testing/recorder.d.ts +5 -6
  563. package/dist/testing/replayer.d.ts +6 -7
  564. package/dist/testing/run-store-check.d.ts +3 -0
  565. package/dist/testing/token-tracker.d.ts +2 -2
  566. package/dist/{type-mappings.d.ts → types/type-mappings.d.ts} +13 -1
  567. package/dist/utils/error-utils.d.ts +4 -2
  568. package/dist/utils/port-ordering.d.ts +2 -2
  569. package/dist/utils/port-tag-utils.d.ts +1 -1
  570. package/dist/validation/agent-detection.d.ts +17 -5
  571. package/dist/validation/agent-rules.d.ts +6 -7
  572. package/dist/validation/core-rules.d.ts +49 -0
  573. package/dist/validation/design-rules.d.ts +9 -3
  574. package/dist/validation/rule-registry.d.ts +3 -3
  575. package/dist/validation/rules/connections.d.ts +27 -0
  576. package/dist/validation/rules/context.d.ts +11 -0
  577. package/dist/validation/rules/cycles.d.ts +17 -0
  578. package/dist/validation/rules/data-flow.d.ts +19 -0
  579. package/dist/validation/rules/scope-topology.d.ts +35 -0
  580. package/dist/validation/rules/type-compatibility.d.ts +30 -0
  581. package/dist/validation/type-checker.d.ts +39 -0
  582. package/dist/validation/validator-helpers.d.ts +31 -0
  583. package/dist/validation/validator.d.ts +30 -0
  584. package/docs/reference/advanced-annotations.md +277 -60
  585. package/docs/reference/built-in-nodes.md +164 -94
  586. package/docs/reference/cancellation.md +44 -0
  587. package/docs/reference/cli-reference.md +252 -234
  588. package/docs/reference/compilation.md +36 -109
  589. package/docs/reference/concepts.md +80 -63
  590. package/docs/reference/console.md +169 -0
  591. package/docs/reference/debugging.md +26 -57
  592. package/docs/reference/deployment.md +217 -143
  593. package/docs/reference/durable-gates.md +445 -0
  594. package/docs/reference/error-codes.md +90 -43
  595. package/docs/reference/export-interface.md +91 -26
  596. package/docs/reference/iterative-development.md +50 -28
  597. package/docs/reference/jsdoc-grammar.md +66 -311
  598. package/docs/reference/library.md +250 -0
  599. package/docs/reference/marketplace.md +301 -152
  600. package/docs/reference/mcp-tools.md +102 -0
  601. package/docs/reference/node-conversion.md +84 -59
  602. package/docs/reference/orientation.md +68 -0
  603. package/docs/reference/scaffold.md +5 -4
  604. package/docs/reference/tutorial.md +106 -166
  605. package/docs/reference/visual-reference.md +1 -1
  606. package/package.json +85 -50
  607. package/dist/agent/agent-loop.js +0 -156
  608. package/dist/agent/cli-spawn-config.js +0 -65
  609. package/dist/agent/device-connection.d.ts +0 -79
  610. package/dist/agent/device-connection.js +0 -184
  611. package/dist/agent/env-allowlist.js +0 -60
  612. package/dist/agent/providers/anthropic.js +0 -198
  613. package/dist/agent/providers/claude-cli.js +0 -161
  614. package/dist/agent/providers/openai-compat.js +0 -205
  615. package/dist/agent/providers/platform.d.ts +0 -23
  616. package/dist/agent/providers/platform.js +0 -132
  617. package/dist/agent/streaming.js +0 -186
  618. package/dist/agent/types.js +0 -20
  619. package/dist/annotation-generator.d.ts +0 -50
  620. package/dist/annotation-generator.js +0 -743
  621. package/dist/api/builder.js +0 -345
  622. package/dist/api/command-runner.js +0 -787
  623. package/dist/api/compile.js +0 -148
  624. package/dist/api/extract-types.js +0 -57
  625. package/dist/api/generate-in-place.js +0 -1477
  626. package/dist/api/generate.js +0 -514
  627. package/dist/api/helpers.js +0 -285
  628. package/dist/api/inline-runtime.js +0 -526
  629. package/dist/api/manipulation/connections.js +0 -151
  630. package/dist/api/manipulation/index.js +0 -41
  631. package/dist/api/manipulation/node-types.js +0 -200
  632. package/dist/api/manipulation/nodes.js +0 -355
  633. package/dist/api/manipulation/ports.js +0 -228
  634. package/dist/api/manipulation/scopes.js +0 -156
  635. package/dist/api/manipulation/workflow.js +0 -116
  636. package/dist/api/modify-operation.js +0 -177
  637. package/dist/api/parse.js +0 -115
  638. package/dist/api/patterns.d.ts +0 -112
  639. package/dist/api/patterns.js +0 -303
  640. package/dist/api/query.js +0 -840
  641. package/dist/api/templates.js +0 -117
  642. package/dist/api/transform.js +0 -40
  643. package/dist/api/validate.js +0 -64
  644. package/dist/api/validation-registry.js +0 -10
  645. package/dist/api/workflow-file-operations.js +0 -180
  646. package/dist/ast/builder.js +0 -395
  647. package/dist/ast/serialization-node.js +0 -30
  648. package/dist/ast/serialization.js +0 -134
  649. package/dist/ast/types.js +0 -2
  650. package/dist/ast/workflow-utils.js +0 -114
  651. package/dist/body-generator.js +0 -35
  652. package/dist/built-in-nodes/coercion-types.js +0 -61
  653. package/dist/built-in-nodes/delay.js +0 -29
  654. package/dist/built-in-nodes/generated-registry.js +0 -299
  655. package/dist/built-in-nodes/invoke-workflow.js +0 -36
  656. package/dist/built-in-nodes/mock-types.js +0 -42
  657. package/dist/built-in-nodes/wait-for-agent.js +0 -31
  658. package/dist/built-in-nodes/wait-for-event.js +0 -25
  659. package/dist/chevrotain-parser/coerce-parser.js +0 -103
  660. package/dist/chevrotain-parser/connect-parser.js +0 -136
  661. package/dist/chevrotain-parser/fan-parser.js +0 -149
  662. package/dist/chevrotain-parser/grammar-diagrams.js +0 -273
  663. package/dist/chevrotain-parser/index.js +0 -31
  664. package/dist/chevrotain-parser/map-parser.js +0 -130
  665. package/dist/chevrotain-parser/node-parser.js +0 -558
  666. package/dist/chevrotain-parser/path-parser.js +0 -140
  667. package/dist/chevrotain-parser/port-parser.js +0 -519
  668. package/dist/chevrotain-parser/position-parser.d.ts +0 -20
  669. package/dist/chevrotain-parser/position-parser.js +0 -83
  670. package/dist/chevrotain-parser/scope-parser.js +0 -104
  671. package/dist/chevrotain-parser/tokens.js +0 -429
  672. package/dist/chevrotain-parser/trigger-cancel-parser.js +0 -291
  673. package/dist/cli/commands/account.d.ts +0 -4
  674. package/dist/cli/commands/account.js +0 -50
  675. package/dist/cli/commands/ai-credentials.d.ts +0 -12
  676. package/dist/cli/commands/ai-credentials.js +0 -95
  677. package/dist/cli/commands/apikey.d.ts +0 -4
  678. package/dist/cli/commands/apikey.js +0 -64
  679. package/dist/cli/commands/auth.d.ts +0 -9
  680. package/dist/cli/commands/auth.js +0 -255
  681. package/dist/cli/commands/compile.js +0 -331
  682. package/dist/cli/commands/connect.d.ts +0 -4
  683. package/dist/cli/commands/connect.js +0 -163
  684. package/dist/cli/commands/context.js +0 -51
  685. package/dist/cli/commands/create.js +0 -139
  686. package/dist/cli/commands/deploy.d.ts +0 -6
  687. package/dist/cli/commands/deploy.js +0 -74
  688. package/dist/cli/commands/dev.js +0 -227
  689. package/dist/cli/commands/diagram.js +0 -39
  690. package/dist/cli/commands/diff.js +0 -57
  691. package/dist/cli/commands/docs.js +0 -74
  692. package/dist/cli/commands/export.js +0 -153
  693. package/dist/cli/commands/grammar.js +0 -40
  694. package/dist/cli/commands/implement.js +0 -91
  695. package/dist/cli/commands/init-personas.js +0 -541
  696. package/dist/cli/commands/init.js +0 -797
  697. package/dist/cli/commands/market.js +0 -440
  698. package/dist/cli/commands/mcp-setup.js +0 -433
  699. package/dist/cli/commands/migrate.js +0 -91
  700. package/dist/cli/commands/modify.js +0 -58
  701. package/dist/cli/commands/openapi.js +0 -71
  702. package/dist/cli/commands/org.d.ts +0 -8
  703. package/dist/cli/commands/org.js +0 -136
  704. package/dist/cli/commands/pattern.d.ts +0 -34
  705. package/dist/cli/commands/pattern.js +0 -186
  706. package/dist/cli/commands/plugin.d.ts +0 -16
  707. package/dist/cli/commands/plugin.js +0 -176
  708. package/dist/cli/commands/run.js +0 -742
  709. package/dist/cli/commands/serve.js +0 -93
  710. package/dist/cli/commands/status.js +0 -123
  711. package/dist/cli/commands/strip.js +0 -61
  712. package/dist/cli/commands/templates.js +0 -58
  713. package/dist/cli/commands/validate.js +0 -267
  714. package/dist/cli/commands/watch.js +0 -71
  715. package/dist/cli/config/credentials.d.ts +0 -15
  716. package/dist/cli/config/credentials.js +0 -43
  717. package/dist/cli/config/platform-client.d.ts +0 -123
  718. package/dist/cli/config/platform-client.js +0 -248
  719. package/dist/cli/env-setup.js +0 -12
  720. package/dist/cli/index.js +0 -850
  721. package/dist/cli/pack-commands.js +0 -122
  722. package/dist/cli/postinstall.d.ts +0 -16
  723. package/dist/cli/postinstall.js +0 -119
  724. package/dist/cli/templates/ai/mock-provider.js +0 -64
  725. package/dist/cli/templates/ai/types.js +0 -5
  726. package/dist/cli/templates/approvals/index.d.ts +0 -15
  727. package/dist/cli/templates/approvals/index.js +0 -241
  728. package/dist/cli/templates/index.js +0 -123
  729. package/dist/cli/templates/nodes/agent-router.js +0 -114
  730. package/dist/cli/templates/nodes/aggregator.js +0 -63
  731. package/dist/cli/templates/nodes/conversation-memory.js +0 -85
  732. package/dist/cli/templates/nodes/http.js +0 -80
  733. package/dist/cli/templates/nodes/human-approval.js +0 -109
  734. package/dist/cli/templates/nodes/json-extractor.js +0 -119
  735. package/dist/cli/templates/nodes/llm-call.js +0 -106
  736. package/dist/cli/templates/nodes/prompt-template.js +0 -52
  737. package/dist/cli/templates/nodes/rag-retriever.js +0 -128
  738. package/dist/cli/templates/nodes/tool-executor.js +0 -108
  739. package/dist/cli/templates/nodes/transformer.js +0 -68
  740. package/dist/cli/templates/nodes/validator.js +0 -62
  741. package/dist/cli/templates/pack-loader.js +0 -58
  742. package/dist/cli/templates/providers/index.js +0 -239
  743. package/dist/cli/templates/shared/approval-types.js +0 -31
  744. package/dist/cli/templates/shared/llm-types.js +0 -109
  745. package/dist/cli/templates/workflows/aggregator.js +0 -101
  746. package/dist/cli/templates/workflows/ai-agent.js +0 -326
  747. package/dist/cli/templates/workflows/ai-chat.js +0 -167
  748. package/dist/cli/templates/workflows/ai-rag.js +0 -184
  749. package/dist/cli/templates/workflows/ai-react.js +0 -293
  750. package/dist/cli/templates/workflows/conditional.js +0 -139
  751. package/dist/cli/templates/workflows/error-handler.js +0 -145
  752. package/dist/cli/templates/workflows/foreach.js +0 -140
  753. package/dist/cli/templates/workflows/sequential.js +0 -200
  754. package/dist/cli/templates/workflows/webhook.js +0 -158
  755. package/dist/cli/utils/cli-helpers.d.ts +0 -44
  756. package/dist/cli/utils/cli-helpers.js +0 -99
  757. package/dist/cli/utils/logger.js +0 -126
  758. package/dist/cli/utils/parse-int-strict.js +0 -17
  759. package/dist/cli/utils/safe-write.js +0 -54
  760. package/dist/deployment/config/defaults.d.ts +0 -29
  761. package/dist/deployment/config/defaults.js +0 -98
  762. package/dist/deployment/config/loader.d.ts +0 -24
  763. package/dist/deployment/config/loader.js +0 -237
  764. package/dist/deployment/config/types.d.ts +0 -117
  765. package/dist/deployment/config/types.js +0 -5
  766. package/dist/deployment/core/adapters.d.ts +0 -66
  767. package/dist/deployment/core/adapters.js +0 -156
  768. package/dist/deployment/core/executor.d.ts +0 -62
  769. package/dist/deployment/core/executor.js +0 -197
  770. package/dist/deployment/core/formatters.d.ts +0 -42
  771. package/dist/deployment/core/formatters.js +0 -146
  772. package/dist/deployment/openapi/generator.d.ts +0 -146
  773. package/dist/deployment/openapi/generator.js +0 -347
  774. package/dist/deployment/openapi/schema-converter.d.ts +0 -49
  775. package/dist/deployment/openapi/schema-converter.js +0 -192
  776. package/dist/deployment/targets/base.js +0 -855
  777. package/dist/deployment/types.d.ts +0 -140
  778. package/dist/deployment/types.js +0 -8
  779. package/dist/diagram/ascii-renderer.js +0 -528
  780. package/dist/diagram/geometry.js +0 -1226
  781. package/dist/diagram/html-viewer.d.ts +0 -21
  782. package/dist/diagram/html-viewer.js +0 -1745
  783. package/dist/diagram/layout.js +0 -143
  784. package/dist/diagram/orthogonal-router.js +0 -458
  785. package/dist/diagram/renderer.d.ts +0 -3
  786. package/dist/diagram/renderer.js +0 -280
  787. package/dist/diagram/theme.js +0 -282
  788. package/dist/diagram/types.js +0 -2
  789. package/dist/diff/WorkflowDiffer.js +0 -429
  790. package/dist/diff/formatDiff.js +0 -239
  791. package/dist/diff/impact.js +0 -119
  792. package/dist/diff/types.js +0 -35
  793. package/dist/doc-metadata/extractors/annotations.js +0 -638
  794. package/dist/doc-metadata/extractors/cli-commands.js +0 -326
  795. package/dist/doc-metadata/extractors/core-metadata.js +0 -61
  796. package/dist/doc-metadata/extractors/error-codes.js +0 -372
  797. package/dist/doc-metadata/extractors/grammar-rules.js +0 -51
  798. package/dist/doc-metadata/extractors/mcp-tools.js +0 -705
  799. package/dist/doc-metadata/extractors/plugin-api.d.ts +0 -19
  800. package/dist/doc-metadata/extractors/plugin-api.js +0 -279
  801. package/dist/doc-metadata/types.js +0 -5
  802. package/dist/editor-completions/annotationValues.js +0 -146
  803. package/dist/editor-completions/contextParser.js +0 -410
  804. package/dist/editor-completions/dataTypes.js +0 -95
  805. package/dist/editor-completions/goToDefinition.js +0 -112
  806. package/dist/editor-completions/jsDocAnnotations.js +0 -359
  807. package/dist/editor-completions/modifierCompletions.js +0 -197
  808. package/dist/editor-completions/types.js +0 -8
  809. package/dist/export/index.js +0 -212
  810. package/dist/extensions/index.d.ts +0 -16
  811. package/dist/extensions/index.js +0 -17
  812. package/dist/friendly-errors.js +0 -761
  813. package/dist/function-like.js +0 -84
  814. package/dist/generator/async-detection.js +0 -56
  815. package/dist/generator/code-utils.js +0 -551
  816. package/dist/generator/compile-target-registry.d.ts +0 -20
  817. package/dist/generator/compile-target-registry.js +0 -20
  818. package/dist/generator/control-flow.js +0 -358
  819. package/dist/generator/dev-mode-registry.d.ts +0 -27
  820. package/dist/generator/dev-mode-registry.js +0 -20
  821. package/dist/generator/scope-function-generator.js +0 -397
  822. package/dist/generator/unified.js +0 -1831
  823. package/dist/generator.d.ts +0 -54
  824. package/dist/generator.js +0 -101
  825. package/dist/jsdoc-parser.d.ts +0 -377
  826. package/dist/jsdoc-parser.js +0 -1189
  827. package/dist/jsdoc-port-sync/constants.js +0 -103
  828. package/dist/jsdoc-port-sync/diff.js +0 -319
  829. package/dist/jsdoc-port-sync/port-parser.js +0 -579
  830. package/dist/jsdoc-port-sync/rename.js +0 -256
  831. package/dist/jsdoc-port-sync/signature-parser.js +0 -559
  832. package/dist/jsdoc-port-sync/sync.js +0 -653
  833. package/dist/marketplace/manifest.js +0 -194
  834. package/dist/marketplace/registry.js +0 -198
  835. package/dist/marketplace/types.js +0 -9
  836. package/dist/marketplace/validator.js +0 -150
  837. package/dist/mcp/agent-channel.d.ts +0 -35
  838. package/dist/mcp/agent-channel.js +0 -61
  839. package/dist/mcp/auto-registration.d.ts +0 -3
  840. package/dist/mcp/auto-registration.js +0 -62
  841. package/dist/mcp/debug-session.js +0 -25
  842. package/dist/mcp/index.d.ts +0 -11
  843. package/dist/mcp/index.js +0 -10
  844. package/dist/mcp/pack-tools.js +0 -59
  845. package/dist/mcp/prompts.js +0 -68
  846. package/dist/mcp/response-utils.js +0 -97
  847. package/dist/mcp/run-registry.d.ts +0 -29
  848. package/dist/mcp/run-registry.js +0 -24
  849. package/dist/mcp/server.js +0 -63
  850. package/dist/mcp/tools-context.js +0 -51
  851. package/dist/mcp/tools-debug.js +0 -451
  852. package/dist/mcp/tools-diagram.js +0 -97
  853. package/dist/mcp/tools-docs.js +0 -62
  854. package/dist/mcp/tools-export.js +0 -222
  855. package/dist/mcp/tools-marketplace.js +0 -132
  856. package/dist/mcp/tools-model.d.ts +0 -3
  857. package/dist/mcp/tools-model.js +0 -279
  858. package/dist/mcp/tools-pattern.d.ts +0 -3
  859. package/dist/mcp/tools-pattern.js +0 -604
  860. package/dist/mcp/tools-query.js +0 -377
  861. package/dist/mcp/tools-resources.js +0 -41
  862. package/dist/mcp/tools-template.js +0 -119
  863. package/dist/mcp/tools-workflow-run.d.ts +0 -40
  864. package/dist/mcp/tools-workflow-run.js +0 -150
  865. package/dist/mcp/types.js +0 -2
  866. package/dist/mcp/workflow-executor.js +0 -242
  867. package/dist/migration/registry.js +0 -29
  868. package/dist/node-types-generator.js +0 -139
  869. package/dist/parser/tag-registry.js +0 -57
  870. package/dist/parser.d.ts +0 -232
  871. package/dist/parser.js +0 -2500
  872. package/dist/plugin/PluginPanel.d.ts +0 -12
  873. package/dist/plugin/PluginPanel.js +0 -5
  874. package/dist/plugin/index.d.ts +0 -13
  875. package/dist/plugin/index.js +0 -14
  876. package/dist/plugin/types.d.ts +0 -75
  877. package/dist/plugin/types.js +0 -8
  878. package/dist/resolve-package-types.js +0 -123
  879. package/dist/runtime/CancellationError.js +0 -20
  880. package/dist/runtime/ExecutionContext.js +0 -280
  881. package/dist/runtime/builtin-functions.js +0 -549
  882. package/dist/runtime/checkpoint.d.ts +0 -84
  883. package/dist/runtime/checkpoint.js +0 -225
  884. package/dist/runtime/debug-controller.js +0 -247
  885. package/dist/runtime/events.js +0 -2
  886. package/dist/runtime/function-registry.js +0 -66
  887. package/dist/runtime/parameter-resolver.js +0 -113
  888. package/dist/server/types.js +0 -5
  889. package/dist/server/webhook-server.js +0 -269
  890. package/dist/server/workflow-registry.js +0 -202
  891. package/dist/shared-project.js +0 -28
  892. package/dist/sugar-optimizer.js +0 -498
  893. package/dist/testing/assertions.js +0 -127
  894. package/dist/testing/mock-approval.js +0 -98
  895. package/dist/testing/mock-llm.js +0 -119
  896. package/dist/testing/recorder.js +0 -70
  897. package/dist/testing/replayer.js +0 -143
  898. package/dist/testing/token-tracker.js +0 -94
  899. package/dist/type-checker.d.ts +0 -42
  900. package/dist/type-checker.js +0 -190
  901. package/dist/type-mappings.js +0 -131
  902. package/dist/types/branded-ports.d.ts +0 -151
  903. package/dist/types/branded-ports.js +0 -121
  904. package/dist/types/index.d.ts +0 -5
  905. package/dist/types/index.js +0 -5
  906. package/dist/types.d.ts +0 -139
  907. package/dist/types.js +0 -15
  908. package/dist/utils/error-utils.js +0 -27
  909. package/dist/utils/lru-cache.js +0 -40
  910. package/dist/utils/port-ordering.js +0 -81
  911. package/dist/utils/port-tag-utils.js +0 -41
  912. package/dist/utils/string-distance.js +0 -56
  913. package/dist/validation/agent-detection.js +0 -115
  914. package/dist/validation/agent-rules.js +0 -262
  915. package/dist/validation/design-rules.js +0 -377
  916. package/dist/validation/rule-registry.js +0 -37
  917. package/dist/validator.d.ts +0 -113
  918. package/dist/validator.js +0 -1631
  919. package/docs/reference/patterns.md +0 -159
  920. package/scripts/postinstall.cjs +0 -86
  921. /package/dist/{shared-project.d.ts → parser/shared-project.d.ts} +0 -0
  922. /package/dist/{friendly-errors.d.ts → validation/friendly-errors.d.ts} +0 -0
@@ -1,44 +1,34 @@
1
1
  ---
2
2
  name: Marketplace
3
- description: Create, publish, install, and manage Flow Weaver marketplace packages and external plugins
4
- keywords: [marketplace, market, package, publish, install, search, npm, flow-weaver-pack, plugin, init, manifest, node types, patterns, workflows, component, area, sandbox]
3
+ description: Create, publish, install, and manage Flow Weaver marketplace packages
4
+ keywords: [marketplace, market, package, pack, publish, install, search, npm, flow-weaver-pack, manifest, manifestVersion, node types, workflows, cliEntrypoint, cliCommands, mcpEntrypoint, mcpTools, exportTargets, tagHandlers, serializerExport, validationRuleSets, initContributions, docs, engineVersion, authoring, extend, grammar, custom tags, deploy namespace]
5
5
  ---
6
6
 
7
7
  # Marketplace
8
8
 
9
- The Flow Weaver marketplace is an npm-based ecosystem for sharing reusable node types, workflows, and patterns. Packages follow the `flow-weaver-pack-*` naming convention and are discoverable via npm search.
9
+ The Flow Weaver marketplace is an npm-based ecosystem for sharing reusable node types and workflows. A pack is an npm package that carries a `flowweaver.manifest.json` and the `flow-weaver-marketplace-pack` keyword — that is how one is recognised, installed or on a registry. By convention packs are named `flow-weaver-pack-*` (or `@scope/flow-weaver-pack-*`), which makes them easy to find; a pack named otherwise, as an organisation's policy may require, works the same and is found the same way.
10
10
 
11
11
  ## Overview
12
12
 
13
- | What | Purpose |
14
- |------|---------|
15
- | **Node types** | Reusable `@flowWeaver nodeType` functions |
16
- | **Workflows** | Complete `@flowWeaver workflow` exports |
17
- | **Patterns** | Reusable `@flowWeaver pattern` fragments |
18
- | **Export targets** | Deployment targets for `fw export` |
13
+ | What | Purpose | Declared |
14
+ |------|---------|----------|
15
+ | **Node types** | Reusable `@flowWeaver nodeType` functions | Generated from source |
16
+ | **Workflows** | Complete `@flowWeaver workflow` exports | Generated from source |
17
+ | **Export targets** | Deployment targets for `fw export` | `exportTargets` in the manifest |
18
+ | **Tag handlers** | New JSDoc tags, parsed into a namespace of the workflow's deploy data — see [Extending the grammar](#extending-the-grammar-with-a-pack) | `tagHandlers` |
19
+ | **CLI commands** | `fw <pack> <command>` | `cliEntrypoint` + `cliCommands` |
20
+ | **MCP tools** | Tools added to `fw mcp-server` | `mcpEntrypoint` + `mcpTools` |
21
+ | **Validation rules, docs, init templates** | See [Pack Contributions](#pack-contributions) | `validationRuleSets`, `docs`, `initContributions` |
19
22
 
20
23
  A single package can contain any combination of these.
21
24
 
22
- ## Official Export Target Packs
25
+ `fw console` shows the packs installed in a project and everything each one contributes, exports a workflow through a pack's target, searches the marketplace, and — when the open project is itself a pack — runs the `market pack` validation and shows the manifest it would write. See [Console](console.md).
23
26
 
24
- Flow Weaver provides 6 official export target packs:
27
+ ## Export Target Packs
25
28
 
26
- | Package | Target name | Description |
27
- |---------|-------------|-------------|
28
- | `@synergenius/flow-weaver-pack-lambda` | `lambda` | AWS Lambda + API Gateway |
29
- | `@synergenius/flow-weaver-pack-vercel` | `vercel` | Vercel serverless functions |
30
- | `@synergenius/flow-weaver-pack-cloudflare` | `cloudflare` | Cloudflare Workers |
31
- | `@synergenius/flow-weaver-pack-inngest` | `inngest` | Inngest durable functions |
32
- | `@synergenius/flow-weaver-pack-github-actions` | `github-actions` | GitHub Actions CI/CD pipelines |
33
- | `@synergenius/flow-weaver-pack-gitlab-ci` | `gitlab-ci` | GitLab CI/CD pipelines |
29
+ Flow Weaver core ships no export target. Every target comes from a pack's `exportTargets` manifest field, resolved from `node_modules` each time `fw export` or `fw_export` runs. Find target packs with `fw market search`, install one, and its target name becomes valid for `--target`. What a target generates, and any annotations it reads, is documented by the pack itself — once installed, its topics appear in `fw docs`.
34
30
 
35
- Install with:
36
-
37
- ```bash
38
- npm install @synergenius/flow-weaver-pack-lambda
39
- ```
40
-
41
- See [Deployment](deployment) for target-specific usage details.
31
+ Without a target pack installed, `fw export` and `fw_export` return `INVALID_TARGET` for every name.
42
32
 
43
33
  ---
44
34
 
@@ -46,7 +36,7 @@ See [Deployment](deployment) for target-specific usage details.
46
36
 
47
37
  ### Search
48
38
 
49
- Find packages on npm:
39
+ Find packs on every registry your npm uses:
50
40
 
51
41
  ```bash
52
42
  fw market search openai
@@ -54,10 +44,14 @@ fw market search # Browse all packages
54
44
  fw market search llm --limit 5
55
45
  ```
56
46
 
57
- For private registries:
47
+ The search reads `.npmrc` the way `npm install` does — the user's file, then the project's — and asks the default registry and every scoped one (`@acme:registry=https://npm.internal.com/`), each with its own token (`//npm.internal.com/:_authToken=…`). A private pack is found wherever an install would find it; the output names each registry searched and whether it answered. `fw_market_search` and the console's marketplace page do the same.
48
+
49
+ A result marked **official** is published under the maintainers' `@synergenius/` npm scope. Every other scope is a third-party pack: review it as you would any npm dependency before installing, since a pack's code runs in your project.
50
+
51
+ A registry that is not in `.npmrc` can be asked directly, by its search URL:
58
52
 
59
53
  ```bash
60
- fw market search openai --registry https://npm.internal.com
54
+ fw market search openai --registry https://npm.internal.com/-/v1/search
61
55
  ```
62
56
 
63
57
  ### Install
@@ -69,7 +63,7 @@ fw market install flow-weaver-pack-openai
69
63
  fw market install flow-weaver-pack-openai@1.0.0
70
64
  ```
71
65
 
72
- After installation, the package's node types, workflows, and patterns are available for use in your workflows via `@fwImport`.
66
+ After installation, the package's node types and workflows are available for use in your workflows via `@fwImport`.
73
67
 
74
68
  ### List Installed
75
69
 
@@ -77,65 +71,93 @@ After installation, the package's node types, workflows, and patterns are availa
77
71
  fw market list
78
72
  ```
79
73
 
80
- Shows all installed `flow-weaver-pack-*` packages with their available node types, workflows, and patterns.
74
+ Shows every installed pack — any package under `node_modules` with a `flowweaver.manifest.json` — with its node types and workflows.
81
75
 
82
76
  ---
83
77
 
84
78
  ## Creating Packages
85
79
 
86
- ### Scaffold
80
+ A pack is written like any project that uses Flow Weaver, plus a manifest. The loop is: scaffold, write node types, build, `fw market pack`, try it from a project, publish.
87
81
 
88
- Create a new marketplace package:
82
+ ### Scaffold
89
83
 
90
84
  ```bash
91
85
  fw market init openai
92
- ```
93
-
94
- This creates a `flow-weaver-pack-openai/` directory with:
95
- - `package.json` — Configured with `flow-weaver-marketplace-pack` keyword
96
- - `src/` — Source directory for node types, workflows, and patterns
97
- - `tsconfig.json` — TypeScript configuration
98
-
99
- Options:
100
-
101
- ```bash
102
86
  fw market init openai --description "OpenAI nodes for Flow Weaver" --author "Your Name"
103
87
  fw market init openai -y # Skip prompts
104
88
  ```
105
89
 
106
- ### Package Structure
90
+ This creates `flow-weaver-pack-openai/` (the prefix is added when missing):
107
91
 
108
92
  ```
109
93
  flow-weaver-pack-openai/
110
94
  src/
111
- nodes/
112
- chat-completion.ts # @flowWeaver nodeType functions
113
- embeddings.ts
114
- workflows/
115
- rag-pipeline.ts # @flowWeaver workflow functions
116
- patterns/
117
- retry-with-backoff.ts # @flowWeaver pattern functions
118
- package.json
119
- tsconfig.json
95
+ index.ts # barrel: re-exports node-types, workflows
96
+ node-types/
97
+ index.ts
98
+ sample.ts # one @flowWeaver nodeType to start from
99
+ workflows/index.ts
100
+ package.json # keyword flow-weaver-marketplace-pack, flowWeaver.engineVersion,
101
+ # peerDependency on @synergenius/flow-weaver, scripts build / pack / prepublishOnly
102
+ tsconfig.json # ESM, declarations, src → dist
103
+ README.md
104
+ .gitignore
120
105
  ```
121
106
 
122
- ### Validate & Pack
107
+ Everything the manifest points at is a **compiled** file under `dist/`, so `npm run build` (`tsc`) comes before `fw market pack`; `prepublishOnly` runs both.
108
+
109
+ ### Write node types
123
110
 
124
- Validate your package and generate the manifest:
111
+ A node type in a pack is exactly a node type anywhere else — see [Concepts](concepts.md). Two things matter more in a pack:
112
+
113
+ - Every `@flowWeaver nodeType` function under `src/` becomes an entry in the manifest, named after its function. Helpers a node calls must not carry the annotation, and two node types may not share a name (`UNIT-002`).
114
+ - Give each one `@description`, and a `@color`, `@icon` or `@tag`; a workflow author sees these in the console and in `fw market list`, and `fw market pack` warns when they are missing (`PKG-008`, `PKG-009`).
115
+
116
+ ```typescript
117
+ /**
118
+ * @flowWeaver nodeType
119
+ * @expression
120
+ * @label Chat Completion
121
+ * @description One turn against a chat model
122
+ * @color purple
123
+ * @icon smartToy
124
+ * @tag openai
125
+ */
126
+ export async function chatCompletion(prompt: string, model: string): Promise<{ text: string }> {
127
+ // ...
128
+ }
129
+ ```
130
+
131
+ A workflow uses it with `@fwImport chatCompletion chatCompletion from "flow-weaver-pack-openai"` and then `@node ask chatCompletion`; ports come from the function's signature, read from the pack's `.d.ts`.
132
+
133
+ ### Validate & Pack
125
134
 
126
135
  ```bash
136
+ npm run build
127
137
  fw market pack
128
138
  fw market pack --verbose # Show parse warnings
129
139
  ```
130
140
 
131
- This:
132
- 1. Scans all TypeScript files for `@flowWeaver` annotations
133
- 2. Validates against 12 marketplace-specific rules
134
- 3. Generates `flowweaver.manifest.json` with metadata about all exports
141
+ This scans `src/**/*.ts` for `@flowWeaver` annotations, validates the package against the [marketplace rules](#marketplace-validation-rules), and writes `flowweaver.manifest.json`.
135
142
 
136
- ### Publish
143
+ Only `nodeTypes` and `workflows` are derived from source. Every other manifest field is hand-written and carried over unchanged from the existing `flowweaver.manifest.json` each time `market pack` runs; `name`, `version` and `description` come from `package.json`, and `engineVersion` and `categories` from its `flowWeaver` block.
144
+
145
+ `fw console` opened on the pack's directory does the same without writing: the *This pack* page shows the manifest it would produce, the rules over it, and what writing it would change.
137
146
 
138
- Publish to npm:
147
+ ### Try it from a project
148
+
149
+ Before publishing, install the pack into a project the way a user will, and use it:
150
+
151
+ ```bash
152
+ cd ../my-project
153
+ npm install ../flow-weaver-pack-openai # or: npm link flow-weaver-pack-openai
154
+ fw market list # the pack, its node types and what it contributes
155
+ fw console # Packs shows the pack's page, with its node types in the Step pane
156
+ ```
157
+
158
+ The manifest's `file` paths are resolved inside `node_modules/<pack>/`, so a handler, rule set or target only loads when `dist/` was built and is in `files`.
159
+
160
+ ### Publish
139
161
 
140
162
  ```bash
141
163
  fw market publish
@@ -143,37 +165,181 @@ fw market publish --dry-run # Preview without publishing
143
165
  fw market publish --tag beta # Publish with dist-tag
144
166
  ```
145
167
 
168
+ `fw market publish` runs the pack validation first and refuses on an error-level issue. A private registry works as it does for `npm publish`: `publishConfig.registry` in `package.json`, or the scope's registry in `.npmrc`.
169
+
146
170
  ---
147
171
 
148
172
  ## Marketplace Validation Rules
149
173
 
150
- The `market pack` command validates packages against additional rules beyond standard workflow validation:
174
+ `fw market pack` and `fw market publish` check the package beyond ordinary workflow validation. An error blocks publishing; a warning is reported.
175
+
176
+ | Code | Severity | Says |
177
+ |------|----------|------|
178
+ | `PKG-001` | error | `package.json` keywords must include `flow-weaver-marketplace-pack` — this is what identifies a pack on a registry |
179
+ | `PKG-002` | error | `flowWeaver.engineVersion` must be set in `package.json` |
180
+ | `PKG-003` | error | `peerDependencies` must include `@synergenius/flow-weaver` |
181
+ | `PKG-004` | error | The package must not be `private` |
182
+ | `PKG-005` | warning | The name should follow `flow-weaver-pack-*` — the convention that makes a pack easy to find; a pack named otherwise still packs, installs and loads |
183
+ | `PKG-006` | error | At least one node type, workflow or export target |
184
+ | `PKG-007` | warning | `README.md` should exist |
185
+ | `PKG-008` | warning | A node type should have a description |
186
+ | `PKG-009` | warning | A node type should have visuals (`@color`, `@icon` or `@tag`) |
187
+ | `UNIT-001` | error | Every workflow in the pack must validate |
188
+ | `UNIT-002` | error | Node type names must be unique within the pack |
189
+ | `TGT-001` / `TGT-002` | error | An export target needs `name` and `file`; names are unique |
190
+ | `HND-001` | warning | A tag handler has no `serializerExport`: its tags are dropped whenever annotations are regenerated — see [Extending the grammar](#extending-the-grammar-with-a-pack) |
191
+ | `HND-002` | error | A tag handler must declare `tags`, `namespace` and `file` |
151
192
 
152
- - Package name must start with `flow-weaver-pack-`
153
- - Must include `flow-weaver-marketplace-pack` keyword in `package.json`
154
- - All exported node types must have proper annotations
155
- - All exported workflows must validate successfully
156
- - No conflicting node type names
157
- - Proper TypeScript compilation
158
- - Manifest generation succeeds
193
+ ---
194
+
195
+ ## Pack Contributions
196
+
197
+ Beyond node types, a pack extends Flow Weaver through hand-written fields in `flowweaver.manifest.json` (`manifestVersion: 2`). Installed packs are found by scanning `node_modules` for a `flowweaver.manifest.json`; each field below is read by a specific loader at a specific moment.
198
+
199
+ | Field | Loaded by | When |
200
+ |-------|-----------|------|
201
+ | `tagHandlers` | The parser | Every parse with a `projectDir`; see [Custom Tag Handlers](#custom-tag-handlers) |
202
+ | `validationRuleSets` | The parser | Every parse with a `projectDir`; each set's `detect` decides whether its rules apply |
203
+ | `exportTargets` | `fw export` / `fw_export` | Per call; an unknown target name lists the installed ones |
204
+ | `cliEntrypoint` + `cliCommands` | The CLI | At startup; commands appear as `fw <namespace> <command>` |
205
+ | `mcpEntrypoint` + `mcpTools` | `fw mcp-server` | At server start, after the core tools |
206
+ | `initContributions` | `fw init` | Use cases and templates offered during project setup; see [Init contributions](#init-contributions) |
207
+ | `docs` | `fw docs`, `fw_docs`, `fw context`, `fw_context` | At command or server start; topics list, read and search like core topics |
208
+ | `engineVersion` | CLI and MCP loaders | A pack requiring a newer Flow Weaver still loads, with a warning on stderr |
209
+
210
+ ### CLI commands
211
+
212
+ Both fields are required; a pack with `cliEntrypoint` but an empty `cliCommands` is skipped.
213
+
214
+ ```json
215
+ {
216
+ "cliEntrypoint": "dist/cli.js",
217
+ "cliCommands": [
218
+ {
219
+ "name": "replay",
220
+ "description": "Replay a recording",
221
+ "arguments": [{ "syntax": "<recording>", "description": "Recording file" }],
222
+ "options": [{ "flags": "--speed <n>", "description": "Playback speed", "default": 1 }]
223
+ }
224
+ ]
225
+ }
226
+ ```
227
+
228
+ - The namespace is the npm name without its scope and the `flow-weaver-pack-` prefix: `@acme/flow-weaver-pack-audio` → `fw audio replay`
229
+ - The entrypoint is imported lazily, only when one of its commands runs
230
+ - It exports `handleCommandV2(name, context)` where `context` is `{ args, options, cwd }` — Flow Weaver owns the parsing, so a pack never reads `process.argv`. The older `handleCommand(name, args)` is still accepted; `printHelp()` is optional
231
+
232
+ ### MCP tools
233
+
234
+ Both fields are required; `mcpTools` is the list the server uses to decide whether to import the entrypoint at all, so declare every tool the entrypoint registers.
235
+
236
+ ```json
237
+ {
238
+ "mcpEntrypoint": "dist/mcp.js",
239
+ "mcpTools": [{ "name": "fw_audio_replay", "description": "Replay a recording" }]
240
+ }
241
+ ```
242
+
243
+ ```typescript
244
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
245
+
246
+ export async function registerMcpTools(mcp: McpServer): Promise<void> {
247
+ mcp.tool('fw_audio_replay', 'Replay a recording', { recording: z.string() }, async (args) => {
248
+ // …
249
+ });
250
+ }
251
+ ```
252
+
253
+ - Pack tools are registered after the core tools, so a name collision with a core tool is the pack's to avoid; prefix with the pack namespace
254
+ - Every tool definition is sent to the assistant on every turn — keep descriptions short (see [MCP Tools](mcp-tools.md))
255
+ - A failing import is reported on stderr and the server keeps running without that pack
256
+
257
+ ### Export targets
258
+
259
+ ```json
260
+ {
261
+ "exportTargets": [{ "name": "audio-cloud", "description": "Deploy to Audio Cloud", "file": "dist/target.js", "exportName": "AudioCloudTarget" }]
262
+ }
263
+ ```
264
+
265
+ Targets are resolved per call from the current working directory's `node_modules`, so `fw_export` with no target packs installed returns `INVALID_TARGET` for every name. `file` is the compiled module; `exportName` names the class export (the default export when omitted). The class is instantiated lazily with no constructor arguments. What each target generates is described in [Deployment](deployment.md).
266
+
267
+ #### Writing an export target
268
+
269
+ A target is a class implementing `ExportTarget` from `@synergenius/flow-weaver/deployment`. Extending `BaseExportTarget` from the same module gives you `createFile`, `generatePackageJson`, `generateTsConfig`, the OpenAPI builders and `generateReadme`.
270
+
271
+ | Member | Required | Called by |
272
+ |--------|----------|-----------|
273
+ | `name`, `description` | yes | Always |
274
+ | `generate(options)` | yes | `fw export` for a single workflow; `fw_export` when the target has no `generateBundle` — targets that read the workflow AST rather than compiled code |
275
+ | `generateBundle(workflows, nodeTypes, options)` | no | `fw export --multi`; `fw_export` whenever the target defines it. Receives the selected workflows and node types, each with an `expose` flag saying whether it gets an HTTP endpoint |
276
+ | `getDeployInstructions(artifacts)` | yes | After generation; returns `{ title, steps, prerequisites, localTestSteps?, links? }` |
277
+ | `deploySchema`, `nodeTypeDeploySchema` | no | Declare the `@deploy` keys the target accepts, for validation and editor autocomplete |
278
+ | `generateMultiWorkflow`, `generateNodeTypeService` | no | Declared on the interface; neither `fw export` nor `fw_export` calls them |
279
+
280
+ `options` is an `ExportOptions`: `sourceFile`, `workflowName`, `displayName`, `outputDir`, and optionally `description`, `production`, `includeDocs`, `multi`, `workflows`, and `targetOptions` — `{ durableSteps: true }` when requested; `fw_export` also passes the workflow's `@deploy` block as `deploy`.
281
+
282
+ Both generators return artifacts of the shape `{ files, target, workflowName, entryPoint, warnings? }`, where each file is `{ relativePath, absolutePath, content, type }` and `type` is one of `handler`, `config`, `workflow`, `nodeType`, `package`, `other`. The caller writes the files unless `--dry-run` (CLI) or `preview` (MCP) was requested, then prints the deploy instructions.
283
+
284
+ ### Documentation topics
285
+
286
+ ```json
287
+ {
288
+ "docs": [
289
+ {
290
+ "slug": "audio-recording",
291
+ "name": "Audio Recording",
292
+ "description": "Recording, trimming and replaying audio in a workflow",
293
+ "keywords": ["audio", "record", "replay"],
294
+ "presets": ["authoring"],
295
+ "file": "docs/recording.md"
296
+ }
297
+ ]
298
+ }
299
+ ```
300
+
301
+ - `file` is relative to the package root and is plain Markdown; frontmatter is optional — when the file has none, `name`, `description` and `keywords` come from the manifest
302
+ - The topic appears in `fw docs`, `fw_docs list`/`read`/`search` and, for each preset named in `presets`, in `fw context` and `fw_context`
303
+ - A slug that collides with a core topic is ignored; a `file` that does not exist is skipped with a note on stderr
304
+
305
+ ### Init contributions
306
+
307
+ ```json
308
+ {
309
+ "initContributions": {
310
+ "useCase": { "id": "audio", "name": "Audio pipelines", "description": "Record, trim and publish audio" },
311
+ "templates": ["audio-record", "audio-publish"]
312
+ }
313
+ }
314
+ ```
315
+
316
+ `fw init` offers the use case among its prompts and, when it is picked, the listed templates. The templates themselves are read from a `templates.js` beside the manifest (`<pack>/templates.js`), which exports `workflowTemplates: WorkflowTemplate[]` — the same shape as the core templates listed in [Scaffold](scaffold.md); only the ids named in `templates` are taken.
159
317
 
160
318
  ---
161
319
 
162
- ## Custom Tag Handlers
320
+ ## Extending the grammar with a pack
163
321
 
164
- Tag handlers let packs extend the parser with custom JSDoc annotations. When the parser encounters a tag it doesn't recognize natively, it delegates to registered pack handlers before emitting "Unknown annotation" warnings.
322
+ A pack can teach the parser new JSDoc tags — for example `@secret`, `@runner`, `@matrix` — because the data a tag carries is meant for the pack's own consumers: its export target, its validation rules, its CLI. A pack can also read generic `[key: "value"]` bracket attributes on `@node`: core parses any bracket attribute it does not itself define into `nodeInstance.attributes` verbatim and gives it no meaning, so a pack reads that map and interprets its own keys (for example `[runner: "ubuntu-latest"]`). What a pack cannot add: new structural tags like `@path`, or new port syntax; those stay in core so every tool reads a workflow the same way.
165
323
 
166
- The CI/CD pack (`flow-weaver-pack-cicd`) is the primary example: it registers handlers for `@secret`, `@runner`, `@cache`, `@artifact`, and other CI/CD tags.
324
+ The pieces, all declared under `tagHandlers` in the manifest and resolved from one compiled file:
167
325
 
168
- ### Writing a handler
326
+ | Piece | Direction | Required |
327
+ |-------|-----------|----------|
328
+ | handler (`TTagHandlerFn`) | tag line → data in `deploy.<namespace>` | yes |
329
+ | serializer (`TTagSerializerFn`) | `deploy.<namespace>` → tag lines | in practice yes: without it, regeneration drops the tags (`HND-001`) |
330
+ | validation rule set | rules that run when `detect(ast)` says the workflow uses the namespace | when the tags have rules |
331
+
332
+ ### Where the data goes
169
333
 
170
- A tag handler is a function matching the `TTagHandlerFn` signature:
334
+ A handled tag writes into the deploy map under the handler's namespace. In the AST that is `workflow.options.deploy[namespace]` for a workflow block and `nodeType.deploy[namespace]` for a node type block; the parser also mirrors each namespace to `options.<namespace>` so a pack's own code can read it with a typed name. Everything else reads it from there: the console shows it on the step card as *pack tags*, an export target receives it as `deploy`, and the pack's rules see it in `ast`.
335
+
336
+ ### Writing a handler
171
337
 
172
338
  ```typescript
173
339
  import type { TTagHandlerFn } from '@synergenius/flow-weaver/api';
174
340
 
175
- export const myHandler: TTagHandlerFn = (tagName, comment, ctx) => {
176
- // tagName: the tag without '@', e.g. "secret"
341
+ export const audioTagHandler: TTagHandlerFn = (tagName, comment, ctx) => {
342
+ // tagName: the tag without '@', e.g. "region"
177
343
  // comment: everything after the tag on that line
178
344
  // ctx.deploy: the deploy map for your namespace (mutate it directly)
179
345
  // ctx.warnings: push parser warnings here
@@ -183,119 +349,102 @@ export const myHandler: TTagHandlerFn = (tagName, comment, ctx) => {
183
349
  ctx.warnings.push(`Empty @${tagName} tag`);
184
350
  return;
185
351
  }
352
+ if (tagName === 'region') ctx.deploy['region'] = value;
353
+ if (tagName === 'memory') ctx.deploy['memory'] = Number(value);
354
+ };
355
+ ```
186
356
 
187
- const items = (ctx.deploy['items'] as string[]) ?? [];
188
- items.push(value);
189
- ctx.deploy['items'] = items;
357
+ The handler receives one call per tag occurrence, in source order, and may be called for several tags (`tags` in the manifest). Push a warning rather than throwing: a warning reaches `fw validate` and the console; a throw aborts the parse of that file.
358
+
359
+ ### Writing the serializer
360
+
361
+ The compiler regenerates a workflow's JSDoc block from the AST on `fw compile` and after every `fw_modify`. Core knows how to write its own tags; for a namespace it does not know, it calls the pack's serializer with the namespace's data and writes whatever lines come back. A pack without one loses its tags the first time the block is regenerated — silently, until the export target notices its data is gone.
362
+
363
+ ```typescript
364
+ import type { TTagSerializerFn } from '@synergenius/flow-weaver/api';
365
+
366
+ // The inverse of the handler: every line the handler understands, emitted from the data it produced.
367
+ export const audioSerializer: TTagSerializerFn = (deploy) => {
368
+ const lines: string[] = [];
369
+ if (typeof deploy.region === 'string') lines.push(` * @region ${deploy.region}`);
370
+ if (typeof deploy.memory === 'number') lines.push(` * @memory ${deploy.memory}`);
371
+ return lines;
190
372
  };
191
373
  ```
192
374
 
193
- The handler receives one call per tag occurrence. Parsed data goes into `ctx.deploy`, which maps to `workflow.deploy[namespace]` or `nodeType.deploy[namespace]` in the final AST.
375
+ Each returned string is a whole comment line including the leading ` * `. Emit in a stable order so a regenerated file diffs cleanly. The round trip — parse, regenerate, parse again, equal — is worth a test in the pack.
194
376
 
195
377
  ### Declaring handlers in the manifest
196
378
 
197
- Add a `tagHandlers` entry to your `flowweaver.manifest.json`:
198
-
199
379
  ```json
200
380
  {
201
381
  "manifestVersion": 2,
202
382
  "tagHandlers": [
203
383
  {
204
- "tags": ["secret", "runner", "cache"],
205
- "namespace": "cicd",
384
+ "tags": ["region", "memory"],
385
+ "namespace": "audio",
206
386
  "scope": "both",
207
387
  "file": "dist/tag-handler.js",
208
- "exportName": "cicdTagHandler"
388
+ "exportName": "audioTagHandler",
389
+ "serializerExport": "audioSerializer"
209
390
  }
210
391
  ]
211
392
  }
212
393
  ```
213
394
 
214
- Fields:
215
-
216
395
  | Field | Description |
217
396
  |-------|-------------|
218
397
  | `tags` | Tag names this handler processes (without the `@` prefix) |
219
- | `namespace` | Key in the deploy map where parsed data is stored |
398
+ | `namespace` | Key in the deploy map where parsed data is stored; also the `options.<namespace>` mirror |
220
399
  | `scope` | `workflow` for workflow-level tags, `nodeType` for node type tags, `both` for either |
221
- | `file` | Relative path to the compiled JS file exporting the handler |
222
- | `exportName` | Named export from the file (omit for `default` export) |
223
-
224
- ### Handler scope
225
-
226
- A handler scoped to `workflow` only runs for tags inside `@flowWeaver workflow` blocks. A handler scoped to `nodeType` only runs inside `@flowWeaver nodeType` blocks. Use `both` when your tags are valid in either context.
227
-
228
- If a tag appears in the wrong scope, the parser emits a warning and skips the handler call.
229
-
230
- ### How discovery works
231
-
232
- When `parseWorkflow()` is called with a `projectDir` option (or when the CLI runs from a project directory), the parser scans `node_modules` for installed packs with a `flowweaver.manifest.json`. It reads the `tagHandlers` array from each manifest, dynamically imports the handler files, and registers them in the `TagHandlerRegistry`. This scan runs once per project directory and is cached for subsequent parse calls.
233
-
234
- ---
235
-
236
- ## External Plugins
237
-
238
- Plugins extend the Flow Weaver Studio IDE with custom UI components, system logic, and integrations.
400
+ | `file` | Relative path to the compiled JS file exporting the handler (and the serializer) |
401
+ | `exportName` | Named export of the handler (omit for `default`) |
402
+ | `serializerExport` | Named export of the serializer, from the same `file` |
239
403
 
240
- ### Scaffold a Plugin
404
+ A handler scoped to `workflow` only runs for tags inside `@flowWeaver workflow` blocks; `nodeType` only inside `@flowWeaver nodeType` blocks. A tag in the wrong scope is consumed with a warning and not handled.
241
405
 
242
- ```bash
243
- fw plugin init my-plugin
244
- ```
245
-
246
- Options:
247
-
248
- | Flag | Description | Default |
249
- |------|-------------|---------|
250
- | `-a, --area <area>` | Component area | `panel` |
251
- | `--no-system` | Skip system module | included |
252
- | `-p, --preview` | Preview without writing | `false` |
253
- | `--force` | Overwrite existing | `false` |
406
+ ### Validation rules for the tags
254
407
 
255
- ### Component Areas
408
+ Rules that only make sense when the namespace is in use — a declared secret nobody reads, a job name used twice — are a rule set: a `detect` predicate and a lazy `getRules`, from one compiled file.
256
409
 
257
- Plugins register React components in specific areas of the Studio IDE:
258
-
259
- | Area | Location |
260
- |------|----------|
261
- | `sidebar` | Left sidebar panel |
262
- | `main` | Main content area |
263
- | `toolbar` | Top toolbar |
264
- | `modal` | Modal dialog |
265
- | `panel` | Bottom or side panel |
410
+ ```typescript
411
+ import type { TValidationRule, TWorkflowAST } from '@synergenius/flow-weaver/ast';
266
412
 
267
- ### Plugin Structure
413
+ export function detect(ast: TWorkflowAST): boolean {
414
+ return ast.options?.deploy?.audio !== undefined;
415
+ }
268
416
 
269
- ```bash
270
- fw plugin init my-plugin --area sidebar
417
+ export function getRules(): TValidationRule[] {
418
+ return [{
419
+ name: 'AUDIO_REGION_UNKNOWN',
420
+ validate(ast) {
421
+ const region = ast.options?.deploy?.audio?.region;
422
+ return typeof region === 'string' && !['eu', 'us'].includes(region)
423
+ ? [{ type: 'error', code: 'AUDIO_REGION_UNKNOWN', message: `Unknown region "${region}"; use eu or us` }]
424
+ : [];
425
+ },
426
+ }];
427
+ }
271
428
  ```
272
429
 
273
- Generates:
274
- ```
275
- my-plugin/
276
- src/
277
- index.ts # Plugin manifest and registration
278
- component.tsx # React component for the area
279
- system.ts # System module (event handlers, state)
280
- package.json
430
+ ```json
431
+ {
432
+ "validationRuleSets": [
433
+ { "name": "Audio rules", "namespace": "audio", "file": "dist/rules.js", "detectExport": "detect", "rulesExport": "getRules" }
434
+ ]
435
+ }
281
436
  ```
282
437
 
283
- ### Capability Sandboxing
438
+ A rule returns `TValidationError`s: `type` (`error` | `warning`), a `code` prefixed with the pack's namespace so it never collides with core's, a `message` that says what to change, and optionally `node`. They run inside `fw validate`, `fw_validate` and the console's Issues pane exactly like core rules, and an `error` blocks `fw compile`. Document each code in one of the pack's [documentation topics](#documentation-topics) so `fw_docs` can explain it.
284
439
 
285
- Plugins declare required capabilities. The runtime enforces access controls:
440
+ ### How discovery works
286
441
 
287
- | Capability | Allows |
288
- |------------|--------|
289
- | `filesystem` | Read/write workflow files |
290
- | `network` | HTTP requests |
291
- | `process` | Spawn processes |
292
- | `interop` | Communicate with other plugins |
442
+ When `parseWorkflow()` is called with a `projectDir` (the CLI and the console always pass one), the parser scans `node_modules` for packs with a `flowweaver.manifest.json`, imports each handler `file`, and registers the handler, the serializer and the rule sets. The scan runs once per project directory per process. A `file` that fails to import — most often because the pack was not built — is skipped without an error: if a pack's tags come back as `Unknown annotation` warnings, check that its `dist/` exists.
293
443
 
294
444
  ---
295
445
 
296
446
  ## Related Topics
297
447
 
298
- - [CLI Reference](cli-reference) — Full marketplace and plugin command flags
299
- - [Patterns](patterns) — Creating and sharing reusable patterns
300
- - [Scaffold](scaffold) — Template system for node types and workflows
301
- - [Concepts](concepts) — Core workflow fundamentals
448
+ - [CLI Reference](cli-reference.md) — Full marketplace command flags
449
+ - [Scaffold](scaffold.md) — Template system for node types and workflows
450
+ - [Concepts](concepts.md) — Core workflow fundamentals