@principles/core 1.98.0 → 1.100.0

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 (27) hide show
  1. package/dist/runtime-v2/__tests__/evidence-sanitizer.test.d.ts +21 -0
  2. package/dist/runtime-v2/__tests__/evidence-sanitizer.test.d.ts.map +1 -0
  3. package/dist/runtime-v2/__tests__/evidence-sanitizer.test.js +354 -0
  4. package/dist/runtime-v2/__tests__/evidence-sanitizer.test.js.map +1 -0
  5. package/dist/runtime-v2/adapter/__tests__/json-extractor.test.js +51 -1
  6. package/dist/runtime-v2/adapter/__tests__/json-extractor.test.js.map +1 -1
  7. package/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter.test.js +145 -0
  8. package/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter.test.js.map +1 -1
  9. package/dist/runtime-v2/adapter/json-extractor.d.ts +13 -0
  10. package/dist/runtime-v2/adapter/json-extractor.d.ts.map +1 -1
  11. package/dist/runtime-v2/adapter/json-extractor.js +103 -0
  12. package/dist/runtime-v2/adapter/json-extractor.js.map +1 -1
  13. package/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.d.ts.map +1 -1
  14. package/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.js +57 -4
  15. package/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.js.map +1 -1
  16. package/dist/runtime-v2/config/__tests__/pd-config-agent-binding.test.js +86 -0
  17. package/dist/runtime-v2/config/__tests__/pd-config-agent-binding.test.js.map +1 -1
  18. package/dist/runtime-v2/evidence-triage/__tests__/source-descriptors.test.d.ts +18 -0
  19. package/dist/runtime-v2/evidence-triage/__tests__/source-descriptors.test.d.ts.map +1 -0
  20. package/dist/runtime-v2/evidence-triage/__tests__/source-descriptors.test.js +277 -0
  21. package/dist/runtime-v2/evidence-triage/__tests__/source-descriptors.test.js.map +1 -0
  22. package/dist/runtime-v2/runner/__tests__/diagnostician-runner.test.js +40 -0
  23. package/dist/runtime-v2/runner/__tests__/diagnostician-runner.test.js.map +1 -1
  24. package/dist/runtime-v2/runner/diagnostician-runner.d.ts.map +1 -1
  25. package/dist/runtime-v2/runner/diagnostician-runner.js +27 -3
  26. package/dist/runtime-v2/runner/diagnostician-runner.js.map +1 -1
  27. package/package.json +1 -1
@@ -561,5 +561,150 @@ describe('OpenClawCliRuntimeAdapter', () => {
561
561
  expect(result.warnings.some(w => w.includes('probe returned unexpected result') || w.includes('unparseable'))).toBe(true);
562
562
  });
563
563
  });
