@earendil-works/chord 1.5.0 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1853) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/README.md +50 -90
  3. package/dist/contracts/accepts.d.ts +81 -0
  4. package/dist/contracts/accepts.d.ts.map +1 -0
  5. package/dist/contracts/accepts.js.map +1 -0
  6. package/dist/contracts/contract.d.ts +121 -0
  7. package/dist/contracts/contract.d.ts.map +1 -0
  8. package/dist/contracts/contract.js.map +1 -0
  9. package/dist/contracts/declare.d.ts.map +1 -0
  10. package/dist/contracts/declare.js.map +1 -0
  11. package/dist/contracts/evolve.d.ts.map +1 -0
  12. package/dist/contracts/evolve.js.map +1 -0
  13. package/dist/contracts/fingerprint.d.ts +16 -0
  14. package/dist/contracts/fingerprint.d.ts.map +1 -0
  15. package/dist/contracts/fingerprint.js.map +1 -0
  16. package/dist/contracts/history.d.ts.map +1 -0
  17. package/dist/contracts/history.js.map +1 -0
  18. package/dist/contracts/host-kind.d.ts.map +1 -0
  19. package/dist/contracts/host-kind.js.map +1 -0
  20. package/dist/contracts/index.d.ts.map +1 -0
  21. package/dist/contracts/index.js.map +1 -0
  22. package/dist/contracts/internal.d.ts.map +1 -0
  23. package/dist/contracts/internal.js.map +1 -0
  24. package/dist/contracts/names.d.ts.map +1 -0
  25. package/dist/contracts/names.js.map +1 -0
  26. package/dist/contracts/params.d.ts +28 -0
  27. package/dist/contracts/params.d.ts.map +1 -0
  28. package/dist/contracts/params.js.map +1 -0
  29. package/dist/contracts/schema.d.ts.map +1 -0
  30. package/dist/contracts/schema.js.map +1 -0
  31. package/dist/contracts/snapshot.d.ts +16 -0
  32. package/dist/contracts/snapshot.d.ts.map +1 -0
  33. package/dist/contracts/snapshot.js +167 -0
  34. package/dist/contracts/snapshot.js.map +1 -0
  35. package/dist/data/args.d.ts +50 -0
  36. package/dist/data/args.d.ts.map +1 -0
  37. package/dist/data/args.js.map +1 -0
  38. package/dist/data/errors.d.ts +80 -0
  39. package/dist/data/errors.d.ts.map +1 -0
  40. package/dist/data/errors.js +116 -0
  41. package/dist/data/errors.js.map +1 -0
  42. package/dist/data/failure.d.ts.map +1 -0
  43. package/dist/data/failure.js +77 -0
  44. package/dist/data/failure.js.map +1 -0
  45. package/dist/data/index.d.ts +4 -0
  46. package/dist/data/index.d.ts.map +1 -0
  47. package/dist/data/index.js +5 -0
  48. package/dist/data/index.js.map +1 -0
  49. package/dist/data/internal.d.ts +7 -0
  50. package/dist/data/internal.d.ts.map +1 -0
  51. package/dist/data/internal.js +8 -0
  52. package/dist/data/internal.js.map +1 -0
  53. package/dist/data/params.d.ts +20 -0
  54. package/dist/data/params.d.ts.map +1 -0
  55. package/dist/data/params.js.map +1 -0
  56. package/dist/data/principal.d.ts +22 -0
  57. package/dist/data/principal.d.ts.map +1 -0
  58. package/dist/data/principal.js +49 -0
  59. package/dist/data/principal.js.map +1 -0
  60. package/dist/data/validator.d.ts +12 -0
  61. package/dist/data/validator.d.ts.map +1 -0
  62. package/dist/data/validator.js +35 -0
  63. package/dist/data/validator.js.map +1 -0
  64. package/dist/documents/address-source.d.ts +20 -0
  65. package/dist/documents/address-source.d.ts.map +1 -0
  66. package/dist/documents/address-source.js.map +1 -0
  67. package/dist/documents/definition.d.ts +84 -0
  68. package/dist/documents/definition.d.ts.map +1 -0
  69. package/dist/documents/definition.js +74 -0
  70. package/dist/documents/definition.js.map +1 -0
  71. package/dist/documents/documents.d.ts +126 -0
  72. package/dist/documents/documents.d.ts.map +1 -0
  73. package/dist/documents/documents.js +248 -0
  74. package/dist/documents/documents.js.map +1 -0
  75. package/dist/documents/fence.d.ts.map +1 -0
  76. package/dist/documents/fence.js.map +1 -0
  77. package/dist/documents/handles.d.ts +76 -0
  78. package/dist/documents/handles.d.ts.map +1 -0
  79. package/dist/documents/handles.js.map +1 -0
  80. package/dist/documents/index.d.ts.map +1 -0
  81. package/dist/documents/index.js.map +1 -0
  82. package/dist/documents/internal.d.ts +9 -0
  83. package/dist/documents/internal.d.ts.map +1 -0
  84. package/dist/documents/internal.js.map +1 -0
  85. package/dist/documents/keyed-slot.d.ts +103 -0
  86. package/dist/documents/keyed-slot.d.ts.map +1 -0
  87. package/dist/documents/keyed-slot.js +395 -0
  88. package/dist/documents/keyed-slot.js.map +1 -0
  89. package/dist/documents/line.d.ts.map +1 -0
  90. package/dist/documents/line.js.map +1 -0
  91. package/dist/documents/persistence.d.ts +104 -0
  92. package/dist/documents/persistence.d.ts.map +1 -0
  93. package/dist/documents/persistence.js +129 -0
  94. package/dist/documents/persistence.js.map +1 -0
  95. package/dist/documents/residency.d.ts +31 -0
  96. package/dist/documents/residency.d.ts.map +1 -0
  97. package/dist/documents/residency.js.map +1 -0
  98. package/dist/documents/slot.d.ts +109 -0
  99. package/dist/documents/slot.d.ts.map +1 -0
  100. package/dist/documents/slot.js +181 -0
  101. package/dist/documents/slot.js.map +1 -0
  102. package/dist/documents/transaction.d.ts +143 -0
  103. package/dist/documents/transaction.d.ts.map +1 -0
  104. package/dist/documents/transaction.js +442 -0
  105. package/dist/documents/transaction.js.map +1 -0
  106. package/dist/host/activity.d.ts +31 -0
  107. package/dist/host/activity.d.ts.map +1 -0
  108. package/dist/host/activity.js +40 -0
  109. package/dist/host/activity.js.map +1 -0
  110. package/dist/host/adapted.d.ts +49 -0
  111. package/dist/host/adapted.d.ts.map +1 -0
  112. package/dist/host/adapted.js.map +1 -0
  113. package/dist/host/attempt.d.ts +308 -0
  114. package/dist/host/attempt.d.ts.map +1 -0
  115. package/dist/host/attempt.js +1199 -0
  116. package/dist/host/attempt.js.map +1 -0
  117. package/dist/host/backoff.d.ts.map +1 -0
  118. package/dist/host/backoff.js.map +1 -0
  119. package/dist/host/ctx.d.ts +94 -0
  120. package/dist/host/ctx.d.ts.map +1 -0
  121. package/dist/host/ctx.js +200 -0
  122. package/dist/host/ctx.js.map +1 -0
  123. package/dist/host/deadline.d.ts.map +1 -0
  124. package/dist/host/deadline.js.map +1 -0
  125. package/dist/host/dependencies.d.ts.map +1 -0
  126. package/dist/host/dependencies.js.map +1 -0
  127. package/dist/host/destination.d.ts +48 -0
  128. package/dist/host/destination.d.ts.map +1 -0
  129. package/dist/host/destination.js.map +1 -0
  130. package/dist/host/facet.d.ts +84 -0
  131. package/dist/host/facet.d.ts.map +1 -0
  132. package/dist/host/facet.js.map +1 -0
  133. package/dist/host/follow.d.ts +52 -0
  134. package/dist/host/follow.d.ts.map +1 -0
  135. package/dist/host/follow.js.map +1 -0
  136. package/dist/host/host.d.ts +571 -0
  137. package/dist/host/host.d.ts.map +1 -0
  138. package/dist/host/host.js +1318 -0
  139. package/dist/host/host.js.map +1 -0
  140. package/dist/host/index.d.ts +17 -0
  141. package/dist/host/index.d.ts.map +1 -0
  142. package/dist/host/index.js.map +1 -0
  143. package/dist/host/internal.d.ts +11 -0
  144. package/dist/host/internal.d.ts.map +1 -0
  145. package/dist/host/internal.js +9 -0
  146. package/dist/host/internal.js.map +1 -0
  147. package/dist/host/members.d.ts +50 -0
  148. package/dist/host/members.d.ts.map +1 -0
  149. package/dist/host/members.js.map +1 -0
  150. package/dist/host/native.d.ts +64 -0
  151. package/dist/host/native.d.ts.map +1 -0
  152. package/dist/host/native.js +126 -0
  153. package/dist/host/native.js.map +1 -0
  154. package/dist/host/object.d.ts +331 -0
  155. package/dist/host/object.d.ts.map +1 -0
  156. package/dist/host/object.js +1296 -0
  157. package/dist/host/object.js.map +1 -0
  158. package/dist/host/old-work.d.ts +34 -0
  159. package/dist/host/old-work.d.ts.map +1 -0
  160. package/dist/host/old-work.js +52 -0
  161. package/dist/host/old-work.js.map +1 -0
  162. package/dist/host/parked.d.ts +23 -0
  163. package/dist/host/parked.d.ts.map +1 -0
  164. package/dist/host/parked.js.map +1 -0
  165. package/dist/host/presence.d.ts +34 -0
  166. package/dist/host/presence.d.ts.map +1 -0
  167. package/dist/host/presence.js.map +1 -0
  168. package/dist/host/readiness.d.ts +27 -0
  169. package/dist/host/readiness.d.ts.map +1 -0
  170. package/dist/host/readiness.js +134 -0
  171. package/dist/host/readiness.js.map +1 -0
  172. package/dist/host/ref-state.d.ts +53 -0
  173. package/dist/host/ref-state.d.ts.map +1 -0
  174. package/dist/host/ref-state.js +83 -0
  175. package/dist/host/ref-state.js.map +1 -0
  176. package/dist/host/reference-keys.d.ts +36 -0
  177. package/dist/host/reference-keys.d.ts.map +1 -0
  178. package/dist/host/reference-keys.js +168 -0
  179. package/dist/host/reference-keys.js.map +1 -0
  180. package/dist/host/reference-source.d.ts +65 -0
  181. package/dist/host/reference-source.d.ts.map +1 -0
  182. package/dist/host/reference-source.js +285 -0
  183. package/dist/host/reference-source.js.map +1 -0
  184. package/dist/host/reference.d.ts +321 -0
  185. package/dist/host/reference.d.ts.map +1 -0
  186. package/dist/host/reference.js +797 -0
  187. package/dist/host/reference.js.map +1 -0
  188. package/dist/host/reload-cycle.d.ts +16 -0
  189. package/dist/host/reload-cycle.d.ts.map +1 -0
  190. package/dist/host/reload-cycle.js +81 -0
  191. package/dist/host/reload-cycle.js.map +1 -0
  192. package/dist/host/retry-on.d.ts.map +1 -0
  193. package/dist/host/retry-on.js.map +1 -0
  194. package/dist/host/revocation.d.ts +16 -0
  195. package/dist/host/revocation.d.ts.map +1 -0
  196. package/dist/host/revocation.js.map +1 -0
  197. package/dist/host/root.d.ts +37 -0
  198. package/dist/host/root.d.ts.map +1 -0
  199. package/dist/host/root.js +68 -0
  200. package/dist/host/root.js.map +1 -0
  201. package/dist/host/route.d.ts +64 -0
  202. package/dist/host/route.d.ts.map +1 -0
  203. package/dist/host/route.js +227 -0
  204. package/dist/host/route.js.map +1 -0
  205. package/dist/host/routines.d.ts +78 -0
  206. package/dist/host/routines.d.ts.map +1 -0
  207. package/dist/host/routines.js +398 -0
  208. package/dist/host/routines.js.map +1 -0
  209. package/dist/host/sleep.d.ts +9 -0
  210. package/dist/host/sleep.d.ts.map +1 -0
  211. package/dist/host/sleep.js.map +1 -0
  212. package/dist/host/staging.d.ts +94 -0
  213. package/dist/host/staging.d.ts.map +1 -0
  214. package/dist/host/staging.js +304 -0
  215. package/dist/host/staging.js.map +1 -0
  216. package/dist/host/unbound-clock.d.ts +23 -0
  217. package/dist/host/unbound-clock.d.ts.map +1 -0
  218. package/dist/host/unbound-clock.js +58 -0
  219. package/dist/host/unbound-clock.js.map +1 -0
  220. package/dist/host/unbound.d.ts +37 -0
  221. package/dist/host/unbound.d.ts.map +1 -0
  222. package/dist/host/unbound.js +88 -0
  223. package/dist/host/unbound.js.map +1 -0
  224. package/dist/host/uuid.d.ts.map +1 -0
  225. package/dist/host/uuid.js.map +1 -0
  226. package/dist/index.d.ts +29 -19
  227. package/dist/index.d.ts.map +1 -1
  228. package/dist/index.js +20 -10
  229. package/dist/index.js.map +1 -1
  230. package/dist/jobs/definition.d.ts.map +1 -0
  231. package/dist/jobs/definition.js.map +1 -0
  232. package/dist/jobs/index.d.ts.map +1 -0
  233. package/dist/jobs/index.js.map +1 -0
  234. package/dist/jobs/internal.d.ts.map +1 -0
  235. package/dist/jobs/internal.js.map +1 -0
  236. package/dist/jobs/job.d.ts +149 -0
  237. package/dist/jobs/job.d.ts.map +1 -0
  238. package/dist/jobs/job.js +387 -0
  239. package/dist/jobs/job.js.map +1 -0
  240. package/dist/jobs/persisted.d.ts +38 -0
  241. package/dist/jobs/persisted.d.ts.map +1 -0
  242. package/dist/jobs/persisted.js.map +1 -0
  243. package/dist/jobs/records.d.ts +231 -0
  244. package/dist/jobs/records.d.ts.map +1 -0
  245. package/dist/jobs/records.js +871 -0
  246. package/dist/jobs/records.js.map +1 -0
  247. package/dist/jobs/run-states.d.ts +69 -0
  248. package/dist/jobs/run-states.d.ts.map +1 -0
  249. package/dist/jobs/run-states.js +228 -0
  250. package/dist/jobs/run-states.js.map +1 -0
  251. package/dist/jobs/run.d.ts +117 -0
  252. package/dist/jobs/run.d.ts.map +1 -0
  253. package/dist/jobs/run.js +204 -0
  254. package/dist/jobs/run.js.map +1 -0
  255. package/dist/jobs/running.d.ts +44 -0
  256. package/dist/jobs/running.d.ts.map +1 -0
  257. package/dist/jobs/running.js.map +1 -0
  258. package/dist/jobs/stored.d.ts +63 -0
  259. package/dist/jobs/stored.d.ts.map +1 -0
  260. package/dist/jobs/stored.js.map +1 -0
  261. package/dist/link/binary.d.ts.map +1 -0
  262. package/dist/link/binary.js +544 -0
  263. package/dist/link/binary.js.map +1 -0
  264. package/dist/link/channel.d.ts +68 -0
  265. package/dist/link/channel.d.ts.map +1 -0
  266. package/dist/link/channel.js +215 -0
  267. package/dist/link/channel.js.map +1 -0
  268. package/dist/link/errors.d.ts.map +1 -0
  269. package/dist/link/errors.js.map +1 -0
  270. package/dist/link/index.d.ts.map +1 -0
  271. package/dist/link/index.js.map +1 -0
  272. package/dist/link/internal.d.ts.map +1 -0
  273. package/dist/link/internal.js.map +1 -0
  274. package/dist/link/ipc.d.ts.map +1 -0
  275. package/dist/link/ipc.js.map +1 -0
  276. package/dist/link/link.d.ts.map +1 -0
  277. package/dist/link/link.js.map +1 -0
  278. package/dist/link/message.d.ts +262 -0
  279. package/dist/link/message.d.ts.map +1 -0
  280. package/dist/link/message.js +156 -0
  281. package/dist/link/message.js.map +1 -0
  282. package/dist/link/part.d.ts +80 -0
  283. package/dist/link/part.d.ts.map +1 -0
  284. package/dist/link/part.js +165 -0
  285. package/dist/link/part.js.map +1 -0
  286. package/dist/link/text.d.ts.map +1 -0
  287. package/dist/link/text.js +355 -0
  288. package/dist/link/text.js.map +1 -0
  289. package/dist/link/values.d.ts.map +1 -0
  290. package/dist/link/values.js +121 -0
  291. package/dist/link/values.js.map +1 -0
  292. package/dist/link/websocket.d.ts.map +1 -0
  293. package/dist/link/websocket.js.map +1 -0
  294. package/dist/node/app/app.d.ts +269 -0
  295. package/dist/node/app/app.d.ts.map +1 -0
  296. package/dist/node/app/app.js +513 -0
  297. package/dist/node/app/app.js.map +1 -0
  298. package/dist/node/app/archive.d.ts +37 -0
  299. package/dist/node/app/archive.d.ts.map +1 -0
  300. package/dist/node/app/archive.js +204 -0
  301. package/dist/node/app/archive.js.map +1 -0
  302. package/dist/node/app/blobs.d.ts +23 -0
  303. package/dist/node/app/blobs.d.ts.map +1 -0
  304. package/dist/node/app/blobs.js +64 -0
  305. package/dist/node/app/blobs.js.map +1 -0
  306. package/dist/node/app/data.d.ts +35 -0
  307. package/dist/node/app/data.d.ts.map +1 -0
  308. package/dist/node/app/data.js +44 -0
  309. package/dist/node/app/data.js.map +1 -0
  310. package/dist/node/app/ephemeral-sessions.d.ts +20 -0
  311. package/dist/node/app/ephemeral-sessions.d.ts.map +1 -0
  312. package/dist/node/app/ephemeral-sessions.js +69 -0
  313. package/dist/node/app/ephemeral-sessions.js.map +1 -0
  314. package/dist/node/app/ephemeral.d.ts +11 -0
  315. package/dist/node/app/ephemeral.d.ts.map +1 -0
  316. package/dist/node/app/ephemeral.js +34 -0
  317. package/dist/node/app/ephemeral.js.map +1 -0
  318. package/dist/node/app/files-copy.d.ts +13 -0
  319. package/dist/node/app/files-copy.d.ts.map +1 -0
  320. package/dist/node/app/files-copy.js +86 -0
  321. package/dist/node/app/files-copy.js.map +1 -0
  322. package/dist/node/app/files-entry.d.ts +4 -0
  323. package/dist/node/app/files-entry.d.ts.map +1 -0
  324. package/dist/node/app/files-entry.js +7 -0
  325. package/dist/node/app/files-entry.js.map +1 -0
  326. package/dist/node/app/files-index.d.ts +180 -0
  327. package/dist/node/app/files-index.d.ts.map +1 -0
  328. package/dist/node/app/files-index.js +535 -0
  329. package/dist/node/app/files-index.js.map +1 -0
  330. package/dist/node/app/files.d.ts +363 -0
  331. package/dist/node/app/files.d.ts.map +1 -0
  332. package/dist/node/app/files.js +368 -0
  333. package/dist/node/app/files.js.map +1 -0
  334. package/dist/node/app/folder-views.d.ts +21 -0
  335. package/dist/node/app/folder-views.d.ts.map +1 -0
  336. package/dist/node/app/folder-views.js +55 -0
  337. package/dist/node/app/folder-views.js.map +1 -0
  338. package/dist/node/app/index.d.ts +12 -0
  339. package/dist/node/app/index.d.ts.map +1 -0
  340. package/dist/node/app/index.js +15 -0
  341. package/dist/node/app/index.js.map +1 -0
  342. package/dist/node/app/info.d.ts +66 -0
  343. package/dist/node/app/info.d.ts.map +1 -0
  344. package/dist/node/app/info.js +37 -0
  345. package/dist/node/app/info.js.map +1 -0
  346. package/dist/node/app/invite.d.ts +5 -0
  347. package/dist/node/app/invite.d.ts.map +1 -0
  348. package/dist/node/app/invite.js +64 -0
  349. package/dist/node/app/invite.js.map +1 -0
  350. package/dist/node/app/layout.d.ts +36 -0
  351. package/dist/node/app/layout.d.ts.map +1 -0
  352. package/dist/node/app/layout.js +87 -0
  353. package/dist/node/app/layout.js.map +1 -0
  354. package/dist/node/app/owner.d.ts +31 -0
  355. package/dist/node/app/owner.d.ts.map +1 -0
  356. package/dist/node/app/owner.js +104 -0
  357. package/dist/node/app/owner.js.map +1 -0
  358. package/dist/node/app/pairing.d.ts +55 -0
  359. package/dist/node/app/pairing.d.ts.map +1 -0
  360. package/dist/node/app/pairing.js +183 -0
  361. package/dist/node/app/pairing.js.map +1 -0
  362. package/dist/node/app/secrets.d.ts +16 -0
  363. package/dist/node/app/secrets.d.ts.map +1 -0
  364. package/dist/node/app/secrets.js +72 -0
  365. package/dist/node/app/secrets.js.map +1 -0
  366. package/dist/node/app/sessions.d.ts +72 -0
  367. package/dist/node/app/sessions.d.ts.map +1 -0
  368. package/dist/node/app/sessions.js +222 -0
  369. package/dist/node/app/sessions.js.map +1 -0
  370. package/dist/node/app/tar.d.ts +24 -0
  371. package/dist/node/app/tar.d.ts.map +1 -0
  372. package/dist/node/app/tar.js +167 -0
  373. package/dist/node/app/tar.js.map +1 -0
  374. package/dist/node/app/uploads.d.ts +37 -0
  375. package/dist/node/app/uploads.d.ts.map +1 -0
  376. package/dist/node/app/uploads.js +157 -0
  377. package/dist/node/app/uploads.js.map +1 -0
  378. package/dist/node/app/users.d.ts +37 -0
  379. package/dist/node/app/users.d.ts.map +1 -0
  380. package/dist/node/app/users.js +62 -0
  381. package/dist/node/app/users.js.map +1 -0
  382. package/dist/node/app/worker.d.ts +18 -0
  383. package/dist/node/app/worker.d.ts.map +1 -0
  384. package/dist/node/app/worker.js +84 -0
  385. package/dist/node/app/worker.js.map +1 -0
  386. package/dist/node/compression.d.ts +7 -0
  387. package/dist/node/compression.d.ts.map +1 -0
  388. package/dist/node/compression.js +25 -0
  389. package/dist/node/compression.js.map +1 -0
  390. package/dist/node/http/admission.d.ts.map +1 -0
  391. package/dist/node/http/admission.js.map +1 -0
  392. package/dist/node/http/authenticate.d.ts +21 -0
  393. package/dist/node/http/authenticate.d.ts.map +1 -0
  394. package/dist/node/http/authenticate.js +34 -0
  395. package/dist/node/http/authenticate.js.map +1 -0
  396. package/dist/node/http/cookies.d.ts +32 -0
  397. package/dist/node/http/cookies.d.ts.map +1 -0
  398. package/dist/node/http/cookies.js +70 -0
  399. package/dist/node/http/cookies.js.map +1 -0
  400. package/dist/node/http/file.d.ts.map +1 -0
  401. package/dist/node/http/file.js.map +1 -0
  402. package/dist/node/http/headers.d.ts.map +1 -0
  403. package/dist/node/http/headers.js +136 -0
  404. package/dist/node/http/headers.js.map +1 -0
  405. package/dist/node/http/http.d.ts +111 -0
  406. package/dist/node/http/http.d.ts.map +1 -0
  407. package/dist/node/http/http.js +524 -0
  408. package/dist/node/http/http.js.map +1 -0
  409. package/dist/node/http/incoming.d.ts.map +1 -0
  410. package/dist/node/http/incoming.js.map +1 -0
  411. package/dist/node/http/index.d.ts +11 -0
  412. package/dist/node/http/index.d.ts.map +1 -0
  413. package/dist/node/http/index.js +12 -0
  414. package/dist/node/http/index.js.map +1 -0
  415. package/dist/node/http/node.d.ts.map +1 -0
  416. package/dist/node/http/node.js.map +1 -0
  417. package/dist/node/http/request.d.ts +60 -0
  418. package/dist/node/http/request.d.ts.map +1 -0
  419. package/dist/node/http/request.js +118 -0
  420. package/dist/node/http/request.js.map +1 -0
  421. package/dist/node/http/response.d.ts +63 -0
  422. package/dist/node/http/response.d.ts.map +1 -0
  423. package/dist/node/http/response.js.map +1 -0
  424. package/dist/node/http/router.d.ts +132 -0
  425. package/dist/node/http/router.d.ts.map +1 -0
  426. package/dist/node/http/router.js +267 -0
  427. package/dist/node/http/router.js.map +1 -0
  428. package/dist/node/http/upgrades.d.ts +61 -0
  429. package/dist/node/http/upgrades.d.ts.map +1 -0
  430. package/dist/node/http/upgrades.js +192 -0
  431. package/dist/node/http/upgrades.js.map +1 -0
  432. package/dist/node/plugins/base-inputs.d.ts +14 -0
  433. package/dist/node/plugins/base-inputs.d.ts.map +1 -0
  434. package/dist/node/plugins/base-inputs.js +33 -0
  435. package/dist/node/plugins/base-inputs.js.map +1 -0
  436. package/dist/node/plugins/build.d.ts +77 -0
  437. package/dist/node/plugins/build.d.ts.map +1 -0
  438. package/dist/node/plugins/build.js +576 -0
  439. package/dist/node/plugins/build.js.map +1 -0
  440. package/dist/node/plugins/css-modules.d.ts +13 -0
  441. package/dist/node/plugins/css-modules.d.ts.map +1 -0
  442. package/dist/node/plugins/css-modules.js +58 -0
  443. package/dist/node/plugins/css-modules.js.map +1 -0
  444. package/dist/node/plugins/discover.d.ts +67 -0
  445. package/dist/node/plugins/discover.d.ts.map +1 -0
  446. package/dist/node/plugins/discover.js +369 -0
  447. package/dist/node/plugins/discover.js.map +1 -0
  448. package/dist/node/plugins/evaluate.d.ts +33 -0
  449. package/dist/node/plugins/evaluate.d.ts.map +1 -0
  450. package/dist/node/plugins/evaluate.js +121 -0
  451. package/dist/node/plugins/evaluate.js.map +1 -0
  452. package/dist/node/plugins/index.d.ts +11 -0
  453. package/dist/node/plugins/index.d.ts.map +1 -0
  454. package/dist/node/plugins/index.js +13 -0
  455. package/dist/node/plugins/index.js.map +1 -0
  456. package/dist/node/plugins/install.d.ts +38 -0
  457. package/dist/node/plugins/install.d.ts.map +1 -0
  458. package/dist/node/plugins/install.js +213 -0
  459. package/dist/node/plugins/install.js.map +1 -0
  460. package/dist/node/plugins/plugins.d.ts +162 -0
  461. package/dist/node/plugins/plugins.d.ts.map +1 -0
  462. package/dist/node/plugins/plugins.js +244 -0
  463. package/dist/node/plugins/plugins.js.map +1 -0
  464. package/dist/node/plugins/runtime.d.ts +57 -0
  465. package/dist/node/plugins/runtime.d.ts.map +1 -0
  466. package/dist/node/plugins/runtime.js +92 -0
  467. package/dist/node/plugins/runtime.js.map +1 -0
  468. package/dist/node/plugins/stack.d.ts.map +1 -0
  469. package/dist/node/plugins/stack.js.map +1 -0
  470. package/dist/node/plugins/testing.d.ts +58 -0
  471. package/dist/node/plugins/testing.d.ts.map +1 -0
  472. package/dist/node/plugins/testing.js +210 -0
  473. package/dist/node/plugins/testing.js.map +1 -0
  474. package/dist/node/plugins/watcher.d.ts +69 -0
  475. package/dist/node/plugins/watcher.d.ts.map +1 -0
  476. package/dist/node/plugins/watcher.js +622 -0
  477. package/dist/node/plugins/watcher.js.map +1 -0
  478. package/dist/node/surfaces/bundle.d.ts +31 -0
  479. package/dist/node/surfaces/bundle.d.ts.map +1 -0
  480. package/dist/node/surfaces/bundle.js +118 -0
  481. package/dist/node/surfaces/bundle.js.map +1 -0
  482. package/dist/node/surfaces/current.d.ts +17 -0
  483. package/dist/node/surfaces/current.d.ts.map +1 -0
  484. package/dist/node/surfaces/current.js +54 -0
  485. package/dist/node/surfaces/current.js.map +1 -0
  486. package/dist/node/surfaces/index.d.ts +6 -0
  487. package/dist/node/surfaces/index.d.ts.map +1 -0
  488. package/dist/node/surfaces/index.js +6 -0
  489. package/dist/node/surfaces/index.js.map +1 -0
  490. package/dist/node/surfaces/published.d.ts +27 -0
  491. package/dist/node/surfaces/published.d.ts.map +1 -0
  492. package/dist/node/surfaces/published.js +142 -0
  493. package/dist/node/surfaces/published.js.map +1 -0
  494. package/dist/node/surfaces/served.d.ts +15 -0
  495. package/dist/node/surfaces/served.d.ts.map +1 -0
  496. package/dist/node/surfaces/served.js +42 -0
  497. package/dist/node/surfaces/served.js.map +1 -0
  498. package/dist/node/surfaces/surface-build.d.ts +53 -0
  499. package/dist/node/surfaces/surface-build.d.ts.map +1 -0
  500. package/dist/node/surfaces/surface-build.js +105 -0
  501. package/dist/node/surfaces/surface-build.js.map +1 -0
  502. package/dist/node/surfaces/tui.d.ts +40 -0
  503. package/dist/node/surfaces/tui.d.ts.map +1 -0
  504. package/dist/node/surfaces/tui.js +55 -0
  505. package/dist/node/surfaces/tui.js.map +1 -0
  506. package/dist/node/surfaces/web.d.ts +56 -0
  507. package/dist/node/surfaces/web.d.ts.map +1 -0
  508. package/dist/node/surfaces/web.js +108 -0
  509. package/dist/node/surfaces/web.js.map +1 -0
  510. package/dist/node/tui/actions.d.ts +49 -0
  511. package/dist/node/tui/actions.d.ts.map +1 -0
  512. package/dist/node/tui/actions.js +195 -0
  513. package/dist/node/tui/actions.js.map +1 -0
  514. package/dist/node/tui/credentials.d.ts +17 -0
  515. package/dist/node/tui/credentials.d.ts.map +1 -0
  516. package/dist/node/tui/credentials.js +54 -0
  517. package/dist/node/tui/credentials.js.map +1 -0
  518. package/dist/node/tui/filter.d.ts +5 -0
  519. package/dist/node/tui/filter.d.ts.map +1 -0
  520. package/dist/node/tui/filter.js +79 -0
  521. package/dist/node/tui/filter.js.map +1 -0
  522. package/dist/node/tui/index.d.ts +6 -0
  523. package/dist/node/tui/index.d.ts.map +1 -0
  524. package/dist/node/tui/index.js +6 -0
  525. package/dist/node/tui/index.js.map +1 -0
  526. package/dist/node/tui/launcher.d.ts +40 -0
  527. package/dist/node/tui/launcher.d.ts.map +1 -0
  528. package/dist/node/tui/launcher.js +439 -0
  529. package/dist/node/tui/launcher.js.map +1 -0
  530. package/dist/node/tui/pipe.d.ts +18 -0
  531. package/dist/node/tui/pipe.d.ts.map +1 -0
  532. package/dist/node/tui/pipe.js +134 -0
  533. package/dist/node/tui/pipe.js.map +1 -0
  534. package/dist/node/tui/sandbox.d.ts +54 -0
  535. package/dist/node/tui/sandbox.d.ts.map +1 -0
  536. package/dist/node/tui/sandbox.js +431 -0
  537. package/dist/node/tui/sandbox.js.map +1 -0
  538. package/dist/node/workers/base.d.ts +30 -0
  539. package/dist/node/workers/base.d.ts.map +1 -0
  540. package/dist/node/workers/base.js +255 -0
  541. package/dist/node/workers/base.js.map +1 -0
  542. package/dist/node/workers/child.d.ts +4 -0
  543. package/dist/node/workers/child.d.ts.map +1 -0
  544. package/dist/node/workers/child.js +6 -0
  545. package/dist/node/workers/child.js.map +1 -0
  546. package/dist/node/workers/control.d.ts +83 -0
  547. package/dist/node/workers/control.d.ts.map +1 -0
  548. package/dist/node/workers/control.js +77 -0
  549. package/dist/node/workers/control.js.map +1 -0
  550. package/dist/node/workers/index.d.ts +4 -0
  551. package/dist/node/workers/index.d.ts.map +1 -0
  552. package/dist/node/workers/index.js +7 -0
  553. package/dist/node/workers/index.js.map +1 -0
  554. package/dist/node/workers/lock.d.ts +30 -0
  555. package/dist/node/workers/lock.d.ts.map +1 -0
  556. package/dist/node/workers/lock.js +180 -0
  557. package/dist/node/workers/lock.js.map +1 -0
  558. package/dist/node/workers/main.d.ts +46 -0
  559. package/dist/node/workers/main.d.ts.map +1 -0
  560. package/dist/node/workers/main.js +230 -0
  561. package/dist/node/workers/main.js.map +1 -0
  562. package/dist/node/workers/process.d.ts +42 -0
  563. package/dist/node/workers/process.d.ts.map +1 -0
  564. package/dist/node/workers/process.js +125 -0
  565. package/dist/node/workers/process.js.map +1 -0
  566. package/dist/node/workers/workers.d.ts +122 -0
  567. package/dist/node/workers/workers.d.ts.map +1 -0
  568. package/dist/node/workers/workers.js +677 -0
  569. package/dist/node/workers/workers.js.map +1 -0
  570. package/dist/react/hooks.d.ts +43 -0
  571. package/dist/react/hooks.d.ts.map +1 -0
  572. package/dist/react/hooks.js +82 -0
  573. package/dist/react/hooks.js.map +1 -0
  574. package/dist/react/index.d.ts +3 -0
  575. package/dist/react/index.d.ts.map +1 -0
  576. package/dist/react/index.js +4 -0
  577. package/dist/react/index.js.map +1 -0
  578. package/dist/react/stores.d.ts +9 -0
  579. package/dist/react/stores.d.ts.map +1 -0
  580. package/dist/react/stores.js +37 -0
  581. package/dist/react/stores.js.map +1 -0
  582. package/dist/registries/contribution.d.ts.map +1 -0
  583. package/dist/registries/contribution.js.map +1 -0
  584. package/dist/registries/entries.d.ts.map +1 -0
  585. package/dist/registries/entries.js.map +1 -0
  586. package/dist/registries/index.d.ts.map +1 -0
  587. package/dist/registries/index.js.map +1 -0
  588. package/dist/registries/internal.d.ts.map +1 -0
  589. package/dist/registries/internal.js.map +1 -0
  590. package/dist/registries/record.d.ts +115 -0
  591. package/dist/registries/record.d.ts.map +1 -0
  592. package/dist/registries/record.js +283 -0
  593. package/dist/registries/record.js.map +1 -0
  594. package/dist/registries/registry.d.ts +74 -0
  595. package/dist/registries/registry.d.ts.map +1 -0
  596. package/dist/registries/registry.js.map +1 -0
  597. package/dist/registries/value.d.ts.map +1 -0
  598. package/dist/registries/value.js +224 -0
  599. package/dist/registries/value.js.map +1 -0
  600. package/dist/remote/calls.d.ts.map +1 -0
  601. package/dist/remote/calls.js.map +1 -0
  602. package/dist/remote/consumer.d.ts +43 -0
  603. package/dist/remote/consumer.d.ts.map +1 -0
  604. package/dist/remote/consumer.js +350 -0
  605. package/dist/remote/consumer.js.map +1 -0
  606. package/dist/remote/hold.d.ts +141 -0
  607. package/dist/remote/hold.d.ts.map +1 -0
  608. package/dist/remote/hold.js +579 -0
  609. package/dist/remote/hold.js.map +1 -0
  610. package/dist/remote/host-link.d.ts +77 -0
  611. package/dist/remote/host-link.d.ts.map +1 -0
  612. package/dist/remote/host-link.js +184 -0
  613. package/dist/remote/host-link.js.map +1 -0
  614. package/dist/remote/internal.d.ts.map +1 -0
  615. package/dist/remote/internal.js.map +1 -0
  616. package/dist/remote/path.d.ts.map +1 -0
  617. package/dist/remote/path.js.map +1 -0
  618. package/dist/remote/provider.d.ts +89 -0
  619. package/dist/remote/provider.d.ts.map +1 -0
  620. package/dist/remote/provider.js +597 -0
  621. package/dist/remote/provider.js.map +1 -0
  622. package/dist/remote/relay.d.ts +69 -0
  623. package/dist/remote/relay.d.ts.map +1 -0
  624. package/dist/remote/relay.js +219 -0
  625. package/dist/remote/relay.js.map +1 -0
  626. package/dist/remote/remote-object.d.ts +138 -0
  627. package/dist/remote/remote-object.d.ts.map +1 -0
  628. package/dist/remote/remote-object.js +492 -0
  629. package/dist/remote/remote-object.js.map +1 -0
  630. package/dist/remote/replica.d.ts +59 -0
  631. package/dist/remote/replica.d.ts.map +1 -0
  632. package/dist/remote/replica.js +125 -0
  633. package/dist/remote/replica.js.map +1 -0
  634. package/dist/sqlite/node.d.ts +9 -1
  635. package/dist/sqlite/node.d.ts.map +1 -1
  636. package/dist/sqlite/node.js +9 -3
  637. package/dist/sqlite/node.js.map +1 -1
  638. package/dist/state/batch.d.ts +64 -0
  639. package/dist/state/batch.d.ts.map +1 -0
  640. package/dist/state/batch.js +164 -0
  641. package/dist/state/batch.js.map +1 -0
  642. package/dist/state/derive.d.ts +52 -0
  643. package/dist/state/derive.d.ts.map +1 -0
  644. package/dist/state/derive.js +182 -0
  645. package/dist/state/derive.js.map +1 -0
  646. package/dist/state/index.d.ts +6 -0
  647. package/dist/state/index.d.ts.map +1 -0
  648. package/dist/state/index.js.map +1 -0
  649. package/dist/state/internal.d.ts.map +1 -0
  650. package/dist/state/internal.js.map +1 -0
  651. package/dist/state/native-source.d.ts +106 -0
  652. package/dist/state/native-source.d.ts.map +1 -0
  653. package/dist/state/native-source.js +240 -0
  654. package/dist/state/native-source.js.map +1 -0
  655. package/dist/state/watchable.d.ts +114 -0
  656. package/dist/state/watchable.d.ts.map +1 -0
  657. package/dist/state/watchable.js +156 -0
  658. package/dist/state/watchable.js.map +1 -0
  659. package/dist/state/writable.d.ts +32 -0
  660. package/dist/state/writable.d.ts.map +1 -0
  661. package/dist/state/writable.js.map +1 -0
  662. package/dist/store/adapter.d.ts +67 -0
  663. package/dist/store/adapter.d.ts.map +1 -0
  664. package/dist/store/adapter.js.map +1 -0
  665. package/dist/store/allocator.d.ts.map +1 -0
  666. package/dist/store/allocator.js.map +1 -0
  667. package/dist/store/applier.d.ts.map +1 -0
  668. package/dist/store/applier.js.map +1 -0
  669. package/dist/store/apply-batch.d.ts +12 -0
  670. package/dist/store/apply-batch.d.ts.map +1 -0
  671. package/dist/store/apply-batch.js.map +1 -0
  672. package/dist/store/archive.d.ts +32 -0
  673. package/dist/store/archive.d.ts.map +1 -0
  674. package/dist/store/archive.js +130 -0
  675. package/dist/store/archive.js.map +1 -0
  676. package/dist/store/backend.d.ts +10 -0
  677. package/dist/store/backend.d.ts.map +1 -0
  678. package/dist/store/backend.js.map +1 -0
  679. package/dist/store/catalog.d.ts +24 -0
  680. package/dist/store/catalog.d.ts.map +1 -0
  681. package/dist/store/catalog.js.map +1 -0
  682. package/dist/store/claims.d.ts.map +1 -0
  683. package/dist/store/claims.js.map +1 -0
  684. package/dist/store/columns.d.ts.map +1 -0
  685. package/dist/store/columns.js.map +1 -0
  686. package/dist/store/engine.d.ts +176 -0
  687. package/dist/store/engine.d.ts.map +1 -0
  688. package/dist/store/engine.js +283 -0
  689. package/dist/store/engine.js.map +1 -0
  690. package/dist/store/evaluate.d.ts +17 -0
  691. package/dist/store/evaluate.d.ts.map +1 -0
  692. package/dist/store/evaluate.js.map +1 -0
  693. package/dist/store/export.d.ts +17 -0
  694. package/dist/store/export.d.ts.map +1 -0
  695. package/dist/store/export.js +200 -0
  696. package/dist/store/export.js.map +1 -0
  697. package/dist/store/expression.d.ts +150 -0
  698. package/dist/store/expression.d.ts.map +1 -0
  699. package/dist/store/expression.js.map +1 -0
  700. package/dist/store/import.d.ts +10 -0
  701. package/dist/store/import.d.ts.map +1 -0
  702. package/dist/store/import.js +276 -0
  703. package/dist/store/import.js.map +1 -0
  704. package/dist/store/index.d.ts.map +1 -0
  705. package/dist/store/index.js.map +1 -0
  706. package/dist/store/json-column.d.ts +33 -0
  707. package/dist/store/json-column.d.ts.map +1 -0
  708. package/dist/store/json-column.js +62 -0
  709. package/dist/store/json-column.js.map +1 -0
  710. package/dist/store/jsonl.d.ts.map +1 -0
  711. package/dist/store/jsonl.js.map +1 -0
  712. package/dist/store/live-query.d.ts +108 -0
  713. package/dist/store/live-query.d.ts.map +1 -0
  714. package/dist/store/live-query.js +254 -0
  715. package/dist/store/live-query.js.map +1 -0
  716. package/dist/store/outbox.d.ts +26 -0
  717. package/dist/store/outbox.d.ts.map +1 -0
  718. package/dist/store/outbox.js.map +1 -0
  719. package/dist/store/query.d.ts +39 -0
  720. package/dist/store/query.d.ts.map +1 -0
  721. package/dist/store/query.js.map +1 -0
  722. package/dist/store/refusal.d.ts.map +1 -0
  723. package/dist/store/refusal.js.map +1 -0
  724. package/dist/store/rows.d.ts +80 -0
  725. package/dist/store/rows.d.ts.map +1 -0
  726. package/dist/store/rows.js.map +1 -0
  727. package/dist/store/schema.d.ts +25 -0
  728. package/dist/store/schema.d.ts.map +1 -0
  729. package/dist/store/schema.js +115 -0
  730. package/dist/store/schema.js.map +1 -0
  731. package/dist/store/sql.d.ts +73 -0
  732. package/dist/store/sql.d.ts.map +1 -0
  733. package/dist/store/sql.js.map +1 -0
  734. package/dist/store/step.d.ts +50 -0
  735. package/dist/store/step.d.ts.map +1 -0
  736. package/dist/store/step.js +52 -0
  737. package/dist/store/step.js.map +1 -0
  738. package/dist/store/store.d.ts +171 -0
  739. package/dist/store/store.d.ts.map +1 -0
  740. package/dist/store/store.js +818 -0
  741. package/dist/store/store.js.map +1 -0
  742. package/dist/store/table-changes.d.ts +29 -0
  743. package/dist/store/table-changes.d.ts.map +1 -0
  744. package/dist/store/table-changes.js.map +1 -0
  745. package/dist/store/table-evolve.d.ts.map +1 -0
  746. package/dist/store/table-evolve.js.map +1 -0
  747. package/dist/store/table-handle.d.ts +73 -0
  748. package/dist/store/table-handle.d.ts.map +1 -0
  749. package/dist/store/table-handle.js +101 -0
  750. package/dist/store/table-handle.js.map +1 -0
  751. package/dist/store/table-history.d.ts.map +1 -0
  752. package/dist/store/table-history.js.map +1 -0
  753. package/dist/store/table-migration.d.ts +16 -0
  754. package/dist/store/table-migration.d.ts.map +1 -0
  755. package/dist/store/table-migration.js +202 -0
  756. package/dist/store/table-migration.js.map +1 -0
  757. package/dist/store/table-writes.d.ts.map +1 -0
  758. package/dist/store/table-writes.js +170 -0
  759. package/dist/store/table-writes.js.map +1 -0
  760. package/dist/store/table.d.ts +80 -0
  761. package/dist/store/table.d.ts.map +1 -0
  762. package/dist/store/table.js.map +1 -0
  763. package/dist/store/text.d.ts.map +1 -0
  764. package/dist/store/text.js.map +1 -0
  765. package/dist/store/writes.d.ts.map +1 -0
  766. package/dist/store/writes.js.map +1 -0
  767. package/dist/surfaces/active-language.d.ts +20 -0
  768. package/dist/surfaces/active-language.d.ts.map +1 -0
  769. package/dist/surfaces/active-language.js +78 -0
  770. package/dist/surfaces/active-language.js.map +1 -0
  771. package/dist/surfaces/active-theme.d.ts +16 -0
  772. package/dist/surfaces/active-theme.d.ts.map +1 -0
  773. package/dist/surfaces/active-theme.js +47 -0
  774. package/dist/surfaces/active-theme.js.map +1 -0
  775. package/dist/surfaces/client.d.ts +96 -0
  776. package/dist/surfaces/client.d.ts.map +1 -0
  777. package/dist/surfaces/client.js +264 -0
  778. package/dist/surfaces/client.js.map +1 -0
  779. package/dist/surfaces/connection.d.ts +49 -0
  780. package/dist/surfaces/connection.d.ts.map +1 -0
  781. package/dist/surfaces/connection.js +142 -0
  782. package/dist/surfaces/connection.js.map +1 -0
  783. package/dist/surfaces/format.d.ts +5 -0
  784. package/dist/surfaces/format.d.ts.map +1 -0
  785. package/dist/surfaces/format.js +37 -0
  786. package/dist/surfaces/format.js.map +1 -0
  787. package/dist/surfaces/index.d.ts +15 -0
  788. package/dist/surfaces/index.d.ts.map +1 -0
  789. package/dist/surfaces/index.js +18 -0
  790. package/dist/surfaces/index.js.map +1 -0
  791. package/dist/surfaces/language.d.ts +53 -0
  792. package/dist/surfaces/language.d.ts.map +1 -0
  793. package/dist/surfaces/language.js +74 -0
  794. package/dist/surfaces/language.js.map +1 -0
  795. package/dist/surfaces/loaded.d.ts +42 -0
  796. package/dist/surfaces/loaded.d.ts.map +1 -0
  797. package/dist/surfaces/loaded.js +116 -0
  798. package/dist/surfaces/loaded.js.map +1 -0
  799. package/dist/surfaces/locale-choice.d.ts +25 -0
  800. package/dist/surfaces/locale-choice.d.ts.map +1 -0
  801. package/dist/surfaces/locale-choice.js +14 -0
  802. package/dist/surfaces/locale-choice.js.map +1 -0
  803. package/dist/surfaces/messages.d.ts +67 -0
  804. package/dist/surfaces/messages.d.ts.map +1 -0
  805. package/dist/surfaces/messages.js +112 -0
  806. package/dist/surfaces/messages.js.map +1 -0
  807. package/dist/surfaces/page-state.d.ts +14 -0
  808. package/dist/surfaces/page-state.d.ts.map +1 -0
  809. package/dist/surfaces/page-state.js +43 -0
  810. package/dist/surfaces/page-state.js.map +1 -0
  811. package/dist/surfaces/preference.d.ts +32 -0
  812. package/dist/surfaces/preference.d.ts.map +1 -0
  813. package/dist/surfaces/preference.js +72 -0
  814. package/dist/surfaces/preference.js.map +1 -0
  815. package/dist/surfaces/registered.d.ts +33 -0
  816. package/dist/surfaces/registered.d.ts.map +1 -0
  817. package/dist/surfaces/registered.js +51 -0
  818. package/dist/surfaces/registered.js.map +1 -0
  819. package/dist/surfaces/scripts.d.ts +84 -0
  820. package/dist/surfaces/scripts.d.ts.map +1 -0
  821. package/dist/surfaces/scripts.js +28 -0
  822. package/dist/surfaces/scripts.js.map +1 -0
  823. package/dist/surfaces/theme-choice.d.ts +31 -0
  824. package/dist/surfaces/theme-choice.d.ts.map +1 -0
  825. package/dist/surfaces/theme-choice.js +18 -0
  826. package/dist/surfaces/theme-choice.js.map +1 -0
  827. package/dist/surfaces/themes.d.ts +43 -0
  828. package/dist/surfaces/themes.d.ts.map +1 -0
  829. package/dist/surfaces/themes.js +110 -0
  830. package/dist/surfaces/themes.js.map +1 -0
  831. package/dist/surfaces/translations.d.ts +29 -0
  832. package/dist/surfaces/translations.d.ts.map +1 -0
  833. package/dist/surfaces/translations.js +57 -0
  834. package/dist/surfaces/translations.js.map +1 -0
  835. package/dist/sync/batch.d.ts +18 -0
  836. package/dist/sync/batch.d.ts.map +1 -0
  837. package/dist/sync/batch.js +125 -0
  838. package/dist/sync/batch.js.map +1 -0
  839. package/dist/sync/client.d.ts +166 -0
  840. package/dist/sync/client.d.ts.map +1 -0
  841. package/dist/sync/client.js +438 -0
  842. package/dist/sync/client.js.map +1 -0
  843. package/dist/sync/files.d.ts +46 -0
  844. package/dist/sync/files.d.ts.map +1 -0
  845. package/dist/sync/files.js +13 -0
  846. package/dist/sync/files.js.map +1 -0
  847. package/dist/sync/filesystem.d.ts +37 -0
  848. package/dist/sync/filesystem.d.ts.map +1 -0
  849. package/dist/sync/filesystem.js +185 -0
  850. package/dist/sync/filesystem.js.map +1 -0
  851. package/dist/sync/index.d.ts +8 -0
  852. package/dist/sync/index.d.ts.map +1 -0
  853. package/dist/sync/index.js +9 -0
  854. package/dist/sync/index.js.map +1 -0
  855. package/dist/sync/lines.d.ts +18 -0
  856. package/dist/sync/lines.d.ts.map +1 -0
  857. package/dist/sync/lines.js +46 -0
  858. package/dist/sync/lines.js.map +1 -0
  859. package/dist/sync/remote.d.ts +130 -0
  860. package/dist/sync/remote.d.ts.map +1 -0
  861. package/dist/sync/remote.js +46 -0
  862. package/dist/sync/remote.js.map +1 -0
  863. package/dist/sync/state.d.ts +17 -0
  864. package/dist/sync/state.d.ts.map +1 -0
  865. package/dist/sync/state.js +40 -0
  866. package/dist/sync/state.js.map +1 -0
  867. package/dist/telemetry-ingest/batch.d.ts +70 -0
  868. package/dist/telemetry-ingest/batch.d.ts.map +1 -0
  869. package/dist/telemetry-ingest/batch.js +110 -0
  870. package/dist/telemetry-ingest/batch.js.map +1 -0
  871. package/dist/telemetry-ingest/facet.d.ts +21 -0
  872. package/dist/telemetry-ingest/facet.d.ts.map +1 -0
  873. package/dist/telemetry-ingest/facet.js +96 -0
  874. package/dist/telemetry-ingest/facet.js.map +1 -0
  875. package/dist/telemetry-ingest/index.d.ts +5 -0
  876. package/dist/telemetry-ingest/index.d.ts.map +1 -0
  877. package/dist/telemetry-ingest/index.js +8 -0
  878. package/dist/telemetry-ingest/index.js.map +1 -0
  879. package/dist/telemetry-ingest/recorder.d.ts +50 -0
  880. package/dist/telemetry-ingest/recorder.d.ts.map +1 -0
  881. package/dist/telemetry-ingest/recorder.js +298 -0
  882. package/dist/telemetry-ingest/recorder.js.map +1 -0
  883. package/dist/telemetry-ingest/sender.d.ts +14 -0
  884. package/dist/telemetry-ingest/sender.d.ts.map +1 -0
  885. package/dist/telemetry-ingest/sender.js +64 -0
  886. package/dist/telemetry-ingest/sender.js.map +1 -0
  887. package/dist/telemetry-sqlite/index.d.ts +13 -4
  888. package/dist/telemetry-sqlite/index.d.ts.map +1 -1
  889. package/dist/telemetry-sqlite/index.js +81 -241
  890. package/dist/telemetry-sqlite/index.js.map +1 -1
  891. package/dist/telemetry-sqlite/node.d.ts +13 -0
  892. package/dist/telemetry-sqlite/node.d.ts.map +1 -0
  893. package/dist/telemetry-sqlite/node.js +27 -0
  894. package/dist/telemetry-sqlite/node.js.map +1 -0
  895. package/dist/telemetry-sqlite/schema.d.ts +9 -0
  896. package/dist/telemetry-sqlite/schema.d.ts.map +1 -0
  897. package/dist/telemetry-sqlite/schema.js +61 -0
  898. package/dist/telemetry-sqlite/schema.js.map +1 -0
  899. package/dist/telemetry-sqlite/store.d.ts +3 -0
  900. package/dist/telemetry-sqlite/store.d.ts.map +1 -1
  901. package/dist/telemetry-sqlite/store.js +24 -13
  902. package/dist/telemetry-sqlite/store.js.map +1 -1
  903. package/dist/telemetry.d.ts +937 -0
  904. package/dist/telemetry.d.ts.map +1 -0
  905. package/dist/telemetry.js +470 -0
  906. package/dist/telemetry.js.map +1 -0
  907. package/dist/tui/bridge.d.ts +112 -0
  908. package/dist/tui/bridge.d.ts.map +1 -0
  909. package/dist/tui/bridge.js +9 -0
  910. package/dist/tui/bridge.js.map +1 -0
  911. package/dist/tui/channel.d.ts +44 -0
  912. package/dist/tui/channel.d.ts.map +1 -0
  913. package/dist/tui/channel.js +150 -0
  914. package/dist/tui/channel.js.map +1 -0
  915. package/dist/tui/frames.d.ts +5 -0
  916. package/dist/tui/frames.d.ts.map +1 -0
  917. package/dist/tui/frames.js +52 -0
  918. package/dist/tui/frames.js.map +1 -0
  919. package/dist/tui/index.d.ts +7 -0
  920. package/dist/tui/index.d.ts.map +1 -0
  921. package/dist/tui/index.js +8 -0
  922. package/dist/tui/index.js.map +1 -0
  923. package/dist/tui/runtime.d.ts +46 -0
  924. package/dist/tui/runtime.d.ts.map +1 -0
  925. package/dist/tui/runtime.js +101 -0
  926. package/dist/tui/runtime.js.map +1 -0
  927. package/dist/tui/scope.d.ts +46 -0
  928. package/dist/tui/scope.d.ts.map +1 -0
  929. package/dist/tui/scope.js +141 -0
  930. package/dist/tui/scope.js.map +1 -0
  931. package/dist/tui/terminal.d.ts +15 -0
  932. package/dist/tui/terminal.d.ts.map +1 -0
  933. package/dist/tui/terminal.js +37 -0
  934. package/dist/tui/terminal.js.map +1 -0
  935. package/dist/tui/theme.d.ts +17 -0
  936. package/dist/tui/theme.d.ts.map +1 -0
  937. package/dist/tui/theme.js +38 -0
  938. package/dist/tui/theme.js.map +1 -0
  939. package/dist/web/environment.d.ts +4 -0
  940. package/dist/web/environment.d.ts.map +1 -0
  941. package/dist/web/environment.js +37 -0
  942. package/dist/web/environment.js.map +1 -0
  943. package/dist/web/index.d.ts +5 -0
  944. package/dist/web/index.d.ts.map +1 -0
  945. package/dist/web/index.js +7 -0
  946. package/dist/web/index.js.map +1 -0
  947. package/dist/web/language.d.ts +7 -0
  948. package/dist/web/language.d.ts.map +1 -0
  949. package/dist/web/language.js +21 -0
  950. package/dist/web/language.js.map +1 -0
  951. package/dist/web/page.d.ts +29 -0
  952. package/dist/web/page.d.ts.map +1 -0
  953. package/dist/web/page.js +92 -0
  954. package/dist/web/page.js.map +1 -0
  955. package/dist/web/scripts.d.ts +23 -0
  956. package/dist/web/scripts.d.ts.map +1 -0
  957. package/dist/web/scripts.js +50 -0
  958. package/dist/web/scripts.js.map +1 -0
  959. package/dist/web/styles.d.ts +17 -0
  960. package/dist/web/styles.d.ts.map +1 -0
  961. package/dist/web/styles.js +218 -0
  962. package/dist/web/styles.js.map +1 -0
  963. package/dist/web/themes.d.ts +6 -0
  964. package/dist/web/themes.d.ts.map +1 -0
  965. package/dist/web/themes.js +31 -0
  966. package/dist/web/themes.js.map +1 -0
  967. package/docs/benchmarks.md +1036 -0
  968. package/docs/decisions.md +3436 -0
  969. package/docs/dependencies/book.md +1671 -0
  970. package/docs/dependencies/index.html +2641 -0
  971. package/docs/design.md +3065 -0
  972. package/docs/durable-observers/book.md +432 -0
  973. package/docs/durable-observers/index.html +517 -0
  974. package/docs/guide-plugins-hosts/book.md +957 -0
  975. package/docs/guide-plugins-hosts/index.html +952 -0
  976. package/docs/http-workers/book.md +378 -0
  977. package/docs/http-workers/index.html +515 -0
  978. package/docs/i18n/book.md +217 -0
  979. package/docs/i18n/index.html +344 -0
  980. package/docs/layer-1.md +311 -0
  981. package/docs/layer-2.md +216 -0
  982. package/docs/p3-features/README.md +6 -0
  983. package/docs/p3-features/book.md +478 -0
  984. package/docs/plugin-authoring.md +276 -0
  985. package/docs/plugin-model/book.md +186 -0
  986. package/docs/plugin-model/index.html +310 -0
  987. package/docs/plugin-primer/book.md +273 -0
  988. package/docs/plugin-primer/index.html +430 -0
  989. package/docs/slice-1.md +236 -0
  990. package/docs/slice-10.md +288 -0
  991. package/docs/slice-11.md +114 -0
  992. package/docs/slice-12.md +132 -0
  993. package/docs/slice-13.md +121 -0
  994. package/docs/slice-2.md +174 -0
  995. package/docs/slice-3a.md +296 -0
  996. package/docs/slice-3b.md +197 -0
  997. package/docs/slice-4a.md +418 -0
  998. package/docs/slice-4b.md +208 -0
  999. package/docs/slice-6a.md +676 -0
  1000. package/docs/slice-6b.md +332 -0
  1001. package/docs/slice-7b/book.md +608 -0
  1002. package/docs/slice-7b/index.html +842 -0
  1003. package/docs/slice-7b.md +255 -0
  1004. package/docs/slice-7c.md +165 -0
  1005. package/docs/slice-9.md +110 -0
  1006. package/docs/slices.md +241 -0
  1007. package/docs/store/book.md +670 -0
  1008. package/docs/store/index.html +861 -0
  1009. package/docs/store/walkthrough.md +193 -0
  1010. package/docs/theming/book.md +223 -0
  1011. package/docs/theming/index.html +371 -0
  1012. package/docs/tutorial/book.md +2169 -0
  1013. package/docs/tutorial/index.html +2112 -0
  1014. package/docs/tutorial/screens/click-after.png +0 -0
  1015. package/docs/tutorial/screens/click-before.png +0 -0
  1016. package/docs/tutorial/screens/edited.png +0 -0
  1017. package/docs/tutorial/screens/french.png +0 -0
  1018. package/docs/tutorial/screens/harbor.png +0 -0
  1019. package/docs/tutorial/screens/page.png +0 -0
  1020. package/docs/tutorial/screens/traces-ada.png +0 -0
  1021. package/docs/tutorial/screens/traces.png +0 -0
  1022. package/package.json +99 -21
  1023. package/dist/cell.d.ts +0 -122
  1024. package/dist/cell.d.ts.map +0 -1
  1025. package/dist/cell.js +0 -356
  1026. package/dist/cell.js.map +0 -1
  1027. package/dist/cluster.d.ts +0 -27
  1028. package/dist/cluster.d.ts.map +0 -1
  1029. package/dist/cluster.js +0 -230
  1030. package/dist/cluster.js.map +0 -1
  1031. package/dist/connection.d.ts +0 -270
  1032. package/dist/connection.d.ts.map +0 -1
  1033. package/dist/connection.js +0 -1216
  1034. package/dist/connection.js.map +0 -1
  1035. package/dist/contract.d.ts +0 -207
  1036. package/dist/contract.d.ts.map +0 -1
  1037. package/dist/contract.js +0 -241
  1038. package/dist/contract.js.map +0 -1
  1039. package/dist/declare.d.ts +0 -33
  1040. package/dist/declare.d.ts.map +0 -1
  1041. package/dist/declare.js +0 -2
  1042. package/dist/declare.js.map +0 -1
  1043. package/dist/errors.d.ts +0 -28
  1044. package/dist/errors.d.ts.map +0 -1
  1045. package/dist/errors.js +0 -59
  1046. package/dist/errors.js.map +0 -1
  1047. package/dist/host.d.ts +0 -348
  1048. package/dist/host.d.ts.map +0 -1
  1049. package/dist/host.js +0 -1002
  1050. package/dist/host.js.map +0 -1
  1051. package/dist/link.d.ts +0 -107
  1052. package/dist/link.d.ts.map +0 -1
  1053. package/dist/link.js +0 -355
  1054. package/dist/link.js.map +0 -1
  1055. package/dist/loader.d.ts +0 -4
  1056. package/dist/loader.d.ts.map +0 -1
  1057. package/dist/loader.js +0 -73
  1058. package/dist/loader.js.map +0 -1
  1059. package/dist/manager.d.ts +0 -115
  1060. package/dist/manager.d.ts.map +0 -1
  1061. package/dist/manager.js +0 -345
  1062. package/dist/manager.js.map +0 -1
  1063. package/dist/next/contracts/accepts.d.ts +0 -81
  1064. package/dist/next/contracts/accepts.d.ts.map +0 -1
  1065. package/dist/next/contracts/accepts.js.map +0 -1
  1066. package/dist/next/contracts/contract.d.ts +0 -121
  1067. package/dist/next/contracts/contract.d.ts.map +0 -1
  1068. package/dist/next/contracts/contract.js.map +0 -1
  1069. package/dist/next/contracts/declare.d.ts.map +0 -1
  1070. package/dist/next/contracts/declare.js.map +0 -1
  1071. package/dist/next/contracts/evolve.d.ts.map +0 -1
  1072. package/dist/next/contracts/evolve.js.map +0 -1
  1073. package/dist/next/contracts/fingerprint.d.ts +0 -16
  1074. package/dist/next/contracts/fingerprint.d.ts.map +0 -1
  1075. package/dist/next/contracts/fingerprint.js.map +0 -1
  1076. package/dist/next/contracts/history.d.ts.map +0 -1
  1077. package/dist/next/contracts/history.js.map +0 -1
  1078. package/dist/next/contracts/host-kind.d.ts.map +0 -1
  1079. package/dist/next/contracts/host-kind.js.map +0 -1
  1080. package/dist/next/contracts/index.d.ts.map +0 -1
  1081. package/dist/next/contracts/index.js.map +0 -1
  1082. package/dist/next/contracts/internal.d.ts.map +0 -1
  1083. package/dist/next/contracts/internal.js.map +0 -1
  1084. package/dist/next/contracts/names.d.ts.map +0 -1
  1085. package/dist/next/contracts/names.js.map +0 -1
  1086. package/dist/next/contracts/params.d.ts +0 -28
  1087. package/dist/next/contracts/params.d.ts.map +0 -1
  1088. package/dist/next/contracts/params.js.map +0 -1
  1089. package/dist/next/contracts/schema.d.ts.map +0 -1
  1090. package/dist/next/contracts/schema.js.map +0 -1
  1091. package/dist/next/contracts/snapshot.d.ts +0 -16
  1092. package/dist/next/contracts/snapshot.d.ts.map +0 -1
  1093. package/dist/next/contracts/snapshot.js +0 -167
  1094. package/dist/next/contracts/snapshot.js.map +0 -1
  1095. package/dist/next/data/args.d.ts +0 -50
  1096. package/dist/next/data/args.d.ts.map +0 -1
  1097. package/dist/next/data/args.js.map +0 -1
  1098. package/dist/next/data/errors.d.ts +0 -73
  1099. package/dist/next/data/errors.d.ts.map +0 -1
  1100. package/dist/next/data/errors.js +0 -107
  1101. package/dist/next/data/errors.js.map +0 -1
  1102. package/dist/next/data/failure.d.ts.map +0 -1
  1103. package/dist/next/data/failure.js +0 -72
  1104. package/dist/next/data/failure.js.map +0 -1
  1105. package/dist/next/data/index.d.ts +0 -4
  1106. package/dist/next/data/index.d.ts.map +0 -1
  1107. package/dist/next/data/index.js +0 -4
  1108. package/dist/next/data/index.js.map +0 -1
  1109. package/dist/next/data/internal.d.ts +0 -7
  1110. package/dist/next/data/internal.d.ts.map +0 -1
  1111. package/dist/next/data/internal.js +0 -8
  1112. package/dist/next/data/internal.js.map +0 -1
  1113. package/dist/next/data/params.d.ts +0 -20
  1114. package/dist/next/data/params.d.ts.map +0 -1
  1115. package/dist/next/data/params.js.map +0 -1
  1116. package/dist/next/data/principal.d.ts +0 -17
  1117. package/dist/next/data/principal.d.ts.map +0 -1
  1118. package/dist/next/data/principal.js +0 -41
  1119. package/dist/next/data/principal.js.map +0 -1
  1120. package/dist/next/data/validator.d.ts +0 -12
  1121. package/dist/next/data/validator.d.ts.map +0 -1
  1122. package/dist/next/data/validator.js +0 -34
  1123. package/dist/next/data/validator.js.map +0 -1
  1124. package/dist/next/documents/address-source.d.ts +0 -20
  1125. package/dist/next/documents/address-source.d.ts.map +0 -1
  1126. package/dist/next/documents/address-source.js.map +0 -1
  1127. package/dist/next/documents/definition.d.ts +0 -84
  1128. package/dist/next/documents/definition.d.ts.map +0 -1
  1129. package/dist/next/documents/definition.js +0 -73
  1130. package/dist/next/documents/definition.js.map +0 -1
  1131. package/dist/next/documents/documents.d.ts +0 -106
  1132. package/dist/next/documents/documents.d.ts.map +0 -1
  1133. package/dist/next/documents/documents.js +0 -224
  1134. package/dist/next/documents/documents.js.map +0 -1
  1135. package/dist/next/documents/fence.d.ts.map +0 -1
  1136. package/dist/next/documents/fence.js.map +0 -1
  1137. package/dist/next/documents/handles.d.ts +0 -76
  1138. package/dist/next/documents/handles.d.ts.map +0 -1
  1139. package/dist/next/documents/handles.js.map +0 -1
  1140. package/dist/next/documents/index.d.ts.map +0 -1
  1141. package/dist/next/documents/index.js.map +0 -1
  1142. package/dist/next/documents/internal.d.ts +0 -9
  1143. package/dist/next/documents/internal.d.ts.map +0 -1
  1144. package/dist/next/documents/internal.js.map +0 -1
  1145. package/dist/next/documents/keyed-slot.d.ts +0 -103
  1146. package/dist/next/documents/keyed-slot.d.ts.map +0 -1
  1147. package/dist/next/documents/keyed-slot.js +0 -395
  1148. package/dist/next/documents/keyed-slot.js.map +0 -1
  1149. package/dist/next/documents/line.d.ts.map +0 -1
  1150. package/dist/next/documents/line.js.map +0 -1
  1151. package/dist/next/documents/persistence.d.ts +0 -104
  1152. package/dist/next/documents/persistence.d.ts.map +0 -1
  1153. package/dist/next/documents/persistence.js +0 -128
  1154. package/dist/next/documents/persistence.js.map +0 -1
  1155. package/dist/next/documents/residency.d.ts +0 -31
  1156. package/dist/next/documents/residency.d.ts.map +0 -1
  1157. package/dist/next/documents/residency.js.map +0 -1
  1158. package/dist/next/documents/slot.d.ts +0 -109
  1159. package/dist/next/documents/slot.d.ts.map +0 -1
  1160. package/dist/next/documents/slot.js +0 -181
  1161. package/dist/next/documents/slot.js.map +0 -1
  1162. package/dist/next/documents/transaction.d.ts +0 -133
  1163. package/dist/next/documents/transaction.d.ts.map +0 -1
  1164. package/dist/next/documents/transaction.js +0 -409
  1165. package/dist/next/documents/transaction.js.map +0 -1
  1166. package/dist/next/host/activity.d.ts +0 -31
  1167. package/dist/next/host/activity.d.ts.map +0 -1
  1168. package/dist/next/host/activity.js +0 -40
  1169. package/dist/next/host/activity.js.map +0 -1
  1170. package/dist/next/host/adapted.d.ts +0 -49
  1171. package/dist/next/host/adapted.d.ts.map +0 -1
  1172. package/dist/next/host/adapted.js.map +0 -1
  1173. package/dist/next/host/attempt.d.ts +0 -278
  1174. package/dist/next/host/attempt.d.ts.map +0 -1
  1175. package/dist/next/host/attempt.js +0 -1072
  1176. package/dist/next/host/attempt.js.map +0 -1
  1177. package/dist/next/host/backoff.d.ts.map +0 -1
  1178. package/dist/next/host/backoff.js.map +0 -1
  1179. package/dist/next/host/ctx.d.ts +0 -47
  1180. package/dist/next/host/ctx.d.ts.map +0 -1
  1181. package/dist/next/host/ctx.js +0 -108
  1182. package/dist/next/host/ctx.js.map +0 -1
  1183. package/dist/next/host/deadline.d.ts.map +0 -1
  1184. package/dist/next/host/deadline.js.map +0 -1
  1185. package/dist/next/host/dependencies.d.ts.map +0 -1
  1186. package/dist/next/host/dependencies.js.map +0 -1
  1187. package/dist/next/host/destination.d.ts +0 -48
  1188. package/dist/next/host/destination.d.ts.map +0 -1
  1189. package/dist/next/host/destination.js.map +0 -1
  1190. package/dist/next/host/facet.d.ts +0 -79
  1191. package/dist/next/host/facet.d.ts.map +0 -1
  1192. package/dist/next/host/facet.js.map +0 -1
  1193. package/dist/next/host/follow.d.ts +0 -52
  1194. package/dist/next/host/follow.d.ts.map +0 -1
  1195. package/dist/next/host/follow.js.map +0 -1
  1196. package/dist/next/host/host.d.ts +0 -495
  1197. package/dist/next/host/host.d.ts.map +0 -1
  1198. package/dist/next/host/host.js +0 -1075
  1199. package/dist/next/host/host.js.map +0 -1
  1200. package/dist/next/host/index.d.ts +0 -17
  1201. package/dist/next/host/index.d.ts.map +0 -1
  1202. package/dist/next/host/index.js.map +0 -1
  1203. package/dist/next/host/internal.d.ts +0 -10
  1204. package/dist/next/host/internal.d.ts.map +0 -1
  1205. package/dist/next/host/internal.js +0 -8
  1206. package/dist/next/host/internal.js.map +0 -1
  1207. package/dist/next/host/members.d.ts +0 -50
  1208. package/dist/next/host/members.d.ts.map +0 -1
  1209. package/dist/next/host/members.js.map +0 -1
  1210. package/dist/next/host/native.d.ts +0 -55
  1211. package/dist/next/host/native.d.ts.map +0 -1
  1212. package/dist/next/host/native.js +0 -92
  1213. package/dist/next/host/native.js.map +0 -1
  1214. package/dist/next/host/object.d.ts +0 -290
  1215. package/dist/next/host/object.d.ts.map +0 -1
  1216. package/dist/next/host/object.js +0 -1127
  1217. package/dist/next/host/object.js.map +0 -1
  1218. package/dist/next/host/parked.d.ts +0 -23
  1219. package/dist/next/host/parked.d.ts.map +0 -1
  1220. package/dist/next/host/parked.js.map +0 -1
  1221. package/dist/next/host/presence.d.ts +0 -34
  1222. package/dist/next/host/presence.d.ts.map +0 -1
  1223. package/dist/next/host/presence.js.map +0 -1
  1224. package/dist/next/host/ref-state.d.ts +0 -53
  1225. package/dist/next/host/ref-state.d.ts.map +0 -1
  1226. package/dist/next/host/ref-state.js +0 -83
  1227. package/dist/next/host/ref-state.js.map +0 -1
  1228. package/dist/next/host/reference-keys.d.ts +0 -36
  1229. package/dist/next/host/reference-keys.d.ts.map +0 -1
  1230. package/dist/next/host/reference-keys.js +0 -168
  1231. package/dist/next/host/reference-keys.js.map +0 -1
  1232. package/dist/next/host/reference-source.d.ts +0 -65
  1233. package/dist/next/host/reference-source.d.ts.map +0 -1
  1234. package/dist/next/host/reference-source.js +0 -285
  1235. package/dist/next/host/reference-source.js.map +0 -1
  1236. package/dist/next/host/reference.d.ts +0 -308
  1237. package/dist/next/host/reference.d.ts.map +0 -1
  1238. package/dist/next/host/reference.js +0 -775
  1239. package/dist/next/host/reference.js.map +0 -1
  1240. package/dist/next/host/retry-on.d.ts.map +0 -1
  1241. package/dist/next/host/retry-on.js.map +0 -1
  1242. package/dist/next/host/revocation.d.ts +0 -16
  1243. package/dist/next/host/revocation.d.ts.map +0 -1
  1244. package/dist/next/host/revocation.js.map +0 -1
  1245. package/dist/next/host/root.d.ts +0 -27
  1246. package/dist/next/host/root.d.ts.map +0 -1
  1247. package/dist/next/host/root.js +0 -68
  1248. package/dist/next/host/root.js.map +0 -1
  1249. package/dist/next/host/route.d.ts +0 -64
  1250. package/dist/next/host/route.d.ts.map +0 -1
  1251. package/dist/next/host/route.js +0 -190
  1252. package/dist/next/host/route.js.map +0 -1
  1253. package/dist/next/host/routines.d.ts +0 -76
  1254. package/dist/next/host/routines.d.ts.map +0 -1
  1255. package/dist/next/host/routines.js +0 -350
  1256. package/dist/next/host/routines.js.map +0 -1
  1257. package/dist/next/host/sleep.d.ts +0 -9
  1258. package/dist/next/host/sleep.d.ts.map +0 -1
  1259. package/dist/next/host/sleep.js.map +0 -1
  1260. package/dist/next/host/staging.d.ts +0 -94
  1261. package/dist/next/host/staging.d.ts.map +0 -1
  1262. package/dist/next/host/staging.js +0 -302
  1263. package/dist/next/host/staging.js.map +0 -1
  1264. package/dist/next/host/unbound.d.ts +0 -30
  1265. package/dist/next/host/unbound.d.ts.map +0 -1
  1266. package/dist/next/host/unbound.js +0 -67
  1267. package/dist/next/host/unbound.js.map +0 -1
  1268. package/dist/next/host/uuid.d.ts.map +0 -1
  1269. package/dist/next/host/uuid.js.map +0 -1
  1270. package/dist/next/index.d.ts +0 -28
  1271. package/dist/next/index.d.ts.map +0 -1
  1272. package/dist/next/index.js +0 -18
  1273. package/dist/next/index.js.map +0 -1
  1274. package/dist/next/jobs/definition.d.ts.map +0 -1
  1275. package/dist/next/jobs/definition.js.map +0 -1
  1276. package/dist/next/jobs/index.d.ts.map +0 -1
  1277. package/dist/next/jobs/index.js.map +0 -1
  1278. package/dist/next/jobs/internal.d.ts.map +0 -1
  1279. package/dist/next/jobs/internal.js.map +0 -1
  1280. package/dist/next/jobs/job.d.ts +0 -152
  1281. package/dist/next/jobs/job.d.ts.map +0 -1
  1282. package/dist/next/jobs/job.js +0 -320
  1283. package/dist/next/jobs/job.js.map +0 -1
  1284. package/dist/next/jobs/persisted.d.ts +0 -38
  1285. package/dist/next/jobs/persisted.d.ts.map +0 -1
  1286. package/dist/next/jobs/persisted.js.map +0 -1
  1287. package/dist/next/jobs/records.d.ts +0 -231
  1288. package/dist/next/jobs/records.d.ts.map +0 -1
  1289. package/dist/next/jobs/records.js +0 -869
  1290. package/dist/next/jobs/records.js.map +0 -1
  1291. package/dist/next/jobs/run-states.d.ts +0 -69
  1292. package/dist/next/jobs/run-states.d.ts.map +0 -1
  1293. package/dist/next/jobs/run-states.js +0 -228
  1294. package/dist/next/jobs/run-states.js.map +0 -1
  1295. package/dist/next/jobs/run.d.ts +0 -113
  1296. package/dist/next/jobs/run.d.ts.map +0 -1
  1297. package/dist/next/jobs/run.js +0 -200
  1298. package/dist/next/jobs/run.js.map +0 -1
  1299. package/dist/next/jobs/running.d.ts +0 -44
  1300. package/dist/next/jobs/running.d.ts.map +0 -1
  1301. package/dist/next/jobs/running.js.map +0 -1
  1302. package/dist/next/jobs/stored.d.ts +0 -63
  1303. package/dist/next/jobs/stored.d.ts.map +0 -1
  1304. package/dist/next/jobs/stored.js.map +0 -1
  1305. package/dist/next/link/binary.d.ts.map +0 -1
  1306. package/dist/next/link/binary.js +0 -534
  1307. package/dist/next/link/binary.js.map +0 -1
  1308. package/dist/next/link/channel.d.ts +0 -63
  1309. package/dist/next/link/channel.d.ts.map +0 -1
  1310. package/dist/next/link/channel.js +0 -202
  1311. package/dist/next/link/channel.js.map +0 -1
  1312. package/dist/next/link/errors.d.ts.map +0 -1
  1313. package/dist/next/link/errors.js.map +0 -1
  1314. package/dist/next/link/index.d.ts.map +0 -1
  1315. package/dist/next/link/index.js.map +0 -1
  1316. package/dist/next/link/internal.d.ts.map +0 -1
  1317. package/dist/next/link/internal.js.map +0 -1
  1318. package/dist/next/link/ipc.d.ts.map +0 -1
  1319. package/dist/next/link/ipc.js.map +0 -1
  1320. package/dist/next/link/link.d.ts.map +0 -1
  1321. package/dist/next/link/link.js.map +0 -1
  1322. package/dist/next/link/message.d.ts +0 -249
  1323. package/dist/next/link/message.d.ts.map +0 -1
  1324. package/dist/next/link/message.js +0 -123
  1325. package/dist/next/link/message.js.map +0 -1
  1326. package/dist/next/link/part.d.ts +0 -80
  1327. package/dist/next/link/part.d.ts.map +0 -1
  1328. package/dist/next/link/part.js +0 -164
  1329. package/dist/next/link/part.js.map +0 -1
  1330. package/dist/next/link/text.d.ts.map +0 -1
  1331. package/dist/next/link/text.js +0 -335
  1332. package/dist/next/link/text.js.map +0 -1
  1333. package/dist/next/link/values.d.ts.map +0 -1
  1334. package/dist/next/link/values.js +0 -117
  1335. package/dist/next/link/values.js.map +0 -1
  1336. package/dist/next/link/websocket.d.ts.map +0 -1
  1337. package/dist/next/link/websocket.js.map +0 -1
  1338. package/dist/next/registries/contribution.d.ts.map +0 -1
  1339. package/dist/next/registries/contribution.js.map +0 -1
  1340. package/dist/next/registries/entries.d.ts.map +0 -1
  1341. package/dist/next/registries/entries.js.map +0 -1
  1342. package/dist/next/registries/index.d.ts.map +0 -1
  1343. package/dist/next/registries/index.js.map +0 -1
  1344. package/dist/next/registries/internal.d.ts.map +0 -1
  1345. package/dist/next/registries/internal.js.map +0 -1
  1346. package/dist/next/registries/record.d.ts +0 -94
  1347. package/dist/next/registries/record.d.ts.map +0 -1
  1348. package/dist/next/registries/record.js +0 -253
  1349. package/dist/next/registries/record.js.map +0 -1
  1350. package/dist/next/registries/registry.d.ts +0 -74
  1351. package/dist/next/registries/registry.d.ts.map +0 -1
  1352. package/dist/next/registries/registry.js.map +0 -1
  1353. package/dist/next/registries/value.d.ts.map +0 -1
  1354. package/dist/next/registries/value.js +0 -199
  1355. package/dist/next/registries/value.js.map +0 -1
  1356. package/dist/next/remote/calls.d.ts.map +0 -1
  1357. package/dist/next/remote/calls.js.map +0 -1
  1358. package/dist/next/remote/consumer.d.ts +0 -42
  1359. package/dist/next/remote/consumer.d.ts.map +0 -1
  1360. package/dist/next/remote/consumer.js +0 -343
  1361. package/dist/next/remote/consumer.js.map +0 -1
  1362. package/dist/next/remote/hold.d.ts +0 -130
  1363. package/dist/next/remote/hold.d.ts.map +0 -1
  1364. package/dist/next/remote/hold.js +0 -537
  1365. package/dist/next/remote/hold.js.map +0 -1
  1366. package/dist/next/remote/host-link.d.ts +0 -77
  1367. package/dist/next/remote/host-link.d.ts.map +0 -1
  1368. package/dist/next/remote/host-link.js +0 -182
  1369. package/dist/next/remote/host-link.js.map +0 -1
  1370. package/dist/next/remote/internal.d.ts.map +0 -1
  1371. package/dist/next/remote/internal.js.map +0 -1
  1372. package/dist/next/remote/path.d.ts.map +0 -1
  1373. package/dist/next/remote/path.js.map +0 -1
  1374. package/dist/next/remote/provider.d.ts +0 -76
  1375. package/dist/next/remote/provider.d.ts.map +0 -1
  1376. package/dist/next/remote/provider.js +0 -506
  1377. package/dist/next/remote/provider.js.map +0 -1
  1378. package/dist/next/remote/relay.d.ts +0 -58
  1379. package/dist/next/remote/relay.d.ts.map +0 -1
  1380. package/dist/next/remote/relay.js +0 -117
  1381. package/dist/next/remote/relay.js.map +0 -1
  1382. package/dist/next/remote/remote-object.d.ts +0 -133
  1383. package/dist/next/remote/remote-object.d.ts.map +0 -1
  1384. package/dist/next/remote/remote-object.js +0 -411
  1385. package/dist/next/remote/remote-object.js.map +0 -1
  1386. package/dist/next/remote/replica.d.ts +0 -59
  1387. package/dist/next/remote/replica.d.ts.map +0 -1
  1388. package/dist/next/remote/replica.js +0 -125
  1389. package/dist/next/remote/replica.js.map +0 -1
  1390. package/dist/next/state/batch.d.ts +0 -64
  1391. package/dist/next/state/batch.d.ts.map +0 -1
  1392. package/dist/next/state/batch.js +0 -163
  1393. package/dist/next/state/batch.js.map +0 -1
  1394. package/dist/next/state/derive.d.ts +0 -52
  1395. package/dist/next/state/derive.d.ts.map +0 -1
  1396. package/dist/next/state/derive.js +0 -182
  1397. package/dist/next/state/derive.js.map +0 -1
  1398. package/dist/next/state/index.d.ts +0 -6
  1399. package/dist/next/state/index.d.ts.map +0 -1
  1400. package/dist/next/state/index.js.map +0 -1
  1401. package/dist/next/state/internal.d.ts.map +0 -1
  1402. package/dist/next/state/internal.js.map +0 -1
  1403. package/dist/next/state/native-source.d.ts +0 -106
  1404. package/dist/next/state/native-source.d.ts.map +0 -1
  1405. package/dist/next/state/native-source.js +0 -240
  1406. package/dist/next/state/native-source.js.map +0 -1
  1407. package/dist/next/state/watchable.d.ts +0 -114
  1408. package/dist/next/state/watchable.d.ts.map +0 -1
  1409. package/dist/next/state/watchable.js +0 -156
  1410. package/dist/next/state/watchable.js.map +0 -1
  1411. package/dist/next/state/writable.d.ts +0 -32
  1412. package/dist/next/state/writable.d.ts.map +0 -1
  1413. package/dist/next/state/writable.js.map +0 -1
  1414. package/dist/next/store/adapter.d.ts +0 -67
  1415. package/dist/next/store/adapter.d.ts.map +0 -1
  1416. package/dist/next/store/adapter.js.map +0 -1
  1417. package/dist/next/store/allocator.d.ts.map +0 -1
  1418. package/dist/next/store/allocator.js.map +0 -1
  1419. package/dist/next/store/applier.d.ts.map +0 -1
  1420. package/dist/next/store/applier.js.map +0 -1
  1421. package/dist/next/store/apply-batch.d.ts +0 -12
  1422. package/dist/next/store/apply-batch.d.ts.map +0 -1
  1423. package/dist/next/store/apply-batch.js.map +0 -1
  1424. package/dist/next/store/archive.d.ts +0 -32
  1425. package/dist/next/store/archive.d.ts.map +0 -1
  1426. package/dist/next/store/archive.js +0 -129
  1427. package/dist/next/store/archive.js.map +0 -1
  1428. package/dist/next/store/backend.d.ts +0 -10
  1429. package/dist/next/store/backend.d.ts.map +0 -1
  1430. package/dist/next/store/backend.js.map +0 -1
  1431. package/dist/next/store/catalog.d.ts +0 -24
  1432. package/dist/next/store/catalog.d.ts.map +0 -1
  1433. package/dist/next/store/catalog.js.map +0 -1
  1434. package/dist/next/store/claims.d.ts.map +0 -1
  1435. package/dist/next/store/claims.js.map +0 -1
  1436. package/dist/next/store/columns.d.ts.map +0 -1
  1437. package/dist/next/store/columns.js.map +0 -1
  1438. package/dist/next/store/engine.d.ts +0 -176
  1439. package/dist/next/store/engine.d.ts.map +0 -1
  1440. package/dist/next/store/engine.js +0 -283
  1441. package/dist/next/store/engine.js.map +0 -1
  1442. package/dist/next/store/evaluate.d.ts +0 -17
  1443. package/dist/next/store/evaluate.d.ts.map +0 -1
  1444. package/dist/next/store/evaluate.js.map +0 -1
  1445. package/dist/next/store/export.d.ts +0 -17
  1446. package/dist/next/store/export.d.ts.map +0 -1
  1447. package/dist/next/store/export.js +0 -200
  1448. package/dist/next/store/export.js.map +0 -1
  1449. package/dist/next/store/expression.d.ts +0 -150
  1450. package/dist/next/store/expression.d.ts.map +0 -1
  1451. package/dist/next/store/expression.js.map +0 -1
  1452. package/dist/next/store/import.d.ts +0 -10
  1453. package/dist/next/store/import.d.ts.map +0 -1
  1454. package/dist/next/store/import.js +0 -276
  1455. package/dist/next/store/import.js.map +0 -1
  1456. package/dist/next/store/index.d.ts.map +0 -1
  1457. package/dist/next/store/index.js.map +0 -1
  1458. package/dist/next/store/json-column.d.ts +0 -33
  1459. package/dist/next/store/json-column.d.ts.map +0 -1
  1460. package/dist/next/store/json-column.js +0 -61
  1461. package/dist/next/store/json-column.js.map +0 -1
  1462. package/dist/next/store/jsonl.d.ts.map +0 -1
  1463. package/dist/next/store/jsonl.js.map +0 -1
  1464. package/dist/next/store/outbox.d.ts +0 -26
  1465. package/dist/next/store/outbox.d.ts.map +0 -1
  1466. package/dist/next/store/outbox.js.map +0 -1
  1467. package/dist/next/store/query.d.ts +0 -39
  1468. package/dist/next/store/query.d.ts.map +0 -1
  1469. package/dist/next/store/query.js.map +0 -1
  1470. package/dist/next/store/refusal.d.ts.map +0 -1
  1471. package/dist/next/store/refusal.js.map +0 -1
  1472. package/dist/next/store/rows.d.ts +0 -80
  1473. package/dist/next/store/rows.d.ts.map +0 -1
  1474. package/dist/next/store/rows.js.map +0 -1
  1475. package/dist/next/store/schema.d.ts +0 -25
  1476. package/dist/next/store/schema.d.ts.map +0 -1
  1477. package/dist/next/store/schema.js +0 -115
  1478. package/dist/next/store/schema.js.map +0 -1
  1479. package/dist/next/store/sql.d.ts +0 -73
  1480. package/dist/next/store/sql.d.ts.map +0 -1
  1481. package/dist/next/store/sql.js.map +0 -1
  1482. package/dist/next/store/step.d.ts +0 -48
  1483. package/dist/next/store/step.d.ts.map +0 -1
  1484. package/dist/next/store/step.js +0 -50
  1485. package/dist/next/store/step.js.map +0 -1
  1486. package/dist/next/store/store.d.ts +0 -161
  1487. package/dist/next/store/store.d.ts.map +0 -1
  1488. package/dist/next/store/store.js +0 -627
  1489. package/dist/next/store/store.js.map +0 -1
  1490. package/dist/next/store/table-changes.d.ts +0 -29
  1491. package/dist/next/store/table-changes.d.ts.map +0 -1
  1492. package/dist/next/store/table-changes.js.map +0 -1
  1493. package/dist/next/store/table-evolve.d.ts.map +0 -1
  1494. package/dist/next/store/table-evolve.js.map +0 -1
  1495. package/dist/next/store/table-handle.d.ts +0 -67
  1496. package/dist/next/store/table-handle.d.ts.map +0 -1
  1497. package/dist/next/store/table-handle.js +0 -101
  1498. package/dist/next/store/table-handle.js.map +0 -1
  1499. package/dist/next/store/table-history.d.ts.map +0 -1
  1500. package/dist/next/store/table-history.js.map +0 -1
  1501. package/dist/next/store/table-migration.d.ts +0 -16
  1502. package/dist/next/store/table-migration.d.ts.map +0 -1
  1503. package/dist/next/store/table-migration.js +0 -202
  1504. package/dist/next/store/table-migration.js.map +0 -1
  1505. package/dist/next/store/table-writes.d.ts.map +0 -1
  1506. package/dist/next/store/table-writes.js +0 -165
  1507. package/dist/next/store/table-writes.js.map +0 -1
  1508. package/dist/next/store/table.d.ts +0 -80
  1509. package/dist/next/store/table.d.ts.map +0 -1
  1510. package/dist/next/store/table.js.map +0 -1
  1511. package/dist/next/store/text.d.ts.map +0 -1
  1512. package/dist/next/store/text.js.map +0 -1
  1513. package/dist/next/store/writes.d.ts.map +0 -1
  1514. package/dist/next/store/writes.js.map +0 -1
  1515. package/dist/next-node/compression.d.ts +0 -7
  1516. package/dist/next-node/compression.d.ts.map +0 -1
  1517. package/dist/next-node/compression.js +0 -24
  1518. package/dist/next-node/compression.js.map +0 -1
  1519. package/dist/next-node/http/admission.d.ts.map +0 -1
  1520. package/dist/next-node/http/admission.js.map +0 -1
  1521. package/dist/next-node/http/authenticate.d.ts +0 -21
  1522. package/dist/next-node/http/authenticate.d.ts.map +0 -1
  1523. package/dist/next-node/http/authenticate.js +0 -34
  1524. package/dist/next-node/http/authenticate.js.map +0 -1
  1525. package/dist/next-node/http/cookies.d.ts +0 -24
  1526. package/dist/next-node/http/cookies.d.ts.map +0 -1
  1527. package/dist/next-node/http/cookies.js +0 -62
  1528. package/dist/next-node/http/cookies.js.map +0 -1
  1529. package/dist/next-node/http/file.d.ts.map +0 -1
  1530. package/dist/next-node/http/file.js.map +0 -1
  1531. package/dist/next-node/http/headers.d.ts.map +0 -1
  1532. package/dist/next-node/http/headers.js +0 -129
  1533. package/dist/next-node/http/headers.js.map +0 -1
  1534. package/dist/next-node/http/http.d.ts +0 -100
  1535. package/dist/next-node/http/http.d.ts.map +0 -1
  1536. package/dist/next-node/http/http.js +0 -462
  1537. package/dist/next-node/http/http.js.map +0 -1
  1538. package/dist/next-node/http/incoming.d.ts.map +0 -1
  1539. package/dist/next-node/http/incoming.js.map +0 -1
  1540. package/dist/next-node/http/index.d.ts +0 -11
  1541. package/dist/next-node/http/index.d.ts.map +0 -1
  1542. package/dist/next-node/http/index.js +0 -12
  1543. package/dist/next-node/http/index.js.map +0 -1
  1544. package/dist/next-node/http/node.d.ts.map +0 -1
  1545. package/dist/next-node/http/node.js.map +0 -1
  1546. package/dist/next-node/http/request.d.ts +0 -54
  1547. package/dist/next-node/http/request.d.ts.map +0 -1
  1548. package/dist/next-node/http/request.js +0 -116
  1549. package/dist/next-node/http/request.js.map +0 -1
  1550. package/dist/next-node/http/response.d.ts +0 -63
  1551. package/dist/next-node/http/response.d.ts.map +0 -1
  1552. package/dist/next-node/http/response.js.map +0 -1
  1553. package/dist/next-node/http/router.d.ts +0 -114
  1554. package/dist/next-node/http/router.d.ts.map +0 -1
  1555. package/dist/next-node/http/router.js +0 -261
  1556. package/dist/next-node/http/router.js.map +0 -1
  1557. package/dist/next-node/http/upgrades.d.ts +0 -58
  1558. package/dist/next-node/http/upgrades.d.ts.map +0 -1
  1559. package/dist/next-node/http/upgrades.js +0 -184
  1560. package/dist/next-node/http/upgrades.js.map +0 -1
  1561. package/dist/next-node/plugins/build.d.ts +0 -57
  1562. package/dist/next-node/plugins/build.d.ts.map +0 -1
  1563. package/dist/next-node/plugins/build.js +0 -334
  1564. package/dist/next-node/plugins/build.js.map +0 -1
  1565. package/dist/next-node/plugins/discover.d.ts +0 -36
  1566. package/dist/next-node/plugins/discover.d.ts.map +0 -1
  1567. package/dist/next-node/plugins/discover.js +0 -91
  1568. package/dist/next-node/plugins/discover.js.map +0 -1
  1569. package/dist/next-node/plugins/evaluate.d.ts +0 -33
  1570. package/dist/next-node/plugins/evaluate.d.ts.map +0 -1
  1571. package/dist/next-node/plugins/evaluate.js +0 -98
  1572. package/dist/next-node/plugins/evaluate.js.map +0 -1
  1573. package/dist/next-node/plugins/index.d.ts +0 -9
  1574. package/dist/next-node/plugins/index.d.ts.map +0 -1
  1575. package/dist/next-node/plugins/index.js +0 -11
  1576. package/dist/next-node/plugins/index.js.map +0 -1
  1577. package/dist/next-node/plugins/install.d.ts +0 -13
  1578. package/dist/next-node/plugins/install.d.ts.map +0 -1
  1579. package/dist/next-node/plugins/install.js +0 -37
  1580. package/dist/next-node/plugins/install.js.map +0 -1
  1581. package/dist/next-node/plugins/plugins.d.ts +0 -135
  1582. package/dist/next-node/plugins/plugins.d.ts.map +0 -1
  1583. package/dist/next-node/plugins/plugins.js +0 -206
  1584. package/dist/next-node/plugins/plugins.js.map +0 -1
  1585. package/dist/next-node/plugins/runtime.d.ts +0 -41
  1586. package/dist/next-node/plugins/runtime.d.ts.map +0 -1
  1587. package/dist/next-node/plugins/runtime.js +0 -136
  1588. package/dist/next-node/plugins/runtime.js.map +0 -1
  1589. package/dist/next-node/plugins/stack.d.ts.map +0 -1
  1590. package/dist/next-node/plugins/stack.js.map +0 -1
  1591. package/dist/next-node/plugins/watcher.d.ts +0 -58
  1592. package/dist/next-node/plugins/watcher.d.ts.map +0 -1
  1593. package/dist/next-node/plugins/watcher.js +0 -281
  1594. package/dist/next-node/plugins/watcher.js.map +0 -1
  1595. package/dist/next-node/workers/control.d.ts +0 -83
  1596. package/dist/next-node/workers/control.d.ts.map +0 -1
  1597. package/dist/next-node/workers/control.js +0 -77
  1598. package/dist/next-node/workers/control.js.map +0 -1
  1599. package/dist/next-node/workers/index.d.ts +0 -5
  1600. package/dist/next-node/workers/index.d.ts.map +0 -1
  1601. package/dist/next-node/workers/index.js +0 -7
  1602. package/dist/next-node/workers/index.js.map +0 -1
  1603. package/dist/next-node/workers/lock.d.ts +0 -21
  1604. package/dist/next-node/workers/lock.d.ts.map +0 -1
  1605. package/dist/next-node/workers/lock.js +0 -137
  1606. package/dist/next-node/workers/lock.js.map +0 -1
  1607. package/dist/next-node/workers/main.d.ts +0 -46
  1608. package/dist/next-node/workers/main.d.ts.map +0 -1
  1609. package/dist/next-node/workers/main.js +0 -230
  1610. package/dist/next-node/workers/main.js.map +0 -1
  1611. package/dist/next-node/workers/process.d.ts +0 -42
  1612. package/dist/next-node/workers/process.d.ts.map +0 -1
  1613. package/dist/next-node/workers/process.js +0 -125
  1614. package/dist/next-node/workers/process.js.map +0 -1
  1615. package/dist/next-node/workers/workers.d.ts +0 -80
  1616. package/dist/next-node/workers/workers.d.ts.map +0 -1
  1617. package/dist/next-node/workers/workers.js +0 -572
  1618. package/dist/next-node/workers/workers.js.map +0 -1
  1619. package/dist/node.d.ts +0 -4
  1620. package/dist/node.d.ts.map +0 -1
  1621. package/dist/node.js +0 -4
  1622. package/dist/node.js.map +0 -1
  1623. package/dist/object.d.ts +0 -438
  1624. package/dist/object.d.ts.map +0 -1
  1625. package/dist/object.js +0 -1570
  1626. package/dist/object.js.map +0 -1
  1627. package/dist/publish.d.ts +0 -5
  1628. package/dist/publish.d.ts.map +0 -1
  1629. package/dist/publish.js +0 -40
  1630. package/dist/publish.js.map +0 -1
  1631. package/dist/registry.d.ts +0 -25
  1632. package/dist/registry.d.ts.map +0 -1
  1633. package/dist/registry.js +0 -6
  1634. package/dist/registry.js.map +0 -1
  1635. package/dist/reload.d.ts +0 -126
  1636. package/dist/reload.d.ts.map +0 -1
  1637. package/dist/reload.js +0 -653
  1638. package/dist/reload.js.map +0 -1
  1639. package/dist/remote.d.ts +0 -165
  1640. package/dist/remote.d.ts.map +0 -1
  1641. package/dist/remote.js +0 -612
  1642. package/dist/remote.js.map +0 -1
  1643. package/dist/schema.d.ts +0 -25
  1644. package/dist/schema.d.ts.map +0 -1
  1645. package/dist/schema.js +0 -403
  1646. package/dist/schema.js.map +0 -1
  1647. package/dist/state.d.ts +0 -92
  1648. package/dist/state.d.ts.map +0 -1
  1649. package/dist/state.js +0 -287
  1650. package/dist/state.js.map +0 -1
  1651. package/dist/types.d.ts +0 -88
  1652. package/dist/types.d.ts.map +0 -1
  1653. package/dist/types.js +0 -2
  1654. package/dist/types.js.map +0 -1
  1655. package/dist/websocket.d.ts +0 -15
  1656. package/dist/websocket.d.ts.map +0 -1
  1657. package/dist/websocket.js +0 -16
  1658. package/dist/websocket.js.map +0 -1
  1659. package/dist/wire.d.ts +0 -197
  1660. package/dist/wire.d.ts.map +0 -1
  1661. package/dist/wire.js +0 -166
  1662. package/dist/wire.js.map +0 -1
  1663. package/docs/guide.md +0 -814
  1664. package/docs/next/benchmarks.md +0 -959
  1665. package/docs/next/decisions.md +0 -2957
  1666. package/docs/next/dependencies/book.md +0 -1671
  1667. package/docs/next/dependencies/index.html +0 -2641
  1668. package/docs/next/design.md +0 -2554
  1669. package/docs/next/durable-observers/book.md +0 -432
  1670. package/docs/next/durable-observers/index.html +0 -517
  1671. package/docs/next/guide-plugins-hosts/book.md +0 -607
  1672. package/docs/next/guide-plugins-hosts/index.html +0 -652
  1673. package/docs/next/http-workers/book.md +0 -378
  1674. package/docs/next/http-workers/index.html +0 -515
  1675. package/docs/next/layer-1.md +0 -311
  1676. package/docs/next/layer-2.md +0 -216
  1677. package/docs/next/plugin-model/book.md +0 -186
  1678. package/docs/next/plugin-model/index.html +0 -310
  1679. package/docs/next/plugin-primer/book.md +0 -273
  1680. package/docs/next/plugin-primer/index.html +0 -430
  1681. package/docs/next/slice-1.md +0 -236
  1682. package/docs/next/slice-10.md +0 -285
  1683. package/docs/next/slice-11.md +0 -93
  1684. package/docs/next/slice-2.md +0 -174
  1685. package/docs/next/slice-3a.md +0 -296
  1686. package/docs/next/slice-3b.md +0 -197
  1687. package/docs/next/slice-4a.md +0 -418
  1688. package/docs/next/slice-4b.md +0 -208
  1689. package/docs/next/slice-6a.md +0 -676
  1690. package/docs/next/slice-6b.md +0 -332
  1691. package/docs/next/slice-7b/book.md +0 -608
  1692. package/docs/next/slice-7b/index.html +0 -842
  1693. package/docs/next/slice-7b.md +0 -255
  1694. package/docs/next/slice-7c.md +0 -165
  1695. package/docs/next/slices.md +0 -230
  1696. package/docs/next/store/book.md +0 -665
  1697. package/docs/next/store/index.html +0 -861
  1698. package/docs/next/store/walkthrough.md +0 -193
  1699. package/docs/spec.md +0 -288
  1700. package/docs/tutorial.md +0 -932
  1701. /package/dist/{next/contracts → contracts}/accepts.js +0 -0
  1702. /package/dist/{next/contracts → contracts}/contract.js +0 -0
  1703. /package/dist/{next/contracts → contracts}/declare.d.ts +0 -0
  1704. /package/dist/{next/contracts → contracts}/declare.js +0 -0
  1705. /package/dist/{next/contracts → contracts}/evolve.d.ts +0 -0
  1706. /package/dist/{next/contracts → contracts}/evolve.js +0 -0
  1707. /package/dist/{next/contracts → contracts}/fingerprint.js +0 -0
  1708. /package/dist/{next/contracts → contracts}/history.d.ts +0 -0
  1709. /package/dist/{next/contracts → contracts}/history.js +0 -0
  1710. /package/dist/{next/contracts → contracts}/host-kind.d.ts +0 -0
  1711. /package/dist/{next/contracts → contracts}/host-kind.js +0 -0
  1712. /package/dist/{next/contracts → contracts}/index.d.ts +0 -0
  1713. /package/dist/{next/contracts → contracts}/index.js +0 -0
  1714. /package/dist/{next/contracts → contracts}/internal.d.ts +0 -0
  1715. /package/dist/{next/contracts → contracts}/internal.js +0 -0
  1716. /package/dist/{next/contracts → contracts}/names.d.ts +0 -0
  1717. /package/dist/{next/contracts → contracts}/names.js +0 -0
  1718. /package/dist/{next/contracts → contracts}/params.js +0 -0
  1719. /package/dist/{next/contracts → contracts}/schema.d.ts +0 -0
  1720. /package/dist/{next/contracts → contracts}/schema.js +0 -0
  1721. /package/dist/{next/data → data}/args.js +0 -0
  1722. /package/dist/{next/data → data}/failure.d.ts +0 -0
  1723. /package/dist/{next/data → data}/params.js +0 -0
  1724. /package/dist/{next/documents → documents}/address-source.js +0 -0
  1725. /package/dist/{next/documents → documents}/fence.d.ts +0 -0
  1726. /package/dist/{next/documents → documents}/fence.js +0 -0
  1727. /package/dist/{next/documents → documents}/handles.js +0 -0
  1728. /package/dist/{next/documents → documents}/index.d.ts +0 -0
  1729. /package/dist/{next/documents → documents}/index.js +0 -0
  1730. /package/dist/{next/documents → documents}/internal.js +0 -0
  1731. /package/dist/{next/documents → documents}/line.d.ts +0 -0
  1732. /package/dist/{next/documents → documents}/line.js +0 -0
  1733. /package/dist/{next/documents → documents}/residency.js +0 -0
  1734. /package/dist/{next/host → host}/adapted.js +0 -0
  1735. /package/dist/{next/host → host}/backoff.d.ts +0 -0
  1736. /package/dist/{next/host → host}/backoff.js +0 -0
  1737. /package/dist/{next/host → host}/deadline.d.ts +0 -0
  1738. /package/dist/{next/host → host}/deadline.js +0 -0
  1739. /package/dist/{next/host → host}/dependencies.d.ts +0 -0
  1740. /package/dist/{next/host → host}/dependencies.js +0 -0
  1741. /package/dist/{next/host → host}/destination.js +0 -0
  1742. /package/dist/{next/host → host}/facet.js +0 -0
  1743. /package/dist/{next/host → host}/follow.js +0 -0
  1744. /package/dist/{next/host → host}/index.js +0 -0
  1745. /package/dist/{next/host → host}/members.js +0 -0
  1746. /package/dist/{next/host → host}/parked.js +0 -0
  1747. /package/dist/{next/host → host}/presence.js +0 -0
  1748. /package/dist/{next/host → host}/retry-on.d.ts +0 -0
  1749. /package/dist/{next/host → host}/retry-on.js +0 -0
  1750. /package/dist/{next/host → host}/revocation.js +0 -0
  1751. /package/dist/{next/host → host}/sleep.js +0 -0
  1752. /package/dist/{next/host → host}/uuid.d.ts +0 -0
  1753. /package/dist/{next/host → host}/uuid.js +0 -0
  1754. /package/dist/{next/jobs → jobs}/definition.d.ts +0 -0
  1755. /package/dist/{next/jobs → jobs}/definition.js +0 -0
  1756. /package/dist/{next/jobs → jobs}/index.d.ts +0 -0
  1757. /package/dist/{next/jobs → jobs}/index.js +0 -0
  1758. /package/dist/{next/jobs → jobs}/internal.d.ts +0 -0
  1759. /package/dist/{next/jobs → jobs}/internal.js +0 -0
  1760. /package/dist/{next/jobs → jobs}/persisted.js +0 -0
  1761. /package/dist/{next/jobs → jobs}/running.js +0 -0
  1762. /package/dist/{next/jobs → jobs}/stored.js +0 -0
  1763. /package/dist/{next/link → link}/binary.d.ts +0 -0
  1764. /package/dist/{next/link → link}/errors.d.ts +0 -0
  1765. /package/dist/{next/link → link}/errors.js +0 -0
  1766. /package/dist/{next/link → link}/index.d.ts +0 -0
  1767. /package/dist/{next/link → link}/index.js +0 -0
  1768. /package/dist/{next/link → link}/internal.d.ts +0 -0
  1769. /package/dist/{next/link → link}/internal.js +0 -0
  1770. /package/dist/{next/link → link}/ipc.d.ts +0 -0
  1771. /package/dist/{next/link → link}/ipc.js +0 -0
  1772. /package/dist/{next/link → link}/link.d.ts +0 -0
  1773. /package/dist/{next/link → link}/link.js +0 -0
  1774. /package/dist/{next/link → link}/text.d.ts +0 -0
  1775. /package/dist/{next/link → link}/values.d.ts +0 -0
  1776. /package/dist/{next/link → link}/websocket.d.ts +0 -0
  1777. /package/dist/{next/link → link}/websocket.js +0 -0
  1778. /package/dist/{next-node → node}/http/admission.d.ts +0 -0
  1779. /package/dist/{next-node → node}/http/admission.js +0 -0
  1780. /package/dist/{next-node → node}/http/file.d.ts +0 -0
  1781. /package/dist/{next-node → node}/http/file.js +0 -0
  1782. /package/dist/{next-node → node}/http/headers.d.ts +0 -0
  1783. /package/dist/{next-node → node}/http/incoming.d.ts +0 -0
  1784. /package/dist/{next-node → node}/http/incoming.js +0 -0
  1785. /package/dist/{next-node → node}/http/node.d.ts +0 -0
  1786. /package/dist/{next-node → node}/http/node.js +0 -0
  1787. /package/dist/{next-node → node}/http/response.js +0 -0
  1788. /package/dist/{next-node → node}/plugins/stack.d.ts +0 -0
  1789. /package/dist/{next-node → node}/plugins/stack.js +0 -0
  1790. /package/dist/{next/registries → registries}/contribution.d.ts +0 -0
  1791. /package/dist/{next/registries → registries}/contribution.js +0 -0
  1792. /package/dist/{next/registries → registries}/entries.d.ts +0 -0
  1793. /package/dist/{next/registries → registries}/entries.js +0 -0
  1794. /package/dist/{next/registries → registries}/index.d.ts +0 -0
  1795. /package/dist/{next/registries → registries}/index.js +0 -0
  1796. /package/dist/{next/registries → registries}/internal.d.ts +0 -0
  1797. /package/dist/{next/registries → registries}/internal.js +0 -0
  1798. /package/dist/{next/registries → registries}/registry.js +0 -0
  1799. /package/dist/{next/registries → registries}/value.d.ts +0 -0
  1800. /package/dist/{next/remote → remote}/calls.d.ts +0 -0
  1801. /package/dist/{next/remote → remote}/calls.js +0 -0
  1802. /package/dist/{next/remote → remote}/internal.d.ts +0 -0
  1803. /package/dist/{next/remote → remote}/internal.js +0 -0
  1804. /package/dist/{next/remote → remote}/path.d.ts +0 -0
  1805. /package/dist/{next/remote → remote}/path.js +0 -0
  1806. /package/dist/{next/state → state}/index.js +0 -0
  1807. /package/dist/{next/state → state}/internal.d.ts +0 -0
  1808. /package/dist/{next/state → state}/internal.js +0 -0
  1809. /package/dist/{next/state → state}/writable.js +0 -0
  1810. /package/dist/{next/store → store}/adapter.js +0 -0
  1811. /package/dist/{next/store → store}/allocator.d.ts +0 -0
  1812. /package/dist/{next/store → store}/allocator.js +0 -0
  1813. /package/dist/{next/store → store}/applier.d.ts +0 -0
  1814. /package/dist/{next/store → store}/applier.js +0 -0
  1815. /package/dist/{next/store → store}/apply-batch.js +0 -0
  1816. /package/dist/{next/store → store}/backend.js +0 -0
  1817. /package/dist/{next/store → store}/catalog.js +0 -0
  1818. /package/dist/{next/store → store}/claims.d.ts +0 -0
  1819. /package/dist/{next/store → store}/claims.js +0 -0
  1820. /package/dist/{next/store → store}/columns.d.ts +0 -0
  1821. /package/dist/{next/store → store}/columns.js +0 -0
  1822. /package/dist/{next/store → store}/evaluate.js +0 -0
  1823. /package/dist/{next/store → store}/expression.js +0 -0
  1824. /package/dist/{next/store → store}/index.d.ts +0 -0
  1825. /package/dist/{next/store → store}/index.js +0 -0
  1826. /package/dist/{next/store → store}/jsonl.d.ts +0 -0
  1827. /package/dist/{next/store → store}/jsonl.js +0 -0
  1828. /package/dist/{next/store → store}/outbox.js +0 -0
  1829. /package/dist/{next/store → store}/query.js +0 -0
  1830. /package/dist/{next/store → store}/refusal.d.ts +0 -0
  1831. /package/dist/{next/store → store}/refusal.js +0 -0
  1832. /package/dist/{next/store → store}/rows.js +0 -0
  1833. /package/dist/{next/store → store}/sql.js +0 -0
  1834. /package/dist/{next/store → store}/table-changes.js +0 -0
  1835. /package/dist/{next/store → store}/table-evolve.d.ts +0 -0
  1836. /package/dist/{next/store → store}/table-evolve.js +0 -0
  1837. /package/dist/{next/store → store}/table-history.d.ts +0 -0
  1838. /package/dist/{next/store → store}/table-history.js +0 -0
  1839. /package/dist/{next/store → store}/table-writes.d.ts +0 -0
  1840. /package/dist/{next/store → store}/table.js +0 -0
  1841. /package/dist/{next/store → store}/text.d.ts +0 -0
  1842. /package/dist/{next/store → store}/text.js +0 -0
  1843. /package/dist/{next/store → store}/writes.d.ts +0 -0
  1844. /package/dist/{next/store → store}/writes.js +0 -0
  1845. /package/docs/{next/dependencies → dependencies}/model.md +0 -0
  1846. /package/docs/{next/flow-control → flow-control}/book.md +0 -0
  1847. /package/docs/{next/flow-control → flow-control}/fold/index.html +0 -0
  1848. /package/docs/{next/flow-control → flow-control}/index.html +0 -0
  1849. /package/docs/{next/flow-control → flow-control}/window/index.html +0 -0
  1850. /package/docs/{next/slice-4.md → slice-4.md} +0 -0
  1851. /package/docs/{next/slice-5.md → slice-5.md} +0 -0
  1852. /package/docs/{next/slice-7a.md → slice-7a.md} +0 -0
  1853. /package/docs/{next/slice-8.md → slice-8.md} +0 -0
