@principles/core 1.83.0 → 1.85.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 (41) hide show
  1. package/dist/runtime-v2/index.d.ts +2 -0
  2. package/dist/runtime-v2/index.d.ts.map +1 -1
  3. package/dist/runtime-v2/index.js +2 -0
  4. package/dist/runtime-v2/index.js.map +1 -1
  5. package/dist/runtime-v2/internalization/__tests__/philosopher-runner-trust-boundary.test.d.ts +2 -0
  6. package/dist/runtime-v2/internalization/__tests__/philosopher-runner-trust-boundary.test.d.ts.map +1 -0
  7. package/dist/runtime-v2/internalization/__tests__/philosopher-runner-trust-boundary.test.js +398 -0
  8. package/dist/runtime-v2/internalization/__tests__/philosopher-runner-trust-boundary.test.js.map +1 -0
  9. package/dist/runtime-v2/internalization/dreamer-output.d.ts +4 -3
  10. package/dist/runtime-v2/internalization/dreamer-output.d.ts.map +1 -1
  11. package/dist/runtime-v2/internalization/dreamer-output.js +11 -9
  12. package/dist/runtime-v2/internalization/dreamer-output.js.map +1 -1
  13. package/dist/runtime-v2/internalization/dreamer-runner.d.ts +31 -92
  14. package/dist/runtime-v2/internalization/dreamer-runner.d.ts.map +1 -1
  15. package/dist/runtime-v2/internalization/dreamer-runner.js +79 -495
  16. package/dist/runtime-v2/internalization/dreamer-runner.js.map +1 -1
  17. package/dist/runtime-v2/internalization/philosopher-output.d.ts +8 -2
  18. package/dist/runtime-v2/internalization/philosopher-output.d.ts.map +1 -1
  19. package/dist/runtime-v2/internalization/philosopher-output.js +16 -11
  20. package/dist/runtime-v2/internalization/philosopher-output.js.map +1 -1
  21. package/dist/runtime-v2/internalization/philosopher-runner.d.ts +36 -55
  22. package/dist/runtime-v2/internalization/philosopher-runner.d.ts.map +1 -1
  23. package/dist/runtime-v2/internalization/philosopher-runner.js +117 -401
  24. package/dist/runtime-v2/internalization/philosopher-runner.js.map +1 -1
  25. package/dist/runtime-v2/runner/__tests__/base-peer-runner-trust-boundary.test.d.ts +2 -0
  26. package/dist/runtime-v2/runner/__tests__/base-peer-runner-trust-boundary.test.d.ts.map +1 -0
  27. package/dist/runtime-v2/runner/__tests__/base-peer-runner-trust-boundary.test.js +260 -0
  28. package/dist/runtime-v2/runner/__tests__/base-peer-runner-trust-boundary.test.js.map +1 -0
  29. package/dist/runtime-v2/runner/base-peer-runner.d.ts +122 -0
  30. package/dist/runtime-v2/runner/base-peer-runner.d.ts.map +1 -0
  31. package/dist/runtime-v2/runner/base-peer-runner.js +520 -0
  32. package/dist/runtime-v2/runner/base-peer-runner.js.map +1 -0
  33. package/dist/runtime-v2/runner/peer-runner-types.d.ts +107 -0
  34. package/dist/runtime-v2/runner/peer-runner-types.d.ts.map +1 -0
  35. package/dist/runtime-v2/runner/peer-runner-types.js +13 -0
  36. package/dist/runtime-v2/runner/peer-runner-types.js.map +1 -0
  37. package/dist/telemetry-event.d.ts +2 -2
  38. package/dist/telemetry-event.d.ts.map +1 -1
  39. package/dist/telemetry-event.js +23 -0
  40. package/dist/telemetry-event.js.map +1 -1
  41. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"philosopher-runner.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/philosopher-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"philosopher-runner.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/philosopher-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=base-peer-runner-trust-boundary.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-peer-runner-trust-boundary.test.d.ts","sourceRoot":"","sources":["../../../../src/runtime-v2/runner/__tests__/base-peer-runner-trust-boundary.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,260 @@
