@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
@@ -0,0 +1,972 @@
1
+ import { createRequire as __createRequire } from "module";
2
+ const require = __createRequire(import.meta.url);
3
+ import {
4
+ CLI_TOOL_BINARY,
5
+ ExitPromptError,
6
+ Separator,
7
+ ValidationError,
8
+ createPrompt,
9
+ cursorHide,
10
+ detectCliTools,
11
+ dist_default,
12
+ dist_default2,
13
+ isBackspaceKey,
14
+ isDownKey,
15
+ isEnterKey,
16
+ isNonInteractive,
17
+ isNumberKey,
18
+ isTabKey,
19
+ isUpKey,
20
+ makeTheme,
21
+ runMcpSetupFromInit,
22
+ useEffect,
23
+ useKeypress,
24
+ useMemo,
25
+ usePagination,
26
+ usePrefix,
27
+ useRef,
28
+ useState
29
+ } from "./flow-weaver-chunk-PUWZ47H5.mjs";
30
+ import {
31
+ loadPackTemplates
32
+ } from "./flow-weaver-chunk-QOPRVDES.mjs";
33
+ import {
34
+ compileCommand
35
+ } from "./flow-weaver-chunk-M6CBWQKJ.mjs";
36
+ import "./flow-weaver-chunk-S63Q3JIU.mjs";
37
+ import "./flow-weaver-chunk-I4APCXYN.mjs";
38
+ import "./flow-weaver-chunk-3ZLMPQTH.mjs";
39
+ import "./flow-weaver-chunk-7ET6N32V.mjs";
40
+ import {
41
+ AGENT_LAUNCH_DEFAULTS,
42
+ PERSONA_CHOICES,
43
+ PERSONA_CONFIRMATIONS,
44
+ USE_CASE_CHOICES,
45
+ generateAgentPrompt,
46
+ generateEditorPrompt,
47
+ generateExampleWorkflow,
48
+ generateReadme,
49
+ generateSetupPromptFile,
50
+ getTemplateSubChoices,
51
+ printCopyablePrompt,
52
+ printNextSteps,
53
+ selectTemplateForPersona
54
+ } from "./flow-weaver-chunk-T7X5A23H.mjs";
55
+ import {
56
+ getAllWorkflowTemplates,
57
+ getWorkflowTemplate
58
+ } from "./flow-weaver-chunk-MMV2XGD3.mjs";
59
+ import "./flow-weaver-chunk-MKAFQWLP.mjs";
60
+ import "./flow-weaver-chunk-XG2WKXYZ.mjs";
61
+ import "./flow-weaver-chunk-NQKKWDGF.mjs";
62
+ import "./flow-weaver-chunk-V6DHWFQG.mjs";
63
+ import "./flow-weaver-chunk-U3EO3X4B.mjs";
64
+ import "./flow-weaver-chunk-MSI2UJES.mjs";
65
+ import "./flow-weaver-chunk-3BSYCWPL.mjs";
66
+ import "./flow-weaver-chunk-4DVY73ML.mjs";
67
+ import "./flow-weaver-chunk-ZQALO25T.mjs";
68
+ import "./flow-weaver-chunk-DM4BBRRU.mjs";
69
+ import "./flow-weaver-chunk-NYZDQYFU.mjs";
70
+ import "./flow-weaver-chunk-A6M5K3W7.mjs";
71
+ import "./flow-weaver-chunk-W3YNK26P.mjs";
72
+ import "./flow-weaver-chunk-BHCC5FE5.mjs";
73
+ import "./flow-weaver-chunk-VXWNLYQU.mjs";
74
+ import {
75
+ logger
76
+ } from "./flow-weaver-chunk-RIWE7YTR.mjs";
77
+ import "./flow-weaver-chunk-IJJ4JXTL.mjs";
78
+ import "./flow-weaver-chunk-55QMUZIA.mjs";
79
+ import "./flow-weaver-chunk-EM5HWQ4R.mjs";
80
+ import "./flow-weaver-chunk-Z44JK332.mjs";
81
+ import "./flow-weaver-chunk-APX6MQ5A.mjs";
82
+ import "./flow-weaver-chunk-7G63RR4K.mjs";
83
+ import {
84
+ getErrorMessage
85
+ } from "./flow-weaver-chunk-OMVWSNHJ.mjs";
86
+ import "./flow-weaver-chunk-GAQXZHNO.mjs";
87
+ import "./flow-weaver-chunk-DRN7KPWY.mjs";
88
+ import "./flow-weaver-chunk-N767YRAI.mjs";
89
+
90
+ // src/cli/commands/init.ts
91
+ import * as path5 from "path";
92
+
93
+ // src/cli/commands/init/config.ts
94
+ import * as path from "path";
95
+
96
+ // node_modules/@inquirer/input/dist/index.js
97
+ var inputTheme = {
98
+ validationFailureMode: "keep"
99
+ };
100
+ var dist_default3 = createPrompt((config, done) => {
101
+ const { prefill = "tab" } = config;
102
+ const theme = makeTheme(inputTheme, config.theme);
103
+ const [status, setStatus] = useState("idle");
104
+ const [defaultValue, setDefaultValue] = useState(String(config.default ?? ""));
105
+ const [errorMsg, setError] = useState();
106
+ const [value, setValue] = useState("");
107
+ const prefix = usePrefix({ status, theme });
108
+ async function validate(value2) {
109
+ const { required, pattern, patternError = "Invalid input" } = config;
110
+ if (required && !value2) {
111
+ return "You must provide a value";
112
+ }
113
+ if (pattern && !pattern.test(value2)) {
114
+ return patternError;
115
+ }
116
+ if (typeof config.validate === "function") {
117
+ return await config.validate(value2) || "You must provide a valid value";
118
+ }
119
+ return true;
120
+ }
121
+ useKeypress(async (key, rl) => {
122
+ if (status !== "idle") {
123
+ return;
124
+ }
125
+ if (isEnterKey(key)) {
126
+ const answer = value || defaultValue;
127
+ setStatus("loading");
128
+ const isValid = await validate(answer);
129
+ if (isValid === true) {
130
+ setValue(answer);
131
+ setStatus("done");
132
+ done(answer);
133
+ } else {
134
+ if (theme.validationFailureMode === "clear") {
135
+ setValue("");
136
+ } else {
137
+ rl.write(value);
138
+ }
139
+ setError(isValid);
140
+ setStatus("idle");
141
+ }
142
+ } else if (isBackspaceKey(key) && !value) {
143
+ setDefaultValue("");
144
+ } else if (isTabKey(key) && !value) {
145
+ setDefaultValue("");
146
+ rl.clearLine(0);
147
+ rl.write(defaultValue);
148
+ setValue(defaultValue);
149
+ } else {
150
+ setValue(rl.line);
151
+ setError(void 0);
152
+ }
153
+ });
154
+ useEffect((rl) => {
155
+ if (prefill === "editable" && defaultValue) {
156
+ rl.write(defaultValue);
157
+ setValue(defaultValue);
158
+ }
159
+ }, []);
160
+ const message = theme.style.message(config.message, status);
161
+ let formattedValue = value;
162
+ if (typeof config.transformer === "function") {
163
+ formattedValue = config.transformer(value, { isFinal: status === "done" });
164
+ } else if (status === "done") {
165
+ formattedValue = theme.style.answer(value);
166
+ }
167
+ let defaultStr;
168
+ if (defaultValue && status !== "done" && !value) {
169
+ defaultStr = theme.style.defaultAnswer(defaultValue);
170
+ }
171
+ let error = "";
172
+ if (errorMsg) {
173
+ error = theme.style.error(errorMsg);
174
+ }
175
+ return [
176
+ [prefix, message, defaultStr, formattedValue].filter((v) => v !== void 0).join(" "),
177
+ error
178
+ ];
179
+ });
180
+
181
+ // node_modules/@inquirer/select/dist/index.js
182
+ import { styleText } from "node:util";
183
+ var selectTheme = {
184
+ icon: { cursor: dist_default.pointer },
185
+ style: {
186
+ disabled: (text) => styleText("dim", text),
187
+ description: (text) => styleText("cyan", text),
188
+ keysHelpTip: (keys) => keys.map(([key, action]) => `${styleText("bold", key)} ${styleText("dim", action)}`).join(styleText("dim", " \u2022 "))
189
+ },
190
+ i18n: { disabledError: "This option is disabled and cannot be selected." },
191
+ indexMode: "hidden"
192
+ };
193
+ function isSelectable(item) {
194
+ return !Separator.isSeparator(item) && !item.disabled;
195
+ }
196
+ function isNavigable(item) {
197
+ return !Separator.isSeparator(item);
198
+ }
199
+ function normalizeChoices(choices) {
200
+ return choices.map((choice) => {
201
+ if (Separator.isSeparator(choice))
202
+ return choice;
203
+ if (typeof choice !== "object" || choice === null || !("value" in choice)) {
204
+ const name2 = String(choice);
205
+ return {
206
+ value: choice,
207
+ name: name2,
208
+ short: name2,
209
+ disabled: false
210
+ };
211
+ }
212
+ const name = choice.name ?? String(choice.value);
213
+ const normalizedChoice = {
214
+ value: choice.value,
215
+ name,
216
+ short: choice.short ?? name,
217
+ disabled: choice.disabled ?? false
218
+ };
219
+ if (choice.description) {
220
+ normalizedChoice.description = choice.description;
221
+ }
222
+ return normalizedChoice;
223
+ });
224
+ }
225
+ var dist_default4 = createPrompt((config, done) => {
226
+ const { loop = true, pageSize = 7 } = config;
227
+ const theme = makeTheme(selectTheme, config.theme);
228
+ const { keybindings } = theme;
229
+ const [status, setStatus] = useState("idle");
230
+ const prefix = usePrefix({ status, theme });
231
+ const searchTimeoutRef = useRef();
232
+ const searchEnabled = !keybindings.includes("vim");
233
+ const items = useMemo(() => normalizeChoices(config.choices), [config.choices]);
234
+ const bounds = useMemo(() => {
235
+ const first = items.findIndex(isNavigable);
236
+ const last = items.findLastIndex(isNavigable);
237
+ if (first === -1) {
238
+ throw new ValidationError("[select prompt] No selectable choices. All choices are disabled.");
239
+ }
240
+ return { first, last };
241
+ }, [items]);
242
+ const defaultItemIndex = useMemo(() => {
243
+ if (!("default" in config))
244
+ return -1;
245
+ return items.findIndex((item) => isSelectable(item) && item.value === config.default);
246
+ }, [config.default, items]);
247
+ const [active, setActive] = useState(defaultItemIndex === -1 ? bounds.first : defaultItemIndex);
248
+ const selectedChoice = items[active];
249
+ if (selectedChoice == null || Separator.isSeparator(selectedChoice)) {
250
+ throw new Error("Active index does not point to a choice");
251
+ }
252
+ const [errorMsg, setError] = useState();
253
+ useKeypress((key, rl) => {
254
+ clearTimeout(searchTimeoutRef.current);
255
+ if (errorMsg) {
256
+ setError(void 0);
257
+ }
258
+ if (isEnterKey(key)) {
259
+ if (selectedChoice.disabled) {
260
+ setError(theme.i18n.disabledError);
261
+ } else {
262
+ setStatus("done");
263
+ done(selectedChoice.value);
264
+ }
265
+ } else if (isUpKey(key, keybindings) || isDownKey(key, keybindings)) {
266
+ rl.clearLine(0);
267
+ if (loop || isUpKey(key, keybindings) && active !== bounds.first || isDownKey(key, keybindings) && active !== bounds.last) {
268
+ const offset = isUpKey(key, keybindings) ? -1 : 1;
269
+ let next = active;
270
+ do {
271
+ next = (next + offset + items.length) % items.length;
272
+ } while (!isNavigable(items[next]));
273
+ setActive(next);
274
+ }
275
+ } else if (isNumberKey(key) && !Number.isNaN(Number(rl.line))) {
276
+ const selectedIndex = Number(rl.line) - 1;
277
+ let selectableIndex = -1;
278
+ const position = items.findIndex((item2) => {
279
+ if (Separator.isSeparator(item2))
280
+ return false;
281
+ selectableIndex++;
282
+ return selectableIndex === selectedIndex;
283
+ });
284
+ const item = items[position];
285
+ if (item != null && isSelectable(item)) {
286
+ setActive(position);
287
+ }
288
+ searchTimeoutRef.current = setTimeout(() => {
289
+ rl.clearLine(0);
290
+ }, 700);
291
+ } else if (isBackspaceKey(key)) {
292
+ rl.clearLine(0);
293
+ } else if (searchEnabled) {
294
+ const searchTerm = rl.line.toLowerCase();
295
+ const matchIndex = items.findIndex((item) => {
296
+ if (Separator.isSeparator(item) || !isSelectable(item))
297
+ return false;
298
+ return item.name.toLowerCase().startsWith(searchTerm);
299
+ });
300
+ if (matchIndex !== -1) {
301
+ setActive(matchIndex);
302
+ }
303
+ searchTimeoutRef.current = setTimeout(() => {
304
+ rl.clearLine(0);
305
+ }, 700);
306
+ }
307
+ });
308
+ useEffect(() => () => {
309
+ clearTimeout(searchTimeoutRef.current);
310
+ }, []);
311
+ const message = theme.style.message(config.message, status);
312
+ const helpLine = theme.style.keysHelpTip([
313
+ ["\u2191\u2193", "navigate"],
314
+ ["\u23CE", "select"]
315
+ ]);
316
+ let separatorCount = 0;
317
+ const page = usePagination({
318
+ items,
319
+ active,
320
+ renderItem({ item, isActive, index }) {
321
+ if (Separator.isSeparator(item)) {
322
+ separatorCount++;
323
+ return ` ${item.separator}`;
324
+ }
325
+ const cursor = isActive ? theme.icon.cursor : " ";
326
+ const indexLabel = theme.indexMode === "number" ? `${index + 1 - separatorCount}. ` : "";
327
+ if (item.disabled) {
328
+ const disabledLabel = typeof item.disabled === "string" ? item.disabled : "(disabled)";
329
+ const disabledCursor = isActive ? theme.icon.cursor : "-";
330
+ return theme.style.disabled(`${disabledCursor} ${indexLabel}${item.name} ${disabledLabel}`);
331
+ }
332
+ const color = isActive ? theme.style.highlight : (x) => x;
333
+ return color(`${cursor} ${indexLabel}${item.name}`);
334
+ },
335
+ pageSize,
336
+ loop
337
+ });
338
+ if (status === "done") {
339
+ return [prefix, message, theme.style.answer(selectedChoice.short)].filter(Boolean).join(" ");
340
+ }
341
+ const { description } = selectedChoice;
342
+ const lines = [
343
+ [prefix, message].filter(Boolean).join(" "),
344
+ page,
345
+ " ",
346
+ description ? theme.style.description(description) : "",
347
+ errorMsg ? theme.style.error(errorMsg) : "",
348
+ helpLine
349
+ ].filter(Boolean).join("\n").trimEnd();
350
+ return `${lines}${cursorHide}`;
351
+ });
352
+
353
+ // src/cli/commands/init/naming.ts
354
+ var PROJECT_NAME_RE = /^[a-zA-Z0-9][-a-zA-Z0-9_.]*$/;
355
+ function validateProjectName(name) {
356
+ if (!name) return "Project name cannot be empty";
357
+ if (name.length > 214) return "Project name must be at most 214 characters";
358
+ if (!PROJECT_NAME_RE.test(name)) {
359
+ return "Project name must start with a letter or digit and contain only letters, digits, hyphens, dots, and underscores";
360
+ }
361
+ return true;
362
+ }
363
+ function toWorkflowName(projectName) {
364
+ const camel = projectName.replace(/[-_.]+(.)?/g, (_, c) => c ? c.toUpperCase() : "").replace(/^[^a-zA-Z_$]+/, "").replace(/^./, (c) => c.toLowerCase());
365
+ return (camel || "myProject") + "Workflow";
366
+ }
367
+ function workflowFileName(projectName) {
368
+ return `${projectName}-workflow.ts`;
369
+ }
370
+
371
+ // src/cli/commands/init/config.ts
372
+ function getValidTemplates() {
373
+ return getAllWorkflowTemplates().map((t) => t.id);
374
+ }
375
+ var VALID_PERSONAS = ["nocode", "vibecoder", "lowcode", "expert"];
376
+ function getValidUseCases() {
377
+ return USE_CASE_CHOICES.map((c) => c.value);
378
+ }
379
+ async function resolveInitConfig(dirArg, options) {
380
+ const skipPrompts = options.yes || isNonInteractive();
381
+ const force = options.force ?? false;
382
+ const projectName = await resolveProjectName(dirArg, options, skipPrompts);
383
+ const targetDir = path.resolve(dirArg ?? projectName);
384
+ const persona = await resolvePersona(options, skipPrompts);
385
+ if (!skipPrompts) announcePersona(persona);
386
+ const { template, useCase } = await resolveTemplate(options, persona, skipPrompts);
387
+ const useCaseDescription = await askUseCaseDescription(useCase, persona, skipPrompts);
388
+ const mcp = await resolveMcp(options, persona, skipPrompts);
389
+ const installDeps = await resolveExpertToggle(options.install, persona, skipPrompts, "Install dependencies (npm install)?");
390
+ const gitInit = await resolveExpertToggle(options.git, persona, skipPrompts, "Initialize a git repository?");
391
+ const format = await resolveFormat(options, persona, skipPrompts);
392
+ return {
393
+ projectName,
394
+ targetDir,
395
+ template,
396
+ format,
397
+ install: installDeps,
398
+ git: gitInit,
399
+ force,
400
+ persona,
401
+ useCase,
402
+ useCaseDescription,
403
+ mcp
404
+ };
405
+ }
406
+ async function resolveProjectName(dirArg, options, skipPrompts) {
407
+ let projectName;
408
+ if (options.name) {
409
+ projectName = options.name;
410
+ } else if (dirArg) {
411
+ projectName = path.basename(dirArg);
412
+ } else if (skipPrompts) {
413
+ projectName = "my-project";
414
+ } else {
415
+ projectName = await dist_default3({
416
+ message: "Project name:",
417
+ default: "my-project",
418
+ validate: (v) => validateProjectName(v)
419
+ });
420
+ }
421
+ const valid = validateProjectName(projectName);
422
+ if (valid !== true) {
423
+ throw new Error(valid);
424
+ }
425
+ return projectName;
426
+ }
427
+ async function resolvePersona(options, skipPrompts) {
428
+ if (options.preset) {
429
+ if (!VALID_PERSONAS.includes(options.preset)) {
430
+ throw new Error(`Unknown preset "${options.preset}". Available: ${VALID_PERSONAS.join(", ")}`);
431
+ }
432
+ return options.preset;
433
+ }
434
+ if (skipPrompts || options.template) {
435
+ return "expert";
436
+ }
437
+ return dist_default4({
438
+ message: "How do you plan to build?",
439
+ choices: PERSONA_CHOICES,
440
+ default: "vibecoder"
441
+ });
442
+ }
443
+ function announcePersona(persona) {
444
+ const confirmation = PERSONA_CONFIRMATIONS[persona];
445
+ if (confirmation) {
446
+ logger.log(` ${logger.dim(confirmation)}`);
447
+ logger.newline();
448
+ }
449
+ }
450
+ async function resolveTemplate(options, persona, skipPrompts) {
451
+ if (options.template) {
452
+ const template = options.template;
453
+ if (!getValidTemplates().includes(template)) {
454
+ throw new Error(`Unknown template "${template}". Available: ${getValidTemplates().join(", ")}`);
455
+ }
456
+ return { template };
457
+ }
458
+ if (persona === "expert") {
459
+ return { template: skipPrompts ? "sequential" : await askExpertTemplate() };
460
+ }
461
+ const useCase = await resolveUseCase(options, skipPrompts);
462
+ return { template: await pickUseCaseTemplate(persona, useCase, skipPrompts), useCase };
463
+ }
464
+ function askExpertTemplate() {
465
+ return dist_default4({
466
+ message: "Workflow template:",
467
+ choices: [
468
+ new Separator("\u2500\u2500 Data Processing \u2500\u2500"),
469
+ { value: "sequential", name: "sequential", description: "Linear pipeline" },
470
+ { value: "foreach", name: "foreach", description: "Batch iteration" },
471
+ { value: "aggregator", name: "aggregator", description: "Collect and aggregate results" },
472
+ new Separator("\u2500\u2500 Automation \u2500\u2500"),
473
+ { value: "conditional", name: "conditional", description: "Route by condition" },
474
+ { value: "approval", name: "approval", description: "Pause for a person to approve, then carry on" },
475
+ new Separator("\u2500\u2500 AI \u2500\u2500"),
476
+ { value: "ai-agent", name: "ai-agent", description: "LLM agent with tool calling" },
477
+ { value: "ai-react", name: "ai-react", description: "ReAct pattern" },
478
+ { value: "ai-rag", name: "ai-rag", description: "Retrieval-Augmented Generation" },
479
+ { value: "ai-chat", name: "ai-chat", description: "Conversational AI" },
480
+ new Separator("\u2500\u2500 Integration \u2500\u2500"),
481
+ { value: "webhook", name: "webhook", description: "HTTP webhook handler" },
482
+ new Separator("\u2500\u2500 Utility \u2500\u2500"),
483
+ { value: "error-handler", name: "error-handler", description: "Error handling and recovery" }
484
+ ],
485
+ default: "sequential"
486
+ });
487
+ }
488
+ async function resolveUseCase(options, skipPrompts) {
489
+ if (options.useCase) {
490
+ if (!getValidUseCases().includes(options.useCase)) {
491
+ throw new Error(`Unknown use case "${options.useCase}". Available: ${getValidUseCases().join(", ")}`);
492
+ }
493
+ return options.useCase;
494
+ }
495
+ if (skipPrompts) {
496
+ return "data";
497
+ }
498
+ return dist_default4({
499
+ message: "What are you building?",
500
+ choices: USE_CASE_CHOICES,
501
+ default: "data"
502
+ });
503
+ }
504
+ async function pickUseCaseTemplate(persona, useCase, skipPrompts) {
505
+ const selection = selectTemplateForPersona(persona, useCase);
506
+ if (selection.choices && !skipPrompts) {
507
+ return dist_default4({
508
+ message: "Pick a template:",
509
+ choices: getTemplateSubChoices(selection.choices),
510
+ default: selection.template
511
+ });
512
+ }
513
+ return selection.template;
514
+ }
515
+ async function askUseCaseDescription(useCase, persona, skipPrompts) {
516
+ if (useCase !== "minimal" || skipPrompts || persona === "expert") return void 0;
517
+ const answer = await dist_default3({
518
+ message: "Briefly describe what you want to build:"
519
+ });
520
+ if (!answer) return void 0;
521
+ return answer.trim() || void 0;
522
+ }
523
+ async function resolveMcp(options, persona, skipPrompts) {
524
+ if (options.mcp !== void 0) return options.mcp;
525
+ if (skipPrompts) return false;
526
+ if (persona === "nocode" || persona === "vibecoder" || persona === "lowcode") {
527
+ return dist_default2({
528
+ message: "Set up AI editor integration? (Claude Code, Cursor, VS Code, etc.)",
529
+ default: true
530
+ });
531
+ }
532
+ return false;
533
+ }
534
+ async function resolveExpertToggle(flag, persona, skipPrompts, message) {
535
+ if (flag !== void 0) return flag;
536
+ if (skipPrompts || persona !== "expert") return true;
537
+ return dist_default2({ message, default: true });
538
+ }
539
+ async function resolveFormat(options, persona, skipPrompts) {
540
+ if (options.format) {
541
+ const format = options.format;
542
+ if (format !== "esm" && format !== "cjs") {
543
+ throw new Error(`Invalid format "${format}". Use "esm" or "cjs".`);
544
+ }
545
+ return format;
546
+ }
547
+ if (skipPrompts || persona !== "expert") {
548
+ return "esm";
549
+ }
550
+ return dist_default4({
551
+ message: "Module format:",
552
+ choices: [
553
+ { value: "esm", name: "ESM (Recommended)", description: "ECMAScript modules (import/export)" },
554
+ { value: "cjs", name: "CommonJS", description: "CommonJS modules (require/module.exports)" }
555
+ ],
556
+ default: "esm"
557
+ });
558
+ }
559
+
560
+ // src/cli/commands/init/files.ts
561
+ import * as fs from "fs";
562
+ import * as path2 from "path";
563
+ var GITIGNORE = `node_modules/
564
+ dist/
565
+ .tsbuildinfo
566
+ `;
567
+ var CONFIG_YAML = `defaultFileType: ts
568
+ `;
569
+ function generateProjectFiles(projectName, template, format = "esm", persona = "expert") {
570
+ const workflowName = toWorkflowName(projectName);
571
+ const workflowFile = workflowFileName(projectName);
572
+ const tmpl = getWorkflowTemplate(template);
573
+ if (!tmpl) {
574
+ throw new Error(`Unknown template "${template}"`);
575
+ }
576
+ const workflowCode = tmpl.generate({ workflowName });
577
+ const files = {
578
+ "package.json": buildPackageJson(projectName, workflowFile, format, persona),
579
+ "tsconfig.json": buildTsconfig(format),
580
+ [`src/${workflowFile}`]: workflowCode,
581
+ "src/main.ts": buildMainTs(projectName, workflowName, workflowFile, format),
582
+ ".gitignore": GITIGNORE,
583
+ ".flowweaver/config.yaml": CONFIG_YAML
584
+ };
585
+ files["README.md"] = generateReadme(projectName, persona, template);
586
+ if (persona === "lowcode") {
587
+ files["examples/example-workflow.ts"] = generateExampleWorkflow(projectName);
588
+ }
589
+ return files;
590
+ }
591
+ function buildPackageJson(projectName, workflowFile, format, persona) {
592
+ const scripts = {
593
+ dev: `npx fw compile src/${workflowFile} -o src && npx tsx src/main.ts`,
594
+ start: "npx tsx src/main.ts",
595
+ compile: `npx fw compile src/${workflowFile} -o src`,
596
+ validate: `npx fw validate src/${workflowFile}`,
597
+ doctor: "npx fw doctor"
598
+ };
599
+ if (persona !== "expert") {
600
+ scripts.diagram = `npx fw diagram src/${workflowFile} --format ascii-compact`;
601
+ }
602
+ const packageJsonContent = {
603
+ name: projectName,
604
+ version: "1.0.0",
605
+ scripts,
606
+ dependencies: {
607
+ "@synergenius/flow-weaver": "latest"
608
+ },
609
+ devDependencies: {
610
+ typescript: "^5.3.0",
611
+ "@types/node": "^22.0.0",
612
+ tsx: "^4.21.0"
613
+ }
614
+ };
615
+ if (format === "esm") {
616
+ packageJsonContent.type = "module";
617
+ }
618
+ return JSON.stringify(packageJsonContent, null, 2);
619
+ }
620
+ function buildTsconfig(format) {
621
+ const tsconfigContent = {
622
+ compilerOptions: {
623
+ target: "ES2020",
624
+ module: format === "esm" ? "ES2020" : "CommonJS",
625
+ moduleResolution: format === "esm" ? "bundler" : "node",
626
+ strict: true,
627
+ esModuleInterop: true,
628
+ skipLibCheck: true,
629
+ outDir: "dist",
630
+ rootDir: "src",
631
+ types: ["node"]
632
+ },
633
+ include: ["src"]
634
+ };
635
+ return JSON.stringify(tsconfigContent, null, 2);
636
+ }
637
+ function buildMainTs(projectName, workflowName, workflowFile, format) {
638
+ const workflowJsFile = workflowFile.replace(/\.ts$/, ".js");
639
+ const imports = format === "esm" ? [`import { ${workflowName}, createWorkflowRuntime } from './${workflowJsFile}';`] : [`const { ${workflowName}, createWorkflowRuntime } = require('./${workflowJsFile}');`];
640
+ return [
641
+ "/**",
642
+ ` * ${projectName}: workflow runner`,
643
+ " *",
644
+ " * Usage:",
645
+ " * npm run dev compile workflow + run this file",
646
+ " * npm start run without recompiling",
647
+ " * npm run compile compile only",
648
+ " */",
649
+ "",
650
+ ...imports,
651
+ "",
652
+ "async function main() {",
653
+ " // The runtime names the run and carries the services the generated code",
654
+ " // reads (mocks, a debugger, an abort signal). See: fw docs library",
655
+ ` const runtime = createWorkflowRuntime({ runId: \`run-\${Date.now()}\`, workflowId: '${workflowName}' });`,
656
+ ` const result = await ${workflowName}(true, { data: { message: 'hello world' } }, runtime);`,
657
+ " console.log(JSON.stringify(result, null, 2));",
658
+ "}",
659
+ "",
660
+ "main().catch((e) => {",
661
+ " if (e instanceof Error && /generated body was not installed|Compile with:/.test(e.message)) {",
662
+ " console.error('Workflow not compiled yet. Run: npm run dev');",
663
+ " process.exit(1);",
664
+ " }",
665
+ " console.error(e);",
666
+ " process.exit(1);",
667
+ "});",
668
+ ""
669
+ ].join("\n");
670
+ }
671
+ function assertNoExistingProject(targetDir, force) {
672
+ const pkgPath = path2.join(targetDir, "package.json");
673
+ if (fs.existsSync(pkgPath) && !force) {
674
+ throw new Error(
675
+ `${targetDir} already contains a package.json. Use --force to overwrite.`
676
+ );
677
+ }
678
+ }
679
+ function scaffoldProject(targetDir, files, options) {
680
+ const filesCreated = [];
681
+ const filesSkipped = [];
682
+ for (const [relativePath, content] of Object.entries(files)) {
683
+ const absPath = path2.join(targetDir, relativePath);
684
+ const dir = path2.dirname(absPath);
685
+ fs.mkdirSync(dir, { recursive: true });
686
+ if (fs.existsSync(absPath) && !options.force) {
687
+ filesSkipped.push(relativePath);
688
+ continue;
689
+ }
690
+ fs.writeFileSync(absPath, content, "utf8");
691
+ filesCreated.push(relativePath);
692
+ }
693
+ return { filesCreated, filesSkipped };
694
+ }
695
+
696
+ // src/cli/commands/init/setup.ts
697
+ import * as fs2 from "fs";
698
+ import { execSync } from "child_process";
699
+ function runNpmInstall(targetDir) {
700
+ try {
701
+ execSync("npm install", { cwd: targetDir, stdio: "pipe", timeout: 12e4 });
702
+ return { success: true };
703
+ } catch (err) {
704
+ const message = getErrorMessage(err);
705
+ return { success: false, error: message };
706
+ }
707
+ }
708
+ function runGitInit(targetDir) {
709
+ try {
710
+ execSync("git init", { cwd: targetDir, stdio: "pipe", timeout: 1e4 });
711
+ return { success: true };
712
+ } catch (err) {
713
+ const message = getErrorMessage(err);
714
+ return { success: false, error: message };
715
+ }
716
+ }
717
+ function installDependencies(targetDir, showProgress) {
718
+ const spinner = showProgress ? logger.spinner("Installing dependencies...") : null;
719
+ const installResult = runNpmInstall(targetDir);
720
+ if (spinner) {
721
+ if (installResult.success) spinner.stop("Dependencies installed");
722
+ else spinner.fail(`npm install failed: ${installResult.error}`);
723
+ }
724
+ return installResult;
725
+ }
726
+ async function compileWorkflow(workflowPath, format) {
727
+ if (!fs2.existsSync(workflowPath)) return void 0;
728
+ try {
729
+ await compileCommand(workflowPath, { format });
730
+ return { success: true };
731
+ } catch (err) {
732
+ const message = getErrorMessage(err);
733
+ return { success: false, error: message };
734
+ }
735
+ }
736
+ async function setUpEditors() {
737
+ let mcpResult;
738
+ const spinner = logger.spinner("Detecting AI editors...");
739
+ try {
740
+ mcpResult = await runMcpSetupFromInit();
741
+ const mcpConfigured = mcpResult.configured;
742
+ spinner.stop();
743
+ for (const t of mcpResult.detected) {
744
+ if (!t.detected) continue;
745
+ const wasConfigured = mcpConfigured.includes(t.displayName);
746
+ if (wasConfigured) {
747
+ logger.success(`${t.displayName} configured`);
748
+ }
749
+ }
750
+ if (mcpResult.failed.length > 0) {
751
+ for (const name of mcpResult.failed) {
752
+ logger.warn(`${name} failed to configure`);
753
+ }
754
+ }
755
+ if (mcpResult.detected.every((t) => !t.detected)) {
756
+ logger.log(` ${logger.dim("No AI editors detected")}`);
757
+ }
758
+ } catch {
759
+ spinner.fail("MCP setup failed");
760
+ }
761
+ return mcpResult;
762
+ }
763
+
764
+ // src/cli/commands/init/output.ts
765
+ import * as path3 from "path";
766
+ function printStatusLines(config, outcome) {
767
+ const { filesSkipped, installResult, gitResult, compileResult } = outcome;
768
+ logger.newline();
769
+ logger.success(`Created ${logger.highlight(config.projectName)} ${logger.dim(`(${config.template}, ${config.format.toUpperCase()})`)}`);
770
+ if (filesSkipped.length > 0) {
771
+ logger.warn(`Skipped ${filesSkipped.length} existing file(s)`);
772
+ }
773
+ if (installResult) {
774
+ if (installResult.success) {
775
+ logger.success("Dependencies installed");
776
+ } else {
777
+ logger.warn(`npm install failed: ${installResult.error}`);
778
+ }
779
+ }
780
+ if (gitResult) {
781
+ if (gitResult.success) {
782
+ logger.success("Git initialized");
783
+ } else {
784
+ logger.warn(`git init failed: ${gitResult.error}`);
785
+ }
786
+ }
787
+ if (compileResult) {
788
+ if (compileResult.success) {
789
+ logger.success("Workflow compiled");
790
+ } else {
791
+ logger.warn(`Compile failed: ${compileResult.error}`);
792
+ }
793
+ }
794
+ }
795
+ function displayDirFor(targetDir) {
796
+ const relDir = path3.relative(process.cwd(), targetDir);
797
+ return !relDir || relDir === "." ? null : relDir.startsWith("../../") ? targetDir : relDir;
798
+ }
799
+
800
+ // src/cli/commands/init/agent-handoff.ts
801
+ import * as fs3 from "fs";
802
+ import * as path4 from "path";
803
+ import { spawn } from "child_process";
804
+ async function offerAgentHandoff(config, options, filesCreated, mcpResult) {
805
+ let cliTools = mcpResult ? mcpResult.cliTools : [];
806
+ const guiTools = mcpResult ? mcpResult.guiTools : [];
807
+ const skipAgent = options.agent === false || options.yes || isNonInteractive();
808
+ if (skipAgent) return false;
809
+ if (cliTools.length === 0) {
810
+ try {
811
+ cliTools = await detectCliTools();
812
+ } catch {
813
+ }
814
+ }
815
+ const hasTools = cliTools.length > 0 || guiTools.length > 0;
816
+ if (!hasTools) return false;
817
+ try {
818
+ return await handleAgentHandoff({
819
+ projectName: config.projectName,
820
+ persona: config.persona,
821
+ template: config.template,
822
+ targetDir: config.targetDir,
823
+ cliTools,
824
+ guiTools,
825
+ filesCreated,
826
+ useCaseDescription: config.useCaseDescription
827
+ });
828
+ } catch (err) {
829
+ if (err instanceof ExitPromptError) return true;
830
+ return false;
831
+ }
832
+ }
833
+ async function handleAgentHandoff(opts) {
834
+ if (opts.cliTools.length > 0 && await offerCliAgentLaunch(opts)) {
835
+ return true;
836
+ }
837
+ if (opts.guiTools.length > 0 || opts.cliTools.length > 0) {
838
+ await offerEditorPrompt(opts);
839
+ }
840
+ return false;
841
+ }
842
+ async function offerCliAgentLaunch(opts) {
843
+ const { projectName, persona, template, targetDir, cliTools, useCaseDescription } = opts;
844
+ const toolId = cliTools[0];
845
+ const binary = CLI_TOOL_BINARY[toolId];
846
+ const displayName = toolId === "claude" ? "Claude Code" : "Codex";
847
+ const launchDefault = AGENT_LAUNCH_DEFAULTS[persona];
848
+ const shouldLaunch = await dist_default2({
849
+ message: `Launch ${displayName} to set up your project?`,
850
+ default: launchDefault
851
+ });
852
+ if (!shouldLaunch || !binary) return false;
853
+ const prompt = generateAgentPrompt(projectName, persona, template, useCaseDescription);
854
+ logger.newline();
855
+ logger.log(` ${logger.dim(`Starting ${displayName}...`)}`);
856
+ logger.newline();
857
+ const child = spawn(binary, [prompt], {
858
+ cwd: targetDir,
859
+ stdio: "inherit",
860
+ env: { ...process.env }
861
+ });
862
+ child.on("error", (err) => {
863
+ logger.error(`Failed to start ${displayName}: ${err.message}`);
864
+ });
865
+ return true;
866
+ }
867
+ async function offerEditorPrompt(opts) {
868
+ const { projectName, persona, template, useCaseDescription } = opts;
869
+ const promptAction = await dist_default4({
870
+ message: "Generate a setup prompt for your editor?",
871
+ choices: [
872
+ { value: "terminal", name: "Print to terminal", description: "Copy and paste into your editor" },
873
+ { value: "file", name: "Save as file", description: "Write PROJECT_SETUP.md to your project" },
874
+ { value: "both", name: "Both" },
875
+ { value: "skip", name: "Skip" }
876
+ ],
877
+ default: "terminal"
878
+ });
879
+ if (promptAction === "skip") return;
880
+ const editorPrompt = generateEditorPrompt(projectName, persona, template, useCaseDescription);
881
+ if (promptAction === "terminal" || promptAction === "both") {
882
+ printCopyablePrompt(editorPrompt);
883
+ }
884
+ if (promptAction === "file" || promptAction === "both") {
885
+ writeSetupPromptFile(opts);
886
+ }
887
+ }
888
+ function writeSetupPromptFile(opts) {
889
+ const { projectName, persona, template, targetDir, filesCreated, useCaseDescription } = opts;
890
+ const setupContent = generateSetupPromptFile(projectName, persona, template, filesCreated, useCaseDescription);
891
+ const setupPath = path4.join(targetDir, "PROJECT_SETUP.md");
892
+ fs3.writeFileSync(setupPath, setupContent, "utf8");
893
+ const gitignorePath = path4.join(targetDir, ".gitignore");
894
+ if (fs3.existsSync(gitignorePath)) {
895
+ const existing = fs3.readFileSync(gitignorePath, "utf8");
896
+ if (!existing.includes("PROJECT_SETUP.md")) {
897
+ fs3.appendFileSync(gitignorePath, "PROJECT_SETUP.md\n", "utf8");
898
+ }
899
+ }
900
+ logger.newline();
901
+ logger.success(`Wrote ${logger.highlight("PROJECT_SETUP.md")} ${logger.dim("(delete after first setup)")}`);
902
+ }
903
+
904
+ // src/cli/commands/init.ts
905
+ async function initCommand(dirArg, options) {
906
+ try {
907
+ await loadPackTemplates(process.cwd());
908
+ const config = await resolveInitConfig(dirArg, options);
909
+ assertNoExistingProject(config.targetDir, config.force);
910
+ const files = generateProjectFiles(config.projectName, config.template, config.format, config.persona);
911
+ const { filesCreated, filesSkipped } = scaffoldProject(config.targetDir, files, {
912
+ force: config.force
913
+ });
914
+ const installResult = config.install ? installDependencies(config.targetDir, !options.json) : void 0;
915
+ const gitResult = config.git ? runGitInit(config.targetDir) : void 0;
916
+ const workflowFile = workflowFileName(config.projectName);
917
+ const compileResult = options.json ? void 0 : await compileWorkflow(path5.join(config.targetDir, "src", workflowFile), config.format);
918
+ const mcpResult = config.mcp && !options.json ? await setUpEditors() : void 0;
919
+ const mcpConfigured = mcpResult?.configured;
920
+ if (options.json) {
921
+ const report = {
922
+ projectDir: config.targetDir,
923
+ filesCreated,
924
+ filesSkipped,
925
+ template: config.template,
926
+ format: config.format,
927
+ persona: config.persona,
928
+ installResult,
929
+ gitResult,
930
+ mcpConfigured,
931
+ agentLaunched: false
932
+ };
933
+ console.log(JSON.stringify(report, null, 2));
934
+ return;
935
+ }
936
+ printStatusLines(config, { filesSkipped, installResult, gitResult, compileResult });
937
+ const workflowCode = files[`src/${workflowFile}`] ?? null;
938
+ const displayDir = displayDirFor(config.targetDir);
939
+ if (await offerAgentHandoff(config, options, filesCreated, mcpResult)) {
940
+ return;
941
+ }
942
+ printNextSteps({
943
+ projectName: config.projectName,
944
+ persona: config.persona,
945
+ template: config.template,
946
+ displayDir,
947
+ installSkipped: !config.install,
948
+ workflowCode,
949
+ workflowFile,
950
+ mcpConfigured,
951
+ agentLaunched: false,
952
+ compiled: compileResult?.success
953
+ });
954
+ } catch (err) {
955
+ if (err instanceof ExitPromptError) {
956
+ return;
957
+ }
958
+ throw err;
959
+ }
960
+ }
961
+ export {
962
+ generateProjectFiles,
963
+ handleAgentHandoff,
964
+ initCommand,
965
+ isNonInteractive,
966
+ resolveInitConfig,
967
+ runGitInit,
968
+ runNpmInstall,
969
+ scaffoldProject,
970
+ toWorkflowName,
971
+ validateProjectName
972
+ };