@substrat-run/kernel 0.163.0 → 0.164.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.
Files changed (76) hide show
  1. package/dist/attachment-bytes.d.ts +121 -0
  2. package/dist/attachment-bytes.d.ts.map +1 -0
  3. package/dist/attachment-bytes.js +94 -0
  4. package/dist/attachment-bytes.js.map +1 -0
  5. package/dist/attachment-sweep.d.ts +2 -1
  6. package/dist/attachment-sweep.d.ts.map +1 -1
  7. package/dist/attachment-sweep.js +1 -1
  8. package/dist/attachment-sweep.js.map +1 -1
  9. package/dist/attachment-text.d.ts +1 -1
  10. package/dist/attachment-text.d.ts.map +1 -1
  11. package/dist/attachment-text.js +1 -1
  12. package/dist/attachment-text.js.map +1 -1
  13. package/dist/billing-retention.js +1 -1
  14. package/dist/billing-retention.js.map +1 -1
  15. package/dist/connection-context.d.ts +69 -0
  16. package/dist/connection-context.d.ts.map +1 -0
  17. package/dist/connection-context.js +19 -0
  18. package/dist/connection-context.js.map +1 -0
  19. package/dist/connection-landings.d.ts +8 -0
  20. package/dist/connection-landings.d.ts.map +1 -1
  21. package/dist/connection-landings.js +5 -1
  22. package/dist/connection-landings.js.map +1 -1
  23. package/dist/connector-transport.d.ts +313 -0
  24. package/dist/connector-transport.d.ts.map +1 -0
  25. package/dist/connector-transport.js +66 -0
  26. package/dist/connector-transport.js.map +1 -0
  27. package/dist/deadline-fetch.d.ts +1 -1
  28. package/dist/deadline-fetch.d.ts.map +1 -1
  29. package/dist/findings.js +1 -1
  30. package/dist/findings.js.map +1 -1
  31. package/dist/index.d.ts +9 -3
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +7 -2
  34. package/dist/index.js.map +1 -1
  35. package/dist/job-run.d.ts +2 -1
  36. package/dist/job-run.d.ts.map +1 -1
  37. package/dist/job-run.js +2 -1
  38. package/dist/job-run.js.map +1 -1
  39. package/dist/live-read.d.ts +258 -0
  40. package/dist/live-read.d.ts.map +1 -0
  41. package/dist/live-read.js +101 -0
  42. package/dist/live-read.js.map +1 -0
  43. package/dist/membership-executor.d.ts +2 -1
  44. package/dist/membership-executor.d.ts.map +1 -1
  45. package/dist/membership-executor.js.map +1 -1
  46. package/dist/meter-days.js +1 -1
  47. package/dist/meter-days.js.map +1 -1
  48. package/dist/migration-digest.d.ts +1 -1
  49. package/dist/migration-digest.d.ts.map +1 -1
  50. package/dist/migration-digest.js +1 -1
  51. package/dist/migration-digest.js.map +1 -1
  52. package/dist/platform-sweep.d.ts +22 -4
  53. package/dist/platform-sweep.d.ts.map +1 -1
  54. package/dist/platform-sweep.js +69 -26
  55. package/dist/platform-sweep.js.map +1 -1
  56. package/dist/promote-review.d.ts +35 -4
  57. package/dist/promote-review.d.ts.map +1 -1
  58. package/dist/promote-review.js +31 -15
  59. package/dist/promote-review.js.map +1 -1
  60. package/dist/request-rollup.js +1 -1
  61. package/dist/request-rollup.js.map +1 -1
  62. package/dist/retention.d.ts +106 -0
  63. package/dist/retention.d.ts.map +1 -0
  64. package/dist/retention.js +131 -0
  65. package/dist/retention.js.map +1 -0
  66. package/dist/scope-host.d.ts +16 -789
  67. package/dist/scope-host.d.ts.map +1 -1
  68. package/dist/scope-host.js +1 -385
  69. package/dist/scope-host.js.map +1 -1
  70. package/dist/storage-gauge.js +1 -1
  71. package/dist/storage-gauge.js.map +1 -1
  72. package/dist/upload-link.d.ts +1 -1
  73. package/dist/upload-link.d.ts.map +1 -1
  74. package/dist/upload-link.js +1 -1
  75. package/dist/upload-link.js.map +1 -1
  76. package/package.json +2 -2
