mcard-js 2.1.8 → 2.1.9

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 (38) hide show
  1. package/dist/ptr/node/CLMLoader.d.ts.map +1 -1
  2. package/dist/ptr/node/CLMLoader.js +44 -55
  3. package/dist/ptr/node/CLMLoader.js.map +1 -1
  4. package/dist/ptr/node/CLMRunner.d.ts +47 -0
  5. package/dist/ptr/node/CLMRunner.d.ts.map +1 -1
  6. package/dist/ptr/node/CLMRunner.js +157 -107
  7. package/dist/ptr/node/CLMRunner.js.map +1 -1
  8. package/dist/ptr/node/FileSystemUtils.d.ts +40 -0
  9. package/dist/ptr/node/FileSystemUtils.d.ts.map +1 -0
  10. package/dist/ptr/node/FileSystemUtils.js +170 -0
  11. package/dist/ptr/node/FileSystemUtils.js.map +1 -0
  12. package/dist/ptr/node/NetworkRuntime.d.ts +3 -99
  13. package/dist/ptr/node/NetworkRuntime.d.ts.map +1 -1
  14. package/dist/ptr/node/NetworkRuntime.js +53 -568
  15. package/dist/ptr/node/NetworkRuntime.js.map +1 -1
  16. package/dist/ptr/node/Runtimes.d.ts +0 -13
  17. package/dist/ptr/node/Runtimes.d.ts.map +1 -1
  18. package/dist/ptr/node/Runtimes.js +76 -224
  19. package/dist/ptr/node/Runtimes.js.map +1 -1
  20. package/dist/ptr/node/cli.js +14 -64
  21. package/dist/ptr/node/cli.js.map +1 -1
  22. package/dist/ptr/node/network/HttpClient.d.ts +14 -0
  23. package/dist/ptr/node/network/HttpClient.d.ts.map +1 -0
  24. package/dist/ptr/node/network/HttpClient.js +139 -0
  25. package/dist/ptr/node/network/HttpClient.js.map +1 -0
  26. package/dist/ptr/node/network/MCardSerialization.d.ts +19 -0
  27. package/dist/ptr/node/network/MCardSerialization.d.ts.map +1 -0
  28. package/dist/ptr/node/network/MCardSerialization.js +41 -0
  29. package/dist/ptr/node/network/MCardSerialization.js.map +1 -0
  30. package/dist/ptr/node/network/NetworkInfrastructure.d.ts +37 -0
  31. package/dist/ptr/node/network/NetworkInfrastructure.d.ts.map +1 -0
  32. package/dist/ptr/node/network/NetworkInfrastructure.js +121 -0
  33. package/dist/ptr/node/network/NetworkInfrastructure.js.map +1 -0
  34. package/dist/ptr/node/network/NetworkSecurity.d.ts +24 -0
  35. package/dist/ptr/node/network/NetworkSecurity.d.ts.map +1 -0
  36. package/dist/ptr/node/network/NetworkSecurity.js +104 -0
  37. package/dist/ptr/node/network/NetworkSecurity.js.map +1 -0
  38. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CLMLoader.d.ts","sourceRoot":"","sources":["../../../src/ptr/node/CLMLoader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,WAAW,OAAO;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,GAAG,EAAE;QACD,QAAQ,EAAE;YACN,OAAO,EAAE,MAAM,CAAC;YAChB,WAAW,EAAE,MAAM,CAAC;YACpB,UAAU,CAAC,EAAE,MAAM,CAAC;SACvB,CAAC;QACF,QAAQ,EAAE;YACN,aAAa,EAAE,MAAM,CAAC;YACtB,WAAW,EAAE,MAAM,CAAC;YACpB,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,QAAQ,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC;YACrC,eAAe,CAAC,EAAE,KAAK,CAAC;gBACpB,IAAI,EAAE,MAAM,CAAC;gBACb,IAAI,CAAC,EAAE,MAAM,CAAC;gBACd,MAAM,CAAC,EAAE,MAAM,CAAC;gBAChB,MAAM,CAAC,EAAE,MAAM,CAAC;gBAChB,KAAK,CAAC,EAAE,MAAM,CAAC;aAClB,CAAC,CAAC;SACN,CAAC;QACF,QAAQ,EAAE;YACN,WAAW,EAAE,MAAM,CAAC;YACpB,WAAW,EAAE,MAAM,CAAC;SACvB,CAAC;KACL,CAAC;IACF,QAAQ,CAAC,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KAC1B,CAAC,CAAC;CACN;AAED,qBAAa,SAAS;IACX,QAAQ,EAAE,MAAM,CAAC;gBAEZ,QAAQ,GAAE,MAAsB;IAI5C;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAwG9B;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAmBpD;;OAEG;IACH,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CA2BjE"}
