@substrat-run/control-plane-api 0.160.0 → 0.161.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.
@@ -1,6 +1,6 @@
1
1
  import { z } from '@substrat-run/contracts';
2
2
  import { PREVIEW_CLIENT_PATH, attachmentRecord, projectedConnectionGrant, denialFilterParams, capabilityFilterParams, capabilityPage, capabilityRevokeAnswer, capabilityRevokeRequest, mintedPreviewClient, ownerSeat, ownerClaimLink, memberInviteLink, memberRemoval, scopeMembers, ownerTransferResult, previewClientClaim, retiredPreviewClients, peerGrantsEntry, peerSwitchOutcome, systemSwitchOutcome, lifecycleDelivery, systemScheduleEntry, switchedOffInUnit, exportedBatch, importResult, importCursorMoved, importState, substratError, CONNECTOR_ATTACHMENT_META_HEADER, CONNECTOR_ATTACHMENT_META_MAX_BYTES, CONNECTOR_ATTACHMENT_BUFFERED_MAX_BYTES, CONNECTOR_ATTACHMENT_STREAM_MAX_BYTES, connectorAttachmentMetaBytes, connectorAttachmentMetaRefusal, connectorAttachmentBufferedRefusal, connectorAttachmentSizeRefusal, CONNECTOR_ATTACHMENT_RECORD_HEADER, LOAD_STAMP_HEADER, PLATFORM_SECRET_HEADER, WRITE_REVISION_HEADER, mergeDumpPages, scopeDumpPage, } from '@substrat-run/contracts';
3
- import { isSizedByteStream, knownLengthInit, scopeNotHeldRefusal, ulid, undrainedEventsOf } from '@substrat-run/kernel';
3
+ import { STREAM_IDLE_TIMEOUT_MS, STREAM_MAX_DURATION_MS, attachmentSha256, deadlineFetch, isSizedByteStream, knownLengthInit, runtimeSha256, scopeNotHeldRefusal, ulid, undrainedEventsOf, verifiedStream } from '@substrat-run/kernel';
4
4
  import { ControlPlaneError } from '@substrat-run/control-plane-client';