@@ -1,5 +1,4 @@
1
- import { bytesStream, isSizedByteStream, knownLengthInit, verifiedStream, witnessedStream, } from './byte-stream.js';
2
- import { attachmentUploadFields, permissionKey, substratError, } from '@substrat-run/contracts';
1
+ import { substratError } from '@substrat-run/contracts';
3
2
  /** How many of an invocation's own events `onEmitted` names (#1746). `total` is uncapped. */
4
3
  export const EMITTED_REPORT_CAP = 20;
5
4
  /** One delivery's `ExecutorOutcome` — the one builder both adapters report through. */
@@ -13,164 +12,9 @@ export function executorOutcomeOf(executorId, event, outcome, error) {
13
12
  ...(error === undefined ? {} : { error: error instanceof Error ? error.message : String(error) }),
14
13
  };
15
14
  }
16
- /**
17
- * The runtime's own `fetch`, as a `FetchLike` — the ONE place the structural cast
18
- * lives. A host that takes a `fetch` defaults to this; a caller that hands one to a
19
- * connector passes this. Nobody else spells `globalThis.fetch` (`lint:bound-fetch`).
20
- *
21
- * The cast is needed at all because a real `fetch` is NOT assignable to `FetchLike`
22
- * under strict TypeScript: `ConnectorRequestInit.body` is a `Uint8Array` the DOM lib's
23
- * `BodyInit` no longer accepts unparameterized, and `signal` is `unknown`. Structurally
24
- * the runtime satisfies it — every field is one `fetch` reads — and this is where that
25
- * claim is made, once. Code typed against the DOM `fetch` itself (a `Response` in hand)
26
- * does not want this; `globalThis.fetch.bind(globalThis)` is that type with no cast.
27
- *
28
- * An arrow, deliberately, rather than the global handed on as a value: workerd
29
- * refuses the bare global invoked with any other receiver — `TypeError: Illegal
30
- * invocation` — and a callee is free to call what it was given as `input.fetch(…)`.
31
- * Node's fetch accepts any `this`, and so does the wrapper the workers vitest pool
32
- * installs, so no suite in this repo sees the difference; the Fortnox consent
33
- * callback shipped green and failed every hosted round that way (#1291). Closing
34
- * over the global here means the receiver is never in play, anywhere downstream.
35
- *
36
- * A `SizedByteStream` body (#2498) is converted by `fetchLikeOf`, which this is built from.
37
- */
38
- export const globalFetch = fetchLikeOf((input, init) =>
39
- // Called on the global, never through a variable: workerd refuses any other receiver.
40
- globalThis.fetch(input, init));
41
- /**
42
- * A runtime `fetch` (the global, a service binding's, a test's stand-in) as a `FetchLike`
43
- * (#2498): the one place a `SizedByteStream` body becomes a request the runtime can send, as
44
- * `knownLengthInit` builds it. The runtime takes no such value: handed one as it is, a `fetch`
45
- * sends its string form, `"[object Object]"`, and answers as if nothing were wrong. So
46
- * `globalFetch` is built from this, and both hosts pass the `fetch` they are given through it,
47
- * as `runPlatformSweep` does, so a sized body reaches no runtime `fetch` unconverted whichever
48
- * one was injected. Wrapping a `FetchLike` that is already one is harmless: a converted body is
49
- * no longer a `SizedByteStream`.
50
- */
51
- export function fetchLikeOf(runtimeFetch) {
52
- const send = runtimeFetch;
53
- return (input, init) => send(input, isSizedByteStream(init?.body) ? knownLengthInit({ ...init, body: init.body }) : init);
54
- }
55
- /**
56
- * Retry defaults (#100). Tuned for the directory write the first executor does;
57
- * a connector making an outbound call should raise `maxAttempts` explicitly,
58
- * which is why the policy is per-executor rather than a host constant.
59
- */
60
- export function resolveRetryPolicy(retry) {
61
- return {
62
- maxAttempts: retry?.maxAttempts ?? 5,
63
- baseDelayMs: retry?.baseDelayMs ?? 1_000,
64
- maxDelayMs: retry?.maxDelayMs ?? 300_000,
65
- };
66
- }
67
- /**
68
- * When attempt `attempts` should next be tried: exponential, capped, jittered.
69
- *
70
- * Jitter is ±20% and is skipped entirely at zero delay, so a test setting
71
- * `baseDelayMs: 0` gets deterministic immediate retries rather than a race. It
72
- * matters at real delays because every scope in a fleet retries a downed
73
- * provider on the same schedule otherwise.
74
- */
75
- export function backoffAt(attempts, retry, from) {
76
- const raw = Math.min(retry.baseDelayMs * 2 ** (attempts - 1), retry.maxDelayMs);
77
- const jittered = raw === 0 ? 0 : raw * (0.8 + Math.random() * 0.4);
78
- return new Date(from.getTime() + jittered).toISOString();
79
- }
80
15
  export function consumersFor() {
81
16
  return (handlers) => handlers;
82
17
  }
