@superbee/core 0.2.0-pre.2 → 0.2.0-pre.20

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 (517) hide show
  1. package/README.md +1000 -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 +50 -0
  19. package/dist/body-replace-guards.d.ts.map +1 -0
  20. package/dist/body-replace-guards.js +158 -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/connectors.d.ts +230 -0
  59. package/dist/connectors.d.ts.map +1 -0
  60. package/dist/connectors.js +1150 -0
  61. package/dist/connectors.js.map +1 -0
  62. package/dist/cross-bundle.d.ts +135 -0
  63. package/dist/cross-bundle.d.ts.map +1 -0
  64. package/dist/cross-bundle.js +186 -0
  65. package/dist/cross-bundle.js.map +1 -0
  66. package/dist/dependencies.d.ts +94 -0
  67. package/dist/dependencies.d.ts.map +1 -0
  68. package/dist/dependencies.js +180 -0
  69. package/dist/dependencies.js.map +1 -0
  70. package/dist/document-codec.d.ts +6 -1
  71. package/dist/document-codec.d.ts.map +1 -1
  72. package/dist/document-codec.js +8 -4
  73. package/dist/document-codec.js.map +1 -1
  74. package/dist/document-field-actions.d.ts +31 -1
  75. package/dist/document-field-actions.d.ts.map +1 -1
  76. package/dist/document-field-actions.js +137 -34
  77. package/dist/document-field-actions.js.map +1 -1
  78. package/dist/document-mutation.d.ts +22 -10
  79. package/dist/document-mutation.d.ts.map +1 -1
  80. package/dist/document-mutation.js +58 -27
  81. package/dist/document-mutation.js.map +1 -1
  82. package/dist/document-write-policy.d.ts.map +1 -1
  83. package/dist/document-write-policy.js +4 -2
  84. package/dist/document-write-policy.js.map +1 -1
  85. package/dist/engine.d.ts +9 -2
  86. package/dist/engine.d.ts.map +1 -1
  87. package/dist/engine.js +11 -4
  88. package/dist/engine.js.map +1 -1
  89. package/dist/file-journaled-backend-internal.d.ts +21 -0
  90. package/dist/file-journaled-backend-internal.d.ts.map +1 -0
  91. package/dist/file-journaled-backend-internal.js +12 -0
  92. package/dist/file-journaled-backend-internal.js.map +1 -0
  93. package/dist/file-journaled-backend.d.ts +200 -0
  94. package/dist/file-journaled-backend.d.ts.map +1 -0
  95. package/dist/file-journaled-backend.js +1334 -0
  96. package/dist/file-journaled-backend.js.map +1 -0
  97. package/dist/filesystem-host.d.ts +15 -0
  98. package/dist/filesystem-host.d.ts.map +1 -0
  99. package/dist/filesystem-host.js +20 -0
  100. package/dist/filesystem-host.js.map +1 -0
  101. package/dist/filesystem-identity.d.ts +86 -4
  102. package/dist/filesystem-identity.d.ts.map +1 -1
  103. package/dist/filesystem-identity.js +338 -102
  104. package/dist/filesystem-identity.js.map +1 -1
  105. package/dist/filesystem-lock.d.ts +16 -3
  106. package/dist/filesystem-lock.d.ts.map +1 -1
  107. package/dist/filesystem-lock.js +323 -77
  108. package/dist/filesystem-lock.js.map +1 -1
  109. package/dist/filesystem-push-role.d.ts +77 -0
  110. package/dist/filesystem-push-role.d.ts.map +1 -0
  111. package/dist/filesystem-push-role.js +165 -0
  112. package/dist/filesystem-push-role.js.map +1 -0
  113. package/dist/filesystem.d.ts +17 -0
  114. package/dist/filesystem.d.ts.map +1 -0
  115. package/dist/filesystem.js +18 -0
  116. package/dist/filesystem.js.map +1 -0
  117. package/dist/frontmatter.d.ts +8 -0
  118. package/dist/frontmatter.d.ts.map +1 -1
  119. package/dist/frontmatter.js +14 -4
  120. package/dist/frontmatter.js.map +1 -1
  121. package/dist/governed-body-write.d.ts +106 -0
  122. package/dist/governed-body-write.d.ts.map +1 -0
  123. package/dist/governed-body-write.js +251 -0
  124. package/dist/governed-body-write.js.map +1 -0
  125. package/dist/host-policy-snapshot.d.ts +9 -0
  126. package/dist/host-policy-snapshot.d.ts.map +1 -0
  127. package/dist/host-policy-snapshot.js +33 -0
  128. package/dist/host-policy-snapshot.js.map +1 -0
  129. package/dist/host-text.d.ts +31 -0
  130. package/dist/host-text.d.ts.map +1 -0
  131. package/dist/host-text.js +77 -0
  132. package/dist/host-text.js.map +1 -0
  133. package/dist/hosted-client/binding.d.ts +7 -0
  134. package/dist/hosted-client/binding.d.ts.map +1 -0
  135. package/dist/hosted-client/binding.js +10 -0
  136. package/dist/hosted-client/binding.js.map +1 -0
  137. package/dist/hosted-client/blob-delivery.d.ts +67 -0
  138. package/dist/hosted-client/blob-delivery.d.ts.map +1 -0
  139. package/dist/hosted-client/blob-delivery.js +169 -0
  140. package/dist/hosted-client/blob-delivery.js.map +1 -0
  141. package/dist/hosted-client/blob-write.d.ts +386 -0
  142. package/dist/hosted-client/blob-write.d.ts.map +1 -0
  143. package/dist/hosted-client/blob-write.js +770 -0
  144. package/dist/hosted-client/blob-write.js.map +1 -0
  145. package/dist/hosted-client/bundle-listing.d.ts +46 -0
  146. package/dist/hosted-client/bundle-listing.d.ts.map +1 -0
  147. package/dist/hosted-client/bundle-listing.js +36 -0
  148. package/dist/hosted-client/bundle-listing.js.map +1 -0
  149. package/dist/hosted-client/client.d.ts +219 -0
  150. package/dist/hosted-client/client.d.ts.map +1 -0
  151. package/dist/hosted-client/client.js +309 -0
  152. package/dist/hosted-client/client.js.map +1 -0
  153. package/dist/hosted-client/directory.d.ts +46 -0
  154. package/dist/hosted-client/directory.d.ts.map +1 -0
  155. package/dist/hosted-client/directory.js +74 -0
  156. package/dist/hosted-client/directory.js.map +1 -0
  157. package/dist/hosted-client/errors.d.ts +26 -0
  158. package/dist/hosted-client/errors.d.ts.map +1 -0
  159. package/dist/hosted-client/errors.js +35 -0
  160. package/dist/hosted-client/errors.js.map +1 -0
  161. package/dist/hosted-client/inbox.d.ts +320 -0
  162. package/dist/hosted-client/inbox.d.ts.map +1 -0
  163. package/dist/hosted-client/inbox.js +379 -0
  164. package/dist/hosted-client/inbox.js.map +1 -0
  165. package/dist/hosted-client/index.d.ts +30 -0
  166. package/dist/hosted-client/index.d.ts.map +1 -0
  167. package/dist/hosted-client/index.js +32 -0
  168. package/dist/hosted-client/index.js.map +1 -0
  169. package/dist/hosted-client/journal.d.ts +103 -0
  170. package/dist/hosted-client/journal.d.ts.map +1 -0
  171. package/dist/hosted-client/journal.js +464 -0
  172. package/dist/hosted-client/journal.js.map +1 -0
  173. package/dist/hosted-client/node.d.ts +74 -0
  174. package/dist/hosted-client/node.d.ts.map +1 -0
  175. package/dist/hosted-client/node.js +219 -0
  176. package/dist/hosted-client/node.js.map +1 -0
  177. package/dist/hosted-client/reference.d.ts +12 -0
  178. package/dist/hosted-client/reference.d.ts.map +1 -0
  179. package/dist/hosted-client/reference.js +29 -0
  180. package/dist/hosted-client/reference.js.map +1 -0
  181. package/dist/hosted-client/write.d.ts +217 -0
  182. package/dist/hosted-client/write.d.ts.map +1 -0
  183. package/dist/hosted-client/write.js +418 -0
  184. package/dist/hosted-client/write.js.map +1 -0
  185. package/dist/hosted-transport/answer-rows.d.ts +243 -0
  186. package/dist/hosted-transport/answer-rows.d.ts.map +1 -0
  187. package/dist/hosted-transport/answer-rows.js +454 -0
  188. package/dist/hosted-transport/answer-rows.js.map +1 -0
  189. package/dist/hosted-transport/blob-reads.d.ts +35 -0
  190. package/dist/hosted-transport/blob-reads.d.ts.map +1 -0
  191. package/dist/hosted-transport/blob-reads.js +179 -0
  192. package/dist/hosted-transport/blob-reads.js.map +1 -0
  193. package/dist/hosted-transport/blob-write.d.ts +34 -0
  194. package/dist/hosted-transport/blob-write.d.ts.map +1 -0
  195. package/dist/hosted-transport/blob-write.js +115 -0
  196. package/dist/hosted-transport/blob-write.js.map +1 -0
  197. package/dist/hosted-transport/carrier.d.ts +151 -0
  198. package/dist/hosted-transport/carrier.d.ts.map +1 -0
  199. package/dist/hosted-transport/carrier.js +260 -0
  200. package/dist/hosted-transport/carrier.js.map +1 -0
  201. package/dist/hosted-transport/history-pages.d.ts +55 -0
  202. package/dist/hosted-transport/history-pages.d.ts.map +1 -0
  203. package/dist/hosted-transport/history-pages.js +69 -0
  204. package/dist/hosted-transport/history-pages.js.map +1 -0
  205. package/dist/hosted-transport/index.d.ts +18 -0
  206. package/dist/hosted-transport/index.d.ts.map +1 -0
  207. package/dist/hosted-transport/index.js +18 -0
  208. package/dist/hosted-transport/index.js.map +1 -0
  209. package/dist/hosted-transport/operations.d.ts +85 -0
  210. package/dist/hosted-transport/operations.d.ts.map +1 -0
  211. package/dist/hosted-transport/operations.js +128 -0
  212. package/dist/hosted-transport/operations.js.map +1 -0
  213. package/dist/hosted-transport/paged-reads.d.ts +87 -0
  214. package/dist/hosted-transport/paged-reads.d.ts.map +1 -0
  215. package/dist/hosted-transport/paged-reads.js +238 -0
  216. package/dist/hosted-transport/paged-reads.js.map +1 -0
  217. package/dist/hosted-transport/read-adapter.d.ts +256 -0
  218. package/dist/hosted-transport/read-adapter.d.ts.map +1 -0
  219. package/dist/hosted-transport/read-adapter.js +568 -0
  220. package/dist/hosted-transport/read-adapter.js.map +1 -0
  221. package/dist/hosted-transport/root-write.d.ts +114 -0
  222. package/dist/hosted-transport/root-write.d.ts.map +1 -0
  223. package/dist/hosted-transport/root-write.js +171 -0
  224. package/dist/hosted-transport/root-write.js.map +1 -0
  225. package/dist/hosted-transport/whole-document-transport.d.ts +204 -0
  226. package/dist/hosted-transport/whole-document-transport.d.ts.map +1 -0
  227. package/dist/hosted-transport/whole-document-transport.js +447 -0
  228. package/dist/hosted-transport/whole-document-transport.js.map +1 -0
  229. package/dist/index.d.ts +34 -10
  230. package/dist/index.d.ts.map +1 -1
  231. package/dist/index.js +26 -8
  232. package/dist/index.js.map +1 -1
  233. package/dist/indexeddb-backend.d.ts +28 -6
  234. package/dist/indexeddb-backend.d.ts.map +1 -1
  235. package/dist/indexeddb-backend.js +471 -92
  236. package/dist/indexeddb-backend.js.map +1 -1
  237. package/dist/journaled-backend.d.ts +247 -10
  238. package/dist/journaled-backend.d.ts.map +1 -1
  239. package/dist/journaled-backend.js +302 -1
  240. package/dist/journaled-backend.js.map +1 -1
  241. package/dist/kind-authoring.d.ts +170 -0
  242. package/dist/kind-authoring.d.ts.map +1 -0
  243. package/dist/kind-authoring.js +451 -0
  244. package/dist/kind-authoring.js.map +1 -0
  245. package/dist/kind-conformance-error.d.ts +15 -0
  246. package/dist/kind-conformance-error.d.ts.map +1 -0
  247. package/dist/kind-conformance-error.js +20 -0
  248. package/dist/kind-conformance-error.js.map +1 -0
  249. package/dist/kind-coverage.d.ts +99 -0
  250. package/dist/kind-coverage.d.ts.map +1 -0
  251. package/dist/kind-coverage.js +186 -0
  252. package/dist/kind-coverage.js.map +1 -0
  253. package/dist/kind-field-mutation.d.ts +4 -0
  254. package/dist/kind-field-mutation.d.ts.map +1 -1
  255. package/dist/kind-field-mutation.js +28 -3
  256. package/dist/kind-field-mutation.js.map +1 -1
  257. package/dist/kinds-load.js +4 -4
  258. package/dist/kinds-load.js.map +1 -1
  259. package/dist/kinds.d.ts +65 -2
  260. package/dist/kinds.d.ts.map +1 -1
  261. package/dist/kinds.js +341 -21
  262. package/dist/kinds.js.map +1 -1
  263. package/dist/link-types.d.ts +26 -0
  264. package/dist/link-types.d.ts.map +1 -0
  265. package/dist/link-types.js +57 -0
  266. package/dist/link-types.js.map +1 -0
  267. package/dist/links.d.ts +21 -3
  268. package/dist/links.d.ts.map +1 -1
  269. package/dist/links.js +213 -14
  270. package/dist/links.js.map +1 -1
  271. package/dist/managed-document-metadata.d.ts +2 -0
  272. package/dist/managed-document-metadata.d.ts.map +1 -0
  273. package/dist/managed-document-metadata.js +9 -0
  274. package/dist/managed-document-metadata.js.map +1 -0
  275. package/dist/memory-backend.d.ts +2 -2
  276. package/dist/memory-backend.d.ts.map +1 -1
  277. package/dist/memory-backend.js +26 -11
  278. package/dist/memory-backend.js.map +1 -1
  279. package/dist/paths.d.ts +16 -0
  280. package/dist/paths.d.ts.map +1 -1
  281. package/dist/paths.js +25 -0
  282. package/dist/paths.js.map +1 -1
  283. package/dist/platform.d.ts +13 -2
  284. package/dist/platform.d.ts.map +1 -1
  285. package/dist/platform.js +16 -0
  286. package/dist/platform.js.map +1 -1
  287. package/dist/portable-export.d.ts +119 -0
  288. package/dist/portable-export.d.ts.map +1 -0
  289. package/dist/portable-export.js +501 -0
  290. package/dist/portable-export.js.map +1 -0
  291. package/dist/publication-filesystem.d.ts +1 -1
  292. package/dist/publication-filesystem.d.ts.map +1 -1
  293. package/dist/publication-filesystem.js +1 -1
  294. package/dist/publication-filesystem.js.map +1 -1
  295. package/dist/qualified-links.d.ts +67 -0
  296. package/dist/qualified-links.d.ts.map +1 -0
  297. package/dist/qualified-links.js +117 -0
  298. package/dist/qualified-links.js.map +1 -0
  299. package/dist/query-filter.d.ts +16 -2
  300. package/dist/query-filter.d.ts.map +1 -1
  301. package/dist/query-filter.js +40 -1
  302. package/dist/query-filter.js.map +1 -1
  303. package/dist/query-order.d.ts +22 -0
  304. package/dist/query-order.d.ts.map +1 -0
  305. package/dist/query-order.js +42 -0
  306. package/dist/query-order.js.map +1 -0
  307. package/dist/recipe-lifecycle/errors.d.ts +94 -0
  308. package/dist/recipe-lifecycle/errors.d.ts.map +1 -0
  309. package/dist/recipe-lifecycle/errors.js +122 -0
  310. package/dist/recipe-lifecycle/errors.js.map +1 -0
  311. package/dist/recipe-lifecycle/evolution.d.ts +75 -0
  312. package/dist/recipe-lifecycle/evolution.d.ts.map +1 -0
  313. package/dist/recipe-lifecycle/evolution.js +789 -0
  314. package/dist/recipe-lifecycle/evolution.js.map +1 -0
  315. package/dist/recipe-lifecycle/index.d.ts +24 -0
  316. package/dist/recipe-lifecycle/index.d.ts.map +1 -0
  317. package/dist/recipe-lifecycle/index.js +20 -0
  318. package/dist/recipe-lifecycle/index.js.map +1 -0
  319. package/dist/recipe-lifecycle/install.d.ts +126 -0
  320. package/dist/recipe-lifecycle/install.d.ts.map +1 -0
  321. package/dist/recipe-lifecycle/install.js +511 -0
  322. package/dist/recipe-lifecycle/install.js.map +1 -0
  323. package/dist/recipe-lifecycle/legacy-aliases.d.ts +16 -0
  324. package/dist/recipe-lifecycle/legacy-aliases.d.ts.map +1 -0
  325. package/dist/recipe-lifecycle/legacy-aliases.js +51 -0
  326. package/dist/recipe-lifecycle/legacy-aliases.js.map +1 -0
  327. package/dist/recipe-lifecycle/stamp.d.ts +136 -0
  328. package/dist/recipe-lifecycle/stamp.d.ts.map +1 -0
  329. package/dist/recipe-lifecycle/stamp.js +326 -0
  330. package/dist/recipe-lifecycle/stamp.js.map +1 -0
  331. package/dist/recipes.d.ts +29 -1
  332. package/dist/recipes.d.ts.map +1 -1
  333. package/dist/recipes.js +137 -1
  334. package/dist/recipes.js.map +1 -1
  335. package/dist/record-overlay/apply.d.ts +43 -0
  336. package/dist/record-overlay/apply.d.ts.map +1 -0
  337. package/dist/record-overlay/apply.js +527 -0
  338. package/dist/record-overlay/apply.js.map +1 -0
  339. package/dist/record-overlay/canonical.d.ts +22 -0
  340. package/dist/record-overlay/canonical.d.ts.map +1 -0
  341. package/dist/record-overlay/canonical.js +47 -0
  342. package/dist/record-overlay/canonical.js.map +1 -0
  343. package/dist/record-overlay/digest.d.ts +4 -0
  344. package/dist/record-overlay/digest.d.ts.map +1 -0
  345. package/dist/record-overlay/digest.js +11 -0
  346. package/dist/record-overlay/digest.js.map +1 -0
  347. package/dist/record-overlay/errors.d.ts +44 -0
  348. package/dist/record-overlay/errors.d.ts.map +1 -0
  349. package/dist/record-overlay/errors.js +55 -0
  350. package/dist/record-overlay/errors.js.map +1 -0
  351. package/dist/record-overlay/findings.d.ts +5 -0
  352. package/dist/record-overlay/findings.d.ts.map +1 -0
  353. package/dist/record-overlay/findings.js +83 -0
  354. package/dist/record-overlay/findings.js.map +1 -0
  355. package/dist/record-overlay/index.d.ts +23 -0
  356. package/dist/record-overlay/index.d.ts.map +1 -0
  357. package/dist/record-overlay/index.js +21 -0
  358. package/dist/record-overlay/index.js.map +1 -0
  359. package/dist/record-overlay/plan.d.ts +12 -0
  360. package/dist/record-overlay/plan.d.ts.map +1 -0
  361. package/dist/record-overlay/plan.js +285 -0
  362. package/dist/record-overlay/plan.js.map +1 -0
  363. package/dist/record-overlay/policy.d.ts +69 -0
  364. package/dist/record-overlay/policy.d.ts.map +1 -0
  365. package/dist/record-overlay/policy.js +228 -0
  366. package/dist/record-overlay/policy.js.map +1 -0
  367. package/dist/record-overlay/redact.d.ts +3 -0
  368. package/dist/record-overlay/redact.d.ts.map +1 -0
  369. package/dist/record-overlay/redact.js +27 -0
  370. package/dist/record-overlay/redact.js.map +1 -0
  371. package/dist/record-overlay/signal-kind.d.ts +30 -0
  372. package/dist/record-overlay/signal-kind.d.ts.map +1 -0
  373. package/dist/record-overlay/signal-kind.js +38 -0
  374. package/dist/record-overlay/signal-kind.js.map +1 -0
  375. package/dist/record-overlay/signal-text.d.ts +45 -0
  376. package/dist/record-overlay/signal-text.d.ts.map +1 -0
  377. package/dist/record-overlay/signal-text.js +116 -0
  378. package/dist/record-overlay/signal-text.js.map +1 -0
  379. package/dist/record-overlay/source-index.d.ts +19 -0
  380. package/dist/record-overlay/source-index.d.ts.map +1 -0
  381. package/dist/record-overlay/source-index.js +102 -0
  382. package/dist/record-overlay/source-index.js.map +1 -0
  383. package/dist/record-overlay/types.d.ts +291 -0
  384. package/dist/record-overlay/types.d.ts.map +1 -0
  385. package/dist/record-overlay/types.js +2 -0
  386. package/dist/record-overlay/types.js.map +1 -0
  387. package/dist/remote-backend.d.ts +67 -67
  388. package/dist/remote-backend.d.ts.map +1 -1
  389. package/dist/remote-backend.js +169 -201
  390. package/dist/remote-backend.js.map +1 -1
  391. package/dist/remote-document-codec.d.ts +15 -0
  392. package/dist/remote-document-codec.d.ts.map +1 -0
  393. package/dist/remote-document-codec.js +103 -0
  394. package/dist/remote-document-codec.js.map +1 -0
  395. package/dist/remote-error.d.ts +38 -0
  396. package/dist/remote-error.d.ts.map +1 -0
  397. package/dist/remote-error.js +59 -0
  398. package/dist/remote-error.js.map +1 -0
  399. package/dist/remote-operations.d.ts +6 -3
  400. package/dist/remote-operations.d.ts.map +1 -1
  401. package/dist/remote-operations.js +23 -5
  402. package/dist/remote-operations.js.map +1 -1
  403. package/dist/remote-parsers.d.ts +86 -0
  404. package/dist/remote-parsers.d.ts.map +1 -0
  405. package/dist/remote-parsers.js +181 -0
  406. package/dist/remote-parsers.js.map +1 -0
  407. package/dist/remote.d.ts +5 -2
  408. package/dist/remote.d.ts.map +1 -1
  409. package/dist/remote.js +5 -1
  410. package/dist/remote.js.map +1 -1
  411. package/dist/search/backend-source.d.ts +6 -0
  412. package/dist/search/backend-source.d.ts.map +1 -0
  413. package/dist/search/backend-source.js +33 -0
  414. package/dist/search/backend-source.js.map +1 -0
  415. package/dist/search/contract.d.ts +151 -0
  416. package/dist/search/contract.d.ts.map +1 -0
  417. package/dist/search/contract.js +78 -0
  418. package/dist/search/contract.js.map +1 -0
  419. package/dist/search/errors.d.ts +30 -0
  420. package/dist/search/errors.d.ts.map +1 -0
  421. package/dist/search/errors.js +50 -0
  422. package/dist/search/errors.js.map +1 -0
  423. package/dist/search/identity.d.ts +12 -0
  424. package/dist/search/identity.d.ts.map +1 -0
  425. package/dist/search/identity.js +90 -0
  426. package/dist/search/identity.js.map +1 -0
  427. package/dist/search/index.d.ts +16 -0
  428. package/dist/search/index.d.ts.map +1 -0
  429. package/dist/search/index.js +15 -0
  430. package/dist/search/index.js.map +1 -0
  431. package/dist/search/memory-source.d.ts +36 -0
  432. package/dist/search/memory-source.d.ts.map +1 -0
  433. package/dist/search/memory-source.js +235 -0
  434. package/dist/search/memory-source.js.map +1 -0
  435. package/dist/search/rank.d.ts +34 -0
  436. package/dist/search/rank.d.ts.map +1 -0
  437. package/dist/search/rank.js +129 -0
  438. package/dist/search/rank.js.map +1 -0
  439. package/dist/search/row-text.d.ts +38 -0
  440. package/dist/search/row-text.d.ts.map +1 -0
  441. package/dist/search/row-text.js +88 -0
  442. package/dist/search/row-text.js.map +1 -0
  443. package/dist/search/search.d.ts +28 -0
  444. package/dist/search/search.d.ts.map +1 -0
  445. package/dist/search/search.js +257 -0
  446. package/dist/search/search.js.map +1 -0
  447. package/dist/search/source.d.ts +67 -0
  448. package/dist/search/source.d.ts.map +1 -0
  449. package/dist/search/source.js +2 -0
  450. package/dist/search/source.js.map +1 -0
  451. package/dist/search/text.d.ts +47 -0
  452. package/dist/search/text.d.ts.map +1 -0
  453. package/dist/search/text.js +148 -0
  454. package/dist/search/text.js.map +1 -0
  455. package/dist/site-capabilities.d.ts +339 -0
  456. package/dist/site-capabilities.d.ts.map +1 -0
  457. package/dist/site-capabilities.js +717 -0
  458. package/dist/site-capabilities.js.map +1 -0
  459. package/dist/source-engine/guard.d.ts +82 -0
  460. package/dist/source-engine/guard.d.ts.map +1 -0
  461. package/dist/source-engine/guard.js +396 -0
  462. package/dist/source-engine/guard.js.map +1 -0
  463. package/dist/source-engine/index.d.ts +24 -0
  464. package/dist/source-engine/index.d.ts.map +1 -0
  465. package/dist/source-engine/index.js +20 -0
  466. package/dist/source-engine/index.js.map +1 -0
  467. package/dist/source-engine/machine-state.d.ts +74 -0
  468. package/dist/source-engine/machine-state.d.ts.map +1 -0
  469. package/dist/source-engine/machine-state.js +48 -0
  470. package/dist/source-engine/machine-state.js.map +1 -0
  471. package/dist/source-engine/observe.d.ts +18 -0
  472. package/dist/source-engine/observe.d.ts.map +1 -0
  473. package/dist/source-engine/observe.js +598 -0
  474. package/dist/source-engine/observe.js.map +1 -0
  475. package/dist/source-engine/robots.d.ts +53 -0
  476. package/dist/source-engine/robots.d.ts.map +1 -0
  477. package/dist/source-engine/robots.js +158 -0
  478. package/dist/source-engine/robots.js.map +1 -0
  479. package/dist/source-engine/types.d.ts +285 -0
  480. package/dist/source-engine/types.d.ts.map +1 -0
  481. package/dist/source-engine/types.js +2 -0
  482. package/dist/source-engine/types.js.map +1 -0
  483. package/dist/source-harness/conformance.d.ts +16 -0
  484. package/dist/source-harness/conformance.d.ts.map +1 -0
  485. package/dist/source-harness/conformance.js +265 -0
  486. package/dist/source-harness/conformance.js.map +1 -0
  487. package/dist/source-harness/fixture.d.ts +95 -0
  488. package/dist/source-harness/fixture.d.ts.map +1 -0
  489. package/dist/source-harness/fixture.js +261 -0
  490. package/dist/source-harness/fixture.js.map +1 -0
  491. package/dist/source-harness/index.d.ts +22 -0
  492. package/dist/source-harness/index.d.ts.map +1 -0
  493. package/dist/source-harness/index.js +19 -0
  494. package/dist/source-harness/index.js.map +1 -0
  495. package/dist/source-harness/peer.d.ts +74 -0
  496. package/dist/source-harness/peer.d.ts.map +1 -0
  497. package/dist/source-harness/peer.js +106 -0
  498. package/dist/source-harness/peer.js.map +1 -0
  499. package/dist/storage.d.ts +6 -2
  500. package/dist/storage.d.ts.map +1 -1
  501. package/dist/storage.js +4 -1
  502. package/dist/storage.js.map +1 -1
  503. package/dist/types.d.ts +33 -5
  504. package/dist/types.d.ts.map +1 -1
  505. package/dist/uncertain-write.d.ts +156 -19
  506. package/dist/uncertain-write.d.ts.map +1 -1
  507. package/dist/uncertain-write.js +90 -31
  508. package/dist/uncertain-write.js.map +1 -1
  509. package/dist/versioning.d.ts +9 -4
  510. package/dist/versioning.d.ts.map +1 -1
  511. package/dist/versioning.js +9 -4
  512. package/dist/versioning.js.map +1 -1
  513. package/dist/write-identity.d.ts +5 -0
  514. package/dist/write-identity.d.ts.map +1 -0
  515. package/dist/write-identity.js +9 -0
  516. package/dist/write-identity.js.map +1 -0
  517. package/package.json +94 -2
