@mdbase-dev/sdk 0.0.0-stage → 0.1.0-beta.149

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 (900) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +844 -2
  3. package/dist/account-key.d.ts +176 -0
  4. package/dist/account-key.js +409 -0
  5. package/dist/account-key.js.map +1 -0
  6. package/dist/account.d.ts +11 -0
  7. package/dist/account.js +9 -0
  8. package/dist/account.js.map +1 -0
  9. package/dist/app-grant/client.d.ts +209 -0
  10. package/dist/app-grant/client.js +930 -0
  11. package/dist/app-grant/client.js.map +1 -0
  12. package/dist/app-grant/grant-store.d.ts +77 -0
  13. package/dist/app-grant/grant-store.js +201 -0
  14. package/dist/app-grant/grant-store.js.map +1 -0
  15. package/dist/app-grant/index.d.ts +11 -0
  16. package/dist/app-grant/index.js +10 -0
  17. package/dist/app-grant/index.js.map +1 -0
  18. package/dist/app-grant/native-completion.d.ts +22 -0
  19. package/dist/app-grant/native-completion.js +63 -0
  20. package/dist/app-grant/native-completion.js.map +1 -0
  21. package/dist/app-grant/people.d.ts +10 -0
  22. package/dist/app-grant/people.js +84 -0
  23. package/dist/app-grant/people.js.map +1 -0
  24. package/dist/app-grant/setup-attempt.d.ts +12 -0
  25. package/dist/app-grant/setup-attempt.js +62 -0
  26. package/dist/app-grant/setup-attempt.js.map +1 -0
  27. package/dist/app-grant/setup-producer.d.ts +31 -0
  28. package/dist/app-grant/setup-producer.js +65 -0
  29. package/dist/app-grant/setup-producer.js.map +1 -0
  30. package/dist/app-grant/setup.d.ts +11 -0
  31. package/dist/app-grant/setup.js +222 -0
  32. package/dist/app-grant/setup.js.map +1 -0
  33. package/dist/app-host/app-environment.d.ts +27 -0
  34. package/dist/app-host/app-environment.js +48 -0
  35. package/dist/app-host/app-environment.js.map +1 -0
  36. package/dist/app-host/app-origin.d.ts +7 -0
  37. package/dist/app-host/app-origin.js +49 -0
  38. package/dist/app-host/app-origin.js.map +1 -0
  39. package/dist/app-host/bases-pages.d.ts +29 -0
  40. package/dist/app-host/bases-pages.js +42 -0
  41. package/dist/app-host/bases-pages.js.map +1 -0
  42. package/dist/app-host/bases-wire.d.ts +159 -0
  43. package/dist/app-host/bases-wire.js +376 -0
  44. package/dist/app-host/bases-wire.js.map +1 -0
  45. package/dist/app-host/browser-direct-access.d.ts +18 -0
  46. package/dist/app-host/browser-direct-access.js +17 -0
  47. package/dist/app-host/browser-direct-access.js.map +1 -0
  48. package/dist/app-host/cloud-copy-bootstrap.d.ts +127 -0
  49. package/dist/app-host/cloud-copy-bootstrap.js +608 -0
  50. package/dist/app-host/cloud-copy-bootstrap.js.map +1 -0
  51. package/dist/app-host/cloud-copy-host.d.ts +248 -0
  52. package/dist/app-host/cloud-copy-host.js +1028 -0
  53. package/dist/app-host/cloud-copy-host.js.map +1 -0
  54. package/dist/app-host/cloud-copy-persistence-idb.d.ts +33 -0
  55. package/dist/app-host/cloud-copy-persistence-idb.js +255 -0
  56. package/dist/app-host/cloud-copy-persistence-idb.js.map +1 -0
  57. package/dist/app-host/cloud-copy-persistence.d.ts +57 -0
  58. package/dist/app-host/cloud-copy-persistence.js +341 -0
  59. package/dist/app-host/cloud-copy-persistence.js.map +1 -0
  60. package/dist/app-host/collection-control.d.ts +111 -0
  61. package/dist/app-host/collection-control.js +604 -0
  62. package/dist/app-host/collection-control.js.map +1 -0
  63. package/dist/app-host/collection-delete.d.ts +7 -0
  64. package/dist/app-host/collection-delete.js +54 -0
  65. package/dist/app-host/collection-delete.js.map +1 -0
  66. package/dist/app-host/collection-display-name.d.ts +2 -0
  67. package/dist/app-host/collection-display-name.js +22 -0
  68. package/dist/app-host/collection-display-name.js.map +1 -0
  69. package/dist/app-host/collection-join-ledger.d.ts +52 -0
  70. package/dist/app-host/collection-join-ledger.js +208 -0
  71. package/dist/app-host/collection-join-ledger.js.map +1 -0
  72. package/dist/app-host/collection-people.d.ts +32 -0
  73. package/dist/app-host/collection-people.js +119 -0
  74. package/dist/app-host/collection-people.js.map +1 -0
  75. package/dist/app-host/collection-readiness.d.ts +119 -0
  76. package/dist/app-host/collection-readiness.js +649 -0
  77. package/dist/app-host/collection-readiness.js.map +1 -0
  78. package/dist/app-host/collection-setup-journal.d.ts +59 -0
  79. package/dist/app-host/collection-setup-journal.js +813 -0
  80. package/dist/app-host/collection-setup-journal.js.map +1 -0
  81. package/dist/app-host/collection-setup-types.d.ts +155 -0
  82. package/dist/app-host/collection-setup-types.js +10 -0
  83. package/dist/app-host/collection-setup-types.js.map +1 -0
  84. package/dist/app-host/cp-authority.d.ts +65 -0
  85. package/dist/app-host/cp-authority.js +243 -0
  86. package/dist/app-host/cp-authority.js.map +1 -0
  87. package/dist/app-host/cp-people.d.ts +23 -0
  88. package/dist/app-host/cp-people.js +145 -0
  89. package/dist/app-host/cp-people.js.map +1 -0
  90. package/dist/app-host/cp-problem.d.ts +34 -0
  91. package/dist/app-host/cp-problem.js +114 -0
  92. package/dist/app-host/cp-problem.js.map +1 -0
  93. package/dist/app-host/device-key-custody.d.ts +51 -0
  94. package/dist/app-host/device-key-custody.js +128 -0
  95. package/dist/app-host/device-key-custody.js.map +1 -0
  96. package/dist/app-host/device-key-idb.d.ts +31 -0
  97. package/dist/app-host/device-key-idb.js +176 -0
  98. package/dist/app-host/device-key-idb.js.map +1 -0
  99. package/dist/app-host/device-key-provider.d.ts +33 -0
  100. package/dist/app-host/device-key-provider.js +181 -0
  101. package/dist/app-host/device-key-provider.js.map +1 -0
  102. package/dist/app-host/device-registration.d.ts +51 -0
  103. package/dist/app-host/device-registration.js +180 -0
  104. package/dist/app-host/device-registration.js.map +1 -0
  105. package/dist/app-host/foreground-wake.d.ts +43 -0
  106. package/dist/app-host/foreground-wake.js +113 -0
  107. package/dist/app-host/foreground-wake.js.map +1 -0
  108. package/dist/app-host/handover.d.ts +27 -0
  109. package/dist/app-host/handover.js +82 -0
  110. package/dist/app-host/handover.js.map +1 -0
  111. package/dist/app-host/http-log.d.ts +96 -0
  112. package/dist/app-host/http-log.js +609 -0
  113. package/dist/app-host/http-log.js.map +1 -0
  114. package/dist/app-host/index.d.ts +63 -0
  115. package/dist/app-host/index.js +33 -0
  116. package/dist/app-host/index.js.map +1 -0
  117. package/dist/app-host/initial-sync.d.ts +22 -0
  118. package/dist/app-host/initial-sync.js +41 -0
  119. package/dist/app-host/initial-sync.js.map +1 -0
  120. package/dist/app-host/installation-sign-in.d.ts +319 -0
  121. package/dist/app-host/installation-sign-in.js +1231 -0
  122. package/dist/app-host/installation-sign-in.js.map +1 -0
  123. package/dist/app-host/installation-store.d.ts +56 -0
  124. package/dist/app-host/installation-store.js +285 -0
  125. package/dist/app-host/installation-store.js.map +1 -0
  126. package/dist/app-host/ledger-rows.d.ts +3 -0
  127. package/dist/app-host/ledger-rows.js +23 -0
  128. package/dist/app-host/ledger-rows.js.map +1 -0
  129. package/dist/app-host/local-facade.d.ts +24 -0
  130. package/dist/app-host/local-facade.js +361 -0
  131. package/dist/app-host/local-facade.js.map +1 -0
  132. package/dist/app-host/log-pump.d.ts +124 -0
  133. package/dist/app-host/log-pump.js +326 -0
  134. package/dist/app-host/log-pump.js.map +1 -0
  135. package/dist/app-host/log-push.d.ts +90 -0
  136. package/dist/app-host/log-push.js +377 -0
  137. package/dist/app-host/log-push.js.map +1 -0
  138. package/dist/app-host/log-token-cache.d.ts +28 -0
  139. package/dist/app-host/log-token-cache.js +104 -0
  140. package/dist/app-host/log-token-cache.js.map +1 -0
  141. package/dist/app-host/native-sign-in.d.ts +27 -0
  142. package/dist/app-host/native-sign-in.js +12 -0
  143. package/dist/app-host/native-sign-in.js.map +1 -0
  144. package/dist/app-host/noise-custody.d.ts +62 -0
  145. package/dist/app-host/noise-custody.js +238 -0
  146. package/dist/app-host/noise-custody.js.map +1 -0
  147. package/dist/app-host/noise-idb.d.ts +33 -0
  148. package/dist/app-host/noise-idb.js +199 -0
  149. package/dist/app-host/noise-idb.js.map +1 -0
  150. package/dist/app-host/open-wait.d.ts +3 -0
  151. package/dist/app-host/open-wait.js +17 -0
  152. package/dist/app-host/open-wait.js.map +1 -0
  153. package/dist/app-host/opening-progress.d.ts +3 -0
  154. package/dist/app-host/opening-progress.js +5 -0
  155. package/dist/app-host/opening-progress.js.map +1 -0
  156. package/dist/app-host/owner.d.ts +103 -0
  157. package/dist/app-host/owner.js +262 -0
  158. package/dist/app-host/owner.js.map +1 -0
  159. package/dist/app-host/private-bootstrap.d.ts +78 -0
  160. package/dist/app-host/private-bootstrap.js +230 -0
  161. package/dist/app-host/private-bootstrap.js.map +1 -0
  162. package/dist/app-host/private-persistence-idb.d.ts +32 -0
  163. package/dist/app-host/private-persistence-idb.js +188 -0
  164. package/dist/app-host/private-persistence-idb.js.map +1 -0
  165. package/dist/app-host/private-persistence.d.ts +55 -0
  166. package/dist/app-host/private-persistence.js +257 -0
  167. package/dist/app-host/private-persistence.js.map +1 -0
  168. package/dist/app-host/scoped-sign-in-session.d.ts +49 -0
  169. package/dist/app-host/scoped-sign-in-session.js +243 -0
  170. package/dist/app-host/scoped-sign-in-session.js.map +1 -0
  171. package/dist/app-host/setup-engine.d.ts +14 -0
  172. package/dist/app-host/setup-engine.js +73 -0
  173. package/dist/app-host/setup-engine.js.map +1 -0
  174. package/dist/app-host/sign-out-erase.d.ts +37 -0
  175. package/dist/app-host/sign-out-erase.js +139 -0
  176. package/dist/app-host/sign-out-erase.js.map +1 -0
  177. package/dist/app-host/status.d.ts +62 -0
  178. package/dist/app-host/status.js +43 -0
  179. package/dist/app-host/status.js.map +1 -0
  180. package/dist/app-host/storage-probe.d.ts +46 -0
  181. package/dist/app-host/storage-probe.js +63 -0
  182. package/dist/app-host/storage-probe.js.map +1 -0
  183. package/dist/app-host/timer-port.d.ts +29 -0
  184. package/dist/app-host/timer-port.js +483 -0
  185. package/dist/app-host/timer-port.js.map +1 -0
  186. package/dist/app-host/wasm-runtime.d.ts +302 -0
  187. package/dist/app-host/wasm-runtime.js +1050 -0
  188. package/dist/app-host/wasm-runtime.js.map +1 -0
  189. package/dist/app-host/web-collection.d.ts +78 -0
  190. package/dist/app-host/web-collection.js +671 -0
  191. package/dist/app-host/web-collection.js.map +1 -0
  192. package/dist/app-host/web-sign-in-problem.d.ts +17 -0
  193. package/dist/app-host/web-sign-in-problem.js +59 -0
  194. package/dist/app-host/web-sign-in-problem.js.map +1 -0
  195. package/dist/app-host/web-sign-in-session.d.ts +367 -0
  196. package/dist/app-host/web-sign-in-session.js +1258 -0
  197. package/dist/app-host/web-sign-in-session.js.map +1 -0
  198. package/dist/app-storage/app-binary-index.d.ts +33 -0
  199. package/dist/app-storage/app-binary-index.js +274 -0
  200. package/dist/app-storage/app-binary-index.js.map +1 -0
  201. package/dist/app-storage/app-sqlite-index.d.ts +40 -0
  202. package/dist/app-storage/app-sqlite-index.js +102 -0
  203. package/dist/app-storage/app-sqlite-index.js.map +1 -0
  204. package/dist/app-storage/collection-sql.d.ts +39 -0
  205. package/dist/app-storage/collection-sql.js +93 -0
  206. package/dist/app-storage/collection-sql.js.map +1 -0
  207. package/dist/app-storage/index.d.ts +10 -0
  208. package/dist/app-storage/index.js +7 -0
  209. package/dist/app-storage/index.js.map +1 -0
  210. package/dist/app-storage/sqlite-index.d.ts +95 -0
  211. package/dist/app-storage/sqlite-index.js +280 -0
  212. package/dist/app-storage/sqlite-index.js.map +1 -0
  213. package/dist/application/asset-loader.d.ts +22 -0
  214. package/dist/application/asset-loader.js +130 -0
  215. package/dist/application/asset-loader.js.map +1 -0
  216. package/dist/application/asset-pins.json +24 -0
  217. package/dist/application/browser-capabilities.d.ts +48 -0
  218. package/dist/application/browser-capabilities.js +87 -0
  219. package/dist/application/browser-capabilities.js.map +1 -0
  220. package/dist/application/browser-selection.d.ts +58 -0
  221. package/dist/application/browser-selection.js +160 -0
  222. package/dist/application/browser-selection.js.map +1 -0
  223. package/dist/application/capabilities.d.ts +20 -0
  224. package/dist/application/capabilities.js +22 -0
  225. package/dist/application/capabilities.js.map +1 -0
  226. package/dist/application/collection-selection.d.ts +147 -0
  227. package/dist/application/collection-selection.js +351 -0
  228. package/dist/application/collection-selection.js.map +1 -0
  229. package/dist/application/configuration.d.ts +52 -0
  230. package/dist/application/configuration.js +568 -0
  231. package/dist/application/configuration.js.map +1 -0
  232. package/dist/application/declaration.d.ts +51 -0
  233. package/dist/application/declaration.js +100 -0
  234. package/dist/application/declaration.js.map +1 -0
  235. package/dist/application/entry.d.ts +343 -0
  236. package/dist/application/entry.js +945 -0
  237. package/dist/application/entry.js.map +1 -0
  238. package/dist/application/file-access.d.ts +55 -0
  239. package/dist/application/file-access.js +93 -0
  240. package/dist/application/file-access.js.map +1 -0
  241. package/dist/application/file-readiness.d.ts +16 -0
  242. package/dist/application/file-readiness.js +53 -0
  243. package/dist/application/file-readiness.js.map +1 -0
  244. package/dist/application/forgotten.d.ts +15 -0
  245. package/dist/application/forgotten.js +70 -0
  246. package/dist/application/forgotten.js.map +1 -0
  247. package/dist/application/front-door.d.ts +68 -0
  248. package/dist/application/front-door.js +66 -0
  249. package/dist/application/front-door.js.map +1 -0
  250. package/dist/application/local-build.d.ts +5 -0
  251. package/dist/application/local-build.js +22 -0
  252. package/dist/application/local-build.js.map +1 -0
  253. package/dist/application/manifest.d.ts +16 -0
  254. package/dist/application/manifest.js +31 -0
  255. package/dist/application/manifest.js.map +1 -0
  256. package/dist/application/native-assets.d.ts +25 -0
  257. package/dist/application/native-assets.js +29 -0
  258. package/dist/application/native-assets.js.map +1 -0
  259. package/dist/application/native-authorization-rpc.d.ts +23 -0
  260. package/dist/application/native-authorization-rpc.js +54 -0
  261. package/dist/application/native-authorization-rpc.js.map +1 -0
  262. package/dist/application/notification-readiness.d.ts +33 -0
  263. package/dist/application/notification-readiness.js +222 -0
  264. package/dist/application/notification-readiness.js.map +1 -0
  265. package/dist/application/packaged-assets.d.ts +5 -0
  266. package/dist/application/packaged-assets.js +55 -0
  267. package/dist/application/packaged-assets.js.map +1 -0
  268. package/dist/application/packaged-trust.d.ts +5 -0
  269. package/dist/application/packaged-trust.js +10 -0
  270. package/dist/application/packaged-trust.js.map +1 -0
  271. package/dist/application/people-readiness.d.ts +23 -0
  272. package/dist/application/people-readiness.js +213 -0
  273. package/dist/application/people-readiness.js.map +1 -0
  274. package/dist/application/phase.d.ts +108 -0
  275. package/dist/application/phase.js +113 -0
  276. package/dist/application/phase.js.map +1 -0
  277. package/dist/application/portal-reservation.d.ts +38 -0
  278. package/dist/application/portal-reservation.js +183 -0
  279. package/dist/application/portal-reservation.js.map +1 -0
  280. package/dist/application/private-collections.d.ts +114 -0
  281. package/dist/application/private-collections.js +415 -0
  282. package/dist/application/private-collections.js.map +1 -0
  283. package/dist/application/readiness.d.ts +59 -0
  284. package/dist/application/readiness.js +223 -0
  285. package/dist/application/readiness.js.map +1 -0
  286. package/dist/application/registration-refusal.d.ts +16 -0
  287. package/dist/application/registration-refusal.js +41 -0
  288. package/dist/application/registration-refusal.js.map +1 -0
  289. package/dist/application/registration.d.ts +26 -0
  290. package/dist/application/registration.js +372 -0
  291. package/dist/application/registration.js.map +1 -0
  292. package/dist/application/return-url.d.ts +1 -0
  293. package/dist/application/return-url.js +41 -0
  294. package/dist/application/return-url.js.map +1 -0
  295. package/dist/application/runtime.d.ts +107 -0
  296. package/dist/application/runtime.js +379 -0
  297. package/dist/application/runtime.js.map +1 -0
  298. package/dist/application/scope.d.ts +34 -0
  299. package/dist/application/scope.js +164 -0
  300. package/dist/application/scope.js.map +1 -0
  301. package/dist/application/session-hint.d.ts +21 -0
  302. package/dist/application/session-hint.js +87 -0
  303. package/dist/application/session-hint.js.map +1 -0
  304. package/dist/application/setup.d.ts +105 -0
  305. package/dist/application/setup.js +137 -0
  306. package/dist/application/setup.js.map +1 -0
  307. package/dist/application/sign-out.d.ts +17 -0
  308. package/dist/application/sign-out.js +28 -0
  309. package/dist/application/sign-out.js.map +1 -0
  310. package/dist/application/storage-scope.d.ts +8 -0
  311. package/dist/application/storage-scope.js +15 -0
  312. package/dist/application/storage-scope.js.map +1 -0
  313. package/dist/application/tabs.d.ts +98 -0
  314. package/dist/application/tabs.js +407 -0
  315. package/dist/application/tabs.js.map +1 -0
  316. package/dist/application/timer-criteria.d.ts +5 -0
  317. package/dist/application/timer-criteria.js +15 -0
  318. package/dist/application/timer-criteria.js.map +1 -0
  319. package/dist/application/ui-connections.d.ts +35 -0
  320. package/dist/application/ui-connections.js +129 -0
  321. package/dist/application/ui-connections.js.map +1 -0
  322. package/dist/application/worker-client.d.ts +59 -0
  323. package/dist/application/worker-client.js +381 -0
  324. package/dist/application/worker-client.js.map +1 -0
  325. package/dist/application/worker-host.d.ts +84 -0
  326. package/dist/application/worker-host.js +547 -0
  327. package/dist/application/worker-host.js.map +1 -0
  328. package/dist/application/worker-protocol.d.ts +40 -0
  329. package/dist/application/worker-protocol.js +83 -0
  330. package/dist/application/worker-protocol.js.map +1 -0
  331. package/dist/application/worker-session.d.ts +45 -0
  332. package/dist/application/worker-session.js +37 -0
  333. package/dist/application/worker-session.js.map +1 -0
  334. package/dist/application/worker.d.ts +1 -0
  335. package/dist/application/worker.js +34826 -0
  336. package/dist/application/worker.js.map +1 -0
  337. package/dist/attachment-wire.d.ts +15 -0
  338. package/dist/attachment-wire.js +47 -0
  339. package/dist/attachment-wire.js.map +1 -0
  340. package/dist/browser/mdbase-sdk.js +49392 -0
  341. package/dist/browser/mdbase-sdk.min.js +130 -0
  342. package/dist/browser.d.ts +4 -0
  343. package/dist/browser.js +5 -0
  344. package/dist/browser.js.map +1 -0
  345. package/dist/cbor.d.ts +52 -0
  346. package/dist/cbor.js +480 -0
  347. package/dist/cbor.js.map +1 -0
  348. package/dist/client.d.ts +656 -0
  349. package/dist/client.js +1962 -0
  350. package/dist/client.js.map +1 -0
  351. package/dist/codec.d.ts +82 -0
  352. package/dist/codec.js +388 -0
  353. package/dist/codec.js.map +1 -0
  354. package/dist/collection-availability.d.ts +34 -0
  355. package/dist/collection-availability.js +63 -0
  356. package/dist/collection-availability.js.map +1 -0
  357. package/dist/contract-query.d.ts +31 -0
  358. package/dist/contract-query.js +13 -0
  359. package/dist/contract-query.js.map +1 -0
  360. package/dist/contract-records.d.ts +51 -0
  361. package/dist/contract-records.js +14 -0
  362. package/dist/contract-records.js.map +1 -0
  363. package/dist/describe-error.d.ts +61 -0
  364. package/dist/describe-error.js +452 -0
  365. package/dist/describe-error.js.map +1 -0
  366. package/dist/errors.d.ts +65 -0
  367. package/dist/errors.js +94 -0
  368. package/dist/errors.js.map +1 -0
  369. package/dist/files.d.ts +147 -0
  370. package/dist/files.js +537 -0
  371. package/dist/files.js.map +1 -0
  372. package/dist/holds.d.ts +74 -0
  373. package/dist/holds.js +118 -0
  374. package/dist/holds.js.map +1 -0
  375. package/dist/index.d.ts +36 -0
  376. package/dist/index.js +22 -0
  377. package/dist/index.js.map +1 -0
  378. package/dist/keys.d.ts +40 -0
  379. package/dist/keys.js +181 -0
  380. package/dist/keys.js.map +1 -0
  381. package/dist/live.d.ts +38 -0
  382. package/dist/live.js +82 -0
  383. package/dist/live.js.map +1 -0
  384. package/dist/local-build.d.ts +9 -0
  385. package/dist/local-build.js +33 -0
  386. package/dist/local-build.js.map +1 -0
  387. package/dist/native/provenance.json +23 -0
  388. package/dist/native/runtime.wasm +0 -0
  389. package/dist/native/sqlite3.d.ts +5 -0
  390. package/dist/native/sqlite3.js +17392 -0
  391. package/dist/native/sqlite3.js.map +1 -0
  392. package/dist/native/sqlite3.wasm +0 -0
  393. package/dist/node.d.ts +63 -0
  394. package/dist/node.js +255 -0
  395. package/dist/node.js.map +1 -0
  396. package/dist/notifications.d.ts +95 -0
  397. package/dist/notifications.js +226 -0
  398. package/dist/notifications.js.map +1 -0
  399. package/dist/offline-shell-build.d.ts +25 -0
  400. package/dist/offline-shell-build.js +78 -0
  401. package/dist/offline-shell-build.js.map +1 -0
  402. package/dist/offline-shell-worker.d.ts +46 -0
  403. package/dist/offline-shell-worker.js +115 -0
  404. package/dist/offline-shell-worker.js.map +1 -0
  405. package/dist/people.d.ts +82 -0
  406. package/dist/people.js +199 -0
  407. package/dist/people.js.map +1 -0
  408. package/dist/presence.d.ts +21 -0
  409. package/dist/presence.js +109 -0
  410. package/dist/presence.js.map +1 -0
  411. package/dist/private-account.d.ts +197 -0
  412. package/dist/private-account.js +510 -0
  413. package/dist/private-account.js.map +1 -0
  414. package/dist/private.d.ts +55 -0
  415. package/dist/private.js +69 -0
  416. package/dist/private.js.map +1 -0
  417. package/dist/read-helpers.d.ts +32 -0
  418. package/dist/read-helpers.js +181 -0
  419. package/dist/read-helpers.js.map +1 -0
  420. package/dist/records/session.d.ts +60 -0
  421. package/dist/records/session.js +534 -0
  422. package/dist/records/session.js.map +1 -0
  423. package/dist/records/types.d.ts +76 -0
  424. package/dist/records/types.js +2 -0
  425. package/dist/records/types.js.map +1 -0
  426. package/dist/records/witness.d.ts +19 -0
  427. package/dist/records/witness.js +64 -0
  428. package/dist/records/witness.js.map +1 -0
  429. package/dist/records.d.ts +23 -0
  430. package/dist/records.js +234 -0
  431. package/dist/records.js.map +1 -0
  432. package/dist/runtime/wasm.d.ts +69 -0
  433. package/dist/runtime/wasm.js +274 -0
  434. package/dist/runtime/wasm.js.map +1 -0
  435. package/dist/runtime-wire.d.ts +71 -0
  436. package/dist/runtime-wire.js +71 -0
  437. package/dist/runtime-wire.js.map +1 -0
  438. package/dist/saved-views.d.ts +29 -0
  439. package/dist/saved-views.js +171 -0
  440. package/dist/saved-views.js.map +1 -0
  441. package/dist/semver.d.ts +22 -0
  442. package/dist/semver.js +63 -0
  443. package/dist/semver.js.map +1 -0
  444. package/dist/session.d.ts +65 -0
  445. package/dist/session.js +332 -0
  446. package/dist/session.js.map +1 -0
  447. package/dist/status.d.ts +46 -0
  448. package/dist/status.js +59 -0
  449. package/dist/status.js.map +1 -0
  450. package/dist/strength.d.ts +12 -0
  451. package/dist/strength.js +194 -0
  452. package/dist/strength.js.map +1 -0
  453. package/dist/testing/application.d.ts +59 -0
  454. package/dist/testing/application.js +230 -0
  455. package/dist/testing/application.js.map +1 -0
  456. package/dist/testing/index.d.ts +10 -0
  457. package/dist/testing/index.js +6 -0
  458. package/dist/testing/index.js.map +1 -0
  459. package/dist/testing/memory-contracts.d.ts +40 -0
  460. package/dist/testing/memory-contracts.js +127 -0
  461. package/dist/testing/memory-contracts.js.map +1 -0
  462. package/dist/testing/memory-replica.d.ts +191 -0
  463. package/dist/testing/memory-replica.js +1465 -0
  464. package/dist/testing/memory-replica.js.map +1 -0
  465. package/dist/testing/noise-server.d.ts +11 -0
  466. package/dist/testing/noise-server.js +65 -0
  467. package/dist/testing/noise-server.js.map +1 -0
  468. package/dist/testing/test-app.d.ts +93 -0
  469. package/dist/testing/test-app.js +140 -0
  470. package/dist/testing/test-app.js.map +1 -0
  471. package/dist/thin-client.d.ts +67 -0
  472. package/dist/thin-client.js +42 -0
  473. package/dist/thin-client.js.map +1 -0
  474. package/dist/timers.d.ts +158 -0
  475. package/dist/timers.js +258 -0
  476. package/dist/timers.js.map +1 -0
  477. package/dist/transport/bases-rpc.d.ts +15 -0
  478. package/dist/transport/bases-rpc.js +61 -0
  479. package/dist/transport/bases-rpc.js.map +1 -0
  480. package/dist/transport/control-route.d.ts +34 -0
  481. package/dist/transport/control-route.js +84 -0
  482. package/dist/transport/control-route.js.map +1 -0
  483. package/dist/transport/inprocess.d.ts +13 -0
  484. package/dist/transport/inprocess.js +37 -0
  485. package/dist/transport/inprocess.js.map +1 -0
  486. package/dist/transport/local-link.d.ts +53 -0
  487. package/dist/transport/local-link.js +66 -0
  488. package/dist/transport/local-link.js.map +1 -0
  489. package/dist/transport/next-relay.d.ts +64 -0
  490. package/dist/transport/next-relay.js +222 -0
  491. package/dist/transport/next-relay.js.map +1 -0
  492. package/dist/transport/noise-session.d.ts +88 -0
  493. package/dist/transport/noise-session.js +264 -0
  494. package/dist/transport/noise-session.js.map +1 -0
  495. package/dist/transport/noise.d.ts +102 -0
  496. package/dist/transport/noise.js +307 -0
  497. package/dist/transport/noise.js.map +1 -0
  498. package/dist/transport/original-session.d.ts +6 -0
  499. package/dist/transport/original-session.js +6 -0
  500. package/dist/transport/original-session.js.map +1 -0
  501. package/dist/transport/port.d.ts +67 -0
  502. package/dist/transport/port.js +184 -0
  503. package/dist/transport/port.js.map +1 -0
  504. package/dist/transport/read-fence-policy.d.ts +3 -0
  505. package/dist/transport/read-fence-policy.js +11 -0
  506. package/dist/transport/read-fence-policy.js.map +1 -0
  507. package/dist/transport/relay-close.d.ts +31 -0
  508. package/dist/transport/relay-close.js +23 -0
  509. package/dist/transport/relay-close.js.map +1 -0
  510. package/dist/transport/relay-pipe.d.ts +15 -0
  511. package/dist/transport/relay-pipe.js +190 -0
  512. package/dist/transport/relay-pipe.js.map +1 -0
  513. package/dist/transport/relay.d.ts +36 -0
  514. package/dist/transport/relay.js +45 -0
  515. package/dist/transport/relay.js.map +1 -0
  516. package/dist/type-packs.d.ts +124 -0
  517. package/dist/type-packs.js +188 -0
  518. package/dist/type-packs.js.map +1 -0
  519. package/dist/validation.d.ts +30 -0
  520. package/dist/validation.js +125 -0
  521. package/dist/validation.js.map +1 -0
  522. package/dist/values.d.ts +37 -0
  523. package/dist/values.js +133 -0
  524. package/dist/values.js.map +1 -0
  525. package/dist/view-sources.d.ts +31 -0
  526. package/dist/view-sources.js +78 -0
  527. package/dist/view-sources.js.map +1 -0
  528. package/dist/wire.d.ts +856 -0
  529. package/dist/wire.js +914 -0
  530. package/dist/wire.js.map +1 -0
  531. package/dist/witness.d.ts +7 -0
  532. package/dist/witness.js +82 -0
  533. package/dist/witness.js.map +1 -0
  534. package/dist/write-ledger.d.ts +41 -0
  535. package/dist/write-ledger.js +184 -0
  536. package/dist/write-ledger.js.map +1 -0
  537. package/node_modules/@mdbase-dev/connect-protocol/dist/application-authorization.d.ts +32 -0
  538. package/node_modules/@mdbase-dev/connect-protocol/dist/application-authorization.js +207 -0
  539. package/node_modules/@mdbase-dev/connect-protocol/dist/application-contract.d.ts +23 -0
  540. package/node_modules/@mdbase-dev/connect-protocol/dist/application-contract.js +76 -0
  541. package/node_modules/@mdbase-dev/connect-protocol/dist/application-declaration.d.ts +120 -0
  542. package/node_modules/@mdbase-dev/connect-protocol/dist/application-declaration.js +1 -0
  543. package/node_modules/@mdbase-dev/connect-protocol/dist/authorization-errors.d.ts +34 -0
  544. package/node_modules/@mdbase-dev/connect-protocol/dist/authorization-errors.js +52 -0
  545. package/node_modules/@mdbase-dev/connect-protocol/dist/capabilities.d.ts +73 -0
  546. package/node_modules/@mdbase-dev/connect-protocol/dist/capabilities.js +92 -0
  547. package/node_modules/@mdbase-dev/connect-protocol/dist/change-events.generated.d.ts +48 -0
  548. package/node_modules/@mdbase-dev/connect-protocol/dist/change-events.generated.js +18 -0
  549. package/node_modules/@mdbase-dev/connect-protocol/dist/collection-setup.d.ts +93 -0
  550. package/node_modules/@mdbase-dev/connect-protocol/dist/collection-setup.js +7 -0
  551. package/node_modules/@mdbase-dev/connect-protocol/dist/compatibility.d.ts +37 -0
  552. package/node_modules/@mdbase-dev/connect-protocol/dist/compatibility.js +65 -0
  553. package/node_modules/@mdbase-dev/connect-protocol/dist/connect-problems.generated.d.ts +1533 -0
  554. package/node_modules/@mdbase-dev/connect-protocol/dist/connect-problems.generated.js +598 -0
  555. package/node_modules/@mdbase-dev/connect-protocol/dist/files.d.ts +288 -0
  556. package/node_modules/@mdbase-dev/connect-protocol/dist/files.js +426 -0
  557. package/node_modules/@mdbase-dev/connect-protocol/dist/index.d.ts +723 -0
  558. package/node_modules/@mdbase-dev/connect-protocol/dist/index.js +104 -0
  559. package/node_modules/@mdbase-dev/connect-protocol/dist/manifest-validators.generated.d.ts +13 -0
  560. package/node_modules/@mdbase-dev/connect-protocol/dist/manifest-validators.generated.js +7940 -0
  561. package/node_modules/@mdbase-dev/connect-protocol/dist/manifest.d.ts +72 -0
  562. package/node_modules/@mdbase-dev/connect-protocol/dist/manifest.js +643 -0
  563. package/node_modules/@mdbase-dev/connect-protocol/dist/mutation-fingerprint.d.ts +6 -0
  564. package/node_modules/@mdbase-dev/connect-protocol/dist/mutation-fingerprint.js +116 -0
  565. package/node_modules/@mdbase-dev/connect-protocol/dist/next-authorization.d.ts +30 -0
  566. package/node_modules/@mdbase-dev/connect-protocol/dist/next-authorization.js +90 -0
  567. package/node_modules/@mdbase-dev/connect-protocol/dist/operations.d.ts +15 -0
  568. package/node_modules/@mdbase-dev/connect-protocol/dist/operations.js +196 -0
  569. package/node_modules/@mdbase-dev/connect-protocol/dist/people.d.ts +33 -0
  570. package/node_modules/@mdbase-dev/connect-protocol/dist/people.js +26 -0
  571. package/node_modules/@mdbase-dev/connect-protocol/dist/records.d.ts +108 -0
  572. package/node_modules/@mdbase-dev/connect-protocol/dist/records.js +3 -0
  573. package/node_modules/@mdbase-dev/connect-protocol/dist/type-packs.d.ts +154 -0
  574. package/node_modules/@mdbase-dev/connect-protocol/dist/type-packs.js +30 -0
  575. package/node_modules/@mdbase-dev/connect-protocol/package.json +49 -0
  576. package/node_modules/@mdbase-dev/connect-protocol/schemas/application-capability-catalog.v1.json +40 -0
  577. package/node_modules/@mdbase-dev/connect-protocol/schemas/application-capability-catalog.v2.json +68 -0
  578. package/node_modules/@mdbase-dev/connect-protocol/schemas/catalog.json +17 -0
  579. package/node_modules/@mdbase-dev/connect-protocol/schemas/change-events.v1.json +48 -0
  580. package/node_modules/@mdbase-dev/connect-protocol/schemas/connect-problem.v1.schema.json +5665 -0
  581. package/node_modules/@mdbase-dev/connect-protocol/schemas/connect-problems.v1.catalog.json +373 -0
  582. package/node_modules/@mdbase-dev/connect-protocol/schemas/connect-protocol.v1.schema.json +901 -0
  583. package/node_modules/@mdbase-dev/connect-protocol/schemas/data-contract.schema.json +163 -0
  584. package/node_modules/@mdbase-dev/connect-protocol/schemas/encrypted-relay.v1.schema.json +63 -0
  585. package/node_modules/@mdbase-dev/connect-protocol/schemas/encrypted-relay.v2.schema.json +63 -0
  586. package/node_modules/@mdbase-dev/connect-protocol/schemas/encrypted-relay.v3.schema.json +64 -0
  587. package/node_modules/@mdbase-dev/connect-protocol/schemas/files.v1.schema.json +551 -0
  588. package/node_modules/@mdbase-dev/connect-protocol/schemas/interop/v0.1/action-cancellation.schema.json +6 -0
  589. package/node_modules/@mdbase-dev/connect-protocol/schemas/interop/v0.1/action-invocation.schema.json +6 -0
  590. package/node_modules/@mdbase-dev/connect-protocol/schemas/interop/v0.1/action-outcome.schema.json +6 -0
  591. package/node_modules/@mdbase-dev/connect-protocol/schemas/interop/v0.1/action-provider-declaration.schema.json +6 -0
  592. package/node_modules/@mdbase-dev/connect-protocol/schemas/interop/v0.1/action-request.schema.json +6 -0
  593. package/node_modules/@mdbase-dev/connect-protocol/schemas/interop/v0.1/conformance-claim.schema.json +6 -0
  594. package/node_modules/@mdbase-dev/connect-protocol/schemas/interop/v0.1/event-source-declaration.schema.json +6 -0
  595. package/node_modules/@mdbase-dev/connect-protocol/schemas/interop/v0.1/event.schema.json +6 -0
  596. package/node_modules/@mdbase-dev/connect-protocol/schemas/interop/v0.1/profile.schema.json +456 -0
  597. package/node_modules/@mdbase-dev/connect-protocol/schemas/mdbase-app.legacy-v1.schema.json +430 -0
  598. package/node_modules/@mdbase-dev/connect-protocol/schemas/mdbase-app.schema.json +437 -0
  599. package/node_modules/@mdbase-dev/connect-protocol/schemas/mdbase-query.v0.3.schema.json +176 -0
  600. package/node_modules/@mdbase-dev/connect-protocol/schemas/next-trust.v1.schema.json +54 -0
  601. package/node_modules/@mdbase-dev/connect-protocol/schemas/notification-webhook.v1.schema.json +56 -0
  602. package/node_modules/@mdbase-dev/connect-protocol/schemas/operation-catalog.v1.json +43 -0
  603. package/node_modules/@mdbase-dev/connect-protocol/schemas/operation-mutation-classification.v1.json +554 -0
  604. package/node_modules/@mdbase-dev/connect-protocol/schemas/sync.v1.schema.json +483 -0
  605. package/node_modules/@noble/hashes/LICENSE +21 -0
  606. package/node_modules/@noble/hashes/README.md +478 -0
  607. package/node_modules/@noble/hashes/_blake.d.ts +20 -0
  608. package/node_modules/@noble/hashes/_blake.js +59 -0
  609. package/node_modules/@noble/hashes/_md.d.ts +95 -0
  610. package/node_modules/@noble/hashes/_md.js +209 -0
  611. package/node_modules/@noble/hashes/_u64.d.ts +36 -0
  612. package/node_modules/@noble/hashes/_u64.js +77 -0
  613. package/node_modules/@noble/hashes/argon2.d.ts +148 -0
  614. package/node_modules/@noble/hashes/argon2.js +577 -0
  615. package/node_modules/@noble/hashes/blake1.d.ts +162 -0
  616. package/node_modules/@noble/hashes/blake1.js +630 -0
  617. package/node_modules/@noble/hashes/blake2.d.ts +203 -0
  618. package/node_modules/@noble/hashes/blake2.js +573 -0
  619. package/node_modules/@noble/hashes/blake3.d.ts +68 -0
  620. package/node_modules/@noble/hashes/blake3.js +310 -0
  621. package/node_modules/@noble/hashes/eskdf.d.ts +91 -0
  622. package/node_modules/@noble/hashes/eskdf.js +225 -0
  623. package/node_modules/@noble/hashes/hkdf.d.ts +70 -0
  624. package/node_modules/@noble/hashes/hkdf.js +152 -0
  625. package/node_modules/@noble/hashes/hmac.d.ts +50 -0
  626. package/node_modules/@noble/hashes/hmac.js +93 -0
  627. package/node_modules/@noble/hashes/index.d.ts +1 -0
  628. package/node_modules/@noble/hashes/index.js +34 -0
  629. package/node_modules/@noble/hashes/legacy.d.ts +107 -0
  630. package/node_modules/@noble/hashes/legacy.js +348 -0
  631. package/node_modules/@noble/hashes/package.json +91 -0
  632. package/node_modules/@noble/hashes/pbkdf2.d.ts +66 -0
  633. package/node_modules/@noble/hashes/pbkdf2.js +176 -0
  634. package/node_modules/@noble/hashes/scrypt.d.ts +98 -0
  635. package/node_modules/@noble/hashes/scrypt.js +304 -0
  636. package/node_modules/@noble/hashes/sha2.d.ts +176 -0
  637. package/node_modules/@noble/hashes/sha2.js +446 -0
  638. package/node_modules/@noble/hashes/sha3-addons.d.ts +533 -0
  639. package/node_modules/@noble/hashes/sha3-addons.js +973 -0
  640. package/node_modules/@noble/hashes/sha3.d.ts +208 -0
  641. package/node_modules/@noble/hashes/sha3.js +475 -0
  642. package/node_modules/@noble/hashes/src/_blake.ts +67 -0
  643. package/node_modules/@noble/hashes/src/_md.ts +227 -0
  644. package/node_modules/@noble/hashes/src/_u64.ts +111 -0
  645. package/node_modules/@noble/hashes/src/argon2.ts +693 -0
  646. package/node_modules/@noble/hashes/src/blake1.ts +677 -0
  647. package/node_modules/@noble/hashes/src/blake2.ts +648 -0
  648. package/node_modules/@noble/hashes/src/blake3.ts +344 -0
  649. package/node_modules/@noble/hashes/src/eskdf.ts +265 -0
  650. package/node_modules/@noble/hashes/src/hkdf.ts +161 -0
  651. package/node_modules/@noble/hashes/src/hmac.ts +130 -0
  652. package/node_modules/@noble/hashes/src/index.ts +33 -0
  653. package/node_modules/@noble/hashes/src/legacy.ts +361 -0
  654. package/node_modules/@noble/hashes/src/pbkdf2.ts +219 -0
  655. package/node_modules/@noble/hashes/src/scrypt.ts +375 -0
  656. package/node_modules/@noble/hashes/src/sha2.ts +486 -0
  657. package/node_modules/@noble/hashes/src/sha3-addons.ts +1157 -0
  658. package/node_modules/@noble/hashes/src/sha3.ts +525 -0
  659. package/node_modules/@noble/hashes/src/utils.ts +978 -0
  660. package/node_modules/@noble/hashes/src/webcrypto.ts +283 -0
  661. package/node_modules/@noble/hashes/utils.d.ts +560 -0
  662. package/node_modules/@noble/hashes/utils.js +687 -0
  663. package/node_modules/@noble/hashes/webcrypto.d.ts +121 -0
  664. package/node_modules/@noble/hashes/webcrypto.js +228 -0
  665. package/node_modules/yaml/LICENSE +13 -0
  666. package/node_modules/yaml/README.md +172 -0
  667. package/node_modules/yaml/bin.mjs +11 -0
  668. package/node_modules/yaml/browser/dist/compose/compose-collection.js +88 -0
  669. package/node_modules/yaml/browser/dist/compose/compose-doc.js +43 -0
  670. package/node_modules/yaml/browser/dist/compose/compose-node.js +109 -0
  671. package/node_modules/yaml/browser/dist/compose/compose-scalar.js +86 -0
  672. package/node_modules/yaml/browser/dist/compose/composer.js +219 -0
  673. package/node_modules/yaml/browser/dist/compose/resolve-block-map.js +115 -0
  674. package/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +198 -0
  675. package/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +49 -0
  676. package/node_modules/yaml/browser/dist/compose/resolve-end.js +37 -0
  677. package/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +207 -0
  678. package/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +226 -0
  679. package/node_modules/yaml/browser/dist/compose/resolve-props.js +146 -0
  680. package/node_modules/yaml/browser/dist/compose/util-contains-newline.js +34 -0
  681. package/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +26 -0
  682. package/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +15 -0
  683. package/node_modules/yaml/browser/dist/compose/util-map-includes.js +13 -0
  684. package/node_modules/yaml/browser/dist/doc/Document.js +335 -0
  685. package/node_modules/yaml/browser/dist/doc/anchors.js +71 -0
  686. package/node_modules/yaml/browser/dist/doc/applyReviver.js +55 -0
  687. package/node_modules/yaml/browser/dist/doc/createNode.js +88 -0
  688. package/node_modules/yaml/browser/dist/doc/directives.js +176 -0
  689. package/node_modules/yaml/browser/dist/errors.js +57 -0
  690. package/node_modules/yaml/browser/dist/index.js +17 -0
  691. package/node_modules/yaml/browser/dist/log.js +11 -0
  692. package/node_modules/yaml/browser/dist/nodes/Alias.js +118 -0
  693. package/node_modules/yaml/browser/dist/nodes/Collection.js +147 -0
  694. package/node_modules/yaml/browser/dist/nodes/Node.js +38 -0
  695. package/node_modules/yaml/browser/dist/nodes/Pair.js +36 -0
  696. package/node_modules/yaml/browser/dist/nodes/Scalar.js +24 -0
  697. package/node_modules/yaml/browser/dist/nodes/YAMLMap.js +144 -0
  698. package/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +113 -0
  699. package/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +63 -0
  700. package/node_modules/yaml/browser/dist/nodes/identity.js +36 -0
  701. package/node_modules/yaml/browser/dist/nodes/toJS.js +37 -0
  702. package/node_modules/yaml/browser/dist/parse/cst-scalar.js +214 -0
  703. package/node_modules/yaml/browser/dist/parse/cst-stringify.js +61 -0
  704. package/node_modules/yaml/browser/dist/parse/cst-visit.js +97 -0
  705. package/node_modules/yaml/browser/dist/parse/cst.js +98 -0
  706. package/node_modules/yaml/browser/dist/parse/lexer.js +721 -0
  707. package/node_modules/yaml/browser/dist/parse/line-counter.js +39 -0
  708. package/node_modules/yaml/browser/dist/parse/parser.js +975 -0
  709. package/node_modules/yaml/browser/dist/public-api.js +102 -0
  710. package/node_modules/yaml/browser/dist/schema/Schema.js +37 -0
  711. package/node_modules/yaml/browser/dist/schema/common/map.js +17 -0
  712. package/node_modules/yaml/browser/dist/schema/common/null.js +15 -0
  713. package/node_modules/yaml/browser/dist/schema/common/seq.js +17 -0
  714. package/node_modules/yaml/browser/dist/schema/common/string.js +14 -0
  715. package/node_modules/yaml/browser/dist/schema/core/bool.js +19 -0
  716. package/node_modules/yaml/browser/dist/schema/core/float.js +43 -0
  717. package/node_modules/yaml/browser/dist/schema/core/int.js +38 -0
  718. package/node_modules/yaml/browser/dist/schema/core/schema.js +23 -0
  719. package/node_modules/yaml/browser/dist/schema/json/schema.js +62 -0
  720. package/node_modules/yaml/browser/dist/schema/tags.js +96 -0
  721. package/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +58 -0
  722. package/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +26 -0
  723. package/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +46 -0
  724. package/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +71 -0
  725. package/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.js +67 -0
  726. package/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +74 -0
  727. package/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +78 -0
  728. package/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +39 -0
  729. package/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +93 -0
  730. package/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +101 -0
  731. package/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +146 -0
  732. package/node_modules/yaml/browser/dist/stringify/stringify.js +129 -0
  733. package/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +153 -0
  734. package/node_modules/yaml/browser/dist/stringify/stringifyComment.js +20 -0
  735. package/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +85 -0
  736. package/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +25 -0
  737. package/node_modules/yaml/browser/dist/stringify/stringifyPair.js +150 -0
  738. package/node_modules/yaml/browser/dist/stringify/stringifyString.js +336 -0
  739. package/node_modules/yaml/browser/dist/util.js +11 -0
  740. package/node_modules/yaml/browser/dist/visit.js +233 -0
  741. package/node_modules/yaml/browser/index.js +5 -0
  742. package/node_modules/yaml/browser/package.json +3 -0
  743. package/node_modules/yaml/dist/cli.d.ts +8 -0
  744. package/node_modules/yaml/dist/cli.mjs +201 -0
  745. package/node_modules/yaml/dist/compose/compose-collection.d.ts +11 -0
  746. package/node_modules/yaml/dist/compose/compose-collection.js +90 -0
  747. package/node_modules/yaml/dist/compose/compose-doc.d.ts +7 -0
  748. package/node_modules/yaml/dist/compose/compose-doc.js +45 -0
  749. package/node_modules/yaml/dist/compose/compose-node.d.ts +29 -0
  750. package/node_modules/yaml/dist/compose/compose-node.js +112 -0
  751. package/node_modules/yaml/dist/compose/compose-scalar.d.ts +5 -0
  752. package/node_modules/yaml/dist/compose/compose-scalar.js +88 -0
  753. package/node_modules/yaml/dist/compose/composer.d.ts +63 -0
  754. package/node_modules/yaml/dist/compose/composer.js +224 -0
  755. package/node_modules/yaml/dist/compose/resolve-block-map.d.ts +6 -0
  756. package/node_modules/yaml/dist/compose/resolve-block-map.js +117 -0
  757. package/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +11 -0
  758. package/node_modules/yaml/dist/compose/resolve-block-scalar.js +200 -0
  759. package/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +6 -0
  760. package/node_modules/yaml/dist/compose/resolve-block-seq.js +51 -0
  761. package/node_modules/yaml/dist/compose/resolve-end.d.ts +6 -0
  762. package/node_modules/yaml/dist/compose/resolve-end.js +39 -0
  763. package/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +7 -0
  764. package/node_modules/yaml/dist/compose/resolve-flow-collection.js +209 -0
  765. package/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +10 -0
  766. package/node_modules/yaml/dist/compose/resolve-flow-scalar.js +228 -0
  767. package/node_modules/yaml/dist/compose/resolve-props.d.ts +23 -0
  768. package/node_modules/yaml/dist/compose/resolve-props.js +148 -0
  769. package/node_modules/yaml/dist/compose/util-contains-newline.d.ts +2 -0
  770. package/node_modules/yaml/dist/compose/util-contains-newline.js +36 -0
  771. package/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +2 -0
  772. package/node_modules/yaml/dist/compose/util-empty-scalar-position.js +28 -0
  773. package/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +3 -0
  774. package/node_modules/yaml/dist/compose/util-flow-indent-check.js +17 -0
  775. package/node_modules/yaml/dist/compose/util-map-includes.d.ts +4 -0
  776. package/node_modules/yaml/dist/compose/util-map-includes.js +15 -0
  777. package/node_modules/yaml/dist/doc/Document.d.ts +141 -0
  778. package/node_modules/yaml/dist/doc/Document.js +337 -0
  779. package/node_modules/yaml/dist/doc/anchors.d.ts +24 -0
  780. package/node_modules/yaml/dist/doc/anchors.js +76 -0
  781. package/node_modules/yaml/dist/doc/applyReviver.d.ts +9 -0
  782. package/node_modules/yaml/dist/doc/applyReviver.js +57 -0
  783. package/node_modules/yaml/dist/doc/createNode.d.ts +17 -0
  784. package/node_modules/yaml/dist/doc/createNode.js +90 -0
  785. package/node_modules/yaml/dist/doc/directives.d.ts +49 -0
  786. package/node_modules/yaml/dist/doc/directives.js +178 -0
  787. package/node_modules/yaml/dist/errors.d.ts +21 -0
  788. package/node_modules/yaml/dist/errors.js +62 -0
  789. package/node_modules/yaml/dist/index.d.ts +25 -0
  790. package/node_modules/yaml/dist/index.js +50 -0
  791. package/node_modules/yaml/dist/log.d.ts +3 -0
  792. package/node_modules/yaml/dist/log.js +19 -0
  793. package/node_modules/yaml/dist/nodes/Alias.d.ts +29 -0
  794. package/node_modules/yaml/dist/nodes/Alias.js +120 -0
  795. package/node_modules/yaml/dist/nodes/Collection.d.ts +73 -0
  796. package/node_modules/yaml/dist/nodes/Collection.js +151 -0
  797. package/node_modules/yaml/dist/nodes/Node.d.ts +53 -0
  798. package/node_modules/yaml/dist/nodes/Node.js +40 -0
  799. package/node_modules/yaml/dist/nodes/Pair.d.ts +22 -0
  800. package/node_modules/yaml/dist/nodes/Pair.js +39 -0
  801. package/node_modules/yaml/dist/nodes/Scalar.d.ts +47 -0
  802. package/node_modules/yaml/dist/nodes/Scalar.js +27 -0
  803. package/node_modules/yaml/dist/nodes/YAMLMap.d.ts +53 -0
  804. package/node_modules/yaml/dist/nodes/YAMLMap.js +147 -0
  805. package/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +60 -0
  806. package/node_modules/yaml/dist/nodes/YAMLSeq.js +115 -0
  807. package/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +4 -0
  808. package/node_modules/yaml/dist/nodes/addPairToJSMap.js +65 -0
  809. package/node_modules/yaml/dist/nodes/identity.d.ts +23 -0
  810. package/node_modules/yaml/dist/nodes/identity.js +53 -0
  811. package/node_modules/yaml/dist/nodes/toJS.d.ts +29 -0
  812. package/node_modules/yaml/dist/nodes/toJS.js +39 -0
  813. package/node_modules/yaml/dist/options.d.ts +350 -0
  814. package/node_modules/yaml/dist/parse/cst-scalar.d.ts +64 -0
  815. package/node_modules/yaml/dist/parse/cst-scalar.js +218 -0
  816. package/node_modules/yaml/dist/parse/cst-stringify.d.ts +8 -0
  817. package/node_modules/yaml/dist/parse/cst-stringify.js +63 -0
  818. package/node_modules/yaml/dist/parse/cst-visit.d.ts +39 -0
  819. package/node_modules/yaml/dist/parse/cst-visit.js +99 -0
  820. package/node_modules/yaml/dist/parse/cst.d.ts +109 -0
  821. package/node_modules/yaml/dist/parse/cst.js +112 -0
  822. package/node_modules/yaml/dist/parse/lexer.d.ts +87 -0
  823. package/node_modules/yaml/dist/parse/lexer.js +723 -0
  824. package/node_modules/yaml/dist/parse/line-counter.d.ts +22 -0
  825. package/node_modules/yaml/dist/parse/line-counter.js +41 -0
  826. package/node_modules/yaml/dist/parse/parser.d.ts +84 -0
  827. package/node_modules/yaml/dist/parse/parser.js +980 -0
  828. package/node_modules/yaml/dist/public-api.d.ts +44 -0
  829. package/node_modules/yaml/dist/public-api.js +107 -0
  830. package/node_modules/yaml/dist/schema/Schema.d.ts +17 -0
  831. package/node_modules/yaml/dist/schema/Schema.js +39 -0
  832. package/node_modules/yaml/dist/schema/common/map.d.ts +2 -0
  833. package/node_modules/yaml/dist/schema/common/map.js +19 -0
  834. package/node_modules/yaml/dist/schema/common/null.d.ts +4 -0
  835. package/node_modules/yaml/dist/schema/common/null.js +17 -0
  836. package/node_modules/yaml/dist/schema/common/seq.d.ts +2 -0
  837. package/node_modules/yaml/dist/schema/common/seq.js +19 -0
  838. package/node_modules/yaml/dist/schema/common/string.d.ts +2 -0
  839. package/node_modules/yaml/dist/schema/common/string.js +16 -0
  840. package/node_modules/yaml/dist/schema/core/bool.d.ts +4 -0
  841. package/node_modules/yaml/dist/schema/core/bool.js +21 -0
  842. package/node_modules/yaml/dist/schema/core/float.d.ts +4 -0
  843. package/node_modules/yaml/dist/schema/core/float.js +47 -0
  844. package/node_modules/yaml/dist/schema/core/int.d.ts +4 -0
  845. package/node_modules/yaml/dist/schema/core/int.js +42 -0
  846. package/node_modules/yaml/dist/schema/core/schema.d.ts +1 -0
  847. package/node_modules/yaml/dist/schema/core/schema.js +25 -0
  848. package/node_modules/yaml/dist/schema/json/schema.d.ts +2 -0
  849. package/node_modules/yaml/dist/schema/json/schema.js +64 -0
  850. package/node_modules/yaml/dist/schema/json-schema.d.ts +69 -0
  851. package/node_modules/yaml/dist/schema/tags.d.ts +48 -0
  852. package/node_modules/yaml/dist/schema/tags.js +99 -0
  853. package/node_modules/yaml/dist/schema/types.d.ts +92 -0
  854. package/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +2 -0
  855. package/node_modules/yaml/dist/schema/yaml-1.1/binary.js +70 -0
  856. package/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +7 -0
  857. package/node_modules/yaml/dist/schema/yaml-1.1/bool.js +29 -0
  858. package/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +4 -0
  859. package/node_modules/yaml/dist/schema/yaml-1.1/float.js +50 -0
  860. package/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +5 -0
  861. package/node_modules/yaml/dist/schema/yaml-1.1/int.js +76 -0
  862. package/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +9 -0
  863. package/node_modules/yaml/dist/schema/yaml-1.1/merge.js +71 -0
  864. package/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +22 -0
  865. package/node_modules/yaml/dist/schema/yaml-1.1/omap.js +77 -0
  866. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +10 -0
  867. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +82 -0
  868. package/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -0
  869. package/node_modules/yaml/dist/schema/yaml-1.1/schema.js +41 -0
  870. package/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +28 -0
  871. package/node_modules/yaml/dist/schema/yaml-1.1/set.js +96 -0
  872. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +6 -0
  873. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +105 -0
  874. package/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +34 -0
  875. package/node_modules/yaml/dist/stringify/foldFlowLines.js +151 -0
  876. package/node_modules/yaml/dist/stringify/stringify.d.ts +21 -0
  877. package/node_modules/yaml/dist/stringify/stringify.js +132 -0
  878. package/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +17 -0
  879. package/node_modules/yaml/dist/stringify/stringifyCollection.js +155 -0
  880. package/node_modules/yaml/dist/stringify/stringifyComment.d.ts +10 -0
  881. package/node_modules/yaml/dist/stringify/stringifyComment.js +24 -0
  882. package/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +4 -0
  883. package/node_modules/yaml/dist/stringify/stringifyDocument.js +87 -0
  884. package/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +2 -0
  885. package/node_modules/yaml/dist/stringify/stringifyNumber.js +27 -0
  886. package/node_modules/yaml/dist/stringify/stringifyPair.d.ts +3 -0
  887. package/node_modules/yaml/dist/stringify/stringifyPair.js +152 -0
  888. package/node_modules/yaml/dist/stringify/stringifyString.d.ts +9 -0
  889. package/node_modules/yaml/dist/stringify/stringifyString.js +338 -0
  890. package/node_modules/yaml/dist/test-events.d.ts +4 -0
  891. package/node_modules/yaml/dist/test-events.js +134 -0
  892. package/node_modules/yaml/dist/util.d.ts +16 -0
  893. package/node_modules/yaml/dist/util.js +28 -0
  894. package/node_modules/yaml/dist/visit.d.ts +102 -0
  895. package/node_modules/yaml/dist/visit.js +236 -0
  896. package/node_modules/yaml/package.json +97 -0
  897. package/node_modules/yaml/util.js +2 -0
  898. package/package.json +108 -4
  899. package/vendor/mdbase-connect-sdk-e6e66bcd172f.json +13 -0
  900. package/vendor/mdbase-dev-connect-protocol-0.1.0-beta.145-e6e66bcd172f.tgz +0 -0
