@earendil-works/chord 1.5.0 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1853) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/README.md +50 -90
  3. package/dist/contracts/accepts.d.ts +81 -0
  4. package/dist/contracts/accepts.d.ts.map +1 -0
  5. package/dist/contracts/accepts.js.map +1 -0
  6. package/dist/contracts/contract.d.ts +121 -0
  7. package/dist/contracts/contract.d.ts.map +1 -0
  8. package/dist/contracts/contract.js.map +1 -0
  9. package/dist/contracts/declare.d.ts.map +1 -0
  10. package/dist/contracts/declare.js.map +1 -0
  11. package/dist/contracts/evolve.d.ts.map +1 -0
  12. package/dist/contracts/evolve.js.map +1 -0
  13. package/dist/contracts/fingerprint.d.ts +16 -0
  14. package/dist/contracts/fingerprint.d.ts.map +1 -0
  15. package/dist/contracts/fingerprint.js.map +1 -0
  16. package/dist/contracts/history.d.ts.map +1 -0
  17. package/dist/contracts/history.js.map +1 -0
  18. package/dist/contracts/host-kind.d.ts.map +1 -0
  19. package/dist/contracts/host-kind.js.map +1 -0
  20. package/dist/contracts/index.d.ts.map +1 -0
  21. package/dist/contracts/index.js.map +1 -0
  22. package/dist/contracts/internal.d.ts.map +1 -0
  23. package/dist/contracts/internal.js.map +1 -0
  24. package/dist/contracts/names.d.ts.map +1 -0
  25. package/dist/contracts/names.js.map +1 -0
  26. package/dist/contracts/params.d.ts +28 -0
  27. package/dist/contracts/params.d.ts.map +1 -0
  28. package/dist/contracts/params.js.map +1 -0
  29. package/dist/contracts/schema.d.ts.map +1 -0
  30. package/dist/contracts/schema.js.map +1 -0
  31. package/dist/contracts/snapshot.d.ts +16 -0
  32. package/dist/contracts/snapshot.d.ts.map +1 -0
  33. package/dist/contracts/snapshot.js +167 -0
  34. package/dist/contracts/snapshot.js.map +1 -0
  35. package/dist/data/args.d.ts +50 -0
  36. package/dist/data/args.d.ts.map +1 -0
  37. package/dist/data/args.js.map +1 -0
  38. package/dist/data/errors.d.ts +80 -0
  39. package/dist/data/errors.d.ts.map +1 -0
  40. package/dist/data/errors.js +116 -0
  41. package/dist/data/errors.js.map +1 -0
  42. package/dist/data/failure.d.ts.map +1 -0
  43. package/dist/data/failure.js +77 -0
  44. package/dist/data/failure.js.map +1 -0
  45. package/dist/data/index.d.ts +4 -0
  46. package/dist/data/index.d.ts.map +1 -0
  47. package/dist/data/index.js +5 -0
  48. package/dist/data/index.js.map +1 -0
  49. package/dist/data/internal.d.ts +7 -0
  50. package/dist/data/internal.d.ts.map +1 -0
  51. package/dist/data/internal.js +8 -0
  52. package/dist/data/internal.js.map +1 -0
  53. package/dist/data/params.d.ts +20 -0
  54. package/dist/data/params.d.ts.map +1 -0
  55. package/dist/data/params.js.map +1 -0
  56. package/dist/data/principal.d.ts +22 -0
  57. package/dist/data/principal.d.ts.map +1 -0
  58. package/dist/data/principal.js +49 -0
  59. package/dist/data/principal.js.map +1 -0
  60. package/dist/data/validator.d.ts +12 -0
  61. package/dist/data/validator.d.ts.map +1 -0
  62. package/dist/data/validator.js +35 -0
  63. package/dist/data/validator.js.map +1 -0
  64. package/dist/documents/address-source.d.ts +20 -0
  65. package/dist/documents/address-source.d.ts.map +1 -0
  66. package/dist/documents/address-source.js.map +1 -0
  67. package/dist/documents/definition.d.ts +84 -0
  68. package/dist/documents/definition.d.ts.map +1 -0
  69. package/dist/documents/definition.js +74 -0
  70. package/dist/documents/definition.js.map +1 -0
  71. package/dist/documents/documents.d.ts +126 -0
  72. package/dist/documents/documents.d.ts.map +1 -0
  73. package/dist/documents/documents.js +248 -0
  74. package/dist/documents/documents.js.map +1 -0
  75. package/dist/documents/fence.d.ts.map +1 -0
  76. package/dist/documents/fence.js.map +1 -0
  77. package/dist/documents/handles.d.ts +76 -0
  78. package/dist/documents/handles.d.ts.map +1 -0
  79. package/dist/documents/handles.js.map +1 -0
  80. package/dist/documents/index.d.ts.map +1 -0
  81. package/dist/documents/index.js.map +1 -0
  82. package/dist/documents/internal.d.ts +9 -0
  83. package/dist/documents/internal.d.ts.map +1 -0
  84. package/dist/documents/internal.js.map +1 -0
  85. package/dist/documents/keyed-slot.d.ts +103 -0
  86. package/dist/documents/keyed-slot.d.ts.map +1 -0
  87. package/dist/documents/keyed-slot.js +395 -0
  88. package/dist/documents/keyed-slot.js.map +1 -0
  89. package/dist/documents/line.d.ts.map +1 -0
  90. package/dist/documents/line.js.map +1 -0
  91. package/dist/documents/persistence.d.ts +104 -0
  92. package/dist/documents/persistence.d.ts.map +1 -0
  93. package/dist/documents/persistence.js +129 -0
  94. package/dist/documents/persistence.js.map +1 -0
  95. package/dist/documents/residency.d.ts +31 -0
  96. package/dist/documents/residency.d.ts.map +1 -0
  97. package/dist/documents/residency.js.map +1 -0
  98. package/dist/documents/slot.d.ts +109 -0
  99. package/dist/documents/slot.d.ts.map +1 -0
  100. package/dist/documents/slot.js +181 -0
  101. package/dist/documents/slot.js.map +1 -0
  102. package/dist/documents/transaction.d.ts +143 -0
  103. package/dist/documents/transaction.d.ts.map +1 -0
  104. package/dist/documents/transaction.js +442 -0
  105. package/dist/documents/transaction.js.map +1 -0
  106. package/dist/host/activity.d.ts +31 -0
  107. package/dist/host/activity.d.ts.map +1 -0
  108. package/dist/host/activity.js +40 -0
  109. package/dist/host/activity.js.map +1 -0
  110. package/dist/host/adapted.d.ts +49 -0
  111. package/dist/host/adapted.d.ts.map +1 -0
  112. package/dist/host/adapted.js.map +1 -0
  113. package/dist/host/attempt.d.ts +308 -0
  114. package/dist/host/attempt.d.ts.map +1 -0
  115. package/dist/host/attempt.js +1199 -0
  116. package/dist/host/attempt.js.map +1 -0
  117. package/dist/host/backoff.d.ts.map +1 -0
  118. package/dist/host/backoff.js.map +1 -0
  119. package/dist/host/ctx.d.ts +94 -0
  120. package/dist/host/ctx.d.ts.map +1 -0
  121. package/dist/host/ctx.js +200 -0
  122. package/dist/host/ctx.js.map +1 -0
  123. package/dist/host/deadline.d.ts.map +1 -0
  124. package/dist/host/deadline.js.map +1 -0
  125. package/dist/host/dependencies.d.ts.map +1 -0
  126. package/dist/host/dependencies.js.map +1 -0
  127. package/dist/host/destination.d.ts +48 -0
  128. package/dist/host/destination.d.ts.map +1 -0
  129. package/dist/host/destination.js.map +1 -0
  130. package/dist/host/facet.d.ts +84 -0
  131. package/dist/host/facet.d.ts.map +1 -0
  132. package/dist/host/facet.js.map +1 -0
  133. package/dist/host/follow.d.ts +52 -0
  134. package/dist/host/follow.d.ts.map +1 -0
  135. package/dist/host/follow.js.map +1 -0
  136. package/dist/host/host.d.ts +571 -0
  137. package/dist/host/host.d.ts.map +1 -0
  138. package/dist/host/host.js +1318 -0
  139. package/dist/host/host.js.map +1 -0
  140. package/dist/host/index.d.ts +17 -0
  141. package/dist/host/index.d.ts.map +1 -0
  142. package/dist/host/index.js.map +1 -0
  143. package/dist/host/internal.d.ts +11 -0
  144. package/dist/host/internal.d.ts.map +1 -0
  145. package/dist/host/internal.js +9 -0
  146. package/dist/host/internal.js.map +1 -0
  147. package/dist/host/members.d.ts +50 -0
  148. package/dist/host/members.d.ts.map +1 -0
  149. package/dist/host/members.js.map +1 -0
  150. package/dist/host/native.d.ts +64 -0
  151. package/dist/host/native.d.ts.map +1 -0
  152. package/dist/host/native.js +126 -0
  153. package/dist/host/native.js.map +1 -0
  154. package/dist/host/object.d.ts +331 -0
  155. package/dist/host/object.d.ts.map +1 -0
  156. package/dist/host/object.js +1296 -0
  157. package/dist/host/object.js.map +1 -0
  158. package/dist/host/old-work.d.ts +34 -0
  159. package/dist/host/old-work.d.ts.map +1 -0
  160. package/dist/host/old-work.js +52 -0
  161. package/dist/host/old-work.js.map +1 -0
  162. package/dist/host/parked.d.ts +23 -0
  163. package/dist/host/parked.d.ts.map +1 -0
  164. package/dist/host/parked.js.map +1 -0
  165. package/dist/host/presence.d.ts +34 -0
  166. package/dist/host/presence.d.ts.map +1 -0
  167. package/dist/host/presence.js.map +1 -0
  168. package/dist/host/readiness.d.ts +27 -0
  169. package/dist/host/readiness.d.ts.map +1 -0
  170. package/dist/host/readiness.js +134 -0
  171. package/dist/host/readiness.js.map +1 -0
  172. package/dist/host/ref-state.d.ts +53 -0
  173. package/dist/host/ref-state.d.ts.map +1 -0
  174. package/dist/host/ref-state.js +83 -0
  175. package/dist/host/ref-state.js.map +1 -0
  176. package/dist/host/reference-keys.d.ts +36 -0
  177. package/dist/host/reference-keys.d.ts.map +1 -0
  178. package/dist/host/reference-keys.js +168 -0
  179. package/dist/host/reference-keys.js.map +1 -0
  180. package/dist/host/reference-source.d.ts +65 -0
  181. package/dist/host/reference-source.d.ts.map +1 -0
  182. package/dist/host/reference-source.js +285 -0
  183. package/dist/host/reference-source.js.map +1 -0
  184. package/dist/host/reference.d.ts +321 -0
  185. package/dist/host/reference.d.ts.map +1 -0
  186. package/dist/host/reference.js +797 -0
  187. package/dist/host/reference.js.map +1 -0
  188. package/dist/host/reload-cycle.d.ts +16 -0
  189. package/dist/host/reload-cycle.d.ts.map +1 -0
  190. package/dist/host/reload-cycle.js +81 -0
  191. package/dist/host/reload-cycle.js.map +1 -0
  192. package/dist/host/retry-on.d.ts.map +1 -0
  193. package/dist/host/retry-on.js.map +1 -0
  194. package/dist/host/revocation.d.ts +16 -0
  195. package/dist/host/revocation.d.ts.map +1 -0
  196. package/dist/host/revocation.js.map +1 -0
  197. package/dist/host/root.d.ts +37 -0
  198. package/dist/host/root.d.ts.map +1 -0
  199. package/dist/host/root.js +68 -0
  200. package/dist/host/root.js.map +1 -0
  201. package/dist/host/route.d.ts +64 -0
  202. package/dist/host/route.d.ts.map +1 -0
  203. package/dist/host/route.js +227 -0
  204. package/dist/host/route.js.map +1 -0
  205. package/dist/host/routines.d.ts +78 -0
  206. package/dist/host/routines.d.ts.map +1 -0
  207. package/dist/host/routines.js +398 -0
  208. package/dist/host/routines.js.map +1 -0
  209. package/dist/host/sleep.d.ts +9 -0
  210. package/dist/host/sleep.d.ts.map +1 -0
  211. package/dist/host/sleep.js.map +1 -0
  212. package/dist/host/staging.d.ts +94 -0
  213. package/dist/host/staging.d.ts.map +1 -0
  214. package/dist/host/staging.js +304 -0
  215. package/dist/host/staging.js.map +1 -0
  216. package/dist/host/unbound-clock.d.ts +23 -0
  217. package/dist/host/unbound-clock.d.ts.map +1 -0
  218. package/dist/host/unbound-clock.js +58 -0
  219. package/dist/host/unbound-clock.js.map +1 -0
  220. package/dist/host/unbound.d.ts +37 -0
  221. package/dist/host/unbound.d.ts.map +1 -0
  222. package/dist/host/unbound.js +88 -0
  223. package/dist/host/unbound.js.map +1 -0
  224. package/dist/host/uuid.d.ts.map +1 -0
  225. package/dist/host/uuid.js.map +1 -0
  226. package/dist/index.d.ts +29 -19
  227. package/dist/index.d.ts.map +1 -1
  228. package/dist/index.js +20 -10
  229. package/dist/index.js.map +1 -1
  230. package/dist/jobs/definition.d.ts.map +1 -0
  231. package/dist/jobs/definition.js.map +1 -0
  232. package/dist/jobs/index.d.ts.map +1 -0
  233. package/dist/jobs/index.js.map +1 -0
  234. package/dist/jobs/internal.d.ts.map +1 -0
  235. package/dist/jobs/internal.js.map +1 -0
  236. package/dist/jobs/job.d.ts +149 -0
  237. package/dist/jobs/job.d.ts.map +1 -0
  238. package/dist/jobs/job.js +387 -0
  239. package/dist/jobs/job.js.map +1 -0
  240. package/dist/jobs/persisted.d.ts +38 -0
  241. package/dist/jobs/persisted.d.ts.map +1 -0
  242. package/dist/jobs/persisted.js.map +1 -0
  243. package/dist/jobs/records.d.ts +231 -0
  244. package/dist/jobs/records.d.ts.map +1 -0
  245. package/dist/jobs/records.js +871 -0
  246. package/dist/jobs/records.js.map +1 -0
  247. package/dist/jobs/run-states.d.ts +69 -0
  248. package/dist/jobs/run-states.d.ts.map +1 -0
  249. package/dist/jobs/run-states.js +228 -0
  250. package/dist/jobs/run-states.js.map +1 -0
  251. package/dist/jobs/run.d.ts +117 -0
  252. package/dist/jobs/run.d.ts.map +1 -0
  253. package/dist/jobs/run.js +204 -0
  254. package/dist/jobs/run.js.map +1 -0
  255. package/dist/jobs/running.d.ts +44 -0
  256. package/dist/jobs/running.d.ts.map +1 -0
  257. package/dist/jobs/running.js.map +1 -0
  258. package/dist/jobs/stored.d.ts +63 -0
  259. package/dist/jobs/stored.d.ts.map +1 -0
  260. package/dist/jobs/stored.js.map +1 -0
  261. package/dist/link/binary.d.ts.map +1 -0
  262. package/dist/link/binary.js +544 -0
  263. package/dist/link/binary.js.map +1 -0
  264. package/dist/link/channel.d.ts +68 -0
  265. package/dist/link/channel.d.ts.map +1 -0
  266. package/dist/link/channel.js +215 -0
  267. package/dist/link/channel.js.map +1 -0
  268. package/dist/link/errors.d.ts.map +1 -0
  269. package/dist/link/errors.js.map +1 -0
  270. package/dist/link/index.d.ts.map +1 -0
  271. package/dist/link/index.js.map +1 -0
  272. package/dist/link/internal.d.ts.map +1 -0
  273. package/dist/link/internal.js.map +1 -0
  274. package/dist/link/ipc.d.ts.map +1 -0
  275. package/dist/link/ipc.js.map +1 -0
  276. package/dist/link/link.d.ts.map +1 -0
  277. package/dist/link/link.js.map +1 -0
  278. package/dist/link/message.d.ts +262 -0
  279. package/dist/link/message.d.ts.map +1 -0
  280. package/dist/link/message.js +156 -0
  281. package/dist/link/message.js.map +1 -0
  282. package/dist/link/part.d.ts +80 -0
  283. package/dist/link/part.d.ts.map +1 -0
  284. package/dist/link/part.js +165 -0
  285. package/dist/link/part.js.map +1 -0
  286. package/dist/link/text.d.ts.map +1 -0
  287. package/dist/link/text.js +355 -0
  288. package/dist/link/text.js.map +1 -0
  289. package/dist/link/values.d.ts.map +1 -0
  290. package/dist/link/values.js +121 -0
  291. package/dist/link/values.js.map +1 -0
  292. package/dist/link/websocket.d.ts.map +1 -0
  293. package/dist/link/websocket.js.map +1 -0
  294. package/dist/node/app/app.d.ts +269 -0
  295. package/dist/node/app/app.d.ts.map +1 -0
  296. package/dist/node/app/app.js +513 -0
  297. package/dist/node/app/app.js.map +1 -0
  298. package/dist/node/app/archive.d.ts +37 -0
  299. package/dist/node/app/archive.d.ts.map +1 -0
  300. package/dist/node/app/archive.js +204 -0
  301. package/dist/node/app/archive.js.map +1 -0
  302. package/dist/node/app/blobs.d.ts +23 -0
  303. package/dist/node/app/blobs.d.ts.map +1 -0
  304. package/dist/node/app/blobs.js +64 -0
  305. package/dist/node/app/blobs.js.map +1 -0
  306. package/dist/node/app/data.d.ts +35 -0
  307. package/dist/node/app/data.d.ts.map +1 -0
  308. package/dist/node/app/data.js +44 -0
  309. package/dist/node/app/data.js.map +1 -0
  310. package/dist/node/app/ephemeral-sessions.d.ts +20 -0
  311. package/dist/node/app/ephemeral-sessions.d.ts.map +1 -0
  312. package/dist/node/app/ephemeral-sessions.js +69 -0
  313. package/dist/node/app/ephemeral-sessions.js.map +1 -0
  314. package/dist/node/app/ephemeral.d.ts +11 -0
  315. package/dist/node/app/ephemeral.d.ts.map +1 -0
  316. package/dist/node/app/ephemeral.js +34 -0
  317. package/dist/node/app/ephemeral.js.map +1 -0
  318. package/dist/node/app/files-copy.d.ts +13 -0
  319. package/dist/node/app/files-copy.d.ts.map +1 -0
  320. package/dist/node/app/files-copy.js +86 -0
  321. package/dist/node/app/files-copy.js.map +1 -0
  322. package/dist/node/app/files-entry.d.ts +4 -0
  323. package/dist/node/app/files-entry.d.ts.map +1 -0
  324. package/dist/node/app/files-entry.js +7 -0
  325. package/dist/node/app/files-entry.js.map +1 -0
  326. package/dist/node/app/files-index.d.ts +180 -0
  327. package/dist/node/app/files-index.d.ts.map +1 -0
  328. package/dist/node/app/files-index.js +535 -0
  329. package/dist/node/app/files-index.js.map +1 -0
  330. package/dist/node/app/files.d.ts +363 -0
  331. package/dist/node/app/files.d.ts.map +1 -0
  332. package/dist/node/app/files.js +368 -0
  333. package/dist/node/app/files.js.map +1 -0
  334. package/dist/node/app/folder-views.d.ts +21 -0
  335. package/dist/node/app/folder-views.d.ts.map +1 -0
  336. package/dist/node/app/folder-views.js +55 -0
  337. package/dist/node/app/folder-views.js.map +1 -0
  338. package/dist/node/app/index.d.ts +12 -0
  339. package/dist/node/app/index.d.ts.map +1 -0
  340. package/dist/node/app/index.js +15 -0
  341. package/dist/node/app/index.js.map +1 -0
  342. package/dist/node/app/info.d.ts +66 -0
  343. package/dist/node/app/info.d.ts.map +1 -0
  344. package/dist/node/app/info.js +37 -0
  345. package/dist/node/app/info.js.map +1 -0
  346. package/dist/node/app/invite.d.ts +5 -0
  347. package/dist/node/app/invite.d.ts.map +1 -0
  348. package/dist/node/app/invite.js +64 -0
  349. package/dist/node/app/invite.js.map +1 -0
  350. package/dist/node/app/layout.d.ts +36 -0
  351. package/dist/node/app/layout.d.ts.map +1 -0
  352. package/dist/node/app/layout.js +87 -0
  353. package/dist/node/app/layout.js.map +1 -0
  354. package/dist/node/app/owner.d.ts +31 -0
  355. package/dist/node/app/owner.d.ts.map +1 -0
  356. package/dist/node/app/owner.js +104 -0
  357. package/dist/node/app/owner.js.map +1 -0
  358. package/dist/node/app/pairing.d.ts +55 -0
  359. package/dist/node/app/pairing.d.ts.map +1 -0
  360. package/dist/node/app/pairing.js +183 -0
  361. package/dist/node/app/pairing.js.map +1 -0
  362. package/dist/node/app/secrets.d.ts +16 -0
  363. package/dist/node/app/secrets.d.ts.map +1 -0
  364. package/dist/node/app/secrets.js +72 -0
  365. package/dist/node/app/secrets.js.map +1 -0
  366. package/dist/node/app/sessions.d.ts +72 -0
  367. package/dist/node/app/sessions.d.ts.map +1 -0
  368. package/dist/node/app/sessions.js +222 -0
  369. package/dist/node/app/sessions.js.map +1 -0
  370. package/dist/node/app/tar.d.ts +24 -0
  371. package/dist/node/app/tar.d.ts.map +1 -0
  372. package/dist/node/app/tar.js +167 -0
  373. package/dist/node/app/tar.js.map +1 -0
  374. package/dist/node/app/uploads.d.ts +37 -0
  375. package/dist/node/app/uploads.d.ts.map +1 -0
  376. package/dist/node/app/uploads.js +157 -0
  377. package/dist/node/app/uploads.js.map +1 -0
  378. package/dist/node/app/users.d.ts +37 -0
  379. package/dist/node/app/users.d.ts.map +1 -0
  380. package/dist/node/app/users.js +62 -0
  381. package/dist/node/app/users.js.map +1 -0
  382. package/dist/node/app/worker.d.ts +18 -0
  383. package/dist/node/app/worker.d.ts.map +1 -0
  384. package/dist/node/app/worker.js +84 -0
  385. package/dist/node/app/worker.js.map +1 -0
  386. package/dist/node/compression.d.ts +7 -0
  387. package/dist/node/compression.d.ts.map +1 -0
  388. package/dist/node/compression.js +25 -0
  389. package/dist/node/compression.js.map +1 -0
  390. package/dist/node/http/admission.d.ts.map +1 -0
  391. package/dist/node/http/admission.js.map +1 -0
  392. package/dist/node/http/authenticate.d.ts +21 -0
  393. package/dist/node/http/authenticate.d.ts.map +1 -0
  394. package/dist/node/http/authenticate.js +34 -0
  395. package/dist/node/http/authenticate.js.map +1 -0
  396. package/dist/node/http/cookies.d.ts +32 -0
  397. package/dist/node/http/cookies.d.ts.map +1 -0
  398. package/dist/node/http/cookies.js +70 -0
  399. package/dist/node/http/cookies.js.map +1 -0
  400. package/dist/node/http/file.d.ts.map +1 -0
  401. package/dist/node/http/file.js.map +1 -0
  402. package/dist/node/http/headers.d.ts.map +1 -0
  403. package/dist/node/http/headers.js +136 -0
  404. package/dist/node/http/headers.js.map +1 -0
  405. package/dist/node/http/http.d.ts +111 -0
  406. package/dist/node/http/http.d.ts.map +1 -0
  407. package/dist/node/http/http.js +524 -0
  408. package/dist/node/http/http.js.map +1 -0
  409. package/dist/node/http/incoming.d.ts.map +1 -0
  410. package/dist/node/http/incoming.js.map +1 -0
  411. package/dist/node/http/index.d.ts +11 -0
  412. package/dist/node/http/index.d.ts.map +1 -0
  413. package/dist/node/http/index.js +12 -0
  414. package/dist/node/http/index.js.map +1 -0
  415. package/dist/node/http/node.d.ts.map +1 -0
  416. package/dist/node/http/node.js.map +1 -0
  417. package/dist/node/http/request.d.ts +60 -0
  418. package/dist/node/http/request.d.ts.map +1 -0
  419. package/dist/node/http/request.js +118 -0
  420. package/dist/node/http/request.js.map +1 -0
  421. package/dist/node/http/response.d.ts +63 -0
  422. package/dist/node/http/response.d.ts.map +1 -0
  423. package/dist/node/http/response.js.map +1 -0
  424. package/dist/node/http/router.d.ts +132 -0
  425. package/dist/node/http/router.d.ts.map +1 -0
  426. package/dist/node/http/router.js +267 -0
  427. package/dist/node/http/router.js.map +1 -0
  428. package/dist/node/http/upgrades.d.ts +61 -0
  429. package/dist/node/http/upgrades.d.ts.map +1 -0
  430. package/dist/node/http/upgrades.js +192 -0
  431. package/dist/node/http/upgrades.js.map +1 -0
  432. package/dist/node/plugins/base-inputs.d.ts +14 -0
  433. package/dist/node/plugins/base-inputs.d.ts.map +1 -0
  434. package/dist/node/plugins/base-inputs.js +33 -0
  435. package/dist/node/plugins/base-inputs.js.map +1 -0
  436. package/dist/node/plugins/build.d.ts +77 -0
  437. package/dist/node/plugins/build.d.ts.map +1 -0
  438. package/dist/node/plugins/build.js +576 -0
  439. package/dist/node/plugins/build.js.map +1 -0
  440. package/dist/node/plugins/css-modules.d.ts +13 -0
  441. package/dist/node/plugins/css-modules.d.ts.map +1 -0
  442. package/dist/node/plugins/css-modules.js +58 -0
  443. package/dist/node/plugins/css-modules.js.map +1 -0
  444. package/dist/node/plugins/discover.d.ts +67 -0
  445. package/dist/node/plugins/discover.d.ts.map +1 -0
  446. package/dist/node/plugins/discover.js +369 -0
  447. package/dist/node/plugins/discover.js.map +1 -0
  448. package/dist/node/plugins/evaluate.d.ts +33 -0
  449. package/dist/node/plugins/evaluate.d.ts.map +1 -0
  450. package/dist/node/plugins/evaluate.js +121 -0
  451. package/dist/node/plugins/evaluate.js.map +1 -0
  452. package/dist/node/plugins/index.d.ts +11 -0
  453. package/dist/node/plugins/index.d.ts.map +1 -0
  454. package/dist/node/plugins/index.js +13 -0
  455. package/dist/node/plugins/index.js.map +1 -0
  456. package/dist/node/plugins/install.d.ts +38 -0
  457. package/dist/node/plugins/install.d.ts.map +1 -0
  458. package/dist/node/plugins/install.js +213 -0
  459. package/dist/node/plugins/install.js.map +1 -0
  460. package/dist/node/plugins/plugins.d.ts +162 -0
  461. package/dist/node/plugins/plugins.d.ts.map +1 -0
  462. package/dist/node/plugins/plugins.js +244 -0
  463. package/dist/node/plugins/plugins.js.map +1 -0
  464. package/dist/node/plugins/runtime.d.ts +57 -0
  465. package/dist/node/plugins/runtime.d.ts.map +1 -0
  466. package/dist/node/plugins/runtime.js +92 -0
  467. package/dist/node/plugins/runtime.js.map +1 -0
  468. package/dist/node/plugins/stack.d.ts.map +1 -0
  469. package/dist/node/plugins/stack.js.map +1 -0
  470. package/dist/node/plugins/testing.d.ts +58 -0
  471. package/dist/node/plugins/testing.d.ts.map +1 -0
  472. package/dist/node/plugins/testing.js +210 -0
  473. package/dist/node/plugins/testing.js.map +1 -0
  474. package/dist/node/plugins/watcher.d.ts +69 -0
  475. package/dist/node/plugins/watcher.d.ts.map +1 -0
  476. package/dist/node/plugins/watcher.js +622 -0
  477. package/dist/node/plugins/watcher.js.map +1 -0
  478. package/dist/node/surfaces/bundle.d.ts +31 -0
  479. package/dist/node/surfaces/bundle.d.ts.map +1 -0
  480. package/dist/node/surfaces/bundle.js +118 -0
  481. package/dist/node/surfaces/bundle.js.map +1 -0
  482. package/dist/node/surfaces/current.d.ts +17 -0
  483. package/dist/node/surfaces/current.d.ts.map +1 -0
  484. package/dist/node/surfaces/current.js +54 -0
  485. package/dist/node/surfaces/current.js.map +1 -0
  486. package/dist/node/surfaces/index.d.ts +6 -0
  487. package/dist/node/surfaces/index.d.ts.map +1 -0
  488. package/dist/node/surfaces/index.js +6 -0
  489. package/dist/node/surfaces/index.js.map +1 -0
  490. package/dist/node/surfaces/published.d.ts +27 -0
  491. package/dist/node/surfaces/published.d.ts.map +1 -0
  492. package/dist/node/surfaces/published.js +142 -0
  493. package/dist/node/surfaces/published.js.map +1 -0
  494. package/dist/node/surfaces/served.d.ts +15 -0
  495. package/dist/node/surfaces/served.d.ts.map +1 -0
  496. package/dist/node/surfaces/served.js +42 -0
  497. package/dist/node/surfaces/served.js.map +1 -0
  498. package/dist/node/surfaces/surface-build.d.ts +53 -0
  499. package/dist/node/surfaces/surface-build.d.ts.map +1 -0
  500. package/dist/node/surfaces/surface-build.js +105 -0
  501. package/dist/node/surfaces/surface-build.js.map +1 -0
  502. package/dist/node/surfaces/tui.d.ts +40 -0
  503. package/dist/node/surfaces/tui.d.ts.map +1 -0
  504. package/dist/node/surfaces/tui.js +55 -0
  505. package/dist/node/surfaces/tui.js.map +1 -0
  506. package/dist/node/surfaces/web.d.ts +56 -0
  507. package/dist/node/surfaces/web.d.ts.map +1 -0
  508. package/dist/node/surfaces/web.js +108 -0
  509. package/dist/node/surfaces/web.js.map +1 -0
  510. package/dist/node/tui/actions.d.ts +49 -0
  511. package/dist/node/tui/actions.d.ts.map +1 -0
  512. package/dist/node/tui/actions.js +195 -0
  513. package/dist/node/tui/actions.js.map +1 -0
  514. package/dist/node/tui/credentials.d.ts +17 -0
  515. package/dist/node/tui/credentials.d.ts.map +1 -0
  516. package/dist/node/tui/credentials.js +54 -0
  517. package/dist/node/tui/credentials.js.map +1 -0
  518. package/dist/node/tui/filter.d.ts +5 -0
  519. package/dist/node/tui/filter.d.ts.map +1 -0
  520. package/dist/node/tui/filter.js +79 -0
  521. package/dist/node/tui/filter.js.map +1 -0
  522. package/dist/node/tui/index.d.ts +6 -0
  523. package/dist/node/tui/index.d.ts.map +1 -0
  524. package/dist/node/tui/index.js +6 -0
  525. package/dist/node/tui/index.js.map +1 -0
  526. package/dist/node/tui/launcher.d.ts +40 -0
  527. package/dist/node/tui/launcher.d.ts.map +1 -0
  528. package/dist/node/tui/launcher.js +439 -0
  529. package/dist/node/tui/launcher.js.map +1 -0
  530. package/dist/node/tui/pipe.d.ts +18 -0
  531. package/dist/node/tui/pipe.d.ts.map +1 -0
  532. package/dist/node/tui/pipe.js +134 -0
  533. package/dist/node/tui/pipe.js.map +1 -0
  534. package/dist/node/tui/sandbox.d.ts +54 -0
  535. package/dist/node/tui/sandbox.d.ts.map +1 -0
  536. package/dist/node/tui/sandbox.js +431 -0
  537. package/dist/node/tui/sandbox.js.map +1 -0
  538. package/dist/node/workers/base.d.ts +30 -0
  539. package/dist/node/workers/base.d.ts.map +1 -0
  540. package/dist/node/workers/base.js +255 -0
  541. package/dist/node/workers/base.js.map +1 -0
  542. package/dist/node/workers/child.d.ts +4 -0
  543. package/dist/node/workers/child.d.ts.map +1 -0
  544. package/dist/node/workers/child.js +6 -0
  545. package/dist/node/workers/child.js.map +1 -0
  546. package/dist/node/workers/control.d.ts +83 -0
  547. package/dist/node/workers/control.d.ts.map +1 -0
  548. package/dist/node/workers/control.js +77 -0
  549. package/dist/node/workers/control.js.map +1 -0
  550. package/dist/node/workers/index.d.ts +4 -0
  551. package/dist/node/workers/index.d.ts.map +1 -0
  552. package/dist/node/workers/index.js +7 -0
  553. package/dist/node/workers/index.js.map +1 -0
  554. package/dist/node/workers/lock.d.ts +30 -0
  555. package/dist/node/workers/lock.d.ts.map +1 -0
  556. package/dist/node/workers/lock.js +180 -0
  557. package/dist/node/workers/lock.js.map +1 -0
  558. package/dist/node/workers/main.d.ts +46 -0
  559. package/dist/node/workers/main.d.ts.map +1 -0
  560. package/dist/node/workers/main.js +230 -0
  561. package/dist/node/workers/main.js.map +1 -0
  562. package/dist/node/workers/process.d.ts +42 -0
  563. package/dist/node/workers/process.d.ts.map +1 -0
  564. package/dist/node/workers/process.js +125 -0
  565. package/dist/node/workers/process.js.map +1 -0
  566. package/dist/node/workers/workers.d.ts +122 -0
  567. package/dist/node/workers/workers.d.ts.map +1 -0
  568. package/dist/node/workers/workers.js +677 -0
  569. package/dist/node/workers/workers.js.map +1 -0
  570. package/dist/react/hooks.d.ts +43 -0
  571. package/dist/react/hooks.d.ts.map +1 -0
  572. package/dist/react/hooks.js +82 -0
  573. package/dist/react/hooks.js.map +1 -0
  574. package/dist/react/index.d.ts +3 -0
  575. package/dist/react/index.d.ts.map +1 -0
  576. package/dist/react/index.js +4 -0
  577. package/dist/react/index.js.map +1 -0
  578. package/dist/react/stores.d.ts +9 -0
  579. package/dist/react/stores.d.ts.map +1 -0
  580. package/dist/react/stores.js +37 -0
  581. package/dist/react/stores.js.map +1 -0
  582. package/dist/registries/contribution.d.ts.map +1 -0
  583. package/dist/registries/contribution.js.map +1 -0
  584. package/dist/registries/entries.d.ts.map +1 -0
  585. package/dist/registries/entries.js.map +1 -0
  586. package/dist/registries/index.d.ts.map +1 -0
  587. package/dist/registries/index.js.map +1 -0
  588. package/dist/registries/internal.d.ts.map +1 -0
  589. package/dist/registries/internal.js.map +1 -0
  590. package/dist/registries/record.d.ts +115 -0
  591. package/dist/registries/record.d.ts.map +1 -0
  592. package/dist/registries/record.js +283 -0
  593. package/dist/registries/record.js.map +1 -0
  594. package/dist/registries/registry.d.ts +74 -0
  595. package/dist/registries/registry.d.ts.map +1 -0
  596. package/dist/registries/registry.js.map +1 -0
  597. package/dist/registries/value.d.ts.map +1 -0
  598. package/dist/registries/value.js +224 -0
  599. package/dist/registries/value.js.map +1 -0
  600. package/dist/remote/calls.d.ts.map +1 -0
  601. package/dist/remote/calls.js.map +1 -0
  602. package/dist/remote/consumer.d.ts +43 -0
  603. package/dist/remote/consumer.d.ts.map +1 -0
  604. package/dist/remote/consumer.js +350 -0
  605. package/dist/remote/consumer.js.map +1 -0
  606. package/dist/remote/hold.d.ts +141 -0
  607. package/dist/remote/hold.d.ts.map +1 -0
  608. package/dist/remote/hold.js +579 -0
  609. package/dist/remote/hold.js.map +1 -0
  610. package/dist/remote/host-link.d.ts +77 -0
  611. package/dist/remote/host-link.d.ts.map +1 -0
  612. package/dist/remote/host-link.js +184 -0
  613. package/dist/remote/host-link.js.map +1 -0
  614. package/dist/remote/internal.d.ts.map +1 -0
  615. package/dist/remote/internal.js.map +1 -0
  616. package/dist/remote/path.d.ts.map +1 -0
  617. package/dist/remote/path.js.map +1 -0
  618. package/dist/remote/provider.d.ts +89 -0
  619. package/dist/remote/provider.d.ts.map +1 -0
  620. package/dist/remote/provider.js +597 -0
  621. package/dist/remote/provider.js.map +1 -0
  622. package/dist/remote/relay.d.ts +69 -0
  623. package/dist/remote/relay.d.ts.map +1 -0
  624. package/dist/remote/relay.js +219 -0
  625. package/dist/remote/relay.js.map +1 -0
  626. package/dist/remote/remote-object.d.ts +138 -0
  627. package/dist/remote/remote-object.d.ts.map +1 -0
  628. package/dist/remote/remote-object.js +492 -0
  629. package/dist/remote/remote-object.js.map +1 -0
  630. package/dist/remote/replica.d.ts +59 -0
  631. package/dist/remote/replica.d.ts.map +1 -0
  632. package/dist/remote/replica.js +125 -0
  633. package/dist/remote/replica.js.map +1 -0
  634. package/dist/sqlite/node.d.ts +9 -1
  635. package/dist/sqlite/node.d.ts.map +1 -1
  636. package/dist/sqlite/node.js +9 -3
  637. package/dist/sqlite/node.js.map +1 -1
  638. package/dist/state/batch.d.ts +64 -0
  639. package/dist/state/batch.d.ts.map +1 -0
  640. package/dist/state/batch.js +164 -0
  641. package/dist/state/batch.js.map +1 -0
  642. package/dist/state/derive.d.ts +52 -0
  643. package/dist/state/derive.d.ts.map +1 -0
  644. package/dist/state/derive.js +182 -0
  645. package/dist/state/derive.js.map +1 -0
  646. package/dist/state/index.d.ts +6 -0
  647. package/dist/state/index.d.ts.map +1 -0
  648. package/dist/state/index.js.map +1 -0
  649. package/dist/state/internal.d.ts.map +1 -0
  650. package/dist/state/internal.js.map +1 -0
  651. package/dist/state/native-source.d.ts +106 -0
  652. package/dist/state/native-source.d.ts.map +1 -0
  653. package/dist/state/native-source.js +240 -0
  654. package/dist/state/native-source.js.map +1 -0
  655. package/dist/state/watchable.d.ts +114 -0
  656. package/dist/state/watchable.d.ts.map +1 -0
  657. package/dist/state/watchable.js +156 -0
  658. package/dist/state/watchable.js.map +1 -0
  659. package/dist/state/writable.d.ts +32 -0
  660. package/dist/state/writable.d.ts.map +1 -0
  661. package/dist/state/writable.js.map +1 -0
  662. package/dist/store/adapter.d.ts +67 -0
  663. package/dist/store/adapter.d.ts.map +1 -0
  664. package/dist/store/adapter.js.map +1 -0
  665. package/dist/store/allocator.d.ts.map +1 -0
  666. package/dist/store/allocator.js.map +1 -0
  667. package/dist/store/applier.d.ts.map +1 -0
  668. package/dist/store/applier.js.map +1 -0
  669. package/dist/store/apply-batch.d.ts +12 -0
  670. package/dist/store/apply-batch.d.ts.map +1 -0
  671. package/dist/store/apply-batch.js.map +1 -0
  672. package/dist/store/archive.d.ts +32 -0
  673. package/dist/store/archive.d.ts.map +1 -0
  674. package/dist/store/archive.js +130 -0
  675. package/dist/store/archive.js.map +1 -0
  676. package/dist/store/backend.d.ts +10 -0
  677. package/dist/store/backend.d.ts.map +1 -0
  678. package/dist/store/backend.js.map +1 -0
  679. package/dist/store/catalog.d.ts +24 -0
  680. package/dist/store/catalog.d.ts.map +1 -0
  681. package/dist/store/catalog.js.map +1 -0
  682. package/dist/store/claims.d.ts.map +1 -0
  683. package/dist/store/claims.js.map +1 -0
  684. package/dist/store/columns.d.ts.map +1 -0
  685. package/dist/store/columns.js.map +1 -0
  686. package/dist/store/engine.d.ts +176 -0
  687. package/dist/store/engine.d.ts.map +1 -0
  688. package/dist/store/engine.js +283 -0
  689. package/dist/store/engine.js.map +1 -0
  690. package/dist/store/evaluate.d.ts +17 -0
  691. package/dist/store/evaluate.d.ts.map +1 -0
  692. package/dist/store/evaluate.js.map +1 -0
  693. package/dist/store/export.d.ts +17 -0
  694. package/dist/store/export.d.ts.map +1 -0
  695. package/dist/store/export.js +200 -0
  696. package/dist/store/export.js.map +1 -0
  697. package/dist/store/expression.d.ts +150 -0
  698. package/dist/store/expression.d.ts.map +1 -0
  699. package/dist/store/expression.js.map +1 -0
  700. package/dist/store/import.d.ts +10 -0
  701. package/dist/store/import.d.ts.map +1 -0
  702. package/dist/store/import.js +276 -0
  703. package/dist/store/import.js.map +1 -0
  704. package/dist/store/index.d.ts.map +1 -0
  705. package/dist/store/index.js.map +1 -0
  706. package/dist/store/json-column.d.ts +33 -0
  707. package/dist/store/json-column.d.ts.map +1 -0
  708. package/dist/store/json-column.js +62 -0
  709. package/dist/store/json-column.js.map +1 -0
  710. package/dist/store/jsonl.d.ts.map +1 -0
  711. package/dist/store/jsonl.js.map +1 -0
  712. package/dist/store/live-query.d.ts +108 -0
  713. package/dist/store/live-query.d.ts.map +1 -0
  714. package/dist/store/live-query.js +254 -0
  715. package/dist/store/live-query.js.map +1 -0
  716. package/dist/store/outbox.d.ts +26 -0
  717. package/dist/store/outbox.d.ts.map +1 -0
  718. package/dist/store/outbox.js.map +1 -0
  719. package/dist/store/query.d.ts +39 -0
  720. package/dist/store/query.d.ts.map +1 -0
  721. package/dist/store/query.js.map +1 -0
  722. package/dist/store/refusal.d.ts.map +1 -0
  723. package/dist/store/refusal.js.map +1 -0
  724. package/dist/store/rows.d.ts +80 -0
  725. package/dist/store/rows.d.ts.map +1 -0
  726. package/dist/store/rows.js.map +1 -0
  727. package/dist/store/schema.d.ts +25 -0
  728. package/dist/store/schema.d.ts.map +1 -0
  729. package/dist/store/schema.js +115 -0
  730. package/dist/store/schema.js.map +1 -0
  731. package/dist/store/sql.d.ts +73 -0
  732. package/dist/store/sql.d.ts.map +1 -0
  733. package/dist/store/sql.js.map +1 -0
  734. package/dist/store/step.d.ts +50 -0
  735. package/dist/store/step.d.ts.map +1 -0
  736. package/dist/store/step.js +52 -0
  737. package/dist/store/step.js.map +1 -0
  738. package/dist/store/store.d.ts +171 -0
  739. package/dist/store/store.d.ts.map +1 -0
  740. package/dist/store/store.js +818 -0
  741. package/dist/store/store.js.map +1 -0
  742. package/dist/store/table-changes.d.ts +29 -0
  743. package/dist/store/table-changes.d.ts.map +1 -0
  744. package/dist/store/table-changes.js.map +1 -0
  745. package/dist/store/table-evolve.d.ts.map +1 -0
  746. package/dist/store/table-evolve.js.map +1 -0
  747. package/dist/store/table-handle.d.ts +73 -0
  748. package/dist/store/table-handle.d.ts.map +1 -0
  749. package/dist/store/table-handle.js +101 -0
  750. package/dist/store/table-handle.js.map +1 -0
  751. package/dist/store/table-history.d.ts.map +1 -0
  752. package/dist/store/table-history.js.map +1 -0
  753. package/dist/store/table-migration.d.ts +16 -0
  754. package/dist/store/table-migration.d.ts.map +1 -0
  755. package/dist/store/table-migration.js +202 -0
  756. package/dist/store/table-migration.js.map +1 -0
  757. package/dist/store/table-writes.d.ts.map +1 -0
  758. package/dist/store/table-writes.js +170 -0
  759. package/dist/store/table-writes.js.map +1 -0
  760. package/dist/store/table.d.ts +80 -0
  761. package/dist/store/table.d.ts.map +1 -0
  762. package/dist/store/table.js.map +1 -0
  763. package/dist/store/text.d.ts.map +1 -0
  764. package/dist/store/text.js.map +1 -0
  765. package/dist/store/writes.d.ts.map +1 -0
  766. package/dist/store/writes.js.map +1 -0
  767. package/dist/surfaces/active-language.d.ts +20 -0
  768. package/dist/surfaces/active-language.d.ts.map +1 -0
  769. package/dist/surfaces/active-language.js +78 -0
  770. package/dist/surfaces/active-language.js.map +1 -0
  771. package/dist/surfaces/active-theme.d.ts +16 -0
  772. package/dist/surfaces/active-theme.d.ts.map +1 -0
  773. package/dist/surfaces/active-theme.js +47 -0
  774. package/dist/surfaces/active-theme.js.map +1 -0
  775. package/dist/surfaces/client.d.ts +96 -0
  776. package/dist/surfaces/client.d.ts.map +1 -0
  777. package/dist/surfaces/client.js +264 -0
  778. package/dist/surfaces/client.js.map +1 -0
  779. package/dist/surfaces/connection.d.ts +49 -0
  780. package/dist/surfaces/connection.d.ts.map +1 -0
  781. package/dist/surfaces/connection.js +142 -0
  782. package/dist/surfaces/connection.js.map +1 -0
  783. package/dist/surfaces/format.d.ts +5 -0
  784. package/dist/surfaces/format.d.ts.map +1 -0
  785. package/dist/surfaces/format.js +37 -0
  786. package/dist/surfaces/format.js.map +1 -0
  787. package/dist/surfaces/index.d.ts +15 -0
  788. package/dist/surfaces/index.d.ts.map +1 -0
  789. package/dist/surfaces/index.js +18 -0
  790. package/dist/surfaces/index.js.map +1 -0
  791. package/dist/surfaces/language.d.ts +53 -0
  792. package/dist/surfaces/language.d.ts.map +1 -0
  793. package/dist/surfaces/language.js +74 -0
  794. package/dist/surfaces/language.js.map +1 -0
  795. package/dist/surfaces/loaded.d.ts +42 -0
  796. package/dist/surfaces/loaded.d.ts.map +1 -0
  797. package/dist/surfaces/loaded.js +116 -0
  798. package/dist/surfaces/loaded.js.map +1 -0
  799. package/dist/surfaces/locale-choice.d.ts +25 -0
  800. package/dist/surfaces/locale-choice.d.ts.map +1 -0
  801. package/dist/surfaces/locale-choice.js +14 -0
  802. package/dist/surfaces/locale-choice.js.map +1 -0
  803. package/dist/surfaces/messages.d.ts +67 -0
  804. package/dist/surfaces/messages.d.ts.map +1 -0
  805. package/dist/surfaces/messages.js +112 -0
  806. package/dist/surfaces/messages.js.map +1 -0
  807. package/dist/surfaces/page-state.d.ts +14 -0
  808. package/dist/surfaces/page-state.d.ts.map +1 -0
  809. package/dist/surfaces/page-state.js +43 -0
  810. package/dist/surfaces/page-state.js.map +1 -0
  811. package/dist/surfaces/preference.d.ts +32 -0
  812. package/dist/surfaces/preference.d.ts.map +1 -0
  813. package/dist/surfaces/preference.js +72 -0
  814. package/dist/surfaces/preference.js.map +1 -0
  815. package/dist/surfaces/registered.d.ts +33 -0
  816. package/dist/surfaces/registered.d.ts.map +1 -0
  817. package/dist/surfaces/registered.js +51 -0
  818. package/dist/surfaces/registered.js.map +1 -0
  819. package/dist/surfaces/scripts.d.ts +84 -0
  820. package/dist/surfaces/scripts.d.ts.map +1 -0
  821. package/dist/surfaces/scripts.js +28 -0
  822. package/dist/surfaces/scripts.js.map +1 -0
  823. package/dist/surfaces/theme-choice.d.ts +31 -0
  824. package/dist/surfaces/theme-choice.d.ts.map +1 -0
  825. package/dist/surfaces/theme-choice.js +18 -0
  826. package/dist/surfaces/theme-choice.js.map +1 -0
  827. package/dist/surfaces/themes.d.ts +43 -0
  828. package/dist/surfaces/themes.d.ts.map +1 -0
  829. package/dist/surfaces/themes.js +110 -0
  830. package/dist/surfaces/themes.js.map +1 -0
  831. package/dist/surfaces/translations.d.ts +29 -0
  832. package/dist/surfaces/translations.d.ts.map +1 -0
  833. package/dist/surfaces/translations.js +57 -0
  834. package/dist/surfaces/translations.js.map +1 -0
  835. package/dist/sync/batch.d.ts +18 -0
  836. package/dist/sync/batch.d.ts.map +1 -0
  837. package/dist/sync/batch.js +125 -0
  838. package/dist/sync/batch.js.map +1 -0
  839. package/dist/sync/client.d.ts +166 -0
  840. package/dist/sync/client.d.ts.map +1 -0
  841. package/dist/sync/client.js +438 -0
  842. package/dist/sync/client.js.map +1 -0
  843. package/dist/sync/files.d.ts +46 -0
  844. package/dist/sync/files.d.ts.map +1 -0
  845. package/dist/sync/files.js +13 -0
  846. package/dist/sync/files.js.map +1 -0
  847. package/dist/sync/filesystem.d.ts +37 -0
  848. package/dist/sync/filesystem.d.ts.map +1 -0
  849. package/dist/sync/filesystem.js +185 -0
  850. package/dist/sync/filesystem.js.map +1 -0
  851. package/dist/sync/index.d.ts +8 -0
  852. package/dist/sync/index.d.ts.map +1 -0
  853. package/dist/sync/index.js +9 -0
  854. package/dist/sync/index.js.map +1 -0
  855. package/dist/sync/lines.d.ts +18 -0
  856. package/dist/sync/lines.d.ts.map +1 -0
  857. package/dist/sync/lines.js +46 -0
  858. package/dist/sync/lines.js.map +1 -0
  859. package/dist/sync/remote.d.ts +130 -0
  860. package/dist/sync/remote.d.ts.map +1 -0
  861. package/dist/sync/remote.js +46 -0
  862. package/dist/sync/remote.js.map +1 -0
  863. package/dist/sync/state.d.ts +17 -0
  864. package/dist/sync/state.d.ts.map +1 -0
  865. package/dist/sync/state.js +40 -0
  866. package/dist/sync/state.js.map +1 -0
  867. package/dist/telemetry-ingest/batch.d.ts +70 -0
  868. package/dist/telemetry-ingest/batch.d.ts.map +1 -0
  869. package/dist/telemetry-ingest/batch.js +110 -0
  870. package/dist/telemetry-ingest/batch.js.map +1 -0
  871. package/dist/telemetry-ingest/facet.d.ts +21 -0
  872. package/dist/telemetry-ingest/facet.d.ts.map +1 -0
  873. package/dist/telemetry-ingest/facet.js +96 -0
  874. package/dist/telemetry-ingest/facet.js.map +1 -0
  875. package/dist/telemetry-ingest/index.d.ts +5 -0
  876. package/dist/telemetry-ingest/index.d.ts.map +1 -0
  877. package/dist/telemetry-ingest/index.js +8 -0
  878. package/dist/telemetry-ingest/index.js.map +1 -0
  879. package/dist/telemetry-ingest/recorder.d.ts +50 -0
  880. package/dist/telemetry-ingest/recorder.d.ts.map +1 -0
  881. package/dist/telemetry-ingest/recorder.js +298 -0
  882. package/dist/telemetry-ingest/recorder.js.map +1 -0
  883. package/dist/telemetry-ingest/sender.d.ts +14 -0
  884. package/dist/telemetry-ingest/sender.d.ts.map +1 -0
  885. package/dist/telemetry-ingest/sender.js +64 -0
  886. package/dist/telemetry-ingest/sender.js.map +1 -0
  887. package/dist/telemetry-sqlite/index.d.ts +13 -4
  888. package/dist/telemetry-sqlite/index.d.ts.map +1 -1
  889. package/dist/telemetry-sqlite/index.js +81 -241
  890. package/dist/telemetry-sqlite/index.js.map +1 -1
  891. package/dist/telemetry-sqlite/node.d.ts +13 -0
  892. package/dist/telemetry-sqlite/node.d.ts.map +1 -0
  893. package/dist/telemetry-sqlite/node.js +27 -0
  894. package/dist/telemetry-sqlite/node.js.map +1 -0
  895. package/dist/telemetry-sqlite/schema.d.ts +9 -0
  896. package/dist/telemetry-sqlite/schema.d.ts.map +1 -0
  897. package/dist/telemetry-sqlite/schema.js +61 -0
  898. package/dist/telemetry-sqlite/schema.js.map +1 -0
  899. package/dist/telemetry-sqlite/store.d.ts +3 -0
  900. package/dist/telemetry-sqlite/store.d.ts.map +1 -1
  901. package/dist/telemetry-sqlite/store.js +24 -13
  902. package/dist/telemetry-sqlite/store.js.map +1 -1
  903. package/dist/telemetry.d.ts +937 -0
  904. package/dist/telemetry.d.ts.map +1 -0
  905. package/dist/telemetry.js +470 -0
  906. package/dist/telemetry.js.map +1 -0
  907. package/dist/tui/bridge.d.ts +112 -0
  908. package/dist/tui/bridge.d.ts.map +1 -0
  909. package/dist/tui/bridge.js +9 -0
  910. package/dist/tui/bridge.js.map +1 -0
  911. package/dist/tui/channel.d.ts +44 -0
  912. package/dist/tui/channel.d.ts.map +1 -0
  913. package/dist/tui/channel.js +150 -0
  914. package/dist/tui/channel.js.map +1 -0
  915. package/dist/tui/frames.d.ts +5 -0
  916. package/dist/tui/frames.d.ts.map +1 -0
  917. package/dist/tui/frames.js +52 -0
  918. package/dist/tui/frames.js.map +1 -0
  919. package/dist/tui/index.d.ts +7 -0
  920. package/dist/tui/index.d.ts.map +1 -0
  921. package/dist/tui/index.js +8 -0
  922. package/dist/tui/index.js.map +1 -0
  923. package/dist/tui/runtime.d.ts +46 -0
  924. package/dist/tui/runtime.d.ts.map +1 -0
  925. package/dist/tui/runtime.js +101 -0
  926. package/dist/tui/runtime.js.map +1 -0
  927. package/dist/tui/scope.d.ts +46 -0
  928. package/dist/tui/scope.d.ts.map +1 -0
  929. package/dist/tui/scope.js +141 -0
  930. package/dist/tui/scope.js.map +1 -0
  931. package/dist/tui/terminal.d.ts +15 -0
  932. package/dist/tui/terminal.d.ts.map +1 -0
  933. package/dist/tui/terminal.js +37 -0
  934. package/dist/tui/terminal.js.map +1 -0
  935. package/dist/tui/theme.d.ts +17 -0
  936. package/dist/tui/theme.d.ts.map +1 -0
  937. package/dist/tui/theme.js +38 -0
  938. package/dist/tui/theme.js.map +1 -0
  939. package/dist/web/environment.d.ts +4 -0
  940. package/dist/web/environment.d.ts.map +1 -0
  941. package/dist/web/environment.js +37 -0
  942. package/dist/web/environment.js.map +1 -0
  943. package/dist/web/index.d.ts +5 -0
  944. package/dist/web/index.d.ts.map +1 -0
  945. package/dist/web/index.js +7 -0
  946. package/dist/web/index.js.map +1 -0
  947. package/dist/web/language.d.ts +7 -0
  948. package/dist/web/language.d.ts.map +1 -0
  949. package/dist/web/language.js +21 -0
  950. package/dist/web/language.js.map +1 -0
  951. package/dist/web/page.d.ts +29 -0
  952. package/dist/web/page.d.ts.map +1 -0
  953. package/dist/web/page.js +92 -0
  954. package/dist/web/page.js.map +1 -0
  955. package/dist/web/scripts.d.ts +23 -0
  956. package/dist/web/scripts.d.ts.map +1 -0
  957. package/dist/web/scripts.js +50 -0
  958. package/dist/web/scripts.js.map +1 -0
  959. package/dist/web/styles.d.ts +17 -0
  960. package/dist/web/styles.d.ts.map +1 -0
  961. package/dist/web/styles.js +218 -0
  962. package/dist/web/styles.js.map +1 -0
  963. package/dist/web/themes.d.ts +6 -0
  964. package/dist/web/themes.d.ts.map +1 -0
  965. package/dist/web/themes.js +31 -0
  966. package/dist/web/themes.js.map +1 -0
  967. package/docs/benchmarks.md +1036 -0
  968. package/docs/decisions.md +3436 -0
  969. package/docs/dependencies/book.md +1671 -0
  970. package/docs/dependencies/index.html +2641 -0
  971. package/docs/design.md +3065 -0
  972. package/docs/durable-observers/book.md +432 -0
  973. package/docs/durable-observers/index.html +517 -0
  974. package/docs/guide-plugins-hosts/book.md +957 -0
  975. package/docs/guide-plugins-hosts/index.html +952 -0
  976. package/docs/http-workers/book.md +378 -0
  977. package/docs/http-workers/index.html +515 -0
  978. package/docs/i18n/book.md +217 -0
  979. package/docs/i18n/index.html +344 -0
  980. package/docs/layer-1.md +311 -0
  981. package/docs/layer-2.md +216 -0
  982. package/docs/p3-features/README.md +6 -0
  983. package/docs/p3-features/book.md +478 -0
  984. package/docs/plugin-authoring.md +276 -0
  985. package/docs/plugin-model/book.md +186 -0
  986. package/docs/plugin-model/index.html +310 -0
  987. package/docs/plugin-primer/book.md +273 -0
  988. package/docs/plugin-primer/index.html +430 -0
  989. package/docs/slice-1.md +236 -0
  990. package/docs/slice-10.md +288 -0
  991. package/docs/slice-11.md +114 -0
  992. package/docs/slice-12.md +132 -0
  993. package/docs/slice-13.md +121 -0
  994. package/docs/slice-2.md +174 -0
  995. package/docs/slice-3a.md +296 -0
  996. package/docs/slice-3b.md +197 -0
  997. package/docs/slice-4a.md +418 -0
  998. package/docs/slice-4b.md +208 -0
  999. package/docs/slice-6a.md +676 -0
  1000. package/docs/slice-6b.md +332 -0
  1001. package/docs/slice-7b/book.md +608 -0
  1002. package/docs/slice-7b/index.html +842 -0
  1003. package/docs/slice-7b.md +255 -0
  1004. package/docs/slice-7c.md +165 -0
  1005. package/docs/slice-9.md +110 -0
  1006. package/docs/slices.md +241 -0
  1007. package/docs/store/book.md +670 -0
  1008. package/docs/store/index.html +861 -0
  1009. package/docs/store/walkthrough.md +193 -0
  1010. package/docs/theming/book.md +223 -0
  1011. package/docs/theming/index.html +371 -0
  1012. package/docs/tutorial/book.md +2169 -0
  1013. package/docs/tutorial/index.html +2112 -0
  1014. package/docs/tutorial/screens/click-after.png +0 -0
  1015. package/docs/tutorial/screens/click-before.png +0 -0
  1016. package/docs/tutorial/screens/edited.png +0 -0
  1017. package/docs/tutorial/screens/french.png +0 -0
  1018. package/docs/tutorial/screens/harbor.png +0 -0
  1019. package/docs/tutorial/screens/page.png +0 -0
  1020. package/docs/tutorial/screens/traces-ada.png +0 -0
  1021. package/docs/tutorial/screens/traces.png +0 -0
  1022. package/package.json +99 -21
  1023. package/dist/cell.d.ts +0 -122
  1024. package/dist/cell.d.ts.map +0 -1
  1025. package/dist/cell.js +0 -356
  1026. package/dist/cell.js.map +0 -1
  1027. package/dist/cluster.d.ts +0 -27
  1028. package/dist/cluster.d.ts.map +0 -1
  1029. package/dist/cluster.js +0 -230
  1030. package/dist/cluster.js.map +0 -1
  1031. package/dist/connection.d.ts +0 -270
  1032. package/dist/connection.d.ts.map +0 -1
  1033. package/dist/connection.js +0 -1216
  1034. package/dist/connection.js.map +0 -1
  1035. package/dist/contract.d.ts +0 -207
  1036. package/dist/contract.d.ts.map +0 -1
  1037. package/dist/contract.js +0 -241
  1038. package/dist/contract.js.map +0 -1
  1039. package/dist/declare.d.ts +0 -33
  1040. package/dist/declare.d.ts.map +0 -1
  1041. package/dist/declare.js +0 -2
  1042. package/dist/declare.js.map +0 -1
  1043. package/dist/errors.d.ts +0 -28
  1044. package/dist/errors.d.ts.map +0 -1
  1045. package/dist/errors.js +0 -59
  1046. package/dist/errors.js.map +0 -1
  1047. package/dist/host.d.ts +0 -348
  1048. package/dist/host.d.ts.map +0 -1
  1049. package/dist/host.js +0 -1002
  1050. package/dist/host.js.map +0 -1
  1051. package/dist/link.d.ts +0 -107
  1052. package/dist/link.d.ts.map +0 -1
  1053. package/dist/link.js +0 -355
  1054. package/dist/link.js.map +0 -1
  1055. package/dist/loader.d.ts +0 -4
  1056. package/dist/loader.d.ts.map +0 -1
  1057. package/dist/loader.js +0 -73
  1058. package/dist/loader.js.map +0 -1
  1059. package/dist/manager.d.ts +0 -115
  1060. package/dist/manager.d.ts.map +0 -1
  1061. package/dist/manager.js +0 -345
  1062. package/dist/manager.js.map +0 -1
  1063. package/dist/next/contracts/accepts.d.ts +0 -81
  1064. package/dist/next/contracts/accepts.d.ts.map +0 -1
  1065. package/dist/next/contracts/accepts.js.map +0 -1
  1066. package/dist/next/contracts/contract.d.ts +0 -121
  1067. package/dist/next/contracts/contract.d.ts.map +0 -1
  1068. package/dist/next/contracts/contract.js.map +0 -1
  1069. package/dist/next/contracts/declare.d.ts.map +0 -1
  1070. package/dist/next/contracts/declare.js.map +0 -1
  1071. package/dist/next/contracts/evolve.d.ts.map +0 -1
  1072. package/dist/next/contracts/evolve.js.map +0 -1
  1073. package/dist/next/contracts/fingerprint.d.ts +0 -16
  1074. package/dist/next/contracts/fingerprint.d.ts.map +0 -1
  1075. package/dist/next/contracts/fingerprint.js.map +0 -1
  1076. package/dist/next/contracts/history.d.ts.map +0 -1
  1077. package/dist/next/contracts/history.js.map +0 -1
  1078. package/dist/next/contracts/host-kind.d.ts.map +0 -1
  1079. package/dist/next/contracts/host-kind.js.map +0 -1
  1080. package/dist/next/contracts/index.d.ts.map +0 -1
  1081. package/dist/next/contracts/index.js.map +0 -1
  1082. package/dist/next/contracts/internal.d.ts.map +0 -1
  1083. package/dist/next/contracts/internal.js.map +0 -1
  1084. package/dist/next/contracts/names.d.ts.map +0 -1
  1085. package/dist/next/contracts/names.js.map +0 -1
  1086. package/dist/next/contracts/params.d.ts +0 -28
  1087. package/dist/next/contracts/params.d.ts.map +0 -1
  1088. package/dist/next/contracts/params.js.map +0 -1
  1089. package/dist/next/contracts/schema.d.ts.map +0 -1
  1090. package/dist/next/contracts/schema.js.map +0 -1
  1091. package/dist/next/contracts/snapshot.d.ts +0 -16
  1092. package/dist/next/contracts/snapshot.d.ts.map +0 -1
  1093. package/dist/next/contracts/snapshot.js +0 -167
  1094. package/dist/next/contracts/snapshot.js.map +0 -1
  1095. package/dist/next/data/args.d.ts +0 -50
  1096. package/dist/next/data/args.d.ts.map +0 -1
  1097. package/dist/next/data/args.js.map +0 -1
  1098. package/dist/next/data/errors.d.ts +0 -73
  1099. package/dist/next/data/errors.d.ts.map +0 -1
  1100. package/dist/next/data/errors.js +0 -107
  1101. package/dist/next/data/errors.js.map +0 -1
  1102. package/dist/next/data/failure.d.ts.map +0 -1
  1103. package/dist/next/data/failure.js +0 -72
  1104. package/dist/next/data/failure.js.map +0 -1
  1105. package/dist/next/data/index.d.ts +0 -4
  1106. package/dist/next/data/index.d.ts.map +0 -1
  1107. package/dist/next/data/index.js +0 -4
  1108. package/dist/next/data/index.js.map +0 -1
  1109. package/dist/next/data/internal.d.ts +0 -7
  1110. package/dist/next/data/internal.d.ts.map +0 -1
  1111. package/dist/next/data/internal.js +0 -8
  1112. package/dist/next/data/internal.js.map +0 -1
  1113. package/dist/next/data/params.d.ts +0 -20
  1114. package/dist/next/data/params.d.ts.map +0 -1
  1115. package/dist/next/data/params.js.map +0 -1
  1116. package/dist/next/data/principal.d.ts +0 -17
  1117. package/dist/next/data/principal.d.ts.map +0 -1
  1118. package/dist/next/data/principal.js +0 -41
  1119. package/dist/next/data/principal.js.map +0 -1
  1120. package/dist/next/data/validator.d.ts +0 -12
  1121. package/dist/next/data/validator.d.ts.map +0 -1
  1122. package/dist/next/data/validator.js +0 -34
  1123. package/dist/next/data/validator.js.map +0 -1
  1124. package/dist/next/documents/address-source.d.ts +0 -20
  1125. package/dist/next/documents/address-source.d.ts.map +0 -1
  1126. package/dist/next/documents/address-source.js.map +0 -1
  1127. package/dist/next/documents/definition.d.ts +0 -84
  1128. package/dist/next/documents/definition.d.ts.map +0 -1
  1129. package/dist/next/documents/definition.js +0 -73
  1130. package/dist/next/documents/definition.js.map +0 -1
  1131. package/dist/next/documents/documents.d.ts +0 -106
  1132. package/dist/next/documents/documents.d.ts.map +0 -1
  1133. package/dist/next/documents/documents.js +0 -224
  1134. package/dist/next/documents/documents.js.map +0 -1
  1135. package/dist/next/documents/fence.d.ts.map +0 -1
  1136. package/dist/next/documents/fence.js.map +0 -1
  1137. package/dist/next/documents/handles.d.ts +0 -76
  1138. package/dist/next/documents/handles.d.ts.map +0 -1
  1139. package/dist/next/documents/handles.js.map +0 -1
  1140. package/dist/next/documents/index.d.ts.map +0 -1
  1141. package/dist/next/documents/index.js.map +0 -1
  1142. package/dist/next/documents/internal.d.ts +0 -9
  1143. package/dist/next/documents/internal.d.ts.map +0 -1
  1144. package/dist/next/documents/internal.js.map +0 -1
  1145. package/dist/next/documents/keyed-slot.d.ts +0 -103
  1146. package/dist/next/documents/keyed-slot.d.ts.map +0 -1
  1147. package/dist/next/documents/keyed-slot.js +0 -395
  1148. package/dist/next/documents/keyed-slot.js.map +0 -1
  1149. package/dist/next/documents/line.d.ts.map +0 -1
  1150. package/dist/next/documents/line.js.map +0 -1
  1151. package/dist/next/documents/persistence.d.ts +0 -104
  1152. package/dist/next/documents/persistence.d.ts.map +0 -1
  1153. package/dist/next/documents/persistence.js +0 -128
  1154. package/dist/next/documents/persistence.js.map +0 -1
  1155. package/dist/next/documents/residency.d.ts +0 -31
  1156. package/dist/next/documents/residency.d.ts.map +0 -1
  1157. package/dist/next/documents/residency.js.map +0 -1
  1158. package/dist/next/documents/slot.d.ts +0 -109
  1159. package/dist/next/documents/slot.d.ts.map +0 -1
  1160. package/dist/next/documents/slot.js +0 -181
  1161. package/dist/next/documents/slot.js.map +0 -1
  1162. package/dist/next/documents/transaction.d.ts +0 -133
  1163. package/dist/next/documents/transaction.d.ts.map +0 -1
  1164. package/dist/next/documents/transaction.js +0 -409
  1165. package/dist/next/documents/transaction.js.map +0 -1
  1166. package/dist/next/host/activity.d.ts +0 -31
  1167. package/dist/next/host/activity.d.ts.map +0 -1
  1168. package/dist/next/host/activity.js +0 -40
  1169. package/dist/next/host/activity.js.map +0 -1
  1170. package/dist/next/host/adapted.d.ts +0 -49
  1171. package/dist/next/host/adapted.d.ts.map +0 -1
  1172. package/dist/next/host/adapted.js.map +0 -1
  1173. package/dist/next/host/attempt.d.ts +0 -278
  1174. package/dist/next/host/attempt.d.ts.map +0 -1
  1175. package/dist/next/host/attempt.js +0 -1072
  1176. package/dist/next/host/attempt.js.map +0 -1
  1177. package/dist/next/host/backoff.d.ts.map +0 -1
  1178. package/dist/next/host/backoff.js.map +0 -1
  1179. package/dist/next/host/ctx.d.ts +0 -47
  1180. package/dist/next/host/ctx.d.ts.map +0 -1
  1181. package/dist/next/host/ctx.js +0 -108
  1182. package/dist/next/host/ctx.js.map +0 -1
  1183. package/dist/next/host/deadline.d.ts.map +0 -1
  1184. package/dist/next/host/deadline.js.map +0 -1
  1185. package/dist/next/host/dependencies.d.ts.map +0 -1
  1186. package/dist/next/host/dependencies.js.map +0 -1
  1187. package/dist/next/host/destination.d.ts +0 -48
  1188. package/dist/next/host/destination.d.ts.map +0 -1
  1189. package/dist/next/host/destination.js.map +0 -1
  1190. package/dist/next/host/facet.d.ts +0 -79
  1191. package/dist/next/host/facet.d.ts.map +0 -1
  1192. package/dist/next/host/facet.js.map +0 -1
  1193. package/dist/next/host/follow.d.ts +0 -52
  1194. package/dist/next/host/follow.d.ts.map +0 -1
  1195. package/dist/next/host/follow.js.map +0 -1
  1196. package/dist/next/host/host.d.ts +0 -495
  1197. package/dist/next/host/host.d.ts.map +0 -1
  1198. package/dist/next/host/host.js +0 -1075
  1199. package/dist/next/host/host.js.map +0 -1
  1200. package/dist/next/host/index.d.ts +0 -17
  1201. package/dist/next/host/index.d.ts.map +0 -1
  1202. package/dist/next/host/index.js.map +0 -1
  1203. package/dist/next/host/internal.d.ts +0 -10
  1204. package/dist/next/host/internal.d.ts.map +0 -1
  1205. package/dist/next/host/internal.js +0 -8
  1206. package/dist/next/host/internal.js.map +0 -1
  1207. package/dist/next/host/members.d.ts +0 -50
  1208. package/dist/next/host/members.d.ts.map +0 -1
  1209. package/dist/next/host/members.js.map +0 -1
  1210. package/dist/next/host/native.d.ts +0 -55
  1211. package/dist/next/host/native.d.ts.map +0 -1
  1212. package/dist/next/host/native.js +0 -92
  1213. package/dist/next/host/native.js.map +0 -1
  1214. package/dist/next/host/object.d.ts +0 -290
  1215. package/dist/next/host/object.d.ts.map +0 -1
  1216. package/dist/next/host/object.js +0 -1127
  1217. package/dist/next/host/object.js.map +0 -1
  1218. package/dist/next/host/parked.d.ts +0 -23
  1219. package/dist/next/host/parked.d.ts.map +0 -1
  1220. package/dist/next/host/parked.js.map +0 -1
  1221. package/dist/next/host/presence.d.ts +0 -34
  1222. package/dist/next/host/presence.d.ts.map +0 -1
  1223. package/dist/next/host/presence.js.map +0 -1
  1224. package/dist/next/host/ref-state.d.ts +0 -53
  1225. package/dist/next/host/ref-state.d.ts.map +0 -1
  1226. package/dist/next/host/ref-state.js +0 -83
  1227. package/dist/next/host/ref-state.js.map +0 -1
  1228. package/dist/next/host/reference-keys.d.ts +0 -36
  1229. package/dist/next/host/reference-keys.d.ts.map +0 -1
  1230. package/dist/next/host/reference-keys.js +0 -168
  1231. package/dist/next/host/reference-keys.js.map +0 -1
  1232. package/dist/next/host/reference-source.d.ts +0 -65
  1233. package/dist/next/host/reference-source.d.ts.map +0 -1
  1234. package/dist/next/host/reference-source.js +0 -285
  1235. package/dist/next/host/reference-source.js.map +0 -1
  1236. package/dist/next/host/reference.d.ts +0 -308
  1237. package/dist/next/host/reference.d.ts.map +0 -1
  1238. package/dist/next/host/reference.js +0 -775
  1239. package/dist/next/host/reference.js.map +0 -1
  1240. package/dist/next/host/retry-on.d.ts.map +0 -1
  1241. package/dist/next/host/retry-on.js.map +0 -1
  1242. package/dist/next/host/revocation.d.ts +0 -16
  1243. package/dist/next/host/revocation.d.ts.map +0 -1
  1244. package/dist/next/host/revocation.js.map +0 -1
  1245. package/dist/next/host/root.d.ts +0 -27
  1246. package/dist/next/host/root.d.ts.map +0 -1
  1247. package/dist/next/host/root.js +0 -68
  1248. package/dist/next/host/root.js.map +0 -1
  1249. package/dist/next/host/route.d.ts +0 -64
  1250. package/dist/next/host/route.d.ts.map +0 -1
  1251. package/dist/next/host/route.js +0 -190
  1252. package/dist/next/host/route.js.map +0 -1
  1253. package/dist/next/host/routines.d.ts +0 -76
  1254. package/dist/next/host/routines.d.ts.map +0 -1
  1255. package/dist/next/host/routines.js +0 -350
  1256. package/dist/next/host/routines.js.map +0 -1
  1257. package/dist/next/host/sleep.d.ts +0 -9
  1258. package/dist/next/host/sleep.d.ts.map +0 -1
  1259. package/dist/next/host/sleep.js.map +0 -1
  1260. package/dist/next/host/staging.d.ts +0 -94
  1261. package/dist/next/host/staging.d.ts.map +0 -1
  1262. package/dist/next/host/staging.js +0 -302
  1263. package/dist/next/host/staging.js.map +0 -1
  1264. package/dist/next/host/unbound.d.ts +0 -30
  1265. package/dist/next/host/unbound.d.ts.map +0 -1
  1266. package/dist/next/host/unbound.js +0 -67
  1267. package/dist/next/host/unbound.js.map +0 -1
  1268. package/dist/next/host/uuid.d.ts.map +0 -1
  1269. package/dist/next/host/uuid.js.map +0 -1
  1270. package/dist/next/index.d.ts +0 -28
  1271. package/dist/next/index.d.ts.map +0 -1
  1272. package/dist/next/index.js +0 -18
  1273. package/dist/next/index.js.map +0 -1
  1274. package/dist/next/jobs/definition.d.ts.map +0 -1
  1275. package/dist/next/jobs/definition.js.map +0 -1
  1276. package/dist/next/jobs/index.d.ts.map +0 -1
  1277. package/dist/next/jobs/index.js.map +0 -1
  1278. package/dist/next/jobs/internal.d.ts.map +0 -1
  1279. package/dist/next/jobs/internal.js.map +0 -1
  1280. package/dist/next/jobs/job.d.ts +0 -152
  1281. package/dist/next/jobs/job.d.ts.map +0 -1
  1282. package/dist/next/jobs/job.js +0 -320
  1283. package/dist/next/jobs/job.js.map +0 -1
  1284. package/dist/next/jobs/persisted.d.ts +0 -38
  1285. package/dist/next/jobs/persisted.d.ts.map +0 -1
  1286. package/dist/next/jobs/persisted.js.map +0 -1
  1287. package/dist/next/jobs/records.d.ts +0 -231
  1288. package/dist/next/jobs/records.d.ts.map +0 -1
  1289. package/dist/next/jobs/records.js +0 -869
  1290. package/dist/next/jobs/records.js.map +0 -1
  1291. package/dist/next/jobs/run-states.d.ts +0 -69
  1292. package/dist/next/jobs/run-states.d.ts.map +0 -1
  1293. package/dist/next/jobs/run-states.js +0 -228
  1294. package/dist/next/jobs/run-states.js.map +0 -1
  1295. package/dist/next/jobs/run.d.ts +0 -113
  1296. package/dist/next/jobs/run.d.ts.map +0 -1
  1297. package/dist/next/jobs/run.js +0 -200
  1298. package/dist/next/jobs/run.js.map +0 -1
  1299. package/dist/next/jobs/running.d.ts +0 -44
  1300. package/dist/next/jobs/running.d.ts.map +0 -1
  1301. package/dist/next/jobs/running.js.map +0 -1
  1302. package/dist/next/jobs/stored.d.ts +0 -63
  1303. package/dist/next/jobs/stored.d.ts.map +0 -1
  1304. package/dist/next/jobs/stored.js.map +0 -1
  1305. package/dist/next/link/binary.d.ts.map +0 -1
  1306. package/dist/next/link/binary.js +0 -534
  1307. package/dist/next/link/binary.js.map +0 -1
  1308. package/dist/next/link/channel.d.ts +0 -63
  1309. package/dist/next/link/channel.d.ts.map +0 -1
  1310. package/dist/next/link/channel.js +0 -202
  1311. package/dist/next/link/channel.js.map +0 -1
  1312. package/dist/next/link/errors.d.ts.map +0 -1
  1313. package/dist/next/link/errors.js.map +0 -1
  1314. package/dist/next/link/index.d.ts.map +0 -1
  1315. package/dist/next/link/index.js.map +0 -1
  1316. package/dist/next/link/internal.d.ts.map +0 -1
  1317. package/dist/next/link/internal.js.map +0 -1
  1318. package/dist/next/link/ipc.d.ts.map +0 -1
  1319. package/dist/next/link/ipc.js.map +0 -1
  1320. package/dist/next/link/link.d.ts.map +0 -1
  1321. package/dist/next/link/link.js.map +0 -1
  1322. package/dist/next/link/message.d.ts +0 -249
  1323. package/dist/next/link/message.d.ts.map +0 -1
  1324. package/dist/next/link/message.js +0 -123
  1325. package/dist/next/link/message.js.map +0 -1
  1326. package/dist/next/link/part.d.ts +0 -80
  1327. package/dist/next/link/part.d.ts.map +0 -1
  1328. package/dist/next/link/part.js +0 -164
  1329. package/dist/next/link/part.js.map +0 -1
  1330. package/dist/next/link/text.d.ts.map +0 -1
  1331. package/dist/next/link/text.js +0 -335
  1332. package/dist/next/link/text.js.map +0 -1
  1333. package/dist/next/link/values.d.ts.map +0 -1
  1334. package/dist/next/link/values.js +0 -117
  1335. package/dist/next/link/values.js.map +0 -1
  1336. package/dist/next/link/websocket.d.ts.map +0 -1
  1337. package/dist/next/link/websocket.js.map +0 -1
  1338. package/dist/next/registries/contribution.d.ts.map +0 -1
  1339. package/dist/next/registries/contribution.js.map +0 -1
  1340. package/dist/next/registries/entries.d.ts.map +0 -1
  1341. package/dist/next/registries/entries.js.map +0 -1
  1342. package/dist/next/registries/index.d.ts.map +0 -1
  1343. package/dist/next/registries/index.js.map +0 -1
  1344. package/dist/next/registries/internal.d.ts.map +0 -1
  1345. package/dist/next/registries/internal.js.map +0 -1
  1346. package/dist/next/registries/record.d.ts +0 -94
  1347. package/dist/next/registries/record.d.ts.map +0 -1
  1348. package/dist/next/registries/record.js +0 -253
  1349. package/dist/next/registries/record.js.map +0 -1
  1350. package/dist/next/registries/registry.d.ts +0 -74
  1351. package/dist/next/registries/registry.d.ts.map +0 -1
  1352. package/dist/next/registries/registry.js.map +0 -1
  1353. package/dist/next/registries/value.d.ts.map +0 -1
  1354. package/dist/next/registries/value.js +0 -199
  1355. package/dist/next/registries/value.js.map +0 -1
  1356. package/dist/next/remote/calls.d.ts.map +0 -1
  1357. package/dist/next/remote/calls.js.map +0 -1
  1358. package/dist/next/remote/consumer.d.ts +0 -42
  1359. package/dist/next/remote/consumer.d.ts.map +0 -1
  1360. package/dist/next/remote/consumer.js +0 -343
  1361. package/dist/next/remote/consumer.js.map +0 -1
  1362. package/dist/next/remote/hold.d.ts +0 -130
  1363. package/dist/next/remote/hold.d.ts.map +0 -1
  1364. package/dist/next/remote/hold.js +0 -537
  1365. package/dist/next/remote/hold.js.map +0 -1
  1366. package/dist/next/remote/host-link.d.ts +0 -77
  1367. package/dist/next/remote/host-link.d.ts.map +0 -1
  1368. package/dist/next/remote/host-link.js +0 -182
  1369. package/dist/next/remote/host-link.js.map +0 -1
  1370. package/dist/next/remote/internal.d.ts.map +0 -1
  1371. package/dist/next/remote/internal.js.map +0 -1
  1372. package/dist/next/remote/path.d.ts.map +0 -1
  1373. package/dist/next/remote/path.js.map +0 -1
  1374. package/dist/next/remote/provider.d.ts +0 -76
  1375. package/dist/next/remote/provider.d.ts.map +0 -1
  1376. package/dist/next/remote/provider.js +0 -506
  1377. package/dist/next/remote/provider.js.map +0 -1
  1378. package/dist/next/remote/relay.d.ts +0 -58
  1379. package/dist/next/remote/relay.d.ts.map +0 -1
  1380. package/dist/next/remote/relay.js +0 -117
  1381. package/dist/next/remote/relay.js.map +0 -1
  1382. package/dist/next/remote/remote-object.d.ts +0 -133
  1383. package/dist/next/remote/remote-object.d.ts.map +0 -1
  1384. package/dist/next/remote/remote-object.js +0 -411
  1385. package/dist/next/remote/remote-object.js.map +0 -1
  1386. package/dist/next/remote/replica.d.ts +0 -59
  1387. package/dist/next/remote/replica.d.ts.map +0 -1
  1388. package/dist/next/remote/replica.js +0 -125
  1389. package/dist/next/remote/replica.js.map +0 -1
  1390. package/dist/next/state/batch.d.ts +0 -64
  1391. package/dist/next/state/batch.d.ts.map +0 -1
  1392. package/dist/next/state/batch.js +0 -163
  1393. package/dist/next/state/batch.js.map +0 -1
  1394. package/dist/next/state/derive.d.ts +0 -52
  1395. package/dist/next/state/derive.d.ts.map +0 -1
  1396. package/dist/next/state/derive.js +0 -182
  1397. package/dist/next/state/derive.js.map +0 -1
  1398. package/dist/next/state/index.d.ts +0 -6
  1399. package/dist/next/state/index.d.ts.map +0 -1
  1400. package/dist/next/state/index.js.map +0 -1
  1401. package/dist/next/state/internal.d.ts.map +0 -1
  1402. package/dist/next/state/internal.js.map +0 -1
  1403. package/dist/next/state/native-source.d.ts +0 -106
  1404. package/dist/next/state/native-source.d.ts.map +0 -1
  1405. package/dist/next/state/native-source.js +0 -240
  1406. package/dist/next/state/native-source.js.map +0 -1
  1407. package/dist/next/state/watchable.d.ts +0 -114
  1408. package/dist/next/state/watchable.d.ts.map +0 -1
  1409. package/dist/next/state/watchable.js +0 -156
  1410. package/dist/next/state/watchable.js.map +0 -1
  1411. package/dist/next/state/writable.d.ts +0 -32
  1412. package/dist/next/state/writable.d.ts.map +0 -1
  1413. package/dist/next/state/writable.js.map +0 -1
  1414. package/dist/next/store/adapter.d.ts +0 -67
  1415. package/dist/next/store/adapter.d.ts.map +0 -1
  1416. package/dist/next/store/adapter.js.map +0 -1
  1417. package/dist/next/store/allocator.d.ts.map +0 -1
  1418. package/dist/next/store/allocator.js.map +0 -1
  1419. package/dist/next/store/applier.d.ts.map +0 -1
  1420. package/dist/next/store/applier.js.map +0 -1
  1421. package/dist/next/store/apply-batch.d.ts +0 -12
  1422. package/dist/next/store/apply-batch.d.ts.map +0 -1
  1423. package/dist/next/store/apply-batch.js.map +0 -1
  1424. package/dist/next/store/archive.d.ts +0 -32
  1425. package/dist/next/store/archive.d.ts.map +0 -1
  1426. package/dist/next/store/archive.js +0 -129
  1427. package/dist/next/store/archive.js.map +0 -1
  1428. package/dist/next/store/backend.d.ts +0 -10
  1429. package/dist/next/store/backend.d.ts.map +0 -1
  1430. package/dist/next/store/backend.js.map +0 -1
  1431. package/dist/next/store/catalog.d.ts +0 -24
  1432. package/dist/next/store/catalog.d.ts.map +0 -1
  1433. package/dist/next/store/catalog.js.map +0 -1
  1434. package/dist/next/store/claims.d.ts.map +0 -1
  1435. package/dist/next/store/claims.js.map +0 -1
  1436. package/dist/next/store/columns.d.ts.map +0 -1
  1437. package/dist/next/store/columns.js.map +0 -1
  1438. package/dist/next/store/engine.d.ts +0 -176
  1439. package/dist/next/store/engine.d.ts.map +0 -1
  1440. package/dist/next/store/engine.js +0 -283
  1441. package/dist/next/store/engine.js.map +0 -1
  1442. package/dist/next/store/evaluate.d.ts +0 -17
  1443. package/dist/next/store/evaluate.d.ts.map +0 -1
  1444. package/dist/next/store/evaluate.js.map +0 -1
  1445. package/dist/next/store/export.d.ts +0 -17
  1446. package/dist/next/store/export.d.ts.map +0 -1
  1447. package/dist/next/store/export.js +0 -200
  1448. package/dist/next/store/export.js.map +0 -1
  1449. package/dist/next/store/expression.d.ts +0 -150
  1450. package/dist/next/store/expression.d.ts.map +0 -1
  1451. package/dist/next/store/expression.js.map +0 -1
  1452. package/dist/next/store/import.d.ts +0 -10
  1453. package/dist/next/store/import.d.ts.map +0 -1
  1454. package/dist/next/store/import.js +0 -276
  1455. package/dist/next/store/import.js.map +0 -1
  1456. package/dist/next/store/index.d.ts.map +0 -1
  1457. package/dist/next/store/index.js.map +0 -1
  1458. package/dist/next/store/json-column.d.ts +0 -33
  1459. package/dist/next/store/json-column.d.ts.map +0 -1
  1460. package/dist/next/store/json-column.js +0 -61
  1461. package/dist/next/store/json-column.js.map +0 -1
  1462. package/dist/next/store/jsonl.d.ts.map +0 -1
  1463. package/dist/next/store/jsonl.js.map +0 -1
  1464. package/dist/next/store/outbox.d.ts +0 -26
  1465. package/dist/next/store/outbox.d.ts.map +0 -1
  1466. package/dist/next/store/outbox.js.map +0 -1
  1467. package/dist/next/store/query.d.ts +0 -39
  1468. package/dist/next/store/query.d.ts.map +0 -1
  1469. package/dist/next/store/query.js.map +0 -1
  1470. package/dist/next/store/refusal.d.ts.map +0 -1
  1471. package/dist/next/store/refusal.js.map +0 -1
  1472. package/dist/next/store/rows.d.ts +0 -80
  1473. package/dist/next/store/rows.d.ts.map +0 -1
  1474. package/dist/next/store/rows.js.map +0 -1
  1475. package/dist/next/store/schema.d.ts +0 -25
  1476. package/dist/next/store/schema.d.ts.map +0 -1
  1477. package/dist/next/store/schema.js +0 -115
  1478. package/dist/next/store/schema.js.map +0 -1
  1479. package/dist/next/store/sql.d.ts +0 -73
  1480. package/dist/next/store/sql.d.ts.map +0 -1
  1481. package/dist/next/store/sql.js.map +0 -1
  1482. package/dist/next/store/step.d.ts +0 -48
  1483. package/dist/next/store/step.d.ts.map +0 -1
  1484. package/dist/next/store/step.js +0 -50
  1485. package/dist/next/store/step.js.map +0 -1
  1486. package/dist/next/store/store.d.ts +0 -161
  1487. package/dist/next/store/store.d.ts.map +0 -1
  1488. package/dist/next/store/store.js +0 -627
  1489. package/dist/next/store/store.js.map +0 -1
  1490. package/dist/next/store/table-changes.d.ts +0 -29
  1491. package/dist/next/store/table-changes.d.ts.map +0 -1
  1492. package/dist/next/store/table-changes.js.map +0 -1
  1493. package/dist/next/store/table-evolve.d.ts.map +0 -1
  1494. package/dist/next/store/table-evolve.js.map +0 -1
  1495. package/dist/next/store/table-handle.d.ts +0 -67
  1496. package/dist/next/store/table-handle.d.ts.map +0 -1
  1497. package/dist/next/store/table-handle.js +0 -101
  1498. package/dist/next/store/table-handle.js.map +0 -1
  1499. package/dist/next/store/table-history.d.ts.map +0 -1
  1500. package/dist/next/store/table-history.js.map +0 -1
  1501. package/dist/next/store/table-migration.d.ts +0 -16
  1502. package/dist/next/store/table-migration.d.ts.map +0 -1
  1503. package/dist/next/store/table-migration.js +0 -202
  1504. package/dist/next/store/table-migration.js.map +0 -1
  1505. package/dist/next/store/table-writes.d.ts.map +0 -1
  1506. package/dist/next/store/table-writes.js +0 -165
  1507. package/dist/next/store/table-writes.js.map +0 -1
  1508. package/dist/next/store/table.d.ts +0 -80
  1509. package/dist/next/store/table.d.ts.map +0 -1
  1510. package/dist/next/store/table.js.map +0 -1
  1511. package/dist/next/store/text.d.ts.map +0 -1
  1512. package/dist/next/store/text.js.map +0 -1
  1513. package/dist/next/store/writes.d.ts.map +0 -1
  1514. package/dist/next/store/writes.js.map +0 -1
  1515. package/dist/next-node/compression.d.ts +0 -7
  1516. package/dist/next-node/compression.d.ts.map +0 -1
  1517. package/dist/next-node/compression.js +0 -24
  1518. package/dist/next-node/compression.js.map +0 -1
  1519. package/dist/next-node/http/admission.d.ts.map +0 -1
  1520. package/dist/next-node/http/admission.js.map +0 -1
  1521. package/dist/next-node/http/authenticate.d.ts +0 -21
  1522. package/dist/next-node/http/authenticate.d.ts.map +0 -1
  1523. package/dist/next-node/http/authenticate.js +0 -34
  1524. package/dist/next-node/http/authenticate.js.map +0 -1
  1525. package/dist/next-node/http/cookies.d.ts +0 -24
  1526. package/dist/next-node/http/cookies.d.ts.map +0 -1
  1527. package/dist/next-node/http/cookies.js +0 -62
  1528. package/dist/next-node/http/cookies.js.map +0 -1
  1529. package/dist/next-node/http/file.d.ts.map +0 -1
  1530. package/dist/next-node/http/file.js.map +0 -1
  1531. package/dist/next-node/http/headers.d.ts.map +0 -1
  1532. package/dist/next-node/http/headers.js +0 -129
  1533. package/dist/next-node/http/headers.js.map +0 -1
  1534. package/dist/next-node/http/http.d.ts +0 -100
  1535. package/dist/next-node/http/http.d.ts.map +0 -1
  1536. package/dist/next-node/http/http.js +0 -462
  1537. package/dist/next-node/http/http.js.map +0 -1
  1538. package/dist/next-node/http/incoming.d.ts.map +0 -1
  1539. package/dist/next-node/http/incoming.js.map +0 -1
  1540. package/dist/next-node/http/index.d.ts +0 -11
  1541. package/dist/next-node/http/index.d.ts.map +0 -1
  1542. package/dist/next-node/http/index.js +0 -12
  1543. package/dist/next-node/http/index.js.map +0 -1
  1544. package/dist/next-node/http/node.d.ts.map +0 -1
  1545. package/dist/next-node/http/node.js.map +0 -1
  1546. package/dist/next-node/http/request.d.ts +0 -54
  1547. package/dist/next-node/http/request.d.ts.map +0 -1
  1548. package/dist/next-node/http/request.js +0 -116
  1549. package/dist/next-node/http/request.js.map +0 -1
  1550. package/dist/next-node/http/response.d.ts +0 -63
  1551. package/dist/next-node/http/response.d.ts.map +0 -1
  1552. package/dist/next-node/http/response.js.map +0 -1
  1553. package/dist/next-node/http/router.d.ts +0 -114
  1554. package/dist/next-node/http/router.d.ts.map +0 -1
  1555. package/dist/next-node/http/router.js +0 -261
  1556. package/dist/next-node/http/router.js.map +0 -1
  1557. package/dist/next-node/http/upgrades.d.ts +0 -58
  1558. package/dist/next-node/http/upgrades.d.ts.map +0 -1
  1559. package/dist/next-node/http/upgrades.js +0 -184
  1560. package/dist/next-node/http/upgrades.js.map +0 -1
  1561. package/dist/next-node/plugins/build.d.ts +0 -57
  1562. package/dist/next-node/plugins/build.d.ts.map +0 -1
  1563. package/dist/next-node/plugins/build.js +0 -334
  1564. package/dist/next-node/plugins/build.js.map +0 -1
  1565. package/dist/next-node/plugins/discover.d.ts +0 -36
  1566. package/dist/next-node/plugins/discover.d.ts.map +0 -1
  1567. package/dist/next-node/plugins/discover.js +0 -91
  1568. package/dist/next-node/plugins/discover.js.map +0 -1
  1569. package/dist/next-node/plugins/evaluate.d.ts +0 -33
  1570. package/dist/next-node/plugins/evaluate.d.ts.map +0 -1
  1571. package/dist/next-node/plugins/evaluate.js +0 -98
  1572. package/dist/next-node/plugins/evaluate.js.map +0 -1
  1573. package/dist/next-node/plugins/index.d.ts +0 -9
  1574. package/dist/next-node/plugins/index.d.ts.map +0 -1
  1575. package/dist/next-node/plugins/index.js +0 -11
  1576. package/dist/next-node/plugins/index.js.map +0 -1
  1577. package/dist/next-node/plugins/install.d.ts +0 -13
  1578. package/dist/next-node/plugins/install.d.ts.map +0 -1
  1579. package/dist/next-node/plugins/install.js +0 -37
  1580. package/dist/next-node/plugins/install.js.map +0 -1
  1581. package/dist/next-node/plugins/plugins.d.ts +0 -135
  1582. package/dist/next-node/plugins/plugins.d.ts.map +0 -1
  1583. package/dist/next-node/plugins/plugins.js +0 -206
  1584. package/dist/next-node/plugins/plugins.js.map +0 -1
  1585. package/dist/next-node/plugins/runtime.d.ts +0 -41
  1586. package/dist/next-node/plugins/runtime.d.ts.map +0 -1
  1587. package/dist/next-node/plugins/runtime.js +0 -136
  1588. package/dist/next-node/plugins/runtime.js.map +0 -1
  1589. package/dist/next-node/plugins/stack.d.ts.map +0 -1
  1590. package/dist/next-node/plugins/stack.js.map +0 -1
  1591. package/dist/next-node/plugins/watcher.d.ts +0 -58
  1592. package/dist/next-node/plugins/watcher.d.ts.map +0 -1
  1593. package/dist/next-node/plugins/watcher.js +0 -281
  1594. package/dist/next-node/plugins/watcher.js.map +0 -1
  1595. package/dist/next-node/workers/control.d.ts +0 -83
  1596. package/dist/next-node/workers/control.d.ts.map +0 -1
  1597. package/dist/next-node/workers/control.js +0 -77
  1598. package/dist/next-node/workers/control.js.map +0 -1
  1599. package/dist/next-node/workers/index.d.ts +0 -5
  1600. package/dist/next-node/workers/index.d.ts.map +0 -1
  1601. package/dist/next-node/workers/index.js +0 -7
  1602. package/dist/next-node/workers/index.js.map +0 -1
  1603. package/dist/next-node/workers/lock.d.ts +0 -21
  1604. package/dist/next-node/workers/lock.d.ts.map +0 -1
  1605. package/dist/next-node/workers/lock.js +0 -137
  1606. package/dist/next-node/workers/lock.js.map +0 -1
  1607. package/dist/next-node/workers/main.d.ts +0 -46
  1608. package/dist/next-node/workers/main.d.ts.map +0 -1
  1609. package/dist/next-node/workers/main.js +0 -230
  1610. package/dist/next-node/workers/main.js.map +0 -1
  1611. package/dist/next-node/workers/process.d.ts +0 -42
  1612. package/dist/next-node/workers/process.d.ts.map +0 -1
  1613. package/dist/next-node/workers/process.js +0 -125
  1614. package/dist/next-node/workers/process.js.map +0 -1
  1615. package/dist/next-node/workers/workers.d.ts +0 -80
  1616. package/dist/next-node/workers/workers.d.ts.map +0 -1
  1617. package/dist/next-node/workers/workers.js +0 -572
  1618. package/dist/next-node/workers/workers.js.map +0 -1
  1619. package/dist/node.d.ts +0 -4
  1620. package/dist/node.d.ts.map +0 -1
  1621. package/dist/node.js +0 -4
  1622. package/dist/node.js.map +0 -1
  1623. package/dist/object.d.ts +0 -438
  1624. package/dist/object.d.ts.map +0 -1
  1625. package/dist/object.js +0 -1570
  1626. package/dist/object.js.map +0 -1
  1627. package/dist/publish.d.ts +0 -5
  1628. package/dist/publish.d.ts.map +0 -1
  1629. package/dist/publish.js +0 -40
  1630. package/dist/publish.js.map +0 -1
  1631. package/dist/registry.d.ts +0 -25
  1632. package/dist/registry.d.ts.map +0 -1
  1633. package/dist/registry.js +0 -6
  1634. package/dist/registry.js.map +0 -1
  1635. package/dist/reload.d.ts +0 -126
  1636. package/dist/reload.d.ts.map +0 -1
  1637. package/dist/reload.js +0 -653
  1638. package/dist/reload.js.map +0 -1
  1639. package/dist/remote.d.ts +0 -165
  1640. package/dist/remote.d.ts.map +0 -1
  1641. package/dist/remote.js +0 -612
  1642. package/dist/remote.js.map +0 -1
  1643. package/dist/schema.d.ts +0 -25
  1644. package/dist/schema.d.ts.map +0 -1
  1645. package/dist/schema.js +0 -403
  1646. package/dist/schema.js.map +0 -1
  1647. package/dist/state.d.ts +0 -92
  1648. package/dist/state.d.ts.map +0 -1
  1649. package/dist/state.js +0 -287
  1650. package/dist/state.js.map +0 -1
  1651. package/dist/types.d.ts +0 -88
  1652. package/dist/types.d.ts.map +0 -1
  1653. package/dist/types.js +0 -2
  1654. package/dist/types.js.map +0 -1
  1655. package/dist/websocket.d.ts +0 -15
  1656. package/dist/websocket.d.ts.map +0 -1
  1657. package/dist/websocket.js +0 -16
  1658. package/dist/websocket.js.map +0 -1
  1659. package/dist/wire.d.ts +0 -197
  1660. package/dist/wire.d.ts.map +0 -1
  1661. package/dist/wire.js +0 -166
  1662. package/dist/wire.js.map +0 -1
  1663. package/docs/guide.md +0 -814
  1664. package/docs/next/benchmarks.md +0 -959
  1665. package/docs/next/decisions.md +0 -2957
  1666. package/docs/next/dependencies/book.md +0 -1671
  1667. package/docs/next/dependencies/index.html +0 -2641
  1668. package/docs/next/design.md +0 -2554
  1669. package/docs/next/durable-observers/book.md +0 -432
  1670. package/docs/next/durable-observers/index.html +0 -517
  1671. package/docs/next/guide-plugins-hosts/book.md +0 -607
  1672. package/docs/next/guide-plugins-hosts/index.html +0 -652
  1673. package/docs/next/http-workers/book.md +0 -378
  1674. package/docs/next/http-workers/index.html +0 -515
  1675. package/docs/next/layer-1.md +0 -311
  1676. package/docs/next/layer-2.md +0 -216
  1677. package/docs/next/plugin-model/book.md +0 -186
  1678. package/docs/next/plugin-model/index.html +0 -310
  1679. package/docs/next/plugin-primer/book.md +0 -273
  1680. package/docs/next/plugin-primer/index.html +0 -430
  1681. package/docs/next/slice-1.md +0 -236
  1682. package/docs/next/slice-10.md +0 -285
  1683. package/docs/next/slice-11.md +0 -93
  1684. package/docs/next/slice-2.md +0 -174
  1685. package/docs/next/slice-3a.md +0 -296
  1686. package/docs/next/slice-3b.md +0 -197
  1687. package/docs/next/slice-4a.md +0 -418
  1688. package/docs/next/slice-4b.md +0 -208
  1689. package/docs/next/slice-6a.md +0 -676
  1690. package/docs/next/slice-6b.md +0 -332
  1691. package/docs/next/slice-7b/book.md +0 -608
  1692. package/docs/next/slice-7b/index.html +0 -842
  1693. package/docs/next/slice-7b.md +0 -255
  1694. package/docs/next/slice-7c.md +0 -165
  1695. package/docs/next/slices.md +0 -230
  1696. package/docs/next/store/book.md +0 -665
  1697. package/docs/next/store/index.html +0 -861
  1698. package/docs/next/store/walkthrough.md +0 -193
  1699. package/docs/spec.md +0 -288
  1700. package/docs/tutorial.md +0 -932
  1701. /package/dist/{next/contracts → contracts}/accepts.js +0 -0
  1702. /package/dist/{next/contracts → contracts}/contract.js +0 -0
  1703. /package/dist/{next/contracts → contracts}/declare.d.ts +0 -0
  1704. /package/dist/{next/contracts → contracts}/declare.js +0 -0
  1705. /package/dist/{next/contracts → contracts}/evolve.d.ts +0 -0
  1706. /package/dist/{next/contracts → contracts}/evolve.js +0 -0
  1707. /package/dist/{next/contracts → contracts}/fingerprint.js +0 -0
  1708. /package/dist/{next/contracts → contracts}/history.d.ts +0 -0
  1709. /package/dist/{next/contracts → contracts}/history.js +0 -0
  1710. /package/dist/{next/contracts → contracts}/host-kind.d.ts +0 -0
  1711. /package/dist/{next/contracts → contracts}/host-kind.js +0 -0
  1712. /package/dist/{next/contracts → contracts}/index.d.ts +0 -0
  1713. /package/dist/{next/contracts → contracts}/index.js +0 -0
  1714. /package/dist/{next/contracts → contracts}/internal.d.ts +0 -0
  1715. /package/dist/{next/contracts → contracts}/internal.js +0 -0
  1716. /package/dist/{next/contracts → contracts}/names.d.ts +0 -0
  1717. /package/dist/{next/contracts → contracts}/names.js +0 -0
  1718. /package/dist/{next/contracts → contracts}/params.js +0 -0
  1719. /package/dist/{next/contracts → contracts}/schema.d.ts +0 -0
  1720. /package/dist/{next/contracts → contracts}/schema.js +0 -0
  1721. /package/dist/{next/data → data}/args.js +0 -0
  1722. /package/dist/{next/data → data}/failure.d.ts +0 -0
  1723. /package/dist/{next/data → data}/params.js +0 -0
  1724. /package/dist/{next/documents → documents}/address-source.js +0 -0
  1725. /package/dist/{next/documents → documents}/fence.d.ts +0 -0
  1726. /package/dist/{next/documents → documents}/fence.js +0 -0
  1727. /package/dist/{next/documents → documents}/handles.js +0 -0
  1728. /package/dist/{next/documents → documents}/index.d.ts +0 -0
  1729. /package/dist/{next/documents → documents}/index.js +0 -0
  1730. /package/dist/{next/documents → documents}/internal.js +0 -0
  1731. /package/dist/{next/documents → documents}/line.d.ts +0 -0
  1732. /package/dist/{next/documents → documents}/line.js +0 -0
  1733. /package/dist/{next/documents → documents}/residency.js +0 -0
  1734. /package/dist/{next/host → host}/adapted.js +0 -0
  1735. /package/dist/{next/host → host}/backoff.d.ts +0 -0
  1736. /package/dist/{next/host → host}/backoff.js +0 -0
  1737. /package/dist/{next/host → host}/deadline.d.ts +0 -0
  1738. /package/dist/{next/host → host}/deadline.js +0 -0
  1739. /package/dist/{next/host → host}/dependencies.d.ts +0 -0
  1740. /package/dist/{next/host → host}/dependencies.js +0 -0
  1741. /package/dist/{next/host → host}/destination.js +0 -0
  1742. /package/dist/{next/host → host}/facet.js +0 -0
  1743. /package/dist/{next/host → host}/follow.js +0 -0
  1744. /package/dist/{next/host → host}/index.js +0 -0
  1745. /package/dist/{next/host → host}/members.js +0 -0
  1746. /package/dist/{next/host → host}/parked.js +0 -0
  1747. /package/dist/{next/host → host}/presence.js +0 -0
  1748. /package/dist/{next/host → host}/retry-on.d.ts +0 -0
  1749. /package/dist/{next/host → host}/retry-on.js +0 -0
  1750. /package/dist/{next/host → host}/revocation.js +0 -0
  1751. /package/dist/{next/host → host}/sleep.js +0 -0
  1752. /package/dist/{next/host → host}/uuid.d.ts +0 -0
  1753. /package/dist/{next/host → host}/uuid.js +0 -0
  1754. /package/dist/{next/jobs → jobs}/definition.d.ts +0 -0
  1755. /package/dist/{next/jobs → jobs}/definition.js +0 -0
  1756. /package/dist/{next/jobs → jobs}/index.d.ts +0 -0
  1757. /package/dist/{next/jobs → jobs}/index.js +0 -0
  1758. /package/dist/{next/jobs → jobs}/internal.d.ts +0 -0
  1759. /package/dist/{next/jobs → jobs}/internal.js +0 -0
  1760. /package/dist/{next/jobs → jobs}/persisted.js +0 -0
  1761. /package/dist/{next/jobs → jobs}/running.js +0 -0
  1762. /package/dist/{next/jobs → jobs}/stored.js +0 -0
  1763. /package/dist/{next/link → link}/binary.d.ts +0 -0
  1764. /package/dist/{next/link → link}/errors.d.ts +0 -0
  1765. /package/dist/{next/link → link}/errors.js +0 -0
  1766. /package/dist/{next/link → link}/index.d.ts +0 -0
  1767. /package/dist/{next/link → link}/index.js +0 -0
  1768. /package/dist/{next/link → link}/internal.d.ts +0 -0
  1769. /package/dist/{next/link → link}/internal.js +0 -0
  1770. /package/dist/{next/link → link}/ipc.d.ts +0 -0
  1771. /package/dist/{next/link → link}/ipc.js +0 -0
  1772. /package/dist/{next/link → link}/link.d.ts +0 -0
  1773. /package/dist/{next/link → link}/link.js +0 -0
  1774. /package/dist/{next/link → link}/text.d.ts +0 -0
  1775. /package/dist/{next/link → link}/values.d.ts +0 -0
  1776. /package/dist/{next/link → link}/websocket.d.ts +0 -0
  1777. /package/dist/{next/link → link}/websocket.js +0 -0
  1778. /package/dist/{next-node → node}/http/admission.d.ts +0 -0
  1779. /package/dist/{next-node → node}/http/admission.js +0 -0
  1780. /package/dist/{next-node → node}/http/file.d.ts +0 -0
  1781. /package/dist/{next-node → node}/http/file.js +0 -0
  1782. /package/dist/{next-node → node}/http/headers.d.ts +0 -0
  1783. /package/dist/{next-node → node}/http/incoming.d.ts +0 -0
  1784. /package/dist/{next-node → node}/http/incoming.js +0 -0
  1785. /package/dist/{next-node → node}/http/node.d.ts +0 -0
  1786. /package/dist/{next-node → node}/http/node.js +0 -0
  1787. /package/dist/{next-node → node}/http/response.js +0 -0
  1788. /package/dist/{next-node → node}/plugins/stack.d.ts +0 -0
  1789. /package/dist/{next-node → node}/plugins/stack.js +0 -0
  1790. /package/dist/{next/registries → registries}/contribution.d.ts +0 -0
  1791. /package/dist/{next/registries → registries}/contribution.js +0 -0
  1792. /package/dist/{next/registries → registries}/entries.d.ts +0 -0
  1793. /package/dist/{next/registries → registries}/entries.js +0 -0
  1794. /package/dist/{next/registries → registries}/index.d.ts +0 -0
  1795. /package/dist/{next/registries → registries}/index.js +0 -0
  1796. /package/dist/{next/registries → registries}/internal.d.ts +0 -0
  1797. /package/dist/{next/registries → registries}/internal.js +0 -0
  1798. /package/dist/{next/registries → registries}/registry.js +0 -0
  1799. /package/dist/{next/registries → registries}/value.d.ts +0 -0
  1800. /package/dist/{next/remote → remote}/calls.d.ts +0 -0
  1801. /package/dist/{next/remote → remote}/calls.js +0 -0
  1802. /package/dist/{next/remote → remote}/internal.d.ts +0 -0
  1803. /package/dist/{next/remote → remote}/internal.js +0 -0
  1804. /package/dist/{next/remote → remote}/path.d.ts +0 -0
  1805. /package/dist/{next/remote → remote}/path.js +0 -0
  1806. /package/dist/{next/state → state}/index.js +0 -0
  1807. /package/dist/{next/state → state}/internal.d.ts +0 -0
  1808. /package/dist/{next/state → state}/internal.js +0 -0
  1809. /package/dist/{next/state → state}/writable.js +0 -0
  1810. /package/dist/{next/store → store}/adapter.js +0 -0
  1811. /package/dist/{next/store → store}/allocator.d.ts +0 -0
  1812. /package/dist/{next/store → store}/allocator.js +0 -0
  1813. /package/dist/{next/store → store}/applier.d.ts +0 -0
  1814. /package/dist/{next/store → store}/applier.js +0 -0
  1815. /package/dist/{next/store → store}/apply-batch.js +0 -0
  1816. /package/dist/{next/store → store}/backend.js +0 -0
  1817. /package/dist/{next/store → store}/catalog.js +0 -0
  1818. /package/dist/{next/store → store}/claims.d.ts +0 -0
  1819. /package/dist/{next/store → store}/claims.js +0 -0
  1820. /package/dist/{next/store → store}/columns.d.ts +0 -0
  1821. /package/dist/{next/store → store}/columns.js +0 -0
  1822. /package/dist/{next/store → store}/evaluate.js +0 -0
  1823. /package/dist/{next/store → store}/expression.js +0 -0
  1824. /package/dist/{next/store → store}/index.d.ts +0 -0
  1825. /package/dist/{next/store → store}/index.js +0 -0
  1826. /package/dist/{next/store → store}/jsonl.d.ts +0 -0
  1827. /package/dist/{next/store → store}/jsonl.js +0 -0
  1828. /package/dist/{next/store → store}/outbox.js +0 -0
  1829. /package/dist/{next/store → store}/query.js +0 -0
  1830. /package/dist/{next/store → store}/refusal.d.ts +0 -0
  1831. /package/dist/{next/store → store}/refusal.js +0 -0
  1832. /package/dist/{next/store → store}/rows.js +0 -0
  1833. /package/dist/{next/store → store}/sql.js +0 -0
  1834. /package/dist/{next/store → store}/table-changes.js +0 -0
  1835. /package/dist/{next/store → store}/table-evolve.d.ts +0 -0
  1836. /package/dist/{next/store → store}/table-evolve.js +0 -0
  1837. /package/dist/{next/store → store}/table-history.d.ts +0 -0
  1838. /package/dist/{next/store → store}/table-history.js +0 -0
  1839. /package/dist/{next/store → store}/table-writes.d.ts +0 -0
  1840. /package/dist/{next/store → store}/table.js +0 -0
  1841. /package/dist/{next/store → store}/text.d.ts +0 -0
  1842. /package/dist/{next/store → store}/text.js +0 -0
  1843. /package/dist/{next/store → store}/writes.d.ts +0 -0
  1844. /package/dist/{next/store → store}/writes.js +0 -0
  1845. /package/docs/{next/dependencies → dependencies}/model.md +0 -0
  1846. /package/docs/{next/flow-control → flow-control}/book.md +0 -0
  1847. /package/docs/{next/flow-control → flow-control}/fold/index.html +0 -0
  1848. /package/docs/{next/flow-control → flow-control}/index.html +0 -0
  1849. /package/docs/{next/flow-control → flow-control}/window/index.html +0 -0
  1850. /package/docs/{next/slice-4.md → slice-4.md} +0 -0
  1851. /package/docs/{next/slice-5.md → slice-5.md} +0 -0
  1852. /package/docs/{next/slice-7a.md → slice-7a.md} +0 -0
  1853. /package/docs/{next/slice-8.md → slice-8.md} +0 -0