83
- /**
84
- * The blob key an attachment's bytes live under inside the per-tenant store (#473).
85
- * Scope-prefixed by construction: every key this platform ever writes for a scope sits
86
- * under `scope/<scopeId>/`, and the attachment id (a fresh ULID per upload) makes keys
87
- * write-once — the two properties the attachment integrity story rests on. Exported so
88
- * both adapters (and an ops GC walk) derive the same key; module and route code never do.
89
- */
90
- export function attachmentBlobKey(scopeId, attachmentId) {
91
- return `scope/${scopeId}/att/${attachmentId}`;
92
- }
93
- /**
94
- * An attachment's integrity witness: the lowercase hex SHA-256 of its bytes (Web Crypto).
95
- * One definition for the hash an upload records and every read that holds bytes to it —
96
- * both adapters' `open`, and the extraction job (#1575).
97
- */
98
- export async function attachmentSha256(body) {
99
- const digest = await crypto.subtle.digest('SHA-256', body);
100
- return [...new Uint8Array(digest)].map((b) => b.toString(16).padStart(2, '0')).join('');
101
- }
102
- /**
103
- * Write an upload's bytes to the blob store and answer the record they make (#2498) — the "bytes
104
- * first" half of every attachment write, one path for both adapters. The record's fields are
105
- * judged before a byte moves, so a record the surface would refuse lands no object. A buffer is
106
- * then hashed and written, as before. A stream is hashed and counted while the store reads it, so
107
- * it is never held whole; `sha256` is the adapter's running digest, since the kernel has none of
108
- * its own. The caller writes the row.
109
- *
110
- * A streamed write that fails, or whose store answers without reading the stream to its end, has
111
- * its object deleted and is refused: no record may witness bytes nobody saw.
112
- */
113
- export async function putAttachmentBytes(store, key, fields, body, sha256) {
114
- const judged = attachmentUploadFields.parse(fields);
115
- const opts = { contentType: judged.contentType };
116
- if (!isSizedByteStream(body)) {
117
- const record = { ...judged, size: body.byteLength, sha256: await attachmentSha256(body) };
118
- await store.put(key, body, opts);
119
- return record;
120
- }
121
- const witnessed = witnessedStream(body, sha256());
122
- try {
123
- await store.put(key, witnessed.body, opts);
124
- return { ...judged, ...witnessed.witness() };
125
- }
126
- catch (err) {
127
- // Deleted whether the put failed or answered early: a store can commit the declared bytes
128
- // and still reject when the stream errors behind them (R2 does, for a body longer than it
129
- // declared). The key is fresh and no row names it yet, so the delete is always safe.
130
- await store.delete(key).catch(() => { });
131
- throw err;
132
- }
133
- }
134
- /**
135
- * The bytes of an attachment the scope has already AUTHORIZED, as a stream held to its record (#2514):
136
- * the "bytes" half of every streamed open, one path for both adapters, as {@link putAttachmentBytes}
137
- * is for the write. The caller checks the read permission first and calls this only once it passed,
138
- * so a refused read never reaches the store.
139
- *
140
- * The length is the record's `size`, which the upload took from the bytes themselves. The store's own
141
- * size for the object is held to it before the first byte, so an object that is not the recorded one
142
- * is refused up front. The sha256 is checked as the bytes flow ({@link verifiedStream}): a mismatch
143
- * errors the stream before its last chunk is handed on. A store without `getStream` is read whole with
144
- * `get` and handed on the same way.
145
- */
146
- export async function openAttachmentByteStream(store, key, record, sha256) {
147
- const missing = () => new Error(`attachment ${record.id}: bytes missing from the blob store — the metadata row ` +
148
- `survived something the object did not (rewind/reap); see the #473 integrity notes`);
149
- let source;
150
- if (store.getStream) {
151
- const obj = await store.getStream(key);
152
- if (!obj)
153
- throw missing();
154
- source = obj;
155
- }
156
- else {
157
- const obj = await store.get(key);
158
- if (!obj)
159
- throw missing();
160
- const { stream, length } = bytesStream(obj.body);
161
- source = { stream, size: length, ...(obj.contentType !== undefined ? { contentType: obj.contentType } : {}) };
162
- }
163
- let body;
164
- try {
165
- body = verifiedStream({ stream: source.stream, length: source.size }, record, sha256());
166
- }
167
- catch (err) {
168
- // Refused before the first byte: the object is let go rather than left open behind the throw.
169
- await source.stream.getReader().cancel(err).catch(() => { });
170
- throw new Error(`attachment ${record.id}: ${err.message}`);
171
- }
172
- return { record, body, contentType: source.contentType ?? record.contentType };
173
- }
174
18
  /**
175
19
  * The SKU flag the §4.3 gate demands for ONE invoke — `undefined` when it demands none.
176
20
  * One predicate, run by every place the gate lives (the Cloudflare coordinator, the
@@ -276,236 +120,8 @@ export function parseValidationRecords(raw) {
276
120
  return [];
277
121
  }
278
122
  }
279
- /**
280
- * How long a recorded operational failure is kept (#559). Telemetry, not evidence:
281
- * unlike the never-swept admin log, the ops-failures table self-prunes on write in
282
- * every adapter, so it can never grow without bound and needs no cron wiring or
283
- * operator decision. 90 days comfortably outlives any incident follow-up (a
284
- * Cloudflare ticket round-trip) while keeping directory storage flat.
285
- */
286
- export const OPS_FAILURE_RETENTION_DAYS = 90;
287
- /**
288
- * How long a sweep-run row is kept (#1232). Much shorter than ops failures: this
289
- * is high-frequency telemetry (a pass every few minutes times every connection
290
- * and schedule), and its job is the recent-runs strip plus an incident window —
291
- * 14 days covers both. Pruned on write in every adapter, like ops failures and
292
- * for the same reason: the table stays bounded even where no scheduled pass runs.
293
- */
294
- export const SWEEP_RUN_RETENTION_DAYS = 14;
295
- /**
296
- * The drained batch's dedupe key on the directory's `_substrat_sweep_runs` (#1232), as
297
- * both adapters build it: `recordSweepRun` is an `INSERT OR IGNORE` against this index,
298
- * which is what makes a replayed drain write nothing twice.
299
- *
300
- * `kind` is in it since #1572, and that is the fix rather than a tidy-up. Every entry of
301
- * one drained batch shares its `request_id`, and `unit` is built from two namespaces that
302
- * nothing keeps apart — `<scopeId>:<operation>` for a schedule, `<scopeId>:<eventType>`
303
- * for a freshness verdict — while `scheduleSpec.operation` is `z.string().min(1)`. A
304
- * schedule named exactly like an event type its scope expects freshness on collided on
305
- * `(request_id, unit)`, and the ignore-on-conflict write discarded the second row with no
306
- * error anywhere. Both rows are signals by their absence (a stopped evaluator, a missed
307
- * run), so losing one read as the very thing it was meant to rule out. It is #1288's
308
- * collision, in the record table beside the state table.
309
- *
310
- * Shared rather than spelled in each adapter because a directory that predates it
311
- * re-creates it (`ensureSweepRunsIntentKind`, in both), and `lint:spine-ddl` sees only
312
- * the created copy. One definition keeps the re-created shape and the created shape the
313
- * same shape; the gate then holds each adapter's DDL to including it.
314
- */
315
- export const SWEEP_RUNS_INTENT_INDEX = 'CREATE UNIQUE INDEX IF NOT EXISTS _substrat_sweep_runs_intent ON _substrat_sweep_runs (request_id, kind, unit);';
316
- /**
317
- * Whether a directory's `_substrat_sweep_runs_intent` already has `kind` among its
318
- * columns, read off the index's `sql` in `sqlite_master` — which DO SQLite serves and
319
- * `PRAGMA` does not, so both adapters detect by one strategy. `false` means the index
320
- * must be DROPPED and created again: `CREATE … IF NOT EXISTS` matches on the name alone,
321
- * so on every existing directory the old `(request_id, unit)` index would otherwise
322
- * stand for good, while a fresh one — and any test that starts from one — gets the new.
323
- */
324
- export function sweepRunsIntentHasKind(indexSql) {
325
- const columns = /\(([^()]*)\)\s*;?\s*$/.exec(indexSql)?.[1];
326
- return columns !== undefined && columns.split(',').some((c) => c.trim() === 'kind');
327
- }
328
- /**
329
- * How long an issue row outlives its last occurrence (#1233). Deliberately longer
330
- * than the 90-day evidence beneath it: an issue is the compressed memory of a
331
- * failure class, and "we saw this five months ago" is exactly what a regression
332
- * needs to be recognizable. Pruned on write like everything else here, and on the
333
- * scheduled pass (`pruneTelemetry`, #1632), so a quiet directory sheds it on time too.
334
- */
335
- export const ISSUE_RETENTION_DAYS = 180;
336
- /**
337
- * A caller-supplied row bound, checked before it reaches a SQL `LIMIT` (#1632). SQLite reads a
338
- * negative `LIMIT` as no limit at all, so `-1` turns a bounded batch into an unbounded one; a
339
- * fractional or non-finite value is refused by SQLite itself, as a failure every later call
340
- * repeats. Neither is a value anyone means, so it is a configuration error, refused here with the
341
- * option's name, and never silently normalized into something the caller did not ask for.
342
- * Returns the value, so a call site can bind it in place.
343
- */
344
- export function assertRowLimit(name, value) {
345
- if (Number.isInteger(value) && value > 0)
346
- return value;
347
- throw substratError('validation_failed', `${name} must be a positive integer, got ${String(value)}`);
348
- }
349
- /**
350
- * A caller-supplied row offset, checked before it reaches a SQL `OFFSET` — `assertRowLimit`'s
351
- * sibling. Zero is a valid offset; a negative, fractional or non-finite one is refused rather
352
- * than passed to SQLite, which fails the statement on it.
353
- */
354
- export function assertRowOffset(name, value) {
355
- if (Number.isInteger(value) && value >= 0)
356
- return value;
357
- throw substratError('validation_failed', `${name} must be a non-negative integer, got ${String(value)}`);
358
- }
359
- /** How many rows of EACH telemetry table one `pruneTelemetry` call deletes, by default. */
360
- export const TELEMETRY_PRUNE_BATCH = 500;
361
- /**
362
- * The three telemetry retentions as statements, for `pruneTelemetry` on both adapters (#1632).
363
- *
364
- * Each table already prunes on write, and that bound holds only while something is written:
365
- * a quiet directory keeps a row past its retention for as long as nothing new arrives in
366
- * that table. An issue is the case that matters. Erasure skips an issue whose exemplar owner
367
- * is unknown, on the promise that it ages out within `ISSUE_RETENTION_DAYS`, and on a
368
- * directory with no new failures nothing ever deleted it. The scheduled pass runs these
369
- * statements, which makes the stated retention a bound in time rather than in traffic.
370
- *
371
- * **Bounded per call, oldest first.** After a long pause or a restore the backlog can be a
372
- * year of sweep runs, and one unbounded DELETE over it is a pass that fails on the Durable
373
- * Object every tick. Each statement deletes at most `limit` rows, chosen through the table's
374
- * own retention index (`… WHERE rowid IN (SELECT rowid … ORDER BY <ts> LIMIT ?)`), so the
375
- * backlog drains over passes. `RETURNING` makes the count what was actually deleted on both
376
- * adapters, rather than a rows-written figure that would also count index writes.
377
- */
378
- export function telemetryRetentionStatements(nowMs, limit) {
379
- const horizon = (days) => new Date(nowMs - days * 86_400_000).toISOString();
380
- const bounded = boundedRetentionDelete;
381
- return [
382
- {
383
- table: 'opsFailures',
384
- sql: bounded('_substrat_ops_failures', 'at'),
385
- params: [horizon(OPS_FAILURE_RETENTION_DAYS), limit],
386
- },
387
- {
388
- table: 'issues',
389
- sql: bounded('_substrat_issues', 'last_seen'),
390
- params: [horizon(ISSUE_RETENTION_DAYS), limit],
391
- },
392
- {
393
- table: 'sweepRuns',
394
- sql: bounded('_substrat_sweep_runs', 'at'),
395
- params: [horizon(SWEEP_RUN_RETENTION_DAYS), limit],
396
- },
397
- ];
398
- }
399
- /**
400
- * One bounded retention DELETE: at most `LIMIT ?` rows whose `column` is before `?`, oldest
401
- * first through the column's own index, `RETURNING 1` so the count is what was deleted. Takes
402
- * `(horizon, limit)`. The statement `telemetryRetentionStatements` and `pruneFindings` share.
403
- */
404
- export function boundedRetentionDelete(table, column) {
405
- return (`DELETE FROM ${table} WHERE rowid IN ` +
406
- `(SELECT rowid FROM ${table} WHERE ${column} < ? ORDER BY ${column} LIMIT ?) RETURNING 1`);
407
- }
408
123
  /** How long a recorded copy move owns its pending entries before a sweep may settle them (#1722). */