@@ -0,0 +1,643 @@
1
+ import { sha256 as sha256Bytes } from "@noble/hashes/sha2.js";
2
+ import { bytesToHex, utf8ToBytes } from "@noble/hashes/utils.js";
3
+ import { isMap, parseDocument } from "yaml";
4
+ import { appManifestValidator as generatedAppManifestValidator, legacyAppManifestValidator as generatedLegacyAppManifestValidator } from "./manifest-validators.generated.js";
5
+ import { RECORD_EXTENSIONS_CONFIGURATION_PATH } from "./collection-setup.js";
6
+ import { isNativeRedirectUri } from "./index.js";
7
+ export const APPLICATION_MANIFEST_MAX_BYTES = 524_288;
8
+ export class AppManifestValidationError extends Error {
9
+ issues;
10
+ constructor(issues) {
11
+ super(`Invalid application manifest: ${formatManifestValidationIssues(issues)}`);
12
+ this.issues = issues;
13
+ this.name = "AppManifestValidationError";
14
+ }
15
+ }
16
+ // Precompiled from the published JSON Schemas by
17
+ // scripts/generate-manifest-validators.mjs, so validation stays synchronous and
18
+ // identical without shipping the Ajv compiler to consumers.
19
+ const appManifestValidator = generatedAppManifestValidator;
20
+ const legacyAppManifestValidator = generatedLegacyAppManifestValidator;
21
+ /**
22
+ * Validate the complete bundled application declaration accepted by Connect.
23
+ *
24
+ * This is the canonical runtime validator used by the server and developer
25
+ * tooling. Keep structural rules in the published JSON Schema and cross-field
26
+ * rules here; consumers must not maintain parallel manifest validators.
27
+ */
28
+ export function validateAppManifest(value, options = {}) {
29
+ return validateManifest(value, options, false);
30
+ }
31
+ /** Explicit opt-in to predecessor declarations; omission defaults to v1. */
32
+ export function validateVersionedAppManifest(value, options = {}) {
33
+ return validateManifest(value, options, true);
34
+ }
35
+ function declaredContractVersion(value) {
36
+ const requirements = asObject(asObject(value).requirements);
37
+ return requirements.capabilities === undefined
38
+ ? 1
39
+ : asObject(requirements.capabilities).contract_version;
40
+ }
41
+ function validateManifest(value, options, versioned) {
42
+ const sizeIssue = validateSerializedSize(value, options.maxBytes ?? APPLICATION_MANIFEST_MAX_BYTES);
43
+ if (sizeIssue)
44
+ return invalid([sizeIssue]);
45
+ const version = versioned ? declaredContractVersion(value) : 2;
46
+ if (version !== 1 && version !== 2) {
47
+ return invalid([issue("/requirements/capabilities/contract_version", "contractVersion", "must declare supported contract version 1 or 2")]);
48
+ }
49
+ const native = asObject(value).platform === "native";
50
+ const candidate = options.allowLocal || native ? localManifestSchemaCandidate(value, !options.allowLocal) : value;
51
+ const schemaResult = validationResult(version === 1 ? legacyAppManifestValidator : appManifestValidator, candidate);
52
+ if (!schemaResult.valid)
53
+ return schemaResult;
54
+ const issues = [
55
+ ...validateManifestOrigins(value, options.allowLocal === true),
56
+ ...(version === 1
57
+ ? validateLegacyCapabilityRequirements(value)
58
+ : validateCapabilityRequirements(value)),
59
+ ...validateProvisionRequirements(value),
60
+ ...validateConfigurationSetup(value)
61
+ ];
62
+ return issues.length === 0 ? { valid: true, issues: [] } : invalid(issues);
63
+ }
64
+ /** Validate, normalize optional sections, and return an isolated declaration. */
65
+ export function parseAppManifest(value, options = {}) {
66
+ const result = validateAppManifest(value, options);
67
+ if (!result.valid)
68
+ throw new AppManifestValidationError(result.issues);
69
+ return normalizeManifest(value);
70
+ }
71
+ /** Validate and clone without changing capability IDs, file aliases, or version. */
72
+ export function parseVersionedAppManifest(value, options = {}) {
73
+ const result = validateVersionedAppManifest(value, options);
74
+ if (!result.valid)
75
+ throw new AppManifestValidationError(result.issues);
76
+ return declaredContractVersion(value) === 1
77
+ ? { contractVersion: 1, manifest: normalizeManifest(value) }
78
+ : { contractVersion: 2, manifest: normalizeManifest(value) };
79
+ }
80
+ function normalizeManifest(value) {
81
+ const manifest = structuredClone(value);
82
+ return {
83
+ ...manifest,
84
+ requirements: {
85
+ configuration: [],
86
+ ...manifest.requirements
87
+ },
88
+ provisions: {
89
+ type_packs: [],
90
+ configuration: [],
91
+ ...manifest.provisions
92
+ },
93
+ notifications: manifest.notifications ?? { criteria: [] }
94
+ };
95
+ }
96
+ export function formatManifestValidationIssues(issues) {
97
+ return issues.map((issue) => `${issue.path || "/"} ${issue.message}`).join("; ");
98
+ }
99
+ function validationResult(validate, value) {
100
+ if (validate(value))
101
+ return { valid: true, issues: [] };
102
+ const issues = (validate.errors ?? []).map(validationIssue);
103
+ const specific = issues.filter((issue) => issue.keyword !== "oneOf");
104
+ return invalid(specific.length > 0 ? specific : issues);
105
+ }
106
+ function validationIssue(error) {
107
+ const params = error.params;
108
+ if (error.keyword === "required" && typeof params.missingProperty === "string") {
109
+ return {
110
+ path: joinPointer(error.instancePath, params.missingProperty),
111
+ keyword: error.keyword,
112
+ message: "is required",
113
+ params
114
+ };
115
+ }
116
+ if (error.keyword === "additionalProperties"
117
+ && typeof params.additionalProperty === "string") {
118
+ return {
119
+ path: joinPointer(error.instancePath, params.additionalProperty),
120
+ keyword: error.keyword,
121
+ message: "is not allowed",
122
+ params
123
+ };
124
+ }
125
+ return {
126
+ path: error.instancePath,
127
+ keyword: error.keyword,
128
+ message: error.message ?? "is invalid",
129
+ params
130
+ };
131
+ }
132
+ function joinPointer(parent, child) {
133
+ const escaped = child.replaceAll("~", "~0").replaceAll("/", "~1");
134
+ return `${parent}/${escaped}`;
135
+ }
136
+ function validateSerializedSize(value, maxBytes) {
137
+ const jsonIssue = validateJsonValue(value, "", new WeakSet());
138
+ if (jsonIssue)
139
+ return jsonIssue;
140
+ try {
141
+ const serialized = JSON.stringify(value);
142
+ const bytes = new TextEncoder().encode(serialized).byteLength;
143
+ return bytes <= maxBytes
144
+ ? undefined
145
+ : issue("/", "maxBytes", `must not exceed ${maxBytes} UTF-8 bytes`, { maxBytes, actualBytes: bytes });
146
+ }
147
+ catch {
148
+ return issue("/", "json", "must be serializable as JSON");
149
+ }
150
+ }
151
+ function validateJsonValue(value, path, ancestors) {
152
+ if (value === null
153
+ || typeof value === "string"
154
+ || typeof value === "boolean"
155
+ || (typeof value === "number" && Number.isFinite(value)))
156
+ return undefined;
157
+ if (typeof value !== "object") {
158
+ return issue(path || "/", "json", "must be a JSON value");
159
+ }
160
+ if (ancestors.has(value)) {
161
+ return issue(path || "/", "json", "must not contain circular references");
162
+ }
163
+ const prototype = Object.getPrototypeOf(value);
164
+ if (!Array.isArray(value) && prototype !== Object.prototype && prototype !== null) {
165
+ return issue(path || "/", "json", "must be a plain JSON object");
166
+ }
167
+ ancestors.add(value);
168
+ const entries = Array.isArray(value)
169
+ ? value.map((item, index) => [String(index), item])
170
+ : Object.entries(value);
171
+ for (const [key, child] of entries) {
172
+ const childIssue = validateJsonValue(child, joinPointer(path, key), ancestors);
173
+ if (childIssue)
174
+ return childIssue;
175
+ }
176
+ ancestors.delete(value);
177
+ return undefined;
178
+ }
179
+ function validateManifestOrigins(value, allowLocal) {
180
+ const manifest = asObject(value);
181
+ const native = manifest.platform === "native";
182
+ for (const [environment, policy] of Object.entries(asObject(manifest.installation_origins))) {
183
+ for (const [kind, origins] of Object.entries(asObject(policy))) {
184
+ for (const [index, origin] of origins.entries()) {
185
+ const path = `/installation_origins/${environment}/${kind}/${index}`;
186
+ try {
187
+ if (native && (kind !== "app-runtime" || !isNativeLoopbackOrigin(origin))) {
188
+ return [issue(path, "origin", "native applications require canonical IPv4 loopback HTTP app-runtime origins")];
189
+ }
190
+ const url = new URL(origin);
191
+ const web = (secureOrAllowedLocal(url, environment === "lab")
192
+ || (native && isNativeLoopbackOrigin(origin))) && url.origin === origin;
193
+ const mobile = kind === "mobile" && url.protocol === "capacitor:"
194
+ && /^[a-z0-9.-]+$/u.test(url.hostname) && `${url.protocol}//${url.host}` === origin;
195
+ // A Chrome extension ID is stable (derived from its key), so it can be
196
+ // declared exactly. Firefox extension origins are random per profile.
197
+ const extension = kind === "app-runtime" && /^chrome-extension:\/\/[a-p]{32}$/u.test(origin);
198
+ if ((!web && !mobile && !extension) || origin.includes("*") || url.username || url.password || url.search || url.hash) {
199
+ return [issue(path, "origin", "must be an exact HTTPS, loopback HTTP, mobile capacitor or Chrome extension origin without wildcards")];
200
+ }
201
+ }
202
+ catch {
203
+ return [issue(path, "origin", "must be an exact installation origin")];
204
+ }
205
+ }
206
+ }
207
+ }
208
+ if (manifest.distribution === "portable") {
209
+ if (manifest.project_url === undefined) {
210
+ return manifest.icon === undefined
211
+ ? []
212
+ : [issue("/icon", "origin", "requires a project_url on the same origin")];
213
+ }
214
+ try {
215
+ const project = new URL(String(manifest.project_url));
216
+ if (project.protocol !== "https:") {
217
+ return [issue("/project_url", "protocol", "must use HTTPS")];
218
+ }
219
+ if (manifest.icon !== undefined
220
+ && new URL(String(manifest.icon)).origin !== project.origin) {
221
+ return [issue("/icon", "origin", "must use the project_url origin")];
222
+ }
223
+ return [];
224
+ }
225
+ catch {
226
+ return [issue("/", "url", "contains an invalid URL")];
227
+ }
228
+ }
229
+ try {
230
+ const homepage = new URL(String(manifest.homepage));
231
+ if (native ? !isNativeLoopbackUrl(String(manifest.homepage)) : !secureOrAllowedLocal(homepage, allowLocal)) {
232
+ return [issue("/homepage", "protocol", native ? "native applications require canonical IPv4 loopback HTTP" : "must use HTTPS (or loopback HTTP in local mode)")];
233
+ }
234
+ for (const [index, redirect] of manifest.redirect_uris.entries()) {
235
+ // Redirects match exactly (RFC 8252 §8.10); a wildcard is never a pattern.
236
+ if (String(redirect).includes("*")) {
237
+ return [issue(`/redirect_uris/${index}`, "url", "must be an exact URI without wildcards")];
238
+ }
239
+ const url = new URL(String(redirect));
240
+ if (native && ["http:", "https:"].includes(url.protocol) && !isNativeLoopbackUrl(String(redirect))) {
241
+ return [issue(`/redirect_uris/${index}`, "origin", "native HTTP(S) redirects require canonical IPv4 loopback HTTP")];
242
+ }
243
+ if (url.origin === homepage.origin && !secureOrAllowedLocal(url, allowLocal)
244
+ && !(native && isNativeLoopbackUrl(String(redirect)))) {
245
+ return [issue(`/redirect_uris/${index}`, "protocol", "must use HTTPS (or loopback HTTP in local mode)")];
246
+ }
247
+ const nativeAllowed = nativeRedirectMatchesApplication(url, String(manifest.id));
248
+ if (url.origin !== homepage.origin && !nativeAllowed) {
249
+ return [issue(`/redirect_uris/${index}`, "origin", "must use the homepage origin or a private-use scheme matching the application ID")];
250
+ }
251
+ }
252
+ if (manifest.icon !== undefined
253
+ && new URL(String(manifest.icon)).origin !== homepage.origin) {
254
+ return [issue("/icon", "origin", "must use the homepage origin")];
255
+ }
256
+ return [];
257
+ }
258
+ catch {
259
+ return [issue("/", "url", "contains an invalid URL")];
260
+ }
261
+ }
262
+ function nativeRedirectMatchesApplication(url, applicationId) {
263
+ const scheme = url.protocol.slice(0, -1);
264
+ return isNativeRedirectUri(url)
265
+ && (scheme === applicationId || scheme.startsWith(`${applicationId}.`));
266
+ }
267
+ function validateProvisionRequirements(value) {
268
+ const manifest = asObject(value);
269
+ const requirements = asObject(manifest.requirements);
270
+ const requiredContracts = Array.isArray(requirements.contracts)
271
+ ? requirements.contracts
272
+ : [];
273
+ const required = new Set(requiredContracts.map((contract) => {
274
+ const value = asObject(contract);
275
+ return `${value.id}@${value.version}`;
276
+ }));
277
+ const provisions = asObject(manifest.provisions);
278
+ const packs = Array.isArray(provisions.type_packs) ? provisions.type_packs : [];
279
+ const issues = [];
280
+ for (const [packIndex, provisionValue] of packs.entries()) {
281
+ const provision = asObject(provisionValue);
282
+ const providedContracts = Array.isArray(provision.provides)
283
+ ? provision.provides
284
+ : [];
285
+ for (const providedValue of providedContracts) {
286
+ const provided = asObject(providedValue);
287
+ if (!required.has(`${provided.id}@${provided.version}`)) {
288
+ issues.push(issue(`/provisions/type_packs/${packIndex}/provides`, "contractRequirement", "may only contain contracts required by the application"));
289
+ }
290
+ }
291
+ issues.push(...validateTypePackProvision(provision, `/provisions/type_packs/${packIndex}`));
292
+ }
293
+ return issues;
294
+ }
295
+ /**
296
+ * Validate one schema-valid type-pack provision beyond its JSON Schema: the
297
+ * embedded resources are exactly the manifest's, each digest pins its bytes,
298
+ * and every seed `upgrade_from` baseline satisfies mdbase 05A. Issue paths are
299
+ * prefixed with `path`, the provision's location in its enclosing document.
300
+ */
301
+ export function validateTypePackProvision(value, path = "") {
302
+ const provision = asObject(value);
303
+ const manifest = asObject(provision.manifest);
304
+ const declaredResources = Array.isArray(manifest.resources)
305
+ ? manifest.resources.map(asObject)
306
+ : [];
307
+ const embeddedResources = Array.isArray(provision.resources)
308
+ ? provision.resources.map(asObject)
309
+ : [];
310
+ const embedded = new Map(embeddedResources.map((resource) => [String(resource.source), resource.document]));
311
+ if (embedded.size !== embeddedResources.length
312
+ || new Set(declaredResources.map((resource) => String(resource.source))).size
313
+ !== declaredResources.length
314
+ || declaredResources.length !== embeddedResources.length) {
315
+ return [issue(`${path}/resources`, "resourceSet", "must match manifest source paths exactly")];
316
+ }
317
+ const issues = [];
318
+ for (const [resourceIndex, resource] of declaredResources.entries()) {
319
+ const resourcePath = `${path}/manifest/resources/${resourceIndex}`;
320
+ const source = String(resource.source);
321
+ const document = embedded.get(source);
322
+ if (typeof document !== "string") {
323
+ issues.push(issue(`${path}/resources`, "resourceSet", `is missing manifest source ${source}`));
324
+ continue;
325
+ }
326
+ if (sha256(document) !== resource.digest) {
327
+ issues.push(issue(`${resourcePath}/digest`, "digest", "does not match the embedded document"));
328
+ }
329
+ if (resource.upgrade_from !== undefined) {
330
+ issues.push(...validateSeedUpgrade(resource, document, `${resourcePath}/upgrade_from`));
331
+ }
332
+ }
333
+ return issues;
334
+ }
335
+ /** 05A seed-upgrade baselines: exact, distinct, earlier starters of the same type. */
336
+ function validateSeedUpgrade(resource, document, path) {
337
+ if (resource.kind !== "type" || resource.mode !== "seed") {
338
+ return [issue(path, "seedUpgrade", "is only allowed for seed types")];
339
+ }
340
+ const desired = typeFrontmatter(document);
341
+ const listed = Array.isArray(resource.upgrade_from);
342
+ const baselines = (listed ? resource.upgrade_from : [resource.upgrade_from]).map(asObject);
343
+ const seen = new Set();
344
+ const issues = [];
345
+ for (const [index, baseline] of baselines.entries()) {
346
+ const baselinePath = listed ? `${path}/${index}` : path;
347
+ const baselineDocument = String(baseline.document);
348
+ if (baseline.digest !== sha256(baselineDocument)) {
349
+ issues.push(issue(`${baselinePath}/digest`, "digest", "does not match the baseline document"));
350
+ }
351
+ else if (seen.has(baseline.digest)) {
352
+ issues.push(issue(`${baselinePath}/digest`, "uniqueBaseline", "duplicates another upgrade baseline"));
353
+ }
354
+ else if (baseline.digest === resource.digest) {
355
+ issues.push(issue(`${baselinePath}/digest`, "seedUpgrade", "must not be the resource's own document"));
356
+ }
357
+ seen.add(baseline.digest);
358
+ const previous = typeFrontmatter(baselineDocument);
359
+ if (!desired || !previous || previous.kind !== desired.kind || previous.name !== desired.name) {
360
+ issues.push(issue(`${baselinePath}/document`, "seedUpgrade", "must be a type document with the same kind and name as the resource"));
361
+ }
362
+ else if (baseline.version !== undefined && previous.version !== baseline.version) {
363
+ issues.push(issue(`${baselinePath}/version`, "seedUpgrade", "must equal the version the baseline document declares"));
364
+ }
365
+ }
366
+ return issues;
367
+ }
368
+ /** Top-level frontmatter of a type document, or undefined when it has none. */
369
+ // The identity a type document declares. Only these top-level keys are read, so
370
+ // anchors and aliases elsewhere in a starter are harmless and alias expansion
371
+ // stays disabled.
372
+ function typeFrontmatter(document) {
373
+ const source = /^---\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/u.exec(document)?.[1];
374
+ if (source === undefined)
375
+ return undefined;
376
+ const parsed = parseDocument(source, { uniqueKeys: true });
377
+ if (parsed.errors.length > 0 || !isMap(parsed.contents))
378
+ return undefined;
379
+ return { kind: parsed.get("kind"), name: parsed.get("name"), version: parsed.get("version") };
380
+ }
381
+ function sha256(document) {
382
+ return `sha256:${bytesToHex(sha256Bytes(utf8ToBytes(document)))}`;
383
+ }
384
+ function validateConfigurationSetup(value) {
385
+ const manifest = asObject(value);
386
+ const requirements = asObject(manifest.requirements);
387
+ const provisions = asObject(manifest.provisions);
388
+ const requiredValues = Array.isArray(requirements.configuration)
389
+ ? requirements.configuration
390
+ : [];
391
+ const provisionValues = Array.isArray(provisions.configuration)
392
+ ? provisions.configuration
393
+ : [];
394
+ const issues = [];
395
+ const required = new Map();
396
+ for (const [index, candidate] of requiredValues.entries()) {
397
+ const requirement = asObject(candidate);
398
+ const id = String(requirement.id);
399
+ const path = String(requirement.path);
400
+ const pathError = configurationPointerError(path, requirement.value);
401
+ if (pathError) {
402
+ issues.push(issue(`/requirements/configuration/${index}/path`, "configurationPointer", pathError));
403
+ }
404
+ if (required.has(id)) {
405
+ issues.push(issue(`/requirements/configuration/${index}/id`, "uniqueRequirement", `duplicates configuration requirement ${id}`));
406
+ }
407
+ else {
408
+ required.set(id, { path, value: requirement.value, index });
409
+ }
410
+ }
411
+ const linked = new Set();
412
+ const contributionKeys = new Set();
413
+ for (const [index, candidate] of provisionValues.entries()) {
414
+ const provision = asObject(candidate);
415
+ const requirementId = String(provision.requirement);
416
+ const path = String(provision.path);
417
+ const pathError = configurationPointerError(path, provision.value);
418
+ if (pathError) {
419
+ issues.push(issue(`/provisions/configuration/${index}/path`, "configurationPointer", pathError));
420
+ }
421
+ const requirement = required.get(requirementId);
422
+ if (!requirement) {
423
+ issues.push(issue(`/provisions/configuration/${index}/requirement`, "configurationRequirement", `references unknown configuration requirement ${requirementId}`));
424
+ continue;
425
+ }
426
+ if (linked.has(requirementId)) {
427
+ issues.push(issue(`/provisions/configuration/${index}/requirement`, "uniqueProvision", `configuration requirement ${requirementId} may have exactly one provision`));
428
+ }
429
+ linked.add(requirementId);
430
+ if (path !== requirement.path) {
431
+ issues.push(issue(`/provisions/configuration/${index}/path`, "configurationRequirement", `must equal /requirements/configuration/${requirement.index}/path`));
432
+ }
433
+ if (JSON.stringify(provision.value) !== JSON.stringify(requirement.value)) {
434
+ issues.push(issue(`/provisions/configuration/${index}/value`, "configurationRequirement", `must equal /requirements/configuration/${requirement.index}/value`));
435
+ }
436
+ const contributionKey = `${path}\0${JSON.stringify(provision.value)}`;
437
+ if (contributionKeys.has(contributionKey)) {
438
+ issues.push(issue(`/provisions/configuration/${index}`, "uniqueContribution", "duplicates another configuration path and value contribution"));
439
+ }
440
+ contributionKeys.add(contributionKey);
441
+ }
442
+ for (const [id, requirement] of required) {
443
+ if (!linked.has(id)) {
444
+ issues.push(issue(`/requirements/configuration/${requirement.index}`, "configurationProvision", `requires one provision linked by id ${id}`));
445
+ }
446
+ }
447
+ return issues;
448
+ }
449
+ // Matches mdbase-rs collection setup.
450
+ const APPLICATION_RECORD_EXTENSIONS = ["md", "base"];
451
+ function configurationPointerError(path, value) {
452
+ if (path === RECORD_EXTENSIONS_CONFIGURATION_PATH) {
453
+ return APPLICATION_RECORD_EXTENSIONS.includes(value)
454
+ ? undefined
455
+ : "accepts only the record extensions md and base";
456
+ }
457
+ if (!path.startsWith("/") || new TextEncoder().encode(path).byteLength > 1024) {
458
+ return "must be a bounded RFC 6901 JSON pointer";
459
+ }
460
+ const encoded = path.slice(1).split("/");
461
+ if (encoded.length < 2 || encoded.length > 16) {
462
+ return "must address a value below an x-* extension namespace";
463
+ }
464
+ const segments = [];
465
+ for (const value of encoded) {
466
+ if (/~(?:[^01]|$)/u.test(value))
467
+ return "contains an invalid RFC 6901 escape";
468
+ const segment = value.replaceAll("~1", "/").replaceAll("~0", "~");
469
+ if (segment.length === 0
470
+ || segment === "-"
471
+ || /^\d+$/u.test(segment)
472
+ || [...segment].some((character) => /\p{Cc}/u.test(character)))
473
+ return "contains a disallowed object-key segment";
474
+ segments.push(segment);
475
+ }
476
+ return /^x-[a-z0-9][a-z0-9-]*$/u.test(segments[0])
477
+ ? undefined
478
+ : "must be inside a top-level x-* extension namespace";
479
+ }
480
+ function validateCapabilityRequirements(value) {
481
+ const manifest = asObject(value);
482
+ const requirements = asObject(manifest.requirements);
483
+ const capabilities = asObject(requirements.capabilities);
484
+ const issues = [];
485
+ if (requirements.access !== "full_collection") {
486
+ issues.push(issue("/requirements/access", "collectionAccess", "must explicitly request full_collection; legacy or omitted access is not widened"));
487
+ }
488
+ const required = Array.isArray(capabilities.required)
489
+ ? capabilities.required.map(String)
490
+ : [];
491
+ const optional = Array.isArray(capabilities.optional)
492
+ ? capabilities.optional.map(String)
493
+ : [];
494
+ const overlap = optional.find((capability) => required.includes(capability));
495
+ if (overlap) {
496
+ issues.push(issue("/requirements/capabilities/optional", "disjoint", `must not repeat required capability ${overlap}`));
497
+ }
498
+ const files = asObject(requirements.files);
499
+ const requiredFiles = Array.isArray(files.required) ? files.required.map(String) : [];
500
+ const optionalFiles = Array.isArray(files.optional) ? files.optional.map(String) : [];
501
+ const fileOverlap = optionalFiles.find((action) => requiredFiles.includes(action));
502
+ if (fileOverlap) {
503
+ issues.push(issue("/requirements/files/optional", "disjoint", `must not repeat required file action ${fileOverlap}`));
504
+ }
505
+ const people = asObject(requirements.people);
506
+ const requiredPeople = Array.isArray(people.required) ? people.required.map(String) : [];
507
+ const optionalPeople = Array.isArray(people.optional) ? people.optional.map(String) : [];
508
+ const peopleOverlap = optionalPeople.find((permission) => requiredPeople.includes(permission));
509
+ if (peopleOverlap) {
510
+ issues.push(issue("/requirements/people/optional", "disjoint", `must not repeat required people permission ${peopleOverlap}`));
511
+ }
512
+ return issues;
513
+ }
514
+ // Frozen cross-field rules from c2596a6e; notably, absent capabilities skip
515
+ // alias/setup checks rather than inventing or widening a declaration.
516
+ function validateLegacyCapabilityRequirements(value) {
517
+ const manifest = asObject(value);
518
+ const requirements = asObject(manifest.requirements);
519
+ const capabilities = asObject(requirements.capabilities);
520
+ const issues = [];
521
+ if (requirements.access !== "full_collection") {
522
+ issues.push(issue("/requirements/access", "collectionAccess", "must explicitly request full_collection; legacy or omitted access is not widened"));
523
+ }
524
+ if (Object.keys(capabilities).length === 0)
525
+ return issues;
526
+ const required = Array.isArray(capabilities.required)
527
+ ? capabilities.required.map(String)
528
+ : [];
529
+ const optional = Array.isArray(capabilities.optional)
530
+ ? capabilities.optional.map(String)
531
+ : [];
532
+ const overlap = optional.find((capability) => required.includes(capability));
533
+ if (overlap) {
534
+ issues.push(issue("/requirements/capabilities/optional", "disjoint", `must not repeat required capability ${overlap}`));
535
+ }
536
+ const declared = new Set([...required, ...optional]);
537
+ const provisions = asObject(manifest.provisions);
538
+ if (declared.has("definitions.type-pack.apply")) {
539
+ if (requirements.access !== "full_collection") {
540
+ issues.push(issue("/requirements/access", "typePackAccess", "must be full_collection for definitions.type-pack.apply"));
541
+ }
542
+ }
543
+ if (Array.isArray(provisions.type_packs)
544
+ && provisions.type_packs.length > 0
545
+ && !required.includes("collection.setup.apply")) {
546
+ issues.push(issue("/requirements/capabilities/required", "collectionSetupCapability", "must require collection.setup.apply when bundled type packs are declared"));
547
+ }
548
+ const hasConfigurationProvisions = Array.isArray(provisions.configuration)
549
+ && provisions.configuration.length > 0;
550
+ const hasSetupProvisions = hasConfigurationProvisions
551
+ || (Array.isArray(provisions.type_packs) && provisions.type_packs.length > 0);
552
+ if (hasConfigurationProvisions && !required.includes("collection.setup.apply")) {
553
+ issues.push(issue("/requirements/capabilities/required", "collectionSetupCapability", "must require collection.setup.apply when configuration provisions are declared"));
554
+ }
555
+ if (declared.has("collection.setup.apply")) {
556
+ if (requirements.access !== "full_collection") {
557
+ issues.push(issue("/requirements/access", "collectionSetupAccess", "must be full_collection for collection.setup.apply"));
558
+ }
559
+ if (!hasSetupProvisions) {
560
+ issues.push(issue("/provisions", "collectionSetupProvision", "must declare a configuration provision or type pack for collection.setup.apply"));
561
+ }
562
+ }
563
+ if (declared.has("notifications.background-delivery")
564
+ && !Array.isArray(asObject(manifest.notifications).criteria)) {
565
+ issues.push(issue("/notifications/criteria", "notificationCapability", "must be declared for notifications.background-delivery"));
566
+ }
567
+ const fileRequirement = asObject(requirements.files);
568
+ const fileActions = Array.isArray(fileRequirement.actions)
569
+ ? new Set(fileRequirement.actions.map(String))
570
+ : new Set();
571
+ for (const action of ["list", "read", "add", "replace", "move", "delete"]) {
572
+ const capability = `files.${action}`;
573
+ if (declared.has(capability) !== fileActions.has(action)) {
574
+ issues.push(issue("/requirements/capabilities", "fileCapability", `${capability} and requirements.files.actions.${action} must be declared together`));
575
+ }
576
+ }
577
+ return issues;
578
+ }
579
+ function localManifestSchemaCandidate(value, nativeOnly = false) {
580
+ const source = asObject(value);
581
+ if (source.distribution === "portable")
582
+ return value;
583
+ // Only URL fields need a schema-safe local substitute. A shallow copy keeps
584
+ // non-JSON values visible to the schema instead of silently dropping them.
585
+ const object = { ...source };
586
+ for (const field of ["homepage", "icon"]) {
587
+ if (typeof object[field] === "string") {
588
+ object[field] = schemaSafeLocalUrl(object[field], nativeOnly);
589
+ }
590
+ }
591
+ if (Array.isArray(object.redirect_uris)) {
592
+ object.redirect_uris = object.redirect_uris.map((url) => typeof url === "string" ? schemaSafeLocalUrl(url, nativeOnly) : url);
593
+ }
594
+ return object;
595
+ }
596
+ function schemaSafeLocalUrl(value, nativeOnly) {
597
+ try {
598
+ const url = new URL(value);
599
+ if (url.protocol === "http:" && (nativeOnly ? isNativeLoopbackUrl(value) : isLoopback(url.hostname)))
600
+ url.protocol = "https:";
601
+ return url.href;
602
+ }
603
+ catch {
604
+ return value;
605
+ }
606
+ }
607
+ /** RFC 8252 §7.3 native exception: canonical literal IPv4 only, any valid port.
608
+ * This classifies transport; the registered manifest, consent and pairing grant authority. */
609
+ export function isNativeLoopbackOrigin(value) {
610
+ if (typeof value !== "string" || !/^http:\/\/127\.0\.0\.1(?::[1-9][0-9]{0,4})?$/.test(value))
611
+ return false;
612
+ try {
613
+ return new URL(value).origin === value;
614
+ }
615
+ catch {
616
+ return false;
617
+ }
618
+ }
619
+ function isNativeLoopbackUrl(value) {
620
+ const origin = /^http:\/\/[^/?#]+/.exec(value)?.[0];
621
+ return isNativeLoopbackOrigin(origin);
622
+ }
623
+ function secureOrAllowedLocal(url, allowLocal) {
624
+ return url.protocol === "https:"
625
+ || (allowLocal && url.protocol === "http:" && isLoopback(url.hostname));
626
+ }
627
+ function isLoopback(hostname) {
628
+ return hostname === "localhost"
629
+ || hostname === "127.0.0.1"
630
+ || hostname === "[::1]"
631
+ || hostname === "::1";
632
+ }
633
+ function invalid(issues) {
634
+ return { valid: false, issues };
635
+ }
636
+ function issue(path, keyword, message, params = {}) {
637
+ return { path, keyword, message, params };
638
+ }
639
+ function asObject(value) {
640
+ return value !== null && typeof value === "object" && !Array.isArray(value)
641
+ ? value
642
+ : {};
643
+ }
@@ -0,0 +1,6 @@
1
+ import { type EncryptedOperation } from "./operations.js";
2
+ export declare const MUTATION_FINGERPRINT_SCHEMA_VERSION: 1;
3
+ export declare const MUTATION_FINGERPRINT_DOMAIN: "mdbase-connect mutation fingerprint v1\0";
4
+ export declare function canonicalMutationInput(input: unknown): string;
5
+ export declare function mutationFingerprintTranscript(operation: EncryptedOperation, input: unknown): Uint8Array<ArrayBuffer>;
6
+ export declare function mutationFingerprint(operation: EncryptedOperation, input: unknown): Promise<string>;