@dsh-enhanced/assistant-verifier 0.1.32 → 0.1.34

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.
@@ -0,0 +1,255 @@
1
+ import { closeSync, constants, fstatSync, fsyncSync, linkSync, lstatSync, openSync, readFileSync, realpathSync, unlinkSync, writeFileSync } from 'node:fs';
2
+ import { isAbsolute, join, resolve } from 'node:path';
3
+ import { randomUUID } from 'node:crypto';
4
+ import { acceptanceCanonicalJson, acceptanceDigest } from '@dsh-enhanced/task-acceptance-contract';
5
+ import { assertSourceReviewHead, inspectSourceReviewGit } from './source-review-git.js';
6
+ import { SourceReviewStore } from './source-review-store.js';
7
+ const ownerKeys = ['authorityId', 'authorityHash', 'principalId', 'principalRecordId', 'principalVersion', 'workspace', 'agentPreset'];
8
+ const idPattern = /^[A-Za-z0-9][A-Za-z0-9._:/-]{0,255}$/u;
9
+ const shaPattern = /^[a-f0-9]{64}$/u;
10
+ function exact(value, required, optional = []) {
11
+ if (!value || typeof value !== 'object' || Array.isArray(value)
12
+ || ![Object.prototype, null].includes(Object.getPrototypeOf(value))
13
+ || Reflect.ownKeys(value).some(key => typeof key !== 'string' || ![...required, ...optional].includes(key))
14
+ || required.some(key => !Object.hasOwn(value, key))
15
+ || Object.values(Object.getOwnPropertyDescriptors(value)).some(item => !item.enumerable || !('value' in item)))
16
+ throw new Error('source review invalid object');
17
+ }
18
+ function text(value, max) {
19
+ if (typeof value !== 'string' || !value.trim() || value.includes('\0') || Buffer.byteLength(value) > max)
20
+ throw new Error('source review invalid text');
21
+ }
22
+ function id(value) { text(value, 256); if (!idPattern.test(value))
23
+ throw new Error('source review invalid identity'); }
24
+ function integer(value, max = Number.MAX_SAFE_INTEGER, min = 1) {
25
+ if (!Number.isSafeInteger(value) || value < min || value > max)
26
+ throw new Error('source review invalid bound');
27
+ }
28
+ function path(value) {
29
+ text(value, 4096);
30
+ if (!isAbsolute(value) || value === '/' || resolve(value) !== value)
31
+ throw new Error('source review invalid path');
32
+ }
33
+ function sha(value) { if (typeof value !== 'string' || !shaPattern.test(value))
34
+ throw new Error('source review invalid digest'); }
35
+ function model(value) {
36
+ exact(value, ['provider', 'model'], ['reasoningEffort']);
37
+ id(value.provider);
38
+ id(value.model);
39
+ if (value.reasoningEffort !== undefined)
40
+ id(value.reasoningEffort);
41
+ }
42
+ function owner(value) {
43
+ for (const key of ['authorityId', 'principalId', 'principalRecordId', 'agentPreset'])
44
+ id(value[key]);
45
+ sha(value.authorityHash);
46
+ integer(value.principalVersion);
47
+ path(value.workspace);
48
+ }
49
+ function privateRoot(root) {
50
+ path(root);
51
+ const stat = lstatSync(root);
52
+ if (!stat.isDirectory() || stat.isSymbolicLink() || stat.mode & 0o077
53
+ || process.getuid && stat.uid !== process.getuid() || realpathSync(root) !== root)
54
+ throw new Error('source review decision directory must be private and canonical');
55
+ }
56
+ export function validateSourceReviewConfig(value) {
57
+ exact(value, ['authorityId', 'expiresAt', 'maxReviews', 'repository', 'git', 'decisionRoot', 'plugins', 'owner', 'reviewerPrincipal',
58
+ 'policy', 'maxChangedFiles', 'maxInputBytes', 'maxOutputTokens', 'timeoutMs'], ['model']);
59
+ id(value.authorityId);
60
+ integer(value.expiresAt);
61
+ integer(value.maxReviews, 10_000);
62
+ path(value.repository);
63
+ exact(value.git, ['path', 'sha256']);
64
+ path(value.git.path);
65
+ sha(value.git.sha256);
66
+ privateRoot(value.decisionRoot);
67
+ exact(value.owner, ownerKeys);
68
+ owner(value.owner);
69
+ id(value.reviewerPrincipal);
70
+ text(value.policy, 16_384);
71
+ integer(value.maxChangedFiles, 1000);
72
+ integer(value.maxInputBytes, 2_097_152, 4096);
73
+ integer(value.maxOutputTokens, 32_768);
74
+ integer(value.timeoutMs, 1_800_000, 1000);
75
+ if (!Array.isArray(value.plugins) || value.plugins.length === 0 || value.plugins.length > 64
76
+ || new Set(value.plugins).size !== value.plugins.length || value.plugins.some(name => !/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/u.test(name)))
77
+ throw new Error('source review invalid plugin scope');
78
+ if (value.model !== undefined)
79
+ model(value.model);
80
+ return structuredClone(value);
81
+ }
82
+ function validateRequest(value, config) {
83
+ exact(value, ['protocol', 'operationId', 'planId', 'planDigest', 'releaseId', 'fence', 'revision', 'name', 'baseCommit', 'headCommit',
84
+ 'prId', 'prEvidenceDigest', 'checkedTreeDigest', 'checkedPatchDigest', 'scope', 'source']);
85
+ if (value.protocol !== 'dsh-source-review/v1')
86
+ throw new Error('source review invalid protocol');
87
+ for (const key of ['operationId', 'planId', 'releaseId'])
88
+ id(value[key]);
89
+ if (typeof value.prId !== 'string' || !/^[A-Za-z0-9][A-Za-z0-9._-]{0,159}$/u.test(value.prId))
90
+ throw new Error('source review invalid PR');
91
+ for (const key of ['planDigest', 'prEvidenceDigest', 'checkedTreeDigest', 'checkedPatchDigest'])
92
+ sha(value[key]);
93
+ integer(value.fence);
94
+ integer(value.revision);
95
+ for (const key of ['baseCommit', 'headCommit'])
96
+ if (!/^[a-f0-9]{40}$/u.test(value[key]))
97
+ throw new Error('source review invalid commit');
98
+ if (!config.plugins.includes(value.name) || !Array.isArray(value.scope) || value.scope.length !== 1 || value.scope[0] !== `plugins/${value.name}`)
99
+ throw new Error('source review outside grant scope');
100
+ exact(value.source, ['owner', 'outcomeId', 'sourceDigest', 'objective'], ['modelSelection']);
101
+ exact(value.source.owner, [...ownerKeys, 'receiptVersion', 'bindingVersion', 'generation']);
102
+ owner(value.source.owner);
103
+ if (value.source.owner.receiptVersion !== 2 || ownerKeys.some(key => value.source.owner[key] !== config.owner[key]))
104
+ throw new Error('source review owner changed');
105
+ integer(value.source.owner.bindingVersion);
106
+ integer(value.source.owner.generation);
107
+ id(value.source.outcomeId);
108
+ sha(value.source.sourceDigest);
109
+ text(value.source.objective, 65_536);
110
+ if (value.source.modelSelection !== undefined)
111
+ model(value.source.modelSelection);
112
+ }
113
+ /** Host-only immutable writer. The model never receives a filesystem capability. */
114
+ function writeDecision(config, request) {
115
+ privateRoot(config.decisionRoot);
116
+ const decision = { schemaVersion: 1, kind: 'dsh-local-review-decision', prId: request.prId,
117
+ baseCommit: request.baseCommit, headCommit: request.headCommit, prEvidenceDigest: request.prEvidenceDigest,
118
+ decision: 'approved', reviewerPrincipal: config.reviewerPrincipal };
119
+ const destination = join(config.decisionRoot, `${request.prId}.json`);
120
+ const verifyExisting = () => {
121
+ const stat = lstatSync(destination);
122
+ if (!stat.isFile() || stat.isSymbolicLink() || stat.nlink !== 1 || stat.mode & 0o077 || stat.size > 8192
123
+ || process.getuid && stat.uid !== process.getuid())
124
+ throw new Error('source review unsafe existing decision');
125
+ const fd = openSync(destination, constants.O_RDONLY | constants.O_NOFOLLOW);
126
+ try {
127
+ const opened = fstatSync(fd);
128
+ if (opened.ino !== stat.ino || opened.dev !== stat.dev)
129
+ throw new Error('source review decision replaced');
130
+ if (acceptanceCanonicalJson(JSON.parse(readFileSync(fd, 'utf8'))) !== acceptanceCanonicalJson(decision))
131
+ throw new Error('source review decision conflict');
132
+ }
133
+ finally {
134
+ closeSync(fd);
135
+ }
136
+ };
137
+ const temporary = join(config.decisionRoot, `.review-${randomUUID()}`);
138
+ const fd = openSync(temporary, constants.O_WRONLY | constants.O_CREAT | constants.O_EXCL | constants.O_NOFOLLOW, 0o600);
139
+ try {
140
+ writeFileSync(fd, JSON.stringify(decision) + '\n');
141
+ fsyncSync(fd);
142
+ }
143
+ finally {
144
+ closeSync(fd);
145
+ }
146
+ try {
147
+ try {
148
+ linkSync(temporary, destination);
149
+ }
150
+ catch (error) {
151
+ if (error.code !== 'EEXIST')
152
+ throw error;
153
+ verifyExisting();
154
+ }
155
+ }
156
+ finally {
157
+ unlinkSync(temporary);
158
+ }
159
+ const directory = openSync(config.decisionRoot, constants.O_RDONLY | constants.O_DIRECTORY | constants.O_NOFOLLOW);
160
+ try {
161
+ fsyncSync(directory);
162
+ }
163
+ finally {
164
+ closeSync(directory);
165
+ }
166
+ }
167
+ /** Lifetime belongs to the injected Fiber; close aborts and drains before DB close. */
168
+ export class SourceReviewRuntime {
169
+ ctx;
170
+ #config;
171
+ #store;
172
+ #controller = new AbortController();
173
+ #flights = new Set();
174
+ #closing;
175
+ constructor(ctx, config, databasePath) {
176
+ this.ctx = ctx;
177
+ this.#config = validateSourceReviewConfig(config);
178
+ this.#store = new SourceReviewStore(databasePath + '.source-reviews');
179
+ }
180
+ available(input) {
181
+ const config = this.#config;
182
+ return !this.#controller.signal.aborted && config.expiresAt > Date.now() && input.decisionRoot === config.decisionRoot
183
+ && input.owner.receiptVersion === 2 && ownerKeys.every(key => input.owner[key] === config.owner[key])
184
+ && config.plugins.includes(input.name) && (config.model !== undefined || input.modelSelection !== undefined)
185
+ && this.#store.available({ authorityId: config.authorityId, authorityDigest: acceptanceDigest(config), maxReviews: config.maxReviews,
186
+ ...(input.operationId === undefined ? {} : { operationId: input.operationId }) });
187
+ }
188
+ run(input) {
189
+ this.#controller.signal.throwIfAborted();
190
+ const operation = this.#run(input);
191
+ this.#flights.add(operation);
192
+ void operation.finally(() => this.#flights.delete(operation)).catch(() => { });
193
+ return operation;
194
+ }
195
+ async #run(input) {
196
+ const config = this.#config;
197
+ validateRequest(input.request, config);
198
+ const request = structuredClone(input.request), selected = structuredClone(config.model ?? request.source.modelSelection);
199
+ if (!selected)
200
+ throw new Error('source review requires a frozen task model or explicit fixed model');
201
+ const signal = AbortSignal.any([this.#controller.signal, AbortSignal.timeout(config.timeoutMs), ...(input.signal ? [input.signal] : [])]);
202
+ const assertLive = () => {
203
+ signal.throwIfAborted();
204
+ if (Date.now() >= config.expiresAt)
205
+ throw new Error('source review grant expired');
206
+ };
207
+ const assertCurrent = () => { assertLive(); input.withSourceFence(() => { }); };
208
+ assertCurrent();
209
+ const requestDigest = acceptanceDigest(request), authorityDigest = acceptanceDigest(config);
210
+ const gitRequest = { name: request.name, baseCommit: request.baseCommit, headCommit: request.headCommit, prId: request.prId,
211
+ scope: request.scope, checkedTreeDigest: request.checkedTreeDigest, checkedPatchDigest: request.checkedPatchDigest };
212
+ const gitConfig = { repository: config.repository, git: config.git, maxChangedFiles: config.maxChangedFiles, maxInputBytes: config.maxInputBytes };
213
+ // Git inspection completes before reserving a model call; no DB transaction crosses an await.
214
+ const context = await inspectSourceReviewGit(gitConfig, gitRequest, signal);
215
+ const claim = input.withSourceFence(() => {
216
+ assertLive();
217
+ assertSourceReviewHead(gitConfig, gitRequest);
218
+ return this.#store.claim({ operationId: request.operationId, requestDigest, authorityId: config.authorityId,
219
+ authorityDigest, maxReviews: config.maxReviews, model: selected });
220
+ });
221
+ const base = { operationId: request.operationId, requestDigest, model: selected, sessionId: `source-review-${requestDigest.slice(0, 40)}` };
222
+ if (claim.state === 'unknown')
223
+ return { ...base, status: 'unknown', reason: 'Previous review has no durable terminal result; model call will not be repeated.' };
224
+ if (claim.state === 'approved' || claim.state === 'rejected') {
225
+ if (claim.state === 'approved')
226
+ input.withSourceFence(() => { assertLive(); assertSourceReviewHead(gitConfig, gitRequest); writeDecision(config, request); });
227
+ return { ...base, status: claim.state, ...claim.result };
228
+ }
229
+ try {
230
+ const { runNativeSourceReview } = await import('./source-review-native.js');
231
+ assertCurrent();
232
+ const result = await runNativeSourceReview(this.ctx, { config, request, model: selected, ...context, signal, assertCurrent });
233
+ await inspectSourceReviewGit(gitConfig, gitRequest, signal);
234
+ input.withSourceFence(() => {
235
+ assertLive();
236
+ assertSourceReviewHead(gitConfig, gitRequest);
237
+ this.#store.finish(request.operationId, requestDigest, result);
238
+ if (result.status === 'approved')
239
+ writeDecision(config, request);
240
+ });
241
+ return { ...base, ...result };
242
+ }
243
+ catch {
244
+ return { ...base, status: 'unknown', reason: 'Review did not produce an admissible durable decision; inspect the Host review session before reconciliation.' };
245
+ }
246
+ }
247
+ close() {
248
+ return this.#closing ??= (async () => {
249
+ this.#controller.abort(new Error('source reviewer disposed'));
250
+ await Promise.allSettled(this.#flights);
251
+ this.#store.close();
252
+ })();
253
+ }
254
+ }
255
+ //# sourceMappingURL=source-review.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-review.js","sourceRoot":"","sources":["../src/source-review.ts"],"names":[],"mappings":"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"}
package/lib/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const version = "0.1.32";
1
+ export declare const version = "0.1.34";
2
2
  //# sourceMappingURL=version.d.ts.map