564
+ // ── OCRA-05: Malformed JSON repair + evidence persistence ──────────────────
565
+ describe('OCRA-05: malformed JSON repair', () => {
566
+ it('repairs JSON-like text with unescaped quotes inside string values', async () => {
567
+ const adapter = new OpenClawCliRuntimeAdapter({ runtimeMode: 'local' });
568
+ // Simulate LLM output where a string value contains an unescaped quote
569
+ // This is genuinely malformed JSON: the "wrong" inside the rootCause value is not escaped
570
+ const malformedJson = '{"valid":true,"diagnosisId":"diag-repair-1","summary":"test diagnosis","rootCause":"Design: the "wrong" approach caused failure","violatedPrinciples":[{"rationale":"bad design"}],"evidence":[{"sourceRef":"src","note":"note"}],"recommendations":[{"kind":"principle","description":"fix it"}],"confidence":0.8}';
571
+ const mockOutput = makeCliOutput({ stdout: malformedJson, exitCode: 0 });
572
+ mockRunCliProcess.mockResolvedValue(mockOutput);
573
+ const handle = await adapter.startRun({
574
+ agentSpec: { agentId: 'diag', schemaVersion: 'v1' },
575
+ inputPayload: {},
576
+ contextItems: [],
577
+ timeoutMs: 30000,
578
+ });
579
+ const result = await adapter.fetchOutput(handle.runId);
580
+ expect(result.payload).toMatchObject({ diagnosisId: 'diag-repair-1' });
581
+ // Verify the unescaped quotes were repaired correctly
582
+ const payload = result.payload;
583
+ expect(typeof payload.rootCause).toBe('string');
584
+ expect(payload.rootCause).toContain('wrong');
585
+ });
586
+ it('repairs JSON embedded in prose with surrounding text', async () => {
587
+ const adapter = new OpenClawCliRuntimeAdapter({ runtimeMode: 'local' });
588
+ const validJson = JSON.stringify(VALID_PAYLOAD);
589
+ const proseWrapped = `Here is the diagnosis result:\n${validJson}\nEnd of result.`;
590
+ const mockOutput = makeCliOutput({ stdout: proseWrapped, exitCode: 0 });
591
+ mockRunCliProcess.mockResolvedValue(mockOutput);
592
+ const handle = await adapter.startRun({
593
+ agentSpec: { agentId: 'diag', schemaVersion: 'v1' },
594
+ inputPayload: {},
595
+ contextItems: [],
596
+ timeoutMs: 30000,
597
+ });
598
+ const result = await adapter.fetchOutput(handle.runId);
599
+ expect(result.payload).toMatchObject({ diagnosisId: 'diag-1' });
600
+ });
601
+ it('repairs JSON from stderr when stdout is empty', async () => {
602
+ const adapter = new OpenClawCliRuntimeAdapter({ runtimeMode: 'local' });
603
+ const validJson = JSON.stringify(VALID_PAYLOAD);
604
+ const mockOutput = makeCliOutput({ stdout: '', stderr: validJson, exitCode: 0 });
605
+ mockRunCliProcess.mockResolvedValue(mockOutput);
606
+ const handle = await adapter.startRun({
607
+ agentSpec: { agentId: 'diag', schemaVersion: 'v1' },
608
+ inputPayload: {},
609
+ contextItems: [],
610
+ timeoutMs: 30000,
611
+ });
612
+ const result = await adapter.fetchOutput(handle.runId);
613
+ expect(result.payload).toMatchObject({ diagnosisId: 'diag-1' });
614
+ });
615
+ });
616
+ describe('OCRA-05: output_invalid evidence persistence', () => {
617
+ it('includes parseFailureReason, boundedRawOutputPreview, and nextAction when JSON parse fails', async () => {
618
+ const adapter = new OpenClawCliRuntimeAdapter({ runtimeMode: 'local' });
619
+ const mockOutput = makeCliOutput({ stdout: 'this is not JSON at all!!!', stderr: '', exitCode: 0 });
620
+ mockRunCliProcess.mockResolvedValue(mockOutput);
621
+ const handle = await adapter.startRun({
622
+ agentSpec: { agentId: 'diag', schemaVersion: 'v1' },
623
+ inputPayload: {},
624
+ contextItems: [],
625
+ timeoutMs: 30000,
626
+ });
627
+ try {
628
+ await adapter.fetchOutput(handle.runId);
629
+ expect.fail('Expected PDRuntimeError');
630
+ }
631
+ catch (err) {
632
+ expect(err).toBeInstanceOf(PDRuntimeError);
633
+ const pdErr = err;
634
+ expect(pdErr.category).toBe('output_invalid');
635
+ expect(pdErr.details).toBeDefined();
636
+ expect(pdErr.details?.parseFailureReason).toBe('no_json_object_found');
637
+ expect(pdErr.details?.boundedRawOutputPreview).toBeDefined();
638
+ expect(typeof pdErr.details?.boundedRawOutputPreview).toBe('string');
639
+ expect(pdErr.details?.nextAction).toBeDefined();
640
+ // Privacy: preview must be bounded (max 500 chars)
641
+ expect((pdErr.details?.boundedRawOutputPreview).length).toBeLessThanOrEqual(500);
642
+ }
643
+ });
644
+ it('includes schemaErrors and boundedRawOutputPreview when schema validation fails', async () => {
645
+ const adapter = new OpenClawCliRuntimeAdapter({ runtimeMode: 'local' });
646
+ const invalidPayload = { valid: true /* missing required fields */ };
647
+ const mockOutput = makeCliOutput({ stdout: JSON.stringify(invalidPayload), exitCode: 0 });
648
+ mockRunCliProcess.mockResolvedValue(mockOutput);
649
+ const handle = await adapter.startRun({
650
+ agentSpec: { agentId: 'diag', schemaVersion: 'v1' },
651
+ inputPayload: {},
652
+ contextItems: [],
653
+ timeoutMs: 30000,
654
+ });
655
+ try {
656
+ await adapter.fetchOutput(handle.runId);
657
+ expect.fail('Expected PDRuntimeError');
658
+ }
659
+ catch (err) {
660
+ expect(err).toBeInstanceOf(PDRuntimeError);
661
+ const pdErr = err;
662
+ expect(pdErr.category).toBe('output_invalid');
663
+ expect(pdErr.details?.parseFailureReason).toBe('schema_validation_failed');
664
+ expect(pdErr.details?.boundedRawOutputPreview).toBeDefined();
665
+ expect(Array.isArray(pdErr.details?.schemaErrors)).toBe(true);
666
+ expect(pdErr.details?.schemaErrors?.length).toBeGreaterThan(0);
667
+ expect(pdErr.details?.nextAction).toBeDefined();
668
+ // Privacy: preview must be bounded
669
+ expect((pdErr.details?.boundedRawOutputPreview).length).toBeLessThanOrEqual(500);
670
+ }
671
+ });
672
+ it('does not leak API keys or full trajectories in boundedRawOutputPreview', async () => {
673
+ const adapter = new OpenClawCliRuntimeAdapter({ runtimeMode: 'local' });
674
+ // Simulate output that might contain sensitive data
675
+ const sensitivePayload = {
676
+ valid: true,
677
+ apiKey: 'sk-super-secret-key-1234567890abcdef',
678
+ trajectory: 'x'.repeat(5000),
679
+ };
680
+ const mockOutput = makeCliOutput({ stdout: JSON.stringify(sensitivePayload), exitCode: 0 });
681
+ mockRunCliProcess.mockResolvedValue(mockOutput);
682
+ const handle = await adapter.startRun({
683
+ agentSpec: { agentId: 'diag', schemaVersion: 'v1' },
684
+ inputPayload: {},
685
+ contextItems: [],
686
+ timeoutMs: 30000,
687
+ });
688
+ try {
689
+ await adapter.fetchOutput(handle.runId);
690
+ expect.fail('Expected PDRuntimeError');
691
+ }
692
+ catch (err) {
693
+ expect(err).toBeInstanceOf(PDRuntimeError);
694
+ const pdErr = err;
695
+ // The preview is bounded — the full 5000-char trajectory should NOT appear in full
696
+ const preview = pdErr.details?.boundedRawOutputPreview;
697
+ expect(preview.length).toBeLessThanOrEqual(500);
698
+ // The preview must end with "..." truncation marker (safeStringifyPreview truncates)
699
+ expect(preview.endsWith('...')).toBe(true);
700
+ // The full 5000-char trajectory is not present (only a truncated prefix)
701
+ expect(preview.length).toBeLessThan(JSON.stringify(sensitivePayload).length);
702
+ // ERR-055/056: API key must be redacted, not leaked verbatim
703
+ expect(preview).not.toContain('sk-super-secret-key-1234567890abcdef');
704
+ // The apiKey field should be redacted by redactSensitiveFields
705
+ expect(preview).toContain('[REDACTED]');
706
+ }
707
+ });
708
+ });
564
709
  });
