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

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 (612) hide show
  1. package/README.md +1209 -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 +35 -13
  87. package/dist/document-mutation.d.ts.map +1 -1
  88. package/dist/document-mutation.js +124 -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/history-pages.d.ts +55 -0
  221. package/dist/hosted-transport/history-pages.d.ts.map +1 -0
  222. package/dist/hosted-transport/history-pages.js +69 -0
  223. package/dist/hosted-transport/history-pages.js.map +1 -0
  224. package/dist/hosted-transport/index.d.ts +18 -0
  225. package/dist/hosted-transport/index.d.ts.map +1 -0
  226. package/dist/hosted-transport/index.js +18 -0
  227. package/dist/hosted-transport/index.js.map +1 -0
  228. package/dist/hosted-transport/operations.d.ts +85 -0
  229. package/dist/hosted-transport/operations.d.ts.map +1 -0
  230. package/dist/hosted-transport/operations.js +128 -0
  231. package/dist/hosted-transport/operations.js.map +1 -0
  232. package/dist/hosted-transport/paged-reads.d.ts +87 -0
  233. package/dist/hosted-transport/paged-reads.d.ts.map +1 -0
  234. package/dist/hosted-transport/paged-reads.js +238 -0
  235. package/dist/hosted-transport/paged-reads.js.map +1 -0
  236. package/dist/hosted-transport/read-adapter.d.ts +256 -0
  237. package/dist/hosted-transport/read-adapter.d.ts.map +1 -0
  238. package/dist/hosted-transport/read-adapter.js +568 -0
  239. package/dist/hosted-transport/read-adapter.js.map +1 -0
  240. package/dist/hosted-transport/root-write.d.ts +114 -0
  241. package/dist/hosted-transport/root-write.d.ts.map +1 -0
  242. package/dist/hosted-transport/root-write.js +171 -0
  243. package/dist/hosted-transport/root-write.js.map +1 -0
  244. package/dist/hosted-transport/whole-document-transport.d.ts +204 -0
  245. package/dist/hosted-transport/whole-document-transport.d.ts.map +1 -0
  246. package/dist/hosted-transport/whole-document-transport.js +447 -0
  247. package/dist/hosted-transport/whole-document-transport.js.map +1 -0
  248. package/dist/identity-fold.d.ts +18 -0
  249. package/dist/identity-fold.d.ts.map +1 -0
  250. package/dist/identity-fold.js +22 -0
  251. package/dist/identity-fold.js.map +1 -0
  252. package/dist/index.d.ts +41 -11
  253. package/dist/index.d.ts.map +1 -1
  254. package/dist/index.js +31 -9
  255. package/dist/index.js.map +1 -1
  256. package/dist/indexeddb-backend.d.ts +25 -33
  257. package/dist/indexeddb-backend.d.ts.map +1 -1
  258. package/dist/indexeddb-backend.js +264 -8
  259. package/dist/indexeddb-backend.js.map +1 -1
  260. package/dist/inventory-guard.d.ts +58 -0
  261. package/dist/inventory-guard.d.ts.map +1 -0
  262. package/dist/inventory-guard.js +169 -0
  263. package/dist/inventory-guard.js.map +1 -0
  264. package/dist/journaled-backend.d.ts +149 -9
  265. package/dist/journaled-backend.d.ts.map +1 -1
  266. package/dist/journaled-backend.js +64 -58
  267. package/dist/journaled-backend.js.map +1 -1
  268. package/dist/kind-authoring.d.ts +170 -0
  269. package/dist/kind-authoring.d.ts.map +1 -0
  270. package/dist/kind-authoring.js +452 -0
  271. package/dist/kind-authoring.js.map +1 -0
  272. package/dist/kind-changes.d.ts +45 -0
  273. package/dist/kind-changes.d.ts.map +1 -0
  274. package/dist/kind-changes.js +96 -0
  275. package/dist/kind-changes.js.map +1 -0
  276. package/dist/kind-conformance-error.d.ts +15 -0
  277. package/dist/kind-conformance-error.d.ts.map +1 -0
  278. package/dist/kind-conformance-error.js +20 -0
  279. package/dist/kind-conformance-error.js.map +1 -0
  280. package/dist/kind-coverage.d.ts +99 -0
  281. package/dist/kind-coverage.d.ts.map +1 -0
  282. package/dist/kind-coverage.js +186 -0
  283. package/dist/kind-coverage.js.map +1 -0
  284. package/dist/kind-deprecation.d.ts +32 -0
  285. package/dist/kind-deprecation.d.ts.map +1 -0
  286. package/dist/kind-deprecation.js +141 -0
  287. package/dist/kind-deprecation.js.map +1 -0
  288. package/dist/kind-field-mutation.d.ts +4 -0
  289. package/dist/kind-field-mutation.d.ts.map +1 -1
  290. package/dist/kind-field-mutation.js +28 -3
  291. package/dist/kind-field-mutation.js.map +1 -1
  292. package/dist/kinds-load.js +4 -4
  293. package/dist/kinds-load.js.map +1 -1
  294. package/dist/kinds.d.ts +111 -2
  295. package/dist/kinds.d.ts.map +1 -1
  296. package/dist/kinds.js +386 -20
  297. package/dist/kinds.js.map +1 -1
  298. package/dist/link-emit.d.ts +29 -0
  299. package/dist/link-emit.d.ts.map +1 -0
  300. package/dist/link-emit.js +39 -0
  301. package/dist/link-emit.js.map +1 -0
  302. package/dist/link-types.d.ts +27 -0
  303. package/dist/link-types.d.ts.map +1 -0
  304. package/dist/link-types.js +60 -0
  305. package/dist/link-types.js.map +1 -0
  306. package/dist/links.d.ts +52 -3
  307. package/dist/links.d.ts.map +1 -1
  308. package/dist/links.js +259 -18
  309. package/dist/links.js.map +1 -1
  310. package/dist/managed-document-metadata.d.ts +2 -0
  311. package/dist/managed-document-metadata.d.ts.map +1 -0
  312. package/dist/managed-document-metadata.js +9 -0
  313. package/dist/managed-document-metadata.js.map +1 -0
  314. package/dist/memory-backend.d.ts +3 -0
  315. package/dist/memory-backend.d.ts.map +1 -1
  316. package/dist/memory-backend.js +44 -2
  317. package/dist/memory-backend.js.map +1 -1
  318. package/dist/okf-actor.d.ts +1 -0
  319. package/dist/okf-actor.d.ts.map +1 -1
  320. package/dist/okf-actor.js +1 -0
  321. package/dist/okf-actor.js.map +1 -1
  322. package/dist/okf-authoring.d.ts +4 -0
  323. package/dist/okf-authoring.d.ts.map +1 -0
  324. package/dist/okf-authoring.js +12 -0
  325. package/dist/okf-authoring.js.map +1 -0
  326. package/dist/okf-standard-fields.d.ts +3 -0
  327. package/dist/okf-standard-fields.d.ts.map +1 -1
  328. package/dist/okf-standard-fields.js +3 -0
  329. package/dist/okf-standard-fields.js.map +1 -1
  330. package/dist/path-fold.d.ts +39 -0
  331. package/dist/path-fold.d.ts.map +1 -0
  332. package/dist/path-fold.js +41 -0
  333. package/dist/path-fold.js.map +1 -0
  334. package/dist/paths.d.ts +18 -0
  335. package/dist/paths.d.ts.map +1 -1
  336. package/dist/paths.js +32 -0
  337. package/dist/paths.js.map +1 -1
  338. package/dist/platform.d.ts +13 -2
  339. package/dist/platform.d.ts.map +1 -1
  340. package/dist/platform.js +16 -0
  341. package/dist/platform.js.map +1 -1
  342. package/dist/portable-export.d.ts +119 -0
  343. package/dist/portable-export.d.ts.map +1 -0
  344. package/dist/portable-export.js +501 -0
  345. package/dist/portable-export.js.map +1 -0
  346. package/dist/publication-filesystem.d.ts +1 -1
  347. package/dist/publication-filesystem.d.ts.map +1 -1
  348. package/dist/publication-filesystem.js +1 -1
  349. package/dist/publication-filesystem.js.map +1 -1
  350. package/dist/qualified-links.d.ts +67 -0
  351. package/dist/qualified-links.d.ts.map +1 -0
  352. package/dist/qualified-links.js +117 -0
  353. package/dist/qualified-links.js.map +1 -0
  354. package/dist/query-filter.d.ts +16 -2
  355. package/dist/query-filter.d.ts.map +1 -1
  356. package/dist/query-filter.js +40 -1
  357. package/dist/query-filter.js.map +1 -1
  358. package/dist/query-order.d.ts +22 -0
  359. package/dist/query-order.d.ts.map +1 -0
  360. package/dist/query-order.js +43 -0
  361. package/dist/query-order.js.map +1 -0
  362. package/dist/recipe-lifecycle/errors.d.ts +96 -0
  363. package/dist/recipe-lifecycle/errors.d.ts.map +1 -0
  364. package/dist/recipe-lifecycle/errors.js +122 -0
  365. package/dist/recipe-lifecycle/errors.js.map +1 -0
  366. package/dist/recipe-lifecycle/evolution.d.ts +124 -0
  367. package/dist/recipe-lifecycle/evolution.d.ts.map +1 -0
  368. package/dist/recipe-lifecycle/evolution.js +993 -0
  369. package/dist/recipe-lifecycle/evolution.js.map +1 -0
  370. package/dist/recipe-lifecycle/index.d.ts +34 -0
  371. package/dist/recipe-lifecycle/index.d.ts.map +1 -0
  372. package/dist/recipe-lifecycle/index.js +28 -0
  373. package/dist/recipe-lifecycle/index.js.map +1 -0
  374. package/dist/recipe-lifecycle/install.d.ts +155 -0
  375. package/dist/recipe-lifecycle/install.d.ts.map +1 -0
  376. package/dist/recipe-lifecycle/install.js +604 -0
  377. package/dist/recipe-lifecycle/install.js.map +1 -0
  378. package/dist/recipe-lifecycle/legacy-aliases.d.ts +16 -0
  379. package/dist/recipe-lifecycle/legacy-aliases.d.ts.map +1 -0
  380. package/dist/recipe-lifecycle/legacy-aliases.js +51 -0
  381. package/dist/recipe-lifecycle/legacy-aliases.js.map +1 -0
  382. package/dist/recipe-lifecycle/retirement-apply.d.ts +59 -0
  383. package/dist/recipe-lifecycle/retirement-apply.d.ts.map +1 -0
  384. package/dist/recipe-lifecycle/retirement-apply.js +165 -0
  385. package/dist/recipe-lifecycle/retirement-apply.js.map +1 -0
  386. package/dist/recipe-lifecycle/retirement.d.ts +89 -0
  387. package/dist/recipe-lifecycle/retirement.d.ts.map +1 -0
  388. package/dist/recipe-lifecycle/retirement.js +347 -0
  389. package/dist/recipe-lifecycle/retirement.js.map +1 -0
  390. package/dist/recipe-lifecycle/stamp.d.ts +151 -0
  391. package/dist/recipe-lifecycle/stamp.d.ts.map +1 -0
  392. package/dist/recipe-lifecycle/stamp.js +364 -0
  393. package/dist/recipe-lifecycle/stamp.js.map +1 -0
  394. package/dist/recipe-set-preflight.d.ts +139 -0
  395. package/dist/recipe-set-preflight.d.ts.map +1 -0
  396. package/dist/recipe-set-preflight.js +536 -0
  397. package/dist/recipe-set-preflight.js.map +1 -0
  398. package/dist/recipes.d.ts +29 -1
  399. package/dist/recipes.d.ts.map +1 -1
  400. package/dist/recipes.js +137 -1
  401. package/dist/recipes.js.map +1 -1
  402. package/dist/record-overlay/apply.d.ts +43 -0
  403. package/dist/record-overlay/apply.d.ts.map +1 -0
  404. package/dist/record-overlay/apply.js +527 -0
  405. package/dist/record-overlay/apply.js.map +1 -0
  406. package/dist/record-overlay/canonical.d.ts +22 -0
  407. package/dist/record-overlay/canonical.d.ts.map +1 -0
  408. package/dist/record-overlay/canonical.js +47 -0
  409. package/dist/record-overlay/canonical.js.map +1 -0
  410. package/dist/record-overlay/digest.d.ts +4 -0
  411. package/dist/record-overlay/digest.d.ts.map +1 -0
  412. package/dist/record-overlay/digest.js +11 -0
  413. package/dist/record-overlay/digest.js.map +1 -0
  414. package/dist/record-overlay/errors.d.ts +44 -0
  415. package/dist/record-overlay/errors.d.ts.map +1 -0
  416. package/dist/record-overlay/errors.js +55 -0
  417. package/dist/record-overlay/errors.js.map +1 -0
  418. package/dist/record-overlay/findings.d.ts +5 -0
  419. package/dist/record-overlay/findings.d.ts.map +1 -0
  420. package/dist/record-overlay/findings.js +83 -0
  421. package/dist/record-overlay/findings.js.map +1 -0
  422. package/dist/record-overlay/index.d.ts +23 -0
  423. package/dist/record-overlay/index.d.ts.map +1 -0
  424. package/dist/record-overlay/index.js +21 -0
  425. package/dist/record-overlay/index.js.map +1 -0
  426. package/dist/record-overlay/plan.d.ts +12 -0
  427. package/dist/record-overlay/plan.d.ts.map +1 -0
  428. package/dist/record-overlay/plan.js +285 -0
  429. package/dist/record-overlay/plan.js.map +1 -0
  430. package/dist/record-overlay/policy.d.ts +74 -0
  431. package/dist/record-overlay/policy.d.ts.map +1 -0
  432. package/dist/record-overlay/policy.js +235 -0
  433. package/dist/record-overlay/policy.js.map +1 -0
  434. package/dist/record-overlay/redact.d.ts +3 -0
  435. package/dist/record-overlay/redact.d.ts.map +1 -0
  436. package/dist/record-overlay/redact.js +27 -0
  437. package/dist/record-overlay/redact.js.map +1 -0
  438. package/dist/record-overlay/signal-kind.d.ts +30 -0
  439. package/dist/record-overlay/signal-kind.d.ts.map +1 -0
  440. package/dist/record-overlay/signal-kind.js +38 -0
  441. package/dist/record-overlay/signal-kind.js.map +1 -0
  442. package/dist/record-overlay/signal-text.d.ts +45 -0
  443. package/dist/record-overlay/signal-text.d.ts.map +1 -0
  444. package/dist/record-overlay/signal-text.js +116 -0
  445. package/dist/record-overlay/signal-text.js.map +1 -0
  446. package/dist/record-overlay/source-index.d.ts +19 -0
  447. package/dist/record-overlay/source-index.d.ts.map +1 -0
  448. package/dist/record-overlay/source-index.js +102 -0
  449. package/dist/record-overlay/source-index.js.map +1 -0
  450. package/dist/record-overlay/types.d.ts +291 -0
  451. package/dist/record-overlay/types.d.ts.map +1 -0
  452. package/dist/record-overlay/types.js +2 -0
  453. package/dist/record-overlay/types.js.map +1 -0
  454. package/dist/remote-backend.d.ts +58 -13
  455. package/dist/remote-backend.d.ts.map +1 -1
  456. package/dist/remote-backend.js +156 -36
  457. package/dist/remote-backend.js.map +1 -1
  458. package/dist/remote-document-codec.d.ts +2 -1
  459. package/dist/remote-document-codec.d.ts.map +1 -1
  460. package/dist/remote-document-codec.js +3 -2
  461. package/dist/remote-document-codec.js.map +1 -1
  462. package/dist/remote-error.d.ts +17 -1
  463. package/dist/remote-error.d.ts.map +1 -1
  464. package/dist/remote-error.js +32 -2
  465. package/dist/remote-error.js.map +1 -1
  466. package/dist/remote-operations.d.ts +0 -40
  467. package/dist/remote-operations.d.ts.map +1 -1
  468. package/dist/remote-operations.js +26 -6
  469. package/dist/remote-operations.js.map +1 -1
  470. package/dist/remote-parsers.d.ts +1 -1
  471. package/dist/remote-parsers.js +1 -1
  472. package/dist/search/backend-source.d.ts +6 -0
  473. package/dist/search/backend-source.d.ts.map +1 -0
  474. package/dist/search/backend-source.js +33 -0
  475. package/dist/search/backend-source.js.map +1 -0
  476. package/dist/search/contract.d.ts +151 -0
  477. package/dist/search/contract.d.ts.map +1 -0
  478. package/dist/search/contract.js +78 -0
  479. package/dist/search/contract.js.map +1 -0
  480. package/dist/search/errors.d.ts +30 -0
  481. package/dist/search/errors.d.ts.map +1 -0
  482. package/dist/search/errors.js +50 -0
  483. package/dist/search/errors.js.map +1 -0
  484. package/dist/search/identity.d.ts +12 -0
  485. package/dist/search/identity.d.ts.map +1 -0
  486. package/dist/search/identity.js +90 -0
  487. package/dist/search/identity.js.map +1 -0
  488. package/dist/search/index.d.ts +16 -0
  489. package/dist/search/index.d.ts.map +1 -0
  490. package/dist/search/index.js +15 -0
  491. package/dist/search/index.js.map +1 -0
  492. package/dist/search/memory-source.d.ts +36 -0
  493. package/dist/search/memory-source.d.ts.map +1 -0
  494. package/dist/search/memory-source.js +235 -0
  495. package/dist/search/memory-source.js.map +1 -0
  496. package/dist/search/rank.d.ts +34 -0
  497. package/dist/search/rank.d.ts.map +1 -0
  498. package/dist/search/rank.js +129 -0
  499. package/dist/search/rank.js.map +1 -0
  500. package/dist/search/row-text.d.ts +38 -0
  501. package/dist/search/row-text.d.ts.map +1 -0
  502. package/dist/search/row-text.js +88 -0
  503. package/dist/search/row-text.js.map +1 -0
  504. package/dist/search/search.d.ts +28 -0
  505. package/dist/search/search.d.ts.map +1 -0
  506. package/dist/search/search.js +257 -0
  507. package/dist/search/search.js.map +1 -0
  508. package/dist/search/source.d.ts +67 -0
  509. package/dist/search/source.d.ts.map +1 -0
  510. package/dist/search/source.js +2 -0
  511. package/dist/search/source.js.map +1 -0
  512. package/dist/search/text.d.ts +47 -0
  513. package/dist/search/text.d.ts.map +1 -0
  514. package/dist/search/text.js +150 -0
  515. package/dist/search/text.js.map +1 -0
  516. package/dist/site-capabilities.d.ts +345 -0
  517. package/dist/site-capabilities.d.ts.map +1 -0
  518. package/dist/site-capabilities.js +724 -0
  519. package/dist/site-capabilities.js.map +1 -0
  520. package/dist/source-engine/driver.d.ts +40 -0
  521. package/dist/source-engine/driver.d.ts.map +1 -0
  522. package/dist/source-engine/driver.js +392 -0
  523. package/dist/source-engine/driver.js.map +1 -0
  524. package/dist/source-engine/evidence.d.ts +39 -0
  525. package/dist/source-engine/evidence.d.ts.map +1 -0
  526. package/dist/source-engine/evidence.js +54 -0
  527. package/dist/source-engine/evidence.js.map +1 -0
  528. package/dist/source-engine/guard.d.ts +87 -0
  529. package/dist/source-engine/guard.d.ts.map +1 -0
  530. package/dist/source-engine/guard.js +427 -0
  531. package/dist/source-engine/guard.js.map +1 -0
  532. package/dist/source-engine/index.d.ts +33 -0
  533. package/dist/source-engine/index.d.ts.map +1 -0
  534. package/dist/source-engine/index.js +26 -0
  535. package/dist/source-engine/index.js.map +1 -0
  536. package/dist/source-engine/machine-state.d.ts +74 -0
  537. package/dist/source-engine/machine-state.d.ts.map +1 -0
  538. package/dist/source-engine/machine-state.js +48 -0
  539. package/dist/source-engine/machine-state.js.map +1 -0
  540. package/dist/source-engine/observe.d.ts +10 -0
  541. package/dist/source-engine/observe.d.ts.map +1 -0
  542. package/dist/source-engine/observe.js +270 -0
  543. package/dist/source-engine/observe.js.map +1 -0
  544. package/dist/source-engine/overlay.d.ts +50 -0
  545. package/dist/source-engine/overlay.d.ts.map +1 -0
  546. package/dist/source-engine/overlay.js +114 -0
  547. package/dist/source-engine/overlay.js.map +1 -0
  548. package/dist/source-engine/robots.d.ts +53 -0
  549. package/dist/source-engine/robots.d.ts.map +1 -0
  550. package/dist/source-engine/robots.js +158 -0
  551. package/dist/source-engine/robots.js.map +1 -0
  552. package/dist/source-engine/snapshot.d.ts +104 -0
  553. package/dist/source-engine/snapshot.d.ts.map +1 -0
  554. package/dist/source-engine/snapshot.js +240 -0
  555. package/dist/source-engine/snapshot.js.map +1 -0
  556. package/dist/source-engine/types.d.ts +292 -0
  557. package/dist/source-engine/types.d.ts.map +1 -0
  558. package/dist/source-engine/types.js +2 -0
  559. package/dist/source-engine/types.js.map +1 -0
  560. package/dist/source-harness/conformance.d.ts +16 -0
  561. package/dist/source-harness/conformance.d.ts.map +1 -0
  562. package/dist/source-harness/conformance.js +266 -0
  563. package/dist/source-harness/conformance.js.map +1 -0
  564. package/dist/source-harness/fixture.d.ts +97 -0
  565. package/dist/source-harness/fixture.d.ts.map +1 -0
  566. package/dist/source-harness/fixture.js +276 -0
  567. package/dist/source-harness/fixture.js.map +1 -0
  568. package/dist/source-harness/index.d.ts +22 -0
  569. package/dist/source-harness/index.d.ts.map +1 -0
  570. package/dist/source-harness/index.js +19 -0
  571. package/dist/source-harness/index.js.map +1 -0
  572. package/dist/source-harness/peer.d.ts +74 -0
  573. package/dist/source-harness/peer.d.ts.map +1 -0
  574. package/dist/source-harness/peer.js +106 -0
  575. package/dist/source-harness/peer.js.map +1 -0
  576. package/dist/source-profiles/index.d.ts +31 -0
  577. package/dist/source-profiles/index.d.ts.map +1 -0
  578. package/dist/source-profiles/index.js +206 -0
  579. package/dist/source-profiles/index.js.map +1 -0
  580. package/dist/source-profiles/link-header.d.ts +6 -0
  581. package/dist/source-profiles/link-header.d.ts.map +1 -0
  582. package/dist/source-profiles/link-header.js +131 -0
  583. package/dist/source-profiles/link-header.js.map +1 -0
  584. package/dist/storage.d.ts +9 -2
  585. package/dist/storage.d.ts.map +1 -1
  586. package/dist/storage.js +6 -1
  587. package/dist/storage.js.map +1 -1
  588. package/dist/string-identity-agreement.d.ts +35 -0
  589. package/dist/string-identity-agreement.d.ts.map +1 -0
  590. package/dist/string-identity-agreement.js +72 -0
  591. package/dist/string-identity-agreement.js.map +1 -0
  592. package/dist/types.d.ts +41 -6
  593. package/dist/types.d.ts.map +1 -1
  594. package/dist/types.js +0 -10
  595. package/dist/types.js.map +1 -1
  596. package/dist/uncertain-write.d.ts +157 -17
  597. package/dist/uncertain-write.d.ts.map +1 -1
  598. package/dist/uncertain-write.js +86 -30
  599. package/dist/uncertain-write.js.map +1 -1
  600. package/dist/versioning.d.ts +9 -4
  601. package/dist/versioning.d.ts.map +1 -1
  602. package/dist/versioning.js +9 -4
  603. package/dist/versioning.js.map +1 -1
  604. package/dist/view-launch-contract.d.ts +14 -0
  605. package/dist/view-launch-contract.d.ts.map +1 -0
  606. package/dist/view-launch-contract.js +23 -0
  607. package/dist/view-launch-contract.js.map +1 -0
  608. package/dist/write-identity.d.ts +5 -0
  609. package/dist/write-identity.d.ts.map +1 -0
  610. package/dist/write-identity.js +9 -0
  611. package/dist/write-identity.js.map +1 -0
  612. package/package.json +140 -3
