@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,6 +1,6 @@
1
- import { ControlModelOperationDetail, ControlProblem, ModelCallRequest, ModelCallResult, ModelOperationParams, ModelOperationReceipt, ModelUsage, isTerminalLifecycle, isModelOperation, } from "@claudexor/schema";
1
+ import { ControlModelOperationDetail, ControlProblem, ModelCallRequest, ModelCallResult, ModelOperationParams, ModelOperationReceipt, ModelUsage, isTerminalLifecycle, } from "@claudexor/schema";
2
2
  import { errorCode, redactSecrets } from "@claudexor/util";
3
- import { commandStoreForId, commandStores } from "./command-authority.js";
3
+ import { commandStoreForId } from "./command-authority.js";
4
4
  import { findAcceptedCommand } from "./command-rpc.js";
5
5
  export const MODEL_OPERATION_ID = "model.operation.create";
6
6
  const RESPONSE_RETENTION_MS = 30 * 24 * 60 * 60 * 1000;
@@ -85,6 +85,8 @@ export class ModelOperations {
85
85
  async execute(raw, ctx) {
86
86
  const params = ModelOperationParams.parse(raw);
87
87
  let evidence = emptyEvidence();
88
+ let dispatchAttempted = false;
89
+ let barrierProblem = null;
88
90
  try {
89
91
  const request = this.readRequest(params.request);
90
92
  ctx.signal.throwIfAborted();
@@ -96,9 +98,10 @@ export class ModelOperations {
96
98
  ...(params.captureFailureEvidence ? { captureFailureEvidence: true } : {}),
97
99
  onDispatch: async (route) => {
98
100
  ctx.signal.throwIfAborted();
99
- if (evidence.dispatch.state !== "not_started") {
101
+ if (dispatchAttempted) {
100
102
  throw operationError("duplicate_model_dispatch", "A model operation may send inference only once");
101
103
  }
104
+ dispatchAttempted = true;
102
105
  const dispatch = {
103
106
  state: "started",
104
107
  startedAt: this.now().toISOString(),
@@ -108,8 +111,39 @@ export class ModelOperations {
108
111
  // The adapter cannot POST until this callback returns. A rejected
109
112
  // journal write therefore never becomes evidence of a response.
110
113
  evidence.dispatch = dispatch;
114
+ try {
115
+ await commandStoreForId(this.deps.commands, ctx.jobId).flushed();
116
+ }
117
+ catch (error) {
118
+ barrierProblem = ControlProblem.parse({
119
+ code: "store_flush_unavailable",
120
+ retryable: true,
121
+ message: redactSecrets(error instanceof Error ? error.message : String(error)),
122
+ });
123
+ evidence = {
124
+ ...evidence,
125
+ dispatch: { ...dispatch, state: "not_started" },
126
+ problem: barrierProblem,
127
+ };
128
+ this.update(ctx.jobId, evidence);
129
+ throw Object.assign(new Error(barrierProblem.message), { problem: barrierProblem });
130
+ }
131
+ if (ctx.signal.aborted) {
132
+ // The adapter is still waiting inside this callback: no POST occurred.
133
+ evidence.dispatch = { ...dispatch, state: "not_started" };
134
+ this.update(ctx.jobId, evidence);
135
+ ctx.signal.throwIfAborted();
136
+ }
111
137
  },
112
138
  }));
139
+ // An adapter may translate the callback rejection into its normal failed
140
+ // response. The durable no-dispatch proof still owns this failure.
141
+ if (barrierProblem)
142
+ return ModelOperationReceipt.parse({
143
+ lifecycle: "failed",
144
+ ...evidence,
145
+ problem: barrierProblem,
146
+ });
113
147
  evidence.usage = result.usage;
114
148
  evidence.cost = result.cost;
115
149
  evidence.problem = result.problem;
@@ -159,7 +193,7 @@ export class ModelOperations {
159
193
  }
160
194
  catch (error) {
161
195
  const sent = evidence.dispatch.state !== "not_started";
162
- evidence.problem = problemFrom(error);
196
+ evidence.problem = barrierProblem ?? problemFrom(error);
163
197
  if (sent && evidence.dispatch.state !== "response_received") {
164
198
  evidence.dispatch = { ...evidence.dispatch, state: "unknown" };
165
199
  }
@@ -242,8 +276,10 @@ export class ModelOperations {
242
276
  reconcileResources(dryRun = false) {
243
277
  const report = { released: [], errors: [] };
244
278
  const now = this.now().getTime();
245
- const records = this.records();
246
- const terminalRefs = new Set();
279
+ const queries = this.deps.resourceQueries;
280
+ const records = queries
281
+ .expiredResponses(new Date(now).toISOString())
282
+ .map((id) => this.record(id));
247
283
  for (const record of records) {
248
284
  if (!isTerminalLifecycle(record.state))
249
285
  continue;
@@ -252,29 +288,28 @@ export class ModelOperations {
252
288
  // payload ref and cannot prevent unrelated resource reconciliation.
253
289
  if (!params.success)
254
290
  continue;
255
- terminalRefs.add(params.data.request.resourceId);
256
291
  const evidence = this.evidence(record);
257
292
  const response = this.responseAt(evidence.response, now);
258
- if (response.state !== "absent")
259
- terminalRefs.add(response.ref.resourceId);
260
293
  if (response.state === "expired" && evidence.response.state === "ready" && !dryRun) {
261
294
  this.update(record.id, ModelOperationReceipt.parse({ lifecycle: record.state, ...evidence, response }));
262
295
  }
263
296
  }
264
- const liveRefs = this.retainedResources(now, records);
297
+ const liveRefs = {
298
+ has: (id) => queries.retainsResourceBytes(id, new Date(now).toISOString()),
299
+ };
265
300
  for (const ref of this.deps.resources().listModelResources()) {
266
301
  if (liveRefs.has(ref.resourceId))
267
302
  continue;
268
303
  // A newly finalized input may still be on its way to create. Unbound
269
304
  // resources from before this daemon's birth are crash residue.
270
- const boundTerminal = terminalRefs.has(ref.resourceId);
305
+ const boundTerminal = queries.hasTerminalResourceReceipt(ref.resourceId);
271
306
  if (!boundTerminal && Date.parse(ref.createdAt) >= this.startedAt)
272
307
  continue;
273
308
  report.released.push(ref.resourceId);
274
309
  if (!dryRun) {
275
310
  try {
276
311
  const { createdAt: _createdAt, ...payload } = ref;
277
- this.deps.resources().releaseModel(payload);
312
+ this.releasePayload(payload);
278
313
  }
279
314
  catch (error) {
280
315
  report.errors.push(redactSecrets(String(error)));
@@ -312,11 +347,6 @@ export class ModelOperations {
312
347
  }
313
348
  return parsed.data;
314
349
  }
315
- records() {
316
- return commandStores(this.deps.commands)
317
- .flatMap((store) => store.records())
318
- .filter((record) => isModelOperation(record.params));
319
- }
320
350
  record(id) {
321
351
  const record = commandStoreForId(this.deps.commands, id)?.get(id);
322
352
  if (!record || !ModelOperationParams.safeParse(record.params).success) {
@@ -357,40 +387,40 @@ export class ModelOperations {
357
387
  ? { state: "expired", ref: response.ref, releasedAt: response.expiresAt }
358
388
  : response;
359
389
  }
360
- retainedResources(now, records = this.records()) {
361
- const refs = new Set();
362
- for (const record of records) {
363
- if (!isTerminalLifecycle(record.state)) {
364
- const params = ModelOperationParams.safeParse(record.params);
365
- if (params.success)
366
- refs.add(params.data.request.resourceId);
367
- }
368
- const response = this.responseAt(this.evidence(record).response, now);
369
- if (response.state === "ready")
370
- refs.add(response.ref.resourceId);
371
- }
372
- return refs;
373
- }
374
390
  releaseIfUnused(ref) {
375
- if (this.retainedResources(this.now().getTime()).has(ref.resourceId))
391
+ const retained = this.deps.resourceQueries.retainsResourceBytes(ref.resourceId, this.now().toISOString());
392
+ if (retained)
376
393
  return;
377
394
  try {
378
- this.deps.resources().releaseModel(ref);
395
+ this.releasePayload(ref);
379
396
  }
380
397
  catch (error) {
381
398
  this.deps.warn?.(`Model payload cleanup remains pending: ${redactSecrets(String(error))}`);
382
399
  }
383
400
  }
401
+ releasePayload(ref) {
402
+ const now = this.now().getTime();
403
+ const responses = this.deps.resourceQueries
404
+ .responsesForResource(ref.resourceId)
405
+ .map((record) => this.responseAt(this.evidence(record).response, now))
406
+ .filter((response) => response.state !== "absent" && response.ref.resourceId === ref.resourceId);
407
+ // A recorded expiry remains the release instant after a failed cleanup or
408
+ // restart. Shared response owners must all expire; an ACK uses ordinary release.
409
+ const expiries = responses.flatMap((response) => response.state === "expired" ? [response.releasedAt] : []);
410
+ if (expiries.length && expiries.length === responses.length) {
411
+ const latest = expiries.reduce((a, b) => (Date.parse(a) >= Date.parse(b) ? a : b));
412
+ this.deps.resources().expireModel(ref, latest);
413
+ }
414
+ else
415
+ this.deps.resources().releaseModel(ref);
416
+ }
384
417
  armExpiry() {
385
418
  if (this.expiryTimer)
386
419
  clearTimeout(this.expiryTimer);
387
420
  if (this.closed)
388
421
  return;
389
- const due = this.records()
390
- .map((record) => this.evidence(record).response)
391
- .filter((response) => response.state === "ready")
392
- .map((response) => Date.parse(response.expiresAt))
393
- .filter(Number.isFinite);
422
+ const nextExpiry = this.deps.resourceQueries.nextResponseExpiry();
423
+ const due = (nextExpiry ? [Date.parse(nextExpiry)] : []).filter(Number.isFinite);
394
424
  if (!due.length)
395
425
  return;
396
426
  const next = due.reduce((earliest, value) => Math.min(earliest, value), Infinity);
@@ -1 +1 @@
1
- {"version":3,"file":"model-operations.js","sourceRoot":"","sources":["../src/model-operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-operations.js","sourceRoot":"","sources":["../src/model-operations.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import type { DurableJournal } from "@claudexor/journal";
2
1
  export interface OperatorDecisionRecord {
3
2
  runId: string;
4
3
  action: "accept_risk" | "override_needs_human";
@@ -11,29 +10,20 @@ export interface RecordedOperatorDecision {
11
10
  record: OperatorDecisionRecord;
12
11
  reused: boolean;
13
12
  }
14
- /** Journal authority for the human decision that may unblock one exact run patch. */
15
- export declare class OperatorDecisionStore {
16
- private readonly journal;
17
- private readonly byRun;
18
- private readonly byKey;
19
- constructor(journal: DurableJournal);
20
- get(runId: string): OperatorDecisionRecord | null;
21
- findByIdempotency(runId: string, idempotency: {
22
- key: string;
23
- client: string;
24
- request: unknown;
25
- }): OperatorDecisionRecord | null;
26
- record(input: OperatorDecisionRecord, idempotency?: {
27
- key: string;
28
- client: string;
29
- request: unknown;
30
- }): RecordedOperatorDecision;
31
- validateProjection(): void;
32
- private apply;
13
+ export interface DecisionBinding {
14
+ keyDigest: string;
15
+ requestDigest: string;
16
+ runId: string;
17
+ }
18
+ export interface DecisionMutation {
19
+ decision: OperatorDecisionRecord;
20
+ idempotency?: DecisionBinding;
33
21
  }
34
- export declare function operatorDecisionProjection(): {
35
- name: string;
36
- create: (journal: DurableJournal) => OperatorDecisionStore;
37
- validate: (store: OperatorDecisionStore) => void;
38
- };
22
+ export declare function parseOperatorDecision(value: unknown): OperatorDecisionRecord;
23
+ export declare function parseDecisionMutation(value: unknown): DecisionMutation;
24
+ export declare function operatorDecisionBinding(partition: string, runId: string, input: {
25
+ key: string;
26
+ client: string;
27
+ request: unknown;
28
+ } | undefined): DecisionBinding | undefined;
39
29
  //# sourceMappingURL=operator-decisions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"operator-decisions.d.ts","sourceRoot":"","sources":["../src/operator-decisions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,aAAa,GAAG,sBAAsB,CAAC;IAC/C,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,sBAAsB,CAAC;IAC/B,MAAM,EAAE,OAAO,CAAC;CACjB;AAeD,qFAAqF;AACrF,qBAAa,qBAAqB;IAIpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6C;IACnE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA+D;IAErF,YAA6B,OAAO,EAAE,cAAc,EAMnD;IAED,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI,CAGhD;IAED,iBAAiB,CACf,KAAK,EAAE,MAAM,EACb,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,GAC7D,sBAAsB,GAAG,IAAI,CAS/B;IAED,MAAM,CACJ,KAAK,EAAE,sBAAsB,EAC7B,WAAW,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,GAC9D,wBAAwB,CAW1B;IAED,kBAAkB,IAAI,IAAI,CAMzB;IAED,OAAO,CAAC,KAAK;CAWd;AAED,wBAAgB,0BAA0B;IAEtC,IAAI;IACJ,MAAM,YAAY,cAAc;IAChC,QAAQ,UAAU,qBAAqB;EAE1C"}
1
+ {"version":3,"file":"operator-decisions.d.ts","sourceRoot":"","sources":["../src/operator-decisions.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,aAAa,GAAG,sBAAsB,CAAC;IAC/C,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,sBAAsB,CAAC;IAC/B,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,sBAAsB,CAAC;IACjC,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,sBAAsB,CAmB5E;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAuBtE;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,GACnE,eAAe,GAAG,SAAS,CAkB7B"}
@@ -1,78 +1,5 @@
1
1
  import { hashJson } from "@claudexor/util";
2
- const RECORDED = "operator.decision_recorded";
3
- /** Journal authority for the human decision that may unblock one exact run patch. */
4
- export class OperatorDecisionStore {
5
- journal;
6
- byRun = new Map();
7
- byKey = new Map();
8
- constructor(journal) {
9
- this.journal = journal;
10
- for (const entry of journal.records(0, [RECORDED])) {
11
- if (entry.type !== RECORDED)
12
- continue;
13
- const mutation = parseMutation(entry.payload);
14
- this.apply(mutation);
15
- }
16
- }
17
- get(runId) {
18
- const decision = this.byRun.get(runId);
19
- return decision ? structuredClone(decision) : null;
20
- }
21
- findByIdempotency(runId, idempotency) {
22
- const binding = decisionBinding(this.journal.options.partition, runId, idempotency);
23
- if (!binding)
24
- return null;
25
- const prior = this.byKey.get(binding.keyDigest);
26
- if (!prior)
27
- return null;
28
- if (prior.requestDigest !== binding.requestDigest)
29
- throw conflict();
30
- const existing = this.byRun.get(prior.runId);
31
- if (!existing)
32
- throw new Error("operator decision idempotency index is dangling");
33
- return structuredClone(existing);
34
- }
35
- record(input, idempotency) {
36
- const decision = parseDecision(input);
37
- const binding = decisionBinding(this.journal.options.partition, decision.runId, idempotency);
38
- if (binding) {
39
- const existing = this.findByIdempotency(decision.runId, idempotency);
40
- if (existing)
41
- return { record: existing, reused: true };
42
- }
43
- const mutation = { decision, ...(binding ? { idempotency: binding } : {}) };
44
- this.journal.append(RECORDED, mutation);
45
- this.apply(mutation);
46
- return { record: structuredClone(decision), reused: false };
47
- }
48
- validateProjection() {
49
- for (const decision of this.byRun.values())
50
- parseDecision(decision);
51
- for (const binding of this.byKey.values()) {
52
- if (!this.byRun.has(binding.runId))
53
- throw new Error("operator decision idempotency index is dangling");
54
- }
55
- }
56
- apply(mutation) {
57
- this.byRun.set(mutation.decision.runId, structuredClone(mutation.decision));
58
- if (mutation.idempotency) {
59
- const { keyDigest, requestDigest, runId } = mutation.idempotency;
60
- const prior = this.byKey.get(keyDigest);
61
- if (prior && (prior.requestDigest !== requestDigest || prior.runId !== runId)) {
62
- throw new Error("conflicting operator decision idempotency history");
63
- }
64
- this.byKey.set(keyDigest, { requestDigest, runId });
65
- }
66
- }
67
- }
68
- export function operatorDecisionProjection() {
69
- return {
70
- name: "operator-decisions",
71
- create: (journal) => new OperatorDecisionStore(journal),
72
- validate: (store) => store.validateProjection(),
73
- };
74
- }
75
- function parseDecision(value) {
2
+ export function parseOperatorDecision(value) {
76
3
  if (!value || typeof value !== "object" || Array.isArray(value)) {
77
4
  throw new Error("invalid operator decision record");
78
5
  }
@@ -90,14 +17,14 @@ function parseDecision(value) {
90
17
  }
91
18
  return structuredClone(input);
92
19
  }
93
- function parseMutation(value) {
20
+ export function parseDecisionMutation(value) {
94
21
  if (!value || typeof value !== "object" || Array.isArray(value)) {
95
22
  throw new Error("invalid operator decision mutation");
96
23
  }
97
24
  const input = value;
98
25
  // Accept the pre-idempotency v2 record shape while the release candidate is local-only.
99
26
  if (!("decision" in input))
100
- return { decision: parseDecision(value) };
27
+ return { decision: parseOperatorDecision(value) };
101
28
  const idempotency = input["idempotency"];
102
29
  if (idempotency !== undefined &&
103
30
  (!idempotency ||
@@ -109,11 +36,11 @@ function parseMutation(value) {
109
36
  throw new Error("invalid operator decision idempotency binding");
110
37
  }
111
38
  return {
112
- decision: parseDecision(input["decision"]),
39
+ decision: parseOperatorDecision(input["decision"]),
113
40
  ...(idempotency ? { idempotency: { ...idempotency } } : {}),
114
41
  };
115
42
  }
116
- function decisionBinding(partition, runId, input) {
43
+ export function operatorDecisionBinding(partition, runId, input) {
117
44
  if (!input)
118
45
  return undefined;
119
46
  if (!input.key || input.key.length > 256) {
@@ -133,12 +60,6 @@ function decisionBinding(partition, runId, input) {
133
60
  runId,
134
61
  };
135
62
  }
136
- function conflict() {
137
- return Object.assign(new Error("idempotency key was already used with a different request"), {
138
- code: "idempotency_conflict",
139
- status: 409,
140
- });
141
- }
142
63
  function stringArray(value) {
143
64
  return Array.isArray(value) && value.every((item) => typeof item === "string");
144
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"operator-decisions.js","sourceRoot":"","sources":["../src/operator-decisions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operator-decisions.js","sourceRoot":"","sources":["../src/operator-decisions.ts"],"names":[],"mappings":"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"}
@@ -1,43 +1,44 @@
1
- import type { DurableJournal } from "@claudexor/journal";
2
- import { type Project } from "@claudexor/schema";
3
- /** Global-journal authority for the deliberately empty v2 project registry. */
4
- export declare class ProjectStore {
5
- private readonly journal;
6
- private readonly projects;
7
- private readonly projectIdByRoot;
8
- private readonly registrationByKey;
9
- constructor(journal: DurableJournal);
10
- list(): Project[];
11
- get(id: string): Project | undefined;
12
- findByRoot(root: string): Project | undefined;
13
- /** F3 nested-project disclosure: every registered project whose
14
- * root overlaps `id`'s root — `inside` when `id` lives under it, `contains`
15
- * when it lives under `id`. Pure projection over current roots (recomputed as
16
- * the registry changes), never a refusal — legit monorepos nest. */
17
- nestingFor(id: string): Array<{
18
- relation: "inside" | "contains";
19
- root: string;
20
- projectId: string;
21
- }>;
22
- register(input: {
23
- root: string;
24
- idempotencyKey: string;
25
- clientId: string;
26
- }): Project;
27
- relink(id: string, rootInput: string): Project;
28
- /** F2 ghost-cleanup: retire a registered project — used by the
29
- * daemon sweep to unregister ghosts whose root is inside the Claudexor
30
- * runtime tree or permanently gone. Removes the registry entry, its root
31
- * index, and any idempotency bindings pointing at it, in ONE locked write. */
32
- unregister(id: string): Project | undefined;
33
- validateProjection(): void;
34
- private replay;
35
- private commit;
36
- private apply;
1
+ import { type Project, type ProjectNesting } from "@claudexor/schema";
2
+ interface RegistrationBinding {
3
+ keyDigest: string;
4
+ requestDigest: string;
5
+ projectId: string;
37
6
  }
38
- export declare function projectProjection(): {
39
- name: string;
40
- create: (journal: DurableJournal) => ProjectStore;
41
- validate: (store: ProjectStore) => void;
42
- };
7
+ export interface ProjectMutation {
8
+ project: Project;
9
+ registration?: RegistrationBinding;
10
+ }
11
+ /** A registration's answer: the project, and whether THIS registration created
12
+ * it. Derived from journal order on replay, so a key replay after a restart
13
+ * still repeats its original answer. */
14
+ export interface RegisterProject {
15
+ root: string;
16
+ idempotencyKey: string;
17
+ clientId: string;
18
+ }
19
+ export interface ProjectRegistration {
20
+ project: Project;
21
+ created: boolean;
22
+ }
23
+ export declare function canonicalRoot(input: string): string;
24
+ /** F2 ghost-project guard: a project root inside the Claudexor
25
+ * runtime tree (`~/.claudexor`, esp. the `projects/<digest>/workspaces/`
26
+ * envelope worktrees) is daemon runtime state, never a user project — refuse it at
27
+ * registration/relink with a typed error so an envelope cwd can never become a
28
+ * durable ghost whose root later vanishes. */
29
+ export declare function assertNotClaudexorOwned(root: string): void;
30
+ /**
31
+ * Every project's nesting relations in one pass. A root can only lie inside
32
+ * its own ancestors, so each root looks up just its ancestor chain in an index
33
+ * of resolved roots (the same normalization `relative` applies, case-folded
34
+ * where the platform's paths are) instead of testing every other project:
35
+ * O(projects × path depth) predicate tests plus sorting each project's relations
36
+ * (Σ Kᵢ log Kᵢ); only a deep chain of nested roots makes the OUTPUT itself quadratic.
37
+ * Each candidate pair is still decided by `pathStrictlyInside` (`inside`), and
38
+ * ties keep the iteration order, so the answer equals per-project `nestingFor`.
39
+ */
40
+ export declare function projectNesting(projects: readonly Project[], inside?: (child: string, parent: string) => boolean): Map<string, ProjectNesting[]>;
41
+ export declare function parseMutation(value: unknown): ProjectMutation;
42
+ export declare function validateKey(key: string): void;
43
+ export {};
43
44
  //# sourceMappingURL=projects.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../src/projects.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAA4C,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAkB3F,+EAA+E;AAC/E,qBAAa,YAAY;IAQX,OAAO,CAAC,QAAQ,CAAC,OAAO;IAPpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8B;IACvD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6B;IAC7D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAG9B;IAEJ,YAA6B,OAAO,EAAE,cAAc,EAEnD;IAED,IAAI,IAAI,OAAO,EAAE,CAEhB;IAED,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAEnC;IAED,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAG5C;IAED;;;wEAGoE;IACpE,UAAU,CACR,EAAE,EAAE,MAAM,GACT,KAAK,CAAC;QAAE,QAAQ,EAAE,QAAQ,GAAG,UAAU,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAa7E;IAED,QAAQ,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAmCnF;IAED,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAgB7C;IAED;;;kFAG8E;IAC9E,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAK1C;IAED,kBAAkB,IAAI,IAAI,CAUzB;IAED,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,KAAK;CA+Bd;AAED,wBAAgB,iBAAiB;IAE7B,IAAI;IACJ,MAAM,YAAY,cAAc;IAChC,QAAQ,UAAU,YAAY;EAEjC"}
1
+ {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../src/projects.ts"],"names":[],"mappings":"AAEA,OAAO,EAA4B,KAAK,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGhG,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACpC;AAED;;wCAEwC;AACxC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAanD;AAED;;;;8CAI8C;AAC9C,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAS1D;AASD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,MAAM,GAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAA4B,GACtE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CA6B/B;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAmB7D;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAO7C"}