@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,256 @@
1
+ /**
2
+ * @module jsdoc-port-sync/rename
3
+ *
4
+ * Port renaming and code rename synchronization.
5
+ */
6
+ import { isReservedPortName } from "../constants.js";
7
+ import { parsePortsFromFunctionText, hasOrphanPortLines, } from "./port-parser.js";
8
+ import { parseFunctionSignature, parseReturnTypeFields, } from "./signature-parser.js";
9
+ // =============================================================================
10
+ // Port Renaming
11
+ // =============================================================================
12
+ /**
13
+ * Rename a port in both JSDoc and function signature.
14
+ * For input ports: renames @input tag and function parameter
15
+ * For output ports: renames @output tag and return type field
16
+ * For scoped ports: also updates callback parameter/return names
17
+ */
18
+ export function renamePortInCode(code, oldPortName, newPortName, portType) {
19
+ const reservedNames = ["execute", "onSuccess", "onFailure"];
20
+ if (reservedNames.includes(oldPortName) || reservedNames.includes(newPortName)) {
21
+ return code;
22
+ }
23
+ const { inputs, outputs } = parsePortsFromFunctionText(code);
24
+ const allPorts = { ...inputs, ...outputs };
25
+ const ports = portType === "input" ? inputs : outputs;
26
+ if (!ports[oldPortName]) {
27
+ return code;
28
+ }
29
+ if (allPorts[newPortName]) {
30
+ return code;
31
+ }
32
+ let result = code;
33
+ const portDef = ports[oldPortName];
34
+ const isScoped = !!portDef.scope;
35
+ // 1. Rename in JSDoc
36
+ const tagType = portType === "input" ? "@input" : "@output";
37
+ const jsDocPattern = new RegExp(`(${tagType}\\s+)(\\[?)${oldPortName}(\\]?)`, "g");
38
+ result = result.replace(jsDocPattern, `$1$2${newPortName}$3`);
39
+ // 2. Rename in function signature
40
+ if (portType === "input") {
41
+ if (isScoped) {
42
+ result = renameFieldInReturnType(result, oldPortName, newPortName, true);
43
+ }
44
+ else {
45
+ result = renameParameterInSignature(result, oldPortName, newPortName);
46
+ }
47
+ }
48
+ else {
49
+ if (isScoped) {
50
+ result = renameCallbackParameter(result, oldPortName, newPortName);
51
+ }
52
+ else {
53
+ result = renameFieldInReturnType(result, oldPortName, newPortName, false);
54
+ }
55
+ }
56
+ return result;
57
+ }
58
+ /**
59
+ * Rename a parameter in the function signature
60
+ */
61
+ function renameParameterInSignature(code, oldName, newName) {
62
+ const paramPattern = new RegExp(`([(,]\\s*)${oldName}(\\s*[?:]|\\s*=)`, "g");
63
+ return code.replace(paramPattern, `$1${newName}$2`);
64
+ }
65
+ /**
66
+ * Remove a parameter from the function signature
67
+ */
68
+ function removeParameterFromSignature(code, paramName) {
69
+ const middleOrLastPattern = new RegExp(`,\\s*${paramName}\\s*[?]?\\s*:\\s*[^,)]+`, "g");
70
+ let result = code.replace(middleOrLastPattern, "");
71
+ const firstWithCommaPattern = new RegExp(`([(])\\s*${paramName}\\s*[?]?\\s*:\\s*[^,)]+,\\s*`, "g");
72
+ result = result.replace(firstWithCommaPattern, "$1");
73
+ const onlyParamPattern = new RegExp(`([(])\\s*${paramName}\\s*[?]?\\s*:\\s*[^,)]+\\s*([)])`, "g");
74
+ result = result.replace(onlyParamPattern, "$1$2");
75
+ return result;
76
+ }
77
+ /**
78
+ * Remove a field from the return type annotation
79
+ */
80
+ function removeFieldFromReturnType(code, fieldName) {
81
+ const middleOrLastPattern = new RegExp(`[;,]\\s*${fieldName}\\s*:\\s*[^;,}]+`, "g");
82
+ let result = code.replace(middleOrLastPattern, "");
83
+ const firstWithSemiPattern = new RegExp(`(\\{\\s*)${fieldName}\\s*:\\s*[^;,}]+[;,]\\s*`, "g");
84
+ result = result.replace(firstWithSemiPattern, "$1");
85
+ const onlyFieldPattern = new RegExp(`(\\{\\s*)${fieldName}\\s*:\\s*[^;,}]+\\s*(\\})`, "g");
86
+ result = result.replace(onlyFieldPattern, "$1$2");
87
+ return result;
88
+ }
89
+ /**
90
+ * Rename a field in return type: { fieldName: type }
91
+ */
92
+ function renameFieldInReturnType(code, oldName, newName, isCallback) {
93
+ if (isCallback) {
94
+ const callbackPattern = new RegExp(`(=>\\s*\\{[^}]*?)\\b${oldName}(\\s*:)`, "g");
95
+ return code.replace(callbackPattern, `$1${newName}$2`);
96
+ }
97
+ else {
98
+ const returnPattern = new RegExp(`(\\)\\s*:\\s*\\{[^}]*?)\\b${oldName}(\\s*:)`, "g");
99
+ return code.replace(returnPattern, `$1${newName}$2`);
100
+ }
101
+ }
102
+ /**
103
+ * Rename a parameter in a callback signature
104
+ */
105
+ function renameCallbackParameter(code, oldName, newName) {
106
+ const callbackParamPattern = new RegExp(`(:\\s*\\([^)]*?)\\b${oldName}(\\s*:)`, "g");
107
+ return code.replace(callbackParamPattern, `$1${newName}$2`);
108
+ }
109
+ // =============================================================================
110
+ // Helpers for Code Rename Sync
111
+ // =============================================================================
112
+ function getSyncableInputNames(code) {
113
+ const { inputs } = parsePortsFromFunctionText(code);
114
+ return Object.entries(inputs)
115
+ .filter(([name, port]) => !port.scope && !isReservedPortName(name))
116
+ .map(([name]) => name);
117
+ }
118
+ function getSyncableOutputNames(code) {
119
+ const { outputs } = parsePortsFromFunctionText(code);
120
+ return Object.entries(outputs)
121
+ .filter(([name, port]) => !port.scope && !isReservedPortName(name))
122
+ .map(([name]) => name);
123
+ }
124
+ function getSyncableParamNames(code) {
125
+ const { params } = parseFunctionSignature(code);
126
+ return params
127
+ .filter(p => !isReservedPortName(p.name) && !p.tsType?.includes("=>"))
128
+ .map(p => p.name);
129
+ }
130
+ function getSyncableReturnFieldNames(code) {
131
+ const returnTypeFields = parseReturnTypeFields(code);
132
+ return returnTypeFields.filter(f => !isReservedPortName(f));
133
+ }
134
+ /**
135
+ * Rename a port in JSDoc
136
+ */
137
+ function renamePortInJSDoc(code, oldName, newName, type) {
138
+ const tag = type === "input" ? "@input" : "@output";
139
+ const pattern = new RegExp(`(${tag}\\s+)${oldName}(\\b)`, "g");
140
+ return code.replace(pattern, `$1${newName}$2`);
141
+ }
142
+ // =============================================================================
143
+ // Code Rename Sync
144
+ // =============================================================================
145
+ /**
146
+ * Sync renames between JSDoc ports and function signature using before/after diff.
147
+ *
148
+ * @param previousCode - The code before the edit
149
+ * @param currentCode - The code after the edit
150
+ * @returns The synchronized code
151
+ */
152
+ export function syncCodeRenames(previousCode, currentCode) {
153
+ if (!previousCode.trim()) {
154
+ return currentCode;
155
+ }
156
+ const prevOrphanLines = hasOrphanPortLines(previousCode);
157
+ const currOrphanLines = hasOrphanPortLines(currentCode);
158
+ let result = currentCode;
159
+ // === INPUT PORTS ===
160
+ if (currOrphanLines.inputs) {
161
+ const prevJSDocInputs = getSyncableInputNames(previousCode);
162
+ const currJSDocInputs = getSyncableInputNames(currentCode);
163
+ const currSigParams = getSyncableParamNames(currentCode);
164
+ for (const prevName of prevJSDocInputs) {
165
+ if (!currJSDocInputs.includes(prevName) && currSigParams.includes(prevName)) {
166
+ result = removeParameterFromSignature(result, prevName);
167
+ }
168
+ }
169
+ }
170
+ else if (prevOrphanLines.inputs) {
171
+ // Skip rename detection
172
+ }
173
+ else {
174
+ const prevJSDocInputs = getSyncableInputNames(previousCode);
175
+ const currJSDocInputs = getSyncableInputNames(currentCode);
176
+ const prevSigParams = getSyncableParamNames(previousCode);
177
+ const currSigParams = getSyncableParamNames(currentCode);
178
+ const prevJSDocSet = new Set(prevJSDocInputs);
179
+ const currJSDocSet = new Set(currJSDocInputs);
180
+ const prevSigSet = new Set(prevSigParams);
181
+ const currSigSet = new Set(currSigParams);
182
+ const sigMatch = currentCode.match(/function\s+\w+\s*\(([^)]*)/s) ||
183
+ currentCode.match(/=\s*\(([^)]*)\)\s*(?:=>|:)/s);
184
+ const rawSigText = sigMatch?.[1] || "";
185
+ const jsDocPortsInRawButNotParsed = currJSDocInputs.some(name => new RegExp(`\\b${name}\\b`).test(rawSigText) && !currSigSet.has(name));
186
+ if (!jsDocPortsInRawButNotParsed) {
187
+ for (let i = 0; i < Math.min(currJSDocInputs.length, currSigParams.length); i++) {
188
+ const currJSDoc = currJSDocInputs[i];
189
+ const currSig = currSigParams[i];
190
+ if (currJSDoc === currSig)
191
+ continue;
192
+ const jsDocChanged = prevJSDocInputs[i] !== currJSDoc;
193
+ const sigChanged = prevSigParams[i] !== currSig;
194
+ if (jsDocChanged && !sigChanged) {
195
+ const oldJSDoc = prevJSDocInputs[i];
196
+ if (oldJSDoc && !currJSDocSet.has(oldJSDoc) && !prevJSDocSet.has(currJSDoc)) {
197
+ result = renameParameterInSignature(result, currSig, currJSDoc);
198
+ }
199
+ }
200
+ else if (sigChanged && !jsDocChanged) {
201
+ const oldSig = prevSigParams[i];
202
+ const oldNameInRawSig = new RegExp(`\\b${oldSig}\\b`).test(rawSigText);
203
+ if (oldSig && !currSigSet.has(oldSig) && !prevSigSet.has(currSig) && !oldNameInRawSig) {
204
+ result = renamePortInJSDoc(result, currJSDoc, currSig, "input");
205
+ }
206
+ }
207
+ }
208
+ }
209
+ }
210
+ // === OUTPUT PORTS ===
211
+ if (currOrphanLines.outputs) {
212
+ const prevJSDocOutputs = getSyncableOutputNames(previousCode);
213
+ const currJSDocOutputs = getSyncableOutputNames(currentCode);
214
+ const currReturnFields = getSyncableReturnFieldNames(currentCode);
215
+ for (const prevName of prevJSDocOutputs) {
216
+ if (!currJSDocOutputs.includes(prevName) && currReturnFields.includes(prevName)) {
217
+ result = removeFieldFromReturnType(result, prevName);
218
+ }
219
+ }
220
+ }
221
+ else if (prevOrphanLines.outputs) {
222
+ // Skip rename detection
223
+ }
224
+ else {
225
+ const prevJSDocOutputs = getSyncableOutputNames(previousCode);
226
+ const currJSDocOutputs = getSyncableOutputNames(currentCode);
227
+ const prevReturnFields = getSyncableReturnFieldNames(previousCode);
228
+ const currReturnFields = getSyncableReturnFieldNames(currentCode);
229
+ const prevJSDocSet = new Set(prevJSDocOutputs);
230
+ const currJSDocSet = new Set(currJSDocOutputs);
231
+ const prevReturnSet = new Set(prevReturnFields);
232
+ const currReturnSet = new Set(currReturnFields);
233
+ for (let i = 0; i < Math.min(currJSDocOutputs.length, currReturnFields.length); i++) {
234
+ const currJSDoc = currJSDocOutputs[i];
235
+ const currReturn = currReturnFields[i];
236
+ if (currJSDoc === currReturn)
237
+ continue;
238
+ const jsDocChanged = prevJSDocOutputs[i] !== currJSDoc;
239
+ const returnChanged = prevReturnFields[i] !== currReturn;
240
+ if (jsDocChanged && !returnChanged) {
241
+ const oldJSDoc = prevJSDocOutputs[i];
242
+ if (oldJSDoc && !currJSDocSet.has(oldJSDoc) && !prevJSDocSet.has(currJSDoc)) {
243
+ result = renameFieldInReturnType(result, currReturn, currJSDoc, false);
244
+ }
245
+ }
246
+ else if (returnChanged && !jsDocChanged) {
247
+ const oldReturn = prevReturnFields[i];
248
+ if (oldReturn && !currReturnSet.has(oldReturn) && !prevReturnSet.has(currReturn)) {
249
+ result = renamePortInJSDoc(result, currJSDoc, currReturn, "output");
250
+ }
251
+ }
252
+ }
253
+ }
254
+ return result;
255
+ }
256
+ //# sourceMappingURL=rename.js.map
@@ -0,0 +1,104 @@
1
+ /**
2
+ * @module jsdoc-port-sync/signature-parser
3
+ *
4
+ * Parse TypeScript function signatures to extract parameters and return types.
5
+ * Browser-compatible (regex-based, no ts-morph).
6
+ */
7
+ import type { TDataType } from "../ast/types.js";
8
+ /** Parsed function parameter */
9
+ export interface ParsedParam {
10
+ name: string;
11
+ tsType?: string;
12
+ optional: boolean;
13
+ defaultValue?: string;
14
+ position: number;
15
+ }
16
+ /**
17
+ * Parse function signature to extract parameters.
18
+ * Supports both function declarations and arrow functions.
19
+ * Uses balanced paren matching to handle nested callback types.
20
+ */
21
+ export declare function parseFunctionSignature(functionText: string): {
22
+ params: ParsedParam[];
23
+ functionType: "declaration" | "arrow" | "expression";
24
+ };
25
+ /**
26
+ * Parse return statement to extract object field names.
27
+ * Returns unique field names from all return statements.
28
+ */
29
+ export declare function parseReturnFields(functionText: string): string[];
30
+ /**
31
+ * Parse return body fields WITH inferred types.
32
+ * Analyzes `return { field: value }` statements to infer types from values.
33
+ *
34
+ * @returns Map of field name → inferred TypeScript type
35
+ */
36
+ export declare function parseReturnBodyFieldsWithTypes(functionText: string): Map<string, string>;
37
+ /**
38
+ * Parse return type annotation fields from function signature.
39
+ * Matches:
40
+ * - function foo(): { fieldName: type, ... }
41
+ * - const foo: TFlowWeaverNodeType<{...}, { fieldName: type, ... }> = ...
42
+ */
43
+ export declare function parseReturnTypeFields(functionText: string): string[];
44
+ /**
45
+ * Parse return type fields WITH their TypeScript types.
46
+ * Returns array of { name, tsType } for each field in the return type.
47
+ */
48
+ export declare function parseReturnTypeFieldsWithTypes(functionText: string): Array<{
49
+ name: string;
50
+ tsType: string;
51
+ }>;
52
+ /**
53
+ * Parse input type fields from TFlowWeaverNodeType<{inputs}, {outputs}> syntax.
54
+ * Returns field names and their types from the first type parameter (input type).
55
+ */
56
+ export declare function parseInputTypeFields(functionText: string): Array<{
57
+ name: string;
58
+ tsType: string;
59
+ }>;
60
+ /**
61
+ * Map TypeScript type to port type.
62
+ */
63
+ export declare function tsTypeToPortType(tsType: string | undefined): TDataType;
64
+ /**
65
+ * Map port type to TypeScript type string.
66
+ */
67
+ export declare function portTypeToTsType(portType: TDataType): string;
68
+ /**
69
+ * Parse callback type string to extract params and return type.
70
+ * E.g., "(execute: boolean, item: string) => { result: number }"
71
+ */
72
+ export declare function parseCallbackType(callbackType: string): {
73
+ params: Array<{
74
+ name: string;
75
+ typeStr: string;
76
+ }>;
77
+ returnType: string;
78
+ returnFields: Array<{
79
+ name: string;
80
+ typeStr: string;
81
+ }>;
82
+ };
83
+ /**
84
+ * Build callback type string from scoped ports, preserving existing non-scoped params.
85
+ * Scoped OUTPUT ports → callback parameters
86
+ * Scoped INPUT ports → callback return type
87
+ */
88
+ export declare function buildCallbackType(callbackParams: Array<[string, {
89
+ dataType: TDataType;
90
+ metadata?: {
91
+ order?: number;
92
+ };
93
+ }]>, callbackReturns: Array<[string, {
94
+ dataType: TDataType;
95
+ metadata?: {
96
+ order?: number;
97
+ };
98
+ }]>, existingCallbackType?: string): string;
99
+ /**
100
+ * Check if callback signature already has all required ports.
101
+ * Returns true if no update needed.
102
+ */
103
+ export declare function callbackHasAllPorts(callbackType: string, callbackParams: Array<[string, unknown]>, callbackReturns: Array<[string, unknown]>): boolean;
104
+ //# sourceMappingURL=signature-parser.d.ts.map