@earendil-works/chord 1.4.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 (1299) hide show
  1. package/CHANGELOG.md +92 -0
  2. package/README.md +115 -90
  3. package/dist/context/index.d.ts +1 -1
  4. package/dist/context/index.d.ts.map +1 -1
  5. package/dist/context/index.js +1 -1
  6. package/dist/context/index.js.map +1 -1
  7. package/dist/contracts/accepts.d.ts +81 -0
  8. package/dist/contracts/accepts.d.ts.map +1 -0
  9. package/dist/contracts/accepts.js +123 -0
  10. package/dist/contracts/accepts.js.map +1 -0
  11. package/dist/contracts/contract.d.ts +121 -0
  12. package/dist/contracts/contract.d.ts.map +1 -0
  13. package/dist/contracts/contract.js +50 -0
  14. package/dist/contracts/contract.js.map +1 -0
  15. package/dist/contracts/declare.d.ts +107 -0
  16. package/dist/contracts/declare.d.ts.map +1 -0
  17. package/dist/contracts/declare.js +136 -0
  18. package/dist/contracts/declare.js.map +1 -0
  19. package/dist/contracts/evolve.d.ts +92 -0
  20. package/dist/contracts/evolve.d.ts.map +1 -0
  21. package/dist/contracts/evolve.js +179 -0
  22. package/dist/contracts/evolve.js.map +1 -0
  23. package/dist/contracts/fingerprint.d.ts +16 -0
  24. package/dist/contracts/fingerprint.d.ts.map +1 -0
  25. package/dist/contracts/fingerprint.js +50 -0
  26. package/dist/contracts/fingerprint.js.map +1 -0
  27. package/dist/contracts/history.d.ts +71 -0
  28. package/dist/contracts/history.d.ts.map +1 -0
  29. package/dist/contracts/history.js +3 -0
  30. package/dist/contracts/history.js.map +1 -0
  31. package/dist/contracts/host-kind.d.ts +40 -0
  32. package/dist/contracts/host-kind.d.ts.map +1 -0
  33. package/dist/contracts/host-kind.js +37 -0
  34. package/dist/contracts/host-kind.js.map +1 -0
  35. package/dist/contracts/index.d.ts +7 -0
  36. package/dist/contracts/index.d.ts.map +1 -0
  37. package/dist/contracts/index.js +6 -0
  38. package/dist/contracts/index.js.map +1 -0
  39. package/dist/contracts/internal.d.ts +10 -0
  40. package/dist/contracts/internal.d.ts.map +1 -0
  41. package/dist/contracts/internal.js +9 -0
  42. package/dist/contracts/internal.js.map +1 -0
  43. package/dist/contracts/names.d.ts +3 -0
  44. package/dist/contracts/names.d.ts.map +1 -0
  45. package/dist/contracts/names.js +13 -0
  46. package/dist/contracts/names.js.map +1 -0
  47. package/dist/contracts/params.d.ts +28 -0
  48. package/dist/contracts/params.d.ts.map +1 -0
  49. package/dist/contracts/params.js +50 -0
  50. package/dist/contracts/params.js.map +1 -0
  51. package/dist/contracts/schema.d.ts +102 -0
  52. package/dist/contracts/schema.d.ts.map +1 -0
  53. package/dist/contracts/schema.js +103 -0
  54. package/dist/contracts/schema.js.map +1 -0
  55. package/dist/contracts/snapshot.d.ts +16 -0
  56. package/dist/contracts/snapshot.d.ts.map +1 -0
  57. package/dist/contracts/snapshot.js +167 -0
  58. package/dist/contracts/snapshot.js.map +1 -0
  59. package/dist/data/args.d.ts +50 -0
  60. package/dist/data/args.d.ts.map +1 -0
  61. package/dist/data/args.js +83 -0
  62. package/dist/data/args.js.map +1 -0
  63. package/dist/data/errors.d.ts +80 -0
  64. package/dist/data/errors.d.ts.map +1 -0
  65. package/dist/data/errors.js +116 -0
  66. package/dist/data/errors.js.map +1 -0
  67. package/dist/data/failure.d.ts +26 -0
  68. package/dist/data/failure.d.ts.map +1 -0
  69. package/dist/data/failure.js +77 -0
  70. package/dist/data/failure.js.map +1 -0
  71. package/dist/data/index.d.ts +4 -0
  72. package/dist/data/index.d.ts.map +1 -0
  73. package/dist/data/index.js +5 -0
  74. package/dist/data/index.js.map +1 -0
  75. package/dist/data/internal.d.ts +7 -0
  76. package/dist/data/internal.d.ts.map +1 -0
  77. package/dist/data/internal.js +8 -0
  78. package/dist/data/internal.js.map +1 -0
  79. package/dist/data/params.d.ts +20 -0
  80. package/dist/data/params.d.ts.map +1 -0
  81. package/dist/data/params.js +31 -0
  82. package/dist/data/params.js.map +1 -0
  83. package/dist/data/principal.d.ts +22 -0
  84. package/dist/data/principal.d.ts.map +1 -0
  85. package/dist/data/principal.js +49 -0
  86. package/dist/data/principal.js.map +1 -0
  87. package/dist/data/validator.d.ts +12 -0
  88. package/dist/data/validator.d.ts.map +1 -0
  89. package/dist/data/validator.js +35 -0
  90. package/dist/data/validator.js.map +1 -0
  91. package/dist/delta/apply-immutable-trusted.js +3 -4
  92. package/dist/delta/apply-immutable-trusted.js.map +1 -1
  93. package/dist/delta/diff.d.ts.map +1 -1
  94. package/dist/delta/diff.js +5 -3
  95. package/dist/delta/diff.js.map +1 -1
  96. package/dist/delta/index.d.ts +9 -1
  97. package/dist/delta/index.d.ts.map +1 -1
  98. package/dist/delta/index.js +15 -11
  99. package/dist/delta/index.js.map +1 -1
  100. package/dist/delta/pending.d.ts +36 -0
  101. package/dist/delta/pending.d.ts.map +1 -0
  102. package/dist/delta/pending.js +143 -0
  103. package/dist/delta/pending.js.map +1 -0
  104. package/dist/delta/tracker.d.ts +12 -0
  105. package/dist/delta/tracker.d.ts.map +1 -1
  106. package/dist/delta/tracker.js +109 -39
  107. package/dist/delta/tracker.js.map +1 -1
  108. package/dist/documents/address-source.d.ts +20 -0
  109. package/dist/documents/address-source.d.ts.map +1 -0
  110. package/dist/documents/address-source.js +44 -0
  111. package/dist/documents/address-source.js.map +1 -0
  112. package/dist/documents/definition.d.ts +84 -0
  113. package/dist/documents/definition.d.ts.map +1 -0
  114. package/dist/documents/definition.js +74 -0
  115. package/dist/documents/definition.js.map +1 -0
  116. package/dist/documents/documents.d.ts +126 -0
  117. package/dist/documents/documents.d.ts.map +1 -0
  118. package/dist/documents/documents.js +248 -0
  119. package/dist/documents/documents.js.map +1 -0
  120. package/dist/documents/fence.d.ts +9 -0
  121. package/dist/documents/fence.d.ts.map +1 -0
  122. package/dist/documents/fence.js +15 -0
  123. package/dist/documents/fence.js.map +1 -0
  124. package/dist/documents/handles.d.ts +76 -0
  125. package/dist/documents/handles.d.ts.map +1 -0
  126. package/dist/documents/handles.js +66 -0
  127. package/dist/documents/handles.js.map +1 -0
  128. package/dist/documents/index.d.ts +4 -0
  129. package/dist/documents/index.d.ts.map +1 -0
  130. package/dist/documents/index.js +3 -0
  131. package/dist/documents/index.js.map +1 -0
  132. package/dist/documents/internal.d.ts +9 -0
  133. package/dist/documents/internal.d.ts.map +1 -0
  134. package/dist/documents/internal.js +9 -0
  135. package/dist/documents/internal.js.map +1 -0
  136. package/dist/documents/keyed-slot.d.ts +103 -0
  137. package/dist/documents/keyed-slot.d.ts.map +1 -0
  138. package/dist/documents/keyed-slot.js +395 -0
  139. package/dist/documents/keyed-slot.js.map +1 -0
  140. package/dist/documents/line.d.ts +7 -0
  141. package/dist/documents/line.d.ts.map +1 -0
  142. package/dist/documents/line.js +14 -0
  143. package/dist/documents/line.js.map +1 -0
  144. package/dist/documents/persistence.d.ts +104 -0
  145. package/dist/documents/persistence.d.ts.map +1 -0
  146. package/dist/documents/persistence.js +129 -0
  147. package/dist/documents/persistence.js.map +1 -0
  148. package/dist/documents/residency.d.ts +31 -0
  149. package/dist/documents/residency.d.ts.map +1 -0
  150. package/dist/documents/residency.js +93 -0
  151. package/dist/documents/residency.js.map +1 -0
  152. package/dist/documents/slot.d.ts +109 -0
  153. package/dist/documents/slot.d.ts.map +1 -0
  154. package/dist/documents/slot.js +181 -0
  155. package/dist/documents/slot.js.map +1 -0
  156. package/dist/documents/transaction.d.ts +143 -0
  157. package/dist/documents/transaction.d.ts.map +1 -0
  158. package/dist/documents/transaction.js +442 -0
  159. package/dist/documents/transaction.js.map +1 -0
  160. package/dist/host/activity.d.ts +31 -0
  161. package/dist/host/activity.d.ts.map +1 -0
  162. package/dist/host/activity.js +40 -0
  163. package/dist/host/activity.js.map +1 -0
  164. package/dist/host/adapted.d.ts +49 -0
  165. package/dist/host/adapted.d.ts.map +1 -0
  166. package/dist/host/adapted.js +214 -0
  167. package/dist/host/adapted.js.map +1 -0
  168. package/dist/host/attempt.d.ts +308 -0
  169. package/dist/host/attempt.d.ts.map +1 -0
  170. package/dist/host/attempt.js +1199 -0
  171. package/dist/host/attempt.js.map +1 -0
  172. package/dist/host/backoff.d.ts +29 -0
  173. package/dist/host/backoff.d.ts.map +1 -0
  174. package/dist/host/backoff.js +69 -0
  175. package/dist/host/backoff.js.map +1 -0
  176. package/dist/host/ctx.d.ts +94 -0
  177. package/dist/host/ctx.d.ts.map +1 -0
  178. package/dist/host/ctx.js +200 -0
  179. package/dist/host/ctx.js.map +1 -0
  180. package/dist/host/deadline.d.ts +12 -0
  181. package/dist/host/deadline.d.ts.map +1 -0
  182. package/dist/host/deadline.js +40 -0
  183. package/dist/host/deadline.js.map +1 -0
  184. package/dist/host/dependencies.d.ts +65 -0
  185. package/dist/host/dependencies.d.ts.map +1 -0
  186. package/dist/host/dependencies.js +115 -0
  187. package/dist/host/dependencies.js.map +1 -0
  188. package/dist/host/destination.d.ts +48 -0
  189. package/dist/host/destination.d.ts.map +1 -0
  190. package/dist/host/destination.js +101 -0
  191. package/dist/host/destination.js.map +1 -0
  192. package/dist/host/facet.d.ts +84 -0
  193. package/dist/host/facet.d.ts.map +1 -0
  194. package/dist/host/facet.js +55 -0
  195. package/dist/host/facet.js.map +1 -0
  196. package/dist/host/follow.d.ts +52 -0
  197. package/dist/host/follow.d.ts.map +1 -0
  198. package/dist/host/follow.js +207 -0
  199. package/dist/host/follow.js.map +1 -0
  200. package/dist/host/host.d.ts +571 -0
  201. package/dist/host/host.d.ts.map +1 -0
  202. package/dist/host/host.js +1318 -0
  203. package/dist/host/host.js.map +1 -0
  204. package/dist/host/index.d.ts +17 -0
  205. package/dist/host/index.d.ts.map +1 -0
  206. package/dist/host/index.js +6 -0
  207. package/dist/host/index.js.map +1 -0
  208. package/dist/host/internal.d.ts +11 -0
  209. package/dist/host/internal.d.ts.map +1 -0
  210. package/dist/host/internal.js +9 -0
  211. package/dist/host/internal.js.map +1 -0
  212. package/dist/host/members.d.ts +50 -0
  213. package/dist/host/members.d.ts.map +1 -0
  214. package/dist/host/members.js +107 -0
  215. package/dist/host/members.js.map +1 -0
  216. package/dist/host/native.d.ts +64 -0
  217. package/dist/host/native.d.ts.map +1 -0
  218. package/dist/host/native.js +126 -0
  219. package/dist/host/native.js.map +1 -0
  220. package/dist/host/object.d.ts +331 -0
  221. package/dist/host/object.d.ts.map +1 -0
  222. package/dist/host/object.js +1296 -0
  223. package/dist/host/object.js.map +1 -0
  224. package/dist/host/old-work.d.ts +34 -0
  225. package/dist/host/old-work.d.ts.map +1 -0
  226. package/dist/host/old-work.js +52 -0
  227. package/dist/host/old-work.js.map +1 -0
  228. package/dist/host/parked.d.ts +23 -0
  229. package/dist/host/parked.d.ts.map +1 -0
  230. package/dist/host/parked.js +79 -0
  231. package/dist/host/parked.js.map +1 -0
  232. package/dist/host/presence.d.ts +34 -0
  233. package/dist/host/presence.d.ts.map +1 -0
  234. package/dist/host/presence.js +117 -0
  235. package/dist/host/presence.js.map +1 -0
  236. package/dist/host/readiness.d.ts +27 -0
  237. package/dist/host/readiness.d.ts.map +1 -0
  238. package/dist/host/readiness.js +134 -0
  239. package/dist/host/readiness.js.map +1 -0
  240. package/dist/host/ref-state.d.ts +53 -0
  241. package/dist/host/ref-state.d.ts.map +1 -0
  242. package/dist/host/ref-state.js +83 -0
  243. package/dist/host/ref-state.js.map +1 -0
  244. package/dist/host/reference-keys.d.ts +36 -0
  245. package/dist/host/reference-keys.d.ts.map +1 -0
  246. package/dist/host/reference-keys.js +168 -0
  247. package/dist/host/reference-keys.js.map +1 -0
  248. package/dist/host/reference-source.d.ts +65 -0
  249. package/dist/host/reference-source.d.ts.map +1 -0
  250. package/dist/host/reference-source.js +285 -0
  251. package/dist/host/reference-source.js.map +1 -0
  252. package/dist/host/reference.d.ts +321 -0
  253. package/dist/host/reference.d.ts.map +1 -0
  254. package/dist/host/reference.js +797 -0
  255. package/dist/host/reference.js.map +1 -0
  256. package/dist/host/reload-cycle.d.ts +16 -0
  257. package/dist/host/reload-cycle.d.ts.map +1 -0
  258. package/dist/host/reload-cycle.js +81 -0
  259. package/dist/host/reload-cycle.js.map +1 -0
  260. package/dist/host/retry-on.d.ts +28 -0
  261. package/dist/host/retry-on.d.ts.map +1 -0
  262. package/dist/host/retry-on.js +52 -0
  263. package/dist/host/retry-on.js.map +1 -0
  264. package/dist/host/revocation.d.ts +16 -0
  265. package/dist/host/revocation.d.ts.map +1 -0
  266. package/dist/host/revocation.js +27 -0
  267. package/dist/host/revocation.js.map +1 -0
  268. package/dist/host/root.d.ts +37 -0
  269. package/dist/host/root.d.ts.map +1 -0
  270. package/dist/host/root.js +68 -0
  271. package/dist/host/root.js.map +1 -0
  272. package/dist/host/route.d.ts +64 -0
  273. package/dist/host/route.d.ts.map +1 -0
  274. package/dist/host/route.js +227 -0
  275. package/dist/host/route.js.map +1 -0
  276. package/dist/host/routines.d.ts +78 -0
  277. package/dist/host/routines.d.ts.map +1 -0
  278. package/dist/host/routines.js +398 -0
  279. package/dist/host/routines.js.map +1 -0
  280. package/dist/host/sleep.d.ts +9 -0
  281. package/dist/host/sleep.d.ts.map +1 -0
  282. package/dist/host/sleep.js +40 -0
  283. package/dist/host/sleep.js.map +1 -0
  284. package/dist/host/staging.d.ts +94 -0
  285. package/dist/host/staging.d.ts.map +1 -0
  286. package/dist/host/staging.js +304 -0
  287. package/dist/host/staging.js.map +1 -0
  288. package/dist/host/unbound-clock.d.ts +23 -0
  289. package/dist/host/unbound-clock.d.ts.map +1 -0
  290. package/dist/host/unbound-clock.js +58 -0
  291. package/dist/host/unbound-clock.js.map +1 -0
  292. package/dist/host/unbound.d.ts +37 -0
  293. package/dist/host/unbound.d.ts.map +1 -0
  294. package/dist/host/unbound.js +88 -0
  295. package/dist/host/unbound.js.map +1 -0
  296. package/dist/host/uuid.d.ts +3 -0
  297. package/dist/host/uuid.d.ts.map +1 -0
  298. package/dist/host/uuid.js +38 -0
  299. package/dist/host/uuid.js.map +1 -0
  300. package/dist/index.d.ts +29 -18
  301. package/dist/index.d.ts.map +1 -1
  302. package/dist/index.js +20 -9
  303. package/dist/index.js.map +1 -1
  304. package/dist/jobs/definition.d.ts +96 -0
  305. package/dist/jobs/definition.d.ts.map +1 -0
  306. package/dist/jobs/definition.js +83 -0
  307. package/dist/jobs/definition.js.map +1 -0
  308. package/dist/jobs/index.d.ts +5 -0
  309. package/dist/jobs/index.d.ts.map +1 -0
  310. package/dist/jobs/index.js +3 -0
  311. package/dist/jobs/index.js.map +1 -0
  312. package/dist/jobs/internal.d.ts +3 -0
  313. package/dist/jobs/internal.d.ts.map +1 -0
  314. package/dist/jobs/internal.js +4 -0
  315. package/dist/jobs/internal.js.map +1 -0
  316. package/dist/jobs/job.d.ts +149 -0
  317. package/dist/jobs/job.d.ts.map +1 -0
  318. package/dist/jobs/job.js +387 -0
  319. package/dist/jobs/job.js.map +1 -0
  320. package/dist/jobs/persisted.d.ts +38 -0
  321. package/dist/jobs/persisted.d.ts.map +1 -0
  322. package/dist/jobs/persisted.js +95 -0
  323. package/dist/jobs/persisted.js.map +1 -0
  324. package/dist/jobs/records.d.ts +231 -0
  325. package/dist/jobs/records.d.ts.map +1 -0
  326. package/dist/jobs/records.js +871 -0
  327. package/dist/jobs/records.js.map +1 -0
  328. package/dist/jobs/run-states.d.ts +69 -0
  329. package/dist/jobs/run-states.d.ts.map +1 -0
  330. package/dist/jobs/run-states.js +228 -0
  331. package/dist/jobs/run-states.js.map +1 -0
  332. package/dist/jobs/run.d.ts +117 -0
  333. package/dist/jobs/run.d.ts.map +1 -0
  334. package/dist/jobs/run.js +204 -0
  335. package/dist/jobs/run.js.map +1 -0
  336. package/dist/jobs/running.d.ts +44 -0
  337. package/dist/jobs/running.d.ts.map +1 -0
  338. package/dist/jobs/running.js +117 -0
  339. package/dist/jobs/running.js.map +1 -0
  340. package/dist/jobs/stored.d.ts +63 -0
  341. package/dist/jobs/stored.d.ts.map +1 -0
  342. package/dist/jobs/stored.js +55 -0
  343. package/dist/jobs/stored.js.map +1 -0
  344. package/dist/link/binary.d.ts +4 -0
  345. package/dist/link/binary.d.ts.map +1 -0
  346. package/dist/link/binary.js +544 -0
  347. package/dist/link/binary.js.map +1 -0
  348. package/dist/link/channel.d.ts +68 -0
  349. package/dist/link/channel.d.ts.map +1 -0
  350. package/dist/link/channel.js +215 -0
  351. package/dist/link/channel.js.map +1 -0
  352. package/dist/link/errors.d.ts +7 -0
  353. package/dist/link/errors.d.ts.map +1 -0
  354. package/dist/link/errors.js +21 -0
  355. package/dist/link/errors.js.map +1 -0
  356. package/dist/link/index.d.ts +8 -0
  357. package/dist/link/index.d.ts.map +1 -0
  358. package/dist/link/index.js +8 -0
  359. package/dist/link/index.js.map +1 -0
  360. package/dist/link/internal.d.ts +9 -0
  361. package/dist/link/internal.d.ts.map +1 -0
  362. package/dist/link/internal.js +10 -0
  363. package/dist/link/internal.js.map +1 -0
  364. package/dist/link/ipc.d.ts +22 -0
  365. package/dist/link/ipc.d.ts.map +1 -0
  366. package/dist/link/ipc.js +64 -0
  367. package/dist/link/ipc.js.map +1 -0
  368. package/dist/link/link.d.ts +34 -0
  369. package/dist/link/link.d.ts.map +1 -0
  370. package/dist/link/link.js +87 -0
  371. package/dist/link/link.js.map +1 -0
  372. package/dist/link/message.d.ts +262 -0
  373. package/dist/link/message.d.ts.map +1 -0
  374. package/dist/link/message.js +156 -0
  375. package/dist/link/message.js.map +1 -0
  376. package/dist/link/part.d.ts +80 -0
  377. package/dist/link/part.d.ts.map +1 -0
  378. package/dist/link/part.js +165 -0
  379. package/dist/link/part.js.map +1 -0
  380. package/dist/link/text.d.ts +6 -0
  381. package/dist/link/text.d.ts.map +1 -0
  382. package/dist/link/text.js +355 -0
  383. package/dist/link/text.js.map +1 -0
  384. package/dist/link/values.d.ts +40 -0
  385. package/dist/link/values.d.ts.map +1 -0
  386. package/dist/link/values.js +121 -0
  387. package/dist/link/values.js.map +1 -0
  388. package/dist/link/websocket.d.ts +26 -0
  389. package/dist/link/websocket.d.ts.map +1 -0
  390. package/dist/link/websocket.js +91 -0
  391. package/dist/link/websocket.js.map +1 -0
  392. package/dist/node/app/app.d.ts +269 -0
  393. package/dist/node/app/app.d.ts.map +1 -0
  394. package/dist/node/app/app.js +513 -0
  395. package/dist/node/app/app.js.map +1 -0
  396. package/dist/node/app/archive.d.ts +37 -0
  397. package/dist/node/app/archive.d.ts.map +1 -0
  398. package/dist/node/app/archive.js +204 -0
  399. package/dist/node/app/archive.js.map +1 -0
  400. package/dist/node/app/blobs.d.ts +23 -0
  401. package/dist/node/app/blobs.d.ts.map +1 -0
  402. package/dist/node/app/blobs.js +64 -0
  403. package/dist/node/app/blobs.js.map +1 -0
  404. package/dist/node/app/data.d.ts +35 -0
  405. package/dist/node/app/data.d.ts.map +1 -0
  406. package/dist/node/app/data.js +44 -0
  407. package/dist/node/app/data.js.map +1 -0
  408. package/dist/node/app/ephemeral-sessions.d.ts +20 -0
  409. package/dist/node/app/ephemeral-sessions.d.ts.map +1 -0
  410. package/dist/node/app/ephemeral-sessions.js +69 -0
  411. package/dist/node/app/ephemeral-sessions.js.map +1 -0
  412. package/dist/node/app/ephemeral.d.ts +11 -0
  413. package/dist/node/app/ephemeral.d.ts.map +1 -0
  414. package/dist/node/app/ephemeral.js +34 -0
  415. package/dist/node/app/ephemeral.js.map +1 -0
  416. package/dist/node/app/files-copy.d.ts +13 -0
  417. package/dist/node/app/files-copy.d.ts.map +1 -0
  418. package/dist/node/app/files-copy.js +86 -0
  419. package/dist/node/app/files-copy.js.map +1 -0
  420. package/dist/node/app/files-entry.d.ts +4 -0
  421. package/dist/node/app/files-entry.d.ts.map +1 -0
  422. package/dist/node/app/files-entry.js +7 -0
  423. package/dist/node/app/files-entry.js.map +1 -0
  424. package/dist/node/app/files-index.d.ts +180 -0
  425. package/dist/node/app/files-index.d.ts.map +1 -0
  426. package/dist/node/app/files-index.js +535 -0
  427. package/dist/node/app/files-index.js.map +1 -0
  428. package/dist/node/app/files.d.ts +363 -0
  429. package/dist/node/app/files.d.ts.map +1 -0
  430. package/dist/node/app/files.js +368 -0
  431. package/dist/node/app/files.js.map +1 -0
  432. package/dist/node/app/folder-views.d.ts +21 -0
  433. package/dist/node/app/folder-views.d.ts.map +1 -0
  434. package/dist/node/app/folder-views.js +55 -0
  435. package/dist/node/app/folder-views.js.map +1 -0
  436. package/dist/node/app/index.d.ts +12 -0
  437. package/dist/node/app/index.d.ts.map +1 -0
  438. package/dist/node/app/index.js +15 -0
  439. package/dist/node/app/index.js.map +1 -0
  440. package/dist/node/app/info.d.ts +66 -0
  441. package/dist/node/app/info.d.ts.map +1 -0
  442. package/dist/node/app/info.js +37 -0
  443. package/dist/node/app/info.js.map +1 -0
  444. package/dist/node/app/invite.d.ts +5 -0
  445. package/dist/node/app/invite.d.ts.map +1 -0
  446. package/dist/node/app/invite.js +64 -0
  447. package/dist/node/app/invite.js.map +1 -0
  448. package/dist/node/app/layout.d.ts +36 -0
  449. package/dist/node/app/layout.d.ts.map +1 -0
  450. package/dist/node/app/layout.js +87 -0
  451. package/dist/node/app/layout.js.map +1 -0
  452. package/dist/node/app/owner.d.ts +31 -0
  453. package/dist/node/app/owner.d.ts.map +1 -0
  454. package/dist/node/app/owner.js +104 -0
  455. package/dist/node/app/owner.js.map +1 -0
  456. package/dist/node/app/pairing.d.ts +55 -0
  457. package/dist/node/app/pairing.d.ts.map +1 -0
  458. package/dist/node/app/pairing.js +183 -0
  459. package/dist/node/app/pairing.js.map +1 -0
  460. package/dist/node/app/secrets.d.ts +16 -0
  461. package/dist/node/app/secrets.d.ts.map +1 -0
  462. package/dist/node/app/secrets.js +72 -0
  463. package/dist/node/app/secrets.js.map +1 -0
  464. package/dist/node/app/sessions.d.ts +72 -0
  465. package/dist/node/app/sessions.d.ts.map +1 -0
  466. package/dist/node/app/sessions.js +222 -0
  467. package/dist/node/app/sessions.js.map +1 -0
  468. package/dist/node/app/tar.d.ts +24 -0
  469. package/dist/node/app/tar.d.ts.map +1 -0
  470. package/dist/node/app/tar.js +167 -0
  471. package/dist/node/app/tar.js.map +1 -0
  472. package/dist/node/app/uploads.d.ts +37 -0
  473. package/dist/node/app/uploads.d.ts.map +1 -0
  474. package/dist/node/app/uploads.js +157 -0
  475. package/dist/node/app/uploads.js.map +1 -0
  476. package/dist/node/app/users.d.ts +37 -0
  477. package/dist/node/app/users.d.ts.map +1 -0
  478. package/dist/node/app/users.js +62 -0
  479. package/dist/node/app/users.js.map +1 -0
  480. package/dist/node/app/worker.d.ts +18 -0
  481. package/dist/node/app/worker.d.ts.map +1 -0
  482. package/dist/node/app/worker.js +84 -0
  483. package/dist/node/app/worker.js.map +1 -0
  484. package/dist/node/compression.d.ts +7 -0
  485. package/dist/node/compression.d.ts.map +1 -0
  486. package/dist/node/compression.js +25 -0
  487. package/dist/node/compression.js.map +1 -0
  488. package/dist/node/http/admission.d.ts +63 -0
  489. package/dist/node/http/admission.d.ts.map +1 -0
  490. package/dist/node/http/admission.js +134 -0
  491. package/dist/node/http/admission.js.map +1 -0
  492. package/dist/node/http/authenticate.d.ts +21 -0
  493. package/dist/node/http/authenticate.d.ts.map +1 -0
  494. package/dist/node/http/authenticate.js +34 -0
  495. package/dist/node/http/authenticate.js.map +1 -0
  496. package/dist/node/http/cookies.d.ts +32 -0
  497. package/dist/node/http/cookies.d.ts.map +1 -0
  498. package/dist/node/http/cookies.js +70 -0
  499. package/dist/node/http/cookies.js.map +1 -0
  500. package/dist/node/http/file.d.ts +23 -0
  501. package/dist/node/http/file.d.ts.map +1 -0
  502. package/dist/node/http/file.js +94 -0
  503. package/dist/node/http/file.js.map +1 -0
  504. package/dist/node/http/headers.d.ts +37 -0
  505. package/dist/node/http/headers.d.ts.map +1 -0
  506. package/dist/node/http/headers.js +136 -0
  507. package/dist/node/http/headers.js.map +1 -0
  508. package/dist/node/http/http.d.ts +111 -0
  509. package/dist/node/http/http.d.ts.map +1 -0
  510. package/dist/node/http/http.js +524 -0
  511. package/dist/node/http/http.js.map +1 -0
  512. package/dist/node/http/incoming.d.ts +19 -0
  513. package/dist/node/http/incoming.d.ts.map +1 -0
  514. package/dist/node/http/incoming.js +31 -0
  515. package/dist/node/http/incoming.js.map +1 -0
  516. package/dist/node/http/index.d.ts +11 -0
  517. package/dist/node/http/index.d.ts.map +1 -0
  518. package/dist/node/http/index.js +12 -0
  519. package/dist/node/http/index.js.map +1 -0
  520. package/dist/node/http/node.d.ts +78 -0
  521. package/dist/node/http/node.d.ts.map +1 -0
  522. package/dist/node/http/node.js +291 -0
  523. package/dist/node/http/node.js.map +1 -0
  524. package/dist/node/http/request.d.ts +60 -0
  525. package/dist/node/http/request.d.ts.map +1 -0
  526. package/dist/node/http/request.js +118 -0
  527. package/dist/node/http/request.js.map +1 -0
  528. package/dist/node/http/response.d.ts +63 -0
  529. package/dist/node/http/response.d.ts.map +1 -0
  530. package/dist/node/http/response.js +202 -0
  531. package/dist/node/http/response.js.map +1 -0
  532. package/dist/node/http/router.d.ts +132 -0
  533. package/dist/node/http/router.d.ts.map +1 -0
  534. package/dist/node/http/router.js +267 -0
  535. package/dist/node/http/router.js.map +1 -0
  536. package/dist/node/http/upgrades.d.ts +61 -0
  537. package/dist/node/http/upgrades.d.ts.map +1 -0
  538. package/dist/node/http/upgrades.js +192 -0
  539. package/dist/node/http/upgrades.js.map +1 -0
  540. package/dist/node/plugins/base-inputs.d.ts +14 -0
  541. package/dist/node/plugins/base-inputs.d.ts.map +1 -0
  542. package/dist/node/plugins/base-inputs.js +33 -0
  543. package/dist/node/plugins/base-inputs.js.map +1 -0
  544. package/dist/node/plugins/build.d.ts +77 -0
  545. package/dist/node/plugins/build.d.ts.map +1 -0
  546. package/dist/node/plugins/build.js +576 -0
  547. package/dist/node/plugins/build.js.map +1 -0
  548. package/dist/node/plugins/css-modules.d.ts +13 -0
  549. package/dist/node/plugins/css-modules.d.ts.map +1 -0
  550. package/dist/node/plugins/css-modules.js +58 -0
  551. package/dist/node/plugins/css-modules.js.map +1 -0
  552. package/dist/node/plugins/discover.d.ts +67 -0
  553. package/dist/node/plugins/discover.d.ts.map +1 -0
  554. package/dist/node/plugins/discover.js +369 -0
  555. package/dist/node/plugins/discover.js.map +1 -0
  556. package/dist/node/plugins/evaluate.d.ts +33 -0
  557. package/dist/node/plugins/evaluate.d.ts.map +1 -0
  558. package/dist/node/plugins/evaluate.js +121 -0
  559. package/dist/node/plugins/evaluate.js.map +1 -0
  560. package/dist/node/plugins/index.d.ts +11 -0
  561. package/dist/node/plugins/index.d.ts.map +1 -0
  562. package/dist/node/plugins/index.js +13 -0
  563. package/dist/node/plugins/index.js.map +1 -0
  564. package/dist/node/plugins/install.d.ts +38 -0
  565. package/dist/node/plugins/install.d.ts.map +1 -0
  566. package/dist/node/plugins/install.js +213 -0
  567. package/dist/node/plugins/install.js.map +1 -0
  568. package/dist/node/plugins/plugins.d.ts +162 -0
  569. package/dist/node/plugins/plugins.d.ts.map +1 -0
  570. package/dist/node/plugins/plugins.js +244 -0
  571. package/dist/node/plugins/plugins.js.map +1 -0
  572. package/dist/node/plugins/runtime.d.ts +57 -0
  573. package/dist/node/plugins/runtime.d.ts.map +1 -0
  574. package/dist/node/plugins/runtime.js +92 -0
  575. package/dist/node/plugins/runtime.js.map +1 -0
  576. package/dist/node/plugins/stack.d.ts +16 -0
  577. package/dist/node/plugins/stack.d.ts.map +1 -0
  578. package/dist/node/plugins/stack.js +61 -0
  579. package/dist/node/plugins/stack.js.map +1 -0
  580. package/dist/node/plugins/testing.d.ts +58 -0
  581. package/dist/node/plugins/testing.d.ts.map +1 -0
  582. package/dist/node/plugins/testing.js +210 -0
  583. package/dist/node/plugins/testing.js.map +1 -0
  584. package/dist/node/plugins/watcher.d.ts +69 -0
  585. package/dist/node/plugins/watcher.d.ts.map +1 -0
  586. package/dist/node/plugins/watcher.js +622 -0
  587. package/dist/node/plugins/watcher.js.map +1 -0
  588. package/dist/node/surfaces/bundle.d.ts +31 -0
  589. package/dist/node/surfaces/bundle.d.ts.map +1 -0
  590. package/dist/node/surfaces/bundle.js +118 -0
  591. package/dist/node/surfaces/bundle.js.map +1 -0
  592. package/dist/node/surfaces/current.d.ts +17 -0
  593. package/dist/node/surfaces/current.d.ts.map +1 -0
  594. package/dist/node/surfaces/current.js +54 -0
  595. package/dist/node/surfaces/current.js.map +1 -0
  596. package/dist/node/surfaces/index.d.ts +6 -0
  597. package/dist/node/surfaces/index.d.ts.map +1 -0
  598. package/dist/node/surfaces/index.js +6 -0
  599. package/dist/node/surfaces/index.js.map +1 -0
  600. package/dist/node/surfaces/published.d.ts +27 -0
  601. package/dist/node/surfaces/published.d.ts.map +1 -0
  602. package/dist/node/surfaces/published.js +142 -0
  603. package/dist/node/surfaces/published.js.map +1 -0
  604. package/dist/node/surfaces/served.d.ts +15 -0
  605. package/dist/node/surfaces/served.d.ts.map +1 -0
  606. package/dist/node/surfaces/served.js +42 -0
  607. package/dist/node/surfaces/served.js.map +1 -0
  608. package/dist/node/surfaces/surface-build.d.ts +53 -0
  609. package/dist/node/surfaces/surface-build.d.ts.map +1 -0
  610. package/dist/node/surfaces/surface-build.js +105 -0
  611. package/dist/node/surfaces/surface-build.js.map +1 -0
  612. package/dist/node/surfaces/tui.d.ts +40 -0
  613. package/dist/node/surfaces/tui.d.ts.map +1 -0
  614. package/dist/node/surfaces/tui.js +55 -0
  615. package/dist/node/surfaces/tui.js.map +1 -0
  616. package/dist/node/surfaces/web.d.ts +56 -0
  617. package/dist/node/surfaces/web.d.ts.map +1 -0
  618. package/dist/node/surfaces/web.js +108 -0
  619. package/dist/node/surfaces/web.js.map +1 -0
  620. package/dist/node/tui/actions.d.ts +49 -0
  621. package/dist/node/tui/actions.d.ts.map +1 -0
  622. package/dist/node/tui/actions.js +195 -0
  623. package/dist/node/tui/actions.js.map +1 -0
  624. package/dist/node/tui/credentials.d.ts +17 -0
  625. package/dist/node/tui/credentials.d.ts.map +1 -0
  626. package/dist/node/tui/credentials.js +54 -0
  627. package/dist/node/tui/credentials.js.map +1 -0
  628. package/dist/node/tui/filter.d.ts +5 -0
  629. package/dist/node/tui/filter.d.ts.map +1 -0
  630. package/dist/node/tui/filter.js +79 -0
  631. package/dist/node/tui/filter.js.map +1 -0
  632. package/dist/node/tui/index.d.ts +6 -0
  633. package/dist/node/tui/index.d.ts.map +1 -0
  634. package/dist/node/tui/index.js +6 -0
  635. package/dist/node/tui/index.js.map +1 -0
  636. package/dist/node/tui/launcher.d.ts +40 -0
  637. package/dist/node/tui/launcher.d.ts.map +1 -0
  638. package/dist/node/tui/launcher.js +439 -0
  639. package/dist/node/tui/launcher.js.map +1 -0
  640. package/dist/node/tui/pipe.d.ts +18 -0
  641. package/dist/node/tui/pipe.d.ts.map +1 -0
  642. package/dist/node/tui/pipe.js +134 -0
  643. package/dist/node/tui/pipe.js.map +1 -0
  644. package/dist/node/tui/sandbox.d.ts +54 -0
  645. package/dist/node/tui/sandbox.d.ts.map +1 -0
  646. package/dist/node/tui/sandbox.js +431 -0
  647. package/dist/node/tui/sandbox.js.map +1 -0
  648. package/dist/node/workers/base.d.ts +30 -0
  649. package/dist/node/workers/base.d.ts.map +1 -0
  650. package/dist/node/workers/base.js +255 -0
  651. package/dist/node/workers/base.js.map +1 -0
  652. package/dist/node/workers/child.d.ts +4 -0
  653. package/dist/node/workers/child.d.ts.map +1 -0
  654. package/dist/node/workers/child.js +6 -0
  655. package/dist/node/workers/child.js.map +1 -0
  656. package/dist/node/workers/control.d.ts +83 -0
  657. package/dist/node/workers/control.d.ts.map +1 -0
  658. package/dist/node/workers/control.js +77 -0
  659. package/dist/node/workers/control.js.map +1 -0
  660. package/dist/node/workers/index.d.ts +4 -0
  661. package/dist/node/workers/index.d.ts.map +1 -0
  662. package/dist/node/workers/index.js +7 -0
  663. package/dist/node/workers/index.js.map +1 -0
  664. package/dist/node/workers/lock.d.ts +30 -0
  665. package/dist/node/workers/lock.d.ts.map +1 -0
  666. package/dist/node/workers/lock.js +180 -0
  667. package/dist/node/workers/lock.js.map +1 -0
  668. package/dist/node/workers/main.d.ts +46 -0
  669. package/dist/node/workers/main.d.ts.map +1 -0
  670. package/dist/node/workers/main.js +230 -0
  671. package/dist/node/workers/main.js.map +1 -0
  672. package/dist/node/workers/process.d.ts +42 -0
  673. package/dist/node/workers/process.d.ts.map +1 -0
  674. package/dist/node/workers/process.js +125 -0
  675. package/dist/node/workers/process.js.map +1 -0
  676. package/dist/node/workers/workers.d.ts +122 -0
  677. package/dist/node/workers/workers.d.ts.map +1 -0
  678. package/dist/node/workers/workers.js +677 -0
  679. package/dist/node/workers/workers.js.map +1 -0
  680. package/dist/output.d.ts +1 -1
  681. package/dist/output.d.ts.map +1 -1
  682. package/dist/output.js +4 -2
  683. package/dist/output.js.map +1 -1
  684. package/dist/react/hooks.d.ts +43 -0
  685. package/dist/react/hooks.d.ts.map +1 -0
  686. package/dist/react/hooks.js +82 -0
  687. package/dist/react/hooks.js.map +1 -0
  688. package/dist/react/index.d.ts +3 -0
  689. package/dist/react/index.d.ts.map +1 -0
  690. package/dist/react/index.js +4 -0
  691. package/dist/react/index.js.map +1 -0
  692. package/dist/react/stores.d.ts +9 -0
  693. package/dist/react/stores.d.ts.map +1 -0
  694. package/dist/react/stores.js +37 -0
  695. package/dist/react/stores.js.map +1 -0
  696. package/dist/registries/contribution.d.ts +50 -0
  697. package/dist/registries/contribution.d.ts.map +1 -0
  698. package/dist/registries/contribution.js +129 -0
  699. package/dist/registries/contribution.js.map +1 -0
  700. package/dist/registries/entries.d.ts +18 -0
  701. package/dist/registries/entries.d.ts.map +1 -0
  702. package/dist/registries/entries.js +42 -0
  703. package/dist/registries/entries.js.map +1 -0
  704. package/dist/registries/index.d.ts +3 -0
  705. package/dist/registries/index.d.ts.map +1 -0
  706. package/dist/registries/index.js +5 -0
  707. package/dist/registries/index.js.map +1 -0
  708. package/dist/registries/internal.d.ts +4 -0
  709. package/dist/registries/internal.d.ts.map +1 -0
  710. package/dist/registries/internal.js +5 -0
  711. package/dist/registries/internal.js.map +1 -0
  712. package/dist/registries/record.d.ts +115 -0
  713. package/dist/registries/record.d.ts.map +1 -0
  714. package/dist/registries/record.js +283 -0
  715. package/dist/registries/record.js.map +1 -0
  716. package/dist/registries/registry.d.ts +74 -0
  717. package/dist/registries/registry.d.ts.map +1 -0
  718. package/dist/registries/registry.js +14 -0
  719. package/dist/registries/registry.js.map +1 -0
  720. package/dist/registries/value.d.ts +48 -0
  721. package/dist/registries/value.d.ts.map +1 -0
  722. package/dist/registries/value.js +224 -0
  723. package/dist/registries/value.js.map +1 -0
  724. package/dist/remote/calls.d.ts +25 -0
  725. package/dist/remote/calls.d.ts.map +1 -0
  726. package/dist/remote/calls.js +62 -0
  727. package/dist/remote/calls.js.map +1 -0
  728. package/dist/remote/consumer.d.ts +43 -0
  729. package/dist/remote/consumer.d.ts.map +1 -0
  730. package/dist/remote/consumer.js +350 -0
  731. package/dist/remote/consumer.js.map +1 -0
  732. package/dist/remote/hold.d.ts +141 -0
  733. package/dist/remote/hold.d.ts.map +1 -0
  734. package/dist/remote/hold.js +579 -0
  735. package/dist/remote/hold.js.map +1 -0
  736. package/dist/remote/host-link.d.ts +77 -0
  737. package/dist/remote/host-link.d.ts.map +1 -0
  738. package/dist/remote/host-link.js +184 -0
  739. package/dist/remote/host-link.js.map +1 -0
  740. package/dist/remote/internal.d.ts +6 -0
  741. package/dist/remote/internal.d.ts.map +1 -0
  742. package/dist/remote/internal.js +6 -0
  743. package/dist/remote/internal.js.map +1 -0
  744. package/dist/remote/path.d.ts +46 -0
  745. package/dist/remote/path.d.ts.map +1 -0
  746. package/dist/remote/path.js +73 -0
  747. package/dist/remote/path.js.map +1 -0
  748. package/dist/remote/provider.d.ts +89 -0
  749. package/dist/remote/provider.d.ts.map +1 -0
  750. package/dist/remote/provider.js +597 -0
  751. package/dist/remote/provider.js.map +1 -0
  752. package/dist/remote/relay.d.ts +69 -0
  753. package/dist/remote/relay.d.ts.map +1 -0
  754. package/dist/remote/relay.js +219 -0
  755. package/dist/remote/relay.js.map +1 -0
  756. package/dist/remote/remote-object.d.ts +138 -0
  757. package/dist/remote/remote-object.d.ts.map +1 -0
  758. package/dist/remote/remote-object.js +492 -0
  759. package/dist/remote/remote-object.js.map +1 -0
  760. package/dist/remote/replica.d.ts +59 -0
  761. package/dist/remote/replica.d.ts.map +1 -0
  762. package/dist/remote/replica.js +125 -0
  763. package/dist/remote/replica.js.map +1 -0
  764. package/dist/sqlite/cloudflare.d.ts +2 -0
  765. package/dist/sqlite/cloudflare.d.ts.map +1 -1
  766. package/dist/sqlite/cloudflare.js +10 -0
  767. package/dist/sqlite/cloudflare.js.map +1 -1
  768. package/dist/sqlite/database.d.ts +5 -2
  769. package/dist/sqlite/database.d.ts.map +1 -1
  770. package/dist/sqlite/database.js.map +1 -1
  771. package/dist/sqlite/node.d.ts +13 -2
  772. package/dist/sqlite/node.d.ts.map +1 -1
  773. package/dist/sqlite/node.js +31 -8
  774. package/dist/sqlite/node.js.map +1 -1
  775. package/dist/state/batch.d.ts +64 -0
  776. package/dist/state/batch.d.ts.map +1 -0
  777. package/dist/state/batch.js +164 -0
  778. package/dist/state/batch.js.map +1 -0
  779. package/dist/state/derive.d.ts +52 -0
  780. package/dist/state/derive.d.ts.map +1 -0
  781. package/dist/state/derive.js +182 -0
  782. package/dist/state/derive.js.map +1 -0
  783. package/dist/state/index.d.ts +6 -0
  784. package/dist/state/index.d.ts.map +1 -0
  785. package/dist/state/index.js +4 -0
  786. package/dist/state/index.js.map +1 -0
  787. package/dist/state/internal.d.ts +6 -0
  788. package/dist/state/internal.d.ts.map +1 -0
  789. package/dist/state/internal.js +8 -0
  790. package/dist/state/internal.js.map +1 -0
  791. package/dist/state/native-source.d.ts +106 -0
  792. package/dist/state/native-source.d.ts.map +1 -0
  793. package/dist/state/native-source.js +240 -0
  794. package/dist/state/native-source.js.map +1 -0
  795. package/dist/state/watchable.d.ts +114 -0
  796. package/dist/state/watchable.d.ts.map +1 -0
  797. package/dist/state/watchable.js +156 -0
  798. package/dist/state/watchable.js.map +1 -0
  799. package/dist/state/writable.d.ts +32 -0
  800. package/dist/state/writable.d.ts.map +1 -0
  801. package/dist/state/writable.js +49 -0
  802. package/dist/state/writable.js.map +1 -0
  803. package/dist/store/adapter.d.ts +67 -0
  804. package/dist/store/adapter.d.ts.map +1 -0
  805. package/dist/store/adapter.js +118 -0
  806. package/dist/store/adapter.js.map +1 -0
  807. package/dist/store/allocator.d.ts +17 -0
  808. package/dist/store/allocator.d.ts.map +1 -0
  809. package/dist/store/allocator.js +30 -0
  810. package/dist/store/allocator.js.map +1 -0
  811. package/dist/store/applier.d.ts +8 -0
  812. package/dist/store/applier.d.ts.map +1 -0
  813. package/dist/store/applier.js +375 -0
  814. package/dist/store/applier.js.map +1 -0
  815. package/dist/store/apply-batch.d.ts +12 -0
  816. package/dist/store/apply-batch.d.ts.map +1 -0
  817. package/dist/store/apply-batch.js +83 -0
  818. package/dist/store/apply-batch.js.map +1 -0
  819. package/dist/store/archive.d.ts +32 -0
  820. package/dist/store/archive.d.ts.map +1 -0
  821. package/dist/store/archive.js +130 -0
  822. package/dist/store/archive.js.map +1 -0
  823. package/dist/store/backend.d.ts +10 -0
  824. package/dist/store/backend.d.ts.map +1 -0
  825. package/dist/store/backend.js +15 -0
  826. package/dist/store/backend.js.map +1 -0
  827. package/dist/store/catalog.d.ts +24 -0
  828. package/dist/store/catalog.d.ts.map +1 -0
  829. package/dist/store/catalog.js +17 -0
  830. package/dist/store/catalog.js.map +1 -0
  831. package/dist/store/claims.d.ts +23 -0
  832. package/dist/store/claims.d.ts.map +1 -0
  833. package/dist/store/claims.js +65 -0
  834. package/dist/store/claims.js.map +1 -0
  835. package/dist/store/columns.d.ts +77 -0
  836. package/dist/store/columns.d.ts.map +1 -0
  837. package/dist/store/columns.js +77 -0
  838. package/dist/store/columns.js.map +1 -0
  839. package/dist/store/engine.d.ts +176 -0
  840. package/dist/store/engine.d.ts.map +1 -0
  841. package/dist/store/engine.js +283 -0
  842. package/dist/store/engine.js.map +1 -0
  843. package/dist/store/evaluate.d.ts +17 -0
  844. package/dist/store/evaluate.d.ts.map +1 -0
  845. package/dist/store/evaluate.js +128 -0
  846. package/dist/store/evaluate.js.map +1 -0
  847. package/dist/store/export.d.ts +17 -0
  848. package/dist/store/export.d.ts.map +1 -0
  849. package/dist/store/export.js +200 -0
  850. package/dist/store/export.js.map +1 -0
  851. package/dist/store/expression.d.ts +150 -0
  852. package/dist/store/expression.d.ts.map +1 -0
  853. package/dist/store/expression.js +268 -0
  854. package/dist/store/expression.js.map +1 -0
  855. package/dist/store/import.d.ts +10 -0
  856. package/dist/store/import.d.ts.map +1 -0
  857. package/dist/store/import.js +276 -0
  858. package/dist/store/import.js.map +1 -0
  859. package/dist/store/index.d.ts +16 -0
  860. package/dist/store/index.d.ts.map +1 -0
  861. package/dist/store/index.js +13 -0
  862. package/dist/store/index.js.map +1 -0
  863. package/dist/store/json-column.d.ts +33 -0
  864. package/dist/store/json-column.d.ts.map +1 -0
  865. package/dist/store/json-column.js +62 -0
  866. package/dist/store/json-column.js.map +1 -0
  867. package/dist/store/jsonl.d.ts +9 -0
  868. package/dist/store/jsonl.d.ts.map +1 -0
  869. package/dist/store/jsonl.js +61 -0
  870. package/dist/store/jsonl.js.map +1 -0
  871. package/dist/store/live-query.d.ts +108 -0
  872. package/dist/store/live-query.d.ts.map +1 -0
  873. package/dist/store/live-query.js +254 -0
  874. package/dist/store/live-query.js.map +1 -0
  875. package/dist/store/outbox.d.ts +26 -0
  876. package/dist/store/outbox.d.ts.map +1 -0
  877. package/dist/store/outbox.js +80 -0
  878. package/dist/store/outbox.js.map +1 -0
  879. package/dist/store/query.d.ts +39 -0
  880. package/dist/store/query.d.ts.map +1 -0
  881. package/dist/store/query.js +97 -0
  882. package/dist/store/query.js.map +1 -0
  883. package/dist/store/refusal.d.ts +15 -0
  884. package/dist/store/refusal.d.ts.map +1 -0
  885. package/dist/store/refusal.js +36 -0
  886. package/dist/store/refusal.js.map +1 -0
  887. package/dist/store/rows.d.ts +80 -0
  888. package/dist/store/rows.d.ts.map +1 -0
  889. package/dist/store/rows.js +183 -0
  890. package/dist/store/rows.js.map +1 -0
  891. package/dist/store/schema.d.ts +25 -0
  892. package/dist/store/schema.d.ts.map +1 -0
  893. package/dist/store/schema.js +115 -0
  894. package/dist/store/schema.js.map +1 -0
  895. package/dist/store/sql.d.ts +73 -0
  896. package/dist/store/sql.d.ts.map +1 -0
  897. package/dist/store/sql.js +234 -0
  898. package/dist/store/sql.js.map +1 -0
  899. package/dist/store/step.d.ts +50 -0
  900. package/dist/store/step.d.ts.map +1 -0
  901. package/dist/store/step.js +52 -0
  902. package/dist/store/step.js.map +1 -0
  903. package/dist/store/store.d.ts +171 -0
  904. package/dist/store/store.d.ts.map +1 -0
  905. package/dist/store/store.js +818 -0
  906. package/dist/store/store.js.map +1 -0
  907. package/dist/store/table-changes.d.ts +29 -0
  908. package/dist/store/table-changes.d.ts.map +1 -0
  909. package/dist/store/table-changes.js +102 -0
  910. package/dist/store/table-changes.js.map +1 -0
  911. package/dist/store/table-evolve.d.ts +74 -0
  912. package/dist/store/table-evolve.d.ts.map +1 -0
  913. package/dist/store/table-evolve.js +201 -0
  914. package/dist/store/table-evolve.js.map +1 -0
  915. package/dist/store/table-handle.d.ts +73 -0
  916. package/dist/store/table-handle.d.ts.map +1 -0
  917. package/dist/store/table-handle.js +101 -0
  918. package/dist/store/table-handle.js.map +1 -0
  919. package/dist/store/table-history.d.ts +75 -0
  920. package/dist/store/table-history.d.ts.map +1 -0
  921. package/dist/store/table-history.js +42 -0
  922. package/dist/store/table-history.js.map +1 -0
  923. package/dist/store/table-migration.d.ts +16 -0
  924. package/dist/store/table-migration.d.ts.map +1 -0
  925. package/dist/store/table-migration.js +202 -0
  926. package/dist/store/table-migration.js.map +1 -0
  927. package/dist/store/table-writes.d.ts +125 -0
  928. package/dist/store/table-writes.d.ts.map +1 -0
  929. package/dist/store/table-writes.js +170 -0
  930. package/dist/store/table-writes.js.map +1 -0
  931. package/dist/store/table.d.ts +80 -0
  932. package/dist/store/table.d.ts.map +1 -0
  933. package/dist/store/table.js +103 -0
  934. package/dist/store/table.js.map +1 -0
  935. package/dist/store/text.d.ts +14 -0
  936. package/dist/store/text.d.ts.map +1 -0
  937. package/dist/store/text.js +51 -0
  938. package/dist/store/text.js.map +1 -0
  939. package/dist/store/writes.d.ts +5 -0
  940. package/dist/store/writes.d.ts.map +1 -0
  941. package/dist/store/writes.js +4 -0
  942. package/dist/store/writes.js.map +1 -0
  943. package/dist/surfaces/active-language.d.ts +20 -0
  944. package/dist/surfaces/active-language.d.ts.map +1 -0
  945. package/dist/surfaces/active-language.js +78 -0
  946. package/dist/surfaces/active-language.js.map +1 -0
  947. package/dist/surfaces/active-theme.d.ts +16 -0
  948. package/dist/surfaces/active-theme.d.ts.map +1 -0
  949. package/dist/surfaces/active-theme.js +47 -0
  950. package/dist/surfaces/active-theme.js.map +1 -0
  951. package/dist/surfaces/client.d.ts +96 -0
  952. package/dist/surfaces/client.d.ts.map +1 -0
  953. package/dist/surfaces/client.js +264 -0
  954. package/dist/surfaces/client.js.map +1 -0
  955. package/dist/surfaces/connection.d.ts +49 -0
  956. package/dist/surfaces/connection.d.ts.map +1 -0
  957. package/dist/surfaces/connection.js +142 -0
  958. package/dist/surfaces/connection.js.map +1 -0
  959. package/dist/surfaces/format.d.ts +5 -0
  960. package/dist/surfaces/format.d.ts.map +1 -0
  961. package/dist/surfaces/format.js +37 -0
  962. package/dist/surfaces/format.js.map +1 -0
  963. package/dist/surfaces/index.d.ts +15 -0
  964. package/dist/surfaces/index.d.ts.map +1 -0
  965. package/dist/surfaces/index.js +18 -0
  966. package/dist/surfaces/index.js.map +1 -0
  967. package/dist/surfaces/language.d.ts +53 -0
  968. package/dist/surfaces/language.d.ts.map +1 -0
  969. package/dist/surfaces/language.js +74 -0
  970. package/dist/surfaces/language.js.map +1 -0
  971. package/dist/surfaces/loaded.d.ts +42 -0
  972. package/dist/surfaces/loaded.d.ts.map +1 -0
  973. package/dist/surfaces/loaded.js +116 -0
  974. package/dist/surfaces/loaded.js.map +1 -0
  975. package/dist/surfaces/locale-choice.d.ts +25 -0
  976. package/dist/surfaces/locale-choice.d.ts.map +1 -0
  977. package/dist/surfaces/locale-choice.js +14 -0
  978. package/dist/surfaces/locale-choice.js.map +1 -0
  979. package/dist/surfaces/messages.d.ts +67 -0
  980. package/dist/surfaces/messages.d.ts.map +1 -0
  981. package/dist/surfaces/messages.js +112 -0
  982. package/dist/surfaces/messages.js.map +1 -0
  983. package/dist/surfaces/page-state.d.ts +14 -0
  984. package/dist/surfaces/page-state.d.ts.map +1 -0
  985. package/dist/surfaces/page-state.js +43 -0
  986. package/dist/surfaces/page-state.js.map +1 -0
  987. package/dist/surfaces/preference.d.ts +32 -0
  988. package/dist/surfaces/preference.d.ts.map +1 -0
  989. package/dist/surfaces/preference.js +72 -0
  990. package/dist/surfaces/preference.js.map +1 -0
  991. package/dist/surfaces/registered.d.ts +33 -0
  992. package/dist/surfaces/registered.d.ts.map +1 -0
  993. package/dist/surfaces/registered.js +51 -0
  994. package/dist/surfaces/registered.js.map +1 -0
  995. package/dist/surfaces/scripts.d.ts +84 -0
  996. package/dist/surfaces/scripts.d.ts.map +1 -0
  997. package/dist/surfaces/scripts.js +28 -0
  998. package/dist/surfaces/scripts.js.map +1 -0
  999. package/dist/surfaces/theme-choice.d.ts +31 -0
  1000. package/dist/surfaces/theme-choice.d.ts.map +1 -0
  1001. package/dist/surfaces/theme-choice.js +18 -0
  1002. package/dist/surfaces/theme-choice.js.map +1 -0
  1003. package/dist/surfaces/themes.d.ts +43 -0
  1004. package/dist/surfaces/themes.d.ts.map +1 -0
  1005. package/dist/surfaces/themes.js +110 -0
  1006. package/dist/surfaces/themes.js.map +1 -0
  1007. package/dist/surfaces/translations.d.ts +29 -0
  1008. package/dist/surfaces/translations.d.ts.map +1 -0
  1009. package/dist/surfaces/translations.js +57 -0
  1010. package/dist/surfaces/translations.js.map +1 -0
  1011. package/dist/sync/batch.d.ts +18 -0
  1012. package/dist/sync/batch.d.ts.map +1 -0
  1013. package/dist/sync/batch.js +125 -0
  1014. package/dist/sync/batch.js.map +1 -0
  1015. package/dist/sync/client.d.ts +166 -0
  1016. package/dist/sync/client.d.ts.map +1 -0
  1017. package/dist/sync/client.js +438 -0
  1018. package/dist/sync/client.js.map +1 -0
  1019. package/dist/sync/files.d.ts +46 -0
  1020. package/dist/sync/files.d.ts.map +1 -0
  1021. package/dist/sync/files.js +13 -0
  1022. package/dist/sync/files.js.map +1 -0
  1023. package/dist/sync/filesystem.d.ts +37 -0
  1024. package/dist/sync/filesystem.d.ts.map +1 -0
  1025. package/dist/sync/filesystem.js +185 -0
  1026. package/dist/sync/filesystem.js.map +1 -0
  1027. package/dist/sync/index.d.ts +8 -0
  1028. package/dist/sync/index.d.ts.map +1 -0
  1029. package/dist/sync/index.js +9 -0
  1030. package/dist/sync/index.js.map +1 -0
  1031. package/dist/sync/lines.d.ts +18 -0
  1032. package/dist/sync/lines.d.ts.map +1 -0
  1033. package/dist/sync/lines.js +46 -0
  1034. package/dist/sync/lines.js.map +1 -0
  1035. package/dist/sync/remote.d.ts +130 -0
  1036. package/dist/sync/remote.d.ts.map +1 -0
  1037. package/dist/sync/remote.js +46 -0
  1038. package/dist/sync/remote.js.map +1 -0
  1039. package/dist/sync/state.d.ts +17 -0
  1040. package/dist/sync/state.d.ts.map +1 -0
  1041. package/dist/sync/state.js +40 -0
  1042. package/dist/sync/state.js.map +1 -0
  1043. package/dist/telemetry-ingest/batch.d.ts +70 -0
  1044. package/dist/telemetry-ingest/batch.d.ts.map +1 -0
  1045. package/dist/telemetry-ingest/batch.js +110 -0
  1046. package/dist/telemetry-ingest/batch.js.map +1 -0
  1047. package/dist/telemetry-ingest/facet.d.ts +21 -0
  1048. package/dist/telemetry-ingest/facet.d.ts.map +1 -0
  1049. package/dist/telemetry-ingest/facet.js +96 -0
  1050. package/dist/telemetry-ingest/facet.js.map +1 -0
  1051. package/dist/telemetry-ingest/index.d.ts +5 -0
  1052. package/dist/telemetry-ingest/index.d.ts.map +1 -0
  1053. package/dist/telemetry-ingest/index.js +8 -0
  1054. package/dist/telemetry-ingest/index.js.map +1 -0
  1055. package/dist/telemetry-ingest/recorder.d.ts +50 -0
  1056. package/dist/telemetry-ingest/recorder.d.ts.map +1 -0
  1057. package/dist/telemetry-ingest/recorder.js +298 -0
  1058. package/dist/telemetry-ingest/recorder.js.map +1 -0
  1059. package/dist/telemetry-ingest/sender.d.ts +14 -0
  1060. package/dist/telemetry-ingest/sender.d.ts.map +1 -0
  1061. package/dist/telemetry-ingest/sender.js +64 -0
  1062. package/dist/telemetry-ingest/sender.js.map +1 -0
  1063. package/dist/telemetry-sqlite/index.d.ts +13 -4
  1064. package/dist/telemetry-sqlite/index.d.ts.map +1 -1
  1065. package/dist/telemetry-sqlite/index.js +81 -241
  1066. package/dist/telemetry-sqlite/index.js.map +1 -1
  1067. package/dist/telemetry-sqlite/node.d.ts +13 -0
  1068. package/dist/telemetry-sqlite/node.d.ts.map +1 -0
  1069. package/dist/telemetry-sqlite/node.js +27 -0
  1070. package/dist/telemetry-sqlite/node.js.map +1 -0
  1071. package/dist/telemetry-sqlite/schema.d.ts +9 -0
  1072. package/dist/telemetry-sqlite/schema.d.ts.map +1 -0
  1073. package/dist/telemetry-sqlite/schema.js +61 -0
  1074. package/dist/telemetry-sqlite/schema.js.map +1 -0
  1075. package/dist/telemetry-sqlite/store.d.ts +3 -0
  1076. package/dist/telemetry-sqlite/store.d.ts.map +1 -1
  1077. package/dist/telemetry-sqlite/store.js +24 -13
  1078. package/dist/telemetry-sqlite/store.js.map +1 -1
  1079. package/dist/telemetry.d.ts +937 -0
  1080. package/dist/telemetry.d.ts.map +1 -0
  1081. package/dist/telemetry.js +470 -0
  1082. package/dist/telemetry.js.map +1 -0
  1083. package/dist/tui/bridge.d.ts +112 -0
  1084. package/dist/tui/bridge.d.ts.map +1 -0
  1085. package/dist/tui/bridge.js +9 -0
  1086. package/dist/tui/bridge.js.map +1 -0
  1087. package/dist/tui/channel.d.ts +44 -0
  1088. package/dist/tui/channel.d.ts.map +1 -0
  1089. package/dist/tui/channel.js +150 -0
  1090. package/dist/tui/channel.js.map +1 -0
  1091. package/dist/tui/frames.d.ts +5 -0
  1092. package/dist/tui/frames.d.ts.map +1 -0
  1093. package/dist/tui/frames.js +52 -0
  1094. package/dist/tui/frames.js.map +1 -0
  1095. package/dist/tui/index.d.ts +7 -0
  1096. package/dist/tui/index.d.ts.map +1 -0
  1097. package/dist/tui/index.js +8 -0
  1098. package/dist/tui/index.js.map +1 -0
  1099. package/dist/tui/runtime.d.ts +46 -0
  1100. package/dist/tui/runtime.d.ts.map +1 -0
  1101. package/dist/tui/runtime.js +101 -0
  1102. package/dist/tui/runtime.js.map +1 -0
  1103. package/dist/tui/scope.d.ts +46 -0
  1104. package/dist/tui/scope.d.ts.map +1 -0
  1105. package/dist/tui/scope.js +141 -0
  1106. package/dist/tui/scope.js.map +1 -0
  1107. package/dist/tui/terminal.d.ts +15 -0
  1108. package/dist/tui/terminal.d.ts.map +1 -0
  1109. package/dist/tui/terminal.js +37 -0
  1110. package/dist/tui/terminal.js.map +1 -0
  1111. package/dist/tui/theme.d.ts +17 -0
  1112. package/dist/tui/theme.d.ts.map +1 -0
  1113. package/dist/tui/theme.js +38 -0
  1114. package/dist/tui/theme.js.map +1 -0
  1115. package/dist/watch.d.ts +194 -0
  1116. package/dist/watch.d.ts.map +1 -0
  1117. package/dist/watch.js +383 -0
  1118. package/dist/watch.js.map +1 -0
  1119. package/dist/web/environment.d.ts +4 -0
  1120. package/dist/web/environment.d.ts.map +1 -0
  1121. package/dist/web/environment.js +37 -0
  1122. package/dist/web/environment.js.map +1 -0
  1123. package/dist/web/index.d.ts +5 -0
  1124. package/dist/web/index.d.ts.map +1 -0
  1125. package/dist/web/index.js +7 -0
  1126. package/dist/web/index.js.map +1 -0
  1127. package/dist/web/language.d.ts +7 -0
  1128. package/dist/web/language.d.ts.map +1 -0
  1129. package/dist/web/language.js +21 -0
  1130. package/dist/web/language.js.map +1 -0
  1131. package/dist/web/page.d.ts +29 -0
  1132. package/dist/web/page.d.ts.map +1 -0
  1133. package/dist/web/page.js +92 -0
  1134. package/dist/web/page.js.map +1 -0
  1135. package/dist/web/scripts.d.ts +23 -0
  1136. package/dist/web/scripts.d.ts.map +1 -0
  1137. package/dist/web/scripts.js +50 -0
  1138. package/dist/web/scripts.js.map +1 -0
  1139. package/dist/web/styles.d.ts +17 -0
  1140. package/dist/web/styles.d.ts.map +1 -0
  1141. package/dist/web/styles.js +218 -0
  1142. package/dist/web/styles.js.map +1 -0
  1143. package/dist/web/themes.d.ts +6 -0
  1144. package/dist/web/themes.d.ts.map +1 -0
  1145. package/dist/web/themes.js +31 -0
  1146. package/dist/web/themes.js.map +1 -0
  1147. package/docs/benchmarks.md +1036 -0
  1148. package/docs/decisions.md +3436 -0
  1149. package/docs/dependencies/book.md +1671 -0
  1150. package/docs/dependencies/index.html +2641 -0
  1151. package/docs/dependencies/model.md +330 -0
  1152. package/docs/design.md +3065 -0
  1153. package/docs/durable-observers/book.md +432 -0
  1154. package/docs/durable-observers/index.html +517 -0
  1155. package/docs/flow-control/book.md +333 -0
  1156. package/docs/flow-control/fold/index.html +265 -0
  1157. package/docs/flow-control/index.html +548 -0
  1158. package/docs/flow-control/window/index.html +228 -0
  1159. package/docs/guide-plugins-hosts/book.md +957 -0
  1160. package/docs/guide-plugins-hosts/index.html +952 -0
  1161. package/docs/http-workers/book.md +378 -0
  1162. package/docs/http-workers/index.html +515 -0
  1163. package/docs/i18n/book.md +217 -0
  1164. package/docs/i18n/index.html +344 -0
  1165. package/docs/layer-1.md +311 -0
  1166. package/docs/layer-2.md +216 -0
  1167. package/docs/p3-features/README.md +6 -0
  1168. package/docs/p3-features/book.md +478 -0
  1169. package/docs/plugin-authoring.md +276 -0
  1170. package/docs/plugin-model/book.md +186 -0
  1171. package/docs/plugin-model/index.html +310 -0
  1172. package/docs/plugin-primer/book.md +273 -0
  1173. package/docs/plugin-primer/index.html +430 -0
  1174. package/docs/slice-1.md +236 -0
  1175. package/docs/slice-10.md +288 -0
  1176. package/docs/slice-11.md +114 -0
  1177. package/docs/slice-12.md +132 -0
  1178. package/docs/slice-13.md +121 -0
  1179. package/docs/slice-2.md +174 -0
  1180. package/docs/slice-3a.md +296 -0
  1181. package/docs/slice-3b.md +197 -0
  1182. package/docs/slice-4.md +146 -0
  1183. package/docs/slice-4a.md +418 -0
  1184. package/docs/slice-4b.md +208 -0
  1185. package/docs/slice-5.md +281 -0
  1186. package/docs/slice-6a.md +676 -0
  1187. package/docs/slice-6b.md +332 -0
  1188. package/docs/slice-7a.md +130 -0
  1189. package/docs/slice-7b/book.md +608 -0
  1190. package/docs/slice-7b/index.html +842 -0
  1191. package/docs/slice-7b.md +255 -0
  1192. package/docs/slice-7c.md +165 -0
  1193. package/docs/slice-8.md +194 -0
  1194. package/docs/slice-9.md +110 -0
  1195. package/docs/slices.md +241 -0
  1196. package/docs/store/book.md +670 -0
  1197. package/docs/store/index.html +861 -0
  1198. package/docs/store/walkthrough.md +193 -0
  1199. package/docs/theming/book.md +223 -0
  1200. package/docs/theming/index.html +371 -0
  1201. package/docs/tutorial/book.md +2169 -0
  1202. package/docs/tutorial/index.html +2112 -0
  1203. package/docs/tutorial/screens/click-after.png +0 -0
  1204. package/docs/tutorial/screens/click-before.png +0 -0
  1205. package/docs/tutorial/screens/edited.png +0 -0
  1206. package/docs/tutorial/screens/french.png +0 -0
  1207. package/docs/tutorial/screens/harbor.png +0 -0
  1208. package/docs/tutorial/screens/page.png +0 -0
  1209. package/docs/tutorial/screens/traces-ada.png +0 -0
  1210. package/docs/tutorial/screens/traces.png +0 -0
  1211. package/package.json +114 -20
  1212. package/src/delta/README.md +69 -0
  1213. package/dist/cell.d.ts +0 -122
  1214. package/dist/cell.d.ts.map +0 -1
  1215. package/dist/cell.js +0 -356
  1216. package/dist/cell.js.map +0 -1
  1217. package/dist/cluster.d.ts +0 -27
  1218. package/dist/cluster.d.ts.map +0 -1
  1219. package/dist/cluster.js +0 -230
  1220. package/dist/cluster.js.map +0 -1
  1221. package/dist/connection.d.ts +0 -270
  1222. package/dist/connection.d.ts.map +0 -1
  1223. package/dist/connection.js +0 -1216
  1224. package/dist/connection.js.map +0 -1
  1225. package/dist/contract.d.ts +0 -208
  1226. package/dist/contract.d.ts.map +0 -1
  1227. package/dist/contract.js +0 -246
  1228. package/dist/contract.js.map +0 -1
  1229. package/dist/declare.d.ts +0 -33
  1230. package/dist/declare.d.ts.map +0 -1
  1231. package/dist/declare.js +0 -2
  1232. package/dist/declare.js.map +0 -1
  1233. package/dist/errors.d.ts +0 -28
  1234. package/dist/errors.d.ts.map +0 -1
  1235. package/dist/errors.js +0 -59
  1236. package/dist/errors.js.map +0 -1
  1237. package/dist/host.d.ts +0 -348
  1238. package/dist/host.d.ts.map +0 -1
  1239. package/dist/host.js +0 -1000
  1240. package/dist/host.js.map +0 -1
  1241. package/dist/link.d.ts +0 -107
  1242. package/dist/link.d.ts.map +0 -1
  1243. package/dist/link.js +0 -355
  1244. package/dist/link.js.map +0 -1
  1245. package/dist/loader.d.ts +0 -4
  1246. package/dist/loader.d.ts.map +0 -1
  1247. package/dist/loader.js +0 -73
  1248. package/dist/loader.js.map +0 -1
  1249. package/dist/manager.d.ts +0 -115
  1250. package/dist/manager.d.ts.map +0 -1
  1251. package/dist/manager.js +0 -345
  1252. package/dist/manager.js.map +0 -1
  1253. package/dist/node.d.ts +0 -4
  1254. package/dist/node.d.ts.map +0 -1
  1255. package/dist/node.js +0 -4
  1256. package/dist/node.js.map +0 -1
  1257. package/dist/object.d.ts +0 -438
  1258. package/dist/object.d.ts.map +0 -1
  1259. package/dist/object.js +0 -1571
  1260. package/dist/object.js.map +0 -1
  1261. package/dist/publish.d.ts +0 -5
  1262. package/dist/publish.d.ts.map +0 -1
  1263. package/dist/publish.js +0 -40
  1264. package/dist/publish.js.map +0 -1
  1265. package/dist/registry.d.ts +0 -25
  1266. package/dist/registry.d.ts.map +0 -1
  1267. package/dist/registry.js +0 -6
  1268. package/dist/registry.js.map +0 -1
  1269. package/dist/reload.d.ts +0 -126
  1270. package/dist/reload.d.ts.map +0 -1
  1271. package/dist/reload.js +0 -653
  1272. package/dist/reload.js.map +0 -1
  1273. package/dist/remote.d.ts +0 -165
  1274. package/dist/remote.d.ts.map +0 -1
  1275. package/dist/remote.js +0 -612
  1276. package/dist/remote.js.map +0 -1
  1277. package/dist/schema.d.ts +0 -21
  1278. package/dist/schema.d.ts.map +0 -1
  1279. package/dist/schema.js +0 -228
  1280. package/dist/schema.js.map +0 -1
  1281. package/dist/state.d.ts +0 -92
  1282. package/dist/state.d.ts.map +0 -1
  1283. package/dist/state.js +0 -287
  1284. package/dist/state.js.map +0 -1
  1285. package/dist/types.d.ts +0 -88
  1286. package/dist/types.d.ts.map +0 -1
  1287. package/dist/types.js +0 -2
  1288. package/dist/types.js.map +0 -1
  1289. package/dist/websocket.d.ts +0 -15
  1290. package/dist/websocket.d.ts.map +0 -1
  1291. package/dist/websocket.js +0 -16
  1292. package/dist/websocket.js.map +0 -1
  1293. package/dist/wire.d.ts +0 -216
  1294. package/dist/wire.d.ts.map +0 -1
  1295. package/dist/wire.js +0 -165
  1296. package/dist/wire.js.map +0 -1
  1297. package/docs/guide.md +0 -814
  1298. package/docs/spec.md +0 -288
  1299. package/docs/tutorial.md +0 -931
