@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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interpreter.js","sourceRoot":"","sources":["../src/interpreter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* train language lexer
|
|
3
|
-
*
|
|
4
|
-
* Token definitions for chevrotain. Covers Part 1-11 of grammar.ebnf.
|
|
5
|
-
*
|
|
6
|
-
* Implementation notes:
|
|
7
|
-
* - Keywords use `longer_alt: Identifier` so that e.g. `int` is keyword but
|
|
8
|
-
* `integer` is an identifier (chevrotain picks the longer match).
|
|
9
|
-
* - String literals are currently a single token; ${...} interpolation
|
|
10
|
-
* parsing is deferred to a later milestone (would require lexer modes).
|
|
11
|
-
* - Whitespace and comments are SKIPPED (consumed but not emitted).
|
|
12
|
-
*/
|
|
13
|
-
import { Lexer, type TokenType } from 'chevrotain';
|
|
14
|
-
export declare const Whitespace: TokenType;
|
|
15
|
-
export declare const LineComment: TokenType;
|
|
16
|
-
export declare const BlockComment: TokenType;
|
|
17
|
-
export declare const Identifier: TokenType;
|
|
18
|
-
export declare const Import: TokenType;
|
|
19
|
-
export declare const Export: TokenType;
|
|
20
|
-
export declare const From: TokenType;
|
|
21
|
-
export declare const As: TokenType;
|
|
22
|
-
export declare const Const: TokenType;
|
|
23
|
-
export declare const Var: TokenType;
|
|
24
|
-
export declare const Let: TokenType;
|
|
25
|
-
export declare const Func: TokenType;
|
|
26
|
-
export declare const Fai: TokenType;
|
|
27
|
-
export declare const Return: TokenType;
|
|
28
|
-
export declare const If: TokenType;
|
|
29
|
-
export declare const Else: TokenType;
|
|
30
|
-
export declare const For: TokenType;
|
|
31
|
-
export declare const In: TokenType;
|
|
32
|
-
export declare const While: TokenType;
|
|
33
|
-
export declare const Break: TokenType;
|
|
34
|
-
export declare const Continue: TokenType;
|
|
35
|
-
export declare const Try: TokenType;
|
|
36
|
-
export declare const Catch: TokenType;
|
|
37
|
-
export declare const True: TokenType;
|
|
38
|
-
export declare const False: TokenType;
|
|
39
|
-
export declare const Null: TokenType;
|
|
40
|
-
export declare const KwEnum: TokenType;
|
|
41
|
-
export declare const KwArray: TokenType;
|
|
42
|
-
export declare const KwObject: TokenType;
|
|
43
|
-
export declare const FloatLit: TokenType;
|
|
44
|
-
export declare const IntLit: TokenType;
|
|
45
|
-
export declare const StringLit: TokenType;
|
|
46
|
-
export declare const Arrow: TokenType;
|
|
47
|
-
export declare const FatArrow: TokenType;
|
|
48
|
-
export declare const EqEq: TokenType;
|
|
49
|
-
export declare const NotEq: TokenType;
|
|
50
|
-
export declare const LtEq: TokenType;
|
|
51
|
-
export declare const GtEq: TokenType;
|
|
52
|
-
export declare const AndAnd: TokenType;
|
|
53
|
-
export declare const OrOr: TokenType;
|
|
54
|
-
export declare const PlusEq: TokenType;
|
|
55
|
-
export declare const MinusEq: TokenType;
|
|
56
|
-
export declare const StarEq: TokenType;
|
|
57
|
-
export declare const SlashEq: TokenType;
|
|
58
|
-
export declare const PercentEq: TokenType;
|
|
59
|
-
export declare const Spread: TokenType;
|
|
60
|
-
export declare const LCurly: TokenType;
|
|
61
|
-
export declare const RCurly: TokenType;
|
|
62
|
-
export declare const LParen: TokenType;
|
|
63
|
-
export declare const RParen: TokenType;
|
|
64
|
-
export declare const LBracket: TokenType;
|
|
65
|
-
export declare const RBracket: TokenType;
|
|
66
|
-
export declare const LAngle: TokenType;
|
|
67
|
-
export declare const RAngle: TokenType;
|
|
68
|
-
export declare const Comma: TokenType;
|
|
69
|
-
export declare const Colon: TokenType;
|
|
70
|
-
export declare const Semicolon: TokenType;
|
|
71
|
-
export declare const Dot: TokenType;
|
|
72
|
-
export declare const Question: TokenType;
|
|
73
|
-
export declare const AtName: TokenType;
|
|
74
|
-
export declare const Plus: TokenType;
|
|
75
|
-
export declare const Dash: TokenType;
|
|
76
|
-
export declare const Star: TokenType;
|
|
77
|
-
export declare const Slash: TokenType;
|
|
78
|
-
export declare const Percent: TokenType;
|
|
79
|
-
export declare const Bang: TokenType;
|
|
80
|
-
export declare const Pipe: TokenType;
|
|
81
|
-
export declare const Equals: TokenType;
|
|
82
|
-
export declare const allTokens: TokenType[];
|
|
83
|
-
export declare const trainLexer: Lexer;
|
|
84
|
-
/**
|
|
85
|
-
* Tokenize source text. Throws on lexer errors.
|
|
86
|
-
*/
|
|
87
|
-
export declare function tokenize(source: string): import("chevrotain").ILexingResult;
|
|
88
|
-
//# sourceMappingURL=lexer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lexer.d.ts","sourceRoot":"","sources":["../src/lexer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,243 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* train language lexer
|
|
3
|
-
*
|
|
4
|
-
* Token definitions for chevrotain. Covers Part 1-11 of grammar.ebnf.
|
|
5
|
-
*
|
|
6
|
-
* Implementation notes:
|
|
7
|
-
* - Keywords use `longer_alt: Identifier` so that e.g. `int` is keyword but
|
|
8
|
-
* `integer` is an identifier (chevrotain picks the longer match).
|
|
9
|
-
* - String literals are currently a single token; ${...} interpolation
|
|
10
|
-
* parsing is deferred to a later milestone (would require lexer modes).
|
|
11
|
-
* - Whitespace and comments are SKIPPED (consumed but not emitted).
|
|
12
|
-
*/
|
|
13
|
-
import { createToken, Lexer } from 'chevrotain';
|
|
14
|
-
// ─── Whitespace / comments (skipped) ─────────────────────────────────────
|
|
15
|
-
export const Whitespace = createToken({
|
|
16
|
-
name: 'Whitespace',
|
|
17
|
-
pattern: /[ \t\r\n]+/,
|
|
18
|
-
group: Lexer.SKIPPED,
|
|
19
|
-
});
|
|
20
|
-
export const LineComment = createToken({
|
|
21
|
-
name: 'LineComment',
|
|
22
|
-
pattern: /\/\/[^\n]*/,
|
|
23
|
-
group: Lexer.SKIPPED,
|
|
24
|
-
});
|
|
25
|
-
export const BlockComment = createToken({
|
|
26
|
-
name: 'BlockComment',
|
|
27
|
-
pattern: /\/\*[\s\S]*?\*\//,
|
|
28
|
-
group: Lexer.SKIPPED,
|
|
29
|
-
});
|
|
30
|
-
// ─── Identifier (referenced as longer_alt by all keywords) ────────────────
|
|
31
|
-
export const Identifier = createToken({
|
|
32
|
-
name: 'Identifier',
|
|
33
|
-
pattern: /[A-Za-z_][A-Za-z0-9_]*/,
|
|
34
|
-
});
|
|
35
|
-
// Helper for keyword tokens
|
|
36
|
-
const kw = (name, literal) => createToken({
|
|
37
|
-
name,
|
|
38
|
-
pattern: new RegExp(literal.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')),
|
|
39
|
-
longer_alt: Identifier,
|
|
40
|
-
});
|
|
41
|
-
// ─── Keywords: module ────────────────────────────────────────────────────
|
|
42
|
-
export const Import = kw('Import', 'import');
|
|
43
|
-
export const Export = kw('Export', 'export');
|
|
44
|
-
export const From = kw('From', 'from');
|
|
45
|
-
export const As = kw('As', 'as');
|
|
46
|
-
// ─── Keywords: binding ───────────────────────────────────────────────────
|
|
47
|
-
export const Const = kw('Const', 'const');
|
|
48
|
-
export const Var = kw('Var', 'var');
|
|
49
|
-
export const Let = kw('Let', 'let');
|
|
50
|
-
// ─── Keywords: function ──────────────────────────────────────────────────
|
|
51
|
-
export const Func = kw('Func', 'func');
|
|
52
|
-
export const Fai = kw('Fai', 'fai');
|
|
53
|
-
export const Return = kw('Return', 'return');
|
|
54
|
-
// ─── Keywords: control flow ──────────────────────────────────────────────
|
|
55
|
-
export const If = kw('If', 'if');
|
|
56
|
-
export const Else = kw('Else', 'else');
|
|
57
|
-
export const For = kw('For', 'for');
|
|
58
|
-
export const In = kw('In', 'in');
|
|
59
|
-
export const While = kw('While', 'while');
|
|
60
|
-
export const Break = kw('Break', 'break');
|
|
61
|
-
export const Continue = kw('Continue', 'continue');
|
|
62
|
-
export const Try = kw('Try', 'try');
|
|
63
|
-
export const Catch = kw('Catch', 'catch');
|
|
64
|
-
// ─── Keywords: literals ──────────────────────────────────────────────────
|
|
65
|
-
export const True = kw('True', 'true');
|
|
66
|
-
export const False = kw('False', 'false');
|
|
67
|
-
export const Null = kw('Null', 'null');
|
|
68
|
-
// ─── Keywords: types (STRUCTURAL constructors only) ──────────────────────
|
|
69
|
-
//
|
|
70
|
-
// IMPORTANT design decision:
|
|
71
|
-
// Leaf type names (int / float / bool / string / prompt / any) are NOT
|
|
72
|
-
// keywords — they are reserved identifiers, recognized at the type-checker
|
|
73
|
-
// layer rather than the lexer. This is necessary because users WILL want
|
|
74
|
-
// identifiers named `prompt` (e.g. `fai f(prompt: prompt)`) and reserving
|
|
75
|
-
// the name would make the canonical syntax illegal.
|
|
76
|
-
//
|
|
77
|
-
// STRUCTURAL constructors (enum / array / object) remain keywords because
|
|
78
|
-
// they begin distinctive grammar shapes (`array<...>`, `enum: ...`,
|
|
79
|
-
// `object{ ... }`) that need lexer-level disambiguation.
|
|
80
|
-
export const KwEnum = kw('KwEnum', 'enum');
|
|
81
|
-
export const KwArray = kw('KwArray', 'array');
|
|
82
|
-
export const KwObject = kw('KwObject', 'object');
|
|
83
|
-
// ─── Literals ────────────────────────────────────────────────────────────
|
|
84
|
-
// Order matters: FloatLit MUST come before IntLit (more specific wins by length)
|
|
85
|
-
export const FloatLit = createToken({
|
|
86
|
-
name: 'FloatLit',
|
|
87
|
-
pattern: /[0-9]+\.[0-9]+/,
|
|
88
|
-
});
|
|
89
|
-
export const IntLit = createToken({
|
|
90
|
-
name: 'IntLit',
|
|
91
|
-
pattern: /[0-9]+/,
|
|
92
|
-
});
|
|
93
|
-
// Double-quoted string. Single-quote support planned for non-interpolated form.
|
|
94
|
-
// ${...} interpolation will require lexer modes (deferred).
|
|
95
|
-
export const StringLit = createToken({
|
|
96
|
-
name: 'StringLit',
|
|
97
|
-
pattern: /"(?:[^"\\]|\\.)*"/,
|
|
98
|
-
});
|
|
99
|
-
// ─── Operators / Punctuation ─────────────────────────────────────────────
|
|
100
|
-
// Multi-char operators MUST come before single-char prefixes they share
|
|
101
|
-
export const Arrow = createToken({ name: 'Arrow', pattern: /->/ });
|
|
102
|
-
export const FatArrow = createToken({ name: 'FatArrow', pattern: /=>/ });
|
|
103
|
-
export const EqEq = createToken({ name: 'EqEq', pattern: /==/ });
|
|
104
|
-
export const NotEq = createToken({ name: 'NotEq', pattern: /!=/ });
|
|
105
|
-
export const LtEq = createToken({ name: 'LtEq', pattern: /<=/ });
|
|
106
|
-
export const GtEq = createToken({ name: 'GtEq', pattern: />=/ });
|
|
107
|
-
export const AndAnd = createToken({ name: 'AndAnd', pattern: /&&/ });
|
|
108
|
-
export const OrOr = createToken({ name: 'OrOr', pattern: /\|\|/ });
|
|
109
|
-
export const PlusEq = createToken({ name: 'PlusEq', pattern: /\+=/ });
|
|
110
|
-
export const MinusEq = createToken({ name: 'MinusEq', pattern: /-=/ });
|
|
111
|
-
export const StarEq = createToken({ name: 'StarEq', pattern: /\*=/ });
|
|
112
|
-
export const SlashEq = createToken({ name: 'SlashEq', pattern: /\/=/ });
|
|
113
|
-
export const PercentEq = createToken({ name: 'PercentEq', pattern: /%=/ });
|
|
114
|
-
export const Spread = createToken({ name: 'Spread', pattern: /\.\.\./ });
|
|
115
|
-
// Single-char punctuation / operators
|
|
116
|
-
export const LCurly = createToken({ name: 'LCurly', pattern: /\{/ });
|
|
117
|
-
export const RCurly = createToken({ name: 'RCurly', pattern: /\}/ });
|
|
118
|
-
export const LParen = createToken({ name: 'LParen', pattern: /\(/ });
|
|
119
|
-
export const RParen = createToken({ name: 'RParen', pattern: /\)/ });
|
|
120
|
-
export const LBracket = createToken({ name: 'LBracket', pattern: /\[/ });
|
|
121
|
-
export const RBracket = createToken({ name: 'RBracket', pattern: /\]/ });
|
|
122
|
-
export const LAngle = createToken({ name: 'LAngle', pattern: /</ });
|
|
123
|
-
export const RAngle = createToken({ name: 'RAngle', pattern: />/ });
|
|
124
|
-
export const Comma = createToken({ name: 'Comma', pattern: /,/ });
|
|
125
|
-
export const Colon = createToken({ name: 'Colon', pattern: /:/ });
|
|
126
|
-
export const Semicolon = createToken({ name: 'Semicolon', pattern: /;/ });
|
|
127
|
-
export const Dot = createToken({ name: 'Dot', pattern: /\./ });
|
|
128
|
-
export const Question = createToken({ name: 'Question', pattern: /\?/ });
|
|
129
|
-
// AtName covers both annotations (@runtime, @cache, …) and import version
|
|
130
|
-
// tags (@abc1234, @v1.0.0, @latest). The parser disambiguates by position.
|
|
131
|
-
// Pattern accepts letters/digits/_/./- in the trailing chunk so semver and
|
|
132
|
-
// hashes both fit. No-space rule (e.g. `@runtime` vs `@ runtime`) is
|
|
133
|
-
// enforced lexically by the single-token boundary.
|
|
134
|
-
export const AtName = createToken({
|
|
135
|
-
name: 'AtName',
|
|
136
|
-
pattern: /@[A-Za-z_][A-Za-z0-9_.\-]*/,
|
|
137
|
-
});
|
|
138
|
-
export const Plus = createToken({ name: 'Plus', pattern: /\+/ });
|
|
139
|
-
export const Dash = createToken({ name: 'Dash', pattern: /-/ });
|
|
140
|
-
export const Star = createToken({ name: 'Star', pattern: /\*/ });
|
|
141
|
-
export const Slash = createToken({ name: 'Slash', pattern: /\// });
|
|
142
|
-
export const Percent = createToken({ name: 'Percent', pattern: /%/ });
|
|
143
|
-
export const Bang = createToken({ name: 'Bang', pattern: /!/ });
|
|
144
|
-
export const Pipe = createToken({ name: 'Pipe', pattern: /\|/ });
|
|
145
|
-
export const Equals = createToken({ name: 'Equals', pattern: /=/ });
|
|
146
|
-
// ─── Token order matters: longer / more specific first ────────────────────
|
|
147
|
-
export const allTokens = [
|
|
148
|
-
// Skipped first so lexer drops them fast
|
|
149
|
-
Whitespace,
|
|
150
|
-
LineComment,
|
|
151
|
-
BlockComment,
|
|
152
|
-
// Multi-char operators BEFORE their single-char prefixes
|
|
153
|
-
Arrow,
|
|
154
|
-
FatArrow,
|
|
155
|
-
EqEq,
|
|
156
|
-
NotEq,
|
|
157
|
-
LtEq,
|
|
158
|
-
GtEq,
|
|
159
|
-
AndAnd,
|
|
160
|
-
OrOr,
|
|
161
|
-
PlusEq,
|
|
162
|
-
MinusEq,
|
|
163
|
-
StarEq,
|
|
164
|
-
SlashEq,
|
|
165
|
-
PercentEq,
|
|
166
|
-
Spread,
|
|
167
|
-
// Keywords BEFORE Identifier (each declares longer_alt: Identifier).
|
|
168
|
-
// Order constraint: when one keyword is a prefix of another (e.g. `in` vs `int`),
|
|
169
|
-
// the LONGER one MUST come first, otherwise chevrotain's static analysis
|
|
170
|
-
// flags the longer one as unreachable.
|
|
171
|
-
Import,
|
|
172
|
-
Export,
|
|
173
|
-
From,
|
|
174
|
-
As,
|
|
175
|
-
Const,
|
|
176
|
-
Var,
|
|
177
|
-
Let,
|
|
178
|
-
Func,
|
|
179
|
-
Fai,
|
|
180
|
-
Return,
|
|
181
|
-
If,
|
|
182
|
-
Else,
|
|
183
|
-
For,
|
|
184
|
-
While,
|
|
185
|
-
Break,
|
|
186
|
-
Continue,
|
|
187
|
-
Try,
|
|
188
|
-
Catch,
|
|
189
|
-
True,
|
|
190
|
-
False,
|
|
191
|
-
Null,
|
|
192
|
-
// Structural type constructors
|
|
193
|
-
KwEnum,
|
|
194
|
-
KwArray,
|
|
195
|
-
KwObject,
|
|
196
|
-
// Control-flow `in` (other `i*` keywords are not prefixes that collide)
|
|
197
|
-
In,
|
|
198
|
-
// Literals (FloatLit before IntLit)
|
|
199
|
-
FloatLit,
|
|
200
|
-
IntLit,
|
|
201
|
-
StringLit,
|
|
202
|
-
// Identifier last (so keywords win first)
|
|
203
|
-
Identifier,
|
|
204
|
-
// Single-char punctuation
|
|
205
|
-
LCurly,
|
|
206
|
-
RCurly,
|
|
207
|
-
LParen,
|
|
208
|
-
RParen,
|
|
209
|
-
LBracket,
|
|
210
|
-
RBracket,
|
|
211
|
-
LAngle,
|
|
212
|
-
RAngle,
|
|
213
|
-
Comma,
|
|
214
|
-
Colon,
|
|
215
|
-
Semicolon,
|
|
216
|
-
Dot,
|
|
217
|
-
Question,
|
|
218
|
-
AtName,
|
|
219
|
-
Plus,
|
|
220
|
-
Dash,
|
|
221
|
-
Star,
|
|
222
|
-
Slash,
|
|
223
|
-
Percent,
|
|
224
|
-
Bang,
|
|
225
|
-
Pipe,
|
|
226
|
-
Equals,
|
|
227
|
-
];
|
|
228
|
-
export const trainLexer = new Lexer(allTokens, {
|
|
229
|
-
positionTracking: 'full',
|
|
230
|
-
ensureOptimizations: false,
|
|
231
|
-
});
|
|
232
|
-
/**
|
|
233
|
-
* Tokenize source text. Throws on lexer errors.
|
|
234
|
-
*/
|
|
235
|
-
export function tokenize(source) {
|
|
236
|
-
const result = trainLexer.tokenize(source);
|
|
237
|
-
if (result.errors.length > 0) {
|
|
238
|
-
const messages = result.errors.map((e) => `[${e.line}:${e.column}] ${e.message}`);
|
|
239
|
-
throw new Error(`Lexer errors:\n${messages.join('\n')}`);
|
|
240
|
-
}
|
|
241
|
-
return result;
|
|
242
|
-
}
|
|
243
|
-
//# sourceMappingURL=lexer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lexer.js","sourceRoot":"","sources":["../src/lexer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,74 +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 type * as ast from './ast.js';
|
|
22
|
-
import { type RuntimeContext, type Value } from './runtime.js';
|
|
23
|
-
export interface ModuleInstance {
|
|
24
|
-
/** Absolute path of the module source file. */
|
|
25
|
-
absPath: string;
|
|
26
|
-
/** Map of exported (external) name → runtime value. */
|
|
27
|
-
exports: Map<string, Value>;
|
|
28
|
-
/** The RuntimeContext built during this module's top-level execution. */
|
|
29
|
-
ctx: RuntimeContext;
|
|
30
|
-
}
|
|
31
|
-
export interface ModuleLoaderHooks {
|
|
32
|
-
/** Resolve a `from "..."` spec against an importer's abs path. */
|
|
33
|
-
resolve?(spec: string, importerAbs: string): string;
|
|
34
|
-
/** Read source for an abs path. Default: fs.readFile utf8. */
|
|
35
|
-
read?(absPath: string): Promise<string>;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Build a fresh ModuleRegistry for a single `train run`. The registry
|
|
39
|
-
* lives for one runProgram call; subsequent runs start fresh.
|
|
40
|
-
*/
|
|
41
|
-
export interface ModuleRegistry {
|
|
42
|
-
/** Load (or hit cache for) a module at the given absolute path. */
|
|
43
|
-
load(absPath: string, importerStack: string[]): Promise<ModuleInstance>;
|
|
44
|
-
/** Resolve `spec` relative to `importerAbs` to an absolute path. */
|
|
45
|
-
resolve(spec: string, importerAbs: string): string;
|
|
46
|
-
/** Register a module instance (used after host has executed top level). */
|
|
47
|
-
set(absPath: string, instance: ModuleInstance): void;
|
|
48
|
-
/** Read a not-yet-cached source file. */
|
|
49
|
-
read(absPath: string): Promise<string>;
|
|
50
|
-
/** True if path is currently being loaded (re-entry → cycle). */
|
|
51
|
-
isInProgress(absPath: string): boolean;
|
|
52
|
-
markInProgress(absPath: string): void;
|
|
53
|
-
unmarkInProgress(absPath: string): void;
|
|
54
|
-
hasCached(absPath: string): boolean;
|
|
55
|
-
getCached(absPath: string): ModuleInstance | undefined;
|
|
56
|
-
}
|
|
57
|
-
export declare function createModuleRegistry(hooks?: ModuleLoaderHooks): ModuleRegistry;
|
|
58
|
-
/**
|
|
59
|
-
* Apply an Import declaration's specs to the importing module's
|
|
60
|
-
* RuntimeContext, given the loaded child module instance.
|
|
61
|
-
*
|
|
62
|
-
* In M5 we inject imported symbols into the importer's
|
|
63
|
-
* `constants` (for const exports), `globals` (for var exports), or
|
|
64
|
-
* `functions` (for func / fai exports). The interpreter's identifier
|
|
65
|
-
* lookup already consults these three maps in lexical order, so an
|
|
66
|
-
* imported `foo` is visible just like a top-level `foo`.
|
|
67
|
-
*
|
|
68
|
-
* Throws ImportSymbolMissing if the import names a symbol the module
|
|
69
|
-
* does not export.
|
|
70
|
-
*/
|
|
71
|
-
export declare function applyImport(imp: ast.Import, child: ModuleInstance, importerCtx: RuntimeContext): void;
|
|
72
|
-
/** Build the export map for a module from its executed RuntimeContext. */
|
|
73
|
-
export declare function collectExports(ctx: RuntimeContext): Map<string, Value>;
|
|
74
|
-
//# sourceMappingURL=module-loader.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"module-loader.d.ts","sourceRoot":"","sources":["../src/module-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAA;AACpC,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,KAAK,EAGX,MAAM,cAAc,CAAA;AAErB,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAA;IACf,uDAAuD;IACvD,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC3B,yEAAyE;IACzE,GAAG,EAAE,cAAc,CAAA;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,kEAAkE;IAClE,OAAO,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAAA;IACnD,8DAA8D;IAC9D,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CACxC;AAgCD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,mEAAmE;IACnE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;IACvE,oEAAoE;IACpE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAAA;IAClD,2EAA2E;IAC3E,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAA;IACpD,yCAAyC;IACzC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACtC,iEAAiE;IACjE,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAA;IACtC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACvC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAA;IACnC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAA;CACvD;AAED,wBAAgB,oBAAoB,CAClC,KAAK,GAAE,iBAAsB,GAC5B,cAAc,CA6ChB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,GAAG,CAAC,MAAM,EACf,KAAK,EAAE,cAAc,EACrB,WAAW,EAAE,cAAc,GAC1B,IAAI,CA8CN;AAED,0EAA0E;AAC1E,wBAAgB,cAAc,CAAC,GAAG,EAAE,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAmBtE"}
|