@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.
- package/README.md +1 -1
- package/backend/dist/index.d.ts.map +1 -1
- package/backend/dist/index.js +9 -21
- package/backend/dist/index.js.map +1 -1
- package/backend/dist/routes/_flow-injector.d.ts +4 -0
- package/backend/dist/routes/_flow-injector.d.ts.map +1 -0
- package/backend/dist/routes/_flow-injector.js +17 -0
- package/backend/dist/routes/_flow-injector.js.map +1 -0
- package/backend/dist/routes/global-tracks.d.ts +2 -5
- package/backend/dist/routes/global-tracks.d.ts.map +1 -1
- package/backend/dist/routes/global-tracks.js +2 -28
- package/backend/dist/routes/global-tracks.js.map +1 -1
- package/backend/dist/routes/track-flows.d.ts +12 -0
- package/backend/dist/routes/track-flows.d.ts.map +1 -0
- package/backend/dist/routes/track-flows.js +225 -0
- package/backend/dist/routes/track-flows.js.map +1 -0
- package/backend/dist/routes/tracks.d.ts +3 -9
- package/backend/dist/routes/tracks.d.ts.map +1 -1
- package/backend/dist/routes/tracks.js +3 -153
- package/backend/dist/routes/tracks.js.map +1 -1
- package/backend/dist/terminal-manager-singleton.d.ts +9 -0
- package/backend/dist/terminal-manager-singleton.d.ts.map +1 -0
- package/backend/dist/terminal-manager-singleton.js +6 -0
- package/backend/dist/terminal-manager-singleton.js.map +1 -0
- package/backend/dist/track-flow/__tests__/if-expr-evaluator.test.d.ts +2 -0
- package/backend/dist/track-flow/__tests__/if-expr-evaluator.test.d.ts.map +1 -0
- package/backend/dist/track-flow/__tests__/if-expr-evaluator.test.js +65 -0
- package/backend/dist/track-flow/__tests__/if-expr-evaluator.test.js.map +1 -0
- package/backend/dist/track-flow/__tests__/if-expr-parser.test.d.ts +2 -0
- package/backend/dist/track-flow/__tests__/if-expr-parser.test.d.ts.map +1 -0
- package/backend/dist/track-flow/__tests__/if-expr-parser.test.js +76 -0
- package/backend/dist/track-flow/__tests__/if-expr-parser.test.js.map +1 -0
- package/backend/dist/track-flow/__tests__/prompt-translator.test.d.ts +2 -0
- package/backend/dist/track-flow/__tests__/prompt-translator.test.d.ts.map +1 -0
- package/backend/dist/track-flow/__tests__/prompt-translator.test.js +59 -0
- package/backend/dist/track-flow/__tests__/prompt-translator.test.js.map +1 -0
- package/backend/dist/track-flow/__tests__/run-registry.test.d.ts +2 -0
- package/backend/dist/track-flow/__tests__/run-registry.test.d.ts.map +1 -0
- package/backend/dist/track-flow/__tests__/run-registry.test.js +54 -0
- package/backend/dist/track-flow/__tests__/run-registry.test.js.map +1 -0
- package/backend/dist/track-flow/__tests__/train-json-sync.test.d.ts +2 -0
- package/backend/dist/track-flow/__tests__/train-json-sync.test.d.ts.map +1 -0
- package/backend/dist/track-flow/__tests__/train-json-sync.test.js +93 -0
- package/backend/dist/track-flow/__tests__/train-json-sync.test.js.map +1 -0
- package/backend/dist/track-flow/__tests__/verify-flow-v3.d.ts +2 -0
- package/backend/dist/track-flow/__tests__/verify-flow-v3.d.ts.map +1 -0
- package/backend/dist/track-flow/__tests__/verify-flow-v3.js +177 -0
- package/backend/dist/track-flow/__tests__/verify-flow-v3.js.map +1 -0
- package/backend/dist/track-flow/audit-log.d.ts +22 -0
- package/backend/dist/track-flow/audit-log.d.ts.map +1 -0
- package/backend/dist/track-flow/audit-log.js +56 -0
- package/backend/dist/track-flow/audit-log.js.map +1 -0
- package/backend/dist/track-flow/if-expr-evaluator.d.ts +14 -0
- package/backend/dist/track-flow/if-expr-evaluator.d.ts.map +1 -0
- package/backend/dist/track-flow/if-expr-evaluator.js +73 -0
- package/backend/dist/track-flow/if-expr-evaluator.js.map +1 -0
- package/backend/dist/track-flow/if-expr-parser.d.ts +34 -0
- package/backend/dist/track-flow/if-expr-parser.d.ts.map +1 -0
- package/backend/dist/track-flow/if-expr-parser.js +176 -0
- package/backend/dist/track-flow/if-expr-parser.js.map +1 -0
- package/backend/dist/track-flow/index.d.ts +10 -0
- package/backend/dist/track-flow/index.d.ts.map +1 -0
- package/backend/dist/track-flow/index.js +26 -0
- package/backend/dist/track-flow/index.js.map +1 -0
- package/backend/dist/track-flow/llm-dispatcher.d.ts +36 -0
- package/backend/dist/track-flow/llm-dispatcher.d.ts.map +1 -0
- package/backend/dist/track-flow/llm-dispatcher.js +145 -0
- package/backend/dist/track-flow/llm-dispatcher.js.map +1 -0
- package/backend/dist/track-flow/prompt-translator.d.ts +19 -0
- package/backend/dist/track-flow/prompt-translator.d.ts.map +1 -0
- package/backend/dist/track-flow/prompt-translator.js +60 -0
- package/backend/dist/track-flow/prompt-translator.js.map +1 -0
- package/backend/dist/track-flow/run-id.d.ts +2 -0
- package/backend/dist/track-flow/run-id.d.ts.map +1 -0
- package/backend/dist/track-flow/run-id.js +7 -0
- package/backend/dist/track-flow/run-id.js.map +1 -0
- package/backend/dist/track-flow/run-registry.d.ts +77 -0
- package/backend/dist/track-flow/run-registry.d.ts.map +1 -0
- package/backend/dist/track-flow/run-registry.js +148 -0
- package/backend/dist/track-flow/run-registry.js.map +1 -0
- package/backend/dist/track-flow/runtime.d.ts +59 -0
- package/backend/dist/track-flow/runtime.d.ts.map +1 -0
- package/backend/dist/track-flow/runtime.js +204 -0
- package/backend/dist/track-flow/runtime.js.map +1 -0
- package/backend/dist/track-flow/store.d.ts +20 -0
- package/backend/dist/track-flow/store.d.ts.map +1 -0
- package/backend/dist/track-flow/store.js +158 -0
- package/backend/dist/track-flow/store.js.map +1 -0
- package/backend/dist/track-flow/train-json-sync.d.ts +31 -0
- package/backend/dist/track-flow/train-json-sync.d.ts.map +1 -0
- package/backend/dist/track-flow/train-json-sync.js +130 -0
- package/backend/dist/track-flow/train-json-sync.js.map +1 -0
- package/backend/dist/track-flow-ws.d.ts +5 -0
- package/backend/dist/track-flow-ws.d.ts.map +1 -0
- package/backend/dist/track-flow-ws.js +14 -0
- package/backend/dist/track-flow-ws.js.map +1 -0
- package/backend/dist/tracks/ask-user-bridge.d.ts +1 -6
- package/backend/dist/tracks/ask-user-bridge.d.ts.map +1 -1
- package/backend/dist/tracks/ask-user-bridge.js +0 -22
- package/backend/dist/tracks/ask-user-bridge.js.map +1 -1
- package/backend/dist/tracks/index.d.ts +1 -5
- package/backend/dist/tracks/index.d.ts.map +1 -1
- package/backend/dist/tracks/index.js +1 -10
- package/backend/dist/tracks/index.js.map +1 -1
- package/backend/package-lock.json +2066 -124
- package/backend/package.json +6 -5
- package/frontend/dist/assets/{ChatOverlay-DPM_F615.js → ChatOverlay-BsozN13k.js} +1 -1
- package/frontend/dist/assets/{GraphPreview-CJhh33L8.js → GraphPreview-Bagqaatf.js} +2 -2
- package/frontend/dist/assets/{MobilePage-Cx9v8Udp.js → MobilePage-BTKA6Dxj.js} +3 -3
- package/frontend/dist/assets/{OfficePreview-h6zYBZFQ.js → OfficePreview-CMRAt1Qb.js} +2 -2
- package/frontend/dist/assets/{PdfPreview-DbYFye7c.js → PdfPreview-DM7Lq8lA.js} +1 -1
- package/frontend/dist/assets/ProjectPage-3rERYJYF.js +26 -0
- package/frontend/dist/assets/{TrackGraphEditor-Fd0xVSp_.css → ProjectPage-DFCEXprr.css} +32 -1
- package/frontend/dist/assets/{SettingsPage-BkApTPbw.js → SettingsPage-CA9PjfJR.js} +2 -2
- package/frontend/dist/assets/{SkillHubPage-BwfU-hel.js → SkillHubPage-DLt5DGX6.js} +3 -3
- package/frontend/dist/assets/{chevron-down-D4Vj-5wB.js → chevron-down-D7HR2Yyz.js} +1 -1
- package/frontend/dist/assets/{index-CKxFfdqR.js → index-fIUNz576.js} +1 -1
- package/frontend/dist/assets/{index-DUIOrPha.js → index-k0ydgbQO.js} +7 -7
- package/frontend/dist/assets/{index-C-2GBtXy.js → index-tE28G1ot.js} +1 -1
- package/frontend/dist/assets/index-tSU3-nNc.css +1 -0
- package/frontend/dist/assets/{jszip.min-Bn769Ot7.js → jszip.min-BDxK042T.js} +1 -1
- package/frontend/dist/assets/{select-CXSNG3yW.js → select-C6nWxQ7S.js} +2 -2
- package/frontend/dist/assets/{user-Chl3LWFq.js → user-DbW3r9c3.js} +1 -1
- package/frontend/dist/index.html +2 -2
- package/package.json +1 -1
- package/backend/vendor/@tom2012/train-core/dist/ast-cache.d.ts +0 -74
- package/backend/vendor/@tom2012/train-core/dist/ast-cache.d.ts.map +0 -1
- package/backend/vendor/@tom2012/train-core/dist/ast-cache.js +0 -157
- package/backend/vendor/@tom2012/train-core/dist/ast-cache.js.map +0 -1
- package/backend/vendor/@tom2012/train-core/dist/ast.d.ts +0 -350
- package/backend/vendor/@tom2012/train-core/dist/ast.d.ts.map +0 -1
- package/backend/vendor/@tom2012/train-core/dist/ast.js +0 -15
- package/backend/vendor/@tom2012/train-core/dist/ast.js.map +0 -1
- package/backend/vendor/@tom2012/train-core/dist/builder.d.ts +0 -21
- package/backend/vendor/@tom2012/train-core/dist/builder.d.ts.map +0 -1
- package/backend/vendor/@tom2012/train-core/dist/builder.js +0 -1254
- package/backend/vendor/@tom2012/train-core/dist/builder.js.map +0 -1
- package/backend/vendor/@tom2012/train-core/dist/builtins.d.ts +0 -17
- package/backend/vendor/@tom2012/train-core/dist/builtins.d.ts.map +0 -1
- package/backend/vendor/@tom2012/train-core/dist/builtins.js +0 -500
- package/backend/vendor/@tom2012/train-core/dist/builtins.js.map +0 -1
- package/backend/vendor/@tom2012/train-core/dist/index.d.ts +0 -54
- package/backend/vendor/@tom2012/train-core/dist/index.d.ts.map +0 -1
- package/backend/vendor/@tom2012/train-core/dist/index.js +0 -66
- package/backend/vendor/@tom2012/train-core/dist/index.js.map +0 -1
- package/backend/vendor/@tom2012/train-core/dist/interpreter.d.ts +0 -110
- package/backend/vendor/@tom2012/train-core/dist/interpreter.d.ts.map +0 -1
- package/backend/vendor/@tom2012/train-core/dist/interpreter.js +0 -943
- package/backend/vendor/@tom2012/train-core/dist/interpreter.js.map +0 -1
- package/backend/vendor/@tom2012/train-core/dist/lexer.d.ts +0 -88
- package/backend/vendor/@tom2012/train-core/dist/lexer.d.ts.map +0 -1
- package/backend/vendor/@tom2012/train-core/dist/lexer.js +0 -243
- package/backend/vendor/@tom2012/train-core/dist/lexer.js.map +0 -1
- package/backend/vendor/@tom2012/train-core/dist/module-loader.d.ts +0 -74
- package/backend/vendor/@tom2012/train-core/dist/module-loader.d.ts.map +0 -1
- package/backend/vendor/@tom2012/train-core/dist/module-loader.js +0 -149
- package/backend/vendor/@tom2012/train-core/dist/module-loader.js.map +0 -1
- package/backend/vendor/@tom2012/train-core/dist/parser.d.ts +0 -138
- package/backend/vendor/@tom2012/train-core/dist/parser.d.ts.map +0 -1
- package/backend/vendor/@tom2012/train-core/dist/parser.js +0 -861
- package/backend/vendor/@tom2012/train-core/dist/parser.js.map +0 -1
- package/backend/vendor/@tom2012/train-core/dist/prompt-composer.d.ts +0 -49
- package/backend/vendor/@tom2012/train-core/dist/prompt-composer.d.ts.map +0 -1
- package/backend/vendor/@tom2012/train-core/dist/prompt-composer.js +0 -159
- package/backend/vendor/@tom2012/train-core/dist/prompt-composer.js.map +0 -1
- package/backend/vendor/@tom2012/train-core/dist/runtime.d.ts +0 -146
- package/backend/vendor/@tom2012/train-core/dist/runtime.d.ts.map +0 -1
- package/backend/vendor/@tom2012/train-core/dist/runtime.js +0 -156
- package/backend/vendor/@tom2012/train-core/dist/runtime.js.map +0 -1
- package/backend/vendor/@tom2012/train-core/dist/type-descriptor.d.ts +0 -18
- package/backend/vendor/@tom2012/train-core/dist/type-descriptor.d.ts.map +0 -1
- package/backend/vendor/@tom2012/train-core/dist/type-descriptor.js +0 -94
- package/backend/vendor/@tom2012/train-core/dist/type-descriptor.js.map +0 -1
- package/backend/vendor/@tom2012/train-core/dist/validation.d.ts +0 -44
- package/backend/vendor/@tom2012/train-core/dist/validation.d.ts.map +0 -1
- package/backend/vendor/@tom2012/train-core/dist/validation.js +0 -271
- package/backend/vendor/@tom2012/train-core/dist/validation.js.map +0 -1
- package/backend/vendor/@tom2012/train-core/package.json +0 -35
- package/frontend/dist/assets/ProjectPage-9CEnUXvW.css +0 -32
- package/frontend/dist/assets/ProjectPage-DaPmvQ-H.js +0 -26
- package/frontend/dist/assets/TrackEditor-BbM0eHTD.js +0 -14
- package/frontend/dist/assets/TrackGraphEditor-DzEqAGFN.js +0 -2
- package/frontend/dist/assets/abap-LPLW346S.js +0 -7
- package/frontend/dist/assets/apex-Dk-jUCUV.js +0 -7
- package/frontend/dist/assets/azcli-DPUMmPlX.js +0 -7
- package/frontend/dist/assets/bat-C1Qbg1bV.js +0 -7
- package/frontend/dist/assets/bicep-D-e-VSJi.js +0 -7
- package/frontend/dist/assets/cameligo-CjUqTgqL.js +0 -7
- package/frontend/dist/assets/clojure-BWsu6Kju.js +0 -7
- package/frontend/dist/assets/codicon-DCmgc-ay.ttf +0 -0
- package/frontend/dist/assets/coffee-DeC36AK3.js +0 -7
- package/frontend/dist/assets/cpp-DcZnmBWT.js +0 -7
- package/frontend/dist/assets/csharp-DqBXBMf0.js +0 -7
- package/frontend/dist/assets/csp-CkO7y8ul.js +0 -7
- package/frontend/dist/assets/css-OAcfVtED.js +0 -7
- package/frontend/dist/assets/cssMode-5whH06Yl.js +0 -7
- package/frontend/dist/assets/cypher-40UGrUjD.js +0 -7
- package/frontend/dist/assets/dart-DmixyLor.js +0 -7
- package/frontend/dist/assets/dockerfile-CayO4nTA.js +0 -7
- package/frontend/dist/assets/ecl-DRrKCuVc.js +0 -7
- package/frontend/dist/assets/editor-B5EY1bb8.css +0 -1
- package/frontend/dist/assets/editor.main-CnjJg6pv.js +0 -37
- package/frontend/dist/assets/elixir-J3qpp9mX.js +0 -7
- package/frontend/dist/assets/flow9-DzW2c4Im.js +0 -7
- package/frontend/dist/assets/freemarker2-CUgILTtX.js +0 -7
- package/frontend/dist/assets/fsharp-D00tn_6c.js +0 -7
- package/frontend/dist/assets/go-NnNmgWK_.js +0 -7
- package/frontend/dist/assets/graphql-C9_--VLF.js +0 -7
- package/frontend/dist/assets/handlebars-C2avKkbK.js +0 -7
- package/frontend/dist/assets/hcl-BhbOULbp.js +0 -7
- package/frontend/dist/assets/html-ZYUiGgvr.js +0 -7
- package/frontend/dist/assets/htmlMode-CeliqUBd.js +0 -7
- package/frontend/dist/assets/index-COjNnvQB.css +0 -1
- package/frontend/dist/assets/index-DjmvYdMM.js +0 -1
- package/frontend/dist/assets/ini-zR-_X5iG.js +0 -7
- package/frontend/dist/assets/java-CSTjsyoZ.js +0 -7
- package/frontend/dist/assets/javascript-0VRCllAK.js +0 -7
- package/frontend/dist/assets/jsonMode-Dwqu43-Y.js +0 -7
- package/frontend/dist/assets/julia-DioMOKVu.js +0 -7
- package/frontend/dist/assets/kotlin-Dsb0PKmW.js +0 -7
- package/frontend/dist/assets/less-CZYLoAVD.js +0 -7
- package/frontend/dist/assets/lexon-d5JUiwNk.js +0 -7
- package/frontend/dist/assets/liquid-E2ejTVvo.js +0 -7
- package/frontend/dist/assets/lua-1Al72GG8.js +0 -7
- package/frontend/dist/assets/m3-hx1xCPC3.js +0 -7
- package/frontend/dist/assets/markdown-DPGrH1xZ.js +0 -7
- package/frontend/dist/assets/mdx-CqJmnu86.js +0 -7
- package/frontend/dist/assets/mips-CYbZjkIm.js +0 -7
- package/frontend/dist/assets/msdax-DAioKM5A.js +0 -7
- package/frontend/dist/assets/mysql-7e9GUebS.js +0 -7
- package/frontend/dist/assets/objective-c-BGf8QNjz.js +0 -7
- package/frontend/dist/assets/pascal-hEDRz3un.js +0 -7
- package/frontend/dist/assets/pascaligo-gqEhN6pG.js +0 -7
- package/frontend/dist/assets/perl-CN8Ht9Vk.js +0 -7
- package/frontend/dist/assets/pgsql-CRCqHQBx.js +0 -7
- package/frontend/dist/assets/php-DTZrlAwe.js +0 -7
- package/frontend/dist/assets/pla-CRmh4UcC.js +0 -7
- package/frontend/dist/assets/postiats-Car2G7g8.js +0 -7
- package/frontend/dist/assets/powerquery-BJKl8V3o.js +0 -7
- package/frontend/dist/assets/powershell-Du7a_J7r.js +0 -7
- package/frontend/dist/assets/protobuf-ChneWI0H.js +0 -7
- package/frontend/dist/assets/pug-BH6LSJaf.js +0 -7
- package/frontend/dist/assets/python-BYNiBUNZ.js +0 -7
- package/frontend/dist/assets/qsharp-CU-Hxpxi.js +0 -7
- package/frontend/dist/assets/r-Bw-W15zh.js +0 -7
- package/frontend/dist/assets/razor-2YR0XVnP.js +0 -7
- package/frontend/dist/assets/redis-bY-X9-ol.js +0 -7
- package/frontend/dist/assets/redshift-CMu3ubbS.js +0 -7
- package/frontend/dist/assets/restructuredtext-KNkiWGNN.js +0 -7
- package/frontend/dist/assets/ruby-dQWMhU86.js +0 -7
- package/frontend/dist/assets/rust-BAcHhnEU.js +0 -7
- package/frontend/dist/assets/sb-Bidr5w2z.js +0 -7
- package/frontend/dist/assets/scala-imTtxsGY.js +0 -7
- package/frontend/dist/assets/scheme-BY-WHKiB.js +0 -7
- package/frontend/dist/assets/scss-NDoRP52C.js +0 -7
- package/frontend/dist/assets/shell-DrIjotnh.js +0 -7
- package/frontend/dist/assets/solidity-DTahNycF.js +0 -7
- package/frontend/dist/assets/sophia-DtyrjGkZ.js +0 -7
- package/frontend/dist/assets/sparql-CFuS5E3z.js +0 -7
- package/frontend/dist/assets/sql-BRxcnbRv.js +0 -7
- package/frontend/dist/assets/st-Dz4uh7MK.js +0 -7
- package/frontend/dist/assets/swift-Digsrw1G.js +0 -11
- package/frontend/dist/assets/systemverilog-7TDrkMau.js +0 -7
- package/frontend/dist/assets/tcl-BtaFcnDi.js +0 -7
- package/frontend/dist/assets/tsMode-DrjOLXjA.js +0 -7
- package/frontend/dist/assets/twig-Deid_oBs.js +0 -7
- package/frontend/dist/assets/typescript--8YtfOFf.js +0 -7
- package/frontend/dist/assets/typespec-zUaxhbG8.js +0 -7
- package/frontend/dist/assets/vb-DK0rKJzo.js +0 -7
- package/frontend/dist/assets/wgsl-B8fNVlOQ.js +0 -7
- package/frontend/dist/assets/xml-CGj_sBRG.js +0 -7
- package/frontend/dist/assets/yaml-of0AgMN8.js +0 -7
|
@@ -1,350 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Typed Abstract Syntax Tree for train language.
|
|
3
|
-
*
|
|
4
|
-
* The AST is what later stages (type checker, interpreter, formatter)
|
|
5
|
-
* consume. It is produced from the CST by the visitor in `builder.ts`.
|
|
6
|
-
*
|
|
7
|
-
* Design choices:
|
|
8
|
-
* - Every node has a `kind` discriminator (TypeScript narrowing)
|
|
9
|
-
* - Every node has a `range` carrying source location for diagnostics
|
|
10
|
-
* - Numeric / string / bool literals are pre-parsed to their JS values
|
|
11
|
-
* - String escape sequences are unescaped
|
|
12
|
-
* - All node names are PascalCase nominal types
|
|
13
|
-
*/
|
|
14
|
-
export interface Range {
|
|
15
|
-
startLine: number;
|
|
16
|
-
startColumn: number;
|
|
17
|
-
endLine: number;
|
|
18
|
-
endColumn: number;
|
|
19
|
-
startOffset: number;
|
|
20
|
-
endOffset: number;
|
|
21
|
-
}
|
|
22
|
-
interface Located {
|
|
23
|
-
range: Range;
|
|
24
|
-
}
|
|
25
|
-
export interface Program extends Located {
|
|
26
|
-
kind: 'Program';
|
|
27
|
-
items: TopLevel[];
|
|
28
|
-
}
|
|
29
|
-
export type TopLevel = Import | RuntimeAnnotation | ConstDecl | VarDecl | FuncDecl | FaiDecl | ExportDecl;
|
|
30
|
-
export interface Import extends Located {
|
|
31
|
-
kind: 'Import';
|
|
32
|
-
clause: NamedImports | NamespaceImport;
|
|
33
|
-
source: string;
|
|
34
|
-
version: string | null;
|
|
35
|
-
}
|
|
36
|
-
export interface NamedImports extends Located {
|
|
37
|
-
kind: 'NamedImports';
|
|
38
|
-
specs: ImportSpec[];
|
|
39
|
-
}
|
|
40
|
-
export interface ImportSpec extends Located {
|
|
41
|
-
kind: 'ImportSpec';
|
|
42
|
-
name: string;
|
|
43
|
-
alias: string | null;
|
|
44
|
-
}
|
|
45
|
-
export interface NamespaceImport extends Located {
|
|
46
|
-
kind: 'NamespaceImport';
|
|
47
|
-
alias: string;
|
|
48
|
-
}
|
|
49
|
-
export interface ExportDecl extends Located {
|
|
50
|
-
kind: 'ExportDecl';
|
|
51
|
-
target: ExportNames | FuncDecl | FaiDecl;
|
|
52
|
-
}
|
|
53
|
-
export interface ExportNames extends Located {
|
|
54
|
-
kind: 'ExportNames';
|
|
55
|
-
specs: ExportSpec[];
|
|
56
|
-
}
|
|
57
|
-
export interface ExportSpec extends Located {
|
|
58
|
-
kind: 'ExportSpec';
|
|
59
|
-
name: string;
|
|
60
|
-
alias: string | null;
|
|
61
|
-
}
|
|
62
|
-
export interface RuntimeAnnotation extends Located {
|
|
63
|
-
kind: 'RuntimeAnnotation';
|
|
64
|
-
name: string;
|
|
65
|
-
args: AnnotationArg[];
|
|
66
|
-
}
|
|
67
|
-
export interface Annotation extends Located {
|
|
68
|
-
kind: 'Annotation';
|
|
69
|
-
name: string;
|
|
70
|
-
args: AnnotationArg[];
|
|
71
|
-
}
|
|
72
|
-
export interface AnnotationArg extends Located {
|
|
73
|
-
kind: 'AnnotationArg';
|
|
74
|
-
key: string | null;
|
|
75
|
-
value: Literal | TemplateString;
|
|
76
|
-
}
|
|
77
|
-
export interface ConstDecl extends Located {
|
|
78
|
-
kind: 'ConstDecl';
|
|
79
|
-
name: string;
|
|
80
|
-
type: TypeAnnot;
|
|
81
|
-
value: Expr;
|
|
82
|
-
}
|
|
83
|
-
export interface VarDecl extends Located {
|
|
84
|
-
kind: 'VarDecl';
|
|
85
|
-
name: string;
|
|
86
|
-
type: TypeAnnot;
|
|
87
|
-
init: Expr | null;
|
|
88
|
-
}
|
|
89
|
-
export interface FuncDecl extends Located {
|
|
90
|
-
kind: 'FuncDecl';
|
|
91
|
-
annotations: Annotation[];
|
|
92
|
-
name: string;
|
|
93
|
-
params: Param[];
|
|
94
|
-
returnType: TypeAnnot | null;
|
|
95
|
-
body: Block;
|
|
96
|
-
}
|
|
97
|
-
export interface FaiDecl extends Located {
|
|
98
|
-
kind: 'FaiDecl';
|
|
99
|
-
annotations: Annotation[];
|
|
100
|
-
name: string;
|
|
101
|
-
params: FaiParam[];
|
|
102
|
-
outputs: FaiOutput[];
|
|
103
|
-
body: Block;
|
|
104
|
-
}
|
|
105
|
-
export interface Param extends Located {
|
|
106
|
-
kind: 'Param';
|
|
107
|
-
name: string;
|
|
108
|
-
type: TypeAnnot | null;
|
|
109
|
-
}
|
|
110
|
-
export interface FaiParam extends Located {
|
|
111
|
-
kind: 'FaiParam';
|
|
112
|
-
name: string;
|
|
113
|
-
type: TypeAnnot;
|
|
114
|
-
}
|
|
115
|
-
export interface FaiOutput extends Located {
|
|
116
|
-
kind: 'FaiOutput';
|
|
117
|
-
name: string;
|
|
118
|
-
type: TypeAnnot;
|
|
119
|
-
}
|
|
120
|
-
export type TypeAnnot = ScalarType | EnumType | ArrayType | ObjectType;
|
|
121
|
-
export interface ScalarType extends Located {
|
|
122
|
-
kind: 'ScalarType';
|
|
123
|
-
name: string;
|
|
124
|
-
constraint: TypeConstraint | null;
|
|
125
|
-
}
|
|
126
|
-
export type TypeConstraint = RangeConstraint | NamedConstraint;
|
|
127
|
-
export interface RangeConstraint extends Located {
|
|
128
|
-
kind: 'RangeConstraint';
|
|
129
|
-
min: number;
|
|
130
|
-
max: number;
|
|
131
|
-
}
|
|
132
|
-
export interface NamedConstraint extends Located {
|
|
133
|
-
kind: 'NamedConstraint';
|
|
134
|
-
key: string;
|
|
135
|
-
value: number | string;
|
|
136
|
-
}
|
|
137
|
-
export interface EnumType extends Located {
|
|
138
|
-
kind: 'EnumType';
|
|
139
|
-
variants: string[];
|
|
140
|
-
}
|
|
141
|
-
export interface ArrayType extends Located {
|
|
142
|
-
kind: 'ArrayType';
|
|
143
|
-
element: TypeAnnot;
|
|
144
|
-
constraint: NamedConstraint | null;
|
|
145
|
-
}
|
|
146
|
-
export interface ObjectType extends Located {
|
|
147
|
-
kind: 'ObjectType';
|
|
148
|
-
fields: ObjectTypeField[];
|
|
149
|
-
}
|
|
150
|
-
export interface ObjectTypeField extends Located {
|
|
151
|
-
kind: 'ObjectTypeField';
|
|
152
|
-
name: string;
|
|
153
|
-
type: TypeAnnot;
|
|
154
|
-
}
|
|
155
|
-
export interface Block extends Located {
|
|
156
|
-
kind: 'Block';
|
|
157
|
-
stmts: Stmt[];
|
|
158
|
-
}
|
|
159
|
-
export type Stmt = LetDecl | Assignment | IfStmt | ForStmt | WhileStmt | TryStmt | BreakStmt | ContinueStmt | ReturnStmt | ExprStmt;
|
|
160
|
-
export interface LetDecl extends Located {
|
|
161
|
-
kind: 'LetDecl';
|
|
162
|
-
target: LetTarget;
|
|
163
|
-
type: TypeAnnot | null;
|
|
164
|
-
init: Expr | null;
|
|
165
|
-
}
|
|
166
|
-
export type LetTarget = IdentTarget | ObjectDestruct | ArrayDestruct;
|
|
167
|
-
export interface IdentTarget extends Located {
|
|
168
|
-
kind: 'IdentTarget';
|
|
169
|
-
name: string;
|
|
170
|
-
}
|
|
171
|
-
export interface ObjectDestruct extends Located {
|
|
172
|
-
kind: 'ObjectDestruct';
|
|
173
|
-
fields: DestructField[];
|
|
174
|
-
}
|
|
175
|
-
export interface DestructField extends Located {
|
|
176
|
-
kind: 'DestructField';
|
|
177
|
-
source: string;
|
|
178
|
-
local: string;
|
|
179
|
-
}
|
|
180
|
-
export interface ArrayDestruct extends Located {
|
|
181
|
-
kind: 'ArrayDestruct';
|
|
182
|
-
names: string[];
|
|
183
|
-
}
|
|
184
|
-
export interface Assignment extends Located {
|
|
185
|
-
kind: 'Assignment';
|
|
186
|
-
target: LValue;
|
|
187
|
-
op: AssignOp;
|
|
188
|
-
value: Expr;
|
|
189
|
-
}
|
|
190
|
-
export type AssignOp = '=' | '+=' | '-=' | '*=' | '/=' | '%=';
|
|
191
|
-
export interface LValue extends Located {
|
|
192
|
-
kind: 'LValue';
|
|
193
|
-
base: string;
|
|
194
|
-
suffixes: LValueSuffix[];
|
|
195
|
-
}
|
|
196
|
-
export type LValueSuffix = MemberSuffix | IndexSuffix;
|
|
197
|
-
export interface MemberSuffix extends Located {
|
|
198
|
-
kind: 'MemberSuffix';
|
|
199
|
-
name: string;
|
|
200
|
-
}
|
|
201
|
-
export interface IndexSuffix extends Located {
|
|
202
|
-
kind: 'IndexSuffix';
|
|
203
|
-
index: Expr;
|
|
204
|
-
}
|
|
205
|
-
export interface IfStmt extends Located {
|
|
206
|
-
kind: 'IfStmt';
|
|
207
|
-
cond: Expr;
|
|
208
|
-
then: Block;
|
|
209
|
-
elifs: ElseIf[];
|
|
210
|
-
otherwise: Block | null;
|
|
211
|
-
}
|
|
212
|
-
export interface ElseIf extends Located {
|
|
213
|
-
kind: 'ElseIf';
|
|
214
|
-
cond: Expr;
|
|
215
|
-
body: Block;
|
|
216
|
-
}
|
|
217
|
-
export interface ForStmt extends Located {
|
|
218
|
-
kind: 'ForStmt';
|
|
219
|
-
binding: string;
|
|
220
|
-
iterable: Expr;
|
|
221
|
-
body: Block;
|
|
222
|
-
}
|
|
223
|
-
export interface WhileStmt extends Located {
|
|
224
|
-
kind: 'WhileStmt';
|
|
225
|
-
cond: Expr;
|
|
226
|
-
body: Block;
|
|
227
|
-
}
|
|
228
|
-
export interface TryStmt extends Located {
|
|
229
|
-
kind: 'TryStmt';
|
|
230
|
-
body: Block;
|
|
231
|
-
catches: CatchClause[];
|
|
232
|
-
}
|
|
233
|
-
export interface CatchClause extends Located {
|
|
234
|
-
kind: 'CatchClause';
|
|
235
|
-
errorType: string;
|
|
236
|
-
binding: string | null;
|
|
237
|
-
body: Block;
|
|
238
|
-
}
|
|
239
|
-
export interface BreakStmt extends Located {
|
|
240
|
-
kind: 'BreakStmt';
|
|
241
|
-
}
|
|
242
|
-
export interface ContinueStmt extends Located {
|
|
243
|
-
kind: 'ContinueStmt';
|
|
244
|
-
}
|
|
245
|
-
export interface ReturnStmt extends Located {
|
|
246
|
-
kind: 'ReturnStmt';
|
|
247
|
-
value: Expr | null;
|
|
248
|
-
}
|
|
249
|
-
export interface ExprStmt extends Located {
|
|
250
|
-
kind: 'ExprStmt';
|
|
251
|
-
expr: Expr;
|
|
252
|
-
}
|
|
253
|
-
export type Expr = Literal | TemplateString | IdentExpr | ArrayLit | ObjectLit | UnaryExpr | BinaryExpr | TernaryExpr | MemberExpr | IndexExpr | CallExpr;
|
|
254
|
-
export type Literal = IntLit | FloatLit | StringLit | BoolLit | NullLit;
|
|
255
|
-
export interface IntLit extends Located {
|
|
256
|
-
kind: 'IntLit';
|
|
257
|
-
value: number;
|
|
258
|
-
}
|
|
259
|
-
export interface FloatLit extends Located {
|
|
260
|
-
kind: 'FloatLit';
|
|
261
|
-
value: number;
|
|
262
|
-
}
|
|
263
|
-
export interface StringLit extends Located {
|
|
264
|
-
kind: 'StringLit';
|
|
265
|
-
value: string;
|
|
266
|
-
}
|
|
267
|
-
export interface BoolLit extends Located {
|
|
268
|
-
kind: 'BoolLit';
|
|
269
|
-
value: boolean;
|
|
270
|
-
}
|
|
271
|
-
export interface NullLit extends Located {
|
|
272
|
-
kind: 'NullLit';
|
|
273
|
-
}
|
|
274
|
-
/**
|
|
275
|
-
* A double-quoted string that contains one or more `${expr}` interpolations.
|
|
276
|
-
* `parts` is a sequence of literal chunks (already unescaped) and expressions
|
|
277
|
-
* in source order. Always begins and ends with a TemplateChunk (possibly empty).
|
|
278
|
-
*
|
|
279
|
-
* Limit (MVP): expressions inside `${...}` MUST NOT contain string literals.
|
|
280
|
-
* The lexer treats the entire `"..."` as a single token and cannot handle
|
|
281
|
-
* nested quotes. A real implementation would use lexer modes.
|
|
282
|
-
*/
|
|
283
|
-
export interface TemplateString extends Located {
|
|
284
|
-
kind: 'TemplateString';
|
|
285
|
-
parts: TemplatePart[];
|
|
286
|
-
}
|
|
287
|
-
export type TemplatePart = TemplateChunk | TemplateExpr;
|
|
288
|
-
export interface TemplateChunk extends Located {
|
|
289
|
-
kind: 'TemplateChunk';
|
|
290
|
-
value: string;
|
|
291
|
-
}
|
|
292
|
-
export interface TemplateExpr extends Located {
|
|
293
|
-
kind: 'TemplateExpr';
|
|
294
|
-
expr: Expr;
|
|
295
|
-
}
|
|
296
|
-
export interface IdentExpr extends Located {
|
|
297
|
-
kind: 'IdentExpr';
|
|
298
|
-
name: string;
|
|
299
|
-
}
|
|
300
|
-
export interface ArrayLit extends Located {
|
|
301
|
-
kind: 'ArrayLit';
|
|
302
|
-
elements: Expr[];
|
|
303
|
-
}
|
|
304
|
-
export interface ObjectLit extends Located {
|
|
305
|
-
kind: 'ObjectLit';
|
|
306
|
-
fields: ObjectLitField[];
|
|
307
|
-
}
|
|
308
|
-
export interface ObjectLitField extends Located {
|
|
309
|
-
kind: 'ObjectLitField';
|
|
310
|
-
key: string;
|
|
311
|
-
shorthand: boolean;
|
|
312
|
-
value: Expr;
|
|
313
|
-
}
|
|
314
|
-
export type UnaryOp = '-' | '!';
|
|
315
|
-
export interface UnaryExpr extends Located {
|
|
316
|
-
kind: 'UnaryExpr';
|
|
317
|
-
op: UnaryOp;
|
|
318
|
-
operand: Expr;
|
|
319
|
-
}
|
|
320
|
-
export type BinaryOp = '+' | '-' | '*' | '/' | '%' | '==' | '!=' | '<' | '<=' | '>' | '>=' | '&&' | '||';
|
|
321
|
-
export interface BinaryExpr extends Located {
|
|
322
|
-
kind: 'BinaryExpr';
|
|
323
|
-
op: BinaryOp;
|
|
324
|
-
left: Expr;
|
|
325
|
-
right: Expr;
|
|
326
|
-
}
|
|
327
|
-
export interface TernaryExpr extends Located {
|
|
328
|
-
kind: 'TernaryExpr';
|
|
329
|
-
cond: Expr;
|
|
330
|
-
then: Expr;
|
|
331
|
-
otherwise: Expr;
|
|
332
|
-
}
|
|
333
|
-
export interface MemberExpr extends Located {
|
|
334
|
-
kind: 'MemberExpr';
|
|
335
|
-
object: Expr;
|
|
336
|
-
property: string;
|
|
337
|
-
}
|
|
338
|
-
export interface IndexExpr extends Located {
|
|
339
|
-
kind: 'IndexExpr';
|
|
340
|
-
object: Expr;
|
|
341
|
-
index: Expr;
|
|
342
|
-
}
|
|
343
|
-
export interface CallExpr extends Located {
|
|
344
|
-
kind: 'CallExpr';
|
|
345
|
-
callee: Expr;
|
|
346
|
-
args: Expr[];
|
|
347
|
-
}
|
|
348
|
-
export type AstNode = Program | TopLevel | NamedImports | NamespaceImport | ImportSpec | ExportNames | ExportSpec | Annotation | AnnotationArg | Param | FaiParam | FaiOutput | TypeAnnot | TypeConstraint | ObjectTypeField | Block | Stmt | LetTarget | DestructField | LValue | LValueSuffix | ElseIf | CatchClause | Expr | ObjectLitField | TemplatePart;
|
|
349
|
-
export {};
|
|
350
|
-
//# sourceMappingURL=ast.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Typed Abstract Syntax Tree for train language.
|
|
3
|
-
*
|
|
4
|
-
* The AST is what later stages (type checker, interpreter, formatter)
|
|
5
|
-
* consume. It is produced from the CST by the visitor in `builder.ts`.
|
|
6
|
-
*
|
|
7
|
-
* Design choices:
|
|
8
|
-
* - Every node has a `kind` discriminator (TypeScript narrowing)
|
|
9
|
-
* - Every node has a `range` carrying source location for diagnostics
|
|
10
|
-
* - Numeric / string / bool literals are pre-parsed to their JS values
|
|
11
|
-
* - String escape sequences are unescaped
|
|
12
|
-
* - All node names are PascalCase nominal types
|
|
13
|
-
*/
|
|
14
|
-
export {};
|
|
15
|
-
//# sourceMappingURL=ast.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ast.js","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CST → typed AST visitor.
|
|
3
|
-
*
|
|
4
|
-
* Uses chevrotain's CST visitor pattern. Each `visit*` method
|
|
5
|
-
* corresponds to one grammar rule in `parser.ts` and produces the
|
|
6
|
-
* matching AST node from `ast.ts`.
|
|
7
|
-
*
|
|
8
|
-
* Conventions:
|
|
9
|
-
* - Method name MUST equal the parser rule name (chevrotain dispatch).
|
|
10
|
-
* - `ctx` carries children grouped by rule name (CstNode[]) or token
|
|
11
|
-
* name (IToken[]). Optional rules / tokens may be missing entirely;
|
|
12
|
-
* we read with safe defaults.
|
|
13
|
-
* - All AST nodes carry a `range` derived from the spanning CST/Token.
|
|
14
|
-
*/
|
|
15
|
-
import type { CstNode } from 'chevrotain';
|
|
16
|
-
import * as ast from './ast.js';
|
|
17
|
-
/**
|
|
18
|
-
* Build a typed AST from a parser CST. Returns null if no CST (parse failed).
|
|
19
|
-
*/
|
|
20
|
-
export declare function buildAst(cst: CstNode | undefined): ast.Program | null;
|
|
21
|
-
//# sourceMappingURL=builder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAU,MAAM,YAAY,CAAA;AAEjD,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAu2C/B;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAGrE"}
|