@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.
Files changed (186) hide show
  1. package/README.md +1 -1
  2. package/backend/dist/index.d.ts.map +1 -1
  3. package/backend/dist/index.js +2 -21
  4. package/backend/dist/index.js.map +1 -1
  5. package/backend/dist/routes/global-tracks.d.ts +2 -5
  6. package/backend/dist/routes/global-tracks.d.ts.map +1 -1
  7. package/backend/dist/routes/global-tracks.js +2 -28
  8. package/backend/dist/routes/global-tracks.js.map +1 -1
  9. package/backend/dist/routes/tracks.d.ts +3 -9
  10. package/backend/dist/routes/tracks.d.ts.map +1 -1
  11. package/backend/dist/routes/tracks.js +3 -153
  12. package/backend/dist/routes/tracks.js.map +1 -1
  13. package/backend/dist/tracks/ask-user-bridge.d.ts +1 -6
  14. package/backend/dist/tracks/ask-user-bridge.d.ts.map +1 -1
  15. package/backend/dist/tracks/ask-user-bridge.js +0 -22
  16. package/backend/dist/tracks/ask-user-bridge.js.map +1 -1
  17. package/backend/dist/tracks/index.d.ts +1 -5
  18. package/backend/dist/tracks/index.d.ts.map +1 -1
  19. package/backend/dist/tracks/index.js +1 -10
  20. package/backend/dist/tracks/index.js.map +1 -1
  21. package/backend/package-lock.json +1 -64
  22. package/backend/package.json +1 -5
  23. package/frontend/dist/assets/{ChatOverlay-DPM_F615.js → ChatOverlay-i8gy2y-T.js} +1 -1
  24. package/frontend/dist/assets/{GraphPreview-CJhh33L8.js → GraphPreview-CoOHeDk0.js} +2 -2
  25. package/frontend/dist/assets/{MobilePage-Cx9v8Udp.js → MobilePage-ZYuVSqIu.js} +3 -3
  26. package/frontend/dist/assets/{OfficePreview-h6zYBZFQ.js → OfficePreview-BP_FVyDv.js} +2 -2
  27. package/frontend/dist/assets/{PdfPreview-DbYFye7c.js → PdfPreview-B_Is_82c.js} +1 -1
  28. package/frontend/dist/assets/{ProjectPage-DaPmvQ-H.js → ProjectPage-Bi7P0xvD.js} +5 -5
  29. package/frontend/dist/assets/{SettingsPage-BkApTPbw.js → SettingsPage-DlqnuIy1.js} +2 -2
  30. package/frontend/dist/assets/{SkillHubPage-BwfU-hel.js → SkillHubPage-FFefLcmN.js} +3 -3
  31. package/frontend/dist/assets/{chevron-down-D4Vj-5wB.js → chevron-down-DqAoFpmS.js} +1 -1
  32. package/frontend/dist/assets/{index-DUIOrPha.js → index-B5mDtgD1.js} +2 -2
  33. package/frontend/dist/assets/{index-CKxFfdqR.js → index-Bj-uhUZY.js} +1 -1
  34. package/frontend/dist/assets/{index-C-2GBtXy.js → index-DzYZJMgp.js} +1 -1
  35. package/frontend/dist/assets/index-mxYmpvtf.css +1 -0
  36. package/frontend/dist/assets/{jszip.min-Bn769Ot7.js → jszip.min-DW73pE0J.js} +1 -1
  37. package/frontend/dist/assets/{select-CXSNG3yW.js → select-HgZm25ew.js} +1 -1
  38. package/frontend/dist/assets/{user-Chl3LWFq.js → user-BOTyiGCj.js} +1 -1
  39. package/frontend/dist/index.html +2 -2
  40. package/package.json +1 -1
  41. package/backend/vendor/@tom2012/train-core/dist/ast-cache.d.ts +0 -74
  42. package/backend/vendor/@tom2012/train-core/dist/ast-cache.d.ts.map +0 -1
  43. package/backend/vendor/@tom2012/train-core/dist/ast-cache.js +0 -157
  44. package/backend/vendor/@tom2012/train-core/dist/ast-cache.js.map +0 -1
  45. package/backend/vendor/@tom2012/train-core/dist/ast.d.ts +0 -350
  46. package/backend/vendor/@tom2012/train-core/dist/ast.d.ts.map +0 -1
  47. package/backend/vendor/@tom2012/train-core/dist/ast.js +0 -15
  48. package/backend/vendor/@tom2012/train-core/dist/ast.js.map +0 -1
  49. package/backend/vendor/@tom2012/train-core/dist/builder.d.ts +0 -21
  50. package/backend/vendor/@tom2012/train-core/dist/builder.d.ts.map +0 -1
  51. package/backend/vendor/@tom2012/train-core/dist/builder.js +0 -1254
  52. package/backend/vendor/@tom2012/train-core/dist/builder.js.map +0 -1
  53. package/backend/vendor/@tom2012/train-core/dist/builtins.d.ts +0 -17
  54. package/backend/vendor/@tom2012/train-core/dist/builtins.d.ts.map +0 -1
  55. package/backend/vendor/@tom2012/train-core/dist/builtins.js +0 -500
  56. package/backend/vendor/@tom2012/train-core/dist/builtins.js.map +0 -1
  57. package/backend/vendor/@tom2012/train-core/dist/index.d.ts +0 -54
  58. package/backend/vendor/@tom2012/train-core/dist/index.d.ts.map +0 -1
  59. package/backend/vendor/@tom2012/train-core/dist/index.js +0 -66
  60. package/backend/vendor/@tom2012/train-core/dist/index.js.map +0 -1
  61. package/backend/vendor/@tom2012/train-core/dist/interpreter.d.ts +0 -110
  62. package/backend/vendor/@tom2012/train-core/dist/interpreter.d.ts.map +0 -1
  63. package/backend/vendor/@tom2012/train-core/dist/interpreter.js +0 -943
  64. package/backend/vendor/@tom2012/train-core/dist/interpreter.js.map +0 -1
  65. package/backend/vendor/@tom2012/train-core/dist/lexer.d.ts +0 -88
  66. package/backend/vendor/@tom2012/train-core/dist/lexer.d.ts.map +0 -1
  67. package/backend/vendor/@tom2012/train-core/dist/lexer.js +0 -243
  68. package/backend/vendor/@tom2012/train-core/dist/lexer.js.map +0 -1
  69. package/backend/vendor/@tom2012/train-core/dist/module-loader.d.ts +0 -74
  70. package/backend/vendor/@tom2012/train-core/dist/module-loader.d.ts.map +0 -1
  71. package/backend/vendor/@tom2012/train-core/dist/module-loader.js +0 -149
  72. package/backend/vendor/@tom2012/train-core/dist/module-loader.js.map +0 -1
  73. package/backend/vendor/@tom2012/train-core/dist/parser.d.ts +0 -138
  74. package/backend/vendor/@tom2012/train-core/dist/parser.d.ts.map +0 -1
  75. package/backend/vendor/@tom2012/train-core/dist/parser.js +0 -861
  76. package/backend/vendor/@tom2012/train-core/dist/parser.js.map +0 -1
  77. package/backend/vendor/@tom2012/train-core/dist/prompt-composer.d.ts +0 -49
  78. package/backend/vendor/@tom2012/train-core/dist/prompt-composer.d.ts.map +0 -1
  79. package/backend/vendor/@tom2012/train-core/dist/prompt-composer.js +0 -159
  80. package/backend/vendor/@tom2012/train-core/dist/prompt-composer.js.map +0 -1
  81. package/backend/vendor/@tom2012/train-core/dist/runtime.d.ts +0 -146
  82. package/backend/vendor/@tom2012/train-core/dist/runtime.d.ts.map +0 -1
  83. package/backend/vendor/@tom2012/train-core/dist/runtime.js +0 -156
  84. package/backend/vendor/@tom2012/train-core/dist/runtime.js.map +0 -1
  85. package/backend/vendor/@tom2012/train-core/dist/type-descriptor.d.ts +0 -18
  86. package/backend/vendor/@tom2012/train-core/dist/type-descriptor.d.ts.map +0 -1
  87. package/backend/vendor/@tom2012/train-core/dist/type-descriptor.js +0 -94
  88. package/backend/vendor/@tom2012/train-core/dist/type-descriptor.js.map +0 -1
  89. package/backend/vendor/@tom2012/train-core/dist/validation.d.ts +0 -44
  90. package/backend/vendor/@tom2012/train-core/dist/validation.d.ts.map +0 -1
  91. package/backend/vendor/@tom2012/train-core/dist/validation.js +0 -271
  92. package/backend/vendor/@tom2012/train-core/dist/validation.js.map +0 -1
  93. package/backend/vendor/@tom2012/train-core/package.json +0 -35
  94. package/frontend/dist/assets/TrackEditor-BbM0eHTD.js +0 -14
  95. package/frontend/dist/assets/TrackGraphEditor-DzEqAGFN.js +0 -2
  96. package/frontend/dist/assets/TrackGraphEditor-Fd0xVSp_.css +0 -1
  97. package/frontend/dist/assets/abap-LPLW346S.js +0 -7
  98. package/frontend/dist/assets/apex-Dk-jUCUV.js +0 -7
  99. package/frontend/dist/assets/azcli-DPUMmPlX.js +0 -7
  100. package/frontend/dist/assets/bat-C1Qbg1bV.js +0 -7
  101. package/frontend/dist/assets/bicep-D-e-VSJi.js +0 -7
  102. package/frontend/dist/assets/cameligo-CjUqTgqL.js +0 -7
  103. package/frontend/dist/assets/clojure-BWsu6Kju.js +0 -7
  104. package/frontend/dist/assets/codicon-DCmgc-ay.ttf +0 -0
  105. package/frontend/dist/assets/coffee-DeC36AK3.js +0 -7
  106. package/frontend/dist/assets/cpp-DcZnmBWT.js +0 -7
  107. package/frontend/dist/assets/csharp-DqBXBMf0.js +0 -7
  108. package/frontend/dist/assets/csp-CkO7y8ul.js +0 -7
  109. package/frontend/dist/assets/css-OAcfVtED.js +0 -7
  110. package/frontend/dist/assets/cssMode-5whH06Yl.js +0 -7
  111. package/frontend/dist/assets/cypher-40UGrUjD.js +0 -7
  112. package/frontend/dist/assets/dart-DmixyLor.js +0 -7
  113. package/frontend/dist/assets/dockerfile-CayO4nTA.js +0 -7
  114. package/frontend/dist/assets/ecl-DRrKCuVc.js +0 -7
  115. package/frontend/dist/assets/editor-B5EY1bb8.css +0 -1
  116. package/frontend/dist/assets/editor.main-CnjJg6pv.js +0 -37
  117. package/frontend/dist/assets/elixir-J3qpp9mX.js +0 -7
  118. package/frontend/dist/assets/flow9-DzW2c4Im.js +0 -7
  119. package/frontend/dist/assets/freemarker2-CUgILTtX.js +0 -7
  120. package/frontend/dist/assets/fsharp-D00tn_6c.js +0 -7
  121. package/frontend/dist/assets/go-NnNmgWK_.js +0 -7
  122. package/frontend/dist/assets/graphql-C9_--VLF.js +0 -7
  123. package/frontend/dist/assets/handlebars-C2avKkbK.js +0 -7
  124. package/frontend/dist/assets/hcl-BhbOULbp.js +0 -7
  125. package/frontend/dist/assets/html-ZYUiGgvr.js +0 -7
  126. package/frontend/dist/assets/htmlMode-CeliqUBd.js +0 -7
  127. package/frontend/dist/assets/index-COjNnvQB.css +0 -1
  128. package/frontend/dist/assets/index-DjmvYdMM.js +0 -1
  129. package/frontend/dist/assets/ini-zR-_X5iG.js +0 -7
  130. package/frontend/dist/assets/java-CSTjsyoZ.js +0 -7
  131. package/frontend/dist/assets/javascript-0VRCllAK.js +0 -7
  132. package/frontend/dist/assets/jsonMode-Dwqu43-Y.js +0 -7
  133. package/frontend/dist/assets/julia-DioMOKVu.js +0 -7
  134. package/frontend/dist/assets/kotlin-Dsb0PKmW.js +0 -7
  135. package/frontend/dist/assets/less-CZYLoAVD.js +0 -7
  136. package/frontend/dist/assets/lexon-d5JUiwNk.js +0 -7
  137. package/frontend/dist/assets/liquid-E2ejTVvo.js +0 -7
  138. package/frontend/dist/assets/lua-1Al72GG8.js +0 -7
  139. package/frontend/dist/assets/m3-hx1xCPC3.js +0 -7
  140. package/frontend/dist/assets/markdown-DPGrH1xZ.js +0 -7
  141. package/frontend/dist/assets/mdx-CqJmnu86.js +0 -7
  142. package/frontend/dist/assets/mips-CYbZjkIm.js +0 -7
  143. package/frontend/dist/assets/msdax-DAioKM5A.js +0 -7
  144. package/frontend/dist/assets/mysql-7e9GUebS.js +0 -7
  145. package/frontend/dist/assets/objective-c-BGf8QNjz.js +0 -7
  146. package/frontend/dist/assets/pascal-hEDRz3un.js +0 -7
  147. package/frontend/dist/assets/pascaligo-gqEhN6pG.js +0 -7
  148. package/frontend/dist/assets/perl-CN8Ht9Vk.js +0 -7
  149. package/frontend/dist/assets/pgsql-CRCqHQBx.js +0 -7
  150. package/frontend/dist/assets/php-DTZrlAwe.js +0 -7
  151. package/frontend/dist/assets/pla-CRmh4UcC.js +0 -7
  152. package/frontend/dist/assets/postiats-Car2G7g8.js +0 -7
  153. package/frontend/dist/assets/powerquery-BJKl8V3o.js +0 -7
  154. package/frontend/dist/assets/powershell-Du7a_J7r.js +0 -7
  155. package/frontend/dist/assets/protobuf-ChneWI0H.js +0 -7
  156. package/frontend/dist/assets/pug-BH6LSJaf.js +0 -7
  157. package/frontend/dist/assets/python-BYNiBUNZ.js +0 -7
  158. package/frontend/dist/assets/qsharp-CU-Hxpxi.js +0 -7
  159. package/frontend/dist/assets/r-Bw-W15zh.js +0 -7
  160. package/frontend/dist/assets/razor-2YR0XVnP.js +0 -7
  161. package/frontend/dist/assets/redis-bY-X9-ol.js +0 -7
  162. package/frontend/dist/assets/redshift-CMu3ubbS.js +0 -7
  163. package/frontend/dist/assets/restructuredtext-KNkiWGNN.js +0 -7
  164. package/frontend/dist/assets/ruby-dQWMhU86.js +0 -7
  165. package/frontend/dist/assets/rust-BAcHhnEU.js +0 -7
  166. package/frontend/dist/assets/sb-Bidr5w2z.js +0 -7
  167. package/frontend/dist/assets/scala-imTtxsGY.js +0 -7
  168. package/frontend/dist/assets/scheme-BY-WHKiB.js +0 -7
  169. package/frontend/dist/assets/scss-NDoRP52C.js +0 -7
  170. package/frontend/dist/assets/shell-DrIjotnh.js +0 -7
  171. package/frontend/dist/assets/solidity-DTahNycF.js +0 -7
  172. package/frontend/dist/assets/sophia-DtyrjGkZ.js +0 -7
  173. package/frontend/dist/assets/sparql-CFuS5E3z.js +0 -7
  174. package/frontend/dist/assets/sql-BRxcnbRv.js +0 -7
  175. package/frontend/dist/assets/st-Dz4uh7MK.js +0 -7
  176. package/frontend/dist/assets/swift-Digsrw1G.js +0 -11
  177. package/frontend/dist/assets/systemverilog-7TDrkMau.js +0 -7
  178. package/frontend/dist/assets/tcl-BtaFcnDi.js +0 -7
  179. package/frontend/dist/assets/tsMode-DrjOLXjA.js +0 -7
  180. package/frontend/dist/assets/twig-Deid_oBs.js +0 -7
  181. package/frontend/dist/assets/typescript--8YtfOFf.js +0 -7
  182. package/frontend/dist/assets/typespec-zUaxhbG8.js +0 -7
  183. package/frontend/dist/assets/vb-DK0rKJzo.js +0 -7
  184. package/frontend/dist/assets/wgsl-B8fNVlOQ.js +0 -7
  185. package/frontend/dist/assets/xml-CGj_sBRG.js +0 -7
  186. package/frontend/dist/assets/yaml-of0AgMN8.js +0 -7
