@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
@@ -93,6 +93,55 @@
93
93
  },
94
94
  "default": [],
95
95
  "description": "Human-readable reasons for degraded/unavailable status or disabled intents."
96
+ },
97
+ "auth_sources": {
98
+ "type": "array",
99
+ "items": {
100
+ "type": "object",
101
+ "properties": {
102
+ "source": {
103
+ "type": "string",
104
+ "enum": [
105
+ "native_session",
106
+ "oauth_token_env",
107
+ "api_key_env",
108
+ "api_key_flag",
109
+ "provider_auth_file",
110
+ "none"
111
+ ],
112
+ "description": "Concrete credential source used or probed by a harness."
113
+ },
114
+ "availability": {
115
+ "type": "string",
116
+ "enum": [
117
+ "available",
118
+ "unavailable",
119
+ "unknown"
120
+ ]
121
+ },
122
+ "verification": {
123
+ "type": "string",
124
+ "enum": [
125
+ "passed",
126
+ "failed",
127
+ "not_run"
128
+ ]
129
+ },
130
+ "detail": {
131
+ "type": "string",
132
+ "description": "Redacted human-readable source evidence."
133
+ }
134
+ },
135
+ "required": [
136
+ "source",
137
+ "availability",
138
+ "verification"
139
+ ],
140
+ "additionalProperties": false,
141
+ "description": "Doctor-backed readiness for one exact credential source."
142
+ },
143
+ "default": [],
144
+ "description": "Doctor-backed readiness by authentication source; an empty array means the adapter did not report source readiness."
96
145
  }
97
146
  },