@@ -1,121 +0,0 @@
1
- import type { Context } from "../../context/index.ts";
2
- import type { Watchable, WatchHandle } from "../../watch.ts";
3
- import type { Change, CurrentStep, History, VariantShape } from "./history.ts";
4
- import type { Address } from "./host-kind.ts";
5
- import type { Params, ParamsData } from "./params.ts";
6
- import type { Method, NullSchema, Static } from "./schema.ts";
7
- import type { Snapshot } from "./snapshot.ts";
8
- export type Kind = "remote" | "local";
9
- /** The variant name of a local contract's members. */
10
- export declare const LOCAL = "members";
11
- /** Everything the types know about a contract: kind, name, params and the whole history. */
12
- export type ContractShape = {
13
- readonly kind: Kind;
14
- readonly name: string;
15
- readonly params: Params;
16
- readonly history: History;
17
- };
18
- /** A declared contract: a branded handle, immutable by convention. Spread or hand-built copies are refused. */
19
- export interface Contract<S extends ContractShape = ContractShape> {
20
- readonly kind: S["kind"];
21
- readonly name: S["name"];
22
- readonly version: number;
23
- readonly fingerprint: string;
24
- /** Type only: absent at runtime. */
25
- readonly "~shape"?: S;
26
- }
27
- export type ShapeOf<C extends Contract> = NonNullable<C["~shape"]>;
28
- /** The variants of a contract's current version. */
29
- export type CurrentVariants<C extends Contract> = CurrentStep<ShapeOf<C>["history"]>["variants"];
30
- /** The params object of a contract. */
31
- export type ParamsOf<C extends Contract> = {
32
- [F in keyof ShapeOf<C>["params"]]: Static<ShapeOf<C>["params"][F]>;
33
- };
34
- /**
35
- * What a factory returns: for `local`, a `Watchable` per state member and a function per method, `(args, context)`,
36
- * or `(context)` when the method takes no arguments; for `remote`, one variant `{ variant, members }` with exactly
37
- * that variant's members. `X` is the context the methods get.
38
- */
39
- export type Implementation<C extends Contract, X extends Context = Context> = ImplementationOf<ShapeOf<C>["kind"], CurrentVariants<C>, X>;
40
- type ImplementationOf<K extends Kind, V extends {
41
- readonly [variant: string]: VariantShape;
42
- }, X extends Context> = K extends "local" ? VariantImplementation<V[typeof LOCAL], X> : {
43
- [N in keyof V]: {
44
- readonly variant: N;
45
- readonly members: VariantImplementation<V[N], X>;
46
- };
47
- }[keyof V];
48
- /**
49
- * One variant's members: a `Watchable` per state member, a function per method and, in a local contract, a
50
- * `KeyedWatchable` per keyed member.
51
- */
52
- export type VariantImplementation<V extends VariantShape, X extends Context = Context> = {
53
- [M in keyof V["state"] | keyof V["methods"] | keyof NonNullable<V["keyed"]>]: M extends keyof V["methods"] ? MethodFunction<V["methods"][M], X> : M extends keyof V["state"] ? Watchable<Static<V["state"][M]>> : M extends keyof NonNullable<V["keyed"]> ? KeyedWatchable<Static<NonNullable<V["keyed"]>[M]>> : never;
54
- };
55
- /**
56
- * A keyed state member (slice 6a §12): documents by key, each watchable on its own; a keyed document handle
57
- * provides it. `at(key)` is valid only in a factory (it pins the key while that attempt lives).
58
- */
59
- export interface KeyedWatchable<T> {
60
- /** The document at `key`, `undefined` when absent. */
61
- get(key: string, context: Context): Promise<T | undefined>;
62
- /** A watch of the document at `key` that follows its address, `undefined` when absent. */
63
- watch(key: string, context: Context): Promise<WatchHandle<T> | undefined>;
64
- /** In a factory only: the document at `key` as a watchable, `initial()` while absent. */
65
- at(key: string): Watchable<T>;
66
- }
67
- /** A method as a function: without the argument when its argument schema is `null` (`null` stays the wire form). */
68
- type MethodFunction<M extends Method, X extends Context = Context> = M["args"] extends NullSchema ? (context: X) => Promise<Static<M["result"]>> : (args: Static<M["args"]>, context: X) => Promise<Static<M["result"]>>;
69
- /** The Chord-owned data behind a contract handle. */
70
- export type ContractData = {
71
- readonly kind: Kind;
72
- readonly name: string;
73
- readonly params: ParamsData;
74
- /** A remote contract's host address: the address of the host serving an object for its params; none for local. */
75
- readonly hostAddress: HostAddress | undefined;
76
- /** Every version of the history, oldest first; the last is current. */
77
- readonly versions: readonly VersionData[];
78
- /** The kind of every member name ever declared in the history. */
79
- readonly kinds: ReadonlyMap<string, MemberKind>;
80
- };
81
- export type MemberKind = "state" | "method" | "keyed";
82
- /** A `hostAddress` as Chord calls it: with checked params. Plugin code: what it returns is checked where routed. */
83
- export type HostAddress = (params: ParamsOf<Contract>) => Address;
84
- export type VersionData = {
85
- readonly version: number;
86
- readonly fingerprint: string;
87
- readonly variants: ReadonlyMap<string, VariantData>;
88
- /** The changes that produced this version; empty for a base. */
89
- readonly changes: readonly Change[];
90
- };
91
- export type VariantData = {
92
- readonly state: ReadonlyMap<string, Snapshot>;
93
- readonly methods: ReadonlyMap<string, MethodData>;
94
- /** Keyed state members (slice 6a §12): only a local contract has any. */
95
- readonly keyed: ReadonlyMap<string, Snapshot>;
96
- };
97
- export type MethodData = {
98
- readonly args: Snapshot;
99
- readonly result: Snapshot;
100
- };
101
- /** The data behind a contract handle; refuses spread and hand-built copies. */
102
- export declare function contractData(contract: Contract): ContractData;
103
- /** Whether a method takes no arguments: its argument schema is `null`, so its functions omit the argument. */
104
- export declare function takesNoArgs(method: MethodData): boolean;
105
- /** The variants of a contract's current version; a local contract has the one variant `LOCAL`. */
106
- export declare function currentVariants(contract: Contract): ReadonlyMap<string, VariantData>;
107
- /** The variants of version `version` of a contract's history (an older consumer's binding, Q10). */
108
- export declare function variantsAt(contract: Contract, version: number): ReadonlyMap<string, VariantData>;
109
- /** A variant's names as links index them (2b): its state members and its methods, each sorted. */
110
- export type VariantNames = {
111
- readonly state: readonly string[];
112
- readonly methods: readonly string[];
113
- };
114
- /** The current version's variant names in the order links index them: sorted. */
115
- export declare function variantOrder(contract: Contract): readonly string[];
116
- /** A variant's state members and methods in the order links index them: each sorted. */
117
- export declare function variantNames(variant: VariantData): VariantNames;
118
- /** A new contract handle for `data`; the caller states the type-level shape. */
119
- export declare function createContract<C extends Contract>(data: ContractData): C;
120
- export {};
121
- //# sourceMappingURL=contract.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../src/next/contracts/contract.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../src/next/contracts/contract.ts"],"names":[],"mappings":"AAAA,iHAAiH;AACjH,aAAa;AAYb,sDAAsD;AACtD,MAAM,CAAC,MAAM,KAAK,GAAG,SAAS,CAAC;AAkH/B,+EAA+E;AAC/E,MAAM,UAAU,YAAY,CAAC,QAAkB;IAC9C,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,sEAAsE,CAAC,CAAC;IACzG,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,MAAM,SAAS,GAAG,IAAI,OAAO,EAA0B,CAAC;AAExD,8GAA8G;AAC9G,MAAM,UAAU,WAAW,CAAC,MAAkB;IAC7C,mDAAmD;IACnD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAiD,CAAC;IAC7E,OAAO,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AACnE,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,eAAe,CAAC,QAAkB;IACjD,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC;AACzD,CAAC;AAED,oGAAoG;AACpG,MAAM,UAAU,UAAU,CAAC,QAAkB,EAAE,OAAe;IAC7D,2EAA2E;IAC3E,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,CAAE,CAAC,QAAQ,CAAC;AAC3F,CAAC;AAKD,iFAAiF;AACjF,MAAM,UAAU,YAAY,CAAC,QAAkB;IAC9C,OAAO,CAAC,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACrD,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,YAAY,CAAC,OAAoB;IAChD,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;AACjG,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,cAAc,CAAqB,IAAkB;IACpE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;IACtC,MAAM,QAAQ,GAAa;QAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,WAAW,EAAE,OAAO,CAAC,WAAW;KAChC,CAAC;IACF,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9B,wEAAwE;IACxE,OAAO,QAAa,CAAC;AACtB,CAAC","sourcesContent":["// Contract handles: the branded, immutable value an app declares, its type-level shape, and the Chord-owned data\n// behind it.\n\nimport type { Context } from \"../../context/index.ts\";\nimport type { Watchable, WatchHandle } from \"../../watch.ts\";\nimport type { Change, CurrentStep, History, VariantShape } from \"./history.ts\";\nimport type { Address } from \"./host-kind.ts\";\nimport type { Params, ParamsData } from \"./params.ts\";\nimport type { Method, NullSchema, Static } from \"./schema.ts\";\nimport type { Snapshot } from \"./snapshot.ts\";\n\nexport type Kind = \"remote\" | \"local\";\n\n/** The variant name of a local contract's members. */\nexport const LOCAL = \"members\";\n\n/** Everything the types know about a contract: kind, name, params and the whole history. */\nexport type ContractShape = {\n\treadonly kind: Kind;\n\treadonly name: string;\n\treadonly params: Params;\n\treadonly history: History;\n};\n\n/** A declared contract: a branded handle, immutable by convention. Spread or hand-built copies are refused. */\nexport interface Contract<S extends ContractShape = ContractShape> {\n\treadonly kind: S[\"kind\"];\n\treadonly name: S[\"name\"];\n\treadonly version: number;\n\treadonly fingerprint: string;\n\t/** Type only: absent at runtime. */\n\treadonly \"~shape\"?: S;\n}\n\nexport type ShapeOf<C extends Contract> = NonNullable<C[\"~shape\"]>;\n\n/** The variants of a contract's current version. */\nexport type CurrentVariants<C extends Contract> = CurrentStep<ShapeOf<C>[\"history\"]>[\"variants\"];\n\n/** The params object of a contract. */\nexport type ParamsOf<C extends Contract> = { [F in keyof ShapeOf<C>[\"params\"]]: Static<ShapeOf<C>[\"params\"][F]> };\n\n/**\n * What a factory returns: for `local`, a `Watchable` per state member and a function per method, `(args, context)`,\n * or `(context)` when the method takes no arguments; for `remote`, one variant `{ variant, members }` with exactly\n * that variant's members. `X` is the context the methods get.\n */\nexport type Implementation<C extends Contract, X extends Context = Context> = ImplementationOf<\n\tShapeOf<C>[\"kind\"],\n\tCurrentVariants<C>,\n\tX\n>;\n\ntype ImplementationOf<\n\tK extends Kind,\n\tV extends { readonly [variant: string]: VariantShape },\n\tX extends Context,\n> = K extends \"local\"\n\t? VariantImplementation<V[typeof LOCAL], X>\n\t: { [N in keyof V]: { readonly variant: N; readonly members: VariantImplementation<V[N], X> } }[keyof V];\n\n/**\n * One variant's members: a `Watchable` per state member, a function per method and, in a local contract, a\n * `KeyedWatchable` per keyed member.\n */\nexport type VariantImplementation<V extends VariantShape, X extends Context = Context> = {\n\t[M in keyof V[\"state\"] | keyof V[\"methods\"] | keyof NonNullable<V[\"keyed\"]>]: M extends keyof V[\"methods\"]\n\t\t? MethodFunction<V[\"methods\"][M], X>\n\t\t: M extends keyof V[\"state\"]\n\t\t\t? Watchable<Static<V[\"state\"][M]>>\n\t\t\t: M extends keyof NonNullable<V[\"keyed\"]>\n\t\t\t\t? KeyedWatchable<Static<NonNullable<V[\"keyed\"]>[M]>>\n\t\t\t\t: never;\n};\n\n/**\n * A keyed state member (slice 6a §12): documents by key, each watchable on its own; a keyed document handle\n * provides it. `at(key)` is valid only in a factory (it pins the key while that attempt lives).\n */\nexport interface KeyedWatchable<T> {\n\t/** The document at `key`, `undefined` when absent. */\n\tget(key: string, context: Context): Promise<T | undefined>;\n\t/** A watch of the document at `key` that follows its address, `undefined` when absent. */\n\twatch(key: string, context: Context): Promise<WatchHandle<T> | undefined>;\n\t/** In a factory only: the document at `key` as a watchable, `initial()` while absent. */\n\tat(key: string): Watchable<T>;\n}\n\n/** A method as a function: without the argument when its argument schema is `null` (`null` stays the wire form). */\ntype MethodFunction<M extends Method, X extends Context = Context> = M[\"args\"] extends NullSchema\n\t? (context: X) => Promise<Static<M[\"result\"]>>\n\t: (args: Static<M[\"args\"]>, context: X) => Promise<Static<M[\"result\"]>>;\n\n/** The Chord-owned data behind a contract handle. */\nexport type ContractData = {\n\treadonly kind: Kind;\n\treadonly name: string;\n\treadonly params: ParamsData;\n\t/** A remote contract's host address: the address of the host serving an object for its params; none for local. */\n\treadonly hostAddress: HostAddress | undefined;\n\t/** Every version of the history, oldest first; the last is current. */\n\treadonly versions: readonly VersionData[];\n\t/** The kind of every member name ever declared in the history. */\n\treadonly kinds: ReadonlyMap<string, MemberKind>;\n};\n\nexport type MemberKind = \"state\" | \"method\" | \"keyed\";\n\n/** A `hostAddress` as Chord calls it: with checked params. Plugin code: what it returns is checked where routed. */\nexport type HostAddress = (params: ParamsOf<Contract>) => Address;\n\nexport type VersionData = {\n\treadonly version: number;\n\treadonly fingerprint: string;\n\treadonly variants: ReadonlyMap<string, VariantData>;\n\t/** The changes that produced this version; empty for a base. */\n\treadonly changes: readonly Change[];\n};\n\nexport type VariantData = {\n\treadonly state: ReadonlyMap<string, Snapshot>;\n\treadonly methods: ReadonlyMap<string, MethodData>;\n\t/** Keyed state members (slice 6a §12): only a local contract has any. */\n\treadonly keyed: ReadonlyMap<string, Snapshot>;\n};\n\nexport type MethodData = { readonly args: Snapshot; readonly result: Snapshot };\n\n/** The data behind a contract handle; refuses spread and hand-built copies. */\nexport function contractData(contract: Contract): ContractData {\n\tconst data = contracts.get(contract);\n\tif (data === undefined) {\n\t\tthrow new Error(`${contract.name}: not a declared contract (spread and hand-built copies are refused)`);\n\t}\n\treturn data;\n}\n\nconst contracts = new WeakMap<Contract, ContractData>();\n\n/** Whether a method takes no arguments: its argument schema is `null`, so its functions omit the argument. */\nexport function takesNoArgs(method: MethodData): boolean {\n\t// A schema's normal form is an object of keywords.\n\tconst normal = method.args.normal as { readonly [keyword: string]: unknown };\n\treturn normal.type === \"null\" && Object.keys(normal).length === 1;\n}\n\n/** The variants of a contract's current version; a local contract has the one variant `LOCAL`. */\nexport function currentVariants(contract: Contract): ReadonlyMap<string, VariantData> {\n\treturn contractData(contract).versions.at(-1)!.variants;\n}\n\n/** The variants of version `version` of a contract's history (an older consumer's binding, Q10). */\nexport function variantsAt(contract: Contract, version: number): ReadonlyMap<string, VariantData> {\n\t// Callers name a version the provider binds (`binds`): its history has it.\n\treturn contractData(contract).versions.find((data) => data.version === version)!.variants;\n}\n\n/** A variant's names as links index them (2b): its state members and its methods, each sorted. */\nexport type VariantNames = { readonly state: readonly string[]; readonly methods: readonly string[] };\n\n/** The current version's variant names in the order links index them: sorted. */\nexport function variantOrder(contract: Contract): readonly string[] {\n\treturn [...currentVariants(contract).keys()].sort();\n}\n\n/** A variant's state members and methods in the order links index them: each sorted. */\nexport function variantNames(variant: VariantData): VariantNames {\n\treturn { state: [...variant.state.keys()].sort(), methods: [...variant.methods.keys()].sort() };\n}\n\n/** A new contract handle for `data`; the caller states the type-level shape. */\nexport function createContract<C extends Contract>(data: ContractData): C {\n\tconst current = data.versions.at(-1)!;\n\tconst contract: Contract = {\n\t\tkind: data.kind,\n\t\tname: data.name,\n\t\tversion: current.version,\n\t\tfingerprint: current.fingerprint,\n\t};\n\tcontracts.set(contract, data);\n\t// The shape is type-level only; every caller states the shape it built.\n\treturn contract as C;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"declare.d.ts","sourceRoot":"","sources":["../../../src/next/contracts/declare.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"declare.js","sourceRoot":"","sources":["../../../src/next/contracts/declare.ts"],"names":[],"mappings":"AAAA,6GAA6G;AAC7G,6BAA6B;AAE7B,OAAO,EAEN,cAAc,EAGd,KAAK,GAIL,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAoC,UAAU,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,EAA4B,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAiB,iBAAiB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAkDjF,+EAA+E;AAC/E,MAAM,UAAU,MAAM,CAMrB,IAAO,EACP,WAMC;IAOD,kEAAkE;IAClE,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;IACnC,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC;IAC/E,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,IAAI,WAAW,CAAC,CAAC;IACrE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,6CAA6C,CAAC,CAAC;IACjG,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC;IACpC,IAAI,OAAO,WAAW,KAAK,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,iDAAiD,CAAC,CAAC;IACjH,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC,CAAU,CAAC,CAAC;IAClH,6DAA6D;IAC7D,OAAO,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,WAA0B,CAAC,CAAC;AACxF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,KAAK,CAMpB,IAAO,EACP,WAA0G;IAO1G,kEAAkE;IAClE,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;IACnC,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC9C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC1C,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,EAAE,CAAC;QAClF,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;QAC1C,IAAI,KAAK,YAAY,MAAM;YAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;aACrE,IAAI,KAAK,YAAY,WAAW;YAAE,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;;YACxF,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3F,CAAC;AAED,SAAS,WAAW,CAAC,MAAe,EAAE,IAAY;IACjD,SAAS,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;IAC9C,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,MAA4B,CAAC;IAClE,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE;QAC/E,IAAI,MAAM,YAAY,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,UAAU,MAAM,+BAA+B,CAAC,CAAC;QACtG,IAAI,MAAM,YAAY,WAAW,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,UAAU,MAAM,6CAA6C,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,GAAG,IAAI,UAAU,MAAM,EAAE,CAAC,CAAU,CAAC;IAC7E,CAAC,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,EAAE,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE;QACpF,IAAI,CAAC,CAAC,MAAM,YAAY,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,YAAY,MAAM,wBAAwB,CAAC,CAAC;QACpG,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,GAAG,IAAI,YAAY,MAAM,EAAE,CAAC,CAAU,CAAC;IAC3E,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,EAAE,IAAI,GAAG,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;AAC5F,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,UAAU,CAAC,MAAc,EAAE,IAAY;IACtD,OAAO;QACN,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,OAAO,CAAC;QACpD,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC;KACvD,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CACf,IAAU,EACV,IAAY,EACZ,WAAmE,EACnE,QAA0C,EAC1C,WAAyB;IAEzB,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;IAChC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,uCAAuC,CAAC,CAAC;IACnH,MAAM,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC5C,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IACpH,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,EAAE,GAAG,IAAI,SAAS,CAAC,CAAC;IAC7F,MAAM,QAAQ,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IACpE,OAAO,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAC3B,QAA0C,EAC1C,KAA8B,EAC9B,IAAmE;IAEnE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,KAAK,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC7D,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE;YAAE,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QACtG,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE;YAAE,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QACtG,KAAK,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC;YAClD,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;YACrE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAC/D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;gBACzD,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,oDAAoD,CAAC,CAAC;YACzG,CAAC;YACD,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACnC,CAAC;IACF,CAAC;AACF,CAAC;AAED,SAAS,UAAU,CAAC,KAA8B,EAAE,MAAc,EAAE,IAAgB,EAAE,IAAY;IACjG,IAAI,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,MAAM,MAAM,mCAAmC,CAAC,CAAC;IAC1G,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,MAAM,MAAM,UAAU,KAAK,iCAAiC,CAAC,CAAC;IACtF,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAExG,wFAAwF;AACxF,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,IAAU,EAAE,OAAe,EAAE,MAAc,EAAE,UAAsB;IAC3G,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,GAAG,IAAI,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;IAC1D,OAAO,GAAG,IAAI,IAAI,OAAO,IAAI,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,MAAM,EAAE,CAAC;AACvF,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,SAAS,CAAC,MAAe,EAAE,OAA0B,EAAE,IAAY;IAClF,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,kBAAkB,GAAG,GAAG,CAAC,CAAC;IAC9E,CAAC;AACF,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,SAAS,CAAC,MAAe,EAAE,IAAY;IACtD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5E,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,sBAAsB,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC","sourcesContent":["// Declarations: `remote(...)` and `local(...)`, the checks every declared version passes, and the reading of\n// untyped declaration input.\n\nimport {\n\ttype Contract,\n\tcreateContract,\n\ttype HostAddress,\n\ttype Kind,\n\tLOCAL,\n\ttype MemberKind,\n\ttype MethodData,\n\ttype VariantData,\n} from \"./contract.ts\";\nimport { materialize } from \"./fingerprint.ts\";\nimport type { MemberNames, MethodAt, VariantShape } from \"./history.ts\";\nimport type { Address } from \"./host-kind.ts\";\nimport { checkName } from \"./names.ts\";\nimport { type Params, type RequiredFields, readParams } from \"./params.ts\";\nimport { KeyedMember, Method, type Schema, type Static } from \"./schema.ts\";\nimport { type Snapshot, snapshotArguments, snapshotSchema } from \"./snapshot.ts\";\n\ntype VariantDeclaration = {\n\treadonly state?: { readonly [member: string]: Schema };\n\treadonly methods?: { readonly [member: string]: Method };\n};\n\ntype VariantDeclarations = { readonly [variant: string]: VariantDeclaration };\n\ntype RemoteVariants<D extends VariantDeclarations> = {\n\t[V in keyof D]: {\n\t\tstate: D[V][\"state\"] extends object ? D[V][\"state\"] : Record<never, never>;\n\t\tmethods: D[V][\"methods\"] extends object ? D[V][\"methods\"] : Record<never, never>;\n\t};\n};\n\ntype LocalVariants<M extends { readonly [member: string]: LocalMember }> = {\n\t[LOCAL]: {\n\t\tstate: { [K in keyof M as M[K] extends Method | KeyedMember ? never : K]: Exclude<M[K], Method | KeyedMember> };\n\t\tmethods: { [K in keyof M as M[K] extends Method ? K : never]: Extract<M[K], Method> };\n\t\tkeyed: { [K in keyof M as M[K] extends KeyedMember ? K : never]: SchemaOf<M[K]> };\n\t};\n};\n\n/** A local contract's member: a state schema, `method(...)` or `keyed(schema)`. */\ntype LocalMember = Schema | Method | KeyedMember;\n\ntype SchemaOf<M> = M extends KeyedMember<infer S> ? S : never;\n\n/** D11: a member name has one kind in every variant, a method one signature; no keyed members. */\ntype SameMembers<D extends VariantDeclarations, V extends { [variant: string]: VariantShape } = RemoteVariants<D>> = {\n\t[X in keyof D]: {\n\t\tstate?: {\n\t\t\t// Keyed members are only in local contracts (slice 6a §12).\n\t\t\t[M in keyof D[X][\"state\"]]: M extends MemberNames<V, \"methods\">\n\t\t\t\t? never\n\t\t\t\t: D[X][\"state\"][M] extends KeyedMember\n\t\t\t\t\t? never\n\t\t\t\t\t: D[X][\"state\"][M];\n\t\t};\n\t\tmethods?: {\n\t\t\t[M in keyof D[X][\"methods\"]]: M extends MemberNames<V, \"state\">\n\t\t\t\t? never\n\t\t\t\t: [MethodAt<V, M>] extends [D[X][\"methods\"][M]]\n\t\t\t\t\t? D[X][\"methods\"][M]\n\t\t\t\t\t: never;\n\t\t};\n\t};\n};\n\n/** Declares a remote contract: per-principal variants of state and methods. */\nexport function remote<\n\tconst N extends string,\n\tconst P extends Params,\n\tconst V extends number,\n\tconst D extends VariantDeclarations,\n>(\n\tname: N,\n\tdeclaration: {\n\t\treadonly version: V;\n\t\treadonly params: P & NoInfer<RequiredFields<P>>;\n\t\t/** The address of the host serving an object for these params; never part of the fingerprint. */\n\t\treadonly hostAddress: (params: { [F in keyof P]: Static<P[F]> }) => Address;\n\t\treadonly variants: D & NoInfer<SameMembers<D>>;\n\t},\n): Contract<{\n\tkind: \"remote\";\n\tname: N;\n\tparams: P;\n\thistory: [{ version: `${V}`; variants: RemoteVariants<D>; changes: never }];\n}> {\n\t// Declaration policy: JavaScript callers reach every check below.\n\tcheckName(name, \"A contract name\");\n\tcheckKeys(declaration, [\"version\", \"params\", \"hostAddress\", \"variants\"], name);\n\tconst variants = entriesOf(declaration.variants, `${name}.variants`);\n\tif (variants.length === 0) throw new Error(`${name}.variants: at least one variant is required`);\n\tconst { hostAddress } = declaration;\n\tif (typeof hostAddress !== \"function\") throw new Error(`${name}.hostAddress: expected a function of the params`);\n\tconst read = variants.map(([variant, members]) => [variant, readVariant(members, `${name}.${variant}`)] as const);\n\t// The host address gets the checked params of this contract.\n\treturn declare(\"remote\", name, declaration, new Map(read), hostAddress as HostAddress);\n}\n\n/**\n * Declares a local contract: one flat map of members, where a schema is state, `method(...)` a method and\n * `keyed(schema)` a keyed state member.\n */\nexport function local<\n\tconst N extends string,\n\tconst P extends Params,\n\tconst V extends number,\n\tconst M extends { readonly [member: string]: LocalMember },\n>(\n\tname: N,\n\tdeclaration: { readonly version: V; readonly params: P & NoInfer<RequiredFields<P>>; readonly members: M },\n): Contract<{\n\tkind: \"local\";\n\tname: N;\n\tparams: P;\n\thistory: [{ version: `${V}`; variants: LocalVariants<M>; changes: never }];\n}> {\n\t// Declaration policy: JavaScript callers reach every check below.\n\tcheckName(name, \"A contract name\");\n\tcheckKeys(declaration, [\"version\", \"params\", \"members\"], name);\n\tconst state = new Map<string, Snapshot>();\n\tconst methods = new Map<string, MethodData>();\n\tconst keyed = new Map<string, Snapshot>();\n\tfor (const [member, value] of entriesOf(declaration.members, `${name}.${LOCAL}`)) {\n\t\tconst path = `${name}.${LOCAL}.${member}`;\n\t\tif (value instanceof Method) methods.set(member, readMethod(value, path));\n\t\telse if (value instanceof KeyedMember) keyed.set(member, snapshotSchema(value.schema, path));\n\t\telse state.set(member, snapshotSchema(value, path));\n\t}\n\treturn declare(\"local\", name, declaration, new Map([[LOCAL, { state, methods, keyed }]]));\n}\n\nfunction readVariant(source: unknown, path: string): VariantData {\n\tcheckKeys(source, [\"state\", \"methods\"], path);\n\tconst { state = {}, methods = {} } = source as VariantDeclaration;\n\tconst stateEntries = entriesOf(state, `${path}.state`).map(([member, schema]) => {\n\t\tif (schema instanceof Method) throw new Error(`${path}.state.${member}: a method belongs in methods`);\n\t\tif (schema instanceof KeyedMember) {\n\t\t\tthrow new Error(`${path}.state.${member}: keyed members are only in local contracts`);\n\t\t}\n\t\treturn [member, snapshotSchema(schema, `${path}.state.${member}`)] as const;\n\t});\n\tconst methodEntries = entriesOf(methods, `${path}.methods`).map(([member, method]) => {\n\t\tif (!(method instanceof Method)) throw new Error(`${path}.methods.${member}: expected method(...)`);\n\t\treturn [member, readMethod(method, `${path}.methods.${member}`)] as const;\n\t});\n\treturn { state: new Map(stateEntries), methods: new Map(methodEntries), keyed: new Map() };\n}\n\n/** One method declaration as Chord-owned snapshots; its arguments must be closed. */\nexport function readMethod(method: Method, path: string): MethodData {\n\treturn {\n\t\targs: snapshotArguments(method.args, `${path}.args`),\n\t\tresult: snapshotSchema(method.result, `${path}.result`),\n\t};\n}\n\nfunction declare<C extends Contract>(\n\tkind: Kind,\n\tname: string,\n\tdeclaration: { readonly version: number; readonly params: unknown },\n\tvariants: ReadonlyMap<string, VariantData>,\n\thostAddress?: HostAddress,\n): C {\n\tconst { version } = declaration;\n\tif (!Number.isSafeInteger(version) || version < 1) throw new Error(`${name}.version: expected a positive integer`);\n\tconst kinds = new Map<string, MemberKind>();\n\tcheckMembers(variants, kinds, (variant, member, memberKind) => memberPath(name, kind, variant, member, memberKind));\n\tconst params = readParams(entriesOf(declaration.params, `${name}.params`), `${name}.params`);\n\tconst versions = [materialize(kind, params, version, variants, [])];\n\treturn createContract({ kind, name, params, hostAddress, versions, kinds });\n}\n\n/**\n * Checks the members of every variant: a name keeps one kind across variants and the whole history (`kinds`, updated\n * here), a method one signature across variants.\n */\nexport function checkMembers(\n\tvariants: ReadonlyMap<string, VariantData>,\n\tkinds: Map<string, MemberKind>,\n\tpath: (variant: string, member: string, kind: MemberKind) => string,\n): void {\n\tconst signatures = new Map<string, string>();\n\tfor (const [variant, { state, methods, keyed }] of variants) {\n\t\tfor (const member of state.keys()) recordKind(kinds, member, \"state\", path(variant, member, \"state\"));\n\t\tfor (const member of keyed.keys()) recordKind(kinds, member, \"keyed\", path(variant, member, \"keyed\"));\n\t\tfor (const [member, { args, result }] of methods) {\n\t\t\trecordKind(kinds, member, \"method\", path(variant, member, \"method\"));\n\t\t\tconst signature = JSON.stringify([args.normal, result.normal]);\n\t\t\tif ((signatures.get(member) ?? signature) !== signature) {\n\t\t\t\tthrow new Error(`${path(variant, member, \"method\")}: a method has the same signature in every variant`);\n\t\t\t}\n\t\t\tsignatures.set(member, signature);\n\t\t}\n\t}\n}\n\nfunction recordKind(kinds: Map<string, MemberKind>, member: string, kind: MemberKind, path: string): void {\n\tif (RESERVED_MEMBERS.has(member)) throw new Error(`${path}: \"${member}\" is reserved: a reference has it`);\n\tconst known = kinds.get(member);\n\tif (known !== undefined && known !== kind) {\n\t\tthrow new Error(`${path}: \"${member}\" is a ${known} member; its kind never changes`);\n\t}\n\tkinds.set(member, kind);\n}\n\n/**\n * Names a reference has itself (`release`, `variant`, and `state` and `retry` with failures), and `then`, which would\n * make an awaited reference thenable.\n */\nconst RESERVED_MEMBERS: ReadonlySet<string> = new Set([\"then\", \"release\", \"variant\", \"state\", \"retry\"]);\n\n/** The path of a member in errors: `notes.editor.methods.add`, `info.members.clear`. */\nexport function memberPath(base: string, kind: Kind, variant: string, member: string, memberKind: MemberKind): string {\n\tif (kind === \"local\") return `${base}.${LOCAL}.${member}`;\n\treturn `${base}.${variant}.${memberKind === \"state\" ? \"state\" : \"methods\"}.${member}`;\n}\n\n/** Refuses a non-object and unknown keys. */\nexport function checkKeys(source: unknown, allowed: readonly string[], path: string): void {\n\tfor (const [key] of entriesOf(source, path)) {\n\t\tif (!allowed.includes(key)) throw new Error(`${path}: unknown key \"${key}\"`);\n\t}\n}\n\n/** The entries of an object; anything else is refused. */\nexport function entriesOf(source: unknown, path: string): [string, unknown][] {\n\tif (typeof source !== \"object\" || source === null || Array.isArray(source)) {\n\t\tthrow new Error(`${path}: expected an object`);\n\t}\n\treturn Object.entries(source);\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"evolve.d.ts","sourceRoot":"","sources":["../../../src/next/contracts/evolve.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"evolve.js","sourceRoot":"","sources":["../../../src/next/contracts/evolve.ts"],"names":[],"mappings":"AAAA,0GAA0G;AAE1G,OAAO,EAKN,YAAY,EACZ,cAAc,EAEd,KAAK,GAIL,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,MAAM,EAAe,MAAM,aAAa,CAAC;AAClD,OAAO,EAAiB,iBAAiB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAkJjF;;;GAGG;AACH,MAAM,UAAU,MAAM,CACrB,QAAW,EACX,IAAgC;IAEhC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACnE,qGAAqG;IACrG,QAAQ,CAAC,MAAgC,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,UAAU,CAAC,CAAC;IAC1E,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAI,MAAS,EAAE,IAA4B,EAAE,IAAY;IAChF,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,sCAAsC,CAAC,CAAC;AAC7F,CAAC;AASD,uGAAuG;AACvG,MAAM,KAAK;IACD,IAAI,CAAO;IACX,IAAI,CAAS;IACtB,4EAA4E;IAC5E,MAAM,GAAW,IAAI,CAAC;IACb,KAAK,CAAe;IACpB,QAAQ,CAAS;IACjB,SAAS,CAA4B;IACrC,MAAM,CAA0B;IAChC,QAAQ,GAAa,EAAE,CAAC;IAEjC,YAAY,IAAkB;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,CACvB,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAChE,IAAI;YACJ,EAAE,KAAK,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE;SAC3E,CAAC,CACF,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,MAAc,EAAE,MAAc;QACpD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,QAAQ,CAAC,OAAe,EAAE,MAAc,EAAE,MAAc;QACvD,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,WAAW,CAAC,OAAe,EAAE,MAAc;QAC1C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED,IAAI,CAAC,MAAc,EAAE,IAAY;QAChC,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,MAAc;QACpC,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,IAAY,EAAE,MAAc;QAClD,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,SAAS,CAAC,OAAe,EAAE,MAAc,EAAE,IAAY,EAAE,MAAc;QACtE,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CACjC,MAAM,EACN,UAAU,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAC3E,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,MAAc,EAAE,MAAc;QACpD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,QAAQ,CAAC,OAAe,EAAE,MAAc,EAAE,MAAc;QACvD,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,WAAW,CAAC,OAAe,EAAE,MAAc;QAC1C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED,YAAY,CAAC,MAAc;QAC1B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;YAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChG,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED,oDAAoD;IACpD,IAAI;QACH,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC9C,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxF,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IAChF,CAAC;IAED,SAAS,CAAC,OAAe,EAAE,MAAc,EAAE,MAAc;QACxD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACvG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAED,SAAS,CAAC,OAAe,EAAE,MAAc,EAAE,MAAc;QACxD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACvG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAED,wEAAwE;IACxE,aAAa,CAAC,MAAc,EAAE,IAAwB,EAAE,MAA0B;QACjF,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;QACzF,MAAM,SAAS,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,CAAC;QAC9F,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAChC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACpF,IAAI,OAAO,KAAK,SAAS;gBAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YACzE,IAAI,SAAS,KAAK,SAAS;gBAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAED,QAAQ,CAAC,OAAe;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,mDAAmD,CAAC,CAAC;QAC7F,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,aAAa,CAAC,MAAc;QAC3B,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;QAClH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,gBAAgB,MAAM,GAAG,CAAC,CAAC;QAClF,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,eAAe,CAAC,OAAe,EAAE,MAAc,EAAE,IAAgB;QAChE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC3E,CAAC;IACF,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,MAAc,EAAE,IAAgB;QACtD,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;IAED,6GAA6G;IAC7G,QAAQ;QACP,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QACxG,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;CACD;AAED,sEAAsE;AACtE,SAAS,WAAW,CAAC,KAAY;IAChC,KAAK,CAAC,MAAM,GAAG;QACd,KAAK,EAAE,CAAC,MAAc,EAAE,MAAc,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;QAC7E,QAAQ,EAAE,CAAC,MAAc,EAAE,MAAc,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;QACnF,WAAW,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC;QACjE,SAAS,EAAE,CAAC,MAAc,EAAE,IAAY,EAAE,MAAc,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC;QACzG,IAAI,EAAE,CAAC,MAAc,EAAE,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;QAChE,MAAM,EAAE,CAAC,MAAc,EAAE,MAAc,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;QACxE,MAAM,EAAE,CAAC,MAAc,EAAE,IAAY,EAAE,MAAc,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC;QAC5F,YAAY,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC;QAC5D,KAAK,EAAE,CAAC,MAAc,EAAE,MAAc,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;QAC7E,QAAQ,EAAE,CAAC,MAAc,EAAE,MAAc,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;QACnF,WAAW,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC;KACjE,CAAC;IACF,OAAO,KAAK,CAAC,MAAM,CAAC;AACrB,CAAC","sourcesContent":["// Evolution: `evolve(previous, (e) => e...)` appends the next version of a history with structured edits.\n\nimport {\n\ttype Contract,\n\ttype ContractData,\n\ttype ContractShape,\n\ttype CurrentVariants,\n\tcontractData,\n\tcreateContract,\n\ttype Kind,\n\tLOCAL,\n\ttype MemberKind,\n\ttype MethodData,\n\ttype ShapeOf,\n} from \"./contract.ts\";\nimport { checkMembers, memberPath, readMethod } from \"./declare.ts\";\nimport { materialize } from \"./fingerprint.ts\";\nimport type { Change, CurrentStep, Increment, MemberNames, MethodAt, Variants, VariantsWith } from \"./history.ts\";\nimport { Method, type Schema } from \"./schema.ts\";\nimport { type Snapshot, snapshotArguments, snapshotSchema } from \"./snapshot.ts\";\n\n/** Method edits, the same for both kinds: each changes the method in every variant that has it. */\ninterface MethodEditor<K extends Kind, V extends Variants, C extends Change> {\n\t/** Type only: the variants after the edits so far. */\n\treadonly \"~variants\"?: V;\n\t/** Type only: the changes made by the edits so far. */\n\treadonly \"~changes\"?: C;\n\targs<M extends MemberNames<V, \"methods\">, A extends Schema>(\n\t\tmember: M,\n\t\targs: A,\n\t): Editor<\n\t\tK,\n\t\tPut<V, VariantsWith<V, M>, \"methods\", M, Method<A, MethodAt<V, M>[\"result\"]>>,\n\t\tC | [VariantsWith<V, M>, M, \"args\"]\n\t>;\n\tresult<M extends MemberNames<V, \"methods\">, R extends Schema>(\n\t\tmember: M,\n\t\tresult: R,\n\t): Editor<\n\t\tK,\n\t\tPut<V, VariantsWith<V, M>, \"methods\", M, Method<MethodAt<V, M>[\"args\"], R>>,\n\t\tC | [VariantsWith<V, M>, M, \"result\"]\n\t>;\n\tmethod<M extends MemberNames<V, \"methods\">, A extends Schema, R extends Schema>(\n\t\tmember: M,\n\t\targs: A,\n\t\tresult: R,\n\t): Editor<K, Put<V, VariantsWith<V, M>, \"methods\", M, Method<A, R>>, C | [VariantsWith<V, M>, M, \"args\" | \"result\"]>;\n\tremoveMethod<M extends MemberNames<V, \"methods\">>(member: M): Editor<K, Drop<V, keyof V, \"methods\", M>, C>;\n}\n\n/** Edits of a remote contract. */\ninterface RemoteEditor<V extends Variants, C extends Change> extends MethodEditor<\"remote\", V, C> {\n\tstate<X extends keyof V & string, M extends keyof V[X][\"state\"] & string, S extends Schema>(\n\t\tvariant: X,\n\t\tmember: M,\n\t\tschema: S,\n\t): RemoteEditor<Put<V, X, \"state\", M, S>, C | [X, M, \"state\"]>;\n\taddState<X extends keyof V & string, const M extends string, S extends Schema>(\n\t\tvariant: X,\n\t\tmember: M,\n\t\tschema: S,\n\t): RemoteEditor<Put<V, X, \"state\", M, S>, C | [X, M, \"state\"]>;\n\tremoveState<X extends keyof V & string, M extends keyof V[X][\"state\"] & string>(\n\t\tvariant: X,\n\t\tmember: M,\n\t): RemoteEditor<Drop<V, X, \"state\", M>, C>;\n\taddMethod<X extends keyof V & string, const M extends string, A extends Schema, R extends Schema>(\n\t\tvariant: X,\n\t\tmember: M,\n\t\targs: A,\n\t\tresult: R,\n\t): RemoteEditor<Put<V, X, \"methods\", M, Method<A, R>>, C | [X, M, \"args\" | \"result\"]>;\n}\n\n/** Edits of a local contract: like remote ones, without a variant. */\ninterface LocalEditor<V extends Variants, C extends Change> extends MethodEditor<\"local\", V, C> {\n\tstate<M extends keyof V[Local][\"state\"] & string, S extends Schema>(\n\t\tmember: M,\n\t\tschema: S,\n\t): LocalEditor<Put<V, Local, \"state\", M, S>, C | [Local, M, \"state\"]>;\n\taddState<const M extends string, S extends Schema>(\n\t\tmember: M,\n\t\tschema: S,\n\t): LocalEditor<Put<V, Local, \"state\", M, S>, C | [Local, M, \"state\"]>;\n\tremoveState<M extends keyof V[Local][\"state\"] & string>(member: M): LocalEditor<Drop<V, Local, \"state\", M>, C>;\n\taddMethod<const M extends string, A extends Schema, R extends Schema>(\n\t\tmember: M,\n\t\targs: A,\n\t\tresult: R,\n\t): LocalEditor<Put<V, Local, \"methods\", M, Method<A, R>>, C | [Local, M, \"args\" | \"result\"]>;\n\t/** Changes keyed member `member`'s schema (slice 7b: an older consumer reads each key mapped, or is refused). */\n\tkeyed<M extends KeyedNames<V> & string, S extends Schema>(\n\t\tmember: M,\n\t\tschema: S,\n\t): LocalEditor<PutKeyed<V, M, S>, C | [Local, M, \"keyed\"]>;\n\taddKeyed<const M extends string, S extends Schema>(\n\t\tmember: M,\n\t\tschema: S,\n\t): LocalEditor<PutKeyed<V, M, S>, C | [Local, M, \"keyed\"]>;\n\tremoveKeyed<M extends KeyedNames<V> & string>(member: M): LocalEditor<DropKeyed<V, M>, C>;\n}\n\n/** The local variant's keyed member names. */\ntype KeyedNames<V extends Variants> = keyof NonNullable<V[Local][\"keyed\"]>;\n\n/** The local variant with keyed member `M` set to `T`. */\ntype PutKeyed<V extends Variants, M extends string, T> = {\n\t[Y in keyof V]: Y extends Local\n\t\t? {\n\t\t\t\t[S in keyof V[Y] | \"keyed\"]: S extends \"keyed\"\n\t\t\t\t\t? {\n\t\t\t\t\t\t\t[K in keyof NonNullable<V[Y][\"keyed\"]> | M]: K extends M ? T : NonNullable<V[Y][\"keyed\"]>[K];\n\t\t\t\t\t\t}\n\t\t\t\t\t: V[Y][S & keyof V[Y]];\n\t\t\t}\n\t\t: V[Y];\n};\n\n/** The local variant without keyed member `M`. */\ntype DropKeyed<V extends Variants, M extends string> = {\n\t[Y in keyof V]: Y extends Local\n\t\t? { [S in keyof V[Y]]: S extends \"keyed\" ? Omit<NonNullable<V[Y][\"keyed\"]>, M> : V[Y][S] }\n\t\t: V[Y];\n};\n\ntype Local = typeof LOCAL;\n\ntype Editor<K extends Kind, V extends Variants, C extends Change> = K extends \"remote\"\n\t? RemoteEditor<V, C>\n\t: LocalEditor<V, C>;\n\ntype EditorOf<C extends Contract> = Editor<ShapeOf<C>[\"kind\"], CurrentVariants<C>, never>;\n\n/** Variants `X` with member `M` of `Side` set to `T`. */\ntype Put<V extends Variants, X, Side extends EditedSide, M extends string, T> = {\n\t[Y in keyof V]: Y extends X\n\t\t? {\n\t\t\t\t[S in keyof V[Y]]: S extends Side ? { [K in keyof V[Y][S] | M]: K extends M ? T : V[Y][S][K] } : V[Y][S];\n\t\t\t}\n\t\t: V[Y];\n};\n\n/** Variants `X` without member `M` of `Side`. */\ntype Drop<V extends Variants, X, Side extends EditedSide, M extends string> = {\n\t[Y in keyof V]: Y extends X ? { [S in keyof V[Y]]: S extends Side ? Omit<V[Y][S], M> : V[Y][S] } : V[Y];\n};\n\n/** The sides of a variant that `Put` and `Drop` edit (keyed members have their own, `PutKeyed` and `DropKeyed`). */\ntype EditedSide = \"state\" | \"methods\";\n\ntype Evolved<S extends ContractShape, E extends MethodEditor<S[\"kind\"], Variants, Change>> = {\n\tkind: S[\"kind\"];\n\tname: S[\"name\"];\n\tparams: S[\"params\"];\n\thistory: [\n\t\t...S[\"history\"],\n\t\t{\n\t\t\tversion: Increment<CurrentStep<S[\"history\"]>[\"version\"]>;\n\t\t\tvariants: NonNullable<E[\"~variants\"]>;\n\t\t\tchanges: NonNullable<E[\"~changes\"]>;\n\t\t},\n\t];\n};\n\n/**\n * Appends the next version (`previous.version + 1`) with the edits `edit` makes; `edit` must return the editor it was\n * given. Params and the variant set never change: a change to either is a new history base.\n */\nexport function evolve<C extends Contract, E extends MethodEditor<ShapeOf<C>[\"kind\"], Variants, Change>>(\n\tprevious: C,\n\tedit: (editor: EditorOf<C>) => E,\n): Contract<Evolved<ShapeOf<C>, E>> {\n\tconst draft = new Draft(contractData(previous));\n\tconst editor = draft.kind === \"local\" ? localEditor(draft) : draft;\n\t// The editor interfaces track the edits in the types; at runtime every edit returns the same editor.\n\teditWith(editor as unknown as EditorOf<C>, edit, `${draft.path}: evolve`);\n\treturn createContract(draft.next());\n}\n\n/**\n * Runs `edit` on `editor` (contracts' and tables' rule): an edit returning anything but the editor it was given throws\n * (`what` names the call).\n */\nexport function editWith<E>(editor: E, edit: (editor: E) => unknown, what: string): void {\n\tif (edit(editor) !== editor) throw new Error(`${what} must return the editor it was given`);\n}\n\n/** A variant under construction. */\ntype DraftVariant = {\n\treadonly state: Map<string, Snapshot>;\n\treadonly methods: Map<string, MethodData>;\n\treadonly keyed: Map<string, Snapshot>;\n};\n\n/** The next version under construction, and the remote editor. Every edit is checked as it is made. */\nclass Draft {\n\treadonly kind: Kind;\n\treadonly path: string;\n\t/** What edits return: the draft itself, or the local editor wrapping it. */\n\teditor: object = this;\n\treadonly #data: ContractData;\n\treadonly #version: number;\n\treadonly #variants: Map<string, DraftVariant>;\n\treadonly #kinds: Map<string, MemberKind>;\n\treadonly #changes: Change[] = [];\n\n\tconstructor(data: ContractData) {\n\t\tconst current = data.versions.at(-1)!;\n\t\tthis.kind = data.kind;\n\t\tthis.#data = data;\n\t\tthis.#version = current.version + 1;\n\t\tthis.path = `${data.name} v${this.#version}`;\n\t\tthis.#variants = new Map(\n\t\t\t[...current.variants].map(([name, { state, methods, keyed }]) => [\n\t\t\t\tname,\n\t\t\t\t{ state: new Map(state), methods: new Map(methods), keyed: new Map(keyed) },\n\t\t\t]),\n\t\t);\n\t\tthis.#kinds = new Map(data.kinds);\n\t}\n\n\tstate(variant: string, member: string, schema: Schema): object {\n\t\tif (!this.#variant(variant).state.has(member)) {\n\t\t\tthrow new Error(`${this.#path(variant, member, \"state\")}: no such state member`);\n\t\t}\n\t\treturn this.#putState(variant, member, schema);\n\t}\n\n\taddState(variant: string, member: string, schema: Schema): object {\n\t\tthis.#refuseDeclared(variant, member, \"state\");\n\t\treturn this.#putState(variant, member, schema);\n\t}\n\n\tremoveState(variant: string, member: string): object {\n\t\tif (!this.#variant(variant).state.delete(member)) {\n\t\t\tthrow new Error(`${this.#path(variant, member, \"state\")}: no such state member`);\n\t\t}\n\t\treturn this.editor;\n\t}\n\n\targs(member: string, args: Schema): object {\n\t\treturn this.#changeMethod(member, args, undefined);\n\t}\n\n\tresult(member: string, result: Schema): object {\n\t\treturn this.#changeMethod(member, undefined, result);\n\t}\n\n\tmethod(member: string, args: Schema, result: Schema): object {\n\t\treturn this.#changeMethod(member, args, result);\n\t}\n\n\taddMethod(variant: string, member: string, args: Schema, result: Schema): object {\n\t\tthis.#refuseDeclared(variant, member, \"method\");\n\t\tthis.#variant(variant).methods.set(\n\t\t\tmember,\n\t\t\treadMethod(new Method(args, result), this.#path(variant, member, \"method\")),\n\t\t);\n\t\tthis.#changes.push([variant, member, \"args\"], [variant, member, \"result\"]);\n\t\treturn this.#checked();\n\t}\n\n\tkeyed(variant: string, member: string, schema: Schema): object {\n\t\tif (!this.#variant(variant).keyed.has(member)) {\n\t\t\tthrow new Error(`${this.#path(variant, member, \"keyed\")}: no such keyed member`);\n\t\t}\n\t\treturn this.#putKeyed(variant, member, schema);\n\t}\n\n\taddKeyed(variant: string, member: string, schema: Schema): object {\n\t\tthis.#refuseDeclared(variant, member, \"keyed\");\n\t\treturn this.#putKeyed(variant, member, schema);\n\t}\n\n\tremoveKeyed(variant: string, member: string): object {\n\t\tif (!this.#variant(variant).keyed.delete(member)) {\n\t\t\tthrow new Error(`${this.#path(variant, member, \"keyed\")}: no such keyed member`);\n\t\t}\n\t\treturn this.editor;\n\t}\n\n\tremoveMethod(member: string): object {\n\t\tfor (const variant of this.#variantsWith(member)) this.#variant(variant).methods.delete(member);\n\t\treturn this.editor;\n\t}\n\n\t/** The contract data with this version appended. */\n\tnext(): ContractData {\n\t\tconst { kind, params, versions } = this.#data;\n\t\tconst version = materialize(kind, params, this.#version, this.#variants, this.#changes);\n\t\treturn { ...this.#data, versions: [...versions, version], kinds: this.#kinds };\n\t}\n\n\t#putState(variant: string, member: string, schema: Schema): object {\n\t\tthis.#variant(variant).state.set(member, snapshotSchema(schema, this.#path(variant, member, \"state\")));\n\t\tthis.#changes.push([variant, member, \"state\"]);\n\t\treturn this.#checked();\n\t}\n\n\t#putKeyed(variant: string, member: string, schema: Schema): object {\n\t\tthis.#variant(variant).keyed.set(member, snapshotSchema(schema, this.#path(variant, member, \"keyed\")));\n\t\tthis.#changes.push([variant, member, \"keyed\"]);\n\t\treturn this.#checked();\n\t}\n\n\t/** Changes the given sides of a method in every variant that has it. */\n\t#changeMethod(member: string, args: Schema | undefined, result: Schema | undefined): object {\n\t\tconst variants = this.#variantsWith(member);\n\t\tconst path = this.#path(variants[0]!, member, \"method\");\n\t\tconst newArgs = args === undefined ? undefined : snapshotArguments(args, `${path}.args`);\n\t\tconst newResult = result === undefined ? undefined : snapshotSchema(result, `${path}.result`);\n\t\tfor (const variant of variants) {\n\t\t\tconst { methods } = this.#variant(variant);\n\t\t\tconst old = methods.get(member)!;\n\t\t\tmethods.set(member, { args: newArgs ?? old.args, result: newResult ?? old.result });\n\t\t\tif (newArgs !== undefined) this.#changes.push([variant, member, \"args\"]);\n\t\t\tif (newResult !== undefined) this.#changes.push([variant, member, \"result\"]);\n\t\t}\n\t\treturn this.#checked();\n\t}\n\n\t#variant(variant: string): DraftVariant {\n\t\tconst found = this.#variants.get(variant);\n\t\tif (found === undefined) {\n\t\t\tthrow new Error(`${this.path}.${variant}: unknown variant (the variant set never changes)`);\n\t\t}\n\t\treturn found;\n\t}\n\n\t#variantsWith(member: string): string[] {\n\t\tconst variants = [...this.#variants].filter(([, { methods }]) => methods.has(member)).map(([variant]) => variant);\n\t\tif (variants.length === 0) throw new Error(`${this.path}: no method \"${member}\"`);\n\t\treturn variants;\n\t}\n\n\t#refuseDeclared(variant: string, member: string, kind: MemberKind): void {\n\t\tconst { state, methods, keyed } = this.#variant(variant);\n\t\tif (state.has(member) || methods.has(member) || keyed.has(member)) {\n\t\t\tthrow new Error(`${this.#path(variant, member, kind)}: already declared`);\n\t\t}\n\t}\n\n\t#path(variant: string, member: string, kind: MemberKind): string {\n\t\treturn memberPath(this.path, this.kind, variant, member, kind);\n\t}\n\n\t/** A member's kind never changes, also not after a removal; a method keeps one signature across variants. */\n\t#checked(): object {\n\t\tcheckMembers(this.#variants, this.#kinds, (variant, member, kind) => this.#path(variant, member, kind));\n\t\treturn this.editor;\n\t}\n}\n\n/** The local editor: the draft's edits with the variant filled in. */\nfunction localEditor(draft: Draft): object {\n\tdraft.editor = {\n\t\tstate: (member: string, schema: Schema) => draft.state(LOCAL, member, schema),\n\t\taddState: (member: string, schema: Schema) => draft.addState(LOCAL, member, schema),\n\t\tremoveState: (member: string) => draft.removeState(LOCAL, member),\n\t\taddMethod: (member: string, args: Schema, result: Schema) => draft.addMethod(LOCAL, member, args, result),\n\t\targs: (member: string, args: Schema) => draft.args(member, args),\n\t\tresult: (member: string, result: Schema) => draft.result(member, result),\n\t\tmethod: (member: string, args: Schema, result: Schema) => draft.method(member, args, result),\n\t\tremoveMethod: (member: string) => draft.removeMethod(member),\n\t\tkeyed: (member: string, schema: Schema) => draft.keyed(LOCAL, member, schema),\n\t\taddKeyed: (member: string, schema: Schema) => draft.addKeyed(LOCAL, member, schema),\n\t\tremoveKeyed: (member: string) => draft.removeKeyed(LOCAL, member),\n\t};\n\treturn draft.editor;\n}\n"]}
@@ -1,16 +0,0 @@
1
- import type { JsonValue } from "../../json.ts";
2
- import { type Kind, type VariantData, type VersionData } from "./contract.ts";
3
- import type { Change } from "./history.ts";
4
- import type { ParamsData } from "./params.ts";
5
- /** Version of the normal form; changing the normal form changes it and is a link-protocol change. */
6
- export declare const NORMAL_FORM_VERSION = 2;
7
- /**
8
- * Materializes a version with its fingerprint: `hash64` of `JSON.stringify({ normalFormVersion, value })` over the
9
- * normal form `{ kind: "remote", params, variants }` or `{ kind: "local", params, members }`.
10
- */
11
- export declare function materialize(kind: Kind, params: ParamsData, version: number, variants: ReadonlyMap<string, VariantData>, changes: readonly Change[]): VersionData;
12
- /** `hash64` of `JSON.stringify({ normalFormVersion, value: normal })`: the fingerprint of a normal form. */
13
- export declare function fingerprintOf(normal: JsonValue): string;
14
- /** 16 hex characters from two 32-bit FNV-1a lanes (different offset bases and primes) over the UTF-8 bytes. */
15
- export declare function hash64(text: string): string;
16
- //# sourceMappingURL=fingerprint.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fingerprint.d.ts","sourceRoot":"","sources":["../../../src/next/contracts/fingerprint.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,KAAK,IAAI,EAAS,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,qGAAqG;AACrG,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC;;;GAGG;AACH,wBAAgB,WAAW,CAC1B,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,EAC1C,OAAO,EAAE,SAAS,MAAM,EAAE,GACxB,WAAW,CAUb;AAED,4GAA4G;AAC5G,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAEvD;AAoBD,+GAA+G;AAC/G,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQ3C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fingerprint.js","sourceRoot":"","sources":["../../../src/next/contracts/fingerprint.ts"],"names":[],"mappings":"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","sourcesContent":["// Fingerprints: the normal form of a contract version and its portable 64-bit hash. Not a security boundary.\n\nimport type { JsonValue } from \"../../json.ts\";\nimport { type Kind, LOCAL, type VariantData, type VersionData } from \"./contract.ts\";\nimport type { Change } from \"./history.ts\";\nimport type { ParamsData } from \"./params.ts\";\n\n/** Version of the normal form; changing the normal form changes it and is a link-protocol change. */\nexport const NORMAL_FORM_VERSION = 2;\n\n/**\n * Materializes a version with its fingerprint: `hash64` of `JSON.stringify({ normalFormVersion, value })` over the\n * normal form `{ kind: \"remote\", params, variants }` or `{ kind: \"local\", params, members }`.\n */\nexport function materialize(\n\tkind: Kind,\n\tparams: ParamsData,\n\tversion: number,\n\tvariants: ReadonlyMap<string, VariantData>,\n\tchanges: readonly Change[],\n): VersionData {\n\tconst normal: JsonValue =\n\t\tkind === \"local\"\n\t\t\t? { kind, params: params.normal, members: variantNormal(variants.get(LOCAL)!) }\n\t\t\t: {\n\t\t\t\t\tkind,\n\t\t\t\t\tparams: params.normal,\n\t\t\t\t\tvariants: sortedDict([...variants].map(([name, v]) => [name, variantNormal(v)])),\n\t\t\t\t};\n\treturn { version, fingerprint: fingerprintOf(normal), variants, changes };\n}\n\n/** `hash64` of `JSON.stringify({ normalFormVersion, value: normal })`: the fingerprint of a normal form. */\nexport function fingerprintOf(normal: JsonValue): string {\n\treturn hash64(JSON.stringify({ normalFormVersion: NORMAL_FORM_VERSION, value: normal }));\n}\n\n/**\n * Members as a sorted dictionary of `{ state }`, `{ args, result }` or `{ keyed }` (slice 6a §12: a node of its own,\n * so contracts without keyed members keep their fingerprints and `NORMAL_FORM_VERSION` stays).\n */\nfunction variantNormal({ state, methods, keyed }: VariantData): JsonValue {\n\treturn sortedDict([\n\t\t...[...state].map(([member, schema]) => [member, { state: schema.normal }] as const),\n\t\t...[...keyed].map(([member, schema]) => [member, { keyed: schema.normal }] as const),\n\t\t...[...methods].map(\n\t\t\t([member, { args, result }]) => [member, { args: args.normal, result: result.normal }] as const,\n\t\t),\n\t]);\n}\n\nfunction sortedDict(entries: (readonly [string, JsonValue])[]): JsonValue {\n\treturn Object.fromEntries(entries.sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0)));\n}\n\n/** 16 hex characters from two 32-bit FNV-1a lanes (different offset bases and primes) over the UTF-8 bytes. */\nexport function hash64(text: string): string {\n\tlet low = 0x811c9dc5;\n\tlet high = 0xcbf29ce4;\n\tfor (const byte of new TextEncoder().encode(text)) {\n\t\tlow = Math.imul(low ^ byte, 0x01000193);\n\t\thigh = Math.imul(high ^ byte, 0x01000197);\n\t}\n\treturn hex(high) + hex(low);\n}\n\nfunction hex(lane: number): string {\n\treturn (lane >>> 0).toString(16).padStart(8, \"0\");\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../src/next/contracts/history.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"history.js","sourceRoot":"","sources":["../../../src/next/contracts/history.ts"],"names":[],"mappings":"AAAA,kGAAkG","sourcesContent":["// The type-level history of a contract: every version's members and the changes that produced it.\n\nimport type { Method, Schema } from \"./schema.ts\";\n\n/** One variant's members at one version: state schemas and method signatures. */\nexport type VariantShape = {\n\treadonly state: { readonly [member: string]: Schema };\n\treadonly methods: { readonly [member: string]: Method };\n\t/** A local contract's keyed state members (slice 6a §12). */\n\treadonly keyed?: { readonly [member: string]: Schema };\n};\n\n/** Variants by name. A local contract has the single variant `members`. */\nexport type Variants = { readonly [variant: string]: VariantShape };\n\n/**\n * What one edit changed: one side of one member in one variant (a union of variants when it changed several); `keyed`\n * for a local contract's keyed member (slice 7b).\n */\nexport type Change = readonly [variant: string, member: string, side: \"state\" | \"args\" | \"result\" | \"keyed\"];\n\n/** One version: its number as digits, its variants, and the changes that produced it (`never` for a base). */\ntype Step = { readonly version: string; readonly variants: Variants; readonly changes: Change };\n\n/** Every version from the base, oldest first. */\nexport type History = readonly Step[];\n\nexport type CurrentStep<H extends History> = H extends readonly [...Step[], infer Last extends Step] ? Last : never;\n\nexport type StepAt<H extends History, V extends string> = Extract<H[number], { readonly version: V }>;\n\n/** Versions before the current one. */\nexport type OlderVersions<H extends History> = H extends readonly [...infer Older extends Step[], Step]\n\t? Older[number][\"version\"]\n\t: never;\n\n/** Every change made after version `V`. */\nexport type ChangesAfter<H extends readonly Step[], V extends string> = H extends readonly [\n\tinfer First extends Step,\n\t...infer Rest extends Step[],\n]\n\t? First[\"version\"] extends V\n\t\t? Rest[number][\"changes\"]\n\t\t: ChangesAfter<Rest, V>\n\t: never;\n\n/** Names of the state members or methods in any variant. */\nexport type MemberNames<V extends Variants, Side extends keyof VariantShape> = {\n\t[X in keyof V]: keyof V[X][Side];\n}[keyof V] &\n\tstring;\n\n/** The variants that have method `M`. */\nexport type VariantsWith<V extends Variants, M> = {\n\t[X in keyof V]: M extends keyof V[X][\"methods\"] ? X : never;\n}[keyof V] &\n\tstring;\n\n/** Method `M` (one signature in every variant that has it). */\nexport type MethodAt<V extends Variants, M> = {\n\t[X in keyof V]: M extends keyof V[X][\"methods\"] ? V[X][\"methods\"][M] : never;\n}[keyof V];\n\n/** `N + 1` on decimal digits, so versions beyond 9 and 99 stay literal. */\nexport type Increment<N extends string> = N extends `${infer Init}9`\n\t? `${Init extends \"\" ? \"1\" : Increment<Init>}0`\n\t: { [D in keyof NextDigit]: N extends `${infer Init}${D}` ? `${Init}${NextDigit[D]}` : never }[keyof NextDigit];\n\ntype NextDigit = { \"0\": \"1\"; \"1\": \"2\"; \"2\": \"3\"; \"3\": \"4\"; \"4\": \"5\"; \"5\": \"6\"; \"6\": \"7\"; \"7\": \"8\"; \"8\": \"9\" };\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"host-kind.d.ts","sourceRoot":"","sources":["../../../src/next/contracts/host-kind.ts"],"names":[],"mappings":"AAIA,OAAO,EAAW,KAAK,MAAM,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAc,MAAM,aAAa,CAAC;AACrG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,oFAAoF;AACpF,MAAM,MAAM,SAAS,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/E,kHAAkH;AAClH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI;IACtD,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,+EAA+E;AAC/E,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM;IAC7E,CACC,GAAG,MAAM,EAAE,MAAM,CAAC,SAAS,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE,CAAC,GAC7G,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjB,oCAAoC;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;CACvB;AAED,wCAAwC;AACxC,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,SAAS,IAAI;KAC9C,CAAC,IAAI,MAAM,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5E,CAAC;AAEF;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAC7F,IAAI,EAAE,CAAC,EACP,MAAM,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GACrC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAchB;AAID,0CAA0C;AAC1C,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,UAAU,CAItE;AAED,oGAAoG;AACpG,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE;IAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GAAG,MAAM,CAElH"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"host-kind.js","sourceRoot":"","sources":["../../../src/next/contracts/host-kind.ts"],"names":[],"mappings":"AAAA,kHAAkH;AAClH,oFAAoF;AAEpF,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,OAAO,EAAqD,UAAU,EAAE,MAAM,aAAa,CAAC;AA4BrG;;;GAGG;AACH,MAAM,UAAU,QAAQ,CACvB,IAAO,EACP,MAAuC;IAEvC,SAAS,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;IACtC,sGAAsG;IACtG,IAAI,IAAI,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAChH,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,SAAS,CAAC,CAAC;IACxE,MAAM,IAAI,GAAG,CAAC,MAAM,GAA0C,EAAE,EAAE,EAAE,CAAC,CAAC;QACrE,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;KACnC,CAAC,CAAC;IACH,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtB,0FAA0F;IAC1F,OAAO,IAAiC,CAAC;AAC1C,CAAC;AAED,MAAM,KAAK,GAAG,IAAI,OAAO,EAAsB,CAAC;AAEhD,0CAA0C;AAC1C,MAAM,UAAU,UAAU,CAAC,IAA+B;IACzD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,IAAI,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,4BAA4B,CAAC,CAAC;IAClF,OAAO,IAAI,CAAC;AACb,CAAC;AAED,oGAAoG;AACpG,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,MAAkB,EAAE,MAA6C;IACzG,OAAO,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChF,CAAC","sourcesContent":["// Host kinds and addresses (§3): a kind of addressable host with params like a contract's, and the address of one\n// host of a kind, which a remote contract's `hostAddress` computes from its params.\n\nimport { checkName } from \"./names.ts\";\nimport { joinKey, type Params, type ParamsData, type RequiredFields, readParams } from \"./params.ts\";\nimport type { Static } from \"./schema.ts\";\n\n/** What an address's type needs of its kind: the name and the params, type only. */\nexport type KindShape = { readonly kind: string; readonly \"~params\"?: Params };\n\n/** One host of a kind: the kind's name, its params and its key (`session|S1`); two addresses are equal by key. */\nexport type Address<K extends KindShape = KindShape> = {\n\treadonly kind: K[\"kind\"];\n\treadonly params: ParamsOfKind<K>;\n\treadonly key: string;\n};\n\n/** A kind of addressable host: called with its params, it makes an address. */\nexport interface HostKind<N extends string = string, P extends Params = Params> {\n\t(\n\t\t...params: keyof P extends never ? [params?: Record<never, never>] : [params: { [F in keyof P]: Static<P[F]> }]\n\t): Address<HostKind<N, P>>;\n\treadonly kind: N;\n\t/** Type only: absent at runtime. */\n\treadonly \"~params\"?: P;\n}\n\n/** The params object of a host kind. */\nexport type ParamsOfKind<K extends KindShape> = {\n\t[F in keyof NonNullable<K[\"~params\"]>]: Static<NonNullable<K[\"~params\"]>[F]>;\n};\n\n/**\n * Declares a host kind; `params` follow the params policy of contracts (a flat record of required `str()`, `int()`,\n * `bool()` and `oneOf(...)`). Making an address computes its key only: its params are checked where it is routed.\n */\nexport function hostKind<const N extends string, const P extends Params = Record<never, never>>(\n\tname: N,\n\tparams?: P & NoInfer<RequiredFields<P>>,\n): HostKind<N, P> {\n\tcheckName(name, \"A host kind's name\");\n\t// `client` is the host kind of a host without an address in store names (owner strings, table names).\n\tif (name === \"client\") throw new Error('A host kind\\'s name \"client\" is reserved for hosts without an address');\n\tconst data = readParams(Object.entries(params ?? {}), `${name}.params`);\n\tconst make = (values: { readonly [field: string]: unknown } = {}) => ({\n\t\tkind: name,\n\t\tparams: values,\n\t\tkey: addressKey(name, data, values),\n\t});\n\tObject.defineProperty(make, \"kind\", { value: name, enumerable: true });\n\tkinds.set(make, data);\n\t// The function and its `kind` are the declared shape; the params type is type-level only.\n\treturn make as unknown as HostKind<N, P>;\n}\n\nconst kinds = new WeakMap<object, ParamsData>();\n\n/** The params of a declared host kind. */\nexport function kindParams(kind: { readonly kind: string }): ParamsData {\n\tconst data = kinds.get(kind);\n\tif (data === undefined) throw new Error(`${kind.kind}: not a declared host kind`);\n\treturn data;\n}\n\n/** An address's key: the kind's name and each field value in declared order, joined (`joinKey`). */\nexport function addressKey(kind: string, params: ParamsData, values: { readonly [field: string]: unknown }): string {\n\treturn joinKey([kind, ...params.fields.map((field) => String(values[field]))]);\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/next/contracts/index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACxF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,QAAQ,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC1G,OAAO,EACN,GAAG,EACH,KAAK,aAAa,EAClB,KAAK,MAAM,EACX,IAAI,EACJ,KAAK,EACL,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,GAAG,EACH,KAAK,WAAW,EAChB,KAAK,EACL,GAAG,EACH,GAAG,EACH,MAAM,EACN,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,GAAG,EACH,GAAG,EACH,KAAK,QAAQ,EACb,GAAG,EACH,KAAK,EACL,GAAG,EACH,KAAK,MAAM,EACX,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,GAAG,EACH,KAAK,EACL,OAAO,GACP,MAAM,aAAa,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/next/contracts/index.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAI/E,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAA+B,QAAQ,EAAqC,MAAM,gBAAgB,CAAC;AAC1G,OAAO,EACN,GAAG,EAGH,IAAI,EACJ,KAAK,EAGL,GAAG,EAEH,KAAK,EACL,GAAG,EACH,GAAG,EACH,MAAM,EAGN,GAAG,EACH,GAAG,EAEH,GAAG,EACH,KAAK,EACL,GAAG,EAIH,GAAG,EACH,KAAK,EACL,OAAO,GACP,MAAM,aAAa,CAAC","sourcesContent":["// Contracts for apps: declaring, evolving and implementing Chord object types.\n\nexport type { AcceptsTable } from \"./accepts.ts\";\nexport type { Contract, Implementation, KeyedWatchable, ParamsOf } from \"./contract.ts\";\nexport { local, remote } from \"./declare.ts\";\nexport { evolve } from \"./evolve.ts\";\nexport { type Address, type HostKind, hostKind, type KindShape, type ParamsOfKind } from \"./host-kind.ts\";\nexport {\n\tarr,\n\ttype BooleanSchema,\n\ttype Bounds,\n\tbool,\n\tbytes,\n\ttype Defaulted,\n\ttype IntegerSchema,\n\tint,\n\ttype KeyedMember,\n\tkeyed,\n\tlit,\n\tmap,\n\tmethod,\n\ttype NullSchema,\n\ttype NumberSchema,\n\tnul,\n\tnum,\n\ttype Optional,\n\tobj,\n\toneOf,\n\topt,\n\ttype Schema,\n\ttype Static,\n\ttype StringSchema,\n\tstr,\n\tunion,\n\tunknown,\n} from \"./schema.ts\";\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/next/contracts/internal.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EACN,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,YAAY,EACZ,eAAe,EACf,KAAK,EACL,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,WAAW,EACX,KAAK,WAAW,EAChB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EACjB,YAAY,EACZ,YAAY,EACZ,UAAU,GACV,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/next/contracts/internal.ts"],"names":[],"mappings":"AAAA,sHAAsH;AAEtH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAGN,YAAY,EACZ,eAAe,EACf,KAAK,EAGL,WAAW,EAIX,YAAY,EACZ,YAAY,EACZ,UAAU,GACV,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE9E,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC","sourcesContent":["// Contracts for Chord's layers: accepted versions, the data behind a contract handle, and the types L4 dispatches on.\n\nexport { checkAccepts } from \"./accepts.ts\";\nexport {\n\ttype ContractShape,\n\ttype CurrentVariants,\n\tcontractData,\n\tcurrentVariants,\n\tLOCAL,\n\ttype MethodData,\n\ttype ShapeOf,\n\ttakesNoArgs,\n\ttype VariantData,\n\ttype VariantImplementation,\n\ttype VariantNames,\n\tvariantNames,\n\tvariantOrder,\n\tvariantsAt,\n} from \"./contract.ts\";\nexport { editWith } from \"./evolve.ts\";\nexport { fingerprintOf, hash64, NORMAL_FORM_VERSION } from \"./fingerprint.ts\";\nexport type { Increment } from \"./history.ts\";\nexport { kindParams } from \"./host-kind.ts\";\nexport { checkName } from \"./names.ts\";\nexport type { Params, ParamsData } from \"./params.ts\";\nexport { Method } from \"./schema.ts\";\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"names.d.ts","sourceRoot":"","sources":["../../../src/next/contracts/names.ts"],"names":[],"mappings":"AAOA,4GAA4G;AAC5G,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAK1D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"names.js","sourceRoot":"","sources":["../../../src/next/contracts/names.ts"],"names":[],"mappings":"AAAA,kHAAkH;AAClH,gHAAgH;AAChH,2GAA2G;AAE3G,mGAAmG;AACnG,MAAM,IAAI,GAAG,mBAAmB,CAAC;AAEjC,4GAA4G;AAC5G,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,IAAY;IACnD,2DAA2D;IAC3D,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IACvF,CAAC;AACF,CAAC","sourcesContent":["// Names that become SQL names or stored identities in the store (decision \"Restricted names\"): object types, host\n// kinds, tables, state definitions and jobs use npm package-name characters, lowercase, so `<host kind>:<object\n// type>:<table>` is injective and readable, and a document's or a job record's name is stored as declared.\n\n/** Lowercase npm package-name characters: `:` cannot occur, so names joined with it stay apart. */\nconst NAME = /^[a-z0-9@/._~-]+$/;\n\n/** Throws unless `name` is a nonempty lowercase name of `[a-z0-9@/._~-]` (`what` names it in the error). */\nexport function checkName(name: string, what: string): void {\n\t// Declaration policy: JavaScript callers reach this check.\n\tif (typeof name !== \"string\" || !NAME.test(name)) {\n\t\tthrow new Error(`${what} ${JSON.stringify(name)}: expected lowercase [a-z0-9@/._~-]`);\n\t}\n}\n"]}
@@ -1,28 +0,0 @@
1
- import type { JsonValue } from "../../json.ts";
2
- import { type BooleanSchema, type IntegerSchema, type LiteralsSchema, type Optional, type Schema, type StringSchema } from "./schema.ts";
3
- /** A params field: a string, an integer, a boolean or a union of string literals; constraints allowed, no default. */
4
- type ParamSchema = (StringSchema | IntegerSchema | BooleanSchema | LiteralsSchema<string>) & {
5
- readonly default?: never;
6
- };
7
- /** Params: a flat record of required fields, in identity order. */
8
- export type Params = {
9
- readonly [field: string]: ParamSchema;
10
- };
11
- /** Refuses optional params fields, which the field types alone admit. */
12
- export type RequiredFields<P extends Params> = {
13
- [F in keyof P]: P[F] extends Optional ? never : P[F];
14
- };
15
- export type ParamsData = {
16
- /** Field names in identity order. */
17
- readonly fields: readonly string[];
18
- /** The closed object schema of all fields. */
19
- readonly schema: Schema;
20
- /** `[field, normal form]` pairs in identity order. */
21
- readonly normal: JsonValue;
22
- };
23
- /** Reads declared params fields: each a required str(), int(), bool() or oneOf(...) of strings, constraints allowed. */
24
- export declare function readParams(declared: readonly [string, unknown][], path: string): ParamsData;
25
- /** Joins key parts with `|`, each escaped (`\\` and `|`), so two different part lists never join to one key. */
26
- export declare function joinKey(parts: readonly string[]): string;
27
- export {};
28
- //# sourceMappingURL=params.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../../../src/next/contracts/params.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EACN,KAAK,aAAa,EAClB,KAAK,aAAa,EAElB,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,MAAM,aAAa,CAAC;AAGrB,sHAAsH;AACtH,KAAK,WAAW,GAAG,CAAC,YAAY,GAAG,aAAa,GAAG,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG;IAC5F,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC;CACzB,CAAC;AAEF,mEAAmE;AACnE,MAAM,MAAM,MAAM,GAAG;IAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW,CAAA;CAAE,CAAC;AAE/D,yEAAyE;AACzE,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,IAAI;KAC7C,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACxB,qCAAqC;IACrC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,8CAA8C;IAC9C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,sDAAsD;IACtD,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;CAC3B,CAAC;AAEF,wHAAwH;AACxH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAoB3F;AAED,gHAAgH;AAChH,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAExD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"params.js","sourceRoot":"","sources":["../../../src/next/contracts/params.ts"],"names":[],"mappings":"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","sourcesContent":["// Params declarations: the policy for params fields and the closed object schema checked on every get.\n\nimport type { JsonValue } from \"../../json.ts\";\nimport {\n\ttype BooleanSchema,\n\ttype IntegerSchema,\n\tisOptional,\n\ttype LiteralsSchema,\n\ttype Optional,\n\ttype Schema,\n\ttype StringSchema,\n} from \"./schema.ts\";\nimport { snapshotSchema } from \"./snapshot.ts\";\n\n/** A params field: a string, an integer, a boolean or a union of string literals; constraints allowed, no default. */\ntype ParamSchema = (StringSchema | IntegerSchema | BooleanSchema | LiteralsSchema<string>) & {\n\treadonly default?: never;\n};\n\n/** Params: a flat record of required fields, in identity order. */\nexport type Params = { readonly [field: string]: ParamSchema };\n\n/** Refuses optional params fields, which the field types alone admit. */\nexport type RequiredFields<P extends Params> = {\n\t[F in keyof P]: P[F] extends Optional ? never : P[F];\n};\n\nexport type ParamsData = {\n\t/** Field names in identity order. */\n\treadonly fields: readonly string[];\n\t/** The closed object schema of all fields. */\n\treadonly schema: Schema;\n\t/** `[field, normal form]` pairs in identity order. */\n\treadonly normal: JsonValue;\n};\n\n/** Reads declared params fields: each a required str(), int(), bool() or oneOf(...) of strings, constraints allowed. */\nexport function readParams(declared: readonly [string, unknown][], path: string): ParamsData {\n\tconst fields = declared.map(([field, schema]) => {\n\t\tconst fieldPath = `${path}.${field}`;\n\t\tconst refused = new Error(`${fieldPath}: a param is a required str(), int(), bool() or oneOf(...) of strings`);\n\t\tif (isOptional(schema)) throw refused;\n\t\tconst snapshot = snapshotSchema(schema, fieldPath);\n\t\tif (!isParamSchema(snapshot.normal)) throw refused;\n\t\treturn [field, snapshot] as const;\n\t});\n\tconst schema = {\n\t\ttype: \"object\",\n\t\tproperties: Object.fromEntries(fields.map(([field, snapshot]) => [field, snapshot.schema])),\n\t\trequired: fields.map(([field]) => field),\n\t\tadditionalProperties: false,\n\t};\n\treturn {\n\t\tfields: fields.map(([field]) => field),\n\t\tschema,\n\t\tnormal: fields.map(([field, snapshot]) => [field, snapshot.normal]),\n\t};\n}\n\n/** Joins key parts with `|`, each escaped (`\\\\` and `|`), so two different part lists never join to one key. */\nexport function joinKey(parts: readonly string[]): string {\n\treturn parts.map((part) => part.replaceAll(\"\\\\\", \"\\\\\\\\\").replaceAll(\"|\", \"\\\\|\")).join(\"|\");\n}\n\ntype SchemaNode = { readonly [keyword: string]: JsonValue };\n\nfunction isParamSchema(normal: JsonValue): boolean {\n\tconst node = normal as SchemaNode;\n\tif (node.anyOf !== undefined) {\n\t\treturn Object.keys(node).length === 1 && Array.isArray(node.anyOf) && node.anyOf.every(isStringLiteral);\n\t}\n\tconst allowed = PARAM_KEYWORDS.get(node.type);\n\treturn allowed !== undefined && Object.keys(node).every((key) => allowed.has(key));\n}\n\n/** Keywords a params field may use, by type. */\nconst PARAM_KEYWORDS = new Map<unknown, ReadonlySet<string>>([\n\t[\"string\", new Set([\"type\", \"minLength\", \"maxLength\", \"pattern\", \"format\"])],\n\t[\"integer\", new Set([\"type\", \"minimum\", \"maximum\", \"exclusiveMinimum\", \"exclusiveMaximum\", \"multipleOf\"])],\n\t[\"boolean\", new Set([\"type\"])],\n]);\n\nfunction isStringLiteral(branch: JsonValue): boolean {\n\tconst node = branch as SchemaNode;\n\treturn node.type === \"string\" && typeof node.const === \"string\" && Object.keys(node).length === 2;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/next/contracts/schema.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/next/contracts/schema.ts"],"names":[],"mappings":"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","sourcesContent":["// Schema helpers: Chord's short constructors over pi-schema's builders (plain JSON Schema, typed with the values they\n// accept), and method and keyed member declarations. The helpers keep the shapes contracts were fingerprinted with:\n// literals carry their `type`, `oneOf` is a union of literals, `map` a pattern-property record.\n\nimport {\n\tarr as arrSchema,\n\tbool as boolSchema,\n\tbytes as bytesSchema,\n\tint as intSchema,\n\tnul as nulSchema,\n\tnum as numSchema,\n\tOptional,\n\tobj as objSchema,\n\ttype Properties,\n\ttype Schema,\n\ttype Static,\n\ttype StaticObject,\n\tstr as strSchema,\n\tunion as unionSchema,\n\tunknown as unknownSchema,\n} from \"@earendil-works/pi-schema\";\n\nexport { Optional, opt, type Schema, type Static } from \"@earendil-works/pi-schema\";\n\n/** Bounds of a string length, a number or an array length. */\nexport type Bounds = { readonly min?: number; readonly max?: number };\n\n/** A declared default value: a table column with one may be left out of a `put` (slice 6a §5). */\nexport type Defaulted<T> = { readonly default: T };\n\n// Interfaces, not intersections: declarations of apps' exported contracts and tables name them (an intersection with\n// `Schema<T>` would print pi-schema's private brand, which declaration files cannot name).\n\n/** A string schema (`str()`), told apart from the other scalars by its `type`. */\nexport interface StringSchema extends Schema<string> {\n\treadonly type: \"string\";\n}\n\n/** A number schema (`num()`). */\nexport interface NumberSchema extends Schema<number> {\n\treadonly type: \"number\";\n}\n\n/** An integer schema (`int()`). */\nexport interface IntegerSchema extends Schema<number> {\n\treadonly type: \"integer\";\n}\n\n/** A boolean schema (`bool()`). */\nexport interface BooleanSchema extends Schema<boolean> {\n\treadonly type: \"boolean\";\n}\n\n/** The `null` schema (`nul()`): also the omitted side of a method. */\nexport interface NullSchema extends Schema<null> {\n\treadonly type: \"null\";\n}\n\n/** A union of literals (`oneOf(...)`). */\nexport interface LiteralsSchema<V extends Literal> extends Schema<V> {\n\treadonly anyOf: readonly Schema<V>[];\n}\n\n/** A string, with optional length bounds, pattern and default. */\nexport function str(\n\toptions: Bounds & { readonly pattern?: string; readonly default: string },\n): StringSchema & Defaulted<string>;\nexport function str(options?: Bounds & { readonly pattern?: string }): StringSchema;\nexport function str(options: Bounds & { readonly pattern?: string; readonly default?: string } = {}): StringSchema {\n\tconst pattern = options.pattern === undefined ? {} : { pattern: options.pattern };\n\treturn strSchema({\n\t\t...limits(options, \"minLength\", \"maxLength\"),\n\t\t...pattern,\n\t\t...defaultOf(options),\n\t}) as StringSchema;\n}\n\n/** A finite number within optional bounds, with an optional default. */\nexport function num(options: Bounds & { readonly default: number }): NumberSchema & Defaulted<number>;\nexport function num(options?: Bounds): NumberSchema;\nexport function num(options: Bounds & { readonly default?: number } = {}): NumberSchema {\n\treturn numSchema({ ...limits(options, \"minimum\", \"maximum\"), ...defaultOf(options) }) as NumberSchema;\n}\n\n/** An integer within optional bounds, with an optional default. */\nexport function int(options: Bounds & { readonly default: number }): IntegerSchema & Defaulted<number>;\nexport function int(options?: Bounds): IntegerSchema;\nexport function int(options: Bounds & { readonly default?: number } = {}): IntegerSchema {\n\treturn intSchema({ ...limits(options, \"minimum\", \"maximum\"), ...defaultOf(options) }) as IntegerSchema;\n}\n\n/** A boolean, with an optional default. */\nexport function bool(options: { readonly default: boolean }): BooleanSchema & Defaulted<boolean>;\nexport function bool(options?: Record<never, never>): BooleanSchema;\nexport function bool(options: { readonly default?: boolean } = {}): BooleanSchema {\n\treturn boolSchema(defaultOf(options)) as BooleanSchema;\n}\n\n/** The `default` keyword of `options`, left out when absent (snapshots refuse `undefined`). */\nfunction defaultOf<T extends string | number | boolean>(options: { readonly default?: T }): { default?: T } {\n\treturn options.default === undefined ? {} : { default: options.default };\n}\n\n/** `null`; also the omitted side of a method. */\nexport function nul(): NullSchema {\n\t// The builder's `type: \"null\"`, typed as such.\n\treturn nulSchema() as NullSchema;\n}\n\n/** Exactly the given value, with its JSON type (`{ type: \"string\", const: \"a\" }`). */\nexport function lit<const V extends Literal>(value: V): Schema<V> {\n\treturn { type: typeof value, const: value };\n}\n\n/** A value `lit(...)` and `oneOf(...)` take. */\nexport type Literal = string | number | boolean;\n\n/** One of the given literals: a union of `lit(...)` schemas, in order. */\nexport function oneOf<const V extends Literal[]>(...values: V): LiteralsSchema<V[number]> {\n\treturn { anyOf: values.map((value) => lit(value)) };\n}\n\n/** Any of the given schemas. */\nexport function union<const S extends readonly Schema[]>(schemas: S): Schema<Static<S[number]>> {\n\treturn unionSchema(schemas);\n}\n\n/** A closed object: unknown fields are refused; `opt(...)` marks an optional field. */\nexport function obj<const P extends Properties>(properties: P): Schema<StaticObject<P>> {\n\treturn objSchema(properties);\n}\n\n/** An array, with optional length bounds. */\nexport function arr<T>(items: Schema<T>, options: Bounds = {}): Schema<T[]> {\n\treturn arrSchema(items, limits(options, \"minItems\", \"maxItems\"));\n}\n\n/** A string-keyed record: one pattern property matching every key. */\nexport function map<T>(value: Schema<T>): Schema<Record<string, T>> {\n\treturn { type: \"object\", patternProperties: { \"^.*$\": value } };\n}\n\n/** Any value. */\nexport function unknown(): Schema<unknown> {\n\treturn unknownSchema();\n}\n\n/**\n * A `Uint8Array` leaf, checked by `instanceof` and length, never enumerated: `{ type: \"bytes\", minLength?, maxLength? }`\n * (pi-schema's extension of JSON Schema for values that never pass through JSON).\n */\nexport function bytes(options: Bounds = {}): Schema<Uint8Array> {\n\treturn bytesSchema(limits(options, \"minLength\", \"maxLength\"));\n}\n\n/** Builder options for the given bounds; an absent bound is left out, since snapshots refuse `undefined`. */\nfunction limits(options: Bounds, min: string, max: string): { [keyword: string]: number } {\n\tconst result: { [keyword: string]: number } = {};\n\tif (options.min !== undefined) result[min] = options.min;\n\tif (options.max !== undefined) result[max] = options.max;\n\treturn result;\n}\n\n/** Whether a declared object field is `opt(...)`. */\nexport function isOptional(value: unknown): value is Optional {\n\treturn value instanceof Optional;\n}\n\n/** A method declaration: its argument and result schemas; an omitted side is `null` on the wire. */\nexport class Method<A extends Schema = Schema, R extends Schema = Schema> {\n\treadonly args: A;\n\treadonly result: R;\n\n\tconstructor(args: A, result: R) {\n\t\tthis.args = args;\n\t\tthis.result = result;\n\t}\n}\n\n/** A keyed state member's declaration (slice 6a §12): documents of `schema` by string key; only in `local` contracts. */\nexport class KeyedMember<S extends Schema = Schema> {\n\treadonly schema: S;\n\n\tconstructor(schema: S) {\n\t\tthis.schema = schema;\n\t}\n}\n\n/** Declares a keyed state member of a `local` contract: documents of `schema` by string key, each watchable. */\nexport function keyed<S extends Schema>(schema: S): KeyedMember<S> {\n\treturn new KeyedMember(schema);\n}\n\n/** Declares a method: `method()`, `method(args)`, `method(args, result)` or `method(undefined, result)`. */\nexport function method(): Method<NullSchema, NullSchema>;\nexport function method<A extends Schema>(args: A): Method<A, NullSchema>;\nexport function method<R extends Schema>(args: undefined, result: R): Method<NullSchema, R>;\nexport function method<A extends Schema, R extends Schema>(args: A, result: R): Method<A, R>;\nexport function method(args?: Schema, result?: Schema): Method {\n\treturn new Method(args ?? nul(), result ?? nul());\n}\n"]}
@@ -1,16 +0,0 @@
1
- import type { JsonSchema } from "@earendil-works/pi-schema";
2
- import { type JsonValue } from "../../json.ts";
3
- /**
4
- * A Chord-owned copy of an app schema, its normal form, and whether it has a `bytes()` leaf (values crossing a link
5
- * then carry raw byte segments); immutable by convention.
6
- */
7
- export type Snapshot = {
8
- readonly schema: JsonSchema;
9
- readonly normal: JsonValue;
10
- readonly bytes: boolean;
11
- };
12
- /** Snapshot of a state, result or params schema. Throws an Error naming `path` for anything outside the vocabulary. */
13
- export declare function snapshotSchema(source: unknown, path: string): Snapshot;
14
- /** Snapshot of a method's arguments: every object schema inside must also be closed (records allowed). */
15
- export declare function snapshotArguments(source: unknown, path: string): Snapshot;
16
- //# sourceMappingURL=snapshot.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../src/next/contracts/snapshot.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAE5D;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAE5G,uHAAuH;AACvH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAEtE;AAED,0GAA0G;AAC1G,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAEzE"}