@dsh-enhanced/assistant-policy 0.1.23 → 0.1.30
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 +13 -6
- package/lib/approval-reviewer.d.ts +1 -1
- package/lib/approval-reviewer.d.ts.map +1 -1
- package/lib/approval-reviewer.js +2 -2
- package/lib/approval-reviewer.js.map +1 -1
- package/lib/auto-review.js +7 -7
- package/lib/auto-review.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/ledger.d.ts +7 -0
- package/lib/ledger.d.ts.map +1 -1
- package/lib/ledger.js +34 -0
- package/lib/ledger.js.map +1 -1
- package/lib/service.d.ts +34 -1
- package/lib/service.d.ts.map +1 -1
- package/lib/service.js +146 -17
- package/lib/service.js.map +1 -1
- package/lib/session-event-registration.d.ts +1 -1
- package/lib/session-event-registration.js +4 -4
- package/lib/session-event-registration.js.map +1 -1
- package/lib/tool-risk.d.ts.map +1 -1
- package/lib/tool-risk.js +32 -0
- package/lib/tool-risk.js.map +1 -1
- package/lib/types.d.ts +1 -1
- package/lib/types.d.ts.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +17 -17
package/lib/service.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { Context, Service } from '@deepseek-ai/cordis';
|
|
|
2
2
|
import type { Agent } from '@deepseek-ai/dsh-agent';
|
|
3
3
|
import type { Session } from '@deepseek-ai/dsh-session';
|
|
4
4
|
import Schema from '@deepseek-ai/schemastery';
|
|
5
|
-
import type { ToolExecution, ToolGuard } from '@deepseek-ai/dsh-tools';
|
|
5
|
+
import type { ToolDefinition, ToolExecution, ToolGuard } from '@deepseek-ai/dsh-tools';
|
|
6
6
|
import { type AutoReviewConfig } from './auto-review.js';
|
|
7
7
|
import { type ApprovalDecisionInput, type ApprovalDispatchResult, type ApprovalDispatchSnapshot, type ApprovalProposalInput, type ApprovalProposalLookupInput, type ApprovalProposalRecoveryInput, type ApprovalProposalRecoveryResult, type ApprovalProposalResult, type AuditEvent, type BudgetReservationResult, type ApprovalProposalSnapshot, type EmergencyStopState } from './ledger.js';
|
|
8
8
|
import type { PolicyDecision, PolicyInitiator, PolicyRequest, PolicyResource, PolicyRule, PolicySubject } from './types.js';
|
|
@@ -34,6 +34,13 @@ export interface AuthorizationOptions {
|
|
|
34
34
|
export interface AssistantPolicyServiceOptions {
|
|
35
35
|
now?: () => number;
|
|
36
36
|
}
|
|
37
|
+
/** Read-only, Host-only record of the active policy configuration. */
|
|
38
|
+
export interface PolicyHostConfiguration {
|
|
39
|
+
readonly rules: readonly PolicyRule[];
|
|
40
|
+
readonly toolDefaultEffect: 'deny' | 'allow';
|
|
41
|
+
readonly budgets: readonly PolicyBudgetConfig[];
|
|
42
|
+
readonly autoReview: Readonly<AutoReviewConfig> | null;
|
|
43
|
+
}
|
|
37
44
|
declare module '@deepseek-ai/cordis' {
|
|
38
45
|
interface Context {
|
|
39
46
|
assistantPolicy: AssistantPolicyService;
|
|
@@ -46,11 +53,13 @@ export declare class AssistantPolicyService extends Service {
|
|
|
46
53
|
private readonly ledger;
|
|
47
54
|
private readonly budgets;
|
|
48
55
|
private readonly toolDefaultEffect;
|
|
56
|
+
private readonly configuration;
|
|
49
57
|
private readonly initiators;
|
|
50
58
|
private readonly nativeFullAdoptions;
|
|
51
59
|
private readonly nativeFullUnsettled;
|
|
52
60
|
private readonly reviewerEventRegistration;
|
|
53
61
|
private readonly policyContext;
|
|
62
|
+
private readonly preauthorizedTools;
|
|
54
63
|
private active;
|
|
55
64
|
constructor(ctx: Context, input: Config, options?: AssistantPolicyServiceOptions);
|
|
56
65
|
/**
|
|
@@ -61,9 +70,22 @@ export declare class AssistantPolicyService extends Service {
|
|
|
61
70
|
* could not establish a usable terminal state.
|
|
62
71
|
*/
|
|
63
72
|
reconcileNativeFullReviewer(session: Session): Promise<NativeFullReviewerReconciliation>;
|
|
73
|
+
/**
|
|
74
|
+
* Register one trusted Host-owned, finite authorization predicate for an
|
|
75
|
+
* exact live tool definition. This only bypasses this service's risk prompt;
|
|
76
|
+
* the independent monotonic policy guard still evaluates every execution.
|
|
77
|
+
*/
|
|
78
|
+
registerPreauthorizedTool(caller: Context, definition: ToolDefinition, authorize: (execution: ToolExecution) => boolean): () => void;
|
|
79
|
+
/**
|
|
80
|
+
* Fail closed unless a live exact tool definition has an active trusted
|
|
81
|
+
* predicate that accepts this still-live execution.
|
|
82
|
+
*/
|
|
83
|
+
isPreauthorizedTool(execution: ToolExecution): boolean;
|
|
64
84
|
private nativeFullCandidate;
|
|
65
85
|
private ensureNativeFullReviewer;
|
|
66
86
|
private assertActive;
|
|
87
|
+
/** Returns a detached Host snapshot; it never exposes ledger or maintenance configuration. */
|
|
88
|
+
inspectHostConfiguration(): Readonly<PolicyHostConfiguration>;
|
|
67
89
|
evaluate(request: PolicyRequest): PolicyDecision;
|
|
68
90
|
authorize(request: PolicyRequest, options?: AuthorizationOptions): PolicyDecision;
|
|
69
91
|
/** Read-only declaration lookup for consumers that must prove metric compatibility before reserving. */
|
|
@@ -71,6 +93,12 @@ export declare class AssistantPolicyService extends Service {
|
|
|
71
93
|
reserve(input: PolicyBudgetReservationInput): BudgetReservationResult;
|
|
72
94
|
finalize(reservationId: string, actualAmount: number): BudgetReservationResult;
|
|
73
95
|
release(reservationId: string): BudgetReservationResult;
|
|
96
|
+
/**
|
|
97
|
+
* Crash-recovery settlement keyed by the reservation's idempotency key.
|
|
98
|
+
* Releases only a still-open reservation; a finalized charge is never
|
|
99
|
+
* unwound (invalid-state), a missing row is a no-op (undefined).
|
|
100
|
+
*/
|
|
101
|
+
releaseByIdempotencyKey(idempotencyKey: string): BudgetReservationResult | undefined;
|
|
74
102
|
propose(input: ApprovalProposalInput): ApprovalProposalResult;
|
|
75
103
|
decideProposal(input: ApprovalDecisionInput): ApprovalProposalResult;
|
|
76
104
|
expireProposals(limit?: number): number;
|
|
@@ -109,6 +137,11 @@ export declare class AssistantPolicyService extends Service {
|
|
|
109
137
|
};
|
|
110
138
|
bindInitiator(agent: Agent, initiator: PolicyInitiator, principal?: string): () => void;
|
|
111
139
|
authorizeAgent(agent: Agent | undefined, action: string, resource: PolicyResource, options?: AuthorizationOptions): PolicyDecision;
|
|
140
|
+
/**
|
|
141
|
+
* Evaluate an agent action against the same live identity and initiator
|
|
142
|
+
* context as authorization, without auditing or consuming a budget.
|
|
143
|
+
*/
|
|
144
|
+
evaluateAgent(agent: Agent | undefined, action: string, resource: PolicyResource): PolicyDecision;
|
|
112
145
|
authorizeToolExecution(execution: Readonly<ToolExecution>): PolicyDecision;
|
|
113
146
|
private auditAgentIdentityFailure;
|
|
114
147
|
private consumeAuthorizationBudget;
|
package/lib/service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAEnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,MAAM,MAAM,0BAA0B,CAAA;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
package/lib/service.js
CHANGED
|
@@ -13,6 +13,7 @@ const resourceKindSchema = Schema.union([
|
|
|
13
13
|
'credential',
|
|
14
14
|
'evolution',
|
|
15
15
|
'filesystem',
|
|
16
|
+
'goal',
|
|
16
17
|
'memory',
|
|
17
18
|
'message',
|
|
18
19
|
'network',
|
|
@@ -111,17 +112,29 @@ function compileBudgets(configs) {
|
|
|
111
112
|
}
|
|
112
113
|
return budgets;
|
|
113
114
|
}
|
|
115
|
+
function freezeDeep(value) {
|
|
116
|
+
if (value === null || typeof value !== 'object')
|
|
117
|
+
return value;
|
|
118
|
+
for (const child of Object.values(value))
|
|
119
|
+
freezeDeep(child);
|
|
120
|
+
return Object.freeze(value);
|
|
121
|
+
}
|
|
122
|
+
function hostConfiguration(input) {
|
|
123
|
+
return freezeDeep(structuredClone(input));
|
|
124
|
+
}
|
|
114
125
|
export class AssistantPolicyService extends Service {
|
|
115
126
|
static Config = configSchema;
|
|
116
127
|
policy;
|
|
117
128
|
ledger;
|
|
118
129
|
budgets;
|
|
119
130
|
toolDefaultEffect;
|
|
131
|
+
configuration;
|
|
120
132
|
initiators = new WeakMap();
|
|
121
133
|
nativeFullAdoptions = sharedNativeFullAdoptions();
|
|
122
134
|
nativeFullUnsettled = sharedNativeFullUnsettled();
|
|
123
135
|
reviewerEventRegistration;
|
|
124
136
|
policyContext;
|
|
137
|
+
preauthorizedTools = new Set();
|
|
125
138
|
active = true;
|
|
126
139
|
constructor(ctx, input, options = {}) {
|
|
127
140
|
super(ctx, 'assistantPolicy');
|
|
@@ -134,14 +147,16 @@ export class AssistantPolicyService extends Service {
|
|
|
134
147
|
catch (error) {
|
|
135
148
|
throw new Error(`assistant-policy: invalid configuration: ${String(error)}`, { cause: error });
|
|
136
149
|
}
|
|
137
|
-
this.
|
|
138
|
-
|
|
139
|
-
this.
|
|
150
|
+
this.configuration = hostConfiguration({ rules: config.rules ?? [], budgets: config.budgets ?? [],
|
|
151
|
+
toolDefaultEffect: config.toolDefaultEffect ?? 'deny', autoReview: config.autoReview ?? null });
|
|
152
|
+
this.policy = compilePolicy(this.configuration.rules);
|
|
153
|
+
this.budgets = compileBudgets(this.configuration.budgets);
|
|
154
|
+
this.toolDefaultEffect = this.configuration.toolDefaultEffect;
|
|
140
155
|
this.ledger = new PolicyLedger({
|
|
141
156
|
path: config.databasePath,
|
|
142
157
|
...(options.now === undefined ? {} : { now: options.now }),
|
|
143
158
|
});
|
|
144
|
-
registerAutoReviewAnswerer(ctx,
|
|
159
|
+
registerAutoReviewAnswerer(ctx, this.configuration.autoReview ?? undefined);
|
|
145
160
|
// PermissionPresetService predates AssistantPolicy's third permission
|
|
146
161
|
// dimension. Repair exact legacy native-full sessions at creation/resume,
|
|
147
162
|
// and keep the same promise as a tool-dispatch barrier so concurrent calls
|
|
@@ -193,6 +208,8 @@ export class AssistantPolicyService extends Service {
|
|
|
193
208
|
// three-dimensional state again at the final synchronous boundary.
|
|
194
209
|
if (getApprovalReviewer(agent.session) === 'none')
|
|
195
210
|
return next();
|
|
211
|
+
if (this.isPreauthorizedTool(execution))
|
|
212
|
+
return next();
|
|
196
213
|
const risk = classifyToolRisk({
|
|
197
214
|
name: execution.name,
|
|
198
215
|
arguments: execution.arguments,
|
|
@@ -200,7 +217,7 @@ export class AssistantPolicyService extends Service {
|
|
|
200
217
|
});
|
|
201
218
|
if (risk === 'allow')
|
|
202
219
|
return next();
|
|
203
|
-
const permission = approvalPermissionStateOf(agent.session.
|
|
220
|
+
const permission = approvalPermissionStateOf(agent.session.snapshotEvents());
|
|
204
221
|
const configuredApproval = toolsCtx.get('approval')?.config.policy;
|
|
205
222
|
const approval = permission.approvalPolicyEvent
|
|
206
223
|
? permission.approvalPolicy
|
|
@@ -234,13 +251,73 @@ export class AssistantPolicyService extends Service {
|
|
|
234
251
|
return 'unavailable';
|
|
235
252
|
return await this.ensureNativeFullReviewer(this.policyContext, session);
|
|
236
253
|
}
|
|
254
|
+
/**
|
|
255
|
+
* Register one trusted Host-owned, finite authorization predicate for an
|
|
256
|
+
* exact live tool definition. This only bypasses this service's risk prompt;
|
|
257
|
+
* the independent monotonic policy guard still evaluates every execution.
|
|
258
|
+
*/
|
|
259
|
+
registerPreauthorizedTool(caller, definition, authorize) {
|
|
260
|
+
this.assertActive();
|
|
261
|
+
const expectedCaller = ['action_github_grants', 'action_github_deliver', 'action_github_delivery_status', 'action_github_commit', 'action_github_branch', 'action_github_pr', 'action_github_inspect', 'action_github_compensate', 'action_github_compensation_status'].includes(definition.name) ? 'dsh-enhanced-assistant-actions'
|
|
262
|
+
: definition.name === 'isolation_run' ? 'dsh-enhanced-assistant-isolation'
|
|
263
|
+
: ['goal_create', 'goal_schedule', 'goal_strategy', 'goal_wait_event'].includes(definition.name) ? 'dsh-enhanced-assistant-goals' : undefined;
|
|
264
|
+
if (expectedCaller === undefined || caller.fiber.name !== expectedCaller) {
|
|
265
|
+
throw new Error('assistant-policy: preauthorization is reserved for approved assistant-actions GitHub tools, assistant-isolation isolation_run, or assistant-goals goal_create/goal_schedule/goal_strategy/goal_wait_event');
|
|
266
|
+
}
|
|
267
|
+
const entry = { definition, authorize };
|
|
268
|
+
this.preauthorizedTools.add(entry);
|
|
269
|
+
let registered = true;
|
|
270
|
+
const remove = () => {
|
|
271
|
+
if (!registered)
|
|
272
|
+
return;
|
|
273
|
+
registered = false;
|
|
274
|
+
this.preauthorizedTools.delete(entry);
|
|
275
|
+
};
|
|
276
|
+
try {
|
|
277
|
+
caller.effect(() => remove, 'assistant-policy.preauthorized-tool');
|
|
278
|
+
}
|
|
279
|
+
catch (error) {
|
|
280
|
+
remove();
|
|
281
|
+
throw error;
|
|
282
|
+
}
|
|
283
|
+
return remove;
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Fail closed unless a live exact tool definition has an active trusted
|
|
287
|
+
* predicate that accepts this still-live execution.
|
|
288
|
+
*/
|
|
289
|
+
isPreauthorizedTool(execution) {
|
|
290
|
+
if (!this.active || execution.agent === undefined || execution.signal.aborted)
|
|
291
|
+
return false;
|
|
292
|
+
let definition;
|
|
293
|
+
try {
|
|
294
|
+
definition = this.policyContext.get('tools')?.get(execution.name, execution.agent);
|
|
295
|
+
}
|
|
296
|
+
catch {
|
|
297
|
+
return false;
|
|
298
|
+
}
|
|
299
|
+
if (definition === undefined)
|
|
300
|
+
return false;
|
|
301
|
+
for (const entry of this.preauthorizedTools) {
|
|
302
|
+
if (entry.definition !== definition)
|
|
303
|
+
continue;
|
|
304
|
+
try {
|
|
305
|
+
if (entry.authorize(execution) === true)
|
|
306
|
+
return true;
|
|
307
|
+
}
|
|
308
|
+
catch {
|
|
309
|
+
// Trusted callers can fail, but a failed grant must never widen access.
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
return false;
|
|
313
|
+
}
|
|
237
314
|
nativeFullCandidate(ctx, session) {
|
|
238
|
-
const state = approvalPermissionStateOf(session.
|
|
315
|
+
const state = approvalPermissionStateOf(session.snapshotEvents());
|
|
239
316
|
if (state.reviewerEvent
|
|
240
317
|
|| !state.sandboxModeEvent || state.sandboxMode !== 'danger-full-access'
|
|
241
318
|
|| !state.approvalPolicyEvent || state.approvalPolicy !== 'never')
|
|
242
319
|
return false;
|
|
243
|
-
const selected = session.
|
|
320
|
+
const selected = session.snapshotEvents().findLast(event => event.type === 'permission/preset')?.data.preset;
|
|
244
321
|
if (typeof selected !== 'string' || selected === '')
|
|
245
322
|
return false;
|
|
246
323
|
const presets = ctx.get('permissionPresets');
|
|
@@ -250,7 +327,7 @@ export class AssistantPolicyService extends Service {
|
|
|
250
327
|
const spec = presets.resolve(selected);
|
|
251
328
|
return spec.sandbox === 'danger-full-access'
|
|
252
329
|
&& spec.approval === 'never'
|
|
253
|
-
&& presets.current(session
|
|
330
|
+
&& presets.current(session) === selected;
|
|
254
331
|
}
|
|
255
332
|
catch {
|
|
256
333
|
return false;
|
|
@@ -262,7 +339,7 @@ export class AssistantPolicyService extends Service {
|
|
|
262
339
|
return await inFlight;
|
|
263
340
|
const unsettled = this.nativeFullUnsettled.get(session);
|
|
264
341
|
if (unsettled !== undefined) {
|
|
265
|
-
if (approvalPermissionFingerprint(session.
|
|
342
|
+
if (approvalPermissionFingerprint(session.snapshotEvents()) !== unsettled.fingerprint) {
|
|
266
343
|
// A later permission operation owns the session now. Never compensate
|
|
267
344
|
// over its new state merely because an older migration was ambiguous.
|
|
268
345
|
this.nativeFullUnsettled.delete(session);
|
|
@@ -274,7 +351,7 @@ export class AssistantPolicyService extends Service {
|
|
|
274
351
|
const recovery = Promise.resolve().then(async () => {
|
|
275
352
|
try {
|
|
276
353
|
await this.reviewerEventRegistration.assertReady();
|
|
277
|
-
if (approvalPermissionFingerprint(session.
|
|
354
|
+
if (approvalPermissionFingerprint(session.snapshotEvents()) !== unsettled.fingerprint) {
|
|
278
355
|
this.nativeFullUnsettled.delete(session);
|
|
279
356
|
return 'unavailable';
|
|
280
357
|
}
|
|
@@ -282,13 +359,13 @@ export class AssistantPolicyService extends Service {
|
|
|
282
359
|
if (unsettled.phase === 'widened') {
|
|
283
360
|
setApprovalReviewer(session, 'user');
|
|
284
361
|
compensation = {
|
|
285
|
-
fingerprint: approvalPermissionFingerprint(session.
|
|
362
|
+
fingerprint: approvalPermissionFingerprint(session.snapshotEvents()),
|
|
286
363
|
phase: 'compensating',
|
|
287
364
|
};
|
|
288
365
|
this.nativeFullUnsettled.set(session, compensation);
|
|
289
366
|
}
|
|
290
367
|
if (await sessions.flush(session)
|
|
291
|
-
&& approvalPermissionFingerprint(session.
|
|
368
|
+
&& approvalPermissionFingerprint(session.snapshotEvents()) === compensation.fingerprint
|
|
292
369
|
&& getApprovalReviewer(session) === 'user') {
|
|
293
370
|
this.nativeFullUnsettled.delete(session);
|
|
294
371
|
}
|
|
@@ -330,7 +407,7 @@ export class AssistantPolicyService extends Service {
|
|
|
330
407
|
if (!setApprovalReviewer(session, 'none') && getApprovalReviewer(session) !== 'none') {
|
|
331
408
|
return 'unavailable';
|
|
332
409
|
}
|
|
333
|
-
expectedPermission = approvalPermissionFingerprint(session.
|
|
410
|
+
expectedPermission = approvalPermissionFingerprint(session.snapshotEvents());
|
|
334
411
|
this.nativeFullUnsettled.set(session, {
|
|
335
412
|
fingerprint: expectedPermission,
|
|
336
413
|
phase: 'widened',
|
|
@@ -339,7 +416,7 @@ export class AssistantPolicyService extends Service {
|
|
|
339
416
|
// A Web permission change may race the durability barrier. Never let
|
|
340
417
|
// the old full-state migration authorize a call after a newer
|
|
341
418
|
// downgrade or reviewer selection has won.
|
|
342
|
-
if (approvalPermissionFingerprint(session.
|
|
419
|
+
if (approvalPermissionFingerprint(session.snapshotEvents()) === expectedPermission
|
|
343
420
|
&& getApprovalReviewer(session) === 'none') {
|
|
344
421
|
this.nativeFullUnsettled.delete(session);
|
|
345
422
|
return 'ready';
|
|
@@ -355,14 +432,14 @@ export class AssistantPolicyService extends Service {
|
|
|
355
432
|
// migration must deny its tool, but must not append reviewer=user over
|
|
356
433
|
// that newer choice merely because its own flush acknowledgement failed.
|
|
357
434
|
if (expectedPermission !== undefined
|
|
358
|
-
&& approvalPermissionFingerprint(session.
|
|
435
|
+
&& approvalPermissionFingerprint(session.snapshotEvents()) !== expectedPermission) {
|
|
359
436
|
this.nativeFullUnsettled.delete(session);
|
|
360
437
|
return 'unavailable';
|
|
361
438
|
}
|
|
362
439
|
try {
|
|
363
440
|
setApprovalReviewer(session, 'user');
|
|
364
441
|
const compensation = {
|
|
365
|
-
fingerprint: approvalPermissionFingerprint(session.
|
|
442
|
+
fingerprint: approvalPermissionFingerprint(session.snapshotEvents()),
|
|
366
443
|
phase: 'compensating',
|
|
367
444
|
};
|
|
368
445
|
this.nativeFullUnsettled.set(session, compensation);
|
|
@@ -370,7 +447,7 @@ export class AssistantPolicyService extends Service {
|
|
|
370
447
|
// Best-effort a second barrier so a cold resume cannot observe only
|
|
371
448
|
// the widening half of this compatibility migration.
|
|
372
449
|
if (await sessions.flush(session)
|
|
373
|
-
&& approvalPermissionFingerprint(session.
|
|
450
|
+
&& approvalPermissionFingerprint(session.snapshotEvents()) === compensation.fingerprint
|
|
374
451
|
&& getApprovalReviewer(session) === 'user') {
|
|
375
452
|
this.nativeFullUnsettled.delete(session);
|
|
376
453
|
}
|
|
@@ -391,6 +468,11 @@ export class AssistantPolicyService extends Service {
|
|
|
391
468
|
if (!this.active)
|
|
392
469
|
throw new Error('assistant-policy service is disposed');
|
|
393
470
|
}
|
|
471
|
+
/** Returns a detached Host snapshot; it never exposes ledger or maintenance configuration. */
|
|
472
|
+
inspectHostConfiguration() {
|
|
473
|
+
this.assertActive();
|
|
474
|
+
return hostConfiguration(this.configuration);
|
|
475
|
+
}
|
|
394
476
|
evaluate(request) {
|
|
395
477
|
this.assertActive();
|
|
396
478
|
if (this.ledger.getEmergencyStop().enabled)
|
|
@@ -456,6 +538,26 @@ export class AssistantPolicyService extends Service {
|
|
|
456
538
|
});
|
|
457
539
|
return result;
|
|
458
540
|
}
|
|
541
|
+
/**
|
|
542
|
+
* Crash-recovery settlement keyed by the reservation's idempotency key.
|
|
543
|
+
* Releases only a still-open reservation; a finalized charge is never
|
|
544
|
+
* unwound (invalid-state), a missing row is a no-op (undefined).
|
|
545
|
+
*/
|
|
546
|
+
releaseByIdempotencyKey(idempotencyKey) {
|
|
547
|
+
this.assertActive();
|
|
548
|
+
const result = this.ledger.releaseByIdempotencyKey(idempotencyKey);
|
|
549
|
+
if (result !== undefined) {
|
|
550
|
+
this.ledger.appendAudit({
|
|
551
|
+
actor: 'system',
|
|
552
|
+
action: 'budget.release',
|
|
553
|
+
resource: { kind: 'budget-reservation', id: result.reservationId },
|
|
554
|
+
outcome: result.status,
|
|
555
|
+
reasonCode: result.replayed ? 'idempotent-replay' : 'released',
|
|
556
|
+
details: { recovery: true, remaining: result.remaining },
|
|
557
|
+
});
|
|
558
|
+
}
|
|
559
|
+
return result;
|
|
560
|
+
}
|
|
459
561
|
propose(input) {
|
|
460
562
|
this.assertActive();
|
|
461
563
|
const result = this.ledger.propose(input);
|
|
@@ -633,6 +735,33 @@ export class AssistantPolicyService extends Service {
|
|
|
633
735
|
context: { initiator: authority?.initiator ?? 'foreground' },
|
|
634
736
|
}, options);
|
|
635
737
|
}
|
|
738
|
+
/**
|
|
739
|
+
* Evaluate an agent action against the same live identity and initiator
|
|
740
|
+
* context as authorization, without auditing or consuming a budget.
|
|
741
|
+
*/
|
|
742
|
+
evaluateAgent(agent, action, resource) {
|
|
743
|
+
this.assertActive();
|
|
744
|
+
if (agent === undefined)
|
|
745
|
+
return denial('missing-agent');
|
|
746
|
+
const workspace = agent.session.header.cwd;
|
|
747
|
+
if (workspace === undefined || !isAbsolute(workspace))
|
|
748
|
+
return denial('missing-workspace');
|
|
749
|
+
const preset = agent.session.header.agentPreset;
|
|
750
|
+
if (preset === undefined || preset === '')
|
|
751
|
+
return denial('missing-agent-preset');
|
|
752
|
+
const authority = this.initiators.get(agent);
|
|
753
|
+
return this.evaluate({
|
|
754
|
+
subject: {
|
|
755
|
+
kind: 'agent',
|
|
756
|
+
id: preset,
|
|
757
|
+
workspace,
|
|
758
|
+
...(authority?.principal === undefined ? {} : { principal: authority.principal }),
|
|
759
|
+
},
|
|
760
|
+
action,
|
|
761
|
+
resource,
|
|
762
|
+
context: { initiator: authority?.initiator ?? 'foreground' },
|
|
763
|
+
});
|
|
764
|
+
}
|
|
636
765
|
authorizeToolExecution(execution) {
|
|
637
766
|
this.assertActive();
|
|
638
767
|
const agent = execution.agent;
|
package/lib/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ export declare function waitForApprovalReviewerSessionEventReady(session: Sessio
|
|
|
13
13
|
/**
|
|
14
14
|
* Register the required reviewer event for the process lifetime.
|
|
15
15
|
*
|
|
16
|
-
*
|
|
16
|
+
* Session persistence can drain after downstream plugin effects dispose, and
|
|
17
17
|
* hot-reloaded module copies cannot safely coordinate ownership of this global
|
|
18
18
|
* catalog. Removing the type would therefore make a valid durable tail (or an
|
|
19
19
|
* already stored session) unreadable. The catalog is metadata only, so the
|
|
@@ -3,7 +3,7 @@ import { randomUUID } from 'node:crypto';
|
|
|
3
3
|
import { realpathSync } from 'node:fs';
|
|
4
4
|
import { createRequire } from 'node:module';
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* DSH exposes its generated known-event catalog as a ReadonlySet and defers a
|
|
7
7
|
* downstream registration API. Persistence nevertheless consults the same
|
|
8
8
|
* object for both new batches and cold reads, so a narrowly scoped runtime
|
|
9
9
|
* registration is the only compatible way to make this required plugin event
|
|
@@ -157,7 +157,7 @@ function validateRegistry(candidate) {
|
|
|
157
157
|
if (!(registry instanceof Set)
|
|
158
158
|
|| typeof registry.add !== 'function'
|
|
159
159
|
|| typeof registry.delete !== 'function') {
|
|
160
|
-
throw new Error(`${candidate.label} does not expose the mutable
|
|
160
|
+
throw new Error(`${candidate.label} does not expose the supported mutable session event catalog`);
|
|
161
161
|
}
|
|
162
162
|
return { label: candidate.label, registry: registry };
|
|
163
163
|
}
|
|
@@ -165,7 +165,7 @@ function supportOracle(persistence) {
|
|
|
165
165
|
const coordinator = record(persistence.coordinator);
|
|
166
166
|
if (coordinator === undefined
|
|
167
167
|
|| typeof coordinator.assertEventsSupported !== 'function') {
|
|
168
|
-
throw new Error('assistant-policy: live sessionPersistence does not expose the
|
|
168
|
+
throw new Error('assistant-policy: live sessionPersistence does not expose the supported '
|
|
169
169
|
+ 'PersistenceCoordinator event-support oracle; refusing unproven registration');
|
|
170
170
|
}
|
|
171
171
|
return coordinator;
|
|
@@ -303,7 +303,7 @@ function installApprovalReviewerEventType(persistence) {
|
|
|
303
303
|
/**
|
|
304
304
|
* Register the required reviewer event for the process lifetime.
|
|
305
305
|
*
|
|
306
|
-
*
|
|
306
|
+
* Session persistence can drain after downstream plugin effects dispose, and
|
|
307
307
|
* hot-reloaded module copies cannot safely coordinate ownership of this global
|
|
308
308
|
* catalog. Removing the type would therefore make a valid durable tail (or an
|
|
309
309
|
* already stored session) unreadable. The catalog is metadata only, so the
|