@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 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,sEAAsE;AACtE,eAAO,MAAM,WAAW,gDAIrB,CAAC;AACJ,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,iFAAiF;AACjF,eAAO,MAAM,eAAe,0DAIzB,CAAC;AACJ,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,eAAO,MAAM,gBAAgB,oDAAkD,CAAC;AAChF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,eAAO,MAAM,gBAAgB,4CAA0C,CAAC;AACxE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,eAAO,MAAM,cAAc,+GAS2C,CAAC;AACvE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D;;;;;8DAK8D;AAC9D,eAAO,MAAM,eAAe,yHAUzB,CAAC;AACJ,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D;2EAC2E;AAC3E,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,cAAc,GAAG,SAAS,GAAG,MAAM,EAC9C,SAAS,EAAE,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,IAAI,GACxD,eAAe,CASjB;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;EAQuC,CAAC;AACxE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,cAAc,GAAG,SAAS,GAAG,MAAM,EAC9C,OAAO,EAAE,SAAS,mBAAmB,EAAE,GACtC,eAAe,GAAG,SAAS,GAAG,IAAI,CAkBpC;AAED;;;;;GAKG;AACH,eAAO,MAAM,kCAAkC;;;;;;;;;EAQ5C,CAAC;AACJ,MAAM,MAAM,kCAAkC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAEpG;;;;GAIG;AACH,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBwC,CAAC;AACzF,MAAM,MAAM,mCAAmC,GAAG,CAAC,CAAC,KAAK,CACvD,OAAO,mCAAmC,CAC3C,CAAC;AAEF,2EAA2E;AAC3E,eAAO,MAAM,gBAAgB,8EAI1B,CAAC;AACJ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,eAAO,MAAM,aAAa,8CAEgD,CAAC;AAC3E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D,eAAO,MAAM,6BAA6B,yTAgBxC,CAAC;AACH,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAE1F,qFAAqF;AACrF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgC7B,CAAC;AACJ,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE;;;;GAIG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW9B,CAAC;AACZ,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAExF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwH+C,CAAC;AAClF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAS1E,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAgD,CAAC;AACnF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE1E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyDjC,CAAC;AACJ,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
package/dist/auth.js ADDED
@@ -0,0 +1,371 @@
1
+ import { z } from "zod";
2
+ import { Id } from "./primitives.js";
3
+ const AuthTimestamp = z.string().datetime({ offset: true });
4
+ const Sha256Hex = z.string().regex(/^[a-f0-9]{64}$/);
5
+ /** What credential behavior the caller asked Claudexor to enforce. */
6
+ export const AuthRequest = z
7
+ .enum(["subscription", "api_key", "auto"])
8
+ .describe("Requested credential behavior: exact subscription, exact managed API key, or policy-governed auto selection.");
9
+ /** The concrete credential transport selected for one real harness execution. */
10
+ export const CredentialRoute = z
11
+ .enum(["vendor_native", "managed_api_key", "local"])
12
+ .describe("Effective credential route: vendor-owned native session, Claudexor-managed API key, or credential-free local execution.");
13
+ export const AuthAvailability = z.enum(["available", "unavailable", "unknown"]);
14
+ export const AuthVerification = z.enum(["passed", "failed", "not_run"]);
15
+ export const AuthSourceKind = z
16
+ .enum([
17
+ "native_session",
18
+ "oauth_token_env",
19
+ "api_key_env",
20
+ "api_key_flag",
21
+ "provider_auth_file",
22
+ "none",
23
+ ])
24
+ .describe("Concrete credential source used or probed by a harness.");
25
+ /** Why a run's effective auth route is what it is — a DETERMINISTIC projection
26
+ * of (requested preference x disclosed effective route), never scraped from
27
+ * prose. `native_first` documents INV-061 (auto prefers the native session);
28
+ * `no_native_session_fallback` is the honest auto→api_key downgrade;
29
+ * `requested_route_unavailable` surfaces a route that contradicts an explicit
30
+ * preference (should not happen — surfacing beats hiding). */
31
+ export const AuthRouteReason = z
32
+ .enum([
33
+ "as_requested",
34
+ "native_first",
35
+ "no_native_session_fallback",
36
+ "requested_route_unavailable",
37
+ "undisclosed",
38
+ ])
39
+ .describe("Deterministic reason for the effective auth route: as_requested, native_first (auto, INV-061), no_native_session_fallback (auto downgraded to api_key), requested_route_unavailable (explicit preference contradicted), or undisclosed.");
40
+ /** One owner for the requested x effective → reason mapping (used by the
41
+ * engine telemetry writer; surfaces project the stored value verbatim). */
42
+ export function deriveAuthRouteReason(requested, effective) {
43
+ if (effective === null || effective === "unknown")
44
+ return "undisclosed";
45
+ if (requested === "subscription") {
46
+ return effective === "local_session" ? "as_requested" : "requested_route_unavailable";
47
+ }
48
+ if (requested === "api_key") {
49
+ return effective === "api_key" ? "as_requested" : "requested_route_unavailable";
50
+ }
51
+ return effective === "local_session" ? "native_first" : "no_native_session_fallback";
52
+ }
53
+ export const AuthSourceReadiness = z
54
+ .object({
55
+ source: AuthSourceKind,
56
+ availability: AuthAvailability,
57
+ verification: AuthVerification,
58
+ detail: z.string().optional().describe("Redacted human-readable source evidence."),
59
+ })
60
+ .strict()
61
+ .describe("Doctor-backed readiness for one exact credential source.");
62
+ /**
63
+ * Pre-spawn ESTIMATE of the credential route a run will take, projected
64
+ * deterministically from the requested preference and the doctor's source
65
+ * readiness — the same native/OAuth-first doctrine the adapters follow
66
+ * (INV-061), never a guess from manifests. Null when no usable source is
67
+ * known (or the preferred route has none): consumers must stay fail-closed
68
+ * on null, never assume a route. The per-attempt disclosure remains the
69
+ * post-spawn truth; this estimate exists for PRE-spawn gates (model x route).
70
+ */
71
+ export function estimateEffectiveAuthRoute(requested, sources) {
72
+ const usable = (s) => s.availability === "available" && s.verification !== "failed";
73
+ const hasNative = sources.some((s) => usable(s) && (s.source === "native_session" || s.source === "oauth_token_env"));
74
+ const hasApiKey = sources.some((s) => usable(s) &&
75
+ (s.source === "api_key_env" ||
76
+ s.source === "api_key_flag" ||
77
+ s.source === "provider_auth_file"));
78
+ if (requested === "subscription")
79
+ return hasNative ? "local_session" : null;
80
+ if (requested === "api_key")
81
+ return hasApiKey ? "api_key" : null;
82
+ if (hasNative)
83
+ return "local_session";
84
+ if (hasApiKey)
85
+ return "api_key";
86
+ return null;
87
+ }
88
+ /**
89
+ * Exact point-in-time readiness request for one harness credential source.
90
+ * The harness id is carried by the route/service input, so the body cannot
91
+ * disagree with the selected adapter. A refresh always bypasses readiness
92
+ * caches; there is intentionally no staged `fresh` knob.
93
+ */
94
+ export const ControlAuthReadinessRefreshRequest = z
95
+ .object({
96
+ authRequest: AuthRequest,
97
+ source: AuthSourceKind,
98
+ })
99
+ .strict()
100
+ .describe("Request to refresh one exact harness authentication source without probing unrelated routes.");
101
+ /**
102
+ * Source-scoped readiness must remain separate from the aggregate harness
103
+ * catalog: it proves only the requested source and must not overwrite other
104
+ * sources, intents, model truth, or aggregate health.
105
+ */
106
+ export const ControlAuthReadinessRefreshResponse = z
107
+ .object({
108
+ harnessId: Id,
109
+ authRequest: AuthRequest,
110
+ requestedSource: AuthSourceKind,
111
+ observedAt: AuthTimestamp,
112
+ readiness: AuthSourceReadiness,
113
+ })
114
+ .strict()
115
+ .superRefine((value, context) => {
116
+ if (value.readiness.source !== value.requestedSource) {
117
+ context.addIssue({
118
+ code: z.ZodIssueCode.custom,
119
+ path: ["readiness", "source"],
120
+ message: "auth readiness response source must match the exact requested source",
121
+ });
122
+ }
123
+ })
124
+ .describe("Point-in-time readiness evidence for one exact harness credential source.");
125
+ /** Billing truth is deliberately independent from credential transport. */
126
+ export const BillingKnowledge = z
127
+ .enum(["proven_zero", "subscription_entitlement", "metered", "unknown"])
128
+ .describe("What is actually known about incremental billing; a native credential route alone never proves entitlement or zero cost.");
129
+ export const CostKnowledge = z
130
+ .enum(["exact", "estimated", "unknown"])
131
+ .describe("Quality of incremental-cash cost evidence for an operation.");
132
+ export const AuthCapabilitySelectionReason = z.enum([
133
+ "exact_requested_route",
134
+ "adapter_unavailable",
135
+ "request_mismatch",
136
+ "route_missing",
137
+ "route_mismatch",
138
+ "source_missing",
139
+ "source_mismatch",
140
+ "harness_error",
141
+ "adapter_error",
142
+ "missing_completion",
143
+ "response_mismatch",
144
+ "scratch_mutated",
145
+ "protocol_violation",
146
+ "adapter_identity_mismatch",
147
+ "cancelled",
148
+ ]);
149
+ /** Persisted and shown before a setup flow is allowed to spend a real model turn. */
150
+ export const AuthSmokeDisclosure = z
151
+ .object({
152
+ schemaVersion: z.literal(1),
153
+ protocolVersion: z.literal(1),
154
+ harness: Id,
155
+ requested: AuthRequest,
156
+ requiredRoute: CredentialRoute,
157
+ requiredSource: AuthSourceKind,
158
+ networkScope: z.literal("selected_harness_only"),
159
+ billingKnowledge: BillingKnowledge,
160
+ incrementalCostKnowledge: CostKnowledge,
161
+ mayConsumeQuota: z.boolean(),
162
+ generatedAt: AuthTimestamp,
163
+ })
164
+ .strict()
165
+ .superRefine((value, context) => {
166
+ if (value.requiredRoute === "vendor_native") {
167
+ if (value.billingKnowledge !== "unknown" ||
168
+ value.incrementalCostKnowledge !== "unknown" ||
169
+ !value.mayConsumeQuota) {
170
+ context.addIssue({
171
+ code: z.ZodIssueCode.custom,
172
+ message: "a vendor-native smoke must disclose unknown billing/cost and possible quota consumption",
173
+ });
174
+ }
175
+ }
176
+ })
177
+ .describe("Pre-execution disclosure for the exact same-harness capability smoke required by auth setup.");
178
+ /**
179
+ * Immutable, redacted proof that the selected adapter completed a real
180
+ * same-harness round trip on the exact requested credential route. Model text
181
+ * is never stored: responseDigest binds the receipt to the nonce response.
182
+ */
183
+ export const AuthCapabilityStreamEvidence = z
184
+ .object({
185
+ startedEvents: z.number().int().nonnegative(),
186
+ completedEvents: z.number().int().nonnegative(),
187
+ errorEvents: z.number().int().nonnegative(),
188
+ unexpectedToolEvents: z.number().int().nonnegative(),
189
+ interactionEvents: z.number().int().nonnegative(),
190
+ sessionMismatchEvents: z.number().int().nonnegative(),
191
+ eventsAfterCompleted: z.number().int().nonnegative(),
192
+ aborted: z.boolean(),
193
+ })
194
+ .strict();
195
+ export const AuthCapabilityReceipt = z
196
+ .object({
197
+ receiptId: Id,
198
+ attemptId: Id,
199
+ harness: Id,
200
+ requested: AuthRequest,
201
+ requiredRoute: CredentialRoute,
202
+ requiredSource: AuthSourceKind,
203
+ effective: CredentialRoute.nullable(),
204
+ effectiveSource: AuthSourceKind.nullable(),
205
+ selectionReason: AuthCapabilitySelectionReason,
206
+ availability: AuthAvailability,
207
+ verification: AuthVerification,
208
+ billingKnowledge: BillingKnowledge,
209
+ costKnowledge: CostKnowledge,
210
+ costUsd: z.number().nonnegative().optional(),
211
+ startedAt: AuthTimestamp,
212
+ completedAt: AuthTimestamp,
213
+ challengeDigest: Sha256Hex,
214
+ requestDigest: Sha256Hex,
215
+ responseDigest: Sha256Hex,
216
+ streamDigest: Sha256Hex,
217
+ scratchBeforeDigest: Sha256Hex,
218
+ scratchAfterDigest: Sha256Hex,
219
+ stream: AuthCapabilityStreamEvidence,
220
+ evidenceRefs: z.array(z.string().min(1)),
221
+ })
222
+ .strict()
223
+ .superRefine((value, context) => {
224
+ if (value.verification === "passed") {
225
+ if (value.availability !== "available") {
226
+ context.addIssue({
227
+ code: z.ZodIssueCode.custom,
228
+ path: ["availability"],
229
+ message: "passed verification requires available credentials",
230
+ });
231
+ }
232
+ if (value.effective !== value.requiredRoute) {
233
+ context.addIssue({
234
+ code: z.ZodIssueCode.custom,
235
+ path: ["effective"],
236
+ message: "passed verification requires the exact requested credential route",
237
+ });
238
+ }
239
+ if (value.effectiveSource !== value.requiredSource) {
240
+ context.addIssue({
241
+ code: z.ZodIssueCode.custom,
242
+ path: ["effectiveSource"],
243
+ message: "passed verification requires the exact requested credential source",
244
+ });
245
+ }
246
+ if (value.selectionReason !== "exact_requested_route") {
247
+ context.addIssue({
248
+ code: z.ZodIssueCode.custom,
249
+ path: ["selectionReason"],
250
+ message: "passed verification requires exact_requested_route evidence",
251
+ });
252
+ }
253
+ if (value.responseDigest !== value.challengeDigest) {
254
+ context.addIssue({
255
+ code: z.ZodIssueCode.custom,
256
+ path: ["responseDigest"],
257
+ message: "passed verification response must match the persisted challenge digest",
258
+ });
259
+ }
260
+ if (value.stream.startedEvents !== 1 ||
261
+ value.stream.completedEvents !== 1 ||
262
+ value.stream.errorEvents !== 0 ||
263
+ value.stream.unexpectedToolEvents !== 0 ||
264
+ value.stream.sessionMismatchEvents !== 0 ||
265
+ value.stream.interactionEvents !== 0 ||
266
+ value.stream.eventsAfterCompleted !== 0 ||
267
+ value.stream.aborted) {
268
+ context.addIssue({
269
+ code: z.ZodIssueCode.custom,
270
+ path: ["stream"],
271
+ message: "passed verification requires one clean started/completed stream",
272
+ });
273
+ }
274
+ if (value.scratchBeforeDigest !== value.scratchAfterDigest) {
275
+ context.addIssue({
276
+ code: z.ZodIssueCode.custom,
277
+ path: ["scratchAfterDigest"],
278
+ message: "passed verification requires an unchanged external scratch tree",
279
+ });
280
+ }
281
+ }
282
+ if (Date.parse(value.completedAt) < Date.parse(value.startedAt)) {
283
+ context.addIssue({
284
+ code: z.ZodIssueCode.custom,
285
+ path: ["completedAt"],
286
+ message: "receipt completion cannot precede its start",
287
+ });
288
+ }
289
+ if (value.requiredRoute === "vendor_native" &&
290
+ (value.billingKnowledge !== "unknown" || value.costKnowledge !== "unknown")) {
291
+ context.addIssue({
292
+ code: z.ZodIssueCode.custom,
293
+ message: "vendor-native route evidence alone cannot prove billing or incremental cash cost",
294
+ });
295
+ }
296
+ if (value.costKnowledge === "unknown" && value.costUsd !== undefined) {
297
+ context.addIssue({
298
+ code: z.ZodIssueCode.custom,
299
+ path: ["costUsd"],
300
+ message: "unknown cost must not fabricate a USD value",
301
+ });
302
+ }
303
+ if (value.costKnowledge !== "unknown" && value.costUsd === undefined) {
304
+ context.addIssue({
305
+ code: z.ZodIssueCode.custom,
306
+ path: ["costUsd"],
307
+ message: "known or estimated cost requires a USD value",
308
+ });
309
+ }
310
+ })
311
+ .describe("Immutable result of one exact-route same-harness capability smoke.");
312
+ const AuthCapabilityBindingShape = {
313
+ attemptId: Id,
314
+ challengeDigest: Sha256Hex,
315
+ requestDigest: Sha256Hex,
316
+ disclosure: AuthSmokeDisclosure,
317
+ };
318
+ export const AuthCapabilityBinding = z.object(AuthCapabilityBindingShape).strict();
319
+ export const AuthCapabilityLifecycle = z
320
+ .discriminatedUnion("state", [
321
+ z.object({ ...AuthCapabilityBindingShape, state: z.literal("disclosed") }).strict(),
322
+ z
323
+ .object({
324
+ ...AuthCapabilityBindingShape,
325
+ state: z.literal("running"),
326
+ startedAt: AuthTimestamp,
327
+ })
328
+ .strict(),
329
+ z
330
+ .object({
331
+ ...AuthCapabilityBindingShape,
332
+ state: z.literal("completed"),
333
+ startedAt: AuthTimestamp,
334
+ completedAt: AuthTimestamp,
335
+ receipt: AuthCapabilityReceipt,
336
+ })
337
+ .strict(),
338
+ z
339
+ .object({
340
+ ...AuthCapabilityBindingShape,
341
+ state: z.literal("interrupted_unknown"),
342
+ startedAt: AuthTimestamp,
343
+ interruptedAt: AuthTimestamp,
344
+ })
345
+ .strict(),
346
+ ])
347
+ .superRefine((value, context) => {
348
+ if ("startedAt" in value &&
349
+ Date.parse(value.startedAt) < Date.parse(value.disclosure.generatedAt)) {
350
+ context.addIssue({
351
+ code: z.ZodIssueCode.custom,
352
+ path: ["startedAt"],
353
+ message: "capability smoke cannot start before its disclosure",
354
+ });
355
+ }
356
+ if (value.state === "completed") {
357
+ if (value.receipt.attemptId !== value.attemptId ||
358
+ value.receipt.challengeDigest !== value.challengeDigest ||
359
+ value.receipt.requestDigest !== value.requestDigest ||
360
+ value.receipt.startedAt !== value.startedAt ||
361
+ value.receipt.completedAt !== value.completedAt) {
362
+ context.addIssue({
363
+ code: z.ZodIssueCode.custom,
364
+ path: ["receipt"],
365
+ message: "completed lifecycle receipt must match its durable binding and timestamps",
366
+ });
367
+ }
368
+ }
369
+ })
370
+ .describe("Single durable auth-smoke lifecycle: disclosed, running, completed, or interrupted_unknown.");
371
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
package/dist/budget.d.ts CHANGED
@@ -1,8 +1,89 @@
1
1
  import { z } from "zod";
