@earendil-works/chord 1.5.0 → 1.5.1

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 (1853) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/README.md +50 -90
  3. package/dist/contracts/accepts.d.ts +81 -0
  4. package/dist/contracts/accepts.d.ts.map +1 -0
  5. package/dist/contracts/accepts.js.map +1 -0
  6. package/dist/contracts/contract.d.ts +121 -0
  7. package/dist/contracts/contract.d.ts.map +1 -0
  8. package/dist/contracts/contract.js.map +1 -0
  9. package/dist/contracts/declare.d.ts.map +1 -0
  10. package/dist/contracts/declare.js.map +1 -0
  11. package/dist/contracts/evolve.d.ts.map +1 -0
  12. package/dist/contracts/evolve.js.map +1 -0
  13. package/dist/contracts/fingerprint.d.ts +16 -0
  14. package/dist/contracts/fingerprint.d.ts.map +1 -0
  15. package/dist/contracts/fingerprint.js.map +1 -0
  16. package/dist/contracts/history.d.ts.map +1 -0
  17. package/dist/contracts/history.js.map +1 -0
  18. package/dist/contracts/host-kind.d.ts.map +1 -0
  19. package/dist/contracts/host-kind.js.map +1 -0
  20. package/dist/contracts/index.d.ts.map +1 -0
  21. package/dist/contracts/index.js.map +1 -0
  22. package/dist/contracts/internal.d.ts.map +1 -0
  23. package/dist/contracts/internal.js.map +1 -0
  24. package/dist/contracts/names.d.ts.map +1 -0
  25. package/dist/contracts/names.js.map +1 -0
  26. package/dist/contracts/params.d.ts +28 -0
  27. package/dist/contracts/params.d.ts.map +1 -0
  28. package/dist/contracts/params.js.map +1 -0
  29. package/dist/contracts/schema.d.ts.map +1 -0
  30. package/dist/contracts/schema.js.map +1 -0
  31. package/dist/contracts/snapshot.d.ts +16 -0
  32. package/dist/contracts/snapshot.d.ts.map +1 -0
  33. package/dist/contracts/snapshot.js +167 -0
  34. package/dist/contracts/snapshot.js.map +1 -0
  35. package/dist/data/args.d.ts +50 -0
  36. package/dist/data/args.d.ts.map +1 -0
  37. package/dist/data/args.js.map +1 -0
  38. package/dist/data/errors.d.ts +80 -0
  39. package/dist/data/errors.d.ts.map +1 -0
  40. package/dist/data/errors.js +116 -0
  41. package/dist/data/errors.js.map +1 -0
  42. package/dist/data/failure.d.ts.map +1 -0
  43. package/dist/data/failure.js +77 -0
  44. package/dist/data/failure.js.map +1 -0
  45. package/dist/data/index.d.ts +4 -0
  46. package/dist/data/index.d.ts.map +1 -0
  47. package/dist/data/index.js +5 -0
  48. package/dist/data/index.js.map +1 -0
  49. package/dist/data/internal.d.ts +7 -0
  50. package/dist/data/internal.d.ts.map +1 -0
  51. package/dist/data/internal.js +8 -0
  52. package/dist/data/internal.js.map +1 -0
  53. package/dist/data/params.d.ts +20 -0
  54. package/dist/data/params.d.ts.map +1 -0
  55. package/dist/data/params.js.map +1 -0
  56. package/dist/data/principal.d.ts +22 -0
  57. package/dist/data/principal.d.ts.map +1 -0
  58. package/dist/data/principal.js +49 -0
  59. package/dist/data/principal.js.map +1 -0
  60. package/dist/data/validator.d.ts +12 -0
  61. package/dist/data/validator.d.ts.map +1 -0
  62. package/dist/data/validator.js +35 -0
  63. package/dist/data/validator.js.map +1 -0
  64. package/dist/documents/address-source.d.ts +20 -0
  65. package/dist/documents/address-source.d.ts.map +1 -0
  66. package/dist/documents/address-source.js.map +1 -0
  67. package/dist/documents/definition.d.ts +84 -0
  68. package/dist/documents/definition.d.ts.map +1 -0
  69. package/dist/documents/definition.js +74 -0
  70. package/dist/documents/definition.js.map +1 -0
  71. package/dist/documents/documents.d.ts +126 -0
  72. package/dist/documents/documents.d.ts.map +1 -0
  73. package/dist/documents/documents.js +248 -0
  74. package/dist/documents/documents.js.map +1 -0
  75. package/dist/documents/fence.d.ts.map +1 -0
  76. package/dist/documents/fence.js.map +1 -0
  77. package/dist/documents/handles.d.ts +76 -0
  78. package/dist/documents/handles.d.ts.map +1 -0
  79. package/dist/documents/handles.js.map +1 -0
  80. package/dist/documents/index.d.ts.map +1 -0
  81. package/dist/documents/index.js.map +1 -0
  82. package/dist/documents/internal.d.ts +9 -0
  83. package/dist/documents/internal.d.ts.map +1 -0
  84. package/dist/documents/internal.js.map +1 -0
  85. package/dist/documents/keyed-slot.d.ts +103 -0
  86. package/dist/documents/keyed-slot.d.ts.map +1 -0
  87. package/dist/documents/keyed-slot.js +395 -0
  88. package/dist/documents/keyed-slot.js.map +1 -0
  89. package/dist/documents/line.d.ts.map +1 -0
  90. package/dist/documents/line.js.map +1 -0
  91. package/dist/documents/persistence.d.ts +104 -0
  92. package/dist/documents/persistence.d.ts.map +1 -0
  93. package/dist/documents/persistence.js +129 -0
  94. package/dist/documents/persistence.js.map +1 -0
  95. package/dist/documents/residency.d.ts +31 -0
  96. package/dist/documents/residency.d.ts.map +1 -0
  97. package/dist/documents/residency.js.map +1 -0
  98. package/dist/documents/slot.d.ts +109 -0
  99. package/dist/documents/slot.d.ts.map +1 -0
  100. package/dist/documents/slot.js +181 -0
  101. package/dist/documents/slot.js.map +1 -0
  102. package/dist/documents/transaction.d.ts +143 -0
  103. package/dist/documents/transaction.d.ts.map +1 -0
  104. package/dist/documents/transaction.js +442 -0
  105. package/dist/documents/transaction.js.map +1 -0
  106. package/dist/host/activity.d.ts +31 -0
  107. package/dist/host/activity.d.ts.map +1 -0
  108. package/dist/host/activity.js +40 -0
  109. package/dist/host/activity.js.map +1 -0
  110. package/dist/host/adapted.d.ts +49 -0
  111. package/dist/host/adapted.d.ts.map +1 -0
  112. package/dist/host/adapted.js.map +1 -0
  113. package/dist/host/attempt.d.ts +308 -0
  114. package/dist/host/attempt.d.ts.map +1 -0
  115. package/dist/host/attempt.js +1199 -0
  116. package/dist/host/attempt.js.map +1 -0
  117. package/dist/host/backoff.d.ts.map +1 -0
  118. package/dist/host/backoff.js.map +1 -0
  119. package/dist/host/ctx.d.ts +94 -0
  120. package/dist/host/ctx.d.ts.map +1 -0
  121. package/dist/host/ctx.js +200 -0
  122. package/dist/host/ctx.js.map +1 -0
  123. package/dist/host/deadline.d.ts.map +1 -0
  124. package/dist/host/deadline.js.map +1 -0
  125. package/dist/host/dependencies.d.ts.map +1 -0
  126. package/dist/host/dependencies.js.map +1 -0
  127. package/dist/host/destination.d.ts +48 -0
  128. package/dist/host/destination.d.ts.map +1 -0
  129. package/dist/host/destination.js.map +1 -0
  130. package/dist/host/facet.d.ts +84 -0
  131. package/dist/host/facet.d.ts.map +1 -0
  132. package/dist/host/facet.js.map +1 -0
  133. package/dist/host/follow.d.ts +52 -0
  134. package/dist/host/follow.d.ts.map +1 -0
  135. package/dist/host/follow.js.map +1 -0
  136. package/dist/host/host.d.ts +571 -0
  137. package/dist/host/host.d.ts.map +1 -0
  138. package/dist/host/host.js +1318 -0
  139. package/dist/host/host.js.map +1 -0
  140. package/dist/host/index.d.ts +17 -0
  141. package/dist/host/index.d.ts.map +1 -0
  142. package/dist/host/index.js.map +1 -0
  143. package/dist/host/internal.d.ts +11 -0
  144. package/dist/host/internal.d.ts.map +1 -0
  145. package/dist/host/internal.js +9 -0
  146. package/dist/host/internal.js.map +1 -0
  147. package/dist/host/members.d.ts +50 -0
  148. package/dist/host/members.d.ts.map +1 -0
  149. package/dist/host/members.js.map +1 -0
  150. package/dist/host/native.d.ts +64 -0
  151. package/dist/host/native.d.ts.map +1 -0
  152. package/dist/host/native.js +126 -0
  153. package/dist/host/native.js.map +1 -0
  154. package/dist/host/object.d.ts +331 -0
  155. package/dist/host/object.d.ts.map +1 -0
  156. package/dist/host/object.js +1296 -0
  157. package/dist/host/object.js.map +1 -0
  158. package/dist/host/old-work.d.ts +34 -0
  159. package/dist/host/old-work.d.ts.map +1 -0
  160. package/dist/host/old-work.js +52 -0
  161. package/dist/host/old-work.js.map +1 -0
  162. package/dist/host/parked.d.ts +23 -0
  163. package/dist/host/parked.d.ts.map +1 -0
  164. package/dist/host/parked.js.map +1 -0
  165. package/dist/host/presence.d.ts +34 -0
  166. package/dist/host/presence.d.ts.map +1 -0
  167. package/dist/host/presence.js.map +1 -0
  168. package/dist/host/readiness.d.ts +27 -0
  169. package/dist/host/readiness.d.ts.map +1 -0
  170. package/dist/host/readiness.js +134 -0
  171. package/dist/host/readiness.js.map +1 -0
  172. package/dist/host/ref-state.d.ts +53 -0
  173. package/dist/host/ref-state.d.ts.map +1 -0
  174. package/dist/host/ref-state.js +83 -0
  175. package/dist/host/ref-state.js.map +1 -0
  176. package/dist/host/reference-keys.d.ts +36 -0
  177. package/dist/host/reference-keys.d.ts.map +1 -0
  178. package/dist/host/reference-keys.js +168 -0
  179. package/dist/host/reference-keys.js.map +1 -0
  180. package/dist/host/reference-source.d.ts +65 -0
  181. package/dist/host/reference-source.d.ts.map +1 -0
  182. package/dist/host/reference-source.js +285 -0
  183. package/dist/host/reference-source.js.map +1 -0
  184. package/dist/host/reference.d.ts +321 -0
  185. package/dist/host/reference.d.ts.map +1 -0
  186. package/dist/host/reference.js +797 -0
  187. package/dist/host/reference.js.map +1 -0
  188. package/dist/host/reload-cycle.d.ts +16 -0
  189. package/dist/host/reload-cycle.d.ts.map +1 -0
  190. package/dist/host/reload-cycle.js +81 -0
  191. package/dist/host/reload-cycle.js.map +1 -0
  192. package/dist/host/retry-on.d.ts.map +1 -0
  193. package/dist/host/retry-on.js.map +1 -0
  194. package/dist/host/revocation.d.ts +16 -0
  195. package/dist/host/revocation.d.ts.map +1 -0
  196. package/dist/host/revocation.js.map +1 -0
  197. package/dist/host/root.d.ts +37 -0
  198. package/dist/host/root.d.ts.map +1 -0
  199. package/dist/host/root.js +68 -0
  200. package/dist/host/root.js.map +1 -0
  201. package/dist/host/route.d.ts +64 -0
  202. package/dist/host/route.d.ts.map +1 -0
  203. package/dist/host/route.js +227 -0
  204. package/dist/host/route.js.map +1 -0
  205. package/dist/host/routines.d.ts +78 -0
  206. package/dist/host/routines.d.ts.map +1 -0
  207. package/dist/host/routines.js +398 -0
  208. package/dist/host/routines.js.map +1 -0
  209. package/dist/host/sleep.d.ts +9 -0
  210. package/dist/host/sleep.d.ts.map +1 -0
  211. package/dist/host/sleep.js.map +1 -0
  212. package/dist/host/staging.d.ts +94 -0
  213. package/dist/host/staging.d.ts.map +1 -0
  214. package/dist/host/staging.js +304 -0
  215. package/dist/host/staging.js.map +1 -0
  216. package/dist/host/unbound-clock.d.ts +23 -0
  217. package/dist/host/unbound-clock.d.ts.map +1 -0
  218. package/dist/host/unbound-clock.js +58 -0
  219. package/dist/host/unbound-clock.js.map +1 -0
  220. package/dist/host/unbound.d.ts +37 -0
  221. package/dist/host/unbound.d.ts.map +1 -0
  222. package/dist/host/unbound.js +88 -0
  223. package/dist/host/unbound.js.map +1 -0
  224. package/dist/host/uuid.d.ts.map +1 -0
  225. package/dist/host/uuid.js.map +1 -0
  226. package/dist/index.d.ts +29 -19
  227. package/dist/index.d.ts.map +1 -1
  228. package/dist/index.js +20 -10
  229. package/dist/index.js.map +1 -1
  230. package/dist/jobs/definition.d.ts.map +1 -0
  231. package/dist/jobs/definition.js.map +1 -0
  232. package/dist/jobs/index.d.ts.map +1 -0
  233. package/dist/jobs/index.js.map +1 -0
  234. package/dist/jobs/internal.d.ts.map +1 -0
  235. package/dist/jobs/internal.js.map +1 -0
  236. package/dist/jobs/job.d.ts +149 -0
  237. package/dist/jobs/job.d.ts.map +1 -0
  238. package/dist/jobs/job.js +387 -0
  239. package/dist/jobs/job.js.map +1 -0
  240. package/dist/jobs/persisted.d.ts +38 -0
  241. package/dist/jobs/persisted.d.ts.map +1 -0
  242. package/dist/jobs/persisted.js.map +1 -0
  243. package/dist/jobs/records.d.ts +231 -0
  244. package/dist/jobs/records.d.ts.map +1 -0
  245. package/dist/jobs/records.js +871 -0
  246. package/dist/jobs/records.js.map +1 -0
  247. package/dist/jobs/run-states.d.ts +69 -0
  248. package/dist/jobs/run-states.d.ts.map +1 -0
  249. package/dist/jobs/run-states.js +228 -0
  250. package/dist/jobs/run-states.js.map +1 -0
  251. package/dist/jobs/run.d.ts +117 -0
  252. package/dist/jobs/run.d.ts.map +1 -0
  253. package/dist/jobs/run.js +204 -0
  254. package/dist/jobs/run.js.map +1 -0
  255. package/dist/jobs/running.d.ts +44 -0
  256. package/dist/jobs/running.d.ts.map +1 -0
  257. package/dist/jobs/running.js.map +1 -0
  258. package/dist/jobs/stored.d.ts +63 -0
  259. package/dist/jobs/stored.d.ts.map +1 -0
  260. package/dist/jobs/stored.js.map +1 -0
  261. package/dist/link/binary.d.ts.map +1 -0
  262. package/dist/link/binary.js +544 -0
  263. package/dist/link/binary.js.map +1 -0
  264. package/dist/link/channel.d.ts +68 -0
  265. package/dist/link/channel.d.ts.map +1 -0
  266. package/dist/link/channel.js +215 -0
  267. package/dist/link/channel.js.map +1 -0
  268. package/dist/link/errors.d.ts.map +1 -0
  269. package/dist/link/errors.js.map +1 -0
  270. package/dist/link/index.d.ts.map +1 -0
  271. package/dist/link/index.js.map +1 -0
  272. package/dist/link/internal.d.ts.map +1 -0
  273. package/dist/link/internal.js.map +1 -0
  274. package/dist/link/ipc.d.ts.map +1 -0
  275. package/dist/link/ipc.js.map +1 -0
  276. package/dist/link/link.d.ts.map +1 -0
  277. package/dist/link/link.js.map +1 -0
  278. package/dist/link/message.d.ts +262 -0
  279. package/dist/link/message.d.ts.map +1 -0
  280. package/dist/link/message.js +156 -0
  281. package/dist/link/message.js.map +1 -0
  282. package/dist/link/part.d.ts +80 -0
  283. package/dist/link/part.d.ts.map +1 -0
  284. package/dist/link/part.js +165 -0
  285. package/dist/link/part.js.map +1 -0
  286. package/dist/link/text.d.ts.map +1 -0
  287. package/dist/link/text.js +355 -0
  288. package/dist/link/text.js.map +1 -0
  289. package/dist/link/values.d.ts.map +1 -0
  290. package/dist/link/values.js +121 -0
  291. package/dist/link/values.js.map +1 -0
  292. package/dist/link/websocket.d.ts.map +1 -0
  293. package/dist/link/websocket.js.map +1 -0
  294. package/dist/node/app/app.d.ts +269 -0
  295. package/dist/node/app/app.d.ts.map +1 -0
  296. package/dist/node/app/app.js +513 -0
  297. package/dist/node/app/app.js.map +1 -0
  298. package/dist/node/app/archive.d.ts +37 -0
  299. package/dist/node/app/archive.d.ts.map +1 -0
  300. package/dist/node/app/archive.js +204 -0
  301. package/dist/node/app/archive.js.map +1 -0
  302. package/dist/node/app/blobs.d.ts +23 -0
  303. package/dist/node/app/blobs.d.ts.map +1 -0
  304. package/dist/node/app/blobs.js +64 -0
  305. package/dist/node/app/blobs.js.map +1 -0
  306. package/dist/node/app/data.d.ts +35 -0
  307. package/dist/node/app/data.d.ts.map +1 -0
  308. package/dist/node/app/data.js +44 -0
  309. package/dist/node/app/data.js.map +1 -0
  310. package/dist/node/app/ephemeral-sessions.d.ts +20 -0
  311. package/dist/node/app/ephemeral-sessions.d.ts.map +1 -0
  312. package/dist/node/app/ephemeral-sessions.js +69 -0
  313. package/dist/node/app/ephemeral-sessions.js.map +1 -0
  314. package/dist/node/app/ephemeral.d.ts +11 -0
  315. package/dist/node/app/ephemeral.d.ts.map +1 -0
  316. package/dist/node/app/ephemeral.js +34 -0
  317. package/dist/node/app/ephemeral.js.map +1 -0
  318. package/dist/node/app/files-copy.d.ts +13 -0
  319. package/dist/node/app/files-copy.d.ts.map +1 -0
  320. package/dist/node/app/files-copy.js +86 -0
  321. package/dist/node/app/files-copy.js.map +1 -0
  322. package/dist/node/app/files-entry.d.ts +4 -0
  323. package/dist/node/app/files-entry.d.ts.map +1 -0
  324. package/dist/node/app/files-entry.js +7 -0
  325. package/dist/node/app/files-entry.js.map +1 -0
  326. package/dist/node/app/files-index.d.ts +180 -0
  327. package/dist/node/app/files-index.d.ts.map +1 -0
  328. package/dist/node/app/files-index.js +535 -0
  329. package/dist/node/app/files-index.js.map +1 -0
  330. package/dist/node/app/files.d.ts +363 -0
  331. package/dist/node/app/files.d.ts.map +1 -0
  332. package/dist/node/app/files.js +368 -0
  333. package/dist/node/app/files.js.map +1 -0
  334. package/dist/node/app/folder-views.d.ts +21 -0
  335. package/dist/node/app/folder-views.d.ts.map +1 -0
  336. package/dist/node/app/folder-views.js +55 -0
  337. package/dist/node/app/folder-views.js.map +1 -0
  338. package/dist/node/app/index.d.ts +12 -0
  339. package/dist/node/app/index.d.ts.map +1 -0
  340. package/dist/node/app/index.js +15 -0
  341. package/dist/node/app/index.js.map +1 -0
  342. package/dist/node/app/info.d.ts +66 -0
  343. package/dist/node/app/info.d.ts.map +1 -0
  344. package/dist/node/app/info.js +37 -0
  345. package/dist/node/app/info.js.map +1 -0
  346. package/dist/node/app/invite.d.ts +5 -0
  347. package/dist/node/app/invite.d.ts.map +1 -0
  348. package/dist/node/app/invite.js +64 -0
  349. package/dist/node/app/invite.js.map +1 -0
  350. package/dist/node/app/layout.d.ts +36 -0
  351. package/dist/node/app/layout.d.ts.map +1 -0
  352. package/dist/node/app/layout.js +87 -0
  353. package/dist/node/app/layout.js.map +1 -0
  354. package/dist/node/app/owner.d.ts +31 -0
  355. package/dist/node/app/owner.d.ts.map +1 -0
  356. package/dist/node/app/owner.js +104 -0
  357. package/dist/node/app/owner.js.map +1 -0
  358. package/dist/node/app/pairing.d.ts +55 -0
  359. package/dist/node/app/pairing.d.ts.map +1 -0
  360. package/dist/node/app/pairing.js +183 -0
  361. package/dist/node/app/pairing.js.map +1 -0
  362. package/dist/node/app/secrets.d.ts +16 -0
  363. package/dist/node/app/secrets.d.ts.map +1 -0
  364. package/dist/node/app/secrets.js +72 -0
  365. package/dist/node/app/secrets.js.map +1 -0
  366. package/dist/node/app/sessions.d.ts +72 -0
  367. package/dist/node/app/sessions.d.ts.map +1 -0
  368. package/dist/node/app/sessions.js +222 -0
  369. package/dist/node/app/sessions.js.map +1 -0
  370. package/dist/node/app/tar.d.ts +24 -0
  371. package/dist/node/app/tar.d.ts.map +1 -0
  372. package/dist/node/app/tar.js +167 -0
  373. package/dist/node/app/tar.js.map +1 -0
  374. package/dist/node/app/uploads.d.ts +37 -0
  375. package/dist/node/app/uploads.d.ts.map +1 -0
  376. package/dist/node/app/uploads.js +157 -0
  377. package/dist/node/app/uploads.js.map +1 -0
  378. package/dist/node/app/users.d.ts +37 -0
  379. package/dist/node/app/users.d.ts.map +1 -0
  380. package/dist/node/app/users.js +62 -0
  381. package/dist/node/app/users.js.map +1 -0
  382. package/dist/node/app/worker.d.ts +18 -0
  383. package/dist/node/app/worker.d.ts.map +1 -0
  384. package/dist/node/app/worker.js +84 -0
  385. package/dist/node/app/worker.js.map +1 -0
  386. package/dist/node/compression.d.ts +7 -0
  387. package/dist/node/compression.d.ts.map +1 -0
  388. package/dist/node/compression.js +25 -0
  389. package/dist/node/compression.js.map +1 -0
  390. package/dist/node/http/admission.d.ts.map +1 -0
  391. package/dist/node/http/admission.js.map +1 -0
  392. package/dist/node/http/authenticate.d.ts +21 -0
  393. package/dist/node/http/authenticate.d.ts.map +1 -0
  394. package/dist/node/http/authenticate.js +34 -0
  395. package/dist/node/http/authenticate.js.map +1 -0
  396. package/dist/node/http/cookies.d.ts +32 -0
  397. package/dist/node/http/cookies.d.ts.map +1 -0
  398. package/dist/node/http/cookies.js +70 -0
  399. package/dist/node/http/cookies.js.map +1 -0
  400. package/dist/node/http/file.d.ts.map +1 -0
  401. package/dist/node/http/file.js.map +1 -0
  402. package/dist/node/http/headers.d.ts.map +1 -0
  403. package/dist/node/http/headers.js +136 -0
  404. package/dist/node/http/headers.js.map +1 -0
  405. package/dist/node/http/http.d.ts +111 -0
  406. package/dist/node/http/http.d.ts.map +1 -0
  407. package/dist/node/http/http.js +524 -0
  408. package/dist/node/http/http.js.map +1 -0
  409. package/dist/node/http/incoming.d.ts.map +1 -0
  410. package/dist/node/http/incoming.js.map +1 -0
  411. package/dist/node/http/index.d.ts +11 -0
  412. package/dist/node/http/index.d.ts.map +1 -0
  413. package/dist/node/http/index.js +12 -0
  414. package/dist/node/http/index.js.map +1 -0
  415. package/dist/node/http/node.d.ts.map +1 -0
  416. package/dist/node/http/node.js.map +1 -0
  417. package/dist/node/http/request.d.ts +60 -0
  418. package/dist/node/http/request.d.ts.map +1 -0
  419. package/dist/node/http/request.js +118 -0
  420. package/dist/node/http/request.js.map +1 -0
  421. package/dist/node/http/response.d.ts +63 -0
  422. package/dist/node/http/response.d.ts.map +1 -0
  423. package/dist/node/http/response.js.map +1 -0
  424. package/dist/node/http/router.d.ts +132 -0
  425. package/dist/node/http/router.d.ts.map +1 -0
  426. package/dist/node/http/router.js +267 -0
  427. package/dist/node/http/router.js.map +1 -0
  428. package/dist/node/http/upgrades.d.ts +61 -0
  429. package/dist/node/http/upgrades.d.ts.map +1 -0
  430. package/dist/node/http/upgrades.js +192 -0
  431. package/dist/node/http/upgrades.js.map +1 -0
  432. package/dist/node/plugins/base-inputs.d.ts +14 -0
  433. package/dist/node/plugins/base-inputs.d.ts.map +1 -0
  434. package/dist/node/plugins/base-inputs.js +33 -0
  435. package/dist/node/plugins/base-inputs.js.map +1 -0
  436. package/dist/node/plugins/build.d.ts +77 -0
  437. package/dist/node/plugins/build.d.ts.map +1 -0
  438. package/dist/node/plugins/build.js +576 -0
  439. package/dist/node/plugins/build.js.map +1 -0
  440. package/dist/node/plugins/css-modules.d.ts +13 -0
  441. package/dist/node/plugins/css-modules.d.ts.map +1 -0
  442. package/dist/node/plugins/css-modules.js +58 -0
  443. package/dist/node/plugins/css-modules.js.map +1 -0
  444. package/dist/node/plugins/discover.d.ts +67 -0
  445. package/dist/node/plugins/discover.d.ts.map +1 -0
  446. package/dist/node/plugins/discover.js +369 -0
  447. package/dist/node/plugins/discover.js.map +1 -0
  448. package/dist/node/plugins/evaluate.d.ts +33 -0
  449. package/dist/node/plugins/evaluate.d.ts.map +1 -0
  450. package/dist/node/plugins/evaluate.js +121 -0
  451. package/dist/node/plugins/evaluate.js.map +1 -0
  452. package/dist/node/plugins/index.d.ts +11 -0
  453. package/dist/node/plugins/index.d.ts.map +1 -0
  454. package/dist/node/plugins/index.js +13 -0
  455. package/dist/node/plugins/index.js.map +1 -0
  456. package/dist/node/plugins/install.d.ts +38 -0
  457. package/dist/node/plugins/install.d.ts.map +1 -0
  458. package/dist/node/plugins/install.js +213 -0
  459. package/dist/node/plugins/install.js.map +1 -0
  460. package/dist/node/plugins/plugins.d.ts +162 -0
  461. package/dist/node/plugins/plugins.d.ts.map +1 -0
  462. package/dist/node/plugins/plugins.js +244 -0
  463. package/dist/node/plugins/plugins.js.map +1 -0
  464. package/dist/node/plugins/runtime.d.ts +57 -0
  465. package/dist/node/plugins/runtime.d.ts.map +1 -0
  466. package/dist/node/plugins/runtime.js +92 -0
  467. package/dist/node/plugins/runtime.js.map +1 -0
  468. package/dist/node/plugins/stack.d.ts.map +1 -0
  469. package/dist/node/plugins/stack.js.map +1 -0
  470. package/dist/node/plugins/testing.d.ts +58 -0
  471. package/dist/node/plugins/testing.d.ts.map +1 -0
  472. package/dist/node/plugins/testing.js +210 -0
  473. package/dist/node/plugins/testing.js.map +1 -0
  474. package/dist/node/plugins/watcher.d.ts +69 -0
  475. package/dist/node/plugins/watcher.d.ts.map +1 -0
  476. package/dist/node/plugins/watcher.js +622 -0
  477. package/dist/node/plugins/watcher.js.map +1 -0
  478. package/dist/node/surfaces/bundle.d.ts +31 -0
  479. package/dist/node/surfaces/bundle.d.ts.map +1 -0
  480. package/dist/node/surfaces/bundle.js +118 -0
  481. package/dist/node/surfaces/bundle.js.map +1 -0
  482. package/dist/node/surfaces/current.d.ts +17 -0
  483. package/dist/node/surfaces/current.d.ts.map +1 -0
  484. package/dist/node/surfaces/current.js +54 -0
  485. package/dist/node/surfaces/current.js.map +1 -0
  486. package/dist/node/surfaces/index.d.ts +6 -0
  487. package/dist/node/surfaces/index.d.ts.map +1 -0
  488. package/dist/node/surfaces/index.js +6 -0
  489. package/dist/node/surfaces/index.js.map +1 -0
  490. package/dist/node/surfaces/published.d.ts +27 -0
  491. package/dist/node/surfaces/published.d.ts.map +1 -0
  492. package/dist/node/surfaces/published.js +142 -0
  493. package/dist/node/surfaces/published.js.map +1 -0
  494. package/dist/node/surfaces/served.d.ts +15 -0
  495. package/dist/node/surfaces/served.d.ts.map +1 -0
  496. package/dist/node/surfaces/served.js +42 -0
  497. package/dist/node/surfaces/served.js.map +1 -0
  498. package/dist/node/surfaces/surface-build.d.ts +53 -0
  499. package/dist/node/surfaces/surface-build.d.ts.map +1 -0
  500. package/dist/node/surfaces/surface-build.js +105 -0
  501. package/dist/node/surfaces/surface-build.js.map +1 -0
  502. package/dist/node/surfaces/tui.d.ts +40 -0
  503. package/dist/node/surfaces/tui.d.ts.map +1 -0
  504. package/dist/node/surfaces/tui.js +55 -0
  505. package/dist/node/surfaces/tui.js.map +1 -0
  506. package/dist/node/surfaces/web.d.ts +56 -0
  507. package/dist/node/surfaces/web.d.ts.map +1 -0
  508. package/dist/node/surfaces/web.js +108 -0
  509. package/dist/node/surfaces/web.js.map +1 -0
  510. package/dist/node/tui/actions.d.ts +49 -0
  511. package/dist/node/tui/actions.d.ts.map +1 -0
  512. package/dist/node/tui/actions.js +195 -0
  513. package/dist/node/tui/actions.js.map +1 -0
  514. package/dist/node/tui/credentials.d.ts +17 -0
  515. package/dist/node/tui/credentials.d.ts.map +1 -0
  516. package/dist/node/tui/credentials.js +54 -0
  517. package/dist/node/tui/credentials.js.map +1 -0
  518. package/dist/node/tui/filter.d.ts +5 -0
  519. package/dist/node/tui/filter.d.ts.map +1 -0
  520. package/dist/node/tui/filter.js +79 -0
  521. package/dist/node/tui/filter.js.map +1 -0
  522. package/dist/node/tui/index.d.ts +6 -0
  523. package/dist/node/tui/index.d.ts.map +1 -0
  524. package/dist/node/tui/index.js +6 -0
  525. package/dist/node/tui/index.js.map +1 -0
  526. package/dist/node/tui/launcher.d.ts +40 -0
  527. package/dist/node/tui/launcher.d.ts.map +1 -0
  528. package/dist/node/tui/launcher.js +439 -0
  529. package/dist/node/tui/launcher.js.map +1 -0
  530. package/dist/node/tui/pipe.d.ts +18 -0
  531. package/dist/node/tui/pipe.d.ts.map +1 -0
  532. package/dist/node/tui/pipe.js +134 -0
  533. package/dist/node/tui/pipe.js.map +1 -0
  534. package/dist/node/tui/sandbox.d.ts +54 -0
  535. package/dist/node/tui/sandbox.d.ts.map +1 -0
  536. package/dist/node/tui/sandbox.js +431 -0
  537. package/dist/node/tui/sandbox.js.map +1 -0
  538. package/dist/node/workers/base.d.ts +30 -0
  539. package/dist/node/workers/base.d.ts.map +1 -0
  540. package/dist/node/workers/base.js +255 -0
  541. package/dist/node/workers/base.js.map +1 -0
  542. package/dist/node/workers/child.d.ts +4 -0
  543. package/dist/node/workers/child.d.ts.map +1 -0
  544. package/dist/node/workers/child.js +6 -0
  545. package/dist/node/workers/child.js.map +1 -0
  546. package/dist/node/workers/control.d.ts +83 -0
  547. package/dist/node/workers/control.d.ts.map +1 -0
  548. package/dist/node/workers/control.js +77 -0
  549. package/dist/node/workers/control.js.map +1 -0
  550. package/dist/node/workers/index.d.ts +4 -0
  551. package/dist/node/workers/index.d.ts.map +1 -0
  552. package/dist/node/workers/index.js +7 -0
  553. package/dist/node/workers/index.js.map +1 -0
  554. package/dist/node/workers/lock.d.ts +30 -0
  555. package/dist/node/workers/lock.d.ts.map +1 -0
  556. package/dist/node/workers/lock.js +180 -0
  557. package/dist/node/workers/lock.js.map +1 -0
  558. package/dist/node/workers/main.d.ts +46 -0
  559. package/dist/node/workers/main.d.ts.map +1 -0
  560. package/dist/node/workers/main.js +230 -0
  561. package/dist/node/workers/main.js.map +1 -0
  562. package/dist/node/workers/process.d.ts +42 -0
  563. package/dist/node/workers/process.d.ts.map +1 -0
  564. package/dist/node/workers/process.js +125 -0
  565. package/dist/node/workers/process.js.map +1 -0
  566. package/dist/node/workers/workers.d.ts +122 -0
  567. package/dist/node/workers/workers.d.ts.map +1 -0
  568. package/dist/node/workers/workers.js +677 -0
  569. package/dist/node/workers/workers.js.map +1 -0
  570. package/dist/react/hooks.d.ts +43 -0
  571. package/dist/react/hooks.d.ts.map +1 -0
  572. package/dist/react/hooks.js +82 -0
  573. package/dist/react/hooks.js.map +1 -0
  574. package/dist/react/index.d.ts +3 -0
  575. package/dist/react/index.d.ts.map +1 -0
  576. package/dist/react/index.js +4 -0
  577. package/dist/react/index.js.map +1 -0
  578. package/dist/react/stores.d.ts +9 -0
  579. package/dist/react/stores.d.ts.map +1 -0
  580. package/dist/react/stores.js +37 -0
  581. package/dist/react/stores.js.map +1 -0
  582. package/dist/registries/contribution.d.ts.map +1 -0
  583. package/dist/registries/contribution.js.map +1 -0
  584. package/dist/registries/entries.d.ts.map +1 -0
  585. package/dist/registries/entries.js.map +1 -0
  586. package/dist/registries/index.d.ts.map +1 -0
  587. package/dist/registries/index.js.map +1 -0
  588. package/dist/registries/internal.d.ts.map +1 -0
  589. package/dist/registries/internal.js.map +1 -0
  590. package/dist/registries/record.d.ts +115 -0
  591. package/dist/registries/record.d.ts.map +1 -0
  592. package/dist/registries/record.js +283 -0
  593. package/dist/registries/record.js.map +1 -0
  594. package/dist/registries/registry.d.ts +74 -0
  595. package/dist/registries/registry.d.ts.map +1 -0
  596. package/dist/registries/registry.js.map +1 -0
  597. package/dist/registries/value.d.ts.map +1 -0
  598. package/dist/registries/value.js +224 -0
  599. package/dist/registries/value.js.map +1 -0
  600. package/dist/remote/calls.d.ts.map +1 -0
  601. package/dist/remote/calls.js.map +1 -0
  602. package/dist/remote/consumer.d.ts +43 -0
  603. package/dist/remote/consumer.d.ts.map +1 -0
  604. package/dist/remote/consumer.js +350 -0
  605. package/dist/remote/consumer.js.map +1 -0
  606. package/dist/remote/hold.d.ts +141 -0
  607. package/dist/remote/hold.d.ts.map +1 -0
  608. package/dist/remote/hold.js +579 -0
  609. package/dist/remote/hold.js.map +1 -0
  610. package/dist/remote/host-link.d.ts +77 -0
  611. package/dist/remote/host-link.d.ts.map +1 -0
  612. package/dist/remote/host-link.js +184 -0
  613. package/dist/remote/host-link.js.map +1 -0
  614. package/dist/remote/internal.d.ts.map +1 -0
  615. package/dist/remote/internal.js.map +1 -0
  616. package/dist/remote/path.d.ts.map +1 -0
  617. package/dist/remote/path.js.map +1 -0
  618. package/dist/remote/provider.d.ts +89 -0
  619. package/dist/remote/provider.d.ts.map +1 -0
  620. package/dist/remote/provider.js +597 -0
  621. package/dist/remote/provider.js.map +1 -0
  622. package/dist/remote/relay.d.ts +69 -0
  623. package/dist/remote/relay.d.ts.map +1 -0
  624. package/dist/remote/relay.js +219 -0
  625. package/dist/remote/relay.js.map +1 -0
  626. package/dist/remote/remote-object.d.ts +138 -0
  627. package/dist/remote/remote-object.d.ts.map +1 -0
  628. package/dist/remote/remote-object.js +492 -0
  629. package/dist/remote/remote-object.js.map +1 -0
  630. package/dist/remote/replica.d.ts +59 -0
  631. package/dist/remote/replica.d.ts.map +1 -0
  632. package/dist/remote/replica.js +125 -0
  633. package/dist/remote/replica.js.map +1 -0
  634. package/dist/sqlite/node.d.ts +9 -1
  635. package/dist/sqlite/node.d.ts.map +1 -1
  636. package/dist/sqlite/node.js +9 -3
  637. package/dist/sqlite/node.js.map +1 -1
  638. package/dist/state/batch.d.ts +64 -0
  639. package/dist/state/batch.d.ts.map +1 -0
  640. package/dist/state/batch.js +164 -0
  641. package/dist/state/batch.js.map +1 -0
  642. package/dist/state/derive.d.ts +52 -0
  643. package/dist/state/derive.d.ts.map +1 -0
  644. package/dist/state/derive.js +182 -0
  645. package/dist/state/derive.js.map +1 -0
  646. package/dist/state/index.d.ts +6 -0
  647. package/dist/state/index.d.ts.map +1 -0
  648. package/dist/state/index.js.map +1 -0
  649. package/dist/state/internal.d.ts.map +1 -0
  650. package/dist/state/internal.js.map +1 -0
  651. package/dist/state/native-source.d.ts +106 -0
  652. package/dist/state/native-source.d.ts.map +1 -0
  653. package/dist/state/native-source.js +240 -0
  654. package/dist/state/native-source.js.map +1 -0
  655. package/dist/state/watchable.d.ts +114 -0
  656. package/dist/state/watchable.d.ts.map +1 -0
  657. package/dist/state/watchable.js +156 -0
  658. package/dist/state/watchable.js.map +1 -0
  659. package/dist/state/writable.d.ts +32 -0
  660. package/dist/state/writable.d.ts.map +1 -0
  661. package/dist/state/writable.js.map +1 -0
  662. package/dist/store/adapter.d.ts +67 -0
  663. package/dist/store/adapter.d.ts.map +1 -0
  664. package/dist/store/adapter.js.map +1 -0
  665. package/dist/store/allocator.d.ts.map +1 -0
  666. package/dist/store/allocator.js.map +1 -0
  667. package/dist/store/applier.d.ts.map +1 -0
  668. package/dist/store/applier.js.map +1 -0
  669. package/dist/store/apply-batch.d.ts +12 -0
  670. package/dist/store/apply-batch.d.ts.map +1 -0
  671. package/dist/store/apply-batch.js.map +1 -0
  672. package/dist/store/archive.d.ts +32 -0
  673. package/dist/store/archive.d.ts.map +1 -0
  674. package/dist/store/archive.js +130 -0
  675. package/dist/store/archive.js.map +1 -0
  676. package/dist/store/backend.d.ts +10 -0
  677. package/dist/store/backend.d.ts.map +1 -0
  678. package/dist/store/backend.js.map +1 -0
  679. package/dist/store/catalog.d.ts +24 -0
  680. package/dist/store/catalog.d.ts.map +1 -0
  681. package/dist/store/catalog.js.map +1 -0
  682. package/dist/store/claims.d.ts.map +1 -0
  683. package/dist/store/claims.js.map +1 -0
  684. package/dist/store/columns.d.ts.map +1 -0
  685. package/dist/store/columns.js.map +1 -0
  686. package/dist/store/engine.d.ts +176 -0
  687. package/dist/store/engine.d.ts.map +1 -0
  688. package/dist/store/engine.js +283 -0
  689. package/dist/store/engine.js.map +1 -0
  690. package/dist/store/evaluate.d.ts +17 -0
  691. package/dist/store/evaluate.d.ts.map +1 -0
  692. package/dist/store/evaluate.js.map +1 -0
  693. package/dist/store/export.d.ts +17 -0
  694. package/dist/store/export.d.ts.map +1 -0
  695. package/dist/store/export.js +200 -0
  696. package/dist/store/export.js.map +1 -0
  697. package/dist/store/expression.d.ts +150 -0
  698. package/dist/store/expression.d.ts.map +1 -0
  699. package/dist/store/expression.js.map +1 -0
  700. package/dist/store/import.d.ts +10 -0
  701. package/dist/store/import.d.ts.map +1 -0
  702. package/dist/store/import.js +276 -0
  703. package/dist/store/import.js.map +1 -0
  704. package/dist/store/index.d.ts.map +1 -0
  705. package/dist/store/index.js.map +1 -0
  706. package/dist/store/json-column.d.ts +33 -0
  707. package/dist/store/json-column.d.ts.map +1 -0
  708. package/dist/store/json-column.js +62 -0
  709. package/dist/store/json-column.js.map +1 -0
  710. package/dist/store/jsonl.d.ts.map +1 -0
  711. package/dist/store/jsonl.js.map +1 -0
  712. package/dist/store/live-query.d.ts +108 -0
  713. package/dist/store/live-query.d.ts.map +1 -0
  714. package/dist/store/live-query.js +254 -0
  715. package/dist/store/live-query.js.map +1 -0
  716. package/dist/store/outbox.d.ts +26 -0
  717. package/dist/store/outbox.d.ts.map +1 -0
  718. package/dist/store/outbox.js.map +1 -0
  719. package/dist/store/query.d.ts +39 -0
  720. package/dist/store/query.d.ts.map +1 -0
  721. package/dist/store/query.js.map +1 -0
  722. package/dist/store/refusal.d.ts.map +1 -0
  723. package/dist/store/refusal.js.map +1 -0
  724. package/dist/store/rows.d.ts +80 -0
  725. package/dist/store/rows.d.ts.map +1 -0
  726. package/dist/store/rows.js.map +1 -0
  727. package/dist/store/schema.d.ts +25 -0
  728. package/dist/store/schema.d.ts.map +1 -0
  729. package/dist/store/schema.js +115 -0
  730. package/dist/store/schema.js.map +1 -0
  731. package/dist/store/sql.d.ts +73 -0
  732. package/dist/store/sql.d.ts.map +1 -0
  733. package/dist/store/sql.js.map +1 -0
  734. package/dist/store/step.d.ts +50 -0
  735. package/dist/store/step.d.ts.map +1 -0
  736. package/dist/store/step.js +52 -0
  737. package/dist/store/step.js.map +1 -0
  738. package/dist/store/store.d.ts +171 -0
  739. package/dist/store/store.d.ts.map +1 -0
  740. package/dist/store/store.js +818 -0
  741. package/dist/store/store.js.map +1 -0
  742. package/dist/store/table-changes.d.ts +29 -0
  743. package/dist/store/table-changes.d.ts.map +1 -0
  744. package/dist/store/table-changes.js.map +1 -0
  745. package/dist/store/table-evolve.d.ts.map +1 -0
  746. package/dist/store/table-evolve.js.map +1 -0
  747. package/dist/store/table-handle.d.ts +73 -0
  748. package/dist/store/table-handle.d.ts.map +1 -0
  749. package/dist/store/table-handle.js +101 -0
  750. package/dist/store/table-handle.js.map +1 -0
  751. package/dist/store/table-history.d.ts.map +1 -0
  752. package/dist/store/table-history.js.map +1 -0
  753. package/dist/store/table-migration.d.ts +16 -0
  754. package/dist/store/table-migration.d.ts.map +1 -0
  755. package/dist/store/table-migration.js +202 -0
  756. package/dist/store/table-migration.js.map +1 -0
  757. package/dist/store/table-writes.d.ts.map +1 -0
  758. package/dist/store/table-writes.js +170 -0
  759. package/dist/store/table-writes.js.map +1 -0
  760. package/dist/store/table.d.ts +80 -0
  761. package/dist/store/table.d.ts.map +1 -0
  762. package/dist/store/table.js.map +1 -0
  763. package/dist/store/text.d.ts.map +1 -0
  764. package/dist/store/text.js.map +1 -0
  765. package/dist/store/writes.d.ts.map +1 -0
  766. package/dist/store/writes.js.map +1 -0
  767. package/dist/surfaces/active-language.d.ts +20 -0
  768. package/dist/surfaces/active-language.d.ts.map +1 -0
  769. package/dist/surfaces/active-language.js +78 -0
  770. package/dist/surfaces/active-language.js.map +1 -0
  771. package/dist/surfaces/active-theme.d.ts +16 -0
  772. package/dist/surfaces/active-theme.d.ts.map +1 -0
  773. package/dist/surfaces/active-theme.js +47 -0
  774. package/dist/surfaces/active-theme.js.map +1 -0
  775. package/dist/surfaces/client.d.ts +96 -0
  776. package/dist/surfaces/client.d.ts.map +1 -0
  777. package/dist/surfaces/client.js +264 -0
  778. package/dist/surfaces/client.js.map +1 -0
  779. package/dist/surfaces/connection.d.ts +49 -0
  780. package/dist/surfaces/connection.d.ts.map +1 -0
  781. package/dist/surfaces/connection.js +142 -0
  782. package/dist/surfaces/connection.js.map +1 -0
  783. package/dist/surfaces/format.d.ts +5 -0
  784. package/dist/surfaces/format.d.ts.map +1 -0
  785. package/dist/surfaces/format.js +37 -0
  786. package/dist/surfaces/format.js.map +1 -0
  787. package/dist/surfaces/index.d.ts +15 -0
  788. package/dist/surfaces/index.d.ts.map +1 -0
  789. package/dist/surfaces/index.js +18 -0
  790. package/dist/surfaces/index.js.map +1 -0
  791. package/dist/surfaces/language.d.ts +53 -0
  792. package/dist/surfaces/language.d.ts.map +1 -0
  793. package/dist/surfaces/language.js +74 -0
  794. package/dist/surfaces/language.js.map +1 -0
  795. package/dist/surfaces/loaded.d.ts +42 -0
  796. package/dist/surfaces/loaded.d.ts.map +1 -0
  797. package/dist/surfaces/loaded.js +116 -0
  798. package/dist/surfaces/loaded.js.map +1 -0
  799. package/dist/surfaces/locale-choice.d.ts +25 -0
  800. package/dist/surfaces/locale-choice.d.ts.map +1 -0
  801. package/dist/surfaces/locale-choice.js +14 -0
  802. package/dist/surfaces/locale-choice.js.map +1 -0
  803. package/dist/surfaces/messages.d.ts +67 -0
  804. package/dist/surfaces/messages.d.ts.map +1 -0
  805. package/dist/surfaces/messages.js +112 -0
  806. package/dist/surfaces/messages.js.map +1 -0
  807. package/dist/surfaces/page-state.d.ts +14 -0
  808. package/dist/surfaces/page-state.d.ts.map +1 -0
  809. package/dist/surfaces/page-state.js +43 -0
  810. package/dist/surfaces/page-state.js.map +1 -0
  811. package/dist/surfaces/preference.d.ts +32 -0
  812. package/dist/surfaces/preference.d.ts.map +1 -0
  813. package/dist/surfaces/preference.js +72 -0
  814. package/dist/surfaces/preference.js.map +1 -0
  815. package/dist/surfaces/registered.d.ts +33 -0
  816. package/dist/surfaces/registered.d.ts.map +1 -0
  817. package/dist/surfaces/registered.js +51 -0
  818. package/dist/surfaces/registered.js.map +1 -0
  819. package/dist/surfaces/scripts.d.ts +84 -0
  820. package/dist/surfaces/scripts.d.ts.map +1 -0
  821. package/dist/surfaces/scripts.js +28 -0
  822. package/dist/surfaces/scripts.js.map +1 -0
  823. package/dist/surfaces/theme-choice.d.ts +31 -0
  824. package/dist/surfaces/theme-choice.d.ts.map +1 -0
  825. package/dist/surfaces/theme-choice.js +18 -0
  826. package/dist/surfaces/theme-choice.js.map +1 -0
  827. package/dist/surfaces/themes.d.ts +43 -0
  828. package/dist/surfaces/themes.d.ts.map +1 -0
  829. package/dist/surfaces/themes.js +110 -0
  830. package/dist/surfaces/themes.js.map +1 -0
  831. package/dist/surfaces/translations.d.ts +29 -0
  832. package/dist/surfaces/translations.d.ts.map +1 -0
  833. package/dist/surfaces/translations.js +57 -0
  834. package/dist/surfaces/translations.js.map +1 -0
  835. package/dist/sync/batch.d.ts +18 -0
  836. package/dist/sync/batch.d.ts.map +1 -0
  837. package/dist/sync/batch.js +125 -0
  838. package/dist/sync/batch.js.map +1 -0
  839. package/dist/sync/client.d.ts +166 -0
  840. package/dist/sync/client.d.ts.map +1 -0
  841. package/dist/sync/client.js +438 -0
  842. package/dist/sync/client.js.map +1 -0
  843. package/dist/sync/files.d.ts +46 -0
  844. package/dist/sync/files.d.ts.map +1 -0
  845. package/dist/sync/files.js +13 -0
  846. package/dist/sync/files.js.map +1 -0
  847. package/dist/sync/filesystem.d.ts +37 -0
  848. package/dist/sync/filesystem.d.ts.map +1 -0
  849. package/dist/sync/filesystem.js +185 -0
  850. package/dist/sync/filesystem.js.map +1 -0
  851. package/dist/sync/index.d.ts +8 -0
  852. package/dist/sync/index.d.ts.map +1 -0
  853. package/dist/sync/index.js +9 -0
  854. package/dist/sync/index.js.map +1 -0
  855. package/dist/sync/lines.d.ts +18 -0
  856. package/dist/sync/lines.d.ts.map +1 -0
  857. package/dist/sync/lines.js +46 -0
  858. package/dist/sync/lines.js.map +1 -0
  859. package/dist/sync/remote.d.ts +130 -0
  860. package/dist/sync/remote.d.ts.map +1 -0
  861. package/dist/sync/remote.js +46 -0
  862. package/dist/sync/remote.js.map +1 -0
  863. package/dist/sync/state.d.ts +17 -0
  864. package/dist/sync/state.d.ts.map +1 -0
  865. package/dist/sync/state.js +40 -0
  866. package/dist/sync/state.js.map +1 -0
  867. package/dist/telemetry-ingest/batch.d.ts +70 -0
  868. package/dist/telemetry-ingest/batch.d.ts.map +1 -0
  869. package/dist/telemetry-ingest/batch.js +110 -0
  870. package/dist/telemetry-ingest/batch.js.map +1 -0
  871. package/dist/telemetry-ingest/facet.d.ts +21 -0
  872. package/dist/telemetry-ingest/facet.d.ts.map +1 -0
  873. package/dist/telemetry-ingest/facet.js +96 -0
  874. package/dist/telemetry-ingest/facet.js.map +1 -0
  875. package/dist/telemetry-ingest/index.d.ts +5 -0
  876. package/dist/telemetry-ingest/index.d.ts.map +1 -0
  877. package/dist/telemetry-ingest/index.js +8 -0
  878. package/dist/telemetry-ingest/index.js.map +1 -0
  879. package/dist/telemetry-ingest/recorder.d.ts +50 -0
  880. package/dist/telemetry-ingest/recorder.d.ts.map +1 -0
  881. package/dist/telemetry-ingest/recorder.js +298 -0
  882. package/dist/telemetry-ingest/recorder.js.map +1 -0
  883. package/dist/telemetry-ingest/sender.d.ts +14 -0
  884. package/dist/telemetry-ingest/sender.d.ts.map +1 -0
  885. package/dist/telemetry-ingest/sender.js +64 -0
  886. package/dist/telemetry-ingest/sender.js.map +1 -0
  887. package/dist/telemetry-sqlite/index.d.ts +13 -4
  888. package/dist/telemetry-sqlite/index.d.ts.map +1 -1
  889. package/dist/telemetry-sqlite/index.js +81 -241
  890. package/dist/telemetry-sqlite/index.js.map +1 -1
  891. package/dist/telemetry-sqlite/node.d.ts +13 -0
  892. package/dist/telemetry-sqlite/node.d.ts.map +1 -0
  893. package/dist/telemetry-sqlite/node.js +27 -0
  894. package/dist/telemetry-sqlite/node.js.map +1 -0
  895. package/dist/telemetry-sqlite/schema.d.ts +9 -0
  896. package/dist/telemetry-sqlite/schema.d.ts.map +1 -0
  897. package/dist/telemetry-sqlite/schema.js +61 -0
  898. package/dist/telemetry-sqlite/schema.js.map +1 -0
  899. package/dist/telemetry-sqlite/store.d.ts +3 -0
  900. package/dist/telemetry-sqlite/store.d.ts.map +1 -1
  901. package/dist/telemetry-sqlite/store.js +24 -13
  902. package/dist/telemetry-sqlite/store.js.map +1 -1
  903. package/dist/telemetry.d.ts +937 -0
  904. package/dist/telemetry.d.ts.map +1 -0
  905. package/dist/telemetry.js +470 -0
  906. package/dist/telemetry.js.map +1 -0
  907. package/dist/tui/bridge.d.ts +112 -0
  908. package/dist/tui/bridge.d.ts.map +1 -0
  909. package/dist/tui/bridge.js +9 -0
  910. package/dist/tui/bridge.js.map +1 -0
  911. package/dist/tui/channel.d.ts +44 -0
  912. package/dist/tui/channel.d.ts.map +1 -0
  913. package/dist/tui/channel.js +150 -0
  914. package/dist/tui/channel.js.map +1 -0
  915. package/dist/tui/frames.d.ts +5 -0
  916. package/dist/tui/frames.d.ts.map +1 -0
  917. package/dist/tui/frames.js +52 -0
  918. package/dist/tui/frames.js.map +1 -0
  919. package/dist/tui/index.d.ts +7 -0
  920. package/dist/tui/index.d.ts.map +1 -0
  921. package/dist/tui/index.js +8 -0
  922. package/dist/tui/index.js.map +1 -0
  923. package/dist/tui/runtime.d.ts +46 -0
  924. package/dist/tui/runtime.d.ts.map +1 -0
  925. package/dist/tui/runtime.js +101 -0
  926. package/dist/tui/runtime.js.map +1 -0
  927. package/dist/tui/scope.d.ts +46 -0
  928. package/dist/tui/scope.d.ts.map +1 -0
  929. package/dist/tui/scope.js +141 -0
  930. package/dist/tui/scope.js.map +1 -0
  931. package/dist/tui/terminal.d.ts +15 -0
  932. package/dist/tui/terminal.d.ts.map +1 -0
  933. package/dist/tui/terminal.js +37 -0
  934. package/dist/tui/terminal.js.map +1 -0
  935. package/dist/tui/theme.d.ts +17 -0
  936. package/dist/tui/theme.d.ts.map +1 -0
  937. package/dist/tui/theme.js +38 -0
  938. package/dist/tui/theme.js.map +1 -0
  939. package/dist/web/environment.d.ts +4 -0
  940. package/dist/web/environment.d.ts.map +1 -0
  941. package/dist/web/environment.js +37 -0
  942. package/dist/web/environment.js.map +1 -0
  943. package/dist/web/index.d.ts +5 -0
  944. package/dist/web/index.d.ts.map +1 -0
  945. package/dist/web/index.js +7 -0
  946. package/dist/web/index.js.map +1 -0
  947. package/dist/web/language.d.ts +7 -0
  948. package/dist/web/language.d.ts.map +1 -0
  949. package/dist/web/language.js +21 -0
  950. package/dist/web/language.js.map +1 -0
  951. package/dist/web/page.d.ts +29 -0
  952. package/dist/web/page.d.ts.map +1 -0
  953. package/dist/web/page.js +92 -0
  954. package/dist/web/page.js.map +1 -0
  955. package/dist/web/scripts.d.ts +23 -0
  956. package/dist/web/scripts.d.ts.map +1 -0
  957. package/dist/web/scripts.js +50 -0
  958. package/dist/web/scripts.js.map +1 -0
  959. package/dist/web/styles.d.ts +17 -0
  960. package/dist/web/styles.d.ts.map +1 -0
  961. package/dist/web/styles.js +218 -0
  962. package/dist/web/styles.js.map +1 -0
  963. package/dist/web/themes.d.ts +6 -0
  964. package/dist/web/themes.d.ts.map +1 -0
  965. package/dist/web/themes.js +31 -0
  966. package/dist/web/themes.js.map +1 -0
  967. package/docs/benchmarks.md +1036 -0
  968. package/docs/decisions.md +3436 -0
  969. package/docs/dependencies/book.md +1671 -0
  970. package/docs/dependencies/index.html +2641 -0
  971. package/docs/design.md +3065 -0
  972. package/docs/durable-observers/book.md +432 -0
  973. package/docs/durable-observers/index.html +517 -0
  974. package/docs/guide-plugins-hosts/book.md +957 -0
  975. package/docs/guide-plugins-hosts/index.html +952 -0
  976. package/docs/http-workers/book.md +378 -0
  977. package/docs/http-workers/index.html +515 -0
  978. package/docs/i18n/book.md +217 -0
  979. package/docs/i18n/index.html +344 -0
  980. package/docs/layer-1.md +311 -0
  981. package/docs/layer-2.md +216 -0
  982. package/docs/p3-features/README.md +6 -0
  983. package/docs/p3-features/book.md +478 -0
  984. package/docs/plugin-authoring.md +276 -0
  985. package/docs/plugin-model/book.md +186 -0
  986. package/docs/plugin-model/index.html +310 -0
  987. package/docs/plugin-primer/book.md +273 -0
  988. package/docs/plugin-primer/index.html +430 -0
  989. package/docs/slice-1.md +236 -0
  990. package/docs/slice-10.md +288 -0
  991. package/docs/slice-11.md +114 -0
  992. package/docs/slice-12.md +132 -0
  993. package/docs/slice-13.md +121 -0
  994. package/docs/slice-2.md +174 -0
  995. package/docs/slice-3a.md +296 -0
  996. package/docs/slice-3b.md +197 -0
  997. package/docs/slice-4a.md +418 -0
  998. package/docs/slice-4b.md +208 -0
  999. package/docs/slice-6a.md +676 -0
  1000. package/docs/slice-6b.md +332 -0
  1001. package/docs/slice-7b/book.md +608 -0
  1002. package/docs/slice-7b/index.html +842 -0
  1003. package/docs/slice-7b.md +255 -0
  1004. package/docs/slice-7c.md +165 -0
  1005. package/docs/slice-9.md +110 -0
  1006. package/docs/slices.md +241 -0
  1007. package/docs/store/book.md +670 -0
  1008. package/docs/store/index.html +861 -0
  1009. package/docs/store/walkthrough.md +193 -0
  1010. package/docs/theming/book.md +223 -0
  1011. package/docs/theming/index.html +371 -0
  1012. package/docs/tutorial/book.md +2169 -0
  1013. package/docs/tutorial/index.html +2112 -0
  1014. package/docs/tutorial/screens/click-after.png +0 -0
  1015. package/docs/tutorial/screens/click-before.png +0 -0
  1016. package/docs/tutorial/screens/edited.png +0 -0
  1017. package/docs/tutorial/screens/french.png +0 -0
  1018. package/docs/tutorial/screens/harbor.png +0 -0
  1019. package/docs/tutorial/screens/page.png +0 -0
  1020. package/docs/tutorial/screens/traces-ada.png +0 -0
  1021. package/docs/tutorial/screens/traces.png +0 -0
  1022. package/package.json +99 -21
  1023. package/dist/cell.d.ts +0 -122
  1024. package/dist/cell.d.ts.map +0 -1
  1025. package/dist/cell.js +0 -356
  1026. package/dist/cell.js.map +0 -1
  1027. package/dist/cluster.d.ts +0 -27
  1028. package/dist/cluster.d.ts.map +0 -1
  1029. package/dist/cluster.js +0 -230
  1030. package/dist/cluster.js.map +0 -1
  1031. package/dist/connection.d.ts +0 -270
  1032. package/dist/connection.d.ts.map +0 -1
  1033. package/dist/connection.js +0 -1216
  1034. package/dist/connection.js.map +0 -1
  1035. package/dist/contract.d.ts +0 -207
  1036. package/dist/contract.d.ts.map +0 -1
  1037. package/dist/contract.js +0 -241
  1038. package/dist/contract.js.map +0 -1
  1039. package/dist/declare.d.ts +0 -33
  1040. package/dist/declare.d.ts.map +0 -1
  1041. package/dist/declare.js +0 -2
  1042. package/dist/declare.js.map +0 -1
  1043. package/dist/errors.d.ts +0 -28
  1044. package/dist/errors.d.ts.map +0 -1
  1045. package/dist/errors.js +0 -59
  1046. package/dist/errors.js.map +0 -1
  1047. package/dist/host.d.ts +0 -348
  1048. package/dist/host.d.ts.map +0 -1
  1049. package/dist/host.js +0 -1002
  1050. package/dist/host.js.map +0 -1
  1051. package/dist/link.d.ts +0 -107
  1052. package/dist/link.d.ts.map +0 -1
  1053. package/dist/link.js +0 -355
  1054. package/dist/link.js.map +0 -1
  1055. package/dist/loader.d.ts +0 -4
  1056. package/dist/loader.d.ts.map +0 -1
  1057. package/dist/loader.js +0 -73
  1058. package/dist/loader.js.map +0 -1
  1059. package/dist/manager.d.ts +0 -115
  1060. package/dist/manager.d.ts.map +0 -1
  1061. package/dist/manager.js +0 -345
  1062. package/dist/manager.js.map +0 -1
  1063. package/dist/next/contracts/accepts.d.ts +0 -81
  1064. package/dist/next/contracts/accepts.d.ts.map +0 -1
  1065. package/dist/next/contracts/accepts.js.map +0 -1
  1066. package/dist/next/contracts/contract.d.ts +0 -121
  1067. package/dist/next/contracts/contract.d.ts.map +0 -1
  1068. package/dist/next/contracts/contract.js.map +0 -1
  1069. package/dist/next/contracts/declare.d.ts.map +0 -1
  1070. package/dist/next/contracts/declare.js.map +0 -1
  1071. package/dist/next/contracts/evolve.d.ts.map +0 -1
  1072. package/dist/next/contracts/evolve.js.map +0 -1
  1073. package/dist/next/contracts/fingerprint.d.ts +0 -16
  1074. package/dist/next/contracts/fingerprint.d.ts.map +0 -1
  1075. package/dist/next/contracts/fingerprint.js.map +0 -1
  1076. package/dist/next/contracts/history.d.ts.map +0 -1
  1077. package/dist/next/contracts/history.js.map +0 -1
  1078. package/dist/next/contracts/host-kind.d.ts.map +0 -1
  1079. package/dist/next/contracts/host-kind.js.map +0 -1
  1080. package/dist/next/contracts/index.d.ts.map +0 -1
  1081. package/dist/next/contracts/index.js.map +0 -1
  1082. package/dist/next/contracts/internal.d.ts.map +0 -1
  1083. package/dist/next/contracts/internal.js.map +0 -1
  1084. package/dist/next/contracts/names.d.ts.map +0 -1
  1085. package/dist/next/contracts/names.js.map +0 -1
  1086. package/dist/next/contracts/params.d.ts +0 -28
  1087. package/dist/next/contracts/params.d.ts.map +0 -1
  1088. package/dist/next/contracts/params.js.map +0 -1
  1089. package/dist/next/contracts/schema.d.ts.map +0 -1
  1090. package/dist/next/contracts/schema.js.map +0 -1
  1091. package/dist/next/contracts/snapshot.d.ts +0 -16
  1092. package/dist/next/contracts/snapshot.d.ts.map +0 -1
  1093. package/dist/next/contracts/snapshot.js +0 -167
  1094. package/dist/next/contracts/snapshot.js.map +0 -1
  1095. package/dist/next/data/args.d.ts +0 -50
  1096. package/dist/next/data/args.d.ts.map +0 -1
  1097. package/dist/next/data/args.js.map +0 -1
  1098. package/dist/next/data/errors.d.ts +0 -73
  1099. package/dist/next/data/errors.d.ts.map +0 -1
  1100. package/dist/next/data/errors.js +0 -107
  1101. package/dist/next/data/errors.js.map +0 -1
  1102. package/dist/next/data/failure.d.ts.map +0 -1
  1103. package/dist/next/data/failure.js +0 -72
  1104. package/dist/next/data/failure.js.map +0 -1
  1105. package/dist/next/data/index.d.ts +0 -4
  1106. package/dist/next/data/index.d.ts.map +0 -1
  1107. package/dist/next/data/index.js +0 -4
  1108. package/dist/next/data/index.js.map +0 -1
  1109. package/dist/next/data/internal.d.ts +0 -7
  1110. package/dist/next/data/internal.d.ts.map +0 -1
  1111. package/dist/next/data/internal.js +0 -8
  1112. package/dist/next/data/internal.js.map +0 -1
  1113. package/dist/next/data/params.d.ts +0 -20
  1114. package/dist/next/data/params.d.ts.map +0 -1
  1115. package/dist/next/data/params.js.map +0 -1
  1116. package/dist/next/data/principal.d.ts +0 -17
  1117. package/dist/next/data/principal.d.ts.map +0 -1
  1118. package/dist/next/data/principal.js +0 -41
  1119. package/dist/next/data/principal.js.map +0 -1
  1120. package/dist/next/data/validator.d.ts +0 -12
  1121. package/dist/next/data/validator.d.ts.map +0 -1
  1122. package/dist/next/data/validator.js +0 -34
  1123. package/dist/next/data/validator.js.map +0 -1
  1124. package/dist/next/documents/address-source.d.ts +0 -20
  1125. package/dist/next/documents/address-source.d.ts.map +0 -1
  1126. package/dist/next/documents/address-source.js.map +0 -1
  1127. package/dist/next/documents/definition.d.ts +0 -84
  1128. package/dist/next/documents/definition.d.ts.map +0 -1
  1129. package/dist/next/documents/definition.js +0 -73
  1130. package/dist/next/documents/definition.js.map +0 -1
  1131. package/dist/next/documents/documents.d.ts +0 -106
  1132. package/dist/next/documents/documents.d.ts.map +0 -1
  1133. package/dist/next/documents/documents.js +0 -224
  1134. package/dist/next/documents/documents.js.map +0 -1
  1135. package/dist/next/documents/fence.d.ts.map +0 -1
  1136. package/dist/next/documents/fence.js.map +0 -1
  1137. package/dist/next/documents/handles.d.ts +0 -76
  1138. package/dist/next/documents/handles.d.ts.map +0 -1
  1139. package/dist/next/documents/handles.js.map +0 -1
  1140. package/dist/next/documents/index.d.ts.map +0 -1
  1141. package/dist/next/documents/index.js.map +0 -1
  1142. package/dist/next/documents/internal.d.ts +0 -9
  1143. package/dist/next/documents/internal.d.ts.map +0 -1
  1144. package/dist/next/documents/internal.js.map +0 -1
  1145. package/dist/next/documents/keyed-slot.d.ts +0 -103
  1146. package/dist/next/documents/keyed-slot.d.ts.map +0 -1
  1147. package/dist/next/documents/keyed-slot.js +0 -395
  1148. package/dist/next/documents/keyed-slot.js.map +0 -1
  1149. package/dist/next/documents/line.d.ts.map +0 -1
  1150. package/dist/next/documents/line.js.map +0 -1
  1151. package/dist/next/documents/persistence.d.ts +0 -104
  1152. package/dist/next/documents/persistence.d.ts.map +0 -1
  1153. package/dist/next/documents/persistence.js +0 -128
  1154. package/dist/next/documents/persistence.js.map +0 -1
  1155. package/dist/next/documents/residency.d.ts +0 -31
  1156. package/dist/next/documents/residency.d.ts.map +0 -1
  1157. package/dist/next/documents/residency.js.map +0 -1
  1158. package/dist/next/documents/slot.d.ts +0 -109
  1159. package/dist/next/documents/slot.d.ts.map +0 -1
  1160. package/dist/next/documents/slot.js +0 -181
  1161. package/dist/next/documents/slot.js.map +0 -1
  1162. package/dist/next/documents/transaction.d.ts +0 -133
  1163. package/dist/next/documents/transaction.d.ts.map +0 -1
  1164. package/dist/next/documents/transaction.js +0 -409
  1165. package/dist/next/documents/transaction.js.map +0 -1
  1166. package/dist/next/host/activity.d.ts +0 -31
  1167. package/dist/next/host/activity.d.ts.map +0 -1
  1168. package/dist/next/host/activity.js +0 -40
  1169. package/dist/next/host/activity.js.map +0 -1
  1170. package/dist/next/host/adapted.d.ts +0 -49
  1171. package/dist/next/host/adapted.d.ts.map +0 -1
  1172. package/dist/next/host/adapted.js.map +0 -1
  1173. package/dist/next/host/attempt.d.ts +0 -278
  1174. package/dist/next/host/attempt.d.ts.map +0 -1
  1175. package/dist/next/host/attempt.js +0 -1072
  1176. package/dist/next/host/attempt.js.map +0 -1
  1177. package/dist/next/host/backoff.d.ts.map +0 -1
  1178. package/dist/next/host/backoff.js.map +0 -1
  1179. package/dist/next/host/ctx.d.ts +0 -47
  1180. package/dist/next/host/ctx.d.ts.map +0 -1
  1181. package/dist/next/host/ctx.js +0 -108
  1182. package/dist/next/host/ctx.js.map +0 -1
  1183. package/dist/next/host/deadline.d.ts.map +0 -1
  1184. package/dist/next/host/deadline.js.map +0 -1
  1185. package/dist/next/host/dependencies.d.ts.map +0 -1
  1186. package/dist/next/host/dependencies.js.map +0 -1
  1187. package/dist/next/host/destination.d.ts +0 -48
  1188. package/dist/next/host/destination.d.ts.map +0 -1
  1189. package/dist/next/host/destination.js.map +0 -1
  1190. package/dist/next/host/facet.d.ts +0 -79
  1191. package/dist/next/host/facet.d.ts.map +0 -1
  1192. package/dist/next/host/facet.js.map +0 -1
  1193. package/dist/next/host/follow.d.ts +0 -52
  1194. package/dist/next/host/follow.d.ts.map +0 -1
  1195. package/dist/next/host/follow.js.map +0 -1
  1196. package/dist/next/host/host.d.ts +0 -495
  1197. package/dist/next/host/host.d.ts.map +0 -1
  1198. package/dist/next/host/host.js +0 -1075
  1199. package/dist/next/host/host.js.map +0 -1
  1200. package/dist/next/host/index.d.ts +0 -17
  1201. package/dist/next/host/index.d.ts.map +0 -1
  1202. package/dist/next/host/index.js.map +0 -1
  1203. package/dist/next/host/internal.d.ts +0 -10
  1204. package/dist/next/host/internal.d.ts.map +0 -1
  1205. package/dist/next/host/internal.js +0 -8
  1206. package/dist/next/host/internal.js.map +0 -1
  1207. package/dist/next/host/members.d.ts +0 -50
  1208. package/dist/next/host/members.d.ts.map +0 -1
  1209. package/dist/next/host/members.js.map +0 -1
  1210. package/dist/next/host/native.d.ts +0 -55
  1211. package/dist/next/host/native.d.ts.map +0 -1
  1212. package/dist/next/host/native.js +0 -92
  1213. package/dist/next/host/native.js.map +0 -1
  1214. package/dist/next/host/object.d.ts +0 -290
  1215. package/dist/next/host/object.d.ts.map +0 -1
  1216. package/dist/next/host/object.js +0 -1127
  1217. package/dist/next/host/object.js.map +0 -1
  1218. package/dist/next/host/parked.d.ts +0 -23
  1219. package/dist/next/host/parked.d.ts.map +0 -1
  1220. package/dist/next/host/parked.js.map +0 -1
  1221. package/dist/next/host/presence.d.ts +0 -34
  1222. package/dist/next/host/presence.d.ts.map +0 -1
  1223. package/dist/next/host/presence.js.map +0 -1
  1224. package/dist/next/host/ref-state.d.ts +0 -53
  1225. package/dist/next/host/ref-state.d.ts.map +0 -1
  1226. package/dist/next/host/ref-state.js +0 -83
  1227. package/dist/next/host/ref-state.js.map +0 -1
  1228. package/dist/next/host/reference-keys.d.ts +0 -36
  1229. package/dist/next/host/reference-keys.d.ts.map +0 -1
  1230. package/dist/next/host/reference-keys.js +0 -168
  1231. package/dist/next/host/reference-keys.js.map +0 -1
  1232. package/dist/next/host/reference-source.d.ts +0 -65
  1233. package/dist/next/host/reference-source.d.ts.map +0 -1
  1234. package/dist/next/host/reference-source.js +0 -285
  1235. package/dist/next/host/reference-source.js.map +0 -1
  1236. package/dist/next/host/reference.d.ts +0 -308
  1237. package/dist/next/host/reference.d.ts.map +0 -1
  1238. package/dist/next/host/reference.js +0 -775
  1239. package/dist/next/host/reference.js.map +0 -1
  1240. package/dist/next/host/retry-on.d.ts.map +0 -1
  1241. package/dist/next/host/retry-on.js.map +0 -1
  1242. package/dist/next/host/revocation.d.ts +0 -16
  1243. package/dist/next/host/revocation.d.ts.map +0 -1
  1244. package/dist/next/host/revocation.js.map +0 -1
  1245. package/dist/next/host/root.d.ts +0 -27
  1246. package/dist/next/host/root.d.ts.map +0 -1
  1247. package/dist/next/host/root.js +0 -68
  1248. package/dist/next/host/root.js.map +0 -1
  1249. package/dist/next/host/route.d.ts +0 -64
  1250. package/dist/next/host/route.d.ts.map +0 -1
  1251. package/dist/next/host/route.js +0 -190
  1252. package/dist/next/host/route.js.map +0 -1
  1253. package/dist/next/host/routines.d.ts +0 -76
  1254. package/dist/next/host/routines.d.ts.map +0 -1
  1255. package/dist/next/host/routines.js +0 -350
  1256. package/dist/next/host/routines.js.map +0 -1
  1257. package/dist/next/host/sleep.d.ts +0 -9
  1258. package/dist/next/host/sleep.d.ts.map +0 -1
  1259. package/dist/next/host/sleep.js.map +0 -1
  1260. package/dist/next/host/staging.d.ts +0 -94
  1261. package/dist/next/host/staging.d.ts.map +0 -1
  1262. package/dist/next/host/staging.js +0 -302
  1263. package/dist/next/host/staging.js.map +0 -1
  1264. package/dist/next/host/unbound.d.ts +0 -30
  1265. package/dist/next/host/unbound.d.ts.map +0 -1
  1266. package/dist/next/host/unbound.js +0 -67
  1267. package/dist/next/host/unbound.js.map +0 -1
  1268. package/dist/next/host/uuid.d.ts.map +0 -1
  1269. package/dist/next/host/uuid.js.map +0 -1
  1270. package/dist/next/index.d.ts +0 -28
  1271. package/dist/next/index.d.ts.map +0 -1
  1272. package/dist/next/index.js +0 -18
  1273. package/dist/next/index.js.map +0 -1
  1274. package/dist/next/jobs/definition.d.ts.map +0 -1
  1275. package/dist/next/jobs/definition.js.map +0 -1
  1276. package/dist/next/jobs/index.d.ts.map +0 -1
  1277. package/dist/next/jobs/index.js.map +0 -1
  1278. package/dist/next/jobs/internal.d.ts.map +0 -1
  1279. package/dist/next/jobs/internal.js.map +0 -1
  1280. package/dist/next/jobs/job.d.ts +0 -152
  1281. package/dist/next/jobs/job.d.ts.map +0 -1
  1282. package/dist/next/jobs/job.js +0 -320
  1283. package/dist/next/jobs/job.js.map +0 -1
  1284. package/dist/next/jobs/persisted.d.ts +0 -38
  1285. package/dist/next/jobs/persisted.d.ts.map +0 -1
  1286. package/dist/next/jobs/persisted.js.map +0 -1
  1287. package/dist/next/jobs/records.d.ts +0 -231
  1288. package/dist/next/jobs/records.d.ts.map +0 -1
  1289. package/dist/next/jobs/records.js +0 -869
  1290. package/dist/next/jobs/records.js.map +0 -1
  1291. package/dist/next/jobs/run-states.d.ts +0 -69
  1292. package/dist/next/jobs/run-states.d.ts.map +0 -1
  1293. package/dist/next/jobs/run-states.js +0 -228
  1294. package/dist/next/jobs/run-states.js.map +0 -1
  1295. package/dist/next/jobs/run.d.ts +0 -113
  1296. package/dist/next/jobs/run.d.ts.map +0 -1
  1297. package/dist/next/jobs/run.js +0 -200
  1298. package/dist/next/jobs/run.js.map +0 -1
  1299. package/dist/next/jobs/running.d.ts +0 -44
  1300. package/dist/next/jobs/running.d.ts.map +0 -1
  1301. package/dist/next/jobs/running.js.map +0 -1
  1302. package/dist/next/jobs/stored.d.ts +0 -63
  1303. package/dist/next/jobs/stored.d.ts.map +0 -1
  1304. package/dist/next/jobs/stored.js.map +0 -1
  1305. package/dist/next/link/binary.d.ts.map +0 -1
  1306. package/dist/next/link/binary.js +0 -534
  1307. package/dist/next/link/binary.js.map +0 -1
  1308. package/dist/next/link/channel.d.ts +0 -63
  1309. package/dist/next/link/channel.d.ts.map +0 -1
  1310. package/dist/next/link/channel.js +0 -202
  1311. package/dist/next/link/channel.js.map +0 -1
  1312. package/dist/next/link/errors.d.ts.map +0 -1
  1313. package/dist/next/link/errors.js.map +0 -1
  1314. package/dist/next/link/index.d.ts.map +0 -1
  1315. package/dist/next/link/index.js.map +0 -1
  1316. package/dist/next/link/internal.d.ts.map +0 -1
  1317. package/dist/next/link/internal.js.map +0 -1
  1318. package/dist/next/link/ipc.d.ts.map +0 -1
  1319. package/dist/next/link/ipc.js.map +0 -1
  1320. package/dist/next/link/link.d.ts.map +0 -1
  1321. package/dist/next/link/link.js.map +0 -1
  1322. package/dist/next/link/message.d.ts +0 -249
  1323. package/dist/next/link/message.d.ts.map +0 -1
  1324. package/dist/next/link/message.js +0 -123
  1325. package/dist/next/link/message.js.map +0 -1
  1326. package/dist/next/link/part.d.ts +0 -80
  1327. package/dist/next/link/part.d.ts.map +0 -1
  1328. package/dist/next/link/part.js +0 -164
  1329. package/dist/next/link/part.js.map +0 -1
  1330. package/dist/next/link/text.d.ts.map +0 -1
  1331. package/dist/next/link/text.js +0 -335
  1332. package/dist/next/link/text.js.map +0 -1
  1333. package/dist/next/link/values.d.ts.map +0 -1
  1334. package/dist/next/link/values.js +0 -117
  1335. package/dist/next/link/values.js.map +0 -1
  1336. package/dist/next/link/websocket.d.ts.map +0 -1
  1337. package/dist/next/link/websocket.js.map +0 -1
  1338. package/dist/next/registries/contribution.d.ts.map +0 -1
  1339. package/dist/next/registries/contribution.js.map +0 -1
  1340. package/dist/next/registries/entries.d.ts.map +0 -1
  1341. package/dist/next/registries/entries.js.map +0 -1
  1342. package/dist/next/registries/index.d.ts.map +0 -1
  1343. package/dist/next/registries/index.js.map +0 -1
  1344. package/dist/next/registries/internal.d.ts.map +0 -1
  1345. package/dist/next/registries/internal.js.map +0 -1
  1346. package/dist/next/registries/record.d.ts +0 -94
  1347. package/dist/next/registries/record.d.ts.map +0 -1
  1348. package/dist/next/registries/record.js +0 -253
  1349. package/dist/next/registries/record.js.map +0 -1
  1350. package/dist/next/registries/registry.d.ts +0 -74
  1351. package/dist/next/registries/registry.d.ts.map +0 -1
  1352. package/dist/next/registries/registry.js.map +0 -1
  1353. package/dist/next/registries/value.d.ts.map +0 -1
  1354. package/dist/next/registries/value.js +0 -199
  1355. package/dist/next/registries/value.js.map +0 -1
  1356. package/dist/next/remote/calls.d.ts.map +0 -1
  1357. package/dist/next/remote/calls.js.map +0 -1
  1358. package/dist/next/remote/consumer.d.ts +0 -42
  1359. package/dist/next/remote/consumer.d.ts.map +0 -1
  1360. package/dist/next/remote/consumer.js +0 -343
  1361. package/dist/next/remote/consumer.js.map +0 -1
  1362. package/dist/next/remote/hold.d.ts +0 -130
  1363. package/dist/next/remote/hold.d.ts.map +0 -1
  1364. package/dist/next/remote/hold.js +0 -537
  1365. package/dist/next/remote/hold.js.map +0 -1
  1366. package/dist/next/remote/host-link.d.ts +0 -77
  1367. package/dist/next/remote/host-link.d.ts.map +0 -1
  1368. package/dist/next/remote/host-link.js +0 -182
  1369. package/dist/next/remote/host-link.js.map +0 -1
  1370. package/dist/next/remote/internal.d.ts.map +0 -1
  1371. package/dist/next/remote/internal.js.map +0 -1
  1372. package/dist/next/remote/path.d.ts.map +0 -1
  1373. package/dist/next/remote/path.js.map +0 -1
  1374. package/dist/next/remote/provider.d.ts +0 -76
  1375. package/dist/next/remote/provider.d.ts.map +0 -1
  1376. package/dist/next/remote/provider.js +0 -506
  1377. package/dist/next/remote/provider.js.map +0 -1
  1378. package/dist/next/remote/relay.d.ts +0 -58
  1379. package/dist/next/remote/relay.d.ts.map +0 -1
  1380. package/dist/next/remote/relay.js +0 -117
  1381. package/dist/next/remote/relay.js.map +0 -1
  1382. package/dist/next/remote/remote-object.d.ts +0 -133
  1383. package/dist/next/remote/remote-object.d.ts.map +0 -1
  1384. package/dist/next/remote/remote-object.js +0 -411
  1385. package/dist/next/remote/remote-object.js.map +0 -1
  1386. package/dist/next/remote/replica.d.ts +0 -59
  1387. package/dist/next/remote/replica.d.ts.map +0 -1
  1388. package/dist/next/remote/replica.js +0 -125
  1389. package/dist/next/remote/replica.js.map +0 -1
  1390. package/dist/next/state/batch.d.ts +0 -64
  1391. package/dist/next/state/batch.d.ts.map +0 -1
  1392. package/dist/next/state/batch.js +0 -163
  1393. package/dist/next/state/batch.js.map +0 -1
  1394. package/dist/next/state/derive.d.ts +0 -52
  1395. package/dist/next/state/derive.d.ts.map +0 -1
  1396. package/dist/next/state/derive.js +0 -182
  1397. package/dist/next/state/derive.js.map +0 -1
  1398. package/dist/next/state/index.d.ts +0 -6
  1399. package/dist/next/state/index.d.ts.map +0 -1
  1400. package/dist/next/state/index.js.map +0 -1
  1401. package/dist/next/state/internal.d.ts.map +0 -1
  1402. package/dist/next/state/internal.js.map +0 -1
  1403. package/dist/next/state/native-source.d.ts +0 -106
  1404. package/dist/next/state/native-source.d.ts.map +0 -1
  1405. package/dist/next/state/native-source.js +0 -240
  1406. package/dist/next/state/native-source.js.map +0 -1
  1407. package/dist/next/state/watchable.d.ts +0 -114
  1408. package/dist/next/state/watchable.d.ts.map +0 -1
  1409. package/dist/next/state/watchable.js +0 -156
  1410. package/dist/next/state/watchable.js.map +0 -1
  1411. package/dist/next/state/writable.d.ts +0 -32
  1412. package/dist/next/state/writable.d.ts.map +0 -1
  1413. package/dist/next/state/writable.js.map +0 -1
  1414. package/dist/next/store/adapter.d.ts +0 -67
  1415. package/dist/next/store/adapter.d.ts.map +0 -1
  1416. package/dist/next/store/adapter.js.map +0 -1
  1417. package/dist/next/store/allocator.d.ts.map +0 -1
  1418. package/dist/next/store/allocator.js.map +0 -1
  1419. package/dist/next/store/applier.d.ts.map +0 -1
  1420. package/dist/next/store/applier.js.map +0 -1
  1421. package/dist/next/store/apply-batch.d.ts +0 -12
  1422. package/dist/next/store/apply-batch.d.ts.map +0 -1
  1423. package/dist/next/store/apply-batch.js.map +0 -1
  1424. package/dist/next/store/archive.d.ts +0 -32
  1425. package/dist/next/store/archive.d.ts.map +0 -1
  1426. package/dist/next/store/archive.js +0 -129
  1427. package/dist/next/store/archive.js.map +0 -1
  1428. package/dist/next/store/backend.d.ts +0 -10
  1429. package/dist/next/store/backend.d.ts.map +0 -1
  1430. package/dist/next/store/backend.js.map +0 -1
  1431. package/dist/next/store/catalog.d.ts +0 -24
  1432. package/dist/next/store/catalog.d.ts.map +0 -1
  1433. package/dist/next/store/catalog.js.map +0 -1
  1434. package/dist/next/store/claims.d.ts.map +0 -1
  1435. package/dist/next/store/claims.js.map +0 -1
  1436. package/dist/next/store/columns.d.ts.map +0 -1
  1437. package/dist/next/store/columns.js.map +0 -1
  1438. package/dist/next/store/engine.d.ts +0 -176
  1439. package/dist/next/store/engine.d.ts.map +0 -1
  1440. package/dist/next/store/engine.js +0 -283
  1441. package/dist/next/store/engine.js.map +0 -1
  1442. package/dist/next/store/evaluate.d.ts +0 -17
  1443. package/dist/next/store/evaluate.d.ts.map +0 -1
  1444. package/dist/next/store/evaluate.js.map +0 -1
  1445. package/dist/next/store/export.d.ts +0 -17
  1446. package/dist/next/store/export.d.ts.map +0 -1
  1447. package/dist/next/store/export.js +0 -200
  1448. package/dist/next/store/export.js.map +0 -1
  1449. package/dist/next/store/expression.d.ts +0 -150
  1450. package/dist/next/store/expression.d.ts.map +0 -1
  1451. package/dist/next/store/expression.js.map +0 -1
  1452. package/dist/next/store/import.d.ts +0 -10
  1453. package/dist/next/store/import.d.ts.map +0 -1
  1454. package/dist/next/store/import.js +0 -276
  1455. package/dist/next/store/import.js.map +0 -1
  1456. package/dist/next/store/index.d.ts.map +0 -1
  1457. package/dist/next/store/index.js.map +0 -1
  1458. package/dist/next/store/json-column.d.ts +0 -33
  1459. package/dist/next/store/json-column.d.ts.map +0 -1
  1460. package/dist/next/store/json-column.js +0 -61
  1461. package/dist/next/store/json-column.js.map +0 -1
  1462. package/dist/next/store/jsonl.d.ts.map +0 -1
  1463. package/dist/next/store/jsonl.js.map +0 -1
  1464. package/dist/next/store/outbox.d.ts +0 -26
  1465. package/dist/next/store/outbox.d.ts.map +0 -1
  1466. package/dist/next/store/outbox.js.map +0 -1
  1467. package/dist/next/store/query.d.ts +0 -39
  1468. package/dist/next/store/query.d.ts.map +0 -1
  1469. package/dist/next/store/query.js.map +0 -1
  1470. package/dist/next/store/refusal.d.ts.map +0 -1
  1471. package/dist/next/store/refusal.js.map +0 -1
  1472. package/dist/next/store/rows.d.ts +0 -80
  1473. package/dist/next/store/rows.d.ts.map +0 -1
  1474. package/dist/next/store/rows.js.map +0 -1
  1475. package/dist/next/store/schema.d.ts +0 -25
  1476. package/dist/next/store/schema.d.ts.map +0 -1
  1477. package/dist/next/store/schema.js +0 -115
  1478. package/dist/next/store/schema.js.map +0 -1
  1479. package/dist/next/store/sql.d.ts +0 -73
  1480. package/dist/next/store/sql.d.ts.map +0 -1
  1481. package/dist/next/store/sql.js.map +0 -1
  1482. package/dist/next/store/step.d.ts +0 -48
  1483. package/dist/next/store/step.d.ts.map +0 -1
  1484. package/dist/next/store/step.js +0 -50
  1485. package/dist/next/store/step.js.map +0 -1
  1486. package/dist/next/store/store.d.ts +0 -161
  1487. package/dist/next/store/store.d.ts.map +0 -1
  1488. package/dist/next/store/store.js +0 -627
  1489. package/dist/next/store/store.js.map +0 -1
  1490. package/dist/next/store/table-changes.d.ts +0 -29
  1491. package/dist/next/store/table-changes.d.ts.map +0 -1
  1492. package/dist/next/store/table-changes.js.map +0 -1
  1493. package/dist/next/store/table-evolve.d.ts.map +0 -1
  1494. package/dist/next/store/table-evolve.js.map +0 -1
  1495. package/dist/next/store/table-handle.d.ts +0 -67
  1496. package/dist/next/store/table-handle.d.ts.map +0 -1
  1497. package/dist/next/store/table-handle.js +0 -101
  1498. package/dist/next/store/table-handle.js.map +0 -1
  1499. package/dist/next/store/table-history.d.ts.map +0 -1
  1500. package/dist/next/store/table-history.js.map +0 -1
  1501. package/dist/next/store/table-migration.d.ts +0 -16
  1502. package/dist/next/store/table-migration.d.ts.map +0 -1
  1503. package/dist/next/store/table-migration.js +0 -202
  1504. package/dist/next/store/table-migration.js.map +0 -1
  1505. package/dist/next/store/table-writes.d.ts.map +0 -1
  1506. package/dist/next/store/table-writes.js +0 -165
  1507. package/dist/next/store/table-writes.js.map +0 -1
  1508. package/dist/next/store/table.d.ts +0 -80
  1509. package/dist/next/store/table.d.ts.map +0 -1
  1510. package/dist/next/store/table.js.map +0 -1
  1511. package/dist/next/store/text.d.ts.map +0 -1
  1512. package/dist/next/store/text.js.map +0 -1
  1513. package/dist/next/store/writes.d.ts.map +0 -1
  1514. package/dist/next/store/writes.js.map +0 -1
  1515. package/dist/next-node/compression.d.ts +0 -7
  1516. package/dist/next-node/compression.d.ts.map +0 -1
  1517. package/dist/next-node/compression.js +0 -24
  1518. package/dist/next-node/compression.js.map +0 -1
  1519. package/dist/next-node/http/admission.d.ts.map +0 -1
  1520. package/dist/next-node/http/admission.js.map +0 -1
  1521. package/dist/next-node/http/authenticate.d.ts +0 -21
  1522. package/dist/next-node/http/authenticate.d.ts.map +0 -1
  1523. package/dist/next-node/http/authenticate.js +0 -34
  1524. package/dist/next-node/http/authenticate.js.map +0 -1
  1525. package/dist/next-node/http/cookies.d.ts +0 -24
  1526. package/dist/next-node/http/cookies.d.ts.map +0 -1
  1527. package/dist/next-node/http/cookies.js +0 -62
  1528. package/dist/next-node/http/cookies.js.map +0 -1
  1529. package/dist/next-node/http/file.d.ts.map +0 -1
  1530. package/dist/next-node/http/file.js.map +0 -1
  1531. package/dist/next-node/http/headers.d.ts.map +0 -1
  1532. package/dist/next-node/http/headers.js +0 -129
  1533. package/dist/next-node/http/headers.js.map +0 -1
  1534. package/dist/next-node/http/http.d.ts +0 -100
  1535. package/dist/next-node/http/http.d.ts.map +0 -1
  1536. package/dist/next-node/http/http.js +0 -462
  1537. package/dist/next-node/http/http.js.map +0 -1
  1538. package/dist/next-node/http/incoming.d.ts.map +0 -1
  1539. package/dist/next-node/http/incoming.js.map +0 -1
  1540. package/dist/next-node/http/index.d.ts +0 -11
  1541. package/dist/next-node/http/index.d.ts.map +0 -1
  1542. package/dist/next-node/http/index.js +0 -12
  1543. package/dist/next-node/http/index.js.map +0 -1
  1544. package/dist/next-node/http/node.d.ts.map +0 -1
  1545. package/dist/next-node/http/node.js.map +0 -1
  1546. package/dist/next-node/http/request.d.ts +0 -54
  1547. package/dist/next-node/http/request.d.ts.map +0 -1
  1548. package/dist/next-node/http/request.js +0 -116
  1549. package/dist/next-node/http/request.js.map +0 -1
  1550. package/dist/next-node/http/response.d.ts +0 -63
  1551. package/dist/next-node/http/response.d.ts.map +0 -1
  1552. package/dist/next-node/http/response.js.map +0 -1
  1553. package/dist/next-node/http/router.d.ts +0 -114
  1554. package/dist/next-node/http/router.d.ts.map +0 -1
  1555. package/dist/next-node/http/router.js +0 -261
  1556. package/dist/next-node/http/router.js.map +0 -1
  1557. package/dist/next-node/http/upgrades.d.ts +0 -58
  1558. package/dist/next-node/http/upgrades.d.ts.map +0 -1
  1559. package/dist/next-node/http/upgrades.js +0 -184
  1560. package/dist/next-node/http/upgrades.js.map +0 -1
  1561. package/dist/next-node/plugins/build.d.ts +0 -57
  1562. package/dist/next-node/plugins/build.d.ts.map +0 -1
  1563. package/dist/next-node/plugins/build.js +0 -334
  1564. package/dist/next-node/plugins/build.js.map +0 -1
  1565. package/dist/next-node/plugins/discover.d.ts +0 -36
  1566. package/dist/next-node/plugins/discover.d.ts.map +0 -1
  1567. package/dist/next-node/plugins/discover.js +0 -91
  1568. package/dist/next-node/plugins/discover.js.map +0 -1
  1569. package/dist/next-node/plugins/evaluate.d.ts +0 -33
  1570. package/dist/next-node/plugins/evaluate.d.ts.map +0 -1
  1571. package/dist/next-node/plugins/evaluate.js +0 -98
  1572. package/dist/next-node/plugins/evaluate.js.map +0 -1
  1573. package/dist/next-node/plugins/index.d.ts +0 -9
  1574. package/dist/next-node/plugins/index.d.ts.map +0 -1
  1575. package/dist/next-node/plugins/index.js +0 -11
  1576. package/dist/next-node/plugins/index.js.map +0 -1
  1577. package/dist/next-node/plugins/install.d.ts +0 -13
  1578. package/dist/next-node/plugins/install.d.ts.map +0 -1
  1579. package/dist/next-node/plugins/install.js +0 -37
  1580. package/dist/next-node/plugins/install.js.map +0 -1
  1581. package/dist/next-node/plugins/plugins.d.ts +0 -135
  1582. package/dist/next-node/plugins/plugins.d.ts.map +0 -1
  1583. package/dist/next-node/plugins/plugins.js +0 -206
  1584. package/dist/next-node/plugins/plugins.js.map +0 -1
  1585. package/dist/next-node/plugins/runtime.d.ts +0 -41
  1586. package/dist/next-node/plugins/runtime.d.ts.map +0 -1
  1587. package/dist/next-node/plugins/runtime.js +0 -136
  1588. package/dist/next-node/plugins/runtime.js.map +0 -1
  1589. package/dist/next-node/plugins/stack.d.ts.map +0 -1
  1590. package/dist/next-node/plugins/stack.js.map +0 -1
  1591. package/dist/next-node/plugins/watcher.d.ts +0 -58
  1592. package/dist/next-node/plugins/watcher.d.ts.map +0 -1
  1593. package/dist/next-node/plugins/watcher.js +0 -281
  1594. package/dist/next-node/plugins/watcher.js.map +0 -1
  1595. package/dist/next-node/workers/control.d.ts +0 -83
  1596. package/dist/next-node/workers/control.d.ts.map +0 -1
  1597. package/dist/next-node/workers/control.js +0 -77
  1598. package/dist/next-node/workers/control.js.map +0 -1
  1599. package/dist/next-node/workers/index.d.ts +0 -5
  1600. package/dist/next-node/workers/index.d.ts.map +0 -1
  1601. package/dist/next-node/workers/index.js +0 -7
  1602. package/dist/next-node/workers/index.js.map +0 -1
  1603. package/dist/next-node/workers/lock.d.ts +0 -21
  1604. package/dist/next-node/workers/lock.d.ts.map +0 -1
  1605. package/dist/next-node/workers/lock.js +0 -137
  1606. package/dist/next-node/workers/lock.js.map +0 -1
  1607. package/dist/next-node/workers/main.d.ts +0 -46
  1608. package/dist/next-node/workers/main.d.ts.map +0 -1
  1609. package/dist/next-node/workers/main.js +0 -230
  1610. package/dist/next-node/workers/main.js.map +0 -1
  1611. package/dist/next-node/workers/process.d.ts +0 -42
  1612. package/dist/next-node/workers/process.d.ts.map +0 -1
  1613. package/dist/next-node/workers/process.js +0 -125
  1614. package/dist/next-node/workers/process.js.map +0 -1
  1615. package/dist/next-node/workers/workers.d.ts +0 -80
  1616. package/dist/next-node/workers/workers.d.ts.map +0 -1
  1617. package/dist/next-node/workers/workers.js +0 -572
  1618. package/dist/next-node/workers/workers.js.map +0 -1
  1619. package/dist/node.d.ts +0 -4
  1620. package/dist/node.d.ts.map +0 -1
  1621. package/dist/node.js +0 -4
  1622. package/dist/node.js.map +0 -1
  1623. package/dist/object.d.ts +0 -438
  1624. package/dist/object.d.ts.map +0 -1
  1625. package/dist/object.js +0 -1570
  1626. package/dist/object.js.map +0 -1
  1627. package/dist/publish.d.ts +0 -5
  1628. package/dist/publish.d.ts.map +0 -1
  1629. package/dist/publish.js +0 -40
  1630. package/dist/publish.js.map +0 -1
  1631. package/dist/registry.d.ts +0 -25
  1632. package/dist/registry.d.ts.map +0 -1
  1633. package/dist/registry.js +0 -6
  1634. package/dist/registry.js.map +0 -1
  1635. package/dist/reload.d.ts +0 -126
  1636. package/dist/reload.d.ts.map +0 -1
  1637. package/dist/reload.js +0 -653
  1638. package/dist/reload.js.map +0 -1
  1639. package/dist/remote.d.ts +0 -165
  1640. package/dist/remote.d.ts.map +0 -1
  1641. package/dist/remote.js +0 -612
  1642. package/dist/remote.js.map +0 -1
  1643. package/dist/schema.d.ts +0 -25
  1644. package/dist/schema.d.ts.map +0 -1
  1645. package/dist/schema.js +0 -403
  1646. package/dist/schema.js.map +0 -1
  1647. package/dist/state.d.ts +0 -92
  1648. package/dist/state.d.ts.map +0 -1
  1649. package/dist/state.js +0 -287
  1650. package/dist/state.js.map +0 -1
  1651. package/dist/types.d.ts +0 -88
  1652. package/dist/types.d.ts.map +0 -1
  1653. package/dist/types.js +0 -2
  1654. package/dist/types.js.map +0 -1
  1655. package/dist/websocket.d.ts +0 -15
  1656. package/dist/websocket.d.ts.map +0 -1
  1657. package/dist/websocket.js +0 -16
  1658. package/dist/websocket.js.map +0 -1
  1659. package/dist/wire.d.ts +0 -197
  1660. package/dist/wire.d.ts.map +0 -1
  1661. package/dist/wire.js +0 -166
  1662. package/dist/wire.js.map +0 -1
  1663. package/docs/guide.md +0 -814
  1664. package/docs/next/benchmarks.md +0 -959
  1665. package/docs/next/decisions.md +0 -2957
  1666. package/docs/next/dependencies/book.md +0 -1671
  1667. package/docs/next/dependencies/index.html +0 -2641
  1668. package/docs/next/design.md +0 -2554
  1669. package/docs/next/durable-observers/book.md +0 -432
  1670. package/docs/next/durable-observers/index.html +0 -517
  1671. package/docs/next/guide-plugins-hosts/book.md +0 -607
  1672. package/docs/next/guide-plugins-hosts/index.html +0 -652
  1673. package/docs/next/http-workers/book.md +0 -378
  1674. package/docs/next/http-workers/index.html +0 -515
  1675. package/docs/next/layer-1.md +0 -311
  1676. package/docs/next/layer-2.md +0 -216
  1677. package/docs/next/plugin-model/book.md +0 -186
  1678. package/docs/next/plugin-model/index.html +0 -310
  1679. package/docs/next/plugin-primer/book.md +0 -273
  1680. package/docs/next/plugin-primer/index.html +0 -430
  1681. package/docs/next/slice-1.md +0 -236
  1682. package/docs/next/slice-10.md +0 -285
  1683. package/docs/next/slice-11.md +0 -93
  1684. package/docs/next/slice-2.md +0 -174
  1685. package/docs/next/slice-3a.md +0 -296
  1686. package/docs/next/slice-3b.md +0 -197
  1687. package/docs/next/slice-4a.md +0 -418
  1688. package/docs/next/slice-4b.md +0 -208
  1689. package/docs/next/slice-6a.md +0 -676
  1690. package/docs/next/slice-6b.md +0 -332
  1691. package/docs/next/slice-7b/book.md +0 -608
  1692. package/docs/next/slice-7b/index.html +0 -842
  1693. package/docs/next/slice-7b.md +0 -255
  1694. package/docs/next/slice-7c.md +0 -165
  1695. package/docs/next/slices.md +0 -230
  1696. package/docs/next/store/book.md +0 -665
  1697. package/docs/next/store/index.html +0 -861
  1698. package/docs/next/store/walkthrough.md +0 -193
  1699. package/docs/spec.md +0 -288
  1700. package/docs/tutorial.md +0 -932
  1701. /package/dist/{next/contracts → contracts}/accepts.js +0 -0
  1702. /package/dist/{next/contracts → contracts}/contract.js +0 -0
  1703. /package/dist/{next/contracts → contracts}/declare.d.ts +0 -0
  1704. /package/dist/{next/contracts → contracts}/declare.js +0 -0
  1705. /package/dist/{next/contracts → contracts}/evolve.d.ts +0 -0
  1706. /package/dist/{next/contracts → contracts}/evolve.js +0 -0
  1707. /package/dist/{next/contracts → contracts}/fingerprint.js +0 -0
  1708. /package/dist/{next/contracts → contracts}/history.d.ts +0 -0
  1709. /package/dist/{next/contracts → contracts}/history.js +0 -0
  1710. /package/dist/{next/contracts → contracts}/host-kind.d.ts +0 -0
  1711. /package/dist/{next/contracts → contracts}/host-kind.js +0 -0
  1712. /package/dist/{next/contracts → contracts}/index.d.ts +0 -0
  1713. /package/dist/{next/contracts → contracts}/index.js +0 -0
  1714. /package/dist/{next/contracts → contracts}/internal.d.ts +0 -0
  1715. /package/dist/{next/contracts → contracts}/internal.js +0 -0
  1716. /package/dist/{next/contracts → contracts}/names.d.ts +0 -0
  1717. /package/dist/{next/contracts → contracts}/names.js +0 -0
  1718. /package/dist/{next/contracts → contracts}/params.js +0 -0
  1719. /package/dist/{next/contracts → contracts}/schema.d.ts +0 -0
  1720. /package/dist/{next/contracts → contracts}/schema.js +0 -0
  1721. /package/dist/{next/data → data}/args.js +0 -0
  1722. /package/dist/{next/data → data}/failure.d.ts +0 -0
  1723. /package/dist/{next/data → data}/params.js +0 -0
  1724. /package/dist/{next/documents → documents}/address-source.js +0 -0
  1725. /package/dist/{next/documents → documents}/fence.d.ts +0 -0
  1726. /package/dist/{next/documents → documents}/fence.js +0 -0
  1727. /package/dist/{next/documents → documents}/handles.js +0 -0
  1728. /package/dist/{next/documents → documents}/index.d.ts +0 -0
  1729. /package/dist/{next/documents → documents}/index.js +0 -0
  1730. /package/dist/{next/documents → documents}/internal.js +0 -0
  1731. /package/dist/{next/documents → documents}/line.d.ts +0 -0
  1732. /package/dist/{next/documents → documents}/line.js +0 -0
  1733. /package/dist/{next/documents → documents}/residency.js +0 -0
  1734. /package/dist/{next/host → host}/adapted.js +0 -0
  1735. /package/dist/{next/host → host}/backoff.d.ts +0 -0
  1736. /package/dist/{next/host → host}/backoff.js +0 -0
  1737. /package/dist/{next/host → host}/deadline.d.ts +0 -0
  1738. /package/dist/{next/host → host}/deadline.js +0 -0
  1739. /package/dist/{next/host → host}/dependencies.d.ts +0 -0
  1740. /package/dist/{next/host → host}/dependencies.js +0 -0
  1741. /package/dist/{next/host → host}/destination.js +0 -0
  1742. /package/dist/{next/host → host}/facet.js +0 -0
  1743. /package/dist/{next/host → host}/follow.js +0 -0
  1744. /package/dist/{next/host → host}/index.js +0 -0
  1745. /package/dist/{next/host → host}/members.js +0 -0
  1746. /package/dist/{next/host → host}/parked.js +0 -0
  1747. /package/dist/{next/host → host}/presence.js +0 -0
  1748. /package/dist/{next/host → host}/retry-on.d.ts +0 -0
  1749. /package/dist/{next/host → host}/retry-on.js +0 -0
  1750. /package/dist/{next/host → host}/revocation.js +0 -0
  1751. /package/dist/{next/host → host}/sleep.js +0 -0
  1752. /package/dist/{next/host → host}/uuid.d.ts +0 -0
  1753. /package/dist/{next/host → host}/uuid.js +0 -0
  1754. /package/dist/{next/jobs → jobs}/definition.d.ts +0 -0
  1755. /package/dist/{next/jobs → jobs}/definition.js +0 -0
  1756. /package/dist/{next/jobs → jobs}/index.d.ts +0 -0
  1757. /package/dist/{next/jobs → jobs}/index.js +0 -0
  1758. /package/dist/{next/jobs → jobs}/internal.d.ts +0 -0
  1759. /package/dist/{next/jobs → jobs}/internal.js +0 -0
  1760. /package/dist/{next/jobs → jobs}/persisted.js +0 -0
  1761. /package/dist/{next/jobs → jobs}/running.js +0 -0
  1762. /package/dist/{next/jobs → jobs}/stored.js +0 -0
  1763. /package/dist/{next/link → link}/binary.d.ts +0 -0
  1764. /package/dist/{next/link → link}/errors.d.ts +0 -0
  1765. /package/dist/{next/link → link}/errors.js +0 -0
  1766. /package/dist/{next/link → link}/index.d.ts +0 -0
  1767. /package/dist/{next/link → link}/index.js +0 -0
  1768. /package/dist/{next/link → link}/internal.d.ts +0 -0
  1769. /package/dist/{next/link → link}/internal.js +0 -0
  1770. /package/dist/{next/link → link}/ipc.d.ts +0 -0
  1771. /package/dist/{next/link → link}/ipc.js +0 -0
  1772. /package/dist/{next/link → link}/link.d.ts +0 -0
  1773. /package/dist/{next/link → link}/link.js +0 -0
  1774. /package/dist/{next/link → link}/text.d.ts +0 -0
  1775. /package/dist/{next/link → link}/values.d.ts +0 -0
  1776. /package/dist/{next/link → link}/websocket.d.ts +0 -0
  1777. /package/dist/{next/link → link}/websocket.js +0 -0
  1778. /package/dist/{next-node → node}/http/admission.d.ts +0 -0
  1779. /package/dist/{next-node → node}/http/admission.js +0 -0
  1780. /package/dist/{next-node → node}/http/file.d.ts +0 -0
  1781. /package/dist/{next-node → node}/http/file.js +0 -0
  1782. /package/dist/{next-node → node}/http/headers.d.ts +0 -0
  1783. /package/dist/{next-node → node}/http/incoming.d.ts +0 -0
  1784. /package/dist/{next-node → node}/http/incoming.js +0 -0
  1785. /package/dist/{next-node → node}/http/node.d.ts +0 -0
  1786. /package/dist/{next-node → node}/http/node.js +0 -0
  1787. /package/dist/{next-node → node}/http/response.js +0 -0
  1788. /package/dist/{next-node → node}/plugins/stack.d.ts +0 -0
  1789. /package/dist/{next-node → node}/plugins/stack.js +0 -0
  1790. /package/dist/{next/registries → registries}/contribution.d.ts +0 -0
  1791. /package/dist/{next/registries → registries}/contribution.js +0 -0
  1792. /package/dist/{next/registries → registries}/entries.d.ts +0 -0
  1793. /package/dist/{next/registries → registries}/entries.js +0 -0
  1794. /package/dist/{next/registries → registries}/index.d.ts +0 -0
  1795. /package/dist/{next/registries → registries}/index.js +0 -0
  1796. /package/dist/{next/registries → registries}/internal.d.ts +0 -0
  1797. /package/dist/{next/registries → registries}/internal.js +0 -0
  1798. /package/dist/{next/registries → registries}/registry.js +0 -0
  1799. /package/dist/{next/registries → registries}/value.d.ts +0 -0
  1800. /package/dist/{next/remote → remote}/calls.d.ts +0 -0
  1801. /package/dist/{next/remote → remote}/calls.js +0 -0
  1802. /package/dist/{next/remote → remote}/internal.d.ts +0 -0
  1803. /package/dist/{next/remote → remote}/internal.js +0 -0
  1804. /package/dist/{next/remote → remote}/path.d.ts +0 -0
  1805. /package/dist/{next/remote → remote}/path.js +0 -0
  1806. /package/dist/{next/state → state}/index.js +0 -0
  1807. /package/dist/{next/state → state}/internal.d.ts +0 -0
  1808. /package/dist/{next/state → state}/internal.js +0 -0
  1809. /package/dist/{next/state → state}/writable.js +0 -0
  1810. /package/dist/{next/store → store}/adapter.js +0 -0
  1811. /package/dist/{next/store → store}/allocator.d.ts +0 -0
  1812. /package/dist/{next/store → store}/allocator.js +0 -0
  1813. /package/dist/{next/store → store}/applier.d.ts +0 -0
  1814. /package/dist/{next/store → store}/applier.js +0 -0
  1815. /package/dist/{next/store → store}/apply-batch.js +0 -0
  1816. /package/dist/{next/store → store}/backend.js +0 -0
  1817. /package/dist/{next/store → store}/catalog.js +0 -0
  1818. /package/dist/{next/store → store}/claims.d.ts +0 -0
  1819. /package/dist/{next/store → store}/claims.js +0 -0
  1820. /package/dist/{next/store → store}/columns.d.ts +0 -0
  1821. /package/dist/{next/store → store}/columns.js +0 -0
  1822. /package/dist/{next/store → store}/evaluate.js +0 -0
  1823. /package/dist/{next/store → store}/expression.js +0 -0
  1824. /package/dist/{next/store → store}/index.d.ts +0 -0
  1825. /package/dist/{next/store → store}/index.js +0 -0
  1826. /package/dist/{next/store → store}/jsonl.d.ts +0 -0
  1827. /package/dist/{next/store → store}/jsonl.js +0 -0
  1828. /package/dist/{next/store → store}/outbox.js +0 -0
  1829. /package/dist/{next/store → store}/query.js +0 -0
  1830. /package/dist/{next/store → store}/refusal.d.ts +0 -0
  1831. /package/dist/{next/store → store}/refusal.js +0 -0
  1832. /package/dist/{next/store → store}/rows.js +0 -0
  1833. /package/dist/{next/store → store}/sql.js +0 -0
  1834. /package/dist/{next/store → store}/table-changes.js +0 -0
  1835. /package/dist/{next/store → store}/table-evolve.d.ts +0 -0
  1836. /package/dist/{next/store → store}/table-evolve.js +0 -0
  1837. /package/dist/{next/store → store}/table-history.d.ts +0 -0
  1838. /package/dist/{next/store → store}/table-history.js +0 -0
  1839. /package/dist/{next/store → store}/table-writes.d.ts +0 -0
  1840. /package/dist/{next/store → store}/table.js +0 -0
  1841. /package/dist/{next/store → store}/text.d.ts +0 -0
  1842. /package/dist/{next/store → store}/text.js +0 -0
  1843. /package/dist/{next/store → store}/writes.d.ts +0 -0
  1844. /package/dist/{next/store → store}/writes.js +0 -0
  1845. /package/docs/{next/dependencies → dependencies}/model.md +0 -0
  1846. /package/docs/{next/flow-control → flow-control}/book.md +0 -0
  1847. /package/docs/{next/flow-control → flow-control}/fold/index.html +0 -0
  1848. /package/docs/{next/flow-control → flow-control}/index.html +0 -0
  1849. /package/docs/{next/flow-control → flow-control}/window/index.html +0 -0
  1850. /package/docs/{next/slice-4.md → slice-4.md} +0 -0
  1851. /package/docs/{next/slice-5.md → slice-5.md} +0 -0
  1852. /package/docs/{next/slice-7a.md → slice-7a.md} +0 -0
  1853. /package/docs/{next/slice-8.md → slice-8.md} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/store/export.ts"],"names":[],"mappings":"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","sourcesContent":["// `store.export(ctx)` (slice 6a §13, rule 26): the store's state after its `lastSeq` as archive parts, read page by\n// page with plain reads while the export holds the commit queue (no commit can interleave, no long read transaction).\n// The queue is taken at the first `next()` and given back when the iteration ends, throws, is closed or `ctx` aborts;\n// an abort while the consumer is suspended gives it back at once and drops the pages and records the export held, and\n// an abort while it waits for the queue ends the wait. Closing the store ends it too (`released`).\n\nimport { awaitWithContext, type Context } from \"../context/index.ts\";\nimport { ChordError } from \"../data/index.ts\";\nimport type { JsonValue } from \"../json.ts\";\nimport type { SqliteValue } from \"../sqlite/index.ts\";\nimport { ARCHIVE_FORMAT, type ArchivePart } from \"./archive.ts\";\nimport type { TableRecord } from \"./catalog.ts\";\nimport { listRecords, listRevisions } from \"./engine.ts\";\nimport { ROW_VERSION, type Scalar, versionColumn } from \"./rows.ts\";\nimport { STORE_SCHEMA } from \"./schema.ts\";\nimport { quote, recordedPut } from \"./sql.ts\";\nimport type { ChordStore } from \"./store.ts\";\n\n/** The rows and documents an export reads per page. */\nexport const EXPORT_PAGE = 100;\n\n/**\n * An export of `store` under `context`: an async iterator of its parts. One pass; after an abort `next()` rejects\n * `aborted`, after the store closed `released`.\n */\nexport class StoreExport implements AsyncIterableIterator<ArchivePart> {\n\treadonly #context: Context;\n\t/** The parts, until the export ends; dropped then, with the pages they hold. */\n\t#parts: AsyncGenerator<ArchivePart> | undefined;\n\t#state: \"open\" | \"aborted\" | \"closed\" | \"ended\" = \"open\";\n\t/** Gives the commit queue back while the export holds it. */\n\t#release: (() => void) | undefined;\n\treadonly #abort = (): void => this.#end(\"aborted\");\n\n\tconstructor(store: ChordStore, context: Context) {\n\t\tthis.#context = context;\n\t\tconst hold = (release: () => void): void => this.#hold(release);\n\t\tthis.#parts = parts(store, context, hold, () => this.#end(\"closed\"));\n\t}\n\n\t[Symbol.asyncIterator](): this {\n\t\treturn this;\n\t}\n\n\tasync next(): Promise<IteratorResult<ArchivePart>> {\n\t\tif (this.#context.abortSignal?.aborted) this.#end(\"aborted\");\n\t\tthis.#assertOpen();\n\t\tif (this.#parts === undefined) return { done: true, value: undefined };\n\t\tconst pending = this.#parts.next();\n\t\tlet result: IteratorResult<ArchivePart>;\n\t\ttry {\n\t\t\t// Until the export holds the queue only `context` ends the wait; from then on its abort listener does.\n\t\t\tresult = await (this.#release === undefined ? awaitWithContext(pending, this.#context) : pending);\n\t\t} catch (error) {\n\t\t\tif (this.#context.abortSignal?.aborted) this.#end(\"aborted\");\n\t\t\tthis.#assertOpen();\n\t\t\tthis.#end(\"ended\");\n\t\t\tthrow error;\n\t\t}\n\t\t// Ended meanwhile (an abort, the store's close): no part after that, even one that needed no read.\n\t\tthis.#assertOpen();\n\t\tif (result.done) this.#end(\"ended\");\n\t\treturn result;\n\t}\n\n\tasync return(): Promise<IteratorResult<ArchivePart>> {\n\t\tthis.#end(\"ended\");\n\t\treturn { done: true, value: undefined };\n\t}\n\n\t/** The parts took the queue: the export holds it until it ends, and an abort ends it; ended already, it gives it back. */\n\t#hold(release: () => void): void {\n\t\tif (this.#state !== \"open\") {\n\t\t\trelease();\n\t\t\treturn;\n\t\t}\n\t\tthis.#release = release;\n\t\tthis.#context.abortSignal?.addEventListener(\"abort\", this.#abort, { once: true });\n\t}\n\n\t/** Ends the export once: the queue given back, the parts closed (once they reach a `yield`) and dropped. */\n\t#end(state: \"aborted\" | \"closed\" | \"ended\"): void {\n\t\tif (this.#state !== \"open\") return;\n\t\tthis.#state = state;\n\t\tthis.#release?.();\n\t\tthis.#release = undefined;\n\t\tthis.#context.abortSignal?.removeEventListener(\"abort\", this.#abort);\n\t\tvoid this.#parts?.return(undefined).catch(() => {});\n\t\tthis.#parts = undefined;\n\t}\n\n\t/** Throws `aborted` after an abort, `released` after the store closed. */\n\t#assertOpen(): void {\n\t\tif (this.#state === \"aborted\") throw aborted(this.#context);\n\t\tif (this.#state === \"closed\")\n\t\t\tthrow new ChordError({ code: \"released\", reason: \"closed\", message: \"store: closed\" });\n\t}\n}\n\n/** The error of a use of an aborted export: `aborted`, the signal's reason as the cause. */\nfunction aborted(context: Context): ChordError {\n\treturn new ChordError({ code: \"aborted\", message: \"store: export aborted\" }, { cause: context.abortSignal?.reason });\n}\n\n/**\n * The parts in archive order, after taking the queue (handed to `hold`; the store's close calls `end`); the queue is\n * given back when they end.\n */\nasync function* parts(\n\tstore: ChordStore,\n\tcontext: Context,\n\thold: (release: () => void) => void,\n\tend: () => void,\n): AsyncGenerator<ArchivePart> {\n\tconst release = await store.take(end);\n\thold(release);\n\ttry {\n\t\tif (context.abortSignal?.aborted) throw aborted(context);\n\t\tconst { lastSeq, nextId } = store;\n\t\tyield { kind: \"manifest\", format: ARCHIVE_FORMAT, schema: STORE_SCHEMA, lastSeq, nextId };\n\t\tlet writes = 0;\n\t\tconst tables = [...store.tables.values()].sort((a, b) => (a.table < b.table ? -1 : 1));\n\t\tfor (const record of tables) {\n\t\t\tconst { table, version, state, columns, key, fingerprint } = record;\n\t\t\tyield { kind: \"table\", table, version, state, columns, key, fingerprint };\n\t\t\twrites++;\n\t\t\tfor await (const put of puts(store, record, context)) {\n\t\t\t\tyield put;\n\t\t\t\twrites++;\n\t\t\t}\n\t\t\tfor (const [name, on] of Object.entries(record.indexes)) {\n\t\t\t\tyield { kind: \"index\", table, name, columns: on };\n\t\t\t\twrites++;\n\t\t\t}\n\t\t}\n\t\tfor await (const part of documents(store, context)) {\n\t\t\tyield part;\n\t\t\twrites++;\n\t\t}\n\t\tyield { kind: \"end\", writes };\n\t} finally {\n\t\trelease();\n\t}\n}\n\n/** The `put`s of a recorded table in key order, a page per read: the stored values and their versions. */\nasync function* puts(\n\tstore: ChordStore,\n\trecord: TableRecord,\n\tcontext: Context,\n): AsyncGenerator<Extract<ArchivePart, { readonly kind: \"put\" }>> {\n\tconst { table, columns, key } = record;\n\tconst select = recordedPut(table, columns)\n\t\t.physical.map((name) => quote(name))\n\t\t.join(\", \");\n\tconst order = key.map(quote).join(\", \");\n\tlet after: SqliteValue[] | undefined;\n\tdo {\n\t\tconst page = after;\n\t\tconst from = page === undefined ? \"\" : ` WHERE (${order}) > (${page.map(() => \"?\").join(\", \")})`;\n\t\tconst sql = `SELECT ${select} FROM ${quote(table)}${from} ORDER BY ${order} LIMIT ?`;\n\t\tconst rows = await store.read(\n\t\t\t(executor) => executor.all<{ readonly [column: string]: SqliteValue }>(sql, ...(page ?? []), EXPORT_PAGE),\n\t\t\tcontext,\n\t\t);\n\t\tfor (const stored of rows) yield putOf(record, stored);\n\t\tafter = rows.length < EXPORT_PAGE ? undefined : key.map((name) => rows.at(-1)![name]!);\n\t} while (after !== undefined);\n}\n\n/** A stored row as its `put`: `NULL` cells absent, booleans from 0 and 1, `json(...)` cells parsed with versions. */\nfunction putOf(\n\trecord: TableRecord,\n\tstored: { readonly [column: string]: SqliteValue },\n): Extract<ArchivePart, { readonly kind: \"put\" }> {\n\tconst row: { [column: string]: Scalar | JsonValue } = {};\n\tconst versions: { [column: string]: number } = {};\n\tfor (const [name, column] of Object.entries(record.columns)) {\n\t\tconst value = stored[name];\n\t\tif (value === null || value === undefined) continue;\n\t\t// The recorded columns' types say what SQLite stored (STRICT tables): text for `json(...)` with its version.\n\t\tif (column.type === \"bool\") row[name] = value === 1;\n\t\telse if (column.type === \"json\") {\n\t\t\trow[name] = JSON.parse(value as string) as JsonValue;\n\t\t\tversions[name] = stored[versionColumn(name)] as number;\n\t\t} else row[name] = value as Scalar;\n\t}\n\treturn { kind: \"put\", table: record.table, row, version: stored[ROW_VERSION] as number, columns: versions };\n}\n\n/**\n * Every stored record by id, live and retired, as its creation without a base, then its kept revisions in seq order:\n * a `none` or `latest` record's current base and its deltas, a retired `latest` one none, a `rewindable` one all.\n */\nasync function* documents(\n\tstore: ChordStore,\n\tcontext: Context,\n): AsyncGenerator<Extract<ArchivePart, { readonly kind: \"document.create\" | \"document.revision\" }>> {\n\tlet after = 0;\n\tfor (;;) {\n\t\tconst records = await store.read((executor) => listRecords(executor, after, EXPORT_PAGE), context);\n\t\tfor (const record of records) {\n\t\t\tyield { kind: \"document.create\", record };\n\t\t\tyield* revisions(store, record.id, context);\n\t\t}\n\t\tif (records.length < EXPORT_PAGE) return;\n\t\tafter = records.at(-1)!.id;\n\t}\n}\n\n/** Document `id`'s kept revisions in seq order, read page by page (a long history is never one array). */\nasync function* revisions(\n\tstore: ChordStore,\n\tid: number,\n\tcontext: Context,\n): AsyncGenerator<Extract<ArchivePart, { readonly kind: \"document.revision\" }>> {\n\tlet after = 0;\n\tfor (;;) {\n\t\tconst page = await store.read((executor) => listRevisions(executor, id, after, EXPORT_PAGE), context);\n\t\tfor (const revision of page) yield { kind: \"document.revision\", ...revision };\n\t\tif (page.length < EXPORT_PAGE) return;\n\t\tafter = page.at(-1)!.seq;\n\t}\n}\n"]}
