@superbee/core 0.2.0-pre.3 → 0.2.0-pre.5

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 (68) hide show
  1. package/dist/backend.d.ts +2 -1
  2. package/dist/backend.d.ts.map +1 -1
  3. package/dist/backend.js +34 -32
  4. package/dist/backend.js.map +1 -1
  5. package/dist/bundle.d.ts +2 -1
  6. package/dist/bundle.d.ts.map +1 -1
  7. package/dist/bundle.js +3 -3
  8. package/dist/bundle.js.map +1 -1
  9. package/dist/filesystem-host.d.ts +15 -0
  10. package/dist/filesystem-host.d.ts.map +1 -0
  11. package/dist/filesystem-host.js +20 -0
  12. package/dist/filesystem-host.js.map +1 -0
  13. package/dist/filesystem-identity.d.ts +6 -4
  14. package/dist/filesystem-identity.d.ts.map +1 -1
  15. package/dist/filesystem-identity.js +106 -96
  16. package/dist/filesystem-identity.js.map +1 -1
  17. package/dist/filesystem-lock.d.ts +6 -3
  18. package/dist/filesystem-lock.d.ts.map +1 -1
  19. package/dist/filesystem-lock.js +41 -56
  20. package/dist/filesystem-lock.js.map +1 -1
  21. package/dist/filesystem.d.ts +17 -0
  22. package/dist/filesystem.d.ts.map +1 -0
  23. package/dist/filesystem.js +18 -0
  24. package/dist/filesystem.js.map +1 -0
  25. package/dist/governed-body-write.d.ts +99 -0
  26. package/dist/governed-body-write.d.ts.map +1 -0
  27. package/dist/governed-body-write.js +244 -0
  28. package/dist/governed-body-write.js.map +1 -0
  29. package/dist/host-policy-snapshot.d.ts +9 -0
  30. package/dist/host-policy-snapshot.d.ts.map +1 -0
  31. package/dist/host-policy-snapshot.js +33 -0
  32. package/dist/host-policy-snapshot.js.map +1 -0
  33. package/dist/index.d.ts +12 -4
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +6 -2
  36. package/dist/index.js.map +1 -1
  37. package/dist/indexeddb-backend.d.ts +23 -6
  38. package/dist/indexeddb-backend.d.ts.map +1 -1
  39. package/dist/indexeddb-backend.js +395 -115
  40. package/dist/indexeddb-backend.js.map +1 -1
  41. package/dist/journaled-backend.d.ts +148 -9
  42. package/dist/journaled-backend.d.ts.map +1 -1
  43. package/dist/journaled-backend.js +209 -5
  44. package/dist/journaled-backend.js.map +1 -1
  45. package/dist/remote-backend.d.ts +9 -54
  46. package/dist/remote-backend.d.ts.map +1 -1
  47. package/dist/remote-backend.js +13 -173
  48. package/dist/remote-backend.js.map +1 -1
  49. package/dist/remote-error.d.ts +22 -0
  50. package/dist/remote-error.d.ts.map +1 -0
  51. package/dist/remote-error.js +29 -0
  52. package/dist/remote-error.js.map +1 -0
  53. package/dist/remote-parsers.d.ts +86 -0
  54. package/dist/remote-parsers.d.ts.map +1 -0
  55. package/dist/remote-parsers.js +181 -0
  56. package/dist/remote-parsers.js.map +1 -0
  57. package/dist/remote.d.ts +5 -2
  58. package/dist/remote.d.ts.map +1 -1
  59. package/dist/remote.js +5 -1
  60. package/dist/remote.js.map +1 -1
  61. package/dist/storage.d.ts +1 -1
  62. package/dist/storage.d.ts.map +1 -1
  63. package/dist/storage.js.map +1 -1
  64. package/dist/uncertain-write.d.ts +4 -2
  65. package/dist/uncertain-write.d.ts.map +1 -1
  66. package/dist/uncertain-write.js +6 -3
  67. package/dist/uncertain-write.js.map +1 -1
  68. package/package.json +10 -2
