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

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 (538) hide show
  1. package/README.md +1084 -0
  2. package/dist/artifact-contract.d.ts +90 -0
  3. package/dist/artifact-contract.d.ts.map +1 -0
  4. package/dist/artifact-contract.js +205 -0
  5. package/dist/artifact-contract.js.map +1 -0
  6. package/dist/backend.d.ts +19 -1
  7. package/dist/backend.d.ts.map +1 -1
  8. package/dist/backend.js +83 -36
  9. package/dist/backend.js.map +1 -1
  10. package/dist/blob-contract.d.ts +80 -0
  11. package/dist/blob-contract.d.ts.map +1 -0
  12. package/dist/blob-contract.js +131 -0
  13. package/dist/blob-contract.js.map +1 -0
  14. package/dist/blob-journal.d.ts +302 -0
  15. package/dist/blob-journal.d.ts.map +1 -0
  16. package/dist/blob-journal.js +540 -0
  17. package/dist/blob-journal.js.map +1 -0
  18. package/dist/body-replace-guards.d.ts +52 -0
  19. package/dist/body-replace-guards.d.ts.map +1 -0
  20. package/dist/body-replace-guards.js +176 -0
  21. package/dist/body-replace-guards.js.map +1 -0
  22. package/dist/builtin-recipes/content.d.ts +93 -0
  23. package/dist/builtin-recipes/content.d.ts.map +1 -0
  24. package/dist/builtin-recipes/content.js +288 -0
  25. package/dist/builtin-recipes/content.js.map +1 -0
  26. package/dist/builtin-recipes.d.ts +10 -0
  27. package/dist/builtin-recipes.d.ts.map +1 -0
  28. package/dist/builtin-recipes.js +97 -0
  29. package/dist/builtin-recipes.js.map +1 -0
  30. package/dist/bundle-health/index.d.ts +14 -0
  31. package/dist/bundle-health/index.d.ts.map +1 -0
  32. package/dist/bundle-health/index.js +12 -0
  33. package/dist/bundle-health/index.js.map +1 -0
  34. package/dist/bundle-health/kind-findings.d.ts +44 -0
  35. package/dist/bundle-health/kind-findings.d.ts.map +1 -0
  36. package/dist/bundle-health/kind-findings.js +68 -0
  37. package/dist/bundle-health/kind-findings.js.map +1 -0
  38. package/dist/bundle-health/legacy-page.d.ts +39 -0
  39. package/dist/bundle-health/legacy-page.d.ts.map +1 -0
  40. package/dist/bundle-health/legacy-page.js +50 -0
  41. package/dist/bundle-health/legacy-page.js.map +1 -0
  42. package/dist/bundle-health/report.d.ts +202 -0
  43. package/dist/bundle-health/report.d.ts.map +1 -0
  44. package/dist/bundle-health/report.js +438 -0
  45. package/dist/bundle-health/report.js.map +1 -0
  46. package/dist/bundle-ops.d.ts +1 -1
  47. package/dist/bundle-ops.d.ts.map +1 -1
  48. package/dist/bundle-ops.js +2 -2
  49. package/dist/bundle-ops.js.map +1 -1
  50. package/dist/bundle.d.ts +2 -1
  51. package/dist/bundle.d.ts.map +1 -1
  52. package/dist/bundle.js +3 -3
  53. package/dist/bundle.js.map +1 -1
  54. package/dist/code-point-order.d.ts +8 -0
  55. package/dist/code-point-order.d.ts.map +1 -0
  56. package/dist/code-point-order.js +20 -0
  57. package/dist/code-point-order.js.map +1 -0
  58. package/dist/connector-request.d.ts +87 -0
  59. package/dist/connector-request.d.ts.map +1 -0
  60. package/dist/connector-request.js +370 -0
  61. package/dist/connector-request.js.map +1 -0
  62. package/dist/connectors.d.ts +262 -0
  63. package/dist/connectors.d.ts.map +1 -0
  64. package/dist/connectors.js +1179 -0
  65. package/dist/connectors.js.map +1 -0
  66. package/dist/cross-bundle.d.ts +135 -0
  67. package/dist/cross-bundle.d.ts.map +1 -0
  68. package/dist/cross-bundle.js +186 -0
  69. package/dist/cross-bundle.js.map +1 -0
  70. package/dist/dependencies.d.ts +94 -0
  71. package/dist/dependencies.d.ts.map +1 -0
  72. package/dist/dependencies.js +180 -0
  73. package/dist/dependencies.js.map +1 -0
  74. package/dist/document-codec.d.ts +5 -1
  75. package/dist/document-codec.d.ts.map +1 -1
  76. package/dist/document-codec.js +7 -4
  77. package/dist/document-codec.js.map +1 -1
  78. package/dist/document-field-actions.d.ts +31 -1
  79. package/dist/document-field-actions.d.ts.map +1 -1
  80. package/dist/document-field-actions.js +137 -34
  81. package/dist/document-field-actions.js.map +1 -1
  82. package/dist/document-mutation.d.ts +22 -10
  83. package/dist/document-mutation.d.ts.map +1 -1
  84. package/dist/document-mutation.js +61 -27
  85. package/dist/document-mutation.js.map +1 -1
  86. package/dist/document-write-policy.d.ts.map +1 -1
  87. package/dist/document-write-policy.js +4 -2
  88. package/dist/document-write-policy.js.map +1 -1
  89. package/dist/domain-model.d.ts +73 -0
  90. package/dist/domain-model.d.ts.map +1 -0
  91. package/dist/domain-model.js +169 -0
  92. package/dist/domain-model.js.map +1 -0
  93. package/dist/engine.d.ts +16 -8
  94. package/dist/engine.d.ts.map +1 -1
  95. package/dist/engine.js +42 -4
  96. package/dist/engine.js.map +1 -1
  97. package/dist/file-journaled-backend-internal.d.ts +21 -0
  98. package/dist/file-journaled-backend-internal.d.ts.map +1 -0
  99. package/dist/file-journaled-backend-internal.js +12 -0
  100. package/dist/file-journaled-backend-internal.js.map +1 -0
  101. package/dist/file-journaled-backend.d.ts +160 -0
  102. package/dist/file-journaled-backend.d.ts.map +1 -0
  103. package/dist/file-journaled-backend.js +1345 -0
  104. package/dist/file-journaled-backend.js.map +1 -0
  105. package/dist/filesystem-host.d.ts +15 -0
  106. package/dist/filesystem-host.d.ts.map +1 -0
  107. package/dist/filesystem-host.js +20 -0
  108. package/dist/filesystem-host.js.map +1 -0
  109. package/dist/filesystem-identity.d.ts +86 -4
  110. package/dist/filesystem-identity.d.ts.map +1 -1
  111. package/dist/filesystem-identity.js +338 -102
  112. package/dist/filesystem-identity.js.map +1 -1
  113. package/dist/filesystem-lock.d.ts +16 -3
  114. package/dist/filesystem-lock.d.ts.map +1 -1
  115. package/dist/filesystem-lock.js +323 -77
  116. package/dist/filesystem-lock.js.map +1 -1
  117. package/dist/filesystem-push-role.d.ts +77 -0
  118. package/dist/filesystem-push-role.d.ts.map +1 -0
  119. package/dist/filesystem-push-role.js +165 -0
  120. package/dist/filesystem-push-role.js.map +1 -0
  121. package/dist/filesystem.d.ts +17 -0
  122. package/dist/filesystem.d.ts.map +1 -0
  123. package/dist/filesystem.js +18 -0
  124. package/dist/filesystem.js.map +1 -0
  125. package/dist/governed-body-write.d.ts +106 -0
  126. package/dist/governed-body-write.d.ts.map +1 -0
  127. package/dist/governed-body-write.js +251 -0
  128. package/dist/governed-body-write.js.map +1 -0
  129. package/dist/host-policy-snapshot.d.ts +9 -0
  130. package/dist/host-policy-snapshot.d.ts.map +1 -0
  131. package/dist/host-policy-snapshot.js +33 -0
  132. package/dist/host-policy-snapshot.js.map +1 -0
  133. package/dist/host-text.d.ts +31 -0
  134. package/dist/host-text.d.ts.map +1 -0
  135. package/dist/host-text.js +77 -0
  136. package/dist/host-text.js.map +1 -0
  137. package/dist/hosted-client/binding.d.ts +7 -0
  138. package/dist/hosted-client/binding.d.ts.map +1 -0
  139. package/dist/hosted-client/binding.js +10 -0
  140. package/dist/hosted-client/binding.js.map +1 -0
  141. package/dist/hosted-client/blob-delivery.d.ts +67 -0
  142. package/dist/hosted-client/blob-delivery.d.ts.map +1 -0
  143. package/dist/hosted-client/blob-delivery.js +169 -0
  144. package/dist/hosted-client/blob-delivery.js.map +1 -0
  145. package/dist/hosted-client/blob-write.d.ts +386 -0
  146. package/dist/hosted-client/blob-write.d.ts.map +1 -0
  147. package/dist/hosted-client/blob-write.js +770 -0
  148. package/dist/hosted-client/blob-write.js.map +1 -0
  149. package/dist/hosted-client/bundle-listing.d.ts +46 -0
  150. package/dist/hosted-client/bundle-listing.d.ts.map +1 -0
  151. package/dist/hosted-client/bundle-listing.js +36 -0
  152. package/dist/hosted-client/bundle-listing.js.map +1 -0
  153. package/dist/hosted-client/client.d.ts +219 -0
  154. package/dist/hosted-client/client.d.ts.map +1 -0
  155. package/dist/hosted-client/client.js +309 -0
  156. package/dist/hosted-client/client.js.map +1 -0
  157. package/dist/hosted-client/directory.d.ts +46 -0
  158. package/dist/hosted-client/directory.d.ts.map +1 -0
  159. package/dist/hosted-client/directory.js +74 -0
  160. package/dist/hosted-client/directory.js.map +1 -0
  161. package/dist/hosted-client/errors.d.ts +26 -0
  162. package/dist/hosted-client/errors.d.ts.map +1 -0
  163. package/dist/hosted-client/errors.js +35 -0
  164. package/dist/hosted-client/errors.js.map +1 -0
  165. package/dist/hosted-client/inbox.d.ts +320 -0
  166. package/dist/hosted-client/inbox.d.ts.map +1 -0
  167. package/dist/hosted-client/inbox.js +379 -0
  168. package/dist/hosted-client/inbox.js.map +1 -0
  169. package/dist/hosted-client/index.d.ts +30 -0
  170. package/dist/hosted-client/index.d.ts.map +1 -0
  171. package/dist/hosted-client/index.js +32 -0
  172. package/dist/hosted-client/index.js.map +1 -0
  173. package/dist/hosted-client/journal.d.ts +103 -0
  174. package/dist/hosted-client/journal.d.ts.map +1 -0
  175. package/dist/hosted-client/journal.js +464 -0
  176. package/dist/hosted-client/journal.js.map +1 -0
  177. package/dist/hosted-client/node.d.ts +74 -0
  178. package/dist/hosted-client/node.d.ts.map +1 -0
  179. package/dist/hosted-client/node.js +219 -0
  180. package/dist/hosted-client/node.js.map +1 -0
  181. package/dist/hosted-client/reference.d.ts +12 -0
  182. package/dist/hosted-client/reference.d.ts.map +1 -0
  183. package/dist/hosted-client/reference.js +29 -0
  184. package/dist/hosted-client/reference.js.map +1 -0
  185. package/dist/hosted-client/write.d.ts +217 -0
  186. package/dist/hosted-client/write.d.ts.map +1 -0
  187. package/dist/hosted-client/write.js +418 -0
  188. package/dist/hosted-client/write.js.map +1 -0
  189. package/dist/hosted-transport/answer-rows.d.ts +243 -0
  190. package/dist/hosted-transport/answer-rows.d.ts.map +1 -0
  191. package/dist/hosted-transport/answer-rows.js +454 -0
  192. package/dist/hosted-transport/answer-rows.js.map +1 -0
  193. package/dist/hosted-transport/blob-reads.d.ts +35 -0
  194. package/dist/hosted-transport/blob-reads.d.ts.map +1 -0
  195. package/dist/hosted-transport/blob-reads.js +179 -0
  196. package/dist/hosted-transport/blob-reads.js.map +1 -0
  197. package/dist/hosted-transport/blob-write.d.ts +34 -0
  198. package/dist/hosted-transport/blob-write.d.ts.map +1 -0
  199. package/dist/hosted-transport/blob-write.js +115 -0
  200. package/dist/hosted-transport/blob-write.js.map +1 -0
  201. package/dist/hosted-transport/carrier.d.ts +151 -0
  202. package/dist/hosted-transport/carrier.d.ts.map +1 -0
  203. package/dist/hosted-transport/carrier.js +260 -0
  204. package/dist/hosted-transport/carrier.js.map +1 -0
  205. package/dist/hosted-transport/history-pages.d.ts +55 -0
  206. package/dist/hosted-transport/history-pages.d.ts.map +1 -0
  207. package/dist/hosted-transport/history-pages.js +69 -0
  208. package/dist/hosted-transport/history-pages.js.map +1 -0
  209. package/dist/hosted-transport/index.d.ts +18 -0
  210. package/dist/hosted-transport/index.d.ts.map +1 -0
  211. package/dist/hosted-transport/index.js +18 -0
  212. package/dist/hosted-transport/index.js.map +1 -0
  213. package/dist/hosted-transport/operations.d.ts +85 -0
  214. package/dist/hosted-transport/operations.d.ts.map +1 -0
  215. package/dist/hosted-transport/operations.js +128 -0
  216. package/dist/hosted-transport/operations.js.map +1 -0
  217. package/dist/hosted-transport/paged-reads.d.ts +87 -0
  218. package/dist/hosted-transport/paged-reads.d.ts.map +1 -0
  219. package/dist/hosted-transport/paged-reads.js +238 -0
  220. package/dist/hosted-transport/paged-reads.js.map +1 -0
  221. package/dist/hosted-transport/read-adapter.d.ts +256 -0
  222. package/dist/hosted-transport/read-adapter.d.ts.map +1 -0
  223. package/dist/hosted-transport/read-adapter.js +568 -0
  224. package/dist/hosted-transport/read-adapter.js.map +1 -0
  225. package/dist/hosted-transport/root-write.d.ts +114 -0
  226. package/dist/hosted-transport/root-write.d.ts.map +1 -0
  227. package/dist/hosted-transport/root-write.js +171 -0
  228. package/dist/hosted-transport/root-write.js.map +1 -0
  229. package/dist/hosted-transport/whole-document-transport.d.ts +204 -0
  230. package/dist/hosted-transport/whole-document-transport.d.ts.map +1 -0
  231. package/dist/hosted-transport/whole-document-transport.js +447 -0
  232. package/dist/hosted-transport/whole-document-transport.js.map +1 -0
  233. package/dist/index.d.ts +34 -10
  234. package/dist/index.d.ts.map +1 -1
  235. package/dist/index.js +26 -8
  236. package/dist/index.js.map +1 -1
  237. package/dist/indexeddb-backend.d.ts +28 -37
  238. package/dist/indexeddb-backend.d.ts.map +1 -1
  239. package/dist/indexeddb-backend.js +467 -113
  240. package/dist/indexeddb-backend.js.map +1 -1
  241. package/dist/journaled-backend.d.ts +232 -15
  242. package/dist/journaled-backend.d.ts.map +1 -1
  243. package/dist/journaled-backend.js +254 -55
  244. package/dist/journaled-backend.js.map +1 -1
  245. package/dist/kind-authoring.d.ts +170 -0
  246. package/dist/kind-authoring.d.ts.map +1 -0
  247. package/dist/kind-authoring.js +451 -0
  248. package/dist/kind-authoring.js.map +1 -0
  249. package/dist/kind-conformance-error.d.ts +15 -0
  250. package/dist/kind-conformance-error.d.ts.map +1 -0
  251. package/dist/kind-conformance-error.js +20 -0
  252. package/dist/kind-conformance-error.js.map +1 -0
  253. package/dist/kind-coverage.d.ts +99 -0
  254. package/dist/kind-coverage.d.ts.map +1 -0
  255. package/dist/kind-coverage.js +186 -0
  256. package/dist/kind-coverage.js.map +1 -0
  257. package/dist/kind-field-mutation.d.ts +4 -0
  258. package/dist/kind-field-mutation.d.ts.map +1 -1
  259. package/dist/kind-field-mutation.js +28 -3
  260. package/dist/kind-field-mutation.js.map +1 -1
  261. package/dist/kinds-load.js +4 -4
  262. package/dist/kinds-load.js.map +1 -1
  263. package/dist/kinds.d.ts +65 -2
  264. package/dist/kinds.d.ts.map +1 -1
  265. package/dist/kinds.js +341 -21
  266. package/dist/kinds.js.map +1 -1
  267. package/dist/link-types.d.ts +26 -0
  268. package/dist/link-types.d.ts.map +1 -0
  269. package/dist/link-types.js +57 -0
  270. package/dist/link-types.js.map +1 -0
  271. package/dist/links.d.ts +21 -3
  272. package/dist/links.d.ts.map +1 -1
  273. package/dist/links.js +213 -14
  274. package/dist/links.js.map +1 -1
  275. package/dist/managed-document-metadata.d.ts +2 -0
  276. package/dist/managed-document-metadata.d.ts.map +1 -0
  277. package/dist/managed-document-metadata.js +9 -0
  278. package/dist/managed-document-metadata.js.map +1 -0
  279. package/dist/memory-backend.d.ts.map +1 -1
  280. package/dist/memory-backend.js +6 -2
  281. package/dist/memory-backend.js.map +1 -1
  282. package/dist/paths.d.ts +16 -0
  283. package/dist/paths.d.ts.map +1 -1
  284. package/dist/paths.js +25 -0
  285. package/dist/paths.js.map +1 -1
  286. package/dist/platform.d.ts +13 -2
  287. package/dist/platform.d.ts.map +1 -1
  288. package/dist/platform.js +16 -0
  289. package/dist/platform.js.map +1 -1
  290. package/dist/portable-export.d.ts +119 -0
  291. package/dist/portable-export.d.ts.map +1 -0
  292. package/dist/portable-export.js +501 -0
  293. package/dist/portable-export.js.map +1 -0
  294. package/dist/publication-filesystem.d.ts +1 -1
  295. package/dist/publication-filesystem.d.ts.map +1 -1
  296. package/dist/publication-filesystem.js +1 -1
  297. package/dist/publication-filesystem.js.map +1 -1
  298. package/dist/qualified-links.d.ts +67 -0
  299. package/dist/qualified-links.d.ts.map +1 -0
  300. package/dist/qualified-links.js +117 -0
  301. package/dist/qualified-links.js.map +1 -0
  302. package/dist/query-filter.d.ts +16 -2
  303. package/dist/query-filter.d.ts.map +1 -1
  304. package/dist/query-filter.js +40 -1
  305. package/dist/query-filter.js.map +1 -1
  306. package/dist/query-order.d.ts +22 -0
  307. package/dist/query-order.d.ts.map +1 -0
  308. package/dist/query-order.js +42 -0
  309. package/dist/query-order.js.map +1 -0
  310. package/dist/recipe-lifecycle/errors.d.ts +96 -0
  311. package/dist/recipe-lifecycle/errors.d.ts.map +1 -0
  312. package/dist/recipe-lifecycle/errors.js +122 -0
  313. package/dist/recipe-lifecycle/errors.js.map +1 -0
  314. package/dist/recipe-lifecycle/evolution.d.ts +112 -0
  315. package/dist/recipe-lifecycle/evolution.d.ts.map +1 -0
  316. package/dist/recipe-lifecycle/evolution.js +941 -0
  317. package/dist/recipe-lifecycle/evolution.js.map +1 -0
  318. package/dist/recipe-lifecycle/index.d.ts +30 -0
  319. package/dist/recipe-lifecycle/index.d.ts.map +1 -0
  320. package/dist/recipe-lifecycle/index.js +26 -0
  321. package/dist/recipe-lifecycle/index.js.map +1 -0
  322. package/dist/recipe-lifecycle/install.d.ts +155 -0
  323. package/dist/recipe-lifecycle/install.d.ts.map +1 -0
  324. package/dist/recipe-lifecycle/install.js +594 -0
  325. package/dist/recipe-lifecycle/install.js.map +1 -0
  326. package/dist/recipe-lifecycle/legacy-aliases.d.ts +16 -0
  327. package/dist/recipe-lifecycle/legacy-aliases.d.ts.map +1 -0
  328. package/dist/recipe-lifecycle/legacy-aliases.js +51 -0
  329. package/dist/recipe-lifecycle/legacy-aliases.js.map +1 -0
  330. package/dist/recipe-lifecycle/stamp.d.ts +151 -0
  331. package/dist/recipe-lifecycle/stamp.d.ts.map +1 -0
  332. package/dist/recipe-lifecycle/stamp.js +364 -0
  333. package/dist/recipe-lifecycle/stamp.js.map +1 -0
  334. package/dist/recipe-set-preflight.d.ts +139 -0
  335. package/dist/recipe-set-preflight.d.ts.map +1 -0
  336. package/dist/recipe-set-preflight.js +536 -0
  337. package/dist/recipe-set-preflight.js.map +1 -0
  338. package/dist/recipes.d.ts +29 -1
  339. package/dist/recipes.d.ts.map +1 -1
  340. package/dist/recipes.js +137 -1
  341. package/dist/recipes.js.map +1 -1
  342. package/dist/record-overlay/apply.d.ts +43 -0
  343. package/dist/record-overlay/apply.d.ts.map +1 -0
  344. package/dist/record-overlay/apply.js +527 -0
  345. package/dist/record-overlay/apply.js.map +1 -0
  346. package/dist/record-overlay/canonical.d.ts +22 -0
  347. package/dist/record-overlay/canonical.d.ts.map +1 -0
  348. package/dist/record-overlay/canonical.js +47 -0
  349. package/dist/record-overlay/canonical.js.map +1 -0
  350. package/dist/record-overlay/digest.d.ts +4 -0
  351. package/dist/record-overlay/digest.d.ts.map +1 -0
  352. package/dist/record-overlay/digest.js +11 -0
  353. package/dist/record-overlay/digest.js.map +1 -0
  354. package/dist/record-overlay/errors.d.ts +44 -0
  355. package/dist/record-overlay/errors.d.ts.map +1 -0
  356. package/dist/record-overlay/errors.js +55 -0
  357. package/dist/record-overlay/errors.js.map +1 -0
  358. package/dist/record-overlay/findings.d.ts +5 -0
  359. package/dist/record-overlay/findings.d.ts.map +1 -0
  360. package/dist/record-overlay/findings.js +83 -0
  361. package/dist/record-overlay/findings.js.map +1 -0
  362. package/dist/record-overlay/index.d.ts +23 -0
  363. package/dist/record-overlay/index.d.ts.map +1 -0
  364. package/dist/record-overlay/index.js +21 -0
  365. package/dist/record-overlay/index.js.map +1 -0
  366. package/dist/record-overlay/plan.d.ts +12 -0
  367. package/dist/record-overlay/plan.d.ts.map +1 -0
  368. package/dist/record-overlay/plan.js +285 -0
  369. package/dist/record-overlay/plan.js.map +1 -0
  370. package/dist/record-overlay/policy.d.ts +69 -0
  371. package/dist/record-overlay/policy.d.ts.map +1 -0
  372. package/dist/record-overlay/policy.js +228 -0
  373. package/dist/record-overlay/policy.js.map +1 -0
  374. package/dist/record-overlay/redact.d.ts +3 -0
  375. package/dist/record-overlay/redact.d.ts.map +1 -0
  376. package/dist/record-overlay/redact.js +27 -0
  377. package/dist/record-overlay/redact.js.map +1 -0
  378. package/dist/record-overlay/signal-kind.d.ts +30 -0
  379. package/dist/record-overlay/signal-kind.d.ts.map +1 -0
  380. package/dist/record-overlay/signal-kind.js +38 -0
  381. package/dist/record-overlay/signal-kind.js.map +1 -0
  382. package/dist/record-overlay/signal-text.d.ts +45 -0
  383. package/dist/record-overlay/signal-text.d.ts.map +1 -0
  384. package/dist/record-overlay/signal-text.js +116 -0
  385. package/dist/record-overlay/signal-text.js.map +1 -0
  386. package/dist/record-overlay/source-index.d.ts +19 -0
  387. package/dist/record-overlay/source-index.d.ts.map +1 -0
  388. package/dist/record-overlay/source-index.js +102 -0
  389. package/dist/record-overlay/source-index.js.map +1 -0
  390. package/dist/record-overlay/types.d.ts +291 -0
  391. package/dist/record-overlay/types.d.ts.map +1 -0
  392. package/dist/record-overlay/types.js +2 -0
  393. package/dist/record-overlay/types.js.map +1 -0
  394. package/dist/remote-backend.d.ts +67 -67
  395. package/dist/remote-backend.d.ts.map +1 -1
  396. package/dist/remote-backend.js +168 -201
  397. package/dist/remote-backend.js.map +1 -1
  398. package/dist/remote-document-codec.d.ts +2 -1
  399. package/dist/remote-document-codec.d.ts.map +1 -1
  400. package/dist/remote-document-codec.js +3 -2
  401. package/dist/remote-document-codec.js.map +1 -1
  402. package/dist/remote-error.d.ts +38 -0
  403. package/dist/remote-error.d.ts.map +1 -0
  404. package/dist/remote-error.js +59 -0
  405. package/dist/remote-error.js.map +1 -0
  406. package/dist/remote-operations.d.ts +0 -40
  407. package/dist/remote-operations.d.ts.map +1 -1
  408. package/dist/remote-operations.js +26 -6
  409. package/dist/remote-operations.js.map +1 -1
  410. package/dist/remote-parsers.d.ts +86 -0
  411. package/dist/remote-parsers.d.ts.map +1 -0
  412. package/dist/remote-parsers.js +181 -0
  413. package/dist/remote-parsers.js.map +1 -0
  414. package/dist/remote.d.ts +5 -2
  415. package/dist/remote.d.ts.map +1 -1
  416. package/dist/remote.js +5 -1
  417. package/dist/remote.js.map +1 -1
  418. package/dist/search/backend-source.d.ts +6 -0
  419. package/dist/search/backend-source.d.ts.map +1 -0
  420. package/dist/search/backend-source.js +33 -0
  421. package/dist/search/backend-source.js.map +1 -0
  422. package/dist/search/contract.d.ts +151 -0
  423. package/dist/search/contract.d.ts.map +1 -0
  424. package/dist/search/contract.js +78 -0
  425. package/dist/search/contract.js.map +1 -0
  426. package/dist/search/errors.d.ts +30 -0
  427. package/dist/search/errors.d.ts.map +1 -0
  428. package/dist/search/errors.js +50 -0
  429. package/dist/search/errors.js.map +1 -0
  430. package/dist/search/identity.d.ts +12 -0
  431. package/dist/search/identity.d.ts.map +1 -0
  432. package/dist/search/identity.js +90 -0
  433. package/dist/search/identity.js.map +1 -0
  434. package/dist/search/index.d.ts +16 -0
  435. package/dist/search/index.d.ts.map +1 -0
  436. package/dist/search/index.js +15 -0
  437. package/dist/search/index.js.map +1 -0
  438. package/dist/search/memory-source.d.ts +36 -0
  439. package/dist/search/memory-source.d.ts.map +1 -0
  440. package/dist/search/memory-source.js +235 -0
  441. package/dist/search/memory-source.js.map +1 -0
  442. package/dist/search/rank.d.ts +34 -0
  443. package/dist/search/rank.d.ts.map +1 -0
  444. package/dist/search/rank.js +129 -0
  445. package/dist/search/rank.js.map +1 -0
  446. package/dist/search/row-text.d.ts +38 -0
  447. package/dist/search/row-text.d.ts.map +1 -0
  448. package/dist/search/row-text.js +88 -0
  449. package/dist/search/row-text.js.map +1 -0
  450. package/dist/search/search.d.ts +28 -0
  451. package/dist/search/search.d.ts.map +1 -0
  452. package/dist/search/search.js +257 -0
  453. package/dist/search/search.js.map +1 -0
  454. package/dist/search/source.d.ts +67 -0
  455. package/dist/search/source.d.ts.map +1 -0
  456. package/dist/search/source.js +2 -0
  457. package/dist/search/source.js.map +1 -0
  458. package/dist/search/text.d.ts +47 -0
  459. package/dist/search/text.d.ts.map +1 -0
  460. package/dist/search/text.js +150 -0
  461. package/dist/search/text.js.map +1 -0
  462. package/dist/site-capabilities.d.ts +345 -0
  463. package/dist/site-capabilities.d.ts.map +1 -0
  464. package/dist/site-capabilities.js +724 -0
  465. package/dist/site-capabilities.js.map +1 -0
  466. package/dist/source-engine/guard.d.ts +78 -0
  467. package/dist/source-engine/guard.d.ts.map +1 -0
  468. package/dist/source-engine/guard.js +423 -0
  469. package/dist/source-engine/guard.js.map +1 -0
  470. package/dist/source-engine/index.d.ts +26 -0
  471. package/dist/source-engine/index.d.ts.map +1 -0
  472. package/dist/source-engine/index.js +21 -0
  473. package/dist/source-engine/index.js.map +1 -0
  474. package/dist/source-engine/machine-state.d.ts +74 -0
  475. package/dist/source-engine/machine-state.d.ts.map +1 -0
  476. package/dist/source-engine/machine-state.js +48 -0
  477. package/dist/source-engine/machine-state.js.map +1 -0
  478. package/dist/source-engine/observe.d.ts +18 -0
  479. package/dist/source-engine/observe.d.ts.map +1 -0
  480. package/dist/source-engine/observe.js +620 -0
  481. package/dist/source-engine/observe.js.map +1 -0
  482. package/dist/source-engine/overlay.d.ts +49 -0
  483. package/dist/source-engine/overlay.d.ts.map +1 -0
  484. package/dist/source-engine/overlay.js +114 -0
  485. package/dist/source-engine/overlay.js.map +1 -0
  486. package/dist/source-engine/robots.d.ts +53 -0
  487. package/dist/source-engine/robots.d.ts.map +1 -0
  488. package/dist/source-engine/robots.js +158 -0
  489. package/dist/source-engine/robots.js.map +1 -0
  490. package/dist/source-engine/types.d.ts +287 -0
  491. package/dist/source-engine/types.d.ts.map +1 -0
  492. package/dist/source-engine/types.js +2 -0
  493. package/dist/source-engine/types.js.map +1 -0
  494. package/dist/source-harness/conformance.d.ts +16 -0
  495. package/dist/source-harness/conformance.d.ts.map +1 -0
  496. package/dist/source-harness/conformance.js +266 -0
  497. package/dist/source-harness/conformance.js.map +1 -0
  498. package/dist/source-harness/fixture.d.ts +95 -0
  499. package/dist/source-harness/fixture.d.ts.map +1 -0
  500. package/dist/source-harness/fixture.js +273 -0
  501. package/dist/source-harness/fixture.js.map +1 -0
  502. package/dist/source-harness/index.d.ts +22 -0
  503. package/dist/source-harness/index.d.ts.map +1 -0
  504. package/dist/source-harness/index.js +19 -0
  505. package/dist/source-harness/index.js.map +1 -0
  506. package/dist/source-harness/peer.d.ts +74 -0
  507. package/dist/source-harness/peer.d.ts.map +1 -0
  508. package/dist/source-harness/peer.js +106 -0
  509. package/dist/source-harness/peer.js.map +1 -0
  510. package/dist/source-profiles/index.d.ts +31 -0
  511. package/dist/source-profiles/index.d.ts.map +1 -0
  512. package/dist/source-profiles/index.js +206 -0
  513. package/dist/source-profiles/index.js.map +1 -0
  514. package/dist/source-profiles/link-header.d.ts +6 -0
  515. package/dist/source-profiles/link-header.d.ts.map +1 -0
  516. package/dist/source-profiles/link-header.js +131 -0
  517. package/dist/source-profiles/link-header.js.map +1 -0
  518. package/dist/storage.d.ts +6 -2
  519. package/dist/storage.d.ts.map +1 -1
  520. package/dist/storage.js +4 -1
  521. package/dist/storage.js.map +1 -1
  522. package/dist/types.d.ts +38 -5
  523. package/dist/types.d.ts.map +1 -1
  524. package/dist/types.js +0 -10
  525. package/dist/types.js.map +1 -1
  526. package/dist/uncertain-write.d.ts +161 -19
  527. package/dist/uncertain-write.d.ts.map +1 -1
  528. package/dist/uncertain-write.js +90 -31
  529. package/dist/uncertain-write.js.map +1 -1
  530. package/dist/versioning.d.ts +9 -4
  531. package/dist/versioning.d.ts.map +1 -1
  532. package/dist/versioning.js +9 -4
  533. package/dist/versioning.js.map +1 -1
  534. package/dist/write-identity.d.ts +5 -0
  535. package/dist/write-identity.d.ts.map +1 -0
  536. package/dist/write-identity.js +9 -0
  537. package/dist/write-identity.js.map +1 -0
  538. package/package.json +107 -2