package/lib/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const version = '0.1.32';
1
+ export const version = '0.1.34';
2
2
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dsh-enhanced/assistant-verifier",
3
- "version": "0.1.32",
3
+ "version": "0.1.34",
4
4
  "description": "Independent, bounded task acceptance verification with durable contracts and receipts.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -47,7 +47,13 @@
47
47
  "@dsh-enhanced/assistant-delivery": ">=0.1.24 <0.2.0",
48
48
  "@dsh-enhanced/assistant-evaluation": ">=0.1.24 <0.2.0",
49
49
  "@dsh-enhanced/assistant-isolation": ">=0.1.0 <0.2.0",
50
- "@dsh-enhanced/assistant-actions": ">=0.1.0 <0.2.0"
50
+ "@dsh-enhanced/assistant-actions": ">=0.1.0 <0.2.0",
51
+ "@deepseek-ai/dsh-agent": ">=0.1.2-rc.1 <0.2.0",
52
+ "@deepseek-ai/dsh-llm": ">=0.1.2-rc.1 <0.2.0",
53
+ "@deepseek-ai/dsh-session": ">=0.1.2-rc.1 <0.2.0",
54
+ "@deepseek-ai/dsh-tools": ">=0.1.2-rc.1 <0.2.0",
55
+ "@deepseek-ai/dsh-system-prompt": ">=0.1.2-rc.1 <0.2.0",
56
+ "@dsh-enhanced/assistant-policy": ">=0.1.0 <0.2.0"
51
57
  },
