@substrat-run/adapter-cloudflare 0.4.0 → 0.6.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/checker.d.ts +1 -0
- package/dist/checker.d.ts.map +1 -1
- package/dist/checker.js +12 -4
- package/dist/checker.js.map +1 -1
- package/dist/control-plane-do.d.ts +72 -5
- package/dist/control-plane-do.d.ts.map +1 -1
- package/dist/control-plane-do.js +234 -25
- package/dist/control-plane-do.js.map +1 -1
- package/dist/host.d.ts +25 -1
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +171 -12
- package/dist/host.js.map +1 -1
- package/dist/scope-do.d.ts.map +1 -1
- package/dist/scope-do.js +58 -0
- package/dist/scope-do.js.map +1 -1
- package/package.json +4 -4
package/dist/checker.d.ts
CHANGED
package/dist/checker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../src/checker.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAmB9D,UAAU,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,kFAAkF;AAClF,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7F,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;CAC7E;AAED,MAAM,WAAW,aAAa;IAC5B,wEAAwE;IACxE,QAAQ,EAAE,UAAU,CAAC;IACrB,8DAA8D;IAC9D,YAAY,EAAE,kBAAkB,CAAC;CAClC;AAQD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,GAAG,iBAAiB,
|
|
1
|
+
{"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../src/checker.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAmB9D,UAAU,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,kFAAkF;AAClF,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7F,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;CAC7E;AAED,MAAM,WAAW,aAAa;IAC5B,wEAAwE;IACxE,QAAQ,EAAE,UAAU,CAAC;IACrB,8DAA8D;IAC9D,YAAY,EAAE,kBAAkB,CAAC;CAClC;AAQD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,GAAG,iBAAiB,CAkJ3E"}
|
package/dist/checker.js
CHANGED
|
@@ -21,10 +21,13 @@ const t = (subject, relation, object) => ({
|
|
|
21
21
|
});
|
|
22
22
|
export function createDoTupleChecker(deps) {
|
|
23
23
|
const scopeTuples = (subject, relationPrefix) => deps.scopeSql
|
|
24
|
-
.exec(`SELECT subject, relation, object, expires_at FROM _substrat_tuples
|
|
24
|
+
.exec(`SELECT subject, relation, object, expires_at, revoked_at FROM _substrat_tuples
|
|
25
25
|
WHERE subject = ? AND relation LIKE ?`, subject, `${relationPrefix}%`)
|
|
26
26
|
.toArray();
|
|
27
|
-
|
|
27
|
+
// A tuple grants only while it is unexpired AND unrevoked. K-21: revocation
|
|
28
|
+
// tombstones rather than deletes, so a revoked row is still here and still
|
|
29
|
+
// readable as evidence — it just stops granting.
|
|
30
|
+
const live = (row, now) => (row.expires_at === null || row.expires_at > now) && row.revoked_at === null;
|
|
28
31
|
return {
|
|
29
32
|
async check(principal, permission, node, entity) {
|
|
30
33
|
const now = new Date().toISOString();
|
|
@@ -89,7 +92,7 @@ export function createDoTupleChecker(deps) {
|
|
|
89
92
|
for (const candidate of frontier) {
|
|
90
93
|
for (const subject of subjects) {
|
|
91
94
|
const grant = deps.scopeSql
|
|
92
|
-
.exec(`SELECT subject, relation, object, expires_at FROM _substrat_tuples
|
|
95
|
+
.exec(`SELECT subject, relation, object, expires_at, revoked_at FROM _substrat_tuples
|
|
93
96
|
WHERE subject = ? AND relation = ? AND object = ?`, subject.ref, `granted:${permission}`, candidate.ref)
|
|
94
97
|
.toArray()[0];
|
|
95
98
|
if (grant && live(grant, now)) {
|
|
@@ -108,10 +111,15 @@ export function createDoTupleChecker(deps) {
|
|
|
108
111
|
const next = [];
|
|
109
112
|
for (const candidate of frontier) {
|
|
110
113
|
const parents = deps.scopeSql
|
|
111
|
-
.exec(`SELECT subject, relation, object, expires_at FROM _substrat_tuples
|
|
114
|
+
.exec(`SELECT subject, relation, object, expires_at, revoked_at FROM _substrat_tuples
|
|
112
115
|
WHERE subject = ? AND relation = 'parent'`, candidate.ref)
|
|
113
116
|
.toArray();
|
|
114
117
|
for (const p of parents) {
|
|
118
|
+
// A revoked parent edge stops expanding — without this the tombstone
|
|
119
|
+
// would work for grants and membership but silently NOT for entity
|
|
120
|
+
// edges, which is the case open question 15 is actually about.
|
|
121
|
+
if (!live(p, now))
|
|
122
|
+
continue;
|
|
115
123
|
next.push({
|
|
116
124
|
ref: p.object,
|
|
117
125
|
chain: [...candidate.chain, t(p.subject, 'parent', p.object)],
|
package/dist/checker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checker.js","sourceRoot":"","sources":["../src/checker.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,GAQV,MAAM,yBAAyB,CAAC;AAGjC;;;;;;;;;;;;;GAaG;AAEH,MAAM,iBAAiB,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"checker.js","sourceRoot":"","sources":["../src/checker.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,6 +44,17 @@ export interface ScopeRow {
|
|
|
44
44
|
jurisdiction: string | null;
|
|
45
45
|
status: string;
|
|
46
46
|
schema_version: string;
|
|
47
|
+
migration_failed_version: string | null;
|
|
48
|
+
migration_error: string | null;
|
|
49
|
+
migration_attempts: number;
|
|
50
|
+
migration_last_attempt_at: string | null;
|
|
51
|
+
created_at: string;
|
|
52
|
+
}
|
|
53
|
+
export interface OrgRow {
|
|
54
|
+
org_id: string;
|
|
55
|
+
tenant_id: string;
|
|
56
|
+
slug: string;
|
|
57
|
+
name: string;
|
|
47
58
|
created_at: string;
|
|
48
59
|
}
|
|
49
60
|
/** The audit filter, flattened for the RPC hop (`action` always an array or absent). */
|
|
@@ -63,7 +74,10 @@ export interface AdminEntryInput {
|
|
|
63
74
|
id: string;
|
|
64
75
|
actor: string;
|
|
65
76
|
action: string;
|
|
66
|
-
|
|
77
|
+
/** Null for platform-level actions that target no tenant (K-23). */
|
|
78
|
+
tenantId: string | null;
|
|
79
|
+
/** The event that caused this action, when one did (K-22 §4.2). */
|
|
80
|
+
causedBy?: string | null;
|
|
67
81
|
scopeId: string | null;
|
|
68
82
|
vertical: string | null;
|
|
69
83
|
before: unknown;
|
|
@@ -86,6 +100,23 @@ export declare class ControlPlaneDO extends DurableObject {
|
|
|
86
100
|
* expected steady state on every cold start after the first — anything else
|
|
87
101
|
* rethrows.
|
|
88
102
|
*/
|
|
103
|
+
/** Attempt-and-tolerate ALTER — DO SQLite restricts PRAGMA, so no column probe. */
|
|
104
|
+
private addColumn;
|
|
105
|
+
/**
|
|
106
|
+
* Rebuild `_substrat_identities` when it still carries the pre-K-22 global key
|
|
107
|
+
* (§4.3: a globally-keyed identity mapping is a cross-tenant identity bleed). A
|
|
108
|
+
* PRIMARY KEY cannot be ALTERed, so this is create-copy-drop-rename.
|
|
109
|
+
*
|
|
110
|
+
* Detected from `sqlite_master.sql`, which works here as well as in the pure
|
|
111
|
+
* adapter — DO SQLite restricts PRAGMA, so this is the one detection strategy both
|
|
112
|
+
* adapters can share. Rows already carry `tenant_id`, so the copy is lossless.
|
|
113
|
+
*/
|
|
114
|
+
private ensureIdentityKey;
|
|
115
|
+
/**
|
|
116
|
+
* Drop the admin log's `tenant_id NOT NULL` (K-23) — same create-copy-drop-rename
|
|
117
|
+
* as the identity key, detected the same way. Rows copy verbatim.
|
|
118
|
+
*/
|
|
119
|
+
private ensureAdminLogTenantNullable;
|
|
89
120
|
private ensureDirectoryColumns;
|
|
90
121
|
private mapTenant;
|
|
91
122
|
private readTenant;
|
|
@@ -113,8 +144,16 @@ export declare class ControlPlaneDO extends DurableObject {
|
|
|
113
144
|
* question ("which scopes are behind?") is answerable from the index alone —
|
|
114
145
|
* §5.4's "fleet questions never fan out". Written by the coordinator after the
|
|
115
146
|
* ScopeDO reports what it applied.
|
|
147
|
+
*
|
|
148
|
+
* Written on the FAILURE path too (#32): projecting only on success is what let
|
|
149
|
+
* a half-migrated scope keep a stale `schema_version` and render as healthy.
|
|
150
|
+
* `failure` null clears the columns, so `migration_attempts` counts *consecutive*
|
|
151
|
+
* failures — what the reconciliation sweep's backoff (#49) needs.
|
|
116
152
|
*/
|
|
117
|
-
|
|
153
|
+
setMigrationState(scopeId: string, schemaVersion: string, failure: {
|
|
154
|
+
version: string;
|
|
155
|
+
error: string;
|
|
156
|
+
} | null): void;
|
|
118
157
|
listScopes(filter: {
|
|
119
158
|
tenantId?: string;
|
|
120
159
|
status?: string[];
|
|
@@ -146,6 +185,21 @@ export declare class ControlPlaneDO extends DurableObject {
|
|
|
146
185
|
}): RoleRow[];
|
|
147
186
|
getRole(tenantId: string, key: string): RoleDefinition | undefined;
|
|
148
187
|
writeTenantTuple(tenantId: string, subject: string, relation: string, object: string, expiresAt: string | null): void;
|
|
188
|
+
readOrg(tenantId: string, orgId: string): OrgRow | undefined;
|
|
189
|
+
/** Returns false when the org already exists (idempotent); throws on slug collision. */
|
|
190
|
+
createOrg(orgId: string, tenantId: string, slug: string, name: string, createdAt: string): boolean;
|
|
191
|
+
listOrgs(tenantId: string): OrgRow[];
|
|
192
|
+
/**
|
|
193
|
+
* Tombstone a membership (K-21), never DELETE. Guarded on `revoked_at IS NULL`
|
|
194
|
+
* so a repeat revoke neither moves the timestamp nor produces a second audit
|
|
195
|
+
* row. Returns whether it changed, so the coordinator can skip the audit write.
|
|
196
|
+
*/
|
|
197
|
+
revokeMember(tenantId: string, subject: string, object: string, at: string): boolean;
|
|
198
|
+
/** Members of an org. Live only unless `includeRevoked` — revoked rows are evidence. */
|
|
199
|
+
listMembers(tenantId: string, object: string, includeRevoked: boolean): {
|
|
200
|
+
subject: string;
|
|
201
|
+
revoked_at: string | null;
|
|
202
|
+
}[];
|
|
149
203
|
tenantTuples(tenantId: string, subject: string, relationPrefix: string): TupleRow[];
|
|
150
204
|
/** INSERT OR IGNORE; return whether it changed (idempotent). */
|
|
151
205
|
grantEntitlement(tenantId: string, key: string): boolean;
|
|
@@ -153,11 +207,24 @@ export declare class ControlPlaneDO extends DurableObject {
|
|
|
153
207
|
revokeEntitlement(tenantId: string, key: string): boolean;
|
|
154
208
|
tenantHoldsEntitlement(tenantId: string, key: string): boolean;
|
|
155
209
|
listEntitlements(tenantId: string): string[];
|
|
156
|
-
|
|
210
|
+
readPool(provider: string): {
|
|
211
|
+
provider: string;
|
|
212
|
+
topology: string;
|
|
213
|
+
tenant_id: string | null;
|
|
214
|
+
} | undefined;
|
|
215
|
+
/** Returns false when an identical registration already exists; throws on a conflicting one. */
|
|
216
|
+
registerIdentityPool(provider: string, topology: string, tenantId: string | null, createdAt: string): boolean;
|
|
217
|
+
identityTenants(provider: string, externalId: string): string[];
|
|
218
|
+
/**
|
|
219
|
+
* Bind an identity within a tenant. Returns false when the key already maps to the
|
|
220
|
+
* SAME principal (idempotent, unaudited); throws when it maps to a DIFFERENT one.
|
|
221
|
+
*
|
|
222
|
+
* Read before write: `INSERT OR IGNORE` alone cannot tell those two apart, and
|
|
223
|
+
* silently ignoring a genuine collision resolves one person as another.
|
|
224
|
+
*/
|
|
157
225
|
linkIdentity(provider: string, externalId: string, principal: string, tenantId: string, scopeId: string | null, createdAt: string): boolean;
|
|
158
|
-
resolveIdentity(provider: string, externalId: string): {
|
|
226
|
+
resolveIdentity(tenantId: string, provider: string, externalId: string): {
|
|
159
227
|
principal: string;
|
|
160
|
-
tenantId: string;
|
|
161
228
|
scopeId: string | null;
|
|
162
229
|
} | undefined;
|
|
163
230
|
/** Append one audit row. before/after are arbitrary JSON, stringified here. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control-plane-do.d.ts","sourceRoot":"","sources":["../src/control-plane-do.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,WAAW,EACX,MAAM,EACN,YAAY,EACb,MAAM,yBAAyB,CAAC;AAEjC;;;;;;;;;;;;;;;;;GAiBG;AAEH,UAAU,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAUD,uEAAuE;AACvE,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,mFAAmF;AACnF,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"control-plane-do.d.ts","sourceRoot":"","sources":["../src/control-plane-do.ts"],"names":[],"mappings":"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"}
|
package/dist/control-plane-do.js
CHANGED
|
@@ -23,6 +23,21 @@ const DIRECTORY_DDL = `
|
|
|
23
23
|
jurisdiction TEXT,
|
|
24
24
|
status TEXT NOT NULL DEFAULT 'active',
|
|
25
25
|
schema_version TEXT NOT NULL DEFAULT '0',
|
|
26
|
+
-- Last FAILED migration attempt (§5.3). All null / 0 = healthy. Written on the
|
|
27
|
+
-- failure path so a scope that fails closed stops rendering as active, and
|
|
28
|
+
-- cleared on the next success. See ScopeDO.applyPendingMigrations.
|
|
29
|
+
-- (No semicolons in this comment — see the NOTE below.)
|
|
30
|
+
migration_failed_version TEXT,
|
|
31
|
+
migration_error TEXT,
|
|
32
|
+
migration_attempts INTEGER NOT NULL DEFAULT 0,
|
|
33
|
+
migration_last_attempt_at TEXT,
|
|
34
|
+
created_at TEXT NOT NULL
|
|
35
|
+
);
|
|
36
|
+
CREATE TABLE IF NOT EXISTS orgs (
|
|
37
|
+
org_id TEXT PRIMARY KEY,
|
|
38
|
+
tenant_id TEXT NOT NULL,
|
|
39
|
+
slug TEXT NOT NULL,
|
|
40
|
+
name TEXT NOT NULL,
|
|
26
41
|
created_at TEXT NOT NULL
|
|
27
42
|
);
|
|
28
43
|
CREATE TABLE IF NOT EXISTS _substrat_tenant_tuples (
|
|
@@ -31,6 +46,11 @@ const DIRECTORY_DDL = `
|
|
|
31
46
|
relation TEXT NOT NULL,
|
|
32
47
|
object TEXT NOT NULL,
|
|
33
48
|
expires_at TEXT,
|
|
49
|
+
-- K-21: revocation TOMBSTONES. The row stays and the walk skips it, because a
|
|
50
|
+
-- tuple that once granted access is evidence of why an access was allowed
|
|
51
|
+
-- (K-4) and D-32's compliance product must produce that evidence.
|
|
52
|
+
-- (No semicolons in this comment — see the NOTE below.)
|
|
53
|
+
revoked_at TEXT,
|
|
34
54
|
PRIMARY KEY (tenant_id, subject, relation, object)
|
|
35
55
|
);
|
|
36
56
|
CREATE TABLE IF NOT EXISTS _substrat_roles (
|
|
@@ -45,6 +65,12 @@ const DIRECTORY_DDL = `
|
|
|
45
65
|
entitlement_key TEXT NOT NULL,
|
|
46
66
|
PRIMARY KEY (tenant_id, entitlement_key)
|
|
47
67
|
);
|
|
68
|
+
CREATE TABLE IF NOT EXISTS _substrat_identity_pools (
|
|
69
|
+
provider TEXT PRIMARY KEY,
|
|
70
|
+
topology TEXT NOT NULL,
|
|
71
|
+
tenant_id TEXT,
|
|
72
|
+
created_at TEXT NOT NULL
|
|
73
|
+
);
|
|
48
74
|
CREATE TABLE IF NOT EXISTS _substrat_identities (
|
|
49
75
|
provider TEXT NOT NULL,
|
|
50
76
|
external_id TEXT NOT NULL,
|
|
@@ -52,17 +78,21 @@ const DIRECTORY_DDL = `
|
|
|
52
78
|
tenant_id TEXT NOT NULL,
|
|
53
79
|
scope_id TEXT,
|
|
54
80
|
created_at TEXT NOT NULL,
|
|
55
|
-
PRIMARY KEY (provider, external_id)
|
|
81
|
+
PRIMARY KEY (tenant_id, provider, external_id)
|
|
56
82
|
);
|
|
57
83
|
CREATE TABLE IF NOT EXISTS _substrat_admin_log (
|
|
58
84
|
id TEXT PRIMARY KEY,
|
|
59
85
|
actor TEXT NOT NULL,
|
|
60
86
|
action TEXT NOT NULL,
|
|
61
|
-
|
|
87
|
+
-- Nullable for platform-level actions that target no tenant (K-23).
|
|
88
|
+
tenant_id TEXT,
|
|
62
89
|
scope_id TEXT,
|
|
63
90
|
vertical TEXT,
|
|
64
91
|
before TEXT,
|
|
65
92
|
after TEXT,
|
|
93
|
+
-- The event that caused this action, when one did (K-22 §4.2) — the join
|
|
94
|
+
-- between the connector seam's emit half and its effect half.
|
|
95
|
+
caused_by TEXT,
|
|
66
96
|
at TEXT NOT NULL
|
|
67
97
|
);
|
|
68
98
|
-- Read-path indexes for the console (control-plane.md §4.5). The admin log is
|
|
@@ -84,6 +114,10 @@ const SCOPE_COLUMNS_ADDED = [
|
|
|
84
114
|
'kind TEXT',
|
|
85
115
|
'name TEXT',
|
|
86
116
|
'vertical TEXT',
|
|
117
|
+
'migration_failed_version TEXT',
|
|
118
|
+
'migration_error TEXT',
|
|
119
|
+
'migration_attempts INTEGER NOT NULL DEFAULT 0',
|
|
120
|
+
'migration_last_attempt_at TEXT',
|
|
87
121
|
];
|
|
88
122
|
export class ControlPlaneDO extends DurableObject {
|
|
89
123
|
sql;
|
|
@@ -110,16 +144,91 @@ export class ControlPlaneDO extends DurableObject {
|
|
|
110
144
|
* expected steady state on every cold start after the first — anything else
|
|
111
145
|
* rethrows.
|
|
112
146
|
*/
|
|
147
|
+
/** Attempt-and-tolerate ALTER — DO SQLite restricts PRAGMA, so no column probe. */
|
|
148
|
+
addColumn(table, ddl) {
|
|
149
|
+
try {
|
|
150
|
+
this.sql.exec(`ALTER TABLE ${table} ADD COLUMN ${ddl}`);
|
|
151
|
+
}
|
|
152
|
+
catch (err) {
|
|
153
|
+
if (!/duplicate column name/i.test(err.message))
|
|
154
|
+
throw err;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Rebuild `_substrat_identities` when it still carries the pre-K-22 global key
|
|
159
|
+
* (§4.3: a globally-keyed identity mapping is a cross-tenant identity bleed). A
|
|
160
|
+
* PRIMARY KEY cannot be ALTERed, so this is create-copy-drop-rename.
|
|
161
|
+
*
|
|
162
|
+
* Detected from `sqlite_master.sql`, which works here as well as in the pure
|
|
163
|
+
* adapter — DO SQLite restricts PRAGMA, so this is the one detection strategy both
|
|
164
|
+
* adapters can share. Rows already carry `tenant_id`, so the copy is lossless.
|
|
165
|
+
*/
|
|
166
|
+
ensureIdentityKey() {
|
|
167
|
+
const row = this.sql
|
|
168
|
+
.exec("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = ?", '_substrat_identities')
|
|
169
|
+
.toArray()[0];
|
|
170
|
+
if (!row || row.sql.includes('PRIMARY KEY (tenant_id, provider, external_id)'))
|
|
171
|
+
return;
|
|
172
|
+
for (const stmt of [
|
|
173
|
+
`CREATE TABLE _substrat_identities_new (
|
|
174
|
+
provider TEXT NOT NULL,
|
|
175
|
+
external_id TEXT NOT NULL,
|
|
176
|
+
principal_id TEXT NOT NULL,
|
|
177
|
+
tenant_id TEXT NOT NULL,
|
|
178
|
+
scope_id TEXT,
|
|
179
|
+
created_at TEXT NOT NULL,
|
|
180
|
+
PRIMARY KEY (tenant_id, provider, external_id)
|
|
181
|
+
)`,
|
|
182
|
+
`INSERT OR IGNORE INTO _substrat_identities_new
|
|
183
|
+
(provider, external_id, principal_id, tenant_id, scope_id, created_at)
|
|
184
|
+
SELECT provider, external_id, principal_id, tenant_id, scope_id, created_at
|
|
185
|
+
FROM _substrat_identities`,
|
|
186
|
+
'DROP TABLE _substrat_identities',
|
|
187
|
+
'ALTER TABLE _substrat_identities_new RENAME TO _substrat_identities',
|
|
188
|
+
]) {
|
|
189
|
+
this.sql.exec(stmt);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Drop the admin log's `tenant_id NOT NULL` (K-23) — same create-copy-drop-rename
|
|
194
|
+
* as the identity key, detected the same way. Rows copy verbatim.
|
|
195
|
+
*/
|
|
196
|
+
ensureAdminLogTenantNullable() {
|
|
197
|
+
const row = this.sql
|
|
198
|
+
.exec("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = ?", '_substrat_admin_log')
|
|
199
|
+
.toArray()[0];
|
|
200
|
+
if (!row || !/tenant_id TEXT NOT NULL/.test(row.sql))
|
|
201
|
+
return;
|
|
202
|
+
for (const stmt of [
|
|
203
|
+
`CREATE TABLE _substrat_admin_log_new (
|
|
204
|
+
id TEXT PRIMARY KEY,
|
|
205
|
+
actor TEXT NOT NULL,
|
|
206
|
+
action TEXT NOT NULL,
|
|
207
|
+
tenant_id TEXT,
|
|
208
|
+
scope_id TEXT,
|
|
209
|
+
vertical TEXT,
|
|
210
|
+
before TEXT,
|
|
211
|
+
after TEXT,
|
|
212
|
+
at TEXT NOT NULL
|
|
213
|
+
)`,
|
|
214
|
+
`INSERT INTO _substrat_admin_log_new
|
|
215
|
+
SELECT id, actor, action, tenant_id, scope_id, vertical, before, after, at
|
|
216
|
+
FROM _substrat_admin_log`,
|
|
217
|
+
'DROP TABLE _substrat_admin_log',
|
|
218
|
+
'ALTER TABLE _substrat_admin_log_new RENAME TO _substrat_admin_log',
|
|
219
|
+
]) {
|
|
220
|
+
this.sql.exec(stmt);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
113
223
|
ensureDirectoryColumns() {
|
|
224
|
+
this.ensureIdentityKey();
|
|
225
|
+
this.ensureAdminLogTenantNullable();
|
|
114
226
|
for (const ddl of SCOPE_COLUMNS_ADDED) {
|
|
115
|
-
|
|
116
|
-
this.sql.exec(`ALTER TABLE scopes ADD COLUMN ${ddl}`);
|
|
117
|
-
}
|
|
118
|
-
catch (err) {
|
|
119
|
-
if (!/duplicate column name/i.test(err.message))
|
|
120
|
-
throw err;
|
|
121
|
-
}
|
|
227
|
+
this.addColumn('scopes', ddl);
|
|
122
228
|
}
|
|
229
|
+
// K-21's tombstone on tenant-level tuples (membership lives here).
|
|
230
|
+
this.addColumn('_substrat_tenant_tuples', 'revoked_at TEXT');
|
|
231
|
+
this.addColumn('_substrat_admin_log', 'caused_by TEXT');
|
|
123
232
|
this.sql.exec("UPDATE scopes SET slug = lower(scope_id) WHERE slug IS NULL");
|
|
124
233
|
this.sql.exec("UPDATE scopes SET kind = 'scope' WHERE kind IS NULL");
|
|
125
234
|
this.sql.exec('UPDATE scopes SET name = slug WHERE name IS NULL');
|
|
@@ -127,6 +236,7 @@ export class ControlPlaneDO extends DurableObject {
|
|
|
127
236
|
// duplicates it exists to forbid (SQLite treats NULLs as distinct).
|
|
128
237
|
this.sql.exec('CREATE UNIQUE INDEX IF NOT EXISTS scopes_tenant_slug ON scopes (tenant_id, slug)');
|
|
129
238
|
this.sql.exec('CREATE UNIQUE INDEX IF NOT EXISTS tenants_slug ON tenants (slug)');
|
|
239
|
+
this.sql.exec('CREATE UNIQUE INDEX IF NOT EXISTS orgs_tenant_slug ON orgs (tenant_id, slug)');
|
|
130
240
|
}
|
|
131
241
|
// -- tenant registry (control-plane.md §4.1) --------------------------------
|
|
132
242
|
mapTenant(r) {
|
|
@@ -216,9 +326,23 @@ export class ControlPlaneDO extends DurableObject {
|
|
|
216
326
|
* question ("which scopes are behind?") is answerable from the index alone —
|
|
217
327
|
* §5.4's "fleet questions never fan out". Written by the coordinator after the
|
|
218
328
|
* ScopeDO reports what it applied.
|
|
329
|
+
*
|
|
330
|
+
* Written on the FAILURE path too (#32): projecting only on success is what let
|
|
331
|
+
* a half-migrated scope keep a stale `schema_version` and render as healthy.
|
|
332
|
+
* `failure` null clears the columns, so `migration_attempts` counts *consecutive*
|
|
333
|
+
* failures — what the reconciliation sweep's backoff (#49) needs.
|
|
219
334
|
*/
|
|
220
|
-
|
|
221
|
-
|
|
335
|
+
setMigrationState(scopeId, schemaVersion, failure) {
|
|
336
|
+
if (!failure) {
|
|
337
|
+
this.sql.exec(`UPDATE scopes SET schema_version = ?, migration_failed_version = NULL,
|
|
338
|
+
migration_error = NULL, migration_attempts = 0, migration_last_attempt_at = NULL
|
|
339
|
+
WHERE scope_id = ?`, schemaVersion, scopeId);
|
|
340
|
+
return;
|
|
341
|
+
}
|
|
342
|
+
this.sql.exec(`UPDATE scopes SET schema_version = ?, migration_failed_version = ?,
|
|
343
|
+
migration_error = ?, migration_attempts = migration_attempts + 1,
|
|
344
|
+
migration_last_attempt_at = ?
|
|
345
|
+
WHERE scope_id = ?`, schemaVersion, failure.version, failure.error, new Date().toISOString(), scopeId);
|
|
222
346
|
}
|
|
223
347
|
listScopes(filter) {
|
|
224
348
|
const where = [];
|
|
@@ -340,9 +464,60 @@ export class ControlPlaneDO extends DurableObject {
|
|
|
340
464
|
(tenant_id, subject, relation, object, expires_at)
|
|
341
465
|
VALUES (?, ?, ?, ?, ?)`, tenantId, subject, relation, object, expiresAt);
|
|
342
466
|
}
|
|
467
|
+
// -- organizations (K-22) ---------------------------------------------------
|
|
468
|
+
readOrg(tenantId, orgId) {
|
|
469
|
+
return this.sql
|
|
470
|
+
.exec('SELECT * FROM orgs WHERE tenant_id = ? AND org_id = ?', tenantId, orgId)
|
|
471
|
+
.toArray()[0];
|
|
472
|
+
}
|
|
473
|
+
/** Returns false when the org already exists (idempotent); throws on slug collision. */
|
|
474
|
+
createOrg(orgId, tenantId, slug, name, createdAt) {
|
|
475
|
+
if (this.readOrg(tenantId, orgId))
|
|
476
|
+
return false;
|
|
477
|
+
const slugOwner = this.sql
|
|
478
|
+
.exec('SELECT org_id FROM orgs WHERE tenant_id = ? AND slug = ?', tenantId, slug)
|
|
479
|
+
.toArray()[0];
|
|
480
|
+
if (slugOwner) {
|
|
481
|
+
throw new Error(`org slug '${slug}' already taken by ${slugOwner.org_id} (slugs are unique per tenant)`);
|
|
482
|
+
}
|
|
483
|
+
this.sql.exec('INSERT INTO orgs (org_id, tenant_id, slug, name, created_at) VALUES (?, ?, ?, ?, ?)', orgId, tenantId, slug, name, createdAt);
|
|
484
|
+
return true;
|
|
485
|
+
}
|
|
486
|
+
listOrgs(tenantId) {
|
|
487
|
+
return this.sql
|
|
488
|
+
.exec('SELECT * FROM orgs WHERE tenant_id = ? ORDER BY slug', tenantId)
|
|
489
|
+
.toArray();
|
|
490
|
+
}
|
|
491
|
+
/**
|
|
492
|
+
* Tombstone a membership (K-21), never DELETE. Guarded on `revoked_at IS NULL`
|
|
493
|
+
* so a repeat revoke neither moves the timestamp nor produces a second audit
|
|
494
|
+
* row. Returns whether it changed, so the coordinator can skip the audit write.
|
|
495
|
+
*/
|
|
496
|
+
revokeMember(tenantId, subject, object, at) {
|
|
497
|
+
const before = this.sql
|
|
498
|
+
.exec(`SELECT 1 FROM _substrat_tenant_tuples
|
|
499
|
+
WHERE tenant_id = ? AND subject = ? AND relation = 'member' AND object = ?
|
|
500
|
+
AND revoked_at IS NULL`, tenantId, subject, object)
|
|
501
|
+
.toArray();
|
|
502
|
+
if (before.length === 0)
|
|
503
|
+
return false;
|
|
504
|
+
this.sql.exec(`UPDATE _substrat_tenant_tuples SET revoked_at = ?
|
|
505
|
+
WHERE tenant_id = ? AND subject = ? AND relation = 'member' AND object = ?
|
|
506
|
+
AND revoked_at IS NULL`, at, tenantId, subject, object);
|
|
507
|
+
return true;
|
|
508
|
+
}
|
|
509
|
+
/** Members of an org. Live only unless `includeRevoked` — revoked rows are evidence. */
|
|
510
|
+
listMembers(tenantId, object, includeRevoked) {
|
|
511
|
+
return this.sql
|
|
512
|
+
.exec(`SELECT subject, revoked_at FROM _substrat_tenant_tuples
|
|
513
|
+
WHERE tenant_id = ? AND relation = 'member' AND object = ?
|
|
514
|
+
${includeRevoked ? '' : 'AND revoked_at IS NULL'}
|
|
515
|
+
ORDER BY subject`, tenantId, object)
|
|
516
|
+
.toArray();
|
|
517
|
+
}
|
|
343
518
|
tenantTuples(tenantId, subject, relationPrefix) {
|
|
344
519
|
return this.sql
|
|
345
|
-
.exec(`SELECT subject, relation, object, expires_at FROM _substrat_tenant_tuples
|
|
520
|
+
.exec(`SELECT subject, relation, object, expires_at, revoked_at FROM _substrat_tenant_tuples
|
|
346
521
|
WHERE tenant_id = ? AND subject = ? AND relation LIKE ?`, tenantId, subject, `${relationPrefix}%`)
|
|
347
522
|
.toArray();
|
|
348
523
|
}
|
|
@@ -372,34 +547,67 @@ export class ControlPlaneDO extends DurableObject {
|
|
|
372
547
|
.exec('SELECT entitlement_key FROM _substrat_entitlements WHERE tenant_id = ? ORDER BY entitlement_key', tenantId)
|
|
373
548
|
.toArray().map((r) => r.entitlement_key);
|
|
374
549
|
}
|
|
550
|
+
// -- identity pools (K-23) --------------------------------------------------
|
|
551
|
+
readPool(provider) {
|
|
552
|
+
return this.sql
|
|
553
|
+
.exec('SELECT provider, topology, tenant_id FROM _substrat_identity_pools WHERE provider = ?', provider)
|
|
554
|
+
.toArray()[0];
|
|
555
|
+
}
|
|
556
|
+
/** Returns false when an identical registration already exists; throws on a conflicting one. */
|
|
557
|
+
registerIdentityPool(provider, topology, tenantId, createdAt) {
|
|
558
|
+
const existing = this.readPool(provider);
|
|
559
|
+
if (existing) {
|
|
560
|
+
if (existing.topology === topology && existing.tenant_id === tenantId)
|
|
561
|
+
return false;
|
|
562
|
+
throw new Error(`identity pool '${provider}' is already registered as ${existing.topology}` +
|
|
563
|
+
`${existing.tenant_id ? ` for tenant ${existing.tenant_id}` : ''}`);
|
|
564
|
+
}
|
|
565
|
+
this.sql.exec('INSERT INTO _substrat_identity_pools (provider, topology, tenant_id, created_at) VALUES (?, ?, ?, ?)', provider, topology, tenantId, createdAt);
|
|
566
|
+
return true;
|
|
567
|
+
}
|
|
568
|
+
identityTenants(provider, externalId) {
|
|
569
|
+
return this.sql
|
|
570
|
+
.exec('SELECT tenant_id FROM _substrat_identities WHERE provider = ? AND external_id = ? ORDER BY tenant_id', provider, externalId)
|
|
571
|
+
.toArray().map((r) => r.tenant_id);
|
|
572
|
+
}
|
|
375
573
|
// -- identities (D-16; control-plane.md §6) ---------------------------------
|
|
376
|
-
/**
|
|
574
|
+
/**
|
|
575
|
+
* Bind an identity within a tenant. Returns false when the key already maps to the
|
|
576
|
+
* SAME principal (idempotent, unaudited); throws when it maps to a DIFFERENT one.
|
|
577
|
+
*
|
|
578
|
+
* Read before write: `INSERT OR IGNORE` alone cannot tell those two apart, and
|
|
579
|
+
* silently ignoring a genuine collision resolves one person as another.
|
|
580
|
+
*/
|
|
377
581
|
linkIdentity(provider, externalId, principal, tenantId, scopeId, createdAt) {
|
|
378
|
-
const
|
|
379
|
-
.exec(
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
582
|
+
const existing = this.sql
|
|
583
|
+
.exec(`SELECT principal_id FROM _substrat_identities
|
|
584
|
+
WHERE tenant_id = ? AND provider = ? AND external_id = ?`, tenantId, provider, externalId)
|
|
585
|
+
.toArray()[0];
|
|
586
|
+
if (existing) {
|
|
587
|
+
if (existing.principal_id === principal)
|
|
588
|
+
return false;
|
|
589
|
+
throw new Error(`identity ${provider}:${externalId} in tenant ${tenantId} is already bound to ${existing.principal_id}`);
|
|
590
|
+
}
|
|
591
|
+
this.sql.exec(`INSERT INTO _substrat_identities
|
|
384
592
|
(provider, external_id, principal_id, tenant_id, scope_id, created_at)
|
|
385
593
|
VALUES (?, ?, ?, ?, ?, ?)`, provider, externalId, principal, tenantId, scopeId, createdAt);
|
|
386
594
|
return true;
|
|
387
595
|
}
|
|
388
|
-
resolveIdentity(provider, externalId) {
|
|
596
|
+
resolveIdentity(tenantId, provider, externalId) {
|
|
389
597
|
const row = this.sql
|
|
390
|
-
.exec(`SELECT principal_id,
|
|
391
|
-
WHERE provider = ? AND external_id = ?`, provider, externalId)
|
|
598
|
+
.exec(`SELECT principal_id, scope_id FROM _substrat_identities
|
|
599
|
+
WHERE tenant_id = ? AND provider = ? AND external_id = ?`, tenantId, provider, externalId)
|
|
392
600
|
.toArray()[0];
|
|
393
601
|
if (!row)
|
|
394
602
|
return undefined;
|
|
395
|
-
return { principal: row.principal_id,
|
|
603
|
+
return { principal: row.principal_id, scopeId: row.scope_id };
|
|
396
604
|
}
|
|
397
605
|
// -- admin audit log (control-plane.md §4.4) --------------------------------
|
|
398
606
|
/** Append one audit row. before/after are arbitrary JSON, stringified here. */
|
|
399
607
|
recordAdmin(entry) {
|
|
400
608
|
this.sql.exec(`INSERT INTO _substrat_admin_log
|
|
401
|
-
(id, actor, action, tenant_id, scope_id, vertical, before, after, at)
|
|
402
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`, entry.id, entry.actor, entry.action, entry.tenantId, entry.scopeId, entry.vertical, entry.before == null ? null : JSON.stringify(entry.before), entry.after == null ? null : JSON.stringify(entry.after), entry.at);
|
|
609
|
+
(id, actor, action, tenant_id, scope_id, vertical, before, after, caused_by, at)
|
|
610
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, entry.id, entry.actor, entry.action, entry.tenantId, entry.scopeId, entry.vertical, entry.before == null ? null : JSON.stringify(entry.before), entry.after == null ? null : JSON.stringify(entry.after), entry.causedBy ?? null, entry.at);
|
|
403
611
|
}
|
|
404
612
|
auditLog(query) {
|
|
405
613
|
const where = [];
|
|
@@ -453,6 +661,7 @@ export class ControlPlaneDO extends DurableObject {
|
|
|
453
661
|
vertical: r.vertical,
|
|
454
662
|
before: r.before === null ? null : JSON.parse(r.before),
|
|
455
663
|
after: r.after === null ? null : JSON.parse(r.after),
|
|
664
|
+
causedBy: r.caused_by,
|
|
456
665
|
at: r.at,
|
|
457
666
|
}));
|
|
458
667
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control-plane-do.js","sourceRoot":"","sources":["../src/control-plane-do.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"control-plane-do.js","sourceRoot":"","sources":["../src/control-plane-do.ts"],"names":[],"mappings":"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"}
|
package/dist/host.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type PlatformActorId, type PrincipalId, type ScopeId, type TenantId } from '@substrat-run/contracts';
|
|
2
|
-
import { type HostAdmin, type ModuleRegistration, type OperationHandler, type PermissionChecker, type ProvisionScopeInput, type ScopeHost, type ScopeStub } from '@substrat-run/kernel';
|
|
2
|
+
import { type ExecutorHandler, type HostAdmin, type ModuleRegistration, type OperationHandler, type PermissionChecker, type ProvisionScopeInput, type ScopeHost, type ScopeStub } from '@substrat-run/kernel';
|
|
3
3
|
export interface CloudflareScopeHostOptions {
|
|
4
4
|
scope: DurableObjectNamespace;
|
|
5
5
|
controlPlane: DurableObjectNamespace;
|
|
@@ -17,9 +17,29 @@ export declare class CloudflareScopeHost implements ScopeHost {
|
|
|
17
17
|
private readonly moduleIds;
|
|
18
18
|
private readonly operations;
|
|
19
19
|
private readonly predicateNames;
|
|
20
|
+
/** Executor id → {eventType, handler} (K-22 §4.2). Coordinator-side, not in the DO. */
|
|
21
|
+
private readonly executors;
|
|
22
|
+
/**
|
|
23
|
+
* The event currently being effected, stamped onto admin rows the executor writes.
|
|
24
|
+
* Ambient rather than threaded through every HostAdmin signature: set and cleared
|
|
25
|
+
* around one await, with executors running sequentially, so there is no window
|
|
26
|
+
* where it belongs to a different event.
|
|
27
|
+
*/
|
|
28
|
+
private causedBy;
|
|
20
29
|
private readonly withdrawn;
|
|
21
30
|
private readonly operationEntitlement;
|
|
22
31
|
constructor(options: CloudflareScopeHostOptions);
|
|
32
|
+
registerExecutor(id: string, eventType: string, handler: ExecutorHandler): void;
|
|
33
|
+
/**
|
|
34
|
+
* Drain this scope's outbox into the registered executors (K-22 §4.2).
|
|
35
|
+
*
|
|
36
|
+
* Runs on the coordinator because executors act through `HostAdmin`, which the
|
|
37
|
+
* ScopeDO cannot reach. Prompt: called inline after the operation returns, so the
|
|
38
|
+
* common case completes inside the request. A throwing executor leaves the
|
|
39
|
+
* delivery unjournaled and is retried on the next drain — the outbox is the
|
|
40
|
+
* backstop, not a substitute for idempotent handlers.
|
|
41
|
+
*/
|
|
42
|
+
private drainExecutors;
|
|
23
43
|
registerModule(registration: ModuleRegistration): void;
|
|
24
44
|
defineOperation<I, O>(name: string, _handler: OperationHandler<I, O>): void;
|
|
25
45
|
private bindOperation;
|
|
@@ -29,6 +49,10 @@ export declare class CloudflareScopeHost implements ScopeHost {
|
|
|
29
49
|
* (§5.4: fleet questions never fan out). The ScopeDO reports null when nothing
|
|
30
50
|
* was pending, which skips the write — otherwise every stub mint would cost an
|
|
31
51
|
* extra control-plane RPC to store a number that did not change.
|
|
52
|
+
*
|
|
53
|
+
* A failure is recorded and then RETHROWN (#32): the scope still fails closed,
|
|
54
|
+
* but the directory learns which `module@version` broke and how many attempts it
|
|
55
|
+
* has taken, instead of keeping a stale `schema_version` that renders as healthy.
|
|
32
56
|
*/
|
|
33
57
|
private migrateAndRecord;
|
|
34
58
|
getScope(principal: PrincipalId, tenantId: TenantId, scopeId: ScopeId): Promise<ScopeStub>;
|
package/dist/host.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAAA,OAAO,EA2BL,KAAK,eAAe,EACpB,KAAK,WAAW,EAKhB,KAAK,OAAO,EAGZ,KAAK,QAAQ,EAGd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EAGxB,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,sBAAsB,CAAC;AA6J9B,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,sBAAsB,CAAC;IAC9B,YAAY,EAAE,sBAAsB,CAAC;IACrC;;;;OAIG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B;AAED,qBAAa,mBAAoB,YAAW,SAAS;IACnD,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAE1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAmB;IAItC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAChD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;IAC5D,uFAAuF;IACvF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsE;IAChG;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;IACvD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA6B;gBAEtD,OAAO,EAAE,0BAA0B;IAU/C,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI;IAK/E;;;;;;;;OAQG;YACW,cAAc;IAkB5B,cAAc,CAAC,YAAY,EAAE,kBAAkB,GAAG,IAAI;IAgDtD,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI;IAI3E,OAAO,CAAC,aAAa;IAQf,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBvF;;;;;;;;;OASG;YACW,gBAAgB;IAwBxB,QAAQ,CACZ,SAAS,EAAE,WAAW,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,SAAS,CAAC;IAqCf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B,OAAO,CAAC,UAAU;YAuYJ,WAAW;YAqBX,eAAe;IAU7B,OAAO,CAAC,SAAS;CAKlB"}
|
package/dist/host.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { adminLogEntry, createTenantInput, identityLink, moduleManifest, resolvedIdentity, roleDefinition, scope as scopeSchema, tenant as tenantSchema, tenantRole, } from '@substrat-run/contracts';
|
|
1
|
+
import { adminLogEntry, createTenantInput, identityLink, identityPool, createOrgInput, moduleManifest, org as orgSchema, orgMembership, resolvedIdentity, roleDefinition, scope as scopeSchema, tenant as tenantSchema, tenantRole, } from '@substrat-run/contracts';
|
|
2
2
|
import { resolveScopeRecord, ulid, } from '@substrat-run/kernel';
|
|
3
3
|
export class CloudflareScopeHost {
|
|
4
4
|
admin;
|
|
@@ -9,6 +9,15 @@ export class CloudflareScopeHost {
|
|
|
9
9
|
moduleIds = new Set();
|
|
10
10
|
operations = new Set();
|
|
11
11
|
predicateNames = new Map(); // name → module
|
|
12
|
+
/** Executor id → {eventType, handler} (K-22 §4.2). Coordinator-side, not in the DO. */
|
|
13
|
+
executors = new Map();
|
|
14
|
+
/**
|
|
15
|
+
* The event currently being effected, stamped onto admin rows the executor writes.
|
|
16
|
+
* Ambient rather than threaded through every HostAdmin signature: set and cleared
|
|
17
|
+
* around one await, with executors running sequentially, so there is no window
|
|
18
|
+
* where it belongs to a different event.
|
|
19
|
+
*/
|
|
20
|
+
causedBy = null;
|
|
12
21
|
withdrawn = new Map(); // operation → module
|
|
13
22
|
operationEntitlement = new Map();
|
|
14
23
|
constructor(options) {
|
|
@@ -17,6 +26,39 @@ export class CloudflareScopeHost {
|
|
|
17
26
|
this.admin = this.buildAdmin();
|
|
18
27
|
}
|
|
19
28
|
// -- registration mechanics (validation only) -----------------------------
|
|
29
|
+
registerExecutor(id, eventType, handler) {
|
|
30
|
+
if (this.executors.has(id))
|
|
31
|
+
throw new Error(`executor '${id}' is already registered`);
|
|
32
|
+
this.executors.set(id, { eventType, handler });
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Drain this scope's outbox into the registered executors (K-22 §4.2).
|
|
36
|
+
*
|
|
37
|
+
* Runs on the coordinator because executors act through `HostAdmin`, which the
|
|
38
|
+
* ScopeDO cannot reach. Prompt: called inline after the operation returns, so the
|
|
39
|
+
* common case completes inside the request. A throwing executor leaves the
|
|
40
|
+
* delivery unjournaled and is retried on the next drain — the outbox is the
|
|
41
|
+
* backstop, not a substitute for idempotent handlers.
|
|
42
|
+
*/
|
|
43
|
+
async drainExecutors(scopeId) {
|
|
44
|
+
if (this.executors.size === 0)
|
|
45
|
+
return;
|
|
46
|
+
const stub = this.scopeStub(scopeId);
|
|
47
|
+
for (const [id, executor] of this.executors) {
|
|
48
|
+
const deliveryId = `executor:${id}`;
|
|
49
|
+
const events = await stub.pendingExecutorEvents(deliveryId, executor.eventType);
|
|
50
|
+
for (const event of events) {
|
|
51
|
+
this.causedBy = event.id;
|
|
52
|
+
try {
|
|
53
|
+
await executor.handler(this.admin, event);
|
|
54
|
+
}
|
|
55
|
+
finally {
|
|
56
|
+
this.causedBy = null;
|
|
57
|
+
}
|
|
58
|
+
await stub.markExecutorDelivered(event.id, deliveryId);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
20
62
|
registerModule(registration) {
|
|
21
63
|
const manifest = moduleManifest.parse(registration.manifest);
|
|
22
64
|
if (this.moduleIds.has(manifest.id)) {
|
|
@@ -87,11 +129,36 @@ export class CloudflareScopeHost {
|
|
|
87
129
|
* (§5.4: fleet questions never fan out). The ScopeDO reports null when nothing
|
|
88
130
|
* was pending, which skips the write — otherwise every stub mint would cost an
|
|
89
131
|
* extra control-plane RPC to store a number that did not change.
|
|
132
|
+
*
|
|
133
|
+
* A failure is recorded and then RETHROWN (#32): the scope still fails closed,
|
|
134
|
+
* but the directory learns which `module@version` broke and how many attempts it
|
|
135
|
+
* has taken, instead of keeping a stale `schema_version` that renders as healthy.
|
|
90
136
|
*/
|
|
91
137
|
async migrateAndRecord(scopeId) {
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
await
|
|
138
|
+
const stub = this.scopeStub(scopeId);
|
|
139
|
+
try {
|
|
140
|
+
const applied = await stub.migrate();
|
|
141
|
+
if (applied !== null)
|
|
142
|
+
await this.cp.setMigrationState(scopeId, String(applied), null);
|
|
143
|
+
}
|
|
144
|
+
catch (err) {
|
|
145
|
+
// Best-effort: a scope that failed to migrate may also fail to answer, and a
|
|
146
|
+
// broken recorder must not replace the migration error with its own — that
|
|
147
|
+
// trades a diagnosable failure for a confusing one.
|
|
148
|
+
try {
|
|
149
|
+
const failure = await stub.migrationFailure();
|
|
150
|
+
if (failure) {
|
|
151
|
+
await this.cp.setMigrationState(scopeId, String(failure.applied), {
|
|
152
|
+
version: failure.version,
|
|
153
|
+
error: failure.error,
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
catch {
|
|
158
|
+
// deliberately swallowed — the rethrow below is the real signal
|
|
159
|
+
}
|
|
160
|
+
throw err;
|
|
161
|
+
}
|
|
95
162
|
}
|
|
96
163
|
async getScope(principal, tenantId, scopeId) {
|
|
97
164
|
// Lifecycle gates (control-plane.md §4.1/§4.2), the K-3 fail-closed path,
|
|
@@ -111,7 +178,9 @@ export class CloudflareScopeHost {
|
|
|
111
178
|
if (requiredKey && !(await cp.tenantHoldsEntitlement(tenantId, requiredKey))) {
|
|
112
179
|
return Promise.reject(new Error(`operation not entitled: ${operation} — tenant does not hold '${requiredKey}'`));
|
|
113
180
|
}
|
|
114
|
-
|
|
181
|
+
const result = (await stub.invoke(operation, input, principal, tenantId, scopeId));
|
|
182
|
+
await this.drainExecutors(scopeId);
|
|
183
|
+
return result;
|
|
115
184
|
},
|
|
116
185
|
};
|
|
117
186
|
}
|
|
@@ -125,6 +194,23 @@ export class CloudflareScopeHost {
|
|
|
125
194
|
// table) while the contract requires them, so this parse is where that gap is
|
|
126
195
|
// held shut — and it is the same parse the pure adapter does, which is what
|
|
127
196
|
// makes the shared contract suite meaningful.
|
|
197
|
+
const mapOrg = (r) => orgSchema.parse({
|
|
198
|
+
id: r.org_id,
|
|
199
|
+
tenantId: r.tenant_id,
|
|
200
|
+
slug: r.slug,
|
|
201
|
+
name: r.name,
|
|
202
|
+
createdAt: r.created_at,
|
|
203
|
+
});
|
|
204
|
+
/**
|
|
205
|
+
* Fail closed on an org that does not exist in this tenant. Scoped by tenant, not
|
|
206
|
+
* just by id: an org from another tenant must read as absent, or grantToOrg would
|
|
207
|
+
* reach across the boundary the record exists to make explicit.
|
|
208
|
+
*/
|
|
209
|
+
const requireOrg = async (tenant, id) => {
|
|
210
|
+
if (!(await this.cp.readOrg(tenant, id))) {
|
|
211
|
+
throw new Error(`unknown org ${id} in tenant ${tenant}`);
|
|
212
|
+
}
|
|
213
|
+
};
|
|
128
214
|
const mapScope = (r) => scopeSchema.parse({
|
|
129
215
|
id: r.scope_id,
|
|
130
216
|
tenantId: r.tenant_id,
|
|
@@ -137,6 +223,14 @@ export class CloudflareScopeHost {
|
|
|
137
223
|
jurisdiction: r.jurisdiction,
|
|
138
224
|
vertical: r.vertical,
|
|
139
225
|
schemaVersion: r.schema_version,
|
|
226
|
+
migrationFailure: r.migration_failed_version && r.migration_last_attempt_at
|
|
227
|
+
? {
|
|
228
|
+
version: r.migration_failed_version,
|
|
229
|
+
error: r.migration_error ?? '',
|
|
230
|
+
attempts: r.migration_attempts,
|
|
231
|
+
lastAttemptAt: r.migration_last_attempt_at,
|
|
232
|
+
}
|
|
233
|
+
: null,
|
|
140
234
|
createdAt: r.created_at,
|
|
141
235
|
});
|
|
142
236
|
const transitionScope = async (actor, action, tenantId, scopeId, from, to) => {
|
|
@@ -190,13 +284,47 @@ export class CloudflareScopeHost {
|
|
|
190
284
|
await this.recordAdmin(actor, 'grant', { tenantId: grant.node.tenantId, scopeId: grant.node.scopeId }, null, grant);
|
|
191
285
|
},
|
|
192
286
|
grantToOrg: async (actor, orgId, permission, node, entity) => {
|
|
287
|
+
// The org must exist in the node's tenant. A grant to a phantom org looks
|
|
288
|
+
// applied, resolves for nobody, and still shows up in the permission diff.
|
|
289
|
+
await requireOrg(node.tenantId, orgId);
|
|
193
290
|
await writeGrant(`org:${orgId}`, permission, node, entity);
|
|
194
291
|
await this.recordAdmin(actor, 'grantToOrg', { tenantId: node.tenantId, scopeId: node.scopeId }, null, { orgId, permission, node, entity });
|
|
195
292
|
},
|
|
293
|
+
createOrg: async (actor, input) => {
|
|
294
|
+
const parsed = createOrgInput.parse(input);
|
|
295
|
+
const created = await this.cp.createOrg(parsed.id, parsed.tenantId, parsed.slug, parsed.name, new Date().toISOString());
|
|
296
|
+
if (!created)
|
|
297
|
+
return; // idempotent, and a no-op is not audited
|
|
298
|
+
await this.recordAdmin(actor, 'createOrg', { tenantId: parsed.tenantId }, null, parsed);
|
|
299
|
+
},
|
|
300
|
+
listOrgs: async (tenantId) => (await this.cp.listOrgs(tenantId)).map(mapOrg),
|
|
301
|
+
getOrg: async (tenantId, orgId) => {
|
|
302
|
+
const r = await this.cp.readOrg(tenantId, orgId);
|
|
303
|
+
return r ? mapOrg(r) : undefined;
|
|
304
|
+
},
|
|
196
305
|
addMember: async (actor, tenantId, principal, orgId) => {
|
|
306
|
+
await requireOrg(tenantId, orgId);
|
|
197
307
|
await this.cp.writeTenantTuple(tenantId, `principal:${principal}`, 'member', `org:${orgId}`, null);
|
|
198
308
|
await this.recordAdmin(actor, 'addMember', { tenantId }, null, { principal, orgId });
|
|
199
309
|
},
|
|
310
|
+
removeMember: async (actor, tenantId, principal, orgId) => {
|
|
311
|
+
await requireOrg(tenantId, orgId);
|
|
312
|
+
// Tombstone (K-21), never DELETE. The DO reports whether anything changed
|
|
313
|
+
// so a repeat revoke stays a silent no-op rather than a second audit row.
|
|
314
|
+
const changed = await this.cp.revokeMember(tenantId, `principal:${principal}`, `org:${orgId}`, new Date().toISOString());
|
|
315
|
+
if (!changed)
|
|
316
|
+
return;
|
|
317
|
+
await this.recordAdmin(actor, 'removeMember', { tenantId }, { principal, orgId }, null);
|
|
318
|
+
},
|
|
319
|
+
listMembers: async (tenantId, orgId, options) => {
|
|
320
|
+
await requireOrg(tenantId, orgId);
|
|
321
|
+
const rows = await this.cp.listMembers(tenantId, `org:${orgId}`, options?.includeRevoked ?? false);
|
|
322
|
+
return rows.map((r) => orgMembership.parse({
|
|
323
|
+
principal: r.subject.slice('principal:'.length),
|
|
324
|
+
orgId,
|
|
325
|
+
revokedAt: r.revoked_at,
|
|
326
|
+
}));
|
|
327
|
+
},
|
|
200
328
|
createTenant: async (actor, input) => {
|
|
201
329
|
const parsed = createTenantInput.parse(input);
|
|
202
330
|
const created = await this.cp.createTenant(parsed.id, parsed.slug, parsed.name, new Date().toISOString());
|
|
@@ -247,23 +375,53 @@ export class CloudflareScopeHost {
|
|
|
247
375
|
await this.recordAdmin(actor, 'revokeEntitlement', { tenantId }, { entitlementKey }, null);
|
|
248
376
|
},
|
|
249
377
|
listEntitlements: async (tenantId) => this.cp.listEntitlements(tenantId),
|
|
378
|
+
registerIdentityPool: async (actor, input) => {
|
|
379
|
+
const parsed = identityPool.parse(input);
|
|
380
|
+
const created = await this.cp.registerIdentityPool(parsed.provider, parsed.topology, parsed.tenantId, new Date().toISOString());
|
|
381
|
+
if (!created)
|
|
382
|
+
return; // identical registration is idempotent, unaudited
|
|
383
|
+
// Null tenant for a central pool: it belongs to no single tenant, which is
|
|
384
|
+
// what made the admin log's tenantId nullable.
|
|
385
|
+
await this.recordAdmin(actor, 'registerIdentityPool', { tenantId: parsed.tenantId }, null, parsed);
|
|
386
|
+
},
|
|
387
|
+
getIdentityPool: async (provider) => {
|
|
388
|
+
const r = await this.cp.readPool(provider);
|
|
389
|
+
return r
|
|
390
|
+
? identityPool.parse({ provider: r.provider, topology: r.topology, tenantId: r.tenant_id })
|
|
391
|
+
: undefined;
|
|
392
|
+
},
|
|
393
|
+
listIdentityTenants: async (provider, externalId) => {
|
|
394
|
+
const r = await this.cp.readPool(provider);
|
|
395
|
+
if (!r)
|
|
396
|
+
throw new Error(`identity pool '${provider}' is not registered`);
|
|
397
|
+
if (r.topology !== 'central') {
|
|
398
|
+
throw new Error(`identity pool '${provider}' is tenant-bound — enumerating tenants is only ` +
|
|
399
|
+
`meaningful on a central pool, where the same externalId is the same person`);
|
|
400
|
+
}
|
|
401
|
+
return (await this.cp.identityTenants(provider, externalId));
|
|
402
|
+
},
|
|
250
403
|
linkIdentity: async (actor, input) => {
|
|
251
404
|
const parsed = identityLink.parse(input);
|
|
405
|
+
const pool = await this.cp.readPool(parsed.provider);
|
|
406
|
+
if (!pool) {
|
|
407
|
+
throw new Error(`identity pool '${parsed.provider}' is not registered — a pool must declare ` +
|
|
408
|
+
`its topology before it may link (central vs tenant-bound decides whether ` +
|
|
409
|
+
`the same externalId in two tenants is one person or two)`);
|
|
410
|
+
}
|
|
411
|
+
if (pool.topology === 'tenant-bound' && pool.tenant_id !== parsed.tenantId) {
|
|
412
|
+
throw new Error(`identity pool '${parsed.provider}' is bound to tenant ${pool.tenant_id} and cannot link into ${parsed.tenantId}`);
|
|
413
|
+
}
|
|
252
414
|
const changed = await this.cp.linkIdentity(parsed.provider, parsed.externalId, parsed.principal, parsed.tenantId, parsed.scopeId ?? null, new Date().toISOString());
|
|
253
415
|
// Idempotent: an identity already bound is a no-op, not audited.
|
|
254
416
|
if (!changed)
|
|
255
417
|
return;
|
|
256
418
|
await this.recordAdmin(actor, 'linkIdentity', { tenantId: parsed.tenantId, scopeId: parsed.scopeId }, null, { provider: parsed.provider, externalId: parsed.externalId, principal: parsed.principal });
|
|
257
419
|
},
|
|
258
|
-
resolveIdentity: async (provider, externalId) => {
|
|
259
|
-
const row = await this.cp.resolveIdentity(provider, externalId);
|
|
420
|
+
resolveIdentity: async (tenantId, provider, externalId) => {
|
|
421
|
+
const row = await this.cp.resolveIdentity(tenantId, provider, externalId);
|
|
260
422
|
if (!row)
|
|
261
423
|
return undefined;
|
|
262
|
-
return resolvedIdentity.parse({
|
|
263
|
-
principal: row.principal,
|
|
264
|
-
tenantId: row.tenantId,
|
|
265
|
-
scopeId: row.scopeId,
|
|
266
|
-
});
|
|
424
|
+
return resolvedIdentity.parse({ principal: row.principal, scopeId: row.scopeId });
|
|
267
425
|
},
|
|
268
426
|
auditLog: async (filter) => {
|
|
269
427
|
const rows = await this.cp.auditLog({
|
|
@@ -293,6 +451,7 @@ export class CloudflareScopeHost {
|
|
|
293
451
|
actor,
|
|
294
452
|
action,
|
|
295
453
|
tenantId: target.tenantId,
|
|
454
|
+
causedBy: this.causedBy,
|
|
296
455
|
scopeId: target.scopeId ?? null,
|
|
297
456
|
vertical: target.vertical ?? null,
|
|
298
457
|
before: before ?? null,
|
package/dist/host.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host.js","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"host.js","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"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"}
|
package/dist/scope-do.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope-do.d.ts","sourceRoot":"","sources":["../src/scope-do.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAgBnD,OAAO,EAIL,KAAK,kBAAkB,EAEvB,KAAK,gBAAgB,EAGtB,MAAM,sBAAsB,CAAC;AAK9B;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,sBAAsB,CAAC;CACvC;
|
|
1
|
+
{"version":3,"file":"scope-do.d.ts","sourceRoot":"","sources":["../src/scope-do.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAgBnD,OAAO,EAIL,KAAK,kBAAkB,EAEvB,KAAK,gBAAgB,EAGtB,MAAM,sBAAsB,CAAC;AAK9B;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,sBAAsB,CAAC;CACvC;AAqFD,wBAAgB,aAAa,CAC3B,OAAO,EAAE,kBAAkB,EAAE,EAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,GACxD,KAAK,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,UAAU,KAAK,aAAa,CAgcjE"}
|
package/dist/scope-do.js
CHANGED
|
@@ -31,6 +31,9 @@ const KERNEL_DDL = `
|
|
|
31
31
|
relation TEXT NOT NULL,
|
|
32
32
|
object TEXT NOT NULL,
|
|
33
33
|
expires_at TEXT,
|
|
34
|
+
-- K-21: revocation tombstones rather than deletes -- the row stays, the walk
|
|
35
|
+
-- skips it, and it remains readable as evidence.
|
|
36
|
+
revoked_at TEXT,
|
|
34
37
|
PRIMARY KEY (subject, relation, object)
|
|
35
38
|
);
|
|
36
39
|
CREATE TABLE IF NOT EXISTS _substrat_deliveries (
|
|
@@ -71,6 +74,8 @@ export function defineScopeDO(modules, bareOps) {
|
|
|
71
74
|
migrationPromise;
|
|
72
75
|
/** Latch: the applied count is reported to the directory once per DO instance. */
|
|
73
76
|
schemaVersionReported = false;
|
|
77
|
+
/** The migration that failed on this instance, read back by `migrationFailure`. */
|
|
78
|
+
lastFailure = null;
|
|
74
79
|
constructor(ctx, env) {
|
|
75
80
|
super(ctx, env);
|
|
76
81
|
this.sql = ctx.storage.sql;
|
|
@@ -79,6 +84,17 @@ export function defineScopeDO(modules, bareOps) {
|
|
|
79
84
|
if (s)
|
|
80
85
|
this.sql.exec(s);
|
|
81
86
|
}
|
|
87
|
+
// KERNEL_DDL is all IF NOT EXISTS, so a scope DO created before K-21 keeps
|
|
88
|
+
// the old shape. Attempt-and-tolerate: DO SQLite restricts PRAGMA, so there
|
|
89
|
+
// is no column probe, and a duplicate is the steady state after the first
|
|
90
|
+
// cold start (same argument as ControlPlaneDO.addColumn).
|
|
91
|
+
try {
|
|
92
|
+
this.sql.exec('ALTER TABLE _substrat_tuples ADD COLUMN revoked_at TEXT');
|
|
93
|
+
}
|
|
94
|
+
catch (err) {
|
|
95
|
+
if (!/duplicate column name/i.test(err.message))
|
|
96
|
+
throw err;
|
|
97
|
+
}
|
|
82
98
|
for (const registration of modules)
|
|
83
99
|
this.registerModule(registration);
|
|
84
100
|
for (const [name, handler] of Object.entries(bareOps))
|
|
@@ -148,6 +164,18 @@ export function defineScopeDO(modules, bareOps) {
|
|
|
148
164
|
this.schemaVersionReported = true;
|
|
149
165
|
return this.applied.size;
|
|
150
166
|
}
|
|
167
|
+
/**
|
|
168
|
+
* The last failed migration attempt on this instance, with the count that did
|
|
169
|
+
* land before it. The coordinator reads this on `migrate()`'s rejection path to
|
|
170
|
+
* record what failed (#32) — an extra RPC only when a scope is already broken.
|
|
171
|
+
*
|
|
172
|
+
* Instance state, not storage: `ensureMigrations` memoises its promise, so a
|
|
173
|
+
* failed instance keeps returning the same rejection and this stays in step
|
|
174
|
+
* with it. A restarted DO re-attempts and repopulates.
|
|
175
|
+
*/
|
|
176
|
+
migrationFailure() {
|
|
177
|
+
return this.lastFailure ? { ...this.lastFailure, applied: this.applied.size } : null;
|
|
178
|
+
}
|
|
151
179
|
/** Admin scope-tuple write (role assignment / grant scoped to this scope). */
|
|
152
180
|
async writeTuple(subject, relation, object, expiresAt) {
|
|
153
181
|
await this.queue.enqueue(() => {
|
|
@@ -233,6 +261,11 @@ export function defineScopeDO(modules, bareOps) {
|
|
|
233
261
|
});
|
|
234
262
|
}
|
|
235
263
|
catch (err) {
|
|
264
|
+
// Retained so the coordinator can project it into the directory without
|
|
265
|
+
// re-parsing the thrown message. The throw stays: `invoke` awaits
|
|
266
|
+
// `ensureMigrations` on every operation and relies on the rejection to
|
|
267
|
+
// fail closed, so resolving here would serve a half-migrated schema.
|
|
268
|
+
this.lastFailure = { version: key, error: err.message };
|
|
236
269
|
throw new Error(`migration failed for ${key} — scope fails closed: ${err.message}`);
|
|
237
270
|
}
|
|
238
271
|
this.applied.add(key);
|
|
@@ -240,6 +273,31 @@ export function defineScopeDO(modules, bareOps) {
|
|
|
240
273
|
});
|
|
241
274
|
return true;
|
|
242
275
|
}
|
|
276
|
+
/**
|
|
277
|
+
* Events of `eventType` this delivery target has not yet consumed (K-22 §4.2).
|
|
278
|
+
*
|
|
279
|
+
* Executors run on the COORDINATOR, not here: they act through `HostAdmin`,
|
|
280
|
+
* which is outside this DO. So the drain is a read here, the effect happens
|
|
281
|
+
* there, and `markExecutorDelivered` journals it afterwards — claiming before
|
|
282
|
+
* running would make delivery at-most-once and lose an effect on any crash in
|
|
283
|
+
* between.
|
|
284
|
+
*/
|
|
285
|
+
pendingExecutorEvents(deliveryId, eventType) {
|
|
286
|
+
const rows = this.sql
|
|
287
|
+
.exec(`SELECT * FROM _substrat_outbox o
|
|
288
|
+
WHERE o.type = ?
|
|
289
|
+
AND NOT EXISTS (
|
|
290
|
+
SELECT 1 FROM _substrat_deliveries d
|
|
291
|
+
WHERE d.event_id = o.id AND d.consumer_module = ?
|
|
292
|
+
)
|
|
293
|
+
ORDER BY o.id`, eventType, deliveryId)
|
|
294
|
+
.toArray();
|
|
295
|
+
return rows.map((r) => this.parseOutboxRow(r));
|
|
296
|
+
}
|
|
297
|
+
/** Journal an executor delivery — after the effect, so retry is the failure mode. */
|
|
298
|
+
markExecutorDelivered(eventId, deliveryId) {
|
|
299
|
+
this.sql.exec('INSERT OR IGNORE INTO _substrat_deliveries (event_id, consumer_module, delivered_at) VALUES (?, ?, ?)', eventId, deliveryId, new Date().toISOString());
|
|
300
|
+
}
|
|
243
301
|
// -- event dispatch (port of dispatch) ------------------------------------
|
|
244
302
|
async dispatch(tenantId, scopeId) {
|
|
245
303
|
for (let round = 0; round < 50; round++) {
|
package/dist/scope-do.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope-do.js","sourceRoot":"","sources":["../src/scope-do.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scope-do.js","sourceRoot":"","sources":["../src/scope-do.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@substrat-run/adapter-cloudflare",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Cloudflare Durable-Object scope host (D-14): DO-per-scope, real kernel semantics on Workers",
|
|
5
5
|
"license": "AGPL-3.0-only",
|
|
6
6
|
"repository": {
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
"dist"
|
|
23
23
|
],
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@substrat-run/kernel": "^0.
|
|
26
|
-
"@substrat-run/contracts": "^0.
|
|
25
|
+
"@substrat-run/kernel": "^0.6.0",
|
|
26
|
+
"@substrat-run/contracts": "^0.6.0"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@cloudflare/vitest-pool-workers": "^0.8.19",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"wrangler": "^4.110.0",
|
|
32
32
|
"typescript": "^5.6.0",
|
|
33
33
|
"vitest": "^3.0.0",
|
|
34
|
-
"@substrat-run/contract-tests": "^0.
|
|
34
|
+
"@substrat-run/contract-tests": "^0.6.0"
|
|
35
35
|
},
|
|
36
36
|
"publishConfig": {
|
|
37
37
|
"access": "public"
|