@@ -0,0 +1,244 @@
1
+ /** Immutable delivery evidence for body-only updates whose authority owns document metadata. */
2
+ import { parseMarkdown, normalizeDocumentBodyForStorage } from "./frontmatter.js";
3
+ import { assertSafeConceptId, isReservedFile, pathFromConceptId } from "./paths.js";
4
+ import { parseIsoInstant } from "./verification.js";
5
+ import { isContentVersion, versionOfBytes } from "./versioning.js";
6
+ import { isRequestIdentity, performUncertainWrite } from "./uncertain-write.js";
7
+ export const BODY_DELIVERY_LIMITS = Object.freeze({ labelBytes: 2048, bodyBytes: 64 * 1024, envelopeBytes: 2 * 1024 * 1024 });
8
+ /** Complete journal reconciliation has a separate bound from each delivery envelope. */
9
+ export const BODY_RECONCILIATION_BYTES = 16 * 1024 * 1024;
10
+ function fail(message) { throw new Error(`Invalid body delivery: ${message}`); }
11
+ function record(value, keys, optional = []) {
12
+ if (!value || typeof value !== "object" || Array.isArray(value) ||
13
+ ![Object.prototype, null].includes(Object.getPrototypeOf(value)))
14
+ fail("expected a plain record");
15
+ const descriptors = Object.getOwnPropertyDescriptors(value);
16
+ if (Reflect.ownKeys(value).some(key => typeof key !== "string" || !keys.includes(key) && !optional.includes(key)) ||
17
+ Object.values(descriptors).some(d => !d.enumerable || !("value" in d)) || keys.some(key => !Object.hasOwn(value, key)))
18
+ fail("unexpected or missing fields");
19
+ return value;
20
+ }
21
+ function string(value, max = BODY_DELIVERY_LIMITS.labelBytes, nonempty = true) {
22
+ if (typeof value !== "string" || nonempty && !value.trim() || new TextEncoder().encode(value).length > max)
23
+ fail("invalid string or size limit");
24
+ return value;
25
+ }
26
+ function version(value) { if (!isContentVersion(value))
27
+ fail("invalid version"); return value; }
28
+ function request(value) { const id = string(value); if (!isRequestIdentity(id))
29
+ fail("invalid request identity"); return id; }
30
+ function timestamp(value) { const text = string(value); if (parseIsoInstant(text) === null)
31
+ fail("invalid timestamp"); return text; }
32
+ function integer(value) { if (typeof value !== "number" || !Number.isSafeInteger(value) || value < 0)
33
+ fail("invalid count"); return value; }
34
+ function target(value) {
35
+ const id = string(value);
36
+ assertSafeConceptId(id);
37
+ if (isReservedFile(pathFromConceptId(id)))
38
+ fail("reserved target");
39
+ return id;
40
+ }
41
+ function bounded(value) { string(JSON.stringify(value), BODY_DELIVERY_LIMITS.envelopeBytes); return value; }
42
+ function bodyContent(content, body, id, okfVersion) {
43
+ const raw = string(content, BODY_DELIVERY_LIMITS.envelopeBytes, false);
44
+ const parsed = parseMarkdown(raw, id, { okfVersion });
45
+ if (typeof parsed.frontmatter.type !== "string" || !parsed.frontmatter.type.trim())
46
+ fail("concept type required");
47
+ if (normalizeDocumentBodyForStorage(parsed.body) !== normalizeDocumentBodyForStorage(body))
48
+ fail("content body differs from operation");
49
+ return raw;
50
+ }
51
+ /** Capture a serialized envelope without changing its request identity or original history. */
52
+ export function validatePreparedBodyDelivery(value) {
53
+ const raw = record(value, ["schema", "scope", "requestId", "target", "okfVersion", "operation", "expectedVersion", "local", "content", "createdAt"], ["predecessor"]);
54
+ if (raw.schema !== 1 || raw.okfVersion !== "0.1" && raw.okfVersion !== "0.2")
55
+ fail("unsupported schema or edition");
56
+ const op = record(raw.operation, ["kind", "body"]);
57
+ if (op.kind !== "document.body.update")
58
+ fail("unsupported operation");
59
+ const operation = Object.freeze({ kind: "document.body.update", body: string(op.body, BODY_DELIVERY_LIMITS.bodyBytes, false) });
60
+ const id = target(raw.target);
61
+ const content = bodyContent(raw.content, operation.body, id, raw.okfVersion);
62
+ const local = version(raw.local);
63
+ if (versionOfBytes(content) !== local)
64
+ fail("local content hash mismatch");
65
+ let predecessor;
66
+ if (Object.hasOwn(raw, "predecessor")) {
67
+ const p = record(raw.predecessor, ["requestId", "acknowledgedVersion"]);
68
+ predecessor = Object.freeze({ requestId: request(p.requestId), acknowledgedVersion: version(p.acknowledgedVersion) });
69
+ if (predecessor.requestId === raw.requestId || predecessor.acknowledgedVersion !== raw.expectedVersion)
70
+ fail("invalid predecessor");
71
+ }
72
+ return Object.freeze(bounded({ schema: 1, scope: string(raw.scope), requestId: request(raw.requestId), target: id,
73
+ okfVersion: raw.okfVersion, operation, expectedVersion: version(raw.expectedVersion), local, content,
74
+ createdAt: timestamp(raw.createdAt), ...(predecessor ? { predecessor } : {}) }));
75
+ }
76
+ /** Successors derive their premise only from a fully bound predecessor receipt. */
77
+ export function prepareBodyDelivery(input, premise) {
78
+ const fields = record(input, ["scope", "requestId", "target", "okfVersion", "operation", "local", "content", "createdAt"]);
79
+ if (Object.hasOwn(premise, "expectedVersion")) {
80
+ const initial = record(premise, ["expectedVersion"]);
81
+ return validatePreparedBodyDelivery({ ...fields, schema: 1, expectedVersion: initial.expectedVersion });
82
+ }
83
+ const prior = record(premise, ["prepared", "receipt"]);
84
+ const prepared = validatePreparedBodyDelivery(prior.prepared);
85
+ const receipt = validateBodyReceipt(prepared, prior.receipt);
86
+ if (fields.scope !== prepared.scope || fields.target !== prepared.target || fields.okfVersion !== prepared.okfVersion || fields.requestId === prepared.requestId)
87
+ fail("successor identity mismatch");
88
+ return validatePreparedBodyDelivery({ ...fields, schema: 1, expectedVersion: receipt.version,
89
+ predecessor: { requestId: prepared.requestId, acknowledgedVersion: receipt.version } });
90
+ }
91
+ export function assertSameBodyDelivery(recorded, candidate) {
92
+ if (JSON.stringify(validatePreparedBodyDelivery(recorded)) !== JSON.stringify(validatePreparedBodyDelivery(candidate)))
93
+ fail("request identity reused with different input");
94
+ }
95
+ /** Content/version association is asserted by the trusted authority, not inferred from a later head. */
96
+ export function validateBodyReceipt(prepared, value) {
97
+ const p = validatePreparedBodyDelivery(prepared);
98
+ const raw = record(value, ["scope", "requestId", "target", "expectedVersion", "body", "version", "content"]);
99
+ if (raw.scope !== p.scope || raw.requestId !== p.requestId || raw.target !== p.target ||
100
+ raw.expectedVersion !== p.expectedVersion || raw.body !== p.operation.body)
101
+ fail("receipt binding mismatch");
102
+ return Object.freeze(bounded({ scope: p.scope, requestId: p.requestId, target: p.target, expectedVersion: p.expectedVersion,
103
+ body: p.operation.body, version: version(raw.version), content: bodyContent(raw.content, p.operation.body, p.target, p.okfVersion) }));
104
+ }
105
+ function captureOutcome(prepared, value) {
106
+ try {
107
+ if (!value || typeof value !== "object")
108
+ fail("invalid outcome");
109
+ switch (value.kind) {
110
+ case "committed": {
111
+ const raw = record(value, ["kind", "receipt"]);
112
+ const receipt = validateBodyReceipt(prepared, raw.receipt);
113
+ return Object.freeze({ kind: "committed", version: receipt.version, receipt });
114
+ }
115
+ case "conflict": {
116
+ const raw = record(value, ["kind", "actual"]);
117
+ return { kind: "conflict", actual: raw.actual === null ? null : version(raw.actual) };
118
+ }
119
+ case "refused": {
120
+ const raw = record(value, ["kind", "code", "message"]);
121
+ return { kind: "refused", code: string(raw.code), message: string(raw.message) };
122
+ }
123
+ case "unknown":
124
+ record(value, ["kind"]);
125
+ return { kind: "unknown" };
126
+ default: fail("unknown outcome kind");
127
+ }
128
+ }
129
+ catch {
130
+ return { kind: "unknown", diagnostic: "Invalid or incomplete delivery evidence" };
131
+ }
132
+ }
133
+ /** Persist the envelope and attempted claim atomically BEFORE calling; this function does no persistence. */
134
+ export async function performBodyDelivery(transport, prepared, attempts, options = {}) {
135
+ const p = validatePreparedBodyDelivery(prepared);
136
+ integer(attempts);
137
+ const raw = record(options, [], ["deadlineMs", "maxLookups", "lookupDelayMs", "maxSubmissions", "sleep"]);
138
+ for (const key of ["deadlineMs", "maxLookups", "lookupDelayMs", "maxSubmissions"])
139
+ if (Object.hasOwn(raw, key))
140
+ integer(raw[key]);
141
+ if (raw.sleep !== undefined && typeof raw.sleep !== "function")
142
+ fail("invalid timer");
143
+ if (attempts > Number.MAX_SAFE_INTEGER - Math.max(1, options.maxSubmissions ?? 2))
144
+ fail("attempt counter overflow");
145
+ const result = await performUncertainWrite({
146
+ submit: async (_intent, signal) => captureOutcome(p, await transport.submit(p, signal)),
147
+ lookup: async () => { const value = await transport.lookup(p); return value === null ? null : captureOutcome(p, value); },
148
+ }, { requestId: p.requestId, kind: p.operation.kind, target: p.target, base: p.expectedVersion, local: p.local,
149
+ content: p.content, createdAt: p.createdAt, attempts, state: "pending" }, { ...options, settlement: "recorded-only" });
150
+ // Evidence travels on the chosen outcome, so a deadline-late response cannot replace it.
151
+ const chosen = result.outcome;
152
+ const outcome = chosen.kind === "committed"
153
+ ? chosen.receipt && chosen.receipt.version === chosen.version ? { kind: "committed", receipt: chosen.receipt } : { kind: "unknown" }
154
+ : chosen.kind === "unknown" ? { kind: "unknown" } : chosen;
155
+ return Object.freeze({ prepared: p, attempts: result.intent.attempts, state: outcome.kind === "committed" ? "acknowledged" : outcome.kind,
156
+ lookups: result.lookups, outcome: Object.freeze(outcome), ...(chosen.diagnostic ? { diagnostic: chosen.diagnostic } : {}) });
157
+ }
158
+ function freezeDeep(value) {
159
+ if (value && typeof value === "object") {
160
+ for (const child of Object.values(value))
161
+ freezeDeep(child);
162
+ Object.freeze(value);
163
+ }
164
+ return value;
165
+ }
166
+ function captureIntent(value) {
167
+ const row = record(value, ["requestId", "kind", "target", "base", "local", "content", "createdAt", "attempts", "state", "sequence", "updatedAt", "baseContent"], ["after", "acknowledgedVersion", "remote", "refusal", "finding"]);
168
+ request(row.requestId);
169
+ string(row.kind);
170
+ target(row.target);
171
+ version(row.local);
172
+ if (row.base !== null)
173
+ version(row.base);
174
+ string(row.content, BODY_DELIVERY_LIMITS.envelopeBytes, false);
175
+ if (row.baseContent !== null)
176
+ string(row.baseContent, BODY_DELIVERY_LIMITS.envelopeBytes, false);
177
+ timestamp(row.createdAt);
178
+ timestamp(row.updatedAt);
179
+ integer(row.attempts);
180
+ integer(row.sequence);
181
+ if (!["pending", "in_flight", "acknowledged", "conflict", "refused", "unknown"].includes(row.state))
182
+ fail("invalid journal state");
183
+ if (Object.hasOwn(row, "after"))
184
+ request(row.after);
185
+ if (Object.hasOwn(row, "acknowledgedVersion"))
186
+ version(row.acknowledgedVersion);
187
+ if (Object.hasOwn(row, "finding"))
188
+ string(row.finding);
189
+ if (Object.hasOwn(row, "remote")) {
190
+ const remote = record(row.remote, ["version", "content"]);
191
+ if (remote.version !== null)
192
+ version(remote.version);
193
+ if (remote.content !== null)
194
+ string(remote.content, BODY_DELIVERY_LIMITS.envelopeBytes, false);
195
+ }
196
+ if (Object.hasOwn(row, "refusal")) {
197
+ const refusal = record(row.refusal, ["code", "message"]);
198
+ string(refusal.code);
199
+ string(refusal.message);
200
+ }
201
+ return JSON.parse(JSON.stringify(row));
202
+ }
203
+ /** Pure proposal only. Replacement requires an atomic full-journal, document AND shared-base CAS. */
204
+ export function reconcileBodyReceipt(prepared, receipt, snapshot) {
205
+ const p = validatePreparedBodyDelivery(prepared), r = validateBodyReceipt(p, receipt);
206
+ record(snapshot, ["version", "intents", "shared"]);
207
+ if (snapshot.version !== null)
208
+ version(snapshot.version);
209
+ if (!Array.isArray(snapshot.intents))
210
+ fail("invalid journal snapshot");
211
+ if (Object.keys(snapshot.intents).length !== snapshot.intents.length)
212
+ fail("invalid journal list");
213
+ let shared = null;
214
+ if (snapshot.shared !== null) {
215
+ const raw = record(snapshot.shared, ["version", "content"]);
216
+ const content = string(raw.content, BODY_DELIVERY_LIMITS.envelopeBytes, false);
217
+ const parsed = parseMarkdown(content, p.target, { okfVersion: p.okfVersion });
218
+ if (typeof parsed.frontmatter.type !== "string" || !parsed.frontmatter.type.trim())
219
+ fail("shared concept type required");
220
+ shared = { version: version(raw.version), content };
221
+ }
222
+ // Shared refresh can advance independently of the document and journal; compare all three.
223
+ const expected = { version: snapshot.version, intents: snapshot.intents.map(captureIntent), shared };
224
+ string(JSON.stringify(expected), BODY_RECONCILIATION_BYTES);
225
+ const ids = new Set(), sequences = new Set();
226
+ for (const row of expected.intents) {
227
+ request(row.requestId);
228
+ integer(row.sequence);
229
+ if (ids.has(row.requestId) || sequences.has(row.sequence))
230
+ fail("ambiguous journal snapshot");
231
+ ids.add(row.requestId);
232
+ sequences.add(row.sequence);
233
+ }
234
+ const anchor = expected.intents.find(row => row.requestId === p.requestId);
235
+ const boundAnchor = anchor?.target === p.target && anchor.local === p.local && anchor.content === p.content && anchor.createdAt === p.createdAt;
236
+ const newer = anchor ? expected.intents.filter(row => row.target === p.target && row.sequence > anchor.sequence) : [];
237
+ const compatible = boundAnchor && !newer.some(row => row.state === "acknowledged");
238
+ const alreadyShared = shared?.version === r.version && shared.content === r.content;
239
+ const advanceShared = compatible && shared?.version === p.expectedVersion && shared.version !== r.version;
240
+ const replace = compatible && (advanceShared || alreadyShared) && expected.version === p.local && newer.length === 0;
241
+ return freezeDeep({ action: replace ? "replace-local-under-CAS" : "preserve-local", receipt: r,
242
+ shared: advanceShared ? { action: "replace-shared-under-CAS", version: r.version, content: r.content } : { action: "preserve-shared" }, expected });
243
+ }
244
+ //# sourceMappingURL=governed-body-write.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"governed-body-write.js","sourceRoot":"","sources":["../src/governed-body-write.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Capture structural host policy: public fields, nested records/arrays, and prototype methods.
3
+ * Methods compose through the captured receiver, never through the caller's mutable object.
4
+ * Getters are evaluated once. Callbacks may still observe external OS facts. Policies must not
5
+ * require opaque internal slots/private fields or functions pre-bound to a mutable receiver;
6
+ * those cannot be reconstructed from a structural interface. Caller objects are never frozen.
7
+ */
8
+ export declare function snapshotHostPolicy<T extends object>(input: T, seen?: WeakMap<object, object>): T;
9
+ //# sourceMappingURL=host-policy-snapshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-policy-snapshot.d.ts","sourceRoot":"","sources":["../src/host-policy-snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,0BAAgC,GAAG,CAAC,CAuBtG"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Capture structural host policy: public fields, nested records/arrays, and prototype methods.
3
+ * Methods compose through the captured receiver, never through the caller's mutable object.
4
+ * Getters are evaluated once. Callbacks may still observe external OS facts. Policies must not
5
+ * require opaque internal slots/private fields or functions pre-bound to a mutable receiver;
6
+ * those cannot be reconstructed from a structural interface. Caller objects are never frozen.
7
+ */
8
+ export function snapshotHostPolicy(input, seen = new WeakMap()) {
9
+ const existing = seen.get(input);
10
+ if (existing)
11
+ return existing;
12
+ const result = (Array.isArray(input) ? [] : {});
13
+ seen.set(input, result);
14
+ const keys = new Set();
15
+ for (let owner = input; owner && owner !== Object.prototype && owner !== Array.prototype; owner = Object.getPrototypeOf(owner)) {
16
+ for (const key of Reflect.ownKeys(owner)) {
17
+ if (key !== "constructor" && !(Array.isArray(input) && key === "length"))
18
+ keys.add(key);
19
+ }
20
+ }
21
+ for (const key of keys) {
22
+ const value = input[key];
23
+ Object.defineProperty(result, key, {
24
+ value: typeof value === "function" ? value.bind(result)
25
+ : value && typeof value === "object" ? snapshotHostPolicy(value, seen) : value,
26
+ enumerable: true,
27
+ });
28
+ }
29
+ if (Array.isArray(input))
30
+ result.length = input.length;
31
+ return Object.freeze(result);
32
+ }
33
+ //# sourceMappingURL=host-policy-snapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-policy-snapshot.js","sourceRoot":"","sources":["../src/host-policy-snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAmB,KAAQ,EAAE,OAAO,IAAI,OAAO,EAAkB;IACjG,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,QAAQ;QAAE,OAAO,QAAa,CAAC;IACnC,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAiC,CAAC;IAChF,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACxB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAe,CAAC;IACpC,KAAK,IAAI,KAAK,GAAkB,KAAK,EACnC,KAAK,IAAI,KAAK,KAAK,MAAM,CAAC,SAAS,IAAI,KAAK,KAAK,KAAK,CAAC,SAAS,EAChE,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QACvC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,IAAI,GAAG,KAAK,aAAa,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,QAAQ,CAAC;gBAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,GAAI,KAAsC,CAAC,GAAG,CAAC,CAAC;QAC3D,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE;YACjC,KAAK,EAAE,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;gBACrD,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK;YAChF,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAG,MAA+B,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IACjF,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAM,CAAC;AACpC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -34,13 +34,19 @@ export type { OkfActorSuggestion } from "./okf-actor.js";
34
34
  export { TRUST_TIERS, TRUST_TIER_FIELD, appendVerificationEvent, latestVerifiedAt, parseIsoInstant, storedInstant, trustTier, trustTierCounts, verificationEvents, } from "./verification.js";
