@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
@@ -0,0 +1,304 @@
1
+ // Staging (slice 7b §2; per plugin, decision "Per plugin at startup and reload"): each plugin's setup runs into a table of
2
+ // its own (the types it serves with their providers, the registries it serves, its facet contributions) with `load`'s
3
+ // checks, merged into the staged table beside the live one, where a type or registry another plugin serves already
4
+ // fails the plugin; and an object's new factory run against a recording `self`, which keeps what the factory declares
5
+ // (documents, tables, jobs, contributions, requests with their contract versions) and activates, binds and opens
6
+ // nothing, so a reload decides which plugins keep their old code before its commit, and a restart knows the requests
7
+ // its successor will make (its readiness).
8
+ // `load` stages its facets the same way and publishes them.
9
+ import { contractData } from "../contracts/internal.js";
10
+ import { bindProvider, checkParams } from "../data/internal.js";
11
+ import { checkProvider } from "../registries/internal.js";
12
+ import { checkLiveQuery } from "../store/live-query.js";
13
+ import { tableSqlName } from "../store/sql.js";
14
+ import { setUp } from "./facet.js";
15
+ import { retrySource } from "./retry-on.js";
16
+ /** An npm package name, scoped or not. */
17
+ const PLUGIN_NAME = /^(?:@[a-z0-9~-][a-z0-9._~-]*\/)?[a-z0-9~-][a-z0-9._~-]*$/;
18
+ /** Whether `name` is a valid plugin name: an npm package name, scoped or not (the plugins component checks it too). */
19
+ export function isPluginName(name) {
20
+ return PLUGIN_NAME.test(name);
21
+ }
22
+ /**
23
+ * Throws for the first plugin of `facets` whose name is no npm package name: a programming error, so `load` and
24
+ * `reload` throw before they change anything (decision "Mistakes that wait are reported at once" (d)).
25
+ */
26
+ export function checkPluginNames(facets) {
27
+ for (const { name } of facets)
28
+ if (!isPluginName(name))
29
+ throw new Error(`"${name}" is not a valid plugin name`);
30
+ }
31
+ /** A staged table with nothing in it. */
32
+ export function emptyStaged() {
33
+ return { types: new Map(), registries: new Map(), plugins: new Map() };
34
+ }
35
+ /**
36
+ * Runs one plugin's setup (its name checked by `checkPluginNames` before) and checks what it declared: a type or
37
+ * registry it serves twice, a remote type on a host without a principal or address, every provider's `accepts`
38
+ * (`checkAccepts`) and every registry provider's shape. Throws the first error, naming the plugin.
39
+ */
40
+ export function stagePlugin({ name, facet }, host) {
41
+ // The host's presence lists are typed for its `P`.
42
+ const references = host.references;
43
+ const types = new Map();
44
+ const registries = new Map();
45
+ try {
46
+ const { served, contributions } = setUp(name, facet, references);
47
+ for (const entry of served)
48
+ stageEntry(name, entry, types, registries, host);
49
+ return { name, types, registries, contributions };
50
+ }
51
+ catch (error) {
52
+ throw named(error, `plugin "${name}"`);
53
+ }
54
+ }
55
+ /**
56
+ * Merges `plugin` into `staged`; a type or registry another plugin serves there already refuses it (its error
57
+ * returned, nothing merged).
58
+ */
59
+ export function addStaged(staged, plugin) {
60
+ for (const name of plugin.types.keys()) {
61
+ const other = staged.types.get(name);
62
+ if (other !== undefined)
63
+ return new Error(`plugin "${plugin.name}": ${name} is served twice (plugin "${other.plugin}")`);
64
+ }
65
+ for (const name of plugin.registries.keys()) {
66
+ const other = staged.registries.get(name);
67
+ if (other !== undefined) {
68
+ return new Error(`plugin "${plugin.name}": registry ${name} is served twice (plugin "${other.plugin}")`);
69
+ }
70
+ }
71
+ for (const [name, served] of plugin.types)
72
+ staged.types.set(name, served);
73
+ for (const [name, registry] of plugin.registries)
74
+ staged.registries.set(name, registry);
75
+ staged.plugins.set(plugin.name, plugin);
76
+ return undefined;
77
+ }
78
+ /** Stages one served entry of `plugin` into its tables: a registry's provider, or a type as `Served`. */
79
+ function stageEntry(plugin, entry, types, registries, host) {
80
+ if (entry.kind === "registry") {
81
+ const { registry, provider } = entry;
82
+ if (registries.has(registry.name))
83
+ throw new Error(`registry ${registry.name} is served twice`);
84
+ checkProvider(registry.name, provider);
85
+ registries.set(registry.name, { plugin, registry, provider });
86
+ return;
87
+ }
88
+ const { contract, factory, options } = entry;
89
+ if (types.has(contract.name))
90
+ throw new Error(`${contract.name} is served twice`);
91
+ // A client serves only local types (§3): a remote object is owned by a principal of the host serving it.
92
+ if (contract.kind === "remote" && host.principal === undefined) {
93
+ throw new Error(`${contract.name}: a host without a principal serves only local types`);
94
+ }
95
+ // A remote object lives on the host its `hostAddress` names: only a host with an address can be that host.
96
+ if (contract.kind === "remote" && host.address === undefined) {
97
+ throw new Error(`${contract.name}: a host without an address serves only local types`);
98
+ }
99
+ const provider = bindProvider(contract, options.accepts ?? {});
100
+ const common = { plugin, provider, linger: options.linger ?? 0, traced: options.untraced !== true };
101
+ // The contract's kind decides the factory's signature and the contract's shape.
102
+ const served = contract.kind === "local"
103
+ ? {
104
+ ...common,
105
+ kind: "local",
106
+ contract: contract,
107
+ factory: factory,
108
+ hostLifetime: contractData(contract).params.fields.length === 0,
109
+ }
110
+ : {
111
+ ...common,
112
+ kind: "remote",
113
+ contract: contract,
114
+ factory: factory,
115
+ };
116
+ types.set(contract.name, served);
117
+ }
118
+ /**
119
+ * Runs `served`'s factory for `object` (its params and principal) against a recording `self` and returns what it
120
+ * declared. Every declaration check an attempt makes runs, without effects (declared twice; persisted data in a type
121
+ * without a stable identity, on a host without a store, or claimed by another owner; contributions outside
122
+ * host-lifetime objects, or twice; `retryOn` sources that do not outlive the attempt; params; a document or job
123
+ * declared at an older version than the object's, or at its version with another schema); a throw is the factory's.
124
+ * Handles it hands out are inert, except registry values (the host's own, which `retryOn` checks by kind).
125
+ */
126
+ export function recordFactory(object, served, context) {
127
+ const recording = new RecordingSelf(object, served, context);
128
+ // A recording `self` takes every declaration a factory makes, its handles inert.
129
+ const self = recording;
130
+ try {
131
+ if (served.kind === "local")
132
+ served.factory(object.params, self);
133
+ // A remote object's identity has its principal.
134
+ else
135
+ served.factory(object.params, object.principal, self);
136
+ }
137
+ catch (error) {
138
+ throw named(error, `plugin "${served.plugin}", ${object.label}`);
139
+ }
140
+ finally {
141
+ recording.declaring = false;
142
+ }
143
+ return recording.recorded;
144
+ }
145
+ /** A staging error naming where it happened (`what`): its message prefixed, the error itself its cause. */
146
+ function named(error, what) {
147
+ const message = error instanceof Error ? error.message : String(error);
148
+ return new Error(`${what}: ${message}`, { cause: error });
149
+ }
150
+ /**
151
+ * The value of every handle a recording `self` hands out: any property or call gives it again, and it is never a
152
+ * thenable. Typed `never` (a cast: it stands for every handle type, and nothing reads it as one).
153
+ */
154
+ const INERT = new Proxy(() => { }, {
155
+ get: (_target, property) => (property === "then" ? undefined : INERT),
156
+ apply: () => INERT,
157
+ });
158
+ /** A factory's `self` during staging: it records declarations and checks them; it activates nothing. */
159
+ class RecordingSelf {
160
+ declaring = true;
161
+ #object;
162
+ #served;
163
+ #context;
164
+ #documents = new Map();
165
+ #tables = new Map();
166
+ #jobs = new Map();
167
+ #contributions = new Map();
168
+ #requests = [];
169
+ constructor(object, served, context) {
170
+ this.#object = object;
171
+ this.#served = served;
172
+ this.#context = context;
173
+ }
174
+ get recorded() {
175
+ return {
176
+ documents: [...this.#documents.values()],
177
+ tables: [...this.#tables.values()],
178
+ jobs: [...this.#jobs.values()],
179
+ contributions: [...this.#contributions.values()],
180
+ requests: this.#requests,
181
+ };
182
+ }
183
+ state(definition) {
184
+ this.#assertDeclaring("state");
185
+ const what = `state "${definition.name}"`;
186
+ if (this.#documents.has(definition.name))
187
+ throw new Error(`${this.#object.label}: ${what} is declared twice`);
188
+ if (definition.persist)
189
+ this.#assertClaimable(what, ["chord"]);
190
+ this.#object.documents.check(definition);
191
+ this.#documents.set(definition.name, definition);
192
+ return INERT;
193
+ }
194
+ table(definition) {
195
+ this.#assertDeclaring("table");
196
+ const store = this.#assertPersistable(`table "${definition.name}"`);
197
+ if (this.#tables.has(definition.name)) {
198
+ throw new Error(`${this.#object.label}: table "${definition.name}" is declared twice`);
199
+ }
200
+ const object = this.#object;
201
+ store.claims.assertTable(tableSqlName(object.served.contract.name, definition.name), object);
202
+ this.#tables.set(definition.name, definition);
203
+ return INERT;
204
+ }
205
+ /** A live query over a table this factory declared (its handle is inert: the query names the table), limited. */
206
+ query(_table, q, limit) {
207
+ this.#assertDeclaring("query");
208
+ const label = this.#object.label;
209
+ const table = this.#tables.get(q.table.name);
210
+ if (table !== q.table)
211
+ throw new Error(`${label}: self.query: the table is not one this factory declared`);
212
+ checkLiveQuery(table, q, limit, label);
213
+ return INERT;
214
+ }
215
+ derive() {
216
+ this.#assertDeclaring("derive");
217
+ return INERT;
218
+ }
219
+ get(Type, params) {
220
+ this.#assertDeclaring("get");
221
+ const checked = checkParams(Type, params, this.#context);
222
+ this.#requests.push({ kind: "type", contract: Type, params: checked.params });
223
+ return INERT;
224
+ }
225
+ registry(R) {
226
+ this.#assertDeclaring("registry");
227
+ this.#requests.push({ kind: "registry", registry: R });
228
+ // The host's own value (an attempt declares the same one): `retryOn` checks its kind.
229
+ return this.#object.host.registryRecord(R.name).value(R.version);
230
+ }
231
+ writable() {
232
+ this.#assertDeclaring("writable");
233
+ return INERT;
234
+ }
235
+ retryOn(...sources) {
236
+ this.#assertDeclaring("retryOn");
237
+ for (const source of sources)
238
+ retrySource(source, this.#object.label);
239
+ }
240
+ contribute(R) {
241
+ this.#assertDeclaring("contribute");
242
+ const served = this.#served;
243
+ const { label } = this.#object;
244
+ // R21: plugin code is bundled without type checks.
245
+ if (served.kind !== "local" || !served.hostLifetime) {
246
+ throw new Error(`${label}: self.contribute is valid only in a local type with empty params`);
247
+ }
248
+ if (this.#contributions.has(R.name))
249
+ throw new Error(`${label}: registry ${R.name} is contributed to twice`);
250
+ this.#contributions.set(R.name, R);
251
+ }
252
+ open() {
253
+ this.#assertDeclaring("open");
254
+ return INERT;
255
+ }
256
+ tx() {
257
+ throw new Error(`${this.#object.label}: self.tx runs in calls, not in a factory`);
258
+ }
259
+ follow() {
260
+ this.#assertDeclaring("follow");
261
+ return INERT;
262
+ }
263
+ on() {
264
+ this.#assertDeclaring("on");
265
+ }
266
+ onLive() {
267
+ this.#assertDeclaring("onLive");
268
+ }
269
+ job(definition) {
270
+ this.#assertDeclaring("job");
271
+ const object = this.#object;
272
+ if (this.#jobs.has(definition.name))
273
+ throw new Error(`${object.label}: job "${definition.name}" is declared twice`);
274
+ if (definition.persist !== undefined) {
275
+ this.#assertClaimable(`job "${definition.name}"`, ["chord.jobs", "chord.job-states"]);
276
+ }
277
+ object.checkJob(definition);
278
+ this.#jobs.set(definition.name, definition);
279
+ return INERT;
280
+ }
281
+ /** Persisted data needs a stable identity (P3) and the host's store, as an attempt checks; returns the store. */
282
+ #assertPersistable(what) {
283
+ const served = this.#served;
284
+ const { host, label } = this.#object;
285
+ if (served.kind !== "local" || contractData(served.contract).params.fields.length > 0) {
286
+ throw new Error(`${label}: ${what}: persist needs a stable identity (a local type with empty params)`);
287
+ }
288
+ if (host.store === undefined)
289
+ throw new Error(`${label}: ${what}: persist needs a store`);
290
+ return host.store;
291
+ }
292
+ /** Persisted documents in `namespaces`: as `#assertPersistable`, and not claimed by another owner. */
293
+ #assertClaimable(what, namespaces) {
294
+ const store = this.#assertPersistable(what);
295
+ const object = this.#object;
296
+ for (const namespace of namespaces)
297
+ store.claims.assertDocuments(object.served.contract.name, namespace, object);
298
+ }
299
+ #assertDeclaring(declaration) {
300
+ if (!this.declaring)
301
+ throw new Error(`${this.#object.label}: self.${declaration} is valid only in the factory`);
302
+ }
303
+ }
304
+ //# sourceMappingURL=staging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"staging.js","sourceRoot":"","sources":["../../src/host/staging.ts"],"names":[],"mappings":"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","sourcesContent":["// Staging (slice 7b §2; per plugin, decision \"Per plugin at startup and reload\"): each plugin's setup runs into a table of\n// its own (the types it serves with their providers, the registries it serves, its facet contributions) with `load`'s\n// checks, merged into the staged table beside the live one, where a type or registry another plugin serves already\n// fails the plugin; and an object's new factory run against a recording `self`, which keeps what the factory declares\n// (documents, tables, jobs, contributions, requests with their contract versions) and activates, binds and opens\n// nothing, so a reload decides which plugins keep their old code before its commit, and a restart knows the requests\n// its successor will make (its readiness).\n// `load` stages its facets the same way and publishes them.\n\nimport type { Context } from \"../context/index.ts\";\nimport type { Contract, ParamsOf } from \"../contracts/index.ts\";\nimport { contractData } from \"../contracts/internal.ts\";\nimport type { Principal } from \"../data/index.ts\";\nimport { bindProvider, checkParams } from \"../data/internal.ts\";\nimport type { AnyDefinition } from \"../documents/internal.ts\";\nimport type { JobDefinition } from \"../jobs/index.ts\";\nimport type { Registry, RegistryProvider } from \"../registries/index.ts\";\nimport { checkProvider, type RegistryValueSource } from \"../registries/internal.ts\";\nimport { checkLiveQuery } from \"../store/live-query.ts\";\nimport type { Query } from \"../store/query.ts\";\nimport { tableSqlName } from \"../store/sql.ts\";\nimport type { ChordStore } from \"../store/store.ts\";\nimport type { TableDefinition } from \"../store/table.ts\";\nimport type { Watchable } from \"../watch.ts\";\nimport type { StoreSelf } from \"./attempt.ts\";\nimport { type Facet, type FacetContribution, type ServedEntry, setUp } from \"./facet.ts\";\nimport type { ChordObject, LocalContract, RemoteContract, Served } from \"./object.ts\";\nimport type { Presence } from \"./presence.ts\";\nimport { retrySource } from \"./retry-on.ts\";\n\n/** A plugin's facet as `load` and `reload` take it: its name (its `package.json` name) and its facet. */\nexport type PluginFacet<P extends Principal = Principal> = { readonly name: string; readonly facet: Facet<P> };\n\n/** A registry a staged plugin serves: the defining plugin, the token and its provider. */\nexport type StagedRegistry = {\n\treadonly plugin: string;\n\treadonly registry: Registry<unknown, unknown>;\n\treadonly provider: RegistryProvider<unknown, unknown>;\n};\n\n/** One plugin's setup, run and checked: what it serves and contributes, nothing published yet. */\nexport type StagedPlugin = {\n\treadonly name: string;\n\t/** The served types by name, each with its plugin, factory, provider (its `accepts` checked) and `linger`. */\n\treadonly types: ReadonlyMap<string, Served>;\n\t/** The served registries by name. */\n\treadonly registries: ReadonlyMap<string, StagedRegistry>;\n\t/** The facet contributions, in the setup's order. */\n\treadonly contributions: readonly FacetContribution[];\n};\n\n/** A plugin set's staged plugins, merged: what they serve, by name, and each plugin's own table. */\nexport type Staged = {\n\treadonly types: Map<string, Served>;\n\treadonly registries: Map<string, StagedRegistry>;\n\treadonly plugins: Map<string, StagedPlugin>;\n};\n\n/** What staging needs of its host: whom it acts as, where it lives, and its presence lists for setups. */\nexport type StagingHost = {\n\treadonly principal: Principal | undefined;\n\treadonly address: unknown;\n\treferences<C extends Contract>(Type: C): Watchable<readonly Presence<C, Principal>[]>;\n};\n\n/** An npm package name, scoped or not. */\nconst PLUGIN_NAME = /^(?:@[a-z0-9~-][a-z0-9._~-]*\\/)?[a-z0-9~-][a-z0-9._~-]*$/;\n\n/** Whether `name` is a valid plugin name: an npm package name, scoped or not (the plugins component checks it too). */\nexport function isPluginName(name: string): boolean {\n\treturn PLUGIN_NAME.test(name);\n}\n\n/**\n * Throws for the first plugin of `facets` whose name is no npm package name: a programming error, so `load` and\n * `reload` throw before they change anything (decision \"Mistakes that wait are reported at once\" (d)).\n */\nexport function checkPluginNames(facets: readonly { readonly name: string }[]): void {\n\tfor (const { name } of facets) if (!isPluginName(name)) throw new Error(`\"${name}\" is not a valid plugin name`);\n}\n\n/** A staged table with nothing in it. */\nexport function emptyStaged(): Staged {\n\treturn { types: new Map(), registries: new Map(), plugins: new Map() };\n}\n\n/**\n * Runs one plugin's setup (its name checked by `checkPluginNames` before) and checks what it declared: a type or\n * registry it serves twice, a remote type on a host without a principal or address, every provider's `accepts`\n * (`checkAccepts`) and every registry provider's shape. Throws the first error, naming the plugin.\n */\nexport function stagePlugin<P extends Principal>({ name, facet }: PluginFacet<P>, host: StagingHost): StagedPlugin {\n\t// The host's presence lists are typed for its `P`.\n\tconst references = host.references as <C extends Contract>(Type: C) => Watchable<readonly Presence<C, P>[]>;\n\tconst types = new Map<string, Served>();\n\tconst registries = new Map<string, StagedRegistry>();\n\ttry {\n\t\tconst { served, contributions } = setUp(name, facet, references);\n\t\tfor (const entry of served) stageEntry(name, entry, types, registries, host);\n\t\treturn { name, types, registries, contributions };\n\t} catch (error) {\n\t\tthrow named(error, `plugin \"${name}\"`);\n\t}\n}\n\n/**\n * Merges `plugin` into `staged`; a type or registry another plugin serves there already refuses it (its error\n * returned, nothing merged).\n */\nexport function addStaged(staged: Staged, plugin: StagedPlugin): Error | undefined {\n\tfor (const name of plugin.types.keys()) {\n\t\tconst other = staged.types.get(name);\n\t\tif (other !== undefined)\n\t\t\treturn new Error(`plugin \"${plugin.name}\": ${name} is served twice (plugin \"${other.plugin}\")`);\n\t}\n\tfor (const name of plugin.registries.keys()) {\n\t\tconst other = staged.registries.get(name);\n\t\tif (other !== undefined) {\n\t\t\treturn new Error(`plugin \"${plugin.name}\": registry ${name} is served twice (plugin \"${other.plugin}\")`);\n\t\t}\n\t}\n\tfor (const [name, served] of plugin.types) staged.types.set(name, served);\n\tfor (const [name, registry] of plugin.registries) staged.registries.set(name, registry);\n\tstaged.plugins.set(plugin.name, plugin);\n\treturn undefined;\n}\n\n/** Stages one served entry of `plugin` into its tables: a registry's provider, or a type as `Served`. */\nfunction stageEntry(\n\tplugin: string,\n\tentry: ServedEntry,\n\ttypes: Map<string, Served>,\n\tregistries: Map<string, StagedRegistry>,\n\thost: StagingHost,\n): void {\n\tif (entry.kind === \"registry\") {\n\t\tconst { registry, provider } = entry;\n\t\tif (registries.has(registry.name)) throw new Error(`registry ${registry.name} is served twice`);\n\t\tcheckProvider(registry.name, provider);\n\t\tregistries.set(registry.name, { plugin, registry, provider });\n\t\treturn;\n\t}\n\tconst { contract, factory, options } = entry;\n\tif (types.has(contract.name)) throw new Error(`${contract.name} is served twice`);\n\t// A client serves only local types (§3): a remote object is owned by a principal of the host serving it.\n\tif (contract.kind === \"remote\" && host.principal === undefined) {\n\t\tthrow new Error(`${contract.name}: a host without a principal serves only local types`);\n\t}\n\t// A remote object lives on the host its `hostAddress` names: only a host with an address can be that host.\n\tif (contract.kind === \"remote\" && host.address === undefined) {\n\t\tthrow new Error(`${contract.name}: a host without an address serves only local types`);\n\t}\n\tconst provider = bindProvider(contract, options.accepts ?? {});\n\tconst common = { plugin, provider, linger: options.linger ?? 0, traced: options.untraced !== true };\n\t// The contract's kind decides the factory's signature and the contract's shape.\n\tconst served: Served =\n\t\tcontract.kind === \"local\"\n\t\t\t? {\n\t\t\t\t\t...common,\n\t\t\t\t\tkind: \"local\",\n\t\t\t\t\tcontract: contract as LocalContract,\n\t\t\t\t\tfactory: factory as Extract<Served, { kind: \"local\" }>[\"factory\"],\n\t\t\t\t\thostLifetime: contractData(contract).params.fields.length === 0,\n\t\t\t\t}\n\t\t\t: {\n\t\t\t\t\t...common,\n\t\t\t\t\tkind: \"remote\",\n\t\t\t\t\tcontract: contract as RemoteContract,\n\t\t\t\t\tfactory: factory as Extract<Served, { kind: \"remote\" }>[\"factory\"],\n\t\t\t\t};\n\ttypes.set(contract.name, served);\n}\n\n/** What a recorded factory declared: what a reload's fate and checks need, nothing activated. */\nexport type Recorded = {\n\treadonly documents: readonly AnyDefinition[];\n\treadonly tables: readonly TableDefinition[];\n\treadonly jobs: readonly JobDefinition<unknown, unknown, unknown>[];\n\treadonly contributions: readonly Registry<unknown, unknown>[];\n\t/** Its requests: the types it gets (`self.get`, with their checked params) and the registries it reads (`self.registry`). */\n\treadonly requests: readonly Request[];\n};\n\n/** A recorded request, with the contract version it was made at: a type and its params, or a registry. */\nexport type Request =\n\t| { readonly kind: \"type\"; readonly contract: Contract; readonly params: ParamsOf<Contract> }\n\t| { readonly kind: \"registry\"; readonly registry: Registry<unknown, unknown> };\n\n/**\n * Runs `served`'s factory for `object` (its params and principal) against a recording `self` and returns what it\n * declared. Every declaration check an attempt makes runs, without effects (declared twice; persisted data in a type\n * without a stable identity, on a host without a store, or claimed by another owner; contributions outside\n * host-lifetime objects, or twice; `retryOn` sources that do not outlive the attempt; params; a document or job\n * declared at an older version than the object's, or at its version with another schema); a throw is the factory's.\n * Handles it hands out are inert, except registry values (the host's own, which `retryOn` checks by kind).\n */\nexport function recordFactory(object: ChordObject, served: Served, context: Context): Recorded {\n\tconst recording = new RecordingSelf(object, served, context);\n\t// A recording `self` takes every declaration a factory makes, its handles inert.\n\tconst self = recording as unknown as StoreSelf;\n\ttry {\n\t\tif (served.kind === \"local\") served.factory(object.params, self);\n\t\t// A remote object's identity has its principal.\n\t\telse served.factory(object.params, object.principal!, self);\n\t} catch (error) {\n\t\tthrow named(error, `plugin \"${served.plugin}\", ${object.label}`);\n\t} finally {\n\t\trecording.declaring = false;\n\t}\n\treturn recording.recorded;\n}\n\n/** A staging error naming where it happened (`what`): its message prefixed, the error itself its cause. */\nfunction named(error: unknown, what: string): Error {\n\tconst message = error instanceof Error ? error.message : String(error);\n\treturn new Error(`${what}: ${message}`, { cause: error });\n}\n\n/**\n * The value of every handle a recording `self` hands out: any property or call gives it again, and it is never a\n * thenable. Typed `never` (a cast: it stands for every handle type, and nothing reads it as one).\n */\nconst INERT: never = new Proxy(() => {}, {\n\tget: (_target, property) => (property === \"then\" ? undefined : INERT),\n\tapply: () => INERT,\n}) as never;\n\n/** A factory's `self` during staging: it records declarations and checks them; it activates nothing. */\nclass RecordingSelf {\n\tdeclaring = true;\n\treadonly #object: ChordObject;\n\treadonly #served: Served;\n\treadonly #context: Context;\n\treadonly #documents = new Map<string, AnyDefinition>();\n\treadonly #tables = new Map<string, TableDefinition>();\n\treadonly #jobs = new Map<string, JobDefinition<unknown, unknown, unknown>>();\n\treadonly #contributions = new Map<string, Registry<unknown, unknown>>();\n\treadonly #requests: Request[] = [];\n\n\tconstructor(object: ChordObject, served: Served, context: Context) {\n\t\tthis.#object = object;\n\t\tthis.#served = served;\n\t\tthis.#context = context;\n\t}\n\n\tget recorded(): Recorded {\n\t\treturn {\n\t\t\tdocuments: [...this.#documents.values()],\n\t\t\ttables: [...this.#tables.values()],\n\t\t\tjobs: [...this.#jobs.values()],\n\t\t\tcontributions: [...this.#contributions.values()],\n\t\t\trequests: this.#requests,\n\t\t};\n\t}\n\n\tstate(definition: AnyDefinition): never {\n\t\tthis.#assertDeclaring(\"state\");\n\t\tconst what = `state \"${definition.name}\"`;\n\t\tif (this.#documents.has(definition.name)) throw new Error(`${this.#object.label}: ${what} is declared twice`);\n\t\tif (definition.persist) this.#assertClaimable(what, [\"chord\"]);\n\t\tthis.#object.documents.check(definition);\n\t\tthis.#documents.set(definition.name, definition);\n\t\treturn INERT;\n\t}\n\n\ttable(definition: TableDefinition): never {\n\t\tthis.#assertDeclaring(\"table\");\n\t\tconst store = this.#assertPersistable(`table \"${definition.name}\"`);\n\t\tif (this.#tables.has(definition.name)) {\n\t\t\tthrow new Error(`${this.#object.label}: table \"${definition.name}\" is declared twice`);\n\t\t}\n\t\tconst object = this.#object;\n\t\tstore.claims.assertTable(tableSqlName(object.served.contract.name, definition.name), object);\n\t\tthis.#tables.set(definition.name, definition);\n\t\treturn INERT;\n\t}\n\n\t/** A live query over a table this factory declared (its handle is inert: the query names the table), limited. */\n\tquery(_table: unknown, q: Query, limit: unknown): never {\n\t\tthis.#assertDeclaring(\"query\");\n\t\tconst label = this.#object.label;\n\t\tconst table = this.#tables.get(q.table.name);\n\t\tif (table !== q.table) throw new Error(`${label}: self.query: the table is not one this factory declared`);\n\t\tcheckLiveQuery(table, q, limit, label);\n\t\treturn INERT;\n\t}\n\n\tderive(): never {\n\t\tthis.#assertDeclaring(\"derive\");\n\t\treturn INERT;\n\t}\n\n\tget(Type: Contract, params: unknown): never {\n\t\tthis.#assertDeclaring(\"get\");\n\t\tconst checked = checkParams(Type, params, this.#context);\n\t\tthis.#requests.push({ kind: \"type\", contract: Type, params: checked.params });\n\t\treturn INERT;\n\t}\n\n\tregistry(R: Registry<unknown, unknown>): RegistryValueSource {\n\t\tthis.#assertDeclaring(\"registry\");\n\t\tthis.#requests.push({ kind: \"registry\", registry: R });\n\t\t// The host's own value (an attempt declares the same one): `retryOn` checks its kind.\n\t\treturn this.#object.host.registryRecord(R.name).value(R.version);\n\t}\n\n\twritable(): never {\n\t\tthis.#assertDeclaring(\"writable\");\n\t\treturn INERT;\n\t}\n\n\tretryOn(...sources: readonly unknown[]): void {\n\t\tthis.#assertDeclaring(\"retryOn\");\n\t\tfor (const source of sources) retrySource(source, this.#object.label);\n\t}\n\n\tcontribute(R: Registry<unknown, unknown>): void {\n\t\tthis.#assertDeclaring(\"contribute\");\n\t\tconst served = this.#served;\n\t\tconst { label } = this.#object;\n\t\t// R21: plugin code is bundled without type checks.\n\t\tif (served.kind !== \"local\" || !served.hostLifetime) {\n\t\t\tthrow new Error(`${label}: self.contribute is valid only in a local type with empty params`);\n\t\t}\n\t\tif (this.#contributions.has(R.name)) throw new Error(`${label}: registry ${R.name} is contributed to twice`);\n\t\tthis.#contributions.set(R.name, R);\n\t}\n\n\topen(): never {\n\t\tthis.#assertDeclaring(\"open\");\n\t\treturn INERT;\n\t}\n\n\ttx(): never {\n\t\tthrow new Error(`${this.#object.label}: self.tx runs in calls, not in a factory`);\n\t}\n\n\tfollow(): never {\n\t\tthis.#assertDeclaring(\"follow\");\n\t\treturn INERT;\n\t}\n\n\ton(): void {\n\t\tthis.#assertDeclaring(\"on\");\n\t}\n\n\tonLive(): void {\n\t\tthis.#assertDeclaring(\"onLive\");\n\t}\n\n\tjob(definition: JobDefinition<unknown, unknown, unknown>): never {\n\t\tthis.#assertDeclaring(\"job\");\n\t\tconst object = this.#object;\n\t\tif (this.#jobs.has(definition.name))\n\t\t\tthrow new Error(`${object.label}: job \"${definition.name}\" is declared twice`);\n\t\tif (definition.persist !== undefined) {\n\t\t\tthis.#assertClaimable(`job \"${definition.name}\"`, [\"chord.jobs\", \"chord.job-states\"]);\n\t\t}\n\t\tobject.checkJob(definition);\n\t\tthis.#jobs.set(definition.name, definition);\n\t\treturn INERT;\n\t}\n\n\t/** Persisted data needs a stable identity (P3) and the host's store, as an attempt checks; returns the store. */\n\t#assertPersistable(what: string): ChordStore {\n\t\tconst served = this.#served;\n\t\tconst { host, label } = this.#object;\n\t\tif (served.kind !== \"local\" || contractData(served.contract).params.fields.length > 0) {\n\t\t\tthrow new Error(`${label}: ${what}: persist needs a stable identity (a local type with empty params)`);\n\t\t}\n\t\tif (host.store === undefined) throw new Error(`${label}: ${what}: persist needs a store`);\n\t\treturn host.store;\n\t}\n\n\t/** Persisted documents in `namespaces`: as `#assertPersistable`, and not claimed by another owner. */\n\t#assertClaimable(what: string, namespaces: readonly string[]): void {\n\t\tconst store = this.#assertPersistable(what);\n\t\tconst object = this.#object;\n\t\tfor (const namespace of namespaces) store.claims.assertDocuments(object.served.contract.name, namespace, object);\n\t}\n\n\t#assertDeclaring(declaration: string): void {\n\t\tif (!this.declaring) throw new Error(`${this.#object.label}: self.${declaration} is valid only in the factory`);\n\t}\n}\n"]}
@@ -0,0 +1,23 @@
1
+ import type { ChordError } from "../data/index.ts";
2
+ /** What the clock reports: a request waiting unbound for `waitingFor` since `since` (`Date.now()` time), and why. */
3
+ export type UnboundLong = {
4
+ readonly kind: "unbound_long";
5
+ /** The type's name, or `registry <name>`. */
6
+ readonly waitingFor: string;
7
+ readonly error: ChordError;
8
+ readonly since: number;
9
+ };
10
+ /** A host's waits not reported yet and the one timer of their sweep. */
11
+ export declare class UnboundClock {
12
+ #private;
13
+ constructor(report: (error: UnboundLong) => void);
14
+ /** `request` waits unbound for `waitingFor` with `error`: reported after 5 s unless it stops before. */
15
+ start(request: object, waitingFor: string, error: ChordError): void;
16
+ /** The wait of `request` has a new error (a registry's failure changed): the report names the latest. */
17
+ failed(request: object, error: ChordError): void;
18
+ /** `request` bound, ended or was woken: no report for this wait. */
19
+ stop(request: object): void;
20
+ /** The host closed: nothing is reported any more. */
21
+ close(): void;
22
+ }
23
+ //# sourceMappingURL=unbound-clock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unbound-clock.d.ts","sourceRoot":"","sources":["../../src/host/unbound-clock.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,qHAAqH;AACrH,MAAM,MAAM,WAAW,GAAG;IACzB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,6CAA6C;IAC7C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACvB,CAAC;AAQF,wEAAwE;AACxE,qBAAa,YAAY;;IAMxB,YAAY,MAAM,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,EAE/C;IAED,wGAAwG;IACxG,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAIlE;IAED,yGAAyG;IACzG,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAG/C;IAED,oEAAoE;IACpE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAI1B;IAED,qDAAqD;IACrD,KAAK,IAAI,IAAI,CAIZ;CAiBD"}
@@ -0,0 +1,58 @@
1
+ // The `unbound_long` report (decision "Mistakes that wait are reported at once" (c)): a request waiting unbound after
2
+ // the host's publication (a type or registry not served here, not at its version, a registry whose first `compose`
3
+ // threw) is reported once through `onError` after 5 s, naming what it waits for and why; it keeps waiting as before.
4
+ // One clock per host, one timer armed for the earliest wait not reported yet: no timer per request.
5
+ /** How long a request waits unbound before it is reported (decided: 5 s). */
6
+ const REPORTED_AFTER = 5_000;
7
+ /** A host's waits not reported yet and the one timer of their sweep. */
8
+ export class UnboundClock {
9
+ /** By request, in the order they started, so by `since`: the sweep reads from the front and stops at the first due later. */
10
+ #waits = new Map();
11
+ #report;
12
+ #timer;
13
+ constructor(report) {
14
+ this.#report = report;
15
+ }
16
+ /** `request` waits unbound for `waitingFor` with `error`: reported after 5 s unless it stops before. */
17
+ start(request, waitingFor, error) {
18
+ if (this.#waits.has(request))
19
+ return;
20
+ this.#waits.set(request, { waitingFor, error, since: Date.now() });
21
+ this.#timer ??= setTimeout(() => this.#sweep(), REPORTED_AFTER);
22
+ }
23
+ /** The wait of `request` has a new error (a registry's failure changed): the report names the latest. */
24
+ failed(request, error) {
25
+ const wait = this.#waits.get(request);
26
+ if (wait !== undefined)
27
+ wait.error = error;
28
+ }
29
+ /** `request` bound, ended or was woken: no report for this wait. */
30
+ stop(request) {
31
+ if (!this.#waits.delete(request) || this.#waits.size > 0)
32
+ return;
33
+ clearTimeout(this.#timer);
34
+ this.#timer = undefined;
35
+ }
36
+ /** The host closed: nothing is reported any more. */
37
+ close() {
38
+ this.#waits.clear();
39
+ clearTimeout(this.#timer);
40
+ this.#timer = undefined;
41
+ }
42
+ /** Reports every wait due, each once, then arms the timer for the next one, if any. */
43
+ #sweep() {
44
+ this.#timer = undefined;
45
+ const now = Date.now();
46
+ for (const [request, wait] of this.#waits) {
47
+ const due = wait.since + REPORTED_AFTER;
48
+ if (due > now) {
49
+ this.#timer = setTimeout(() => this.#sweep(), due - now);
50
+ return;
51
+ }
52
+ this.#waits.delete(request);
53
+ const { waitingFor, error, since } = wait;
54
+ this.#report({ kind: "unbound_long", waitingFor, error, since });
55
+ }
56
+ }
57
+ }
58
+ //# sourceMappingURL=unbound-clock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unbound-clock.js","sourceRoot":"","sources":["../../src/host/unbound-clock.ts"],"names":[],"mappings":"AAAA,sHAAsH;AACtH,mHAAmH;AACnH,qHAAqH;AACrH,oGAAoG;AAgBpG,6EAA6E;AAC7E,MAAM,cAAc,GAAG,KAAK,CAAC;AAE7B,wEAAwE;AACxE,MAAM,OAAO,YAAY;IACxB,6HAA6H;IACpH,MAAM,GAAG,IAAI,GAAG,EAAgB,CAAC;IACjC,OAAO,CAA+B;IAC/C,MAAM,CAA4C;IAElD,YAAY,MAAoC;QAC/C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,wGAAwG;IACxG,KAAK,CAAC,OAAe,EAAE,UAAkB,EAAE,KAAiB;QAC3D,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO;QACrC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,cAAc,CAAC,CAAC;IACjE,CAAC;IAED,yGAAyG;IACzG,MAAM,CAAC,OAAe,EAAE,KAAiB;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IAC5C,CAAC;IAED,oEAAoE;IACpE,IAAI,CAAC,OAAe;QACnB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;YAAE,OAAO;QACjE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IACzB,CAAC;IAED,qDAAqD;IACrD,KAAK;QACJ,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IACzB,CAAC;IAED,uFAAuF;IACvF,MAAM;QACL,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC;YACxC,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;gBACzD,OAAO;YACR,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC5B,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YAC1C,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAClE,CAAC;IACF,CAAC;CACD","sourcesContent":["// The `unbound_long` report (decision \"Mistakes that wait are reported at once\" (c)): a request waiting unbound after\n// the host's publication (a type or registry not served here, not at its version, a registry whose first `compose`\n// threw) is reported once through `onError` after 5 s, naming what it waits for and why; it keeps waiting as before.\n// One clock per host, one timer armed for the earliest wait not reported yet: no timer per request.\n\nimport type { ChordError } from \"../data/index.ts\";\n\n/** What the clock reports: a request waiting unbound for `waitingFor` since `since` (`Date.now()` time), and why. */\nexport type UnboundLong = {\n\treadonly kind: \"unbound_long\";\n\t/** The type's name, or `registry <name>`. */\n\treadonly waitingFor: string;\n\treadonly error: ChordError;\n\treadonly since: number;\n};\n\n/** One wait not reported yet: what it waits for, its latest error, since when. */\ntype Wait = { readonly waitingFor: string; error: ChordError; readonly since: number };\n\n/** How long a request waits unbound before it is reported (decided: 5 s). */\nconst REPORTED_AFTER = 5_000;\n\n/** A host's waits not reported yet and the one timer of their sweep. */\nexport class UnboundClock {\n\t/** By request, in the order they started, so by `since`: the sweep reads from the front and stops at the first due later. */\n\treadonly #waits = new Map<object, Wait>();\n\treadonly #report: (error: UnboundLong) => void;\n\t#timer: ReturnType<typeof setTimeout> | undefined;\n\n\tconstructor(report: (error: UnboundLong) => void) {\n\t\tthis.#report = report;\n\t}\n\n\t/** `request` waits unbound for `waitingFor` with `error`: reported after 5 s unless it stops before. */\n\tstart(request: object, waitingFor: string, error: ChordError): void {\n\t\tif (this.#waits.has(request)) return;\n\t\tthis.#waits.set(request, { waitingFor, error, since: Date.now() });\n\t\tthis.#timer ??= setTimeout(() => this.#sweep(), REPORTED_AFTER);\n\t}\n\n\t/** The wait of `request` has a new error (a registry's failure changed): the report names the latest. */\n\tfailed(request: object, error: ChordError): void {\n\t\tconst wait = this.#waits.get(request);\n\t\tif (wait !== undefined) wait.error = error;\n\t}\n\n\t/** `request` bound, ended or was woken: no report for this wait. */\n\tstop(request: object): void {\n\t\tif (!this.#waits.delete(request) || this.#waits.size > 0) return;\n\t\tclearTimeout(this.#timer);\n\t\tthis.#timer = undefined;\n\t}\n\n\t/** The host closed: nothing is reported any more. */\n\tclose(): void {\n\t\tthis.#waits.clear();\n\t\tclearTimeout(this.#timer);\n\t\tthis.#timer = undefined;\n\t}\n\n\t/** Reports every wait due, each once, then arms the timer for the next one, if any. */\n\t#sweep(): void {\n\t\tthis.#timer = undefined;\n\t\tconst now = Date.now();\n\t\tfor (const [request, wait] of this.#waits) {\n\t\t\tconst due = wait.since + REPORTED_AFTER;\n\t\t\tif (due > now) {\n\t\t\t\tthis.#timer = setTimeout(() => this.#sweep(), due - now);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.#waits.delete(request);\n\t\t\tconst { waitingFor, error, since } = wait;\n\t\t\tthis.#report({ kind: \"unbound_long\", waitingFor, error, since });\n\t\t}\n\t}\n}\n"]}
@@ -0,0 +1,37 @@
1
+ import type { ChordError, FailureCause, Principal } from "../data/index.ts";
2
+ import type { UnboundClock } from "./unbound-clock.ts";
3
+ /** A request in the index: a reference made here or a hold that arrived over a link. */
4
+ export interface UnboundRequest {
5
+ /** Whom it acts for: revocation ends the requests of a revoked principal. */
6
+ readonly principal: Principal | undefined;
7
+ /** The name it waits for became usable (or the host published): it runs its check again, leaving the index first. */
8
+ wake(): void;
9
+ /** It is revoked, or its host closes: it ends with `error` (a hold sends `gone`), leaving the index. */
10
+ end(error: ChordError): void;
11
+ }
12
+ /** A host's unbound requests by name. */
13
+ export declare class UnboundIndex {
14
+ #private;
15
+ constructor(clock: UnboundClock);
16
+ /**
17
+ * Indexes `request` under `name` (once; again after a wake), waiting for the publication (no `cause`) or for a
18
+ * provider that fits (`cause`, on the clock).
19
+ */
20
+ add(name: string, request: UnboundRequest, cause: FailureCause | undefined): void;
21
+ /** `request` ended or binds: it leaves the index. */
22
+ delete(name: string, request: UnboundRequest): void;
23
+ /** The names requests wait for, sorted. */
24
+ names(): string[];
25
+ /** The host's publication: every request indexed (by any name) runs its check again, out of the index first. */
26
+ wakeAll(): void;
27
+ /**
28
+ * A reload's publication: the requests indexed under `names` (the types and registries it serves) run their check
29
+ * again, out of the index first; the others stay (carry-over "Publications wake per name").
30
+ */
31
+ wake(names: Iterable<string>): void;
32
+ /** Every indexed request acting for a principal `revoked` names ends with `error`. */
33
+ revoke(revoked: (principal: Principal) => boolean, error: ChordError): void;
34
+ /** The host closed: every indexed request ends with `error`. */
35
+ close(error: ChordError): void;
36
+ }
37
+ //# sourceMappingURL=unbound.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unbound.d.ts","sourceRoot":"","sources":["../../src/host/unbound.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,wFAAwF;AACxF,MAAM,WAAW,cAAc;IAC9B,6EAA6E;IAC7E,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;IAC1C,qHAAqH;IACrH,IAAI,IAAI,IAAI,CAAC;IACb,wGAAwG;IACxG,GAAG,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;CAC7B;AAED,yCAAyC;AACzC,qBAAa,YAAY;;IAIxB,YAAY,KAAK,EAAE,YAAY,EAE9B;IAED;;;OAGG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI,CAQhF;IAED,qDAAqD;IACrD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAKlD;IAED,2CAA2C;IAC3C,KAAK,IAAI,MAAM,EAAE,CAEhB;IAED,gHAAgH;IAChH,OAAO,IAAI,IAAI,CAKd;IAED;;;OAGG;IACH,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAUlC;IAED,sFAAsF;IACtF,MAAM,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,OAAO,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAM1E;IAED,gEAAgE;IAChE,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAK7B;CACD"}
@@ -0,0 +1,88 @@
1
+ // The unbound index (dependency model §1, §4): the requests a host decided cannot bind yet, by the name they wait for.
2
+ // Before the host's first publication every hold arriving on its links, and a request made here while `load` runs the
3
+ // setups (before `load` this host's own requests throw), waits here (`unpublished`); after it, those its check left
4
+ // unbound (`not_served`, `version`): a reference made here, a hold that arrived over a link and was refused for a name.
5
+ // A publication wakes the requests of the names it serves (`load`'s every one, a reload's those of its names); a
6
+ // request leaves when it ends (released, settled, given up, its link or origin closed, revoked) or binds. A request
7
+ // waiting with a cause (after the publication) is on the host's `UnboundClock` while it is indexed: reported after 5 s.
8
+ /** A host's unbound requests by name. */
9
+ export class UnboundIndex {
10
+ #byName = new Map();
11
+ #clock;
12
+ constructor(clock) {
13
+ this.#clock = clock;
14
+ }
15
+ /**
16
+ * Indexes `request` under `name` (once; again after a wake), waiting for the publication (no `cause`) or for a
17
+ * provider that fits (`cause`, on the clock).
18
+ */
19
+ add(name, request, cause) {
20
+ let requests = this.#byName.get(name);
21
+ if (requests === undefined) {
22
+ requests = new Set();
23
+ this.#byName.set(name, requests);
24
+ }
25
+ requests.add(request);
26
+ if (cause !== undefined)
27
+ this.#clock.start(request, name, cause.error);
28
+ }
29
+ /** `request` ended or binds: it leaves the index. */
30
+ delete(name, request) {
31
+ const requests = this.#byName.get(name);
32
+ if (requests === undefined || !requests.delete(request))
33
+ return;
34
+ this.#clock.stop(request);
35
+ if (requests.size === 0)
36
+ this.#byName.delete(name);
37
+ }
38
+ /** The names requests wait for, sorted. */
39
+ names() {
40
+ return [...this.#byName.keys()].sort();
41
+ }
42
+ /** The host's publication: every request indexed (by any name) runs its check again, out of the index first. */
43
+ wakeAll() {
44
+ const all = [...this.#byName.values()].flatMap((requests) => [...requests]);
45
+ this.#byName.clear();
46
+ for (const request of all)
47
+ this.#clock.stop(request);
48
+ for (const request of all)
49
+ request.wake();
50
+ }
51
+ /**
52
+ * A reload's publication: the requests indexed under `names` (the types and registries it serves) run their check
53
+ * again, out of the index first; the others stay (carry-over "Publications wake per name").
54
+ */
55
+ wake(names) {
56
+ const woken = [];
57
+ for (const name of names) {
58
+ const requests = this.#byName.get(name);
59
+ if (requests === undefined)
60
+ continue;
61
+ this.#byName.delete(name);
62
+ woken.push(...requests);
63
+ }
64
+ for (const request of woken)
65
+ this.#clock.stop(request);
66
+ for (const request of woken)
67
+ request.wake();
68
+ }
69
+ /** Every indexed request acting for a principal `revoked` names ends with `error`. */
70
+ revoke(revoked, error) {
71
+ for (const requests of [...this.#byName.values()]) {
72
+ for (const request of [...requests]) {
73
+ if (request.principal !== undefined && revoked(request.principal))
74
+ request.end(error);
75
+ }
76
+ }
77
+ }
78
+ /** The host closed: every indexed request ends with `error`. */
79
+ close(error) {
80
+ const all = [...this.#byName.values()].flatMap((requests) => [...requests]);
81
+ this.#byName.clear();
82
+ for (const request of all)
83
+ this.#clock.stop(request);
84
+ for (const request of all)
85
+ request.end(error);
86
+ }
87
+ }
88
+ //# sourceMappingURL=unbound.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unbound.js","sourceRoot":"","sources":["../../src/host/unbound.ts"],"names":[],"mappings":"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","sourcesContent":["// The unbound index (dependency model §1, §4): the requests a host decided cannot bind yet, by the name they wait for.\n// Before the host's first publication every hold arriving on its links, and a request made here while `load` runs the\n// setups (before `load` this host's own requests throw), waits here (`unpublished`); after it, those its check left\n// unbound (`not_served`, `version`): a reference made here, a hold that arrived over a link and was refused for a name.\n// A publication wakes the requests of the names it serves (`load`'s every one, a reload's those of its names); a\n// request leaves when it ends (released, settled, given up, its link or origin closed, revoked) or binds. A request\n// waiting with a cause (after the publication) is on the host's `UnboundClock` while it is indexed: reported after 5 s.\n\nimport type { ChordError, FailureCause, Principal } from \"../data/index.ts\";\nimport type { UnboundClock } from \"./unbound-clock.ts\";\n\n/** A request in the index: a reference made here or a hold that arrived over a link. */\nexport interface UnboundRequest {\n\t/** Whom it acts for: revocation ends the requests of a revoked principal. */\n\treadonly principal: Principal | undefined;\n\t/** The name it waits for became usable (or the host published): it runs its check again, leaving the index first. */\n\twake(): void;\n\t/** It is revoked, or its host closes: it ends with `error` (a hold sends `gone`), leaving the index. */\n\tend(error: ChordError): void;\n}\n\n/** A host's unbound requests by name. */\nexport class UnboundIndex {\n\treadonly #byName = new Map<string, Set<UnboundRequest>>();\n\treadonly #clock: UnboundClock;\n\n\tconstructor(clock: UnboundClock) {\n\t\tthis.#clock = clock;\n\t}\n\n\t/**\n\t * Indexes `request` under `name` (once; again after a wake), waiting for the publication (no `cause`) or for a\n\t * provider that fits (`cause`, on the clock).\n\t */\n\tadd(name: string, request: UnboundRequest, cause: FailureCause | undefined): void {\n\t\tlet requests = this.#byName.get(name);\n\t\tif (requests === undefined) {\n\t\t\trequests = new Set();\n\t\t\tthis.#byName.set(name, requests);\n\t\t}\n\t\trequests.add(request);\n\t\tif (cause !== undefined) this.#clock.start(request, name, cause.error);\n\t}\n\n\t/** `request` ended or binds: it leaves the index. */\n\tdelete(name: string, request: UnboundRequest): void {\n\t\tconst requests = this.#byName.get(name);\n\t\tif (requests === undefined || !requests.delete(request)) return;\n\t\tthis.#clock.stop(request);\n\t\tif (requests.size === 0) this.#byName.delete(name);\n\t}\n\n\t/** The names requests wait for, sorted. */\n\tnames(): string[] {\n\t\treturn [...this.#byName.keys()].sort();\n\t}\n\n\t/** The host's publication: every request indexed (by any name) runs its check again, out of the index first. */\n\twakeAll(): void {\n\t\tconst all = [...this.#byName.values()].flatMap((requests) => [...requests]);\n\t\tthis.#byName.clear();\n\t\tfor (const request of all) this.#clock.stop(request);\n\t\tfor (const request of all) request.wake();\n\t}\n\n\t/**\n\t * A reload's publication: the requests indexed under `names` (the types and registries it serves) run their check\n\t * again, out of the index first; the others stay (carry-over \"Publications wake per name\").\n\t */\n\twake(names: Iterable<string>): void {\n\t\tconst woken: UnboundRequest[] = [];\n\t\tfor (const name of names) {\n\t\t\tconst requests = this.#byName.get(name);\n\t\t\tif (requests === undefined) continue;\n\t\t\tthis.#byName.delete(name);\n\t\t\twoken.push(...requests);\n\t\t}\n\t\tfor (const request of woken) this.#clock.stop(request);\n\t\tfor (const request of woken) request.wake();\n\t}\n\n\t/** Every indexed request acting for a principal `revoked` names ends with `error`. */\n\trevoke(revoked: (principal: Principal) => boolean, error: ChordError): void {\n\t\tfor (const requests of [...this.#byName.values()]) {\n\t\t\tfor (const request of [...requests]) {\n\t\t\t\tif (request.principal !== undefined && revoked(request.principal)) request.end(error);\n\t\t\t}\n\t\t}\n\t}\n\n\t/** The host closed: every indexed request ends with `error`. */\n\tclose(error: ChordError): void {\n\t\tconst all = [...this.#byName.values()].flatMap((requests) => [...requests]);\n\t\tthis.#byName.clear();\n\t\tfor (const request of all) this.#clock.stop(request);\n\t\tfor (const request of all) request.end(error);\n\t}\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuid.d.ts","sourceRoot":"","sources":["../../src/host/uuid.ts"],"names":[],"mappings":"AAUA,6BAA6B;AAC7B,wBAAgB,MAAM,IAAI,MAAM,CA0B/B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuid.js","sourceRoot":"","sources":["../../src/host/uuid.ts"],"names":[],"mappings":"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","sourcesContent":["// UUIDv7 (§3, code copied from pi-ai's `uuidv7`): time-ordered ids, minted for host incarnations.\n\nconst MAX_SEQUENCE = (1n << 41n) - 1n;\n\n/** The last timestamp used: a clock going backwards keeps the ids ordered. */\nlet lastTimestamp = -1;\n\n/** A random start, then incremented per id, so ids within one millisecond stay ordered and unique. */\nlet sequence: bigint | undefined;\n\n/** A time-ordered UUIDv7. */\nexport function uuidv7(): string {\n\tconst timestamp = Math.max(Date.now(), lastTimestamp);\n\tlastTimestamp = timestamp;\n\tconst bytes = new Uint8Array(16);\n\tglobalThis.crypto.getRandomValues(bytes);\n\tif (sequence === undefined) {\n\t\tsequence =\n\t\t\t(BigInt(bytes[1]!) << 32n) |\n\t\t\t(BigInt(bytes[2]!) << 24n) |\n\t\t\t(BigInt(bytes[3]!) << 16n) |\n\t\t\t(BigInt(bytes[4]!) << 8n) |\n\t\t\tBigInt(bytes[5]!);\n\t} else {\n\t\tif (sequence === MAX_SEQUENCE) throw new RangeError(\"UUIDv7 generator sequence exhausted\");\n\t\tsequence++;\n\t}\n\tconst time = BigInt(timestamp);\n\tfor (let index = 5; index >= 0; index--) bytes[index] = Number(time >> BigInt((5 - index) * 8)) & 0xff;\n\tbytes[6] = 0x70 | Number((sequence >> 37n) & 0x0fn);\n\tbytes[7] = Number((sequence >> 29n) & 0xffn);\n\tbytes[8] = 0x80 | Number((sequence >> 23n) & 0x3fn);\n\tbytes[9] = Number((sequence >> 15n) & 0xffn);\n\tbytes[10] = Number((sequence >> 7n) & 0xffn);\n\tbytes[11] = Number((sequence & 0x7fn) << 1n) | (bytes[11]! & 0x01);\n\tconst hex = Array.from(bytes, (byte) => byte.toString(16).padStart(2, \"0\"));\n\treturn `${hex.slice(0, 4).join(\"\")}-${hex.slice(4, 6).join(\"\")}-${hex.slice(6, 8).join(\"\")}-${hex.slice(8, 10).join(\"\")}-${hex.slice(10).join(\"\")}`;\n}\n"]}