@earendil-works/chord 1.3.0 → 1.5.0

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 (841) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/README.md +129 -10
  3. package/dist/cell.d.ts +7 -7
  4. package/dist/cell.d.ts.map +1 -1
  5. package/dist/cell.js.map +1 -1
  6. package/dist/context/index.d.ts +8 -0
  7. package/dist/context/index.d.ts.map +1 -1
  8. package/dist/context/index.js +15 -0
  9. package/dist/context/index.js.map +1 -1
  10. package/dist/contract.d.ts +51 -52
  11. package/dist/contract.d.ts.map +1 -1
  12. package/dist/contract.js +19 -24
  13. package/dist/contract.js.map +1 -1
  14. package/dist/delta/apply-immutable-trusted.js +3 -4
  15. package/dist/delta/apply-immutable-trusted.js.map +1 -1
  16. package/dist/delta/diff.d.ts.map +1 -1
  17. package/dist/delta/diff.js +5 -3
  18. package/dist/delta/diff.js.map +1 -1
  19. package/dist/delta/index.d.ts +9 -1
  20. package/dist/delta/index.d.ts.map +1 -1
  21. package/dist/delta/index.js +15 -11
  22. package/dist/delta/index.js.map +1 -1
  23. package/dist/delta/pending.d.ts +36 -0
  24. package/dist/delta/pending.d.ts.map +1 -0
  25. package/dist/delta/pending.js +143 -0
  26. package/dist/delta/pending.js.map +1 -0
  27. package/dist/delta/tracker.d.ts +12 -0
  28. package/dist/delta/tracker.d.ts.map +1 -1
  29. package/dist/delta/tracker.js +109 -39
  30. package/dist/delta/tracker.js.map +1 -1
  31. package/dist/host.d.ts.map +1 -1
  32. package/dist/host.js +9 -7
  33. package/dist/host.js.map +1 -1
  34. package/dist/index.d.ts +1 -0
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +1 -0
  37. package/dist/index.js.map +1 -1
  38. package/dist/next/contracts/accepts.d.ts +81 -0
  39. package/dist/next/contracts/accepts.d.ts.map +1 -0
  40. package/dist/next/contracts/accepts.js +123 -0
  41. package/dist/next/contracts/accepts.js.map +1 -0
  42. package/dist/next/contracts/contract.d.ts +121 -0
  43. package/dist/next/contracts/contract.d.ts.map +1 -0
  44. package/dist/next/contracts/contract.js +50 -0
  45. package/dist/next/contracts/contract.js.map +1 -0
  46. package/dist/next/contracts/declare.d.ts +107 -0
  47. package/dist/next/contracts/declare.d.ts.map +1 -0
  48. package/dist/next/contracts/declare.js +136 -0
  49. package/dist/next/contracts/declare.js.map +1 -0
  50. package/dist/next/contracts/evolve.d.ts +92 -0
  51. package/dist/next/contracts/evolve.d.ts.map +1 -0
  52. package/dist/next/contracts/evolve.js +179 -0
  53. package/dist/next/contracts/evolve.js.map +1 -0
  54. package/dist/next/contracts/fingerprint.d.ts +16 -0
  55. package/dist/next/contracts/fingerprint.d.ts.map +1 -0
  56. package/dist/next/contracts/fingerprint.js +50 -0
  57. package/dist/next/contracts/fingerprint.js.map +1 -0
  58. package/dist/next/contracts/history.d.ts +71 -0
  59. package/dist/next/contracts/history.d.ts.map +1 -0
  60. package/dist/next/contracts/history.js +3 -0
  61. package/dist/next/contracts/history.js.map +1 -0
  62. package/dist/next/contracts/host-kind.d.ts +40 -0
  63. package/dist/next/contracts/host-kind.d.ts.map +1 -0
  64. package/dist/next/contracts/host-kind.js +37 -0
  65. package/dist/next/contracts/host-kind.js.map +1 -0
  66. package/dist/next/contracts/index.d.ts +7 -0
  67. package/dist/next/contracts/index.d.ts.map +1 -0
  68. package/dist/next/contracts/index.js +6 -0
  69. package/dist/next/contracts/index.js.map +1 -0
  70. package/dist/next/contracts/internal.d.ts +10 -0
  71. package/dist/next/contracts/internal.d.ts.map +1 -0
  72. package/dist/next/contracts/internal.js +9 -0
  73. package/dist/next/contracts/internal.js.map +1 -0
  74. package/dist/next/contracts/names.d.ts +3 -0
  75. package/dist/next/contracts/names.d.ts.map +1 -0
  76. package/dist/next/contracts/names.js +13 -0
  77. package/dist/next/contracts/names.js.map +1 -0
  78. package/dist/next/contracts/params.d.ts +28 -0
  79. package/dist/next/contracts/params.d.ts.map +1 -0
  80. package/dist/next/contracts/params.js +50 -0
  81. package/dist/next/contracts/params.js.map +1 -0
  82. package/dist/next/contracts/schema.d.ts +102 -0
  83. package/dist/next/contracts/schema.d.ts.map +1 -0
  84. package/dist/next/contracts/schema.js +103 -0
  85. package/dist/next/contracts/schema.js.map +1 -0
  86. package/dist/next/contracts/snapshot.d.ts +16 -0
  87. package/dist/next/contracts/snapshot.d.ts.map +1 -0
  88. package/dist/next/contracts/snapshot.js +167 -0
  89. package/dist/next/contracts/snapshot.js.map +1 -0
  90. package/dist/next/data/args.d.ts +50 -0
  91. package/dist/next/data/args.d.ts.map +1 -0
  92. package/dist/next/data/args.js +83 -0
  93. package/dist/next/data/args.js.map +1 -0
  94. package/dist/next/data/errors.d.ts +73 -0
  95. package/dist/next/data/errors.d.ts.map +1 -0
  96. package/dist/next/data/errors.js +107 -0
  97. package/dist/next/data/errors.js.map +1 -0
  98. package/dist/next/data/failure.d.ts +26 -0
  99. package/dist/next/data/failure.d.ts.map +1 -0
  100. package/dist/next/data/failure.js +72 -0
  101. package/dist/next/data/failure.js.map +1 -0
  102. package/dist/next/data/index.d.ts +4 -0
  103. package/dist/next/data/index.d.ts.map +1 -0
  104. package/dist/next/data/index.js +4 -0
  105. package/dist/next/data/index.js.map +1 -0
  106. package/dist/next/data/internal.d.ts +7 -0
  107. package/dist/next/data/internal.d.ts.map +1 -0
  108. package/dist/next/data/internal.js +8 -0
  109. package/dist/next/data/internal.js.map +1 -0
  110. package/dist/next/data/params.d.ts +20 -0
  111. package/dist/next/data/params.d.ts.map +1 -0
  112. package/dist/next/data/params.js +31 -0
  113. package/dist/next/data/params.js.map +1 -0
  114. package/dist/next/data/principal.d.ts +17 -0
  115. package/dist/next/data/principal.d.ts.map +1 -0
  116. package/dist/next/data/principal.js +41 -0
  117. package/dist/next/data/principal.js.map +1 -0
  118. package/dist/next/data/validator.d.ts +12 -0
  119. package/dist/next/data/validator.d.ts.map +1 -0
  120. package/dist/next/data/validator.js +34 -0
  121. package/dist/next/data/validator.js.map +1 -0
  122. package/dist/next/documents/address-source.d.ts +20 -0
  123. package/dist/next/documents/address-source.d.ts.map +1 -0
  124. package/dist/next/documents/address-source.js +44 -0
  125. package/dist/next/documents/address-source.js.map +1 -0
  126. package/dist/next/documents/definition.d.ts +84 -0
  127. package/dist/next/documents/definition.d.ts.map +1 -0
  128. package/dist/next/documents/definition.js +73 -0
  129. package/dist/next/documents/definition.js.map +1 -0
  130. package/dist/next/documents/documents.d.ts +106 -0
  131. package/dist/next/documents/documents.d.ts.map +1 -0
  132. package/dist/next/documents/documents.js +224 -0
  133. package/dist/next/documents/documents.js.map +1 -0
  134. package/dist/next/documents/fence.d.ts +9 -0
  135. package/dist/next/documents/fence.d.ts.map +1 -0
  136. package/dist/next/documents/fence.js +15 -0
  137. package/dist/next/documents/fence.js.map +1 -0
  138. package/dist/next/documents/handles.d.ts +76 -0
  139. package/dist/next/documents/handles.d.ts.map +1 -0
  140. package/dist/next/documents/handles.js +66 -0
  141. package/dist/next/documents/handles.js.map +1 -0
  142. package/dist/next/documents/index.d.ts +4 -0
  143. package/dist/next/documents/index.d.ts.map +1 -0
  144. package/dist/next/documents/index.js +3 -0
  145. package/dist/next/documents/index.js.map +1 -0
  146. package/dist/next/documents/internal.d.ts +9 -0
  147. package/dist/next/documents/internal.d.ts.map +1 -0
  148. package/dist/next/documents/internal.js +9 -0
  149. package/dist/next/documents/internal.js.map +1 -0
  150. package/dist/next/documents/keyed-slot.d.ts +103 -0
  151. package/dist/next/documents/keyed-slot.d.ts.map +1 -0
  152. package/dist/next/documents/keyed-slot.js +395 -0
  153. package/dist/next/documents/keyed-slot.js.map +1 -0
  154. package/dist/next/documents/line.d.ts +7 -0
  155. package/dist/next/documents/line.d.ts.map +1 -0
  156. package/dist/next/documents/line.js +14 -0
  157. package/dist/next/documents/line.js.map +1 -0
  158. package/dist/next/documents/persistence.d.ts +104 -0
  159. package/dist/next/documents/persistence.d.ts.map +1 -0
  160. package/dist/next/documents/persistence.js +128 -0
  161. package/dist/next/documents/persistence.js.map +1 -0
  162. package/dist/next/documents/residency.d.ts +31 -0
  163. package/dist/next/documents/residency.d.ts.map +1 -0
  164. package/dist/next/documents/residency.js +93 -0
  165. package/dist/next/documents/residency.js.map +1 -0
  166. package/dist/next/documents/slot.d.ts +109 -0
  167. package/dist/next/documents/slot.d.ts.map +1 -0
  168. package/dist/next/documents/slot.js +181 -0
  169. package/dist/next/documents/slot.js.map +1 -0
  170. package/dist/next/documents/transaction.d.ts +133 -0
  171. package/dist/next/documents/transaction.d.ts.map +1 -0
  172. package/dist/next/documents/transaction.js +409 -0
  173. package/dist/next/documents/transaction.js.map +1 -0
  174. package/dist/next/host/activity.d.ts +31 -0
  175. package/dist/next/host/activity.d.ts.map +1 -0
  176. package/dist/next/host/activity.js +40 -0
  177. package/dist/next/host/activity.js.map +1 -0
  178. package/dist/next/host/adapted.d.ts +49 -0
  179. package/dist/next/host/adapted.d.ts.map +1 -0
  180. package/dist/next/host/adapted.js +214 -0
  181. package/dist/next/host/adapted.js.map +1 -0
  182. package/dist/next/host/attempt.d.ts +278 -0
  183. package/dist/next/host/attempt.d.ts.map +1 -0
  184. package/dist/next/host/attempt.js +1072 -0
  185. package/dist/next/host/attempt.js.map +1 -0
  186. package/dist/next/host/backoff.d.ts +29 -0
  187. package/dist/next/host/backoff.d.ts.map +1 -0
  188. package/dist/next/host/backoff.js +69 -0
  189. package/dist/next/host/backoff.js.map +1 -0
  190. package/dist/next/host/ctx.d.ts +47 -0
  191. package/dist/next/host/ctx.d.ts.map +1 -0
  192. package/dist/next/host/ctx.js +108 -0
  193. package/dist/next/host/ctx.js.map +1 -0
  194. package/dist/next/host/deadline.d.ts +12 -0
  195. package/dist/next/host/deadline.d.ts.map +1 -0
  196. package/dist/next/host/deadline.js +40 -0
  197. package/dist/next/host/deadline.js.map +1 -0
  198. package/dist/next/host/dependencies.d.ts +65 -0
  199. package/dist/next/host/dependencies.d.ts.map +1 -0
  200. package/dist/next/host/dependencies.js +115 -0
  201. package/dist/next/host/dependencies.js.map +1 -0
  202. package/dist/next/host/destination.d.ts +48 -0
  203. package/dist/next/host/destination.d.ts.map +1 -0
  204. package/dist/next/host/destination.js +101 -0
  205. package/dist/next/host/destination.js.map +1 -0
  206. package/dist/next/host/facet.d.ts +79 -0
  207. package/dist/next/host/facet.d.ts.map +1 -0
  208. package/dist/next/host/facet.js +55 -0
  209. package/dist/next/host/facet.js.map +1 -0
  210. package/dist/next/host/follow.d.ts +52 -0
  211. package/dist/next/host/follow.d.ts.map +1 -0
  212. package/dist/next/host/follow.js +207 -0
  213. package/dist/next/host/follow.js.map +1 -0
  214. package/dist/next/host/host.d.ts +495 -0
  215. package/dist/next/host/host.d.ts.map +1 -0
  216. package/dist/next/host/host.js +1075 -0
  217. package/dist/next/host/host.js.map +1 -0
  218. package/dist/next/host/index.d.ts +17 -0
  219. package/dist/next/host/index.d.ts.map +1 -0
  220. package/dist/next/host/index.js +6 -0
  221. package/dist/next/host/index.js.map +1 -0
  222. package/dist/next/host/internal.d.ts +10 -0
  223. package/dist/next/host/internal.d.ts.map +1 -0
  224. package/dist/next/host/internal.js +8 -0
  225. package/dist/next/host/internal.js.map +1 -0
  226. package/dist/next/host/members.d.ts +50 -0
  227. package/dist/next/host/members.d.ts.map +1 -0
  228. package/dist/next/host/members.js +107 -0
  229. package/dist/next/host/members.js.map +1 -0
  230. package/dist/next/host/native.d.ts +55 -0
  231. package/dist/next/host/native.d.ts.map +1 -0
  232. package/dist/next/host/native.js +92 -0
  233. package/dist/next/host/native.js.map +1 -0
  234. package/dist/next/host/object.d.ts +290 -0
  235. package/dist/next/host/object.d.ts.map +1 -0
  236. package/dist/next/host/object.js +1127 -0
  237. package/dist/next/host/object.js.map +1 -0
  238. package/dist/next/host/parked.d.ts +23 -0
  239. package/dist/next/host/parked.d.ts.map +1 -0
  240. package/dist/next/host/parked.js +79 -0
  241. package/dist/next/host/parked.js.map +1 -0
  242. package/dist/next/host/presence.d.ts +34 -0
  243. package/dist/next/host/presence.d.ts.map +1 -0
  244. package/dist/next/host/presence.js +117 -0
  245. package/dist/next/host/presence.js.map +1 -0
  246. package/dist/next/host/ref-state.d.ts +53 -0
  247. package/dist/next/host/ref-state.d.ts.map +1 -0
  248. package/dist/next/host/ref-state.js +83 -0
  249. package/dist/next/host/ref-state.js.map +1 -0
  250. package/dist/next/host/reference-keys.d.ts +36 -0
  251. package/dist/next/host/reference-keys.d.ts.map +1 -0
  252. package/dist/next/host/reference-keys.js +168 -0
  253. package/dist/next/host/reference-keys.js.map +1 -0
  254. package/dist/next/host/reference-source.d.ts +65 -0
  255. package/dist/next/host/reference-source.d.ts.map +1 -0
  256. package/dist/next/host/reference-source.js +285 -0
  257. package/dist/next/host/reference-source.js.map +1 -0
  258. package/dist/next/host/reference.d.ts +308 -0
  259. package/dist/next/host/reference.d.ts.map +1 -0
  260. package/dist/next/host/reference.js +775 -0
  261. package/dist/next/host/reference.js.map +1 -0
  262. package/dist/next/host/retry-on.d.ts +28 -0
  263. package/dist/next/host/retry-on.d.ts.map +1 -0
  264. package/dist/next/host/retry-on.js +52 -0
  265. package/dist/next/host/retry-on.js.map +1 -0
  266. package/dist/next/host/revocation.d.ts +16 -0
  267. package/dist/next/host/revocation.d.ts.map +1 -0
  268. package/dist/next/host/revocation.js +27 -0
  269. package/dist/next/host/revocation.js.map +1 -0
  270. package/dist/next/host/root.d.ts +27 -0
  271. package/dist/next/host/root.d.ts.map +1 -0
  272. package/dist/next/host/root.js +68 -0
  273. package/dist/next/host/root.js.map +1 -0
  274. package/dist/next/host/route.d.ts +64 -0
  275. package/dist/next/host/route.d.ts.map +1 -0
  276. package/dist/next/host/route.js +190 -0
  277. package/dist/next/host/route.js.map +1 -0
  278. package/dist/next/host/routines.d.ts +76 -0
  279. package/dist/next/host/routines.d.ts.map +1 -0
  280. package/dist/next/host/routines.js +350 -0
  281. package/dist/next/host/routines.js.map +1 -0
  282. package/dist/next/host/sleep.d.ts +9 -0
  283. package/dist/next/host/sleep.d.ts.map +1 -0
  284. package/dist/next/host/sleep.js +40 -0
  285. package/dist/next/host/sleep.js.map +1 -0
  286. package/dist/next/host/staging.d.ts +94 -0
  287. package/dist/next/host/staging.d.ts.map +1 -0
  288. package/dist/next/host/staging.js +302 -0
  289. package/dist/next/host/staging.js.map +1 -0
  290. package/dist/next/host/unbound.d.ts +30 -0
  291. package/dist/next/host/unbound.d.ts.map +1 -0
  292. package/dist/next/host/unbound.js +67 -0
  293. package/dist/next/host/unbound.js.map +1 -0
  294. package/dist/next/host/uuid.d.ts +3 -0
  295. package/dist/next/host/uuid.d.ts.map +1 -0
  296. package/dist/next/host/uuid.js +38 -0
  297. package/dist/next/host/uuid.js.map +1 -0
  298. package/dist/next/index.d.ts +28 -0
  299. package/dist/next/index.d.ts.map +1 -0
  300. package/dist/next/index.js +18 -0
  301. package/dist/next/index.js.map +1 -0
  302. package/dist/next/jobs/definition.d.ts +96 -0
  303. package/dist/next/jobs/definition.d.ts.map +1 -0
  304. package/dist/next/jobs/definition.js +83 -0
  305. package/dist/next/jobs/definition.js.map +1 -0
  306. package/dist/next/jobs/index.d.ts +5 -0
  307. package/dist/next/jobs/index.d.ts.map +1 -0
  308. package/dist/next/jobs/index.js +3 -0
  309. package/dist/next/jobs/index.js.map +1 -0
  310. package/dist/next/jobs/internal.d.ts +3 -0
  311. package/dist/next/jobs/internal.d.ts.map +1 -0
  312. package/dist/next/jobs/internal.js +4 -0
  313. package/dist/next/jobs/internal.js.map +1 -0
  314. package/dist/next/jobs/job.d.ts +152 -0
  315. package/dist/next/jobs/job.d.ts.map +1 -0
  316. package/dist/next/jobs/job.js +320 -0
  317. package/dist/next/jobs/job.js.map +1 -0
  318. package/dist/next/jobs/persisted.d.ts +38 -0
  319. package/dist/next/jobs/persisted.d.ts.map +1 -0
  320. package/dist/next/jobs/persisted.js +95 -0
  321. package/dist/next/jobs/persisted.js.map +1 -0
  322. package/dist/next/jobs/records.d.ts +231 -0
  323. package/dist/next/jobs/records.d.ts.map +1 -0
  324. package/dist/next/jobs/records.js +869 -0
  325. package/dist/next/jobs/records.js.map +1 -0
  326. package/dist/next/jobs/run-states.d.ts +69 -0
  327. package/dist/next/jobs/run-states.d.ts.map +1 -0
  328. package/dist/next/jobs/run-states.js +228 -0
  329. package/dist/next/jobs/run-states.js.map +1 -0
  330. package/dist/next/jobs/run.d.ts +113 -0
  331. package/dist/next/jobs/run.d.ts.map +1 -0
  332. package/dist/next/jobs/run.js +200 -0
  333. package/dist/next/jobs/run.js.map +1 -0
  334. package/dist/next/jobs/running.d.ts +44 -0
  335. package/dist/next/jobs/running.d.ts.map +1 -0
  336. package/dist/next/jobs/running.js +117 -0
  337. package/dist/next/jobs/running.js.map +1 -0
  338. package/dist/next/jobs/stored.d.ts +63 -0
  339. package/dist/next/jobs/stored.d.ts.map +1 -0
  340. package/dist/next/jobs/stored.js +55 -0
  341. package/dist/next/jobs/stored.js.map +1 -0
  342. package/dist/next/link/binary.d.ts +4 -0
  343. package/dist/next/link/binary.d.ts.map +1 -0
  344. package/dist/next/link/binary.js +534 -0
  345. package/dist/next/link/binary.js.map +1 -0
  346. package/dist/next/link/channel.d.ts +63 -0
  347. package/dist/next/link/channel.d.ts.map +1 -0
  348. package/dist/next/link/channel.js +202 -0
  349. package/dist/next/link/channel.js.map +1 -0
  350. package/dist/next/link/errors.d.ts +7 -0
  351. package/dist/next/link/errors.d.ts.map +1 -0
  352. package/dist/next/link/errors.js +21 -0
  353. package/dist/next/link/errors.js.map +1 -0
  354. package/dist/next/link/index.d.ts +8 -0
  355. package/dist/next/link/index.d.ts.map +1 -0
  356. package/dist/next/link/index.js +8 -0
  357. package/dist/next/link/index.js.map +1 -0
  358. package/dist/next/link/internal.d.ts +9 -0
  359. package/dist/next/link/internal.d.ts.map +1 -0
  360. package/dist/next/link/internal.js +10 -0
  361. package/dist/next/link/internal.js.map +1 -0
  362. package/dist/next/link/ipc.d.ts +22 -0
  363. package/dist/next/link/ipc.d.ts.map +1 -0
  364. package/dist/next/link/ipc.js +64 -0
  365. package/dist/next/link/ipc.js.map +1 -0
  366. package/dist/next/link/link.d.ts +34 -0
  367. package/dist/next/link/link.d.ts.map +1 -0
  368. package/dist/next/link/link.js +87 -0
  369. package/dist/next/link/link.js.map +1 -0
  370. package/dist/next/link/message.d.ts +249 -0
  371. package/dist/next/link/message.d.ts.map +1 -0
  372. package/dist/next/link/message.js +123 -0
  373. package/dist/next/link/message.js.map +1 -0
  374. package/dist/next/link/part.d.ts +80 -0
  375. package/dist/next/link/part.d.ts.map +1 -0
  376. package/dist/next/link/part.js +164 -0
  377. package/dist/next/link/part.js.map +1 -0
  378. package/dist/next/link/text.d.ts +6 -0
  379. package/dist/next/link/text.d.ts.map +1 -0
  380. package/dist/next/link/text.js +335 -0
  381. package/dist/next/link/text.js.map +1 -0
  382. package/dist/next/link/values.d.ts +40 -0
  383. package/dist/next/link/values.d.ts.map +1 -0
  384. package/dist/next/link/values.js +117 -0
  385. package/dist/next/link/values.js.map +1 -0
  386. package/dist/next/link/websocket.d.ts +26 -0
  387. package/dist/next/link/websocket.d.ts.map +1 -0
  388. package/dist/next/link/websocket.js +91 -0
  389. package/dist/next/link/websocket.js.map +1 -0
  390. package/dist/next/registries/contribution.d.ts +50 -0
  391. package/dist/next/registries/contribution.d.ts.map +1 -0
  392. package/dist/next/registries/contribution.js +129 -0
  393. package/dist/next/registries/contribution.js.map +1 -0
  394. package/dist/next/registries/entries.d.ts +18 -0
  395. package/dist/next/registries/entries.d.ts.map +1 -0
  396. package/dist/next/registries/entries.js +42 -0
  397. package/dist/next/registries/entries.js.map +1 -0
  398. package/dist/next/registries/index.d.ts +3 -0
  399. package/dist/next/registries/index.d.ts.map +1 -0
  400. package/dist/next/registries/index.js +5 -0
  401. package/dist/next/registries/index.js.map +1 -0
  402. package/dist/next/registries/internal.d.ts +4 -0
  403. package/dist/next/registries/internal.d.ts.map +1 -0
  404. package/dist/next/registries/internal.js +5 -0
  405. package/dist/next/registries/internal.js.map +1 -0
  406. package/dist/next/registries/record.d.ts +94 -0
  407. package/dist/next/registries/record.d.ts.map +1 -0
  408. package/dist/next/registries/record.js +253 -0
  409. package/dist/next/registries/record.js.map +1 -0
  410. package/dist/next/registries/registry.d.ts +74 -0
  411. package/dist/next/registries/registry.d.ts.map +1 -0
  412. package/dist/next/registries/registry.js +14 -0
  413. package/dist/next/registries/registry.js.map +1 -0
  414. package/dist/next/registries/value.d.ts +48 -0
  415. package/dist/next/registries/value.d.ts.map +1 -0
  416. package/dist/next/registries/value.js +199 -0
  417. package/dist/next/registries/value.js.map +1 -0
  418. package/dist/next/remote/calls.d.ts +25 -0
  419. package/dist/next/remote/calls.d.ts.map +1 -0
  420. package/dist/next/remote/calls.js +62 -0
  421. package/dist/next/remote/calls.js.map +1 -0
  422. package/dist/next/remote/consumer.d.ts +42 -0
  423. package/dist/next/remote/consumer.d.ts.map +1 -0
  424. package/dist/next/remote/consumer.js +343 -0
  425. package/dist/next/remote/consumer.js.map +1 -0
  426. package/dist/next/remote/hold.d.ts +130 -0
  427. package/dist/next/remote/hold.d.ts.map +1 -0
  428. package/dist/next/remote/hold.js +537 -0
  429. package/dist/next/remote/hold.js.map +1 -0
  430. package/dist/next/remote/host-link.d.ts +77 -0
  431. package/dist/next/remote/host-link.d.ts.map +1 -0
  432. package/dist/next/remote/host-link.js +182 -0
  433. package/dist/next/remote/host-link.js.map +1 -0
  434. package/dist/next/remote/internal.d.ts +6 -0
  435. package/dist/next/remote/internal.d.ts.map +1 -0
  436. package/dist/next/remote/internal.js +6 -0
  437. package/dist/next/remote/internal.js.map +1 -0
  438. package/dist/next/remote/path.d.ts +46 -0
  439. package/dist/next/remote/path.d.ts.map +1 -0
  440. package/dist/next/remote/path.js +73 -0
  441. package/dist/next/remote/path.js.map +1 -0
  442. package/dist/next/remote/provider.d.ts +76 -0
  443. package/dist/next/remote/provider.d.ts.map +1 -0
  444. package/dist/next/remote/provider.js +506 -0
  445. package/dist/next/remote/provider.js.map +1 -0
  446. package/dist/next/remote/relay.d.ts +58 -0
  447. package/dist/next/remote/relay.d.ts.map +1 -0
  448. package/dist/next/remote/relay.js +117 -0
  449. package/dist/next/remote/relay.js.map +1 -0
  450. package/dist/next/remote/remote-object.d.ts +133 -0
  451. package/dist/next/remote/remote-object.d.ts.map +1 -0
  452. package/dist/next/remote/remote-object.js +411 -0
  453. package/dist/next/remote/remote-object.js.map +1 -0
  454. package/dist/next/remote/replica.d.ts +59 -0
  455. package/dist/next/remote/replica.d.ts.map +1 -0
  456. package/dist/next/remote/replica.js +125 -0
  457. package/dist/next/remote/replica.js.map +1 -0
  458. package/dist/next/state/batch.d.ts +64 -0
  459. package/dist/next/state/batch.d.ts.map +1 -0
  460. package/dist/next/state/batch.js +163 -0
  461. package/dist/next/state/batch.js.map +1 -0
  462. package/dist/next/state/derive.d.ts +52 -0
  463. package/dist/next/state/derive.d.ts.map +1 -0
  464. package/dist/next/state/derive.js +182 -0
  465. package/dist/next/state/derive.js.map +1 -0
  466. package/dist/next/state/index.d.ts +6 -0
  467. package/dist/next/state/index.d.ts.map +1 -0
  468. package/dist/next/state/index.js +4 -0
  469. package/dist/next/state/index.js.map +1 -0
  470. package/dist/next/state/internal.d.ts +6 -0
  471. package/dist/next/state/internal.d.ts.map +1 -0
  472. package/dist/next/state/internal.js +8 -0
  473. package/dist/next/state/internal.js.map +1 -0
  474. package/dist/next/state/native-source.d.ts +106 -0
  475. package/dist/next/state/native-source.d.ts.map +1 -0
  476. package/dist/next/state/native-source.js +240 -0
  477. package/dist/next/state/native-source.js.map +1 -0
  478. package/dist/next/state/watchable.d.ts +114 -0
  479. package/dist/next/state/watchable.d.ts.map +1 -0
  480. package/dist/next/state/watchable.js +156 -0
  481. package/dist/next/state/watchable.js.map +1 -0
  482. package/dist/next/state/writable.d.ts +32 -0
  483. package/dist/next/state/writable.d.ts.map +1 -0
  484. package/dist/next/state/writable.js +49 -0
  485. package/dist/next/state/writable.js.map +1 -0
  486. package/dist/next/store/adapter.d.ts +67 -0
  487. package/dist/next/store/adapter.d.ts.map +1 -0
  488. package/dist/next/store/adapter.js +118 -0
  489. package/dist/next/store/adapter.js.map +1 -0
  490. package/dist/next/store/allocator.d.ts +17 -0
  491. package/dist/next/store/allocator.d.ts.map +1 -0
  492. package/dist/next/store/allocator.js +30 -0
  493. package/dist/next/store/allocator.js.map +1 -0
  494. package/dist/next/store/applier.d.ts +8 -0
  495. package/dist/next/store/applier.d.ts.map +1 -0
  496. package/dist/next/store/applier.js +375 -0
  497. package/dist/next/store/applier.js.map +1 -0
  498. package/dist/next/store/apply-batch.d.ts +12 -0
  499. package/dist/next/store/apply-batch.d.ts.map +1 -0
  500. package/dist/next/store/apply-batch.js +83 -0
  501. package/dist/next/store/apply-batch.js.map +1 -0
  502. package/dist/next/store/archive.d.ts +32 -0
  503. package/dist/next/store/archive.d.ts.map +1 -0
  504. package/dist/next/store/archive.js +129 -0
  505. package/dist/next/store/archive.js.map +1 -0
  506. package/dist/next/store/backend.d.ts +10 -0
  507. package/dist/next/store/backend.d.ts.map +1 -0
  508. package/dist/next/store/backend.js +15 -0
  509. package/dist/next/store/backend.js.map +1 -0
  510. package/dist/next/store/catalog.d.ts +24 -0
  511. package/dist/next/store/catalog.d.ts.map +1 -0
  512. package/dist/next/store/catalog.js +17 -0
  513. package/dist/next/store/catalog.js.map +1 -0
  514. package/dist/next/store/claims.d.ts +23 -0
  515. package/dist/next/store/claims.d.ts.map +1 -0
  516. package/dist/next/store/claims.js +65 -0
  517. package/dist/next/store/claims.js.map +1 -0
  518. package/dist/next/store/columns.d.ts +77 -0
  519. package/dist/next/store/columns.d.ts.map +1 -0
  520. package/dist/next/store/columns.js +77 -0
  521. package/dist/next/store/columns.js.map +1 -0
  522. package/dist/next/store/engine.d.ts +176 -0
  523. package/dist/next/store/engine.d.ts.map +1 -0
  524. package/dist/next/store/engine.js +283 -0
  525. package/dist/next/store/engine.js.map +1 -0
  526. package/dist/next/store/evaluate.d.ts +17 -0
  527. package/dist/next/store/evaluate.d.ts.map +1 -0
  528. package/dist/next/store/evaluate.js +128 -0
  529. package/dist/next/store/evaluate.js.map +1 -0
  530. package/dist/next/store/export.d.ts +17 -0
  531. package/dist/next/store/export.d.ts.map +1 -0
  532. package/dist/next/store/export.js +200 -0
  533. package/dist/next/store/export.js.map +1 -0
  534. package/dist/next/store/expression.d.ts +150 -0
  535. package/dist/next/store/expression.d.ts.map +1 -0
  536. package/dist/next/store/expression.js +268 -0
  537. package/dist/next/store/expression.js.map +1 -0
  538. package/dist/next/store/import.d.ts +10 -0
  539. package/dist/next/store/import.d.ts.map +1 -0
  540. package/dist/next/store/import.js +276 -0
  541. package/dist/next/store/import.js.map +1 -0
  542. package/dist/next/store/index.d.ts +16 -0
  543. package/dist/next/store/index.d.ts.map +1 -0
  544. package/dist/next/store/index.js +13 -0
  545. package/dist/next/store/index.js.map +1 -0
  546. package/dist/next/store/json-column.d.ts +33 -0
  547. package/dist/next/store/json-column.d.ts.map +1 -0
  548. package/dist/next/store/json-column.js +61 -0
  549. package/dist/next/store/json-column.js.map +1 -0
  550. package/dist/next/store/jsonl.d.ts +9 -0
  551. package/dist/next/store/jsonl.d.ts.map +1 -0
  552. package/dist/next/store/jsonl.js +61 -0
  553. package/dist/next/store/jsonl.js.map +1 -0
  554. package/dist/next/store/outbox.d.ts +26 -0
  555. package/dist/next/store/outbox.d.ts.map +1 -0
  556. package/dist/next/store/outbox.js +80 -0
  557. package/dist/next/store/outbox.js.map +1 -0
  558. package/dist/next/store/query.d.ts +39 -0
  559. package/dist/next/store/query.d.ts.map +1 -0
  560. package/dist/next/store/query.js +97 -0
  561. package/dist/next/store/query.js.map +1 -0
  562. package/dist/next/store/refusal.d.ts +15 -0
  563. package/dist/next/store/refusal.d.ts.map +1 -0
  564. package/dist/next/store/refusal.js +36 -0
  565. package/dist/next/store/refusal.js.map +1 -0
  566. package/dist/next/store/rows.d.ts +80 -0
  567. package/dist/next/store/rows.d.ts.map +1 -0
  568. package/dist/next/store/rows.js +183 -0
  569. package/dist/next/store/rows.js.map +1 -0
  570. package/dist/next/store/schema.d.ts +25 -0
  571. package/dist/next/store/schema.d.ts.map +1 -0
  572. package/dist/next/store/schema.js +115 -0
  573. package/dist/next/store/schema.js.map +1 -0
  574. package/dist/next/store/sql.d.ts +73 -0
  575. package/dist/next/store/sql.d.ts.map +1 -0
  576. package/dist/next/store/sql.js +234 -0
  577. package/dist/next/store/sql.js.map +1 -0
  578. package/dist/next/store/step.d.ts +48 -0
  579. package/dist/next/store/step.d.ts.map +1 -0
  580. package/dist/next/store/step.js +50 -0
  581. package/dist/next/store/step.js.map +1 -0
  582. package/dist/next/store/store.d.ts +161 -0
  583. package/dist/next/store/store.d.ts.map +1 -0
  584. package/dist/next/store/store.js +627 -0
  585. package/dist/next/store/store.js.map +1 -0
  586. package/dist/next/store/table-changes.d.ts +29 -0
  587. package/dist/next/store/table-changes.d.ts.map +1 -0
  588. package/dist/next/store/table-changes.js +102 -0
  589. package/dist/next/store/table-changes.js.map +1 -0
  590. package/dist/next/store/table-evolve.d.ts +74 -0
  591. package/dist/next/store/table-evolve.d.ts.map +1 -0
  592. package/dist/next/store/table-evolve.js +201 -0
  593. package/dist/next/store/table-evolve.js.map +1 -0
  594. package/dist/next/store/table-handle.d.ts +67 -0
  595. package/dist/next/store/table-handle.d.ts.map +1 -0
  596. package/dist/next/store/table-handle.js +101 -0
  597. package/dist/next/store/table-handle.js.map +1 -0
  598. package/dist/next/store/table-history.d.ts +75 -0
  599. package/dist/next/store/table-history.d.ts.map +1 -0
  600. package/dist/next/store/table-history.js +42 -0
  601. package/dist/next/store/table-history.js.map +1 -0
  602. package/dist/next/store/table-migration.d.ts +16 -0
  603. package/dist/next/store/table-migration.d.ts.map +1 -0
  604. package/dist/next/store/table-migration.js +202 -0
  605. package/dist/next/store/table-migration.js.map +1 -0
  606. package/dist/next/store/table-writes.d.ts +125 -0
  607. package/dist/next/store/table-writes.d.ts.map +1 -0
  608. package/dist/next/store/table-writes.js +165 -0
  609. package/dist/next/store/table-writes.js.map +1 -0
  610. package/dist/next/store/table.d.ts +80 -0
  611. package/dist/next/store/table.d.ts.map +1 -0
  612. package/dist/next/store/table.js +103 -0
  613. package/dist/next/store/table.js.map +1 -0
  614. package/dist/next/store/text.d.ts +14 -0
  615. package/dist/next/store/text.d.ts.map +1 -0
  616. package/dist/next/store/text.js +51 -0
  617. package/dist/next/store/text.js.map +1 -0
  618. package/dist/next/store/writes.d.ts +5 -0
  619. package/dist/next/store/writes.d.ts.map +1 -0
  620. package/dist/next/store/writes.js +4 -0
  621. package/dist/next/store/writes.js.map +1 -0
  622. package/dist/next-node/compression.d.ts +7 -0
  623. package/dist/next-node/compression.d.ts.map +1 -0
  624. package/dist/next-node/compression.js +24 -0
  625. package/dist/next-node/compression.js.map +1 -0
  626. package/dist/next-node/http/admission.d.ts +63 -0
  627. package/dist/next-node/http/admission.d.ts.map +1 -0
  628. package/dist/next-node/http/admission.js +134 -0
  629. package/dist/next-node/http/admission.js.map +1 -0
  630. package/dist/next-node/http/authenticate.d.ts +21 -0
  631. package/dist/next-node/http/authenticate.d.ts.map +1 -0
  632. package/dist/next-node/http/authenticate.js +34 -0
  633. package/dist/next-node/http/authenticate.js.map +1 -0
  634. package/dist/next-node/http/cookies.d.ts +24 -0
  635. package/dist/next-node/http/cookies.d.ts.map +1 -0
  636. package/dist/next-node/http/cookies.js +62 -0
  637. package/dist/next-node/http/cookies.js.map +1 -0
  638. package/dist/next-node/http/file.d.ts +23 -0
  639. package/dist/next-node/http/file.d.ts.map +1 -0
  640. package/dist/next-node/http/file.js +94 -0
  641. package/dist/next-node/http/file.js.map +1 -0
  642. package/dist/next-node/http/headers.d.ts +37 -0
  643. package/dist/next-node/http/headers.d.ts.map +1 -0
  644. package/dist/next-node/http/headers.js +129 -0
  645. package/dist/next-node/http/headers.js.map +1 -0
  646. package/dist/next-node/http/http.d.ts +100 -0
  647. package/dist/next-node/http/http.d.ts.map +1 -0
  648. package/dist/next-node/http/http.js +462 -0
  649. package/dist/next-node/http/http.js.map +1 -0
  650. package/dist/next-node/http/incoming.d.ts +19 -0
  651. package/dist/next-node/http/incoming.d.ts.map +1 -0
  652. package/dist/next-node/http/incoming.js +31 -0
  653. package/dist/next-node/http/incoming.js.map +1 -0
  654. package/dist/next-node/http/index.d.ts +11 -0
  655. package/dist/next-node/http/index.d.ts.map +1 -0
  656. package/dist/next-node/http/index.js +12 -0
  657. package/dist/next-node/http/index.js.map +1 -0
  658. package/dist/next-node/http/node.d.ts +78 -0
  659. package/dist/next-node/http/node.d.ts.map +1 -0
  660. package/dist/next-node/http/node.js +291 -0
  661. package/dist/next-node/http/node.js.map +1 -0
  662. package/dist/next-node/http/request.d.ts +54 -0
  663. package/dist/next-node/http/request.d.ts.map +1 -0
  664. package/dist/next-node/http/request.js +116 -0
  665. package/dist/next-node/http/request.js.map +1 -0
  666. package/dist/next-node/http/response.d.ts +63 -0
  667. package/dist/next-node/http/response.d.ts.map +1 -0
  668. package/dist/next-node/http/response.js +202 -0
  669. package/dist/next-node/http/response.js.map +1 -0
  670. package/dist/next-node/http/router.d.ts +114 -0
  671. package/dist/next-node/http/router.d.ts.map +1 -0
  672. package/dist/next-node/http/router.js +261 -0
  673. package/dist/next-node/http/router.js.map +1 -0
  674. package/dist/next-node/http/upgrades.d.ts +58 -0
  675. package/dist/next-node/http/upgrades.d.ts.map +1 -0
  676. package/dist/next-node/http/upgrades.js +184 -0
  677. package/dist/next-node/http/upgrades.js.map +1 -0
  678. package/dist/next-node/plugins/build.d.ts +57 -0
  679. package/dist/next-node/plugins/build.d.ts.map +1 -0
  680. package/dist/next-node/plugins/build.js +334 -0
  681. package/dist/next-node/plugins/build.js.map +1 -0
  682. package/dist/next-node/plugins/discover.d.ts +36 -0
  683. package/dist/next-node/plugins/discover.d.ts.map +1 -0
  684. package/dist/next-node/plugins/discover.js +91 -0
  685. package/dist/next-node/plugins/discover.js.map +1 -0
  686. package/dist/next-node/plugins/evaluate.d.ts +33 -0
  687. package/dist/next-node/plugins/evaluate.d.ts.map +1 -0
  688. package/dist/next-node/plugins/evaluate.js +98 -0
  689. package/dist/next-node/plugins/evaluate.js.map +1 -0
  690. package/dist/next-node/plugins/index.d.ts +9 -0
  691. package/dist/next-node/plugins/index.d.ts.map +1 -0
  692. package/dist/next-node/plugins/index.js +11 -0
  693. package/dist/next-node/plugins/index.js.map +1 -0
  694. package/dist/next-node/plugins/install.d.ts +13 -0
  695. package/dist/next-node/plugins/install.d.ts.map +1 -0
  696. package/dist/next-node/plugins/install.js +37 -0
  697. package/dist/next-node/plugins/install.js.map +1 -0
  698. package/dist/next-node/plugins/plugins.d.ts +135 -0
  699. package/dist/next-node/plugins/plugins.d.ts.map +1 -0
  700. package/dist/next-node/plugins/plugins.js +206 -0
  701. package/dist/next-node/plugins/plugins.js.map +1 -0
  702. package/dist/next-node/plugins/runtime.d.ts +41 -0
  703. package/dist/next-node/plugins/runtime.d.ts.map +1 -0
  704. package/dist/next-node/plugins/runtime.js +136 -0
  705. package/dist/next-node/plugins/runtime.js.map +1 -0
  706. package/dist/next-node/plugins/stack.d.ts +16 -0
  707. package/dist/next-node/plugins/stack.d.ts.map +1 -0
  708. package/dist/next-node/plugins/stack.js +61 -0
  709. package/dist/next-node/plugins/stack.js.map +1 -0
  710. package/dist/next-node/plugins/watcher.d.ts +58 -0
  711. package/dist/next-node/plugins/watcher.d.ts.map +1 -0
  712. package/dist/next-node/plugins/watcher.js +281 -0
  713. package/dist/next-node/plugins/watcher.js.map +1 -0
  714. package/dist/next-node/workers/control.d.ts +83 -0
  715. package/dist/next-node/workers/control.d.ts.map +1 -0
  716. package/dist/next-node/workers/control.js +77 -0
  717. package/dist/next-node/workers/control.js.map +1 -0
  718. package/dist/next-node/workers/index.d.ts +5 -0
  719. package/dist/next-node/workers/index.d.ts.map +1 -0
  720. package/dist/next-node/workers/index.js +7 -0
  721. package/dist/next-node/workers/index.js.map +1 -0
  722. package/dist/next-node/workers/lock.d.ts +21 -0
  723. package/dist/next-node/workers/lock.d.ts.map +1 -0
  724. package/dist/next-node/workers/lock.js +137 -0
  725. package/dist/next-node/workers/lock.js.map +1 -0
  726. package/dist/next-node/workers/main.d.ts +46 -0
  727. package/dist/next-node/workers/main.d.ts.map +1 -0
  728. package/dist/next-node/workers/main.js +230 -0
  729. package/dist/next-node/workers/main.js.map +1 -0
  730. package/dist/next-node/workers/process.d.ts +42 -0
  731. package/dist/next-node/workers/process.d.ts.map +1 -0
  732. package/dist/next-node/workers/process.js +125 -0
  733. package/dist/next-node/workers/process.js.map +1 -0
  734. package/dist/next-node/workers/workers.d.ts +80 -0
  735. package/dist/next-node/workers/workers.d.ts.map +1 -0
  736. package/dist/next-node/workers/workers.js +572 -0
  737. package/dist/next-node/workers/workers.js.map +1 -0
  738. package/dist/object.d.ts +4 -4
  739. package/dist/object.d.ts.map +1 -1
  740. package/dist/object.js +3 -4
  741. package/dist/object.js.map +1 -1
  742. package/dist/output.d.ts +9 -3
  743. package/dist/output.d.ts.map +1 -1
  744. package/dist/output.js +21 -9
  745. package/dist/output.js.map +1 -1
  746. package/dist/remote.d.ts.map +1 -1
  747. package/dist/remote.js +2 -2
  748. package/dist/remote.js.map +1 -1
  749. package/dist/schema.d.ts +8 -4
  750. package/dist/schema.d.ts.map +1 -1
  751. package/dist/schema.js +180 -5
  752. package/dist/schema.js.map +1 -1
  753. package/dist/sqlite/cloudflare.d.ts +54 -0
  754. package/dist/sqlite/cloudflare.d.ts.map +1 -0
  755. package/dist/sqlite/cloudflare.js +144 -0
  756. package/dist/sqlite/cloudflare.js.map +1 -0
  757. package/dist/sqlite/database.d.ts +40 -0
  758. package/dist/sqlite/database.d.ts.map +1 -0
  759. package/dist/sqlite/database.js +2 -0
  760. package/dist/sqlite/database.js.map +1 -0
  761. package/dist/sqlite/index.d.ts +4 -0
  762. package/dist/sqlite/index.d.ts.map +1 -0
  763. package/dist/sqlite/index.js +3 -0
  764. package/dist/sqlite/index.js.map +1 -0
  765. package/dist/sqlite/migrations.d.ts +10 -0
  766. package/dist/sqlite/migrations.d.ts.map +1 -0
  767. package/dist/sqlite/migrations.js +33 -0
  768. package/dist/sqlite/migrations.js.map +1 -0
  769. package/dist/sqlite/node.d.ts +41 -0
  770. package/dist/sqlite/node.d.ts.map +1 -0
  771. package/dist/sqlite/node.js +191 -0
  772. package/dist/sqlite/node.js.map +1 -0
  773. package/dist/sqlite/schema.d.ts +3 -0
  774. package/dist/sqlite/schema.d.ts.map +1 -0
  775. package/dist/sqlite/schema.js +10 -0
  776. package/dist/sqlite/schema.js.map +1 -0
  777. package/dist/telemetry-sqlite/index.d.ts +24 -0
  778. package/dist/telemetry-sqlite/index.d.ts.map +1 -0
  779. package/dist/telemetry-sqlite/index.js +273 -0
  780. package/dist/telemetry-sqlite/index.js.map +1 -0
  781. package/dist/telemetry-sqlite/store.d.ts +9 -0
  782. package/dist/telemetry-sqlite/store.d.ts.map +1 -0
  783. package/dist/telemetry-sqlite/store.js +110 -0
  784. package/dist/telemetry-sqlite/store.js.map +1 -0
  785. package/dist/watch.d.ts +194 -0
  786. package/dist/watch.d.ts.map +1 -0
  787. package/dist/watch.js +383 -0
  788. package/dist/watch.js.map +1 -0
  789. package/dist/wire.d.ts +174 -193
  790. package/dist/wire.d.ts.map +1 -1
  791. package/dist/wire.js +81 -80
  792. package/dist/wire.js.map +1 -1
  793. package/docs/guide.md +15 -15
  794. package/docs/next/benchmarks.md +959 -0
  795. package/docs/next/decisions.md +2957 -0
  796. package/docs/next/dependencies/book.md +1671 -0
  797. package/docs/next/dependencies/index.html +2641 -0
  798. package/docs/next/dependencies/model.md +330 -0
  799. package/docs/next/design.md +2554 -0
  800. package/docs/next/durable-observers/book.md +432 -0
  801. package/docs/next/durable-observers/index.html +517 -0
  802. package/docs/next/flow-control/book.md +333 -0
  803. package/docs/next/flow-control/fold/index.html +265 -0
  804. package/docs/next/flow-control/index.html +548 -0
  805. package/docs/next/flow-control/window/index.html +228 -0
  806. package/docs/next/guide-plugins-hosts/book.md +607 -0
  807. package/docs/next/guide-plugins-hosts/index.html +652 -0
  808. package/docs/next/http-workers/book.md +378 -0
  809. package/docs/next/http-workers/index.html +515 -0
  810. package/docs/next/layer-1.md +311 -0
  811. package/docs/next/layer-2.md +216 -0
  812. package/docs/next/plugin-model/book.md +186 -0
  813. package/docs/next/plugin-model/index.html +310 -0
  814. package/docs/next/plugin-primer/book.md +273 -0
  815. package/docs/next/plugin-primer/index.html +430 -0
  816. package/docs/next/slice-1.md +236 -0
  817. package/docs/next/slice-10.md +285 -0
  818. package/docs/next/slice-11.md +93 -0
  819. package/docs/next/slice-2.md +174 -0
  820. package/docs/next/slice-3a.md +296 -0
  821. package/docs/next/slice-3b.md +197 -0
  822. package/docs/next/slice-4.md +146 -0
  823. package/docs/next/slice-4a.md +418 -0
  824. package/docs/next/slice-4b.md +208 -0
  825. package/docs/next/slice-5.md +281 -0
  826. package/docs/next/slice-6a.md +676 -0
  827. package/docs/next/slice-6b.md +332 -0
  828. package/docs/next/slice-7a.md +130 -0
  829. package/docs/next/slice-7b/book.md +608 -0
  830. package/docs/next/slice-7b/index.html +842 -0
  831. package/docs/next/slice-7b.md +255 -0
  832. package/docs/next/slice-7c.md +165 -0
  833. package/docs/next/slice-8.md +194 -0
  834. package/docs/next/slices.md +230 -0
  835. package/docs/next/store/book.md +665 -0
  836. package/docs/next/store/index.html +861 -0
  837. package/docs/next/store/walkthrough.md +193 -0
  838. package/docs/spec.md +9 -9
  839. package/docs/tutorial.md +26 -25
  840. package/package.json +42 -5
  841. package/src/delta/README.md +69 -0