35
35
  export type { AppendVerificationOptions, TrustTier, TrustTierCounts, VerificationEvent } from "./verification.js";
36
36
  export { FilesystemBackend } from "./backend.js";
37
+ export { createFilesystemRuntime } from "./filesystem.js";
38
+ export type { FilesystemRuntime } from "./filesystem.js";
39
+ export type { FilesystemBackendOptions, FilesystemHostPolicy } from "./filesystem-host.js";
37
40
  export { MemoryBackend } from "./memory-backend.js";
38
- export { IntentHoldConflict, IntentStateConflict } from "./journaled-backend.js";
39
- export type { IntentPatch, IntentRecord, JournaledBackend, JournaledDeleteOptions, JournaledDeleteResult, JournaledReadResult, JournaledWriteOptions, MetaRecord, NewIntentRecord, } from "./journaled-backend.js";
41
+ export { IntentHoldConflict, IntentStateConflict, JournalGuardConflict, captureJournalGuard } from "./journaled-backend.js";
42
+ export type { IntentPatch, IntentRecord, IntentUpdateOptions, JournalGuard, MetaExpectation, MetaWriteOptions, JournaledBackend, JournaledDeleteOptions, JournaledDeleteResult, JournaledReadResult, JournaledWriteOptions, MetaRecord, NewIntentRecord, } from "./journaled-backend.js";
40
43
  export { withFilesystemMutationLock, FilesystemMutationLockError, filesystemMutationLockPath, } from "./filesystem-lock.js";