@@ -0,0 +1,169 @@
1
+ /** Read-only projection of a caller-built canonical Superbee KindRegistry. No parsing or I/O. */
2
+ const compare = (a, b) => a < b ? -1 : a > b ? 1 : 0;
3
+ function invalid(path, expected) {
4
+ throw new TypeError(`Invalid canonical Kind registry: ${path} must be ${expected}`);
5
+ }
6
+ function record(value, path) {
7
+ if (value === null || typeof value !== "object" || Array.isArray(value)
8
+ || ![Object.prototype, null].includes(Object.getPrototypeOf(value))) {
9
+ invalid(path, "a plain record");
10
+ }
11
+ return value;
12
+ }
13
+ function string(value, path) {
14
+ if (typeof value !== "string")
15
+ invalid(path, "a string");
16
+ return value;
17
+ }
18
+ function strings(value, path) {
19
+ if (!Array.isArray(value))
20
+ invalid(path, "an array of strings");
21
+ return Object.freeze(Array.from(value, (entry, i) => string(entry, `${path}[${i}]`)));
22
+ }
23
+ function dictionary(value, path, convert) {
24
+ record(value, path);
25
+ return Object.freeze(Object.fromEntries(Object.keys(value).sort(compare)
26
+ .map((key) => [key, convert(value[key], `${path}[${JSON.stringify(key)}]`)])));
27
+ }
28
+ function textMap(value, path) { return dictionary(value, path, string); }
29
+ function listMap(value, path) { return dictionary(value, path, strings); }
30
+ // Canonical warnings are preserved, including future JSON metadata. Never parse their messages.
31
+ function jsonCopy(value, path, ancestors = new Set()) {
32
+ if (value === null || typeof value === "string" || typeof value === "boolean")
33
+ return value;
34
+ if (typeof value === "number" && Number.isFinite(value))
35
+ return value;
36
+ if (typeof value !== "object")
37
+ invalid(path, "JSON data");
38
+ if (ancestors.has(value))
39
+ invalid(path, "acyclic JSON data");
40
+ ancestors.add(value);
41
+ try {
42
+ if (Array.isArray(value))
43
+ return Object.freeze(Array.from(value, (item, i) => jsonCopy(item, `${path}[${i}]`, ancestors)));
44
+ record(value, path);
45
+ return Object.freeze(Object.fromEntries(Object.keys(value).sort(compare)
46
+ .filter((key) => value[key] !== undefined)
47
+ .map((key) => [key, jsonCopy(value[key], `${path}[${JSON.stringify(key)}]`, ancestors)])));
48
+ }
49
+ finally {
50
+ ancestors.delete(value);
51
+ }
52
+ }
53
+ function kindCopy(input) {
54
+ record(input, "kind");
55
+ const id = string(input.id, "kind.id");
56
+ const governs = string(input.governs, `${id}.governs`);
57
+ if (!id.trim() || !governs.trim())
58
+ invalid("kind.id and governs", "non-empty strings");
59
+ const fields = record(input.fields, `${id}.fields`);
60
+ const node = {
61
+ id,
62
+ title: string(input.title, `${id}.title`),
63
+ governs,
64
+ fields: {
65
+ required: strings(fields.required, `${id}.fields.required`),
66
+ optional: strings(fields.optional, `${id}.fields.optional`),
67
+ values: listMap(fields.values, `${id}.fields.values`),
68
+ terminal: listMap(fields.terminal, `${id}.fields.terminal`),
69
+ descriptions: textMap(fields.descriptions, `${id}.fields.descriptions`),
70
+ },
71
+ };
72
+ if (fields.valueDescriptions !== undefined) {
73
+ node.fields.valueDescriptions = dictionary(fields.valueDescriptions, `${id}.fields.valueDescriptions`, textMap);
74
+ }
75
+ Object.freeze(node.fields);
76
+ for (const key of ["description", "path", "freshnessHorizon"]) {
77
+ if (input[key] !== undefined)
78
+ node[key] = string(input[key], `${id}.${key}`);
79
+ }
80
+ for (const key of ["links", "linkDescriptions", "expectsInbound"]) {
81
+ if (input[key] !== undefined)
82
+ node[key] = textMap(input[key], `${id}.${key}`);
83
+ }
84
+ if (input.sections !== undefined)
85
+ node.sections = strings(input.sections, `${id}.sections`);
86
+ if (input.browseCollapsed !== undefined) {
87
+ if (typeof input.browseCollapsed !== "boolean")
88
+ invalid(`${id}.browseCollapsed`, "a boolean");
89
+ node.browseCollapsed = input.browseCollapsed;
90
+ }
91
+ if (input.claim !== undefined) {
92
+ record(input.claim, `${id}.claim`);
93
+ node.claim = Object.freeze(Object.fromEntries(["ownerField", "stateField"]
94
+ .filter((key) => input.claim[key] !== undefined)
95
+ .map((key) => [key, string(input.claim[key], `${id}.claim.${key}`)])));
96
+ }
97
+ return Object.freeze(node);
98
+ }
99
+ /**
100
+ * Project admitted canonical definitions, not CLI authoring rows or raw Markdown.
101
+ * Structural checks protect the projection boundary; core remains semantic authority.
102
+ */
103
+ export function projectDomainModelV0(registry) {
104
+ record(registry, "registry");
105
+ if (!(registry.kinds instanceof Map))
106
+ invalid("registry.kinds", "a Map");
107
+ if (!Array.isArray(registry.warnings))
108
+ invalid("registry.warnings", "an array");
109
+ const byName = new Map();
110
+ const ids = new Set();
111
+ for (const [name, input] of registry.kinds) {
112
+ const node = kindCopy(input);
113
+ if (name !== node.governs)
114
+ invalid(`Map key ${String(name)}`, "equal to its Kind's governs");
115
+ if (ids.has(node.id))
116
+ invalid(`kind.id ${node.id}`, "unique in the registry");
117
+ ids.add(node.id);
118
+ byName.set(name, node);
119
+ }
120
+ const kinds = Object.freeze([...byName.values()].sort((a, b) => compare(a.id, b.id)));
121
+ const relationships = [];
122
+ const diagnostics = [];
123
+ for (const node of kinds) {
124
+ for (const [key, kind] of [["links", "outbound"], ["expectsInbound", "inbound-expectation"]]) {
125
+ for (const [label, other] of Object.entries(node[key] ?? {}).sort(([a], [b]) => compare(a, b))) {
126
+ const fromKind = kind === "outbound" ? node.governs : other;
127
+ const toKind = kind === "outbound" ? other : node.governs;
128
+ const id = JSON.stringify([kind, node.id, label]);
129
+ // Source paths address canonical declarations, not JS property names or filesystem paths.
130
+ const path = Object.freeze([key === "links" ? "links" : "expects_inbound", label]);
131
+ const edge = {
132
+ id, kind, declaredBy: node.id, path, label, fromKind, toKind,
133
+ fromId: byName.get(fromKind)?.id ?? null,
134
+ toId: byName.get(toKind)?.id ?? null,
135
+ };
136
+ if (kind === "outbound" && Object.hasOwn(node.linkDescriptions ?? {}, label)) {
137
+ edge.description = node.linkDescriptions[label];
138
+ }
139
+ relationships.push(Object.freeze(edge));
140
+ for (const [endpoint, name] of [["from", fromKind], ["to", toKind]]) {
141
+ if (byName.has(name))
142
+ continue;
143
+ diagnostics.push(Object.freeze({
144
+ code: "KIND_OUTSIDE_SCOPE", severity: "info", relationshipId: id,
145
+ declaredBy: node.id, path, endpoint, kind: name,
146
+ message: `Kind ${JSON.stringify(name)} is not declared in the supplied registry.`,
147
+ }));
148
+ }
149
+ }
150
+ }
151
+ }
152
+ const registryWarnings = Object.freeze(Array.from(registry.warnings, (warning, i) => {
153
+ record(warning, `warnings[${i}]`);
154
+ string(warning.code, `warnings[${i}].code`);
155
+ string(warning.message, `warnings[${i}].message`);
156
+ for (const key of ["field", "severity"]) {
157
+ if (warning[key] !== undefined)
158
+ string(warning[key], `warnings[${i}].${key}`);
159
+ }
160
+ return jsonCopy(warning, `warnings[${i}]`);
161
+ }));
162
+ return Object.freeze({
163
+ schemaVersion: 0, kinds,
164
+ relationships: Object.freeze(relationships),
165
+ registryWarnings,
166
+ diagnostics: Object.freeze(diagnostics),
167
+ });
168
+ }
169
+ //# sourceMappingURL=domain-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain-model.js","sourceRoot":"","sources":["../src/domain-model.ts"],"names":[],"mappings":"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"}
package/dist/engine.d.ts CHANGED
@@ -1,9 +1,3 @@
1
- /**
2
- * Runtime-neutral Superbee engine operations.
3
- *
4
- * Every operation receives its {@link StorageBackend} explicitly. Node filesystem defaults live
5
- * only in the legacy root adapter (`bundle.ts`); Worker and browser consumers import this module.
6
- */
7
1
  import type { BlobKey, ConceptId, DeleteOptions, EdgeFilter, HeadResult, Link, OkfDocument, QueryFilter, ReadBlobResult, ReadResult, StorageBackend, Version, VersionInfo, WriteOptions } from "./types.js";
