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

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 (534) hide show
  1. package/README.md +1082 -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/recipes.d.ts +29 -1
  335. package/dist/recipes.d.ts.map +1 -1
  336. package/dist/recipes.js +137 -1
  337. package/dist/recipes.js.map +1 -1
  338. package/dist/record-overlay/apply.d.ts +43 -0
  339. package/dist/record-overlay/apply.d.ts.map +1 -0
  340. package/dist/record-overlay/apply.js +527 -0
  341. package/dist/record-overlay/apply.js.map +1 -0
  342. package/dist/record-overlay/canonical.d.ts +22 -0
  343. package/dist/record-overlay/canonical.d.ts.map +1 -0
  344. package/dist/record-overlay/canonical.js +47 -0
  345. package/dist/record-overlay/canonical.js.map +1 -0
  346. package/dist/record-overlay/digest.d.ts +4 -0
  347. package/dist/record-overlay/digest.d.ts.map +1 -0
  348. package/dist/record-overlay/digest.js +11 -0
  349. package/dist/record-overlay/digest.js.map +1 -0
  350. package/dist/record-overlay/errors.d.ts +44 -0
  351. package/dist/record-overlay/errors.d.ts.map +1 -0
  352. package/dist/record-overlay/errors.js +55 -0
  353. package/dist/record-overlay/errors.js.map +1 -0
  354. package/dist/record-overlay/findings.d.ts +5 -0
  355. package/dist/record-overlay/findings.d.ts.map +1 -0
  356. package/dist/record-overlay/findings.js +83 -0
  357. package/dist/record-overlay/findings.js.map +1 -0
  358. package/dist/record-overlay/index.d.ts +23 -0
  359. package/dist/record-overlay/index.d.ts.map +1 -0
  360. package/dist/record-overlay/index.js +21 -0
  361. package/dist/record-overlay/index.js.map +1 -0
  362. package/dist/record-overlay/plan.d.ts +12 -0
  363. package/dist/record-overlay/plan.d.ts.map +1 -0
  364. package/dist/record-overlay/plan.js +285 -0
  365. package/dist/record-overlay/plan.js.map +1 -0
  366. package/dist/record-overlay/policy.d.ts +69 -0
  367. package/dist/record-overlay/policy.d.ts.map +1 -0
  368. package/dist/record-overlay/policy.js +228 -0
  369. package/dist/record-overlay/policy.js.map +1 -0
  370. package/dist/record-overlay/redact.d.ts +3 -0
  371. package/dist/record-overlay/redact.d.ts.map +1 -0
  372. package/dist/record-overlay/redact.js +27 -0
  373. package/dist/record-overlay/redact.js.map +1 -0
  374. package/dist/record-overlay/signal-kind.d.ts +30 -0
  375. package/dist/record-overlay/signal-kind.d.ts.map +1 -0
  376. package/dist/record-overlay/signal-kind.js +38 -0
  377. package/dist/record-overlay/signal-kind.js.map +1 -0
  378. package/dist/record-overlay/signal-text.d.ts +45 -0
  379. package/dist/record-overlay/signal-text.d.ts.map +1 -0
  380. package/dist/record-overlay/signal-text.js +116 -0
  381. package/dist/record-overlay/signal-text.js.map +1 -0
  382. package/dist/record-overlay/source-index.d.ts +19 -0
  383. package/dist/record-overlay/source-index.d.ts.map +1 -0
  384. package/dist/record-overlay/source-index.js +102 -0
  385. package/dist/record-overlay/source-index.js.map +1 -0
  386. package/dist/record-overlay/types.d.ts +291 -0
  387. package/dist/record-overlay/types.d.ts.map +1 -0
  388. package/dist/record-overlay/types.js +2 -0
  389. package/dist/record-overlay/types.js.map +1 -0
  390. package/dist/remote-backend.d.ts +67 -67
  391. package/dist/remote-backend.d.ts.map +1 -1
  392. package/dist/remote-backend.js +168 -201
  393. package/dist/remote-backend.js.map +1 -1
  394. package/dist/remote-document-codec.d.ts +2 -1
  395. package/dist/remote-document-codec.d.ts.map +1 -1
  396. package/dist/remote-document-codec.js +3 -2
  397. package/dist/remote-document-codec.js.map +1 -1
  398. package/dist/remote-error.d.ts +38 -0
  399. package/dist/remote-error.d.ts.map +1 -0
  400. package/dist/remote-error.js +59 -0
  401. package/dist/remote-error.js.map +1 -0
  402. package/dist/remote-operations.d.ts +0 -40
  403. package/dist/remote-operations.d.ts.map +1 -1
  404. package/dist/remote-operations.js +26 -6
  405. package/dist/remote-operations.js.map +1 -1
  406. package/dist/remote-parsers.d.ts +86 -0
  407. package/dist/remote-parsers.d.ts.map +1 -0
  408. package/dist/remote-parsers.js +181 -0
  409. package/dist/remote-parsers.js.map +1 -0
  410. package/dist/remote.d.ts +5 -2
  411. package/dist/remote.d.ts.map +1 -1
  412. package/dist/remote.js +5 -1
  413. package/dist/remote.js.map +1 -1
  414. package/dist/search/backend-source.d.ts +6 -0
  415. package/dist/search/backend-source.d.ts.map +1 -0
  416. package/dist/search/backend-source.js +33 -0
  417. package/dist/search/backend-source.js.map +1 -0
  418. package/dist/search/contract.d.ts +151 -0
  419. package/dist/search/contract.d.ts.map +1 -0
  420. package/dist/search/contract.js +78 -0
  421. package/dist/search/contract.js.map +1 -0
  422. package/dist/search/errors.d.ts +30 -0
  423. package/dist/search/errors.d.ts.map +1 -0
  424. package/dist/search/errors.js +50 -0
  425. package/dist/search/errors.js.map +1 -0
  426. package/dist/search/identity.d.ts +12 -0
  427. package/dist/search/identity.d.ts.map +1 -0
  428. package/dist/search/identity.js +90 -0
  429. package/dist/search/identity.js.map +1 -0
  430. package/dist/search/index.d.ts +16 -0
  431. package/dist/search/index.d.ts.map +1 -0
  432. package/dist/search/index.js +15 -0
  433. package/dist/search/index.js.map +1 -0
  434. package/dist/search/memory-source.d.ts +36 -0
  435. package/dist/search/memory-source.d.ts.map +1 -0
  436. package/dist/search/memory-source.js +235 -0
  437. package/dist/search/memory-source.js.map +1 -0
  438. package/dist/search/rank.d.ts +34 -0
  439. package/dist/search/rank.d.ts.map +1 -0
  440. package/dist/search/rank.js +129 -0
  441. package/dist/search/rank.js.map +1 -0
  442. package/dist/search/row-text.d.ts +38 -0
  443. package/dist/search/row-text.d.ts.map +1 -0
  444. package/dist/search/row-text.js +88 -0
  445. package/dist/search/row-text.js.map +1 -0
  446. package/dist/search/search.d.ts +28 -0
  447. package/dist/search/search.d.ts.map +1 -0
  448. package/dist/search/search.js +257 -0
  449. package/dist/search/search.js.map +1 -0
  450. package/dist/search/source.d.ts +67 -0
  451. package/dist/search/source.d.ts.map +1 -0
  452. package/dist/search/source.js +2 -0
  453. package/dist/search/source.js.map +1 -0
  454. package/dist/search/text.d.ts +47 -0
  455. package/dist/search/text.d.ts.map +1 -0
  456. package/dist/search/text.js +150 -0
  457. package/dist/search/text.js.map +1 -0
  458. package/dist/site-capabilities.d.ts +345 -0
  459. package/dist/site-capabilities.d.ts.map +1 -0
  460. package/dist/site-capabilities.js +724 -0
  461. package/dist/site-capabilities.js.map +1 -0
  462. package/dist/source-engine/guard.d.ts +78 -0
  463. package/dist/source-engine/guard.d.ts.map +1 -0
  464. package/dist/source-engine/guard.js +423 -0
  465. package/dist/source-engine/guard.js.map +1 -0
  466. package/dist/source-engine/index.d.ts +26 -0
  467. package/dist/source-engine/index.d.ts.map +1 -0
  468. package/dist/source-engine/index.js +21 -0
  469. package/dist/source-engine/index.js.map +1 -0
  470. package/dist/source-engine/machine-state.d.ts +74 -0
  471. package/dist/source-engine/machine-state.d.ts.map +1 -0
  472. package/dist/source-engine/machine-state.js +48 -0
  473. package/dist/source-engine/machine-state.js.map +1 -0
  474. package/dist/source-engine/observe.d.ts +18 -0
  475. package/dist/source-engine/observe.d.ts.map +1 -0
  476. package/dist/source-engine/observe.js +620 -0
  477. package/dist/source-engine/observe.js.map +1 -0
  478. package/dist/source-engine/overlay.d.ts +49 -0
  479. package/dist/source-engine/overlay.d.ts.map +1 -0
  480. package/dist/source-engine/overlay.js +114 -0
  481. package/dist/source-engine/overlay.js.map +1 -0
  482. package/dist/source-engine/robots.d.ts +53 -0
  483. package/dist/source-engine/robots.d.ts.map +1 -0
  484. package/dist/source-engine/robots.js +158 -0
  485. package/dist/source-engine/robots.js.map +1 -0
  486. package/dist/source-engine/types.d.ts +287 -0
  487. package/dist/source-engine/types.d.ts.map +1 -0
  488. package/dist/source-engine/types.js +2 -0
  489. package/dist/source-engine/types.js.map +1 -0
  490. package/dist/source-harness/conformance.d.ts +16 -0
  491. package/dist/source-harness/conformance.d.ts.map +1 -0
  492. package/dist/source-harness/conformance.js +266 -0
  493. package/dist/source-harness/conformance.js.map +1 -0
  494. package/dist/source-harness/fixture.d.ts +95 -0
  495. package/dist/source-harness/fixture.d.ts.map +1 -0
  496. package/dist/source-harness/fixture.js +273 -0
  497. package/dist/source-harness/fixture.js.map +1 -0
  498. package/dist/source-harness/index.d.ts +22 -0
  499. package/dist/source-harness/index.d.ts.map +1 -0
  500. package/dist/source-harness/index.js +19 -0
  501. package/dist/source-harness/index.js.map +1 -0
  502. package/dist/source-harness/peer.d.ts +74 -0
  503. package/dist/source-harness/peer.d.ts.map +1 -0
  504. package/dist/source-harness/peer.js +106 -0
  505. package/dist/source-harness/peer.js.map +1 -0
  506. package/dist/source-profiles/index.d.ts +31 -0
  507. package/dist/source-profiles/index.d.ts.map +1 -0
  508. package/dist/source-profiles/index.js +206 -0
  509. package/dist/source-profiles/index.js.map +1 -0
  510. package/dist/source-profiles/link-header.d.ts +6 -0
  511. package/dist/source-profiles/link-header.d.ts.map +1 -0
  512. package/dist/source-profiles/link-header.js +131 -0
  513. package/dist/source-profiles/link-header.js.map +1 -0
  514. package/dist/storage.d.ts +6 -2
  515. package/dist/storage.d.ts.map +1 -1
  516. package/dist/storage.js +4 -1
  517. package/dist/storage.js.map +1 -1
  518. package/dist/types.d.ts +38 -5
  519. package/dist/types.d.ts.map +1 -1
  520. package/dist/types.js +0 -10
  521. package/dist/types.js.map +1 -1
  522. package/dist/uncertain-write.d.ts +161 -19
  523. package/dist/uncertain-write.d.ts.map +1 -1
  524. package/dist/uncertain-write.js +90 -31
  525. package/dist/uncertain-write.js.map +1 -1
  526. package/dist/versioning.d.ts +9 -4
  527. package/dist/versioning.d.ts.map +1 -1
  528. package/dist/versioning.js +9 -4
  529. package/dist/versioning.js.map +1 -1
  530. package/dist/write-identity.d.ts +5 -0
  531. package/dist/write-identity.d.ts.map +1 -0
  532. package/dist/write-identity.js +9 -0
  533. package/dist/write-identity.js.map +1 -0
  534. package/package.json +103 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectors.js","sourceRoot":"","sources":["../src/connectors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,135 @@
