@cat-factory/server 0.295.0 → 0.296.0
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/agents/toolServers.d.ts.map +1 -1
- package/dist/agents/toolServers.js +15 -1
- package/dist/agents/toolServers.js.map +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +10 -0
- package/dist/app.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/modules/agentKinds/AgentKindsController.d.ts +46 -0
- package/dist/modules/agentKinds/AgentKindsController.d.ts.map +1 -0
- package/dist/modules/agentKinds/AgentKindsController.js +56 -0
- package/dist/modules/agentKinds/AgentKindsController.js.map +1 -0
- package/dist/modules/persistence/PersistenceController.d.ts.map +1 -1
- package/dist/modules/persistence/PersistenceController.js +6 -161
- package/dist/modules/persistence/PersistenceController.js.map +1 -1
- package/dist/modules/persistence/dispatchScope.d.ts +16 -0
- package/dist/modules/persistence/dispatchScope.d.ts.map +1 -0
- package/dist/modules/persistence/dispatchScope.js +307 -0
- package/dist/modules/persistence/dispatchScope.js.map +1 -0
- package/dist/persistence/agentKinds.d.ts +43 -0
- package/dist/persistence/agentKinds.d.ts.map +1 -0
- package/dist/persistence/agentKinds.js +99 -0
- package/dist/persistence/agentKinds.js.map +1 -0
- package/dist/persistence/rpc-allowlist-libraries.d.ts +4 -0
- package/dist/persistence/rpc-allowlist-libraries.d.ts.map +1 -0
- package/dist/persistence/rpc-allowlist-libraries.js +209 -0
- package/dist/persistence/rpc-allowlist-libraries.js.map +1 -0
- package/dist/persistence/rpc-allowlist-vcs.d.ts +24 -0
- package/dist/persistence/rpc-allowlist-vcs.d.ts.map +1 -0
- package/dist/persistence/rpc-allowlist-vcs.js +119 -0
- package/dist/persistence/rpc-allowlist-vcs.js.map +1 -0
- package/dist/persistence/rpc-allowlist.d.ts.map +1 -1
- package/dist/persistence/rpc-allowlist.js +66 -249
- package/dist/persistence/rpc-allowlist.js.map +1 -1
- package/dist/persistence/rpc-scope.logic.d.ts +46 -0
- package/dist/persistence/rpc-scope.logic.d.ts.map +1 -1
- package/dist/persistence/rpc-scope.logic.js +109 -0
- package/dist/persistence/rpc-scope.logic.js.map +1 -1
- package/dist/persistence/rpc.d.ts +111 -0
- package/dist/persistence/rpc.d.ts.map +1 -1
- package/dist/persistence/rpc.js +42 -44
- package/dist/persistence/rpc.js.map +1 -1
- package/package.json +6 -6
|
@@ -1,4 +1,50 @@
|
|
|
1
1
|
import type { DispatchOptions, DispatchResult, LibrarySourceEntity } from './rpc';
|
|
2
|
+
/**
|
|
3
|
+
* The `workspaceList` kind: every named workspace must resolve to an in-scope account. The reads
|
|
4
|
+
* taking one answer with a SUBSET of the list, so binding the INPUT bounds the output: an
|
|
5
|
+
* out-of-scope candidate fails closed rather than being quietly filtered, which would turn the read
|
|
6
|
+
* into a probe for which boards link a repo. An empty list is a no-op read.
|
|
7
|
+
*
|
|
8
|
+
* ONE batched read resolves the whole list: a point read per id is the N+1 this layer bans, and
|
|
9
|
+
* the list a caller sends is unbounded by anything but its own request.
|
|
10
|
+
*/
|
|
11
|
+
export declare function checkWorkspaceListScope(ids: unknown, opts: DispatchOptions, inScope: (accountId: string | null | undefined) => boolean, denied: DispatchResult): Promise<DispatchResult | undefined>;
|
|
12
|
+
/**
|
|
13
|
+
* The `installationList` kind: the connect page's batched annotation read, "which of the ids the
|
|
14
|
+
* provider just offered are already bound here".
|
|
15
|
+
*
|
|
16
|
+
* An id WITH a binding must be in scope; an id with NO binding is admitted, because refusing it
|
|
17
|
+
* would make the read unusable for its only purpose and it discloses nothing the caller did not
|
|
18
|
+
* send. An unreadable table still fails closed, as does a missing resolver.
|
|
19
|
+
*
|
|
20
|
+
* The whole list resolves in one batched read: the ids come straight off a provider's installation
|
|
21
|
+
* list, so a point read per id is an N+1 sized by someone else's org.
|
|
22
|
+
*/
|
|
23
|
+
export declare function checkInstallationListScope(ids: unknown, opts: DispatchOptions, inScope: (accountId: string | null | undefined) => boolean, denied: DispatchResult): Promise<DispatchResult | undefined>;
|
|
24
|
+
/**
|
|
25
|
+
* The `serviceInsert` record write (`registerServiceForFrame`). Bind the DECLARED `accountId` (the
|
|
26
|
+
* row lands there and is later listed from it) AND the `frameBlockId` the service claims.
|
|
27
|
+
*
|
|
28
|
+
* The frame-block half is what stops a service being planted on another org's frame: `resolveRepoTarget`
|
|
29
|
+
* walks frame block → service on every dispatch, and `getByFrameBlock` resolves by frame block id alone,
|
|
30
|
+
* so a foreign row could redirect that org's runs at a repo the caller controls. It is a THREE-state
|
|
31
|
+
* lookup rather than a nullable read because the ordinary case is an absent block: the service row is
|
|
32
|
+
* written BEFORE its frame block exists, so `absent` is the create this rule must admit, while
|
|
33
|
+
* `unreadable` must not be spent as that admission (the same reason `ownerFieldUpsert` gives). Block ids
|
|
34
|
+
* are server-minted, so admitting an unknown one grants nothing: a caller cannot name the id another
|
|
35
|
+
* tenant will later be given.
|
|
36
|
+
*/
|
|
37
|
+
export declare function checkServiceInsertScope(record: unknown, opts: DispatchOptions, inScope: (accountId: string | null | undefined) => boolean, denied: DispatchResult): Promise<DispatchResult | undefined>;
|
|
38
|
+
/**
|
|
39
|
+
* The `serviceUpdate` pair (`serviceRepository.update(id, patch)`). Bind the STORED service's owning
|
|
40
|
+
* account, and the account a patch would re-home the service INTO.
|
|
41
|
+
*
|
|
42
|
+
* `ServicePatch` may carry an `accountId`, and a service's account decides which org's catalog offers
|
|
43
|
+
* it for mounting, so an unbound patch would let a caller push an attacker-authored frame into another
|
|
44
|
+
* org's mountable set. An explicit null is refused rather than admitted: an account-less service is the
|
|
45
|
+
* legacy/unscoped row, which no scoped token may create.
|
|
46
|
+
*/
|
|
47
|
+
export declare function checkServiceUpdateScope(serviceId: unknown, patch: unknown, opts: DispatchOptions, inScope: (accountId: string | null | undefined) => boolean, denied: DispatchResult): Promise<DispatchResult | undefined>;
|
|
2
48
|
/**
|
|
3
49
|
* Token-scope checks for the record/owner-pair {@link ScopeRule} kinds, split out of `rpc.ts` so the
|
|
4
50
|
* dispatch module stays under its size budget. Pure code motion — each function keeps the exact
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc-scope.logic.d.ts","sourceRoot":"","sources":["../../src/persistence/rpc-scope.logic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAA;AAEjF;;;;;GAKG;AAEH;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,KAAK,OAAO,EAC1D,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAmBrC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,KAAK,OAAO,EAC1D,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAarC;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,KAAK,OAAO,EAC1D,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAUrC;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE,OAAO,EACjB,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,KAAK,OAAO,EAC1D,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAOrC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,KAAK,OAAO,EAC1D,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAqCrC"}
|
|
1
|
+
{"version":3,"file":"rpc-scope.logic.d.ts","sourceRoot":"","sources":["../../src/persistence/rpc-scope.logic.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `workspaceList` kind: every named workspace must resolve to an in-scope account. The reads
|
|
3
|
+
* taking one answer with a SUBSET of the list, so binding the INPUT bounds the output: an
|
|
4
|
+
* out-of-scope candidate fails closed rather than being quietly filtered, which would turn the read
|
|
5
|
+
* into a probe for which boards link a repo. An empty list is a no-op read.
|
|
6
|
+
*
|
|
7
|
+
* ONE batched read resolves the whole list: a point read per id is the N+1 this layer bans, and
|
|
8
|
+
* the list a caller sends is unbounded by anything but its own request.
|
|
9
|
+
*/
|
|
10
|
+
export async function checkWorkspaceListScope(ids, opts, inScope, denied) {
|
|
11
|
+
if (!Array.isArray(ids) || ids.some((id) => typeof id !== 'string'))
|
|
12
|
+
return denied;
|
|
13
|
+
if (ids.length === 0)
|
|
14
|
+
return undefined;
|
|
15
|
+
const accounts = await opts.resolveAccountIds(ids);
|
|
16
|
+
// A board absent from the map does not exist, which `inScope(undefined)` refuses.
|
|
17
|
+
return ids.every((id) => inScope(accounts.get(id))) ? undefined : denied;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* The `installationList` kind: the connect page's batched annotation read, "which of the ids the
|
|
21
|
+
* provider just offered are already bound here".
|
|
22
|
+
*
|
|
23
|
+
* An id WITH a binding must be in scope; an id with NO binding is admitted, because refusing it
|
|
24
|
+
* would make the read unusable for its only purpose and it discloses nothing the caller did not
|
|
25
|
+
* send. An unreadable table still fails closed, as does a missing resolver.
|
|
26
|
+
*
|
|
27
|
+
* The whole list resolves in one batched read: the ids come straight off a provider's installation
|
|
28
|
+
* list, so a point read per id is an N+1 sized by someone else's org.
|
|
29
|
+
*/
|
|
30
|
+
export async function checkInstallationListScope(ids, opts, inScope, denied) {
|
|
31
|
+
if (!Array.isArray(ids) || ids.some((id) => typeof id !== 'number'))
|
|
32
|
+
return denied;
|
|
33
|
+
if (ids.length === 0)
|
|
34
|
+
return undefined;
|
|
35
|
+
if (!opts.resolveInstallationOwners)
|
|
36
|
+
return denied;
|
|
37
|
+
const owners = await opts.resolveInstallationOwners(ids);
|
|
38
|
+
return ids.every((id) => {
|
|
39
|
+
// An id the batch did not answer for at all is treated as `unreadable`, not as the `absent`
|
|
40
|
+
// that would admit it: only the resolver may report an id as unbound.
|
|
41
|
+
const owner = owners.get(id) ?? { status: 'unreadable' };
|
|
42
|
+
if (owner.status === 'absent')
|
|
43
|
+
return true;
|
|
44
|
+
return owner.status === 'found' && inScope(owner.accountId);
|
|
45
|
+
})
|
|
46
|
+
? undefined
|
|
47
|
+
: denied;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* The `serviceInsert` record write (`registerServiceForFrame`). Bind the DECLARED `accountId` (the
|
|
51
|
+
* row lands there and is later listed from it) AND the `frameBlockId` the service claims.
|
|
52
|
+
*
|
|
53
|
+
* The frame-block half is what stops a service being planted on another org's frame: `resolveRepoTarget`
|
|
54
|
+
* walks frame block → service on every dispatch, and `getByFrameBlock` resolves by frame block id alone,
|
|
55
|
+
* so a foreign row could redirect that org's runs at a repo the caller controls. It is a THREE-state
|
|
56
|
+
* lookup rather than a nullable read because the ordinary case is an absent block: the service row is
|
|
57
|
+
* written BEFORE its frame block exists, so `absent` is the create this rule must admit, while
|
|
58
|
+
* `unreadable` must not be spent as that admission (the same reason `ownerFieldUpsert` gives). Block ids
|
|
59
|
+
* are server-minted, so admitting an unknown one grants nothing: a caller cannot name the id another
|
|
60
|
+
* tenant will later be given.
|
|
61
|
+
*/
|
|
62
|
+
export async function checkServiceInsertScope(record, opts, inScope, denied) {
|
|
63
|
+
if (!record || typeof record !== 'object')
|
|
64
|
+
return denied;
|
|
65
|
+
const { accountId, frameBlockId } = record;
|
|
66
|
+
if (typeof accountId !== 'string' || !inScope(accountId))
|
|
67
|
+
return denied;
|
|
68
|
+
if (typeof frameBlockId !== 'string' || !opts.resolveFrameBlockOwner)
|
|
69
|
+
return denied;
|
|
70
|
+
const frame = await opts.resolveFrameBlockOwner(frameBlockId);
|
|
71
|
+
switch (frame.status) {
|
|
72
|
+
case 'found':
|
|
73
|
+
// An existing frame must belong to the SAME account the service declares. Equality, not
|
|
74
|
+
// merely in-scope: a token spanning several accounts would otherwise be able to cross them.
|
|
75
|
+
return frame.accountId === accountId ? undefined : denied;
|
|
76
|
+
case 'absent':
|
|
77
|
+
// The frame block has not been written yet — the ordinary creation order.
|
|
78
|
+
return undefined;
|
|
79
|
+
case 'unreadable':
|
|
80
|
+
return denied;
|
|
81
|
+
default: {
|
|
82
|
+
const _exhaustive = frame;
|
|
83
|
+
void _exhaustive;
|
|
84
|
+
return denied;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* The `serviceUpdate` pair (`serviceRepository.update(id, patch)`). Bind the STORED service's owning
|
|
90
|
+
* account, and the account a patch would re-home the service INTO.
|
|
91
|
+
*
|
|
92
|
+
* `ServicePatch` may carry an `accountId`, and a service's account decides which org's catalog offers
|
|
93
|
+
* it for mounting, so an unbound patch would let a caller push an attacker-authored frame into another
|
|
94
|
+
* org's mountable set. An explicit null is refused rather than admitted: an account-less service is the
|
|
95
|
+
* legacy/unscoped row, which no scoped token may create.
|
|
96
|
+
*/
|
|
97
|
+
export async function checkServiceUpdateScope(serviceId, patch, opts, inScope, denied) {
|
|
98
|
+
if (typeof serviceId !== 'string' || !opts.resolveServiceAccountIds)
|
|
99
|
+
return denied;
|
|
100
|
+
const stored = await opts.resolveServiceAccountIds([serviceId]);
|
|
101
|
+
if (!inScope(stored.get(serviceId)))
|
|
102
|
+
return denied;
|
|
103
|
+
if (!patch || typeof patch !== 'object')
|
|
104
|
+
return denied;
|
|
105
|
+
if (!Object.hasOwn(patch, 'accountId'))
|
|
106
|
+
return undefined;
|
|
107
|
+
const { accountId } = patch;
|
|
108
|
+
return typeof accountId === 'string' && inScope(accountId) ? undefined : denied;
|
|
109
|
+
}
|
|
1
110
|
/**
|
|
2
111
|
* Token-scope checks for the record/owner-pair {@link ScopeRule} kinds, split out of `rpc.ts` so the
|
|
3
112
|
* dispatch module stays under its size budget. Pure code motion — each function keeps the exact
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc-scope.logic.js","sourceRoot":"","sources":["../../src/persistence/rpc-scope.logic.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rpc-scope.logic.js","sourceRoot":"","sources":["../../src/persistence/rpc-scope.logic.ts"],"names":[],"mappings":"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"}
|
|
@@ -160,6 +160,46 @@ export declare function statusForPersistenceError(code: PersistenceErrorCode): n
|
|
|
160
160
|
* columns, so binding only the declared owner would let a token scoped to one
|
|
161
161
|
* tenant repoint another tenant's source at a repo it controls, whose Markdown
|
|
162
162
|
* bodies the victim's next sync folds into their prompts as guidance.
|
|
163
|
+
* - `workspaceList` — `args[arg]` is `string[]` of workspaceIds; EVERY one must resolve to an
|
|
164
|
+
* in-scope account, so a missing or out-of-scope board fails closed. The
|
|
165
|
+
* workspace-keyed sibling of `blockList`/`serviceList`, and what a read whose
|
|
166
|
+
* ANSWER is a subset of a candidate list needs (`linkedWorkspaces`): binding
|
|
167
|
+
* the candidates is what stops a node learning about boards it cannot address
|
|
168
|
+
* by passing them in. Empty input is allowed (it returns empty).
|
|
169
|
+
* - `installation` — `args[arg]` is a VCS installation id (a `github_installations` row's
|
|
170
|
+
* `installationId`, a NUMBER) with no workspace/account arg; resolve that
|
|
171
|
+
* row's owning account server-side. A PAT connection stores no `accountId`,
|
|
172
|
+
* so the resolver falls back to the connector workspace's account: the
|
|
173
|
+
* binding is "whoever owns the board that connected it" either way. A missing
|
|
174
|
+
* row, an unreadable table, or no resolver fails closed (404).
|
|
175
|
+
* - `installationList`
|
|
176
|
+
* — `args[arg]` is `number[]` of installation ids (the connect page's batched
|
|
177
|
+
* annotation read); EVERY id must resolve to an in-scope account. Unlike the
|
|
178
|
+
* other list kinds an id with NO row is admitted: the caller is asking which
|
|
179
|
+
* of the ids GitHub offered are already bound, and refusing an unbound one
|
|
180
|
+
* would make the read unusable for its only purpose. Nothing is disclosed by
|
|
181
|
+
* that: a row absent from the answer is the same value the caller sent in.
|
|
182
|
+
* - `serviceInsert` — `args[arg]` is a `Service` record (`registerServiceForFrame`'s insert, run on
|
|
183
|
+
* EVERY top-level frame creation). Binds the DECLARED `accountId` and the
|
|
184
|
+
* `frameBlockId`: an EXISTING frame block must resolve to the same in-scope
|
|
185
|
+
* account, and one that does not exist yet is the ordinary case (the service
|
|
186
|
+
* row is written BEFORE its frame block, so an absent block is a create and
|
|
187
|
+
* passes on the declared account alone; block ids are server-minted, so a
|
|
188
|
+
* caller cannot reserve one another tenant will later be given).
|
|
189
|
+
*
|
|
190
|
+
* The equality is the point. `getByFrameBlock` resolves by frame block id
|
|
191
|
+
* ALONE — the unique index is `(account_id, frame_block_id)`, so two accounts
|
|
192
|
+
* may hold a service for one frame id and the walk answers with an arbitrary
|
|
193
|
+
* one — and `resolveRepoTarget` walks it on every dispatch. Binding only the
|
|
194
|
+
* declared account would let a caller plant a service on another org's frame
|
|
195
|
+
* block and redirect that org's runs at a repo it controls.
|
|
196
|
+
* - `serviceUpdate` — `args[arg]` is a serviceId and `args[patchArg]` a `ServicePatch`. Binds the
|
|
197
|
+
* STORED service's owning account (like `service`) AND, when the patch
|
|
198
|
+
* declares an `accountId`, the account it would move the service INTO: a patch
|
|
199
|
+
* that re-homes a service into an account the caller cannot reach would put an
|
|
200
|
+
* attacker-authored frame in that org's mountable catalog. A patch clearing the
|
|
201
|
+
* account (an explicit null) is refused rather than admitted — a service with
|
|
202
|
+
* no account is the legacy/unscoped row, which no scoped token may create.
|
|
163
203
|
* - `usageRecord` — `args[arg]` is a `TokenUsageRecord` (the spend ledger's `record`). Binds on
|
|
164
204
|
* the row's `workspaceId` FIELD like `workspaceField`, AND ADDITIONALLY pins
|
|
165
205
|
* the two DENORMALIZED rollup keys the account- and user-tier budget reads
|
|
@@ -202,6 +242,9 @@ export type ScopeRule = {
|
|
|
202
242
|
} | {
|
|
203
243
|
kind: 'blockList';
|
|
204
244
|
arg: number;
|
|
245
|
+
} | {
|
|
246
|
+
kind: 'workspaceList';
|
|
247
|
+
arg: number;
|
|
205
248
|
} | {
|
|
206
249
|
kind: 'serviceList';
|
|
207
250
|
arg: number;
|
|
@@ -211,6 +254,19 @@ export type ScopeRule = {
|
|
|
211
254
|
} | {
|
|
212
255
|
kind: 'serviceMount';
|
|
213
256
|
arg: number;
|
|
257
|
+
} | {
|
|
258
|
+
kind: 'serviceInsert';
|
|
259
|
+
arg: number;
|
|
260
|
+
} | {
|
|
261
|
+
kind: 'serviceUpdate';
|
|
262
|
+
arg: number;
|
|
263
|
+
patchArg: number;
|
|
264
|
+
} | {
|
|
265
|
+
kind: 'installation';
|
|
266
|
+
arg: number;
|
|
267
|
+
} | {
|
|
268
|
+
kind: 'installationList';
|
|
269
|
+
arg: number;
|
|
214
270
|
} | {
|
|
215
271
|
kind: 'skillSource';
|
|
216
272
|
arg: number;
|
|
@@ -273,6 +329,28 @@ export type LibrarySourceOwnerLookup = {
|
|
|
273
329
|
| {
|
|
274
330
|
status: 'unreadable';
|
|
275
331
|
};
|
|
332
|
+
/**
|
|
333
|
+
* What a single-row OWNER lookup answered, in the same three states and for the same reason
|
|
334
|
+
* {@link LibrarySourceOwnerLookup} gives: a rule that reads "no such row" as an ADMISSION (the
|
|
335
|
+
* create half of an id-keyed write) may never spend a table it could not read as that admission.
|
|
336
|
+
*
|
|
337
|
+
* `accountId` is nullable inside `found` because a row can legitimately exist with no account (a
|
|
338
|
+
* PAT installation binds a board, not an org; a legacy service predates accounts). That is not a
|
|
339
|
+
* third state: it fails the scope check like any other unresolvable account, and it must not be
|
|
340
|
+
* mistaken for `absent`, which is the only value an id-keyed create may be granted on.
|
|
341
|
+
*/
|
|
342
|
+
export type EntityOwnerLookup = {
|
|
343
|
+
status: 'found';
|
|
344
|
+
accountId: string | null | undefined;
|
|
345
|
+
}
|
|
346
|
+
/** No such row: for an id-keyed write this is a CREATE. */
|
|
347
|
+
| {
|
|
348
|
+
status: 'absent';
|
|
349
|
+
}
|
|
350
|
+
/** This deployment cannot read that table at all, so nothing may be concluded. */
|
|
351
|
+
| {
|
|
352
|
+
status: 'unreadable';
|
|
353
|
+
};
|
|
276
354
|
export interface MethodSpec {
|
|
277
355
|
scope: ScopeRule;
|
|
278
356
|
/** The argument index whose `rev` the server mutates in place and must echo back. */
|
|
@@ -298,6 +376,15 @@ export interface DispatchOptions {
|
|
|
298
376
|
};
|
|
299
377
|
/** Resolve a workspace's owning account id (the mothership's `WorkspaceRepository.accountOf`). */
|
|
300
378
|
resolveAccountId(workspaceId: string): Promise<string | null | undefined>;
|
|
379
|
+
/**
|
|
380
|
+
* The batched form (`WorkspaceRepository.accountIdsOf`), keyed by workspace id: one query for a
|
|
381
|
+
* whole list rather than a point read per id. A board that does not exist is ABSENT from the
|
|
382
|
+
* map, which fails the scope check exactly like the `undefined` {@link resolveAccountId} answers
|
|
383
|
+
* for the same board. Required by the `workspaceList` kind and by every resolver that maps a set
|
|
384
|
+
* of boards to their accounts; a deployment whose registry lacks the method answers an empty map,
|
|
385
|
+
* so the call fails closed.
|
|
386
|
+
*/
|
|
387
|
+
resolveAccountIds(workspaceIds: string[]): Promise<Map<string, string | null | undefined>>;
|
|
301
388
|
/**
|
|
302
389
|
* Resolve a block's owning account id (block → home workspace → account). Required for the
|
|
303
390
|
* `block` scope kind; a call hitting that kind with no resolver fails closed (404).
|
|
@@ -332,6 +419,30 @@ export interface DispatchOptions {
|
|
|
332
419
|
* such row" stays distinguishable from "that table is not readable here".
|
|
333
420
|
*/
|
|
334
421
|
resolveLibrarySourceOwner?(entity: LibrarySourceEntity, sourceId: string): Promise<LibrarySourceOwnerLookup>;
|
|
422
|
+
/**
|
|
423
|
+
* Resolve a VCS installation row's owning account (`github_installations`), as a three-state
|
|
424
|
+
* lookup: an App binding answers its own `accountId`, a per-workspace PAT binding (which stores
|
|
425
|
+
* none) answers its connector workspace's account, and a row this deployment cannot read answers
|
|
426
|
+
* `unreadable` rather than an `absent` a caller could be entitled to read as an admission.
|
|
427
|
+
* Required for the `installation` kind; a call hitting it with no resolver fails closed (404),
|
|
428
|
+
* like the other entity resolvers.
|
|
429
|
+
*/
|
|
430
|
+
resolveInstallationOwner?(installationId: number): Promise<EntityOwnerLookup>;
|
|
431
|
+
/**
|
|
432
|
+
* The batched form, keyed by installation id: `listByInstallationIds` plus ONE account read for
|
|
433
|
+
* the PAT bindings that store none, rather than a point read per id. Required for the
|
|
434
|
+
* `installationList` kind (the connect page annotates a whole provider list at once); a call
|
|
435
|
+
* hitting it with no resolver fails closed (404).
|
|
436
|
+
*/
|
|
437
|
+
resolveInstallationOwners?(installationIds: number[]): Promise<Map<number, EntityOwnerLookup>>;
|
|
438
|
+
/**
|
|
439
|
+
* Resolve a FRAME BLOCK's owning account (block → home workspace → account), as a three-state
|
|
440
|
+
* lookup. Distinct from {@link resolveBlockAccountId} precisely because of the third state: the
|
|
441
|
+
* `serviceInsert` rule admits an absent frame block (the service row is written before its block)
|
|
442
|
+
* and must refuse an unreadable one, and a nullable answer cannot tell those apart. Required for
|
|
443
|
+
* the `serviceInsert` kind; a call hitting it with no resolver fails closed (404).
|
|
444
|
+
*/
|
|
445
|
+
resolveFrameBlockOwner?(frameBlockId: string): Promise<EntityOwnerLookup>;
|
|
335
446
|
/**
|
|
336
447
|
* Resolve the member userIds of an account (the mothership's `MembershipRepository.listByAccount`,
|
|
337
448
|
* mapped to `userId`s). Required for the `user`/`userList` scope kinds: a requested user is in
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/persistence/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,eAAe,EAIrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/persistence/rpc.ts"],"names":[],"mappings":"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"}
|
package/dist/persistence/rpc.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DataIntegrityError, DomainError, dataIntegrityFaultOf, isDataIntegrityError, isDataIntegrityFault, } from '@cat-factory/kernel';
|
|
2
2
|
import { REMOTE_PERSISTENCE_METHODS } from './rpc-allowlist.js';
|
|
3
|
-
import { checkLibrarySourceScope, checkOwnerFieldUpsertScope, checkOwnerPairScope, checkServiceMountScope, checkUsageRecordScope, } from './rpc-scope.logic.js';
|
|
3
|
+
import { checkInstallationListScope, checkLibrarySourceScope, checkOwnerFieldUpsertScope, checkOwnerPairScope, checkServiceInsertScope, checkServiceMountScope, checkServiceUpdateScope, checkUsageRecordScope, checkWorkspaceListScope, } from './rpc-scope.logic.js';
|
|
4
4
|
// The `Record<PersistenceErrorCode, …>` type keeps this exhaustive — a new error code fails `tsc`
|
|
5
5
|
// until it is mapped, exactly like the previous `switch` did.
|
|
6
6
|
const ERROR_STATUS = {
|
|
@@ -277,6 +277,10 @@ async function checkEntityListCallScope(rule, args, opts, helpers) {
|
|
|
277
277
|
}
|
|
278
278
|
break;
|
|
279
279
|
}
|
|
280
|
+
case 'workspaceList':
|
|
281
|
+
return checkWorkspaceListScope(args[rule.arg], opts, inScope, denied);
|
|
282
|
+
case 'installationList':
|
|
283
|
+
return checkInstallationListScope(args[rule.arg], opts, inScope, denied);
|
|
280
284
|
default: {
|
|
281
285
|
// Fail closed: a list kind with no case here must never reach the method unscoped. The
|
|
282
286
|
// `never` binding makes adding a list kind without a case a compile error.
|
|
@@ -300,6 +304,19 @@ async function checkEntityListCallScope(rule, args, opts, helpers) {
|
|
|
300
304
|
async function checkEntityIdCallScope(rule, args, opts, inScope) {
|
|
301
305
|
const denied = fail('not_found', 'Not found');
|
|
302
306
|
const id = args[rule.arg];
|
|
307
|
+
// An installation id is a NUMBER (GitHub's own id, or the synthetic one a PAT connection derives
|
|
308
|
+
// from its workspace); every other entity here is an opaque string id.
|
|
309
|
+
if (rule.kind === 'installation') {
|
|
310
|
+
if (typeof id !== 'number' || !opts.resolveInstallationOwner)
|
|
311
|
+
return denied;
|
|
312
|
+
const owner = await opts.resolveInstallationOwner(id);
|
|
313
|
+
// `absent` fails closed here, unlike in `installationList`: a point read/write names ONE row,
|
|
314
|
+
// so an id with no row is a caller addressing something it cannot bind, not a question about
|
|
315
|
+
// its own list.
|
|
316
|
+
if (owner.status !== 'found' || !inScope(owner.accountId))
|
|
317
|
+
return denied;
|
|
318
|
+
return undefined;
|
|
319
|
+
}
|
|
303
320
|
if (typeof id !== 'string')
|
|
304
321
|
return denied;
|
|
305
322
|
switch (rule.kind) {
|
|
@@ -406,13 +423,16 @@ async function checkEntityCallScope(rule, args, opts, helpers) {
|
|
|
406
423
|
}
|
|
407
424
|
case 'userList':
|
|
408
425
|
case 'blockList':
|
|
426
|
+
case 'workspaceList':
|
|
409
427
|
case 'serviceList':
|
|
428
|
+
case 'installationList':
|
|
410
429
|
// The batched list-scope kinds (each id must resolve in scope) are split out to keep this
|
|
411
430
|
// function under the complexity ceiling; same contract (404 `denied` / `undefined`).
|
|
412
431
|
return checkEntityListCallScope(rule, args, opts, helpers);
|
|
413
432
|
case 'block':
|
|
414
433
|
case 'service':
|
|
415
434
|
case 'skillSource':
|
|
435
|
+
case 'installation':
|
|
416
436
|
// The single-ENTITY-ID kinds (an opaque id bound through a server-side account resolver) are
|
|
417
437
|
// split out to keep this function under the complexity ceiling; same contract.
|
|
418
438
|
return checkEntityIdCallScope(rule, args, opts, inScope);
|
|
@@ -420,57 +440,35 @@ async function checkEntityCallScope(rule, args, opts, helpers) {
|
|
|
420
440
|
// Binds the record's DECLARED account and the STORED row's account together; see the rule's
|
|
421
441
|
// entry on `ScopeRule` for why the declared half alone is not enough.
|
|
422
442
|
return checkAccountFieldUpsertScope(rule, args, opts, inScope);
|
|
423
|
-
case 'serviceMount':
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
// server-side and reject anything outside the token scope (404, no existence leak):
|
|
438
|
-
// - 'workspace' → the ownerId is a workspaceId; resolve its owning account (like `workspace`).
|
|
439
|
-
// - 'account' → the ownerId IS an accountId (like `account`).
|
|
440
|
-
// Any other kind, a non-string ownerId, or an unresolvable/out-of-scope owner fails closed.
|
|
441
|
-
const denialForOwner = await checkOwnerPairScope(args[rule.kindArg], args[rule.idArg], opts, inScope, denied);
|
|
442
|
-
if (denialForOwner)
|
|
443
|
-
return denialForOwner;
|
|
444
|
-
break;
|
|
445
|
-
}
|
|
443
|
+
case 'serviceMount':
|
|
444
|
+
return checkServiceMountScope(args[rule.arg], opts, inScope, denied);
|
|
445
|
+
case 'usageRecord':
|
|
446
|
+
return checkUsageRecordScope(args[rule.arg], opts, inScope, denied);
|
|
447
|
+
case 'serviceInsert':
|
|
448
|
+
// Binds the record's declared account AND the frame block it claims; see the rule's entry on
|
|
449
|
+
// `ScopeRule` for why an absent block is the ordinary create and a foreign one is a hijack.
|
|
450
|
+
return checkServiceInsertScope(args[rule.arg], opts, inScope, denied);
|
|
451
|
+
case 'serviceUpdate':
|
|
452
|
+
// Binds the STORED service's account AND the account a patch would re-home it into.
|
|
453
|
+
return checkServiceUpdateScope(args[rule.arg], args[rule.patchArg], opts, inScope, denied);
|
|
454
|
+
case 'owner':
|
|
455
|
+
// A tenant-library row keyed by an (ownerKind, ownerId) PAIR, positionally.
|
|
456
|
+
return checkOwnerPairScope(args[rule.kindArg], args[rule.idArg], opts, inScope, denied);
|
|
446
457
|
case 'ownerField': {
|
|
447
|
-
// The record
|
|
448
|
-
//
|
|
449
|
-
// a missing/non-string field, or an unresolvable/out-of-scope owner is refused as 404, so the
|
|
450
|
-
// row can only ever be persisted under the caller's own in-scope owner.
|
|
458
|
+
// The same pair as FIELDS of a record `upsert(record)`, so the row can only ever be
|
|
459
|
+
// persisted under the caller's own in-scope owner.
|
|
451
460
|
const record = args[rule.arg];
|
|
452
461
|
const isObj = record && typeof record === 'object';
|
|
453
|
-
|
|
454
|
-
if (denialForOwnerField)
|
|
455
|
-
return denialForOwnerField;
|
|
456
|
-
break;
|
|
462
|
+
return checkOwnerPairScope(isObj ? record.ownerKind : undefined, isObj ? record.ownerId : undefined, opts, inScope, denied);
|
|
457
463
|
}
|
|
458
|
-
case 'librarySource':
|
|
464
|
+
case 'librarySource':
|
|
459
465
|
// A repo-sourced library's sync method carries only a source id; resolve that source's owning
|
|
460
466
|
// tier PAIR server-side and bind it like `owner` (the owner-pair analogue of `skillSource`).
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
return denialForSource;
|
|
464
|
-
break;
|
|
465
|
-
}
|
|
466
|
-
case 'ownerFieldUpsert': {
|
|
467
|
+
return checkLibrarySourceScope(rule.entity, args[rule.arg], opts, inScope, denied);
|
|
468
|
+
case 'ownerFieldUpsert':
|
|
467
469
|
// Binds the record's DECLARED owner and the STORED row's owner together; see the rule's entry
|
|
468
470
|
// on `ScopeRule` for why the declared half alone is not enough.
|
|
469
|
-
|
|
470
|
-
if (denialForUpsert)
|
|
471
|
-
return denialForUpsert;
|
|
472
|
-
break;
|
|
473
|
-
}
|
|
471
|
+
return checkOwnerFieldUpsertScope(rule.entity, args[rule.arg], opts, inScope, denied);
|
|
474
472
|
default: {
|
|
475
473
|
// Fail closed: a `ScopeRule` kind with no case in EITHER switch must NEVER reach the method
|
|
476
474
|
// unscoped. The `never` binding makes adding a kind without a case a compile error.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../src/persistence/rpc.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../src/persistence/rpc.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.296.0",
|
|
4
4
|
"description": "Runtime-neutral HTTP layer for the Agent Architecture Board: the Hono controllers, middleware (auth/authz/CORS/error), request helpers and the gateway seams shared by every deployment facade (Cloudflare Worker, Node service).",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -31,13 +31,13 @@
|
|
|
31
31
|
"jose": "^6.2.8",
|
|
32
32
|
"pino": "^10.3.1",
|
|
33
33
|
"valibot": "^1.4.2",
|
|
34
|
-
"@cat-factory/agents": "0.
|
|
34
|
+
"@cat-factory/agents": "0.137.0",
|
|
35
35
|
"@cat-factory/contracts": "0.320.0",
|
|
36
|
-
"@cat-factory/integrations": "0.165.
|
|
37
|
-
"@cat-factory/kernel": "0.310.0",
|
|
36
|
+
"@cat-factory/integrations": "0.165.5",
|
|
38
37
|
"@cat-factory/mcp-server": "0.42.0",
|
|
39
|
-
"@cat-factory/
|
|
40
|
-
"@cat-factory/
|
|
38
|
+
"@cat-factory/kernel": "0.311.0",
|
|
39
|
+
"@cat-factory/orchestration": "0.280.0",
|
|
40
|
+
"@cat-factory/spend": "0.16.3"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@types/node": "^26.2.0",
|