@earendil-works/chord 1.5.0 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1853) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/README.md +50 -90
  3. package/dist/contracts/accepts.d.ts +81 -0
  4. package/dist/contracts/accepts.d.ts.map +1 -0
  5. package/dist/contracts/accepts.js.map +1 -0
  6. package/dist/contracts/contract.d.ts +121 -0
  7. package/dist/contracts/contract.d.ts.map +1 -0
  8. package/dist/contracts/contract.js.map +1 -0
  9. package/dist/contracts/declare.d.ts.map +1 -0
  10. package/dist/contracts/declare.js.map +1 -0
  11. package/dist/contracts/evolve.d.ts.map +1 -0
  12. package/dist/contracts/evolve.js.map +1 -0
  13. package/dist/contracts/fingerprint.d.ts +16 -0
  14. package/dist/contracts/fingerprint.d.ts.map +1 -0
  15. package/dist/contracts/fingerprint.js.map +1 -0
  16. package/dist/contracts/history.d.ts.map +1 -0
  17. package/dist/contracts/history.js.map +1 -0
  18. package/dist/contracts/host-kind.d.ts.map +1 -0
  19. package/dist/contracts/host-kind.js.map +1 -0
  20. package/dist/contracts/index.d.ts.map +1 -0
  21. package/dist/contracts/index.js.map +1 -0
  22. package/dist/contracts/internal.d.ts.map +1 -0
  23. package/dist/contracts/internal.js.map +1 -0
  24. package/dist/contracts/names.d.ts.map +1 -0
  25. package/dist/contracts/names.js.map +1 -0
  26. package/dist/contracts/params.d.ts +28 -0
  27. package/dist/contracts/params.d.ts.map +1 -0
  28. package/dist/contracts/params.js.map +1 -0
  29. package/dist/contracts/schema.d.ts.map +1 -0
  30. package/dist/contracts/schema.js.map +1 -0
  31. package/dist/contracts/snapshot.d.ts +16 -0
  32. package/dist/contracts/snapshot.d.ts.map +1 -0
  33. package/dist/contracts/snapshot.js +167 -0
  34. package/dist/contracts/snapshot.js.map +1 -0
  35. package/dist/data/args.d.ts +50 -0
  36. package/dist/data/args.d.ts.map +1 -0
  37. package/dist/data/args.js.map +1 -0
  38. package/dist/data/errors.d.ts +80 -0
  39. package/dist/data/errors.d.ts.map +1 -0
  40. package/dist/data/errors.js +116 -0
  41. package/dist/data/errors.js.map +1 -0
  42. package/dist/data/failure.d.ts.map +1 -0
  43. package/dist/data/failure.js +77 -0
  44. package/dist/data/failure.js.map +1 -0
  45. package/dist/data/index.d.ts +4 -0
  46. package/dist/data/index.d.ts.map +1 -0
  47. package/dist/data/index.js +5 -0
  48. package/dist/data/index.js.map +1 -0
  49. package/dist/data/internal.d.ts +7 -0
  50. package/dist/data/internal.d.ts.map +1 -0
  51. package/dist/data/internal.js +8 -0
  52. package/dist/data/internal.js.map +1 -0
  53. package/dist/data/params.d.ts +20 -0
  54. package/dist/data/params.d.ts.map +1 -0
  55. package/dist/data/params.js.map +1 -0
  56. package/dist/data/principal.d.ts +22 -0
  57. package/dist/data/principal.d.ts.map +1 -0
  58. package/dist/data/principal.js +49 -0
  59. package/dist/data/principal.js.map +1 -0
  60. package/dist/data/validator.d.ts +12 -0
  61. package/dist/data/validator.d.ts.map +1 -0
  62. package/dist/data/validator.js +35 -0
  63. package/dist/data/validator.js.map +1 -0
  64. package/dist/documents/address-source.d.ts +20 -0
  65. package/dist/documents/address-source.d.ts.map +1 -0
  66. package/dist/documents/address-source.js.map +1 -0
  67. package/dist/documents/definition.d.ts +84 -0
  68. package/dist/documents/definition.d.ts.map +1 -0
  69. package/dist/documents/definition.js +74 -0
  70. package/dist/documents/definition.js.map +1 -0
  71. package/dist/documents/documents.d.ts +126 -0
  72. package/dist/documents/documents.d.ts.map +1 -0
  73. package/dist/documents/documents.js +248 -0
  74. package/dist/documents/documents.js.map +1 -0
  75. package/dist/documents/fence.d.ts.map +1 -0
  76. package/dist/documents/fence.js.map +1 -0
  77. package/dist/documents/handles.d.ts +76 -0
  78. package/dist/documents/handles.d.ts.map +1 -0
  79. package/dist/documents/handles.js.map +1 -0
  80. package/dist/documents/index.d.ts.map +1 -0
  81. package/dist/documents/index.js.map +1 -0
  82. package/dist/documents/internal.d.ts +9 -0
  83. package/dist/documents/internal.d.ts.map +1 -0
  84. package/dist/documents/internal.js.map +1 -0
  85. package/dist/documents/keyed-slot.d.ts +103 -0
  86. package/dist/documents/keyed-slot.d.ts.map +1 -0
  87. package/dist/documents/keyed-slot.js +395 -0
  88. package/dist/documents/keyed-slot.js.map +1 -0
  89. package/dist/documents/line.d.ts.map +1 -0
  90. package/dist/documents/line.js.map +1 -0
  91. package/dist/documents/persistence.d.ts +104 -0
  92. package/dist/documents/persistence.d.ts.map +1 -0
  93. package/dist/documents/persistence.js +129 -0
  94. package/dist/documents/persistence.js.map +1 -0
  95. package/dist/documents/residency.d.ts +31 -0
  96. package/dist/documents/residency.d.ts.map +1 -0
  97. package/dist/documents/residency.js.map +1 -0
  98. package/dist/documents/slot.d.ts +109 -0
  99. package/dist/documents/slot.d.ts.map +1 -0
  100. package/dist/documents/slot.js +181 -0
  101. package/dist/documents/slot.js.map +1 -0
  102. package/dist/documents/transaction.d.ts +143 -0
  103. package/dist/documents/transaction.d.ts.map +1 -0
  104. package/dist/documents/transaction.js +442 -0
  105. package/dist/documents/transaction.js.map +1 -0
  106. package/dist/host/activity.d.ts +31 -0
  107. package/dist/host/activity.d.ts.map +1 -0
  108. package/dist/host/activity.js +40 -0
  109. package/dist/host/activity.js.map +1 -0
  110. package/dist/host/adapted.d.ts +49 -0
  111. package/dist/host/adapted.d.ts.map +1 -0
  112. package/dist/host/adapted.js.map +1 -0
  113. package/dist/host/attempt.d.ts +308 -0
  114. package/dist/host/attempt.d.ts.map +1 -0
  115. package/dist/host/attempt.js +1199 -0
  116. package/dist/host/attempt.js.map +1 -0
  117. package/dist/host/backoff.d.ts.map +1 -0
  118. package/dist/host/backoff.js.map +1 -0
  119. package/dist/host/ctx.d.ts +94 -0
  120. package/dist/host/ctx.d.ts.map +1 -0
  121. package/dist/host/ctx.js +200 -0
  122. package/dist/host/ctx.js.map +1 -0
  123. package/dist/host/deadline.d.ts.map +1 -0
  124. package/dist/host/deadline.js.map +1 -0
  125. package/dist/host/dependencies.d.ts.map +1 -0
  126. package/dist/host/dependencies.js.map +1 -0
  127. package/dist/host/destination.d.ts +48 -0
  128. package/dist/host/destination.d.ts.map +1 -0
  129. package/dist/host/destination.js.map +1 -0
  130. package/dist/host/facet.d.ts +84 -0
  131. package/dist/host/facet.d.ts.map +1 -0
  132. package/dist/host/facet.js.map +1 -0
  133. package/dist/host/follow.d.ts +52 -0
  134. package/dist/host/follow.d.ts.map +1 -0
  135. package/dist/host/follow.js.map +1 -0
  136. package/dist/host/host.d.ts +571 -0
  137. package/dist/host/host.d.ts.map +1 -0
  138. package/dist/host/host.js +1318 -0
  139. package/dist/host/host.js.map +1 -0
  140. package/dist/host/index.d.ts +17 -0
  141. package/dist/host/index.d.ts.map +1 -0
  142. package/dist/host/index.js.map +1 -0
  143. package/dist/host/internal.d.ts +11 -0
  144. package/dist/host/internal.d.ts.map +1 -0
  145. package/dist/host/internal.js +9 -0
  146. package/dist/host/internal.js.map +1 -0
  147. package/dist/host/members.d.ts +50 -0
  148. package/dist/host/members.d.ts.map +1 -0
  149. package/dist/host/members.js.map +1 -0
  150. package/dist/host/native.d.ts +64 -0
  151. package/dist/host/native.d.ts.map +1 -0
  152. package/dist/host/native.js +126 -0
  153. package/dist/host/native.js.map +1 -0
  154. package/dist/host/object.d.ts +331 -0
  155. package/dist/host/object.d.ts.map +1 -0
  156. package/dist/host/object.js +1296 -0
  157. package/dist/host/object.js.map +1 -0
  158. package/dist/host/old-work.d.ts +34 -0
  159. package/dist/host/old-work.d.ts.map +1 -0
  160. package/dist/host/old-work.js +52 -0
  161. package/dist/host/old-work.js.map +1 -0
  162. package/dist/host/parked.d.ts +23 -0
  163. package/dist/host/parked.d.ts.map +1 -0
  164. package/dist/host/parked.js.map +1 -0
  165. package/dist/host/presence.d.ts +34 -0
  166. package/dist/host/presence.d.ts.map +1 -0
  167. package/dist/host/presence.js.map +1 -0
  168. package/dist/host/readiness.d.ts +27 -0
  169. package/dist/host/readiness.d.ts.map +1 -0
  170. package/dist/host/readiness.js +134 -0
  171. package/dist/host/readiness.js.map +1 -0
  172. package/dist/host/ref-state.d.ts +53 -0
  173. package/dist/host/ref-state.d.ts.map +1 -0
  174. package/dist/host/ref-state.js +83 -0
  175. package/dist/host/ref-state.js.map +1 -0
  176. package/dist/host/reference-keys.d.ts +36 -0
  177. package/dist/host/reference-keys.d.ts.map +1 -0
  178. package/dist/host/reference-keys.js +168 -0
  179. package/dist/host/reference-keys.js.map +1 -0
  180. package/dist/host/reference-source.d.ts +65 -0
  181. package/dist/host/reference-source.d.ts.map +1 -0
  182. package/dist/host/reference-source.js +285 -0
  183. package/dist/host/reference-source.js.map +1 -0
  184. package/dist/host/reference.d.ts +321 -0
  185. package/dist/host/reference.d.ts.map +1 -0
  186. package/dist/host/reference.js +797 -0
  187. package/dist/host/reference.js.map +1 -0
  188. package/dist/host/reload-cycle.d.ts +16 -0
  189. package/dist/host/reload-cycle.d.ts.map +1 -0
  190. package/dist/host/reload-cycle.js +81 -0
  191. package/dist/host/reload-cycle.js.map +1 -0
  192. package/dist/host/retry-on.d.ts.map +1 -0
  193. package/dist/host/retry-on.js.map +1 -0
  194. package/dist/host/revocation.d.ts +16 -0
  195. package/dist/host/revocation.d.ts.map +1 -0
  196. package/dist/host/revocation.js.map +1 -0
  197. package/dist/host/root.d.ts +37 -0
  198. package/dist/host/root.d.ts.map +1 -0
  199. package/dist/host/root.js +68 -0
  200. package/dist/host/root.js.map +1 -0
  201. package/dist/host/route.d.ts +64 -0
  202. package/dist/host/route.d.ts.map +1 -0
  203. package/dist/host/route.js +227 -0
  204. package/dist/host/route.js.map +1 -0
  205. package/dist/host/routines.d.ts +78 -0
  206. package/dist/host/routines.d.ts.map +1 -0
  207. package/dist/host/routines.js +398 -0
  208. package/dist/host/routines.js.map +1 -0
  209. package/dist/host/sleep.d.ts +9 -0
  210. package/dist/host/sleep.d.ts.map +1 -0
  211. package/dist/host/sleep.js.map +1 -0
  212. package/dist/host/staging.d.ts +94 -0
  213. package/dist/host/staging.d.ts.map +1 -0
  214. package/dist/host/staging.js +304 -0
  215. package/dist/host/staging.js.map +1 -0
  216. package/dist/host/unbound-clock.d.ts +23 -0
  217. package/dist/host/unbound-clock.d.ts.map +1 -0
  218. package/dist/host/unbound-clock.js +58 -0
  219. package/dist/host/unbound-clock.js.map +1 -0
  220. package/dist/host/unbound.d.ts +37 -0
  221. package/dist/host/unbound.d.ts.map +1 -0
  222. package/dist/host/unbound.js +88 -0
  223. package/dist/host/unbound.js.map +1 -0
  224. package/dist/host/uuid.d.ts.map +1 -0
  225. package/dist/host/uuid.js.map +1 -0
  226. package/dist/index.d.ts +29 -19
  227. package/dist/index.d.ts.map +1 -1
  228. package/dist/index.js +20 -10
  229. package/dist/index.js.map +1 -1
  230. package/dist/jobs/definition.d.ts.map +1 -0
  231. package/dist/jobs/definition.js.map +1 -0
  232. package/dist/jobs/index.d.ts.map +1 -0
  233. package/dist/jobs/index.js.map +1 -0
  234. package/dist/jobs/internal.d.ts.map +1 -0
  235. package/dist/jobs/internal.js.map +1 -0
  236. package/dist/jobs/job.d.ts +149 -0
  237. package/dist/jobs/job.d.ts.map +1 -0
  238. package/dist/jobs/job.js +387 -0
  239. package/dist/jobs/job.js.map +1 -0
  240. package/dist/jobs/persisted.d.ts +38 -0
  241. package/dist/jobs/persisted.d.ts.map +1 -0
  242. package/dist/jobs/persisted.js.map +1 -0
  243. package/dist/jobs/records.d.ts +231 -0
  244. package/dist/jobs/records.d.ts.map +1 -0
  245. package/dist/jobs/records.js +871 -0
  246. package/dist/jobs/records.js.map +1 -0
  247. package/dist/jobs/run-states.d.ts +69 -0
  248. package/dist/jobs/run-states.d.ts.map +1 -0
  249. package/dist/jobs/run-states.js +228 -0
  250. package/dist/jobs/run-states.js.map +1 -0
  251. package/dist/jobs/run.d.ts +117 -0
  252. package/dist/jobs/run.d.ts.map +1 -0
  253. package/dist/jobs/run.js +204 -0
  254. package/dist/jobs/run.js.map +1 -0
  255. package/dist/jobs/running.d.ts +44 -0
  256. package/dist/jobs/running.d.ts.map +1 -0
  257. package/dist/jobs/running.js.map +1 -0
  258. package/dist/jobs/stored.d.ts +63 -0
  259. package/dist/jobs/stored.d.ts.map +1 -0
  260. package/dist/jobs/stored.js.map +1 -0
  261. package/dist/link/binary.d.ts.map +1 -0
  262. package/dist/link/binary.js +544 -0
  263. package/dist/link/binary.js.map +1 -0
  264. package/dist/link/channel.d.ts +68 -0
  265. package/dist/link/channel.d.ts.map +1 -0
  266. package/dist/link/channel.js +215 -0
  267. package/dist/link/channel.js.map +1 -0
  268. package/dist/link/errors.d.ts.map +1 -0
  269. package/dist/link/errors.js.map +1 -0
  270. package/dist/link/index.d.ts.map +1 -0
  271. package/dist/link/index.js.map +1 -0
  272. package/dist/link/internal.d.ts.map +1 -0
  273. package/dist/link/internal.js.map +1 -0
  274. package/dist/link/ipc.d.ts.map +1 -0
  275. package/dist/link/ipc.js.map +1 -0
  276. package/dist/link/link.d.ts.map +1 -0
  277. package/dist/link/link.js.map +1 -0
  278. package/dist/link/message.d.ts +262 -0
  279. package/dist/link/message.d.ts.map +1 -0
  280. package/dist/link/message.js +156 -0
  281. package/dist/link/message.js.map +1 -0
  282. package/dist/link/part.d.ts +80 -0
  283. package/dist/link/part.d.ts.map +1 -0
  284. package/dist/link/part.js +165 -0
  285. package/dist/link/part.js.map +1 -0
  286. package/dist/link/text.d.ts.map +1 -0
  287. package/dist/link/text.js +355 -0
  288. package/dist/link/text.js.map +1 -0
  289. package/dist/link/values.d.ts.map +1 -0
  290. package/dist/link/values.js +121 -0
  291. package/dist/link/values.js.map +1 -0
  292. package/dist/link/websocket.d.ts.map +1 -0
  293. package/dist/link/websocket.js.map +1 -0
  294. package/dist/node/app/app.d.ts +269 -0
  295. package/dist/node/app/app.d.ts.map +1 -0
  296. package/dist/node/app/app.js +513 -0
  297. package/dist/node/app/app.js.map +1 -0
  298. package/dist/node/app/archive.d.ts +37 -0
  299. package/dist/node/app/archive.d.ts.map +1 -0
  300. package/dist/node/app/archive.js +204 -0
  301. package/dist/node/app/archive.js.map +1 -0
  302. package/dist/node/app/blobs.d.ts +23 -0
  303. package/dist/node/app/blobs.d.ts.map +1 -0
  304. package/dist/node/app/blobs.js +64 -0
  305. package/dist/node/app/blobs.js.map +1 -0
  306. package/dist/node/app/data.d.ts +35 -0
  307. package/dist/node/app/data.d.ts.map +1 -0
  308. package/dist/node/app/data.js +44 -0
  309. package/dist/node/app/data.js.map +1 -0
  310. package/dist/node/app/ephemeral-sessions.d.ts +20 -0
  311. package/dist/node/app/ephemeral-sessions.d.ts.map +1 -0
  312. package/dist/node/app/ephemeral-sessions.js +69 -0
  313. package/dist/node/app/ephemeral-sessions.js.map +1 -0
  314. package/dist/node/app/ephemeral.d.ts +11 -0
  315. package/dist/node/app/ephemeral.d.ts.map +1 -0
  316. package/dist/node/app/ephemeral.js +34 -0
  317. package/dist/node/app/ephemeral.js.map +1 -0
  318. package/dist/node/app/files-copy.d.ts +13 -0
  319. package/dist/node/app/files-copy.d.ts.map +1 -0
  320. package/dist/node/app/files-copy.js +86 -0
  321. package/dist/node/app/files-copy.js.map +1 -0
  322. package/dist/node/app/files-entry.d.ts +4 -0
  323. package/dist/node/app/files-entry.d.ts.map +1 -0
  324. package/dist/node/app/files-entry.js +7 -0
  325. package/dist/node/app/files-entry.js.map +1 -0
  326. package/dist/node/app/files-index.d.ts +180 -0
  327. package/dist/node/app/files-index.d.ts.map +1 -0
  328. package/dist/node/app/files-index.js +535 -0
  329. package/dist/node/app/files-index.js.map +1 -0
  330. package/dist/node/app/files.d.ts +363 -0
  331. package/dist/node/app/files.d.ts.map +1 -0
  332. package/dist/node/app/files.js +368 -0
  333. package/dist/node/app/files.js.map +1 -0
  334. package/dist/node/app/folder-views.d.ts +21 -0
  335. package/dist/node/app/folder-views.d.ts.map +1 -0
  336. package/dist/node/app/folder-views.js +55 -0
  337. package/dist/node/app/folder-views.js.map +1 -0
  338. package/dist/node/app/index.d.ts +12 -0
  339. package/dist/node/app/index.d.ts.map +1 -0
  340. package/dist/node/app/index.js +15 -0
  341. package/dist/node/app/index.js.map +1 -0
  342. package/dist/node/app/info.d.ts +66 -0
  343. package/dist/node/app/info.d.ts.map +1 -0
  344. package/dist/node/app/info.js +37 -0
  345. package/dist/node/app/info.js.map +1 -0
  346. package/dist/node/app/invite.d.ts +5 -0
  347. package/dist/node/app/invite.d.ts.map +1 -0
  348. package/dist/node/app/invite.js +64 -0
  349. package/dist/node/app/invite.js.map +1 -0
  350. package/dist/node/app/layout.d.ts +36 -0
  351. package/dist/node/app/layout.d.ts.map +1 -0
  352. package/dist/node/app/layout.js +87 -0
  353. package/dist/node/app/layout.js.map +1 -0
  354. package/dist/node/app/owner.d.ts +31 -0
  355. package/dist/node/app/owner.d.ts.map +1 -0
  356. package/dist/node/app/owner.js +104 -0
  357. package/dist/node/app/owner.js.map +1 -0
  358. package/dist/node/app/pairing.d.ts +55 -0
  359. package/dist/node/app/pairing.d.ts.map +1 -0
  360. package/dist/node/app/pairing.js +183 -0
  361. package/dist/node/app/pairing.js.map +1 -0
  362. package/dist/node/app/secrets.d.ts +16 -0
  363. package/dist/node/app/secrets.d.ts.map +1 -0
  364. package/dist/node/app/secrets.js +72 -0
  365. package/dist/node/app/secrets.js.map +1 -0
  366. package/dist/node/app/sessions.d.ts +72 -0
  367. package/dist/node/app/sessions.d.ts.map +1 -0
  368. package/dist/node/app/sessions.js +222 -0
  369. package/dist/node/app/sessions.js.map +1 -0
  370. package/dist/node/app/tar.d.ts +24 -0
  371. package/dist/node/app/tar.d.ts.map +1 -0
  372. package/dist/node/app/tar.js +167 -0
  373. package/dist/node/app/tar.js.map +1 -0
  374. package/dist/node/app/uploads.d.ts +37 -0
  375. package/dist/node/app/uploads.d.ts.map +1 -0
  376. package/dist/node/app/uploads.js +157 -0
  377. package/dist/node/app/uploads.js.map +1 -0
  378. package/dist/node/app/users.d.ts +37 -0
  379. package/dist/node/app/users.d.ts.map +1 -0
  380. package/dist/node/app/users.js +62 -0
  381. package/dist/node/app/users.js.map +1 -0
  382. package/dist/node/app/worker.d.ts +18 -0
  383. package/dist/node/app/worker.d.ts.map +1 -0
  384. package/dist/node/app/worker.js +84 -0
  385. package/dist/node/app/worker.js.map +1 -0
  386. package/dist/node/compression.d.ts +7 -0
  387. package/dist/node/compression.d.ts.map +1 -0
  388. package/dist/node/compression.js +25 -0
  389. package/dist/node/compression.js.map +1 -0
  390. package/dist/node/http/admission.d.ts.map +1 -0
  391. package/dist/node/http/admission.js.map +1 -0
  392. package/dist/node/http/authenticate.d.ts +21 -0
  393. package/dist/node/http/authenticate.d.ts.map +1 -0
  394. package/dist/node/http/authenticate.js +34 -0
  395. package/dist/node/http/authenticate.js.map +1 -0
  396. package/dist/node/http/cookies.d.ts +32 -0
  397. package/dist/node/http/cookies.d.ts.map +1 -0
  398. package/dist/node/http/cookies.js +70 -0
  399. package/dist/node/http/cookies.js.map +1 -0
  400. package/dist/node/http/file.d.ts.map +1 -0
  401. package/dist/node/http/file.js.map +1 -0
  402. package/dist/node/http/headers.d.ts.map +1 -0
  403. package/dist/node/http/headers.js +136 -0
  404. package/dist/node/http/headers.js.map +1 -0
  405. package/dist/node/http/http.d.ts +111 -0
  406. package/dist/node/http/http.d.ts.map +1 -0
  407. package/dist/node/http/http.js +524 -0
  408. package/dist/node/http/http.js.map +1 -0
  409. package/dist/node/http/incoming.d.ts.map +1 -0
  410. package/dist/node/http/incoming.js.map +1 -0
  411. package/dist/node/http/index.d.ts +11 -0
  412. package/dist/node/http/index.d.ts.map +1 -0
  413. package/dist/node/http/index.js +12 -0
  414. package/dist/node/http/index.js.map +1 -0
  415. package/dist/node/http/node.d.ts.map +1 -0
  416. package/dist/node/http/node.js.map +1 -0
  417. package/dist/node/http/request.d.ts +60 -0
  418. package/dist/node/http/request.d.ts.map +1 -0
  419. package/dist/node/http/request.js +118 -0
  420. package/dist/node/http/request.js.map +1 -0
  421. package/dist/node/http/response.d.ts +63 -0
  422. package/dist/node/http/response.d.ts.map +1 -0
  423. package/dist/node/http/response.js.map +1 -0
  424. package/dist/node/http/router.d.ts +132 -0
  425. package/dist/node/http/router.d.ts.map +1 -0
  426. package/dist/node/http/router.js +267 -0
  427. package/dist/node/http/router.js.map +1 -0
  428. package/dist/node/http/upgrades.d.ts +61 -0
  429. package/dist/node/http/upgrades.d.ts.map +1 -0
  430. package/dist/node/http/upgrades.js +192 -0
  431. package/dist/node/http/upgrades.js.map +1 -0
  432. package/dist/node/plugins/base-inputs.d.ts +14 -0
  433. package/dist/node/plugins/base-inputs.d.ts.map +1 -0
  434. package/dist/node/plugins/base-inputs.js +33 -0
  435. package/dist/node/plugins/base-inputs.js.map +1 -0
  436. package/dist/node/plugins/build.d.ts +77 -0
  437. package/dist/node/plugins/build.d.ts.map +1 -0
  438. package/dist/node/plugins/build.js +576 -0
  439. package/dist/node/plugins/build.js.map +1 -0
  440. package/dist/node/plugins/css-modules.d.ts +13 -0
  441. package/dist/node/plugins/css-modules.d.ts.map +1 -0
  442. package/dist/node/plugins/css-modules.js +58 -0
  443. package/dist/node/plugins/css-modules.js.map +1 -0
  444. package/dist/node/plugins/discover.d.ts +67 -0
  445. package/dist/node/plugins/discover.d.ts.map +1 -0
  446. package/dist/node/plugins/discover.js +369 -0
  447. package/dist/node/plugins/discover.js.map +1 -0
  448. package/dist/node/plugins/evaluate.d.ts +33 -0
  449. package/dist/node/plugins/evaluate.d.ts.map +1 -0
  450. package/dist/node/plugins/evaluate.js +121 -0
  451. package/dist/node/plugins/evaluate.js.map +1 -0
  452. package/dist/node/plugins/index.d.ts +11 -0
  453. package/dist/node/plugins/index.d.ts.map +1 -0
  454. package/dist/node/plugins/index.js +13 -0
  455. package/dist/node/plugins/index.js.map +1 -0
  456. package/dist/node/plugins/install.d.ts +38 -0
  457. package/dist/node/plugins/install.d.ts.map +1 -0
  458. package/dist/node/plugins/install.js +213 -0
  459. package/dist/node/plugins/install.js.map +1 -0
  460. package/dist/node/plugins/plugins.d.ts +162 -0
  461. package/dist/node/plugins/plugins.d.ts.map +1 -0
  462. package/dist/node/plugins/plugins.js +244 -0
  463. package/dist/node/plugins/plugins.js.map +1 -0
  464. package/dist/node/plugins/runtime.d.ts +57 -0
  465. package/dist/node/plugins/runtime.d.ts.map +1 -0
  466. package/dist/node/plugins/runtime.js +92 -0
  467. package/dist/node/plugins/runtime.js.map +1 -0
  468. package/dist/node/plugins/stack.d.ts.map +1 -0
  469. package/dist/node/plugins/stack.js.map +1 -0
  470. package/dist/node/plugins/testing.d.ts +58 -0
  471. package/dist/node/plugins/testing.d.ts.map +1 -0
  472. package/dist/node/plugins/testing.js +210 -0
  473. package/dist/node/plugins/testing.js.map +1 -0
  474. package/dist/node/plugins/watcher.d.ts +69 -0
  475. package/dist/node/plugins/watcher.d.ts.map +1 -0
  476. package/dist/node/plugins/watcher.js +622 -0
  477. package/dist/node/plugins/watcher.js.map +1 -0
  478. package/dist/node/surfaces/bundle.d.ts +31 -0
  479. package/dist/node/surfaces/bundle.d.ts.map +1 -0
  480. package/dist/node/surfaces/bundle.js +118 -0
  481. package/dist/node/surfaces/bundle.js.map +1 -0
  482. package/dist/node/surfaces/current.d.ts +17 -0
  483. package/dist/node/surfaces/current.d.ts.map +1 -0
  484. package/dist/node/surfaces/current.js +54 -0
  485. package/dist/node/surfaces/current.js.map +1 -0
  486. package/dist/node/surfaces/index.d.ts +6 -0
  487. package/dist/node/surfaces/index.d.ts.map +1 -0
  488. package/dist/node/surfaces/index.js +6 -0
  489. package/dist/node/surfaces/index.js.map +1 -0
  490. package/dist/node/surfaces/published.d.ts +27 -0
  491. package/dist/node/surfaces/published.d.ts.map +1 -0
  492. package/dist/node/surfaces/published.js +142 -0
  493. package/dist/node/surfaces/published.js.map +1 -0
  494. package/dist/node/surfaces/served.d.ts +15 -0
  495. package/dist/node/surfaces/served.d.ts.map +1 -0
  496. package/dist/node/surfaces/served.js +42 -0
  497. package/dist/node/surfaces/served.js.map +1 -0
  498. package/dist/node/surfaces/surface-build.d.ts +53 -0
  499. package/dist/node/surfaces/surface-build.d.ts.map +1 -0
  500. package/dist/node/surfaces/surface-build.js +105 -0
  501. package/dist/node/surfaces/surface-build.js.map +1 -0
  502. package/dist/node/surfaces/tui.d.ts +40 -0
  503. package/dist/node/surfaces/tui.d.ts.map +1 -0
  504. package/dist/node/surfaces/tui.js +55 -0
  505. package/dist/node/surfaces/tui.js.map +1 -0
  506. package/dist/node/surfaces/web.d.ts +56 -0
  507. package/dist/node/surfaces/web.d.ts.map +1 -0
  508. package/dist/node/surfaces/web.js +108 -0
  509. package/dist/node/surfaces/web.js.map +1 -0
  510. package/dist/node/tui/actions.d.ts +49 -0
  511. package/dist/node/tui/actions.d.ts.map +1 -0
  512. package/dist/node/tui/actions.js +195 -0
  513. package/dist/node/tui/actions.js.map +1 -0
  514. package/dist/node/tui/credentials.d.ts +17 -0
  515. package/dist/node/tui/credentials.d.ts.map +1 -0
  516. package/dist/node/tui/credentials.js +54 -0
  517. package/dist/node/tui/credentials.js.map +1 -0
  518. package/dist/node/tui/filter.d.ts +5 -0
  519. package/dist/node/tui/filter.d.ts.map +1 -0
  520. package/dist/node/tui/filter.js +79 -0
  521. package/dist/node/tui/filter.js.map +1 -0
  522. package/dist/node/tui/index.d.ts +6 -0
  523. package/dist/node/tui/index.d.ts.map +1 -0
  524. package/dist/node/tui/index.js +6 -0
  525. package/dist/node/tui/index.js.map +1 -0
  526. package/dist/node/tui/launcher.d.ts +40 -0
  527. package/dist/node/tui/launcher.d.ts.map +1 -0
  528. package/dist/node/tui/launcher.js +439 -0
  529. package/dist/node/tui/launcher.js.map +1 -0
  530. package/dist/node/tui/pipe.d.ts +18 -0
  531. package/dist/node/tui/pipe.d.ts.map +1 -0
  532. package/dist/node/tui/pipe.js +134 -0
  533. package/dist/node/tui/pipe.js.map +1 -0
  534. package/dist/node/tui/sandbox.d.ts +54 -0
  535. package/dist/node/tui/sandbox.d.ts.map +1 -0
  536. package/dist/node/tui/sandbox.js +431 -0
  537. package/dist/node/tui/sandbox.js.map +1 -0
  538. package/dist/node/workers/base.d.ts +30 -0
  539. package/dist/node/workers/base.d.ts.map +1 -0
  540. package/dist/node/workers/base.js +255 -0
  541. package/dist/node/workers/base.js.map +1 -0
  542. package/dist/node/workers/child.d.ts +4 -0
  543. package/dist/node/workers/child.d.ts.map +1 -0
  544. package/dist/node/workers/child.js +6 -0
  545. package/dist/node/workers/child.js.map +1 -0
  546. package/dist/node/workers/control.d.ts +83 -0
  547. package/dist/node/workers/control.d.ts.map +1 -0
  548. package/dist/node/workers/control.js +77 -0
  549. package/dist/node/workers/control.js.map +1 -0
  550. package/dist/node/workers/index.d.ts +4 -0
  551. package/dist/node/workers/index.d.ts.map +1 -0
  552. package/dist/node/workers/index.js +7 -0
  553. package/dist/node/workers/index.js.map +1 -0
  554. package/dist/node/workers/lock.d.ts +30 -0
  555. package/dist/node/workers/lock.d.ts.map +1 -0
  556. package/dist/node/workers/lock.js +180 -0
  557. package/dist/node/workers/lock.js.map +1 -0
  558. package/dist/node/workers/main.d.ts +46 -0
  559. package/dist/node/workers/main.d.ts.map +1 -0
  560. package/dist/node/workers/main.js +230 -0
  561. package/dist/node/workers/main.js.map +1 -0
  562. package/dist/node/workers/process.d.ts +42 -0
  563. package/dist/node/workers/process.d.ts.map +1 -0
  564. package/dist/node/workers/process.js +125 -0
  565. package/dist/node/workers/process.js.map +1 -0
  566. package/dist/node/workers/workers.d.ts +122 -0
  567. package/dist/node/workers/workers.d.ts.map +1 -0
  568. package/dist/node/workers/workers.js +677 -0
  569. package/dist/node/workers/workers.js.map +1 -0
  570. package/dist/react/hooks.d.ts +43 -0
  571. package/dist/react/hooks.d.ts.map +1 -0
  572. package/dist/react/hooks.js +82 -0
  573. package/dist/react/hooks.js.map +1 -0
  574. package/dist/react/index.d.ts +3 -0
  575. package/dist/react/index.d.ts.map +1 -0
  576. package/dist/react/index.js +4 -0
  577. package/dist/react/index.js.map +1 -0
  578. package/dist/react/stores.d.ts +9 -0
  579. package/dist/react/stores.d.ts.map +1 -0
  580. package/dist/react/stores.js +37 -0
  581. package/dist/react/stores.js.map +1 -0
  582. package/dist/registries/contribution.d.ts.map +1 -0
  583. package/dist/registries/contribution.js.map +1 -0
  584. package/dist/registries/entries.d.ts.map +1 -0
  585. package/dist/registries/entries.js.map +1 -0
  586. package/dist/registries/index.d.ts.map +1 -0
  587. package/dist/registries/index.js.map +1 -0
  588. package/dist/registries/internal.d.ts.map +1 -0
  589. package/dist/registries/internal.js.map +1 -0
  590. package/dist/registries/record.d.ts +115 -0
  591. package/dist/registries/record.d.ts.map +1 -0
  592. package/dist/registries/record.js +283 -0
  593. package/dist/registries/record.js.map +1 -0
  594. package/dist/registries/registry.d.ts +74 -0
  595. package/dist/registries/registry.d.ts.map +1 -0
  596. package/dist/registries/registry.js.map +1 -0
  597. package/dist/registries/value.d.ts.map +1 -0
  598. package/dist/registries/value.js +224 -0
  599. package/dist/registries/value.js.map +1 -0
  600. package/dist/remote/calls.d.ts.map +1 -0
  601. package/dist/remote/calls.js.map +1 -0
  602. package/dist/remote/consumer.d.ts +43 -0
  603. package/dist/remote/consumer.d.ts.map +1 -0
  604. package/dist/remote/consumer.js +350 -0
  605. package/dist/remote/consumer.js.map +1 -0
  606. package/dist/remote/hold.d.ts +141 -0
  607. package/dist/remote/hold.d.ts.map +1 -0
  608. package/dist/remote/hold.js +579 -0
  609. package/dist/remote/hold.js.map +1 -0
  610. package/dist/remote/host-link.d.ts +77 -0
  611. package/dist/remote/host-link.d.ts.map +1 -0
  612. package/dist/remote/host-link.js +184 -0
  613. package/dist/remote/host-link.js.map +1 -0
  614. package/dist/remote/internal.d.ts.map +1 -0
  615. package/dist/remote/internal.js.map +1 -0
  616. package/dist/remote/path.d.ts.map +1 -0
  617. package/dist/remote/path.js.map +1 -0
  618. package/dist/remote/provider.d.ts +89 -0
  619. package/dist/remote/provider.d.ts.map +1 -0
  620. package/dist/remote/provider.js +597 -0
  621. package/dist/remote/provider.js.map +1 -0
  622. package/dist/remote/relay.d.ts +69 -0
  623. package/dist/remote/relay.d.ts.map +1 -0
  624. package/dist/remote/relay.js +219 -0
  625. package/dist/remote/relay.js.map +1 -0
  626. package/dist/remote/remote-object.d.ts +138 -0
  627. package/dist/remote/remote-object.d.ts.map +1 -0
  628. package/dist/remote/remote-object.js +492 -0
  629. package/dist/remote/remote-object.js.map +1 -0
  630. package/dist/remote/replica.d.ts +59 -0
  631. package/dist/remote/replica.d.ts.map +1 -0
  632. package/dist/remote/replica.js +125 -0
  633. package/dist/remote/replica.js.map +1 -0
  634. package/dist/sqlite/node.d.ts +9 -1
  635. package/dist/sqlite/node.d.ts.map +1 -1
  636. package/dist/sqlite/node.js +9 -3
  637. package/dist/sqlite/node.js.map +1 -1
  638. package/dist/state/batch.d.ts +64 -0
  639. package/dist/state/batch.d.ts.map +1 -0
  640. package/dist/state/batch.js +164 -0
  641. package/dist/state/batch.js.map +1 -0
  642. package/dist/state/derive.d.ts +52 -0
  643. package/dist/state/derive.d.ts.map +1 -0
  644. package/dist/state/derive.js +182 -0
  645. package/dist/state/derive.js.map +1 -0
  646. package/dist/state/index.d.ts +6 -0
  647. package/dist/state/index.d.ts.map +1 -0
  648. package/dist/state/index.js.map +1 -0
  649. package/dist/state/internal.d.ts.map +1 -0
  650. package/dist/state/internal.js.map +1 -0
  651. package/dist/state/native-source.d.ts +106 -0
  652. package/dist/state/native-source.d.ts.map +1 -0
  653. package/dist/state/native-source.js +240 -0
  654. package/dist/state/native-source.js.map +1 -0
  655. package/dist/state/watchable.d.ts +114 -0
  656. package/dist/state/watchable.d.ts.map +1 -0
  657. package/dist/state/watchable.js +156 -0
  658. package/dist/state/watchable.js.map +1 -0
  659. package/dist/state/writable.d.ts +32 -0
  660. package/dist/state/writable.d.ts.map +1 -0
  661. package/dist/state/writable.js.map +1 -0
  662. package/dist/store/adapter.d.ts +67 -0
  663. package/dist/store/adapter.d.ts.map +1 -0
  664. package/dist/store/adapter.js.map +1 -0
  665. package/dist/store/allocator.d.ts.map +1 -0
  666. package/dist/store/allocator.js.map +1 -0
  667. package/dist/store/applier.d.ts.map +1 -0
  668. package/dist/store/applier.js.map +1 -0
  669. package/dist/store/apply-batch.d.ts +12 -0
  670. package/dist/store/apply-batch.d.ts.map +1 -0
  671. package/dist/store/apply-batch.js.map +1 -0
  672. package/dist/store/archive.d.ts +32 -0
  673. package/dist/store/archive.d.ts.map +1 -0
  674. package/dist/store/archive.js +130 -0
  675. package/dist/store/archive.js.map +1 -0
  676. package/dist/store/backend.d.ts +10 -0
  677. package/dist/store/backend.d.ts.map +1 -0
  678. package/dist/store/backend.js.map +1 -0
  679. package/dist/store/catalog.d.ts +24 -0
  680. package/dist/store/catalog.d.ts.map +1 -0
  681. package/dist/store/catalog.js.map +1 -0
  682. package/dist/store/claims.d.ts.map +1 -0
  683. package/dist/store/claims.js.map +1 -0
  684. package/dist/store/columns.d.ts.map +1 -0
  685. package/dist/store/columns.js.map +1 -0
  686. package/dist/store/engine.d.ts +176 -0
  687. package/dist/store/engine.d.ts.map +1 -0
  688. package/dist/store/engine.js +283 -0
  689. package/dist/store/engine.js.map +1 -0
  690. package/dist/store/evaluate.d.ts +17 -0
  691. package/dist/store/evaluate.d.ts.map +1 -0
  692. package/dist/store/evaluate.js.map +1 -0
  693. package/dist/store/export.d.ts +17 -0
  694. package/dist/store/export.d.ts.map +1 -0
  695. package/dist/store/export.js +200 -0
  696. package/dist/store/export.js.map +1 -0
  697. package/dist/store/expression.d.ts +150 -0
  698. package/dist/store/expression.d.ts.map +1 -0
  699. package/dist/store/expression.js.map +1 -0
  700. package/dist/store/import.d.ts +10 -0
  701. package/dist/store/import.d.ts.map +1 -0
  702. package/dist/store/import.js +276 -0
  703. package/dist/store/import.js.map +1 -0
  704. package/dist/store/index.d.ts.map +1 -0
  705. package/dist/store/index.js.map +1 -0
  706. package/dist/store/json-column.d.ts +33 -0
  707. package/dist/store/json-column.d.ts.map +1 -0
  708. package/dist/store/json-column.js +62 -0
  709. package/dist/store/json-column.js.map +1 -0
  710. package/dist/store/jsonl.d.ts.map +1 -0
  711. package/dist/store/jsonl.js.map +1 -0
  712. package/dist/store/live-query.d.ts +108 -0
  713. package/dist/store/live-query.d.ts.map +1 -0
  714. package/dist/store/live-query.js +254 -0
  715. package/dist/store/live-query.js.map +1 -0
  716. package/dist/store/outbox.d.ts +26 -0
  717. package/dist/store/outbox.d.ts.map +1 -0
  718. package/dist/store/outbox.js.map +1 -0
  719. package/dist/store/query.d.ts +39 -0
  720. package/dist/store/query.d.ts.map +1 -0
  721. package/dist/store/query.js.map +1 -0
  722. package/dist/store/refusal.d.ts.map +1 -0
  723. package/dist/store/refusal.js.map +1 -0
  724. package/dist/store/rows.d.ts +80 -0
  725. package/dist/store/rows.d.ts.map +1 -0
  726. package/dist/store/rows.js.map +1 -0
  727. package/dist/store/schema.d.ts +25 -0
  728. package/dist/store/schema.d.ts.map +1 -0
  729. package/dist/store/schema.js +115 -0
  730. package/dist/store/schema.js.map +1 -0
  731. package/dist/store/sql.d.ts +73 -0
  732. package/dist/store/sql.d.ts.map +1 -0
  733. package/dist/store/sql.js.map +1 -0
  734. package/dist/store/step.d.ts +50 -0
  735. package/dist/store/step.d.ts.map +1 -0
  736. package/dist/store/step.js +52 -0
  737. package/dist/store/step.js.map +1 -0
  738. package/dist/store/store.d.ts +171 -0
  739. package/dist/store/store.d.ts.map +1 -0
  740. package/dist/store/store.js +818 -0
  741. package/dist/store/store.js.map +1 -0
  742. package/dist/store/table-changes.d.ts +29 -0
  743. package/dist/store/table-changes.d.ts.map +1 -0
  744. package/dist/store/table-changes.js.map +1 -0
  745. package/dist/store/table-evolve.d.ts.map +1 -0
  746. package/dist/store/table-evolve.js.map +1 -0
  747. package/dist/store/table-handle.d.ts +73 -0
  748. package/dist/store/table-handle.d.ts.map +1 -0
  749. package/dist/store/table-handle.js +101 -0
  750. package/dist/store/table-handle.js.map +1 -0
  751. package/dist/store/table-history.d.ts.map +1 -0
  752. package/dist/store/table-history.js.map +1 -0
  753. package/dist/store/table-migration.d.ts +16 -0
  754. package/dist/store/table-migration.d.ts.map +1 -0
  755. package/dist/store/table-migration.js +202 -0
  756. package/dist/store/table-migration.js.map +1 -0
  757. package/dist/store/table-writes.d.ts.map +1 -0
  758. package/dist/store/table-writes.js +170 -0
  759. package/dist/store/table-writes.js.map +1 -0
  760. package/dist/store/table.d.ts +80 -0
  761. package/dist/store/table.d.ts.map +1 -0
  762. package/dist/store/table.js.map +1 -0
  763. package/dist/store/text.d.ts.map +1 -0
  764. package/dist/store/text.js.map +1 -0
  765. package/dist/store/writes.d.ts.map +1 -0
  766. package/dist/store/writes.js.map +1 -0
  767. package/dist/surfaces/active-language.d.ts +20 -0
  768. package/dist/surfaces/active-language.d.ts.map +1 -0
  769. package/dist/surfaces/active-language.js +78 -0
  770. package/dist/surfaces/active-language.js.map +1 -0
  771. package/dist/surfaces/active-theme.d.ts +16 -0
  772. package/dist/surfaces/active-theme.d.ts.map +1 -0
  773. package/dist/surfaces/active-theme.js +47 -0
  774. package/dist/surfaces/active-theme.js.map +1 -0
  775. package/dist/surfaces/client.d.ts +96 -0
  776. package/dist/surfaces/client.d.ts.map +1 -0
  777. package/dist/surfaces/client.js +264 -0
  778. package/dist/surfaces/client.js.map +1 -0
  779. package/dist/surfaces/connection.d.ts +49 -0
  780. package/dist/surfaces/connection.d.ts.map +1 -0
  781. package/dist/surfaces/connection.js +142 -0
  782. package/dist/surfaces/connection.js.map +1 -0
  783. package/dist/surfaces/format.d.ts +5 -0
  784. package/dist/surfaces/format.d.ts.map +1 -0
  785. package/dist/surfaces/format.js +37 -0
  786. package/dist/surfaces/format.js.map +1 -0
  787. package/dist/surfaces/index.d.ts +15 -0
  788. package/dist/surfaces/index.d.ts.map +1 -0
  789. package/dist/surfaces/index.js +18 -0
  790. package/dist/surfaces/index.js.map +1 -0
  791. package/dist/surfaces/language.d.ts +53 -0
  792. package/dist/surfaces/language.d.ts.map +1 -0
  793. package/dist/surfaces/language.js +74 -0
  794. package/dist/surfaces/language.js.map +1 -0
  795. package/dist/surfaces/loaded.d.ts +42 -0
  796. package/dist/surfaces/loaded.d.ts.map +1 -0
  797. package/dist/surfaces/loaded.js +116 -0
  798. package/dist/surfaces/loaded.js.map +1 -0
  799. package/dist/surfaces/locale-choice.d.ts +25 -0
  800. package/dist/surfaces/locale-choice.d.ts.map +1 -0
  801. package/dist/surfaces/locale-choice.js +14 -0
  802. package/dist/surfaces/locale-choice.js.map +1 -0
  803. package/dist/surfaces/messages.d.ts +67 -0
  804. package/dist/surfaces/messages.d.ts.map +1 -0
  805. package/dist/surfaces/messages.js +112 -0
  806. package/dist/surfaces/messages.js.map +1 -0
  807. package/dist/surfaces/page-state.d.ts +14 -0
  808. package/dist/surfaces/page-state.d.ts.map +1 -0
  809. package/dist/surfaces/page-state.js +43 -0
  810. package/dist/surfaces/page-state.js.map +1 -0
  811. package/dist/surfaces/preference.d.ts +32 -0
  812. package/dist/surfaces/preference.d.ts.map +1 -0
  813. package/dist/surfaces/preference.js +72 -0
  814. package/dist/surfaces/preference.js.map +1 -0
  815. package/dist/surfaces/registered.d.ts +33 -0
  816. package/dist/surfaces/registered.d.ts.map +1 -0
  817. package/dist/surfaces/registered.js +51 -0
  818. package/dist/surfaces/registered.js.map +1 -0
  819. package/dist/surfaces/scripts.d.ts +84 -0
  820. package/dist/surfaces/scripts.d.ts.map +1 -0
  821. package/dist/surfaces/scripts.js +28 -0
  822. package/dist/surfaces/scripts.js.map +1 -0
  823. package/dist/surfaces/theme-choice.d.ts +31 -0
  824. package/dist/surfaces/theme-choice.d.ts.map +1 -0
  825. package/dist/surfaces/theme-choice.js +18 -0
  826. package/dist/surfaces/theme-choice.js.map +1 -0
  827. package/dist/surfaces/themes.d.ts +43 -0
  828. package/dist/surfaces/themes.d.ts.map +1 -0
  829. package/dist/surfaces/themes.js +110 -0
  830. package/dist/surfaces/themes.js.map +1 -0
  831. package/dist/surfaces/translations.d.ts +29 -0
  832. package/dist/surfaces/translations.d.ts.map +1 -0
  833. package/dist/surfaces/translations.js +57 -0
  834. package/dist/surfaces/translations.js.map +1 -0
  835. package/dist/sync/batch.d.ts +18 -0
  836. package/dist/sync/batch.d.ts.map +1 -0
  837. package/dist/sync/batch.js +125 -0
  838. package/dist/sync/batch.js.map +1 -0
  839. package/dist/sync/client.d.ts +166 -0
  840. package/dist/sync/client.d.ts.map +1 -0
  841. package/dist/sync/client.js +438 -0
  842. package/dist/sync/client.js.map +1 -0
  843. package/dist/sync/files.d.ts +46 -0
  844. package/dist/sync/files.d.ts.map +1 -0
  845. package/dist/sync/files.js +13 -0
  846. package/dist/sync/files.js.map +1 -0
  847. package/dist/sync/filesystem.d.ts +37 -0
  848. package/dist/sync/filesystem.d.ts.map +1 -0
  849. package/dist/sync/filesystem.js +185 -0
  850. package/dist/sync/filesystem.js.map +1 -0
  851. package/dist/sync/index.d.ts +8 -0
  852. package/dist/sync/index.d.ts.map +1 -0
  853. package/dist/sync/index.js +9 -0
  854. package/dist/sync/index.js.map +1 -0
  855. package/dist/sync/lines.d.ts +18 -0
  856. package/dist/sync/lines.d.ts.map +1 -0
  857. package/dist/sync/lines.js +46 -0
  858. package/dist/sync/lines.js.map +1 -0
  859. package/dist/sync/remote.d.ts +130 -0
  860. package/dist/sync/remote.d.ts.map +1 -0
  861. package/dist/sync/remote.js +46 -0
  862. package/dist/sync/remote.js.map +1 -0
  863. package/dist/sync/state.d.ts +17 -0
  864. package/dist/sync/state.d.ts.map +1 -0
  865. package/dist/sync/state.js +40 -0
  866. package/dist/sync/state.js.map +1 -0
  867. package/dist/telemetry-ingest/batch.d.ts +70 -0
  868. package/dist/telemetry-ingest/batch.d.ts.map +1 -0
  869. package/dist/telemetry-ingest/batch.js +110 -0
  870. package/dist/telemetry-ingest/batch.js.map +1 -0
  871. package/dist/telemetry-ingest/facet.d.ts +21 -0
  872. package/dist/telemetry-ingest/facet.d.ts.map +1 -0
  873. package/dist/telemetry-ingest/facet.js +96 -0
  874. package/dist/telemetry-ingest/facet.js.map +1 -0
  875. package/dist/telemetry-ingest/index.d.ts +5 -0
  876. package/dist/telemetry-ingest/index.d.ts.map +1 -0
  877. package/dist/telemetry-ingest/index.js +8 -0
  878. package/dist/telemetry-ingest/index.js.map +1 -0
  879. package/dist/telemetry-ingest/recorder.d.ts +50 -0
  880. package/dist/telemetry-ingest/recorder.d.ts.map +1 -0
  881. package/dist/telemetry-ingest/recorder.js +298 -0
  882. package/dist/telemetry-ingest/recorder.js.map +1 -0
  883. package/dist/telemetry-ingest/sender.d.ts +14 -0
  884. package/dist/telemetry-ingest/sender.d.ts.map +1 -0
  885. package/dist/telemetry-ingest/sender.js +64 -0
  886. package/dist/telemetry-ingest/sender.js.map +1 -0
  887. package/dist/telemetry-sqlite/index.d.ts +13 -4
  888. package/dist/telemetry-sqlite/index.d.ts.map +1 -1
  889. package/dist/telemetry-sqlite/index.js +81 -241
  890. package/dist/telemetry-sqlite/index.js.map +1 -1
  891. package/dist/telemetry-sqlite/node.d.ts +13 -0
  892. package/dist/telemetry-sqlite/node.d.ts.map +1 -0
  893. package/dist/telemetry-sqlite/node.js +27 -0
  894. package/dist/telemetry-sqlite/node.js.map +1 -0
  895. package/dist/telemetry-sqlite/schema.d.ts +9 -0
  896. package/dist/telemetry-sqlite/schema.d.ts.map +1 -0
  897. package/dist/telemetry-sqlite/schema.js +61 -0
  898. package/dist/telemetry-sqlite/schema.js.map +1 -0
  899. package/dist/telemetry-sqlite/store.d.ts +3 -0
  900. package/dist/telemetry-sqlite/store.d.ts.map +1 -1
  901. package/dist/telemetry-sqlite/store.js +24 -13
  902. package/dist/telemetry-sqlite/store.js.map +1 -1
  903. package/dist/telemetry.d.ts +937 -0
  904. package/dist/telemetry.d.ts.map +1 -0
  905. package/dist/telemetry.js +470 -0
  906. package/dist/telemetry.js.map +1 -0
  907. package/dist/tui/bridge.d.ts +112 -0
  908. package/dist/tui/bridge.d.ts.map +1 -0
  909. package/dist/tui/bridge.js +9 -0
  910. package/dist/tui/bridge.js.map +1 -0
  911. package/dist/tui/channel.d.ts +44 -0
  912. package/dist/tui/channel.d.ts.map +1 -0
  913. package/dist/tui/channel.js +150 -0
  914. package/dist/tui/channel.js.map +1 -0
  915. package/dist/tui/frames.d.ts +5 -0
  916. package/dist/tui/frames.d.ts.map +1 -0
  917. package/dist/tui/frames.js +52 -0
  918. package/dist/tui/frames.js.map +1 -0
  919. package/dist/tui/index.d.ts +7 -0
  920. package/dist/tui/index.d.ts.map +1 -0
  921. package/dist/tui/index.js +8 -0
  922. package/dist/tui/index.js.map +1 -0
  923. package/dist/tui/runtime.d.ts +46 -0
  924. package/dist/tui/runtime.d.ts.map +1 -0
  925. package/dist/tui/runtime.js +101 -0
  926. package/dist/tui/runtime.js.map +1 -0
  927. package/dist/tui/scope.d.ts +46 -0
  928. package/dist/tui/scope.d.ts.map +1 -0
  929. package/dist/tui/scope.js +141 -0
  930. package/dist/tui/scope.js.map +1 -0
  931. package/dist/tui/terminal.d.ts +15 -0
  932. package/dist/tui/terminal.d.ts.map +1 -0
  933. package/dist/tui/terminal.js +37 -0
  934. package/dist/tui/terminal.js.map +1 -0
  935. package/dist/tui/theme.d.ts +17 -0
  936. package/dist/tui/theme.d.ts.map +1 -0
  937. package/dist/tui/theme.js +38 -0
  938. package/dist/tui/theme.js.map +1 -0
  939. package/dist/web/environment.d.ts +4 -0
  940. package/dist/web/environment.d.ts.map +1 -0
  941. package/dist/web/environment.js +37 -0
  942. package/dist/web/environment.js.map +1 -0
  943. package/dist/web/index.d.ts +5 -0
  944. package/dist/web/index.d.ts.map +1 -0
  945. package/dist/web/index.js +7 -0
  946. package/dist/web/index.js.map +1 -0
  947. package/dist/web/language.d.ts +7 -0
  948. package/dist/web/language.d.ts.map +1 -0
  949. package/dist/web/language.js +21 -0
  950. package/dist/web/language.js.map +1 -0
  951. package/dist/web/page.d.ts +29 -0
  952. package/dist/web/page.d.ts.map +1 -0
  953. package/dist/web/page.js +92 -0
  954. package/dist/web/page.js.map +1 -0
  955. package/dist/web/scripts.d.ts +23 -0
  956. package/dist/web/scripts.d.ts.map +1 -0
  957. package/dist/web/scripts.js +50 -0
  958. package/dist/web/scripts.js.map +1 -0
  959. package/dist/web/styles.d.ts +17 -0
  960. package/dist/web/styles.d.ts.map +1 -0
  961. package/dist/web/styles.js +218 -0
  962. package/dist/web/styles.js.map +1 -0
  963. package/dist/web/themes.d.ts +6 -0
  964. package/dist/web/themes.d.ts.map +1 -0
  965. package/dist/web/themes.js +31 -0
  966. package/dist/web/themes.js.map +1 -0
  967. package/docs/benchmarks.md +1036 -0
  968. package/docs/decisions.md +3436 -0
  969. package/docs/dependencies/book.md +1671 -0
  970. package/docs/dependencies/index.html +2641 -0
  971. package/docs/design.md +3065 -0
  972. package/docs/durable-observers/book.md +432 -0
  973. package/docs/durable-observers/index.html +517 -0
  974. package/docs/guide-plugins-hosts/book.md +957 -0
  975. package/docs/guide-plugins-hosts/index.html +952 -0
  976. package/docs/http-workers/book.md +378 -0
  977. package/docs/http-workers/index.html +515 -0
  978. package/docs/i18n/book.md +217 -0
  979. package/docs/i18n/index.html +344 -0
  980. package/docs/layer-1.md +311 -0
  981. package/docs/layer-2.md +216 -0
  982. package/docs/p3-features/README.md +6 -0
  983. package/docs/p3-features/book.md +478 -0
  984. package/docs/plugin-authoring.md +276 -0
  985. package/docs/plugin-model/book.md +186 -0
  986. package/docs/plugin-model/index.html +310 -0
  987. package/docs/plugin-primer/book.md +273 -0
  988. package/docs/plugin-primer/index.html +430 -0
  989. package/docs/slice-1.md +236 -0
  990. package/docs/slice-10.md +288 -0
  991. package/docs/slice-11.md +114 -0
  992. package/docs/slice-12.md +132 -0
  993. package/docs/slice-13.md +121 -0
  994. package/docs/slice-2.md +174 -0
  995. package/docs/slice-3a.md +296 -0
  996. package/docs/slice-3b.md +197 -0
  997. package/docs/slice-4a.md +418 -0
  998. package/docs/slice-4b.md +208 -0
  999. package/docs/slice-6a.md +676 -0
  1000. package/docs/slice-6b.md +332 -0
  1001. package/docs/slice-7b/book.md +608 -0
  1002. package/docs/slice-7b/index.html +842 -0
  1003. package/docs/slice-7b.md +255 -0
  1004. package/docs/slice-7c.md +165 -0
  1005. package/docs/slice-9.md +110 -0
  1006. package/docs/slices.md +241 -0
  1007. package/docs/store/book.md +670 -0
  1008. package/docs/store/index.html +861 -0
  1009. package/docs/store/walkthrough.md +193 -0
  1010. package/docs/theming/book.md +223 -0
  1011. package/docs/theming/index.html +371 -0
  1012. package/docs/tutorial/book.md +2169 -0
  1013. package/docs/tutorial/index.html +2112 -0
  1014. package/docs/tutorial/screens/click-after.png +0 -0
  1015. package/docs/tutorial/screens/click-before.png +0 -0
  1016. package/docs/tutorial/screens/edited.png +0 -0
  1017. package/docs/tutorial/screens/french.png +0 -0
  1018. package/docs/tutorial/screens/harbor.png +0 -0
  1019. package/docs/tutorial/screens/page.png +0 -0
  1020. package/docs/tutorial/screens/traces-ada.png +0 -0
  1021. package/docs/tutorial/screens/traces.png +0 -0
  1022. package/package.json +99 -21
  1023. package/dist/cell.d.ts +0 -122
  1024. package/dist/cell.d.ts.map +0 -1
  1025. package/dist/cell.js +0 -356
  1026. package/dist/cell.js.map +0 -1
  1027. package/dist/cluster.d.ts +0 -27
  1028. package/dist/cluster.d.ts.map +0 -1
  1029. package/dist/cluster.js +0 -230
  1030. package/dist/cluster.js.map +0 -1
  1031. package/dist/connection.d.ts +0 -270
  1032. package/dist/connection.d.ts.map +0 -1
  1033. package/dist/connection.js +0 -1216
  1034. package/dist/connection.js.map +0 -1
  1035. package/dist/contract.d.ts +0 -207
  1036. package/dist/contract.d.ts.map +0 -1
  1037. package/dist/contract.js +0 -241
  1038. package/dist/contract.js.map +0 -1
  1039. package/dist/declare.d.ts +0 -33
  1040. package/dist/declare.d.ts.map +0 -1
  1041. package/dist/declare.js +0 -2
  1042. package/dist/declare.js.map +0 -1
  1043. package/dist/errors.d.ts +0 -28
  1044. package/dist/errors.d.ts.map +0 -1
  1045. package/dist/errors.js +0 -59
  1046. package/dist/errors.js.map +0 -1
  1047. package/dist/host.d.ts +0 -348
  1048. package/dist/host.d.ts.map +0 -1
  1049. package/dist/host.js +0 -1002
  1050. package/dist/host.js.map +0 -1
  1051. package/dist/link.d.ts +0 -107
  1052. package/dist/link.d.ts.map +0 -1
  1053. package/dist/link.js +0 -355
  1054. package/dist/link.js.map +0 -1
  1055. package/dist/loader.d.ts +0 -4
  1056. package/dist/loader.d.ts.map +0 -1
  1057. package/dist/loader.js +0 -73
  1058. package/dist/loader.js.map +0 -1
  1059. package/dist/manager.d.ts +0 -115
  1060. package/dist/manager.d.ts.map +0 -1
  1061. package/dist/manager.js +0 -345
  1062. package/dist/manager.js.map +0 -1
  1063. package/dist/next/contracts/accepts.d.ts +0 -81
  1064. package/dist/next/contracts/accepts.d.ts.map +0 -1
  1065. package/dist/next/contracts/accepts.js.map +0 -1
  1066. package/dist/next/contracts/contract.d.ts +0 -121
  1067. package/dist/next/contracts/contract.d.ts.map +0 -1
  1068. package/dist/next/contracts/contract.js.map +0 -1
  1069. package/dist/next/contracts/declare.d.ts.map +0 -1
  1070. package/dist/next/contracts/declare.js.map +0 -1
  1071. package/dist/next/contracts/evolve.d.ts.map +0 -1
  1072. package/dist/next/contracts/evolve.js.map +0 -1
  1073. package/dist/next/contracts/fingerprint.d.ts +0 -16
  1074. package/dist/next/contracts/fingerprint.d.ts.map +0 -1
  1075. package/dist/next/contracts/fingerprint.js.map +0 -1
  1076. package/dist/next/contracts/history.d.ts.map +0 -1
  1077. package/dist/next/contracts/history.js.map +0 -1
  1078. package/dist/next/contracts/host-kind.d.ts.map +0 -1
  1079. package/dist/next/contracts/host-kind.js.map +0 -1
  1080. package/dist/next/contracts/index.d.ts.map +0 -1
  1081. package/dist/next/contracts/index.js.map +0 -1
  1082. package/dist/next/contracts/internal.d.ts.map +0 -1
  1083. package/dist/next/contracts/internal.js.map +0 -1
  1084. package/dist/next/contracts/names.d.ts.map +0 -1
  1085. package/dist/next/contracts/names.js.map +0 -1
  1086. package/dist/next/contracts/params.d.ts +0 -28
  1087. package/dist/next/contracts/params.d.ts.map +0 -1
  1088. package/dist/next/contracts/params.js.map +0 -1
  1089. package/dist/next/contracts/schema.d.ts.map +0 -1
  1090. package/dist/next/contracts/schema.js.map +0 -1
  1091. package/dist/next/contracts/snapshot.d.ts +0 -16
  1092. package/dist/next/contracts/snapshot.d.ts.map +0 -1
  1093. package/dist/next/contracts/snapshot.js +0 -167
  1094. package/dist/next/contracts/snapshot.js.map +0 -1
  1095. package/dist/next/data/args.d.ts +0 -50
  1096. package/dist/next/data/args.d.ts.map +0 -1
  1097. package/dist/next/data/args.js.map +0 -1
  1098. package/dist/next/data/errors.d.ts +0 -73
  1099. package/dist/next/data/errors.d.ts.map +0 -1
  1100. package/dist/next/data/errors.js +0 -107
  1101. package/dist/next/data/errors.js.map +0 -1
  1102. package/dist/next/data/failure.d.ts.map +0 -1
  1103. package/dist/next/data/failure.js +0 -72
  1104. package/dist/next/data/failure.js.map +0 -1
  1105. package/dist/next/data/index.d.ts +0 -4
  1106. package/dist/next/data/index.d.ts.map +0 -1
  1107. package/dist/next/data/index.js +0 -4
  1108. package/dist/next/data/index.js.map +0 -1
  1109. package/dist/next/data/internal.d.ts +0 -7
  1110. package/dist/next/data/internal.d.ts.map +0 -1
  1111. package/dist/next/data/internal.js +0 -8
  1112. package/dist/next/data/internal.js.map +0 -1
  1113. package/dist/next/data/params.d.ts +0 -20
  1114. package/dist/next/data/params.d.ts.map +0 -1
  1115. package/dist/next/data/params.js.map +0 -1
  1116. package/dist/next/data/principal.d.ts +0 -17
  1117. package/dist/next/data/principal.d.ts.map +0 -1
  1118. package/dist/next/data/principal.js +0 -41
  1119. package/dist/next/data/principal.js.map +0 -1
  1120. package/dist/next/data/validator.d.ts +0 -12
  1121. package/dist/next/data/validator.d.ts.map +0 -1
  1122. package/dist/next/data/validator.js +0 -34
  1123. package/dist/next/data/validator.js.map +0 -1
  1124. package/dist/next/documents/address-source.d.ts +0 -20
  1125. package/dist/next/documents/address-source.d.ts.map +0 -1
  1126. package/dist/next/documents/address-source.js.map +0 -1
  1127. package/dist/next/documents/definition.d.ts +0 -84
  1128. package/dist/next/documents/definition.d.ts.map +0 -1
  1129. package/dist/next/documents/definition.js +0 -73
  1130. package/dist/next/documents/definition.js.map +0 -1
  1131. package/dist/next/documents/documents.d.ts +0 -106
  1132. package/dist/next/documents/documents.d.ts.map +0 -1
  1133. package/dist/next/documents/documents.js +0 -224
  1134. package/dist/next/documents/documents.js.map +0 -1
  1135. package/dist/next/documents/fence.d.ts.map +0 -1
  1136. package/dist/next/documents/fence.js.map +0 -1
  1137. package/dist/next/documents/handles.d.ts +0 -76
  1138. package/dist/next/documents/handles.d.ts.map +0 -1
  1139. package/dist/next/documents/handles.js.map +0 -1
  1140. package/dist/next/documents/index.d.ts.map +0 -1
  1141. package/dist/next/documents/index.js.map +0 -1
  1142. package/dist/next/documents/internal.d.ts +0 -9
  1143. package/dist/next/documents/internal.d.ts.map +0 -1
  1144. package/dist/next/documents/internal.js.map +0 -1
  1145. package/dist/next/documents/keyed-slot.d.ts +0 -103
  1146. package/dist/next/documents/keyed-slot.d.ts.map +0 -1
  1147. package/dist/next/documents/keyed-slot.js +0 -395
  1148. package/dist/next/documents/keyed-slot.js.map +0 -1
  1149. package/dist/next/documents/line.d.ts.map +0 -1
  1150. package/dist/next/documents/line.js.map +0 -1
  1151. package/dist/next/documents/persistence.d.ts +0 -104
  1152. package/dist/next/documents/persistence.d.ts.map +0 -1
  1153. package/dist/next/documents/persistence.js +0 -128
  1154. package/dist/next/documents/persistence.js.map +0 -1
  1155. package/dist/next/documents/residency.d.ts +0 -31
  1156. package/dist/next/documents/residency.d.ts.map +0 -1
  1157. package/dist/next/documents/residency.js.map +0 -1
  1158. package/dist/next/documents/slot.d.ts +0 -109
  1159. package/dist/next/documents/slot.d.ts.map +0 -1
  1160. package/dist/next/documents/slot.js +0 -181
  1161. package/dist/next/documents/slot.js.map +0 -1
  1162. package/dist/next/documents/transaction.d.ts +0 -133
  1163. package/dist/next/documents/transaction.d.ts.map +0 -1
  1164. package/dist/next/documents/transaction.js +0 -409
  1165. package/dist/next/documents/transaction.js.map +0 -1
  1166. package/dist/next/host/activity.d.ts +0 -31
  1167. package/dist/next/host/activity.d.ts.map +0 -1
  1168. package/dist/next/host/activity.js +0 -40
  1169. package/dist/next/host/activity.js.map +0 -1
  1170. package/dist/next/host/adapted.d.ts +0 -49
  1171. package/dist/next/host/adapted.d.ts.map +0 -1
  1172. package/dist/next/host/adapted.js.map +0 -1
  1173. package/dist/next/host/attempt.d.ts +0 -278
  1174. package/dist/next/host/attempt.d.ts.map +0 -1
  1175. package/dist/next/host/attempt.js +0 -1072
  1176. package/dist/next/host/attempt.js.map +0 -1
  1177. package/dist/next/host/backoff.d.ts.map +0 -1
  1178. package/dist/next/host/backoff.js.map +0 -1
  1179. package/dist/next/host/ctx.d.ts +0 -47
  1180. package/dist/next/host/ctx.d.ts.map +0 -1
  1181. package/dist/next/host/ctx.js +0 -108
  1182. package/dist/next/host/ctx.js.map +0 -1
  1183. package/dist/next/host/deadline.d.ts.map +0 -1
  1184. package/dist/next/host/deadline.js.map +0 -1
  1185. package/dist/next/host/dependencies.d.ts.map +0 -1
  1186. package/dist/next/host/dependencies.js.map +0 -1
  1187. package/dist/next/host/destination.d.ts +0 -48
  1188. package/dist/next/host/destination.d.ts.map +0 -1
  1189. package/dist/next/host/destination.js.map +0 -1
  1190. package/dist/next/host/facet.d.ts +0 -79
  1191. package/dist/next/host/facet.d.ts.map +0 -1
  1192. package/dist/next/host/facet.js.map +0 -1
  1193. package/dist/next/host/follow.d.ts +0 -52
  1194. package/dist/next/host/follow.d.ts.map +0 -1
  1195. package/dist/next/host/follow.js.map +0 -1
  1196. package/dist/next/host/host.d.ts +0 -495
  1197. package/dist/next/host/host.d.ts.map +0 -1
  1198. package/dist/next/host/host.js +0 -1075
  1199. package/dist/next/host/host.js.map +0 -1
  1200. package/dist/next/host/index.d.ts +0 -17
  1201. package/dist/next/host/index.d.ts.map +0 -1
  1202. package/dist/next/host/index.js.map +0 -1
  1203. package/dist/next/host/internal.d.ts +0 -10
  1204. package/dist/next/host/internal.d.ts.map +0 -1
  1205. package/dist/next/host/internal.js +0 -8
  1206. package/dist/next/host/internal.js.map +0 -1
  1207. package/dist/next/host/members.d.ts +0 -50
  1208. package/dist/next/host/members.d.ts.map +0 -1
  1209. package/dist/next/host/members.js.map +0 -1
  1210. package/dist/next/host/native.d.ts +0 -55
  1211. package/dist/next/host/native.d.ts.map +0 -1
  1212. package/dist/next/host/native.js +0 -92
  1213. package/dist/next/host/native.js.map +0 -1
  1214. package/dist/next/host/object.d.ts +0 -290
  1215. package/dist/next/host/object.d.ts.map +0 -1
  1216. package/dist/next/host/object.js +0 -1127
  1217. package/dist/next/host/object.js.map +0 -1
  1218. package/dist/next/host/parked.d.ts +0 -23
  1219. package/dist/next/host/parked.d.ts.map +0 -1
  1220. package/dist/next/host/parked.js.map +0 -1
  1221. package/dist/next/host/presence.d.ts +0 -34
  1222. package/dist/next/host/presence.d.ts.map +0 -1
  1223. package/dist/next/host/presence.js.map +0 -1
  1224. package/dist/next/host/ref-state.d.ts +0 -53
  1225. package/dist/next/host/ref-state.d.ts.map +0 -1
  1226. package/dist/next/host/ref-state.js +0 -83
  1227. package/dist/next/host/ref-state.js.map +0 -1
  1228. package/dist/next/host/reference-keys.d.ts +0 -36
  1229. package/dist/next/host/reference-keys.d.ts.map +0 -1
  1230. package/dist/next/host/reference-keys.js +0 -168
  1231. package/dist/next/host/reference-keys.js.map +0 -1
  1232. package/dist/next/host/reference-source.d.ts +0 -65
  1233. package/dist/next/host/reference-source.d.ts.map +0 -1
  1234. package/dist/next/host/reference-source.js +0 -285
  1235. package/dist/next/host/reference-source.js.map +0 -1
  1236. package/dist/next/host/reference.d.ts +0 -308
  1237. package/dist/next/host/reference.d.ts.map +0 -1
  1238. package/dist/next/host/reference.js +0 -775
  1239. package/dist/next/host/reference.js.map +0 -1
  1240. package/dist/next/host/retry-on.d.ts.map +0 -1
  1241. package/dist/next/host/retry-on.js.map +0 -1
  1242. package/dist/next/host/revocation.d.ts +0 -16
  1243. package/dist/next/host/revocation.d.ts.map +0 -1
  1244. package/dist/next/host/revocation.js.map +0 -1
  1245. package/dist/next/host/root.d.ts +0 -27
  1246. package/dist/next/host/root.d.ts.map +0 -1
  1247. package/dist/next/host/root.js +0 -68
  1248. package/dist/next/host/root.js.map +0 -1
  1249. package/dist/next/host/route.d.ts +0 -64
  1250. package/dist/next/host/route.d.ts.map +0 -1
  1251. package/dist/next/host/route.js +0 -190
  1252. package/dist/next/host/route.js.map +0 -1
  1253. package/dist/next/host/routines.d.ts +0 -76
  1254. package/dist/next/host/routines.d.ts.map +0 -1
  1255. package/dist/next/host/routines.js +0 -350
  1256. package/dist/next/host/routines.js.map +0 -1
  1257. package/dist/next/host/sleep.d.ts +0 -9
  1258. package/dist/next/host/sleep.d.ts.map +0 -1
  1259. package/dist/next/host/sleep.js.map +0 -1
  1260. package/dist/next/host/staging.d.ts +0 -94
  1261. package/dist/next/host/staging.d.ts.map +0 -1
  1262. package/dist/next/host/staging.js +0 -302
  1263. package/dist/next/host/staging.js.map +0 -1
  1264. package/dist/next/host/unbound.d.ts +0 -30
  1265. package/dist/next/host/unbound.d.ts.map +0 -1
  1266. package/dist/next/host/unbound.js +0 -67
  1267. package/dist/next/host/unbound.js.map +0 -1
  1268. package/dist/next/host/uuid.d.ts.map +0 -1
  1269. package/dist/next/host/uuid.js.map +0 -1
  1270. package/dist/next/index.d.ts +0 -28
  1271. package/dist/next/index.d.ts.map +0 -1
  1272. package/dist/next/index.js +0 -18
  1273. package/dist/next/index.js.map +0 -1
  1274. package/dist/next/jobs/definition.d.ts.map +0 -1
  1275. package/dist/next/jobs/definition.js.map +0 -1
  1276. package/dist/next/jobs/index.d.ts.map +0 -1
  1277. package/dist/next/jobs/index.js.map +0 -1
  1278. package/dist/next/jobs/internal.d.ts.map +0 -1
  1279. package/dist/next/jobs/internal.js.map +0 -1
  1280. package/dist/next/jobs/job.d.ts +0 -152
  1281. package/dist/next/jobs/job.d.ts.map +0 -1
  1282. package/dist/next/jobs/job.js +0 -320
  1283. package/dist/next/jobs/job.js.map +0 -1
  1284. package/dist/next/jobs/persisted.d.ts +0 -38
  1285. package/dist/next/jobs/persisted.d.ts.map +0 -1
  1286. package/dist/next/jobs/persisted.js.map +0 -1
  1287. package/dist/next/jobs/records.d.ts +0 -231
  1288. package/dist/next/jobs/records.d.ts.map +0 -1
  1289. package/dist/next/jobs/records.js +0 -869
  1290. package/dist/next/jobs/records.js.map +0 -1
  1291. package/dist/next/jobs/run-states.d.ts +0 -69
  1292. package/dist/next/jobs/run-states.d.ts.map +0 -1
  1293. package/dist/next/jobs/run-states.js +0 -228
  1294. package/dist/next/jobs/run-states.js.map +0 -1
  1295. package/dist/next/jobs/run.d.ts +0 -113
  1296. package/dist/next/jobs/run.d.ts.map +0 -1
  1297. package/dist/next/jobs/run.js +0 -200
  1298. package/dist/next/jobs/run.js.map +0 -1
  1299. package/dist/next/jobs/running.d.ts +0 -44
  1300. package/dist/next/jobs/running.d.ts.map +0 -1
  1301. package/dist/next/jobs/running.js.map +0 -1
  1302. package/dist/next/jobs/stored.d.ts +0 -63
  1303. package/dist/next/jobs/stored.d.ts.map +0 -1
  1304. package/dist/next/jobs/stored.js.map +0 -1
  1305. package/dist/next/link/binary.d.ts.map +0 -1
  1306. package/dist/next/link/binary.js +0 -534
  1307. package/dist/next/link/binary.js.map +0 -1
  1308. package/dist/next/link/channel.d.ts +0 -63
  1309. package/dist/next/link/channel.d.ts.map +0 -1
  1310. package/dist/next/link/channel.js +0 -202
  1311. package/dist/next/link/channel.js.map +0 -1
  1312. package/dist/next/link/errors.d.ts.map +0 -1
  1313. package/dist/next/link/errors.js.map +0 -1
  1314. package/dist/next/link/index.d.ts.map +0 -1
  1315. package/dist/next/link/index.js.map +0 -1
  1316. package/dist/next/link/internal.d.ts.map +0 -1
  1317. package/dist/next/link/internal.js.map +0 -1
  1318. package/dist/next/link/ipc.d.ts.map +0 -1
  1319. package/dist/next/link/ipc.js.map +0 -1
  1320. package/dist/next/link/link.d.ts.map +0 -1
  1321. package/dist/next/link/link.js.map +0 -1
  1322. package/dist/next/link/message.d.ts +0 -249
  1323. package/dist/next/link/message.d.ts.map +0 -1
  1324. package/dist/next/link/message.js +0 -123
  1325. package/dist/next/link/message.js.map +0 -1
  1326. package/dist/next/link/part.d.ts +0 -80
  1327. package/dist/next/link/part.d.ts.map +0 -1
  1328. package/dist/next/link/part.js +0 -164
  1329. package/dist/next/link/part.js.map +0 -1
  1330. package/dist/next/link/text.d.ts.map +0 -1
  1331. package/dist/next/link/text.js +0 -335
  1332. package/dist/next/link/text.js.map +0 -1
  1333. package/dist/next/link/values.d.ts.map +0 -1
  1334. package/dist/next/link/values.js +0 -117
  1335. package/dist/next/link/values.js.map +0 -1
  1336. package/dist/next/link/websocket.d.ts.map +0 -1
  1337. package/dist/next/link/websocket.js.map +0 -1
  1338. package/dist/next/registries/contribution.d.ts.map +0 -1
  1339. package/dist/next/registries/contribution.js.map +0 -1
  1340. package/dist/next/registries/entries.d.ts.map +0 -1
  1341. package/dist/next/registries/entries.js.map +0 -1
  1342. package/dist/next/registries/index.d.ts.map +0 -1
  1343. package/dist/next/registries/index.js.map +0 -1
  1344. package/dist/next/registries/internal.d.ts.map +0 -1
  1345. package/dist/next/registries/internal.js.map +0 -1
  1346. package/dist/next/registries/record.d.ts +0 -94
  1347. package/dist/next/registries/record.d.ts.map +0 -1
  1348. package/dist/next/registries/record.js +0 -253
  1349. package/dist/next/registries/record.js.map +0 -1
  1350. package/dist/next/registries/registry.d.ts +0 -74
  1351. package/dist/next/registries/registry.d.ts.map +0 -1
  1352. package/dist/next/registries/registry.js.map +0 -1
  1353. package/dist/next/registries/value.d.ts.map +0 -1
  1354. package/dist/next/registries/value.js +0 -199
  1355. package/dist/next/registries/value.js.map +0 -1
  1356. package/dist/next/remote/calls.d.ts.map +0 -1
  1357. package/dist/next/remote/calls.js.map +0 -1
  1358. package/dist/next/remote/consumer.d.ts +0 -42
  1359. package/dist/next/remote/consumer.d.ts.map +0 -1
  1360. package/dist/next/remote/consumer.js +0 -343
  1361. package/dist/next/remote/consumer.js.map +0 -1
  1362. package/dist/next/remote/hold.d.ts +0 -130
  1363. package/dist/next/remote/hold.d.ts.map +0 -1
  1364. package/dist/next/remote/hold.js +0 -537
  1365. package/dist/next/remote/hold.js.map +0 -1
  1366. package/dist/next/remote/host-link.d.ts +0 -77
  1367. package/dist/next/remote/host-link.d.ts.map +0 -1
  1368. package/dist/next/remote/host-link.js +0 -182
  1369. package/dist/next/remote/host-link.js.map +0 -1
  1370. package/dist/next/remote/internal.d.ts.map +0 -1
  1371. package/dist/next/remote/internal.js.map +0 -1
  1372. package/dist/next/remote/path.d.ts.map +0 -1
  1373. package/dist/next/remote/path.js.map +0 -1
  1374. package/dist/next/remote/provider.d.ts +0 -76
  1375. package/dist/next/remote/provider.d.ts.map +0 -1
  1376. package/dist/next/remote/provider.js +0 -506
  1377. package/dist/next/remote/provider.js.map +0 -1
  1378. package/dist/next/remote/relay.d.ts +0 -58
  1379. package/dist/next/remote/relay.d.ts.map +0 -1
  1380. package/dist/next/remote/relay.js +0 -117
  1381. package/dist/next/remote/relay.js.map +0 -1
  1382. package/dist/next/remote/remote-object.d.ts +0 -133
  1383. package/dist/next/remote/remote-object.d.ts.map +0 -1
  1384. package/dist/next/remote/remote-object.js +0 -411
  1385. package/dist/next/remote/remote-object.js.map +0 -1
  1386. package/dist/next/remote/replica.d.ts +0 -59
  1387. package/dist/next/remote/replica.d.ts.map +0 -1
  1388. package/dist/next/remote/replica.js +0 -125
  1389. package/dist/next/remote/replica.js.map +0 -1
  1390. package/dist/next/state/batch.d.ts +0 -64
  1391. package/dist/next/state/batch.d.ts.map +0 -1
  1392. package/dist/next/state/batch.js +0 -163
  1393. package/dist/next/state/batch.js.map +0 -1
  1394. package/dist/next/state/derive.d.ts +0 -52
  1395. package/dist/next/state/derive.d.ts.map +0 -1
  1396. package/dist/next/state/derive.js +0 -182
  1397. package/dist/next/state/derive.js.map +0 -1
  1398. package/dist/next/state/index.d.ts +0 -6
  1399. package/dist/next/state/index.d.ts.map +0 -1
  1400. package/dist/next/state/index.js.map +0 -1
  1401. package/dist/next/state/internal.d.ts.map +0 -1
  1402. package/dist/next/state/internal.js.map +0 -1
  1403. package/dist/next/state/native-source.d.ts +0 -106
  1404. package/dist/next/state/native-source.d.ts.map +0 -1
  1405. package/dist/next/state/native-source.js +0 -240
  1406. package/dist/next/state/native-source.js.map +0 -1
  1407. package/dist/next/state/watchable.d.ts +0 -114
  1408. package/dist/next/state/watchable.d.ts.map +0 -1
  1409. package/dist/next/state/watchable.js +0 -156
  1410. package/dist/next/state/watchable.js.map +0 -1
  1411. package/dist/next/state/writable.d.ts +0 -32
  1412. package/dist/next/state/writable.d.ts.map +0 -1
  1413. package/dist/next/state/writable.js.map +0 -1
  1414. package/dist/next/store/adapter.d.ts +0 -67
  1415. package/dist/next/store/adapter.d.ts.map +0 -1
  1416. package/dist/next/store/adapter.js.map +0 -1
  1417. package/dist/next/store/allocator.d.ts.map +0 -1
  1418. package/dist/next/store/allocator.js.map +0 -1
  1419. package/dist/next/store/applier.d.ts.map +0 -1
  1420. package/dist/next/store/applier.js.map +0 -1
  1421. package/dist/next/store/apply-batch.d.ts +0 -12
  1422. package/dist/next/store/apply-batch.d.ts.map +0 -1
  1423. package/dist/next/store/apply-batch.js.map +0 -1
  1424. package/dist/next/store/archive.d.ts +0 -32
  1425. package/dist/next/store/archive.d.ts.map +0 -1
  1426. package/dist/next/store/archive.js +0 -129
  1427. package/dist/next/store/archive.js.map +0 -1
  1428. package/dist/next/store/backend.d.ts +0 -10
  1429. package/dist/next/store/backend.d.ts.map +0 -1
  1430. package/dist/next/store/backend.js.map +0 -1
  1431. package/dist/next/store/catalog.d.ts +0 -24
  1432. package/dist/next/store/catalog.d.ts.map +0 -1
  1433. package/dist/next/store/catalog.js.map +0 -1
  1434. package/dist/next/store/claims.d.ts.map +0 -1
  1435. package/dist/next/store/claims.js.map +0 -1
  1436. package/dist/next/store/columns.d.ts.map +0 -1
  1437. package/dist/next/store/columns.js.map +0 -1
  1438. package/dist/next/store/engine.d.ts +0 -176
  1439. package/dist/next/store/engine.d.ts.map +0 -1
  1440. package/dist/next/store/engine.js +0 -283
  1441. package/dist/next/store/engine.js.map +0 -1
  1442. package/dist/next/store/evaluate.d.ts +0 -17
  1443. package/dist/next/store/evaluate.d.ts.map +0 -1
  1444. package/dist/next/store/evaluate.js.map +0 -1
  1445. package/dist/next/store/export.d.ts +0 -17
  1446. package/dist/next/store/export.d.ts.map +0 -1
  1447. package/dist/next/store/export.js +0 -200
  1448. package/dist/next/store/export.js.map +0 -1
  1449. package/dist/next/store/expression.d.ts +0 -150
  1450. package/dist/next/store/expression.d.ts.map +0 -1
  1451. package/dist/next/store/expression.js.map +0 -1
  1452. package/dist/next/store/import.d.ts +0 -10
  1453. package/dist/next/store/import.d.ts.map +0 -1
  1454. package/dist/next/store/import.js +0 -276
  1455. package/dist/next/store/import.js.map +0 -1
  1456. package/dist/next/store/index.d.ts.map +0 -1
  1457. package/dist/next/store/index.js.map +0 -1
  1458. package/dist/next/store/json-column.d.ts +0 -33
  1459. package/dist/next/store/json-column.d.ts.map +0 -1
  1460. package/dist/next/store/json-column.js +0 -61
  1461. package/dist/next/store/json-column.js.map +0 -1
  1462. package/dist/next/store/jsonl.d.ts.map +0 -1
  1463. package/dist/next/store/jsonl.js.map +0 -1
  1464. package/dist/next/store/outbox.d.ts +0 -26
  1465. package/dist/next/store/outbox.d.ts.map +0 -1
  1466. package/dist/next/store/outbox.js.map +0 -1
  1467. package/dist/next/store/query.d.ts +0 -39
  1468. package/dist/next/store/query.d.ts.map +0 -1
  1469. package/dist/next/store/query.js.map +0 -1
  1470. package/dist/next/store/refusal.d.ts.map +0 -1
  1471. package/dist/next/store/refusal.js.map +0 -1
  1472. package/dist/next/store/rows.d.ts +0 -80
  1473. package/dist/next/store/rows.d.ts.map +0 -1
  1474. package/dist/next/store/rows.js.map +0 -1
  1475. package/dist/next/store/schema.d.ts +0 -25
  1476. package/dist/next/store/schema.d.ts.map +0 -1
  1477. package/dist/next/store/schema.js +0 -115
  1478. package/dist/next/store/schema.js.map +0 -1
  1479. package/dist/next/store/sql.d.ts +0 -73
  1480. package/dist/next/store/sql.d.ts.map +0 -1
  1481. package/dist/next/store/sql.js.map +0 -1
  1482. package/dist/next/store/step.d.ts +0 -48
  1483. package/dist/next/store/step.d.ts.map +0 -1
  1484. package/dist/next/store/step.js +0 -50
  1485. package/dist/next/store/step.js.map +0 -1
  1486. package/dist/next/store/store.d.ts +0 -161
  1487. package/dist/next/store/store.d.ts.map +0 -1
  1488. package/dist/next/store/store.js +0 -627
  1489. package/dist/next/store/store.js.map +0 -1
  1490. package/dist/next/store/table-changes.d.ts +0 -29
  1491. package/dist/next/store/table-changes.d.ts.map +0 -1
  1492. package/dist/next/store/table-changes.js.map +0 -1
  1493. package/dist/next/store/table-evolve.d.ts.map +0 -1
  1494. package/dist/next/store/table-evolve.js.map +0 -1
  1495. package/dist/next/store/table-handle.d.ts +0 -67
  1496. package/dist/next/store/table-handle.d.ts.map +0 -1
  1497. package/dist/next/store/table-handle.js +0 -101
  1498. package/dist/next/store/table-handle.js.map +0 -1
  1499. package/dist/next/store/table-history.d.ts.map +0 -1
  1500. package/dist/next/store/table-history.js.map +0 -1
  1501. package/dist/next/store/table-migration.d.ts +0 -16
  1502. package/dist/next/store/table-migration.d.ts.map +0 -1
  1503. package/dist/next/store/table-migration.js +0 -202
  1504. package/dist/next/store/table-migration.js.map +0 -1
  1505. package/dist/next/store/table-writes.d.ts.map +0 -1
  1506. package/dist/next/store/table-writes.js +0 -165
  1507. package/dist/next/store/table-writes.js.map +0 -1
  1508. package/dist/next/store/table.d.ts +0 -80
  1509. package/dist/next/store/table.d.ts.map +0 -1
  1510. package/dist/next/store/table.js.map +0 -1
  1511. package/dist/next/store/text.d.ts.map +0 -1
  1512. package/dist/next/store/text.js.map +0 -1
  1513. package/dist/next/store/writes.d.ts.map +0 -1
  1514. package/dist/next/store/writes.js.map +0 -1
  1515. package/dist/next-node/compression.d.ts +0 -7
  1516. package/dist/next-node/compression.d.ts.map +0 -1
  1517. package/dist/next-node/compression.js +0 -24
  1518. package/dist/next-node/compression.js.map +0 -1
  1519. package/dist/next-node/http/admission.d.ts.map +0 -1
  1520. package/dist/next-node/http/admission.js.map +0 -1
  1521. package/dist/next-node/http/authenticate.d.ts +0 -21
  1522. package/dist/next-node/http/authenticate.d.ts.map +0 -1
  1523. package/dist/next-node/http/authenticate.js +0 -34
  1524. package/dist/next-node/http/authenticate.js.map +0 -1
  1525. package/dist/next-node/http/cookies.d.ts +0 -24
  1526. package/dist/next-node/http/cookies.d.ts.map +0 -1
  1527. package/dist/next-node/http/cookies.js +0 -62
  1528. package/dist/next-node/http/cookies.js.map +0 -1
  1529. package/dist/next-node/http/file.d.ts.map +0 -1
  1530. package/dist/next-node/http/file.js.map +0 -1
  1531. package/dist/next-node/http/headers.d.ts.map +0 -1
  1532. package/dist/next-node/http/headers.js +0 -129
  1533. package/dist/next-node/http/headers.js.map +0 -1
  1534. package/dist/next-node/http/http.d.ts +0 -100
  1535. package/dist/next-node/http/http.d.ts.map +0 -1
  1536. package/dist/next-node/http/http.js +0 -462
  1537. package/dist/next-node/http/http.js.map +0 -1
  1538. package/dist/next-node/http/incoming.d.ts.map +0 -1
  1539. package/dist/next-node/http/incoming.js.map +0 -1
  1540. package/dist/next-node/http/index.d.ts +0 -11
  1541. package/dist/next-node/http/index.d.ts.map +0 -1
  1542. package/dist/next-node/http/index.js +0 -12
  1543. package/dist/next-node/http/index.js.map +0 -1
  1544. package/dist/next-node/http/node.d.ts.map +0 -1
  1545. package/dist/next-node/http/node.js.map +0 -1
  1546. package/dist/next-node/http/request.d.ts +0 -54
  1547. package/dist/next-node/http/request.d.ts.map +0 -1
  1548. package/dist/next-node/http/request.js +0 -116
  1549. package/dist/next-node/http/request.js.map +0 -1
  1550. package/dist/next-node/http/response.d.ts +0 -63
  1551. package/dist/next-node/http/response.d.ts.map +0 -1
  1552. package/dist/next-node/http/response.js.map +0 -1
  1553. package/dist/next-node/http/router.d.ts +0 -114
  1554. package/dist/next-node/http/router.d.ts.map +0 -1
  1555. package/dist/next-node/http/router.js +0 -261
  1556. package/dist/next-node/http/router.js.map +0 -1
  1557. package/dist/next-node/http/upgrades.d.ts +0 -58
  1558. package/dist/next-node/http/upgrades.d.ts.map +0 -1
  1559. package/dist/next-node/http/upgrades.js +0 -184
  1560. package/dist/next-node/http/upgrades.js.map +0 -1
  1561. package/dist/next-node/plugins/build.d.ts +0 -57
  1562. package/dist/next-node/plugins/build.d.ts.map +0 -1
  1563. package/dist/next-node/plugins/build.js +0 -334
  1564. package/dist/next-node/plugins/build.js.map +0 -1
  1565. package/dist/next-node/plugins/discover.d.ts +0 -36
  1566. package/dist/next-node/plugins/discover.d.ts.map +0 -1
  1567. package/dist/next-node/plugins/discover.js +0 -91
  1568. package/dist/next-node/plugins/discover.js.map +0 -1
  1569. package/dist/next-node/plugins/evaluate.d.ts +0 -33
  1570. package/dist/next-node/plugins/evaluate.d.ts.map +0 -1
  1571. package/dist/next-node/plugins/evaluate.js +0 -98
  1572. package/dist/next-node/plugins/evaluate.js.map +0 -1
  1573. package/dist/next-node/plugins/index.d.ts +0 -9
  1574. package/dist/next-node/plugins/index.d.ts.map +0 -1
  1575. package/dist/next-node/plugins/index.js +0 -11
  1576. package/dist/next-node/plugins/index.js.map +0 -1
  1577. package/dist/next-node/plugins/install.d.ts +0 -13
  1578. package/dist/next-node/plugins/install.d.ts.map +0 -1
  1579. package/dist/next-node/plugins/install.js +0 -37
  1580. package/dist/next-node/plugins/install.js.map +0 -1
  1581. package/dist/next-node/plugins/plugins.d.ts +0 -135
  1582. package/dist/next-node/plugins/plugins.d.ts.map +0 -1
  1583. package/dist/next-node/plugins/plugins.js +0 -206
  1584. package/dist/next-node/plugins/plugins.js.map +0 -1
  1585. package/dist/next-node/plugins/runtime.d.ts +0 -41
  1586. package/dist/next-node/plugins/runtime.d.ts.map +0 -1
  1587. package/dist/next-node/plugins/runtime.js +0 -136
  1588. package/dist/next-node/plugins/runtime.js.map +0 -1
  1589. package/dist/next-node/plugins/stack.d.ts.map +0 -1
  1590. package/dist/next-node/plugins/stack.js.map +0 -1
  1591. package/dist/next-node/plugins/watcher.d.ts +0 -58
  1592. package/dist/next-node/plugins/watcher.d.ts.map +0 -1
  1593. package/dist/next-node/plugins/watcher.js +0 -281
  1594. package/dist/next-node/plugins/watcher.js.map +0 -1
  1595. package/dist/next-node/workers/control.d.ts +0 -83
  1596. package/dist/next-node/workers/control.d.ts.map +0 -1
  1597. package/dist/next-node/workers/control.js +0 -77
  1598. package/dist/next-node/workers/control.js.map +0 -1
  1599. package/dist/next-node/workers/index.d.ts +0 -5
  1600. package/dist/next-node/workers/index.d.ts.map +0 -1
  1601. package/dist/next-node/workers/index.js +0 -7
  1602. package/dist/next-node/workers/index.js.map +0 -1
  1603. package/dist/next-node/workers/lock.d.ts +0 -21
  1604. package/dist/next-node/workers/lock.d.ts.map +0 -1
  1605. package/dist/next-node/workers/lock.js +0 -137
  1606. package/dist/next-node/workers/lock.js.map +0 -1
  1607. package/dist/next-node/workers/main.d.ts +0 -46
  1608. package/dist/next-node/workers/main.d.ts.map +0 -1
  1609. package/dist/next-node/workers/main.js +0 -230
  1610. package/dist/next-node/workers/main.js.map +0 -1
  1611. package/dist/next-node/workers/process.d.ts +0 -42
  1612. package/dist/next-node/workers/process.d.ts.map +0 -1
  1613. package/dist/next-node/workers/process.js +0 -125
  1614. package/dist/next-node/workers/process.js.map +0 -1
  1615. package/dist/next-node/workers/workers.d.ts +0 -80
  1616. package/dist/next-node/workers/workers.d.ts.map +0 -1
  1617. package/dist/next-node/workers/workers.js +0 -572
  1618. package/dist/next-node/workers/workers.js.map +0 -1
  1619. package/dist/node.d.ts +0 -4
  1620. package/dist/node.d.ts.map +0 -1
  1621. package/dist/node.js +0 -4
  1622. package/dist/node.js.map +0 -1
  1623. package/dist/object.d.ts +0 -438
  1624. package/dist/object.d.ts.map +0 -1
  1625. package/dist/object.js +0 -1570
  1626. package/dist/object.js.map +0 -1
  1627. package/dist/publish.d.ts +0 -5
  1628. package/dist/publish.d.ts.map +0 -1
  1629. package/dist/publish.js +0 -40
  1630. package/dist/publish.js.map +0 -1
  1631. package/dist/registry.d.ts +0 -25
  1632. package/dist/registry.d.ts.map +0 -1
  1633. package/dist/registry.js +0 -6
  1634. package/dist/registry.js.map +0 -1
  1635. package/dist/reload.d.ts +0 -126
  1636. package/dist/reload.d.ts.map +0 -1
  1637. package/dist/reload.js +0 -653
  1638. package/dist/reload.js.map +0 -1
  1639. package/dist/remote.d.ts +0 -165
  1640. package/dist/remote.d.ts.map +0 -1
  1641. package/dist/remote.js +0 -612
  1642. package/dist/remote.js.map +0 -1
  1643. package/dist/schema.d.ts +0 -25
  1644. package/dist/schema.d.ts.map +0 -1
  1645. package/dist/schema.js +0 -403
  1646. package/dist/schema.js.map +0 -1
  1647. package/dist/state.d.ts +0 -92
  1648. package/dist/state.d.ts.map +0 -1
  1649. package/dist/state.js +0 -287
  1650. package/dist/state.js.map +0 -1
  1651. package/dist/types.d.ts +0 -88
  1652. package/dist/types.d.ts.map +0 -1
  1653. package/dist/types.js +0 -2
  1654. package/dist/types.js.map +0 -1
  1655. package/dist/websocket.d.ts +0 -15
  1656. package/dist/websocket.d.ts.map +0 -1
  1657. package/dist/websocket.js +0 -16
  1658. package/dist/websocket.js.map +0 -1
  1659. package/dist/wire.d.ts +0 -197
  1660. package/dist/wire.d.ts.map +0 -1
  1661. package/dist/wire.js +0 -166
  1662. package/dist/wire.js.map +0 -1
  1663. package/docs/guide.md +0 -814
  1664. package/docs/next/benchmarks.md +0 -959
  1665. package/docs/next/decisions.md +0 -2957
  1666. package/docs/next/dependencies/book.md +0 -1671
  1667. package/docs/next/dependencies/index.html +0 -2641
  1668. package/docs/next/design.md +0 -2554
  1669. package/docs/next/durable-observers/book.md +0 -432
  1670. package/docs/next/durable-observers/index.html +0 -517
  1671. package/docs/next/guide-plugins-hosts/book.md +0 -607
  1672. package/docs/next/guide-plugins-hosts/index.html +0 -652
  1673. package/docs/next/http-workers/book.md +0 -378
  1674. package/docs/next/http-workers/index.html +0 -515
  1675. package/docs/next/layer-1.md +0 -311
  1676. package/docs/next/layer-2.md +0 -216
  1677. package/docs/next/plugin-model/book.md +0 -186
  1678. package/docs/next/plugin-model/index.html +0 -310
  1679. package/docs/next/plugin-primer/book.md +0 -273
  1680. package/docs/next/plugin-primer/index.html +0 -430
  1681. package/docs/next/slice-1.md +0 -236
  1682. package/docs/next/slice-10.md +0 -285
  1683. package/docs/next/slice-11.md +0 -93
  1684. package/docs/next/slice-2.md +0 -174
  1685. package/docs/next/slice-3a.md +0 -296
  1686. package/docs/next/slice-3b.md +0 -197
  1687. package/docs/next/slice-4a.md +0 -418
  1688. package/docs/next/slice-4b.md +0 -208
  1689. package/docs/next/slice-6a.md +0 -676
  1690. package/docs/next/slice-6b.md +0 -332
  1691. package/docs/next/slice-7b/book.md +0 -608
  1692. package/docs/next/slice-7b/index.html +0 -842
  1693. package/docs/next/slice-7b.md +0 -255
  1694. package/docs/next/slice-7c.md +0 -165
  1695. package/docs/next/slices.md +0 -230
  1696. package/docs/next/store/book.md +0 -665
  1697. package/docs/next/store/index.html +0 -861
  1698. package/docs/next/store/walkthrough.md +0 -193
  1699. package/docs/spec.md +0 -288
  1700. package/docs/tutorial.md +0 -932
  1701. /package/dist/{next/contracts → contracts}/accepts.js +0 -0
  1702. /package/dist/{next/contracts → contracts}/contract.js +0 -0
  1703. /package/dist/{next/contracts → contracts}/declare.d.ts +0 -0
  1704. /package/dist/{next/contracts → contracts}/declare.js +0 -0
  1705. /package/dist/{next/contracts → contracts}/evolve.d.ts +0 -0
  1706. /package/dist/{next/contracts → contracts}/evolve.js +0 -0
  1707. /package/dist/{next/contracts → contracts}/fingerprint.js +0 -0
  1708. /package/dist/{next/contracts → contracts}/history.d.ts +0 -0
  1709. /package/dist/{next/contracts → contracts}/history.js +0 -0
  1710. /package/dist/{next/contracts → contracts}/host-kind.d.ts +0 -0
  1711. /package/dist/{next/contracts → contracts}/host-kind.js +0 -0
  1712. /package/dist/{next/contracts → contracts}/index.d.ts +0 -0
  1713. /package/dist/{next/contracts → contracts}/index.js +0 -0
  1714. /package/dist/{next/contracts → contracts}/internal.d.ts +0 -0
  1715. /package/dist/{next/contracts → contracts}/internal.js +0 -0
  1716. /package/dist/{next/contracts → contracts}/names.d.ts +0 -0
  1717. /package/dist/{next/contracts → contracts}/names.js +0 -0
  1718. /package/dist/{next/contracts → contracts}/params.js +0 -0
  1719. /package/dist/{next/contracts → contracts}/schema.d.ts +0 -0
  1720. /package/dist/{next/contracts → contracts}/schema.js +0 -0
  1721. /package/dist/{next/data → data}/args.js +0 -0
  1722. /package/dist/{next/data → data}/failure.d.ts +0 -0
  1723. /package/dist/{next/data → data}/params.js +0 -0
  1724. /package/dist/{next/documents → documents}/address-source.js +0 -0
  1725. /package/dist/{next/documents → documents}/fence.d.ts +0 -0
  1726. /package/dist/{next/documents → documents}/fence.js +0 -0
  1727. /package/dist/{next/documents → documents}/handles.js +0 -0
  1728. /package/dist/{next/documents → documents}/index.d.ts +0 -0
  1729. /package/dist/{next/documents → documents}/index.js +0 -0
  1730. /package/dist/{next/documents → documents}/internal.js +0 -0
  1731. /package/dist/{next/documents → documents}/line.d.ts +0 -0
  1732. /package/dist/{next/documents → documents}/line.js +0 -0
  1733. /package/dist/{next/documents → documents}/residency.js +0 -0
  1734. /package/dist/{next/host → host}/adapted.js +0 -0
  1735. /package/dist/{next/host → host}/backoff.d.ts +0 -0
  1736. /package/dist/{next/host → host}/backoff.js +0 -0
  1737. /package/dist/{next/host → host}/deadline.d.ts +0 -0
  1738. /package/dist/{next/host → host}/deadline.js +0 -0
  1739. /package/dist/{next/host → host}/dependencies.d.ts +0 -0
  1740. /package/dist/{next/host → host}/dependencies.js +0 -0
  1741. /package/dist/{next/host → host}/destination.js +0 -0
  1742. /package/dist/{next/host → host}/facet.js +0 -0
  1743. /package/dist/{next/host → host}/follow.js +0 -0
  1744. /package/dist/{next/host → host}/index.js +0 -0
  1745. /package/dist/{next/host → host}/members.js +0 -0
  1746. /package/dist/{next/host → host}/parked.js +0 -0
  1747. /package/dist/{next/host → host}/presence.js +0 -0
  1748. /package/dist/{next/host → host}/retry-on.d.ts +0 -0
  1749. /package/dist/{next/host → host}/retry-on.js +0 -0
  1750. /package/dist/{next/host → host}/revocation.js +0 -0
  1751. /package/dist/{next/host → host}/sleep.js +0 -0
  1752. /package/dist/{next/host → host}/uuid.d.ts +0 -0
  1753. /package/dist/{next/host → host}/uuid.js +0 -0
  1754. /package/dist/{next/jobs → jobs}/definition.d.ts +0 -0
  1755. /package/dist/{next/jobs → jobs}/definition.js +0 -0
  1756. /package/dist/{next/jobs → jobs}/index.d.ts +0 -0
  1757. /package/dist/{next/jobs → jobs}/index.js +0 -0
  1758. /package/dist/{next/jobs → jobs}/internal.d.ts +0 -0
  1759. /package/dist/{next/jobs → jobs}/internal.js +0 -0
  1760. /package/dist/{next/jobs → jobs}/persisted.js +0 -0
  1761. /package/dist/{next/jobs → jobs}/running.js +0 -0
  1762. /package/dist/{next/jobs → jobs}/stored.js +0 -0
  1763. /package/dist/{next/link → link}/binary.d.ts +0 -0
  1764. /package/dist/{next/link → link}/errors.d.ts +0 -0
  1765. /package/dist/{next/link → link}/errors.js +0 -0
  1766. /package/dist/{next/link → link}/index.d.ts +0 -0
  1767. /package/dist/{next/link → link}/index.js +0 -0
  1768. /package/dist/{next/link → link}/internal.d.ts +0 -0
  1769. /package/dist/{next/link → link}/internal.js +0 -0
  1770. /package/dist/{next/link → link}/ipc.d.ts +0 -0
  1771. /package/dist/{next/link → link}/ipc.js +0 -0
  1772. /package/dist/{next/link → link}/link.d.ts +0 -0
  1773. /package/dist/{next/link → link}/link.js +0 -0
  1774. /package/dist/{next/link → link}/text.d.ts +0 -0
  1775. /package/dist/{next/link → link}/values.d.ts +0 -0
  1776. /package/dist/{next/link → link}/websocket.d.ts +0 -0
  1777. /package/dist/{next/link → link}/websocket.js +0 -0
  1778. /package/dist/{next-node → node}/http/admission.d.ts +0 -0
  1779. /package/dist/{next-node → node}/http/admission.js +0 -0
  1780. /package/dist/{next-node → node}/http/file.d.ts +0 -0
  1781. /package/dist/{next-node → node}/http/file.js +0 -0
  1782. /package/dist/{next-node → node}/http/headers.d.ts +0 -0
  1783. /package/dist/{next-node → node}/http/incoming.d.ts +0 -0
  1784. /package/dist/{next-node → node}/http/incoming.js +0 -0
  1785. /package/dist/{next-node → node}/http/node.d.ts +0 -0
  1786. /package/dist/{next-node → node}/http/node.js +0 -0
  1787. /package/dist/{next-node → node}/http/response.js +0 -0
  1788. /package/dist/{next-node → node}/plugins/stack.d.ts +0 -0
  1789. /package/dist/{next-node → node}/plugins/stack.js +0 -0
  1790. /package/dist/{next/registries → registries}/contribution.d.ts +0 -0
  1791. /package/dist/{next/registries → registries}/contribution.js +0 -0
  1792. /package/dist/{next/registries → registries}/entries.d.ts +0 -0
  1793. /package/dist/{next/registries → registries}/entries.js +0 -0
  1794. /package/dist/{next/registries → registries}/index.d.ts +0 -0
  1795. /package/dist/{next/registries → registries}/index.js +0 -0
  1796. /package/dist/{next/registries → registries}/internal.d.ts +0 -0
  1797. /package/dist/{next/registries → registries}/internal.js +0 -0
  1798. /package/dist/{next/registries → registries}/registry.js +0 -0
  1799. /package/dist/{next/registries → registries}/value.d.ts +0 -0
  1800. /package/dist/{next/remote → remote}/calls.d.ts +0 -0
  1801. /package/dist/{next/remote → remote}/calls.js +0 -0
  1802. /package/dist/{next/remote → remote}/internal.d.ts +0 -0
  1803. /package/dist/{next/remote → remote}/internal.js +0 -0
  1804. /package/dist/{next/remote → remote}/path.d.ts +0 -0
  1805. /package/dist/{next/remote → remote}/path.js +0 -0
  1806. /package/dist/{next/state → state}/index.js +0 -0
  1807. /package/dist/{next/state → state}/internal.d.ts +0 -0
  1808. /package/dist/{next/state → state}/internal.js +0 -0
  1809. /package/dist/{next/state → state}/writable.js +0 -0
  1810. /package/dist/{next/store → store}/adapter.js +0 -0
  1811. /package/dist/{next/store → store}/allocator.d.ts +0 -0
  1812. /package/dist/{next/store → store}/allocator.js +0 -0
  1813. /package/dist/{next/store → store}/applier.d.ts +0 -0
  1814. /package/dist/{next/store → store}/applier.js +0 -0
  1815. /package/dist/{next/store → store}/apply-batch.js +0 -0
  1816. /package/dist/{next/store → store}/backend.js +0 -0
  1817. /package/dist/{next/store → store}/catalog.js +0 -0
  1818. /package/dist/{next/store → store}/claims.d.ts +0 -0
  1819. /package/dist/{next/store → store}/claims.js +0 -0
  1820. /package/dist/{next/store → store}/columns.d.ts +0 -0
  1821. /package/dist/{next/store → store}/columns.js +0 -0
  1822. /package/dist/{next/store → store}/evaluate.js +0 -0
  1823. /package/dist/{next/store → store}/expression.js +0 -0
  1824. /package/dist/{next/store → store}/index.d.ts +0 -0
  1825. /package/dist/{next/store → store}/index.js +0 -0
  1826. /package/dist/{next/store → store}/jsonl.d.ts +0 -0
  1827. /package/dist/{next/store → store}/jsonl.js +0 -0
  1828. /package/dist/{next/store → store}/outbox.js +0 -0
  1829. /package/dist/{next/store → store}/query.js +0 -0
  1830. /package/dist/{next/store → store}/refusal.d.ts +0 -0
  1831. /package/dist/{next/store → store}/refusal.js +0 -0
  1832. /package/dist/{next/store → store}/rows.js +0 -0
  1833. /package/dist/{next/store → store}/sql.js +0 -0
  1834. /package/dist/{next/store → store}/table-changes.js +0 -0
  1835. /package/dist/{next/store → store}/table-evolve.d.ts +0 -0
  1836. /package/dist/{next/store → store}/table-evolve.js +0 -0
  1837. /package/dist/{next/store → store}/table-history.d.ts +0 -0
  1838. /package/dist/{next/store → store}/table-history.js +0 -0
  1839. /package/dist/{next/store → store}/table-writes.d.ts +0 -0
  1840. /package/dist/{next/store → store}/table.js +0 -0
  1841. /package/dist/{next/store → store}/text.d.ts +0 -0
  1842. /package/dist/{next/store → store}/text.js +0 -0
  1843. /package/dist/{next/store → store}/writes.d.ts +0 -0
  1844. /package/dist/{next/store → store}/writes.js +0 -0
  1845. /package/docs/{next/dependencies → dependencies}/model.md +0 -0
  1846. /package/docs/{next/flow-control → flow-control}/book.md +0 -0
  1847. /package/docs/{next/flow-control → flow-control}/fold/index.html +0 -0
  1848. /package/docs/{next/flow-control → flow-control}/index.html +0 -0
  1849. /package/docs/{next/flow-control → flow-control}/window/index.html +0 -0
  1850. /package/docs/{next/slice-4.md → slice-4.md} +0 -0
  1851. /package/docs/{next/slice-5.md → slice-5.md} +0 -0
  1852. /package/docs/{next/slice-7a.md → slice-7a.md} +0 -0
  1853. /package/docs/{next/slice-8.md → slice-8.md} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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","sourcesContent":["import { contractFromDescription, LOCAL_VARIANT, resolveHost } from \"./contract.ts\";\nimport { type Encoder, encoder } from \"./delta/index.ts\";\nimport { ChordError, invalid } from \"./errors.ts\";\nimport type { HostImpl } from \"./host.ts\";\nimport { type Link, Packed, unpack } from \"./link.ts\";\nimport { type CtxImpl, RefImpl, variantOf } from \"./object.ts\";\nimport type { RemoteBinding, RemoteChannel } from \"./remote.ts\";\nimport { assertValid } from \"./schema.ts\";\nimport type { Ctx, Readable, Shape, StateEvent } from \"./types.ts\";\nimport { type Frame, fromWireError, isFrame, PROTOCOL_VERSION, type RootRef, toWireError } from \"./wire.ts\";\n\nexport interface LinkOptions {\n\t/** Milliseconds between pings (default 15000). */\n\treadonly pingInterval?: number;\n\t/** Close the link when nothing arrived for this long (default 45000). Everything held through it is released. */\n\treadonly pingTimeout?: number;\n\t/**\n\t * Unacknowledged frame bytes (JSON text length) beyond which state frames wait for the peer (default 256 KiB). Only\n\t * applies when both ends acknowledge frames and the link reports sizes; `Infinity` never holds state back.\n\t */\n\treadonly window?: number;\n\t/**\n\t * Bytes of state ops that may wait for the peer on this link (default 4 windows). Beyond, the oldest waiting streams\n\t * are replaced by their current value (a reset), so memory stays bounded however long the peer stalls.\n\t */\n\treadonly pendingCap?: number;\n\t/**\n\t * The peer speaks another link protocol version (`peer`: undefined if it did not say): the link closes, and should\n\t * not be reconnected with the same code. A browser reloads its page, for instance.\n\t */\n\treadonly onProtocolMismatch?: (versions: { readonly local: number; readonly peer: number | undefined }) => void;\n}\n\nconst DEFAULT_WINDOW = 256 * 1024;\n/** The default cap of waiting state ops per link, in windows. */\nconst PENDING_WINDOWS = 4;\n\ntype StateFrame = Extract<Frame, { t: \"state\" }>;\n\n/**\n * How a waiting stream recovers when its ops must be dropped: the provider resends the current value as a reset at\n * flush; a relay (which has no value) asks downstream for one.\n */\ntype Overflow = { readonly resend: () => void } | { readonly resync: () => void };\n\n/**\n * What waits on a link. A unit slot is lazy: the shape and snapshots are built from the current values when it is sent.\n * A state slot keeps a snapshot, reset or error (`base`) and encoded ops to apply after it, in order (as they arrived;\n * the receiving decoder validates them), or, once `lazy`, only the promise of a reset built at flush.\n */\ntype Slot =\n\t| { readonly kind: \"unit\"; readonly hold: number; readonly flush: () => void }\n\t| {\n\t\t\treadonly kind: \"state\";\n\t\t\treadonly hold: number;\n\t\t\treadonly m: string;\n\t\t\tbase: StateFrame | undefined;\n\t\t\tops: (readonly unknown[])[];\n\t\t\tsize: number;\n\t\t\tlazy: boolean;\n\t\t\treadonly overflow: Overflow;\n\t };\n\nexport interface AcceptOptions<P = unknown> extends LinkOptions {\n\t/** The principal of whatever connects, from the app's authenticator. Every request on the link acts as it. */\n\treadonly principal: P;\n\t/**\n\t * What the peer is, decided here and never by its `hello`: `client` (default; a browser: no roots, no code versions,\n\t * not a reload participant, not addressable) or `host` (a child host; needs `name`).\n\t */\n\treadonly kind?: \"host\" | \"client\";\n\t/** A child host's name: its hello must match, and it is reachable `at` this name. */\n\treadonly name?: string;\n\t/** On `invalidatePrincipal`: a new principal keeps the link, `undefined` closes it (default: close). */\n\trestamp?(principal: P): P | undefined;\n\t/**\n\t * Calls the peer may have in progress on this link (default: no limit). Further ones never run: they are answered\n\t * at once with `unavailable` (reason `too_many_calls`), and the link stays open.\n\t */\n\treadonly maxCalls?: number;\n}\n\nexport interface Peer {\n\treadonly kind: \"host\" | \"client\";\n\t/** Configured (downstream hosts) or announced by the trusted parent (upstream). */\n\treadonly name: string | undefined;\n}\n\n/** A state member's stream to the consumer: its subscription and delta encoder. */\ninterface Feed {\n\tunsubscribe: () => void;\n\tencoder: Encoder;\n\t/** Events that arrived while a unit or reset was being built (replayed after it is sent). */\n\tbuffer: StateEvent<unknown>[] | undefined;\n}\n\n/** A hold the peer made on this host and serves locally. */\ninterface ServedLocal {\n\treadonly kind: \"local\";\n\treadonly id: number;\n\treadonly ref: RefImpl;\n\treadonly principal: unknown;\n\t/** The client connection it comes from (see `Frame` hold `origin`); undefined for a host's own holds. */\n\treadonly origin: string | undefined;\n\t/** The consumer wants state (hold without `state: false`, or `sub`). */\n\twantsState: boolean;\n\t/** The consumer had values before (re-hold): its first unit waits for the window like any other. */\n\treadonly again: boolean;\n\t/** A unit was sent. */\n\tunitSent: boolean;\n\t/** The members whose snapshot the consumer has, with their streams. */\n\treadonly feeds: Map<string, Feed>;\n}\n\n/** A hold the peer made on this host: served locally or relayed to another link. */\ntype Served = ServedLocal | { readonly kind: \"relay\"; readonly relay: RelayRef };\n\ntype Pending = { readonly resolve: (value: unknown) => void; readonly reject: (error: unknown) => void };\n\nconst unavailable = (message: string): ChordError => new ChordError(\"unavailable\", message);\n\n// ─── relay ───────────────────────────────────────────────────────────────────\n\n/**\n * A hold relayed from an origin link to a downstream link. It owns everything done through it: state and calls queued\n * while the route resolves, and the downstream twins once forwarded. `close` undoes all of it exactly once (cancels\n * calls downstream, drops what waits for the origin, releases the downstream hold, rejects waiters).\n */\nexport class RelayRef {\n\treadonly origin: Connection;\n\treadonly frame: Extract<Frame, { t: \"hold\" }>;\n\treadonly principal: unknown;\n\t/** The client connection the hold comes from (forwarded downstream); undefined for a host's own holds. */\n\treadonly originTag: string | undefined;\n\t/** The origin's authorization generation when the hold arrived; a revocation bumps it. */\n\treadonly generation: number;\n\tdown: Connection | undefined;\n\tdownId = 0;\n\tclosed = false;\n\t/** The origin wants state (forwarded as `state: false`, `sub`, `unsub`). */\n\tstateWanted: boolean;\n\t/** The members of the first unit, still to forward past the origin's window. */\n\turgent: Set<string> | undefined;\n\t#shaped = false;\n\t/** Members whose ops this relay dropped: downstream ops are ignored until their reset arrives. */\n\treadonly awaiting = new Set<string>();\n\treadonly calls = new Map<number, RelayCall>();\n\treadonly #waiters = new Set<Pending>();\n\n\tconstructor(\n\t\torigin: Connection,\n\t\tframe: Extract<Frame, { t: \"hold\" }>,\n\t\tprincipal: unknown,\n\t\toriginTag: string | undefined,\n\t) {\n\t\tthis.origin = origin;\n\t\tthis.frame = frame;\n\t\tthis.principal = principal;\n\t\tthis.originTag = originTag;\n\t\tthis.stateWanted = frame.state !== false;\n\t\tthis.generation = origin.generation;\n\t}\n\n\tget originId(): number {\n\t\treturn this.frame.id;\n\t}\n\n\tget client(): boolean {\n\t\treturn this.originTag !== undefined;\n\t}\n\n\t/** Still authorized as it was when it arrived. */\n\tget current(): boolean {\n\t\treturn !this.closed && this.origin.open && this.origin.generation === this.generation;\n\t}\n\n\t/** The downstream connection once the route resolved; rejects if the relay closes first. */\n\tready(): Promise<Connection> {\n\t\tif (this.closed) return Promise.reject(new ChordError(\"gone\", \"relayed hold closed\"));\n\t\tif (this.down !== undefined) return Promise.resolve(this.down);\n\t\treturn new Promise<Connection>((resolve, reject) => {\n\t\t\tthis.#waiters.add({ resolve: resolve as (value: unknown) => void, reject });\n\t\t});\n\t}\n\n\t/** Forwards the hold to `down`. */\n\topen(down: Connection): void {\n\t\tif (this.closed) return;\n\t\tthis.down = down;\n\t\tthis.downId = down.nextId();\n\t\tdown.relayedRefs.set(this.downId, this);\n\t\tconst { at, token, input } = this.frame;\n\t\tdown.send({\n\t\t\tt: \"hold\",\n\t\t\tid: this.downId,\n\t\t\tat,\n\t\t\ttoken,\n\t\t\tinput,\n\t\t\tprincipal: this.principal,\n\t\t\t...(this.originTag === undefined ? {} : { origin: this.originTag }),\n\t\t\t...(this.stateWanted ? {} : { state: false as const }),\n\t\t\t...(this.frame.again === true ? { again: true as const } : {}),\n\t\t});\n\t\tfor (const waiter of this.#waiters) waiter.resolve(down);\n\t\tthis.#waiters.clear();\n\t}\n\n\t/** The origin starts or stops the hold's state. */\n\twantState(wanted: boolean): void {\n\t\tif (this.closed || wanted === this.stateWanted) return;\n\t\tthis.stateWanted = wanted;\n\t\tif (!wanted) {\n\t\t\tthis.origin.dropHoldState(this.originId);\n\t\t\tthis.awaiting.clear();\n\t\t}\n\t\tthis.down?.send({ t: wanted ? \"sub\" : \"unsub\", hold: this.downId });\n\t}\n\n\t/**\n\t * The origin could not keep up and dropped what waited for member `m` (or asked for it again): ask downstream for a\n\t * reset, and ignore its ops until the reset arrives.\n\t */\n\tresync(m: string): void {\n\t\tif (this.closed) return;\n\t\tthis.awaiting.add(m);\n\t\tthis.down?.send({ t: \"resync\", hold: this.downId, m });\n\t}\n\n\t/** A shape from downstream: forwarded at once; the members of the first unit then skip the origin's window. */\n\tshape(frame: Extract<Frame, { t: \"shape\" }>): void {\n\t\tif (this.closed) return;\n\t\tif (!this.#shaped) {\n\t\t\tthis.#shaped = true;\n\t\t\tif (this.frame.again !== true) this.urgent = new Set(frame.state);\n\t\t}\n\t\tthis.origin.send({ ...frame, id: this.originId });\n\t}\n\n\t/** A state frame from downstream. */\n\tstate(frame: StateFrame): void {\n\t\tif (this.closed) return;\n\t\tconst m = frame.m;\n\t\tif (this.awaiting.has(m)) {\n\t\t\tif (frame.as === \"ops\") return;\n\t\t\tthis.awaiting.delete(m);\n\t\t}\n\t\tconst out: StateFrame = { ...frame, hold: this.originId };\n\t\tif (this.urgent?.delete(m) === true) {\n\t\t\tthis.origin.send(out);\n\t\t\treturn;\n\t\t}\n\t\tthis.origin.sendState(out, { resync: () => this.resync(m) });\n\t}\n\n\t/**\n\t * Closes the relay. `releaseDown`: the downstream hold is still there (origin released, disconnected, or was\n\t * revoked): cancel its calls and release it. `notify`: tell the origin the hold is gone.\n\t */\n\tclose(error: unknown, options: { readonly releaseDown: boolean; readonly notify: boolean }): void {\n\t\tif (this.closed) return;\n\t\tthis.closed = true;\n\t\tfor (const call of [...this.calls.values()]) call.cancel(error, options.releaseDown);\n\t\tthis.origin.dropHoldState(this.originId);\n\t\tif (this.origin.served.get(this.originId)?.kind === \"relay\") this.origin.served.delete(this.originId);\n\t\tif (this.down !== undefined) {\n\t\t\tthis.down.relayedRefs.delete(this.downId);\n\t\t\tif (options.releaseDown) this.down.send({ t: \"release\", id: this.downId });\n\t\t}\n\t\tfor (const waiter of this.#waiters) waiter.reject(error);\n\t\tthis.#waiters.clear();\n\t\tif (options.notify) this.origin.send({ t: \"gone\", id: this.originId, error: toWireError(error) });\n\t}\n}\n\n/** One relayed call: settles once, by result, cancellation or the relay closing; removes both mappings. */\nexport class RelayCall {\n\treadonly relay: RelayRef;\n\treadonly originId: number;\n\treadonly downId: number;\n\treadonly #pending: Pending;\n\t#settled = false;\n\n\tconstructor(relay: RelayRef, originId: number, downId: number, pending: Pending) {\n\t\tthis.relay = relay;\n\t\tthis.originId = originId;\n\t\tthis.downId = downId;\n\t\tthis.#pending = pending;\n\t\trelay.calls.set(originId, this);\n\t\trelay.down?.relayedCalls.set(downId, this);\n\t}\n\n\tfinish(error: unknown, value?: unknown): void {\n\t\tif (this.#settled) return;\n\t\tthis.#settled = true;\n\t\tthis.relay.calls.delete(this.originId);\n\t\tthis.relay.down?.relayedCalls.delete(this.downId);\n\t\tif (error === undefined) this.#pending.resolve(value);\n\t\telse this.#pending.reject(error);\n\t}\n\n\t/** Cancels downstream (when the downstream hold still exists) and settles with `error`. */\n\tcancel(error: unknown, forward: boolean): void {\n\t\tif (this.#settled) return;\n\t\tif (forward) this.relay.down?.send({ t: \"cancel\", id: this.downId });\n\t\tthis.finish(error);\n\t}\n}\n\n// ─── connection ──────────────────────────────────────────────────────────────\n\n/**\n * One end of a link on a host: consumer of remote references, provider for the peer's holds, and relay.\n *\n * State\n * -----\n *\n * A hold implies the state of its variant (unless it says `state: false`). The provider answers with a unit: the shape,\n * then a snapshot of each state member the consumer does not have yet (`shape.state` lists them), then the members'\n * ops and resets. A reload or a variant change sends another unit with the members that are new; members that left the\n * variant stop. The consumer applies a shape once its snapshots are here (`RemoteBinding`).\n *\n * Flow control\n * ------------\n *\n * Problem: state is pushed as fast as it changes, but a peer may read slowly (a phone behind a relay), and a relay may\n * hide that: Cloudflare forwards to browsers without backpressure. Everything sent then queues in front of the next\n * call result. Example: a browser opens three long transcripts (500 KiB of snapshots each) over a 5 Mbit/s path; a\n * result sent next waits 2.4 s, and the snapshot of a transcript the user already left is still sent in full.\n *\n * Solution: the peer acknowledges what it processed (`ack`, a cumulative frame count), and the sender counts the sizes\n * of the frames not yet acknowledged. While they exceed the window, state waits here in slots, flushed in creation\n * order as acknowledgements come:\n * - a member's stream has one slot: ops are appended (encoded batches of one stream may be concatenated, see\n * `encoder`), a snapshot, reset or error replaces it;\n * - a hold's unit has one slot, built lazily from the current values when it is sent, so a newer unit merges into it;\n * while it waits, the members it introduces have no stream yet.\n *\n * The first unit of a hold that is not a re-hold (`again`) is sent at once, past the window: a `get` waits for it, and\n * must not wait behind other holds' state. Results, shapes, gone, reload control and pings are sent at once too: they\n * are bounded by the requests the peer makes. Hence the one ordering exception of a link: while state waits, a result\n * can arrive before state changes made before it. Frames of one stream stay in order.\n *\n * Waiting ops are capped per link (`pendingCap`): beyond, the oldest streams are replaced by their current value (a\n * reset built at flush), or, on a relay, by a reset asked of the provider (`resync`), so memory stays bounded however\n * long the peer stalls. The window bounds what is unacknowledged when a frame is sent, so one frame (a large snapshot)\n * may exceed it. Both hellos must announce `acks`; with an older peer nothing is acknowledged and nothing waits. Links\n * that do not report sizes (IPC) never fill the window.\n */\nexport class Connection implements RemoteChannel {\n\treadonly host: HostImpl;\n\treadonly link: Link;\n\t/** `upstream`: the link to this host's parent. `downstream`: a link this host accepted. */\n\treadonly role: \"upstream\" | \"downstream\";\n\treadonly peer: Peer;\n\t/** A client connection's opaque id: holds that come over it (directly or relayed) carry it as their `origin`. */\n\treadonly originId: string | undefined;\n\tprincipal: unknown;\n\treadonly restamp: ((principal: unknown) => unknown | undefined) | undefined;\n\t/** Bumped when the stamped principal is revoked or re-stamped: relays from before are refused. */\n\tgeneration = 0;\n\t/** The code version a downstream host peer runs (from its hello, then from commits). */\n\tpeerCodeVersion: number | undefined;\n\t/** A downstream host peer is usable once it runs this host's current code version (see `HostImpl.peerHello`). */\n\tsynced: boolean;\n\t/** Code versions this child announced while behind this host (fenced): this host never ran them. */\n\treadonly fencedCodeVersions = new Set<number>();\n\t/** Roots of fenced code versions, by the code version of this host they were admitted in. */\n\treadonly #admitted = new Map<string, number>();\n\t#parentName: string | undefined;\n\treadonly #syncWaiters = new Set<Pending>();\n\t#nextId = 1;\n\t#lastSeen = Date.now();\n\t#pinger: ReturnType<typeof setInterval> | undefined;\n\treadonly #maxCalls: number;\n\t// flow control (see the class comment)\n\treadonly #window: number;\n\treadonly #pendingCap: number;\n\t/** Whether the peer acknowledges frames; until its hello is here, frames are counted in case it does. */\n\t#peerAcks: boolean | undefined;\n\t#sent = 0;\n\t#acked = 0;\n\t/** Sizes of the frames sent after the last acknowledged one. */\n\t#unacked: number[] = [];\n\t#unackedBytes = 0;\n\treadonly #pending = new Map<string, Slot>();\n\t/** Bytes of ops waiting in `#pending`. */\n\t#pendingBytes = 0;\n\t#received = 0;\n\t#ackTimer: ReturnType<typeof setTimeout> | undefined;\n\treadonly #onProtocolMismatch: LinkOptions[\"onProtocolMismatch\"];\n\t/** The peer speaks another protocol version: nothing it sends is processed any more. */\n\t#mismatched = false;\n\t// consumer side: what this host asked of the peer\n\treadonly remotes = new Map<number, RemoteBinding>();\n\treadonly calls = new Map<number, Pending>();\n\t// provider side: what the peer asked of this host\n\treadonly served = new Map<number, Served>();\n\treadonly incoming = new Map<number, AbortController>();\n\t// downstream side of relays: ids this host used on this link\n\treadonly relayedRefs = new Map<number, RelayRef>();\n\treadonly relayedCalls = new Map<number, RelayCall>();\n\t/** Reload votes awaited from this (child) peer. */\n\treadonly votes = new Map<number, Pending>();\n\n\tconstructor(\n\t\thost: HostImpl,\n\t\tlink: Link,\n\t\tconfig: {\n\t\t\treadonly role: \"upstream\" | \"downstream\";\n\t\t\treadonly principal: unknown;\n\t\t\treadonly peer: Peer;\n\t\t\treadonly originId?: string;\n\t\t\treadonly restamp?: (principal: unknown) => unknown | undefined;\n\t\t\treadonly maxCalls?: number;\n\t\t} & LinkOptions,\n\t) {\n\t\tthis.host = host;\n\t\tthis.link = link;\n\t\tthis.role = config.role;\n\t\tthis.peer = config.peer;\n\t\tthis.originId = config.originId;\n\t\tthis.principal = config.principal;\n\t\tthis.restamp = config.restamp;\n\t\tthis.synced = !(this.role === \"downstream\" && this.peer.kind === \"host\");\n\t\tthis.#window = config.window ?? DEFAULT_WINDOW;\n\t\tthis.#pendingCap = config.pendingCap ?? this.#window * PENDING_WINDOWS;\n\t\tthis.#maxCalls = config.maxCalls ?? Number.POSITIVE_INFINITY;\n\t\tthis.#onProtocolMismatch = config.onProtocolMismatch;\n\t\tlink.onClose((reason) => this.#closed(reason));\n\t\tlink.receive((frame) => this.#receive(frame));\n\t\tthis.send({\n\t\t\tt: \"hello\",\n\t\t\tprotocol: PROTOCOL_VERSION,\n\t\t\tname: host.name,\n\t\t\tkind: host.kind,\n\t\t\tcodeVersion: host.current.id,\n\t\t\tacks: true,\n\t\t});\n\t\tconst interval = config.pingInterval ?? 15_000;\n\t\tconst timeout = config.pingTimeout ?? 45_000;\n\t\t// A link that was already closed closed this connection above; it needs no keepalive.\n\t\tif (link.closed) return;\n\t\tlet n = 0;\n\t\tthis.#pinger = setInterval(() => {\n\t\t\tif (Date.now() - this.#lastSeen > timeout) link.close(\"ping timeout\");\n\t\t\telse this.send({ t: \"ping\", n: ++n });\n\t\t}, interval);\n\t\tthis.#pinger.unref?.();\n\t}\n\n\tget open(): boolean {\n\t\treturn !this.link.closed;\n\t}\n\n\t/** The peer's name: configured for downstream hosts, announced by the parent upstream. */\n\tget name(): string | undefined {\n\t\treturn this.role === \"upstream\" ? this.#parentName : this.peer.name;\n\t}\n\n\tsend(frame: Frame): void {\n\t\tconst size = this.link.send(frame) ?? 0;\n\t\tif (this.#peerAcks === false) return;\n\t\tthis.#sent++;\n\t\tthis.#unacked.push(size);\n\t\tthis.#unackedBytes += size;\n\t}\n\n\t/** Sends a state frame, or keeps it waiting (see the class comment). */\n\tsendState(frame: StateFrame, overflow: Overflow): void {\n\t\tconst key = stateKey(frame.hold, frame.m);\n\t\tlet slot = this.#pending.get(key);\n\t\tif (slot === undefined && !this.#full) {\n\t\t\tthis.send(frame);\n\t\t\treturn;\n\t\t}\n\t\tif (slot?.kind === \"unit\") return;\n\t\tif (slot === undefined) {\n\t\t\tslot = {\n\t\t\t\tkind: \"state\",\n\t\t\t\thold: frame.hold,\n\t\t\t\tm: frame.m,\n\t\t\t\tbase: undefined,\n\t\t\t\tops: [],\n\t\t\t\tsize: 0,\n\t\t\t\tlazy: false,\n\t\t\t\toverflow,\n\t\t\t};\n\t\t\tthis.#pending.set(key, slot);\n\t\t}\n\t\tif (frame.as !== \"ops\") {\n\t\t\tthis.#pendingBytes -= slot.size;\n\t\t\tslot.base = frame;\n\t\t\tslot.ops = [];\n\t\t\tslot.size = 0;\n\t\t\tslot.lazy = false;\n\t\t\treturn;\n\t\t}\n\t\t// A reset built at flush already covers these ops.\n\t\tif (slot.lazy) return;\n\t\tconst size = JSON.stringify(frame.ops).length;\n\t\tif (this.#pendingBytes + size > this.#pendingCap) this.#makeRoom(size, slot);\n\t\tif (slot.lazy || this.#pending.get(key) !== slot) return;\n\t\tfor (const op of frame.ops ?? []) slot.ops.push(op);\n\t\tslot.size += size;\n\t\tthis.#pendingBytes += size;\n\t}\n\n\t/** Replaces the oldest waiting streams by resets until `size` more bytes fit; `current` last, if needed. */\n\t#makeRoom(size: number, current: Extract<Slot, { kind: \"state\" }>): void {\n\t\tfor (const slot of [...this.#pending.values()]) {\n\t\t\tif (this.#pendingBytes + size <= this.#pendingCap) return;\n\t\t\tif (slot.kind === \"state\" && slot !== current && slot.size > 0) this.#drop(slot);\n\t\t}\n\t\tif (this.#pendingBytes + size > this.#pendingCap) this.#drop(current);\n\t}\n\n\t/** Drops what waits for a stream: a lazy reset replaces it (provider), or the relay asks downstream for one. */\n\t#drop(slot: Extract<Slot, { kind: \"state\" }>): void {\n\t\tthis.#pendingBytes -= slot.size;\n\t\tslot.base = undefined;\n\t\tslot.ops = [];\n\t\tslot.size = 0;\n\t\tif (\"resend\" in slot.overflow) {\n\t\t\tslot.lazy = true;\n\t\t\treturn;\n\t\t}\n\t\tthis.#pending.delete(stateKey(slot.hold, slot.m));\n\t\tslot.overflow.resync();\n\t}\n\n\t/** Sends member `m` of a served hold again as a reset, through the window (`resync`). */\n\t#resetLater(hold: number, m: string, resend: () => void): void {\n\t\tconst key = stateKey(hold, m);\n\t\tlet slot = this.#pending.get(key);\n\t\tif (slot?.kind === \"unit\") return;\n\t\tif (slot === undefined) {\n\t\t\tslot = { kind: \"state\", hold, m, base: undefined, ops: [], size: 0, lazy: true, overflow: { resend } };\n\t\t\tthis.#pending.set(key, slot);\n\t\t} else {\n\t\t\tthis.#pendingBytes -= slot.size;\n\t\t\tslot.base = undefined;\n\t\t\tslot.ops = [];\n\t\t\tslot.size = 0;\n\t\t\tslot.lazy = true;\n\t\t}\n\t\tthis.#flush();\n\t}\n\n\t/** Queues a hold's lazy unit (a waiting one already covers this one), and sends what the window allows. */\n\t#queueUnit(hold: number, flush: () => void): void {\n\t\tconst key = unitKey(hold);\n\t\tif (!this.#pending.has(key)) this.#pending.set(key, { kind: \"unit\", hold, flush });\n\t\tthis.#flush();\n\t}\n\n\t/** Forgets what waits for a stream that ended. */\n\tdropState(hold: number, m: string): void {\n\t\tconst slot = this.#pending.get(stateKey(hold, m));\n\t\tif (slot?.kind !== \"state\") return;\n\t\tthis.#pendingBytes -= slot.size;\n\t\tthis.#pending.delete(stateKey(hold, m));\n\t}\n\n\t/** Forgets everything that waits for a hold (released, closed, or its state stopped). */\n\tdropHoldState(hold: number): void {\n\t\tfor (const [key, slot] of this.#pending) {\n\t\t\tif (slot.hold !== hold) continue;\n\t\t\tif (slot.kind === \"state\") this.#pendingBytes -= slot.size;\n\t\t\tthis.#pending.delete(key);\n\t\t}\n\t}\n\n\t/** What waits for the peer: slots and bytes of ops (for tests and diagnostics). */\n\tget waiting(): { readonly slots: number; readonly bytes: number } {\n\t\treturn { slots: this.#pending.size, bytes: this.#pendingBytes };\n\t}\n\n\tget #full(): boolean {\n\t\treturn this.#peerAcks === true && this.#unackedBytes >= this.#window;\n\t}\n\n\t#onAck(n: number): void {\n\t\tif (this.#peerAcks !== true || n < this.#acked || n > this.#sent) {\n\t\t\tthis.#violation(`ack ${n} outside ${this.#acked}..${this.#sent}`);\n\t\t\treturn;\n\t\t}\n\t\tfor (const size of this.#unacked.splice(0, n - this.#acked)) this.#unackedBytes -= size;\n\t\tthis.#acked = n;\n\t\tthis.#flush();\n\t}\n\n\t/** Sends waiting slots in creation order while the window allows. */\n\t#flush(): void {\n\t\tfor (const [key, slot] of this.#pending) {\n\t\t\tif (this.#full) return;\n\t\t\tthis.#pending.delete(key);\n\t\t\tif (slot.kind === \"unit\") {\n\t\t\t\tslot.flush();\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tthis.#pendingBytes -= slot.size;\n\t\t\tif (slot.lazy) {\n\t\t\t\tif (\"resend\" in slot.overflow) slot.overflow.resend();\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (slot.base !== undefined) this.send(slot.base);\n\t\t\tif (slot.ops.length > 0) this.send({ t: \"state\", hold: slot.hold, m: slot.m, as: \"ops\", ops: slot.ops });\n\t\t}\n\t}\n\n\t/** Acknowledges once the frames that arrived together are processed: one ack per burst, not per frame. */\n\t#scheduleAck(): void {\n\t\tif (this.#peerAcks !== true || this.#ackTimer !== undefined || !this.open) return;\n\t\tthis.#ackTimer = setTimeout(() => {\n\t\t\tthis.#ackTimer = undefined;\n\t\t\tthis.link.send({ t: \"ack\", n: this.#received });\n\t\t}, 0);\n\t\tthis.#ackTimer.unref?.();\n\t}\n\n\tnextId(): number {\n\t\treturn this.#nextId++;\n\t}\n\n\t/** Resolves once the peer is usable (a host peer runs this host's code version); rejects if the link closes first. */\n\twhenSynced(): Promise<void> {\n\t\tif (!this.open) return Promise.reject(unavailable(`link to ${this.name ?? \"peer\"} closed`));\n\t\tif (this.synced) return Promise.resolve();\n\t\treturn new Promise<void>((resolve, reject) => this.#syncWaiters.add({ resolve: resolve as () => void, reject }));\n\t}\n\n\tmarkSynced(codeVersion: number): void {\n\t\tthis.peerCodeVersion = codeVersion;\n\t\tthis.synced = true;\n\t\tfor (const waiter of this.#syncWaiters) waiter.resolve(undefined);\n\t\tthis.#syncWaiters.clear();\n\t}\n\n\t/** Revokes the stamped principal: relays made under it close at once (also those still resolving a route). */\n\trevoke(next: unknown | undefined): void {\n\t\tthis.generation++;\n\t\tconst error = new ChordError(\"gone\", \"principal invalidated\");\n\t\tfor (const served of [...this.served.values()]) {\n\t\t\tif (served.kind === \"relay\") served.relay.close(error, { releaseDown: true, notify: true });\n\t\t}\n\t\tif (next === undefined) this.link.close(\"principal invalidated\");\n\t\telse this.principal = next;\n\t}\n\n\t/**\n\t * Stops talking to a peer of another protocol version: reports it and closes the link. The close reason tells the\n\t * peer this side's version (`protocol-version <n>`); a peer that noticed first told us the same way (`#closed`).\n\t */\n\t#protocolMismatch(peer: number | undefined, close = true): void {\n\t\tif (this.#mismatched) return;\n\t\tthis.#mismatched = true;\n\t\ttry {\n\t\t\tthis.#onProtocolMismatch?.({ local: PROTOCOL_VERSION, peer });\n\t\t} catch (error) {\n\t\t\tthis.host.report(error);\n\t\t}\n\t\tif (close) this.link.close(`protocol-version ${PROTOCOL_VERSION}`);\n\t}\n\n\t/** A protocol violation: the peer cannot be trusted with anything on this link any more. */\n\t#violation(reason: string): void {\n\t\tthis.host.report(new ChordError(\"invalid\", `link to ${this.name ?? \"peer\"}: ${reason}`, { reason: \"protocol\" }));\n\t\tthis.link.close(`protocol error: ${reason}`);\n\t}\n\n\t// ─── consumer side (RemoteChannel) ───\n\n\thold(binding: RemoteBinding, again: boolean): number {\n\t\tconst id = this.nextId();\n\t\tthis.remotes.set(id, binding);\n\t\tbinding.bound(this, id);\n\t\tconst principal = binding.principal;\n\t\tthis.send({\n\t\t\tt: \"hold\",\n\t\t\tid,\n\t\t\tat: binding.at,\n\t\t\ttoken: binding.contract.description,\n\t\t\tinput: binding.input,\n\t\t\t...(principal === undefined ? {} : { principal }),\n\t\t\t...(binding.stateOn ? {} : { state: false as const }),\n\t\t\t...(again ? { again: true as const } : {}),\n\t\t});\n\t\treturn id;\n\t}\n\n\trelease(id: number): void {\n\t\tthis.remotes.delete(id);\n\t\tthis.send({ t: \"release\", id });\n\t}\n\n\twantState(hold: number, wanted: boolean): void {\n\t\tif (this.remotes.has(hold)) this.send({ t: wanted ? \"sub\" : \"unsub\", hold });\n\t}\n\n\tcall(hold: number, member: string, args: unknown, root: RootRef | undefined, signal: AbortSignal): Promise<unknown> {\n\t\tconst id = this.nextId();\n\t\treturn new Promise<unknown>((resolve, reject) => {\n\t\t\tif (signal.aborted) {\n\t\t\t\treject(new ChordError(\"aborted\", \"call aborted\"));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst onAbort = (): void => {\n\t\t\t\tthis.calls.delete(id);\n\t\t\t\tthis.send({ t: \"cancel\", id });\n\t\t\t\treject(new ChordError(\"aborted\", \"call aborted\", { cause: signal.reason }));\n\t\t\t};\n\t\t\tsignal.addEventListener(\"abort\", onAbort, { once: true });\n\t\t\tconst done = (): void => signal.removeEventListener(\"abort\", onAbort);\n\t\t\tthis.calls.set(id, {\n\t\t\t\tresolve: (value) => {\n\t\t\t\t\tdone();\n\t\t\t\t\tresolve(value);\n\t\t\t\t},\n\t\t\t\treject: (error) => {\n\t\t\t\t\tdone();\n\t\t\t\t\treject(error);\n\t\t\t\t},\n\t\t\t});\n\t\t\t// Clients never carry roots or code versions: the server starts roots for them.\n\t\t\tconst carried = root !== undefined && this.host.kind === \"host\";\n\t\t\tif (carried) this.host.rootSent(root.rootId, this);\n\t\t\tthis.send({ t: \"call\", id, hold, member, args, ...(carried ? { root } : {}) });\n\t\t});\n\t}\n\n\t// ─── receiving ───\n\n\t#receive(frame: unknown): void {\n\t\tif (this.#mismatched) return;\n\t\tthis.#lastSeen = Date.now();\n\t\tif (!isFrame(frame)) {\n\t\t\tthis.#violation(\"malformed frame\");\n\t\t\treturn;\n\t\t}\n\t\tif (frame.t === \"ack\") {\n\t\t\tthis.#onAck(frame.n);\n\t\t\treturn;\n\t\t}\n\t\tthis.#received++;\n\t\ttry {\n\t\t\tthis.#dispatch(frame);\n\t\t} catch (error) {\n\t\t\tthis.host.report(error);\n\t\t}\n\t\tthis.#scheduleAck();\n\t}\n\n\t#dispatch(frame: Frame): void {\n\t\tswitch (frame.t) {\n\t\t\tcase \"hello\":\n\t\t\t\tthis.#onHello(frame);\n\t\t\t\treturn;\n\t\t\tcase \"ping\":\n\t\t\t\tthis.send({ t: \"pong\", n: frame.n });\n\t\t\t\treturn;\n\t\t\tcase \"pong\":\n\t\t\tcase \"bye\":\n\t\t\tcase \"ack\":\n\t\t\t\treturn;\n\t\t\tcase \"hold\":\n\t\t\t\tthis.#onHold(frame);\n\t\t\t\treturn;\n\t\t\tcase \"release\":\n\t\t\t\tthis.#dropServed(frame.id, true);\n\t\t\t\treturn;\n\t\t\tcase \"call\":\n\t\t\t\tthis.#onCall(frame);\n\t\t\t\treturn;\n\t\t\tcase \"cancel\":\n\t\t\t\tthis.incoming.get(frame.id)?.abort(new ChordError(\"aborted\", \"cancelled by caller\"));\n\t\t\t\treturn;\n\t\t\tcase \"sub\":\n\t\t\tcase \"unsub\":\n\t\t\t\tthis.#onWantState(frame.hold, frame.t === \"sub\");\n\t\t\t\treturn;\n\t\t\tcase \"resync\":\n\t\t\t\tthis.#onResync(frame.hold, frame.m);\n\t\t\t\treturn;\n\t\t\tcase \"shape\":\n\t\t\tcase \"gone\":\n\t\t\t\tthis.#onHoldReply(frame);\n\t\t\t\treturn;\n\t\t\tcase \"result\":\n\t\t\t\tthis.#onResult(frame);\n\t\t\t\treturn;\n\t\t\tcase \"state\":\n\t\t\t\tthis.#onState(frame);\n\t\t\t\treturn;\n\t\t\tcase \"root_end\":\n\t\t\t\t// Honored only from the link the root came over (see HostImpl.foreignRootEnded).\n\t\t\t\tthis.#admitted.delete(frame.rootId);\n\t\t\t\tthis.host.foreignRootEnded(frame.rootId, this);\n\t\t\t\treturn;\n\t\t\tcase \"invalidate\":\n\t\t\tcase \"prepare\":\n\t\t\tcase \"commit\":\n\t\t\tcase \"abort\":\n\t\t\tcase \"retire\":\n\t\t\t\t// Control frames only from the parent.\n\t\t\t\tif (this.role !== \"upstream\") {\n\t\t\t\t\tthis.#violation(`${frame.t} from a child`);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (frame.t === \"invalidate\") {\n\t\t\t\t\tthis.host.invalidatePrincipal(frame.pattern).catch((error: unknown) => this.host.report(error));\n\t\t\t\t} else if (frame.t === \"retire\") this.host.allowRetire(frame.codeVersion);\n\t\t\t\telse this.host.onReloadFrame(this, frame);\n\t\t\t\treturn;\n\t\t\tcase \"vote\": {\n\t\t\t\tif (this.role !== \"downstream\" || this.peer.kind !== \"host\") {\n\t\t\t\t\tthis.#violation(\"vote from a non-participant\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst vote = this.votes.get(frame.reload);\n\t\t\t\tthis.votes.delete(frame.reload);\n\t\t\t\tif (frame.error === undefined) vote?.resolve(frame.report);\n\t\t\t\telse vote?.reject(fromWireError(frame.error));\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * The peer's hello must agree with what this side decided about it. A downstream host announces its code version:\n\t * the host either finds it in step or fences and reconciles it (never renumbers).\n\t */\n\t#onHello(frame: Extract<Frame, { t: \"hello\" }>): void {\n\t\tif ((frame.protocol ?? 1) !== PROTOCOL_VERSION) {\n\t\t\tthis.#protocolMismatch(frame.protocol ?? 1);\n\t\t\treturn;\n\t\t}\n\t\tif (this.#peerAcks === undefined) {\n\t\t\tthis.#peerAcks = frame.acks === true;\n\t\t\tif (!this.#peerAcks) {\n\t\t\t\tthis.#unacked = [];\n\t\t\t\tthis.#unackedBytes = 0;\n\t\t\t}\n\t\t}\n\t\tif (this.role === \"upstream\") {\n\t\t\tif (frame.kind !== \"host\") {\n\t\t\t\tthis.#violation(\"parent is not a host\");\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.#parentName ??= frame.name;\n\t\t\treturn;\n\t\t}\n\t\tif (frame.kind !== this.peer.kind || (this.peer.name !== undefined && frame.name !== this.peer.name)) {\n\t\t\tthis.#violation(\n\t\t\t\t`hello ${frame.kind} ${frame.name} does not match the accepted ${this.peer.kind} ${this.peer.name ?? \"\"}`,\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tif (this.peer.kind === \"host\") this.host.peerHello(this, frame.codeVersion);\n\t}\n\n\t/**\n\t * Principal stamping: a downstream link acts as the principal it was accepted with, whatever the frame says. Only\n\t * the parent may forward a principal (relayed requests); its own requests act as the principal given to `connect`.\n\t */\n\t#principalOf(frame: { readonly principal?: unknown }): unknown {\n\t\tif (this.role === \"downstream\") return this.principal;\n\t\treturn frame.principal ?? this.principal;\n\t}\n\n\t/**\n\t * The client connection a hold comes from: this link's own id for a client link (whatever the frame says), the id\n\t * the parent forwarded for a relayed hold, none for a host's own holds.\n\t */\n\t#originOf(frame: { readonly origin?: string }): string | undefined {\n\t\treturn this.role === \"downstream\" ? this.originId : frame.origin;\n\t}\n\n\t#onHold(frame: Extract<Frame, { t: \"hold\" }>): void {\n\t\tif (this.served.has(frame.id)) {\n\t\t\tthis.#violation(`duplicate hold id ${frame.id}`);\n\t\t\treturn;\n\t\t}\n\t\tconst principal = this.#principalOf(frame);\n\t\tconst origin = this.#originOf(frame);\n\t\tconst client = origin !== undefined;\n\t\tif (frame.at !== this.host.name) {\n\t\t\tif (this.role === \"upstream\") {\n\t\t\t\tthis.send({ t: \"gone\", id: frame.id, error: toWireError(unavailable(`${this.host.name} does not relay`)) });\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst relay = new RelayRef(this, frame, principal, origin);\n\t\t\tthis.served.set(frame.id, { kind: \"relay\", relay });\n\t\t\tthis.host.relay(relay).catch((error: unknown) => relay.close(error, { releaseDown: true, notify: true }));\n\t\t\treturn;\n\t\t}\n\t\tlet ref: RefImpl;\n\t\ttry {\n\t\t\tconst token = contractFromDescription(frame.token);\n\t\t\tif (token.scope !== \"remote\") throw invalid(\"token\", `${token.name} is local; only remote types cross links`);\n\t\t\t// Addressed here, so the input must place it here (also by this host's contract, checked when acquiring).\n\t\t\tif (resolveHost(token.name, token.description.host!, frame.input) !== this.host.name)\n\t\t\t\tthrow invalid(\"placement\", `${token.name} with this input does not live on ${this.host.name}`);\n\t\t\tconst acquired = this.host.acquire(token, frame.input, { principal }, client ? \"client\" : \"connection\");\n\t\t\tif (!(acquired instanceof RefImpl)) throw unavailable(\"not a local reference\");\n\t\t\tref = acquired;\n\t\t} catch (error) {\n\t\t\tthis.send({ t: \"gone\", id: frame.id, error: toWireError(client ? clientError(error) : error) });\n\t\t\treturn;\n\t\t}\n\t\tconst served: ServedLocal = {\n\t\t\tkind: \"local\",\n\t\t\tid: frame.id,\n\t\t\tref,\n\t\t\tprincipal,\n\t\t\torigin,\n\t\t\twantsState: frame.state !== false,\n\t\t\tagain: frame.again === true,\n\t\t\tunitSent: false,\n\t\t\tfeeds: new Map(),\n\t\t};\n\t\tthis.served.set(frame.id, served);\n\t\tref.onShape(() => this.#unit(served));\n\t\tref.goneListeners.add((error) => {\n\t\t\tif (this.served.get(frame.id) !== served) return;\n\t\t\tthis.#dropServed(frame.id, false);\n\t\t\tthis.send({ t: \"gone\", id: frame.id, error: toWireError(error) });\n\t\t});\n\t\tif (ref.status === \"live\") this.#unit(served);\n\t}\n\n\t/** The state members of `shape` the consumer's contract knows. */\n\t#stateMembers(ref: RefImpl, shape: Shape): string[] {\n\t\treturn shape.members.filter((name) => ref.describe(shape.variant, name)?.kind === \"state\");\n\t}\n\n\t/**\n\t * The shape changed (live, reload, variant) or state was asked for: members that left lose their stream, and a unit\n\t * goes out with the shape and the members the consumer lacks. The first unit of a hold (not a re-hold) is urgent.\n\t */\n\t#unit(served: ServedLocal): void {\n\t\tif (this.served.get(served.id) !== served) return;\n\t\tconst shape = served.ref.shape;\n\t\tif (shape === undefined) return;\n\t\tconst members = new Set(served.wantsState ? this.#stateMembers(served.ref, shape) : []);\n\t\tfor (const [name, feed] of served.feeds) {\n\t\t\tif (members.has(name)) continue;\n\t\t\tfeed.unsubscribe();\n\t\t\tserved.feeds.delete(name);\n\t\t\tthis.dropState(served.id, name);\n\t\t}\n\t\tconst urgent = served.feeds.size === 0 && !(served.again && !served.unitSent);\n\t\tif (urgent) this.#sendUnit(served);\n\t\telse this.#queueUnit(served.id, () => this.#sendUnit(served));\n\t}\n\n\t/** Builds and sends a unit from the current shape and values. */\n\t#sendUnit(served: ServedLocal): void {\n\t\tthis.#pending.delete(unitKey(served.id));\n\t\tif (this.served.get(served.id) !== served) return;\n\t\tconst shape = served.ref.shape;\n\t\tif (shape === undefined) return;\n\t\tserved.unitSent = true;\n\t\tconst members = served.wantsState ? this.#stateMembers(served.ref, shape) : [];\n\t\tconst listed = members.filter((name) => !served.feeds.has(name));\n\t\tconst snaps: StateFrame[] = [];\n\t\tconst attached: (readonly [string, Feed])[] = [];\n\t\tfor (const name of listed) {\n\t\t\tconst attachment = this.#attach(served, name);\n\t\t\tif (attachment === undefined) continue;\n\t\t\tsnaps.push(attachment.frame);\n\t\t\tattached.push([name, attachment.feed]);\n\t\t}\n\t\tthis.send({\n\t\t\tt: \"shape\",\n\t\t\tid: served.id,\n\t\t\t...(shape.variant === undefined ? {} : { variant: shape.variant }),\n\t\t\tmembers: shape.members,\n\t\t\tcontract: shape.contract,\n\t\t\tstate: snaps.map((frame) => frame.m),\n\t\t});\n\t\tfor (const frame of snaps) this.send(frame);\n\t\tfor (const [name, feed] of attached) this.#replay(served, name, feed);\n\t}\n\n\t/**\n\t * Subscribes member `name` for the consumer: its snapshot (as a frame of type `as`), and a feed whose later events\n\t * wait in its buffer until the snapshot is sent (`#replay`). Undefined if the member is not readable state.\n\t */\n\t#attach(\n\t\tserved: ServedLocal,\n\t\tname: string,\n\t\tas: \"snap\" | \"reset\" = \"snap\",\n\t): { readonly frame: StateFrame; readonly feed: Feed } | undefined {\n\t\tconst readable = served.ref.member(name) as Readable<unknown> | undefined;\n\t\tif (readable === undefined || typeof readable.events !== \"function\") return undefined;\n\t\tconst feed: Feed = { unsubscribe: () => {}, encoder: encoder(), buffer: [] };\n\t\tlet first: StateEvent<unknown> | undefined;\n\t\tfeed.unsubscribe = readable.events((event) => {\n\t\t\tif (first === undefined) first = event;\n\t\t\telse if (feed.buffer !== undefined) feed.buffer.push(event);\n\t\t\telse this.#feedEvent(served, name, feed, event);\n\t\t});\n\t\tserved.feeds.set(name, feed);\n\t\treturn { frame: this.#snapshot(served, name, as, first?.value), feed };\n\t}\n\n\t/** Sends the events that arrived while the snapshot was built, now that it is sent. */\n\t#replay(served: ServedLocal, name: string, feed: Feed): void {\n\t\tconst buffered = feed.buffer ?? [];\n\t\tfeed.buffer = undefined;\n\t\tfor (const event of buffered) this.#feedEvent(served, name, feed, event);\n\t}\n\n\t/** A member's state frame for a snapshot or reset: validated against the schema the consumer is promised. */\n\t#snapshot(served: ServedLocal, name: string, as: \"snap\" | \"reset\", value: unknown): StateFrame {\n\t\ttry {\n\t\t\tvalidateSnapshot(served.ref, name, value);\n\t\t} catch (error) {\n\t\t\treturn { t: \"state\", hold: served.id, m: name, as: \"error\", error: toWireError(error) };\n\t\t}\n\t\treturn { t: \"state\", hold: served.id, m: name, as, ...(value === undefined ? {} : { value }) };\n\t}\n\n\t/** A later event of a member's stream: ops are encoded, a reset starts a new stream. */\n\t#feedEvent(served: ServedLocal, name: string, feed: Feed, event: StateEvent<unknown>): void {\n\t\tif (served.feeds.get(name) !== feed) return;\n\t\tconst overflow = { resend: () => this.#resend(served, name) };\n\t\tif (event.type === \"ops\") {\n\t\t\tthis.sendState(\n\t\t\t\t{ t: \"state\", hold: served.id, m: name, as: \"ops\", ops: feed.encoder.encode(event.ops) },\n\t\t\t\toverflow,\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tfeed.encoder = encoder();\n\t\tthis.sendState(this.#snapshot(served, name, \"reset\", event.value), overflow);\n\t}\n\n\t/** Sends member `name` again, now, as a reset from its current value (a lazy slot is flushed, or `resync`). */\n\t#resend(served: ServedLocal, name: string): void {\n\t\tconst feed = served.feeds.get(name);\n\t\tif (feed === undefined || this.served.get(served.id) !== served) return;\n\t\tfeed.unsubscribe();\n\t\tserved.feeds.delete(name);\n\t\tconst attachment = this.#attach(served, name, \"reset\");\n\t\tif (attachment === undefined) return;\n\t\tthis.send(attachment.frame);\n\t\tthis.#replay(served, name, attachment.feed);\n\t}\n\n\t/** The consumer starts (`sub`) or stops (`unsub`) the state of a hold. */\n\t#onWantState(hold: number, wanted: boolean): void {\n\t\tconst served = this.served.get(hold);\n\t\tif (served === undefined) return;\n\t\tif (served.kind === \"relay\") {\n\t\t\tserved.relay.wantState(wanted);\n\t\t\treturn;\n\t\t}\n\t\tif (served.wantsState === wanted) return;\n\t\tserved.wantsState = wanted;\n\t\tif (wanted) {\n\t\t\tthis.#unit(served);\n\t\t\treturn;\n\t\t}\n\t\tfor (const feed of served.feeds.values()) feed.unsubscribe();\n\t\tserved.feeds.clear();\n\t\tthis.dropHoldState(hold);\n\t}\n\n\t/** The consumer (a relay that dropped ops) asks for member `m` again as a reset. */\n\t#onResync(hold: number, m: string): void {\n\t\tconst served = this.served.get(hold);\n\t\tif (served === undefined) return;\n\t\tif (served.kind === \"relay\") {\n\t\t\tserved.relay.resync(m);\n\t\t\treturn;\n\t\t}\n\t\tif (!served.feeds.has(m)) return;\n\t\tthis.#resetLater(hold, m, () => this.#resend(served, m));\n\t}\n\n\t/** Forgets a served hold: unsubscribes its feeds and releases it (locally or downstream). */\n\t#dropServed(id: number, release: boolean): void {\n\t\tconst served = this.served.get(id);\n\t\tif (served === undefined) return;\n\t\tthis.served.delete(id);\n\t\tif (served.kind === \"relay\") {\n\t\t\tserved.relay.close(new ChordError(\"released\", \"relayed hold released\"), {\n\t\t\t\treleaseDown: release,\n\t\t\t\tnotify: false,\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tfor (const feed of served.feeds.values()) feed.unsubscribe();\n\t\tserved.feeds.clear();\n\t\tthis.dropHoldState(id);\n\t\tif (release) served.ref.release();\n\t}\n\n\t#onCall(frame: Extract<Frame, { t: \"call\" }>): void {\n\t\tif (this.incoming.has(frame.id)) {\n\t\t\tthis.#violation(`duplicate call id ${frame.id}`);\n\t\t\treturn;\n\t\t}\n\t\tif (this.incoming.size >= this.#maxCalls) {\n\t\t\tconst error = new ChordError(\n\t\t\t\t\"unavailable\",\n\t\t\t\t`Too many calls in progress on this connection (${this.#maxCalls}); wait for earlier ones to finish`,\n\t\t\t\t{ reason: \"too_many_calls\" },\n\t\t\t);\n\t\t\tthis.send({ t: \"result\", id: frame.id, error: toWireError(error) });\n\t\t\treturn;\n\t\t}\n\t\tconst served = this.served.get(frame.hold);\n\t\tif (served === undefined) {\n\t\t\tthis.send({ t: \"result\", id: frame.id, error: toWireError(new ChordError(\"gone\", \"unknown hold\")) });\n\t\t\treturn;\n\t\t}\n\t\tconst controller = new AbortController();\n\t\tthis.incoming.set(frame.id, controller);\n\t\t// Roots are honored from hosts only; a request without one (or from a client) starts one here.\n\t\tconst root = this.peer.kind === \"host\" ? this.#admitRoot(frame.root) : undefined;\n\t\tconst principal = served.kind === \"local\" ? served.principal : served.relay.principal;\n\t\tconst options = { principal, signal: controller.signal };\n\t\tconst run =\n\t\t\tserved.kind === \"local\"\n\t\t\t\t? (ctx: Ctx) => served.ref.object.call(served.ref, frame.member, unpack(frame.args), ctx as CtxImpl)\n\t\t\t\t: (ctx: Ctx) =>\n\t\t\t\t\t\trelayCall(\n\t\t\t\t\t\t\tserved.relay,\n\t\t\t\t\t\t\tframe,\n\t\t\t\t\t\t\t{ rootId: ctx.rootId, codeVersion: ctx.codeVersion },\n\t\t\t\t\t\t\t// The root's signal: a cancel from the origin and the root's code version retiring both reach it.\n\t\t\t\t\t\t\tctx.signal,\n\t\t\t\t\t\t\tthis.host,\n\t\t\t\t\t\t);\n\t\tconst result =\n\t\t\troot === undefined\n\t\t\t\t? this.host.root(run, options)\n\t\t\t\t: this.host.joinRoot(root.rootId, root.codeVersion, run, { ...options, from: this });\n\t\tresult\n\t\t\t.then(\n\t\t\t\t(value) => this.send({ t: \"result\", id: frame.id, value }),\n\t\t\t\t(error: unknown) => this.send({ t: \"result\", id: frame.id, error: toWireError(error) }),\n\t\t\t)\n\t\t\t.finally(() => this.incoming.delete(frame.id));\n\t}\n\n\t/**\n\t * A child that connected behind this host runs roots of a code version this host never had (it was fenced and is\n\t * being, or was, reconciled). Such a root is admitted in this host's current code version at its first call here,\n\t * and keeps that code version for its later calls (`superseded` once this host retired it). Other unknown code\n\t * versions stay `superseded`.\n\t */\n\t#admitRoot(root: RootRef | undefined): RootRef | undefined {\n\t\tif (root === undefined || this.role !== \"downstream\" || !this.fencedCodeVersions.has(root.codeVersion))\n\t\t\treturn root;\n\t\tif (this.host.hasCodeVersion(root.codeVersion)) return root;\n\t\tlet codeVersion = this.#admitted.get(root.rootId);\n\t\tif (codeVersion === undefined) {\n\t\t\tcodeVersion = this.host.current.id;\n\t\t\tthis.#admitted.set(root.rootId, codeVersion);\n\t\t}\n\t\treturn { rootId: root.rootId, codeVersion };\n\t}\n\n\t#onHoldReply(frame: Extract<Frame, { t: \"shape\" | \"gone\" }>): void {\n\t\tconst relay = this.relayedRefs.get(frame.id);\n\t\tif (relay !== undefined) {\n\t\t\tif (frame.t === \"gone\") relay.close(fromWireError(frame.error), { releaseDown: false, notify: true });\n\t\t\telse relay.shape(frame);\n\t\t\treturn;\n\t\t}\n\t\tconst binding = this.remotes.get(frame.id);\n\t\tif (binding === undefined) return;\n\t\tif (frame.t === \"gone\") {\n\t\t\tthis.remotes.delete(frame.id);\n\t\t\tbinding.gone(fromWireError(frame.error));\n\t\t\treturn;\n\t\t}\n\t\tbinding.shaped({ variant: frame.variant, members: frame.members, contract: frame.contract }, frame.state);\n\t}\n\n\t#onResult(frame: Extract<Frame, { t: \"result\" }>): void {\n\t\tconst relayed = this.relayedCalls.get(frame.id);\n\t\tif (relayed !== undefined) {\n\t\t\trelayed.finish(frame.error === undefined ? undefined : fromWireError(frame.error), frame.value);\n\t\t\treturn;\n\t\t}\n\t\tconst pending = this.calls.get(frame.id);\n\t\tthis.calls.delete(frame.id);\n\t\tif (frame.error !== undefined) {\n\t\t\tpending?.reject(fromWireError(frame.error));\n\t\t\treturn;\n\t\t}\n\t\tlet value: unknown;\n\t\ttry {\n\t\t\tvalue = unpack(frame.value);\n\t\t} catch (error) {\n\t\t\tpending?.reject(error);\n\t\t\treturn;\n\t\t}\n\t\tpending?.resolve(value);\n\t}\n\n\t#onState(frame: StateFrame): void {\n\t\tconst relay = this.relayedRefs.get(frame.hold);\n\t\tif (relay !== undefined) {\n\t\t\trelay.state(frame);\n\t\t\treturn;\n\t\t}\n\t\tconst binding = this.remotes.get(frame.hold);\n\t\tif (binding === undefined) return;\n\t\tif (!(frame.value instanceof Packed)) {\n\t\t\tbinding.state(frame.m, frame);\n\t\t\treturn;\n\t\t}\n\t\tlet value: unknown;\n\t\ttry {\n\t\t\tvalue = unpack(frame.value);\n\t\t} catch (error) {\n\t\t\tbinding.state(frame.m, { as: \"error\", error: toWireError(error) });\n\t\t\treturn;\n\t\t}\n\t\tbinding.state(frame.m, { ...frame, value });\n\t}\n\n\t// ─── lifetime ───\n\n\t#closed(reason: string): void {\n\t\tconst told = /^protocol-version (\\d+)$/.exec(reason);\n\t\tif (told !== null && Number(told[1]) !== PROTOCOL_VERSION) this.#protocolMismatch(Number(told[1]), false);\n\t\tif (this.#pinger !== undefined) clearInterval(this.#pinger);\n\t\tif (this.#ackTimer !== undefined) clearTimeout(this.#ackTimer);\n\t\tthis.#pending.clear();\n\t\tthis.#pendingBytes = 0;\n\t\tconst error = unavailable(`link to ${this.name ?? \"peer\"} closed: ${reason}`);\n\t\t// As origin: everything the peer held here, relayed or not, is released (downstream calls cancelled).\n\t\tfor (const id of [...this.served.keys()]) this.#dropServed(id, true);\n\t\tfor (const controller of this.incoming.values()) controller.abort(error);\n\t\tthis.incoming.clear();\n\t\tfor (const pending of this.calls.values()) pending.reject(error);\n\t\tthis.calls.clear();\n\t\tfor (const vote of this.votes.values()) vote.reject(error);\n\t\tthis.votes.clear();\n\t\tfor (const waiter of this.#syncWaiters) waiter.reject(error);\n\t\tthis.#syncWaiters.clear();\n\t\t// As downstream of relays: their origins lose the hold.\n\t\tfor (const relay of [...this.relayedRefs.values()]) relay.close(error, { releaseDown: false, notify: true });\n\t\tthis.relayedRefs.clear();\n\t\tthis.relayedCalls.clear();\n\t\tconst bindings = [...this.remotes.values()];\n\t\tthis.remotes.clear();\n\t\tfor (const binding of bindings) {\n\t\t\t// An upstream link may be replaced (reconnect); a downstream host that went away is gone.\n\t\t\tif (this.role === \"upstream\") binding.detached();\n\t\t\telse binding.gone(error);\n\t\t}\n\t\tthis.host.connectionClosed(this);\n\t}\n}\n\nconst stateKey = (hold: number, m: string): string => `s${hold}\\u0000${m}`;\nconst unitKey = (hold: number): string => `u${hold}`;\n\n/**\n * A call through a relay: waits for the route, then forwards with the root it runs in. It settles exactly once; a\n * cancel (or the origin going away) is forwarded downstream and removes both mappings.\n */\nasync function relayCall(\n\trelay: RelayRef,\n\tframe: Extract<Frame, { t: \"call\" }>,\n\troot: RootRef,\n\tsignal: AbortSignal,\n\thost: HostImpl,\n): Promise<unknown> {\n\tconst abortError = (): ChordError => new ChordError(\"aborted\", \"call cancelled\", { cause: signal.reason });\n\tif (signal.aborted) throw abortError();\n\tlet onAbort = (): void => {};\n\tlet onCancel = (): void => {};\n\tconst aborted = new Promise<never>((_, reject) => {\n\t\tonAbort = () => reject(abortError());\n\t\tsignal.addEventListener(\"abort\", onAbort, { once: true });\n\t});\n\taborted.catch(() => {});\n\ttry {\n\t\tconst down = await Promise.race([relay.ready(), aborted]);\n\t\tif (relay.closed) throw new ChordError(\"gone\", \"relayed hold closed\");\n\t\treturn await new Promise<unknown>((resolve, reject) => {\n\t\t\tconst call = new RelayCall(relay, frame.id, down.nextId(), { resolve, reject });\n\t\t\tonCancel = () => call.cancel(abortError(), true);\n\t\t\tsignal.addEventListener(\"abort\", onCancel, { once: true });\n\t\t\thost.rootSent(root.rootId, down);\n\t\t\tdown.send({ t: \"call\", id: call.downId, hold: relay.downId, member: frame.member, args: frame.args, root });\n\t\t});\n\t} finally {\n\t\tsignal.removeEventListener(\"abort\", onAbort);\n\t\tsignal.removeEventListener(\"abort\", onCancel);\n\t}\n}\n\n/**\n * Validates a snapshot against the schema the consumer is promised: the provider's own schema for a direct binding,\n * the consumer's contract for one through an `accepts` adapter (the adapter's view is what the consumer gets).\n */\nfunction validateSnapshot(ref: RefImpl, member: string, value: unknown): void {\n\tif (value === undefined) return;\n\tconst installed = ref.object.currentInstalled();\n\tif (installed === undefined) return;\n\tconst view = ref.currentView();\n\tconst variant = view === undefined ? variantOf(installed.implementation) : variantOf(view);\n\tconst description =\n\t\tview !== undefined && view !== installed.implementation\n\t\t\t? ref.contract.description.variants[variant ?? LOCAL_VARIANT]?.[member]\n\t\t\t: installed.service.contract.description.variants[variantOf(installed.implementation) ?? LOCAL_VARIANT]?.[\n\t\t\t\t\tmember\n\t\t\t\t];\n\tif (description?.kind === \"state\") assertValid(\"state\", `${ref.address}.${member}`, description.schema, value);\n}\n\n/** Clients (browsers) holding an outdated contract are told to reload their code. */\nfunction clientError(error: unknown): unknown {\n\tif (error instanceof ChordError && error.code === \"contract_mismatch\") {\n\t\treturn new ChordError(\"upgrade_required\", error.message, { cause: error });\n\t}\n\treturn error;\n}\n"]}
