@superbee/core 0.2.0-pre.4 → 0.2.0-pre.41

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 (628) hide show
  1. package/README.md +1255 -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 +22 -2
  7. package/dist/backend.d.ts.map +1 -1
  8. package/dist/backend.js +153 -38
  9. package/dist/backend.js.map +1 -1
  10. package/dist/blob-contract.d.ts +82 -0
  11. package/dist/blob-contract.d.ts.map +1 -0
  12. package/dist/blob-contract.js +134 -0
  13. package/dist/blob-contract.js.map +1 -0
  14. package/dist/blob-journal.d.ts +303 -0
  15. package/dist/blob-journal.d.ts.map +1 -0
  16. package/dist/blob-journal.js +541 -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 +207 -0
  43. package/dist/bundle-health/report.d.ts.map +1 -0
  44. package/dist/bundle-health/report.js +454 -0
  45. package/dist/bundle-health/report.js.map +1 -0
  46. package/dist/bundle-ops.d.ts +3 -2
  47. package/dist/bundle-ops.d.ts.map +1 -1
  48. package/dist/bundle-ops.js +4 -4
  49. package/dist/bundle-ops.js.map +1 -1
  50. package/dist/bundle.d.ts +3 -4
  51. package/dist/bundle.d.ts.map +1 -1
  52. package/dist/bundle.js +5 -14
  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/code-unit-order.d.ts +15 -0
  59. package/dist/code-unit-order.d.ts.map +1 -0
  60. package/dist/code-unit-order.js +17 -0
  61. package/dist/code-unit-order.js.map +1 -0
  62. package/dist/connector-request.d.ts +112 -0
  63. package/dist/connector-request.d.ts.map +1 -0
  64. package/dist/connector-request.js +495 -0
  65. package/dist/connector-request.js.map +1 -0
  66. package/dist/connectors.d.ts +297 -0
  67. package/dist/connectors.d.ts.map +1 -0
  68. package/dist/connectors.js +1233 -0
  69. package/dist/connectors.js.map +1 -0
  70. package/dist/cross-bundle.d.ts +135 -0
  71. package/dist/cross-bundle.d.ts.map +1 -0
  72. package/dist/cross-bundle.js +191 -0
  73. package/dist/cross-bundle.js.map +1 -0
  74. package/dist/dependencies.d.ts +94 -0
  75. package/dist/dependencies.d.ts.map +1 -0
  76. package/dist/dependencies.js +180 -0
  77. package/dist/dependencies.js.map +1 -0
  78. package/dist/document-codec.d.ts +7 -2
  79. package/dist/document-codec.d.ts.map +1 -1
  80. package/dist/document-codec.js +8 -5
  81. package/dist/document-codec.js.map +1 -1
  82. package/dist/document-field-actions.d.ts +31 -1
  83. package/dist/document-field-actions.d.ts.map +1 -1
  84. package/dist/document-field-actions.js +137 -34
  85. package/dist/document-field-actions.js.map +1 -1
  86. package/dist/document-mutation.d.ts +37 -13
  87. package/dist/document-mutation.d.ts.map +1 -1
  88. package/dist/document-mutation.js +129 -60
  89. package/dist/document-mutation.js.map +1 -1
  90. package/dist/document-transfer.d.ts +208 -0
  91. package/dist/document-transfer.d.ts.map +1 -0
  92. package/dist/document-transfer.js +928 -0
  93. package/dist/document-transfer.js.map +1 -0
  94. package/dist/document-write-policy.d.ts.map +1 -1
  95. package/dist/document-write-policy.js +4 -2
  96. package/dist/document-write-policy.js.map +1 -1
  97. package/dist/domain-model.d.ts +73 -0
  98. package/dist/domain-model.d.ts.map +1 -0
  99. package/dist/domain-model.js +169 -0
  100. package/dist/domain-model.js.map +1 -0
  101. package/dist/engine.d.ts +21 -9
  102. package/dist/engine.d.ts.map +1 -1
  103. package/dist/engine.js +72 -14
  104. package/dist/engine.js.map +1 -1
  105. package/dist/file-journaled-backend-internal.d.ts +21 -0
  106. package/dist/file-journaled-backend-internal.d.ts.map +1 -0
  107. package/dist/file-journaled-backend-internal.js +12 -0
  108. package/dist/file-journaled-backend-internal.js.map +1 -0
  109. package/dist/file-journaled-backend.d.ts +160 -0
  110. package/dist/file-journaled-backend.d.ts.map +1 -0
  111. package/dist/file-journaled-backend.js +1345 -0
  112. package/dist/file-journaled-backend.js.map +1 -0
  113. package/dist/filesystem-host.d.ts +15 -0
  114. package/dist/filesystem-host.d.ts.map +1 -0
  115. package/dist/filesystem-host.js +20 -0
  116. package/dist/filesystem-host.js.map +1 -0
  117. package/dist/filesystem-identity.d.ts +97 -21
  118. package/dist/filesystem-identity.d.ts.map +1 -1
  119. package/dist/filesystem-identity.js +398 -119
  120. package/dist/filesystem-identity.js.map +1 -1
  121. package/dist/filesystem-lock.d.ts +16 -3
  122. package/dist/filesystem-lock.d.ts.map +1 -1
  123. package/dist/filesystem-lock.js +323 -77
  124. package/dist/filesystem-lock.js.map +1 -1
  125. package/dist/filesystem-push-role.d.ts +77 -0
  126. package/dist/filesystem-push-role.d.ts.map +1 -0
  127. package/dist/filesystem-push-role.js +165 -0
  128. package/dist/filesystem-push-role.js.map +1 -0
  129. package/dist/filesystem.d.ts +17 -0
  130. package/dist/filesystem.d.ts.map +1 -0
  131. package/dist/filesystem.js +18 -0
  132. package/dist/filesystem.js.map +1 -0
  133. package/dist/frontmatter.d.ts +8 -6
  134. package/dist/frontmatter.d.ts.map +1 -1
  135. package/dist/frontmatter.js +5 -4
  136. package/dist/frontmatter.js.map +1 -1
  137. package/dist/governed-body-write.d.ts +8 -1
  138. package/dist/governed-body-write.d.ts.map +1 -1
  139. package/dist/governed-body-write.js +9 -2
  140. package/dist/governed-body-write.js.map +1 -1
  141. package/dist/heads-digest.d.ts.map +1 -1
  142. package/dist/heads-digest.js +2 -1
  143. package/dist/heads-digest.js.map +1 -1
  144. package/dist/host-policy-snapshot.d.ts +9 -0
  145. package/dist/host-policy-snapshot.d.ts.map +1 -0
  146. package/dist/host-policy-snapshot.js +33 -0
  147. package/dist/host-policy-snapshot.js.map +1 -0
  148. package/dist/host-text.d.ts +31 -0
  149. package/dist/host-text.d.ts.map +1 -0
  150. package/dist/host-text.js +77 -0
  151. package/dist/host-text.js.map +1 -0
  152. package/dist/hosted-client/binding.d.ts +7 -0
  153. package/dist/hosted-client/binding.d.ts.map +1 -0
  154. package/dist/hosted-client/binding.js +10 -0
  155. package/dist/hosted-client/binding.js.map +1 -0
  156. package/dist/hosted-client/blob-delivery.d.ts +68 -0
  157. package/dist/hosted-client/blob-delivery.d.ts.map +1 -0
  158. package/dist/hosted-client/blob-delivery.js +170 -0
  159. package/dist/hosted-client/blob-delivery.js.map +1 -0
  160. package/dist/hosted-client/blob-write.d.ts +387 -0
  161. package/dist/hosted-client/blob-write.d.ts.map +1 -0
  162. package/dist/hosted-client/blob-write.js +770 -0
  163. package/dist/hosted-client/blob-write.js.map +1 -0
  164. package/dist/hosted-client/bundle-listing.d.ts +46 -0
  165. package/dist/hosted-client/bundle-listing.d.ts.map +1 -0
  166. package/dist/hosted-client/bundle-listing.js +36 -0
  167. package/dist/hosted-client/bundle-listing.js.map +1 -0
  168. package/dist/hosted-client/client.d.ts +219 -0
  169. package/dist/hosted-client/client.d.ts.map +1 -0
  170. package/dist/hosted-client/client.js +309 -0
  171. package/dist/hosted-client/client.js.map +1 -0
  172. package/dist/hosted-client/directory.d.ts +46 -0
  173. package/dist/hosted-client/directory.d.ts.map +1 -0
  174. package/dist/hosted-client/directory.js +74 -0
  175. package/dist/hosted-client/directory.js.map +1 -0
  176. package/dist/hosted-client/errors.d.ts +26 -0
  177. package/dist/hosted-client/errors.d.ts.map +1 -0
  178. package/dist/hosted-client/errors.js +35 -0
  179. package/dist/hosted-client/errors.js.map +1 -0
  180. package/dist/hosted-client/inbox.d.ts +320 -0
  181. package/dist/hosted-client/inbox.d.ts.map +1 -0
  182. package/dist/hosted-client/inbox.js +379 -0
  183. package/dist/hosted-client/inbox.js.map +1 -0
  184. package/dist/hosted-client/index.d.ts +30 -0
  185. package/dist/hosted-client/index.d.ts.map +1 -0
  186. package/dist/hosted-client/index.js +32 -0
  187. package/dist/hosted-client/index.js.map +1 -0
  188. package/dist/hosted-client/journal.d.ts +103 -0
  189. package/dist/hosted-client/journal.d.ts.map +1 -0
  190. package/dist/hosted-client/journal.js +464 -0
  191. package/dist/hosted-client/journal.js.map +1 -0
  192. package/dist/hosted-client/node.d.ts +74 -0
  193. package/dist/hosted-client/node.d.ts.map +1 -0
  194. package/dist/hosted-client/node.js +219 -0
  195. package/dist/hosted-client/node.js.map +1 -0
  196. package/dist/hosted-client/reference.d.ts +12 -0
  197. package/dist/hosted-client/reference.d.ts.map +1 -0
  198. package/dist/hosted-client/reference.js +29 -0
  199. package/dist/hosted-client/reference.js.map +1 -0
  200. package/dist/hosted-client/write.d.ts +217 -0
  201. package/dist/hosted-client/write.d.ts.map +1 -0
  202. package/dist/hosted-client/write.js +418 -0
  203. package/dist/hosted-client/write.js.map +1 -0
  204. package/dist/hosted-transport/answer-rows.d.ts +243 -0
  205. package/dist/hosted-transport/answer-rows.d.ts.map +1 -0
  206. package/dist/hosted-transport/answer-rows.js +457 -0
  207. package/dist/hosted-transport/answer-rows.js.map +1 -0
  208. package/dist/hosted-transport/blob-reads.d.ts +35 -0
  209. package/dist/hosted-transport/blob-reads.d.ts.map +1 -0
  210. package/dist/hosted-transport/blob-reads.js +179 -0
  211. package/dist/hosted-transport/blob-reads.js.map +1 -0
  212. package/dist/hosted-transport/blob-write.d.ts +34 -0
  213. package/dist/hosted-transport/blob-write.d.ts.map +1 -0
  214. package/dist/hosted-transport/blob-write.js +115 -0
  215. package/dist/hosted-transport/blob-write.js.map +1 -0
  216. package/dist/hosted-transport/carrier.d.ts +151 -0
  217. package/dist/hosted-transport/carrier.d.ts.map +1 -0
  218. package/dist/hosted-transport/carrier.js +260 -0
  219. package/dist/hosted-transport/carrier.js.map +1 -0
  220. package/dist/hosted-transport/document-backend.d.ts +74 -0
  221. package/dist/hosted-transport/document-backend.d.ts.map +1 -0
  222. package/dist/hosted-transport/document-backend.js +160 -0
  223. package/dist/hosted-transport/document-backend.js.map +1 -0
  224. package/dist/hosted-transport/history-pages.d.ts +55 -0
  225. package/dist/hosted-transport/history-pages.d.ts.map +1 -0
  226. package/dist/hosted-transport/history-pages.js +69 -0
  227. package/dist/hosted-transport/history-pages.js.map +1 -0
  228. package/dist/hosted-transport/index.d.ts +19 -0
  229. package/dist/hosted-transport/index.d.ts.map +1 -0
  230. package/dist/hosted-transport/index.js +19 -0
  231. package/dist/hosted-transport/index.js.map +1 -0
  232. package/dist/hosted-transport/operations.d.ts +85 -0
  233. package/dist/hosted-transport/operations.d.ts.map +1 -0
  234. package/dist/hosted-transport/operations.js +128 -0
  235. package/dist/hosted-transport/operations.js.map +1 -0
  236. package/dist/hosted-transport/paged-reads.d.ts +87 -0
  237. package/dist/hosted-transport/paged-reads.d.ts.map +1 -0
  238. package/dist/hosted-transport/paged-reads.js +238 -0
  239. package/dist/hosted-transport/paged-reads.js.map +1 -0
  240. package/dist/hosted-transport/read-adapter.d.ts +256 -0
  241. package/dist/hosted-transport/read-adapter.d.ts.map +1 -0
  242. package/dist/hosted-transport/read-adapter.js +568 -0
  243. package/dist/hosted-transport/read-adapter.js.map +1 -0
  244. package/dist/hosted-transport/root-write.d.ts +114 -0
  245. package/dist/hosted-transport/root-write.d.ts.map +1 -0
  246. package/dist/hosted-transport/root-write.js +171 -0
  247. package/dist/hosted-transport/root-write.js.map +1 -0
  248. package/dist/hosted-transport/whole-document-transport.d.ts +204 -0
  249. package/dist/hosted-transport/whole-document-transport.d.ts.map +1 -0
  250. package/dist/hosted-transport/whole-document-transport.js +447 -0
  251. package/dist/hosted-transport/whole-document-transport.js.map +1 -0
  252. package/dist/identity-fold.d.ts +18 -0
  253. package/dist/identity-fold.d.ts.map +1 -0
  254. package/dist/identity-fold.js +22 -0
  255. package/dist/identity-fold.js.map +1 -0
  256. package/dist/index.d.ts +41 -11
  257. package/dist/index.d.ts.map +1 -1
  258. package/dist/index.js +31 -9
  259. package/dist/index.js.map +1 -1
  260. package/dist/indexeddb-backend.d.ts +25 -33
  261. package/dist/indexeddb-backend.d.ts.map +1 -1
  262. package/dist/indexeddb-backend.js +264 -8
  263. package/dist/indexeddb-backend.js.map +1 -1
  264. package/dist/inventory-guard.d.ts +58 -0
  265. package/dist/inventory-guard.d.ts.map +1 -0
  266. package/dist/inventory-guard.js +169 -0
  267. package/dist/inventory-guard.js.map +1 -0
  268. package/dist/journaled-backend.d.ts +149 -9
  269. package/dist/journaled-backend.d.ts.map +1 -1
  270. package/dist/journaled-backend.js +64 -58
  271. package/dist/journaled-backend.js.map +1 -1
  272. package/dist/kind-authoring.d.ts +170 -0
  273. package/dist/kind-authoring.d.ts.map +1 -0
  274. package/dist/kind-authoring.js +452 -0
  275. package/dist/kind-authoring.js.map +1 -0
  276. package/dist/kind-changes.d.ts +45 -0
  277. package/dist/kind-changes.d.ts.map +1 -0
  278. package/dist/kind-changes.js +96 -0
  279. package/dist/kind-changes.js.map +1 -0
  280. package/dist/kind-conformance-error.d.ts +15 -0
  281. package/dist/kind-conformance-error.d.ts.map +1 -0
  282. package/dist/kind-conformance-error.js +20 -0
  283. package/dist/kind-conformance-error.js.map +1 -0
  284. package/dist/kind-coverage.d.ts +99 -0
  285. package/dist/kind-coverage.d.ts.map +1 -0
  286. package/dist/kind-coverage.js +186 -0
  287. package/dist/kind-coverage.js.map +1 -0
  288. package/dist/kind-deprecation.d.ts +32 -0
  289. package/dist/kind-deprecation.d.ts.map +1 -0
  290. package/dist/kind-deprecation.js +141 -0
  291. package/dist/kind-deprecation.js.map +1 -0
  292. package/dist/kind-field-mutation.d.ts +4 -0
  293. package/dist/kind-field-mutation.d.ts.map +1 -1
  294. package/dist/kind-field-mutation.js +28 -3
  295. package/dist/kind-field-mutation.js.map +1 -1
  296. package/dist/kinds-load.js +4 -4
  297. package/dist/kinds-load.js.map +1 -1
  298. package/dist/kinds.d.ts +111 -2
  299. package/dist/kinds.d.ts.map +1 -1
  300. package/dist/kinds.js +386 -20
  301. package/dist/kinds.js.map +1 -1
  302. package/dist/link-emit.d.ts +29 -0
  303. package/dist/link-emit.d.ts.map +1 -0
  304. package/dist/link-emit.js +39 -0
  305. package/dist/link-emit.js.map +1 -0
  306. package/dist/link-types.d.ts +27 -0
  307. package/dist/link-types.d.ts.map +1 -0
  308. package/dist/link-types.js +60 -0
  309. package/dist/link-types.js.map +1 -0
  310. package/dist/links.d.ts +52 -3
  311. package/dist/links.d.ts.map +1 -1
  312. package/dist/links.js +259 -18
  313. package/dist/links.js.map +1 -1
  314. package/dist/managed-document-metadata.d.ts +2 -0
  315. package/dist/managed-document-metadata.d.ts.map +1 -0
  316. package/dist/managed-document-metadata.js +9 -0
  317. package/dist/managed-document-metadata.js.map +1 -0
  318. package/dist/memory-backend.d.ts +3 -0
  319. package/dist/memory-backend.d.ts.map +1 -1
  320. package/dist/memory-backend.js +44 -2
  321. package/dist/memory-backend.js.map +1 -1
  322. package/dist/okf-actor.d.ts +1 -0
  323. package/dist/okf-actor.d.ts.map +1 -1
  324. package/dist/okf-actor.js +1 -0
  325. package/dist/okf-actor.js.map +1 -1
  326. package/dist/okf-authoring.d.ts +4 -0
  327. package/dist/okf-authoring.d.ts.map +1 -0
  328. package/dist/okf-authoring.js +12 -0
  329. package/dist/okf-authoring.js.map +1 -0
  330. package/dist/okf-standard-fields.d.ts +3 -0
  331. package/dist/okf-standard-fields.d.ts.map +1 -1
  332. package/dist/okf-standard-fields.js +3 -0
  333. package/dist/okf-standard-fields.js.map +1 -1
  334. package/dist/path-fold.d.ts +39 -0
  335. package/dist/path-fold.d.ts.map +1 -0
  336. package/dist/path-fold.js +41 -0
  337. package/dist/path-fold.js.map +1 -0
  338. package/dist/paths.d.ts +18 -0
  339. package/dist/paths.d.ts.map +1 -1
  340. package/dist/paths.js +32 -0
  341. package/dist/paths.js.map +1 -1
  342. package/dist/platform.d.ts +13 -2
  343. package/dist/platform.d.ts.map +1 -1
  344. package/dist/platform.js +16 -0
  345. package/dist/platform.js.map +1 -1
  346. package/dist/portable-export.d.ts +119 -0
  347. package/dist/portable-export.d.ts.map +1 -0
  348. package/dist/portable-export.js +501 -0
  349. package/dist/portable-export.js.map +1 -0
  350. package/dist/publication-filesystem.d.ts +1 -1
  351. package/dist/publication-filesystem.d.ts.map +1 -1
  352. package/dist/publication-filesystem.js +1 -1
  353. package/dist/publication-filesystem.js.map +1 -1
  354. package/dist/qualified-links.d.ts +67 -0
  355. package/dist/qualified-links.d.ts.map +1 -0
  356. package/dist/qualified-links.js +117 -0
  357. package/dist/qualified-links.js.map +1 -0
  358. package/dist/query-filter.d.ts +16 -2
  359. package/dist/query-filter.d.ts.map +1 -1
  360. package/dist/query-filter.js +40 -1
  361. package/dist/query-filter.js.map +1 -1
  362. package/dist/query-order.d.ts +22 -0
  363. package/dist/query-order.d.ts.map +1 -0
  364. package/dist/query-order.js +43 -0
  365. package/dist/query-order.js.map +1 -0
  366. package/dist/recipe-lifecycle/errors.d.ts +96 -0
  367. package/dist/recipe-lifecycle/errors.d.ts.map +1 -0
  368. package/dist/recipe-lifecycle/errors.js +122 -0
  369. package/dist/recipe-lifecycle/errors.js.map +1 -0
  370. package/dist/recipe-lifecycle/evolution.d.ts +124 -0
  371. package/dist/recipe-lifecycle/evolution.d.ts.map +1 -0
  372. package/dist/recipe-lifecycle/evolution.js +993 -0
  373. package/dist/recipe-lifecycle/evolution.js.map +1 -0
  374. package/dist/recipe-lifecycle/index.d.ts +34 -0
  375. package/dist/recipe-lifecycle/index.d.ts.map +1 -0
  376. package/dist/recipe-lifecycle/index.js +28 -0
  377. package/dist/recipe-lifecycle/index.js.map +1 -0
  378. package/dist/recipe-lifecycle/install.d.ts +155 -0
  379. package/dist/recipe-lifecycle/install.d.ts.map +1 -0
  380. package/dist/recipe-lifecycle/install.js +604 -0
  381. package/dist/recipe-lifecycle/install.js.map +1 -0
  382. package/dist/recipe-lifecycle/legacy-aliases.d.ts +16 -0
  383. package/dist/recipe-lifecycle/legacy-aliases.d.ts.map +1 -0
  384. package/dist/recipe-lifecycle/legacy-aliases.js +51 -0
  385. package/dist/recipe-lifecycle/legacy-aliases.js.map +1 -0
  386. package/dist/recipe-lifecycle/retirement-apply.d.ts +59 -0
  387. package/dist/recipe-lifecycle/retirement-apply.d.ts.map +1 -0
  388. package/dist/recipe-lifecycle/retirement-apply.js +165 -0
  389. package/dist/recipe-lifecycle/retirement-apply.js.map +1 -0
  390. package/dist/recipe-lifecycle/retirement.d.ts +89 -0
  391. package/dist/recipe-lifecycle/retirement.d.ts.map +1 -0
  392. package/dist/recipe-lifecycle/retirement.js +347 -0
  393. package/dist/recipe-lifecycle/retirement.js.map +1 -0
  394. package/dist/recipe-lifecycle/stamp.d.ts +151 -0
  395. package/dist/recipe-lifecycle/stamp.d.ts.map +1 -0
  396. package/dist/recipe-lifecycle/stamp.js +364 -0
  397. package/dist/recipe-lifecycle/stamp.js.map +1 -0
  398. package/dist/recipe-set-preflight.d.ts +139 -0
  399. package/dist/recipe-set-preflight.d.ts.map +1 -0
  400. package/dist/recipe-set-preflight.js +536 -0
  401. package/dist/recipe-set-preflight.js.map +1 -0
  402. package/dist/recipes.d.ts +29 -1
  403. package/dist/recipes.d.ts.map +1 -1
  404. package/dist/recipes.js +137 -1
  405. package/dist/recipes.js.map +1 -1
  406. package/dist/record-overlay/apply.d.ts +43 -0
  407. package/dist/record-overlay/apply.d.ts.map +1 -0
  408. package/dist/record-overlay/apply.js +527 -0
  409. package/dist/record-overlay/apply.js.map +1 -0
  410. package/dist/record-overlay/canonical.d.ts +22 -0
  411. package/dist/record-overlay/canonical.d.ts.map +1 -0
  412. package/dist/record-overlay/canonical.js +47 -0
  413. package/dist/record-overlay/canonical.js.map +1 -0
  414. package/dist/record-overlay/digest.d.ts +4 -0
  415. package/dist/record-overlay/digest.d.ts.map +1 -0
  416. package/dist/record-overlay/digest.js +11 -0
  417. package/dist/record-overlay/digest.js.map +1 -0
  418. package/dist/record-overlay/errors.d.ts +44 -0
  419. package/dist/record-overlay/errors.d.ts.map +1 -0
  420. package/dist/record-overlay/errors.js +55 -0
  421. package/dist/record-overlay/errors.js.map +1 -0
  422. package/dist/record-overlay/findings.d.ts +5 -0
  423. package/dist/record-overlay/findings.d.ts.map +1 -0
  424. package/dist/record-overlay/findings.js +83 -0
  425. package/dist/record-overlay/findings.js.map +1 -0
  426. package/dist/record-overlay/index.d.ts +23 -0
  427. package/dist/record-overlay/index.d.ts.map +1 -0
  428. package/dist/record-overlay/index.js +21 -0
  429. package/dist/record-overlay/index.js.map +1 -0
  430. package/dist/record-overlay/plan.d.ts +12 -0
  431. package/dist/record-overlay/plan.d.ts.map +1 -0
  432. package/dist/record-overlay/plan.js +285 -0
  433. package/dist/record-overlay/plan.js.map +1 -0
  434. package/dist/record-overlay/policy.d.ts +74 -0
  435. package/dist/record-overlay/policy.d.ts.map +1 -0
  436. package/dist/record-overlay/policy.js +235 -0
  437. package/dist/record-overlay/policy.js.map +1 -0
  438. package/dist/record-overlay/redact.d.ts +3 -0
  439. package/dist/record-overlay/redact.d.ts.map +1 -0
  440. package/dist/record-overlay/redact.js +27 -0
  441. package/dist/record-overlay/redact.js.map +1 -0
  442. package/dist/record-overlay/signal-kind.d.ts +30 -0
  443. package/dist/record-overlay/signal-kind.d.ts.map +1 -0
  444. package/dist/record-overlay/signal-kind.js +38 -0
  445. package/dist/record-overlay/signal-kind.js.map +1 -0
  446. package/dist/record-overlay/signal-text.d.ts +45 -0
  447. package/dist/record-overlay/signal-text.d.ts.map +1 -0
  448. package/dist/record-overlay/signal-text.js +116 -0
  449. package/dist/record-overlay/signal-text.js.map +1 -0
  450. package/dist/record-overlay/source-index.d.ts +19 -0
  451. package/dist/record-overlay/source-index.d.ts.map +1 -0
  452. package/dist/record-overlay/source-index.js +102 -0
  453. package/dist/record-overlay/source-index.js.map +1 -0
  454. package/dist/record-overlay/types.d.ts +291 -0
  455. package/dist/record-overlay/types.d.ts.map +1 -0
  456. package/dist/record-overlay/types.js +2 -0
  457. package/dist/record-overlay/types.js.map +1 -0
  458. package/dist/remote-backend.d.ts +58 -13
  459. package/dist/remote-backend.d.ts.map +1 -1
  460. package/dist/remote-backend.js +156 -36
  461. package/dist/remote-backend.js.map +1 -1
  462. package/dist/remote-document-codec.d.ts +2 -1
  463. package/dist/remote-document-codec.d.ts.map +1 -1
  464. package/dist/remote-document-codec.js +3 -2
  465. package/dist/remote-document-codec.js.map +1 -1
  466. package/dist/remote-error.d.ts +17 -1
  467. package/dist/remote-error.d.ts.map +1 -1
  468. package/dist/remote-error.js +32 -2
  469. package/dist/remote-error.js.map +1 -1
  470. package/dist/remote-operations.d.ts +0 -40
  471. package/dist/remote-operations.d.ts.map +1 -1
  472. package/dist/remote-operations.js +26 -6
  473. package/dist/remote-operations.js.map +1 -1
  474. package/dist/remote-parsers.d.ts +1 -1
  475. package/dist/remote-parsers.js +1 -1
  476. package/dist/search/backend-source.d.ts +6 -0
  477. package/dist/search/backend-source.d.ts.map +1 -0
  478. package/dist/search/backend-source.js +33 -0
  479. package/dist/search/backend-source.js.map +1 -0
  480. package/dist/search/contract.d.ts +151 -0
  481. package/dist/search/contract.d.ts.map +1 -0
  482. package/dist/search/contract.js +78 -0
  483. package/dist/search/contract.js.map +1 -0
  484. package/dist/search/errors.d.ts +30 -0
  485. package/dist/search/errors.d.ts.map +1 -0
  486. package/dist/search/errors.js +50 -0
  487. package/dist/search/errors.js.map +1 -0
  488. package/dist/search/identity.d.ts +12 -0
  489. package/dist/search/identity.d.ts.map +1 -0
  490. package/dist/search/identity.js +90 -0
  491. package/dist/search/identity.js.map +1 -0
  492. package/dist/search/index.d.ts +16 -0
  493. package/dist/search/index.d.ts.map +1 -0
  494. package/dist/search/index.js +15 -0
  495. package/dist/search/index.js.map +1 -0
  496. package/dist/search/memory-source.d.ts +36 -0
  497. package/dist/search/memory-source.d.ts.map +1 -0
  498. package/dist/search/memory-source.js +235 -0
  499. package/dist/search/memory-source.js.map +1 -0
  500. package/dist/search/rank.d.ts +34 -0
  501. package/dist/search/rank.d.ts.map +1 -0
  502. package/dist/search/rank.js +129 -0
  503. package/dist/search/rank.js.map +1 -0
  504. package/dist/search/row-text.d.ts +38 -0
  505. package/dist/search/row-text.d.ts.map +1 -0
  506. package/dist/search/row-text.js +88 -0
  507. package/dist/search/row-text.js.map +1 -0
  508. package/dist/search/search.d.ts +28 -0
  509. package/dist/search/search.d.ts.map +1 -0
  510. package/dist/search/search.js +257 -0
  511. package/dist/search/search.js.map +1 -0
  512. package/dist/search/source.d.ts +67 -0
  513. package/dist/search/source.d.ts.map +1 -0
  514. package/dist/search/source.js +2 -0
  515. package/dist/search/source.js.map +1 -0
  516. package/dist/search/text.d.ts +47 -0
  517. package/dist/search/text.d.ts.map +1 -0
  518. package/dist/search/text.js +150 -0
  519. package/dist/search/text.js.map +1 -0
  520. package/dist/site-capabilities.d.ts +345 -0
  521. package/dist/site-capabilities.d.ts.map +1 -0
  522. package/dist/site-capabilities.js +724 -0
  523. package/dist/site-capabilities.js.map +1 -0
  524. package/dist/source-engine/driver.d.ts +42 -0
  525. package/dist/source-engine/driver.d.ts.map +1 -0
  526. package/dist/source-engine/driver.js +529 -0
  527. package/dist/source-engine/driver.js.map +1 -0
  528. package/dist/source-engine/evidence.d.ts +39 -0
  529. package/dist/source-engine/evidence.d.ts.map +1 -0
  530. package/dist/source-engine/evidence.js +54 -0
  531. package/dist/source-engine/evidence.js.map +1 -0
  532. package/dist/source-engine/guard.d.ts +87 -0
  533. package/dist/source-engine/guard.d.ts.map +1 -0
  534. package/dist/source-engine/guard.js +427 -0
  535. package/dist/source-engine/guard.js.map +1 -0
  536. package/dist/source-engine/index.d.ts +35 -0
  537. package/dist/source-engine/index.d.ts.map +1 -0
  538. package/dist/source-engine/index.js +27 -0
  539. package/dist/source-engine/index.js.map +1 -0
  540. package/dist/source-engine/machine-state.d.ts +87 -0
  541. package/dist/source-engine/machine-state.d.ts.map +1 -0
  542. package/dist/source-engine/machine-state.js +94 -0
  543. package/dist/source-engine/machine-state.js.map +1 -0
  544. package/dist/source-engine/observe.d.ts +10 -0
  545. package/dist/source-engine/observe.d.ts.map +1 -0
  546. package/dist/source-engine/observe.js +276 -0
  547. package/dist/source-engine/observe.js.map +1 -0
  548. package/dist/source-engine/overlay.d.ts +50 -0
  549. package/dist/source-engine/overlay.d.ts.map +1 -0
  550. package/dist/source-engine/overlay.js +114 -0
  551. package/dist/source-engine/overlay.js.map +1 -0
  552. package/dist/source-engine/robots.d.ts +53 -0
  553. package/dist/source-engine/robots.d.ts.map +1 -0
  554. package/dist/source-engine/robots.js +158 -0
  555. package/dist/source-engine/robots.js.map +1 -0
  556. package/dist/source-engine/snapshot.d.ts +104 -0
  557. package/dist/source-engine/snapshot.d.ts.map +1 -0
  558. package/dist/source-engine/snapshot.js +240 -0
  559. package/dist/source-engine/snapshot.js.map +1 -0
  560. package/dist/source-engine/target-consumer.d.ts +12 -0
  561. package/dist/source-engine/target-consumer.d.ts.map +1 -0
  562. package/dist/source-engine/target-consumer.js +15 -0
  563. package/dist/source-engine/target-consumer.js.map +1 -0
  564. package/dist/source-engine/target-descriptor.d.ts +3 -0
  565. package/dist/source-engine/target-descriptor.d.ts.map +1 -0
  566. package/dist/source-engine/target-descriptor.js +26 -0
  567. package/dist/source-engine/target-descriptor.js.map +1 -0
  568. package/dist/source-engine/target.d.ts +82 -0
  569. package/dist/source-engine/target.d.ts.map +1 -0
  570. package/dist/source-engine/target.js +213 -0
  571. package/dist/source-engine/target.js.map +1 -0
  572. package/dist/source-engine/types.d.ts +296 -0
  573. package/dist/source-engine/types.d.ts.map +1 -0
  574. package/dist/source-engine/types.js +2 -0
  575. package/dist/source-engine/types.js.map +1 -0
  576. package/dist/source-harness/conformance.d.ts +16 -0
  577. package/dist/source-harness/conformance.d.ts.map +1 -0
  578. package/dist/source-harness/conformance.js +266 -0
  579. package/dist/source-harness/conformance.js.map +1 -0
  580. package/dist/source-harness/fixture.d.ts +97 -0
  581. package/dist/source-harness/fixture.d.ts.map +1 -0
  582. package/dist/source-harness/fixture.js +276 -0
  583. package/dist/source-harness/fixture.js.map +1 -0
  584. package/dist/source-harness/index.d.ts +22 -0
  585. package/dist/source-harness/index.d.ts.map +1 -0
  586. package/dist/source-harness/index.js +19 -0
  587. package/dist/source-harness/index.js.map +1 -0
  588. package/dist/source-harness/peer.d.ts +74 -0
  589. package/dist/source-harness/peer.d.ts.map +1 -0
  590. package/dist/source-harness/peer.js +106 -0
  591. package/dist/source-harness/peer.js.map +1 -0
  592. package/dist/source-profiles/index.d.ts +31 -0
  593. package/dist/source-profiles/index.d.ts.map +1 -0
  594. package/dist/source-profiles/index.js +206 -0
  595. package/dist/source-profiles/index.js.map +1 -0
  596. package/dist/source-profiles/link-header.d.ts +6 -0
  597. package/dist/source-profiles/link-header.d.ts.map +1 -0
  598. package/dist/source-profiles/link-header.js +131 -0
  599. package/dist/source-profiles/link-header.js.map +1 -0
  600. package/dist/storage.d.ts +9 -2
  601. package/dist/storage.d.ts.map +1 -1
  602. package/dist/storage.js +6 -1
  603. package/dist/storage.js.map +1 -1
  604. package/dist/string-identity-agreement.d.ts +35 -0
  605. package/dist/string-identity-agreement.d.ts.map +1 -0
  606. package/dist/string-identity-agreement.js +72 -0
  607. package/dist/string-identity-agreement.js.map +1 -0
  608. package/dist/types.d.ts +41 -6
  609. package/dist/types.d.ts.map +1 -1
  610. package/dist/types.js +0 -10
  611. package/dist/types.js.map +1 -1
  612. package/dist/uncertain-write.d.ts +157 -17
  613. package/dist/uncertain-write.d.ts.map +1 -1
  614. package/dist/uncertain-write.js +86 -30
  615. package/dist/uncertain-write.js.map +1 -1
  616. package/dist/versioning.d.ts +9 -4
  617. package/dist/versioning.d.ts.map +1 -1
  618. package/dist/versioning.js +9 -4
  619. package/dist/versioning.js.map +1 -1
  620. package/dist/view-launch-contract.d.ts +14 -0
  621. package/dist/view-launch-contract.d.ts.map +1 -0
  622. package/dist/view-launch-contract.js +23 -0
  623. package/dist/view-launch-contract.js.map +1 -0
  624. package/dist/write-identity.d.ts +5 -0
  625. package/dist/write-identity.d.ts.map +1 -0
  626. package/dist/write-identity.js +9 -0
  627. package/dist/write-identity.js.map +1 -0
  628. package/package.json +140 -3