565
710
  //# sourceMappingURL=openclaw-cli-runtime-adapter.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openclaw-cli-runtime-adapter.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openclaw-cli-runtime-adapter.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter.test.ts"],"names":[],"mappings":"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"}
@@ -11,4 +11,17 @@
11
11
  * Returns the parsed object, or null if no valid JSON found.
12
12
  */
13
13
  export declare function extractJsonObject(text: string): Record<string, unknown> | null;
14
+ /**
15
+ * Attempt syntactic repair of malformed JSON where string values contain
16
+ * unescaped double quotes (a common LLM output error).
17
+ *
18
+ * Strategy: find the outermost `{...}` via balanced-bracket scan, then
19
+ * try to fix unescaped quotes by escaping inner double-quote characters
20
+ * that appear between key-value separators (`: `) and field separators (`,`).
21
+ *
22
+ * This is a BEST-EFFORT heuristic — it handles the most common LLM mistake
23
+ * (unescaped quotes in string values) but is not a general JSON repair.
24
+ * Returns the parsed object, or null if repair fails.
25
+ */
26
+ export declare function repairMalformedJson(text: string): Record<string, unknown> | null;
14
27
  //# sourceMappingURL=json-extractor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-extractor.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/adapter/json-extractor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CA6D9E"}
1
+ {"version":3,"file":"json-extractor.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/adapter/json-extractor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CA6D9E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CA+FhF"}
@@ -94,4 +94,107 @@ export function extractJsonObject(text) {
94
94
  }
