@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,94 +0,0 @@
1
- /**
2
- * Convert AST type annotations to the adapter-spec runtime descriptor.
3
- *
4
- * The descriptor is the wire format adapters consume: it's
5
- * JSON-serialisable, source-location-free, and contains everything an
6
- * adapter needs to build a structured-output schema (JSON Schema /
7
- * OpenAI tool params / Anthropic tool_use / etc.).
8
- */
9
- export function typeToDescriptor(t) {
10
- switch (t.kind) {
11
- case 'ScalarType':
12
- return {
13
- kind: 'scalar',
14
- base: t.name,
15
- constraint: t.constraint
16
- ? constraintToDescriptor(t.constraint)
17
- : undefined,
18
- };
19
- case 'EnumType':
20
- return { kind: 'enum', variants: [...t.variants] };
21
- case 'ArrayType':
22
- return {
23
- kind: 'array',
24
- element: typeToDescriptor(t.element),
25
- constraint: t.constraint
26
- ? constraintToDescriptor(t.constraint)
27
- : undefined,
28
- };
29
- case 'ObjectType': {
30
- const fields = {};
31
- for (const f of t.fields) {
32
- fields[f.name] = typeToDescriptor(f.type);
33
- }
34
- return { kind: 'object', fields };
35
- }
36
- }
37
- }
38
- function constraintToDescriptor(c) {
39
- if (c.kind === 'RangeConstraint') {
40
- return { kind: 'range', min: c.min, max: c.max };
41
- }
42
- return { kind: 'named', key: c.key, value: c.value };
43
- }
44
- /** Recognised leaf type names (corresponds to grammar §11 Class 2). */
45
- const LEAF_TYPES = new Set([
46
- 'int',
47
- 'float',
48
- 'bool',
49
- 'string',
50
- 'prompt',
51
- 'any',
52
- ]);
53
- /** Returns true if the leaf scalar type name is `prompt`. */
54
- export function isPromptType(t) {
55
- return t.kind === 'ScalarType' && t.name === 'prompt';
56
- }
57
- /** Returns true if a name is a recognised leaf type at the type-position. */
58
- export function isLeafTypeName(name) {
59
- return LEAF_TYPES.has(name);
60
- }
61
- /** Render a TrainTypeDescriptor as a short human/LLM-readable string. */
62
- export function describeType(t) {
63
- switch (t.kind) {
64
- case 'scalar': {
65
- let s = t.base;
66
- if (t.constraint) {
67
- if (t.constraint.kind === 'range') {
68
- s += ` ${t.constraint.min}-${t.constraint.max}`;
69
- }
70
- else {
71
- const v = typeof t.constraint.value === 'string'
72
- ? `"${t.constraint.value}"`
73
- : String(t.constraint.value);
74
- s += ` ${t.constraint.key}=${v}`;
75
- }
76
- }
77
- return s;
78
- }
79
- case 'enum':
80
- return `enum: ${t.variants.join('|')}`;
81
- case 'array': {
82
- let s = `array<${describeType(t.element)}>`;
83
- if (t.constraint && t.constraint.kind === 'named') {
84
- s += ` ${t.constraint.key}=${t.constraint.value}`;
85
- }
86
- return s;
87
- }
88
- case 'object': {
89
- const fields = Object.entries(t.fields).map(([k, v]) => `${k}: ${describeType(v)}`);
90
- return `object{ ${fields.join(', ')} }`;
91
- }
92
- }
93
- }
94
- //# sourceMappingURL=type-descriptor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"type-descriptor.js","sourceRoot":"","sources":["../src/type-descriptor.ts"],"names":[],"mappings":"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"}
@@ -1,44 +0,0 @@
1
- /**
2
- * Runtime validation of fai outputs against their declared schema.
3
- *
4
- * Used by the interpreter's fai-call path. If an adapter returns
5
- * `kind: 'success'`, the runtime validates the payload here before
6
- * accepting it; mismatches trigger a retry-with-feedback (composing
7
- * a new prompt that itemizes what went wrong).
8
- *
9
- * Adapters with `capabilities.writesWorkflowData = true` (agent CLI)
10
- * write directly to the project's workflow_data.json; the runtime
11
- * still re-reads and revalidates so adapter trust isn't unbounded.
12
- */
13
- import type * as ast from './ast.js';
14
- import type { ValidationErrorItem } from '@tom2012/train-adapter-spec';
15
- import type { Value } from './runtime.js';
16
- export type ValidateValueResult = {
17
- ok: true;
18
- value: Value;
19
- } | {
20
- ok: false;
21
- message: string;
22
- };
23
- export type ValidateOutputsResult = {
24
- ok: true;
25
- outputs: Record<string, Value>;
26
- } | {
27
- ok: false;
28
- errors: ValidationErrorItem[];
29
- };
30
- /**
31
- * Validate a map of raw outputs (as produced by an adapter) against the
32
- * declared FaiOutput list. Returns either {ok:true, outputs} or
33
- * {ok:false, errors} suitable for feeding back into a retry prompt.
34
- */
35
- export declare function validateOutputs(outputDecls: ReadonlyArray<ast.FaiOutput>, raw: Record<string, unknown>): ValidateOutputsResult;
36
- /** Validate a single value against a type annotation. */
37
- export declare function validateValue(v: unknown, type: ast.TypeAnnot): ValidateValueResult;
38
- /**
39
- * Build a retry-with-feedback prompt body (text appended after the
40
- * original prompt) explaining which outputs failed validation and what
41
- * was expected. Used by the interpreter's fai-call retry loop.
42
- */
43
- export declare function composeRetryFeedback(errors: ValidationErrorItem[], attempt: number, maxAttempts: number): string;
44
- //# sourceMappingURL=validation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAA;AAEpC,OAAO,KAAK,EAEV,mBAAmB,EACpB,MAAM,6BAA6B,CAAA;AACpC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,MAAM,mBAAmB,GAC3B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAC1B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAElC,MAAM,MAAM,qBAAqB,GAC7B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;CAAE,GAC5C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,mBAAmB,EAAE,CAAA;CAAE,CAAA;AAEhD;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EACzC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,qBAAqB,CA0CvB;AAED,yDAAyD;AACzD,wBAAgB,aAAa,CAC3B,CAAC,EAAE,OAAO,EACV,IAAI,EAAE,GAAG,CAAC,SAAS,GAClB,mBAAmB,CAqBrB;AA0LD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,mBAAmB,EAAE,EAC7B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAClB,MAAM,CAgBR"}
@@ -1,271 +0,0 @@
1
- /**
2
- * Runtime validation of fai outputs against their declared schema.
3
- *
4
- * Used by the interpreter's fai-call path. If an adapter returns
5
- * `kind: 'success'`, the runtime validates the payload here before
6
- * accepting it; mismatches trigger a retry-with-feedback (composing
7
- * a new prompt that itemizes what went wrong).
8
- *
9
- * Adapters with `capabilities.writesWorkflowData = true` (agent CLI)
10
- * write directly to the project's workflow_data.json; the runtime
11
- * still re-reads and revalidates so adapter trust isn't unbounded.
12
- */
13
- import { describeType, typeToDescriptor } from './type-descriptor.js';
14
- /**
15
- * Validate a map of raw outputs (as produced by an adapter) against the
16
- * declared FaiOutput list. Returns either {ok:true, outputs} or
17
- * {ok:false, errors} suitable for feeding back into a retry prompt.
18
- */
19
- export function validateOutputs(outputDecls, raw) {
20
- const validated = {};
21
- const errors = [];
22
- // 1. Each declared output must be present and valid
23
- for (const decl of outputDecls) {
24
- const desc = typeToDescriptor(decl.type);
25
- if (!(decl.name in raw)) {
26
- errors.push({
27
- outputName: decl.name,
28
- message: `missing required output '${decl.name}'`,
29
- expected: desc,
30
- });
31
- continue;
32
- }
33
- const r = validateValue(raw[decl.name], decl.type);
34
- if (r.ok) {
35
- validated[decl.name] = r.value;
36
- }
37
- else {
38
- errors.push({
39
- outputName: decl.name,
40
- message: r.message,
41
- expected: desc,
42
- actual: raw[decl.name],
43
- });
44
- }
45
- }
46
- // 2. Surplus keys are a soft signal — record as a warning-style error
47
- for (const key of Object.keys(raw)) {
48
- if (!outputDecls.some((d) => d.name === key)) {
49
- errors.push({
50
- outputName: key,
51
- message: `unexpected output key '${key}' (not declared)`,
52
- expected: { kind: 'scalar', base: 'never' },
53
- actual: raw[key],
54
- });
55
- }
56
- }
57
- if (errors.length > 0)
58
- return { ok: false, errors };
59
- return { ok: true, outputs: validated };
60
- }
61
- /** Validate a single value against a type annotation. */
62
- export function validateValue(v, type) {
63
- switch (type.kind) {
64
- case 'ScalarType':
65
- return validateScalar(v, type);
66
- case 'EnumType':
67
- if (typeof v !== 'string')
68
- return {
69
- ok: false,
70
- message: `expected enum string, got ${typeNameOf(v)}`,
71
- };
72
- if (!type.variants.includes(v))
73
- return {
74
- ok: false,
75
- message: `enum value "${v}" not in [${type.variants.join('|')}]`,
76
- };
77
- return { ok: true, value: v };
78
- case 'ArrayType':
79
- return validateArray(v, type);
80
- case 'ObjectType':
81
- return validateObject(v, type);
82
- }
83
- }
84
- function validateScalar(v, type) {
85
- switch (type.name) {
86
- case 'any':
87
- return { ok: true, value: v };
88
- case 'int':
89
- if (typeof v !== 'number' || !Number.isFinite(v) || !Number.isInteger(v))
90
- return {
91
- ok: false,
92
- message: `expected int, got ${typeNameOf(v)} (${formatActual(v)})`,
93
- };
94
- return applyScalarConstraint(v, type, v);
95
- case 'float':
96
- if (typeof v !== 'number' || !Number.isFinite(v))
97
- return {
98
- ok: false,
99
- message: `expected float, got ${typeNameOf(v)} (${formatActual(v)})`,
100
- };
101
- return applyScalarConstraint(v, type, v);
102
- case 'bool':
103
- if (typeof v !== 'boolean')
104
- return {
105
- ok: false,
106
- message: `expected bool, got ${typeNameOf(v)}`,
107
- };
108
- return { ok: true, value: v };
109
- case 'string':
110
- case 'prompt':
111
- if (typeof v !== 'string')
112
- return {
113
- ok: false,
114
- message: `expected string, got ${typeNameOf(v)}`,
115
- };
116
- return applyStringConstraint(v, type);
117
- default:
118
- // Unknown scalar type name — type checker should have caught.
119
- return {
120
- ok: false,
121
- message: `unknown type '${type.name}'`,
122
- };
123
- }
124
- }
125
- function applyScalarConstraint(v, type, out) {
126
- if (!type.constraint)
127
- return { ok: true, value: out };
128
- if (type.constraint.kind === 'RangeConstraint') {
129
- if (v < type.constraint.min || v > type.constraint.max) {
130
- return {
131
- ok: false,
132
- message: `value ${v} out of range ${type.constraint.min}-${type.constraint.max}`,
133
- };
134
- }
135
- }
136
- else {
137
- const c = type.constraint;
138
- if (c.key === 'min' && typeof c.value === 'number' && v < c.value)
139
- return { ok: false, message: `value ${v} < min=${c.value}` };
140
- if (c.key === 'max' && typeof c.value === 'number' && v > c.value)
141
- return { ok: false, message: `value ${v} > max=${c.value}` };
142
- }
143
- return { ok: true, value: out };
144
- }
145
- function applyStringConstraint(v, type) {
146
- if (!type.constraint)
147
- return { ok: true, value: v };
148
- if (type.constraint.kind === 'NamedConstraint') {
149
- const c = type.constraint;
150
- if (c.key === 'maxLen' && typeof c.value === 'number') {
151
- const len = [...v].length;
152
- if (len > c.value)
153
- return {
154
- ok: false,
155
- message: `string length ${len} > maxLen=${c.value}`,
156
- };
157
- }
158
- if (c.key === 'minLen' && typeof c.value === 'number') {
159
- const len = [...v].length;
160
- if (len < c.value)
161
- return {
162
- ok: false,
163
- message: `string length ${len} < minLen=${c.value}`,
164
- };
165
- }
166
- if (c.key === 'matches' && typeof c.value === 'string') {
167
- try {
168
- if (!new RegExp(c.value).test(v))
169
- return {
170
- ok: false,
171
- message: `string does not match /${c.value}/`,
172
- };
173
- }
174
- catch {
175
- return {
176
- ok: false,
177
- message: `constraint regex /${c.value}/ is not a valid pattern`,
178
- };
179
- }
180
- }
181
- }
182
- return { ok: true, value: v };
183
- }
184
- function validateArray(v, type) {
185
- if (!Array.isArray(v))
186
- return { ok: false, message: `expected array, got ${typeNameOf(v)}` };
187
- const elements = [];
188
- for (let i = 0; i < v.length; i++) {
189
- const r = validateValue(v[i], type.element);
190
- if (!r.ok) {
191
- return {
192
- ok: false,
193
- message: `array[${i}]: ${r.message}`,
194
- };
195
- }
196
- elements.push(r.value);
197
- }
198
- if (type.constraint && type.constraint.kind === 'NamedConstraint') {
199
- const c = type.constraint;
200
- if (c.key === 'minLen' && typeof c.value === 'number' && elements.length < c.value)
201
- return {
202
- ok: false,
203
- message: `array length ${elements.length} < minLen=${c.value}`,
204
- };
205
- if (c.key === 'maxLen' && typeof c.value === 'number' && elements.length > c.value)
206
- return {
207
- ok: false,
208
- message: `array length ${elements.length} > maxLen=${c.value}`,
209
- };
210
- }
211
- return { ok: true, value: elements };
212
- }
213
- function validateObject(v, type) {
214
- if (v === null ||
215
- typeof v !== 'object' ||
216
- Array.isArray(v))
217
- return { ok: false, message: `expected object, got ${typeNameOf(v)}` };
218
- const obj = v;
219
- const out = {};
220
- for (const f of type.fields) {
221
- if (!(f.name in obj))
222
- return {
223
- ok: false,
224
- message: `object missing field '${f.name}'`,
225
- };
226
- const r = validateValue(obj[f.name], f.type);
227
- if (!r.ok)
228
- return {
229
- ok: false,
230
- message: `object.${f.name}: ${r.message}`,
231
- };
232
- out[f.name] = r.value;
233
- }
234
- return { ok: true, value: out };
235
- }
236
- // ─── Helpers ───────────────────────────────────────────────────────────
237
- function typeNameOf(v) {
238
- if (v === null)
239
- return 'null';
240
- if (Array.isArray(v))
241
- return 'array';
242
- return typeof v;
243
- }
244
- function formatActual(v) {
245
- if (typeof v === 'string')
246
- return JSON.stringify(v);
247
- return String(v);
248
- }
249
- /**
250
- * Build a retry-with-feedback prompt body (text appended after the
251
- * original prompt) explaining which outputs failed validation and what
252
- * was expected. Used by the interpreter's fai-call retry loop.
253
- */
254
- export function composeRetryFeedback(errors, attempt, maxAttempts) {
255
- const lines = [];
256
- lines.push('[Your previous output failed validation. Please correct and try again.]');
257
- lines.push('');
258
- lines.push('Errors:');
259
- for (let i = 0; i < errors.length; i++) {
260
- const e = errors[i];
261
- lines.push(` ${i + 1}. output \`${e.outputName}\` — ${e.message}`);
262
- lines.push(` expected: ${describeType(e.expected)}`);
263
- if (e.actual !== undefined) {
264
- lines.push(` actual: ${JSON.stringify(e.actual)}`);
265
- }
266
- }
267
- lines.push('');
268
- lines.push(`This is attempt ${attempt + 1} of ${maxAttempts}.`);
269
- return lines.join('\n');
270
- }
271
- //# sourceMappingURL=validation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
@@ -1,35 +0,0 @@
1
- {
2
- "name": "@tom2012/train-core",
3
- "version": "0.1.0-ccweb",
4
- "description": "train language core — lexer, parser, type checker, interpreter (vendored into ccweb)",
5
- "license": "MIT",
6
- "type": "module",
7
- "main": "./dist/index.js",
8
- "types": "./dist/index.d.ts",
9
- "exports": {
10
- ".": {
11
- "types": "./dist/index.d.ts",
12
- "import": "./dist/index.js"
13
- },
14
- "./parser": {
15
- "types": "./dist/parser.d.ts",
16
- "import": "./dist/parser.js"
17
- },
18
- "./builder": {
19
- "types": "./dist/builder.d.ts",
20
- "import": "./dist/builder.js"
21
- },
22
- "./ast": {
23
- "types": "./dist/ast.d.ts",
24
- "import": "./dist/ast.js"
25
- },
26
- "./runtime": {
27
- "types": "./dist/runtime.d.ts",
28
- "import": "./dist/runtime.js"
29
- }
30
- },
31
- "dependencies": {
32
- "@tom2012/train-adapter-spec": "*",
33
- "chevrotain": "^11.0.3"
34
- }
35
- }
@@ -1,32 +0,0 @@
1
- /**
2
- * Copyright (c) 2014 The xterm.js authors. All rights reserved.
3
- * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
4
- * https://github.com/chjj/term.js
5
- * @license MIT
6
- *
7
- * Permission is hereby granted, free of charge, to any person obtaining a copy
8
- * of this software and associated documentation files (the "Software"), to deal
9
- * in the Software without restriction, including without limitation the rights
10
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
- * copies of the Software, and to permit persons to whom the Software is
12
- * furnished to do so, subject to the following conditions:
13
- *
14
- * The above copyright notice and this permission notice shall be included in
15
- * all copies or substantial portions of the Software.
16
- *
17
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
- * THE SOFTWARE.
24
- *
25
- * Originally forked from (with the author's permission):
26
- * Fabrice Bellard's javascript vt100 for jslinux:
27
- * http://bellard.org/jslinux/
28
- * Copyright (c) 2011 Fabrice Bellard
29
- * The original design remains. The terminal itself
30
- * has been extended to include xterm CSI codes, among
31
- * other features.
32
- */.xterm{cursor:text;position:relative;-moz-user-select:none;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::-moz-selection{color:transparent}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;-moz-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:-moz-fit-content;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:double underline;text-decoration:double underline}.xterm-underline-3{-webkit-text-decoration:wavy underline;text-decoration:wavy underline}.xterm-underline-4{-webkit-text-decoration:dotted underline;text-decoration:dotted underline}.xterm-underline-5{-webkit-text-decoration:dashed underline;text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}