@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
@@ -1 +1 @@
1
- {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAyBH,OAAO,KAAK,EACV,OAAO,EACP,SAAS,EACT,aAAa,EACb,WAAW,EACX,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,OAAO,EACP,WAAW,EACX,YAAY,EACb,MAAM,YAAY,CAAC;AAqEpB;;;;GAIG;AACH,qBAAa,iBAAkB,YAAW,cAAc;;IAGtD;;;;OAIG;gBACS,IAAI,EAAE,MAAM;IAKlB,IAAI,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IAUxC,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAWjD,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BpF,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBpE,QAAQ,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IA6B/C,MAAM,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAKvC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAmB3C,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAUrF,aAAa,CACjB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,OAAO,CAAC;IAoBb,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAatD,SAAS,CACb,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,UAAU,EACjB,YAAY,CAAC,EAAE,MAAM,EACrB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,OAAO,CAAC;IAuBb,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAcvE,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAU1C,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAWpD,YAAY;;;;;;;CASb;AAQD,6FAA6F;AAC7F,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,iBAAiB,EAC1B,EAAE,EAAE,SAAS,GACZ,OAAO,CAAC;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAQlD;AAED,sEAAsE;AACtE,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,iBAAiB,EAC1B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAAC,CASzD;AAED,oEAAoE;AACpE,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC,CAAC,CAYzD"}
1
+ {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AA4BH,OAAO,KAAK,EACV,OAAO,EACP,SAAS,EACT,aAAa,EACb,WAAW,EACX,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,OAAO,EACP,WAAW,EACX,YAAY,EACb,MAAM,YAAY,CAAC;AAoEpB;;;;GAIG;AACH,qBAAa,iBAAkB,YAAW,cAAc;;IAGtD;;;;OAIG;gBACS,IAAI,EAAE,MAAM;IAKlB,IAAI,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IA2BxC,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAiBjD,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BpF,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBpE,QAAQ,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IA6B/C,MAAM,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAKvC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAmB3C,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAWrF,aAAa,CACjB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,OAAO,CAAC;IAqBb,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAatD,SAAS,CACb,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,UAAU,EACjB,YAAY,CAAC,EAAE,MAAM,EACrB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,OAAO,CAAC;IAuBb,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAcvE,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAU1C,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAWpD,YAAY;;;;;;;CASb;AAQD,6FAA6F;AAC7F,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,iBAAiB,EAC1B,EAAE,EAAE,SAAS,GACZ,OAAO,CAAC;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAQlD;AAED,sEAAsE;AACtE,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,iBAAiB,EAC1B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAAC,CAUzD;AAED,oEAAoE;AACpE,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC,CAAC,CAazD"}
package/dist/backend.js CHANGED
@@ -24,9 +24,10 @@
24
24
  * at all — parsing is an implementation detail of THIS adapter, not of the seam.
25
25
  */
26
26
  import path from "node:path";
27
- import { parseMarkdown, stringifyDoc } from "./frontmatter.js";
27
+ import { MalformedDocumentError, parseMarkdown, stringifyDoc } from "./frontmatter.js";
28
+ import { readBundleOkfVersion } from "./engine.js";
28
29
  import { resolveContentType } from "./content-type.js";
29
- import { assertSafeBlobKey, assertSafeConceptId, assertSafeReservedDir, conceptIdFromPath, isReservedFile, pathFromConceptId, toPosix, } from "./paths.js";
30
+ import { assertSafeBlobKey, assertSafeConceptId, assertSafeReservedDir, assertSafeReservedFilename, compareStorageKeys, conceptIdFromPath, isReservedFile, pathFromConceptId, toPosix, } from "./paths.js";
30
31
  import { InvalidInputError } from "./errors.js";
31
32
  import { mutateExact, nodeFilesystemIdentityPort as port, observeExact, probeExact, } from "./filesystem-identity.js";
32
33
  import { mutationActorFromFrontmatter } from "./mutation-attribution.js";
@@ -93,8 +94,7 @@ async function walkFiles(root, keep, sub = "") {
93
94
  }
94
95
  /** Bundle-relative reserved-file path for a directory (`""` = bundle root). */
95
96
  function reservedPath(dir, name) {
96
- const d = toPosix(dir).replace(/^\.?\//, "").replace(/\/$/, "");
97
- return d === "" ? name : `${d}/${name}`;
97
+ return dir === "" ? name : `${dir}/${name}`;
98
98
  }
99
99
  /**
100
100
  * The default {@link StorageBackend}: a filesystem-backed OKF bundle rooted at an
@@ -113,25 +113,46 @@ export class FilesystemBackend {
113
113
  publicationRoots.set(this, this.#root);
114
114
  }
115
115
  async read(id) {
116
+ return this.#readWithEdition(id, () => this.#readEdition());
117
+ }
118
+ async #readEdition() {
119
+ try {
120
+ return await readBundleOkfVersion(this);
121
+ }
122
+ catch (error) {
123
+ // Malformed metadata must not hide otherwise readable documents from repair tools.
124
+ if (!(error instanceof MalformedDocumentError))
125
+ throw error;
126
+ return undefined;
127
+ }
128
+ }
129
+ async #readWithEdition(id, edition) {
116
130
  assertSafeConceptId(id);
117
131
  const rel = pathFromConceptId(id);
118
132
  const observed = await observeExact(port, this.#root, rel, readBytes);
119
133
  if (observed.state === "absent")
120
134
  throw notFound(this.#root, rel);
121
135
  const raw = observed.value.toString("utf8");
122
- const { frontmatter, body } = parseMarkdown(raw, rel);
136
+ const { frontmatter, body } = parseMarkdown(raw, rel, { okfVersion: await edition() });
123
137
  return { doc: { id, frontmatter, body }, version: versionOfBytes(raw) };
124
138
  }
125
139
  async readMany(ids) {
126
- // Validate every id BEFORE any path realization (not just the first that `read`
127
- // would hit) — degenerate batch read: a loop of single reads, since a local
128
- // filesystem has no per-read round-trip to amortize. A networked backend implements
129
- // this as one multi-get, which is the whole reason `readMany` is on the seam.
140
+ // Validate the entire batch before any document or metadata I/O.
130
141
  for (const id of ids)
131
142
  assertSafeConceptId(id);
132
143
  const out = [];
144
+ // Preserve the existing extension point for subclasses that customize document reads.
145
+ if (this.read !== FilesystemBackend.prototype.read) {
146
+ for (const id of ids)
147
+ out.push(await this.read(id));
148
+ return out;
149
+ }
150
+ // Share metadata only within this batch, including absent/malformed roots. Deferring the
151
+ // lookup preserves document-before-root error ordering and avoids I/O for an empty batch.
152
+ let editionPromise;
153
+ const edition = () => editionPromise ??= this.#readEdition();
133
154
  for (const id of ids)
134
- out.push(await this.read(id));
155
+ out.push(await this.#readWithEdition(id, edition));
135
156
  return out;
136
157
  }
137
158
  async write(id, doc, options = {}) {
@@ -225,11 +246,12 @@ export class FilesystemBackend {
225
246
  continue;
226
247
  ids.push(id);
227
248
  }
228
- ids.sort((a, b) => a.localeCompare(b));
249
+ ids.sort(compareStorageKeys);
229
250
  return ids;
230
251
  }
231
252
  async readReserved(dir, name) {
232
253
  assertSafeReservedDir(dir);
254
+ assertSafeReservedFilename(name);
233
255
  const observed = await observeExact(port, this.#root, reservedPath(dir, name), readBytes);
234
256
  if (observed.state === "absent")
235
257
  return null;
@@ -240,6 +262,7 @@ export class FilesystemBackend {
240
262
  }
241
263
  async writeReserved(dir, name, content, options = {}) {
242
264
  assertSafeReservedDir(dir);
265
+ assertSafeReservedFilename(name);
243
266
  const rel = reservedPath(dir, name);
244
267
  // Same identity-keyed critical section as `write()`. A reserved-file read-modify-write
245
268
  // depends on a genuine `VersionConflict` under contention.
@@ -321,7 +344,7 @@ export class FilesystemBackend {
321
344
  const files = await walkFiles(this.#root, (name) => !name.toLowerCase().endsWith(".md"));
322
345
  const keys = files.map(toPosix);
323
346
  const filtered = prefix ? keys.filter((k) => k.startsWith(prefix)) : keys;
324
- filtered.sort((a, b) => a.localeCompare(b));
347
+ filtered.sort(compareStorageKeys);
325
348
  return filtered;
326
349
  }
327
350
  capabilities() {
@@ -354,6 +377,7 @@ export async function readRawFilesystemDocument(backend, id) {
354
377
  /** Internal exact-byte authority for reserved publication objects. */
355
378
  export async function readRawFilesystemReserved(backend, dir, name) {
356
379
  assertSafeReservedDir(dir);
380
+ assertSafeReservedFilename(name);
357
381
  const root = publicationRoot(backend);
358
382
  const observed = await observeExact(port, root, reservedPath(dir, name), readBytes);
359
383
  if (observed.state === "absent")
@@ -373,8 +397,9 @@ export async function listFilesystemReservedObjects(backend) {
373
397
  const dir = slash === -1 ? "" : relative.slice(0, slash);
374
398
  const name = relative.slice(slash + 1);
375
399
  assertSafeReservedDir(dir);
400
+ assertSafeReservedFilename(name);
376
401
  return { dir, name };
377
402
  })
378
- .sort((a, b) => reservedPath(a.dir, a.name).localeCompare(reservedPath(b.dir, b.name)));
403
+ .sort((a, b) => compareStorageKeys(reservedPath(a.dir, a.name), reservedPath(b.dir, b.name)));
379
404
  }
380
405
  //# sourceMappingURL=backend.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Runtime-neutral bundle-shaped delegation.
3
+ *
4
+ * Every function here forwards a `{ root, backend? }` bundle to the portable engine and touches
5
+ * no filesystem, so the document mutation path can bundle for the browser. The filesystem
6
+ * default for a bare `{ root }` is installed by `bundle.ts` (the Node entry) through
7
+ * {@link setDefaultBackendFactory}; a runtime that never loads it must supply `bundle.backend`.
8
+ */
9
+ import * as engine from "./engine.js";
10
+ import type { BlobKey, Bundle, ConceptId, DeleteOptions, EdgeFilter, HeadResult, Link, OkfDocument, QueryFilter, ReadBlobResult, ReadResult, StorageBackend, Version, VersionInfo, WriteOptions } from "./types.js";
11
+ export type { QueryOptions, SkippedDoc, WriteResult } from "./engine.js";
12
+ /** Builds the backend a bare `{ root }` bundle resolves to in this runtime. */
13
+ export type DefaultBackendFactory = (root: string) => StorageBackend;
14
+ /**
15
+ * Install the runtime's default backend for bundles that carry only a root. The Node entry
16
+ * registers the filesystem adapter; a browser host either registers its own store or always
17
+ * passes `bundle.backend` explicitly.
18
+ */
19
+ export declare function setDefaultBackendFactory(factory: DefaultBackendFactory | undefined): void;
20
+ /** Resolve the backend a legacy bundle operation should use. */
21
+ export declare function backendFor(bundle: Bundle): StorageBackend;
22
+ export declare function readBundleOkfVersion(bundle: Bundle): Promise<string | undefined>;
23
+ export declare function writeDocVersioned(bundle: Bundle, doc: OkfDocument, options?: WriteOptions): Promise<engine.WriteResult>;
24
+ export declare function writeDocVersionedForEdition(bundle: Bundle, doc: OkfDocument, okfVersion: string, options?: WriteOptions): Promise<engine.WriteResult>;
25
+ export declare function writeDoc(bundle: Bundle, doc: OkfDocument, options?: WriteOptions): Promise<OkfDocument>;
26
+ export declare function readDocVersioned(bundle: Bundle, id: ConceptId): Promise<ReadResult>;
27
+ export declare function readDoc(bundle: Bundle, id: ConceptId): Promise<OkfDocument>;
28
+ export declare function existsDoc(bundle: Bundle, id: ConceptId): Promise<boolean>;
29
+ export declare function docVersions(bundle: Bundle, id: ConceptId): Promise<VersionInfo[]>;
30
+ export declare function deleteDoc(bundle: Bundle, id: ConceptId, options?: DeleteOptions): Promise<boolean>;
31
+ export declare function query(bundle: Bundle, filter?: QueryFilter, options?: engine.QueryOptions): Promise<OkfDocument[]>;
32
+ export declare const list: typeof query;
33
+ export declare function queryHeads(bundle: Bundle, filter?: QueryFilter, options?: engine.QueryOptions): Promise<HeadResult[]>;
34
+ export declare function parseLinks(_bundle: Bundle, doc: OkfDocument): Link[];
35
+ export declare function queryEdges(bundle: Bundle, filter?: EdgeFilter): Promise<Link[]>;
36
+ export declare function backlinks(bundle: Bundle, target: ConceptId): Promise<Link[]>;
37
+ export declare function readBlob(bundle: Bundle, key: BlobKey): Promise<ReadBlobResult | null>;
38
+ export declare function writeBlob(bundle: Bundle, key: BlobKey, bytes: Uint8Array, contentType?: string, options?: WriteOptions): Promise<Version>;
39
+ export declare function existsBlob(bundle: Bundle, key: BlobKey): Promise<boolean>;
40
+ export declare function listBlobs(bundle: Bundle, prefix?: string): Promise<BlobKey[]>;
41
+ export declare function deleteBlob(bundle: Bundle, key: BlobKey, options?: DeleteOptions): Promise<boolean>;
42
+ //# sourceMappingURL=bundle-ops.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundle-ops.d.ts","sourceRoot":"","sources":["../src/bundle-ops.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Runtime-neutral bundle-shaped delegation.
3
+ *
4
+ * Every function here forwards a `{ root, backend? }` bundle to the portable engine and touches
5
+ * no filesystem, so the document mutation path can bundle for the browser. The filesystem
6
+ * default for a bare `{ root }` is installed by `bundle.ts` (the Node entry) through
7
+ * {@link setDefaultBackendFactory}; a runtime that never loads it must supply `bundle.backend`.
8
+ */
9
+ import * as engine from "./engine.js";
10
+ import { InvalidInputError } from "./errors.js";
11
+ let defaultBackendFactory;
12
+ /**
13
+ * Install the runtime's default backend for bundles that carry only a root. The Node entry
14
+ * registers the filesystem adapter; a browser host either registers its own store or always
15
+ * passes `bundle.backend` explicitly.
16
+ */
17
+ export function setDefaultBackendFactory(factory) {
18
+ defaultBackendFactory = factory;
19
+ }
20
+ /** Resolve the backend a legacy bundle operation should use. */
21
+ export function backendFor(bundle) {
22
+ if (bundle.backend)
23
+ return bundle.backend;
24
+ if (defaultBackendFactory === undefined) {
25
+ throw new InvalidInputError(`Bundle '${bundle.root}' has no backend and this runtime installs no default: ` +
26
+ "pass bundle.backend explicitly or register one with setDefaultBackendFactory.");
27
+ }
28
+ return defaultBackendFactory(bundle.root);
29
+ }
30
+ export async function readBundleOkfVersion(bundle) {
31
+ return engine.readBundleOkfVersion(backendFor(bundle));
32
+ }
33
+ export async function writeDocVersioned(bundle, doc, options) {
34
+ return engine.writeDocVersioned(backendFor(bundle), doc, options);
35
+ }
36
+ export async function writeDocVersionedForEdition(bundle, doc, okfVersion, options) {
37
+ return engine.writeDocVersionedForEdition(backendFor(bundle), doc, okfVersion, options);
38
+ }
39
+ export async function writeDoc(bundle, doc, options) {
40
+ return engine.writeDoc(backendFor(bundle), doc, options);
41
+ }
42
+ export async function readDocVersioned(bundle, id) {
43
+ return engine.readDocVersioned(backendFor(bundle), id);
44
+ }
45
+ export async function readDoc(bundle, id) {
46
+ return engine.readDoc(backendFor(bundle), id);
47
+ }
48
+ export async function existsDoc(bundle, id) {
49
+ return engine.existsDoc(backendFor(bundle), id);
50
+ }
51
+ export async function docVersions(bundle, id) {
52
+ return engine.docVersions(backendFor(bundle), id);
53
+ }
54
+ export async function deleteDoc(bundle, id, options) {
55
+ return engine.deleteDoc(backendFor(bundle), id, options);
56
+ }
57
+ export async function query(bundle, filter = {}, options = {}) {
58
+ return engine.query(backendFor(bundle), filter, options);
59
+ }
60
+ export const list = query;
61
+ export async function queryHeads(bundle, filter = {}, options = {}) {
62
+ return engine.queryHeads(backendFor(bundle), filter, options);
63
+ }
64
+ export function parseLinks(_bundle, doc) {
65
+ return engine.parseLinks(doc);
66
+ }
67
+ export async function queryEdges(bundle, filter = {}) {
68
+ return engine.queryEdges(backendFor(bundle), filter);
69
+ }
70
+ export async function backlinks(bundle, target) {
71
+ return engine.backlinks(backendFor(bundle), target);
72
+ }
73
+ export async function readBlob(bundle, key) {
74
+ return engine.readBlob(backendFor(bundle), key);
75
+ }
76
+ export async function writeBlob(bundle, key, bytes, contentType, options) {
77
+ return engine.writeBlob(backendFor(bundle), key, bytes, contentType, options);
78
+ }
79
+ export async function existsBlob(bundle, key) {
80
+ return engine.existsBlob(backendFor(bundle), key);
81
+ }
82
+ export async function listBlobs(bundle, prefix) {
83
+ return engine.listBlobs(backendFor(bundle), prefix);
84
+ }
85
+ export async function deleteBlob(bundle, key, options) {
86
+ return engine.deleteBlob(backendFor(bundle), key, options);
87
+ }
88
+ //# sourceMappingURL=bundle-ops.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundle-ops.js","sourceRoot":"","sources":["../src/bundle-ops.ts"],"names":[],"mappings":"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"}
package/dist/bundle.d.ts CHANGED
@@ -1,38 +1,19 @@
1
1
  /**
2
- * Legacy bundle-shaped core API.
2
+ * Legacy bundle-shaped core API, Node entry.
3
3
  *
4
- * Portable semantics live in `engine.ts` and receive a backend explicitly. This adapter preserves
5
- * the historical `{ root, backend? }` signatures and filesystem fallback used by Node consumers.
4
+ * Portable semantics live in `engine.ts` and receive a backend explicitly; the bundle-shaped
5
+ * `{ root, backend? }` wrappers live in `bundle-ops.ts` so they bundle for the browser. This
6
+ * module owns what only a Node host can: the filesystem default for a bare `{ root }` and
7
+ * on-disk bundle initialization. Loading it installs that default, which is why `index.ts`
8
+ * imports it and why the package manifest marks it side-effectful.
6
9
  */
7
- import * as engine from "./engine.js";
8
- import type { BlobKey, Bundle, ConceptId, DeleteOptions, EdgeFilter, HeadResult, InitBundleOptions, Link, OkfDocument, QueryFilter, ReadBlobResult, ReadResult, StorageBackend, Version, VersionInfo, WriteOptions } from "./types.js";
10
+ import type { Bundle, InitBundleOptions } from "./types.js";
9
11
  export { matchesFilter } from "./query-filter.js";
10
12
  export type { QueryOptions, SkippedDoc, WriteResult } from "./engine.js";
11
- /** Resolve the backend a legacy bundle operation should use. */
12
- export declare function backendFor(bundle: Bundle): StorageBackend;
13
- export declare function readBundleOkfVersion(bundle: Bundle): Promise<string | undefined>;
13
+ export { backendFor, backlinks, deleteBlob, deleteDoc, docVersions, existsBlob, existsDoc, list, listBlobs, parseLinks, query, queryEdges, queryHeads, readBlob, readBundleOkfVersion, readDoc, readDocVersioned, writeBlob, writeDoc, writeDocVersioned, writeDocVersionedForEdition, } from "./bundle-ops.js";
14
14
  export declare const SUPPORTED_OKF_AUTHORING_VERSIONS: readonly ["0.1", "0.2"];
15
15
  export declare const DEFAULT_OKF_AUTHORING_VERSION = "0.2";
16
16
  export declare function resolveOkfAuthoringVersion(requested?: string): string;
17
17
  /** Initialize or open a filesystem-backed bundle. */
18
18
  export declare function initBundle(root: string, options?: InitBundleOptions): Promise<Bundle>;
19
- export declare function writeDocVersioned(bundle: Bundle, doc: OkfDocument, options?: WriteOptions): Promise<engine.WriteResult>;
20
- export declare function writeDocVersionedForEdition(bundle: Bundle, doc: OkfDocument, okfVersion: string, options?: WriteOptions): Promise<engine.WriteResult>;
21
- export declare function writeDoc(bundle: Bundle, doc: OkfDocument, options?: WriteOptions): Promise<OkfDocument>;
22
- export declare function readDocVersioned(bundle: Bundle, id: ConceptId): Promise<ReadResult>;
23
- export declare function readDoc(bundle: Bundle, id: ConceptId): Promise<OkfDocument>;
24
- export declare function existsDoc(bundle: Bundle, id: ConceptId): Promise<boolean>;
25
- export declare function docVersions(bundle: Bundle, id: ConceptId): Promise<VersionInfo[]>;
26
- export declare function deleteDoc(bundle: Bundle, id: ConceptId, options?: DeleteOptions): Promise<boolean>;
27
- export declare function query(bundle: Bundle, filter?: QueryFilter, options?: engine.QueryOptions): Promise<OkfDocument[]>;
28
- export declare const list: typeof query;
29
- export declare function queryHeads(bundle: Bundle, filter?: QueryFilter, options?: engine.QueryOptions): Promise<HeadResult[]>;
30
- export declare function parseLinks(_bundle: Bundle, doc: OkfDocument): Link[];
31
- export declare function queryEdges(bundle: Bundle, filter?: EdgeFilter): Promise<Link[]>;
32
- export declare function backlinks(bundle: Bundle, target: ConceptId): Promise<Link[]>;
33
- export declare function readBlob(bundle: Bundle, key: BlobKey): Promise<ReadBlobResult | null>;
34
- export declare function writeBlob(bundle: Bundle, key: BlobKey, bytes: Uint8Array, contentType?: string, options?: WriteOptions): Promise<Version>;
35
- export declare function existsBlob(bundle: Bundle, key: BlobKey): Promise<boolean>;
36
- export declare function listBlobs(bundle: Bundle, prefix?: string): Promise<BlobKey[]>;
37
- export declare function deleteBlob(bundle: Bundle, key: BlobKey, options?: DeleteOptions): Promise<boolean>;
38
19
  //# sourceMappingURL=bundle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAKtC,OAAO,KAAK,EACV,OAAO,EACP,MAAM,EACN,SAAS,EACT,aAAa,EACb,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,IAAI,EACJ,WAAW,EACX,WAAW,EACX,cAAc,EACd,UAAU,EACV,cAAc,EACd,OAAO,EACP,WAAW,EACX,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEzE,gEAAgE;AAChE,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAEzD;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAEtF;AAED,eAAO,MAAM,gCAAgC,yBAA0B,CAAC;AACxE,eAAO,MAAM,6BAA6B,QAAQ,CAAC;AAEnD,wBAAgB,0BAA0B,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CASrE;AAED,qDAAqD;AACrD,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAgB/F;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,WAAW,EAChB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAE7B;AAED,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAE7B;AAED,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,WAAW,EAChB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,WAAW,CAAC,CAEtB;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAEzF;AAED,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAEjF;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAE/E;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAEvF;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAExG;AAED,wBAAsB,KAAK,CACzB,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,WAAgB,EACxB,OAAO,GAAE,MAAM,CAAC,YAAiB,GAChC,OAAO,CAAC,WAAW,EAAE,CAAC,CAExB;AAED,eAAO,MAAM,IAAI,cAAQ,CAAC;AAE1B,wBAAsB,UAAU,CAC9B,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,WAAgB,EACxB,OAAO,GAAE,MAAM,CAAC,YAAiB,GAChC,OAAO,CAAC,UAAU,EAAE,CAAC,CAEvB;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,EAAE,CAEpE;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAEzF;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAElF;AAED,wBAAsB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAE3F;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,UAAU,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,OAAO,CAAC,CAElB;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAE/E;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAEnF;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAExG"}
1
+ {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,OAAO,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EACL,UAAU,EACV,SAAS,EACT,UAAU,EACV,SAAS,EACT,WAAW,EACX,UAAU,EACV,SAAS,EACT,IAAI,EACJ,SAAS,EACT,UAAU,EACV,KAAK,EACL,UAAU,EACV,UAAU,EACV,QAAQ,EACR,oBAAoB,EACpB,OAAO,EACP,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AAIzB,eAAO,MAAM,gCAAgC,yBAA0B,CAAC;AACxE,eAAO,MAAM,6BAA6B,QAAQ,CAAC;AAEnD,wBAAgB,0BAA0B,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CASrE;AAED,qDAAqD;AACrD,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAgB/F"}
package/dist/bundle.js CHANGED
@@ -1,24 +1,22 @@
1
1
  /**
2
- * Legacy bundle-shaped core API.
2
+ * Legacy bundle-shaped core API, Node entry.
3
3
  *
4
- * Portable semantics live in `engine.ts` and receive a backend explicitly. This adapter preserves
5
- * the historical `{ root, backend? }` signatures and filesystem fallback used by Node consumers.
4
+ * Portable semantics live in `engine.ts` and receive a backend explicitly; the bundle-shaped
5
+ * `{ root, backend? }` wrappers live in `bundle-ops.ts` so they bundle for the browser. This
6
+ * module owns what only a Node host can: the filesystem default for a bare `{ root }` and
7
+ * on-disk bundle initialization. Loading it installs that default, which is why `index.ts`
8
+ * imports it and why the package manifest marks it side-effectful.
6
9
  */
7
10
  import path from "node:path";
8
11
  import { FilesystemBackend } from "./backend.js";
9
- import * as engine from "./engine.js";
12
+ import { setDefaultBackendFactory } from "./bundle-ops.js";
10
13
  import { InvalidInputError } from "./errors.js";
11
14
  import { stringifyWithData } from "./frontmatter.js";
12
15
  import { GENERATED_INDEX_MARKER } from "./index-marker.js";
13
16
  import { VersionConflict } from "./versioning.js";
14
17
  export { matchesFilter } from "./query-filter.js";
15
- /** Resolve the backend a legacy bundle operation should use. */
16
- export function backendFor(bundle) {
17
- return bundle.backend ?? new FilesystemBackend(bundle.root);
18
- }
19
- export async function readBundleOkfVersion(bundle) {
20
- return engine.readBundleOkfVersion(backendFor(bundle));
21
- }
18
+ export { backendFor, backlinks, deleteBlob, deleteDoc, docVersions, existsBlob, existsDoc, list, listBlobs, parseLinks, query, queryEdges, queryHeads, readBlob, readBundleOkfVersion, readDoc, readDocVersioned, writeBlob, writeDoc, writeDocVersioned, writeDocVersionedForEdition, } from "./bundle-ops.js";
19
+ setDefaultBackendFactory((root) => new FilesystemBackend(root));
22
20
  export const SUPPORTED_OKF_AUTHORING_VERSIONS = ["0.1", "0.2"];
23
21
  export const DEFAULT_OKF_AUTHORING_VERSION = "0.2";
24
22
  export function resolveOkfAuthoringVersion(requested) {
@@ -49,59 +47,4 @@ export async function initBundle(root, options = {}) {
49
47
  }
50
48
  return { root: resolved };
51
49
  }
52
- export async function writeDocVersioned(bundle, doc, options) {
53
- return engine.writeDocVersioned(backendFor(bundle), doc, options);
54
- }
55
- export async function writeDocVersionedForEdition(bundle, doc, okfVersion, options) {
56
- return engine.writeDocVersionedForEdition(backendFor(bundle), doc, okfVersion, options);
57
- }
58
- export async function writeDoc(bundle, doc, options) {
59
- return engine.writeDoc(backendFor(bundle), doc, options);
60
- }
61
- export async function readDocVersioned(bundle, id) {
62
- return engine.readDocVersioned(backendFor(bundle), id);
63
- }
64
- export async function readDoc(bundle, id) {
65
- return engine.readDoc(backendFor(bundle), id);
66
- }
67
- export async function existsDoc(bundle, id) {
68
- return engine.existsDoc(backendFor(bundle), id);
69
- }
70
- export async function docVersions(bundle, id) {
71
- return engine.docVersions(backendFor(bundle), id);
72
- }
73
- export async function deleteDoc(bundle, id, options) {
74
- return engine.deleteDoc(backendFor(bundle), id, options);
75
- }
76
- export async function query(bundle, filter = {}, options = {}) {
77
- return engine.query(backendFor(bundle), filter, options);
78
- }
79
- export const list = query;
80
- export async function queryHeads(bundle, filter = {}, options = {}) {
81
- return engine.queryHeads(backendFor(bundle), filter, options);
82
- }
83
- export function parseLinks(_bundle, doc) {
84
- return engine.parseLinks(doc);
85
- }
86
- export async function queryEdges(bundle, filter = {}) {
87
- return engine.queryEdges(backendFor(bundle), filter);
88
- }
89
- export async function backlinks(bundle, target) {
90
- return engine.backlinks(backendFor(bundle), target);
91
- }
92
- export async function readBlob(bundle, key) {
93
- return engine.readBlob(backendFor(bundle), key);
94
- }
95
- export async function writeBlob(bundle, key, bytes, contentType, options) {
96
- return engine.writeBlob(backendFor(bundle), key, bytes, contentType, options);
97
- }
98
- export async function existsBlob(bundle, key) {
99
- return engine.existsBlob(backendFor(bundle), key);
100
- }
101
- export async function listBlobs(bundle, prefix) {
102
- return engine.listBlobs(backendFor(bundle), prefix);
103
- }
104
- export async function deleteBlob(bundle, key, options) {
105
- return engine.deleteBlob(backendFor(bundle), key, options);
106
- }
107
50
  //# sourceMappingURL=bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGlD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EACL,UAAU,EACV,SAAS,EACT,UAAU,EACV,SAAS,EACT,WAAW,EACX,UAAU,EACV,SAAS,EACT,IAAI,EACJ,SAAS,EACT,UAAU,EACV,KAAK,EACL,UAAU,EACV,UAAU,EACV,QAAQ,EACR,oBAAoB,EACpB,OAAO,EACP,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AAEzB,wBAAwB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAU,CAAC;AACxE,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,CAAC;AAEnD,MAAM,UAAU,0BAA0B,CAAC,SAAkB;IAC3D,MAAM,OAAO,GAAG,SAAS,IAAI,6BAA6B,CAAC;IAC3D,IAAI,CAAE,gCAAsD,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,iBAAiB,CACzB,sCAAsC,OAAO,4BAA4B,gCAAgC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI;YACzH,oEAAoE,CACvE,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,qDAAqD;AACrD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,UAA6B,EAAE;IAC5E,MAAM,UAAU,GAAG,0BAA0B,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/E,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,GAAG,sBAAsB,OAAO,IAAI,wCAAwC,CAAC;QAC1F,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,UAAU,EAAE,iBAAiB,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,IAAI,CAAC,EAAE;gBAChG,eAAe,EAAE,IAAI;aACtB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,YAAY,eAAe,CAAC;gBAAE,MAAM,GAAG,CAAC;QACxE,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,95 @@
1
+ /** Explicit frontmatter intent. Collection construction is owned here, before CAS metadata. */
2
+ import { InvalidInputError } from "./errors.js";
3
+ import { type KindRegistry } from "./kinds.js";
4
+ import type { Frontmatter, OkfDocument } from "./types.js";
5
+ import type { DocumentMutationCandidate } from "./document-mutation.js";
6
+ export type SourceEntry = {
7
+ resource: string;
8
+ id?: string;
9
+ [property: string]: unknown;
10
+ };
11
+ export type SourceSelector = {
12
+ id: string;
13
+ resource?: never;
14
+ } | {
15
+ resource: string;
16
+ id?: never;
17
+ };
18
+ export interface SourceCandidateIdentity {
19
+ id?: string;
20
+ resource?: string;
21
+ title?: string;
22
+ }
23
+ export interface FieldActionErrorDetails {
24
+ reason: "ambiguous-source" | "source-has-id" | "source-not-found" | "source-id-conflict" | "invalid-source-id" | "unsupported-set-field";
25
+ field: string;
26
+ supportedFields?: string[];
27
+ selector?: SourceSelector;
28
+ recommendedSelector?: SourceSelector;
29
+ candidates?: SourceCandidateIdentity[];
30
+ total?: number;
31
+ }
32
+ /** Adapters can render corrective commands without parsing prose or repeating selection. */
33
+ export declare class FieldActionError extends InvalidInputError {
34
+ readonly details: FieldActionErrorDetails;
35
+ constructor(message: string, details: FieldActionErrorDetails);
36
+ }
37
+ export type FieldAction = {
38
+ action: "set";
39
+ field: string;
40
+ value: unknown;
41
+ } | {
42
+ action: "add";
43
+ field: "tags";
44
+ value: string;
45
+ } | {
46
+ action: "add";
47
+ field: "sources";
48
+ value: SourceEntry;
49
+ } | {
50
+ action: "remove";
51
+ field: "tags";
52
+ value: string;
53
+ } | {
54
+ action: "remove";
55
+ field: "sources";
56
+ selector: SourceSelector;
57
+ } | {
58
+ action: "edit";
59
+ field: "sources";
60
+ selector: SourceSelector;
61
+ patch: Record<string, unknown>;
62
+ } | {
63
+ action: "replace-all";
64
+ field: "tags";
65
+ value: string[];
66
+ } | {
67
+ action: "replace-all";
68
+ field: "sources";
69
+ value: SourceEntry[];
70
+ };
71
+ export interface FieldActionScope {
72
+ field: string;
73
+ action: FieldAction["action"];
74
+ outcome: "added" | "removed" | "edited" | "unchanged" | "replaced";
75
+ selector?: SourceSelector;
76
+ affectedSourceIds?: string[];
77
+ }
78
+ export interface FieldActionContext {
79
+ registry: KindRegistry;
80
+ okfVersion: "0.1" | "0.2";
81
+ now?: () => string;
82
+ }
83
+ export interface PreparedDocumentFieldAction {
84
+ candidate: DocumentMutationCandidate;
85
+ scope: FieldActionScope;
86
+ storageField: string;
87
+ }
88
+ export declare function isStandardDocumentSetField(field: string, okfVersion: "0.1" | "0.2"): boolean;
89
+ export declare function containsCollection(value: unknown): boolean;
90
+ export declare function assertNonCollectionAssignment(field: string, previous: unknown, value: unknown): void;
91
+ export declare function assertOrdinaryPatch(existing: Frontmatter, proposed: Frontmatter): void;
92
+ /** Semantic legacy assignments retain input intent, including explicitly equal assignments. */
93
+ export declare function prepareDocumentAssignments(existing: OkfDocument, assignments: Record<string, unknown>): DocumentMutationCandidate;
94
+ export declare function prepareDocumentFieldAction(existing: OkfDocument, action: FieldAction, context: FieldActionContext): PreparedDocumentFieldAction;
95
+ //# sourceMappingURL=document-field-actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-field-actions.d.ts","sourceRoot":"","sources":["../src/document-field-actions.ts"],"names":[],"mappings":"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"}