@@ -0,0 +1,291 @@
1
+ /** Types of `@superbee/core/record-overlay`. Step and result rows keep the record-bridge keys. */
2
+ import type { DocumentMutationCandidate } from "../document-mutation.js";
3
+ import type { KindConvention, KindRegistry } from "../kinds.js";
4
+ import type { Bundle, ConceptId, Frontmatter, OkfDocument, Version } from "../types.js";
5
+ import type { RefusalCode } from "./errors.js";
6
+ import type { SourceIndex } from "./source-index.js";
7
+ /** One bundle as the overlay reads and writes it. */
8
+ export interface OverlayBundle {
9
+ bundle: Bundle;
10
+ registry: KindRegistry;
11
+ okfVersion: "0.1" | "0.2";
12
+ }
13
+ /** The generic Source Feed policy: which fields a feed owns and what each change kind may do. */
14
+ export interface OverlayPolicy {
15
+ feed: ConceptId;
16
+ /** The provider identity (`url`), as `sources[].resource` names it. */
17
+ provider: string;
18
+ /** The Kind of the overlay documents. Absent for a record-only or presentation-only feed. */
19
+ target_kind?: string;
20
+ owned_fields: string[];
21
+ auto_apply: string[];
22
+ needs_review: string[];
23
+ missing_threshold?: number;
24
+ completeness?: "complete" | "partial";
25
+ /** The feed's wall-time zone, validated by whoever owns the interval hook. */
26
+ time_zone?: string;
27
+ exclude?: RegExp | null;
28
+ exclude_ids?: ReadonlySet<string> | null;
29
+ /**
30
+ * The target Kind's `string-list` and `https-url-list` fields, which change detection compares as
31
+ * sets. Present only when the reader was given a target Kind that declares one.
32
+ */
33
+ list_fields?: string[];
34
+ }
35
+ /** Field checks for the reader: the target Kind's declared fields, or a presentation kind's fields. */
36
+ export type PolicyContext = {
37
+ targetKind?: KindConvention;
38
+ presentationFields?: never;
39
+ } | {
40
+ presentationFields: readonly string[];
41
+ targetKind?: never;
42
+ };
43
+ /** One change the caller's diff observed for one external record. */
44
+ export interface RecordChange {
45
+ external_id: string;
46
+ change_kind: string;
47
+ changed_fields: string[];
48
+ before: Record<string, unknown> | null;
49
+ after: Record<string, unknown> | null;
50
+ content_digest: string;
51
+ occurs_at?: string;
52
+ missing_count?: number;
53
+ first_missing_at?: string;
54
+ collapse_with?: string[];
55
+ signal_priority?: string;
56
+ }
57
+ export interface Tell {
58
+ code: string;
59
+ match: string;
60
+ [property: string]: unknown;
61
+ }
62
+ /** A publication text gate: the text as it may be written, and whether it may be written at all. */
63
+ export type TextGate = (text: string, context: {
64
+ field: string;
65
+ kind: string | undefined;
66
+ }) => {
67
+ text: string;
68
+ ok: boolean;
69
+ tells: Tell[];
70
+ changed?: boolean;
71
+ };
72
+ /** `[startMs, endMs)` of a record's last known occurrence, or null when its dates are unknown. */
73
+ export type IntervalHook = (fields: Record<string, unknown>, timeZone: string | undefined) => readonly [number, number] | null;
74
+ export type DisappearedPhase = "ended" | "before-start" | "ongoing" | null;
75
+ export interface CorrelateHook {
76
+ kind: string;
77
+ match: (fields: Record<string, unknown>, frontmatter: Frontmatter, externalId: string) => null | undefined | {
78
+ reason: string;
79
+ priority?: string;
80
+ };
81
+ }
82
+ /** Runs on every fresh candidate through `mutateDocument`, after the core-owned guards. */
83
+ export type AssertCandidate = (existing: OkfDocument | undefined, candidate: DocumentMutationCandidate) => void | Promise<void>;
84
+ export interface OverlayHooks {
85
+ textGate?: TextGate;
86
+ interval?: IntervalHook;
87
+ correlate?: CorrelateHook;
88
+ /** Scalar properties for the `sources` entry of an applied record; none means no upsert. */
89
+ sourceProperties?: (change: RecordChange) => Record<string, string | number | boolean> | undefined;
90
+ /** Site rules, run after the core-owned guards on the same fresh read. */
91
+ assertCandidate?: (existing: OkfDocument | undefined, candidate: DocumentMutationCandidate, context: {
92
+ step: OverlayStep["op"];
93
+ bundle: "content" | "ops";
94
+ }) => void | Promise<void>;
95
+ /** Fields derived in the same write as the owned fields (for example `updated_at`). */
96
+ deriveFields?: {
97
+ fields: readonly string[];
98
+ derive: (existing: OkfDocument, next: DocumentMutationCandidate) => Record<string, unknown>;
99
+ };
100
+ }
101
+ export interface ChangeDecision {
102
+ apply: Record<string, {
103
+ from: unknown;
104
+ to: unknown;
105
+ }>;
106
+ conflicts: Array<{
107
+ field: string;
108
+ doc_value: unknown;
109
+ feed_before: unknown;
110
+ feed_after: unknown;
111
+ }>;
112
+ editorFields: string[];
113
+ wording: Array<{
114
+ field: string;
115
+ text: string;
116
+ tells: Tell[];
117
+ }>;
118
+ signal: null | {
119
+ priority: string;
120
+ reasons: string[];
121
+ };
122
+ }
123
+ export interface PlanInput {
124
+ content: OverlayBundle;
125
+ ops: OverlayBundle;
126
+ policy: OverlayPolicy;
127
+ changes: readonly RecordChange[];
128
+ observedAt: string;
129
+ /** Next store records, for titles. */
130
+ records?: Record<string, {
131
+ fields?: Record<string, unknown>;
132
+ }>;
133
+ observation?: {
134
+ baseline?: boolean;
135
+ replay?: boolean;
136
+ stats?: Record<string, unknown>;
137
+ };
138
+ /** A per-run identity index; without one the plan builds its own for this provider and Kind. */
139
+ overlays?: SourceIndex;
140
+ timeZone?: string;
141
+ /** Ops and content are one bundle, so typed `about` links are possible. */
142
+ sameBundle?: boolean;
143
+ /** Attention and feed Kind names; default `Signal` and `Source Feed`. */
144
+ signals?: {
145
+ kind?: string;
146
+ feedKind?: string;
147
+ };
148
+ hooks?: OverlayHooks;
149
+ }
150
+ export interface Finding {
151
+ key: string;
152
+ title: string;
153
+ summary?: string;
154
+ priority?: string;
155
+ about_doc?: string;
156
+ related?: string[];
157
+ facts?: unknown;
158
+ sources?: Array<{
159
+ resource: string;
160
+ id?: string;
161
+ title?: string;
162
+ [property: string]: unknown;
163
+ }>;
164
+ external_id?: string;
165
+ expires_at?: string;
166
+ change_kind?: string;
167
+ }
168
+ export interface FindingsInput {
169
+ ops: OverlayBundle;
170
+ /** Signal `provider`: a feed URL or a tool name. */
171
+ provider: string;
172
+ /** Source Feed id for the `from feed` link; absent for tool-raised findings. */
173
+ feed?: ConceptId;
174
+ /** Signal id prefix after the attention Kind's path. */
175
+ slug: string;
176
+ findings: readonly Finding[] | null | undefined;
177
+ observedAt: string;
178
+ signals?: {
179
+ kind?: string;
180
+ feedKind?: string;
181
+ };
182
+ }
183
+ export interface ApplyContext {
184
+ content: OverlayBundle;
185
+ ops: OverlayBundle;
186
+ policy: Pick<OverlayPolicy, "owned_fields" | "provider" | "target_kind">;
187
+ actor: string;
188
+ overlays?: SourceIndex;
189
+ /** Attention and feed Kind names, as the plan was made with; default `Signal` and `Source Feed`. */
190
+ signals?: {
191
+ kind?: string;
192
+ feedKind?: string;
193
+ };
194
+ hooks?: Pick<OverlayHooks, "assertCandidate" | "deriveFields">;
195
+ }
196
+ export interface ApplyOwnedFieldsStep {
197
+ op: "apply-owned-fields";
198
+ target: ConceptId;
199
+ expected_version: Version;
200
+ external_id: string;
201
+ change_kind: string;
202
+ fields: Record<string, {
203
+ from: unknown;
204
+ to: unknown;
205
+ }>;
206
+ /** Grouped shape: properties upserted on the record's `sources` entry in the same write. */
207
+ sources?: Record<string, string | number | boolean>;
208
+ }
209
+ export interface CreateSignalStep {
210
+ op: "create-signal";
211
+ target: ConceptId;
212
+ external_id: string;
213
+ content_digest: string;
214
+ finding?: string;
215
+ reasons: string[];
216
+ candidate: {
217
+ frontmatter: Frontmatter;
218
+ body: string;
219
+ };
220
+ }
221
+ export interface CollapseSignalStep {
222
+ op: "collapse-signal";
223
+ target: ConceptId;
224
+ expected_version: Version;
225
+ external_id: string;
226
+ content_digest: string;
227
+ finding?: string;
228
+ progress_field: string;
229
+ observation_line: string;
230
+ set: Record<string, unknown>;
231
+ }
232
+ export interface SignalDuplicateStep {
233
+ op: "signal-duplicate";
234
+ target: ConceptId;
235
+ external_id: string;
236
+ content_digest: string;
237
+ finding?: string;
238
+ }
239
+ export interface RecordOnlyStep {
240
+ op: "record-only";
241
+ target?: undefined;
242
+ external_id: string;
243
+ change_kind?: string;
244
+ superseded?: true;
245
+ ended?: true;
246
+ reason?: string;
247
+ last_known_end?: string;
248
+ excluded?: true;
249
+ collapsed_into?: ConceptId;
250
+ }
251
+ export type OverlayStep = ApplyOwnedFieldsStep | CreateSignalStep | CollapseSignalStep | SignalDuplicateStep | RecordOnlyStep;
252
+ export interface RefusalRow {
253
+ code: RefusalCode;
254
+ external_id: string;
255
+ target?: ConceptId;
256
+ targets?: ConceptId[];
257
+ field?: string;
258
+ message: string;
259
+ }
260
+ export interface OverlayPlan {
261
+ feed: ConceptId | null;
262
+ provider: string;
263
+ observed_at: string;
264
+ baseline?: boolean;
265
+ replay?: boolean;
266
+ stats?: Record<string, unknown>;
267
+ steps: OverlayStep[];
268
+ refusals: RefusalRow[];
269
+ diagnostics?: unknown[];
270
+ }
271
+ export interface StepResult {
272
+ op: OverlayStep["op"];
273
+ target: ConceptId | null;
274
+ external_id: string;
275
+ outcome: "applied" | "unchanged" | "skipped" | "refused";
276
+ version?: Version;
277
+ code?: RefusalCode;
278
+ message?: string;
279
+ details?: Record<string, unknown>;
280
+ reason?: string;
281
+ last_known_end?: string;
282
+ }
283
+ export interface OverlayReceipt {
284
+ feed: ConceptId | null;
285
+ provider: string;
286
+ observed_at: string;
287
+ results: StepResult[];
288
+ refusals: RefusalRow[];
289
+ diagnostics: unknown[];
290
+ }
291
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/record-overlay/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/record-overlay/types.ts"],"names":[],"mappings":""}
@@ -2,12 +2,14 @@
2
2
  * `RemoteBackend` — a {@link StorageBackend} implemented over the wire-protocol v0
