@superbee/core 0.1.6 → 0.2.0-pre.2

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 (120) hide show
  1. package/dist/backend.d.ts.map +1 -1
  2. package/dist/backend.js +38 -13
  3. package/dist/backend.js.map +1 -1
  4. package/dist/bundle-ops.d.ts +42 -0
  5. package/dist/bundle-ops.d.ts.map +1 -0
  6. package/dist/bundle-ops.js +88 -0
  7. package/dist/bundle-ops.js.map +1 -0
  8. package/dist/bundle.d.ts +8 -27
  9. package/dist/bundle.d.ts.map +1 -1
  10. package/dist/bundle.js +9 -66
  11. package/dist/bundle.js.map +1 -1
  12. package/dist/document-field-actions.d.ts +95 -0
  13. package/dist/document-field-actions.d.ts.map +1 -0
  14. package/dist/document-field-actions.js +261 -0
  15. package/dist/document-field-actions.js.map +1 -0
  16. package/dist/document-mutation.d.ts +46 -2
  17. package/dist/document-mutation.d.ts.map +1 -1
  18. package/dist/document-mutation.js +79 -19
  19. package/dist/document-mutation.js.map +1 -1
  20. package/dist/document-write-policy.d.ts +0 -1
  21. package/dist/document-write-policy.d.ts.map +1 -1
  22. package/dist/document-write-policy.js +3 -2
  23. package/dist/document-write-policy.js.map +1 -1
  24. package/dist/engine.d.ts +2 -0
  25. package/dist/engine.d.ts.map +1 -1
  26. package/dist/engine.js +2 -1
  27. package/dist/engine.js.map +1 -1
  28. package/dist/freshness.d.ts +10 -7
  29. package/dist/freshness.d.ts.map +1 -1
  30. package/dist/freshness.js +14 -11
  31. package/dist/freshness.js.map +1 -1
  32. package/dist/frontmatter-contract.d.ts +2 -2
  33. package/dist/frontmatter-contract.js +2 -2
  34. package/dist/frontmatter.d.ts +3 -1
  35. package/dist/frontmatter.d.ts.map +1 -1
  36. package/dist/frontmatter.js +7 -4
  37. package/dist/frontmatter.js.map +1 -1
  38. package/dist/heads-digest.d.ts +32 -0
  39. package/dist/heads-digest.d.ts.map +1 -0
  40. package/dist/heads-digest.js +37 -0
  41. package/dist/heads-digest.js.map +1 -0
  42. package/dist/index.d.ts +13 -4
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +14 -3
  45. package/dist/index.js.map +1 -1
  46. package/dist/indexeddb-backend.d.ts +175 -0
  47. package/dist/indexeddb-backend.d.ts.map +1 -0
  48. package/dist/indexeddb-backend.js +804 -0
  49. package/dist/indexeddb-backend.js.map +1 -0
  50. package/dist/journaled-backend.d.ts +238 -0
  51. package/dist/journaled-backend.d.ts.map +1 -0
  52. package/dist/journaled-backend.js +88 -0
  53. package/dist/journaled-backend.js.map +1 -0
  54. package/dist/kind-field-mutation.d.ts +15 -0
  55. package/dist/kind-field-mutation.d.ts.map +1 -0
  56. package/dist/kind-field-mutation.js +160 -0
  57. package/dist/kind-field-mutation.js.map +1 -0
  58. package/dist/kinds.d.ts.map +1 -1
  59. package/dist/kinds.js +3 -1
  60. package/dist/kinds.js.map +1 -1
  61. package/dist/meaningful-change-time.d.ts +6 -6
  62. package/dist/meaningful-change-time.d.ts.map +1 -1
  63. package/dist/meaningful-change-time.js +12 -13
  64. package/dist/meaningful-change-time.js.map +1 -1
  65. package/dist/memory-backend.d.ts.map +1 -1
  66. package/dist/memory-backend.js +6 -5
  67. package/dist/memory-backend.js.map +1 -1
  68. package/dist/mutation.d.ts.map +1 -1
  69. package/dist/mutation.js +2 -2
  70. package/dist/mutation.js.map +1 -1
  71. package/dist/page.d.ts.map +1 -1
  72. package/dist/page.js +2 -1
  73. package/dist/page.js.map +1 -1
  74. package/dist/paths.d.ts +6 -2
  75. package/dist/paths.d.ts.map +1 -1
  76. package/dist/paths.js +35 -33
  77. package/dist/paths.js.map +1 -1
  78. package/dist/platform.d.ts +232 -0
  79. package/dist/platform.d.ts.map +1 -0
  80. package/dist/platform.js +82 -0
  81. package/dist/platform.js.map +1 -0
  82. package/dist/recipes.d.ts +3 -1
  83. package/dist/recipes.d.ts.map +1 -1
  84. package/dist/recipes.js +4 -4
  85. package/dist/recipes.js.map +1 -1
  86. package/dist/remote-backend.d.ts +94 -2
  87. package/dist/remote-backend.d.ts.map +1 -1
  88. package/dist/remote-backend.js +280 -7
  89. package/dist/remote-backend.js.map +1 -1
  90. package/dist/remote-operations.d.ts +60 -0
  91. package/dist/remote-operations.d.ts.map +1 -0
  92. package/dist/remote-operations.js +110 -0
  93. package/dist/remote-operations.js.map +1 -0
  94. package/dist/remote.d.ts +3 -1
  95. package/dist/remote.d.ts.map +1 -1
  96. package/dist/remote.js +1 -0
  97. package/dist/remote.js.map +1 -1
  98. package/dist/sha256.d.ts +21 -0
  99. package/dist/sha256.d.ts.map +1 -0
  100. package/dist/sha256.js +114 -0
  101. package/dist/sha256.js.map +1 -0
  102. package/dist/storage.d.ts +8 -2
  103. package/dist/storage.d.ts.map +1 -1
  104. package/dist/storage.js +11 -2
  105. package/dist/storage.js.map +1 -1
  106. package/dist/types.d.ts +12 -0
  107. package/dist/types.d.ts.map +1 -1
  108. package/dist/uncertain-write.d.ts +142 -0
  109. package/dist/uncertain-write.d.ts.map +1 -0
  110. package/dist/uncertain-write.js +174 -0
  111. package/dist/uncertain-write.js.map +1 -0
  112. package/dist/version-transport.d.ts +7 -0
  113. package/dist/version-transport.d.ts.map +1 -1
  114. package/dist/version-transport.js +9 -0
  115. package/dist/version-transport.js.map +1 -1
  116. package/dist/versioning.d.ts +9 -3
  117. package/dist/versioning.d.ts.map +1 -1
  118. package/dist/versioning.js +14 -10
  119. package/dist/versioning.js.map +1 -1
  120. package/package.json +42 -3
