@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 @@
1
+ {"version":3,"file":"workers.js","sourceRoot":"","sources":["../../../src/node/workers/workers.ts"],"names":[],"mappings":"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","sourcesContent":["// The workers component (slice 10 §3, §4; decision \"Slice 10's points\"): a forked worker process per address of one\n// host kind, started on demand by the route it owns, stopped when idle, never restarted by itself (R2): a crash, a\n// `fatal` or a failed start leaves the address failed until `retry` or a rollout. A running worker's lost link is a\n// stop its holders start a new worker after, once a minute (decision \"A lost worker link is recovered from\").\n// Per address, a child's events are recorded on that child as they happen; starts and stops run one after another.\n// Every worker is forked from the kind's worker base, bundled once by `build` (the kit: right after the server\n// listens; a start waits for it, and fails when it did not build; decision \"Workers start from the base code the server\n// booted with\").\n\nimport type { Context } from \"../../context/index.ts\";\nimport { awaitWithContext, BACKGROUND_CONTEXT, withAbortSignal } from \"../../context/index.ts\";\nimport type { Address, HostKind, KindShape } from \"../../contracts/index.ts\";\nimport type { Params } from \"../../contracts/internal.ts\";\nimport { ChordError, type Principal } from \"../../data/index.ts\";\nimport type { Host, RouteHandle } from \"../../host/index.ts\";\nimport type { JsonValue } from \"../../json.ts\";\nimport { Batch, type BatchError, Source } from \"../../state/internal.ts\";\nimport type { Watchable } from \"../../watch.ts\";\nimport type { BaseInputs } from \"../plugins/base-inputs.ts\";\nimport type { Plugins, RolloutHost, RolloutStep } from \"../plugins/plugins.ts\";\nimport type { PluginScript } from \"../plugins/runtime.ts\";\nimport { buildWorkerBase, type WorkerBase } from \"./base.ts\";\nimport { type CrossedError, type CrossedReport, type FromWorker, uncrossed, uncrossedReport } from \"./control.ts\";\nimport { clearStaleLock } from \"./lock.ts\";\nimport { type Exit, WorkerProcess } from \"./process.ts\";\n\n/** What `createWorkers` takes. `kind`, `entry`, `execArgv` and `env` are bootstrap; the functions are called per use. */\nexport type WorkersOptions<P extends Principal, K extends KindShape> = {\n\t/** The facet kind its workers load (`\"worker\"`), shipped by the plugins component. */\n\treadonly kind: string;\n\t/**\n\t * The worker's entry module (it calls `workerMain`), bundled with the base code it imports by `build`; its Node flags\n\t * (their `--conditions` resolve the bundle's imports too) and its environment.\n\t */\n\treadonly entry: string;\n\treadonly execArgv?: readonly string[];\n\treadonly env?: Readonly<Record<string, string>>;\n\t/**\n\t * The private directory the worker base's files are written into at the first fork, its own while the component is\n\t * open (emptied first, removed at `close`; never touched after it, so a later start may own it then): one that stays\n\t * the same between starts lets Node's compile cache know them; none: a new temporary directory.\n\t */\n\treadonly baseDir?: string;\n\t/**\n\t * Node's compile cache for the workers (`NODE_COMPILE_CACHE` in their environment unless `env` sets it): forks load\n\t * the base and the packages it imports from compiled code; none: the server's environment decides.\n\t */\n\treadonly compileCache?: string;\n\t/** The route's `authorize`: whether `principal` may reach `address` (synchronous). */\n\treadonly authorize: (principal: P, address: Address<K>) => boolean;\n\t/** Who the worker at `address` is (stamped on its link). */\n\treadonly principal: (address: Address<K>) => P;\n\t/** The worker's start data (JSON), before each start; abortable (`close`), a throw fails the start. */\n\treadonly start: (address: Address<K>, context: Context) => Promise<JsonValue> | JsonValue;\n\t/** The lock one live worker of `address` holds (across processes). */\n\treadonly lock: (address: Address<K>) => string;\n\t/** How long a worker idles before it is stopped: 5 minutes by default. */\n\treadonly idleMs?: () => number;\n\treadonly plugins: Plugins;\n\t/** A worker's output; without it, mirrored to this process's own. */\n\treadonly onOutput?: (address: Address<K>, stream: \"stdout\" | \"stderr\", chunk: Uint8Array) => void;\n\treadonly onError: (error: WorkersError) => void;\n};\n\n/**\n * One address's worker (R5): running or on its way, or failed (until `retry` or a rollout) with a public error: a fixed\n * message (`worker failed to start`, `worker exited (SIGSEGV)`) or the child's redacted `fatal`.\n */\nexport type WorkerState =\n\t| { readonly status: \"starting\" | \"running\" | \"stopping\"; readonly pid: number; readonly startedAt: number }\n\t| { readonly status: \"failed\"; readonly error: CrossedError; readonly at: number };\n\n/** What the component reports (and the state's watch listeners that threw). */\nexport type WorkersError =\n\t| {\n\t\t\treadonly kind: \"worker_failed\";\n\t\t\treadonly address: string;\n\t\t\t/** The full error (a start's throw, a crash, the child's `fatal`): for the app's logs, never public. */\n\t\t\treadonly error: unknown;\n\t\t\treadonly stderrTail?: string;\n\t }\n\t| {\n\t\t\t/** The app's `authorize` threw: the hold is refused (`forbidden`), the error stays private. */\n\t\t\treadonly kind: \"authorize_failed\";\n\t\t\treadonly address: string;\n\t\t\treadonly error: unknown;\n\t }\n\t| {\n\t\t\treadonly kind: \"worker_exited\";\n\t\t\treadonly address: string;\n\t\t\treadonly code: number | null;\n\t\t\treadonly signal: string | null;\n\t }\n\t| {\n\t\t\t/** A running worker's link was lost (the heartbeat, a protocol error): it was stopped, its holders start anew. */\n\t\t\treadonly kind: \"worker_link_lost\";\n\t\t\treadonly address: string;\n\t\t\treadonly error: unknown;\n\t }\n\t| BatchError;\n\n/** How a worker base's build ended: built (the files it read), or failed (esbuild's failure). */\nexport type WorkersBuilt =\n\t| { readonly kind: \"built\"; readonly inputs: BaseInputs }\n\t| { readonly kind: \"failed\"; readonly error: unknown };\n\n/** The workers component. */\nexport interface Workers<K extends KindShape> {\n\t/** Per address key its `WorkerState`; no entry when stopped or never started. A JSON watchable. */\n\treadonly state: Watchable<Readonly<Record<string, WorkerState>>>;\n\t/**\n\t * Bundles the worker base, once (a start waits for it, and starts it when nothing did). Never rejects: how it ended\n\t * (`built`: the files it was built from with their bytes' hashes, the app's base code for its workers). Every start\n\t * fails while it failed.\n\t */\n\tbuild(): Promise<WorkersBuilt>;\n\t/** How the build ended, once it did. */\n\treadonly built: WorkersBuilt | undefined;\n\t/** Suspends `address` while it has holders (`RouteHandle.suspend`), then stops its worker. */\n\tstop(address: Address<K>, context: Context): Promise<void>;\n\t/** Clears `address`'s failure and suspension: it starts again now if held (`RouteHandle.retry`). */\n\tretry(address: Address<K>, context: Context): Promise<void>;\n\t/** A rollout step shipping the kind's current set to every worker, one result per worker (§4). */\n\tstep(name: string): RolloutStep;\n\t/**\n\t * Cancels starts, stops every worker, then removes the worker base's files once every worker exited (also when\n\t * `context` ends the wait first); new starts reject `released/closed`.\n\t */\n\tclose(context: Context): Promise<void>;\n}\n\n/**\n * Creates the workers component on `host`: it routes `Kind` itself (`host.route`, before `load`). Its worker base is\n * not built yet (`build`).\n */\nexport function createWorkers<P extends Principal, N extends string, Q extends Params>(\n\thost: Host<P>,\n\tKind: HostKind<N, Q>,\n\toptions: WorkersOptions<P, HostKind<N, Q>>,\n\tcontext: Context,\n): Workers<HostKind<N, Q>> {\n\t// Its addresses are `Address<HostKind<N, Q>>`, as the route hands them over.\n\tconst component = new WorkersComponent(options as unknown as WorkersOptions<Principal, HostKind>, context);\n\tconst route = host.route(\n\t\tKind,\n\t\t{\n\t\t\tauthorize: (principal, address) => {\n\t\t\t\t// A throw would reach the holder as the hold's failure: the app's error stays private.\n\t\t\t\ttry {\n\t\t\t\t\treturn options.authorize(principal, address);\n\t\t\t\t} catch (error) {\n\t\t\t\t\toptions.onError({ kind: \"authorize_failed\", address: address.key, error });\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t\t// The address is the route's, of `Kind` (the component works on any kind's); the principal is\n\t\t\t// `options.principal`'s, a `P`.\n\t\t\tresolve: (address, routing) =>\n\t\t\t\tcomponent.resolve(address as unknown as Address<HostKind>, routing) as Promise<{\n\t\t\t\t\tlink: Link;\n\t\t\t\t\tprincipal: P;\n\t\t\t\t\ttrusted: true;\n\t\t\t\t}>,\n\t\t},\n\t\tcontext,\n\t);\n\tcomponent.route = route as unknown as RouteHandle<HostKind>;\n\treturn component as unknown as Workers<HostKind<N, Q>>;\n}\n\n/**\n * A failure an address keeps until `retry` or a rollout: what the public sees (a fixed message, or the child's redacted\n * `fatal`; decision \"Slice 10 fix round, worker errors in public\") and when.\n */\ntype Failure = { readonly error: CrossedError; readonly at: number };\n\n/**\n * Why a child fails when it exits, recorded as it happens: a start that failed, a `fatal`, a lost link. `error` is the\n * full error (`onError` only); `public` what holders and `state` get (a fixed one from the exit when absent).\n */\ntype Cause = {\n\treadonly error: unknown;\n\treadonly public?: CrossedError;\n\t/** The component ended the child itself (a failed start): its exit is no `worker_exited`. */\n\treadonly killed?: true;\n\t/** A running child's link was lost: its address may recover (`#recovers`) instead of failing. */\n\treadonly lost?: true;\n};\n\n/** How a child's reloads end once it is gone: stopped cleanly (a stop's exit) or with an error. */\ntype Ended = { readonly kind: \"stopped\" } | { readonly kind: \"failed\"; readonly error: unknown };\n\n/** One worker process of an address, with what its events recorded. */\ntype Child = {\n\treadonly process: WorkerProcess;\n\tstatus: \"starting\" | \"running\" | \"stopping\";\n\t/** A stop was asked for: its exit is no crash. */\n\tstopping: boolean;\n\tcause: Cause | undefined;\n\t/** `started`: the app's host listens on its link. */\n\treadonly started: PromiseWithResolvers<void>;\n\t/** `ready`: its load report; rejected when it exits before. */\n\treadonly ready: PromiseWithResolvers<CrossedReport>;\n\t/** Since when it is idle (from `ready`); `undefined` while busy or before `ready`. */\n\tidleSince: number | undefined;\n\t/** An idle stop is queued (checked again when it runs). */\n\tidleStop: boolean;\n\t/** The set its start message or its last reload that applied without failures carried. */\n\tshipped: string;\n\t/** Its reloads, one outstanding at a time; settles to nothing (a report kept as its value would stay alive). */\n\treloading: Promise<void>;\n\t/** The waiter of its outstanding reload. */\n\treloaded: ((reply: Extract<FromWorker, { readonly kind: \"reloaded\" }>) => void) | undefined;\n\t/** Set once its link is gone or it exited: every reload queued behind settles with it. */\n\tended: Ended | undefined;\n\t/** The grace timer of a stop or of a lost link. */\n\tgrace: ReturnType<typeof setTimeout> | undefined;\n\t/** The lock its start message named; cleared after its exit when it was killed holding it. */\n\tlock: string | undefined;\n};\n\n/** One address: its operations in a queue, its child, its failure. Kept while it has any of them. */\ntype Routed = {\n\treadonly address: Address<HostKind>;\n\tqueue: Promise<void>;\n\tpending: number;\n\tchild: Child | undefined;\n\tfailure: Failure | undefined;\n\t/** A start was queued and has not settled. */\n\tstarting: Promise<unknown> | undefined;\n\t/** When it last recovered from a lost link (`#recovers`). */\n\trecovered: number | undefined;\n};\n\n/** Starts a worker may take until `started` (fork, lock, connect): 60 s. */\nconst START_TIMEOUT = 60_000;\n\n/** How long a stopping worker (or one whose link is gone) gets before its tree is killed: 5 s. */\nconst GRACE = 5_000;\n\n/** How often idle workers are looked for: every second. */\nconst IDLE_CHECK = 1_000;\n\n/** How long a worker idles before it is stopped unless `idleMs` says otherwise: 5 minutes. */\nconst IDLE_MS = 5 * 60_000;\n\n/** How long after a recovered lost link another one fails the address: 1 minute. */\nconst RECOVERY_WINDOW = 60_000;\n\n/** The public error of a start that failed. */\nconst START_FAILED: CrossedError = { message: \"worker failed to start\", code: \"unavailable\" };\n\n/** How the worker base's build ended: its handle, or esbuild's failure. */\ntype Base =\n\t| { readonly kind: \"built\"; readonly base: WorkerBase }\n\t| { readonly kind: \"failed\"; readonly error: unknown };\n\n/** `base` as callers see it. */\nfunction builtOf(base: Base): WorkersBuilt {\n\treturn base.kind === \"built\" ? { kind: \"built\", inputs: base.base.inputs } : base;\n}\n\n/** The link type a route's `resolve` returns. */\ntype Link = WorkerProcess[\"link\"];\n\nclass WorkersComponent implements Workers<HostKind> {\n\t/** Set by `createWorkers` once the route exists. */\n\troute!: RouteHandle<HostKind>;\n\treadonly state: Watchable<Readonly<Record<string, WorkerState>>>;\n\treadonly #state: WorkersState;\n\treadonly #options: WorkersOptions<Principal, HostKind>;\n\t/** What every fork's environment adds to the server's: the app's `env`, the compile cache's directory. */\n\treadonly #environment: Readonly<Record<string, string>> | undefined;\n\t/** The worker base's build, started once; its outcome once it ended. */\n\t#building: Promise<Base> | undefined;\n\t#base: Base | undefined;\n\treadonly #addresses = new Map<string, Routed>();\n\t/** Aborted at `close`: starts waiting in the app's `start` or for `started` end. */\n\treadonly #closing = new AbortController();\n\t/** `#closing`'s signal as a context: what a start's waits are bounded by. */\n\treadonly #closingContext = withAbortSignal(this.#closing.signal, BACKGROUND_CONTEXT);\n\t/** Whether the route's context closes it already (its first `resolve` attached that). */\n\t#routing = false;\n\t#idleTimer: ReturnType<typeof setInterval> | undefined;\n\n\tconstructor(options: WorkersOptions<Principal, HostKind>, context: Context) {\n\t\tthis.#options = options;\n\t\tconst { compileCache, env } = options;\n\t\tthis.#environment = compileCache === undefined ? env : { NODE_COMPILE_CACHE: compileCache, ...env };\n\t\tthis.#state = new WorkersState(this.#addresses, new Batch((error) => options.onError(error), undefined));\n\t\t// Its value is a `Record<string, WorkerState>`.\n\t\tthis.state = this.#state as unknown as Watchable<Readonly<Record<string, WorkerState>>>;\n\t\tthis.#closeWith(context);\n\t}\n\n\tbuild(): Promise<WorkersBuilt> {\n\t\treturn this.#built().then(builtOf);\n\t}\n\n\tget built(): WorkersBuilt | undefined {\n\t\treturn this.#base === undefined ? undefined : builtOf(this.#base);\n\t}\n\n\t/** The worker base's build, started once. */\n\t#built(): Promise<Base> {\n\t\tconst { entry, execArgv = [], baseDir } = this.#options;\n\t\tthis.#building ??= buildWorkerBase(entry, execArgv, baseDir)\n\t\t\t.then(\n\t\t\t\t// Nothing is written until a fork (`file()`): a build that ends after the close touches no file.\n\t\t\t\t(base): Base => ({ kind: \"built\", base }),\n\t\t\t\t(error: unknown): Base => ({ kind: \"failed\", error }),\n\t\t\t)\n\t\t\t.then((outcome) => {\n\t\t\t\tthis.#base = outcome;\n\t\t\t\treturn outcome;\n\t\t\t});\n\t\treturn this.#building;\n\t}\n\n\t/**\n\t * The route's `resolve`: a failed address rejects at once with its (public) failure, nothing forks; otherwise a\n\t * start, after the previous child's exit.\n\t */\n\tresolve(address: Address<HostKind>, routing: Context): Promise<{ link: Link; principal: Principal; trusted: true }> {\n\t\tif (!this.#routing) {\n\t\t\tthis.#routing = true;\n\t\t\tthis.#closeWith(routing);\n\t\t}\n\t\tconst routed = this.#routed(address);\n\t\tif (routed.failure !== undefined) return Promise.reject(uncrossed(routed.failure.error));\n\t\tif (this.#closing.signal.aborted) return Promise.reject(closed());\n\t\tconst started = this.#enqueue(routed, () => this.#start(routed, routing));\n\t\trouted.starting = started;\n\t\tvoid started.then(\n\t\t\t() => this.#settled(routed, started),\n\t\t\t() => this.#settled(routed, started),\n\t\t);\n\t\treturn started;\n\t}\n\n\tasync stop(address: Address<HostKind>, context: Context): Promise<void> {\n\t\tthis.route.suspend(address);\n\t\tconst routed = this.#addresses.get(address.key);\n\t\tif (routed === undefined) return;\n\t\tawait awaitWithContext(\n\t\t\tthis.#enqueue(routed, () => this.#stop(routed)),\n\t\t\tcontext,\n\t\t);\n\t}\n\n\tasync retry(address: Address<HostKind>, _context: Context): Promise<void> {\n\t\tconst routed = this.#addresses.get(address.key);\n\t\tif (routed !== undefined) {\n\t\t\trouted.failure = undefined;\n\t\t\tthis.#state.refresh();\n\t\t\tthis.#forget(routed);\n\t\t}\n\t\tthis.route.retry(address);\n\t}\n\n\tstep(name: string): RolloutStep {\n\t\treturn { name, kinds: [this.#options.kind], reload: (_built, context) => this.#rollout(context) };\n\t}\n\n\tasync close(context: Context): Promise<void> {\n\t\tif (!this.#closing.signal.aborted) this.#closing.abort(closed());\n\t\tclearInterval(this.#idleTimer);\n\t\tthis.#idleTimer = undefined;\n\t\t// Each stop, then what its exit queued (the clear of a killed child's lock file).\n\t\tconst stops = [...this.#addresses.values()].map((routed) =>\n\t\t\tthis.#enqueue(routed, () => this.#stop(routed)).then(() => routed.queue),\n\t\t);\n\t\t// The base's files stay until every child exited or was killed (a stopping worker's closers may import a lazy\n\t\t// chunk), also when `context` ends the wait first: nothing forks once closing, and only files this component\n\t\t// wrote go. The kit releases the data directory's lock only after this close resolved.\n\t\tconst exited = Promise.all(stops).then(() => {\n\t\t\tif (this.#base?.kind === \"built\") this.#base.base.remove();\n\t\t});\n\t\tawait awaitWithContext(exited, context);\n\t}\n\n\t/** `context`'s abort closes the component (the route's is aborted when the host closes). */\n\t#closeWith(context: Context): void {\n\t\tconst signal = context.abortSignal;\n\t\tif (signal === undefined || signal.aborted) return;\n\t\tsignal.addEventListener(\"abort\", () => void this.close(BACKGROUND_CONTEXT).catch(() => {}), { once: true });\n\t}\n\n\t/** The record of `address`, made by its first use. */\n\t#routed(address: Address<HostKind>): Routed {\n\t\tlet routed = this.#addresses.get(address.key);\n\t\tif (routed === undefined) {\n\t\t\trouted = {\n\t\t\t\taddress,\n\t\t\t\tqueue: Promise.resolve(),\n\t\t\t\tpending: 0,\n\t\t\t\tchild: undefined,\n\t\t\t\tfailure: undefined,\n\t\t\t\tstarting: undefined,\n\t\t\t\trecovered: undefined,\n\t\t\t};\n\t\t\tthis.#addresses.set(address.key, routed);\n\t\t}\n\t\treturn routed;\n\t}\n\n\t/** Runs `operation` after the address's earlier ones. */\n\t#enqueue<T>(routed: Routed, operation: () => Promise<T>): Promise<T> {\n\t\trouted.pending++;\n\t\tconst run = routed.queue.then(operation);\n\t\trouted.queue = run.then(\n\t\t\t() => this.#done(routed),\n\t\t\t() => this.#done(routed),\n\t\t);\n\t\treturn run;\n\t}\n\n\t/** An operation ended. */\n\t#done(routed: Routed): void {\n\t\trouted.pending--;\n\t\tthis.#forget(routed);\n\t}\n\n\t/** A start settled: no longer starting. */\n\t#settled(routed: Routed, started: Promise<unknown>): void {\n\t\tif (routed.starting === started) routed.starting = undefined;\n\t}\n\n\t/** Forgets an address with no operation, no child and no failure. */\n\t#forget(routed: Routed): void {\n\t\tif (routed.pending === 0 && routed.child === undefined && routed.failure === undefined) {\n\t\t\tthis.#addresses.delete(routed.address.key);\n\t\t}\n\t}\n\n\t/**\n\t * A start: the app's start data, the fork, the start message with the kind's current set, then `started` within the\n\t * start timer (fork, lock and connect only). Its failure fails the address; `close` ends it at any of its waits (an\n\t * app's `start` that ignores its signal too), a forked child is stopped.\n\t */\n\tasync #start(routed: Routed, routing: Context): Promise<{ link: Link; principal: Principal; trusted: true }> {\n\t\tconst { address } = routed;\n\t\t// After the previous child's exit (its link may close first): a crash recorded meanwhile rejects this start.\n\t\tawait routed.child?.process.exited;\n\t\tconst crashed = routed.failure;\n\t\tif (crashed !== undefined) throw uncrossed(crashed.error);\n\t\tif (this.#closing.signal.aborted) throw closed();\n\t\t// The kind's worker base: a start waits for its build, and fails while it failed.\n\t\tconst base = await awaitWithContext(this.#built(), this.#closingContext).catch(() => {\n\t\t\t// `#built` never rejects: the close ended the wait.\n\t\t\tthrow closed();\n\t\t});\n\t\tif (this.#closing.signal.aborted) throw closed();\n\t\tif (base.kind === \"failed\") throw this.#fail(routed, { error: base.error, public: START_FAILED }, undefined);\n\t\tconst context = withAbortSignal(this.#closing.signal, routing);\n\t\tlet data: JsonValue;\n\t\ttry {\n\t\t\tdata = await awaitWithContext(Promise.resolve(this.#options.start(address, context)), this.#closingContext);\n\t\t} catch (error) {\n\t\t\tif (this.#closing.signal.aborted) throw closed();\n\t\t\tthrow this.#fail(routed, { error, public: START_FAILED }, undefined);\n\t\t}\n\t\t// Checked in the same synchronous step as the fork, which writes the base's files (`file()`): never after the\n\t\t// close (the kit releases the data directory's lock after it; a later start owns `baseDir` then).\n\t\tif (this.#closing.signal.aborted) throw closed();\n\t\tlet child: Child;\n\t\ttry {\n\t\t\tchild = this.#fork(routed, base.base);\n\t\t} catch (error) {\n\t\t\tthrow this.#fail(routed, { error, public: START_FAILED }, undefined);\n\t\t}\n\t\tconst timer = setTimeout(() => {\n\t\t\tconst error = new Error(`worker ${address.key}: did not start within ${START_TIMEOUT / 1000} s`);\n\t\t\tchild.cause ??= { error, killed: true };\n\t\t\tchild.process.kill();\n\t\t}, START_TIMEOUT);\n\t\t// Every app hook of the start runs in here: what one throws stays private (`worker_failed`), its holders and\n\t\t// `state` get the fixed public message (Astra's recheck R3: `principal` threw through to a guest).\n\t\ttry {\n\t\t\tconst scripts = await this.#options.plugins.scripts(this.#options.kind, context);\n\t\t\tchild.shipped = keyOf(scripts);\n\t\t\tconst lock = this.#options.lock(address);\n\t\t\t// A worker killed without its exit hooks (SIGKILL), maybe by an earlier server, left its socket file, which fails\n\t\t\t// its successors closed. The component is the one clearer of its addresses' locks, in the address's queue: one\n\t\t\t// clear at a time (decision \"Stale lock files are cleared by the starter\"). A live holder (an old worker still\n\t\t\t// exiting) is kept and waited for.\n\t\t\tawait clearStaleLock(lock, context);\n\t\t\tchild.lock = lock;\n\t\t\tchild.process.send({ kind: \"start\", address, start: data, scripts, lock });\n\t\t\tawait awaitWithContext(child.started.promise, this.#closingContext);\n\t\t\treturn { link: child.process.link, principal: this.#options.principal(address), trusted: true };\n\t\t} catch (error) {\n\t\t\t// Closing is a stop (no failure); anything else fails the start.\n\t\t\tif (this.#closing.signal.aborted) child.stopping = true;\n\t\t\telse child.cause ??= { error, public: START_FAILED, killed: true };\n\t\t\tchild.process.kill();\n\t\t\tawait child.process.exited;\n\t\t\tif (this.#closing.signal.aborted) throw closed();\n\t\t\tthrow uncrossed(routed.failure?.error ?? START_FAILED);\n\t\t} finally {\n\t\t\tclearTimeout(timer);\n\t\t}\n\t}\n\n\t/** Forks the address's worker and records its events on it as they happen. */\n\t#fork(routed: Routed, base: WorkerBase): Child {\n\t\tconst { address } = routed;\n\t\tconst onOutput = this.#options.onOutput;\n\t\tlet child!: Child;\n\t\tconst process = new WorkerProcess(\n\t\t\t{\n\t\t\t\tentry: base.file(),\n\t\t\t\t// Stack traces name the base code's files; the app's flags come after (`--no-enable-source-maps` wins).\n\t\t\t\texecArgv: [\"--enable-source-maps\", ...(this.#options.execArgv ?? [])],\n\t\t\t\t...(this.#environment === undefined ? {} : { env: this.#environment }),\n\t\t\t\t...(onOutput === undefined ? {} : { onOutput: (stream, chunk) => onOutput(address, stream, chunk) }),\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontrol: (message) => this.#control(routed, child, message),\n\t\t\t\tlinkLost: () => this.#linkLost(child),\n\t\t\t\tlinkClosed: () => this.#linkClosed(child),\n\t\t\t\texited: (exit) => this.#exited(routed, child, exit),\n\t\t\t},\n\t\t);\n\t\tchild = {\n\t\t\tprocess,\n\t\t\tstatus: \"starting\",\n\t\t\tstopping: false,\n\t\t\tcause: undefined,\n\t\t\tstarted: Promise.withResolvers(),\n\t\t\tready: Promise.withResolvers(),\n\t\t\tidleSince: undefined,\n\t\t\tidleStop: false,\n\t\t\tshipped: \"\",\n\t\t\treloading: Promise.resolve(),\n\t\t\treloaded: undefined,\n\t\t\tended: undefined,\n\t\t\tgrace: undefined,\n\t\t\tlock: undefined,\n\t\t};\n\t\t// Nobody may wait for them.\n\t\tchild.started.promise.catch(() => {});\n\t\tchild.ready.promise.catch(() => {});\n\t\trouted.child = child;\n\t\tthis.#state.refresh();\n\t\tthis.#watchIdle();\n\t\treturn child;\n\t}\n\n\t/** A control message of `child`. */\n\t#control(routed: Routed, child: Child, message: FromWorker): void {\n\t\tswitch (message.kind) {\n\t\t\tcase \"started\":\n\t\t\t\tchild.started.resolve();\n\t\t\t\treturn;\n\t\t\tcase \"ready\":\n\t\t\t\tchild.status = \"running\";\n\t\t\t\tchild.idleSince = message.idle ? Date.now() : undefined;\n\t\t\t\tchild.ready.resolve(message.report);\n\t\t\t\tif (routed.child === child) this.#state.refresh();\n\t\t\t\treturn;\n\t\t\tcase \"idle\":\n\t\t\t\tchild.idleSince = message.idle ? (child.idleSince ?? Date.now()) : undefined;\n\t\t\t\treturn;\n\t\t\tcase \"fatal\":\n\t\t\t\t// Redacted by the child's `redact`: public as it is.\n\t\t\t\tchild.cause ??= { error: uncrossed(message.error), public: message.error };\n\t\t\t\tchild.started.reject(uncrossed(message.error));\n\t\t\t\tchild.process.kill();\n\t\t\t\treturn;\n\t\t\tcase \"reloaded\":\n\t\t\t\tchild.reloaded?.(message);\n\t\t}\n\t}\n\n\t/** This side closed `child`'s link (the heartbeat, a protocol error): its child is stopped, its exit a lost link. */\n\t#linkLost(child: Child): void {\n\t\tthis.#ended(child);\n\t\tif (child.stopping) return;\n\t\tchild.cause ??= lostLink(child);\n\t\tthis.#shutdown(child);\n\t\tthis.#state.refresh();\n\t}\n\n\t/**\n\t * The child's side closed its link (it is exiting, or it closed its IPC and lives on): its reloads end; one that does\n\t * not exit within the grace is killed, its exit a lost link.\n\t */\n\t#linkClosed(child: Child): void {\n\t\tthis.#ended(child);\n\t\tif (child.stopping || child.grace !== undefined) return;\n\t\tconst lost = lostLink(child);\n\t\tchild.grace = setTimeout(() => {\n\t\t\tchild.cause ??= lost;\n\t\t\tchild.process.kill();\n\t\t}, GRACE);\n\t}\n\n\t/**\n\t * `child` exited: a stop's exit forgets it, as does a lost link the address recovers from (`worker_link_lost`: its\n\t * holders' route resolves again, a start after this exit); any other is a crash that fails the address\n\t * (`worker_exited` and `worker_failed` once, the full error and stderr tail for the app's logs only), except once the\n\t * component closes.\n\t */\n\t#exited(routed: Routed, child: Child, exit: Exit): void {\n\t\tclearTimeout(child.grace);\n\t\tconst clean = child.stopping && child.cause === undefined;\n\t\tconst cause: Cause = child.cause ?? { error: exitError(routed.address, exit, child) };\n\t\tconst error = cause.public ?? publicExit(exit, child);\n\t\tchild.started.reject(uncrossed(error));\n\t\tchild.ready.reject(uncrossed(error));\n\t\tthis.#ended(child);\n\t\tconst lock = child.lock;\n\t\t// A child a signal ended (SIGKILL) ran no exit hooks: its socket file would stay until the address's next start.\n\t\t// Cleared in the queue, like a start's clear; a failure here is the next start's to report (it clears again).\n\t\tif (lock !== undefined && exit.signal !== null) {\n\t\t\tvoid this.#enqueue(routed, () => clearStaleLock(lock, BACKGROUND_CONTEXT)).catch(() => {});\n\t\t}\n\t\tif (routed.child !== child) return;\n\t\trouted.child = undefined;\n\t\tif (!clean && !this.#closing.signal.aborted) {\n\t\t\tif (cause.lost === true && this.#recovers(routed)) {\n\t\t\t\tthis.#options.onError({ kind: \"worker_link_lost\", address: routed.address.key, error: cause.error });\n\t\t\t} else {\n\t\t\t\tconst { code, signal } = exit;\n\t\t\t\t// A failed start's kill is the component's own act (Opus's second recheck): only `worker_failed`.\n\t\t\t\tif (cause.killed !== true) {\n\t\t\t\t\tthis.#options.onError({ kind: \"worker_exited\", address: routed.address.key, code, signal });\n\t\t\t\t}\n\t\t\t\tthis.#fail(routed, { ...cause, public: error }, child.process.stderrTail);\n\t\t\t}\n\t\t}\n\t\tthis.#state.refresh();\n\t\tthis.#forget(routed);\n\t}\n\n\t/**\n\t * Whether `routed` recovers from its running child's lost link, recorded when it does: not within a minute of the\n\t * last recovery, so a worker that loses every link fails instead of restarting in a loop.\n\t */\n\t#recovers(routed: Routed): boolean {\n\t\tconst now = Date.now();\n\t\tif (routed.recovered !== undefined && now - routed.recovered < RECOVERY_WINDOW) return false;\n\t\trouted.recovered = now;\n\t\treturn true;\n\t}\n\n\t/**\n\t * `child`'s link is gone or it exited (the first of these): its outstanding reload and every one queued behind it\n\t * settle, `stopped` when a stop asked for it, else failed.\n\t */\n\t#ended(child: Child): void {\n\t\tif (child.ended !== undefined) return;\n\t\tchild.ended =\n\t\t\tchild.stopping && child.cause === undefined\n\t\t\t\t? { kind: \"stopped\" }\n\t\t\t\t: { kind: \"failed\", error: new ChordError({ code: \"unavailable\", message: \"worker: its link is gone\" }) };\n\t\tchild.reloaded?.({ kind: \"reloaded\", error: { message: \"worker: its link is gone\" } });\n\t}\n\n\t/**\n\t * Fails `routed` with `cause` (`worker_failed` once, with the full error and `stderrTail`); returns the public error\n\t * a start rejects with.\n\t */\n\t#fail(routed: Routed, cause: Cause & { readonly public: CrossedError }, stderrTail: string | undefined): Error {\n\t\trouted.failure = { error: cause.public, at: Date.now() };\n\t\tthis.#options.onError({\n\t\t\tkind: \"worker_failed\",\n\t\t\taddress: routed.address.key,\n\t\t\terror: cause.error,\n\t\t\t...(stderrTail === undefined ? {} : { stderrTail }),\n\t\t});\n\t\tthis.#state.refresh();\n\t\treturn uncrossed(cause.public);\n\t}\n\n\t/** A stop: `shutdown`, the grace, then the tree killed; resolves at its exit. */\n\tasync #stop(routed: Routed): Promise<void> {\n\t\tconst child = routed.child;\n\t\tif (child === undefined) return;\n\t\tchild.stopping = true;\n\t\tthis.#shutdown(child);\n\t\tthis.#state.refresh();\n\t\tawait child.process.exited;\n\t}\n\n\t/** Asks `child` to shut down and kills its tree after the grace. */\n\t#shutdown(child: Child): void {\n\t\tchild.status = \"stopping\";\n\t\tchild.process.send({ kind: \"shutdown\" });\n\t\tclearTimeout(child.grace);\n\t\tchild.grace = setTimeout(() => child.process.kill(), GRACE);\n\t}\n\n\t/** Starts the idle check (every second) while any worker exists. */\n\t#watchIdle(): void {\n\t\tif (this.#idleTimer !== undefined) return;\n\t\tthis.#idleTimer = setInterval(() => this.#checkIdle(), IDLE_CHECK);\n\t\tthis.#idleTimer.unref();\n\t}\n\n\t/** Queues a stop for every worker idle since `idleMs()`; stops checking once no worker is left. */\n\t#checkIdle(): void {\n\t\tconst idleMs = this.#idleMs();\n\t\tconst now = Date.now();\n\t\tlet workers = 0;\n\t\tfor (const routed of this.#addresses.values()) {\n\t\t\tconst child = routed.child;\n\t\t\tif (child === undefined) continue;\n\t\t\tworkers++;\n\t\t\tif (child.idleStop || child.status !== \"running\") continue;\n\t\t\tif (child.idleSince === undefined || now - child.idleSince < idleMs) continue;\n\t\t\tchild.idleStop = true;\n\t\t\tvoid this.#enqueue(routed, () => this.#idleStop(routed, child));\n\t\t}\n\t\tif (workers === 0) {\n\t\t\tclearInterval(this.#idleTimer);\n\t\t\tthis.#idleTimer = undefined;\n\t\t}\n\t}\n\n\t/** An idle stop when it runs: only if `child` is still the address's and still idle (a hold may have come since). */\n\tasync #idleStop(routed: Routed, child: Child): Promise<void> {\n\t\tchild.idleStop = false;\n\t\tif (routed.child !== child || child.idleSince === undefined) return;\n\t\tif (Date.now() - child.idleSince < this.#idleMs()) return;\n\t\tawait this.#stop(routed);\n\t}\n\n\t/** How long a worker idles before it is stopped. */\n\t#idleMs(): number {\n\t\treturn this.#options.idleMs?.() ?? IDLE_MS;\n\t}\n\n\t/**\n\t * The rollout step (§4): the set as this rollout applied it, read now (before another rollout changes it); the\n\t * failures recorded before it cleared and the held ones retried (listed once ready or failed); the set shipped to\n\t * every worker whose last applied set differs, in parallel. `context`'s abort ends only this wait: the entries\n\t * still waiting are listed with its error.\n\t */\n\tasync #rollout(context: Context): Promise<{ readonly hosts: readonly RolloutHost[] }> {\n\t\tconst { kind, plugins } = this.#options;\n\t\tconst scripts = plugins.current(kind) ?? (await plugins.scripts(kind, context));\n\t\tconst key = keyOf(scripts);\n\t\tconst entries: { readonly host: string; readonly entry: Promise<RolloutHost> }[] = [];\n\t\tfor (const routed of [...this.#addresses.values()]) {\n\t\t\tif (routed.failure === undefined) continue;\n\t\t\trouted.failure = undefined;\n\t\t\tthis.#state.refresh();\n\t\t\tthis.route.retry(routed.address);\n\t\t\tconst started = routed.starting;\n\t\t\tif (started === undefined) this.#forget(routed);\n\t\t\telse entries.push({ host: routed.address.key, entry: this.#retried(routed, started) });\n\t\t}\n\t\tfor (const routed of this.#addresses.values()) {\n\t\t\tconst child = routed.child;\n\t\t\tif (child === undefined || child.status === \"stopping\" || child.shipped === key) continue;\n\t\t\tentries.push({ host: routed.address.key, entry: this.#reload(routed.address.key, child, scripts, key) });\n\t\t}\n\t\treturn { hosts: await Promise.all(entries.map(({ host, entry }) => bounded(host, entry, context))) };\n\t}\n\n\t/** A retried address's entry: its start's load report once ready, or its error. */\n\tasync #retried(routed: Routed, started: Promise<unknown>): Promise<RolloutHost> {\n\t\tconst host = routed.address.key;\n\t\ttry {\n\t\t\tawait started;\n\t\t\tconst child = routed.child;\n\t\t\tif (child === undefined) throw new Error(\"worker: exited\");\n\t\t\treturn { host, report: uncrossedReport(await child.ready.promise) };\n\t\t} catch (error) {\n\t\t\treturn { host, error };\n\t\t}\n\t}\n\n\t/**\n\t * Ships `scripts` to `child` after its outstanding reload; settles on `reloaded`, its link's loss or its exit. Only a\n\t * reload that applied without failures marks the set shipped (a failed plugin is shipped again next time).\n\t */\n\t#reload(host: string, child: Child, scripts: readonly PluginScript[], key: string): Promise<RolloutHost> {\n\t\tconst reload = child.reloading.then(\n\t\t\t() =>\n\t\t\t\tnew Promise<RolloutHost>((resolve) => {\n\t\t\t\t\tconst settle = (ended: Ended): void => {\n\t\t\t\t\t\tresolve(ended.kind === \"stopped\" ? { host, stopped: true } : { host, error: ended.error });\n\t\t\t\t\t};\n\t\t\t\t\tif (child.ended !== undefined) {\n\t\t\t\t\t\tsettle(child.ended);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tchild.reloaded = (reply) => {\n\t\t\t\t\t\tchild.reloaded = undefined;\n\t\t\t\t\t\tif (\"report\" in reply) {\n\t\t\t\t\t\t\tif (reply.report.failed.length === 0) child.shipped = key;\n\t\t\t\t\t\t\tresolve({ host, report: uncrossedReport(reply.report) });\n\t\t\t\t\t\t} else if (child.ended !== undefined) {\n\t\t\t\t\t\t\tsettle(child.ended);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresolve({ host, error: uncrossed(reply.error) });\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\tchild.process.send({ kind: \"reload\", scripts });\n\t\t\t\t}),\n\t\t);\n\t\tchild.reloading = reload.then(\n\t\t\t() => {},\n\t\t\t() => {},\n\t\t);\n\t\treturn reload;\n\t}\n}\n\n/** What new starts reject with once the component closes. */\nfunction closed(): ChordError {\n\treturn new ChordError({ code: \"released\", reason: \"closed\", message: \"workers: closed\" });\n}\n\n/** The public error of a running worker's lost link that fails its address (a second one within the window). */\nconst LINK_LOST: CrossedError = { message: \"worker lost its link\", code: \"unavailable\" };\n\n/**\n * The cause of `child`'s lost link (the heartbeat, a protocol error, its own close of its link) while it lives: after\n * `ready`, one its address may recover from; before it, a failed start.\n */\nfunction lostLink(child: Child): Cause {\n\tconst error = new Error(\"worker: link lost\");\n\treturn child.status === \"running\" ? { error, public: LINK_LOST, lost: true } : { error };\n}\n\n/** The full error of an exit nobody asked for (the app's logs). */\nfunction exitError(address: Address, { code, signal }: Exit, child: Child): Error {\n\tconst how = signal === null ? `code ${code}` : `signal ${signal}`;\n\tconst when = child.status === \"starting\" ? \"exited before it was ready\" : \"exited\";\n\treturn new ChordError({ code: \"unavailable\", message: `worker ${address.key}: ${when} (${how})` });\n}\n\n/** The public error of an exit: a start that failed, or the exit's code or signal. */\nfunction publicExit({ code, signal }: Exit, child: Child): CrossedError {\n\tif (child.status === \"starting\") return START_FAILED;\n\treturn { message: `worker exited (${signal ?? `code ${code}`})`, code: \"unavailable\" };\n}\n\n/** A set's identity: its plugins and digests. */\nfunction keyOf(scripts: readonly PluginScript[]): string {\n\treturn scripts\n\t\t.map(({ plugin, built }) => `${plugin.name}@${built.kind === \"script\" ? built.digest : \"failed\"}`)\n\t\t.sort()\n\t\t.join(\"\\n\");\n}\n\n/** `entry`, or `host` listed with the abort's error once `context` aborts first (the entry goes on). */\nasync function bounded(host: string, entry: Promise<RolloutHost>, context: Context): Promise<RolloutHost> {\n\ttry {\n\t\treturn await awaitWithContext(entry, context);\n\t} catch (error) {\n\t\treturn { host, error };\n\t}\n}\n\n/** The workers' state: a JSON watchable of every address's `WorkerState`, published once per microtask turn. */\nclass WorkersState extends Source {\n\treadonly #addresses: ReadonlyMap<string, Routed>;\n\t#value: Readonly<Record<string, WorkerState>> | undefined;\n\t#scheduled = false;\n\n\tconstructor(addresses: ReadonlyMap<string, Routed>, batch: Batch) {\n\t\tsuper(batch);\n\t\tthis.#addresses = addresses;\n\t}\n\n\tget value(): JsonValue {\n\t\tthis.#value ??= stateOf(this.#addresses);\n\t\t// Plain JSON: statuses, numbers and crossed errors.\n\t\treturn this.#value as unknown as JsonValue;\n\t}\n\n\tdeliver(context: Context): void {\n\t\tconst value = this.value;\n\t\tthis.publish(value, [[\"r\", value]], false, context);\n\t}\n\n\t/** Something changed: published with the turn's other changes while someone watches or derives from it. */\n\trefresh(): void {\n\t\tthis.#value = undefined;\n\t\tif (this.#scheduled || (!this.watched && this.dependents.size === 0)) return;\n\t\tthis.#scheduled = true;\n\t\tqueueMicrotask(() => {\n\t\t\tthis.#scheduled = false;\n\t\t\tthis.batch.within(() => this.changed(), BACKGROUND_CONTEXT);\n\t\t});\n\t}\n}\n\n/** Every address's state: its child's, or its failure; none for an address with neither. */\nfunction stateOf(addresses: ReadonlyMap<string, Routed>): Record<string, WorkerState> {\n\tconst state: Record<string, WorkerState> = {};\n\tfor (const [key, { child, failure }] of addresses) {\n\t\tif (failure !== undefined) {\n\t\t\tstate[key] = { status: \"failed\", ...failure };\n\t\t} else if (child !== undefined) {\n\t\t\tconst { pid, startedAt } = child.process;\n\t\t\tstate[key] = { status: child.status, pid, startedAt };\n\t\t}\n\t}\n\treturn state;\n}\n"]}
@@ -0,0 +1,43 @@
1
+ import { type ReactNode } from "react";
2
+ import type { Contract, ParamsOf } from "../contracts/index.ts";
3
+ import type { Principal } from "../data/index.ts";
4
+ import type { Held, Host, RefState } from "../host/index.ts";
5
+ import type { Registry } from "../registries/index.ts";
6
+ import { type Messages, type Translator } from "../surfaces/index.ts";
7
+ import type { NativeWatchable, Watchable } from "../watch.ts";
8
+ /** Gives `host` to the components below. */
9
+ export declare function HostProvider<P extends Principal>(props: {
10
+ readonly host: Host<P>;
11
+ readonly children?: ReactNode;
12
+ }): import("react").FunctionComponentElement<import("react").ProviderProps<Host<Principal, import("../json.ts").JsonValue> | undefined>>;
13
+ /** The host `HostProvider` gives; throws outside one. */
14
+ export declare function useHost<P extends Principal = Principal>(): Host<P>;
15
+ /**
16
+ * A reference to `Type` with `params`, held while the component is mounted and released when it unmounts or its params
17
+ * change (compared by value); `undefined` before its first hold (the first render).
18
+ */
19
+ export declare function useHold<C extends Contract>(Type: C, params: ParamsOf<C>): Held<C> | undefined;
20
+ /** The current value of `watchable` (a state member, a derive), re-rendering on change; `undefined` while it has none. */
21
+ export declare function useWatch<T>(watchable: Watchable<T> | NativeWatchable<T> | undefined): T | undefined;
22
+ /** Registry `R`'s composed value on the component's host, re-rendering on change; `undefined` until it is usable. */
23
+ export declare function useRegistry<C, V>(R: Registry<C, V>): V | undefined;
24
+ /** The state of `ref` (loading, live, failed, ended), re-rendering on change; `undefined` without a reference. */
25
+ export declare function useRefState(ref: {
26
+ readonly state: NativeWatchable<RefState>;
27
+ } | undefined): RefState | undefined;
28
+ /**
29
+ * A value the page keeps under `key` for its host's life, not the component's, with its setter (`useState`'s pair): a
30
+ * component remounted by a plugin reload, a new function, finds what it had; a new key starts at `initial`. Any value
31
+ * (it never crosses a link); gone with the page.
32
+ */
33
+ export declare function usePageState<T>(key: string, initial: T): readonly [T, (value: T) => void];
34
+ /**
35
+ * `messages` in the language of the component's host (the user's pick, else the device's, matched against the
36
+ * catalogs), with its locale; re-renders when the locale or a translation changes. Before the host follows a language
37
+ * (`startPage` does), `t` renders the first catalog and `locale` is `undefined`.
38
+ */
39
+ export declare function useMessages<N extends string, M>(messages: Messages<N, M>): {
40
+ readonly t: Translator<N, M>;
41
+ readonly locale: string | undefined;
42
+ };
43
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/react/hooks.ts"],"names":[],"mappings":"AAOA,OAAO,EAGN,KAAK,SAAS,EAMd,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAgB,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEpF,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAM9D,4CAA4C;AAC5C,wBAAgB,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,wIAGjH;AAED,yDAAyD;AACzD,wBAAgB,OAAO,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,CAIlE;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAW7F;AAED,0HAA0H;AAC1H,wBAAgB,QAAQ,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,GAAG,SAAS,CAGnG;AAED,qHAAqH;AACrH,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CASlE;AAED,kHAAkH;AAClH,wBAAgB,WAAW,CAAC,GAAG,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAA;CAAE,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAEhH;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,CAGzF;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAC9C,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GACtB;IAAE,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAIvE"}
@@ -0,0 +1,82 @@
1
+ // React bindings (slice 11 §3, decision "Slice 11, P7"; p2's `useObject`, `useReadable`, `useRegistry`): a host in
2
+ // context, references held for a component's life, watchables read with `useSyncExternalStore`, page state kept for
3
+ // the host's life, and a plugin's messages in the host's language. A component unmounted by a reload has not left
4
+ // (design §21): its releases are plain releases, presence is the app's. A component of a reloaded plugin is a new
5
+ // function and remounts, its `useState` starting over; what must survive is page state (decision "Tutorial gaps" (1)).
6
+ // No components, no styling.
7
+ import { createContext, createElement, useContext, useEffect, useMemo, useState, useSyncExternalStore, } from "react";
8
+ import { BACKGROUND_CONTEXT, withAbortSignal } from "../context/index.js";
9
+ import { canonicalJson } from "../data/principal.js";
10
+ import { hostLanguage } from "../surfaces/index.js";
11
+ import { pageState } from "../surfaces/page-state.js";
12
+ import { watchStore } from "./stores.js";
13
+ /** The host components use, given by `HostProvider`. */
14
+ const HostContext = createContext(undefined);
15
+ /** Gives `host` to the components below. */
16
+ export function HostProvider(props) {
17
+ // Components hold for the app's principal type: the context keeps it as the host was given.
18
+ return createElement(HostContext.Provider, { value: props.host }, props.children);
19
+ }
20
+ /** The host `HostProvider` gives; throws outside one. */
21
+ export function useHost() {
22
+ const host = useContext(HostContext);
23
+ if (host === undefined)
24
+ throw new Error("useHost: no HostProvider above this component");
25
+ return host;
26
+ }
27
+ /**
28
+ * A reference to `Type` with `params`, held while the component is mounted and released when it unmounts or its params
29
+ * change (compared by value); `undefined` before its first hold (the first render).
30
+ */
31
+ export function useHold(Type, params) {
32
+ const host = useHost();
33
+ const key = canonicalJson(params, BACKGROUND_CONTEXT);
34
+ const [held, setHeld] = useState(undefined);
35
+ // biome-ignore lint/correctness/useExhaustiveDependencies: `key` is `params` by value: an inline object must not re-hold.
36
+ useEffect(() => {
37
+ const ref = host.hold(Type, params, BACKGROUND_CONTEXT);
38
+ setHeld({ key, ref });
39
+ return () => ref.release();
40
+ }, [host, Type, key]);
41
+ return held !== undefined && held.key === key ? held.ref : undefined;
42
+ }
43
+ /** The current value of `watchable` (a state member, a derive), re-rendering on change; `undefined` while it has none. */
44
+ export function useWatch(watchable) {
45
+ const store = useMemo(() => watchStore(watchable), [watchable]);
46
+ return useSyncExternalStore(store.subscribe, store.snapshot, store.snapshot);
47
+ }
48
+ /** Registry `R`'s composed value on the component's host, re-rendering on change; `undefined` until it is usable. */
49
+ export function useRegistry(R) {
50
+ const host = useHost();
51
+ const [value, setValue] = useState(undefined);
52
+ useEffect(() => {
53
+ const abort = new AbortController();
54
+ host.registry(R, withAbortSignal(abort.signal, BACKGROUND_CONTEXT)).then(setValue, () => { });
55
+ return () => abort.abort();
56
+ }, [host, R]);
57
+ return useWatch(value);
58
+ }
59
+ /** The state of `ref` (loading, live, failed, ended), re-rendering on change; `undefined` without a reference. */
60
+ export function useRefState(ref) {
61
+ return useWatch(ref?.state);
62
+ }
63
+ /**
64
+ * A value the page keeps under `key` for its host's life, not the component's, with its setter (`useState`'s pair): a
65
+ * component remounted by a plugin reload, a new function, finds what it had; a new key starts at `initial`. Any value
66
+ * (it never crosses a link); gone with the page.
67
+ */
68
+ export function usePageState(key, initial) {
69
+ const state = pageState(useHost(), key, initial);
70
+ return [useSyncExternalStore(state.subscribe, state.read, state.read), state.set];
71
+ }
72
+ /**
73
+ * `messages` in the language of the component's host (the user's pick, else the device's, matched against the
74
+ * catalogs), with its locale; re-renders when the locale or a translation changes. Before the host follows a language
75
+ * (`startPage` does), `t` renders the first catalog and `locale` is `undefined`.
76
+ */
77
+ export function useMessages(messages) {
78
+ const state = hostLanguage(useHost());
79
+ const language = useSyncExternalStore(state.subscribe, state.read, state.read);
80
+ return useMemo(() => ({ t: messages.in(language), locale: language?.locale }), [messages, language]);
81
+ }
82
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/react/hooks.ts"],"names":[],"mappings":"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","sourcesContent":["// React bindings (slice 11 §3, decision \"Slice 11, P7\"; p2's `useObject`, `useReadable`, `useRegistry`): a host in\n// context, references held for a component's life, watchables read with `useSyncExternalStore`, page state kept for\n// the host's life, and a plugin's messages in the host's language. A component unmounted by a reload has not left\n// (design §21): its releases are plain releases, presence is the app's. A component of a reloaded plugin is a new\n// function and remounts, its `useState` starting over; what must survive is page state (decision \"Tutorial gaps\" (1)).\n// No components, no styling.\n\nimport {\n\tcreateContext,\n\tcreateElement,\n\ttype ReactNode,\n\tuseContext,\n\tuseEffect,\n\tuseMemo,\n\tuseState,\n\tuseSyncExternalStore,\n} from \"react\";\nimport { BACKGROUND_CONTEXT, withAbortSignal } from \"../context/index.ts\";\nimport type { Contract, ParamsOf } from \"../contracts/index.ts\";\nimport type { Principal } from \"../data/index.ts\";\nimport { canonicalJson } from \"../data/principal.ts\";\nimport type { Held, Host, RefState } from \"../host/index.ts\";\nimport type { Registry } from \"../registries/index.ts\";\nimport { hostLanguage, type Messages, type Translator } from \"../surfaces/index.ts\";\nimport { pageState } from \"../surfaces/page-state.ts\";\nimport type { NativeWatchable, Watchable } from \"../watch.ts\";\nimport { watchStore } from \"./stores.ts\";\n\n/** The host components use, given by `HostProvider`. */\nconst HostContext = createContext<Host<Principal> | undefined>(undefined);\n\n/** Gives `host` to the components below. */\nexport function HostProvider<P extends Principal>(props: { readonly host: Host<P>; readonly children?: ReactNode }) {\n\t// Components hold for the app's principal type: the context keeps it as the host was given.\n\treturn createElement(HostContext.Provider, { value: props.host as unknown as Host<Principal> }, props.children);\n}\n\n/** The host `HostProvider` gives; throws outside one. */\nexport function useHost<P extends Principal = Principal>(): Host<P> {\n\tconst host = useContext(HostContext);\n\tif (host === undefined) throw new Error(\"useHost: no HostProvider above this component\");\n\treturn host as unknown as Host<P>;\n}\n\n/**\n * A reference to `Type` with `params`, held while the component is mounted and released when it unmounts or its params\n * change (compared by value); `undefined` before its first hold (the first render).\n */\nexport function useHold<C extends Contract>(Type: C, params: ParamsOf<C>): Held<C> | undefined {\n\tconst host = useHost();\n\tconst key = canonicalJson(params as never, BACKGROUND_CONTEXT);\n\tconst [held, setHeld] = useState<{ readonly key: string; readonly ref: Held<C> } | undefined>(undefined);\n\t// biome-ignore lint/correctness/useExhaustiveDependencies: `key` is `params` by value: an inline object must not re-hold.\n\tuseEffect(() => {\n\t\tconst ref = host.hold(Type, params, BACKGROUND_CONTEXT);\n\t\tsetHeld({ key, ref });\n\t\treturn () => ref.release();\n\t}, [host, Type, key]);\n\treturn held !== undefined && held.key === key ? held.ref : undefined;\n}\n\n/** The current value of `watchable` (a state member, a derive), re-rendering on change; `undefined` while it has none. */\nexport function useWatch<T>(watchable: Watchable<T> | NativeWatchable<T> | undefined): T | undefined {\n\tconst store = useMemo(() => watchStore(watchable), [watchable]);\n\treturn useSyncExternalStore(store.subscribe, store.snapshot, store.snapshot);\n}\n\n/** Registry `R`'s composed value on the component's host, re-rendering on change; `undefined` until it is usable. */\nexport function useRegistry<C, V>(R: Registry<C, V>): V | undefined {\n\tconst host = useHost();\n\tconst [value, setValue] = useState<NativeWatchable<V> | undefined>(undefined);\n\tuseEffect(() => {\n\t\tconst abort = new AbortController();\n\t\thost.registry(R, withAbortSignal(abort.signal, BACKGROUND_CONTEXT)).then(setValue, () => {});\n\t\treturn () => abort.abort();\n\t}, [host, R]);\n\treturn useWatch(value);\n}\n\n/** The state of `ref` (loading, live, failed, ended), re-rendering on change; `undefined` without a reference. */\nexport function useRefState(ref: { readonly state: NativeWatchable<RefState> } | undefined): RefState | undefined {\n\treturn useWatch(ref?.state);\n}\n\n/**\n * A value the page keeps under `key` for its host's life, not the component's, with its setter (`useState`'s pair): a\n * component remounted by a plugin reload, a new function, finds what it had; a new key starts at `initial`. Any value\n * (it never crosses a link); gone with the page.\n */\nexport function usePageState<T>(key: string, initial: T): readonly [T, (value: T) => void] {\n\tconst state = pageState(useHost(), key, initial);\n\treturn [useSyncExternalStore(state.subscribe, state.read, state.read), state.set];\n}\n\n/**\n * `messages` in the language of the component's host (the user's pick, else the device's, matched against the\n * catalogs), with its locale; re-renders when the locale or a translation changes. Before the host follows a language\n * (`startPage` does), `t` renders the first catalog and `locale` is `undefined`.\n */\nexport function useMessages<N extends string, M>(\n\tmessages: Messages<N, M>,\n): { readonly t: Translator<N, M>; readonly locale: string | undefined } {\n\tconst state = hostLanguage(useHost());\n\tconst language = useSyncExternalStore(state.subscribe, state.read, state.read);\n\treturn useMemo(() => ({ t: messages.in(language), locale: language?.locale }), [messages, language]);\n}\n"]}
@@ -0,0 +1,3 @@
1
+ export { HostProvider, useHold, useHost, useMessages, usePageState, useRefState, useRegistry, useWatch, } from "./hooks.ts";
2
+ export { type ExternalStore, watchStore } from "./stores.ts";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,YAAY,EACZ,OAAO,EACP,OAAO,EACP,WAAW,EACX,YAAY,EACZ,WAAW,EACX,WAAW,EACX,QAAQ,GACR,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,4 @@
1
+ // Chord v2's React bindings (`@earendil-works/chord/react`; slice 11 §3): optional, non-React apps never load them.
2
+ export { HostProvider, useHold, useHost, useMessages, usePageState, useRefState, useRegistry, useWatch, } from "./hooks.js";
3
+ export { watchStore } from "./stores.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,oHAAoH;AAEpH,OAAO,EACN,YAAY,EACZ,OAAO,EACP,OAAO,EACP,WAAW,EACX,YAAY,EACZ,WAAW,EACX,WAAW,EACX,QAAQ,GACR,MAAM,YAAY,CAAC;AACpB,OAAO,EAAsB,UAAU,EAAE,MAAM,aAAa,CAAC","sourcesContent":["// Chord v2's React bindings (`@earendil-works/chord/react`; slice 11 §3): optional, non-React apps never load them.\n\nexport {\n\tHostProvider,\n\tuseHold,\n\tuseHost,\n\tuseMessages,\n\tusePageState,\n\tuseRefState,\n\tuseRegistry,\n\tuseWatch,\n} from \"./hooks.ts\";\nexport { type ExternalStore, watchStore } from \"./stores.ts\";\n"]}
@@ -0,0 +1,9 @@
1
+ import type { NativeWatchable, Watchable } from "../watch.ts";
2
+ /** What `useSyncExternalStore` takes: subscribe (returning its unsubscribe) and the current snapshot. */
3
+ export type ExternalStore<T> = {
4
+ readonly subscribe: (changed: () => void) => () => void;
5
+ readonly snapshot: () => T | undefined;
6
+ };
7
+ /** The store of `source` (a state member, a derive, a registry value, `ref.state`); none for `undefined`. */
8
+ export declare function watchStore<T>(source: Watchable<T> | NativeWatchable<T> | undefined): ExternalStore<T>;
9
+ //# sourceMappingURL=stores.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stores.d.ts","sourceRoot":"","sources":["../../src/react/stores.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE9D,yGAAyG;AACzG,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI;IAC9B,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IACxD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CACvC,CAAC;AAEF,6GAA6G;AAC7G,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CA6BrG"}
@@ -0,0 +1,37 @@
1
+ // External stores over Chord's watchables (slice 11 §3): what React's `useSyncExternalStore` reads. A store's snapshot
2
+ // is the watchable's current value (`undefined` while it has none: a reference not bound yet, ended, or a member its
3
+ // variant lacks; nothing throws during a render); subscribing starts a watch whose every call notifies React, and the
4
+ // unsubscribe ends it.
5
+ import { BACKGROUND_CONTEXT, withAbortSignal } from "../context/index.js";
6
+ /** The store of `source` (a state member, a derive, a registry value, `ref.state`); none for `undefined`. */
7
+ export function watchStore(source) {
8
+ return {
9
+ subscribe: (changed) => {
10
+ if (source === undefined)
11
+ return () => { };
12
+ const abort = new AbortController();
13
+ const context = withAbortSignal(abort.signal, BACKGROUND_CONTEXT);
14
+ // A watch that cannot start (its source ended, the abort came first) only means no more changes.
15
+ source.watch(context).then((watch) => {
16
+ watch.start(async () => {
17
+ changed();
18
+ });
19
+ // A watch starts at the value it acquired, which may be newer than the snapshot React read (a
20
+ // reference's members bind after the first render): its calls bring only later changes.
21
+ changed();
22
+ }, () => { });
23
+ return () => abort.abort();
24
+ },
25
+ snapshot: () => {
26
+ if (source === undefined)
27
+ return undefined;
28
+ try {
29
+ return source.value;
30
+ }
31
+ catch {
32
+ return undefined;
33
+ }
34
+ },
35
+ };
36
+ }
37
+ //# sourceMappingURL=stores.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stores.js","sourceRoot":"","sources":["../../src/react/stores.ts"],"names":[],"mappings":"AAAA,uHAAuH;AACvH,qHAAqH;AACrH,sHAAsH;AACtH,uBAAuB;AAEvB,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAS1E,6GAA6G;AAC7G,MAAM,UAAU,UAAU,CAAI,MAAqD;IAClF,OAAO;QACN,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;YACtB,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;YAC1C,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;YAClE,iGAAiG;YACjG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CACzB,CAAC,KAAK,EAAE,EAAE;gBACR,KAAK,CAAC,KAAiD,CAAC,KAAK,IAAI,EAAE;oBACnE,OAAO,EAAE,CAAC;gBACX,CAAC,CAAC,CAAC;gBACH,8FAA8F;gBAC9F,wFAAwF;gBACxF,OAAO,EAAE,CAAC;YACX,CAAC,EACD,GAAG,EAAE,GAAE,CAAC,CACR,CAAC;YACF,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,QAAQ,EAAE,GAAG,EAAE;YACd,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC;YAC3C,IAAI,CAAC;gBACJ,OAAO,MAAM,CAAC,KAAK,CAAC;YACrB,CAAC;YAAC,MAAM,CAAC;gBACR,OAAO,SAAS,CAAC;YAClB,CAAC;QACF,CAAC;KACD,CAAC;AACH,CAAC","sourcesContent":["// External stores over Chord's watchables (slice 11 §3): what React's `useSyncExternalStore` reads. A store's snapshot\n// is the watchable's current value (`undefined` while it has none: a reference not bound yet, ended, or a member its\n// variant lacks; nothing throws during a render); subscribing starts a watch whose every call notifies React, and the\n// unsubscribe ends it.\n\nimport { BACKGROUND_CONTEXT, withAbortSignal } from \"../context/index.ts\";\nimport type { NativeWatchable, Watchable } from \"../watch.ts\";\n\n/** What `useSyncExternalStore` takes: subscribe (returning its unsubscribe) and the current snapshot. */\nexport type ExternalStore<T> = {\n\treadonly subscribe: (changed: () => void) => () => void;\n\treadonly snapshot: () => T | undefined;\n};\n\n/** The store of `source` (a state member, a derive, a registry value, `ref.state`); none for `undefined`. */\nexport function watchStore<T>(source: Watchable<T> | NativeWatchable<T> | undefined): ExternalStore<T> {\n\treturn {\n\t\tsubscribe: (changed) => {\n\t\t\tif (source === undefined) return () => {};\n\t\t\tconst abort = new AbortController();\n\t\t\tconst context = withAbortSignal(abort.signal, BACKGROUND_CONTEXT);\n\t\t\t// A watch that cannot start (its source ended, the abort came first) only means no more changes.\n\t\t\tsource.watch(context).then(\n\t\t\t\t(watch) => {\n\t\t\t\t\t(watch.start as (listener: () => Promise<void>) => void)(async () => {\n\t\t\t\t\t\tchanged();\n\t\t\t\t\t});\n\t\t\t\t\t// A watch starts at the value it acquired, which may be newer than the snapshot React read (a\n\t\t\t\t\t// reference's members bind after the first render): its calls bring only later changes.\n\t\t\t\t\tchanged();\n\t\t\t\t},\n\t\t\t\t() => {},\n\t\t\t);\n\t\t\treturn () => abort.abort();\n\t\t},\n\t\tsnapshot: () => {\n\t\t\tif (source === undefined) return undefined;\n\t\t\ttry {\n\t\t\t\treturn source.value;\n\t\t\t} catch {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t},\n\t};\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contribution.d.ts","sourceRoot":"","sources":["../../src/registries/contribution.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAa,KAAK,YAAY,EAAU,MAAM,sBAAsB,CAAC;AAC/G,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAErE,2FAA2F;AAC3F,MAAM,MAAM,WAAW,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAEzF;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACnD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;CAAE,GACxD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;CAAE,CAAC;AAE9D;;;;GAIG;AACH,qBAAa,oBAAqB,YAAW,SAAS;;IACrD,sCAAsC;IACtC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAQzB,YAAY,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAK1G;IAED,2EAA2E;IAC3E,UAAU,IAAI,IAAI,CAEjB;IAED,8EAA8E;IAC9E,aAAa,IAAI,IAAI,CAAG;IAExB,kDAAkD;IAClD,MAAM,IAAI,IAAI,CAGb;IAED,kCAAkC;IAClC,QAAQ,IAAI,IAAI,CAEf;IASD;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,SAAS,CAqBvG;CAqDD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contribution.js","sourceRoot":"","sources":["../../src/registries/contribution.ts"],"names":[],"mappings":"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","sourcesContent":["// One contributor's contribution to a registry (slice 8 §1): its table entry, made once per value (an older version's\n// adapted once per value), followed when it is a Chord watchable, left out and reported when it fails or is refused.\n\nimport { type Dependent, type DeriveSource, handedOut, type NativeSource, Source } from \"../state/internal.ts\";\nimport type { RegistryRecord } from \"./record.ts\";\nimport type { RegistryEntry, RegistryProvider } from \"./registry.ts\";\n\n/** Who contributes: a facet (by plugin) or a host-lifetime object (by plugin and type). */\nexport type Contributor = { readonly plugin: string; readonly type: string | undefined };\n\n/**\n * What a contribution is: a plain value, a Chord JSON watchable (a source or a constant), or a native source; the\n * watchables followed for their value.\n */\nexport type ContributionContent =\n\t| { readonly kind: \"plain\"; readonly value: unknown }\n\t| { readonly kind: \"json\"; readonly source: DeriveSource }\n\t| { readonly kind: \"native\"; readonly source: NativeSource };\n\n/**\n * One contributor's contribution to a registry: a plain value, or a Chord source it follows as a dependent (a change\n * marks the registry's table). Its table entry is made once per value (an older version's adapted once per value);\n * a failure or refusal leaves it out, reported once per episode.\n */\nexport class RegistryContribution implements Dependent {\n\t/** The registry it contributes to. */\n\treadonly record: RegistryRecord;\n\treadonly contributor: Contributor;\n\t/** The registry version its contributor was built against. */\n\treadonly version: number;\n\treadonly #content: ContributionContent;\n\t/** The last adaptation of an older contribution: the value and adapter it was made from, and its result. */\n\t#adapted: { readonly from: unknown; readonly adapter: (old: never) => unknown; readonly value: unknown } | undefined;\n\t#entry: RegistryEntry<unknown> | undefined;\n\t/** Left out since its last entry: failing (reported once), or refused (reported once). */\n\t#out: \"none\" | \"failed\" | \"refused\" = \"none\";\n\n\tconstructor(record: RegistryRecord, contributor: Contributor, version: number, content: ContributionContent) {\n\t\tthis.record = record;\n\t\tthis.contributor = contributor;\n\t\tthis.version = version;\n\t\tthis.#content = content;\n\t}\n\n\t/** Its source changed (inside a batch): the registry's table is marked. */\n\tinvalidate(): void {\n\t\tthis.record.contributionChanged();\n\t}\n\n\t/** A retirement of its source's document changes nothing beyond the value. */\n\tsourceRetired(): void {}\n\n\t/** Starts following its source, if it has one. */\n\tfollow(): void {\n\t\tconst source = this.#followed();\n\t\tsource?.dependents.add(this);\n\t}\n\n\t/** Stops following its source. */\n\tunfollow(): void {\n\t\tthis.#followed()?.dependents.delete(this);\n\t}\n\n\t/** Its source when it changes (a constant never does). */\n\t#followed(): Source | NativeSource | undefined {\n\t\tconst content = this.#content;\n\t\tif (content.kind === \"native\") return content.source;\n\t\treturn content.kind === \"json\" && content.source instanceof Source ? content.source : undefined;\n\t}\n\n\t/**\n\t * Its entry in a table of the provider at `version`: the same object while its value is the same; `undefined` when\n\t * left out (a refused version, a failing source, a throwing adapter).\n\t */\n\tentry(version: number, provider: RegistryProvider<unknown, unknown>): RegistryEntry<unknown> | undefined {\n\t\tconst adapter = this.version < version ? provider.accepts?.[this.version]?.contribution : undefined;\n\t\tif (this.version > version || (this.version < version && adapter === undefined)) {\n\t\t\tif (this.#out !== \"refused\") this.#refused();\n\t\t\treturn undefined;\n\t\t}\n\t\tlet value: unknown;\n\t\ttry {\n\t\t\tconst raw = this.#raw();\n\t\t\tvalue = adapter === undefined ? raw : this.#adapt(raw, adapter);\n\t\t} catch (error) {\n\t\t\tif (this.#out !== \"failed\") this.#failed(error);\n\t\t\treturn undefined;\n\t\t}\n\t\tthis.#out = \"none\";\n\t\tconst entry = this.#entry;\n\t\t// `undefined` is a value: the entry, not its field, says whether there was one.\n\t\tif (entry !== undefined && entry.value === value) return entry;\n\t\tconst { plugin, type } = this.contributor;\n\t\tthis.#entry = { plugin, ...(type === undefined ? {} : { type }), version: this.version, value };\n\t\treturn this.#entry;\n\t}\n\n\t/**\n\t * The contributed value now: a JSON source's value throws while it is failed or ended; a native source that failed\n\t * (a registry whose `compose` threw) keeps a last good value for its readers, but is left out here as failed.\n\t */\n\t#raw(): unknown {\n\t\tconst content = this.#content;\n\t\tswitch (content.kind) {\n\t\t\tcase \"plain\":\n\t\t\t\treturn content.value;\n\t\t\tcase \"json\":\n\t\t\t\treturn content.source.value;\n\t\t\tcase \"native\":\n\t\t\t\treturn content.source.current();\n\t\t}\n\t}\n\n\t#adapt(raw: unknown, adapter: (old: never) => unknown): unknown {\n\t\tconst adapted = this.#adapted;\n\t\tif (adapted !== undefined && adapted.from === raw && adapted.adapter === adapter) return adapted.value;\n\t\tconst value = this.record.adapt(() => adapter(raw as never));\n\t\tthis.#adapted = { from: raw, adapter, value };\n\t\treturn value;\n\t}\n\n\t#refused(): void {\n\t\tthis.#out = \"refused\";\n\t\tconst { plugin, type } = this.contributor;\n\t\tconst registry = this.record.name;\n\t\tconst where = type === undefined ? {} : { type };\n\t\tthis.record.reportContribution({\n\t\t\tkind: \"contribution_refused\",\n\t\t\tregistry,\n\t\t\tplugin,\n\t\t\t...where,\n\t\t\tversion: this.version,\n\t\t});\n\t}\n\n\t#failed(error: unknown): void {\n\t\tthis.#out = \"failed\";\n\t\tconst { plugin, type } = this.contributor;\n\t\tconst registry = this.record.name;\n\t\tconst where = type === undefined ? {} : { type };\n\t\tthis.record.reportContribution({\n\t\t\tkind: \"contribution_failed\",\n\t\t\tregistry,\n\t\t\tplugin,\n\t\t\t...where,\n\t\t\terror: handedOut(error),\n\t\t});\n\t}\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../../src/registries/entries.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnE,qEAAqE;AACrE,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAElG;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAChC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EACvB,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,SAAS,EAChE,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAC9B,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAenC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,CAAC,EAClC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EACvB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC,EAAE,GAAG,SAAS,EAC/C,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAC3B,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,CAQzB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entries.js","sourceRoot":"","sources":["../../src/registries/entries.ts"],"names":[],"mappings":"AAAA,sHAAsH;AACtH,gHAAgH;AAOhH;;;GAGG;AACH,MAAM,UAAU,YAAY,CAC3B,KAAuB,EACvB,SAAgE,EAChE,MAAgC;IAEhC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC5C,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAClD,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,wBAAwB,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC5F,SAAS;YACV,CAAC;YACD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACrD,CAAC;IACF,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC7B,KAAuB,EACvB,OAA+C,EAC/C,OAA6B;IAE7B,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACnG,CAAC;IACD,mDAAmD;IACnD,IAAI,OAAO,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACrF,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,IAAI,CAAI,KAAQ,EAAE,MAAc,EAAE,IAAwB;IAClE,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AACzE,CAAC","sourcesContent":["// Table helpers for `compose` (slice 8 §1, Q8): a map by key (the first by plugin name wins, duplicates reported) and\n// an ordered list; both keep each item's plugin, so a use site reports the contributor of an entry that throws.\n\nimport type { ComposeContext, RegistryTable } from \"./registry.ts\";\n\n/** An item taken from a table, with the contributor it came from. */\nexport type TableItem<I> = { readonly value: I; readonly plugin: string; readonly type?: string };\n\n/**\n * A map of every entry's keyed items (`entriesOf`, e.g. its routes), in table order: a key taken already is reported\n * through `report` (`compose`'s) naming both plugins, and the first by plugin name keeps it.\n */\nexport function keyedEntries<C, I>(\n\ttable: RegistryTable<C>,\n\tentriesOf: (value: C) => Readonly<Record<string, I>> | undefined,\n\treport: ComposeContext[\"report\"],\n): ReadonlyMap<string, TableItem<I>> {\n\tconst map = new Map<string, TableItem<I>>();\n\tfor (const entry of table) {\n\t\tconst items = entriesOf(entry.value);\n\t\tif (items === undefined) continue;\n\t\tfor (const [key, value] of Object.entries(items)) {\n\t\t\tconst taken = map.get(key);\n\t\t\tif (taken !== undefined) {\n\t\t\t\treport({ message: `\"${key}\" is contributed twice`, plugins: [taken.plugin, entry.plugin] });\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tmap.set(key, item(value, entry.plugin, entry.type));\n\t\t}\n\t}\n\treturn map;\n}\n\n/**\n * Every entry's items (`itemsOf`) in one list: in table order, or sorted by `orderOf` (a phase's index, for example),\n * table order kept among equals.\n */\nexport function orderedEntries<C, I>(\n\ttable: RegistryTable<C>,\n\titemsOf: (value: C) => readonly I[] | undefined,\n\torderOf?: (item: I) => number,\n): readonly TableItem<I>[] {\n\tconst items: TableItem<I>[] = [];\n\tfor (const entry of table) {\n\t\tfor (const value of itemsOf(entry.value) ?? []) items.push(item(value, entry.plugin, entry.type));\n\t}\n\t// `sort` is stable: equal orders keep table order.\n\tif (orderOf !== undefined) items.sort((a, b) => orderOf(a.value) - orderOf(b.value));\n\treturn items;\n}\n\nfunction item<I>(value: I, plugin: string, type: string | undefined): TableItem<I> {\n\treturn type === undefined ? { value, plugin } : { value, plugin, type };\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/registries/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EACN,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,cAAc,EACd,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,aAAa,GAClB,MAAM,eAAe,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/registries/index.ts"],"names":[],"mappings":"AAAA,mHAAmH;AACnH,iCAAiC;AAEjC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAkB,MAAM,cAAc,CAAC;AAC5E,OAAO,EAGN,cAAc,GAQd,MAAM,eAAe,CAAC","sourcesContent":["// Registries for apps: tokens, what a provider serves them with, the table `compose` gets and its helpers, and the\n// composed value readers follow.\n\nexport { keyedEntries, orderedEntries, type TableItem } from \"./entries.ts\";\nexport {\n\ttype ComposeContext,\n\ttype Contribution,\n\tdefineRegistry,\n\ttype Registry,\n\ttype RegistryAccepts,\n\ttype RegistryConflict,\n\ttype RegistryEntry,\n\ttype RegistryProvider,\n\ttype RegistryTable,\n\ttype RegistryValue,\n} from \"./registry.ts\";\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/registries/internal.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACrG,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/registries/internal.ts"],"names":[],"mappings":"AAAA,gHAAgH;AAEhH,OAAO,EAA8C,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACrG,OAAO,EAAE,aAAa,EAAsB,cAAc,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAuB,MAAM,YAAY,CAAC","sourcesContent":["// Registries for Chord's layers: a host's record of each registry, its contributions and its values by version.\n\nexport { type ContributionContent, type Contributor, RegistryContribution } from \"./contribution.ts\";\nexport { checkProvider, type RegistryError, RegistryRecord } from \"./record.ts\";\nexport { RegistryValueSource, type RegistryWaiter } from \"./value.ts\";\n"]}
@@ -0,0 +1,115 @@
1
+ import type { UnboundClock } from "../host/unbound-clock.ts";
2
+ import { type Batch, type NativeStart } from "../state/internal.ts";
3
+ import type { RegistryContribution } from "./contribution.ts";
4
+ import type { RegistryProvider } from "./registry.ts";
5
+ import { RegistryValueSource } from "./value.ts";
6
+ /** What a registry reports to its host's `onError`, by kind; each once per episode. */
7
+ export type RegistryError =
8
+ /** `compose` reported a conflict it resolved. */
9
+ {
10
+ readonly kind: "registry_conflict";
11
+ readonly registry: string;
12
+ readonly message: string;
13
+ readonly plugins: readonly string[];
14
+ }
15
+ /** `compose` (or an older version's `value` adapter) threw: the last good composition stays. */
16
+ | {
17
+ readonly kind: "registry_failed";
18
+ readonly registry: string;
19
+ readonly error: unknown;
20
+ }
21
+ /** A watchable contribution failed or ended, or its `contribution` adapter threw: it is left out until it heals. */
22
+ | {
23
+ readonly kind: "contribution_failed";
24
+ readonly registry: string;
25
+ readonly plugin: string;
26
+ readonly type?: string;
27
+ readonly error: unknown;
28
+ }
29
+ /** A contribution of a version the provider does not accept (newer, or older without an adapter) is left out. */
30
+ | {
31
+ readonly kind: "contribution_refused";
32
+ readonly registry: string;
33
+ readonly plugin: string;
34
+ readonly type?: string;
35
+ readonly version: number;
36
+ }
37
+ /**
38
+ * At a publication, or when a host-lifetime object's contributions enter, the registry has contributions and no
39
+ * plugin here serves it (`unavailable/undeclared` for its readers): its contributing plugins in table order; again
40
+ * only once they change.
41
+ */
42
+ | {
43
+ readonly kind: "registry_undeclared";
44
+ readonly registry: string;
45
+ readonly plugins: readonly string[];
46
+ };
47
+ /**
48
+ * Checks a registry provider as a setup served it (declaration policy: plugin code is bundled without type checks):
49
+ * `compose` is a function.
50
+ */
51
+ export declare function checkProvider(name: string, provider: RegistryProvider<unknown, unknown>): void;
52
+ /** One registry of a host. */
53
+ export declare class RegistryRecord {
54
+ #private;
55
+ readonly name: string;
56
+ /** The host's clock of unbound waits: a value of it waited for while it has none is on it. */
57
+ readonly clock: UnboundClock;
58
+ constructor(name: string, batch: Batch, report: (error: RegistryError) => void, clock: UnboundClock);
59
+ /** The newest registry version its contributions were built against; `undefined` without contributions. */
60
+ get newestContribution(): number | undefined;
61
+ /** The provider's version; `undefined` while none serves it. */
62
+ get providedVersion(): number | undefined;
63
+ /** The value readers of `version` follow. */
64
+ value(version: number): RegistryValueSource;
65
+ /**
66
+ * Serves the registry with `provider` at `version` (the defining plugin's facet, checked by `checkProvider` when
67
+ * its setup ran), replacing the provider a reload changed, inside a batch: the table composes again (lazily).
68
+ */
69
+ serve(version: number, provider: RegistryProvider<unknown, unknown>): void;
70
+ /**
71
+ * A reload removed the defining plugin, inside a batch: no provider serves it; its readers' values fail
72
+ * `unavailable/undeclared` (a reader parked on it waits `not_served`), its contributions stay in the table.
73
+ */
74
+ unserve(): void;
75
+ /** The first composition of a served registry, at `load`'s publication or a reload's commit, inside its batch. */
76
+ composeServed(): void;
77
+ /**
78
+ * After a publication's batch, or a batch where an object's contributions entered: with contributions and no
79
+ * provider, reports `registry_undeclared` naming the contributing plugins, unless the same ones were reported since
80
+ * a provider last served it.
81
+ */
82
+ reportUndeclared(): void;
83
+ /** Adds a live contributor's contribution, inside a batch: the table changes. */
84
+ add(contribution: RegistryContribution): void;
85
+ /** Removes an ending contributor's contribution, inside a batch: the table changes. */
86
+ remove(contribution: RegistryContribution): void;
87
+ /** A followed contribution changed, inside a batch: the table is marked, composed when read or followed. */
88
+ contributionChanged(): void;
89
+ /**
90
+ * The current composition, composed now when the table changed: the value, or `compose`'s failure with the last
91
+ * good one; `unavailable/undeclared` while no provider serves it. A read while it composes is a cycle.
92
+ */
93
+ start(): NativeStart<unknown>;
94
+ /** The contributions the current good composition was built from; `undefined` while there is none. */
95
+ get composedFrom(): readonly RegistryContribution[] | undefined;
96
+ /**
97
+ * Whether every contribution of `from` (what a composition, or a mapping of it, was built from) is still in the
98
+ * table (decision 5: one that left may have closed the native its entry held).
99
+ */
100
+ inTable(from: readonly RegistryContribution[]): boolean;
101
+ /** The adapter mapping the composed value back for readers of `version`; `undefined` when there is none. */
102
+ valueAdapter(version: number): ((current: never) => unknown) | undefined;
103
+ /** Runs an adapter of the provider as a pure compute, counted. */
104
+ adapt<T>(adapter: () => T): T;
105
+ /** Reports a contribution left out (`contribution_failed`, `contribution_refused`; the caller keeps the episode). */
106
+ reportContribution(error: RegistryError): void;
107
+ /** Reports a throw of `compose` or of a value adapter (`registry_failed`; the caller keeps the episode). */
108
+ failed(error: unknown): void;
109
+ /**
110
+ * The host closed: the contributions stop following their sources, the values end (a value kept by a reader still
111
+ * reads the last composition).
112
+ */
113
+ close(): void;
114
+ }
115
+ //# sourceMappingURL=record.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../src/registries/record.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,KAAK,KAAK,EAAa,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAmD,gBAAgB,EAAiB,MAAM,eAAe,CAAC;AACtH,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,uFAAuF;AACvF,MAAM,MAAM,aAAa;AACxB,iDAAiD;AAC/C;IACA,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AACH,gGAAgG;GAC9F;IAAE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE;AAC1F,oHAAoH;GAClH;IACA,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACvB;AACH,iHAAiH;GAC/G;IACA,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CACxB;AACH;;;;GAIG;GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AAgB5G;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,IAAI,CAE9F;AAED,8BAA8B;AAC9B,qBAAa,cAAc;;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAgBtB,8FAA8F;IAC9F,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAI7B,YAAY,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,EAAE,KAAK,EAAE,YAAY,EAKlG;IAED,2GAA2G;IAC3G,IAAI,kBAAkB,IAAI,MAAM,GAAG,SAAS,CAG3C;IAED,gEAAgE;IAChE,IAAI,eAAe,IAAI,MAAM,GAAG,SAAS,CAExC;IAED,6CAA6C;IAC7C,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,CAO1C;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,IAAI,CAIzE;IAED;;;OAGG;IACH,OAAO,IAAI,IAAI,CAKd;IAED,kHAAkH;IAClH,aAAa,IAAI,IAAI,CAGpB;IAED;;;;OAIG;IACH,gBAAgB,IAAI,IAAI,CAWvB;IAED,iFAAiF;IACjF,GAAG,CAAC,YAAY,EAAE,oBAAoB,GAAG,IAAI,CAM5C;IAED,uFAAuF;IACvF,MAAM,CAAC,YAAY,EAAE,oBAAoB,GAAG,IAAI,CAM/C;IAED,4GAA4G;IAC5G,mBAAmB,IAAI,IAAI,CAE1B;IAED;;;OAGG;IACH,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC,CAe5B;IAED,sGAAsG;IACtG,IAAI,YAAY,IAAI,SAAS,oBAAoB,EAAE,GAAG,SAAS,CAE9D;IAED;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,SAAS,oBAAoB,EAAE,GAAG,OAAO,CAGtD;IAED,4GAA4G;IAC5G,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,KAAK,OAAO,CAAC,GAAG,SAAS,CAEvE;IAED,kEAAkE;IAClE,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAG5B;IAED,qHAAqH;IACrH,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAE7C;IAED,4GAA4G;IAC5G,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAE3B;IAED;;;OAGG;IACH,KAAK,IAAI,IAAI,CAOZ;CAsED"}