409
124
  export const SCOPE_COPY_LEASE_MS = 30 * 60_000;
410
- const VOUCHED = Symbol('substrat.live.vouched-within');
411
- /** A frozen value carrying `mark`, non-enumerable, so a spread copy or a literal never does. */
412
- function branded(value, mark) {
413
- Object.defineProperty(value, mark, { value: true, enumerable: false });
414
- return Object.freeze(value);
415
- }
416
- function hasBrand(value, mark) {
417
- return typeof value === 'object' && value !== null && value[mark] === true;
418
- }
419
- /**
420
- * Vouch that the subscriber may watch `entity` and everything beneath it, though the
421
- * principal it subscribes as holds no read on it.
422
- *
423
- * The one way to reach the replacing mode, so every use is greppable and none is an
424
- * accident: an object literal is refused by the type checker, and anything not built
425
- * here is refused by the host at run time (`isVouchedWithin`). Call it only after the
426
- * vertical itself has proven access — for ticket0's widget, by redeeming the session
427
- * token for the session it names.
428
- *
429
- * What it costs the subscriber is detail: a vouched feed carries `LiveNudge` frames, so
430
- * the scope never tells it which entity changed or how. Root it at an entity whose
431
- * subtree holds only what the subscriber may see — the walk is the whole filter.
432
- */
433
- export function vouchedWithin(entity, opts) {
434
- if (!entity?.entityType || !entity?.entityId) {
435
- throw substratError('validation_failed', 'vouchedWithin needs an entity with a type and an id');
436
- }
437
- if (!opts?.because?.trim()) {
438
- throw substratError('validation_failed', 'vouchedWithin needs a reason: what the vertical checked');
439
- }
440
- return branded({ entity: { entityType: entity.entityType, entityId: entity.entityId }, because: opts.because }, VOUCHED);
441
- }
442
- /** Was this value built by `vouchedWithin`? A host asks before it drops the principal's check. */
443
- export function isVouchedWithin(value) {
444
- return hasBrand(value, VOUCHED);
445
- }
446
- const CHECKED = Symbol('substrat.live.checked-within');
447
- /**
448
- * Watch `entity` and everything beneath it, for as long as the subscriber may
449
- * `permission` on `entity` itself.
450
- *
451
- * For a subscriber whose grant reaches the ROOT but not each row under it the way a
452
- * `liveTargets` key would: ticket0's portal customer holds `conversation:read-own` on
453
- * their contact, which reaches the conversation's public thread, while the per-row key
454
- * on a message is the staff read. Rooted at an entity whose subtree is exactly what that
455
- * key's read returns, the walk is the row filter and the key is the gate.
456
- *
457
- * The gate is asked at the handshake (`403` if it refuses) and again, once per socket,
458
- * on every post-commit pass that has a row beneath the root to announce. A refusal or a
459
- * check that throws closes the socket (`1008`) and sends nothing on that pass, so a
460
- * revoked grant, a principal who is gone, or a root relinked out of the grant's reach
461
- * ends the subscription instead of nudging it, and the client's reconnect meets the
462
- * handshake's `403`. A pass with nothing beneath the root asks nothing, so an idle
463
- * subscription costs no checks.
464
- *
465
- * **`checkedWithin` or `vouchedWithin`?** Use `checkedWithin` whenever the subscriber is
466
- * a principal with a grant that reaches the root: authority leaves with the grant. Use
467
- * `vouchedWithin` only when there is no such grant to ask, as for ticket0's widget
468
- * visitor, who holds a session token rather than a principal of their own. A vouched
469
- * socket is asserted once, so a token revoked mid-socket keeps receiving content-free
470
- * nudges until the socket closes. That is known and accepted for the widget: the nudge
471
- * names nothing, and every re-read it causes is checked again.
472
- *
473
- * Both send `LiveNudge` frames only: the subscriber may not read each row, so it is
474
- * never told which one changed. Only rows of a type some module declared in
475
- * `liveTargets` are announced, as for every other subscriber.
476
- */
477
- export function checkedWithin(entity, permission) {
478
- if (!entity?.entityType || !entity?.entityId) {
479
- throw substratError('validation_failed', 'checkedWithin needs an entity with a type and an id');
480
- }
481
- const key = permissionKey.safeParse(permission);
482
- if (!key.success)
483
- throw substratError('validation_failed', 'checkedWithin needs a permission key');
484
- return branded({ entity: { entityType: entity.entityType, entityId: entity.entityId }, permission: key.data }, CHECKED);
485
- }
486
- /** Was this value built by `checkedWithin`? */
487
- export function isCheckedWithin(value) {
488
- return hasBrand(value, CHECKED);
489
- }
490
- /**
491
- * Is this request asking to be upgraded to a WebSocket?
492
- *
493
- * Paired with `LIVE_MODE_HEADER` (`@substrat-run/contracts`) because a vertical's live
494
- * route asks it first, before anything else it decides: only a WebSocket handshake is a
495
- * live read, and a browser always sends `Origin` on one, so everything past this check
496
- * can trust that a missing `Origin` did not come from a browser page. A plain GET with a
497
- * cookie on it cannot.
498
- */
499
- export function isUpgradeRequest(request) {
500
- // `Upgrade` is a comma-separated protocol list (RFC 9110 §7.8), e.g. `h2c, websocket`,
501
- // and protocol names compare case-insensitively. Browsers send `websocket` alone, but
502
- // they are not the only clients. A whole token must match: `websocketx` is not one.
503
- // Accepting a list is safe for the Origin rule that follows: `fetch()` cannot set
504
- // `Upgrade` at all, so only a real WebSocket client reaches it.
505
- return (request.headers.get('Upgrade') ?? '')
506
- .split(',')
507
- .some((token) => token.trim().toLowerCase() === 'websocket');
508
- }
509
125
  /**
510
126
  * Refuse a cutoff in the future — at the HostAdmin boundary, not only at the HTTP door.
511
127
  *
@@ -1 +1 @@
1
- {"version":3,"file":"scope-host.js","sourceRoot":"","sources":["../src/scope-host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope-host.js","sourceRoot":"","sources":["../src/scope-host.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { STORAGE_EXCLUSIONS, scopeStorageSample, } from '@substrat-run/contracts';
2
- import { assertRowLimit, boundedRetentionDelete } from './scope-host.js';
2
+ import { assertRowLimit, boundedRetentionDelete } from './retention.js';
3
3
  import { utcDayMonthsBefore } from './billing-retention.js';
4
4
  /**
5
5
  * The stored storage gauge (#1524), as statements both adapters run against their directory:
@@ -1 +1 @@
1
- {"version":3,"file":"storage-gauge.js","sourceRoot":"","sources":["../src/storage-gauge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage-gauge.js","sourceRoot":"","sources":["../src/storage-gauge.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type AttachmentRecord, type CheckSubject, type Decision, type DomainEventInput, type EntityRef, type Instant, type MintedUploadLink, type PermissionKey, type PrincipalId, type UploadLinkMintInput, type UploadLinkPolicy, type UploadLinkRecord, type UploadLinkView } from '@substrat-run/contracts';
2
- import { type RedeemedUploadLink, type ScopedSql } from './scope-host.js';
2
+ import type { RedeemedUploadLink, ScopedSql } from './scope-host.js';
3
3
  export declare const UPLOAD_LINK_DDL = "\n CREATE TABLE IF NOT EXISTS _substrat_upload_links (\n id TEXT PRIMARY KEY,\n -- SHA-256 hex of the secret. The secret itself is stored NOWHERE.\n token_hash TEXT NOT NULL UNIQUE,\n entity_type TEXT NOT NULL,\n entity_id TEXT NOT NULL,\n -- NULL = the uploader names the file.\n filename TEXT,\n max_bytes INTEGER NOT NULL,\n -- JSON array of media types / families, or NULL = any type.\n content_types TEXT,\n visibility TEXT NOT NULL,\n -- The principal the attachment is written AS: its author, and whose `writePermission`\n -- is checked again at redemption.\n minted_by TEXT NOT NULL,\n minted_at TEXT NOT NULL,\n expires_at TEXT NOT NULL,\n redeemed_at TEXT,\n -- The attachment this link produced.\n attachment_id TEXT,\n -- #2315: SHA-256 hex of the `Idempotency-Key` the spending request carried, or NULL when it\n -- carried none. A retry of that redemption with the same key gets the same attachment back;\n -- the key itself is stored nowhere.\n redeemed_key_hash TEXT,\n -- Tombstone, never a delete: a link that was minted is evidence of why a file arrived.\n revoked_at TEXT,\n revoked_by TEXT\n );\n CREATE INDEX IF NOT EXISTS _substrat_upload_links_entity\n ON _substrat_upload_links (entity_type, entity_id);\n";
4
4
  /** The tables `UPLOAD_LINK_DDL` builds — what a copy of a scope leaves behind. */
