@superbee/core 0.1.6 → 0.2.0-pre.10
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/README.md +127 -0
- package/dist/artifact-contract.d.ts +90 -0
- package/dist/artifact-contract.d.ts.map +1 -0
- package/dist/artifact-contract.js +205 -0
- package/dist/artifact-contract.js.map +1 -0
- package/dist/backend.d.ts +16 -1
- package/dist/backend.d.ts.map +1 -1
- package/dist/backend.js +112 -47
- package/dist/backend.js.map +1 -1
- package/dist/bundle-ops.d.ts +42 -0
- package/dist/bundle-ops.d.ts.map +1 -0
- package/dist/bundle-ops.js +88 -0
- package/dist/bundle-ops.js.map +1 -0
- package/dist/bundle.d.ts +10 -28
- package/dist/bundle.d.ts.map +1 -1
- package/dist/bundle.js +12 -69
- package/dist/bundle.js.map +1 -1
- package/dist/document-codec.d.ts +6 -1
- package/dist/document-codec.d.ts.map +1 -1
- package/dist/document-codec.js +8 -4
- package/dist/document-codec.js.map +1 -1
- package/dist/document-field-actions.d.ts +107 -0
- package/dist/document-field-actions.d.ts.map +1 -0
- package/dist/document-field-actions.js +302 -0
- package/dist/document-field-actions.js.map +1 -0
- package/dist/document-mutation.d.ts +61 -3
- package/dist/document-mutation.d.ts.map +1 -1
- package/dist/document-mutation.js +116 -25
- package/dist/document-mutation.js.map +1 -1
- package/dist/document-write-policy.d.ts +0 -1
- package/dist/document-write-policy.d.ts.map +1 -1
- package/dist/document-write-policy.js +7 -4
- package/dist/document-write-policy.js.map +1 -1
- package/dist/engine.d.ts +3 -1
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +6 -4
- package/dist/engine.js.map +1 -1
- package/dist/file-journaled-backend-internal.d.ts +19 -0
- package/dist/file-journaled-backend-internal.d.ts.map +1 -0
- package/dist/file-journaled-backend-internal.js +10 -0
- package/dist/file-journaled-backend-internal.js.map +1 -0
- package/dist/file-journaled-backend.d.ts +162 -0
- package/dist/file-journaled-backend.d.ts.map +1 -0
- package/dist/file-journaled-backend.js +1113 -0
- package/dist/file-journaled-backend.js.map +1 -0
- package/dist/filesystem-host.d.ts +15 -0
- package/dist/filesystem-host.d.ts.map +1 -0
- package/dist/filesystem-host.js +20 -0
- package/dist/filesystem-host.js.map +1 -0
- package/dist/filesystem-identity.d.ts +86 -4
- package/dist/filesystem-identity.d.ts.map +1 -1
- package/dist/filesystem-identity.js +338 -102
- package/dist/filesystem-identity.js.map +1 -1
- package/dist/filesystem-lock.d.ts +16 -3
- package/dist/filesystem-lock.d.ts.map +1 -1
- package/dist/filesystem-lock.js +323 -77
- package/dist/filesystem-lock.js.map +1 -1
- package/dist/filesystem-push-role.d.ts +77 -0
- package/dist/filesystem-push-role.d.ts.map +1 -0
- package/dist/filesystem-push-role.js +165 -0
- package/dist/filesystem-push-role.js.map +1 -0
- package/dist/filesystem.d.ts +17 -0
- package/dist/filesystem.d.ts.map +1 -0
- package/dist/filesystem.js +18 -0
- package/dist/filesystem.js.map +1 -0
- package/dist/freshness.d.ts +10 -7
- package/dist/freshness.d.ts.map +1 -1
- package/dist/freshness.js +14 -11
- package/dist/freshness.js.map +1 -1
- package/dist/frontmatter-contract.d.ts +2 -2
- package/dist/frontmatter-contract.js +2 -2
- package/dist/frontmatter.d.ts +11 -1
- package/dist/frontmatter.d.ts.map +1 -1
- package/dist/frontmatter.js +20 -7
- package/dist/frontmatter.js.map +1 -1
- package/dist/governed-body-write.d.ts +106 -0
- package/dist/governed-body-write.d.ts.map +1 -0
- package/dist/governed-body-write.js +251 -0
- package/dist/governed-body-write.js.map +1 -0
- package/dist/heads-digest.d.ts +32 -0
- package/dist/heads-digest.d.ts.map +1 -0
- package/dist/heads-digest.js +37 -0
- package/dist/heads-digest.js.map +1 -0
- package/dist/host-policy-snapshot.d.ts +9 -0
- package/dist/host-policy-snapshot.d.ts.map +1 -0
- package/dist/host-policy-snapshot.js +33 -0
- package/dist/host-policy-snapshot.js.map +1 -0
- package/dist/host-text.d.ts +31 -0
- package/dist/host-text.d.ts.map +1 -0
- package/dist/host-text.js +77 -0
- package/dist/host-text.js.map +1 -0
- package/dist/hosted-transport/answer-rows.d.ts +216 -0
- package/dist/hosted-transport/answer-rows.d.ts.map +1 -0
- package/dist/hosted-transport/answer-rows.js +396 -0
- package/dist/hosted-transport/answer-rows.js.map +1 -0
- package/dist/hosted-transport/carrier.d.ts +142 -0
- package/dist/hosted-transport/carrier.d.ts.map +1 -0
- package/dist/hosted-transport/carrier.js +241 -0
- package/dist/hosted-transport/carrier.js.map +1 -0
- package/dist/hosted-transport/history-pages.d.ts +55 -0
- package/dist/hosted-transport/history-pages.d.ts.map +1 -0
- package/dist/hosted-transport/history-pages.js +69 -0
- package/dist/hosted-transport/history-pages.js.map +1 -0
- package/dist/hosted-transport/index.d.ts +18 -0
- package/dist/hosted-transport/index.d.ts.map +1 -0
- package/dist/hosted-transport/index.js +18 -0
- package/dist/hosted-transport/index.js.map +1 -0
- package/dist/hosted-transport/operations.d.ts +85 -0
- package/dist/hosted-transport/operations.d.ts.map +1 -0
- package/dist/hosted-transport/operations.js +128 -0
- package/dist/hosted-transport/operations.js.map +1 -0
- package/dist/hosted-transport/paged-reads.d.ts +87 -0
- package/dist/hosted-transport/paged-reads.d.ts.map +1 -0
- package/dist/hosted-transport/paged-reads.js +238 -0
- package/dist/hosted-transport/paged-reads.js.map +1 -0
- package/dist/hosted-transport/read-adapter.d.ts +250 -0
- package/dist/hosted-transport/read-adapter.d.ts.map +1 -0
- package/dist/hosted-transport/read-adapter.js +557 -0
- package/dist/hosted-transport/read-adapter.js.map +1 -0
- package/dist/hosted-transport/root-write.d.ts +114 -0
- package/dist/hosted-transport/root-write.d.ts.map +1 -0
- package/dist/hosted-transport/root-write.js +171 -0
- package/dist/hosted-transport/root-write.js.map +1 -0
- package/dist/hosted-transport/whole-document-transport.d.ts +174 -0
- package/dist/hosted-transport/whole-document-transport.d.ts.map +1 -0
- package/dist/hosted-transport/whole-document-transport.js +411 -0
- package/dist/hosted-transport/whole-document-transport.js.map +1 -0
- package/dist/index.d.ts +29 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -6
- package/dist/index.js.map +1 -1
- package/dist/indexeddb-backend.d.ts +197 -0
- package/dist/indexeddb-backend.d.ts.map +1 -0
- package/dist/indexeddb-backend.js +1183 -0
- package/dist/indexeddb-backend.js.map +1 -0
- package/dist/journaled-backend.d.ts +467 -0
- package/dist/journaled-backend.d.ts.map +1 -0
- package/dist/journaled-backend.js +389 -0
- package/dist/journaled-backend.js.map +1 -0
- package/dist/kind-coverage.d.ts +99 -0
- package/dist/kind-coverage.d.ts.map +1 -0
- package/dist/kind-coverage.js +186 -0
- package/dist/kind-coverage.js.map +1 -0
- package/dist/kind-field-mutation.d.ts +15 -0
- package/dist/kind-field-mutation.d.ts.map +1 -0
- package/dist/kind-field-mutation.js +160 -0
- package/dist/kind-field-mutation.js.map +1 -0
- package/dist/kinds.d.ts +31 -1
- package/dist/kinds.d.ts.map +1 -1
- package/dist/kinds.js +86 -17
- package/dist/kinds.js.map +1 -1
- package/dist/links.d.ts +1 -1
- package/dist/links.d.ts.map +1 -1
- package/dist/links.js +5 -10
- package/dist/links.js.map +1 -1
- package/dist/managed-document-metadata.d.ts +2 -0
- package/dist/managed-document-metadata.d.ts.map +1 -0
- package/dist/managed-document-metadata.js +9 -0
- package/dist/managed-document-metadata.js.map +1 -0
- package/dist/meaningful-change-time.d.ts +6 -6
- package/dist/meaningful-change-time.d.ts.map +1 -1
- package/dist/meaningful-change-time.js +12 -13
- package/dist/meaningful-change-time.js.map +1 -1
- package/dist/memory-backend.d.ts +2 -2
- package/dist/memory-backend.d.ts.map +1 -1
- package/dist/memory-backend.js +32 -16
- package/dist/memory-backend.js.map +1 -1
- package/dist/mutation.d.ts.map +1 -1
- package/dist/mutation.js +2 -2
- package/dist/mutation.js.map +1 -1
- package/dist/page.d.ts.map +1 -1
- package/dist/page.js +2 -1
- package/dist/page.js.map +1 -1
- package/dist/paths.d.ts +6 -2
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +35 -33
- package/dist/paths.js.map +1 -1
- package/dist/platform.d.ts +239 -0
- package/dist/platform.d.ts.map +1 -0
- package/dist/platform.js +82 -0
- package/dist/platform.js.map +1 -0
- package/dist/portable-export.d.ts +119 -0
- package/dist/portable-export.d.ts.map +1 -0
- package/dist/portable-export.js +501 -0
- package/dist/portable-export.js.map +1 -0
- package/dist/publication-filesystem.d.ts +1 -1
- package/dist/publication-filesystem.d.ts.map +1 -1
- package/dist/publication-filesystem.js +1 -1
- package/dist/publication-filesystem.js.map +1 -1
- package/dist/query-filter.d.ts +7 -2
- package/dist/query-filter.d.ts.map +1 -1
- package/dist/query-filter.js +24 -1
- package/dist/query-filter.js.map +1 -1
- package/dist/query-order.d.ts +22 -0
- package/dist/query-order.d.ts.map +1 -0
- package/dist/query-order.js +42 -0
- package/dist/query-order.js.map +1 -0
- package/dist/recipes.d.ts +3 -1
- package/dist/recipes.d.ts.map +1 -1
- package/dist/recipes.js +4 -4
- package/dist/recipes.js.map +1 -1
- package/dist/remote-backend.d.ts +114 -22
- package/dist/remote-backend.d.ts.map +1 -1
- package/dist/remote-backend.js +285 -44
- package/dist/remote-backend.js.map +1 -1
- package/dist/remote-document-codec.d.ts +15 -0
- package/dist/remote-document-codec.d.ts.map +1 -0
- package/dist/remote-document-codec.js +103 -0
- package/dist/remote-document-codec.js.map +1 -0
- package/dist/remote-error.d.ts +38 -0
- package/dist/remote-error.d.ts.map +1 -0
- package/dist/remote-error.js +59 -0
- package/dist/remote-error.js.map +1 -0
- package/dist/remote-operations.d.ts +63 -0
- package/dist/remote-operations.d.ts.map +1 -0
- package/dist/remote-operations.js +125 -0
- package/dist/remote-operations.js.map +1 -0
- package/dist/remote-parsers.d.ts +86 -0
- package/dist/remote-parsers.d.ts.map +1 -0
- package/dist/remote-parsers.js +181 -0
- package/dist/remote-parsers.js.map +1 -0
- package/dist/remote.d.ts +7 -2
- package/dist/remote.d.ts.map +1 -1
- package/dist/remote.js +6 -1
- package/dist/remote.js.map +1 -1
- package/dist/sha256.d.ts +21 -0
- package/dist/sha256.d.ts.map +1 -0
- package/dist/sha256.js +114 -0
- package/dist/sha256.js.map +1 -0
- package/dist/storage.d.ts +8 -2
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +11 -2
- package/dist/storage.js.map +1 -1
- package/dist/types.d.ts +40 -5
- package/dist/types.d.ts.map +1 -1
- package/dist/uncertain-write.d.ts +178 -0
- package/dist/uncertain-write.d.ts.map +1 -0
- package/dist/uncertain-write.js +198 -0
- package/dist/uncertain-write.js.map +1 -0
- package/dist/version-transport.d.ts +7 -0
- package/dist/version-transport.d.ts.map +1 -1
- package/dist/version-transport.js +9 -0
- package/dist/version-transport.js.map +1 -1
- package/dist/versioning.d.ts +18 -7
- package/dist/versioning.d.ts.map +1 -1
- package/dist/versioning.js +23 -14
- package/dist/versioning.js.map +1 -1
- package/package.json +75 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexeddb-backend.js","sourceRoot":"","sources":["../src/indexeddb-backend.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,467 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The journaled-backend seam: what a storage adapter must add to {@link StorageBackend} to host
|
|
3
|
+
* a browser-local working copy whose synchronization is a durable intent journal. The engine
|
|
4
|
+
* reads and writes through `StorageBackend`; the sync runtime reads and writes through this
|
|
5
|
+
* seam. Any adapter that implements it and passes the journal rows of the contract kit can hold
|
|
6
|
+
* the working copy, whatever it persists to.
|
|
7
|
+
*
|
|
8
|
+
* The contract a second adapter must meet:
|
|
9
|
+
*
|
|
10
|
+
* - {@link JournaledBackend.writeJournaled} is ONE transaction over documents, intents, and
|
|
11
|
+
* meta: the document compare-and-swap of `write`, plus (optionally) deleting a superseded
|
|
12
|
+
* intent, recording a new intent for the written bytes, and putting meta rows. Every step is
|
|
13
|
+
* conditional on every other: a failed document CAS records no intent, and a superseded
|
|
14
|
+
* intent whose state or attempts moved fails the whole write with {@link IntentStateConflict}
|
|
15
|
+
* so the caller composes against fresh state. With `requireSettled`, an unsettled intent on
|
|
16
|
+
* the target fails it with {@link IntentHoldConflict} before the document is touched; the
|
|
17
|
+
* check runs inside the write's own transaction, so an intent committed while the caller was
|
|
18
|
+
* awaiting the network still holds the target. A recorded intent starts `pending` with zero
|
|
19
|
+
* attempts, carries the written bytes as `content` and their version as `local`, and takes
|
|
20
|
+
* the next value of a monotonic per-store sequence. The sequence advances only for a write
|
|
21
|
+
* that commits.
|
|
22
|
+
* - {@link JournaledBackend.deleteJournaled} is the deletion counterpart: ONE transaction that
|
|
23
|
+
* removes the document record under the same compare-and-swap, puts and removes meta rows
|
|
24
|
+
* with it, optionally supersedes an intent and records a deletion intent
|
|
25
|
+
* ({@link DOCUMENT_DELETE_KIND}) exactly as `writeJournaled` does for a write, and honours
|
|
26
|
+
* `requireSettled` the same way, so a document the authority deleted
|
|
27
|
+
* leaves the working copy together with its shared base and never while a local edit holds
|
|
28
|
+
* it. An absent target is not a conflict: the meta changes still apply and the result says
|
|
29
|
+
* `absent`, as the plain `delete` answers absence with `false`. With `onHeld`, a hold is not a
|
|
30
|
+
* rejection but the third outcome: the deletion and its own meta changes do not apply, the
|
|
31
|
+
* `onHeld` meta rows apply instead, in the same transaction as the hold check, and the result
|
|
32
|
+
* says `held` and names the holder. A caller that must rewrite a held document's shared base
|
|
33
|
+
* (a pull reconciling a remote deletion) does it there, so no other realm can settle the
|
|
34
|
+
* holding intent between the refusal and the rewrite.
|
|
35
|
+
* - `resolveIntents` on either journaled mutation requires document CAS and the exact complete
|
|
36
|
+
* unsettled target journal. It retires those records atomically with the document, meta, and
|
|
37
|
+
* optional replacement intent, leaving acknowledged history untouched. Recovery may retire a
|
|
38
|
+
* chain whose head is a recorded conflict or refusal, with conflicted, refused, and
|
|
39
|
+
* never-attempted pending successors behind it, never uncertain delivery. The caller
|
|
40
|
+
* preserves recovery evidence in meta; retirement does not assert remote acceptance.
|
|
41
|
+
* - {@link JournaledBackend.retireAcknowledged}, when an adapter offers it, is ONE transaction
|
|
42
|
+
* that removes named acknowledged intents of one target, and named meta rows, under the full
|
|
43
|
+
* guard of that target. Every named intent must be acknowledged in the guard, and the guard is
|
|
44
|
+
* compared in the same transaction, so an intent another realm moved since the caller's read is
|
|
45
|
+
* never removed. Unsettled work is never retired this way. What a retained successor may
|
|
46
|
+
* still need from a retired row is the caller's rule; the adapter only enforces the premise.
|
|
47
|
+
* - {@link JournaledBackend.readWithJournal} is ONE snapshot: the document, every intent
|
|
48
|
+
* targeting it, and the named meta rows, read in one readonly transaction, so a write in
|
|
49
|
+
* another realm between separate reads can never show a caller a document of one moment
|
|
50
|
+
* beside a journal of another. Intents come back in local commit order (by `sequence`).
|
|
51
|
+
* - {@link JournaledBackend.readHeads} is that snapshot over every document at once: each
|
|
52
|
+
* record's head (id, version, writer, time), its leading frontmatter parsed as `read` parses
|
|
53
|
+
* it, its exact bytes, every intent targeting it, and the meta rows the caller names for it,
|
|
54
|
+
* all from ONE readonly transaction, so every row describes the same moment. Bodies are
|
|
55
|
+
* never parsed. A record whose leading block does not parse is a row with `frontmatter`
|
|
56
|
+
* null and the parser's error, never a dropped row and never a failed listing. A caller that
|
|
57
|
+
* keeps less than the row (a version and a provenance, say) passes `project`, which maps
|
|
58
|
+
* each row as it is read so the listing over a large store never holds every document's
|
|
59
|
+
* stored bytes at once; the journal is read whole before the walk, so intents and the
|
|
60
|
+
* content they carry are held for its duration, as a single read holds them. Keys every row
|
|
61
|
+
* needs go in `shared`, read once. Rows come back in the order `list` orders ids.
|
|
62
|
+
* - {@link JournaledBackend.updateIntent} is a compare-and-swap on the intent's `state`: the
|
|
63
|
+
* patch applies only while the record is in `expectedState`, together with any meta rows, in
|
|
64
|
+
* one transaction. A different state or a missing record rejects with
|
|
65
|
+
* {@link IntentStateConflict} and writes nothing, so two realms (a stale tab, a worker) cannot
|
|
66
|
+
* both settle or both replace one intent.
|
|
67
|
+
* - {@link JournaledBackend.listIntents} returns intents in local commit order (ascending
|
|
68
|
+
* `sequence`), optionally restricted to one or more states.
|
|
69
|
+
* - {@link JournaledBackend.readMeta} and {@link JournaledBackend.writeMeta} are an opaque
|
|
70
|
+
* key-value store; what the rows mean belongs to the sync component that writes them.
|
|
71
|
+
*
|
|
72
|
+
* This module imports no Node builtin so it bundles for the browser. The IndexedDB adapter is
|
|
73
|
+
* the shipping implementation; a test-only in-memory adapter proves the seam is not a
|
|
74
|
+
* description of that one class.
|
|
75
|
+
*/
|
|
76
|
+
import type { MalformedDocumentError } from "./frontmatter-contract.js";
|
|
77
|
+
import type { OperationIntent, OperationState } from "./uncertain-write.js";
|
|
78
|
+
import type { ConceptId, DeleteOptions, Frontmatter, OkfDocument, ReadResult, StorageBackend, Version, WriteOptions } from "./types.js";
|
|
79
|
+
/**
|
|
80
|
+
* The intent kind of a journaled local deletion: the document leaves at exactly the intent's
|
|
81
|
+
* base. A deletion carries no bytes, so its `content` is {@link DELETION_CONTENT} and its `local`
|
|
82
|
+
* is {@link DELETION_VERSION}, the version of empty bytes, which no document can have (every
|
|
83
|
+
* document has frontmatter). A conflict can therefore never name a deletion's own `local` and
|
|
84
|
+
* read as its commit.
|
|
85
|
+
*/
|
|
86
|
+
export declare const DOCUMENT_DELETE_KIND = "document.delete";
|
|
87
|
+
export declare const DELETION_CONTENT = "";
|
|
88
|
+
export declare const DELETION_VERSION: Version;
|
|
89
|
+
/** Presence is independent of value: a stored undefined is not an absent row. */
|
|
90
|
+
export type MetaExpectation = {
|
|
91
|
+
present: false;
|
|
92
|
+
} | {
|
|
93
|
+
present: true;
|
|
94
|
+
value: unknown;
|
|
95
|
+
};
|
|
96
|
+
/** A complete target snapshot and the explicitly named metadata premises for a mutation. */
|
|
97
|
+
export interface JournalGuard {
|
|
98
|
+
target: ConceptId;
|
|
99
|
+
document: {
|
|
100
|
+
version: Version;
|
|
101
|
+
raw: string;
|
|
102
|
+
} | null;
|
|
103
|
+
intents: IntentRecord[];
|
|
104
|
+
meta: {
|
|
105
|
+
key: string;
|
|
106
|
+
expected: MetaExpectation;
|
|
107
|
+
}[];
|
|
108
|
+
}
|
|
109
|
+
/** A full snapshot or metadata admission premise changed; nothing was written. */
|
|
110
|
+
export declare class JournalGuardConflict extends Error {
|
|
111
|
+
readonly name = "JournalGuardConflict";
|
|
112
|
+
readonly target: string;
|
|
113
|
+
constructor(target: string);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Guard values are acyclic plain records, arrays, and primitive values (including undefined).
|
|
117
|
+
* Symbols, accessors, functions, and objects with other prototypes are refused. This restriction
|
|
118
|
+
* applies only to guarded operations; the unguarded metadata store remains opaque.
|
|
119
|
+
*/
|
|
120
|
+
export declare function captureJournalValue<T>(value: T): T;
|
|
121
|
+
export declare function captureJournalGuard(value: JournalGuard, target?: ConceptId): JournalGuard;
|
|
122
|
+
/** Only omission or undefined selects the unguarded compatibility path. */
|
|
123
|
+
export declare function captureJournalGuardOption(options: {
|
|
124
|
+
guard?: JournalGuard;
|
|
125
|
+
}, target?: ConceptId): JournalGuard | undefined;
|
|
126
|
+
/** Compare all target records, including acknowledged history, and exact named row presence. */
|
|
127
|
+
export declare function assertJournalGuard(expected: JournalGuard, current: JournalGuard): void;
|
|
128
|
+
export interface IntentUpdateOptions {
|
|
129
|
+
meta?: MetaRecord[];
|
|
130
|
+
guard?: JournalGuard;
|
|
131
|
+
/** Replaces persisted content without authoring metadata changes; requires a full guard. */
|
|
132
|
+
document?: OkfDocument;
|
|
133
|
+
}
|
|
134
|
+
export interface MetaWriteOptions {
|
|
135
|
+
expected?: MetaExpectation;
|
|
136
|
+
/** Admission succeeds only when the entire journal is empty, in the same transaction. */
|
|
137
|
+
requireEmptyJournal?: boolean;
|
|
138
|
+
}
|
|
139
|
+
/** Capture guarded updates before any asynchronous adapter work and protect original history. */
|
|
140
|
+
export declare function captureIntentUpdate(patch: IntentPatch, options: IntentUpdateOptions): {
|
|
141
|
+
patch: IntentPatch;
|
|
142
|
+
options: IntentUpdateOptions;
|
|
143
|
+
};
|
|
144
|
+
export declare function captureMetaWrite(options: MetaWriteOptions): MetaWriteOptions;
|
|
145
|
+
export declare function assertMetaWrite(key: string, options: MetaWriteOptions, actual: MetaExpectation, intents: readonly IntentRecord[]): void;
|
|
146
|
+
/** Metadata removal is admitted only with an explicit full-snapshot premise. */
|
|
147
|
+
export declare function assertJournalMetaChanges(guard: JournalGuard | undefined, puts: readonly MetaRecord[], removals: readonly string[] | undefined): void;
|
|
148
|
+
/** A guarded write owns one target and creates a globally fresh journal identity. */
|
|
149
|
+
export declare function assertJournalIntentChanges(guard: JournalGuard | undefined, existingIdentity: IntentRecord | undefined, superseded: IntentRecord | undefined): void;
|
|
150
|
+
/** Options for {@link JournaledBackend.retireAcknowledged}. */
|
|
151
|
+
export interface RetireAcknowledgedOptions {
|
|
152
|
+
/** The full target snapshot the retirement was composed against, compared in its transaction. */
|
|
153
|
+
guard: JournalGuard;
|
|
154
|
+
/** Acknowledged intents of the guard's target to remove; at least one, each named once. */
|
|
155
|
+
requestIds: readonly string[];
|
|
156
|
+
/** Meta rows the guard names, removed in the same transaction. */
|
|
157
|
+
removeMeta?: readonly string[];
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Capture a retirement before any adapter work: the guard is required and complete, every
|
|
161
|
+
* named intent is in it and acknowledged, and every removed meta row is one the guard names.
|
|
162
|
+
*/
|
|
163
|
+
export declare function captureRetireAcknowledged(target: ConceptId, options: RetireAcknowledgedOptions): RetireAcknowledgedOptions;
|
|
164
|
+
/** Capture write options while retaining the existing synchronous metadata producer. */
|
|
165
|
+
export declare function captureJournalWriteOptions(options: JournaledWriteOptions): JournaledWriteOptions;
|
|
166
|
+
/** Capture every guarded deletion branch before evaluating held or absent state. */
|
|
167
|
+
export declare function captureJournalDeleteOptions(target: ConceptId, options: JournaledDeleteOptions): JournaledDeleteOptions;
|
|
168
|
+
/**
|
|
169
|
+
* An intent's journal state was not the one the caller expected, or the intent is gone. Settling
|
|
170
|
+
* and superseding are compare-and-swap operations on the intent's own record so two realms (a
|
|
171
|
+
* stale tab, a worker) cannot both settle or both replace one intent.
|
|
172
|
+
*/
|
|
173
|
+
export declare class IntentStateConflict extends Error {
|
|
174
|
+
readonly name = "IntentStateConflict";
|
|
175
|
+
readonly requestId: string;
|
|
176
|
+
readonly expected: OperationState;
|
|
177
|
+
readonly actual: OperationState | null;
|
|
178
|
+
constructor(requestId: string, expected: OperationState, actual: OperationState | null);
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* A journaled write required that no unsettled intent hold its target, and one does. The local
|
|
182
|
+
* edit that intent describes would otherwise be replaced while the authority has not accepted
|
|
183
|
+
* it. The check runs inside the write's own transaction, so an intent committed while the caller
|
|
184
|
+
* was awaiting the network still holds the target.
|
|
185
|
+
*/
|
|
186
|
+
export declare class IntentHoldConflict extends Error {
|
|
187
|
+
readonly name = "IntentHoldConflict";
|
|
188
|
+
readonly target: ConceptId;
|
|
189
|
+
readonly requestId: string;
|
|
190
|
+
readonly state: OperationState;
|
|
191
|
+
constructor(target: ConceptId, requestId: string, state: OperationState);
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* A journaled local write: the shared primitive's {@link OperationIntent} plus what the
|
|
195
|
+
* working copy keeps for reconciliation. `sequence` is the local commit order; `after` names a
|
|
196
|
+
* predecessor intent on the same target that must be acknowledged before this one is delivered.
|
|
197
|
+
*/
|
|
198
|
+
export interface IntentRecord extends OperationIntent {
|
|
199
|
+
sequence: number;
|
|
200
|
+
updatedAt: string;
|
|
201
|
+
/** The serialized document at `base`, when the working copy held it; the three-way baseline. */
|
|
202
|
+
baseContent: string | null;
|
|
203
|
+
after?: string;
|
|
204
|
+
/** Set when the authority committed the intent; equals `local` for a content-addressed token. */
|
|
205
|
+
acknowledgedVersion?: Version;
|
|
206
|
+
/**
|
|
207
|
+
* The shared head observed when the intent entered conflict. With `version: null` (deleted
|
|
208
|
+
* remotely), `tombstone` is the deletion the authority named, when it named one: what a
|
|
209
|
+
* deliberate re-create acknowledges. It is never a version a read serves.
|
|
210
|
+
*/
|
|
211
|
+
remote?: {
|
|
212
|
+
version: Version | null;
|
|
213
|
+
content: string | null;
|
|
214
|
+
tombstone?: Version;
|
|
215
|
+
};
|
|
216
|
+
refusal?: {
|
|
217
|
+
code: string;
|
|
218
|
+
message: string;
|
|
219
|
+
};
|
|
220
|
+
/** A recorded observation the caller should surface, such as an acknowledged version that differs from `local`. */
|
|
221
|
+
finding?: string;
|
|
222
|
+
}
|
|
223
|
+
/** The caller-supplied part of a new intent; the adapter fills content, version, sequence, and state. */
|
|
224
|
+
export type NewIntentRecord = Pick<IntentRecord, "requestId" | "kind" | "target" | "base" | "baseContent" | "createdAt"> & Partial<Pick<IntentRecord, "after" | "recreates">>;
|
|
225
|
+
/** An opaque key-value row in the meta store (bootstrap marker, per-document base, pause flag). */
|
|
226
|
+
export interface MetaRecord {
|
|
227
|
+
key: string;
|
|
228
|
+
value: unknown;
|
|
229
|
+
}
|
|
230
|
+
/** Recovery was composed against a different or unsafe unsettled journal snapshot. */
|
|
231
|
+
export declare class JournalSnapshotConflict extends Error {
|
|
232
|
+
readonly name = "JournalSnapshotConflict";
|
|
233
|
+
readonly target: ConceptId;
|
|
234
|
+
constructor(target: ConceptId);
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* The deletion intent a journaled deletion records, refused before any adapter work when it is
|
|
238
|
+
* not one: another kind, another target, or combined with a guard (a guarded deletion journals
|
|
239
|
+
* nothing). The adapter fills content, local version, sequence and state.
|
|
240
|
+
*/
|
|
241
|
+
export declare function assertDeletionIntent(target: ConceptId, options: JournaledDeleteOptions): void;
|
|
242
|
+
/** The record a journaled deletion adds for `intent`. */
|
|
243
|
+
export declare function deletionIntentRecord(intent: NewIntentRecord, sequence: number, now: string): IntentRecord;
|
|
244
|
+
export declare function assertJournalResolutionOptions(target: ConceptId, options: JournaledWriteOptions | JournaledDeleteOptions): void;
|
|
245
|
+
/**
|
|
246
|
+
* Compare full records, not only state: a changed outcome or retry is new recovery evidence.
|
|
247
|
+
* The head of the set (its lowest sequence) must hold a recorded terminal answer, `conflict` or
|
|
248
|
+
* `refused`; every later row must be `conflict`, `refused` or never-attempted `pending`. An
|
|
249
|
+
* `unknown`, `in_flight` or attempted `pending` head is uncertain delivery and stays refused.
|
|
250
|
+
*/
|
|
251
|
+
export declare function assertJournalSnapshot(target: ConceptId, expected: IntentRecord[], current: IntentRecord[], freshRequestId?: string): void;
|
|
252
|
+
/** Options for {@link JournaledBackend.writeJournaled}. */
|
|
253
|
+
export interface JournaledWriteOptions extends WriteOptions {
|
|
254
|
+
/** Full document, journal, and named metadata CAS, evaluated before any mutation. */
|
|
255
|
+
guard?: JournalGuard;
|
|
256
|
+
/** Remove named metadata in the guarded write; keys must not also be put by this write. */
|
|
257
|
+
removeMeta?: readonly string[];
|
|
258
|
+
/** Retire this exact complete unsettled target snapshot atomically with document and meta writes. */
|
|
259
|
+
resolveIntents?: {
|
|
260
|
+
expected: IntentRecord[];
|
|
261
|
+
};
|
|
262
|
+
/** Record this intent in the same transaction as the document write. */
|
|
263
|
+
intent?: NewIntentRecord;
|
|
264
|
+
/** An unsettled intent this write composes over; deleted only while its state and attempts still match. */
|
|
265
|
+
supersede?: {
|
|
266
|
+
requestId: string;
|
|
267
|
+
expectedState: OperationState;
|
|
268
|
+
expectedAttempts: number;
|
|
269
|
+
};
|
|
270
|
+
/** Meta rows to put in the same transaction, given the written bytes when a function. */
|
|
271
|
+
meta?: MetaRecord[] | ((written: {
|
|
272
|
+
version: Version;
|
|
273
|
+
raw: string;
|
|
274
|
+
}) => MetaRecord[]);
|
|
275
|
+
/**
|
|
276
|
+
* Abort with {@link IntentHoldConflict} when any intent targeting `id` is in a state other than
|
|
277
|
+
* `acknowledged`, read in the same transaction as the document write. A refresh from the
|
|
278
|
+
* authority uses this so a local edit committed during its network round trip is never
|
|
279
|
+
* replaced.
|
|
280
|
+
*/
|
|
281
|
+
requireSettled?: boolean;
|
|
282
|
+
}
|
|
283
|
+
/** Options for {@link JournaledBackend.deleteJournaled}. */
|
|
284
|
+
export interface JournaledDeleteOptions extends DeleteOptions {
|
|
285
|
+
/** Compare the full target and named metadata before any deleted, absent, or held outcome. */
|
|
286
|
+
guard?: JournalGuard;
|
|
287
|
+
/** As write recovery; requires document CAS even when the target is absent. */
|
|
288
|
+
resolveIntents?: {
|
|
289
|
+
expected: IntentRecord[];
|
|
290
|
+
};
|
|
291
|
+
/** Meta rows to put in the same transaction; they apply only when the deletion applies or the target is absent. */
|
|
292
|
+
meta?: MetaRecord[];
|
|
293
|
+
/** Meta keys to remove in the same transaction; a key with no row is not an error. Applied as `meta` is. */
|
|
294
|
+
removeMeta?: readonly string[];
|
|
295
|
+
/**
|
|
296
|
+
* Record this deletion intent in the same transaction, as `writeJournaled` records a write's:
|
|
297
|
+
* `pending`, zero attempts, the next sequence, with {@link DELETION_CONTENT} and
|
|
298
|
+
* {@link DELETION_VERSION}. Its kind must be {@link DOCUMENT_DELETE_KIND}. It is recorded when
|
|
299
|
+
* the deletion applies, including over an absent record (a resolution re-deleting a document
|
|
300
|
+
* the working copy no longer holds), and never when the deletion is held.
|
|
301
|
+
*/
|
|
302
|
+
intent?: NewIntentRecord;
|
|
303
|
+
/** An unsettled intent this deletion composes over; removed only while its state and attempts still match, as for `writeJournaled`. */
|
|
304
|
+
supersede?: {
|
|
305
|
+
requestId: string;
|
|
306
|
+
expectedState: OperationState;
|
|
307
|
+
expectedAttempts: number;
|
|
308
|
+
};
|
|
309
|
+
/**
|
|
310
|
+
* Refuse the deletion when any intent targeting `id` is in a state other than `acknowledged`,
|
|
311
|
+
* read in the same transaction as the deletion. A pull that reconciles a remote deletion uses
|
|
312
|
+
* this so a local edit is never discarded. Without `onHeld` the refusal rejects with
|
|
313
|
+
* {@link IntentHoldConflict}; with it, the refusal is the `held` outcome.
|
|
314
|
+
*/
|
|
315
|
+
requireSettled?: boolean;
|
|
316
|
+
/**
|
|
317
|
+
* What to apply instead when `requireSettled` refuses the deletion: these meta rows are put in
|
|
318
|
+
* the same transaction as the hold check, and nothing else in the options applies. Only
|
|
319
|
+
* meaningful with `requireSettled`.
|
|
320
|
+
*/
|
|
321
|
+
onHeld?: {
|
|
322
|
+
meta: MetaRecord[];
|
|
323
|
+
};
|
|
324
|
+
}
|
|
325
|
+
/** What {@link JournaledBackend.deleteJournaled} did, in one transaction. */
|
|
326
|
+
export type JournaledDeleteResult =
|
|
327
|
+
/** A record was removed; `meta` and `removeMeta` applied, and `intent` recorded when one was given. */
|
|
328
|
+
{
|
|
329
|
+
outcome: "deleted";
|
|
330
|
+
intent?: IntentRecord;
|
|
331
|
+
}
|
|
332
|
+
/** No record to remove; `meta` and `removeMeta` still applied, and `intent` recorded when one was given. */
|
|
333
|
+
| {
|
|
334
|
+
outcome: "absent";
|
|
335
|
+
intent?: IntentRecord;
|
|
336
|
+
}
|
|
337
|
+
/** An unsettled intent holds the target and `onHeld` was given: its meta rows applied, nothing else did. */
|
|
338
|
+
| {
|
|
339
|
+
outcome: "held";
|
|
340
|
+
requestId: string;
|
|
341
|
+
state: OperationState;
|
|
342
|
+
};
|
|
343
|
+
/** One document with everything the journal holds about it, read in one transaction. See {@link JournaledBackend.readWithJournal}. */
|
|
344
|
+
export interface JournaledReadResult {
|
|
345
|
+
/** The parsed document and its version, or `null` when the store holds no record. */
|
|
346
|
+
document: ReadResult | null;
|
|
347
|
+
/** The exact stored serialization, the bytes `version` names; `null` when absent. */
|
|
348
|
+
raw: string | null;
|
|
349
|
+
/** Every intent targeting the id, in local commit order, whatever its state. */
|
|
350
|
+
intents: IntentRecord[];
|
|
351
|
+
/** The requested meta rows' values by key; a key with no row is absent from the map. */
|
|
352
|
+
meta: Map<string, unknown>;
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* One document's head with everything the journal holds about it, as {@link JournaledBackend.readHeads}
|
|
356
|
+
* reads it: the stored record's identity and version, its leading frontmatter, its exact
|
|
357
|
+
* bytes, its intents, and the meta rows the caller named for it. Nothing of the body is parsed.
|
|
358
|
+
* The frontmatter is what `read` parses for the record under the bundle's edition; when the
|
|
359
|
+
* leading block does not parse it is `null` and `malformed` carries the parser's error.
|
|
360
|
+
*/
|
|
361
|
+
export type JournaledHead = {
|
|
362
|
+
id: ConceptId;
|
|
363
|
+
/** The version of the stored bytes, the token `read` reports for the document. */
|
|
364
|
+
version: Version;
|
|
365
|
+
/** The actor recorded for the stored revision. */
|
|
366
|
+
updatedBy: string;
|
|
367
|
+
/** When the stored revision was written, as an ISO instant. */
|
|
368
|
+
updatedAt: string;
|
|
369
|
+
/** The exact stored serialization, the bytes `version` names. */
|
|
370
|
+
raw: string;
|
|
371
|
+
/** Every intent targeting the id, in local commit order, whatever its state. */
|
|
372
|
+
intents: IntentRecord[];
|
|
373
|
+
/** The meta rows `meta` named for this id, by key; a key with no row is absent from the map. */
|
|
374
|
+
meta: Map<string, unknown>;
|
|
375
|
+
} & ({
|
|
376
|
+
frontmatter: Frontmatter;
|
|
377
|
+
malformed?: undefined;
|
|
378
|
+
} | {
|
|
379
|
+
frontmatter: null;
|
|
380
|
+
malformed: MalformedDocumentError;
|
|
381
|
+
});
|
|
382
|
+
/** Options for {@link JournaledBackend.readHeads}. */
|
|
383
|
+
export interface JournaledHeadsOptions<T> {
|
|
384
|
+
/** The meta keys to read for one document, given its id and its intents; none by default. Read per row and released with it. */
|
|
385
|
+
meta?: (id: ConceptId, intents: readonly IntentRecord[]) => readonly string[];
|
|
386
|
+
/** Meta keys read once for the whole listing, in the same transaction, and present in every row's `meta`; a key named here is not read again when `meta` names it for a row. */
|
|
387
|
+
shared?: readonly string[];
|
|
388
|
+
/**
|
|
389
|
+
* Maps each head as it is read; only the projection is kept, so a listing over a large store
|
|
390
|
+
* holds one document's stored bytes at a time (the journal, read whole, is held throughout).
|
|
391
|
+
* Omitted, the heads themselves are returned. A projection that throws rejects the whole
|
|
392
|
+
* listing with its error.
|
|
393
|
+
*/
|
|
394
|
+
project?: (head: JournaledHead) => T;
|
|
395
|
+
}
|
|
396
|
+
/** Fields a caller may change when settling or reclaiming an intent. */
|
|
397
|
+
export type IntentPatch = Partial<Omit<IntentRecord, "requestId" | "sequence" | "createdAt" | "kind" | "target">>;
|
|
398
|
+
/**
|
|
399
|
+
* A {@link StorageBackend} that also journals local writes as intents and keeps opaque meta
|
|
400
|
+
* rows, with the transaction and compare-and-swap guarantees stated in this module's header.
|
|
401
|
+
*/
|
|
402
|
+
export interface JournaledBackend extends StorageBackend {
|
|
403
|
+
/** All guarded writes, updates, replacements, and metadata admission share atomic CAS. */
|
|
404
|
+
readonly journalSnapshotCas?: true;
|
|
405
|
+
/**
|
|
406
|
+
* One transaction over documents, intents, and meta: the document compare-and-swap of
|
|
407
|
+
* `write`, plus (optionally) deleting a superseded intent, recording a new intent for the
|
|
408
|
+
* written bytes, and putting meta rows. Every step is conditional on every other: a failed
|
|
409
|
+
* document CAS records no intent, and a superseded intent whose state or attempts moved fails
|
|
410
|
+
* the whole write with {@link IntentStateConflict} so the caller composes against fresh state. With
|
|
411
|
+
* `requireSettled`, an unsettled intent on the target fails it with
|
|
412
|
+
* {@link IntentHoldConflict} before the document is touched.
|
|
413
|
+
*/
|
|
414
|
+
writeJournaled(id: ConceptId, doc: OkfDocument, options?: JournaledWriteOptions): Promise<{
|
|
415
|
+
version: Version;
|
|
416
|
+
raw: string;
|
|
417
|
+
intent: IntentRecord | null;
|
|
418
|
+
}>;
|
|
419
|
+
/**
|
|
420
|
+
* One transaction over documents, intents, and meta: the document compare-and-swap of
|
|
421
|
+
* `delete`, plus putting and removing meta rows. With `requireSettled`, an unsettled intent on
|
|
422
|
+
* the target refuses it before anything is touched: a rejection with
|
|
423
|
+
* {@link IntentHoldConflict}, or, with `onHeld`, the `held` outcome with the `onHeld` meta rows
|
|
424
|
+
* applied in the same transaction. Resolves `deleted` when a record was removed and `absent`
|
|
425
|
+
* when the target was already absent; the meta changes apply in both of those cases, and a
|
|
426
|
+
* mismatched `expectedVersion` against a present record rejects with `VersionConflict` and
|
|
427
|
+
* changes nothing.
|
|
428
|
+
*/
|
|
429
|
+
deleteJournaled(id: ConceptId, options?: JournaledDeleteOptions): Promise<JournaledDeleteResult>;
|
|
430
|
+
/**
|
|
431
|
+
* The document, every intent targeting it, and the named meta rows, from ONE readonly
|
|
432
|
+
* transaction. A caller deriving where a document stands (its bytes against its shared base
|
|
433
|
+
* and its journal) reads them here so a write in another realm between separate reads can
|
|
434
|
+
* never show it a document of one moment beside a journal of another; with this snapshot a
|
|
435
|
+
* mismatch is a genuine working-copy defect.
|
|
436
|
+
*/
|
|
437
|
+
readWithJournal(id: ConceptId, options?: {
|
|
438
|
+
meta?: readonly string[];
|
|
439
|
+
}): Promise<JournaledReadResult>;
|
|
440
|
+
/**
|
|
441
|
+
* Every document's head, its leading frontmatter, its bytes, its intents, and the meta rows
|
|
442
|
+
* `meta` names for it, from ONE readonly transaction, in the order `list` orders ids. A
|
|
443
|
+
* caller that lists or counts the working copy reads here so every row describes the same
|
|
444
|
+
* moment and no body is parsed; `project` keeps the listing's memory at one document at a
|
|
445
|
+
* time. A record whose leading block does not parse is reported, not dropped.
|
|
446
|
+
*/
|
|
447
|
+
readHeads<T = JournaledHead>(options?: JournaledHeadsOptions<T>): Promise<T[]>;
|
|
448
|
+
/** Intents in local commit order, optionally restricted to one or more states. */
|
|
449
|
+
listIntents(state?: OperationState | readonly OperationState[]): Promise<IntentRecord[]>;
|
|
450
|
+
readIntent(requestId: string): Promise<IntentRecord | undefined>;
|
|
451
|
+
/**
|
|
452
|
+
* Remove acknowledged intents of one target, and named meta rows, in ONE transaction under
|
|
453
|
+
* the target's full guard ({@link RetireAcknowledgedOptions}). A guard that no longer matches
|
|
454
|
+
* rejects with {@link JournalGuardConflict} and removes nothing. Optional: a caller that finds
|
|
455
|
+
* no such method keeps acknowledged history, as every adapter did before it existed.
|
|
456
|
+
*/
|
|
457
|
+
retireAcknowledged?(target: ConceptId, options: RetireAcknowledgedOptions): Promise<void>;
|
|
458
|
+
/**
|
|
459
|
+
* Compare-and-swap on an intent's `state`: the patch applies only while the record is in
|
|
460
|
+
* `expectedState`, together with any meta rows, in one transaction. A different state or a
|
|
461
|
+
* missing record rejects with {@link IntentStateConflict} and writes nothing.
|
|
462
|
+
*/
|
|
463
|
+
updateIntent(requestId: string, expectedState: OperationState, patch: IntentPatch, options?: IntentUpdateOptions): Promise<IntentRecord>;
|
|
464
|
+
readMeta<T = unknown>(key: string): Promise<T | undefined>;
|
|
465
|
+
writeMeta(key: string, value: unknown, options?: MetaWriteOptions): Promise<void>;
|
|
466
|
+
}
|
|
467
|
+
//# sourceMappingURL=journaled-backend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"journaled-backend.d.ts","sourceRoot":"","sources":["../src/journaled-backend.ts"],"names":[],"mappings":"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"}
|