@principles/core 1.84.0 → 1.86.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.
- package/dist/runtime-v2/__tests__/artificer-runner-vslice.test.js +52 -0
- package/dist/runtime-v2/__tests__/artificer-runner-vslice.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/telemetry-event.test.d.ts +2 -0
- package/dist/runtime-v2/__tests__/telemetry-event.test.d.ts.map +1 -0
- package/dist/runtime-v2/__tests__/telemetry-event.test.js +56 -0
- package/dist/runtime-v2/__tests__/telemetry-event.test.js.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/philosopher-runner-trust-boundary.test.d.ts +2 -0
- package/dist/runtime-v2/internalization/__tests__/philosopher-runner-trust-boundary.test.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/philosopher-runner-trust-boundary.test.js +398 -0
- package/dist/runtime-v2/internalization/__tests__/philosopher-runner-trust-boundary.test.js.map +1 -0
- package/dist/runtime-v2/internalization/artificer-output.d.ts +3 -2
- package/dist/runtime-v2/internalization/artificer-output.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/artificer-output.js +40 -31
- package/dist/runtime-v2/internalization/artificer-output.js.map +1 -1
- package/dist/runtime-v2/internalization/artificer-runner.d.ts +59 -38
- package/dist/runtime-v2/internalization/artificer-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/artificer-runner.js +121 -395
- package/dist/runtime-v2/internalization/artificer-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/philosopher-output.d.ts +8 -2
- package/dist/runtime-v2/internalization/philosopher-output.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/philosopher-output.js +16 -11
- package/dist/runtime-v2/internalization/philosopher-output.js.map +1 -1
- package/dist/runtime-v2/internalization/philosopher-runner.d.ts +36 -55
- package/dist/runtime-v2/internalization/philosopher-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/philosopher-runner.js +117 -401
- package/dist/runtime-v2/internalization/philosopher-runner.js.map +1 -1
- package/dist/runtime-v2/runner/__tests__/base-peer-runner-trust-boundary.test.js +22 -0
- package/dist/runtime-v2/runner/__tests__/base-peer-runner-trust-boundary.test.js.map +1 -1
- package/dist/runtime-v2/runner/base-peer-runner.d.ts.map +1 -1
- package/dist/runtime-v2/runner/base-peer-runner.js +5 -1
- package/dist/runtime-v2/runner/base-peer-runner.js.map +1 -1
- package/dist/telemetry-event.d.ts +2 -2
- package/dist/telemetry-event.d.ts.map +1 -1
- package/dist/telemetry-event.js +88 -0
- package/dist/telemetry-event.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,10 +1,49 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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 {
|
|
37
|
+
import type { TaskRecord } from '../task-status.js';
|
|
6
38
|
import { type PDErrorCategory } from '../error-categories.js';
|
|
7
|
-
import {
|
|
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
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artificer-runner.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artificer-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"artificer-runner.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/artificer-runner.ts"],"names":[],"mappings":"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"}
|