@claudexor/daemon 3.24.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (467) hide show
  1. package/dist/account-resets.d.ts +39 -0
  2. package/dist/account-resets.d.ts.map +1 -0
  3. package/dist/account-resets.js +174 -0
  4. package/dist/account-resets.js.map +1 -0
  5. package/dist/client.d.ts +25 -6
  6. package/dist/client.d.ts.map +1 -1
  7. package/dist/client.js +55 -51
  8. package/dist/client.js.map +1 -1
  9. package/dist/command-authority.d.ts +11 -8
  10. package/dist/command-authority.d.ts.map +1 -1
  11. package/dist/command-authority.js +5 -6
  12. package/dist/command-authority.js.map +1 -1
  13. package/dist/command-list-projection.d.ts +0 -1
  14. package/dist/command-list-projection.d.ts.map +1 -1
  15. package/dist/command-list-projection.js +0 -6
  16. package/dist/command-list-projection.js.map +1 -1
  17. package/dist/command-list-select.d.ts +0 -4
  18. package/dist/command-list-select.d.ts.map +1 -1
  19. package/dist/command-list-select.js +1 -115
  20. package/dist/command-list-select.js.map +1 -1
  21. package/dist/command-retention.d.ts +7 -19
  22. package/dist/command-retention.d.ts.map +1 -1
  23. package/dist/command-retention.js +1 -117
  24. package/dist/command-retention.js.map +1 -1
  25. package/dist/command-rpc.d.ts +4 -1
  26. package/dist/command-rpc.d.ts.map +1 -1
  27. package/dist/command-rpc.js +12 -1
  28. package/dist/command-rpc.js.map +1 -1
  29. package/dist/command-store.d.ts +15 -52
  30. package/dist/command-store.d.ts.map +1 -1
  31. package/dist/command-store.js +5 -493
  32. package/dist/command-store.js.map +1 -1
  33. package/dist/daemon-health.d.ts +56 -8
  34. package/dist/daemon-health.d.ts.map +1 -1
  35. package/dist/daemon-health.js +44 -9
  36. package/dist/daemon-health.js.map +1 -1
  37. package/dist/daemon-local-client.d.ts +28 -0
  38. package/dist/daemon-local-client.d.ts.map +1 -0
  39. package/dist/daemon-local-client.js +55 -0
  40. package/dist/daemon-local-client.js.map +1 -0
  41. package/dist/delivery-command.d.ts +4 -4
  42. package/dist/delivery-command.d.ts.map +1 -1
  43. package/dist/delivery-command.js.map +1 -1
  44. package/dist/index.d.ts +24 -8
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +26 -8
  47. package/dist/index.js.map +1 -1
  48. package/dist/interactions.d.ts +12 -28
  49. package/dist/interactions.d.ts.map +1 -1
  50. package/dist/interactions.js +22 -123
  51. package/dist/interactions.js.map +1 -1
  52. package/dist/job-admission.d.ts +26 -0
  53. package/dist/job-admission.d.ts.map +1 -0
  54. package/dist/job-admission.js +67 -0
  55. package/dist/job-admission.js.map +1 -0
  56. package/dist/job-record.d.ts.map +1 -1
  57. package/dist/job-record.js +5 -1
  58. package/dist/job-record.js.map +1 -1
  59. package/dist/journal-fold-policy.d.ts +1 -1
  60. package/dist/journal-fold-policy.d.ts.map +1 -1
  61. package/dist/journal-fold-policy.js +26 -2
  62. package/dist/journal-fold-policy.js.map +1 -1
  63. package/dist/journal-recovery-files.d.ts +1 -41
  64. package/dist/journal-recovery-files.d.ts.map +1 -1
  65. package/dist/journal-recovery-files.js +2 -340
  66. package/dist/journal-recovery-files.js.map +1 -1
  67. package/dist/loop-facts.d.ts +28 -0
  68. package/dist/loop-facts.d.ts.map +1 -0
  69. package/dist/loop-facts.js +97 -0
  70. package/dist/loop-facts.js.map +1 -0
  71. package/dist/memory-facts.d.ts +2 -0
  72. package/dist/memory-facts.d.ts.map +1 -1
  73. package/dist/memory-facts.js +5 -0
  74. package/dist/memory-facts.js.map +1 -1
  75. package/dist/model-operations.d.ts +11 -4
  76. package/dist/model-operations.d.ts.map +1 -1
  77. package/dist/model-operations.js +68 -38
  78. package/dist/model-operations.js.map +1 -1
  79. package/dist/operator-decisions.d.ts +15 -25
  80. package/dist/operator-decisions.d.ts.map +1 -1
  81. package/dist/operator-decisions.js +5 -84
  82. package/dist/operator-decisions.js.map +1 -1
  83. package/dist/projects.d.ts +42 -41
  84. package/dist/projects.d.ts.map +1 -1
  85. package/dist/projects.js +46 -184
  86. package/dist/projects.js.map +1 -1
  87. package/dist/quota-poll-lanes.d.ts +5 -3
  88. package/dist/quota-poll-lanes.d.ts.map +1 -1
  89. package/dist/quota-poll-lanes.js +16 -6
  90. package/dist/quota-poll-lanes.js.map +1 -1
  91. package/dist/quota-refresh-batches.d.ts +26 -0
  92. package/dist/quota-refresh-batches.d.ts.map +1 -0
  93. package/dist/quota-refresh-batches.js +83 -0
  94. package/dist/quota-refresh-batches.js.map +1 -0
  95. package/dist/quota-registry-replay.d.ts +19 -0
  96. package/dist/quota-registry-replay.d.ts.map +1 -0
  97. package/dist/quota-registry-replay.js +106 -0
  98. package/dist/quota-registry-replay.js.map +1 -0
  99. package/dist/quota-registry-support.d.ts +4 -1
  100. package/dist/quota-registry-support.d.ts.map +1 -1
  101. package/dist/quota-registry-support.js +15 -2
  102. package/dist/quota-registry-support.js.map +1 -1
  103. package/dist/quota-registry.d.ts +381 -7
  104. package/dist/quota-registry.d.ts.map +1 -1
  105. package/dist/quota-registry.js +111 -149
  106. package/dist/quota-registry.js.map +1 -1
  107. package/dist/quota-resources.d.ts +105 -0
  108. package/dist/quota-resources.d.ts.map +1 -0
  109. package/dist/quota-resources.js +153 -0
  110. package/dist/quota-resources.js.map +1 -0
  111. package/dist/runless-turn-recovery.d.ts +2 -9
  112. package/dist/runless-turn-recovery.d.ts.map +1 -1
  113. package/dist/runless-turn-recovery.js +0 -14
  114. package/dist/runless-turn-recovery.js.map +1 -1
  115. package/dist/server.d.ts +23 -22
  116. package/dist/server.d.ts.map +1 -1
  117. package/dist/server.js +74 -84
  118. package/dist/server.js.map +1 -1
  119. package/dist/store/blob-files.d.ts +71 -0
  120. package/dist/store/blob-files.d.ts.map +1 -0
  121. package/dist/store/blob-files.js +160 -0
  122. package/dist/store/blob-files.js.map +1 -0
  123. package/dist/store/command-prune.d.ts +37 -0
  124. package/dist/store/command-prune.d.ts.map +1 -0
  125. package/dist/store/command-prune.js +123 -0
  126. package/dist/store/command-prune.js.map +1 -0
  127. package/dist/store/command-queries.d.ts +41 -0
  128. package/dist/store/command-queries.d.ts.map +1 -0
  129. package/dist/store/command-queries.js +186 -0
  130. package/dist/store/command-queries.js.map +1 -0
  131. package/dist/store/command-rows.d.ts +66 -0
  132. package/dist/store/command-rows.d.ts.map +1 -0
  133. package/dist/store/command-rows.js +141 -0
  134. package/dist/store/command-rows.js.map +1 -0
  135. package/dist/store/commands.d.ts +49 -0
  136. package/dist/store/commands.d.ts.map +1 -0
  137. package/dist/store/commands.js +247 -0
  138. package/dist/store/commands.js.map +1 -0
  139. package/dist/store/cursors.d.ts +33 -0
  140. package/dist/store/cursors.d.ts.map +1 -0
  141. package/dist/store/cursors.js +82 -0
  142. package/dist/store/cursors.js.map +1 -0
  143. package/dist/store/engine-recovery-files.d.ts +14 -0
  144. package/dist/store/engine-recovery-files.d.ts.map +1 -0
  145. package/dist/store/engine-recovery-files.js +53 -0
  146. package/dist/store/engine-recovery-files.js.map +1 -0
  147. package/dist/store/engine-state-recovery.d.ts +71 -0
  148. package/dist/store/engine-state-recovery.d.ts.map +1 -0
  149. package/dist/store/engine-state-recovery.js +318 -0
  150. package/dist/store/engine-state-recovery.js.map +1 -0
  151. package/dist/store/errors.d.ts +80 -0
  152. package/dist/store/errors.d.ts.map +1 -0
  153. package/dist/store/errors.js +130 -0
  154. package/dist/store/errors.js.map +1 -0
  155. package/dist/store/event-store.d.ts +52 -0
  156. package/dist/store/event-store.d.ts.map +1 -0
  157. package/dist/store/event-store.js +117 -0
  158. package/dist/store/event-store.js.map +1 -0
  159. package/dist/store/external-files.d.ts +40 -0
  160. package/dist/store/external-files.d.ts.map +1 -0
  161. package/dist/store/external-files.js +90 -0
  162. package/dist/store/external-files.js.map +1 -0
  163. package/dist/store/flusher-protocol.d.ts +82 -0
  164. package/dist/store/flusher-protocol.d.ts.map +1 -0
  165. package/dist/store/flusher-protocol.js +23 -0
  166. package/dist/store/flusher-protocol.js.map +1 -0
  167. package/dist/store/flusher-worker.d.ts +24 -0
  168. package/dist/store/flusher-worker.d.ts.map +1 -0
  169. package/dist/store/flusher-worker.js +185 -0
  170. package/dist/store/flusher-worker.js.map +1 -0
  171. package/dist/store/flusher.d.ts +87 -0
  172. package/dist/store/flusher.d.ts.map +1 -0
  173. package/dist/store/flusher.js +264 -0
  174. package/dist/store/flusher.js.map +1 -0
  175. package/dist/store/generations.d.ts +43 -0
  176. package/dist/store/generations.d.ts.map +1 -0
  177. package/dist/store/generations.js +143 -0
  178. package/dist/store/generations.js.map +1 -0
  179. package/dist/store/idempotency.d.ts +25 -0
  180. package/dist/store/idempotency.d.ts.map +1 -0
  181. package/dist/store/idempotency.js +53 -0
  182. package/dist/store/idempotency.js.map +1 -0
  183. package/dist/store/import-context.d.ts +22 -0
  184. package/dist/store/import-context.d.ts.map +1 -0
  185. package/dist/store/import-context.js +87 -0
  186. package/dist/store/import-context.js.map +1 -0
  187. package/dist/store/import-discovery.d.ts +6 -0
  188. package/dist/store/import-discovery.d.ts.map +1 -0
  189. package/dist/store/import-discovery.js +66 -0
  190. package/dist/store/import-discovery.js.map +1 -0
  191. package/dist/store/import-records.d.ts +6 -0
  192. package/dist/store/import-records.d.ts.map +1 -0
  193. package/dist/store/import-records.js +191 -0
  194. package/dist/store/import-records.js.map +1 -0
  195. package/dist/store/import-resources.d.ts +14 -0
  196. package/dist/store/import-resources.d.ts.map +1 -0
  197. package/dist/store/import-resources.js +197 -0
  198. package/dist/store/import-resources.js.map +1 -0
  199. package/dist/store/import-source.d.ts +24 -0
  200. package/dist/store/import-source.d.ts.map +1 -0
  201. package/dist/store/import-source.js +65 -0
  202. package/dist/store/import-source.js.map +1 -0
  203. package/dist/store/import-verify.d.ts +6 -0
  204. package/dist/store/import-verify.d.ts.map +1 -0
  205. package/dist/store/import-verify.js +97 -0
  206. package/dist/store/import-verify.js.map +1 -0
  207. package/dist/store/import-worker.d.ts +18 -0
  208. package/dist/store/import-worker.d.ts.map +1 -0
  209. package/dist/store/import-worker.js +69 -0
  210. package/dist/store/import-worker.js.map +1 -0
  211. package/dist/store/importer.d.ts +42 -0
  212. package/dist/store/importer.d.ts.map +1 -0
  213. package/dist/store/importer.js +239 -0
  214. package/dist/store/importer.js.map +1 -0
  215. package/dist/store/interactions.d.ts +22 -0
  216. package/dist/store/interactions.d.ts.map +1 -0
  217. package/dist/store/interactions.js +82 -0
  218. package/dist/store/interactions.js.map +1 -0
  219. package/dist/store/legacy-journal/frame-codec.d.ts +94 -0
  220. package/dist/store/legacy-journal/frame-codec.d.ts.map +1 -0
  221. package/dist/store/legacy-journal/frame-codec.js +352 -0
  222. package/dist/store/legacy-journal/frame-codec.js.map +1 -0
  223. package/dist/store/legacy-journal/frame-reader.d.ts +30 -0
  224. package/dist/store/legacy-journal/frame-reader.d.ts.map +1 -0
  225. package/dist/store/legacy-journal/frame-reader.js +97 -0
  226. package/dist/store/legacy-journal/frame-reader.js.map +1 -0
  227. package/dist/store/legacy-journal/journal-fold.d.ts +47 -0
  228. package/dist/store/legacy-journal/journal-fold.d.ts.map +1 -0
  229. package/dist/store/legacy-journal/journal-fold.js +81 -0
  230. package/dist/store/legacy-journal/journal-fold.js.map +1 -0
  231. package/dist/store/legacy-journal/journal-partition.d.ts +2 -0
  232. package/dist/store/legacy-journal/journal-partition.d.ts.map +1 -0
  233. package/dist/store/legacy-journal/journal-partition.js +10 -0
  234. package/dist/store/legacy-journal/journal-partition.js.map +1 -0
  235. package/dist/store/legacy-journal/read-only-preparation.d.ts +48 -0
  236. package/dist/store/legacy-journal/read-only-preparation.d.ts.map +1 -0
  237. package/dist/store/legacy-journal/read-only-preparation.js +430 -0
  238. package/dist/store/legacy-journal/read-only-preparation.js.map +1 -0
  239. package/dist/store/maintenance-worker.d.ts +5 -0
  240. package/dist/store/maintenance-worker.d.ts.map +1 -0
  241. package/dist/store/maintenance-worker.js +175 -0
  242. package/dist/store/maintenance-worker.js.map +1 -0
  243. package/dist/store/maintenance.d.ts +124 -0
  244. package/dist/store/maintenance.d.ts.map +1 -0
  245. package/dist/store/maintenance.js +197 -0
  246. package/dist/store/maintenance.js.map +1 -0
  247. package/dist/store/mutation.d.ts +34 -0
  248. package/dist/store/mutation.d.ts.map +1 -0
  249. package/dist/store/mutation.js +85 -0
  250. package/dist/store/mutation.js.map +1 -0
  251. package/dist/store/obligations.d.ts +101 -0
  252. package/dist/store/obligations.d.ts.map +1 -0
  253. package/dist/store/obligations.js +226 -0
  254. package/dist/store/obligations.js.map +1 -0
  255. package/dist/store/operator-decisions.d.ts +23 -0
  256. package/dist/store/operator-decisions.d.ts.map +1 -0
  257. package/dist/store/operator-decisions.js +68 -0
  258. package/dist/store/operator-decisions.js.map +1 -0
  259. package/dist/store/owner-generations.d.ts +33 -0
  260. package/dist/store/owner-generations.d.ts.map +1 -0
  261. package/dist/store/owner-generations.js +63 -0
  262. package/dist/store/owner-generations.js.map +1 -0
  263. package/dist/store/partitions.d.ts +37 -0
  264. package/dist/store/partitions.d.ts.map +1 -0
  265. package/dist/store/partitions.js +68 -0
  266. package/dist/store/partitions.js.map +1 -0
  267. package/dist/store/pragmas.d.ts +32 -0
  268. package/dist/store/pragmas.d.ts.map +1 -0
  269. package/dist/store/pragmas.js +65 -0
  270. package/dist/store/pragmas.js.map +1 -0
  271. package/dist/store/project-router.d.ts +325 -0
  272. package/dist/store/project-router.d.ts.map +1 -0
  273. package/dist/store/project-router.js +298 -0
  274. package/dist/store/project-router.js.map +1 -0
  275. package/dist/store/projects.d.ts +36 -0
  276. package/dist/store/projects.d.ts.map +1 -0
  277. package/dist/store/projects.js +238 -0
  278. package/dist/store/projects.js.map +1 -0
  279. package/dist/store/publish-blob.d.ts +20 -0
  280. package/dist/store/publish-blob.d.ts.map +1 -0
  281. package/dist/store/publish-blob.js +158 -0
  282. package/dist/store/publish-blob.js.map +1 -0
  283. package/dist/store/purge-files.d.ts +30 -0
  284. package/dist/store/purge-files.d.ts.map +1 -0
  285. package/dist/store/purge-files.js +79 -0
  286. package/dist/store/purge-files.js.map +1 -0
  287. package/dist/store/resource-rows.d.ts +40 -0
  288. package/dist/store/resource-rows.d.ts.map +1 -0
  289. package/dist/store/resource-rows.js +103 -0
  290. package/dist/store/resource-rows.js.map +1 -0
  291. package/dist/store/resources.d.ts +67 -0
  292. package/dist/store/resources.d.ts.map +1 -0
  293. package/dist/store/resources.js +147 -0
  294. package/dist/store/resources.js.map +1 -0
  295. package/dist/store/retention.d.ts +91 -0
  296. package/dist/store/retention.d.ts.map +1 -0
  297. package/dist/store/retention.js +169 -0
  298. package/dist/store/retention.js.map +1 -0
  299. package/dist/store/run-events.d.ts +14 -0
  300. package/dist/store/run-events.d.ts.map +1 -0
  301. package/dist/store/run-events.js +35 -0
  302. package/dist/store/run-events.js.map +1 -0
  303. package/dist/store/runtime.d.ts +24 -0
  304. package/dist/store/runtime.d.ts.map +1 -0
  305. package/dist/store/runtime.js +67 -0
  306. package/dist/store/runtime.js.map +1 -0
  307. package/dist/store/schema.d.ts +33 -0
  308. package/dist/store/schema.d.ts.map +1 -0
  309. package/dist/store/schema.js +187 -0
  310. package/dist/store/schema.js.map +1 -0
  311. package/dist/store/setup-bindings.d.ts +20 -0
  312. package/dist/store/setup-bindings.d.ts.map +1 -0
  313. package/dist/store/setup-bindings.js +52 -0
  314. package/dist/store/setup-bindings.js.map +1 -0
  315. package/dist/store/sql-command-router.d.ts +79 -0
  316. package/dist/store/sql-command-router.d.ts.map +1 -0
  317. package/dist/store/sql-command-router.js +92 -0
  318. package/dist/store/sql-command-router.js.map +1 -0
  319. package/dist/store/sql-daemon-services.d.ts +61 -0
  320. package/dist/store/sql-daemon-services.d.ts.map +1 -0
  321. package/dist/store/sql-daemon-services.js +124 -0
  322. package/dist/store/sql-daemon-services.js.map +1 -0
  323. package/dist/store/sql-recovery-export.d.ts +8 -0
  324. package/dist/store/sql-recovery-export.d.ts.map +1 -0
  325. package/dist/store/sql-recovery-export.js +110 -0
  326. package/dist/store/sql-recovery-export.js.map +1 -0
  327. package/dist/store/sql-recovery-inspection.d.ts +22 -0
  328. package/dist/store/sql-recovery-inspection.d.ts.map +1 -0
  329. package/dist/store/sql-recovery-inspection.js +88 -0
  330. package/dist/store/sql-recovery-inspection.js.map +1 -0
  331. package/dist/store/sql-recovery.d.ts +69 -0
  332. package/dist/store/sql-recovery.d.ts.map +1 -0
  333. package/dist/store/sql-recovery.js +169 -0
  334. package/dist/store/sql-recovery.js.map +1 -0
  335. package/dist/store/sql-validation.d.ts +9 -0
  336. package/dist/store/sql-validation.d.ts.map +1 -0
  337. package/dist/store/sql-validation.js +103 -0
  338. package/dist/store/sql-validation.js.map +1 -0
  339. package/dist/store/statement-observer.d.ts +7 -0
  340. package/dist/store/statement-observer.d.ts.map +1 -0
  341. package/dist/store/statement-observer.js +44 -0
  342. package/dist/store/statement-observer.js.map +1 -0
  343. package/dist/store/store.d.ts +110 -0
  344. package/dist/store/store.d.ts.map +1 -0
  345. package/dist/store/store.js +296 -0
  346. package/dist/store/store.js.map +1 -0
  347. package/dist/store/terminal-files.d.ts +21 -0
  348. package/dist/store/terminal-files.d.ts.map +1 -0
  349. package/dist/store/terminal-files.js +115 -0
  350. package/dist/store/terminal-files.js.map +1 -0
  351. package/dist/store/thread-replay.d.ts +12 -0
  352. package/dist/store/thread-replay.d.ts.map +1 -0
  353. package/dist/store/thread-replay.js +49 -0
  354. package/dist/store/thread-replay.js.map +1 -0
  355. package/dist/store/thread-rows.d.ts +25 -0
  356. package/dist/store/thread-rows.d.ts.map +1 -0
  357. package/dist/store/thread-rows.js +141 -0
  358. package/dist/store/thread-rows.js.map +1 -0
  359. package/dist/store/threads.d.ts +105 -0
  360. package/dist/store/threads.d.ts.map +1 -0
  361. package/dist/store/threads.js +423 -0
  362. package/dist/store/threads.js.map +1 -0
  363. package/dist/store/upload-binding-retention.d.ts +26 -0
  364. package/dist/store/upload-binding-retention.d.ts.map +1 -0
  365. package/dist/store/upload-binding-retention.js +142 -0
  366. package/dist/store/upload-binding-retention.js.map +1 -0
  367. package/dist/store/uploads.d.ts +30 -0
  368. package/dist/store/uploads.d.ts.map +1 -0
  369. package/dist/store/uploads.js +238 -0
  370. package/dist/store/uploads.js.map +1 -0
  371. package/dist/store-contracts.d.ts +181 -0
  372. package/dist/store-contracts.d.ts.map +1 -0
  373. package/dist/store-contracts.js +2 -0
  374. package/dist/store-contracts.js.map +1 -0
  375. package/dist/terminal-authority.d.ts +9 -0
  376. package/dist/terminal-authority.d.ts.map +1 -1
  377. package/dist/terminal-authority.js +103 -1
  378. package/dist/terminal-authority.js.map +1 -1
  379. package/dist/thread-lane-checkpoints.d.ts +0 -2
  380. package/dist/thread-lane-checkpoints.d.ts.map +1 -1
  381. package/dist/thread-lane-checkpoints.js +0 -4
  382. package/dist/thread-lane-checkpoints.js.map +1 -1
  383. package/dist/thread-store-support.d.ts +1 -27
  384. package/dist/thread-store-support.d.ts.map +1 -1
  385. package/dist/thread-store-support.js +0 -63
  386. package/dist/thread-store-support.js.map +1 -1
  387. package/dist/threads.d.ts +1 -113
  388. package/dist/threads.d.ts.map +1 -1
  389. package/dist/threads.js +1 -379
  390. package/dist/threads.js.map +1 -1
  391. package/package.json +9 -7
  392. package/dist/command-activity.d.ts +0 -14
  393. package/dist/command-activity.d.ts.map +0 -1
  394. package/dist/command-activity.js +0 -16
  395. package/dist/command-activity.js.map +0 -1
  396. package/dist/journal-events.d.ts +0 -4
  397. package/dist/journal-events.d.ts.map +0 -1
  398. package/dist/journal-events.js +0 -23
  399. package/dist/journal-events.js.map +0 -1
  400. package/dist/journal-maintenance.d.ts +0 -50
  401. package/dist/journal-maintenance.d.ts.map +0 -1
  402. package/dist/journal-maintenance.js +0 -162
  403. package/dist/journal-maintenance.js.map +0 -1
  404. package/dist/journal-manager-journal.d.ts +0 -18
  405. package/dist/journal-manager-journal.d.ts.map +0 -1
  406. package/dist/journal-manager-journal.js +0 -25
  407. package/dist/journal-manager-journal.js.map +0 -1
  408. package/dist/journal-manager-lifecycle.d.ts +0 -11
  409. package/dist/journal-manager-lifecycle.d.ts.map +0 -1
  410. package/dist/journal-manager-lifecycle.js +0 -2
  411. package/dist/journal-manager-lifecycle.js.map +0 -1
  412. package/dist/journal-manager.d.ts +0 -99
  413. package/dist/journal-manager.d.ts.map +0 -1
  414. package/dist/journal-manager.js +0 -559
  415. package/dist/journal-manager.js.map +0 -1
  416. package/dist/journal-prepared-operation.d.ts +0 -53
  417. package/dist/journal-prepared-operation.d.ts.map +0 -1
  418. package/dist/journal-prepared-operation.js +0 -158
  419. package/dist/journal-prepared-operation.js.map +0 -1
  420. package/dist/journal-projection-slot.d.ts +0 -28
  421. package/dist/journal-projection-slot.d.ts.map +0 -1
  422. package/dist/journal-projection-slot.js +0 -71
  423. package/dist/journal-projection-slot.js.map +0 -1
  424. package/dist/journal-projection.d.ts +0 -13
  425. package/dist/journal-projection.d.ts.map +0 -1
  426. package/dist/journal-projection.js +0 -2
  427. package/dist/journal-projection.js.map +0 -1
  428. package/dist/partition-accounts.d.ts +0 -27
  429. package/dist/partition-accounts.d.ts.map +0 -1
  430. package/dist/partition-accounts.js +0 -21
  431. package/dist/partition-accounts.js.map +0 -1
  432. package/dist/project-partition-preparation.d.ts +0 -87
  433. package/dist/project-partition-preparation.d.ts.map +0 -1
  434. package/dist/project-partition-preparation.js +0 -273
  435. package/dist/project-partition-preparation.js.map +0 -1
  436. package/dist/project-partitions.d.ts +0 -214
  437. package/dist/project-partitions.d.ts.map +0 -1
  438. package/dist/project-partitions.js +0 -486
  439. package/dist/project-partitions.js.map +0 -1
  440. package/dist/project-remove.d.ts +0 -11
  441. package/dist/project-remove.d.ts.map +0 -1
  442. package/dist/project-remove.js +0 -65
  443. package/dist/project-remove.js.map +0 -1
  444. package/dist/project-thread-listing.d.ts +0 -14
  445. package/dist/project-thread-listing.d.ts.map +0 -1
  446. package/dist/project-thread-listing.js +0 -37
  447. package/dist/project-thread-listing.js.map +0 -1
  448. package/dist/quota-projection.d.ts +0 -11
  449. package/dist/quota-projection.d.ts.map +0 -1
  450. package/dist/quota-projection.js +0 -10
  451. package/dist/quota-projection.js.map +0 -1
  452. package/dist/resource-store.d.ts +0 -39
  453. package/dist/resource-store.d.ts.map +0 -1
  454. package/dist/resource-store.js +0 -464
  455. package/dist/resource-store.js.map +0 -1
  456. package/dist/run-event-terminal-index.d.ts +0 -13
  457. package/dist/run-event-terminal-index.d.ts.map +0 -1
  458. package/dist/run-event-terminal-index.js +0 -38
  459. package/dist/run-event-terminal-index.js.map +0 -1
  460. package/dist/run-events.d.ts +0 -17
  461. package/dist/run-events.d.ts.map +0 -1
  462. package/dist/run-events.js +0 -31
  463. package/dist/run-events.js.map +0 -1
  464. package/dist/thread-head-ping.d.ts +0 -35
  465. package/dist/thread-head-ping.d.ts.map +0 -1
  466. package/dist/thread-head-ping.js +0 -67
  467. package/dist/thread-head-ping.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"quota-registry.d.ts","sourceRoot":"","sources":["../src/quota-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAYL,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;AAU3B,OAAO,EAWL,KAAK,cAAc,EACnB,KAAK,oBAAoB,EAE1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAmBlE;;iDAEiD;AACjD,MAAM,MAAM,oBAAoB,GAAG,MAAM,YAAY,EAAE,CAAC;AAExD,iEAAiE;AACjE,qBAAa,aAAa;IAmBtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAExB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IArB5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;IAC9D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA8C;IAChF;;iDAE6C;IAC7C,OAAO,CAAC,QAAQ,CAAsB;IACtC;;gDAE4C;IAC5C,OAAO,CAAC,gCAAgC,CAAuB;IAC/D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAE/B;IACJ,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,iBAAiB,CAAiC;IAC1D,OAAO,CAAC,qBAAqB,CAAS;IAEtC,YACmB,OAAO,EAAE,cAAc,EACxC,UAAU,GAAE,SAAS,CAAC,cAAc,GAAG,oBAAoB,CAAC,EAAO,EAClD,GAAG,GAAE,MAAM,IAAuB,EAClC,QAAQ,CAAC,EAAE,oBAAoB,YAAA,EAChD,UAAU,CAAC,EAAE,oBAAoB,EAmFlC;IAED,iFAAiF;IACjF,mBAAmB,IAAI,IAAI,CAI1B;IAED,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAOH;IAED,OAAO,CAAC,eAAe;IAIjB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAEZ;IAED;;8EAE0E;IACpE,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAGtB;IAED;;;;;;mDAM+C;YACjC,YAAY;YAcZ,mBAAmB;IA4FjC;;;;;;;;;;;0DAWsD;IACtD,OAAO,CAAC,iBAAiB;IAyCzB;;8DAE0D;IAC1D,OAAO,CAAC,cAAc;IAatB;;;;2DAIuD;IACvD,oBAAoB,IAAI,IAAI,CAG3B;IAED;;;4EAGwE;IACxE,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAuB5B;IAED,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CA2B9C;IAED,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAUjC;IAED,OAAO,CAAC,YAAY;IA0BpB;;6EAEyE;IACzE,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAW/D;IAED,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,8BAA8B;IAOtC,OAAO,CAAC,mBAAmB;IAS3B,kBAAkB,IAAI,IAAI,CAEzB;IAED,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,KAAK;IAOb,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,MAAM;CAcf"}
