ramosedb 0.0.1 → 0.4.0

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 (960) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +17 -0
  3. package/README.md +57 -2
  4. package/dist/Auth.d.ts +55 -0
  5. package/dist/Auth.d.ts.map +1 -0
  6. package/dist/Auth.js +50 -0
  7. package/dist/Auth.js.map +1 -0
  8. package/dist/Database.d.ts +40 -0
  9. package/dist/Database.d.ts.map +1 -0
  10. package/dist/Database.js +62 -0
  11. package/dist/Database.js.map +1 -0
  12. package/dist/Providers.d.ts +8 -0
  13. package/dist/Providers.d.ts.map +1 -0
  14. package/dist/Providers.js +9 -0
  15. package/dist/Providers.js.map +1 -0
  16. package/dist/RamoseEnv.d.ts +37 -0
  17. package/dist/RamoseEnv.d.ts.map +1 -0
  18. package/dist/RamoseEnv.js +2 -0
  19. package/dist/RamoseEnv.js.map +1 -0
  20. package/dist/Server.d.ts +100 -0
  21. package/dist/Server.d.ts.map +1 -0
  22. package/dist/Server.js +263 -0
  23. package/dist/Server.js.map +1 -0
  24. package/dist/ServerRuntime.d.ts +10 -0
  25. package/dist/ServerRuntime.d.ts.map +1 -0
  26. package/dist/ServerRuntime.js +11 -0
  27. package/dist/ServerRuntime.js.map +1 -0
  28. package/dist/better-auth/client.d.ts +19 -0
  29. package/dist/better-auth/client.d.ts.map +1 -0
  30. package/dist/better-auth/client.js +110 -0
  31. package/dist/better-auth/client.js.map +1 -0
  32. package/dist/better-auth/index.d.ts +140 -0
  33. package/dist/better-auth/index.d.ts.map +1 -0
  34. package/dist/better-auth/index.js +168 -0
  35. package/dist/better-auth/index.js.map +1 -0
  36. package/dist/client/activation.d.ts +2 -0
  37. package/dist/client/activation.d.ts.map +1 -0
  38. package/dist/client/activation.js +33 -0
  39. package/dist/client/activation.js.map +1 -0
  40. package/dist/client/catalog.d.ts +15 -0
  41. package/dist/client/catalog.d.ts.map +1 -0
  42. package/dist/client/catalog.js +48 -0
  43. package/dist/client/catalog.js.map +1 -0
  44. package/dist/client/changesets.d.ts +85 -0
  45. package/dist/client/changesets.d.ts.map +1 -0
  46. package/dist/client/changesets.js +160 -0
  47. package/dist/client/changesets.js.map +1 -0
  48. package/dist/client/client.d.ts +45 -0
  49. package/dist/client/client.d.ts.map +1 -0
  50. package/dist/client/client.js +425 -0
  51. package/dist/client/client.js.map +1 -0
  52. package/dist/client/database.d.ts +163 -0
  53. package/dist/client/database.d.ts.map +1 -0
  54. package/dist/client/database.js +795 -0
  55. package/dist/client/database.js.map +1 -0
  56. package/dist/client/entity.d.ts +63 -0
  57. package/dist/client/entity.d.ts.map +1 -0
  58. package/dist/client/entity.js +141 -0
  59. package/dist/client/entity.js.map +1 -0
  60. package/dist/client/errors.d.ts +67 -0
  61. package/dist/client/errors.d.ts.map +1 -0
  62. package/dist/client/errors.js +39 -0
  63. package/dist/client/errors.js.map +1 -0
  64. package/dist/client/index.d.ts +13 -0
  65. package/dist/client/index.d.ts.map +1 -0
  66. package/dist/client/index.js +6 -0
  67. package/dist/client/index.js.map +1 -0
  68. package/dist/client/mutation-schema.d.ts +92 -0
  69. package/dist/client/mutation-schema.d.ts.map +1 -0
  70. package/dist/client/mutation-schema.js +2 -0
  71. package/dist/client/mutation-schema.js.map +1 -0
  72. package/dist/client/mutation.d.ts +25 -0
  73. package/dist/client/mutation.d.ts.map +1 -0
  74. package/dist/client/mutation.js +75 -0
  75. package/dist/client/mutation.js.map +1 -0
  76. package/dist/client/operations.d.ts +39 -0
  77. package/dist/client/operations.d.ts.map +1 -0
  78. package/dist/client/operations.js +183 -0
  79. package/dist/client/operations.js.map +1 -0
  80. package/dist/client/query.d.ts +53 -0
  81. package/dist/client/query.d.ts.map +1 -0
  82. package/dist/client/query.js +85 -0
  83. package/dist/client/query.js.map +1 -0
  84. package/dist/client/receipt.d.ts +53 -0
  85. package/dist/client/receipt.d.ts.map +1 -0
  86. package/dist/client/receipt.js +79 -0
  87. package/dist/client/receipt.js.map +1 -0
  88. package/dist/client/submission.d.ts +44 -0
  89. package/dist/client/submission.d.ts.map +1 -0
  90. package/dist/client/submission.js +165 -0
  91. package/dist/client/submission.js.map +1 -0
  92. package/dist/client/subscription.d.ts +18 -0
  93. package/dist/client/subscription.d.ts.map +1 -0
  94. package/dist/client/subscription.js +75 -0
  95. package/dist/client/subscription.js.map +1 -0
  96. package/dist/client/sync.d.ts +32 -0
  97. package/dist/client/sync.d.ts.map +1 -0
  98. package/dist/client/sync.js +34 -0
  99. package/dist/client/sync.js.map +1 -0
  100. package/dist/client/view.d.ts +37 -0
  101. package/dist/client/view.d.ts.map +1 -0
  102. package/dist/client/view.js +112 -0
  103. package/dist/client/view.js.map +1 -0
  104. package/dist/db/Binding.d.ts +79 -0
  105. package/dist/db/Binding.d.ts.map +1 -0
  106. package/dist/db/Binding.js +138 -0
  107. package/dist/db/Binding.js.map +1 -0
  108. package/dist/db/Composer.d.ts +7 -0
  109. package/dist/db/Composer.d.ts.map +1 -0
  110. package/dist/db/Composer.js +6 -0
  111. package/dist/db/Composer.js.map +1 -0
  112. package/dist/db/DatabaseName.d.ts +7 -0
  113. package/dist/db/DatabaseName.d.ts.map +1 -0
  114. package/dist/db/DatabaseName.js +9 -0
  115. package/dist/db/DatabaseName.js.map +1 -0
  116. package/dist/db/Eid.d.ts +19 -0
  117. package/dist/db/Eid.d.ts.map +1 -0
  118. package/dist/db/Eid.js +2 -0
  119. package/dist/db/Eid.js.map +1 -0
  120. package/dist/db/Entity.d.ts +133 -0
  121. package/dist/db/Entity.d.ts.map +1 -0
  122. package/dist/db/Entity.js +104 -0
  123. package/dist/db/Entity.js.map +1 -0
  124. package/dist/db/Errors.d.ts +138 -0
  125. package/dist/db/Errors.d.ts.map +1 -0
  126. package/dist/db/Errors.js +171 -0
  127. package/dist/db/Errors.js.map +1 -0
  128. package/dist/db/Field.d.ts +170 -0
  129. package/dist/db/Field.d.ts.map +1 -0
  130. package/dist/db/Field.js +187 -0
  131. package/dist/db/Field.js.map +1 -0
  132. package/dist/db/IdentName.d.ts +94 -0
  133. package/dist/db/IdentName.d.ts.map +1 -0
  134. package/dist/db/IdentName.js +34 -0
  135. package/dist/db/IdentName.js.map +1 -0
  136. package/dist/db/Operation.d.ts +441 -0
  137. package/dist/db/Operation.d.ts.map +1 -0
  138. package/dist/db/Operation.js +237 -0
  139. package/dist/db/Operation.js.map +1 -0
  140. package/dist/db/Projection.d.ts +97 -0
  141. package/dist/db/Projection.d.ts.map +1 -0
  142. package/dist/db/Projection.js +183 -0
  143. package/dist/db/Projection.js.map +1 -0
  144. package/dist/db/Pull.d.ts +361 -0
  145. package/dist/db/Pull.d.ts.map +1 -0
  146. package/dist/db/Pull.js +547 -0
  147. package/dist/db/Pull.js.map +1 -0
  148. package/dist/db/Schema.d.ts +37 -0
  149. package/dist/db/Schema.d.ts.map +1 -0
  150. package/dist/db/Schema.js +94 -0
  151. package/dist/db/Schema.js.map +1 -0
  152. package/dist/db/Trait.d.ts +129 -0
  153. package/dist/db/Trait.d.ts.map +1 -0
  154. package/dist/db/Trait.js +65 -0
  155. package/dist/db/Trait.js.map +1 -0
  156. package/dist/db/Tx.d.ts +128 -0
  157. package/dist/db/Tx.d.ts.map +1 -0
  158. package/dist/db/Tx.js +248 -0
  159. package/dist/db/Tx.js.map +1 -0
  160. package/dist/db/allocations.d.ts +44 -0
  161. package/dist/db/allocations.d.ts.map +1 -0
  162. package/dist/db/allocations.js +70 -0
  163. package/dist/db/allocations.js.map +1 -0
  164. package/dist/db/attrRef.d.ts +5 -0
  165. package/dist/db/attrRef.d.ts.map +1 -0
  166. package/dist/db/attrRef.js +6 -0
  167. package/dist/db/attrRef.js.map +1 -0
  168. package/dist/db/compose.d.ts +26 -0
  169. package/dist/db/compose.d.ts.map +1 -0
  170. package/dist/db/compose.js +105 -0
  171. package/dist/db/compose.js.map +1 -0
  172. package/dist/db/composition.d.ts +4 -0
  173. package/dist/db/composition.d.ts.map +1 -0
  174. package/dist/db/composition.js +24 -0
  175. package/dist/db/composition.js.map +1 -0
  176. package/dist/db/creation.d.ts +102 -0
  177. package/dist/db/creation.d.ts.map +1 -0
  178. package/dist/db/creation.js +448 -0
  179. package/dist/db/creation.js.map +1 -0
  180. package/dist/db/deployedSchema.d.ts +12 -0
  181. package/dist/db/deployedSchema.d.ts.map +1 -0
  182. package/dist/db/deployedSchema.js +80 -0
  183. package/dist/db/deployedSchema.js.map +1 -0
  184. package/dist/db/documentation.d.ts +4 -0
  185. package/dist/db/documentation.d.ts.map +1 -0
  186. package/dist/db/documentation.js +4 -0
  187. package/dist/db/documentation.js.map +1 -0
  188. package/dist/db/ensure.d.ts +16 -0
  189. package/dist/db/ensure.d.ts.map +1 -0
  190. package/dist/db/ensure.js +48 -0
  191. package/dist/db/ensure.js.map +1 -0
  192. package/dist/db/entityArg.d.ts +15 -0
  193. package/dist/db/entityArg.d.ts.map +1 -0
  194. package/dist/db/entityArg.js +71 -0
  195. package/dist/db/entityArg.js.map +1 -0
  196. package/dist/db/equal.d.ts +4 -0
  197. package/dist/db/equal.d.ts.map +1 -0
  198. package/dist/db/equal.js +2 -0
  199. package/dist/db/equal.js.map +1 -0
  200. package/dist/db/idents.d.ts +90 -0
  201. package/dist/db/idents.d.ts.map +1 -0
  202. package/dist/db/idents.js +2 -0
  203. package/dist/db/idents.js.map +1 -0
  204. package/dist/db/index.d.ts +27 -0
  205. package/dist/db/index.d.ts.map +1 -0
  206. package/dist/db/index.js +20 -0
  207. package/dist/db/index.js.map +1 -0
  208. package/dist/db/internal.d.ts +27 -0
  209. package/dist/db/internal.d.ts.map +1 -0
  210. package/dist/db/internal.js +27 -0
  211. package/dist/db/internal.js.map +1 -0
  212. package/dist/db/query/cursor.d.ts +13 -0
  213. package/dist/db/query/cursor.d.ts.map +1 -0
  214. package/dist/db/query/cursor.js +150 -0
  215. package/dist/db/query/cursor.js.map +1 -0
  216. package/dist/db/query/elemFilter.d.ts +7 -0
  217. package/dist/db/query/elemFilter.d.ts.map +1 -0
  218. package/dist/db/query/elemFilter.js +280 -0
  219. package/dist/db/query/elemFilter.js.map +1 -0
  220. package/dist/db/query/fluent.d.ts +92 -0
  221. package/dist/db/query/fluent.d.ts.map +1 -0
  222. package/dist/db/query/fluent.js +125 -0
  223. package/dist/db/query/fluent.js.map +1 -0
  224. package/dist/db/query/focus.d.ts +42 -0
  225. package/dist/db/query/focus.d.ts.map +1 -0
  226. package/dist/db/query/focus.js +2 -0
  227. package/dist/db/query/focus.js.map +1 -0
  228. package/dist/db/query/index.d.ts +7 -0
  229. package/dist/db/query/index.d.ts.map +1 -0
  230. package/dist/db/query/index.js +6 -0
  231. package/dist/db/query/index.js.map +1 -0
  232. package/dist/db/query/kernel.d.ts +215 -0
  233. package/dist/db/query/kernel.d.ts.map +1 -0
  234. package/dist/db/query/kernel.js +284 -0
  235. package/dist/db/query/kernel.js.map +1 -0
  236. package/dist/db/query/lib.d.ts +168 -0
  237. package/dist/db/query/lib.d.ts.map +1 -0
  238. package/dist/db/query/lib.js +175 -0
  239. package/dist/db/query/lib.js.map +1 -0
  240. package/dist/db/query/query.d.ts +209 -0
  241. package/dist/db/query/query.d.ts.map +1 -0
  242. package/dist/db/query/query.js +1536 -0
  243. package/dist/db/query/query.js.map +1 -0
  244. package/dist/db/query/stdlib/failures.d.ts +91 -0
  245. package/dist/db/query/stdlib/failures.d.ts.map +1 -0
  246. package/dist/db/query/stdlib/failures.js +57 -0
  247. package/dist/db/query/stdlib/failures.js.map +1 -0
  248. package/dist/db/query/stdlib/implementations.d.ts +5 -0
  249. package/dist/db/query/stdlib/implementations.d.ts.map +1 -0
  250. package/dist/db/query/stdlib/implementations.js +208 -0
  251. package/dist/db/query/stdlib/implementations.js.map +1 -0
  252. package/dist/db/query/stdlib/index.d.ts +6 -0
  253. package/dist/db/query/stdlib/index.d.ts.map +1 -0
  254. package/dist/db/query/stdlib/index.js +6 -0
  255. package/dist/db/query/stdlib/index.js.map +1 -0
  256. package/dist/db/query/stdlib/manifest.d.ts +3 -0
  257. package/dist/db/query/stdlib/manifest.d.ts.map +1 -0
  258. package/dist/db/query/stdlib/manifest.js +1067 -0
  259. package/dist/db/query/stdlib/manifest.js.map +1 -0
  260. package/dist/db/query/stdlib/registry.d.ts +22 -0
  261. package/dist/db/query/stdlib/registry.d.ts.map +1 -0
  262. package/dist/db/query/stdlib/registry.js +144 -0
  263. package/dist/db/query/stdlib/registry.js.map +1 -0
  264. package/dist/db/query/stdlib/types.d.ts +50 -0
  265. package/dist/db/query/stdlib/types.d.ts.map +1 -0
  266. package/dist/db/query/stdlib/types.js +17 -0
  267. package/dist/db/query/stdlib/types.js.map +1 -0
  268. package/dist/db/query/stdlib/values.d.ts +17 -0
  269. package/dist/db/query/stdlib/values.d.ts.map +1 -0
  270. package/dist/db/query/stdlib/values.js +200 -0
  271. package/dist/db/query/stdlib/values.js.map +1 -0
  272. package/dist/db/query/surface.d.ts +15 -0
  273. package/dist/db/query/surface.d.ts.map +1 -0
  274. package/dist/db/query/surface.js +14 -0
  275. package/dist/db/query/surface.js.map +1 -0
  276. package/dist/db/reachability.d.ts +40 -0
  277. package/dist/db/reachability.d.ts.map +1 -0
  278. package/dist/db/reachability.js +118 -0
  279. package/dist/db/reachability.js.map +1 -0
  280. package/dist/db/refs.d.ts +46 -0
  281. package/dist/db/refs.d.ts.map +1 -0
  282. package/dist/db/refs.js +69 -0
  283. package/dist/db/refs.js.map +1 -0
  284. package/dist/db/shapes.d.ts +227 -0
  285. package/dist/db/shapes.d.ts.map +1 -0
  286. package/dist/db/shapes.js +246 -0
  287. package/dist/db/shapes.js.map +1 -0
  288. package/dist/db/valueTypes.d.ts +92 -0
  289. package/dist/db/valueTypes.d.ts.map +1 -0
  290. package/dist/db/valueTypes.js +105 -0
  291. package/dist/db/valueTypes.js.map +1 -0
  292. package/dist/errorHttp.d.ts +27 -0
  293. package/dist/errorHttp.d.ts.map +1 -0
  294. package/dist/errorHttp.js +95 -0
  295. package/dist/errorHttp.js.map +1 -0
  296. package/dist/index.d.ts +7 -0
  297. package/dist/index.d.ts.map +1 -0
  298. package/dist/index.js +7 -0
  299. package/dist/index.js.map +1 -0
  300. package/dist/internal/authorization/authoring/compile.d.ts +132 -0
  301. package/dist/internal/authorization/authoring/compile.d.ts.map +1 -0
  302. package/dist/internal/authorization/authoring/compile.js +634 -0
  303. package/dist/internal/authorization/authoring/compile.js.map +1 -0
  304. package/dist/internal/authorization/authoring/expr.d.ts +25 -0
  305. package/dist/internal/authorization/authoring/expr.d.ts.map +1 -0
  306. package/dist/internal/authorization/authoring/expr.js +56 -0
  307. package/dist/internal/authorization/authoring/expr.js.map +1 -0
  308. package/dist/internal/authorization/authoring/index.d.ts +10 -0
  309. package/dist/internal/authorization/authoring/index.d.ts.map +1 -0
  310. package/dist/internal/authorization/authoring/index.js +8 -0
  311. package/dist/internal/authorization/authoring/index.js.map +1 -0
  312. package/dist/internal/authorization/authoring/invoke.d.ts +8 -0
  313. package/dist/internal/authorization/authoring/invoke.d.ts.map +1 -0
  314. package/dist/internal/authorization/authoring/invoke.js +7 -0
  315. package/dist/internal/authorization/authoring/invoke.js.map +1 -0
  316. package/dist/internal/authorization/authoring/operations.d.ts +81 -0
  317. package/dist/internal/authorization/authoring/operations.d.ts.map +1 -0
  318. package/dist/internal/authorization/authoring/operations.js +591 -0
  319. package/dist/internal/authorization/authoring/operations.js.map +1 -0
  320. package/dist/internal/authorization/authoring/path.d.ts +20 -0
  321. package/dist/internal/authorization/authoring/path.d.ts.map +1 -0
  322. package/dist/internal/authorization/authoring/path.js +109 -0
  323. package/dist/internal/authorization/authoring/path.js.map +1 -0
  324. package/dist/internal/authorization/authoring/policy.d.ts +120 -0
  325. package/dist/internal/authorization/authoring/policy.d.ts.map +1 -0
  326. package/dist/internal/authorization/authoring/policy.js +218 -0
  327. package/dist/internal/authorization/authoring/policy.js.map +1 -0
  328. package/dist/internal/authorization/authoring/read.d.ts +13 -0
  329. package/dist/internal/authorization/authoring/read.d.ts.map +1 -0
  330. package/dist/internal/authorization/authoring/read.js +27 -0
  331. package/dist/internal/authorization/authoring/read.js.map +1 -0
  332. package/dist/internal/authorization/authoring/types.d.ts +127 -0
  333. package/dist/internal/authorization/authoring/types.d.ts.map +1 -0
  334. package/dist/internal/authorization/authoring/types.js +43 -0
  335. package/dist/internal/authorization/authoring/types.js.map +1 -0
  336. package/dist/internal/authorization/bind.d.ts +687 -0
  337. package/dist/internal/authorization/bind.d.ts.map +1 -0
  338. package/dist/internal/authorization/bind.js +485 -0
  339. package/dist/internal/authorization/bind.js.map +1 -0
  340. package/dist/internal/authorization/bounds.d.ts +13 -0
  341. package/dist/internal/authorization/bounds.d.ts.map +1 -0
  342. package/dist/internal/authorization/bounds.js +9 -0
  343. package/dist/internal/authorization/bounds.js.map +1 -0
  344. package/dist/internal/authorization/canonical-json.d.ts +6 -0
  345. package/dist/internal/authorization/canonical-json.d.ts.map +1 -0
  346. package/dist/internal/authorization/canonical-json.js +65 -0
  347. package/dist/internal/authorization/canonical-json.js.map +1 -0
  348. package/dist/internal/authorization/catalog-unit.d.ts +1033 -0
  349. package/dist/internal/authorization/catalog-unit.d.ts.map +1 -0
  350. package/dist/internal/authorization/catalog-unit.js +303 -0
  351. package/dist/internal/authorization/catalog-unit.js.map +1 -0
  352. package/dist/internal/authorization/catalog.d.ts +472 -0
  353. package/dist/internal/authorization/catalog.d.ts.map +1 -0
  354. package/dist/internal/authorization/catalog.js +134 -0
  355. package/dist/internal/authorization/catalog.js.map +1 -0
  356. package/dist/internal/authorization/changesets.d.ts +54 -0
  357. package/dist/internal/authorization/changesets.d.ts.map +1 -0
  358. package/dist/internal/authorization/changesets.js +156 -0
  359. package/dist/internal/authorization/changesets.js.map +1 -0
  360. package/dist/internal/authorization/composition.d.ts +10 -0
  361. package/dist/internal/authorization/composition.d.ts.map +1 -0
  362. package/dist/internal/authorization/composition.js +28 -0
  363. package/dist/internal/authorization/composition.js.map +1 -0
  364. package/dist/internal/authorization/database-bindings.d.ts +48 -0
  365. package/dist/internal/authorization/database-bindings.d.ts.map +1 -0
  366. package/dist/internal/authorization/database-bindings.js +101 -0
  367. package/dist/internal/authorization/database-bindings.js.map +1 -0
  368. package/dist/internal/authorization/database-target.d.ts +75 -0
  369. package/dist/internal/authorization/database-target.d.ts.map +1 -0
  370. package/dist/internal/authorization/database-target.js +65 -0
  371. package/dist/internal/authorization/database-target.js.map +1 -0
  372. package/dist/internal/authorization/decode.d.ts +1704 -0
  373. package/dist/internal/authorization/decode.d.ts.map +1 -0
  374. package/dist/internal/authorization/decode.js +294 -0
  375. package/dist/internal/authorization/decode.js.map +1 -0
  376. package/dist/internal/authorization/definitions.d.ts +66 -0
  377. package/dist/internal/authorization/definitions.d.ts.map +1 -0
  378. package/dist/internal/authorization/definitions.js +335 -0
  379. package/dist/internal/authorization/definitions.js.map +1 -0
  380. package/dist/internal/authorization/deployed.d.ts +43 -0
  381. package/dist/internal/authorization/deployed.d.ts.map +1 -0
  382. package/dist/internal/authorization/deployed.js +184 -0
  383. package/dist/internal/authorization/deployed.js.map +1 -0
  384. package/dist/internal/authorization/entity-targets.d.ts +68 -0
  385. package/dist/internal/authorization/entity-targets.d.ts.map +1 -0
  386. package/dist/internal/authorization/entity-targets.js +244 -0
  387. package/dist/internal/authorization/entity-targets.js.map +1 -0
  388. package/dist/internal/authorization/expr.d.ts +259 -0
  389. package/dist/internal/authorization/expr.d.ts.map +1 -0
  390. package/dist/internal/authorization/expr.js +55 -0
  391. package/dist/internal/authorization/expr.js.map +1 -0
  392. package/dist/internal/authorization/failures.d.ts +78 -0
  393. package/dist/internal/authorization/failures.d.ts.map +1 -0
  394. package/dist/internal/authorization/failures.js +22 -0
  395. package/dist/internal/authorization/failures.js.map +1 -0
  396. package/dist/internal/authorization/identities.d.ts +207 -0
  397. package/dist/internal/authorization/identities.d.ts.map +1 -0
  398. package/dist/internal/authorization/identities.js +71 -0
  399. package/dist/internal/authorization/identities.js.map +1 -0
  400. package/dist/internal/authorization/index.d.ts +33 -0
  401. package/dist/internal/authorization/index.d.ts.map +1 -0
  402. package/dist/internal/authorization/index.js +33 -0
  403. package/dist/internal/authorization/index.js.map +1 -0
  404. package/dist/internal/authorization/install/normalize.d.ts +196 -0
  405. package/dist/internal/authorization/install/normalize.d.ts.map +1 -0
  406. package/dist/internal/authorization/install/normalize.js +168 -0
  407. package/dist/internal/authorization/install/normalize.js.map +1 -0
  408. package/dist/internal/authorization/install/plan.d.ts +8 -0
  409. package/dist/internal/authorization/install/plan.d.ts.map +1 -0
  410. package/dist/internal/authorization/install/plan.js +177 -0
  411. package/dist/internal/authorization/install/plan.js.map +1 -0
  412. package/dist/internal/authorization/install.d.ts +404 -0
  413. package/dist/internal/authorization/install.d.ts.map +1 -0
  414. package/dist/internal/authorization/install.js +103 -0
  415. package/dist/internal/authorization/install.js.map +1 -0
  416. package/dist/internal/authorization/invocation-codec.d.ts +10 -0
  417. package/dist/internal/authorization/invocation-codec.d.ts.map +1 -0
  418. package/dist/internal/authorization/invocation-codec.js +36 -0
  419. package/dist/internal/authorization/invocation-codec.js.map +1 -0
  420. package/dist/internal/authorization/invocation-receipts.d.ts +192 -0
  421. package/dist/internal/authorization/invocation-receipts.d.ts.map +1 -0
  422. package/dist/internal/authorization/invocation-receipts.js +546 -0
  423. package/dist/internal/authorization/invocation-receipts.js.map +1 -0
  424. package/dist/internal/authorization/ir.d.ts +1465 -0
  425. package/dist/internal/authorization/ir.d.ts.map +1 -0
  426. package/dist/internal/authorization/ir.js +131 -0
  427. package/dist/internal/authorization/ir.js.map +1 -0
  428. package/dist/internal/authorization/json.d.ts +8 -0
  429. package/dist/internal/authorization/json.d.ts.map +1 -0
  430. package/dist/internal/authorization/json.js +13 -0
  431. package/dist/internal/authorization/json.js.map +1 -0
  432. package/dist/internal/authorization/live.d.ts +38 -0
  433. package/dist/internal/authorization/live.d.ts.map +1 -0
  434. package/dist/internal/authorization/live.js +227 -0
  435. package/dist/internal/authorization/live.js.map +1 -0
  436. package/dist/internal/authorization/operation-grant.d.ts +16 -0
  437. package/dist/internal/authorization/operation-grant.d.ts.map +1 -0
  438. package/dist/internal/authorization/operation-grant.js +79 -0
  439. package/dist/internal/authorization/operation-grant.js.map +1 -0
  440. package/dist/internal/authorization/operation-version.d.ts +28 -0
  441. package/dist/internal/authorization/operation-version.d.ts.map +1 -0
  442. package/dist/internal/authorization/operation-version.js +206 -0
  443. package/dist/internal/authorization/operation-version.js.map +1 -0
  444. package/dist/internal/authorization/operations-runtime.d.ts +78 -0
  445. package/dist/internal/authorization/operations-runtime.d.ts.map +1 -0
  446. package/dist/internal/authorization/operations-runtime.js +1130 -0
  447. package/dist/internal/authorization/operations-runtime.js.map +1 -0
  448. package/dist/internal/authorization/principal.d.ts +95 -0
  449. package/dist/internal/authorization/principal.d.ts.map +1 -0
  450. package/dist/internal/authorization/principal.js +53 -0
  451. package/dist/internal/authorization/principal.js.map +1 -0
  452. package/dist/internal/authorization/query-view.d.ts +7 -0
  453. package/dist/internal/authorization/query-view.d.ts.map +1 -0
  454. package/dist/internal/authorization/query-view.js +17 -0
  455. package/dist/internal/authorization/query-view.js.map +1 -0
  456. package/dist/internal/authorization/read-compatibility.d.ts +185 -0
  457. package/dist/internal/authorization/read-compatibility.d.ts.map +1 -0
  458. package/dist/internal/authorization/read-compatibility.js +176 -0
  459. package/dist/internal/authorization/read-compatibility.js.map +1 -0
  460. package/dist/internal/authorization/read-filter.d.ts +48 -0
  461. package/dist/internal/authorization/read-filter.d.ts.map +1 -0
  462. package/dist/internal/authorization/read-filter.js +496 -0
  463. package/dist/internal/authorization/read-filter.js.map +1 -0
  464. package/dist/internal/authorization/read-tables.d.ts +9 -0
  465. package/dist/internal/authorization/read-tables.d.ts.map +1 -0
  466. package/dist/internal/authorization/read-tables.js +120 -0
  467. package/dist/internal/authorization/read-tables.js.map +1 -0
  468. package/dist/internal/authorization/reads.d.ts +36 -0
  469. package/dist/internal/authorization/reads.d.ts.map +1 -0
  470. package/dist/internal/authorization/reads.js +35 -0
  471. package/dist/internal/authorization/reads.js.map +1 -0
  472. package/dist/internal/authorization/request.d.ts +64 -0
  473. package/dist/internal/authorization/request.d.ts.map +1 -0
  474. package/dist/internal/authorization/request.js +210 -0
  475. package/dist/internal/authorization/request.js.map +1 -0
  476. package/dist/internal/authorization/truth.d.ts +51 -0
  477. package/dist/internal/authorization/truth.d.ts.map +1 -0
  478. package/dist/internal/authorization/truth.js +23 -0
  479. package/dist/internal/authorization/truth.js.map +1 -0
  480. package/dist/internal/authorization/validate.d.ts +3 -0
  481. package/dist/internal/authorization/validate.d.ts.map +1 -0
  482. package/dist/internal/authorization/validate.js +3 -0
  483. package/dist/internal/authorization/validate.js.map +1 -0
  484. package/dist/internal/authorization/validation/catalog.d.ts +32 -0
  485. package/dist/internal/authorization/validation/catalog.d.ts.map +1 -0
  486. package/dist/internal/authorization/validation/catalog.js +417 -0
  487. package/dist/internal/authorization/validation/catalog.js.map +1 -0
  488. package/dist/internal/authorization/validation/common.d.ts +20 -0
  489. package/dist/internal/authorization/validation/common.d.ts.map +1 -0
  490. package/dist/internal/authorization/validation/common.js +36 -0
  491. package/dist/internal/authorization/validation/common.js.map +1 -0
  492. package/dist/internal/authorization/validation/decisions.d.ts +7 -0
  493. package/dist/internal/authorization/validation/decisions.d.ts.map +1 -0
  494. package/dist/internal/authorization/validation/decisions.js +107 -0
  495. package/dist/internal/authorization/validation/decisions.js.map +1 -0
  496. package/dist/internal/authorization/validation/descriptors.d.ts +8 -0
  497. package/dist/internal/authorization/validation/descriptors.d.ts.map +1 -0
  498. package/dist/internal/authorization/validation/descriptors.js +24 -0
  499. package/dist/internal/authorization/validation/descriptors.js.map +1 -0
  500. package/dist/internal/authorization/validation/expression.d.ts +11 -0
  501. package/dist/internal/authorization/validation/expression.d.ts.map +1 -0
  502. package/dist/internal/authorization/validation/expression.js +114 -0
  503. package/dist/internal/authorization/validation/expression.js.map +1 -0
  504. package/dist/internal/authorization/validation/traversal.d.ts +19 -0
  505. package/dist/internal/authorization/validation/traversal.d.ts.map +1 -0
  506. package/dist/internal/authorization/validation/traversal.js +141 -0
  507. package/dist/internal/authorization/validation/traversal.js.map +1 -0
  508. package/dist/internal/authorization/validation/types.d.ts +55 -0
  509. package/dist/internal/authorization/validation/types.d.ts.map +1 -0
  510. package/dist/internal/authorization/validation/types.js +184 -0
  511. package/dist/internal/authorization/validation/types.js.map +1 -0
  512. package/dist/internal/authorization/validation/validate.d.ts +421 -0
  513. package/dist/internal/authorization/validation/validate.d.ts.map +1 -0
  514. package/dist/internal/authorization/validation/validate.js +95 -0
  515. package/dist/internal/authorization/validation/validate.js.map +1 -0
  516. package/dist/internal/authorization/version.d.ts +11 -0
  517. package/dist/internal/authorization/version.d.ts.map +1 -0
  518. package/dist/internal/authorization/version.js +10 -0
  519. package/dist/internal/authorization/version.js.map +1 -0
  520. package/dist/internal/changesets/protocol.d.ts +185 -0
  521. package/dist/internal/changesets/protocol.d.ts.map +1 -0
  522. package/dist/internal/changesets/protocol.js +39 -0
  523. package/dist/internal/changesets/protocol.js.map +1 -0
  524. package/dist/internal/changesets/service.d.ts +69 -0
  525. package/dist/internal/changesets/service.d.ts.map +1 -0
  526. package/dist/internal/changesets/service.js +298 -0
  527. package/dist/internal/changesets/service.js.map +1 -0
  528. package/dist/internal/core/bytes.d.ts +41 -0
  529. package/dist/internal/core/bytes.d.ts.map +1 -0
  530. package/dist/internal/core/bytes.js +215 -0
  531. package/dist/internal/core/bytes.js.map +1 -0
  532. package/dist/internal/core/composition.d.ts +20 -0
  533. package/dist/internal/core/composition.d.ts.map +1 -0
  534. package/dist/internal/core/composition.js +52 -0
  535. package/dist/internal/core/composition.js.map +1 -0
  536. package/dist/internal/core/conn.d.ts +64 -0
  537. package/dist/internal/core/conn.d.ts.map +1 -0
  538. package/dist/internal/core/conn.js +240 -0
  539. package/dist/internal/core/conn.js.map +1 -0
  540. package/dist/internal/core/datom.d.ts +73 -0
  541. package/dist/internal/core/datom.d.ts.map +1 -0
  542. package/dist/internal/core/datom.js +477 -0
  543. package/dist/internal/core/datom.js.map +1 -0
  544. package/dist/internal/core/db.d.ts +65 -0
  545. package/dist/internal/core/db.d.ts.map +1 -0
  546. package/dist/internal/core/db.js +261 -0
  547. package/dist/internal/core/db.js.map +1 -0
  548. package/dist/internal/core/index.d.ts +21 -0
  549. package/dist/internal/core/index.d.ts.map +1 -0
  550. package/dist/internal/core/index.js +21 -0
  551. package/dist/internal/core/index.js.map +1 -0
  552. package/dist/internal/core/json.d.ts +5 -0
  553. package/dist/internal/core/json.d.ts.map +1 -0
  554. package/dist/internal/core/json.js +56 -0
  555. package/dist/internal/core/json.js.map +1 -0
  556. package/dist/internal/core/log.d.ts +68 -0
  557. package/dist/internal/core/log.d.ts.map +1 -0
  558. package/dist/internal/core/log.js +76 -0
  559. package/dist/internal/core/log.js.map +1 -0
  560. package/dist/internal/core/novelty.d.ts +38 -0
  561. package/dist/internal/core/novelty.d.ts.map +1 -0
  562. package/dist/internal/core/novelty.js +300 -0
  563. package/dist/internal/core/novelty.js.map +1 -0
  564. package/dist/internal/core/query/ast.d.ts +174 -0
  565. package/dist/internal/core/query/ast.d.ts.map +1 -0
  566. package/dist/internal/core/query/ast.js +37 -0
  567. package/dist/internal/core/query/ast.js.map +1 -0
  568. package/dist/internal/core/query/builtins.d.ts +19 -0
  569. package/dist/internal/core/query/builtins.d.ts.map +1 -0
  570. package/dist/internal/core/query/builtins.js +242 -0
  571. package/dist/internal/core/query/builtins.js.map +1 -0
  572. package/dist/internal/core/query/edn.d.ts +19 -0
  573. package/dist/internal/core/query/edn.d.ts.map +1 -0
  574. package/dist/internal/core/query/edn.js +248 -0
  575. package/dist/internal/core/query/edn.js.map +1 -0
  576. package/dist/internal/core/query/engine.d.ts +56 -0
  577. package/dist/internal/core/query/engine.d.ts.map +1 -0
  578. package/dist/internal/core/query/engine.js +0 -0
  579. package/dist/internal/core/query/engine.js.map +1 -0
  580. package/dist/internal/core/query/parse.d.ts +8 -0
  581. package/dist/internal/core/query/parse.d.ts.map +1 -0
  582. package/dist/internal/core/query/parse.js +606 -0
  583. package/dist/internal/core/query/parse.js.map +1 -0
  584. package/dist/internal/core/query/pull.d.ts +7 -0
  585. package/dist/internal/core/query/pull.d.ts.map +1 -0
  586. package/dist/internal/core/query/pull.js +304 -0
  587. package/dist/internal/core/query/pull.js.map +1 -0
  588. package/dist/internal/core/query/value.d.ts +10 -0
  589. package/dist/internal/core/query/value.d.ts.map +1 -0
  590. package/dist/internal/core/query/value.js +21 -0
  591. package/dist/internal/core/query/value.js.map +1 -0
  592. package/dist/internal/core/revision.d.ts +19 -0
  593. package/dist/internal/core/revision.d.ts.map +1 -0
  594. package/dist/internal/core/revision.js +13 -0
  595. package/dist/internal/core/revision.js.map +1 -0
  596. package/dist/internal/core/schema.d.ts +63 -0
  597. package/dist/internal/core/schema.d.ts.map +1 -0
  598. package/dist/internal/core/schema.js +228 -0
  599. package/dist/internal/core/schema.js.map +1 -0
  600. package/dist/internal/core/segment.d.ts +16 -0
  601. package/dist/internal/core/segment.d.ts.map +1 -0
  602. package/dist/internal/core/segment.js +149 -0
  603. package/dist/internal/core/segment.js.map +1 -0
  604. package/dist/internal/core/store.d.ts +35 -0
  605. package/dist/internal/core/store.d.ts.map +1 -0
  606. package/dist/internal/core/store.js +88 -0
  607. package/dist/internal/core/store.js.map +1 -0
  608. package/dist/internal/core/telemetry.d.ts +53 -0
  609. package/dist/internal/core/telemetry.d.ts.map +1 -0
  610. package/dist/internal/core/telemetry.js +103 -0
  611. package/dist/internal/core/telemetry.js.map +1 -0
  612. package/dist/internal/core/tree.d.ts +60 -0
  613. package/dist/internal/core/tree.d.ts.map +1 -0
  614. package/dist/internal/core/tree.js +625 -0
  615. package/dist/internal/core/tree.js.map +1 -0
  616. package/dist/internal/core/tx-provenance.d.ts +7 -0
  617. package/dist/internal/core/tx-provenance.d.ts.map +1 -0
  618. package/dist/internal/core/tx-provenance.js +16 -0
  619. package/dist/internal/core/tx-provenance.js.map +1 -0
  620. package/dist/internal/core/tx.d.ts +51 -0
  621. package/dist/internal/core/tx.d.ts.map +1 -0
  622. package/dist/internal/core/tx.js +1029 -0
  623. package/dist/internal/core/tx.js.map +1 -0
  624. package/dist/internal/replica/basis.d.ts +15 -0
  625. package/dist/internal/replica/basis.d.ts.map +1 -0
  626. package/dist/internal/replica/basis.js +32 -0
  627. package/dist/internal/replica/basis.js.map +1 -0
  628. package/dist/internal/replica/errors.d.ts +32 -0
  629. package/dist/internal/replica/errors.d.ts.map +1 -0
  630. package/dist/internal/replica/errors.js +30 -0
  631. package/dist/internal/replica/errors.js.map +1 -0
  632. package/dist/internal/replica/index.d.ts +4 -0
  633. package/dist/internal/replica/index.d.ts.map +1 -0
  634. package/dist/internal/replica/index.js +4 -0
  635. package/dist/internal/replica/index.js.map +1 -0
  636. package/dist/internal/replica/replica-do-testing.d.ts +11 -0
  637. package/dist/internal/replica/replica-do-testing.d.ts.map +1 -0
  638. package/dist/internal/replica/replica-do-testing.js +340 -0
  639. package/dist/internal/replica/replica-do-testing.js.map +1 -0
  640. package/dist/internal/replica/replica-do.d.ts +87 -0
  641. package/dist/internal/replica/replica-do.d.ts.map +1 -0
  642. package/dist/internal/replica/replica-do.js +735 -0
  643. package/dist/internal/replica/replica-do.js.map +1 -0
  644. package/dist/internal/replica/revision-retention.d.ts +29 -0
  645. package/dist/internal/replica/revision-retention.d.ts.map +1 -0
  646. package/dist/internal/replica/revision-retention.js +39 -0
  647. package/dist/internal/replica/revision-retention.js.map +1 -0
  648. package/dist/internal/replication/activation-fence.d.ts +40 -0
  649. package/dist/internal/replication/activation-fence.d.ts.map +1 -0
  650. package/dist/internal/replication/activation-fence.js +85 -0
  651. package/dist/internal/replication/activation-fence.js.map +1 -0
  652. package/dist/internal/replication/digest.d.ts +2 -0
  653. package/dist/internal/replication/digest.d.ts.map +1 -0
  654. package/dist/internal/replication/digest.js +12 -0
  655. package/dist/internal/replication/digest.js.map +1 -0
  656. package/dist/internal/replication/entity-id.d.ts +23 -0
  657. package/dist/internal/replication/entity-id.d.ts.map +1 -0
  658. package/dist/internal/replication/entity-id.js +161 -0
  659. package/dist/internal/replication/entity-id.js.map +1 -0
  660. package/dist/internal/replication/idb.d.ts +9 -0
  661. package/dist/internal/replication/idb.d.ts.map +1 -0
  662. package/dist/internal/replication/idb.js +46 -0
  663. package/dist/internal/replication/idb.js.map +1 -0
  664. package/dist/internal/replication/identity-root.d.ts +11 -0
  665. package/dist/internal/replication/identity-root.d.ts.map +1 -0
  666. package/dist/internal/replication/identity-root.js +48 -0
  667. package/dist/internal/replication/identity-root.js.map +1 -0
  668. package/dist/internal/replication/identity.d.ts +40 -0
  669. package/dist/internal/replication/identity.d.ts.map +1 -0
  670. package/dist/internal/replication/identity.js +95 -0
  671. package/dist/internal/replication/identity.js.map +1 -0
  672. package/dist/internal/replication/index.d.ts +13 -0
  673. package/dist/internal/replication/index.d.ts.map +1 -0
  674. package/dist/internal/replication/index.js +13 -0
  675. package/dist/internal/replication/index.js.map +1 -0
  676. package/dist/internal/replication/indexeddb.d.ts +171 -0
  677. package/dist/internal/replication/indexeddb.d.ts.map +1 -0
  678. package/dist/internal/replication/indexeddb.js +1809 -0
  679. package/dist/internal/replication/indexeddb.js.map +1 -0
  680. package/dist/internal/replication/leadership.d.ts +36 -0
  681. package/dist/internal/replication/leadership.d.ts.map +1 -0
  682. package/dist/internal/replication/leadership.js +108 -0
  683. package/dist/internal/replication/leadership.js.map +1 -0
  684. package/dist/internal/replication/logical.d.ts +40 -0
  685. package/dist/internal/replication/logical.d.ts.map +1 -0
  686. package/dist/internal/replication/logical.js +375 -0
  687. package/dist/internal/replication/logical.js.map +1 -0
  688. package/dist/internal/replication/notices.d.ts +32 -0
  689. package/dist/internal/replication/notices.d.ts.map +1 -0
  690. package/dist/internal/replication/notices.js +92 -0
  691. package/dist/internal/replication/notices.js.map +1 -0
  692. package/dist/internal/replication/outbox-storage.d.ts +98 -0
  693. package/dist/internal/replication/outbox-storage.d.ts.map +1 -0
  694. package/dist/internal/replication/outbox-storage.js +826 -0
  695. package/dist/internal/replication/outbox-storage.js.map +1 -0
  696. package/dist/internal/replication/outbox.d.ts +200 -0
  697. package/dist/internal/replication/outbox.d.ts.map +1 -0
  698. package/dist/internal/replication/outbox.js +744 -0
  699. package/dist/internal/replication/outbox.js.map +1 -0
  700. package/dist/internal/replication/overlay-layers.d.ts +14 -0
  701. package/dist/internal/replication/overlay-layers.d.ts.map +1 -0
  702. package/dist/internal/replication/overlay-layers.js +2 -0
  703. package/dist/internal/replication/overlay-layers.js.map +1 -0
  704. package/dist/internal/replication/overlay-records.d.ts +61 -0
  705. package/dist/internal/replication/overlay-records.d.ts.map +1 -0
  706. package/dist/internal/replication/overlay-records.js +328 -0
  707. package/dist/internal/replication/overlay-records.js.map +1 -0
  708. package/dist/internal/replication/overlay.d.ts +20 -0
  709. package/dist/internal/replication/overlay.d.ts.map +1 -0
  710. package/dist/internal/replication/overlay.js +159 -0
  711. package/dist/internal/replication/overlay.js.map +1 -0
  712. package/dist/internal/replication/projection-binding.d.ts +39 -0
  713. package/dist/internal/replication/projection-binding.d.ts.map +1 -0
  714. package/dist/internal/replication/projection-binding.js +76 -0
  715. package/dist/internal/replication/projection-binding.js.map +1 -0
  716. package/dist/internal/replication/protocol.d.ts +633 -0
  717. package/dist/internal/replication/protocol.d.ts.map +1 -0
  718. package/dist/internal/replication/protocol.js +263 -0
  719. package/dist/internal/replication/protocol.js.map +1 -0
  720. package/dist/internal/replication/reconciliation.d.ts +64 -0
  721. package/dist/internal/replication/reconciliation.d.ts.map +1 -0
  722. package/dist/internal/replication/reconciliation.js +184 -0
  723. package/dist/internal/replication/reconciliation.js.map +1 -0
  724. package/dist/internal/replication/replica-gc.d.ts +42 -0
  725. package/dist/internal/replication/replica-gc.d.ts.map +1 -0
  726. package/dist/internal/replication/replica-gc.js +91 -0
  727. package/dist/internal/replication/replica-gc.js.map +1 -0
  728. package/dist/internal/replication/replica-integrity.d.ts +107 -0
  729. package/dist/internal/replication/replica-integrity.d.ts.map +1 -0
  730. package/dist/internal/replication/replica-integrity.js +418 -0
  731. package/dist/internal/replication/replica-integrity.js.map +1 -0
  732. package/dist/internal/replication/replica-lifecycle.d.ts +72 -0
  733. package/dist/internal/replication/replica-lifecycle.d.ts.map +1 -0
  734. package/dist/internal/replication/replica-lifecycle.js +126 -0
  735. package/dist/internal/replication/replica-lifecycle.js.map +1 -0
  736. package/dist/internal/replication/replica-schema.d.ts +27 -0
  737. package/dist/internal/replication/replica-schema.d.ts.map +1 -0
  738. package/dist/internal/replication/replica-schema.js +130 -0
  739. package/dist/internal/replication/replica-schema.js.map +1 -0
  740. package/dist/internal/replication/route-slot.d.ts +9 -0
  741. package/dist/internal/replication/route-slot.d.ts.map +1 -0
  742. package/dist/internal/replication/route-slot.js +8 -0
  743. package/dist/internal/replication/route-slot.js.map +1 -0
  744. package/dist/internal/replication/server-identity.d.ts +54 -0
  745. package/dist/internal/replication/server-identity.d.ts.map +1 -0
  746. package/dist/internal/replication/server-identity.js +68 -0
  747. package/dist/internal/replication/server-identity.js.map +1 -0
  748. package/dist/internal/replication/session.d.ts +91 -0
  749. package/dist/internal/replication/session.d.ts.map +1 -0
  750. package/dist/internal/replication/session.js +673 -0
  751. package/dist/internal/replication/session.js.map +1 -0
  752. package/dist/internal/replication/state.d.ts +34 -0
  753. package/dist/internal/replication/state.d.ts.map +1 -0
  754. package/dist/internal/replication/state.js +344 -0
  755. package/dist/internal/replication/state.js.map +1 -0
  756. package/dist/internal/replication/submission.d.ts +115 -0
  757. package/dist/internal/replication/submission.d.ts.map +1 -0
  758. package/dist/internal/replication/submission.js +266 -0
  759. package/dist/internal/replication/submission.js.map +1 -0
  760. package/dist/internal/replication/transport.d.ts +34 -0
  761. package/dist/internal/replication/transport.d.ts.map +1 -0
  762. package/dist/internal/replication/transport.js +215 -0
  763. package/dist/internal/replication/transport.js.map +1 -0
  764. package/dist/internal/runtime-boundaries.d.ts +8 -0
  765. package/dist/internal/runtime-boundaries.d.ts.map +1 -0
  766. package/dist/internal/runtime-boundaries.js +7 -0
  767. package/dist/internal/runtime-boundaries.js.map +1 -0
  768. package/dist/internal/storage/index.d.ts +111 -0
  769. package/dist/internal/storage/index.d.ts.map +1 -0
  770. package/dist/internal/storage/index.js +288 -0
  771. package/dist/internal/storage/index.js.map +1 -0
  772. package/dist/internal/storage/memory.d.ts +31 -0
  773. package/dist/internal/storage/memory.d.ts.map +1 -0
  774. package/dist/internal/storage/memory.js +46 -0
  775. package/dist/internal/storage/memory.js.map +1 -0
  776. package/dist/internal/storage/revisions.d.ts +24 -0
  777. package/dist/internal/storage/revisions.d.ts.map +1 -0
  778. package/dist/internal/storage/revisions.js +74 -0
  779. package/dist/internal/storage/revisions.js.map +1 -0
  780. package/dist/internal/test-hooks.d.ts +47 -0
  781. package/dist/internal/test-hooks.d.ts.map +1 -0
  782. package/dist/internal/test-hooks.js +256 -0
  783. package/dist/internal/test-hooks.js.map +1 -0
  784. package/dist/internal/transactor/env.d.ts +3 -0
  785. package/dist/internal/transactor/env.d.ts.map +1 -0
  786. package/dist/internal/transactor/env.js +5 -0
  787. package/dist/internal/transactor/env.js.map +1 -0
  788. package/dist/internal/transactor/errors.d.ts +47 -0
  789. package/dist/internal/transactor/errors.d.ts.map +1 -0
  790. package/dist/internal/transactor/errors.js +66 -0
  791. package/dist/internal/transactor/errors.js.map +1 -0
  792. package/dist/internal/transactor/host.d.ts +37 -0
  793. package/dist/internal/transactor/host.d.ts.map +1 -0
  794. package/dist/internal/transactor/host.js +11 -0
  795. package/dist/internal/transactor/host.js.map +1 -0
  796. package/dist/internal/transactor/index.d.ts +8 -0
  797. package/dist/internal/transactor/index.d.ts.map +1 -0
  798. package/dist/internal/transactor/index.js +8 -0
  799. package/dist/internal/transactor/index.js.map +1 -0
  800. package/dist/internal/transactor/indexer.d.ts +53 -0
  801. package/dist/internal/transactor/indexer.d.ts.map +1 -0
  802. package/dist/internal/transactor/indexer.js +125 -0
  803. package/dist/internal/transactor/indexer.js.map +1 -0
  804. package/dist/internal/transactor/internal.d.ts +8 -0
  805. package/dist/internal/transactor/internal.d.ts.map +1 -0
  806. package/dist/internal/transactor/internal.js +28 -0
  807. package/dist/internal/transactor/internal.js.map +1 -0
  808. package/dist/internal/transactor/observability.d.ts +44 -0
  809. package/dist/internal/transactor/observability.d.ts.map +1 -0
  810. package/dist/internal/transactor/observability.js +39 -0
  811. package/dist/internal/transactor/observability.js.map +1 -0
  812. package/dist/internal/transactor/transactor-do.d.ts +35 -0
  813. package/dist/internal/transactor/transactor-do.d.ts.map +1 -0
  814. package/dist/internal/transactor/transactor-do.js +198 -0
  815. package/dist/internal/transactor/transactor-do.js.map +1 -0
  816. package/dist/internal/transactor/transactor.d.ts +209 -0
  817. package/dist/internal/transactor/transactor.d.ts.map +1 -0
  818. package/dist/internal/transactor/transactor.js +1166 -0
  819. package/dist/internal/transactor/transactor.js.map +1 -0
  820. package/dist/mcp/contract.d.ts +49 -0
  821. package/dist/mcp/contract.d.ts.map +1 -0
  822. package/dist/mcp/contract.js +199 -0
  823. package/dist/mcp/contract.js.map +1 -0
  824. package/dist/mcp/kernel.d.ts +56 -0
  825. package/dist/mcp/kernel.d.ts.map +1 -0
  826. package/dist/mcp/kernel.js +344 -0
  827. package/dist/mcp/kernel.js.map +1 -0
  828. package/dist/mcp/server.d.ts +8 -0
  829. package/dist/mcp/server.d.ts.map +1 -0
  830. package/dist/mcp/server.js +182 -0
  831. package/dist/mcp/server.js.map +1 -0
  832. package/dist/peer.d.ts +175 -0
  833. package/dist/peer.d.ts.map +1 -0
  834. package/dist/peer.js +200 -0
  835. package/dist/peer.js.map +1 -0
  836. package/dist/react/hooks.d.ts +157 -0
  837. package/dist/react/hooks.d.ts.map +1 -0
  838. package/dist/react/hooks.js +130 -0
  839. package/dist/react/hooks.js.map +1 -0
  840. package/dist/react/index.d.ts +4 -0
  841. package/dist/react/index.d.ts.map +1 -0
  842. package/dist/react/index.js +2 -0
  843. package/dist/react/index.js.map +1 -0
  844. package/dist/react/query-state.d.ts +60 -0
  845. package/dist/react/query-state.d.ts.map +1 -0
  846. package/dist/react/query-state.js +48 -0
  847. package/dist/react/query-state.js.map +1 -0
  848. package/dist/react/receipt-state.d.ts +27 -0
  849. package/dist/react/receipt-state.d.ts.map +1 -0
  850. package/dist/react/receipt-state.js +2 -0
  851. package/dist/react/receipt-state.js.map +1 -0
  852. package/dist/react/store.d.ts +30 -0
  853. package/dist/react/store.d.ts.map +1 -0
  854. package/dist/react/store.js +118 -0
  855. package/dist/react/store.js.map +1 -0
  856. package/dist/react/suspense.d.ts +6 -0
  857. package/dist/react/suspense.d.ts.map +1 -0
  858. package/dist/react/suspense.js +111 -0
  859. package/dist/react/suspense.js.map +1 -0
  860. package/dist/worker/admit.d.ts +9 -0
  861. package/dist/worker/admit.d.ts.map +1 -0
  862. package/dist/worker/admit.js +43 -0
  863. package/dist/worker/admit.js.map +1 -0
  864. package/dist/worker/analytics.d.ts +39 -0
  865. package/dist/worker/analytics.d.ts.map +1 -0
  866. package/dist/worker/analytics.js +54 -0
  867. package/dist/worker/analytics.js.map +1 -0
  868. package/dist/worker/auth.d.ts +26 -0
  869. package/dist/worker/auth.d.ts.map +1 -0
  870. package/dist/worker/auth.js +2 -0
  871. package/dist/worker/auth.js.map +1 -0
  872. package/dist/worker/authorized-live.d.ts +15 -0
  873. package/dist/worker/authorized-live.d.ts.map +1 -0
  874. package/dist/worker/authorized-live.js +30 -0
  875. package/dist/worker/authorized-live.js.map +1 -0
  876. package/dist/worker/authorized-operation.d.ts +30 -0
  877. package/dist/worker/authorized-operation.d.ts.map +1 -0
  878. package/dist/worker/authorized-operation.js +304 -0
  879. package/dist/worker/authorized-operation.js.map +1 -0
  880. package/dist/worker/authorized-read.d.ts +32 -0
  881. package/dist/worker/authorized-read.d.ts.map +1 -0
  882. package/dist/worker/authorized-read.js +194 -0
  883. package/dist/worker/authorized-read.js.map +1 -0
  884. package/dist/worker/authorized-replication.d.ts +21 -0
  885. package/dist/worker/authorized-replication.d.ts.map +1 -0
  886. package/dist/worker/authorized-replication.js +593 -0
  887. package/dist/worker/authorized-replication.js.map +1 -0
  888. package/dist/worker/changesets.d.ts +9 -0
  889. package/dist/worker/changesets.d.ts.map +1 -0
  890. package/dist/worker/changesets.js +105 -0
  891. package/dist/worker/changesets.js.map +1 -0
  892. package/dist/worker/demo.d.ts +2 -0
  893. package/dist/worker/demo.d.ts.map +1 -0
  894. package/dist/worker/demo.js +85 -0
  895. package/dist/worker/demo.js.map +1 -0
  896. package/dist/worker/errors.d.ts +53 -0
  897. package/dist/worker/errors.d.ts.map +1 -0
  898. package/dist/worker/errors.js +107 -0
  899. package/dist/worker/errors.js.map +1 -0
  900. package/dist/worker/handle.d.ts +21 -0
  901. package/dist/worker/handle.d.ts.map +1 -0
  902. package/dist/worker/handle.js +386 -0
  903. package/dist/worker/handle.js.map +1 -0
  904. package/dist/worker/index.d.ts +27 -0
  905. package/dist/worker/index.d.ts.map +1 -0
  906. package/dist/worker/index.js +24 -0
  907. package/dist/worker/index.js.map +1 -0
  908. package/dist/worker/jwt.d.ts +23 -0
  909. package/dist/worker/jwt.d.ts.map +1 -0
  910. package/dist/worker/jwt.js +288 -0
  911. package/dist/worker/jwt.js.map +1 -0
  912. package/dist/worker/mcp.d.ts +17 -0
  913. package/dist/worker/mcp.d.ts.map +1 -0
  914. package/dist/worker/mcp.js +151 -0
  915. package/dist/worker/mcp.js.map +1 -0
  916. package/dist/worker/operation-catalogs.d.ts +38 -0
  917. package/dist/worker/operation-catalogs.d.ts.map +1 -0
  918. package/dist/worker/operation-catalogs.js +114 -0
  919. package/dist/worker/operation-catalogs.js.map +1 -0
  920. package/dist/worker/peer.d.ts +70 -0
  921. package/dist/worker/peer.d.ts.map +1 -0
  922. package/dist/worker/peer.js +330 -0
  923. package/dist/worker/peer.js.map +1 -0
  924. package/dist/worker/public-observation.d.ts +15 -0
  925. package/dist/worker/public-observation.d.ts.map +1 -0
  926. package/dist/worker/public-observation.js +111 -0
  927. package/dist/worker/public-observation.js.map +1 -0
  928. package/dist/worker/server-identity.d.ts +2 -0
  929. package/dist/worker/server-identity.d.ts.map +1 -0
  930. package/dist/worker/server-identity.js +2 -0
  931. package/dist/worker/server-identity.js.map +1 -0
  932. package/dist/worker/session-sync.d.ts +27 -0
  933. package/dist/worker/session-sync.d.ts.map +1 -0
  934. package/dist/worker/session-sync.js +4 -0
  935. package/dist/worker/session-sync.js.map +1 -0
  936. package/dist/worker/session.d.ts +144 -0
  937. package/dist/worker/session.d.ts.map +1 -0
  938. package/dist/worker/session.js +408 -0
  939. package/dist/worker/session.js.map +1 -0
  940. package/dist/worker/storage-test-admin.d.ts +3 -0
  941. package/dist/worker/storage-test-admin.d.ts.map +1 -0
  942. package/dist/worker/storage-test-admin.js +277 -0
  943. package/dist/worker/storage-test-admin.js.map +1 -0
  944. package/dist/worker/test-admin.d.ts +11 -0
  945. package/dist/worker/test-admin.d.ts.map +1 -0
  946. package/dist/worker/test-admin.js +432 -0
  947. package/dist/worker/test-admin.js.map +1 -0
  948. package/dist/worker/testing.d.ts +14 -0
  949. package/dist/worker/testing.d.ts.map +1 -0
  950. package/dist/worker/testing.js +71 -0
  951. package/dist/worker/testing.js.map +1 -0
  952. package/dist/workerEntry.d.ts +2 -0
  953. package/dist/workerEntry.d.ts.map +1 -0
  954. package/dist/workerEntry.js +10 -0
  955. package/dist/workerEntry.js.map +1 -0
  956. package/dist/writes.d.ts +8 -0
  957. package/dist/writes.d.ts.map +1 -0
  958. package/dist/writes.js +11 -0
  959. package/dist/writes.js.map +1 -0
  960. package/package.json +102 -4