1
+ {"version":3,"file":"CLMLoader.d.ts","sourceRoot":"","sources":["../../../src/ptr/node/CLMLoader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,WAAW,OAAO;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,GAAG,EAAE;QACD,QAAQ,EAAE;YACN,OAAO,EAAE,MAAM,CAAC;YAChB,WAAW,EAAE,MAAM,CAAC;YACpB,UAAU,CAAC,EAAE,MAAM,CAAC;SACvB,CAAC;QACF,QAAQ,EAAE;YACN,aAAa,EAAE,MAAM,CAAC;YACtB,WAAW,EAAE,MAAM,CAAC;YACpB,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,QAAQ,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC;YACrC,eAAe,CAAC,EAAE,KAAK,CAAC;gBACpB,IAAI,EAAE,MAAM,CAAC;gBACb,IAAI,CAAC,EAAE,MAAM,CAAC;gBACd,MAAM,CAAC,EAAE,MAAM,CAAC;gBAChB,MAAM,CAAC,EAAE,MAAM,CAAC;gBAChB,KAAK,CAAC,EAAE,MAAM,CAAC;aAClB,CAAC,CAAC;SACN,CAAC;QACF,QAAQ,EAAE;YACN,WAAW,EAAE,MAAM,CAAC;YACpB,WAAW,EAAE,MAAM,CAAC;SACvB,CAAC;KACL,CAAC;IACF,QAAQ,CAAC,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KAC1B,CAAC,CAAC;CACN;AA+CD,qBAAa,SAAS;IACX,QAAQ,EAAE,MAAM,CAAC;gBAEZ,QAAQ,GAAE,MAAsB;IAI5C;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAiD9B;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAmBpD;;OAEG;IACH,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CA2BjE"}
@@ -6,6 +6,46 @@
6
6
  import * as fs from 'fs';
7
7
  import * as path from 'path';
8
8
  import * as yaml from 'yaml';
9
+ /**
10
+ * Map balanced.test_cases to examples, preserving original input content.
11
+ *
12
+ * The flag `treatEmptyWhenAsGiven` controls how empty `when` blocks are
13
+ * interpreted:
14
+ * - legacy root format kept `input` as `given` when `when` was empty
15
+ * - standard clm.balanced format treated an empty object as a valid input
16
+ */
17
+ function mapTestCasesToExamples(testCases, treatEmptyWhenAsGiven) {
18
+ return testCases.map((tc) => {
19
+ let input = tc.given;
20
+ if (tc.when) {
21
+ const params = tc.when.params || {};
22
+ const context = tc.when.context || {};
23
+ const hasParams = Object.keys(params).length > 0;
24
+ const hasContext = Object.keys(context).length > 0;
25
+ const hasWhenKeys = typeof tc.when === 'object' && Object.keys(tc.when).length > 0;
26
+ if (hasParams || hasContext) {
27
+ input = { ...tc.when, ...context, ...params };
28
+ if (input.__input_content__ === undefined) {
29
+ input.__input_content__ = tc.given;
30
+ }
31
+ }
32
+ else if (tc.when &&
33
+ typeof tc.when === 'object' &&
34
+ (!treatEmptyWhenAsGiven || hasWhenKeys)) {
35
+ input = { ...tc.when };
36
+ if (input.__input_content__ === undefined) {
37
+ input.__input_content__ = tc.given;
38
+ }
39
+ }
40
+ }
41
+ return {
42
+ name: tc.name || `Test Case: ${tc.given}`,
43
+ input,
44
+ expected_output: tc.then?.result,
45
+ result_contains: tc.then?.result_contains,
46
+ };
47
+ });
48
+ }
9
49
  export class CLMLoader {
10
50
  basePath;
11
51
  constructor(basePath = process.cwd()) {
@@ -36,66 +76,15 @@ export class CLMLoader {
36
76
  };
37
77
  // Map balanced.test_cases to examples
38
78
  if (parsed.balanced?.test_cases) {
39
- spec.examples = parsed.balanced.test_cases.map((tc) => {
40
- let input = tc.given;
41
- if (tc.when) {
42
- const params = tc.when.params || {};
43
- const context = tc.when.context || {};
44
- if (Object.keys(params).length > 0 || Object.keys(context).length > 0) {
45
- input = { ...tc.when, ...context, ...params };
46
- // Preserve original input content
47
- if (input.__input_content__ === undefined) {
48
- input.__input_content__ = tc.given;
49
- }
50
- }
51
- else if (tc.when && typeof tc.when === 'object' && Object.keys(tc.when).length > 0) {
52
- input = { ...tc.when };
53
- if (input.__input_content__ === undefined) {
54
- input.__input_content__ = tc.given;
55
- }
56
- }
57
- }
58
- return {
59
- name: `Test Case: ${tc.given}`,
60
- input: input,
61
- expected_output: tc.then?.result
62
- };
63
- });
79
+ // Legacy behavior: treat empty `when` as "no override", keeping input = given
80
+ spec.examples = mapTestCasesToExamples(parsed.balanced.test_cases, true);
64
81
  }
65
82
  return spec;
66
83
  }
67
84
  // Standard format: check clm.balanced.test_cases
68
85
  if (parsed.clm?.balanced?.test_cases && !parsed.examples) {
69
- parsed.examples = parsed.clm.balanced.test_cases.map((tc) => {
70
- // Construct input: merge 'when.params' and 'when.context' if available
71
- // when: { params: { recursive: true }, context: { output_arguments: {...} } }
72
- // -> input = { recursive: true, output_arguments: {...} }
73
- let input = tc.given;
74
- if (tc.when) {
75
- // Merge params and context (params takes precedence for direct values)
76
- const params = tc.when.params || {};
77
- const context = tc.when.context || {};
78
- if (Object.keys(params).length > 0 || Object.keys(context).length > 0) {
79
- input = { ...tc.when, ...context, ...params };
80
- // Preserve original input content
81
- if (input.__input_content__ === undefined) {
82
- input.__input_content__ = tc.given;
83
- }
84
- }
85
- else if (tc.when && typeof tc.when === 'object') {
86
- // Maybe when IS the input directly
87
- input = { ...tc.when };
88
- if (input.__input_content__ === undefined) {
89
- input.__input_content__ = tc.given;
90
- }
91
- }
92
- }
93
- return {
94
- name: `Test Case: ${tc.given}`,
95
- input: input,
96
- expected_output: tc.then?.result
97
- };
98
- });
86
+ // Standard behavior: allow empty `when` to become an explicit (possibly empty) input object
87
+ parsed.examples = mapTestCasesToExamples(parsed.clm.balanced.test_cases, false);
99
88
  }
100
89
  // Map balanced.examples (used in advanced_comparison.yaml)
101
90
  if (parsed.clm?.balanced?.examples && !parsed.examples) {
@@ -1 +1 @@
1
- {"version":3,"file":"CLMLoader.js","sourceRoot":"","sources":["../../../src/ptr/node/CLMLoader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CLMLoader.js","sourceRoot":"","sources":["../../../src/ptr/node/CLMLoader.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,9 @@ export interface ExecutionResult {
17
17
  boundary?: string;
18
18
  };
19
19
  }
20
+ export interface CLMBannerLines {
21
+ header: string[];
22
+ }
20
23
  export interface RuntimeResult {
21
24
  runtime: string;
22
25
  success: boolean;
@@ -44,6 +47,41 @@ export interface VerificationResult {
44
47
  actual: unknown;
45
48
  executionResult: ExecutionResult;
46
49
  }
50
+ export interface RunExamplesSummary {
51
+ total: number;
52
+ passed: number;
53
+ results: Array<{
54
+ case: number;
55
+ name: string;
56
+ input: unknown;
57
+ result: unknown;
58
+ error?: string;
59
+ expected: unknown;
60
+ match: boolean;
61
+ }>;
62
+ }
63
+ export interface ExecutionReport {
64
+ status: 'success' | 'failure';
65
+ result?: unknown;
66
+ error?: string;
67
+ chapter_id: number;
68
+ chapter_title: string;
69
+ }
70
+ export interface SummaryReport {
71
+ status: 'success' | 'failure';
72
+ result: {
73
+ success: boolean;
74
+ total: number;
75
+ results: Array<{
76
+ case: number;
77
+ name: string;
78
+ result: unknown;
79
+ error?: string;
80
+ }>;
81
+ };
82
+ chapter_id: number;
83
+ chapter_title: string;
84
+ }
47
85
  export declare class CLMRunner {
48
86
  private loader;
49
87
  private timeout;
@@ -57,6 +95,8 @@ export declare class CLMRunner {
57
95
  * Execute a CLM specification with given input
58
96
  */
59
97
  executeCLM(clm: CLMSpec, chapterDir: string, input: unknown): Promise<ExecutionResult>;
98
+ private resolveCodeOrPath;
99
+ private buildExecutionResult;
60
100
  /**
61
101
  * Verify CLM output against expected result
62
102
  */
@@ -68,6 +108,13 @@ export declare class CLMRunner {
68
108
  name: string;
69
109
  result: ExecutionResult;
70
110
  }>>;
111
+ summarizeExampleRuns(clm: CLMSpec, results: Array<{
112
+ name: string;
113
+ result: ExecutionResult;
114
+ }>): RunExamplesSummary;
115
+ buildCLMBanner(clm: CLMSpec): CLMBannerLines;
116
+ buildExecutionReport(clm: CLMSpec, execution: ExecutionResult): ExecutionReport;
117
+ buildSummaryReport(clm: CLMSpec, summary: RunExamplesSummary): SummaryReport;
71
118
  private executeRecursive;
72
119
  /**
73
120
  * Execute a CLM across multiple runtimes and verify consensus
@@ -1 +1 @@
1
- {"version":3,"file":"CLMRunner.d.ts","sourceRoot":"","sources":["../../../src/ptr/node/CLMRunner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,OAAO,EAAa,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACL;AAED,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACL;AAsCD,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,eAAe,EAAE,eAAe,CAAC;CACpC;AAED,qBAAa,SAAS;IAClB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAC,CAAiB;gBAExB,QAAQ,GAAE,MAAsB,EAAE,OAAO,GAAE,MAAa,EAAE,UAAU,CAAC,EAAE,cAAc;IAMjG;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IAUzE;;OAEG;IACG,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IAmL5F;;OAEG;IACG,SAAS,CACX,GAAG,EAAE,OAAO,EACZ,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,OAAO,GAClB,OAAO,CAAC,kBAAkB,CAAC;IAY9B;;OAEG;IACG,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAC/D,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,eAAe,CAAC;KAC3B,CAAC,CAAC;YAWW,gBAAgB;IA0D9B;;;;OAIG;IACG,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAyIxG;;OAEG;IACH,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;CAIxC"}
1
+ {"version":3,"file":"CLMRunner.d.ts","sourceRoot":"","sources":["../../../src/ptr/node/CLMRunner.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,35 @@ function resultsEqual(a, b, tolerance = 1e-9) {
41
41
  // Strings and other types - strict equality
42
42
  return a === b;
43
43
  }
44
+ function asObject(input) {
45
+ return typeof input === 'object' && input !== null ? input : {};
46
+ }
47
+ function buildBaseContext(clm, input) {
48
+ const inputObj = asObject(input);
49
+ return {
50
+ balanced: clm.clm.balanced,
51
+ params: inputObj,
52
+ ...inputObj,
53
+ };
54
+ }
55
+ function buildRunCLM(chapterDir, runner) {
56
+ return async (clmFile, clmInput) => {
57
+ const fullPath = path.resolve(chapterDir, clmFile);
58
+ const res = await runner.runFile(fullPath, clmInput);
59
+ return res;
60
+ };
61
+ }
62
+ function buildNetworkContext(clm, input, chapterDir, runner) {
63
+ const baseContext = buildBaseContext(clm, input);
64
+ return {
65
+ ...baseContext,
66
+ input,
67
+ user_input: input,
68
+ secrets: process.env,
69
+ process,
70
+ runCLM: buildRunCLM(chapterDir, runner),
71
+ };
72
+ }
44
73
  export class CLMRunner {
45
74
  loader;
46
75
  timeout;
@@ -77,30 +106,11 @@ export class CLMRunner {
77
106
  // Check for built-in loader operation
78
107
  const operation = config.operation;
79
108
  if (operation === 'loader' || runtimeName === 'loader' || runtimeName === 'collection_loader') {
80
- // Use the dedicated LoaderRuntime or CollectionLoaderRuntime
81
109
  const targetRuntime = (runtimeName === 'collection_loader') ? 'collection_loader' : 'loader';
82
110
  const loaderRuntime = RuntimeFactory.getRuntime(targetRuntime);
83
- // Extract params from input (could be from test case when.params)
84
- const inputObj = (typeof input === 'object' && input !== null) ? input : {};
85
- // Build loader context with proper parameter merging
86
- const loaderContext = {
87
- balanced: clm.clm.balanced,
88
- // params from test case (when.params)
89
- params: inputObj,
90
- // Also spread input in case it contains other needed data
91
- ...inputObj,
92
- };
111
+ const loaderContext = buildBaseContext(clm, input);
93
112
  const result = await loaderRuntime.execute('', loaderContext, config, chapterDir);
94
- return {
95
- success: true,
96
- result,
97
- executionTime: Date.now() - startTime,
98
- clm: {
99
- chapter: clm.chapter.title,
100
- concept: clm.clm.abstract.concept,
101
- manifestation: clm.clm.concrete.manifestation,
102
- },
103
- };
113
+ return this.buildExecutionResult(true, result, startTime, clm);
104
114
  }
105
115
  // Check for Network Builtins
106
116
  if (config.builtin && (config.builtin.startsWith('http_') ||
@@ -118,86 +128,27 @@ export class CLMRunner {
118
128
  config.builtin === 'signaling_server' ||
119
129
  config.builtin.startsWith('webrtc_'))) {
120
130
  const networkRuntime = RuntimeFactory.getRuntime('network', { collection: this.collection });
121
- // Build context with input (similar to loader)
122
- const networkContext = {
123
- balanced: clm.clm.balanced,
124
- input: input,
125
- user_input: input,
126
- params: (typeof input === 'object' && input !== null) ? input : {},
127
- ...(typeof input === 'object' && input !== null ? input : {}),
128
- secrets: process.env, // Simple secrets injection from env
129
- // Inject capabilities for orchestration
130
- process: process,
131
- runCLM: async (clmFile, clmInput) => {
132
- const fullPath = path.resolve(chapterDir, clmFile);
133
- const res = await this.runFile(fullPath, clmInput);
134
- // NetworkRuntime expects raw result or handles error?
135
- // Let's return the full result object so NetworkRuntime can decide
136
- return res;
137
- }
138
- };
131
+ const networkContext = buildNetworkContext(clm, input, chapterDir, this);
139
132
  const result = await networkRuntime.execute('', networkContext, config, chapterDir);
140
- return {
141
- success: true,
142
- result,
143
- executionTime: Date.now() - startTime,
144
- clm: {
145
- chapter: clm.chapter.title,
146
- concept: clm.clm.abstract.concept,
147
- manifestation: clm.clm.concrete.manifestation,
148
- },
149
- };
133
+ return this.buildExecutionResult(true, result, startTime, clm);
150
134
  }
151
135
  const runtime = RuntimeFactory.getRuntime(runtimeName, { collection: this.collection });
152
- let codeOrPath = null;
153
- // Determine source based on runtime type
154
- if (['rust', 'c'].includes(runtimeName)) {
155
- codeOrPath = config.binary_path;
156
- if (!codeOrPath && config.runtimes_config) {
157
- const rc = config.runtimes_config.find(r => r.name === runtimeName);
158
- codeOrPath = rc?.binary || null;
159
- }
160
- }
161
- else if (runtimeName === 'wasm') {
162
- codeOrPath = config.wasm_module;
163
- if (!codeOrPath && config.runtimes_config) {
164
- const rc = config.runtimes_config.find(r => r.name === runtimeName);
165
- codeOrPath = rc?.module || null;
166
- }
167
- }
168
- else if (runtimeName === 'llm') {
169
- // LLM runtime logic usually in prompt config
170
- codeOrPath = "llm-prompt";
171
- }
172
- else if (runtimeName === 'lambda') {
173
- // Lambda runtime often takes expression from input context
174
- // If operation is parse/build, codeOrPath isn't strictly needed if input provides it
175
- // We pass a placeholder or input expression if available
176
- const inputObj = (typeof input === 'object' && input !== null) ? input : {};
177
- codeOrPath = inputObj.expression || inputObj.term || "lambda-op";
178
- }
179
- else {
180
- // Source based (JS, Python)
181
- codeOrPath = this.loader.loadLogicFile(clm, chapterDir);
182
- }
136
+ const codeOrPath = this.resolveCodeOrPath(runtimeName, config, clm, chapterDir, input);
183
137
  if (!codeOrPath) {
184
- // For lambda, if input is missing expression, we might error later, but codeOrPath shouldn't be null
185
- if (runtimeName === 'lambda') {
138
+ if (runtimeName === 'lambda')
186
139
  throw new Error(`Lambda runtime requires input expression or term`);
187
- }
188
140
  throw new Error(`Execution source not found for runtime ${runtimeName}`);
189
141
  }
190
- // Special handling for JavaScript runtime to allow CLM-within-CLM (Lambda/Recursion)
191
142
  let executionContext = input;
192
143
  if (runtimeName === 'javascript') {
193
144
  executionContext = {
194
- ...(typeof input === 'object' && input !== null ? input : {}),
195
- console: console, // Forward console for debugging
145
+ ...asObject(input),
146
+ console: console,
196
147
  setTimeout: setTimeout,
197
148
  clearTimeout: clearTimeout,
198
149
  setInterval: setInterval,
199
150
  clearInterval: clearInterval,
200
- process: process, // Forward process for env/kill
151
+ process: process,
201
152
  runCLM: async (clmFile, clmInput) => {
202
153
  const fullPath = path.resolve(chapterDir, clmFile);
203
154
  const res = await this.runFile(fullPath, clmInput);
@@ -208,29 +159,49 @@ export class CLMRunner {
208
159
  };
209
160
  }
210
161
  const result = await runtime.execute(codeOrPath, executionContext, config, chapterDir);
211
- return {
212
- success: true,
213
- result,
214
- executionTime: Date.now() - startTime,
215
- clm: {
216
- chapter: clm.chapter.title,
217
- concept: clm.clm.abstract.concept,
218
- manifestation: clm.clm.concrete.manifestation,
219
- },
220
- };
162
+ return this.buildExecutionResult(true, result, startTime, clm);
221
163
  }
222
164
  catch (err) {
223
- return {
224
- success: false,
225
- error: err instanceof Error ? err.message : String(err),
226
- executionTime: Date.now() - startTime,
227
- clm: {
228
- chapter: clm.chapter.title,
229
- concept: clm.clm.abstract.concept,
230
- manifestation: clm.clm.concrete.manifestation,
231
- },
232
- };
165
+ return this.buildExecutionResult(false, undefined, startTime, clm, err instanceof Error ? err.message : String(err));
166
+ }
167
+ }
168
+ resolveCodeOrPath(runtimeName, config, clm, chapterDir, input) {
169
+ if (['rust', 'c'].includes(runtimeName)) {
170
+ let path = config.binary_path;
171
+ if (!path && config.runtimes_config) {
172
+ const rc = config.runtimes_config.find((r) => r.name === runtimeName);
173
+ path = rc?.binary;
174
+ }
175
+ return path || null;
176
+ }
177
+ if (runtimeName === 'wasm') {
178
+ let mod = config.wasm_module;
179
+ if (!mod && config.runtimes_config) {
180
+ const rc = config.runtimes_config.find((r) => r.name === runtimeName);
181
+ mod = rc?.module;
182
+ }
183
+ return mod || null;
184
+ }
185
+ if (runtimeName === 'llm')
186
+ return "llm-prompt";
187
+ if (runtimeName === 'lambda') {
188
+ const inputObj = (typeof input === 'object' && input !== null) ? input : {};
189
+ return inputObj.expression || inputObj.term || "lambda-op";
233
190
  }
191
+ return this.loader.loadLogicFile(clm, chapterDir);
192
+ }
193
+ buildExecutionResult(success, result, startTime, clm, error) {
194
+ return {
195
+ success,
196
+ result,
197
+ error,
198
+ executionTime: Date.now() - startTime,
199
+ clm: {
200
+ chapter: clm.chapter.title,
201
+ concept: clm.clm.abstract.concept,
202
+ manifestation: clm.clm.concrete.manifestation,
203
+ }
204
+ };
234
205
  }
235
206
  /**
236
207
  * Verify CLM output against expected result
@@ -257,6 +228,85 @@ export class CLMRunner {
257
228
  }
258
229
  return results;
259
230
  }
231
+ summarizeExampleRuns(clm, results) {
232
+ let passed = 0;
233
+ const summaryResults = results.map((res, index) => {
234
+ const example = clm.examples?.[index];
235
+ const expected = example?.expected_output;
236
+ const resultContains = example?.result_contains;
237
+ let match = false;
238
+ if (res.result.success) {
239
+ if (resultContains !== undefined) {
240
+ // Substring match: stringify result and check if it contains the expected substring
241
+ const resultStr = typeof res.result.result === 'string'
242
+ ? res.result.result
243
+ : JSON.stringify(res.result.result);
244
+ match = resultStr.includes(String(resultContains));
245
+ }
246
+ else if (expected === undefined) {
247
+ // No expectation defined, success is enough
248
+ match = true;
249
+ }
250
+ else {
251
+ // Exact match
252
+ match = JSON.stringify(res.result.result) === JSON.stringify(expected);
253
+ }
254
+ }
255
+ if (match)
256
+ passed += 1;
257
+ return {
258
+ case: index + 1,
259
+ name: res.name,
260
+ input: example?.input,
261
+ result: res.result.result,
262
+ error: res.result.error,
263
+ expected: resultContains !== undefined ? `contains: ${resultContains}` : expected,
264
+ match,
265
+ };
266
+ });
267
+ return {
268
+ total: summaryResults.length,
269
+ passed,
270
+ results: summaryResults,
271
+ };
272
+ }
273
+ buildCLMBanner(clm) {
274
+ return {
275
+ header: [
276
+ `--- Executing ${clm.chapter.title} ---`,
277
+ `🧊 CLM Cube:`,
278
+ ` - Abstract (Why): ${clm.clm.abstract.concept}`,
279
+ ` - Concrete (How): ${clm.clm.concrete.manifestation}`,
280
+ ` - Balanced (What): ${clm.clm.balanced.expectation}`,
281
+ ],
282
+ };
283
+ }
284
+ buildExecutionReport(clm, execution) {
285
+ return {
286
+ status: execution.success ? 'success' : 'failure',
287
+ result: execution.result,
288
+ error: execution.error,
289
+ chapter_id: clm.chapter.id,
290
+ chapter_title: clm.chapter.title,
291
+ };
292
+ }
293
+ buildSummaryReport(clm, summary) {
294
+ return {
295
+ status: summary.passed === summary.total ? 'success' : 'failure',
296
+ result: {
297
+ success: summary.passed === summary.total,
298
+ total: summary.total,
299
+ results: summary.results.map((r) => ({
300
+ case: r.case,
301
+ name: r.name,
302
+ result: r.result,
303
+ error: r.error,
304
+ })),
305
+ },
306
+ chapter_id: clm.chapter.id,
307
+ chapter_title: clm.chapter.title,
308
+ };
309
+ }
260
310
  async executeRecursive(runtimePath, config, chapterDir, input, originalClm) {
261
311
  const startTime = Date.now();
262
312
  const boundary = config.boundary || 'intrinsic';
@@ -1 +1 @@
1
- {"version":3,"file":"CLMRunner.js","sourceRoot":"","sources":["../../../src/ptr/node/CLMRunner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAW,SAAS,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAuC5C;;GAEG;AACH,SAAS,YAAY,CAAC,CAAU,EAAE,CAAU,EAAE,YAAoB,IAAI;IAClE,yBAAyB;IACzB,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IAEzC,0BAA0B;IAC1B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QACjD,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,sCAAsC;IACtC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACxC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,+BAA+B;IAC/B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAW,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAW,CAAC,CAAC;QACvC,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAChD,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CACrB,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;YACnB,YAAY,CAAE,CAAS,CAAC,GAAG,CAAC,EAAG,CAAS,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAC5D,CAAC;IACN,CAAC;IAED,4CAA4C;IAC5C,OAAO,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AASD,MAAM,OAAO,SAAS;IACV,MAAM,CAAY;IAClB,OAAO,CAAS;IAChB,UAAU,CAAkB;IAEpC,YAAY,WAAmB,OAAO,CAAC,GAAG,EAAE,EAAE,UAAkB,IAAI,EAAE,UAA2B;QAC7F,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,KAAe;QAC1C,gEAAgE;QAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YACrC,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,GAAY,EAAE,UAAkB,EAAE,KAAc;QAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC;QAChC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,IAAI,YAAY,CAAC;QAEnD,wBAAwB;QACxB,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAChG,OAAO,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,CAAC;YACD,sCAAsC;YACtC,MAAM,SAAS,GAAI,MAAc,CAAC,SAAS,CAAC;YAC5C,IAAI,SAAS,KAAK,QAAQ,IAAI,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,mBAAmB,EAAE,CAAC;gBAC5F,6DAA6D;gBAC7D,MAAM,aAAa,GAAG,CAAC,WAAW,KAAK,mBAAmB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC7F,MAAM,aAAa,GAAG,cAAc,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;gBAE/D,kEAAkE;gBAClE,MAAM,QAAQ,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAgC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAEvG,qDAAqD;gBACrD,MAAM,aAAa,GAAG;oBAClB,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ;oBAC1B,sCAAsC;oBACtC,MAAM,EAAE,QAAQ;oBAChB,0DAA0D;oBAC1D,GAAG,QAAQ;iBACd,CAAC;gBACF,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;gBAElF,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,MAAM;oBACN,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBACrC,GAAG,EAAE;wBACD,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK;wBAC1B,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO;wBACjC,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa;qBAChD;iBACJ,CAAC;YACN,CAAC;YAED,6BAA6B;YAC7B,IAAK,MAAc,CAAC,OAAO,IAAI,CAC1B,MAAc,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;gBAC1C,MAAc,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC;gBAC/C,MAAc,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAC3C,MAAc,CAAC,OAAO,KAAK,UAAU;gBACrC,MAAc,CAAC,OAAO,KAAK,YAAY;gBACvC,MAAc,CAAC,OAAO,KAAK,aAAa;gBACxC,MAAc,CAAC,OAAO,KAAK,YAAY;gBACvC,MAAc,CAAC,OAAO,KAAK,aAAa;gBACxC,MAAc,CAAC,OAAO,KAAK,gBAAgB;gBAC3C,MAAc,CAAC,OAAO,KAAK,YAAY;gBACvC,MAAc,CAAC,OAAO,KAAK,aAAa;gBACxC,MAAc,CAAC,OAAO,KAAK,kBAAkB;gBAC7C,MAAc,CAAC,OAAO,KAAK,kBAAkB;gBAC7C,MAAc,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAChD,EAAE,CAAC;gBACA,MAAM,cAAc,GAAG,cAAc,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;gBAE7F,+CAA+C;gBAC/C,MAAM,cAAc,GAAG;oBACnB,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ;oBAC1B,KAAK,EAAE,KAAK;oBACZ,UAAU,EAAE,KAAK;oBACjB,MAAM,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;oBAClE,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7D,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,oCAAoC;oBAC1D,wCAAwC;oBACxC,OAAO,EAAE,OAAO;oBAChB,MAAM,EAAE,KAAK,EAAE,OAAe,EAAE,QAAa,EAAE,EAAE;wBAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;wBACnD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;wBACnD,sDAAsD;wBACtD,mEAAmE;wBACnE,OAAO,GAAG,CAAC;oBACf,CAAC;iBACJ,CAAC;gBAEF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;gBAEpF,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,MAAM;oBACN,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBACrC,GAAG,EAAE;wBACD,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK;wBAC1B,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO;wBACjC,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa;qBAChD;iBACJ,CAAC;YACN,CAAC;YAED,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YACxF,IAAI,UAAU,GAAkB,IAAI,CAAC;YAErC,yCAAyC;YACzC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACtC,UAAU,GAAI,MAAc,CAAC,WAAW,CAAC;gBACzC,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;oBACxC,MAAM,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;oBACpE,UAAU,GAAG,EAAE,EAAE,MAAM,IAAI,IAAI,CAAC;gBACpC,CAAC;YACL,CAAC;iBAAM,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;gBAChC,UAAU,GAAI,MAAc,CAAC,WAAW,CAAC;gBACzC,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;oBACxC,MAAM,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;oBACpE,UAAU,GAAG,EAAE,EAAE,MAAM,IAAI,IAAI,CAAC;gBACpC,CAAC;YACL,CAAC;iBAAM,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;gBAC/B,6CAA6C;gBAC7C,UAAU,GAAG,YAAY,CAAC;YAC9B,CAAC;iBAAM,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAClC,2DAA2D;gBAC3D,qFAAqF;gBACrF,yDAAyD;gBACzD,MAAM,QAAQ,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAY,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnF,UAAU,GAAG,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,IAAI,IAAI,WAAW,CAAC;YACrE,CAAC;iBAAM,CAAC;gBACJ,4BAA4B;gBAC5B,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAC5D,CAAC;YAED,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,qGAAqG;gBACrG,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;oBAC3B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;gBACxE,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,0CAA0C,WAAW,EAAE,CAAC,CAAC;YAC7E,CAAC;YAED,qFAAqF;YACrF,IAAI,gBAAgB,GAAG,KAAK,CAAC;YAC7B,IAAI,WAAW,KAAK,YAAY,EAAE,CAAC;gBAC/B,gBAAgB,GAAG;oBACf,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7D,OAAO,EAAE,OAAO,EAAE,gCAAgC;oBAClD,UAAU,EAAE,UAAU;oBACtB,YAAY,EAAE,YAAY;oBAC1B,WAAW,EAAE,WAAW;oBACxB,aAAa,EAAE,aAAa;oBAC5B,OAAO,EAAE,OAAO,EAAE,+BAA+B;oBACjD,MAAM,EAAE,KAAK,EAAE,OAAe,EAAE,QAAa,EAAE,EAAE;wBAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;wBACnD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;wBACnD,IAAI,CAAC,GAAG,CAAC,OAAO;4BAAE,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,sBAAsB,CAAC,CAAC;wBACvE,OAAO,GAAG,CAAC,MAAM,CAAC;oBACtB,CAAC;iBACJ,CAAC;YACN,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;YAEvF,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,MAAM;gBACN,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBACrC,GAAG,EAAE;oBACD,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK;oBAC1B,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO;oBACjC,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa;iBAChD;aACJ,CAAC;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gBACvD,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBACrC,GAAG,EAAE;oBACD,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK;oBAC1B,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO;oBACjC,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa;iBAChD;aACJ,CAAC;QACN,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CACX,GAAY,EACZ,UAAkB,EAClB,KAAc,EACd,QAAiB;QAEjB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QAEtE,OAAO;YACH,QAAQ,EAAE,eAAe,CAAC,OAAO;gBAC7B,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;YACvE,QAAQ;YACR,MAAM,EAAE,eAAe,CAAC,MAAM;YAC9B,eAAe;SAClB,CAAC;IACN,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,GAAY,EAAE,UAAkB;QAI9C,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,EAAE,CAAC;QAEnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YACrE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,WAAmB,EAAE,MAAW,EAAE,UAAkB,EAAE,KAAc,EAAE,WAAoB;QACrH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAI,MAAc,CAAC,QAAQ,IAAI,WAAW,CAAC;QAEzD,IAAI,CAAC;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAE1C,2DAA2D;YAC3D,MAAM,WAAW,GAAG;gBAChB,GAAG,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,kBAAkB,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK;gBAC7C,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,QAAQ;gBAClC,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,QAAQ;gBAClC,iBAAiB,EAAE,KAAK;aAC3B,CAAC;YAEF,IAAI,UAAU,CAAC;YACf,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;gBAC3B,8EAA8E;gBAC9E,gEAAgE;gBAChE,4EAA4E;gBAC5E,yDAAyD;gBACzD,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC1F,UAAU,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YAChF,CAAC;iBAAM,CAAC;gBACJ,6CAA6C;gBAC7C,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YACtE,CAAC;YAED,OAAO;gBACH,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,UAAU,CAAC,aAAa;gBAChE,GAAG,EAAE;oBACD,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK;oBAClC,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO;oBACzC,aAAa,EAAE,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa;oBACrD,QAAQ,EAAE,QAAQ,CAAC,uBAAuB;iBAC7C;aACJ,CAAC;QACN,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBACjD,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBACrC,GAAG,EAAE;oBACD,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK;oBAClC,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO;oBACzC,aAAa,EAAE,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa;oBACrD,QAAQ,EAAE,QAAQ;iBACrB;aACJ,CAAC;QACN,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,mBAAmB,CAAC,GAAY,EAAE,UAAkB,EAAE,KAAc;QACtE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC;QAChC,MAAM,cAAc,GAAG,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC;QAEpD,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,EAAE;gBACX,KAAK,EAAE,4BAA4B;gBACnC,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBACrC,GAAG,EAAE;oBACD,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK;oBAC1B,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO;oBACjC,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa;iBAChD;aACJ,CAAC;QACN,CAAC;QAED,MAAM,OAAO,GAAoB,EAAE,CAAC;QAEpC,0BAA0B;QAC1B,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;YACpC,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC;YAClC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAE/B,IAAI,CAAC;gBACD,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;gBACvD,IAAI,UAAU,GAAkB,IAAI,CAAC;gBAErC,yCAAyC;gBACzC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;oBACtC,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC;gBACzC,CAAC;qBAAM,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;oBAChC,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC;gBACzC,CAAC;qBAAM,CAAC;oBACJ,iDAAiD;oBACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;oBAC3B,IAAI,IAAI,EAAE,CAAC;wBACP,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;oBAChD,CAAC;gBACL,CAAC;gBAED,IAAI,CAAC,UAAU,EAAE,CAAC;oBACd,OAAO,CAAC,IAAI,CAAC;wBACT,OAAO,EAAE,WAAW;wBACpB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,uCAAuC,WAAW,EAAE;wBAC3D,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;qBAC1C,CAAC,CAAC;oBACH,SAAS;gBACb,CAAC;gBAED,kDAAkD;gBAClD,IAAI,WAAW,GAAG,UAAU,CAAC;gBAC7B,IAAI,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC/C,IAAI,CAAC;wBACD,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;wBAC9B,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;oBACvD,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACT,OAAO,CAAC,IAAI,CAAC;4BACT,OAAO,EAAE,WAAW;4BACpB,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,4BAA4B,UAAU,EAAE;4BAC/C,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;yBAC1C,CAAC,CAAC;wBACH,SAAS;oBACb,CAAC;gBACL,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE;oBACrD,GAAG,MAAM;oBACT,WAAW,EAAE,QAAQ,CAAC,KAAK;iBAC9B,EAAE,UAAU,CAAC,CAAC;gBAEf,OAAO,CAAC,IAAI,CAAC;oBACT,OAAO,EAAE,WAAW;oBACpB,OAAO,EAAE,IAAI;oBACb,MAAM;oBACN,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;iBAC1C,CAAC,CAAC;YACP,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,MAAM,QAAQ,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC5D,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;gBAE3D,OAAO,CAAC,IAAI,CAAC;oBACT,OAAO,EAAE,WAAW;oBACpB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,0BAA0B,WAAW,EAAE,CAAC,CAAC,CAAC,QAAQ;oBACzE,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;iBAC1C,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,yDAAyD;QACzD,qDAAqD;QACrD,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACzD,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAEvG,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,cAAc,GAAY,SAAS,CAAC;QAExC,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,WAAW,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAEhD,oDAAoD;YACpD,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CACpC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAC5C,CAAC;YAEF,IAAI,SAAS,EAAE,CAAC;gBACZ,cAAc,GAAG,WAAW,CAAC;YACjC,CAAC;QACL,CAAC;QAED,kEAAkE;QAClE,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,MAAM,IAAI,CAAC,IAAI,SAAS,CAAC;QAEpE,iDAAiD;QACjD,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC;YACnD,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAE3C,OAAO;YACH,OAAO,EAAE,gBAAgB,IAAI,CAAC,mBAAmB,IAAI,SAAS,CAAC;YAC/D,SAAS;YACT,OAAO;YACP,cAAc;YACd,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YACrC,GAAG,EAAE;gBACD,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK;gBAC1B,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO;gBACjC,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa;aAChD;SACJ,CAAC;IACN,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,GAAY;QACvB,MAAM,cAAc,GAAG,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,eAAe,CAAC;QAC1D,OAAO,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;IACtE,CAAC;CACJ"}
1
+ {"version":3,"file":"CLMRunner.js","sourceRoot":"","sources":["../../../src/ptr/node/CLMRunner.ts"],"names":[],"mappings":"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"}