1
+ {"version":3,"file":"quota-registry.d.ts","sourceRoot":"","sources":["../src/quota-registry.ts"],"names":[],"mappings":"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"}
@@ -1,28 +1,19 @@
1
- import { hashJson, sha256 } from "@claudexor/util";
2
- import { ControlQuotaResponse, HarnessEvent, QUOTA_GAP_ABSENCE_REASONS, QuotaAbsence as QuotaAbsenceSchema, QuotaSnapshot as QuotaSnapshotSchema, QuotaWindowObservation, QuotaWindowSupersession, REACTIVE_COOLDOWN_SOURCE, quotaSourceTraits, } from "@claudexor/schema";
3
- import { legacyV320Snapshot, quotaSnapshotRecords, reconcileQuotaSnapshot, reactiveCooldownSnapshot, sameQuotaEvidence, snapshotKey, activeQuotaSnapshots, } from "./quota-registry-support.js";
1
+ import { validatedRefreshBatches, refreshCoverage, refreshSubjects, refreshCycleCovers, } from "./quota-refresh-batches.js";
2
+ import { replayQuotaJournal, RESOURCES_INVALIDATED, REMOVED, PROJECTION_UPDATED, WINDOW_SUPERSEDED, } from "./quota-registry-replay.js";
3
+ import { ControlQuotaResponse, AccountResourceSnapshot, observedResourceFacet, HarnessEvent, QUOTA_GAP_ABSENCE_REASONS, QuotaSnapshot as QuotaSnapshotSchema, REACTIVE_COOLDOWN_SOURCE, quotaSourceTraits, } from "@claudexor/schema";
4
+ import { quotaSnapshotRecords, reconcileQuotaSnapshot, reactiveCooldownSnapshot, sameQuotaEvidence, snapshotKey, } from "./quota-registry-support.js";
4
5
  import { buildRefresherLanes, derivePollPacedRows, foldAbsenceClaims, laneDemand, noteRefreshPacing, performPollSweep, recomputeScopeFor, selectCycleEntries, subjectCoverSets, } from "./quota-poll-lanes.js";