8
2
  export { MalformedDocumentError } from "./frontmatter-contract.js";
9
3
  export type { EdgeFilter, Link } from "./types.js";
@@ -22,7 +16,7 @@ export interface QueryOptions {
22
16
  onSkip?: (skip: SkippedDoc) => void;
23
17
  }
24
18
  /** Read the bundle-root OKF edition through an explicit backend. */
25
- export declare function readBundleOkfVersion(backend: StorageBackend): Promise<string | undefined>;
19
+ export declare function readBundleOkfVersion(backend: Pick<StorageBackend, "readReserved">): Promise<string | undefined>;
26
20
  /** Validate, normalize for the backend's bundle edition, and atomically persist a document. */
27
21
  export declare function writeDocVersioned(backend: StorageBackend, doc: OkfDocument, options?: WriteOptions): Promise<WriteResult>;
28
22
  /** Edition-pinned sibling for mutation policy after it has read the root once. */
@@ -36,15 +30,29 @@ export declare function readDoc(backend: StorageBackend, id: ConceptId): Promise
36
30
  export declare function existsDoc(backend: StorageBackend, id: ConceptId): Promise<boolean>;
37
31
  export declare function docVersions(backend: StorageBackend, id: ConceptId): Promise<VersionInfo[]>;
38
32
  export declare function deleteDoc(backend: StorageBackend, id: ConceptId, options?: DeleteOptions): Promise<boolean>;
