@principles/core 1.85.0 → 1.87.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 (29) hide show
  1. package/dist/runtime-v2/__tests__/artificer-runner-vslice.test.js +52 -0
  2. package/dist/runtime-v2/__tests__/artificer-runner-vslice.test.js.map +1 -1
  3. package/dist/runtime-v2/__tests__/evaluator-runner-vslice.test.js +245 -1
  4. package/dist/runtime-v2/__tests__/evaluator-runner-vslice.test.js.map +1 -1
  5. package/dist/runtime-v2/__tests__/telemetry-event.test.d.ts +2 -0
  6. package/dist/runtime-v2/__tests__/telemetry-event.test.d.ts.map +1 -0
  7. package/dist/runtime-v2/__tests__/telemetry-event.test.js +69 -0
  8. package/dist/runtime-v2/__tests__/telemetry-event.test.js.map +1 -0
  9. package/dist/runtime-v2/internalization/artificer-output.d.ts +3 -2
  10. package/dist/runtime-v2/internalization/artificer-output.d.ts.map +1 -1
  11. package/dist/runtime-v2/internalization/artificer-output.js +40 -31
  12. package/dist/runtime-v2/internalization/artificer-output.js.map +1 -1
  13. package/dist/runtime-v2/internalization/artificer-runner.d.ts +59 -38
  14. package/dist/runtime-v2/internalization/artificer-runner.d.ts.map +1 -1
  15. package/dist/runtime-v2/internalization/artificer-runner.js +121 -395
  16. package/dist/runtime-v2/internalization/artificer-runner.js.map +1 -1
  17. package/dist/runtime-v2/internalization/evaluator-output.d.ts +2 -2
  18. package/dist/runtime-v2/internalization/evaluator-output.d.ts.map +1 -1
  19. package/dist/runtime-v2/internalization/evaluator-output.js +29 -23
  20. package/dist/runtime-v2/internalization/evaluator-output.js.map +1 -1
  21. package/dist/runtime-v2/internalization/evaluator-runner.d.ts +74 -48
  22. package/dist/runtime-v2/internalization/evaluator-runner.d.ts.map +1 -1
  23. package/dist/runtime-v2/internalization/evaluator-runner.js +164 -444
  24. package/dist/runtime-v2/internalization/evaluator-runner.js.map +1 -1
  25. package/dist/telemetry-event.d.ts +2 -2
  26. package/dist/telemetry-event.d.ts.map +1 -1
  27. package/dist/telemetry-event.js +66 -0
  28. package/dist/telemetry-event.js.map +1 -1
  29. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"evaluator-runner-vslice.test.js","sourceRoot":"","sources":["../../../src/runtime-v2/__tests__/evaluator-runner-vslice.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluator-runner-vslice.test.js","sourceRoot":"","sources":["../../../src/runtime-v2/__tests__/evaluator-runner-vslice.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=telemetry-event.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry-event.test.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/__tests__/telemetry-event.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,69 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { validateTelemetryEvent } from '../../telemetry-event.js';
3
+ describe('TelemetryEvent schema — runner event registration', () => {
4
+ it('accepts artificer_implementation_plan_generated event', () => {
5
+ const event = {
6
+ eventType: 'artificer_implementation_plan_generated',
7
+ traceId: 'trace-001',
8
+ timestamp: new Date().toISOString(),
9
+ sessionId: 'session-001',
10
+ payload: { implementationSummary: 'test', targetSurface: 'core', confidence: 0.9 },
11
+ };
12
+ const result = validateTelemetryEvent(event);
13
+ expect(result.valid).toBe(true);
14
+ expect(result.errors).toEqual([]);
15
+ expect(result.event?.eventType).toBe('artificer_implementation_plan_generated');
16
+ });
17
+ it('accepts evaluator_output_validated event', () => {
18
+ const event = {
19
+ eventType: 'evaluator_output_validated',
20
+ traceId: 'trace-002',
21
+ timestamp: new Date().toISOString(),
22
+ sessionId: 'session-002',
23
+ payload: { validated: true },
24
+ };
25
+ const result = validateTelemetryEvent(event);
26
+ expect(result.valid).toBe(true);
27
+ expect(result.errors).toEqual([]);
28
+ expect(result.event?.eventType).toBe('evaluator_output_validated');
29
+ });
30
+ it('accepts scribe_principle_draft_generated event', () => {
31
+ const event = {
32
+ eventType: 'scribe_principle_draft_generated',
33
+ traceId: 'trace-003',
34
+ timestamp: new Date().toISOString(),
35
+ sessionId: 'session-003',
36
+ payload: { draftTitle: 'Avoid X', draftContent: 'Do not do X' },
37
+ };
38
+ const result = validateTelemetryEvent(event);
39
+ expect(result.valid).toBe(true);
40
+ expect(result.errors).toEqual([]);
41
+ expect(result.event?.eventType).toBe('scribe_principle_draft_generated');
42
+ });
43
+ it('accepts evaluator_decision_recorded event', () => {
44
+ const event = {
45
+ eventType: 'evaluator_decision_recorded',
46
+ traceId: 'trace-005',
47
+ timestamp: new Date().toISOString(),
48
+ sessionId: 'session-005',
49
+ payload: { decision: 'approved', score: 0.9 },
50
+ };
51
+ const result = validateTelemetryEvent(event);
52
+ expect(result.valid).toBe(true);
53
+ expect(result.errors).toEqual([]);
54
+ expect(result.event?.eventType).toBe('evaluator_decision_recorded');
55
+ });
56
+ it('rejects unknown event type artificer_nonexistent_event', () => {
57
+ const event = {
58
+ eventType: 'artificer_nonexistent_event',
59
+ traceId: 'trace-004',
60
+ timestamp: new Date().toISOString(),
61
+ sessionId: 'session-004',
62
+ payload: {},
63
+ };
64
+ const result = validateTelemetryEvent(event);
65
+ expect(result.valid).toBe(false);
66
+ expect(result.errors.length).toBeGreaterThan(0);
67
+ });
68
+ });
69
+ //# sourceMappingURL=telemetry-event.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry-event.test.js","sourceRoot":"","sources":["../../../src/runtime-v2/__tests__/telemetry-event.test.ts"],"names":[],"mappings":"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"}
@@ -59,9 +59,10 @@ export interface ArtificerValidationResult {
59
59
  readonly errorCategory?: string;
60
60
  }
61
61
  export interface ArtificerValidator {
62
- validate(output: ArtificerOutputV1, taskId: string, expectedSourceScribeArtifactId?: string): Promise<ArtificerValidationResult>;
62
+ /** Validate untrusted output. Accepts `unknown` must perform runtime checks (ERR-001). */
63
+ validate(output: unknown, taskId: string, expectedSourceScribeArtifactId?: string): Promise<ArtificerValidationResult>;
63
64
  }
64
65
  export declare class DefaultArtificerValidator implements ArtificerValidator {
65
- validate(output: ArtificerOutputV1, taskId: string, expectedSourceScribeArtifactId?: string): Promise<ArtificerValidationResult>;
66
+ validate(output: unknown, taskId: string, expectedSourceScribeArtifactId?: string): Promise<ArtificerValidationResult>;
66
67
  }
67
68
  //# sourceMappingURL=artificer-output.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"artificer-output.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artificer-output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,kBAAkB,EAAE,2BAA2B,CAAC;IACzD,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,iCAAiC;;;;;;;EAO5C,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;EAIrC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;EAOlC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAEzE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,8BAA8B,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;CAClI;AAED,qBAAa,yBAA0B,YAAW,kBAAkB;IAE5D,QAAQ,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,8BAA8B,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC;CAuEvI"}
1
+ {"version":3,"file":"artificer-output.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artificer-output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,kBAAkB,EAAE,2BAA2B,CAAC;IACzD,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,iCAAiC;;;;;;;EAO5C,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;EAIrC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;EAOlC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAEzE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,kBAAkB;IACjC,4FAA4F;IAC5F,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,8BAA8B,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;CACxH;AAMD,qBAAa,yBAA0B,YAAW,kBAAkB;IAE5D,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,8BAA8B,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC;CA8E7H"}
@@ -20,79 +20,88 @@ export const ArtificerOutputV1Schema = Type.Object({
20
20
  risks: Type.Array(Type.String()),
21
21
  generatedAt: Type.String({ minLength: 1 }),
22
22
  });
23
+ function isRecord(v) {
24
+ return v !== null && typeof v === 'object' && !Array.isArray(v);
25
+ }
23
26
  export class DefaultArtificerValidator {
24
27
  // eslint-disable-next-line @typescript-eslint/class-methods-use-this
25
28
  async validate(output, taskId, expectedSourceScribeArtifactId) {
26
29
  const errors = [];
27
- if (typeof output !== 'object' || output === null) {
30
+ if (!isRecord(output)) {
28
31
  return { valid: false, errors: ['Output is not an object'], errorCategory: 'output_invalid' };
29
32
  }
30
- if (output.taskId !== taskId) {
31
- errors.push(`taskId mismatch: expected ${taskId}, got ${String(output.taskId)}`);
33
+ const rec = output;
34
+ if (!Object.hasOwn(rec, 'taskId') || rec.taskId !== taskId) {
35
+ errors.push(`taskId mismatch: expected ${taskId}, got ${String(rec.taskId)}`);
32
36
  }
33
- if (typeof output.sourceScribeArtifactId !== 'string' || output.sourceScribeArtifactId.trim() === '') {
37
+ if (!Object.hasOwn(rec, 'sourceScribeArtifactId') || typeof rec.sourceScribeArtifactId !== 'string' || rec.sourceScribeArtifactId.trim() === '') {
34
38
  errors.push('sourceScribeArtifactId must be non-empty string');
35
39
  }
36
- else if (expectedSourceScribeArtifactId && output.sourceScribeArtifactId !== expectedSourceScribeArtifactId) {
37
- errors.push(`sourceScribeArtifactId mismatch: expected ${expectedSourceScribeArtifactId}, got ${output.sourceScribeArtifactId}`);
40
+ else if (expectedSourceScribeArtifactId && rec.sourceScribeArtifactId !== expectedSourceScribeArtifactId) {
41
+ errors.push(`sourceScribeArtifactId mismatch: expected ${expectedSourceScribeArtifactId}, got ${rec.sourceScribeArtifactId}`);
38
42
  }
39
- if (typeof output.implementationPlan !== 'object' || output.implementationPlan === null) {
43
+ if (!Object.hasOwn(rec, 'implementationPlan') || !isRecord(rec.implementationPlan)) {
40
44
  errors.push('implementationPlan must be an object');
41
45
  }
42
46
  else {
43
- const ip = output.implementationPlan;
44
- if (typeof ip.summary !== 'string' || (ip.summary).trim() === '')
47
+ const ip = rec.implementationPlan;
48
+ if (!Object.hasOwn(ip, 'summary') || typeof ip.summary !== 'string' || ip.summary.trim() === '')
45
49
  errors.push('implementationPlan.summary must be non-empty string');
46
- if (typeof ip.targetSurface !== 'string' || (ip.targetSurface).trim() === '')
50
+ if (!Object.hasOwn(ip, 'targetSurface') || typeof ip.targetSurface !== 'string' || ip.targetSurface.trim() === '')
47
51
  errors.push('implementationPlan.targetSurface must be non-empty string');
48
- if (!Array.isArray(ip.changes))
52
+ if (!Object.hasOwn(ip, 'changes') || !Array.isArray(ip.changes))
49
53
  errors.push('implementationPlan.changes must be an array');
50
- else if (!ip.changes.every(e => typeof e === 'string'))
54
+ else if (!ip.changes.every((e) => typeof e === 'string'))
51
55
  errors.push('implementationPlan.changes must be an array of strings');
52
- if (!Array.isArray(ip.tests))
56
+ if (!Object.hasOwn(ip, 'tests') || !Array.isArray(ip.tests))
53
57
  errors.push('implementationPlan.tests must be an array');
54
- else if (!ip.tests.every(e => typeof e === 'string'))
58
+ else if (!ip.tests.every((e) => typeof e === 'string'))
55
59
  errors.push('implementationPlan.tests must be an array of strings');
56
- if (!Array.isArray(ip.rolloutNotes))
60
+ if (!Object.hasOwn(ip, 'rolloutNotes') || !Array.isArray(ip.rolloutNotes))
57
61
  errors.push('implementationPlan.rolloutNotes must be an array');
58
- else if (!ip.rolloutNotes.every(e => typeof e === 'string'))
62
+ else if (!ip.rolloutNotes.every((e) => typeof e === 'string'))
59
63
  errors.push('implementationPlan.rolloutNotes must be an array of strings');
60
- if (typeof ip.confidence !== 'number' || !Number.isFinite(ip.confidence))
64
+ if (!Object.hasOwn(ip, 'confidence') || typeof ip.confidence !== 'number' || !Number.isFinite(ip.confidence))
61
65
  errors.push('implementationPlan.confidence must be number');
62
66
  else if (ip.confidence < 0 || ip.confidence > 1)
63
67
  errors.push('implementationPlan.confidence must be in [0, 1]');
64
68
  }
65
- if (typeof output.sourceTrace !== 'object' || output.sourceTrace === null) {
69
+ if (!Object.hasOwn(rec, 'sourceTrace') || !isRecord(rec.sourceTrace)) {
66
70
  errors.push('sourceTrace must be an object');
67
71
  }
68
72
  else {
69
- const st = output.sourceTrace;
70
- if (typeof st.scribeArtifactId !== 'string' || (st.scribeArtifactId).trim() === '') {
73
+ const st = rec.sourceTrace;
74
+ if (!Object.hasOwn(st, 'scribeArtifactId') || typeof st.scribeArtifactId !== 'string' || st.scribeArtifactId.trim() === '') {
71
75
  errors.push('sourceTrace.scribeArtifactId must be non-empty string');
72
76
  }
73
77
  else if (expectedSourceScribeArtifactId && st.scribeArtifactId !== expectedSourceScribeArtifactId) {
74
78
  errors.push(`sourceTrace.scribeArtifactId mismatch: expected ${expectedSourceScribeArtifactId}, got ${st.scribeArtifactId}`);
75
79
  }
76
- if (st.philosopherArtifactId !== undefined && typeof st.philosopherArtifactId !== 'string') {
77
- errors.push('sourceTrace.philosopherArtifactId must be string if present');
80
+ if (Object.hasOwn(st, 'philosopherArtifactId') && st.philosopherArtifactId !== undefined) {
81
+ if (typeof st.philosopherArtifactId !== 'string' || st.philosopherArtifactId.trim() === '') {
82
+ errors.push('sourceTrace.philosopherArtifactId must be non-empty string if present');
83
+ }
78
84
  }
79
- if (st.dreamerArtifactId !== undefined && typeof st.dreamerArtifactId !== 'string') {
80
- errors.push('sourceTrace.dreamerArtifactId must be string if present');
85
+ if (Object.hasOwn(st, 'dreamerArtifactId') && st.dreamerArtifactId !== undefined) {
86
+ if (typeof st.dreamerArtifactId !== 'string' || st.dreamerArtifactId.trim() === '') {
87
+ errors.push('sourceTrace.dreamerArtifactId must be non-empty string if present');
88
+ }
81
89
  }
82
90
  }
83
- if (!Array.isArray(output.risks)) {
91
+ if (!Object.hasOwn(rec, 'risks') || !Array.isArray(rec.risks)) {
84
92
  errors.push('risks must be an array');
85
93
  }
86
- else if (!output.risks.every(e => typeof e === 'string')) {
94
+ else if (!rec.risks.every((e) => typeof e === 'string')) {
87
95
  errors.push('risks must be an array of strings');
88
96
  }
89
- if (typeof output.sourceScribeArtifactId === 'string' && output.sourceScribeArtifactId.trim() !== ''
90
- && typeof output.sourceTrace === 'object' && output.sourceTrace !== null
91
- && typeof output.sourceTrace.scribeArtifactId === 'string'
92
- && output.sourceScribeArtifactId !== output.sourceTrace.scribeArtifactId) {
97
+ if (typeof rec.sourceScribeArtifactId === 'string' && rec.sourceScribeArtifactId.trim() !== ''
98
+ && isRecord(rec.sourceTrace)
99
+ && Object.hasOwn(rec.sourceTrace, 'scribeArtifactId')
100
+ && typeof rec.sourceTrace.scribeArtifactId === 'string'
101
+ && rec.sourceScribeArtifactId !== rec.sourceTrace.scribeArtifactId) {
93
102
  errors.push('sourceScribeArtifactId and sourceTrace.scribeArtifactId must match');
94
103
  }
95
- if (typeof output.generatedAt !== 'string' || output.generatedAt.trim() === '') {
104
+ if (!Object.hasOwn(rec, 'generatedAt') || typeof rec.generatedAt !== 'string' || rec.generatedAt.trim() === '') {
96
105
  errors.push('generatedAt must be non-empty string');
97
106
  }
98
107
  return errors.length > 0
@@ -1 +1 @@
1
- {"version":3,"file":"artificer-output.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artificer-output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artificer-output.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artificer-output.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,49 @@
1
- import type { RuntimeStateManager } from '../store/runtime-state-manager.js';
2
- import type { PDRuntimeAdapter } from '../runtime-protocol.js';
3
- import type { StoreEventEmitter } from '../store/event-emitter.js';
1
+ /**
2
+ * ArtificerRunner Implementation plan generator for the Internalization Engine (PRI-111).
3
+ *
4
+ * Migrated to extend BasePeerRunner (PRI-302). The shared lease → buildContext →
5
+ * invoke → poll → fetch → validate → succeed/fail pipeline is now in the base
6
+ * class. This file only contains Artificer-specific logic.
7
+ *
8
+ * Key constraints (ADR-0003):
9
+ * - Uses PDRuntimeAdapter for all LLM execution (no direct SDK calls)
10
+ * - Does NOT directly invoke Evaluator/RolloutReviewer (host layer enqueues)
11
+ * - No plugin-layer imports (core is infrastructure-agnostic)
12
+ * - Uses RuntimeStateManager for all state operations
13
+ *
14
+ * Trust boundary (Artificer is activation-capable, higher risk than upstream runners):
15
+ * - LLM output enters as `unknown`; only after validateOutput + lineage check
16
+ * can it be treated as ArtificerOutputV1
17
+ * - sourceScribeArtifactId lineage consistency enforced in succeedTask (ERR-004)
18
+ * - Invalid activation/action/channel cannot succeed commit
19
+ * - Artifact write failure → retryOrFail, never silent
20
+ *
21
+ * Pipeline:
22
+ * 1. acquireLease — isolated try/catch, lease_conflict is non-mutating
23
+ * 2. resolve Scribe dependency from dependencyTaskIds
24
+ * 3. fetch Scribe artifact via PIArtifactStore
25
+ * 4. startRun with outputSchemaRef: 'artificer-output-v1'
26
+ * 5. pollUntilTerminal (inherited)
27
+ * 6. fetchOutput → validate as unknown → cast to ArtificerOutputV1
28
+ * 7. checkLineageIntegrity (sourceScribeArtifactId consistency, ERR-008)
29
+ * 8. updateRunOutput → persist serialized output
30
+ * 9. write PIArtifact → markTaskSucceeded with artificer:// resultRef
31
+ *
32
+ * @see docs/adr/0003-peer-agent-state-machine-orchestration.md
33
+ * @see BasePeerRunner in runner/base-peer-runner.ts
34
+ */
35
+ import type { RunHandle } from '../runtime-protocol.js';
4
36
  import type { ArtificerOutputV1, ArtificerValidator } from './artificer-output.js';
5
- import type { PIArtifactStore } from './pi-artifact.js';
37
+ import type { TaskRecord } from '../task-status.js';
6
38
  import { type PDErrorCategory } from '../error-categories.js';
7
- import { RunnerPhase } from '../runner/runner-phase.js';
39
+ import { BasePeerRunner } from '../runner/base-peer-runner.js';
40
+ import type { PeerRunnerOptions, PeerRunnerDeps, PeerRunnerResult, PeerRunnerValidationResult } from '../runner/peer-runner-types.js';
41
+ /** Context built by ArtificerRunner.buildContext() and consumed by invokeRuntime(). */
42
+ interface ArtificerContext {
43
+ readonly contextHash: string;
44
+ readonly scribeArtifact: string | null;
45
+ readonly sourceScribeArtifactId: string | null;
46
+ }
8
47
  export type ArtificerRunnerResultStatus = 'succeeded' | 'failed' | 'retried';
9
48
  export interface ArtificerRunnerResult {
10
49
  readonly status: ArtificerRunnerResultStatus;
@@ -36,42 +75,24 @@ export interface ResolvedArtificerRunnerOptions {
36
75
  }
37
76
  declare const DEFAULT_ARTIFICER_RUNNER_OPTIONS: Readonly<Omit<ResolvedArtificerRunnerOptions, 'owner' | 'runtimeKind'>>;
38
77
  export declare function resolveArtificerRunnerOptions(options: ArtificerRunnerOptions): ResolvedArtificerRunnerOptions;
39
- export interface ArtificerRunnerDeps {
40
- readonly stateManager: RuntimeStateManager;
41
- readonly runtimeAdapter: PDRuntimeAdapter;
42
- readonly eventEmitter: StoreEventEmitter;
78
+ export interface ArtificerRunnerDeps extends PeerRunnerDeps {
43
79
  readonly validator: ArtificerValidator;
44
- readonly artifactStore: PIArtifactStore;
45
80
  }
46
- export declare class ArtificerRunner {
47
- private phase;
48
- private readonly resolvedOptions;
49
- private readonly stateManager;
50
- private readonly runtimeAdapter;
51
- private readonly eventEmitter;
81
+ export declare class ArtificerRunner extends BasePeerRunner<ArtificerContext, ArtificerOutputV1> {
52
82
  private readonly validator;
53
- private readonly artifactStore;
54
- constructor(deps: ArtificerRunnerDeps, options: ArtificerRunnerOptions);
55
- get currentPhase(): RunnerPhase;
56
- private emitArtificerEvent;
57
- run(taskId: string): Promise<ArtificerRunnerResult>;
58
- private buildContext;
59
- private static hashContextRefs;
60
- private resolveStoreRunId;
61
- private invokeRuntime;
62
- private pollUntilTerminal;
63
- private fetchAndParseOutput;
64
- private succeedTask;
65
- private handleRuntimeFailure;
66
- private handleValidationError;
67
- private handleLeaseOrPhaseError;
68
- private handlePostLeaseError;
69
- private retryOrFail;
70
- private readonly PERMANENT_ERROR_CATEGORIES;
71
- private isPermanentError;
72
- private classifyError;
73
- private mapRunStatusToErrorCategory;
74
- private sleep;
83
+ constructor(deps: ArtificerRunnerDeps, options: PeerRunnerOptions);
84
+ get permanentErrorCategories(): ReadonlySet<PDErrorCategory>;
85
+ buildContext(taskId: string): Promise<ArtificerContext>;
86
+ invokeRuntime(taskId: string, context: ArtificerContext): Promise<RunHandle>;
87
+ validateOutput(output: unknown, taskId: string, context: ArtificerContext): Promise<PeerRunnerValidationResult>;
88
+ succeedTask(taskId: string, runId: string, output: ArtificerOutputV1, task: TaskRecord, contextHash: string, context: ArtificerContext): Promise<PeerRunnerResult<ArtificerOutputV1>>;
89
+ /**
90
+ * Re-inject taskId if stripped by stripLineageFields (PRI-272 / ERR-008).
91
+ * Only fill when absent via Object.hasOwn — present-but-falsy values
92
+ * must reach validation and fail loud (Runtime Contract Rule 3).
93
+ */
94
+ protected postFetchTransform(taskId: string, untrustedOutput: unknown): void;
95
+ protected emitSuccessTelemetry(taskId: string, output: ArtificerOutputV1): void;
75
96
  }
76
97
  export { DEFAULT_ARTIFICER_RUNNER_OPTIONS };
77
98
  //# sourceMappingURL=artificer-runner.d.ts.map