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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (538) hide show
  1. package/README.md +1084 -0
  2. package/dist/artifact-contract.d.ts +90 -0
  3. package/dist/artifact-contract.d.ts.map +1 -0
  4. package/dist/artifact-contract.js +205 -0
  5. package/dist/artifact-contract.js.map +1 -0
  6. package/dist/backend.d.ts +19 -1
  7. package/dist/backend.d.ts.map +1 -1
  8. package/dist/backend.js +83 -36
  9. package/dist/backend.js.map +1 -1
  10. package/dist/blob-contract.d.ts +80 -0
  11. package/dist/blob-contract.d.ts.map +1 -0
  12. package/dist/blob-contract.js +131 -0
  13. package/dist/blob-contract.js.map +1 -0
  14. package/dist/blob-journal.d.ts +302 -0
  15. package/dist/blob-journal.d.ts.map +1 -0
  16. package/dist/blob-journal.js +540 -0
  17. package/dist/blob-journal.js.map +1 -0
  18. package/dist/body-replace-guards.d.ts +52 -0
  19. package/dist/body-replace-guards.d.ts.map +1 -0
  20. package/dist/body-replace-guards.js +176 -0
  21. package/dist/body-replace-guards.js.map +1 -0
  22. package/dist/builtin-recipes/content.d.ts +93 -0
  23. package/dist/builtin-recipes/content.d.ts.map +1 -0
  24. package/dist/builtin-recipes/content.js +288 -0
  25. package/dist/builtin-recipes/content.js.map +1 -0
  26. package/dist/builtin-recipes.d.ts +10 -0
  27. package/dist/builtin-recipes.d.ts.map +1 -0
  28. package/dist/builtin-recipes.js +97 -0
  29. package/dist/builtin-recipes.js.map +1 -0
  30. package/dist/bundle-health/index.d.ts +14 -0
  31. package/dist/bundle-health/index.d.ts.map +1 -0
  32. package/dist/bundle-health/index.js +12 -0
  33. package/dist/bundle-health/index.js.map +1 -0
  34. package/dist/bundle-health/kind-findings.d.ts +44 -0
  35. package/dist/bundle-health/kind-findings.d.ts.map +1 -0
  36. package/dist/bundle-health/kind-findings.js +68 -0
  37. package/dist/bundle-health/kind-findings.js.map +1 -0
  38. package/dist/bundle-health/legacy-page.d.ts +39 -0
  39. package/dist/bundle-health/legacy-page.d.ts.map +1 -0
  40. package/dist/bundle-health/legacy-page.js +50 -0
  41. package/dist/bundle-health/legacy-page.js.map +1 -0
  42. package/dist/bundle-health/report.d.ts +202 -0
  43. package/dist/bundle-health/report.d.ts.map +1 -0
  44. package/dist/bundle-health/report.js +438 -0
  45. package/dist/bundle-health/report.js.map +1 -0
  46. package/dist/bundle-ops.d.ts +1 -1
  47. package/dist/bundle-ops.d.ts.map +1 -1
  48. package/dist/bundle-ops.js +2 -2
  49. package/dist/bundle-ops.js.map +1 -1
  50. package/dist/bundle.d.ts +2 -1
  51. package/dist/bundle.d.ts.map +1 -1
  52. package/dist/bundle.js +3 -3
  53. package/dist/bundle.js.map +1 -1
  54. package/dist/code-point-order.d.ts +8 -0
  55. package/dist/code-point-order.d.ts.map +1 -0
  56. package/dist/code-point-order.js +20 -0
  57. package/dist/code-point-order.js.map +1 -0
  58. package/dist/connector-request.d.ts +87 -0
  59. package/dist/connector-request.d.ts.map +1 -0
  60. package/dist/connector-request.js +370 -0
  61. package/dist/connector-request.js.map +1 -0
  62. package/dist/connectors.d.ts +262 -0
  63. package/dist/connectors.d.ts.map +1 -0
  64. package/dist/connectors.js +1179 -0
  65. package/dist/connectors.js.map +1 -0
  66. package/dist/cross-bundle.d.ts +135 -0
  67. package/dist/cross-bundle.d.ts.map +1 -0
  68. package/dist/cross-bundle.js +186 -0
  69. package/dist/cross-bundle.js.map +1 -0
  70. package/dist/dependencies.d.ts +94 -0
  71. package/dist/dependencies.d.ts.map +1 -0
  72. package/dist/dependencies.js +180 -0
  73. package/dist/dependencies.js.map +1 -0
  74. package/dist/document-codec.d.ts +5 -1
  75. package/dist/document-codec.d.ts.map +1 -1
  76. package/dist/document-codec.js +7 -4
  77. package/dist/document-codec.js.map +1 -1
  78. package/dist/document-field-actions.d.ts +31 -1
  79. package/dist/document-field-actions.d.ts.map +1 -1
  80. package/dist/document-field-actions.js +137 -34
  81. package/dist/document-field-actions.js.map +1 -1
  82. package/dist/document-mutation.d.ts +22 -10
  83. package/dist/document-mutation.d.ts.map +1 -1
  84. package/dist/document-mutation.js +61 -27
  85. package/dist/document-mutation.js.map +1 -1
  86. package/dist/document-write-policy.d.ts.map +1 -1
  87. package/dist/document-write-policy.js +4 -2
  88. package/dist/document-write-policy.js.map +1 -1
  89. package/dist/domain-model.d.ts +73 -0
  90. package/dist/domain-model.d.ts.map +1 -0
  91. package/dist/domain-model.js +169 -0
  92. package/dist/domain-model.js.map +1 -0
  93. package/dist/engine.d.ts +16 -8
  94. package/dist/engine.d.ts.map +1 -1
  95. package/dist/engine.js +42 -4
  96. package/dist/engine.js.map +1 -1
  97. package/dist/file-journaled-backend-internal.d.ts +21 -0
  98. package/dist/file-journaled-backend-internal.d.ts.map +1 -0
  99. package/dist/file-journaled-backend-internal.js +12 -0
  100. package/dist/file-journaled-backend-internal.js.map +1 -0
  101. package/dist/file-journaled-backend.d.ts +160 -0
  102. package/dist/file-journaled-backend.d.ts.map +1 -0
  103. package/dist/file-journaled-backend.js +1345 -0
  104. package/dist/file-journaled-backend.js.map +1 -0
  105. package/dist/filesystem-host.d.ts +15 -0
  106. package/dist/filesystem-host.d.ts.map +1 -0
  107. package/dist/filesystem-host.js +20 -0
  108. package/dist/filesystem-host.js.map +1 -0
  109. package/dist/filesystem-identity.d.ts +86 -4
  110. package/dist/filesystem-identity.d.ts.map +1 -1
  111. package/dist/filesystem-identity.js +338 -102
  112. package/dist/filesystem-identity.js.map +1 -1
  113. package/dist/filesystem-lock.d.ts +16 -3
  114. package/dist/filesystem-lock.d.ts.map +1 -1
  115. package/dist/filesystem-lock.js +323 -77
  116. package/dist/filesystem-lock.js.map +1 -1
  117. package/dist/filesystem-push-role.d.ts +77 -0
  118. package/dist/filesystem-push-role.d.ts.map +1 -0
  119. package/dist/filesystem-push-role.js +165 -0
  120. package/dist/filesystem-push-role.js.map +1 -0
  121. package/dist/filesystem.d.ts +17 -0
  122. package/dist/filesystem.d.ts.map +1 -0
  123. package/dist/filesystem.js +18 -0
  124. package/dist/filesystem.js.map +1 -0
  125. package/dist/governed-body-write.d.ts +106 -0
  126. package/dist/governed-body-write.d.ts.map +1 -0
  127. package/dist/governed-body-write.js +251 -0
  128. package/dist/governed-body-write.js.map +1 -0
  129. package/dist/host-policy-snapshot.d.ts +9 -0
  130. package/dist/host-policy-snapshot.d.ts.map +1 -0
  131. package/dist/host-policy-snapshot.js +33 -0
  132. package/dist/host-policy-snapshot.js.map +1 -0
  133. package/dist/host-text.d.ts +31 -0
  134. package/dist/host-text.d.ts.map +1 -0
  135. package/dist/host-text.js +77 -0
  136. package/dist/host-text.js.map +1 -0
  137. package/dist/hosted-client/binding.d.ts +7 -0
  138. package/dist/hosted-client/binding.d.ts.map +1 -0
  139. package/dist/hosted-client/binding.js +10 -0
  140. package/dist/hosted-client/binding.js.map +1 -0
  141. package/dist/hosted-client/blob-delivery.d.ts +67 -0
  142. package/dist/hosted-client/blob-delivery.d.ts.map +1 -0
  143. package/dist/hosted-client/blob-delivery.js +169 -0
  144. package/dist/hosted-client/blob-delivery.js.map +1 -0
  145. package/dist/hosted-client/blob-write.d.ts +386 -0
  146. package/dist/hosted-client/blob-write.d.ts.map +1 -0
  147. package/dist/hosted-client/blob-write.js +770 -0
  148. package/dist/hosted-client/blob-write.js.map +1 -0
  149. package/dist/hosted-client/bundle-listing.d.ts +46 -0
  150. package/dist/hosted-client/bundle-listing.d.ts.map +1 -0
  151. package/dist/hosted-client/bundle-listing.js +36 -0
  152. package/dist/hosted-client/bundle-listing.js.map +1 -0
  153. package/dist/hosted-client/client.d.ts +219 -0
  154. package/dist/hosted-client/client.d.ts.map +1 -0
  155. package/dist/hosted-client/client.js +309 -0
  156. package/dist/hosted-client/client.js.map +1 -0
  157. package/dist/hosted-client/directory.d.ts +46 -0
  158. package/dist/hosted-client/directory.d.ts.map +1 -0
  159. package/dist/hosted-client/directory.js +74 -0
  160. package/dist/hosted-client/directory.js.map +1 -0
  161. package/dist/hosted-client/errors.d.ts +26 -0
  162. package/dist/hosted-client/errors.d.ts.map +1 -0
  163. package/dist/hosted-client/errors.js +35 -0
  164. package/dist/hosted-client/errors.js.map +1 -0
  165. package/dist/hosted-client/inbox.d.ts +320 -0
  166. package/dist/hosted-client/inbox.d.ts.map +1 -0
  167. package/dist/hosted-client/inbox.js +379 -0
  168. package/dist/hosted-client/inbox.js.map +1 -0
  169. package/dist/hosted-client/index.d.ts +30 -0
  170. package/dist/hosted-client/index.d.ts.map +1 -0
  171. package/dist/hosted-client/index.js +32 -0
  172. package/dist/hosted-client/index.js.map +1 -0
  173. package/dist/hosted-client/journal.d.ts +103 -0
  174. package/dist/hosted-client/journal.d.ts.map +1 -0
  175. package/dist/hosted-client/journal.js +464 -0
  176. package/dist/hosted-client/journal.js.map +1 -0
  177. package/dist/hosted-client/node.d.ts +74 -0
  178. package/dist/hosted-client/node.d.ts.map +1 -0
  179. package/dist/hosted-client/node.js +219 -0
  180. package/dist/hosted-client/node.js.map +1 -0
  181. package/dist/hosted-client/reference.d.ts +12 -0
  182. package/dist/hosted-client/reference.d.ts.map +1 -0
  183. package/dist/hosted-client/reference.js +29 -0
  184. package/dist/hosted-client/reference.js.map +1 -0
  185. package/dist/hosted-client/write.d.ts +217 -0
  186. package/dist/hosted-client/write.d.ts.map +1 -0
  187. package/dist/hosted-client/write.js +418 -0
  188. package/dist/hosted-client/write.js.map +1 -0
  189. package/dist/hosted-transport/answer-rows.d.ts +243 -0
  190. package/dist/hosted-transport/answer-rows.d.ts.map +1 -0
  191. package/dist/hosted-transport/answer-rows.js +454 -0
  192. package/dist/hosted-transport/answer-rows.js.map +1 -0
  193. package/dist/hosted-transport/blob-reads.d.ts +35 -0
  194. package/dist/hosted-transport/blob-reads.d.ts.map +1 -0
  195. package/dist/hosted-transport/blob-reads.js +179 -0
  196. package/dist/hosted-transport/blob-reads.js.map +1 -0
  197. package/dist/hosted-transport/blob-write.d.ts +34 -0
  198. package/dist/hosted-transport/blob-write.d.ts.map +1 -0
  199. package/dist/hosted-transport/blob-write.js +115 -0
  200. package/dist/hosted-transport/blob-write.js.map +1 -0
  201. package/dist/hosted-transport/carrier.d.ts +151 -0
  202. package/dist/hosted-transport/carrier.d.ts.map +1 -0
  203. package/dist/hosted-transport/carrier.js +260 -0
  204. package/dist/hosted-transport/carrier.js.map +1 -0
  205. package/dist/hosted-transport/history-pages.d.ts +55 -0
  206. package/dist/hosted-transport/history-pages.d.ts.map +1 -0
  207. package/dist/hosted-transport/history-pages.js +69 -0
  208. package/dist/hosted-transport/history-pages.js.map +1 -0
  209. package/dist/hosted-transport/index.d.ts +18 -0
  210. package/dist/hosted-transport/index.d.ts.map +1 -0
  211. package/dist/hosted-transport/index.js +18 -0
  212. package/dist/hosted-transport/index.js.map +1 -0
  213. package/dist/hosted-transport/operations.d.ts +85 -0
  214. package/dist/hosted-transport/operations.d.ts.map +1 -0
  215. package/dist/hosted-transport/operations.js +128 -0
  216. package/dist/hosted-transport/operations.js.map +1 -0
  217. package/dist/hosted-transport/paged-reads.d.ts +87 -0
  218. package/dist/hosted-transport/paged-reads.d.ts.map +1 -0
  219. package/dist/hosted-transport/paged-reads.js +238 -0
  220. package/dist/hosted-transport/paged-reads.js.map +1 -0
  221. package/dist/hosted-transport/read-adapter.d.ts +256 -0
  222. package/dist/hosted-transport/read-adapter.d.ts.map +1 -0
  223. package/dist/hosted-transport/read-adapter.js +568 -0
  224. package/dist/hosted-transport/read-adapter.js.map +1 -0
  225. package/dist/hosted-transport/root-write.d.ts +114 -0
  226. package/dist/hosted-transport/root-write.d.ts.map +1 -0
  227. package/dist/hosted-transport/root-write.js +171 -0
  228. package/dist/hosted-transport/root-write.js.map +1 -0
  229. package/dist/hosted-transport/whole-document-transport.d.ts +204 -0
  230. package/dist/hosted-transport/whole-document-transport.d.ts.map +1 -0
  231. package/dist/hosted-transport/whole-document-transport.js +447 -0
  232. package/dist/hosted-transport/whole-document-transport.js.map +1 -0
  233. package/dist/index.d.ts +34 -10
  234. package/dist/index.d.ts.map +1 -1
  235. package/dist/index.js +26 -8
  236. package/dist/index.js.map +1 -1
  237. package/dist/indexeddb-backend.d.ts +28 -37
  238. package/dist/indexeddb-backend.d.ts.map +1 -1
  239. package/dist/indexeddb-backend.js +467 -113
  240. package/dist/indexeddb-backend.js.map +1 -1
  241. package/dist/journaled-backend.d.ts +232 -15
  242. package/dist/journaled-backend.d.ts.map +1 -1
  243. package/dist/journaled-backend.js +254 -55
  244. package/dist/journaled-backend.js.map +1 -1
  245. package/dist/kind-authoring.d.ts +170 -0
  246. package/dist/kind-authoring.d.ts.map +1 -0
  247. package/dist/kind-authoring.js +451 -0
  248. package/dist/kind-authoring.js.map +1 -0
  249. package/dist/kind-conformance-error.d.ts +15 -0
  250. package/dist/kind-conformance-error.d.ts.map +1 -0
  251. package/dist/kind-conformance-error.js +20 -0
  252. package/dist/kind-conformance-error.js.map +1 -0
  253. package/dist/kind-coverage.d.ts +99 -0
  254. package/dist/kind-coverage.d.ts.map +1 -0
  255. package/dist/kind-coverage.js +186 -0
  256. package/dist/kind-coverage.js.map +1 -0
  257. package/dist/kind-field-mutation.d.ts +4 -0
  258. package/dist/kind-field-mutation.d.ts.map +1 -1
  259. package/dist/kind-field-mutation.js +28 -3
  260. package/dist/kind-field-mutation.js.map +1 -1
  261. package/dist/kinds-load.js +4 -4
  262. package/dist/kinds-load.js.map +1 -1
  263. package/dist/kinds.d.ts +65 -2
  264. package/dist/kinds.d.ts.map +1 -1
  265. package/dist/kinds.js +341 -21
  266. package/dist/kinds.js.map +1 -1
  267. package/dist/link-types.d.ts +26 -0
  268. package/dist/link-types.d.ts.map +1 -0
  269. package/dist/link-types.js +57 -0
  270. package/dist/link-types.js.map +1 -0
  271. package/dist/links.d.ts +21 -3
  272. package/dist/links.d.ts.map +1 -1
  273. package/dist/links.js +213 -14
  274. package/dist/links.js.map +1 -1
  275. package/dist/managed-document-metadata.d.ts +2 -0
  276. package/dist/managed-document-metadata.d.ts.map +1 -0
  277. package/dist/managed-document-metadata.js +9 -0
  278. package/dist/managed-document-metadata.js.map +1 -0
  279. package/dist/memory-backend.d.ts.map +1 -1
  280. package/dist/memory-backend.js +6 -2
  281. package/dist/memory-backend.js.map +1 -1
  282. package/dist/paths.d.ts +16 -0
  283. package/dist/paths.d.ts.map +1 -1
  284. package/dist/paths.js +25 -0
  285. package/dist/paths.js.map +1 -1
  286. package/dist/platform.d.ts +13 -2
  287. package/dist/platform.d.ts.map +1 -1
  288. package/dist/platform.js +16 -0
  289. package/dist/platform.js.map +1 -1
  290. package/dist/portable-export.d.ts +119 -0
  291. package/dist/portable-export.d.ts.map +1 -0
  292. package/dist/portable-export.js +501 -0
  293. package/dist/portable-export.js.map +1 -0
  294. package/dist/publication-filesystem.d.ts +1 -1
  295. package/dist/publication-filesystem.d.ts.map +1 -1
  296. package/dist/publication-filesystem.js +1 -1
  297. package/dist/publication-filesystem.js.map +1 -1
  298. package/dist/qualified-links.d.ts +67 -0
  299. package/dist/qualified-links.d.ts.map +1 -0
  300. package/dist/qualified-links.js +117 -0
  301. package/dist/qualified-links.js.map +1 -0
  302. package/dist/query-filter.d.ts +16 -2
  303. package/dist/query-filter.d.ts.map +1 -1
  304. package/dist/query-filter.js +40 -1
  305. package/dist/query-filter.js.map +1 -1
  306. package/dist/query-order.d.ts +22 -0
  307. package/dist/query-order.d.ts.map +1 -0
  308. package/dist/query-order.js +42 -0
  309. package/dist/query-order.js.map +1 -0
  310. package/dist/recipe-lifecycle/errors.d.ts +96 -0
  311. package/dist/recipe-lifecycle/errors.d.ts.map +1 -0
  312. package/dist/recipe-lifecycle/errors.js +122 -0
  313. package/dist/recipe-lifecycle/errors.js.map +1 -0
  314. package/dist/recipe-lifecycle/evolution.d.ts +112 -0
  315. package/dist/recipe-lifecycle/evolution.d.ts.map +1 -0
  316. package/dist/recipe-lifecycle/evolution.js +941 -0
  317. package/dist/recipe-lifecycle/evolution.js.map +1 -0
  318. package/dist/recipe-lifecycle/index.d.ts +30 -0
  319. package/dist/recipe-lifecycle/index.d.ts.map +1 -0
  320. package/dist/recipe-lifecycle/index.js +26 -0
  321. package/dist/recipe-lifecycle/index.js.map +1 -0
  322. package/dist/recipe-lifecycle/install.d.ts +155 -0
  323. package/dist/recipe-lifecycle/install.d.ts.map +1 -0
  324. package/dist/recipe-lifecycle/install.js +594 -0
  325. package/dist/recipe-lifecycle/install.js.map +1 -0
  326. package/dist/recipe-lifecycle/legacy-aliases.d.ts +16 -0
  327. package/dist/recipe-lifecycle/legacy-aliases.d.ts.map +1 -0
  328. package/dist/recipe-lifecycle/legacy-aliases.js +51 -0
  329. package/dist/recipe-lifecycle/legacy-aliases.js.map +1 -0
  330. package/dist/recipe-lifecycle/stamp.d.ts +151 -0
  331. package/dist/recipe-lifecycle/stamp.d.ts.map +1 -0
  332. package/dist/recipe-lifecycle/stamp.js +364 -0
  333. package/dist/recipe-lifecycle/stamp.js.map +1 -0
  334. package/dist/recipe-set-preflight.d.ts +139 -0
  335. package/dist/recipe-set-preflight.d.ts.map +1 -0
  336. package/dist/recipe-set-preflight.js +536 -0
  337. package/dist/recipe-set-preflight.js.map +1 -0
  338. package/dist/recipes.d.ts +29 -1
  339. package/dist/recipes.d.ts.map +1 -1
  340. package/dist/recipes.js +137 -1
  341. package/dist/recipes.js.map +1 -1
  342. package/dist/record-overlay/apply.d.ts +43 -0
  343. package/dist/record-overlay/apply.d.ts.map +1 -0
  344. package/dist/record-overlay/apply.js +527 -0
  345. package/dist/record-overlay/apply.js.map +1 -0
  346. package/dist/record-overlay/canonical.d.ts +22 -0
  347. package/dist/record-overlay/canonical.d.ts.map +1 -0
  348. package/dist/record-overlay/canonical.js +47 -0
  349. package/dist/record-overlay/canonical.js.map +1 -0
  350. package/dist/record-overlay/digest.d.ts +4 -0
  351. package/dist/record-overlay/digest.d.ts.map +1 -0
  352. package/dist/record-overlay/digest.js +11 -0
  353. package/dist/record-overlay/digest.js.map +1 -0
  354. package/dist/record-overlay/errors.d.ts +44 -0
  355. package/dist/record-overlay/errors.d.ts.map +1 -0
  356. package/dist/record-overlay/errors.js +55 -0
  357. package/dist/record-overlay/errors.js.map +1 -0
  358. package/dist/record-overlay/findings.d.ts +5 -0
  359. package/dist/record-overlay/findings.d.ts.map +1 -0
  360. package/dist/record-overlay/findings.js +83 -0
  361. package/dist/record-overlay/findings.js.map +1 -0
  362. package/dist/record-overlay/index.d.ts +23 -0
  363. package/dist/record-overlay/index.d.ts.map +1 -0
  364. package/dist/record-overlay/index.js +21 -0
  365. package/dist/record-overlay/index.js.map +1 -0
  366. package/dist/record-overlay/plan.d.ts +12 -0
  367. package/dist/record-overlay/plan.d.ts.map +1 -0
  368. package/dist/record-overlay/plan.js +285 -0
  369. package/dist/record-overlay/plan.js.map +1 -0
  370. package/dist/record-overlay/policy.d.ts +69 -0
  371. package/dist/record-overlay/policy.d.ts.map +1 -0
  372. package/dist/record-overlay/policy.js +228 -0
  373. package/dist/record-overlay/policy.js.map +1 -0
  374. package/dist/record-overlay/redact.d.ts +3 -0
  375. package/dist/record-overlay/redact.d.ts.map +1 -0
  376. package/dist/record-overlay/redact.js +27 -0
  377. package/dist/record-overlay/redact.js.map +1 -0
  378. package/dist/record-overlay/signal-kind.d.ts +30 -0
  379. package/dist/record-overlay/signal-kind.d.ts.map +1 -0
  380. package/dist/record-overlay/signal-kind.js +38 -0
  381. package/dist/record-overlay/signal-kind.js.map +1 -0
  382. package/dist/record-overlay/signal-text.d.ts +45 -0
  383. package/dist/record-overlay/signal-text.d.ts.map +1 -0
  384. package/dist/record-overlay/signal-text.js +116 -0
  385. package/dist/record-overlay/signal-text.js.map +1 -0
  386. package/dist/record-overlay/source-index.d.ts +19 -0
  387. package/dist/record-overlay/source-index.d.ts.map +1 -0
  388. package/dist/record-overlay/source-index.js +102 -0
  389. package/dist/record-overlay/source-index.js.map +1 -0
  390. package/dist/record-overlay/types.d.ts +291 -0
  391. package/dist/record-overlay/types.d.ts.map +1 -0
  392. package/dist/record-overlay/types.js +2 -0
  393. package/dist/record-overlay/types.js.map +1 -0
  394. package/dist/remote-backend.d.ts +67 -67
  395. package/dist/remote-backend.d.ts.map +1 -1
  396. package/dist/remote-backend.js +168 -201
  397. package/dist/remote-backend.js.map +1 -1
  398. package/dist/remote-document-codec.d.ts +2 -1
  399. package/dist/remote-document-codec.d.ts.map +1 -1
  400. package/dist/remote-document-codec.js +3 -2
  401. package/dist/remote-document-codec.js.map +1 -1
  402. package/dist/remote-error.d.ts +38 -0
  403. package/dist/remote-error.d.ts.map +1 -0
  404. package/dist/remote-error.js +59 -0
  405. package/dist/remote-error.js.map +1 -0
  406. package/dist/remote-operations.d.ts +0 -40
  407. package/dist/remote-operations.d.ts.map +1 -1
  408. package/dist/remote-operations.js +26 -6
  409. package/dist/remote-operations.js.map +1 -1
  410. package/dist/remote-parsers.d.ts +86 -0
  411. package/dist/remote-parsers.d.ts.map +1 -0
  412. package/dist/remote-parsers.js +181 -0
  413. package/dist/remote-parsers.js.map +1 -0
  414. package/dist/remote.d.ts +5 -2
  415. package/dist/remote.d.ts.map +1 -1
  416. package/dist/remote.js +5 -1
  417. package/dist/remote.js.map +1 -1
  418. package/dist/search/backend-source.d.ts +6 -0
  419. package/dist/search/backend-source.d.ts.map +1 -0
  420. package/dist/search/backend-source.js +33 -0
  421. package/dist/search/backend-source.js.map +1 -0
  422. package/dist/search/contract.d.ts +151 -0
  423. package/dist/search/contract.d.ts.map +1 -0
  424. package/dist/search/contract.js +78 -0
  425. package/dist/search/contract.js.map +1 -0
  426. package/dist/search/errors.d.ts +30 -0
  427. package/dist/search/errors.d.ts.map +1 -0
  428. package/dist/search/errors.js +50 -0
  429. package/dist/search/errors.js.map +1 -0
  430. package/dist/search/identity.d.ts +12 -0
  431. package/dist/search/identity.d.ts.map +1 -0
  432. package/dist/search/identity.js +90 -0
  433. package/dist/search/identity.js.map +1 -0
  434. package/dist/search/index.d.ts +16 -0
  435. package/dist/search/index.d.ts.map +1 -0
  436. package/dist/search/index.js +15 -0
  437. package/dist/search/index.js.map +1 -0
  438. package/dist/search/memory-source.d.ts +36 -0
  439. package/dist/search/memory-source.d.ts.map +1 -0
  440. package/dist/search/memory-source.js +235 -0
  441. package/dist/search/memory-source.js.map +1 -0
  442. package/dist/search/rank.d.ts +34 -0
  443. package/dist/search/rank.d.ts.map +1 -0
  444. package/dist/search/rank.js +129 -0
  445. package/dist/search/rank.js.map +1 -0
  446. package/dist/search/row-text.d.ts +38 -0
  447. package/dist/search/row-text.d.ts.map +1 -0
  448. package/dist/search/row-text.js +88 -0
  449. package/dist/search/row-text.js.map +1 -0
  450. package/dist/search/search.d.ts +28 -0
  451. package/dist/search/search.d.ts.map +1 -0
  452. package/dist/search/search.js +257 -0
  453. package/dist/search/search.js.map +1 -0
  454. package/dist/search/source.d.ts +67 -0
  455. package/dist/search/source.d.ts.map +1 -0
  456. package/dist/search/source.js +2 -0
  457. package/dist/search/source.js.map +1 -0
  458. package/dist/search/text.d.ts +47 -0
  459. package/dist/search/text.d.ts.map +1 -0
  460. package/dist/search/text.js +150 -0
  461. package/dist/search/text.js.map +1 -0
  462. package/dist/site-capabilities.d.ts +345 -0
  463. package/dist/site-capabilities.d.ts.map +1 -0
  464. package/dist/site-capabilities.js +724 -0
  465. package/dist/site-capabilities.js.map +1 -0
  466. package/dist/source-engine/guard.d.ts +78 -0
  467. package/dist/source-engine/guard.d.ts.map +1 -0
  468. package/dist/source-engine/guard.js +423 -0
  469. package/dist/source-engine/guard.js.map +1 -0
  470. package/dist/source-engine/index.d.ts +26 -0
  471. package/dist/source-engine/index.d.ts.map +1 -0
  472. package/dist/source-engine/index.js +21 -0
  473. package/dist/source-engine/index.js.map +1 -0
  474. package/dist/source-engine/machine-state.d.ts +74 -0
  475. package/dist/source-engine/machine-state.d.ts.map +1 -0
  476. package/dist/source-engine/machine-state.js +48 -0
  477. package/dist/source-engine/machine-state.js.map +1 -0
  478. package/dist/source-engine/observe.d.ts +18 -0
  479. package/dist/source-engine/observe.d.ts.map +1 -0
  480. package/dist/source-engine/observe.js +620 -0
  481. package/dist/source-engine/observe.js.map +1 -0
  482. package/dist/source-engine/overlay.d.ts +49 -0
  483. package/dist/source-engine/overlay.d.ts.map +1 -0
  484. package/dist/source-engine/overlay.js +114 -0
  485. package/dist/source-engine/overlay.js.map +1 -0
  486. package/dist/source-engine/robots.d.ts +53 -0
  487. package/dist/source-engine/robots.d.ts.map +1 -0
  488. package/dist/source-engine/robots.js +158 -0
  489. package/dist/source-engine/robots.js.map +1 -0
  490. package/dist/source-engine/types.d.ts +287 -0
  491. package/dist/source-engine/types.d.ts.map +1 -0
  492. package/dist/source-engine/types.js +2 -0
  493. package/dist/source-engine/types.js.map +1 -0
  494. package/dist/source-harness/conformance.d.ts +16 -0
  495. package/dist/source-harness/conformance.d.ts.map +1 -0
  496. package/dist/source-harness/conformance.js +266 -0
  497. package/dist/source-harness/conformance.js.map +1 -0
  498. package/dist/source-harness/fixture.d.ts +95 -0
  499. package/dist/source-harness/fixture.d.ts.map +1 -0
  500. package/dist/source-harness/fixture.js +273 -0
  501. package/dist/source-harness/fixture.js.map +1 -0
  502. package/dist/source-harness/index.d.ts +22 -0
  503. package/dist/source-harness/index.d.ts.map +1 -0
  504. package/dist/source-harness/index.js +19 -0
  505. package/dist/source-harness/index.js.map +1 -0
  506. package/dist/source-harness/peer.d.ts +74 -0
  507. package/dist/source-harness/peer.d.ts.map +1 -0
  508. package/dist/source-harness/peer.js +106 -0
  509. package/dist/source-harness/peer.js.map +1 -0
  510. package/dist/source-profiles/index.d.ts +31 -0
  511. package/dist/source-profiles/index.d.ts.map +1 -0
  512. package/dist/source-profiles/index.js +206 -0
  513. package/dist/source-profiles/index.js.map +1 -0
  514. package/dist/source-profiles/link-header.d.ts +6 -0
  515. package/dist/source-profiles/link-header.d.ts.map +1 -0
  516. package/dist/source-profiles/link-header.js +131 -0
  517. package/dist/source-profiles/link-header.js.map +1 -0
  518. package/dist/storage.d.ts +6 -2
  519. package/dist/storage.d.ts.map +1 -1
  520. package/dist/storage.js +4 -1
  521. package/dist/storage.js.map +1 -1
  522. package/dist/types.d.ts +38 -5
  523. package/dist/types.d.ts.map +1 -1
  524. package/dist/types.js +0 -10
  525. package/dist/types.js.map +1 -1
  526. package/dist/uncertain-write.d.ts +161 -19
  527. package/dist/uncertain-write.d.ts.map +1 -1
  528. package/dist/uncertain-write.js +90 -31
  529. package/dist/uncertain-write.js.map +1 -1
  530. package/dist/versioning.d.ts +9 -4
  531. package/dist/versioning.d.ts.map +1 -1
  532. package/dist/versioning.js +9 -4
  533. package/dist/versioning.js.map +1 -1
  534. package/dist/write-identity.d.ts +5 -0
  535. package/dist/write-identity.d.ts.map +1 -0
  536. package/dist/write-identity.js +9 -0
  537. package/dist/write-identity.js.map +1 -0
  538. package/package.json +107 -2