@@ -0,0 +1,38 @@
1
+ // UUIDv7 (§3, code copied from pi-ai's `uuidv7`): time-ordered ids, minted for host incarnations.
2
+ const MAX_SEQUENCE = (1n << 41n) - 1n;
3
+ /** The last timestamp used: a clock going backwards keeps the ids ordered. */
4
+ let lastTimestamp = -1;
5
+ /** A random start, then incremented per id, so ids within one millisecond stay ordered and unique. */
6
+ let sequence;
7
+ /** A time-ordered UUIDv7. */
8
+ export function uuidv7() {
9
+ const timestamp = Math.max(Date.now(), lastTimestamp);
10
+ lastTimestamp = timestamp;
11
+ const bytes = new Uint8Array(16);
12
+ globalThis.crypto.getRandomValues(bytes);
13
+ if (sequence === undefined) {
14
+ sequence =
15
+ (BigInt(bytes[1]) << 32n) |
16
+ (BigInt(bytes[2]) << 24n) |
17
+ (BigInt(bytes[3]) << 16n) |
18
+ (BigInt(bytes[4]) << 8n) |
19
+ BigInt(bytes[5]);
20
+ }
21
+ else {
22
+ if (sequence === MAX_SEQUENCE)
23
+ throw new RangeError("UUIDv7 generator sequence exhausted");
24
+ sequence++;
25
+ }
26
+ const time = BigInt(timestamp);
27
+ for (let index = 5; index >= 0; index--)
28
+ bytes[index] = Number(time >> BigInt((5 - index) * 8)) & 0xff;
29
+ bytes[6] = 0x70 | Number((sequence >> 37n) & 0x0fn);
30
+ bytes[7] = Number((sequence >> 29n) & 0xffn);
31
+ bytes[8] = 0x80 | Number((sequence >> 23n) & 0x3fn);
32
+ bytes[9] = Number((sequence >> 15n) & 0xffn);
33
+ bytes[10] = Number((sequence >> 7n) & 0xffn);
34
+ bytes[11] = Number((sequence & 0x7fn) << 1n) | (bytes[11] & 0x01);
35
+ const hex = Array.from(bytes, (byte) => byte.toString(16).padStart(2, "0"));
36
+ return `${hex.slice(0, 4).join("")}-${hex.slice(4, 6).join("")}-${hex.slice(6, 8).join("")}-${hex.slice(8, 10).join("")}-${hex.slice(10).join("")}`;
37
+ }
38
+ //# sourceMappingURL=uuid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuid.js","sourceRoot":"","sources":["../../src/host/uuid.ts"],"names":[],"mappings":"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","sourcesContent":["// UUIDv7 (§3, code copied from pi-ai's `uuidv7`): time-ordered ids, minted for host incarnations.\n\nconst MAX_SEQUENCE = (1n << 41n) - 1n;\n\n/** The last timestamp used: a clock going backwards keeps the ids ordered. */\nlet lastTimestamp = -1;\n\n/** A random start, then incremented per id, so ids within one millisecond stay ordered and unique. */\nlet sequence: bigint | undefined;\n\n/** A time-ordered UUIDv7. */\nexport function uuidv7(): string {\n\tconst timestamp = Math.max(Date.now(), lastTimestamp);\n\tlastTimestamp = timestamp;\n\tconst bytes = new Uint8Array(16);\n\tglobalThis.crypto.getRandomValues(bytes);\n\tif (sequence === undefined) {\n\t\tsequence =\n\t\t\t(BigInt(bytes[1]!) << 32n) |\n\t\t\t(BigInt(bytes[2]!) << 24n) |\n\t\t\t(BigInt(bytes[3]!) << 16n) |\n\t\t\t(BigInt(bytes[4]!) << 8n) |\n\t\t\tBigInt(bytes[5]!);\n\t} else {\n\t\tif (sequence === MAX_SEQUENCE) throw new RangeError(\"UUIDv7 generator sequence exhausted\");\n\t\tsequence++;\n\t}\n\tconst time = BigInt(timestamp);\n\tfor (let index = 5; index >= 0; index--) bytes[index] = Number(time >> BigInt((5 - index) * 8)) & 0xff;\n\tbytes[6] = 0x70 | Number((sequence >> 37n) & 0x0fn);\n\tbytes[7] = Number((sequence >> 29n) & 0xffn);\n\tbytes[8] = 0x80 | Number((sequence >> 23n) & 0x3fn);\n\tbytes[9] = Number((sequence >> 15n) & 0xffn);\n\tbytes[10] = Number((sequence >> 7n) & 0xffn);\n\tbytes[11] = Number((sequence & 0x7fn) << 1n) | (bytes[11]! & 0x01);\n\tconst hex = Array.from(bytes, (byte) => byte.toString(16).padStart(2, \"0\"));\n\treturn `${hex.slice(0, 4).join(\"\")}-${hex.slice(4, 6).join(\"\")}-${hex.slice(6, 8).join(\"\")}-${hex.slice(8, 10).join(\"\")}-${hex.slice(10).join(\"\")}`;\n}\n"]}
package/dist/index.d.ts CHANGED
@@ -1,19 +1,30 @@
1
- export type { Cell } from "./cell.ts";
2
- export type { AcceptOptions, LinkOptions } from "./connection.ts";
3
- export type { Context, ContextKey } from "./context/index.ts";
4
- export { type Accepts, type Adapter, type AnyContract, bind, coverage, type Description, type HostFamily, type HostNamed, hostFamily, hostNamed, type ImplementationOf, type InputOf, type LocalContract, local, method, opaque, type Placement, type PlacementFor, type Ref, type RemoteContract, remote, } from "./contract.ts";
5
- export type { EventOf, Resource, ResourceDeclaration, Subscribable, ValueOf } from "./declare.ts";
6
- export type { Draft } from "./delta/index.ts";
7
- export { ChordError, type ChordErrorCode, forbidden, invalid, isChordError } from "./errors.ts";
8
- export type { ConnectOptions, PrincipalMatch, PrincipalPattern, Route } from "./host.ts";
9
- export { createHost, defineFacet, type Facet, type FacetApi, type FacetDefinition, type FacetLoader, type Host, type HostOptions, type LoadOptions, type PluginRef, type RootOptions, } from "./host.ts";
10
- export { type CopyJsonOptions, copyJson, isJsonValue, type JsonRepresentation, type JsonValue } from "./json.ts";
11
- export { type IpcChannel, inflateMessage, ipcLink, type Link, memoryLinkPair, PACK_THRESHOLD, type WebSocketLike, type WebSocketLinkOptions, webSocketLink, } from "./link.ts";
12
- export type { Factory, HostServeOptions, Lifetime, ReferencedServeOptions, Self, ServeOptions, ServeOptionsFor, StateInit, StateOptions, } from "./object.ts";
13
- export { defineRegistry, type Registry, type RegistryTable, type RegistryView } from "./registry.ts";
14
- export type { ReloadOptions, ReloadReport } from "./reload.ts";
15
- export { type AttachedReplicatedState, type MutableReplicatedState, type ReplicatedState, type ReplicatedStateDelivery, type ReplicatedStateSource, type ReplicatedStateSourceAttachment, type ReplicatedStateSourceFrame, type ReplicatedStateSourceOptions, replicatedState, } from "./state.ts";
16
- export type { Ctx, GetOptions, Readable, RefStatus, Shape, StateEvent } from "./types.ts";
17
- export { acceptWebSockets, type WebSocketAcceptOptions, type WebSocketServerLike } from "./websocket.ts";
18
- export { type Frame, PROTOCOL_VERSION } from "./wire.ts";
1
+ export * from "./contracts/index.ts";
2
+ export * from "./data/index.ts";
3
+ export * from "./documents/index.ts";
4
+ export * from "./host/index.ts";
5
+ export * from "./jobs/index.ts";
6
+ export * from "./link/index.ts";
7
+ export * from "./registries/index.ts";
8
+ export * from "./state/index.ts";
9
+ /** @internal The store's surface for adapters (slice 6b §2.1). */
10
+ export { type DecodedRow, OwnerTable, StoreOwnerTables } from "./store/adapter.ts";
11
+ /** @internal The sync layer's batch apply (slice 6b §1.6). */
12
+ export { applyBatch } from "./store/apply-batch.ts";
13
+ /** @internal */
14
+ export type { Claimant } from "./store/claims.ts";
15
+ /** @internal */
16
+ export { type DocumentAddress, type DocumentContent, type DocumentEntry, type DocumentHistory, type DocumentPoint, type DocumentRecord, type DocumentScope, findDocument, findDocumentEntry, insertDocument, listDocumentEntries, listDocuments, loadContent, loadDocument, type OwnedDocumentEntry, readDocument, readDocumentEntry, retireRecord, type StoredDocument, writeContent, } from "./store/engine.ts";
17
+ /** @internal */
18
+ export type { WhereNode } from "./store/expression.ts";
19
+ export * from "./store/index.ts";
20
+ /** @internal */
21
+ export type { EncodedRow } from "./store/rows.ts";
22
+ /** @internal */
23
+ export type { Order } from "./store/sql.ts";
24
+ /** @internal */
25
+ export type { StagedWrite, Step } from "./store/step.ts";
26
+ /** @internal */
27
+ export type { ChordStore, SeriesCommit, SeriesResult } from "./store/store.ts";
28
+ export * from "./surfaces/index.ts";
29
+ export { CHORD_TELEMETRY_SCHEMA, type ChordSpanName } from "./telemetry.ts";
19
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAClE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EACN,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,IAAI,EACJ,QAAQ,EACR,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,UAAU,EACV,SAAS,EACT,KAAK,gBAAgB,EACrB,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,EACL,MAAM,EACN,MAAM,EACN,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,GAAG,EACR,KAAK,cAAc,EACnB,MAAM,GACN,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAClG,YAAY,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChG,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACzF,OAAO,EACN,UAAU,EACV,WAAW,EACX,KAAK,KAAK,EACV,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,IAAI,EACT,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,WAAW,GAChB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,KAAK,eAAe,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AACjH,OAAO,EACN,KAAK,UAAU,EACf,cAAc,EACd,OAAO,EACP,KAAK,IAAI,EACT,cAAc,EACd,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,aAAa,GACb,MAAM,WAAW,CAAC;AACnB,YAAY,EACX,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,sBAAsB,EACtB,IAAI,EACJ,YAAY,EACZ,eAAe,EACf,SAAS,EACT,YAAY,GACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AACrG,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EACN,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,+BAA+B,EACpC,KAAK,0BAA0B,EAC/B,KAAK,4BAA4B,EACjC,eAAe,GACf,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,KAAK,sBAAsB,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACzG,OAAO,EAAE,KAAK,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,kEAAkE;AAClE,OAAO,EAAE,KAAK,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACnF,8DAA8D;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,gBAAgB;AAChB,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,gBAAgB;AAChB,OAAO,EACN,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,YAAY,EACZ,KAAK,kBAAkB,EACvB,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,KAAK,cAAc,EACnB,YAAY,GACZ,MAAM,mBAAmB,CAAC;AAC3B,gBAAgB;AAChB,YAAY,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,cAAc,kBAAkB,CAAC;AACjC,gBAAgB;AAChB,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,gBAAgB;AAChB,YAAY,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,gBAAgB;AAChB,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACzD,gBAAgB;AAChB,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC/E,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -1,10 +1,21 @@
1
- export { bind, coverage, hostFamily, hostNamed, local, method, opaque, remote, } from "./contract.js";
2
- export { ChordError, forbidden, invalid, isChordError } from "./errors.js";
3
- export { createHost, defineFacet, } from "./host.js";
4
- export { copyJson, isJsonValue } from "./json.js";
5
- export { inflateMessage, ipcLink, memoryLinkPair, PACK_THRESHOLD, webSocketLink, } from "./link.js";
6
- export { defineRegistry } from "./registry.js";
7
- export { replicatedState, } from "./state.js";
8
- export { acceptWebSockets } from "./websocket.js";
9
- export { PROTOCOL_VERSION } from "./wire.js";
1
+ // Chord (`@earendil-works/chord`, v2, experimental): every layer's API for apps, and the store's surface for adapters
2
+ // (Durable's `StoreStorage`), marked internal. The Node components and the client surfaces are subpaths (`/http`,
3
+ // `/workers`, `/plugins`, `/app`, `/surfaces`, `/web`, `/react`, `/tui`).
4
+ export * from "./contracts/index.js";
5
+ export * from "./data/index.js";
6
+ export * from "./documents/index.js";
7
+ export * from "./host/index.js";
8
+ export * from "./jobs/index.js";
9
+ export * from "./link/index.js";
10
+ export * from "./registries/index.js";
11
+ export * from "./state/index.js";
12
+ /** @internal The store's surface for adapters (slice 6b §2.1). */
13
+ export { OwnerTable, StoreOwnerTables } from "./store/adapter.js";
14
+ /** @internal The sync layer's batch apply (slice 6b §1.6). */
15
+ export { applyBatch } from "./store/apply-batch.js";
16
+ /** @internal */
17
+ export { findDocument, findDocumentEntry, insertDocument, listDocumentEntries, listDocuments, loadContent, loadDocument, readDocument, readDocumentEntry, retireRecord, writeContent, } from "./store/engine.js";
18
+ export * from "./store/index.js";
19
+ export * from "./surfaces/index.js";
20
+ export { CHORD_TELEMETRY_SCHEMA } from "./telemetry.js";
10
21
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAIN,IAAI,EACJ,QAAQ,EAIR,UAAU,EACV,SAAS,EAIT,KAAK,EACL,MAAM,EACN,MAAM,EAKN,MAAM,GACN,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,UAAU,EAAuB,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhG,OAAO,EACN,UAAU,EACV,WAAW,GAUX,MAAM,WAAW,CAAC;AACnB,OAAO,EAAwB,QAAQ,EAAE,WAAW,EAA2C,MAAM,WAAW,CAAC;AACjH,OAAO,EAEN,cAAc,EACd,OAAO,EAEP,cAAc,EACd,cAAc,EAGd,aAAa,GACb,MAAM,WAAW,CAAC;AAYnB,OAAO,EAAE,cAAc,EAAwD,MAAM,eAAe,CAAC;AAErG,OAAO,EASN,eAAe,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,gBAAgB,EAAyD,MAAM,gBAAgB,CAAC;AACzG,OAAO,EAAc,gBAAgB,EAAE,MAAM,WAAW,CAAC","sourcesContent":["export type { Cell } from \"./cell.ts\";\nexport type { AcceptOptions, LinkOptions } from \"./connection.ts\";\nexport type { Context, ContextKey } from \"./context/index.ts\";\nexport {\n\ttype Accepts,\n\ttype Adapter,\n\ttype AnyContract,\n\tbind,\n\tcoverage,\n\ttype Description,\n\ttype HostFamily,\n\ttype HostNamed,\n\thostFamily,\n\thostNamed,\n\ttype ImplementationOf,\n\ttype InputOf,\n\ttype LocalContract,\n\tlocal,\n\tmethod,\n\topaque,\n\ttype Placement,\n\ttype PlacementFor,\n\ttype Ref,\n\ttype RemoteContract,\n\tremote,\n} from \"./contract.ts\";\nexport type { EventOf, Resource, ResourceDeclaration, Subscribable, ValueOf } from \"./declare.ts\";\nexport type { Draft } from \"./delta/index.ts\";\nexport { ChordError, type ChordErrorCode, forbidden, invalid, isChordError } from \"./errors.ts\";\nexport type { ConnectOptions, PrincipalMatch, PrincipalPattern, Route } from \"./host.ts\";\nexport {\n\tcreateHost,\n\tdefineFacet,\n\ttype Facet,\n\ttype FacetApi,\n\ttype FacetDefinition,\n\ttype FacetLoader,\n\ttype Host,\n\ttype HostOptions,\n\ttype LoadOptions,\n\ttype PluginRef,\n\ttype RootOptions,\n} from \"./host.ts\";\nexport { type CopyJsonOptions, copyJson, isJsonValue, type JsonRepresentation, type JsonValue } from \"./json.ts\";\nexport {\n\ttype IpcChannel,\n\tinflateMessage,\n\tipcLink,\n\ttype Link,\n\tmemoryLinkPair,\n\tPACK_THRESHOLD,\n\ttype WebSocketLike,\n\ttype WebSocketLinkOptions,\n\twebSocketLink,\n} from \"./link.ts\";\nexport type {\n\tFactory,\n\tHostServeOptions,\n\tLifetime,\n\tReferencedServeOptions,\n\tSelf,\n\tServeOptions,\n\tServeOptionsFor,\n\tStateInit,\n\tStateOptions,\n} from \"./object.ts\";\nexport { defineRegistry, type Registry, type RegistryTable, type RegistryView } from \"./registry.ts\";\nexport type { ReloadOptions, ReloadReport } from \"./reload.ts\";\nexport {\n\ttype AttachedReplicatedState,\n\ttype MutableReplicatedState,\n\ttype ReplicatedState,\n\ttype ReplicatedStateDelivery,\n\ttype ReplicatedStateSource,\n\ttype ReplicatedStateSourceAttachment,\n\ttype ReplicatedStateSourceFrame,\n\ttype ReplicatedStateSourceOptions,\n\treplicatedState,\n} from \"./state.ts\";\nexport type { Ctx, GetOptions, Readable, RefStatus, Shape, StateEvent } from \"./types.ts\";\nexport { acceptWebSockets, type WebSocketAcceptOptions, type WebSocketServerLike } from \"./websocket.ts\";\nexport { type Frame, PROTOCOL_VERSION } from \"./wire.ts\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sHAAsH;AACtH,kHAAkH;AAClH,0EAA0E;AAE1E,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,kEAAkE;AAClE,OAAO,EAAmB,UAAU,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACnF,8DAA8D;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGpD,gBAAgB;AAChB,OAAO,EAQN,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,YAAY,EAEZ,YAAY,EACZ,iBAAiB,EACjB,YAAY,EAEZ,YAAY,GACZ,MAAM,mBAAmB,CAAC;AAG3B,cAAc,kBAAkB,CAAC;AASjC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAsB,MAAM,gBAAgB,CAAC","sourcesContent":["// Chord (`@earendil-works/chord`, v2, experimental): every layer's API for apps, and the store's surface for adapters\n// (Durable's `StoreStorage`), marked internal. The Node components and the client surfaces are subpaths (`/http`,\n// `/workers`, `/plugins`, `/app`, `/surfaces`, `/web`, `/react`, `/tui`).\n\nexport * from \"./contracts/index.ts\";\nexport * from \"./data/index.ts\";\nexport * from \"./documents/index.ts\";\nexport * from \"./host/index.ts\";\nexport * from \"./jobs/index.ts\";\nexport * from \"./link/index.ts\";\nexport * from \"./registries/index.ts\";\nexport * from \"./state/index.ts\";\n/** @internal The store's surface for adapters (slice 6b §2.1). */\nexport { type DecodedRow, OwnerTable, StoreOwnerTables } from \"./store/adapter.ts\";\n/** @internal The sync layer's batch apply (slice 6b §1.6). */\nexport { applyBatch } from \"./store/apply-batch.ts\";\n/** @internal */\nexport type { Claimant } from \"./store/claims.ts\";\n/** @internal */\nexport {\n\ttype DocumentAddress,\n\ttype DocumentContent,\n\ttype DocumentEntry,\n\ttype DocumentHistory,\n\ttype DocumentPoint,\n\ttype DocumentRecord,\n\ttype DocumentScope,\n\tfindDocument,\n\tfindDocumentEntry,\n\tinsertDocument,\n\tlistDocumentEntries,\n\tlistDocuments,\n\tloadContent,\n\tloadDocument,\n\ttype OwnedDocumentEntry,\n\treadDocument,\n\treadDocumentEntry,\n\tretireRecord,\n\ttype StoredDocument,\n\twriteContent,\n} from \"./store/engine.ts\";\n/** @internal */\nexport type { WhereNode } from \"./store/expression.ts\";\nexport * from \"./store/index.ts\";\n/** @internal */\nexport type { EncodedRow } from \"./store/rows.ts\";\n/** @internal */\nexport type { Order } from \"./store/sql.ts\";\n/** @internal */\nexport type { StagedWrite, Step } from \"./store/step.ts\";\n/** @internal */\nexport type { ChordStore, SeriesCommit, SeriesResult } from \"./store/store.ts\";\nexport * from \"./surfaces/index.ts\";\nexport { CHORD_TELEMETRY_SCHEMA, type ChordSpanName } from \"./telemetry.ts\";\n"]}
@@ -0,0 +1,96 @@
1
+ import type { Schema, Static } from "../contracts/index.ts";
2
+ import { type Snapshot } from "../contracts/snapshot.ts";
3
+ import type { ChordError, PluginError } from "../data/index.ts";
4
+ import type { JsonObject, StateDefinition } from "../documents/index.ts";
5
+ /** What `defineJob` takes besides the name. */
6
+ export type JobOptions<A extends Schema, R extends Schema, D extends StateDefinition<JsonObject, false, boolean> | undefined> = {
7
+ /** The job's version; every change of its args, result or state bumps it. */
8
+ readonly version: number;
9
+ /** The run's arguments: closed objects, JSON only (`running` carries them), checked at every start. */
10
+ readonly args: A;
11
+ /** What `run` returns; not validated. */
12
+ readonly result: R;
13
+ /**
14
+ * A singleton document definition: one document per run, `ctx.state` in `run`, `outcome.state` in `finish`; a
15
+ * persisted job's is persisted (`persist: true`, its `checkpointWhen`).
16
+ */
17
+ readonly state?: D;
18
+ /** At most this many runs running or finishing per object; a start beyond it rejects `unavailable/busy`. */
19
+ readonly concurrency?: number;
20
+ /** Per older version, how its args and result map forwards (used from slice 7 on; checked now). */
21
+ readonly accepts?: JobAccepts<A, R>;
22
+ /**
23
+ * Persists the runs in the object's store (slice 6b; only in `local` types with empty params, P3): how a run cut
24
+ * off by a crash or a stop resumes, `rerun` (its `run` again: idempotent work) or `abandon` (`finish` gets `failed {
25
+ * aborted, reason: "restart" }`). Its result is JSON only (no `bytes()`).
26
+ */
27
+ readonly persist?: JobPersistence;
28
+ };
29
+ /** How a persisted job's runs resume after a crash or a stop. */
30
+ export type JobPersistence = {
31
+ readonly resume: "rerun" | "abandon";
32
+ };
33
+ /** Per older version, its mappings forwards: its args to the current args, its result to the current result. */
34
+ export type JobAccepts<A extends Schema = Schema, R extends Schema = Schema> = {
35
+ readonly [version: number]: {
36
+ readonly args: (old: never) => Static<A>;
37
+ readonly result: (old: never) => Static<R>;
38
+ };
39
+ };
40
+ /** The value of a job's state document: the definition's document, `undefined` without one. */
41
+ type StateOf<D> = D extends StateDefinition<infer T, false, boolean> ? T : undefined;
42
+ /** What a run ended with, as `finish` and `outcome` get it: its args and state, and its result or its error. */
43
+ export type Outcome<A, R, S> = {
44
+ readonly id: string;
45
+ readonly args: A;
46
+ readonly state: S;
47
+ } & ({
48
+ readonly kind: "done";
49
+ readonly result: R;
50
+ } | {
51
+ readonly kind: "failed";
52
+ readonly error: JobError;
53
+ });
54
+ /**
55
+ * Why a run failed: `run` threw (reported as `job_failed`; anything but a ChordError or PluginError becomes a
56
+ * PluginError `internal` with its message), it was aborted (`abort`: `abort(id)`; `restart`: cut off by its attempt's
57
+ * seal while the object continues, or a persisted run abandoned after a crash; `reload` comes with slice 7), or a
58
+ * persisted run was cut off five times in a row (`restart_limit`, D6).
59
+ */
60
+ export type JobError = {
61
+ readonly kind: "threw";
62
+ readonly error: ChordError | PluginError;
63
+ } | {
64
+ readonly kind: "aborted";
65
+ readonly reason: "abort" | "reload" | "restart";
66
+ } | {
67
+ readonly kind: "restart_limit";
68
+ readonly restarts: number;
69
+ };
70
+ /** Declares a job: owned work a call starts that outlives it (§15). */
71
+ export declare function defineJob<const A extends Schema, const R extends Schema, D extends StateDefinition<JsonObject, false, boolean> | undefined = undefined>(name: string, options: JobOptions<A, R, D>): JobDefinition<Static<A>, Static<R>, StateOf<D>>;
72
+ /** A declared job; `A`, `R` and `S` are its args, result and state document (`undefined` without one). */
73
+ export declare class JobDefinition<A, R, S> {
74
+ readonly name: string;
75
+ readonly version: number;
76
+ /** The args schema, Chord's copy; its compiled check is cached by this snapshot. */
77
+ readonly args: Snapshot;
78
+ readonly result: Snapshot;
79
+ readonly state: StateDefinition<JsonObject, false, boolean> | undefined;
80
+ readonly concurrency: number | undefined;
81
+ /** The older versions' mappings, checked at declaration; slice 7 maps older runs with them. */
82
+ readonly accepts: JobAccepts;
83
+ /** How its runs persist; `undefined` for a job in memory. */
84
+ readonly persist: JobPersistence | undefined;
85
+ /** `hash64` of its args', result's and state's normal forms: a stored run of another fingerprint is blocked. */
86
+ readonly fingerprint: string;
87
+ /** Type only: the args, result and state types. */
88
+ readonly "~types"?: {
89
+ readonly args: A;
90
+ readonly result: R;
91
+ readonly state: S;
92
+ };
93
+ constructor(name: string, version: number, args: Snapshot, result: Snapshot, state: StateDefinition<JsonObject, false, boolean> | undefined, concurrency: number | undefined, accepts: JobAccepts, persist: JobPersistence | undefined, fingerprint: string);
94
+ }
95
+ export {};
96
+ //# sourceMappingURL=definition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/jobs/definition.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ // Job definitions (§15): `defineJob(name, …)`, the checks of a declaration, and the types of what a run ends with.
2
+ import { checkKeys, entriesOf } from "../contracts/declare.js";
3
+ import { checkName, hash64 } from "../contracts/internal.js";
4
+ import { snapshotArguments, snapshotSchema } from "../contracts/snapshot.js";
5
+ /** Declares a job: owned work a call starts that outlives it (§15). */
6
+ export function defineJob(name, options) {
7
+ // Declaration policy: JavaScript callers reach every check below.
8
+ checkName(name, "A job name");
9
+ checkKeys(options, ["version", "args", "result", "state", "concurrency", "accepts", "persist"], name);
10
+ const { version, state, concurrency, accepts, persist } = options;
11
+ if (!Number.isSafeInteger(version) || version < 1)
12
+ throw new Error(`${name}.version: expected a positive integer`);
13
+ const args = snapshotArguments(options.args, `${name}.args`);
14
+ if (args.bytes)
15
+ throw new Error(`${name}.args: job arguments are JSON (running carries them); no bytes()`);
16
+ const result = snapshotSchema(options.result, `${name}.result`);
17
+ if (state?.keyed)
18
+ throw new Error(`${name}.state: expected a singleton document definition`);
19
+ if (persist !== undefined)
20
+ checkPersistence(persist, state, result, name);
21
+ if (concurrency !== undefined && !(Number.isSafeInteger(concurrency) && concurrency > 0)) {
22
+ throw new Error(`${name}.concurrency: expected a positive integer`);
23
+ }
24
+ if (accepts !== undefined)
25
+ checkJobAccepts(accepts, version, `${name}.accepts`);
26
+ const fingerprint = hash64(JSON.stringify({ args: args.normal, result: result.normal, state: state?.fingerprint ?? null }));
27
+ return new JobDefinition(name, version, args, result, state, concurrency, accepts ?? {}, persist, fingerprint);
28
+ }
29
+ /** A persisted job's declaration: a resume rule, a persisted state document (if any), a JSON-only result. */
30
+ function checkPersistence(persist, state, result, name) {
31
+ checkKeys(persist, ["resume"], `${name}.persist`);
32
+ const { resume } = persist;
33
+ if (resume !== "rerun" && resume !== "abandon")
34
+ throw new Error(`${name}.persist.resume: expected "rerun" or "abandon"`);
35
+ if (state !== undefined && !state.persist) {
36
+ throw new Error(`${name}.state: a persisted job's state is a persisted document (persist: true)`);
37
+ }
38
+ if (result.bytes)
39
+ throw new Error(`${name}.result: a persisted job's result is JSON (it is stored); no bytes()`);
40
+ }
41
+ /** Checks an accepts table's shape: older versions only, each with an `args` and a `result` function. */
42
+ function checkJobAccepts(accepts, version, path) {
43
+ for (const [key, adapter] of entriesOf(accepts, path)) {
44
+ const older = Number(key);
45
+ if (!Number.isSafeInteger(older) || older < 1 || older >= version) {
46
+ throw new Error(`${path}[${key}]: not an older version`);
47
+ }
48
+ checkKeys(adapter, ["args", "result"], `${path}[${key}]`);
49
+ const { args, result } = adapter;
50
+ if (typeof args !== "function")
51
+ throw new Error(`${path}[${key}].args: expected a function`);
52
+ if (typeof result !== "function")
53
+ throw new Error(`${path}[${key}].result: expected a function`);
54
+ }
55
+ }
56
+ /** A declared job; `A`, `R` and `S` are its args, result and state document (`undefined` without one). */
57
+ export class JobDefinition {
58
+ name;
59
+ version;
60
+ /** The args schema, Chord's copy; its compiled check is cached by this snapshot. */
61
+ args;
62
+ result;
63
+ state;
64
+ concurrency;
65
+ /** The older versions' mappings, checked at declaration; slice 7 maps older runs with them. */
66
+ accepts;
67
+ /** How its runs persist; `undefined` for a job in memory. */
68
+ persist;
69
+ /** `hash64` of its args', result's and state's normal forms: a stored run of another fingerprint is blocked. */
70
+ fingerprint;
71
+ constructor(name, version, args, result, state, concurrency, accepts, persist, fingerprint) {
72
+ this.name = name;
73
+ this.version = version;
74
+ this.args = args;
75
+ this.result = result;
76
+ this.state = state;
77
+ this.concurrency = concurrency;
78
+ this.accepts = accepts;
79
+ this.persist = persist;
80
+ this.fingerprint = fingerprint;
81
+ }
82
+ }
83
+ //# sourceMappingURL=definition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../src/jobs/definition.ts"],"names":[],"mappings":"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","sourcesContent":["// Job definitions (§15): `defineJob(name, …)`, the checks of a declaration, and the types of what a run ends with.\n\nimport { checkKeys, entriesOf } from \"../contracts/declare.ts\";\nimport type { Schema, Static } from \"../contracts/index.ts\";\nimport { checkName, hash64 } from \"../contracts/internal.ts\";\nimport { type Snapshot, snapshotArguments, snapshotSchema } from \"../contracts/snapshot.ts\";\nimport type { ChordError, PluginError } from \"../data/index.ts\";\nimport type { JsonObject, StateDefinition } from \"../documents/index.ts\";\n\n/** What `defineJob` takes besides the name. */\nexport type JobOptions<\n\tA extends Schema,\n\tR extends Schema,\n\tD extends StateDefinition<JsonObject, false, boolean> | undefined,\n> = {\n\t/** The job's version; every change of its args, result or state bumps it. */\n\treadonly version: number;\n\t/** The run's arguments: closed objects, JSON only (`running` carries them), checked at every start. */\n\treadonly args: A;\n\t/** What `run` returns; not validated. */\n\treadonly result: R;\n\t/**\n\t * A singleton document definition: one document per run, `ctx.state` in `run`, `outcome.state` in `finish`; a\n\t * persisted job's is persisted (`persist: true`, its `checkpointWhen`).\n\t */\n\treadonly state?: D;\n\t/** At most this many runs running or finishing per object; a start beyond it rejects `unavailable/busy`. */\n\treadonly concurrency?: number;\n\t/** Per older version, how its args and result map forwards (used from slice 7 on; checked now). */\n\treadonly accepts?: JobAccepts<A, R>;\n\t/**\n\t * Persists the runs in the object's store (slice 6b; only in `local` types with empty params, P3): how a run cut\n\t * off by a crash or a stop resumes, `rerun` (its `run` again: idempotent work) or `abandon` (`finish` gets `failed {\n\t * aborted, reason: \"restart\" }`). Its result is JSON only (no `bytes()`).\n\t */\n\treadonly persist?: JobPersistence;\n};\n\n/** How a persisted job's runs resume after a crash or a stop. */\nexport type JobPersistence = { readonly resume: \"rerun\" | \"abandon\" };\n\n/** Per older version, its mappings forwards: its args to the current args, its result to the current result. */\nexport type JobAccepts<A extends Schema = Schema, R extends Schema = Schema> = {\n\treadonly [version: number]: { readonly args: (old: never) => Static<A>; readonly result: (old: never) => Static<R> };\n};\n\n/** The value of a job's state document: the definition's document, `undefined` without one. */\ntype StateOf<D> = D extends StateDefinition<infer T, false, boolean> ? T : undefined;\n\n/** What a run ended with, as `finish` and `outcome` get it: its args and state, and its result or its error. */\nexport type Outcome<A, R, S> = { readonly id: string; readonly args: A; readonly state: S } & (\n\t| { readonly kind: \"done\"; readonly result: R }\n\t| { readonly kind: \"failed\"; readonly error: JobError }\n);\n\n/**\n * Why a run failed: `run` threw (reported as `job_failed`; anything but a ChordError or PluginError becomes a\n * PluginError `internal` with its message), it was aborted (`abort`: `abort(id)`; `restart`: cut off by its attempt's\n * seal while the object continues, or a persisted run abandoned after a crash; `reload` comes with slice 7), or a\n * persisted run was cut off five times in a row (`restart_limit`, D6).\n */\nexport type JobError =\n\t| { readonly kind: \"threw\"; readonly error: ChordError | PluginError }\n\t| { readonly kind: \"aborted\"; readonly reason: \"abort\" | \"reload\" | \"restart\" }\n\t| { readonly kind: \"restart_limit\"; readonly restarts: number };\n\n/** Declares a job: owned work a call starts that outlives it (§15). */\nexport function defineJob<\n\tconst A extends Schema,\n\tconst R extends Schema,\n\tD extends StateDefinition<JsonObject, false, boolean> | undefined = undefined,\n>(name: string, options: JobOptions<A, R, D>): JobDefinition<Static<A>, Static<R>, StateOf<D>> {\n\t// Declaration policy: JavaScript callers reach every check below.\n\tcheckName(name, \"A job name\");\n\tcheckKeys(options, [\"version\", \"args\", \"result\", \"state\", \"concurrency\", \"accepts\", \"persist\"], name);\n\tconst { version, state, concurrency, accepts, persist } = options;\n\tif (!Number.isSafeInteger(version) || version < 1) throw new Error(`${name}.version: expected a positive integer`);\n\tconst args = snapshotArguments(options.args, `${name}.args`);\n\tif (args.bytes) throw new Error(`${name}.args: job arguments are JSON (running carries them); no bytes()`);\n\tconst result = snapshotSchema(options.result, `${name}.result`);\n\tif (state?.keyed) throw new Error(`${name}.state: expected a singleton document definition`);\n\tif (persist !== undefined) checkPersistence(persist, state, result, name);\n\tif (concurrency !== undefined && !(Number.isSafeInteger(concurrency) && concurrency > 0)) {\n\t\tthrow new Error(`${name}.concurrency: expected a positive integer`);\n\t}\n\tif (accepts !== undefined) checkJobAccepts(accepts, version, `${name}.accepts`);\n\tconst fingerprint = hash64(\n\t\tJSON.stringify({ args: args.normal, result: result.normal, state: state?.fingerprint ?? null }),\n\t);\n\treturn new JobDefinition(name, version, args, result, state, concurrency, accepts ?? {}, persist, fingerprint);\n}\n\n/** A persisted job's declaration: a resume rule, a persisted state document (if any), a JSON-only result. */\nfunction checkPersistence(\n\tpersist: unknown,\n\tstate: StateDefinition<JsonObject, false, boolean> | undefined,\n\tresult: Snapshot,\n\tname: string,\n): void {\n\tcheckKeys(persist, [\"resume\"], `${name}.persist`);\n\tconst { resume } = persist as { readonly resume?: unknown };\n\tif (resume !== \"rerun\" && resume !== \"abandon\")\n\t\tthrow new Error(`${name}.persist.resume: expected \"rerun\" or \"abandon\"`);\n\tif (state !== undefined && !state.persist) {\n\t\tthrow new Error(`${name}.state: a persisted job's state is a persisted document (persist: true)`);\n\t}\n\tif (result.bytes) throw new Error(`${name}.result: a persisted job's result is JSON (it is stored); no bytes()`);\n}\n\n/** Checks an accepts table's shape: older versions only, each with an `args` and a `result` function. */\nfunction checkJobAccepts(accepts: unknown, version: number, path: string): void {\n\tfor (const [key, adapter] of entriesOf(accepts, path)) {\n\t\tconst older = Number(key);\n\t\tif (!Number.isSafeInteger(older) || older < 1 || older >= version) {\n\t\t\tthrow new Error(`${path}[${key}]: not an older version`);\n\t\t}\n\t\tcheckKeys(adapter, [\"args\", \"result\"], `${path}[${key}]`);\n\t\tconst { args, result } = adapter as { readonly args?: unknown; readonly result?: unknown };\n\t\tif (typeof args !== \"function\") throw new Error(`${path}[${key}].args: expected a function`);\n\t\tif (typeof result !== \"function\") throw new Error(`${path}[${key}].result: expected a function`);\n\t}\n}\n\n/** A declared job; `A`, `R` and `S` are its args, result and state document (`undefined` without one). */\nexport class JobDefinition<A, R, S> {\n\treadonly name: string;\n\treadonly version: number;\n\t/** The args schema, Chord's copy; its compiled check is cached by this snapshot. */\n\treadonly args: Snapshot;\n\treadonly result: Snapshot;\n\treadonly state: StateDefinition<JsonObject, false, boolean> | undefined;\n\treadonly concurrency: number | undefined;\n\t/** The older versions' mappings, checked at declaration; slice 7 maps older runs with them. */\n\treadonly accepts: JobAccepts;\n\t/** How its runs persist; `undefined` for a job in memory. */\n\treadonly persist: JobPersistence | undefined;\n\t/** `hash64` of its args', result's and state's normal forms: a stored run of another fingerprint is blocked. */\n\treadonly fingerprint: string;\n\t/** Type only: the args, result and state types. */\n\tdeclare readonly \"~types\"?: { readonly args: A; readonly result: R; readonly state: S };\n\n\tconstructor(\n\t\tname: string,\n\t\tversion: number,\n\t\targs: Snapshot,\n\t\tresult: Snapshot,\n\t\tstate: StateDefinition<JsonObject, false, boolean> | undefined,\n\t\tconcurrency: number | undefined,\n\t\taccepts: JobAccepts,\n\t\tpersist: JobPersistence | undefined,\n\t\tfingerprint: string,\n\t) {\n\t\tthis.name = name;\n\t\tthis.version = version;\n\t\tthis.args = args;\n\t\tthis.result = result;\n\t\tthis.state = state;\n\t\tthis.concurrency = concurrency;\n\t\tthis.accepts = accepts;\n\t\tthis.persist = persist;\n\t\tthis.fingerprint = fingerprint;\n\t}\n}\n"]}
@@ -0,0 +1,5 @@
1
+ export { defineJob, type JobAccepts, type JobDefinition, type JobError, type JobOptions, type Outcome, } from "./definition.ts";
2
+ export type { JobCtx, JobHandle, JobImplementation, RunState, StartOptions } from "./job.ts";
3
+ export type { BlockedReason, Run } from "./run.ts";
4
+ export type { RunningEntry } from "./running.ts";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/jobs/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,SAAS,EACT,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,OAAO,GACZ,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7F,YAAY,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACnD,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,3 @@
1
+ // Jobs for apps: declaring a job, its handle, its runs, their outcomes and `running`.
2
+ export { defineJob, } from "./definition.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/jobs/index.ts"],"names":[],"mappings":"AAAA,sFAAsF;AAEtF,OAAO,EACN,SAAS,GAMT,MAAM,iBAAiB,CAAC","sourcesContent":["// Jobs for apps: declaring a job, its handle, its runs, their outcomes and `running`.\n\nexport {\n\tdefineJob,\n\ttype JobAccepts,\n\ttype JobDefinition,\n\ttype JobError,\n\ttype JobOptions,\n\ttype Outcome,\n} from \"./definition.ts\";\nexport type { JobCtx, JobHandle, JobImplementation, RunState, StartOptions } from \"./job.ts\";\nexport type { BlockedReason, Run } from \"./run.ts\";\nexport type { RunningEntry } from \"./running.ts\";\n"]}
@@ -0,0 +1,3 @@
1
+ export { type AnyJobImplementation, type CutReason, Job, type JobOwner } from "./job.ts";
2
+ export { JobRecords, type RecordsOwner } from "./records.ts";
3
+ //# sourceMappingURL=internal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/jobs/internal.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,SAAS,EAAE,GAAG,EAAE,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,4 @@
1
+ // Jobs for Chord's layers: a job's records on its object and the handle an attempt keeps, and what they need.
2
+ export { Job } from "./job.js";
3
+ export { JobRecords } from "./records.js";
4
+ //# sourceMappingURL=internal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/jobs/internal.ts"],"names":[],"mappings":"AAAA,8GAA8G;AAE9G,OAAO,EAA6C,GAAG,EAAiB,MAAM,UAAU,CAAC;AACzF,OAAO,EAAE,UAAU,EAAqB,MAAM,cAAc,CAAC","sourcesContent":["// Jobs for Chord's layers: a job's records on its object and the handle an attempt keeps, and what they need.\n\nexport { type AnyJobImplementation, type CutReason, Job, type JobOwner } from \"./job.ts\";\nexport { JobRecords, type RecordsOwner } from \"./records.ts\";\n"]}
@@ -0,0 +1,149 @@
1
+ import type { TelemetrySpan } from "@earendil-works/pi-telemetry";
2
+ import { type Context } from "../context/index.ts";
3
+ import { ChordError, type Principal } from "../data/index.ts";
4
+ import type { Draft } from "../delta/index.ts";
5
+ import type { CommitPersistence, JsonObject, Tx } from "../documents/index.ts";
6
+ import type { Documents, SealToken, Transaction } from "../documents/internal.ts";
7
+ import { type Ctx } from "../host/index.ts";
8
+ import { type AnyHost, CallContext, type Caller } from "../host/internal.ts";
9
+ import type { JsonValue } from "../json.ts";
10
+ import type { Watchable } from "../watch.ts";
11
+ import type { Outcome } from "./definition.ts";
12
+ import type { JobRecords } from "./records.ts";
13
+ import type { AnyOutcome, JobRun, Run } from "./run.ts";
14
+ import type { RunningEntry } from "./running.ts";
15
+ /** A job's handle, `self.job(Job, { run, finish? })`; `A`, `R` and `S` are its args, result and state. */
16
+ export interface JobHandle<A, R, S> {
17
+ /**
18
+ * Starts a run in one transaction on the object's line and resolves with its `Run` after the commit: the args
19
+ * checked (`invalid/args`); a `key` of an unsettled run returns that run; at the `concurrency` limit (running plus
20
+ * finishing runs) it rejects `unavailable/busy`. `run` starts after the commit.
21
+ */
22
+ start(args: A, context: Context, options?: StartOptions): Promise<Run<Outcome<A, R, S>>>;
23
+ /** Waits for the outcome of the unsettled run `id`; a settled or unknown id rejects `gone`. */
24
+ outcome(id: string, context: Context): Promise<Outcome<A, R, S>>;
25
+ /**
26
+ * Aborts run `id` (D7, as Durable's `abortTask`): marks it (stored for a persisted job) and fires its `run`'s
27
+ * signal, resolving `"marked"` once its `run` settled (a run not invoked yet ends `aborted` without one); a
28
+ * finishing run is only marked, a blocked one dropped (no `finish`; its waiters reject `aborted`). `"terminal"` when
29
+ * no unsettled run has that id. `context` ends only this wait.
30
+ */
31
+ abort(id: string, context: Context): Promise<"marked" | "terminal">;
32
+ /** The unsettled runs, one entry each in start order, tagged by phase (a JSON watchable, a state member). */
33
+ readonly running: Watchable<readonly RunningEntry<A, S>[]>;
34
+ }
35
+ /** What `start` and `tx.start` take besides the args. */
36
+ export type StartOptions = {
37
+ /** Names one run: a start with the key of an unsettled run returns that run (args not compared). */
38
+ readonly key?: string;
39
+ };
40
+ /** What `self.job` takes: the run and the optional finish. */
41
+ export type JobImplementation<A, R, S, P extends Principal = Principal> = {
42
+ /** The work, outside transactions; its ctx's abort signal fires on `abort(id)` and on its object's end. */
43
+ readonly run: (args: A, ctx: JobCtx<P, S>) => Promise<R>;
44
+ /** Records the outcome in one transaction (only `await tx.*`); the run's record and state document go with it. */
45
+ readonly finish?: (outcome: Outcome<A, R, S>, tx: Tx) => void | Promise<void>;
46
+ };
47
+ /** A run's ctx: a handler's ctx (the object's principal or the host's), its run's id and, with a state, the state. */
48
+ export type JobCtx<P extends Principal, S> = Ctx<P> & {
49
+ readonly jobId: string;
50
+ } & ([S] extends [undefined] ? unknown : {
51
+ readonly state: RunState<S>;
52
+ });
53
+ /** A run's state document. */
54
+ export interface RunState<S> {
55
+ /** The document's value. */
56
+ readonly value: S;
57
+ /**
58
+ * One transaction on the object's line drafting only this document, under `context` without its abort signal:
59
+ * admitted while `run` runs (also after an abort, with the run's own ctx), refused `released` once it settled. A
60
+ * persisted job's change may be `deferred` (D8): adopted and published at once, stored within `withinMs` (1,000 ms by
61
+ * default) or earlier; a crash loses it. In memory the option changes nothing.
62
+ */
63
+ change<T>(fn: (draft: Draft<S>) => T, context: Context, options?: {
64
+ readonly persistence?: CommitPersistence;
65
+ }): Promise<T>;
66
+ }
67
+ /** Where a job's handle runs its work: its attempt, as the job sees it. */
68
+ export type JobOwner = {
69
+ readonly host: AnyHost;
70
+ /** Whom runs act for: the object's principal (remote) or the host's (local), from this host. */
71
+ readonly caller: Caller;
72
+ /** The object's context, without an abort signal: runs, state changes and finishes run under it. */
73
+ readonly context: Context;
74
+ /** Aborted when the attempt is sealed: a finish's backoff waits under it. */
75
+ readonly signal: AbortSignal;
76
+ /** The attempt's seal token: its starts and finishes are transactions under it. */
77
+ readonly token: SealToken;
78
+ readonly documents: Documents;
79
+ /**
80
+ * Adds running work (a finish, a reservation) to the attempt's calls drain; `cleanup` (its bookkeeping) runs once,
81
+ * when it settles or when the attempt ends with it still running.
82
+ */
83
+ admit(running: Promise<unknown>, cleanup?: () => void): void;
84
+ /** Adds a run's invocation to the attempt's drain at its end, as `admit`. */
85
+ admitRun(running: Promise<unknown>, cleanup: () => void): void;
86
+ };
87
+ /**
88
+ * Why a seal cuts a running in-memory run off: `restart` (its attempt ended while the object continues) or `reload`
89
+ * (a native restart, slice 7b §8); its outcome is `failed { aborted }` with that reason.
90
+ */
91
+ export type CutReason = "restart" | "reload";
92
+ /** A job's implementation as Chord calls it, whatever the job's types. */
93
+ export type AnyJobImplementation = {
94
+ readonly run: (args: JsonValue, ctx: JobContext) => Promise<unknown>;
95
+ readonly finish?: (outcome: AnyOutcome, tx: Tx) => void | Promise<void>;
96
+ };
97
+ /**
98
+ * A job as one attempt declares it: its implementation and the invocations and finishes running on the attempt. Starts
99
+ * are taken while the attempt is live; the object's records keep the runs.
100
+ */
101
+ export declare class Job implements JobHandle<JsonValue, unknown, JsonValue | undefined> {
102
+ #private;
103
+ constructor(records: JobRecords, implementation: AnyJobImplementation, owner: JobOwner);
104
+ get running(): Watchable<readonly RunningEntry<JsonValue, JsonValue | undefined>[]>;
105
+ start(args: JsonValue, context: Context, options?: StartOptions): Promise<Run<AnyOutcome>>;
106
+ outcome(id: string, context: Context): Promise<AnyOutcome>;
107
+ abort(id: string, context: Context): Promise<"marked" | "terminal">;
108
+ /** A persisted job's runs, loaded once per object at its first activation (before it goes live). */
109
+ load(context: Context): Promise<void>;
110
+ /** The close writer of this job's runs, after the attempt's drain (slice 6b §4.2). */
111
+ writeAtClose(context: Context): Promise<void>;
112
+ /** The attempt went live: starts are taken, and the records' waiting runs are invoked or finished here. */
113
+ live(): void;
114
+ /**
115
+ * Stages a run in `tx` (`start`, `tx.start`), in order: the args checked, dedupe by key (runs started earlier in
116
+ * `tx` included), the concurrency check, then the record and the state document, created in the commit. The run
117
+ * whose finish `tx` is counts for neither: `finish` may start the same job again, with the same key too. Returns
118
+ * the run's handle at once; a start that only dedupes stages nothing.
119
+ */
120
+ stage(tx: Transaction, args: unknown, context: Context, options: StartOptions): Run<AnyOutcome>;
121
+ /**
122
+ * The attempt is sealed with `error`: starts are refused, running invocations are cut off (their signals fire, in
123
+ * memory they end `aborted` with `reason` and finish on the next live attempt, persisted ones are stopped and
124
+ * resumed, R3), and the runs finishing here wait for it.
125
+ */
126
+ seal(error: ChordError, reason: CutReason): void;
127
+ /**
128
+ * Runs `run` for a committed run (with its signal aborted already after an early abort); a persisted run's
129
+ * reservation commits first (`running`: a crash from then on counts, D6). The reservation, the invocation and the
130
+ * run's finish are one piece of work in the drain, admitted before plugin code runs: `run` may end its own object
131
+ * before its first await.
132
+ */
133
+ invoke(run: JobRun): void;
134
+ /**
135
+ * Runs the finish of `run`, whose outcome is recorded: `finish` with the cleanup in one transaction under the
136
+ * attempt's token, retried with backoff after a throw (reported), blocked after five in a row. The attempt's seal
137
+ * stops it without a report or a count; the next live attempt finishes the run.
138
+ */
139
+ finish(run: JobRun): void;
140
+ }
141
+ /** A run's ctx: the handler's ctx of its object, its id and, with a state, its state document. */
142
+ export declare class JobContext extends CallContext {
143
+ readonly jobId: string;
144
+ readonly state: RunState<JsonObject> | undefined;
145
+ constructor(context: Context, caller: Caller, host: AnyHost, jobId: string, state: RunState<JsonObject> | undefined);
146
+ /** Its child under `span` (`ctx.trace`): a job's ctx still, its id and state kept. */
147
+ traced(span: TelemetrySpan): Ctx;
148
+ }
149
+ //# sourceMappingURL=job.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../../src/jobs/job.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,KAAK,OAAO,EAAsD,MAAM,qBAAqB,CAAC;AACvG,OAAO,EAAE,UAAU,EAA6B,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACzF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,KAAK,GAAG,EAAS,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,KAAK,OAAO,EAAE,WAAW,EAAE,KAAK,MAAM,EAAsB,MAAM,qBAAqB,CAAC;AACjG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAiB,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAW,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,0GAA0G;AAC1G,MAAM,WAAW,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACjC;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,+FAA+F;IAC/F,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACjE;;;;;OAKG;IACH,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC;IACpE,6GAA6G;IAC7G,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;CAC3D;AAED,yDAAyD;AACzD,MAAM,MAAM,YAAY,GAAG;IAC1B,oGAAoG;IACpG,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,8DAA8D;AAC9D,MAAM,MAAM,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI;IACzE,2GAA2G;IAC3G,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACzD,kHAAkH;IAClH,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9E,CAAC;AAEF,sHAAsH;AACtH,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,GACvG,OAAO,GACP;IAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC,CAAC;AAErC,8BAA8B;AAC9B,MAAM,WAAW,QAAQ,CAAC,CAAC;IAC1B,4BAA4B;IAC5B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB;;;;;OAKG;IACH,MAAM,CAAC,CAAC,EACP,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAC1B,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAA;KAAE,GACpD,OAAO,CAAC,CAAC,CAAC,CAAC;CACd;AAED,2EAA2E;AAC3E,MAAM,MAAM,QAAQ,GAAG;IACtB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,gGAAgG;IAChG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,oGAAoG;IACpG,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,mFAAmF;IACnF,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAC7D,6EAA6E;IAC7E,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;CAC/D,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE7C,0EAA0E;AAC1E,MAAM,MAAM,oBAAoB,GAAG;IAClC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACrE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxE,CAAC;AAKF;;;GAGG;AACH,qBAAa,GAAI,YAAW,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;;IAe/E,YAAY,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,oBAAoB,EAAE,KAAK,EAAE,QAAQ,EAMrF;IAED,IAAI,OAAO,IAAI,SAAS,CAAC,SAAS,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC,EAAE,CAAC,CAGlF;IAEK,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAsBnG;IAED,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAEzD;IAED,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,UAAU,CAAC,CAElE;IAED,oGAAoG;IACpG,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpC;IAED,sFAAsF;IACtF,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5C;IAED,2GAA2G;IAC3G,IAAI,IAAI,IAAI,CAIX;IAED;;;;;OAKG;IACH,KAAK,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC,CAgB9F;IAED;;;;OAIG;IACH,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAQ/C;IAED;;;;;OAKG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CA6BxB;IAyDD;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAGxB;CAqID;AA6BD,kGAAkG;AAClG,qBAAa,UAAW,SAAQ,WAAW;IAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,SAAiB,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;IAEzD,YACC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,SAAS,EAKvC;IAED,sFAAsF;IAC7E,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,GAAG,CAExC;CACD"}