@@ -0,0 +1,447 @@
1
+ /**
2
+ * The sync delivery side: an {@link OperationTransport} that pushes one whole document per
3
+ * request. The intent's kind names the operation and its base must agree with it
4
+ * ({@link WHOLE_DOCUMENT_INTENT_KINDS}): a create (`documents.create.v1`, create-only) has no
5
+ * base, a replace (`documents.replace.v1`) is against exactly the intent's base, and a delete
6
+ * (`documents.delete.v1`) removes the document at exactly the intent's base, so the host's
7
+ * compare-and-swap decides every concurrent change to one document and never merges it. Any other
8
+ * kind (a body update) or a kind its base contradicts is refused before anything is sent, and
9
+ * never mapped to another operation. The managed fields the host owns are stripped before
10
+ * sending; the host carries them from the stored document. The one exception is a bundle's
11
+ * creation ({@link WholeDocumentRequestOptions.mode} `import`), where nothing is stored yet.
12
+ *
13
+ * A deleted document leaves a tombstone on the host. A create of that id is refused as a
14
+ * `version_conflict` naming the tombstone unless it acknowledges exactly the id's latest one
15
+ * (`X-Superbee-Recreate`), and the refusal comes back as the "deleted remotely" conflict carrying
16
+ * the tombstone (`{ kind: "conflict", actual: null, tombstone }`). The acknowledgement is sent
17
+ * only when the intent says so ({@link OperationIntent.recreates}); a stale one is refused again
18
+ * and comes back as a fresh conflict naming the newer tombstone, never as last-writer-wins.
19
+ *
20
+ * Every answer is mapped by the shared rows in `answer-rows.ts`, with one difference a
21
+ * create-only write needs: `document_exists` is a conflict against the served head, because a
22
+ * create that finds the document is exactly a compare-and-swap mismatch on absence.
23
+ *
24
+ * The committed version comes from the host's recorded result, and the host stores its own
25
+ * serialization (with managed fields), so a committed version is not the intent's `local`
26
+ * version. Deliver with `settlement: "recorded-only"` ({@link WHOLE_DOCUMENT_SETTLEMENT}) so a
27
+ * conflict is never read as a commit by comparing versions.
28
+ *
29
+ * `OperationTransport.lookup` names only a request identity, and the host's outcome route takes
30
+ * the same body as the write it identifies, so the transport reads the intent back from the
31
+ * journal (`intentFor`) to rebuild it.
32
+ */
33
+ import { parseMarkdown } from "../frontmatter.js";
34
+ import { LOOKUP_PENDING } from "../uncertain-write.js";
35
+ import { classifyWriteAnswer, decodeOutcomeAnswer, HostedOutcomeError, CAPACITY_REFUSAL_CODES, DELETIONS_HELD_REFUSAL_CODE, definitionFindingsText, updateRow, UPDATE_ANSWER_ROWS, } from "./answer-rows.js";
36
+ import { DELETE_OPERATION_ID } from "./answer-rows.js";
37
+ import { HostedCarrierError, isAcceptedDeletionCount, isAgentLabelVia } from "./carrier.js";
38
+ import { isContentVersion } from "../version-transport.js";
39
+ import { OPERATIONS_RETENTION_SKEW_MS } from "./read-adapter.js";
40
+ /** Frontmatter the host owns; no caller may set it, and the host carries it from the stored document. */
41
+ export const HOSTED_MANAGED_FIELDS = new Set(["actor", "superbee_updated_by", "generated", "verified", "timestamp", "okf_version"]);
42
+ /**
43
+ * The managed fields a bundle's creation carries as the folder states them: provenance a local
44
+ * engine stored, which nothing on the host could restore later, so a bundle moved to the host
45
+ * reads as it did. Each is the folder's claim, not authority: `generated` and
46
+ * `superbee_updated_by` say who produced and last wrote the content (the host shows either as
47
+ * attribution, never as an authorization input), and `verified` events are the checks the folder
48
+ * records, which the host has no path to write again. The host's own record of the creation is its
49
+ * history row, which names the person who published; every later write through the host stamps
50
+ * `superbee_updated_by` itself and carries `verified` from the stored document. A field outside
51
+ * this list ({@link IMPORT_DROPPED_FIELDS}) never leaves.
52
+ */
53
+ export const IMPORT_CARRIED_FIELDS = Object.freeze(["generated", "timestamp", "actor", "okf_version", "superbee_updated_by", "verified"]);
54
+ /** The managed fields a creation drops: none today; a managed field added later stays behind until it is named above. */
55
+ export const IMPORT_DROPPED_FIELDS = Object.freeze([...HOSTED_MANAGED_FIELDS].filter((field) => !IMPORT_CARRIED_FIELDS.includes(field)));
56
+ /** The most frontmatter fields the kernel accepts on a create or replace. */
57
+ export const FRONTMATTER_KEY_LIMIT = 32;
58
+ const UNSAFE_KEYS = new Set(["__proto__", "constructor", "prototype"]);
59
+ /** The settlement mode a whole-document delivery must use. */
60
+ export const WHOLE_DOCUMENT_SETTLEMENT = "recorded-only";
61
+ export const WHOLE_DOCUMENT_BOUNDS = Object.freeze({
62
+ /**
63
+ * The write routes' request ceiling on a host that states none (`limits.documentInputBytes`); a
64
+ * larger payload is refused here before it leaves. A host that states its bound is held to that.
65
+ */
66
+ payloadBytes: 65536,
67
+ /** A write answer is a bounded result envelope. */
68
+ answerBytes: 65536,
69
+ /** An outcome answer carries the committed document as base64 under this envelope ceiling. */
70
+ outcomeAnswerBytes: 2 * 1024 * 1024,
71
+ });
72
+ /**
73
+ * The whole-document write bound current hosts state (`limits.documentInputBytes`, 983,040 bytes:
74
+ * 1 MiB less a 64 KiB margin). A client plans against it only before it has asked the host, and
75
+ * holds a request to what the host actually states.
76
+ */
77
+ export const CURRENT_HOST_DOCUMENT_INPUT_BYTES = 983_040;
78
+ export const SYNC_WRITE_ROUTES = Object.freeze({
79
+ create: "/sync/v1/create",
80
+ replace: "/sync/v1/replace",
81
+ delete: "/sync/v1/delete",
82
+ outcome: "/sync/v1/outcome",
83
+ });
84
+ const OPERATION_IDS = { create: "documents.create.v1", replace: "documents.replace.v1", delete: DELETE_OPERATION_ID };
85
+ /**
86
+ * The intent kinds this transport sends, each with the base it requires. `document.write` is the
87
+ * working-copy engine's whole-document write, a create exactly when it has no base.
88
+ * `document.delete` removes the document at exactly its base, so it requires one. Every other
89
+ * kind is unsupported: it is refused without sending, never routed by its base.
90
+ */
91
+ export const WHOLE_DOCUMENT_INTENT_KINDS = Object.freeze({
92
+ "document.create": "create",
93
+ "document.replace": "replace",
94
+ "document.delete": "delete",
95
+ "document.write": "by-base",
96
+ });
97
+ /**
98
+ * An intent the transport will not send, and why: the answer a `refused` outcome carries.
99
+ * `unsupported_operation` is an intent kind this transport does not send, or one its base
100
+ * contradicts; `invalid_input` is a document the host would refuse.
101
+ */
102
+ export class WholeDocumentInputError extends Error {
103
+ name = "WholeDocumentInputError";
104
+ code;
105
+ constructor(message, code = "invalid_input") {
106
+ super(message);
107
+ this.code = code;
108
+ }
109
+ }
110
+ /**
111
+ * The operation an intent's kind names, refused when the kind is unsupported, its base
112
+ * disagrees, or it carries a re-create acknowledgement that is not a create's.
113
+ */
114
+ function operationOf(intent) {
115
+ const declared = Object.hasOwn(WHOLE_DOCUMENT_INTENT_KINDS, intent.kind) ? WHOLE_DOCUMENT_INTENT_KINDS[intent.kind] : undefined;
116
+ if (declared === undefined)
117
+ throw new WholeDocumentInputError(`'${intent.target}' is a '${intent.kind}' intent, which this transport does not send`, "unsupported_operation");
118
+ const byBase = intent.base === null ? "create" : "replace";
119
+ const operation = declared === "by-base" ? byBase : declared;
120
+ if ((operation === "delete" && intent.base === null) || (operation !== "delete" && operation !== byBase))
121
+ throw new WholeDocumentInputError(`'${intent.target}' is a '${intent.kind}' intent that ${intent.base === null ? "has no base" : "has a base"}`, "unsupported_operation");
122
+ if (intent.recreates !== undefined) {
123
+ if (operation !== "create")
124
+ throw new WholeDocumentInputError(`'${intent.target}' acknowledges a deletion, which only a create re-creating it may`, "unsupported_operation");
125
+ if (!isContentVersion(intent.recreates))
126
+ throw new WholeDocumentInputError(`'${intent.target}' acknowledges a deletion that is not a version`);
127
+ }
128
+ return operation;
129
+ }
130
+ function jsonPure(value) {
131
+ if (value === null || typeof value === "string" || typeof value === "boolean")
132
+ return true;
133
+ if (typeof value === "number")
134
+ return Number.isFinite(value);
135
+ if (Array.isArray(value))
136
+ return value.every(jsonPure);
137
+ if (typeof value === "object" && Object.getPrototypeOf(value) === Object.prototype)
138
+ return Object.values(value).every(jsonPure);
139
+ return false;
140
+ }
141
+ /**
142
+ * The request an intent becomes: the serialized document parsed under the bundle's edition,
143
+ * managed fields removed (for an `import`, the dropped ones), a create or a replace against
144
+ * `base` as its kind names. The kind is checked first, so an unsupported kind is refused before
145
+ * its content is read. A document whose frontmatter is not plain JSON (a date object, say) is
146
+ * refused here, because sending it would change what it says.
147
+ */
148
+ export function wholeDocumentRequest(bundleId, intent, okfVersion, options = {}) {
149
+ const operation = operationOf(intent);
150
+ const importing = options.mode === "import";
151
+ if (importing && operation !== "create")
152
+ throw new WholeDocumentInputError(`'${intent.target}' is a ${operation}, and only a create may carry imported provenance`, "unsupported_operation");
153
+ // A delete names the version that leaves and nothing else: its content is never read or sent.
154
+ if (operation === "delete")
155
+ return { kind: "delete", operationId: OPERATION_IDS.delete, payload: { bundleId, documentId: intent.target, expectedVersion: intent.base } };
156
+ let parsed;
157
+ try {
158
+ parsed = parseMarkdown(intent.content, intent.target, { okfVersion });
159
+ }
160
+ catch (error) {
161
+ throw new WholeDocumentInputError(`'${intent.target}' does not parse: ${error.message}`);
162
+ }
163
+ const frontmatter = {};
164
+ const carried = [];
165
+ const dropped = [];
166
+ for (const [key, value] of Object.entries(parsed.frontmatter)) {
167
+ if (!HOSTED_MANAGED_FIELDS.has(key))
168
+ frontmatter[key] = value;
169
+ else if (importing && IMPORT_CARRIED_FIELDS.includes(key)) {
170
+ frontmatter[key] = value;
171
+ carried.push(key);
172
+ }
173
+ else if (importing)
174
+ dropped.push(key);
175
+ }
176
+ if (!jsonPure(frontmatter))
177
+ throw new WholeDocumentInputError(`'${intent.target}' has frontmatter that is not plain JSON`);
178
+ // The kernel's input schema bounds, checked here so a document it would refuse is refused
179
+ // before it leaves rather than answered and looked up. The field count is of authored fields: a
180
+ // carried managed field is the host's to hold, as on every later write.
181
+ const keys = Object.keys(frontmatter).filter((key) => !HOSTED_MANAGED_FIELDS.has(key));
182
+ if (keys.length > FRONTMATTER_KEY_LIMIT)
183
+ throw new WholeDocumentInputError(`'${intent.target}' has ${keys.length} frontmatter fields; at most ${FRONTMATTER_KEY_LIMIT} are accepted`);
184
+ if (typeof frontmatter.type !== "string" || frontmatter.type.trim() === "")
185
+ throw new WholeDocumentInputError(`'${intent.target}' has no type`);
186
+ if (keys.some((key) => UNSAFE_KEYS.has(key)))
187
+ throw new WholeDocumentInputError(`'${intent.target}' names a reserved object key in its frontmatter`);
188
+ const common = { bundleId, documentId: intent.target, frontmatter, body: parsed.body };
189
+ // `operationOf` has already bound the operation to the base: a create has none, a replace has one.
190
+ return operation === "create" || intent.base === null
191
+ ? {
192
+ kind: "create",
193
+ operationId: OPERATION_IDS.create,
194
+ payload: { bundleId, documentId: intent.target, expectAbsent: true, frontmatter, body: parsed.body },
195
+ ...(intent.recreates !== undefined ? { recreates: intent.recreates } : {}),
196
+ ...(importing ? { provenance: { carried, dropped } } : {}),
197
+ }
198
+ : { kind: "replace", operationId: OPERATION_IDS.replace, payload: { ...common, expectedVersion: intent.base } };
199
+ }
200
+ const UNKNOWN = Object.freeze({ kind: "unknown" });
201
+ const encoder = new TextEncoder();
202
+ export function createWholeDocumentTransport(options) {
203
+ const { carrier, bundleId, binding, remote } = options;
204
+ const routes = options.routes ?? SYNC_WRITE_ROUTES;
205
+ const now = options.now ?? Date.now;
206
+ const lifetime = options.signal ?? new AbortController().signal;
207
+ const requestSignal = (signal) => (signal ? AbortSignal.any([lifetime, signal]) : lifetime);
208
+ // A denial is never the identity's recorded answer: `false` when the row says the attempt was
209
+ // refused before dispatch, `"unknown"` when the row cannot say.
210
+ const denial = (code, message, executed = false) => ({ kind: "refused", code, message, executed });
211
+ // Checked here, so the carrier's own refusal of a bad token (a `denied`, read as a sign-in
212
+ // pause) is never reached from a write.
213
+ if (options.via !== undefined && !isAgentLabelVia(options.via))
214
+ throw new TypeError("the via token is not one the host admits");
215
+ if (options.acceptDeletes !== undefined && !isAcceptedDeletionCount(options.acceptDeletes))
216
+ throw new TypeError("acceptDeletes is not a count the host admits");
217
+ const via = options.via;
218
+ const payloadBytes = options.documentInputBytes ?? WHOLE_DOCUMENT_BOUNDS.payloadBytes;
219
+ /**
220
+ * The served head as the conflict a refusal stands for. Absent, it is a conflict against no
221
+ * document ("deleted remotely"), carrying `tombstone` when the refusal named one; except for a
222
+ * create that found the document (`absentIs: "unknown"`): its follow-up read finding none raced
223
+ * a deletion, there is no concurrent content to conflict with, so the outcome is unknown and the
224
+ * next push looks the identity up and, finding it absent, creates again.
225
+ */
226
+ async function servedHead(intent, absentIs = intent.base === null ? "unknown" : "conflict", tombstone) {
227
+ try {
228
+ return { kind: "conflict", actual: (await remote.read(intent.target)).version };
229
+ }
230
+ catch (error) {
231
+ if (error?.code === "ENOENT")
232
+ return absentIs === "unknown" ? UNKNOWN : { kind: "conflict", actual: null, ...(tombstone !== undefined ? { tombstone } : {}) };
233
+ return UNKNOWN;
234
+ }
235
+ }
236
+ /** The sync quota, as the pausing refusal its scope names. */
237
+ function capacity(error, executed) {
238
+ const scope = error.scope ?? "bundle";
239
+ const reset = error.resetAt ? ` It resets at ${error.resetAt}.` : "";
240
+ const whose = scope === "principal" ? "Your sync quota for this bundle is used up." : "This bundle's sync capacity is used up.";
241
+ return { kind: "refused", code: CAPACITY_REFUSAL_CODES[scope], message: `${whose}${reset} Nothing was written; sync resumes when it resets.`, ...(executed === false ? { executed } : {}) };
242
+ }
243
+ /** A definitive recorded refusal, from the write answer or from the stored result a lookup returns. */
244
+ function settleRecorded(intent, failure) {
245
+ const { error } = failure;
246
+ if (error.code === "request_capacity")
247
+ return capacity(error);
248
+ if (error.code === "document_exists" && intent.base === null)
249
+ return servedHead(intent);
250
+ if (error.code === "document_not_found")
251
+ return { kind: "conflict", actual: null };
252
+ // A create's version conflict may name a tombstone, which no read serves, so it is never
253
+ // trusted as a remote version: the served head decides. An absent head is a conflict against
254
+ // no document ("deleted remotely") that carries the tombstone for a deliberate re-create,
255
+ // never unknown, or the identity would loop between lookup and resubmission. A re-create
256
+ // whose acknowledgement went stale (another deletion since) lands here too, naming the newer
257
+ // tombstone: a conflict again, never a silent overwrite.
258
+ if (error.code === "version_conflict" && intent.base === null)
259
+ return servedHead(intent, "conflict", error.currentVersion);
260
+ if (error.code === "version_conflict")
261
+ return error.currentVersion === undefined ? servedHead(intent) : { kind: "conflict", actual: error.currentVersion };
262
+ const row = UPDATE_ANSWER_ROWS.find((candidate) => candidate.answer === `200 ${error.code}`) ?? updateRow("200 other");
263
+ if (row.code)
264
+ return denial(row.code, error.message);
265
+ // A model change's findings ride in the message the refusal row prints: what to fix, by rule.
266
+ const findings = error.code === "definition_incompatible" ? definitionFindingsText(error.definitionDetails) : "";
267
+ return { kind: "refused", code: error.code, message: findings ? `${error.message} Findings: ${findings}.` : error.message };
268
+ }
269
+ function prepare(intent) {
270
+ const request = wholeDocumentRequest(bundleId, intent, options.okfVersion);
271
+ const body = JSON.stringify(request.payload);
272
+ if (encoder.encode(body).byteLength > payloadBytes)
273
+ throw new WholeDocumentInputError(`the document exceeds ${payloadBytes} bytes as a request`);
274
+ return { request, body };
275
+ }
276
+ /**
277
+ * The identity headers of a write and of its lookup: the same, including a create's
278
+ * acknowledgement. `via` rides along but is not identity: the host ignores it on a lookup.
279
+ */
280
+ function identity(intent, request, maximum, write = false) {
281
+ return {
282
+ maximum,
283
+ writeRequest: intent.requestId,
284
+ binding,
285
+ ...(request.kind === "create" && request.recreates !== undefined ? { recreate: request.recreates } : {}),
286
+ ...(via !== undefined ? { via } : {}),
287
+ // Admission only, never identity: a delete write carries it, its lookup never needs it.
288
+ ...(write && request.kind === "delete" && options.acceptDeletes !== undefined ? { acceptDeletes: options.acceptDeletes } : {}),
289
+ };
290
+ }
291
+ /**
292
+ * A delete whose identity the host no longer holds (absent past retention) is settled by
293
+ * reading the document back (review S5): absent, it is settled as removed with no tombstone
294
+ * known (committed at the intent's own `local`, the deletion version); present at any version,
295
+ * even the one it was deleted at (a same-bytes re-create), it is a conflict, never resent.
296
+ */
297
+ async function deleteReadBack(intent) {
298
+ try {
299
+ return { kind: "conflict", actual: (await remote.read(intent.target)).version };
300
+ }
301
+ catch (error) {
302
+ return error?.code === "ENOENT" ? { kind: "committed", version: intent.local } : UNKNOWN;
303
+ }
304
+ }
305
+ async function lookupIntent(intent) {
306
+ let request;
307
+ try {
308
+ request = prepare(intent).request;
309
+ }
310
+ catch {
311
+ throw new HostedOutcomeError("unavailable");
312
+ }
313
+ let answer;
314
+ try {
315
+ answer = await carrier.json(routes.outcome, request.payload, lifetime, identity(intent, request, WHOLE_DOCUMENT_BOUNDS.outcomeAnswerBytes));
316
+ }
317
+ catch {
318
+ throw new HostedOutcomeError("unavailable");
319
+ }
320
+ if (answer.status !== 200) {
321
+ const code = answer.body?.error?.code;
322
+ throw new HostedOutcomeError("refused", answer.status, typeof code === "string" ? code : undefined);
323
+ }
324
+ const outcome = decodeOutcomeAnswer(answer.body, { requestId: intent.requestId, binding, bundleId, documentId: intent.target, operationIds: [request.operationId] });
325
+ switch (outcome.status) {
326
+ case "absent": {
327
+ // An identity the host already expired looks absent too; past the window, less the skew
328
+ // margin, absence is no longer evidence that the request never arrived.
329
+ const trusted = (await remote.operationsRetentionMs()) - OPERATIONS_RETENTION_SKEW_MS;
330
+ if (now() - Date.parse(intent.createdAt) <= trusted)
331
+ return null;
332
+ return request.kind === "delete" ? deleteReadBack(intent) : UNKNOWN;
333
+ }
334
+ case "pending":
335
+ return LOOKUP_PENDING;
336
+ case "refused":
337
+ return settleRecorded(intent, outcome.result);
338
+ case "committed": {
339
+ const { result, content } = outcome;
340
+ if (request.kind === "delete") {
341
+ // The recorded delete must be of exactly this base; `changed` is the host's
342
+ // classification (false: it had already left at this base) and either is a commit.
343
+ if (content !== null || result.data.deletedVersion !== intent.base)
344
+ throw new HostedOutcomeError("contradiction");
345
+ return { kind: "committed", version: result.data.version };
346
+ }
347
+ if (content === null)
348
+ throw new HostedOutcomeError("contradiction");
349
+ const changed = intent.base === null || intent.base !== content.version;
350
+ if (result.data.version !== content.version || result.data.changed !== changed)
351
+ throw new HostedOutcomeError("contradiction");
352
+ return { kind: "committed", version: content.version };
353
+ }
354
+ }
355
+ }
356
+ async function submit(intent, submitOptions = {}) {
357
+ let prepared;
358
+ try {
359
+ prepared = prepare(intent);
360
+ }
361
+ catch (error) {
362
+ const code = error instanceof WholeDocumentInputError ? error.code : "invalid_input";
363
+ return { kind: "refused", code, message: `${error.message}; it was not sent.`, executed: false };
364
+ }
365
+ const { request } = prepared;
366
+ let answer;
367
+ try {
368
+ answer = await carrier.json(routes[request.kind], request.payload, requestSignal(submitOptions.signal), identity(intent, request, WHOLE_DOCUMENT_BOUNDS.answerBytes, true));
369
+ }
370
+ catch (error) {
371
+ // A credential that was already gone sent nothing; anything else may have left.
372
+ if (error instanceof HostedCarrierError && error.code === "denied")
373
+ return denial("AUTH_REQUIRED", "No credential was available; the change was not sent.");
374
+ return UNKNOWN;
375
+ }
376
+ const { row, result } = classifyWriteAnswer(answer, { operationIds: [request.operationId], documentId: intent.target, bundleId });
377
+ // A delete's success, `changed` or not, is the document gone at exactly this base, and its
378
+ // version is the tombstone. One naming another base is not evidence about this request.
379
+ if (result?.ok && request.kind === "delete" && result.data.deletedVersion !== intent.base)
380
+ return UNKNOWN;
381
+ if (result?.ok)
382
+ return { kind: "committed", version: result.data.version };
383
+ if (result && !result.ok && result.error.code === "request_capacity")
384
+ return capacity(result.error, false);
385
+ if (result && !result.ok && result.error.code === "deletions_held") {
386
+ const { deletions = 0, baseline = 0 } = result.error;
387
+ try {
388
+ options.onDeletionsHeld?.({ requestId: intent.requestId, target: intent.target, deletions, baseline });
389
+ }
390
+ catch {
391
+ // Reporting never changes the outcome.
392
+ }
393
+ return { kind: "refused", code: DELETIONS_HELD_REFUSAL_CODE, message: result.error.message, executed: false };
394
+ }
395
+ // The carrier refuses a malformed identity, binding or via token before sending, so a 400
396
+ // here, and any invalid_input, is the host's schema refusing this exact document (were the
397
+ // via grammar ever to drift from the host's, every write would land here: the golden
398
+ // exchanges pin it). That is deterministic:
399
+ // resending or looking it up again can only repeat it, so it is a terminal refusal. It was
400
+ // refused before dispatch, so it settles nothing once a lookup says an earlier delivery is
401
+ // held (pending), which only a host that changed its verdict could have admitted.
402
+ if (row.answer === "400") {
403
+ const code = answer.body?.error;
404
+ return { kind: "refused", code: typeof code?.code === "string" ? code.code : "invalid_input", message: typeof code?.message === "string" ? code.message : "The host refused the request as malformed; nothing was written.", executed: false };
405
+ }
406
+ // Unrecorded here (the settled header is not read): the host also answers it before reserving,
407
+ // for an identity another request or principal holds, so it may be about this attempt only.
408
+ if (result && !result.ok && result.error.code === "invalid_input")
409
+ return { kind: "refused", code: "invalid_input", message: result.error.message, executed: "unknown" };
410
+ const settled = answer.headers.get("X-Superbee-Write-Settled") === intent.requestId;
411
+ const lookupRecorded = async () => {
412
+ try {
413
+ const recorded = await lookupIntent(intent);
414
+ return recorded === null || recorded.kind === "pending" ? UNKNOWN : recorded;
415
+ }
416
+ catch {
417
+ return UNKNOWN;
418
+ }
419
+ };
420
+ switch (row.recorded) {
421
+ case "yes":
422
+ return settleRecorded(intent, result);
423
+ case "settled-only":
424
+ // A create-only write that found the document is a conflict whether or not it was recorded.
425
+ if (result.error.code === "document_exists" && intent.base === null)
426
+ return servedHead(intent);
427
+ // The header says the answer is recorded, not that the write never applied: a refusal
428
+ // settles here only when it also says `not_applied`, as a recorded one must on lookup.
429
+ return settled && result.error.writeState === "not_applied" ? settleRecorded(intent, result) : lookupRecorded();
430
+ case "no":
431
+ return row.code ? denial(row.code, result?.ok === false ? result.error.message : "The host refused the request before dispatch.") : UNKNOWN;
432
+ default:
433
+ return row.code ? denial(row.code, "The host denied the request.", "unknown") : UNKNOWN;
434
+ }
435
+ }
436
+ return {
437
+ settlement: WHOLE_DOCUMENT_SETTLEMENT,
438
+ submit,
439
+ async lookup(requestId) {
440
+ const intent = await options.intentFor(requestId);
441
+ if (!intent)
442
+ throw new HostedOutcomeError("unavailable");
443
+ return lookupIntent(intent);
444
+ },
445
+ };
446
+ }
447
+ //# sourceMappingURL=whole-document-transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whole-document-transport.js","sourceRoot":"","sources":["../../src/hosted-transport/whole-document-transport.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -21,7 +21,7 @@
21
21
  * @see OKF spec — GoogleCloudPlatform/knowledge-catalog, `okf/SPEC.md`
