@stratusagent/permissions 0.12.2 → 0.12.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Standing grants for a tool judged by destination (`Tool.destinationFor`):
3
+ * `message.read` of one conversation, `message.send` to one conversation.
4
+ *
5
+ * Per tool and per destination, never wider. A tool-wide grant on
6
+ * `message.read` would be a standing yes to every conversation the app is
7
+ * in, which anyone who can talk to the agent could then have it quote
8
+ * anywhere; a grant on one conversation is the answer the approver
9
+ * actually gave, about the conversation they were shown. And per tool,
10
+ * because being allowed to read a channel is not being allowed to post in
11
+ * it.
12
+ */
13
+ export interface DestinationGrant {
14
+ /** `namespace.verb`, as the tool registered. */
15
+ tool: string;
16
+ /**
17
+ * The destination as the tool names it (`destinationFor`), which for the
18
+ * message tools is `channel:to` — `slack:C0123ABCD`. Compared exactly.
19
+ */
20
+ destination: string;
21
+ /**
22
+ * The workspace the destination was in when the approver answered, as
23
+ * the channel names it (a Slack team id). A conversation id is unique
24
+ * only within its workspace, so a grant made in one is no answer about
25
+ * the same id in another: it matches only while the agent's channel
26
+ * reports this same account. Absent for a channel that has no such
27
+ * notion, and then it matches only while the channel still reports none.
28
+ */
29
+ account?: string;
30
+ /**
31
+ * The plugin package that contributed the tool when granted; absent for a
32
+ * kernel tool. Same rule as a tool grant (`grants.ts`): the same name from
33
+ * another package, or from none, is a different tool and asks again.
34
+ */
35
+ package?: string;
36
+ /** When the approver answered, ISO-8601. */
37
+ grantedAt: string;
38
+ /** Who answered, in the ids of the channel that asked; absent at a terminal. */
39
+ grantedBy?: string;
40
+ }
41
+ /**
42
+ * `account` is the workspace the agent's channel reports now, and
43
+ * `contributor` the package contributing the tool now. Both compared
44
+ * exactly, absent included: a grant from a known workspace never matches
45
+ * while the workspace is unknown (the app is not connected), a grant with
46
+ * none never matches once the channel reports one, and a grant on one
47
+ * package's tool never covers another package's (or a kernel tool) of the
48
+ * same name.
49
+ */
50
+ export declare const matchesDestinationGrant: (tool: string, destination: string, account: string | undefined, contributor: string | undefined, grant: DestinationGrant) => boolean;
51
+ export declare const findMatchingDestinationGrant: (tool: string, destination: string, account: string | undefined, contributor: string | undefined, grants: readonly DestinationGrant[]) => DestinationGrant | undefined;
52
+ /** One line an operator can read in a log or a grant listing. */
53
+ export declare const describeDestinationGrant: (grant: DestinationGrant) => string;
54
+ /**
55
+ * One row per tool and destination: a second answer replaces the first,
56
+ * including one from another workspace, so approving again after an
57
+ * agent's app moved workspaces drops the old workspace's grant.
58
+ */
59
+ export declare const sameDestinationGrant: (left: DestinationGrant, right: DestinationGrant) => boolean;
60
+ /**
61
+ * Read one grant out of a whitelist file, or refuse it. Both the tool and
62
+ * the destination are required: a row missing either would otherwise have
63
+ * to be widened to something nobody approved.
64
+ */
65
+ export declare const parseDestinationGrant: (raw: unknown) => DestinationGrant | undefined;
66
+ //# sourceMappingURL=destinations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"destinations.d.ts","sourceRoot":"","sources":["../src/destinations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,GAClC,MAAM,MAAM,EACZ,aAAa,MAAM,EACnB,SAAS,MAAM,GAAG,SAAS,EAC3B,aAAa,MAAM,GAAG,SAAS,EAC/B,OAAO,gBAAgB,KACtB,OAG+B,CAAC;AAEnC,eAAO,MAAM,4BAA4B,GACvC,MAAM,MAAM,EACZ,aAAa,MAAM,EACnB,SAAS,MAAM,GAAG,SAAS,EAC3B,aAAa,MAAM,GAAG,SAAS,EAC/B,QAAQ,SAAS,gBAAgB,EAAE,KAClC,gBAAgB,GAAG,SAC2E,CAAC;AAElG,iEAAiE;AACjE,eAAO,MAAM,wBAAwB,GAAI,OAAO,gBAAgB,KAAG,MAC2F,CAAC;AAE/J;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,MAAM,gBAAgB,EAAE,OAAO,gBAAgB,KAAG,OACnB,CAAC;AAErE;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,KAAK,OAAO,KAAG,gBAAgB,GAAG,SAmBvE,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * `account` is the workspace the agent's channel reports now, and
3
+ * `contributor` the package contributing the tool now. Both compared
4
+ * exactly, absent included: a grant from a known workspace never matches
5
+ * while the workspace is unknown (the app is not connected), a grant with
6
+ * none never matches once the channel reports one, and a grant on one
7
+ * package's tool never covers another package's (or a kernel tool) of the
8
+ * same name.
9
+ */
10
+ export const matchesDestinationGrant = (tool, destination, account, contributor, grant) => grant.tool === tool
11
+ && grant.destination === destination
12
+ && grant.account === account
13
+ && grant.package === contributor;
14
+ export const findMatchingDestinationGrant = (tool, destination, account, contributor, grants) => grants.find((grant) => matchesDestinationGrant(tool, destination, account, contributor, grant));
15
+ /** One line an operator can read in a log or a grant listing. */
16
+ export const describeDestinationGrant = (grant) => `${grant.destination}${grant.account === undefined ? '' : ` in ${grant.account}`} (${grant.tool}${grant.package === undefined ? '' : `, ${grant.package}`})`;
17
+ /**
18
+ * One row per tool and destination: a second answer replaces the first,
19
+ * including one from another workspace, so approving again after an
20
+ * agent's app moved workspaces drops the old workspace's grant.
21
+ */
22
+ export const sameDestinationGrant = (left, right) => left.tool === right.tool && left.destination === right.destination;
23
+ /**
24
+ * Read one grant out of a whitelist file, or refuse it. Both the tool and
25
+ * the destination are required: a row missing either would otherwise have
26
+ * to be widened to something nobody approved.
27
+ */
28
+ export const parseDestinationGrant = (raw) => {
29
+ if (typeof raw !== 'object' || raw === null || Array.isArray(raw)) {
30
+ return undefined;
31
+ }
32
+ const source = raw;
33
+ if (typeof source.tool !== 'string' || source.tool.length === 0) {
34
+ return undefined;
35
+ }
36
+ if (typeof source.destination !== 'string' || source.destination.length === 0) {
37
+ return undefined;
38
+ }
39
+ return {
40
+ tool: source.tool,
41
+ destination: source.destination,
42
+ ...(typeof source.account === 'string' && source.account.length > 0 ? { account: source.account } : {}),
43
+ ...(typeof source.package === 'string' && source.package.length > 0 ? { package: source.package } : {}),
44
+ grantedAt: typeof source.grantedAt === 'string' ? source.grantedAt : new Date(0).toISOString(),
45
+ ...(typeof source.grantedBy === 'string' && source.grantedBy.length > 0 ? { grantedBy: source.grantedBy } : {}),
46
+ };
47
+ };
48
+ //# sourceMappingURL=destinations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"destinations.js","sourceRoot":"","sources":["../src/destinations.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -9,11 +9,13 @@ export { downloadInsideWorkspace, gitInsideWorkspace, gitPushInsideWorkspace, re
9
9
  import { type CommandScope } from './commands.ts';