95
95
  return null;
96
96
  }
97
+ /**
98
+ * Attempt syntactic repair of malformed JSON where string values contain
99
+ * unescaped double quotes (a common LLM output error).
100
+ *
101
+ * Strategy: find the outermost `{...}` via balanced-bracket scan, then
102
+ * try to fix unescaped quotes by escaping inner double-quote characters
103
+ * that appear between key-value separators (`: `) and field separators (`,`).
104
+ *
105
+ * This is a BEST-EFFORT heuristic — it handles the most common LLM mistake
106
+ * (unescaped quotes in string values) but is not a general JSON repair.
107
+ * Returns the parsed object, or null if repair fails.
108
+ */
109
+ export function repairMalformedJson(text) {
110
+ // Find the outermost {...} via balanced-bracket scan
111
+ let start = -1;
112
+ let depth = 0;
113
+ let end = -1;
114
+ for (let i = 0; i < text.length; i++) {
115
+ const ch = text[i];
116
+ if (ch === '{') {
117
+ if (depth === 0)
118
+ start = i;
119
+ depth++;
120
+ }
121
+ else if (ch === '}') {
122
+ depth--;
123
+ if (depth === 0 && start >= 0) {
124
+ end = i;
125
+ break;
126
+ }
127
+ }
128
+ }
129
+ if (start < 0 || end < 0)
130
+ return null;
131
+ let candidate = text.slice(start, end + 1);
132
+ // Try parsing as-is first
133
+ try {
134
+ const parsed = JSON.parse(candidate);
135
+ if (typeof parsed === 'object' && parsed !== null && !Array.isArray(parsed)) {
136
+ return parsed;
137
+ }
138
+ }
139
+ catch { /* needs repair */ }
140
+ // Heuristic: escape unescaped double quotes inside string values.
141
+ // Walk character-by-character tracking JSON structure state.
142
+ // When inside a string value (after `: ` and before `,` or `}`),
143
+ // escape any unescaped `"` that is NOT at a structural boundary.
144
+ const chars = [...candidate];
145
+ let inString = false;
146
+ let escaped = false;
147
+ let result = '';
148
+ for (let i = 0; i < chars.length; i++) {
149
+ const ch = chars[i];
150
+ if (escaped) {
151
+ result += ch;
152
+ escaped = false;
153
+ continue;
154
+ }
155
+ if (ch === '\\' && inString) {
156
+ result += ch;
157
+ escaped = true;
158
+ continue;
159
+ }
160
+ if (ch === '"') {
161
+ if (!inString) {
162
+ // Opening quote
163
+ inString = true;
164
+ result += ch;
165
+ }
166
+ else {
167
+ // Closing quote — but is it really a closing quote?
168
+ // Look ahead: if followed by `:` it's a key end (valid)
169
+ // If followed by `,` or `}` or `]` or whitespace+`,` etc. it's a value end (valid)
170
+ // Otherwise it's likely an unescaped quote inside a string value
171
+ const rest = candidate.slice(i + 1).trimStart();
172
+ if (rest.startsWith(':') || // end of key
173
+ rest.startsWith(',') || // end of value
174
+ rest.startsWith('}') || // end of last value in object
175
+ rest.startsWith(']') || // end of last value in array
176
+ rest.length === 0 // end of text
177
+ ) {
178
+ // This is a structural closing quote
179
+ inString = false;
180
+ result += ch;
181
+ }
182
+ else {
183
+ // This is an unescaped quote inside a string value — escape it
184
+ result += '\\"';
185
+ }
186
+ }
187
+ continue;
188
+ }
189
+ result += ch;
190
+ }
191
+ try {
192
+ const parsed = JSON.parse(result);
193
+ if (typeof parsed === 'object' && parsed !== null && !Array.isArray(parsed)) {
194
+ return parsed;
195
+ }
196
+ }
197
+ catch { /* repair failed */ }
198
+ return null;
199
+ }
97
200
  //# sourceMappingURL=json-extractor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-extractor.js","sourceRoot":"","sources":["../../../src/runtime-v2/adapter/json-extractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-extractor.js","sourceRoot":"","sources":["../../../src/runtime-v2/adapter/json-extractor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"openclaw-cli-runtime-adapter.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/adapter/openclaw-cli-runtime-adapter.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAElE,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,SAAS,EACT,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAEhC;;;;;;GAMG;AACH,MAAM,WAAW,gCAAgC;IAC/C;;;;;OAKG;IACH,WAAW,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;IAC7C;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,YAAY,CAAC,EAAE,iBAAiB,CAAC;CAClC;AA8ND,qBAAa,yBAA0B,YAAW,gBAAgB;IAChE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+B;IAC3D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkC;IAC9D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;gBAErC,OAAO,EAAE,gCAAgC;IASrD,IAAI,IAAI,WAAW;IAKb,eAAe,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAcrD;;;;;;;;;;;OAWG;IACG,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;IAqP3C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAsBhC,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC;IA6FlD,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IA8C1C,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA2DxD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASvC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;CAIpE"}
