@claudexor/cli 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 (281) hide show
  1. package/dist/account-management.d.ts +17 -0
  2. package/dist/account-management.d.ts.map +1 -0
  3. package/dist/account-management.js +35 -0
  4. package/dist/account-management.js.map +1 -0
  5. package/dist/account-reset-command.d.ts +3 -0
  6. package/dist/account-reset-command.d.ts.map +1 -0
  7. package/dist/account-reset-command.js +32 -0
  8. package/dist/account-reset-command.js.map +1 -0
  9. package/dist/account-reset-services.d.ts +341 -0
  10. package/dist/account-reset-services.d.ts.map +1 -0
  11. package/dist/account-reset-services.js +183 -0
  12. package/dist/account-reset-services.js.map +1 -0
  13. package/dist/account-resource-query.d.ts +18 -0
  14. package/dist/account-resource-query.d.ts.map +1 -0
  15. package/dist/account-resource-query.js +62 -0
  16. package/dist/account-resource-query.js.map +1 -0
  17. package/dist/accounts-services.d.ts +1 -0
  18. package/dist/accounts-services.d.ts.map +1 -1
  19. package/dist/accounts-services.js +4 -2
  20. package/dist/accounts-services.js.map +1 -1
  21. package/dist/claude-account-resources.d.ts +5 -0
  22. package/dist/claude-account-resources.d.ts.map +1 -0
  23. package/dist/claude-account-resources.js +134 -0
  24. package/dist/claude-account-resources.js.map +1 -0
  25. package/dist/claude-oauth-codec.d.ts +4 -0
  26. package/dist/claude-oauth-codec.d.ts.map +1 -0
  27. package/dist/claude-oauth-codec.js +71 -0
  28. package/dist/claude-oauth-codec.js.map +1 -0
  29. package/dist/claude-oauth-credential.d.ts +6 -0
  30. package/dist/claude-oauth-credential.d.ts.map +1 -1
  31. package/dist/claude-oauth-credential.js +18 -0
  32. package/dist/claude-oauth-credential.js.map +1 -1
  33. package/dist/claude-oauth-fetch.d.ts +1 -1
  34. package/dist/claude-oauth-fetch.d.ts.map +1 -1
  35. package/dist/claude-oauth-fetch.js +3 -2
  36. package/dist/claude-oauth-fetch.js.map +1 -1
  37. package/dist/claude-oauth-usage.d.ts +5 -4
  38. package/dist/claude-oauth-usage.d.ts.map +1 -1
  39. package/dist/claude-oauth-usage.js +47 -75
  40. package/dist/claude-oauth-usage.js.map +1 -1
  41. package/dist/claude-resource-source.d.ts +18 -0
  42. package/dist/claude-resource-source.d.ts.map +1 -0
  43. package/dist/claude-resource-source.js +108 -0
  44. package/dist/claude-resource-source.js.map +1 -0
  45. package/dist/claude-resource-transport.d.ts +12 -0
  46. package/dist/claude-resource-transport.d.ts.map +1 -0
  47. package/dist/claude-resource-transport.js +47 -0
  48. package/dist/claude-resource-transport.js.map +1 -0
  49. package/dist/claude-statusline.d.ts +2 -4
  50. package/dist/claude-statusline.d.ts.map +1 -1
  51. package/dist/claude-statusline.js +6 -5
  52. package/dist/claude-statusline.js.map +1 -1
  53. package/dist/claudexord-entry.d.ts +7 -2
  54. package/dist/claudexord-entry.d.ts.map +1 -1
  55. package/dist/claudexord-entry.js +10 -3
  56. package/dist/claudexord-entry.js.map +1 -1
  57. package/dist/claudexord.d.ts +0 -1
  58. package/dist/claudexord.d.ts.map +1 -1
  59. package/dist/claudexord.js +308 -239
  60. package/dist/claudexord.js.map +1 -1
  61. package/dist/cli-error.js +3 -3
  62. package/dist/cli-error.js.map +1 -1
  63. package/dist/cli.js +7 -49
  64. package/dist/cli.js.map +1 -1
  65. package/dist/codex-quota-source.d.ts +7 -2
  66. package/dist/codex-quota-source.d.ts.map +1 -1
  67. package/dist/codex-quota-source.js +74 -14
  68. package/dist/codex-quota-source.js.map +1 -1
  69. package/dist/command-flags.d.ts.map +1 -1
  70. package/dist/command-flags.js +6 -0
  71. package/dist/command-flags.js.map +1 -1
  72. package/dist/command-registry.js +1 -1
  73. package/dist/command-registry.js.map +1 -1
  74. package/dist/continue-from-run.d.ts +7 -8
  75. package/dist/continue-from-run.d.ts.map +1 -1
  76. package/dist/continue-from-run.js +3 -4
  77. package/dist/continue-from-run.js.map +1 -1
  78. package/dist/control-api-address.d.ts +6 -0
  79. package/dist/control-api-address.d.ts.map +1 -0
  80. package/dist/control-api-address.js +53 -0
  81. package/dist/control-api-address.js.map +1 -0
  82. package/dist/control-services.d.ts +400 -230
  83. package/dist/control-services.d.ts.map +1 -1
  84. package/dist/control-services.js +11 -32
  85. package/dist/control-services.js.map +1 -1
  86. package/dist/daemon-admission-runtime.d.ts +0 -60
  87. package/dist/daemon-admission-runtime.d.ts.map +1 -1
  88. package/dist/daemon-admission-runtime.js +3 -168
  89. package/dist/daemon-admission-runtime.js.map +1 -1
  90. package/dist/daemon-agent-runner.d.ts +6 -3
  91. package/dist/daemon-agent-runner.d.ts.map +1 -1
  92. package/dist/daemon-agent-runner.js +2 -1
  93. package/dist/daemon-agent-runner.js.map +1 -1
  94. package/dist/daemon-lifecycle.d.ts +10 -3
  95. package/dist/daemon-lifecycle.d.ts.map +1 -1
  96. package/dist/daemon-lifecycle.js +16 -7
  97. package/dist/daemon-lifecycle.js.map +1 -1
  98. package/dist/daemon-owner.d.ts +7 -0
  99. package/dist/daemon-owner.d.ts.map +1 -0
  100. package/dist/daemon-owner.js +39 -0
  101. package/dist/daemon-owner.js.map +1 -0
  102. package/dist/daemon-run.d.ts +8 -1
  103. package/dist/daemon-run.d.ts.map +1 -1
  104. package/dist/daemon-run.js +31 -3
  105. package/dist/daemon-run.js.map +1 -1
  106. package/dist/daemon-runtime-shutdown.d.ts +1 -1
  107. package/dist/daemon-runtime-shutdown.d.ts.map +1 -1
  108. package/dist/daemon-runtime-shutdown.js +2 -2
  109. package/dist/daemon-runtime-shutdown.js.map +1 -1
  110. package/dist/daemon-startup.d.ts +5 -42
  111. package/dist/daemon-startup.d.ts.map +1 -1
  112. package/dist/daemon-startup.js +7 -85
  113. package/dist/daemon-startup.js.map +1 -1
  114. package/dist/daemon-status-report.d.ts +4 -0
  115. package/dist/daemon-status-report.d.ts.map +1 -0
  116. package/dist/daemon-status-report.js +39 -0
  117. package/dist/daemon-status-report.js.map +1 -0
  118. package/dist/engine-skew.d.ts +1 -0
  119. package/dist/engine-skew.d.ts.map +1 -1
  120. package/dist/engine-skew.js +6 -2
  121. package/dist/engine-skew.js.map +1 -1
  122. package/dist/harness-maintenance-service.d.ts +9 -222
  123. package/dist/harness-maintenance-service.d.ts.map +1 -1
  124. package/dist/harness-maintenance-service.js +7 -37
  125. package/dist/harness-maintenance-service.js.map +1 -1
  126. package/dist/live.d.ts +2 -5
  127. package/dist/live.d.ts.map +1 -1
  128. package/dist/live.js +2 -44
  129. package/dist/live.js.map +1 -1
  130. package/dist/mcp-catalog-query.d.ts +2 -1
  131. package/dist/mcp-catalog-query.d.ts.map +1 -1
  132. package/dist/mcp-catalog-query.js +6 -5
  133. package/dist/mcp-catalog-query.js.map +1 -1
  134. package/dist/mcp-daemon-unavailable.d.ts.map +1 -1
  135. package/dist/mcp-daemon-unavailable.js +4 -3
  136. package/dist/mcp-daemon-unavailable.js.map +1 -1
  137. package/dist/mcp-journal-recovery.d.ts.map +1 -1
  138. package/dist/mcp-journal-recovery.js +4 -4
  139. package/dist/mcp-journal-recovery.js.map +1 -1
  140. package/dist/mcp-runner.d.ts +1 -1
  141. package/dist/mcp-runner.d.ts.map +1 -1
  142. package/dist/mcp-runner.js +11 -4
  143. package/dist/mcp-runner.js.map +1 -1
  144. package/dist/mcp-thread-query.d.ts +1 -1
  145. package/dist/mcp-thread-query.d.ts.map +1 -1
  146. package/dist/mcp-thread-query.js +2 -2
  147. package/dist/mcp-thread-query.js.map +1 -1
  148. package/dist/model-operation-control.d.ts +375 -0
  149. package/dist/model-operation-control.d.ts.map +1 -0
  150. package/dist/model-operation-control.js +16 -0
  151. package/dist/model-operation-control.js.map +1 -0
  152. package/dist/model-services.d.ts +302 -91
  153. package/dist/model-services.d.ts.map +1 -1
  154. package/dist/model-services.js +5 -7
  155. package/dist/model-services.js.map +1 -1
  156. package/dist/ops-command-specs.d.ts.map +1 -1
  157. package/dist/ops-command-specs.js +11 -2
  158. package/dist/ops-command-specs.js.map +1 -1
  159. package/dist/ops-commands.d.ts +1 -8
  160. package/dist/ops-commands.d.ts.map +1 -1
  161. package/dist/ops-commands.js +13 -16
  162. package/dist/ops-commands.js.map +1 -1
  163. package/dist/orphan-reaper.d.ts +18 -0
  164. package/dist/orphan-reaper.d.ts.map +1 -1
  165. package/dist/orphan-reaper.js +50 -0
  166. package/dist/orphan-reaper.js.map +1 -1
  167. package/dist/plugin-cli.d.ts +3 -0
  168. package/dist/plugin-cli.d.ts.map +1 -0
  169. package/dist/plugin-cli.js +57 -0
  170. package/dist/plugin-cli.js.map +1 -0
  171. package/dist/plugin-mcp.d.ts +3 -0
  172. package/dist/plugin-mcp.d.ts.map +1 -0
  173. package/dist/plugin-mcp.js +116 -0
  174. package/dist/plugin-mcp.js.map +1 -0
  175. package/dist/plugin-runtime.d.ts +24 -0
  176. package/dist/plugin-runtime.d.ts.map +1 -0
  177. package/dist/plugin-runtime.js +113 -0
  178. package/dist/plugin-runtime.js.map +1 -0
  179. package/dist/plugins.d.ts +2 -0
  180. package/dist/plugins.d.ts.map +1 -1
  181. package/dist/plugins.js +92 -184
  182. package/dist/plugins.js.map +1 -1
  183. package/dist/project-command.d.ts +4 -1
  184. package/dist/project-command.d.ts.map +1 -1
  185. package/dist/project-command.js +14 -5
  186. package/dist/project-command.js.map +1 -1
  187. package/dist/quota-command.d.ts.map +1 -1
  188. package/dist/quota-command.js +38 -2
  189. package/dist/quota-command.js.map +1 -1
  190. package/dist/quota-refreshers.d.ts +3 -1
  191. package/dist/quota-refreshers.d.ts.map +1 -1
  192. package/dist/quota-refreshers.js +6 -2
  193. package/dist/quota-refreshers.js.map +1 -1
  194. package/dist/quota-services.d.ts +236 -2
  195. package/dist/quota-services.d.ts.map +1 -1
  196. package/dist/quota-services.js +84 -4
  197. package/dist/quota-services.js.map +1 -1
  198. package/dist/recovery-control-services.d.ts +99 -0
  199. package/dist/recovery-control-services.d.ts.map +1 -0
  200. package/dist/recovery-control-services.js +32 -0
  201. package/dist/recovery-control-services.js.map +1 -0
  202. package/dist/remote-filesystem.d.ts +3 -3
  203. package/dist/remote-filesystem.d.ts.map +1 -1
  204. package/dist/remote-filesystem.js.map +1 -1
  205. package/dist/request-preflight.d.ts +2 -2
  206. package/dist/request-preflight.d.ts.map +1 -1
  207. package/dist/request-preflight.js.map +1 -1
  208. package/dist/retention-service.d.ts +3 -3
  209. package/dist/retention-service.d.ts.map +1 -1
  210. package/dist/settings-command.d.ts.map +1 -1
  211. package/dist/settings-command.js +7 -2
  212. package/dist/settings-command.js.map +1 -1
  213. package/dist/settings-service.d.ts +66 -6
  214. package/dist/settings-service.d.ts.map +1 -1
  215. package/dist/settings-service.js +1 -1
  216. package/dist/settings-service.js.map +1 -1
  217. package/dist/setup-client-pty.js +1 -1
  218. package/dist/setup-client-pty.js.map +1 -1
  219. package/dist/setup-credential-window.d.ts +4 -4
  220. package/dist/setup-credential-window.d.ts.map +1 -1
  221. package/dist/setup-credential-window.js +1 -1
  222. package/dist/setup-credential-window.js.map +1 -1
  223. package/dist/setup-device-code-disclosure.js +1 -1
  224. package/dist/setup-device-code-disclosure.js.map +1 -1
  225. package/dist/setup-job-persistence.d.ts +30 -0
  226. package/dist/setup-job-persistence.d.ts.map +1 -0
  227. package/dist/setup-job-persistence.js +3 -0
  228. package/dist/setup-job-persistence.js.map +1 -0
  229. package/dist/{setup-job-store.d.ts → setup-job-projection.d.ts} +9 -17
  230. package/dist/setup-job-projection.d.ts.map +1 -0
  231. package/dist/{setup-job-store.js → setup-job-projection.js} +29 -68
  232. package/dist/setup-job-projection.js.map +1 -0
  233. package/dist/setup-job-support.js +1 -1
  234. package/dist/setup-job-support.js.map +1 -1
  235. package/dist/setup-jobs.d.ts +3 -4
  236. package/dist/setup-jobs.d.ts.map +1 -1
  237. package/dist/setup-jobs.js +3 -3
  238. package/dist/setup-jobs.js.map +1 -1
  239. package/dist/setup-lifecycle-binding.js +1 -1
  240. package/dist/setup-lifecycle-binding.js.map +1 -1
  241. package/dist/setup-login-completion.js +1 -1
  242. package/dist/setup-login-completion.js.map +1 -1
  243. package/dist/sql-daemon-queries.d.ts +24 -0
  244. package/dist/sql-daemon-queries.d.ts.map +1 -0
  245. package/dist/sql-daemon-queries.js +41 -0
  246. package/dist/sql-daemon-queries.js.map +1 -0
  247. package/dist/sql-daemon-runtime.d.ts +1415 -0
  248. package/dist/sql-daemon-runtime.d.ts.map +1 -0
  249. package/dist/sql-daemon-runtime.js +94 -0
  250. package/dist/sql-daemon-runtime.js.map +1 -0
  251. package/dist/sql-daemon-storage.d.ts +40 -0
  252. package/dist/sql-daemon-storage.d.ts.map +1 -0
  253. package/dist/sql-daemon-storage.js +203 -0
  254. package/dist/sql-daemon-storage.js.map +1 -0
  255. package/dist/sql-import-publication.d.ts +19 -0
  256. package/dist/sql-import-publication.d.ts.map +1 -0
  257. package/dist/sql-import-publication.js +54 -0
  258. package/dist/sql-import-publication.js.map +1 -0
  259. package/dist/sql-setup-lifecycle.d.ts +15 -0
  260. package/dist/sql-setup-lifecycle.d.ts.map +1 -0
  261. package/dist/sql-setup-lifecycle.js +28 -0
  262. package/dist/sql-setup-lifecycle.js.map +1 -0
  263. package/dist/sql-setup-store.d.ts +7 -0
  264. package/dist/sql-setup-store.d.ts.map +1 -0
  265. package/dist/sql-setup-store.js +102 -0
  266. package/dist/sql-setup-store.js.map +1 -0
  267. package/dist/sql-startup-storage.d.ts +15 -0
  268. package/dist/sql-startup-storage.d.ts.map +1 -0
  269. package/dist/sql-startup-storage.js +75 -0
  270. package/dist/sql-startup-storage.js.map +1 -0
  271. package/dist/thread-delivery.d.ts +2 -2
  272. package/dist/thread-purge.d.ts +8 -2
  273. package/dist/thread-purge.d.ts.map +1 -1
  274. package/dist/thread-purge.js +37 -8
  275. package/dist/thread-purge.js.map +1 -1
  276. package/dist/thread-turn-services.d.ts +2 -2
  277. package/dist/thread-turn-services.d.ts.map +1 -1
  278. package/dist/thread-turn-services.js.map +1 -1
  279. package/package.json +25 -26
  280. package/dist/setup-job-store.d.ts.map +0 -1
  281. package/dist/setup-job-store.js.map +0 -1
