@tom2012/cc-web 2026.5.18-b → 2026.5.18-c
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 +2 -21
- package/backend/dist/index.js.map +1 -1
- 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/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/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 +1 -64
- package/backend/package.json +1 -5
- package/frontend/dist/assets/{ChatOverlay-DPM_F615.js → ChatOverlay-i8gy2y-T.js} +1 -1
- package/frontend/dist/assets/{GraphPreview-CJhh33L8.js → GraphPreview-CoOHeDk0.js} +2 -2
- package/frontend/dist/assets/{MobilePage-Cx9v8Udp.js → MobilePage-ZYuVSqIu.js} +3 -3
- package/frontend/dist/assets/{OfficePreview-h6zYBZFQ.js → OfficePreview-BP_FVyDv.js} +2 -2
- package/frontend/dist/assets/{PdfPreview-DbYFye7c.js → PdfPreview-B_Is_82c.js} +1 -1
- package/frontend/dist/assets/{ProjectPage-DaPmvQ-H.js → ProjectPage-Bi7P0xvD.js} +5 -5
- package/frontend/dist/assets/{SettingsPage-BkApTPbw.js → SettingsPage-DlqnuIy1.js} +2 -2
- package/frontend/dist/assets/{SkillHubPage-BwfU-hel.js → SkillHubPage-FFefLcmN.js} +3 -3
- package/frontend/dist/assets/{chevron-down-D4Vj-5wB.js → chevron-down-DqAoFpmS.js} +1 -1
- package/frontend/dist/assets/{index-DUIOrPha.js → index-B5mDtgD1.js} +2 -2
- package/frontend/dist/assets/{index-CKxFfdqR.js → index-Bj-uhUZY.js} +1 -1
- package/frontend/dist/assets/{index-C-2GBtXy.js → index-DzYZJMgp.js} +1 -1
- package/frontend/dist/assets/index-mxYmpvtf.css +1 -0
- package/frontend/dist/assets/{jszip.min-Bn769Ot7.js → jszip.min-DW73pE0J.js} +1 -1
- package/frontend/dist/assets/{select-CXSNG3yW.js → select-HgZm25ew.js} +1 -1
- package/frontend/dist/assets/{user-Chl3LWFq.js → user-BOTyiGCj.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/TrackEditor-BbM0eHTD.js +0 -14
- package/frontend/dist/assets/TrackGraphEditor-DzEqAGFN.js +0 -2
- package/frontend/dist/assets/TrackGraphEditor-Fd0xVSp_.css +0 -1
- 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,54 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @tom2012/train-core — public API
|
|
3
|
-
*
|
|
4
|
-
* train language runtime: lexer, parser, type checker (planned), interpreter (planned).
|
|
5
|
-
*
|
|
6
|
-
* This is the M1 PoC export surface. More will be added as milestones progress.
|
|
7
|
-
*/
|
|
8
|
-
export { tokenize, trainLexer, allTokens } from './lexer.js';
|
|
9
|
-
export { parse, parseExpression, trainParser, type ParseResult, } from './parser.js';
|
|
10
|
-
export { buildAst } from './builder.js';
|
|
11
|
-
export * as ast from './ast.js';
|
|
12
|
-
export { Interpreter, runProgram, type RunResult, type RunOptions, } from './interpreter.js';
|
|
13
|
-
export { TrainException, TrainErrorCode, trainError, TrainReturnSignal, TrainBreakSignal, TrainContinueSignal, makeBuiltin, isBuiltin, newScope, scopeLookup, scopeAssign, isFunctionValue, type TrainErrorCodeKey, type TrainErrorCodeValue, type Value, type FunctionValue, type BuiltinFunction, type RuntimeContext, type Scope, } from './runtime.js';
|
|
14
|
-
export { defaultBuiltinBindings, formatValue } from './builtins.js';
|
|
15
|
-
import { type RunOptions } from './interpreter.js';
|
|
16
|
-
import { TrainException } from './runtime.js';
|
|
17
|
-
import type * as ast from './ast.js';
|
|
18
|
-
export interface ParseToAstResult {
|
|
19
|
-
ast: ast.Program | null;
|
|
20
|
-
lexErrors: ReadonlyArray<unknown>;
|
|
21
|
-
parseErrors: ReadonlyArray<unknown>;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Convenience: parse source text and immediately build the typed AST.
|
|
25
|
-
* AST will be null if there were any lex or parse errors.
|
|
26
|
-
*/
|
|
27
|
-
export declare function parseToAst(source: string): ParseToAstResult;
|
|
28
|
-
/**
|
|
29
|
-
* End-to-end: parse + build AST + execute. Useful for tests and the
|
|
30
|
-
* future `train run` CLI command (modulo CLI argument plumbing).
|
|
31
|
-
*
|
|
32
|
-
* Returns the value of the called entry function (or its error).
|
|
33
|
-
* Does not throw on lex/parse errors; returns them in the result.
|
|
34
|
-
*/
|
|
35
|
-
export interface RunSourceResult {
|
|
36
|
-
ok: boolean;
|
|
37
|
-
value: import('./runtime.js').Value | null;
|
|
38
|
-
error?: TrainException;
|
|
39
|
-
lexErrors: ReadonlyArray<unknown>;
|
|
40
|
-
parseErrors: ReadonlyArray<unknown>;
|
|
41
|
-
}
|
|
42
|
-
export declare function runSource(source: string, opts?: RunOptions): Promise<RunSourceResult>;
|
|
43
|
-
export { composePrompt } from './prompt-composer.js';
|
|
44
|
-
export { validateOutputs, validateValue, composeRetryFeedback, } from './validation.js';
|
|
45
|
-
export { typeToDescriptor, isPromptType, describeType, } from './type-descriptor.js';
|
|
46
|
-
export { AST_CACHE_VERSION, sourceHash, cacheFilePath, saveCache, loadCache, normalizeForCache, parseWithCache, type AstCacheRecord, type ParseWithCacheResult, } from './ast-cache.js';
|
|
47
|
-
export { createModuleRegistry, applyImport, collectExports, type ModuleInstance, type ModuleLoaderHooks, type ModuleRegistry, } from './module-loader.js';
|
|
48
|
-
/**
|
|
49
|
-
* runSource for a file on disk. Required when the source uses
|
|
50
|
-
* `import` statements so module resolution works. Equivalent to:
|
|
51
|
-
* runSource(await fs.readFile(file), { ...opts, entryFile: file })
|
|
52
|
-
*/
|
|
53
|
-
export declare function runFile(absFilePath: string, opts?: import('./interpreter.js').RunOptions): Promise<RunSourceResult>;
|
|
54
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,EACL,KAAK,EACL,eAAe,EACf,WAAW,EACX,KAAK,WAAW,GACjB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAE/B,OAAO,EACL,WAAW,EACX,UAAU,EACV,KAAK,SAAS,EACd,KAAK,UAAU,GAChB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EACL,cAAc,EACd,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,EACX,SAAS,EACT,QAAQ,EACR,WAAW,EACX,WAAW,EACX,eAAe,EACf,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,KAAK,EACV,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,KAAK,GACX,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAInE,OAAO,EAAc,KAAK,UAAU,EAAkB,MAAM,kBAAkB,CAAA;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAA;AAEpC,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAA;IACvB,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IACjC,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;CACpC;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAS3D;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,CAAA;IACX,KAAK,EAAE,OAAO,cAAc,EAAE,KAAK,GAAG,IAAI,CAAA;IAC1C,KAAK,CAAC,EAAE,cAAc,CAAA;IACtB,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IACjC,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;CACpC;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,UAAe,GACpB,OAAO,CAAC,eAAe,CAAC,CAkB1B;AAGD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EACL,eAAe,EACf,aAAa,EACb,oBAAoB,GACrB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,YAAY,GACb,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,cAAc,EACd,KAAK,cAAc,EACnB,KAAK,oBAAoB,GAC1B,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAA;AAE3B;;;;GAIG;AACH,wBAAsB,OAAO,CAC3B,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,OAAO,kBAAkB,EAAE,UAAe,GAC/C,OAAO,CAAC,eAAe,CAAC,CAI1B"}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @tom2012/train-core — public API
|
|
3
|
-
*
|
|
4
|
-
* train language runtime: lexer, parser, type checker (planned), interpreter (planned).
|
|
5
|
-
*
|
|
6
|
-
* This is the M1 PoC export surface. More will be added as milestones progress.
|
|
7
|
-
*/
|
|
8
|
-
export { tokenize, trainLexer, allTokens } from './lexer.js';
|
|
9
|
-
export { parse, parseExpression, trainParser, } from './parser.js';
|
|
10
|
-
export { buildAst } from './builder.js';
|
|
11
|
-
export * as ast from './ast.js';
|
|
12
|
-
export { Interpreter, runProgram, } from './interpreter.js';
|
|
13
|
-
export { TrainException, TrainErrorCode, trainError, TrainReturnSignal, TrainBreakSignal, TrainContinueSignal, makeBuiltin, isBuiltin, newScope, scopeLookup, scopeAssign, isFunctionValue, } from './runtime.js';
|
|
14
|
-
export { defaultBuiltinBindings, formatValue } from './builtins.js';
|
|
15
|
-
import { parse } from './parser.js';
|
|
16
|
-
import { buildAst } from './builder.js';
|
|
17
|
-
import { runProgram } from './interpreter.js';
|
|
18
|
-
/**
|
|
19
|
-
* Convenience: parse source text and immediately build the typed AST.
|
|
20
|
-
* AST will be null if there were any lex or parse errors.
|
|
21
|
-
*/
|
|
22
|
-
export function parseToAst(source) {
|
|
23
|
-
const result = parse(source);
|
|
24
|
-
const hasErrors = result.lexErrors.length > 0 || result.parseErrors.length > 0;
|
|
25
|
-
return {
|
|
26
|
-
ast: hasErrors ? null : buildAst(result.cst),
|
|
27
|
-
lexErrors: result.lexErrors,
|
|
28
|
-
parseErrors: result.parseErrors,
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
export async function runSource(source, opts = {}) {
|
|
32
|
-
const { ast: program, lexErrors, parseErrors } = parseToAst(source);
|
|
33
|
-
if (!program) {
|
|
34
|
-
return {
|
|
35
|
-
ok: false,
|
|
36
|
-
value: null,
|
|
37
|
-
lexErrors,
|
|
38
|
-
parseErrors,
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
const result = await runProgram(program, opts);
|
|
42
|
-
return {
|
|
43
|
-
ok: result.ok,
|
|
44
|
-
value: result.value,
|
|
45
|
-
error: result.error,
|
|
46
|
-
lexErrors,
|
|
47
|
-
parseErrors,
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
// Also re-export the new helpers so adapter packages and tests can use them.
|
|
51
|
-
export { composePrompt } from './prompt-composer.js';
|
|
52
|
-
export { validateOutputs, validateValue, composeRetryFeedback, } from './validation.js';
|
|
53
|
-
export { typeToDescriptor, isPromptType, describeType, } from './type-descriptor.js';
|
|
54
|
-
export { AST_CACHE_VERSION, sourceHash, cacheFilePath, saveCache, loadCache, normalizeForCache, parseWithCache, } from './ast-cache.js';
|
|
55
|
-
export { createModuleRegistry, applyImport, collectExports, } from './module-loader.js';
|
|
56
|
-
/**
|
|
57
|
-
* runSource for a file on disk. Required when the source uses
|
|
58
|
-
* `import` statements so module resolution works. Equivalent to:
|
|
59
|
-
* runSource(await fs.readFile(file), { ...opts, entryFile: file })
|
|
60
|
-
*/
|
|
61
|
-
export async function runFile(absFilePath, opts = {}) {
|
|
62
|
-
const fs = await import('node:fs/promises');
|
|
63
|
-
const source = await fs.readFile(absFilePath, 'utf8');
|
|
64
|
-
return runSource(source, { ...opts, entryFile: absFilePath });
|
|
65
|
-
}
|
|
66
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* train language interpreter — M3.
|
|
3
|
-
*
|
|
4
|
-
* Compared to M2 this revision:
|
|
5
|
-
* - is fully async (every evalExpr / execStmt / callFunc returns Promise),
|
|
6
|
-
* so fai calls can suspend on awaited adapter responses without
|
|
7
|
-
* blocking the event loop
|
|
8
|
-
* - implements real fai execution via an injected LLMAdapter:
|
|
9
|
-
* composes a prompt, dispatches to adapter.call, validates outputs,
|
|
10
|
-
* re-prompts with feedback on validation failures up to maxAttempts
|
|
11
|
-
* - falls back to the M2 "no adapter installed" RuntimeError if no
|
|
12
|
-
* adapter is configured
|
|
13
|
-
*
|
|
14
|
-
* Out of scope (later milestones):
|
|
15
|
-
* - Persistent stack-frame serialization (M3+)
|
|
16
|
-
* - Subflow / module loading (M5)
|
|
17
|
-
* - Cancellation propagation through fai (needs interpreter-level AbortController)
|
|
18
|
-
*/
|
|
19
|
-
import * as ast from './ast.js';
|
|
20
|
-
import { type Value, type FunctionValue, type Scope, type RuntimeContext, TrainException } from './runtime.js';
|
|
21
|
-
import type { LLMAdapter } from '@tom2012/train-adapter-spec';
|
|
22
|
-
import { type ModuleRegistry } from './module-loader.js';
|
|
23
|
-
export interface RunResult {
|
|
24
|
-
ok: boolean;
|
|
25
|
-
value: Value | null;
|
|
26
|
-
error?: TrainException;
|
|
27
|
-
}
|
|
28
|
-
export interface InterpreterConfig {
|
|
29
|
-
adapter?: LLMAdapter;
|
|
30
|
-
/** Total attempts per fai call (initial + retries). Default 3. */
|
|
31
|
-
maxFaiAttempts?: number;
|
|
32
|
-
/** Per-fai-call timeout in ms (passed to adapter). Default 600000. */
|
|
33
|
-
defaultFaiTimeoutMs?: number;
|
|
34
|
-
/** Adapter-specific model id (passed to adapter). */
|
|
35
|
-
model?: string;
|
|
36
|
-
/**
|
|
37
|
-
* Host-supplied "how to write outputs" hint appended to every fai
|
|
38
|
-
* prompt. Replaces the built-in direct-API or agent-CLI hint.
|
|
39
|
-
* Hosts with their own PTY protocol (ccweb, etc.) supply theirs here.
|
|
40
|
-
* See prompt-composer.ts ComposeOptions.writeProtocolHint.
|
|
41
|
-
*/
|
|
42
|
-
writeProtocolHint?: string;
|
|
43
|
-
/**
|
|
44
|
-
* AbortSignal forwarded to every adapter call's FaiCallOptions.signal.
|
|
45
|
-
* When aborted, adapters that honor cancellation should resolve with
|
|
46
|
-
* `{ kind: "cancelled" }`. The interpreter additionally short-circuits
|
|
47
|
-
* pending retries once the signal fires.
|
|
48
|
-
*/
|
|
49
|
-
signal?: AbortSignal;
|
|
50
|
-
}
|
|
51
|
-
export declare class Interpreter {
|
|
52
|
-
private ctx;
|
|
53
|
-
private faiCallCounter;
|
|
54
|
-
private readonly adapter?;
|
|
55
|
-
private readonly maxFaiAttempts;
|
|
56
|
-
private readonly defaultFaiTimeoutMs;
|
|
57
|
-
private readonly model?;
|
|
58
|
-
private readonly writeProtocolHint?;
|
|
59
|
-
private readonly hostSignal?;
|
|
60
|
-
constructor(ctx: RuntimeContext, cfg?: InterpreterConfig);
|
|
61
|
-
evalExpr(expr: ast.Expr, scope: Scope): Promise<Value>;
|
|
62
|
-
private evalIdent;
|
|
63
|
-
private evalTemplate;
|
|
64
|
-
private evalUnary;
|
|
65
|
-
private evalBinary;
|
|
66
|
-
private getMember;
|
|
67
|
-
private getIndex;
|
|
68
|
-
private evalCall;
|
|
69
|
-
callFunc(fn: FunctionValue, args: Value[], range?: ast.Range): Promise<Value>;
|
|
70
|
-
/**
|
|
71
|
-
* Execute a fai call: compose prompt → adapter.call → validate →
|
|
72
|
-
* retry-with-feedback loop. Returns the validated outputs as a single
|
|
73
|
-
* object (containing one key per declared output).
|
|
74
|
-
*/
|
|
75
|
-
callFai(fn: FunctionValue, args: Value[], range?: ast.Range): Promise<Value>;
|
|
76
|
-
execBlock(block: ast.Block, scope: Scope): Promise<void>;
|
|
77
|
-
execStmt(stmt: ast.Stmt, scope: Scope): Promise<void>;
|
|
78
|
-
private execLet;
|
|
79
|
-
private bindLetTarget;
|
|
80
|
-
private execAssign;
|
|
81
|
-
private followSuffix;
|
|
82
|
-
private setSuffix;
|
|
83
|
-
private applyCompound;
|
|
84
|
-
private execIf;
|
|
85
|
-
private execFor;
|
|
86
|
-
private iterable;
|
|
87
|
-
private execWhile;
|
|
88
|
-
private execTry;
|
|
89
|
-
private truthy;
|
|
90
|
-
}
|
|
91
|
-
export interface RunOptions extends InterpreterConfig {
|
|
92
|
-
entry?: string;
|
|
93
|
-
args?: Value[];
|
|
94
|
-
extraBuiltins?: Map<string, Value>;
|
|
95
|
-
/**
|
|
96
|
-
* Absolute path of the entry .tr file. Required when the program
|
|
97
|
-
* contains `import` statements so submodule paths can be resolved.
|
|
98
|
-
* Default: no module support (imports throw).
|
|
99
|
-
*/
|
|
100
|
-
entryFile?: string;
|
|
101
|
-
/**
|
|
102
|
-
* Shared module registry. Reused across submodules in one run so the
|
|
103
|
-
* cache hits and circular detection work. Default: a fresh registry.
|
|
104
|
-
*/
|
|
105
|
-
moduleRegistry?: ModuleRegistry;
|
|
106
|
-
/** Internal: importer stack (used by recursive submodule execution). */
|
|
107
|
-
__importerStack?: string[];
|
|
108
|
-
}
|
|
109
|
-
export declare function runProgram(program: ast.Program, opts?: RunOptions): Promise<RunResult>;
|
|
110
|
-
//# sourceMappingURL=interpreter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interpreter.d.ts","sourceRoot":"","sources":["../src/interpreter.ts"],"names":[],"mappings":"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"}
|