1
+ {"version":3,"file":"openclaw-cli-runtime-adapter.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/adapter/openclaw-cli-runtime-adapter.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAMlE,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,SAAS,EACT,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAEhC;;;;;;GAMG;AACH,MAAM,WAAW,gCAAgC;IAC/C;;;;;OAKG;IACH,WAAW,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;IAC7C;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,YAAY,CAAC,EAAE,iBAAiB,CAAC;CAClC;AA8ND,qBAAa,yBAA0B,YAAW,gBAAgB;IAChE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+B;IAC3D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkC;IAC9D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;gBAErC,OAAO,EAAE,gCAAgC;IASrD,IAAI,IAAI,WAAW;IAKb,eAAe,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAcrD;;;;;;;;;;;OAWG;IACG,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;IAqP3C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAsBhC,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC;IA6FlD,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IA+C1C,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAuHxD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASvC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;CAIpE"}
@@ -19,6 +19,10 @@ import { runCliProcess } from '../utils/cli-process-runner.js';
19
19
  import { PDRuntimeError } from '../error-categories.js';
20
20
  import { DiagnosticianOutputV1Schema } from '../diagnostician-output.js';
21
21
  import { storeEmitter } from '../store/event-emitter.js';
22
+ import { safeStringifyPreview, truncatePreview } from './output-repair-contract.js';
23
+ import { redactTelemetryString } from '../feedback/redact-sensitive.js';
24
+ import { redactSensitiveFields } from '../feedback/redact-sensitive.js';
25
+ import { repairMalformedJson } from './json-extractor.js';
22
26
  async function writeMessageFile(message, workspaceDir) {
23
27
  // Write to workspace/.pd/tmp/ so the agent (which runs with workspace cwd) can find it.
24
28
  // The agent interprets @path as relative to its working directory, not an absolute path.
@@ -641,6 +645,7 @@ export class OpenClawCliRuntimeAdapter {
641
645
  };
642
646
  }