5
5
  /**
6
6
  * A 404 the vertical's router answered because it has no such route: a non-empty body that is
@@ -42,6 +42,93 @@ export async function notHeldIsBenign(record) {
42
42
  const found = await record();
43
43
  return found === undefined || found.status === 'reaped' || found.status === 'archived';
44
44
  }
45
+ /**
46
+ * The record an attachment read's response carries in its header (#711), parsed, not cast: it holds
47
+ * the sha256 the bytes are checked against, and a shape this side invented would witness nothing.
48
+ */
49
+ function attachmentRecordOf(res) {
50
+ const raw = res.headers.get(CONNECTOR_ATTACHMENT_RECORD_HEADER);
51
+ if (!raw) {
52
+ throw new Error(`connector-attachment-open: the vertical answered ${res.status} with no ` +
53
+ `${CONNECTOR_ATTACHMENT_RECORD_HEADER} header — the bytes cannot be trusted without ` +
54
+ `the record that witnesses them (#711)`);
55
+ }
56
+ return attachmentRecord.parse(JSON.parse(raw));
57
+ }
58
+ /** How a refusal of an attachment read ends: what the caller holds of the file when it is thrown (#2514). */
59
+ const NOTHING_READ = 'Nothing was read.';
60
+ /**
61
+ * A streamed read's refusal can land after most of the file has been handed on: every chunk but the
62
+ * held-back last one. So it says what those bytes are, and what to do with them, never "nothing".
63
+ */
64
+ export const STREAMED_ATTACHMENT_UNVERIFIED = 'The bytes delivered before this error are a prefix of an unverified file: discard them, and undo anything written from them.';
65
+ /** An attachment read whose bytes are not the ones its record names (#2514): the deployment's fault. */
66
+ function attachmentIntegrity(record, why, cause, tail = NOTHING_READ) {
67
+ return new ControlPlaneError(502, `connector-attachment-open: attachment ${record.id} failed its integrity check: ${why} (#2514). ${tail}`, undefined, { code: 'internal', ...(cause !== undefined ? { cause } : {}) });
68
+ }
69
+ /** A `deadlineFetch` bound ran out (#2514): the deployment was slow, which is retryable, never an integrity fault. */
70
+ const isTimeout = (err) => err?.name === 'TimeoutError';
71
+ /** The deployment too slow to answer an attachment read (#2514): a 504, `unavailable`, retryable. */
72
+ function attachmentTimeout(what, err, tail) {
73
+ const message = err instanceof Error ? err.message : String(err);
74
+ return new ControlPlaneError(504, `connector-attachment-open: ${what} timed out: ${message} (#2514). ${tail}`, undefined, { code: 'unavailable', cause: err });
75
+ }
76
+ /**
77
+ * What a streamed attachment read's error becomes (#2514). A bound running out is a 504; anything
78
+ * else, a body that broke off or bytes that did not match, is the integrity refusal the buffered read
79
+ * gives. Both end in {@link STREAMED_ATTACHMENT_UNVERIFIED}: by the time they land, the caller may hold
80
+ * all but the last chunk.
81
+ */
82
+ function streamRefusal(record, err) {
83
+ if (err instanceof ControlPlaneError)
84
+ return err;
85
+ if (isTimeout(err))
86
+ return attachmentTimeout(`reading attachment ${record.id}`, err, STREAMED_ATTACHMENT_UNVERIFIED);
87
+ return attachmentIntegrity(record, err instanceof Error ? err.message : String(err), err, STREAMED_ATTACHMENT_UNVERIFIED);
88
+ }
89
+ /** The longest any one bound of a streamed attachment read may be set to (#2514): an hour. */
90
+ const ATTACHMENT_STREAM_BOUND_MAX_MS = 60 * 60_000;
91
+ /**
92
+ * `VerticalClientOptions.attachmentStream`'s bounds, with the defaults filled in and each held to a
93
+ * whole number of milliseconds in (0, an hour] (#2514). Zero, a negative, NaN or Infinity would end
94
+ * every read at once or never, so it is refused in words instead.
95
+ */
96
+ function attachmentStreamBounds(given) {
97
+ const bounds = {
98
+ timeoutMs: given?.timeoutMs ?? STREAM_IDLE_TIMEOUT_MS,
99
+ idleMs: given?.idleMs ?? STREAM_IDLE_TIMEOUT_MS,
100
+ maxStreamMs: given?.maxStreamMs ?? STREAM_MAX_DURATION_MS,
101
+ };
102
+ for (const [name, ms] of Object.entries(bounds)) {
103
+ if (!Number.isSafeInteger(ms) || ms <= 0 || ms > ATTACHMENT_STREAM_BOUND_MAX_MS) {
104
+ throw new ControlPlaneError(500, `VerticalClientOptions.attachmentStream.${name} must be a whole number of milliseconds from 1 to ` +
105
+ `${ATTACHMENT_STREAM_BOUND_MAX_MS}, not ${ms}`);
106
+ }
107
+ }
108
+ return { ...bounds, ...(given?.timers ? { timers: given.timers } : {}) };
109
+ }
110
+ /**
111
+ * `source`, passed through chunk by chunk with its errors made `classify(err)`. Pull-driven with no
112
+ * queue of its own, as every relay on this path is, so it holds at most the chunk in flight.
113
+ */
114
+ function classifiedStream(source, classify) {
115
+ const reader = source.getReader();
116
+ return new ReadableStream({
117
+ async pull(controller) {
118
+ try {
119
+ const { done, value } = await reader.read();
120
+ if (done)
121
+ controller.close();
122
+ else
123
+ controller.enqueue(value);
124
+ }
125
+ catch (err) {
126
+ controller.error(classify(err));
127
+ }
128
+ },
129
+ cancel: (reason) => reader.cancel(reason),
130
+ }, { highWaterMark: 0 });
131
+ }
45
132
  /** The orphan-attachment report as it crosses the wire (#2314): `OrphanSweepReport`, checked. */