@@ -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,238 @@
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, and honours `requireSettled` the same way, so a document the authority deleted
25
+ * leaves the working copy together with its shared base and never while a local edit holds
26
+ * it. An absent target is not a conflict: the meta changes still apply and the result says
27
+ * `absent`, as the plain `delete` answers absence with `false`. With `onHeld`, a hold is not a
28
+ * rejection but the third outcome: the deletion and its own meta changes do not apply, the
29
+ * `onHeld` meta rows apply instead, in the same transaction as the hold check, and the result
30
+ * says `held` and names the holder. A caller that must rewrite a held document's shared base
31
+ * (a pull reconciling a remote deletion) does it there, so no other realm can settle the
32
+ * holding intent between the refusal and the rewrite.
33
+ * - {@link JournaledBackend.readWithJournal} is ONE snapshot: the document, every intent
34
+ * targeting it, and the named meta rows, read in one readonly transaction, so a write in
35
+ * another realm between separate reads can never show a caller a document of one moment
36
+ * beside a journal of another. Intents come back in local commit order (by `sequence`).
37
+ * - {@link JournaledBackend.updateIntent} is a compare-and-swap on the intent's `state`: the
38
+ * patch applies only while the record is in `expectedState`, together with any meta rows, in
39
+ * one transaction. A different state or a missing record rejects with
40
+ * {@link IntentStateConflict} and writes nothing, so two realms (a stale tab, a worker) cannot
41
+ * both settle or both replace one intent.
42
+ * - {@link JournaledBackend.listIntents} returns intents in local commit order (ascending
43
+ * `sequence`), optionally restricted to one or more states.
44
+ * - {@link JournaledBackend.readMeta} and {@link JournaledBackend.writeMeta} are an opaque
45
+ * key-value store; what the rows mean belongs to the sync component that writes them.
46
+ *
47
+ * This module imports no Node builtin so it bundles for the browser. The IndexedDB adapter is
48
+ * the shipping implementation; a test-only in-memory adapter proves the seam is not a
49
+ * description of that one class.
50
+ */
51
+ import type { OperationIntent, OperationState } from "./uncertain-write.js";
52
+ import type { ConceptId, DeleteOptions, OkfDocument, ReadResult, StorageBackend, Version, WriteOptions } from "./types.js";
53
+ /**
54
+ * An intent's journal state was not the one the caller expected, or the intent is gone. Settling
55
+ * and superseding are compare-and-swap operations on the intent's own record so two realms (a
56
+ * stale tab, a worker) cannot both settle or both replace one intent.
57
+ */
58
+ export declare class IntentStateConflict extends Error {
59
+ readonly name = "IntentStateConflict";
60
+ readonly requestId: string;
61
+ readonly expected: OperationState;
62
+ readonly actual: OperationState | null;
63
+ constructor(requestId: string, expected: OperationState, actual: OperationState | null);
64
+ }
65
+ /**
66
+ * A journaled write required that no unsettled intent hold its target, and one does. The local
67
+ * edit that intent describes would otherwise be replaced while the authority has not accepted
68
+ * it. The check runs inside the write's own transaction, so an intent committed while the caller
69
+ * was awaiting the network still holds the target.
70
+ */
71
+ export declare class IntentHoldConflict extends Error {
72
+ readonly name = "IntentHoldConflict";
73
+ readonly target: ConceptId;
74
+ readonly requestId: string;
75
+ readonly state: OperationState;
76
+ constructor(target: ConceptId, requestId: string, state: OperationState);
77
+ }
78
+ /**
79
+ * A journaled local write: the shared primitive's {@link OperationIntent} plus what the
80
+ * working copy keeps for reconciliation. `sequence` is the local commit order; `after` names a
81
+ * predecessor intent on the same target that must be acknowledged before this one is delivered.
82
+ */
83
+ export interface IntentRecord extends OperationIntent {
84
+ sequence: number;
85
+ updatedAt: string;
86
+ /** The serialized document at `base`, when the working copy held it; the three-way baseline. */
87
+ baseContent: string | null;
88
+ after?: string;
89
+ /** Set when the authority committed the intent; equals `local` for a content-addressed token. */
90
+ acknowledgedVersion?: Version;
91
+ /** The shared head observed when the intent entered conflict. */
92
+ remote?: {
93
+ version: Version | null;
94
+ content: string | null;
95
+ };
96
+ refusal?: {
97
+ code: string;
98
+ message: string;
99
+ };
100
+ /** A recorded observation the caller should surface, such as an acknowledged version that differs from `local`. */
101
+ finding?: string;
102
+ }
103
+ /** The caller-supplied part of a new intent; the adapter fills content, version, sequence, and state. */
104
+ export type NewIntentRecord = Pick<IntentRecord, "requestId" | "kind" | "target" | "base" | "baseContent" | "createdAt"> & Partial<Pick<IntentRecord, "after">>;
105
+ /** An opaque key-value row in the meta store (bootstrap marker, per-document base, pause flag). */
106
+ export interface MetaRecord {
107
+ key: string;
108
+ value: unknown;
109
+ }
110
+ /** Options for {@link JournaledBackend.writeJournaled}. */
111
+ export interface JournaledWriteOptions extends WriteOptions {
112
+ /** Record this intent in the same transaction as the document write. */
113
+ intent?: NewIntentRecord;
114
+ /** An unsettled intent this write composes over; deleted only while its state and attempts still match. */
115
+ supersede?: {
116
+ requestId: string;
117
+ expectedState: OperationState;
118
+ expectedAttempts: number;
119
+ };
120
+ /** Meta rows to put in the same transaction, given the written bytes when a function. */
121
+ meta?: MetaRecord[] | ((written: {
122
+ version: Version;
123
+ raw: string;
124
+ }) => MetaRecord[]);
125
+ /**
126
+ * Abort with {@link IntentHoldConflict} when any intent targeting `id` is in a state other than
127
+ * `acknowledged`, read in the same transaction as the document write. A refresh from the
128
+ * authority uses this so a local edit committed during its network round trip is never
129
+ * replaced.
130
+ */
131
+ requireSettled?: boolean;
132
+ }
133
+ /** Options for {@link JournaledBackend.deleteJournaled}. */
134
+ export interface JournaledDeleteOptions extends DeleteOptions {
135
+ /** Meta rows to put in the same transaction; they apply only when the deletion applies or the target is absent. */
136
+ meta?: MetaRecord[];
137
+ /** Meta keys to remove in the same transaction; a key with no row is not an error. Applied as `meta` is. */
138
+ removeMeta?: readonly string[];
139
+ /**
140
+ * Refuse the deletion when any intent targeting `id` is in a state other than `acknowledged`,
141
+ * read in the same transaction as the deletion. A pull that reconciles a remote deletion uses
142
+ * this so a local edit is never discarded. Without `onHeld` the refusal rejects with
143
+ * {@link IntentHoldConflict}; with it, the refusal is the `held` outcome.
144
+ */
145
+ requireSettled?: boolean;
146
+ /**
147
+ * What to apply instead when `requireSettled` refuses the deletion: these meta rows are put in
148
+ * the same transaction as the hold check, and nothing else in the options applies. Only
149
+ * meaningful with `requireSettled`.
150
+ */
151
+ onHeld?: {
152
+ meta: MetaRecord[];
153
+ };
154
+ }
155
+ /** What {@link JournaledBackend.deleteJournaled} did, in one transaction. */
156
+ export type JournaledDeleteResult =
157
+ /** A record was removed; `meta` and `removeMeta` applied. */
158
+ {
159
+ outcome: "deleted";
160
+ }
161
+ /** No record to remove; `meta` and `removeMeta` still applied. */
162
+ | {
163
+ outcome: "absent";
164
+ }
165
+ /** An unsettled intent holds the target and `onHeld` was given: its meta rows applied, nothing else did. */
166
+ | {
167
+ outcome: "held";
168
+ requestId: string;
169
+ state: OperationState;
170
+ };
171
+ /** One document with everything the journal holds about it, read in one transaction. See {@link JournaledBackend.readWithJournal}. */
172
+ export interface JournaledReadResult {
173
+ /** The parsed document and its version, or `null` when the store holds no record. */
174
+ document: ReadResult | null;
175
+ /** The exact stored serialization, the bytes `version` names; `null` when absent. */
176
+ raw: string | null;
177
+ /** Every intent targeting the id, in local commit order, whatever its state. */
178
+ intents: IntentRecord[];
179
+ /** The requested meta rows' values by key; a key with no row is absent from the map. */
180
+ meta: Map<string, unknown>;
181
+ }
182
+ /** Fields a caller may change when settling or reclaiming an intent. */
183
+ export type IntentPatch = Partial<Omit<IntentRecord, "requestId" | "sequence" | "createdAt" | "kind" | "target">>;
184
+ /**
185
+ * A {@link StorageBackend} that also journals local writes as intents and keeps opaque meta
186
+ * rows, with the transaction and compare-and-swap guarantees stated in this module's header.
187
+ */
188
+ export interface JournaledBackend extends StorageBackend {
189
+ /**
190
+ * One transaction over documents, intents, and meta: the document compare-and-swap of
191
+ * `write`, plus (optionally) deleting a superseded intent, recording a new intent for the
192
+ * written bytes, and putting meta rows. Every step is conditional on every other: a failed
193
+ * document CAS records no intent, and a superseded intent whose state or attempts moved fails
194
+ * the whole write with {@link IntentStateConflict} so the caller composes against fresh state. With
195
+ * `requireSettled`, an unsettled intent on the target fails it with
196
+ * {@link IntentHoldConflict} before the document is touched.
197
+ */
198
+ writeJournaled(id: ConceptId, doc: OkfDocument, options?: JournaledWriteOptions): Promise<{
199
+ version: Version;
200
+ raw: string;
201
+ intent: IntentRecord | null;
202
+ }>;
203
+ /**
204
+ * One transaction over documents, intents, and meta: the document compare-and-swap of
205
+ * `delete`, plus putting and removing meta rows. With `requireSettled`, an unsettled intent on
206
+ * the target refuses it before anything is touched: a rejection with
207
+ * {@link IntentHoldConflict}, or, with `onHeld`, the `held` outcome with the `onHeld` meta rows
208
+ * applied in the same transaction. Resolves `deleted` when a record was removed and `absent`
209
+ * when the target was already absent; the meta changes apply in both of those cases, and a
210
+ * mismatched `expectedVersion` against a present record rejects with `VersionConflict` and
211
+ * changes nothing.
212
+ */
213
+ deleteJournaled(id: ConceptId, options?: JournaledDeleteOptions): Promise<JournaledDeleteResult>;
214
+ /**
215
+ * The document, every intent targeting it, and the named meta rows, from ONE readonly
216
+ * transaction. A caller deriving where a document stands (its bytes against its shared base
217
+ * and its journal) reads them here so a write in another realm between separate reads can
218
+ * never show it a document of one moment beside a journal of another; with this snapshot a
219
+ * mismatch is a genuine working-copy defect.
220
+ */
221
+ readWithJournal(id: ConceptId, options?: {
222
+ meta?: readonly string[];
223
+ }): Promise<JournaledReadResult>;
224
+ /** Intents in local commit order, optionally restricted to one or more states. */
225
+ listIntents(state?: OperationState | readonly OperationState[]): Promise<IntentRecord[]>;
226
+ readIntent(requestId: string): Promise<IntentRecord | undefined>;
227
+ /**
228
+ * Compare-and-swap on an intent's `state`: the patch applies only while the record is in
229
+ * `expectedState`, together with any meta rows, in one transaction. A different state or a
230
+ * missing record rejects with {@link IntentStateConflict} and writes nothing.
231
+ */
232
+ updateIntent(requestId: string, expectedState: OperationState, patch: IntentPatch, options?: {
233
+ meta?: MetaRecord[];
234
+ }): Promise<IntentRecord>;
235
+ readMeta<T = unknown>(key: string): Promise<T | undefined>;
236
+ writeMeta(key: string, value: unknown): Promise<void>;
237
+ }
238
+ //# 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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE3H;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,SAAkB,IAAI,yBAAyB;IAC/C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;gBAE3B,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI;CAUvF;AAED;;;;;GAKG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,SAAkB,IAAI,wBAAwB;IAC9C,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;gBAEnB,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc;CAMxE;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAa,SAAQ,eAAe;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,gGAAgG;IAChG,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iGAAiG;IACjG,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,iEAAiE;IACjE,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC7D,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,mHAAmH;IACnH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,yGAAyG;AACzG,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,aAAa,GAAG,WAAW,CAAC,GACtH,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;AAEvC,mGAAmG;AACnG,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,2DAA2D;AAC3D,MAAM,WAAW,qBAAsB,SAAQ,YAAY;IACzD,wEAAwE;IACxE,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,2GAA2G;IAC3G,SAAS,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,cAAc,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3F,yFAAyF;IACzF,IAAI,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,KAAK,UAAU,EAAE,CAAC,CAAC;IACrF;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,4DAA4D;AAC5D,MAAM,WAAW,sBAAuB,SAAQ,aAAa;IAC3D,mHAAmH;IACnH,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;IACpB,4GAA4G;IAC5G,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC;CACjC;AAED,6EAA6E;AAC7E,MAAM,MAAM,qBAAqB;AAC/B,6DAA6D;AAC3D;IAAE,OAAO,EAAE,SAAS,CAAA;CAAE;AACxB,kEAAkE;GAChE;IAAE,OAAO,EAAE,QAAQ,CAAA;CAAE;AACvB,4GAA4G;GAC1G;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,CAAC;AAElE,sIAAsI;AACtI,MAAM,WAAW,mBAAmB;IAClC,qFAAqF;IACrF,QAAQ,EAAE,UAAU,GAAG,IAAI,CAAC;IAC5B,qFAAqF;IACrF,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,gFAAgF;IAChF,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,wFAAwF;IACxF,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5B;AAED,wEAAwE;AACxE,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;AAElH;;;GAGG;AACH,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD;;;;;;;;OAQG;IACH,cAAc,CACZ,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,WAAW,EAChB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAE3E;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAEjG;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAErG,kFAAkF;IAClF,WAAW,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,SAAS,cAAc,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAEzF,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;IAEjE;;;;OAIG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,UAAU,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAE7I,QAAQ,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAE3D,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvD"}
@@ -0,0 +1,88 @@
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, and honours `requireSettled` the same way, so a document the authority deleted
25
+ * leaves the working copy together with its shared base and never while a local edit holds
26
+ * it. An absent target is not a conflict: the meta changes still apply and the result says
27
+ * `absent`, as the plain `delete` answers absence with `false`. With `onHeld`, a hold is not a
28
+ * rejection but the third outcome: the deletion and its own meta changes do not apply, the
29
+ * `onHeld` meta rows apply instead, in the same transaction as the hold check, and the result
30
+ * says `held` and names the holder. A caller that must rewrite a held document's shared base
31
+ * (a pull reconciling a remote deletion) does it there, so no other realm can settle the
32
+ * holding intent between the refusal and the rewrite.
33
+ * - {@link JournaledBackend.readWithJournal} is ONE snapshot: the document, every intent
34
+ * targeting it, and the named meta rows, read in one readonly transaction, so a write in
35
+ * another realm between separate reads can never show a caller a document of one moment
36
+ * beside a journal of another. Intents come back in local commit order (by `sequence`).
37
+ * - {@link JournaledBackend.updateIntent} is a compare-and-swap on the intent's `state`: the
38
+ * patch applies only while the record is in `expectedState`, together with any meta rows, in
39
+ * one transaction. A different state or a missing record rejects with
40
+ * {@link IntentStateConflict} and writes nothing, so two realms (a stale tab, a worker) cannot
41
+ * both settle or both replace one intent.
42
+ * - {@link JournaledBackend.listIntents} returns intents in local commit order (ascending
43
+ * `sequence`), optionally restricted to one or more states.
44
+ * - {@link JournaledBackend.readMeta} and {@link JournaledBackend.writeMeta} are an opaque
45
+ * key-value store; what the rows mean belongs to the sync component that writes them.
46
+ *
47
+ * This module imports no Node builtin so it bundles for the browser. The IndexedDB adapter is
48
+ * the shipping implementation; a test-only in-memory adapter proves the seam is not a
49
+ * description of that one class.
50
+ */
51
+ /**
52
+ * An intent's journal state was not the one the caller expected, or the intent is gone. Settling
53
+ * and superseding are compare-and-swap operations on the intent's own record so two realms (a
54
+ * stale tab, a worker) cannot both settle or both replace one intent.
55
+ */
56
+ export class IntentStateConflict extends Error {
57
+ name = "IntentStateConflict";
58
+ requestId;
59
+ expected;
60
+ actual;
61
+ constructor(requestId, expected, actual) {
62
+ super(actual === null
63
+ ? `intent '${requestId}' does not exist (expected state '${expected}')`
64
+ : `intent '${requestId}' is '${actual}', not '${expected}'`);
65
+ this.requestId = requestId;
66
+ this.expected = expected;
67
+ this.actual = actual;
68
+ }
69
+ }
70
+ /**
71
+ * A journaled write required that no unsettled intent hold its target, and one does. The local
72
+ * edit that intent describes would otherwise be replaced while the authority has not accepted
73
+ * it. The check runs inside the write's own transaction, so an intent committed while the caller
74
+ * was awaiting the network still holds the target.
75
+ */
76
+ export class IntentHoldConflict extends Error {
77
+ name = "IntentHoldConflict";
78
+ target;
79
+ requestId;
80
+ state;
81
+ constructor(target, requestId, state) {
82
+ super(`'${target}' is held by intent '${requestId}' in state '${state}'`);
83
+ this.target = target;
84
+ this.requestId = requestId;
85
+ this.state = state;
86
+ }
87
+ }
88
+ //# sourceMappingURL=journaled-backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"journaled-backend.js","sourceRoot":"","sources":["../src/journaled-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAKH;;;;GAIG;AACH,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC1B,IAAI,GAAG,qBAAqB,CAAC;IACtC,SAAS,CAAS;IAClB,QAAQ,CAAiB;IACzB,MAAM,CAAwB;IAEvC,YAAY,SAAiB,EAAE,QAAwB,EAAE,MAA6B;QACpF,KAAK,CACH,MAAM,KAAK,IAAI;YACb,CAAC,CAAC,WAAW,SAAS,qCAAqC,QAAQ,IAAI;YACvE,CAAC,CAAC,WAAW,SAAS,SAAS,MAAM,WAAW,QAAQ,GAAG,CAC9D,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IACzB,IAAI,GAAG,oBAAoB,CAAC;IACrC,MAAM,CAAY;IAClB,SAAS,CAAS;IAClB,KAAK,CAAiB;IAE/B,YAAY,MAAiB,EAAE,SAAiB,EAAE,KAAqB;QACrE,KAAK,CAAC,IAAI,MAAM,wBAAwB,SAAS,eAAe,KAAK,GAAG,CAAC,CAAC;QAC1E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF"}
@@ -0,0 +1,15 @@
1
+ import { InvalidInputError } from "./errors.js";
2
+ import type { OkfDocument } from "./types.js";
3
+ import type { DocumentMutationCandidate } from "./document-mutation.js";
4
+ export declare class KindFieldMutationConflict extends InvalidInputError {
5
+ }
6
+ export interface KindFieldMutation {
7
+ governs: string;
8
+ field: string;
9
+ action: "add" | "remove";
10
+ required?: boolean;
11
+ values?: string[];
12
+ okfVersion: "0.1" | "0.2";
13
+ }
14
+ export declare function prepareKindFieldMutation(existing: OkfDocument, input: KindFieldMutation, okfVersion: "0.1" | "0.2"): DocumentMutationCandidate;
15
+ //# sourceMappingURL=kind-field-mutation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kind-field-mutation.d.ts","sourceRoot":"","sources":["../src/kind-field-mutation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxE,qBAAa,yBAA0B,SAAQ,iBAAiB;CAAG;AACnE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,KAAK,GAAG,QAAQ,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,KAAK,GAAG,KAAK,CAAC;CAC3B;AA+BD,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,KAAK,GAAG,KAAK,GAAG,yBAAyB,CA4G9I"}
@@ -0,0 +1,160 @@
1
+ /** Pure Kind schema editing. The mutation engine supplies the fresh convention. */
2
+ import { RESERVED_KIND_FIELD_NAMES } from "./kinds.js";
3
+ import { InvalidInputError } from "./errors.js";
4
+ export class KindFieldMutationConflict extends InvalidInputError {
5
+ }
6
+ /** Normalize a possibly-absent/malformed `fields.<list>` into a fresh string[]. */
7
+ function toStringList(v) {
8
+ return Array.isArray(v) ? v.map((x) => String(x)) : [];
9
+ }
10
+ function isRecord(value) {
11
+ if (typeof value !== "object" || value === null || Array.isArray(value))
12
+ return false;
13
+ const prototype = Object.getPrototypeOf(value);
14
+ return prototype === Object.prototype || prototype === null;
15
+ }
16
+ function hasOwn(record, key) {
17
+ return Object.prototype.hasOwnProperty.call(record, key);
18
+ }
19
+ function setOwn(record, key, value) {
20
+ Object.defineProperty(record, key, { value, enumerable: true, configurable: true, writable: true });
21
+ }
22
+ function cloneRecord(record) {
23
+ const clone = {};
24
+ for (const [key, value] of Object.entries(record))
25
+ setOwn(clone, key, value);
26
+ return clone;
27
+ }
28
+ function deleteOwn(record, key) {
29
+ return hasOwn(record, key) && delete record[key];
30
+ }
31
+ export function prepareKindFieldMutation(existing, input, okfVersion) {
32
+ if (typeof input.field !== "string" || input.field.trim() === "" || !["add", "remove"].includes(input.action))
33
+ throw new InvalidInputError("A Kind field mutation requires add/remove and a nonempty field name.");
34
+ if (input.action === "add" && RESERVED_KIND_FIELD_NAMES.includes(input.field))
35
+ throw new InvalidInputError(`'${input.field}' is reserved and cannot be added as a Kind field.`);
36
+ if (input.values !== undefined && (!Array.isArray(input.values) || input.values.length === 0 || input.values.some(value => typeof value !== "string" || value.trim() === "")))
37
+ throw new InvalidInputError("Kind enum values must be nonempty strings.");
38
+ if (input.action === "remove" && (input.required || input.values !== undefined))
39
+ throw new InvalidInputError("required/values apply to Kind field add, not remove.");
40
+ const fm = existing.frontmatter;
41
+ if (okfVersion !== input.okfVersion)
42
+ throw new KindFieldMutationConflict("The bundle format changed while editing the Kind; reload the Kind.");
43
+ const currentGoverns = typeof fm.governs === "string" ? fm.governs.trim() : "";
44
+ if (currentGoverns !== input.governs)
45
+ throw new KindFieldMutationConflict(`'${existing.id}' no longer governs '${input.governs}'; it now governs '${currentGoverns}'. Reload the Kind.`);
46
+ const fieldsObj = isRecord(fm.fields) ? cloneRecord(fm.fields) : {};
47
+ const required = toStringList(fieldsObj.required);
48
+ const optional = toStringList(fieldsObj.optional);
49
+ const valuesMap = hasOwn(fieldsObj, "values") && isRecord(fieldsObj.values)
50
+ ? cloneRecord(fieldsObj.values)
51
+ : {};
52
+ const descriptionsMap = hasOwn(fieldsObj, "descriptions") && isRecord(fieldsObj.descriptions)
53
+ ? cloneRecord(fieldsObj.descriptions)
54
+ : undefined;
55
+ const rawValueDescriptions = hasOwn(fieldsObj, "value_descriptions")
56
+ ? fieldsObj.value_descriptions
57
+ : undefined;
58
+ let valueDescriptionsMap;
59
+ let valueDescriptionsChanged = false;
60
+ let descriptionDeleted = false;
61
+ if (input.action === "add") {
62
+ const targetList = input.required ? required : optional;
63
+ const otherList = input.required ? optional : required;
64
+ // Re-classifying an existing field (e.g. `add --required` a currently-optional field) moves it.
65
+ const otherIdx = otherList.indexOf(input.field);
66
+ if (otherIdx >= 0)
67
+ otherList.splice(otherIdx, 1);
68
+ if (!targetList.includes(input.field))
69
+ targetList.push(input.field);
70
+ if (input.values) {
71
+ const vals = input.values;
72
+ const prev = hasOwn(valuesMap, input.field) && Array.isArray(valuesMap[input.field])
73
+ ? valuesMap[input.field].map(String)
74
+ : undefined;
75
+ // Collision-resistant comparison: `prev.join(" ") !==
76
+ // vals.join(" ")` conflated DIFFERENT enum lists that happen to join to the same string
77
+ // — e.g. ["a b","c"] and ["a","b c"] BOTH become "a b c" — so `--values "a,b c"` over an
78
+ // existing ["a b","c"] wrongly reported changed:false. Length + element-wise instead; no
79
+ // delimiter choice can ever collide.
80
+ const same = !!prev && prev.length === vals.length && prev.every((v, i) => v === vals[i]);
81
+ if (!same)
82
+ setOwn(valuesMap, input.field, vals);
83
+ if (isRecord(rawValueDescriptions) && hasOwn(rawValueDescriptions, input.field)) {
84
+ const rawFieldDescriptions = rawValueDescriptions[input.field];
85
+ if (isRecord(rawFieldDescriptions)) {
86
+ const retained = {};
87
+ for (const [value, description] of Object.entries(rawFieldDescriptions)) {
88
+ if (vals.includes(value))
89
+ setOwn(retained, value, description);
90
+ }
91
+ if (Object.keys(retained).length !== Object.keys(rawFieldDescriptions).length) {
92
+ valueDescriptionsMap = cloneRecord(rawValueDescriptions);
93
+ if (Object.keys(retained).length > 0)
94
+ setOwn(valueDescriptionsMap, input.field, retained);
95
+ else
96
+ deleteOwn(valueDescriptionsMap, input.field);
97
+ valueDescriptionsChanged = true;
98
+ }
99
+ }
100
+ }
101
+ }
102
+ }
103
+ else {
104
+ for (const list of [required, optional]) {
105
+ const idx = list.indexOf(input.field);
106
+ if (idx >= 0)
107
+ list.splice(idx, 1);
108
+ }
109
+ deleteOwn(valuesMap, input.field);
110
+ if (descriptionsMap)
111
+ descriptionDeleted = deleteOwn(descriptionsMap, input.field);
112
+ if (isRecord(rawValueDescriptions) && hasOwn(rawValueDescriptions, input.field)) {
113
+ const rawFieldDescriptions = rawValueDescriptions[input.field];
114
+ if (isRecord(rawFieldDescriptions)) {
115
+ valueDescriptionsMap = cloneRecord(rawValueDescriptions);
116
+ deleteOwn(valueDescriptionsMap, input.field);
117
+ valueDescriptionsChanged = true;
118
+ }
119
+ }
120
+ }
121
+ // Rebuild `fields` FROM the original raw object, replacing only the three keys this command
122
+ // owns (required/optional/values, omitted when now-empty so the convention stays clean).
123
+ // Every OTHER sibling key — `terminal` today, any future declaration key — passes through
124
+ // VERBATIM, matching the registry's lenient-parse posture: an unrelated `kind field` edit
125
+ // must never destroy a declaration it doesn't understand (regression-pinned in
126
+ // kind.test.ts). `changed`/no-op detection is `mutateDoc`'s job (structural comparison
127
+ // against the existing doc, ignoring timestamp — this command never refreshes it).
128
+ const newFields = { ...fieldsObj };
129
+ if (required.length > 0)
130
+ newFields.required = required;
131
+ else
132
+ delete newFields.required;
133
+ if (optional.length > 0)
134
+ newFields.optional = optional;
135
+ else
136
+ delete newFields.optional;
137
+ if (Object.keys(valuesMap).length > 0)
138
+ newFields.values = valuesMap;
139
+ else
140
+ delete newFields.values;
141
+ if (descriptionsMap && descriptionDeleted) {
142
+ if (Object.keys(descriptionsMap).length > 0)
143
+ newFields.descriptions = descriptionsMap;
144
+ else
145
+ delete newFields.descriptions;
146
+ }
147
+ if (valueDescriptionsMap && valueDescriptionsChanged) {
148
+ if (Object.keys(valueDescriptionsMap).length > 0)
149
+ newFields.value_descriptions = valueDescriptionsMap;
150
+ else
151
+ delete newFields.value_descriptions;
152
+ }
153
+ const newFm = { ...fm };
154
+ if (Object.keys(newFields).length > 0)
155
+ newFm.fields = newFields;
156
+ else
157
+ delete newFm.fields;
158
+ return { frontmatter: newFm, body: existing.body };
159
+ }
160
+ //# sourceMappingURL=kind-field-mutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kind-field-mutation.js","sourceRoot":"","sources":["../src/kind-field-mutation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"kinds.d.ts","sourceRoot":"","sources":["../src/kinds.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kinds.d.ts","sourceRoot":"","sources":["../src/kinds.ts"],"names":[],"mappings":"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"}