22
22
  * @packageDocumentation
23
23
  */
24
- export type { ConceptId, Frontmatter, OkfDocument, Bundle, InitBundleOptions, QueryFilter, Link, EdgeFilter, FreshnessVerdict, FreshnessOptions, FreshnessResult, ReservedFilename, StorageBackend, StorageCapabilities, Version, ReadResult, ReservedReadResult, VersionInfo, WriteOptions, DeleteOptions, } from "./types.js";
24
+ export type { ConceptId, Frontmatter, OkfDocument, Bundle, InitBundleOptions, QueryFilter, SourceIdentity, Link, EdgeFilter, FreshnessVerdict, FreshnessOptions, FreshnessResult, ReservedFilename, StorageBackend, StorageCapabilities, Version, ReadResult, ReservedReadResult, VersionInfo, WriteOptions, DeleteOptions, } from "./types.js";
25
25
  export { initBundle, readBundleOkfVersion, resolveOkfAuthoringVersion, DEFAULT_OKF_AUTHORING_VERSION, SUPPORTED_OKF_AUTHORING_VERSIONS, writeDoc, readDoc, existsDoc, query, parseLinks, backlinks, queryEdges, } from "./bundle.js";
26
26
  export { writeDocVersioned, readDocVersioned, docVersions } from "./bundle.js";