46
133
  const orphanSweepReportWire = z.object({
47
134
  listed: z.number().int().nonnegative(),
@@ -55,9 +142,12 @@ const orphanSweepReportWire = z.object({
55
142
  consumeFailed: z.literal(true).optional(),
56
143
  });
57
144
  /** #2446: a scope's role state as it crosses the wire (`RoleState`), checked. */
145
+ const roleShapeWire = z.object({ key: z.string().min(1), permissions: z.array(z.string()), holder: z.enum(['person', 'system']).optional() });
58
146
  const roleStateWire = z.object({
59
- roles: z.array(z.object({ key: z.string().min(1), permissions: z.array(z.string()), holder: z.enum(['person', 'system']).optional() })),
147
+ roles: z.array(roleShapeWire),
60
148
  seated: z.array(z.string()),
149
+ /** #2531: the tombstones of the roles a projection dropped. Absent from a deployment that predates them. */
150
+ dropped: z.array(roleShapeWire).optional(),
61
151
  });
62
152
  /** `routeAnswer`'s word for a deployment that predates the route it was asked (#1722, #2010). */
63
153
  const PREDATES = Symbol('predates');
@@ -293,12 +383,29 @@ export class VerticalClient {
293
383
  async listScopeTables(scopeId) {
294
384
  return this.getInternal(`/internal/tables?scopeId=${encodeURIComponent(scopeId)}`);
295
385
  }
296
- /** A bounded page of one of the scope's tables. */
386
+ /**
387
+ * A bounded page of one of the scope's tables, for the Data view (#2563). Sends `held=1`: a
388
+ * deployment that does not hold the scope refuses it (409, `scopeNotHeldRefusal`) instead of
389
+ * answering an empty store. A vertical deployed before the flag ignores it and answers as it
390
+ * always did.
391
+ */
297
392
  async readScopeTable(scopeId, input) {
393
+ return this.tablePage(scopeId, input, true);
394
+ }
395
+ /**
396
+ * A table of a store the deployment may no longer hold, for the carry and its cleanup, which ask
397
+ * a wiped copy whether it carries the `carried_away` tombstone (#2563). Sends no `held` flag, so
398
+ * a wiped copy answers. Nothing that shows a person data calls this: `readScopeTable` does.
399
+ */
400
+ async readTombstoneTable(scopeId, input) {
401
+ return this.tablePage(scopeId, input, false);
402
+ }
403
+ async tablePage(scopeId, input, held) {
298
404
  const q = new URLSearchParams({
299
405
  scopeId,
300
406
  limit: String(input.limit),
301
407
  offset: String(input.offset),
408
+ ...(held ? { held: '1' } : {}),
302
409
  });
303
410
  return this.getInternal(`/internal/tables/${encodeURIComponent(input.table)}?${q}`);
304
411
  }
@@ -560,31 +667,31 @@ export class VerticalClient {
560
667
  * own document rather than failing a dispatch; a refusal is still a throw.
561
668
  */
562
669
  async connectorOpenAttachment(input) {
563
- const q = new URLSearchParams({
564
- connectionId: input.connectionId,
565
- tenantId: input.tenantId,
566
- scopeId: input.scopeId,
567
- ...(input.eventId ? { eventId: input.eventId } : {}),
568
- });
569
- const base = this.options.baseUrl ?? 'https://vertical.invalid';
570
- const path = `/internal/connector-attachment/${encodeURIComponent(input.attachmentId)}`;
571
- const res = await this.reach('connector-attachment-open', () => this.options.fetch(`${base}${path}?${q}`, {
670
+ const res = await this.reach('connector-attachment-open', () => this.options.fetch(this.attachmentReadUrl(input), {
572
671
  headers: { [PLATFORM_SECRET_HEADER]: this.options.platformSecret },
573
672
  }));
574
673
  if (res.status === 404)
575
674
  return null;
576
675
  if (!res.ok)
577
676
  throw await this.refusal('connector-attachment-open', res);
578
- const raw = res.headers.get(CONNECTOR_ATTACHMENT_RECORD_HEADER);
579
- if (!raw) {
580
- throw new Error(`connector-attachment-open: the vertical answered ${res.status} with no ` +
581
- `${CONNECTOR_ATTACHMENT_RECORD_HEADER} header — the bytes cannot be trusted without ` +
582
- `the record that witnesses them (#711)`);
677
+ const record = attachmentRecordOf(res);
678
+ // Held to that record here too (#2514). A deployment that streams the read sends its 200 before
679
+ // the digest is known and cuts the body when the bytes do not match, so a broken body is the
680
+ // integrity refusal, not a network fault, and is classified as one. The length and the digest are
681
+ // checked again on the whole body, so no transport's handling of a short body is the only guard.
682
+ let body;
683
+ try {
684
+ body = new Uint8Array(await res.arrayBuffer());
685
+ }
686
+ catch (e) {
687
+ throw attachmentIntegrity(record, `its body broke off before the ${record.size} bytes its record names arrived`, e);
688
+ }
689
+ if (body.byteLength !== record.size) {
690
+ throw attachmentIntegrity(record, `the deployment sent ${body.byteLength} bytes; its record names ${record.size}`);
691
+ }
692
+ if ((await attachmentSha256(body)) !== record.sha256) {
693
+ throw attachmentIntegrity(record, 'the bytes do not match the recorded sha256');
583
694
  }
584
- // Parsed, not cast: the record carries the sha256 the bytes are checked against at
585
- // the far end, and a shape this side invented would witness nothing.
586
- const record = attachmentRecord.parse(JSON.parse(raw));
587
- const body = new Uint8Array(await res.arrayBuffer());
588
695
  return {
589
696
  record,
590
697
  body,
@@ -593,6 +700,99 @@ export class VerticalClient {
593
700
  contentType: record.contentType,
594
701
  };
595
702
  }
703
+ /**
704
+ * `connectorOpenAttachment`, with the bytes as a stream read off the response as the caller reads
705
+ * it, never held here (#2514). The same route, the same `null` for an unknown id, the same refusals
706
+ * before the first byte. A deployment that predates streamed reads answers the same route in full;
707
+ * the bytes are still handed on as they arrive.
708
+ *
709
+ * - **Integrity.** The stream is held to the record in the response header: its `size`, and its
710
+ * sha256, checked as the bytes pass, with the chunk that completes the file held back until the
711
+ * digest matches. A body that breaks off (how a streaming deployment refuses bytes that do not
712
+ * match), runs short or long, or does not match, errors the stream with a `ControlPlaneError` 502,
713
+ * code `internal`, as the buffered read refuses it. A consumer that has received all `size` bytes
714
+ * has received the bytes the record names.
715
+ * - **Time.** `deadlineFetch`'s bounds, as on a connection's own `fetch`. The call's `timeoutMs`
716
+ * runs from the request until the caller's FIRST read of the stream, so read promptly once it is
717
+ * open: work awaited in between spends it. From that read, the body errors when the deployment
718
+ * sends no byte for `STREAM_IDLE_TIMEOUT_MS`, or after `STREAM_MAX_DURATION_MS` in all. Each of
719
+ * these, a deployment too slow to answer at all included, is a `ControlPlaneError` 504, code
720
+ * `unavailable`, and the call is released. The bounds are `VerticalClientOptions.attachmentStream`,
721
+ * each a whole number of milliseconds up to an hour.
722
+ * - **What an error means.** One thrown before the stream is handed back means nothing was read.
723
+ * One the stream errors with ends in {@link STREAMED_ATTACHMENT_UNVERIFIED}: the caller may hold
724
+ * all but the last chunk by then, and must discard it.
725
+ * - **Cancel.** Cancelling the stream cancels the response body, which the deployment reads as its
726
+ * reader going away.
727
+ */
728
+ async connectorOpenAttachmentStream(input) {
729
+ const verb = 'connector-attachment-open';
730
+ const bounds = attachmentStreamBounds(this.options.attachmentStream);
731
+ // Asked for here, so a runtime that cannot check the bytes sends nothing; made only once there is a
732
+ // body to check, so a refusal or an unknown id leaves no digest open.
733
+ const makeDigest = this.options.attachmentStream?.sha256 ?? runtimeSha256();
734
+ if (!makeDigest) {
735
+ throw new ControlPlaneError(500, `${verb}: this runtime has no running sha256 to check a streamed attachment with; ` +
736
+ `pass VerticalClientOptions.attachmentStream.sha256`);
737
+ }
738
+ const timed = deadlineFetch(this.options.fetch, bounds.timeoutMs, bounds);
739
+ const res = (await this.reach(verb, async () => {
740
+ try {
741
+ return (await timed(this.attachmentReadUrl(input), {
742
+ headers: { [PLATFORM_SECRET_HEADER]: this.options.platformSecret },
743
+ }));
744
+ }
745
+ catch (err) {
746
+ // The same slowness as a stall in the body, so the same answer, not `reach`'s "unreachable".
747
+ if (isTimeout(err)) {
748
+ throw attachmentTimeout(`attachment ${input.attachmentId}: the deployment's answer`, err, NOTHING_READ);
749
+ }
750
+ throw err;
751
+ }
752
+ }));
753
+ if (res.status === 404) {
754
+ await res.text().catch(() => { });
755
+ return null;
756
+ }
757
+ if (!res.ok)
758
+ throw await this.refusal(verb, res);
759
+ let record;
760
+ try {
761
+ record = attachmentRecordOf(res);
762
+ }
763
+ catch (err) {
764
+ await res.text().catch(() => { });
765
+ throw err;
766
+ }
767
+ const source = res.body ?? new Response(new Uint8Array(0)).body;
768
+ let verified;
769
+ try {
770
+ verified = verifiedStream({ stream: source, length: record.size }, record, makeDigest());
771
+ }
772
+ catch (err) {
773
+ await source.cancel().catch(() => { });
774
+ throw attachmentIntegrity(record, err.message, err);
775
+ }
776
+ return {
777
+ record,
778
+ body: {
779
+ stream: classifiedStream(verified.stream, (err) => streamRefusal(record, err)),
780
+ length: record.size,
781
+ },
782
+ contentType: record.contentType,
783
+ };
784
+ }
785
+ /** Where one attachment is read from (#711): the id in the path, the rest in the query. */
786
+ attachmentReadUrl(input) {
787
+ const q = new URLSearchParams({
788
+ connectionId: input.connectionId,
789
+ tenantId: input.tenantId,
790
+ scopeId: input.scopeId,
791
+ ...(input.eventId ? { eventId: input.eventId } : {}),
792
+ });
793
+ const base = this.options.baseUrl ?? 'https://vertical.invalid';
794
+ return `${base}/internal/connector-attachment/${encodeURIComponent(input.attachmentId)}?${q}`;
795
+ }
596
796
  /**
597
797
  * Deliver a connection's scope-level grant tuple into the vertical's deployment
598
798
  * (#574) — the delivery half of `grantToConnection` for a scope served there.
@@ -1374,6 +1574,9 @@ export class VerticalClient {
1374
1574
  return await request();
1375
1575
  }
1376
1576
  catch (e) {
1577
+ // Already classified by the call itself (a streamed read's timeout, #2514): kept as it is.
1578
+ if (e instanceof ControlPlaneError)
1579
+ throw e;
1377
1580
  const detail = e instanceof Error ? e.message : String(e);
1378
1581
  throw new ControlPlaneError(502, `vertical unreachable during ${verb}: ${detail}`);
1379
1582
  }
@@ -1 +1 @@
1
- {"version":3,"file":"vertical-client.js","sourceRoot":"","sources":["../src/vertical-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vertical-client.js","sourceRoot":"","sources":["../src/vertical-client.ts"],"names":[],"mappings":"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"}