33
+ /**
34
+ * Delete-tolerant batch read: one `readMany`, falling back to per-id reads only when the batch
35
+ * fails because an id vanished (or, with `onMalformed`, because one document is malformed).
36
+ * Absent ids are simply missing from the result. Shared by the scan path and the cross-bundle
37
+ * resolver, which issues one call per bound alias.
38
+ */
39
+ export declare function readManyExisting(backend: StorageBackend, ids: ConceptId[], onMalformed?: (skip: SkippedDoc) => void): Promise<ReadResult[]>;
39
40
  export declare function query(backend: StorageBackend, filter?: QueryFilter, options?: QueryOptions): Promise<OkfDocument[]>;
40
41
  export declare const list: typeof query;
41
42
  export declare function queryHeads(backend: StorageBackend, filter?: QueryFilter, options?: QueryOptions): Promise<HeadResult[]>;
42
43
  export declare function parseLinks(doc: OkfDocument): Link[];
43
- export declare function queryEdges(backend: StorageBackend, filter?: EdgeFilter): Promise<Link[]>;
44
+ export declare function queryEdges(backend: StorageBackend, filter?: EdgeFilter, options?: QueryOptions): Promise<Link[]>;
44
45
  export declare function backlinks(backend: StorageBackend, target: ConceptId): Promise<Link[]>;