27
27
  export type { WriteResult } from "./bundle.js";
@@ -29,18 +29,26 @@ export { deleteDoc, deleteBlob } from "./bundle.js";
29
29
  export { readBlob, writeBlob, existsBlob, listBlobs } from "./bundle.js";
30
30
  export type { BlobKey, ReadBlobResult } from "./types.js";
31
31
  export { freshness, staleAfterInstant } from "./freshness.js";
32
+ export { escapeHostJson, stripHostControls, stripHostData, stripHostText } from "./host-text.js";
33
+ export { okfValuesEqual } from "./okf-authored-values.js";
32
34
  export { OKF_ACTOR_FORMS, isOkfActor, isHumanActor, suggestOkfActor } from "./okf-actor.js";
33
35
  export type { OkfActorSuggestion } from "./okf-actor.js";
34
36
  export { TRUST_TIERS, TRUST_TIER_FIELD, appendVerificationEvent, latestVerifiedAt, parseIsoInstant, storedInstant, trustTier, trustTierCounts, verificationEvents, } from "./verification.js";
35
37
  export type { AppendVerificationOptions, TrustTier, TrustTierCounts, VerificationEvent } from "./verification.js";
36
- export { FilesystemBackend } from "./backend.js";
38
+ export { FilesystemBackend, probeFilesystemPath } from "./backend.js";
39
+ export { createFilesystemRuntime } from "./filesystem.js";
40
+ export type { FilesystemRuntime } from "./filesystem.js";
41
+ export type { FilesystemBackendOptions, FilesystemHostPolicy } from "./filesystem-host.js";
37
42
  export { MemoryBackend } from "./memory-backend.js";