2
+ export declare const PaidBudget: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
3
+ kind: z.ZodLiteral<"unlimited">;
4
+ }, "strict", z.ZodTypeAny, {
5
+ kind: "unlimited";
6
+ }, {
7
+ kind: "unlimited";
8
+ }>, z.ZodObject<{
9
+ kind: z.ZodLiteral<"finite">;
10
+ maxUsd: z.ZodNumber;
11
+ }, "strict", z.ZodTypeAny, {
12
+ kind: "finite";
13
+ maxUsd: number;
14
+ }, {
15
+ kind: "finite";
16
+ maxUsd: number;
17
+ }>]>;
18
+ export type PaidBudget = z.infer<typeof PaidBudget>;
19
+ export declare const CostEvidence: z.ZodObject<{
20
+ knowledge: z.ZodEnum<["exact", "estimated", "unknown"]>;
21
+ billing: z.ZodEnum<["proven_zero", "subscription_entitlement", "metered", "unknown"]>;
22
+ source: z.ZodString;
23
+ provenance: z.ZodArray<z.ZodString, "many">;
24
+ estimatedUsd: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
25
+ }, "strict", z.ZodTypeAny, {
26
+ source: string;
27
+ knowledge: "exact" | "unknown" | "estimated";
28
+ billing: "unknown" | "proven_zero" | "subscription_entitlement" | "metered";
29
+ provenance: string[];
30
+ estimatedUsd: number | null;
31
+ }, {
32
+ source: string;
33
+ knowledge: "exact" | "unknown" | "estimated";
34
+ billing: "unknown" | "proven_zero" | "subscription_entitlement" | "metered";
35
+ provenance: string[];
36
+ estimatedUsd?: number | null | undefined;
37
+ }>;
38
+ export type CostEvidence = z.infer<typeof CostEvidence>;
2
39
  export declare const AuthMode: z.ZodEnum<["local_session", "api_key", "unknown"]>;