1
+ /**
2
+ * Regression tests for BasePeerRunner trust boundary (ERR-001, ERR-005).
3
+ *
4
+ * Verifies that untrusted LLM/runtime payloads do NOT enter typed hooks
5
+ * before validation. Malformed payloads must be rejected at the
6
+ * validateOutput boundary — postFetchTransform and checkLineageIntegrity
7
+ * must never receive unvalidated data as TOutput.
8
+ *
9
+ * @see ERR-001: Treat parsed JSON / LLM output as unknown
10
+ * @see ERR-005: Do not use `as` to bypass runtime validation
11
+ * @see PRI-302 trust boundary fix
12
+ */
13
+ import { describe, it, expect, vi, beforeEach } from 'vitest';
14
+ import { BasePeerRunner } from '../base-peer-runner.js';
15
+ import { RunnerPhase } from '../runner-phase.js';
16
+ class TestPeerRunner extends BasePeerRunner {
17
+ postFetchCallCount = 0;
18
+ postFetchReceivedUnknown = true;
19
+ checkLineageCallCount = 0;
20
+ checkLineageReceivedUnknown = true;
21
+ validateCallCount = 0;
22
+ succeedCallCount = 0;
23
+ shouldValidateSucceed = true;
24
+ constructor(deps) {
25
+ super(deps, { owner: 'test', runtimeKind: 'test-double' }, {
26
+ runnerName: 'test',
27
+ expectedTaskKind: 'dreamer',
28
+ defaultAgentId: 'test',
29
+ resultRefPrefix: 'test',
30
+ });
31
+ }
32
+ // eslint-disable-next-line @typescript-eslint/class-methods-use-this
33
+ get permanentErrorCategories() {
34
+ return new Set(['storage_unavailable', 'workspace_invalid', 'capability_missing', 'cancelled', 'input_invalid', 'output_invalid']);
35
+ }
36
+ // eslint-disable-next-line @typescript-eslint/class-methods-use-this
37
+ async buildContext(_taskId) {
38
+ return { contextHash: 'test-hash' };
39
+ }
40
+ // eslint-disable-next-line @typescript-eslint/class-methods-use-this
41
+ async invokeRuntime(_taskId, _context) {
42
+ return {
43
+ runId: 'run-001',
44
+ runtimeKind: 'test-double',
45
+ startedAt: new Date().toISOString(),
46
+ };
47
+ }
48
+ async validateOutput(output, _taskId) {
49
+ this.validateCallCount++;
50
+ // Verify that output is unknown (not pre-cast to TOutput)
51
+ this.postFetchReceivedUnknown = typeof output !== 'object' || output === null
52
+ ? true
53
+ : !(('data' in output) && typeof output.data === 'string');
54
+ if (!this.shouldValidateSucceed) {
55
+ return { valid: false, errors: ['intentional validation failure'], errorCategory: 'output_invalid' };
56
+ }
57
+ // Simulate runtime validation: check shape
58
+ if (typeof output !== 'object' || output === null) {
59
+ return { valid: false, errors: ['not an object'], errorCategory: 'output_invalid' };
60
+ }
61
+ const record = output;
62
+ if (typeof record.data !== 'string') {
63
+ return { valid: false, errors: ['missing data field'], errorCategory: 'output_invalid' };
64
+ }
65
+ return { valid: true, errors: [] };
66
+ }
67
+ // eslint-disable-next-line @typescript-eslint/max-params
68
+ async succeedTask(taskId, runId, output, task, _contextHash, _context) {
69
+ this.succeedCallCount++;
70
+ return {
71
+ status: 'succeeded',
72
+ taskId,
73
+ runId,
74
+ output,
75
+ attemptCount: task.attemptCount,
76
+ };
77
+ }
78
+ postFetchTransform(_taskId, untrustedOutput) {
79
+ this.postFetchCallCount++;
80
+ // Verify the output is NOT typed as TestOutput
81
+ this.postFetchReceivedUnknown = typeof untrustedOutput !== 'object' || untrustedOutput === null
82
+ ? true
83
+ : !('data' in untrustedOutput);
84
+ }
85
+ checkLineageIntegrity(_taskId, output) {
86
+ this.checkLineageCallCount++;
87
+ // At this point, output SHOULD be typed (validation passed)
88
+ this.checkLineageReceivedUnknown = typeof output !== 'object' || output === null;
89
+ }
90
+ }
91
+ function createMockDeps(overrides) {
92
+ return {
93
+ stateManager: {
94
+ acquireLease: vi.fn().mockResolvedValue({
95
+ taskId: 'task-001',
96
+ taskKind: 'dreamer',
97
+ status: 'leased',
98
+ attemptCount: 1,
99
+ maxAttempts: 3,
100
+ createdAt: new Date().toISOString(),
101
+ updatedAt: new Date().toISOString(),
102
+ }),
103
+ getTask: vi.fn().mockResolvedValue(null),
104
+ getRunsByTask: vi.fn().mockResolvedValue([{ runId: 'run-001' }]),
105
+ getRetryPolicy: vi.fn().mockReturnValue({
106
+ shouldRetry: vi.fn().mockReturnValue(false),
107
+ }),
108
+ markTaskSucceeded: vi.fn().mockResolvedValue({}),
109
+ markTaskFailed: vi.fn().mockResolvedValue({}),
110
+ markTaskRetryWait: vi.fn().mockResolvedValue({}),
111
+ updateRunOutput: vi.fn().mockResolvedValue({}),
112
+ },
113
+ runtimeAdapter: {
114
+ startRun: vi.fn().mockResolvedValue({
115
+ runId: 'run-001',
116
+ runtimeKind: 'test-double',
117
+ startedAt: new Date().toISOString(),
118
+ }),
119
+ pollRun: vi.fn().mockResolvedValue({
120
+ status: 'succeeded',
121
+ runId: 'run-001',
122
+ }),
123
+ fetchOutput: vi.fn(),
124
+ cancelRun: vi.fn(),
125
+ },
126
+ eventEmitter: {
127
+ emitTelemetry: vi.fn(),
128
+ },
129
+ artifactStore: {
130
+ upsertArtifact: vi.fn(),
131
+ listBySourceTaskId: vi.fn().mockResolvedValue([]),
132
+ },
133
+ ...overrides,
134
+ };
135
+ }
136
+ // ── Tests ────────────────────────────────────────────────────────────────────
137
+ describe('BasePeerRunner trust boundary (ERR-001, ERR-005)', () => {
138
+ let runner;
139
+ let mockDeps;
140
+ beforeEach(() => {
141
+ mockDeps = createMockDeps();
142
+ runner = new TestPeerRunner(mockDeps);
143
+ });
144
+ it('malformed payload (non-object) does NOT enter postFetchTransform', async () => {
145
+ // fetchOutput returns a non-object payload (e.g., string)
146
+ mockDeps.runtimeAdapter.fetchOutput.mockResolvedValue({
147
+ payload: 'not-an-object',
148
+ runtimeKind: 'test-double',
149
+ });
150
+ const result = await runner.run('task-001');
151
+ // Should fail with output_invalid (payload_not_object stage in fetchAndParseOutput)
152
+ expect(result.status).toBe('failed');
153
+ expect(result.errorCategory).toBe('output_invalid');
154
+ // postFetchTransform must NOT have been called
155
+ expect(runner.postFetchCallCount).toBe(0);
156
+ });
157
+ it('malformed payload (null) does NOT enter postFetchTransform', async () => {
158
+ mockDeps.runtimeAdapter.fetchOutput.mockResolvedValue({
159
+ payload: null,
160
+ runtimeKind: 'test-double',
161
+ });
162
+ const result = await runner.run('task-001');
163
+ expect(result.status).toBe('failed');
164
+ expect(result.errorCategory).toBe('output_invalid');
165
+ expect(runner.postFetchCallCount).toBe(0);
166
+ });
167
+ it('malformed payload does NOT enter checkLineageIntegrity', async () => {
168
+ // fetchOutput returns a valid object, but validation fails
169
+ mockDeps.runtimeAdapter.fetchOutput.mockResolvedValue({
170
+ payload: { wrong: 'shape' },
171
+ runtimeKind: 'test-double',
172
+ });
173
+ runner.shouldValidateSucceed = false;
174
+ const result = await runner.run('task-001');
175
+ // Should fail validation
176
+ expect(result.status).toBe('failed');
177
+ expect(result.errorCategory).toBe('output_invalid');
178
+ // postFetchTransform WAS called (it operates on untrusted data — this is OK)
179
+ expect(runner.postFetchCallCount).toBe(1);
180
+ // checkLineageIntegrity must NOT have been called (validation failed)
181
+ expect(runner.checkLineageCallCount).toBe(0);
182
+ });
183
+ it('valid output goes through full success path: fetch → postFetch → validate → checkLineage → succeed', async () => {
184
+ const validPayload = { taskId: 'task-001', valid: true, data: 'test-data' };
185
+ mockDeps.runtimeAdapter.fetchOutput.mockResolvedValue({
186
+ payload: validPayload,
187
+ runtimeKind: 'test-double',
188
+ });
189
+ const result = await runner.run('task-001');
190
+ expect(result.status).toBe('succeeded');
191
+ expect(result.output).toEqual(validPayload);
192
+ // All hooks were called
193
+ expect(runner.postFetchCallCount).toBe(1);
194
+ expect(runner.validateCallCount).toBe(1);
195
+ expect(runner.checkLineageCallCount).toBe(1);
196
+ expect(runner.succeedCallCount).toBe(1);
197
+ });
198
+ it('postFetchTransform receives untrusted data (unknown), not typed TOutput', async () => {
199
+ const validPayload = { taskId: 'task-001', valid: true, data: 'test-data' };
200
+ mockDeps.runtimeAdapter.fetchOutput.mockResolvedValue({
201
+ payload: validPayload,
202
+ runtimeKind: 'test-double',
203
+ });
204
+ await runner.run('task-001');
205
+ // postFetchTransform should have received the raw payload
206
+ // The "receivedUnknown" check verifies the data wasn't pre-typed
207
+ expect(runner.postFetchCallCount).toBe(1);
208
+ });
209
+ it('checkLineageIntegrity receives validated output (typed TOutput)', async () => {
210
+ const validPayload = { taskId: 'task-001', valid: true, data: 'test-data' };
211
+ mockDeps.runtimeAdapter.fetchOutput.mockResolvedValue({
212
+ payload: validPayload,
213
+ runtimeKind: 'test-double',
214
+ });
215
+ await runner.run('task-001');
216
+ // checkLineageIntegrity should have been called with validated output
217
+ expect(runner.checkLineageCallCount).toBe(1);
218
+ // The output should be typed (not unknown)
219
+ expect(runner.checkLineageReceivedUnknown).toBe(false);
220
+ });
221
+ it('fetchOutput returning undefined triggers output_invalid', async () => {
222
+ mockDeps.runtimeAdapter.fetchOutput.mockResolvedValue(undefined);
223
+ const result = await runner.run('task-001');
224
+ expect(result.status).toBe('failed');
225
+ expect(result.errorCategory).toBe('output_invalid');
226
+ expect(runner.postFetchCallCount).toBe(0);
227
+ });
228
+ it('fetchOutput returning payload with no payload field triggers output_invalid', async () => {
229
+ mockDeps.runtimeAdapter.fetchOutput.mockResolvedValue({
230
+ runtimeKind: 'test-double',
231
+ // no payload field
232
+ });
233
+ const result = await runner.run('task-001');
234
+ expect(result.status).toBe('failed');
235
+ expect(result.errorCategory).toBe('output_invalid');
236
+ expect(runner.postFetchCallCount).toBe(0);
237
+ });
238
+ it('successful run sets phase to Completed', async () => {
239
+ const validPayload = { taskId: 'task-001', valid: true, data: 'test-data' };
240
+ mockDeps.runtimeAdapter.fetchOutput.mockResolvedValue({
241
+ payload: validPayload,
242
+ runtimeKind: 'test-double',
243
+ });
244
+ const result = await runner.run('task-001');
245
+ expect(result.status).toBe('succeeded');
246
+ expect(runner.currentPhase).toBe(RunnerPhase.Completed);
247
+ });
248
+ it('validation failure does not set phase to Completed', async () => {
249
+ mockDeps.runtimeAdapter.fetchOutput.mockResolvedValue({
250
+ payload: { wrong: 'shape' },
251
+ runtimeKind: 'test-double',
252
+ });
253
+ runner.shouldValidateSucceed = false;
254
+ const result = await runner.run('task-001');
255
+ expect(result.status).toBe('failed');
256
+ expect(runner.currentPhase).not.toBe(RunnerPhase.Completed);
257
+ expect(runner.currentPhase).toBe(RunnerPhase.Failed);
258
+ });
259
+ });
260
+ //# sourceMappingURL=base-peer-runner-trust-boundary.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-peer-runner-trust-boundary.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/runner/__tests__/base-peer-runner-trust-boundary.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAYxD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAcjD,MAAM,cAAe,SAAQ,cAAuC;IAC3D,kBAAkB,GAAG,CAAC,CAAC;IACvB,wBAAwB,GAAG,IAAI,CAAC;IAChC,qBAAqB,GAAG,CAAC,CAAC;IAC1B,2BAA2B,GAAG,IAAI,CAAC;IACnC,iBAAiB,GAAG,CAAC,CAAC;IACtB,gBAAgB,GAAG,CAAC,CAAC;IACrB,qBAAqB,GAAG,IAAI,CAAC;IAEpC,YAAY,IAAoB;QAC9B,KAAK,CACH,IAAI,EACJ,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,EAC7C;YACE,UAAU,EAAE,MAAM;YAClB,gBAAgB,EAAE,SAAS;YAC3B,cAAc,EAAE,MAAM;YACtB,eAAe,EAAE,MAAM;SACxB,CACF,CAAC;IACJ,CAAC;IAED,qEAAqE;IACrE,IAAI,wBAAwB;QAC1B,OAAO,IAAI,GAAG,CAAC,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,WAAW,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACrI,CAAC;IAED,qEAAqE;IACrE,KAAK,CAAC,YAAY,CAAC,OAAe;QAChC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;IACtC,CAAC;IAED,qEAAqE;IACrE,KAAK,CAAC,aAAa,CAAC,OAAe,EAAE,QAAqB;QACxD,OAAO;YACL,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,aAAa;YAC1B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAe,EAAE,OAAe;QACnD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,0DAA0D;QAC1D,IAAI,CAAC,wBAAwB,GAAG,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;YAC3E,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAK,MAAkC,CAAC,IAAI,OAAQ,MAAkC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAEvH,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAChC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,gCAAgC,CAAC,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC;QACvG,CAAC;QAED,2CAA2C;QAC3C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAClD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC;QACtF,CAAC;QACD,MAAM,MAAM,GAAG,MAAiC,CAAC;QACjD,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,oBAAoB,CAAC,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC;QAC3F,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACrC,CAAC;IAED,yDAAyD;IACzD,KAAK,CAAC,WAAW,CACf,MAAc,EACd,KAAa,EACb,MAAkB,EAClB,IAAgB,EAChB,YAAoB,EACpB,QAAqB;QAErB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO;YACL,MAAM,EAAE,WAAW;YACnB,MAAM;YACN,KAAK;YACL,MAAM;YACN,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;IACJ,CAAC;IAEkB,kBAAkB,CAAC,OAAe,EAAE,eAAwB;QAC7E,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,+CAA+C;QAC/C,IAAI,CAAC,wBAAwB,GAAG,OAAO,eAAe,KAAK,QAAQ,IAAI,eAAe,KAAK,IAAI;YAC7F,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,CAAC,CAAC,MAAM,IAAK,eAA2C,CAAC,CAAC;IAChE,CAAC;IAEkB,qBAAqB,CAAC,OAAe,EAAE,MAAkB;QAC1E,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,4DAA4D;QAC5D,IAAI,CAAC,2BAA2B,GAAG,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,CAAC;IACnF,CAAC;CACF;AAED,SAAS,cAAc,CAAC,SAAmC;IACzD,OAAO;QACL,YAAY,EAAE;YACZ,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBACtC,MAAM,EAAE,UAAU;gBAClB,QAAQ,EAAE,SAAS;gBACnB,MAAM,EAAE,QAAQ;gBAChB,YAAY,EAAE,CAAC;gBACf,WAAW,EAAE,CAAC;gBACd,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACf,CAAC;YACvB,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;YACxC,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAChE,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;gBACtC,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;aAC5C,CAAC;YACF,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAChD,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC7C,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAChD,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;SACb;QACnC,cAAc,EAAE;YACd,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBAClC,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,aAAa;gBAC1B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aAChB,CAAC;YACtB,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBACjC,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,SAAS;aACG,CAAC;YACtB,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE;YACpB,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;SACY;QAChC,YAAY,EAAE;YACZ,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;SACS;QACjC,aAAa,EAAE;YACb,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE;YACvB,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;SACpB;QAC/B,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF,QAAQ,CAAC,kDAAkD,EAAE,GAAG,EAAE;IAChE,IAAI,MAAsB,CAAC;IAC3B,IAAI,QAAwB,CAAC;IAE7B,UAAU,CAAC,GAAG,EAAE;QACd,QAAQ,GAAG,cAAc,EAAE,CAAC;QAC5B,MAAM,GAAG,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAChF,0DAA0D;QACzD,QAAQ,CAAC,cAAc,CAAC,WAAwC,CAAC,iBAAiB,CAAC;YAClF,OAAO,EAAE,eAAe;YACxB,WAAW,EAAE,aAAa;SAC3B,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAE5C,oFAAoF;QACpF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAEpD,+CAA+C;QAC/C,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QACzE,QAAQ,CAAC,cAAc,CAAC,WAAwC,CAAC,iBAAiB,CAAC;YAClF,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,aAAa;SAC3B,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAE5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,2DAA2D;QAC1D,QAAQ,CAAC,cAAc,CAAC,WAAwC,CAAC,iBAAiB,CAAC;YAClF,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;YAC3B,WAAW,EAAE,aAAa;SAC3B,CAAC,CAAC;QACH,MAAM,CAAC,qBAAqB,GAAG,KAAK,CAAC;QAErC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAE5C,yBAAyB;QACzB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAEpD,6EAA6E;QAC7E,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE1C,sEAAsE;QACtE,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oGAAoG,EAAE,KAAK,IAAI,EAAE;QAClH,MAAM,YAAY,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAC3E,QAAQ,CAAC,cAAc,CAAC,WAAwC,CAAC,iBAAiB,CAAC;YAClF,OAAO,EAAE,YAAY;YACrB,WAAW,EAAE,aAAa;SAC3B,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAE5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAE5C,wBAAwB;QACxB,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACvF,MAAM,YAAY,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAC3E,QAAQ,CAAC,cAAc,CAAC,WAAwC,CAAC,iBAAiB,CAAC;YAClF,OAAO,EAAE,YAAY;YACrB,WAAW,EAAE,aAAa;SAC3B,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAE7B,0DAA0D;QAC1D,iEAAiE;QACjE,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,YAAY,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAC3E,QAAQ,CAAC,cAAc,CAAC,WAAwC,CAAC,iBAAiB,CAAC;YAClF,OAAO,EAAE,YAAY;YACrB,WAAW,EAAE,aAAa;SAC3B,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAE7B,sEAAsE;QACtE,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7C,2CAA2C;QAC3C,MAAM,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACtE,QAAQ,CAAC,cAAc,CAAC,WAAwC,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAE/F,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAE5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;QAC1F,QAAQ,CAAC,cAAc,CAAC,WAAwC,CAAC,iBAAiB,CAAC;YAClF,WAAW,EAAE,aAAa;YAC1B,mBAAmB;SACpB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAE5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,YAAY,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAC3E,QAAQ,CAAC,cAAc,CAAC,WAAwC,CAAC,iBAAiB,CAAC;YAClF,OAAO,EAAE,YAAY;YACrB,WAAW,EAAE,aAAa;SAC3B,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAE5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QACjE,QAAQ,CAAC,cAAc,CAAC,WAAwC,CAAC,iBAAiB,CAAC;YAClF,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;YAC3B,WAAW,EAAE,aAAa;SAC3B,CAAC,CAAC;QACH,MAAM,CAAC,qBAAqB,GAAG,KAAK,CAAC;QAErC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAE5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,122 @@
1
+ /**
2
+ * BasePeerRunner — Abstract base class for all peer runners (PRI-302).
3
+ *
4
+ * Extracts the shared lease → buildContext → invoke → poll → fetch →
5
+ * validate → succeed/fail pipeline from 8 duplicated runner implementations.
6
+ *
7
+ * Subclasses implement:
8
+ * - permanentErrorCategories (abstract getter)
9
+ * - buildContext() — runner-specific context assembly
10
+ * - invokeRuntime() — runner-specific LLM invocation
11
+ * - validateOutput() — runner-specific output validation
12
+ * - succeedTask() — runner-specific artifact commit + task success
13
+ *
14
+ * Optional hooks:
15
+ * - emitSuccessTelemetry() — runner-specific success telemetry (default: no-op)
16
+ * - checkLineageIntegrity() — lineage strip contract check (default: no-op)
17
+ *
18
+ * @see docs/adr/0003-peer-agent-state-machine-orchestration.md
19
+ * @see Linear PRI-302
20
+ */
21
+ import type { RuntimeStateManager } from '../store/runtime-state-manager.js';
22
+ import type { PDRuntimeAdapter, RunHandle } from '../runtime-protocol.js';
23
+ import type { StoreEventEmitter } from '../store/event-emitter.js';
24
+ import type { PIArtifactStore } from '../internalization/pi-artifact.js';
25
+ import type { TaskRecord } from '../task-status.js';
26
+ import { type PDErrorCategory } from '../error-categories.js';
27
+ import { RunnerPhase } from './runner-phase.js';
28
+ import type { PeerRunnerOptions, ResolvedPeerRunnerOptions, PeerRunnerDeps, PeerRunnerConfig, PeerRunnerResult, PeerRunnerValidationResult, FailureContext } from './peer-runner-types.js';
29
+ /**
30
+ * Abstract base class for peer runners.
31
+ *
32
+ * TContext — the type returned by buildContext(). Must include contextHash.
33
+ * TOutput — the type of the validated LLM output.
34
+ */
35
+ export declare abstract class BasePeerRunner<TContext extends {
36
+ contextHash: string;
37
+ }, TOutput> {
38
+ protected readonly stateManager: RuntimeStateManager;
39
+ protected readonly runtimeAdapter: PDRuntimeAdapter;
40
+ protected readonly eventEmitter: StoreEventEmitter;
41
+ protected readonly artifactStore: PIArtifactStore;
42
+ protected readonly resolvedOptions: ResolvedPeerRunnerOptions;
43
+ protected readonly config: PeerRunnerConfig;
44
+ private phase;
45
+ constructor(deps: PeerRunnerDeps, options: PeerRunnerOptions, config: PeerRunnerConfig);
46
+ /** Current internal phase. For testing/observability only. */
47
+ get currentPhase(): RunnerPhase;
48
+ /** Permanent error categories — runner's inherent property. */
49
+ abstract get permanentErrorCategories(): ReadonlySet<PDErrorCategory>;
50
+ /** Build runner-specific context from task and predecessor outputs. */
51
+ abstract buildContext(taskId: string): Promise<TContext>;
52
+ /** Invoke the runtime with runner-specific prompt builder. */
53
+ abstract invokeRuntime(taskId: string, context: TContext): Promise<RunHandle>;
54
+ /** Validate the LLM output. Receives untrusted data — must perform runtime validation. */
55
+ abstract validateOutput(output: unknown, taskId: string, context: TContext): Promise<PeerRunnerValidationResult>;
56
+ /** Commit artifact + mark task succeeded. Runner-specific commit strategy. */
57
+ abstract succeedTask(taskId: string, runId: string, output: TOutput, task: TaskRecord, contextHash: string, context: TContext): Promise<PeerRunnerResult<TOutput>>;
58
+ /** Emit runner-specific success telemetry. Called after validation passes. */
59
+ protected emitSuccessTelemetry(_taskId: string, _output: TOutput, _context: TContext): void;
60
+ /**
61
+ * Check lineage strip contract. Called AFTER validation passes.
62
+ * Receives validated output — safe to treat as TOutput.
63
+ */
64
+ protected checkLineageIntegrity(_taskId: string, _output: TOutput): void;
65
+ /**
66
+ * Transform output after fetch, before validation.
67
+ * Used by runners that need to re-inject lineage fields stripped by the adapter.
68
+ * Receives untrusted data — must NOT assume TOutput shape.
69
+ */
70
+ protected postFetchTransform(_taskId: string, _untrustedOutput: unknown): void;
71
+ /**
72
+ * Execute the full peer runner lifecycle for a task.
73
+ *
74
+ * Pipeline: lease → resolveRunId → buildContext → invoke → poll →
75
+ * fetch → validate → succeedTask (abstract)
76
+ *
77
+ * Each invocation is independent — no mutable state between run() calls.
78
+ */
79
+ run(taskId: string): Promise<PeerRunnerResult<TOutput>>;
80
+ /**
81
+ * Emit a telemetry event with the runner's name prefix.
82
+ * Event type: `{runnerName}_{eventType}`
83
+ */
84
+ protected emitEvent(eventType: string, taskId: string, payload: Record<string, unknown>): void;
85
+ private pollUntilTerminal;
86
+ /**
87
+ * Fetch raw output from the runtime adapter.
88
+ *
89
+ * Returns `unknown` — the payload is untrusted LLM/runtime output.
90
+ * Callers MUST validate before treating as TOutput (ERR-001, ERR-005).
91
+ */
92
+ private fetchAndParseOutput;
93
+ /** Resolve artifact IDs from predecessor tasks for lineage tracking. */
94
+ protected resolveLineageArtifactIds(taskId: string): Promise<{
95
+ ids: string[];
96
+ hasRejected: boolean;
97
+ }>;
98
+ private resolveStoreRunId;
99
+ /** Compute a deterministic hash from context references (observability only). */
100
+ protected static hashContextRefs(refs: readonly string[]): string;
101
+ private handleLeaseOrPhaseError;
102
+ private handlePostLeaseError;
103
+ private handleRuntimeFailure;
104
+ protected handleValidationError(ctx: {
105
+ taskId: string;
106
+ task: TaskRecord;
107
+ errors: readonly string[];
108
+ errorCategory?: PDErrorCategory;
109
+ }): Promise<PeerRunnerResult<TOutput>>;
110
+ /**
111
+ * Core retry-or-fail decision.
112
+ *
113
+ * Uses try/catch around markTaskFailed/markTaskRetryWait for robustness.
114
+ * If state manager operations fail, returns storage_unavailable instead of
115
+ * propagating the exception (ERR-002: graceful degradation with reason).
116
+ */
117
+ protected retryOrFail(ctx: FailureContext): Promise<PeerRunnerResult<TOutput>>;
118
+ private classifyError;
119
+ private mapRunStatusToErrorCategory;
120
+ private sleep;
121
+ }
122
+ //# sourceMappingURL=base-peer-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-peer-runner.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/runner/base-peer-runner.ts"],"names":[],"mappings":"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"}