@mcp-graph-workflow/mcp-graph 5.22.0 → 5.25.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 (225) hide show
  1. package/dist/api/routes/benchmark.d.ts.map +1 -1
  2. package/dist/api/routes/benchmark.js +22 -6
  3. package/dist/api/routes/benchmark.js.map +1 -1
  4. package/dist/api/routes/code-graph.d.ts.map +1 -1
  5. package/dist/api/routes/code-graph.js +2 -1
  6. package/dist/api/routes/code-graph.js.map +1 -1
  7. package/dist/api/routes/folder.d.ts +6 -0
  8. package/dist/api/routes/folder.d.ts.map +1 -1
  9. package/dist/api/routes/folder.js +53 -8
  10. package/dist/api/routes/folder.js.map +1 -1
  11. package/dist/api/routes/import.js +2 -1
  12. package/dist/api/routes/import.js.map +1 -1
  13. package/dist/api/routes/siebel.d.ts.map +1 -1
  14. package/dist/api/routes/siebel.js +4 -2
  15. package/dist/api/routes/siebel.js.map +1 -1
  16. package/dist/api/routes/skills.d.ts.map +1 -1
  17. package/dist/api/routes/skills.js +5 -2
  18. package/dist/api/routes/skills.js.map +1 -1
  19. package/dist/api/routes/translation.d.ts.map +1 -1
  20. package/dist/api/routes/translation.js +33 -9
  21. package/dist/api/routes/translation.js.map +1 -1
  22. package/dist/core/context/context-assembler.d.ts.map +1 -1
  23. package/dist/core/context/context-assembler.js +7 -0
  24. package/dist/core/context/context-assembler.js.map +1 -1
  25. package/dist/core/docs/docs-cache-store.js +1 -1
  26. package/dist/core/docs/docs-cache-store.js.map +1 -1
  27. package/dist/core/docs/stack-detector.js +6 -3
  28. package/dist/core/docs/stack-detector.js.map +1 -1
  29. package/dist/core/events/event-bus.d.ts +1 -1
  30. package/dist/core/events/event-bus.d.ts.map +1 -1
  31. package/dist/core/events/event-bus.js +13 -3
  32. package/dist/core/events/event-bus.js.map +1 -1
  33. package/dist/core/importer/prd-to-graph.d.ts.map +1 -1
  34. package/dist/core/importer/prd-to-graph.js +20 -5
  35. package/dist/core/importer/prd-to-graph.js.map +1 -1
  36. package/dist/core/integrations/integration-orchestrator.d.ts +1 -0
  37. package/dist/core/integrations/integration-orchestrator.d.ts.map +1 -1
  38. package/dist/core/integrations/integration-orchestrator.js +40 -19
  39. package/dist/core/integrations/integration-orchestrator.js.map +1 -1
  40. package/dist/core/knowledge/knowledge-packager.d.ts +44 -0
  41. package/dist/core/knowledge/knowledge-packager.d.ts.map +1 -0
  42. package/dist/core/knowledge/knowledge-packager.js +311 -0
  43. package/dist/core/knowledge/knowledge-packager.js.map +1 -0
  44. package/dist/core/parser/classify.js +2 -2
  45. package/dist/core/parser/classify.js.map +1 -1
  46. package/dist/core/parser/file-reader.d.ts.map +1 -1
  47. package/dist/core/parser/file-reader.js +9 -2
  48. package/dist/core/parser/file-reader.js.map +1 -1
  49. package/dist/core/parser/read-pdf.d.ts.map +1 -1
  50. package/dist/core/parser/read-pdf.js +5 -1
  51. package/dist/core/parser/read-pdf.js.map +1 -1
  52. package/dist/core/rag/knowledge-synthesizer.js +2 -2
  53. package/dist/core/rag/knowledge-synthesizer.js.map +1 -1
  54. package/dist/core/rag/node-indexer.d.ts.map +1 -1
  55. package/dist/core/rag/node-indexer.js +3 -2
  56. package/dist/core/rag/node-indexer.js.map +1 -1
  57. package/dist/core/store/migrations.d.ts.map +1 -1
  58. package/dist/core/store/migrations.js +10 -0
  59. package/dist/core/store/migrations.js.map +1 -1
  60. package/dist/core/store/sqlite-store.d.ts.map +1 -1
  61. package/dist/core/store/sqlite-store.js +39 -19
  62. package/dist/core/store/sqlite-store.js.map +1 -1
  63. package/dist/core/translation/chunked-analyzer.d.ts +36 -0
  64. package/dist/core/translation/chunked-analyzer.d.ts.map +1 -0
  65. package/dist/core/translation/chunked-analyzer.js +146 -0
  66. package/dist/core/translation/chunked-analyzer.js.map +1 -0
  67. package/dist/core/translation/confidence/ambiguity-detector.d.ts.map +1 -1
  68. package/dist/core/translation/confidence/ambiguity-detector.js +3 -1
  69. package/dist/core/translation/confidence/ambiguity-detector.js.map +1 -1
  70. package/dist/core/translation/language-detect.d.ts.map +1 -1
  71. package/dist/core/translation/language-detect.js +131 -0
  72. package/dist/core/translation/language-detect.js.map +1 -1
  73. package/dist/core/translation/memory/translation-memory.d.ts +14 -0
  74. package/dist/core/translation/memory/translation-memory.d.ts.map +1 -1
  75. package/dist/core/translation/memory/translation-memory.js +93 -0
  76. package/dist/core/translation/memory/translation-memory.js.map +1 -1
  77. package/dist/core/translation/parsers/cpp-parser-adapter.d.ts +9 -0
  78. package/dist/core/translation/parsers/cpp-parser-adapter.d.ts.map +1 -0
  79. package/dist/core/translation/parsers/cpp-parser-adapter.js +45 -0
  80. package/dist/core/translation/parsers/cpp-parser-adapter.js.map +1 -0
  81. package/dist/core/translation/parsers/csharp-parser-adapter.d.ts.map +1 -1
  82. package/dist/core/translation/parsers/csharp-parser-adapter.js +19 -22
  83. package/dist/core/translation/parsers/csharp-parser-adapter.js.map +1 -1
  84. package/dist/core/translation/parsers/dart-parser-adapter.d.ts +9 -0
  85. package/dist/core/translation/parsers/dart-parser-adapter.d.ts.map +1 -0
  86. package/dist/core/translation/parsers/dart-parser-adapter.js +44 -0
  87. package/dist/core/translation/parsers/dart-parser-adapter.js.map +1 -0
  88. package/dist/core/translation/parsers/elixir-parser-adapter.d.ts +9 -0
  89. package/dist/core/translation/parsers/elixir-parser-adapter.d.ts.map +1 -0
  90. package/dist/core/translation/parsers/elixir-parser-adapter.js +45 -0
  91. package/dist/core/translation/parsers/elixir-parser-adapter.js.map +1 -0
  92. package/dist/core/translation/parsers/go-parser-adapter.d.ts.map +1 -1
  93. package/dist/core/translation/parsers/go-parser-adapter.js +5 -2
  94. package/dist/core/translation/parsers/go-parser-adapter.js.map +1 -1
  95. package/dist/core/translation/parsers/haskell-parser-adapter.d.ts +9 -0
  96. package/dist/core/translation/parsers/haskell-parser-adapter.d.ts.map +1 -0
  97. package/dist/core/translation/parsers/haskell-parser-adapter.js +38 -0
  98. package/dist/core/translation/parsers/haskell-parser-adapter.js.map +1 -0
  99. package/dist/core/translation/parsers/java-parser-adapter.d.ts.map +1 -1
  100. package/dist/core/translation/parsers/java-parser-adapter.js +6 -1
  101. package/dist/core/translation/parsers/java-parser-adapter.js.map +1 -1
  102. package/dist/core/translation/parsers/kotlin-parser-adapter.d.ts +9 -0
  103. package/dist/core/translation/parsers/kotlin-parser-adapter.d.ts.map +1 -0
  104. package/dist/core/translation/parsers/kotlin-parser-adapter.js +43 -0
  105. package/dist/core/translation/parsers/kotlin-parser-adapter.js.map +1 -0
  106. package/dist/core/translation/parsers/lua-parser-adapter.d.ts +9 -0
  107. package/dist/core/translation/parsers/lua-parser-adapter.d.ts.map +1 -0
  108. package/dist/core/translation/parsers/lua-parser-adapter.js +42 -0
  109. package/dist/core/translation/parsers/lua-parser-adapter.js.map +1 -0
  110. package/dist/core/translation/parsers/php-parser-adapter.d.ts +9 -0
  111. package/dist/core/translation/parsers/php-parser-adapter.d.ts.map +1 -0
  112. package/dist/core/translation/parsers/php-parser-adapter.js +44 -0
  113. package/dist/core/translation/parsers/php-parser-adapter.js.map +1 -0
  114. package/dist/core/translation/parsers/rust-parser-adapter.js +1 -1
  115. package/dist/core/translation/parsers/scala-parser-adapter.d.ts +9 -0
  116. package/dist/core/translation/parsers/scala-parser-adapter.d.ts.map +1 -0
  117. package/dist/core/translation/parsers/scala-parser-adapter.js +43 -0
  118. package/dist/core/translation/parsers/scala-parser-adapter.js.map +1 -0
  119. package/dist/core/translation/parsers/swift-parser-adapter.d.ts +9 -0
  120. package/dist/core/translation/parsers/swift-parser-adapter.d.ts.map +1 -0
  121. package/dist/core/translation/parsers/swift-parser-adapter.js +44 -0
  122. package/dist/core/translation/parsers/swift-parser-adapter.js.map +1 -0
  123. package/dist/core/translation/pre-indexed-analyzer.d.ts +19 -0
  124. package/dist/core/translation/pre-indexed-analyzer.d.ts.map +1 -0
  125. package/dist/core/translation/pre-indexed-analyzer.js +100 -0
  126. package/dist/core/translation/pre-indexed-analyzer.js.map +1 -0
  127. package/dist/core/translation/prompt-builder.d.ts +2 -0
  128. package/dist/core/translation/prompt-builder.d.ts.map +1 -1
  129. package/dist/core/translation/prompt-builder.js +56 -8
  130. package/dist/core/translation/prompt-builder.js.map +1 -1
  131. package/dist/core/translation/prompt-paginator.d.ts +20 -0
  132. package/dist/core/translation/prompt-paginator.d.ts.map +1 -0
  133. package/dist/core/translation/prompt-paginator.js +108 -0
  134. package/dist/core/translation/prompt-paginator.js.map +1 -0
  135. package/dist/core/translation/translation-orchestrator.d.ts +9 -2
  136. package/dist/core/translation/translation-orchestrator.d.ts.map +1 -1
  137. package/dist/core/translation/translation-orchestrator.js +116 -16
  138. package/dist/core/translation/translation-orchestrator.js.map +1 -1
  139. package/dist/core/translation/translation-store.d.ts +6 -0
  140. package/dist/core/translation/translation-store.d.ts.map +1 -1
  141. package/dist/core/translation/translation-store.js +28 -0
  142. package/dist/core/translation/translation-store.js.map +1 -1
  143. package/dist/core/utils/circularity.d.ts +13 -0
  144. package/dist/core/utils/circularity.d.ts.map +1 -0
  145. package/dist/core/utils/circularity.js +30 -0
  146. package/dist/core/utils/circularity.js.map +1 -0
  147. package/dist/mcp/code-intelligence-wrapper.d.ts.map +1 -1
  148. package/dist/mcp/code-intelligence-wrapper.js +4 -2
  149. package/dist/mcp/code-intelligence-wrapper.js.map +1 -1
  150. package/dist/mcp/init-project.d.ts.map +1 -1
  151. package/dist/mcp/init-project.js +4 -2
  152. package/dist/mcp/init-project.js.map +1 -1
  153. package/dist/mcp/server.js +21 -4
  154. package/dist/mcp/server.js.map +1 -1
  155. package/dist/mcp/tool-classification.d.ts.map +1 -1
  156. package/dist/mcp/tool-classification.js +0 -1
  157. package/dist/mcp/tool-classification.js.map +1 -1
  158. package/dist/mcp/tools/analyze-translation.d.ts.map +1 -1
  159. package/dist/mcp/tools/analyze-translation.js +48 -8
  160. package/dist/mcp/tools/analyze-translation.js.map +1 -1
  161. package/dist/mcp/tools/clone-node.d.ts.map +1 -1
  162. package/dist/mcp/tools/clone-node.js +8 -3
  163. package/dist/mcp/tools/clone-node.js.map +1 -1
  164. package/dist/mcp/tools/edge.js +1 -1
  165. package/dist/mcp/tools/edge.js.map +1 -1
  166. package/dist/mcp/tools/import-graph.d.ts.map +1 -1
  167. package/dist/mcp/tools/import-graph.js +4 -2
  168. package/dist/mcp/tools/import-graph.js.map +1 -1
  169. package/dist/mcp/tools/index.d.ts.map +1 -1
  170. package/dist/mcp/tools/index.js +4 -0
  171. package/dist/mcp/tools/index.js.map +1 -1
  172. package/dist/mcp/tools/knowledge-export.d.ts +8 -0
  173. package/dist/mcp/tools/knowledge-export.d.ts.map +1 -0
  174. package/dist/mcp/tools/knowledge-export.js +100 -0
  175. package/dist/mcp/tools/knowledge-export.js.map +1 -0
  176. package/dist/mcp/tools/memory.d.ts.map +1 -1
  177. package/dist/mcp/tools/memory.js +1 -0
  178. package/dist/mcp/tools/memory.js.map +1 -1
  179. package/dist/mcp/tools/move-node.d.ts.map +1 -1
  180. package/dist/mcp/tools/move-node.js +4 -14
  181. package/dist/mcp/tools/move-node.js.map +1 -1
  182. package/dist/mcp/tools/node.d.ts.map +1 -1
  183. package/dist/mcp/tools/node.js +5 -16
  184. package/dist/mcp/tools/node.js.map +1 -1
  185. package/dist/mcp/tools/siebel-generate-sif.js +4 -2
  186. package/dist/mcp/tools/siebel-generate-sif.js.map +1 -1
  187. package/dist/mcp/tools/translate-code.d.ts.map +1 -1
  188. package/dist/mcp/tools/translate-code.js +54 -7
  189. package/dist/mcp/tools/translate-code.js.map +1 -1
  190. package/dist/mcp/tools/translation-jobs.d.ts +8 -0
  191. package/dist/mcp/tools/translation-jobs.d.ts.map +1 -0
  192. package/dist/mcp/tools/translation-jobs.js +100 -0
  193. package/dist/mcp/tools/translation-jobs.js.map +1 -0
  194. package/dist/schemas/knowledge-package.schema.d.ts +87 -0
  195. package/dist/schemas/knowledge-package.schema.d.ts.map +1 -0
  196. package/dist/schemas/knowledge-package.schema.js +48 -0
  197. package/dist/schemas/knowledge-package.schema.js.map +1 -0
  198. package/dist/web/dashboard/dist/assets/benchmark-tab-sjsZBd-4.js +1 -0
  199. package/dist/web/dashboard/dist/assets/{circle-alert-vaRHjxbG.js → circle-alert-DcTbCUEa.js} +1 -1
  200. package/dist/web/dashboard/dist/assets/{context-tab-DRUGmBRL.js → context-tab-DNMJ2Pv-.js} +1 -1
  201. package/dist/web/dashboard/dist/assets/{gitnexus-tab-h8BwIua3.js → gitnexus-tab-CZ9LJbwz.js} +1 -1
  202. package/dist/web/dashboard/dist/assets/{graph-section-C4ymXtzh.js → graph-section-BdcXKKoS.js} +1 -1
  203. package/dist/web/dashboard/dist/assets/{graph-tab-C6nWMQkR.js → graph-tab-CFzux3kf.js} +1 -1
  204. package/dist/web/dashboard/dist/assets/{graph-utils-DkRXfigF.js → graph-utils-_8jpWA5z.js} +1 -1
  205. package/dist/web/dashboard/dist/assets/{index-DmT4Jne7.js → index-Bny20bel.js} +1 -1
  206. package/dist/web/dashboard/dist/assets/index-CITYTuX5.js +218 -0
  207. package/dist/web/dashboard/dist/assets/{index-BW0cq1-5.js → index-DSI2SYWO.js} +1 -1
  208. package/dist/web/dashboard/dist/assets/{insights-tab-CL9LCuow.js → insights-tab-DUA76KUY.js} +2 -2
  209. package/dist/web/dashboard/dist/assets/{journey-tab-CbJSfdpz.js → journey-tab-FTd6jBta.js} +1 -1
  210. package/dist/web/dashboard/dist/assets/{languages-tab-Vjkz6r99.js → languages-tab-B_nhFL2q.js} +1 -1
  211. package/dist/web/dashboard/dist/assets/{loader-circle-CrUmRfZB.js → loader-circle-D1DpGd2u.js} +1 -1
  212. package/dist/web/dashboard/dist/assets/{logs-tab-CeH_wY9u.js → logs-tab-CzL36_Qy.js} +1 -1
  213. package/dist/web/dashboard/dist/assets/{lsp-tab-BLIpJrAk.js → lsp-tab-DdHhJq_H.js} +1 -1
  214. package/dist/web/dashboard/dist/assets/memories-tab-CzgCahnV.js +1 -0
  215. package/dist/web/dashboard/dist/assets/{prd-backlog-tab-BBUG4V7M.js → prd-backlog-tab-C8Cl7swI.js} +1 -1
  216. package/dist/web/dashboard/dist/assets/{refresh-cw-DRsAUgYq.js → refresh-cw-DSYiHmbh.js} +1 -1
  217. package/dist/web/dashboard/dist/assets/{siebel-tab-DZXhcoUu.js → siebel-tab-B4XOaUGz.js} +3 -3
  218. package/dist/web/dashboard/dist/assets/{skills-tab-_A8OYt_b.js → skills-tab-CkpnwPJY.js} +1 -1
  219. package/dist/web/dashboard/dist/assets/{style-DpBYmOVU.js → style-BOQDk6qp.js} +1 -1
  220. package/dist/web/dashboard/dist/assets/{triangle-alert-N0TixBQV.js → triangle-alert-Bf6Ly19h.js} +1 -1
  221. package/dist/web/dashboard/dist/index.html +1 -1
  222. package/package.json +2 -2
  223. package/dist/web/dashboard/dist/assets/benchmark-tab-D7nae4k4.js +0 -1
  224. package/dist/web/dashboard/dist/assets/index-DSPPavjF.js +0 -218
  225. package/dist/web/dashboard/dist/assets/memories-tab-BHOvEW0o.js +0 -1