@@ -0,0 +1,1415 @@
1
+ import { DaemonLocalClient, DaemonServer, RunEventBus, type DaemonOptions, type JobRecord, type createSqlDaemonServices } from "@claudexor/daemon";
2
+ import type { AuthReadinessService } from "@claudexor/gateway";
3
+ import { type JobAdmission, type RuntimeConcurrencyCaps, type TurnEnqueueProblem } from "@claudexor/schema";
4
+ import type { DelegationBudgetAuthority } from "@claudexor/orchestrator";
5
+ import { createDaemonAgentRunner } from "./daemon-agent-runner.js";
6
+ import { createModelServices } from "./model-services.js";
7
+ type SqlServices = ReturnType<typeof createSqlDaemonServices>;
8
+ type ModelOptions = Pick<Parameters<typeof createModelServices>[0], "sources" | "registry" | "config" | "unusable" | "substitutions" | "migrationGate">;
9
+ /** Compose the existing queue and runners with one SQL graph. This factory
10
+ * neither opens storage nor starts a listener; the startup owner admits it
11
+ * only after import and recovery have finished. */
12
+ export declare function createSqlDaemonRuntime(graph: SqlServices, options: {
13
+ server: Omit<DaemonOptions, "commands" | "runner" | "delegationAuthority" | "onCommandTerminal" | "onRunTerminal" | "onTurnEnqueueFailed">;
14
+ authReadiness: () => Pick<AuthReadinessService, "invalidate">;
15
+ models?: ModelOptions;
16
+ bus?: RunEventBus;
17
+ agent?: typeof createDaemonAgentRunner;
18
+ warn?: (message: string) => void;
19
+ }): {
20
+ server: DaemonServer;
21
+ client: DaemonLocalClient;
22
+ bus: RunEventBus;
23
+ terminalFilesPending: (id: string) => boolean;
24
+ stop(): Promise<void>;
25
+ models: {
26
+ operations: import("@claudexor/daemon").ModelOperations;
27
+ routes: {
28
+ createModelOperation: (...args: Parameters<import("@claudexor/daemon").ModelOperations["create"]>) => Promise<{
29
+ id: string;
30
+ state: "cancelled" | "failed" | "interrupted" | "queued" | "running" | "succeeded";
31
+ admission?: {
32
+ class: "model" | "non_model";
33
+ phase: "active" | "queued";
34
+ blockers: ({
35
+ kind: "global_limit";
36
+ limit: number;
37
+ } | {
38
+ kind: "class_limit";
39
+ limit: number;
40
+ } | {
41
+ kind: "thread_busy";
42
+ } | {
43
+ kind: "stopping";
44
+ })[];
45
+ } | null | undefined;
46
+ createdAt: string;
47
+ startedAt: string | null;
48
+ finishedAt: string | null;
49
+ dispatch: {
50
+ state: "not_started" | "response_received" | "started" | "unknown";
51
+ startedAt: string | null;
52
+ route: {
53
+ source: string;
54
+ credentialProfileId: string;
55
+ accountFingerprint: string | null;
56
+ model: string | null;
57
+ } | null;
58
+ };
59
+ response: {
60
+ state: "absent";
61
+ } | {
62
+ state: "ready";
63
+ ref: {
64
+ resourceId: string;
65
+ sha256: string;
66
+ sizeBytes: number;
67
+ };
68
+ readyAt: string;
69
+ expiresAt: string;
70
+ } | {
71
+ state: "acknowledged";
72
+ ref: {
73
+ resourceId: string;
74
+ sha256: string;
75
+ sizeBytes: number;
76
+ };
77
+ releasedAt: string;
78
+ } | {
79
+ state: "expired";
80
+ ref: {
81
+ resourceId: string;
82
+ sha256: string;
83
+ sizeBytes: number;
84
+ };
85
+ releasedAt: string;
86
+ };
87
+ usage: {
88
+ input_tokens: number | null;
89
+ output_tokens: number | null;
90
+ cached_input_tokens: number | null;
91
+ cache_write_tokens: number | null;
92
+ reasoning_tokens: number | null;
93
+ };
94
+ cost: {
95
+ processing?: {
96
+ nativeMode: string | null;
97
+ kind: "cash" | "included" | "paid_credits" | "unknown" | "valuation";
98
+ source: string;
99
+ } | undefined;
100
+ knowledge: "estimated" | "exact" | "unknown";
101
+ billing: "metered" | "proven_zero" | "subscription_entitlement" | "unknown";
102
+ source: string;
103
+ provenance: string[];
104
+ estimatedUsd: number | null;
105
+ cashUsd: number | null;
106
+ valuationUsd: number | null;
107
+ valuationKnowledge: "estimated" | "exact" | "unknown";
108
+ } | null;
109
+ problem: {
110
+ code: string;
111
+ message: string;
112
+ retryable: boolean;
113
+ fieldErrors: Record<string, string[]>;
114
+ requiredActions: string[];
115
+ evidenceRefs: string[];
116
+ context: Record<string, unknown>;
117
+ } | null;
118
+ }>;
119
+ getModelOperation: (id: string) => Promise<{
120
+ id: string;
121
+ state: "cancelled" | "failed" | "interrupted" | "queued" | "running" | "succeeded";
122
+ admission?: {
123
+ class: "model" | "non_model";
124
+ phase: "active" | "queued";
125
+ blockers: ({
126
+ kind: "global_limit";
127
+ limit: number;
128
+ } | {
129
+ kind: "class_limit";
130
+ limit: number;
131
+ } | {
132
+ kind: "thread_busy";
133
+ } | {
134
+ kind: "stopping";
135
+ })[];
136
+ } | null | undefined;
137
+ createdAt: string;
138
+ startedAt: string | null;
139
+ finishedAt: string | null;
140
+ dispatch: {
141
+ state: "not_started" | "response_received" | "started" | "unknown";
142
+ startedAt: string | null;
143
+ route: {
144
+ source: string;
145
+ credentialProfileId: string;
146
+ accountFingerprint: string | null;
147
+ model: string | null;
148
+ } | null;
149
+ };
150
+ response: {
151
+ state: "absent";
152
+ } | {
153
+ state: "ready";
154
+ ref: {
155
+ resourceId: string;
156
+ sha256: string;
157
+ sizeBytes: number;
158
+ };
159
+ readyAt: string;
160
+ expiresAt: string;
161
+ } | {
162
+ state: "acknowledged";
163
+ ref: {
164
+ resourceId: string;
165
+ sha256: string;
166
+ sizeBytes: number;
167
+ };
168
+ releasedAt: string;
169
+ } | {
170
+ state: "expired";
171
+ ref: {
172
+ resourceId: string;
173
+ sha256: string;
174
+ sizeBytes: number;
175
+ };
176
+ releasedAt: string;
177
+ };
178
+ usage: {
179
+ input_tokens: number | null;
180
+ output_tokens: number | null;
181
+ cached_input_tokens: number | null;
182
+ cache_write_tokens: number | null;
183
+ reasoning_tokens: number | null;
184
+ };
185
+ cost: {
186
+ processing?: {
187
+ nativeMode: string | null;
188
+ kind: "cash" | "included" | "paid_credits" | "unknown" | "valuation";
189
+ source: string;
190
+ } | undefined;
191
+ knowledge: "estimated" | "exact" | "unknown";
192
+ billing: "metered" | "proven_zero" | "subscription_entitlement" | "unknown";
193
+ source: string;
194
+ provenance: string[];
195
+ estimatedUsd: number | null;
196
+ cashUsd: number | null;
197
+ valuationUsd: number | null;
198
+ valuationKnowledge: "estimated" | "exact" | "unknown";
199
+ } | null;
200
+ problem: {
201
+ code: string;
202
+ message: string;
203
+ retryable: boolean;
204
+ fieldErrors: Record<string, string[]>;
205
+ requiredActions: string[];
206
+ evidenceRefs: string[];
207
+ context: Record<string, unknown>;
208
+ } | null;
209
+ }>;
210
+ readModelResult: (id: string) => Promise<{
211
+ bytes: Buffer;
212
+ sha256: string;
213
+ }>;
214
+ acknowledgeModelResult: (id: string, sha256: string) => Promise<{
215
+ id: string;
216
+ state: "cancelled" | "failed" | "interrupted" | "queued" | "running" | "succeeded";
217
+ admission?: {
218
+ class: "model" | "non_model";
219
+ phase: "active" | "queued";
220
+ blockers: ({
221
+ kind: "global_limit";
222
+ limit: number;
223
+ } | {
224
+ kind: "class_limit";
225
+ limit: number;
226
+ } | {
227
+ kind: "thread_busy";
228
+ } | {
229
+ kind: "stopping";
230
+ })[];
231
+ } | null | undefined;
232
+ createdAt: string;
233
+ startedAt: string | null;
234
+ finishedAt: string | null;
235
+ dispatch: {
236
+ state: "not_started" | "response_received" | "started" | "unknown";
237
+ startedAt: string | null;
238
+ route: {
239
+ source: string;
240
+ credentialProfileId: string;
241
+ accountFingerprint: string | null;
242
+ model: string | null;
243
+ } | null;
244
+ };
245
+ response: {
246
+ state: "absent";
247
+ } | {
248
+ state: "ready";
249
+ ref: {
250
+ resourceId: string;
251
+ sha256: string;
252
+ sizeBytes: number;
253
+ };
254
+ readyAt: string;
255
+ expiresAt: string;
256
+ } | {
257
+ state: "acknowledged";
258
+ ref: {
259
+ resourceId: string;
260
+ sha256: string;
261
+ sizeBytes: number;
262
+ };
263
+ releasedAt: string;
264
+ } | {
265
+ state: "expired";
266
+ ref: {
267
+ resourceId: string;
268
+ sha256: string;
269
+ sizeBytes: number;
270
+ };
271
+ releasedAt: string;
272
+ };
273
+ usage: {
274
+ input_tokens: number | null;
275
+ output_tokens: number | null;
276
+ cached_input_tokens: number | null;
277
+ cache_write_tokens: number | null;
278
+ reasoning_tokens: number | null;
279
+ };
280
+ cost: {
281
+ processing?: {
282
+ nativeMode: string | null;
283
+ kind: "cash" | "included" | "paid_credits" | "unknown" | "valuation";
284
+ source: string;
285
+ } | undefined;
286
+ knowledge: "estimated" | "exact" | "unknown";
287
+ billing: "metered" | "proven_zero" | "subscription_entitlement" | "unknown";
288
+ source: string;
289
+ provenance: string[];
290
+ estimatedUsd: number | null;
291
+ cashUsd: number | null;
292
+ valuationUsd: number | null;
293
+ valuationKnowledge: "estimated" | "exact" | "unknown";
294
+ } | null;
295
+ problem: {
296
+ code: string;
297
+ message: string;
298
+ retryable: boolean;
299
+ fieldErrors: Record<string, string[]>;
300
+ requiredActions: string[];
301
+ evidenceRefs: string[];
302
+ context: Record<string, unknown>;
303
+ } | null;
304
+ }>;
305
+ cancelModelOperation: (...args: Parameters<import("@claudexor/daemon").ModelOperations["cancel"]>) => Promise<{
306
+ id: string;
307
+ state: "cancelled" | "failed" | "interrupted" | "queued" | "running" | "succeeded";
308
+ admission?: {
309
+ class: "model" | "non_model";
310
+ phase: "active" | "queued";
311
+ blockers: ({
312
+ kind: "global_limit";
313
+ limit: number;
314
+ } | {
315
+ kind: "class_limit";
316
+ limit: number;
317
+ } | {
318
+ kind: "thread_busy";
319
+ } | {
320
+ kind: "stopping";
321
+ })[];
322
+ } | null | undefined;
323
+ createdAt: string;
324
+ startedAt: string | null;
325
+ finishedAt: string | null;
326
+ dispatch: {
327
+ state: "not_started" | "response_received" | "started" | "unknown";
328
+ startedAt: string | null;
329
+ route: {
330
+ source: string;
331
+ credentialProfileId: string;
332
+ accountFingerprint: string | null;
333
+ model: string | null;
334
+ } | null;
335
+ };
336
+ response: {
337
+ state: "absent";
338
+ } | {
339
+ state: "ready";
340
+ ref: {
341
+ resourceId: string;
342
+ sha256: string;
343
+ sizeBytes: number;
344
+ };
345
+ readyAt: string;
346
+ expiresAt: string;
347
+ } | {
348
+ state: "acknowledged";
349
+ ref: {
350
+ resourceId: string;
351
+ sha256: string;
352
+ sizeBytes: number;
353
+ };
354
+ releasedAt: string;
355
+ } | {
356
+ state: "expired";
357
+ ref: {
358
+ resourceId: string;
359
+ sha256: string;
360
+ sizeBytes: number;
361
+ };
362
+ releasedAt: string;
363
+ };
364
+ usage: {
365
+ input_tokens: number | null;
366
+ output_tokens: number | null;
367
+ cached_input_tokens: number | null;
368
+ cache_write_tokens: number | null;
369
+ reasoning_tokens: number | null;
370
+ };
371
+ cost: {
372
+ processing?: {
373
+ nativeMode: string | null;
374
+ kind: "cash" | "included" | "paid_credits" | "unknown" | "valuation";
375
+ source: string;
376
+ } | undefined;
377
+ knowledge: "estimated" | "exact" | "unknown";
378
+ billing: "metered" | "proven_zero" | "subscription_entitlement" | "unknown";
379
+ source: string;
380
+ provenance: string[];
381
+ estimatedUsd: number | null;
382
+ cashUsd: number | null;
383
+ valuationUsd: number | null;
384
+ valuationKnowledge: "estimated" | "exact" | "unknown";
385
+ } | null;
386
+ problem: {
387
+ code: string;
388
+ message: string;
389
+ retryable: boolean;
390
+ fieldErrors: Record<string, string[]>;
391
+ requiredActions: string[];
392
+ evidenceRefs: string[];
393
+ context: Record<string, unknown>;
394
+ } | null;
395
+ }>;
396
+ modelSources: (view?: "accounts") => Promise<{
397
+ sources: {
398
+ id: string;
399
+ label: string;
400
+ credentialHarness: string;
401
+ processingPreferences?: string[] | undefined;
402
+ accountCatalog?: boolean | undefined;
403
+ }[];
404
+ }>;
405
+ modelCatalog: (sourceId: string, credentialProfileId?: string, requestedModel?: string, includeAdmission?: boolean) => Promise<{
406
+ source: string;
407
+ credentialProfileId: string;
408
+ accountFingerprint: string | null;
409
+ observedAt: string;
410
+ provenance: string;
411
+ clientVersion: string | null;
412
+ clientVersionSource: "installed_cli" | "verified_transport" | null;
413
+ admission?: {
414
+ requestedModel: string;
415
+ inventoryAbsence: "advisory" | "authoritative";
416
+ } | undefined;
417
+ models: {
418
+ id: string;
419
+ label: string | null;
420
+ isDefault: boolean;
421
+ contextWindow: number | null;
422
+ maxContextWindow: number | null;
423
+ maxOutputTokens: number | null;
424
+ inputModalities: string[];
425
+ reasoningEfforts: string[];
426
+ reasoningEffortPreferenceOrder?: string[] | undefined;
427
+ reasoningEffortsVerified?: boolean | undefined;
428
+ defaultReasoningEffort: string | null;
429
+ supportedOptions: string[];
430
+ }[];
431
+ }>;
432
+ modelAccountCatalog: (sourceId: string, credentialProfileId?: string) => Promise<{
433
+ source: string;
434
+ accounts: {
435
+ credentialProfileId: string;
436
+ availability: "available" | "unavailable" | "unknown";
437
+ problem: {
438
+ code: string;
439
+ message: string;
440
+ retryable: boolean;
441
+ fieldErrors: Record<string, string[]>;
442
+ requiredActions: string[];
443
+ evidenceRefs: string[];
444
+ context: Record<string, unknown>;
445
+ } | null;
446
+ catalog: {
447
+ source: string;
448
+ credentialProfileId: string;
449
+ accountFingerprint: string | null;
450
+ observedAt: string;
451
+ provenance: string;
452
+ clientVersion: string | null;
453
+ clientVersionSource: "installed_cli" | "verified_transport" | null;
454
+ admission?: {
455
+ requestedModel: string;
456
+ inventoryAbsence: "advisory" | "authoritative";
457
+ } | undefined;
458
+ models: {
459
+ id: string;
460
+ label: string | null;
461
+ isDefault: boolean;
462
+ contextWindow: number | null;
463
+ maxContextWindow: number | null;
464
+ maxOutputTokens: number | null;
465
+ inputModalities: string[];
466
+ reasoningEfforts: string[];
467
+ reasoningEffortPreferenceOrder?: string[] | undefined;
468
+ reasoningEffortsVerified?: boolean | undefined;
469
+ defaultReasoningEffort: string | null;
470
+ supportedOptions: string[];
471
+ processing?: {
472
+ modes: ("economy" | "fast" | "standard")[] | null;
473
+ nativeModes: {
474
+ mode: "economy" | "fast" | "standard";
475
+ id: string;
476
+ }[];
477
+ defaultNativeMode: string | null;
478
+ eligible: boolean | null;
479
+ source: string;
480
+ observedAt: string | null;
481
+ } | undefined;
482
+ }[];
483
+ } | null;
484
+ }[];
485
+ partial: boolean;
486
+ }>;
487
+ };
488
+ withRetention: (run: import("./retention-service.js").RetentionRunner) => import("./retention-service.js").RetentionRunner;
489
+ close: () => void;
490
+ };
491
+ harnessMaintenance: {
492
+ owns: (params: unknown) => boolean;
493
+ execute: (raw: unknown, ctx: import("@claudexor/daemon").RunContext) => Promise<{
494
+ phase: "accepted" | "installing" | "preparing" | "settled";
495
+ mechanism: "managed_npm" | "vendor_script" | "vendor_updater" | null;
496
+ target: {
497
+ kind: "baseline" | "latest" | "previous" | "version";
498
+ version: string | null;
499
+ };
500
+ before: {
501
+ version: string | null;
502
+ binary: string | null;
503
+ selection: "managed" | "missing" | "override" | "path";
504
+ proved: boolean;
505
+ } | null;
506
+ after: {
507
+ version: string | null;
508
+ binary: string | null;
509
+ selected: boolean;
510
+ proved: boolean;
511
+ } | null;
512
+ mutation: "applied" | "none" | "unknown";
513
+ termination: "confirmed" | "not_applicable" | "unconfirmed";
514
+ limitations: string[];
515
+ progress: string[];
516
+ problem: {
517
+ code: string;
518
+ message: string;
519
+ retryable: boolean;
520
+ fieldErrors: Record<string, string[]>;
521
+ requiredActions: string[];
522
+ evidenceRefs: string[];
523
+ context: Record<string, unknown>;
524
+ } | null;
525
+ lifecycle: "cancelled" | "failed" | "succeeded";
526
+ }>;
527
+ routes: {
528
+ maintenanceInventory: (input?: {
529
+ harnessIds?: string[];
530
+ fresh?: boolean;
531
+ checkLatest?: boolean;
532
+ }) => Promise<{
533
+ observedAt: string;
534
+ harnesses: {
535
+ harness: string;
536
+ mechanism: "managed_npm" | "vendor_script" | "vendor_updater";
537
+ maintainable: boolean;
538
+ canCheckLatest: boolean;
539
+ targets: ("baseline" | "latest" | "previous" | "version")[];
540
+ remedy: string | null;
541
+ selection: {
542
+ kind: "managed" | "missing" | "override" | "path";
543
+ binary: string | null;
544
+ version: string | null;
545
+ overrideEnv: string | null;
546
+ };
547
+ installed: {
548
+ version: string | null;
549
+ binary: string | null;
550
+ proved: boolean;
551
+ };
552
+ releaseTested: {
553
+ version: string | null;
554
+ verification: "deterministic_only" | "release_verified" | null;
555
+ };
556
+ available: {
557
+ version: string;
558
+ observedAt: string;
559
+ } | null;
560
+ availableProblem: {
561
+ code: string;
562
+ message: string;
563
+ retryable: boolean;
564
+ fieldErrors: Record<string, string[]>;
565
+ requiredActions: string[];
566
+ evidenceRefs: string[];
567
+ context: Record<string, unknown>;
568
+ } | null;
569
+ previous: {
570
+ version: string;
571
+ operationId: string;
572
+ } | null;
573
+ operation: {
574
+ id: string;
575
+ state: string;
576
+ phase: string;
577
+ targetVersion: string | null;
578
+ finishedAt: string | null;
579
+ } | null;
580
+ observedAt: string;
581
+ }[];
582
+ }>;
583
+ createMaintenanceOperation: (body: unknown, idempotencyKey: string) => Promise<{
584
+ phase: "accepted" | "installing" | "preparing" | "settled";
585
+ mechanism: "managed_npm" | "vendor_script" | "vendor_updater" | null;
586
+ target: {
587
+ kind: "baseline" | "latest" | "previous" | "version";
588
+ version: string | null;
589
+ };
590
+ before: {
591
+ version: string | null;
592
+ binary: string | null;
593
+ selection: "managed" | "missing" | "override" | "path";
594
+ proved: boolean;
595
+ } | null;
596
+ after: {
597
+ version: string | null;
598
+ binary: string | null;
599
+ selected: boolean;
600
+ proved: boolean;
601
+ } | null;
602
+ mutation: "applied" | "none" | "unknown";
603
+ termination: "confirmed" | "not_applicable" | "unconfirmed";
604
+ limitations: string[];
605
+ progress: string[];
606
+ problem: {
607
+ code: string;
608
+ message: string;
609
+ retryable: boolean;
610
+ fieldErrors: Record<string, string[]>;
611
+ requiredActions: string[];
612
+ evidenceRefs: string[];
613
+ context: Record<string, unknown>;
614
+ } | null;
615
+ id: string;
616
+ harness: string;
617
+ state: "cancelled" | "failed" | "interrupted" | "queued" | "running" | "succeeded";
618
+ createdAt: string;
619
+ startedAt: string | null;
620
+ finishedAt: string | null;
621
+ }>;
622
+ getMaintenanceOperation: (id: string) => Promise<{
623
+ phase: "accepted" | "installing" | "preparing" | "settled";
624
+ mechanism: "managed_npm" | "vendor_script" | "vendor_updater" | null;
625
+ target: {
626
+ kind: "baseline" | "latest" | "previous" | "version";
627
+ version: string | null;
628
+ };
629
+ before: {
630
+ version: string | null;
631
+ binary: string | null;
632
+ selection: "managed" | "missing" | "override" | "path";
633
+ proved: boolean;
634
+ } | null;
635
+ after: {
636
+ version: string | null;
637
+ binary: string | null;
638
+ selected: boolean;
639
+ proved: boolean;
640
+ } | null;
641
+ mutation: "applied" | "none" | "unknown";
642
+ termination: "confirmed" | "not_applicable" | "unconfirmed";
643
+ limitations: string[];
644
+ progress: string[];
645
+ problem: {
646
+ code: string;
647
+ message: string;
648
+ retryable: boolean;
649
+ fieldErrors: Record<string, string[]>;
650
+ requiredActions: string[];
651
+ evidenceRefs: string[];
652
+ context: Record<string, unknown>;
653
+ } | null;
654
+ id: string;
655
+ harness: string;
656
+ state: "cancelled" | "failed" | "interrupted" | "queued" | "running" | "succeeded";
657
+ createdAt: string;
658
+ startedAt: string | null;
659
+ finishedAt: string | null;
660
+ }>;
661
+ cancelMaintenanceOperation: (id: string) => Promise<{
662
+ phase: "accepted" | "installing" | "preparing" | "settled";
663
+ mechanism: "managed_npm" | "vendor_script" | "vendor_updater" | null;
664
+ target: {
665
+ kind: "baseline" | "latest" | "previous" | "version";
666
+ version: string | null;
667
+ };
668
+ before: {
669
+ version: string | null;
670
+ binary: string | null;
671
+ selection: "managed" | "missing" | "override" | "path";
672
+ proved: boolean;
673
+ } | null;
674
+ after: {
675
+ version: string | null;
676
+ binary: string | null;
677
+ selected: boolean;
678
+ proved: boolean;
679
+ } | null;
680
+ mutation: "applied" | "none" | "unknown";
681
+ termination: "confirmed" | "not_applicable" | "unconfirmed";
682
+ limitations: string[];
683
+ progress: string[];
684
+ problem: {
685
+ code: string;
686
+ message: string;
687
+ retryable: boolean;
688
+ fieldErrors: Record<string, string[]>;
689
+ requiredActions: string[];
690
+ evidenceRefs: string[];
691
+ context: Record<string, unknown>;
692
+ } | null;
693
+ id: string;
694
+ harness: string;
695
+ state: "cancelled" | "failed" | "interrupted" | "queued" | "running" | "succeeded";
696
+ createdAt: string;
697
+ startedAt: string | null;
698
+ finishedAt: string | null;
699
+ }>;
700
+ };
701
+ decorateHarnessList: <A extends unknown[]>(list: (...args: A) => Promise<unknown>) => (...args: A) => Promise<{
702
+ harnesses?: Array<Record<string, unknown>>;
703
+ }>;
704
+ bind(services: {
705
+ harnesses?: (input?: never) => Promise<unknown>;
706
+ } & Record<string, unknown>): void;
707
+ };
708
+ onCommandTerminal: (record: JobRecord) => void;
709
+ onRunTerminal: (runId: string, threadId?: string) => void;
710
+ onTurnEnqueueFailed: (turnId: string, problem: TurnEnqueueProblem) => void;
711
+ runner: (params: unknown, ctx: import("@claudexor/daemon").RunContext) => Promise<unknown>;
712
+ };
713
+ /** Storage-dependent executors bind after import; the already listening server
714
+ * keeps its one queue, cancellation owner and in-process client throughout. */
715
+ export declare function createSqlDaemonExecutors(graph: SqlServices, options: {
716
+ client: DaemonLocalClient;
717
+ authority: DelegationBudgetAuthority;
718
+ admission: (id: string) => JobAdmission | null;
719
+ authReadiness: () => Pick<AuthReadinessService, "invalidate">;
720
+ bus: RunEventBus;
721
+ runtimeConcurrencyCaps?: RuntimeConcurrencyCaps;
722
+ models?: ModelOptions;
723
+ agent?: typeof createDaemonAgentRunner;
724
+ warn?: (message: string) => void;
725
+ }): {
726
+ models: {
727
+ operations: import("@claudexor/daemon").ModelOperations;
728
+ routes: {
729
+ createModelOperation: (...args: Parameters<import("@claudexor/daemon").ModelOperations["create"]>) => Promise<{
730
+ id: string;
731
+ state: "cancelled" | "failed" | "interrupted" | "queued" | "running" | "succeeded";
732
+ admission?: {
733
+ class: "model" | "non_model";
734
+ phase: "active" | "queued";
735
+ blockers: ({
736
+ kind: "global_limit";
737
+ limit: number;
738
+ } | {
739
+ kind: "class_limit";
740
+ limit: number;
741
+ } | {
742
+ kind: "thread_busy";
743
+ } | {
744
+ kind: "stopping";
745
+ })[];
746
+ } | null | undefined;
747
+ createdAt: string;
748
+ startedAt: string | null;
749
+ finishedAt: string | null;
750
+ dispatch: {
751
+ state: "not_started" | "response_received" | "started" | "unknown";
752
+ startedAt: string | null;
753
+ route: {
754
+ source: string;
755
+ credentialProfileId: string;
756
+ accountFingerprint: string | null;
757
+ model: string | null;
758
+ } | null;
759
+ };
760
+ response: {
761
+ state: "absent";
762
+ } | {
763
+ state: "ready";
764
+ ref: {
765
+ resourceId: string;
766
+ sha256: string;
767
+ sizeBytes: number;
768
+ };
769
+ readyAt: string;
770
+ expiresAt: string;
771
+ } | {
772
+ state: "acknowledged";
773
+ ref: {
774
+ resourceId: string;
775
+ sha256: string;
776
+ sizeBytes: number;
777
+ };
778
+ releasedAt: string;
779
+ } | {
780
+ state: "expired";
781
+ ref: {
782
+ resourceId: string;
783
+ sha256: string;
784
+ sizeBytes: number;
785
+ };
786
+ releasedAt: string;
787
+ };
788
+ usage: {
789
+ input_tokens: number | null;
790
+ output_tokens: number | null;
791
+ cached_input_tokens: number | null;
792
+ cache_write_tokens: number | null;
793
+ reasoning_tokens: number | null;
794
+ };
795
+ cost: {
796
+ processing?: {
797
+ nativeMode: string | null;
798
+ kind: "cash" | "included" | "paid_credits" | "unknown" | "valuation";
799
+ source: string;
800
+ } | undefined;
801
+ knowledge: "estimated" | "exact" | "unknown";
802
+ billing: "metered" | "proven_zero" | "subscription_entitlement" | "unknown";
803
+ source: string;
804
+ provenance: string[];
805
+ estimatedUsd: number | null;
806
+ cashUsd: number | null;
807
+ valuationUsd: number | null;
808
+ valuationKnowledge: "estimated" | "exact" | "unknown";
809
+ } | null;
810
+ problem: {
811
+ code: string;
812
+ message: string;
813
+ retryable: boolean;
814
+ fieldErrors: Record<string, string[]>;
815
+ requiredActions: string[];
816
+ evidenceRefs: string[];
817
+ context: Record<string, unknown>;
818
+ } | null;
819
+ }>;
820
+ getModelOperation: (id: string) => Promise<{
821
+ id: string;
822
+ state: "cancelled" | "failed" | "interrupted" | "queued" | "running" | "succeeded";
823
+ admission?: {
824
+ class: "model" | "non_model";
825
+ phase: "active" | "queued";
826
+ blockers: ({
827
+ kind: "global_limit";
828
+ limit: number;
829
+ } | {
830
+ kind: "class_limit";
831
+ limit: number;
832
+ } | {
833
+ kind: "thread_busy";
834
+ } | {
835
+ kind: "stopping";
836
+ })[];
837
+ } | null | undefined;
838
+ createdAt: string;
839
+ startedAt: string | null;
840
+ finishedAt: string | null;
841
+ dispatch: {
842
+ state: "not_started" | "response_received" | "started" | "unknown";
843
+ startedAt: string | null;
844
+ route: {
845
+ source: string;
846
+ credentialProfileId: string;
847
+ accountFingerprint: string | null;
848
+ model: string | null;
849
+ } | null;
850
+ };
851
+ response: {
852
+ state: "absent";
853
+ } | {
854
+ state: "ready";
855
+ ref: {
856
+ resourceId: string;
857
+ sha256: string;
858
+ sizeBytes: number;
859
+ };
860
+ readyAt: string;
861
+ expiresAt: string;
862
+ } | {
863
+ state: "acknowledged";
864
+ ref: {
865
+ resourceId: string;
866
+ sha256: string;
867
+ sizeBytes: number;
868
+ };
869
+ releasedAt: string;
870
+ } | {
871
+ state: "expired";
872
+ ref: {
873
+ resourceId: string;
874
+ sha256: string;
875
+ sizeBytes: number;
876
+ };
877
+ releasedAt: string;
878
+ };
879
+ usage: {
880
+ input_tokens: number | null;
881
+ output_tokens: number | null;
882
+ cached_input_tokens: number | null;
883
+ cache_write_tokens: number | null;
884
+ reasoning_tokens: number | null;
885
+ };
886
+ cost: {
887
+ processing?: {
888
+ nativeMode: string | null;
889
+ kind: "cash" | "included" | "paid_credits" | "unknown" | "valuation";
890
+ source: string;
891
+ } | undefined;
892
+ knowledge: "estimated" | "exact" | "unknown";
893
+ billing: "metered" | "proven_zero" | "subscription_entitlement" | "unknown";
894
+ source: string;
895
+ provenance: string[];
896
+ estimatedUsd: number | null;
897
+ cashUsd: number | null;
898
+ valuationUsd: number | null;
899
+ valuationKnowledge: "estimated" | "exact" | "unknown";
900
+ } | null;
901
+ problem: {
902
+ code: string;
903
+ message: string;
904
+ retryable: boolean;
905
+ fieldErrors: Record<string, string[]>;
906
+ requiredActions: string[];
907
+ evidenceRefs: string[];
908
+ context: Record<string, unknown>;
909
+ } | null;
910
+ }>;
911
+ readModelResult: (id: string) => Promise<{
912
+ bytes: Buffer;
913
+ sha256: string;
914
+ }>;
915
+ acknowledgeModelResult: (id: string, sha256: string) => Promise<{
916
+ id: string;
917
+ state: "cancelled" | "failed" | "interrupted" | "queued" | "running" | "succeeded";
918
+ admission?: {
919
+ class: "model" | "non_model";
920
+ phase: "active" | "queued";
921
+ blockers: ({
922
+ kind: "global_limit";
923
+ limit: number;
924
+ } | {
925
+ kind: "class_limit";
926
+ limit: number;
927
+ } | {
928
+ kind: "thread_busy";
929
+ } | {
930
+ kind: "stopping";
931
+ })[];
932
+ } | null | undefined;
933
+ createdAt: string;
934
+ startedAt: string | null;
935
+ finishedAt: string | null;
936
+ dispatch: {
937
+ state: "not_started" | "response_received" | "started" | "unknown";
938
+ startedAt: string | null;
939
+ route: {
940
+ source: string;
941
+ credentialProfileId: string;
942
+ accountFingerprint: string | null;
943
+ model: string | null;
944
+ } | null;
945
+ };
946
+ response: {
947
+ state: "absent";
948
+ } | {
949
+ state: "ready";
950
+ ref: {
951
+ resourceId: string;
952
+ sha256: string;
953
+ sizeBytes: number;
954
+ };
955
+ readyAt: string;
956
+ expiresAt: string;
957
+ } | {
958
+ state: "acknowledged";
959
+ ref: {
960
+ resourceId: string;
961
+ sha256: string;
962
+ sizeBytes: number;
963
+ };
964
+ releasedAt: string;
965
+ } | {
966
+ state: "expired";
967
+ ref: {
968
+ resourceId: string;
969
+ sha256: string;
970
+ sizeBytes: number;
971
+ };
972
+ releasedAt: string;
973
+ };
974
+ usage: {
975
+ input_tokens: number | null;
976
+ output_tokens: number | null;
977
+ cached_input_tokens: number | null;
978
+ cache_write_tokens: number | null;
979
+ reasoning_tokens: number | null;
980
+ };
981
+ cost: {
982
+ processing?: {
983
+ nativeMode: string | null;
984
+ kind: "cash" | "included" | "paid_credits" | "unknown" | "valuation";
985
+ source: string;
986
+ } | undefined;
987
+ knowledge: "estimated" | "exact" | "unknown";
988
+ billing: "metered" | "proven_zero" | "subscription_entitlement" | "unknown";
989
+ source: string;
990
+ provenance: string[];
991
+ estimatedUsd: number | null;
992
+ cashUsd: number | null;
993
+ valuationUsd: number | null;
994
+ valuationKnowledge: "estimated" | "exact" | "unknown";
995
+ } | null;
996
+ problem: {
997
+ code: string;
998
+ message: string;
999
+ retryable: boolean;
1000
+ fieldErrors: Record<string, string[]>;
1001
+ requiredActions: string[];
1002
+ evidenceRefs: string[];
1003
+ context: Record<string, unknown>;
1004
+ } | null;
1005
+ }>;
1006
+ cancelModelOperation: (...args: Parameters<import("@claudexor/daemon").ModelOperations["cancel"]>) => Promise<{
1007
+ id: string;
1008
+ state: "cancelled" | "failed" | "interrupted" | "queued" | "running" | "succeeded";
1009
+ admission?: {
1010
+ class: "model" | "non_model";
1011
+ phase: "active" | "queued";
1012
+ blockers: ({
1013
+ kind: "global_limit";
1014
+ limit: number;
1015
+ } | {
1016
+ kind: "class_limit";
1017
+ limit: number;
1018
+ } | {
1019
+ kind: "thread_busy";
1020
+ } | {
1021
+ kind: "stopping";
1022
+ })[];
1023
+ } | null | undefined;
1024
+ createdAt: string;
1025
+ startedAt: string | null;
1026
+ finishedAt: string | null;
1027
+ dispatch: {
1028
+ state: "not_started" | "response_received" | "started" | "unknown";
1029
+ startedAt: string | null;
1030
+ route: {
1031
+ source: string;
1032
+ credentialProfileId: string;
1033
+ accountFingerprint: string | null;
1034
+ model: string | null;
1035
+ } | null;
1036
+ };
1037
+ response: {
1038
+ state: "absent";
1039
+ } | {
1040
+ state: "ready";
1041
+ ref: {
1042
+ resourceId: string;
1043
+ sha256: string;
1044
+ sizeBytes: number;
1045
+ };
1046
+ readyAt: string;
1047
+ expiresAt: string;
1048
+ } | {
1049
+ state: "acknowledged";
1050
+ ref: {
1051
+ resourceId: string;
1052
+ sha256: string;
1053
+ sizeBytes: number;
1054
+ };
1055
+ releasedAt: string;
1056
+ } | {
1057
+ state: "expired";
1058
+ ref: {
1059
+ resourceId: string;
1060
+ sha256: string;
1061
+ sizeBytes: number;
1062
+ };
1063
+ releasedAt: string;
1064
+ };
1065
+ usage: {
1066
+ input_tokens: number | null;
1067
+ output_tokens: number | null;
1068
+ cached_input_tokens: number | null;
1069
+ cache_write_tokens: number | null;
1070
+ reasoning_tokens: number | null;
1071
+ };
1072
+ cost: {
1073
+ processing?: {
1074
+ nativeMode: string | null;
1075
+ kind: "cash" | "included" | "paid_credits" | "unknown" | "valuation";
1076
+ source: string;
1077
+ } | undefined;
1078
+ knowledge: "estimated" | "exact" | "unknown";
1079
+ billing: "metered" | "proven_zero" | "subscription_entitlement" | "unknown";
1080
+ source: string;
1081
+ provenance: string[];
1082
+ estimatedUsd: number | null;
1083
+ cashUsd: number | null;
1084
+ valuationUsd: number | null;
1085
+ valuationKnowledge: "estimated" | "exact" | "unknown";
1086
+ } | null;
1087
+ problem: {
1088
+ code: string;
1089
+ message: string;
1090
+ retryable: boolean;
1091
+ fieldErrors: Record<string, string[]>;
1092
+ requiredActions: string[];
1093
+ evidenceRefs: string[];
1094
+ context: Record<string, unknown>;
1095
+ } | null;
1096
+ }>;
1097
+ modelSources: (view?: "accounts") => Promise<{
1098
+ sources: {
1099
+ id: string;
1100
+ label: string;
1101
+ credentialHarness: string;
1102
+ processingPreferences?: string[] | undefined;
1103
+ accountCatalog?: boolean | undefined;
1104
+ }[];
1105
+ }>;
1106
+ modelCatalog: (sourceId: string, credentialProfileId?: string, requestedModel?: string, includeAdmission?: boolean) => Promise<{
1107
+ source: string;
1108
+ credentialProfileId: string;
1109
+ accountFingerprint: string | null;
1110
+ observedAt: string;
1111
+ provenance: string;
1112
+ clientVersion: string | null;
1113
+ clientVersionSource: "installed_cli" | "verified_transport" | null;
1114
+ admission?: {
1115
+ requestedModel: string;
1116
+ inventoryAbsence: "advisory" | "authoritative";
1117
+ } | undefined;
1118
+ models: {
1119
+ id: string;
1120
+ label: string | null;
1121
+ isDefault: boolean;
1122
+ contextWindow: number | null;
1123
+ maxContextWindow: number | null;
1124
+ maxOutputTokens: number | null;
1125
+ inputModalities: string[];
1126
+ reasoningEfforts: string[];
1127
+ reasoningEffortPreferenceOrder?: string[] | undefined;
1128
+ reasoningEffortsVerified?: boolean | undefined;
1129
+ defaultReasoningEffort: string | null;
1130
+ supportedOptions: string[];
1131
+ }[];
1132
+ }>;
1133
+ modelAccountCatalog: (sourceId: string, credentialProfileId?: string) => Promise<{
1134
+ source: string;
1135
+ accounts: {
1136
+ credentialProfileId: string;
1137
+ availability: "available" | "unavailable" | "unknown";
1138
+ problem: {
1139
+ code: string;
1140
+ message: string;
1141
+ retryable: boolean;
1142
+ fieldErrors: Record<string, string[]>;
1143
+ requiredActions: string[];
1144
+ evidenceRefs: string[];
1145
+ context: Record<string, unknown>;
1146
+ } | null;
1147
+ catalog: {
1148
+ source: string;
1149
+ credentialProfileId: string;
1150
+ accountFingerprint: string | null;
1151
+ observedAt: string;
1152
+ provenance: string;
1153
+ clientVersion: string | null;
1154
+ clientVersionSource: "installed_cli" | "verified_transport" | null;
1155
+ admission?: {
1156
+ requestedModel: string;
1157
+ inventoryAbsence: "advisory" | "authoritative";
1158
+ } | undefined;
1159
+ models: {
1160
+ id: string;
1161
+ label: string | null;
1162
+ isDefault: boolean;
1163
+ contextWindow: number | null;
1164
+ maxContextWindow: number | null;
1165
+ maxOutputTokens: number | null;
1166
+ inputModalities: string[];
1167
+ reasoningEfforts: string[];
1168
+ reasoningEffortPreferenceOrder?: string[] | undefined;
1169
+ reasoningEffortsVerified?: boolean | undefined;
1170
+ defaultReasoningEffort: string | null;
1171
+ supportedOptions: string[];
1172
+ processing?: {
1173
+ modes: ("economy" | "fast" | "standard")[] | null;
1174
+ nativeModes: {
1175
+ mode: "economy" | "fast" | "standard";
1176
+ id: string;
1177
+ }[];
1178
+ defaultNativeMode: string | null;
1179
+ eligible: boolean | null;
1180
+ source: string;
1181
+ observedAt: string | null;
1182
+ } | undefined;
1183
+ }[];
1184
+ } | null;
1185
+ }[];
1186
+ partial: boolean;
1187
+ }>;
1188
+ };
1189
+ withRetention: (run: import("./retention-service.js").RetentionRunner) => import("./retention-service.js").RetentionRunner;
1190
+ close: () => void;
1191
+ };
1192
+ harnessMaintenance: {
1193
+ owns: (params: unknown) => boolean;
1194
+ execute: (raw: unknown, ctx: import("@claudexor/daemon").RunContext) => Promise<{
1195
+ phase: "accepted" | "installing" | "preparing" | "settled";
1196
+ mechanism: "managed_npm" | "vendor_script" | "vendor_updater" | null;
1197
+ target: {
1198
+ kind: "baseline" | "latest" | "previous" | "version";
1199
+ version: string | null;
1200
+ };
1201
+ before: {
1202
+ version: string | null;
1203
+ binary: string | null;
1204
+ selection: "managed" | "missing" | "override" | "path";
1205
+ proved: boolean;
1206
+ } | null;
1207
+ after: {
1208
+ version: string | null;
1209
+ binary: string | null;
1210
+ selected: boolean;
1211
+ proved: boolean;
1212
+ } | null;
1213
+ mutation: "applied" | "none" | "unknown";
1214
+ termination: "confirmed" | "not_applicable" | "unconfirmed";
1215
+ limitations: string[];
1216
+ progress: string[];
1217
+ problem: {
1218
+ code: string;
1219
+ message: string;
1220
+ retryable: boolean;
1221
+ fieldErrors: Record<string, string[]>;
1222
+ requiredActions: string[];
1223
+ evidenceRefs: string[];
1224
+ context: Record<string, unknown>;
1225
+ } | null;
1226
+ lifecycle: "cancelled" | "failed" | "succeeded";
1227
+ }>;
1228
+ routes: {
1229
+ maintenanceInventory: (input?: {
1230
+ harnessIds?: string[];
1231
+ fresh?: boolean;
1232
+ checkLatest?: boolean;
1233
+ }) => Promise<{
1234
+ observedAt: string;
1235
+ harnesses: {
1236
+ harness: string;
1237
+ mechanism: "managed_npm" | "vendor_script" | "vendor_updater";
1238
+ maintainable: boolean;
1239
+ canCheckLatest: boolean;
1240
+ targets: ("baseline" | "latest" | "previous" | "version")[];
1241
+ remedy: string | null;
1242
+ selection: {
1243
+ kind: "managed" | "missing" | "override" | "path";
1244
+ binary: string | null;
1245
+ version: string | null;
1246
+ overrideEnv: string | null;
1247
+ };
1248
+ installed: {
1249
+ version: string | null;
1250
+ binary: string | null;
1251
+ proved: boolean;
1252
+ };
1253
+ releaseTested: {
1254
+ version: string | null;
1255
+ verification: "deterministic_only" | "release_verified" | null;
1256
+ };
1257
+ available: {
1258
+ version: string;
1259
+ observedAt: string;
1260
+ } | null;
1261
+ availableProblem: {
1262
+ code: string;
1263
+ message: string;
1264
+ retryable: boolean;
1265
+ fieldErrors: Record<string, string[]>;
1266
+ requiredActions: string[];
1267
+ evidenceRefs: string[];
1268
+ context: Record<string, unknown>;
1269
+ } | null;
1270
+ previous: {
1271
+ version: string;
1272
+ operationId: string;
1273
+ } | null;
1274
+ operation: {
1275
+ id: string;
1276
+ state: string;
1277
+ phase: string;
1278
+ targetVersion: string | null;
1279
+ finishedAt: string | null;
1280
+ } | null;
1281
+ observedAt: string;
1282
+ }[];
1283
+ }>;
1284
+ createMaintenanceOperation: (body: unknown, idempotencyKey: string) => Promise<{
1285
+ phase: "accepted" | "installing" | "preparing" | "settled";
1286
+ mechanism: "managed_npm" | "vendor_script" | "vendor_updater" | null;
1287
+ target: {
1288
+ kind: "baseline" | "latest" | "previous" | "version";
1289
+ version: string | null;
1290
+ };
1291
+ before: {
1292
+ version: string | null;
1293
+ binary: string | null;
1294
+ selection: "managed" | "missing" | "override" | "path";
1295
+ proved: boolean;
1296
+ } | null;
1297
+ after: {
1298
+ version: string | null;
1299
+ binary: string | null;
1300
+ selected: boolean;
1301
+ proved: boolean;
1302
+ } | null;
1303
+ mutation: "applied" | "none" | "unknown";
1304
+ termination: "confirmed" | "not_applicable" | "unconfirmed";
1305
+ limitations: string[];
1306
+ progress: string[];
1307
+ problem: {
1308
+ code: string;
1309
+ message: string;
1310
+ retryable: boolean;
1311
+ fieldErrors: Record<string, string[]>;
1312
+ requiredActions: string[];
1313
+ evidenceRefs: string[];
1314
+ context: Record<string, unknown>;
1315
+ } | null;
1316
+ id: string;
1317
+ harness: string;
1318
+ state: "cancelled" | "failed" | "interrupted" | "queued" | "running" | "succeeded";
1319
+ createdAt: string;
1320
+ startedAt: string | null;
1321
+ finishedAt: string | null;
1322
+ }>;
1323
+ getMaintenanceOperation: (id: string) => Promise<{
1324
+ phase: "accepted" | "installing" | "preparing" | "settled";
1325
+ mechanism: "managed_npm" | "vendor_script" | "vendor_updater" | null;
1326
+ target: {
1327
+ kind: "baseline" | "latest" | "previous" | "version";
1328
+ version: string | null;
1329
+ };
1330
+ before: {
1331
+ version: string | null;
1332
+ binary: string | null;
1333
+ selection: "managed" | "missing" | "override" | "path";
1334
+ proved: boolean;
1335
+ } | null;
1336
+ after: {
1337
+ version: string | null;
1338
+ binary: string | null;
1339
+ selected: boolean;
1340
+ proved: boolean;
1341
+ } | null;
1342
+ mutation: "applied" | "none" | "unknown";
1343
+ termination: "confirmed" | "not_applicable" | "unconfirmed";
1344
+ limitations: string[];
1345
+ progress: string[];
1346
+ problem: {
1347
+ code: string;
1348
+ message: string;
1349
+ retryable: boolean;
1350
+ fieldErrors: Record<string, string[]>;
1351
+ requiredActions: string[];
1352
+ evidenceRefs: string[];
1353
+ context: Record<string, unknown>;
1354
+ } | null;
1355
+ id: string;
1356
+ harness: string;
1357
+ state: "cancelled" | "failed" | "interrupted" | "queued" | "running" | "succeeded";
1358
+ createdAt: string;
1359
+ startedAt: string | null;
1360
+ finishedAt: string | null;
1361
+ }>;
1362
+ cancelMaintenanceOperation: (id: string) => Promise<{
1363
+ phase: "accepted" | "installing" | "preparing" | "settled";
1364
+ mechanism: "managed_npm" | "vendor_script" | "vendor_updater" | null;
1365
+ target: {
1366
+ kind: "baseline" | "latest" | "previous" | "version";
1367
+ version: string | null;
1368
+ };
1369
+ before: {
1370
+ version: string | null;
1371
+ binary: string | null;
1372
+ selection: "managed" | "missing" | "override" | "path";
1373
+ proved: boolean;
1374
+ } | null;
1375
+ after: {
1376
+ version: string | null;
1377
+ binary: string | null;
1378
+ selected: boolean;
1379
+ proved: boolean;
1380
+ } | null;
1381
+ mutation: "applied" | "none" | "unknown";
1382
+ termination: "confirmed" | "not_applicable" | "unconfirmed";
1383
+ limitations: string[];
1384
+ progress: string[];
1385
+ problem: {
1386
+ code: string;
1387
+ message: string;
1388
+ retryable: boolean;
1389
+ fieldErrors: Record<string, string[]>;
1390
+ requiredActions: string[];
1391
+ evidenceRefs: string[];
1392
+ context: Record<string, unknown>;
1393
+ } | null;
1394
+ id: string;
1395
+ harness: string;
1396
+ state: "cancelled" | "failed" | "interrupted" | "queued" | "running" | "succeeded";
1397
+ createdAt: string;
1398
+ startedAt: string | null;
1399
+ finishedAt: string | null;
1400
+ }>;
1401
+ };
1402
+ decorateHarnessList: <A extends unknown[]>(list: (...args: A) => Promise<unknown>) => (...args: A) => Promise<{
1403
+ harnesses?: Array<Record<string, unknown>>;
1404
+ }>;
1405
+ bind(services: {
1406
+ harnesses?: (input?: never) => Promise<unknown>;
1407
+ } & Record<string, unknown>): void;
1408
+ };
1409
+ onCommandTerminal: (record: JobRecord) => void;
1410
+ onRunTerminal: (runId: string, threadId?: string) => void;
1411
+ onTurnEnqueueFailed: (turnId: string, problem: TurnEnqueueProblem) => void;
1412
+ runner: (params: unknown, ctx: import("@claudexor/daemon").RunContext) => Promise<unknown>;
1413
+ };
1414
+ export {};
1415
+ //# sourceMappingURL=sql-daemon-runtime.d.ts.map