@@ -1,133 +0,0 @@
1
- import { type Context } from "../../context/index.ts";
2
- import { type Change, type Draft, type Tracker } from "../../delta/index.ts";
3
- import type { JobHandle, Outcome, Run, StartOptions } from "../jobs/index.ts";
4
- import type { Columns, PutRowOf, RowOf } from "../store/columns.ts";
5
- import type { Condition, SetOf } from "../store/expression.ts";
6
- import type { ColumnRefs, Query } from "../store/query.ts";
7
- import type { StagedWrite } from "../store/step.ts";
8
- import type { ChordStore } from "../store/store.ts";
9
- import type { KeyOf } from "../store/table.ts";
10
- import { type Page, type PageOptions, type Table } from "../store/table-handle.ts";
11
- import type { CommitPersistence, JsonObject } from "./definition.ts";
12
- import type { Documents } from "./documents.ts";
13
- import type { SealToken } from "./fence.ts";
14
- import type { KeyedHandle, SingletonHandle } from "./handles.ts";
15
- import { type Stored } from "./persistence.ts";
16
- import type { DocumentSlot } from "./slot.ts";
17
- /** What `self.tx` gives its callback. Inside it: only `await tx.*`, no other `self.tx`, no calls to other objects. */
18
- export interface Tx {
19
- /** The document's draft: the same one for the same document within one transaction. */
20
- draft<T extends JsonObject>(handle: SingletonHandle<T>): Promise<Draft<T>>;
21
- draft<T extends JsonObject>(handle: KeyedHandle<T>, key: string): Promise<Draft<T>>;
22
- /** Retires the document when the transaction commits (its address reads `initial()` again); a no-op when it is absent. */
23
- retire(handle: SingletonHandle<JsonObject>): Promise<void>;
24
- retire(handle: KeyedHandle<JsonObject>, key: string): Promise<void>;
25
- /**
26
- * Starts a run of `job`, one of this object's jobs, with this transaction's other writes (§15): both commit or
27
- * neither. Returns its `Run` at once; a discarded transaction's `Run` rejects `released` from `outcome`. A key of an
28
- * unsettled run (one started earlier in this transaction too) returns that run.
29
- */
30
- start<A, R, S>(job: JobHandle<A, R, S>, args: A, options?: StartOptions): Run<Outcome<A, R, S>>;
31
- /** The row with `key` as this transaction leaves it (its own `put`, `update`, `delete` overlaid; W10). */
32
- get<C extends Columns, K extends readonly string[]>(table: Table<C, K>, key: KeyOf<C, K>): Promise<RowOf<C> | undefined>;
33
- /** A page of committed rows, stable for the transaction (without its own writes). */
34
- page<C extends Columns, K extends readonly string[]>(table: Table<C, K>, q: Query<C, K>, limit: number, options?: PageOptions): Promise<Page<RowOf<C>>>;
35
- /** Every committed row of `q`, as `page`. */
36
- rows<C extends Columns, K extends readonly string[]>(table: Table<C, K>, q: Query<C, K>): AsyncIterable<RowOf<C>>;
37
- /** Writes `row` when the transaction commits (an upsert: the whole row replaced). */
38
- put<C extends Columns, K extends readonly string[]>(table: Table<C, K>, row: PutRowOf<C>): void;
39
- /** Changes the row with `key` when the transaction commits; an absent key changes nothing. */
40
- update<C extends Columns, K extends readonly string[]>(table: Table<C, K>, key: KeyOf<C, K>, set: SetOf<C, K> | ((row: ColumnRefs<C>) => SetOf<C, K>)): void;
41
- /** Deletes the row with `key` when the transaction commits. */
42
- delete<C extends Columns, K extends readonly string[]>(table: Table<C, K>, key: KeyOf<C, K>): void;
43
- /** Changes every row matching `where` when the transaction commits (one statement, its count recorded). */
44
- updateWhere<C extends Columns, K extends readonly string[]>(table: Table<C, K>, where: (row: ColumnRefs<C>) => Condition, set: SetOf<C, K> | ((row: ColumnRefs<C>) => SetOf<C, K>)): void;
45
- /** Deletes every row matching `where` when the transaction commits. */
46
- deleteWhere<C extends Columns, K extends readonly string[]>(table: Table<C, K>, where: (row: ColumnRefs<C>) => Condition): void;
47
- }
48
- /**
49
- * Chord's own changes staged in a transaction (a job's run records): adopted in its commit step with the documents,
50
- * then told how the transaction ended, once the owner's line is free.
51
- */
52
- export interface Staged {
53
- /** Adopts the changes, inside the commit's batch. */
54
- adopt(): void;
55
- /** The transaction committed: the actions after the commit (a run starts, waiters settle). */
56
- committed(): void;
57
- /** The transaction was discarded: nothing was adopted. */
58
- discarded(): void;
59
- }
60
- /**
61
- * What one transaction does with one document: a draft, a retirement, or both (retired, then drafted anew); `found`
62
- * is what is stored of a cold persisted document it retires without loading (R13).
63
- */
64
- type Entry = {
65
- readonly slot: DocumentSlot;
66
- readonly key: string;
67
- draft: {
68
- readonly tracker: Tracker<JsonObject>;
69
- readonly change: Change<JsonObject>;
70
- } | undefined;
71
- retire: boolean;
72
- found: Stored | undefined;
73
- };
74
- /**
75
- * One transaction of an object, under the seal token of whoever runs it (an attempt, a job run's invocation, the
76
- * object). Commit prepares every draft (Delta records ops and checks only placed values) and adopts the changed
77
- * documents and the staged changes in one batch; drafts are revoked once it settles. Cut at its token's seal, it
78
- * discards everything, releases the line and refuses every later use.
79
- */
80
- export declare class Transaction implements Tx {
81
- #private;
82
- readonly token: SealToken;
83
- constructor(documents: Documents, token: SealToken, release: () => void, context: Context, persistence?: CommitPersistence);
84
- /**
85
- * The store writes of this transaction, which `write`s join (Chord's own documents: a job's run records): made by the
86
- * first, which sends the commit through `store`'s step.
87
- */
88
- stageStore(store: ChordStore): StagedWrite[];
89
- /** The object whose transaction this is. */
90
- get documents(): Documents;
91
- draft<T extends JsonObject>(handle: SingletonHandle<T>): Promise<Draft<T>>;
92
- draft<T extends JsonObject>(handle: KeyedHandle<T>, key: string): Promise<Draft<T>>;
93
- /**
94
- * The draft of the document at `key` of `slot` (Chord's own slots, a job's run states). A cold persisted document
95
- * is loaded first, inside the transaction (it holds the line); the draft counts as pending until it settles (rule
96
- * 3). A warm draft settles at once.
97
- */
98
- draftSlot(slot: DocumentSlot, key: string): Promise<Draft<JsonObject>>;
99
- retire(handle: SingletonHandle<JsonObject>): Promise<void>;
100
- retire(handle: KeyedHandle<JsonObject>, key: string): Promise<void>;
101
- /** Retires the document at `key` of `slot` when the transaction commits. */
102
- retireSlot(slot: DocumentSlot, key: string): Entry;
103
- start<A, R, S>(job: JobHandle<A, R, S>, args: A, options?: StartOptions): Run<Outcome<A, R, S>>;
104
- get<C extends Columns, K extends readonly string[]>(table: Table<C, K>, key: KeyOf<C, K>): Promise<RowOf<C> | undefined>;
105
- page<C extends Columns, K extends readonly string[]>(table: Table<C, K>, q: Query<C, K>, limit: number, options?: PageOptions): Promise<Page<RowOf<C>>>;
106
- rows<C extends Columns, K extends readonly string[]>(table: Table<C, K>, q: Query<C, K>): AsyncIterable<RowOf<C>>;
107
- put<C extends Columns, K extends readonly string[]>(table: Table<C, K>, row: PutRowOf<C>): void;
108
- update<C extends Columns, K extends readonly string[]>(table: Table<C, K>, key: KeyOf<C, K>, set: SetOf<C, K> | ((row: ColumnRefs<C>) => SetOf<C, K>)): void;
109
- delete<C extends Columns, K extends readonly string[]>(table: Table<C, K>, key: KeyOf<C, K>): void;
110
- updateWhere<C extends Columns, K extends readonly string[]>(table: Table<C, K>, where: (row: ColumnRefs<C>) => Condition, set: SetOf<C, K> | ((row: ColumnRefs<C>) => SetOf<C, K>)): void;
111
- deleteWhere<C extends Columns, K extends readonly string[]>(table: Table<C, K>, where: (row: ColumnRefs<C>) => Condition): void;
112
- /** The changes `owner` staged in this transaction, made by `make` on its first use. */
113
- stage<S extends Staged>(owner: object, make: () => S): S;
114
- /** The changes `owner` staged in this transaction so far, if any. */
115
- staged<S extends Staged>(owner: object): S | undefined;
116
- /**
117
- * Prepares every draft and adopts what changed, and the staged changes, in one batch; nothing when nothing changed.
118
- * A document retired and drafted anew is removed, then adopted: its frame carries the retirement. Persisted
119
- * documents stage their writes here (rule 8), which sends the commit through the store's step.
120
- */
121
- commit(): void | Promise<void>;
122
- /** Aborts every draft and prepared change. */
123
- discard(): void;
124
- /**
125
- * Its token was sealed while it held the line: every draft is aborted, the line released, and every later use,
126
- * its commit included, throws `released`.
127
- */
128
- cut(): void;
129
- /** Tells the staged changes how the transaction ended; runs once the object's line is free. */
130
- settle(): void;
131
- }
132
- export {};
133
- //# sourceMappingURL=transaction.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/next/documents/transaction.ts"],"names":[],"mappings":"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"}
@@ -1,409 +0,0 @@
1
- // Transactions (§9, R12, R13): drafts of an object's documents, prepared and adopted in one batch, with Chord's own
2
- // staged changes (job runs, §15), fenced by the token they run under; they run on the object's line (`line.ts`).
3
- import { withoutAbortSignal } from "../../context/index.js";
4
- import { track } from "../../delta/index.js";
5
- import { ChordError } from "../data/index.js";
6
- import { asChordError } from "../data/internal.js";
7
- import { refusalOf } from "../store/refusal.js";
8
- import { TableChanges } from "../store/table-changes.js";
9
- import { ROWS_PAGE, TableHandle } from "../store/table-handle.js";
10
- import { checkReadable } from "./persistence.js";
11
- const IMMEDIATE = { kind: "immediate" };
12
- /**
13
- * One transaction of an object, under the seal token of whoever runs it (an attempt, a job run's invocation, the
14
- * object). Commit prepares every draft (Delta records ops and checks only placed values) and adopts the changed
15
- * documents and the staged changes in one batch; drafts are revoked once it settles. Cut at its token's seal, it
16
- * discards everything, releases the line and refuses every later use.
17
- */
18
- export class Transaction {
19
- #documents;
20
- token;
21
- #release;
22
- #context;
23
- #entries = new Map();
24
- /** Chord's own staged changes, by their owner (a job); made by the first. */
25
- #staged;
26
- /**
27
- * The store writes, in staging order, and the store they commit to; made by the first (the flag that sends the
28
- * commit through the store's step, W12).
29
- */
30
- #writes;
31
- /** The tables written, each with its writes and overlay. */
32
- #tables;
33
- /** `tx.*` reads underway: a callback settling with one is refused (rule 3, as Durable's). */
34
- #pending = 0;
35
- /** When its commit reaches the store (a run state's deferred change, D8). */
36
- #persistence;
37
- #state = "open";
38
- /** Rejected by `cut` while the commit waits in the store's queue: its caller is told at once (rule 3). */
39
- #queued;
40
- constructor(documents, token, release, context, persistence = IMMEDIATE) {
41
- this.#documents = documents;
42
- this.token = token;
43
- this.#release = release;
44
- this.#context = context;
45
- this.#persistence = persistence;
46
- }
47
- /**
48
- * The store writes of this transaction, which `write`s join (Chord's own documents: a job's run records): made by the
49
- * first, which sends the commit through `store`'s step.
50
- */
51
- stageStore(store) {
52
- this.#writes ??= { store, staged: [] };
53
- return this.#writes.staged;
54
- }
55
- /** The object whose transaction this is. */
56
- get documents() {
57
- return this.#documents;
58
- }
59
- draft(handle, key = "") {
60
- // Not `async`: the draft's promise is returned as it is, without another promise around it (the in-memory path
61
- // stays as cheap as before the store); a throw still reaches the caller as a rejection.
62
- let slot;
63
- let at;
64
- // Keyed keys follow the text rules (`KeyedSlot.key`); a singleton's key is always "".
65
- try {
66
- slot = this.#slotOf(handle);
67
- at = key === "" ? key : slot.key(key);
68
- }
69
- catch (error) {
70
- return Promise.reject(error);
71
- }
72
- // The entry is made for this handle's slot, whose documents are `T`.
73
- return this.draftSlot(slot, at);
74
- }
75
- /**
76
- * The draft of the document at `key` of `slot` (Chord's own slots, a job's run states). A cold persisted document
77
- * is loaded first, inside the transaction (it holds the line); the draft counts as pending until it settles (rule
78
- * 3). A warm draft settles at once.
79
- */
80
- async draftSlot(slot, key) {
81
- const entry = this.#entry(slot, key);
82
- const persisted = slot.persisted;
83
- if (entry.draft !== undefined || entry.retire || persisted?.cold(key) !== true)
84
- return this.#begin(entry);
85
- this.#pending++;
86
- try {
87
- await persisted.load(key, this.#context, this.token);
88
- this.#assertOpen();
89
- return this.#begin(entry);
90
- }
91
- finally {
92
- this.#pending--;
93
- }
94
- }
95
- async retire(handle, key = "") {
96
- const slot = this.#slotOf(handle);
97
- const at = key === "" ? key : slot.key(key);
98
- const entry = this.retireSlot(slot, at);
99
- const persisted = slot.persisted;
100
- // A cold persisted document is found, not loaded (one read; absent: a no-op, R13); a version or fingerprint
101
- // the code cannot read fails the owner as a load would (R15): a retirement of it is no exception.
102
- if (entry.found === undefined && persisted?.cold(at)) {
103
- const found = await this.#track(persisted.persistence.find(at, this.#context));
104
- // Cut meanwhile: its attempt was sealed, and failing the owner now would fail its successor.
105
- this.#assertOpen();
106
- if (found !== undefined)
107
- checkFound(found, persisted, slot);
108
- entry.found = found?.stored;
109
- }
110
- }
111
- /** Retires the document at `key` of `slot` when the transaction commits. */
112
- retireSlot(slot, key) {
113
- const entry = this.#entry(slot, key);
114
- entry.draft?.change.abort();
115
- entry.draft = undefined;
116
- entry.retire = true;
117
- return entry;
118
- }
119
- start(job, args, options = {}) {
120
- // Job handles are Chord's own: `self.job` made them.
121
- return job.stage(this, args, this.#context, options);
122
- }
123
- get(table, key) {
124
- const handle = this.#handle(table);
125
- const changes = this.#tables?.get(handle);
126
- const read = changes === undefined ? handle.get(key, this.#context) : changes.get(key, this.#context);
127
- // The handle's rows are the table's, typed by `C`.
128
- return this.#track(read);
129
- }
130
- page(table, q, limit, options = {}) {
131
- // As in `get`; the query's table is checked against the handle's.
132
- const read = this.#handle(table).page(q, limit, this.#context, options);
133
- return this.#track(read);
134
- }
135
- async *rows(table, q) {
136
- let after;
137
- do {
138
- const page = await this.page(table, q, ROWS_PAGE, after === undefined ? {} : { after });
139
- yield* page.items;
140
- after = page.next;
141
- } while (after !== undefined);
142
- }
143
- put(table, row) {
144
- this.#changes(table).put(row);
145
- }
146
- update(table, key, set) {
147
- this.#changes(table).update(key, set);
148
- }
149
- delete(table, key) {
150
- this.#changes(table).delete(key);
151
- }
152
- updateWhere(table, where, set) {
153
- this.#changes(table).updateWhere(where, set);
154
- }
155
- deleteWhere(table, where) {
156
- this.#changes(table).deleteWhere(where);
157
- }
158
- /** The changes `owner` staged in this transaction, made by `make` on its first use. */
159
- stage(owner, make) {
160
- this.#assertOpen();
161
- this.#staged ??= new Map();
162
- let staged = this.#staged.get(owner);
163
- if (staged === undefined) {
164
- staged = make();
165
- this.#staged.set(owner, staged);
166
- }
167
- // Each owner stages one kind of change, the one its `make` returns.
168
- return staged;
169
- }
170
- /** The changes `owner` staged in this transaction so far, if any. */
171
- staged(owner) {
172
- // As in `stage`: the owner's own kind.
173
- return this.#staged?.get(owner);
174
- }
175
- /**
176
- * Prepares every draft and adopts what changed, and the staged changes, in one batch; nothing when nothing changed.
177
- * A document retired and drafted anew is removed, then adopted: its frame carries the retirement. Persisted
178
- * documents stage their writes here (rule 8), which sends the commit through the store's step.
179
- */
180
- commit() {
181
- this.#assertOpen();
182
- if (this.#pending > 0)
183
- throw new Error(`${this.#documents.label}: the callback settled before its pending tx operations`);
184
- this.#state = "committing";
185
- this.#context.abortSignal?.throwIfAborted();
186
- const adoptions = [];
187
- for (const entries of this.#entries.values()) {
188
- for (const entry of entries.values()) {
189
- let prepared = entry.draft?.change.prepare();
190
- if (prepared !== undefined && prepared.ops.length === 0) {
191
- prepared.abort();
192
- prepared = undefined;
193
- }
194
- const { slot, key } = entry;
195
- const retires = entry.retire && (slot.current(key) !== undefined || entry.found !== undefined);
196
- if (prepared === undefined && !retires)
197
- continue;
198
- const persisted = slot.persisted;
199
- let stored;
200
- if (persisted !== undefined) {
201
- const writes = this.stageStore(persisted.persistence.store);
202
- const was = persisted.stored(key) ?? entry.found;
203
- stored = persisted.stage(key, { prepared, retires }, was, writes, this.#persistence);
204
- }
205
- adoptions.push({ entry, prepared, retires, stored });
206
- }
207
- }
208
- const writes = this.#writes;
209
- if (writes === undefined) {
210
- this.#adopt(adoptions);
211
- this.#state = "committed";
212
- return;
213
- }
214
- return this.#step(writes.store, writes.staged, adoptions);
215
- }
216
- /**
217
- * Commits through the store's step (§3): admitted while neither cut nor sealed (else `released`, nothing written),
218
- * then the documents and staged changes adopted inside the step. Once queued, the caller's abort no longer counts;
219
- * a cut while queued rejects `released` at once (the queue drops the entry at its admission, writing nothing).
220
- */
221
- async #step(store, staged, adoptions) {
222
- const fence = {
223
- admit: () => {
224
- if (this.#state !== "committing" || this.token.sealed)
225
- return false;
226
- this.#state = "stepping";
227
- return true;
228
- },
229
- adopt: () => this.#adopt(adoptions),
230
- };
231
- this.#queued = Promise.withResolvers();
232
- try {
233
- // The race handles the commit's own later rejection too.
234
- await Promise.race([store.commit(staged, fence, withoutAbortSignal(this.#context)), this.#queued.promise]);
235
- }
236
- catch (error) {
237
- if (this.#state === "cut")
238
- throw this.#cutError();
239
- throw this.#refused(error);
240
- }
241
- finally {
242
- this.#queued = undefined;
243
- }
244
- this.#state = "committed";
245
- }
246
- /**
247
- * The error a commit the store rejected rejects with (D4): the store's own (`released`, `storage_failed`) as it
248
- * is; a refused step classified, an `int` `CHECK` failing only this transaction (`invalid/args`), any other refusal
249
- * failing the live object `broken` too (memory and disk disagree).
250
- */
251
- #refused(error) {
252
- const refusal = refusalOf(error, this.#documents.label);
253
- if (refusal === undefined)
254
- return error;
255
- if (refusal.kind === "broken")
256
- this.#documents.fail(refusal.error);
257
- return refusal.error;
258
- }
259
- /**
260
- * Adopts the changed documents (persisted ones with what the commit stored of them) and the staged changes in one
261
- * batch; nothing when nothing changed.
262
- */
263
- #adopt(adoptions) {
264
- const staged = this.#staged;
265
- if (adoptions.length === 0 && staged === undefined)
266
- return;
267
- this.#documents.batch.commit(() => {
268
- for (const { entry, prepared, retires, stored } of adoptions) {
269
- if (retires)
270
- entry.slot.retire(entry.key);
271
- if (prepared === undefined)
272
- continue;
273
- entry.slot.adopt(entry.key, entry.draft.tracker, prepared, stored);
274
- }
275
- for (const each of staged?.values() ?? [])
276
- each.adopt();
277
- }, this.#context);
278
- }
279
- /** Aborts every draft and prepared change. */
280
- discard() {
281
- if (this.#state === "cut")
282
- return;
283
- this.#state = "discarded";
284
- this.#abortDrafts();
285
- }
286
- /**
287
- * Its token was sealed while it held the line: every draft is aborted, the line released, and every later use,
288
- * its commit included, throws `released`.
289
- */
290
- cut() {
291
- // A commit admitted to the step runs to its end; one still queued is refused at admission.
292
- if (this.#state !== "open" && this.#state !== "committing")
293
- return;
294
- this.#state = "cut";
295
- this.#abortDrafts();
296
- this.#release();
297
- this.#queued?.reject(this.#cutError());
298
- }
299
- /** Tells the staged changes how the transaction ended; runs once the object's line is free. */
300
- settle() {
301
- if (this.#staged === undefined)
302
- return;
303
- const committed = this.#state === "committed";
304
- for (const staged of this.#staged.values()) {
305
- if (committed)
306
- staged.committed();
307
- else
308
- staged.discarded();
309
- }
310
- }
311
- #abortDrafts() {
312
- for (const entries of this.#entries.values())
313
- for (const entry of entries.values())
314
- entry.draft?.change.abort();
315
- }
316
- /** The slot behind a handle of this object, after the handle's version fence (R15). */
317
- #slotOf(handle) {
318
- // Handles are Chord's own: `self.state` made them.
319
- const { slot, version } = handle;
320
- slot.definition.assertVersion(version);
321
- return slot;
322
- }
323
- #entry(slot, key) {
324
- this.#assertOpen();
325
- if (slot.owner !== this.#documents) {
326
- throw new Error(`${this.#documents.label}: a transaction drafts only its own object's documents`);
327
- }
328
- let entries = this.#entries.get(slot);
329
- if (entries === undefined) {
330
- entries = new Map();
331
- this.#entries.set(slot, entries);
332
- }
333
- let entry = entries.get(key);
334
- if (entry === undefined) {
335
- entry = { slot, key, draft: undefined, retire: false, found: undefined };
336
- entries.set(key, entry);
337
- }
338
- return entry;
339
- }
340
- #assertOpen() {
341
- if (this.#state === "open")
342
- return;
343
- if (this.#state === "cut")
344
- throw this.#cutError();
345
- throw new Error(`${this.#documents.label}: the transaction has settled`);
346
- }
347
- #cutError() {
348
- return new ChordError({
349
- code: "released",
350
- reason: "discarded",
351
- message: `${this.#documents.label}: the transaction was discarded at the seal`,
352
- });
353
- }
354
- /** The handle behind `table`, one of this object's tables (another object's is refused). */
355
- #handle(table) {
356
- this.#assertOpen();
357
- // Plugin code may pass any table: only this object's handles are taken.
358
- const handle = table;
359
- if (!(handle instanceof TableHandle) || handle.owner.scope !== this.#documents) {
360
- throw new Error(`${this.#documents.label}: a transaction writes only its own object's tables`);
361
- }
362
- handle.assertVersion();
363
- return handle;
364
- }
365
- /** The writes to `table` in this transaction, made by the first. */
366
- #changes(table) {
367
- const handle = this.#handle(table);
368
- this.#tables ??= new Map();
369
- let changes = this.#tables.get(handle);
370
- if (changes === undefined) {
371
- this.#writes ??= { store: handle.store, staged: [] };
372
- changes = new TableChanges(handle, this.#writes.staged);
373
- this.#tables.set(handle, changes);
374
- }
375
- return changes;
376
- }
377
- /** Counts `read` as pending until the operation's promise settles (rule 3). */
378
- async #track(read) {
379
- this.#pending++;
380
- try {
381
- return await read;
382
- }
383
- finally {
384
- this.#pending--;
385
- }
386
- }
387
- /** The entry's draft, begun on the current document (or a fresh `initial()`) by the first use. */
388
- #begin(entry) {
389
- if (entry.draft === undefined) {
390
- const { slot, key } = entry;
391
- const current = entry.retire ? undefined : slot.current(key);
392
- const tracker = current ?? track(slot.initial(this.#context));
393
- entry.draft = { tracker, change: tracker.beginChange() };
394
- }
395
- return entry.draft.change.state;
396
- }
397
- }
398
- /** Throws, failing `slot`'s owner `broken`, when its definition cannot read the cold document `found` (R15). */
399
- function checkFound(found, persisted, slot) {
400
- try {
401
- checkReadable({ version: found.stored.version, fingerprint: found.fingerprint }, persisted.definition.current);
402
- }
403
- catch (error) {
404
- const failure = asChordError(error, slot.owner.label);
405
- slot.owner.fail(failure);
406
- throw failure;
407
- }
408
- }
409
- //# sourceMappingURL=transaction.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../src/next/documents/transaction.ts"],"names":[],"mappings":"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","sourcesContent":["// Transactions (§9, R12, R13): drafts of an object's documents, prepared and adopted in one batch, with Chord's own\n// staged changes (job runs, §15), fenced by the token they run under; they run on the object's line (`line.ts`).\n\nimport { type Context, withoutAbortSignal } from \"../../context/index.ts\";\nimport { type Change, type Draft, type Prepared, type Tracker, track } from \"../../delta/index.ts\";\nimport { ChordError } from \"../data/index.ts\";\nimport { asChordError } from \"../data/internal.ts\";\nimport type { JobHandle, Outcome, Run, StartOptions } from \"../jobs/index.ts\";\nimport type { Job } from \"../jobs/internal.ts\";\nimport type { Columns, PutRowOf, RowOf } from \"../store/columns.ts\";\nimport type { Condition, SetOf } from \"../store/expression.ts\";\nimport type { ColumnRefs, Query } from \"../store/query.ts\";\nimport { refusalOf } from \"../store/refusal.ts\";\nimport type { StagedWrite } from \"../store/step.ts\";\nimport type { ChordStore } from \"../store/store.ts\";\nimport type { KeyOf } from \"../store/table.ts\";\nimport { TableChanges } from \"../store/table-changes.ts\";\nimport { type Page, type PageOptions, ROWS_PAGE, type Table, TableHandle } from \"../store/table-handle.ts\";\nimport type { CommitPersistence, JsonObject } from \"./definition.ts\";\nimport type { Documents } from \"./documents.ts\";\nimport type { SealToken } from \"./fence.ts\";\nimport type { Keyed, KeyedHandle, Singleton, SingletonHandle } from \"./handles.ts\";\nimport type { KeyedSlot } from \"./keyed-slot.ts\";\nimport { checkReadable, type FoundDocument, type Stored, type StoredChange } from \"./persistence.ts\";\nimport type { DocumentSlot, PersistedSlot, SingletonSlot } from \"./slot.ts\";\n\n/** What `self.tx` gives its callback. Inside it: only `await tx.*`, no other `self.tx`, no calls to other objects. */\nexport interface Tx {\n\t/** The document's draft: the same one for the same document within one transaction. */\n\tdraft<T extends JsonObject>(handle: SingletonHandle<T>): Promise<Draft<T>>;\n\tdraft<T extends JsonObject>(handle: KeyedHandle<T>, key: string): Promise<Draft<T>>;\n\t/** Retires the document when the transaction commits (its address reads `initial()` again); a no-op when it is absent. */\n\tretire(handle: SingletonHandle<JsonObject>): Promise<void>;\n\tretire(handle: KeyedHandle<JsonObject>, key: string): Promise<void>;\n\t/**\n\t * Starts a run of `job`, one of this object's jobs, with this transaction's other writes (§15): both commit or\n\t * neither. Returns its `Run` at once; a discarded transaction's `Run` rejects `released` from `outcome`. A key of an\n\t * unsettled run (one started earlier in this transaction too) returns that run.\n\t */\n\tstart<A, R, S>(job: JobHandle<A, R, S>, args: A, options?: StartOptions): Run<Outcome<A, R, S>>;\n\t/** The row with `key` as this transaction leaves it (its own `put`, `update`, `delete` overlaid; W10). */\n\tget<C extends Columns, K extends readonly string[]>(\n\t\ttable: Table<C, K>,\n\t\tkey: KeyOf<C, K>,\n\t): Promise<RowOf<C> | undefined>;\n\t/** A page of committed rows, stable for the transaction (without its own writes). */\n\tpage<C extends Columns, K extends readonly string[]>(\n\t\ttable: Table<C, K>,\n\t\tq: Query<C, K>,\n\t\tlimit: number,\n\t\toptions?: PageOptions,\n\t): Promise<Page<RowOf<C>>>;\n\t/** Every committed row of `q`, as `page`. */\n\trows<C extends Columns, K extends readonly string[]>(table: Table<C, K>, q: Query<C, K>): AsyncIterable<RowOf<C>>;\n\t/** Writes `row` when the transaction commits (an upsert: the whole row replaced). */\n\tput<C extends Columns, K extends readonly string[]>(table: Table<C, K>, row: PutRowOf<C>): void;\n\t/** Changes the row with `key` when the transaction commits; an absent key changes nothing. */\n\tupdate<C extends Columns, K extends readonly string[]>(\n\t\ttable: Table<C, K>,\n\t\tkey: KeyOf<C, K>,\n\t\tset: SetOf<C, K> | ((row: ColumnRefs<C>) => SetOf<C, K>),\n\t): void;\n\t/** Deletes the row with `key` when the transaction commits. */\n\tdelete<C extends Columns, K extends readonly string[]>(table: Table<C, K>, key: KeyOf<C, K>): void;\n\t/** Changes every row matching `where` when the transaction commits (one statement, its count recorded). */\n\tupdateWhere<C extends Columns, K extends readonly string[]>(\n\t\ttable: Table<C, K>,\n\t\twhere: (row: ColumnRefs<C>) => Condition,\n\t\tset: SetOf<C, K> | ((row: ColumnRefs<C>) => SetOf<C, K>),\n\t): void;\n\t/** Deletes every row matching `where` when the transaction commits. */\n\tdeleteWhere<C extends Columns, K extends readonly string[]>(\n\t\ttable: Table<C, K>,\n\t\twhere: (row: ColumnRefs<C>) => Condition,\n\t): void;\n}\n\n/**\n * Chord's own changes staged in a transaction (a job's run records): adopted in its commit step with the documents,\n * then told how the transaction ended, once the owner's line is free.\n */\nexport interface Staged {\n\t/** Adopts the changes, inside the commit's batch. */\n\tadopt(): void;\n\t/** The transaction committed: the actions after the commit (a run starts, waiters settle). */\n\tcommitted(): void;\n\t/** The transaction was discarded: nothing was adopted. */\n\tdiscarded(): void;\n}\n\n/**\n * What one transaction does with one document: a draft, a retirement, or both (retired, then drafted anew); `found`\n * is what is stored of a cold persisted document it retires without loading (R13).\n */\ntype Entry = {\n\treadonly slot: DocumentSlot;\n\treadonly key: string;\n\tdraft: { readonly tracker: Tracker<JsonObject>; readonly change: Change<JsonObject> } | undefined;\n\tretire: boolean;\n\tfound: Stored | undefined;\n};\n\nconst IMMEDIATE: CommitPersistence = { kind: \"immediate\" };\n\n/**\n * One document change a commit adopts: a removal, a draft's prepared change, or both; and for a persisted document\n * what the commit stores of it.\n */\ntype Adoption = {\n\treadonly entry: Entry;\n\treadonly prepared: Prepared<JsonObject> | undefined;\n\treadonly retires: boolean;\n\treadonly stored: StoredChange | undefined;\n};\n\n/**\n * One transaction of an object, under the seal token of whoever runs it (an attempt, a job run's invocation, the\n * object). Commit prepares every draft (Delta records ops and checks only placed values) and adopts the changed\n * documents and the staged changes in one batch; drafts are revoked once it settles. Cut at its token's seal, it\n * discards everything, releases the line and refuses every later use.\n */\nexport class Transaction implements Tx {\n\treadonly #documents: Documents;\n\treadonly token: SealToken;\n\treadonly #release: () => void;\n\treadonly #context: Context;\n\treadonly #entries = new Map<DocumentSlot, Map<string, Entry>>();\n\t/** Chord's own staged changes, by their owner (a job); made by the first. */\n\t#staged: Map<object, Staged> | undefined;\n\t/**\n\t * The store writes, in staging order, and the store they commit to; made by the first (the flag that sends the\n\t * commit through the store's step, W12).\n\t */\n\t#writes: { readonly store: ChordStore; readonly staged: StagedWrite[] } | undefined;\n\t/** The tables written, each with its writes and overlay. */\n\t#tables: Map<TableHandle, TableChanges> | undefined;\n\t/** `tx.*` reads underway: a callback settling with one is refused (rule 3, as Durable's). */\n\t#pending = 0;\n\t/** When its commit reaches the store (a run state's deferred change, D8). */\n\treadonly #persistence: CommitPersistence;\n\t#state: \"open\" | \"committing\" | \"stepping\" | \"committed\" | \"discarded\" | \"cut\" = \"open\";\n\t/** Rejected by `cut` while the commit waits in the store's queue: its caller is told at once (rule 3). */\n\t#queued: PromiseWithResolvers<never> | undefined;\n\n\tconstructor(\n\t\tdocuments: Documents,\n\t\ttoken: SealToken,\n\t\trelease: () => void,\n\t\tcontext: Context,\n\t\tpersistence: CommitPersistence = IMMEDIATE,\n\t) {\n\t\tthis.#documents = documents;\n\t\tthis.token = token;\n\t\tthis.#release = release;\n\t\tthis.#context = context;\n\t\tthis.#persistence = persistence;\n\t}\n\n\t/**\n\t * The store writes of this transaction, which `write`s join (Chord's own documents: a job's run records): made by the\n\t * first, which sends the commit through `store`'s step.\n\t */\n\tstageStore(store: ChordStore): StagedWrite[] {\n\t\tthis.#writes ??= { store, staged: [] };\n\t\treturn this.#writes.staged;\n\t}\n\n\t/** The object whose transaction this is. */\n\tget documents(): Documents {\n\t\treturn this.#documents;\n\t}\n\n\tdraft<T extends JsonObject>(handle: SingletonHandle<T>): Promise<Draft<T>>;\n\tdraft<T extends JsonObject>(handle: KeyedHandle<T>, key: string): Promise<Draft<T>>;\n\tdraft<T extends JsonObject>(handle: SingletonHandle<T> | KeyedHandle<T>, key = \"\"): Promise<Draft<T>> {\n\t\t// Not `async`: the draft's promise is returned as it is, without another promise around it (the in-memory path\n\t\t// stays as cheap as before the store); a throw still reaches the caller as a rejection.\n\t\tlet slot: SingletonSlot | KeyedSlot;\n\t\tlet at: string;\n\t\t// Keyed keys follow the text rules (`KeyedSlot.key`); a singleton's key is always \"\".\n\t\ttry {\n\t\t\tslot = this.#slotOf(handle);\n\t\t\tat = key === \"\" ? key : slot.key(key);\n\t\t} catch (error) {\n\t\t\treturn Promise.reject(error);\n\t\t}\n\t\t// The entry is made for this handle's slot, whose documents are `T`.\n\t\treturn this.draftSlot(slot, at) as Promise<Draft<T>>;\n\t}\n\n\t/**\n\t * The draft of the document at `key` of `slot` (Chord's own slots, a job's run states). A cold persisted document\n\t * is loaded first, inside the transaction (it holds the line); the draft counts as pending until it settles (rule\n\t * 3). A warm draft settles at once.\n\t */\n\tasync draftSlot(slot: DocumentSlot, key: string): Promise<Draft<JsonObject>> {\n\t\tconst entry = this.#entry(slot, key);\n\t\tconst persisted = slot.persisted;\n\t\tif (entry.draft !== undefined || entry.retire || persisted?.cold(key) !== true) return this.#begin(entry);\n\t\tthis.#pending++;\n\t\ttry {\n\t\t\tawait persisted.load(key, this.#context, this.token);\n\t\t\tthis.#assertOpen();\n\t\t\treturn this.#begin(entry);\n\t\t} finally {\n\t\t\tthis.#pending--;\n\t\t}\n\t}\n\n\tretire(handle: SingletonHandle<JsonObject>): Promise<void>;\n\tretire(handle: KeyedHandle<JsonObject>, key: string): Promise<void>;\n\tasync retire(handle: SingletonHandle<JsonObject> | KeyedHandle<JsonObject>, key = \"\"): Promise<void> {\n\t\tconst slot = this.#slotOf(handle);\n\t\tconst at = key === \"\" ? key : slot.key(key);\n\t\tconst entry = this.retireSlot(slot, at);\n\t\tconst persisted = slot.persisted;\n\t\t// A cold persisted document is found, not loaded (one read; absent: a no-op, R13); a version or fingerprint\n\t\t// the code cannot read fails the owner as a load would (R15): a retirement of it is no exception.\n\t\tif (entry.found === undefined && persisted?.cold(at)) {\n\t\t\tconst found = await this.#track(persisted.persistence.find(at, this.#context));\n\t\t\t// Cut meanwhile: its attempt was sealed, and failing the owner now would fail its successor.\n\t\t\tthis.#assertOpen();\n\t\t\tif (found !== undefined) checkFound(found, persisted, slot);\n\t\t\tentry.found = found?.stored;\n\t\t}\n\t}\n\n\t/** Retires the document at `key` of `slot` when the transaction commits. */\n\tretireSlot(slot: DocumentSlot, key: string): Entry {\n\t\tconst entry = this.#entry(slot, key);\n\t\tentry.draft?.change.abort();\n\t\tentry.draft = undefined;\n\t\tentry.retire = true;\n\t\treturn entry;\n\t}\n\n\tstart<A, R, S>(job: JobHandle<A, R, S>, args: A, options: StartOptions = {}): Run<Outcome<A, R, S>> {\n\t\t// Job handles are Chord's own: `self.job` made them.\n\t\treturn (job as unknown as Job).stage(this, args, this.#context, options) as Run<Outcome<A, R, S>>;\n\t}\n\n\tget<C extends Columns, K extends readonly string[]>(\n\t\ttable: Table<C, K>,\n\t\tkey: KeyOf<C, K>,\n\t): Promise<RowOf<C> | undefined> {\n\t\tconst handle = this.#handle(table);\n\t\tconst changes = this.#tables?.get(handle);\n\t\tconst read = changes === undefined ? handle.get(key, this.#context) : changes.get(key, this.#context);\n\t\t// The handle's rows are the table's, typed by `C`.\n\t\treturn this.#track(read) as Promise<RowOf<C> | undefined>;\n\t}\n\n\tpage<C extends Columns, K extends readonly string[]>(\n\t\ttable: Table<C, K>,\n\t\tq: Query<C, K>,\n\t\tlimit: number,\n\t\toptions: PageOptions = {},\n\t): Promise<Page<RowOf<C>>> {\n\t\t// As in `get`; the query's table is checked against the handle's.\n\t\tconst read = this.#handle(table).page(q as unknown as Query, limit, this.#context, options);\n\t\treturn this.#track(read) as Promise<Page<RowOf<C>>>;\n\t}\n\n\tasync *rows<C extends Columns, K extends readonly string[]>(\n\t\ttable: Table<C, K>,\n\t\tq: Query<C, K>,\n\t): AsyncIterable<RowOf<C>> {\n\t\tlet after: string | undefined;\n\t\tdo {\n\t\t\tconst page = await this.page(table, q, ROWS_PAGE, after === undefined ? {} : { after });\n\t\t\tyield* page.items;\n\t\t\tafter = page.next;\n\t\t} while (after !== undefined);\n\t}\n\n\tput<C extends Columns, K extends readonly string[]>(table: Table<C, K>, row: PutRowOf<C>): void {\n\t\tthis.#changes(table).put(row);\n\t}\n\n\tupdate<C extends Columns, K extends readonly string[]>(\n\t\ttable: Table<C, K>,\n\t\tkey: KeyOf<C, K>,\n\t\tset: SetOf<C, K> | ((row: ColumnRefs<C>) => SetOf<C, K>),\n\t): void {\n\t\tthis.#changes(table).update(key, set);\n\t}\n\n\tdelete<C extends Columns, K extends readonly string[]>(table: Table<C, K>, key: KeyOf<C, K>): void {\n\t\tthis.#changes(table).delete(key);\n\t}\n\n\tupdateWhere<C extends Columns, K extends readonly string[]>(\n\t\ttable: Table<C, K>,\n\t\twhere: (row: ColumnRefs<C>) => Condition,\n\t\tset: SetOf<C, K> | ((row: ColumnRefs<C>) => SetOf<C, K>),\n\t): void {\n\t\tthis.#changes(table).updateWhere(where, set);\n\t}\n\n\tdeleteWhere<C extends Columns, K extends readonly string[]>(\n\t\ttable: Table<C, K>,\n\t\twhere: (row: ColumnRefs<C>) => Condition,\n\t): void {\n\t\tthis.#changes(table).deleteWhere(where);\n\t}\n\n\t/** The changes `owner` staged in this transaction, made by `make` on its first use. */\n\tstage<S extends Staged>(owner: object, make: () => S): S {\n\t\tthis.#assertOpen();\n\t\tthis.#staged ??= new Map();\n\t\tlet staged = this.#staged.get(owner);\n\t\tif (staged === undefined) {\n\t\t\tstaged = make();\n\t\t\tthis.#staged.set(owner, staged);\n\t\t}\n\t\t// Each owner stages one kind of change, the one its `make` returns.\n\t\treturn staged as S;\n\t}\n\n\t/** The changes `owner` staged in this transaction so far, if any. */\n\tstaged<S extends Staged>(owner: object): S | undefined {\n\t\t// As in `stage`: the owner's own kind.\n\t\treturn this.#staged?.get(owner) as S | undefined;\n\t}\n\n\t/**\n\t * Prepares every draft and adopts what changed, and the staged changes, in one batch; nothing when nothing changed.\n\t * A document retired and drafted anew is removed, then adopted: its frame carries the retirement. Persisted\n\t * documents stage their writes here (rule 8), which sends the commit through the store's step.\n\t */\n\tcommit(): void | Promise<void> {\n\t\tthis.#assertOpen();\n\t\tif (this.#pending > 0)\n\t\t\tthrow new Error(`${this.#documents.label}: the callback settled before its pending tx operations`);\n\t\tthis.#state = \"committing\";\n\t\tthis.#context.abortSignal?.throwIfAborted();\n\t\tconst adoptions: Adoption[] = [];\n\t\tfor (const entries of this.#entries.values()) {\n\t\t\tfor (const entry of entries.values()) {\n\t\t\t\tlet prepared = entry.draft?.change.prepare();\n\t\t\t\tif (prepared !== undefined && prepared.ops.length === 0) {\n\t\t\t\t\tprepared.abort();\n\t\t\t\t\tprepared = undefined;\n\t\t\t\t}\n\t\t\t\tconst { slot, key } = entry;\n\t\t\t\tconst retires = entry.retire && (slot.current(key) !== undefined || entry.found !== undefined);\n\t\t\t\tif (prepared === undefined && !retires) continue;\n\t\t\t\tconst persisted = slot.persisted;\n\t\t\t\tlet stored: StoredChange | undefined;\n\t\t\t\tif (persisted !== undefined) {\n\t\t\t\t\tconst writes = this.stageStore(persisted.persistence.store);\n\t\t\t\t\tconst was = persisted.stored(key) ?? entry.found;\n\t\t\t\t\tstored = persisted.stage(key, { prepared, retires }, was, writes, this.#persistence);\n\t\t\t\t}\n\t\t\t\tadoptions.push({ entry, prepared, retires, stored });\n\t\t\t}\n\t\t}\n\t\tconst writes = this.#writes;\n\t\tif (writes === undefined) {\n\t\t\tthis.#adopt(adoptions);\n\t\t\tthis.#state = \"committed\";\n\t\t\treturn;\n\t\t}\n\t\treturn this.#step(writes.store, writes.staged, adoptions);\n\t}\n\n\t/**\n\t * Commits through the store's step (§3): admitted while neither cut nor sealed (else `released`, nothing written),\n\t * then the documents and staged changes adopted inside the step. Once queued, the caller's abort no longer counts;\n\t * a cut while queued rejects `released` at once (the queue drops the entry at its admission, writing nothing).\n\t */\n\tasync #step(store: ChordStore, staged: readonly StagedWrite[], adoptions: readonly Adoption[]): Promise<void> {\n\t\tconst fence = {\n\t\t\tadmit: () => {\n\t\t\t\tif (this.#state !== \"committing\" || this.token.sealed) return false;\n\t\t\t\tthis.#state = \"stepping\";\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\tadopt: () => this.#adopt(adoptions),\n\t\t};\n\t\tthis.#queued = Promise.withResolvers<never>();\n\t\ttry {\n\t\t\t// The race handles the commit's own later rejection too.\n\t\t\tawait Promise.race([store.commit(staged, fence, withoutAbortSignal(this.#context)), this.#queued.promise]);\n\t\t} catch (error) {\n\t\t\tif (this.#state === \"cut\") throw this.#cutError();\n\t\t\tthrow this.#refused(error);\n\t\t} finally {\n\t\t\tthis.#queued = undefined;\n\t\t}\n\t\tthis.#state = \"committed\";\n\t}\n\n\t/**\n\t * The error a commit the store rejected rejects with (D4): the store's own (`released`, `storage_failed`) as it\n\t * is; a refused step classified, an `int` `CHECK` failing only this transaction (`invalid/args`), any other refusal\n\t * failing the live object `broken` too (memory and disk disagree).\n\t */\n\t#refused(error: unknown): unknown {\n\t\tconst refusal = refusalOf(error, this.#documents.label);\n\t\tif (refusal === undefined) return error;\n\t\tif (refusal.kind === \"broken\") this.#documents.fail(refusal.error);\n\t\treturn refusal.error;\n\t}\n\n\t/**\n\t * Adopts the changed documents (persisted ones with what the commit stored of them) and the staged changes in one\n\t * batch; nothing when nothing changed.\n\t */\n\t#adopt(adoptions: readonly Adoption[]): void {\n\t\tconst staged = this.#staged;\n\t\tif (adoptions.length === 0 && staged === undefined) return;\n\t\tthis.#documents.batch.commit(() => {\n\t\t\tfor (const { entry, prepared, retires, stored } of adoptions) {\n\t\t\t\tif (retires) entry.slot.retire(entry.key);\n\t\t\t\tif (prepared === undefined) continue;\n\t\t\t\tentry.slot.adopt(entry.key, entry.draft!.tracker, prepared, stored);\n\t\t\t}\n\t\t\tfor (const each of staged?.values() ?? []) each.adopt();\n\t\t}, this.#context);\n\t}\n\n\t/** Aborts every draft and prepared change. */\n\tdiscard(): void {\n\t\tif (this.#state === \"cut\") return;\n\t\tthis.#state = \"discarded\";\n\t\tthis.#abortDrafts();\n\t}\n\n\t/**\n\t * Its token was sealed while it held the line: every draft is aborted, the line released, and every later use,\n\t * its commit included, throws `released`.\n\t */\n\tcut(): void {\n\t\t// A commit admitted to the step runs to its end; one still queued is refused at admission.\n\t\tif (this.#state !== \"open\" && this.#state !== \"committing\") return;\n\t\tthis.#state = \"cut\";\n\t\tthis.#abortDrafts();\n\t\tthis.#release();\n\t\tthis.#queued?.reject(this.#cutError());\n\t}\n\n\t/** Tells the staged changes how the transaction ended; runs once the object's line is free. */\n\tsettle(): void {\n\t\tif (this.#staged === undefined) return;\n\t\tconst committed = this.#state === \"committed\";\n\t\tfor (const staged of this.#staged.values()) {\n\t\t\tif (committed) staged.committed();\n\t\t\telse staged.discarded();\n\t\t}\n\t}\n\n\t#abortDrafts(): void {\n\t\tfor (const entries of this.#entries.values()) for (const entry of entries.values()) entry.draft?.change.abort();\n\t}\n\n\t/** The slot behind a handle of this object, after the handle's version fence (R15). */\n\t#slotOf(handle: SingletonHandle<JsonObject> | KeyedHandle<JsonObject>): SingletonSlot | KeyedSlot {\n\t\t// Handles are Chord's own: `self.state` made them.\n\t\tconst { slot, version } = handle as Singleton | Keyed;\n\t\tslot.definition.assertVersion(version);\n\t\treturn slot;\n\t}\n\n\t#entry(slot: DocumentSlot, key: string): Entry {\n\t\tthis.#assertOpen();\n\t\tif (slot.owner !== this.#documents) {\n\t\t\tthrow new Error(`${this.#documents.label}: a transaction drafts only its own object's documents`);\n\t\t}\n\t\tlet entries = this.#entries.get(slot);\n\t\tif (entries === undefined) {\n\t\t\tentries = new Map();\n\t\t\tthis.#entries.set(slot, entries);\n\t\t}\n\t\tlet entry = entries.get(key);\n\t\tif (entry === undefined) {\n\t\t\tentry = { slot, key, draft: undefined, retire: false, found: undefined };\n\t\t\tentries.set(key, entry);\n\t\t}\n\t\treturn entry;\n\t}\n\n\t#assertOpen(): void {\n\t\tif (this.#state === \"open\") return;\n\t\tif (this.#state === \"cut\") throw this.#cutError();\n\t\tthrow new Error(`${this.#documents.label}: the transaction has settled`);\n\t}\n\n\t#cutError(): ChordError {\n\t\treturn new ChordError({\n\t\t\tcode: \"released\",\n\t\t\treason: \"discarded\",\n\t\t\tmessage: `${this.#documents.label}: the transaction was discarded at the seal`,\n\t\t});\n\t}\n\n\t/** The handle behind `table`, one of this object's tables (another object's is refused). */\n\t#handle(table: object): TableHandle {\n\t\tthis.#assertOpen();\n\t\t// Plugin code may pass any table: only this object's handles are taken.\n\t\tconst handle = table;\n\t\tif (!(handle instanceof TableHandle) || handle.owner.scope !== this.#documents) {\n\t\t\tthrow new Error(`${this.#documents.label}: a transaction writes only its own object's tables`);\n\t\t}\n\t\thandle.assertVersion();\n\t\treturn handle;\n\t}\n\n\t/** The writes to `table` in this transaction, made by the first. */\n\t#changes(table: object): TableChanges {\n\t\tconst handle = this.#handle(table);\n\t\tthis.#tables ??= new Map();\n\t\tlet changes = this.#tables.get(handle);\n\t\tif (changes === undefined) {\n\t\t\tthis.#writes ??= { store: handle.store, staged: [] };\n\t\t\tchanges = new TableChanges(handle, this.#writes.staged);\n\t\t\tthis.#tables.set(handle, changes);\n\t\t}\n\t\treturn changes;\n\t}\n\n\t/** Counts `read` as pending until the operation's promise settles (rule 3). */\n\tasync #track<T>(read: Promise<T>): Promise<T> {\n\t\tthis.#pending++;\n\t\ttry {\n\t\t\treturn await read;\n\t\t} finally {\n\t\t\tthis.#pending--;\n\t\t}\n\t}\n\n\t/** The entry's draft, begun on the current document (or a fresh `initial()`) by the first use. */\n\t#begin(entry: Entry): Draft<JsonObject> {\n\t\tif (entry.draft === undefined) {\n\t\t\tconst { slot, key } = entry;\n\t\t\tconst current = entry.retire ? undefined : slot.current(key);\n\t\t\tconst tracker = current ?? track(slot.initial(this.#context));\n\t\t\tentry.draft = { tracker, change: tracker.beginChange() };\n\t\t}\n\t\treturn entry.draft.change.state;\n\t}\n}\n\n/** Throws, failing `slot`'s owner `broken`, when its definition cannot read the cold document `found` (R15). */\nfunction checkFound(found: FoundDocument, persisted: PersistedSlot, slot: DocumentSlot): void {\n\ttry {\n\t\tcheckReadable({ version: found.stored.version, fingerprint: found.fingerprint }, persisted.definition.current);\n\t} catch (error) {\n\t\tconst failure = asChordError(error, slot.owner.label);\n\t\tslot.owner.fail(failure);\n\t\tthrow failure;\n\t}\n}\n"]}