5
6
  import { QuotaRefreshCoordinator } from "./quota-refresh-coordinator.js";
6
7
  import { quotaSubjectIdentity } from "./quota-refresh-demand.js";
7
- const UPSERTED = "quota.snapshot.upserted";
8
- const WINDOW_OBSERVED = "quota.window.observed";
9
- const WINDOW_SUPERSEDED = "quota.window.superseded";
10
- const SCOPED_PREPARED = "quota.snapshot.scoped_prepared";
11
- const REMOVED = "quota.subject.removed";
12
- const PROJECTION_UPDATED = "quota.projection.updated";
13
- const REPLAY_TYPES = [
14
- SCOPED_PREPARED,
15
- UPSERTED,
16
- WINDOW_OBSERVED,
17
- WINDOW_SUPERSEDED,
18
- REMOVED,
19
- PROJECTION_UPDATED,
20
- ];
8
+ import { resourceKey, applyResourceObservation, recordAccountResourceObservation, resourceSnapshots, resourceQuotaSnapshots, quotaFreshnessRead, quotaProjectionSignature, retireAccountResourceEvidence, } from "./quota-resources.js";
21
9
  /** Global-journal authority for vendor-owned quota snapshots. */
22
10
  export class QuotaRegistry {
23
11
  journal;
24
12
  now;
25
13
  subjects;
14
+ resourceCutoffs = new Map();
15
+ resources = new Map();
16
+ refreshSerial = 0;
26
17
  snapshots = new Map();
27
18
  supersededWindows = new Map();
28
19
  /** Ephemeral typed-absence state, recomputed each refresh/poll cycle — NOT
@@ -41,79 +32,20 @@ export class QuotaRegistry {
41
32
  this.journal = journal;
42
33
  this.now = now;
43
34
  this.subjects = subjects;
44
- let rawMutationAfterMarker = false;
45
- let pendingScoped = null;
46
- for (const record of journal.records(0, REPLAY_TYPES)) {
47
- // Filtering must not make a formerly interrupted pair adjacent.
48
- if (pendingScoped && record.seq !== pendingScoped.seq + 1)
49
- pendingScoped = null;
50
- if (record.type === SCOPED_PREPARED) {
51
- const payload = typeof record.payload === "object" &&
52
- record.payload !== null &&
53
- !Array.isArray(record.payload)
54
- ? record.payload
55
- : {};
56
- const snapshot = QuotaSnapshotSchema.safeParse(payload.snapshot);
57
- pendingScoped =
58
- payload.version === 1 && typeof payload.base_hash === "string" && snapshot.success
59
- ? {
60
- seq: record.seq,
61
- baseHash: payload.base_hash,
62
- snapshot: snapshot.data,
63
- }
64
- : null;
65
- continue;
66
- }
67
- if (record.type === UPSERTED) {
68
- const base = QuotaSnapshotSchema.parse(record.payload);
69
- const baseHash = hashJson(base);
70
- const committedScoped = pendingScoped !== null &&
71
- pendingScoped.baseHash === baseHash &&
72
- hashJson(legacyV320Snapshot(pendingScoped.snapshot)) === baseHash
73
- ? pendingScoped.snapshot
74
- : null;
75
- this.apply(committedScoped ?? base);
76
- pendingScoped = null;
77
- rawMutationAfterMarker = true;
78
- continue;
79
- }
80
- // A scoped prepare commits only through the immediately following
81
- // matching legacy upsert. If the writer stopped or another record
82
- // intervened, ignore the incomplete prepare on replay.
83
- pendingScoped = null;
84
- if (record.type === WINDOW_OBSERVED) {
85
- this.apply(QuotaWindowObservation.parse(record.payload).snapshot);
86
- rawMutationAfterMarker = true;
87
- continue;
88
- }
89
- if (record.type === WINDOW_SUPERSEDED) {
90
- this.applyWindowSupersession(QuotaWindowSupersession.parse(record.payload));
91
- rawMutationAfterMarker = true;
92
- continue;
93
- }
94
- if (record.type === REMOVED) {
95
- const payload = record.payload;
96
- // subject_id is null for a harness's default/native subject, which is
97
- // exactly the one a revocation retirement can name.
98
- if (typeof payload.harness === "string" &&
99
- (typeof payload.subject_id === "string" || payload.subject_id === null)) {
100
- this.remove(payload.harness, payload.subject_id);
101
- }
102
- rawMutationAfterMarker = true;
103
- }
104
- if (record.type === PROJECTION_UPDATED) {
105
- const payload = record.payload;
106
- this.lastPublishedProjectionSignature =
107
- typeof payload.projection_signature === "string" ? payload.projection_signature : null;
108
- rawMutationAfterMarker = false;
109
- }
110
- }
35
+ const replay = replayQuotaJournal(journal, {
36
+ apply: (snapshot) => this.apply(snapshot),
37
+ applyWindowSupersession: (value) => this.applyWindowSupersession(value),
38
+ applyResources: (observation) => applyResourceObservation(this.resources, observation),
39
+ invalidateResources: (target, at) => this.retireResourceEvidence(target, at),
40
+ remove: (harness, id, resources) => this.remove(harness, id, resources),
41
+ });
42
+ this.lastPublishedProjectionSignature = replay.projectionSignature;
111
43
  this.validateProjection();
112
44
  // A process can stop after a durable raw mutation but before its separate
113
45
  // projection marker. Replaying that state without a new marker would leave
114
46
  // already-subscribed clients permanently behind. Close the recovered
115
47
  // commit boundary synchronously before the projection becomes available.
116
- this.recoveryMarkerPending = rawMutationAfterMarker;
48
+ this.recoveryMarkerPending = replay.rawMutationAfterMarker;
117
49
  this.refresherLanes = buildRefresherLanes(refreshers, pacerStore);
118
50
  }
119
51
  /** Publish the recovered projection boundary only after bootstrap activation. */
@@ -131,34 +63,72 @@ export class QuotaRegistry {
131
63
  refreshed_at: null,
132
64
  });