98
147
  "required": [
@@ -0,0 +1,34 @@
1
+ {
2
+ "$ref": "#/definitions/ControlApplyCheckResponse",
3
+ "definitions": {
4
+ "ControlApplyCheckResponse": {
5
+ "type": "object",
6
+ "properties": {
7
+ "ok": {
8
+ "type": "boolean"
9
+ },
10
+ "code": {
11
+ "anyOf": [
12
+ {
13
+ "type": "integer"
14
+ },
15
+ {
16
+ "type": "null"
17
+ }
18
+ ]
19
+ },
20
+ "stderr": {
21
+ "type": "string"
22
+ }
23
+ },
24
+ "required": [
25
+ "ok",
26
+ "code",
27
+ "stderr"
28
+ ],
29
+ "additionalProperties": false,
30
+ "description": "Mechanical git apply --check result."
31
+ }
32
+ },
33
+ "$schema": "http://json-schema.org/draft-07/schema#"
34
+ }
@@ -0,0 +1,57 @@
1
+ {
2
+ "$ref": "#/definitions/ControlArtifactListResponse",
3
+ "definitions": {
4
+ "ControlArtifactListResponse": {
5
+ "type": "object",
6
+ "properties": {
7
+ "runId": {
8
+ "type": "string",
9
+ "minLength": 1,
10
+ "description": "Non-empty identifier string."
11
+ },
12
+ "artifacts": {
13
+ "type": "array",
14
+ "items": {
15
+ "type": "object",
16
+ "properties": {
17
+ "path": {
18
+ "type": "string",
19
+ "description": "Artifact path relative to the run directory."
20
+ },
21
+ "kind": {
22
+ "type": "string",
23
+ "enum": [
24
+ "file",
25
+ "directory"
26
+ ],
27
+ "description": "Whether the artifact is a file or a directory."
28
+ },
29
+ "bytes": {
30
+ "type": "integer",
31
+ "minimum": 0,
32
+ "description": "Size in bytes; absent for directories."
33
+ },
34
+ "mime": {
35
+ "type": "string",
36
+ "description": "MIME type derived from the extension; absent for directories."
37
+ }
38
+ },
39
+ "required": [
40
+ "path",
41
+ "kind"
42
+ ],
43
+ "additionalProperties": false,
44
+ "description": "One artifact in the run's artifact tree."
45
+ },
46
+ "default": []
47
+ }
48
+ },
49
+ "required": [
50
+ "runId"
51
+ ],
52
+ "additionalProperties": false,
53
+ "description": "Run-keyed technical artifact or produced-output listing."
54
+ }
55
+ },
56
+ "$schema": "http://json-schema.org/draft-07/schema#"
57
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "$ref": "#/definitions/ControlAuthReadinessRefreshRequest",
3
+ "definitions": {
4
+ "ControlAuthReadinessRefreshRequest": {
5
+ "type": "object",
6
+ "properties": {
7
+ "authRequest": {
8
+ "type": "string",
9
+ "enum": [
10
+ "subscription",
11
+ "api_key",
12
+ "auto"
13
+ ],
14
+ "description": "Requested credential behavior: exact subscription, exact managed API key, or policy-governed auto selection."
15
+ },
16
+ "source": {
17
+ "type": "string",
18
+ "enum": [
19
+ "native_session",
20
+ "oauth_token_env",
21
+ "api_key_env",
22
+ "api_key_flag",
23
+ "provider_auth_file",
24
+ "none"
25
+ ],
26
+ "description": "Concrete credential source used or probed by a harness."
27
+ }
28
+ },
29
+ "required": [
30
+ "authRequest",
31
+ "source"
32
+ ],
33
+ "additionalProperties": false,
34
+ "description": "Request to refresh one exact harness authentication source without probing unrelated routes."
35
+ }
36
+ },
37
+ "$schema": "http://json-schema.org/draft-07/schema#"
38
+ }
@@ -0,0 +1,85 @@
1
+ {
2
+ "$ref": "#/definitions/ControlAuthReadinessRefreshResponse",
3
+ "definitions": {
4
+ "ControlAuthReadinessRefreshResponse": {
5
+ "type": "object",
6
+ "properties": {
7
+ "harnessId": {
8
+ "type": "string",
9
+ "minLength": 1,
10
+ "description": "Non-empty identifier string."
11
+ },
12
+ "authRequest": {
13
+ "type": "string",
14
+ "enum": [
15
+ "subscription",
16
+ "api_key",
17
+ "auto"
18
+ ],
19
+ "description": "Requested credential behavior: exact subscription, exact managed API key, or policy-governed auto selection."
20
+ },
21
+ "requestedSource": {
22
+ "type": "string",
23
+ "enum": [
24
+ "native_session",
25
+ "oauth_token_env",
26
+ "api_key_env",
27
+ "api_key_flag",
28
+ "provider_auth_file",
29
+ "none"
30
+ ],
31
+ "description": "Concrete credential source used or probed by a harness."
32
+ },
33
+ "observedAt": {
34
+ "type": "string",
35
+ "format": "date-time"
36
+ },
37
+ "readiness": {
38
+ "type": "object",
39
+ "properties": {
40
+ "source": {
41
+ "$ref": "#/definitions/ControlAuthReadinessRefreshResponse/properties/requestedSource"
42
+ },
43
+ "availability": {
44
+ "type": "string",
45
+ "enum": [
46
+ "available",
47
+ "unavailable",
48
+ "unknown"
49
+ ]
50
+ },
51
+ "verification": {
52
+ "type": "string",
53
+ "enum": [
54
+ "passed",
55
+ "failed",
56
+ "not_run"
57
+ ]
58
+ },
59
+ "detail": {
60
+ "type": "string",
61
+ "description": "Redacted human-readable source evidence."
62
+ }
63
+ },
64
+ "required": [
65
+ "source",
66
+ "availability",
67
+ "verification"
68
+ ],
69
+ "additionalProperties": false,
70
+ "description": "Doctor-backed readiness for one exact credential source."
71
+ }
72
+ },
73
+ "required": [
74
+ "harnessId",
75
+ "authRequest",
76
+ "requestedSource",
77
+ "observedAt",
78
+ "readiness"
79
+ ],
80
+ "additionalProperties": false,
81
+ "description": "Point-in-time readiness evidence for one exact harness credential source."
82
+ }
83
+ },
84
+ "$schema": "http://json-schema.org/draft-07/schema#"
85
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "$ref": "#/definitions/ControlCredentialProfileCreateRequest",
3
+ "definitions": {
4
+ "ControlCredentialProfileCreateRequest": {
5
+ "type": "object",
6
+ "properties": {
7
+ "harnessId": {
8
+ "type": "string",
9
+ "minLength": 1,
10
+ "description": "Harness family (claude | codex) for the config-dir login profile."
11
+ },
12
+ "profileId": {
13
+ "type": "string",
14
+ "minLength": 1,
15
+ "description": "New profile id (bounded slug, unique per harness)."
16
+ },
17
+ "displayName": {
18
+ "type": "string",
19
+ "minLength": 1,
20
+ "description": "Human label shown wherever the account appears; defaults to the id."
21
+ }
22
+ },
23
+ "required": [
24
+ "harnessId",
25
+ "profileId"
26
+ ],
27
+ "additionalProperties": false,
28
+ "description": "Request body for POST /credential-profiles."
29
+ }
30
+ },
31
+ "$schema": "http://json-schema.org/draft-07/schema#"
32
+ }
@@ -0,0 +1,142 @@
1
+ {
2
+ "$ref": "#/definitions/ControlCredentialProfileCreateResponse",
3
+ "definitions": {
4
+ "ControlCredentialProfileCreateResponse": {
5
+ "type": "object",
6
+ "properties": {
7
+ "profile": {
8
+ "type": "object",
9
+ "properties": {
10
+ "profile_id": {
11
+ "type": "string",
12
+ "minLength": 1,
13
+ "description": "Stable user-chosen profile identifier (unique per harness)."
14
+ },
15
+ "harness_id": {
16
+ "type": "string",
17
+ "minLength": 1,
18
+ "description": "Harness family this profile belongs to."
19
+ },
20
+ "display_name": {
21
+ "type": "string",
22
+ "minLength": 1,
23
+ "description": "Human label shown wherever the profile appears."
24
+ },
25
+ "credential_kind": {
26
+ "type": "string",
27
+ "enum": [
28
+ "config_dir_login",
29
+ "oauth_token",
30
+ "api_key"
31
+ ],
32
+ "description": "Credential transport a profile isolates: a scoped vendor config-dir login, a stored OAuth token, or a stored API key."
33
+ },
34
+ "isolation_locator": {
35
+ "type": [
36
+ "string",
37
+ "null"
38
+ ],
39
+ "default": null,
40
+ "description": "Canonical absolute config-dir path for config_dir_login profiles; null for secret-ref kinds."
41
+ },
42
+ "secret_ref": {
43
+ "type": [
44
+ "string",
45
+ "null"
46
+ ],
47
+ "default": null,
48
+ "description": "Namespaced secret-store name (e.g. claude_oauth:work) for oauth_token/api_key profiles; null for config_dir_login."
49
+ },
50
+ "enabled": {
51
+ "type": "boolean",
52
+ "default": true,
53
+ "description": "Disabled profiles are never routable."
54
+ },
55
+ "created_at": {
56
+ "anyOf": [
57
+ {
58
+ "type": "string",
59
+ "minLength": 1,
60
+ "description": "ISO-8601 timestamp string."
61
+ },
62
+ {
63
+ "type": "null"
64
+ }
65
+ ],
66
+ "description": "When the profile was registered; null for hand-written config entries.",
67
+ "default": null
68
+ }
69
+ },
70
+ "required": [
71
+ "profile_id",
72
+ "harness_id",
73
+ "display_name",
74
+ "credential_kind"
75
+ ],
76
+ "additionalProperties": false,
77
+ "description": "Durable non-secret registry entry for one credential identity of one harness; secret material lives in the vendor dir or the secret store, never here."
78
+ },
79
+ "status": {
80
+ "type": "object",
81
+ "properties": {
82
+ "profile_id": {
83
+ "type": "string",
84
+ "minLength": 1,
85
+ "description": "Non-empty identifier string."
86
+ },
87
+ "harness_id": {
88
+ "$ref": "#/definitions/ControlCredentialProfileCreateResponse/properties/status/properties/profile_id"
89
+ },
90
+ "availability": {
91
+ "type": "string",
92
+ "enum": [
93
+ "available",
94
+ "unavailable",
95
+ "unknown"
96
+ ]
97
+ },
98
+ "verification": {
99
+ "type": "string",
100
+ "enum": [
101
+ "passed",
102
+ "failed",
103
+ "not_run"
104
+ ]
105
+ },
106
+ "detail": {
107
+ "type": "string",
108
+ "description": "Redacted human-readable probe evidence."
109
+ },
110
+ "last_verified_at": {
111
+ "anyOf": [
112
+ {
113
+ "$ref": "#/definitions/ControlCredentialProfileCreateResponse/properties/profile/properties/created_at/anyOf/0"
114
+ },
115
+ {
116
+ "type": "null"
117
+ }
118
+ ],
119
+ "description": "When a probe last verified this profile; null = never verified.",
120
+ "default": null
121
+ }
122
+ },
123
+ "required": [
124
+ "profile_id",
125
+ "harness_id",
126
+ "availability",
127
+ "verification"
128
+ ],
129
+ "additionalProperties": false,
130
+ "description": "Doctor-owned readiness projection for one credential profile; never durable config."
131
+ }
132
+ },
133
+ "required": [
134
+ "profile",
135
+ "status"
136
+ ],
137
+ "additionalProperties": false,
138
+ "description": "The registered profile with its initial doctor readiness projection."
139
+ }
140
+ },
141
+ "$schema": "http://json-schema.org/draft-07/schema#"
142
+ }
@@ -0,0 +1,107 @@
1
+ {
2
+ "$ref": "#/definitions/ControlCredentialProfileDeleteResponse",
3
+ "definitions": {
4
+ "ControlCredentialProfileDeleteResponse": {
5
+ "type": "object",
6
+ "properties": {
7
+ "profile": {
8
+ "type": "object",
9
+ "properties": {
10
+ "profile_id": {
11
+ "type": "string",
12
+ "minLength": 1,
13
+ "description": "Stable user-chosen profile identifier (unique per harness)."
14
+ },
15
+ "harness_id": {
16
+ "type": "string",
17
+ "minLength": 1,
18
+ "description": "Harness family this profile belongs to."
19
+ },
20
+ "display_name": {
21
+ "type": "string",
22
+ "minLength": 1,
23
+ "description": "Human label shown wherever the profile appears."
24
+ },
25
+ "credential_kind": {
26
+ "type": "string",
27
+ "enum": [
28
+ "config_dir_login",
29
+ "oauth_token",
30
+ "api_key"
31
+ ],
32
+ "description": "Credential transport a profile isolates: a scoped vendor config-dir login, a stored OAuth token, or a stored API key."
33
+ },
34
+ "isolation_locator": {
35
+ "type": [
36
+ "string",
37
+ "null"
38
+ ],
39
+ "default": null,
40
+ "description": "Canonical absolute config-dir path for config_dir_login profiles; null for secret-ref kinds."
41
+ },
42
+ "secret_ref": {
43
+ "type": [
44
+ "string",
45
+ "null"
46
+ ],
47
+ "default": null,
48
+ "description": "Namespaced secret-store name (e.g. claude_oauth:work) for oauth_token/api_key profiles; null for config_dir_login."
49
+ },
50
+ "enabled": {
51
+ "type": "boolean",
52
+ "default": true,
53
+ "description": "Disabled profiles are never routable."
54
+ },
55
+ "created_at": {
56
+ "anyOf": [
57
+ {
58
+ "type": "string",
59
+ "minLength": 1,
60
+ "description": "ISO-8601 timestamp string."
61
+ },
62
+ {
63
+ "type": "null"
64
+ }
65
+ ],
66
+ "description": "When the profile was registered; null for hand-written config entries.",
67
+ "default": null
68
+ }
69
+ },
70
+ "required": [
71
+ "profile_id",
72
+ "harness_id",
73
+ "display_name",
74
+ "credential_kind"
75
+ ],
76
+ "additionalProperties": false,
77
+ "description": "The removed registry entry."
78
+ },
79
+ "removed": {
80
+ "type": "boolean",
81
+ "const": true
82
+ },
83
+ "credentialCleanup": {
84
+ "type": "string",
85
+ "enum": [
86
+ "config_dir_removed",
87
+ "secret_deleted",
88
+ "none"
89
+ ],
90
+ "description": "What credential material was deleted alongside the registry entry."
91
+ },
92
+ "cleanupWarning": {
93
+ "type": "string",
94
+ "description": "Present when the registry entry was removed but cleanup failed (orphan left)."
95
+ }
96
+ },
97
+ "required": [
98
+ "profile",
99
+ "removed",
100
+ "credentialCleanup"
101
+ ],
102
+ "additionalProperties": false,
103
+ "description": "Receipt for a credential-profile removal."
104
+ }
105
+ },
106
+ "$schema": "http://json-schema.org/draft-07/schema#"
107
+ }