@dsh-enhanced/assistant-verifier 0.1.65 → 0.1.66
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/README.md +77 -8
- package/lib/creation-review-store.d.ts +80 -1
- package/lib/creation-review-store.d.ts.map +1 -1
- package/lib/creation-review-store.js +520 -11
- package/lib/creation-review-store.js.map +1 -1
- package/lib/creation-review.d.ts +182 -46
- package/lib/creation-review.d.ts.map +1 -1
- package/lib/creation-review.js +283 -32
- package/lib/creation-review.js.map +1 -1
- package/lib/drivers.d.ts +20 -5
- package/lib/drivers.d.ts.map +1 -1
- package/lib/drivers.js +50 -4
- package/lib/drivers.js.map +1 -1
- package/lib/index.d.ts +2 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/linux-behavior-assets.d.ts +17 -0
- package/lib/linux-behavior-assets.d.ts.map +1 -0
- package/lib/linux-behavior-assets.js +73 -0
- package/lib/linux-behavior-assets.js.map +1 -0
- package/lib/linux-behavior-runner.d.ts +10 -0
- package/lib/linux-behavior-runner.d.ts.map +1 -0
- package/lib/linux-behavior-runner.js +69 -0
- package/lib/linux-behavior-runner.js.map +1 -0
- package/lib/linux-behavior-runtime.d.ts +67 -0
- package/lib/linux-behavior-runtime.d.ts.map +1 -0
- package/lib/linux-behavior-runtime.js +500 -0
- package/lib/linux-behavior-runtime.js.map +1 -0
- package/lib/memory-review-native.d.ts +13 -1
- package/lib/memory-review-native.d.ts.map +1 -1
- package/lib/memory-review-native.js +11 -2
- package/lib/memory-review-native.js.map +1 -1
- package/lib/memory-review.d.ts +2 -0
- package/lib/memory-review.d.ts.map +1 -1
- package/lib/memory-review.js +110 -7
- package/lib/memory-review.js.map +1 -1
- package/lib/plugin-behavior-config.d.ts +10 -2
- package/lib/plugin-behavior-config.d.ts.map +1 -1
- package/lib/plugin-behavior-config.js +75 -6
- package/lib/plugin-behavior-config.js.map +1 -1
- package/lib/plugin-behavior-runner.d.ts +6 -4
- package/lib/plugin-behavior-runner.d.ts.map +1 -1
- package/lib/plugin-behavior-runner.js +41 -14
- package/lib/plugin-behavior-runner.js.map +1 -1
- package/lib/review-authority-lineage.d.ts +109 -0
- package/lib/review-authority-lineage.d.ts.map +1 -0
- package/lib/review-authority-lineage.js +135 -0
- package/lib/review-authority-lineage.js.map +1 -0
- package/lib/review-maintenance.d.ts +20 -0
- package/lib/review-maintenance.d.ts.map +1 -0
- package/lib/review-maintenance.js +19 -0
- package/lib/review-maintenance.js.map +1 -0
- package/lib/revision-regression-review.d.ts +4 -1
- package/lib/revision-regression-review.d.ts.map +1 -1
- package/lib/revision-regression-review.js +59 -7
- package/lib/revision-regression-review.js.map +1 -1
- package/lib/revision-review.d.ts +7 -0
- package/lib/revision-review.d.ts.map +1 -1
- package/lib/revision-review.js +48 -4
- package/lib/revision-review.js.map +1 -1
- package/lib/service.d.ts +2 -0
- package/lib/service.d.ts.map +1 -1
- package/lib/service.js +11 -2
- package/lib/service.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +27 -14
- package/runtime/plugin-observer-launcher.c +246 -0
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { createHash } from 'node:crypto';
|
|
2
2
|
import { IsolatedVerifierRunner, NativeMacVerifierRunner } from '@dsh-enhanced/assistant-isolation';
|
|
3
|
-
import { behaviorNativeRuntimeDigest, NATIVE_BEHAVIOR_BOUNDARY, validatePluginBehaviorRunnerConfig } from './plugin-behavior-config.js';
|
|
4
|
-
export { NATIVE_BEHAVIOR_BOUNDARY, validatePluginBehaviorRunnerConfig, validatePluginBehaviorDeploymentConfig } from './plugin-behavior-config.js';
|
|
3
|
+
import { behaviorNativeRuntimeDigest, NATIVE_BEHAVIOR_BOUNDARY, LINUX_BEHAVIOR_BOUNDARY, validatePluginBehaviorRunnerConfig } from './plugin-behavior-config.js';
|
|
4
|
+
export { NATIVE_BEHAVIOR_BOUNDARY, LINUX_BEHAVIOR_BOUNDARY, validatePluginBehaviorRunnerConfig, validatePluginBehaviorDeploymentConfig } from './plugin-behavior-config.js';
|
|
5
|
+
export { LINUX_BEHAVIOR_COMMAND, validateLinuxPluginBehaviorRuntime, verifyLinuxPluginBehaviorRuntime, linuxPluginBehaviorRuntimeDigest, prepareLinuxPluginBehaviorRuntime, readLinuxPluginBehaviorRuntime } from './linux-behavior-runtime.js';
|
|
6
|
+
import { linuxPluginBehaviorRuntimeDigest } from './linux-behavior-runtime.js';
|
|
7
|
+
import { LinuxBehaviorRunner } from './linux-behavior-runner.js';
|
|
5
8
|
import { nativeBehaviorFiles } from './native-behavior-artifact.js';
|
|
6
9
|
import { NATIVE_BEHAVIOR_SOURCE } from './native-behavior-worker.js';
|
|
7
10
|
const MAX_PACK_BYTES = 512 * 1024;
|
|
@@ -98,10 +101,20 @@ function validObservation(value, operation, sha256) {
|
|
|
98
101
|
return false;
|
|
99
102
|
return true;
|
|
100
103
|
}
|
|
104
|
+
function validLinuxFrame(value, operation, expected) {
|
|
105
|
+
const fields = ['schemaVersion', 'boundary', 'status', 'artifactSha256', 'quiescent', 'environment', 'schemaDigest',
|
|
106
|
+
operation.kind === 'discover' ? 'schemas' : 'calls'];
|
|
107
|
+
const environment = value.environment;
|
|
108
|
+
return Object.keys(value).length === fields.length && fields.every(key => Object.hasOwn(value, key))
|
|
109
|
+
&& Object.keys(environment).length === 4
|
|
110
|
+
&& Object.entries(expected).every(([key, version]) => environment[key] === version)
|
|
111
|
+
&& (operation.kind === 'discover' || value.calls.every(call => !Array.isArray(call) && Object.keys(call).length === 3));
|
|
112
|
+
}
|
|
101
113
|
/** Host-only behavior observation. The candidate and worker receive no oracle or promotion authority. */
|
|
102
114
|
export class PluginBehaviorRunner {
|
|
103
115
|
#runner;
|
|
104
116
|
#native;
|
|
117
|
+
#linux;
|
|
105
118
|
#runtimeDigest;
|
|
106
119
|
#authorityDigest;
|
|
107
120
|
#environment;
|
|
@@ -110,7 +123,14 @@ export class PluginBehaviorRunner {
|
|
|
110
123
|
const config = validatePluginBehaviorRunnerConfig(input);
|
|
111
124
|
this.#authorityDigest = config.authorityDigest;
|
|
112
125
|
this.#native = 'backend' in config && config.backend === 'macos-seatbelt';
|
|
113
|
-
|
|
126
|
+
this.#linux = 'backend' in config && config.backend === 'linux-native';
|
|
127
|
+
if ('backend' in config && config.backend === 'linux-native') {
|
|
128
|
+
const versions = config.runtime.runtime.versions;
|
|
129
|
+
this.#runtimeDigest = linuxPluginBehaviorRuntimeDigest(config.runtime);
|
|
130
|
+
this.#environment = { node: versions.node, cordis: versions.cordis, tools: versions.tools, systemPrompt: versions.systemPrompt };
|
|
131
|
+
this.#runner = new LinuxBehaviorRunner(config);
|
|
132
|
+
}
|
|
133
|
+
else if (this.#native) {
|
|
114
134
|
const native = config;
|
|
115
135
|
this.#runtimeDigest = behaviorNativeRuntimeDigest(native.runtime);
|
|
116
136
|
this.#environment = { node: native.runtime.versions.node, cordis: native.runtime.versions.cordis,
|
|
@@ -127,9 +147,13 @@ export class PluginBehaviorRunner {
|
|
|
127
147
|
const unknown = (reason, quiescent = false, jobId) => ({ status: 'unknown', quiescent, artifactSha256, reason, ...(jobId ? { jobId } : {}) });
|
|
128
148
|
if (!Buffer.isBuffer(input.artifact) || input.artifact.length < 1 || input.artifact.length > MAX_PACK_BYTES)
|
|
129
149
|
return unknown('plugin-artifact-out-of-bound', true);
|
|
150
|
+
let operation;
|
|
130
151
|
try {
|
|
131
|
-
|
|
152
|
+
const serialized = canonicalJson(input.operation);
|
|
153
|
+
const snapshot = serialized === undefined ? undefined : JSON.parse(serialized);
|
|
154
|
+
if (!validOperation(snapshot))
|
|
132
155
|
return unknown('plugin-operation-invalid', true);
|
|
156
|
+
operation = snapshot;
|
|
133
157
|
}
|
|
134
158
|
catch {
|
|
135
159
|
return unknown('plugin-operation-invalid', true);
|
|
@@ -146,11 +170,11 @@ export class PluginBehaviorRunner {
|
|
|
146
170
|
// Stable per frozen request: the durable runner must see identical bytes for a replay key.
|
|
147
171
|
// This is only frame correlation. Single-process candidate output is untrusted.
|
|
148
172
|
const nonce = this.#native ? createHash('sha256').update(JSON.stringify({ authorityDigest: this.#authorityDigest,
|
|
149
|
-
key: input.key, artifactSha256, operation
|
|
173
|
+
key: input.key, artifactSha256, operation })).digest('hex') : undefined;
|
|
150
174
|
const request = this.#native
|
|
151
175
|
? { schemaVersion: 1, nonce, artifactSha256, entry: staged.entry,
|
|
152
|
-
modulesPath: this.#modulesPath, operation
|
|
153
|
-
: { schemaVersion: 1, sha256: artifactSha256, sizeBytes: input.artifact.length, operation
|
|
176
|
+
modulesPath: this.#modulesPath, operation }
|
|
177
|
+
: { schemaVersion: 1, sha256: artifactSha256, sizeBytes: input.artifact.length, operation };
|
|
154
178
|
const stdin = canonicalJson(request);
|
|
155
179
|
if (stdin === undefined || Buffer.byteLength(stdin) > MAX_OPERATION_BYTES)
|
|
156
180
|
return unknown('plugin-operation-out-of-bound', true);
|
|
@@ -175,7 +199,7 @@ export class PluginBehaviorRunner {
|
|
|
175
199
|
return unknown('plugin-worker-output-invalid', true, isolated.jobId);
|
|
176
200
|
const frame = value;
|
|
177
201
|
const header = frame.wireVersion === 1 && frame.nonce === nonce && frame.artifactSha256 === artifactSha256
|
|
178
|
-
&& frame.operationDigest === createHash('sha256').update(JSON.stringify(
|
|
202
|
+
&& frame.operationDigest === createHash('sha256').update(JSON.stringify(operation)).digest('hex');
|
|
179
203
|
if (!header)
|
|
180
204
|
return unknown('plugin-worker-output-invalid', true, isolated.jobId);
|
|
181
205
|
if (frame.status === 'unknown' && typeof frame.reason === 'string' && frame.reason.length > 0
|
|
@@ -184,7 +208,7 @@ export class PluginBehaviorRunner {
|
|
|
184
208
|
if (frame.status !== 'result' || !SHA256.test(frame.schemaDigest)
|
|
185
209
|
|| Object.keys(frame).length !== 7)
|
|
186
210
|
return unknown('plugin-worker-observation-invalid', true, isolated.jobId);
|
|
187
|
-
if (
|
|
211
|
+
if (operation.kind === 'discover') {
|
|
188
212
|
if (!Array.isArray(frame.schemas) || frame.schemas.length < 1 || frame.schemas.length > 64
|
|
189
213
|
|| frame.calls !== undefined || createHash('sha256').update(JSON.stringify(frame.schemas)).digest('hex') !== frame.schemaDigest)
|
|
190
214
|
return unknown('plugin-worker-observation-invalid', true, isolated.jobId);
|
|
@@ -197,8 +221,8 @@ export class PluginBehaviorRunner {
|
|
|
197
221
|
}
|
|
198
222
|
}
|
|
199
223
|
else {
|
|
200
|
-
const calls =
|
|
201
|
-
if (frame.schemaDigest !==
|
|
224
|
+
const calls = operation.calls;
|
|
225
|
+
if (frame.schemaDigest !== operation.schemaDigest || !Array.isArray(frame.calls)
|
|
202
226
|
|| frame.calls.length !== calls.length || frame.schemas !== undefined
|
|
203
227
|
|| frame.calls.some((call, index) => !call || typeof call !== 'object'
|
|
204
228
|
|| call.id !== calls[index].id
|
|
@@ -209,7 +233,7 @@ export class PluginBehaviorRunner {
|
|
|
209
233
|
return { status: 'observed', quiescent: true, artifactSha256, jobId: isolated.jobId,
|
|
210
234
|
boundary: NATIVE_BEHAVIOR_BOUNDARY, runtimeDigest: this.#runtimeDigest, environment: this.#environment,
|
|
211
235
|
schemaDigest: frame.schemaDigest,
|
|
212
|
-
...(
|
|
236
|
+
...(operation.kind === 'discover' ? { schemas: frame.schemas }
|
|
213
237
|
: { calls: frame.calls }) };
|
|
214
238
|
}
|
|
215
239
|
if (value !== null && typeof value === 'object' && !Array.isArray(value)) {
|
|
@@ -219,12 +243,15 @@ export class PluginBehaviorRunner {
|
|
|
219
243
|
&& Object.keys(record).length === 4)
|
|
220
244
|
return unknown(record.reason, true, isolated.jobId);
|
|
221
245
|
}
|
|
222
|
-
if (!validObservation(value,
|
|
246
|
+
if (!validObservation(value, operation, artifactSha256))
|
|
223
247
|
return unknown('plugin-worker-observation-invalid', true, isolated.jobId);
|
|
224
248
|
const observation = value;
|
|
249
|
+
if (this.#linux && !validLinuxFrame(observation, operation, this.#environment))
|
|
250
|
+
return unknown('plugin-worker-observation-invalid', true, isolated.jobId);
|
|
225
251
|
return { status: 'observed', quiescent: true, artifactSha256, jobId: isolated.jobId,
|
|
252
|
+
...(this.#linux ? { boundary: LINUX_BEHAVIOR_BOUNDARY, runtimeDigest: this.#runtimeDigest } : {}),
|
|
226
253
|
environment: observation.environment, schemaDigest: observation.schemaDigest,
|
|
227
|
-
...(
|
|
254
|
+
...(operation.kind === 'discover' ? { schemas: observation.schemas } : { calls: observation.calls }) };
|
|
228
255
|
}
|
|
229
256
|
catch {
|
|
230
257
|
return unknown('plugin-worker-output-invalid', true, isolated.jobId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-behavior-runner.js","sourceRoot":"","sources":["../src/plugin-behavior-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin-behavior-runner.js","sourceRoot":"","sources":["../src/plugin-behavior-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { type CreationAcceptanceAuthorityRef, type RevisionAcceptanceAuthorityRef, type RevisionRegressionAcceptanceAuthorityRef } from '@dsh-enhanced/assistant-growth-contract';
|
|
2
|
+
export declare const lineageHash: (value: unknown) => string;
|
|
3
|
+
export declare function lineageFail(message: string): never;
|
|
4
|
+
export interface ReviewPublicIdentity {
|
|
5
|
+
authority: CreationAcceptanceAuthorityRef | RevisionAcceptanceAuthorityRef | RevisionRegressionAcceptanceAuthorityRef;
|
|
6
|
+
publicKey: string;
|
|
7
|
+
keyFingerprint: string;
|
|
8
|
+
owner: {
|
|
9
|
+
authorityId: string;
|
|
10
|
+
authorityHash: string;
|
|
11
|
+
principalId: string;
|
|
12
|
+
principalRecordId: string;
|
|
13
|
+
principalVersion: number;
|
|
14
|
+
workspace: string;
|
|
15
|
+
agentPreset: string;
|
|
16
|
+
};
|
|
17
|
+
maximum: number;
|
|
18
|
+
runner: {
|
|
19
|
+
logicalStateRoot: string;
|
|
20
|
+
maxRuns: number;
|
|
21
|
+
maxTotalDurationMs: number;
|
|
22
|
+
maxDurationMs: number;
|
|
23
|
+
maxOutputBytes: number;
|
|
24
|
+
expiresAt: number;
|
|
25
|
+
};
|
|
26
|
+
budget: {
|
|
27
|
+
maxDurationMs: number;
|
|
28
|
+
maxCases: number;
|
|
29
|
+
receiptTtlMs: number;
|
|
30
|
+
} | {
|
|
31
|
+
policy: string;
|
|
32
|
+
maxInputBytes: number;
|
|
33
|
+
maxOutputTokens: number;
|
|
34
|
+
maxDurationMs: number;
|
|
35
|
+
maxCases: number;
|
|
36
|
+
receiptTtlMs: number;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export interface ConfigurationEvidence {
|
|
40
|
+
configurationDigest: string;
|
|
41
|
+
sourceDigest: string;
|
|
42
|
+
verificationDigest: string;
|
|
43
|
+
}
|
|
44
|
+
export interface LineageScope {
|
|
45
|
+
transactionId: string;
|
|
46
|
+
installationId: string;
|
|
47
|
+
profileId: string;
|
|
48
|
+
lane: 'creation-reviews' | 'revision-reviews' | 'revision-regressions';
|
|
49
|
+
logicalDatabaseScope: string;
|
|
50
|
+
oldIdentity: ReviewPublicIdentity;
|
|
51
|
+
newIdentity: ReviewPublicIdentity;
|
|
52
|
+
configurationEvidence: {
|
|
53
|
+
old: ConfigurationEvidence;
|
|
54
|
+
current: ConfigurationEvidence;
|
|
55
|
+
};
|
|
56
|
+
previousHeadDigest: string | null;
|
|
57
|
+
}
|
|
58
|
+
export interface RowSeal {
|
|
59
|
+
planId: string;
|
|
60
|
+
rowDigest: string;
|
|
61
|
+
certificateDigest: string;
|
|
62
|
+
}
|
|
63
|
+
export interface FileIdentity {
|
|
64
|
+
dev: number;
|
|
65
|
+
ino: number;
|
|
66
|
+
}
|
|
67
|
+
export interface TrustedHistoryRequest {
|
|
68
|
+
headDigest: string;
|
|
69
|
+
currentIdentity: ReviewPublicIdentity;
|
|
70
|
+
currentFileIdentity: FileIdentity;
|
|
71
|
+
installationId: string;
|
|
72
|
+
profileId: string;
|
|
73
|
+
lane: LineageScope['lane'];
|
|
74
|
+
logicalDatabaseScope: string;
|
|
75
|
+
planId: string;
|
|
76
|
+
now: number;
|
|
77
|
+
}
|
|
78
|
+
export declare function validateIdentity(identity: ReviewPublicIdentity): void;
|
|
79
|
+
/** Structural view of a compiled review-lane config; kept here so creation-review.ts can project without a cycle. */
|
|
80
|
+
export interface CompiledReviewLane {
|
|
81
|
+
authority: ReviewPublicIdentity['authority'];
|
|
82
|
+
publicKey: string;
|
|
83
|
+
config: {
|
|
84
|
+
owner: ReviewPublicIdentity['owner'];
|
|
85
|
+
maxVerifications: number;
|
|
86
|
+
maxDurationMs: number;
|
|
87
|
+
maxCases: number;
|
|
88
|
+
receiptTtlMs: number;
|
|
89
|
+
policy?: string;
|
|
90
|
+
maxInputBytes?: number;
|
|
91
|
+
maxOutputTokens?: number;
|
|
92
|
+
runner: {
|
|
93
|
+
stateRoot: string;
|
|
94
|
+
maxRuns: number;
|
|
95
|
+
maxTotalDurationMs: number;
|
|
96
|
+
maxDurationMs: number;
|
|
97
|
+
maxOutputBytes: number;
|
|
98
|
+
expiresAt: number;
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
/** The public, backend-neutral identity a review lane's grant hands off between authorities. */
|
|
103
|
+
export declare function projectReviewPublicIdentity(lane: LineageScope['lane'], compiled: CompiledReviewLane): ReviewPublicIdentity;
|
|
104
|
+
export declare function stableIdentity(identity: ReviewPublicIdentity): unknown;
|
|
105
|
+
export declare function validateLane(identity: ReviewPublicIdentity, lane: LineageScope['lane']): void;
|
|
106
|
+
export declare function validateScope(scope: LineageScope): void;
|
|
107
|
+
export declare function validateRequest(request: TrustedHistoryRequest): void;
|
|
108
|
+
export declare function same(value: unknown, other: unknown): boolean;
|
|
109
|
+
//# sourceMappingURL=review-authority-lineage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-authority-lineage.d.ts","sourceRoot":"","sources":["../src/review-authority-lineage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAyJ,KAAK,8BAA8B,EAAE,KAAK,8BAA8B,EAAE,KAAK,wCAAwC,EAAE,MAAM,yCAAyC,CAAA;AAExU,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,KAAG,MAA+E,CAAA;AAE5H,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAkD;AASrG,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,8BAA8B,GAAG,8BAA8B,GAAG,wCAAwC,CAAA;IACrH,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAClG,gBAAgB,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAA;IACpE,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;IACnJ,MAAM,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAA;CAC9M;AACD,MAAM,WAAW,qBAAqB;IAAG,mBAAmB,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE;AACxH,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;IAChE,IAAI,EAAE,kBAAkB,GAAG,kBAAkB,GAAG,sBAAsB,CAAA;IACtE,oBAAoB,EAAE,MAAM,CAAA;IAC5B,WAAW,EAAE,oBAAoB,CAAC;IAAC,WAAW,EAAE,oBAAoB,CAAA;IACpE,qBAAqB,EAAE;QAAE,GAAG,EAAE,qBAAqB,CAAC;QAAC,OAAO,EAAE,qBAAqB,CAAA;KAAE,CAAA;IACrF,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;CAClC;AACD,MAAM,WAAW,OAAO;IAAG,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE;AACzF,MAAM,WAAW,YAAY;IAAG,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE;AAC1D,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,oBAAoB,CAAC;IAAC,mBAAmB,EAAE,YAAY,CAAA;IAC5F,cAAc,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAA;IACnG,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAC5B;AACD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CA6BrE;AACD,qHAAqH;AACrH,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,oBAAoB,CAAC,WAAW,CAAC,CAAA;IAC5C,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE;QAAE,KAAK,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;QACrI,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;QACjE,MAAM,EAAE;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,kBAAkB,EAAE,MAAM,CAAC;YAAC,aAAa,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CACjJ;AACD,gGAAgG;AAChG,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,kBAAkB,GAAG,oBAAoB,CAoB1H;AACD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAGtE;AACD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,IAAI,CAI7F;AACD,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAcvD;AACD,wBAAgB,eAAe,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAQpE;AACD,wBAAgB,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAqE"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { createHash, createPublicKey } from 'node:crypto';
|
|
2
|
+
import { isAbsolute, resolve } from 'node:path';
|
|
3
|
+
import { canonicalGrowthJson, validateCreationAcceptanceAuthorityRef, validateRevisionAcceptanceAuthorityRef, validateRevisionRegressionAcceptanceAuthorityRef } from '@dsh-enhanced/assistant-growth-contract';
|
|
4
|
+
export const lineageHash = (value) => createHash('sha256').update(canonicalGrowthJson(value)).digest('hex');
|
|
5
|
+
const SHA = /^[a-f0-9]{64}$/u, ID = /^[A-Za-z0-9][A-Za-z0-9._:/-]{0,199}$/u;
|
|
6
|
+
export function lineageFail(message) { throw new Error(`review lineage: ${message}`); }
|
|
7
|
+
function exact(value, keys) {
|
|
8
|
+
if (!value || typeof value !== 'object' || Object.getPrototypeOf(value) !== Object.prototype
|
|
9
|
+
|| Reflect.ownKeys(value).sort().join(',') !== keys.sort().join(',')
|
|
10
|
+
|| Object.values(Object.getOwnPropertyDescriptors(value)).some(d => !d.enumerable || !('value' in d)))
|
|
11
|
+
lineageFail('invalid structure');
|
|
12
|
+
}
|
|
13
|
+
function integer(value, min, max) {
|
|
14
|
+
if (!Number.isSafeInteger(value) || Number(value) < min || Number(value) > max)
|
|
15
|
+
lineageFail('invalid limit');
|
|
16
|
+
}
|
|
17
|
+
export function validateIdentity(identity) {
|
|
18
|
+
exact(identity, ['authority', 'publicKey', 'keyFingerprint', 'owner', 'maximum', 'budget', 'runner']);
|
|
19
|
+
if (identity.authority.protocol === 'assistant-growth/creation-acceptance-authority/v1')
|
|
20
|
+
validateCreationAcceptanceAuthorityRef(identity.authority);
|
|
21
|
+
else if (identity.authority.protocol === 'assistant-growth/revision-acceptance-authority/v1')
|
|
22
|
+
validateRevisionAcceptanceAuthorityRef(identity.authority);
|
|
23
|
+
else
|
|
24
|
+
validateRevisionRegressionAcceptanceAuthorityRef(identity.authority);
|
|
25
|
+
if (typeof identity.publicKey !== 'string' || identity.publicKey.length > 8192 || !identity.publicKey.startsWith('-----BEGIN PUBLIC KEY-----\n'))
|
|
26
|
+
lineageFail('public key required');
|
|
27
|
+
const key = createPublicKey(identity.publicKey);
|
|
28
|
+
if (key.asymmetricKeyType !== 'ed25519' || key.export({ format: 'pem', type: 'spki' }).toString() !== identity.publicKey
|
|
29
|
+
|| createHash('sha256').update(key.export({ format: 'der', type: 'spki' })).digest('hex') !== identity.keyFingerprint)
|
|
30
|
+
lineageFail('public key mismatch');
|
|
31
|
+
exact(identity.owner, ['authorityId', 'authorityHash', 'principalId', 'principalRecordId', 'principalVersion', 'workspace', 'agentPreset']);
|
|
32
|
+
for (const k of ['authorityId', 'principalId', 'principalRecordId', 'agentPreset'])
|
|
33
|
+
if (typeof identity.owner[k] !== 'string' || !ID.test(identity.owner[k]))
|
|
34
|
+
lineageFail('owner id');
|
|
35
|
+
if (typeof identity.owner.authorityHash !== 'string' || !SHA.test(identity.owner.authorityHash) || typeof identity.owner.workspace !== 'string' || !isAbsolute(identity.owner.workspace)
|
|
36
|
+
|| resolve(identity.owner.workspace) !== identity.owner.workspace || identity.owner.workspace.includes('\0'))
|
|
37
|
+
lineageFail('owner binding');
|
|
38
|
+
integer(identity.owner.principalVersion, 1, Number.MAX_SAFE_INTEGER);
|
|
39
|
+
integer(identity.maximum, 1, 1000);
|
|
40
|
+
const noModel = identity.authority.protocol === 'assistant-growth/revision-regression-acceptance-authority/v1';
|
|
41
|
+
exact(identity.budget, noModel ? ['maxDurationMs', 'maxCases', 'receiptTtlMs'] : ['policy', 'maxInputBytes', 'maxOutputTokens', 'maxDurationMs', 'maxCases', 'receiptTtlMs']);
|
|
42
|
+
const b = identity.budget;
|
|
43
|
+
if (!noModel) {
|
|
44
|
+
if (!('policy' in b) || typeof b.policy !== 'string' || !b.policy.trim() || b.policy.includes('\0') || !b.policy.isWellFormed() || Buffer.byteLength(b.policy) > 8192)
|
|
45
|
+
lineageFail('policy');
|
|
46
|
+
integer(b.maxInputBytes, 4096, 262144);
|
|
47
|
+
integer(b.maxOutputTokens, 2, 32768);
|
|
48
|
+
}
|
|
49
|
+
integer(b.maxDurationMs, 1000, 1800000);
|
|
50
|
+
integer(b.maxCases, 2, 8);
|
|
51
|
+
integer(b.receiptTtlMs, 1000, 86400000);
|
|
52
|
+
exact(identity.runner, ['logicalStateRoot', 'maxRuns', 'maxTotalDurationMs', 'maxDurationMs', 'maxOutputBytes', 'expiresAt']);
|
|
53
|
+
const r = identity.runner;
|
|
54
|
+
if (typeof r.logicalStateRoot !== 'string' || !isAbsolute(r.logicalStateRoot) || resolve(r.logicalStateRoot) !== r.logicalStateRoot || r.logicalStateRoot.includes('\0') || r.logicalStateRoot === '/')
|
|
55
|
+
lineageFail('runner logical root');
|
|
56
|
+
integer(r.maxRuns, 1, 10000);
|
|
57
|
+
integer(r.maxTotalDurationMs, 1, 86400000);
|
|
58
|
+
integer(r.maxDurationMs, 1, 300000);
|
|
59
|
+
integer(r.maxOutputBytes, 65536, 262144);
|
|
60
|
+
integer(r.expiresAt, 1, 8640000000000000);
|
|
61
|
+
if (r.maxDurationMs > r.maxTotalDurationMs || r.expiresAt < identity.authority.expiresAt
|
|
62
|
+
|| r.maxRuns < identity.maximum * (noModel ? 2 + 2 * b.maxCases : 1 + b.maxCases))
|
|
63
|
+
lineageFail('runner cannot cover review');
|
|
64
|
+
}
|
|
65
|
+
/** The public, backend-neutral identity a review lane's grant hands off between authorities. */
|
|
66
|
+
export function projectReviewPublicIdentity(lane, compiled) {
|
|
67
|
+
const c = compiled.config, runner = c.runner;
|
|
68
|
+
const key = createPublicKey(compiled.publicKey);
|
|
69
|
+
const identity = {
|
|
70
|
+
authority: { ...compiled.authority },
|
|
71
|
+
publicKey: compiled.publicKey,
|
|
72
|
+
keyFingerprint: createHash('sha256').update(key.export({ format: 'der', type: 'spki' })).digest('hex'),
|
|
73
|
+
owner: { ...c.owner },
|
|
74
|
+
maximum: c.maxVerifications,
|
|
75
|
+
// Only backend-neutral runner bounds; backend-specific fields stay inside authorityDigest.
|
|
76
|
+
runner: { logicalStateRoot: runner.stateRoot, maxRuns: runner.maxRuns, maxTotalDurationMs: runner.maxTotalDurationMs,
|
|
77
|
+
maxDurationMs: runner.maxDurationMs, maxOutputBytes: runner.maxOutputBytes, expiresAt: runner.expiresAt },
|
|
78
|
+
budget: lane === 'revision-regressions'
|
|
79
|
+
? { maxDurationMs: c.maxDurationMs, maxCases: c.maxCases, receiptTtlMs: c.receiptTtlMs }
|
|
80
|
+
: { policy: c.policy, maxInputBytes: c.maxInputBytes,
|
|
81
|
+
maxOutputTokens: c.maxOutputTokens, maxDurationMs: c.maxDurationMs,
|
|
82
|
+
maxCases: c.maxCases, receiptTtlMs: c.receiptTtlMs },
|
|
83
|
+
};
|
|
84
|
+
validateIdentity(identity);
|
|
85
|
+
validateLane(identity, lane);
|
|
86
|
+
return identity;
|
|
87
|
+
}
|
|
88
|
+
export function stableIdentity(identity) {
|
|
89
|
+
const { authorityDigest: _, ...authority } = identity.authority;
|
|
90
|
+
return { ...identity, authority };
|
|
91
|
+
}
|
|
92
|
+
export function validateLane(identity, lane) {
|
|
93
|
+
const protocol = lane === 'creation-reviews' ? 'assistant-growth/creation-acceptance-authority/v1'
|
|
94
|
+
: lane === 'revision-reviews' ? 'assistant-growth/revision-acceptance-authority/v1' : 'assistant-growth/revision-regression-acceptance-authority/v1';
|
|
95
|
+
if (identity.authority.protocol !== protocol)
|
|
96
|
+
lineageFail('authority lane mismatch');
|
|
97
|
+
}
|
|
98
|
+
export function validateScope(scope) {
|
|
99
|
+
exact(scope, ['transactionId', 'installationId', 'profileId', 'lane', 'logicalDatabaseScope', 'oldIdentity', 'newIdentity', 'configurationEvidence', 'previousHeadDigest']);
|
|
100
|
+
for (const value of [scope.transactionId, scope.installationId, scope.profileId, scope.logicalDatabaseScope])
|
|
101
|
+
if (typeof value !== 'string' || !ID.test(value))
|
|
102
|
+
lineageFail('scope');
|
|
103
|
+
if (!['creation-reviews', 'revision-reviews', 'revision-regressions'].includes(scope.lane)
|
|
104
|
+
|| scope.previousHeadDigest !== null && (typeof scope.previousHeadDigest !== 'string' || !SHA.test(scope.previousHeadDigest)))
|
|
105
|
+
lineageFail('scope');
|
|
106
|
+
validateIdentity(scope.oldIdentity);
|
|
107
|
+
validateIdentity(scope.newIdentity);
|
|
108
|
+
validateLane(scope.oldIdentity, scope.lane);
|
|
109
|
+
validateLane(scope.newIdentity, scope.lane);
|
|
110
|
+
if (canonicalGrowthJson(stableIdentity(scope.oldIdentity)) !== canonicalGrowthJson(stableIdentity(scope.newIdentity))
|
|
111
|
+
|| scope.oldIdentity.authority.authorityDigest === scope.newIdentity.authority.authorityDigest)
|
|
112
|
+
lineageFail('stable identity changed');
|
|
113
|
+
exact(scope.configurationEvidence, ['old', 'current']);
|
|
114
|
+
for (const evidence of [scope.configurationEvidence.old, scope.configurationEvidence.current]) {
|
|
115
|
+
exact(evidence, ['configurationDigest', 'sourceDigest', 'verificationDigest']);
|
|
116
|
+
if (Object.values(evidence).some(v => typeof v !== 'string' || !SHA.test(v)))
|
|
117
|
+
lineageFail('configuration evidence');
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
export function validateRequest(request) {
|
|
121
|
+
exact(request, ['headDigest', 'currentIdentity', 'currentFileIdentity', 'installationId', 'profileId', 'lane', 'logicalDatabaseScope', 'planId', 'now']);
|
|
122
|
+
if (typeof request.headDigest !== 'string' || !SHA.test(request.headDigest) || [request.installationId, request.profileId, request.logicalDatabaseScope, request.planId].some(v => typeof v !== 'string' || !ID.test(v))
|
|
123
|
+
|| !['creation-reviews', 'revision-reviews', 'revision-regressions'].includes(request.lane))
|
|
124
|
+
lineageFail('trusted head required');
|
|
125
|
+
validateIdentity(request.currentIdentity);
|
|
126
|
+
validateLane(request.currentIdentity, request.lane);
|
|
127
|
+
exact(request.currentFileIdentity, ['dev', 'ino']);
|
|
128
|
+
integer(request.currentFileIdentity.dev, 0, Number.MAX_SAFE_INTEGER);
|
|
129
|
+
integer(request.currentFileIdentity.ino, 1, Number.MAX_SAFE_INTEGER);
|
|
130
|
+
integer(request.now, 1, 8640000000000000);
|
|
131
|
+
if (request.currentIdentity.authority.expiresAt <= request.now)
|
|
132
|
+
lineageFail('current authority expired');
|
|
133
|
+
}
|
|
134
|
+
export function same(value, other) { return canonicalGrowthJson(value) === canonicalGrowthJson(other); }
|
|
135
|
+
//# sourceMappingURL=review-authority-lineage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-authority-lineage.js","sourceRoot":"","sources":["../src/review-authority-lineage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** Offline review-lane maintenance surface for installers (package subpath `./review-maintenance`).
|
|
2
|
+
* Kept apart from the plugin entry so creation-review → store → lineage imports stay acyclic and the
|
|
3
|
+
* service entry does not export store internals. */
|
|
4
|
+
import { type CreationReviewConfig } from './creation-review.js';
|
|
5
|
+
import { type RevisionReviewConfig } from './revision-review.js';
|
|
6
|
+
import { type RevisionRegressionReviewConfig } from './revision-regression-review.js';
|
|
7
|
+
import { type LineageScope, type ReviewPublicIdentity } from './review-authority-lineage.js';
|
|
8
|
+
export { CreationReviewStore } from './creation-review-store.js';
|
|
9
|
+
export type { ReviewLineagePlan, ReviewLineageProof } from './creation-review-store.js';
|
|
10
|
+
export { lineageHash } from './review-authority-lineage.js';
|
|
11
|
+
export type { ConfigurationEvidence, LineageScope, ReviewPublicIdentity } from './review-authority-lineage.js';
|
|
12
|
+
export type ReviewLaneConfig = CreationReviewConfig | RevisionReviewConfig | RevisionRegressionReviewConfig;
|
|
13
|
+
/** The public, backend-neutral identity a review lane's grant hands off between authorities.
|
|
14
|
+
* Compiling reads the lane's private signing key (to derive the public key), so `config.keyPath`
|
|
15
|
+
* must point at the key the caller intends to bind, e.g. inside a stopped staged Home. */
|
|
16
|
+
export declare function reviewPublicIdentity(lane: 'creation-reviews', config: CreationReviewConfig): ReviewPublicIdentity;
|
|
17
|
+
export declare function reviewPublicIdentity(lane: 'revision-reviews', config: RevisionReviewConfig): ReviewPublicIdentity;
|
|
18
|
+
export declare function reviewPublicIdentity(lane: 'revision-regressions', config: RevisionRegressionReviewConfig): ReviewPublicIdentity;
|
|
19
|
+
export declare function reviewPublicIdentity(lane: LineageScope['lane'], config: ReviewLaneConfig): ReviewPublicIdentity;
|
|
20
|
+
//# sourceMappingURL=review-maintenance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-maintenance.d.ts","sourceRoot":"","sources":["../src/review-maintenance.ts"],"names":[],"mappings":"AAAA;;oDAEoD;AACpD,OAAO,EAA+B,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC7F,OAAO,EAA+B,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC7F,OAAO,EAAyC,KAAK,8BAA8B,EAAE,MAAM,iCAAiC,CAAA;AAC5H,OAAO,EAA+B,KAAK,YAAY,EAAE,KAAK,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AAEzH,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,YAAY,EAAE,qBAAqB,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AAE9G,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,8BAA8B,CAAA;AAE3G;;0FAE0F;AAC1F,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,oBAAoB,GAAG,oBAAoB,CAAA;AAClH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,oBAAoB,GAAG,oBAAoB,CAAA;AAClH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,8BAA8B,GAAG,oBAAoB,CAAA;AAChI,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,gBAAgB,GAAG,oBAAoB,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/** Offline review-lane maintenance surface for installers (package subpath `./review-maintenance`).
|
|
2
|
+
* Kept apart from the plugin entry so creation-review → store → lineage imports stay acyclic and the
|
|
3
|
+
* service entry does not export store internals. */
|
|
4
|
+
import { compileCreationReviewConfig } from './creation-review.js';
|
|
5
|
+
import { compileRevisionReviewConfig } from './revision-review.js';
|
|
6
|
+
import { compileRevisionRegressionReviewConfig } from './revision-regression-review.js';
|
|
7
|
+
import { projectReviewPublicIdentity } from './review-authority-lineage.js';
|
|
8
|
+
export { CreationReviewStore } from './creation-review-store.js';
|
|
9
|
+
export { lineageHash } from './review-authority-lineage.js';
|
|
10
|
+
export function reviewPublicIdentity(lane, config) {
|
|
11
|
+
const compiled = lane === 'creation-reviews' ? compileCreationReviewConfig(config)
|
|
12
|
+
: lane === 'revision-reviews' ? compileRevisionReviewConfig(config)
|
|
13
|
+
: lane === 'revision-regressions' ? compileRevisionRegressionReviewConfig(config)
|
|
14
|
+
: undefined;
|
|
15
|
+
if (!compiled)
|
|
16
|
+
throw new Error('review public identity: unknown lane');
|
|
17
|
+
return projectReviewPublicIdentity(lane, compiled);
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=review-maintenance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-maintenance.js","sourceRoot":"","sources":["../src/review-maintenance.ts"],"names":[],"mappings":"AAAA;;oDAEoD;AACpD,OAAO,EAAE,2BAA2B,EAA6B,MAAM,sBAAsB,CAAA;AAC7F,OAAO,EAAE,2BAA2B,EAA6B,MAAM,sBAAsB,CAAA;AAC7F,OAAO,EAAE,qCAAqC,EAAuC,MAAM,iCAAiC,CAAA;AAC5H,OAAO,EAAE,2BAA2B,EAAgD,MAAM,+BAA+B,CAAA;AAEzH,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAY3D,MAAM,UAAU,oBAAoB,CAAC,IAA0B,EAAE,MAAwB;IACvF,MAAM,QAAQ,GAAG,IAAI,KAAK,kBAAkB,CAAC,CAAC,CAAC,2BAA2B,CAAC,MAA8B,CAAC;QACxG,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC,CAAC,2BAA2B,CAAC,MAA8B,CAAC;YACzF,CAAC,CAAC,IAAI,KAAK,sBAAsB,CAAC,CAAC,CAAC,qCAAqC,CAAC,MAAwC,CAAC;gBACjH,CAAC,CAAC,SAAS,CAAA;IACjB,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;IACtE,OAAO,2BAA2B,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;AACpD,CAAC"}
|
|
@@ -22,7 +22,10 @@ type RetainedCases = Readonly<{
|
|
|
22
22
|
cases: Record<string, unknown>;
|
|
23
23
|
}>;
|
|
24
24
|
type ReadParentCases = (certificate: PluginCreationVerificationCertificate) => RetainedCases | undefined;
|
|
25
|
-
/** Independent paired
|
|
25
|
+
/** Independent paired regression on the retained parent and the candidate.
|
|
26
|
+
* Docker keeps the v1 protocol; linux-native requires a creation v3 parent and
|
|
27
|
+
* a revision v2 candidate and signs the shared observer identity as v2. This
|
|
28
|
+
* runtime has no LLM service and cannot switch a tool. */
|
|
26
29
|
export declare class RevisionRegressionReviewRuntime {
|
|
27
30
|
#private;
|
|
28
31
|
private readonly ctx;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revision-regression-review.d.ts","sourceRoot":"","sources":["../src/revision-regression-review.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAKL,KAAK,qCAAqC,
|
|
1
|
+
{"version":3,"file":"revision-regression-review.d.ts","sourceRoot":"","sources":["../src/revision-regression-review.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAKL,KAAK,qCAAqC,EACG,KAAK,+BAA+B,EACjF,KAAK,8BAA8B,EACS,KAAK,wCAAwC,EAAE,MAAM,yCAAyC,CAAA;AAE5I,OAAO,EAC0C,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAUxG,MAAM,MAAM,8BAA8B,GAAG,IAAI,CAAC,oBAAoB,EAAE,QAAQ,GAAG,eAAe,GAAG,iBAAiB,CAAC,CAAA;AACvH,MAAM,WAAW,2CAA2C;IAC1D,SAAS,EAAE,wCAAwC,CAAA;IACnD,SAAS,EAAE,MAAM,CAAA;IACjB,sBAAsB,EAAE,MAAM,CAAA;IAC9B,SAAS,EAAE,OAAO,CAAA;CACnB;AAkBD,wBAAgB,sCAAsC,CAAC,KAAK,EAAE,8BAA8B,GAAG,8BAA8B,CAS5H;AAED,wBAAgB,qCAAqC,CAAC,KAAK,EAAE,8BAA8B,GAAG;IAC5F,MAAM,EAAE,8BAA8B,CAAC;IAAC,SAAS,EAAE,wCAAwC,CAAC;IAC5F,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,UAAU,CAAC,cAAc,aAAa,EAAE,gBAAgB,CAAC,CAAA;CACzF,CAYA;AAkBD,KAAK,aAAa,GAAG,QAAQ,CAAC;IAAE,WAAW,EAAE,qCAAqC,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IACrG,QAAQ,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CAAA;AACtD,KAAK,eAAe,GAAG,CAAC,WAAW,EAAE,qCAAqC,KAAK,aAAa,GAAG,SAAS,CAAA;AAgCxG;;;0DAG0D;AAC1D,qBAAa,+BAA+B;;IAS9B,OAAO,CAAC,QAAQ,CAAC,GAAG;IAC9B,OAAO,CAAC,QAAQ,CAAC,eAAe;gBADL,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,8BAA8B,EAAE,YAAY,EAAE,MAAM,EACnF,eAAe,EAAE,eAAe;IAenD,OAAO,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,8BAA8B,CAAC,OAAO,CAAC,CAAA;KAAE,GAAG,2CAA2C,GAAG,SAAS;IAQ3H,GAAG,CAAC,OAAO,EAAE,+BAA+B,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,8BAA8B,CAAC;IA4N9G,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAUvB"}
|