52
58
  "peerDependenciesMeta": {
53
59
  "@deepseek-ai/cordis": {
@@ -67,6 +73,24 @@
67
73
  },
68
74
  "@dsh-enhanced/assistant-actions": {
69
75
  "optional": true
76
+ },
77
+ "@deepseek-ai/dsh-agent": {
78
+ "optional": true
79
+ },
80
+ "@deepseek-ai/dsh-llm": {
81
+ "optional": true
82
+ },
83
+ "@deepseek-ai/dsh-session": {
84
+ "optional": true
85
+ },
86
+ "@deepseek-ai/dsh-tools": {
87
+ "optional": true
88
+ },
89
+ "@deepseek-ai/dsh-system-prompt": {
90
+ "optional": true
91
+ },
92
+ "@dsh-enhanced/assistant-policy": {
93
+ "optional": true
70
94
  }
71
95
  },
72
96
  "devDependencies": {
@@ -74,14 +98,24 @@
74
98
  "@types/node": "22.20.0",
75
99
  "typescript": "6.0.3",
76
100
  "vitest": "4.1.8",
77
- "@dsh-enhanced/assistant-automations": "0.1.32",
78
- "@dsh-enhanced/assistant-isolation": "0.1.32",
79
- "@dsh-enhanced/assistant-delivery": "0.1.32",
80
- "@dsh-enhanced/assistant-evaluation": "0.1.32"
101
+ "@deepseek-ai/dsh-agent": "0.1.2-rc.1",
102
+ "@deepseek-ai/dsh-llm": "0.1.2-rc.1",
103
+ "@deepseek-ai/dsh-session": "0.1.2-rc.1",
104
+ "@deepseek-ai/dsh-tools": "0.1.2-rc.1",
105
+ "@deepseek-ai/dsh-system-prompt": "0.1.2-rc.1",
106
+ "@deepseek-ai/dsh-agent-loop": "0.1.2-rc.1",
107
+ "@deepseek-ai/dsh-agent-loop-testkit": "0.1.2-rc.1",
108
+ "@deepseek-ai/dsh-session-projection": "0.1.2-rc.1",
109
+ "@deepseek-ai/dsh-agent-default-model": "0.1.2-rc.1",
110
+ "@dsh-enhanced/assistant-evaluation": "0.1.34",
111
+ "@dsh-enhanced/assistant-isolation": "0.1.34",
112
+ "@dsh-enhanced/assistant-delivery": "0.1.34",
113
+ "@dsh-enhanced/assistant-policy": "0.1.34",
114
+ "@dsh-enhanced/assistant-automations": "0.1.34"
81
115
  },
82
116
  "dependencies": {
83
117
  "@deepseek-ai/schemastery": "3.18.2",
84
- "@dsh-enhanced/task-acceptance-contract": "0.1.32"
118
+ "@dsh-enhanced/task-acceptance-contract": "0.1.34"
85
119
  },
86
120
  "scripts": {
87
121
  "build": "tsc -p tsconfig.build.json",