@claudexor/schema 1.0.1 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (278) hide show
  1. package/dist/agent-capabilities.d.ts +102 -30
  2. package/dist/agent-capabilities.d.ts.map +1 -1
  3. package/dist/agent-capabilities.js +49 -18
  4. package/dist/agent-capabilities.js.map +1 -1
  5. package/dist/apply-eligibility.d.ts.map +1 -1
  6. package/dist/apply-eligibility.js +22 -6
  7. package/dist/apply-eligibility.js.map +1 -1
  8. package/dist/attachment.d.ts +117 -52
  9. package/dist/attachment.d.ts.map +1 -1
  10. package/dist/attachment.js +60 -45
  11. package/dist/attachment.js.map +1 -1
  12. package/dist/auth.d.ts +1444 -0
  13. package/dist/auth.d.ts.map +1 -0
  14. package/dist/auth.js +371 -0
  15. package/dist/auth.js.map +1 -0
  16. package/dist/budget.d.ts +147 -18
  17. package/dist/budget.d.ts.map +1 -1
  18. package/dist/budget.js +80 -22
  19. package/dist/budget.js.map +1 -1
  20. package/dist/config.d.ts +829 -135
  21. package/dist/config.d.ts.map +1 -1
  22. package/dist/config.js +195 -41
  23. package/dist/config.js.map +1 -1
  24. package/dist/context.d.ts +6 -6
  25. package/dist/context.d.ts.map +1 -1
  26. package/dist/context.js +31 -7
  27. package/dist/context.js.map +1 -1
  28. package/dist/control-gc.d.ts +185 -0
  29. package/dist/control-gc.d.ts.map +1 -0
  30. package/dist/control-gc.js +81 -0
  31. package/dist/control-gc.js.map +1 -0
  32. package/dist/control-operation-responses.d.ts +1298 -0
  33. package/dist/control-operation-responses.d.ts.map +1 -0
  34. package/dist/control-operation-responses.js +35 -0
  35. package/dist/control-operation-responses.js.map +1 -0
  36. package/dist/control-run-detail.d.ts +556 -247
  37. package/dist/control-run-detail.d.ts.map +1 -1
  38. package/dist/control-run-detail.js +72 -17
  39. package/dist/control-run-detail.js.map +1 -1
  40. package/dist/control-run-retry.d.ts +88 -0
  41. package/dist/control-run-retry.d.ts.map +1 -0
  42. package/dist/control-run-retry.js +40 -0
  43. package/dist/control-run-retry.js.map +1 -0
  44. package/dist/control-run-scope.d.ts +25 -0
  45. package/dist/control-run-scope.d.ts.map +1 -0
  46. package/dist/control-run-scope.js +22 -0
  47. package/dist/control-run-scope.js.map +1 -0
  48. package/dist/control-secret.d.ts +90 -0
  49. package/dist/control-secret.d.ts.map +1 -0
  50. package/dist/control-secret.js +35 -0
  51. package/dist/control-secret.js.map +1 -0
  52. package/dist/control-spec.d.ts +592 -0
  53. package/dist/control-spec.d.ts.map +1 -0
  54. package/dist/control-spec.js +85 -0
  55. package/dist/control-spec.js.map +1 -0
  56. package/dist/control-thread-apply.d.ts +175 -0
  57. package/dist/control-thread-apply.d.ts.map +1 -0
  58. package/dist/control-thread-apply.js +31 -0
  59. package/dist/control-thread-apply.js.map +1 -0
  60. package/dist/control-trust.d.ts +74 -10
  61. package/dist/control-trust.d.ts.map +1 -1
  62. package/dist/control-trust.js +31 -11
  63. package/dist/control-trust.js.map +1 -1
  64. package/dist/control.d.ts +1688 -1334
  65. package/dist/control.d.ts.map +1 -1
  66. package/dist/control.js +592 -333
  67. package/dist/control.js.map +1 -1
  68. package/dist/credential-profile.d.ts +454 -0
  69. package/dist/credential-profile.d.ts.map +1 -0
  70. package/dist/credential-profile.js +140 -0
  71. package/dist/credential-profile.js.map +1 -0
  72. package/dist/decision.d.ts +10 -10
  73. package/dist/decision.d.ts.map +1 -1
  74. package/dist/decision.js +62 -15
  75. package/dist/decision.js.map +1 -1
  76. package/dist/delivery.d.ts +99 -0
  77. package/dist/delivery.d.ts.map +1 -0
  78. package/dist/delivery.js +19 -0
  79. package/dist/delivery.js.map +1 -0
  80. package/dist/events.d.ts +41 -4
  81. package/dist/events.d.ts.map +1 -1
  82. package/dist/events.js +47 -4
  83. package/dist/events.js.map +1 -1
  84. package/dist/gate.d.ts +5 -5
  85. package/dist/gate.d.ts.map +1 -1
  86. package/dist/gate.js +25 -5
  87. package/dist/gate.js.map +1 -1
  88. package/dist/harness.d.ts +775 -237
  89. package/dist/harness.d.ts.map +1 -1
  90. package/dist/harness.js +314 -111
  91. package/dist/harness.js.map +1 -1
  92. package/dist/index.d.ts +19 -0
  93. package/dist/index.d.ts.map +1 -1
  94. package/dist/index.js +19 -0
  95. package/dist/index.js.map +1 -1
  96. package/dist/operation.d.ts +185 -0
  97. package/dist/operation.d.ts.map +1 -0
  98. package/dist/operation.js +50 -0
  99. package/dist/operation.js.map +1 -0
  100. package/dist/orchestrate.d.ts +150 -22
  101. package/dist/orchestrate.d.ts.map +1 -1
  102. package/dist/orchestrate.js +117 -7
  103. package/dist/orchestrate.js.map +1 -1
  104. package/dist/primitives.d.ts.map +1 -1
  105. package/dist/primitives.js +4 -1
  106. package/dist/primitives.js.map +1 -1
  107. package/dist/problem.d.ts +29 -0
  108. package/dist/problem.d.ts.map +1 -0
  109. package/dist/problem.js +17 -0
  110. package/dist/problem.js.map +1 -0
  111. package/dist/project.d.ts +97 -0
  112. package/dist/project.d.ts.map +1 -0
  113. package/dist/project.js +27 -0
  114. package/dist/project.js.map +1 -0
  115. package/dist/quota.d.ts +269 -0
  116. package/dist/quota.d.ts.map +1 -0
  117. package/dist/quota.js +58 -0
  118. package/dist/quota.js.map +1 -0
  119. package/dist/raw.d.ts +195 -0
  120. package/dist/raw.d.ts.map +1 -0
  121. package/dist/raw.js +58 -0
  122. package/dist/raw.js.map +1 -0
  123. package/dist/readiness.d.ts +596 -0
  124. package/dist/readiness.d.ts.map +1 -0
  125. package/dist/readiness.js +87 -0
  126. package/dist/readiness.js.map +1 -0
  127. package/dist/recovery.d.ts +515 -0
  128. package/dist/recovery.d.ts.map +1 -0
  129. package/dist/recovery.js +93 -0
  130. package/dist/recovery.js.map +1 -0
  131. package/dist/request-requirements.d.ts +36 -0
  132. package/dist/request-requirements.d.ts.map +1 -0
  133. package/dist/request-requirements.js +29 -0
  134. package/dist/request-requirements.js.map +1 -0
  135. package/dist/review.d.ts +26 -26
  136. package/dist/review.d.ts.map +1 -1
  137. package/dist/review.js +50 -10
  138. package/dist/review.js.map +1 -1
  139. package/dist/route.d.ts +13 -13
  140. package/dist/route.d.ts.map +1 -1
  141. package/dist/route.js +19 -4
  142. package/dist/route.js.map +1 -1
  143. package/dist/setup.d.ts +9811 -0
  144. package/dist/setup.d.ts.map +1 -0
  145. package/dist/setup.js +475 -0
  146. package/dist/setup.js.map +1 -0
  147. package/dist/spec.d.ts +178 -61
  148. package/dist/spec.d.ts.map +1 -1
  149. package/dist/spec.js +69 -16
  150. package/dist/spec.js.map +1 -1
  151. package/dist/surface-run-controls.d.ts.map +1 -1
  152. package/dist/surface-run-controls.js +25 -21
  153. package/dist/surface-run-controls.js.map +1 -1
  154. package/dist/task.d.ts +1657 -60
  155. package/dist/task.d.ts.map +1 -1
  156. package/dist/task.js +144 -18
  157. package/dist/task.js.map +1 -1
  158. package/dist/telemetry.d.ts +487 -72
  159. package/dist/telemetry.d.ts.map +1 -1
  160. package/dist/telemetry.js +194 -16
  161. package/dist/telemetry.js.map +1 -1
  162. package/dist/thread.d.ts +89 -51
  163. package/dist/thread.d.ts.map +1 -1
  164. package/dist/thread.js +56 -11
  165. package/dist/thread.js.map +1 -1
  166. package/dist/tool-ref.d.ts +45 -0
  167. package/dist/tool-ref.d.ts.map +1 -0
  168. package/dist/tool-ref.js +45 -0
  169. package/dist/tool-ref.js.map +1 -0
  170. package/dist/workproduct.d.ts +3 -3
  171. package/dist/workproduct.d.ts.map +1 -1
  172. package/dist/workproduct.js.map +1 -1
  173. package/dist/workspace.d.ts +3 -3
  174. package/dist/workspace.d.ts.map +1 -1
  175. package/dist/workspace.js +12 -3
  176. package/dist/workspace.js.map +1 -1
  177. package/generated/AgentCapabilityCatalog.schema.json +53 -11
  178. package/generated/BudgetLease.schema.json +55 -6
  179. package/generated/BudgetObservation.schema.json +44 -7
  180. package/generated/ConformanceReport.schema.json +49 -0
  181. package/generated/ControlApplyCheckResponse.schema.json +34 -0
  182. package/generated/ControlArtifactListResponse.schema.json +57 -0
  183. package/generated/ControlAuthReadinessRefreshRequest.schema.json +38 -0
  184. package/generated/ControlAuthReadinessRefreshResponse.schema.json +85 -0
  185. package/generated/ControlCredentialProfileCreateRequest.schema.json +32 -0
  186. package/generated/ControlCredentialProfileCreateResponse.schema.json +142 -0
  187. package/generated/ControlCredentialProfileDeleteResponse.schema.json +107 -0
  188. package/generated/ControlCredentialProfilesResponse.schema.json +155 -0
  189. package/generated/ControlDeliveryResponse.schema.json +136 -0
  190. package/generated/ControlGcReceipt.schema.json +170 -0
  191. package/generated/ControlGcRequest.schema.json +18 -0
  192. package/generated/ControlHandshakeRequest.schema.json +26 -0
  193. package/generated/ControlHandshakeResponse.schema.json +30 -0
  194. package/generated/ControlHarnessListResponse.schema.json +198 -14
  195. package/generated/ControlHarnessModelsResponse.schema.json +19 -0
  196. package/generated/ControlHarnessSettingsPatch.schema.json +9 -12
  197. package/generated/ControlJournalEvent.schema.json +42 -0
  198. package/generated/ControlJournalExportReceipt.schema.json +49 -0
  199. package/generated/ControlJournalInspection.schema.json +149 -0
  200. package/generated/ControlJournalQuarantineReceipt.schema.json +55 -0
  201. package/generated/ControlJournalQuarantineRequest.schema.json +24 -0
  202. package/generated/ControlJournalValidation.schema.json +181 -0
  203. package/generated/ControlOperationCatalog.schema.json +128 -0
  204. package/generated/ControlOperationDescriptor.schema.json +110 -0
  205. package/generated/ControlProblem.schema.json +59 -0
  206. package/generated/ControlProject.schema.json +42 -0
  207. package/generated/ControlProjectListResponse.schema.json +54 -0
  208. package/generated/ControlProjectRegisterRequest.schema.json +19 -0
  209. package/generated/ControlProjectRelinkRequest.schema.json +19 -0
  210. package/generated/ControlQueuedRunInfo.schema.json +4 -2
  211. package/generated/ControlQuotaResponse.schema.json +177 -0
  212. package/generated/ControlResource.schema.json +59 -0
  213. package/generated/ControlRunAgainDraft.schema.json +539 -0
  214. package/generated/ControlRunDetail.schema.json +373 -34
  215. package/generated/ControlRunListResponse.schema.json +968 -0
  216. package/generated/ControlRunRetryResponse.schema.json +54 -0
  217. package/generated/ControlRunStartRequest.schema.json +123 -55
  218. package/generated/ControlRunStartResponse.schema.json +78 -0
  219. package/generated/ControlRunSummary.schema.json +312 -21
  220. package/generated/ControlSecretListResponse.schema.json +8 -14
  221. package/generated/ControlSecretMutationResponse.schema.json +32 -0
  222. package/generated/ControlSecretSetRequest.schema.json +27 -0
  223. package/generated/ControlSettingsSnapshot.schema.json +128 -44
  224. package/generated/ControlSettingsUpdateRequest.schema.json +119 -40
  225. package/generated/ControlSetupJob.schema.json +770 -64
  226. package/generated/ControlSetupJobCreateRequest.schema.json +16 -13
  227. package/generated/ControlSetupJobEvent.schema.json +869 -5
  228. package/generated/ControlSetupJobListFilter.schema.json +35 -0
  229. package/generated/ControlSetupJobListResponse.schema.json +770 -64
  230. package/generated/ControlSetupJobSnapshot.schema.json +878 -0
  231. package/generated/ControlSpecAnswersRequest.schema.json +74 -0
  232. package/generated/ControlSpecQuestionsRequest.schema.json +128 -2
  233. package/generated/ControlSpecSession.schema.json +249 -0
  234. package/generated/ControlSpecSessionListResponse.schema.json +261 -0
  235. package/generated/ControlThread.schema.json +36 -6
  236. package/generated/ControlThreadApplyResponse.schema.json +139 -0
  237. package/generated/ControlThreadCreateRequest.schema.json +6 -2
  238. package/generated/ControlThreadDetail.schema.json +64 -12
  239. package/generated/ControlThreadListResponse.schema.json +36 -6
  240. package/generated/ControlThreadTurnRequest.schema.json +413 -0
  241. package/generated/ControlThreadTurnResponse.schema.json +73 -0
  242. package/generated/ControlThreadUpdateRequest.schema.json +12 -1
  243. package/generated/ControlTrustListResponse.schema.json +6 -0
  244. package/generated/ControlTrustState.schema.json +6 -0
  245. package/generated/ControlTrustUpdateRequest.schema.json +65 -3
  246. package/generated/ControlUploadCreateRequest.schema.json +37 -0
  247. package/generated/ControlUploadFinalizeRequest.schema.json +17 -0
  248. package/generated/ControlUploadStatus.schema.json +40 -0
  249. package/generated/CredentialProfile.schema.json +78 -0
  250. package/generated/CredentialProfileStatus.schema.json +61 -0
  251. package/generated/DecisionRecord.schema.json +6 -3
  252. package/generated/GlobalConfig.schema.json +238 -55
  253. package/generated/HarnessEvent.schema.json +259 -11
  254. package/generated/HarnessManifest.schema.json +96 -14
  255. package/generated/HarnessModel.schema.json +19 -0
  256. package/generated/HarnessStatusDto.schema.json +198 -14
  257. package/generated/OrchestrateContract.schema.json +32 -6
  258. package/generated/OrchestratePlan.schema.json +20 -0
  259. package/generated/OrchestratePlanProgress.schema.json +61 -0
  260. package/generated/PaidBudget.schema.json +42 -0
  261. package/generated/Project.schema.json +45 -0
  262. package/generated/ProjectConfig.schema.json +45 -18
  263. package/generated/RawContextPacket.schema.json +184 -0
  264. package/generated/RawGitPatchEnvelope.schema.json +70 -0
  265. package/generated/RunEvent.schema.json +3 -0
  266. package/generated/RunTelemetry.schema.json +280 -0
  267. package/generated/SecretMetadata.schema.json +4 -7
  268. package/generated/Session.schema.json +14 -0
  269. package/generated/SpecPack.schema.json +118 -7
  270. package/generated/TaskContract.schema.json +224 -30
  271. package/generated/TestCommandInvocation.schema.json +45 -0
  272. package/generated/Thread.schema.json +74 -6
  273. package/generated/ThreadHeadPing.schema.json +40 -0
  274. package/generated/ThreadTurn.schema.json +24 -11
  275. package/generated/TrustConfig.schema.json +77 -0
  276. package/package.json +3 -2
  277. package/generated/ControlSetupJobConfirmRequest.schema.json +0 -18
  278. package/generated/ControlSpecFreezeRequest.schema.json +0 -83