41
44
  export type { FilesystemMutationLockOptions, FilesystemMutationLockOwner, } from "./filesystem-lock.js";
42
- export { RemoteBackend, RemoteError } from "./remote-backend.js";
43
- export type { FetchLike, HeadsOptions, HeadsResult, RemoteBackendOptions, RemoteSnapshot, SnapshotDocument, SnapshotHeader, WireCapabilities, } from "./remote-backend.js";
45
+ export { RemoteBackend } from "./remote-backend.js";
46
+ export type { FetchLike, HeadsOptions, RemoteBackendOptions, WireCapabilities } from "./remote-backend.js";
47
+ export { RemoteError } from "./remote-error.js";
48
+ export { SNAPSHOT_DIGEST_MISMATCH, SNAPSHOT_TRUNCATED, parseHeadsAnswer, readSnapshotStream } from "./remote-parsers.js";
49
+ export type { HeadsResult, ReadSnapshotStreamOptions, RemoteSnapshot, SnapshotDocument, SnapshotHeader } from "./remote-parsers.js";
44
50
  export { headsDigest, isHeadsDigest, sortHeads } from "./heads-digest.js";
45
51
  export type { DocumentHead } from "./heads-digest.js";
46
52
  export { createRemoteOperationTransport, openRemoteOperationTransport, OperationsUnsupportedError } from "./remote-operations.js";
