@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
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/next/store/store.ts"],"names":[],"mappings":"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","sourcesContent":["// The store (slice 6a §2, §3, slice 6b §1): opened over a backend, one commit queue that serializes only the commit step\n// (the seal fence's admission check, `BEGIN`, the writes in their order, the outbox commit, `lastSeq` and the\n// allocator's value, `COMMIT`, then the owner's adoption), the id allocator, the claims of its tables and documents,\n// reads guarded as Durable's `GuardedStorage` guards them, Durable's Storage semantics for a refused step (D4), and the\n// stop after an unknown outcome.\n\nimport { awaitWithContext, type Context } from \"../../context/index.ts\";\nimport type { SqliteDatabase, SqliteExecutor } from \"../../sqlite/index.ts\";\nimport { ChordError } from \"../data/index.ts\";\nimport { invalid } from \"../data/internal.ts\";\nimport type { Batch } from \"../state/internal.ts\";\nimport { IdAllocator } from \"./allocator.ts\";\nimport type { ArchivePart } from \"./archive.ts\";\nimport type { Backend } from \"./backend.ts\";\nimport { readCatalog, type TableRecord, writeCatalog } from \"./catalog.ts\";\nimport { Claims } from \"./claims.ts\";\nimport { StoreExport } from \"./export.ts\";\nimport { OUTBOX_FORMAT, Outbox } from \"./outbox.ts\";\nimport { applyStoreSchema, type MetaRow, TABLES } from \"./schema.ts\";\nimport { type StagedWrite, Step, type WriteOrder } from \"./step.ts\";\nimport type { StoreWrite } from \"./writes.ts\";\n\n/** A store as apps hold it: opened by `openStore`, owned and closed by the app. */\nexport interface Store {\n\t/** The seq of the store's last commit (0 for a new store). */\n\treadonly lastSeq: number;\n\t/** The outbox the sync layer reads; `undefined` without one. */\n\treadonly outbox: Outbox | undefined;\n\t/**\n\t * The store's state after its `lastSeq` as archive parts (slice 6a §13), holding the commit queue from the first\n\t * `next()` until the iteration ends, throws, is closed or `context` aborts.\n\t */\n\texport(context: Context): AsyncIterableIterator<ArchivePart>;\n\t/**\n\t * Closes the store: waits for a running commit step, rejects queued commits and reads `released`, closes the\n\t * backend. Idempotent, also after `storage_failed`; `context` ends only this caller's wait (the close goes on).\n\t */\n\tclose(context: Context): Promise<void>;\n}\n\n/** What `openStore` takes besides the backend. */\nexport type StoreOptions = {\n\t/** Turns the outbox on (`true`) or off (`false`); omitted, the persisted setting stays (a new store: off). */\n\treadonly outbox?: boolean;\n};\n\n/**\n * Opens a store over `backend`: the store's schema migrations, the UTF-8 check, the metadata read once, the outbox\n * switched when asked. A failure closes the backend and rejects (rule 12).\n */\nexport async function openStore(backend: Backend, context: Context, options: StoreOptions = {}): Promise<Store> {\n\tconst { db } = backend;\n\ttry {\n\t\tcontext.abortSignal?.throwIfAborted();\n\t\tconst meta = await switchOutbox(db, await applyStoreSchema(db), options.outbox);\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 open's own failure is the one to report.\n\t\t}\n\t\tthrow error;\n\t}\n}\n\n/** Turns the outbox on (from the current `lastSeq`) or off (its commits dropped) when `outbox` asks for the other. */\nasync function switchOutbox(db: SqliteDatabase, meta: MetaRow, outbox: boolean | undefined): Promise<MetaRow> {\n\tif (outbox === undefined || outbox === (meta.outbox === 1)) return meta;\n\tconst floor = outbox ? meta.last_seq : 0;\n\tawait db.transaction(async (executor) => {\n\t\tawait executor.run(\n\t\t\t`UPDATE ${TABLES.meta} SET outbox = ?, outbox_floor = ? WHERE singleton = 1`,\n\t\t\toutbox ? 1 : 0,\n\t\t\tfloor,\n\t\t);\n\t\tif (!outbox) await executor.run(`DELETE FROM ${TABLES.outbox}`);\n\t});\n\treturn { ...meta, outbox: outbox ? 1 : 0, outbox_floor: floor };\n}\n\n/** The seal fence's two checks of a commit (§1.3), as the commit step calls them. */\nexport type CommitFence = {\n\t/** At the step's entry: `false` rejects the commit `released` and writes nothing. */\n\tadmit(): boolean;\n\t/** After `COMMIT`: adopts the commit, `ids` being its created documents' ids in the order of their writes. */\n\tadopt(seq: number, ids: readonly number[]): void;\n};\n\n/**\n * One commit of a series (`ChordStore.commitSeries`): its own checks, which write nothing, and its writes. The checks\n * read through the commit's step, which sees what the series' earlier commits wrote.\n */\nexport type SeriesCommit = {\n\t/** Throws to refuse the commit: the series stops before it, the commits before it stand. */\n\tcheck(step: Step): Promise<void>;\n\treadonly writes: readonly StagedWrite[];\n};\n\n/** What a series stored: how many of its commits, and why the next one was refused, if one was. */\nexport type SeriesResult = { readonly stored: number; readonly refused?: unknown };\n\n/**\n * A series as its transaction leaves it: each stored commit's seq and created documents; once a commit wrote, the last\n * seq, the allocator's value after it and the table records the series changed; the commits that wrote and the\n * statements run.\n */\ntype Series = {\n\treadonly stored: readonly { readonly seq: number; readonly created: readonly number[] }[];\n\treadonly last:\n\t\t| { readonly seq: number; readonly nextId: number; readonly tables: ReadonlyMap<string, TableRecord> }\n\t\t| undefined;\n\treadonly written: number;\n\treadonly statements: number;\n};\n\n/**\n * A series while its transaction runs: each stored commit's seq and created documents, its last step that wrote, the\n * allocator's value after it, the table records it changed (a copy of the catalog, made once one changed) and the\n * statements run.\n */\ntype SeriesProgress = {\n\treadonly stored: { readonly seq: number; readonly created: readonly number[] }[];\n\tlast: Step | undefined;\n\tnextId: number;\n\tchanged: Map<string, TableRecord> | undefined;\n\tstatements: number;\n};\n\n/** What the open host gives the store: its `storage_failed` listener and its batch, in which adapters publish (§1.3). */\nexport type Attachment = {\n\treadonly failed: (error: unknown) => void;\n\treadonly batch: Batch;\n};\n\n/** Where a replayed batch leaves the store: its last commit's seq and allocator value, the tables it changed. */\nexport type Replayed = {\n\treadonly lastSeq: number;\n\treadonly nextId: number;\n\treadonly tables: ReadonlyMap<string, TableRecord>;\n};\n\n/** Where a store stands: open, stopped by a backend error, or closed. */\ntype StoreState =\n\t| { readonly kind: \"open\" }\n\t| { readonly kind: \"failed\"; readonly error: unknown }\n\t| { readonly kind: \"closed\" };\n\nconst ORDER: readonly WriteOrder[] = [\"retire\", \"create\", \"write\"];\n\nconst NOTHING = (): void => {};\n\n/** The step's own error, until its callback throws one: a distinct value no thrown error can be. */\nconst NONE: unique symbol = Symbol(\"none\");\n\n/** The store behind `Store`, with what Chord's layers use: commits, guarded reads, the host's failure listener. */\nexport class ChordStore implements Store {\n\treadonly #db: SqliteDatabase;\n\t#lastSeq: number;\n\t/** The allocator's value as the last commit persisted it (an export's manifest). */\n\t#committedNextId: number;\n\treadonly #ids: IdAllocator;\n\t/** The claims of its tables and documents (slice 6b). */\n\treadonly claims = new Claims();\n\t#outbox: Outbox | undefined;\n\t#state: StoreState = { kind: \"open\" };\n\t/** Set once a batch's recorded count did not reproduce (S17): no batch applies any more. */\n\t#diverged = false;\n\t/** The commit queue's tail: each step starts after the one before it settled. */\n\t#tail: Promise<void> = Promise.resolve();\n\t/** Reads and maintenance writes underway, which `close` waits for. */\n\t#underway = 0;\n\t/** Resolves `close`'s wait once no read is underway. */\n\t#drained: (() => void) | undefined;\n\t/** The open host's listener for `storage_failed` (told once) and batch; one host per store (rule 7). */\n\t#attachment: Attachment | undefined;\n\t#closing: Promise<void> | undefined;\n\t/** The versions migrations of tables announced (`announceTable`), by SQL name, until their last commit. */\n\treadonly #announced = new Map<string, number>();\n\t/** The recorded tables, by SQL name; changed only after a step's `COMMIT`. */\n\treadonly #catalog: Map<string, TableRecord>;\n\t/** The ends of the exports holding the queue or waiting for it, which closing the store calls. */\n\treadonly #held = new Set<() => void>();\n\n\tconstructor(db: SqliteDatabase, meta: MetaRow, catalog: Map<string, TableRecord>) {\n\t\tthis.#db = db;\n\t\tthis.#catalog = catalog;\n\t\tthis.#lastSeq = meta.last_seq;\n\t\tthis.#committedNextId = meta.next_id;\n\t\tthis.#ids = new IdAllocator(meta.next_id);\n\t\tthis.#outbox = meta.outbox === 1 ? new Outbox(this, meta.outbox_floor) : undefined;\n\t}\n\n\tget lastSeq(): number {\n\t\treturn this.#lastSeq;\n\t}\n\n\tget outbox(): Outbox | undefined {\n\t\treturn this.#outbox;\n\t}\n\n\t/** The allocator's value as the last commit persisted it. */\n\tget nextId(): number {\n\t\treturn this.#committedNextId;\n\t}\n\n\t/** The id allocator: `mint` takes the next id, `raise` makes room above an explicit one (D3). */\n\tget ids(): IdAllocator {\n\t\treturn this.#ids;\n\t}\n\n\t/** Takes the next id from the allocator (Durable's `mintId`); refused once the store stopped or closed. */\n\tmintId(): number {\n\t\tthis.assertUsable();\n\t\treturn this.#ids.mint();\n\t}\n\n\t/** The open host's batch, in which an adapter publishes its commits; `undefined` without a host. */\n\tget batch(): Batch | undefined {\n\t\treturn this.#attachment?.batch;\n\t}\n\n\t/** Every recorded table, by SQL name, as of the last commit. */\n\tget tables(): ReadonlyMap<string, TableRecord> {\n\t\treturn this.#catalog;\n\t}\n\n\texport(context: Context): AsyncIterableIterator<ArchivePart> {\n\t\tthis.assertUsable();\n\t\treturn new StoreExport(this, context);\n\t}\n\n\t/**\n\t * Takes the commit queue (an export): resolves once every earlier commit settled, with the release that lets the\n\t * later ones run (idempotent). Closing the store calls `end` (from the call on, also while waiting, and at once for a\n\t * store closed before the call took the queue), which must release.\n\t */\n\ttake(end: () => void): Promise<() => void> {\n\t\tconst held = Promise.withResolvers<void>();\n\t\tconst release = (): void => {\n\t\t\tthis.#held.delete(end);\n\t\t\theld.resolve();\n\t\t};\n\t\tthis.#held.add(end);\n\t\tconst taken = this.#tail.then(() => {\n\t\t\t// A store closed meanwhile (also before the export's first `next()`) holds nothing: the export ends.\n\t\t\tif (this.#state.kind === \"closed\") {\n\t\t\t\trelease();\n\t\t\t\tend();\n\t\t\t}\n\t\t\treturn release;\n\t\t});\n\t\tthis.#tail = taken.then(() => held.promise);\n\t\treturn taken;\n\t}\n\n\t/** The recorded table `name` (its SQL name), as of the last commit. */\n\ttable(name: string): TableRecord | undefined {\n\t\treturn this.#catalog.get(name);\n\t}\n\n\t/**\n\t * The version table `name` is at or is being migrated to: the recorded one, or a higher one a migration announced\n\t * before its first commit (`announceTable`), so an old handle is refused before its SQL could queue behind the\n\t * migration's DDL (fix round 1, Sol 8).\n\t */\n\ttableVersion(name: string): number | undefined {\n\t\tconst recorded = this.#catalog.get(name)?.version;\n\t\tconst announced = this.#announced.get(name);\n\t\treturn announced === undefined || (recorded !== undefined && recorded >= announced) ? recorded : announced;\n\t}\n\n\t/** Announces a migration of table `name` to `version` until the returned withdrawal (after its last commit). */\n\tannounceTable(name: string, version: number): () => void {\n\t\tthis.#announced.set(name, version);\n\t\treturn () => {\n\t\t\tif (this.#announced.get(name) === version) this.#announced.delete(name);\n\t\t};\n\t}\n\n\t/** Attaches the open host; a store attached to an open host is refused (rule 7). */\n\tattach(attachment: Attachment): void {\n\t\tif (this.#attachment !== undefined) {\n\t\t\tthrow new ChordError({ code: \"invalid\", reason: \"args\", message: \"store: already attached to an open host\" });\n\t\t}\n\t\tthis.#attachment = attachment;\n\t}\n\n\t/** The host closed: the store may serve another one. */\n\tdetach(): void {\n\t\tthis.#attachment = undefined;\n\t}\n\n\t/**\n\t * Commits `writes` as one seq when the commit queue reaches it: `fence.admit()` at the step's entry, the writes in\n\t * their order (retirements, creations, the rest), the outbox commit, `lastSeq` and the allocator's value, `COMMIT`,\n\t * then `fence.adopt` before the next step starts. Resolves with the seq. A refused admission rejects `released`. A\n\t * step the backend rolled back after the step's own code threw (a refusal, D4) rejects with that error unchanged and\n\t * the store goes on; any other failure (`BEGIN`, `COMMIT`, `ROLLBACK`, a throwing `adopt`) is an unknown outcome\n\t * that stops the store (`storage_failed`). `context` counts the step (no abort once queued).\n\t */\n\tcommit(writes: readonly StagedWrite[], fence: CommitFence, context: Context): Promise<number> {\n\t\ttry {\n\t\t\tthis.assertUsable();\n\t\t} catch (error) {\n\t\t\treturn Promise.reject(error);\n\t\t}\n\t\tconst step = this.#tail.then(() => this.#step(writes, fence, context));\n\t\tthis.#tail = step.then(NOTHING, NOTHING);\n\t\treturn step;\n\t}\n\n\t/**\n\t * Commits `commits` in one backend transaction when the commit queue reaches them, one seq each, in order: each\n\t * commit's `check`, which writes nothing, then its writes as `commit` writes them, with its own outbox commit and the\n\t * metadata (a commit without writes takes no seq: it stands at the one before). A `check` that throws refuses its\n\t * commit: the series stops there and the transaction commits the ones before it. A check whose backend statement\n\t * failed, and a throw of a commit's writes, roll the whole series back and reject with that error, the store going\n\t * on (D4); any other failure is an unknown outcome that stops the store, as for `commit`. After `COMMIT`,\n\t * `receive(index, seq, ids)` is called per stored commit, in order, before the next step starts (`ids`: its created\n\t * documents). Resolves with what it stored.\n\t */\n\tcommitSeries(\n\t\tcommits: readonly SeriesCommit[],\n\t\treceive: (index: number, seq: number, ids: readonly number[]) => void,\n\t\tcontext: Context,\n\t): Promise<SeriesResult> {\n\t\ttry {\n\t\t\tthis.assertUsable();\n\t\t} catch (error) {\n\t\t\treturn Promise.reject(error);\n\t\t}\n\t\tconst series = this.#tail.then(() => this.#series(commits, receive, context));\n\t\tthis.#tail = series.then(NOTHING, NOTHING);\n\t\treturn series;\n\t}\n\n\t/**\n\t * Runs `read` on the backend under the guard (rule 11, Durable's `GuardedStorage`): refused once the store stopped\n\t * or closed; a backend error fails the store unless `context` was aborted (then `aborted`); a read settling after\n\t * the store stopped rejects `unavailable/storage_failed`. `read` returns data and never throws for a request: an\n\t * adapter checks a request from what it returned, after the guard (slice 6b §1.4).\n\t */\n\tread<T>(read: (executor: SqliteExecutor) => Promise<T>, context: Context): Promise<T> {\n\t\treturn this.#guarded(() => read(this.#db), context);\n\t}\n\n\t/**\n\t * `read` for several queries that must see one state (S4, a document from its record and revisions): one backend\n\t * transaction, guarded as `read`.\n\t */\n\treadTransaction<T>(read: (executor: SqliteExecutor) => Promise<T>, context: Context): Promise<T> {\n\t\treturn this.#guarded(() => this.#db.transaction(read), context);\n\t}\n\n\tasync #guarded<T>(run: () => Promise<T>, context: Context): Promise<T> {\n\t\tthis.assertUsable();\n\t\tthis.#underway++;\n\t\tlet result: T;\n\t\ttry {\n\t\t\t// A read throwing before its first await is the backend's too: inside the `try`.\n\t\t\tresult = await run();\n\t\t} catch (error) {\n\t\t\tthis.assertUsable();\n\t\t\tconst signal = context.abortSignal;\n\t\t\tif (signal?.aborted)\n\t\t\t\tthrow new ChordError({ code: \"aborted\", message: \"store: read aborted\" }, { cause: signal.reason });\n\t\t\tthrow this.#fail(error);\n\t\t} finally {\n\t\t\tthis.#settle();\n\t\t}\n\t\tthis.assertUsable();\n\t\treturn result;\n\t}\n\n\t/** One read or maintenance write settled: `close` goes on once none is underway. */\n\t#settle(): void {\n\t\tif (--this.#underway === 0) this.#drained?.();\n\t}\n\n\t/**\n\t * Runs `write` on the backend outside the commit queue (the outbox's `trim`), in a backend transaction, guarded as\n\t * a read without a context: any error stops the store.\n\t */\n\tasync maintain(write: (executor: SqliteExecutor) => Promise<void>): Promise<void> {\n\t\tthis.assertUsable();\n\t\tthis.#underway++;\n\t\ttry {\n\t\t\tawait this.#db.transaction(write);\n\t\t} catch (error) {\n\t\t\tthis.assertUsable();\n\t\t\tthrow this.#fail(error);\n\t\t} finally {\n\t\t\tthis.#settle();\n\t\t}\n\t}\n\n\tclose(context: Context): Promise<void> {\n\t\tthis.#closing ??= this.#close();\n\t\treturn awaitWithContext(this.#closing, context);\n\t}\n\n\tasync #close(): Promise<void> {\n\t\tthis.#state = { kind: \"closed\" };\n\t\tfor (const end of [...this.#held]) end();\n\t\tawait this.#tail;\n\t\tif (this.#underway > 0) {\n\t\t\tawait new Promise<void>((resolve) => {\n\t\t\t\tthis.#drained = resolve;\n\t\t\t});\n\t\t}\n\t\tawait this.#db.close();\n\t}\n\n\tasync #step(writes: readonly StagedWrite[], fence: CommitFence, context: Context): Promise<number> {\n\t\tthis.assertUsable();\n\t\tif (!fence.admit()) {\n\t\t\tthrow new ChordError({ code: \"released\", reason: \"discarded\", message: \"store: the commit's attempt ended\" });\n\t\t}\n\t\tif (writes.length === 0) {\n\t\t\t// An empty commit takes no seq; a throwing `adopt` stops the store as for any commit.\n\t\t\ttry {\n\t\t\t\tfence.adopt(this.#lastSeq, []);\n\t\t\t} catch (error) {\n\t\t\t\tthrow this.#fail(error);\n\t\t\t}\n\t\t\treturn this.#lastSeq;\n\t\t}\n\t\tconst seq = this.#lastSeq + 1;\n\t\t// Past the safe range seqs stop counting exactly (a later one would repeat): the store cannot number further.\n\t\tif (seq > Number.MAX_SAFE_INTEGER) throw this.#fail(new Error(\"store: no seq past Number.MAX_SAFE_INTEGER\"));\n\t\tlet thrown: unknown = NONE;\n\t\tlet done: { readonly step: Step; readonly nextId: number };\n\t\ttry {\n\t\t\tdone = await this.#db.transaction(async (executor) => {\n\t\t\t\ttry {\n\t\t\t\t\tconst step = new Step(executor, seq, this.#ids, this.#catalog);\n\t\t\t\t\tconst nextId = await this.#write(step, writes);\n\t\t\t\t\tawait writeMeta(step, nextId);\n\t\t\t\t\treturn { step, nextId };\n\t\t\t\t} catch (error) {\n\t\t\t\t\tthrown = error;\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t});\n\t\t} catch (error) {\n\t\t\t// The facade rolled back and rejects with the step's own error: a refusal, the store goes on (D4).\n\t\t\tif (error === thrown) throw error;\n\t\t\tthrow this.#fail(error);\n\t\t}\n\t\t// `COMMIT` returned: the commit is durable, and memory follows.\n\t\tconst { step, nextId } = done;\n\t\tthis.#lastSeq = seq;\n\t\tthis.#committedNextId = nextId;\n\t\tfor (const [name, record] of step.tables) this.#catalog.set(name, record);\n\t\tconst metrics = context.telemetry.metrics;\n\t\tmetrics?.counter(\"chord.store.commits\").add(1);\n\t\tmetrics?.counter(\"chord.store.statements\").add(step.statements);\n\t\ttry {\n\t\t\tfence.adopt(seq, step.created);\n\t\t} catch (error) {\n\t\t\tthrow this.#fail(error);\n\t\t}\n\t\treturn seq;\n\t}\n\n\t/**\n\t * A series inside one backend transaction: per commit a step at the next seq, its check (a throw refuses it, unless\n\t * one of its statements failed), then its writes; then, after `COMMIT`, memory and the receipts as after `#step`.\n\t */\n\tasync #series(\n\t\tcommits: readonly SeriesCommit[],\n\t\treceive: (index: number, seq: number, ids: readonly number[]) => void,\n\t\tcontext: Context,\n\t): Promise<SeriesResult> {\n\t\tthis.assertUsable();\n\t\t// Past the safe range seqs stop counting exactly (a later one would repeat): the store cannot number further. Only\n\t\t// a commit with writes takes a seq, as for `commit`.\n\t\tlet seqs = 0;\n\t\tfor (const commit of commits) if (commit.writes.length > 0) seqs++;\n\t\tif (this.#lastSeq + seqs > Number.MAX_SAFE_INTEGER) {\n\t\t\tthrow this.#fail(new Error(\"store: no seq past Number.MAX_SAFE_INTEGER\"));\n\t\t}\n\t\tlet thrown: unknown = NONE;\n\t\tlet refused: { readonly error: unknown } | undefined;\n\t\tlet done: Series;\n\t\ttry {\n\t\t\tdone = await this.#db.transaction(async (executor) => {\n\t\t\t\ttry {\n\t\t\t\t\treturn await this.#writeSeries(executor, commits, (error) => {\n\t\t\t\t\t\trefused = { error };\n\t\t\t\t\t});\n\t\t\t\t} catch (error) {\n\t\t\t\t\tthrown = error;\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t});\n\t\t} catch (error) {\n\t\t\t// The facade rolled back and rejects with the series' own error: the store goes on (D4).\n\t\t\tif (error === thrown) throw error;\n\t\t\tthrow this.#fail(error);\n\t\t}\n\t\t// `COMMIT` returned: the stored commits are durable, and memory follows.\n\t\tconst { stored, last, written, statements } = done;\n\t\tif (last !== undefined) {\n\t\t\tthis.#lastSeq = last.seq;\n\t\t\tthis.#committedNextId = last.nextId;\n\t\t\tfor (const [name, record] of last.tables) this.#catalog.set(name, record);\n\t\t}\n\t\tconst metrics = context.telemetry.metrics;\n\t\tmetrics?.counter(\"chord.store.commits\").add(written);\n\t\tmetrics?.counter(\"chord.store.statements\").add(statements);\n\t\ttry {\n\t\t\tfor (const [index, { seq, created }] of stored.entries()) receive(index, seq, created);\n\t\t} catch (error) {\n\t\t\tthrow this.#fail(error);\n\t\t}\n\t\treturn refused === undefined ? { stored: stored.length } : { stored: stored.length, refused: refused.error };\n\t}\n\n\t/**\n\t * The commits of a series in its backend transaction, until one is refused (`refuse`): each commit's check, then its\n\t * writes; the metadata once, at the end.\n\t */\n\tasync #writeSeries(\n\t\texecutor: SqliteExecutor,\n\t\tcommits: readonly SeriesCommit[],\n\t\trefuse: (error: unknown) => void,\n\t): Promise<Series> {\n\t\tconst calls = { failed: false };\n\t\tconst watched = watchCalls(executor, calls);\n\t\tconst progress: SeriesProgress = {\n\t\t\tstored: [],\n\t\t\tlast: undefined,\n\t\t\tnextId: this.#ids.value,\n\t\t\tchanged: undefined,\n\t\t\tstatements: 0,\n\t\t};\n\t\tfor (const commit of commits) {\n\t\t\tconst refusal = await this.#checkCommit(commit, watched, calls, progress);\n\t\t\tif (refusal !== undefined) {\n\t\t\t\trefuse(refusal.error);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tawait this.#writeCommit(commit, executor, progress);\n\t\t}\n\t\treturn this.#closeSeries(progress);\n\t}\n\n\t/**\n\t * Runs `commit`'s check on a step at the series' next seq whose backend calls are watched; resolves with its refusal,\n\t * if it refused. A check one of whose backend calls failed throws instead: a failure, not a refusal.\n\t */\n\tasync #checkCommit(\n\t\tcommit: SeriesCommit,\n\t\twatched: SqliteExecutor,\n\t\tcalls: { failed: boolean },\n\t\tprogress: SeriesProgress,\n\t): Promise<{ readonly error: unknown } | undefined> {\n\t\tconst step = new Step(watched, this.#nextSeq(progress), this.#ids, progress.changed ?? this.#catalog);\n\t\tcalls.failed = false;\n\t\ttry {\n\t\t\tawait commit.check(step);\n\t\t\treturn undefined;\n\t\t} catch (error) {\n\t\t\tif (calls.failed) throw error;\n\t\t\treturn { error };\n\t\t} finally {\n\t\t\tprogress.statements += step.statements;\n\t\t}\n\t}\n\n\t/**\n\t * Writes `commit` on its own step at the series' next seq (`#write`), unwatched, and keeps the table records it\n\t * changed in a copy of the catalog, made only once one changed; a commit without writes takes no seq.\n\t */\n\tasync #writeCommit(commit: SeriesCommit, executor: SqliteExecutor, progress: SeriesProgress): Promise<void> {\n\t\tconst seq = this.#nextSeq(progress);\n\t\tif (commit.writes.length === 0) {\n\t\t\tprogress.stored.push({ seq: seq - 1, created: [] });\n\t\t\treturn;\n\t\t}\n\t\tconst step = new Step(executor, seq, this.#ids, progress.changed ?? this.#catalog);\n\t\tprogress.nextId = await this.#write(step, commit.writes);\n\t\tprogress.statements += step.statements;\n\t\tif (step.tables.size > 0) {\n\t\t\tprogress.changed ??= new Map(this.#catalog);\n\t\t\tfor (const [name, record] of step.tables) progress.changed.set(name, record);\n\t\t}\n\t\tprogress.last = step;\n\t\tprogress.stored.push({ seq, created: step.created });\n\t}\n\n\t/** The seq the series' next commit takes. */\n\t#nextSeq(progress: SeriesProgress): number {\n\t\treturn (progress.last?.seq ?? this.#lastSeq) + 1;\n\t}\n\n\t/** Ends the series' writes with the metadata, once, after its last commit that wrote; returns what memory takes. */\n\tasync #closeSeries(progress: SeriesProgress): Promise<Series> {\n\t\tconst { stored, last, nextId, changed, statements } = progress;\n\t\tif (last === undefined) return { stored, last: undefined, written: 0, statements };\n\t\tawait writeMeta(last, nextId);\n\t\treturn {\n\t\t\tstored,\n\t\t\tlast: { seq: last.seq, nextId, tables: changed ?? new Map() },\n\t\t\twritten: last.seq - this.#lastSeq,\n\t\t\tstatements: statements + 1,\n\t\t};\n\t}\n\n\t/**\n\t * The step's writes inside its backend transaction: each staged write in its phase, the catalog, the outbox commit.\n\t * Returns the allocator's value, taken once, after the writes applied (mints meanwhile only raise it); the metadata\n\t * (`writeMeta`) is the caller's.\n\t */\n\tasync #write(step: Step, writes: readonly StagedWrite[]): Promise<number> {\n\t\tconst seq = step.seq;\n\t\tconst recorded: StoreWrite[] | undefined = this.#outbox !== undefined ? [] : undefined;\n\t\tfor (const order of ORDER) {\n\t\t\tfor (const write of writes) {\n\t\t\t\tif (write.order !== order) continue;\n\t\t\t\tconst done = await write.apply(step);\n\t\t\t\trecorded?.push(...done);\n\t\t\t}\n\t\t}\n\t\tawait writeCatalog(step);\n\t\tconst nextId = this.#ids.value;\n\t\tif (recorded !== undefined) {\n\t\t\tawait step.run(\n\t\t\t\t`INSERT INTO ${TABLES.outbox} (seq, format, next_id, writes) VALUES (?, ?, ?, ?)`,\n\t\t\t\tseq,\n\t\t\t\tOUTBOX_FORMAT,\n\t\t\t\tnextId,\n\t\t\t\tJSON.stringify(recorded),\n\t\t\t);\n\t\t}\n\t\treturn nextId;\n\t}\n\n\t/**\n\t * Batch apply's turn (slice 6b §1.6, S5): refused (`invalid/args`) while an owner holds a claim (its memory would\n\t * go stale) and once the store diverged; otherwise `apply` runs in the commit queue, in one backend transaction, and\n\t * returns the position its last commit leaves (`lastSeq`, the allocator's value) and the tables it changed, which\n\t * memory takes after `COMMIT`. `apply`'s own error rolls back and rejects as a refusal (a `Diverged` one marks the\n\t * store diverged); any other failure stops the store.\n\t */\n\treplay(\n\t\tapply: (executor: SqliteExecutor, catalog: ReadonlyMap<string, TableRecord>) => Promise<Replayed>,\n\t\tisDivergence: (error: unknown) => boolean,\n\t): Promise<void> {\n\t\ttry {\n\t\t\tthis.#assertReplayable();\n\t\t} catch (error) {\n\t\t\treturn Promise.reject(error);\n\t\t}\n\t\tconst turn = this.#tail.then(() => this.#replay(apply, isDivergence));\n\t\tthis.#tail = turn.then(NOTHING, NOTHING);\n\t\treturn turn;\n\t}\n\n\t/** At its call and again at its turn: a claim or a divergence may come between the two. */\n\t#assertReplayable(): void {\n\t\tthis.assertUsable();\n\t\tif (this.#diverged) throw invalid(\"args\", \"store: diverged; a batch can no longer apply\");\n\t\tif (this.claims.held) throw invalid(\"args\", \"store: an owner holds claims; a batch would stale its memory\");\n\t}\n\n\tasync #replay(\n\t\tapply: (executor: SqliteExecutor, catalog: ReadonlyMap<string, TableRecord>) => Promise<Replayed>,\n\t\tisDivergence: (error: unknown) => boolean,\n\t): Promise<void> {\n\t\tthis.#assertReplayable();\n\t\t// While it applies, no owner may claim (and read) what it is changing.\n\t\tconst unlock = this.claims.lock();\n\t\ttry {\n\t\t\tawait this.#applyReplay(apply, isDivergence);\n\t\t} finally {\n\t\t\tunlock();\n\t\t}\n\t}\n\n\tasync #applyReplay(\n\t\tapply: (executor: SqliteExecutor, catalog: ReadonlyMap<string, TableRecord>) => Promise<Replayed>,\n\t\tisDivergence: (error: unknown) => boolean,\n\t): Promise<void> {\n\t\tlet thrown: unknown = NONE;\n\t\tlet replayed: Replayed;\n\t\ttry {\n\t\t\treplayed = await this.#db.transaction(async (executor) => {\n\t\t\t\ttry {\n\t\t\t\t\treturn await apply(executor, this.#catalog);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tthrown = error;\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t});\n\t\t} catch (error) {\n\t\t\tif (error !== thrown) throw this.#fail(error);\n\t\t\tif (isDivergence(error)) this.#diverged = true;\n\t\t\tthrow error;\n\t\t}\n\t\tthis.#lastSeq = replayed.lastSeq;\n\t\tthis.#committedNextId = replayed.nextId;\n\t\tthis.#ids.raise(replayed.nextId - 1);\n\t\tfor (const [name, record] of replayed.tables) this.#catalog.set(name, record);\n\t}\n\n\t/** Whether the store has an outbox, which a replayed batch writes too. */\n\tget recordsOutbox(): boolean {\n\t\treturn this.#outbox !== undefined;\n\t}\n\n\t/** Throws `unavailable/storage_failed` once the store stopped, `released` once it closed. */\n\tassertUsable(): void {\n\t\tconst state = this.#state;\n\t\tif (state.kind === \"failed\") throw storageFailed(state.error);\n\t\tif (state.kind === \"closed\")\n\t\t\tthrow new ChordError({ code: \"released\", reason: \"closed\", message: \"store: closed\" });\n\t}\n\n\t/** Stops the store after `error` (once; its host is told once); returns the error the caller rejects with. */\n\t#fail(error: unknown): ChordError {\n\t\tif (this.#state.kind === \"open\") {\n\t\t\tthis.#state = { kind: \"failed\", error };\n\t\t\tthis.#attachment?.failed(error);\n\t\t}\n\t\treturn storageFailed(error);\n\t}\n}\n\n/** Records `seq`, the step's, as the store's last, and the allocator's value `nextId`. */\nfunction writeMeta(step: Step, nextId: number): Promise<void> {\n\treturn step.run(`UPDATE ${TABLES.meta} SET last_seq = ?, next_id = ? WHERE singleton = 1`, step.seq, nextId);\n}\n\n/**\n * `executor`, setting `calls.failed` when one of its calls throws, synchronously or by rejecting, with any value: a\n * check that throws then failed in the backend, not by its own decision.\n */\nfunction watchCalls(executor: SqliteExecutor, calls: { failed: boolean }): SqliteExecutor {\n\tconst watched = async <T>(call: () => Promise<T>): Promise<T> => {\n\t\ttry {\n\t\t\treturn await call();\n\t\t} catch (error) {\n\t\t\tcalls.failed = true;\n\t\t\tthrow error;\n\t\t}\n\t};\n\treturn {\n\t\texec: (sql) => watched(() => executor.exec(sql)),\n\t\trun: (sql, ...params) => watched(() => executor.run(sql, ...params)),\n\t\trunCounted: (sql, ...params) => watched(() => executor.runCounted(sql, ...params)),\n\t\tget: (sql, ...params) => watched(() => executor.get(sql, ...params)),\n\t\tall: (sql, ...params) => watched(() => executor.all(sql, ...params)),\n\t};\n}\n\n/** The `unavailable/storage_failed` error of a stopped store, its backend error as the cause. */\nfunction storageFailed(error: unknown): ChordError {\n\treturn new ChordError(\n\t\t{ code: \"unavailable\", reason: \"storage_failed\", message: \"store: storage failed\" },\n\t\t{ cause: error },\n\t);\n}\n"]}
@@ -1,29 +0,0 @@
1
- import type { Context } from "../../context/index.ts";
2
- import { type EvaluatedRow } from "./evaluate.ts";
3
- import type { StagedWrite } from "./step.ts";
4
- import type { TableHandle } from "./table-handle.ts";
5
- /**
6
- * The writes of one transaction to one table: each appended to the transaction's staged list (`staged`, one order
7
- * across tables) and, for the single-key ones, to its key's overlay.
8
- */
9
- export declare class TableChanges {
10
- #private;
11
- readonly handle: TableHandle;
12
- constructor(handle: TableHandle, staged: StagedWrite[]);
13
- /** Stages a `put` of `row` (an upsert). */
14
- put(row: unknown): void;
15
- /** Stages an `update` of the row with `key` (`set`: values, or a callback of column references). */
16
- update(key: unknown, set: unknown): void;
17
- /** Stages a `delete` of the row with `key`. */
18
- delete(key: unknown): void;
19
- /** Stages an `updateWhere`: every row matching `where` gets `set`. */
20
- updateWhere(where: unknown, set: unknown): void;
21
- /** Stages a `deleteWhere`: every row matching `where` goes. */
22
- deleteWhere(where: unknown): void;
23
- /**
24
- * The row with `key` as this transaction leaves it: the committed row with this transaction's `put`, `update` and
25
- * `delete` of the key replayed; refused after a bulk write (W10).
26
- */
27
- get(key: unknown, context: Context): Promise<EvaluatedRow | undefined>;
28
- }
29
- //# sourceMappingURL=table-changes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"table-changes.d.ts","sourceRoot":"","sources":["../../../src/next/store/table-changes.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAE5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAiBrD;;;GAGG;AACH,qBAAa,YAAY;;IACxB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAM7B,YAAY,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,EAGrD;IAED,2CAA2C;IAC3C,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAKtB;IAED,oGAAoG;IACpG,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,CAevC;IAED,+CAA+C;IAC/C,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAKzB;IAED,sEAAsE;IACtE,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,CAc9C;IAED,+DAA+D;IAC/D,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAShC;IAED;;;OAGG;IACG,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAyB3E;CAYD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"table-changes.js","sourceRoot":"","sources":["../../../src/next/store/table-changes.ts"],"names":[],"mappings":"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","sourcesContent":["// A transaction's writes to one table (slice 6a §6, §7; W10): checked and staged synchronously like a draft's ops (no\n// I/O, a bad row throws at its own call), kept in staging order for the commit step, and overlaid on committed rows\n// for `tx.get` until a bulk write makes that impossible (`invalid/read_after_bulk`).\n\nimport type { Context } from \"../../context/index.ts\";\nimport { invalid } from \"../data/internal.ts\";\nimport { applySet, type EvaluatedRow } from \"./evaluate.ts\";\nimport { compileSet, compileWhere, type SetNode } from \"./expression.ts\";\nimport type { StagedWrite } from \"./step.ts\";\nimport type { TableHandle } from \"./table-handle.ts\";\nimport {\n\tjsonVersions,\n\trecordedVersions,\n\tstageDelete,\n\tstageDeleteWhere,\n\tstagePut,\n\tstageUpdate,\n\tstageUpdateWhere,\n} from \"./table-writes.ts\";\n\n/** One staged write of one key, as the overlay replays it. */\ntype KeyWrite =\n\t| { readonly kind: \"put\"; readonly row: EvaluatedRow }\n\t| { readonly kind: \"update\"; readonly set: SetNode }\n\t| { readonly kind: \"delete\" };\n\n/**\n * The writes of one transaction to one table: each appended to the transaction's staged list (`staged`, one order\n * across tables) and, for the single-key ones, to its key's overlay.\n */\nexport class TableChanges {\n\treadonly handle: TableHandle;\n\treadonly #staged: StagedWrite[];\n\treadonly #byKey = new Map<string, KeyWrite[]>();\n\t/** An `updateWhere` or `deleteWhere` was staged: `get` is refused from then on (W10). */\n\t#bulk = false;\n\n\tconstructor(handle: TableHandle, staged: StagedWrite[]) {\n\t\tthis.handle = handle;\n\t\tthis.#staged = staged;\n\t}\n\n\t/** Stages a `put` of `row` (an upsert). */\n\tput(row: unknown): void {\n\t\tconst { definition, sql } = this.handle;\n\t\tconst encoded = definition.rows.put(row, definition.version);\n\t\tthis.#staged.push(stagePut(sql.put, sql.table, encoded, definition.version));\n\t\tthis.#write(encoded.id, { kind: \"put\", row: encoded.row });\n\t}\n\n\t/** Stages an `update` of the row with `key` (`set`: values, or a callback of column references). */\n\tupdate(key: unknown, set: unknown): void {\n\t\tconst { definition, sql } = this.handle;\n\t\tconst encoded = definition.rows.key(key, \"update\");\n\t\tconst compiled = this.#set(set, \"update\");\n\t\tconst versions = jsonVersions(this.handle.definition, compiled);\n\t\tthis.#staged.push(\n\t\t\tstageUpdate(\n\t\t\t\tsql.update(compiled, encoded.params, versions),\n\t\t\t\tsql.table,\n\t\t\t\tencoded.key,\n\t\t\t\tcompiled,\n\t\t\t\trecordedVersions(compiled, versions),\n\t\t\t),\n\t\t);\n\t\tthis.#write(encoded.id, { kind: \"update\", set: compiled });\n\t}\n\n\t/** Stages a `delete` of the row with `key`. */\n\tdelete(key: unknown): void {\n\t\tconst { definition, sql } = this.handle;\n\t\tconst encoded = definition.rows.key(key, \"delete\");\n\t\tthis.#staged.push(stageDelete({ sql: sql.delete, params: [...encoded.params] }, sql.table, encoded.key));\n\t\tthis.#write(encoded.id, { kind: \"delete\" });\n\t}\n\n\t/** Stages an `updateWhere`: every row matching `where` gets `set`. */\n\tupdateWhere(where: unknown, set: unknown): void {\n\t\tconst { definition, sql } = this.handle;\n\t\tconst condition = compileWhere(\n\t\t\tdefinition,\n\t\t\ttypeof where === \"function\" ? where(definition.refs) : where,\n\t\t\t\"updateWhere\",\n\t\t);\n\t\tconst compiled = this.#set(set, \"updateWhere\");\n\t\tconst versions = jsonVersions(this.handle.definition, compiled);\n\t\tconst statement = sql.updateWhere(condition, compiled, versions);\n\t\tthis.#staged.push(\n\t\t\tstageUpdateWhere(statement, sql.table, condition, compiled, recordedVersions(compiled, versions)),\n\t\t);\n\t\tthis.#bulk = true;\n\t}\n\n\t/** Stages a `deleteWhere`: every row matching `where` goes. */\n\tdeleteWhere(where: unknown): void {\n\t\tconst { definition, sql } = this.handle;\n\t\tconst condition = compileWhere(\n\t\t\tdefinition,\n\t\t\ttypeof where === \"function\" ? where(definition.refs) : where,\n\t\t\t\"deleteWhere\",\n\t\t);\n\t\tthis.#staged.push(stageDeleteWhere(sql.deleteWhere(condition), sql.table, condition));\n\t\tthis.#bulk = true;\n\t}\n\n\t/**\n\t * The row with `key` as this transaction leaves it: the committed row with this transaction's `put`, `update` and\n\t * `delete` of the key replayed; refused after a bulk write (W10).\n\t */\n\tasync get(key: unknown, context: Context): Promise<EvaluatedRow | undefined> {\n\t\tconst { definition } = this.handle;\n\t\tif (this.#bulk) {\n\t\t\tthrow invalid(\n\t\t\t\t\"read_after_bulk\",\n\t\t\t\t`${definition.name}: tx.get after an updateWhere or deleteWhere on the table`,\n\t\t\t);\n\t\t}\n\t\tconst encoded = definition.rows.key(key, \"get\");\n\t\tconst writes = this.#byKey.get(encoded.id) ?? [];\n\t\tlet start = writes.length;\n\t\twhile (start > 0 && writes[start - 1]!.kind === \"update\") start--;\n\t\tconst from = writes[start - 1];\n\t\t// A committed row is decoded by the table's columns: scalars and JSON, what the evaluator takes.\n\t\tlet row: EvaluatedRow | undefined =\n\t\t\tfrom === undefined\n\t\t\t\t? ((await this.handle.get(encoded.key, context)) as EvaluatedRow | undefined)\n\t\t\t\t: from.kind === \"put\"\n\t\t\t\t\t? from.row\n\t\t\t\t\t: undefined;\n\t\tfor (const write of writes.slice(start)) {\n\t\t\t// An `update` of an absent row changes nothing.\n\t\t\tif (row !== undefined && write.kind === \"update\") row = applySet(write.set, row, definition.name);\n\t\t}\n\t\treturn row;\n\t}\n\n\t#set(set: unknown, what: string): SetNode {\n\t\tconst { definition } = this.handle;\n\t\treturn compileSet(definition, typeof set === \"function\" ? set(definition.refs) : set, what);\n\t}\n\n\t#write(id: string, write: KeyWrite): void {\n\t\tconst writes = this.#byKey.get(id);\n\t\tif (writes === undefined) this.#byKey.set(id, [write]);\n\t\telse writes.push(write);\n\t}\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"table-evolve.d.ts","sourceRoot":"","sources":["../../../src/next/store/table-evolve.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"table-evolve.js","sourceRoot":"","sources":["../../../src/next/store/table-evolve.ts"],"names":[],"mappings":"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","sourcesContent":["// `evolveTable(previous, (t) => t…)` (slice 6a §9; decision \"Second spec review: the majority\"): the next version of a\n// table from the edits of one migration. The editor's types order the edits (`rename`, `add` and `json` before the\n// data step, `drop`, `index` and `dropIndex` after it) and track the columns and key through the chain; at runtime one\n// editor records the edits, checks each as it is made, and materializes the new version at the end.\n\nimport { opt } from \"../contracts/index.ts\";\nimport { editWith, type Increment } from \"../contracts/internal.ts\";\nimport { isOptional, type Optional } from \"../contracts/schema.ts\";\nimport {\n\ttype ColumnSchema,\n\ttype Columns,\n\ttype ColumnTypeOf,\n\tcheckColumnName,\n\tcolumnRecord,\n\tdescribeColumns,\n\ttype OrderColumn,\n\ttype RowOf,\n\ttype ValueOf,\n} from \"./columns.ts\";\nimport { type Condition, compileSet, compileWhere, type SetOf } from \"./expression.ts\";\nimport type { ColumnRefs } from \"./query.ts\";\nimport { INDEX_NAME, orderColumns, TableDefinition, type TableOptions } from \"./table.ts\";\nimport type { DataStep, TableEdit } from \"./table-history.ts\";\n\n/** The edits after the data step: `drop`, `index` and `dropIndex`; `C` and `K` are the columns and key so far. */\nexport interface TableTailEditor<C extends Columns, K extends readonly string[]> {\n\t/** Drops a non-key column; its indexes are dropped first, in the same commit. */\n\tdrop<N extends Exclude<keyof C & string, K[number]>>(name: N): TableTailEditor<Without<C, N>, K>;\n\t/** Adds an index (`[a-z0-9_]+`) over non-`opt` `str` or `int` columns; it ends with the key. */\n\tindex(name: string, columns: readonly OrderColumn<C>[]): TableTailEditor<C, K>;\n\t/** Drops an index. */\n\tdropIndex(name: string): TableTailEditor<C, K>;\n\t/** Type only: the columns and key so far. */\n\treadonly \"~columns\"?: C;\n\treadonly \"~key\"?: K;\n}\n\n/** The editor `evolveTable`'s edit gets: every edit; the column edits only before the data step. */\nexport interface TableEditor<C extends Columns, K extends readonly string[]> extends TableTailEditor<C, K> {\n\t/** Renames a column; the key, the indexes and a `json(...)` column's version column follow. */\n\trename<F extends keyof C & string, T extends string>(\n\t\tfrom: F,\n\t\tto: T,\n\t): TableEditor<Renamed<C, F, T>, RenamedKey<K, F, T>>;\n\t/** Adds a column: `opt(...)`, or a scalar one with a `default` (existing rows get it). */\n\tadd<N extends string, S extends AddedColumn>(name: N, column: S): TableEditor<With<C, N, S>, K>;\n\t/** A `json(...)` column's new version (its nullability kept): no DDL, no data step, cells migrate on access. */\n\tjson<N extends JsonNames<C>, S extends ColumnSchema>(name: N, column: S): TableEditor<WithJson<C, N, S>, K>;\n\t/**\n\t * The data step: `patch` gets each row as the columns stand here and returns new values of non-key columns (`{}`\n\t * stamps the row only); synchronous and pure, run in chunks of 100 in key order.\n\t */\n\trows(patch: (row: RowOf<C>) => PatchOf<C, K>): TableTailEditor<C, K>;\n\t/** The data step as one `updateWhere` over the rows not migrated yet. */\n\tupdate(step: {\n\t\treadonly where?: (row: ColumnRefs<C>) => Condition;\n\t\treadonly set: SetOf<C, K> | ((row: ColumnRefs<C>) => SetOf<C, K>);\n\t}): TableTailEditor<C, K>;\n}\n\n/** A column `add` takes: `opt(...)` or one with a `default`. */\nexport type AddedColumn = ColumnSchema & (Optional | { readonly default: unknown });\n\n/** A `rows` patch: new values of non-key columns; `undefined` clears an `opt(...)` one. */\nexport type PatchOf<C extends Columns, K extends readonly string[]> = {\n\treadonly [P in Exclude<keyof C & string, K[number]>]?: ValueOf<C[P]>;\n};\n\ntype Renamed<C extends Columns, F extends keyof C, T extends string> = {\n\treadonly [P in keyof C as P extends F ? T : P]: C[P];\n};\n\ntype RenamedKey<K extends readonly string[], F, T extends string> = {\n\treadonly [I in keyof K]: K[I] extends F ? T : K[I];\n};\n\ntype With<C extends Columns, N extends string, S extends ColumnSchema> = {\n\treadonly [P in keyof C | N]: P extends N ? S : C[P & keyof C];\n};\n\ntype Without<C extends Columns, N extends keyof C> = { readonly [P in Exclude<keyof C, N>]: C[P] };\n\ntype JsonNames<C extends Columns> = { [P in keyof C]: ColumnTypeOf<C[P]> extends \"json\" ? P : never }[keyof C] & string;\n\ntype WithJson<C extends Columns, N extends keyof C & string, S extends ColumnSchema> = With<\n\tC,\n\tN,\n\tC[N] extends Optional ? Optional<Exclude<S, Optional>> : S\n>;\n\n/** `V + 1` for a literal version (contracts' `Increment<N>`); `number` stays `number`. */\ntype Next<V extends number> = number extends V\n\t? number\n\t: `${Increment<`${V}`>}` extends `${infer N extends number}`\n\t\t? N\n\t\t: number;\n\n/**\n * Appends the next version (`previous.version + 1`) with the edits `edit` makes; `edit` must return the editor it was\n * given. Every version is materialized and fingerprinted here; the object serves the newest, and its activation\n * migrates a store at an older version through each one.\n */\nexport function evolveTable<\n\tC extends Columns,\n\tK extends readonly string[],\n\tV extends number,\n\tE extends { readonly \"~columns\"?: Columns; readonly \"~key\"?: readonly string[] },\n>(\n\tprevious: TableDefinition<C, K, V>,\n\tedit: (t: TableEditor<C, K>) => E,\n): TableDefinition<NonNullable<E[\"~columns\"]>, NonNullable<E[\"~key\"]>, Next<V>> {\n\t// The runtime editor works on untyped definitions; the types live in the editor interfaces.\n\tconst editor = new Editor(previous as unknown as TableDefinition);\n\t// The editor interfaces track the edits in the types; at runtime every edit returns the same editor.\n\teditWith(editor as unknown as TableEditor<C, K>, edit, `${previous.name}: evolveTable`);\n\treturn editor.finish() as unknown as TableDefinition<NonNullable<E[\"~columns\"]>, NonNullable<E[\"~key\"]>, Next<V>>;\n}\n\n/**\n * The editor at runtime: the columns, key and indexes as the edits leave them, the edits before and after the data\n * step, and the step. Each edit is checked as it is made (declaration policy: JavaScript callers reach the checks).\n */\nclass Editor {\n\treadonly #previous: TableDefinition;\n\treadonly #what: string;\n\t#schemas: { [name: string]: ColumnSchema };\n\t#key: string[];\n\treadonly #indexes: Map<string, readonly string[]>;\n\t/** `before` until the data step or the first `drop`, `index` or `dropIndex`. */\n\t#phase: \"before\" | \"after\" = \"before\";\n\treadonly #before: TableEdit[] = [];\n\t#step: DataStep | undefined;\n\treadonly #after: TableEdit[] = [];\n\n\tconstructor(previous: TableDefinition) {\n\t\tthis.#previous = previous;\n\t\tthis.#what = `${previous.name} version ${previous.version + 1}`;\n\t\tthis.#schemas = { ...previous.schemas };\n\t\tthis.#key = [...previous.key];\n\t\tthis.#indexes = new Map(previous.indexes);\n\t}\n\n\trename(from: string, to: string): this {\n\t\tthis.#assertBefore(\"rename\");\n\t\tthis.#assertColumn(from, \"rename\");\n\t\t// Checked here, not by the final definition: a later edit may rename it again, but this one runs as DDL.\n\t\tcheckColumnName(to, `${this.#what}: rename`);\n\t\tthis.#assertNewName(to, \"rename\", from);\n\t\tconst rename = (column: string): string => (column === from ? to : column);\n\t\tthis.#schemas = Object.fromEntries(Object.entries(this.#schemas).map(([name, schema]) => [rename(name), schema]));\n\t\tthis.#key = this.#key.map(rename);\n\t\tfor (const [name, columns] of this.#indexes) this.#indexes.set(name, columns.map(rename));\n\t\tthis.#before.push({ kind: \"rename\", from, to });\n\t\treturn this;\n\t}\n\n\tadd(name: string, column: ColumnSchema): this {\n\t\tthis.#assertBefore(\"add\");\n\t\tthis.#assertNewName(name, \"add\");\n\t\tconst [described] = describeColumns({ [name]: column }, `${this.#what}: add`);\n\t\tif (!described!.optional && (described!.type === \"json\" || described!.default === undefined)) {\n\t\t\tthrow new Error(`${this.#what}: add: column \"${name}\" needs opt(...) or a default (existing rows get it)`);\n\t\t}\n\t\tthis.#schemas[name] = column;\n\t\tthis.#before.push({ kind: \"add\", name, column: columnRecord(described!) });\n\t\treturn this;\n\t}\n\n\tjson(name: string, column: ColumnSchema): this {\n\t\tthis.#assertBefore(\"json\");\n\t\tconst existing = describeColumns({ [name]: this.#assertColumn(name, \"json\") }, this.#what)[0]!;\n\t\tif (existing.type !== \"json\") throw new Error(`${this.#what}: json: column \"${name}\" is not a json(...) column`);\n\t\tif (isOptional(column)) {\n\t\t\tthrow new Error(`${this.#what}: json: pass json(...) itself; the column keeps its nullability`);\n\t\t}\n\t\tconst schema = existing.optional ? opt(column) : column;\n\t\tconst described = describeColumns({ [name]: schema }, `${this.#what}: json`)[0]!;\n\t\tif (described.type !== \"json\") throw new Error(`${this.#what}: json: expected a json(...) column`);\n\t\tconst [before, after] = [existing.json, described.json];\n\t\t// D9 across table versions: a cell's version says which schema it was written with.\n\t\tif (after.version < before.version) {\n\t\t\tthrow new Error(`${this.#what}: json: column \"${name}\" goes back from version ${before.version}`);\n\t\t}\n\t\tif (after.version === before.version && after.fingerprint !== before.fingerprint) {\n\t\t\tthrow new Error(\n\t\t\t\t`${this.#what}: json: column \"${name}\" changes its schema at version ${before.version} (raise its version)`,\n\t\t\t);\n\t\t}\n\t\tthis.#schemas[name] = schema;\n\t\tthis.#before.push({ kind: \"json\", name, column: columnRecord(described) });\n\t\treturn this;\n\t}\n\n\trows(patch: (row: { readonly [column: string]: unknown }) => unknown): this {\n\t\tthis.#assertBefore(\"rows\");\n\t\tif (typeof patch !== \"function\") throw new Error(`${this.#what}: rows: expected a function`);\n\t\tthis.#step = { kind: \"rows\", table: this.#current(), patch };\n\t\tthis.#phase = \"after\";\n\t\treturn this;\n\t}\n\n\tupdate(step: { readonly where?: unknown; readonly set: unknown }): this {\n\t\tthis.#assertBefore(\"update\");\n\t\tconst table = this.#current();\n\t\tconst what = `version ${table.version} update`;\n\t\tconst where = typeof step.where === \"function\" ? step.where(table.refs) : step.where;\n\t\tconst set = typeof step.set === \"function\" ? step.set(table.refs) : step.set;\n\t\tthis.#step = {\n\t\t\tkind: \"update\",\n\t\t\ttable,\n\t\t\twhere: where === undefined ? undefined : compileWhere(table, where, what),\n\t\t\tset: compileSet(table, set, what),\n\t\t};\n\t\tthis.#phase = \"after\";\n\t\treturn this;\n\t}\n\n\tdrop(name: string): this {\n\t\tthis.#phase = \"after\";\n\t\tthis.#assertColumn(name, \"drop\");\n\t\tif (this.#key.includes(name)) throw new Error(`${this.#what}: drop: \"${name}\" is a key column`);\n\t\tfor (const [index, columns] of this.#indexes) {\n\t\t\tif (!columns.includes(name)) continue;\n\t\t\tthis.#indexes.delete(index);\n\t\t\tthis.#after.push({ kind: \"dropIndex\", name: index });\n\t\t}\n\t\tconst { [name]: _dropped, ...schemas } = this.#schemas;\n\t\tthis.#schemas = schemas;\n\t\tthis.#after.push({ kind: \"drop\", name });\n\t\treturn this;\n\t}\n\n\tindex(name: string, columns: readonly string[]): this {\n\t\tthis.#phase = \"after\";\n\t\tconst what = `${this.#what}: index \"${name}\"`;\n\t\tif (!INDEX_NAME.test(name)) throw new Error(`${what}: expected [a-z0-9_]+`);\n\t\tif (this.#indexes.has(name)) throw new Error(`${what} exists`);\n\t\t// Checked against the columns at this edit: the migration creates the index here, whatever later edits do.\n\t\tconst byName = new Map(describeColumns(this.#schemas, this.#what).map((column) => [column.name, column]));\n\t\tconst checked = orderColumns(byName, columns, what);\n\t\tthis.#indexes.set(name, checked);\n\t\tthis.#after.push({ kind: \"index\", name, columns: checked });\n\t\treturn this;\n\t}\n\n\tdropIndex(name: string): this {\n\t\tthis.#phase = \"after\";\n\t\tif (!this.#indexes.delete(name)) throw new Error(`${this.#what}: dropIndex: no index \"${name}\"`);\n\t\tthis.#after.push({ kind: \"dropIndex\", name });\n\t\treturn this;\n\t}\n\n\t/** The new version, materialized and fingerprinted, linked to the previous one and the migration from it. */\n\tfinish(): TableDefinition {\n\t\tconst migration = { before: this.#before, step: this.#step, after: this.#after };\n\t\treturn new TableDefinition(this.#previous.name, this.#options(), { previous: this.#previous, migration });\n\t}\n\n\t/** The table as the edits so far leave it, at the new version: what a data step reads and writes. */\n\t#current(): TableDefinition {\n\t\treturn new TableDefinition(this.#previous.name, this.#options());\n\t}\n\n\t#options(): TableOptions<Columns, readonly never[]> {\n\t\tconst version = this.#previous.version + 1;\n\t\tconst options = {\n\t\t\tversion,\n\t\t\tcolumns: { ...this.#schemas },\n\t\t\tkey: [...this.#key],\n\t\t\tindexes: Object.fromEntries(this.#indexes),\n\t\t};\n\t\t// The key and indexes are names the edits kept; the constructor checks them as it checks a base's.\n\t\treturn options as unknown as TableOptions<Columns, readonly never[]>;\n\t}\n\n\t#assertBefore(edit: string): void {\n\t\tif (this.#phase === \"after\") {\n\t\t\tthrow new Error(`${this.#what}: ${edit} comes before the data step and before drop, index and dropIndex`);\n\t\t}\n\t}\n\n\t/**\n\t * `name` names no column yet, also ignoring ASCII case (SQLite's column names do): checked per edit, since a later\n\t * `drop` cannot take back an `add` the migration runs first. A rename may change only the case of `from`.\n\t */\n\t#assertNewName(name: string, edit: string, from?: string): void {\n\t\tconst folded = foldAscii(name);\n\t\tfor (const existing of Object.keys(this.#schemas)) {\n\t\t\tif (existing !== from && foldAscii(existing) === folded) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`${this.#what}: ${edit}: column \"${existing}\" exists (names differing only in case collide)`,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\t#assertColumn(name: string, edit: string): ColumnSchema {\n\t\tif (!Object.hasOwn(this.#schemas, name)) throw new Error(`${this.#what}: ${edit}: no column \"${name}\"`);\n\t\treturn this.#schemas[name]!;\n\t}\n}\n\n/** `name` with ASCII letters lowercased and nothing else changed, as SQLite folds identifiers. */\nfunction foldAscii(name: string): string {\n\treturn name.replace(/[A-Z]+/g, (letters) => letters.toLowerCase());\n}\n"]}
@@ -1,67 +0,0 @@
1
- import type { Context } from "../../context/index.ts";
2
- import type { SqliteValue } from "../../sqlite/index.ts";
3
- import { ChordError } from "../data/index.ts";
4
- import type { Columns, RowOf } from "./columns.ts";
5
- import { type Query } from "./query.ts";
6
- import { TableSql } from "./sql.ts";
7
- import type { ChordStore } from "./store.ts";
8
- import type { KeyOf, TableDefinition } from "./table.ts";
9
- /** One page of rows (`items`, as Durable's pages) and, when more follow, the cursor to continue after it. */
10
- export type Page<T> = {
11
- readonly items: T[];
12
- readonly next?: string;
13
- };
14
- /** What `page` takes besides the query, the limit and the context. */
15
- export type PageOptions = {
16
- /** A cursor from an earlier page of the same order. */
17
- readonly after?: string;
18
- };
19
- /** A table of this object: reads of committed state, the context last. Writes go through `self.tx`. */
20
- export interface Table<C extends Columns, K extends readonly string[]> {
21
- /** Up to `limit` rows of `q` (after `options.after`), and the cursor of the next page when there is one. */
22
- page(q: Query<C, K>, limit: number, context: Context, options?: PageOptions): Promise<Page<RowOf<C>>>;
23
- /** Every row of `q`, read a page of 100 at a time. */
24
- rows(q: Query<C, K>, context: Context): AsyncIterable<RowOf<C>>;
25
- /** The row with `key`, `undefined` when absent. */
26
- get(key: KeyOf<C, K>, context: Context): Promise<RowOf<C> | undefined>;
27
- /** The number of rows of `q`. */
28
- count(q: Query<C, K>, context: Context): Promise<number>;
29
- }
30
- /** The handle type of table definition `D`: what `self.table(D)` returns. */
31
- export type TableOf<D> = D extends TableDefinition<infer C, infer K> ? Table<C, K> : never;
32
- /** Who owns a table handle: its object (whose transactions alone write it), liveness check and live failure. */
33
- export type TableOwner = {
34
- readonly label: string;
35
- /** The object's documents: a transaction of another object refuses the handle. */
36
- readonly scope: object;
37
- /** Throws `released` once the object ended. */
38
- assertLive(): void;
39
- /** A row the code cannot read (a `json(...)` cell, slice 6a §9) fails the owner `broken` (§1.4). */
40
- fail(error: ChordError): void;
41
- };
42
- /** The rows `rows()` reads per page (rule 17). */
43
- export declare const ROWS_PAGE = 100;
44
- /** A table handle: the definition the attempt declared, the table's SQL name and statements, the store. */
45
- export declare class TableHandle implements Table<Columns, readonly string[]> {
46
- #private;
47
- readonly definition: TableDefinition;
48
- readonly sql: TableSql;
49
- readonly store: ChordStore;
50
- readonly owner: TableOwner;
51
- constructor(definition: TableDefinition, sqlName: string, store: ChordStore, owner: TableOwner);
52
- page(q: Query, limit: number, context: Context, options?: PageOptions): Promise<Page<RowOf<Columns>>>;
53
- rows(q: Query, context: Context): AsyncIterable<RowOf<Columns>>;
54
- get(key: unknown, context: Context): Promise<RowOf<Columns> | undefined>;
55
- count(q: Query, context: Context): Promise<number>;
56
- /**
57
- * The version fence of old table handles (R15, slice 7b §5): once the store's table is at a newer version than this
58
- * handle's definition (a reload's new code migrated it), old code reads and writes it no more (`released/version`),
59
- * so it never issues SQL for a dropped column.
60
- */
61
- assertVersion(): void;
62
- /** A stored row as reads return it; one the code cannot read fails the owner and throws. */
63
- decode(stored: {
64
- readonly [column: string]: SqliteValue;
65
- }, context: Context): RowOf<Columns>;
66
- }
67
- //# sourceMappingURL=table-handle.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"table-handle.d.ts","sourceRoot":"","sources":["../../../src/next/store/table-handle.ts"],"names":[],"mappings":"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"}
@@ -1,101 +0,0 @@
1
- // Table handles (slice 6a §6; decision "Query runner"): what `self.table(Def)` returns, one per attempt and table: reads
2
- // of committed rows (`page`, `rows`, `get`, `count`) through the store's guarded reads, and what a transaction's
3
- // writes to the table are staged with; a handle of an older version than the stored table is refused (R15, slice 7b).
4
- import { ChordError } from "../data/index.js";
5
- import { invalid } from "../data/internal.js";
6
- import { decodeCursor, encodeCursor } from "./query.js";
7
- import { TableSql } from "./sql.js";
8
- /** The rows `rows()` reads per page (rule 17). */
9
- export const ROWS_PAGE = 100;
10
- /** A table handle: the definition the attempt declared, the table's SQL name and statements, the store. */
11
- export class TableHandle {
12
- definition;
13
- sql;
14
- store;
15
- owner;
16
- constructor(definition, sqlName, store, owner) {
17
- this.definition = definition;
18
- this.sql = new TableSql(sqlName, definition.columns, definition.rows.physical, definition.key);
19
- this.store = store;
20
- this.owner = owner;
21
- }
22
- async page(q, limit, context, options = {}) {
23
- this.owner.assertLive();
24
- this.assertVersion();
25
- this.#assertQuery(q);
26
- if (!Number.isSafeInteger(limit) || limit < 1)
27
- throw invalid("args", `${this.definition.name}: limit is a positive integer`);
28
- const order = q.order;
29
- const after = options.after === undefined ? undefined : decodeCursor(this.definition, this.sql.table, order, options.after);
30
- const statement = this.sql.select(q.condition, order, after, limit + 1);
31
- const stored = await this.store.read((executor) => executor.all(statement.sql, ...statement.params), context);
32
- const more = stored.length > limit;
33
- if (more)
34
- stored.length = limit;
35
- const items = stored.map((row) => this.decode(row, context));
36
- if (!more)
37
- return { items };
38
- const last = stored[limit - 1];
39
- return {
40
- items,
41
- next: encodeCursor(this.sql.table, order, order.columns.map((column) => last[column])),
42
- };
43
- }
44
- async *rows(q, context) {
45
- let after;
46
- do {
47
- const page = await this.page(q, ROWS_PAGE, context, after === undefined ? {} : { after });
48
- yield* page.items;
49
- after = page.next;
50
- } while (after !== undefined);
51
- }
52
- async get(key, context) {
53
- this.owner.assertLive();
54
- this.assertVersion();
55
- const encoded = this.definition.rows.key(key, "get");
56
- const stored = await this.store.read((executor) => executor.get(this.sql.get, ...encoded.params), context);
57
- return stored === undefined ? undefined : this.decode(stored, context);
58
- }
59
- async count(q, context) {
60
- this.owner.assertLive();
61
- this.assertVersion();
62
- this.#assertQuery(q);
63
- const statement = this.sql.count(q.condition);
64
- const row = await this.store.read((executor) => executor.get(statement.sql, ...statement.params), context);
65
- return row?.count ?? 0;
66
- }
67
- /**
68
- * The version fence of old table handles (R15, slice 7b §5): once the store's table is at a newer version than this
69
- * handle's definition (a reload's new code migrated it), old code reads and writes it no more (`released/version`),
70
- * so it never issues SQL for a dropped column.
71
- */
72
- assertVersion() {
73
- const stored = this.store.tableVersion(this.sql.table);
74
- if (stored === undefined || stored <= this.definition.version)
75
- return;
76
- const { name, version } = this.definition;
77
- const message = `${this.owner.label}: table "${name}" of version ${version}; the store has version ${stored}`;
78
- throw new ChordError({ code: "released", reason: "version", message });
79
- }
80
- /** A stored row as reads return it; one the code cannot read fails the owner and throws. */
81
- decode(stored, context) {
82
- try {
83
- // The codec decodes by the definition's columns: a row of them.
84
- return this.definition.rows.decode(stored, context);
85
- }
86
- catch (error) {
87
- const failure = error instanceof ChordError
88
- ? error
89
- : new ChordError({ code: "unavailable", message: String(error) }, { cause: error });
90
- this.owner.fail(failure);
91
- throw failure;
92
- }
93
- }
94
- /** A query of another table is refused (`invalid/args`). */
95
- #assertQuery(q) {
96
- if (q.table !== this.definition) {
97
- throw invalid("args", `${this.owner.label}: a query of table "${q.table.name}" run on "${this.definition.name}"`);
98
- }
99
- }
100
- }
101
- //# sourceMappingURL=table-handle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"table-handle.js","sourceRoot":"","sources":["../../../src/next/store/table-handle.ts"],"names":[],"mappings":"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","sourcesContent":["// Table handles (slice 6a §6; decision \"Query runner\"): what `self.table(Def)` returns, one per attempt and table: reads\n// of committed rows (`page`, `rows`, `get`, `count`) through the store's guarded reads, and what a transaction's\n// writes to the table are staged with; a handle of an older version than the stored table is refused (R15, slice 7b).\n\nimport type { Context } from \"../../context/index.ts\";\nimport type { SqliteValue } from \"../../sqlite/index.ts\";\nimport { ChordError } from \"../data/index.ts\";\nimport { invalid } from \"../data/internal.ts\";\nimport type { Columns, RowOf } from \"./columns.ts\";\nimport { decodeCursor, encodeCursor, type Query } from \"./query.ts\";\nimport { TableSql } from \"./sql.ts\";\nimport type { ChordStore } from \"./store.ts\";\nimport type { KeyOf, TableDefinition } from \"./table.ts\";\n\n/** One page of rows (`items`, as Durable's pages) and, when more follow, the cursor to continue after it. */\nexport type Page<T> = { readonly items: T[]; readonly next?: string };\n\n/** What `page` takes besides the query, the limit and the context. */\nexport type PageOptions = {\n\t/** A cursor from an earlier page of the same order. */\n\treadonly after?: string;\n};\n\n/** A table of this object: reads of committed state, the context last. Writes go through `self.tx`. */\nexport interface Table<C extends Columns, K extends readonly string[]> {\n\t/** Up to `limit` rows of `q` (after `options.after`), and the cursor of the next page when there is one. */\n\tpage(q: Query<C, K>, limit: number, context: Context, options?: PageOptions): Promise<Page<RowOf<C>>>;\n\t/** Every row of `q`, read a page of 100 at a time. */\n\trows(q: Query<C, K>, context: Context): AsyncIterable<RowOf<C>>;\n\t/** The row with `key`, `undefined` when absent. */\n\tget(key: KeyOf<C, K>, context: Context): Promise<RowOf<C> | undefined>;\n\t/** The number of rows of `q`. */\n\tcount(q: Query<C, K>, context: Context): Promise<number>;\n}\n\n/** The handle type of table definition `D`: what `self.table(D)` returns. */\nexport type TableOf<D> = D extends TableDefinition<infer C, infer K> ? Table<C, K> : never;\n\n/** Who owns a table handle: its object (whose transactions alone write it), liveness check and live failure. */\nexport type TableOwner = {\n\treadonly label: string;\n\t/** The object's documents: a transaction of another object refuses the handle. */\n\treadonly scope: object;\n\t/** Throws `released` once the object ended. */\n\tassertLive(): void;\n\t/** A row the code cannot read (a `json(...)` cell, slice 6a §9) fails the owner `broken` (§1.4). */\n\tfail(error: ChordError): void;\n};\n\n/** The rows `rows()` reads per page (rule 17). */\nexport const ROWS_PAGE = 100;\n\n/** A table handle: the definition the attempt declared, the table's SQL name and statements, the store. */\nexport class TableHandle implements Table<Columns, readonly string[]> {\n\treadonly definition: TableDefinition;\n\treadonly sql: TableSql;\n\treadonly store: ChordStore;\n\treadonly owner: TableOwner;\n\n\tconstructor(definition: TableDefinition, sqlName: string, store: ChordStore, owner: TableOwner) {\n\t\tthis.definition = definition;\n\t\tthis.sql = new TableSql(sqlName, definition.columns, definition.rows.physical, definition.key);\n\t\tthis.store = store;\n\t\tthis.owner = owner;\n\t}\n\n\tasync page(q: Query, limit: number, context: Context, options: PageOptions = {}): Promise<Page<RowOf<Columns>>> {\n\t\tthis.owner.assertLive();\n\t\tthis.assertVersion();\n\t\tthis.#assertQuery(q);\n\t\tif (!Number.isSafeInteger(limit) || limit < 1)\n\t\t\tthrow invalid(\"args\", `${this.definition.name}: limit is a positive integer`);\n\t\tconst order = q.order;\n\t\tconst after =\n\t\t\toptions.after === undefined ? undefined : decodeCursor(this.definition, this.sql.table, order, options.after);\n\t\tconst statement = this.sql.select(q.condition, order, after, limit + 1);\n\t\tconst stored = await this.store.read(\n\t\t\t(executor) => executor.all<{ [column: string]: SqliteValue }>(statement.sql, ...statement.params),\n\t\t\tcontext,\n\t\t);\n\t\tconst more = stored.length > limit;\n\t\tif (more) stored.length = limit;\n\t\tconst items = stored.map((row) => this.decode(row, context));\n\t\tif (!more) return { items };\n\t\tconst last = stored[limit - 1]!;\n\t\treturn {\n\t\t\titems,\n\t\t\tnext: encodeCursor(\n\t\t\t\tthis.sql.table,\n\t\t\t\torder,\n\t\t\t\torder.columns.map((column) => last[column]!),\n\t\t\t),\n\t\t};\n\t}\n\n\tasync *rows(q: Query, context: Context): AsyncIterable<RowOf<Columns>> {\n\t\tlet after: string | undefined;\n\t\tdo {\n\t\t\tconst page = await this.page(q, ROWS_PAGE, context, after === undefined ? {} : { after });\n\t\t\tyield* page.items;\n\t\t\tafter = page.next;\n\t\t} while (after !== undefined);\n\t}\n\n\tasync get(key: unknown, context: Context): Promise<RowOf<Columns> | undefined> {\n\t\tthis.owner.assertLive();\n\t\tthis.assertVersion();\n\t\tconst encoded = this.definition.rows.key(key, \"get\");\n\t\tconst stored = await this.store.read(\n\t\t\t(executor) => executor.get<{ [column: string]: SqliteValue }>(this.sql.get, ...encoded.params),\n\t\t\tcontext,\n\t\t);\n\t\treturn stored === undefined ? undefined : this.decode(stored, context);\n\t}\n\n\tasync count(q: Query, context: Context): Promise<number> {\n\t\tthis.owner.assertLive();\n\t\tthis.assertVersion();\n\t\tthis.#assertQuery(q);\n\t\tconst statement = this.sql.count(q.condition);\n\t\tconst row = await this.store.read(\n\t\t\t(executor) => executor.get<{ readonly count: number }>(statement.sql, ...statement.params),\n\t\t\tcontext,\n\t\t);\n\t\treturn row?.count ?? 0;\n\t}\n\n\t/**\n\t * The version fence of old table handles (R15, slice 7b §5): once the store's table is at a newer version than this\n\t * handle's definition (a reload's new code migrated it), old code reads and writes it no more (`released/version`),\n\t * so it never issues SQL for a dropped column.\n\t */\n\tassertVersion(): void {\n\t\tconst stored = this.store.tableVersion(this.sql.table);\n\t\tif (stored === undefined || stored <= this.definition.version) return;\n\t\tconst { name, version } = this.definition;\n\t\tconst message = `${this.owner.label}: table \"${name}\" of version ${version}; the store has version ${stored}`;\n\t\tthrow new ChordError({ code: \"released\", reason: \"version\", message });\n\t}\n\n\t/** A stored row as reads return it; one the code cannot read fails the owner and throws. */\n\tdecode(stored: { readonly [column: string]: SqliteValue }, context: Context): RowOf<Columns> {\n\t\ttry {\n\t\t\t// The codec decodes by the definition's columns: a row of them.\n\t\t\treturn this.definition.rows.decode(stored, context) as RowOf<Columns>;\n\t\t} catch (error) {\n\t\t\tconst failure =\n\t\t\t\terror instanceof ChordError\n\t\t\t\t\t? error\n\t\t\t\t\t: new ChordError({ code: \"unavailable\", message: String(error) }, { cause: error });\n\t\t\tthis.owner.fail(failure);\n\t\t\tthrow failure;\n\t\t}\n\t}\n\n\t/** A query of another table is refused (`invalid/args`). */\n\t#assertQuery(q: Query): void {\n\t\tif (q.table !== this.definition) {\n\t\t\tthrow invalid(\n\t\t\t\t\"args\",\n\t\t\t\t`${this.owner.label}: a query of table \"${q.table.name}\" run on \"${this.definition.name}\"`,\n\t\t\t);\n\t\t}\n\t}\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"table-history.d.ts","sourceRoot":"","sources":["../../../src/next/store/table-history.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,wHAAwH;AACxH,MAAM,MAAM,SAAS,GAClB;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACvE;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;CAAE,GAC9E;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;CAAE,GAC/E;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GACtF;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD,iDAAiD;AACjD,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC,CAAC;AAElG;;;GAGG;AACH,MAAM,MAAM,QAAQ,GACjB;IACA,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE;QAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC;CACxE,GACD;IACA,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CACrB,CAAC;AAEL,oGAAoG;AACpG,MAAM,MAAM,SAAS,GAAG;IACvB,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;CACrC,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAClB;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAC1B;IACA,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAAC;CAClC,CAAC;AAEL;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,WAAW,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAwBjH"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"table-history.js","sourceRoot":"","sources":["../../../src/next/store/table-history.ts"],"names":[],"mappings":"AAAA,yGAAyG;AACzG,sHAAsH;AACtH,6FAA6F;AAyD7F;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,UAA2B,EAAE,QAAiC,EAAE,IAAY;IACrG,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACtD,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC;IACjD,IAAI,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,2BAA2B,OAAO,2BAA2B,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3G,CAAC;IACD,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IACvC,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;IAC7D,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACd,GAAG,IAAI,2BAA2B,OAAO,mCAAmC,QAAQ,CAAC,CAAC,CAAE,CAAC,OAAO,EAAE,CAClG,CAAC;IACH,CAAC;IACD,IAAI,EAAE,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,aAAa,OAAO,kEAAkE,CAAC,CAAC;IAChH,CAAC;IACD,IAAI,KAAK,KAAK,OAAO,IAAI,OAAO,KAAK,UAAU,CAAC,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAClF,IAAI,KAAK,KAAK,WAAW,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,aAAa,OAAO,wDAAwD,CAAC,CAAC;IACtG,CAAC;IACD,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;QAC3B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAC3G,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AACzG,CAAC;AAED,+DAA+D;AAC/D,SAAS,SAAS,CAAC,UAA2B;IAC7C,MAAM,QAAQ,GAAsB,EAAE,CAAC;IACvC,KAAK,IAAI,EAAE,GAAgC,UAAU,EAAE,EAAE,KAAK,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC;QACtG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC","sourcesContent":["// A table's history (slice 6a §9; decision \"Second spec review: the majority\"): the versions from a base\n// `defineTable` through each `evolveTable`, the migration each version recorded, and what an activation does with the\n// version the store recorded: create the table, use it, migrate it from there, or refuse it.\n\nimport type { TableRecord } from \"./catalog.ts\";\nimport type { ColumnRecord } from \"./columns.ts\";\nimport type { SetNode, WhereNode } from \"./expression.ts\";\nimport type { TableDefinition } from \"./table.ts\";\n\n/** One edit of a migration as its writes record it (`alter`, `index`, `dropIndex`); the table is named when applied. */\nexport type TableEdit =\n\t| { readonly kind: \"rename\"; readonly from: string; readonly to: string }\n\t| { readonly kind: \"add\"; readonly name: string; readonly column: ColumnRecord }\n\t| { readonly kind: \"drop\"; readonly name: string }\n\t| { readonly kind: \"json\"; readonly name: string; readonly column: ColumnRecord }\n\t| { readonly kind: \"index\"; readonly name: string; readonly columns: readonly string[] }\n\t| { readonly kind: \"dropIndex\"; readonly name: string };\n\n/** The column edits an `alter` write records. */\nexport type AlterEdit = Extract<TableEdit, { readonly kind: \"rename\" | \"add\" | \"drop\" | \"json\" }>;\n\n/**\n * A version's data step over `table`, the columns between the edits before it and after it: `rows` patches each row\n * (synchronous and pure), `update` is one `updateWhere`.\n */\nexport type DataStep =\n\t| {\n\t\t\treadonly kind: \"rows\";\n\t\t\treadonly table: TableDefinition;\n\t\t\treadonly patch: (row: { readonly [column: string]: unknown }) => unknown;\n\t }\n\t| {\n\t\t\treadonly kind: \"update\";\n\t\t\treadonly table: TableDefinition;\n\t\t\treadonly where: WhereNode | undefined;\n\t\t\treadonly set: SetNode;\n\t };\n\n/** What one `evolveTable` changed: the edits before the data step, the step, the edits after it. */\nexport type Migration = {\n\treadonly before: readonly TableEdit[];\n\treadonly step: DataStep | undefined;\n\treadonly after: readonly TableEdit[];\n};\n\n/**\n * What an activation does with a declared table: create it at the newest version, use it as recorded, or migrate it\n * through `versions` (oldest first), the first one from its start (`begin`) or, recorded `migrating`, after its (A)\n * commit (`resume`).\n */\nexport type TablePlan =\n\t| { readonly kind: \"create\" }\n\t| { readonly kind: \"ready\" }\n\t| {\n\t\t\treadonly kind: \"migrate\";\n\t\t\treadonly versions: readonly TableDefinition[];\n\t\t\treadonly first: \"begin\" | \"resume\";\n\t };\n\n/**\n * The plan for `definition` (the code's newest version) against `recorded`. A recorded version newer than the newest,\n * older than the history's base, or the same version with another fingerprint (a history edited in place) throws:\n * the object fails `broken`, the data stays.\n */\nexport function planTable(definition: TableDefinition, recorded: TableRecord | undefined, what: string): TablePlan {\n\tif (recorded === undefined) return { kind: \"create\" };\n\tconst { version, state, fingerprint } = recorded;\n\tif (version > definition.version) {\n\t\tthrow new Error(`${what}: the store has version ${version}, newer than the code's ${definition.version}`);\n\t}\n\tconst versions = historyOf(definition);\n\tconst at = versions.find((each) => each.version === version);\n\tif (at === undefined) {\n\t\tthrow new Error(\n\t\t\t`${what}: the store has version ${version}, older than the history's base ${versions[0]!.version}`,\n\t\t);\n\t}\n\tif (at.fingerprint !== fingerprint) {\n\t\tthrow new Error(`${what}: version ${version} is recorded with another definition (a history edited in place)`);\n\t}\n\tif (state === \"ready\" && version === definition.version) return { kind: \"ready\" };\n\tif (state === \"migrating\" && at.evolution?.migration.step === undefined) {\n\t\tthrow new Error(`${what}: version ${version} is recorded migrating, but has no data step to resume`);\n\t}\n\tif (state === \"migrating\") {\n\t\treturn { kind: \"migrate\", versions: versions.filter((each) => each.version >= version), first: \"resume\" };\n\t}\n\treturn { kind: \"migrate\", versions: versions.filter((each) => each.version > version), first: \"begin\" };\n}\n\n/** Every version of `definition`'s history, the base first. */\nfunction historyOf(definition: TableDefinition): TableDefinition[] {\n\tconst versions: TableDefinition[] = [];\n\tfor (let at: TableDefinition | undefined = definition; at !== undefined; at = at.evolution?.previous) {\n\t\tversions.unshift(at);\n\t}\n\treturn versions;\n}\n"]}
@@ -1,16 +0,0 @@
1
- import { type Context } from "../../context/index.ts";
2
- import type { ChordStore, CommitFence } from "./store.ts";
3
- import type { TableDefinition } from "./table.ts";
4
- /** A declared table: its newest definition and its SQL name. */
5
- export type DeclaredTable = {
6
- readonly definition: TableDefinition;
7
- readonly table: string;
8
- };
9
- /**
10
- * Brings `tables` to their definitions: the ones the store does not have created in one commit, then each older one
11
- * migrated. A table the code cannot use (see `planTable`) throws before anything is written; `what` names the owner.
12
- */
13
- export declare function prepareTables(tables: readonly DeclaredTable[], store: ChordStore, fence: CommitFence, what: string, context: Context): Promise<void>;
14
- /** The size of a `rows` chunk: one commit each. */
15
- export declare const MIGRATION_CHUNK = 100;
16
- //# sourceMappingURL=table-migration.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"table-migration.d.ts","sourceRoot":"","sources":["../../../src/next/store/table-migration.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,OAAO,EAAsB,MAAM,wBAAwB,CAAC;AAO1E,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAYlD,gEAAgE;AAChE,MAAM,MAAM,aAAa,GAAG;IAAE,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAK7F;;;GAGG;AACH,wBAAsB,aAAa,CAClC,MAAM,EAAE,SAAS,aAAa,EAAE,EAChC,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,IAAI,CAAC,CAYf;AA2BD,mDAAmD;AACnD,eAAO,MAAM,eAAe,MAAM,CAAC"}