@synergenius/flow-weaver 0.2.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 (466) hide show
  1. package/LICENSE +122 -0
  2. package/README.md +315 -0
  3. package/dist/annotation-generator.d.ts +45 -0
  4. package/dist/annotation-generator.js +557 -0
  5. package/dist/api/builder.d.ts +223 -0
  6. package/dist/api/builder.js +345 -0
  7. package/dist/api/compile.d.ts +92 -0
  8. package/dist/api/compile.js +149 -0
  9. package/dist/api/extract-types.d.ts +29 -0
  10. package/dist/api/extract-types.js +57 -0
  11. package/dist/api/generate-in-place.d.ts +73 -0
  12. package/dist/api/generate-in-place.js +1353 -0
  13. package/dist/api/generate.d.ts +83 -0
  14. package/dist/api/generate.js +510 -0
  15. package/dist/api/helpers.d.ts +248 -0
  16. package/dist/api/helpers.js +285 -0
  17. package/dist/api/index.d.ts +46 -0
  18. package/dist/api/index.js +45 -0
  19. package/dist/api/inline-runtime.d.ts +27 -0
  20. package/dist/api/inline-runtime.js +551 -0
  21. package/dist/api/manipulation/connections.d.ts +79 -0
  22. package/dist/api/manipulation/connections.js +151 -0
  23. package/dist/api/manipulation/index.d.ts +34 -0
  24. package/dist/api/manipulation/index.js +41 -0
  25. package/dist/api/manipulation/node-types.d.ts +123 -0
  26. package/dist/api/manipulation/node-types.js +200 -0
  27. package/dist/api/manipulation/nodes.d.ts +144 -0
  28. package/dist/api/manipulation/nodes.js +333 -0
  29. package/dist/api/manipulation/ports.d.ts +59 -0
  30. package/dist/api/manipulation/ports.js +228 -0
  31. package/dist/api/manipulation/scopes.d.ts +52 -0
  32. package/dist/api/manipulation/scopes.js +156 -0
  33. package/dist/api/manipulation/validation.d.ts +6 -0
  34. package/dist/api/manipulation/validation.js +6 -0
  35. package/dist/api/manipulation/workflow.d.ts +81 -0
  36. package/dist/api/manipulation/workflow.js +116 -0
  37. package/dist/api/manipulation.d.ts +8 -0
  38. package/dist/api/manipulation.js +8 -0
  39. package/dist/api/parse.d.ts +48 -0
  40. package/dist/api/parse.js +110 -0
  41. package/dist/api/patterns.d.ts +112 -0
  42. package/dist/api/patterns.js +306 -0
  43. package/dist/api/query.d.ts +429 -0
  44. package/dist/api/query.js +816 -0
  45. package/dist/api/templates.d.ts +98 -0
  46. package/dist/api/templates.js +117 -0
  47. package/dist/api/transform.d.ts +31 -0
  48. package/dist/api/transform.js +40 -0
  49. package/dist/api/validate.d.ts +25 -0
  50. package/dist/api/validate.js +39 -0
  51. package/dist/api/workflow-file-operations.d.ts +29 -0
  52. package/dist/api/workflow-file-operations.js +180 -0
  53. package/dist/ast/builder.d.ts +210 -0
  54. package/dist/ast/builder.js +395 -0
  55. package/dist/ast/index.d.ts +5 -0
  56. package/dist/ast/index.js +5 -0
  57. package/dist/ast/serialization-node.d.ts +6 -0
  58. package/dist/ast/serialization-node.js +30 -0
  59. package/dist/ast/serialization.d.ts +43 -0
  60. package/dist/ast/serialization.js +134 -0
  61. package/dist/ast/types.d.ts +852 -0
  62. package/dist/ast/types.js +2 -0
  63. package/dist/ast/workflow-utils.d.ts +54 -0
  64. package/dist/ast/workflow-utils.js +114 -0
  65. package/dist/body-generator.d.ts +31 -0
  66. package/dist/body-generator.js +35 -0
  67. package/dist/built-in-nodes/delay.d.ts +11 -0
  68. package/dist/built-in-nodes/delay.js +29 -0
  69. package/dist/built-in-nodes/index.d.ts +5 -0
  70. package/dist/built-in-nodes/index.js +4 -0
  71. package/dist/built-in-nodes/invoke-workflow.d.ts +13 -0
  72. package/dist/built-in-nodes/invoke-workflow.js +25 -0
  73. package/dist/built-in-nodes/mock-types.d.ts +18 -0
  74. package/dist/built-in-nodes/mock-types.js +12 -0
  75. package/dist/built-in-nodes/wait-for-event.d.ts +13 -0
  76. package/dist/built-in-nodes/wait-for-event.js +25 -0
  77. package/dist/chevrotain-parser/connect-parser.d.ts +24 -0
  78. package/dist/chevrotain-parser/connect-parser.js +98 -0
  79. package/dist/chevrotain-parser/grammar-diagrams.d.ts +29 -0
  80. package/dist/chevrotain-parser/grammar-diagrams.js +264 -0
  81. package/dist/chevrotain-parser/index.d.ts +25 -0
  82. package/dist/chevrotain-parser/index.js +27 -0
  83. package/dist/chevrotain-parser/map-parser.d.ts +33 -0
  84. package/dist/chevrotain-parser/map-parser.js +130 -0
  85. package/dist/chevrotain-parser/node-parser.d.ts +36 -0
  86. package/dist/chevrotain-parser/node-parser.js +466 -0
  87. package/dist/chevrotain-parser/path-parser.d.ts +28 -0
  88. package/dist/chevrotain-parser/path-parser.js +118 -0
  89. package/dist/chevrotain-parser/port-parser.d.ts +36 -0
  90. package/dist/chevrotain-parser/port-parser.js +442 -0
  91. package/dist/chevrotain-parser/position-parser.d.ts +20 -0
  92. package/dist/chevrotain-parser/position-parser.js +83 -0
  93. package/dist/chevrotain-parser/scope-parser.d.ts +19 -0
  94. package/dist/chevrotain-parser/scope-parser.js +104 -0
  95. package/dist/chevrotain-parser/tokens.d.ts +78 -0
  96. package/dist/chevrotain-parser/tokens.js +384 -0
  97. package/dist/chevrotain-parser/trigger-cancel-parser.d.ts +50 -0
  98. package/dist/chevrotain-parser/trigger-cancel-parser.js +282 -0
  99. package/dist/cli/commands/changelog.d.ts +13 -0
  100. package/dist/cli/commands/changelog.js +135 -0
  101. package/dist/cli/commands/compile.d.ts +64 -0
  102. package/dist/cli/commands/compile.js +278 -0
  103. package/dist/cli/commands/create.d.ts +33 -0
  104. package/dist/cli/commands/create.js +147 -0
  105. package/dist/cli/commands/describe.d.ts +68 -0
  106. package/dist/cli/commands/describe.js +377 -0
  107. package/dist/cli/commands/dev.d.ts +32 -0
  108. package/dist/cli/commands/dev.js +384 -0
  109. package/dist/cli/commands/diagram.d.ts +13 -0
  110. package/dist/cli/commands/diagram.js +33 -0
  111. package/dist/cli/commands/diff.d.ts +11 -0
  112. package/dist/cli/commands/diff.js +59 -0
  113. package/dist/cli/commands/doctor.d.ts +57 -0
  114. package/dist/cli/commands/doctor.js +719 -0
  115. package/dist/cli/commands/export.d.ts +57 -0
  116. package/dist/cli/commands/export.js +163 -0
  117. package/dist/cli/commands/grammar.d.ts +9 -0
  118. package/dist/cli/commands/grammar.js +39 -0
  119. package/dist/cli/commands/init.d.ts +59 -0
  120. package/dist/cli/commands/init.js +435 -0
  121. package/dist/cli/commands/listen.d.ts +16 -0
  122. package/dist/cli/commands/listen.js +39 -0
  123. package/dist/cli/commands/market.d.ts +52 -0
  124. package/dist/cli/commands/market.js +436 -0
  125. package/dist/cli/commands/migrate.d.ts +13 -0
  126. package/dist/cli/commands/migrate.js +89 -0
  127. package/dist/cli/commands/openapi.d.ts +37 -0
  128. package/dist/cli/commands/openapi.js +67 -0
  129. package/dist/cli/commands/pattern.d.ts +34 -0
  130. package/dist/cli/commands/pattern.js +185 -0
  131. package/dist/cli/commands/plugin.d.ts +16 -0
  132. package/dist/cli/commands/plugin.js +176 -0
  133. package/dist/cli/commands/run.d.ts +49 -0
  134. package/dist/cli/commands/run.js +191 -0
  135. package/dist/cli/commands/serve.d.ts +45 -0
  136. package/dist/cli/commands/serve.js +81 -0
  137. package/dist/cli/commands/templates.d.ts +8 -0
  138. package/dist/cli/commands/templates.js +54 -0
  139. package/dist/cli/commands/ui.d.ts +16 -0
  140. package/dist/cli/commands/ui.js +130 -0
  141. package/dist/cli/commands/validate.d.ts +12 -0
  142. package/dist/cli/commands/validate.js +247 -0
  143. package/dist/cli/commands/watch.d.ts +9 -0
  144. package/dist/cli/commands/watch.js +70 -0
  145. package/dist/cli/flow-weaver.mjs +92924 -0
  146. package/dist/cli/index.d.ts +9 -0
  147. package/dist/cli/index.js +742 -0
  148. package/dist/cli/templates/ai/mock-provider.d.ts +7 -0
  149. package/dist/cli/templates/ai/mock-provider.js +64 -0
  150. package/dist/cli/templates/ai/types.d.ts +47 -0
  151. package/dist/cli/templates/ai/types.js +5 -0
  152. package/dist/cli/templates/approvals/index.d.ts +15 -0
  153. package/dist/cli/templates/approvals/index.js +241 -0
  154. package/dist/cli/templates/index.d.ts +102 -0
  155. package/dist/cli/templates/index.js +101 -0
  156. package/dist/cli/templates/nodes/agent-router.d.ts +3 -0
  157. package/dist/cli/templates/nodes/agent-router.js +114 -0
  158. package/dist/cli/templates/nodes/aggregator.d.ts +7 -0
  159. package/dist/cli/templates/nodes/aggregator.js +63 -0
  160. package/dist/cli/templates/nodes/conversation-memory.d.ts +3 -0
  161. package/dist/cli/templates/nodes/conversation-memory.js +85 -0
  162. package/dist/cli/templates/nodes/http.d.ts +7 -0
  163. package/dist/cli/templates/nodes/http.js +80 -0
  164. package/dist/cli/templates/nodes/human-approval.d.ts +3 -0
  165. package/dist/cli/templates/nodes/human-approval.js +110 -0
  166. package/dist/cli/templates/nodes/json-extractor.d.ts +3 -0
  167. package/dist/cli/templates/nodes/json-extractor.js +119 -0
  168. package/dist/cli/templates/nodes/llm-call.d.ts +3 -0
  169. package/dist/cli/templates/nodes/llm-call.js +106 -0
  170. package/dist/cli/templates/nodes/prompt-template.d.ts +3 -0
  171. package/dist/cli/templates/nodes/prompt-template.js +52 -0
  172. package/dist/cli/templates/nodes/rag-retriever.d.ts +3 -0
  173. package/dist/cli/templates/nodes/rag-retriever.js +128 -0
  174. package/dist/cli/templates/nodes/tool-executor.d.ts +3 -0
  175. package/dist/cli/templates/nodes/tool-executor.js +108 -0
  176. package/dist/cli/templates/nodes/transformer.d.ts +7 -0
  177. package/dist/cli/templates/nodes/transformer.js +68 -0
  178. package/dist/cli/templates/nodes/validator.d.ts +7 -0
  179. package/dist/cli/templates/nodes/validator.js +62 -0
  180. package/dist/cli/templates/providers/index.d.ts +14 -0
  181. package/dist/cli/templates/providers/index.js +239 -0
  182. package/dist/cli/templates/shared/approval-types.d.ts +9 -0
  183. package/dist/cli/templates/shared/approval-types.js +31 -0
  184. package/dist/cli/templates/shared/llm-types.d.ts +15 -0
  185. package/dist/cli/templates/shared/llm-types.js +104 -0
  186. package/dist/cli/templates/workflows/aggregator.d.ts +7 -0
  187. package/dist/cli/templates/workflows/aggregator.js +104 -0
  188. package/dist/cli/templates/workflows/ai-agent-durable.d.ts +8 -0
  189. package/dist/cli/templates/workflows/ai-agent-durable.js +338 -0
  190. package/dist/cli/templates/workflows/ai-agent.d.ts +31 -0
  191. package/dist/cli/templates/workflows/ai-agent.js +326 -0
  192. package/dist/cli/templates/workflows/ai-chat.d.ts +7 -0
  193. package/dist/cli/templates/workflows/ai-chat.js +169 -0
  194. package/dist/cli/templates/workflows/ai-pipeline-durable.d.ts +8 -0
  195. package/dist/cli/templates/workflows/ai-pipeline-durable.js +330 -0
  196. package/dist/cli/templates/workflows/ai-rag.d.ts +7 -0
  197. package/dist/cli/templates/workflows/ai-rag.js +186 -0
  198. package/dist/cli/templates/workflows/ai-react.d.ts +7 -0
  199. package/dist/cli/templates/workflows/ai-react.js +294 -0
  200. package/dist/cli/templates/workflows/conditional.d.ts +12 -0
  201. package/dist/cli/templates/workflows/conditional.js +142 -0
  202. package/dist/cli/templates/workflows/error-handler.d.ts +7 -0
  203. package/dist/cli/templates/workflows/error-handler.js +147 -0
  204. package/dist/cli/templates/workflows/foreach.d.ts +7 -0
  205. package/dist/cli/templates/workflows/foreach.js +143 -0
  206. package/dist/cli/templates/workflows/sequential.d.ts +7 -0
  207. package/dist/cli/templates/workflows/sequential.js +198 -0
  208. package/dist/cli/templates/workflows/webhook.d.ts +7 -0
  209. package/dist/cli/templates/workflows/webhook.js +161 -0
  210. package/dist/cli/utils/logger.d.ts +15 -0
  211. package/dist/cli/utils/logger.js +46 -0
  212. package/dist/constants.d.ts +100 -0
  213. package/dist/constants.js +125 -0
  214. package/dist/defaults.d.ts +3 -0
  215. package/dist/defaults.js +3 -0
  216. package/dist/deployment/config/defaults.d.ts +29 -0
  217. package/dist/deployment/config/defaults.js +98 -0
  218. package/dist/deployment/config/loader.d.ts +24 -0
  219. package/dist/deployment/config/loader.js +236 -0
  220. package/dist/deployment/config/types.d.ts +117 -0
  221. package/dist/deployment/config/types.js +5 -0
  222. package/dist/deployment/core/adapters.d.ts +90 -0
  223. package/dist/deployment/core/adapters.js +251 -0
  224. package/dist/deployment/core/executor.d.ts +62 -0
  225. package/dist/deployment/core/executor.js +197 -0
  226. package/dist/deployment/core/formatters.d.ts +57 -0
  227. package/dist/deployment/core/formatters.js +170 -0
  228. package/dist/deployment/index.d.ts +31 -0
  229. package/dist/deployment/index.js +48 -0
  230. package/dist/deployment/openapi/generator.d.ts +146 -0
  231. package/dist/deployment/openapi/generator.js +347 -0
  232. package/dist/deployment/openapi/schema-converter.d.ts +49 -0
  233. package/dist/deployment/openapi/schema-converter.js +192 -0
  234. package/dist/deployment/targets/base.d.ts +316 -0
  235. package/dist/deployment/targets/base.js +823 -0
  236. package/dist/deployment/targets/cloudflare.d.ts +23 -0
  237. package/dist/deployment/targets/cloudflare.js +1125 -0
  238. package/dist/deployment/targets/inngest.d.ts +38 -0
  239. package/dist/deployment/targets/inngest.js +926 -0
  240. package/dist/deployment/targets/lambda.d.ts +23 -0
  241. package/dist/deployment/targets/lambda.js +1289 -0
  242. package/dist/deployment/targets/vercel.d.ts +23 -0
  243. package/dist/deployment/targets/vercel.js +886 -0
  244. package/dist/deployment/types.d.ts +183 -0
  245. package/dist/deployment/types.js +8 -0
  246. package/dist/diagram/geometry.d.ts +26 -0
  247. package/dist/diagram/geometry.js +850 -0
  248. package/dist/diagram/index.d.ts +16 -0
  249. package/dist/diagram/index.js +42 -0
  250. package/dist/diagram/layout.d.ts +11 -0
  251. package/dist/diagram/layout.js +143 -0
  252. package/dist/diagram/orthogonal-router.d.ts +79 -0
  253. package/dist/diagram/orthogonal-router.js +568 -0
  254. package/dist/diagram/renderer.d.ts +3 -0
  255. package/dist/diagram/renderer.js +207 -0
  256. package/dist/diagram/theme.d.ts +20 -0
  257. package/dist/diagram/theme.js +189 -0
  258. package/dist/diagram/types.d.ts +70 -0
  259. package/dist/diagram/types.js +2 -0
  260. package/dist/diff/WorkflowDiffer.d.ts +13 -0
  261. package/dist/diff/WorkflowDiffer.js +429 -0
  262. package/dist/diff/formatDiff.d.ts +10 -0
  263. package/dist/diff/formatDiff.js +220 -0
  264. package/dist/diff/impact.d.ts +29 -0
  265. package/dist/diff/impact.js +119 -0
  266. package/dist/diff/index.d.ts +10 -0
  267. package/dist/diff/index.js +9 -0
  268. package/dist/diff/types.d.ts +138 -0
  269. package/dist/diff/types.js +35 -0
  270. package/dist/doc-metadata/extractors/annotations.d.ts +56 -0
  271. package/dist/doc-metadata/extractors/annotations.js +337 -0
  272. package/dist/doc-metadata/extractors/cli-commands.d.ts +17 -0
  273. package/dist/doc-metadata/extractors/cli-commands.js +355 -0
  274. package/dist/doc-metadata/extractors/mcp-tools.d.ts +16 -0
  275. package/dist/doc-metadata/extractors/mcp-tools.js +689 -0
  276. package/dist/doc-metadata/extractors/plugin-api.d.ts +19 -0
  277. package/dist/doc-metadata/extractors/plugin-api.js +279 -0
  278. package/dist/doc-metadata/index.d.ts +5 -0
  279. package/dist/doc-metadata/index.js +4 -0
  280. package/dist/doc-metadata/types.d.ts +120 -0
  281. package/dist/doc-metadata/types.js +5 -0
  282. package/dist/editor-completions/annotationValues.d.ts +12 -0
  283. package/dist/editor-completions/annotationValues.js +138 -0
  284. package/dist/editor-completions/contextParser.d.ts +40 -0
  285. package/dist/editor-completions/contextParser.js +410 -0
  286. package/dist/editor-completions/dataTypes.d.ts +16 -0
  287. package/dist/editor-completions/dataTypes.js +95 -0
  288. package/dist/editor-completions/goToDefinition.d.ts +27 -0
  289. package/dist/editor-completions/goToDefinition.js +112 -0
  290. package/dist/editor-completions/index.d.ts +39 -0
  291. package/dist/editor-completions/index.js +181 -0
  292. package/dist/editor-completions/jsDocAnnotations.d.ts +29 -0
  293. package/dist/editor-completions/jsDocAnnotations.js +357 -0
  294. package/dist/editor-completions/modifierCompletions.d.ts +17 -0
  295. package/dist/editor-completions/modifierCompletions.js +197 -0
  296. package/dist/editor-completions/types.d.ts +119 -0
  297. package/dist/editor-completions/types.js +8 -0
  298. package/dist/export/index.d.ts +68 -0
  299. package/dist/export/index.js +1074 -0
  300. package/dist/export/templates.d.ts +24 -0
  301. package/dist/export/templates.js +186 -0
  302. package/dist/friendly-errors.d.ts +35 -0
  303. package/dist/friendly-errors.js +375 -0
  304. package/dist/function-like.d.ts +38 -0
  305. package/dist/function-like.js +83 -0
  306. package/dist/generated-branding.d.ts +16 -0
  307. package/dist/generated-branding.js +22 -0
  308. package/dist/generator/async-detection.d.ts +27 -0
  309. package/dist/generator/async-detection.js +56 -0
  310. package/dist/generator/code-utils.d.ts +76 -0
  311. package/dist/generator/code-utils.js +410 -0
  312. package/dist/generator/control-flow.d.ts +54 -0
  313. package/dist/generator/control-flow.js +284 -0
  314. package/dist/generator/inngest.d.ts +53 -0
  315. package/dist/generator/inngest.js +1126 -0
  316. package/dist/generator/scope-function-generator.d.ts +78 -0
  317. package/dist/generator/scope-function-generator.js +360 -0
  318. package/dist/generator/unified.d.ts +42 -0
  319. package/dist/generator/unified.js +1504 -0
  320. package/dist/generator.d.ts +54 -0
  321. package/dist/generator.js +100 -0
  322. package/dist/index.d.ts +85 -0
  323. package/dist/index.js +89 -0
  324. package/dist/jsdoc-parser.d.ts +308 -0
  325. package/dist/jsdoc-parser.js +923 -0
  326. package/dist/jsdoc-port-sync/constants.d.ts +41 -0
  327. package/dist/jsdoc-port-sync/constants.js +103 -0
  328. package/dist/jsdoc-port-sync/diff.d.ts +76 -0
  329. package/dist/jsdoc-port-sync/diff.js +319 -0
  330. package/dist/jsdoc-port-sync/index.d.ts +42 -0
  331. package/dist/jsdoc-port-sync/index.js +45 -0
  332. package/dist/jsdoc-port-sync/port-parser.d.ts +68 -0
  333. package/dist/jsdoc-port-sync/port-parser.js +579 -0
  334. package/dist/jsdoc-port-sync/rename.d.ts +21 -0
  335. package/dist/jsdoc-port-sync/rename.js +256 -0
  336. package/dist/jsdoc-port-sync/signature-parser.d.ts +104 -0
  337. package/dist/jsdoc-port-sync/signature-parser.js +559 -0
  338. package/dist/jsdoc-port-sync/sync.d.ts +36 -0
  339. package/dist/jsdoc-port-sync/sync.js +644 -0
  340. package/dist/jsdoc-port-sync.d.ts +10 -0
  341. package/dist/jsdoc-port-sync.js +10 -0
  342. package/dist/marketplace/index.d.ts +11 -0
  343. package/dist/marketplace/index.js +10 -0
  344. package/dist/marketplace/manifest.d.ts +32 -0
  345. package/dist/marketplace/manifest.js +176 -0
  346. package/dist/marketplace/registry.d.ts +30 -0
  347. package/dist/marketplace/registry.js +100 -0
  348. package/dist/marketplace/types.d.ts +154 -0
  349. package/dist/marketplace/types.js +9 -0
  350. package/dist/marketplace/validator.d.ts +13 -0
  351. package/dist/marketplace/validator.js +131 -0
  352. package/dist/mcp/auto-registration.d.ts +3 -0
  353. package/dist/mcp/auto-registration.js +62 -0
  354. package/dist/mcp/editor-connection.d.ts +50 -0
  355. package/dist/mcp/editor-connection.js +125 -0
  356. package/dist/mcp/event-buffer.d.ts +62 -0
  357. package/dist/mcp/event-buffer.js +150 -0
  358. package/dist/mcp/index.d.ts +12 -0
  359. package/dist/mcp/index.js +11 -0
  360. package/dist/mcp/resources.d.ts +14 -0
  361. package/dist/mcp/resources.js +55 -0
  362. package/dist/mcp/response-utils.d.ts +63 -0
  363. package/dist/mcp/response-utils.js +89 -0
  364. package/dist/mcp/server.d.ts +4 -0
  365. package/dist/mcp/server.js +99 -0
  366. package/dist/mcp/tools-diagram.d.ts +8 -0
  367. package/dist/mcp/tools-diagram.js +53 -0
  368. package/dist/mcp/tools-editor.d.ts +5 -0
  369. package/dist/mcp/tools-editor.js +190 -0
  370. package/dist/mcp/tools-export.d.ts +9 -0
  371. package/dist/mcp/tools-export.js +180 -0
  372. package/dist/mcp/tools-marketplace.d.ts +9 -0
  373. package/dist/mcp/tools-marketplace.js +132 -0
  374. package/dist/mcp/tools-pattern.d.ts +3 -0
  375. package/dist/mcp/tools-pattern.js +783 -0
  376. package/dist/mcp/tools-query.d.ts +3 -0
  377. package/dist/mcp/tools-query.js +364 -0
  378. package/dist/mcp/tools-template.d.ts +10 -0
  379. package/dist/mcp/tools-template.js +119 -0
  380. package/dist/mcp/types.d.ts +70 -0
  381. package/dist/mcp/types.js +8 -0
  382. package/dist/mcp/workflow-executor.d.ts +47 -0
  383. package/dist/mcp/workflow-executor.js +133 -0
  384. package/dist/migration/registry.d.ts +30 -0
  385. package/dist/migration/registry.js +29 -0
  386. package/dist/node-types-generator.d.ts +49 -0
  387. package/dist/node-types-generator.js +139 -0
  388. package/dist/npm-packages.d.ts +56 -0
  389. package/dist/npm-packages.js +255 -0
  390. package/dist/parser.d.ts +204 -0
  391. package/dist/parser.js +2100 -0
  392. package/dist/plugin/PluginPanel.d.ts +12 -0
  393. package/dist/plugin/PluginPanel.js +5 -0
  394. package/dist/plugin/index.d.ts +13 -0
  395. package/dist/plugin/index.js +14 -0
  396. package/dist/plugin/types.d.ts +75 -0
  397. package/dist/plugin/types.js +8 -0
  398. package/dist/resolve-package-types.d.ts +17 -0
  399. package/dist/resolve-package-types.js +123 -0
  400. package/dist/runtime/CancellationError.d.ts +11 -0
  401. package/dist/runtime/CancellationError.js +20 -0
  402. package/dist/runtime/ExecutionContext.d.ts +146 -0
  403. package/dist/runtime/ExecutionContext.js +235 -0
  404. package/dist/runtime/builtin-functions.d.ts +8 -0
  405. package/dist/runtime/builtin-functions.js +549 -0
  406. package/dist/runtime/events.d.ts +50 -0
  407. package/dist/runtime/events.js +2 -0
  408. package/dist/runtime/function-registry.d.ts +59 -0
  409. package/dist/runtime/function-registry.js +66 -0
  410. package/dist/runtime/index.d.ts +7 -0
  411. package/dist/runtime/index.js +7 -0
  412. package/dist/runtime/parameter-resolver.d.ts +62 -0
  413. package/dist/runtime/parameter-resolver.js +113 -0
  414. package/dist/server/index.d.ts +7 -0
  415. package/dist/server/index.js +6 -0
  416. package/dist/server/types.d.ts +93 -0
  417. package/dist/server/types.js +5 -0
  418. package/dist/server/webhook-server.d.ts +50 -0
  419. package/dist/server/webhook-server.js +269 -0
  420. package/dist/server/workflow-registry.d.ts +61 -0
  421. package/dist/server/workflow-registry.js +202 -0
  422. package/dist/shared-project.d.ts +9 -0
  423. package/dist/shared-project.js +28 -0
  424. package/dist/sugar-optimizer.d.ts +40 -0
  425. package/dist/sugar-optimizer.js +387 -0
  426. package/dist/testing/assertions.d.ts +51 -0
  427. package/dist/testing/assertions.js +127 -0
  428. package/dist/testing/index.d.ts +30 -0
  429. package/dist/testing/index.js +24 -0
  430. package/dist/testing/mock-approval.d.ts +81 -0
  431. package/dist/testing/mock-approval.js +98 -0
  432. package/dist/testing/mock-llm.d.ts +124 -0
  433. package/dist/testing/mock-llm.js +119 -0
  434. package/dist/testing/recorder.d.ts +72 -0
  435. package/dist/testing/recorder.js +70 -0
  436. package/dist/testing/replayer.d.ts +56 -0
  437. package/dist/testing/replayer.js +143 -0
  438. package/dist/testing/token-tracker.d.ts +71 -0
  439. package/dist/testing/token-tracker.js +94 -0
  440. package/dist/type-checker.d.ts +42 -0
  441. package/dist/type-checker.js +190 -0
  442. package/dist/type-mappings.d.ts +29 -0
  443. package/dist/type-mappings.js +125 -0
  444. package/dist/types/branded-ports.d.ts +151 -0
  445. package/dist/types/branded-ports.js +121 -0
  446. package/dist/types/index.d.ts +5 -0
  447. package/dist/types/index.js +5 -0
  448. package/dist/types.d.ts +139 -0
  449. package/dist/types.js +15 -0
  450. package/dist/utils/error-utils.d.ts +15 -0
  451. package/dist/utils/error-utils.js +27 -0
  452. package/dist/utils/lru-cache.d.ts +15 -0
  453. package/dist/utils/lru-cache.js +40 -0
  454. package/dist/utils/port-ordering.d.ts +26 -0
  455. package/dist/utils/port-ordering.js +88 -0
  456. package/dist/utils/port-tag-utils.d.ts +23 -0
  457. package/dist/utils/port-tag-utils.js +41 -0
  458. package/dist/utils/string-distance.d.ts +14 -0
  459. package/dist/utils/string-distance.js +56 -0
  460. package/dist/validation/agent-detection.d.ts +33 -0
  461. package/dist/validation/agent-detection.js +115 -0
  462. package/dist/validation/agent-rules.d.ts +48 -0
  463. package/dist/validation/agent-rules.js +262 -0
  464. package/dist/validator.d.ts +92 -0
  465. package/dist/validator.js +970 -0
  466. package/package.json +109 -0