5
5
  export declare const UPLOAD_LINK_TABLE_NAMES: readonly ['_substrat_upload_links'];
@@ -1 +1 @@
1
- {"version":3,"file":"upload-link.d.ts","sourceRoot":"","sources":["../src/upload-link.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upload-link.d.ts","sourceRoot":"","sources":["../src/upload-link.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { attachmentRecordOfRow } from './attachment-text.js';
3
3
  import { toBase64url } from './base64url.js';
4
4
  import { capabilityTokenHash } from './capability.js';
5
5
  import { assertAllowed } from './permission-checker.js';
6
- import { attachmentSha256 } from './scope-host.js';
6
+ import { attachmentSha256 } from './attachment-bytes.js';
7
7
  import { ulid } from './ulid.js';
8
8
  export const UPLOAD_LINK_DDL = `
9
9
  CREATE TABLE IF NOT EXISTS _substrat_upload_links (
@@ -1 +1 @@
1
- {"version":3,"file":"upload-link.js","sourceRoot":"","sources":["../src/upload-link.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upload-link.js","sourceRoot":"","sources":["../src/upload-link.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@substrat-run/kernel",
3
- "version": "0.163.0",
3
+ "version": "0.164.0",
4
4
  "description": "Substrat kernel contracts and services — pure TypeScript, no platform imports (D-14)",
5
5
  "license": "AGPL-3.0-only",
6
6
  "repository": {
@@ -34,7 +34,7 @@
34
34
  "dist"
35
35
  ],
36
36
  "dependencies": {
37
- "@substrat-run/contracts": "^0.163.0"
37
+ "@substrat-run/contracts": "^0.164.0"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@types/node": "^22.20.5",