3
40
  export type AuthMode = z.infer<typeof AuthMode>;
4
- export declare const Portfolio: z.ZodEnum<["daily-rich", "balanced", "cheapest", "strongest", "burn", "subscription-first", "api-overflow", "conserve-claude", "conserve-codex"]>;
5
- export type Portfolio = z.infer<typeof Portfolio>;
41
+ export declare const RoutingGoal: z.ZodEnum<["auto", "quality", "economy"]>;
42
+ export type RoutingGoal = z.infer<typeof RoutingGoal>;
43
+ export declare const PaidFallback: z.ZodEnum<["never", "when_unavailable", "allowed_within_cap"]>;
44
+ export type PaidFallback = z.infer<typeof PaidFallback>;
45
+ export declare const QualityTierRoute: z.ZodObject<{
46
+ harness: z.ZodString;
47
+ model: z.ZodString;
48
+ effort: z.ZodEnum<["low", "medium", "high", "xhigh", "max"]>;
49
+ }, "strict", z.ZodTypeAny, {
50
+ harness: string;
51
+ model: string;
52
+ effort: "low" | "medium" | "high" | "xhigh" | "max";
53
+ }, {
54
+ harness: string;
55
+ model: string;
56
+ effort: "low" | "medium" | "high" | "xhigh" | "max";
57
+ }>;
58
+ export type QualityTierRoute = z.infer<typeof QualityTierRoute>;
59
+ export declare const QualityTier: z.ZodArray<z.ZodObject<{
60
+ harness: z.ZodString;
61
+ model: z.ZodString;
62
+ effort: z.ZodEnum<["low", "medium", "high", "xhigh", "max"]>;
63
+ }, "strict", z.ZodTypeAny, {
64
+ harness: string;
65
+ model: string;
66
+ effort: "low" | "medium" | "high" | "xhigh" | "max";
67
+ }, {
68
+ harness: string;
69
+ model: string;
70
+ effort: "low" | "medium" | "high" | "xhigh" | "max";
71
+ }>, "many">;
72
+ export type QualityTier = z.infer<typeof QualityTier>;
73
+ export declare const QualityTierSet: z.ZodDefault<z.ZodRecord<z.ZodEnum<["plan", "spec", "implement", "create_from_scratch", "repair", "review", "verify", "synthesize", "explain", "audit", "orchestrate"]>, z.ZodArray<z.ZodArray<z.ZodObject<{
74
+ harness: z.ZodString;
75
+ model: z.ZodString;
76
+ effort: z.ZodEnum<["low", "medium", "high", "xhigh", "max"]>;
77
+ }, "strict", z.ZodTypeAny, {
78
+ harness: string;
79
+ model: string;
80
+ effort: "low" | "medium" | "high" | "xhigh" | "max";
81
+ }, {
82
+ harness: string;
83
+ model: string;
84
+ effort: "low" | "medium" | "high" | "xhigh" | "max";
85
+ }>, "many">, "many">>>;
86
+ export type QualityTierSet = z.infer<typeof QualityTierSet>;
6
87
  /** A pre-call reservation. Created before work; settled after. Never post-hoc only. */