@@ -0,0 +1,878 @@
1
+ {
2
+ "$ref": "#/definitions/ControlSetupJobSnapshot",
3
+ "definitions": {
4
+ "ControlSetupJobSnapshot": {
5
+ "type": "object",
6
+ "properties": {
7
+ "job": {
8
+ "type": "object",
9
+ "properties": {
10
+ "jobId": {
11
+ "type": "string",
12
+ "minLength": 1,
13
+ "description": "Setup job id."
14
+ },
15
+ "harness": {
16
+ "type": "string",
17
+ "enum": [
18
+ "codex",
19
+ "claude",
20
+ "cursor"
21
+ ],
22
+ "description": "Harness ids with a managed native-login flow."
23
+ },
24
+ "action": {
25
+ "type": "string",
26
+ "const": "login",
27
+ "description": "The daemon-managed native-login action."
28
+ },
29
+ "profileId": {
30
+ "type": [
31
+ "string",
32
+ "null"
33
+ ],
34
+ "default": null,
35
+ "description": "Registered profile this login targets; null = the default session."
36
+ },
37
+ "state": {
38
+ "type": "string",
39
+ "enum": [
40
+ "queued",
41
+ "running",
42
+ "waiting_for_input",
43
+ "succeeded",
44
+ "failed",
45
+ "cancelled",
46
+ "timed_out",
47
+ "interrupted_unknown",
48
+ "not_supported"
49
+ ],
50
+ "description": "Lifecycle state of a setup job, including waiting_for_input (needs user confirmation/input) and not_supported."
51
+ },
52
+ "phase": {
53
+ "type": "string",
54
+ "enum": [
55
+ "preparing",
56
+ "launching",
57
+ "awaiting_user",
58
+ "verifying",
59
+ "cancelling",
60
+ "completed"
61
+ ],
62
+ "description": "Fine-grained setup phase; cancellation remains a phase until the underlying process has actually stopped."
63
+ },
64
+ "deadlineAt": {
65
+ "type": "string",
66
+ "format": "date-time",
67
+ "description": "Current native-login deadline when the job has one."
68
+ },
69
+ "outcome": {
70
+ "type": "object",
71
+ "properties": {
72
+ "reason": {
73
+ "type": "string",
74
+ "enum": [
75
+ "completed",
76
+ "not_supported",
77
+ "launch_failed",
78
+ "command_failed",
79
+ "auth_not_ready",
80
+ "capability_verification_failed",
81
+ "credential_route_mismatch",
82
+ "timed_out",
83
+ "cancelled_by_user",
84
+ "cancelled_on_restart",
85
+ "interrupted",
86
+ "interrupted_unknown",
87
+ "termination_unconfirmed"
88
+ ]
89
+ },
90
+ "exitCode": {
91
+ "anyOf": [
92
+ {
93
+ "type": "integer"
94
+ },
95
+ {
96
+ "type": "null"
97
+ }
98
+ ]
99
+ },
100
+ "signal": {
101
+ "type": [
102
+ "string",
103
+ "null"
104
+ ]
105
+ }
106
+ },
107
+ "required": [
108
+ "reason"
109
+ ],
110
+ "additionalProperties": false,
111
+ "description": "Typed terminal setup outcome with native command evidence when available."
112
+ },
113
+ "command": {
114
+ "type": [
115
+ "string",
116
+ "null"
117
+ ],
118
+ "description": "Display-only native-login command description, when available."
119
+ },
120
+ "guideUrl": {
121
+ "anyOf": [
122
+ {
123
+ "type": "string",
124
+ "format": "uri"
125
+ },
126
+ {
127
+ "type": "null"
128
+ }
129
+ ],
130
+ "description": "Official vendor login guide URL."
131
+ },
132
+ "message": {
133
+ "type": "string",
134
+ "description": "Human-readable status message."
135
+ },
136
+ "createdAt": {
137
+ "type": "string",
138
+ "format": "date-time",
139
+ "description": "When the job was created."
140
+ },
141
+ "startedAt": {
142
+ "anyOf": [
143
+ {
144
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/deadlineAt"
145
+ },
146
+ {
147
+ "type": "null"
148
+ }
149
+ ],
150
+ "description": "When the job started running."
151
+ },
152
+ "finishedAt": {
153
+ "anyOf": [
154
+ {
155
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/deadlineAt"
156
+ },
157
+ {
158
+ "type": "null"
159
+ }
160
+ ],
161
+ "description": "When the job finished."
162
+ },
163
+ "authCapability": {
164
+ "anyOf": [
165
+ {
166
+ "type": "object",
167
+ "properties": {
168
+ "attemptId": {
169
+ "type": "string",
170
+ "minLength": 1,
171
+ "description": "Non-empty identifier string."
172
+ },
173
+ "challengeDigest": {
174
+ "type": "string",
175
+ "pattern": "^[a-f0-9]{64}$"
176
+ },
177
+ "requestDigest": {
178
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/challengeDigest"
179
+ },
180
+ "disclosure": {
181
+ "type": "object",
182
+ "properties": {
183
+ "schemaVersion": {
184
+ "type": "number",
185
+ "const": 1
186
+ },
187
+ "protocolVersion": {
188
+ "type": "number",
189
+ "const": 1
190
+ },
191
+ "harness": {
192
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/attemptId"
193
+ },
194
+ "requested": {
195
+ "type": "string",
196
+ "enum": [
197
+ "subscription",
198
+ "api_key",
199
+ "auto"
200
+ ],
201
+ "description": "Requested credential behavior: exact subscription, exact managed API key, or policy-governed auto selection."
202
+ },
203
+ "requiredRoute": {
204
+ "type": "string",
205
+ "enum": [
206
+ "vendor_native",
207
+ "managed_api_key",
208
+ "local"
209
+ ],
210
+ "description": "Effective credential route: vendor-owned native session, Claudexor-managed API key, or credential-free local execution."
211
+ },
212
+ "requiredSource": {
213
+ "type": "string",
214
+ "enum": [
215
+ "native_session",
216
+ "oauth_token_env",
217
+ "api_key_env",
218
+ "api_key_flag",
219
+ "provider_auth_file",
220
+ "none"
221
+ ],
222
+ "description": "Concrete credential source used or probed by a harness."
223
+ },
224
+ "networkScope": {
225
+ "type": "string",
226
+ "const": "selected_harness_only"
227
+ },
228
+ "billingKnowledge": {
229
+ "type": "string",
230
+ "enum": [
231
+ "proven_zero",
232
+ "subscription_entitlement",
233
+ "metered",
234
+ "unknown"
235
+ ],
236
+ "description": "What is actually known about incremental billing; a native credential route alone never proves entitlement or zero cost."
237
+ },
238
+ "incrementalCostKnowledge": {
239
+ "type": "string",
240
+ "enum": [
241
+ "exact",
242
+ "estimated",
243
+ "unknown"
244
+ ],
245
+ "description": "Quality of incremental-cash cost evidence for an operation."
246
+ },
247
+ "mayConsumeQuota": {
248
+ "type": "boolean"
249
+ },
250
+ "generatedAt": {
251
+ "type": "string",
252
+ "format": "date-time"
253
+ }
254
+ },
255
+ "required": [
256
+ "schemaVersion",
257
+ "protocolVersion",
258
+ "harness",
259
+ "requested",
260
+ "requiredRoute",
261
+ "requiredSource",
262
+ "networkScope",
263
+ "billingKnowledge",
264
+ "incrementalCostKnowledge",
265
+ "mayConsumeQuota",
266
+ "generatedAt"
267
+ ],
268
+ "additionalProperties": false,
269
+ "description": "Pre-execution disclosure for the exact same-harness capability smoke required by auth setup."
270
+ },
271
+ "state": {
272
+ "type": "string",
273
+ "const": "disclosed"
274
+ }
275
+ },
276
+ "required": [
277
+ "attemptId",
278
+ "challengeDigest",
279
+ "requestDigest",
280
+ "disclosure",
281
+ "state"
282
+ ],
283
+ "additionalProperties": false
284
+ },
285
+ {
286
+ "type": "object",
287
+ "properties": {
288
+ "attemptId": {
289
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/attemptId"
290
+ },
291
+ "challengeDigest": {
292
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/challengeDigest"
293
+ },
294
+ "requestDigest": {
295
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/challengeDigest"
296
+ },
297
+ "disclosure": {
298
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/disclosure"
299
+ },
300
+ "state": {
301
+ "type": "string",
302
+ "const": "running"
303
+ },
304
+ "startedAt": {
305
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/disclosure/properties/generatedAt"
306
+ }
307
+ },
308
+ "required": [
309
+ "attemptId",
310
+ "challengeDigest",
311
+ "requestDigest",
312
+ "disclosure",
313
+ "state",
314
+ "startedAt"
315
+ ],
316
+ "additionalProperties": false
317
+ },
318
+ {
319
+ "type": "object",
320
+ "properties": {
321
+ "attemptId": {
322
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/attemptId"
323
+ },
324
+ "challengeDigest": {
325
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/challengeDigest"
326
+ },
327
+ "requestDigest": {
328
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/challengeDigest"
329
+ },
330
+ "disclosure": {
331
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/disclosure"
332
+ },
333
+ "state": {
334
+ "type": "string",
335
+ "const": "completed"
336
+ },
337
+ "startedAt": {
338
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/disclosure/properties/generatedAt"
339
+ },
340
+ "completedAt": {
341
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/disclosure/properties/generatedAt"
342
+ },
343
+ "receipt": {
344
+ "type": "object",
345
+ "properties": {
346
+ "receiptId": {
347
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/attemptId"
348
+ },
349
+ "attemptId": {
350
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/attemptId"
351
+ },
352
+ "harness": {
353
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/attemptId"
354
+ },
355
+ "requested": {
356
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/disclosure/properties/requested"
357
+ },
358
+ "requiredRoute": {
359
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/disclosure/properties/requiredRoute"
360
+ },
361
+ "requiredSource": {
362
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/disclosure/properties/requiredSource"
363
+ },
364
+ "effective": {
365
+ "anyOf": [
366
+ {
367
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/disclosure/properties/requiredRoute"
368
+ },
369
+ {
370
+ "type": "null"
371
+ }
372
+ ],
373
+ "description": "Effective credential route: vendor-owned native session, Claudexor-managed API key, or credential-free local execution."
374
+ },
375
+ "effectiveSource": {
376
+ "anyOf": [
377
+ {
378
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/disclosure/properties/requiredSource"
379
+ },
380
+ {
381
+ "type": "null"
382
+ }
383
+ ],
384
+ "description": "Concrete credential source used or probed by a harness."
385
+ },
386
+ "selectionReason": {
387
+ "type": "string",
388
+ "enum": [
389
+ "exact_requested_route",
390
+ "adapter_unavailable",
391
+ "request_mismatch",
392
+ "route_missing",
393
+ "route_mismatch",
394
+ "source_missing",
395
+ "source_mismatch",
396
+ "harness_error",
397
+ "adapter_error",
398
+ "missing_completion",
399
+ "response_mismatch",
400
+ "scratch_mutated",
401
+ "protocol_violation",
402
+ "adapter_identity_mismatch",
403
+ "cancelled"
404
+ ]
405
+ },
406
+ "availability": {
407
+ "type": "string",
408
+ "enum": [
409
+ "available",
410
+ "unavailable",
411
+ "unknown"
412
+ ]
413
+ },
414
+ "verification": {
415
+ "type": "string",
416
+ "enum": [
417
+ "passed",
418
+ "failed",
419
+ "not_run"
420
+ ]
421
+ },
422
+ "billingKnowledge": {
423
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/disclosure/properties/billingKnowledge"
424
+ },
425
+ "costKnowledge": {
426
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/disclosure/properties/incrementalCostKnowledge"
427
+ },
428
+ "costUsd": {
429
+ "type": "number",
430
+ "minimum": 0
431
+ },
432
+ "startedAt": {
433
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/disclosure/properties/generatedAt"
434
+ },
435
+ "completedAt": {
436
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/disclosure/properties/generatedAt"
437
+ },
438
+ "challengeDigest": {
439
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/challengeDigest"
440
+ },
441
+ "requestDigest": {
442
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/challengeDigest"
443
+ },
444
+ "responseDigest": {
445
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/challengeDigest"
446
+ },
447
+ "streamDigest": {
448
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/challengeDigest"
449
+ },
450
+ "scratchBeforeDigest": {
451
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/challengeDigest"
452
+ },
453
+ "scratchAfterDigest": {
454
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/challengeDigest"
455
+ },
456
+ "stream": {
457
+ "type": "object",
458
+ "properties": {
459
+ "startedEvents": {
460
+ "type": "integer",
461
+ "minimum": 0
462
+ },
463
+ "completedEvents": {
464
+ "type": "integer",
465
+ "minimum": 0
466
+ },
467
+ "errorEvents": {
468
+ "type": "integer",
469
+ "minimum": 0
470
+ },
471
+ "unexpectedToolEvents": {
472
+ "type": "integer",
473
+ "minimum": 0
474
+ },
475
+ "interactionEvents": {
476
+ "type": "integer",
477
+ "minimum": 0
478
+ },
479
+ "sessionMismatchEvents": {
480
+ "type": "integer",
481
+ "minimum": 0
482
+ },
483
+ "eventsAfterCompleted": {
484
+ "type": "integer",
485
+ "minimum": 0
486
+ },
487
+ "aborted": {
488
+ "type": "boolean"
489
+ }
490
+ },
491
+ "required": [
492
+ "startedEvents",
493
+ "completedEvents",
494
+ "errorEvents",
495
+ "unexpectedToolEvents",
496
+ "interactionEvents",
497
+ "sessionMismatchEvents",
498
+ "eventsAfterCompleted",
499
+ "aborted"
500
+ ],
501
+ "additionalProperties": false
502
+ },
503
+ "evidenceRefs": {
504
+ "type": "array",
505
+ "items": {
506
+ "type": "string",
507
+ "minLength": 1
508
+ }
509
+ }
510
+ },
511
+ "required": [
512
+ "receiptId",
513
+ "attemptId",
514
+ "harness",
515
+ "requested",
516
+ "requiredRoute",
517
+ "requiredSource",
518
+ "effective",
519
+ "effectiveSource",
520
+ "selectionReason",
521
+ "availability",
522
+ "verification",
523
+ "billingKnowledge",
524
+ "costKnowledge",
525
+ "startedAt",
526
+ "completedAt",
527
+ "challengeDigest",
528
+ "requestDigest",
529
+ "responseDigest",
530
+ "streamDigest",
531
+ "scratchBeforeDigest",
532
+ "scratchAfterDigest",
533
+ "stream",
534
+ "evidenceRefs"
535
+ ],
536
+ "additionalProperties": false,
537
+ "description": "Immutable result of one exact-route same-harness capability smoke."
538
+ }
539
+ },
540
+ "required": [
541
+ "attemptId",
542
+ "challengeDigest",
543
+ "requestDigest",
544
+ "disclosure",
545
+ "state",
546
+ "startedAt",
547
+ "completedAt",
548
+ "receipt"
549
+ ],
550
+ "additionalProperties": false
551
+ },
552
+ {
553
+ "type": "object",
554
+ "properties": {
555
+ "attemptId": {
556
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/attemptId"
557
+ },
558
+ "challengeDigest": {
559
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/challengeDigest"
560
+ },
561
+ "requestDigest": {
562
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/challengeDigest"
563
+ },
564
+ "disclosure": {
565
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/disclosure"
566
+ },
567
+ "state": {
568
+ "type": "string",
569
+ "const": "interrupted_unknown"
570
+ },
571
+ "startedAt": {
572
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/disclosure/properties/generatedAt"
573
+ },
574
+ "interruptedAt": {
575
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/authCapability/anyOf/0/properties/disclosure/properties/generatedAt"
576
+ }
577
+ },
578
+ "required": [
579
+ "attemptId",
580
+ "challengeDigest",
581
+ "requestDigest",
582
+ "disclosure",
583
+ "state",
584
+ "startedAt",
585
+ "interruptedAt"
586
+ ],
587
+ "additionalProperties": false
588
+ }
589
+ ],
590
+ "description": "Single durable lifecycle for the exact-route same-harness capability proof."
591
+ },
592
+ "execution": {
593
+ "type": "object",
594
+ "properties": {
595
+ "executionId": {
596
+ "type": "string",
597
+ "pattern": "^[A-Za-z0-9-]+$"
598
+ },
599
+ "commandDigest": {
600
+ "type": "string",
601
+ "pattern": "^[a-f0-9]{64}$"
602
+ },
603
+ "manifestDigest": {
604
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/execution/properties/commandDigest"
605
+ },
606
+ "processGroup": {
607
+ "type": "object",
608
+ "properties": {
609
+ "schemaVersion": {
610
+ "type": "number",
611
+ "const": 1
612
+ },
613
+ "pgid": {
614
+ "type": "integer",
615
+ "exclusiveMinimum": 0
616
+ },
617
+ "leader": {
618
+ "type": "object",
619
+ "properties": {
620
+ "status": {
621
+ "type": "string",
622
+ "const": "known"
623
+ },
624
+ "pid": {
625
+ "type": "integer",
626
+ "exclusiveMinimum": 0
627
+ },
628
+ "platform": {
629
+ "type": "string",
630
+ "enum": [
631
+ "linux",
632
+ "darwin"
633
+ ]
634
+ },
635
+ "source": {
636
+ "type": "string",
637
+ "enum": [
638
+ "procfs_stat",
639
+ "proc_pidinfo"
640
+ ]
641
+ },
642
+ "startToken": {
643
+ "type": "string",
644
+ "minLength": 1
645
+ },
646
+ "processGroupId": {
647
+ "type": "integer",
648
+ "exclusiveMinimum": 0
649
+ }
650
+ },
651
+ "required": [
652
+ "status",
653
+ "pid",
654
+ "platform",
655
+ "source",
656
+ "startToken",
657
+ "processGroupId"
658
+ ],
659
+ "additionalProperties": false
660
+ }
661
+ },
662
+ "required": [
663
+ "schemaVersion",
664
+ "pgid",
665
+ "leader"
666
+ ],
667
+ "additionalProperties": false
668
+ },
669
+ "observedAt": {
670
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/deadlineAt"
671
+ },
672
+ "permitIssuedAt": {
673
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/deadlineAt"
674
+ }
675
+ },
676
+ "required": [
677
+ "executionId",
678
+ "commandDigest",
679
+ "manifestDigest",
680
+ "processGroup",
681
+ "observedAt"
682
+ ],
683
+ "additionalProperties": false,
684
+ "description": "Durable process-group and pre-execution permit evidence."
685
+ },
686
+ "authorization": {
687
+ "type": "object",
688
+ "properties": {
689
+ "executionId": {
690
+ "type": "string",
691
+ "pattern": "^[A-Za-z0-9-]+$"
692
+ },
693
+ "executable": {
694
+ "type": "object",
695
+ "properties": {
696
+ "realpath": {
697
+ "type": "string",
698
+ "pattern": "^\\/"
699
+ },
700
+ "sha256": {
701
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/execution/properties/commandDigest"
702
+ },
703
+ "size": {
704
+ "type": "integer",
705
+ "minimum": 0
706
+ },
707
+ "mode": {
708
+ "type": "integer",
709
+ "minimum": 0
710
+ },
711
+ "device": {
712
+ "type": "string",
713
+ "pattern": "^[0-9]+$"
714
+ },
715
+ "inode": {
716
+ "type": "string",
717
+ "pattern": "^[0-9]+$"
718
+ }
719
+ },
720
+ "required": [
721
+ "realpath",
722
+ "sha256",
723
+ "size",
724
+ "mode",
725
+ "device",
726
+ "inode"
727
+ ],
728
+ "additionalProperties": false
729
+ },
730
+ "args": {
731
+ "type": "array",
732
+ "items": {
733
+ "type": "string"
734
+ }
735
+ },
736
+ "commandDigest": {
737
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/execution/properties/commandDigest"
738
+ },
739
+ "manifestDigest": {
740
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/execution/properties/commandDigest"
741
+ }
742
+ },
743
+ "required": [
744
+ "executionId",
745
+ "executable",
746
+ "args",
747
+ "commandDigest",
748
+ "manifestDigest"
749
+ ],
750
+ "additionalProperties": false,
751
+ "description": "Immutable hash-bound command authorized before external handoff."
752
+ },
753
+ "nativeCommand": {
754
+ "type": "object",
755
+ "properties": {
756
+ "executionId": {
757
+ "type": "string",
758
+ "pattern": "^[A-Za-z0-9-]+$"
759
+ },
760
+ "commandDigest": {
761
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/execution/properties/commandDigest"
762
+ },
763
+ "manifestDigest": {
764
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/execution/properties/commandDigest"
765
+ },
766
+ "permitIssuedAt": {
767
+ "anyOf": [
768
+ {
769
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/deadlineAt"
770
+ },
771
+ {
772
+ "type": "null"
773
+ }
774
+ ]
775
+ },
776
+ "commandStarted": {
777
+ "type": "boolean"
778
+ },
779
+ "exitCode": {
780
+ "anyOf": [
781
+ {
782
+ "type": "integer",
783
+ "minimum": 0
784
+ },
785
+ {
786
+ "type": "null"
787
+ }
788
+ ]
789
+ },
790
+ "signal": {
791
+ "type": [
792
+ "string",
793
+ "null"
794
+ ]
795
+ },
796
+ "errorCode": {
797
+ "type": "string",
798
+ "enum": [
799
+ "permit_timeout",
800
+ "spawn_failed"
801
+ ]
802
+ },
803
+ "finishedAt": {
804
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/deadlineAt"
805
+ }
806
+ },
807
+ "required": [
808
+ "executionId",
809
+ "commandDigest",
810
+ "manifestDigest",
811
+ "permitIssuedAt",
812
+ "commandStarted",
813
+ "exitCode",
814
+ "signal",
815
+ "finishedAt"
816
+ ],
817
+ "additionalProperties": false,
818
+ "description": "Durable result of the hash-bound native login command, persisted before capability verification."
819
+ },
820
+ "terminationReconciliation": {
821
+ "type": "object",
822
+ "properties": {
823
+ "status": {
824
+ "type": "string",
825
+ "const": "empty"
826
+ },
827
+ "observedAt": {
828
+ "$ref": "#/definitions/ControlSetupJobSnapshot/properties/job/properties/deadlineAt"
829
+ }
830
+ },
831
+ "required": [
832
+ "status",
833
+ "observedAt"
834
+ ],
835
+ "additionalProperties": false,
836
+ "description": "Server-owned proof that a previously unconfirmed setup process group is empty."
837
+ }
838
+ },
839
+ "required": [
840
+ "jobId",
841
+ "harness",
842
+ "action",
843
+ "state",
844
+ "phase",
845
+ "command",
846
+ "guideUrl",
847
+ "message",
848
+ "createdAt",
849
+ "startedAt",
850
+ "finishedAt"
851
+ ],
852
+ "additionalProperties": false,
853
+ "description": "One daemon-managed exact-subscription native-login job."
854
+ },
855
+ "cursor": {
856
+ "type": "string",
857
+ "minLength": 1,
858
+ "maxLength": 4096,
859
+ "description": "Opaque durable cursor fencing the returned snapshot."
860
+ },
861
+ "sequence": {
862
+ "type": "integer",
863
+ "minimum": -9007199254740991,
864
+ "maximum": 9007199254740991,
865
+ "description": "Global partition sequence fenced by the snapshot."
866
+ }
867
+ },
868
+ "required": [
869
+ "job",
870
+ "cursor",
871
+ "sequence"
872
+ ],
873
+ "additionalProperties": false,
874
+ "description": "Atomically fenced setup-job snapshot used before attaching or reattaching SSE."
875
+ }
876
+ },
877
+ "$schema": "http://json-schema.org/draft-07/schema#"
878
+ }