@@ -1 +1 @@
1
- {"version":3,"file":"okf-standard-fields.js","sourceRoot":"","sources":["../src/okf-standard-fields.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"okf-standard-fields.js","sourceRoot":"","sources":["../src/okf-standard-fields.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * The one fold for "would these two paths land on the same file?". The portable export's
3
+ * collision check uses it here, and hosts that fence writes or gate pushes import it from
4
+ * `@superbee/core/path-fold`, so the checks cannot drift apart.
5
+ *
6
+ * One definition: NFC, then `toLowerCase()`, `toUpperCase()`, `toLowerCase()`, then NFC again.
7
+ *
8
+ * - NFC first: macOS filesystems and Git checkouts treat canonically equivalent spellings (`é` and
9
+ * `e` + U+0301) as one name.
10
+ * - The uppercase step: case-insensitive filesystems compare through an uppercase table (NTFS's
11
+ * `$UpCase`), so any character whose uppercase is an ASCII letter meets that letter. `ſ` (U+017F,
12
+ * long s) uppercases to `S`, so `referenceſ` is `REFERENCES` to Windows; `toLowerCase()` alone
13
+ * leaves it distinct. `ı` (U+0131, dotless i) likewise meets `i` only through the uppercase step.
14
+ * - The leading lowercase step: a capital with no single-character uppercase partner must reach
15
+ * the same form as its lowercase. `ẞ` (U+1E9E, capital sharp s) is its own uppercase and
16
+ * lowercases to `ß`, whose uppercase is `SS`; uppercasing first would stop at `ß` while `ß`
17
+ * itself folds to `ss`. Lowercasing first sends `ẞ`, `ß`, `SS` and `ss` to one `ss`.
18
+ * - The trailing NFC: a case mapping can leave a sequence NFC would compose (the uppercase of `ΐ`,
19
+ * U+0390, is decomposed), so the result is recomposed and the fold is idempotent.
20
+ *
21
+ * Every code point then meets its own uppercase and lowercase, and `foldPath(foldPath(p))` is
22
+ * `foldPath(p)`. The one exception Unicode itself leaves open is the combining iota subscript
23
+ * (U+0345, and the precomposed Greek letters that carry it): uppercasing turns it into a spacing
24
+ * capital iota at a different place in the canonical order, so a few spellings of it stay apart.
25
+ * No filesystem equates those either. Turkish `İ` (U+0130) lowercases to `i` + U+0307 and keeps its
26
+ * dot, so it never meets ASCII `i`; that matches every filesystem, none of which applies Turkish
27
+ * casing. Folding more than a filesystem does only refuses more, which is the safe direction for a
28
+ * fence and for the export's collision check.
29
+ *
30
+ * NFKC is deliberately not used. No filesystem applies compatibility folding (fullwidth `r` stays a
31
+ * distinct name everywhere), and NFKC would make the export refuse archives that extract cleanly.
32
+ *
33
+ * `/` has no case mapping and no decomposition, so folding a whole path equals folding each segment.
34
+ * The agreement rows in `string-identity-agreement.ts` pin this definition for every host.
35
+ *
36
+ * Dependency-free on purpose, so pure modules and browser bundles can import it.
37
+ */
38
+ export declare function foldPath(path: string): string;
39
+ //# sourceMappingURL=path-fold.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-fold.d.ts","sourceRoot":"","sources":["../src/path-fold.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7C"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * The one fold for "would these two paths land on the same file?". The portable export's
3
+ * collision check uses it here, and hosts that fence writes or gate pushes import it from
4
+ * `@superbee/core/path-fold`, so the checks cannot drift apart.
5
+ *
6
+ * One definition: NFC, then `toLowerCase()`, `toUpperCase()`, `toLowerCase()`, then NFC again.
7
+ *
8
+ * - NFC first: macOS filesystems and Git checkouts treat canonically equivalent spellings (`é` and
9
+ * `e` + U+0301) as one name.
10
+ * - The uppercase step: case-insensitive filesystems compare through an uppercase table (NTFS's
11
+ * `$UpCase`), so any character whose uppercase is an ASCII letter meets that letter. `ſ` (U+017F,
12
+ * long s) uppercases to `S`, so `referenceſ` is `REFERENCES` to Windows; `toLowerCase()` alone
13
+ * leaves it distinct. `ı` (U+0131, dotless i) likewise meets `i` only through the uppercase step.
14
+ * - The leading lowercase step: a capital with no single-character uppercase partner must reach
15
+ * the same form as its lowercase. `ẞ` (U+1E9E, capital sharp s) is its own uppercase and
16
+ * lowercases to `ß`, whose uppercase is `SS`; uppercasing first would stop at `ß` while `ß`
17
+ * itself folds to `ss`. Lowercasing first sends `ẞ`, `ß`, `SS` and `ss` to one `ss`.
18
+ * - The trailing NFC: a case mapping can leave a sequence NFC would compose (the uppercase of `ΐ`,
19
+ * U+0390, is decomposed), so the result is recomposed and the fold is idempotent.
20
+ *
21
+ * Every code point then meets its own uppercase and lowercase, and `foldPath(foldPath(p))` is
22
+ * `foldPath(p)`. The one exception Unicode itself leaves open is the combining iota subscript
23
+ * (U+0345, and the precomposed Greek letters that carry it): uppercasing turns it into a spacing
24
+ * capital iota at a different place in the canonical order, so a few spellings of it stay apart.
25
+ * No filesystem equates those either. Turkish `İ` (U+0130) lowercases to `i` + U+0307 and keeps its
26
+ * dot, so it never meets ASCII `i`; that matches every filesystem, none of which applies Turkish
27
+ * casing. Folding more than a filesystem does only refuses more, which is the safe direction for a
28
+ * fence and for the export's collision check.
29
+ *
30
+ * NFKC is deliberately not used. No filesystem applies compatibility folding (fullwidth `r` stays a
31
+ * distinct name everywhere), and NFKC would make the export refuse archives that extract cleanly.
32
+ *
33
+ * `/` has no case mapping and no decomposition, so folding a whole path equals folding each segment.
34
+ * The agreement rows in `string-identity-agreement.ts` pin this definition for every host.
35
+ *
36
+ * Dependency-free on purpose, so pure modules and browser bundles can import it.
37
+ */
38
+ export function foldPath(path) {
39
+ return path.normalize("NFC").toLowerCase().toUpperCase().toLowerCase().normalize("NFC");
40
+ }
41
+ //# sourceMappingURL=path-fold.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-fold.js","sourceRoot":"","sources":["../src/path-fold.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC1F,CAAC"}
package/dist/paths.d.ts CHANGED
@@ -44,6 +44,22 @@ export declare function pathFromConceptId(id: ConceptId): string;
44
44
  * File-like user input is normalized before this boundary with {@link conceptIdFromPath}.
45
45
  */
46
46
  export declare function assertSafeConceptId(id: ConceptId): void;
47
+ /** Why a new document id is outside its one canonical spelling (see {@link nonCanonicalDocumentId}). */
48
+ export type NonCanonicalDocumentId = "segment_whitespace" | "format_character" | "not_nfc";
49
+ /**
50
+ * Why a NEW document id is outside its one canonical spelling, or null when it is in it. This
51
+ * governs the spelling a document may be created under; storage keeps reading, updating and
52
+ * deleting ids that predate the rule, and nothing is renamed.
53
+ *
54
+ * - No path segment starts or ends with whitespace as `String.prototype.trim` defines it (every
55
+ * Unicode space separator, line terminators and U+FEFF); this is checked first.
56
+ * - No path segment starts or ends with a format character (Unicode Cf, such as U+200B), and no
57
+ * segment holds one inside except ZERO WIDTH NON-JOINER and ZERO WIDTH JOINER, which scripts and
58
+ * emoji sequences need between visible characters.
59
+ * - The id is in Unicode NFC: normalizing filesystems treat the NFC and NFD spellings as one name,
60
+ * while storage keys them as two.
61
+ */
62
+ export declare function nonCanonicalDocumentId(id: string): NonCanonicalDocumentId | null;
47
63
  /**
48
64
  * Guard a blob key before it is joined onto the bundle root for a filesystem read or
49
65
  * write. Same traversal/absolute-escape shape as {@link assertSafeConceptId}, PLUS
@@ -79,4 +95,6 @@ export declare function assertSafeBlobKey(key: string): void;
79
95
  * aliases are rejected rather than silently normalized.
80
96
  */
81
97
  export declare function assertSafeReservedDir(dir: string): void;
98
+ /** Drops every trailing `/`. Scanned rather than `/\/+$/`-replaced, whose unanchored start backtracks quadratically on long slash runs. */
99
+ export declare function trimTrailingSlashes(value: string): string;
82
100
  //# sourceMappingURL=paths.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,2EAA2E;AAC3E,eAAO,MAAM,kBAAkB,iCAAkC,CAAC;AAElE,wFAAwF;AACxF,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAS/D;AAYD,0FAA0F;AAC1F,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAI3G;AAED,kFAAkF;AAClF,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGvD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAO5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,SAAS,GAAG,MAAM,CAGvD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI,CAWvD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAgBnD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAKvD"}
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,2EAA2E;AAC3E,eAAO,MAAM,kBAAkB,iCAAkC,CAAC;AAElE,wFAAwF;AACxF,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAS/D;AAYD,0FAA0F;AAC1F,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAI3G;AAED,kFAAkF;AAClF,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGvD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAO5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,SAAS,GAAG,MAAM,CAGvD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI,CAWvD;AAED,wGAAwG;AACxG,MAAM,MAAM,sBAAsB,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,SAAS,CAAC;AAK3F;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI,CAMhF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAgBnD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAKvD;AAED,2IAA2I;AAC3I,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIzD"}
package/dist/paths.js CHANGED
@@ -92,6 +92,31 @@ export function assertSafeConceptId(id) {
92
92
  throw new InvalidInputError(`Concept id must not contain a non-final segment ending in '.md': '${id}' (it collides with a concept file at that path).`);
93
93
  }
94
94
  }
95
+ const FORMAT_AT_EDGE = /^\p{Cf}|\p{Cf}$/u;
96
+ const FORMAT_INSIDE = /(?![\u200c\u200d])\p{Cf}/u;
97
+ /**
98
+ * Why a NEW document id is outside its one canonical spelling, or null when it is in it. This
99
+ * governs the spelling a document may be created under; storage keeps reading, updating and
100
+ * deleting ids that predate the rule, and nothing is renamed.
101
+ *
102
+ * - No path segment starts or ends with whitespace as `String.prototype.trim` defines it (every
103
+ * Unicode space separator, line terminators and U+FEFF); this is checked first.
104
+ * - No path segment starts or ends with a format character (Unicode Cf, such as U+200B), and no
105
+ * segment holds one inside except ZERO WIDTH NON-JOINER and ZERO WIDTH JOINER, which scripts and
106
+ * emoji sequences need between visible characters.
107
+ * - The id is in Unicode NFC: normalizing filesystems treat the NFC and NFD spellings as one name,
108
+ * while storage keys them as two.
109
+ */
110
+ export function nonCanonicalDocumentId(id) {
111
+ const segments = id.split("/");
112
+ if (segments.some((segment) => segment !== segment.trim()))
113
+ return "segment_whitespace";
114
+ if (segments.some((segment) => FORMAT_AT_EDGE.test(segment) || FORMAT_INSIDE.test(segment)))
115
+ return "format_character";
116
+ if (id !== id.normalize("NFC"))
117
+ return "not_nfc";
118
+ return null;
119
+ }
95
120
  /**
96
121
  * Guard a blob key before it is joined onto the bundle root for a filesystem read or
97
122
  * write. Same traversal/absolute-escape shape as {@link assertSafeConceptId}, PLUS
@@ -147,4 +172,11 @@ export function assertSafeReservedDir(dir) {
147
172
  if (dir !== "")
148
173
  assertPortablePath(dir, "Reserved-file directory");
149
174
  }
175
+ /** Drops every trailing `/`. Scanned rather than `/\/+$/`-replaced, whose unanchored start backtracks quadratically on long slash runs. */
176
+ export function trimTrailingSlashes(value) {
177
+ let end = value.length;
178
+ while (end > 0 && value[end - 1] === "/")
179
+ end -= 1;
180
+ return value.slice(0, end);
181
+ }
150
182
  //# sourceMappingURL=paths.js.map
package/dist/paths.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"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"}
@@ -149,8 +149,15 @@ export interface PlatformSyncOptions {
149
149
  * The refusal the last sync reported (`lastSync.refusedDeletions`), passed back to say the
150
150
  * shrink it describes is genuine. Browser-local applies the deletions only when the
151
151
  * authority's current listing still carries the same digest, count and reason; a listing
152
- * that has moved since is refused afresh. Request-driven ignores it: nothing is ever
153
- * refused there.
152
+ * that has moved since is refused afresh. When another realm holds the push role, a sync
153
+ * passing it applies nothing, records `lastSync.ok` false and rejects, so the caller can retry.
154
+ * One whose pull another realm supersedes twice also records `lastSync.ok` false and rejects,
155
+ * possibly with some deletions applied, and reports a refusal in `lastSync.refusedDeletions`
156
+ * for the retry to pass back: a fresh one when the listing moved, not necessarily the one
157
+ * passed. It is shown only while the superseding pull's marker is unfinished, and is held in
158
+ * memory only, so a page reload loses it; a later plain pull that refuses records it on its
159
+ * marker again.
160
+ * Request-driven ignores it: nothing is ever refused there.
154
161
  */
155
162
  acceptRefusedDeletions?: RefusedDeletions;
156
163
  }