133
65
  }
66
+ /** Opt-in display read, never used for routing, demand, or journal signatures. */
67
+ readConstraintFreshness(now = this.now().getTime()) {
68
+ return quotaFreshnessRead(this.snapshots, this.resourceCutoffs, this.activeAbsences(now), now);
69
+ }
70
+ readResources(now = this.now().getTime()) {
71
+ return resourceSnapshots(this.resources.values(), this.resourceCutoffs, now);
72
+ }
73
+ /** A reset makes prior usage/inventory historical, not a fabricated new count. */
74
+ invalidateAccountResources(target) {
75
+ const observed_at = this.now().toISOString();
76
+ this.journal.append(RESOURCES_INVALIDATED, { version: 1, target, observed_at });
77
+ this.retireResourceEvidence(target, observed_at);
78
+ this.appendProjectionMarker("direct_mutation", observed_at);
79
+ }
80
+ retireResourceEvidence(target, at) {
81
+ retireAccountResourceEvidence(target, at, this.resourceCutoffs, this.snapshots, this.resources);
82
+ }
134
83
  activeSnapshots(now) {
135
- return activeQuotaSnapshots([...this.snapshots.values()], now);
84
+ return resourceQuotaSnapshots(this.snapshots.values(), this.resourceCutoffs, now);
136
85
  }