643
647
  // OCRA-03: fetchOutput parses CliOutput.stdout and returns DiagnosticianOutputV1
648
+ // OCRA-05: Malformed JSON repair + evidence persistence on output_invalid
644
649
  async fetchOutput(runId) {
645
650
  const state = this.runStateMap.get(runId);
646
651
  if (!state || !state.completed || !state.cliOutput) {
@@ -677,14 +682,62 @@ export class OpenClawCliRuntimeAdapter {
677
682
  else {
678
683
  parsed = null;
679
684
  }
685
+ // OCRA-05: When initial JSON parse fails, attempt bounded repair via extractJsonObject
686
+ // and repairMalformedJson on the raw stdout/stderr text before giving up.
680
687
  if (parsed === null) {
681
- // OCRA-04: JSON parse failure output_invalid
682
- throw new PDRuntimeError('output_invalid', 'Failed to parse CLI output as JSON');
688
+ // Repair step 1: scan raw text for a JSON object using balanced-bracket extraction
689
+ const repairSources = [cliOutput.stdout, cliOutput.stderr ?? ''];
690
+ for (const source of repairSources) {
691
+ if (!source)
692
+ continue;
693
+ const repaired = extractJsonObject(source);
694
+ if (repaired !== null) {
695
+ parsed = repaired;
696
+ break;
697
+ }
698
+ }
699
+ // Repair step 2: attempt syntactic repair of malformed JSON (e.g., unescaped quotes)
700
+ if (parsed === null) {
701
+ for (const source of repairSources) {
702
+ if (!source)
703
+ continue;
704
+ const repaired = repairMalformedJson(source);
705
+ if (repaired !== null) {
706
+ parsed = repaired;
707
+ break;
708
+ }
709
+ }
710
+ }
711
+ if (parsed === null) {
712
+ // OCRA-05: Evidence persistence on output_invalid — no silent fallback (ERR-002)
713
+ // ERR-055/056: redact tokens/paths from raw output before persisting preview
714
+ const rawText = cliOutput.stdout || cliOutput.stderr || '';
715
+ const redacted = redactTelemetryString(rawText.substring(0, 2000));
716
+ const boundedPreview = truncatePreview(typeof redacted === 'string' ? redacted : '', 500);
717
+ throw new PDRuntimeError('output_invalid', 'Failed to parse CLI output as JSON', {
718
+ parseFailureReason: 'no_json_object_found',
719
+ boundedRawOutputPreview: boundedPreview,
720
+ nextAction: 'Check openclaw agent output format; ensure agent returns valid JSON',
721
+ });
722
+ }
683
723
  }
684
724
  // OCRA-03: Validate DiagnosticianOutputV1Schema
685
- // OCRA-04: Schema mismatch output_invalid
725
+ // OCRA-05: On schema mismatch, include evidence with bounded preview (ERR-014/016/017)
726
+ // ERR-055/056: redact sensitive fields from parsed payload before persisting preview
686
727
  if (!Value.Check(DiagnosticianOutputV1Schema, parsed)) {
687
- throw new PDRuntimeError('output_invalid', 'CLI output does not match DiagnosticianOutputV1 schema');
728
+ const schemaErrors = [...Value.Errors(DiagnosticianOutputV1Schema, parsed)]
729
+ .slice(0, 10)
730
+ .map(e => ({ path: e.path, message: e.message }));
731
+ const redacted = redactSensitiveFields(parsed);
732
+ const boundedPreview = redacted.ok
733
+ ? safeStringifyPreview(redacted.value, 500)
734
+ : safeStringifyPreview(parsed, 500);
735
+ throw new PDRuntimeError('output_invalid', 'CLI output does not match DiagnosticianOutputV1 schema', {
736
+ parseFailureReason: 'schema_validation_failed',
737
+ boundedRawOutputPreview: boundedPreview,
738
+ schemaErrors,
739
+ nextAction: 'Review schema errors; check LLM output format and required fields',
740
+ });
688
741
  }
689
742
  return { runId, payload: parsed };
690
743
  }