38
- export { IntentHoldConflict, IntentStateConflict } from "./journaled-backend.js";
39
- export type { IntentPatch, IntentRecord, JournaledBackend, JournaledDeleteOptions, JournaledDeleteResult, JournaledReadResult, JournaledWriteOptions, MetaRecord, NewIntentRecord, } from "./journaled-backend.js";
43
+ export { IntentHoldConflict, IntentStateConflict, JournalGuardConflict, captureJournalGuard } from "./journaled-backend.js";
44
+ export type { IntentPatch, IntentRecord, IntentUpdateOptions, JournalGuard, MetaExpectation, MetaWriteOptions, JournaledBackend, JournaledDeleteOptions, JournaledDeleteResult, JournaledReadResult, JournaledWriteOptions, MetaRecord, NewIntentRecord, RetireAcknowledgedOptions, } from "./journaled-backend.js";
40
45
  export { withFilesystemMutationLock, FilesystemMutationLockError, filesystemMutationLockPath, } from "./filesystem-lock.js";
41
46
  export type { FilesystemMutationLockOptions, FilesystemMutationLockOwner, } from "./filesystem-lock.js";
42
- export { RemoteBackend, RemoteError } from "./remote-backend.js";
43
- export type { FetchLike, HeadsOptions, HeadsResult, RemoteBackendOptions, RemoteSnapshot, SnapshotDocument, SnapshotHeader, WireCapabilities, } from "./remote-backend.js";
47
+ export { RemoteBackend } from "./remote-backend.js";
48
+ export type { FetchLike, HeadsOptions, RemoteBackendOptions, WireCapabilities } from "./remote-backend.js";
49
+ export { RemoteError, MalformedAnswer, MALFORMED_ANSWER, isMalformedAnswer } from "./remote-error.js";
50
+ export { SNAPSHOT_DIGEST_MISMATCH, SNAPSHOT_TRUNCATED, parseHeadsAnswer, readSnapshotStream } from "./remote-parsers.js";
51
+ export type { HeadsResult, ReadSnapshotStreamOptions, RemoteSnapshot, SnapshotDocument, SnapshotHeader } from "./remote-parsers.js";
44
52
  export { headsDigest, isHeadsDigest, sortHeads } from "./heads-digest.js";