@@ -1,207 +0,0 @@
1
- import { type Schema, type Static } from "@earendil-works/pi-schema";
2
- import type { Ctx, Exposed, Readable, RefBase, StateSource } from "./types.ts";
3
- declare const MEMBER: unique symbol;
4
- /** A method's arguments and result; `undefined`: it takes no arguments, or returns nothing (void). */
5
- export interface MethodSpec<A extends Schema | undefined = Schema | undefined, R extends Schema | undefined = Schema | undefined> {
6
- readonly [MEMBER]: "method";
7
- readonly args: A;
8
- readonly result: R;
9
- }
10
- export interface OpaqueSpec<T = unknown> {
11
- readonly [MEMBER]: "opaque";
12
- readonly id: string;
13
- /** Type carrier only; never set. */
14
- readonly type?: T;
15
- }
16
- /**
17
- * A method. `method()`: no arguments (called as `ref.name(ctx)`, implemented as `(ctx) => …`) and no result.
18
- * `method(args)`: no result, the handler returns nothing (void). `method(args, result)`, or `method(undefined, result)`
19
- * for a method without arguments that returns something.
20
- */
21
- export declare function method(): MethodSpec<undefined, undefined>;
22
- export declare function method<A extends Schema>(args: A): MethodSpec<A, undefined>;
23
- export declare function method<A extends Schema | undefined, R extends Schema>(args: A, result: R): MethodSpec<A, R>;
24
- /** A native in-process object identified by `name@version` (local contracts only). */
25
- export declare const opaque: <T = unknown>(id: string) => OpaqueSpec<T>;
26
- export interface VariantDef {
27
- readonly state?: Readonly<Record<string, Schema>>;
28
- readonly methods?: Readonly<Record<string, MethodSpec>>;
29
- }
30
- /** Where objects of a remote type live: one named host. */
31
- export interface HostNamed {
32
- readonly name: string;
33
- }
34
- /** Where objects of a remote type live: the host `prefix` + the input's string field `key` (`session:` + `session`). */
35
- export interface HostFamily<K extends string = string> {
36
- readonly prefix: string;
37
- readonly key: K;
38
- }
39
- /** A remote type's placement: data only, so a description carries it and every host can check it. */
40
- export type Placement = HostNamed | HostFamily;
41
- /** Objects of the type live on the host named `name` (`hostNamed("server")`). */
42
- export declare function hostNamed(name: string): HostNamed;
43
- /**
44
- * Objects of the type live on `prefix` + the value of the input's string field `key`: `hostFamily("session:",
45
- * "session")` puts `{ session: "S1", … }` on `session:S1`. The field is required and must be a non-empty string.
46
- */
47
- export declare function hostFamily<const K extends string>(prefix: string, key: K): HostFamily<K>;
48
- /** Required string fields of `I`: what a `hostFamily` may name. */
49
- type StringKeys<I> = {
50
- [K in keyof I]-?: I[K] extends string ? K : never;
51
- }[keyof I] & string;
52
- /** The placements a remote type with input `I` may have. */
53
- export type PlacementFor<I> = HostNamed | HostFamily<StringKeys<I>>;
54
- /** The host an object of `placement` with this (normalized) input lives on. Throws `invalid/placement`. */
55
- export declare function resolveHost(typeName: string, placement: Placement, input: unknown): string;
56
- /** Whether the host named `hostName` may serve a type of `placement`. */
57
- export declare const placedOn: (placement: Placement, hostName: string) => boolean;
58
- export declare const placementText: (placement: Placement) => string;
59
- export interface RemoteDef {
60
- readonly version: number;
61
- readonly input: Schema;
62
- /** Where its objects live: `hostNamed(…)` or `hostFamily(…)`. Part of the contract (and its fingerprint). */
63
- readonly host: Placement;
64
- readonly variants: Readonly<Record<string, VariantDef>>;
65
- }
66
- /** A local member: a method, an opaque native object, or a state member described by its schema. */
67
- export type LocalMember = MethodSpec | OpaqueSpec | Schema;
68
- export interface LocalDef {
69
- readonly version: number;
70
- readonly input: Schema;
71
- readonly members?: Readonly<Record<string, LocalMember>>;
72
- }
73
- declare const MemberDescriptionSchema: Schema<{
74
- kind: "method";
75
- args?: Schema | undefined;
76
- result?: Schema | undefined;
77
- } | {
78
- kind: "state";
79
- schema: Schema;
80
- } | {
81
- kind: "opaque";
82
- id: string;
83
- }>;
84
- export type MemberDescription = Static<typeof MemberDescriptionSchema>;
85
- /** Local contracts have one unnamed variant. */
86
- export declare const LOCAL_VARIANT = "";
87
- export declare const DescriptionSchema: Schema<{
88
- name: string;
89
- scope: "local" | "remote";
90
- version: number;
91
- input: Schema;
92
- host?: {
93
- name: string;
94
- } | {
95
- prefix: string;
96
- key: string;
97
- } | undefined;
98
- variants: Record<string, Record<string, {
99
- kind: "method";
100
- args?: Schema | undefined;
101
- result?: Schema | undefined;
102
- } | {
103
- kind: "state";
104
- schema: Schema;
105
- } | {
106
- kind: "opaque";
107
- id: string;
108
- }>>;
109
- }>;
110
- export type Description = Static<typeof DescriptionSchema>;
111
- interface ContractBase {
112
- readonly name: string;
113
- readonly version: number;
114
- readonly input: Schema;
115
- readonly description: Description;
116
- readonly fingerprint: string;
117
- }
118
- export interface RemoteContract<D extends RemoteDef = RemoteDef> extends ContractBase {
119
- readonly scope: "remote";
120
- readonly def: D;
121
- }
122
- export interface LocalContract<D extends LocalDef = LocalDef> extends ContractBase {
123
- readonly scope: "local";
124
- readonly def: D;
125
- }
126
- export type AnyContract = RemoteContract | LocalContract;
127
- /** Names a reference uses itself; members may not use them. */
128
- export declare const RESERVED_MEMBERS: ReadonlySet<string>;
129
- export declare function remote<const D extends RemoteDef>(name: string, def: D & {
130
- readonly host: PlacementFor<Static<D["input"]>>;
131
- }): RemoteContract<D>;
132
- export declare function local<const D extends LocalDef>(name: string, def: D): LocalContract<D>;
133
- /**
134
- * A consumer token received over a link (only its description travels). Has no `def`, so it is only good for binding
135
- * and validation, never for TypeScript types.
136
- */
137
- export declare function contractFromDescription(description: Description): AnyContract;
138
- /** Returns why `provider` does not cover `consumer`, or undefined when it does. */
139
- export declare function coverage(provider: Description, consumer: Description): string | undefined;
140
- /** Maps the provider's current implementation to the view a consumer of an older contract version expects. */
141
- export type Adapter = (current: Record<string, unknown>) => Record<string, unknown>;
142
- export type Accepts = Readonly<Record<number, Adapter>>;
143
- /** How a consumer token binds to a provider: directly or through an `accepts` adapter. Throws contract_mismatch. */
144
- export declare function bind(provider: AnyContract, accepts: Accepts | undefined, consumer: AnyContract): Adapter | undefined;
145
- type Empty = Record<never, never>;
146
- type StateOf<V> = V extends {
147
- readonly state: infer S extends Readonly<Record<string, Schema>>;
148
- } ? S : Empty;
149
- type StaticOf<S> = S extends Schema ? Static<S> : never;
150
- type MethodsOf<V> = V extends {
151
- readonly methods: infer M extends Readonly<Record<string, MethodSpec>>;
152
- } ? M : Empty;
153
- /** What a handler returns: the result's value, or nothing for a void method. */
154
- type Returned<R> = [R] extends [Schema] ? Static<R> | Promise<Static<R>> : void | Promise<void>;
155
- /** What a call resolves to. */
156
- type Resolved<R> = [R] extends [Schema] ? Static<R> : undefined;
157
- /** A method's handler; `P` is the app's principal type (`ctx.principal`). */
158
- export type MethodImplementation<M, P = unknown> = M extends MethodSpec<infer A, infer R> ? [A] extends [Schema] ? (args: Static<A>, ctx: Ctx<P>) => Returned<R> : (ctx: Ctx<P>) => Returned<R> : never;
159
- export type Call<M> = M extends MethodSpec<infer A, infer R> ? [A] extends [Schema] ? (args: Static<A>, ctx?: Ctx) => Promise<Resolved<R>> : (ctx?: Ctx) => Promise<Resolved<R>> : never;
160
- /** Whether `contract`'s method `name` takes no arguments (it is called as `ref.name(ctx)`). */
161
- export declare function takesNoArgs(contract: AnyContract, name: string): boolean;
162
- type VariantImplementation<K, V, P> = {
163
- readonly variant: K;
164
- } & {
165
- readonly [S in keyof StateOf<V>]: StateSource<StaticOf<StateOf<V>[S]>>;
166
- } & {
167
- readonly [M in keyof MethodsOf<V>]: MethodImplementation<MethodsOf<V>[M], P>;
168
- };
169
- /**
170
- * A reference in one variant: its state members are plain readables (a reference you hold has its state) and its
171
- * methods calls. `variant` discriminates the union `Ref` is for a multi-variant type.
172
- */
173
- type VariantRef<C extends AnyContract, K, V> = RefBase<C> & {
174
- readonly variant: K;
175
- } & {
176
- readonly [S in keyof StateOf<V>]: Readable<StaticOf<StateOf<V>[S]>>;
177
- } & {
178
- readonly [M in keyof MethodsOf<V>]: Call<MethodsOf<V>[M]>;
179
- };
180
- type LocalImplementationMember<M, P> = M extends MethodSpec ? MethodImplementation<M, P> : M extends OpaqueSpec<infer T> ? T | Exposed<T> : M extends Schema ? StateSource<Static<M>> : never;
181
- type LocalRefMember<M> = M extends MethodSpec ? Call<M> : M extends OpaqueSpec<infer T> ? T | undefined : M extends Schema ? Readable<Static<M>> : never;
182
- type LocalMembers<D> = D extends {
183
- readonly members: infer M extends Readonly<Record<string, LocalMember>>;
184
- } ? M : Empty;
185
- export type InputOf<C> = C extends {
186
- readonly def: {
187
- readonly input: infer I extends Schema;
188
- };
189
- } ? Static<I> : never;
190
- /** What a factory returns for contract C; its methods' `ctx.principal` is `P`. */
191
- export type ImplementationOf<C, P = unknown> = C extends RemoteContract<infer D> ? {
192
- [K in keyof D["variants"]]: VariantImplementation<K, D["variants"][K], P>;
193
- }[keyof D["variants"]] : C extends LocalContract<infer D> ? {
194
- readonly [K in keyof LocalMembers<D>]: LocalImplementationMember<LocalMembers<D>[K], P>;
195
- } & Record<string, unknown> : never;
196
- /**
197
- * What `get` returns for contract C. A remote type's reference is a union discriminated by `variant`: another variant's
198
- * members are reachable only after narrowing (`if (ref.variant === "editor") ref.add(…)`). A local type's reference has
199
- * its members.
200
- */
201
- export type Ref<C extends AnyContract = AnyContract> = C extends RemoteContract<infer D> ? {
202
- [K in keyof D["variants"]]: VariantRef<C, K, D["variants"][K]>;
203
- }[keyof D["variants"]] : C extends LocalContract<infer D> ? RefBase<C> & {
204
- readonly [K in keyof LocalMembers<D>]: LocalRefMember<LocalMembers<D>[K]>;
205
- } : never;
206
- export {};
207
- //# sourceMappingURL=contract.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"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"}