@@ -0,0 +1,180 @@
1
+ /**
2
+ * Bundle identity and the `docs/dependencies` declaration.
3
+ *
4
+ * A bundle names the other bundles it links into in ONE committed document, `docs/dependencies`
5
+ * (type `Bundle Dependencies`). Each entry maps a local alias (the `<alias>` in
6
+ * `okf://<alias>/<path>.md`) to the target's portable `bundle_id`, plus optional `source`, `pin`
7
+ * and `path`. A target confirms its own identity with `bundle_id` in its `docs/bundle` document.
8
+ *
9
+ * Pure and browser-safe: no `node:*` import, no I/O. Consumers read the documents through their
10
+ * own backend and hand them here.
11
+ */
12
+ // ── Bundle identity ─────────────────────────────────────────────────────────
13
+ // A portable bundle id: lower-case letters and digits joined by `.`, `_` or `-`, starting with a
14
+ // letter, at most 128 characters. The one rule hosted `checkout`, `export` and `publish` accept an
15
+ // id by, and the one a printed `checkout <id>` command is emitted for: an id it rejects (one
16
+ // starting with `-` would read as an option) never appears in a command.
17
+ const BUNDLE_ID = /^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/;
18
+ const BUNDLE_ID_MAX_LENGTH = 128;
19
+ /** True when `id` is a portable bundle id (the hosted bundle-id grammar). */
20
+ export function isHostedBundleId(id) {
21
+ return id.length <= BUNDLE_ID_MAX_LENGTH && BUNDLE_ID.test(id);
22
+ }
23
+ /**
24
+ * The well-known concept id carrying a bundle's explicit display name and portable id. NOT the
25
+ * bundle-root `index.md` — OKF §3.1 reserves that file's frontmatter solely for `okf_version`, so
26
+ * the name needs its own small doc.
27
+ */
28
+ export const BUNDLE_NAME_DOC_ID = "docs/bundle";
29
+ /**
30
+ * The ownership marker: `docs/bundle` speaks for the bundle ONLY when it carries exactly this
31
+ * `type`. A `docs/bundle` doc of any other type is an ordinary document and is ignored, so an
32
+ * unrelated pre-existing doc is never appropriated as the bundle's name or id.
33
+ */
34
+ export const BUNDLE_NAME_DOC_TYPE = "Bundle Name";
35
+ /**
36
+ * The bundle's self-declared portable id: `bundle_id` in `docs/bundle` under the marker type, when
37
+ * it satisfies {@link isHostedBundleId}. Anything else (absent doc, other type, missing or
38
+ * malformed id) is `undefined`; the caller decides what a bundle without a declared id means.
39
+ */
40
+ export function declaredBundleId(doc) {
41
+ if (!doc || doc.id !== BUNDLE_NAME_DOC_ID)
42
+ return undefined;
43
+ const type = doc.frontmatter.type;
44
+ if (typeof type !== "string" || type.trim() !== BUNDLE_NAME_DOC_TYPE)
45
+ return undefined;
46
+ const id = doc.frontmatter.bundle_id;
47
+ return typeof id === "string" && isHostedBundleId(id) ? id : undefined;
48
+ }
49
+ // ── docs/dependencies ───────────────────────────────────────────────────────
50
+ export const DEPENDENCIES_DOC_ID = "docs/dependencies";
51
+ export const DEPENDENCIES_DOC_TYPE = "Bundle Dependencies";
52
+ /** The alias grammar shared by `okf://<alias>/…` hrefs, dependency keys and qualified Kind targets. */
53
+ export const BUNDLE_ALIAS = /^[a-z][a-z0-9-]{0,62}$/;
54
+ export function isBundleAlias(alias) {
55
+ return BUNDLE_ALIAS.test(alias);
56
+ }
57
+ const KNOWN_KEYS = new Set(["bundle_id", "source", "pin", "path"]);
58
+ /** Reserved for recipe dependencies, which will reuse this declaration. */
59
+ const RESERVED_KEYS = new Set(["use", "version", "channel"]);
60
+ const COMMIT_PIN = /^[0-9a-f]{7,40}$/;
61
+ const DIGEST_PIN = /^sha256:[0-9a-f]{64}$/;
62
+ function isRecord(value) {
63
+ return typeof value === "object" && value !== null && !Array.isArray(value) && !(value instanceof Date);
64
+ }
65
+ /**
66
+ * Absolute under POSIX or win32 rules, or carrying a backslash. Pure string checks (no
67
+ * `node:path`) so the verdict is the same on every host: `/x`, `\x`, `\\server\share`, `C:\x`,
68
+ * `C:/x` and the drive-relative `C:x` are all refused.
69
+ */
70
+ export function isNonPortableDependencyPath(value) {
71
+ return value.startsWith("/") || value.includes("\\") || /^[A-Za-z]:/.test(value);
72
+ }
73
+ function parsePin(value) {
74
+ if (typeof value !== "string")
75
+ return null;
76
+ if (COMMIT_PIN.test(value))
77
+ return { kind: "commit", value };
78
+ if (DIGEST_PIN.test(value))
79
+ return { kind: "digest", value };
80
+ return null;
81
+ }
82
+ /**
83
+ * Parse `docs/dependencies`. Never throws: every defect is a problem, and an entry whose alias,
84
+ * `bundle_id` or `pin` is unusable is dropped (fail closed: a link under it reads as
85
+ * `unknown_alias`, never as resolved against the wrong copy). An unusable `source` or `path` drops
86
+ * only that field. Unknown and reserved keys are reported and the entry is kept.
87
+ */
88
+ export function parseDependencies(doc, options = {}) {
89
+ const dependencies = new Map();
90
+ const problems = [];
91
+ const rejected = new Map();
92
+ const result = () => ({ dependencies, problems, rejected });
93
+ const reject = (alias, code, detail) => {
94
+ problems.push({ code, alias, detail });
95
+ rejected.set(alias, code);
96
+ };
97
+ if (!doc)
98
+ return result();
99
+ const type = doc.frontmatter.type;
100
+ if (typeof type !== "string" || type.trim() !== DEPENDENCIES_DOC_TYPE) {
101
+ problems.push({ code: "DEP_TYPE", detail: `type must be '${DEPENDENCIES_DOC_TYPE}'` });
102
+ return result();
103
+ }
104
+ const declared = doc.frontmatter.dependencies;
105
+ if (declared === undefined || declared === null)
106
+ return result();
107
+ if (!isRecord(declared)) {
108
+ problems.push({ code: "DEP_SHAPE", detail: "dependencies must be a mapping of alias to entry" });
109
+ return result();
110
+ }
111
+ const aliasByBundle = new Map();
112
+ for (const [alias, raw] of Object.entries(declared)) {
113
+ if (!isBundleAlias(alias)) {
114
+ problems.push({ code: "DEP_ALIAS", alias, detail: "alias must match ^[a-z][a-z0-9-]{0,62}$" });
115
+ continue;
116
+ }
117
+ if (!isRecord(raw)) {
118
+ reject(alias, "DEP_SHAPE", "entry must be a mapping");
119
+ continue;
120
+ }
121
+ const bundleId = raw.bundle_id;
122
+ if (typeof bundleId !== "string" || !isHostedBundleId(bundleId)) {
123
+ reject(alias, "DEP_BUNDLE_ID", "bundle_id is required and must be a portable bundle id");
124
+ continue;
125
+ }
126
+ let pin;
127
+ if (raw.pin !== undefined) {
128
+ const parsed = parsePin(raw.pin);
129
+ if (parsed === null) {
130
+ // A YAML scalar such as 1234567 or 3e45678 arrives as a number, so the hint says to quote.
131
+ reject(alias, "DEP_PIN", "pin must be a quoted commit (7-40 lower-case hex) or sha256:<64 lower-case hex>");
132
+ continue;
133
+ }
134
+ pin = parsed;
135
+ }
136
+ if (options.selfBundleId !== undefined && bundleId === options.selfBundleId) {
137
+ reject(alias, "DEP_SELF", `bundle_id '${bundleId}' is this bundle`);
138
+ continue;
139
+ }
140
+ const earlier = aliasByBundle.get(bundleId);
141
+ if (earlier !== undefined) {
142
+ reject(alias, "DEP_DUPLICATE_BUNDLE", `bundle_id '${bundleId}' is already declared as '${earlier}'`);
143
+ continue;
144
+ }
145
+ const entry = { alias, bundle_id: bundleId };
146
+ if (raw.source !== undefined) {
147
+ if (typeof raw.source === "string" && raw.source.trim() !== "")
148
+ entry.source = raw.source;
149
+ else
150
+ problems.push({ code: "DEP_SHAPE", alias, detail: "source must be a non-empty string" });
151
+ }
152
+ if (pin)
153
+ entry.pin = pin;
154
+ if (raw.path !== undefined) {
155
+ if (typeof raw.path !== "string" || raw.path.trim() === "") {
156
+ problems.push({ code: "DEP_SHAPE", alias, detail: "path must be a non-empty string" });
157
+ }
158
+ else if (isNonPortableDependencyPath(raw.path)) {
159
+ problems.push({ code: "DEP_PATH_ABSOLUTE", alias, detail: "path must be relative to this bundle's root, with '/' separators" });
160
+ }
161
+ else {
162
+ entry.path = raw.path;
163
+ }
164
+ }
165
+ for (const key of Object.keys(raw)) {
166
+ if (KNOWN_KEYS.has(key))
167
+ continue;
168
+ if (RESERVED_KEYS.has(key)) {
169
+ problems.push({ code: "DEP_RESERVED_KEY", alias, detail: `'${key}' is reserved for recipe dependencies` });
170
+ }
171
+ else {
172
+ problems.push({ code: "DEP_UNKNOWN_KEY", alias, detail: `unknown key '${key}'` });
173
+ }
174
+ }
175
+ aliasByBundle.set(bundleId, alias);
176
+ dependencies.set(alias, entry);
177
+ }
178
+ return result();
179
+ }
180
+ //# sourceMappingURL=dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../src/dependencies.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,+EAA+E;AAE/E,iGAAiG;AACjG,mGAAmG;AACnG,6FAA6F;AAC7F,yEAAyE;AACzE,MAAM,SAAS,GAAG,qCAAqC,CAAC;AAExD,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAEjC,6EAA6E;AAC7E,MAAM,UAAU,gBAAgB,CAAC,EAAU;IACzC,OAAO,EAAE,CAAC,MAAM,IAAI,oBAAoB,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACjE,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAEhD;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAAC;AAElD;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAmC;IAClE,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,KAAK,kBAAkB;QAAE,OAAO,SAAS,CAAC;IAC5D,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;IAClC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,oBAAoB;QAAE,OAAO,SAAS,CAAC;IACvF,MAAM,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC;IACrC,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACzE,CAAC;AAED,+EAA+E;AAE/E,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AACvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,qBAAqB,CAAC;AAE3D,uGAAuG;AACvG,MAAM,CAAC,MAAM,YAAY,GAAG,wBAAwB,CAAC;AAErD,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AA0DD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AACnE,2EAA2E;AAC3E,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AAE7D,MAAM,UAAU,GAAG,kBAAkB,CAAC;AACtC,MAAM,UAAU,GAAG,uBAAuB,CAAC;AAE3C,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC;AAC1G,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAAa;IACvD,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC7D,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC7D,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,GAAmC,EACnC,UAAoC,EAAE;IAEtC,MAAM,YAAY,GAAG,IAAI,GAAG,EAA2B,CAAC;IACxD,MAAM,QAAQ,GAAwB,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAiC,CAAC;IAC1D,MAAM,MAAM,GAAG,GAAuB,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChF,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,IAA2B,EAAE,MAAc,EAAQ,EAAE;QAClF,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACvC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC;IACF,IAAI,CAAC,GAAG;QAAE,OAAO,MAAM,EAAE,CAAC;IAE1B,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;IAClC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,qBAAqB,EAAE,CAAC;QACtE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,qBAAqB,GAAG,EAAE,CAAC,CAAC;QACvF,OAAO,MAAM,EAAE,CAAC;IAClB,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC;IAC9C,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,MAAM,EAAE,CAAC;IACjE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,kDAAkD,EAAE,CAAC,CAAC;QACjG,OAAO,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChD,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,yCAAyC,EAAE,CAAC,CAAC;YAC/F,SAAS;QACX,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,yBAAyB,CAAC,CAAC;YACtD,SAAS;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC;QAC/B,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChE,MAAM,CAAC,KAAK,EAAE,eAAe,EAAE,wDAAwD,CAAC,CAAC;YACzF,SAAS;QACX,CAAC;QAED,IAAI,GAA8B,CAAC;QACnC,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,2FAA2F;gBAC3F,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,iFAAiF,CAAC,CAAC;gBAC5G,SAAS;YACX,CAAC;YACD,GAAG,GAAG,MAAM,CAAC;QACf,CAAC;QAED,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,IAAI,QAAQ,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC;YAC5E,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,cAAc,QAAQ,kBAAkB,CAAC,CAAC;YACpE,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,CAAC,KAAK,EAAE,sBAAsB,EAAE,cAAc,QAAQ,6BAA6B,OAAO,GAAG,CAAC,CAAC;YACrG,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GAAoB,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QAC9D,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE;gBAAE,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;;gBACrF,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,mCAAmC,EAAE,CAAC,CAAC;QAChG,CAAC;QACD,IAAI,GAAG;YAAE,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;QACzB,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC3D,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,iCAAiC,EAAE,CAAC,CAAC;YACzF,CAAC;iBAAM,IAAI,2BAA2B,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,EAAE,kEAAkE,EAAE,CAAC,CAAC;YAClI,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YACxB,CAAC;QACH,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS;YAClC,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,GAAG,uCAAuC,EAAE,CAAC,CAAC;YAC7G,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,GAAG,GAAG,EAAE,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QAED,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACnC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,MAAM,EAAE,CAAC;AAClB,CAAC"}
@@ -8,6 +8,10 @@ export { resolveContentType } from "./content-type.js";
8
8
  export { captureRemoteFrontmatter, RemoteDocumentValueError } from "./remote-document-codec.js";