7
88
  export declare const BudgetLease: z.ZodObject<{
8
89
  lease_id: z.ZodString;
@@ -11,65 +92,113 @@ export declare const BudgetLease: z.ZodObject<{
11
92
  intent: z.ZodEnum<["plan", "spec", "implement", "create_from_scratch", "repair", "review", "verify", "synthesize", "explain", "audit", "orchestrate"]>;
12
93
  harness_id: z.ZodString;
13
94
  model_hint: z.ZodDefault<z.ZodNullable<z.ZodString>>;
14
- max_usd: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
95
+ cost: z.ZodObject<{
96
+ knowledge: z.ZodEnum<["exact", "estimated", "unknown"]>;
97
+ billing: z.ZodEnum<["proven_zero", "subscription_entitlement", "metered", "unknown"]>;
98
+ source: z.ZodString;
99
+ provenance: z.ZodArray<z.ZodString, "many">;
100
+ estimatedUsd: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
101
+ }, "strict", z.ZodTypeAny, {
102
+ source: string;
103
+ knowledge: "exact" | "unknown" | "estimated";
104
+ billing: "unknown" | "proven_zero" | "subscription_entitlement" | "metered";
105
+ provenance: string[];
106
+ estimatedUsd: number | null;
107
+ }, {
108
+ source: string;
109
+ knowledge: "exact" | "unknown" | "estimated";
110
+ billing: "unknown" | "proven_zero" | "subscription_entitlement" | "metered";
111
+ provenance: string[];
112
+ estimatedUsd?: number | null | undefined;
113
+ }>;
15
114
  reason: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
16
115
  created_at: z.ZodString;
17
116
  state: z.ZodDefault<z.ZodEnum<["reserved", "settled", "cancelled"]>>;
18
117
  }, "strip", z.ZodTypeAny, {
118
+ state: "cancelled" | "reserved" | "settled";
19
119
  harness_id: string;
20
- intent: "plan" | "audit" | "orchestrate" | "spec" | "implement" | "create_from_scratch" | "repair" | "review" | "verify" | "synthesize" | "explain";
21
- model_hint: string | null;
22
- max_usd: number | null;
23
120
  created_at: string;
24
- state: "cancelled" | "reserved" | "settled";
25
121
  reason: string[];
122
+ intent: "plan" | "audit" | "orchestrate" | "spec" | "implement" | "create_from_scratch" | "repair" | "review" | "verify" | "synthesize" | "explain";
123
+ model_hint: string | null;
26
124
  lease_id: string;
27
125
  task_id: string;
126
+ cost: {
127
+ source: string;
128
+ knowledge: "exact" | "unknown" | "estimated";
129
+ billing: "unknown" | "proven_zero" | "subscription_entitlement" | "metered";
130
+ provenance: string[];
131
+ estimatedUsd: number | null;
132
+ };
28
133
  attempt_id?: string | undefined;
29
134
  }, {
30
135
  harness_id: string;
31
- intent: "plan" | "audit" | "orchestrate" | "spec" | "implement" | "create_from_scratch" | "repair" | "review" | "verify" | "synthesize" | "explain";
32
136
  created_at: string;
137
+ intent: "plan" | "audit" | "orchestrate" | "spec" | "implement" | "create_from_scratch" | "repair" | "review" | "verify" | "synthesize" | "explain";
33
138
  lease_id: string;
34
139
  task_id: string;
35
- model_hint?: string | null | undefined;
36
- max_usd?: number | null | undefined;
140
+ cost: {
141
+ source: string;
142
+ knowledge: "exact" | "unknown" | "estimated";
143
+ billing: "unknown" | "proven_zero" | "subscription_entitlement" | "metered";
144
+ provenance: string[];
145
+ estimatedUsd?: number | null | undefined;
146
+ };
37
147
  state?: "cancelled" | "reserved" | "settled" | undefined;
38
148
  reason?: string[] | undefined;
149
+ model_hint?: string | null | undefined;
39
150
  attempt_id?: string | undefined;
40
151
  }>;
41
152
  export type BudgetLease = z.infer<typeof BudgetLease>;
42
153
  /** An observed quota/usage signal (rate-limit error, used-percent, reset hint). */
43
154
  export declare const BudgetObservation: z.ZodObject<{
44
155
  harness_id: z.ZodString;
156
+ /** Credential route the signal was observed on (round-17 #2); absent on
157
+ * legacy/synthetic observations. */
158
+ credential_route: z.ZodOptional<z.ZodEnum<["vendor_native", "managed_api_key", "local"]>>;
159
+ /** The credential subject the signal belongs to (round-17 #2): a
160
+ * credential-profile id, null for the engine default. Cooldown/pace
161
+ * queries filter by exact subject so profile A's limit never penalizes
162
+ * profile B or the default. */
163
+ subject_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
45
164
  ts: z.ZodString;
46
165
  quality: z.ZodEnum<["exact", "native", "observed", "manual", "unknown"]>;
47
- kind: z.ZodEnum<["spend", "rate_limited", "used_percent", "cooldown", "manual"]>;
166
+ kind: z.ZodEnum<["spend", "rate_limited", "quota_constraint", "cooldown"]>;
48
167
  usd: z.ZodOptional<z.ZodNumber>;
49
- used_percent: z.ZodOptional<z.ZodNumber>;
168
+ constraint_id: z.ZodOptional<z.ZodString>;
169
+ used_ratio: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
170
+ window_seconds: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
50
171
  resets_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
51
172
  cooldown_until: z.ZodOptional<z.ZodNullable<z.ZodString>>;
52
173
  detail: z.ZodOptional<z.ZodString>;
53
174
  }, "strip", z.ZodTypeAny, {
54
- kind: "rate_limited" | "manual" | "used_percent" | "spend" | "cooldown";
55
175
  harness_id: string;
176
+ kind: "rate_limited" | "spend" | "quota_constraint" | "cooldown";
56
177
  ts: string;
57
178
  quality: "exact" | "unknown" | "manual" | "native" | "observed";
58
179
  detail?: string | undefined;
59
- used_percent?: number | undefined;
180
+ credential_route?: "local" | "vendor_native" | "managed_api_key" | undefined;
181
+ subject_id?: string | null | undefined;
182
+ used_ratio?: number | null | undefined;
183
+ window_seconds?: number | null | undefined;
60
184
  resets_at?: string | null | undefined;
61
- usd?: number | undefined;
62
185
  cooldown_until?: string | null | undefined;
186
+ usd?: number | undefined;
187
+ constraint_id?: string | undefined;
63
188
  }, {
64
- kind: "rate_limited" | "manual" | "used_percent" | "spend" | "cooldown";
65
189
  harness_id: string;
190
+ kind: "rate_limited" | "spend" | "quota_constraint" | "cooldown";
66
191
  ts: string;
67
192
  quality: "exact" | "unknown" | "manual" | "native" | "observed";
68
193
  detail?: string | undefined;
69
- used_percent?: number | undefined;
194
+ credential_route?: "local" | "vendor_native" | "managed_api_key" | undefined;
195
+ subject_id?: string | null | undefined;
196
+ used_ratio?: number | null | undefined;
197
+ window_seconds?: number | null | undefined;
70
198
  resets_at?: string | null | undefined;
71
- usd?: number | undefined;
72
199
  cooldown_until?: string | null | undefined;
200
+ usd?: number | undefined;
201
+ constraint_id?: string | undefined;
73
202
  }>;
74
203
  export type BudgetObservation = z.infer<typeof BudgetObservation>;
75
204
  //# sourceMappingURL=budget.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"budget.d.ts","sourceRoot":"","sources":["../src/budget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,QAAQ,oDAEuE,CAAC;AAC7F,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEhD,eAAO,MAAM,SAAS,mJAcnB,CAAC;AACJ,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAElD,uFAAuF;AACvF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBiF,CAAC;AAC1G,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,mFAAmF;AACnF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAc2F,CAAC;AAC1H,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"budget.d.ts","sourceRoot":"","sources":["../src/budget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;IAKuE,CAAC;AAC/F,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;EAS8D,CAAC;AACxF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD,eAAO,MAAM,QAAQ,oDAEuE,CAAC;AAC7F,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEhD,eAAO,MAAM,WAAW,2CAIrB,CAAC;AACJ,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,eAAO,MAAM,YAAY,gEAE2C,CAAC;AACrE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;EAOiD,CAAC;AAC/E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,eAAO,MAAM,WAAW;;;;;;;;;;;;WAG6D,CAAC;AACtF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,eAAO,MAAM,cAAc;;;;;;;;;;;;sBAKxB,CAAC;AACJ,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,uFAAuF;AACvF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBrB,CAAC;AACJ,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,mFAAmF;AACnF,eAAO,MAAM,iBAAiB;;IAG1B;wCACoC;;IAKpC;;;mCAG+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BhC,CAAC;AACJ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}