@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.
- package/README.md +78 -10
- package/bin/dsh-plugin-setup.js +7 -0
- package/lib/approval-reviewer.d.ts +2 -0
- package/lib/approval-reviewer.d.ts.map +1 -1
- package/lib/approval-reviewer.js +10 -13
- package/lib/approval-reviewer.js.map +1 -1
- package/lib/auto-review.d.ts.map +1 -1
- package/lib/auto-review.js +6 -2
- package/lib/auto-review.js.map +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/permission-setup.d.ts +1 -1
- package/lib/permission-setup.d.ts.map +1 -1
- package/lib/permission-setup.js +13 -6
- package/lib/permission-setup.js.map +1 -1
- package/lib/plugin-setup.d.ts +167 -0
- package/lib/plugin-setup.d.ts.map +1 -0
- package/lib/plugin-setup.js +975 -0
- package/lib/plugin-setup.js.map +1 -0
- package/lib/profile-setup.d.ts +5 -1
- package/lib/profile-setup.d.ts.map +1 -1
- package/lib/profile-setup.js +9 -6
- package/lib/profile-setup.js.map +1 -1
- package/lib/service.d.ts +19 -17
- package/lib/service.d.ts.map +1 -1
- package/lib/service.js +151 -58
- package/lib/service.js.map +1 -1
- package/lib/types.d.ts +6 -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 +13 -8
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-setup.js","sourceRoot":"","sources":["../src/plugin-setup.ts"],"names":[],"mappings":"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"}
|
package/lib/profile-setup.d.ts
CHANGED
|
@@ -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,
|
|
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"}
|
package/lib/profile-setup.js
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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);
|
package/lib/profile-setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile-setup.js","sourceRoot":"","sources":["../src/profile-setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEpE,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAA;AACzC,MAAM,
|
|
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.
|
package/lib/service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAGA,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,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACtF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AACrE,OAAO,EAAsD,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAE5G,OAAO,EAAuB,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAGA,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,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACtF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AACrE,OAAO,EAAsD,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAE5G,OAAO,EAAuB,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAevF,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAChC,KAAK,6BAA6B,EAClC,KAAK,8BAA8B,EACnC,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC3B,KAAK,UAAU,EAEf,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACxB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAEV,cAAc,EACd,eAAe,EACf,aAAa,EACb,cAAc,EACd,UAAU,EACV,aAAa,EACd,MAAM,YAAY,CAAA;AAEnB,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAA;CAC1C;AAED,MAAM,WAAW,MAAM;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACpC,UAAU,CAAC,EAAE,gBAAgB,CAAA;IAC7B,KAAK,CAAC,EAAE,UAAU,EAAE,CAAA;IACpB,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAA;IAC9B,6BAA6B,CAAC,EAAE,MAAM,CAAA;CACvC;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,aAAa,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,6BAA8B,SAAQ,oBAAoB;IACzE,uGAAuG;IACvG,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,qGAAqG;AACrG,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEpF;AAWD,MAAM,WAAW,6BAA6B;IAC5C,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,KAAK,EAAE,uBAAuB,CAAA;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAC/B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAA;IACjC,QAAQ,CAAC,YAAY,EAAE,QAAQ,GAAG,MAAM,CAAA;IACxC,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAA;IAC3D,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,QAAQ,CAAC,2BAA2B,CAAC,GAAG,SAAS,CAAA;IACrF,sEAAsE;IACtE,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,OAAO,CAAA;CAC9C;AAeD,sEAAsE;AACtE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAA;IACrC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAA;IAC5C,QAAQ,CAAC,OAAO,EAAE,SAAS,kBAAkB,EAAE,CAAA;IAC/C,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAA;CACvD;AA+DD,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,OAAO;QACf,eAAe,EAAE,sBAAsB,CAAA;KACxC;CACF;AAcD,MAAM,MAAM,gCAAgC,GAAG,gBAAgB,GAAG,OAAO,GAAG,aAAa,CAAA;AA6FzF,qBAAa,sBAAuB,SAAQ,OAAO;IACjD,MAAM,CAAC,MAAM,iBAAe;IAE5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyC;IACjE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkB;IACpD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyB;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuC;IAClE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA8B;IAClE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA8B;IAClE,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAyD;IACnG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA+B;IAClE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA4B;IAChE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAwB;IACzD,OAAO,CAAC,mBAAmB,CAAiC;IAC5D,OAAO,CAAC,MAAM,CAAO;IAErB,gFAAgF;IAChF,6BAA6B,CAAC,QAAQ,EAAE,qBAAqB,GAAG,MAAM,IAAI;IAK1E,sFAAsF;IACtF,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,OAAO;gBAIvD,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,6BAAkC;IAyKpF;;;;;;OAMG;IACG,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAK9F,qGAAqG;IACrG,kCAAkC,QAAO,CAAC,CAAqC;IAC/E,uFAAuF;IACvF,qCAAqC,QAAO,CAAC,CAAqC;IAClF,4FAA4F;IAC5F,yCAAyC,QAAO,CAAC,CAAqC;IACtF,8EAA8E;IAC9E,mCAAmC,QAAO,CAAC,CAAqC;IAChF,0FAA0F;IAC1F,yCAAyC,QAAO,CAAC,CAAqC;IAEtF;;;;;OAKG;IACH,yBAAyB,CACvB,MAAM,EAAE,OAAO,EACf,UAAU,EAAE,cAAc,EAC1B,SAAS,EAAE,CAAC,SAAS,EAAE,aAAa,KAAK,OAAO,EAChD,OAAO,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GACjC,MAAM,IAAI;IAqCb;;;OAGG;IACH,mBAAmB,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO;IAItD,OAAO,CAAC,yBAAyB;IAsBjC,OAAO,CAAC,mBAAmB;YAmBb,wBAAwB;IA2HtC,OAAO,CAAC,YAAY;IAIpB,8FAA8F;IAC9F,wBAAwB,IAAI,QAAQ,CAAC,uBAAuB,CAAC;IAK7D,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,cAAc;IAMhD,SAAS,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,GAAE,oBAAyB,GAAG,cAAc;IAgBrF,wGAAwG;IACxG,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,kBAAkB,CAAC,GAAG,SAAS;IAK3E,OAAO,CAAC,KAAK,EAAE,4BAA4B,GAAG,uBAAuB;IAcrE,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,uBAAuB;IAc9E,OAAO,CAAC,aAAa,EAAE,MAAM,GAAG,uBAAuB;IAcvD;;;;OAIG;IACH,uBAAuB,CAAC,cAAc,EAAE,MAAM,GAAG,uBAAuB,GAAG,SAAS;IAgBpF,OAAO,CAAC,KAAK,EAAE,qBAAqB,GAAG,sBAAsB;IAc7D,cAAc,CAAC,KAAK,EAAE,qBAAqB,GAAG,sBAAsB;IAcpE,eAAe,CAAC,KAAK,SAAM,GAAG,MAAM;IAKpC;;;;OAIG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,wBAAwB,GAAG,SAAS;IAKrE;;;OAGG;IACH,2BAA2B,CAAC,KAAK,EAAE,2BAA2B,GAAG,wBAAwB,GAAG,SAAS;IAKrG;;;;OAIG;IACH,uBAAuB,CAAC,KAAK,EAAE,6BAA6B,GAAG,8BAA8B;IAiC7F,qGAAqG;IAC/F,uBAAuB,CAAC,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAuH/F,6BAA6B,CAC3B,KAAK,SAAM,EACX,KAAK,CAAC,EAAE,QAAQ,CAAC,OAAO,aAAa,EAAE,sBAAsB,CAAC,GAC7D,wBAAwB,EAAE;IAK7B,+EAA+E;IAC/E,0BAA0B,CAAC,KAAK,EAAE,uBAAuB,EAAE,KAAK,SAAK,GAAG,2BAA2B;IAKnG,4BAA4B,CAC1B,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,GACtB,sBAAsB;IA6BzB,gBAAgB,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,kBAAkB;IAchG,gBAAgB,IAAI,kBAAkB;IAKtC,UAAU,CAAC,OAAO,GAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,UAAU,EAAE;IAKlF,MAAM,IAAI;QAAE,aAAa,EAAE,OAAO,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAA;KAAE;IAQ/D,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,IAAI;IAmBvF,cAAc,CACZ,KAAK,EAAE,KAAK,GAAG,SAAS,EACxB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,cAAc,EACxB,OAAO,GAAE,oBAAyB,GACjC,cAAc;IAyBjB;;;;;;;OAOG;IACH,0BAA0B,CACxB,KAAK,EAAE,KAAK,GAAG,SAAS,EACxB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,6BAA6B,GACrC,cAAc;IA6CjB;;;OAGG;IACH,aAAa,CACX,KAAK,EAAE,KAAK,GAAG,SAAS,EACxB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,cAAc,GACvB,cAAc;IAqBjB,sBAAsB,CAAC,SAAS,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,cAAc;IAkD1E,OAAO,CAAC,yBAAyB;IAiBjC,OAAO,CAAC,0BAA0B;IA+BlC,OAAO,CAAC,uBAAuB;IAgC/B,OAAO,CAAC,wBAAwB;CAmBjC;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,SAAS,CAUhF;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAE3C,QAAQ,CAAC,IAAI,EAAE,uBAAuB,GAAG,mBAAmB;gBAAnD,IAAI,EAAE,uBAAuB,GAAG,mBAAmB,EAC5D,OAAO,EAAE,MAAM;CAKlB;AAED,eAAO,MAAM,MAAM,gBAAgC,CAAA"}
|
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
|
|
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
|
-
&&
|
|
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(
|
|
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
|
-
|
|
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
|
-
: ['
|
|
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
|
-
|
|
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,
|