@substrat-run/adapter-cloudflare 0.8.0 → 0.10.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/host.js CHANGED
@@ -1,6 +1,24 @@
1
- import { accessLogEntry, adminLogEntry, createTenantInput, identityLink, identityPool, createOrgInput, promotionAcknowledgement, bindHostnameInput, hostnameBinding, publishVersionInput, registerVerticalInput, vertical as verticalSchema, verticalChannel, verticalVersion, moduleManifest, org as orgSchema, orgMembership, resolvedIdentity, roleDefinition, scope as scopeSchema, tenant as tenantSchema, tenantRole, } from '@substrat-run/contracts';
1
+ import { accessLogEntry, adminLogEntry, createTenantInput, identityLink, identityPool, createOrgInput, promotionAcknowledgement, bindHostnameInput, hostnameBinding, publishVersionInput, registerVerticalInput, vertical as verticalSchema, verticalChannel, verticalVersion, connection, connectionGrant, connectionSecret, subjectRef, createConnectionInput, moduleManifest, org as orgSchema, orgMembership, resolvedIdentity, roleDefinition, scope as scopeSchema, tenant as tenantSchema, tenantRole, } from '@substrat-run/contracts';
2
2
  import { normalizeHostname, toRouteTarget } from './route-resolver.js';
3
- import { resolveScopeRecord, ulid, } from '@substrat-run/kernel';
3
+ import { resolveScopeRecord, ulid, backoffAt, resolveRetryPolicy, unconfiguredSecretBox, } from '@substrat-run/kernel';
4
+ /** DO row → contract shape. Never reads the secrets table — that is the split. */
5
+ const toConnection = (r) => connection.parse({
6
+ id: r.id,
7
+ tenantId: r.tenant_id,
8
+ vertical: r.vertical,
9
+ provider: r.provider,
10
+ label: r.label,
11
+ status: r.status,
12
+ externalAccountRef: r.external_account_ref,
13
+ scopes: JSON.parse(r.scopes),
14
+ expiresAt: r.expires_at,
15
+ lastOkAt: r.last_ok_at,
16
+ lastError: r.last_error,
17
+ lastErrorAt: r.last_error_at,
18
+ createdBy: r.created_by,
19
+ createdAt: r.created_at,
20
+ revokedAt: r.revoked_at,
21
+ });
4
22
  export class CloudflareScopeHost {
5
23
  admin;
6
24
  scopeNs;
@@ -11,6 +29,8 @@ export class CloudflareScopeHost {
11
29
  operations = new Set();
12
30
  predicateNames = new Map(); // name → module
13
31
  /** Executor id → {eventType, handler} (K-22 §4.2). Coordinator-side, not in the DO. */
32
+ secretBox;
33
+ fetchImpl;
14
34
  executors = new Map();
15
35
  /**
16
36
  * The event currently being effected, stamped onto admin rows the executor writes.
@@ -33,43 +53,152 @@ export class CloudflareScopeHost {
33
53
  * request after that returned 1101 in production.
34
54
  */
35
55
  constructor(options) {
56
+ this.secretBox = options.secretBox ?? unconfiguredSecretBox;
57
+ this.fetchImpl = options.fetch ?? ((input, init) => globalThis.fetch(input, init));
36
58
  this.scopeNs = options.scope;
37
59
  this.cp = options.controlPlane.get(options.controlPlane.idFromName('control-plane'));
38
60
  this.admin = this.buildAdmin();
39
61
  }
40
62
  // -- registration mechanics (validation only) -----------------------------
41
- registerExecutor(id, eventType, handler) {
63
+ registerExecutor(id, eventType, handler, retry) {
42
64
  if (this.executors.has(id))
43
65
  throw new Error(`executor '${id}' is already registered`);
44
- this.executors.set(id, { eventType, handler });
66
+ this.executors.set(id, {
67
+ kind: 'executor',
68
+ eventType,
69
+ handler,
70
+ retry: resolveRetryPolicy(retry),
71
+ });
72
+ }
73
+ registerConnector(id, eventType, handler, options) {
74
+ if (this.executors.has(id))
75
+ throw new Error(`executor '${id}' is already registered`);
76
+ this.executors.set(id, {
77
+ kind: 'connector',
78
+ eventType,
79
+ handler,
80
+ retry: resolveRetryPolicy(options),
81
+ timeoutMs: options?.timeoutMs ?? 30_000,
82
+ });
83
+ }
84
+ /**
85
+ * Build the context a connector runs with. Tenant and vertical are AMBIENT —
86
+ * taken from the event's scope, never from an argument — so a connector cannot
87
+ * reach a credential another vertical connected even by accident.
88
+ */
89
+ async connectorContext(tenantId, scopeId, timeoutMs) {
90
+ const scope = await this.cp.getScopeRecord(tenantId, scopeId);
91
+ const vertical = scope?.vertical ?? null;
92
+ const admin = this.admin;
93
+ const fetchImpl = this.fetchImpl;
94
+ return {
95
+ admin,
96
+ tenantId,
97
+ scopeId,
98
+ vertical: vertical ?? '',
99
+ connection: async (provider) => {
100
+ if (!vertical) {
101
+ throw new Error(`scope ${scopeId} is bound to no vertical, so it has no connection namespace — ` +
102
+ `provision it with a vertical before using connectors`);
103
+ }
104
+ const open = await admin.openConnection(tenantId, vertical, provider);
105
+ if (!open) {
106
+ throw new Error(`no live '${provider}' connection for tenant ${tenantId} / vertical '${vertical}'`);
107
+ }
108
+ return {
109
+ ...open,
110
+ fetch: async (input, init) => {
111
+ try {
112
+ const res = await fetchImpl(input, {
113
+ ...init,
114
+ signal: AbortSignal.timeout(timeoutMs),
115
+ });
116
+ await admin.recordConnectionUse(open.id, res.ok ? { ok: true } : { ok: false, error: `HTTP ${res.status} from ${provider}` });
117
+ return res;
118
+ }
119
+ catch (err) {
120
+ await admin.recordConnectionUse(open.id, {
121
+ ok: false,
122
+ error: err instanceof Error ? err.message : String(err),
123
+ });
124
+ throw err;
125
+ }
126
+ },
127
+ };
128
+ },
129
+ };
45
130
  }
46
131
  /**
47
132
  * Drain this scope's outbox into the registered executors (K-22 §4.2).
48
133
  *
49
134
  * Runs on the coordinator because executors act through `HostAdmin`, which the
50
135
  * ScopeDO cannot reach. Prompt: called inline after the operation returns, so the
51
- * common case completes inside the request. A throwing executor leaves the
52
- * delivery unjournaled and is retried on the next drain — the outbox is the
53
- * backstop, not a substitute for idempotent handlers.
136
+ * common case completes inside the request.
137
+ *
138
+ * **Failure is contained here (#100).** A throwing handler used to escape
139
+ * `invoke()` after the scope had already committed, reporting an error for work
140
+ * that succeeded. It now records a failed attempt, backs off, dead-letters at
141
+ * `maxAttempts`, and isolates each event and each executor so one poison
142
+ * delivery cannot wedge the ones behind it. At-least-once still requires
143
+ * idempotent handlers.
54
144
  */
55
- async drainExecutors(scopeId) {
145
+ async drainExecutors(tenantId, scopeId) {
146
+ const report = {
147
+ attempted: 0,
148
+ delivered: 0,
149
+ retrying: 0,
150
+ deadLettered: 0,
151
+ };
56
152
  if (this.executors.size === 0)
57
- return;
153
+ return report;
58
154
  const stub = this.scopeStub(scopeId);
59
155
  for (const [id, executor] of this.executors) {
60
156
  const deliveryId = `executor:${id}`;
61
157
  const events = await stub.pendingExecutorEvents(deliveryId, executor.eventType);
62
158
  for (const event of events) {
159
+ report.attempted += 1;
63
160
  this.causedBy = event.id;
64
161
  try {
65
- await executor.handler(this.admin, event);
162
+ if (executor.kind === 'connector') {
163
+ await executor.handler(await this.connectorContext(tenantId, scopeId, executor.timeoutMs), event);
164
+ }
165
+ else {
166
+ await executor.handler(this.admin, event);
167
+ }
168
+ await stub.recordExecutorAttempt(event.id, deliveryId, null, null);
169
+ report.delivered += 1;
170
+ }
171
+ catch (err) {
172
+ const message = err instanceof Error ? (err.stack ?? err.message) : String(err);
173
+ // The DO owns the attempt count; the coordinator owns the policy, so it
174
+ // reads the count to decide whether this attempt was the last.
175
+ const prior = await stub.executorAttempts(event.id, deliveryId);
176
+ const attempts = prior + 1;
177
+ const exhausted = attempts >= executor.retry.maxAttempts;
178
+ await stub.recordExecutorAttempt(event.id, deliveryId, message, exhausted ? null : backoffAt(attempts, executor.retry, new Date()));
179
+ if (exhausted)
180
+ report.deadLettered += 1;
181
+ else
182
+ report.retrying += 1;
66
183
  }
67
184
  finally {
68
185
  this.causedBy = null;
69
186
  }
70
- await stub.markExecutorDelivered(event.id, deliveryId);
71
187
  }
72
188
  }
189
+ return report;
190
+ }
191
+ async drainDue(tenantId, scopeId) {
192
+ // Same lifecycle gate `getScope` applies (K-3): a suspended or archived scope
193
+ // does not get its effects driven either.
194
+ await this.cp.validateScopeAccess(tenantId, scopeId);
195
+ await this.migrateAndRecord(scopeId);
196
+ return this.drainExecutors(tenantId, scopeId);
197
+ }
198
+ async executorDeadLetters(tenantId, scopeId) {
199
+ await this.cp.validateScopeAccess(tenantId, scopeId);
200
+ await this.migrateAndRecord(scopeId);
201
+ return this.scopeStub(scopeId).executorDeadLetters();
73
202
  }
74
203
  registerModule(registration) {
75
204
  const manifest = moduleManifest.parse(registration.manifest);
@@ -176,10 +305,46 @@ export class CloudflareScopeHost {
176
305
  // Lifecycle gates (control-plane.md §4.1/§4.2), the K-3 fail-closed path,
177
306
  // evaluated durably in the ControlPlaneDO. A throw propagates here.
178
307
  await this.cp.validateScopeAccess(tenantId, scopeId);
179
- const stub = this.scopeStub(scopeId);
180
308
  await this.migrateAndRecord(scopeId);
309
+ return this.buildStub(tenantId, scopeId, principal);
310
+ }
311
+ /**
312
+ * A scope stub whose authority is a CONNECTION (#97).
313
+ *
314
+ * Three gates, all inherited from what the connection already is rather than
315
+ * declared again: it must be live, the scope must be in its tenant, and the
316
+ * scope must run its vertical. A leaked provider token therefore reaches
317
+ * exactly the scopes that connection was for.
318
+ *
319
+ * What it may then DO is an ordinary permission check against
320
+ * `connection:<id>` grants — one enforcement path, one way to revoke.
321
+ */
322
+ async getConnectorScope(connectionId, scopeId) {
323
+ const conn = await this.cp.readConnection(connectionId);
324
+ if (!conn)
325
+ throw new Error(`connection not found: ${connectionId}`);
326
+ if (conn.revoked_at)
327
+ throw new Error(`connection ${connectionId} is revoked`);
328
+ const scope = await this.cp.getScopeRecord(conn.tenant_id, scopeId);
329
+ if (!scope)
330
+ throw new Error(`unknown scope for connection: ${scopeId}`);
331
+ if (scope.vertical !== conn.vertical) {
332
+ throw new Error(`connection ${connectionId} is for vertical '${conn.vertical}' and scope ${scopeId} ` +
333
+ `runs '${scope.vertical ?? 'none'}'`);
334
+ }
335
+ await this.cp.validateScopeAccess(conn.tenant_id, scopeId);
336
+ await this.migrateAndRecord(scopeId);
337
+ return this.buildStub(conn.tenant_id, scopeId, undefined, connectionId);
338
+ }
339
+ /** The stub body, shared by the principal and connection doors. */
340
+ buildStub(tenantId, scopeId, principal, connectionId) {
341
+ const stub = this.scopeStub(scopeId);
181
342
  const cp = this.cp;
182
343
  const operationEntitlement = this.operationEntitlement;
344
+ // The DO needs SOME principal-shaped value for `ctx.principal`; for a
345
+ // connection it is the connection id, and the honest attribution rides on
346
+ // the event actor instead.
347
+ const asPrincipalId = (principal ?? connectionId);
183
348
  return {
184
349
  tenantId,
185
350
  scopeId,
@@ -190,8 +355,8 @@ export class CloudflareScopeHost {
190
355
  if (requiredKey && !(await cp.tenantHoldsEntitlement(tenantId, requiredKey))) {
191
356
  return Promise.reject(new Error(`operation not entitled: ${operation} — tenant does not hold '${requiredKey}'`));
192
357
  }
193
- const result = (await stub.invoke(operation, input, principal, tenantId, scopeId));
194
- await this.drainExecutors(scopeId);
358
+ const result = (await stub.invoke(operation, input, asPrincipalId, tenantId, scopeId, connectionId));
359
+ await this.drainExecutors(tenantId, scopeId);
195
360
  return result;
196
361
  },
197
362
  };
@@ -322,6 +487,39 @@ export class CloudflareScopeHost {
322
487
  await writeGrant(`principal:${grant.principalId}`, grant.permission, grant.node, grant.entity, grant.expiresAt);
323
488
  await this.recordAdmin(actor, 'grant', { tenantId: grant.node.tenantId, scopeId: grant.node.scopeId }, null, grant);
324
489
  },
490
+ grantToConnection: async (actor, raw) => {
491
+ const grant = connectionGrant.parse(raw);
492
+ const conn = await this.cp.readConnection(grant.connectionId);
493
+ if (!conn)
494
+ throw new Error(`connection not found: ${grant.connectionId}`);
495
+ if (conn.revoked_at) {
496
+ throw new Error(`connection ${grant.connectionId} is revoked — grant nothing to it`);
497
+ }
498
+ // A grant may not reach outside what the connection already is: it is
499
+ // keyed (tenant, vertical, provider), and letting it hold a permission
500
+ // elsewhere would make that key decorative.
501
+ if (conn.tenant_id !== grant.node.tenantId) {
502
+ throw new Error(`connection ${grant.connectionId} belongs to tenant ${conn.tenant_id} and cannot ` +
503
+ `be granted anything in ${grant.node.tenantId}`);
504
+ }
505
+ if (grant.node.scopeId) {
506
+ const scope = await this.cp.getScopeRecord(grant.node.tenantId, grant.node.scopeId);
507
+ if (!scope) {
508
+ throw new Error(`unknown scope ${grant.node.scopeId} in tenant ${grant.node.tenantId}`);
509
+ }
510
+ if (scope.vertical !== conn.vertical) {
511
+ throw new Error(`connection ${grant.connectionId} is for vertical '${conn.vertical}' and scope ` +
512
+ `${grant.node.scopeId} runs '${scope.vertical ?? 'none'}'`);
513
+ }
514
+ }
515
+ await writeGrant(subjectRef({ kind: 'connection', id: grant.connectionId }), grant.permission, grant.node, undefined, grant.expiresAt);
516
+ await this.recordAdmin(actor, 'grantToConnection', { tenantId: grant.node.tenantId, scopeId: grant.node.scopeId, vertical: conn.vertical }, null, {
517
+ connectionId: grant.connectionId,
518
+ provider: conn.provider,
519
+ permission: grant.permission,
520
+ node: grant.node,
521
+ });
522
+ },
325
523
  grantToOrg: async (actor, orgId, permission, node, entity) => {
326
524
  // The org must exist in the node's tenant. A grant to a phantom org looks
327
525
  // applied, resolves for nobody, and still shows up in the permission diff.
@@ -571,6 +769,17 @@ export class CloudflareScopeHost {
571
769
  await this.recordAccess(actor, 'getScopeRecord', { tenantId, scopeId }, null, row ? 1 : 0);
572
770
  return row ? mapScope(row) : undefined;
573
771
  },
772
+ activateScope: async (actor, tenantId, scopeId) => {
773
+ // Idempotent on `active`, unaudited because nothing changed. Provisioning is
774
+ // a two-phase creation that the reconciliation sweep re-runs (K-31), so a
775
+ // retry of an already-finished instance must converge rather than throw.
776
+ // Every OTHER state still refuses: reviving a suspended scope through here
777
+ // would route around unsuspend and its audit entry.
778
+ const current = await this.cp.getScopeRecord(tenantId, scopeId);
779
+ if (current?.status === 'active')
780
+ return;
781
+ await transitionScope(actor, 'activateScope', tenantId, scopeId, ['provisioning'], 'active');
782
+ },
574
783
  suspendScope: async (actor, tenantId, scopeId) => transitionScope(actor, 'suspendScope', tenantId, scopeId, ['active'], 'suspended'),
575
784
  unsuspendScope: async (actor, tenantId, scopeId) => transitionScope(actor, 'unsuspendScope', tenantId, scopeId, ['suspended'], 'active'),
576
785
  archiveScope: async (actor, tenantId, scopeId) => transitionScope(actor, 'archiveScope', tenantId, scopeId, ['active', 'suspended'], 'archived'),
@@ -620,6 +829,79 @@ export class CloudflareScopeHost {
620
829
  await this.recordAccess(actor, 'listIdentityTenants', {}, { provider }, tenants.length);
621
830
  return tenants;
622
831
  },
832
+ // -- the integrations hub (#101) ---------------------------------------
833
+ createConnection: async (actor, raw) => {
834
+ const input = createConnectionInput.parse(raw);
835
+ // Sealed HERE, on the coordinator: the DO never holds a SecretBox and has
836
+ // never seen a plaintext credential.
837
+ const sealed = await this.secretBox.seal(JSON.stringify(input.secret));
838
+ const now = new Date().toISOString();
839
+ await this.cp.insertConnection({
840
+ id: input.id,
841
+ tenantId: input.tenantId,
842
+ vertical: input.vertical,
843
+ provider: input.provider,
844
+ label: input.label,
845
+ externalAccountRef: input.externalAccountRef ?? null,
846
+ scopes: JSON.stringify(input.scopes),
847
+ expiresAt: input.expiresAt ?? null,
848
+ createdBy: actor,
849
+ createdAt: now,
850
+ keyId: sealed.keyId,
851
+ ciphertext: sealed.ciphertext,
852
+ });
853
+ // METADATA ONLY — the admin log is append-only, so a credential written
854
+ // here could never be removed.
855
+ await this.recordAdmin(actor, 'createConnection', { tenantId: input.tenantId, vertical: input.vertical }, null, {
856
+ id: input.id,
857
+ provider: input.provider,
858
+ label: input.label,
859
+ scopes: input.scopes,
860
+ externalAccountRef: input.externalAccountRef ?? null,
861
+ });
862
+ },
863
+ listConnections: async (actor, filter) => {
864
+ const f = filter ?? {};
865
+ const rows = await this.cp.listConnections(f);
866
+ await this.recordAccess(actor, 'listConnections', {}, f, rows.length);
867
+ return rows.map(toConnection);
868
+ },
869
+ updateConnectionSecret: async (actor, id, secret, expiresAt) => {
870
+ const row = await this.cp.readConnection(id);
871
+ if (!row)
872
+ throw new Error(`connection not found: ${id}`);
873
+ const sealed = await this.secretBox.seal(JSON.stringify(connectionSecret.parse(secret)));
874
+ const now = new Date().toISOString();
875
+ await this.cp.updateConnectionSecret(id, sealed.keyId, sealed.ciphertext, expiresAt ?? row.expires_at, now);
876
+ await this.recordAdmin(actor, 'updateConnectionSecret', { tenantId: row.tenant_id, vertical: row.vertical }, null, { id, provider: row.provider, rotatedAt: now, expiresAt: expiresAt ?? row.expires_at });
877
+ },
878
+ revokeConnection: async (actor, id) => {
879
+ const row = await this.cp.readConnection(id);
880
+ if (!row)
881
+ throw new Error(`connection not found: ${id}`);
882
+ const now = new Date().toISOString();
883
+ const changed = await this.cp.revokeConnection(id, now);
884
+ if (!changed)
885
+ return; // idempotent, and a no-op is not audited
886
+ await this.recordAdmin(actor, 'revokeConnection', { tenantId: row.tenant_id, vertical: row.vertical }, { status: row.status }, { id, provider: row.provider, status: 'revoked', revokedAt: now });
887
+ },
888
+ openConnection: async (tenantId, vertical, provider) => {
889
+ const row = await this.cp.readLiveConnection(tenantId, vertical, provider);
890
+ if (!row)
891
+ return undefined;
892
+ const secret = connectionSecret.parse(JSON.parse(await this.secretBox.open({ keyId: row.key_id, ciphertext: row.ciphertext })));
893
+ return {
894
+ id: row.id,
895
+ tenantId: row.tenant_id,
896
+ vertical: row.vertical,
897
+ provider: row.provider,
898
+ secret,
899
+ expiresAt: row.expires_at,
900
+ };
901
+ },
902
+ recordConnectionUse: async (id, outcome) => {
903
+ await this.cp.recordConnectionUse(id, outcome.ok ? null : outcome.error, new Date().toISOString());
904
+ },
623
905
  linkIdentity: async (actor, input) => {
624
906
  const parsed = identityLink.parse(input);
625
907
  const pool = await this.cp.readPool(parsed.provider);
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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"}
@@ -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;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"}
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;AA6FD,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,CAujBjE"}