@tom2012/cc-web 2026.5.18-b → 2026.5.18-e

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 (272) hide show
  1. package/README.md +1 -1
  2. package/backend/dist/index.d.ts.map +1 -1
  3. package/backend/dist/index.js +9 -21
  4. package/backend/dist/index.js.map +1 -1
  5. package/backend/dist/routes/_flow-injector.d.ts +4 -0
  6. package/backend/dist/routes/_flow-injector.d.ts.map +1 -0
  7. package/backend/dist/routes/_flow-injector.js +17 -0
  8. package/backend/dist/routes/_flow-injector.js.map +1 -0
  9. package/backend/dist/routes/global-tracks.d.ts +2 -5
  10. package/backend/dist/routes/global-tracks.d.ts.map +1 -1
  11. package/backend/dist/routes/global-tracks.js +2 -28
  12. package/backend/dist/routes/global-tracks.js.map +1 -1
  13. package/backend/dist/routes/track-flows.d.ts +12 -0
  14. package/backend/dist/routes/track-flows.d.ts.map +1 -0
  15. package/backend/dist/routes/track-flows.js +225 -0
  16. package/backend/dist/routes/track-flows.js.map +1 -0
  17. package/backend/dist/routes/tracks.d.ts +3 -9
  18. package/backend/dist/routes/tracks.d.ts.map +1 -1
  19. package/backend/dist/routes/tracks.js +3 -153
  20. package/backend/dist/routes/tracks.js.map +1 -1
  21. package/backend/dist/terminal-manager-singleton.d.ts +9 -0
  22. package/backend/dist/terminal-manager-singleton.d.ts.map +1 -0
  23. package/backend/dist/terminal-manager-singleton.js +6 -0
  24. package/backend/dist/terminal-manager-singleton.js.map +1 -0
  25. package/backend/dist/track-flow/__tests__/if-expr-evaluator.test.d.ts +2 -0
  26. package/backend/dist/track-flow/__tests__/if-expr-evaluator.test.d.ts.map +1 -0
  27. package/backend/dist/track-flow/__tests__/if-expr-evaluator.test.js +65 -0
  28. package/backend/dist/track-flow/__tests__/if-expr-evaluator.test.js.map +1 -0
  29. package/backend/dist/track-flow/__tests__/if-expr-parser.test.d.ts +2 -0
  30. package/backend/dist/track-flow/__tests__/if-expr-parser.test.d.ts.map +1 -0
  31. package/backend/dist/track-flow/__tests__/if-expr-parser.test.js +76 -0
  32. package/backend/dist/track-flow/__tests__/if-expr-parser.test.js.map +1 -0
  33. package/backend/dist/track-flow/__tests__/prompt-translator.test.d.ts +2 -0
  34. package/backend/dist/track-flow/__tests__/prompt-translator.test.d.ts.map +1 -0
  35. package/backend/dist/track-flow/__tests__/prompt-translator.test.js +59 -0
  36. package/backend/dist/track-flow/__tests__/prompt-translator.test.js.map +1 -0
  37. package/backend/dist/track-flow/__tests__/run-registry.test.d.ts +2 -0
  38. package/backend/dist/track-flow/__tests__/run-registry.test.d.ts.map +1 -0
  39. package/backend/dist/track-flow/__tests__/run-registry.test.js +54 -0
  40. package/backend/dist/track-flow/__tests__/run-registry.test.js.map +1 -0
  41. package/backend/dist/track-flow/__tests__/train-json-sync.test.d.ts +2 -0
  42. package/backend/dist/track-flow/__tests__/train-json-sync.test.d.ts.map +1 -0
  43. package/backend/dist/track-flow/__tests__/train-json-sync.test.js +93 -0
  44. package/backend/dist/track-flow/__tests__/train-json-sync.test.js.map +1 -0
  45. package/backend/dist/track-flow/__tests__/verify-flow-v3.d.ts +2 -0
  46. package/backend/dist/track-flow/__tests__/verify-flow-v3.d.ts.map +1 -0
  47. package/backend/dist/track-flow/__tests__/verify-flow-v3.js +177 -0
  48. package/backend/dist/track-flow/__tests__/verify-flow-v3.js.map +1 -0
  49. package/backend/dist/track-flow/audit-log.d.ts +22 -0
  50. package/backend/dist/track-flow/audit-log.d.ts.map +1 -0
  51. package/backend/dist/track-flow/audit-log.js +56 -0
  52. package/backend/dist/track-flow/audit-log.js.map +1 -0
  53. package/backend/dist/track-flow/if-expr-evaluator.d.ts +14 -0
  54. package/backend/dist/track-flow/if-expr-evaluator.d.ts.map +1 -0
  55. package/backend/dist/track-flow/if-expr-evaluator.js +73 -0
  56. package/backend/dist/track-flow/if-expr-evaluator.js.map +1 -0
  57. package/backend/dist/track-flow/if-expr-parser.d.ts +34 -0
  58. package/backend/dist/track-flow/if-expr-parser.d.ts.map +1 -0
  59. package/backend/dist/track-flow/if-expr-parser.js +176 -0
  60. package/backend/dist/track-flow/if-expr-parser.js.map +1 -0
  61. package/backend/dist/track-flow/index.d.ts +10 -0
  62. package/backend/dist/track-flow/index.d.ts.map +1 -0
  63. package/backend/dist/track-flow/index.js +26 -0
  64. package/backend/dist/track-flow/index.js.map +1 -0
  65. package/backend/dist/track-flow/llm-dispatcher.d.ts +36 -0
  66. package/backend/dist/track-flow/llm-dispatcher.d.ts.map +1 -0
  67. package/backend/dist/track-flow/llm-dispatcher.js +145 -0
  68. package/backend/dist/track-flow/llm-dispatcher.js.map +1 -0
  69. package/backend/dist/track-flow/prompt-translator.d.ts +19 -0
  70. package/backend/dist/track-flow/prompt-translator.d.ts.map +1 -0
  71. package/backend/dist/track-flow/prompt-translator.js +60 -0
  72. package/backend/dist/track-flow/prompt-translator.js.map +1 -0
  73. package/backend/dist/track-flow/run-id.d.ts +2 -0
  74. package/backend/dist/track-flow/run-id.d.ts.map +1 -0
  75. package/backend/dist/track-flow/run-id.js +7 -0
  76. package/backend/dist/track-flow/run-id.js.map +1 -0
  77. package/backend/dist/track-flow/run-registry.d.ts +77 -0
  78. package/backend/dist/track-flow/run-registry.d.ts.map +1 -0
  79. package/backend/dist/track-flow/run-registry.js +148 -0
  80. package/backend/dist/track-flow/run-registry.js.map +1 -0
  81. package/backend/dist/track-flow/runtime.d.ts +59 -0
  82. package/backend/dist/track-flow/runtime.d.ts.map +1 -0
  83. package/backend/dist/track-flow/runtime.js +204 -0
  84. package/backend/dist/track-flow/runtime.js.map +1 -0
  85. package/backend/dist/track-flow/store.d.ts +20 -0
  86. package/backend/dist/track-flow/store.d.ts.map +1 -0
  87. package/backend/dist/track-flow/store.js +158 -0
  88. package/backend/dist/track-flow/store.js.map +1 -0
  89. package/backend/dist/track-flow/train-json-sync.d.ts +31 -0
  90. package/backend/dist/track-flow/train-json-sync.d.ts.map +1 -0
  91. package/backend/dist/track-flow/train-json-sync.js +130 -0
  92. package/backend/dist/track-flow/train-json-sync.js.map +1 -0
  93. package/backend/dist/track-flow-ws.d.ts +5 -0
  94. package/backend/dist/track-flow-ws.d.ts.map +1 -0
  95. package/backend/dist/track-flow-ws.js +14 -0
  96. package/backend/dist/track-flow-ws.js.map +1 -0
  97. package/backend/dist/tracks/ask-user-bridge.d.ts +1 -6
  98. package/backend/dist/tracks/ask-user-bridge.d.ts.map +1 -1
  99. package/backend/dist/tracks/ask-user-bridge.js +0 -22
  100. package/backend/dist/tracks/ask-user-bridge.js.map +1 -1
  101. package/backend/dist/tracks/index.d.ts +1 -5
  102. package/backend/dist/tracks/index.d.ts.map +1 -1
  103. package/backend/dist/tracks/index.js +1 -10
  104. package/backend/dist/tracks/index.js.map +1 -1
  105. package/backend/package-lock.json +2066 -124
  106. package/backend/package.json +6 -5
  107. package/frontend/dist/assets/{ChatOverlay-DPM_F615.js → ChatOverlay-BsozN13k.js} +1 -1
  108. package/frontend/dist/assets/{GraphPreview-CJhh33L8.js → GraphPreview-Bagqaatf.js} +2 -2
  109. package/frontend/dist/assets/{MobilePage-Cx9v8Udp.js → MobilePage-BTKA6Dxj.js} +3 -3
  110. package/frontend/dist/assets/{OfficePreview-h6zYBZFQ.js → OfficePreview-CMRAt1Qb.js} +2 -2
  111. package/frontend/dist/assets/{PdfPreview-DbYFye7c.js → PdfPreview-DM7Lq8lA.js} +1 -1
  112. package/frontend/dist/assets/ProjectPage-3rERYJYF.js +26 -0
  113. package/frontend/dist/assets/{TrackGraphEditor-Fd0xVSp_.css → ProjectPage-DFCEXprr.css} +32 -1
  114. package/frontend/dist/assets/{SettingsPage-BkApTPbw.js → SettingsPage-CA9PjfJR.js} +2 -2
  115. package/frontend/dist/assets/{SkillHubPage-BwfU-hel.js → SkillHubPage-DLt5DGX6.js} +3 -3
  116. package/frontend/dist/assets/{chevron-down-D4Vj-5wB.js → chevron-down-D7HR2Yyz.js} +1 -1
  117. package/frontend/dist/assets/{index-CKxFfdqR.js → index-fIUNz576.js} +1 -1
  118. package/frontend/dist/assets/{index-DUIOrPha.js → index-k0ydgbQO.js} +7 -7
  119. package/frontend/dist/assets/{index-C-2GBtXy.js → index-tE28G1ot.js} +1 -1
  120. package/frontend/dist/assets/index-tSU3-nNc.css +1 -0
  121. package/frontend/dist/assets/{jszip.min-Bn769Ot7.js → jszip.min-BDxK042T.js} +1 -1
  122. package/frontend/dist/assets/{select-CXSNG3yW.js → select-C6nWxQ7S.js} +2 -2
  123. package/frontend/dist/assets/{user-Chl3LWFq.js → user-DbW3r9c3.js} +1 -1
  124. package/frontend/dist/index.html +2 -2
  125. package/package.json +1 -1
  126. package/backend/vendor/@tom2012/train-core/dist/ast-cache.d.ts +0 -74
  127. package/backend/vendor/@tom2012/train-core/dist/ast-cache.d.ts.map +0 -1
  128. package/backend/vendor/@tom2012/train-core/dist/ast-cache.js +0 -157
  129. package/backend/vendor/@tom2012/train-core/dist/ast-cache.js.map +0 -1
  130. package/backend/vendor/@tom2012/train-core/dist/ast.d.ts +0 -350
  131. package/backend/vendor/@tom2012/train-core/dist/ast.d.ts.map +0 -1
  132. package/backend/vendor/@tom2012/train-core/dist/ast.js +0 -15
  133. package/backend/vendor/@tom2012/train-core/dist/ast.js.map +0 -1
  134. package/backend/vendor/@tom2012/train-core/dist/builder.d.ts +0 -21
  135. package/backend/vendor/@tom2012/train-core/dist/builder.d.ts.map +0 -1
  136. package/backend/vendor/@tom2012/train-core/dist/builder.js +0 -1254
  137. package/backend/vendor/@tom2012/train-core/dist/builder.js.map +0 -1
  138. package/backend/vendor/@tom2012/train-core/dist/builtins.d.ts +0 -17
  139. package/backend/vendor/@tom2012/train-core/dist/builtins.d.ts.map +0 -1
  140. package/backend/vendor/@tom2012/train-core/dist/builtins.js +0 -500
  141. package/backend/vendor/@tom2012/train-core/dist/builtins.js.map +0 -1
  142. package/backend/vendor/@tom2012/train-core/dist/index.d.ts +0 -54
  143. package/backend/vendor/@tom2012/train-core/dist/index.d.ts.map +0 -1
  144. package/backend/vendor/@tom2012/train-core/dist/index.js +0 -66
  145. package/backend/vendor/@tom2012/train-core/dist/index.js.map +0 -1
  146. package/backend/vendor/@tom2012/train-core/dist/interpreter.d.ts +0 -110
  147. package/backend/vendor/@tom2012/train-core/dist/interpreter.d.ts.map +0 -1
  148. package/backend/vendor/@tom2012/train-core/dist/interpreter.js +0 -943
  149. package/backend/vendor/@tom2012/train-core/dist/interpreter.js.map +0 -1
  150. package/backend/vendor/@tom2012/train-core/dist/lexer.d.ts +0 -88
  151. package/backend/vendor/@tom2012/train-core/dist/lexer.d.ts.map +0 -1
  152. package/backend/vendor/@tom2012/train-core/dist/lexer.js +0 -243
  153. package/backend/vendor/@tom2012/train-core/dist/lexer.js.map +0 -1
  154. package/backend/vendor/@tom2012/train-core/dist/module-loader.d.ts +0 -74
  155. package/backend/vendor/@tom2012/train-core/dist/module-loader.d.ts.map +0 -1
  156. package/backend/vendor/@tom2012/train-core/dist/module-loader.js +0 -149
  157. package/backend/vendor/@tom2012/train-core/dist/module-loader.js.map +0 -1
  158. package/backend/vendor/@tom2012/train-core/dist/parser.d.ts +0 -138
  159. package/backend/vendor/@tom2012/train-core/dist/parser.d.ts.map +0 -1
  160. package/backend/vendor/@tom2012/train-core/dist/parser.js +0 -861
  161. package/backend/vendor/@tom2012/train-core/dist/parser.js.map +0 -1
  162. package/backend/vendor/@tom2012/train-core/dist/prompt-composer.d.ts +0 -49
  163. package/backend/vendor/@tom2012/train-core/dist/prompt-composer.d.ts.map +0 -1
  164. package/backend/vendor/@tom2012/train-core/dist/prompt-composer.js +0 -159
  165. package/backend/vendor/@tom2012/train-core/dist/prompt-composer.js.map +0 -1
  166. package/backend/vendor/@tom2012/train-core/dist/runtime.d.ts +0 -146
  167. package/backend/vendor/@tom2012/train-core/dist/runtime.d.ts.map +0 -1
  168. package/backend/vendor/@tom2012/train-core/dist/runtime.js +0 -156
  169. package/backend/vendor/@tom2012/train-core/dist/runtime.js.map +0 -1
  170. package/backend/vendor/@tom2012/train-core/dist/type-descriptor.d.ts +0 -18
  171. package/backend/vendor/@tom2012/train-core/dist/type-descriptor.d.ts.map +0 -1
  172. package/backend/vendor/@tom2012/train-core/dist/type-descriptor.js +0 -94
  173. package/backend/vendor/@tom2012/train-core/dist/type-descriptor.js.map +0 -1
  174. package/backend/vendor/@tom2012/train-core/dist/validation.d.ts +0 -44
  175. package/backend/vendor/@tom2012/train-core/dist/validation.d.ts.map +0 -1
  176. package/backend/vendor/@tom2012/train-core/dist/validation.js +0 -271
  177. package/backend/vendor/@tom2012/train-core/dist/validation.js.map +0 -1
  178. package/backend/vendor/@tom2012/train-core/package.json +0 -35
  179. package/frontend/dist/assets/ProjectPage-9CEnUXvW.css +0 -32
  180. package/frontend/dist/assets/ProjectPage-DaPmvQ-H.js +0 -26
  181. package/frontend/dist/assets/TrackEditor-BbM0eHTD.js +0 -14
  182. package/frontend/dist/assets/TrackGraphEditor-DzEqAGFN.js +0 -2
  183. package/frontend/dist/assets/abap-LPLW346S.js +0 -7
  184. package/frontend/dist/assets/apex-Dk-jUCUV.js +0 -7
  185. package/frontend/dist/assets/azcli-DPUMmPlX.js +0 -7
  186. package/frontend/dist/assets/bat-C1Qbg1bV.js +0 -7
  187. package/frontend/dist/assets/bicep-D-e-VSJi.js +0 -7
  188. package/frontend/dist/assets/cameligo-CjUqTgqL.js +0 -7
  189. package/frontend/dist/assets/clojure-BWsu6Kju.js +0 -7
  190. package/frontend/dist/assets/codicon-DCmgc-ay.ttf +0 -0
  191. package/frontend/dist/assets/coffee-DeC36AK3.js +0 -7
  192. package/frontend/dist/assets/cpp-DcZnmBWT.js +0 -7
  193. package/frontend/dist/assets/csharp-DqBXBMf0.js +0 -7
  194. package/frontend/dist/assets/csp-CkO7y8ul.js +0 -7
  195. package/frontend/dist/assets/css-OAcfVtED.js +0 -7
  196. package/frontend/dist/assets/cssMode-5whH06Yl.js +0 -7
  197. package/frontend/dist/assets/cypher-40UGrUjD.js +0 -7
  198. package/frontend/dist/assets/dart-DmixyLor.js +0 -7
  199. package/frontend/dist/assets/dockerfile-CayO4nTA.js +0 -7
  200. package/frontend/dist/assets/ecl-DRrKCuVc.js +0 -7
  201. package/frontend/dist/assets/editor-B5EY1bb8.css +0 -1
  202. package/frontend/dist/assets/editor.main-CnjJg6pv.js +0 -37
  203. package/frontend/dist/assets/elixir-J3qpp9mX.js +0 -7
  204. package/frontend/dist/assets/flow9-DzW2c4Im.js +0 -7
  205. package/frontend/dist/assets/freemarker2-CUgILTtX.js +0 -7
  206. package/frontend/dist/assets/fsharp-D00tn_6c.js +0 -7
  207. package/frontend/dist/assets/go-NnNmgWK_.js +0 -7
  208. package/frontend/dist/assets/graphql-C9_--VLF.js +0 -7
  209. package/frontend/dist/assets/handlebars-C2avKkbK.js +0 -7
  210. package/frontend/dist/assets/hcl-BhbOULbp.js +0 -7
  211. package/frontend/dist/assets/html-ZYUiGgvr.js +0 -7
  212. package/frontend/dist/assets/htmlMode-CeliqUBd.js +0 -7
  213. package/frontend/dist/assets/index-COjNnvQB.css +0 -1
  214. package/frontend/dist/assets/index-DjmvYdMM.js +0 -1
  215. package/frontend/dist/assets/ini-zR-_X5iG.js +0 -7
  216. package/frontend/dist/assets/java-CSTjsyoZ.js +0 -7
  217. package/frontend/dist/assets/javascript-0VRCllAK.js +0 -7
  218. package/frontend/dist/assets/jsonMode-Dwqu43-Y.js +0 -7
  219. package/frontend/dist/assets/julia-DioMOKVu.js +0 -7
  220. package/frontend/dist/assets/kotlin-Dsb0PKmW.js +0 -7
  221. package/frontend/dist/assets/less-CZYLoAVD.js +0 -7
  222. package/frontend/dist/assets/lexon-d5JUiwNk.js +0 -7
  223. package/frontend/dist/assets/liquid-E2ejTVvo.js +0 -7
  224. package/frontend/dist/assets/lua-1Al72GG8.js +0 -7
  225. package/frontend/dist/assets/m3-hx1xCPC3.js +0 -7
  226. package/frontend/dist/assets/markdown-DPGrH1xZ.js +0 -7
  227. package/frontend/dist/assets/mdx-CqJmnu86.js +0 -7
  228. package/frontend/dist/assets/mips-CYbZjkIm.js +0 -7
  229. package/frontend/dist/assets/msdax-DAioKM5A.js +0 -7
  230. package/frontend/dist/assets/mysql-7e9GUebS.js +0 -7
  231. package/frontend/dist/assets/objective-c-BGf8QNjz.js +0 -7
  232. package/frontend/dist/assets/pascal-hEDRz3un.js +0 -7
  233. package/frontend/dist/assets/pascaligo-gqEhN6pG.js +0 -7
  234. package/frontend/dist/assets/perl-CN8Ht9Vk.js +0 -7
  235. package/frontend/dist/assets/pgsql-CRCqHQBx.js +0 -7
  236. package/frontend/dist/assets/php-DTZrlAwe.js +0 -7
  237. package/frontend/dist/assets/pla-CRmh4UcC.js +0 -7
  238. package/frontend/dist/assets/postiats-Car2G7g8.js +0 -7
  239. package/frontend/dist/assets/powerquery-BJKl8V3o.js +0 -7
  240. package/frontend/dist/assets/powershell-Du7a_J7r.js +0 -7
  241. package/frontend/dist/assets/protobuf-ChneWI0H.js +0 -7
  242. package/frontend/dist/assets/pug-BH6LSJaf.js +0 -7
  243. package/frontend/dist/assets/python-BYNiBUNZ.js +0 -7
  244. package/frontend/dist/assets/qsharp-CU-Hxpxi.js +0 -7
  245. package/frontend/dist/assets/r-Bw-W15zh.js +0 -7
  246. package/frontend/dist/assets/razor-2YR0XVnP.js +0 -7
  247. package/frontend/dist/assets/redis-bY-X9-ol.js +0 -7
  248. package/frontend/dist/assets/redshift-CMu3ubbS.js +0 -7
  249. package/frontend/dist/assets/restructuredtext-KNkiWGNN.js +0 -7
  250. package/frontend/dist/assets/ruby-dQWMhU86.js +0 -7
  251. package/frontend/dist/assets/rust-BAcHhnEU.js +0 -7
  252. package/frontend/dist/assets/sb-Bidr5w2z.js +0 -7
  253. package/frontend/dist/assets/scala-imTtxsGY.js +0 -7
  254. package/frontend/dist/assets/scheme-BY-WHKiB.js +0 -7
  255. package/frontend/dist/assets/scss-NDoRP52C.js +0 -7
  256. package/frontend/dist/assets/shell-DrIjotnh.js +0 -7
  257. package/frontend/dist/assets/solidity-DTahNycF.js +0 -7
  258. package/frontend/dist/assets/sophia-DtyrjGkZ.js +0 -7
  259. package/frontend/dist/assets/sparql-CFuS5E3z.js +0 -7
  260. package/frontend/dist/assets/sql-BRxcnbRv.js +0 -7
  261. package/frontend/dist/assets/st-Dz4uh7MK.js +0 -7
  262. package/frontend/dist/assets/swift-Digsrw1G.js +0 -11
  263. package/frontend/dist/assets/systemverilog-7TDrkMau.js +0 -7
  264. package/frontend/dist/assets/tcl-BtaFcnDi.js +0 -7
  265. package/frontend/dist/assets/tsMode-DrjOLXjA.js +0 -7
  266. package/frontend/dist/assets/twig-Deid_oBs.js +0 -7
  267. package/frontend/dist/assets/typescript--8YtfOFf.js +0 -7
  268. package/frontend/dist/assets/typespec-zUaxhbG8.js +0 -7
  269. package/frontend/dist/assets/vb-DK0rKJzo.js +0 -7
  270. package/frontend/dist/assets/wgsl-B8fNVlOQ.js +0 -7
  271. package/frontend/dist/assets/xml-CGj_sBRG.js +0 -7
  272. package/frontend/dist/assets/yaml-of0AgMN8.js +0 -7