3
3
  * reference contract (`docs/WIRE-PROTOCOL.md`, `@superbee/server`).
4
4
  *
5
- * This is the client half of the seam over HTTP: every method maps directly to a wire endpoint,
6
- * and response versions remain the same content-addressed {@link Version} tokens local backends
7
- * produce. Tri-backend contract tests pin that invariant.
5
+ * This is the client half of the seam over HTTP: every method maps directly to a wire endpoint
6
+ * (a guarded document write may first ask `GET /v0/capabilities` whether the host records
7
+ * outcomes; see {@link RemoteBackendOptions.maxRetries}), and response versions remain the same
8
+ * content-addressed {@link Version} tokens local backends produce. Tri-backend contract tests pin
9
+ * that invariant.
8
10
  *
9
11
  * Zero new dependencies: it calls an injectable {@link FetchLike} transport
10
- * (defaulting to the global `fetch`, available on Node >= 20) with a constructed
12
+ * (defaulting to the global `fetch`, available in every supported Node runtime) with a constructed
11
13
  * `Request`. That means the SAME adapter runs against a real HTTP server, or — in
12
14
  * tests — directly against an in-process `createRouter(bundle)` function with no
13
15
  * sockets: `createRouter` returns exactly the `(req: Request) => Promise<Response>`