@@ -0,0 +1,384 @@
1
+ /**
2
+ * Dev command - watch, compile, and run workflow on changes
3
+ */
4
+ import * as path from 'path';
5
+ import * as fs from 'fs';
6
+ import * as os from 'os';
7
+ import { glob } from 'glob';
8
+ import { spawn } from 'child_process';
9
+ import { compileCommand, compileInngestTarget } from './compile.js';
10
+ import { executeWorkflowFromFile } from '../../mcp/workflow-executor.js';
11
+ import { logger } from '../utils/logger.js';
12
+ import { getErrorMessage } from '../../utils/error-utils.js';
13
+ import { getFriendlyError } from '../../friendly-errors.js';
14
+ function timestamp() {
15
+ const now = new Date();
16
+ const h = String(now.getHours()).padStart(2, '0');
17
+ const m = String(now.getMinutes()).padStart(2, '0');
18
+ const s = String(now.getSeconds()).padStart(2, '0');
19
+ return `[${h}:${m}:${s}]`;
20
+ }
21
+ /**
22
+ * Parse params from --params or --params-file.
23
+ */
24
+ function parseParams(options) {
25
+ if (options.params) {
26
+ try {
27
+ return JSON.parse(options.params);
28
+ }
29
+ catch {
30
+ throw new Error(`Invalid JSON in --params: ${options.params}`);
31
+ }
32
+ }
33
+ if (options.paramsFile) {
34
+ const paramsFilePath = path.resolve(options.paramsFile);
35
+ if (!fs.existsSync(paramsFilePath)) {
36
+ throw new Error(`Params file not found: ${paramsFilePath}`);
37
+ }
38
+ try {
39
+ const content = fs.readFileSync(paramsFilePath, 'utf8');
40
+ return JSON.parse(content);
41
+ }
42
+ catch {
43
+ throw new Error(`Failed to parse params file: ${options.paramsFile}`);
44
+ }
45
+ }
46
+ return {};
47
+ }
48
+ /**
49
+ * Run a single compile + execute cycle.
50
+ * Returns true if both compile and run succeeded.
51
+ */
52
+ async function compileAndRun(filePath, params, options) {
53
+ // Step 1: Compile
54
+ const compileOpts = {
55
+ format: options.format,
56
+ clean: options.clean,
57
+ };
58
+ try {
59
+ await compileCommand(filePath, compileOpts);
60
+ if (!options.json) {
61
+ logger.success('Compiled successfully');
62
+ }
63
+ }
64
+ catch (error) {
65
+ const errorMsg = getErrorMessage(error);
66
+ const errorObj = error;
67
+ if (errorObj.errors && Array.isArray(errorObj.errors)) {
68
+ logger.error('Compile failed:');
69
+ for (const err of errorObj.errors) {
70
+ const friendly = getFriendlyError(err);
71
+ if (friendly) {
72
+ logger.error(` ${friendly.title}: ${friendly.explanation}`);
73
+ logger.info(` How to fix: ${friendly.fix}`);
74
+ }
75
+ else {
76
+ logger.error(` - ${err.message}`);
77
+ }
78
+ }
79
+ }
80
+ else {
81
+ logger.error(`Compile failed: ${errorMsg}`);
82
+ }
83
+ return false;
84
+ }
85
+ // Step 2: Run
86
+ try {
87
+ const result = await executeWorkflowFromFile(filePath, params, {
88
+ workflowName: options.workflow,
89
+ production: options.production ?? false,
90
+ includeTrace: !options.production,
91
+ });
92
+ if (options.json) {
93
+ process.stdout.write(JSON.stringify({
94
+ success: true,
95
+ workflow: result.functionName,
96
+ executionTime: result.executionTime,
97
+ result: result.result,
98
+ }, null, 2) + '\n');
99
+ }
100
+ else {
101
+ logger.success(`Workflow "${result.functionName}" completed in ${result.executionTime}ms`);
102
+ logger.newline();
103
+ logger.section('Result');
104
+ logger.log(JSON.stringify(result.result, null, 2));
105
+ }
106
+ return true;
107
+ }
108
+ catch (error) {
109
+ const errorMsg = getErrorMessage(error);
110
+ if (options.json) {
111
+ process.stdout.write(JSON.stringify({ success: false, error: errorMsg }, null, 2) + '\n');
112
+ }
113
+ else {
114
+ logger.error(`Run failed: ${errorMsg}`);
115
+ }
116
+ return false;
117
+ }
118
+ }
119
+ // ---------------------------------------------------------------------------
120
+ // Inngest Dev Mode
121
+ // ---------------------------------------------------------------------------
122
+ /**
123
+ * Check that required packages are installed.
124
+ */
125
+ function checkDependency(pkg, cwd) {
126
+ try {
127
+ require.resolve(pkg, { paths: [cwd] });
128
+ return true;
129
+ }
130
+ catch {
131
+ return false;
132
+ }
133
+ }
134
+ /**
135
+ * Generate the dev server entry file for Inngest.
136
+ */
137
+ function generateDevServerEntry(inngestOutputPath, framework, port) {
138
+ const relImport = `./${path.basename(inngestOutputPath).replace(/\.ts$/, '.js')}`;
139
+ if (framework === 'express') {
140
+ return `import express from 'express';
141
+ import { handler } from '${relImport}';
142
+
143
+ const app = express();
144
+ app.use(express.json());
145
+ app.use('/api/inngest', handler);
146
+ app.listen(${port}, () => {
147
+ console.log('Inngest dev server running on http://localhost:${port}');
148
+ console.log('Inngest endpoint: http://localhost:${port}/api/inngest');
149
+ console.log('');
150
+ console.log('Connect Inngest Dev Server:');
151
+ console.log(' npx inngest-cli@latest dev -u http://localhost:${port}/api/inngest');
152
+ });
153
+ `;
154
+ }
155
+ if (framework === 'hono') {
156
+ return `import { Hono } from 'hono';
157
+ import { serve } from '@hono/node-server';
158
+ import { handler } from '${relImport}';
159
+
160
+ const app = new Hono();
161
+ app.route('/api/inngest', handler);
162
+
163
+ serve({ fetch: app.fetch, port: ${port} }, () => {
164
+ console.log('Inngest dev server running on http://localhost:${port}');
165
+ console.log('Inngest endpoint: http://localhost:${port}/api/inngest');
166
+ console.log('');
167
+ console.log('Connect Inngest Dev Server:');
168
+ console.log(' npx inngest-cli@latest dev -u http://localhost:${port}/api/inngest');
169
+ });
170
+ `;
171
+ }
172
+ // Default: express (most common for dev)
173
+ return generateDevServerEntry(inngestOutputPath, 'express', port);
174
+ }
175
+ /**
176
+ * Compile workflow to Inngest and start a local dev server.
177
+ */
178
+ async function runInngestDevMode(filePath, options) {
179
+ const framework = options.framework ?? 'express';
180
+ const port = options.port ?? 3000;
181
+ const cwd = path.dirname(filePath);
182
+ // Check dependencies
183
+ const missingDeps = [];
184
+ if (!checkDependency('inngest', cwd))
185
+ missingDeps.push('inngest');
186
+ if (framework === 'express' && !checkDependency('express', cwd))
187
+ missingDeps.push('express');
188
+ if (framework === 'hono') {
189
+ if (!checkDependency('hono', cwd))
190
+ missingDeps.push('hono');
191
+ if (!checkDependency('@hono/node-server', cwd))
192
+ missingDeps.push('@hono/node-server');
193
+ }
194
+ if (missingDeps.length > 0) {
195
+ throw new Error(`Missing dependencies: ${missingDeps.join(', ')}. Install them with: npm install ${missingDeps.join(' ')}`);
196
+ }
197
+ // Set up temp directory for generated files
198
+ const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'fw-inngest-dev-'));
199
+ const inngestOutputPath = path.join(tmpDir, path.basename(filePath).replace(/\.ts$/, '.inngest.ts'));
200
+ let serverProcess = null;
201
+ const compileInngest = async () => {
202
+ try {
203
+ await compileInngestTarget(filePath, {
204
+ production: false,
205
+ workflowName: options.workflow,
206
+ serve: true,
207
+ framework: framework,
208
+ typedEvents: true,
209
+ });
210
+ // compileInngestTarget writes to filePath.replace(.ts, .inngest.ts)
211
+ // Copy it to our temp dir, then remove the source-adjacent file
212
+ const sourceOutput = filePath.replace(/\.ts$/, '.inngest.ts');
213
+ if (fs.existsSync(sourceOutput)) {
214
+ fs.copyFileSync(sourceOutput, inngestOutputPath);
215
+ try {
216
+ fs.unlinkSync(sourceOutput);
217
+ }
218
+ catch { /* ignore */ }
219
+ }
220
+ return true;
221
+ }
222
+ catch (error) {
223
+ logger.error(`Inngest compilation failed: ${getErrorMessage(error)}`);
224
+ return false;
225
+ }
226
+ };
227
+ const startServer = () => {
228
+ // Generate dev server entry
229
+ const entryPath = path.join(tmpDir, 'dev-server.ts');
230
+ const entryCode = generateDevServerEntry(inngestOutputPath, framework, port);
231
+ fs.writeFileSync(entryPath, entryCode, 'utf8');
232
+ // Spawn tsx to run the server
233
+ serverProcess = spawn('npx', ['tsx', entryPath], {
234
+ cwd: path.dirname(filePath),
235
+ stdio: 'inherit',
236
+ shell: true,
237
+ });
238
+ serverProcess.on('error', (err) => {
239
+ logger.error(`Server process error: ${err.message}`);
240
+ });
241
+ serverProcess.on('exit', (code) => {
242
+ if (code !== null && code !== 0) {
243
+ logger.error(`Server exited with code ${code}`);
244
+ }
245
+ serverProcess = null;
246
+ });
247
+ };
248
+ const stopServer = () => {
249
+ if (serverProcess && !serverProcess.killed) {
250
+ serverProcess.kill('SIGTERM');
251
+ serverProcess = null;
252
+ }
253
+ };
254
+ const restartServer = async () => {
255
+ stopServer();
256
+ const ok = await compileInngest();
257
+ if (ok) {
258
+ startServer();
259
+ }
260
+ };
261
+ // Header
262
+ logger.section('Inngest Dev Mode');
263
+ logger.info(`File: ${path.basename(filePath)}`);
264
+ logger.info(`Framework: ${framework}`);
265
+ logger.info(`Port: ${port}`);
266
+ logger.newline();
267
+ // Initial compile + start
268
+ const ok = await compileInngest();
269
+ if (!ok) {
270
+ if (options.once)
271
+ return;
272
+ logger.info('Fix the errors above, then save the file to retry.');
273
+ }
274
+ else {
275
+ if (options.once)
276
+ return;
277
+ startServer();
278
+ }
279
+ // Watch for changes
280
+ logger.newline();
281
+ logger.success('Watching for file changes... (Ctrl+C to stop)');
282
+ const files = await glob(path.resolve(filePath), { absolute: true });
283
+ const chokidar = await import('chokidar');
284
+ const watcher = chokidar.watch(files, {
285
+ persistent: true,
286
+ ignoreInitial: true,
287
+ });
288
+ watcher.on('change', async (file) => {
289
+ logger.newline();
290
+ logger.info(`${timestamp()} File changed: ${path.basename(file)}`);
291
+ logger.info('Recompiling and restarting server...');
292
+ logger.newline();
293
+ await restartServer();
294
+ });
295
+ // Cleanup
296
+ const sourceOutput = filePath.replace(/\.ts$/, '.inngest.ts');
297
+ const cleanup = () => {
298
+ logger.newline();
299
+ logger.info('Stopping Inngest dev mode...');
300
+ stopServer();
301
+ watcher.close();
302
+ // Clean up temp files and source-adjacent .inngest.ts
303
+ try {
304
+ fs.rmSync(tmpDir, { recursive: true, force: true });
305
+ }
306
+ catch { /* ignore */ }
307
+ try {
308
+ fs.unlinkSync(sourceOutput);
309
+ }
310
+ catch { /* ignore */ }
311
+ process.exit(0);
312
+ };
313
+ process.on('SIGINT', cleanup);
314
+ process.on('SIGTERM', cleanup);
315
+ // Keep process alive
316
+ await new Promise(() => { });
317
+ }
318
+ // ---------------------------------------------------------------------------
319
+ // Main Command
320
+ // ---------------------------------------------------------------------------
321
+ /**
322
+ * Dev command: watch + compile + run in a single loop.
323
+ */
324
+ export async function devCommand(input, options = {}) {
325
+ const filePath = path.resolve(input);
326
+ if (!fs.existsSync(filePath)) {
327
+ throw new Error(`File not found: ${filePath}`);
328
+ }
329
+ // Route to Inngest dev mode if target is inngest
330
+ if (options.target === 'inngest') {
331
+ return runInngestDevMode(filePath, options);
332
+ }
333
+ const params = parseParams(options);
334
+ if (!options.json) {
335
+ logger.section('Dev Mode');
336
+ logger.info(`File: ${path.basename(filePath)}`);
337
+ if (Object.keys(params).length > 0) {
338
+ logger.info(`Params: ${JSON.stringify(params)}`);
339
+ }
340
+ logger.newline();
341
+ }
342
+ // Initial compile + run
343
+ await compileAndRun(filePath, params, options);
344
+ // If --once, exit after first cycle
345
+ if (options.once) {
346
+ return;
347
+ }
348
+ if (!options.json) {
349
+ logger.newline();
350
+ logger.success('Watching for file changes... (Ctrl+C to stop)');
351
+ }
352
+ // Find files to watch
353
+ const files = await glob(input, { absolute: true });
354
+ // Use chokidar for reliable cross-platform file watching
355
+ const chokidar = await import('chokidar');
356
+ const watcher = chokidar.watch(files, {
357
+ persistent: true,
358
+ ignoreInitial: true,
359
+ });
360
+ watcher.on('change', async (file) => {
361
+ if (!options.json) {
362
+ logger.newline();
363
+ logger.info(`${timestamp()} File changed: ${path.basename(file)}`);
364
+ logger.newline();
365
+ }
366
+ await compileAndRun(filePath, params, options);
367
+ });
368
+ // Handle process termination
369
+ const cleanup = () => {
370
+ if (!options.json) {
371
+ logger.newline();
372
+ logger.info('Stopping dev mode...');
373
+ }
374
+ watcher.close();
375
+ process.exit(0);
376
+ };
377
+ process.on('SIGINT', cleanup);
378
+ process.on('SIGTERM', cleanup);
379
+ // Keep process alive
380
+ await new Promise(() => {
381
+ // Never resolves - keeps process running
382
+ });
383
+ }
384
+ //# sourceMappingURL=dev.js.map
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Diagram command — generates SVG diagrams from workflow files.
3
+ */
4
+ export interface DiagramCommandOptions {
5
+ theme?: 'dark' | 'light';
6
+ width?: number;
7
+ padding?: number;
8
+ showPortLabels?: boolean;
9
+ workflowName?: string;
10
+ output?: string;
11
+ }
12
+ export declare function diagramCommand(input: string, options?: DiagramCommandOptions): Promise<void>;
13
+ //# sourceMappingURL=diagram.d.ts.map
@@ -0,0 +1,33 @@
1
+ /* eslint-disable no-console */
2
+ /**
3
+ * Diagram command — generates SVG diagrams from workflow files.
4
+ */
5
+ import * as fs from 'fs';
6
+ import * as path from 'path';
7
+ import { fileToSVG } from '../../diagram/index.js';
8
+ import { logger } from '../utils/logger.js';
9
+ import { getErrorMessage } from '../../utils/error-utils.js';
10
+ export async function diagramCommand(input, options = {}) {
11
+ const { output, ...diagramOptions } = options;
12
+ const filePath = path.resolve(input);
13
+ if (!fs.existsSync(filePath)) {
14
+ logger.error(`File not found: ${filePath}`);
15
+ process.exit(1);
16
+ }
17
+ try {
18
+ const svg = fileToSVG(filePath, diagramOptions);
19
+ if (output) {
20
+ const outputPath = path.resolve(output);
21
+ fs.writeFileSync(outputPath, svg, 'utf-8');
22
+ logger.success(`Diagram written to ${outputPath}`);
23
+ }
24
+ else {
25
+ process.stdout.write(svg);
26
+ }
27
+ }
28
+ catch (error) {
29
+ logger.error(`Failed to generate diagram: ${getErrorMessage(error)}`);
30
+ process.exit(1);
31
+ }
32
+ }
33
+ //# sourceMappingURL=diagram.js.map
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Diff command - compares two workflow files semantically
3
+ */
4
+ import type { TDiffFormat } from '../../diff/index.js';
5
+ export interface DiffOptions {
6
+ format?: TDiffFormat;
7
+ workflowName?: string;
8
+ exitZero?: boolean;
9
+ }
10
+ export declare function diffCommand(file1: string, file2: string, options?: DiffOptions): Promise<void>;
11
+ //# sourceMappingURL=diff.d.ts.map
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Diff command - compares two workflow files semantically
3
+ */
4
+ import * as fs from 'fs';
5
+ import * as path from 'path';
6
+ import { parseWorkflow } from '../../api/index.js';
7
+ import { WorkflowDiffer, formatDiff } from '../../diff/index.js';
8
+ import { logger } from '../utils/logger.js';
9
+ import { getErrorMessage } from '../../utils/error-utils.js';
10
+ export async function diffCommand(file1, file2, options = {}) {
11
+ const { format = 'text', workflowName, exitZero = false } = options;
12
+ const filePath1 = path.resolve(file1);
13
+ const filePath2 = path.resolve(file2);
14
+ // Validate files exist
15
+ if (!fs.existsSync(filePath1)) {
16
+ logger.error(`File not found: ${filePath1}`);
17
+ process.exit(1);
18
+ }
19
+ if (!fs.existsSync(filePath2)) {
20
+ logger.error(`File not found: ${filePath2}`);
21
+ process.exit(1);
22
+ }
23
+ try {
24
+ // Parse both workflows
25
+ const [result1, result2] = await Promise.all([
26
+ parseWorkflow(filePath1, { workflowName }),
27
+ parseWorkflow(filePath2, { workflowName }),
28
+ ]);
29
+ if (result1.errors.length > 0) {
30
+ logger.error(`Parse errors in ${file1}:`);
31
+ result1.errors.forEach((err) => logger.error(` ${err}`));
32
+ process.exit(1);
33
+ }
34
+ if (result2.errors.length > 0) {
35
+ logger.error(`Parse errors in ${file2}:`);
36
+ result2.errors.forEach((err) => logger.error(` ${err}`));
37
+ process.exit(1);
38
+ }
39
+ // Compare workflows
40
+ const diff = WorkflowDiffer.compare(result1.ast, result2.ast);
41
+ // Output based on format
42
+ if (diff.identical) {
43
+ logger.success('Workflows are identical');
44
+ }
45
+ else {
46
+ // eslint-disable-next-line no-console
47
+ console.log(formatDiff(diff, format));
48
+ // Exit with code 1 if there are differences (useful for CI)
49
+ if (!exitZero) {
50
+ process.exit(1);
51
+ }
52
+ }
53
+ }
54
+ catch (error) {
55
+ logger.error(`Failed to diff workflows: ${getErrorMessage(error)}`);
56
+ process.exit(1);
57
+ }
58
+ }
59
+ //# sourceMappingURL=diff.js.map
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Doctor command - validates project environment and configuration for flow-weaver compatibility
3
+ */
4
+ import type { TModuleFormat } from '../../ast/types.js';
5
+ export interface DoctorOptions {
6
+ json?: boolean;
7
+ }
8
+ /**
9
+ * Result of detecting the project's module format
10
+ */
11
+ export interface ModuleFormatDetection {
12
+ format: TModuleFormat;
13
+ source: 'package.json' | 'tsconfig' | 'default';
14
+ details?: string;
15
+ }
16
+ export type CheckStatus = 'pass' | 'warn' | 'fail';
17
+ export interface CheckResult {
18
+ name: string;
19
+ status: CheckStatus;
20
+ message: string;
21
+ fix?: string;
22
+ details?: string;
23
+ }
24
+ export interface DoctorReport {
25
+ ok: boolean;
26
+ checks: CheckResult[];
27
+ summary: {
28
+ pass: number;
29
+ warn: number;
30
+ fail: number;
31
+ };
32
+ moduleFormat: ModuleFormatDetection;
33
+ }
34
+ /**
35
+ * Strips single-line (//) and multi-line comments from JSON-like text,
36
+ * preserving string contents that may contain // or slash-star sequences.
37
+ */
38
+ export declare function stripJsonComments(text: string): string;
39
+ /**
40
+ * Detect the project's module format from package.json and tsconfig.json
41
+ */
42
+ export declare function detectProjectModuleFormat(cwd: string): ModuleFormatDetection;
43
+ export declare function checkNodeVersion(): CheckResult;
44
+ export declare function checkTypeScriptVersion(cwd: string): CheckResult;
45
+ export declare function checkPackageJsonType(cwd: string): CheckResult;
46
+ export declare function checkTsconfigModule(cwd: string): CheckResult;
47
+ export declare function checkTsconfigModuleResolution(cwd: string): CheckResult;
48
+ export declare function checkFlowWeaverInstalled(cwd: string): CheckResult;
49
+ export declare function checkFlowWeaverVersion(cwd: string): CheckResult;
50
+ export declare function checkTypesNodeInstalled(cwd: string): CheckResult;
51
+ export declare function checkTsxAvailable(cwd: string): CheckResult;
52
+ export declare function checkProjectConfig(cwd: string): CheckResult;
53
+ export declare function checkDeploymentManifest(cwd: string): CheckResult;
54
+ export declare function checkDeploymentProfiles(cwd: string): CheckResult;
55
+ export declare function runDoctorChecks(cwd: string): DoctorReport;
56
+ export declare function doctorCommand(options?: DoctorOptions): Promise<void>;
57
+ //# sourceMappingURL=doctor.d.ts.map