@@ -1,149 +0,0 @@
1
- /**
2
- * Module loader (M5).
3
- *
4
- * Resolves `import { x } from "./y"` against the filesystem, parses
5
- * each imported file, executes its top-level once, and exposes its
6
- * `export`-ed names back to the importing module.
7
- *
8
- * Properties:
9
- * - relative paths only in M5 (`./y`, `../y`, with implicit `.tr`)
10
- * - module cache: same absolute path executes top-level exactly once
11
- * - circular import detection (E0501): tracked via a re-entry set
12
- * - shared adapter + builtins: child modules use the same adapter
13
- * instance as the importer (no ask-user / cancellation re-plumbing)
14
- *
15
- * Not yet supported (deferred to later milestones):
16
- * - namespace imports (`import * as m from "..."`)
17
- * - version tags (`@v1.0.0` on import) — parsed but ignored
18
- * - absolute / package imports (`@scope/name`)
19
- * - workflow_data isolation per submodule (uses host stateDir)
20
- */
21
- import { promises as fs } from 'node:fs';
22
- import * as path from 'node:path';
23
- import { TrainErrorCode, TrainException, isFunctionValue, } from './runtime.js';
24
- const TR_EXT = '.tr';
25
- function defaultResolve(spec, importerAbs) {
26
- if (!spec.startsWith('.') && !path.isAbsolute(spec)) {
27
- throw new TrainException('ModuleError', `only relative or absolute import paths are supported in M5 (got "${spec}")`, undefined, TrainErrorCode.ModuleNotFound);
28
- }
29
- const importerDir = path.dirname(importerAbs);
30
- let resolved = path.isAbsolute(spec) ? spec : path.resolve(importerDir, spec);
31
- if (!resolved.endsWith(TR_EXT))
32
- resolved += TR_EXT;
33
- return resolved;
34
- }
35
- async function defaultRead(absPath) {
36
- try {
37
- return await fs.readFile(absPath, 'utf8');
38
- }
39
- catch (e) {
40
- throw new TrainException('ModuleError', `module not found: ${absPath} (${e.message})`, undefined, TrainErrorCode.ModuleNotFound);
41
- }
42
- }
43
- export function createModuleRegistry(hooks = {}) {
44
- const cache = new Map();
45
- const inProgress = new Set();
46
- const resolveFn = hooks.resolve ?? defaultResolve;
47
- const readFn = hooks.read ?? defaultRead;
48
- return {
49
- resolve: resolveFn,
50
- read: readFn,
51
- set(abs, inst) {
52
- cache.set(abs, inst);
53
- },
54
- hasCached: (abs) => cache.has(abs),
55
- getCached: (abs) => cache.get(abs),
56
- isInProgress: (abs) => inProgress.has(abs),
57
- markInProgress(abs) {
58
- inProgress.add(abs);
59
- },
60
- unmarkInProgress(abs) {
61
- inProgress.delete(abs);
62
- },
63
- async load(abs, importerStack) {
64
- if (cache.has(abs))
65
- return cache.get(abs);
66
- if (inProgress.has(abs)) {
67
- const cycle = [...importerStack, abs]
68
- .map((p) => path.basename(p))
69
- .join(' → ');
70
- throw new TrainException('ModuleError', `circular import: ${cycle}`, undefined, TrainErrorCode.CircularImport);
71
- }
72
- // The interpreter wraps load() with executeModule(). Direct usage
73
- // (without that wrapper) is not supported because load() needs
74
- // host-controlled execution. Callers go through the interpreter.
75
- throw new TrainException('ModuleError', `internal: ModuleRegistry.load called without an executor wrapper for ${abs}`, undefined, TrainErrorCode.ModuleNotFound);
76
- },
77
- };
78
- }
79
- /**
80
- * Apply an Import declaration's specs to the importing module's
81
- * RuntimeContext, given the loaded child module instance.
82
- *
83
- * In M5 we inject imported symbols into the importer's
84
- * `constants` (for const exports), `globals` (for var exports), or
85
- * `functions` (for func / fai exports). The interpreter's identifier
86
- * lookup already consults these three maps in lexical order, so an
87
- * imported `foo` is visible just like a top-level `foo`.
88
- *
89
- * Throws ImportSymbolMissing if the import names a symbol the module
90
- * does not export.
91
- */
92
- export function applyImport(imp, child, importerCtx) {
93
- if (imp.clause.kind === 'NamespaceImport') {
94
- throw new TrainException('ModuleError', `namespace import (\`import * as ${imp.clause.alias} from "${imp.source}"\`) is not yet supported in M5`, imp.range, TrainErrorCode.ImportSymbolMissing);
95
- }
96
- for (const spec of imp.clause.specs) {
97
- if (!child.exports.has(spec.name)) {
98
- const available = [...child.exports.keys()].join(', ') || '<none>';
99
- throw new TrainException('ModuleError', `module "${imp.source}" does not export "${spec.name}" (available: ${available})`, spec.range, TrainErrorCode.ImportSymbolMissing);
100
- }
101
- const localName = spec.alias ?? spec.name;
102
- // Refuse to silently shadow an existing symbol — catches both
103
- // `import { foo } / func foo` and duplicate `import { foo }` twice.
104
- // Use alias if present (`as x`), since that's the local name being
105
- // bound. Without this check the second `set` simply overwrote the
106
- // first and no warning fired.
107
- let conflict = null;
108
- if (importerCtx.functions.has(localName))
109
- conflict = 'function';
110
- else if (importerCtx.constants.has(localName))
111
- conflict = 'const';
112
- else if (importerCtx.globals.has(localName))
113
- conflict = 'var';
114
- if (conflict !== null) {
115
- throw new TrainException('ModuleError', `import '${localName}' from "${imp.source}" conflicts with existing ${conflict} of the same name; use \`as\` to rename`, spec.range, TrainErrorCode.ImportSymbolMissing);
116
- }
117
- const value = child.exports.get(spec.name);
118
- if (isFunctionValue(value)) {
119
- // Re-bind imported function into importer's functions map so calls
120
- // resolve via the standard `ctx.functions.get(name)` path.
121
- importerCtx.functions.set(localName, value);
122
- }
123
- else {
124
- importerCtx.constants.set(localName, value);
125
- }
126
- }
127
- }
128
- /** Build the export map for a module from its executed RuntimeContext. */
129
- export function collectExports(ctx) {
130
- const out = new Map();
131
- for (const [externalName, internalName] of ctx.exports.entries()) {
132
- if (ctx.functions.has(internalName)) {
133
- out.set(externalName, ctx.functions.get(internalName));
134
- continue;
135
- }
136
- if (ctx.constants.has(internalName)) {
137
- out.set(externalName, ctx.constants.get(internalName));
138
- continue;
139
- }
140
- if (ctx.globals.has(internalName)) {
141
- out.set(externalName, ctx.globals.get(internalName));
142
- continue;
143
- }
144
- // Export declared but no value bound — silently skip; caller errors when
145
- // a downstream module tries to import this name.
146
- }
147
- return out;
148
- }
149
- //# sourceMappingURL=module-loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"module-loader.js","sourceRoot":"","sources":["../src/module-loader.ts"],"names":[],"mappings":"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"}
@@ -1,138 +0,0 @@
1
- /**
2
- * train language parser (CST-based)
3
- *
4
- * Built with chevrotain's CstParser. Produces a Concrete Syntax Tree;
5
- * a later transformer step (M1 end) converts CST → typed AST.
6
- *
7
- * Coverage as of this milestone:
8
- * - Top-level: import / const / var / func / fai / export / @runtime
9
- * - Annotations (@cache / @timeout / @adapter / ...) on func & fai decls
10
- * - Statements: let (with destructuring), assignment, if/else, for-in,
11
- * while, break, continue, return, try-catch, expression statement
12
- * - Expressions: full precedence chain (ternary / || / && / == != /
13
- * comparison / additive / multiplicative / unary / postfix /
14
- * array & object literals / identifiers / literals / parens)
15
- * - Types: leaf types with range/named constraints
16
- *
17
- * NOT yet implemented (TODO for later):
18
- * - Structural types: enum / array<T> / object{...}
19
- * - String template interpolation (${...}) — needs lexer modes
20
- */
21
- import { CstParser, type CstNode } from 'chevrotain';
22
- export declare class TrainParser extends CstParser {
23
- constructor();
24
- program: import("chevrotain").ParserMethod<[], CstNode>;
25
- /** Entry rule for parsing a bare expression (used by template string
26
- * interpolation: the builder hands `${ ... }` body to this rule
27
- * rather than re-implementing expression parsing). */
28
- exprEntry: import("chevrotain").ParserMethod<[], CstNode>;
29
- private topLevel;
30
- /** @runtime(...) — distinguished from other annotations by literal name. */
31
- private isRuntimeAnnotation;
32
- /** Look ahead: an AtName followed eventually by `func` or `fai`. */
33
- private isAnnotatedFuncOrFai;
34
- private importDecl;
35
- private importClause;
36
- private namedImports;
37
- private importSpec;
38
- private namespaceImport;
39
- /** Top-level `@runtime(adapter = "claude", ...)`. */
40
- private runtimeAnnotation;
41
- /** Decoration-style annotation attached to a func/fai/import declaration. */
42
- private declAnnotation;
43
- private annoArgList;
44
- private annoArg;
45
- /** Wrapper: zero-or-more decl annotations followed by func or fai decl. */
46
- private annotatedDecl;
47
- private constDecl;
48
- private varDecl;
49
- private funcDecl;
50
- private faiDecl;
51
- private exportDecl;
52
- private exportNames;
53
- private exportSpec;
54
- private paramList;
55
- private param;
56
- private faiParamList;
57
- private faiParam;
58
- private faiOutputList;
59
- private faiOutput;
60
- private typeAnnot;
61
- private declTypeAnnot;
62
- private declScalarType;
63
- private declArrayType;
64
- private scalarType;
65
- private enumType;
66
- private arrayType;
67
- private objectType;
68
- private objectTypeField;
69
- private typeConstraint;
70
- /** Range constraint starts with a numeric literal; named with identifier. */
71
- private isRangeConstraint;
72
- private rangeConstraint;
73
- private namedConstraint;
74
- private numberLit;
75
- private block;
76
- private stmt;
77
- /**
78
- * An assignment starts with an l-value (Identifier with optional . [ suffixes)
79
- * followed by an assignment operator. We scan ahead, skipping balanced
80
- * brackets, looking for one of the assignment ops at the same paren depth.
81
- */
82
- private isAssignment;
83
- private letDecl;
84
- private letTarget;
85
- private objectDestruct;
86
- private destructField;
87
- private arrayDestruct;
88
- private assignment;
89
- private lvalue;
90
- private lvalueSuffix;
91
- private assignOp;
92
- private ifStmt;
93
- private forStmt;
94
- private whileStmt;
95
- private tryStmt;
96
- private catchClause;
97
- private breakStmt;
98
- private continueStmt;
99
- private returnStmt;
100
- /** Heuristic: does the current lookahead token start an expression? */
101
- private canStartExpression;
102
- private exprStmt;
103
- private expr;
104
- private ternaryExpr;
105
- private logicalOrExpr;
106
- private logicalAndExpr;
107
- private equalityExpr;
108
- private comparisonExpr;
109
- private additiveExpr;
110
- private multiplicativeExpr;
111
- private unaryExpr;
112
- private postfixExpr;
113
- private postfixSuffix;
114
- private argList;
115
- private primaryExpr;
116
- private literal;
117
- private arrayLit;
118
- private objectLit;
119
- private objectLitField;
120
- }
121
- export declare const trainParser: TrainParser;
122
- export interface ParseResult {
123
- cst: CstNode | undefined;
124
- lexErrors: ReadonlyArray<unknown>;
125
- parseErrors: ReadonlyArray<unknown>;
126
- }
127
- /**
128
- * Parse train source text. Returns CST + any errors (does not throw on parse errors,
129
- * to allow IDE-style error reporting).
130
- */
131
- export declare function parse(source: string): ParseResult;
132
- /**
133
- * Parse a single expression. Used internally by the template-string
134
- * interpolation builder. The source must be exactly an expression
135
- * (no surrounding statement/punctuation).
136
- */
137
- export declare function parseExpression(source: string): ParseResult;
138
- //# sourceMappingURL=parser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}