1
+ /**
2
+ * Cross-bundle link resolution: the resolver interface every backend implements, and the local
3
+ * resolver over explicitly bound {@link StorageBackend}s.
4
+ *
5
+ * Resolution is always explicit. A resolver reads only the copies it was constructed with; nothing
6
+ * is fetched or discovered. Browser-safe: bindings are backends, never filesystem paths, and pin
7
+ * checks are injected (the CLI probes git; core never spawns a process).
8
+ */
9
+ import type { DependencyMap, DependencyProblemCode } from "./dependencies.js";
10
+ import { type QualifiedLink, type QualifiedRef } from "./qualified-links.js";
11
+ import type { ConceptId, OkfDocument, StorageBackend, Version } from "./types.js";
12
+ /**
13
+ * Why a link did not resolve. An unresolved link is still a valid link.
14
+ * - `bundle_unavailable`: no copy is bound, or the bound copy is not the declared bundle.
15
+ * - `pin_mismatch`: the bound copy is not at the pinned version.
16
+ * - `target_missing`: the document is not in the bound copy.
17
+ * - `not_authorized`: the reader may not read the target bundle.
18
+ * - `unknown_alias`: the alias is not declared in `docs/dependencies`.
19
+ * - `invalid_ref`: the href is malformed.
20
+ */
21
+ export type UnresolvedReason = "bundle_unavailable" | "pin_mismatch" | "target_missing" | "not_authorized" | "unknown_alias" | "invalid_ref";
22
+ export declare const UNRESOLVED_REASONS: readonly UnresolvedReason[];
23
+ /**
24
+ * The reasons that are the referring document's fault (fix the link or the target). The others
25
+ * (`bundle_unavailable`, `pin_mismatch`, `not_authorized`) describe the reader's environment or
26
+ * access, and a check must not blame the document for them.
27
+ */
28
+ export declare const RECORD_REASONS: readonly UnresolvedReason[];
29
+ export declare function isRecordReason(reason: UnresolvedReason): boolean;
30
+ /** The one detail every `not_authorized` result carries, so it says nothing about the target. */
31
+ export declare const NOT_AUTHORIZED_DETAIL = "the reader is not authorized to read this bundle";
32
+ export type Resolution = {
33
+ state: "resolved";
34
+ ref: QualifiedRef;
35
+ bundle_id: string;
36
+ /** A backend-defined revision of the bound copy, when it has one. The local resolver sets none. */
37
+ revision?: string;
38
+ document: OkfDocument;
39
+ version: Version;
40
+ } | {
41
+ state: "unresolved";
42
+ /** Null when the ref itself is malformed. */
43
+ ref: QualifiedRef | null;
44
+ href: string;
45
+ reason: UnresolvedReason;
46
+ /** Only ever the id from the reader's own declaration. */
47
+ bundle_id?: string;
48
+ detail: string;
49
+ };
50
+ /** A link into a target document from a bundle the reader may read. */
51
+ export interface CrossBacklink {
52
+ from: {
53
+ bundle_id: string;
54
+ id: ConceptId;
55
+ };
56
+ text: string;
57
+ href: string;
58
+ }
59
+ /**
60
+ * Resolves `okf://` refs for ONE reader.
61
+ *
62
+ * Authorization invariants, binding on every implementation (local, hosted, any future one):
63
+ *
64
+ * 1. A resolver is built for one reader. Grants are a constructor concern, never a method
65
+ * parameter.
66
+ * 2. The grant check comes first. For a reader without a grant on the target bundle, the answer is
67
+ * `not_authorized` before any "bundle not found", "document not found" or `pin_mismatch`, and
68
+ * before any revision or version is disclosed.
69
+ * 3. `not_authorized` results for a present target and for a missing target are deep-equal, with
70
+ * the fixed detail {@link NOT_AUTHORIZED_DETAIL}. Their `bundle_id` comes only from the
71
+ * reader's own declaration.
72
+ * 4. `backlinks()` returns only hits in readable bundles, and never names or counts the others.
73
+ *
74
+ * The local resolver reads only copies the reader bound explicitly, so it never answers
75
+ * `not_authorized`.
76
+ */
77
+ export interface BundleResolver {
78
+ /** `"local"` here; `"hosted"` later. */
79
+ readonly kind: string;
80
+ readonly dependencies: DependencyMap;
81
+ /** Batched and positional: `result[i]` answers `refs[i]`. */
82
+ resolve(refs: readonly QualifiedRef[]): Promise<Resolution[]>;
83
+ backlinks(target: {
84
+ bundle_id: string;
85
+ id: ConceptId;
86
+ }, options?: {
87
+ text?: string;
88
+ }): Promise<CrossBacklink[]>;
89
+ }
90
+ export interface CommitPin {
91
+ kind: "commit";
92
+ value: string;
93
+ }
94
+ /** Whether a bound copy is at a commit pin. Injected by the caller (the CLI checks the bundle's git subtree). */
95
+ export type PinCheck = (pin: CommitPin) => Promise<{
96
+ ok: true;
97
+ } | {
98
+ ok: false;
99
+ detail: string;
100
+ }>;
101
+ export interface BundleBinding {
102
+ backend: StorageBackend;
103
+ /** How the caller named the copy (a path or catalog label), for messages. */
104
+ label: string;
105
+ /** The bound copy's own portable id. Absent or different from the declaration: `bundle_unavailable`. */
106
+ identity?: string;
107
+ /** Required to satisfy a commit pin; without it a pinned dependency is `pin_mismatch`. */
108
+ pin?: PinCheck;
109
+ }
110
+ export interface LocalResolverOptions {
111
+ dependencies: DependencyMap;
112
+ /** `ParsedDependencies.rejected`: declared aliases whose entry was dropped, for the detail. */
113
+ rejected?: ReadonlyMap<string, DependencyProblemCode>;
114
+ bindings: ReadonlyMap<string, BundleBinding>;
115
+ }
116
+ /**
117
+ * The local resolver: each alias reads through the backend the caller bound to it. One
118
+ * delete-tolerant batch read per alias per `resolve` call. When a batch names a missing target,
119
+ * a backend whose `readMany` fails on the absent id (as the shipped backends do) costs one extra
120
+ * `read()` per id in that alias's batch, through `readManyExisting`'s per-id fallback.
121
+ *
122
+ * `backlinks()` always returns `[]`: a local reader has no index of who links into a bundle, and
123
+ * scanning other bound copies for inbound links is deferred until something needs it.
124
+ */
125
+ export declare function createLocalResolver(options: LocalResolverOptions): BundleResolver;
126
+ export interface QualifiedLinkResolution {
127
+ link: QualifiedLink;
128
+ resolution: Resolution;
129
+ }
130
+ /**
131
+ * Resolve parsed links (from {@link parseQualifiedLinks}) in one `resolve` call. A malformed href
132
+ * is `invalid_ref` here without reaching the resolver, and carries the parser's detail.
133
+ */
134
+ export declare function resolveQualifiedLinks(resolver: BundleResolver, links: readonly QualifiedLink[]): Promise<QualifiedLinkResolution[]>;
135
+ //# sourceMappingURL=cross-bundle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross-bundle.d.ts","sourceRoot":"","sources":["../src/cross-bundle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,186 @@
1
+ /**
2
+ * Cross-bundle link resolution: the resolver interface every backend implements, and the local
3
+ * resolver over explicitly bound {@link StorageBackend}s.
4
+ *
5
+ * Resolution is always explicit. A resolver reads only the copies it was constructed with; nothing
6
+ * is fetched or discovered. Browser-safe: bindings are backends, never filesystem paths, and pin
7
+ * checks are injected (the CLI probes git; core never spawns a process).
8
+ */
9
+ import { readManyExisting } from "./engine.js";
10
+ import { InvalidInputError } from "./errors.js";
11
+ import { qualifiedHref } from "./qualified-links.js";
12
+ export const UNRESOLVED_REASONS = Object.freeze([
13
+ "bundle_unavailable",
14
+ "pin_mismatch",
15
+ "target_missing",
16
+ "not_authorized",
17
+ "unknown_alias",
18
+ "invalid_ref",
19
+ ]);
20
+ /**
21
+ * The reasons that are the referring document's fault (fix the link or the target). The others
22
+ * (`bundle_unavailable`, `pin_mismatch`, `not_authorized`) describe the reader's environment or
23
+ * access, and a check must not blame the document for them.
24
+ */
25
+ export const RECORD_REASONS = Object.freeze([
26
+ "target_missing",
27
+ "unknown_alias",
28
+ "invalid_ref",
29
+ ]);
30
+ export function isRecordReason(reason) {
31
+ return RECORD_REASONS.includes(reason);
32
+ }
33
+ /** The one detail every `not_authorized` result carries, so it says nothing about the target. */
34
+ export const NOT_AUTHORIZED_DETAIL = "the reader is not authorized to read this bundle";
35
+ function hrefOf(ref) {
36
+ try {
37
+ return { href: qualifiedHref(ref), valid: true };
38
+ }
39
+ catch (error) {
40
+ if (error instanceof InvalidInputError)
41
+ return { href: `okf://${ref.alias}/${ref.id}.md`, valid: false };
42
+ throw error;
43
+ }
44
+ }
45
+ function errorDetail(error) {
46
+ return error instanceof Error ? error.message : String(error);
47
+ }
48
+ /** The per-alias verdict before any document is read: null when the copy may be read. */
49
+ async function bindingVerdict(entry, binding) {
50
+ if (!binding)
51
+ return { reason: "bundle_unavailable", detail: `no copy of '${entry.bundle_id}' is bound for alias '${entry.alias}'` };
52
+ if (binding.identity === undefined) {
53
+ return { reason: "bundle_unavailable", detail: `${binding.label} declares no bundle_id; expected '${entry.bundle_id}'` };
54
+ }
55
+ if (binding.identity !== entry.bundle_id) {
56
+ return { reason: "bundle_unavailable", detail: `${binding.label} is '${binding.identity}', not '${entry.bundle_id}'` };
57
+ }
58
+ const pin = entry.pin;
59
+ if (!pin)
60
+ return null;
61
+ if (pin.kind === "digest")
62
+ return { reason: "pin_mismatch", detail: "digest pins are verified by a hosted resolver" };
63
+ if (!binding.pin)
64
+ return { reason: "pin_mismatch", detail: `no pin check is available for ${binding.label}` };
65
+ try {
66
+ const verdict = await binding.pin({ kind: "commit", value: pin.value });
67
+ return verdict.ok ? null : { reason: "pin_mismatch", detail: verdict.detail };
68
+ }
69
+ catch (error) {
70
+ return { reason: "pin_mismatch", detail: `pin check failed: ${errorDetail(error)}` };
71
+ }
72
+ }
73
+ /**
74
+ * The local resolver: each alias reads through the backend the caller bound to it. One
75
+ * delete-tolerant batch read per alias per `resolve` call. When a batch names a missing target,
76
+ * a backend whose `readMany` fails on the absent id (as the shipped backends do) costs one extra
77
+ * `read()` per id in that alias's batch, through `readManyExisting`'s per-id fallback.
78
+ *
79
+ * `backlinks()` always returns `[]`: a local reader has no index of who links into a bundle, and
80
+ * scanning other bound copies for inbound links is deferred until something needs it.
81
+ */
82
+ export function createLocalResolver(options) {
83
+ const { dependencies, bindings, rejected } = options;
84
+ return {
85
+ kind: "local",
86
+ dependencies,
87
+ async resolve(refs) {
88
+ const out = new Array(refs.length);
89
+ const unresolved = (i, ref, href, reason, detail, bundleId) => {
90
+ const row = { state: "unresolved", ref, href, reason, detail };
91
+ if (bundleId !== undefined)
92
+ row.bundle_id = bundleId;
93
+ out[i] = row;
94
+ };
95
+ // alias -> indexes of the refs that reached the read stage
96
+ const pending = new Map();
97
+ const verdicts = new Map();
98
+ const hrefs = [];
99
+ for (let i = 0; i < refs.length; i++) {
100
+ const ref = refs[i];
101
+ const { href, valid } = hrefOf(ref);
102
+ hrefs[i] = href;
103
+ if (!valid) {
104
+ unresolved(i, null, href, "invalid_ref", "not a valid cross-bundle target");
105
+ continue;
106
+ }
107
+ const entry = dependencies.get(ref.alias);
108
+ if (!entry) {
109
+ const code = rejected?.get(ref.alias);
110
+ unresolved(i, ref, href, "unknown_alias", code === undefined
111
+ ? `alias '${ref.alias}' is not declared in docs/dependencies`
112
+ : `alias '${ref.alias}' is declared but rejected (${code})`);
113
+ continue;
114
+ }
115
+ if (!verdicts.has(ref.alias))
116
+ verdicts.set(ref.alias, bindingVerdict(entry, bindings.get(ref.alias)));
117
+ const indexes = pending.get(ref.alias) ?? [];
118
+ indexes.push(i);
119
+ pending.set(ref.alias, indexes);
120
+ }
121
+ for (const [alias, indexes] of pending) {
122
+ const entry = dependencies.get(alias);
123
+ const verdict = await verdicts.get(alias);
124
+ if (verdict) {
125
+ for (const i of indexes)
126
+ unresolved(i, refs[i], hrefs[i], verdict.reason, verdict.detail, entry.bundle_id);
127
+ continue;
128
+ }
129
+ const binding = bindings.get(alias);
130
+ const ids = [...new Set(indexes.map((i) => refs[i].id))];
131
+ const malformed = new Map();
132
+ let found;
133
+ try {
134
+ const results = await readManyExisting(binding.backend, ids, (skip) => malformed.set(skip.id, skip.reason));
135
+ found = new Map(results.map((result) => [result.doc.id, result]));
136
+ }
137
+ catch (error) {
138
+ const detail = `${binding.label} could not be read: ${errorDetail(error)}`;
139
+ for (const i of indexes)
140
+ unresolved(i, refs[i], hrefs[i], "bundle_unavailable", detail, entry.bundle_id);
141
+ continue;
142
+ }
143
+ for (const i of indexes) {
144
+ const ref = refs[i];
145
+ const hit = found.get(ref.id);
146
+ if (hit) {
147
+ out[i] = { state: "resolved", ref, bundle_id: entry.bundle_id, document: hit.doc, version: hit.version };
148
+ }
149
+ else {
150
+ const why = malformed.get(ref.id);
151
+ const detail = why === undefined
152
+ ? `'${ref.id}' is not in ${binding.label}`
153
+ : `'${ref.id}' in ${binding.label} is malformed: ${why}`;
154
+ unresolved(i, ref, hrefs[i], "target_missing", detail, entry.bundle_id);
155
+ }
156
+ }
157
+ }
158
+ return out;
159
+ },
160
+ async backlinks() {
161
+ return [];
162
+ },
163
+ };
164
+ }
165
+ /**
166
+ * Resolve parsed links (from {@link parseQualifiedLinks}) in one `resolve` call. A malformed href
167
+ * is `invalid_ref` here without reaching the resolver, and carries the parser's detail.
168
+ */
169
+ export async function resolveQualifiedLinks(resolver, links) {
170
+ const refs = [];
171
+ for (const link of links)
172
+ if (link.ref)
173
+ refs.push(link.ref);
174
+ const resolved = await resolver.resolve(refs);
175
+ let next = 0;
176
+ return links.map((link) => {
177
+ if (!link.ref) {
178
+ return {
179
+ link,
180
+ resolution: { state: "unresolved", ref: null, href: link.href, reason: "invalid_ref", detail: link.detail ?? "malformed cross-bundle link" },
181
+ };
182
+ }
183
+ return { link, resolution: resolved[next++] };
184
+ });
185
+ }
186
+ //# sourceMappingURL=cross-bundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross-bundle.js","sourceRoot":"","sources":["../src/cross-bundle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,94 @@
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
+ import type { OkfDocument } from "./types.js";
13
+ /** True when `id` is a portable bundle id (the hosted bundle-id grammar). */
14
+ export declare function isHostedBundleId(id: string): boolean;
15
+ /**
16
+ * The well-known concept id carrying a bundle's explicit display name and portable id. NOT the
17
+ * bundle-root `index.md` — OKF §3.1 reserves that file's frontmatter solely for `okf_version`, so
18
+ * the name needs its own small doc.
19
+ */
20
+ export declare const BUNDLE_NAME_DOC_ID = "docs/bundle";
21
+ /**
22
+ * The ownership marker: `docs/bundle` speaks for the bundle ONLY when it carries exactly this
23
+ * `type`. A `docs/bundle` doc of any other type is an ordinary document and is ignored, so an
24
+ * unrelated pre-existing doc is never appropriated as the bundle's name or id.
25
+ */
26
+ export declare const BUNDLE_NAME_DOC_TYPE = "Bundle Name";
27
+ /**
28
+ * The bundle's self-declared portable id: `bundle_id` in `docs/bundle` under the marker type, when
29
+ * it satisfies {@link isHostedBundleId}. Anything else (absent doc, other type, missing or
30
+ * malformed id) is `undefined`; the caller decides what a bundle without a declared id means.
31
+ */
32
+ export declare function declaredBundleId(doc: OkfDocument | null | undefined): string | undefined;
33
+ export declare const DEPENDENCIES_DOC_ID = "docs/dependencies";
34
+ export declare const DEPENDENCIES_DOC_TYPE = "Bundle Dependencies";
35
+ /** The alias grammar shared by `okf://<alias>/…` hrefs, dependency keys and qualified Kind targets. */
36
+ export declare const BUNDLE_ALIAS: RegExp;
37
+ export declare function isBundleAlias(alias: string): boolean;
38
+ /**
39
+ * A dependency pin. Hex is lower-case only; an upper-case pin is rejected (`DEP_PIN`) rather than
40
+ * folded, so the declaration is the exact string git and a host compare. A `commit` pin (7-40 hex) is checked by an injected `PinCheck` against the
41
+ * bound copy's subtree. A `digest` pin (`sha256:<64 hex>`) parses, but only a hosted resolver can
42
+ * verify it; a local resolver fails it closed.
43
+ */
44
+ export type DependencyPin = {
45
+ kind: "commit";
46
+ value: string;
47
+ } | {
48
+ kind: "digest";
49
+ value: string;
50
+ };
51
+ export interface DependencyEntry {
52
+ alias: string;
53
+ bundle_id: string;
54
+ /** Where to get the bundle (git URL or `hosted:<host>/<bundle_id>`). Informational only. */
55
+ source?: string;
56
+ pin?: DependencyPin;
57
+ /** Relative to the declaring bundle's root; used only by an explicit `--with-deps`. */
58
+ path?: string;
59
+ }
60
+ /** Alias -> entry. A Map, so an alias such as `constructor` can never hit an inherited property. */
61
+ export type DependencyMap = ReadonlyMap<string, DependencyEntry>;
62
+ export type DependencyProblemCode = "DEP_TYPE" | "DEP_SHAPE" | "DEP_ALIAS" | "DEP_BUNDLE_ID" | "DEP_PIN" | "DEP_PATH_ABSOLUTE" | "DEP_DUPLICATE_BUNDLE" | "DEP_SELF" | "DEP_UNKNOWN_KEY" | "DEP_RESERVED_KEY";
63
+ export interface DependencyProblem {
64
+ code: DependencyProblemCode;
65
+ alias?: string;
66
+ detail: string;
67
+ }
68
+ export interface ParsedDependencies {
69
+ dependencies: DependencyMap;
70
+ problems: DependencyProblem[];
71
+ /**
72
+ * Aliases that are declared but whose entry was dropped, with the code that dropped it, so a
73
+ * link under one can say "declared but rejected" instead of "not declared".
74
+ */
75
+ rejected: ReadonlyMap<string, DependencyProblemCode>;
76
+ }
77
+ export interface ParseDependenciesOptions {
78
+ /** The declaring bundle's own id; an entry naming it is `DEP_SELF`. */
79
+ selfBundleId?: string;
80
+ }
81
+ /**
82
+ * Absolute under POSIX or win32 rules, or carrying a backslash. Pure string checks (no
83
+ * `node:path`) so the verdict is the same on every host: `/x`, `\x`, `\\server\share`, `C:\x`,
84
+ * `C:/x` and the drive-relative `C:x` are all refused.
85
+ */
86
+ export declare function isNonPortableDependencyPath(value: string): boolean;
87
+ /**
88
+ * Parse `docs/dependencies`. Never throws: every defect is a problem, and an entry whose alias,
89
+ * `bundle_id` or `pin` is unusable is dropped (fail closed: a link under it reads as
90
+ * `unknown_alias`, never as resolved against the wrong copy). An unusable `source` or `path` drops
91
+ * only that field. Unknown and reserved keys are reported and the entry is kept.
92
+ */
93
+ export declare function parseDependencies(doc: OkfDocument | null | undefined, options?: ParseDependenciesOptions): ParsedDependencies;
94
+ //# sourceMappingURL=dependencies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencies.d.ts","sourceRoot":"","sources":["../src/dependencies.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAY9C,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAEhD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,gBAAgB,CAAC;AAElD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAMxF;AAID,eAAO,MAAM,mBAAmB,sBAAsB,CAAC;AACvD,eAAO,MAAM,qBAAqB,wBAAwB,CAAC;AAE3D,uGAAuG;AACvG,eAAO,MAAM,YAAY,QAA2B,CAAC;AAErD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtC,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,4FAA4F;IAC5F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB,uFAAuF;IACvF,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,oGAAoG;AACpG,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAEjE,MAAM,MAAM,qBAAqB,GAC7B,UAAU,GACV,WAAW,GACX,WAAW,GACX,eAAe,GACf,SAAS,GACT,mBAAmB,GACnB,sBAAsB,GACtB,UAAU,GACV,iBAAiB,GACjB,kBAAkB,CAAC;AAEvB,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,aAAa,CAAC;IAC5B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B;;;OAGG;IACH,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,wBAAwB;IACvC,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAaD;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAElE;AASD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,EACnC,OAAO,GAAE,wBAA6B,GACrC,kBAAkB,CAyFpB"}