instar 1.3.440 → 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/messaging/slack/SlackAdapter.d.ts.map +1 -1
- package/dist/messaging/slack/SlackAdapter.js +26 -6
- package/dist/messaging/slack/SlackAdapter.js.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/SlackUserRegistry.d.ts +64 -0
- package/dist/permissions/SlackUserRegistry.d.ts.map +1 -0
- package/dist/permissions/SlackUserRegistry.js +114 -0
- package/dist/permissions/SlackUserRegistry.js.map +1 -0
- package/dist/permissions/index.d.ts +2 -0
- package/dist/permissions/index.d.ts.map +1 -1
- package/dist/permissions/index.js +2 -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 +117 -0
- package/dist/server/routes.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +46 -46
- package/src/data/state-coherence-registry.json +12 -0
- package/upgrades/1.3.441.md +26 -0
- package/upgrades/1.3.442.md +28 -0
- package/upgrades/side-effects/mandate-user-grants.md +78 -0
- package/upgrades/side-effects/slack-org-permissions-phase1.md +68 -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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlackAdapter.d.ts","sourceRoot":"","sources":["../../../src/messaging/slack/SlackAdapter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SlackAdapter.d.ts","sourceRoot":"","sources":["../../../src/messaging/slack/SlackAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -772,14 +772,28 @@ export class SlackAdapter {
|
|
|
772
772
|
}
|
|
773
773
|
// In mention-only mode, skip messages that don't @mention the bot (except DMs and commands)
|
|
774
774
|
const isDM = channelId.startsWith('D');
|
|
775
|
-
//
|
|
776
|
-
//
|
|
777
|
-
//
|
|
775
|
+
// Slack org permission gate (Slice 0 observe-only → Phase 1 enforce).
|
|
776
|
+
// Observe-only (default): log the verdict for FP-rate measurement; never block.
|
|
777
|
+
// Enforce (opt-in, dark): on a non-allow verdict, send the conversational reply
|
|
778
|
+
// and stop processing — the gate refused / asked to clarify / requires step-up.
|
|
778
779
|
if (this.permissionObserver) {
|
|
779
780
|
const directed = isDM || this._isBotMentioned(text);
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
781
|
+
const pInput = { slackUserId: userId, displayName: userId, text, directed, channel: channelId };
|
|
782
|
+
if (this.permissionObserver.enforcing) {
|
|
783
|
+
const verdict = await this.permissionObserver.observe(pInput);
|
|
784
|
+
if (verdict && verdict.decision !== 'allow') {
|
|
785
|
+
if (verdict.message) {
|
|
786
|
+
this.sendToChannel(channelId, verdict.message, threadTs ? { thread_ts: threadTs } : undefined).catch(() => { });
|
|
787
|
+
}
|
|
788
|
+
return; // refused / clarify / step-up — do not process this message
|
|
789
|
+
}
|
|
790
|
+
// null verdict (benign gate-infra error) or an allow decision → fall through.
|
|
791
|
+
// The deterministic floor inside the gate is itself fail-closed; this fall-through
|
|
792
|
+
// covers infra hiccups only and is part of the enforce-enablement review (§4).
|
|
793
|
+
}
|
|
794
|
+
else {
|
|
795
|
+
void this.permissionObserver.observe(pInput).catch(() => { });
|
|
796
|
+
}
|
|
783
797
|
}
|
|
784
798
|
if (this.respondMode === 'mention-only' && !isDM && !this._isBotMentioned(text)) {
|
|
785
799
|
// Still populate ring buffer for context, but don't process
|
|
@@ -1769,6 +1783,12 @@ export class SlackAdapter {
|
|
|
1769
1783
|
* 2. files.info API actually responds (not just scope present)
|
|
1770
1784
|
* 3. File download auth works (redirect handling)
|
|
1771
1785
|
*/
|
|
1786
|
+
// RULE 3: EXEMPT — _selfVerify is a startup-only, WARN-ONLY credential/scope
|
|
1787
|
+
// self-diagnostic: it reads the bot token's own OAuth scopes (auth.test) and a
|
|
1788
|
+
// self-test file download to fail-fast/log on a misconfigured Slack app at init.
|
|
1789
|
+
// It is NOT ongoing provider state-detection feeding live decisions — its result
|
|
1790
|
+
// is only logged, never acted on downstream as truth, so a drift in Slack's
|
|
1791
|
+
// response degrades to a startup warning, not silent corruption (the Rule-3 class).
|
|
1772
1792
|
async _selfVerify() {
|
|
1773
1793
|
const results = [];
|
|
1774
1794
|
// ── Check 1: OAuth scopes ──────────────────────────────────────────
|