@@ -80,4 +86,6 @@ export { isOkfLifecycleStatus, OKF_LIFECYCLE_STATUSES } from "./okf-lifecycle.js
80
86
  export { prepareDocumentFieldAction, isStandardDocumentSetField, FieldActionError, type FieldActionErrorDetails, type SourceCandidateIdentity, type FieldAction, type SourceEntry, type SourceSelector, type FieldActionScope, type FieldActionContext, type PreparedDocumentFieldAction } from "./document-field-actions.js";
81
87
  export { prepareDocumentMutationCandidate, type PrepareDocumentMutationOptions, type DocumentMutationInput } from "./document-mutation.js";
82
88
  export { KindFieldMutationConflict, prepareKindFieldMutation, type KindFieldMutation } from "./kind-field-mutation.js";
89
+ export { BODY_DELIVERY_LIMITS, prepareBodyDelivery, validatePreparedBodyDelivery, assertSameBodyDelivery, validateBodyReceipt, performBodyDelivery, reconcileBodyReceipt, } from "./governed-body-write.js";
90
+ export type { BodyUpdateOperation, PreparedBodyDelivery, CommittedBodyReceipt, BodyDeliveryOutcome, BodyDeliveryTransport, BodyDeliveryResult, BodyDeliveryInput, BodyDeliveryPremise, BodyLocalSnapshot, BodyReconciliationProposal, } from "./governed-body-write.js";
83
91
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -50,11 +50,12 @@ export { TRUST_TIERS, TRUST_TIER_FIELD, appendVerificationEvent, latestVerifiedA
50
50
  // `MemoryBackend` implements the SAME contract for the hard case (real version chain,
51
51
  // enforced compare-and-swap, per-write actor) and proves the engine is backend-neutral.
52
52
  export { FilesystemBackend } from "./backend.js";
53
+ export { createFilesystemRuntime } from "./filesystem.js";
53
54
  export { MemoryBackend } from "./memory-backend.js";
54
55
  // The journaled-backend seam (`journaled-backend.ts`): what an adapter adds to `StorageBackend`
55
56
  // so a browser-local working copy's sync runtime can journal intents through it. The IndexedDB
56
57
  // adapter implements it behind the `indexeddb-backend` subpath.
57
- export { IntentHoldConflict, IntentStateConflict } from "./journaled-backend.js";
58
+ export { IntentHoldConflict, IntentStateConflict, JournalGuardConflict, captureJournalGuard } from "./journaled-backend.js";
58
59
  // Internal-workspace filesystem arbitration authority. CLI create-only policy reuses this
59
60
  // external same-user lock rather than defining a second lock protocol or writing claims into a
60
61
  // portable bundle tree.
@@ -63,7 +64,9 @@ export { withFilesystemMutationLock, FilesystemMutationLockError, filesystemMuta
63
64
  // (docs/WIRE-PROTOCOL.md) — a FUTURE plug-in adapter, proven here against the
64
65
  // in-repo reference server (`@superbee/server`) by the tri-backend contract
65
66
  // tests. No CF/D1/production deployment is implied by its presence.
66
- export { RemoteBackend, RemoteError } from "./remote-backend.js";
67
+ export { RemoteBackend } from "./remote-backend.js";
68
+ export { RemoteError } from "./remote-error.js";
69
+ export { SNAPSHOT_DIGEST_MISMATCH, SNAPSHOT_TRUNCATED, parseHeadsAnswer, readSnapshotStream } from "./remote-parsers.js";
67
70
  export { headsDigest, isHeadsDigest, sortHeads } from "./heads-digest.js";
68
71
  // The uncertain-write transport over `RemoteBackend`: identified document writes plus outcome
69
72
  // lookup, the client side of the wire's request identity.
@@ -124,4 +127,5 @@ export { isOkfLifecycleStatus, OKF_LIFECYCLE_STATUSES } from "./okf-lifecycle.js
124
127
  export { prepareDocumentFieldAction, isStandardDocumentSetField, FieldActionError } from "./document-field-actions.js";
125
128
  export { prepareDocumentMutationCandidate } from "./document-mutation.js";
126
129
  export { KindFieldMutationConflict, prepareKindFieldMutation } from "./kind-field-mutation.js";
130
+ export { BODY_DELIVERY_LIMITS, prepareBodyDelivery, validatePreparedBodyDelivery, assertSameBodyDelivery, validateBodyReceipt, performBodyDelivery, reconcileBodyReceipt, } from "./governed-body-write.js";
127
131
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -29,11 +29,11 @@
29
29
  * This module imports no Node builtin so it bundles for the browser; the IndexedDB factory is
30
30
  * injectable so a Node test can supply an in-memory implementation without touching globals.
31
31
  */
32
- import { type IntentPatch, type IntentRecord, type JournaledBackend, type JournaledDeleteOptions, type JournaledDeleteResult, type JournaledReadResult, type JournaledWriteOptions, type MetaRecord } from "./journaled-backend.js";
32
+ import { type IntentPatch, type IntentRecord, type IntentUpdateOptions, type MetaWriteOptions, type JournaledBackend, type JournaledDeleteOptions, type JournaledDeleteResult, type JournaledHead, type JournaledHeadsOptions, type JournaledReadResult, type JournaledWriteOptions } from "./journaled-backend.js";
33
33
  import type { OperationState } from "./uncertain-write.js";
34
34
  import type { BlobKey, ConceptId, DeleteOptions, OkfDocument, ReadBlobResult, ReadResult, ReservedFilename, ReservedReadResult, StorageCapabilities, Version, VersionInfo, WriteOptions } from "./types.js";
35
35
  export { IntentHoldConflict, IntentStateConflict } from "./journaled-backend.js";
36
- export type { IntentPatch, IntentRecord, JournaledDeleteOptions, JournaledDeleteResult, JournaledReadResult, JournaledWriteOptions, MetaRecord, NewIntentRecord } from "./journaled-backend.js";
36
+ export type { IntentPatch, IntentRecord, JournaledDeleteOptions, JournaledDeleteResult, JournaledHead, JournaledHeadsOptions, JournaledReadResult, JournaledWriteOptions, MetaRecord, NewIntentRecord } from "./journaled-backend.js";
37
37
  type Handler = ((this: any, event: any) => any) | null;
38
38
  export interface IdbRequestLike<T = unknown> {
39
39
  readonly result: T;
@@ -46,6 +46,11 @@ export interface IdbOpenRequestLike extends IdbRequestLike<IdbDatabaseLike> {
46
46
  onblocked: Handler;
47
47
  readonly transaction: IdbTransactionLike | null;
48
48
  }
49
+ /** A value cursor over a store, in key order; `continue` re-fires the opening request's `onsuccess`, with `null` once the store is walked. */
50
+ export interface IdbCursorLike {
51
+ readonly value: unknown;
52
+ continue(): void;
53
+ }
49
54
  export interface IdbObjectStoreLike {
50
55
  get(key: string): IdbRequestLike;
51
56
  getAll(): IdbRequestLike<unknown[]>;
@@ -53,6 +58,7 @@ export interface IdbObjectStoreLike {
53
58
  count(key: string): IdbRequestLike<number>;
54
59
  put(value: unknown): IdbRequestLike;
55
60
  delete(key: string): IdbRequestLike;
61
+ openCursor(): IdbRequestLike<IdbCursorLike | null>;
56
62
  }
57
63
  export interface IdbTransactionLike {
58
64
  objectStore(name: string): IdbObjectStoreLike;
@@ -97,6 +103,7 @@ export declare const INDEXEDDB_SCHEMA_VERSION = 1;
97
103
  */
98
104
  export declare class IndexedDbBackend implements JournaledBackend {
99
105
  #private;
106
+ readonly journalSnapshotCas: true;
100
107
  /**
101
108
  * What a resolved write promises: the IndexedDB transaction reported `complete`. Whether the
102
109
  * committed pages survive power loss is the browser's and the operating system's decision.
@@ -153,6 +160,18 @@ export declare class IndexedDbBackend implements JournaledBackend {
153
160
  readWithJournal(id: ConceptId, options?: {
154
161
  meta?: readonly string[];
155
162
  }): Promise<JournaledReadResult>;
163
+ /**
164
+ * Every document's head with its intents and the meta rows named for it, from ONE readonly
165
+ * transaction over documents, reserved, intents, and meta: {@link readWithJournal} over the
166
+ * whole store. The root index, the journal (grouped by target, since it has no index by
167
+ * target) and the `shared` keys are read once, then the documents are walked by cursor, each
168
+ * row's own keys read with it, so a caller's `project` sees one record at a time and the
169
+ * listing holds only what it keeps plus the journal it read up front, intents' content
170
+ * included. The frontmatter is the one `readWithJournal` would parse
171
+ * for the record, under the edition the root index declared at this moment; the body is
172
+ * never parsed. Rows come back in `list` order.
173
+ */
174
+ readHeads<T = JournaledHead>(options?: JournaledHeadsOptions<T>): Promise<T[]>;
156
175
  /** Intents in local commit order, optionally restricted to one or more states. */
157
176
  listIntents(state?: OperationState | readonly OperationState[]): Promise<IntentRecord[]>;
158
177
  readIntent(requestId: string): Promise<IntentRecord | undefined>;
@@ -161,11 +180,9 @@ export declare class IndexedDbBackend implements JournaledBackend {
161
180
  * `expectedState`, together with any meta rows, in one transaction. A different state or a
162
181
  * missing record rejects with {@link IntentStateConflict} and writes nothing.
163
182
  */
164
- updateIntent(requestId: string, expectedState: OperationState, patch: IntentPatch, options?: {
165
- meta?: MetaRecord[];
166
- }): Promise<IntentRecord>;
183
+ updateIntent(requestId: string, expectedState: OperationState, patch: IntentPatch, options?: IntentUpdateOptions): Promise<IntentRecord>;
167
184
  readMeta<T = unknown>(key: string): Promise<T | undefined>;
168
- writeMeta(key: string, value: unknown): Promise<void>;
185
+ writeMeta(key: string, value: unknown, options?: MetaWriteOptions): Promise<void>;
169
186
  readBlob(key: BlobKey): Promise<ReadBlobResult | null>;
170
187
  writeBlob(key: BlobKey, bytes: Uint8Array, contentType?: string, options?: WriteOptions): Promise<Version>;
171
188
  deleteBlob(key: BlobKey, options?: DeleteOptions): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"indexeddb-backend.d.ts","sourceRoot":"","sources":["../src/indexeddb-backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indexeddb-backend.d.ts","sourceRoot":"","sources":["../src/indexeddb-backend.ts"],"names":[],"mappings":"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"}