45
53
  export type { DocumentHead } from "./heads-digest.js";
46
54
  export { createRemoteOperationTransport, openRemoteOperationTransport, OperationsUnsupportedError } from "./remote-operations.js";
@@ -55,24 +63,34 @@ export type { FieldExpectation, FieldPrecondition } from "./document-preconditio
55
63
  export { list } from "./bundle.js";
56
64
  export type { QueryOptions, SkippedDoc } from "./bundle.js";
57
65
  export { queryHeads } from "./bundle.js";
58
- export { matchesFilter } from "./query-filter.js";
66
+ export { matchesFilter, matchesSourceIdentity, hasSourceIdentity } from "./query-filter.js";
59
67
  export { applyQuerySelectionFilters } from "./query-selection.js";
60
68
  export type { QuerySelectionParams } from "./query-selection.js";
61
69
  export type { HeadResult } from "./types.js";
62
70
  export { GENERATED_INDEX_MARKER, IndexProjectionWriteError, planIndexProjection, prepareIndexProjection, applyIndexProjection, } from "./index-projection.js";
63
71
  export type { PlannedIndex, IndexProjectionPlan, IndexProjectionDisposition, PreparedIndexTarget, ReadyIndexProjection, RefusedIndexProjection, IndexProjectionPreparation, AppliedIndexTarget, IndexProjectionApplyResult, } from "./index-projection.js";