@@ -1,94 +0,0 @@
1
- /**
2
- * Convert AST type annotations to the adapter-spec runtime descriptor.
3
- *
4
- * The descriptor is the wire format adapters consume: it's
5
- * JSON-serialisable, source-location-free, and contains everything an
6
- * adapter needs to build a structured-output schema (JSON Schema /
7
- * OpenAI tool params / Anthropic tool_use / etc.).
8
- */
9
- export function typeToDescriptor(t) {
10
- switch (t.kind) {
11
- case 'ScalarType':
12
- return {
13
- kind: 'scalar',
14
- base: t.name,
15
- constraint: t.constraint
16
- ? constraintToDescriptor(t.constraint)
17
- : undefined,
18
- };
19
- case 'EnumType':
20
- return { kind: 'enum', variants: [...t.variants] };
21
- case 'ArrayType':
22
- return {
23
- kind: 'array',
24
- element: typeToDescriptor(t.element),
25
- constraint: t.constraint
26
- ? constraintToDescriptor(t.constraint)
27
- : undefined,
28
- };
29
- case 'ObjectType': {
30
- const fields = {};
31
- for (const f of t.fields) {
32
- fields[f.name] = typeToDescriptor(f.type);
33
- }
34
- return { kind: 'object', fields };
35
- }
36
- }
37
- }
38
- function constraintToDescriptor(c) {
39
- if (c.kind === 'RangeConstraint') {
40
- return { kind: 'range', min: c.min, max: c.max };
41
- }
42
- return { kind: 'named', key: c.key, value: c.value };
43
- }
44
- /** Recognised leaf type names (corresponds to grammar §11 Class 2). */
45
- const LEAF_TYPES = new Set([
46
- 'int',
47
- 'float',
48
- 'bool',
49
- 'string',
50
- 'prompt',
51
- 'any',
52
- ]);
53
- /** Returns true if the leaf scalar type name is `prompt`. */
54
- export function isPromptType(t) {
55
- return t.kind === 'ScalarType' && t.name === 'prompt';
56
- }
57
- /** Returns true if a name is a recognised leaf type at the type-position. */
58
- export function isLeafTypeName(name) {
59
- return LEAF_TYPES.has(name);
60
- }
61
- /** Render a TrainTypeDescriptor as a short human/LLM-readable string. */
62
- export function describeType(t) {
63
- switch (t.kind) {
64
- case 'scalar': {
65
- let s = t.base;
66
- if (t.constraint) {
67
- if (t.constraint.kind === 'range') {
68
- s += ` ${t.constraint.min}-${t.constraint.max}`;
69
- }
70
- else {
71
- const v = typeof t.constraint.value === 'string'
72
- ? `"${t.constraint.value}"`
73
- : String(t.constraint.value);
74
- s += ` ${t.constraint.key}=${v}`;
75
- }
76
- }
77
- return s;
78
- }
79
- case 'enum':
80
- return `enum: ${t.variants.join('|')}`;
81
- case 'array': {
82
- let s = `array<${describeType(t.element)}>`;
83
- if (t.constraint && t.constraint.kind === 'named') {
84
- s += ` ${t.constraint.key}=${t.constraint.value}`;
85
- }
86
- return s;
87
- }
88
- case 'object': {
89
- const fields = Object.entries(t.fields).map(([k, v]) => `${k}: ${describeType(v)}`);
90
- return `object{ ${fields.join(', ')} }`;
91
- }
92
- }
93
- }
94
- //# sourceMappingURL=type-descriptor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"type-descriptor.js","sourceRoot":"","sources":["../src/type-descriptor.ts"],"names":[],"mappings":"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"}
@@ -1,44 +0,0 @@
1
- /**
2
- * Runtime validation of fai outputs against their declared schema.
3
- *
4
- * Used by the interpreter's fai-call path. If an adapter returns
5
- * `kind: 'success'`, the runtime validates the payload here before
6
- * accepting it; mismatches trigger a retry-with-feedback (composing
7
- * a new prompt that itemizes what went wrong).
8
- *
9
- * Adapters with `capabilities.writesWorkflowData = true` (agent CLI)
10
- * write directly to the project's workflow_data.json; the runtime
11
- * still re-reads and revalidates so adapter trust isn't unbounded.
12
- */
13
- import type * as ast from './ast.js';
14
- import type { ValidationErrorItem } from '@tom2012/train-adapter-spec';
15
- import type { Value } from './runtime.js';
16
- export type ValidateValueResult = {
17
- ok: true;
18
- value: Value;
19
- } | {
20
- ok: false;
21
- message: string;
22
- };
23
- export type ValidateOutputsResult = {
24
- ok: true;
25
- outputs: Record<string, Value>;
26
- } | {
27
- ok: false;
28
- errors: ValidationErrorItem[];
29
- };
30
- /**
31
- * Validate a map of raw outputs (as produced by an adapter) against the
32
- * declared FaiOutput list. Returns either {ok:true, outputs} or
33
- * {ok:false, errors} suitable for feeding back into a retry prompt.
34
- */
35
- export declare function validateOutputs(outputDecls: ReadonlyArray<ast.FaiOutput>, raw: Record<string, unknown>): ValidateOutputsResult;
36
- /** Validate a single value against a type annotation. */
37
- export declare function validateValue(v: unknown, type: ast.TypeAnnot): ValidateValueResult;
38
- /**
39
- * Build a retry-with-feedback prompt body (text appended after the
40
- * original prompt) explaining which outputs failed validation and what
41
- * was expected. Used by the interpreter's fai-call retry loop.
42
- */
43
- export declare function composeRetryFeedback(errors: ValidationErrorItem[], attempt: number, maxAttempts: number): string;
44
- //# sourceMappingURL=validation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAA;AAEpC,OAAO,KAAK,EAEV,mBAAmB,EACpB,MAAM,6BAA6B,CAAA;AACpC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,MAAM,mBAAmB,GAC3B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAC1B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAElC,MAAM,MAAM,qBAAqB,GAC7B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;CAAE,GAC5C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,mBAAmB,EAAE,CAAA;CAAE,CAAA;AAEhD;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EACzC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,qBAAqB,CA0CvB;AAED,yDAAyD;AACzD,wBAAgB,aAAa,CAC3B,CAAC,EAAE,OAAO,EACV,IAAI,EAAE,GAAG,CAAC,SAAS,GAClB,mBAAmB,CAqBrB;AA0LD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,mBAAmB,EAAE,EAC7B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAClB,MAAM,CAgBR"}
@@ -1,271 +0,0 @@
1
- /**
2
- * Runtime validation of fai outputs against their declared schema.
3
- *
4
- * Used by the interpreter's fai-call path. If an adapter returns
5
- * `kind: 'success'`, the runtime validates the payload here before
6
- * accepting it; mismatches trigger a retry-with-feedback (composing
7
- * a new prompt that itemizes what went wrong).
8
- *
9
- * Adapters with `capabilities.writesWorkflowData = true` (agent CLI)
10
- * write directly to the project's workflow_data.json; the runtime
11
- * still re-reads and revalidates so adapter trust isn't unbounded.
12
- */
13
- import { describeType, typeToDescriptor } from './type-descriptor.js';
14
- /**
15
- * Validate a map of raw outputs (as produced by an adapter) against the
16
- * declared FaiOutput list. Returns either {ok:true, outputs} or
17
- * {ok:false, errors} suitable for feeding back into a retry prompt.
18
- */
19
- export function validateOutputs(outputDecls, raw) {
20
- const validated = {};
21
- const errors = [];
22
- // 1. Each declared output must be present and valid
23
- for (const decl of outputDecls) {
24
- const desc = typeToDescriptor(decl.type);
25
- if (!(decl.name in raw)) {
26
- errors.push({
27
- outputName: decl.name,
28
- message: `missing required output '${decl.name}'`,
29
- expected: desc,
30
- });
31
- continue;
32
- }
33
- const r = validateValue(raw[decl.name], decl.type);
34
- if (r.ok) {
35
- validated[decl.name] = r.value;
36
- }
37
- else {
38
- errors.push({
39
- outputName: decl.name,
40
- message: r.message,
41
- expected: desc,
42
- actual: raw[decl.name],
43
- });
44
- }
45
- }
46
- // 2. Surplus keys are a soft signal — record as a warning-style error
47
- for (const key of Object.keys(raw)) {
48
- if (!outputDecls.some((d) => d.name === key)) {
49
- errors.push({
50
- outputName: key,
51
- message: `unexpected output key '${key}' (not declared)`,
52
- expected: { kind: 'scalar', base: 'never' },
53
- actual: raw[key],
54
- });
55
- }
56
- }
57
- if (errors.length > 0)
58
- return { ok: false, errors };
59
- return { ok: true, outputs: validated };
60
- }
61
- /** Validate a single value against a type annotation. */
62
- export function validateValue(v, type) {
63
- switch (type.kind) {
64
- case 'ScalarType':
65
- return validateScalar(v, type);
66
- case 'EnumType':
67
- if (typeof v !== 'string')
68
- return {
69
- ok: false,
70
- message: `expected enum string, got ${typeNameOf(v)}`,
71
- };
72
- if (!type.variants.includes(v))
73
- return {
74
- ok: false,
75
- message: `enum value "${v}" not in [${type.variants.join('|')}]`,
76
- };
77
- return { ok: true, value: v };
78
- case 'ArrayType':
79
- return validateArray(v, type);
80
- case 'ObjectType':
81
- return validateObject(v, type);
82
- }
83
- }
84
- function validateScalar(v, type) {
85
- switch (type.name) {
86
- case 'any':
87
- return { ok: true, value: v };
88
- case 'int':
89
- if (typeof v !== 'number' || !Number.isFinite(v) || !Number.isInteger(v))
90
- return {
91
- ok: false,
92
- message: `expected int, got ${typeNameOf(v)} (${formatActual(v)})`,
93
- };
94
- return applyScalarConstraint(v, type, v);
95
- case 'float':
96
- if (typeof v !== 'number' || !Number.isFinite(v))
97
- return {
98
- ok: false,
99
- message: `expected float, got ${typeNameOf(v)} (${formatActual(v)})`,
100
- };
101
- return applyScalarConstraint(v, type, v);
102
- case 'bool':
103
- if (typeof v !== 'boolean')
104
- return {
105
- ok: false,
106
- message: `expected bool, got ${typeNameOf(v)}`,
107
- };
108
- return { ok: true, value: v };
109
- case 'string':
110
- case 'prompt':
111
- if (typeof v !== 'string')
112
- return {
113
- ok: false,
114
- message: `expected string, got ${typeNameOf(v)}`,
115
- };
116
- return applyStringConstraint(v, type);
117
- default:
118
- // Unknown scalar type name — type checker should have caught.
119
- return {
120
- ok: false,
121
- message: `unknown type '${type.name}'`,
122
- };
123
- }
124
- }
125
- function applyScalarConstraint(v, type, out) {
126
- if (!type.constraint)
127
- return { ok: true, value: out };
128
- if (type.constraint.kind === 'RangeConstraint') {
129
- if (v < type.constraint.min || v > type.constraint.max) {
130
- return {
131
- ok: false,
132
- message: `value ${v} out of range ${type.constraint.min}-${type.constraint.max}`,
133
- };
134
- }
135
- }
136
- else {
137
- const c = type.constraint;
138
- if (c.key === 'min' && typeof c.value === 'number' && v < c.value)
139
- return { ok: false, message: `value ${v} < min=${c.value}` };
140
- if (c.key === 'max' && typeof c.value === 'number' && v > c.value)
141
- return { ok: false, message: `value ${v} > max=${c.value}` };
142
- }
143
- return { ok: true, value: out };
144
- }
145
- function applyStringConstraint(v, type) {
146
- if (!type.constraint)
147
- return { ok: true, value: v };
148
- if (type.constraint.kind === 'NamedConstraint') {
149
- const c = type.constraint;
150
- if (c.key === 'maxLen' && typeof c.value === 'number') {
151
- const len = [...v].length;
152
- if (len > c.value)
153
- return {
154
- ok: false,
155
- message: `string length ${len} > maxLen=${c.value}`,
156
- };
157
- }
158
- if (c.key === 'minLen' && typeof c.value === 'number') {
159
- const len = [...v].length;
160
- if (len < c.value)
161
- return {
162
- ok: false,
163
- message: `string length ${len} < minLen=${c.value}`,
164
- };
165
- }
166
- if (c.key === 'matches' && typeof c.value === 'string') {
167
- try {
168
- if (!new RegExp(c.value).test(v))
169
- return {
170
- ok: false,
171
- message: `string does not match /${c.value}/`,
172
- };
173
- }
174
- catch {
175
- return {
176
- ok: false,
177
- message: `constraint regex /${c.value}/ is not a valid pattern`,
178
- };
179
- }
180
- }
181
- }
182
- return { ok: true, value: v };
183
- }
184
- function validateArray(v, type) {
185
- if (!Array.isArray(v))
186
- return { ok: false, message: `expected array, got ${typeNameOf(v)}` };
187
- const elements = [];
188
- for (let i = 0; i < v.length; i++) {
189
- const r = validateValue(v[i], type.element);
190
- if (!r.ok) {
191
- return {
192
- ok: false,
193
- message: `array[${i}]: ${r.message}`,
194
- };
195
- }
196
- elements.push(r.value);
197
- }
198
- if (type.constraint && type.constraint.kind === 'NamedConstraint') {
199
- const c = type.constraint;
200
- if (c.key === 'minLen' && typeof c.value === 'number' && elements.length < c.value)
201
- return {
202
- ok: false,
203
- message: `array length ${elements.length} < minLen=${c.value}`,
204
- };
205
- if (c.key === 'maxLen' && typeof c.value === 'number' && elements.length > c.value)
206
- return {
207
- ok: false,
208
- message: `array length ${elements.length} > maxLen=${c.value}`,
209
- };
210
- }
211
- return { ok: true, value: elements };
212
- }
213
- function validateObject(v, type) {
214
- if (v === null ||
215
- typeof v !== 'object' ||
216
- Array.isArray(v))
217
- return { ok: false, message: `expected object, got ${typeNameOf(v)}` };
218
- const obj = v;
219
- const out = {};
220
- for (const f of type.fields) {
221
- if (!(f.name in obj))
222
- return {
223
- ok: false,
224
- message: `object missing field '${f.name}'`,
225
- };
226
- const r = validateValue(obj[f.name], f.type);
227
- if (!r.ok)
228
- return {
229
- ok: false,
230
- message: `object.${f.name}: ${r.message}`,
231
- };
232
- out[f.name] = r.value;
233
- }
234
- return { ok: true, value: out };
235
- }
236
- // ─── Helpers ───────────────────────────────────────────────────────────
237
- function typeNameOf(v) {
238
- if (v === null)
239
- return 'null';
240
- if (Array.isArray(v))
241
- return 'array';
242
- return typeof v;
243
- }
244
- function formatActual(v) {
245
- if (typeof v === 'string')
246
- return JSON.stringify(v);
247
- return String(v);
248
- }
249
- /**
250
- * Build a retry-with-feedback prompt body (text appended after the
251
- * original prompt) explaining which outputs failed validation and what
252
- * was expected. Used by the interpreter's fai-call retry loop.
253
- */
254
- export function composeRetryFeedback(errors, attempt, maxAttempts) {
255
- const lines = [];
256
- lines.push('[Your previous output failed validation. Please correct and try again.]');
257
- lines.push('');
258
- lines.push('Errors:');
259
- for (let i = 0; i < errors.length; i++) {
260
- const e = errors[i];
261
- lines.push(` ${i + 1}. output \`${e.outputName}\` — ${e.message}`);
262
- lines.push(` expected: ${describeType(e.expected)}`);
263
- if (e.actual !== undefined) {
264
- lines.push(` actual: ${JSON.stringify(e.actual)}`);
265
- }
266
- }
267
- lines.push('');
268
- lines.push(`This is attempt ${attempt + 1} of ${maxAttempts}.`);
269
- return lines.join('\n');
270
- }
271
- //# sourceMappingURL=validation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
@@ -1,35 +0,0 @@
1
- {
2
- "name": "@tom2012/train-core",
3
- "version": "0.1.0-ccweb",
4
- "description": "train language core — lexer, parser, type checker, interpreter (vendored into ccweb)",
5
- "license": "MIT",
6
- "type": "module",
7
- "main": "./dist/index.js",
8
- "types": "./dist/index.d.ts",
9
- "exports": {
10
- ".": {
11
- "types": "./dist/index.d.ts",
12
- "import": "./dist/index.js"
13
- },
14
- "./parser": {
15
- "types": "./dist/parser.d.ts",
16
- "import": "./dist/parser.js"
17
- },
18
- "./builder": {
19
- "types": "./dist/builder.d.ts",
20
- "import": "./dist/builder.js"
21
- },
22
- "./ast": {
23
- "types": "./dist/ast.d.ts",
24
- "import": "./dist/ast.js"
25
- },
26
- "./runtime": {
27
- "types": "./dist/runtime.d.ts",
28
- "import": "./dist/runtime.js"
29
- }
30
- },
31
- "dependencies": {
32
- "@tom2012/train-adapter-spec": "*",
33
- "chevrotain": "^11.0.3"
34
- }
35
- }