45
46
  export declare function readBlob(backend: StorageBackend, key: BlobKey): Promise<ReadBlobResult | null>;
46
47
  export declare function writeBlob(backend: StorageBackend, key: BlobKey, bytes: Uint8Array, contentType?: string, options?: WriteOptions): Promise<Version>;
47
48
  export declare function existsBlob(backend: StorageBackend, key: BlobKey): Promise<boolean>;
48
49
  export declare function listBlobs(backend: StorageBackend, prefix?: string): Promise<BlobKey[]>;
49
50
  export declare function deleteBlob(backend: StorageBackend, key: BlobKey, options?: DeleteOptions): Promise<boolean>;
51
+ /** Whole-document replacement policy without Kind authoring or metadata synthesis.
52
+ * A decision is persisted only against the head it inspected; a concurrent change is terminal.
53
+ * Raw writeDocVersioned remains available to storage and trusted transport adapters.
54
+ */
55
+ export declare function writeDocVersionedGuarded(backend: StorageBackend, doc: OkfDocument, options?: WriteOptions): Promise<WriteResult>;
56
+ export { BodyReplaceError, captureBodyReplacePosture } from "./body-replace-guards.js";
57
+ export type { BodyReplacePosture } from "./body-replace-guards.js";
50
58
  //# sourceMappingURL=engine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
