@superbee/server 0.2.0-pre.1 → 0.2.0-pre.11
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/legacy-router.d.ts.map +1 -1
- package/dist/legacy-router.js +3 -2
- package/dist/legacy-router.js.map +1 -1
- package/dist/operation-outcomes.d.ts +11 -4
- package/dist/operation-outcomes.d.ts.map +1 -1
- package/dist/operation-outcomes.js.map +1 -1
- package/dist/router.d.ts +16 -0
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +267 -22
- package/dist/router.js.map +1 -1
- package/dist/serve.d.ts +9 -1
- package/dist/serve.d.ts.map +1 -1
- package/dist/serve.js +23 -3
- package/dist/serve.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legacy-router.d.ts","sourceRoot":"","sources":["../src/legacy-router.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAE1F,OAAO,
|
|
1
|
+
{"version":3,"file":"legacy-router.d.ts","sourceRoot":"","sources":["../src/legacy-router.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAE1F,OAAO,EAEL,KAAK,MAAM,EACX,KAAK,cAAc,EAEpB,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EAA+B,KAAK,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAQlG,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;CACzC;AA4CD,iFAAiF;AACjF,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,GAAE,mBAAwB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAE1I;AAED,qGAAqG;AACrG,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAEvH"}
|
package/dist/legacy-router.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/** Node-specific compatibility adapter for the historical single-backend package root. */
|
|
2
|
-
import {
|
|
2
|
+
import { MemoryBackend, } from "@superbee/core";
|
|
3
|
+
import { backendFor } from "@superbee/core/bundle-ops";
|
|
3
4
|
import { MemoryOperationOutcomeStore } from "./operation-outcomes.js";
|
|
4
5
|
import { createRouter as createWorkerRouter, } from "./router.js";
|
|
5
6
|
const LEGACY_INTERNAL_BUNDLE_ID = "bnd_00000000000000000000000000000000";
|
|
@@ -46,6 +47,6 @@ export function createRouterForBackend(backend, options = {}) {
|
|
|
46
47
|
}
|
|
47
48
|
/** Historical Bundle entry point retained at the Node package root, including `/bundles/default`. */
|
|
48
49
|
export function createRouter(bundle, options = {}) {
|
|
49
|
-
return buildLegacyRouter(
|
|
50
|
+
return buildLegacyRouter(backendFor(bundle), options);
|
|
50
51
|
}
|
|
51
52
|
//# sourceMappingURL=legacy-router.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legacy-router.js","sourceRoot":"","sources":["../src/legacy-router.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAE1F,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"legacy-router.js","sourceRoot":"","sources":["../src/legacy-router.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAE1F,OAAO,EACL,aAAa,GAId,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,OAAO,EAAE,2BAA2B,EAA8B,MAAM,yBAAyB,CAAC;AAClG,OAAO,EACL,YAAY,IAAI,kBAAkB,GAEnC,MAAM,aAAa,CAAC;AAErB,MAAM,yBAAyB,GAAG,sCAAsC,CAAC;AAWzE,SAAS,sBAAsB,CAAC,OAAuB;IACrD,OAAO,CACL,OAAO,CAAC,YAAY,EAAE,EAAE,IAAI;QAC1B,YAAY,EAAE,OAAO,YAAY,aAAa;QAC9C,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,IAAI;QACjB,SAAS,EAAE,KAAK;KACjB,CACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAgB;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;IACrD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;IACrD,OAAO;QACL,KAAK,EAAE,KAAK,IAAI,SAAS;QACzB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5B,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,6BAA6B,CAAC,OAAgB;IACrD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,gCAAgC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClE,IAAI,CAAC,KAAK;QAAE,OAAO,OAAO,CAAC;IAC3B,GAAG,CAAC,QAAQ,GAAG,eAAe,yBAAyB,IAAI,KAAK,CAAC,CAAC,CAAE,EAAE,CAAC;IACvE,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAuB,EAAE,OAA4B;IAC9E,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,2BAA2B,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACvG,MAAM,YAAY,GAAG,kBAAkB,CAAC;QACtC,YAAY,EAAE,sBAAsB,CAAC,OAAO,CAAC;QAC7C,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC1C,cAAc,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;KACpF,CAAC,CAAC;IACH,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,sBAAsB,CAAC,OAAuB,EAAE,UAA+B,EAAE;IAC/F,OAAO,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,UAA+B,EAAE;IAC5E,OAAO,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;AACxD,CAAC"}
|
|
@@ -48,10 +48,17 @@ export type OperationClaim = {
|
|
|
48
48
|
settled: Promise<RecordedOperation | null>;
|
|
49
49
|
} | {
|
|
50
50
|
kind: "claimed";
|
|
51
|
-
/**
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
51
|
+
/**
|
|
52
|
+
* Record the application's response under the key. The router awaits completion before
|
|
53
|
+
* returning it, and does not release the claim if recording fails after application.
|
|
54
|
+
* Durable stores must reconcile a possibly committed mutation before allowing reapplication.
|
|
55
|
+
*/
|
|
56
|
+
record(operation: Omit<RecordedOperation, "recordedAt">): RecordedOperation | Promise<RecordedOperation>;
|
|
57
|
+
/**
|
|
58
|
+
* Settle an application failure before the router returns it. A durable store must check
|
|
59
|
+
* for a committed mutation before making the key available for a fresh application.
|
|
60
|
+
*/
|
|
61
|
+
release(): void | Promise<void>;
|
|
55
62
|
};
|
|
56
63
|
export interface OperationOutcomeStore {
|
|
57
64
|
/** Claim `key` within `scope` ahead of applying the write it identifies. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation-outcomes.d.ts","sourceRoot":"","sources":["../src/operation-outcomes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD,oGAAoG;AACpG,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC;AAEpE,8EAA8E;AAC9E,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,6EAA6E;AAC7E,MAAM,WAAW,iBAAiB;IAChC,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,OAAO,EAAE,eAAe,CAAC;IACzB,qFAAqF;IACrF,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,iDAAiD;AACjD,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,iBAAiB,CAAA;CAAE,GAClD;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,qGAAqG;IACrG,OAAO,EAAE,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;CAC5C,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB
|
|
1
|
+
{"version":3,"file":"operation-outcomes.d.ts","sourceRoot":"","sources":["../src/operation-outcomes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD,oGAAoG;AACpG,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC;AAEpE,8EAA8E;AAC9E,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,6EAA6E;AAC7E,MAAM,WAAW,iBAAiB;IAChC,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,OAAO,EAAE,eAAe,CAAC;IACzB,qFAAqF;IACrF,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,iDAAiD;AACjD,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,iBAAiB,CAAA;CAAE,GAClD;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,qGAAqG;IACrG,OAAO,EAAE,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;CAC5C,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB;;;;OAIG;IACH,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,GAAG,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACzG;;;OAGG;IACH,OAAO,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC,CAAC;AAEN,MAAM,WAAW,qBAAqB;IACpC,4EAA4E;IAC5E,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3D,uGAAuG;IACvG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;CACvE;AAED,MAAM,WAAW,kCAAkC;IACjD,iFAAiF;IACjF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qGAAqG;IACrG,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AASD,iFAAiF;AACjF,qBAAa,2BAA4B,YAAW,qBAAqB;IACvE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwC;IACjE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiC;IAC5D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;gBAEvB,OAAO,GAAE,kCAAuC;IAK5D,iFAAiF;IACjF,IAAI,IAAI,IAAI,MAAM,CAEjB;IAEK,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAgD1D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAI3E,gGAAgG;IAChG,OAAO,CAAC,IAAI;IAUZ,OAAO,CAAC,OAAO;IAIf;;;;;;OAMG;IACH,OAAO,CAAC,KAAK;CAMd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation-outcomes.js","sourceRoot":"","sources":["../src/operation-outcomes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;
|
|
1
|
+
{"version":3,"file":"operation-outcomes.js","sourceRoot":"","sources":["../src/operation-outcomes.ts"],"names":[],"mappings":"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"}
|
package/dist/router.d.ts
CHANGED
|
@@ -45,6 +45,18 @@ export declare const WIRE_ENDPOINTS: readonly [{
|
|
|
45
45
|
readonly method: "POST";
|
|
46
46
|
readonly path: "/v0/bundles/{bundle}/docs:read-many";
|
|
47
47
|
readonly accessClass: "read";
|
|
48
|
+
}, {
|
|
49
|
+
readonly id: "docs-heads";
|
|
50
|
+
readonly resource: "docs-heads";
|
|
51
|
+
readonly method: "GET";
|
|
52
|
+
readonly path: "/v0/bundles/{bundle}/heads";
|
|
53
|
+
readonly accessClass: "read";
|
|
54
|
+
}, {
|
|
55
|
+
readonly id: "docs-snapshot";
|
|
56
|
+
readonly resource: "docs-snapshot";
|
|
57
|
+
readonly method: "GET";
|
|
58
|
+
readonly path: "/v0/bundles/{bundle}/snapshot";
|
|
59
|
+
readonly accessClass: "read";
|
|
48
60
|
}, {
|
|
49
61
|
readonly id: "doc-read";
|
|
50
62
|
readonly resource: "doc";
|
|
@@ -131,6 +143,10 @@ export type ResolvedWireResource = {
|
|
|
131
143
|
kind: "docs";
|
|
132
144
|
} | {
|
|
133
145
|
kind: "docs-read-many";
|
|
146
|
+
} | {
|
|
147
|
+
kind: "docs-heads";
|
|
148
|
+
} | {
|
|
149
|
+
kind: "docs-snapshot";
|
|
134
150
|
} | {
|
|
135
151
|
kind: "doc";
|
|
136
152
|
id: ConceptId;
|
package/dist/router.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
|
package/dist/router.js
CHANGED
|
@@ -16,11 +16,16 @@
|
|
|
16
16
|
* See `docs/WIRE-PROTOCOL.md` "Implemented by reference" section for the exact
|
|
17
17
|
* endpoint set and any recorded deviations from the draft.
|
|
18
18
|
*/
|
|
19
|
-
import { InvalidInputError, VersionConflict, assertSafeBlobKey, assertSafeConceptId, assertSafeReservedDir, isReservedFile, isContentVersion, pathFromConceptId, stripETagWrapper, } from "@superbee/core/storage";
|
|
19
|
+
import { InvalidInputError, MalformedDocumentError, VersionConflict, assertSafeBlobKey, assertSafeConceptId, assertSafeReservedDir, headsDigest, sortHeads, isReservedFile, isContentVersion, pathFromConceptId, stripETagWrapper, } from "@superbee/core/storage";
|
|
20
20
|
import { queryHeads, writeDocVersioned } from "@superbee/core/engine";
|
|
21
21
|
import { isRequestIdentity } from "@superbee/core/storage";
|
|
22
|
+
import { captureRemoteFrontmatter, RemoteDocumentValueError } from "@superbee/core/document-codec";
|
|
22
23
|
/** Default page size for `GET /docs` when `limit` is not supplied. */
|
|
23
24
|
const DEFAULT_LIST_LIMIT = 50;
|
|
25
|
+
/** Documents read per backend batch while a snapshot streams; one NDJSON chunk per batch. */
|
|
26
|
+
const SNAPSHOT_BATCH_SIZE = 50;
|
|
27
|
+
/** The snapshot body's media type: one JSON object per line (`docs/WIRE-PROTOCOL.md`, "Heads and snapshot"). */
|
|
28
|
+
const NDJSON_CONTENT_TYPE = "application/x-ndjson; charset=utf-8";
|
|
24
29
|
/** The header that carries a document write's durable request identity (`docs/WIRE-PROTOCOL.md`, "Identified writes"). */
|
|
25
30
|
const IDENTITY_HEADER = "Idempotency-Key";
|
|
26
31
|
/** The only endpoints that accept {@link IDENTITY_HEADER}; every other endpoint refuses it as `400 USAGE`. */
|
|
@@ -125,11 +130,42 @@ function decodeBlobKey(rawPathTail) {
|
|
|
125
130
|
* principle 4: OKF/id-safety invariants are enforced server-side too).
|
|
126
131
|
*/
|
|
127
132
|
function assertValidDocId(id) {
|
|
133
|
+
if (hasControlCharacter(id)) {
|
|
134
|
+
throw new InvalidInputError("document ids cannot contain control characters");
|
|
135
|
+
}
|
|
128
136
|
assertSafeConceptId(id);
|
|
129
137
|
if (isReservedFile(pathFromConceptId(id))) {
|
|
130
138
|
throw new InvalidInputError(`'${id}' is a reserved file, not a concept document`);
|
|
131
139
|
}
|
|
132
140
|
}
|
|
141
|
+
/**
|
|
142
|
+
* True when `id` holds any code unit below U+0020 or equal to U+007F. The core id rule admits
|
|
143
|
+
* such characters (a local bundle may hold `"line\nbreak"`), but the heads digest concatenates
|
|
144
|
+
* `id`, `\n`, `version`, `\n` per row and is injective only when no id contains a line feed. The
|
|
145
|
+
* wire therefore refuses the whole control range on every document route
|
|
146
|
+
* ({@link assertValidDocId}) and refuses to list such an id ({@link UnservableIdError}), so no
|
|
147
|
+
* digest is ever minted over a listing the recipe cannot tell apart from another.
|
|
148
|
+
*/
|
|
149
|
+
function hasControlCharacter(id) {
|
|
150
|
+
for (let i = 0; i < id.length; i += 1) {
|
|
151
|
+
const unit = id.charCodeAt(i);
|
|
152
|
+
if (unit < 0x20 || unit === 0x7f)
|
|
153
|
+
return true;
|
|
154
|
+
}
|
|
155
|
+
return false;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* A bundle written outside the wire holds a document id the wire cannot serve through heads or
|
|
159
|
+
* snapshot (see {@link hasControlCharacter}). Mapped to `500 RUNTIME` with this message: the
|
|
160
|
+
* request is well formed, the bundle is what cannot be served, and the listing fails closed
|
|
161
|
+
* rather than minting a non-injective digest.
|
|
162
|
+
*/
|
|
163
|
+
class UnservableIdError extends Error {
|
|
164
|
+
constructor() {
|
|
165
|
+
super("bundle holds a document id the wire cannot serve");
|
|
166
|
+
this.name = "UnservableIdError";
|
|
167
|
+
}
|
|
168
|
+
}
|
|
133
169
|
/** Build a JSON `Response` with the standard `content-type`, merging in any extra headers. */
|
|
134
170
|
function jsonResponse(status, body, headers = {}) {
|
|
135
171
|
return new Response(JSON.stringify(body), {
|
|
@@ -156,9 +192,24 @@ function errorFromCaught(err) {
|
|
|
156
192
|
if (isEnoent(err)) {
|
|
157
193
|
return errorResponse(404, "NOT_FOUND", "document or blob not found");
|
|
158
194
|
}
|
|
195
|
+
if (err instanceof RemoteDocumentValueError) {
|
|
196
|
+
return errorResponse(500, "RUNTIME", err.message);
|
|
197
|
+
}
|
|
159
198
|
if (err instanceof InvalidInputError) {
|
|
160
199
|
return errorResponse(400, "USAGE", err.message);
|
|
161
200
|
}
|
|
201
|
+
if (err instanceof UnservableIdError) {
|
|
202
|
+
return errorResponse(500, "RUNTIME", err.message);
|
|
203
|
+
}
|
|
204
|
+
if (err instanceof MalformedDocumentError) {
|
|
205
|
+
// The request is well formed; the stored document is what cannot be served. Naming it lets
|
|
206
|
+
// a client report the one document to fix instead of an opaque server failure.
|
|
207
|
+
// Backends attribute the error to the document's path or its id; the wire names the id.
|
|
208
|
+
const id = err.context === undefined ? undefined : err.context.endsWith(".md") ? err.context.slice(0, -3) : err.context;
|
|
209
|
+
return errorResponse(500, "RUNTIME", err.message, {
|
|
210
|
+
malformed: { ...(id === undefined ? {} : { id }), reason: err.detail },
|
|
211
|
+
});
|
|
212
|
+
}
|
|
162
213
|
return errorResponse(500, "RUNTIME", "internal server error");
|
|
163
214
|
}
|
|
164
215
|
/**
|
|
@@ -235,6 +286,20 @@ export const WIRE_ENDPOINTS = [
|
|
|
235
286
|
path: "/v0/bundles/{bundle}/docs:read-many",
|
|
236
287
|
accessClass: "read",
|
|
237
288
|
},
|
|
289
|
+
{
|
|
290
|
+
id: "docs-heads",
|
|
291
|
+
resource: "docs-heads",
|
|
292
|
+
method: "GET",
|
|
293
|
+
path: "/v0/bundles/{bundle}/heads",
|
|
294
|
+
accessClass: "read",
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
id: "docs-snapshot",
|
|
298
|
+
resource: "docs-snapshot",
|
|
299
|
+
method: "GET",
|
|
300
|
+
path: "/v0/bundles/{bundle}/snapshot",
|
|
301
|
+
accessClass: "read",
|
|
302
|
+
},
|
|
238
303
|
{
|
|
239
304
|
id: "doc-read",
|
|
240
305
|
resource: "doc",
|
|
@@ -384,6 +449,10 @@ function resourceFromMatch(resource, params, searchParams) {
|
|
|
384
449
|
return { kind: "docs" };
|
|
385
450
|
case "docs-read-many":
|
|
386
451
|
return { kind: "docs-read-many" };
|
|
452
|
+
case "docs-heads":
|
|
453
|
+
return { kind: "docs-heads" };
|
|
454
|
+
case "docs-snapshot":
|
|
455
|
+
return { kind: "docs-snapshot" };
|
|
387
456
|
case "doc": {
|
|
388
457
|
const id = decodeId(params.id);
|
|
389
458
|
assertValidDocId(id);
|
|
@@ -497,6 +566,12 @@ function routeLabel(resource) {
|
|
|
497
566
|
case "docs-read-many":
|
|
498
567
|
label = "/docs:read-many";
|
|
499
568
|
break;
|
|
569
|
+
case "docs-heads":
|
|
570
|
+
label = "/heads";
|
|
571
|
+
break;
|
|
572
|
+
case "docs-snapshot":
|
|
573
|
+
label = "/snapshot";
|
|
574
|
+
break;
|
|
500
575
|
case "doc":
|
|
501
576
|
case "doc-versions":
|
|
502
577
|
label = "a doc route";
|
|
@@ -573,7 +648,7 @@ function buildRouter(options) {
|
|
|
573
648
|
assertValidDocId(id);
|
|
574
649
|
try {
|
|
575
650
|
const { doc, version } = await backend.read(id);
|
|
576
|
-
return jsonResponse(200, { id: doc.id, frontmatter: doc.frontmatter, body: doc.body }, versionHeaders(version));
|
|
651
|
+
return jsonResponse(200, { id: doc.id, frontmatter: captureRemoteFrontmatter(doc.frontmatter), body: doc.body }, versionHeaders(version));
|
|
577
652
|
}
|
|
578
653
|
catch (err) {
|
|
579
654
|
if (isEnoent(err))
|
|
@@ -677,7 +752,7 @@ function buildRouter(options) {
|
|
|
677
752
|
}
|
|
678
753
|
catch (err) {
|
|
679
754
|
if (!(err instanceof VersionConflict || err instanceof InvalidInputError || isEnoent(err))) {
|
|
680
|
-
claim.release();
|
|
755
|
+
await settleOutcomeClaim(() => claim.release());
|
|
681
756
|
throw err;
|
|
682
757
|
}
|
|
683
758
|
response = errorFromCaught(err);
|
|
@@ -689,13 +764,22 @@ function buildRouter(options) {
|
|
|
689
764
|
outcome = outcomeOf(recorded);
|
|
690
765
|
}
|
|
691
766
|
catch (err) {
|
|
692
|
-
claim.release();
|
|
767
|
+
await settleOutcomeClaim(() => claim.release());
|
|
693
768
|
throw err;
|
|
694
769
|
}
|
|
695
|
-
claim.record({ method, id, response: recorded, outcome });
|
|
770
|
+
await settleOutcomeClaim(() => claim.record({ method, id, response: recorded, outcome }));
|
|
696
771
|
return replayResponse(recorded);
|
|
697
772
|
}
|
|
698
773
|
}
|
|
774
|
+
/** Persistence errors are not document refusals, even when an adapter uses engine error types. */
|
|
775
|
+
async function settleOutcomeClaim(settle) {
|
|
776
|
+
try {
|
|
777
|
+
await settle();
|
|
778
|
+
}
|
|
779
|
+
catch (cause) {
|
|
780
|
+
throw new Error("operation outcome persistence failed", { cause });
|
|
781
|
+
}
|
|
782
|
+
}
|
|
699
783
|
function replayRecorded(operation, method, id) {
|
|
700
784
|
if (operation.method !== method || operation.id !== id) {
|
|
701
785
|
return errorResponse(400, "USAGE", `Idempotency-Key was recorded for ${operation.method} '${operation.id}', not ${method} '${id}'`, { recorded: { method: operation.method, id: operation.id } });
|
|
@@ -737,8 +821,9 @@ function buildRouter(options) {
|
|
|
737
821
|
try {
|
|
738
822
|
assertValidDocId(id);
|
|
739
823
|
}
|
|
740
|
-
catch {
|
|
741
|
-
|
|
824
|
+
catch (err) {
|
|
825
|
+
const reason = err instanceof InvalidInputError ? err.message : `invalid document id '${id}'`;
|
|
826
|
+
return errorResponse(400, "USAGE", reason, { id });
|
|
742
827
|
}
|
|
743
828
|
}
|
|
744
829
|
// Determine the missing set up front (§ readMany: "404 + { missing }" if ANY id is
|
|
@@ -750,7 +835,7 @@ function buildRouter(options) {
|
|
|
750
835
|
}
|
|
751
836
|
const results = await backend.readMany(ids);
|
|
752
837
|
return jsonResponse(200, {
|
|
753
|
-
results: results.map((r) => ({ id: r.doc.id, frontmatter: r.doc.frontmatter, body: r.doc.body, version: r.version })),
|
|
838
|
+
results: results.map((r) => ({ id: r.doc.id, frontmatter: captureRemoteFrontmatter(r.doc.frontmatter), body: r.doc.body, version: r.version })),
|
|
754
839
|
});
|
|
755
840
|
}
|
|
756
841
|
async function handleList(backend, searchParams) {
|
|
@@ -767,11 +852,13 @@ function buildRouter(options) {
|
|
|
767
852
|
// push-down (an indexed adapter can answer without reading bodies),
|
|
768
853
|
// re-applies the canonical `matchesFilter` to whatever came back, and falls back to
|
|
769
854
|
// the delete-tolerant `list` + batch-read walk for every other backend (a doc deleted
|
|
770
|
-
// mid-scan is SKIPPED, not a scan-failing 404 — the server half of STATUS item 33
|
|
771
|
-
// MALFORMED doc
|
|
772
|
-
//
|
|
773
|
-
//
|
|
774
|
-
|
|
855
|
+
// mid-scan is SKIPPED, not a scan-failing 404 — the server half of STATUS item 33). With
|
|
856
|
+
// `malformed=skip`, a MALFORMED doc is left out of the rows and named in `skipped` on every
|
|
857
|
+
// page, so one bad file never fails the listing; without it (a client that cannot read
|
|
858
|
+
// `skipped`) the listing fails naming the document, so no client silently loses one. The
|
|
859
|
+
// router deliberately does NOT re-implement the prefer-else-fallback dance itself.
|
|
860
|
+
const skipped = [];
|
|
861
|
+
const heads = await queryHeads(backend, { prefix, type, tags }, searchParams.get("malformed") === "skip" ? { onSkip: (skip) => skipped.push(skip) } : {});
|
|
775
862
|
const count = heads.length;
|
|
776
863
|
let page = heads;
|
|
777
864
|
if (cursor) {
|
|
@@ -784,16 +871,168 @@ function buildRouter(options) {
|
|
|
784
871
|
}
|
|
785
872
|
const limited = page.slice(0, limit);
|
|
786
873
|
const nextCursor = page.length > limit ? (limited[limited.length - 1]?.id ?? null) : null;
|
|
787
|
-
const docs = limited.map(({ id, frontmatter, version }) =>
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
874
|
+
const docs = limited.map(({ id, frontmatter, version }) => {
|
|
875
|
+
if (fields === "frontmatter")
|
|
876
|
+
return { id, version, frontmatter: captureRemoteFrontmatter(frontmatter) };
|
|
877
|
+
// Only emitted fields need wire compatibility. Copy descriptors so projecting a field
|
|
878
|
+
// cannot invoke its getter before the shared capture checks it; absent fields stay absent.
|
|
879
|
+
const projected = Object.create(null);
|
|
880
|
+
for (const key of ["type", "title", "timestamp"]) {
|
|
881
|
+
const descriptor = Object.getOwnPropertyDescriptor(frontmatter, key);
|
|
882
|
+
if (descriptor)
|
|
883
|
+
Object.defineProperty(projected, key, { ...descriptor, enumerable: true });
|
|
884
|
+
}
|
|
885
|
+
return { id, version, ...captureRemoteFrontmatter(projected) };
|
|
886
|
+
});
|
|
887
|
+
return jsonResponse(200, {
|
|
888
|
+
count,
|
|
889
|
+
docs,
|
|
890
|
+
next_cursor: nextCursor,
|
|
891
|
+
...(skipped.length > 0 ? { skipped: skipped.map(({ id, reason }) => ({ id, reason })) } : {}),
|
|
892
|
+
});
|
|
893
|
+
}
|
|
894
|
+
/**
|
|
895
|
+
* Every document's id and current version, in the wire's id order. The one listing behind
|
|
896
|
+
* both `GET /heads` and `GET /snapshot`: `list` for the ids, then `readMany` in batches of
|
|
897
|
+
* `SNAPSHOT_BATCH_SIZE`, keeping only each result's version and dropping the bodies with the
|
|
898
|
+
* batch. Neither reference backend pushes `queryHeads` down, and the engine's scan reads every
|
|
899
|
+
* body in one `readMany`, which is why the listing is computed here rather than through it.
|
|
900
|
+
* Every document is still read once for the listing. A document deleted between `list` and
|
|
901
|
+
* its batch is simply not a head, as in the engine's scan; a malformed document fails the
|
|
902
|
+
* listing, naming it (deviation 4): a working copy reads a missing head as a deletion, so heads
|
|
903
|
+
* cannot skip a document the way `GET /docs` does.
|
|
904
|
+
* An id the wire cannot serve (a control character, which the digest recipe cannot delimit)
|
|
905
|
+
* fails the listing closed before any document is read: heads answers `500 RUNTIME`, and the
|
|
906
|
+
* snapshot fails before its header line exists, so the client sees no snapshot rather than
|
|
907
|
+
* a digest that another listing could share.
|
|
908
|
+
*/
|
|
909
|
+
async function listHeads(backend) {
|
|
910
|
+
const ids = await backend.list();
|
|
911
|
+
if (ids.some(hasControlCharacter))
|
|
912
|
+
throw new UnservableIdError();
|
|
913
|
+
const heads = [];
|
|
914
|
+
for (let offset = 0; offset < ids.length; offset += SNAPSHOT_BATCH_SIZE) {
|
|
915
|
+
const batch = ids.slice(offset, offset + SNAPSHOT_BATCH_SIZE);
|
|
916
|
+
for (const { id, version } of await readBatchExisting(backend, batch))
|
|
917
|
+
heads.push({ id, version });
|
|
918
|
+
}
|
|
919
|
+
return sortHeads(heads);
|
|
920
|
+
}
|
|
921
|
+
/**
|
|
922
|
+
* `readMany` for one batch, tolerating a document that vanished after `list` named it: on an
|
|
923
|
+
* ENOENT-shaped failure the batch is re-read one id at a time and absent ids are dropped.
|
|
924
|
+
* Any other failure (a malformed document included) propagates.
|
|
925
|
+
*/
|
|
926
|
+
async function readBatchExisting(backend, ids) {
|
|
927
|
+
try {
|
|
928
|
+
const results = await backend.readMany(ids);
|
|
929
|
+
assertBatchShape(results.length, ids.length);
|
|
930
|
+
return results.map((result, index) => ({ id: ids[index], version: result.version }));
|
|
931
|
+
}
|
|
932
|
+
catch (err) {
|
|
933
|
+
if (!isEnoent(err))
|
|
934
|
+
throw err;
|
|
935
|
+
}
|
|
936
|
+
const out = [];
|
|
937
|
+
for (const id of ids) {
|
|
938
|
+
try {
|
|
939
|
+
out.push({ id, version: (await backend.read(id)).version });
|
|
940
|
+
}
|
|
941
|
+
catch (err) {
|
|
942
|
+
if (!isEnoent(err))
|
|
943
|
+
throw err;
|
|
944
|
+
}
|
|
945
|
+
}
|
|
946
|
+
return out;
|
|
947
|
+
}
|
|
948
|
+
/** A conforming `readMany` answers one result per id, in order; anything else is a backend defect, never silently paired. */
|
|
949
|
+
function assertBatchShape(resultCount, idCount) {
|
|
950
|
+
if (resultCount !== idCount) {
|
|
951
|
+
throw new Error(`readMany answered ${resultCount} result(s) for ${idCount} id(s); results are paired to ids by index`);
|
|
952
|
+
}
|
|
953
|
+
}
|
|
954
|
+
/** True when `If-None-Match` names `digest` in bare, quoted, or weak form, alone or in a list. */
|
|
955
|
+
function ifNoneMatchNames(req, digest) {
|
|
956
|
+
const header = req.headers.get("If-None-Match");
|
|
957
|
+
if (header === null)
|
|
958
|
+
return false;
|
|
959
|
+
return header.split(",").some((token) => stripETagWrapper(token) === digest);
|
|
960
|
+
}
|
|
961
|
+
/**
|
|
962
|
+
* `GET /heads`: `{ count, digest, heads }` with the digest as a quoted `ETag`, or a bodyless
|
|
963
|
+
* `304` when the client already holds that digest. A `304` means nothing changed; a `200` is
|
|
964
|
+
* diffed by the client against its own copy (a missing id is a deletion, a differing version a
|
|
965
|
+
* change). No pagination: the whole listing is the point of the route.
|
|
966
|
+
*/
|
|
967
|
+
async function handleHeads(backend, req) {
|
|
968
|
+
const heads = await listHeads(backend);
|
|
969
|
+
const digest = headsDigest(heads);
|
|
970
|
+
if (ifNoneMatchNames(req, digest)) {
|
|
971
|
+
return new Response(null, { status: 304, headers: { ETag: `"${digest}"` } });
|
|
972
|
+
}
|
|
973
|
+
return jsonResponse(200, { count: heads.length, digest, heads }, { ETag: `"${digest}"` });
|
|
974
|
+
}
|
|
975
|
+
/**
|
|
976
|
+
* The snapshot's NDJSON lines: the header, one chunk of document lines per backend batch, and
|
|
977
|
+
* the `end` terminator. The listing holds only ids and versions; bodies are read in batches of
|
|
978
|
+
* `SNAPSHOT_BATCH_SIZE` after the header has been produced and encoded as each batch arrives,
|
|
979
|
+
* so at most one batch of bodies is held at a time. A document that vanishes between the heads
|
|
980
|
+
* listing and its batch makes the batch read throw, which errors the stream: the client then
|
|
981
|
+
* sees a body without its terminator and treats the snapshot as truncated. A document that
|
|
982
|
+
* changes in that window is caught the same way: its read version no longer matches the listed
|
|
983
|
+
* head, and the stream errors rather than emitting a line the header digest does not describe,
|
|
984
|
+
* so the digest always describes exactly the emitted lines and the client retries.
|
|
985
|
+
*/
|
|
986
|
+
async function* snapshotLines(backend, heads, digest) {
|
|
987
|
+
yield `${JSON.stringify({ kind: "snapshot", count: heads.length, digest })}\n`;
|
|
988
|
+
for (let offset = 0; offset < heads.length; offset += SNAPSHOT_BATCH_SIZE) {
|
|
989
|
+
const batch = heads.slice(offset, offset + SNAPSHOT_BATCH_SIZE);
|
|
990
|
+
const results = await backend.readMany(batch.map((head) => head.id));
|
|
991
|
+
assertBatchShape(results.length, batch.length);
|
|
992
|
+
let chunk = "";
|
|
993
|
+
results.forEach((result, index) => {
|
|
994
|
+
// The heads listing owns identity, as the read-many route does: never a payload id.
|
|
995
|
+
const head = batch[index];
|
|
996
|
+
if (result.version !== head.version) {
|
|
997
|
+
throw new Error(`document '${head.id}' changed from version ${head.version} to ${result.version} while the snapshot streamed`);
|
|
998
|
+
}
|
|
999
|
+
const line = { kind: "doc", id: head.id, version: head.version, frontmatter: captureRemoteFrontmatter(result.doc.frontmatter), body: result.doc.body };
|
|
1000
|
+
chunk += `${JSON.stringify(line)}\n`;
|
|
795
1001
|
});
|
|
796
|
-
|
|
1002
|
+
yield chunk;
|
|
1003
|
+
}
|
|
1004
|
+
yield `${JSON.stringify({ kind: "end", count: heads.length })}\n`;
|
|
1005
|
+
}
|
|
1006
|
+
/** Encode produced lines into a pull-driven byte stream: one enqueue per produced chunk, nothing buffered ahead of the reader. */
|
|
1007
|
+
function ndjsonStream(lines) {
|
|
1008
|
+
const encoder = new TextEncoder();
|
|
1009
|
+
return new ReadableStream({
|
|
1010
|
+
async pull(controller) {
|
|
1011
|
+
const next = await lines.next();
|
|
1012
|
+
if (next.done)
|
|
1013
|
+
controller.close();
|
|
1014
|
+
else
|
|
1015
|
+
controller.enqueue(encoder.encode(next.value));
|
|
1016
|
+
},
|
|
1017
|
+
async cancel() {
|
|
1018
|
+
await lines.return(undefined);
|
|
1019
|
+
},
|
|
1020
|
+
});
|
|
1021
|
+
}
|
|
1022
|
+
/**
|
|
1023
|
+
* `GET /snapshot`: every document as a streamed NDJSON body whose header carries the same
|
|
1024
|
+
* digest `GET /heads` would return for this state, so a bootstrap can start its later heads
|
|
1025
|
+
* checks from it. The heads listing (and so a malformed-document failure) completes before any
|
|
1026
|
+
* byte of the response exists; only the batched body reads stream. Reserved files are not part
|
|
1027
|
+
* of a snapshot.
|
|
1028
|
+
*/
|
|
1029
|
+
async function handleSnapshot(backend) {
|
|
1030
|
+
const heads = await listHeads(backend);
|
|
1031
|
+
const digest = headsDigest(heads);
|
|
1032
|
+
return new Response(ndjsonStream(snapshotLines(backend, heads, digest)), {
|
|
1033
|
+
status: 200,
|
|
1034
|
+
headers: { "content-type": NDJSON_CONTENT_TYPE, ETag: `"${digest}"` },
|
|
1035
|
+
});
|
|
797
1036
|
}
|
|
798
1037
|
async function handleReadReserved(backend, dir, name) {
|
|
799
1038
|
assertSafeReservedDir(dir);
|
|
@@ -903,6 +1142,8 @@ function buildRouter(options) {
|
|
|
903
1142
|
backlinks: caps.backlinks ?? false,
|
|
904
1143
|
blobs: caps.blobs,
|
|
905
1144
|
operations: options.outcomes !== undefined,
|
|
1145
|
+
heads: true,
|
|
1146
|
+
snapshot: true,
|
|
906
1147
|
});
|
|
907
1148
|
}
|
|
908
1149
|
return registeredWireRouter(async (req, { resolved }) => {
|
|
@@ -926,6 +1167,10 @@ function buildRouter(options) {
|
|
|
926
1167
|
return await handleList(backend, resolved.searchParams);
|
|
927
1168
|
case "docs-read-many":
|
|
928
1169
|
return await handleReadMany(backend, req);
|
|
1170
|
+
case "docs-heads":
|
|
1171
|
+
return await handleHeads(backend, req);
|
|
1172
|
+
case "docs-snapshot":
|
|
1173
|
+
return await handleSnapshot(backend);
|
|
929
1174
|
case "doc-versions":
|
|
930
1175
|
return await handleVersions(backend, resolved.resource.id);
|
|
931
1176
|
case "doc-read":
|
package/dist/router.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
|
package/dist/serve.d.ts
CHANGED
|
@@ -48,7 +48,15 @@ export declare class RequestBodyTooLargeError extends Error {
|
|
|
48
48
|
* adapter means the CLI never forks the Request/Response marshaling this module already owns.
|
|
49
49
|
*/
|
|
50
50
|
export declare function requestFromIncomingMessage(req: IncomingMessage, origin: string, options?: RequestAdapterOptions): Promise<Request>;
|
|
51
|
-
/**
|
|
51
|
+
/**
|
|
52
|
+
* Write a Web-standard `Response` back onto a Node `ServerResponse`. EXPORTED for the same
|
|
53
|
+
* reason as {@link requestFromIncomingMessage}.
|
|
54
|
+
*
|
|
55
|
+
* The body is piped, never buffered: a streamed response (the snapshot route) reaches the socket
|
|
56
|
+
* chunk by chunk under backpressure and is never held in memory a second time. A body that fails
|
|
57
|
+
* mid-stream destroys the socket, so the client observes a truncated body rather than a
|
|
58
|
+
* well-formed short one, and this call rejects after the headers have already been sent.
|
|
59
|
+
*/
|
|
52
60
|
export declare function writeResponseToServerResponse(res: ServerResponse, response: Response): Promise<void>;
|
|
53
61
|
/**
|
|
54
62
|
* Start the wire-protocol v0 reference server for `bundle` and resolve once it is
|
package/dist/serve.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAgB,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAgB,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAMpF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,iCAAiC;AACjC,MAAM,WAAW,YAAY;IAC3B,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,8EAA8E;IAC9E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4GAA4G;IAC5G,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kGAAkG;IAClG,QAAQ,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;CACzC;AAED,mDAAmD;AACnD,MAAM,WAAW,YAAY;IAC3B,4BAA4B;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,kFAAkF;IAClF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,6CAA6C;IAC7C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,mGAAmG;IACnG,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEhB,UAAU,EAAE,MAAM;CAK/B;AAuCD;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAC9C,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,OAAO,CAAC,CAalB;AAED;;;;;;;;GAQG;AACH,wBAAsB,6BAA6B,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAW1G;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAuClE"}
|
package/dist/serve.js
CHANGED
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
* implementation for proving the protocol end-to-end, not a production deployment.
|
|
11
11
|
*/
|
|
12
12
|
import { createServer } from "node:http";
|
|
13
|
+
import { Readable } from "node:stream";
|
|
14
|
+
import { pipeline } from "node:stream/promises";
|
|
13
15
|
import { createRouter } from "./legacy-router.js";
|
|
14
16
|
export class RequestBodyTooLargeError extends Error {
|
|
15
17
|
limitBytes;
|
|
@@ -83,15 +85,26 @@ export async function requestFromIncomingMessage(req, origin, options = {}) {
|
|
|
83
85
|
const body = await readBody(req, options.maxBodyBytes);
|
|
84
86
|
return new Request(url, { method: req.method ?? "GET", headers, body });
|
|
85
87
|
}
|
|
86
|
-
/**
|
|
88
|
+
/**
|
|
89
|
+
* Write a Web-standard `Response` back onto a Node `ServerResponse`. EXPORTED for the same
|
|
90
|
+
* reason as {@link requestFromIncomingMessage}.
|
|
91
|
+
*
|
|
92
|
+
* The body is piped, never buffered: a streamed response (the snapshot route) reaches the socket
|
|
93
|
+
* chunk by chunk under backpressure and is never held in memory a second time. A body that fails
|
|
94
|
+
* mid-stream destroys the socket, so the client observes a truncated body rather than a
|
|
95
|
+
* well-formed short one, and this call rejects after the headers have already been sent.
|
|
96
|
+
*/
|
|
87
97
|
export async function writeResponseToServerResponse(res, response) {
|
|
88
98
|
const headers = {};
|
|
89
99
|
response.headers.forEach((value, key) => {
|
|
90
100
|
headers[key] = value;
|
|
91
101
|
});
|
|
92
102
|
res.writeHead(response.status, headers);
|
|
93
|
-
|
|
94
|
-
|
|
103
|
+
if (!response.body) {
|
|
104
|
+
res.end();
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
await pipeline(Readable.fromWeb(response.body), res);
|
|
95
108
|
}
|
|
96
109
|
/**
|
|
97
110
|
* Start the wire-protocol v0 reference server for `bundle` and resolve once it is
|
|
@@ -107,6 +120,13 @@ export function serve(options) {
|
|
|
107
120
|
.then((request) => router(request))
|
|
108
121
|
.then((response) => writeResponseToServerResponse(res, response))
|
|
109
122
|
.catch((err) => {
|
|
123
|
+
// Once headers are on the wire a body failure cannot become a 500 envelope; the
|
|
124
|
+
// severed socket is the client's signal, and a throwing fallback here would only
|
|
125
|
+
// surface as an unhandled rejection.
|
|
126
|
+
if (res.headersSent || res.destroyed) {
|
|
127
|
+
res.destroy();
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
110
130
|
res.writeHead(500, { "content-type": "application/json; charset=utf-8" });
|
|
111
131
|
res.end(JSON.stringify({ error: { code: "RUNTIME", message: err instanceof Error ? err.message : String(err) } }));
|
|
112
132
|
});
|
package/dist/serve.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAA6C,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@superbee/server",
|
|
3
|
-
"version": "0.2.0-pre.
|
|
3
|
+
"version": "0.2.0-pre.11",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Wire-protocol v0 REFERENCE server: a Web-standard fetch(Request)->Response router over the OKF engine (docs/WIRE-PROTOCOL.md), plus a thin node:http bootstrap. Local-first, no auth (loopback-only default). A reference implementation, not a production deployment.",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -40,6 +40,6 @@
|
|
|
40
40
|
"prepublishOnly": "node -e \"console.error('@superbee/server is released by .github/workflows/release-libraries.yml; do not run npm publish here'); process.exit(1)\""
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@superbee/core": "0.2.0-pre.
|
|
43
|
+
"@superbee/core": "0.2.0-pre.11"
|
|
44
44
|
}
|
|
45
45
|
}
|