@@ -55,7 +57,7 @@ export interface RemoteBackendOptions {
55
57
  baseUrl: string;
56
58
  /** Bundle name segment in the `/v0/bundles/{bundle}/…` path. */
57
59
  bundle: string;
58
- /** Transport override; defaults to the global `fetch` (Node >= 20). Tests inject a router directly. */
60
+ /** Transport override; defaults to the global `fetch` in supported Node runtimes. Tests inject a router directly. */
59
61
  fetchImpl?: FetchLike;
60
62
  /**
61
63
  * Optional bearer token sent as `Authorization: Bearer <token>` on EVERY request. The
@@ -69,9 +71,24 @@ export interface RemoteBackendOptions {
69
71
  * e.g. a Cloudflare D1 cold-start's 500 "storage caused object to be reset" when a hibernated
70
72
  * database is first hit) or a network/transport error. Each retry backs off exponentially with
71
73
  * jitter. A 4xx (incl. 412 VersionConflict), 401, or any 2xx is a REAL result, never retried.
72
- * Default 3; set 0 to disable. Safe because every op is content-addressed + CAS: a retried write
73
- * lands the same version or a conflict — possibly SPURIOUS, if a prior attempt actually committed
74
- * before its response was lost — but never silent data loss; and a retried read is idempotent.
74
+ * Default 3; set 0 to disable. A retried read is idempotent.
75
+ *
76
+ * A guarded document write (`write` with `expectedVersion`, or `delete` with a content-version
77
+ * `expectedVersion`) travels with an `Idempotency-Key`: the caller's `requestId`, or else, when
78
+ * the host's capabilities report `operations`, one minted for that call. Every retry of the
79
+ * request carries the same key, so while the host keeps the record a retry is answered from the
80
+ * recorded outcome and cannot apply the write a second time.
81
+ *
82
+ * Other guarded writes retry as a plain resubmission: a guarded document write sent without a key
83
+ * (to a host without `operations`, after a capability question that ended in a transient status,
84
+ * or resent after the host refused a key minted under a stale answer), a `delete` whose
85
+ * `expectedVersion` is not a content version, and every guarded reserved-file and blob write,
86
+ * none of which the wire identifies. Such a retry lands the same version or a conflict, possibly
87
+ * SPURIOUS if a prior attempt committed before its response was lost. It is not free of lost
88
+ * updates: versions are content hashes, so if another writer returns the document to the exact
89
+ * state the premise names before a retry arrives, the retry applies the write again over that
90
+ * change and reports success. An unconditional write carries no minted key and can simply be
91
+ * repeated.
75
92
  */
76
93
  maxRetries?: number;
77
94
  }