64
- export { RESERVED_FILENAMES, isReservedFile, conceptIdFromPath, pathFromConceptId, assertSafeConceptId, assertSafeReservedDir, assertSafeReservedFilename, compareStorageKeys, assertSafeBlobKey, toPosix, } from "./paths.js";
72
+ export { RESERVED_FILENAMES, isReservedFile, conceptIdFromPath, pathFromConceptId, assertSafeConceptId, assertSafeReservedDir, assertSafeReservedFilename, compareStorageKeys, assertSafeBlobKey, toPosix, nonCanonicalDocumentId, } from "./paths.js";
73
+ export type { NonCanonicalDocumentId } from "./paths.js";
65
74
  export { extractMarkdownLinks, resolveConceptId, relativeHref, parseLinksFromDoc, isExternalHref, } from "./links.js";
66
75
  export type { RawLink } from "./links.js";
76
+ export { QUALIFIED_HREF_PREFIX, isQualifiedHref, parseQualifiedHref, qualifiedHref, parseQualifiedLinks, qualifiedLinkEdge, parseQualifiedKindTarget, } from "./qualified-links.js";
77
+ export type { QualifiedRef, QualifiedLink, ParsedQualifiedHref } from "./qualified-links.js";
78
+ export { collectLinkDeclarations, localEdgeQualifiedDeclaration, qualifiedEdgeViolation } from "./link-types.js";
79
+ export type { LinkTypeDeclaration } from "./link-types.js";
80
+ export { isHostedBundleId, BUNDLE_NAME_DOC_ID, BUNDLE_NAME_DOC_TYPE, declaredBundleId, DEPENDENCIES_DOC_ID, DEPENDENCIES_DOC_TYPE, BUNDLE_ALIAS, isBundleAlias, isNonPortableDependencyPath, parseDependencies, } from "./dependencies.js";
81
+ export type { DependencyPin, DependencyEntry, DependencyMap, DependencyProblemCode, DependencyProblem, ParsedDependencies, ParseDependenciesOptions, } from "./dependencies.js";
82
+ export { UNRESOLVED_REASONS, RECORD_REASONS, isRecordReason, NOT_AUTHORIZED_DETAIL, createLocalResolver, resolveQualifiedLinks, } from "./cross-bundle.js";
83
+ export type { UnresolvedReason, Resolution, CrossBacklink, BundleResolver, CommitPin, PinCheck, BundleBinding, LocalResolverOptions, QualifiedLinkResolution, } from "./cross-bundle.js";
67
84
  export { parseTimestamp, invalidLegacyTimestamp } from "./freshness.js";
