@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,279 @@
1
+ /**
2
+ * Description layer for external plugin API schemas.
3
+ *
4
+ * These arrays provide human-readable descriptions for fields that are
5
+ * extracted dynamically from Zod schemas at documentation build time.
6
+ * Field names come from the live schemas (code-tied), descriptions from here.
7
+ */
8
+ /** Field descriptions for pluginDefinitionSchema (plugin-artifact.yaml) */
9
+ export const PLUGIN_DEFINITION_FIELDS = [
10
+ {
11
+ name: 'name',
12
+ type: 'string',
13
+ required: true,
14
+ description: 'Unique plugin identifier (e.g., "my-analytics-plugin")',
15
+ },
16
+ {
17
+ name: 'version',
18
+ type: 'string',
19
+ required: true,
20
+ description: 'Semantic version (e.g., "1.0.0")',
21
+ },
22
+ {
23
+ name: 'description',
24
+ type: 'string',
25
+ required: true,
26
+ description: 'Human-readable plugin description',
27
+ },
28
+ {
29
+ name: 'entry',
30
+ type: 'object',
31
+ required: true,
32
+ description: 'Entry point paths for client and system modules',
33
+ children: [
34
+ {
35
+ name: 'client',
36
+ type: 'string',
37
+ required: true,
38
+ description: 'Client-side entry (e.g., "src/client.tsx")',
39
+ },
40
+ {
41
+ name: 'system',
42
+ type: 'string',
43
+ required: false,
44
+ description: 'Server-side entry (e.g., "src/system.ts")',
45
+ },
46
+ ],
47
+ },
48
+ {
49
+ name: 'dependencies',
50
+ type: 'object',
51
+ required: false,
52
+ description: 'Plugin and system dependencies',
53
+ children: [
54
+ {
55
+ name: 'plugins',
56
+ type: 'string[]',
57
+ required: false,
58
+ description: 'Required plugin IDs',
59
+ },
60
+ {
61
+ name: 'system',
62
+ type: 'string[]',
63
+ required: false,
64
+ description: 'Required system modules',
65
+ },
66
+ ],
67
+ },
68
+ {
69
+ name: 'capabilities',
70
+ type: 'object',
71
+ required: true,
72
+ description: 'Security capability declarations (see Capabilities section)',
73
+ },
74
+ ];
75
+ /** Field descriptions for pluginCapabilitiesSchema */
76
+ export const PLUGIN_CAPABILITIES = [
77
+ {
78
+ name: 'filesystem',
79
+ type: 'object',
80
+ required: false,
81
+ description: 'File system access',
82
+ children: [
83
+ {
84
+ name: 'allowed',
85
+ type: 'boolean',
86
+ required: true,
87
+ description: 'Enable filesystem access',
88
+ },
89
+ {
90
+ name: 'paths',
91
+ type: 'string[]',
92
+ required: false,
93
+ description: 'Allowed path patterns',
94
+ },
95
+ {
96
+ name: 'operations',
97
+ type: 'enum[]',
98
+ required: false,
99
+ description: 'Allowed operations',
100
+ enum: ['read', 'write', 'delete'],
101
+ },
102
+ ],
103
+ },
104
+ {
105
+ name: 'network',
106
+ type: 'object',
107
+ required: false,
108
+ description: 'Network access',
109
+ children: [
110
+ {
111
+ name: 'allowed',
112
+ type: 'boolean',
113
+ required: true,
114
+ description: 'Enable network access',
115
+ },
116
+ {
117
+ name: 'domains',
118
+ type: 'string[]',
119
+ required: false,
120
+ description: 'Allowed domains',
121
+ },
122
+ {
123
+ name: 'protocols',
124
+ type: 'enum[]',
125
+ required: false,
126
+ description: 'Allowed protocols',
127
+ enum: ['http', 'https', 'ws', 'wss'],
128
+ },
129
+ ],
130
+ },
131
+ {
132
+ name: 'process',
133
+ type: 'object',
134
+ required: false,
135
+ description: 'Process control',
136
+ children: [
137
+ {
138
+ name: 'allowed',
139
+ type: 'boolean',
140
+ required: true,
141
+ description: 'Enable process access',
142
+ },
143
+ {
144
+ name: 'maxMemory',
145
+ type: 'number',
146
+ required: false,
147
+ description: 'Memory limit in bytes',
148
+ },
149
+ {
150
+ name: 'timeout',
151
+ type: 'number',
152
+ required: false,
153
+ description: 'Execution timeout in ms',
154
+ },
155
+ ],
156
+ },
157
+ {
158
+ name: 'interop',
159
+ type: 'object',
160
+ required: false,
161
+ description: 'Inter-plugin communication',
162
+ children: [
163
+ {
164
+ name: 'allowed',
165
+ type: 'boolean',
166
+ required: true,
167
+ description: 'Enable inter-plugin calls',
168
+ },
169
+ {
170
+ name: 'plugins',
171
+ type: 'string[]',
172
+ required: false,
173
+ description: 'Allowed plugin IDs',
174
+ },
175
+ ],
176
+ },
177
+ ];
178
+ /** Field descriptions for pluginComponentConfigSchema */
179
+ export const PLUGIN_COMPONENT_CONFIG_FIELDS = [
180
+ {
181
+ name: 'name',
182
+ type: 'string',
183
+ required: true,
184
+ description: 'Component identifier (unique within plugin)',
185
+ },
186
+ {
187
+ name: 'displayName',
188
+ type: 'string',
189
+ required: true,
190
+ description: 'Label shown in UI headers and tabs',
191
+ },
192
+ {
193
+ name: 'description',
194
+ type: 'string',
195
+ required: false,
196
+ description: 'Tooltip or summary text',
197
+ },
198
+ {
199
+ name: 'icon',
200
+ type: 'string',
201
+ required: false,
202
+ description: 'Icon name from the icon catalog (camelCase)',
203
+ },
204
+ {
205
+ name: 'area',
206
+ type: 'enum',
207
+ required: true,
208
+ description: 'Placement area for the component',
209
+ },
210
+ ];
211
+ /** Description map for pluginComponentAreaSchema enum values */
212
+ export const PLUGIN_COMPONENT_AREAS = {
213
+ sidebar: 'Left dock zone (alongside project, documentation)',
214
+ main: 'Center content area',
215
+ toolbar: 'Rendered inline in toolbar — not window-compatible',
216
+ modal: 'Overlay dialog — not window-compatible',
217
+ panel: 'Right dock zone (alongside history, deployment)',
218
+ };
219
+ /** Categorized UI Kit components available to external plugins */
220
+ export const PLUGIN_UI_KIT_COMPONENTS = {
221
+ Display: [
222
+ 'Chip',
223
+ 'WorkflowDiagram',
224
+ 'NodeDiagram',
225
+ 'CodeBlock',
226
+ 'CodeSnippet',
227
+ 'CountBadge',
228
+ 'EmptyState',
229
+ 'Header',
230
+ 'Icon',
231
+ 'InfoSection',
232
+ 'JsonViewer',
233
+ 'KeyValueRow',
234
+ 'PanelHeader',
235
+ 'PanelTitle',
236
+ 'PortTag',
237
+ 'ProfileBadge',
238
+ 'StatusCard',
239
+ 'StatusDot',
240
+ 'StatusIndicator',
241
+ 'Table',
242
+ 'Tag',
243
+ 'TruncateText',
244
+ 'Typography',
245
+ ],
246
+ Feedback: ['Banner', 'ErrorBoundary', 'LoadingContainer', 'LoadingSpinner', 'Tooltip'],
247
+ Input: [
248
+ 'Button',
249
+ 'ButtonGroup',
250
+ 'IconButton',
251
+ 'Calendar',
252
+ 'Checkbox',
253
+ 'CodeEditor',
254
+ 'Input',
255
+ 'Slider',
256
+ 'StatusChip',
257
+ 'Switch',
258
+ 'ToggleGroup',
259
+ 'Tree',
260
+ 'ExpressionControl',
261
+ 'SelectableCard',
262
+ 'NodeIconPicker',
263
+ ],
264
+ Layout: [
265
+ 'CollapsibleSection',
266
+ 'Divider',
267
+ 'Draggable',
268
+ 'Flex',
269
+ 'Menu',
270
+ 'MenuItem',
271
+ 'Modal',
272
+ 'ResponsiveContainer',
273
+ 'Tabs',
274
+ 'Window',
275
+ ],
276
+ Navigation: ['Breadcrumbs', 'Stepper'],
277
+ Hooks: ['useVerticalResize', 'useStableCallback', 'useDebouncedLoading'],
278
+ };
279
+ //# sourceMappingURL=plugin-api.js.map
@@ -0,0 +1,5 @@
1
+ export { extractMcpTools, MCP_TOOLS } from './extractors/mcp-tools.js';
2
+ export { extractCliCommands, CLI_COMMANDS } from './extractors/cli-commands.js';
3
+ export { PLUGIN_DEFINITION_FIELDS, PLUGIN_CAPABILITIES, PLUGIN_COMPONENT_CONFIG_FIELDS, PLUGIN_COMPONENT_AREAS, PLUGIN_UI_KIT_COMPONENTS, } from './extractors/plugin-api.js';
4
+ export type { TMcpToolDoc, TMcpToolParam, TPluginApiFieldDoc, TCliCommandDoc, TCliOptionDoc } from './types.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,4 @@
1
+ export { extractMcpTools, MCP_TOOLS } from './extractors/mcp-tools.js';
2
+ export { extractCliCommands, CLI_COMMANDS } from './extractors/cli-commands.js';
3
+ export { PLUGIN_DEFINITION_FIELDS, PLUGIN_CAPABILITIES, PLUGIN_COMPONENT_CONFIG_FIELDS, PLUGIN_COMPONENT_AREAS, PLUGIN_UI_KIT_COMPONENTS, } from './extractors/plugin-api.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Types for documentation metadata extraction
3
+ */
4
+ /**
5
+ * Documentation for a Flow Weaver JSDoc annotation
6
+ */
7
+ export interface TAnnotationDoc {
8
+ /** Annotation name (e.g., '@input', '@connect') */
9
+ name: string;
10
+ /** Category for grouping (marker, port, workflow, metadata, pattern, standard) */
11
+ category: 'marker' | 'port' | 'workflow' | 'metadata' | 'pattern' | 'standard';
12
+ /** Syntax example */
13
+ syntax: string;
14
+ /** Human-readable description */
15
+ description: string;
16
+ /** Text to insert (for IDE completions) */
17
+ insertText: string;
18
+ /** Insert text format ('plain' or 'snippet') */
19
+ insertTextFormat: 'plain' | 'snippet';
20
+ }
21
+ /**
22
+ * Documentation for annotation modifiers (e.g., [order:N], [placement:TOP])
23
+ */
24
+ export interface TAnnotationModifierDoc {
25
+ /** Modifier name */
26
+ name: string;
27
+ /** Syntax example */
28
+ syntax: string;
29
+ /** Human-readable description */
30
+ description: string;
31
+ /** Enum values if applicable */
32
+ enum?: string[];
33
+ }
34
+ /**
35
+ * Documentation for an MCP tool
36
+ */
37
+ export interface TMcpToolDoc {
38
+ /** Tool name (e.g., 'fw_describe') */
39
+ name: string;
40
+ /** Human-readable description */
41
+ description: string;
42
+ /** Category for grouping */
43
+ category: 'query' | 'template' | 'pattern' | 'modify' | 'editor' | 'execution';
44
+ /** Tool parameters */
45
+ params: TMcpToolParam[];
46
+ }
47
+ /**
48
+ * Documentation for an MCP tool parameter
49
+ */
50
+ export interface TMcpToolParam {
51
+ /** Parameter name */
52
+ name: string;
53
+ /** Parameter type */
54
+ type: 'string' | 'number' | 'boolean' | 'object' | 'array';
55
+ /** Human-readable description */
56
+ description: string;
57
+ /** Whether the parameter is required */
58
+ required: boolean;
59
+ /** Enum values if applicable */
60
+ enum?: string[];
61
+ }
62
+ /**
63
+ * Documentation for a plugin API field (schema-tied description layer)
64
+ */
65
+ export interface TPluginApiFieldDoc {
66
+ /** Field name as it appears in the Zod schema */
67
+ name: string;
68
+ /** Display type string */
69
+ type: string;
70
+ /** Whether the field is required */
71
+ required: boolean;
72
+ /** Human-readable description */
73
+ description: string;
74
+ /** Enum values if applicable */
75
+ enum?: string[];
76
+ /** Nested child fields for object types */
77
+ children?: TPluginApiFieldDoc[];
78
+ }
79
+ /**
80
+ * Documentation for a CLI command option/flag
81
+ */
82
+ export interface TCliOptionDoc {
83
+ /** Flag string, e.g. "-o, --output" */
84
+ flags: string;
85
+ /** Argument placeholder, e.g. "<path>" or "esm|cjs|auto" */
86
+ arg?: string;
87
+ /** Human-readable description */
88
+ description: string;
89
+ /** Default value shown as "(default: value)" */
90
+ defaultValue?: string;
91
+ /** Mutual exclusivity group — options sharing the same group become a single select */
92
+ exclusive?: string;
93
+ /** Whether this option is required */
94
+ required?: boolean;
95
+ }
96
+ /**
97
+ * Documentation for a CLI command
98
+ */
99
+ export interface TCliCommandDoc {
100
+ /** Command name, e.g. "compile", "create workflow", "ui focus-node" */
101
+ name: string;
102
+ /** Full syntax string, e.g. "flow-weaver compile <input> [options]" */
103
+ syntax: string;
104
+ /** Human-readable description */
105
+ description: string;
106
+ /** Command options/flags */
107
+ options: TCliOptionDoc[];
108
+ /** Pre-computed list items (used verbatim instead of auto-generating from options) */
109
+ list?: string[];
110
+ /** Parent group for subcommands: "create", "pattern", "ui", "plugin" */
111
+ group?: string;
112
+ /** Override list style (default: 'cli') */
113
+ listStyle?: string;
114
+ /** Valid choices for positional arguments — keyed by arg name */
115
+ positionalChoices?: Record<string, {
116
+ id: string;
117
+ label: string;
118
+ }[]>;
119
+ }
120
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Types for documentation metadata extraction
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Editor Completions - Annotation Values
3
+ *
4
+ * Static value completions for annotations that take specific values.
5
+ * E.g., @executeWhen CONJUNCTION, @flowWeaver workflow, @color purple
6
+ */
7
+ import type { FlowWeaverCompletion } from './types.js';
8
+ /**
9
+ * Get value completions for a specific annotation.
10
+ */
11
+ export declare function getAnnotationValueCompletions(annotation: string, prefix: string): FlowWeaverCompletion[];
12
+ //# sourceMappingURL=annotationValues.d.ts.map
@@ -0,0 +1,138 @@
1
+ /**
2
+ * Editor Completions - Annotation Values
3
+ *
4
+ * Static value completions for annotations that take specific values.
5
+ * E.g., @executeWhen CONJUNCTION, @flowWeaver workflow, @color purple
6
+ */
7
+ /**
8
+ * Value maps for annotations that accept specific values.
9
+ */
10
+ const ANNOTATION_VALUES = {
11
+ '@executeWhen': [
12
+ {
13
+ label: 'CONJUNCTION',
14
+ detail: 'All inputs required',
15
+ documentation: 'Node executes when ALL connected input step ports have fired.',
16
+ insertText: 'CONJUNCTION',
17
+ insertTextFormat: 'plain',
18
+ kind: 'value',
19
+ sortOrder: 0,
20
+ },
21
+ {
22
+ label: 'DISJUNCTION',
23
+ detail: 'Any input triggers',
24
+ documentation: 'Node executes when ANY connected input step port has fired.',
25
+ insertText: 'DISJUNCTION',
26
+ insertTextFormat: 'plain',
27
+ kind: 'value',
28
+ sortOrder: 1,
29
+ },
30
+ {
31
+ label: 'CUSTOM',
32
+ detail: 'Custom execution logic',
33
+ documentation: 'Node uses custom logic to determine when to execute.',
34
+ insertText: 'CUSTOM',
35
+ insertTextFormat: 'plain',
36
+ kind: 'value',
37
+ sortOrder: 2,
38
+ },
39
+ ],
40
+ '@flowWeaver': [
41
+ {
42
+ label: 'workflow',
43
+ detail: 'Visual workflow',
44
+ documentation: 'Marks this function as a Flow Weaver workflow with a visual node graph.',
45
+ insertText: 'workflow',
46
+ insertTextFormat: 'plain',
47
+ kind: 'value',
48
+ sortOrder: 0,
49
+ },
50
+ {
51
+ label: 'nodeType',
52
+ detail: 'Reusable node type',
53
+ documentation: 'Defines a reusable node type that can be instantiated in workflows.',
54
+ insertText: 'nodeType',
55
+ insertTextFormat: 'plain',
56
+ kind: 'value',
57
+ sortOrder: 1,
58
+ },
59
+ ],
60
+ '@color': [
61
+ {
62
+ label: 'purple',
63
+ detail: 'Purple node color',
64
+ insertText: 'purple',
65
+ insertTextFormat: 'plain',
66
+ kind: 'value',
67
+ sortOrder: 0,
68
+ },
69
+ {
70
+ label: 'blue',
71
+ detail: 'Blue node color',
72
+ insertText: 'blue',
73
+ insertTextFormat: 'plain',
74
+ kind: 'value',
75
+ sortOrder: 1,
76
+ },
77
+ {
78
+ label: 'green',
79
+ detail: 'Green node color',
80
+ insertText: 'green',
81
+ insertTextFormat: 'plain',
82
+ kind: 'value',
83
+ sortOrder: 2,
84
+ },
85
+ {
86
+ label: 'orange',
87
+ detail: 'Orange node color',
88
+ insertText: 'orange',
89
+ insertTextFormat: 'plain',
90
+ kind: 'value',
91
+ sortOrder: 3,
92
+ },
93
+ {
94
+ label: 'red',
95
+ detail: 'Red node color',
96
+ insertText: 'red',
97
+ insertTextFormat: 'plain',
98
+ kind: 'value',
99
+ sortOrder: 4,
100
+ },
101
+ {
102
+ label: 'teal',
103
+ detail: 'Teal node color',
104
+ insertText: 'teal',
105
+ insertTextFormat: 'plain',
106
+ kind: 'value',
107
+ sortOrder: 5,
108
+ },
109
+ {
110
+ label: 'pink',
111
+ detail: 'Pink node color',
112
+ insertText: 'pink',
113
+ insertTextFormat: 'plain',
114
+ kind: 'value',
115
+ sortOrder: 6,
116
+ },
117
+ {
118
+ label: 'yellow',
119
+ detail: 'Yellow node color',
120
+ insertText: 'yellow',
121
+ insertTextFormat: 'plain',
122
+ kind: 'value',
123
+ sortOrder: 7,
124
+ },
125
+ ],
126
+ };
127
+ /**
128
+ * Get value completions for a specific annotation.
129
+ */
130
+ export function getAnnotationValueCompletions(annotation, prefix) {
131
+ const values = ANNOTATION_VALUES[annotation];
132
+ if (!values) {
133
+ return [];
134
+ }
135
+ const lowerPrefix = prefix.toLowerCase();
136
+ return values.filter((v) => v.label.toLowerCase().startsWith(lowerPrefix));
137
+ }
138
+ //# sourceMappingURL=annotationValues.js.map
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Editor Completions - Context Parser
3
+ *
4
+ * Parses the current line to detect what type of completion is expected.
5
+ */
6
+ import type { CompletionContext, CompletionContextType } from './types.js';
7
+ /**
8
+ * Detect whether we're inside a @flowWeaver workflow or nodeType block.
9
+ * Scans preceding lines in the JSDoc block for the @flowWeaver annotation.
10
+ */
11
+ export declare function detectBlockType(precedingBlockLines: string[]): 'workflow' | 'nodeType' | null;
12
+ /**
13
+ * Parse the current line to detect completion context.
14
+ *
15
+ * @param lineText - The full text of the current line
16
+ * @param cursorOffset - Cursor position within the line (0-based)
17
+ * @param isInJSDoc - Whether the cursor is inside a JSDoc block
18
+ * @param precedingBlockLines - Optional lines from /** to cursor for block type detection
19
+ * @returns Completion context or null if no completion should be shown
20
+ */
21
+ export declare function parseCompletionContext(lineText: string, cursorOffset: number, isInJSDoc: boolean, precedingBlockLines?: string[]): CompletionContext | null;
22
+ /**
23
+ * Get the word at the given position in the line.
24
+ * Useful for go-to-definition to find what word was clicked.
25
+ */
26
+ export declare function getWordAtPosition(lineText: string, offset: number): {
27
+ word: string;
28
+ start: number;
29
+ end: number;
30
+ } | null;
31
+ /**
32
+ * Detect what kind of symbol is at the given position.
33
+ * Used for go-to-definition to determine navigation target.
34
+ */
35
+ export declare function detectSymbolType(lineText: string, offset: number): {
36
+ type: CompletionContextType;
37
+ name: string;
38
+ nodeId?: string;
39
+ } | null;
40
+ //# sourceMappingURL=contextParser.d.ts.map