9
9
  export type { Frontmatter, OkfDocument, Version } from "./types.js";
10
10
  import type { Version } from "./types.js";
11
- /** SHA-256 version of exact bytes, including binary data, using Web Crypto. */
11
+ /**
12
+ * SHA-256 version of exact bytes, including binary data. Minted by the same pure
13
+ * implementation as every other version token, so one digest owner serves Node and
14
+ * browser runtimes; the async signature is kept for the codec's existing callers.
15
+ */
12
16
  export declare function versionFromBytes(bytes: Uint8Array): Promise<Version>;
13
17
  //# sourceMappingURL=document-codec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"document-codec.d.ts","sourceRoot":"","sources":["../src/document-codec.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,+BAA+B,EAC/B,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAChG,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAEpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,+EAA+E;AAC/E,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAI1E"}
1
+ {"version":3,"file":"document-codec.d.ts","sourceRoot":"","sources":["../src/document-codec.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,+BAA+B,EAC/B,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAChG,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAE1E"}
@@ -6,10 +6,13 @@
6
6
  export { parseMarkdown, stringifyDoc, stringifyWithData, normalizeDocumentBodyForStorage, MalformedDocumentError, } from "./frontmatter.js";
7
7
  export { resolveContentType } from "./content-type.js";
8
8
  export { captureRemoteFrontmatter, RemoteDocumentValueError } from "./remote-document-codec.js";
9
- /** SHA-256 version of exact bytes, including binary data, using Web Crypto. */
9
+ import { sha256HexOfBytes } from "./sha256.js";
10
+ /**
11
+ * SHA-256 version of exact bytes, including binary data. Minted by the same pure
12
+ * implementation as every other version token, so one digest owner serves Node and
13
+ * browser runtimes; the async signature is kept for the codec's existing callers.
14
+ */
10
15
  export async function versionFromBytes(bytes) {
11
- const digest = await globalThis.crypto.subtle.digest("SHA-256", new Uint8Array(bytes).buffer);
12
- const hex = Array.from(new Uint8Array(digest), (byte) => byte.toString(16).padStart(2, "0")).join("");
13
- return `sha256:${hex}`;
16
+ return `sha256:${sha256HexOfBytes(bytes)}`;
14
17
  }
15
18
  //# sourceMappingURL=document-codec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"document-codec.js","sourceRoot":"","sources":["../src/document-codec.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,+BAA+B,EAC/B,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAKhG,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAiB;IACtD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;IAC9F,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtG,OAAO,UAAU,GAAG,EAAE,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"document-codec.js","sourceRoot":"","sources":["../src/document-codec.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,+BAA+B,EAC/B,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAGhG,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAiB;IACtD,OAAO,UAAU,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;AAC7C,CAAC"}
@@ -1,4 +1,3 @@
1
- /** Explicit frontmatter intent. Collection construction is owned here, before CAS metadata. */
2
1
  import { InvalidInputError } from "./errors.js";
3
2
  import { type KindRegistry } from "./kinds.js";
4
3
  import type { Frontmatter, OkfDocument } from "./types.js";
@@ -38,6 +37,14 @@ export type FieldAction = {
38
37
  action: "set";
39
38
  field: string;
40
39
  value: unknown;
40
+ }
41
+ /**
42
+ * Remove one field: any field `set` admits apart from `type` and the fields the document's Kind
43
+ * requires (refused with that Kind's `KIND_FIELD_MISSING`). A no-op when the field is absent.
44
+ */
45
+ | {
46
+ action: "unset";
47
+ field: string;
41
48
  } | {
42
49
  action: "add";
43
50
  field: "tags";
@@ -59,6 +66,19 @@ export type FieldAction = {
59
66
  field: "sources";
60
67
  selector: SourceSelector;
61
68
  patch: Record<string, unknown>;
69
+ }
70
+ /**
71
+ * Select the one entry whose (`resource`, `id`) pair equals the value's, by the shared
72
+ * `sources[]` identity rule, and merge the value's properties into it; append the value when
73
+ * no entry carries the pair. The ID must be nonempty because an upsert may mint it, and it
74
+ * may not already name an entry under another resource.
75
+ */
76
+ | {
77
+ action: "upsert";
78
+ field: "sources";
79
+ value: SourceEntry & {
80
+ id: string;
81
+ };
62
82
  } | {
63
83
  action: "replace-all";
64
84
  field: "tags";
@@ -67,6 +87,16 @@ export type FieldAction = {
67
87
  action: "replace-all";
68
88
  field: "sources";
69
89
  value: SourceEntry[];
90
+ }
91
+ /**
92
+ * The complete list of a field the document's Kind declares as `string-list` or `https-url-list`,
93
+ * kept in the given order: a Kind cannot say whether its list is a set, so ordering and
94
+ * deduplication belong to the caller (the Kind's type check refuses repeats on a strict write).
95
+ */
96
+ | {
97
+ action: "replace-all";
98
+ field: string;
99
+ value: string[];
70
100
  };
71
101
  export interface FieldActionScope {
72
102
  field: string;
@@ -1 +1 @@
1
- {"version":3,"file":"document-field-actions.d.ts","sourceRoot":"","sources":["../src/document-field-actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-field-actions.d.ts","sourceRoot":"","sources":["../src/document-field-actions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,EAA8G,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAE3J,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAExE,MAAM,MAAM,WAAW,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC;AACzF,MAAM,MAAM,cAAc,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AACjG,MAAM,WAAW,uBAAuB;IAAG,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE;AAC3F,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,kBAAkB,GAAG,eAAe,GAAG,kBAAkB,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,uBAAuB,CAAC;IACzI,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,mBAAmB,CAAC,EAAE,cAAc,CAAC;IACrC,UAAU,CAAC,EAAE,uBAAuB,EAAE,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AACD,4FAA4F;AAC5F,qBAAa,gBAAiB,SAAQ,iBAAiB;IACrD,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC;gBAC9B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB;CAK9D;AACD,MAAM,MAAM,WAAW,GACnB;IAAE,MAAM,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE;AAClD;;;GAGG;GACD;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,MAAM,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,MAAM,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,GACvD;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,cAAc,CAAA;CAAE,GAChE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE;AAChG;;;;;GAKG;GACD;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,WAAW,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAC3E;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GACzD;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,WAAW,EAAE,CAAA;CAAE;AACnE;;;;GAIG;GACD;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAC9D,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC9B,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC;IACnE,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AACD,MAAM,WAAW,kBAAkB;IAAG,QAAQ,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,KAAK,GAAG,KAAK,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CAAE;AAC7G,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,yBAAyB,CAAC;IACrC,KAAK,EAAE,gBAAgB,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACtB;AAID,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,GAAG,KAAK,GAAG,OAAO,CAE5F;AAiBD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE1D;AACD,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAOpG;AACD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI,CAItF;AAKD,+FAA+F;AAC/F,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,yBAAyB,CAOjI;AA+DD,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,GAAG,2BAA2B,CAwJ/I"}
@@ -1,7 +1,11 @@
1
+ import { assertTypedListPatch } from "./body-replace-guards.js";
1
2
  /** Explicit frontmatter intent. Collection construction is owned here, before CAS metadata. */
3
+ import { isManagedDocumentMetadataField } from "./managed-document-metadata.js";
2
4
  import { InvalidInputError } from "./errors.js";
3
5
  import { okfValuesEqual } from "./okf-authored-values.js";
4
- import { kindInputFieldNames, resolveKindFieldCoordinate } from "./kinds.js";
6
+ import { KindConformanceError } from "./kind-conformance-error.js";
7
+ import { isKindListField, kindInputFieldNames, resolveKindFieldCoordinate, validateAgainstKind } from "./kinds.js";
8
+ import { matchesSourceIdentity } from "./query-filter.js";
5
9
  /** Adapters can render corrective commands without parsing prose or repeating selection. */
6
10
  export class FieldActionError extends InvalidInputError {
7
11
  details;
@@ -11,7 +15,6 @@ export class FieldActionError extends InvalidInputError {
11
15
  this.details = details;
12
16
  }
13
17
  }
14
- const managed = new Set(["generated", "verified", "superbee_updated_by", "actor", "timestamp"]);
15
18
  const standard = new Set(["title", "description", "type", "resource"]);
16
19
  const v02 = new Set(["status", "stale_after", "usage_window"]);
17
20
  export function isStandardDocumentSetField(field, okfVersion) {
@@ -52,7 +55,7 @@ export function assertOrdinaryPatch(existing, proposed) {
52
55
  }
53
56
  }
54
57
  function assertAssignmentName(field) {
55
- if (managed.has(field))
58
+ if (isManagedDocumentMetadataField(field))
56
59
  throw new InvalidInputError(`'${field}' is managed metadata and cannot be assigned by a field action.`);
57
60
  if (field === "tags" || field === "sources")
58
61
  throw new InvalidInputError(`'${field}' requires an explicit collection add/remove/replace-all action.`);
@@ -106,54 +109,114 @@ function selectorIndex(rows, selector, edit) {
106
109
  }
107
110
  return index;
108
111
  }
112
+ /**
113
+ * The field `set` (and `unset`) may name on this document, resolved to its storage name: a standard
114
+ * set field of the edition or a field the document's Kind declares. Anything else is
115
+ * `unsupported-set-field`, listing what the action would accept.
116
+ */
117
+ function admittedField(existing, field, context, action) {
118
+ const kind = context.registry.kinds.get(String(existing.frontmatter.type)) ?? undefined;
119
+ const coordinate = kind && resolveKindFieldCoordinate(context.okfVersion, kind, field);
120
+ if (context.okfVersion === "0.1" && (field === "stale_after" || field === "usage_window"))
121
+ throw new InvalidInputError(`'${field}' requires OKF v0.2.`);
122
+ if (!isStandardDocumentSetField(field, context.okfVersion) && !coordinate) {
123
+ const supportedFields = [...new Set([
124
+ ...standard,
125
+ ...(context.okfVersion === "0.2" ? v02 : []),
126
+ ...(kind ? kindInputFieldNames(context.okfVersion, kind) : []),
127
+ ])].filter(name => {
128
+ if (isManagedDocumentMetadataField(name) || name === "tags" || name === "sources")
129
+ return false;
130
+ if (context.okfVersion === "0.1" && (name === "stale_after" || name === "usage_window"))
131
+ return false;
132
+ const storage = kind && resolveKindFieldCoordinate(context.okfVersion, kind, name);
133
+ if (action === "unset")
134
+ return name !== "type" && !(kind && kind.fields.required.includes(storage?.storageField ?? name));
135
+ return !containsCollection(existing.frontmatter[storage?.storageField ?? name]);
136
+ }).sort();
137
+ throw new FieldActionError(`Unsupported ${action} field '${field}'; supported fields: ${supportedFields.join(", ")}.`, {
138
+ reason: "unsupported-set-field", field, supportedFields,
139
+ });
140
+ }
141
+ return { kind, storageField: coordinate?.storageField ?? field };
142
+ }
143
+ const timestampFor = (context) => (context.now ?? (() => new Date().toISOString()))();
109
144
  export function prepareDocumentFieldAction(existing, action, context) {
110
145
  if (!record(action) || typeof action.field !== "string")
111
146
  throw new InvalidInputError("A field action requires a field name.");
112
- if (action.action === "set")
147
+ if (action.action === "set" || action.action === "unset")
113
148
  assertAssignmentName(action.field);
114
149
  const keys = action.action === "edit" ? ["action", "field", "selector", "patch"]
115
150
  : action.action === "remove" && action.field === "sources" ? ["action", "field", "selector"]
116
- : ["action", "field", "value"];
151
+ : action.action === "unset" ? ["action", "field"]
152
+ : ["action", "field", "value"];
117
153
  if (Object.keys(action).some(key => !keys.includes(key)) || keys.some(key => !has(action, key)))
118
154
  throw new InvalidInputError("Field action has missing or incompatible input properties.");
119
155
  if ("value" in action && action.value === undefined)
120
- throw new InvalidInputError("A field action value must be supplied; removing a field is not supported.");
156
+ throw new InvalidInputError("A field action value must be supplied; remove a field with unset.");
121
157
  let storageField = action.field;
122
158
  let candidate = { frontmatter: structuredClone(existing.frontmatter), body: existing.body };
123
159
  const scope = { field: action.field, action: action.action, outcome: "unchanged" };
124
160
  if (action.action === "set") {
125
- const kind = context.registry.kinds.get(String(existing.frontmatter.type));
126
- const coordinate = kind && resolveKindFieldCoordinate(context.okfVersion, kind, action.field);
127
- if (context.okfVersion === "0.1" && (action.field === "stale_after" || action.field === "usage_window"))
128
- throw new InvalidInputError(`'${action.field}' requires OKF v0.2.`);
129
- if (!isStandardDocumentSetField(action.field, context.okfVersion) && !coordinate) {
130
- const supportedFields = [...new Set([
131
- ...standard,
132
- ...(context.okfVersion === "0.2" ? v02 : []),
133
- ...(kind ? kindInputFieldNames(context.okfVersion, kind) : []),
134
- ])].filter(field => {
135
- if (managed.has(field) || field === "tags" || field === "sources")
136
- return false;
137
- if (context.okfVersion === "0.1" && (field === "stale_after" || field === "usage_window"))
138
- return false;
139
- const storage = kind && resolveKindFieldCoordinate(context.okfVersion, kind, field);
140
- return !containsCollection(existing.frontmatter[storage?.storageField ?? field]);
141
- }).sort();
142
- throw new FieldActionError(`Unsupported set field '${action.field}'; supported fields: ${supportedFields.join(", ")}.`, {
143
- reason: "unsupported-set-field", field: action.field, supportedFields,
144
- });
145
- }
146
- storageField = coordinate?.storageField ?? action.field;
161
+ const admitted = admittedField(existing, action.field, context, "set");
162
+ storageField = admitted.storageField;
163
+ if (admitted.kind)
164
+ assertTypedListPatch(admitted.kind, storageField);
147
165
  candidate = prepareDocumentAssignments(existing, { [storageField]: action.value });
148
166
  if (!okfValuesEqual(existing.frontmatter[storageField], action.value))
149
167
  scope.outcome = "edited";
150
168
  if (scope.outcome !== "unchanged" && context.okfVersion === "0.1")
151
- candidate.frontmatter.timestamp = (context.now ?? (() => new Date().toISOString()))();
169
+ candidate.frontmatter.timestamp = timestampFor(context);
170
+ return { candidate, scope, storageField };
171
+ }
172
+ const prototypeName = () => { throw new InvalidInputError("'__proto__' is not a writable frontmatter field."); };
173
+ if (action.action === "unset") {
174
+ if (action.field === "__proto__")
175
+ prototypeName();
176
+ if (action.field === "type")
177
+ throw new InvalidInputError("'type' cannot be removed; a document keeps its type.");
178
+ const admitted = admittedField(existing, action.field, context, "unset");
179
+ storageField = admitted.storageField;
180
+ const fields = candidate.frontmatter;
181
+ if (has(fields, storageField)) {
182
+ delete fields[storageField];
183
+ scope.outcome = "removed";
184
+ }
185
+ const kind = admitted.kind;
186
+ if (kind && kind.fields.required.includes(storageField)) {
187
+ // The Kind's own finding for the candidate, so every consumer reads the code it already maps.
188
+ const missing = validateAgainstKind({ id: existing.id, ...candidate }, kind).filter(warning => warning.code === "KIND_FIELD_MISSING" && warning.field === storageField);
189
+ throw new KindConformanceError(existing.id, kind.governs, missing, context.okfVersion);
190
+ }
191
+ if (scope.outcome !== "unchanged" && context.okfVersion === "0.1")
192
+ candidate.frontmatter.timestamp = timestampFor(context);
193
+ return { candidate, scope, storageField };
194
+ }
195
+ if (action.action === "replace-all" && action.field !== "tags" && action.field !== "sources") {
196
+ if (action.field === "__proto__")
197
+ prototypeName();
198
+ const kind = context.registry.kinds.get(String(existing.frontmatter.type)) ?? undefined;
199
+ const coordinate = kind && resolveKindFieldCoordinate(context.okfVersion, kind, action.field);
200
+ if (isManagedDocumentMetadataField(action.field) || isStandardDocumentSetField(action.field, context.okfVersion) || !coordinate || !isKindListField(kind, coordinate.storageField)) {
201
+ throw new InvalidInputError(`replace-all supports tags, sources, and fields the document's Kind declares as string-list or https-url-list; '${action.field}' is none of these.`);
202
+ }
203
+ storageField = coordinate.storageField;
204
+ if (!Array.isArray(action.value))
205
+ throw new InvalidInputError("replace-all requires a complete list (including [] to empty it).");
206
+ if (action.value.some(member => typeof member !== "string"))
207
+ throw new InvalidInputError(`'${action.field}' must be a list of strings.`);
208
+ const rows = structuredClone(action.value);
209
+ if (!okfValuesEqual(existing.frontmatter[storageField], rows)) {
210
+ candidate.frontmatter[storageField] = rows;
211
+ scope.outcome = "replaced";
212
+ if (context.okfVersion === "0.1")
213
+ candidate.frontmatter.timestamp = timestampFor(context);
214
+ }
152
215
  return { candidate, scope, storageField };
153
216
  }
154
217
  if (action.field !== "tags" && action.field !== "sources")
155
- throw new InvalidInputError("Collection actions support only tags and sources.");
156
- if (!["add", "remove", "edit", "replace-all"].includes(action.action))
218
+ throw new InvalidInputError("add, remove and edit support only tags and sources; replace a Kind-declared list field whole with replace-all.");
219
+ if (!["add", "remove", "edit", "replace-all", "upsert"].includes(action.action))
157
220
  throw new InvalidInputError("Unknown field action.");
158
221
  if (action.field === "sources" && context.okfVersion !== "0.2")
159
222
  throw new InvalidInputError("sources actions require OKF v0.2.");
@@ -173,8 +236,8 @@ export function prepareDocumentFieldAction(existing, action, context) {
173
236
  throw new InvalidInputError(`'${action.field}' is not a list; repair it with version-guarded replace-all.`);
174
237
  rows = structuredClone(previous ?? []);
175
238
  if (action.field === "tags") {
176
- if (action.action === "edit")
177
- throw new InvalidInputError("tags supports add/remove/replace-all, not edit.");
239
+ if (["edit", "upsert"].includes(action.action))
240
+ throw new InvalidInputError(`tags supports add/remove/replace-all, not ${action.action}.`);
178
241
  if (typeof action.value !== "string")
179
242
  throw new InvalidInputError("A tag must be a string.");
180
243
  if (action.action === "add" && !rows.includes(action.value)) {
@@ -186,6 +249,46 @@ export function prepareDocumentFieldAction(existing, action, context) {
186
249
  scope.outcome = "removed";
187
250
  }
188
251
  }
252
+ else if (action.action === "upsert") {
253
+ sourceRow(action.value);
254
+ const value = action.value;
255
+ if (typeof value.id !== "string" || value.id.trim() === "")
256
+ throw new InvalidInputError("A source upsert requires a nonempty id.");
257
+ for (const [property, entry] of Object.entries(value)) {
258
+ if (entry === undefined)
259
+ throw new InvalidInputError("Source upsert properties must have values.");
260
+ if (containsCollection(entry))
261
+ throw new InvalidInputError(`Cannot assign source property '${property}': the new subtree contains a list. Use sources replace-all with an observed version.`);
262
+ }
263
+ const identity = { resource: value.resource, id: value.id };
264
+ const matches = rows.flatMap((row, index) => matchesSourceIdentity(row, identity) ? [index] : []);
265
+ if (matches.length > 1)
266
+ throw new FieldActionError(`Source identity is ambiguous (${matches.length} matches); repair duplicates with version-guarded replace-all.`, {
267
+ reason: "ambiguous-source", field: "sources", selector: { id: value.id }, ...sourceCandidates(matches.map(index => rows[index])),
268
+ });
269
+ scope.affectedSourceIds = [value.id];
270
+ if (matches.length === 1) {
271
+ const old = rows[matches[0]];
272
+ for (const property of Object.keys(value)) {
273
+ if (containsCollection(old[property]))
274
+ throw new InvalidInputError(`Cannot assign source property '${property}': the old subtree contains a list. Use sources replace-all with an observed version.`);
275
+ }
276
+ const next = { ...old, ...structuredClone(value) };
277
+ if (!okfValuesEqual(old, next)) {
278
+ rows[matches[0]] = next;
279
+ scope.outcome = "edited";
280
+ }
281
+ }
282
+ else {
283
+ const sameId = rows.filter(row => record(row) && row.id === value.id);
284
+ if (sameId.length > 0)
285
+ throw new FieldActionError(`Source ID '${value.id}' already names an entry under another resource; a document-local ID is never minted twice.`, {
286
+ reason: "source-id-conflict", field: "sources", selector: { id: value.id }, recommendedSelector: { id: value.id }, ...sourceCandidates(sameId),
287
+ });
288
+ rows.push(structuredClone(value));
289
+ scope.outcome = "added";
290
+ }
291
+ }
189
292
  else if (action.action === "add") {
190
293
  sourceRow(action.value);
191
294
  if (has(action.value, "id")) {
@@ -255,7 +358,7 @@ export function prepareDocumentFieldAction(existing, action, context) {
255
358
  scope.affectedSourceIds = [...new Set([...(Array.isArray(previous) ? previous : []), ...rows].flatMap(row => record(row) && typeof row.id === "string" ? [row.id] : []))];
256
359
  }
257
360
  if (scope.outcome !== "unchanged" && context.okfVersion === "0.1")
258
- candidate.frontmatter.timestamp = (context.now ?? (() => new Date().toISOString()))();
361
+ candidate.frontmatter.timestamp = timestampFor(context);
259
362
  return { candidate, scope, storageField };
260
363
  }
261
364
  //# sourceMappingURL=document-field-actions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"document-field-actions.js","sourceRoot":"","sources":["../src/document-field-actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-field-actions.js","sourceRoot":"","sources":["../src/document-field-actions.ts"],"names":[],"mappings":"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"}