@@ -0,0 +1,375 @@
1
+ import { Index, ValueTag, compareValue, } from "../core/datom.js";
2
+ import { bytesToBase64 } from "../core/log.js";
3
+ import { canonicalizeJson } from "../authorization/canonical-json.js";
4
+ import { sealEntityId } from "./entity-id.js";
5
+ import { makeEntityIdentity, opaqueDigest } from "./identity.js";
6
+ import { MAX_REPLICATION_CHANGE_BYTES, MAX_REPLICATION_DATOMS_PER_CHANGE, MAX_REPLICATION_DATOMS_PER_SNAPSHOT_CHUNK, MAX_REPLICATION_RAW_VALUE_PART_BYTES, MAX_REPLICATION_STRING_BYTES, } from "./protocol.js";
7
+ const utf8 = new TextEncoder();
8
+ const HASH_BLOCK_BYTES = 65_536;
9
+ const MAX_ENTITY_CACHE = 1_024;
10
+ const MAX_STRING_PART_CODE_UNITS = Math.floor(MAX_REPLICATION_STRING_BYTES / 3);
11
+ const throwIfAborted = (signal) => {
12
+ signal?.throwIfAborted();
13
+ };
14
+ export const makeLogicalIdentityEncoder = (sealing, database, scope) => {
15
+ const cache = new Map();
16
+ return {
17
+ database,
18
+ entity: (eid) => {
19
+ let identity = cache.get(eid);
20
+ if (identity !== undefined) {
21
+ cache.delete(eid);
22
+ cache.set(eid, identity);
23
+ return identity;
24
+ }
25
+ if (cache.size >= MAX_ENTITY_CACHE) {
26
+ cache.delete(cache.keys().next().value);
27
+ }
28
+ identity = Promise.all([
29
+ makeEntityIdentity(sealing, database, eid),
30
+ sealEntityId(sealing, scope, eid),
31
+ ]).then(([wire, handle]) => Object.freeze({ identity: wire, handle }));
32
+ cache.set(eid, identity);
33
+ return identity;
34
+ },
35
+ };
36
+ };
37
+ const bind = (into, entity) => {
38
+ if (into.has(entity.identity))
39
+ return;
40
+ into.set(entity.identity, Object.freeze({ entity: entity.identity, handle: entity.handle }));
41
+ };
42
+ export const entryHandles = (entries) => {
43
+ const bindings = new Map();
44
+ for (const entry of entries) {
45
+ for (const binding of entry.handles) {
46
+ if (!bindings.has(binding.entity))
47
+ bindings.set(binding.entity, binding);
48
+ }
49
+ }
50
+ return Object.freeze([...bindings.values()]);
51
+ };
52
+ const boundedText = (value) => {
53
+ if (utf8.encode(value).byteLength > MAX_REPLICATION_STRING_BYTES) {
54
+ throw new RangeError("replication string exceeds the wire bound");
55
+ }
56
+ return value;
57
+ };
58
+ const concat = (left, right) => {
59
+ const out = new Uint8Array(left.byteLength + right.byteLength);
60
+ out.set(left);
61
+ out.set(right, left.byteLength);
62
+ return out;
63
+ };
64
+ function* stringParts(value) {
65
+ for (let offset = 0; offset < value.length; offset += MAX_STRING_PART_CODE_UNITS) {
66
+ yield value.slice(offset, offset + MAX_STRING_PART_CODE_UNITS);
67
+ }
68
+ }
69
+ function* byteParts(value) {
70
+ for (let offset = 0; offset < value.byteLength; offset += MAX_REPLICATION_RAW_VALUE_PART_BYTES) {
71
+ yield value.subarray(offset, offset + MAX_REPLICATION_RAW_VALUE_PART_BYTES);
72
+ }
73
+ }
74
+ const utf16Bytes = (value) => {
75
+ const out = new Uint8Array(value.length * 2);
76
+ const view = new DataView(out.buffer);
77
+ for (let index = 0; index < value.length; index++) {
78
+ view.setUint16(index * 2, value.charCodeAt(index), false);
79
+ }
80
+ return out;
81
+ };
82
+ const valuePartIdentity = async (type, parts) => {
83
+ let prior = new Uint8Array(32);
84
+ for (const part of parts) {
85
+ prior = new Uint8Array(await crypto.subtle.digest("SHA-256", concat(prior, part)));
86
+ }
87
+ return opaqueDigest(`ramose:replication:${type}-value:v1`, prior);
88
+ };
89
+ export async function* projectLogicalValueParts(datom, encoder, collect) {
90
+ switch (datom.vt) {
91
+ case ValueTag.Long:
92
+ if (typeof datom.v !== "number" || !Number.isSafeInteger(datom.v)) {
93
+ throw new TypeError("invalid logical long");
94
+ }
95
+ yield { type: "long", value: datom.v };
96
+ return;
97
+ case ValueTag.Double:
98
+ if (typeof datom.v !== "number" || Number.isNaN(datom.v)) {
99
+ throw new TypeError("invalid logical double");
100
+ }
101
+ yield {
102
+ type: "double",
103
+ value: datom.v === Number.POSITIVE_INFINITY
104
+ ? "positive-infinity"
105
+ : datom.v === Number.NEGATIVE_INFINITY
106
+ ? "negative-infinity"
107
+ : datom.v,
108
+ };
109
+ return;
110
+ case ValueTag.Str: {
111
+ if (typeof datom.v !== "string")
112
+ throw new TypeError("invalid logical string");
113
+ if (datom.v.length <= MAX_STRING_PART_CODE_UNITS) {
114
+ yield { type: "string", value: boundedText(datom.v) };
115
+ return;
116
+ }
117
+ const chunks = Math.ceil(datom.v.length / MAX_STRING_PART_CODE_UNITS);
118
+ const identity = await valuePartIdentity("string", (function* () {
119
+ for (const part of stringParts(datom.v))
120
+ yield utf16Bytes(part);
121
+ })());
122
+ let index = 0;
123
+ for (const value of stringParts(datom.v)) {
124
+ yield { type: "string-part", identity, index, chunks, value };
125
+ index++;
126
+ }
127
+ return;
128
+ }
129
+ case ValueTag.Bool:
130
+ if (typeof datom.v !== "boolean")
131
+ throw new TypeError("invalid logical boolean");
132
+ yield { type: "boolean", value: datom.v };
133
+ return;
134
+ case ValueTag.Ref:
135
+ if (typeof datom.v !== "number" || !Number.isSafeInteger(datom.v) || datom.v < 0) {
136
+ throw new TypeError("invalid logical reference");
137
+ }
138
+ {
139
+ const referenced = await encoder.entity(datom.v);
140
+ collect?.(referenced);
141
+ yield { type: "ref", value: referenced.identity };
142
+ }
143
+ return;
144
+ case ValueTag.Uuid:
145
+ if (typeof datom.v !== "string")
146
+ throw new TypeError("invalid logical uuid");
147
+ yield { type: "uuid", value: datom.v };
148
+ return;
149
+ case ValueTag.Inst:
150
+ if (typeof datom.v !== "number" || !Number.isSafeInteger(datom.v)) {
151
+ throw new TypeError("invalid logical instant");
152
+ }
153
+ yield { type: "instant", value: datom.v };
154
+ return;
155
+ case ValueTag.Bytes: {
156
+ if (!(datom.v instanceof Uint8Array))
157
+ throw new TypeError("invalid logical bytes");
158
+ if (datom.v.byteLength <= MAX_REPLICATION_RAW_VALUE_PART_BYTES) {
159
+ yield { type: "bytes", value: bytesToBase64(datom.v) };
160
+ return;
161
+ }
162
+ const chunks = Math.ceil(datom.v.byteLength / MAX_REPLICATION_RAW_VALUE_PART_BYTES);
163
+ const identity = await valuePartIdentity("bytes", byteParts(datom.v));
164
+ let index = 0;
165
+ for (const part of byteParts(datom.v)) {
166
+ yield {
167
+ type: "bytes-part",
168
+ identity,
169
+ index,
170
+ chunks,
171
+ value: bytesToBase64(part),
172
+ };
173
+ index++;
174
+ }
175
+ return;
176
+ }
177
+ }
178
+ }
179
+ export async function* projectLogicalDatoms(db, raw, encoder) {
180
+ const attribute = db.attr(raw.a);
181
+ if (attribute === undefined || !attribute.ident.startsWith(":")) {
182
+ throw new TypeError("authorized datom has no logical field identity");
183
+ }
184
+ const entity = await encoder.entity(raw.e);
185
+ const field = boundedText(attribute.ident);
186
+ const bindings = new Map();
187
+ bind(bindings, entity);
188
+ for await (const value of projectLogicalValueParts(raw, encoder, (referenced) => bind(bindings, referenced))) {
189
+ yield Object.freeze({
190
+ datom: Object.freeze({
191
+ entity: entity.identity,
192
+ field,
193
+ value,
194
+ op: "add",
195
+ }),
196
+ handles: Object.freeze([...bindings.values()]),
197
+ });
198
+ }
199
+ }
200
+ export async function* logicalEntries(db, encoder, signal) {
201
+ throwIfAborted(signal);
202
+ for await (const chunk of db.datoms(Index.EAVT, {})) {
203
+ for (const raw of chunk) {
204
+ throwIfAborted(signal);
205
+ for await (const projected of projectLogicalDatoms(db, raw, encoder)) {
206
+ throwIfAborted(signal);
207
+ yield Object.freeze({ raw, ...projected });
208
+ }
209
+ }
210
+ }
211
+ }
212
+ class LogicalStateHasher {
213
+ prior = new Uint8Array(32);
214
+ block = "";
215
+ bytes = 0;
216
+ async add(datom) {
217
+ const line = `${canonicalizeJson(datom)}\n`;
218
+ const size = utf8.encode(line).byteLength;
219
+ if (this.bytes > 0 && this.bytes + size > HASH_BLOCK_BYTES) {
220
+ await this.flush();
221
+ }
222
+ this.block += line;
223
+ this.bytes += size;
224
+ }
225
+ async flush() {
226
+ const material = concat(this.prior, utf8.encode(this.block));
227
+ const digest = await crypto.subtle.digest("SHA-256", material);
228
+ this.prior = new Uint8Array(digest);
229
+ this.block = "";
230
+ this.bytes = 0;
231
+ }
232
+ async finish() {
233
+ await this.flush();
234
+ return opaqueDigest("ramose:replication:state:v1", this.prior);
235
+ }
236
+ }
237
+ export const digestLogicalDb = async (db, encoder, signal) => {
238
+ const hasher = new LogicalStateHasher();
239
+ for await (const entry of logicalEntries(db, encoder, signal)) {
240
+ await hasher.add(entry.datom);
241
+ }
242
+ throwIfAborted(signal);
243
+ return hasher.finish();
244
+ };
245
+ const compareRawFact = (left, right) => {
246
+ if (left.e !== right.e)
247
+ return left.e < right.e ? -1 : 1;
248
+ if (left.a !== right.a)
249
+ return left.a < right.a ? -1 : 1;
250
+ return compareValue(left.vt, left.v, right.vt, right.v);
251
+ };
252
+ const isValuePart = (value) => value.type === "string-part" || value.type === "bytes-part";
253
+ const asChangeDatom = (datom, op) => isValuePart(datom.value)
254
+ ? undefined
255
+ : Object.freeze({ ...datom, value: datom.value, op });
256
+ const encodedBytes = (value) => utf8.encode(JSON.stringify(value)).byteLength;
257
+ export const diffLogicalDbs = async (previous, current, encoder, signal) => {
258
+ const before = logicalEntries(previous, encoder, signal)[Symbol.asyncIterator]();
259
+ const after = logicalEntries(current, encoder, signal)[Symbol.asyncIterator]();
260
+ const changes = [];
261
+ const handles = new Map();
262
+ let changeBytes = 0;
263
+ let overflow = false;
264
+ const hasher = new LogicalStateHasher();
265
+ const previousHasher = new LogicalStateHasher();
266
+ const appendChange = (entry, op) => {
267
+ if (overflow)
268
+ return;
269
+ const change = asChangeDatom(entry.datom, op);
270
+ if (change === undefined) {
271
+ overflow = true;
272
+ return;
273
+ }
274
+ const added = entry.handles.filter((binding) => !handles.has(binding.entity));
275
+ const size = encodedBytes(change) + encodedBytes(added);
276
+ if (changes.length >= MAX_REPLICATION_DATOMS_PER_CHANGE ||
277
+ changeBytes + size > MAX_REPLICATION_CHANGE_BYTES) {
278
+ overflow = true;
279
+ return;
280
+ }
281
+ changes.push(change);
282
+ for (const binding of added)
283
+ handles.set(binding.entity, binding);
284
+ changeBytes += size;
285
+ };
286
+ let left = await before.next();
287
+ let right = await after.next();
288
+ try {
289
+ while (!left.done || !right.done) {
290
+ if (left.done) {
291
+ if (right.done)
292
+ break;
293
+ const added = right.value;
294
+ await hasher.add(added.datom);
295
+ appendChange(added, "add");
296
+ right = await after.next();
297
+ continue;
298
+ }
299
+ if (right.done) {
300
+ await previousHasher.add(left.value.datom);
301
+ appendChange(left.value, "retract");
302
+ left = await before.next();
303
+ continue;
304
+ }
305
+ const order = compareRawFact(left.value.raw, right.value.raw);
306
+ if (order === 0) {
307
+ await previousHasher.add(left.value.datom);
308
+ await hasher.add(right.value.datom);
309
+ left = await before.next();
310
+ right = await after.next();
311
+ }
312
+ else if (order < 0) {
313
+ await previousHasher.add(left.value.datom);
314
+ appendChange(left.value, "retract");
315
+ left = await before.next();
316
+ }
317
+ else {
318
+ await hasher.add(right.value.datom);
319
+ appendChange(right.value, "add");
320
+ right = await after.next();
321
+ }
322
+ }
323
+ }
324
+ finally {
325
+ await before.return?.();
326
+ await after.return?.();
327
+ }
328
+ throwIfAborted(signal);
329
+ return Object.freeze({
330
+ previousStateDigest: await previousHasher.finish(),
331
+ stateDigest: await hasher.finish(),
332
+ datoms: Object.freeze(changes),
333
+ handles: Object.freeze([...handles.values()]),
334
+ overflow,
335
+ });
336
+ };
337
+ export async function* snapshotEntryChunks(db, encoder, fits, signal) {
338
+ let chunk = [];
339
+ let index = 0;
340
+ for await (const entry of logicalEntries(db, encoder, signal)) {
341
+ if (chunk.length > 0 &&
342
+ (chunk.length >= MAX_REPLICATION_DATOMS_PER_SNAPSHOT_CHUNK ||
343
+ !fits([...chunk, entry], index))) {
344
+ yield Object.freeze(chunk);
345
+ chunk = [];
346
+ index++;
347
+ }
348
+ if (!fits([entry], index)) {
349
+ throw new RangeError("one logical datom exceeds the snapshot frame bound");
350
+ }
351
+ chunk.push(entry);
352
+ }
353
+ if (chunk.length > 0)
354
+ yield Object.freeze(chunk);
355
+ }
356
+ export const chunkStillAuthorized = async (current, chunk, signal) => {
357
+ for (const entry of chunk) {
358
+ throwIfAborted(signal);
359
+ const raw = entry.raw;
360
+ const found = await current.first(Index.EAVT, {
361
+ e: raw.e,
362
+ a: raw.a,
363
+ vt: raw.vt,
364
+ v: raw.v,
365
+ });
366
+ if (found === undefined)
367
+ return false;
368
+ const attribute = current.attr(raw.a);
369
+ if (attribute === undefined || attribute.ident !== entry.datom.field)
370
+ return false;
371
+ }
372
+ throwIfAborted(signal);
373
+ return true;
374
+ };
375
+ //# sourceMappingURL=logical.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logical.js","sourceRoot":"","sources":["../../../src/internal/replication/logical.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import type { ReplicationIdentity } from "./protocol.ts";
2
+ import { type ReplicaDatabaseScope, type ReplicaScope } from "./replica-lifecycle.ts";
3
+ export declare const REPLICA_NOTICE_CHANNEL_VERSION: 1;
4
+ export declare const replicaNoticeChannelName: (storage: string) => string;
5
+ export type ReplicaNoticeKind = "replica" | "layer" | "receipt" | "fence" | "reset" | "selector";
6
+ export type ReplicaNotice = {
7
+ readonly kind: ReplicaNoticeKind;
8
+ readonly scope: string;
9
+ readonly database?: string;
10
+ };
11
+ export declare const replicaNotice: (kind: ReplicaNoticeKind, scope: ReplicaScope, database?: ReplicaDatabaseScope | undefined) => ReplicaNotice;
12
+ export declare const identityNotice: (kind: ReplicaNoticeKind, identity: ReplicationIdentity) => ReplicaNotice;
13
+ export declare const isReplicaNotice: (value: unknown) => value is ReplicaNotice;
14
+ export type ReplicaNoticeListener = (notice: ReplicaNotice) => void;
15
+ export type BroadcastConstructor = new (name: string) => BroadcastChannel;
16
+ export declare const platformBroadcast: () => BroadcastConstructor | undefined;
17
+ export declare class ReplicaNoticeChannel {
18
+ private readonly listeners;
19
+ private channel;
20
+ private closed;
21
+ private constructor();
22
+ static begin(options: {
23
+ readonly name: string;
24
+ readonly broadcast: BroadcastConstructor | undefined;
25
+ }): ReplicaNoticeChannel;
26
+ announces(): boolean;
27
+ post(notice: ReplicaNotice): void;
28
+ subscribe(listener: ReplicaNoticeListener): () => void;
29
+ private deliver;
30
+ close(): void;
31
+ }
32
+ //# sourceMappingURL=notices.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notices.d.ts","sourceRoot":"","sources":["../../../src/internal/replication/notices.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAKL,KAAK,oBAAoB,EACzB,KAAK,YAAY,EAClB,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,8BAA8B,EAAG,CAAU,CAAC;AAKzD,eAAO,MAAM,wBAAwB,YAAa,MAAM,KAAG,MACD,CAAC;AAE3D,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,OAAO,GACP,SAAS,GACT,OAAO,GACP,OAAO,GACP,UAAU,CAAC;AAWf,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,aAAa,SAClB,iBAAiB,SAChB,YAAY,aACR,oBAAoB,GAAG,SAAS,KAC1C,aAKC,CAAC;AAEL,eAAO,MAAM,cAAc,SACnB,iBAAiB,YACb,mBAAmB,KAC5B,aAKA,CAAC;AAEJ,eAAO,MAAM,eAAe,UAAW,OAAO,KAAG,KAAK,IAAI,aAMzD,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;AAEpE,MAAM,MAAM,oBAAoB,GAAG,KAAK,IAAI,EAAE,MAAM,KAAK,gBAAgB,CAAC;AAE1E,eAAO,MAAM,iBAAiB,QAAO,oBAAoB,GAAG,SAEvC,CAAC;AAEtB,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;IAC9D,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,eAEN;IAED,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;QACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,SAAS,EAAE,oBAAoB,GAAG,SAAS,CAAC;KACtD,GAAG,oBAAoB,CAcvB;IAED,SAAS,IAAI,OAAO,CAEnB;IAED,IAAI,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAMhC;IAED,SAAS,CAAC,QAAQ,EAAE,qBAAqB,GAAG,MAAM,IAAI,CAMrD;IAED,OAAO,CAAC,OAAO;IAUf,KAAK,IAAI,IAAI,CAMZ;CACF"}
@@ -0,0 +1,92 @@
1
+ import { replicaDatabaseKey, replicaDatabaseScopeOf, replicaScopeKey, replicaScopeOf, } from "./replica-lifecycle.js";
2
+ export const REPLICA_NOTICE_CHANNEL_VERSION = 1;
3
+ const NOTICE_CHANNEL_PREFIX = `ramose-replica-notice-v${REPLICA_NOTICE_CHANNEL_VERSION}:`;
4
+ export const replicaNoticeChannelName = (storage) => `${NOTICE_CHANNEL_PREFIX}${encodeURIComponent(storage)}`;
5
+ const NOTICE_KINDS = new Set([
6
+ "replica",
7
+ "layer",
8
+ "receipt",
9
+ "fence",
10
+ "reset",
11
+ "selector",
12
+ ]);
13
+ export const replicaNotice = (kind, scope, database) => Object.freeze({
14
+ kind,
15
+ scope: replicaScopeKey(scope),
16
+ ...(database === undefined ? {} : { database: replicaDatabaseKey(database) }),
17
+ });
18
+ export const identityNotice = (kind, identity) => replicaNotice(kind, replicaScopeOf(identity), replicaDatabaseScopeOf(identity));
19
+ export const isReplicaNotice = (value) => {
20
+ if (value === null || typeof value !== "object")
21
+ return false;
22
+ const notice = value;
23
+ return typeof notice.kind === "string" && NOTICE_KINDS.has(notice.kind) &&
24
+ typeof notice.scope === "string" && notice.scope.length > 0 &&
25
+ (notice.database === undefined || typeof notice.database === "string");
26
+ };
27
+ export const platformBroadcast = () => globalThis
28
+ .BroadcastChannel;
29
+ export class ReplicaNoticeChannel {
30
+ listeners = new Set();
31
+ channel;
32
+ closed = false;
33
+ constructor(channel) {
34
+ this.channel = channel;
35
+ }
36
+ static begin(options) {
37
+ let channel;
38
+ try {
39
+ channel = options.broadcast === undefined
40
+ ? undefined
41
+ : new options.broadcast(options.name);
42
+ }
43
+ catch {
44
+ channel = undefined;
45
+ }
46
+ const notices = new ReplicaNoticeChannel(channel);
47
+ channel?.addEventListener("message", (event) => {
48
+ notices.deliver(event.data);
49
+ });
50
+ return notices;
51
+ }
52
+ announces() {
53
+ return this.channel !== undefined;
54
+ }
55
+ post(notice) {
56
+ if (this.closed)
57
+ return;
58
+ try {
59
+ this.channel?.postMessage(notice);
60
+ }
61
+ catch {
62
+ }
63
+ }
64
+ subscribe(listener) {
65
+ if (this.closed)
66
+ return () => undefined;
67
+ this.listeners.add(listener);
68
+ return () => {
69
+ this.listeners.delete(listener);
70
+ };
71
+ }
72
+ deliver(data) {
73
+ if (this.closed || !isReplicaNotice(data))
74
+ return;
75
+ for (const listener of [...this.listeners]) {
76
+ try {
77
+ listener(data);
78
+ }
79
+ catch {
80
+ }
81
+ }
82
+ }
83
+ close() {
84
+ if (this.closed)
85
+ return;
86
+ this.closed = true;
87
+ this.listeners.clear();
88
+ this.channel?.close();
89
+ this.channel = undefined;
90
+ }
91
+ }
92
+ //# sourceMappingURL=notices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notices.js","sourceRoot":"","sources":["../../../src/internal/replication/notices.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ import type { RuntimeBoundaries } from "../runtime-boundaries.ts";
2
+ import type { EntityId, InvocationId } from "../../db/refs.ts";
3
+ import type { MutationAcknowledgement } from "./submission.ts";
4
+ import { type LayerRows, type OptimisticLayerRecord } from "./overlay-records.ts";
5
+ import type { LeadershipFence } from "./leadership.ts";
6
+ import { type ReplicaNotice } from "./notices.ts";
7
+ import type { ProjectionIdentity } from "./projection-binding.ts";
8
+ import { type ReplicaDatabaseScope, type ReplicaLease, type ReplicaScope } from "./replica-lifecycle.ts";
9
+ import { type ClientRefRecord, type OutboxDraft, type OutboxPartitionPlan, type OutboxRecord, type QueuedMapping, type ReceiptRecord, type SealingEpoch, type UnobservedReceipt, type UnreadableOutboxRow } from "./outbox.ts";
10
+ export declare const MUTATION_OUTBOX = "mutation-outbox-v1";
11
+ export declare const MUTATION_QUEUES = "mutation-queues-v1";
12
+ export declare const MUTATION_RECEIPTS = "mutation-receipts-v1";
13
+ export declare const MUTATION_CLIENT_REFS = "mutation-client-refs-v1";
14
+ export declare const MUTATION_MAPPINGS = "mutation-client-ref-mappings-v1";
15
+ export { MUTATION_LAYERS } from "./overlay-records.ts";
16
+ export declare const MUTATION_STORE_FAMILIES: readonly ["mutation-queues-v1", "mutation-outbox-v1", "mutation-receipts-v1", "mutation-client-refs-v1", "mutation-client-ref-mappings-v1", "mutation-layers-v1"];
17
+ export declare const createMutationStores: (database: IDBDatabase, upgrade: IDBTransaction, resetLegacy: boolean) => void;
18
+ export type MutationClearOutcome = {
19
+ readonly queued: number;
20
+ readonly clientRefs: number;
21
+ readonly layers: number;
22
+ };
23
+ export declare const clearMutationScope: (transaction: IDBTransaction, scope: ReplicaScope) => Promise<MutationClearOutcome>;
24
+ export type EnqueueOptions = {
25
+ readonly scope: ReplicaScope;
26
+ readonly lease?: ReplicaLease | undefined;
27
+ readonly signal?: AbortSignal | undefined;
28
+ readonly projection?: ProjectionIdentity | undefined;
29
+ };
30
+ export type ActivationObservationState = {
31
+ readonly partition: string;
32
+ readonly receiver: ReplicaDatabaseScope;
33
+ readonly activation: number;
34
+ readonly unobserved: readonly UnobservedReceipt[];
35
+ };
36
+ export type ActivationFenceOutcome = {
37
+ readonly receiver: ReplicaDatabaseScope;
38
+ readonly activation: number;
39
+ readonly fenced: readonly InvocationId[];
40
+ readonly confirmed: string;
41
+ readonly layers: readonly OptimisticLayerRecord[];
42
+ readonly unreadable: number;
43
+ };
44
+ export type OutboxRestoration = {
45
+ readonly records: readonly OutboxRecord[];
46
+ readonly unreadable: readonly UnreadableOutboxRow[];
47
+ };
48
+ export type TerminalAcknowledgement = Extract<MutationAcknowledgement, {
49
+ readonly _tag: "Committed";
50
+ } | {
51
+ readonly _tag: "Rejected";
52
+ }>;
53
+ declare const ClientRefMappingRefused_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
54
+ readonly _tag: "ClientRefMappingRefused";
55
+ } & Readonly<A>;
56
+ export declare class ClientRefMappingRefused extends ClientRefMappingRefused_base<{
57
+ readonly partition: string;
58
+ readonly clientRef: string;
59
+ readonly reason: "not-a-ref-pair" | "unreadable-handle" | "not-allocated-here" | "slot-unmapped" | "already-mapped";
60
+ }> {
61
+ }
62
+ export declare class IndexedDbOutbox {
63
+ private readonly database;
64
+ private readonly boundaries;
65
+ private readonly assertScopeLive;
66
+ private readonly leader;
67
+ private readonly announce;
68
+ constructor(database: IDBDatabase, boundaries: RuntimeBoundaries, assertScopeLive: (scope: ReplicaScope) => void, leader?: (() => LeadershipFence | undefined) | undefined, announce?: (notice: ReplicaNotice) => void);
69
+ private announceReceiver;
70
+ enqueue(draft: OutboxDraft, options: EnqueueOptions): Promise<OutboxRecord>;
71
+ private preflightScope;
72
+ private fenceScope;
73
+ private fenceLeadership;
74
+ private stageEnqueue;
75
+ restore(scope: ReplicaScope): Promise<OutboxRestoration>;
76
+ private readOutbox;
77
+ mappedRefs(scope: ReplicaScope): Promise<ReadonlyMap<string, SealingEpoch>>;
78
+ private readMappings;
79
+ plan(scope: ReplicaScope, keyId?: string): Promise<readonly OutboxPartitionPlan[]>;
80
+ submissionPlan(scope: ReplicaScope, keyId?: string): Promise<{
81
+ readonly plans: readonly OutboxPartitionPlan[];
82
+ readonly handles: ReadonlyMap<string, EntityId>;
83
+ }>;
84
+ mappedHandles(receiver: ReplicaDatabaseScope): Promise<ReadonlyMap<string, EntityId>>;
85
+ receipt(receiver: ReplicaDatabaseScope, invocation: InvocationId): Promise<ReceiptRecord | undefined>;
86
+ clientRefs(receiver: ReplicaDatabaseScope): Promise<readonly ClientRefRecord[]>;
87
+ recordMappings(receiver: ReplicaDatabaseScope, invocation: InvocationId, mappings: readonly QueuedMapping[], mappedAt?: number): Promise<void>;
88
+ acknowledge(record: OutboxRecord, acknowledgement: TerminalAcknowledgement, acknowledgedAt?: number): Promise<ReceiptRecord>;
89
+ private stageAcknowledgement;
90
+ private stageLayerOutcome;
91
+ private cascadeRejection;
92
+ observationState(receiver: ReplicaDatabaseScope): Promise<ActivationObservationState>;
93
+ beginActivation(receiver: ReplicaDatabaseScope): Promise<number>;
94
+ fenceActivation(receiver: ReplicaDatabaseScope, activation: number, observedAt?: number): Promise<ActivationFenceOutcome>;
95
+ optimisticLayers(receiver: ReplicaDatabaseScope): Promise<LayerRows>;
96
+ private stageMappings;
97
+ }
98
+ //# sourceMappingURL=outbox-storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outbox-storage.d.ts","sourceRoot":"","sources":["../../../src/internal/replication/outbox-storage.ts"],"names":[],"mappings":"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"}