10
10
  import { type OriginScope } from './origins.ts';
11
11
  import { type ToolGrant } from './grants.ts';
12
- import { type CommandWhitelistStore, type OriginWhitelistStore, type ToolGrantStore } from './whitelist.ts';
12
+ import { type DestinationGrant } from './destinations.ts';
13
+ import { type CommandWhitelistStore, type DestinationWhitelistStore, type OriginWhitelistStore, type ToolGrantStore } from './whitelist.ts';
13
14
  export { analyzeCommand, commandScopeFromPrefix, describeCommandScope, findCoveringScopes, findMatchingScope, matchesScope, normalizeCommandScope, NUMERIC_FLAG, parseCommandScope, sameScope, SAFE_COMMAND_SCOPES, type CommandAnalysis, type CommandScope, } from './commands.ts';
14
- export { describeOriginScope, findMatchingOriginScope, matchesOriginScope, originScopeFor, parseOriginScope, sameOriginScope, normalizeTrustedDomain, trustedDomainOf, type OriginScope, } from './origins.ts';
15
+ export { describeOriginScope, findMatchingOriginScope, matchesOriginScope, originScopeFor, parseOriginScope, sameOriginScope, normalizeTrustedDomain, SHARED_SUFFIXES, trustedDomainProblem, trustedDomainOf, type OriginScope, } from './origins.ts';
15
16
  export { describeToolGrant, findMatchingToolGrant, matchesToolGrant, parseToolGrant, sameToolGrant, type ToolGrant, } from './grants.ts';
16
- export { createFileCommandWhitelist, describeAgentGrants, whitelistPathFor, LEGACY_WHITELIST_SUFFIX, legacyWhitelistPathFor, resolveWhitelistPath, WhitelistUnreadableError, type AgentGrants, type AgentGrantsListing, type AgentGrantStore, type CommandWhitelistStore, type OriginWhitelistStore, type ToolGrantStore, } from './whitelist.ts';
17
+ export { describeDestinationGrant, findMatchingDestinationGrant, matchesDestinationGrant, parseDestinationGrant, sameDestinationGrant, type DestinationGrant, } from './destinations.ts';
18
+ export { createFileCommandWhitelist, describeAgentGrants, whitelistPathFor, LEGACY_WHITELIST_SUFFIX, legacyWhitelistPathFor, resolveWhitelistPath, WhitelistUnreadableError, type AgentGrants, type AgentGrantsListing, type AgentGrantStore, type CommandWhitelistStore, type DestinationWhitelistStore, type OriginWhitelistStore, type ToolGrantStore, } from './whitelist.ts';
17
19
  /**
18
20
  * How a policy reaches a human — or admits that it cannot.
19
21
  *
@@ -151,6 +153,12 @@ export interface PermissionDecision {
151
153
  * the one that created the grant — that one ran on a human's answer.
152
154
  */
153
155
  grant?: ToolGrant;
