instar 1.3.441 → 1.3.442
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/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +36 -1
- package/dist/commands/server.js.map +1 -1
- package/dist/coordination/MandateStore.d.ts +30 -2
- package/dist/coordination/MandateStore.d.ts.map +1 -1
- package/dist/coordination/MandateStore.js +89 -3
- package/dist/coordination/MandateStore.js.map +1 -1
- package/dist/coordination/types.d.ts +35 -0
- package/dist/coordination/types.d.ts.map +1 -1
- package/dist/permissions/MandateBackedGrantStore.d.ts +40 -0
- package/dist/permissions/MandateBackedGrantStore.d.ts.map +1 -0
- package/dist/permissions/MandateBackedGrantStore.js +72 -0
- package/dist/permissions/MandateBackedGrantStore.js.map +1 -0
- package/dist/permissions/index.d.ts +1 -0
- package/dist/permissions/index.d.ts.map +1 -1
- package/dist/permissions/index.js +1 -0
- package/dist/permissions/index.js.map +1 -1
- package/dist/server/CapabilityIndex.d.ts.map +1 -1
- package/dist/server/CapabilityIndex.js +1 -0
- package/dist/server/CapabilityIndex.js.map +1 -1
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +57 -0
- package/dist/server/routes.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +46 -46
- package/upgrades/1.3.442.md +28 -0
- package/upgrades/side-effects/mandate-user-grants.md +78 -0
|
@@ -16,8 +16,18 @@
|
|
|
16
16
|
* (threat-model T12, out of scope) — the proof stops a forged/edited AUTHORED mandate;
|
|
17
17
|
* local-file tamper of server-managed state is the baseline trust boundary.
|
|
18
18
|
*/
|
|
19
|
-
import type { Authority, CoordinationMandate } from './types.js';
|
|
20
|
-
/**
|
|
19
|
+
import type { Authority, CoordinationMandate, UserAuthorityGrant } from './types.js';
|
|
20
|
+
/**
|
|
21
|
+
* Canonical bytes the authProof covers — the AUTHORED fields only (proof + revoked excluded).
|
|
22
|
+
*
|
|
23
|
+
* BACKWARD-COMPAT (non-negotiable): `grants` is appended to the byte sequence ONLY
|
|
24
|
+
* when it is present AND non-empty. A mandate with no grants (the pre-extension shape,
|
|
25
|
+
* `grants` undefined OR `[]`) therefore canonicalizes to the EXACT same bytes as before
|
|
26
|
+
* this extension existed — so every previously-signed mandate's stored `authProof`
|
|
27
|
+
* keeps verifying. When grants ARE present, they extend the canonical bytes (each grant
|
|
28
|
+
* as a field-ordered tuple), so the proof covers them and a grant cannot be forged or
|
|
29
|
+
* added without re-signing through the PIN-gated path.
|
|
30
|
+
*/
|
|
21
31
|
export declare function canonicalMandate(m: Omit<CoordinationMandate, 'authProof' | 'revoked'>): string;
|
|
22
32
|
export interface MandateStoreDeps {
|
|
23
33
|
/** Absolute path to the mandates JSON file. */
|
|
@@ -38,6 +48,8 @@ export interface IssueMandateInput {
|
|
|
38
48
|
expiresAt: string;
|
|
39
49
|
id?: string;
|
|
40
50
|
createdAt?: string;
|
|
51
|
+
/** Optional user→agent authority grants signed into the mandate at issuance. */
|
|
52
|
+
grants?: UserAuthorityGrant[];
|
|
41
53
|
}
|
|
42
54
|
export declare class MandateStore {
|
|
43
55
|
private readonly d;
|
|
@@ -50,6 +62,22 @@ export declare class MandateStore {
|
|
|
50
62
|
* authored bytes, persists, returns the mandate.
|
|
51
63
|
*/
|
|
52
64
|
issue(input: IssueMandateInput): CoordinationMandate;
|
|
65
|
+
/**
|
|
66
|
+
* Add user→agent authority grant(s) to an existing mandate and RE-SIGN it so the
|
|
67
|
+
* `authProof` covers the new grants (the only path that can sign a grant in — the
|
|
68
|
+
* PIN-gated route is the sole caller). Grants are validated and clamped against the
|
|
69
|
+
* mandate's own expiry: a grant's `expiresAt` may never exceed the mandate's.
|
|
70
|
+
*
|
|
71
|
+
* Returns `{ ok: false }` with a reason for a missing/revoked mandate or an invalid
|
|
72
|
+
* grant; `{ ok: true, mandate }` on success. Never partially applies.
|
|
73
|
+
*/
|
|
74
|
+
addGrants(id: string, grants: UserAuthorityGrant[]): {
|
|
75
|
+
ok: true;
|
|
76
|
+
mandate: CoordinationMandate;
|
|
77
|
+
} | {
|
|
78
|
+
ok: false;
|
|
79
|
+
reason: string;
|
|
80
|
+
};
|
|
53
81
|
/** Verify a mandate's authorship proof (T1/T2). */
|
|
54
82
|
verifyAuthorship(m: CoordinationMandate): boolean;
|
|
55
83
|
get(id: string): CoordinationMandate | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MandateStore.d.ts","sourceRoot":"","sources":["../../src/coordination/MandateStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"MandateStore.d.ts","sourceRoot":"","sources":["../../src/coordination/MandateStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAYrF;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,WAAW,GAAG,SAAS,CAAC,GAAG,MAAM,CAW9F;AAED,MAAM,WAAW,gBAAgB;IAC/B,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,sFAAsF;IACtF,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IACpC,0DAA0D;IAC1D,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACzD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,WAAW,EAAE,SAAS,EAAE,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,MAAM,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAC/B;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAmB;gBACzB,IAAI,EAAE,gBAAgB;IAIlC,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,QAAQ;IAKhB;;;OAGG;IACH,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,mBAAmB;IAyCpD;;;;;;;;OAQG;IACH,SAAS,CACP,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,kBAAkB,EAAE,GAC3B;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,mBAAmB,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAuC7E,mDAAmD;IACnD,gBAAgB,CAAC,CAAC,EAAE,mBAAmB,GAAG,OAAO;IAKjD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAIhD,IAAI,IAAI,mBAAmB,EAAE;IAI7B,0FAA0F;IAC1F,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;CAUpE"}
|
|
@@ -29,13 +29,28 @@ function stableStringify(value) {
|
|
|
29
29
|
const keys = Object.keys(obj).sort();
|
|
30
30
|
return '{' + keys.map((k) => JSON.stringify(k) + ':' + stableStringify(obj[k])).join(',') + '}';
|
|
31
31
|
}
|
|
32
|
-
/**
|
|
32
|
+
/**
|
|
33
|
+
* Canonical bytes the authProof covers — the AUTHORED fields only (proof + revoked excluded).
|
|
34
|
+
*
|
|
35
|
+
* BACKWARD-COMPAT (non-negotiable): `grants` is appended to the byte sequence ONLY
|
|
36
|
+
* when it is present AND non-empty. A mandate with no grants (the pre-extension shape,
|
|
37
|
+
* `grants` undefined OR `[]`) therefore canonicalizes to the EXACT same bytes as before
|
|
38
|
+
* this extension existed — so every previously-signed mandate's stored `authProof`
|
|
39
|
+
* keeps verifying. When grants ARE present, they extend the canonical bytes (each grant
|
|
40
|
+
* as a field-ordered tuple), so the proof covers them and a grant cannot be forged or
|
|
41
|
+
* added without re-signing through the PIN-gated path.
|
|
42
|
+
*/
|
|
33
43
|
export function canonicalMandate(m) {
|
|
34
|
-
|
|
44
|
+
const base = [
|
|
35
45
|
m.id, m.scope, m.agents,
|
|
36
46
|
m.authorities.map((a) => [a.action, a.bounds, a.requiresCondition ?? '']),
|
|
37
47
|
m.author, m.createdAt, m.expiresAt,
|
|
38
|
-
]
|
|
48
|
+
];
|
|
49
|
+
// Append-only-when-non-empty: no grants → identical bytes to a pre-extension mandate.
|
|
50
|
+
if (Array.isArray(m.grants) && m.grants.length > 0) {
|
|
51
|
+
base.push(m.grants.map((g) => [g.floorAction, g.grantedTo, g.authorizedBy, g.expiresAt, g.bounds ?? {}]));
|
|
52
|
+
}
|
|
53
|
+
return stableStringify(base);
|
|
39
54
|
}
|
|
40
55
|
export class MandateStore {
|
|
41
56
|
d;
|
|
@@ -65,9 +80,32 @@ export class MandateStore {
|
|
|
65
80
|
issue(input) {
|
|
66
81
|
const id = input.id ?? (this.d.genId ? this.d.genId() : `mandate-${Math.random().toString(36).slice(2, 10)}`);
|
|
67
82
|
const createdAt = input.createdAt ?? this.nowIso();
|
|
83
|
+
// Defense-in-depth (second-pass hardening): grants issued WITH the mandate are
|
|
84
|
+
// validated + expiry-clamped the SAME way addGrants() validates them, so a grant
|
|
85
|
+
// can never outlive the mandate that carries it regardless of caller. The HTTP
|
|
86
|
+
// issue route drops grants today; this keeps the library contract uniformly safe
|
|
87
|
+
// for any future caller, not relying solely on the query-side clamp.
|
|
88
|
+
if (input.grants && input.grants.length > 0) {
|
|
89
|
+
const mandateExpiryMs = Date.parse(input.expiresAt);
|
|
90
|
+
for (const g of input.grants) {
|
|
91
|
+
if (!g || typeof g.floorAction !== 'string' || !g.floorAction
|
|
92
|
+
|| typeof g.grantedTo !== 'string' || !g.grantedTo
|
|
93
|
+
|| typeof g.authorizedBy !== 'string' || !g.authorizedBy
|
|
94
|
+
|| typeof g.expiresAt !== 'string' || isNaN(Date.parse(g.expiresAt))) {
|
|
95
|
+
throw new Error('each grant needs a non-empty floorAction, grantedTo, authorizedBy, and a valid ISO expiresAt');
|
|
96
|
+
}
|
|
97
|
+
if (Date.parse(g.expiresAt) > mandateExpiryMs) {
|
|
98
|
+
throw new Error(`grant expiresAt (${g.expiresAt}) must be <= mandate expiresAt (${input.expiresAt})`);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
68
102
|
const authored = {
|
|
69
103
|
id, scope: input.scope, agents: input.agents, authorities: input.authorities,
|
|
70
104
|
author: input.author, createdAt, expiresAt: input.expiresAt,
|
|
105
|
+
// Append-only-when-non-empty: never set `grants` for a no-grant issuance, so the
|
|
106
|
+
// canonical bytes (and thus the proof) are byte-for-byte identical to before this
|
|
107
|
+
// extension existed.
|
|
108
|
+
...(input.grants && input.grants.length > 0 ? { grants: input.grants } : {}),
|
|
71
109
|
};
|
|
72
110
|
const mandate = {
|
|
73
111
|
...authored,
|
|
@@ -79,6 +117,54 @@ export class MandateStore {
|
|
|
79
117
|
this.writeAll(all);
|
|
80
118
|
return mandate;
|
|
81
119
|
}
|
|
120
|
+
/**
|
|
121
|
+
* Add user→agent authority grant(s) to an existing mandate and RE-SIGN it so the
|
|
122
|
+
* `authProof` covers the new grants (the only path that can sign a grant in — the
|
|
123
|
+
* PIN-gated route is the sole caller). Grants are validated and clamped against the
|
|
124
|
+
* mandate's own expiry: a grant's `expiresAt` may never exceed the mandate's.
|
|
125
|
+
*
|
|
126
|
+
* Returns `{ ok: false }` with a reason for a missing/revoked mandate or an invalid
|
|
127
|
+
* grant; `{ ok: true, mandate }` on success. Never partially applies.
|
|
128
|
+
*/
|
|
129
|
+
addGrants(id, grants) {
|
|
130
|
+
const all = this.readAll();
|
|
131
|
+
const idx = all.findIndex((m) => m.id === id);
|
|
132
|
+
if (idx < 0)
|
|
133
|
+
return { ok: false, reason: 'mandate not found' };
|
|
134
|
+
const existing = all[idx];
|
|
135
|
+
if (existing.revoked)
|
|
136
|
+
return { ok: false, reason: 'mandate is revoked' };
|
|
137
|
+
if (!Array.isArray(grants) || grants.length === 0)
|
|
138
|
+
return { ok: false, reason: 'no grants provided' };
|
|
139
|
+
const mandateExpiry = Date.parse(existing.expiresAt);
|
|
140
|
+
for (const g of grants) {
|
|
141
|
+
if (!g || typeof g.floorAction !== 'string' || !g.floorAction
|
|
142
|
+
|| typeof g.grantedTo !== 'string' || !g.grantedTo
|
|
143
|
+
|| typeof g.authorizedBy !== 'string' || !g.authorizedBy
|
|
144
|
+
|| typeof g.expiresAt !== 'string' || isNaN(Date.parse(g.expiresAt))) {
|
|
145
|
+
return { ok: false, reason: 'each grant needs non-empty floorAction, grantedTo, authorizedBy, and a valid ISO expiresAt' };
|
|
146
|
+
}
|
|
147
|
+
// A grant can NEVER outlive the delegation that carries it.
|
|
148
|
+
if (Date.parse(g.expiresAt) > mandateExpiry) {
|
|
149
|
+
return { ok: false, reason: `grant expiresAt (${g.expiresAt}) must be <= mandate expiresAt (${existing.expiresAt})` };
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
const mergedGrants = [...(existing.grants ?? []), ...grants];
|
|
153
|
+
const authored = {
|
|
154
|
+
id: existing.id, scope: existing.scope, agents: existing.agents,
|
|
155
|
+
authorities: existing.authorities, author: existing.author,
|
|
156
|
+
createdAt: existing.createdAt, expiresAt: existing.expiresAt,
|
|
157
|
+
grants: mergedGrants,
|
|
158
|
+
};
|
|
159
|
+
const resigned = {
|
|
160
|
+
...authored,
|
|
161
|
+
revoked: existing.revoked,
|
|
162
|
+
authProof: this.d.sign(canonicalMandate(authored)),
|
|
163
|
+
};
|
|
164
|
+
all[idx] = resigned;
|
|
165
|
+
this.writeAll(all);
|
|
166
|
+
return { ok: true, mandate: resigned };
|
|
167
|
+
}
|
|
82
168
|
/** Verify a mandate's authorship proof (T1/T2). */
|
|
83
169
|
verifyAuthorship(m) {
|
|
84
170
|
const { authProof, revoked, ...authored } = m;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MandateStore.js","sourceRoot":"","sources":["../../src/coordination/MandateStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B;0BAC0B;AAC1B,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9E,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAClF,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACrC,OAAO,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AAClG,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"MandateStore.js","sourceRoot":"","sources":["../../src/coordination/MandateStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,34 @@ export interface Authority {
|
|
|
24
24
|
* never from an agent's assertion. */
|
|
25
25
|
requiresCondition?: string;
|
|
26
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* A user→agent authority grant carried INSIDE a signed mandate. This is the
|
|
29
|
+
* extension that lets the human (the mandate author) delegate a Slack FLOOR
|
|
30
|
+
* action (money / prod-deploy / credentials / destructive / external / grant)
|
|
31
|
+
* to a SPECIFIC verified Slack user for a bounded time — the same deny-by-default,
|
|
32
|
+
* signed, expiring, revocable model the mandate already enforces for A2A authority.
|
|
33
|
+
*
|
|
34
|
+
* The grant is covered by the mandate's `authProof` (it is appended to the canonical
|
|
35
|
+
* byte sequence when present), so an agent cannot mint or widen a grant: only the
|
|
36
|
+
* PIN-gated issuance path can sign one in.
|
|
37
|
+
*
|
|
38
|
+
* `expiresAt` is independent of (and MUST be <= ) the mandate's own `expiresAt` —
|
|
39
|
+
* the grant can never outlive the delegation that carries it. The store-side query
|
|
40
|
+
* clamps to the mandate expiry, so a grant is void the moment EITHER clock passes.
|
|
41
|
+
*/
|
|
42
|
+
export interface UserAuthorityGrant {
|
|
43
|
+
/** The Slack FLOOR action this grant authorizes (e.g. 'prod-deploy'). Matched
|
|
44
|
+
* against the gate's `scope` (the floorAction) on lookup. */
|
|
45
|
+
floorAction: string;
|
|
46
|
+
/** The VERIFIED Slack user id (U…) this grant is for — never a content name. */
|
|
47
|
+
grantedTo: string;
|
|
48
|
+
/** Who authorized it (the human author / operator). Requester ≠ authorizer. */
|
|
49
|
+
authorizedBy: string;
|
|
50
|
+
/** ISO timestamp after which the grant is void. MUST be <= the mandate's expiresAt. */
|
|
51
|
+
expiresAt: string;
|
|
52
|
+
/** Optional bounds carried for audit/future enforcement (advisory at the floor). */
|
|
53
|
+
bounds?: Record<string, unknown>;
|
|
54
|
+
}
|
|
27
55
|
/** The human-authored delegation. `authProof` covers all other fields. */
|
|
28
56
|
export interface CoordinationMandate {
|
|
29
57
|
id: string;
|
|
@@ -41,6 +69,13 @@ export interface CoordinationMandate {
|
|
|
41
69
|
at: string;
|
|
42
70
|
reason: string;
|
|
43
71
|
} | null;
|
|
72
|
+
/**
|
|
73
|
+
* Optional user→agent authority grants (the Slack-floor delegation extension).
|
|
74
|
+
* Covered by `authProof` ONLY when present and non-empty — a mandate with no
|
|
75
|
+
* grants canonicalizes byte-for-byte identically to a pre-extension mandate, so
|
|
76
|
+
* existing signed mandates keep verifying (backward-compat is non-negotiable).
|
|
77
|
+
*/
|
|
78
|
+
grants?: UserAuthorityGrant[];
|
|
44
79
|
/** Authorship proof — an HMAC over the canonical (proof-excluded) mandate bytes,
|
|
45
80
|
* produced ONLY by the PIN-gated issuance path. An agent cannot mint or widen its
|
|
46
81
|
* own mandate without it; a forged/edited mandate fails verification. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/coordination/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,qDAAqD;AACrD,MAAM,WAAW,SAAS;IACxB,mHAAmH;IACnH,MAAM,EAAE,MAAM,CAAC;IACf,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC;;2CAEuC;IACvC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,0EAA0E;AAC1E,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,WAAW,EAAE,SAAS,EAAE,CAAC;IACzB,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/C;;8EAE0E;IAC1E,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,CAAC;AAE/C,uEAAuE;AACvE,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,0EAA0E;AAC1E,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,eAAe,CAAC;IAC1B,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,eAAe,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC,qFAAqF;IACrF,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;CACd"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/coordination/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,qDAAqD;AACrD,MAAM,WAAW,SAAS;IACxB,mHAAmH;IACnH,MAAM,EAAE,MAAM,CAAC;IACf,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC;;2CAEuC;IACvC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,kBAAkB;IACjC;kEAC8D;IAC9D,WAAW,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,SAAS,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,YAAY,EAAE,MAAM,CAAC;IACrB,uFAAuF;IACvF,SAAS,EAAE,MAAM,CAAC;IAClB,oFAAoF;IACpF,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,0EAA0E;AAC1E,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,WAAW,EAAE,SAAS,EAAE,CAAC;IACzB,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/C;;;;;OAKG;IACH,MAAM,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC9B;;8EAE0E;IAC1E,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,CAAC;AAE/C,uEAAuE;AACvE,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,0EAA0E;AAC1E,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,eAAe,CAAC;IAC1B,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,eAAe,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC,qFAAqF;IACrF,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;CACd"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MandateBackedGrantStore — resolves a Slack FLOOR-action grant for a verified
|
|
3
|
+
* principal from the SIGNED Coordination Mandate(s).
|
|
4
|
+
*
|
|
5
|
+
* This is the production `GrantStore` for `SlackPermissionGate`: instead of an
|
|
6
|
+
* ad-hoc grant table, a floor-action grant is a `UserAuthorityGrant` carried inside
|
|
7
|
+
* a mandate and covered by the mandate's `authProof`. That makes the grant:
|
|
8
|
+
* - deny-by-default (no mandate / no matching grant → undefined → refuse)
|
|
9
|
+
* - signed (an agent cannot mint or widen a grant; only the PIN-gated
|
|
10
|
+
* issuance/grant route can sign one in)
|
|
11
|
+
* - bounded + expiring (the grant has its own expiry, clamped to never outlive the
|
|
12
|
+
* mandate that carries it)
|
|
13
|
+
* - revocable (revoking the mandate voids every grant it carries)
|
|
14
|
+
*
|
|
15
|
+
* `activeGrant` returns a grant ONLY when, for a mandate that is authorship-valid,
|
|
16
|
+
* not expired, and not revoked, there exists a grant whose `grantedTo` equals the
|
|
17
|
+
* verified Slack user id, whose `floorAction` equals the requested scope, and whose
|
|
18
|
+
* effective expiry (min of grant.expiresAt and mandate.expiresAt) is still in the
|
|
19
|
+
* future. Otherwise `undefined` — the gate then falls back to the role floor.
|
|
20
|
+
*
|
|
21
|
+
* Design: docs/specs/SLACK-ORG-INTEGRATION-SPEC.md (Pillar 2, floor grants) +
|
|
22
|
+
* docs/specs/coordination-mandate.md (the signed-delegation model the grant rides on).
|
|
23
|
+
*/
|
|
24
|
+
import type { GrantStore } from './SlackPermissionGate.js';
|
|
25
|
+
import type { AuthorityGrant } from './types.js';
|
|
26
|
+
import type { MandateStore } from '../coordination/MandateStore.js';
|
|
27
|
+
export interface MandateBackedGrantStoreDeps {
|
|
28
|
+
/** The signed mandate store the grants live in. */
|
|
29
|
+
store: MandateStore;
|
|
30
|
+
}
|
|
31
|
+
export declare class MandateBackedGrantStore implements GrantStore {
|
|
32
|
+
private readonly store;
|
|
33
|
+
constructor(deps: MandateBackedGrantStoreDeps);
|
|
34
|
+
/**
|
|
35
|
+
* Resolve an active floor-action grant for `slackUserId` + `scope` as of `now` (ms).
|
|
36
|
+
* Returns the FIRST matching grant across all mandates; `undefined` if none.
|
|
37
|
+
*/
|
|
38
|
+
activeGrant(slackUserId: string, scope: string, now: number): AuthorityGrant | undefined;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=MandateBackedGrantStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MandateBackedGrantStore.d.ts","sourceRoot":"","sources":["../../src/permissions/MandateBackedGrantStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAgC,MAAM,YAAY,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE,MAAM,WAAW,2BAA2B;IAC1C,mDAAmD;IACnD,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,qBAAa,uBAAwB,YAAW,UAAU;IACxD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;gBACzB,IAAI,EAAE,2BAA2B;IAI7C;;;OAGG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;CAkCzF"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MandateBackedGrantStore — resolves a Slack FLOOR-action grant for a verified
|
|
3
|
+
* principal from the SIGNED Coordination Mandate(s).
|
|
4
|
+
*
|
|
5
|
+
* This is the production `GrantStore` for `SlackPermissionGate`: instead of an
|
|
6
|
+
* ad-hoc grant table, a floor-action grant is a `UserAuthorityGrant` carried inside
|
|
7
|
+
* a mandate and covered by the mandate's `authProof`. That makes the grant:
|
|
8
|
+
* - deny-by-default (no mandate / no matching grant → undefined → refuse)
|
|
9
|
+
* - signed (an agent cannot mint or widen a grant; only the PIN-gated
|
|
10
|
+
* issuance/grant route can sign one in)
|
|
11
|
+
* - bounded + expiring (the grant has its own expiry, clamped to never outlive the
|
|
12
|
+
* mandate that carries it)
|
|
13
|
+
* - revocable (revoking the mandate voids every grant it carries)
|
|
14
|
+
*
|
|
15
|
+
* `activeGrant` returns a grant ONLY when, for a mandate that is authorship-valid,
|
|
16
|
+
* not expired, and not revoked, there exists a grant whose `grantedTo` equals the
|
|
17
|
+
* verified Slack user id, whose `floorAction` equals the requested scope, and whose
|
|
18
|
+
* effective expiry (min of grant.expiresAt and mandate.expiresAt) is still in the
|
|
19
|
+
* future. Otherwise `undefined` — the gate then falls back to the role floor.
|
|
20
|
+
*
|
|
21
|
+
* Design: docs/specs/SLACK-ORG-INTEGRATION-SPEC.md (Pillar 2, floor grants) +
|
|
22
|
+
* docs/specs/coordination-mandate.md (the signed-delegation model the grant rides on).
|
|
23
|
+
*/
|
|
24
|
+
export class MandateBackedGrantStore {
|
|
25
|
+
store;
|
|
26
|
+
constructor(deps) {
|
|
27
|
+
this.store = deps.store;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Resolve an active floor-action grant for `slackUserId` + `scope` as of `now` (ms).
|
|
31
|
+
* Returns the FIRST matching grant across all mandates; `undefined` if none.
|
|
32
|
+
*/
|
|
33
|
+
activeGrant(slackUserId, scope, now) {
|
|
34
|
+
if (!slackUserId || !scope)
|
|
35
|
+
return undefined;
|
|
36
|
+
for (const mandate of this.store.list()) {
|
|
37
|
+
// Deny-by-default: a mandate must be authorship-valid, unrevoked, and unexpired
|
|
38
|
+
// before ANY grant it carries can be honored.
|
|
39
|
+
if (mandate.revoked)
|
|
40
|
+
continue;
|
|
41
|
+
if (!this.store.verifyAuthorship(mandate))
|
|
42
|
+
continue;
|
|
43
|
+
const mandateExpiryMs = Date.parse(mandate.expiresAt);
|
|
44
|
+
if (isNaN(mandateExpiryMs) || mandateExpiryMs <= now)
|
|
45
|
+
continue;
|
|
46
|
+
const grants = mandate.grants;
|
|
47
|
+
if (!Array.isArray(grants) || grants.length === 0)
|
|
48
|
+
continue;
|
|
49
|
+
for (const g of grants) {
|
|
50
|
+
if (g.grantedTo !== slackUserId)
|
|
51
|
+
continue;
|
|
52
|
+
if (g.floorAction !== scope)
|
|
53
|
+
continue;
|
|
54
|
+
const grantExpiryMs = Date.parse(g.expiresAt);
|
|
55
|
+
if (isNaN(grantExpiryMs))
|
|
56
|
+
continue;
|
|
57
|
+
// The grant is void the moment EITHER clock passes — clamp to the mandate.
|
|
58
|
+
const effectiveExpiryMs = Math.min(grantExpiryMs, mandateExpiryMs);
|
|
59
|
+
if (effectiveExpiryMs <= now)
|
|
60
|
+
continue;
|
|
61
|
+
return {
|
|
62
|
+
scope: scope,
|
|
63
|
+
grantedTo: g.grantedTo,
|
|
64
|
+
authorizedBy: g.authorizedBy,
|
|
65
|
+
expiresAt: effectiveExpiryMs,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return undefined;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=MandateBackedGrantStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MandateBackedGrantStore.js","sourceRoot":"","sources":["../../src/permissions/MandateBackedGrantStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAWH,MAAM,OAAO,uBAAuB;IACjB,KAAK,CAAe;IACrC,YAAY,IAAiC;QAC3C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,WAAmB,EAAE,KAAa,EAAE,GAAW;QACzD,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAE7C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YACxC,gFAAgF;YAChF,8CAA8C;YAC9C,IAAI,OAAO,CAAC,OAAO;gBAAE,SAAS;YAC9B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC;gBAAE,SAAS;YACpD,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACtD,IAAI,KAAK,CAAC,eAAe,CAAC,IAAI,eAAe,IAAI,GAAG;gBAAE,SAAS;YAE/D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAE5D,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,IAAI,CAAC,CAAC,SAAS,KAAK,WAAW;oBAAE,SAAS;gBAC1C,IAAI,CAAC,CAAC,WAAW,KAAK,KAAK;oBAAE,SAAS;gBACtC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBAC9C,IAAI,KAAK,CAAC,aAAa,CAAC;oBAAE,SAAS;gBACnC,2EAA2E;gBAC3E,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;gBACnE,IAAI,iBAAiB,IAAI,GAAG;oBAAE,SAAS;gBAEvC,OAAO;oBACL,KAAK,EAAE,KAAgD;oBACvD,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,YAAY,EAAE,CAAC,CAAC,YAAY;oBAC5B,SAAS,EAAE,iBAAiB;iBAC7B,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
|
|
@@ -8,6 +8,7 @@ export * from './IntentClassifier.js';
|
|
|
8
8
|
export * from './AnomalyScorer.js';
|
|
9
9
|
export * from './PermissionDecisionLedger.js';
|
|
10
10
|
export * from './SlackPermissionGate.js';
|
|
11
|
+
export * from './MandateBackedGrantStore.js';
|
|
11
12
|
export * from './SlackPrincipalResolver.js';
|
|
12
13
|
export * from './SlackPermissionObserver.js';
|
|
13
14
|
export * from './SlackUserRegistry.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/permissions/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/permissions/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC"}
|
|
@@ -8,6 +8,7 @@ export * from './IntentClassifier.js';
|
|
|
8
8
|
export * from './AnomalyScorer.js';
|
|
9
9
|
export * from './PermissionDecisionLedger.js';
|
|
10
10
|
export * from './SlackPermissionGate.js';
|
|
11
|
+
export * from './MandateBackedGrantStore.js';
|
|
11
12
|
export * from './SlackPrincipalResolver.js';
|
|
12
13
|
export * from './SlackPermissionObserver.js';
|
|
13
14
|
export * from './SlackUserRegistry.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/permissions/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/permissions/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CapabilityIndex.d.ts","sourceRoot":"","sources":["../../src/server/CapabilityIndex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,yEAAyE;AACzE,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,YAAY,CAAC;IAClB,iFAAiF;IACjF,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,kFAAkF;IAClF,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,kEAAkE;AAClE,MAAM,WAAW,eAAe;IAC9B,yEAAyE;IACzE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,kEAAkE;IAClE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,oDAAoD;IACpD,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,OAAO,CAAC;CAC1D;AAID,eAAO,MAAM,gBAAgB,EAAE,SAAS,eAAe,
|
|
1
|
+
{"version":3,"file":"CapabilityIndex.d.ts","sourceRoot":"","sources":["../../src/server/CapabilityIndex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,yEAAyE;AACzE,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,YAAY,CAAC;IAClB,iFAAiF;IACjF,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,kFAAkF;IAClF,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,kEAAkE;AAClE,MAAM,WAAW,eAAe;IAC9B,yEAAyE;IACzE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,kEAAkE;IAClE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,oDAAoD;IACpD,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,OAAO,CAAC;CAC1D;AAID,eAAO,MAAM,gBAAgB,EAAE,SAAS,eAAe,EAu4BtD,CAAC;AAsCF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAgE/E,CAAC;AAIF;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAUzD;AAED,mEAAmE;AACnE,wBAAgB,sBAAsB,IAAI,GAAG,CAAC,MAAM,CAAC,CAEpD;AAED,sEAAsE;AACtE,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,oBAAoB,GAC1B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMzB"}
|
|
@@ -620,6 +620,7 @@ export const CAPABILITY_INDEX = [
|
|
|
620
620
|
'GET /mandate/audit?limit=N — the chained decision audit (chain.ok:false = tampering — surface it)',
|
|
621
621
|
'POST /mandate/issue — PIN-GATED (operator only; agent Bearer token is refused)',
|
|
622
622
|
'POST /mandate/:id/revoke — PIN-GATED (the operator kill switch)',
|
|
623
|
+
'POST /mandate/:id/grants — PIN-GATED: sign user→agent floor-action grant(s) into a mandate { grants:[{floorAction,grantedTo,authorizedBy,expiresAt}] } (expiresAt MUST be <= mandate.expiresAt); re-signs so authProof covers them',
|
|
623
624
|
],
|
|
624
625
|
}),
|
|
625
626
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CapabilityIndex.js","sourceRoot":"","sources":["../../src/server/CapabilityIndex.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CapabilityIndex.js","sourceRoot":"","sources":["../../src/server/CapabilityIndex.ts"],"names":[],"mappings":"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"}
|