@substrat-run/kernel 0.136.0 → 0.138.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/capability.d.ts +2 -0
- package/dist/capability.d.ts.map +1 -1
- package/dist/capability.js +2 -0
- package/dist/capability.js.map +1 -1
- package/dist/delivery-refusal.d.ts +21 -0
- package/dist/delivery-refusal.d.ts.map +1 -0
- package/dist/delivery-refusal.js +21 -0
- package/dist/delivery-refusal.js.map +1 -0
- package/dist/index.d.ts +23 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -12
- package/dist/index.js.map +1 -1
- package/dist/invocation-log.d.ts +25 -1
- package/dist/invocation-log.d.ts.map +1 -1
- package/dist/invocation-log.js +45 -6
- package/dist/invocation-log.js.map +1 -1
- package/dist/job-run.d.ts +370 -47
- package/dist/job-run.d.ts.map +1 -1
- package/dist/job-run.js +472 -81
- package/dist/job-run.js.map +1 -1
- package/dist/lifecycle-flow.d.ts.map +1 -1
- package/dist/lifecycle-flow.js +2 -1
- package/dist/lifecycle-flow.js.map +1 -1
- package/dist/membership-executor.d.ts +97 -0
- package/dist/membership-executor.d.ts.map +1 -0
- package/dist/membership-executor.js +246 -0
- package/dist/membership-executor.js.map +1 -0
- package/dist/membership-fence.d.ts +57 -0
- package/dist/membership-fence.d.ts.map +1 -0
- package/dist/membership-fence.js +90 -0
- package/dist/membership-fence.js.map +1 -0
- package/dist/operation-series.d.ts +58 -0
- package/dist/operation-series.d.ts.map +1 -0
- package/dist/operation-series.js +63 -0
- package/dist/operation-series.js.map +1 -0
- package/dist/peer.d.ts +13 -8
- package/dist/peer.d.ts.map +1 -1
- package/dist/peer.js +13 -14
- package/dist/peer.js.map +1 -1
- package/dist/permission-eval.d.ts +48 -1
- package/dist/permission-eval.d.ts.map +1 -1
- package/dist/permission-eval.js +137 -18
- package/dist/permission-eval.js.map +1 -1
- package/dist/read-only-sql.d.ts +2 -26
- package/dist/read-only-sql.d.ts.map +1 -1
- package/dist/read-only-sql.js +13 -9
- package/dist/read-only-sql.js.map +1 -1
- package/dist/refusal-query.d.ts +4 -1
- package/dist/refusal-query.d.ts.map +1 -1
- package/dist/refusal-query.js +6 -4
- package/dist/refusal-query.js.map +1 -1
- package/dist/refusals.d.ts +80 -8
- package/dist/refusals.d.ts.map +1 -1
- package/dist/refusals.js +141 -22
- package/dist/refusals.js.map +1 -1
- package/dist/scope-copy.d.ts +18 -0
- package/dist/scope-copy.d.ts.map +1 -1
- package/dist/scope-copy.js +18 -0
- package/dist/scope-copy.js.map +1 -1
- package/dist/scope-host.d.ts +266 -15
- package/dist/scope-host.d.ts.map +1 -1
- package/dist/scope-host.js +41 -0
- package/dist/scope-host.js.map +1 -1
- package/dist/spine-restore.d.ts +7 -2
- package/dist/spine-restore.d.ts.map +1 -1
- package/dist/spine-restore.js +13 -5
- package/dist/spine-restore.js.map +1 -1
- package/dist/system-switch-record.d.ts +290 -74
- package/dist/system-switch-record.d.ts.map +1 -1
- package/dist/system-switch-record.js +353 -101
- package/dist/system-switch-record.js.map +1 -1
- package/dist/system-switch.d.ts +146 -20
- package/dist/system-switch.d.ts.map +1 -1
- package/dist/system-switch.js +135 -27
- package/dist/system-switch.js.map +1 -1
- package/dist/timeline.d.ts +23 -0
- package/dist/timeline.d.ts.map +1 -1
- package/dist/timeline.js +30 -0
- package/dist/timeline.js.map +1 -1
- package/dist/ulid.d.ts +5 -0
- package/dist/ulid.d.ts.map +1 -1
- package/dist/ulid.js +9 -0
- package/dist/ulid.js.map +1 -1
- package/dist/vertical-events.d.ts +7 -1
- package/dist/vertical-events.d.ts.map +1 -1
- package/dist/vertical-events.js +14 -0
- package/dist/vertical-events.js.map +1 -1
- package/package.json +4 -4
package/dist/job-run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-run.js","sourceRoot":"","sources":["../src/job-run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"job-run.js","sourceRoot":"","sources":["../src/job-run.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle-flow.d.ts","sourceRoot":"","sources":["../src/lifecycle-flow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAwCpD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,CAa9D;AAsBD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,kBAAkB,GAAG,mBAAmB,
|
|
1
|
+
{"version":3,"file":"lifecycle-flow.d.ts","sourceRoot":"","sources":["../src/lifecycle-flow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAwCpD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,CAa9D;AAsBD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,kBAAkB,GAAG,mBAAmB,CAqSrG"}
|
package/dist/lifecycle-flow.js
CHANGED
|
@@ -322,8 +322,9 @@ export function readLifecycleFlow(ctx, input) {
|
|
|
322
322
|
settle(walk);
|
|
323
323
|
// #1745: the moves the lifecycle refused in the window — recorded after each rollback, so
|
|
324
324
|
// they are a separate, bounded read rather than part of the replay (nothing committed).
|
|
325
|
+
// Transitions only: a guard row has no from-state to draw a stub from.
|
|
325
326
|
const refusedRows = ctx.sql.query(`SELECT from_state, attempted_state, operation, actor FROM _substrat_refusals
|
|
326
|
-
WHERE entity_type = ? AND at >= ? AND at < ?
|
|
327
|
+
WHERE entity_type = ? AND kind = 'transition' AND at >= ? AND at < ?
|
|
327
328
|
ORDER BY at LIMIT ?`, [input.entityType, since, until, LIFECYCLE_FLOW_EVENT_BUDGET]);
|
|
328
329
|
const refusedBy = new Map();
|
|
329
330
|
for (const r of refusedRows) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle-flow.js","sourceRoot":"","sources":["../src/lifecycle-flow.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lifecycle-flow.js","sourceRoot":"","sources":["../src/lifecycle-flow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { z, type EntityRef, type PlatformActorId } from '@substrat-run/contracts';
|
|
2
|
+
import { type ExecutorRetryPolicy, type ScopeHost } from './scope-host.js';
|
|
3
|
+
/**
|
|
4
|
+
* The membership executor (K-22 §4.2, membership.md §4.2; #1184) — the out-of-band half of
|
|
5
|
+
* joining and leaving, written once so a host mounts it instead of hand-rolling the effect.
|
|
6
|
+
*
|
|
7
|
+
* Module code asks in its own transaction and this effects after commit, through `HostAdmin`:
|
|
8
|
+
* an invite engine's accept emits `member.add-requested`; a vertical's removal emits
|
|
9
|
+
* `member.remove-requested`. A rolled-back operation leaves no event and nothing to effect.
|
|
10
|
+
* Both are driven inline by the emitting call, with the outbox and `_substrat_deliveries` as
|
|
11
|
+
* the retry backstop, so the common case completes inside the request.
|
|
12
|
+
*
|
|
13
|
+
* **What it effects: a tenant-level role, and nothing else.** An add assigns the invited role
|
|
14
|
+
* at the tenant node; a removal unassigns it. Neither joins nor leaves an org, although both
|
|
15
|
+
* payloads name one (the invites engine keys its invitations by org): what an org confers
|
|
16
|
+
* includes grants in each scope's own store, which no directory unit can bound, so making
|
|
17
|
+
* someone a member of an org is authority this seam does not carry.
|
|
18
|
+
*
|
|
19
|
+
* **Authority.** Every payload field is module-written, so none of them is authority.
|
|
20
|
+
*
|
|
21
|
+
* - An ADD is bounded by the inviter: the kernel-stamped `actor` of the invitation's own
|
|
22
|
+
* `invites.sent` event, asked through the K-21 set comparison at the tenant node. Asked
|
|
23
|
+
* twice: early, to refuse cheaply, and again inside the directory unit that writes the role
|
|
24
|
+
* (`applyMembership`), so a demotion, a grant lost or a role widened in between is not
|
|
25
|
+
* written past. The joiner is the request's own actor, who must have made the invitation's
|
|
26
|
+
* first acceptance, and the request must be the first one naming that invitation: one
|
|
27
|
+
* invitation, one join. The most a module can do is make the principal who actually invoked
|
|
28
|
+
* it look like the sender — the same delegation bound `ctx.grant` has.
|
|
29
|
+
* - A REMOVE is bounded by the remover, the request's own actor (§5.1: removal takes the
|
|
30
|
+
* same bound, or a junior admin could strip a role they could not have granted) — asked the
|
|
31
|
+
* same two ways, so a remover demoted in between removes nobody.
|
|
32
|
+
*
|
|
33
|
+
* **Removal wins.** An add is refused when the joiner was removed after it was requested: by a
|
|
34
|
+
* later `member.remove-requested` on the same membership (ordered by outbox id), or by any
|
|
35
|
+
* tenant-level removal at all — staff's included, and a no-op one — which raises the person's
|
|
36
|
+
* removal fence in the directory unit that revokes. The add's own unit reads the fence, and a
|
|
37
|
+
* fence at or after `occurredAt - MEMBERSHIP_REMOVAL_SKEW_MS` refuses it.
|
|
38
|
+
*
|
|
39
|
+
* A refusal is terminal (`refuseDelivery`): journaled with its reason, never retried, listed
|
|
40
|
+
* by `executorDeadLetters`, and reported to the emitting call through `onExecutorOutcomes`.
|
|
41
|
+
*
|
|
42
|
+
* **The trail.** Admin rows are written by `actor`, the platform identity that executed them,
|
|
43
|
+
* `onBehalfOf` (#977) the person whose authority bounded them, and with `causedBy` = the event
|
|
44
|
+
* id: the correlation id that joins the scope's half of the trail to the directory's. A
|
|
45
|
+
* removal that took nothing writes no row (K-21), but still raises the fence.
|
|
46
|
+
*
|
|
47
|
+
* **Idempotent.** A delivered event never reaches its handler again. A crash between the
|
|
48
|
+
* effect and its journal row re-runs the handler, and every write it makes is idempotent.
|
|
49
|
+
*/
|
|
50
|
+
/** What the add path consumes, and the version it reads. */
|
|
51
|
+
export declare const MEMBER_ADD_REQUESTED = "member.add-requested";
|
|
52
|
+
/** What the remove path consumes, and the version it reads. */
|
|
53
|
+
export declare const MEMBER_REMOVE_REQUESTED = "member.remove-requested";
|
|
54
|
+
/** The delivery-journal id of the add path unless a mount names another (`executor:membership`). */
|
|
55
|
+
export declare const MEMBERSHIP_EXECUTOR_ID = "membership";
|
|
56
|
+
/** The remove path's id, derived from the add path's: `<id>-remove`. */
|
|
57
|
+
export declare const membershipRemoveExecutorId: (id?: string) => string;
|
|
58
|
+
/** The membership entity both requests are emitted on — what orders a removal after an add. */
|
|
59
|
+
export declare const membershipEntity: (principal: string) => EntityRef;
|
|
60
|
+
/**
|
|
61
|
+
* `member.remove-requested` v1 — what a vertical emits to take someone out: the role it
|
|
62
|
+
* holds them at, and the org its invitation named. Fat (D-19), like the add. The executor
|
|
63
|
+
* takes the role away; the org is the vertical's own vocabulary and is not touched.
|
|
64
|
+
*/
|
|
65
|
+
export declare const memberRemoveRequestedPayload: z.ZodObject<{
|
|
66
|
+
principal: z.core.$ZodBranded<z.ZodString, "PrincipalId", "out">;
|
|
67
|
+
orgId: z.core.$ZodBranded<z.ZodString, "OrgId", "out">;
|
|
68
|
+
tenantId: z.ZodString;
|
|
69
|
+
roleKey: z.ZodString;
|
|
70
|
+
}, z.core.$strip>;
|
|
71
|
+
export type MemberRemoveRequestedPayload = z.infer<typeof memberRemoveRequestedPayload>;
|
|
72
|
+
export interface MembershipExecutorOptions {
|
|
73
|
+
/** The add path's delivery-journal id (`executor:<id>`). Default `MEMBERSHIP_EXECUTOR_ID`. */
|
|
74
|
+
id?: string;
|
|
75
|
+
/** The platform identity the admin rows record as having executed the write. */
|
|
76
|
+
actor: PlatformActorId;
|
|
77
|
+
/**
|
|
78
|
+
* Where the role is assigned and removed, and the bound asked: the tenant node, and only
|
|
79
|
+
* there. Optional, and `'tenant'` is the only value it takes. A scope-level role lives in
|
|
80
|
+
* the scope's store while membership lives in the directory, and no single operation spans
|
|
81
|
+
* the two, so a scope-level add could always interleave with a removal between its writes.
|
|
82
|
+
* A scope role has its own atomic check-and-grant: `assignScopeRoleBounded`.
|
|
83
|
+
*/
|
|
84
|
+
level?: 'tenant';
|
|
85
|
+
retry?: ExecutorRetryPolicy;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* How far before a request a removal still wins over it (#1184): 5 minutes. A removal's fence
|
|
89
|
+
* is stamped by the directory's clock; the request is a scope event stamped by the scope's.
|
|
90
|
+
* The two stores share no causal order, so a tie goes to the removal and so does anything
|
|
91
|
+
* within this skew. The cost, stated: someone removed less than this before they accept a NEW
|
|
92
|
+
* invite is refused — resend it. Removals through the seam are also ordered by outbox id.
|
|
93
|
+
*/
|
|
94
|
+
export declare const MEMBERSHIP_REMOVAL_SKEW_MS: number;
|
|
95
|
+
/** Mount the membership executor — both paths — on a host. One call, at host construction. */
|
|
96
|
+
export declare function registerMembershipExecutor(host: ScopeHost, options: MembershipExecutorOptions): void;
|
|
97
|
+
//# sourceMappingURL=membership-executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"membership-executor.d.ts","sourceRoot":"","sources":["../src/membership-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,CAAC,EAED,KAAK,SAAS,EAEd,KAAK,eAAe,EAErB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,KAAK,mBAAmB,EAIxB,KAAK,SAAS,EACf,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,4DAA4D;AAC5D,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAC3D,+DAA+D;AAC/D,eAAO,MAAM,uBAAuB,4BAA4B,CAAC;AAEjE,oGAAoG;AACpG,eAAO,MAAM,sBAAsB,eAAe,CAAC;AACnD,wEAAwE;AACxE,eAAO,MAAM,0BAA0B,QAAQ,MAAM,KAA4B,MAAwB,CAAC;AAE1G,+FAA+F;AAC/F,eAAO,MAAM,gBAAgB,cAAe,MAAM,KAAG,SAAgE,CAAC;AAWtH;;;;GAIG;AACH,eAAO,MAAM,4BAA4B;;;;;iBAKvC,CAAC;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAMxF,MAAM,WAAW,yBAAyB;IACxC,8FAA8F;IAC9F,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,gFAAgF;IAChF,KAAK,EAAE,eAAe,CAAC;IACvB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,KAAK,CAAC,EAAE,mBAAmB,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,QAAa,CAAC;AAErD,8FAA8F;AAC9F,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,yBAAyB,GAAG,IAAI,CAuDpG"}
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
import { instant, orgId, principalId, z, } from '@substrat-run/contracts';
|
|
2
|
+
import { isUnknownRoleError } from './permission-checker.js';
|
|
3
|
+
import { refuseDelivery } from './delivery-refusal.js';
|
|
4
|
+
import {} from './scope-host.js';
|
|
5
|
+
/**
|
|
6
|
+
* The membership executor (K-22 §4.2, membership.md §4.2; #1184) — the out-of-band half of
|
|
7
|
+
* joining and leaving, written once so a host mounts it instead of hand-rolling the effect.
|
|
8
|
+
*
|
|
9
|
+
* Module code asks in its own transaction and this effects after commit, through `HostAdmin`:
|
|
10
|
+
* an invite engine's accept emits `member.add-requested`; a vertical's removal emits
|
|
11
|
+
* `member.remove-requested`. A rolled-back operation leaves no event and nothing to effect.
|
|
12
|
+
* Both are driven inline by the emitting call, with the outbox and `_substrat_deliveries` as
|
|
13
|
+
* the retry backstop, so the common case completes inside the request.
|
|
14
|
+
*
|
|
15
|
+
* **What it effects: a tenant-level role, and nothing else.** An add assigns the invited role
|
|
16
|
+
* at the tenant node; a removal unassigns it. Neither joins nor leaves an org, although both
|
|
17
|
+
* payloads name one (the invites engine keys its invitations by org): what an org confers
|
|
18
|
+
* includes grants in each scope's own store, which no directory unit can bound, so making
|
|
19
|
+
* someone a member of an org is authority this seam does not carry.
|
|
20
|
+
*
|
|
21
|
+
* **Authority.** Every payload field is module-written, so none of them is authority.
|
|
22
|
+
*
|
|
23
|
+
* - An ADD is bounded by the inviter: the kernel-stamped `actor` of the invitation's own
|
|
24
|
+
* `invites.sent` event, asked through the K-21 set comparison at the tenant node. Asked
|
|
25
|
+
* twice: early, to refuse cheaply, and again inside the directory unit that writes the role
|
|
26
|
+
* (`applyMembership`), so a demotion, a grant lost or a role widened in between is not
|
|
27
|
+
* written past. The joiner is the request's own actor, who must have made the invitation's
|
|
28
|
+
* first acceptance, and the request must be the first one naming that invitation: one
|
|
29
|
+
* invitation, one join. The most a module can do is make the principal who actually invoked
|
|
30
|
+
* it look like the sender — the same delegation bound `ctx.grant` has.
|
|
31
|
+
* - A REMOVE is bounded by the remover, the request's own actor (§5.1: removal takes the
|
|
32
|
+
* same bound, or a junior admin could strip a role they could not have granted) — asked the
|
|
33
|
+
* same two ways, so a remover demoted in between removes nobody.
|
|
34
|
+
*
|
|
35
|
+
* **Removal wins.** An add is refused when the joiner was removed after it was requested: by a
|
|
36
|
+
* later `member.remove-requested` on the same membership (ordered by outbox id), or by any
|
|
37
|
+
* tenant-level removal at all — staff's included, and a no-op one — which raises the person's
|
|
38
|
+
* removal fence in the directory unit that revokes. The add's own unit reads the fence, and a
|
|
39
|
+
* fence at or after `occurredAt - MEMBERSHIP_REMOVAL_SKEW_MS` refuses it.
|
|
40
|
+
*
|
|
41
|
+
* A refusal is terminal (`refuseDelivery`): journaled with its reason, never retried, listed
|
|
42
|
+
* by `executorDeadLetters`, and reported to the emitting call through `onExecutorOutcomes`.
|
|
43
|
+
*
|
|
44
|
+
* **The trail.** Admin rows are written by `actor`, the platform identity that executed them,
|
|
45
|
+
* `onBehalfOf` (#977) the person whose authority bounded them, and with `causedBy` = the event
|
|
46
|
+
* id: the correlation id that joins the scope's half of the trail to the directory's. A
|
|
47
|
+
* removal that took nothing writes no row (K-21), but still raises the fence.
|
|
48
|
+
*
|
|
49
|
+
* **Idempotent.** A delivered event never reaches its handler again. A crash between the
|
|
50
|
+
* effect and its journal row re-runs the handler, and every write it makes is idempotent.
|
|
51
|
+
*/
|
|
52
|
+
/** What the add path consumes, and the version it reads. */
|
|
53
|
+
export const MEMBER_ADD_REQUESTED = 'member.add-requested';
|
|
54
|
+
/** What the remove path consumes, and the version it reads. */
|
|
55
|
+
export const MEMBER_REMOVE_REQUESTED = 'member.remove-requested';
|
|
56
|
+
/** The delivery-journal id of the add path unless a mount names another (`executor:membership`). */
|
|
57
|
+
export const MEMBERSHIP_EXECUTOR_ID = 'membership';
|
|
58
|
+
/** The remove path's id, derived from the add path's: `<id>-remove`. */
|
|
59
|
+
export const membershipRemoveExecutorId = (id = MEMBERSHIP_EXECUTOR_ID) => `${id}-remove`;
|
|
60
|
+
/** The membership entity both requests are emitted on — what orders a removal after an add. */
|
|
61
|
+
export const membershipEntity = (principal) => ({ entityType: 'membership', entityId: principal });
|
|
62
|
+
/** The executor's own parse of an add (D-19: never the producer's types). */
|
|
63
|
+
const memberAddRequested = z.object({
|
|
64
|
+
principal: principalId,
|
|
65
|
+
orgId,
|
|
66
|
+
tenantId: z.string(),
|
|
67
|
+
roleKey: z.string().min(1),
|
|
68
|
+
invitationId: z.string().min(1),
|
|
69
|
+
});
|
|
70
|
+
/**
|
|
71
|
+
* `member.remove-requested` v1 — what a vertical emits to take someone out: the role it
|
|
72
|
+
* holds them at, and the org its invitation named. Fat (D-19), like the add. The executor
|
|
73
|
+
* takes the role away; the org is the vertical's own vocabulary and is not touched.
|
|
74
|
+
*/
|
|
75
|
+
export const memberRemoveRequestedPayload = z.object({
|
|
76
|
+
principal: principalId,
|
|
77
|
+
orgId,
|
|
78
|
+
tenantId: z.string(),
|
|
79
|
+
roleKey: z.string().min(1),
|
|
80
|
+
});
|
|
81
|
+
/** What `invites.sent` and `invites.accepted` must agree with the request on. */
|
|
82
|
+
const invitationFacts = z.object({ orgId: z.string(), roleKey: z.string() });
|
|
83
|
+
const acceptedFacts = z.object({ principal: z.string() });
|
|
84
|
+
/**
|
|
85
|
+
* How far before a request a removal still wins over it (#1184): 5 minutes. A removal's fence
|
|
86
|
+
* is stamped by the directory's clock; the request is a scope event stamped by the scope's.
|
|
87
|
+
* The two stores share no causal order, so a tie goes to the removal and so does anything
|
|
88
|
+
* within this skew. The cost, stated: someone removed less than this before they accept a NEW
|
|
89
|
+
* invite is refused — resend it. Removals through the seam are also ordered by outbox id.
|
|
90
|
+
*/
|
|
91
|
+
export const MEMBERSHIP_REMOVAL_SKEW_MS = 5 * 60_000;
|
|
92
|
+
/** Mount the membership executor — both paths — on a host. One call, at host construction. */
|
|
93
|
+
export function registerMembershipExecutor(host, options) {
|
|
94
|
+
if (options.level !== undefined && options.level !== 'tenant') {
|
|
95
|
+
throw new Error(`the membership executor is tenant-level only (got level '${String(options.level)}'): no single operation ` +
|
|
96
|
+
'spans the directory and a scope store. A scope role has assignScopeRoleBounded.');
|
|
97
|
+
}
|
|
98
|
+
const id = options.id ?? MEMBERSHIP_EXECUTOR_ID;
|
|
99
|
+
// Attributed (#977): the person whose authority bounded the write, beside the platform
|
|
100
|
+
// actor that executed it. `causedBy` is stamped by the host.
|
|
101
|
+
const adminFor = (who, event) => (host.attributed?.({ principal: who, tenantId: event.tenantId }) ?? host).admin;
|
|
102
|
+
host.registerExecutor(id, MEMBER_ADD_REQUESTED, async (_admin, event, scope) => {
|
|
103
|
+
const decided = await authorizeAdd(event, scope);
|
|
104
|
+
if ('refused' in decided)
|
|
105
|
+
return decided.refused;
|
|
106
|
+
const { request, inviter } = decided;
|
|
107
|
+
// One directory unit: the fence, the bound asked again, the role and its audit row. A
|
|
108
|
+
// removal or a change of authority lands wholly before it or wholly after it.
|
|
109
|
+
const applied = await adminFor(inviter, event).applyMembership(options.actor, {
|
|
110
|
+
op: 'add',
|
|
111
|
+
tenantId: event.tenantId,
|
|
112
|
+
principal: request.principal,
|
|
113
|
+
roleKey: request.roleKey,
|
|
114
|
+
boundedBy: inviter,
|
|
115
|
+
unlessRemovedSince: instant.parse(new Date(Date.parse(event.occurredAt) - MEMBERSHIP_REMOVAL_SKEW_MS).toISOString()),
|
|
116
|
+
});
|
|
117
|
+
return applied.applied ? undefined : refusalOf(applied, request, 'inviter', inviter);
|
|
118
|
+
}, options.retry);
|
|
119
|
+
host.registerExecutor(membershipRemoveExecutorId(id), MEMBER_REMOVE_REQUESTED, async (_admin, event, scope) => {
|
|
120
|
+
const decided = await authorizeRemove(event, scope);
|
|
121
|
+
if ('refused' in decided)
|
|
122
|
+
return decided.refused;
|
|
123
|
+
const { request, remover } = decided;
|
|
124
|
+
// One directory unit: the remover's bound asked again, the revoke, its audit row if it
|
|
125
|
+
// took anything, and the fence — raised even with nothing held, so a pending add sees it.
|
|
126
|
+
const applied = await adminFor(remover, event).applyMembership(options.actor, {
|
|
127
|
+
op: 'remove',
|
|
128
|
+
tenantId: event.tenantId,
|
|
129
|
+
principal: request.principal,
|
|
130
|
+
roleKey: request.roleKey,
|
|
131
|
+
boundedBy: remover,
|
|
132
|
+
});
|
|
133
|
+
return applied.applied ? undefined : refusalOf(applied, request, 'remover', remover);
|
|
134
|
+
}, options.retry);
|
|
135
|
+
}
|
|
136
|
+
/** Why a directory unit applied nothing, as the refusal the journal keeps. */
|
|
137
|
+
function refusalOf(result, request, as, who) {
|
|
138
|
+
if ('removedAt' in result)
|
|
139
|
+
return refuseDelivery(`${request.principal} was removed after this request was made`);
|
|
140
|
+
if ('unknownRole' in result)
|
|
141
|
+
return refuseDelivery(`no such role in this tenant: ${result.unknownRole}`);
|
|
142
|
+
return refuseDelivery(`the ${as} ${who} no longer holds ${result.missing.join(', ')}, which '${request.roleKey}' confers`);
|
|
143
|
+
}
|
|
144
|
+
const refused = (reason) => ({ refused: refuseDelivery(reason) });
|
|
145
|
+
/** Parse a request and hold it to its own envelope's tenant. Version 1 is the one read. */
|
|
146
|
+
function requestOf(event, schema) {
|
|
147
|
+
if (event.schemaVersion !== 1)
|
|
148
|
+
return refused(`unsupported ${event.type} schemaVersion ${event.schemaVersion}`);
|
|
149
|
+
const parsed = schema.safeParse(event.payload);
|
|
150
|
+
if (!parsed.success)
|
|
151
|
+
return refused(`malformed ${event.type} payload`);
|
|
152
|
+
// The tenant on the envelope is kernel-stamped; the one in the payload is not.
|
|
153
|
+
if (parsed.data.tenantId !== event.tenantId)
|
|
154
|
+
return refused('the request names a tenant other than its own');
|
|
155
|
+
return { request: parsed.data };
|
|
156
|
+
}
|
|
157
|
+
/** §5.1's bound for `who` over `roleKey` at the tenant node, or the refusal saying what is missing. */
|
|
158
|
+
async function bounded(scope, who, roleKey, as) {
|
|
159
|
+
// Read the way the unit's own answer is, so one `refusalOf` words both.
|
|
160
|
+
let refusal;
|
|
161
|
+
try {
|
|
162
|
+
const bound = await scope.covers(who, roleKey, 'tenant');
|
|
163
|
+
refusal = bound.covered ? null : { applied: false, missing: bound.missing };
|
|
164
|
+
}
|
|
165
|
+
catch (err) {
|
|
166
|
+
if (!isUnknownRoleError(err, roleKey))
|
|
167
|
+
throw err;
|
|
168
|
+
refusal = { applied: false, unknownRole: roleKey };
|
|
169
|
+
}
|
|
170
|
+
return refusal && { refused: refusalOf(refusal, { principal: who, roleKey }, as, who) };
|
|
171
|
+
}
|
|
172
|
+
/** Everything that decides whether an add may be effected. Reads only. */
|
|
173
|
+
async function authorizeAdd(event, scope) {
|
|
174
|
+
const parsed = requestOf(event, memberAddRequested);
|
|
175
|
+
if ('refused' in parsed)
|
|
176
|
+
return parsed;
|
|
177
|
+
const { request } = parsed;
|
|
178
|
+
// The joiner is whoever invoked the accept — the envelope's actor, not a payload claim.
|
|
179
|
+
if (event.actor !== request.principal)
|
|
180
|
+
return refused('the request names a principal other than the one who accepted');
|
|
181
|
+
const history = await everything(scope, { entityType: 'invitation', entityId: request.invitationId });
|
|
182
|
+
const sent = history.filter((e) => e.type === 'invites.sent');
|
|
183
|
+
if (sent.length !== 1)
|
|
184
|
+
return refused(`invitation ${request.invitationId} has no single send to take authority from`);
|
|
185
|
+
const send = sent[0];
|
|
186
|
+
const sendFacts = invitationFacts.safeParse(send.payload);
|
|
187
|
+
if (!sendFacts.success || sendFacts.data.orgId !== request.orgId || sendFacts.data.roleKey !== request.roleKey) {
|
|
188
|
+
return refused(`the request does not match invitation ${request.invitationId} as it was sent`);
|
|
189
|
+
}
|
|
190
|
+
// Single use: the FIRST acceptance decides who joins. A later one — by anyone — joins
|
|
191
|
+
// nobody, and cannot unseat the first, whose delivery may still be retrying.
|
|
192
|
+
const first = history.find((e) => e.type === 'invites.accepted');
|
|
193
|
+
const acceptance = first ? acceptedFacts.safeParse(first.payload) : null;
|
|
194
|
+
if (!acceptance?.success || first.actor !== event.actor || acceptance.data.principal !== request.principal) {
|
|
195
|
+
return refused(`invitation ${request.invitationId} was not first accepted by ${request.principal}`);
|
|
196
|
+
}
|
|
197
|
+
const inviter = principalId.safeParse(send.actor);
|
|
198
|
+
if (!inviter.success)
|
|
199
|
+
return refused(`invitation ${request.invitationId} was not sent by a principal`);
|
|
200
|
+
// One invitation, one join. The request must follow the acceptance and be the FIRST
|
|
201
|
+
// request naming this invitation on the joiner's membership — outbox ids are kernel-minted
|
|
202
|
+
// and append-only, so the first request consumes the invitation for good, and a fresh one
|
|
203
|
+
// emitted later (after a removal, say) is refused however its payload reads.
|
|
204
|
+
if (first.id > event.id)
|
|
205
|
+
return refused(`the request precedes invitation ${request.invitationId}'s acceptance`);
|
|
206
|
+
const membership = await everything(scope, membershipEntity(request.principal));
|
|
207
|
+
const earlier = membership.find((e) => e.type === MEMBER_ADD_REQUESTED && e.id < event.id && invitationOf(e) === request.invitationId);
|
|
208
|
+
if (earlier)
|
|
209
|
+
return refused(`invitation ${request.invitationId} was already used, by request ${earlier.id}`);
|
|
210
|
+
// A removal through the seam, ordered after this request by outbox id. Every removal also
|
|
211
|
+
// raises the fence `applyMembership` reads inside the unit that writes.
|
|
212
|
+
if (membership.some((e) => e.type === MEMBER_REMOVE_REQUESTED && e.id > event.id)) {
|
|
213
|
+
return refused(`${request.principal} was removed after this request was made`);
|
|
214
|
+
}
|
|
215
|
+
// The early refusal; `applyMembership` asks the same bound again inside its unit.
|
|
216
|
+
const bound = await bounded(scope, inviter.data, request.roleKey, 'inviter');
|
|
217
|
+
return bound ?? { request, inviter: inviter.data };
|
|
218
|
+
}
|
|
219
|
+
/** Everything that decides whether a removal may be effected. Reads only. */
|
|
220
|
+
async function authorizeRemove(event, scope) {
|
|
221
|
+
const parsed = requestOf(event, memberRemoveRequestedPayload);
|
|
222
|
+
if ('refused' in parsed)
|
|
223
|
+
return parsed;
|
|
224
|
+
const remover = principalId.safeParse(event.actor);
|
|
225
|
+
if (!remover.success)
|
|
226
|
+
return refused('the removal was not requested by a principal');
|
|
227
|
+
const bound = await bounded(scope, remover.data, parsed.request.roleKey, 'remover');
|
|
228
|
+
return bound ?? { request: parsed.request, remover: remover.data };
|
|
229
|
+
}
|
|
230
|
+
/** The invitation an add request names, read the way the executor reads a request. */
|
|
231
|
+
function invitationOf(entry) {
|
|
232
|
+
const parsed = memberAddRequested.safeParse(entry.payload);
|
|
233
|
+
return parsed.success ? parsed.data.invitationId : undefined;
|
|
234
|
+
}
|
|
235
|
+
/** One entity's whole history, oldest first. Short by construction: a handful of events. */
|
|
236
|
+
async function everything(scope, entity) {
|
|
237
|
+
const entries = [];
|
|
238
|
+
let cursor;
|
|
239
|
+
do {
|
|
240
|
+
const page = await scope.history(entity, { cursor });
|
|
241
|
+
entries.push(...page.entries);
|
|
242
|
+
cursor = page.nextCursor ?? undefined;
|
|
243
|
+
} while (cursor);
|
|
244
|
+
return entries;
|
|
245
|
+
}
|
|
246
|
+
//# sourceMappingURL=membership-executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"membership-executor.js","sourceRoot":"","sources":["../src/membership-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The removal fence (#1184): one row per (tenant, principal), stamped with the latest moment
|
|
3
|
+
* that person was removed at the tenant level. The membership executor's add reads it inside
|
|
4
|
+
* the directory unit that assigns the role, and applies nothing when it stands at or after
|
|
5
|
+
* the request's `occurredAt - MEMBERSHIP_REMOVAL_SKEW_MS`.
|
|
6
|
+
*
|
|
7
|
+
* A table of its own rather than a read of the admin log, because K-21's audit contract
|
|
8
|
+
* writes no row for a removal that took nothing — and a removal of someone whose add is still
|
|
9
|
+
* on its way takes nothing, yet must still win. Every tenant-level `unassignRole` and every
|
|
10
|
+
* `removeMember` raises it in the SAME unit as its revoke, staff's and the executor's alike,
|
|
11
|
+
* a no-op included. Never lowered: a later removal moves it forward, an earlier one does not.
|
|
12
|
+
*
|
|
13
|
+
* The admin log is still the history. This is only the latest position.
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* The table. Interpolated into both adapters' directory DDL, so `lint:spine-ddl` sees the one
|
|
17
|
+
* spelling on each side, and a directory dump carries it like every other directory table.
|
|
18
|
+
*/
|
|
19
|
+
export declare const MEMBERSHIP_FENCES_DDL = "\n CREATE TABLE IF NOT EXISTS _substrat_membership_fences (\n tenant_id TEXT NOT NULL,\n principal TEXT NOT NULL,\n removed_at TEXT NOT NULL,\n PRIMARY KEY (tenant_id, principal)\n );\n";
|
|
20
|
+
/** Raise `principal`'s fence to `removed_at`, never lower it. Binds tenant, principal, at. */
|
|
21
|
+
export declare const RAISE_MEMBERSHIP_FENCE_SQL = "\n INSERT INTO _substrat_membership_fences (tenant_id, principal, removed_at) VALUES (?, ?, ?)\n ON CONFLICT (tenant_id, principal) DO UPDATE SET removed_at = MAX(removed_at, excluded.removed_at)\n";
|
|
22
|
+
/** The fence, if it stands at or after an instant. Binds tenant, principal, since. */
|
|
23
|
+
export declare const MEMBERSHIP_FENCE_SINCE_SQL = "\n SELECT removed_at FROM _substrat_membership_fences\n WHERE tenant_id = ? AND principal = ? AND removed_at >= ?\n";
|
|
24
|
+
/** The fence's table name, as the DDL above spells it. */
|
|
25
|
+
export declare const MEMBERSHIP_FENCES_TABLE = "_substrat_membership_fences";
|
|
26
|
+
/**
|
|
27
|
+
* The one-time backfill from the admin log: everyone removed at the tenant level before the
|
|
28
|
+
* fence existed. Without it, an add requested back then and never effected — the backlog a host
|
|
29
|
+
* that mounts the executor for the first time drains — would re-admit someone removed by hand
|
|
30
|
+
* since, because the fence would have nothing to say about them.
|
|
31
|
+
*
|
|
32
|
+
* It reads who those removals named: an `unassignRole` row at the tenant node (`scope_id` NULL)
|
|
33
|
+
* carries the assignment as `before.principalId`, a `removeMember` row the membership as
|
|
34
|
+
* `before.principal`. A no-op removal wrote no row and is not recovered — nothing before the
|
|
35
|
+
* fence recorded one.
|
|
36
|
+
*
|
|
37
|
+
* **Every backfilled fence stands at `at`, the adapter's clock at the moment it runs — never the
|
|
38
|
+
* audit row's own time** (Codex round 4). Those rows were stamped by the wall clock, while a
|
|
39
|
+
* request still queued from back then was stamped by the host's clock, which need not agree: a
|
|
40
|
+
* host clock running ahead would put the copied time below the request's cutoff and the backlog
|
|
41
|
+
* would re-admit the person. Stamping at backfill time is conservative instead: every request
|
|
42
|
+
* emitted before it, for anyone ever removed, is refused. That takes nothing legitimate away —
|
|
43
|
+
* anyone re-added before the executor existed got their role inline, by hand, and holds it
|
|
44
|
+
* still — and an invite accepted more than `MEMBERSHIP_REMOVAL_SKEW_MS` after it is unaffected.
|
|
45
|
+
*
|
|
46
|
+
* `INSERT OR IGNORE`, so a fence the live path raised is never lowered by history. The adapters
|
|
47
|
+
* run it on the construction that creates the table, and a directory restore runs it when the
|
|
48
|
+
* dump did not carry the table, so it runs once per directory that never had it.
|
|
49
|
+
*/
|
|
50
|
+
export declare function membershipFencesBackfillSql(at: string): string;
|
|
51
|
+
/** "Does the fence table exist yet?" — asked BEFORE the DDL, so the backfill runs once. */
|
|
52
|
+
export declare function membershipFencesTableExists(db: {
|
|
53
|
+
all(sql: string, ...params: string[]): unknown[];
|
|
54
|
+
}): boolean;
|
|
55
|
+
/** Does a dump carry the fence table? Compared without case, as SQLite resolves a name. */
|
|
56
|
+
export declare function dumpCarriesMembershipFences(names: readonly string[]): boolean;
|
|
57
|
+
//# sourceMappingURL=membership-fence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"membership-fence.d.ts","sourceRoot":"","sources":["../src/membership-fence.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AAEH;;;GAGG;AACH,eAAO,MAAM,qBAAqB,8MAOjC,CAAC;AAEF,8FAA8F;AAC9F,eAAO,MAAM,0BAA0B,4MAGtC,CAAC;AAEF,sFAAsF;AACtF,eAAO,MAAM,0BAA0B,0HAGtC,CAAC;AAEF,0DAA0D;AAC1D,eAAO,MAAM,uBAAuB,gCAAgC,CAAC;AAErE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,2BAA2B,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAiB9D;AAED,2FAA2F;AAC3F,wBAAgB,2BAA2B,CAAC,EAAE,EAAE;IAAE,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAA;CAAE,GAAG,OAAO,CAE7G;AAED,2FAA2F;AAC3F,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAE7E"}
|