156
+ /**
157
+ * The per-conversation grant this call ran under, when one did
158
+ * (`message.read`/`message.send` on a destination an approver answered
159
+ * "always" for). Logged by the daemon for the same reason as `grant`.
160
+ */
161
+ destinationGrant?: DestinationGrant;
154
162
  }
155
163
  export interface PermissionPolicyOptions {
156
164
  mode: PermissionMode;
@@ -253,6 +261,28 @@ export interface DestinationScopeOptions {
253
261
  * must gate the very next send.
254
262
  */
255
263
  isPreauthorized(session: Session, destination: string): boolean | Promise<boolean>;
264
+ /**
265
+ * Where "always allow" on a call judged by destination persists, and
266
+ * where one is read back: one conversation, one tool, for this agent,
267
+ * until revoked (`destinations.ts`). Omitted, the answer holds for this
268
+ * process only, like every other grant with nowhere to go.
269
+ */
270
+ whitelist?: DestinationWhitelistStore;
271
+ /**
272
+ * The workspace the agent's channel is connected to right now, for the
273
+ * channel the destination names (the Slack team id for `slack:C…`), or
274
+ * undefined when there is none or it is not connected. A destination
275
+ * grant records it and matches only under the same one, because a
276
+ * conversation id is unique only within its workspace. Asked per call,
277
+ * so an app that moved workspaces stops matching its old grants on the
278
+ * next call.
279
+ */
280
+ accountFor?(agentId: string, destination: string): string | undefined | Promise<string | undefined>;
281
+ /** Called when a destination grant is persisted, for the daemon's log. */
282
+ onGranted?: (event: {
283
+ agentId: string;
284
+ grant: DestinationGrant;
285
+ }) => void;
256
286
  }
257
287
  export interface CommandScopeOptions {
258
288
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -10,10 +10,12 @@ export { downloadInsideWorkspace, gitInsideWorkspace, gitPushInsideWorkspace, re
10
10
  import { analyzeCommand, describeCommandScope, findCoveringScopes, findMatchingScope, normalizeCommandScope, SAFE_COMMAND_SCOPES, } from "./commands.js";
11
11
  import { describeOriginScope, findMatchingOriginScope, originScopeFor, trustedDomainOf, } from "./origins.js";
12
12
  import { describeToolGrant, findMatchingToolGrant, } from "./grants.js";
13
+ import { describeDestinationGrant, findMatchingDestinationGrant, } from "./destinations.js";
13
14
  import { WhitelistUnreadableError, } from "./whitelist.js";
14
15
  export { analyzeCommand, commandScopeFromPrefix, describeCommandScope, findCoveringScopes, findMatchingScope, matchesScope, normalizeCommandScope, NUMERIC_FLAG, parseCommandScope, sameScope, SAFE_COMMAND_SCOPES, } from "./commands.js";
15
- export { describeOriginScope, findMatchingOriginScope, matchesOriginScope, originScopeFor, parseOriginScope, sameOriginScope, normalizeTrustedDomain, trustedDomainOf, } from "./origins.js";
16
+ export { describeOriginScope, findMatchingOriginScope, matchesOriginScope, originScopeFor, parseOriginScope, sameOriginScope, normalizeTrustedDomain, SHARED_SUFFIXES, trustedDomainProblem, trustedDomainOf, } from "./origins.js";
16
17
  export { describeToolGrant, findMatchingToolGrant, matchesToolGrant, parseToolGrant, sameToolGrant, } from "./grants.js";
18
+ export { describeDestinationGrant, findMatchingDestinationGrant, matchesDestinationGrant, parseDestinationGrant, sameDestinationGrant, } from "./destinations.js";
17
19
  export { createFileCommandWhitelist, describeAgentGrants, whitelistPathFor, LEGACY_WHITELIST_SUFFIX, legacyWhitelistPathFor, resolveWhitelistPath, WhitelistUnreadableError, } from "./whitelist.js";
18
20
  /** The tool whose origin grants also cover a plain download of that site. */
19
21
  const READ_ORIGIN_TOOL = 'web.fetch';
@@ -60,12 +62,11 @@ const untilAborted = async (work, signal) => {
60
62
  * answer useless on the next one, and remembering it fleet-wide would make
61
63
  * one impatient yes permanent.
62
64
  *
63
- * Since standing grants landed this tier serves one shape only: a tool
64
- * judged by destination (`message.send`) answered outside a schedule. A
65
- * durable tool grant there would be a standing yes to every destination,
66
- * and no per-destination grant exists yet, so the session is the widest
67
- * honest lifetime. Every other unscoped gated tool goes to the standing
68
- * grant below.
65
+ * Since standing and destination grants landed this tier serves one
66
+ * narrow shape: a tool judged by destination whose input named none the
67
+ * tool could parse, so there is no conversation to grant. A durable tool
68
+ * grant there would be a standing yes to every destination, so the session
69
+ * is the widest honest lifetime.
69
70
  *
70
71
  * Joined on an escaped NUL rather than a space or a colon, because both of
71
72
  * those occur in real ids — a channel session id is
@@ -266,6 +267,8 @@ export const createPermissionPolicy = (options) => {
266
267
  const sessionOrigins = new Map();
267
268
  /** And for standing tool grants. */
268
269
  const processGrants = new Map();
270
+ /** And for destination grants. */
271
+ const processDestinations = new Map();
269
272
  const rememberForProcess = (tier, agentId, grant) => {
270
273
  tier.set(agentId, [...(tier.get(agentId) ?? []), grant]);
271
274
  };
@@ -280,7 +283,7 @@ export const createPermissionPolicy = (options) => {
280
283
  ];
281
284
  return findMatchingOriginScope(site, granted, READ_ORIGIN_TOOL) !== undefined;
282
285
  };
283
- const report = (context, allowed, reason, command, destination, origin, grant) => {
286
+ const report = (context, allowed, reason, command, destination, origin, grant, destinationGrant) => {
284
287
  onDecision?.({
285
288
  allowed,
286
289
  mode,
@@ -293,6 +296,7 @@ export const createPermissionPolicy = (options) => {
293
296
  ...(destination === undefined ? {} : { destination }),
294
297
  ...(origin === undefined ? {} : { origin }),
295
298
  ...(grant === undefined ? {} : { grant }),
299
+ ...(destinationGrant === undefined ? {} : { destinationGrant }),
296
300
  });
297
301
  return allowed;
298
302
  };
@@ -404,6 +408,13 @@ export const createPermissionPolicy = (options) => {
404
408
  // silently never matches anything.
405
409
  const originScope = reportedOrigin === undefined ? undefined : originScopeFor(reportedOrigin);
406
410
  const origin = originScope?.origin;
411
+ // Where a tool judged by destination is reading or sending, for a
412
+ // standing grant on that one conversation. Undefined when the input
413
+ // names none the tool can parse; such a call asks, and "always"
414
+ // falls back to this session, as every destination call did before.
415
+ const destination = risk === 'gated' && singlyScoped
416
+ ? context.tool.destinationFor?.(call.input)
417
+ : undefined;
407
418
  if (analysis) {
408
419
  if (analysis.disqualifiedBy) {
409
420
  // Never auto-approved, whatever the base command is: a safe scope
@@ -514,6 +525,21 @@ export const createPermissionPolicy = (options) => {
514
525
  && alwaysAllowed.has(sessionKey(session.id, call.toolName))) {
515
526
  return report(context, true, `${call.toolName} was approved for the rest of this session`);
516
527
  }
528
+ // Which workspace this destination is in right now, for binding a
529
+ // grant to it (see `DestinationScopeOptions.accountFor`).
530
+ const account = destination !== undefined
531
+ ? await destinations?.accountFor?.(session.agent.id, destination)
532
+ : undefined;
533
+ if (destination !== undefined && !externalGate) {
534
+ // Read per call, never cached here, so a revoke is the next call's answer.
535
+ const standing = findMatchingDestinationGrant(call.toolName, destination, account, contributor, [
536
+ ...(processDestinations.get(session.agent.id) ?? []),
537
+ ...(destinations?.whitelist ? await destinations.whitelist.destinationsFor(session.agent.id) : []),
538
+ ]);
539
+ if (standing) {
540
+ return report(context, true, `${call.toolName} to ${destination} ran under a standing grant for ${session.agent.id}`, undefined, destination, undefined, undefined, standing);
541
+ }
542
+ }
517
543
  if (origin !== undefined) {
518
544
  const granted = findMatchingOriginScope(origin, grantedOrigins, call.toolName);
519
545
  if (granted) {
@@ -611,7 +637,9 @@ export const createPermissionPolicy = (options) => {
611
637
  ? 'origin'
612
638
  : unscoped
613
639
  ? 'tool'
614
- : 'session';
640
+ : destination !== undefined
641
+ ? 'destination'
642
+ : 'session';
615
643
  const alwaysMeans = oneShot
616
644
  ? risk === 'dangerous'
617
645
  ? 'not remembered — a dangerous tool asks every time'
@@ -628,7 +656,9 @@ export const createPermissionPolicy = (options) => {
628
656
  ? 'always this site'
629
657
  : always === 'tool'
630
658
  ? `always for ${session.agent.name}, until revoked`
631
- : 'always this session';
659
+ : always === 'destination'
660
+ ? `always ${destination} for ${session.agent.name}, until revoked`
661
+ : 'always this session';
632
662
  const outcome = mode === 'remote'
633
663
  ? await awaitRemote(context, request, origin, oneShot, always)
634
664
  : await awaitPrompt(context, ask, command, origin, alwaysMeans);
@@ -807,6 +837,35 @@ export const createPermissionPolicy = (options) => {
807
837
  }
808
838
  return allowUnlessMoved(`${call.toolName} was approved, and ${describeToolGrant(grant)} now runs without asking for ${session.agent.id} until revoked`);
809
839
  }
840
+ if (destination !== undefined) {
841
+ // One conversation, one tool, until revoked — never the tool on
842
+ // every conversation (see `destinations.ts`).
843
+ const grant = {
844
+ tool: call.toolName,
845
+ destination,
846
+ ...(account !== undefined ? { account } : {}),
847
+ ...(contributor !== undefined ? { package: contributor } : {}),
848
+ grantedAt: new Date().toISOString(),
849
+ ...(actor !== undefined ? { grantedBy: actor } : {}),
850
+ };
851
+ if (destinations?.whitelist) {
852
+ try {
853
+ await destinations.whitelist.rememberDestination(session.agent.id, grant);
854
+ }
855
+ catch (error) {
856
+ if (!(error instanceof WhitelistUnreadableError)) {
857
+ throw error;
858
+ }
859
+ rememberForProcess(processDestinations, session.agent.id, grant);
860
+ return allowUnlessMoved(`${call.toolName} was approved, and ${describeDestinationGrant(grant)} runs without asking for ${session.agent.id} until the daemon restarts — not saved: ${error.message}`);
861
+ }
862
+ destinations.onGranted?.({ agentId: session.agent.id, grant });
863
+ }
864
+ else {
865
+ rememberForProcess(processDestinations, session.agent.id, grant);
866
+ }
867
+ return allowUnlessMoved(`${call.toolName} was approved, and ${describeDestinationGrant(grant)} now runs without asking for ${session.agent.id} until revoked`);
868
+ }
810
869
  alwaysAllowed.add(sessionKey(session.id, call.toolName));
811
870
  return allowUnlessMoved(`${call.toolName} was approved for the rest of this session`);
812
871
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/origins.d.ts CHANGED
@@ -91,6 +91,21 @@ export declare const parseOriginScope: (raw: unknown) => OriginScope | undefined
91
91
  * never widens into something nobody wrote.
92
92
  */
93
93
  export declare const normalizeTrustedDomain: (raw: string) => string | undefined;
94
+ /**
95
+ * Suffixes anyone can register a site under. Trusting `co.uk` or
96
+ * `github.io` trusts every stranger's site below it, which is never what an
97
+ * operator listing a vendor's docs meant. A short list of the common ones,
98
+ * not the Public Suffix List: that would be a dependency for every install,
99
+ * and the docs already say a trusted domain should be one site you know.
100
+ * Best-effort by design: it catches the common mistakes, and a shared host
101
+ * missing from it is a gap to add here, not a promise this list made.
102
+ */
103
+ export declare const SHARED_SUFFIXES: ReadonlySet<string>;
104
+ /**
105
+ * Why an entry is not a trusted domain, for a config error that names the
106
+ * fix, or undefined when it is one.
107
+ */
108
+ export declare const trustedDomainProblem: (raw: string) => string | undefined;
94
109
  /**
95
110
  * The trusted domain an origin is under, or undefined. https on its default
96
111
  * port only: a trusted name reached over plain http, or on some other port,
@@ -1 +1 @@
1
- {"version":3,"file":"origins.d.ts","sourceRoot":"","sources":["../src/origins.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAIH,2EAA2E;AAC3E,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,WAAW,GAAG,SAG7D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,QAAQ,MAAM,EAAE,OAAO,WAAW,EAAE,OAAO,MAAM,KAAG,OACT,CAAC;AAE/E,4EAA4E;AAC5E,eAAO,MAAM,uBAAuB,GAClC,QAAQ,MAAM,EACd,QAAQ,SAAS,WAAW,EAAE,EAC9B,OAAO,MAAM,KACZ,WAAW,GAAG,SAA4E,CAAC;AAE9F,iEAAiE;AACjE,eAAO,MAAM,mBAAmB,GAAI,OAAO,WAAW,KAAG,MACoB,CAAC;AAE9E,yFAAyF;AACzF,eAAO,MAAM,eAAe,GAAI,MAAM,WAAW,EAAE,OAAO,WAAW,KAAG,OACd,CAAC;AAE3D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,GAAI,KAAK,OAAO,KAAG,WAAW,GAAG,SAe7D,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,SAG7D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,EAAE,SAAS,SAAS,MAAM,EAAE,KAAG,MAAM,GAAG,SAcrF,CAAC"}
1
+ {"version":3,"file":"origins.d.ts","sourceRoot":"","sources":["../src/origins.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAIH,2EAA2E;AAC3E,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,WAAW,GAAG,SAG7D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,QAAQ,MAAM,EAAE,OAAO,WAAW,EAAE,OAAO,MAAM,KAAG,OACT,CAAC;AAE/E,4EAA4E;AAC5E,eAAO,MAAM,uBAAuB,GAClC,QAAQ,MAAM,EACd,QAAQ,SAAS,WAAW,EAAE,EAC9B,OAAO,MAAM,KACZ,WAAW,GAAG,SAA4E,CAAC;AAE9F,iEAAiE;AACjE,eAAO,MAAM,mBAAmB,GAAI,OAAO,WAAW,KAAG,MACoB,CAAC;AAE9E,yFAAyF;AACzF,eAAO,MAAM,eAAe,GAAI,MAAM,WAAW,EAAE,OAAO,WAAW,KAAG,OACd,CAAC;AAE3D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,GAAI,KAAK,OAAO,KAAG,WAAW,GAAG,SAe7D,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,SAG7D,CAAC;AAQF;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAY9C,CAAC;AAuCH;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,SAQ3D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,EAAE,SAAS,SAAS,MAAM,EAAE,KAAG,MAAM,GAAG,SAcrF,CAAC"}
package/dist/origins.js CHANGED
@@ -91,9 +91,80 @@ export const parseOriginScope = (raw) => {
91
91
  * never widens into something nobody wrote.
92
92
  */
93
93
  export const normalizeTrustedDomain = (raw) => {
94
+ const domain = trustedDomainSpelling(raw);
95
+ return domain !== undefined && !isSharedSuffix(domain) ? domain : undefined;
96
+ };
97
+ /** The domain an entry spells, before asking whether it is one site. */
98
+ const trustedDomainSpelling = (raw) => {
94
99
  const domain = raw.trim().toLowerCase().replace(/^\*\./, '').replace(/^\./, '');
95
100
  return /^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z][a-z0-9-]{0,62}$/.test(domain) ? domain : undefined;
96
101
  };
102
+ /**
103
+ * Suffixes anyone can register a site under. Trusting `co.uk` or
104
+ * `github.io` trusts every stranger's site below it, which is never what an
105
+ * operator listing a vendor's docs meant. A short list of the common ones,
106
+ * not the Public Suffix List: that would be a dependency for every install,
107
+ * and the docs already say a trusted domain should be one site you know.
108
+ * Best-effort by design: it catches the common mistakes, and a shared host
109
+ * missing from it is a gap to add here, not a promise this list made.
110
+ */
111
+ export const SHARED_SUFFIXES = new Set([
112
+ // Country second levels with open registration.
113
+ 'co.uk', 'org.uk', 'me.uk', 'ltd.uk', 'plc.uk', 'com.au', 'net.au', 'org.au', 'co.nz', 'org.nz',
114
+ 'co.jp', 'co.kr', 'co.in', 'co.za', 'com.br', 'com.cn', 'com.mx', 'com.tr', 'com.sg', 'com.hk',
115
+ // Hosting where every user gets a subdomain.
116
+ 'github.io', 'gitlab.io', 'vercel.app', 'netlify.app', 'pages.dev', 'workers.dev', 'fly.dev',
117
+ 'herokuapp.com', 'onrender.com', 'web.app', 'firebaseapp.com', 'appspot.com', 'azurewebsites.net',
118
+ 'cloudfront.net', 'amazonaws.com', 'blogspot.com', 'wordpress.com', 'glitch.me', 'replit.app',
119
+ 'ngrok.io', 'ngrok-free.app', 'trycloudflare.com', 'deno.dev', 'surge.sh',
120
+ // Object storage and raw file hosts, where a path or a subdomain is a
121
+ // stranger's bucket or repository.
122
+ 'storage.googleapis.com', 'blob.core.windows.net', 'r2.dev',
123
+ ]);
124
+ /**
125
+ * Hosts whose every subdomain is shared too: GitHub serves raw files,
126
+ * gists, release assets and uploads for every user from hosts under
127
+ * `githubusercontent.com`, so the parent and anything below it is refused.
128
+ */
129
+ const SHARED_PARENTS = ['githubusercontent.com'];
130
+ // AWS hands out names inside service namespaces, region by region:
131
+ // `bucket.s3.us-east-1.amazonaws.com`, `id.execute-api.eu-west-1.amazonaws.com`.
132
+ // Listing each would be hundreds of entries, so an entry under these bases
133
+ // whose every label is a service or a region is the namespace, and refused;
134
+ // one with a tenant's label (a bucket, an API id) is that tenant's name.
135
+ // S3 is matched as a family (`s3`, `s3-accelerate`, `s3-website-us-east-1`,
136
+ // `s3-control`, ...) because AWS keeps adding endpoint kinds; a bucket that
137
+ // happens to be named `s3-something` and is listed bare is refused too, with
138
+ // the same error, which is the safe direction.
139
+ const AWS_BASES = ['amazonaws.com', 'amazonaws.com.cn', 'amazonaws.eu', 'on.aws'];
140
+ // `us-east-1`, `us-gov-west-1`, `us-isob-east-1`, `cn-north-1`, and the
141
+ // sovereign cloud's `eusc-de-east-1`.
142
+ const AWS_REGION = '[a-z]{2,4}(?:-gov|-iso[a-z]?)?(?:-[a-z]+){1,2}-\\d';
143
+ const AWS_NAMESPACE_LABEL = new RegExp(`^(?:${AWS_REGION}|s3(?:-[a-z0-9-]+)?|dualstack`
144
+ + '|execute-api|lambda-url|elb|compute|compute-1|vpce)$');
145
+ const isAwsNamespace = (domain) => AWS_BASES.some((base) => {
146
+ if (domain === base) {
147
+ return true;
148
+ }
149
+ return domain.endsWith(`.${base}`)
150
+ && domain.slice(0, -base.length - 1).split('.').every((label) => AWS_NAMESPACE_LABEL.test(label));
151
+ });
152
+ const isSharedSuffix = (domain) => SHARED_SUFFIXES.has(domain)
153
+ || SHARED_PARENTS.some((parent) => domain === parent || domain.endsWith(`.${parent}`))
154
+ || isAwsNamespace(domain);
155
+ /**
156
+ * Why an entry is not a trusted domain, for a config error that names the
157
+ * fix, or undefined when it is one.
158
+ */
159
+ export const trustedDomainProblem = (raw) => {
160
+ const domain = trustedDomainSpelling(raw);
161
+ if (domain === undefined) {
162
+ return 'not a domain';
163
+ }
164
+ return isSharedSuffix(domain)
165
+ ? `${domain} is a suffix anyone can register a site under, so trusting it trusts every site below it. Name the site instead (stratuslabs.github.io, not github.io)`
166
+ : undefined;
167
+ };
97
168
  /**
98
169
  * The trusted domain an origin is under, or undefined. https on its default
99
170
  * port only: a trusted name reached over plain http, or on some other port,
@@ -1 +1 @@
1
- {"version":3,"file":"origins.js","sourceRoot":"","sources":["../src/origins.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"origins.js","sourceRoot":"","sources":["../src/origins.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { type CommandScope } from './commands.ts';
2
2
  import { type ToolGrant } from './grants.ts';
3
+ import { type DestinationGrant } from './destinations.ts';
3
4
  import { type OriginScope } from './origins.ts';
4
5
  /**
5
6
  * What one agent may run unattended, beyond the built-in safe list.
@@ -40,11 +41,21 @@ export interface ToolGrantStore {
40
41
  toolGrantsFor(agentId: string): Promise<ToolGrant[]>;
41
42
  rememberTool(agentId: string, grant: ToolGrant): Promise<void>;
42
43
  }
44
+ /**
45
+ * Which conversations one agent may read or send to unattended — the
46
+ * fourth answer in the same file, for a tool judged by destination
47
+ * (`Tool.destinationFor`). See `destinations.ts`.
48
+ */
49
+ export interface DestinationWhitelistStore {
50
+ destinationsFor(agentId: string): Promise<DestinationGrant[]>;
51
+ rememberDestination(agentId: string, grant: DestinationGrant): Promise<void>;
52
+ }
43
53
  /** Everything one agent may do unattended beyond the built-in safe list, as one read. */
44
54
  export interface AgentGrants {
45
55
  scopes: CommandScope[];
46
56
  origins: OriginScope[];
47
57
  tools: ToolGrant[];
58
+ destinations: DestinationGrant[];
48
59
  }
49
60
  /**
50
61
  * One agent's grants as an operator reads them — every kind, each with the
@@ -63,6 +74,9 @@ export interface AgentGrantsListing {
63
74
  description: string;
64
75
  }>;
65
76
  tools: ToolGrant[];
77
+ destinations: Array<DestinationGrant & {
78
+ description: string;
79
+ }>;
66
80
  }
67
81
  export declare const describeAgentGrants: (grants: AgentGrants) => AgentGrantsListing;
68
82
  /**
@@ -77,7 +91,7 @@ export declare const describeAgentGrants: (grants: AgentGrants) => AgentGrantsLi
77
91
  * removal is visible to the next call on this store at once: a revoked
78
92
  * grant that kept working until a restart would be a ratchet with a delay.
79
93
  */
80
- export interface AgentGrantStore extends CommandWhitelistStore, OriginWhitelistStore, ToolGrantStore {
94
+ export interface AgentGrantStore extends CommandWhitelistStore, OriginWhitelistStore, ToolGrantStore, DestinationWhitelistStore {
81
95
  grantsFor(agentId: string): Promise<AgentGrants>;
82
96
  /**
83
97
  * By the line the listing shows (`describeCommandScope`), since that is
@@ -87,6 +101,8 @@ export interface AgentGrantStore extends CommandWhitelistStore, OriginWhitelistS
87
101
  forgetScope(agentId: string, description: string): Promise<boolean>;
88
102
  forgetOrigin(agentId: string, origin: string): Promise<boolean>;
89
103
  forgetTool(agentId: string, tool: string): Promise<boolean>;
104
+ /** Every grant on this destination, or only `tool`'s when one is named. */
105
+ forgetDestination(agentId: string, destination: string, tool?: string): Promise<boolean>;
90
106
  }
91
107
  /**
92
108
  * `<agentsDirectory>/<id>/whitelist.json` — inside the agent's own state
@@ -1 +1 @@
1
- {"version":3,"file":"whitelist.d.ts","sourceRoot":"","sources":["../src/whitelist.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"whitelist.d.ts","sourceRoot":"","sources":["../src/whitelist.ts"],"names":[],"mappings":"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"}
package/dist/whitelist.js CHANGED
@@ -4,6 +4,7 @@ import path from 'node:path';
4
4
  import { assertDerivedStatePath } from "./state-directory.js";
5
5
  import { describeCommandScope, parseCommandScope, sameScope } from "./commands.js";
6
6
  import { parseToolGrant, sameToolGrant } from "./grants.js";
7
+ import { describeDestinationGrant, parseDestinationGrant, sameDestinationGrant, } from "./destinations.js";
7
8
  import { describeOriginScope, parseOriginScope, sameOriginScope } from "./origins.js";
8
9
  export const describeAgentGrants = (grants) => ({
9
10
  scopes: grants.scopes.map((scope) => ({ description: describeCommandScope(scope), scope })),
@@ -13,6 +14,7 @@ export const describeAgentGrants = (grants) => ({
13
14
  description: describeOriginScope(scope),
14
15
  })),
15
16
  tools: [...grants.tools],
17
+ destinations: grants.destinations.map((grant) => ({ ...grant, description: describeDestinationGrant(grant) })),
16
18
  });
17
19
  const WHITELIST_VERSION = 1;
18
20
  /**
@@ -223,6 +225,7 @@ export const createFileCommandWhitelist = (options) => {
223
225
  let scopes = [];
224
226
  let origins = [];
225
227
  let tools = [];
228
+ let destinations = [];
226
229
  // The agent id is a validated invariant by the time it reaches any
227
230
  // path join (see 03) — it is a single path segment or it was refused
228
231
  // at the parse boundary, so this does not re-check it.
@@ -258,6 +261,11 @@ export const createFileCommandWhitelist = (options) => {
258
261
  tools = Array.isArray(parsed.tools)
259
262
  ? parsed.tools.map(parseToolGrant).filter((grant) => grant !== undefined)
260
263
  : [];
264
+ destinations = Array.isArray(parsed.destinations)
265
+ ? parsed.destinations
266
+ .map(parseDestinationGrant)
267
+ .filter((grant) => grant !== undefined)
268
+ : [];
261
269
  }
262
270
  }
263
271
  catch (error) {
@@ -267,7 +275,7 @@ export const createFileCommandWhitelist = (options) => {
267
275
  // over one read that had to wait too long.
268
276
  cache.delete(agentId);
269
277
  options.warn?.(`${file} was not read (${error.reason}); ${agentId} is treated as having no grants until the next call reads it.`);
270
- return { scopes: [], origins: [], tools: [] };
278
+ return { scopes: [], origins: [], tools: [], destinations: [] };
271
279
  }
272
280
  // No whitelist means no stored scopes, and is not worth failing a
273
281
  // turn over: the fallback is asking a human, which is where an agent
@@ -282,12 +290,13 @@ export const createFileCommandWhitelist = (options) => {
282
290
  scopes = [];
283
291
  origins = [];
284
292
  tools = [];
293
+ destinations = [];
285
294
  const reason = error instanceof Error ? error.message : String(error);
286
295
  unreadable.set(agentId, { file, reason });
287
296
  options.warn?.(`${file} could not be read (${reason}); its scopes are ignored and "always" answers for ${agentId} `
288
297
  + 'are not saved over it until it is fixed and the daemon restarted.');
289
298
  }
290
- return { scopes, origins, tools };
299
+ return { scopes, origins, tools, destinations };
291
300
  };
292
301
  /**
293
302
  * Every list, always — a write of one carries the others through
@@ -305,6 +314,7 @@ export const createFileCommandWhitelist = (options) => {
305
314
  scopes: grants.scopes,
306
315
  ...(grants.origins.length > 0 ? { origins: grants.origins } : {}),
307
316
  ...(grants.tools.length > 0 ? { tools: grants.tools } : {}),
317
+ ...(grants.destinations.length > 0 ? { destinations: grants.destinations } : {}),
308
318
  };
309
319
  const body = `${JSON.stringify(file, null, 2)}\n`;
310
320
  const current = whitelistPathFor(options.directory, agentId);
@@ -492,9 +502,26 @@ export const createFileCommandWhitelist = (options) => {
492
502
  await save(agentId, { ...grants, tools: [...kept, grant] });
493
503
  });
494
504
  },
505
+ async destinationsFor(agentId) {
506
+ return [...(await read(agentId)).destinations];
507
+ },
508
+ async rememberDestination(agentId, grant) {
509
+ return serialized(agentId, async () => {
510
+ const grants = await readForChange(agentId);
511
+ refuseIfUnreadable(agentId);
512
+ // Replaces rather than skips, so the row carries the latest answer.
513
+ const kept = grants.destinations.filter((existing) => !sameDestinationGrant(existing, grant));
514
+ await save(agentId, { ...grants, destinations: [...kept, grant] });
515
+ });
516
+ },
495
517
  async grantsFor(agentId) {
496
518
  const grants = await read(agentId);
497
- return { scopes: [...grants.scopes], origins: [...grants.origins], tools: [...grants.tools] };
519
+ return {
520
+ scopes: [...grants.scopes],
521
+ origins: [...grants.origins],
522
+ tools: [...grants.tools],
523
+ destinations: [...grants.destinations],
524
+ };
498
525
  },
499
526
  async forgetScope(agentId, description) {
500
527
  return serialized(agentId, async () => {
@@ -520,6 +547,18 @@ export const createFileCommandWhitelist = (options) => {
520
547
  return true;
521
548
  });
522
549
  },
550
+ async forgetDestination(agentId, destination, tool) {
551
+ return serialized(agentId, async () => {
552
+ const grants = await readForChange(agentId);
553
+ refuseIfUnreadable(agentId);
554
+ const kept = grants.destinations.filter((grant) => grant.destination !== destination || (tool !== undefined && grant.tool !== tool));
555
+ if (kept.length === grants.destinations.length) {
556
+ return false;
557
+ }
558
+ await save(agentId, { ...grants, destinations: kept });
559
+ return true;
560
+ });
561
+ },
523
562
  async forgetTool(agentId, tool) {
524
563
  return serialized(agentId, async () => {
525
564
  const grants = await readForChange(agentId);
@@ -1 +1 @@
1
- {"version":3,"file":"whitelist.js","sourceRoot":"","sources":["../src/whitelist.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"whitelist.js","sourceRoot":"","sources":["../src/whitelist.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stratusagent/permissions",
3
- "version": "0.12.2",
3
+ "version": "0.12.4",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -17,7 +17,7 @@
17
17
  "node": ">=22.13 <23 || >=23.4"
18
18
  },
19
19
  "dependencies": {
20
- "@stratusagent/core": "0.12.2"
20
+ "@stratusagent/core": "0.12.4"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@types/node": "^24.6.0",