68
85
  export { SUPERBEE_UPDATED_BY_FIELD, mutationActorFromFrontmatter, persistMutationActor, } from "./mutation-attribution.js";
69
86
  export type { PersistMutationActorOptions } from "./mutation-attribution.js";
70
87
  export { parseMarkdown, stringifyDoc, stringifyWithData, normalizeDocumentBodyForStorage, isUsableTimestamp, MalformedDocumentError, } from "./frontmatter.js";
71
88
  export { InvalidInputError, OkfActorError, FilesystemIdentityAliasError, ConcurrentReplacementError } from "./errors.js";
72
89
  export { applyV02MutationMetadata } from "./document-write-policy.js";
73
- export { CONVENTIONS_PREFIX, CONVENTION_TYPE, PROGRESS_STATUS_FIELD, SUPERBEE_PROGRESS_STATUS_FIELD, RESERVED_KIND_FIELD_NAMES, progressStatusStorageField, progressStatusCoordinate, resolveKindFieldCoordinate, claimCoordinates, kindInputFieldNames, readKindField, projectLogicalKindFields, projectKindForAuthoring, projectKindValidationWarnings, validateAgainstKind, isPresent, defaultTimestampAndValidateAgainstRegistry, freshnessHorizonMs, kindConventionDoc, parseConventionDoc, buildKindRegistry, splitSections, isTerminal, } from "./kinds.js";
90
+ export { CONVENTIONS_PREFIX, CONVENTION_TYPE, isConventionId, PROGRESS_STATUS_FIELD, SUPERBEE_PROGRESS_STATUS_FIELD, RESERVED_KIND_FIELD_NAMES, progressStatusStorageField, progressStatusCoordinate, resolveKindFieldCoordinate, claimCoordinates, kindInputFieldNames, readKindField, projectLogicalKindFields, projectKindForAuthoring, projectKindValidationWarnings, isKindFieldValidationWarning, validateAgainstKind, isPresent, defaultTimestampAndValidateAgainstRegistry, freshnessHorizonMs, kindConventionDoc, parseConventionDoc, buildKindRegistry, compareReadingOrder, splitSections, isTerminal, KIND_FIELD_TYPES, KIND_FIELD_TYPE_DESCRIPTIONS, isKindFieldType, kindFieldTypeProblem, kindFieldInputValue, isKindListField, } from "./kinds.js";
74
91
  export { loadKinds } from "./kinds-load.js";
75
- export type { KindClaimCoordinates, KindClaimPolicy, KindConvention, KindFieldCoordinate, KindFields, KindRegistry, RegistryValidationResult, } from "./kinds.js";
92
+ export { compareCodePoints } from "./code-point-order.js";
93
+ export type { KindClaimCoordinates, KindClaimPolicy, KindConvention, KindFieldCoordinate, KindFields, KindFieldType, KindRegistry, RegistryValidationResult, } from "./kinds.js";
76
94
  export { EXTENSION_CONTENT_TYPES, extensionOfDocKey, inferContentTypeFromDocKey, inferContentTypeForNewBlob, resolveContentType, DEFAULT_BLOB_CONTENT_TYPE, } from "./content-type.js";
77
95
  export type { ContentTypeInference, ValidationWarning } from "./content-type.js";
78
96
  export { invalidOkfTimestamps, assertAuthoredOkfTimestamps, type InvalidOkfTimestamp } from "./okf-timestamps.js";
@@ -80,4 +98,10 @@ export { isOkfLifecycleStatus, OKF_LIFECYCLE_STATUSES } from "./okf-lifecycle.js
80
98
  export { prepareDocumentFieldAction, isStandardDocumentSetField, FieldActionError, type FieldActionErrorDetails, type SourceCandidateIdentity, type FieldAction, type SourceEntry, type SourceSelector, type FieldActionScope, type FieldActionContext, type PreparedDocumentFieldAction } from "./document-field-actions.js";
81
99
  export { prepareDocumentMutationCandidate, type PrepareDocumentMutationOptions, type DocumentMutationInput } from "./document-mutation.js";
82
100
  export { KindFieldMutationConflict, prepareKindFieldMutation, type KindFieldMutation } from "./kind-field-mutation.js";
101
+ export { BODY_DELIVERY_LIMITS, prepareBodyDelivery, validatePreparedBodyDelivery, assertSameBodyDelivery, validateBodyReceipt, performBodyDelivery, reconcileBodyReceipt, } from "./governed-body-write.js";
102
+ export type { BodyUpdateOperation, PreparedBodyDelivery, CommittedBodyReceipt, BodyDeliveryOutcome, BodyDeliveryTransport, BodyDeliveryResult, BodyDeliveryInput, BodyDeliveryPremise, BodyLocalSnapshot, BodyReconciliationProposal, } from "./governed-body-write.js";
103
+ export { isManagedDocumentMetadataField } from "./managed-document-metadata.js";
104
+ export { kindCoverage } from "./kind-coverage.js";
105
+ export { BODY_PREVIEW_LIMIT, BODY_PREVIEW_TRUNCATION_MARKER, BODY_PREVIEW_TRUNCATION_SIGNATURE, BODY_PREVIEW_KEY, BODY_PREVIEW_RESERVED_KEYS, attachBodyPreview, bodyPreviewFinding, BodyReplaceError, computeDroppedLinks, droppedLinks, guardTruncatedBodyPreview, guardDroppedLinks, guardBodyReplace, TypedListPatchError, assertTypedListPatch, } from "./body-replace-guards.js";
106
+ export type { BodyPreviewFinding, BodyReplaceFinding, BodyReplacePosture } from "./body-replace-guards.js";
83
107
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}