@@ -229,4 +236,8 @@ export declare function isSharedConfirmed(provenance: Provenance): provenance is
229
236
  export declare function sharedConfirmed(version: Version, acknowledged?: Version): Provenance;
230
237
  export declare function localPending(version: Version, base: Version | null, requestId: string): Provenance;
231
238
  export declare function localConflict(version: Version, base: Version | null, remote: Version | null, requestId: string): Provenance;
239
+ /** Shared catastrophic-listing decision. Held/unknown targets must be excluded by the caller. */
240
+ export declare function deletionBound(listedCount: number, presentCount: number, candidates: number, digest: string): RefusedDeletions | undefined;
241
+ /** An acceptance names precisely the refusal currently proposed. */
242
+ export declare function acceptsRefusal(refused: RefusedDeletions, accepted: RefusedDeletions | undefined): boolean;
232
243
  //# sourceMappingURL=platform.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
package/dist/platform.js CHANGED
@@ -79,4 +79,20 @@ export function localPending(version, base, requestId) {
79
79
  export function localConflict(version, base, remote, requestId) {
80
80
  return { state: "local-conflict", version, base, remote, requestId };
81
81
  }
82
+ /** Shared catastrophic-listing decision. Held/unknown targets must be excluded by the caller. */
83
+ export function deletionBound(listedCount, presentCount, candidates, digest) {
84
+ if (![listedCount, presentCount, candidates].every(n => Number.isSafeInteger(n) && n >= 0) || candidates > presentCount || typeof digest !== "string" || digest.length === 0)
85
+ throw new TypeError("invalid deletion bound inputs");
86
+ if (candidates < 8)
87
+ return undefined;
88
+ if (listedCount === 0)
89
+ return { deletions: candidates, reason: "empty-listing", digest };
90
+ if (candidates * 2 > presentCount)
91
+ return { deletions: candidates, reason: "over-half", digest };
92
+ return undefined;
93
+ }
94
+ /** An acceptance names precisely the refusal currently proposed. */
95
+ export function acceptsRefusal(refused, accepted) {
96
+ return accepted !== undefined && accepted.digest === refused.digest && accepted.deletions === refused.deletions && accepted.reason === refused.reason;
97
+ }
82
98
  //# sourceMappingURL=platform.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AA2KH,sDAAsD;AACtD,MAAM,UAAU,eAAe,CAAC,UAAsB;IACpD,QAAQ,UAAU,CAAC,KAAK,EAAE,CAAC;QACzB,KAAK,kBAAkB;YACrB,OAAO,QAAQ,CAAC;QAClB,KAAK,eAAe;YAClB,OAAO,SAAS,CAAC;QACnB,KAAK,gBAAgB;YACnB,OAAO,UAAU,CAAC;IACtB,CAAC;AACH,CAAC;AAED,+GAA+G;AAC/G,MAAM,UAAU,iBAAiB,CAAC,UAAsB;IACtD,OAAO,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC;AACjD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,OAAgB,EAAE,eAAwB,OAAO;IAC/E,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,IAAoB,EAAE,SAAiB;IACpF,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAgB,EAAE,IAAoB,EAAE,MAAsB,EAAE,SAAiB;IAC7G,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AACvE,CAAC"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAkLH,sDAAsD;AACtD,MAAM,UAAU,eAAe,CAAC,UAAsB;IACpD,QAAQ,UAAU,CAAC,KAAK,EAAE,CAAC;QACzB,KAAK,kBAAkB;YACrB,OAAO,QAAQ,CAAC;QAClB,KAAK,eAAe;YAClB,OAAO,SAAS,CAAC;QACnB,KAAK,gBAAgB;YACnB,OAAO,UAAU,CAAC;IACtB,CAAC;AACH,CAAC;AAED,+GAA+G;AAC/G,MAAM,UAAU,iBAAiB,CAAC,UAAsB;IACtD,OAAO,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC;AACjD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,OAAgB,EAAE,eAAwB,OAAO;IAC/E,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,IAAoB,EAAE,SAAiB;IACpF,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAgB,EAAE,IAAoB,EAAE,MAAsB,EAAE,SAAiB;IAC7G,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AACvE,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,aAAa,CAAC,WAAmB,EAAE,YAAoB,EAAE,UAAkB,EAAE,MAAc;IACzG,IAAI,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,UAAU,GAAG,YAAY,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,+BAA+B,CAAC,CAAC;IACnO,IAAI,UAAU,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACrC,IAAI,WAAW,KAAK,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC;IACzF,IAAI,UAAU,GAAG,CAAC,GAAG,YAAY;QAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;IACjG,OAAO,SAAS,CAAC;AACnB,CAAC;AACD,oEAAoE;AACpE,MAAM,UAAU,cAAc,CAAC,OAAyB,EAAE,QAAsC;IAC9F,OAAO,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC;AACxJ,CAAC"}
@@ -0,0 +1,119 @@
1
+ export declare const EXPORT_MANIFEST = "superbee-export.json";
2
+ export declare const EXPORT_FORMAT = "superbee-export/1";
3
+ /** The host's own bounds (20,000 objects, 64 MiB stored), plus room for headers and the manifest. */
4
+ export declare const MAX_EXPORT_ENTRIES = 20001;
5
+ export declare const MAX_EXPORT_BYTES: number;
6
+ /** Why an archive was refused: `incomplete` is an export the host stopped; the rest are contract failures. */
7
+ export type ArchiveProblem = "incomplete" | "malformed" | "unsafe_path" | "manifest_mismatch" | "wrong_bundle" | "unsupported_format";
8
+ export declare class ExportArchiveError extends Error {
9
+ readonly name = "ExportArchiveError";
10
+ readonly problem: ArchiveProblem;
11
+ constructor(problem: ArchiveProblem, message: string);
12
+ }
13
+ export type EntryKind = "document" | "reserved" | "blob";
14
+ export interface ArchiveEntry {
15
+ /** The bundle-relative path the entry is placed at. */
16
+ readonly path: string;
17
+ readonly kind: EntryKind;
18
+ readonly bytes: Uint8Array;
19
+ }
20
+ export interface ExportSource {
21
+ readonly tenantId: string;
22
+ readonly bundleId: string;
23
+ readonly revision: number;
24
+ readonly okfEdition: string | null;
25
+ }
26
+ export interface VerifiedExport {
27
+ readonly source: ExportSource;
28
+ readonly exportedAt: string;
29
+ readonly counts: {
30
+ readonly documents: number;
31
+ readonly reserved: number;
32
+ readonly blobs: number;
33
+ };
34
+ /** Every entry but the manifest, in archive order. */
35
+ readonly entries: readonly ArchiveEntry[];
36
+ /** Stored bytes, the manifest excluded. */
37
+ readonly bytes: number;
38
+ /** A paged export's page; absent on the whole archive (and on pages once joined). */
39
+ readonly page?: ExportPage;
40
+ }
41
+ /** What one page of a paged export states (`page` in its manifest). */
42
+ export interface ExportPage {
43
+ /** The inventory position of the page's first object. */
44
+ readonly from: number;
45
+ /** Objects the page carries. */
46
+ readonly count: number;
47
+ /** Objects in the whole bundle. */
48
+ readonly total: number;
49
+ /** The cursor of the next page; absent on the last. */
50
+ readonly next?: string;
51
+ /** The whole bundle's counts, as every page's manifest states them. */
52
+ readonly counts: VerifiedExport["counts"];
53
+ }
54
+ export declare function crc32(bytes: Uint8Array): number;
55
+ interface RawEntry {
56
+ readonly name: string;
57
+ readonly data: Uint8Array;
58
+ }
59
+ /**
60
+ * The entries of a store-only zip, strictly: one end record at the very end, a central directory
61
+ * that ends where it starts it, and local records laid end to end from offset zero, each stored,
62
+ * uncompressed, with no data descriptor and a matching CRC.
63
+ */
64
+ export declare function readStoredZip(archive: Uint8Array): RawEntry[];
65
+ /** What an archive path is in a bundle, or an `unsafe_path` refusal. The core guards decide. */
66
+ export declare function classifyEntryPath(entryPath: string): EntryKind;
67
+ /**
68
+ * The first two paths that one folder cannot hold apart: the same file under folding, a file where
69
+ * a folder must be, or one folder spelled two ways (a case-insensitive disk would merge them, and
70
+ * the files in it would no longer be at the paths their ids name).
71
+ */
72
+ export declare function findEntryCollision(paths: readonly string[]): readonly [string, string] | null;
73
+ /**
74
+ * Verify a whole export archive for `bundleId` and return its entries. Any failure is an
75
+ * {@link ExportArchiveError}; nothing is returned for an archive that is not complete and exact.
76
+ */
77
+ export declare function verifyExport(archive: Uint8Array, bundleId: string, options?: {
78
+ readonly paged?: boolean;
79
+ }): VerifiedExport;
80
+ /**
81
+ * The pages of one paged export, checked as each arrives and joined once the last has: every page
82
+ * must name the first page's source (one revision, one edition), state the same whole (its total,
83
+ * at most an export's entries, and its counts), start where the one before ended, and only the
84
+ * last may name no next page. So a host that repeats or skips a page is refused at that page, and
85
+ * a run of pages is at most `total` long. Joined, the pages must hold every object once, add up to
86
+ * the bundle's counts, and keep every path apart from the others in one folder.
87
+ */
88
+ export declare class ExportPageChain {
89
+ #private;
90
+ /** Adds the next page; answers its next cursor, or undefined once the export is whole. */
91
+ add(verified: VerifiedExport): string | undefined;
92
+ /** The whole bundle, as one archive would have carried it. */
93
+ joined(): VerifiedExport;
94
+ }
95
+ /** Join the verified pages of one paged export ({@link ExportPageChain}). */
96
+ export declare function joinExportPages(pages: readonly VerifiedExport[]): VerifiedExport;
97
+ /** Exact transport evidence, kept outside any materialized OKF bundle. */
98
+ export interface ExportProvenance {
99
+ readonly source: ExportSource;
100
+ readonly exportedAt: string;
101
+ /** SHA-256 and byte length of each accepted raw manifest, in page order. */
102
+ readonly manifests: readonly {
103
+ readonly sha256: string;
104
+ readonly bytes: number;
105
+ }[];
106
+ /** SHA-256 of UTF-8 JSON for path-sorted {path,kind,bytes,sha256} inventory rows. */
107
+ readonly inventorySha256: string;
108
+ }
109
+ /** Evidence for an accepted handle; refuses forged or subsequently mutated values. */
110
+ export declare function exportProvenance(verified: VerifiedExport): ExportProvenance;
111
+ /**
112
+ * Materialize a complete verified export in a fresh private child of an existing caller-owned
113
+ * parent. Returns only after every file is written. The caller owns cleanup of the returned
114
+ * directory and must keep that parent private while using the result. No target is overwritten,
115
+ * no transport metadata is written, and failure removes only this call's newly created child.
116
+ */
117
+ export declare function materializeExport(verified: VerifiedExport, parentDirectory: string): Promise<string>;
118
+ export {};
119
+ //# sourceMappingURL=portable-export.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portable-export.d.ts","sourceRoot":"","sources":["../src/portable-export.ts"],"names":[],"mappings":"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"}