137
- async refresh() {
138
- return (await this.refreshCycle()).response;
86
+ async refresh(target, afterCurrent = false) {
87
+ return (await this.refreshCycle(true, undefined, target, afterCurrent)).response;
139
88
  }
140
89
  /** Fresh quota plus the exact global-journal fence for snapshot-then-SSE.
141
90
  * The cursor is captured inside refreshCycle, synchronously with `response`,
142
91
  * so a later append can never be skipped by a client resuming from it. */
143
92
  async refreshWithCursor() {
144
- const { response, quotaEventCursor } = await this.refreshCycle();
145
- return { response, quotaEventCursor };
93
+ const { response, quotaEventCursor, resources } = await this.refreshCycle();
94
+ return { response, quotaEventCursor, resources };
95
+ }
96
+ async refreshResources(target, afterCurrent = false, invalidateBeforeRead = false) {
97
+ const cycle = await this.refreshCycle(true, undefined, target, afterCurrent, invalidateBeforeRead);
98
+ return { ...cycle.response, resources: cycle.resources };
146
99
  }
147
100
  /** One coalesced atomic refresh cycle; a poll passes its lane so only that
148
101
  * vendor's refreshers run. Join semantics are asymmetric on purpose: a poll
149
102
  * joining a foreground FULL cycle keeps its (superset) result, but a FULL
150
103
  * caller that joined a lane-SCOPED poll cycle re-runs a full cycle once it
151
104
  * completes — an explicit refresh must not silently return with sibling
152
- * vendors unre-fetched and undisclosed. Bounded retry; on exhaustion the
153
- * last (complete-projection) result serves. */
154
- async refreshCycle(followCredentialChanges = true, scope) {
155
- for (let attempt = 0;; attempt += 1) {
156
- const cycle = await this.refreshCoordinator.run((credentialGeneration) => this.performRefreshCycle(credentialGeneration, scope ?? null), followCredentialChanges);
157
- if (scope !== undefined || !cycle.scoped || attempt > this.refresherLanes.lanes.length)
105
+ * vendors unre-fetched and undisclosed. Continue until the caller joins
106
+ * a cycle covering its target and, after reset, its observation boundary. */
107
+ async refreshCycle(followCredentialChanges = true, scope, target, afterCurrent = false, invalidateBeforeRead = false) {
108
+ const afterSerial = afterCurrent ? this.refreshSerial : -1;
109
+ for (;;) {
110
+ const cycle = await this.refreshCoordinator
111
+ .run((credentialGeneration) => {
112
+ // Drain the previous cycle before moving the reset cutoff. Even an old
113
+ // source stamped at delivery cannot renew history after this boundary.
114
+ if (target && invalidateBeforeRead)
115
+ this.invalidateAccountResources(target);
116
+ return this.performRefreshCycle(credentialGeneration, scope ?? null, target);
117
+ }, followCredentialChanges)
118
+ .catch((error) => {
119
+ if (afterCurrent && this.refreshSerial <= afterSerial)
120
+ return null;
121
+ throw error;
122
+ });
123
+ if (cycle === null)
124
+ continue;
125
+ const covered = refreshCycleCovers(cycle, target, scope);
126
+ if (covered && cycle.serial > afterSerial)
158
127
  return cycle;
159
128
  }
160
129
  }
161
- async performRefreshCycle(credentialGeneration, scope) {
130
+ async performRefreshCycle(credentialGeneration, scope, target) {
131
+ const serial = ++this.refreshSerial;
162
132
  if (this.refresherLanes.entries.length === 0) {
163
133
  throw Object.assign(new Error("no live vendor-owned quota refresh source is available"), {
164
134
  code: "quota_refresh_unavailable",
@@ -167,39 +137,9 @@ export class QuotaRegistry {
167
137
  }
168
138
  // Foreground cycles honor each vendor lane's rate-limit cooldown; the
169
139
  // skips serve last-known registry data and are disclosed additively.
170
- const { running, skipped } = selectCycleEntries(this.refresherLanes, scope, this.now().getTime(), () => this.refreshCoordinator.isCurrent(credentialGeneration), this.subjects?.(), this.activeSnapshots(this.now().getTime()));
140
+ const { running, skipped } = selectCycleEntries(this.refresherLanes, scope, this.now().getTime(), () => this.refreshCoordinator.isCurrent(credentialGeneration), refreshSubjects(this.subjects?.(), target), this.activeSnapshots(this.now().getTime()), target);
171
141
  const settled = await Promise.allSettled(running.map(async ({ refresh }) => refresh()));
172
- const batches = [];
173
- const failures = [];
174
- // Validate EVERY fulfilled source batch before the first durable write.
175
- // Declaration order below, not completion order, remains the deterministic
176
- // authority for both snapshot writes and first-claim absence precedence.
177
- for (const result of settled) {
178
- if (result.status === "rejected") {
179
- failures.push(result.reason instanceof Error ? result.reason.message : String(result.reason));
180
- batches.push(null);
181
- continue;
182
- }
183
- try {
184
- batches.push({
185
- snapshots: result.value.snapshots.map((snapshot) => QuotaSnapshotSchema.parse(snapshot)),
186
- absences: (result.value.absences ?? []).map((absence) => QuotaAbsenceSchema.parse(absence)),
187
- });
188
- }
189
- catch (error) {
190
- failures.push(error instanceof Error ? error.message : String(error));
191
- batches.push(null);
192
- }
193
- }
194
- // An all-cooled full cycle (running empty, skips disclosed) is a served
195
- // last-known response, not a failure; only attempted-and-failed sources
196
- // make the cycle unavailable.
197
- if (running.length > 0 && batches.every((batch) => batch === null)) {
198
- throw Object.assign(new Error(`quota refresh failed: ${failures.join("; ")}`), {
199
- code: "quota_refresh_unavailable",
200
- status: 503,
201
- });
202
- }
142
+ const batches = validatedRefreshBatches(settled, target);
203
143
  // Everything below mutates the journal or live projection without an
204
144
  // await. Fence the whole commit boundary before its first write: a cycle
205
145
  // that captured retired credentials contributes no snapshot, absence,
@@ -216,11 +156,13 @@ export class QuotaRegistry {
216
156
  // is assembled so clients never see a marker-per-item burst.
217
157
  for (const snapshot of batch.snapshots)
218
158
  this.recordUpsert(snapshot);
159
+ for (const observation of batch.resources)
160
+ recordAccountResourceObservation(this.journal, this.resources, observation);
219
161
  claims.push(...batch.absences);
220
162
  }
221
163
  const now = this.now().getTime();
222
164
  if (running.length > 0)
223
- this.recomputeAbsences(claims, now, recomputeScopeFor(running));
165
+ this.recomputeAbsences(claims, now, recomputeScopeFor(running), target);
224
166
  noteRefreshPacing(this.refresherLanes.lanes, batches.flatMap((batch) => batch?.snapshots ?? []), claims, skipped, now);
225
167
  const refreshedAt = this.now().toISOString();
226
168
  const response = ControlQuotaResponse.parse({
@@ -232,9 +174,18 @@ export class QuotaRegistry {
232
174
  // No await may appear between response construction and this marker/cursor.
233
175
  // The marker makes absence-only and identical refreshes observable; its own
234
176
  // cursor is the exact last event represented by this response.
235
- const quotaEventCursor = this.appendProjectionMarker("refresh", refreshedAt, response);
177
+ const resources = this.readResources(now);
178
+ const quotaEventCursor = this.appendProjectionMarker("refresh", refreshedAt, response, resources);
236
179
  // scoped: an unscoped joiner re-runs a full cycle on it (join semantics).
237
- return { response, quotaEventCursor, scoped: scope !== null };
180
+ return {
181
+ response,
182
+ quotaEventCursor,
183
+ resources,
184
+ scopeVendor: scope?.vendor ?? null,
185
+ target,
186
+ serial,
187
+ coveredTargets: refreshCoverage(batches, skipped),
188
+ };
238
189
  }
239
190
  /** Fold claims against (harness, subject_id): fresh snapshots silence
240
191
  * refresh gaps; stale snapshots retain their explanations. Other claims
@@ -248,9 +199,11 @@ export class QuotaRegistry {
248
199
  * claude-only poll cannot degrade codex's typed reasons to no_source.
249
200
  * `null` scope (a full cycle, or an anonymous-lane cycle whose coverage is
250
201
  * unknowable) keeps the pre-existing full rebuild. */
251
- recomputeAbsences(claims, now, scope = null) {
202
+ recomputeAbsences(claims, now, scope = null, target) {
252
203
  const laneVendors = new Set(this.refresherLanes.lanes.map((lane) => lane.vendor).filter((vendor) => vendor !== null));
253
- const rebuilt = (harness) => scope === null || scope.has(harness) || !laneVendors.has(harness);
204
+ const rebuilt = (harness, subjectId) => target
205
+ ? target.harness === harness && target.profile_id === subjectId
206
+ : scope === null || scope.has(harness) || !laneVendors.has(harness);
254
207
  // Every other reason answers "why is there no snapshot", so a snapshot
255
208
  // silences it. `auth_revoked` says the vendor rejected the credential;
256
209
  // `credential_profile_ambiguous` says current platform policy forbids
@@ -266,8 +219,8 @@ export class QuotaRegistry {
266
219
  // Durable authority BEFORE the live projection (upsert/removeSubject
267
220
  // parity): a failed append after an in-memory delete would let replay
268
221
  // resurrect the revoked window on restart (f-dace28127b7a).
269
- this.journal.append(REMOVED, { harness, subject_id });
270
- this.remove(harness, subject_id);
222
+ this.journal.append(REMOVED, { harness, subject_id, preserve_resources: true });
223
+ this.remove(harness, subject_id, false);
271
224
  }
272
225
  const { covered, freshCovered } = subjectCoverSets(this.activeSnapshots(now));
273
226
  this.absences = foldAbsenceClaims({
@@ -327,6 +280,16 @@ export class QuotaRegistry {
327
280
  return;
328
281
  const quota = event.data.quota;
329
282
  const credentialRoute = event.data.credential_route;
283
+ if (event.data.account_usage &&
284
+ event.data.credential_profile_id &&
285
+ credentialRoute === "vendor_native") {
286
+ const diagnostics = event.data.account_usage;
287
+ recordAccountResourceObservation(this.journal, this.resources, {
288
+ target: { harness: harnessId, profile_id: event.data.credential_profile_id },
289
+ diagnostics: observedResourceFacet(diagnostics, "claude_rate_limit_event", new Date(event.data.ts)),
290
+ });
291
+ this.appendProjectionMarker("direct_mutation", this.now().toISOString());
292
+ }
330
293
  if (quota && credentialRoute) {
331
294
  this.upsert({
332
295
  subject: {
@@ -401,8 +364,8 @@ export class QuotaRegistry {
401
364
  this.appendProjectionMarker("direct_mutation", this.now().toISOString());
402
365
  return removed;
403
366
  }
404
- appendProjectionMarker(reason, observedAt, response = this.read()) {
405
- const projectionSignature = this.projectionSignature(response);
367
+ appendProjectionMarker(reason, observedAt, response = this.read(), resources = this.readResources()) {
368
+ const projectionSignature = quotaProjectionSignature(response, resources);
406
369
  const marker = this.journal.append(PROJECTION_UPDATED, {
407
370
  reason,
408
371
  observed_at: observedAt,
@@ -413,20 +376,15 @@ export class QuotaRegistry {
413
376
  }
414
377
  publishClockTransitionIfNeeded() {
415
378
  const response = this.read();
416
- const signature = this.projectionSignature(response);
379
+ const resources = this.readResources();
380
+ const signature = quotaProjectionSignature(response, resources);
417
381
  if (signature === this.lastPublishedProjectionSignature)
418
382
  return;
419
- this.appendProjectionMarker("clock_transition", this.now().toISOString(), response);
420
- }
421
- projectionSignature(response) {
422
- // refreshed_at is request metadata, not projection identity. Snapshot
423
- // freshness and absence coverage are logical facts and remain included.
424
- // The marker carries the digest, never the projection: consumers only
425
- // compare signatures for equality (a legacy JSON-string marker simply
426
- // differs once, publishing one extra clock-transition marker).
427
- return sha256(JSON.stringify({ snapshots: response.snapshots, absences: response.absences }));
383
+ this.appendProjectionMarker("clock_transition", this.now().toISOString(), response, resources);
428
384
  }
429
385
  validateProjection() {
386
+ for (const row of this.resources.values())
387
+ AccountResourceSnapshot.parse(row);
430
388
  for (const snapshot of this.snapshots.values())
431
389
  QuotaSnapshotSchema.parse(snapshot);
432
390
  }
@@ -456,7 +414,11 @@ export class QuotaRegistry {
456
414
  if (snapshot && Date.parse(snapshot.observed_at) < Date.parse(value.observed_at))
457
415
  this.snapshots.delete(value.snapshot_id);
458
416
  }
459
- remove(harness, subjectId) {
417
+ remove(harness, subjectId, removeResources = true) {
418
+ if (subjectId !== null && removeResources) {
419
+ this.resources.delete(resourceKey({ harness, profile_id: subjectId }));
420
+ this.resourceCutoffs.delete(resourceKey({ harness, profile_id: subjectId }));
421
+ }
460
422
  for (const [key, value] of this.supersededWindows) {
461
423
  if (value.subject.harness === harness && value.subject.subject_id === subjectId)
462
424
  this.supersededWindows.delete(key);
@@ -1 +1 @@
1
- {"version":3,"file":"quota-registry.js","sourceRoot":"","sources":["../src/quota-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quota-registry.js","sourceRoot":"","sources":["../src/quota-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,105 @@
1
+ import type { EventLedger } from "./store-contracts.js";
2
+ import { AccountResourceSnapshot, ControlQuotaFreshnessResponse, type AccountResourceObservation, type AccountTarget, type QuotaAbsence, type QuotaSnapshot } from "@claudexor/schema";
3
+ export declare const resourceKey: (target: AccountTarget) => string;
4
+ export declare function emptyResources(target: AccountTarget): AccountResourceSnapshot;
5
+ /** Merge independently observed facets. A failed read preserves the successful
6
+ * observation, including its original source and clock. */
7
+ export declare function mergeResources(prior: AccountResourceSnapshot | undefined, update: AccountResourceObservation): AccountResourceSnapshot;
8
+ export declare function ageResources(snapshot: AccountResourceSnapshot, now: number): AccountResourceSnapshot;
9
+ export declare function resourceSnapshots(values: Iterable<AccountResourceSnapshot>, cutoffs: ReadonlyMap<string, string>, now: number): {
10
+ target: {
11
+ harness: string;
12
+ profile_id: string;
13
+ };
14
+ balances: {
15
+ value: {
16
+ id: string;
17
+ label: string;
18
+ amount: string | null;
19
+ unit: string;
20
+ currency: string | null;
21
+ decimal_places: number | null;
22
+ has_balance: boolean | null;
23
+ unlimited: boolean | null;
24
+ }[] | null;
25
+ source: string | null;
26
+ observed_at: string | null;
27
+ freshness: "fresh" | "stale" | "unknown";
28
+ last_attempt_at: string | null;
29
+ last_error: string | null;
30
+ };
31
+ spending: {
32
+ value: {
33
+ id: string;
34
+ label: string;
35
+ enabled: boolean | null;
36
+ used: string | null;
37
+ limit: string | null;
38
+ unit: string;
39
+ currency: string | null;
40
+ decimal_places: number | null;
41
+ resets_at: string | null;
42
+ reason: string | null;
43
+ }[] | null;
44
+ source: string | null;
45
+ observed_at: string | null;
46
+ freshness: "fresh" | "stale" | "unknown";
47
+ last_attempt_at: string | null;
48
+ last_error: string | null;
49
+ };
50
+ resets: {
51
+ value: {
52
+ id: string;
53
+ kind: "granted_reset" | "session_refill";
54
+ label: string;
55
+ description: string | null;
56
+ available_count: number | null;
57
+ eligible: boolean | null;
58
+ usable_now: boolean | null;
59
+ reason: string | null;
60
+ resets_at: string | null;
61
+ weekly_limit_applies: boolean;
62
+ grants: {
63
+ id: string;
64
+ label: string;
65
+ description: string | null;
66
+ available_count: number | null;
67
+ total_count: number | null;
68
+ usable_now: boolean | null;
69
+ starts_at: string | null;
70
+ expires_at: string | null;
71
+ clears: string[];
72
+ }[] | null;
73
+ }[] | null;
74
+ source: string | null;
75
+ observed_at: string | null;
76
+ freshness: "fresh" | "stale" | "unknown";
77
+ last_attempt_at: string | null;
78
+ last_error: string | null;
79
+ };
80
+ diagnostics: {
81
+ value: {
82
+ code: string;
83
+ detail: string | null;
84
+ }[] | null;
85
+ source: string | null;
86
+ observed_at: string | null;
87
+ freshness: "fresh" | "stale" | "unknown";
88
+ last_attempt_at: string | null;
89
+ last_error: string | null;
90
+ };
91
+ }[];
92
+ export declare function resourceQuotaSnapshots(values: Iterable<QuotaSnapshot>, cutoffs: ReadonlyMap<string, string>, now: number): QuotaSnapshot[];
93
+ /** The opt-in display read: evidence observed before an account reset is
94
+ * historical for every window, exactly as for the aggregate snapshot. */
95
+ export declare function quotaFreshnessRead(values: ReadonlyMap<string, QuotaSnapshot>, cutoffs: ReadonlyMap<string, string>, absences: QuotaAbsence[], now: number): ControlQuotaFreshnessResponse;
96
+ export declare function quotaProjectionSignature(response: import("@claudexor/schema").ControlQuotaResponse, resources: AccountResourceSnapshot[]): string;
97
+ /** The journal order disambiguates observations sharing a millisecond with
98
+ * reset. Existing facts become historical; a later successful read may renew
99
+ * them at the same clock tick. The timestamp floor also covers late old polls. */
100
+ export declare function retireAccountResourceEvidence(target: AccountTarget, at: string, cutoffs: Map<string, string>, snapshots: Map<string, QuotaSnapshot>, resources: Map<string, AccountResourceSnapshot>): void;
101
+ export declare function applyResourceObservation(resources: Map<string, AccountResourceSnapshot>, observation: AccountResourceObservation): void;
102
+ /** The existing quota journal stores a complete resource row so its fold slot
103
+ * cannot lose an older independently observed facet. */
104
+ export declare function recordAccountResourceObservation(journal: EventLedger, resources: Map<string, AccountResourceSnapshot>, observation: AccountResourceObservation): void;
105
+ //# sourceMappingURL=quota-resources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quota-resources.d.ts","sourceRoot":"","sources":["../src/quota-resources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAOxD,OAAO,EAEL,uBAAuB,EACvB,6BAA6B,EAE7B,KAAK,0BAA0B,EAC/B,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,WAAW,WAAY,aAAa,WACI,CAAC;AACtD,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,uBAAuB,CAQ7E;AACD;2DAC2D;AAC3D,wBAAgB,cAAc,CAC5B,KAAK,EAAE,uBAAuB,GAAG,SAAS,EAC1C,MAAM,EAAE,0BAA0B,GACjC,uBAAuB,CAqCzB;AACD,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,uBAAuB,EACjC,GAAG,EAAE,MAAM,GACV,uBAAuB,CAazB;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,QAAQ,CAAC,uBAAuB,CAAC,EACzC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,GAAG,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAeZ;AAWD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,EAC/B,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,GAAG,EAAE,MAAM,GACV,aAAa,EAAE,CAIjB;AAED;yEACyE;AACzE,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,EAC1C,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,QAAQ,EAAE,YAAY,EAAE,EACxB,GAAG,EAAE,MAAM,GACV,6BAA6B,CAe/B;AAED,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,OAAO,mBAAmB,EAAE,oBAAoB,EAC1D,SAAS,EAAE,uBAAuB,EAAE,GACnC,MAAM,CAaR;AAED;;kFAEkF;AAClF,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,aAAa,EACrB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EACrC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,GAC9C,IAAI,CAiBN;AAED,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,EAC/C,WAAW,EAAE,0BAA0B,GACtC,IAAI,CAUN;AACD;wDACwD;AACxD,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,EAC/C,WAAW,EAAE,0BAA0B,GACtC,IAAI,CAKN"}