package/dist/engine.js CHANGED
@@ -1,3 +1,5 @@
1
+ import { captureBodyReplacePosture, guardBodyReplace } from "./body-replace-guards.js";
2
+ import { VersionConflict } from "./version-transport.js";
1
3
  /**
2
4
  * Runtime-neutral Superbee engine operations.
3
5
  *
@@ -95,7 +97,13 @@ export async function deleteDoc(backend, id, options) {
95
97
  function isEnoent(err) {
96
98
  return typeof err === "object" && err !== null && err.code === "ENOENT";
97
99
  }
98
- async function readManyExisting(backend, ids, onMalformed) {
100
+ /**
101
+ * Delete-tolerant batch read: one `readMany`, falling back to per-id reads only when the batch
102
+ * fails because an id vanished (or, with `onMalformed`, because one document is malformed).
103
+ * Absent ids are simply missing from the result. Shared by the scan path and the cross-bundle
104
+ * resolver, which issues one call per bound alias.
105
+ */
106
+ export async function readManyExisting(backend, ids, onMalformed) {
99
107
  try {
100
108
  return await backend.readMany(ids);
101
109
  }
@@ -137,7 +145,8 @@ export async function query(backend, filter = {}, options = {}) {
137
145
  export const list = query;
138
146
  export async function queryHeads(backend, filter = {}, options = {}) {
139
147
  if (backend.queryHeads) {
140
- const rows = (await backend.queryHeads(filter)).filter((row) => matchesFilter(row, filter));
148
+ const rows = (await backend.queryHeads(filter, options.onSkip ? { onSkip: options.onSkip } : undefined))
149
+ .filter((row) => matchesFilter(row, filter));
141
150
  rows.sort((a, b) => a.id.localeCompare(b.id));
142
151
  return rows;
143
152
  }
@@ -169,11 +178,11 @@ function toSelectorList(value) {
169
178
  return undefined;
170
179
  return Array.isArray(value) ? value : [value];
171
180
  }
172
- export async function queryEdges(backend, filter = {}) {
181
+ export async function queryEdges(backend, filter = {}, options = {}) {
173
182
  const fromSelectors = toSelectorList(filter.from)?.map(normalizeEdgeSelector);
174
183
  const toSelectors = toSelectorList(filter.to)?.map(normalizeEdgeSelector);
175
184
  const edges = [];
176
- for (const doc of await query(backend)) {
185
+ for (const doc of await query(backend, {}, options)) {
177
186
  for (const link of parseLinksFromDoc(doc)) {
178
187
  if (!matchesEdgeSelector(link.from, fromSelectors))
179
188
  continue;
@@ -207,4 +216,33 @@ export async function listBlobs(backend, prefix) {
207
216
  export async function deleteBlob(backend, key, options) {
208
217
  return backend.deleteBlob(key, options);
209
218
  }
219
+ /** Whole-document replacement policy without Kind authoring or metadata synthesis.
220
+ * A decision is persisted only against the head it inspected; a concurrent change is terminal.
221
+ * Raw writeDocVersioned remains available to storage and trusted transport adapters.
222
+ */
223
+ export async function writeDocVersionedGuarded(backend, doc, options = {}) {
224
+ const candidate = structuredClone(doc);
225
+ assertWritableConceptDocument(candidate);
226
+ const posture = captureBodyReplacePosture(options.bodyReplace);
227
+ const captured = { ...options, ...(posture === undefined ? {} : { bodyReplace: posture }) };
228
+ let existing;
229
+ try {
230
+ existing = await backend.read(candidate.id);
231
+ }
232
+ catch (error) {
233
+ if (error?.code !== "ENOENT")
234
+ throw error;
235
+ }
236
+ const observed = existing?.version ?? null;
237
+ if (captured.expectedVersion !== undefined && captured.expectedVersion !== observed) {
238
+ throw new VersionConflict(candidate.id, captured.expectedVersion, observed);
239
+ }
240
+ if ((posture?.replaceLinks || posture?.acceptTruncatedBody) && captured.expectedVersion === undefined) {
241
+ throw new InvalidInputError("bodyReplace overrides require an explicit expected version (If-Match or If-None-Match: *).");
242
+ }
243
+ if (existing)
244
+ guardBodyReplace({ root: "", backend }, existing.doc, candidate.body, posture);
245
+ return writeDocVersioned(backend, candidate, { ...captured, expectedVersion: observed });
246
+ }
247
+ export { BodyReplaceError, captureBodyReplacePosture } from "./body-replace-guards.js";
210
248
  //# sourceMappingURL=engine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @internal Test seams of the Node log store. This module is not in the package's `exports`, so
3
+ * no consumer of `@superbee/core` can reach these keys; the store's own tests import them from
4
+ * source to inject a failing log handle and to plant raw document bytes.
5
+ */
6
+ /** The file operations the store performs on its log; a test substitutes a handle that fails on cue. */
7
+ export interface FileJournalHandle {
8
+ write(buffer: Uint8Array, offset: number, length: number, position: number): Promise<{
9
+ bytesWritten: number;
10
+ }>;
11
+ sync(): Promise<void>;
12
+ truncate(length: number): Promise<void>;
13
+ close(): Promise<void>;
14
+ }
15
+ /** Option key: `(file) => Promise<FileJournalHandle>`, opening the existing log for positional writes. */
16
+ export declare const OPEN_LOG: unique symbol;
17
+ /** Method key: `(id, raw) => Promise<void>`, planting exact bytes as a document's stored serialization. */
18
+ export declare const STORE_RAW: unique symbol;
19
+ /** Lower-only store payload limit, allowing exact budget boundaries without giant test fixtures. */
20
+ export declare const STORE_BYTE_LIMIT: unique symbol;
21
+ //# sourceMappingURL=file-journaled-backend-internal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-journaled-backend-internal.d.ts","sourceRoot":"","sources":["../src/file-journaled-backend-internal.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wGAAwG;AACxG,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/G,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,0GAA0G;AAC1G,eAAO,MAAM,QAAQ,EAAE,OAAO,MAA+C,CAAC;AAE9E,2GAA2G;AAC3G,eAAO,MAAM,SAAS,EAAE,OAAO,MAAgD,CAAC;AAEhF,oGAAoG;AACpG,eAAO,MAAM,gBAAgB,EAAE,OAAO,MAAiD,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @internal Test seams of the Node log store. This module is not in the package's `exports`, so
3
+ * no consumer of `@superbee/core` can reach these keys; the store's own tests import them from
4
+ * source to inject a failing log handle and to plant raw document bytes.
5
+ */
6
+ /** Option key: `(file) => Promise<FileJournalHandle>`, opening the existing log for positional writes. */
7
+ export const OPEN_LOG = Symbol("superbee.fileJournal.openLog");
8
+ /** Method key: `(id, raw) => Promise<void>`, planting exact bytes as a document's stored serialization. */
9
+ export const STORE_RAW = Symbol("superbee.fileJournal.storeRaw");
10
+ /** Lower-only store payload limit, allowing exact budget boundaries without giant test fixtures. */
11
+ export const STORE_BYTE_LIMIT = Symbol("superbee.fileJournal.byteLimit");
12
+ //# sourceMappingURL=file-journaled-backend-internal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-journaled-backend-internal.js","sourceRoot":"","sources":["../src/file-journaled-backend-internal.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,0GAA0G;AAC1G,MAAM,CAAC,MAAM,QAAQ,GAAkB,MAAM,CAAC,8BAA8B,CAAC,CAAC;AAE9E,2GAA2G;AAC3G,MAAM,CAAC,MAAM,SAAS,GAAkB,MAAM,CAAC,+BAA+B,CAAC,CAAC;AAEhF,oGAAoG;AACpG,MAAM,CAAC,MAAM,gBAAgB,GAAkB,MAAM,CAAC,gCAAgC,CAAC,CAAC"}
@@ -0,0 +1,160 @@
1
+ import { type BlobAdmitOptions, type BlobIntentPatch, type BlobIntentRecord, type BlobJournaledBackend, type BlobJournalGuard, type BlobJournalMutationOptions, type BlobJournalRead } from "./blob-journal.js";
2
+ import { OPEN_LOG, STORE_RAW, type FileJournalHandle } from "./file-journaled-backend-internal.js";
3
+ import { type FilesystemHostPolicy } from "./filesystem-host.js";
4
+ import { type FilesystemMutationLockOptions } from "./filesystem-lock.js";
5
+ import { type IntentPatch, type IntentRecord, type IntentUpdateOptions, type JournaledBackend, type JournaledDeleteOptions, type JournaledDeleteResult, type JournaledHead, type JournaledHeadsOptions, type JournaledReadResult, type RetireAcknowledgedOptions, type JournaledWriteOptions, type MetaWriteOptions } from "./journaled-backend.js";
6
+ import type { OperationState } from "./uncertain-write.js";
7
+ import type { BlobKey, ConceptId, DeleteOptions, OkfDocument, ReadBlobResult, ReadResult, ReservedFilename, ReservedReadResult, StorageCapabilities, Version, VersionInfo, WriteOptions } from "./types.js";
8
+ /**
9
+ * The newest layout this adapter writes and reads; it reads every earlier one too. A store stays
10
+ * at format 1 until it holds a blob intent (format 2), and at 2 until a blob intent carries
11
+ * not-dispatched evidence (format 3); the store keeps the highest format it has written. Bumping
12
+ * this requires a reader for the older layouts; open refuses any newer format.
13
+ */
14
+ export declare const FILE_JOURNAL_FORMAT_VERSION = 3;
15
+ export declare const FILE_JOURNAL_LOG = "store.log";
16
+ export declare const FILE_JOURNAL_SNAPSHOT = "store.snapshot";
17
+ /** The store's files do not hold a log or snapshot this adapter wrote; open changes nothing. */
18
+ export declare class FileJournalCorruptError extends Error {
19
+ readonly name: string;
20
+ readonly file: string;
21
+ readonly offset: number | undefined;
22
+ constructor(file: string, message: string, offset?: number);
23
+ }
24
+ /** A whole, checksummed record or snapshot in a format this adapter does not read (a newer store wrote it). */
25
+ export declare class FileJournalFormatError extends FileJournalCorruptError {
26
+ readonly name = "FileJournalFormatError";
27
+ readonly format: number;
28
+ constructor(file: string, format: number, offset?: number);
29
+ }
30
+ /**
31
+ * The store cannot tell whether its last append reached the disk (the append failed and so did
32
+ * removing it), or it was closed. Every later call rejects; reopening decides from the files.
33
+ */
34
+ export declare class FileJournalUnavailableError extends Error {
35
+ readonly name = "FileJournalUnavailableError";
36
+ }
37
+ /** A value the codec cannot persist; the mutation carrying it is refused before anything is written. */
38
+ export declare class FileJournalValueError extends TypeError {
39
+ readonly name = "FileJournalValueError";
40
+ }
41
+ export interface FileJournaledBackendOptions {
42
+ /** The directory that holds this store's log and snapshot. Created (mode 0700) when absent. */
43
+ directory: string;
44
+ /**
45
+ * The store's exclusive lock: how long open waits for another holder, and, for isolated
46
+ * tests, the lock namespace. The default waits five seconds in the per-user runtime namespace.
47
+ */
48
+ lock?: Pick<FilesystemMutationLockOptions, "waitMs" | "pollMs" | "lockRoot">;
49
+ /**
50
+ * The trusted host construction, as every Node filesystem protocol in core takes it. Omitted,
51
+ * the supported default (macOS and Linux); another host (the Windows distribution) passes its
52
+ * own. It decides the lock namespace and which replacement errors are transient.
53
+ */
54
+ hostPolicy?: FilesystemHostPolicy;
55
+ /** Open compacts when the log is larger than this many bytes. Default 8 MiB. */
56
+ compactAfterBytes?: number;
57
+ /**
58
+ * Open an existing store to read it and change no file in its directory: no directory or log is
59
+ * created, a torn log tail is ignored rather than truncated, nothing is compacted, and every
60
+ * mutation (and `compact`) is refused. The lock is still taken, so no writer runs meanwhile.
61
+ */
62
+ readOnly?: boolean;
63
+ }
64
+ /**
65
+ * The Node working copy's persistent store: one directory, one exclusive lock, one log. Open it
66
+ * with {@link FileJournaledBackend.open}; {@link close} releases the lock.
67
+ */
68
+ export declare class FileJournaledBackend implements JournaledBackend, BlobJournaledBackend {
69
+ #private;
70
+ readonly journalSnapshotCas: true;
71
+ /** A resolved mutation's log record, and every directory entry the store created, were fsynced. */
72
+ readonly durability: "fsync";
73
+ readonly directory: string;
74
+ private constructor();
75
+ /**
76
+ * Claim the directory's lock, load the snapshot, replay the log, and truncate a torn tail. A
77
+ * corrupt snapshot or a corrupt record before the log's end refuses the open and changes no
78
+ * file. Compacts when the log is larger than `compactAfterBytes`.
79
+ */
80
+ static open(options: FileJournaledBackendOptions): Promise<FileJournaledBackend>;
81
+ /** @internal The test seam: open with a substitute log handle. Reachable only through {@link OPEN_LOG}. */
82
+ static [OPEN_LOG](options: FileJournaledBackendOptions, openLog: (file: string) => Promise<FileJournalHandle>): Promise<FileJournaledBackend>;
83
+ capabilities(): StorageCapabilities;
84
+ /** The number of the last committed transaction; it grows by one per mutation that wrote. */
85
+ get transaction(): number;
86
+ /** Let queued mutations finish, close the log, and release the directory's lock. Later calls reject. */
87
+ close(): Promise<void>;
88
+ /**
89
+ * Write the whole index as the snapshot and empty the log: a temporary file, fsynced, renamed
90
+ * over the snapshot, the directory fsynced, then the log truncated. Serialized with mutations,
91
+ * under the directory lock the store holds.
92
+ */
93
+ compact(): Promise<void>;
94
+ read(id: ConceptId): Promise<ReadResult>;
95
+ readMany(ids: ConceptId[]): Promise<ReadResult[]>;
96
+ write(id: ConceptId, doc: OkfDocument, options?: WriteOptions): Promise<Version>;
97
+ delete(id: ConceptId, options?: DeleteOptions): Promise<boolean>;
98
+ exists(id: ConceptId): Promise<boolean>;
99
+ list(prefix?: string): Promise<ConceptId[]>;
100
+ versions(id: ConceptId): Promise<VersionInfo[]>;
101
+ readReserved(dir: string, name: ReservedFilename): Promise<ReservedReadResult | null>;
102
+ writeReserved(dir: string, name: ReservedFilename, content: string, options?: WriteOptions): Promise<Version>;
103
+ readBlob(key: BlobKey): Promise<ReadBlobResult | null>;
104
+ writeBlob(key: BlobKey, bytes: Uint8Array, contentType?: string, options?: WriteOptions): Promise<Version>;
105
+ deleteBlob(key: BlobKey, options?: DeleteOptions): Promise<boolean>;
106
+ existsBlob(key: BlobKey): Promise<boolean>;
107
+ listBlobs(prefix?: string): Promise<BlobKey[]>;
108
+ writeJournaled(id: ConceptId, doc: OkfDocument, options?: JournaledWriteOptions): Promise<{
109
+ version: Version;
110
+ raw: string;
111
+ intent: IntentRecord | null;
112
+ }>;
113
+ deleteJournaled(id: ConceptId, options?: JournaledDeleteOptions): Promise<JournaledDeleteResult>;
114
+ readWithJournal(id: ConceptId, options?: {
115
+ meta?: readonly string[];
116
+ }): Promise<JournaledReadResult>;
117
+ readHeads<T = JournaledHead>(options?: JournaledHeadsOptions<T>): Promise<T[]>;
118
+ listIntents(state?: OperationState | readonly OperationState[]): Promise<IntentRecord[]>;
119
+ readIntent(requestId: string): Promise<IntentRecord | undefined>;
120
+ updateIntent(requestId: string, expectedState: OperationState, patch: IntentPatch, options?: IntentUpdateOptions): Promise<IntentRecord>;
121
+ retireAcknowledged(target: ConceptId, options: RetireAcknowledgedOptions): Promise<void>;
122
+ readBlobWithJournal(key: string, options?: {
123
+ meta?: readonly string[];
124
+ }): Promise<BlobJournalRead>;
125
+ writeBlobMeta(key: string, changes: Pick<BlobJournalMutationOptions, "meta" | "removeMeta">, options: {
126
+ guard: BlobJournalGuard;
127
+ }): Promise<void>;
128
+ admitPreparedBlob(prepared: string, options: BlobAdmitOptions): Promise<BlobIntentRecord>;
129
+ listBlobIntents(state?: OperationState | readonly OperationState[]): Promise<BlobIntentRecord[]>;
130
+ readBlobIntent(requestId: string): Promise<BlobIntentRecord | undefined>;
131
+ updateBlobIntent(requestId: string, expectedState: OperationState, patch: BlobIntentPatch, options: BlobJournalMutationOptions): Promise<BlobIntentRecord>;
132
+ retireBlobIntents(key: string, requestIds: readonly string[], options: BlobJournalMutationOptions): Promise<void>;
133
+ forgetBlobIntent(requestId: string, options: BlobJournalMutationOptions): Promise<void>;
134
+ readMeta<T = unknown>(key: string): Promise<T | undefined>;
135
+ /**
136
+ * @internal Plant exact bytes as `id`'s stored serialization, bypassing the serializer, through
137
+ * the log like any other write: the contract kit's malformed-record and edition rows. Reachable
138
+ * only through {@link STORE_RAW}.
139
+ */
140
+ [STORE_RAW](id: ConceptId, raw: string): Promise<void>;
141
+ writeMeta(key: string, value: unknown, options?: MetaWriteOptions): Promise<void>;
142
+ /**
143
+ * Every meta row whose key starts with `prefix` (all rows when it is empty), in code-unit key
144
+ * order, read in one synchronous pass over the last committed transaction. Values are copies.
145
+ */
146
+ listMeta<T = unknown>(prefix?: string): Promise<{
147
+ key: string;
148
+ value: T;
149
+ }[]>;
150
+ /**
151
+ * Remove one meta row, compare-and-swap: `expected` is the row's presence and value as the
152
+ * caller last read it, compared in the same transaction as the removal. A mismatch is
153
+ * `JournalGuardConflict` and writes nothing. It resolves true when it removed the row and false
154
+ * when the row was absent as expected, which writes nothing either.
155
+ */
156
+ removeMeta(key: string, options: {
157
+ expected: MetaWriteOptions["expected"];
158
+ }): Promise<boolean>;
159
+ }
160
+ //# sourceMappingURL=file-journaled-backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-journaled-backend.d.ts","sourceRoot":"","sources":["../src/file-journaled-backend.ts"],"names":[],"mappings":"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"}