@@ -0,0 +1,150 @@
1
+ import type { Optional } from "../contracts/index.ts";
2
+ import type { JsonValue } from "../json.ts";
3
+ import type { Column, Columns, ColumnType, ColumnTypeOf, ValueOf } from "./columns.ts";
4
+ import { type Scalar } from "./rows.ts";
5
+ import type { TableDefinition } from "./table.ts";
6
+ /** A compiled condition: column comparisons with checked operands, combined by `and`, `or`, `not`. */
7
+ export type WhereNode = {
8
+ readonly eq: readonly [string, Scalar];
9
+ } | {
10
+ readonly ne: readonly [string, Scalar];
11
+ } | {
12
+ readonly lt: readonly [string, Scalar];
13
+ } | {
14
+ readonly lte: readonly [string, Scalar];
15
+ } | {
16
+ readonly gt: readonly [string, Scalar];
17
+ } | {
18
+ readonly gte: readonly [string, Scalar];
19
+ } | {
20
+ readonly inArray: readonly [string, readonly Scalar[]];
21
+ } | {
22
+ readonly isNull: string;
23
+ } | {
24
+ readonly prefix: readonly [string, string];
25
+ } | {
26
+ readonly and: readonly WhereNode[];
27
+ } | {
28
+ readonly or: readonly WhereNode[];
29
+ } | {
30
+ readonly not: WhereNode;
31
+ };
32
+ /** A compiled value expression: a literal (`null` clears), a column, a `json(...)` cell, or an operation. */
33
+ export type ExprNode = Scalar | null | {
34
+ readonly col: string;
35
+ } | {
36
+ readonly json: JsonValue;
37
+ } | {
38
+ readonly add: readonly [ExprNode, ExprNode];
39
+ } | {
40
+ readonly sub: readonly [ExprNode, ExprNode];
41
+ } | {
42
+ readonly max: readonly [ExprNode, ExprNode];
43
+ } | {
44
+ readonly min: readonly [ExprNode, ExprNode];
45
+ } | {
46
+ readonly concat: readonly [ExprNode, ExprNode];
47
+ } | {
48
+ readonly coalesce: readonly [ExprNode, ExprNode];
49
+ } | {
50
+ readonly replacePrefix: readonly [ExprNode, string, string];
51
+ } | {
52
+ readonly when: readonly [WhereNode, ExprNode, ExprNode];
53
+ };
54
+ /** A compiled `set`: the new value of each changed column, every right side evaluated against the row before. */
55
+ export type SetNode = {
56
+ readonly [column: string]: ExprNode;
57
+ };
58
+ /** The comparison operators of a `WhereNode`. */
59
+ export type Comparison = "eq" | "ne" | "lt" | "lte" | "gt" | "gte";
60
+ /** The operations of an `ExprNode`. */
61
+ export type Operation = "add" | "sub" | "max" | "min" | "concat" | "coalesce" | "replacePrefix" | "when";
62
+ /** A value expression as a plugin builds it: `T` is its value, `K` its column type. Compiled when staged. */
63
+ export declare class Expression<T = unknown, K extends ColumnType = ColumnType> {
64
+ readonly op: Operation | "col";
65
+ readonly args: readonly unknown[];
66
+ /** Type only. */
67
+ readonly "~value"?: T;
68
+ readonly "~type"?: K;
69
+ constructor(op: Operation | "col", args: readonly unknown[]);
70
+ }
71
+ /** A reference to a column of the row, as `(t) => …` callbacks get them. */
72
+ export declare class ColumnRef<T = unknown, K extends ColumnType = ColumnType> extends Expression<T, K> {
73
+ readonly column: string;
74
+ constructor(column: string);
75
+ }
76
+ /** A condition as a plugin builds it; compiled when staged or run. */
77
+ export declare class Condition {
78
+ readonly op: Comparison | "inArray" | "isNull" | "prefix" | "and" | "or" | "not";
79
+ readonly args: readonly unknown[];
80
+ constructor(op: Condition["op"], args: readonly unknown[]);
81
+ }
82
+ /**
83
+ * A `set` of a table with columns `C` and key `K`: new values of non-key columns, each a value or an expression of
84
+ * the column's type; `undefined` clears an `opt(...)` column.
85
+ */
86
+ export type SetOf<C extends Columns, K extends readonly string[]> = {
87
+ readonly [P in Exclude<keyof C & string, K[number]>]?: C[P] extends Optional ? ValueOf<C[P]> | Expression<ValueOf<C[P]>, ColumnTypeOf<C[P]>> | undefined : ValueOf<C[P]> | Expression<ValueOf<C[P]>, ColumnTypeOf<C[P]>>;
88
+ };
89
+ /** A scalar column type. */
90
+ type ScalarType = Exclude<ColumnType, "json">;
91
+ /** An operand of type `T` and column type `K`: an expression or a plain value. */
92
+ type Operand<T, K extends ColumnType> = Expression<T, K> | T;
93
+ /** The column equals `value` (`NULL` never matches). */
94
+ export declare function eq<T extends Scalar>(column: ColumnRef<T, ScalarType>, value: T): Condition;
95
+ /** The column differs from `value` (`NULL` never matches). */
96
+ export declare function ne<T extends Scalar>(column: ColumnRef<T, ScalarType>, value: T): Condition;
97
+ /** The column is below `value`. */
98
+ export declare function lt<T extends Scalar>(column: ColumnRef<T, ScalarType>, value: T): Condition;
99
+ /** The column is at most `value`. */
100
+ export declare function lte<T extends Scalar>(column: ColumnRef<T, ScalarType>, value: T): Condition;
101
+ /** The column is above `value`. */
102
+ export declare function gt<T extends Scalar>(column: ColumnRef<T, ScalarType>, value: T): Condition;
103
+ /** The column is at least `value`. */
104
+ export declare function gte<T extends Scalar>(column: ColumnRef<T, ScalarType>, value: T): Condition;
105
+ /** The column equals one of `values` (`[]` matches nothing). */
106
+ export declare function inArray<T extends Scalar>(column: ColumnRef<T, ScalarType>, values: readonly T[]): Condition;
107
+ /** The column is `NULL` (an `opt(...)` column without a value). */
108
+ export declare function isNull(column: ColumnRef<unknown, ScalarType>): Condition;
109
+ /** The text column starts with `prefix`, compared by code point (`""` matches every value). */
110
+ export declare function prefix(column: ColumnRef<string, "str">, prefix: string): Condition;
111
+ /** Every condition holds (`and()` always does). */
112
+ export declare function and(...conditions: Condition[]): Condition;
113
+ /** Some condition holds (`or()` never does). */
114
+ export declare function or(...conditions: Condition[]): Condition;
115
+ /** The condition does not hold (`NULL` stays `NULL`: it never matches). */
116
+ export declare function not(condition: Condition): Condition;
117
+ /** `a + b` over integers; a result outside ±(2^53 - 1) fails (rule 10). */
118
+ export declare function add(a: Operand<number, "int">, b: Operand<number, "int">): Expression<number, "int">;
119
+ /** `a - b` over integers; a result outside ±(2^53 - 1) fails (rule 10). */
120
+ export declare function sub(a: Operand<number, "int">, b: Operand<number, "int">): Expression<number, "int">;
121
+ /** The larger of `a` and b` (`int` or `num`). */
122
+ export declare function max<K extends "int" | "num">(a: Operand<number, K>, b: Operand<number, K>): Expression<number, K>;
123
+ /** The smaller of `a` and `b` (`int` or `num`). */
124
+ export declare function min<K extends "int" | "num">(a: Operand<number, K>, b: Operand<number, K>): Expression<number, K>;
125
+ /** `a` followed by `b`. */
126
+ export declare function concat(a: Operand<string, "str">, b: Operand<string, "str">): Expression<string, "str">;
127
+ /** `value` with its prefix `from` replaced by `to`; a value without the prefix stays as it is. */
128
+ export declare function replacePrefix(value: Operand<string, "str">, from: string, to: string): Expression<string, "str">;
129
+ /** `a` unless it is `NULL`, else `b`. */
130
+ export declare function coalesce<T, K extends ScalarType>(a: Expression<T, K>, b: Operand<T, K>): Expression<T, K>;
131
+ /** `a` where `condition` holds for the row, else `b`. */
132
+ export declare function when<T, K extends ScalarType>(condition: Condition, a: Operand<T, K>, b: Operand<T, K>): Expression<T, K>;
133
+ /** One `ColumnRef` per column of `definition`, for its `(t) => …` callbacks. */
134
+ export declare function columnRefs(columns: readonly Column[]): {
135
+ readonly [column: string]: ColumnRef;
136
+ };
137
+ /**
138
+ * Compiles a plugin's condition over `table`'s columns (a trust boundary: plugin values): known scalar columns,
139
+ * operands of their type made storable (`invalid/args` otherwise, `undefined` included: ask with `isNull`, rule 16).
140
+ */
141
+ export declare function compileWhere(table: TableDefinition, condition: unknown, what: string): WhereNode;
142
+ /**
143
+ * Compiles a plugin's `set` (plain values or a callback's result) for `table` (a trust boundary): known non-key
144
+ * columns (rule 13), at least one (rule 14), `undefined` clearing an `opt(...)` column as the explicit `null` (a
145
+ * `null` value is a `json(...)` cell's JSON `null`, refused for other columns), an
146
+ * expression whose result may be `NULL` only for an `opt(...)` column; integer arithmetic only on `int` columns.
147
+ */
148
+ export declare function compileSet(table: TableDefinition, set: unknown, what: string): SetNode;
149
+ export {};
150
+ //# sourceMappingURL=expression.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../src/store/expression.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression.js","sourceRoot":"","sources":["../../src/store/expression.ts"],"names":[],"mappings":"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","sourcesContent":["// The table expression language (slice 6a §6, §7; rules 10, 13, 14, 16; decision \"Nullable columns and the `set`\n// form\"): the builders plugins write `where` and `set` with, and their compilation at staging into one data-only\n// vocabulary (what the outbox and archives carry; `evaluate.ts` runs it in JavaScript, `sql.ts` renders it).\n\nimport type { Optional } from \"../contracts/index.ts\";\nimport { invalid } from \"../data/internal.ts\";\nimport type { JsonValue } from \"../json.ts\";\nimport type { Column, Columns, ColumnType, ColumnTypeOf, ValueOf } from \"./columns.ts\";\nimport { checkScalar, encodeCell, type Scalar } from \"./rows.ts\";\nimport type { TableDefinition } from \"./table.ts\";\n\n/** A compiled condition: column comparisons with checked operands, combined by `and`, `or`, `not`. */\nexport type WhereNode =\n\t| { readonly eq: readonly [string, Scalar] }\n\t| { readonly ne: readonly [string, Scalar] }\n\t| { readonly lt: readonly [string, Scalar] }\n\t| { readonly lte: readonly [string, Scalar] }\n\t| { readonly gt: readonly [string, Scalar] }\n\t| { readonly gte: readonly [string, Scalar] }\n\t| { readonly inArray: readonly [string, readonly Scalar[]] }\n\t| { readonly isNull: string }\n\t| { readonly prefix: readonly [string, string] }\n\t| { readonly and: readonly WhereNode[] }\n\t| { readonly or: readonly WhereNode[] }\n\t| { readonly not: WhereNode };\n\n/** A compiled value expression: a literal (`null` clears), a column, a `json(...)` cell, or an operation. */\nexport type ExprNode =\n\t| Scalar\n\t| null\n\t| { readonly col: string }\n\t| { readonly json: JsonValue }\n\t| { readonly add: readonly [ExprNode, ExprNode] }\n\t| { readonly sub: readonly [ExprNode, ExprNode] }\n\t| { readonly max: readonly [ExprNode, ExprNode] }\n\t| { readonly min: readonly [ExprNode, ExprNode] }\n\t| { readonly concat: readonly [ExprNode, ExprNode] }\n\t| { readonly coalesce: readonly [ExprNode, ExprNode] }\n\t| { readonly replacePrefix: readonly [ExprNode, string, string] }\n\t| { readonly when: readonly [WhereNode, ExprNode, ExprNode] };\n\n/** A compiled `set`: the new value of each changed column, every right side evaluated against the row before. */\nexport type SetNode = { readonly [column: string]: ExprNode };\n\n/** The comparison operators of a `WhereNode`. */\nexport type Comparison = \"eq\" | \"ne\" | \"lt\" | \"lte\" | \"gt\" | \"gte\";\n\n/** The operations of an `ExprNode`. */\nexport type Operation = \"add\" | \"sub\" | \"max\" | \"min\" | \"concat\" | \"coalesce\" | \"replacePrefix\" | \"when\";\n\n/** A value expression as a plugin builds it: `T` is its value, `K` its column type. Compiled when staged. */\nexport class Expression<T = unknown, K extends ColumnType = ColumnType> {\n\treadonly op: Operation | \"col\";\n\treadonly args: readonly unknown[];\n\t/** Type only. */\n\tdeclare readonly \"~value\"?: T;\n\tdeclare readonly \"~type\"?: K;\n\n\tconstructor(op: Operation | \"col\", args: readonly unknown[]) {\n\t\tthis.op = op;\n\t\tthis.args = args;\n\t}\n}\n\n/** A reference to a column of the row, as `(t) => …` callbacks get them. */\nexport class ColumnRef<T = unknown, K extends ColumnType = ColumnType> extends Expression<T, K> {\n\treadonly column: string;\n\n\tconstructor(column: string) {\n\t\tsuper(\"col\", [column]);\n\t\tthis.column = column;\n\t}\n}\n\n/** A condition as a plugin builds it; compiled when staged or run. */\nexport class Condition {\n\treadonly op: Comparison | \"inArray\" | \"isNull\" | \"prefix\" | \"and\" | \"or\" | \"not\";\n\treadonly args: readonly unknown[];\n\n\tconstructor(op: Condition[\"op\"], args: readonly unknown[]) {\n\t\tthis.op = op;\n\t\tthis.args = args;\n\t}\n}\n\n/**\n * A `set` of a table with columns `C` and key `K`: new values of non-key columns, each a value or an expression of\n * the column's type; `undefined` clears an `opt(...)` column.\n */\nexport type SetOf<C extends Columns, K extends readonly string[]> = {\n\treadonly [P in Exclude<keyof C & string, K[number]>]?: C[P] extends Optional\n\t\t? ValueOf<C[P]> | Expression<ValueOf<C[P]>, ColumnTypeOf<C[P]>> | undefined\n\t\t: ValueOf<C[P]> | Expression<ValueOf<C[P]>, ColumnTypeOf<C[P]>>;\n};\n\n/** A scalar column type. */\ntype ScalarType = Exclude<ColumnType, \"json\">;\n\n/** An operand of type `T` and column type `K`: an expression or a plain value. */\ntype Operand<T, K extends ColumnType> = Expression<T, K> | T;\n\n/** The column equals `value` (`NULL` never matches). */\nexport function eq<T extends Scalar>(column: ColumnRef<T, ScalarType>, value: T): Condition {\n\treturn new Condition(\"eq\", [column, value]);\n}\n\n/** The column differs from `value` (`NULL` never matches). */\nexport function ne<T extends Scalar>(column: ColumnRef<T, ScalarType>, value: T): Condition {\n\treturn new Condition(\"ne\", [column, value]);\n}\n\n/** The column is below `value`. */\nexport function lt<T extends Scalar>(column: ColumnRef<T, ScalarType>, value: T): Condition {\n\treturn new Condition(\"lt\", [column, value]);\n}\n\n/** The column is at most `value`. */\nexport function lte<T extends Scalar>(column: ColumnRef<T, ScalarType>, value: T): Condition {\n\treturn new Condition(\"lte\", [column, value]);\n}\n\n/** The column is above `value`. */\nexport function gt<T extends Scalar>(column: ColumnRef<T, ScalarType>, value: T): Condition {\n\treturn new Condition(\"gt\", [column, value]);\n}\n\n/** The column is at least `value`. */\nexport function gte<T extends Scalar>(column: ColumnRef<T, ScalarType>, value: T): Condition {\n\treturn new Condition(\"gte\", [column, value]);\n}\n\n/** The column equals one of `values` (`[]` matches nothing). */\nexport function inArray<T extends Scalar>(column: ColumnRef<T, ScalarType>, values: readonly T[]): Condition {\n\treturn new Condition(\"inArray\", [column, values]);\n}\n\n/** The column is `NULL` (an `opt(...)` column without a value). */\nexport function isNull(column: ColumnRef<unknown, ScalarType>): Condition {\n\treturn new Condition(\"isNull\", [column]);\n}\n\n/** The text column starts with `prefix`, compared by code point (`\"\"` matches every value). */\nexport function prefix(column: ColumnRef<string, \"str\">, prefix: string): Condition {\n\treturn new Condition(\"prefix\", [column, prefix]);\n}\n\n/** Every condition holds (`and()` always does). */\nexport function and(...conditions: Condition[]): Condition {\n\treturn new Condition(\"and\", conditions);\n}\n\n/** Some condition holds (`or()` never does). */\nexport function or(...conditions: Condition[]): Condition {\n\treturn new Condition(\"or\", conditions);\n}\n\n/** The condition does not hold (`NULL` stays `NULL`: it never matches). */\nexport function not(condition: Condition): Condition {\n\treturn new Condition(\"not\", [condition]);\n}\n\n/** `a + b` over integers; a result outside ±(2^53 - 1) fails (rule 10). */\nexport function add(a: Operand<number, \"int\">, b: Operand<number, \"int\">): Expression<number, \"int\"> {\n\treturn new Expression(\"add\", [a, b]);\n}\n\n/** `a - b` over integers; a result outside ±(2^53 - 1) fails (rule 10). */\nexport function sub(a: Operand<number, \"int\">, b: Operand<number, \"int\">): Expression<number, \"int\"> {\n\treturn new Expression(\"sub\", [a, b]);\n}\n\n/** The larger of `a` and b` (`int` or `num`). */\nexport function max<K extends \"int\" | \"num\">(a: Operand<number, K>, b: Operand<number, K>): Expression<number, K> {\n\treturn new Expression(\"max\", [a, b]);\n}\n\n/** The smaller of `a` and `b` (`int` or `num`). */\nexport function min<K extends \"int\" | \"num\">(a: Operand<number, K>, b: Operand<number, K>): Expression<number, K> {\n\treturn new Expression(\"min\", [a, b]);\n}\n\n/** `a` followed by `b`. */\nexport function concat(a: Operand<string, \"str\">, b: Operand<string, \"str\">): Expression<string, \"str\"> {\n\treturn new Expression(\"concat\", [a, b]);\n}\n\n/** `value` with its prefix `from` replaced by `to`; a value without the prefix stays as it is. */\nexport function replacePrefix(value: Operand<string, \"str\">, from: string, to: string): Expression<string, \"str\"> {\n\treturn new Expression(\"replacePrefix\", [value, from, to]);\n}\n\n/** `a` unless it is `NULL`, else `b`. */\nexport function coalesce<T, K extends ScalarType>(a: Expression<T, K>, b: Operand<T, K>): Expression<T, K> {\n\treturn new Expression(\"coalesce\", [a, b]);\n}\n\n/** `a` where `condition` holds for the row, else `b`. */\nexport function when<T, K extends ScalarType>(\n\tcondition: Condition,\n\ta: Operand<T, K>,\n\tb: Operand<T, K>,\n): Expression<T, K> {\n\treturn new Expression(\"when\", [condition, a, b]);\n}\n\n/** One `ColumnRef` per column of `definition`, for its `(t) => …` callbacks. */\nexport function columnRefs(columns: readonly Column[]): { readonly [column: string]: ColumnRef } {\n\treturn Object.fromEntries(columns.map(({ name }) => [name, new ColumnRef(name)]));\n}\n\n/**\n * Compiles a plugin's condition over `table`'s columns (a trust boundary: plugin values): known scalar columns,\n * operands of their type made storable (`invalid/args` otherwise, `undefined` included: ask with `isNull`, rule 16).\n */\nexport function compileWhere(table: TableDefinition, condition: unknown, what: string): WhereNode {\n\tif (!(condition instanceof Condition)) throw invalid(\"args\", `${table.name}: ${what}: expected a condition`);\n\tconst { op, args } = condition;\n\tswitch (op) {\n\t\tcase \"and\":\n\t\tcase \"or\": {\n\t\t\tconst nodes = args.map((each) => compileWhere(table, each, what));\n\t\t\treturn op === \"and\" ? { and: nodes } : { or: nodes };\n\t\t}\n\t\tcase \"not\":\n\t\t\treturn { not: compileWhere(table, args[0], what) };\n\t\tcase \"isNull\":\n\t\t\treturn { isNull: scalarColumn(table, args[0], what).name };\n\t\tcase \"prefix\": {\n\t\t\tconst column = scalarColumn(table, args[0], what);\n\t\t\tif (column.type !== \"str\") throw invalid(\"args\", `${table.name}: ${what}: prefix needs a str() column`);\n\t\t\treturn { prefix: [column.name, operand(column, args[1], what) as string] };\n\t\t}\n\t\tcase \"inArray\": {\n\t\t\tconst column = scalarColumn(table, args[0], what);\n\t\t\tconst values = args[1];\n\t\t\tif (!Array.isArray(values)) throw invalid(\"args\", `${table.name}: ${what}: inArray needs an array`);\n\t\t\treturn { inArray: [column.name, values.map((value) => operand(column, value, what))] };\n\t\t}\n\t\tdefault: {\n\t\t\tconst column = scalarColumn(table, args[0], what);\n\t\t\t// One of the six comparisons: the node's shape is `{ [op]: [column, value] }`.\n\t\t\treturn { [op]: [column.name, operand(column, args[1], what)] as const } as WhereNode;\n\t\t}\n\t}\n}\n\n/**\n * Compiles a plugin's `set` (plain values or a callback's result) for `table` (a trust boundary): known non-key\n * columns (rule 13), at least one (rule 14), `undefined` clearing an `opt(...)` column as the explicit `null` (a\n * `null` value is a `json(...)` cell's JSON `null`, refused for other columns), an\n * expression whose result may be `NULL` only for an `opt(...)` column; integer arithmetic only on `int` columns.\n */\nexport function compileSet(table: TableDefinition, set: unknown, what: string): SetNode {\n\tif (typeof set !== \"object\" || set === null || Array.isArray(set)) {\n\t\tthrow invalid(\"args\", `${table.name}: ${what}: expected an object of column values`);\n\t}\n\tconst entries = Object.entries(set);\n\tif (entries.length === 0) throw invalid(\"args\", `${table.name}: ${what}: the set is empty`);\n\tconst node: { [column: string]: ExprNode } = {};\n\tfor (const [name, value] of entries) {\n\t\tconst column = table.byName.get(name);\n\t\tif (column === undefined) throw invalid(\"args\", `${table.name}: ${what}: no column \"${name}\"`);\n\t\tif (table.key.includes(name)) {\n\t\t\tthrow invalid(\"args\", `${table.name}: ${what}: key column \"${name}\" cannot change (delete and put)`);\n\t\t}\n\t\tconst where = `${what}: column \"${name}\"`;\n\t\tif (value === undefined) {\n\t\t\tif (!column.optional) throw invalid(\"args\", `${table.name}: ${where} is not opt(...) and cannot be cleared`);\n\t\t\tnode[name] = null;\n\t\t} else if (value === null && column.type !== \"json\") {\n\t\t\t// A row never holds an explicit `null` (decision \"Nullable columns and the set form\"); a JSON `null` is a value.\n\t\t\tthrow invalid(\"args\", `${table.name}: ${where}: null is no ${column.type} value (undefined clears)`);\n\t\t} else if (value instanceof Expression) {\n\t\t\tif (column.type === \"json\")\n\t\t\t\tthrow invalid(\"args\", `${table.name}: ${where}: json(...) columns take plain values`);\n\t\t\tconst compiled = compileExpr(table, value, column.type, where);\n\t\t\tif (compiled.nullable && !column.optional) {\n\t\t\t\tthrow invalid(\"args\", `${table.name}: ${where}: the expression may be NULL; the column is not opt(...)`);\n\t\t\t}\n\t\t\tnode[name] = compiled.node;\n\t\t} else if (column.type === \"json\") {\n\t\t\tnode[name] = { json: encodeCell(column, value, `${table.name}: ${where}`).stored };\n\t\t} else node[name] = checkScalar(column.type, value, `${table.name}: ${where}`);\n\t}\n\treturn node;\n}\n\n/** A compiled expression and whether its result may be `NULL`. */\ntype Compiled = { readonly node: ExprNode; readonly nullable: boolean };\n\nfunction compileExpr(table: TableDefinition, value: unknown, type: ScalarType, what: string): Compiled {\n\tif (!(value instanceof Expression)) {\n\t\tif (value === undefined || value === null) return { node: null, nullable: true };\n\t\treturn { node: checkScalar(type, value, `${table.name}: ${what}`), nullable: false };\n\t}\n\tconst { op, args } = value;\n\tconst refuse = (message: string): never => {\n\t\tthrow invalid(\"args\", `${table.name}: ${what}: ${message}`);\n\t};\n\tswitch (op) {\n\t\tcase \"col\": {\n\t\t\tconst column = table.byName.get(args[0] as string) ?? refuse(`no column \"${String(args[0])}\"`);\n\t\t\tif (column.type !== type) refuse(`column \"${column.name}\" is ${column.type}, not ${type}`);\n\t\t\treturn { node: { col: column.name }, nullable: column.optional };\n\t\t}\n\t\tcase \"add\":\n\t\tcase \"sub\":\n\t\tcase \"max\":\n\t\tcase \"min\":\n\t\tcase \"concat\": {\n\t\t\tconst types: readonly ScalarType[] =\n\t\t\t\top === \"concat\" ? [\"str\"] : op === \"add\" || op === \"sub\" ? [\"int\"] : [\"int\", \"num\"];\n\t\t\tif (!types.includes(type)) refuse(`${op} gives ${types.join(\" or \")}, the column is ${type}`);\n\t\t\tconst [a, b] = [compileExpr(table, args[0], type, what), compileExpr(table, args[1], type, what)];\n\t\t\t// The operation's shape is `{ [op]: [a, b] }`.\n\t\t\treturn { node: { [op]: [a.node, b.node] } as ExprNode, nullable: a.nullable || b.nullable };\n\t\t}\n\t\tcase \"coalesce\": {\n\t\t\tconst [a, b] = [compileExpr(table, args[0], type, what), compileExpr(table, args[1], type, what)];\n\t\t\treturn { node: { coalesce: [a.node, b.node] }, nullable: a.nullable && b.nullable };\n\t\t}\n\t\tcase \"replacePrefix\": {\n\t\t\tif (type !== \"str\") refuse(`replacePrefix gives str, the column is ${type}`);\n\t\t\tconst subject = compileExpr(table, args[0], type, what);\n\t\t\tconst [from, to] = [args[1], args[2]].map(\n\t\t\t\t(each) => checkScalar(\"str\", each, `${table.name}: ${what}`) as string,\n\t\t\t);\n\t\t\treturn { node: { replacePrefix: [subject.node, from!, to!] }, nullable: subject.nullable };\n\t\t}\n\t\tcase \"when\": {\n\t\t\tconst condition = compileWhere(table, args[0], what);\n\t\t\tconst [a, b] = [compileExpr(table, args[1], type, what), compileExpr(table, args[2], type, what)];\n\t\t\treturn { node: { when: [condition, a.node, b.node] }, nullable: a.nullable || b.nullable };\n\t\t}\n\t}\n}\n\n/** The column a condition compares: a reference to a known scalar column. */\nfunction scalarColumn(table: TableDefinition, ref: unknown, what: string): Column {\n\tif (!(ref instanceof ColumnRef)) throw invalid(\"args\", `${table.name}: ${what}: expected a column reference`);\n\tconst column = table.byName.get(ref.column);\n\tif (column === undefined) throw invalid(\"args\", `${table.name}: ${what}: no column \"${ref.column}\"`);\n\tif (column.type === \"json\")\n\t\tthrow invalid(\"args\", `${table.name}: ${what}: json(...) column \"${ref.column}\" is not queryable`);\n\treturn column;\n}\n\n/** An operand compared with `column`, made storable; `undefined` and `null` are refused (rule 16). */\nfunction operand(column: Column, value: unknown, what: string): Scalar {\n\tif (value === undefined || value === null) {\n\t\tthrow invalid(\"args\", `${what}: column \"${column.name}\" compared with ${String(value)}; ask with isNull`);\n\t}\n\t// `scalarColumn` refused json columns.\n\treturn checkScalar(column.type as ScalarType, value, `${what}: column \"${column.name}\"`);\n}\n"]}
@@ -0,0 +1,10 @@
1
+ import { type Context } from "../context/index.ts";
2
+ import type { Backend } from "./backend.ts";
3
+ import { type Store, type StoreOptions } from "./store.ts";
4
+ /**
5
+ * A store holding the archive `parts` on `backend`, which must not hold a store yet: at the manifest's `lastSeq`, its
6
+ * outbox (when `options.outbox`) starting after it. A refused archive, a stalled input cancelled by `context` or a
7
+ * backend error rejects; the backend is closed then (rule 12).
8
+ */
9
+ export declare function importStore(backend: Backend, parts: AsyncIterable<unknown> | Iterable<unknown>, context: Context, options?: StoreOptions): Promise<Store>;
10
+ //# sourceMappingURL=import.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../src/store/import.ts"],"names":[],"mappings":"AAOA,OAAO,EAAoB,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAOrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAK5C,OAAO,EAAc,KAAK,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAGvE;;;;GAIG;AACH,wBAAsB,WAAW,CAChC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,EACjD,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,YAAiB,GACxB,OAAO,CAAC,KAAK,CAAC,CAqBhB"}
@@ -0,0 +1,276 @@
1
+ // `importStore(backend, parts, ctx, { outbox? })` (slice 6a §13, rules 12, 24, 25): a store made from an archive, a
2
+ // trust boundary. Every part is checked against the archive schema, its place in the archive's order and its content
3
+ // (names, rows against their table's recorded columns, ids and seqs, lifetimes at one address never overlapping,
4
+ // revisions in seq order from a base, versions, duplicates, the `end` count, the manifest); everything is applied in
5
+ // one backend transaction with the applier, so a refused import leaves the backend as it was. An input that stalls is
6
+ // cancelled by `ctx`.
7
+ import { awaitWithContext } from "../context/index.js";
8
+ import { ChordError } from "../data/index.js";
9
+ import { invalid } from "../data/internal.js";
10
+ import { IdAllocator } from "./allocator.js";
11
+ import { applyWrite } from "./applier.js";
12
+ import { ARCHIVE_FORMAT, checkPart } from "./archive.js";
13
+ import { readCatalog, writeCatalog } from "./catalog.js";
14
+ import { applyStoreSchema, STORE_SCHEMA, TABLES } from "./schema.js";
15
+ import { Step } from "./step.js";
16
+ import { ChordStore } from "./store.js";
17
+ import { storedText } from "./text.js";
18
+ /**
19
+ * A store holding the archive `parts` on `backend`, which must not hold a store yet: at the manifest's `lastSeq`, its
20
+ * outbox (when `options.outbox`) starting after it. A refused archive, a stalled input cancelled by `context` or a
21
+ * backend error rejects; the backend is closed then (rule 12).
22
+ */
23
+ export async function importStore(backend, parts, context, options = {}) {
24
+ const { db } = backend;
25
+ try {
26
+ context.abortSignal?.throwIfAborted();
27
+ const existing = await db.get(`SELECT name FROM sqlite_master WHERE name = ?`, TABLES.meta);
28
+ if (existing !== undefined)
29
+ throw invalid("args", "import: the backend holds a store already");
30
+ const meta = await db.transaction(async (executor) => {
31
+ const meta = await applyStoreSchema(inTransaction(executor));
32
+ const archive = new ArchiveImport(executor, context);
33
+ await each(parts, context, (part) => archive.take(part));
34
+ return archive.finish(meta, options.outbox === true);
35
+ });
36
+ return new ChordStore(db, meta, await readCatalog(db));
37
+ }
38
+ catch (error) {
39
+ try {
40
+ await db.close();
41
+ }
42
+ catch {
43
+ // The import's own failure is the one to report.
44
+ }
45
+ throw error;
46
+ }
47
+ }
48
+ /** The store's schema migrations run inside the import's backend transaction (they open none of their own). */
49
+ function inTransaction(executor) {
50
+ return {
51
+ exec: (sql) => executor.exec(sql),
52
+ run: (sql, ...params) => executor.run(sql, ...params),
53
+ runCounted: (sql, ...params) => executor.runCounted(sql, ...params),
54
+ get: (sql, ...params) => executor.get(sql, ...params),
55
+ all: (sql, ...params) => executor.all(sql, ...params),
56
+ transaction: (callback) => callback(executor),
57
+ close: () => Promise.reject(new Error("import: the backend closes after the import")),
58
+ };
59
+ }
60
+ /**
61
+ * One archive being imported: the place reached in its order (the manifest, then table groups of a `table` write, its
62
+ * `put`s and its `index` writes, then the documents, then `end`), what was seen (tables, ids, live addresses, the
63
+ * write count) and the step its writes are applied in.
64
+ */
65
+ class ArchiveImport {
66
+ #executor;
67
+ #context;
68
+ #position = 0;
69
+ #manifest;
70
+ #step;
71
+ /** Where the next part may go. */
72
+ #place = "manifest";
73
+ /** The table whose group is open. */
74
+ #table;
75
+ #tables = new Set();
76
+ #ids = new Set();
77
+ /** The lifetimes seen at each address, `[createdAt, retiredAt)` (`Infinity` while live). */
78
+ #lifetimes = new Map();
79
+ /** The record whose revisions may follow, with the last revision's seq and its base's version. */
80
+ #document;
81
+ #writes = 0;
82
+ constructor(executor, context) {
83
+ this.#executor = executor;
84
+ this.#context = context;
85
+ }
86
+ /** Checks the next part and applies it. */
87
+ async take(value) {
88
+ const position = this.#position++;
89
+ const part = checkPart(value, position, this.#context);
90
+ const what = `import: part ${position} (${part.kind})`;
91
+ if (this.#place === "ended")
92
+ throw invalid("args", `${what}: after the end`);
93
+ if (part.kind === "manifest" || this.#step === undefined) {
94
+ this.#start(part, what);
95
+ return;
96
+ }
97
+ if (part.kind === "end") {
98
+ if (part.writes !== this.#writes) {
99
+ throw invalid("args", `${what}: counts ${part.writes} writes, the archive has ${this.#writes}`);
100
+ }
101
+ this.#endDocument(what);
102
+ this.#place = "ended";
103
+ return;
104
+ }
105
+ this.#place = this.#placeOf(part, what);
106
+ this.#writes++;
107
+ await applyWrite(this.#step, part, what);
108
+ }
109
+ /** The stored metadata once the archive ended: its `lastSeq`, the allocator's next id and the outbox setting. */
110
+ async finish(meta, outbox) {
111
+ if (this.#place !== "ended" || this.#step === undefined || this.#manifest === undefined) {
112
+ throw invalid("args", "import: the archive has no end part");
113
+ }
114
+ const { lastSeq, nextId } = this.#manifest;
115
+ await writeCatalog(this.#step);
116
+ await this.#executor.run(`UPDATE ${TABLES.meta} SET last_seq = ?, next_id = ?, outbox = ?, outbox_floor = ? WHERE singleton = 1`, lastSeq, nextId, outbox ? 1 : 0, lastSeq);
117
+ return {
118
+ ...meta,
119
+ last_seq: lastSeq,
120
+ next_id: nextId,
121
+ outbox: outbox ? 1 : 0,
122
+ outbox_floor: lastSeq,
123
+ };
124
+ }
125
+ /** The manifest, first: a format and schema this code reads. */
126
+ #start(part, what) {
127
+ if (part.kind !== "manifest" || this.#step !== undefined)
128
+ throw invalid("args", `${what}: the manifest comes first, once`);
129
+ if (part.format !== ARCHIVE_FORMAT)
130
+ throw invalid("args", `${what}: format ${part.format} is not ${ARCHIVE_FORMAT}`);
131
+ if (part.schema > STORE_SCHEMA)
132
+ throw invalid("args", `${what}: schema ${part.schema} is newer than ${STORE_SCHEMA}`);
133
+ this.#manifest = part;
134
+ this.#step = new Step(this.#executor, part.lastSeq, new IdAllocator(part.nextId), new Map());
135
+ }
136
+ /** Where `part` puts the archive, refused when out of order, a duplicate, or outside the manifest's ranges. */
137
+ #placeOf(part, what) {
138
+ const place = this.#place;
139
+ switch (part.kind) {
140
+ case "table":
141
+ if (place === "documents")
142
+ throw invalid("args", `${what}: tables come before the documents`);
143
+ if (this.#tables.has(part.table))
144
+ throw invalid("args", `${what}: table ${part.table} occurs twice`);
145
+ this.#tables.add(part.table);
146
+ this.#table = part.table;
147
+ return "puts";
148
+ case "put":
149
+ if (place !== "puts" || part.table !== this.#table) {
150
+ throw invalid("args", `${what}: a put follows its table's table write, before its indexes`);
151
+ }
152
+ return "puts";
153
+ case "index":
154
+ if ((place !== "puts" && place !== "indexes") || part.table !== this.#table) {
155
+ throw invalid("args", `${what}: an index follows its table's table write and puts`);
156
+ }
157
+ return "indexes";
158
+ case "document.create":
159
+ this.#checkDocument(part, what);
160
+ return "documents";
161
+ case "document.revision":
162
+ this.#checkRevision(part, what);
163
+ return "documents";
164
+ }
165
+ }
166
+ /**
167
+ * A record within the manifest's ids and seqs (an id equal to a saturated `nextId` too), unique, its lifetime
168
+ * overlapping no other at its address; its address and meta well-formed text without NUL (SQLite would cut a NUL off,
169
+ * slice 6a §8). The record before it must have ended well (`#endDocument`).
170
+ */
171
+ #checkDocument(part, what) {
172
+ this.#endDocument(what);
173
+ const { record } = part;
174
+ const { lastSeq, nextId } = this.#manifest;
175
+ const saturated = nextId === Number.MAX_SAFE_INTEGER && record.id === nextId;
176
+ if (record.id >= nextId && !saturated)
177
+ throw invalid("args", `${what}: id ${record.id} is not below ${nextId}`);
178
+ if (this.#ids.has(record.id))
179
+ throw invalid("args", `${what}: id ${record.id} occurs twice`);
180
+ const { createdAt, retiredAt } = record;
181
+ if (createdAt > lastSeq || (retiredAt !== undefined && (retiredAt < createdAt || retiredAt > lastSeq))) {
182
+ throw invalid("args", `${what}: a lifetime outside the manifest's lastSeq`);
183
+ }
184
+ const { namespace, owner, kind, meta } = record;
185
+ // A singleton's record has no key; its column keeps `""`.
186
+ const key = record.key ?? "";
187
+ for (const text of [namespace, owner, kind, key]) {
188
+ if (storedText(text, what) !== text)
189
+ throw invalid("args", `${what}: an address is not well-formed text`);
190
+ }
191
+ if (meta !== undefined && storedText(meta, what) !== meta) {
192
+ throw invalid("args", `${what}: the meta is not well-formed text`);
193
+ }
194
+ const address = JSON.stringify([owner, namespace, kind, key]);
195
+ const lifetime = [createdAt, retiredAt ?? Number.POSITIVE_INFINITY];
196
+ const lifetimes = this.#lifetimes.get(address) ?? [];
197
+ // Two live records are two infinite lifetimes, which overlap; an empty one (`createdAt = retiredAt`) overlaps none.
198
+ if (lifetime[0] < lifetime[1] && lifetimes.some(([from, to]) => from < lifetime[1] && lifetime[0] < to)) {
199
+ throw invalid("args", `${what}: a second record at one address for an overlapping lifetime`);
200
+ }
201
+ lifetimes.push(lifetime);
202
+ this.#lifetimes.set(address, lifetimes);
203
+ this.#ids.add(record.id);
204
+ this.#document = { record, seq: 0, base: undefined };
205
+ }
206
+ /**
207
+ * A revision of the record before it, in seq order within its lifetime, from a base, each delta at its base's
208
+ * version.
209
+ */
210
+ #checkRevision(part, what) {
211
+ const document = this.#document;
212
+ if (document === undefined || document.record.id !== part.id) {
213
+ throw invalid("args", `${what}: a revision follows its record's create`);
214
+ }
215
+ const { record } = document;
216
+ if (record.retiredAt !== undefined && record.history !== "rewindable") {
217
+ throw invalid("args", `${what}: a retired ${record.history} record keeps no revisions`);
218
+ }
219
+ if (part.seq <= document.seq ||
220
+ part.seq < record.createdAt ||
221
+ part.seq > (record.retiredAt ?? this.#manifest.lastSeq)) {
222
+ throw invalid("args", `${what}: a revision out of seq order or outside its lifetime`);
223
+ }
224
+ const { content } = part;
225
+ if (content.kind === "base")
226
+ document.base = content.version;
227
+ else if (document.base !== content.version) {
228
+ throw invalid("args", `${what}: a delta without a base at its version`);
229
+ }
230
+ document.seq = part.seq;
231
+ }
232
+ /**
233
+ * The record before ends well: its last base is at the record's version; only a retired `latest` record has none
234
+ * (its content was dropped at retirement; a retired `rewindable` one keeps its history).
235
+ */
236
+ #endDocument(what) {
237
+ const document = this.#document;
238
+ this.#document = undefined;
239
+ if (document === undefined)
240
+ return;
241
+ const { record, base } = document;
242
+ const contentless = record.retiredAt !== undefined && record.history === "latest";
243
+ if (base === undefined ? !contentless : base !== record.version) {
244
+ throw invalid("args", `${what}: record ${record.id} has no base at its version`);
245
+ }
246
+ }
247
+ }
248
+ /** Runs `take` on each part in turn; a wait for the next part ends when `context` aborts (the input is closed). */
249
+ async function each(parts, context, take) {
250
+ const iterator = Symbol.asyncIterator in parts ? parts[Symbol.asyncIterator]() : parts[Symbol.iterator]();
251
+ let done = false;
252
+ try {
253
+ for (;;) {
254
+ let result;
255
+ try {
256
+ result = await awaitWithContext(Promise.resolve(iterator.next()), context);
257
+ }
258
+ catch (error) {
259
+ if (!context.abortSignal?.aborted)
260
+ throw error;
261
+ throw new ChordError({ code: "aborted", message: "import: aborted" }, { cause: context.abortSignal.reason });
262
+ }
263
+ if (result.done) {
264
+ done = true;
265
+ return;
266
+ }
267
+ await take(result.value);
268
+ }
269
+ }
270
+ finally {
271
+ // A stalled input is not awaited: the backend transaction ends now.
272
+ if (!done)
273
+ void Promise.resolve(iterator.return?.()).catch(() => { });
274
+ }
275
+ }
276
+ //# sourceMappingURL=import.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/store/import.ts"],"names":[],"mappings":"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","sourcesContent":["// `importStore(backend, parts, ctx, { outbox? })` (slice 6a §13, rules 12, 24, 25): a store made from an archive, a\n// trust boundary. Every part is checked against the archive schema, its place in the archive's order and its content\n// (names, rows against their table's recorded columns, ids and seqs, lifetimes at one address never overlapping,\n// revisions in seq order from a base, versions, duplicates, the `end` count, the manifest); everything is applied in\n// one backend transaction with the applier, so a refused import leaves the backend as it was. An input that stalls is\n// cancelled by `ctx`.\n\nimport { awaitWithContext, type Context } from \"../context/index.ts\";\nimport { ChordError } from \"../data/index.ts\";\nimport { invalid } from \"../data/internal.ts\";\nimport type { SqliteDatabase, SqliteExecutor } from \"../sqlite/index.ts\";\nimport { IdAllocator } from \"./allocator.ts\";\nimport { applyWrite } from \"./applier.ts\";\nimport { ARCHIVE_FORMAT, type ArchiveManifest, type ArchivePart, checkPart } from \"./archive.ts\";\nimport type { Backend } from \"./backend.ts\";\nimport { readCatalog, writeCatalog } from \"./catalog.ts\";\nimport type { DocumentRecord } from \"./engine.ts\";\nimport { applyStoreSchema, type MetaRow, STORE_SCHEMA, TABLES } from \"./schema.ts\";\nimport { Step } from \"./step.ts\";\nimport { ChordStore, type Store, type StoreOptions } from \"./store.ts\";\nimport { storedText } from \"./text.ts\";\n\n/**\n * A store holding the archive `parts` on `backend`, which must not hold a store yet: at the manifest's `lastSeq`, its\n * outbox (when `options.outbox`) starting after it. A refused archive, a stalled input cancelled by `context` or a\n * backend error rejects; the backend is closed then (rule 12).\n */\nexport async function importStore(\n\tbackend: Backend,\n\tparts: AsyncIterable<unknown> | Iterable<unknown>,\n\tcontext: Context,\n\toptions: StoreOptions = {},\n): Promise<Store> {\n\tconst { db } = backend;\n\ttry {\n\t\tcontext.abortSignal?.throwIfAborted();\n\t\tconst existing = await db.get(`SELECT name FROM sqlite_master WHERE name = ?`, TABLES.meta);\n\t\tif (existing !== undefined) throw invalid(\"args\", \"import: the backend holds a store already\");\n\t\tconst meta = await db.transaction(async (executor) => {\n\t\t\tconst meta = await applyStoreSchema(inTransaction(executor));\n\t\t\tconst archive = new ArchiveImport(executor, context);\n\t\t\tawait each(parts, context, (part) => archive.take(part));\n\t\t\treturn archive.finish(meta, options.outbox === true);\n\t\t});\n\t\treturn new ChordStore(db, meta, await readCatalog(db));\n\t} catch (error) {\n\t\ttry {\n\t\t\tawait db.close();\n\t\t} catch {\n\t\t\t// The import's own failure is the one to report.\n\t\t}\n\t\tthrow error;\n\t}\n}\n\n/** The store's schema migrations run inside the import's backend transaction (they open none of their own). */\nfunction inTransaction(executor: SqliteExecutor): SqliteDatabase {\n\treturn {\n\t\texec: (sql) => executor.exec(sql),\n\t\trun: (sql, ...params) => executor.run(sql, ...params),\n\t\trunCounted: (sql, ...params) => executor.runCounted(sql, ...params),\n\t\tget: (sql, ...params) => executor.get(sql, ...params),\n\t\tall: (sql, ...params) => executor.all(sql, ...params),\n\t\ttransaction: (callback) => callback(executor),\n\t\tclose: () => Promise.reject(new Error(\"import: the backend closes after the import\")),\n\t};\n}\n\n/** A place in the archive's order: before the manifest, in a table group's puts or indexes, the documents, the end. */\ntype Place = \"manifest\" | \"puts\" | \"indexes\" | \"documents\" | \"ended\";\n\n/**\n * One archive being imported: the place reached in its order (the manifest, then table groups of a `table` write, its\n * `put`s and its `index` writes, then the documents, then `end`), what was seen (tables, ids, live addresses, the\n * write count) and the step its writes are applied in.\n */\nclass ArchiveImport {\n\treadonly #executor: SqliteExecutor;\n\treadonly #context: Context;\n\t#position = 0;\n\t#manifest: ArchiveManifest | undefined;\n\t#step: Step | undefined;\n\t/** Where the next part may go. */\n\t#place: Place = \"manifest\";\n\t/** The table whose group is open. */\n\t#table: string | undefined;\n\treadonly #tables = new Set<string>();\n\treadonly #ids = new Set<number>();\n\t/** The lifetimes seen at each address, `[createdAt, retiredAt)` (`Infinity` while live). */\n\treadonly #lifetimes = new Map<string, [number, number][]>();\n\t/** The record whose revisions may follow, with the last revision's seq and its base's version. */\n\t#document: { readonly record: DocumentRecord; seq: number; base: number | undefined } | undefined;\n\t#writes = 0;\n\n\tconstructor(executor: SqliteExecutor, context: Context) {\n\t\tthis.#executor = executor;\n\t\tthis.#context = context;\n\t}\n\n\t/** Checks the next part and applies it. */\n\tasync take(value: unknown): Promise<void> {\n\t\tconst position = this.#position++;\n\t\tconst part = checkPart(value, position, this.#context);\n\t\tconst what = `import: part ${position} (${part.kind})`;\n\t\tif (this.#place === \"ended\") throw invalid(\"args\", `${what}: after the end`);\n\t\tif (part.kind === \"manifest\" || this.#step === undefined) {\n\t\t\tthis.#start(part, what);\n\t\t\treturn;\n\t\t}\n\t\tif (part.kind === \"end\") {\n\t\t\tif (part.writes !== this.#writes) {\n\t\t\t\tthrow invalid(\"args\", `${what}: counts ${part.writes} writes, the archive has ${this.#writes}`);\n\t\t\t}\n\t\t\tthis.#endDocument(what);\n\t\t\tthis.#place = \"ended\";\n\t\t\treturn;\n\t\t}\n\t\tthis.#place = this.#placeOf(part, what);\n\t\tthis.#writes++;\n\t\tawait applyWrite(this.#step, part, what);\n\t}\n\n\t/** The stored metadata once the archive ended: its `lastSeq`, the allocator's next id and the outbox setting. */\n\tasync finish(meta: MetaRow, outbox: boolean): Promise<MetaRow> {\n\t\tif (this.#place !== \"ended\" || this.#step === undefined || this.#manifest === undefined) {\n\t\t\tthrow invalid(\"args\", \"import: the archive has no end part\");\n\t\t}\n\t\tconst { lastSeq, nextId } = this.#manifest;\n\t\tawait writeCatalog(this.#step);\n\t\tawait this.#executor.run(\n\t\t\t`UPDATE ${TABLES.meta} SET last_seq = ?, next_id = ?, outbox = ?, outbox_floor = ? WHERE singleton = 1`,\n\t\t\tlastSeq,\n\t\t\tnextId,\n\t\t\toutbox ? 1 : 0,\n\t\t\tlastSeq,\n\t\t);\n\t\treturn {\n\t\t\t...meta,\n\t\t\tlast_seq: lastSeq,\n\t\t\tnext_id: nextId,\n\t\t\toutbox: outbox ? 1 : 0,\n\t\t\toutbox_floor: lastSeq,\n\t\t};\n\t}\n\n\t/** The manifest, first: a format and schema this code reads. */\n\t#start(part: ArchivePart, what: string): void {\n\t\tif (part.kind !== \"manifest\" || this.#step !== undefined)\n\t\t\tthrow invalid(\"args\", `${what}: the manifest comes first, once`);\n\t\tif (part.format !== ARCHIVE_FORMAT)\n\t\t\tthrow invalid(\"args\", `${what}: format ${part.format} is not ${ARCHIVE_FORMAT}`);\n\t\tif (part.schema > STORE_SCHEMA)\n\t\t\tthrow invalid(\"args\", `${what}: schema ${part.schema} is newer than ${STORE_SCHEMA}`);\n\t\tthis.#manifest = part;\n\t\tthis.#step = new Step(this.#executor, part.lastSeq, new IdAllocator(part.nextId), new Map());\n\t}\n\n\t/** Where `part` puts the archive, refused when out of order, a duplicate, or outside the manifest's ranges. */\n\t#placeOf(part: Exclude<ArchivePart, { readonly kind: \"manifest\" | \"end\" }>, what: string): Place {\n\t\tconst place = this.#place;\n\t\tswitch (part.kind) {\n\t\t\tcase \"table\":\n\t\t\t\tif (place === \"documents\") throw invalid(\"args\", `${what}: tables come before the documents`);\n\t\t\t\tif (this.#tables.has(part.table)) throw invalid(\"args\", `${what}: table ${part.table} occurs twice`);\n\t\t\t\tthis.#tables.add(part.table);\n\t\t\t\tthis.#table = part.table;\n\t\t\t\treturn \"puts\";\n\t\t\tcase \"put\":\n\t\t\t\tif (place !== \"puts\" || part.table !== this.#table) {\n\t\t\t\t\tthrow invalid(\"args\", `${what}: a put follows its table's table write, before its indexes`);\n\t\t\t\t}\n\t\t\t\treturn \"puts\";\n\t\t\tcase \"index\":\n\t\t\t\tif ((place !== \"puts\" && place !== \"indexes\") || part.table !== this.#table) {\n\t\t\t\t\tthrow invalid(\"args\", `${what}: an index follows its table's table write and puts`);\n\t\t\t\t}\n\t\t\t\treturn \"indexes\";\n\t\t\tcase \"document.create\":\n\t\t\t\tthis.#checkDocument(part, what);\n\t\t\t\treturn \"documents\";\n\t\t\tcase \"document.revision\":\n\t\t\t\tthis.#checkRevision(part, what);\n\t\t\t\treturn \"documents\";\n\t\t}\n\t}\n\n\t/**\n\t * A record within the manifest's ids and seqs (an id equal to a saturated `nextId` too), unique, its lifetime\n\t * overlapping no other at its address; its address and meta well-formed text without NUL (SQLite would cut a NUL off,\n\t * slice 6a §8). The record before it must have ended well (`#endDocument`).\n\t */\n\t#checkDocument(part: Extract<ArchivePart, { readonly kind: \"document.create\" }>, what: string): void {\n\t\tthis.#endDocument(what);\n\t\tconst { record } = part;\n\t\tconst { lastSeq, nextId } = this.#manifest!;\n\t\tconst saturated = nextId === Number.MAX_SAFE_INTEGER && record.id === nextId;\n\t\tif (record.id >= nextId && !saturated) throw invalid(\"args\", `${what}: id ${record.id} is not below ${nextId}`);\n\t\tif (this.#ids.has(record.id)) throw invalid(\"args\", `${what}: id ${record.id} occurs twice`);\n\t\tconst { createdAt, retiredAt } = record;\n\t\tif (createdAt > lastSeq || (retiredAt !== undefined && (retiredAt < createdAt || retiredAt > lastSeq))) {\n\t\t\tthrow invalid(\"args\", `${what}: a lifetime outside the manifest's lastSeq`);\n\t\t}\n\t\tconst { namespace, owner, kind, meta } = record;\n\t\t// A singleton's record has no key; its column keeps `\"\"`.\n\t\tconst key = record.key ?? \"\";\n\t\tfor (const text of [namespace, owner, kind, key]) {\n\t\t\tif (storedText(text, what) !== text) throw invalid(\"args\", `${what}: an address is not well-formed text`);\n\t\t}\n\t\tif (meta !== undefined && storedText(meta, what) !== meta) {\n\t\t\tthrow invalid(\"args\", `${what}: the meta is not well-formed text`);\n\t\t}\n\t\tconst address = JSON.stringify([owner, namespace, kind, key]);\n\t\tconst lifetime: [number, number] = [createdAt, retiredAt ?? Number.POSITIVE_INFINITY];\n\t\tconst lifetimes = this.#lifetimes.get(address) ?? [];\n\t\t// Two live records are two infinite lifetimes, which overlap; an empty one (`createdAt = retiredAt`) overlaps none.\n\t\tif (lifetime[0] < lifetime[1] && lifetimes.some(([from, to]) => from < lifetime[1] && lifetime[0] < to)) {\n\t\t\tthrow invalid(\"args\", `${what}: a second record at one address for an overlapping lifetime`);\n\t\t}\n\t\tlifetimes.push(lifetime);\n\t\tthis.#lifetimes.set(address, lifetimes);\n\t\tthis.#ids.add(record.id);\n\t\tthis.#document = { record, seq: 0, base: undefined };\n\t}\n\n\t/**\n\t * A revision of the record before it, in seq order within its lifetime, from a base, each delta at its base's\n\t * version.\n\t */\n\t#checkRevision(part: Extract<ArchivePart, { readonly kind: \"document.revision\" }>, what: string): void {\n\t\tconst document = this.#document;\n\t\tif (document === undefined || document.record.id !== part.id) {\n\t\t\tthrow invalid(\"args\", `${what}: a revision follows its record's create`);\n\t\t}\n\t\tconst { record } = document;\n\t\tif (record.retiredAt !== undefined && record.history !== \"rewindable\") {\n\t\t\tthrow invalid(\"args\", `${what}: a retired ${record.history} record keeps no revisions`);\n\t\t}\n\t\tif (\n\t\t\tpart.seq <= document.seq ||\n\t\t\tpart.seq < record.createdAt ||\n\t\t\tpart.seq > (record.retiredAt ?? this.#manifest!.lastSeq)\n\t\t) {\n\t\t\tthrow invalid(\"args\", `${what}: a revision out of seq order or outside its lifetime`);\n\t\t}\n\t\tconst { content } = part;\n\t\tif (content.kind === \"base\") document.base = content.version;\n\t\telse if (document.base !== content.version) {\n\t\t\tthrow invalid(\"args\", `${what}: a delta without a base at its version`);\n\t\t}\n\t\tdocument.seq = part.seq;\n\t}\n\n\t/**\n\t * The record before ends well: its last base is at the record's version; only a retired `latest` record has none\n\t * (its content was dropped at retirement; a retired `rewindable` one keeps its history).\n\t */\n\t#endDocument(what: string): void {\n\t\tconst document = this.#document;\n\t\tthis.#document = undefined;\n\t\tif (document === undefined) return;\n\t\tconst { record, base } = document;\n\t\tconst contentless = record.retiredAt !== undefined && record.history === \"latest\";\n\t\tif (base === undefined ? !contentless : base !== record.version) {\n\t\t\tthrow invalid(\"args\", `${what}: record ${record.id} has no base at its version`);\n\t\t}\n\t}\n}\n\n/** Runs `take` on each part in turn; a wait for the next part ends when `context` aborts (the input is closed). */\nasync function each(\n\tparts: AsyncIterable<unknown> | Iterable<unknown>,\n\tcontext: Context,\n\ttake: (part: unknown) => Promise<void>,\n): Promise<void> {\n\tconst iterator = Symbol.asyncIterator in parts ? parts[Symbol.asyncIterator]() : parts[Symbol.iterator]();\n\tlet done = false;\n\ttry {\n\t\tfor (;;) {\n\t\t\tlet result: IteratorResult<unknown>;\n\t\t\ttry {\n\t\t\t\tresult = await awaitWithContext(Promise.resolve(iterator.next()), context);\n\t\t\t} catch (error) {\n\t\t\t\tif (!context.abortSignal?.aborted) throw error;\n\t\t\t\tthrow new ChordError(\n\t\t\t\t\t{ code: \"aborted\", message: \"import: aborted\" },\n\t\t\t\t\t{ cause: context.abortSignal.reason },\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (result.done) {\n\t\t\t\tdone = true;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait take(result.value);\n\t\t}\n\t} finally {\n\t\t// A stalled input is not awaited: the backend transaction ends now.\n\t\tif (!done) void Promise.resolve(iterator.return?.()).catch(() => {});\n\t}\n}\n"]}