@earendil-works/chord 1.4.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 (1299) hide show
  1. package/CHANGELOG.md +92 -0
  2. package/README.md +115 -90
  3. package/dist/context/index.d.ts +1 -1
  4. package/dist/context/index.d.ts.map +1 -1
  5. package/dist/context/index.js +1 -1
  6. package/dist/context/index.js.map +1 -1
  7. package/dist/contracts/accepts.d.ts +81 -0
  8. package/dist/contracts/accepts.d.ts.map +1 -0
  9. package/dist/contracts/accepts.js +123 -0
  10. package/dist/contracts/accepts.js.map +1 -0
  11. package/dist/contracts/contract.d.ts +121 -0
  12. package/dist/contracts/contract.d.ts.map +1 -0
  13. package/dist/contracts/contract.js +50 -0
  14. package/dist/contracts/contract.js.map +1 -0
  15. package/dist/contracts/declare.d.ts +107 -0
  16. package/dist/contracts/declare.d.ts.map +1 -0
  17. package/dist/contracts/declare.js +136 -0
  18. package/dist/contracts/declare.js.map +1 -0
  19. package/dist/contracts/evolve.d.ts +92 -0
  20. package/dist/contracts/evolve.d.ts.map +1 -0
  21. package/dist/contracts/evolve.js +179 -0
  22. package/dist/contracts/evolve.js.map +1 -0
  23. package/dist/contracts/fingerprint.d.ts +16 -0
  24. package/dist/contracts/fingerprint.d.ts.map +1 -0
  25. package/dist/contracts/fingerprint.js +50 -0
  26. package/dist/contracts/fingerprint.js.map +1 -0
  27. package/dist/contracts/history.d.ts +71 -0
  28. package/dist/contracts/history.d.ts.map +1 -0
  29. package/dist/contracts/history.js +3 -0
  30. package/dist/contracts/history.js.map +1 -0
  31. package/dist/contracts/host-kind.d.ts +40 -0
  32. package/dist/contracts/host-kind.d.ts.map +1 -0
  33. package/dist/contracts/host-kind.js +37 -0
  34. package/dist/contracts/host-kind.js.map +1 -0
  35. package/dist/contracts/index.d.ts +7 -0
  36. package/dist/contracts/index.d.ts.map +1 -0
  37. package/dist/contracts/index.js +6 -0
  38. package/dist/contracts/index.js.map +1 -0
  39. package/dist/contracts/internal.d.ts +10 -0
  40. package/dist/contracts/internal.d.ts.map +1 -0
  41. package/dist/contracts/internal.js +9 -0
  42. package/dist/contracts/internal.js.map +1 -0
  43. package/dist/contracts/names.d.ts +3 -0
  44. package/dist/contracts/names.d.ts.map +1 -0
  45. package/dist/contracts/names.js +13 -0
  46. package/dist/contracts/names.js.map +1 -0
  47. package/dist/contracts/params.d.ts +28 -0
  48. package/dist/contracts/params.d.ts.map +1 -0
  49. package/dist/contracts/params.js +50 -0
  50. package/dist/contracts/params.js.map +1 -0
  51. package/dist/contracts/schema.d.ts +102 -0
  52. package/dist/contracts/schema.d.ts.map +1 -0
  53. package/dist/contracts/schema.js +103 -0
  54. package/dist/contracts/schema.js.map +1 -0
  55. package/dist/contracts/snapshot.d.ts +16 -0
  56. package/dist/contracts/snapshot.d.ts.map +1 -0
  57. package/dist/contracts/snapshot.js +167 -0
  58. package/dist/contracts/snapshot.js.map +1 -0
  59. package/dist/data/args.d.ts +50 -0
  60. package/dist/data/args.d.ts.map +1 -0
  61. package/dist/data/args.js +83 -0
  62. package/dist/data/args.js.map +1 -0
  63. package/dist/data/errors.d.ts +80 -0
  64. package/dist/data/errors.d.ts.map +1 -0
  65. package/dist/data/errors.js +116 -0
  66. package/dist/data/errors.js.map +1 -0
  67. package/dist/data/failure.d.ts +26 -0
  68. package/dist/data/failure.d.ts.map +1 -0
  69. package/dist/data/failure.js +77 -0
  70. package/dist/data/failure.js.map +1 -0
  71. package/dist/data/index.d.ts +4 -0
  72. package/dist/data/index.d.ts.map +1 -0
  73. package/dist/data/index.js +5 -0
  74. package/dist/data/index.js.map +1 -0
  75. package/dist/data/internal.d.ts +7 -0
  76. package/dist/data/internal.d.ts.map +1 -0
  77. package/dist/data/internal.js +8 -0
  78. package/dist/data/internal.js.map +1 -0
  79. package/dist/data/params.d.ts +20 -0
  80. package/dist/data/params.d.ts.map +1 -0
  81. package/dist/data/params.js +31 -0
  82. package/dist/data/params.js.map +1 -0
  83. package/dist/data/principal.d.ts +22 -0
  84. package/dist/data/principal.d.ts.map +1 -0
  85. package/dist/data/principal.js +49 -0
  86. package/dist/data/principal.js.map +1 -0
  87. package/dist/data/validator.d.ts +12 -0
  88. package/dist/data/validator.d.ts.map +1 -0
  89. package/dist/data/validator.js +35 -0
  90. package/dist/data/validator.js.map +1 -0
  91. package/dist/delta/apply-immutable-trusted.js +3 -4
  92. package/dist/delta/apply-immutable-trusted.js.map +1 -1
  93. package/dist/delta/diff.d.ts.map +1 -1
  94. package/dist/delta/diff.js +5 -3
  95. package/dist/delta/diff.js.map +1 -1
  96. package/dist/delta/index.d.ts +9 -1
  97. package/dist/delta/index.d.ts.map +1 -1
  98. package/dist/delta/index.js +15 -11
  99. package/dist/delta/index.js.map +1 -1
  100. package/dist/delta/pending.d.ts +36 -0
  101. package/dist/delta/pending.d.ts.map +1 -0
  102. package/dist/delta/pending.js +143 -0
  103. package/dist/delta/pending.js.map +1 -0
  104. package/dist/delta/tracker.d.ts +12 -0
  105. package/dist/delta/tracker.d.ts.map +1 -1
  106. package/dist/delta/tracker.js +109 -39
  107. package/dist/delta/tracker.js.map +1 -1
  108. package/dist/documents/address-source.d.ts +20 -0
  109. package/dist/documents/address-source.d.ts.map +1 -0
  110. package/dist/documents/address-source.js +44 -0
  111. package/dist/documents/address-source.js.map +1 -0
  112. package/dist/documents/definition.d.ts +84 -0
  113. package/dist/documents/definition.d.ts.map +1 -0
  114. package/dist/documents/definition.js +74 -0
  115. package/dist/documents/definition.js.map +1 -0
  116. package/dist/documents/documents.d.ts +126 -0
  117. package/dist/documents/documents.d.ts.map +1 -0
  118. package/dist/documents/documents.js +248 -0
  119. package/dist/documents/documents.js.map +1 -0
  120. package/dist/documents/fence.d.ts +9 -0
  121. package/dist/documents/fence.d.ts.map +1 -0
  122. package/dist/documents/fence.js +15 -0
  123. package/dist/documents/fence.js.map +1 -0
  124. package/dist/documents/handles.d.ts +76 -0
  125. package/dist/documents/handles.d.ts.map +1 -0
  126. package/dist/documents/handles.js +66 -0
  127. package/dist/documents/handles.js.map +1 -0
  128. package/dist/documents/index.d.ts +4 -0
  129. package/dist/documents/index.d.ts.map +1 -0
  130. package/dist/documents/index.js +3 -0
  131. package/dist/documents/index.js.map +1 -0
  132. package/dist/documents/internal.d.ts +9 -0
  133. package/dist/documents/internal.d.ts.map +1 -0
  134. package/dist/documents/internal.js +9 -0
  135. package/dist/documents/internal.js.map +1 -0
  136. package/dist/documents/keyed-slot.d.ts +103 -0
  137. package/dist/documents/keyed-slot.d.ts.map +1 -0
  138. package/dist/documents/keyed-slot.js +395 -0
  139. package/dist/documents/keyed-slot.js.map +1 -0
  140. package/dist/documents/line.d.ts +7 -0
  141. package/dist/documents/line.d.ts.map +1 -0
  142. package/dist/documents/line.js +14 -0
  143. package/dist/documents/line.js.map +1 -0
  144. package/dist/documents/persistence.d.ts +104 -0
  145. package/dist/documents/persistence.d.ts.map +1 -0
  146. package/dist/documents/persistence.js +129 -0
  147. package/dist/documents/persistence.js.map +1 -0
  148. package/dist/documents/residency.d.ts +31 -0
  149. package/dist/documents/residency.d.ts.map +1 -0
  150. package/dist/documents/residency.js +93 -0
  151. package/dist/documents/residency.js.map +1 -0
  152. package/dist/documents/slot.d.ts +109 -0
  153. package/dist/documents/slot.d.ts.map +1 -0
  154. package/dist/documents/slot.js +181 -0
  155. package/dist/documents/slot.js.map +1 -0
  156. package/dist/documents/transaction.d.ts +143 -0
  157. package/dist/documents/transaction.d.ts.map +1 -0
  158. package/dist/documents/transaction.js +442 -0
  159. package/dist/documents/transaction.js.map +1 -0
  160. package/dist/host/activity.d.ts +31 -0
  161. package/dist/host/activity.d.ts.map +1 -0
  162. package/dist/host/activity.js +40 -0
  163. package/dist/host/activity.js.map +1 -0
  164. package/dist/host/adapted.d.ts +49 -0
  165. package/dist/host/adapted.d.ts.map +1 -0
  166. package/dist/host/adapted.js +214 -0
  167. package/dist/host/adapted.js.map +1 -0
  168. package/dist/host/attempt.d.ts +308 -0
  169. package/dist/host/attempt.d.ts.map +1 -0
  170. package/dist/host/attempt.js +1199 -0
  171. package/dist/host/attempt.js.map +1 -0
  172. package/dist/host/backoff.d.ts +29 -0
  173. package/dist/host/backoff.d.ts.map +1 -0
  174. package/dist/host/backoff.js +69 -0
  175. package/dist/host/backoff.js.map +1 -0
  176. package/dist/host/ctx.d.ts +94 -0
  177. package/dist/host/ctx.d.ts.map +1 -0
  178. package/dist/host/ctx.js +200 -0
  179. package/dist/host/ctx.js.map +1 -0
  180. package/dist/host/deadline.d.ts +12 -0
  181. package/dist/host/deadline.d.ts.map +1 -0
  182. package/dist/host/deadline.js +40 -0
  183. package/dist/host/deadline.js.map +1 -0
  184. package/dist/host/dependencies.d.ts +65 -0
  185. package/dist/host/dependencies.d.ts.map +1 -0
  186. package/dist/host/dependencies.js +115 -0
  187. package/dist/host/dependencies.js.map +1 -0
  188. package/dist/host/destination.d.ts +48 -0
  189. package/dist/host/destination.d.ts.map +1 -0
  190. package/dist/host/destination.js +101 -0
  191. package/dist/host/destination.js.map +1 -0
  192. package/dist/host/facet.d.ts +84 -0
  193. package/dist/host/facet.d.ts.map +1 -0
  194. package/dist/host/facet.js +55 -0
  195. package/dist/host/facet.js.map +1 -0
  196. package/dist/host/follow.d.ts +52 -0
  197. package/dist/host/follow.d.ts.map +1 -0
  198. package/dist/host/follow.js +207 -0
  199. package/dist/host/follow.js.map +1 -0
  200. package/dist/host/host.d.ts +571 -0
  201. package/dist/host/host.d.ts.map +1 -0
  202. package/dist/host/host.js +1318 -0
  203. package/dist/host/host.js.map +1 -0
  204. package/dist/host/index.d.ts +17 -0
  205. package/dist/host/index.d.ts.map +1 -0
  206. package/dist/host/index.js +6 -0
  207. package/dist/host/index.js.map +1 -0
  208. package/dist/host/internal.d.ts +11 -0
  209. package/dist/host/internal.d.ts.map +1 -0
  210. package/dist/host/internal.js +9 -0
  211. package/dist/host/internal.js.map +1 -0
  212. package/dist/host/members.d.ts +50 -0
  213. package/dist/host/members.d.ts.map +1 -0
  214. package/dist/host/members.js +107 -0
  215. package/dist/host/members.js.map +1 -0
  216. package/dist/host/native.d.ts +64 -0
  217. package/dist/host/native.d.ts.map +1 -0
  218. package/dist/host/native.js +126 -0
  219. package/dist/host/native.js.map +1 -0
  220. package/dist/host/object.d.ts +331 -0
  221. package/dist/host/object.d.ts.map +1 -0
  222. package/dist/host/object.js +1296 -0
  223. package/dist/host/object.js.map +1 -0
  224. package/dist/host/old-work.d.ts +34 -0
  225. package/dist/host/old-work.d.ts.map +1 -0
  226. package/dist/host/old-work.js +52 -0
  227. package/dist/host/old-work.js.map +1 -0
  228. package/dist/host/parked.d.ts +23 -0
  229. package/dist/host/parked.d.ts.map +1 -0
  230. package/dist/host/parked.js +79 -0
  231. package/dist/host/parked.js.map +1 -0
  232. package/dist/host/presence.d.ts +34 -0
  233. package/dist/host/presence.d.ts.map +1 -0
  234. package/dist/host/presence.js +117 -0
  235. package/dist/host/presence.js.map +1 -0
  236. package/dist/host/readiness.d.ts +27 -0
  237. package/dist/host/readiness.d.ts.map +1 -0
  238. package/dist/host/readiness.js +134 -0
  239. package/dist/host/readiness.js.map +1 -0
  240. package/dist/host/ref-state.d.ts +53 -0
  241. package/dist/host/ref-state.d.ts.map +1 -0
  242. package/dist/host/ref-state.js +83 -0
  243. package/dist/host/ref-state.js.map +1 -0
  244. package/dist/host/reference-keys.d.ts +36 -0
  245. package/dist/host/reference-keys.d.ts.map +1 -0
  246. package/dist/host/reference-keys.js +168 -0
  247. package/dist/host/reference-keys.js.map +1 -0
  248. package/dist/host/reference-source.d.ts +65 -0
  249. package/dist/host/reference-source.d.ts.map +1 -0
  250. package/dist/host/reference-source.js +285 -0
  251. package/dist/host/reference-source.js.map +1 -0
  252. package/dist/host/reference.d.ts +321 -0
  253. package/dist/host/reference.d.ts.map +1 -0
  254. package/dist/host/reference.js +797 -0
  255. package/dist/host/reference.js.map +1 -0
  256. package/dist/host/reload-cycle.d.ts +16 -0
  257. package/dist/host/reload-cycle.d.ts.map +1 -0
  258. package/dist/host/reload-cycle.js +81 -0
  259. package/dist/host/reload-cycle.js.map +1 -0
  260. package/dist/host/retry-on.d.ts +28 -0
  261. package/dist/host/retry-on.d.ts.map +1 -0
  262. package/dist/host/retry-on.js +52 -0
  263. package/dist/host/retry-on.js.map +1 -0
  264. package/dist/host/revocation.d.ts +16 -0
  265. package/dist/host/revocation.d.ts.map +1 -0
  266. package/dist/host/revocation.js +27 -0
  267. package/dist/host/revocation.js.map +1 -0
  268. package/dist/host/root.d.ts +37 -0
  269. package/dist/host/root.d.ts.map +1 -0
  270. package/dist/host/root.js +68 -0
  271. package/dist/host/root.js.map +1 -0
  272. package/dist/host/route.d.ts +64 -0
  273. package/dist/host/route.d.ts.map +1 -0
  274. package/dist/host/route.js +227 -0
  275. package/dist/host/route.js.map +1 -0
  276. package/dist/host/routines.d.ts +78 -0
  277. package/dist/host/routines.d.ts.map +1 -0
  278. package/dist/host/routines.js +398 -0
  279. package/dist/host/routines.js.map +1 -0
  280. package/dist/host/sleep.d.ts +9 -0
  281. package/dist/host/sleep.d.ts.map +1 -0
  282. package/dist/host/sleep.js +40 -0
  283. package/dist/host/sleep.js.map +1 -0
  284. package/dist/host/staging.d.ts +94 -0
  285. package/dist/host/staging.d.ts.map +1 -0
  286. package/dist/host/staging.js +304 -0
  287. package/dist/host/staging.js.map +1 -0
  288. package/dist/host/unbound-clock.d.ts +23 -0
  289. package/dist/host/unbound-clock.d.ts.map +1 -0
  290. package/dist/host/unbound-clock.js +58 -0
  291. package/dist/host/unbound-clock.js.map +1 -0
  292. package/dist/host/unbound.d.ts +37 -0
  293. package/dist/host/unbound.d.ts.map +1 -0
  294. package/dist/host/unbound.js +88 -0
  295. package/dist/host/unbound.js.map +1 -0
  296. package/dist/host/uuid.d.ts +3 -0
  297. package/dist/host/uuid.d.ts.map +1 -0
  298. package/dist/host/uuid.js +38 -0
  299. package/dist/host/uuid.js.map +1 -0
  300. package/dist/index.d.ts +29 -18
  301. package/dist/index.d.ts.map +1 -1
  302. package/dist/index.js +20 -9
  303. package/dist/index.js.map +1 -1
  304. package/dist/jobs/definition.d.ts +96 -0
  305. package/dist/jobs/definition.d.ts.map +1 -0
  306. package/dist/jobs/definition.js +83 -0
  307. package/dist/jobs/definition.js.map +1 -0
  308. package/dist/jobs/index.d.ts +5 -0
  309. package/dist/jobs/index.d.ts.map +1 -0
  310. package/dist/jobs/index.js +3 -0
  311. package/dist/jobs/index.js.map +1 -0
  312. package/dist/jobs/internal.d.ts +3 -0
  313. package/dist/jobs/internal.d.ts.map +1 -0
  314. package/dist/jobs/internal.js +4 -0
  315. package/dist/jobs/internal.js.map +1 -0
  316. package/dist/jobs/job.d.ts +149 -0
  317. package/dist/jobs/job.d.ts.map +1 -0
  318. package/dist/jobs/job.js +387 -0
  319. package/dist/jobs/job.js.map +1 -0
  320. package/dist/jobs/persisted.d.ts +38 -0
  321. package/dist/jobs/persisted.d.ts.map +1 -0
  322. package/dist/jobs/persisted.js +95 -0
  323. package/dist/jobs/persisted.js.map +1 -0
  324. package/dist/jobs/records.d.ts +231 -0
  325. package/dist/jobs/records.d.ts.map +1 -0
  326. package/dist/jobs/records.js +871 -0
  327. package/dist/jobs/records.js.map +1 -0
  328. package/dist/jobs/run-states.d.ts +69 -0
  329. package/dist/jobs/run-states.d.ts.map +1 -0
  330. package/dist/jobs/run-states.js +228 -0
  331. package/dist/jobs/run-states.js.map +1 -0
  332. package/dist/jobs/run.d.ts +117 -0
  333. package/dist/jobs/run.d.ts.map +1 -0
  334. package/dist/jobs/run.js +204 -0
  335. package/dist/jobs/run.js.map +1 -0
  336. package/dist/jobs/running.d.ts +44 -0
  337. package/dist/jobs/running.d.ts.map +1 -0
  338. package/dist/jobs/running.js +117 -0
  339. package/dist/jobs/running.js.map +1 -0
  340. package/dist/jobs/stored.d.ts +63 -0
  341. package/dist/jobs/stored.d.ts.map +1 -0
  342. package/dist/jobs/stored.js +55 -0
  343. package/dist/jobs/stored.js.map +1 -0
  344. package/dist/link/binary.d.ts +4 -0
  345. package/dist/link/binary.d.ts.map +1 -0
  346. package/dist/link/binary.js +544 -0
  347. package/dist/link/binary.js.map +1 -0
  348. package/dist/link/channel.d.ts +68 -0
  349. package/dist/link/channel.d.ts.map +1 -0
  350. package/dist/link/channel.js +215 -0
  351. package/dist/link/channel.js.map +1 -0
  352. package/dist/link/errors.d.ts +7 -0
  353. package/dist/link/errors.d.ts.map +1 -0
  354. package/dist/link/errors.js +21 -0
  355. package/dist/link/errors.js.map +1 -0
  356. package/dist/link/index.d.ts +8 -0
  357. package/dist/link/index.d.ts.map +1 -0
  358. package/dist/link/index.js +8 -0
  359. package/dist/link/index.js.map +1 -0
  360. package/dist/link/internal.d.ts +9 -0
  361. package/dist/link/internal.d.ts.map +1 -0
  362. package/dist/link/internal.js +10 -0
  363. package/dist/link/internal.js.map +1 -0
  364. package/dist/link/ipc.d.ts +22 -0
  365. package/dist/link/ipc.d.ts.map +1 -0
  366. package/dist/link/ipc.js +64 -0
  367. package/dist/link/ipc.js.map +1 -0
  368. package/dist/link/link.d.ts +34 -0
  369. package/dist/link/link.d.ts.map +1 -0
  370. package/dist/link/link.js +87 -0
  371. package/dist/link/link.js.map +1 -0
  372. package/dist/link/message.d.ts +262 -0
  373. package/dist/link/message.d.ts.map +1 -0
  374. package/dist/link/message.js +156 -0
  375. package/dist/link/message.js.map +1 -0
  376. package/dist/link/part.d.ts +80 -0
  377. package/dist/link/part.d.ts.map +1 -0
  378. package/dist/link/part.js +165 -0
  379. package/dist/link/part.js.map +1 -0
  380. package/dist/link/text.d.ts +6 -0
  381. package/dist/link/text.d.ts.map +1 -0
  382. package/dist/link/text.js +355 -0
  383. package/dist/link/text.js.map +1 -0
  384. package/dist/link/values.d.ts +40 -0
  385. package/dist/link/values.d.ts.map +1 -0
  386. package/dist/link/values.js +121 -0
  387. package/dist/link/values.js.map +1 -0
  388. package/dist/link/websocket.d.ts +26 -0
  389. package/dist/link/websocket.d.ts.map +1 -0
  390. package/dist/link/websocket.js +91 -0
  391. package/dist/link/websocket.js.map +1 -0
  392. package/dist/node/app/app.d.ts +269 -0
  393. package/dist/node/app/app.d.ts.map +1 -0
  394. package/dist/node/app/app.js +513 -0
  395. package/dist/node/app/app.js.map +1 -0
  396. package/dist/node/app/archive.d.ts +37 -0
  397. package/dist/node/app/archive.d.ts.map +1 -0
  398. package/dist/node/app/archive.js +204 -0
  399. package/dist/node/app/archive.js.map +1 -0
  400. package/dist/node/app/blobs.d.ts +23 -0
  401. package/dist/node/app/blobs.d.ts.map +1 -0
  402. package/dist/node/app/blobs.js +64 -0
  403. package/dist/node/app/blobs.js.map +1 -0
  404. package/dist/node/app/data.d.ts +35 -0
  405. package/dist/node/app/data.d.ts.map +1 -0
  406. package/dist/node/app/data.js +44 -0
  407. package/dist/node/app/data.js.map +1 -0
  408. package/dist/node/app/ephemeral-sessions.d.ts +20 -0
  409. package/dist/node/app/ephemeral-sessions.d.ts.map +1 -0
  410. package/dist/node/app/ephemeral-sessions.js +69 -0
  411. package/dist/node/app/ephemeral-sessions.js.map +1 -0
  412. package/dist/node/app/ephemeral.d.ts +11 -0
  413. package/dist/node/app/ephemeral.d.ts.map +1 -0
  414. package/dist/node/app/ephemeral.js +34 -0
  415. package/dist/node/app/ephemeral.js.map +1 -0
  416. package/dist/node/app/files-copy.d.ts +13 -0
  417. package/dist/node/app/files-copy.d.ts.map +1 -0
  418. package/dist/node/app/files-copy.js +86 -0
  419. package/dist/node/app/files-copy.js.map +1 -0
  420. package/dist/node/app/files-entry.d.ts +4 -0
  421. package/dist/node/app/files-entry.d.ts.map +1 -0
  422. package/dist/node/app/files-entry.js +7 -0
  423. package/dist/node/app/files-entry.js.map +1 -0
  424. package/dist/node/app/files-index.d.ts +180 -0
  425. package/dist/node/app/files-index.d.ts.map +1 -0
  426. package/dist/node/app/files-index.js +535 -0
  427. package/dist/node/app/files-index.js.map +1 -0
  428. package/dist/node/app/files.d.ts +363 -0
  429. package/dist/node/app/files.d.ts.map +1 -0
  430. package/dist/node/app/files.js +368 -0
  431. package/dist/node/app/files.js.map +1 -0
  432. package/dist/node/app/folder-views.d.ts +21 -0
  433. package/dist/node/app/folder-views.d.ts.map +1 -0
  434. package/dist/node/app/folder-views.js +55 -0
  435. package/dist/node/app/folder-views.js.map +1 -0
  436. package/dist/node/app/index.d.ts +12 -0
  437. package/dist/node/app/index.d.ts.map +1 -0
  438. package/dist/node/app/index.js +15 -0
  439. package/dist/node/app/index.js.map +1 -0
  440. package/dist/node/app/info.d.ts +66 -0
  441. package/dist/node/app/info.d.ts.map +1 -0
  442. package/dist/node/app/info.js +37 -0
  443. package/dist/node/app/info.js.map +1 -0
  444. package/dist/node/app/invite.d.ts +5 -0
  445. package/dist/node/app/invite.d.ts.map +1 -0
  446. package/dist/node/app/invite.js +64 -0
  447. package/dist/node/app/invite.js.map +1 -0
  448. package/dist/node/app/layout.d.ts +36 -0
  449. package/dist/node/app/layout.d.ts.map +1 -0
  450. package/dist/node/app/layout.js +87 -0
  451. package/dist/node/app/layout.js.map +1 -0
  452. package/dist/node/app/owner.d.ts +31 -0
  453. package/dist/node/app/owner.d.ts.map +1 -0
  454. package/dist/node/app/owner.js +104 -0
  455. package/dist/node/app/owner.js.map +1 -0
  456. package/dist/node/app/pairing.d.ts +55 -0
  457. package/dist/node/app/pairing.d.ts.map +1 -0
  458. package/dist/node/app/pairing.js +183 -0
  459. package/dist/node/app/pairing.js.map +1 -0
  460. package/dist/node/app/secrets.d.ts +16 -0
  461. package/dist/node/app/secrets.d.ts.map +1 -0
  462. package/dist/node/app/secrets.js +72 -0
  463. package/dist/node/app/secrets.js.map +1 -0
  464. package/dist/node/app/sessions.d.ts +72 -0
  465. package/dist/node/app/sessions.d.ts.map +1 -0
  466. package/dist/node/app/sessions.js +222 -0
  467. package/dist/node/app/sessions.js.map +1 -0
  468. package/dist/node/app/tar.d.ts +24 -0
  469. package/dist/node/app/tar.d.ts.map +1 -0
  470. package/dist/node/app/tar.js +167 -0
  471. package/dist/node/app/tar.js.map +1 -0
  472. package/dist/node/app/uploads.d.ts +37 -0
  473. package/dist/node/app/uploads.d.ts.map +1 -0
  474. package/dist/node/app/uploads.js +157 -0
  475. package/dist/node/app/uploads.js.map +1 -0
  476. package/dist/node/app/users.d.ts +37 -0
  477. package/dist/node/app/users.d.ts.map +1 -0
  478. package/dist/node/app/users.js +62 -0
  479. package/dist/node/app/users.js.map +1 -0
  480. package/dist/node/app/worker.d.ts +18 -0
  481. package/dist/node/app/worker.d.ts.map +1 -0
  482. package/dist/node/app/worker.js +84 -0
  483. package/dist/node/app/worker.js.map +1 -0
  484. package/dist/node/compression.d.ts +7 -0
  485. package/dist/node/compression.d.ts.map +1 -0
  486. package/dist/node/compression.js +25 -0
  487. package/dist/node/compression.js.map +1 -0
  488. package/dist/node/http/admission.d.ts +63 -0
  489. package/dist/node/http/admission.d.ts.map +1 -0
  490. package/dist/node/http/admission.js +134 -0
  491. package/dist/node/http/admission.js.map +1 -0
  492. package/dist/node/http/authenticate.d.ts +21 -0
  493. package/dist/node/http/authenticate.d.ts.map +1 -0
  494. package/dist/node/http/authenticate.js +34 -0
  495. package/dist/node/http/authenticate.js.map +1 -0
  496. package/dist/node/http/cookies.d.ts +32 -0
  497. package/dist/node/http/cookies.d.ts.map +1 -0
  498. package/dist/node/http/cookies.js +70 -0
  499. package/dist/node/http/cookies.js.map +1 -0
  500. package/dist/node/http/file.d.ts +23 -0
  501. package/dist/node/http/file.d.ts.map +1 -0
  502. package/dist/node/http/file.js +94 -0
  503. package/dist/node/http/file.js.map +1 -0
  504. package/dist/node/http/headers.d.ts +37 -0
  505. package/dist/node/http/headers.d.ts.map +1 -0
  506. package/dist/node/http/headers.js +136 -0
  507. package/dist/node/http/headers.js.map +1 -0
  508. package/dist/node/http/http.d.ts +111 -0
  509. package/dist/node/http/http.d.ts.map +1 -0
  510. package/dist/node/http/http.js +524 -0
  511. package/dist/node/http/http.js.map +1 -0
  512. package/dist/node/http/incoming.d.ts +19 -0
  513. package/dist/node/http/incoming.d.ts.map +1 -0
  514. package/dist/node/http/incoming.js +31 -0
  515. package/dist/node/http/incoming.js.map +1 -0
  516. package/dist/node/http/index.d.ts +11 -0
  517. package/dist/node/http/index.d.ts.map +1 -0
  518. package/dist/node/http/index.js +12 -0
  519. package/dist/node/http/index.js.map +1 -0
  520. package/dist/node/http/node.d.ts +78 -0
  521. package/dist/node/http/node.d.ts.map +1 -0
  522. package/dist/node/http/node.js +291 -0
  523. package/dist/node/http/node.js.map +1 -0
  524. package/dist/node/http/request.d.ts +60 -0
  525. package/dist/node/http/request.d.ts.map +1 -0
  526. package/dist/node/http/request.js +118 -0
  527. package/dist/node/http/request.js.map +1 -0
  528. package/dist/node/http/response.d.ts +63 -0
  529. package/dist/node/http/response.d.ts.map +1 -0
  530. package/dist/node/http/response.js +202 -0
  531. package/dist/node/http/response.js.map +1 -0
  532. package/dist/node/http/router.d.ts +132 -0
  533. package/dist/node/http/router.d.ts.map +1 -0
  534. package/dist/node/http/router.js +267 -0
  535. package/dist/node/http/router.js.map +1 -0
  536. package/dist/node/http/upgrades.d.ts +61 -0
  537. package/dist/node/http/upgrades.d.ts.map +1 -0
  538. package/dist/node/http/upgrades.js +192 -0
  539. package/dist/node/http/upgrades.js.map +1 -0
  540. package/dist/node/plugins/base-inputs.d.ts +14 -0
  541. package/dist/node/plugins/base-inputs.d.ts.map +1 -0
  542. package/dist/node/plugins/base-inputs.js +33 -0
  543. package/dist/node/plugins/base-inputs.js.map +1 -0
  544. package/dist/node/plugins/build.d.ts +77 -0
  545. package/dist/node/plugins/build.d.ts.map +1 -0
  546. package/dist/node/plugins/build.js +576 -0
  547. package/dist/node/plugins/build.js.map +1 -0
  548. package/dist/node/plugins/css-modules.d.ts +13 -0
  549. package/dist/node/plugins/css-modules.d.ts.map +1 -0
  550. package/dist/node/plugins/css-modules.js +58 -0
  551. package/dist/node/plugins/css-modules.js.map +1 -0
  552. package/dist/node/plugins/discover.d.ts +67 -0
  553. package/dist/node/plugins/discover.d.ts.map +1 -0
  554. package/dist/node/plugins/discover.js +369 -0
  555. package/dist/node/plugins/discover.js.map +1 -0
  556. package/dist/node/plugins/evaluate.d.ts +33 -0
  557. package/dist/node/plugins/evaluate.d.ts.map +1 -0
  558. package/dist/node/plugins/evaluate.js +121 -0
  559. package/dist/node/plugins/evaluate.js.map +1 -0
  560. package/dist/node/plugins/index.d.ts +11 -0
  561. package/dist/node/plugins/index.d.ts.map +1 -0
  562. package/dist/node/plugins/index.js +13 -0
  563. package/dist/node/plugins/index.js.map +1 -0
  564. package/dist/node/plugins/install.d.ts +38 -0
  565. package/dist/node/plugins/install.d.ts.map +1 -0
  566. package/dist/node/plugins/install.js +213 -0
  567. package/dist/node/plugins/install.js.map +1 -0
  568. package/dist/node/plugins/plugins.d.ts +162 -0
  569. package/dist/node/plugins/plugins.d.ts.map +1 -0
  570. package/dist/node/plugins/plugins.js +244 -0
  571. package/dist/node/plugins/plugins.js.map +1 -0
  572. package/dist/node/plugins/runtime.d.ts +57 -0
  573. package/dist/node/plugins/runtime.d.ts.map +1 -0
  574. package/dist/node/plugins/runtime.js +92 -0
  575. package/dist/node/plugins/runtime.js.map +1 -0
  576. package/dist/node/plugins/stack.d.ts +16 -0
  577. package/dist/node/plugins/stack.d.ts.map +1 -0
  578. package/dist/node/plugins/stack.js +61 -0
  579. package/dist/node/plugins/stack.js.map +1 -0
  580. package/dist/node/plugins/testing.d.ts +58 -0
  581. package/dist/node/plugins/testing.d.ts.map +1 -0
  582. package/dist/node/plugins/testing.js +210 -0
  583. package/dist/node/plugins/testing.js.map +1 -0
  584. package/dist/node/plugins/watcher.d.ts +69 -0
  585. package/dist/node/plugins/watcher.d.ts.map +1 -0
  586. package/dist/node/plugins/watcher.js +622 -0
  587. package/dist/node/plugins/watcher.js.map +1 -0
  588. package/dist/node/surfaces/bundle.d.ts +31 -0
  589. package/dist/node/surfaces/bundle.d.ts.map +1 -0
  590. package/dist/node/surfaces/bundle.js +118 -0
  591. package/dist/node/surfaces/bundle.js.map +1 -0
  592. package/dist/node/surfaces/current.d.ts +17 -0
  593. package/dist/node/surfaces/current.d.ts.map +1 -0
  594. package/dist/node/surfaces/current.js +54 -0
  595. package/dist/node/surfaces/current.js.map +1 -0
  596. package/dist/node/surfaces/index.d.ts +6 -0
  597. package/dist/node/surfaces/index.d.ts.map +1 -0
  598. package/dist/node/surfaces/index.js +6 -0
  599. package/dist/node/surfaces/index.js.map +1 -0
  600. package/dist/node/surfaces/published.d.ts +27 -0
  601. package/dist/node/surfaces/published.d.ts.map +1 -0
  602. package/dist/node/surfaces/published.js +142 -0
  603. package/dist/node/surfaces/published.js.map +1 -0
  604. package/dist/node/surfaces/served.d.ts +15 -0
  605. package/dist/node/surfaces/served.d.ts.map +1 -0
  606. package/dist/node/surfaces/served.js +42 -0
  607. package/dist/node/surfaces/served.js.map +1 -0
  608. package/dist/node/surfaces/surface-build.d.ts +53 -0
  609. package/dist/node/surfaces/surface-build.d.ts.map +1 -0
  610. package/dist/node/surfaces/surface-build.js +105 -0
  611. package/dist/node/surfaces/surface-build.js.map +1 -0
  612. package/dist/node/surfaces/tui.d.ts +40 -0
  613. package/dist/node/surfaces/tui.d.ts.map +1 -0
  614. package/dist/node/surfaces/tui.js +55 -0
  615. package/dist/node/surfaces/tui.js.map +1 -0
  616. package/dist/node/surfaces/web.d.ts +56 -0
  617. package/dist/node/surfaces/web.d.ts.map +1 -0
  618. package/dist/node/surfaces/web.js +108 -0
  619. package/dist/node/surfaces/web.js.map +1 -0
  620. package/dist/node/tui/actions.d.ts +49 -0
  621. package/dist/node/tui/actions.d.ts.map +1 -0
  622. package/dist/node/tui/actions.js +195 -0
  623. package/dist/node/tui/actions.js.map +1 -0
  624. package/dist/node/tui/credentials.d.ts +17 -0
  625. package/dist/node/tui/credentials.d.ts.map +1 -0
  626. package/dist/node/tui/credentials.js +54 -0
  627. package/dist/node/tui/credentials.js.map +1 -0
  628. package/dist/node/tui/filter.d.ts +5 -0
  629. package/dist/node/tui/filter.d.ts.map +1 -0
  630. package/dist/node/tui/filter.js +79 -0
  631. package/dist/node/tui/filter.js.map +1 -0
  632. package/dist/node/tui/index.d.ts +6 -0
  633. package/dist/node/tui/index.d.ts.map +1 -0
  634. package/dist/node/tui/index.js +6 -0
  635. package/dist/node/tui/index.js.map +1 -0
  636. package/dist/node/tui/launcher.d.ts +40 -0
  637. package/dist/node/tui/launcher.d.ts.map +1 -0
  638. package/dist/node/tui/launcher.js +439 -0
  639. package/dist/node/tui/launcher.js.map +1 -0
  640. package/dist/node/tui/pipe.d.ts +18 -0
  641. package/dist/node/tui/pipe.d.ts.map +1 -0
  642. package/dist/node/tui/pipe.js +134 -0
  643. package/dist/node/tui/pipe.js.map +1 -0
  644. package/dist/node/tui/sandbox.d.ts +54 -0
  645. package/dist/node/tui/sandbox.d.ts.map +1 -0
  646. package/dist/node/tui/sandbox.js +431 -0
  647. package/dist/node/tui/sandbox.js.map +1 -0
  648. package/dist/node/workers/base.d.ts +30 -0
  649. package/dist/node/workers/base.d.ts.map +1 -0
  650. package/dist/node/workers/base.js +255 -0
  651. package/dist/node/workers/base.js.map +1 -0
  652. package/dist/node/workers/child.d.ts +4 -0
  653. package/dist/node/workers/child.d.ts.map +1 -0
  654. package/dist/node/workers/child.js +6 -0
  655. package/dist/node/workers/child.js.map +1 -0
  656. package/dist/node/workers/control.d.ts +83 -0
  657. package/dist/node/workers/control.d.ts.map +1 -0
  658. package/dist/node/workers/control.js +77 -0
  659. package/dist/node/workers/control.js.map +1 -0
  660. package/dist/node/workers/index.d.ts +4 -0
  661. package/dist/node/workers/index.d.ts.map +1 -0
  662. package/dist/node/workers/index.js +7 -0
  663. package/dist/node/workers/index.js.map +1 -0
  664. package/dist/node/workers/lock.d.ts +30 -0
  665. package/dist/node/workers/lock.d.ts.map +1 -0
  666. package/dist/node/workers/lock.js +180 -0
  667. package/dist/node/workers/lock.js.map +1 -0
  668. package/dist/node/workers/main.d.ts +46 -0
  669. package/dist/node/workers/main.d.ts.map +1 -0
  670. package/dist/node/workers/main.js +230 -0
  671. package/dist/node/workers/main.js.map +1 -0
  672. package/dist/node/workers/process.d.ts +42 -0
  673. package/dist/node/workers/process.d.ts.map +1 -0
  674. package/dist/node/workers/process.js +125 -0
  675. package/dist/node/workers/process.js.map +1 -0
  676. package/dist/node/workers/workers.d.ts +122 -0
  677. package/dist/node/workers/workers.d.ts.map +1 -0
  678. package/dist/node/workers/workers.js +677 -0
  679. package/dist/node/workers/workers.js.map +1 -0
  680. package/dist/output.d.ts +1 -1
  681. package/dist/output.d.ts.map +1 -1
  682. package/dist/output.js +4 -2
  683. package/dist/output.js.map +1 -1
  684. package/dist/react/hooks.d.ts +43 -0
  685. package/dist/react/hooks.d.ts.map +1 -0
  686. package/dist/react/hooks.js +82 -0
  687. package/dist/react/hooks.js.map +1 -0
  688. package/dist/react/index.d.ts +3 -0
  689. package/dist/react/index.d.ts.map +1 -0
  690. package/dist/react/index.js +4 -0
  691. package/dist/react/index.js.map +1 -0
  692. package/dist/react/stores.d.ts +9 -0
  693. package/dist/react/stores.d.ts.map +1 -0
  694. package/dist/react/stores.js +37 -0
  695. package/dist/react/stores.js.map +1 -0
  696. package/dist/registries/contribution.d.ts +50 -0
  697. package/dist/registries/contribution.d.ts.map +1 -0
  698. package/dist/registries/contribution.js +129 -0
  699. package/dist/registries/contribution.js.map +1 -0
  700. package/dist/registries/entries.d.ts +18 -0
  701. package/dist/registries/entries.d.ts.map +1 -0
  702. package/dist/registries/entries.js +42 -0
  703. package/dist/registries/entries.js.map +1 -0
  704. package/dist/registries/index.d.ts +3 -0
  705. package/dist/registries/index.d.ts.map +1 -0
  706. package/dist/registries/index.js +5 -0
  707. package/dist/registries/index.js.map +1 -0
  708. package/dist/registries/internal.d.ts +4 -0
  709. package/dist/registries/internal.d.ts.map +1 -0
  710. package/dist/registries/internal.js +5 -0
  711. package/dist/registries/internal.js.map +1 -0
  712. package/dist/registries/record.d.ts +115 -0
  713. package/dist/registries/record.d.ts.map +1 -0
  714. package/dist/registries/record.js +283 -0
  715. package/dist/registries/record.js.map +1 -0
  716. package/dist/registries/registry.d.ts +74 -0
  717. package/dist/registries/registry.d.ts.map +1 -0
  718. package/dist/registries/registry.js +14 -0
  719. package/dist/registries/registry.js.map +1 -0
  720. package/dist/registries/value.d.ts +48 -0
  721. package/dist/registries/value.d.ts.map +1 -0
  722. package/dist/registries/value.js +224 -0
  723. package/dist/registries/value.js.map +1 -0
  724. package/dist/remote/calls.d.ts +25 -0
  725. package/dist/remote/calls.d.ts.map +1 -0
  726. package/dist/remote/calls.js +62 -0
  727. package/dist/remote/calls.js.map +1 -0
  728. package/dist/remote/consumer.d.ts +43 -0
  729. package/dist/remote/consumer.d.ts.map +1 -0
  730. package/dist/remote/consumer.js +350 -0
  731. package/dist/remote/consumer.js.map +1 -0
  732. package/dist/remote/hold.d.ts +141 -0
  733. package/dist/remote/hold.d.ts.map +1 -0
  734. package/dist/remote/hold.js +579 -0
  735. package/dist/remote/hold.js.map +1 -0
  736. package/dist/remote/host-link.d.ts +77 -0
  737. package/dist/remote/host-link.d.ts.map +1 -0
  738. package/dist/remote/host-link.js +184 -0
  739. package/dist/remote/host-link.js.map +1 -0
  740. package/dist/remote/internal.d.ts +6 -0
  741. package/dist/remote/internal.d.ts.map +1 -0
  742. package/dist/remote/internal.js +6 -0
  743. package/dist/remote/internal.js.map +1 -0
  744. package/dist/remote/path.d.ts +46 -0
  745. package/dist/remote/path.d.ts.map +1 -0
  746. package/dist/remote/path.js +73 -0
  747. package/dist/remote/path.js.map +1 -0
  748. package/dist/remote/provider.d.ts +89 -0
  749. package/dist/remote/provider.d.ts.map +1 -0
  750. package/dist/remote/provider.js +597 -0
  751. package/dist/remote/provider.js.map +1 -0
  752. package/dist/remote/relay.d.ts +69 -0
  753. package/dist/remote/relay.d.ts.map +1 -0
  754. package/dist/remote/relay.js +219 -0
  755. package/dist/remote/relay.js.map +1 -0
  756. package/dist/remote/remote-object.d.ts +138 -0
  757. package/dist/remote/remote-object.d.ts.map +1 -0
  758. package/dist/remote/remote-object.js +492 -0
  759. package/dist/remote/remote-object.js.map +1 -0
  760. package/dist/remote/replica.d.ts +59 -0
  761. package/dist/remote/replica.d.ts.map +1 -0
  762. package/dist/remote/replica.js +125 -0
  763. package/dist/remote/replica.js.map +1 -0
  764. package/dist/sqlite/cloudflare.d.ts +2 -0
  765. package/dist/sqlite/cloudflare.d.ts.map +1 -1
  766. package/dist/sqlite/cloudflare.js +10 -0
  767. package/dist/sqlite/cloudflare.js.map +1 -1
  768. package/dist/sqlite/database.d.ts +5 -2
  769. package/dist/sqlite/database.d.ts.map +1 -1
  770. package/dist/sqlite/database.js.map +1 -1
  771. package/dist/sqlite/node.d.ts +13 -2
  772. package/dist/sqlite/node.d.ts.map +1 -1
  773. package/dist/sqlite/node.js +31 -8
  774. package/dist/sqlite/node.js.map +1 -1
  775. package/dist/state/batch.d.ts +64 -0
  776. package/dist/state/batch.d.ts.map +1 -0
  777. package/dist/state/batch.js +164 -0
  778. package/dist/state/batch.js.map +1 -0
  779. package/dist/state/derive.d.ts +52 -0
  780. package/dist/state/derive.d.ts.map +1 -0
  781. package/dist/state/derive.js +182 -0
  782. package/dist/state/derive.js.map +1 -0
  783. package/dist/state/index.d.ts +6 -0
  784. package/dist/state/index.d.ts.map +1 -0
  785. package/dist/state/index.js +4 -0
  786. package/dist/state/index.js.map +1 -0
  787. package/dist/state/internal.d.ts +6 -0
  788. package/dist/state/internal.d.ts.map +1 -0
  789. package/dist/state/internal.js +8 -0
  790. package/dist/state/internal.js.map +1 -0
  791. package/dist/state/native-source.d.ts +106 -0
  792. package/dist/state/native-source.d.ts.map +1 -0
  793. package/dist/state/native-source.js +240 -0
  794. package/dist/state/native-source.js.map +1 -0
  795. package/dist/state/watchable.d.ts +114 -0
  796. package/dist/state/watchable.d.ts.map +1 -0
  797. package/dist/state/watchable.js +156 -0
  798. package/dist/state/watchable.js.map +1 -0
  799. package/dist/state/writable.d.ts +32 -0
  800. package/dist/state/writable.d.ts.map +1 -0
  801. package/dist/state/writable.js +49 -0
  802. package/dist/state/writable.js.map +1 -0
  803. package/dist/store/adapter.d.ts +67 -0
  804. package/dist/store/adapter.d.ts.map +1 -0
  805. package/dist/store/adapter.js +118 -0
  806. package/dist/store/adapter.js.map +1 -0
  807. package/dist/store/allocator.d.ts +17 -0
  808. package/dist/store/allocator.d.ts.map +1 -0
  809. package/dist/store/allocator.js +30 -0
  810. package/dist/store/allocator.js.map +1 -0
  811. package/dist/store/applier.d.ts +8 -0
  812. package/dist/store/applier.d.ts.map +1 -0
  813. package/dist/store/applier.js +375 -0
  814. package/dist/store/applier.js.map +1 -0
  815. package/dist/store/apply-batch.d.ts +12 -0
  816. package/dist/store/apply-batch.d.ts.map +1 -0
  817. package/dist/store/apply-batch.js +83 -0
  818. package/dist/store/apply-batch.js.map +1 -0
  819. package/dist/store/archive.d.ts +32 -0
  820. package/dist/store/archive.d.ts.map +1 -0
  821. package/dist/store/archive.js +130 -0
  822. package/dist/store/archive.js.map +1 -0
  823. package/dist/store/backend.d.ts +10 -0
  824. package/dist/store/backend.d.ts.map +1 -0
  825. package/dist/store/backend.js +15 -0
  826. package/dist/store/backend.js.map +1 -0
  827. package/dist/store/catalog.d.ts +24 -0
  828. package/dist/store/catalog.d.ts.map +1 -0
  829. package/dist/store/catalog.js +17 -0
  830. package/dist/store/catalog.js.map +1 -0
  831. package/dist/store/claims.d.ts +23 -0
  832. package/dist/store/claims.d.ts.map +1 -0
  833. package/dist/store/claims.js +65 -0
  834. package/dist/store/claims.js.map +1 -0
  835. package/dist/store/columns.d.ts +77 -0
  836. package/dist/store/columns.d.ts.map +1 -0
  837. package/dist/store/columns.js +77 -0
  838. package/dist/store/columns.js.map +1 -0
  839. package/dist/store/engine.d.ts +176 -0
  840. package/dist/store/engine.d.ts.map +1 -0
  841. package/dist/store/engine.js +283 -0
  842. package/dist/store/engine.js.map +1 -0
  843. package/dist/store/evaluate.d.ts +17 -0
  844. package/dist/store/evaluate.d.ts.map +1 -0
  845. package/dist/store/evaluate.js +128 -0
  846. package/dist/store/evaluate.js.map +1 -0
  847. package/dist/store/export.d.ts +17 -0
  848. package/dist/store/export.d.ts.map +1 -0
  849. package/dist/store/export.js +200 -0
  850. package/dist/store/export.js.map +1 -0
  851. package/dist/store/expression.d.ts +150 -0
  852. package/dist/store/expression.d.ts.map +1 -0
  853. package/dist/store/expression.js +268 -0
  854. package/dist/store/expression.js.map +1 -0
  855. package/dist/store/import.d.ts +10 -0
  856. package/dist/store/import.d.ts.map +1 -0
  857. package/dist/store/import.js +276 -0
  858. package/dist/store/import.js.map +1 -0
  859. package/dist/store/index.d.ts +16 -0
  860. package/dist/store/index.d.ts.map +1 -0
  861. package/dist/store/index.js +13 -0
  862. package/dist/store/index.js.map +1 -0
  863. package/dist/store/json-column.d.ts +33 -0
  864. package/dist/store/json-column.d.ts.map +1 -0
  865. package/dist/store/json-column.js +62 -0
  866. package/dist/store/json-column.js.map +1 -0
  867. package/dist/store/jsonl.d.ts +9 -0
  868. package/dist/store/jsonl.d.ts.map +1 -0
  869. package/dist/store/jsonl.js +61 -0
  870. package/dist/store/jsonl.js.map +1 -0
  871. package/dist/store/live-query.d.ts +108 -0
  872. package/dist/store/live-query.d.ts.map +1 -0
  873. package/dist/store/live-query.js +254 -0
  874. package/dist/store/live-query.js.map +1 -0
  875. package/dist/store/outbox.d.ts +26 -0
  876. package/dist/store/outbox.d.ts.map +1 -0
  877. package/dist/store/outbox.js +80 -0
  878. package/dist/store/outbox.js.map +1 -0
  879. package/dist/store/query.d.ts +39 -0
  880. package/dist/store/query.d.ts.map +1 -0
  881. package/dist/store/query.js +97 -0
  882. package/dist/store/query.js.map +1 -0
  883. package/dist/store/refusal.d.ts +15 -0
  884. package/dist/store/refusal.d.ts.map +1 -0
  885. package/dist/store/refusal.js +36 -0
  886. package/dist/store/refusal.js.map +1 -0
  887. package/dist/store/rows.d.ts +80 -0
  888. package/dist/store/rows.d.ts.map +1 -0
  889. package/dist/store/rows.js +183 -0
  890. package/dist/store/rows.js.map +1 -0
  891. package/dist/store/schema.d.ts +25 -0
  892. package/dist/store/schema.d.ts.map +1 -0
  893. package/dist/store/schema.js +115 -0
  894. package/dist/store/schema.js.map +1 -0
  895. package/dist/store/sql.d.ts +73 -0
  896. package/dist/store/sql.d.ts.map +1 -0
  897. package/dist/store/sql.js +234 -0
  898. package/dist/store/sql.js.map +1 -0
  899. package/dist/store/step.d.ts +50 -0
  900. package/dist/store/step.d.ts.map +1 -0
  901. package/dist/store/step.js +52 -0
  902. package/dist/store/step.js.map +1 -0
  903. package/dist/store/store.d.ts +171 -0
  904. package/dist/store/store.d.ts.map +1 -0
  905. package/dist/store/store.js +818 -0
  906. package/dist/store/store.js.map +1 -0
  907. package/dist/store/table-changes.d.ts +29 -0
  908. package/dist/store/table-changes.d.ts.map +1 -0
  909. package/dist/store/table-changes.js +102 -0
  910. package/dist/store/table-changes.js.map +1 -0
  911. package/dist/store/table-evolve.d.ts +74 -0
  912. package/dist/store/table-evolve.d.ts.map +1 -0
  913. package/dist/store/table-evolve.js +201 -0
  914. package/dist/store/table-evolve.js.map +1 -0
  915. package/dist/store/table-handle.d.ts +73 -0
  916. package/dist/store/table-handle.d.ts.map +1 -0
  917. package/dist/store/table-handle.js +101 -0
  918. package/dist/store/table-handle.js.map +1 -0
  919. package/dist/store/table-history.d.ts +75 -0
  920. package/dist/store/table-history.d.ts.map +1 -0
  921. package/dist/store/table-history.js +42 -0
  922. package/dist/store/table-history.js.map +1 -0
  923. package/dist/store/table-migration.d.ts +16 -0
  924. package/dist/store/table-migration.d.ts.map +1 -0
  925. package/dist/store/table-migration.js +202 -0
  926. package/dist/store/table-migration.js.map +1 -0
  927. package/dist/store/table-writes.d.ts +125 -0
  928. package/dist/store/table-writes.d.ts.map +1 -0
  929. package/dist/store/table-writes.js +170 -0
  930. package/dist/store/table-writes.js.map +1 -0
  931. package/dist/store/table.d.ts +80 -0
  932. package/dist/store/table.d.ts.map +1 -0
  933. package/dist/store/table.js +103 -0
  934. package/dist/store/table.js.map +1 -0
  935. package/dist/store/text.d.ts +14 -0
  936. package/dist/store/text.d.ts.map +1 -0
  937. package/dist/store/text.js +51 -0
  938. package/dist/store/text.js.map +1 -0
  939. package/dist/store/writes.d.ts +5 -0
  940. package/dist/store/writes.d.ts.map +1 -0
  941. package/dist/store/writes.js +4 -0
  942. package/dist/store/writes.js.map +1 -0
  943. package/dist/surfaces/active-language.d.ts +20 -0
  944. package/dist/surfaces/active-language.d.ts.map +1 -0
  945. package/dist/surfaces/active-language.js +78 -0
  946. package/dist/surfaces/active-language.js.map +1 -0
  947. package/dist/surfaces/active-theme.d.ts +16 -0
  948. package/dist/surfaces/active-theme.d.ts.map +1 -0
  949. package/dist/surfaces/active-theme.js +47 -0
  950. package/dist/surfaces/active-theme.js.map +1 -0
  951. package/dist/surfaces/client.d.ts +96 -0
  952. package/dist/surfaces/client.d.ts.map +1 -0
  953. package/dist/surfaces/client.js +264 -0
  954. package/dist/surfaces/client.js.map +1 -0
  955. package/dist/surfaces/connection.d.ts +49 -0
  956. package/dist/surfaces/connection.d.ts.map +1 -0
  957. package/dist/surfaces/connection.js +142 -0
  958. package/dist/surfaces/connection.js.map +1 -0
  959. package/dist/surfaces/format.d.ts +5 -0
  960. package/dist/surfaces/format.d.ts.map +1 -0
  961. package/dist/surfaces/format.js +37 -0
  962. package/dist/surfaces/format.js.map +1 -0
  963. package/dist/surfaces/index.d.ts +15 -0
  964. package/dist/surfaces/index.d.ts.map +1 -0
  965. package/dist/surfaces/index.js +18 -0
  966. package/dist/surfaces/index.js.map +1 -0
  967. package/dist/surfaces/language.d.ts +53 -0
  968. package/dist/surfaces/language.d.ts.map +1 -0
  969. package/dist/surfaces/language.js +74 -0
  970. package/dist/surfaces/language.js.map +1 -0
  971. package/dist/surfaces/loaded.d.ts +42 -0
  972. package/dist/surfaces/loaded.d.ts.map +1 -0
  973. package/dist/surfaces/loaded.js +116 -0
  974. package/dist/surfaces/loaded.js.map +1 -0
  975. package/dist/surfaces/locale-choice.d.ts +25 -0
  976. package/dist/surfaces/locale-choice.d.ts.map +1 -0
  977. package/dist/surfaces/locale-choice.js +14 -0
  978. package/dist/surfaces/locale-choice.js.map +1 -0
  979. package/dist/surfaces/messages.d.ts +67 -0
  980. package/dist/surfaces/messages.d.ts.map +1 -0
  981. package/dist/surfaces/messages.js +112 -0
  982. package/dist/surfaces/messages.js.map +1 -0
  983. package/dist/surfaces/page-state.d.ts +14 -0
  984. package/dist/surfaces/page-state.d.ts.map +1 -0
  985. package/dist/surfaces/page-state.js +43 -0
  986. package/dist/surfaces/page-state.js.map +1 -0
  987. package/dist/surfaces/preference.d.ts +32 -0
  988. package/dist/surfaces/preference.d.ts.map +1 -0
  989. package/dist/surfaces/preference.js +72 -0
  990. package/dist/surfaces/preference.js.map +1 -0
  991. package/dist/surfaces/registered.d.ts +33 -0
  992. package/dist/surfaces/registered.d.ts.map +1 -0
  993. package/dist/surfaces/registered.js +51 -0
  994. package/dist/surfaces/registered.js.map +1 -0
  995. package/dist/surfaces/scripts.d.ts +84 -0
  996. package/dist/surfaces/scripts.d.ts.map +1 -0
  997. package/dist/surfaces/scripts.js +28 -0
  998. package/dist/surfaces/scripts.js.map +1 -0
  999. package/dist/surfaces/theme-choice.d.ts +31 -0
  1000. package/dist/surfaces/theme-choice.d.ts.map +1 -0
  1001. package/dist/surfaces/theme-choice.js +18 -0
  1002. package/dist/surfaces/theme-choice.js.map +1 -0
  1003. package/dist/surfaces/themes.d.ts +43 -0
  1004. package/dist/surfaces/themes.d.ts.map +1 -0
  1005. package/dist/surfaces/themes.js +110 -0
  1006. package/dist/surfaces/themes.js.map +1 -0
  1007. package/dist/surfaces/translations.d.ts +29 -0
  1008. package/dist/surfaces/translations.d.ts.map +1 -0
  1009. package/dist/surfaces/translations.js +57 -0
  1010. package/dist/surfaces/translations.js.map +1 -0
  1011. package/dist/sync/batch.d.ts +18 -0
  1012. package/dist/sync/batch.d.ts.map +1 -0
  1013. package/dist/sync/batch.js +125 -0
  1014. package/dist/sync/batch.js.map +1 -0
  1015. package/dist/sync/client.d.ts +166 -0
  1016. package/dist/sync/client.d.ts.map +1 -0
  1017. package/dist/sync/client.js +438 -0
  1018. package/dist/sync/client.js.map +1 -0
  1019. package/dist/sync/files.d.ts +46 -0
  1020. package/dist/sync/files.d.ts.map +1 -0
  1021. package/dist/sync/files.js +13 -0
  1022. package/dist/sync/files.js.map +1 -0
  1023. package/dist/sync/filesystem.d.ts +37 -0
  1024. package/dist/sync/filesystem.d.ts.map +1 -0
  1025. package/dist/sync/filesystem.js +185 -0
  1026. package/dist/sync/filesystem.js.map +1 -0
  1027. package/dist/sync/index.d.ts +8 -0
  1028. package/dist/sync/index.d.ts.map +1 -0
  1029. package/dist/sync/index.js +9 -0
  1030. package/dist/sync/index.js.map +1 -0
  1031. package/dist/sync/lines.d.ts +18 -0
  1032. package/dist/sync/lines.d.ts.map +1 -0
  1033. package/dist/sync/lines.js +46 -0
  1034. package/dist/sync/lines.js.map +1 -0
  1035. package/dist/sync/remote.d.ts +130 -0
  1036. package/dist/sync/remote.d.ts.map +1 -0
  1037. package/dist/sync/remote.js +46 -0
  1038. package/dist/sync/remote.js.map +1 -0
  1039. package/dist/sync/state.d.ts +17 -0
  1040. package/dist/sync/state.d.ts.map +1 -0
  1041. package/dist/sync/state.js +40 -0
  1042. package/dist/sync/state.js.map +1 -0
  1043. package/dist/telemetry-ingest/batch.d.ts +70 -0
  1044. package/dist/telemetry-ingest/batch.d.ts.map +1 -0
  1045. package/dist/telemetry-ingest/batch.js +110 -0
  1046. package/dist/telemetry-ingest/batch.js.map +1 -0
  1047. package/dist/telemetry-ingest/facet.d.ts +21 -0
  1048. package/dist/telemetry-ingest/facet.d.ts.map +1 -0
  1049. package/dist/telemetry-ingest/facet.js +96 -0
  1050. package/dist/telemetry-ingest/facet.js.map +1 -0
  1051. package/dist/telemetry-ingest/index.d.ts +5 -0
  1052. package/dist/telemetry-ingest/index.d.ts.map +1 -0
  1053. package/dist/telemetry-ingest/index.js +8 -0
  1054. package/dist/telemetry-ingest/index.js.map +1 -0
  1055. package/dist/telemetry-ingest/recorder.d.ts +50 -0
  1056. package/dist/telemetry-ingest/recorder.d.ts.map +1 -0
  1057. package/dist/telemetry-ingest/recorder.js +298 -0
  1058. package/dist/telemetry-ingest/recorder.js.map +1 -0
  1059. package/dist/telemetry-ingest/sender.d.ts +14 -0
  1060. package/dist/telemetry-ingest/sender.d.ts.map +1 -0
  1061. package/dist/telemetry-ingest/sender.js +64 -0
  1062. package/dist/telemetry-ingest/sender.js.map +1 -0
  1063. package/dist/telemetry-sqlite/index.d.ts +13 -4
  1064. package/dist/telemetry-sqlite/index.d.ts.map +1 -1
  1065. package/dist/telemetry-sqlite/index.js +81 -241
  1066. package/dist/telemetry-sqlite/index.js.map +1 -1
  1067. package/dist/telemetry-sqlite/node.d.ts +13 -0
  1068. package/dist/telemetry-sqlite/node.d.ts.map +1 -0
  1069. package/dist/telemetry-sqlite/node.js +27 -0
  1070. package/dist/telemetry-sqlite/node.js.map +1 -0
  1071. package/dist/telemetry-sqlite/schema.d.ts +9 -0
  1072. package/dist/telemetry-sqlite/schema.d.ts.map +1 -0
  1073. package/dist/telemetry-sqlite/schema.js +61 -0
  1074. package/dist/telemetry-sqlite/schema.js.map +1 -0
  1075. package/dist/telemetry-sqlite/store.d.ts +3 -0
  1076. package/dist/telemetry-sqlite/store.d.ts.map +1 -1
  1077. package/dist/telemetry-sqlite/store.js +24 -13
  1078. package/dist/telemetry-sqlite/store.js.map +1 -1
  1079. package/dist/telemetry.d.ts +937 -0
  1080. package/dist/telemetry.d.ts.map +1 -0
  1081. package/dist/telemetry.js +470 -0
  1082. package/dist/telemetry.js.map +1 -0
  1083. package/dist/tui/bridge.d.ts +112 -0
  1084. package/dist/tui/bridge.d.ts.map +1 -0
  1085. package/dist/tui/bridge.js +9 -0
  1086. package/dist/tui/bridge.js.map +1 -0
  1087. package/dist/tui/channel.d.ts +44 -0
  1088. package/dist/tui/channel.d.ts.map +1 -0
  1089. package/dist/tui/channel.js +150 -0
  1090. package/dist/tui/channel.js.map +1 -0
  1091. package/dist/tui/frames.d.ts +5 -0
  1092. package/dist/tui/frames.d.ts.map +1 -0
  1093. package/dist/tui/frames.js +52 -0
  1094. package/dist/tui/frames.js.map +1 -0
  1095. package/dist/tui/index.d.ts +7 -0
  1096. package/dist/tui/index.d.ts.map +1 -0
  1097. package/dist/tui/index.js +8 -0
  1098. package/dist/tui/index.js.map +1 -0
  1099. package/dist/tui/runtime.d.ts +46 -0
  1100. package/dist/tui/runtime.d.ts.map +1 -0
  1101. package/dist/tui/runtime.js +101 -0
  1102. package/dist/tui/runtime.js.map +1 -0
  1103. package/dist/tui/scope.d.ts +46 -0
  1104. package/dist/tui/scope.d.ts.map +1 -0
  1105. package/dist/tui/scope.js +141 -0
  1106. package/dist/tui/scope.js.map +1 -0
  1107. package/dist/tui/terminal.d.ts +15 -0
  1108. package/dist/tui/terminal.d.ts.map +1 -0
  1109. package/dist/tui/terminal.js +37 -0
  1110. package/dist/tui/terminal.js.map +1 -0
  1111. package/dist/tui/theme.d.ts +17 -0
  1112. package/dist/tui/theme.d.ts.map +1 -0
  1113. package/dist/tui/theme.js +38 -0
  1114. package/dist/tui/theme.js.map +1 -0
  1115. package/dist/watch.d.ts +194 -0
  1116. package/dist/watch.d.ts.map +1 -0
  1117. package/dist/watch.js +383 -0
  1118. package/dist/watch.js.map +1 -0
  1119. package/dist/web/environment.d.ts +4 -0
  1120. package/dist/web/environment.d.ts.map +1 -0
  1121. package/dist/web/environment.js +37 -0
  1122. package/dist/web/environment.js.map +1 -0
  1123. package/dist/web/index.d.ts +5 -0
  1124. package/dist/web/index.d.ts.map +1 -0
  1125. package/dist/web/index.js +7 -0
  1126. package/dist/web/index.js.map +1 -0
  1127. package/dist/web/language.d.ts +7 -0
  1128. package/dist/web/language.d.ts.map +1 -0
  1129. package/dist/web/language.js +21 -0
  1130. package/dist/web/language.js.map +1 -0
  1131. package/dist/web/page.d.ts +29 -0
  1132. package/dist/web/page.d.ts.map +1 -0
  1133. package/dist/web/page.js +92 -0
  1134. package/dist/web/page.js.map +1 -0
  1135. package/dist/web/scripts.d.ts +23 -0
  1136. package/dist/web/scripts.d.ts.map +1 -0
  1137. package/dist/web/scripts.js +50 -0
  1138. package/dist/web/scripts.js.map +1 -0
  1139. package/dist/web/styles.d.ts +17 -0
  1140. package/dist/web/styles.d.ts.map +1 -0
  1141. package/dist/web/styles.js +218 -0
  1142. package/dist/web/styles.js.map +1 -0
  1143. package/dist/web/themes.d.ts +6 -0
  1144. package/dist/web/themes.d.ts.map +1 -0
  1145. package/dist/web/themes.js +31 -0
  1146. package/dist/web/themes.js.map +1 -0
  1147. package/docs/benchmarks.md +1036 -0
  1148. package/docs/decisions.md +3436 -0
  1149. package/docs/dependencies/book.md +1671 -0
  1150. package/docs/dependencies/index.html +2641 -0
  1151. package/docs/dependencies/model.md +330 -0
  1152. package/docs/design.md +3065 -0
  1153. package/docs/durable-observers/book.md +432 -0
  1154. package/docs/durable-observers/index.html +517 -0
  1155. package/docs/flow-control/book.md +333 -0
  1156. package/docs/flow-control/fold/index.html +265 -0
  1157. package/docs/flow-control/index.html +548 -0
  1158. package/docs/flow-control/window/index.html +228 -0
  1159. package/docs/guide-plugins-hosts/book.md +957 -0
  1160. package/docs/guide-plugins-hosts/index.html +952 -0
  1161. package/docs/http-workers/book.md +378 -0
  1162. package/docs/http-workers/index.html +515 -0
  1163. package/docs/i18n/book.md +217 -0
  1164. package/docs/i18n/index.html +344 -0
  1165. package/docs/layer-1.md +311 -0
  1166. package/docs/layer-2.md +216 -0
  1167. package/docs/p3-features/README.md +6 -0
  1168. package/docs/p3-features/book.md +478 -0
  1169. package/docs/plugin-authoring.md +276 -0
  1170. package/docs/plugin-model/book.md +186 -0
  1171. package/docs/plugin-model/index.html +310 -0
  1172. package/docs/plugin-primer/book.md +273 -0
  1173. package/docs/plugin-primer/index.html +430 -0
  1174. package/docs/slice-1.md +236 -0
  1175. package/docs/slice-10.md +288 -0
  1176. package/docs/slice-11.md +114 -0
  1177. package/docs/slice-12.md +132 -0
  1178. package/docs/slice-13.md +121 -0
  1179. package/docs/slice-2.md +174 -0
  1180. package/docs/slice-3a.md +296 -0
  1181. package/docs/slice-3b.md +197 -0
  1182. package/docs/slice-4.md +146 -0
  1183. package/docs/slice-4a.md +418 -0
  1184. package/docs/slice-4b.md +208 -0
  1185. package/docs/slice-5.md +281 -0
  1186. package/docs/slice-6a.md +676 -0
  1187. package/docs/slice-6b.md +332 -0
  1188. package/docs/slice-7a.md +130 -0
  1189. package/docs/slice-7b/book.md +608 -0
  1190. package/docs/slice-7b/index.html +842 -0
  1191. package/docs/slice-7b.md +255 -0
  1192. package/docs/slice-7c.md +165 -0
  1193. package/docs/slice-8.md +194 -0
  1194. package/docs/slice-9.md +110 -0
  1195. package/docs/slices.md +241 -0
  1196. package/docs/store/book.md +670 -0
  1197. package/docs/store/index.html +861 -0
  1198. package/docs/store/walkthrough.md +193 -0
  1199. package/docs/theming/book.md +223 -0
  1200. package/docs/theming/index.html +371 -0
  1201. package/docs/tutorial/book.md +2169 -0
  1202. package/docs/tutorial/index.html +2112 -0
  1203. package/docs/tutorial/screens/click-after.png +0 -0
  1204. package/docs/tutorial/screens/click-before.png +0 -0
  1205. package/docs/tutorial/screens/edited.png +0 -0
  1206. package/docs/tutorial/screens/french.png +0 -0
  1207. package/docs/tutorial/screens/harbor.png +0 -0
  1208. package/docs/tutorial/screens/page.png +0 -0
  1209. package/docs/tutorial/screens/traces-ada.png +0 -0
  1210. package/docs/tutorial/screens/traces.png +0 -0
  1211. package/package.json +114 -20
  1212. package/src/delta/README.md +69 -0
  1213. package/dist/cell.d.ts +0 -122
  1214. package/dist/cell.d.ts.map +0 -1
  1215. package/dist/cell.js +0 -356
  1216. package/dist/cell.js.map +0 -1
  1217. package/dist/cluster.d.ts +0 -27
  1218. package/dist/cluster.d.ts.map +0 -1
  1219. package/dist/cluster.js +0 -230
  1220. package/dist/cluster.js.map +0 -1
  1221. package/dist/connection.d.ts +0 -270
  1222. package/dist/connection.d.ts.map +0 -1
  1223. package/dist/connection.js +0 -1216
  1224. package/dist/connection.js.map +0 -1
  1225. package/dist/contract.d.ts +0 -208
  1226. package/dist/contract.d.ts.map +0 -1
  1227. package/dist/contract.js +0 -246
  1228. package/dist/contract.js.map +0 -1
  1229. package/dist/declare.d.ts +0 -33
  1230. package/dist/declare.d.ts.map +0 -1
  1231. package/dist/declare.js +0 -2
  1232. package/dist/declare.js.map +0 -1
  1233. package/dist/errors.d.ts +0 -28
  1234. package/dist/errors.d.ts.map +0 -1
  1235. package/dist/errors.js +0 -59
  1236. package/dist/errors.js.map +0 -1
  1237. package/dist/host.d.ts +0 -348
  1238. package/dist/host.d.ts.map +0 -1
  1239. package/dist/host.js +0 -1000
  1240. package/dist/host.js.map +0 -1
  1241. package/dist/link.d.ts +0 -107
  1242. package/dist/link.d.ts.map +0 -1
  1243. package/dist/link.js +0 -355
  1244. package/dist/link.js.map +0 -1
  1245. package/dist/loader.d.ts +0 -4
  1246. package/dist/loader.d.ts.map +0 -1
  1247. package/dist/loader.js +0 -73
  1248. package/dist/loader.js.map +0 -1
  1249. package/dist/manager.d.ts +0 -115
  1250. package/dist/manager.d.ts.map +0 -1
  1251. package/dist/manager.js +0 -345
  1252. package/dist/manager.js.map +0 -1
  1253. package/dist/node.d.ts +0 -4
  1254. package/dist/node.d.ts.map +0 -1
  1255. package/dist/node.js +0 -4
  1256. package/dist/node.js.map +0 -1
  1257. package/dist/object.d.ts +0 -438
  1258. package/dist/object.d.ts.map +0 -1
  1259. package/dist/object.js +0 -1571
  1260. package/dist/object.js.map +0 -1
  1261. package/dist/publish.d.ts +0 -5
  1262. package/dist/publish.d.ts.map +0 -1
  1263. package/dist/publish.js +0 -40
  1264. package/dist/publish.js.map +0 -1
  1265. package/dist/registry.d.ts +0 -25
  1266. package/dist/registry.d.ts.map +0 -1
  1267. package/dist/registry.js +0 -6
  1268. package/dist/registry.js.map +0 -1
  1269. package/dist/reload.d.ts +0 -126
  1270. package/dist/reload.d.ts.map +0 -1
  1271. package/dist/reload.js +0 -653
  1272. package/dist/reload.js.map +0 -1
  1273. package/dist/remote.d.ts +0 -165
  1274. package/dist/remote.d.ts.map +0 -1
  1275. package/dist/remote.js +0 -612
  1276. package/dist/remote.js.map +0 -1
  1277. package/dist/schema.d.ts +0 -21
  1278. package/dist/schema.d.ts.map +0 -1
  1279. package/dist/schema.js +0 -228
  1280. package/dist/schema.js.map +0 -1
  1281. package/dist/state.d.ts +0 -92
  1282. package/dist/state.d.ts.map +0 -1
  1283. package/dist/state.js +0 -287
  1284. package/dist/state.js.map +0 -1
  1285. package/dist/types.d.ts +0 -88
  1286. package/dist/types.d.ts.map +0 -1
  1287. package/dist/types.js +0 -2
  1288. package/dist/types.js.map +0 -1
  1289. package/dist/websocket.d.ts +0 -15
  1290. package/dist/websocket.d.ts.map +0 -1
  1291. package/dist/websocket.js +0 -16
  1292. package/dist/websocket.js.map +0 -1
  1293. package/dist/wire.d.ts +0 -216
  1294. package/dist/wire.d.ts.map +0 -1
  1295. package/dist/wire.js +0 -165
  1296. package/dist/wire.js.map +0 -1
  1297. package/docs/guide.md +0 -814
  1298. package/docs/spec.md +0 -288
  1299. package/docs/tutorial.md +0 -931
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/store/import.ts"],"names":[],"mappings":"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","sourcesContent":["// `importStore(backend, parts, ctx, { outbox? })` (slice 6a §13, rules 12, 24, 25): a store made from an archive, a\n// trust boundary. Every part is checked against the archive schema, its place in the archive's order and its content\n// (names, rows against their table's recorded columns, ids and seqs, lifetimes at one address never overlapping,\n// revisions in seq order from a base, versions, duplicates, the `end` count, the manifest); everything is applied in\n// one backend transaction with the applier, so a refused import leaves the backend as it was. An input that stalls is\n// cancelled by `ctx`.\n\nimport { awaitWithContext, type Context } from \"../context/index.ts\";\nimport { ChordError } from \"../data/index.ts\";\nimport { invalid } from \"../data/internal.ts\";\nimport type { SqliteDatabase, SqliteExecutor } from \"../sqlite/index.ts\";\nimport { IdAllocator } from \"./allocator.ts\";\nimport { applyWrite } from \"./applier.ts\";\nimport { ARCHIVE_FORMAT, type ArchiveManifest, type ArchivePart, checkPart } from \"./archive.ts\";\nimport type { Backend } from \"./backend.ts\";\nimport { readCatalog, writeCatalog } from \"./catalog.ts\";\nimport type { DocumentRecord } from \"./engine.ts\";\nimport { applyStoreSchema, type MetaRow, STORE_SCHEMA, TABLES } from \"./schema.ts\";\nimport { Step } from \"./step.ts\";\nimport { ChordStore, type Store, type StoreOptions } from \"./store.ts\";\nimport { storedText } from \"./text.ts\";\n\n/**\n * A store holding the archive `parts` on `backend`, which must not hold a store yet: at the manifest's `lastSeq`, its\n * outbox (when `options.outbox`) starting after it. A refused archive, a stalled input cancelled by `context` or a\n * backend error rejects; the backend is closed then (rule 12).\n */\nexport async function importStore(\n\tbackend: Backend,\n\tparts: AsyncIterable<unknown> | Iterable<unknown>,\n\tcontext: Context,\n\toptions: StoreOptions = {},\n): Promise<Store> {\n\tconst { db } = backend;\n\ttry {\n\t\tcontext.abortSignal?.throwIfAborted();\n\t\tconst existing = await db.get(`SELECT name FROM sqlite_master WHERE name = ?`, TABLES.meta);\n\t\tif (existing !== undefined) throw invalid(\"args\", \"import: the backend holds a store already\");\n\t\tconst meta = await db.transaction(async (executor) => {\n\t\t\tconst meta = await applyStoreSchema(inTransaction(executor));\n\t\t\tconst archive = new ArchiveImport(executor, context);\n\t\t\tawait each(parts, context, (part) => archive.take(part));\n\t\t\treturn archive.finish(meta, options.outbox === true);\n\t\t});\n\t\treturn new ChordStore(db, meta, await readCatalog(db));\n\t} catch (error) {\n\t\ttry {\n\t\t\tawait db.close();\n\t\t} catch {\n\t\t\t// The import's own failure is the one to report.\n\t\t}\n\t\tthrow error;\n\t}\n}\n\n/** The store's schema migrations run inside the import's backend transaction (they open none of their own). */\nfunction inTransaction(executor: SqliteExecutor): SqliteDatabase {\n\treturn {\n\t\texec: (sql) => executor.exec(sql),\n\t\trun: (sql, ...params) => executor.run(sql, ...params),\n\t\trunCounted: (sql, ...params) => executor.runCounted(sql, ...params),\n\t\tget: (sql, ...params) => executor.get(sql, ...params),\n\t\tall: (sql, ...params) => executor.all(sql, ...params),\n\t\ttransaction: (callback) => callback(executor),\n\t\tclose: () => Promise.reject(new Error(\"import: the backend closes after the import\")),\n\t};\n}\n\n/** A place in the archive's order: before the manifest, in a table group's puts or indexes, the documents, the end. */\ntype Place = \"manifest\" | \"puts\" | \"indexes\" | \"documents\" | \"ended\";\n\n/**\n * One archive being imported: the place reached in its order (the manifest, then table groups of a `table` write, its\n * `put`s and its `index` writes, then the documents, then `end`), what was seen (tables, ids, live addresses, the\n * write count) and the step its writes are applied in.\n */\nclass ArchiveImport {\n\treadonly #executor: SqliteExecutor;\n\treadonly #context: Context;\n\t#position = 0;\n\t#manifest: ArchiveManifest | undefined;\n\t#step: Step | undefined;\n\t/** Where the next part may go. */\n\t#place: Place = \"manifest\";\n\t/** The table whose group is open. */\n\t#table: string | undefined;\n\treadonly #tables = new Set<string>();\n\treadonly #ids = new Set<number>();\n\t/** The lifetimes seen at each address, `[createdAt, retiredAt)` (`Infinity` while live). */\n\treadonly #lifetimes = new Map<string, [number, number][]>();\n\t/** The record whose revisions may follow, with the last revision's seq and its base's version. */\n\t#document: { readonly record: DocumentRecord; seq: number; base: number | undefined } | undefined;\n\t#writes = 0;\n\n\tconstructor(executor: SqliteExecutor, context: Context) {\n\t\tthis.#executor = executor;\n\t\tthis.#context = context;\n\t}\n\n\t/** Checks the next part and applies it. */\n\tasync take(value: unknown): Promise<void> {\n\t\tconst position = this.#position++;\n\t\tconst part = checkPart(value, position, this.#context);\n\t\tconst what = `import: part ${position} (${part.kind})`;\n\t\tif (this.#place === \"ended\") throw invalid(\"args\", `${what}: after the end`);\n\t\tif (part.kind === \"manifest\" || this.#step === undefined) {\n\t\t\tthis.#start(part, what);\n\t\t\treturn;\n\t\t}\n\t\tif (part.kind === \"end\") {\n\t\t\tif (part.writes !== this.#writes) {\n\t\t\t\tthrow invalid(\"args\", `${what}: counts ${part.writes} writes, the archive has ${this.#writes}`);\n\t\t\t}\n\t\t\tthis.#endDocument(what);\n\t\t\tthis.#place = \"ended\";\n\t\t\treturn;\n\t\t}\n\t\tthis.#place = this.#placeOf(part, what);\n\t\tthis.#writes++;\n\t\tawait applyWrite(this.#step, part, what);\n\t}\n\n\t/** The stored metadata once the archive ended: its `lastSeq`, the allocator's next id and the outbox setting. */\n\tasync finish(meta: MetaRow, outbox: boolean): Promise<MetaRow> {\n\t\tif (this.#place !== \"ended\" || this.#step === undefined || this.#manifest === undefined) {\n\t\t\tthrow invalid(\"args\", \"import: the archive has no end part\");\n\t\t}\n\t\tconst { lastSeq, nextId } = this.#manifest;\n\t\tawait writeCatalog(this.#step);\n\t\tawait this.#executor.run(\n\t\t\t`UPDATE ${TABLES.meta} SET last_seq = ?, next_id = ?, outbox = ?, outbox_floor = ? WHERE singleton = 1`,\n\t\t\tlastSeq,\n\t\t\tnextId,\n\t\t\toutbox ? 1 : 0,\n\t\t\tlastSeq,\n\t\t);\n\t\treturn {\n\t\t\t...meta,\n\t\t\tlast_seq: lastSeq,\n\t\t\tnext_id: nextId,\n\t\t\toutbox: outbox ? 1 : 0,\n\t\t\toutbox_floor: lastSeq,\n\t\t};\n\t}\n\n\t/** The manifest, first: a format and schema this code reads. */\n\t#start(part: ArchivePart, what: string): void {\n\t\tif (part.kind !== \"manifest\" || this.#step !== undefined)\n\t\t\tthrow invalid(\"args\", `${what}: the manifest comes first, once`);\n\t\tif (part.format !== ARCHIVE_FORMAT)\n\t\t\tthrow invalid(\"args\", `${what}: format ${part.format} is not ${ARCHIVE_FORMAT}`);\n\t\tif (part.schema > STORE_SCHEMA)\n\t\t\tthrow invalid(\"args\", `${what}: schema ${part.schema} is newer than ${STORE_SCHEMA}`);\n\t\tthis.#manifest = part;\n\t\tthis.#step = new Step(this.#executor, part.lastSeq, new IdAllocator(part.nextId), new Map());\n\t}\n\n\t/** Where `part` puts the archive, refused when out of order, a duplicate, or outside the manifest's ranges. */\n\t#placeOf(part: Exclude<ArchivePart, { readonly kind: \"manifest\" | \"end\" }>, what: string): Place {\n\t\tconst place = this.#place;\n\t\tswitch (part.kind) {\n\t\t\tcase \"table\":\n\t\t\t\tif (place === \"documents\") throw invalid(\"args\", `${what}: tables come before the documents`);\n\t\t\t\tif (this.#tables.has(part.table)) throw invalid(\"args\", `${what}: table ${part.table} occurs twice`);\n\t\t\t\tthis.#tables.add(part.table);\n\t\t\t\tthis.#table = part.table;\n\t\t\t\treturn \"puts\";\n\t\t\tcase \"put\":\n\t\t\t\tif (place !== \"puts\" || part.table !== this.#table) {\n\t\t\t\t\tthrow invalid(\"args\", `${what}: a put follows its table's table write, before its indexes`);\n\t\t\t\t}\n\t\t\t\treturn \"puts\";\n\t\t\tcase \"index\":\n\t\t\t\tif ((place !== \"puts\" && place !== \"indexes\") || part.table !== this.#table) {\n\t\t\t\t\tthrow invalid(\"args\", `${what}: an index follows its table's table write and puts`);\n\t\t\t\t}\n\t\t\t\treturn \"indexes\";\n\t\t\tcase \"document.create\":\n\t\t\t\tthis.#checkDocument(part, what);\n\t\t\t\treturn \"documents\";\n\t\t\tcase \"document.revision\":\n\t\t\t\tthis.#checkRevision(part, what);\n\t\t\t\treturn \"documents\";\n\t\t}\n\t}\n\n\t/**\n\t * A record within the manifest's ids and seqs (an id equal to a saturated `nextId` too), unique, its lifetime\n\t * overlapping no other at its address; its address and meta well-formed text without NUL (SQLite would cut a NUL off,\n\t * slice 6a §8). The record before it must have ended well (`#endDocument`).\n\t */\n\t#checkDocument(part: Extract<ArchivePart, { readonly kind: \"document.create\" }>, what: string): void {\n\t\tthis.#endDocument(what);\n\t\tconst { record } = part;\n\t\tconst { lastSeq, nextId } = this.#manifest!;\n\t\tconst saturated = nextId === Number.MAX_SAFE_INTEGER && record.id === nextId;\n\t\tif (record.id >= nextId && !saturated) throw invalid(\"args\", `${what}: id ${record.id} is not below ${nextId}`);\n\t\tif (this.#ids.has(record.id)) throw invalid(\"args\", `${what}: id ${record.id} occurs twice`);\n\t\tconst { createdAt, retiredAt } = record;\n\t\tif (createdAt > lastSeq || (retiredAt !== undefined && (retiredAt < createdAt || retiredAt > lastSeq))) {\n\t\t\tthrow invalid(\"args\", `${what}: a lifetime outside the manifest's lastSeq`);\n\t\t}\n\t\tconst { namespace, owner, kind, meta } = record;\n\t\t// A singleton's record has no key; its column keeps `\"\"`.\n\t\tconst key = record.key ?? \"\";\n\t\tfor (const text of [namespace, owner, kind, key]) {\n\t\t\tif (storedText(text, what) !== text) throw invalid(\"args\", `${what}: an address is not well-formed text`);\n\t\t}\n\t\tif (meta !== undefined && storedText(meta, what) !== meta) {\n\t\t\tthrow invalid(\"args\", `${what}: the meta is not well-formed text`);\n\t\t}\n\t\tconst address = JSON.stringify([owner, namespace, kind, key]);\n\t\tconst lifetime: [number, number] = [createdAt, retiredAt ?? Number.POSITIVE_INFINITY];\n\t\tconst lifetimes = this.#lifetimes.get(address) ?? [];\n\t\t// Two live records are two infinite lifetimes, which overlap; an empty one (`createdAt = retiredAt`) overlaps none.\n\t\tif (lifetime[0] < lifetime[1] && lifetimes.some(([from, to]) => from < lifetime[1] && lifetime[0] < to)) {\n\t\t\tthrow invalid(\"args\", `${what}: a second record at one address for an overlapping lifetime`);\n\t\t}\n\t\tlifetimes.push(lifetime);\n\t\tthis.#lifetimes.set(address, lifetimes);\n\t\tthis.#ids.add(record.id);\n\t\tthis.#document = { record, seq: 0, base: undefined };\n\t}\n\n\t/**\n\t * A revision of the record before it, in seq order within its lifetime, from a base, each delta at its base's\n\t * version.\n\t */\n\t#checkRevision(part: Extract<ArchivePart, { readonly kind: \"document.revision\" }>, what: string): void {\n\t\tconst document = this.#document;\n\t\tif (document === undefined || document.record.id !== part.id) {\n\t\t\tthrow invalid(\"args\", `${what}: a revision follows its record's create`);\n\t\t}\n\t\tconst { record } = document;\n\t\tif (record.retiredAt !== undefined && record.history !== \"rewindable\") {\n\t\t\tthrow invalid(\"args\", `${what}: a retired ${record.history} record keeps no revisions`);\n\t\t}\n\t\tif (\n\t\t\tpart.seq <= document.seq ||\n\t\t\tpart.seq < record.createdAt ||\n\t\t\tpart.seq > (record.retiredAt ?? this.#manifest!.lastSeq)\n\t\t) {\n\t\t\tthrow invalid(\"args\", `${what}: a revision out of seq order or outside its lifetime`);\n\t\t}\n\t\tconst { content } = part;\n\t\tif (content.kind === \"base\") document.base = content.version;\n\t\telse if (document.base !== content.version) {\n\t\t\tthrow invalid(\"args\", `${what}: a delta without a base at its version`);\n\t\t}\n\t\tdocument.seq = part.seq;\n\t}\n\n\t/**\n\t * The record before ends well: its last base is at the record's version; only a retired `latest` record has none\n\t * (its content was dropped at retirement; a retired `rewindable` one keeps its history).\n\t */\n\t#endDocument(what: string): void {\n\t\tconst document = this.#document;\n\t\tthis.#document = undefined;\n\t\tif (document === undefined) return;\n\t\tconst { record, base } = document;\n\t\tconst contentless = record.retiredAt !== undefined && record.history === \"latest\";\n\t\tif (base === undefined ? !contentless : base !== record.version) {\n\t\t\tthrow invalid(\"args\", `${what}: record ${record.id} has no base at its version`);\n\t\t}\n\t}\n}\n\n/** Runs `take` on each part in turn; a wait for the next part ends when `context` aborts (the input is closed). */\nasync function each(\n\tparts: AsyncIterable<unknown> | Iterable<unknown>,\n\tcontext: Context,\n\ttake: (part: unknown) => Promise<void>,\n): Promise<void> {\n\tconst iterator = Symbol.asyncIterator in parts ? parts[Symbol.asyncIterator]() : parts[Symbol.iterator]();\n\tlet done = false;\n\ttry {\n\t\tfor (;;) {\n\t\t\tlet result: IteratorResult<unknown>;\n\t\t\ttry {\n\t\t\t\tresult = await awaitWithContext(Promise.resolve(iterator.next()), context);\n\t\t\t} catch (error) {\n\t\t\t\tif (!context.abortSignal?.aborted) throw error;\n\t\t\t\tthrow new ChordError(\n\t\t\t\t\t{ code: \"aborted\", message: \"import: aborted\" },\n\t\t\t\t\t{ cause: context.abortSignal.reason },\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (result.done) {\n\t\t\t\tdone = true;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait take(result.value);\n\t\t}\n\t} finally {\n\t\t// A stalled input is not awaited: the backend transaction ends now.\n\t\tif (!done) void Promise.resolve(iterator.return?.()).catch(() => {});\n\t}\n}\n"]}
@@ -0,0 +1,16 @@
1
+ export type { ArchiveManifest, ArchivePart } from "./archive.ts";
2
+ export { type Backend, sqliteBackend } from "./backend.ts";
3
+ export type { Columns, PutRowOf, RowOf } from "./columns.ts";
4
+ export { add, and, type ColumnRef, type Condition, coalesce, concat, type Expression, eq, gt, gte, inArray, isNull, lt, lte, max, min, ne, not, or, prefix, replacePrefix, type SetOf, sub, when, } from "./expression.ts";
5
+ export { importStore } from "./import.ts";
6
+ export { type JsonColumnOptions, type JsonColumnSchema, json } from "./json-column.ts";
7
+ export { decodeJsonl, encodeJsonl } from "./jsonl.ts";
8
+ export type { Outbox, OutboxCommit } from "./outbox.ts";
9
+ export { type ColumnRefs, type Query, query } from "./query.ts";
10
+ export { openStore, type Store, type StoreOptions } from "./store.ts";
11
+ export { defineTable, type KeyOf, type TableDefinition, type TableOptions } from "./table.ts";
12
+ export { type AddedColumn, evolveTable, type PatchOf, type TableEditor, type TableTailEditor, } from "./table-evolve.ts";
13
+ export type { Page, PageOptions, Table, TableOf } from "./table-handle.ts";
14
+ export { compareText } from "./text.ts";
15
+ export type { StoreWrite } from "./writes.ts";
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAGA,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,KAAK,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC3D,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EACN,GAAG,EACH,GAAG,EACH,KAAK,SAAS,EACd,KAAK,SAAS,EACd,QAAQ,EACR,MAAM,EACN,KAAK,UAAU,EACf,EAAE,EACF,EAAE,EACF,GAAG,EACH,OAAO,EACP,MAAM,EACN,EAAE,EACF,GAAG,EACH,GAAG,EACH,GAAG,EACH,EAAE,EACF,GAAG,EACH,EAAE,EACF,MAAM,EACN,aAAa,EACb,KAAK,KAAK,EACV,GAAG,EACH,IAAI,GACJ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACtD,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,KAAK,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,KAAK,KAAK,EAAE,KAAK,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAC9F,OAAO,EACN,KAAK,WAAW,EAChB,WAAW,EACX,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,eAAe,GACpB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,13 @@
1
+ // The store for apps: opening it over a backend, tables with their queries, writes and migrations, export and
2
+ // import of archives (with their JSONL encoding), the outbox, text order.
3
+ export { sqliteBackend } from "./backend.js";
4
+ export { add, and, coalesce, concat, eq, gt, gte, inArray, isNull, lt, lte, max, min, ne, not, or, prefix, replacePrefix, sub, when, } from "./expression.js";
5
+ export { importStore } from "./import.js";
6
+ export { json } from "./json-column.js";
7
+ export { decodeJsonl, encodeJsonl } from "./jsonl.js";
8
+ export { query } from "./query.js";
9
+ export { openStore } from "./store.js";
10
+ export { defineTable } from "./table.js";
11
+ export { evolveTable, } from "./table-evolve.js";
12
+ export { compareText } from "./text.js";
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA,8GAA8G;AAC9G,0EAA0E;AAG1E,OAAO,EAAgB,aAAa,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EACN,GAAG,EACH,GAAG,EAGH,QAAQ,EACR,MAAM,EAEN,EAAE,EACF,EAAE,EACF,GAAG,EACH,OAAO,EACP,MAAM,EACN,EAAE,EACF,GAAG,EACH,GAAG,EACH,GAAG,EACH,EAAE,EACF,GAAG,EACH,EAAE,EACF,MAAM,EACN,aAAa,EAEb,GAAG,EACH,IAAI,GACJ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAiD,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,EAA+B,KAAK,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,SAAS,EAAiC,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,WAAW,EAAuD,MAAM,YAAY,CAAC;AAC9F,OAAO,EAEN,WAAW,GAIX,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC","sourcesContent":["// The store for apps: opening it over a backend, tables with their queries, writes and migrations, export and\n// import of archives (with their JSONL encoding), the outbox, text order.\n\nexport type { ArchiveManifest, ArchivePart } from \"./archive.ts\";\nexport { type Backend, sqliteBackend } from \"./backend.ts\";\nexport type { Columns, PutRowOf, RowOf } from \"./columns.ts\";\nexport {\n\tadd,\n\tand,\n\ttype ColumnRef,\n\ttype Condition,\n\tcoalesce,\n\tconcat,\n\ttype Expression,\n\teq,\n\tgt,\n\tgte,\n\tinArray,\n\tisNull,\n\tlt,\n\tlte,\n\tmax,\n\tmin,\n\tne,\n\tnot,\n\tor,\n\tprefix,\n\treplacePrefix,\n\ttype SetOf,\n\tsub,\n\twhen,\n} from \"./expression.ts\";\nexport { importStore } from \"./import.ts\";\nexport { type JsonColumnOptions, type JsonColumnSchema, json } from \"./json-column.ts\";\nexport { decodeJsonl, encodeJsonl } from \"./jsonl.ts\";\nexport type { Outbox, OutboxCommit } from \"./outbox.ts\";\nexport { type ColumnRefs, type Query, query } from \"./query.ts\";\nexport { openStore, type Store, type StoreOptions } from \"./store.ts\";\nexport { defineTable, type KeyOf, type TableDefinition, type TableOptions } from \"./table.ts\";\nexport {\n\ttype AddedColumn,\n\tevolveTable,\n\ttype PatchOf,\n\ttype TableEditor,\n\ttype TableTailEditor,\n} from \"./table-evolve.ts\";\nexport type { Page, PageOptions, Table, TableOf } from \"./table-handle.ts\";\nexport { compareText } from \"./text.ts\";\nexport type { StoreWrite } from \"./writes.ts\";\n"]}
@@ -0,0 +1,33 @@
1
+ import type { JsonSchema } from "@earendil-works/pi-schema";
2
+ import type { Context } from "../context/index.ts";
3
+ import type { Schema, Static } from "../contracts/index.ts";
4
+ import type { JsonValue } from "../json.ts";
5
+ /** What `json(...)` takes besides the schema. */
6
+ export type JsonColumnOptions<T> = {
7
+ /** The version of the cells' shape; a cell stores the version it was written at. */
8
+ readonly version: number;
9
+ /** Maps a cell of an older version `from` to this version's shape; pure. Without it older cells are refused. */
10
+ readonly migrate?: (old: JsonValue, from: number) => T;
11
+ };
12
+ /** A `json(...)` column as `columns` takes it: a schema of the cells' type carrying the column. */
13
+ export interface JsonColumnSchema<T> extends Schema<T> {
14
+ readonly json: JsonColumn;
15
+ }
16
+ /** A column holding one JSON value of `schema` per row, at `version`; wrap it in `opt(...)` to make it nullable. */
17
+ export declare function json<S extends Schema>(schema: S, options: JsonColumnOptions<Static<S>>): JsonColumnSchema<Static<S>>;
18
+ /** A `json(...)` column's definition: its schema snapshot, version and fingerprint, and the read of a stored cell. */
19
+ export declare class JsonColumn {
20
+ #private;
21
+ readonly schema: JsonSchema;
22
+ readonly version: number;
23
+ /** The fingerprint of the schema's normal form, recorded with the table: the same version with another is `broken`. */
24
+ readonly fingerprint: string;
25
+ constructor(schema: Schema, version: number, migrate: ((old: JsonValue, from: number) => unknown) | undefined);
26
+ /**
27
+ * The value of a stored cell written at `version`: parsed; an older one migrated and checked once (R8, counted). A
28
+ * newer version, a missing or throwing `migrate` and an invalid result throw `unavailable` (`what` names the cell);
29
+ * the caller fails the owner (slice 6a §1.4), the data stays.
30
+ */
31
+ read(text: string, version: number, what: string, context: Context): unknown;
32
+ }
33
+ //# sourceMappingURL=json-column.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-column.d.ts","sourceRoot":"","sources":["../../src/store/json-column.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAK5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,iDAAiD;AACjD,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI;IAClC,oFAAoF;IACpF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,gHAAgH;IAChH,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC,CAAC;CACvD,CAAC;AAEF,mGAAmG;AACnG,MAAM,WAAW,gBAAgB,CAAC,CAAC,CAAE,SAAQ,MAAM,CAAC,CAAC,CAAC;IACrD,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC1B;AAED,oHAAoH;AACpH,wBAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAGpH;AAED,sHAAsH;AACtH,qBAAa,UAAU;;IACtB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,uHAAuH;IACvH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAG7B,YAAY,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,SAAS,EAS5G;IAED;;;;OAIG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAgB3E;CACD"}
@@ -0,0 +1,62 @@
1
+ // `json(schema, { version, migrate? })` table columns (decision "The `json(...)` column helper", W11): one JSON `TEXT`
2
+ // cell with its own version, typed when read, migrated on access (the result checked once, R8), never walked on write
3
+ // (R9).
4
+ import { fingerprintOf } from "../contracts/internal.js";
5
+ import { snapshotSchema } from "../contracts/snapshot.js";
6
+ import { ChordError } from "../data/index.js";
7
+ import { validatorFor } from "../data/internal.js";
8
+ import { chordMetrics } from "../telemetry.js";
9
+ /** A column holding one JSON value of `schema` per row, at `version`; wrap it in `opt(...)` to make it nullable. */
10
+ export function json(schema, options) {
11
+ // Typed as the cells' schema, so `opt(...)` and `Static` take it; the table reads its `json` field.
12
+ return { json: new JsonColumn(schema, options.version, options.migrate) };
13
+ }
14
+ /** A `json(...)` column's definition: its schema snapshot, version and fingerprint, and the read of a stored cell. */
15
+ export class JsonColumn {
16
+ schema;
17
+ version;
18
+ /** The fingerprint of the schema's normal form, recorded with the table: the same version with another is `broken`. */
19
+ fingerprint;
20
+ #migrate;
21
+ constructor(schema, version, migrate) {
22
+ // Declaration policy: JavaScript callers reach this check.
23
+ if (!Number.isSafeInteger(version) || version < 1)
24
+ throw new Error(`json(...): version ${version} is not a positive integer`);
25
+ const snapshot = snapshotSchema(schema, "json(...)");
26
+ this.schema = snapshot.schema;
27
+ this.version = version;
28
+ this.fingerprint = fingerprintOf(snapshot.normal);
29
+ this.#migrate = migrate;
30
+ }
31
+ /**
32
+ * The value of a stored cell written at `version`: parsed; an older one migrated and checked once (R8, counted). A
33
+ * newer version, a missing or throwing `migrate` and an invalid result throw `unavailable` (`what` names the cell);
34
+ * the caller fails the owner (slice 6a §1.4), the data stays.
35
+ */
36
+ read(text, version, what, context) {
37
+ const value = JSON.parse(text);
38
+ if (version === this.version)
39
+ return value;
40
+ if (version > this.version)
41
+ throw refused(`${what}: stored at version ${version}, newer than ${this.version}`);
42
+ if (this.#migrate === undefined)
43
+ throw refused(`${what}: no migrate from version ${version} to ${this.version}`);
44
+ let migrated;
45
+ try {
46
+ migrated = this.#migrate(value, version);
47
+ }
48
+ catch (error) {
49
+ throw refused(`${what}: migrate from version ${version} threw`, error);
50
+ }
51
+ chordMetrics(context.telemetry.metrics).counter("chord.data.validations").add(1);
52
+ if (!validatorFor(this, context).check(migrated)) {
53
+ throw refused(`${what}: migrate from version ${version} does not match the schema`);
54
+ }
55
+ return migrated;
56
+ }
57
+ }
58
+ /** The error of a cell the code cannot read: the owner fails `broken` with it. */
59
+ function refused(message, cause) {
60
+ return new ChordError({ code: "unavailable", message }, cause === undefined ? undefined : { cause });
61
+ }
62
+ //# sourceMappingURL=json-column.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-column.js","sourceRoot":"","sources":["../../src/store/json-column.ts"],"names":[],"mappings":"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","sourcesContent":["// `json(schema, { version, migrate? })` table columns (decision \"The `json(...)` column helper\", W11): one JSON `TEXT`\n// cell with its own version, typed when read, migrated on access (the result checked once, R8), never walked on write\n// (R9).\n\nimport type { JsonSchema } from \"@earendil-works/pi-schema\";\nimport type { Context } from \"../context/index.ts\";\nimport type { Schema, Static } from \"../contracts/index.ts\";\nimport { fingerprintOf } from \"../contracts/internal.ts\";\nimport { snapshotSchema } from \"../contracts/snapshot.ts\";\nimport { ChordError } from \"../data/index.ts\";\nimport { validatorFor } from \"../data/internal.ts\";\nimport type { JsonValue } from \"../json.ts\";\nimport { chordMetrics } from \"../telemetry.ts\";\n\n/** What `json(...)` takes besides the schema. */\nexport type JsonColumnOptions<T> = {\n\t/** The version of the cells' shape; a cell stores the version it was written at. */\n\treadonly version: number;\n\t/** Maps a cell of an older version `from` to this version's shape; pure. Without it older cells are refused. */\n\treadonly migrate?: (old: JsonValue, from: number) => T;\n};\n\n/** A `json(...)` column as `columns` takes it: a schema of the cells' type carrying the column. */\nexport interface JsonColumnSchema<T> extends Schema<T> {\n\treadonly json: JsonColumn;\n}\n\n/** A column holding one JSON value of `schema` per row, at `version`; wrap it in `opt(...)` to make it nullable. */\nexport function json<S extends Schema>(schema: S, options: JsonColumnOptions<Static<S>>): JsonColumnSchema<Static<S>> {\n\t// Typed as the cells' schema, so `opt(...)` and `Static` take it; the table reads its `json` field.\n\treturn { json: new JsonColumn(schema, options.version, options.migrate) };\n}\n\n/** A `json(...)` column's definition: its schema snapshot, version and fingerprint, and the read of a stored cell. */\nexport class JsonColumn {\n\treadonly schema: JsonSchema;\n\treadonly version: number;\n\t/** The fingerprint of the schema's normal form, recorded with the table: the same version with another is `broken`. */\n\treadonly fingerprint: string;\n\treadonly #migrate: ((old: JsonValue, from: number) => unknown) | undefined;\n\n\tconstructor(schema: Schema, version: number, migrate: ((old: JsonValue, from: number) => unknown) | undefined) {\n\t\t// Declaration policy: JavaScript callers reach this check.\n\t\tif (!Number.isSafeInteger(version) || version < 1)\n\t\t\tthrow new Error(`json(...): version ${version} is not a positive integer`);\n\t\tconst snapshot = snapshotSchema(schema, \"json(...)\");\n\t\tthis.schema = snapshot.schema;\n\t\tthis.version = version;\n\t\tthis.fingerprint = fingerprintOf(snapshot.normal);\n\t\tthis.#migrate = migrate;\n\t}\n\n\t/**\n\t * The value of a stored cell written at `version`: parsed; an older one migrated and checked once (R8, counted). A\n\t * newer version, a missing or throwing `migrate` and an invalid result throw `unavailable` (`what` names the cell);\n\t * the caller fails the owner (slice 6a §1.4), the data stays.\n\t */\n\tread(text: string, version: number, what: string, context: Context): unknown {\n\t\tconst value = JSON.parse(text) as JsonValue;\n\t\tif (version === this.version) return value;\n\t\tif (version > this.version) throw refused(`${what}: stored at version ${version}, newer than ${this.version}`);\n\t\tif (this.#migrate === undefined) throw refused(`${what}: no migrate from version ${version} to ${this.version}`);\n\t\tlet migrated: unknown;\n\t\ttry {\n\t\t\tmigrated = this.#migrate(value, version);\n\t\t} catch (error) {\n\t\t\tthrow refused(`${what}: migrate from version ${version} threw`, error);\n\t\t}\n\t\tchordMetrics(context.telemetry.metrics).counter(\"chord.data.validations\").add(1);\n\t\tif (!validatorFor(this, context).check(migrated)) {\n\t\t\tthrow refused(`${what}: migrate from version ${version} does not match the schema`);\n\t\t}\n\t\treturn migrated;\n\t}\n}\n\n/** The error of a cell the code cannot read: the owner fails `broken` with it. */\nfunction refused(message: string, cause?: unknown): ChordError {\n\treturn new ChordError({ code: \"unavailable\", message }, cause === undefined ? undefined : { cause });\n}\n"]}
@@ -0,0 +1,9 @@
1
+ import type { ArchivePart } from "./archive.ts";
2
+ /** `parts` as JSONL bytes, in chunks of whole lines. */
3
+ export declare function encodeJsonl(parts: AsyncIterable<ArchivePart>): AsyncIterable<Uint8Array>;
4
+ /**
5
+ * The values of JSONL `bytes`, one per nonempty line, for `importStore` to check (a trust boundary: bytes that are
6
+ * no UTF-8 and a line that is no JSON are `invalid/args`).
7
+ */
8
+ export declare function decodeJsonl(bytes: AsyncIterable<Uint8Array>): AsyncIterable<unknown>;
9
+ //# sourceMappingURL=jsonl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonl.d.ts","sourceRoot":"","sources":["../../src/store/jsonl.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAKhD,wDAAwD;AACxD,wBAAuB,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,CAW/F;AAED;;;GAGG;AACH,wBAAuB,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAgC3F"}
@@ -0,0 +1,61 @@
1
+ // Plain JSONL for archives (slice 6a §13): one part per line, UTF-8. The store yields and takes parts; this is the
2
+ // encoding it ships (others, compressed ones, come later without touching the applier).
3
+ import { invalid } from "../data/internal.js";
4
+ /** The bytes a chunk of encoded lines collects before it is yielded. */
5
+ const CHUNK = 64 * 1024;
6
+ /** `parts` as JSONL bytes, in chunks of whole lines. */
7
+ export async function* encodeJsonl(parts) {
8
+ const encoder = new TextEncoder();
9
+ let lines = "";
10
+ for await (const part of parts) {
11
+ lines += `${JSON.stringify(part)}\n`;
12
+ if (lines.length >= CHUNK) {
13
+ yield encoder.encode(lines);
14
+ lines = "";
15
+ }
16
+ }
17
+ if (lines.length > 0)
18
+ yield encoder.encode(lines);
19
+ }
20
+ /**
21
+ * The values of JSONL `bytes`, one per nonempty line, for `importStore` to check (a trust boundary: bytes that are
22
+ * no UTF-8 and a line that is no JSON are `invalid/args`).
23
+ */
24
+ export async function* decodeJsonl(bytes) {
25
+ const decoder = new TextDecoder("utf-8", { fatal: true });
26
+ let rest = "";
27
+ let line = 0;
28
+ const parse = (text) => {
29
+ try {
30
+ return JSON.parse(text);
31
+ }
32
+ catch {
33
+ throw invalid("args", `jsonl: line ${line} is not JSON`);
34
+ }
35
+ };
36
+ const decode = (chunk) => {
37
+ try {
38
+ return chunk === undefined ? decoder.decode() : decoder.decode(chunk, { stream: true });
39
+ }
40
+ catch {
41
+ throw invalid("args", `jsonl: line ${line + 1} is not UTF-8`);
42
+ }
43
+ };
44
+ for await (const chunk of bytes) {
45
+ rest += decode(chunk);
46
+ let start = 0;
47
+ for (let end = rest.indexOf("\n"); end >= 0; end = rest.indexOf("\n", start)) {
48
+ const text = rest.slice(start, end);
49
+ start = end + 1;
50
+ line++;
51
+ if (text.trim().length > 0)
52
+ yield parse(text);
53
+ }
54
+ rest = rest.slice(start);
55
+ }
56
+ rest += decode();
57
+ line++;
58
+ if (rest.trim().length > 0)
59
+ yield parse(rest);
60
+ }
61
+ //# sourceMappingURL=jsonl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonl.js","sourceRoot":"","sources":["../../src/store/jsonl.ts"],"names":[],"mappings":"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","sourcesContent":["// Plain JSONL for archives (slice 6a §13): one part per line, UTF-8. The store yields and takes parts; this is the\n// encoding it ships (others, compressed ones, come later without touching the applier).\n\nimport { invalid } from \"../data/internal.ts\";\nimport type { ArchivePart } from \"./archive.ts\";\n\n/** The bytes a chunk of encoded lines collects before it is yielded. */\nconst CHUNK = 64 * 1024;\n\n/** `parts` as JSONL bytes, in chunks of whole lines. */\nexport async function* encodeJsonl(parts: AsyncIterable<ArchivePart>): AsyncIterable<Uint8Array> {\n\tconst encoder = new TextEncoder();\n\tlet lines = \"\";\n\tfor await (const part of parts) {\n\t\tlines += `${JSON.stringify(part)}\\n`;\n\t\tif (lines.length >= CHUNK) {\n\t\t\tyield encoder.encode(lines);\n\t\t\tlines = \"\";\n\t\t}\n\t}\n\tif (lines.length > 0) yield encoder.encode(lines);\n}\n\n/**\n * The values of JSONL `bytes`, one per nonempty line, for `importStore` to check (a trust boundary: bytes that are\n * no UTF-8 and a line that is no JSON are `invalid/args`).\n */\nexport async function* decodeJsonl(bytes: AsyncIterable<Uint8Array>): AsyncIterable<unknown> {\n\tconst decoder = new TextDecoder(\"utf-8\", { fatal: true });\n\tlet rest = \"\";\n\tlet line = 0;\n\tconst parse = (text: string): unknown => {\n\t\ttry {\n\t\t\treturn JSON.parse(text);\n\t\t} catch {\n\t\t\tthrow invalid(\"args\", `jsonl: line ${line} is not JSON`);\n\t\t}\n\t};\n\tconst decode = (chunk?: Uint8Array): string => {\n\t\ttry {\n\t\t\treturn chunk === undefined ? decoder.decode() : decoder.decode(chunk, { stream: true });\n\t\t} catch {\n\t\t\tthrow invalid(\"args\", `jsonl: line ${line + 1} is not UTF-8`);\n\t\t}\n\t};\n\tfor await (const chunk of bytes) {\n\t\trest += decode(chunk);\n\t\tlet start = 0;\n\t\tfor (let end = rest.indexOf(\"\\n\"); end >= 0; end = rest.indexOf(\"\\n\", start)) {\n\t\t\tconst text = rest.slice(start, end);\n\t\t\tstart = end + 1;\n\t\t\tline++;\n\t\t\tif (text.trim().length > 0) yield parse(text);\n\t\t}\n\t\trest = rest.slice(start);\n\t}\n\trest += decode();\n\tline++;\n\tif (rest.trim().length > 0) yield parse(rest);\n}\n"]}
@@ -0,0 +1,108 @@
1
+ import type { Context } from "../context/index.ts";
2
+ import type { JsonValue } from "../json.ts";
3
+ import type { SqliteValue } from "../sqlite/index.ts";
4
+ import { type Batch, Source, type WatchStart } from "../state/internal.ts";
5
+ import type { Query } from "./query.ts";
6
+ import type { StagedWrite, Step } from "./step.ts";
7
+ import type { TableDefinition } from "./table.ts";
8
+ import type { TableHandle } from "./table-handle.ts";
9
+ /** Who a live query belongs to: its object, and where its failures after activation are reported (`query_failed`). */
10
+ export type QueryOwner = {
11
+ readonly label: string;
12
+ report(error: unknown): void;
13
+ };
14
+ /**
15
+ * The rows of one run: in order, and by key with the stored row each was decoded from, which the next run compares
16
+ * against to keep an unchanged row the same object.
17
+ */
18
+ type Rows = {
19
+ readonly value: JsonValue[];
20
+ readonly byKey: ReadonlyMap<unknown, Decoded>;
21
+ };
22
+ /** A row as a run decoded it, with the stored row it came from. */
23
+ type Decoded = {
24
+ readonly stored: StoredRow;
25
+ readonly row: JsonValue;
26
+ };
27
+ /** One run of a live query in a commit step: its rows, or why it could not read them. */
28
+ type QueryRun = {
29
+ readonly kind: "rows";
30
+ readonly rows: Rows;
31
+ } | {
32
+ readonly kind: "failed";
33
+ readonly error: unknown;
34
+ };
35
+ /** A stored row as the backend returns it. */
36
+ type StoredRow = {
37
+ readonly [column: string]: SqliteValue;
38
+ };
39
+ /**
40
+ * Refuses what the types cannot (plugin code is bundled without type checks; declaration policy): a query of another
41
+ * table than `table`, and a `limit` that is no positive integer (a live query must be bounded: one run per commit
42
+ * that writes its table reads at most `limit` rows).
43
+ */
44
+ export declare function checkLiveQuery(table: TableDefinition, q: Query, limit: unknown, label: string): void;
45
+ /** The live queries of one object by table (its SQL name), across its attempts: what its commits re-run. */
46
+ export declare class LiveQueries {
47
+ #private;
48
+ /** Adds `query` (its attempt declared it): re-run by every commit writing its table from now on. */
49
+ add(query: LiveQuery): void;
50
+ /** Removes `query` (its attempt ended). */
51
+ delete(query: LiveQuery): void;
52
+ /** The live queries over `table`, if any. */
53
+ on(table: string): ReadonlySet<LiveQuery> | undefined;
54
+ }
55
+ /**
56
+ * The re-run of the live queries over the tables a transaction writes (`handles`), `undefined` when none has one (the
57
+ * common case: a map lookup per written table, nothing more). `context` is the transaction's: the runs count through it.
58
+ */
59
+ export declare function refreshOf(handles: Iterable<TableHandle>, context: Context): QueryRefresh | undefined;
60
+ /**
61
+ * The re-run of live queries in one commit: `write` reads them in the commit step after the commit's own writes (the
62
+ * last write of the last phase), and `adopt` publishes their rows in the commit's batch; a refused step adopts nothing.
63
+ * A transaction stages it as its own change (`Staged`).
64
+ */
65
+ export declare class QueryRefresh {
66
+ #private;
67
+ /** The staged write that reads the queries; it writes nothing and records nothing in the outbox. */
68
+ readonly write: StagedWrite;
69
+ constructor(queries: readonly LiveQuery[], context: Context);
70
+ /** Publishes each query's new rows (or its failure), inside the commit's batch. */
71
+ adopt(): void;
72
+ committed(): void;
73
+ discarded(): void;
74
+ }
75
+ /**
76
+ * A live query: the rows of `query` (at most `limit`, in its order) over its object's table `handle`, as a JSON source
77
+ * (a state member, a derive source, an `on` source). Its statement is compiled once; each run decodes only the rows
78
+ * whose stored columns changed and keeps the others the same objects, so its frame, the diff from the rows its watches
79
+ * had, compares unchanged rows by identity (a window shifted by one row: one insert and one removal, not a comparison
80
+ * of every row with every other).
81
+ */
82
+ export declare class LiveQuery extends Source {
83
+ #private;
84
+ readonly handle: TableHandle;
85
+ constructor(handle: TableHandle, query: Query, limit: number, owner: QueryOwner, batch: Batch);
86
+ get value(): JsonValue[];
87
+ /** Its rows, or while failed its failure and last good rows (a detached query throws). */
88
+ start(): WatchStart;
89
+ /**
90
+ * The first run, before its object goes live (activation, after its tables are prepared): a failure throws and fails
91
+ * the activation. Rows a commit adopted meanwhile are newer and stay.
92
+ */
93
+ load(context: Context): Promise<void>;
94
+ /** A run inside the commit step `step`, after its writes: the rows, or the failure; it never throws. */
95
+ rerun(step: Step, context: Context): Promise<QueryRun>;
96
+ /**
97
+ * Takes a commit's run, inside its batch: listed for a frame when watched, its dependents marked. A failed run makes
98
+ * the query a failed member (as a throwing derive): its watches get one failure call, the owner a report per
99
+ * failure episode; the next good run replaces the value whole.
100
+ */
101
+ adopt(run: QueryRun): void;
102
+ /** Delivers the frame: the diff from the rows its watches had, or one failure call when they had rows. */
103
+ deliver(context: Context): void;
104
+ /** Its attempt ended: no commit re-runs it, reads throw `error` (the object's), its watches end `ended`. */
105
+ detach(error: Error): void;
106
+ }
107
+ export {};
108
+ //# sourceMappingURL=live-query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live-query.d.ts","sourceRoot":"","sources":["../../src/store/live-query.ts"],"names":[],"mappings":"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"}