@@ -0,0 +1,45 @@
1
+ const LINE_RULES = [
2
+ { pattern: /^\s*import\s+/, constructId: "uc_import_named" },
3
+ { pattern: /^\s*alias\s+/, constructId: "uc_import_named" },
4
+ { pattern: /^\s*use\s+/, constructId: "uc_import_named" },
5
+ { pattern: /^\s*defmodule\s+(\w[\w.]*)/, constructId: "uc_class_def", nameGroup: 1 },
6
+ { pattern: /^\s*def\s+(\w+[?!]?)\s*\(/, constructId: "uc_fn_def", nameGroup: 1 },
7
+ { pattern: /^\s*defp\s+(\w+[?!]?)\s*\(/, constructId: "uc_fn_def", nameGroup: 1 },
8
+ { pattern: /^\s*try\s+do\b/, constructId: "uc_try_catch" },
9
+ { pattern: /^\s*rescue\b/, constructId: "uc_try_catch" },
10
+ { pattern: /^\s*raise\s+/, constructId: "uc_throw" },
11
+ { pattern: /^\s*cond\s+do\b/, constructId: "uc_if_else" },
12
+ { pattern: /^\s*if\s+/, constructId: "uc_if_else" },
13
+ { pattern: /^\s*unless\s+/, constructId: "uc_if_else" },
14
+ { pattern: /^\s*case\s+.+\s+do\b/, constructId: "uc_switch" },
15
+ { pattern: /^\s*for\s+.+<-\s*.+do\b/, constructId: "uc_for_each" },
16
+ { pattern: /Enum\.each\b/, constructId: "uc_for_each" },
17
+ { pattern: /^\s*return\b/, constructId: "uc_return" },
18
+ ];
19
+ export class ElixirParserAdapter {
20
+ languageId = "elixir";
21
+ parseSnippet(code) {
22
+ if (!code.trim())
23
+ return [];
24
+ const lines = code.split("\n");
25
+ const constructs = [];
26
+ for (let i = 0; i < lines.length; i++) {
27
+ const line = lines[i];
28
+ const lineNum = i + 1;
29
+ for (const rule of LINE_RULES) {
30
+ const match = rule.pattern.exec(line);
31
+ if (!match)
32
+ continue;
33
+ constructs.push({
34
+ constructId: rule.constructId,
35
+ name: rule.nameGroup ? match[rule.nameGroup] : undefined,
36
+ startLine: lineNum,
37
+ endLine: lineNum,
38
+ });
39
+ break;
40
+ }
41
+ }
42
+ return constructs;
43
+ }
44
+ }
45
+ //# sourceMappingURL=elixir-parser-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elixir-parser-adapter.js","sourceRoot":"","sources":["../../../../src/core/translation/parsers/elixir-parser-adapter.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,GAAW;IACzB,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE;IAC5D,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,EAAE;IAC3D,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE;IACzD,EAAE,OAAO,EAAE,4BAA4B,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE;IACpF,EAAE,OAAO,EAAE,2BAA2B,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,EAAE;IAChF,EAAE,OAAO,EAAE,4BAA4B,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,EAAE;IACjF,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,EAAE;IAC1D,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE;IACxD,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE;IACpD,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,EAAE;IACzD,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE;IACnD,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE;IACvD,EAAE,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,WAAW,EAAE;IAC7D,EAAE,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,aAAa,EAAE;IAClE,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE;IACvD,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE;CACtD,CAAC;AAEF,MAAM,OAAO,mBAAmB;IACrB,UAAU,GAAG,QAAQ,CAAC;IAE/B,YAAY,CAAC,IAAY;QACvB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,UAAU,GAAsB,EAAE,CAAC;QAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YACtB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,CAAC,KAAK;oBAAE,SAAS;gBACrB,UAAU,CAAC,IAAI,CAAC;oBACd,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;oBACxD,SAAS,EAAE,OAAO;oBAClB,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"go-parser-adapter.d.ts","sourceRoot":"","sources":["../../../../src/core/translation/parsers/go-parser-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAuB1E,qBAAa,eAAgB,YAAW,aAAa;IACnD,QAAQ,CAAC,UAAU,QAAQ;IAE3B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE;CAsB9C"}
1
+ {"version":3,"file":"go-parser-adapter.d.ts","sourceRoot":"","sources":["../../../../src/core/translation/parsers/go-parser-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AA0B1E,qBAAa,eAAgB,YAAW,aAAa;IACnD,QAAQ,CAAC,UAAU,QAAQ;IAE3B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE;CAsB9C"}
@@ -6,10 +6,13 @@ const LINE_RULES = [
6
6
  { pattern: /^func\s+(\w+)\s*\(/, constructId: "uc_fn_def", nameGroup: 1 },
7
7
  { pattern: /^\s*go\s+func/, constructId: "uc_async_fn" },
8
8
  { pattern: /^\s*if\s+/, constructId: "uc_if_else" },
9
- { pattern: /^\s*for\s+/, constructId: "uc_for_loop" },
10
- { pattern: /^\s*switch\s+/, constructId: "uc_switch" },
9
+ { pattern: /^\s*}\s*else\b/, constructId: "uc_if_else" },
10
+ { pattern: /^\s*for\s+/, constructId: "uc_for_each" },
11
+ { pattern: /^\s*for\s*\{/, constructId: "uc_for_each" },
12
+ { pattern: /^\s*switch\b/, constructId: "uc_switch" },
11
13
  { pattern: /^\s*return\b/, constructId: "uc_return" },
12
14
  { pattern: /^\s*defer\s+/, constructId: "uc_try_catch" }, // Go defer ~ finally
15
+ { pattern: /^\s*const\s*\(/, constructId: "uc_type_enum" }, // Go enum pattern with iota
13
16
  ];
14
17
  export class GoParserAdapter {
15
18
  languageId = "go";
@@ -1 +1 @@
1
- {"version":3,"file":"go-parser-adapter.js","sourceRoot":"","sources":["../../../../src/core/translation/parsers/go-parser-adapter.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,GAAW;IACzB,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE;IACzD,EAAE,OAAO,EAAE,6BAA6B,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE;IACrF,EAAE,OAAO,EAAE,gCAAgC,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE;IACxF,EAAE,OAAO,EAAE,kCAAkC,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,SAAS;IAClG,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,EAAE;IACzE,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE;IACxD,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE;IACnD,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE;IACrD,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE;IACtD,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE;IACrD,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE,qBAAqB;CAChF,CAAC;AAEF,MAAM,OAAO,eAAe;IACjB,UAAU,GAAG,IAAI,CAAC;IAE3B,YAAY,CAAC,IAAY;QACvB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,UAAU,GAAsB,EAAE,CAAC;QAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YACtB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,CAAC,KAAK;oBAAE,SAAS;gBACrB,UAAU,CAAC,IAAI,CAAC;oBACd,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;oBACxD,SAAS,EAAE,OAAO;oBAClB,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}
1
+ {"version":3,"file":"go-parser-adapter.js","sourceRoot":"","sources":["../../../../src/core/translation/parsers/go-parser-adapter.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,GAAW;IACzB,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE;IACzD,EAAE,OAAO,EAAE,6BAA6B,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE;IACrF,EAAE,OAAO,EAAE,gCAAgC,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE;IACxF,EAAE,OAAO,EAAE,kCAAkC,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,SAAS;IAClG,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,EAAE;IACzE,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE;IACxD,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE;IACnD,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE;IACxD,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE;IACrD,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE;IACvD,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE;IACrD,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE;IACrD,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE,qBAAqB;IAC/E,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE,4BAA4B;CACzF,CAAC;AAEF,MAAM,OAAO,eAAe;IACjB,UAAU,GAAG,IAAI,CAAC;IAE3B,YAAY,CAAC,IAAY;QACvB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,UAAU,GAAsB,EAAE,CAAC;QAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YACtB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,CAAC,KAAK;oBAAE,SAAS;gBACrB,UAAU,CAAC,IAAI,CAAC;oBACd,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;oBACxD,SAAS,EAAE,OAAO;oBAClB,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Haskell Parser Adapter — heuristic regex-based parser for Haskell code.
3
+ */
4
+ import type { ParserAdapter, ParsedConstruct } from "./parser-adapter.js";
5
+ export declare class HaskellParserAdapter implements ParserAdapter {
6
+ readonly languageId = "haskell";
7
+ parseSnippet(code: string): ParsedConstruct[];
8
+ }
9
+ //# sourceMappingURL=haskell-parser-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"haskell-parser-adapter.d.ts","sourceRoot":"","sources":["../../../../src/core/translation/parsers/haskell-parser-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAoB1E,qBAAa,oBAAqB,YAAW,aAAa;IACxD,QAAQ,CAAC,UAAU,aAAa;IAEhC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE;CAsB9C"}
@@ -0,0 +1,38 @@
1
+ const LINE_RULES = [
2
+ { pattern: /^\s*import\s+/, constructId: "uc_import_named" },
3
+ { pattern: /^\s*module\s+(\w+)/, constructId: "uc_class_def", nameGroup: 1 },
4
+ { pattern: /^\s*class\s+(\w+)/, constructId: "uc_interface", nameGroup: 1 },
5
+ { pattern: /^\s*data\s+(\w+)/, constructId: "uc_type_enum", nameGroup: 1 },
6
+ { pattern: /^\s*newtype\s+(\w+)/, constructId: "uc_type_enum", nameGroup: 1 },
7
+ { pattern: /^\s*type\s+(\w+)/, constructId: "uc_type_enum", nameGroup: 1 },
8
+ { pattern: /^\s*(\w+)\s*::/, constructId: "uc_fn_def", nameGroup: 1 },
9
+ { pattern: /^\s*case\s+.+\s+of/, constructId: "uc_switch" },
10
+ { pattern: /^\s*if\s+.+\s+then/, constructId: "uc_if_else" },
11
+ ];
12
+ export class HaskellParserAdapter {
13
+ languageId = "haskell";
14
+ parseSnippet(code) {
15
+ if (!code.trim())
16
+ return [];
17
+ const lines = code.split("\n");
18
+ const constructs = [];
19
+ for (let i = 0; i < lines.length; i++) {
20
+ const line = lines[i];
21
+ const lineNum = i + 1;
22
+ for (const rule of LINE_RULES) {
23
+ const match = rule.pattern.exec(line);
24
+ if (!match)
25
+ continue;
26
+ constructs.push({
27
+ constructId: rule.constructId,
28
+ name: rule.nameGroup ? match[rule.nameGroup] : undefined,
29
+ startLine: lineNum,
30
+ endLine: lineNum,
31
+ });
32
+ break;
33
+ }
34
+ }
35
+ return constructs;
36
+ }
37
+ }
38
+ //# sourceMappingURL=haskell-parser-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"haskell-parser-adapter.js","sourceRoot":"","sources":["../../../../src/core/translation/parsers/haskell-parser-adapter.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,GAAW;IACzB,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE;IAC5D,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE;IAC5E,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE;IAC3E,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE;IAC1E,EAAE,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE;IAC7E,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE;IAC1E,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,EAAE;IACrE,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,WAAW,EAAE;IAC3D,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,YAAY,EAAE;CAC7D,CAAC;AAEF,MAAM,OAAO,oBAAoB;IACtB,UAAU,GAAG,SAAS,CAAC;IAEhC,YAAY,CAAC,IAAY;QACvB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,UAAU,GAAsB,EAAE,CAAC;QAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YACtB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,CAAC,KAAK;oBAAE,SAAS;gBACrB,UAAU,CAAC,IAAI,CAAC;oBACd,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;oBACxD,SAAS,EAAE,OAAO;oBAClB,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"java-parser-adapter.d.ts","sourceRoot":"","sources":["../../../../src/core/translation/parsers/java-parser-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AA0B1E,qBAAa,iBAAkB,YAAW,aAAa;IACrD,QAAQ,CAAC,UAAU,UAAU;IAE7B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE;CA2B9C"}
1
+ {"version":3,"file":"java-parser-adapter.d.ts","sourceRoot":"","sources":["../../../../src/core/translation/parsers/java-parser-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AA+B1E,qBAAa,iBAAkB,YAAW,aAAa;IACrD,QAAQ,CAAC,UAAU,UAAU;IAE7B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE;CA2B9C"}
@@ -1,14 +1,19 @@
1
1
  const LINE_RULES = [
2
2
  { pattern: /^\s*import\s+[\w.]+;/, constructId: "uc_import_named" },
3
3
  // eslint-disable-next-line security/detect-unsafe-regex
4
+ { pattern: /^\s*(public|private|protected)?\s*(abstract\s+)?class\s+(\w+).*\b(extends|implements)\b/,
5
+ constructId: "uc_class_def", nameGroup: 3, also: [{ constructId: "uc_extends" }] },
6
+ // eslint-disable-next-line security/detect-unsafe-regex
4
7
  { pattern: /^\s*(public|private|protected)?\s*(abstract\s+)?class\s+(\w+)/, constructId: "uc_class_def", nameGroup: 3 },
5
8
  { pattern: /^\s*(public|private|protected)?\s*interface\s+(\w+)/, constructId: "uc_interface", nameGroup: 2 },
9
+ { pattern: /^\s*(public|private|protected)?\s*enum\s+(\w+)/, constructId: "uc_type_enum", nameGroup: 2 },
6
10
  // eslint-disable-next-line security/detect-unsafe-regex
7
11
  { pattern: /^\s*(public|private|protected)?\s*(static\s+)?(synchronized\s+)?([\w<>[\]]+)\s+(\w+)\s*\(/, constructId: "uc_fn_def", nameGroup: 5 },
8
12
  { pattern: /^\s*try\s*\{/, constructId: "uc_try_catch" },
9
13
  { pattern: /^\s*throw\s+/, constructId: "uc_throw" },
10
14
  { pattern: /^\s*if\s*\(/, constructId: "uc_if_else" },
11
- { pattern: /^\s*for\s*\(/, constructId: "uc_for_loop" },
15
+ { pattern: /^\s*}\s*else\b/, constructId: "uc_if_else" },
16
+ { pattern: /^\s*for\s*\(/, constructId: "uc_for_each" },
12
17
  { pattern: /^\s*(while)\s*\(/, constructId: "uc_while" },
13
18
  { pattern: /^\s*switch\s*\(/, constructId: "uc_switch" },
14
19
  { pattern: /^\s*return\b/, constructId: "uc_return" },
@@ -1 +1 @@
1
- {"version":3,"file":"java-parser-adapter.js","sourceRoot":"","sources":["../../../../src/core/translation/parsers/java-parser-adapter.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,GAAW;IACzB,EAAE,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,iBAAiB,EAAE;IACnE,wDAAwD;IACxD,EAAE,OAAO,EAAE,+DAA+D,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE;IACvH,EAAE,OAAO,EAAE,qDAAqD,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE;IAC7G,wDAAwD;IACxD,EAAE,OAAO,EAAE,2FAA2F,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,EAAE;IAChJ,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE;IACxD,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE;IACpD,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE;IACrD,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE;IACvD,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,UAAU,EAAE;IACxD,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE;IACxD,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE;IACrD,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE;CACnD,CAAC;AAEF,MAAM,OAAO,iBAAiB;IACnB,UAAU,GAAG,MAAM,CAAC;IAE7B,YAAY,CAAC,IAAY;QACvB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,UAAU,GAAsB,EAAE,CAAC;QAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YACtB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,CAAC,KAAK;oBAAE,SAAS;gBACrB,UAAU,CAAC,IAAI,CAAC;oBACd,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;oBACxD,SAAS,EAAE,OAAO;oBAClB,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;gBACH,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;wBAC9B,UAAU,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;oBAC5F,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}
1
+ {"version":3,"file":"java-parser-adapter.js","sourceRoot":"","sources":["../../../../src/core/translation/parsers/java-parser-adapter.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,GAAW;IACzB,EAAE,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,iBAAiB,EAAE;IACnE,wDAAwD;IACxD,EAAE,OAAO,EAAE,yFAAyF;QAClG,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,EAAE;IACpF,wDAAwD;IACxD,EAAE,OAAO,EAAE,+DAA+D,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE;IACvH,EAAE,OAAO,EAAE,qDAAqD,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE;IAC7G,EAAE,OAAO,EAAE,gDAAgD,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE;IACxG,wDAAwD;IACxD,EAAE,OAAO,EAAE,2FAA2F,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,EAAE;IAChJ,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE;IACxD,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE;IACpD,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE;IACrD,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE;IACxD,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE;IACvD,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,UAAU,EAAE;IACxD,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE;IACxD,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE;IACrD,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE;CACnD,CAAC;AAEF,MAAM,OAAO,iBAAiB;IACnB,UAAU,GAAG,MAAM,CAAC;IAE7B,YAAY,CAAC,IAAY;QACvB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,UAAU,GAAsB,EAAE,CAAC;QAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YACtB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,CAAC,KAAK;oBAAE,SAAS;gBACrB,UAAU,CAAC,IAAI,CAAC;oBACd,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;oBACxD,SAAS,EAAE,OAAO;oBAClB,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;gBACH,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;wBAC9B,UAAU,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;oBAC5F,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Kotlin Parser Adapter — heuristic regex-based parser for Kotlin code.
3
+ */
4
+ import type { ParserAdapter, ParsedConstruct } from "./parser-adapter.js";
5
+ export declare class KotlinParserAdapter implements ParserAdapter {
6
+ readonly languageId = "kotlin";
7
+ parseSnippet(code: string): ParsedConstruct[];
8
+ }
9
+ //# sourceMappingURL=kotlin-parser-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kotlin-parser-adapter.d.ts","sourceRoot":"","sources":["../../../../src/core/translation/parsers/kotlin-parser-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAyB1E,qBAAa,mBAAoB,YAAW,aAAa;IACvD,QAAQ,CAAC,UAAU,YAAY;IAE/B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE;CAsB9C"}
@@ -0,0 +1,43 @@
1
+ const LINE_RULES = [
2
+ { pattern: /^\s*import\s+/, constructId: "uc_import_named" },
3
+ { pattern: /^\s*enum\s+class\s+(\w+)/, constructId: "uc_type_enum", nameGroup: 1 },
4
+ { pattern: /^\s*suspend\s+fun\s+(\w+)\s*\(/, constructId: "uc_async_fn", nameGroup: 1 },
5
+ { pattern: /^\s*(?:data\s+)?class\s+(\w+)/, constructId: "uc_class_def", nameGroup: 1 },
6
+ { pattern: /^\s*object\s+(\w+)/, constructId: "uc_class_def", nameGroup: 1 },
7
+ { pattern: /^\s*interface\s+(\w+)/, constructId: "uc_interface", nameGroup: 1 },
8
+ { pattern: /^\s*(?:override\s+)?fun\s+(\w+)\s*\(/, constructId: "uc_fn_def", nameGroup: 1 },
9
+ { pattern: /^\s*try\s*\{/, constructId: "uc_try_catch" },
10
+ { pattern: /^\s*throw\s+/, constructId: "uc_throw" },
11
+ { pattern: /^\s*if\s*\(/, constructId: "uc_if_else" },
12
+ { pattern: /^\s*when\s*\(/, constructId: "uc_switch" },
13
+ { pattern: /^\s*for\s*\(/, constructId: "uc_for_each" },
14
+ { pattern: /^\s*while\s*\(/, constructId: "uc_while" },
15
+ { pattern: /^\s*return\b/, constructId: "uc_return" },
16
+ ];
17
+ export class KotlinParserAdapter {
18
+ languageId = "kotlin";
19
+ parseSnippet(code) {
20
+ if (!code.trim())
21
+ return [];
22
+ const lines = code.split("\n");
23
+ const constructs = [];
24
+ for (let i = 0; i < lines.length; i++) {
25
+ const line = lines[i];
26
+ const lineNum = i + 1;
27
+ for (const rule of LINE_RULES) {
28
+ const match = rule.pattern.exec(line);
29
+ if (!match)
30
+ continue;
31
+ constructs.push({
32
+ constructId: rule.constructId,
33
+ name: rule.nameGroup ? match[rule.nameGroup] : undefined,
34
+ startLine: lineNum,
35
+ endLine: lineNum,
36
+ });
37
+ break;
38
+ }
39
+ }
40
+ return constructs;
41
+ }
42
+ }
43
+ //# sourceMappingURL=kotlin-parser-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kotlin-parser-adapter.js","sourceRoot":"","sources":["../../../../src/core/translation/parsers/kotlin-parser-adapter.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,GAAW;IACzB,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE;IAC5D,EAAE,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE;IAClF,EAAE,OAAO,EAAE,gCAAgC,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,EAAE;IACvF,EAAE,OAAO,EAAE,+BAA+B,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE;IACvF,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE;IAC5E,EAAE,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE;IAC/E,EAAE,OAAO,EAAE,sCAAsC,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,EAAE;IAC3F,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE;IACxD,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE;IACpD,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE;IACrD,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE;IACtD,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE;IACvD,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE;IACtD,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE;CACtD,CAAC;AAEF,MAAM,OAAO,mBAAmB;IACrB,UAAU,GAAG,QAAQ,CAAC;IAE/B,YAAY,CAAC,IAAY;QACvB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,UAAU,GAAsB,EAAE,CAAC;QAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YACtB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,CAAC,KAAK;oBAAE,SAAS;gBACrB,UAAU,CAAC,IAAI,CAAC;oBACd,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;oBACxD,SAAS,EAAE,OAAO;oBAClB,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Lua Parser Adapter — heuristic regex-based parser for Lua code.
3
+ */
4
+ import type { ParserAdapter, ParsedConstruct } from "./parser-adapter.js";
5
+ export declare class LuaParserAdapter implements ParserAdapter {
6
+ readonly languageId = "lua";
7
+ parseSnippet(code: string): ParsedConstruct[];
8
+ }
9
+ //# sourceMappingURL=lua-parser-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lua-parser-adapter.d.ts","sourceRoot":"","sources":["../../../../src/core/translation/parsers/lua-parser-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAwB1E,qBAAa,gBAAiB,YAAW,aAAa;IACpD,QAAQ,CAAC,UAAU,SAAS;IAE5B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE;CAsB9C"}
@@ -0,0 +1,42 @@
1
+ const LINE_RULES = [
2
+ { pattern: /^\s*(?:local\s+)?(\w+)\s*=\s*require\s*[('"]+/, constructId: "uc_import_named" },
3
+ { pattern: /^\s*require\s*[('"]+/, constructId: "uc_import_named" },
4
+ { pattern: /^\s*local\s+function\s+(\w+)\s*\(/, constructId: "uc_fn_def", nameGroup: 1 },
5
+ { pattern: /^\s*function\s+([.\w:]+)\s*\(/, constructId: "uc_fn_def", nameGroup: 1 },
6
+ { pattern: /\bpcall\s*\(/, constructId: "uc_try_catch" },
7
+ { pattern: /\bxpcall\s*\(/, constructId: "uc_try_catch" },
8
+ { pattern: /\berror\s*\(/, constructId: "uc_throw" },
9
+ { pattern: /\bfunction\s*\(/, constructId: "uc_fn_def" },
10
+ { pattern: /^\s*if\s+.+\s+then/, constructId: "uc_if_else" },
11
+ { pattern: /^\s*for\s+.+\s+do/, constructId: "uc_for_each" },
12
+ { pattern: /^\s*while\s+.+\s+do/, constructId: "uc_while" },
13
+ { pattern: /^\s*repeat\s*$/, constructId: "uc_while" },
14
+ { pattern: /^\s*return\b/, constructId: "uc_return" },
15
+ ];
16
+ export class LuaParserAdapter {
17
+ languageId = "lua";
18
+ parseSnippet(code) {
19
+ if (!code.trim())
20
+ return [];
21
+ const lines = code.split("\n");
22
+ const constructs = [];
23
+ for (let i = 0; i < lines.length; i++) {
24
+ const line = lines[i];
25
+ const lineNum = i + 1;
26
+ for (const rule of LINE_RULES) {
27
+ const match = rule.pattern.exec(line);
28
+ if (!match)
29
+ continue;
30
+ constructs.push({
31
+ constructId: rule.constructId,
32
+ name: rule.nameGroup ? match[rule.nameGroup] : undefined,
33
+ startLine: lineNum,
34
+ endLine: lineNum,
35
+ });
36
+ break;
37
+ }
38
+ }
39
+ return constructs;
40
+ }
41
+ }
42
+ //# sourceMappingURL=lua-parser-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lua-parser-adapter.js","sourceRoot":"","sources":["../../../../src/core/translation/parsers/lua-parser-adapter.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,GAAW;IACzB,EAAE,OAAO,EAAE,+CAA+C,EAAE,WAAW,EAAE,iBAAiB,EAAE;IAC5F,EAAE,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,iBAAiB,EAAE;IACnE,EAAE,OAAO,EAAE,mCAAmC,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,EAAE;IACxF,EAAE,OAAO,EAAE,+BAA+B,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,EAAE;IACpF,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE;IACxD,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE;IACzD,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE;IACpD,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE;IACxD,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,YAAY,EAAE;IAC5D,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,aAAa,EAAE;IAC5D,EAAE,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,UAAU,EAAE;IAC3D,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE;IACtD,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE;CACtD,CAAC;AAEF,MAAM,OAAO,gBAAgB;IAClB,UAAU,GAAG,KAAK,CAAC;IAE5B,YAAY,CAAC,IAAY;QACvB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,UAAU,GAAsB,EAAE,CAAC;QAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YACtB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,CAAC,KAAK;oBAAE,SAAS;gBACrB,UAAU,CAAC,IAAI,CAAC;oBACd,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;oBACxD,SAAS,EAAE,OAAO;oBAClB,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * PHP Parser Adapter — heuristic regex-based parser for PHP code.
3
+ */
4
+ import type { ParserAdapter, ParsedConstruct } from "./parser-adapter.js";
5
+ export declare class PhpParserAdapter implements ParserAdapter {
6
+ readonly languageId = "php";
7
+ parseSnippet(code: string): ParsedConstruct[];
8
+ }
9
+ //# sourceMappingURL=php-parser-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"php-parser-adapter.d.ts","sourceRoot":"","sources":["../../../../src/core/translation/parsers/php-parser-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AA0B1E,qBAAa,gBAAiB,YAAW,aAAa;IACpD,QAAQ,CAAC,UAAU,SAAS;IAE5B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE;CAsB9C"}
@@ -0,0 +1,44 @@
1
+ const LINE_RULES = [
2
+ { pattern: /^\s*<\?php\b/, constructId: "uc_import_named" },
3
+ { pattern: /^\s*namespace\s+/, constructId: "uc_import_named" },
4
+ { pattern: /^\s*use\s+/, constructId: "uc_import_named" },
5
+ { pattern: /^\s*class\s+(\w+)/, constructId: "uc_class_def", nameGroup: 1 },
6
+ { pattern: /^\s*interface\s+(\w+)/, constructId: "uc_interface", nameGroup: 1 },
7
+ { pattern: /^\s*(?:(?:public|private|protected|static)\s+)*function\s+(\w+)\s*\(/, constructId: "uc_fn_def", nameGroup: 1 },
8
+ { pattern: /^\s*try\s*\{/, constructId: "uc_try_catch" },
9
+ { pattern: /^\s*catch\b/, constructId: "uc_try_catch" },
10
+ { pattern: /^\s*throw\s+/, constructId: "uc_throw" },
11
+ { pattern: /^\s*if\s*\(/, constructId: "uc_if_else" },
12
+ { pattern: /^\s*foreach\s*\(/, constructId: "uc_for_each" },
13
+ { pattern: /^\s*for\s*\(/, constructId: "uc_for_loop" },
14
+ { pattern: /^\s*while\s*\(/, constructId: "uc_while" },
15
+ { pattern: /^\s*return\b/, constructId: "uc_return" },
16
+ { pattern: /^\s*switch\s*\(/, constructId: "uc_switch" },
17
+ ];
18
+ export class PhpParserAdapter {
19
+ languageId = "php";
20
+ parseSnippet(code) {
21
+ if (!code.trim())
22
+ return [];
23
+ const lines = code.split("\n");
24
+ const constructs = [];
25
+ for (let i = 0; i < lines.length; i++) {
26
+ const line = lines[i];
27
+ const lineNum = i + 1;
28
+ for (const rule of LINE_RULES) {
29
+ const match = rule.pattern.exec(line);
30
+ if (!match)
31
+ continue;
32
+ constructs.push({
33
+ constructId: rule.constructId,
34
+ name: rule.nameGroup ? match[rule.nameGroup] : undefined,
35
+ startLine: lineNum,
36
+ endLine: lineNum,
37
+ });
38
+ break;
39
+ }
40
+ }
41
+ return constructs;
42
+ }
43
+ }
44
+ //# sourceMappingURL=php-parser-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"php-parser-adapter.js","sourceRoot":"","sources":["../../../../src/core/translation/parsers/php-parser-adapter.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,GAAW;IACzB,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,EAAE;IAC3D,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,iBAAiB,EAAE;IAC/D,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE;IACzD,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE;IAC3E,EAAE,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE;IAC/E,EAAE,OAAO,EAAE,sEAAsE,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,EAAE;IAC3H,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE;IACxD,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE;IACvD,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE;IACpD,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE;IACrD,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,aAAa,EAAE;IAC3D,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE;IACvD,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE;IACtD,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE;IACrD,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE;CACzD,CAAC;AAEF,MAAM,OAAO,gBAAgB;IAClB,UAAU,GAAG,KAAK,CAAC;IAE5B,YAAY,CAAC,IAAY;QACvB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,UAAU,GAAsB,EAAE,CAAC;QAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YACtB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,CAAC,KAAK;oBAAE,SAAS;gBACrB,UAAU,CAAC,IAAI,CAAC;oBACd,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;oBACxD,SAAS,EAAE,OAAO;oBAClB,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}
@@ -6,7 +6,7 @@ const LINE_RULES = [
6
6
  // eslint-disable-next-line security/detect-unsafe-regex
7
7
  { pattern: /^\s*(pub\s+)?struct\s+(\w+)/, constructId: "uc_class_def", nameGroup: 2 },
8
8
  // eslint-disable-next-line security/detect-unsafe-regex
9
- { pattern: /^\s*(pub\s+)?enum\s+(\w+)/, constructId: "uc_class_def", nameGroup: 2 },
9
+ { pattern: /^\s*(pub\s+)?enum\s+(\w+)/, constructId: "uc_type_enum", nameGroup: 2 },
10
10
  // eslint-disable-next-line security/detect-unsafe-regex
11
11
  { pattern: /^\s*(pub\s+)?trait\s+(\w+)/, constructId: "uc_interface", nameGroup: 2 },
12
12
  { pattern: /^\s*impl\s+([\w<>]+)/, constructId: "uc_class_def", nameGroup: 1 },
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Scala Parser Adapter — heuristic regex-based parser for Scala code.
3
+ */
4
+ import type { ParserAdapter, ParsedConstruct } from "./parser-adapter.js";
5
+ export declare class ScalaParserAdapter implements ParserAdapter {
6
+ readonly languageId = "scala";
7
+ parseSnippet(code: string): ParsedConstruct[];
8
+ }
9
+ //# sourceMappingURL=scala-parser-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scala-parser-adapter.d.ts","sourceRoot":"","sources":["../../../../src/core/translation/parsers/scala-parser-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAyB1E,qBAAa,kBAAmB,YAAW,aAAa;IACtD,QAAQ,CAAC,UAAU,WAAW;IAE9B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE;CAsB9C"}
@@ -0,0 +1,43 @@
1
+ const LINE_RULES = [
2
+ { pattern: /^\s*import\s+/, constructId: "uc_import_named" },
3
+ { pattern: /^\s*case\s+class\s+(\w+)/, constructId: "uc_class_def", nameGroup: 1 },
4
+ { pattern: /^\s*class\s+(\w+)/, constructId: "uc_class_def", nameGroup: 1 },
5
+ { pattern: /^\s*object\s+(\w+)/, constructId: "uc_class_def", nameGroup: 1 },
6
+ { pattern: /^\s*trait\s+(\w+)/, constructId: "uc_interface", nameGroup: 1 },
7
+ { pattern: /^\s*def\s+(\w+)\s*[:(]/, constructId: "uc_fn_def", nameGroup: 1 },
8
+ { pattern: /^\s*try\s*\{/, constructId: "uc_try_catch" },
9
+ { pattern: /^\s*throw\s+/, constructId: "uc_throw" },
10
+ { pattern: /^\s*if\s*\(/, constructId: "uc_if_else" },
11
+ { pattern: /\bmatch\s*\{/, constructId: "uc_switch" },
12
+ { pattern: /^\s*for\s*[({]/, constructId: "uc_for_each" },
13
+ { pattern: /^\s*while\s*\(/, constructId: "uc_while" },
14
+ { pattern: /^\s*return\b/, constructId: "uc_return" },
15
+ { pattern: /^\s*sealed\s+/, constructId: "uc_type_enum" },
16
+ ];
17
+ export class ScalaParserAdapter {
18
+ languageId = "scala";
19
+ parseSnippet(code) {
20
+ if (!code.trim())
21
+ return [];
22
+ const lines = code.split("\n");
23
+ const constructs = [];
24
+ for (let i = 0; i < lines.length; i++) {
25
+ const line = lines[i];
26
+ const lineNum = i + 1;
27
+ for (const rule of LINE_RULES) {
28
+ const match = rule.pattern.exec(line);
29
+ if (!match)
30
+ continue;
31
+ constructs.push({
32
+ constructId: rule.constructId,
33
+ name: rule.nameGroup ? match[rule.nameGroup] : undefined,
34
+ startLine: lineNum,
35
+ endLine: lineNum,
36
+ });
37
+ break;
38
+ }
39
+ }
40
+ return constructs;
41
+ }
42
+ }
43
+ //# sourceMappingURL=scala-parser-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scala-parser-adapter.js","sourceRoot":"","sources":["../../../../src/core/translation/parsers/scala-parser-adapter.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,GAAW;IACzB,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE;IAC5D,EAAE,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE;IAClF,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE;IAC3E,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE;IAC5E,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE;IAC3E,EAAE,OAAO,EAAE,wBAAwB,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,EAAE;IAC7E,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE;IACxD,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE;IACpD,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE;IACrD,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE;IACrD,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE;IACzD,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE;IACtD,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE;IACrD,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE;CAC1D,CAAC;AAEF,MAAM,OAAO,kBAAkB;IACpB,UAAU,GAAG,OAAO,CAAC;IAE9B,YAAY,CAAC,IAAY;QACvB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,UAAU,GAAsB,EAAE,CAAC;QAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YACtB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,CAAC,KAAK;oBAAE,SAAS;gBACrB,UAAU,CAAC,IAAI,CAAC;oBACd,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;oBACxD,SAAS,EAAE,OAAO;oBAClB,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Swift Parser Adapter — heuristic regex-based parser for Swift code.
3
+ */
4
+ import type { ParserAdapter, ParsedConstruct } from "./parser-adapter.js";
5
+ export declare class SwiftParserAdapter implements ParserAdapter {
6
+ readonly languageId = "swift";
7
+ parseSnippet(code: string): ParsedConstruct[];
8
+ }
9
+ //# sourceMappingURL=swift-parser-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swift-parser-adapter.d.ts","sourceRoot":"","sources":["../../../../src/core/translation/parsers/swift-parser-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AA0B1E,qBAAa,kBAAmB,YAAW,aAAa;IACtD,QAAQ,CAAC,UAAU,WAAW;IAE9B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE;CAsB9C"}
@@ -0,0 +1,44 @@
1
+ const LINE_RULES = [
2
+ { pattern: /^\s*import\s+/, constructId: "uc_import_named" },
3
+ { pattern: /^\s*class\s+(\w+)/, constructId: "uc_class_def", nameGroup: 1 },
4
+ { pattern: /^\s*struct\s+(\w+)/, constructId: "uc_class_def", nameGroup: 1 },
5
+ { pattern: /^\s*protocol\s+(\w+)/, constructId: "uc_interface", nameGroup: 1 },
6
+ { pattern: /^\s*func\s+(\w+)\s*\(/, constructId: "uc_fn_def", nameGroup: 1 },
7
+ { pattern: /^\s*do\s*\{/, constructId: "uc_try_catch" },
8
+ { pattern: /^\s*catch\b/, constructId: "uc_try_catch" },
9
+ { pattern: /^\s*throw\s+/, constructId: "uc_throw" },
10
+ { pattern: /^\s*if\b/, constructId: "uc_if_else" },
11
+ { pattern: /^\s*guard\b/, constructId: "uc_if_else" },
12
+ { pattern: /^\s*for\s+\w+\s+in\s+/, constructId: "uc_for_each" },
13
+ { pattern: /^\s*while\b/, constructId: "uc_while" },
14
+ { pattern: /^\s*return\b/, constructId: "uc_return" },
15
+ { pattern: /^\s*switch\b/, constructId: "uc_switch" },
16
+ { pattern: /^\s*enum\s+(\w+)/, constructId: "uc_type_enum", nameGroup: 1 },
17
+ ];
18
+ export class SwiftParserAdapter {
19
+ languageId = "swift";
20
+ parseSnippet(code) {
21
+ if (!code.trim())
22
+ return [];
23
+ const lines = code.split("\n");
24
+ const constructs = [];
25
+ for (let i = 0; i < lines.length; i++) {
26
+ const line = lines[i];
27
+ const lineNum = i + 1;
28
+ for (const rule of LINE_RULES) {
29
+ const match = rule.pattern.exec(line);
30
+ if (!match)
31
+ continue;
32
+ constructs.push({
33
+ constructId: rule.constructId,
34
+ name: rule.nameGroup ? match[rule.nameGroup] : undefined,
35
+ startLine: lineNum,
36
+ endLine: lineNum,
37
+ });
38
+ break;
39
+ }
40
+ }
41
+ return constructs;
42
+ }
43
+ }
44
+ //# sourceMappingURL=swift-parser-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swift-parser-adapter.js","sourceRoot":"","sources":["../../../../src/core/translation/parsers/swift-parser-adapter.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,GAAW;IACzB,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE;IAC5D,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE;IAC3E,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE;IAC5E,EAAE,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE;IAC9E,EAAE,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,EAAE;IAC5E,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE;IACvD,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE;IACvD,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE;IACpD,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE;IAClD,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE;IACrD,EAAE,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,aAAa,EAAE;IAChE,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE;IACnD,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE;IACrD,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE;IACrD,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE;CAC3E,CAAC;AAEF,MAAM,OAAO,kBAAkB;IACpB,UAAU,GAAG,OAAO,CAAC;IAE9B,YAAY,CAAC,IAAY;QACvB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,UAAU,GAAsB,EAAE,CAAC;QAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YACtB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,CAAC,KAAK;oBAAE,SAAS;gBACrB,UAAU,CAAC,IAAI,CAAC;oBACd,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;oBACxD,SAAS,EAAE,OAAO;oBAClB,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Pre-indexed Analysis — leverages Code Intelligence symbol table
3
+ * to provide instant translation analysis for already-indexed files.
4
+ *
5
+ * Maps code intelligence symbol kinds to UCR constructs:
6
+ * function → uc_fn_def, class → uc_class_def, interface → uc_interface, etc.
7
+ */
8
+ import type { CodeStore } from "../code/code-store.js";
9
+ import type { TranslationAnalysis } from "./translation-types.js";
10
+ export interface PreIndexedResult {
11
+ analysis: TranslationAnalysis;
12
+ fromIndex: true;
13
+ }
14
+ /**
15
+ * Try to build a TranslationAnalysis from the Code Intelligence index.
16
+ * Returns null if the file is not indexed or the index is stale.
17
+ */
18
+ export declare function analyzeFromIndex(codeStore: CodeStore, projectId: string, filePath: string): PreIndexedResult | null;
19
+ //# sourceMappingURL=pre-indexed-analyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pre-indexed-analyzer.d.ts","sourceRoot":"","sources":["../../../src/core/translation/pre-indexed-analyzer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAsClE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,gBAAgB,GAAG,IAAI,CA2DzB"}