@@ -106,6 +123,8 @@ export declare class RemoteBackend implements StorageBackend {
106
123
  private readonly fetchImpl;
107
124
  private readonly authToken?;
108
125
  private readonly maxRetries;
126
+ /** The pending or settled answer to whether this host records outcomes; see {@link recordsOutcomes}. */
127
+ private operationsSupport?;
109
128
  constructor(options: RemoteBackendOptions);
110
129
  /** The authority's base URL as configured, without a trailing slash. */
111
130
  get origin(): string;
@@ -119,12 +138,33 @@ export declare class RemoteBackend implements StorageBackend {
119
138
  write(id: ConceptId, doc: OkfDocument, options?: WriteOptions): Promise<Version>;
120
139
  /**
121
140
  * `GET /v0/capabilities`, deployment-scoped: what this authority implements. `operations` says
122
- * whether it records outcomes by request identity. A host without it ignores `Idempotency-Key`
123
- * and answers the lookup route with a route-miss `404`, which {@link lookupOperation} cannot
124
- * tell from "never recorded"; a consumer that relies on identity checks this once before it
125
- * sends any intent. Missing booleans read as `false`.
141
+ * whether it records outcomes by request identity. The reference router without it refuses any
142
+ * request carrying `Idempotency-Key`, and the lookup route, with `400 USAGE`; a host that lacks
143
+ * the lookup route altogether answers it with a route-miss `404`, which {@link lookupOperation}
144
+ * cannot tell from "never recorded". A consumer that relies on identity checks this once before
145
+ * it sends any intent. Missing booleans read as `false`.
126
146
  */
127
147
  wireCapabilities(): Promise<WireCapabilities>;
148
+ /**
149
+ * Whether this host records outcomes by request identity, asked through `GET /v0/capabilities`
150
+ * and shared by concurrent callers. A host that answers anything but a `2xx` with
151
+ * `operations: true` is treated as not recording them, since a host that does not record them
152
+ * refuses a key with `400`. That answer is kept for the backend's lifetime, except that a
153
+ * transient status still returned after `send`'s retries, or a transport failure, is not kept:
154
+ * the former sends this write unidentified, and the latter rejects the write before it is sent.
155
+ * A kept yes is also dropped when a minted key meets the host's identity refusal; see
156
+ * {@link sendDocWrite}.
157
+ */
158
+ private recordsOutcomes;
159
+ private probeOperations;
160
+ /**
161
+ * Send a document `PUT` or `DELETE`. When its `Idempotency-Key` was minted here, a kept
162
+ * `operations` answer may be stale: a host that has since lost its outcome store refuses every
163
+ * key with the wire's `400` {@link IDENTITY_UNSUPPORTED} before applying anything. That answer
164
+ * is dropped and the write is sent once more without a key, as to any host without
165
+ * `operations`. A caller's own `requestId` is never dropped, so its refusal is the answer.
166
+ */
167
+ private sendDocWrite;
128
168
  /**
129
169
  * `GET /heads`: every document id and version the authority holds, under one digest, or
130
170
  * `null` when `ifNoneMatch` named the digest it still holds (a `304`: nothing changed). A
@@ -174,7 +214,12 @@ export declare class RemoteBackend implements StorageBackend {
174
214
  * `docs/WIRE-PROTOCOL.md`); the engine's `queryHeads` re-filter covers it, per the
175
215
  * seam contract (over-returning is fine; semantics live in core).
176
216
  */
177
- queryHeads(filter?: QueryFilter): Promise<HeadResult[]>;
217
+ queryHeads(filter?: QueryFilter, options?: {
218
+ onSkip?: (skip: {
219
+ id: ConceptId;
220
+ reason: string;
221
+ }) => void;
222
+ }): Promise<HeadResult[]>;
178
223
  versions(id: ConceptId): Promise<VersionInfo[]>;
179
224
  readReserved(dir: string, name: ReservedFilename): Promise<ReservedReadResult | null>;
180
225
  writeReserved(dir: string, name: ReservedFilename, content: string, options?: WriteOptions): Promise<Version>;
@@ -1 +1 @@
1
- {"version":3,"file":"remote-backend.d.ts","sourceRoot":"","sources":["../src/remote-backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote-backend.d.ts","sourceRoot":"","sources":["../src/remote-backend.ts"],"names":[],"mappings":"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"}