@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,506 +0,0 @@
1
- // The provider side of one origin on a link (§3, §22, W1; decision "Relay flow control per origin"): the holds the
2
- // peer sent for that origin, served here or relayed, by their ids; the calls on them, at most this side's N at once;
3
- // and the window: at most K unacknowledged `bound` and `state` messages of this host's own, with what waits meanwhile,
4
- // and the sender of every message in flight, so each `ack` reaches the host that sent its message.
5
- import { withAbortSignal } from "../../context/index.js";
6
- import { ChordError, isChordError } from "../data/index.js";
7
- import { DeflatedPart, oversized, parsePayload, payloadPart, wireError, } from "../link/internal.js";
8
- import { Hold } from "./hold.js";
9
- /** At most this many of this host's own `bound` and `state` messages unacknowledged per origin. */
10
- const WINDOW = 2;
11
- /**
12
- * The provider side of one origin on a link. Ids are the origin's; a message naming an id this side does not know is
13
- * ignored (Q1), one reusing a live id is a protocol error, and so are more concurrent calls than this side announced.
14
- * This host's own `bound` and `state` messages go through the window: locally served holds wait while it is full
15
- * (their ops in their members' pending queues, their bindings for the next slot). A relay forwards upstream messages
16
- * at once (each upstream host keeps its own window for the origin it sees), so a slow consumer stalls only its origin.
17
- */
18
- export class ProviderSide {
19
- link;
20
- /** Whose work this side serves: 0 for the peer's own, a relay's number for one of its downstream links. */
21
- origin;
22
- #calls = new Map();
23
- #entries = new Map();
24
- #limit;
25
- /** The sender of each `bound` and `state` message in flight, in order: the consumer acknowledges in order. */
26
- #sent = [];
27
- /** This host's own messages in flight. */
28
- #inFlight = 0;
29
- /** The holds the current batch touched, in order; its flush sends or queues them. */
30
- #touched = [];
31
- /** Holds whose ops wait in their pending queues for a slot. */
32
- #waiting = new Set();
33
- /** Holds waiting for a slot to send their first binding. */
34
- #binding = new Set();
35
- /** The waiting bindings take the next slot: the last one went to waiting state while they waited. */
36
- #bindingTurn = false;
37
- /** Set once a hold of this origin is relayed. */
38
- #relay;
39
- constructor(link, origin, limit) {
40
- this.link = link;
41
- this.origin = origin;
42
- this.#limit = limit;
43
- }
44
- /** Handles one message of this origin; a call whose arguments wait for an asynchronous inflate returns its promise. */
45
- message(message) {
46
- switch (message.kind) {
47
- case "hold":
48
- this.#hold(message);
49
- break;
50
- case "release":
51
- this.#release(message.hold);
52
- this.#settle();
53
- break;
54
- case "call":
55
- return this.#call(message);
56
- case "abort":
57
- this.#abort(message.call);
58
- this.#settle();
59
- break;
60
- case "retry":
61
- this.#entries.get(message.hold)?.retry(message);
62
- break;
63
- case "ack":
64
- this.#ack();
65
- this.#settle();
66
- break;
67
- }
68
- }
69
- /**
70
- * The link closed, or the origin did (`closed`): every hold is released (relayed ones by one `closed` to each
71
- * upstream link) and every call aborted.
72
- */
73
- closed() {
74
- const closing = this.link.host.closing;
75
- const entries = [...this.#entries.values()];
76
- this.#entries.clear();
77
- const closed = new ChordError({ code: "unavailable", message: "the link closed" });
78
- for (const call of this.#calls.values())
79
- if (call.kind === "served")
80
- call.abort.abort(closed);
81
- this.#calls.clear();
82
- // While the host closes, it ends its objects itself.
83
- for (const entry of entries) {
84
- if (entry.kind === "served" && !closing)
85
- entry.release();
86
- else
87
- entry.drop();
88
- }
89
- // A batch flushing later finds nothing of this side.
90
- this.#touched = [];
91
- const relay = this.#relay;
92
- if (relay === undefined)
93
- return;
94
- this.link.host.relays.delete(relay.origin);
95
- for (const link of relay.links)
96
- link.send({ kind: "closed", origin: relay.origin });
97
- }
98
- /** Sends `message` on the link with this origin. */
99
- send(message) {
100
- this.link.send(this.origin === 0 ? message : { ...message, origin: this.origin });
101
- }
102
- /**
103
- * Ends with `error` every hold of this origin that acts for a principal `revoked` names and holds nothing: served
104
- * here but unbound (before the publication, refused), or relayed and waiting for its route's link.
105
- */
106
- revokeUnbound(revoked, error) {
107
- for (const hold of [...this.#entries.values()]) {
108
- // A hold arriving on a link acts for a principal: the link's, or one its parent named.
109
- if (!revoked(hold.caller.principal))
110
- continue;
111
- if (hold.kind === "served" && hold.unbound)
112
- hold.end(error);
113
- else if (hold.kind === "relayed" && hold.waiting)
114
- hold.revoked(error);
115
- }
116
- }
117
- /** A pending hold turned out to be relayed: it takes the hold's place in the table. */
118
- relayed(hold) {
119
- this.#entries.set(hold.id, hold);
120
- }
121
- /** This origin's number on upstream links (one per host, never reused), with `link` as one it relays to. */
122
- relayTo(link) {
123
- let relay = this.#relay;
124
- if (relay === undefined) {
125
- relay = { origin: this.link.host.relayOrigin(this), links: new Set() };
126
- this.#relay = relay;
127
- }
128
- relay.links.add(link);
129
- return relay.origin;
130
- }
131
- /**
132
- * A message from upstream link `from` for this origin's relayed holds, forwarded with this origin: `bound` and
133
- * `state` join the window's senders (their `ack` goes back to `from`), a reply ends its call, `gone` forgets its
134
- * hold. A link answers only for what was relayed over it: an entry, a notice or a reply naming a hold (or a call)
135
- * this origin did not relay over `from` is dropped (Q1); a `bound` or `state` left without entries is acknowledged
136
- * to `from` at once. Parts travel unchecked and unparsed: the end that parses a part checks it against its own
137
- * link's limits.
138
- */
139
- forward(message, from) {
140
- const relay = this.#relay;
141
- if (relay === undefined || !relay.links.has(from))
142
- return;
143
- const { origin: _, ...forwarded } = message;
144
- switch (forwarded.kind) {
145
- case "bound":
146
- case "state": {
147
- const holds = this.#relayedOver(forwarded.holds, from);
148
- if (holds.length === 0) {
149
- from.send({ kind: "ack", origin: relay.origin });
150
- return;
151
- }
152
- this.#sent.push(from);
153
- // The entries of the message's own kind.
154
- this.send(holds === forwarded.holds ? forwarded : { ...forwarded, holds });
155
- return;
156
- }
157
- case "result":
158
- case "error": {
159
- const call = this.#calls.get(forwarded.call);
160
- if (call?.kind === "relayed" && call.hold.heldOn(from))
161
- this.reply(forwarded.call, forwarded);
162
- return;
163
- }
164
- case "gone": {
165
- const hold = this.#relayedHold(forwarded.hold, from);
166
- if (hold === undefined)
167
- return;
168
- hold.lost();
169
- this.send(forwarded);
170
- return;
171
- }
172
- default:
173
- if (this.#relayedHold(forwarded.hold, from) !== undefined)
174
- this.send(forwarded);
175
- }
176
- }
177
- /** An upstream link closed: nothing more is relayed to it, nor accepted from it. */
178
- unlinked(link) {
179
- this.#relay?.links.delete(link);
180
- }
181
- /**
182
- * The upstream link of relayed hold `hold` dropped with `error`: its calls in flight fail, the hold goes loading
183
- * downstream, and its path's next link holds it again.
184
- */
185
- upstreamDropped(hold, error) {
186
- for (const [id, call] of this.#calls) {
187
- if (call.hold === hold)
188
- this.reply(id, { kind: "error", call: id, error: wireError(error) });
189
- }
190
- this.send({ kind: "loading", hold: hold.id });
191
- }
192
- /**
193
- * Forgets a hold (released, refused or gone) and every call on it; local calls are aborted with `error` (its
194
- * object's end for a gone hold, `released` otherwise).
195
- */
196
- forget(hold, error) {
197
- if (this.#entries.get(hold.id) === hold)
198
- this.#entries.delete(hold.id);
199
- const reason = error ?? new ChordError({ code: "released", message: `hold ${hold.id}: released` });
200
- for (const [id, call] of this.#calls) {
201
- if (call.hold !== hold)
202
- continue;
203
- this.#calls.delete(id);
204
- if (call.kind === "served")
205
- call.abort.abort(reason);
206
- }
207
- if (hold.kind === "served")
208
- this.unbind(hold);
209
- this.#settle();
210
- }
211
- /** A call ended with `reply` (a result or an error): its slot is free; nothing is sent for one already gone. */
212
- reply(id, reply) {
213
- if (!this.#calls.delete(id))
214
- return;
215
- this.send(reply);
216
- this.#settle();
217
- }
218
- /**
219
- * Drops this side from its link once it holds nothing: no holds, no calls, nothing in flight. Its origin's next hold
220
- * makes a new one (origins are never reused), so a long-lived link keeps records only for live work.
221
- */
222
- #settle() {
223
- if (this.#entries.size === 0 && this.#calls.size === 0 && this.#sent.length === 0)
224
- this.link.drop(this);
225
- }
226
- /** A hold's object is live: its `bound` goes now when a slot is free, else with the next free slot's bindings. */
227
- bind(hold, context) {
228
- if (this.#free) {
229
- this.#sendOwn({ kind: "bound", holds: [hold.boundEntry(context)] });
230
- }
231
- else {
232
- this.#binding.add(hold);
233
- }
234
- }
235
- /** A hold stopped waiting for a slot: it was forgotten. */
236
- unbind(hold) {
237
- this.#waiting.delete(hold);
238
- this.#binding.delete(hold);
239
- }
240
- /**
241
- * A served hold left its object's binding (slice 7b §6, model §5): its unsent pending ops and a queued `bound` are
242
- * dropped (the ack slots of messages already sent stay until their `ack`), its calls in flight rejected with `error`
243
- * (each slot freed once).
244
- */
245
- unbound(hold, error) {
246
- this.unbind(hold);
247
- for (const [id, call] of this.#calls) {
248
- if (call.hold !== hold)
249
- continue;
250
- if (call.kind === "served")
251
- call.abort.abort(error);
252
- this.reply(id, { kind: "error", call: id, error: wireError(error) });
253
- }
254
- }
255
- /** A hold's members changed in the current batch; its flush sends or queues it. */
256
- touched(hold) {
257
- if (this.#touched.length === 0)
258
- this.link.host.batch.flushing((context) => this.#flush(context));
259
- this.#touched.push(hold);
260
- }
261
- /**
262
- * `entries` whose holds this origin relayed over `from`, in one pass: the same array when all are, else a copy made
263
- * at the first one that is not.
264
- */
265
- #relayedOver(entries, from) {
266
- let kept;
267
- for (let i = 0; i < entries.length; i++) {
268
- const entry = entries[i];
269
- const relayed = this.#relayedHold(entry.hold, from) !== undefined;
270
- if (kept !== undefined) {
271
- if (relayed)
272
- kept.push(entry);
273
- }
274
- else if (!relayed) {
275
- kept = entries.slice(0, i);
276
- }
277
- }
278
- return kept ?? entries;
279
- }
280
- /** The hold `id` of this origin when it is relayed over `from`. */
281
- #relayedHold(id, from) {
282
- const hold = this.#entries.get(id);
283
- return hold?.kind === "relayed" && hold.heldOn(from) ? hold : undefined;
284
- }
285
- /**
286
- * A hold message: a protocol error for a live id or compressed params (params are never compressed), otherwise
287
- * admitted (`Hold.start`, placed once the host published). Its activation chain is kept only from a trusted link (Q5); its
288
- * decoded limit is the link's, or the smaller one a parent stamped (Q2), and travels with it when it is relayed.
289
- */
290
- #hold(message) {
291
- if (this.#entries.has(message.hold))
292
- throw new Error(`hold ${message.hold}: the id is in use`);
293
- if (message.params instanceof DeflatedPart)
294
- throw new Error(`hold ${message.hold}: compressed params`);
295
- // Whom it acts for is decided here once (`#caller`), never passed on: a relay names it only on a route link.
296
- const { kind: _kind, origin: _origin, hold: id, principal: _principal, incarnation: _incarnation, chain, limit: stamped, ...fields } = message;
297
- const { link } = this;
298
- const limit = Math.min(link.limits.decoded, (link.role === "parent" ? stamped : undefined) ?? Infinity);
299
- const request = {
300
- ...fields,
301
- ...(chain !== undefined && link.trusted ? { chain } : {}),
302
- ...(limit === Infinity ? {} : { limit }),
303
- };
304
- const limits = limit === link.limits.decoded ? link.limits : { part: link.limits.part, decoded: limit };
305
- const hold = new Hold(id, this, this.#caller(message), limits);
306
- this.#entries.set(id, hold);
307
- hold.start(request);
308
- }
309
- /**
310
- * Whom a hold acts for: on a parent link the hold's own principal and incarnation when it names them, everywhere
311
- * else the link's principal and the peer's incarnation (a child cannot claim to be someone else).
312
- */
313
- #caller(message) {
314
- const { link } = this;
315
- if (link.role !== "parent")
316
- return { principal: link.principal, incarnation: link.peer };
317
- // The message schema checked a principal's shape on an untrusted link; a trusted parent is believed.
318
- const principal = message.principal ?? link.principal;
319
- return { principal, incarnation: message.incarnation ?? link.peer };
320
- }
321
- #release(id) {
322
- const hold = this.#entries.get(id);
323
- if (hold === undefined)
324
- return;
325
- this.forget(hold);
326
- hold.release();
327
- }
328
- /**
329
- * A call: one on a hold this side does not know is ignored (Q1), more than this side's N at once and compressed
330
- * arguments from a child (clients never compress) are protocol errors. On a relayed hold it is forwarded, its
331
- * arguments checked against this link's part limit first (the bytes are here). On a served hold that is not bound
332
- * yet (nor binding afresh after a swap) it is refused `not_ready`; its method is an index into the bound variant (one
333
- * outside it is a protocol error) and its arguments are opened and parsed here within the hold's limits (past one
334
- * the call fails `too_large/part`; a malformed part is a protocol error), absent ones `null`. Arguments this host
335
- * must inflate asynchronously are inflated first, then the call is handled again.
336
- */
337
- #call(message) {
338
- if (this.#calls.has(message.call))
339
- throw new Error(`call ${message.call}: the id is in use`);
340
- const hold = this.#entries.get(message.hold);
341
- if (hold === undefined)
342
- return;
343
- if (this.#calls.size >= this.#limit)
344
- throw new Error(`call ${message.call}: more than ${this.#limit} calls`);
345
- const { args: part, segments } = message;
346
- if (part instanceof DeflatedPart && this.link.role === "child") {
347
- throw new Error(`call ${message.call}: compressed arguments from a child`);
348
- }
349
- if (hold.kind === "relayed") {
350
- const error = part === undefined ? undefined : oversized(part, this.link.limits.part);
351
- if (error !== undefined) {
352
- this.#refuse(message.call, error);
353
- return;
354
- }
355
- this.#calls.set(message.call, { kind: "relayed", hold });
356
- hold.call(message);
357
- return;
358
- }
359
- if (!hold.callable) {
360
- this.#refuse(message.call, new ChordError({ code: "not_ready", message: `hold ${hold.id}: not bound yet` }));
361
- return;
362
- }
363
- const method = hold.method(message.method);
364
- if (this.link.inflates(part, hold.limits)) {
365
- return this.link.inflate([[part, hold.limits.decoded]], () => this.#call(message));
366
- }
367
- let json;
368
- try {
369
- json = part === undefined ? undefined : this.link.openPart(part, hold.limits, this.link.context);
370
- }
371
- catch (error) {
372
- if (!isChordError(error, "too_large"))
373
- throw error;
374
- this.#refuse(message.call, error);
375
- return;
376
- }
377
- const args = json === undefined ? null : parsePayload(json, segments);
378
- const call = { kind: "served", hold, bytes: method.resultBytes, abort: new AbortController() };
379
- this.#calls.set(message.call, call);
380
- void this.#run(message.call, call, method.name, args);
381
- }
382
- /**
383
- * Runs a call and sends its result (absent when `null`) or error, unless it was aborted, released or gone
384
- * meanwhile. A result that cannot be encoded is sent as its error.
385
- */
386
- async #run(id, call, method, args) {
387
- let reply;
388
- try {
389
- // A link's context has no abort signal, so this is the call's own signal: no `AbortSignal.any` per call.
390
- const result = await call.hold.call(method, args, withAbortSignal(call.abort.signal, this.link.context));
391
- // Results are not validated: they are the provider's.
392
- reply =
393
- result === null || result === undefined
394
- ? { kind: "result", call: id }
395
- : this.#result(id, result, call.bytes, this.link.context);
396
- }
397
- catch (error) {
398
- reply = { kind: "error", call: id, error: wireError(error) };
399
- }
400
- this.reply(id, reply);
401
- }
402
- /** Answers call `id` with `error` before it was admitted: it took no slot. */
403
- #refuse(id, error) {
404
- this.send({ kind: "error", call: id, error: wireError(error) });
405
- }
406
- #abort(id) {
407
- const call = this.#calls.get(id);
408
- if (call === undefined)
409
- return;
410
- this.#calls.delete(id);
411
- if (call.kind === "relayed")
412
- call.hold.abort(id);
413
- else
414
- call.abort.abort(new ChordError({ code: "aborted", message: `call ${id}: aborted by its caller` }));
415
- }
416
- /**
417
- * An `ack` answers the oldest message in flight: this host's own frees a slot, a relayed one is acknowledged to its
418
- * upstream link (closed meanwhile: nothing to do). An ack crossing nothing in flight is ignored.
419
- */
420
- #ack() {
421
- const sender = this.#sent.shift();
422
- if (sender === undefined)
423
- return;
424
- if (sender !== "local") {
425
- // A relayed message implies the relay's number.
426
- sender.send({ kind: "ack", origin: this.#relay.origin });
427
- return;
428
- }
429
- this.#inFlight--;
430
- this.#slotFreed();
431
- }
432
- /**
433
- * The end of a batch: while a slot is free and nothing waits, one `state` message with an entry per touched hold;
434
- * otherwise each touched hold's ops join its pending queues until a slot frees.
435
- */
436
- #flush(context) {
437
- const holds = this.#touched;
438
- // The side closed during the batch: nothing is sent.
439
- if (holds.length === 0)
440
- return;
441
- this.#touched = [];
442
- // A hold touched in this batch may have left its binding since (a reload unbound it).
443
- if (this.#free) {
444
- const entries = [];
445
- for (const hold of holds)
446
- if (hold.bound)
447
- entries.push(hold.entry(context));
448
- if (entries.length > 0)
449
- this.#sendOwn({ kind: "state", holds: entries });
450
- return;
451
- }
452
- // A bound hold never waits for its binding.
453
- for (const hold of holds) {
454
- if (!hold.bound)
455
- continue;
456
- hold.queue();
457
- this.#waiting.add(hold);
458
- }
459
- }
460
- /** Whether this host's next message goes out now: a slot is free and nothing waits for one. */
461
- get #free() {
462
- return this.#binding.size === 0 && this.#waiting.size === 0 && this.#inFlight < WINDOW;
463
- }
464
- /**
465
- * A slot may be free: while there is room, the waiting state goes out as one message and the waiting bindings as
466
- * one `bound`, taking turns when both wait (state first), so neither a hold that keeps changing nor a stream of new
467
- * holds starves the other.
468
- */
469
- #slotFreed() {
470
- const context = this.link.context;
471
- while (this.#inFlight < WINDOW) {
472
- if (this.#binding.size > 0 && (this.#waiting.size === 0 || this.#bindingTurn)) {
473
- const holds = [...this.#binding];
474
- this.#binding.clear();
475
- this.#bindingTurn = false;
476
- // Every snapshot in one synchronous step: the binding shows all of them at one moment.
477
- this.#sendOwn({ kind: "bound", holds: holds.map((hold) => hold.boundEntry(context)) });
478
- }
479
- else if (this.#waiting.size > 0) {
480
- const holds = [...this.#waiting];
481
- this.#waiting.clear();
482
- this.#bindingTurn = this.#binding.size > 0;
483
- this.#sendOwn({ kind: "state", holds: holds.map((hold) => hold.pendingEntry(context)) });
484
- }
485
- else {
486
- return;
487
- }
488
- }
489
- }
490
- /**
491
- * A call's result message, its part deflated above the threshold when this host compresses; with byte segments when
492
- * its method's result schema has a `bytes()` leaf.
493
- */
494
- #result(id, result, bytes, context) {
495
- const { json, segments } = payloadPart(result, bytes);
496
- const value = this.link.part(json, context);
497
- return { kind: "result", call: id, value, ...(segments === undefined ? {} : { segments }) };
498
- }
499
- /** Sends one of this host's own `bound` or `state` messages, taking a slot. */
500
- #sendOwn(message) {
501
- this.#inFlight++;
502
- this.#sent.push("local");
503
- this.send(message);
504
- }
505
- }
506
- //# sourceMappingURL=provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/next/remote/provider.ts"],"names":[],"mappings":"AAAA,mHAAmH;AACnH,qHAAqH;AACrH,uHAAuH;AACvH,mGAAmG;AAEnG,OAAO,EAAgB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAkB,MAAM,kBAAkB,CAAC;AAE5E,OAAO,EAGN,YAAY,EAGZ,SAAS,EAET,YAAY,EACZ,WAAW,EAEX,SAAS,GACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAkBjC,mGAAmG;AACnG,MAAM,MAAM,GAAG,CAAC,CAAC;AAEjB;;;;;;GAMG;AACH,MAAM,OAAO,YAAY;IACf,IAAI,CAAW;IACxB,2GAA2G;IAClG,MAAM,CAAS;IACf,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;IACxC,QAAQ,GAAG,IAAI,GAAG,EAA8B,CAAC;IACjD,MAAM,CAAS;IACxB,8GAA8G;IACrG,KAAK,GAAa,EAAE,CAAC;IAC9B,0CAA0C;IAC1C,SAAS,GAAG,CAAC,CAAC;IACd,qFAAqF;IACrF,QAAQ,GAAW,EAAE,CAAC;IACtB,+DAA+D;IACtD,QAAQ,GAAG,IAAI,GAAG,EAAQ,CAAC;IACpC,4DAA4D;IACnD,QAAQ,GAAG,IAAI,GAAG,EAAQ,CAAC;IACpC,qGAAqG;IACrG,YAAY,GAAG,KAAK,CAAC;IACrB,iDAAiD;IACjD,MAAM,CAAoB;IAE1B,YAAY,IAAc,EAAE,MAAc,EAAE,KAAa;QACxD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,uHAAuH;IACvH,OAAO,CAAC,OAAwB;QAC/B,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACtB,KAAK,MAAM;gBACV,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACpB,MAAM;YACP,KAAK,SAAS;gBACb,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,MAAM;YACP,KAAK,MAAM;gBACV,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,KAAK,OAAO;gBACX,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC1B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,MAAM;YACP,KAAK,OAAO;gBACX,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBAChD,MAAM;YACP,KAAK,KAAK;gBACT,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,MAAM;QACR,CAAC;IACF,CAAC;IAED;;;OAGG;IACH,MAAM;QACL,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QACvC,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;QACnF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAAE,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;gBAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9F,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,qDAAqD;QACrD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,OAAO;gBAAE,KAAK,CAAC,OAAO,EAAE,CAAC;;gBACpD,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,CAAC;QACD,qDAAqD;QACrD,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAChC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,oDAAoD;IACpD,IAAI,CAAC,OAAsB;QAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACnF,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,OAA0C,EAAE,KAAiB;QAC1E,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;YAChD,uFAAuF;YACvF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAU,CAAC;gBAAE,SAAS;YAC/C,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO;gBAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;iBACvD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO;gBAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACvE,CAAC;IACF,CAAC;IAED,uFAAuF;IACvF,OAAO,CAAC,IAAiB;QACxB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,4GAA4G;IAC5G,OAAO,CAAC,IAAc;QACrB,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QACxB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzB,KAAK,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;YACvE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACrB,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,KAAK,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,OAAwB,EAAE,IAAc;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO;QAC1D,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC;QAC5C,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;YACxB,KAAK,OAAO,CAAC;YACb,KAAK,OAAO,EAAE,CAAC;gBACd,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAA0B,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAChF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxB,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;oBACjD,OAAO;gBACR,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtB,yCAAyC;gBACzC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,EAAE,GAAG,SAAS,EAAE,KAAK,EAAuB,CAAC,CAAC;gBACjG,OAAO;YACR,CAAC;YACD,KAAK,QAAQ,CAAC;YACd,KAAK,OAAO,EAAE,CAAC;gBACd,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC7C,IAAI,IAAI,EAAE,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;oBAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAC9F,OAAO;YACR,CAAC;YACD,KAAK,MAAM,EAAE,CAAC;gBACb,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACrD,IAAI,IAAI,KAAK,SAAS;oBAAE,OAAO;gBAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACrB,OAAO;YACR,CAAC;YACD;gBACC,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,SAAS;oBAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClF,CAAC;IACF,CAAC;IAED,oFAAoF;IACpF,QAAQ,CAAC,IAAc;QACtB,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,IAAiB,EAAE,KAAiB;QACnD,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;gBAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,IAAwB,EAAE,KAAkB;QAClD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI;YAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,KAAK,IAAI,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;QACnG,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;gBAAE,SAAS;YACjC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACvB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;gBAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;IAChB,CAAC;IAED,gHAAgH;IAChH,KAAK,CAAC,EAAU,EAAE,KAAoE;QACrF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAAE,OAAO;QACpC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjB,IAAI,CAAC,OAAO,EAAE,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,OAAO;QACN,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzG,CAAC;IAED,kHAAkH;IAClH,IAAI,CAAC,IAAU,EAAE,OAAgB;QAChC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACF,CAAC;IAED,2DAA2D;IAC3D,MAAM,CAAC,IAAU;QAChB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,IAAU,EAAE,KAAiB;QACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClB,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;gBAAE,SAAS;YACjC,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;gBAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpD,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACtE,CAAC;IACF,CAAC;IAED,mFAAmF;IACnF,OAAO,CAAC,IAAU;QACjB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QACjG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,YAAY,CAAsC,OAAqB,EAAE,IAAc;QACtF,IAAI,IAAqB,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,SAAS,CAAC;YAClE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACxB,IAAI,OAAO;oBAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrB,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5B,CAAC;QACF,CAAC;QACD,OAAO,IAAI,IAAI,OAAO,CAAC;IACxB,CAAC;IAED,mEAAmE;IACnE,YAAY,CAAC,EAAU,EAAE,IAAc;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,IAAI,EAAE,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAoD;QACzD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,OAAO,CAAC,IAAI,oBAAoB,CAAC,CAAC;QAC/F,IAAI,OAAO,CAAC,MAAM,YAAY,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,OAAO,CAAC,IAAI,qBAAqB,CAAC,CAAC;QACvG,6GAA6G;QAC7G,MAAM,EACL,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,EAAE,EACR,SAAS,EAAE,UAAU,EACrB,WAAW,EAAE,YAAY,EACzB,KAAK,EACL,KAAK,EAAE,OAAO,EACd,GAAG,MAAM,EACT,GAAG,OAAO,CAAC;QACZ,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,CAAC;QACxG,MAAM,OAAO,GAAG;YACf,GAAG,MAAM;YACT,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;SACxC,CAAC;QACF,MAAM,MAAM,GAAG,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACxG,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,OAAoD;QAC3D,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QACtB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QACzF,qGAAqG;QACrG,MAAM,SAAS,GAAI,OAAO,CAAC,SAAiC,IAAI,IAAI,CAAC,SAAS,CAAC;QAC/E,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IACrE,CAAC;IAED,QAAQ,CAAC,EAAU;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO;QAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,CAAC,OAAO,EAAE,CAAC;IAChB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,OAAoD;QACzD,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,OAAO,CAAC,IAAI,oBAAoB,CAAC,CAAC;QAC7F,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO;QAC/B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,OAAO,CAAC,IAAI,eAAe,IAAI,CAAC,MAAM,QAAQ,CAAC,CAAC;QAC7G,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QACzC,IAAI,IAAI,YAAY,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,QAAQ,OAAO,CAAC,IAAI,qCAAqC,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACzB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAClC,OAAO;YACR,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnB,OAAO;QACR,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,IAAI,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;YAC7G,OAAO;QACR,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,IAAqC,CAAC;QAC1C,IAAI,CAAC;YACJ,IAAI,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC;gBAAE,MAAM,KAAK,CAAC;YACnD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAClC,OAAO;QACR,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtE,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,eAAe,EAAE,EAAW,CAAC;QACxG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACpC,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI,CACT,EAAU,EACV,IAAuD,EACvD,MAAc,EACd,IAAa;QAEb,IAAI,KAAoE,CAAC;QACzE,IAAI,CAAC;YACJ,yGAAyG;YACzG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACzG,sDAAsD;YACtD,KAAK;gBACJ,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;oBACtC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE;oBAC9B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,KAAK,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9D,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,8EAA8E;IAC9E,OAAO,CAAC,EAAU,EAAE,KAAiB;QACpC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,CAAC,EAAU;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO;QAC/B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACvB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;;YAC5C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC;IAC1G,CAAC;IAED;;;OAGG;IACH,IAAI;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO;QACjC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACxB,gDAAgD;YAChD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1D,OAAO;QACR,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,OAAgB;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC5B,qDAAqD;QACrD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC/B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,sFAAsF;QACtF,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,OAAO,GAAiB,EAAE,CAAC;YACjC,KAAK,MAAM,IAAI,IAAI,KAAK;gBAAE,IAAI,IAAI,CAAC,KAAK;oBAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAC5E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YACzE,OAAO;QACR,CAAC;QACD,4CAA4C;QAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,KAAK;gBAAE,SAAS;YAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACF,CAAC;IAED,+FAA+F;IAC/F,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;IACxF,CAAC;IAED;;;;OAIG;IACH,UAAU;QACT,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QAClC,OAAO,IAAI,CAAC,SAAS,GAAG,MAAM,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC/E,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACjC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACtB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,uFAAuF;gBACvF,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;YACxF,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACnC,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACjC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;gBAC3C,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1F,CAAC;iBAAM,CAAC;gBACP,OAAO;YACR,CAAC;QACF,CAAC;IACF,CAAC;IAED;;;OAGG;IACH,OAAO,CACN,EAAU,EACV,MAAe,EACf,KAAc,EACd,OAAgB;QAEhB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAC7F,CAAC;IAED,+EAA+E;IAC/E,QAAQ,CAAC,OAAqE;QAC7E,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,CAAC;CACD","sourcesContent":["// The provider side of one origin on a link (§3, §22, W1; decision \"Relay flow control per origin\"): the holds the\n// peer sent for that origin, served here or relayed, by their ids; the calls on them, at most this side's N at once;\n// and the window: at most K unacknowledged `bound` and `state` messages of this host's own, with what waits meanwhile,\n// and the sender of every message in flight, so each `ack` reaches the host that sent its message.\n\nimport { type Context, withAbortSignal } from \"../../context/index.ts\";\nimport { ChordError, isChordError, type Principal } from \"../data/index.ts\";\nimport type { Caller } from \"../host/internal.ts\";\nimport {\n\ttype BoundEntry,\n\ttype ConsumerMessage,\n\tDeflatedPart,\n\ttype Message,\n\ttype OriginMessage,\n\toversized,\n\ttype ProviderMessage,\n\tparsePayload,\n\tpayloadPart,\n\ttype StateEntry,\n\twireError,\n} from \"../link/internal.ts\";\nimport { Hold } from \"./hold.ts\";\nimport type { HostLink } from \"./host-link.ts\";\nimport type { RelayedHold } from \"./relay.ts\";\n\n/**\n * A call being handled: on a hold served here, with whether its result carries byte segments and the abort of its\n * handler's context; or relayed, its reply forwarded from upstream.\n */\ntype RunningCall =\n\t| { readonly kind: \"served\"; readonly hold: Hold; readonly bytes: boolean; readonly abort: AbortController }\n\t| { readonly kind: \"relayed\"; readonly hold: RelayedHold };\n\n/** Who sent a `bound` or `state` message in flight: this host, or the upstream link a relay forwarded it from. */\ntype Sender = \"local\" | HostLink;\n\n/** A relaying origin: its number on upstream links, and the open upstream links it relayed holds to. */\ntype Relay = { readonly origin: number; readonly links: Set<HostLink> };\n\n/** At most this many of this host's own `bound` and `state` messages unacknowledged per origin. */\nconst WINDOW = 2;\n\n/**\n * The provider side of one origin on a link. Ids are the origin's; a message naming an id this side does not know is\n * ignored (Q1), one reusing a live id is a protocol error, and so are more concurrent calls than this side announced.\n * This host's own `bound` and `state` messages go through the window: locally served holds wait while it is full\n * (their ops in their members' pending queues, their bindings for the next slot). A relay forwards upstream messages\n * at once (each upstream host keeps its own window for the origin it sees), so a slow consumer stalls only its origin.\n */\nexport class ProviderSide {\n\treadonly link: HostLink;\n\t/** Whose work this side serves: 0 for the peer's own, a relay's number for one of its downstream links. */\n\treadonly origin: number;\n\treadonly #calls = new Map<number, RunningCall>();\n\treadonly #entries = new Map<number, Hold | RelayedHold>();\n\treadonly #limit: number;\n\t/** The sender of each `bound` and `state` message in flight, in order: the consumer acknowledges in order. */\n\treadonly #sent: Sender[] = [];\n\t/** This host's own messages in flight. */\n\t#inFlight = 0;\n\t/** The holds the current batch touched, in order; its flush sends or queues them. */\n\t#touched: Hold[] = [];\n\t/** Holds whose ops wait in their pending queues for a slot. */\n\treadonly #waiting = new Set<Hold>();\n\t/** Holds waiting for a slot to send their first binding. */\n\treadonly #binding = new Set<Hold>();\n\t/** The waiting bindings take the next slot: the last one went to waiting state while they waited. */\n\t#bindingTurn = false;\n\t/** Set once a hold of this origin is relayed. */\n\t#relay: Relay | undefined;\n\n\tconstructor(link: HostLink, origin: number, limit: number) {\n\t\tthis.link = link;\n\t\tthis.origin = origin;\n\t\tthis.#limit = limit;\n\t}\n\n\t/** Handles one message of this origin; a call whose arguments wait for an asynchronous inflate returns its promise. */\n\tmessage(message: ProviderMessage): void | Promise<void> {\n\t\tswitch (message.kind) {\n\t\t\tcase \"hold\":\n\t\t\t\tthis.#hold(message);\n\t\t\t\tbreak;\n\t\t\tcase \"release\":\n\t\t\t\tthis.#release(message.hold);\n\t\t\t\tthis.#settle();\n\t\t\t\tbreak;\n\t\t\tcase \"call\":\n\t\t\t\treturn this.#call(message);\n\t\t\tcase \"abort\":\n\t\t\t\tthis.#abort(message.call);\n\t\t\t\tthis.#settle();\n\t\t\t\tbreak;\n\t\t\tcase \"retry\":\n\t\t\t\tthis.#entries.get(message.hold)?.retry(message);\n\t\t\t\tbreak;\n\t\t\tcase \"ack\":\n\t\t\t\tthis.#ack();\n\t\t\t\tthis.#settle();\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t/**\n\t * The link closed, or the origin did (`closed`): every hold is released (relayed ones by one `closed` to each\n\t * upstream link) and every call aborted.\n\t */\n\tclosed(): void {\n\t\tconst closing = this.link.host.closing;\n\t\tconst entries = [...this.#entries.values()];\n\t\tthis.#entries.clear();\n\t\tconst closed = new ChordError({ code: \"unavailable\", message: \"the link closed\" });\n\t\tfor (const call of this.#calls.values()) if (call.kind === \"served\") call.abort.abort(closed);\n\t\tthis.#calls.clear();\n\t\t// While the host closes, it ends its objects itself.\n\t\tfor (const entry of entries) {\n\t\t\tif (entry.kind === \"served\" && !closing) entry.release();\n\t\t\telse entry.drop();\n\t\t}\n\t\t// A batch flushing later finds nothing of this side.\n\t\tthis.#touched = [];\n\t\tconst relay = this.#relay;\n\t\tif (relay === undefined) return;\n\t\tthis.link.host.relays.delete(relay.origin);\n\t\tfor (const link of relay.links) link.send({ kind: \"closed\", origin: relay.origin });\n\t}\n\n\t/** Sends `message` on the link with this origin. */\n\tsend(message: OriginMessage): void {\n\t\tthis.link.send(this.origin === 0 ? message : { ...message, origin: this.origin });\n\t}\n\n\t/**\n\t * Ends with `error` every hold of this origin that acts for a principal `revoked` names and holds nothing: served\n\t * here but unbound (before the publication, refused), or relayed and waiting for its route's link.\n\t */\n\trevokeUnbound(revoked: (principal: Principal) => boolean, error: ChordError): void {\n\t\tfor (const hold of [...this.#entries.values()]) {\n\t\t\t// A hold arriving on a link acts for a principal: the link's, or one its parent named.\n\t\t\tif (!revoked(hold.caller.principal!)) continue;\n\t\t\tif (hold.kind === \"served\" && hold.unbound) hold.end(error);\n\t\t\telse if (hold.kind === \"relayed\" && hold.waiting) hold.revoked(error);\n\t\t}\n\t}\n\n\t/** A pending hold turned out to be relayed: it takes the hold's place in the table. */\n\trelayed(hold: RelayedHold): void {\n\t\tthis.#entries.set(hold.id, hold);\n\t}\n\n\t/** This origin's number on upstream links (one per host, never reused), with `link` as one it relays to. */\n\trelayTo(link: HostLink): number {\n\t\tlet relay = this.#relay;\n\t\tif (relay === undefined) {\n\t\t\trelay = { origin: this.link.host.relayOrigin(this), links: new Set() };\n\t\t\tthis.#relay = relay;\n\t\t}\n\t\trelay.links.add(link);\n\t\treturn relay.origin;\n\t}\n\n\t/**\n\t * A message from upstream link `from` for this origin's relayed holds, forwarded with this origin: `bound` and\n\t * `state` join the window's senders (their `ack` goes back to `from`), a reply ends its call, `gone` forgets its\n\t * hold. A link answers only for what was relayed over it: an entry, a notice or a reply naming a hold (or a call)\n\t * this origin did not relay over `from` is dropped (Q1); a `bound` or `state` left without entries is acknowledged\n\t * to `from` at once. Parts travel unchecked and unparsed: the end that parses a part checks it against its own\n\t * link's limits.\n\t */\n\tforward(message: ConsumerMessage, from: HostLink): void {\n\t\tconst relay = this.#relay;\n\t\tif (relay === undefined || !relay.links.has(from)) return;\n\t\tconst { origin: _, ...forwarded } = message;\n\t\tswitch (forwarded.kind) {\n\t\t\tcase \"bound\":\n\t\t\tcase \"state\": {\n\t\t\t\tconst holds = this.#relayedOver<BoundEntry | StateEntry>(forwarded.holds, from);\n\t\t\t\tif (holds.length === 0) {\n\t\t\t\t\tfrom.send({ kind: \"ack\", origin: relay.origin });\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.#sent.push(from);\n\t\t\t\t// The entries of the message's own kind.\n\t\t\t\tthis.send(holds === forwarded.holds ? forwarded : ({ ...forwarded, holds } as typeof forwarded));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcase \"result\":\n\t\t\tcase \"error\": {\n\t\t\t\tconst call = this.#calls.get(forwarded.call);\n\t\t\t\tif (call?.kind === \"relayed\" && call.hold.heldOn(from)) this.reply(forwarded.call, forwarded);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcase \"gone\": {\n\t\t\t\tconst hold = this.#relayedHold(forwarded.hold, from);\n\t\t\t\tif (hold === undefined) return;\n\t\t\t\thold.lost();\n\t\t\t\tthis.send(forwarded);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tdefault:\n\t\t\t\tif (this.#relayedHold(forwarded.hold, from) !== undefined) this.send(forwarded);\n\t\t}\n\t}\n\n\t/** An upstream link closed: nothing more is relayed to it, nor accepted from it. */\n\tunlinked(link: HostLink): void {\n\t\tthis.#relay?.links.delete(link);\n\t}\n\n\t/**\n\t * The upstream link of relayed hold `hold` dropped with `error`: its calls in flight fail, the hold goes loading\n\t * downstream, and its path's next link holds it again.\n\t */\n\tupstreamDropped(hold: RelayedHold, error: ChordError): void {\n\t\tfor (const [id, call] of this.#calls) {\n\t\t\tif (call.hold === hold) this.reply(id, { kind: \"error\", call: id, error: wireError(error) });\n\t\t}\n\t\tthis.send({ kind: \"loading\", hold: hold.id });\n\t}\n\n\t/**\n\t * Forgets a hold (released, refused or gone) and every call on it; local calls are aborted with `error` (its\n\t * object's end for a gone hold, `released` otherwise).\n\t */\n\tforget(hold: Hold | RelayedHold, error?: ChordError): void {\n\t\tif (this.#entries.get(hold.id) === hold) this.#entries.delete(hold.id);\n\t\tconst reason = error ?? new ChordError({ code: \"released\", message: `hold ${hold.id}: released` });\n\t\tfor (const [id, call] of this.#calls) {\n\t\t\tif (call.hold !== hold) continue;\n\t\t\tthis.#calls.delete(id);\n\t\t\tif (call.kind === \"served\") call.abort.abort(reason);\n\t\t}\n\t\tif (hold.kind === \"served\") this.unbind(hold);\n\t\tthis.#settle();\n\t}\n\n\t/** A call ended with `reply` (a result or an error): its slot is free; nothing is sent for one already gone. */\n\treply(id: number, reply: Extract<OriginMessage, { readonly kind: \"result\" | \"error\" }>): void {\n\t\tif (!this.#calls.delete(id)) return;\n\t\tthis.send(reply);\n\t\tthis.#settle();\n\t}\n\n\t/**\n\t * Drops this side from its link once it holds nothing: no holds, no calls, nothing in flight. Its origin's next hold\n\t * makes a new one (origins are never reused), so a long-lived link keeps records only for live work.\n\t */\n\t#settle(): void {\n\t\tif (this.#entries.size === 0 && this.#calls.size === 0 && this.#sent.length === 0) this.link.drop(this);\n\t}\n\n\t/** A hold's object is live: its `bound` goes now when a slot is free, else with the next free slot's bindings. */\n\tbind(hold: Hold, context: Context): void {\n\t\tif (this.#free) {\n\t\t\tthis.#sendOwn({ kind: \"bound\", holds: [hold.boundEntry(context)] });\n\t\t} else {\n\t\t\tthis.#binding.add(hold);\n\t\t}\n\t}\n\n\t/** A hold stopped waiting for a slot: it was forgotten. */\n\tunbind(hold: Hold): void {\n\t\tthis.#waiting.delete(hold);\n\t\tthis.#binding.delete(hold);\n\t}\n\n\t/**\n\t * A served hold left its object's binding (slice 7b §6, model §5): its unsent pending ops and a queued `bound` are\n\t * dropped (the ack slots of messages already sent stay until their `ack`), its calls in flight rejected with `error`\n\t * (each slot freed once).\n\t */\n\tunbound(hold: Hold, error: ChordError): void {\n\t\tthis.unbind(hold);\n\t\tfor (const [id, call] of this.#calls) {\n\t\t\tif (call.hold !== hold) continue;\n\t\t\tif (call.kind === \"served\") call.abort.abort(error);\n\t\t\tthis.reply(id, { kind: \"error\", call: id, error: wireError(error) });\n\t\t}\n\t}\n\n\t/** A hold's members changed in the current batch; its flush sends or queues it. */\n\ttouched(hold: Hold): void {\n\t\tif (this.#touched.length === 0) this.link.host.batch.flushing((context) => this.#flush(context));\n\t\tthis.#touched.push(hold);\n\t}\n\n\t/**\n\t * `entries` whose holds this origin relayed over `from`, in one pass: the same array when all are, else a copy made\n\t * at the first one that is not.\n\t */\n\t#relayedOver<E extends { readonly hold: number }>(entries: readonly E[], from: HostLink): readonly E[] {\n\t\tlet kept: E[] | undefined;\n\t\tfor (let i = 0; i < entries.length; i++) {\n\t\t\tconst entry = entries[i]!;\n\t\t\tconst relayed = this.#relayedHold(entry.hold, from) !== undefined;\n\t\t\tif (kept !== undefined) {\n\t\t\t\tif (relayed) kept.push(entry);\n\t\t\t} else if (!relayed) {\n\t\t\t\tkept = entries.slice(0, i);\n\t\t\t}\n\t\t}\n\t\treturn kept ?? entries;\n\t}\n\n\t/** The hold `id` of this origin when it is relayed over `from`. */\n\t#relayedHold(id: number, from: HostLink): RelayedHold | undefined {\n\t\tconst hold = this.#entries.get(id);\n\t\treturn hold?.kind === \"relayed\" && hold.heldOn(from) ? hold : undefined;\n\t}\n\n\t/**\n\t * A hold message: a protocol error for a live id or compressed params (params are never compressed), otherwise\n\t * admitted (`Hold.start`, placed once the host published). Its activation chain is kept only from a trusted link (Q5); its\n\t * decoded limit is the link's, or the smaller one a parent stamped (Q2), and travels with it when it is relayed.\n\t */\n\t#hold(message: Extract<Message, { readonly kind: \"hold\" }>): void {\n\t\tif (this.#entries.has(message.hold)) throw new Error(`hold ${message.hold}: the id is in use`);\n\t\tif (message.params instanceof DeflatedPart) throw new Error(`hold ${message.hold}: compressed params`);\n\t\t// Whom it acts for is decided here once (`#caller`), never passed on: a relay names it only on a route link.\n\t\tconst {\n\t\t\tkind: _kind,\n\t\t\torigin: _origin,\n\t\t\thold: id,\n\t\t\tprincipal: _principal,\n\t\t\tincarnation: _incarnation,\n\t\t\tchain,\n\t\t\tlimit: stamped,\n\t\t\t...fields\n\t\t} = message;\n\t\tconst { link } = this;\n\t\tconst limit = Math.min(link.limits.decoded, (link.role === \"parent\" ? stamped : undefined) ?? Infinity);\n\t\tconst request = {\n\t\t\t...fields,\n\t\t\t...(chain !== undefined && link.trusted ? { chain } : {}),\n\t\t\t...(limit === Infinity ? {} : { limit }),\n\t\t};\n\t\tconst limits = limit === link.limits.decoded ? link.limits : { part: link.limits.part, decoded: limit };\n\t\tconst hold = new Hold(id, this, this.#caller(message), limits);\n\t\tthis.#entries.set(id, hold);\n\t\thold.start(request);\n\t}\n\n\t/**\n\t * Whom a hold acts for: on a parent link the hold's own principal and incarnation when it names them, everywhere\n\t * else the link's principal and the peer's incarnation (a child cannot claim to be someone else).\n\t */\n\t#caller(message: Extract<Message, { readonly kind: \"hold\" }>): Caller {\n\t\tconst { link } = this;\n\t\tif (link.role !== \"parent\") return { principal: link.principal, incarnation: link.peer };\n\t\t// The message schema checked a principal's shape on an untrusted link; a trusted parent is believed.\n\t\tconst principal = (message.principal as Caller[\"principal\"]) ?? link.principal;\n\t\treturn { principal, incarnation: message.incarnation ?? link.peer };\n\t}\n\n\t#release(id: number): void {\n\t\tconst hold = this.#entries.get(id);\n\t\tif (hold === undefined) return;\n\t\tthis.forget(hold);\n\t\thold.release();\n\t}\n\n\t/**\n\t * A call: one on a hold this side does not know is ignored (Q1), more than this side's N at once and compressed\n\t * arguments from a child (clients never compress) are protocol errors. On a relayed hold it is forwarded, its\n\t * arguments checked against this link's part limit first (the bytes are here). On a served hold that is not bound\n\t * yet (nor binding afresh after a swap) it is refused `not_ready`; its method is an index into the bound variant (one\n\t * outside it is a protocol error) and its arguments are opened and parsed here within the hold's limits (past one\n\t * the call fails `too_large/part`; a malformed part is a protocol error), absent ones `null`. Arguments this host\n\t * must inflate asynchronously are inflated first, then the call is handled again.\n\t */\n\t#call(message: Extract<Message, { readonly kind: \"call\" }>): void | Promise<void> {\n\t\tif (this.#calls.has(message.call)) throw new Error(`call ${message.call}: the id is in use`);\n\t\tconst hold = this.#entries.get(message.hold);\n\t\tif (hold === undefined) return;\n\t\tif (this.#calls.size >= this.#limit) throw new Error(`call ${message.call}: more than ${this.#limit} calls`);\n\t\tconst { args: part, segments } = message;\n\t\tif (part instanceof DeflatedPart && this.link.role === \"child\") {\n\t\t\tthrow new Error(`call ${message.call}: compressed arguments from a child`);\n\t\t}\n\t\tif (hold.kind === \"relayed\") {\n\t\t\tconst error = part === undefined ? undefined : oversized(part, this.link.limits.part);\n\t\t\tif (error !== undefined) {\n\t\t\t\tthis.#refuse(message.call, error);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.#calls.set(message.call, { kind: \"relayed\", hold });\n\t\t\thold.call(message);\n\t\t\treturn;\n\t\t}\n\t\tif (!hold.callable) {\n\t\t\tthis.#refuse(message.call, new ChordError({ code: \"not_ready\", message: `hold ${hold.id}: not bound yet` }));\n\t\t\treturn;\n\t\t}\n\t\tconst method = hold.method(message.method);\n\t\tif (this.link.inflates(part, hold.limits)) {\n\t\t\treturn this.link.inflate([[part, hold.limits.decoded]], () => this.#call(message));\n\t\t}\n\t\tlet json: string | Uint8Array | undefined;\n\t\ttry {\n\t\t\tjson = part === undefined ? undefined : this.link.openPart(part, hold.limits, this.link.context);\n\t\t} catch (error) {\n\t\t\tif (!isChordError(error, \"too_large\")) throw error;\n\t\t\tthis.#refuse(message.call, error);\n\t\t\treturn;\n\t\t}\n\t\tconst args = json === undefined ? null : parsePayload(json, segments);\n\t\tconst call = { kind: \"served\", hold, bytes: method.resultBytes, abort: new AbortController() } as const;\n\t\tthis.#calls.set(message.call, call);\n\t\tvoid this.#run(message.call, call, method.name, args);\n\t}\n\n\t/**\n\t * Runs a call and sends its result (absent when `null`) or error, unless it was aborted, released or gone\n\t * meanwhile. A result that cannot be encoded is sent as its error.\n\t */\n\tasync #run(\n\t\tid: number,\n\t\tcall: Extract<RunningCall, { readonly kind: \"served\" }>,\n\t\tmethod: string,\n\t\targs: unknown,\n\t): Promise<void> {\n\t\tlet reply: Extract<OriginMessage, { readonly kind: \"result\" | \"error\" }>;\n\t\ttry {\n\t\t\t// A link's context has no abort signal, so this is the call's own signal: no `AbortSignal.any` per call.\n\t\t\tconst result = await call.hold.call(method, args, withAbortSignal(call.abort.signal, this.link.context));\n\t\t\t// Results are not validated: they are the provider's.\n\t\t\treply =\n\t\t\t\tresult === null || result === undefined\n\t\t\t\t\t? { kind: \"result\", call: id }\n\t\t\t\t\t: this.#result(id, result, call.bytes, this.link.context);\n\t\t} catch (error) {\n\t\t\treply = { kind: \"error\", call: id, error: wireError(error) };\n\t\t}\n\t\tthis.reply(id, reply);\n\t}\n\n\t/** Answers call `id` with `error` before it was admitted: it took no slot. */\n\t#refuse(id: number, error: ChordError): void {\n\t\tthis.send({ kind: \"error\", call: id, error: wireError(error) });\n\t}\n\n\t#abort(id: number): void {\n\t\tconst call = this.#calls.get(id);\n\t\tif (call === undefined) return;\n\t\tthis.#calls.delete(id);\n\t\tif (call.kind === \"relayed\") call.hold.abort(id);\n\t\telse call.abort.abort(new ChordError({ code: \"aborted\", message: `call ${id}: aborted by its caller` }));\n\t}\n\n\t/**\n\t * An `ack` answers the oldest message in flight: this host's own frees a slot, a relayed one is acknowledged to its\n\t * upstream link (closed meanwhile: nothing to do). An ack crossing nothing in flight is ignored.\n\t */\n\t#ack(): void {\n\t\tconst sender = this.#sent.shift();\n\t\tif (sender === undefined) return;\n\t\tif (sender !== \"local\") {\n\t\t\t// A relayed message implies the relay's number.\n\t\t\tsender.send({ kind: \"ack\", origin: this.#relay!.origin });\n\t\t\treturn;\n\t\t}\n\t\tthis.#inFlight--;\n\t\tthis.#slotFreed();\n\t}\n\n\t/**\n\t * The end of a batch: while a slot is free and nothing waits, one `state` message with an entry per touched hold;\n\t * otherwise each touched hold's ops join its pending queues until a slot frees.\n\t */\n\t#flush(context: Context): void {\n\t\tconst holds = this.#touched;\n\t\t// The side closed during the batch: nothing is sent.\n\t\tif (holds.length === 0) return;\n\t\tthis.#touched = [];\n\t\t// A hold touched in this batch may have left its binding since (a reload unbound it).\n\t\tif (this.#free) {\n\t\t\tconst entries: StateEntry[] = [];\n\t\t\tfor (const hold of holds) if (hold.bound) entries.push(hold.entry(context));\n\t\t\tif (entries.length > 0) this.#sendOwn({ kind: \"state\", holds: entries });\n\t\t\treturn;\n\t\t}\n\t\t// A bound hold never waits for its binding.\n\t\tfor (const hold of holds) {\n\t\t\tif (!hold.bound) continue;\n\t\t\thold.queue();\n\t\t\tthis.#waiting.add(hold);\n\t\t}\n\t}\n\n\t/** Whether this host's next message goes out now: a slot is free and nothing waits for one. */\n\tget #free(): boolean {\n\t\treturn this.#binding.size === 0 && this.#waiting.size === 0 && this.#inFlight < WINDOW;\n\t}\n\n\t/**\n\t * A slot may be free: while there is room, the waiting state goes out as one message and the waiting bindings as\n\t * one `bound`, taking turns when both wait (state first), so neither a hold that keeps changing nor a stream of new\n\t * holds starves the other.\n\t */\n\t#slotFreed(): void {\n\t\tconst context = this.link.context;\n\t\twhile (this.#inFlight < WINDOW) {\n\t\t\tif (this.#binding.size > 0 && (this.#waiting.size === 0 || this.#bindingTurn)) {\n\t\t\t\tconst holds = [...this.#binding];\n\t\t\t\tthis.#binding.clear();\n\t\t\t\tthis.#bindingTurn = false;\n\t\t\t\t// Every snapshot in one synchronous step: the binding shows all of them at one moment.\n\t\t\t\tthis.#sendOwn({ kind: \"bound\", holds: holds.map((hold) => hold.boundEntry(context)) });\n\t\t\t} else if (this.#waiting.size > 0) {\n\t\t\t\tconst holds = [...this.#waiting];\n\t\t\t\tthis.#waiting.clear();\n\t\t\t\tthis.#bindingTurn = this.#binding.size > 0;\n\t\t\t\tthis.#sendOwn({ kind: \"state\", holds: holds.map((hold) => hold.pendingEntry(context)) });\n\t\t\t} else {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * A call's result message, its part deflated above the threshold when this host compresses; with byte segments when\n\t * its method's result schema has a `bytes()` leaf.\n\t */\n\t#result(\n\t\tid: number,\n\t\tresult: unknown,\n\t\tbytes: boolean,\n\t\tcontext: Context,\n\t): Extract<OriginMessage, { readonly kind: \"result\" }> {\n\t\tconst { json, segments } = payloadPart(result, bytes);\n\t\tconst value = this.link.part(json, context);\n\t\treturn { kind: \"result\", call: id, value, ...(segments === undefined ? {} : { segments }) };\n\t}\n\n\t/** Sends one of this host's own `bound` or `state` messages, taking a slot. */\n\t#sendOwn(message: Extract<OriginMessage, { readonly kind: \"bound\" | \"state\" }>): void {\n\t\tthis.#inFlight++;\n\t\tthis.#sent.push(\"local\");\n\t\tthis.send(message);\n\t}\n}\n"]}
@@ -1,58 +0,0 @@
1
- import { ChordError } from "../data/index.ts";
2
- import type { Caller } from "../host/internal.ts";
3
- import { type Message } from "../link/internal.ts";
4
- import { type HoldRequest } from "./hold.ts";
5
- import type { HostLink } from "./host-link.ts";
6
- import type { Path } from "./path.ts";
7
- import type { ProviderSide } from "./provider.ts";
8
- /**
9
- * One relayed hold: `id` on its downstream origin, and the same id upstream on its path's current link (none while
10
- * the path has no link). It keeps its `hold` message to hold again on the next link. Calls, `abort`, `retry` and
11
- * `release` go upstream at once; what comes back is forwarded by its downstream origin (`ProviderSide.forward`). Two
12
- * downstream holds are two upstream holds, each with its own encoders (R1).
13
- */
14
- export declare class RelayedHold {
15
- #private;
16
- readonly kind = "relayed";
17
- readonly id: number;
18
- /** Whom the hold acts for, sent on route links. */
19
- readonly caller: Caller;
20
- constructor(id: number, downstream: ProviderSide, request: HoldRequest, caller: Caller, path: Path);
21
- /** Takes the pending hold's place downstream and holds upstream (now, or when the path has a link). */
22
- start(): void;
23
- /** Whether it is held on `link` now: only that link answers for it. */
24
- heldOn(link: HostLink): boolean;
25
- /** Holds on `link`, the path's link now: its kept `hold` message, with whom it acts for on a route link. */
26
- attach(link: HostLink): void;
27
- /** The upstream link dropped: downstream its calls fail and the hold goes loading until the path's next link. */
28
- dropped(error: ChordError): void;
29
- /** Its path's address cannot be reached for now: downstream it fails `waiting` with `error` until the next link. */
30
- unreachable(error: ChordError): void;
31
- /**
32
- * Whether it waits for its path's link (a route still resolving, or a dropped link's next): a revocation ends it then,
33
- * since the link it is held on next gets no past `revoke` (§4).
34
- */
35
- get waiting(): boolean;
36
- /** Revoked while it waited for its path's link: forgotten, and `gone` with `error` downstream. */
37
- revoked(error: ChordError): void;
38
- /** `gone` from upstream: the hold is forgotten (the downstream origin forwards the message). */
39
- lost(): void;
40
- /**
41
- * A call from downstream (registered there under its id), forwarded upstream at once; its reply comes back by the
42
- * origin. Without an upstream link it is answered `unavailable` at once (it crossed the `loading` notice).
43
- */
44
- call(message: Extract<Message, {
45
- readonly kind: "call";
46
- }>): void;
47
- /** A downstream `abort` of call `id`, forwarded. */
48
- abort(id: number): void;
49
- /** A downstream `retry`, forwarded with its hop budget as it is (a relay visits no object). */
50
- retry(message: Extract<Message, {
51
- readonly kind: "retry";
52
- }>): void;
53
- /** Released downstream: released upstream (its calls with it) and no later link holds it. */
54
- release(): void;
55
- /** No later link holds it (gone, or its downstream origin closed, which `closed` tells the upstream links). */
56
- drop(): void;
57
- }
58
- //# sourceMappingURL=relay.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"relay.d.ts","sourceRoot":"","sources":["../../../src/next/remote/relay.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,KAAK,OAAO,EAAa,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD;;;;;GAKG;AACH,qBAAa,WAAW;;IACvB,QAAQ,CAAC,IAAI,aAAa;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAOpB,mDAAmD;IACnD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAKxB,YAAY,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EASjG;IAED,uGAAuG;IACvG,KAAK,IAAI,IAAI,CAGZ;IAED,uEAAuE;IACvE,MAAM,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAE9B;IAED,4GAA4G;IAC5G,MAAM,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAI3B;IAED,iHAAiH;IACjH,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAI/B;IAED,oHAAoH;IACpH,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAEnC;IAED;;;OAGG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,kGAAkG;IAClG,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAI/B;IAED,gGAAgG;IAChG,IAAI,IAAI,IAAI,CAGX;IAED;;;OAGG;IACH,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAQ/D;IAED,oDAAoD;IACpD,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAGtB;IAED,+FAA+F;IAC/F,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC,GAAG,IAAI,CAGjE;IAED,6FAA6F;IAC7F,OAAO,IAAI,IAAI,CAId;IAED,+GAA+G;IAC/G,IAAI,IAAI,IAAI,CAGX;CACD"}