package/dist/wire.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type Static, type TSchema, Type } from "typebox";
1
+ import { type Schema, type Static } from "@earendil-works/pi-schema";
2
2
  import { ChordError } from "./errors.ts";
3
3
  /**
4
4
  * The link protocol version, announced in `hello`. Peers of different versions do not talk: the side that notices
@@ -6,207 +6,188 @@ import { ChordError } from "./errors.ts";
6
6
  * (`LinkOptions.onProtocolMismatch`).
7
7
  */
8
8
  export declare const PROTOCOL_VERSION = 4;
9
- declare const RootRefSchema: Type.TObject<{
10
- rootId: Type.TString;
11
- codeVersion: Type.TInteger;
9
+ declare const RootRefSchema: Schema<{
10
+ rootId: string;
11
+ codeVersion: number;
12
12
  }>;
13
13
  export type RootRef = Static<typeof RootRefSchema>;
14
- declare const WireErrorSchema: Type.TObject<{
15
- code: Type.TEnum<["aborted", "contract_mismatch", "forbidden", "gone", "invalid", "not_in_variant", "not_ready", "released", "superseded", "unavailable", "upgrade_conflict", "upgrade_required"]>;
16
- message: Type.TString;
17
- reason: Type.TOptional<Type.TString>;
14
+ declare const WireErrorSchema: Schema<{
15
+ code: "aborted" | "contract_mismatch" | "forbidden" | "gone" | "invalid" | "not_in_variant" | "not_ready" | "released" | "superseded" | "unavailable" | "upgrade_conflict" | "upgrade_required";
16
+ message: string;
17
+ reason?: string | undefined;
18
18
  }>;
19
19
  export type WireError = Static<typeof WireErrorSchema>;
20
- declare const WireReloadOptionsSchema: Type.TObject<{
21
- remove: Type.TOptional<Type.TImmutable<Type.TArray<Type.TString>>>;
22
- gateDeadline: Type.TOptional<Type.TNumber>;
23
- retireDeadline: Type.TOptional<Type.TNumber>;
20
+ declare const WireReloadOptionsSchema: Schema<{
21
+ remove?: readonly string[] | undefined;
22
+ gateDeadline?: number | undefined;
23
+ retireDeadline?: number | undefined;
24
24
  }>;
25
25
  export type WireReloadOptions = Static<typeof WireReloadOptionsSchema>;
26
26
  /** A child's prepared reload, sent with its vote (same fields as `ReloadReport`, without children). */
27
- declare const WireReloadReportSchema: Type.TObject<{
28
- codeVersion: Type.TInteger;
29
- previous: Type.TInteger;
30
- changed: Type.TImmutable<Type.TArray<Type.TString>>;
31
- removed: Type.TImmutable<Type.TArray<Type.TString>>;
32
- prepared: Type.TImmutable<Type.TArray<Type.TString>>;
33
- gated: Type.TImmutable<Type.TArray<Type.TString>>;
27
+ declare const WireReloadReportSchema: Schema<{
28
+ codeVersion: number;
29
+ previous: number;
30
+ changed: readonly string[];
31
+ removed: readonly string[];
32
+ prepared: readonly string[];
33
+ gated: readonly string[];
34
34
  }>;
35
35
  export type WireReloadReport = Static<typeof WireReloadReportSchema>;
36
- declare const FrameSchema: Type.TUnion<[Type.TObject<{
37
- t: Type.TLiteral<"hello">;
38
- /** The link protocol version (`PROTOCOL_VERSION`; absent: 1). Peers of another version close the link. */
39
- protocol: Type.TOptional<Type.TInteger>;
40
- name: Type.TString;
41
- kind: Type.TUnion<[Type.TLiteral<"host">, Type.TLiteral<"client">]>;
42
- codeVersion: Type.TInteger;
43
- /** The sender acknowledges what it receives (`ack`). Flow control applies only when both hellos say so. */
44
- acks: Type.TOptional<Type.TBoolean>;
45
- }>, Type.TObject<{
46
- t: Type.TLiteral<"ack">;
47
- n: Type.TInteger;
48
- }>, Type.TObject<{
49
- t: Type.TLiteral<"hold">;
50
- id: Type.TInteger;
51
- /**
52
- * Target host name, resolved by the consumer from the token's `host` and `input`. Relays route on it after
53
- * checking it against both; the target refuses an input its own contract places elsewhere.
54
- */
55
- at: Type.TString;
56
- /** The consumer's contract token; the provider checks that it covers it. Remote tokens carry `host`. */
57
- token: Type.TObject<{
58
- name: Type.TString;
59
- scope: Type.TUnion<[Type.TLiteral<"remote">, Type.TLiteral<"local">]>;
60
- version: Type.TInteger;
61
- input: Type.TUnsafe<TSchema>;
62
- host: Type.TOptional<Type.TUnion<[Type.TObject<{
63
- name: Type.TString;
64
- }>, Type.TObject<{
65
- prefix: Type.TString;
66
- key: Type.TString;
67
- }>]>>;
68
- variants: Type.TRecord<"^.*$", Type.TRecord<"^.*$", Type.TUnion<[Type.TObject<{
69
- kind: Type.TLiteral<"method">;
70
- args: Type.TOptional<Type.TUnsafe<TSchema>>;
71
- result: Type.TOptional<Type.TUnsafe<TSchema>>;
72
- }>, Type.TObject<{
73
- kind: Type.TLiteral<"state">;
74
- schema: Type.TUnsafe<TSchema>;
75
- }>, Type.TObject<{
76
- kind: Type.TLiteral<"opaque">;
77
- id: Type.TString;
78
- }>]>>>;
79
- }>;
80
- /** Normalized with the consumer's contract. */
81
- input: Type.TUnknown;
82
- /** A forwarded principal. Honored only on frames from the parent link. */
83
- principal: Type.TOptional<Type.TUnknown>;
84
- /**
85
- * The client connection the hold comes from: an opaque id the server assigned to it, forwarded by relays. Honored
86
- * only on frames from the parent link; present means the hold is a client's (not a reload participant).
87
- */
88
- origin: Type.TOptional<Type.TString>;
89
- /** False: no state for this hold until `sub` (a method-only binding). */
90
- state: Type.TOptional<Type.TLiteral<false>>;
91
- /** The consumer already has values (a re-hold after a link loss): its unit is not urgent. */
92
- again: Type.TOptional<Type.TLiteral<true>>;
93
- }>, Type.TObject<{
94
- t: Type.TLiteral<"release">;
95
- id: Type.TInteger;
96
- }>, Type.TObject<{
97
- t: Type.TLiteral<"shape">;
98
- id: Type.TInteger;
99
- variant: Type.TOptional<Type.TString>;
100
- members: Type.TImmutable<Type.TArray<Type.TString>>;
101
- contract: Type.TString;
102
- /** The state members whose snapshots follow this frame; the consumer applies the shape once they are here. */
103
- state: Type.TImmutable<Type.TArray<Type.TString>>;
104
- }>, Type.TObject<{
105
- t: Type.TLiteral<"gone">;
106
- id: Type.TInteger;
107
- error: Type.TObject<{
108
- code: Type.TEnum<["aborted", "contract_mismatch", "forbidden", "gone", "invalid", "not_in_variant", "not_ready", "released", "superseded", "unavailable", "upgrade_conflict", "upgrade_required"]>;
109
- message: Type.TString;
110
- reason: Type.TOptional<Type.TString>;
111
- }>;
112
- }>, Type.TObject<{
113
- t: Type.TLiteral<"call">;
114
- id: Type.TInteger;
115
- hold: Type.TInteger;
116
- member: Type.TString;
117
- args: Type.TOptional<Type.TUnknown>;
118
- /** Absent: the receiving host starts a root (browsers never carry roots). */
119
- root: Type.TOptional<Type.TObject<{
120
- rootId: Type.TString;
121
- codeVersion: Type.TInteger;
122
- }>>;
123
- }>, Type.TObject<{
124
- t: Type.TLiteral<"result">;
125
- id: Type.TInteger;
126
- value: Type.TOptional<Type.TUnknown>;
127
- error: Type.TOptional<Type.TObject<{
128
- code: Type.TEnum<["aborted", "contract_mismatch", "forbidden", "gone", "invalid", "not_in_variant", "not_ready", "released", "superseded", "unavailable", "upgrade_conflict", "upgrade_required"]>;
129
- message: Type.TString;
130
- reason: Type.TOptional<Type.TString>;
131
- }>>;
132
- }>, Type.TObject<{
133
- t: Type.TLiteral<"cancel">;
134
- id: Type.TInteger;
135
- }>, Type.TObject<{
136
- t: Type.TLiteral<"sub">;
137
- hold: Type.TInteger;
138
- }>, Type.TObject<{
139
- t: Type.TLiteral<"unsub">;
140
- hold: Type.TInteger;
141
- }>, Type.TObject<{
142
- t: Type.TLiteral<"resync">;
143
- hold: Type.TInteger;
144
- m: Type.TString;
145
- }>, Type.TObject<{
146
- t: Type.TLiteral<"state">;
147
- hold: Type.TInteger;
148
- m: Type.TString;
149
- /** `snap`/`reset` without `value`: the value is `undefined`. */
150
- as: Type.TUnion<[Type.TLiteral<"snap">, Type.TLiteral<"reset">, Type.TLiteral<"ops">, Type.TLiteral<"error">]>;
151
- value: Type.TOptional<Type.TUnknown>;
152
- /** Encoded with the stream's delta encoder; the decoder validates each op. */
153
- ops: Type.TOptional<Type.TImmutable<Type.TArray<Type.TImmutable<Type.TArray<Type.TUnknown>>>>>;
154
- error: Type.TOptional<Type.TObject<{
155
- code: Type.TEnum<["aborted", "contract_mismatch", "forbidden", "gone", "invalid", "not_in_variant", "not_ready", "released", "superseded", "unavailable", "upgrade_conflict", "upgrade_required"]>;
156
- message: Type.TString;
157
- reason: Type.TOptional<Type.TString>;
158
- }>>;
159
- }>, Type.TObject<{
160
- t: Type.TLiteral<"ping">;
161
- n: Type.TInteger;
162
- }>, Type.TObject<{
163
- t: Type.TLiteral<"pong">;
164
- n: Type.TInteger;
165
- }>, Type.TObject<{
166
- t: Type.TLiteral<"bye">;
167
- reason: Type.TOptional<Type.TString>;
168
- }>, Type.TObject<{
169
- t: Type.TLiteral<"root_end">;
170
- rootId: Type.TString;
171
- }>, Type.TObject<{
172
- t: Type.TLiteral<"invalidate">;
173
- pattern: Type.TRecord<"^.*$", Type.TUnknown>;
174
- }>, Type.TObject<{
175
- t: Type.TLiteral<"prepare">;
176
- reload: Type.TInteger;
177
- codeVersion: Type.TInteger;
178
- plugins: Type.TImmutable<Type.TArray<Type.TString>>;
179
- options: Type.TObject<{
180
- remove: Type.TOptional<Type.TImmutable<Type.TArray<Type.TString>>>;
181
- gateDeadline: Type.TOptional<Type.TNumber>;
182
- retireDeadline: Type.TOptional<Type.TNumber>;
183
- }>;
184
- }>, Type.TObject<{
185
- t: Type.TLiteral<"vote">;
186
- reload: Type.TInteger;
187
- error: Type.TOptional<Type.TObject<{
188
- code: Type.TEnum<["aborted", "contract_mismatch", "forbidden", "gone", "invalid", "not_in_variant", "not_ready", "released", "superseded", "unavailable", "upgrade_conflict", "upgrade_required"]>;
189
- message: Type.TString;
190
- reason: Type.TOptional<Type.TString>;
191
- }>>;
192
- report: Type.TOptional<Type.TObject<{
193
- codeVersion: Type.TInteger;
194
- previous: Type.TInteger;
195
- changed: Type.TImmutable<Type.TArray<Type.TString>>;
196
- removed: Type.TImmutable<Type.TArray<Type.TString>>;
197
- prepared: Type.TImmutable<Type.TArray<Type.TString>>;
198
- gated: Type.TImmutable<Type.TArray<Type.TString>>;
199
- }>>;
200
- }>, Type.TObject<{
201
- t: Type.TLiteral<"commit">;
202
- reload: Type.TInteger;
203
- }>, Type.TObject<{
204
- t: Type.TLiteral<"retire">;
205
- codeVersion: Type.TInteger;
206
- }>, Type.TObject<{
207
- t: Type.TLiteral<"abort">;
208
- reload: Type.TInteger;
209
- }>]>;
36
+ declare const FrameSchema: Schema<{
37
+ t: "hello";
38
+ protocol?: number | undefined;
39
+ name: string;
40
+ kind: "client" | "host";
41
+ codeVersion: number;
42
+ acks?: boolean | undefined;
43
+ } | {
44
+ t: "ack";
45
+ n: number;
46
+ } | {
47
+ t: "hold";
48
+ id: number;
49
+ at: string;
50
+ token: {
51
+ name: string;
52
+ scope: "local" | "remote";
53
+ version: number;
54
+ input: Schema;
55
+ host?: {
56
+ name: string;
57
+ } | {
58
+ prefix: string;
59
+ key: string;
60
+ } | undefined;
61
+ variants: Record<string, Record<string, {
62
+ kind: "method";
63
+ args?: Schema | undefined;
64
+ result?: Schema | undefined;
65
+ } | {
66
+ kind: "state";
67
+ schema: Schema;
68
+ } | {
69
+ kind: "opaque";
70
+ id: string;
71
+ }>>;
72
+ };
73
+ input: unknown;
74
+ principal?: unknown;
75
+ origin?: string | undefined;
76
+ state?: false | undefined;
77
+ again?: true | undefined;
78
+ } | {
79
+ t: "release";
80
+ id: number;
81
+ } | {
82
+ t: "shape";
83
+ id: number;
84
+ variant?: string | undefined;
85
+ members: readonly string[];
86
+ contract: string;
87
+ state: readonly string[];
88
+ } | {
89
+ t: "gone";
90
+ id: number;
91
+ error: {
92
+ code: "aborted" | "contract_mismatch" | "forbidden" | "gone" | "invalid" | "not_in_variant" | "not_ready" | "released" | "superseded" | "unavailable" | "upgrade_conflict" | "upgrade_required";
93
+ message: string;
94
+ reason?: string | undefined;
95
+ };
96
+ } | {
97
+ t: "call";
98
+ id: number;
99
+ hold: number;
100
+ member: string;
101
+ args?: unknown;
102
+ root?: {
103
+ rootId: string;
104
+ codeVersion: number;
105
+ } | undefined;
106
+ } | {
107
+ t: "result";
108
+ id: number;
109
+ value?: unknown;
110
+ error?: {
111
+ code: "aborted" | "contract_mismatch" | "forbidden" | "gone" | "invalid" | "not_in_variant" | "not_ready" | "released" | "superseded" | "unavailable" | "upgrade_conflict" | "upgrade_required";
112
+ message: string;
113
+ reason?: string | undefined;
114
+ } | undefined;
115
+ } | {
116
+ t: "cancel";
117
+ id: number;
118
+ } | {
119
+ t: "sub";
120
+ hold: number;
121
+ } | {
122
+ t: "unsub";
123
+ hold: number;
124
+ } | {
125
+ t: "resync";
126
+ hold: number;
127
+ m: string;
128
+ } | {
129
+ t: "state";
130
+ hold: number;
131
+ m: string;
132
+ as: "error" | "ops" | "reset" | "snap";
133
+ value?: unknown;
134
+ ops?: readonly (readonly unknown[])[] | undefined;
135
+ error?: {
136
+ code: "aborted" | "contract_mismatch" | "forbidden" | "gone" | "invalid" | "not_in_variant" | "not_ready" | "released" | "superseded" | "unavailable" | "upgrade_conflict" | "upgrade_required";
137
+ message: string;
138
+ reason?: string | undefined;
139
+ } | undefined;
140
+ } | {
141
+ t: "ping";
142
+ n: number;
143
+ } | {
144
+ t: "pong";
145
+ n: number;
146
+ } | {
147
+ t: "bye";
148
+ reason?: string | undefined;
149
+ } | {
150
+ t: "root_end";
151
+ rootId: string;
152
+ } | {
153
+ t: "invalidate";
154
+ pattern: Record<string, unknown>;
155
+ } | {
156
+ t: "prepare";
157
+ reload: number;
158
+ codeVersion: number;
159
+ plugins: readonly string[];
160
+ options: {
161
+ remove?: readonly string[] | undefined;
162
+ gateDeadline?: number | undefined;
163
+ retireDeadline?: number | undefined;
164
+ };
165
+ } | {
166
+ t: "vote";
167
+ reload: number;
168
+ error?: {
169
+ code: "aborted" | "contract_mismatch" | "forbidden" | "gone" | "invalid" | "not_in_variant" | "not_ready" | "released" | "superseded" | "unavailable" | "upgrade_conflict" | "upgrade_required";
170
+ message: string;
171
+ reason?: string | undefined;
172
+ } | undefined;
173
+ report?: {
174
+ codeVersion: number;
175
+ previous: number;
176
+ changed: readonly string[];
177
+ removed: readonly string[];
178
+ prepared: readonly string[];
179
+ gated: readonly string[];
180
+ } | undefined;
181
+ } | {
182
+ t: "commit";
183
+ reload: number;
184
+ } | {
185
+ t: "retire";
186
+ codeVersion: number;
187
+ } | {
188
+ t: "abort";
189
+ reload: number;
190
+ }>;
210
191
  export type Frame = Static<typeof FrameSchema>;
211
192
  /** A frame that passes validation; anything else is a protocol violation. */
212
193
  export declare const isFrame: (value: unknown) => value is Frame;
@@ -1 +1 @@
1
- {"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../src/wire.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAG1D,OAAO,EAAqB,UAAU,EAAE,MAAM,aAAa,CAAC;AAe5D;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAQlC,QAAA,MAAM,aAAa;;;EAA2E,CAAC;AAC/F,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC;AAEnD,QAAA,MAAM,eAAe;;;;EAInB,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC;AAEvD,QAAA,MAAM,uBAAuB;;;;EAI3B,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAEvE,uGAAuG;AACvG,QAAA,MAAM,sBAAsB;;;;;;;EAO1B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAErE,QAAA,MAAM,WAAW;;IAGf,0GAA0G;;;;;IAK1G,2GAA2G;;;;;;;;IAQ3G;;;OAGG;;IAEH,wGAAwG;;;;;;;;;;;;;;;;;;;;;;;;IAExG,+CAA+C;;IAE/C,0EAA0E;;IAE1E;;;OAGG;;IAEH,yEAAyE;;IAEzE,6FAA6F;;;;;;;;;;;IAU7F,8GAA8G;;;;;;;;;;;;;;;;IAU9G,6EAA6E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoB7E,gEAAgE;;;IAGhE,8EAA8E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4B9E,CAAC;AACH,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AAE/C,6EAA6E;AAC7E,eAAO,MAAM,OAAO,UAAW,OAAO,KAAG,KAAK,IAAI,KAAwC,CAAC;AAE3F,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAOrD;AAED,eAAO,MAAM,aAAa,UAAW,SAAS,KAAG,UACyD,CAAC"}
1
+ {"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../src/wire.ts"],"names":[],"mappings":"AAAA,OAAO,EAYN,KAAK,MAAM,EACX,KAAK,MAAM,EAIX,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAqB,UAAU,EAAE,MAAM,aAAa,CAAC;AAe5D;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAUlC,QAAA,MAAM,aAAa;;;EAA2D,CAAC;AAC/E,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC;AAEnD,QAAA,MAAM,eAAe;;;;EAInB,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC;AAEvD,QAAA,MAAM,uBAAuB;;;;EAI3B,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAEvE,uGAAuG;AACvG,QAAA,MAAM,sBAAsB;;;;;;;EAO1B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAErE,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyGf,CAAC;AACH,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AAE/C,6EAA6E;AAC7E,eAAO,MAAM,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,KAAkC,CAAC;AAEtF,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAOrD;AAED,eAAO,MAAM,aAAa,UAAW,SAAS,KAAG,UACyD,CAAC"}
package/dist/wire.js CHANGED
@@ -1,5 +1,4 @@
1
- import { Type } from "typebox";
2
- import { Value } from "typebox/value";
1
+ import { arr, bool, compile, int, lit, map, num, obj, oneOf, opt, str, union, unknown, } from "@earendil-works/pi-schema";
3
2
  import { DescriptionSchema } from "./contract.js";
4
3
  import { CHORD_ERROR_CODES, ChordError } from "./errors.js";
5
4
  // JSON frames between two hosts (or a host and a client). Ids are chosen by the side that creates the hold, call or
@@ -20,46 +19,48 @@ import { CHORD_ERROR_CODES, ChordError } from "./errors.js";
20
19
  * (`LinkOptions.onProtocolMismatch`).
21
20
  */
22
21
  export const PROTOCOL_VERSION = 4;
23
- const Id = Type.Integer({ minimum: 1 });
24
- const Name = Type.String({ minLength: 1 });
25
- const Reload = Type.Integer({ minimum: 1 });
26
- /** Arrays a sender may pass as readonly. */
27
- const List = (item) => Type.Immutable(Type.Array(item));
28
- const RootRefSchema = Type.Object({ rootId: Name, codeVersion: Type.Integer({ minimum: 1 }) });
29
- const WireErrorSchema = Type.Object({
30
- code: Type.Enum(CHORD_ERROR_CODES),
31
- message: Type.String(),
32
- reason: Type.Optional(Type.String()),
22
+ const Id = int({ minimum: 1 });
23
+ const Name = str({ minLength: 1 });
24
+ const Reload = int({ minimum: 1 });
25
+ /** Arrays a sender may pass as readonly: the same schema, a readonly type. */
26
+ const List = (item) => arr(item);
27
+ /** An object that admits fields it does not name (a newer peer's), as every frame does. */
28
+ const Open = (properties) => obj(properties, { open: true });
29
+ const RootRefSchema = Open({ rootId: Name, codeVersion: int({ minimum: 1 }) });
30
+ const WireErrorSchema = Open({
31
+ code: oneOf(CHORD_ERROR_CODES),
32
+ message: str(),
33
+ reason: opt(str()),
33
34
  });
34
- const WireReloadOptionsSchema = Type.Object({
35
- remove: Type.Optional(List(Type.String())),
36
- gateDeadline: Type.Optional(Type.Number()),
37
- retireDeadline: Type.Optional(Type.Number()),
35
+ const WireReloadOptionsSchema = Open({
36
+ remove: opt(List(str())),
37
+ gateDeadline: opt(num()),
38
+ retireDeadline: opt(num()),
38
39
  });
39
40
  /** A child's prepared reload, sent with its vote (same fields as `ReloadReport`, without children). */
40
- const WireReloadReportSchema = Type.Object({
41
- codeVersion: Type.Integer(),
42
- previous: Type.Integer(),
43
- changed: List(Type.String()),
44
- removed: List(Type.String()),
45
- prepared: List(Type.String()),
46
- gated: List(Type.String()),
41
+ const WireReloadReportSchema = Open({
42
+ codeVersion: int(),
43
+ previous: int(),
44
+ changed: List(str()),
45
+ removed: List(str()),
46
+ prepared: List(str()),
47
+ gated: List(str()),
47
48
  });
48
- const FrameSchema = Type.Union([
49
- Type.Object({
50
- t: Type.Literal("hello"),
49
+ const FrameSchema = union([
50
+ Open({
51
+ t: lit("hello"),
51
52
  /** The link protocol version (`PROTOCOL_VERSION`; absent: 1). Peers of another version close the link. */
52
- protocol: Type.Optional(Type.Integer({ minimum: 1 })),
53
+ protocol: opt(int({ minimum: 1 })),
53
54
  name: Name,
54
- kind: Type.Union([Type.Literal("host"), Type.Literal("client")]),
55
- codeVersion: Type.Integer({ minimum: 0 }),
55
+ kind: union([lit("host"), lit("client")]),
56
+ codeVersion: int({ minimum: 0 }),
56
57
  /** The sender acknowledges what it receives (`ack`). Flow control applies only when both hellos say so. */
57
- acks: Type.Optional(Type.Boolean()),
58
+ acks: opt(bool()),
58
59
  }),
59
60
  /** Every frame received so far except `ack` frames, counted from the link's start, once processed. */
60
- Type.Object({ t: Type.Literal("ack"), n: Type.Integer({ minimum: 1 }) }),
61
- Type.Object({
62
- t: Type.Literal("hold"),
61
+ Open({ t: lit("ack"), n: int({ minimum: 1 }) }),
62
+ Open({
63
+ t: lit("hold"),
63
64
  id: Id,
64
65
  /**
65
66
  * Target host name, resolved by the consumer from the token's `host` and `input`. Relays route on it after
@@ -69,90 +70,90 @@ const FrameSchema = Type.Union([
69
70
  /** The consumer's contract token; the provider checks that it covers it. Remote tokens carry `host`. */
70
71
  token: DescriptionSchema,
71
72
  /** Normalized with the consumer's contract. */
72
- input: Type.Unknown(),
73
+ input: unknown(),
73
74
  /** A forwarded principal. Honored only on frames from the parent link. */
74
- principal: Type.Optional(Type.Unknown()),
75
+ principal: opt(unknown()),
75
76
  /**
76
77
  * The client connection the hold comes from: an opaque id the server assigned to it, forwarded by relays. Honored
77
78
  * only on frames from the parent link; present means the hold is a client's (not a reload participant).
78
79
  */
79
- origin: Type.Optional(Name),
80
+ origin: opt(Name),
80
81
  /** False: no state for this hold until `sub` (a method-only binding). */
81
- state: Type.Optional(Type.Literal(false)),
82
+ state: opt(lit(false)),
82
83
  /** The consumer already has values (a re-hold after a link loss): its unit is not urgent. */
83
- again: Type.Optional(Type.Literal(true)),
84
+ again: opt(lit(true)),
84
85
  }),
85
- Type.Object({ t: Type.Literal("release"), id: Id }),
86
- Type.Object({
87
- t: Type.Literal("shape"),
86
+ Open({ t: lit("release"), id: Id }),
87
+ Open({
88
+ t: lit("shape"),
88
89
  id: Id,
89
- variant: Type.Optional(Type.String()),
90
- members: List(Type.String()),
91
- contract: Type.String(),
90
+ variant: opt(str()),
91
+ members: List(str()),
92
+ contract: str(),
92
93
  /** The state members whose snapshots follow this frame; the consumer applies the shape once they are here. */
93
94
  state: List(Name),
94
95
  }),
95
- Type.Object({ t: Type.Literal("gone"), id: Id, error: WireErrorSchema }),
96
- Type.Object({
97
- t: Type.Literal("call"),
96
+ Open({ t: lit("gone"), id: Id, error: WireErrorSchema }),
97
+ Open({
98
+ t: lit("call"),
98
99
  id: Id,
99
100
  hold: Id,
100
101
  member: Name,
101
- args: Type.Optional(Type.Unknown()),
102
+ args: opt(unknown()),
102
103
  /** Absent: the receiving host starts a root (browsers never carry roots). */
103
- root: Type.Optional(RootRefSchema),
104
+ root: opt(RootRefSchema),
104
105
  }),
105
- Type.Object({
106
- t: Type.Literal("result"),
106
+ Open({
107
+ t: lit("result"),
107
108
  id: Id,
108
- value: Type.Optional(Type.Unknown()),
109
- error: Type.Optional(WireErrorSchema),
109
+ value: opt(unknown()),
110
+ error: opt(WireErrorSchema),
110
111
  }),
111
- Type.Object({ t: Type.Literal("cancel"), id: Id }),
112
+ Open({ t: lit("cancel"), id: Id }),
112
113
  /** Starts the state of a hold opened with `state: false` (answered with a unit). */
113
- Type.Object({ t: Type.Literal("sub"), hold: Id }),
114
+ Open({ t: lit("sub"), hold: Id }),
114
115
  /** Stops the state of a hold. */
115
- Type.Object({ t: Type.Literal("unsub"), hold: Id }),
116
+ Open({ t: lit("unsub"), hold: Id }),
116
117
  /** Sends member `m` again as a reset (a relay that had to drop what waited for it). */
117
- Type.Object({ t: Type.Literal("resync"), hold: Id, m: Name }),
118
- Type.Object({
119
- t: Type.Literal("state"),
118
+ Open({ t: lit("resync"), hold: Id, m: Name }),
119
+ Open({
120
+ t: lit("state"),
120
121
  hold: Id,
121
122
  m: Name,
122
123
  /** `snap`/`reset` without `value`: the value is `undefined`. */
123
- as: Type.Union([Type.Literal("snap"), Type.Literal("reset"), Type.Literal("ops"), Type.Literal("error")]),
124
- value: Type.Optional(Type.Unknown()),
124
+ as: union([lit("snap"), lit("reset"), lit("ops"), lit("error")]),
125
+ value: opt(unknown()),
125
126
  /** Encoded with the stream's delta encoder; the decoder validates each op. */
126
- ops: Type.Optional(List(List(Type.Unknown()))),
127
- error: Type.Optional(WireErrorSchema),
127
+ ops: opt(List(List(unknown()))),
128
+ error: opt(WireErrorSchema),
128
129
  }),
129
- Type.Object({ t: Type.Literal("ping"), n: Type.Integer() }),
130
- Type.Object({ t: Type.Literal("pong"), n: Type.Integer() }),
130
+ Open({ t: lit("ping"), n: int() }),
131
+ Open({ t: lit("pong"), n: int() }),
131
132
  /** Ends the link (consumed by the link itself). `reason: "protocol-version <n>"`: the sender speaks version n. */
132
- Type.Object({ t: Type.Literal("bye"), reason: Type.Optional(Type.String()) }),
133
+ Open({ t: lit("bye"), reason: opt(str()) }),
133
134
  /** The root ended at its origin: its leases on objects end (sent on every link the root's calls used). */
134
- Type.Object({ t: Type.Literal("root_end"), rootId: Name }),
135
- Type.Object({ t: Type.Literal("invalidate"), pattern: Type.Record(Type.String(), Type.Unknown()) }),
136
- Type.Object({
137
- t: Type.Literal("prepare"),
135
+ Open({ t: lit("root_end"), rootId: Name }),
136
+ Open({ t: lit("invalidate"), pattern: map(unknown()) }),
137
+ Open({
138
+ t: lit("prepare"),
138
139
  reload: Reload,
139
- codeVersion: Type.Integer({ minimum: 1 }),
140
- plugins: List(Type.String()),
140
+ codeVersion: int({ minimum: 1 }),
141
+ plugins: List(str()),
141
142
  options: WireReloadOptionsSchema,
142
143
  }),
143
- Type.Object({
144
- t: Type.Literal("vote"),
144
+ Open({
145
+ t: lit("vote"),
145
146
  reload: Reload,
146
- error: Type.Optional(WireErrorSchema),
147
- report: Type.Optional(WireReloadReportSchema),
147
+ error: opt(WireErrorSchema),
148
+ report: opt(WireReloadReportSchema),
148
149
  }),
149
- Type.Object({ t: Type.Literal("commit"), reload: Reload }),
150
+ Open({ t: lit("commit"), reload: Reload }),
150
151
  /** The parent dropped `codeVersion`: roots of it may still come from there no longer. */
151
- Type.Object({ t: Type.Literal("retire"), codeVersion: Type.Integer({ minimum: 1 }) }),
152
- Type.Object({ t: Type.Literal("abort"), reload: Reload }),
152
+ Open({ t: lit("retire"), codeVersion: int({ minimum: 1 }) }),
153
+ Open({ t: lit("abort"), reload: Reload }),
153
154
  ]);
154
155
  /** A frame that passes validation; anything else is a protocol violation. */
155
- export const isFrame = (value) => Value.Check(FrameSchema, value);
156
+ export const isFrame = compile(FrameSchema).check;
156
157
  export function toWireError(error) {
157
158
  if (error instanceof ChordError) {
158
159
  return error.reason === undefined