@dsh-enhanced/assistant-policy 0.1.65 → 0.1.67

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 @@
1
+ {"version":3,"file":"plugin-setup.js","sourceRoot":"","sources":["../src/plugin-setup.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,8 @@
1
- import { YAMLMap } from 'yaml';
1
+ import { YAMLMap, YAMLSeq } from 'yaml';
2
2
  export type EffectiveProfileConfigReader = (dshHome: string, profile: string, rowId: string) => Promise<YAMLMap>;
3
+ export declare function findRow(sequence: YAMLSeq, rowId: string): YAMLMap | undefined;
4
+ /** Reads the whole native `dsh --profile <p> --dump-config` entry sequence. */
5
+ export type EffectiveProfileDumpReader = (dshHome: string, profile: string) => Promise<YAMLSeq>;
6
+ export declare const readEffectiveProfileDump: EffectiveProfileDumpReader;
3
7
  export declare const readEffectiveProfileConfig: EffectiveProfileConfigReader;
4
8
  //# sourceMappingURL=profile-setup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"profile-setup.d.ts","sourceRoot":"","sources":["../src/profile-setup.ts"],"names":[],"mappings":"AAKA,OAAO,EAA+B,OAAO,EAAW,MAAM,MAAM,CAAA;AAKpE,MAAM,MAAM,4BAA4B,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;AAqEhH,eAAO,MAAM,0BAA0B,EAAE,4BAiBxC,CAAA"}
1
+ {"version":3,"file":"profile-setup.d.ts","sourceRoot":"","sources":["../src/profile-setup.ts"],"names":[],"mappings":"AAKA,OAAO,EAA+B,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAKpE,MAAM,MAAM,4BAA4B,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;AAsDhH,wBAAgB,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAa7E;AAED,+EAA+E;AAC/E,MAAM,MAAM,0BAA0B,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;AAE/F,eAAO,MAAM,wBAAwB,EAAE,0BAYtC,CAAA;AAED,eAAO,MAAM,0BAA0B,EAAE,4BAOxC,CAAA"}
@@ -5,7 +5,7 @@ import { delimiter, dirname, isAbsolute, join, relative } from 'node:path';
5
5
  import { promisify } from 'node:util';
6
6
  import { isMap, isSeq, parseDocument, YAMLMap, YAMLSeq } from 'yaml';
7
7
  const execFileAsync = promisify(execFile);
8
- const supportedHostVersion = '0.2.1-rc.2';
8
+ const supportedHostVersions = new Set(['0.2.1-rc.2', '0.2.2-rc.1']);
9
9
  function inside(parent, child) {
10
10
  const suffix = relative(parent, child);
11
11
  return suffix === '' || (!suffix.startsWith('..') && !isAbsolute(suffix));
@@ -32,14 +32,14 @@ async function selectedDshExecutable(dshHome) {
32
32
  const manifestPath = join(hostRoot, 'package.json');
33
33
  const manifest = JSON.parse(await readFile(manifestPath, 'utf8'));
34
34
  if (manifest.name === '@deepseek-ai/dsh') {
35
- if (manifest.version !== supportedHostVersion || typeof manifest.bin?.dsh !== 'string'
35
+ if (!supportedHostVersions.has(manifest.version ?? '') || typeof manifest.bin?.dsh !== 'string'
36
36
  || await realpath(join(hostRoot, manifest.bin.dsh)) !== executable
37
37
  || !inside(hostRoot, executable) || inside(dshHome, hostRoot)) {
38
38
  throw new Error('assistant-policy setup: selected dsh executable is not an approved Host');
39
39
  }
40
40
  const hostRequire = createRequire(manifestPath);
41
41
  const bootManifest = JSON.parse(await readFile(hostRequire.resolve('@deepseek-ai/dsh-app-boot/package.json'), 'utf8'));
42
- if (bootManifest.name !== '@deepseek-ai/dsh-app-boot' || bootManifest.version !== supportedHostVersion) {
42
+ if (bootManifest.name !== '@deepseek-ai/dsh-app-boot' || !supportedHostVersions.has(bootManifest.version ?? '')) {
43
43
  throw new Error('assistant-policy setup: selected dsh boot does not match the Host');
44
44
  }
45
45
  return executable;
@@ -58,7 +58,7 @@ async function selectedDshExecutable(dshHome) {
58
58
  }
59
59
  throw new Error('assistant-policy setup: dsh executable is unavailable on PATH');
60
60
  }
61
- function findRow(sequence, rowId) {
61
+ export function findRow(sequence, rowId) {
62
62
  for (const entry of sequence.items) {
63
63
  if (!isMap(entry))
64
64
  continue;
@@ -75,7 +75,7 @@ function findRow(sequence, rowId) {
75
75
  }
76
76
  return undefined;
77
77
  }
78
- export const readEffectiveProfileConfig = async (dshHome, profile, rowId) => {
78
+ export const readEffectiveProfileDump = async (dshHome, profile) => {
79
79
  const executable = await selectedDshExecutable(dshHome);
80
80
  const { stdout } = await execFileAsync(executable, ['--profile', profile, '--dump-config'], {
81
81
  env: { ...process.env, DSH_HOME: dshHome, NODE_PATH: '', NODE_OPTIONS: '' },
@@ -86,7 +86,10 @@ export const readEffectiveProfileConfig = async (dshHome, profile, rowId) => {
86
86
  if (document.errors.length > 0 || !isSeq(document.contents)) {
87
87
  throw new Error('assistant-policy setup: native profile dump is not a YAML entry sequence');
88
88
  }
89
- const row = findRow(document.contents, rowId);
89
+ return document.contents;
90
+ };
91
+ export const readEffectiveProfileConfig = async (dshHome, profile, rowId) => {
92
+ const row = findRow(await readEffectiveProfileDump(dshHome, profile), rowId);
90
93
  if (row === undefined)
91
94
  throw new Error(`assistant-policy setup: native profile has no ${rowId} row`);
92
95
  const config = row.get('config', true);
@@ -1 +1 @@
1
- {"version":3,"file":"profile-setup.js","sourceRoot":"","sources":["../src/profile-setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile-setup.js","sourceRoot":"","sources":["../src/profile-setup.ts"],"names":[],"mappings":"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"}
package/lib/service.d.ts CHANGED
@@ -33,6 +33,12 @@ export interface AuthorizationOptions {
33
33
  idempotencyKey?: string;
34
34
  auditDetails?: unknown;
35
35
  }
36
+ export interface PrincipalAuthorizationOptions extends AuthorizationOptions {
37
+ /** Must equal the principal Delivery bound to this Agent; budgets are charged in its own partition. */
38
+ principal: string;
39
+ }
40
+ /** Ledger scope of a principal-partitioned budget. Disjoint from global/subject/workspace scopes. */
41
+ export declare function principalPartitionScope(baseScope: string, principal: string): string;
36
42
  export interface AssistantPolicyServiceOptions {
37
43
  now?: () => number;
38
44
  }
@@ -85,23 +91,6 @@ export declare class AssistantPolicyService extends Service {
85
91
  /** Query the mounted Policy's exact live handoff, including across package copies. */
86
92
  isAutoReviewEscalation(request: Readonly<ApprovalRequest>): boolean;
87
93
  constructor(ctx: Context, input: Config, options?: AssistantPolicyServiceOptions);
88
- /**
89
- * Publish the fixed live Auto permission preset when the host supports it.
90
- *
91
- * In 0.2.0-rc.2 "auto" is a reserved preset name: it cannot appear in the
92
- * static table (the service construction throws), and is instead exposed only
93
- * while an integration registers the host's fixed bundle through
94
- * `permissionPresets.registerAuto(admit)`. The host owns the bundle
95
- * (danger-full-access sandbox + "ask" approval on 0.2.0-rc.2) and invokes the
96
- * synchronous `admit` gate immediately before selecting or restoring Auto;
97
- * per-call risk gating is unrelated and stays in tools/pre-execute. This
98
- * adapter therefore only proves the integration is still alive, and hands the
99
- * disposer returned by registerAuto() to OUR injected fiber so Auto is
100
- * withdrawn the moment this plugin (or the permissionPresets generation) goes
101
- * away. Older 0.1.5-rc.3 hosts lack this API and expose their configured
102
- * static Auto without dynamic registration.
103
- */
104
- private publishAutoPreset;
105
94
  /**
106
95
  * Join or initiate the one process-wide durability barrier for an exact
107
96
  * legacy native-full session. `ready` means its reviewer state crossed the
@@ -116,6 +105,10 @@ export declare class AssistantPolicyService extends Service {
116
105
  checkpointToolPreauthorizationVersion: () => 1;
117
106
  /** Exact Skills definitions may authorize only their live isolated benchmark delegation. */
118
107
  delegatedSkillToolPreauthorizationVersion: () => 1;
108
+ /** Exact work-item tools may reuse their durable occurrence/owner mandate. */
109
+ workItemToolPreauthorizationVersion: () => 1;
110
+ /** Exact create-only source tools may reuse a frozen, owner-bound WorkItem Growth run. */
111
+ workItemGrowthToolPreauthorizationVersion: () => 1;
119
112
  /**
120
113
  * Register one trusted Host-owned, finite authorization predicate for an
121
114
  * exact live tool definition. The independent monotonic policy guard still
@@ -191,6 +184,15 @@ export declare class AssistantPolicyService extends Service {
191
184
  };
192
185
  bindInitiator(agent: Agent, initiator: PolicyInitiator, principal?: string): () => void;
193
186
  authorizeAgent(agent: Agent | undefined, action: string, resource: PolicyResource, options?: AuthorizationOptions): PolicyDecision;
187
+ /**
188
+ * Same identity and rule evaluation as `authorizeAgent`, but a matched rule
189
+ * budget is charged in a ledger partition owned by `options.principal`
190
+ * (which must be the principal bound to this Agent). Lets a linked account
191
+ * spend its own bounded quota without touching the owner's partition.
192
+ * The returned decision carries `budgetPrincipal` only when such a charge
193
+ * happened; an allow without a budget is returned unchanged.
194
+ */
195
+ authorizeAgentForPrincipal(agent: Agent | undefined, action: string, resource: PolicyResource, options: PrincipalAuthorizationOptions): PolicyDecision;
194
196
  /**
195
197
  * Evaluate an agent action against the same live identity and initiator
196
198
  * context as authorization, without auditing or consuming a budget.
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
package/lib/service.js CHANGED
@@ -6,11 +6,25 @@ import Schema from '@deepseek-ai/schemastery';
6
6
  import { isAutoReviewEscalation, registerAutoReviewAnswerer } from './auto-review.js';
7
7
  import { reviewOwnerRequestDetailed } from './owner-request-review.js';
8
8
  import { HumanApprovalRouter } from './approval-routing.js';
9
- import { approvalPermissionFingerprint, approvalPermissionStateOf, getApprovalReviewer, setApprovalReviewer, } from './approval-reviewer.js';
9
+ import { approvalPermissionFingerprint, approvalPermissionStateOf, getApprovalReviewer, hasNativeAutoSelection, setApprovalReviewer, } from './approval-reviewer.js';
10
10
  import { registerApprovalReviewerSessionEvent } from './session-event-registration.js';
11
11
  import { AUTO_REVIEW_APPROVAL_REASON, HUMAN_APPROVAL_REASON, classifyToolRisk, } from './tool-risk.js';
12
12
  import { compilePolicy, evaluatePolicy } from './evaluator.js';
13
13
  import { PolicyLedger, PolicyLedgerError, } from './ledger.js';
14
+ /** Ledger scope of a principal-partitioned budget. Disjoint from global/subject/workspace scopes. */
15
+ export function principalPartitionScope(baseScope, principal) {
16
+ return `principal-partition/v1:${JSON.stringify([baseScope, principal])}`;
17
+ }
18
+ function validPartitionPrincipal(value) {
19
+ if (typeof value !== 'string' || value.length === 0 || Buffer.byteLength(value, 'utf8') > 256)
20
+ return false;
21
+ for (let index = 0; index < value.length; index++) {
22
+ const code = value.charCodeAt(index);
23
+ if (code < 0x20 || code === 0x7f)
24
+ return false;
25
+ }
26
+ return true;
27
+ }
14
28
  const subjectKindSchema = Schema.union(['agent', 'background', 'external', '*']);
15
29
  const resourceKindSchema = Schema.union([
16
30
  'automation',
@@ -203,7 +217,6 @@ export class AssistantPolicyService extends Service {
203
217
  permissionCtx.on('session/created', adopt);
204
218
  for (const session of permissionCtx.sessions.list())
205
219
  adopt(session);
206
- this.publishAutoPreset(permissionCtx);
207
220
  });
208
221
  ctx.effect(() => () => {
209
222
  this.active = false;
@@ -227,6 +240,46 @@ export class AssistantPolicyService extends Service {
227
240
  }, 'assistant-policy.proposal-maintenance');
228
241
  }
229
242
  ctx.inject(['tools'], (toolsCtx) => {
243
+ const starts = new WeakMap();
244
+ const nativeAutoLive = (session) => toolsCtx.get('permissionPresets')?.current(session) === 'auto';
245
+ // Cordis reports the dispatch synchronously, before any pre-execute
246
+ // listener runs. A prepended Harness reviewer can await before calling
247
+ // the Policy listener, so sampling at that listener would be too late.
248
+ toolsCtx.on('internal/dispatch', (mode, name, args) => {
249
+ if (mode !== 'waterfall' || name !== 'tools/pre-execute')
250
+ return;
251
+ const execution = args[0];
252
+ const session = execution.agent?.session;
253
+ if (session === undefined)
254
+ return;
255
+ const events = session.snapshotEvents();
256
+ const nativeAuto = hasNativeAutoSelection(events);
257
+ starts.set(execution, {
258
+ nativeAuto,
259
+ nativeAutoLive: nativeAuto && nativeAutoLive(session),
260
+ ...(nativeAuto ? { fingerprint: approvalPermissionFingerprint(events) } : {}),
261
+ });
262
+ });
263
+ const nativeAutoFenceFailure = (execution) => {
264
+ const session = execution.agent?.session;
265
+ if (session === undefined)
266
+ return undefined;
267
+ const start = starts.get(execution);
268
+ if (start === undefined)
269
+ return 'assistant-policy: tool execution has no permission start snapshot';
270
+ const events = session.snapshotEvents();
271
+ const nativeAuto = hasNativeAutoSelection(events);
272
+ const changed = 'assistant-policy: Harness Auto permission changed during this tool call; retry the call';
273
+ if (start.nativeAuto !== nativeAuto)
274
+ return changed;
275
+ if (!nativeAuto)
276
+ return undefined;
277
+ if (!nativeAutoLive(session)) {
278
+ return 'assistant-policy: Harness Auto is unavailable; choose a live permission preset before running tools';
279
+ }
280
+ if (!start.nativeAutoLive || approvalPermissionFingerprint(events) !== start.fingerprint)
281
+ return changed;
282
+ };
230
283
  toolsCtx.on('tools/pre-execute', async (execution, next) => {
231
284
  const agent = execution.agent;
232
285
  const workspace = agent?.session.header.cwd;
@@ -243,14 +296,20 @@ export class AssistantPolicyService extends Service {
243
296
  // permission change can win after that promise resolves but before
244
297
  // this continuation runs, so authorization must always fold the live
245
298
  // three-dimensional state again at the final synchronous boundary.
246
- const reviewer = getApprovalReviewer(agent.session);
299
+ const session = agent.session;
300
+ const fenceFailure = nativeAutoFenceFailure(execution);
301
+ if (fenceFailure !== undefined)
302
+ return { kind: 'deny', reason: fenceFailure };
303
+ const events = session.snapshotEvents();
304
+ const reviewer = getApprovalReviewer(session);
247
305
  if (reviewer === 'none')
248
306
  return next();
249
307
  const preauthorization = this.preauthorizedToolDecision(execution);
250
- if (preauthorization?.kind === 'allow')
251
- return next();
252
308
  if (preauthorization?.kind === 'deny')
253
309
  return preauthorization;
310
+ const nativeAutoSelected = hasNativeAutoSelection(events);
311
+ if (preauthorization?.kind === 'allow')
312
+ return next();
254
313
  // Skill invocations only load instruction bundles; they perform no OS
255
314
  // or network operation of their own, and the nested tool calls still
256
315
  // pass through this same gate. In the auto preset they are approved
@@ -260,18 +319,24 @@ export class AssistantPolicyService extends Service {
260
319
  // point. The ask (user) preset intentionally keeps prompting for
261
320
  // every step, so it is not widened here.
262
321
  if ((execution.name === 'skill_run' || execution.name === 'skill_status')
263
- && getApprovalReviewer(agent.session) === 'auto-review')
322
+ && reviewer === 'auto-review')
264
323
  return next();
265
324
  const risk = classifyToolRisk({
266
325
  name: execution.name,
267
326
  arguments: execution.arguments,
268
327
  workspace,
269
328
  });
329
+ // Harness owns interactive review in its Auto mode. The Policy guard
330
+ // below still enforces rules and budgets. Keep the mandatory human
331
+ // boundary for sensitive actions, including top-level run_code which
332
+ // the native reviewer does not inspect.
333
+ if (nativeAutoSelected && risk !== 'ask-human')
334
+ return next();
270
335
  if (risk === 'allow'
271
336
  || (risk === 'allow-auto' && reviewer === 'auto-review')
272
337
  || (risk === 'ask-review' && reviewer === 'auto-review' && execution.name === 'bash'))
273
338
  return next();
274
- const permission = approvalPermissionStateOf(agent.session.snapshotEvents());
339
+ const permission = approvalPermissionStateOf(events);
275
340
  const configuredApproval = toolsCtx.get('approval')?.config.policy;
276
341
  const approval = permission.approvalPolicyEvent
277
342
  ? permission.approvalPolicy
@@ -292,52 +357,16 @@ export class AssistantPolicyService extends Service {
292
357
  : HUMAN_APPROVAL_REASON,
293
358
  };
294
359
  });
295
- toolsCtx.tools.guard(createPolicyToolGuard(this));
360
+ const guard = createPolicyToolGuard(this);
361
+ toolsCtx.tools.guard(execution => nativeAutoFenceFailure(execution) ?? guard(execution));
362
+ toolsCtx.on('tools/execute', (execution, next) => {
363
+ const fenceFailure = nativeAutoFenceFailure(execution);
364
+ if (fenceFailure !== undefined)
365
+ throw new Error(fenceFailure);
366
+ return next();
367
+ });
296
368
  });
297
369
  }
298
- /**
299
- * Publish the fixed live Auto permission preset when the host supports it.
300
- *
301
- * In 0.2.0-rc.2 "auto" is a reserved preset name: it cannot appear in the
302
- * static table (the service construction throws), and is instead exposed only
303
- * while an integration registers the host's fixed bundle through
304
- * `permissionPresets.registerAuto(admit)`. The host owns the bundle
305
- * (danger-full-access sandbox + "ask" approval on 0.2.0-rc.2) and invokes the
306
- * synchronous `admit` gate immediately before selecting or restoring Auto;
307
- * per-call risk gating is unrelated and stays in tools/pre-execute. This
308
- * adapter therefore only proves the integration is still alive, and hands the
309
- * disposer returned by registerAuto() to OUR injected fiber so Auto is
310
- * withdrawn the moment this plugin (or the permissionPresets generation) goes
311
- * away. Older 0.1.5-rc.3 hosts lack this API and expose their configured
312
- * static Auto without dynamic registration.
313
- */
314
- publishAutoPreset(permissionCtx) {
315
- permissionCtx.effect(() => {
316
- const service = permissionCtx.permissionPresets;
317
- const registerAuto = typeof service.registerAuto === 'function'
318
- ? service.registerAuto
319
- : undefined;
320
- if (registerAuto === undefined)
321
- return () => { };
322
- let integrationActive = true;
323
- const admit = () => {
324
- if (!this.active || !integrationActive) {
325
- throw new Error('assistant-policy: cannot select preset "auto" while its reviewer integration is inactive');
326
- }
327
- };
328
- // Preserve the contextual service proxy as `this`: registerAuto owns its
329
- // internal Cordis effect through the calling integration's fiber.
330
- const dispose = registerAuto.call(service, admit);
331
- if (typeof dispose !== 'function') {
332
- integrationActive = false;
333
- throw new Error('assistant-policy: permissionPresets.registerAuto returned no disposer');
334
- }
335
- return async () => {
336
- integrationActive = false;
337
- await dispose();
338
- };
339
- }, 'assistant-policy.auto-preset');
340
- }
341
370
  /**
342
371
  * Join or initiate the one process-wide durability barrier for an exact
343
372
  * legacy native-full session. `ready` means its reviewer state crossed the
@@ -356,6 +385,10 @@ export class AssistantPolicyService extends Service {
356
385
  checkpointToolPreauthorizationVersion = () => { this.assertActive(); return 1; };
357
386
  /** Exact Skills definitions may authorize only their live isolated benchmark delegation. */
358
387
  delegatedSkillToolPreauthorizationVersion = () => { this.assertActive(); return 1; };
388
+ /** Exact work-item tools may reuse their durable occurrence/owner mandate. */
389
+ workItemToolPreauthorizationVersion = () => { this.assertActive(); return 1; };
390
+ /** Exact create-only source tools may reuse a frozen, owner-bound WorkItem Growth run. */
391
+ workItemGrowthToolPreauthorizationVersion = () => { this.assertActive(); return 1; };
359
392
  /**
360
393
  * Register one trusted Host-owned, finite authorization predicate for an
361
394
  * exact live tool definition. The independent monotonic policy guard still
@@ -371,10 +404,12 @@ export class AssistantPolicyService extends Service {
371
404
  : definition.name === 'memory_manage' ? ['dsh-enhanced-personal-memory', 'PersonalMemoryService']
372
405
  : definition.name === 'wiki_upsert' ? ['dsh-enhanced-personal-wiki', 'PersonalWikiService']
373
406
  : definition.name === 'delivery_request_restart' ? ['dsh-enhanced-assistant-delivery', 'AssistantDeliveryService']
374
- : ['skill_run', 'skill_status'].includes(definition.name) ? 'dsh-enhanced-assistant-skills' : undefined;
407
+ : ['work_item_claim', 'work_item_report', 'work_item_status', 'work_item_read_report', 'work_item_list', 'work_item_recall', 'work_item_read_source', 'work_item_continue', 'work_item_read_context'].includes(definition.name) ? 'AssistantWorkItemsService'
408
+ : ['plugin_source_gaps', 'plugin_source_read', 'plugin_source_create', 'plugin_source_job_status'].includes(definition.name) ? 'dsh-enhanced-assistant-growth-driver'
409
+ : ['skill_run', 'skill_status'].includes(definition.name) ? 'dsh-enhanced-assistant-skills' : undefined;
375
410
  if (expectedCaller === undefined || !(Array.isArray(expectedCaller)
376
411
  ? expectedCaller.includes(caller.fiber.name) : caller.fiber.name === expectedCaller)) {
377
- throw new Error('assistant-policy: preauthorization is reserved for the exact owning assistant-actions, assistant-isolation, assistant-goals, assistant-proactive, assistant-skills, PersonalMemoryService or PersonalWikiService Fiber and tool');
412
+ throw new Error('assistant-policy: preauthorization is reserved for the exact owning assistant-actions, assistant-isolation, assistant-goals, assistant-proactive, assistant-skills, assistant-growth-driver, AssistantWorkItemsService, PersonalMemoryService or PersonalWikiService Fiber and tool');
378
413
  }
379
414
  if (options !== undefined && (typeof options.denialReason !== 'string' || options.denialReason.trim().length === 0 || options.denialReason.length > 512)) {
380
415
  throw new Error('assistant-policy: invalid preauthorization denial reason');
@@ -389,13 +424,14 @@ export class AssistantPolicyService extends Service {
389
424
  this.preauthorizedTools.delete(entry);
390
425
  };
391
426
  try {
392
- caller.effect(() => remove, 'assistant-policy.preauthorized-tool');
427
+ // Return Cordis' owned wrapper: invoking only `remove` would revoke the
428
+ // grant but retain its capturing effect on a long-lived caller Fiber.
429
+ return caller.effect(() => remove, 'assistant-policy.preauthorized-tool');
393
430
  }
394
431
  catch (error) {
395
432
  remove();
396
433
  throw error;
397
434
  }
398
- return remove;
399
435
  }
400
436
  /**
401
437
  * Fail closed unless a live exact tool definition has an active trusted
@@ -1017,6 +1053,61 @@ export class AssistantPolicyService extends Service {
1017
1053
  context: { initiator: authority?.initiator ?? 'foreground' },
1018
1054
  }, options);
1019
1055
  }
1056
+ /**
1057
+ * Same identity and rule evaluation as `authorizeAgent`, but a matched rule
1058
+ * budget is charged in a ledger partition owned by `options.principal`
1059
+ * (which must be the principal bound to this Agent). Lets a linked account
1060
+ * spend its own bounded quota without touching the owner's partition.
1061
+ * The returned decision carries `budgetPrincipal` only when such a charge
1062
+ * happened; an allow without a budget is returned unchanged.
1063
+ */
1064
+ authorizeAgentForPrincipal(agent, action, resource, options) {
1065
+ this.assertActive();
1066
+ if (agent === undefined)
1067
+ return this.auditAgentIdentityFailure(action, resource, 'missing-agent');
1068
+ const workspace = agent.session.header.cwd;
1069
+ if (workspace === undefined || !isAbsolute(workspace)) {
1070
+ return this.auditAgentIdentityFailure(action, resource, 'missing-workspace');
1071
+ }
1072
+ const preset = agent.session.header.agentPreset;
1073
+ if (preset === undefined || preset === '') {
1074
+ return this.auditAgentIdentityFailure(action, resource, 'missing-agent-preset');
1075
+ }
1076
+ const authority = this.initiators.get(agent);
1077
+ const request = {
1078
+ subject: {
1079
+ kind: 'agent',
1080
+ id: preset,
1081
+ workspace,
1082
+ ...(authority?.principal === undefined ? {} : { principal: authority.principal }),
1083
+ },
1084
+ action,
1085
+ resource,
1086
+ context: { initiator: authority?.initiator ?? 'foreground' },
1087
+ };
1088
+ // Evaluate first so every rule/emergency-stop denial carries exactly the
1089
+ // reason `authorizeAgent` would return; only an otherwise-allowed request
1090
+ // can fail on the partition principal. Nothing is charged on any denial.
1091
+ let decision = this.evaluate(request);
1092
+ if (decision.effect === 'allow'
1093
+ && (!validPartitionPrincipal(options.principal) || authority?.principal !== options.principal)) {
1094
+ decision = denial('budget-principal-mismatch');
1095
+ }
1096
+ else if (decision.effect === 'allow' && decision.budget !== undefined) {
1097
+ decision = this.consumeAuthorizationBudget(request.subject, decision, options.idempotencyKey, options.principal);
1098
+ if (decision.effect === 'allow')
1099
+ decision = { ...decision, budgetPrincipal: options.principal };
1100
+ }
1101
+ this.ledger.appendAudit({
1102
+ actor: `${request.subject.kind}:${request.subject.id}`,
1103
+ action: request.action,
1104
+ resource: request.resource,
1105
+ outcome: decision.effect === 'allow' ? 'allowed' : 'denied',
1106
+ reasonCode: decision.reasonCode,
1107
+ details: options.auditDetails ?? {},
1108
+ });
1109
+ return decision;
1110
+ }
1020
1111
  /**
1021
1112
  * Evaluate an agent action against the same live identity and initiator
1022
1113
  * context as authorization, without auditing or consuming a budget.
@@ -1102,7 +1193,7 @@ export class AssistantPolicyService extends Service {
1102
1193
  });
1103
1194
  return decision;
1104
1195
  }
1105
- consumeAuthorizationBudget(subject, decision, idempotencyKey) {
1196
+ consumeAuthorizationBudget(subject, decision, idempotencyKey, partitionPrincipal) {
1106
1197
  const charge = decision.budget;
1107
1198
  if (charge === undefined)
1108
1199
  return decision;
@@ -1115,7 +1206,7 @@ export class AssistantPolicyService extends Service {
1115
1206
  subject,
1116
1207
  amount: charge.amount,
1117
1208
  idempotencyKey,
1118
- });
1209
+ }, partitionPrincipal);
1119
1210
  this.ledger.finalize(reservation.reservationId, charge.amount);
1120
1211
  return decision;
1121
1212
  }
@@ -1129,7 +1220,7 @@ export class AssistantPolicyService extends Service {
1129
1220
  throw error;
1130
1221
  }
1131
1222
  }
1132
- reserveConfiguredBudget(input) {
1223
+ reserveConfiguredBudget(input, partitionPrincipal) {
1133
1224
  const budget = this.budgets.get(input.budgetId);
1134
1225
  if (budget === undefined) {
1135
1226
  throw new AssistantPolicyError('budget-not-configured', `budget is not configured: ${input.budgetId}`);
@@ -1149,6 +1240,8 @@ export class AssistantPolicyService extends Service {
1149
1240
  scope = `workspace:${input.subject.workspace}`;
1150
1241
  break;
1151
1242
  }
1243
+ if (partitionPrincipal !== undefined)
1244
+ scope = principalPartitionScope(scope, partitionPrincipal);
1152
1245
  const ledgerInput = {
1153
1246
  scope,
1154
1247
  metric: budget.metric,