@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.
- package/dist/agent-capabilities.d.ts +102 -30
- package/dist/agent-capabilities.d.ts.map +1 -1
- package/dist/agent-capabilities.js +49 -18
- package/dist/agent-capabilities.js.map +1 -1
- package/dist/apply-eligibility.d.ts.map +1 -1
- package/dist/apply-eligibility.js +22 -6
- package/dist/apply-eligibility.js.map +1 -1
- package/dist/attachment.d.ts +117 -52
- package/dist/attachment.d.ts.map +1 -1
- package/dist/attachment.js +60 -45
- package/dist/attachment.js.map +1 -1
- package/dist/auth.d.ts +1444 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +371 -0
- package/dist/auth.js.map +1 -0
- package/dist/budget.d.ts +147 -18
- package/dist/budget.d.ts.map +1 -1
- package/dist/budget.js +80 -22
- package/dist/budget.js.map +1 -1
- package/dist/config.d.ts +829 -135
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +195 -41
- package/dist/config.js.map +1 -1
- package/dist/context.d.ts +6 -6
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +31 -7
- package/dist/context.js.map +1 -1
- package/dist/control-gc.d.ts +185 -0
- package/dist/control-gc.d.ts.map +1 -0
- package/dist/control-gc.js +81 -0
- package/dist/control-gc.js.map +1 -0
- package/dist/control-operation-responses.d.ts +1298 -0
- package/dist/control-operation-responses.d.ts.map +1 -0
- package/dist/control-operation-responses.js +35 -0
- package/dist/control-operation-responses.js.map +1 -0
- package/dist/control-run-detail.d.ts +556 -247
- package/dist/control-run-detail.d.ts.map +1 -1
- package/dist/control-run-detail.js +72 -17
- package/dist/control-run-detail.js.map +1 -1
- package/dist/control-run-retry.d.ts +88 -0
- package/dist/control-run-retry.d.ts.map +1 -0
- package/dist/control-run-retry.js +40 -0
- package/dist/control-run-retry.js.map +1 -0
- package/dist/control-run-scope.d.ts +25 -0
- package/dist/control-run-scope.d.ts.map +1 -0
- package/dist/control-run-scope.js +22 -0
- package/dist/control-run-scope.js.map +1 -0
- package/dist/control-secret.d.ts +90 -0
- package/dist/control-secret.d.ts.map +1 -0
- package/dist/control-secret.js +35 -0
- package/dist/control-secret.js.map +1 -0
- package/dist/control-spec.d.ts +592 -0
- package/dist/control-spec.d.ts.map +1 -0
- package/dist/control-spec.js +85 -0
- package/dist/control-spec.js.map +1 -0
- package/dist/control-thread-apply.d.ts +175 -0
- package/dist/control-thread-apply.d.ts.map +1 -0
- package/dist/control-thread-apply.js +31 -0
- package/dist/control-thread-apply.js.map +1 -0
- package/dist/control-trust.d.ts +74 -10
- package/dist/control-trust.d.ts.map +1 -1
- package/dist/control-trust.js +31 -11
- package/dist/control-trust.js.map +1 -1
- package/dist/control.d.ts +1688 -1334
- package/dist/control.d.ts.map +1 -1
- package/dist/control.js +592 -333
- package/dist/control.js.map +1 -1
- package/dist/credential-profile.d.ts +454 -0
- package/dist/credential-profile.d.ts.map +1 -0
- package/dist/credential-profile.js +140 -0
- package/dist/credential-profile.js.map +1 -0
- package/dist/decision.d.ts +10 -10
- package/dist/decision.d.ts.map +1 -1
- package/dist/decision.js +62 -15
- package/dist/decision.js.map +1 -1
- package/dist/delivery.d.ts +99 -0
- package/dist/delivery.d.ts.map +1 -0
- package/dist/delivery.js +19 -0
- package/dist/delivery.js.map +1 -0
- package/dist/events.d.ts +41 -4
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +47 -4
- package/dist/events.js.map +1 -1
- package/dist/gate.d.ts +5 -5
- package/dist/gate.d.ts.map +1 -1
- package/dist/gate.js +25 -5
- package/dist/gate.js.map +1 -1
- package/dist/harness.d.ts +775 -237
- package/dist/harness.d.ts.map +1 -1
- package/dist/harness.js +314 -111
- package/dist/harness.js.map +1 -1
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -1
- package/dist/operation.d.ts +185 -0
- package/dist/operation.d.ts.map +1 -0
- package/dist/operation.js +50 -0
- package/dist/operation.js.map +1 -0
- package/dist/orchestrate.d.ts +150 -22
- package/dist/orchestrate.d.ts.map +1 -1
- package/dist/orchestrate.js +117 -7
- package/dist/orchestrate.js.map +1 -1
- package/dist/primitives.d.ts.map +1 -1
- package/dist/primitives.js +4 -1
- package/dist/primitives.js.map +1 -1
- package/dist/problem.d.ts +29 -0
- package/dist/problem.d.ts.map +1 -0
- package/dist/problem.js +17 -0
- package/dist/problem.js.map +1 -0
- package/dist/project.d.ts +97 -0
- package/dist/project.d.ts.map +1 -0
- package/dist/project.js +27 -0
- package/dist/project.js.map +1 -0
- package/dist/quota.d.ts +269 -0
- package/dist/quota.d.ts.map +1 -0
- package/dist/quota.js +58 -0
- package/dist/quota.js.map +1 -0
- package/dist/raw.d.ts +195 -0
- package/dist/raw.d.ts.map +1 -0
- package/dist/raw.js +58 -0
- package/dist/raw.js.map +1 -0
- package/dist/readiness.d.ts +596 -0
- package/dist/readiness.d.ts.map +1 -0
- package/dist/readiness.js +87 -0
- package/dist/readiness.js.map +1 -0
- package/dist/recovery.d.ts +515 -0
- package/dist/recovery.d.ts.map +1 -0
- package/dist/recovery.js +93 -0
- package/dist/recovery.js.map +1 -0
- package/dist/request-requirements.d.ts +36 -0
- package/dist/request-requirements.d.ts.map +1 -0
- package/dist/request-requirements.js +29 -0
- package/dist/request-requirements.js.map +1 -0
- package/dist/review.d.ts +26 -26
- package/dist/review.d.ts.map +1 -1
- package/dist/review.js +50 -10
- package/dist/review.js.map +1 -1
- package/dist/route.d.ts +13 -13
- package/dist/route.d.ts.map +1 -1
- package/dist/route.js +19 -4
- package/dist/route.js.map +1 -1
- package/dist/setup.d.ts +9811 -0
- package/dist/setup.d.ts.map +1 -0
- package/dist/setup.js +475 -0
- package/dist/setup.js.map +1 -0
- package/dist/spec.d.ts +178 -61
- package/dist/spec.d.ts.map +1 -1
- package/dist/spec.js +69 -16
- package/dist/spec.js.map +1 -1
- package/dist/surface-run-controls.d.ts.map +1 -1
- package/dist/surface-run-controls.js +25 -21
- package/dist/surface-run-controls.js.map +1 -1
- package/dist/task.d.ts +1657 -60
- package/dist/task.d.ts.map +1 -1
- package/dist/task.js +144 -18
- package/dist/task.js.map +1 -1
- package/dist/telemetry.d.ts +487 -72
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +194 -16
- package/dist/telemetry.js.map +1 -1
- package/dist/thread.d.ts +89 -51
- package/dist/thread.d.ts.map +1 -1
- package/dist/thread.js +56 -11
- package/dist/thread.js.map +1 -1
- package/dist/tool-ref.d.ts +45 -0
- package/dist/tool-ref.d.ts.map +1 -0
- package/dist/tool-ref.js +45 -0
- package/dist/tool-ref.js.map +1 -0
- package/dist/workproduct.d.ts +3 -3
- package/dist/workproduct.d.ts.map +1 -1
- package/dist/workproduct.js.map +1 -1
- package/dist/workspace.d.ts +3 -3
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +12 -3
- package/dist/workspace.js.map +1 -1
- package/generated/AgentCapabilityCatalog.schema.json +53 -11
- package/generated/BudgetLease.schema.json +55 -6
- package/generated/BudgetObservation.schema.json +44 -7
- package/generated/ConformanceReport.schema.json +49 -0
- package/generated/ControlApplyCheckResponse.schema.json +34 -0
- package/generated/ControlArtifactListResponse.schema.json +57 -0
- package/generated/ControlAuthReadinessRefreshRequest.schema.json +38 -0
- package/generated/ControlAuthReadinessRefreshResponse.schema.json +85 -0
- package/generated/ControlCredentialProfileCreateRequest.schema.json +32 -0
- package/generated/ControlCredentialProfileCreateResponse.schema.json +142 -0
- package/generated/ControlCredentialProfileDeleteResponse.schema.json +107 -0
- package/generated/ControlCredentialProfilesResponse.schema.json +155 -0
- package/generated/ControlDeliveryResponse.schema.json +136 -0
- package/generated/ControlGcReceipt.schema.json +170 -0
- package/generated/ControlGcRequest.schema.json +18 -0
- package/generated/ControlHandshakeRequest.schema.json +26 -0
- package/generated/ControlHandshakeResponse.schema.json +30 -0
- package/generated/ControlHarnessListResponse.schema.json +198 -14
- package/generated/ControlHarnessModelsResponse.schema.json +19 -0
- package/generated/ControlHarnessSettingsPatch.schema.json +9 -12
- package/generated/ControlJournalEvent.schema.json +42 -0
- package/generated/ControlJournalExportReceipt.schema.json +49 -0
- package/generated/ControlJournalInspection.schema.json +149 -0
- package/generated/ControlJournalQuarantineReceipt.schema.json +55 -0
- package/generated/ControlJournalQuarantineRequest.schema.json +24 -0
- package/generated/ControlJournalValidation.schema.json +181 -0
- package/generated/ControlOperationCatalog.schema.json +128 -0
- package/generated/ControlOperationDescriptor.schema.json +110 -0
- package/generated/ControlProblem.schema.json +59 -0
- package/generated/ControlProject.schema.json +42 -0
- package/generated/ControlProjectListResponse.schema.json +54 -0
- package/generated/ControlProjectRegisterRequest.schema.json +19 -0
- package/generated/ControlProjectRelinkRequest.schema.json +19 -0
- package/generated/ControlQueuedRunInfo.schema.json +4 -2
- package/generated/ControlQuotaResponse.schema.json +177 -0
- package/generated/ControlResource.schema.json +59 -0
- package/generated/ControlRunAgainDraft.schema.json +539 -0
- package/generated/ControlRunDetail.schema.json +373 -34
- package/generated/ControlRunListResponse.schema.json +968 -0
- package/generated/ControlRunRetryResponse.schema.json +54 -0
- package/generated/ControlRunStartRequest.schema.json +123 -55
- package/generated/ControlRunStartResponse.schema.json +78 -0
- package/generated/ControlRunSummary.schema.json +312 -21
- package/generated/ControlSecretListResponse.schema.json +8 -14
- package/generated/ControlSecretMutationResponse.schema.json +32 -0
- package/generated/ControlSecretSetRequest.schema.json +27 -0
- package/generated/ControlSettingsSnapshot.schema.json +128 -44
- package/generated/ControlSettingsUpdateRequest.schema.json +119 -40
- package/generated/ControlSetupJob.schema.json +770 -64
- package/generated/ControlSetupJobCreateRequest.schema.json +16 -13
- package/generated/ControlSetupJobEvent.schema.json +869 -5
- package/generated/ControlSetupJobListFilter.schema.json +35 -0
- package/generated/ControlSetupJobListResponse.schema.json +770 -64
- package/generated/ControlSetupJobSnapshot.schema.json +878 -0
- package/generated/ControlSpecAnswersRequest.schema.json +74 -0
- package/generated/ControlSpecQuestionsRequest.schema.json +128 -2
- package/generated/ControlSpecSession.schema.json +249 -0
- package/generated/ControlSpecSessionListResponse.schema.json +261 -0
- package/generated/ControlThread.schema.json +36 -6
- package/generated/ControlThreadApplyResponse.schema.json +139 -0
- package/generated/ControlThreadCreateRequest.schema.json +6 -2
- package/generated/ControlThreadDetail.schema.json +64 -12
- package/generated/ControlThreadListResponse.schema.json +36 -6
- package/generated/ControlThreadTurnRequest.schema.json +413 -0
- package/generated/ControlThreadTurnResponse.schema.json +73 -0
- package/generated/ControlThreadUpdateRequest.schema.json +12 -1
- package/generated/ControlTrustListResponse.schema.json +6 -0
- package/generated/ControlTrustState.schema.json +6 -0
- package/generated/ControlTrustUpdateRequest.schema.json +65 -3
- package/generated/ControlUploadCreateRequest.schema.json +37 -0
- package/generated/ControlUploadFinalizeRequest.schema.json +17 -0
- package/generated/ControlUploadStatus.schema.json +40 -0
- package/generated/CredentialProfile.schema.json +78 -0
- package/generated/CredentialProfileStatus.schema.json +61 -0
- package/generated/DecisionRecord.schema.json +6 -3
- package/generated/GlobalConfig.schema.json +238 -55
- package/generated/HarnessEvent.schema.json +259 -11
- package/generated/HarnessManifest.schema.json +96 -14
- package/generated/HarnessModel.schema.json +19 -0
- package/generated/HarnessStatusDto.schema.json +198 -14
- package/generated/OrchestrateContract.schema.json +32 -6
- package/generated/OrchestratePlan.schema.json +20 -0
- package/generated/OrchestratePlanProgress.schema.json +61 -0
- package/generated/PaidBudget.schema.json +42 -0
- package/generated/Project.schema.json +45 -0
- package/generated/ProjectConfig.schema.json +45 -18
- package/generated/RawContextPacket.schema.json +184 -0
- package/generated/RawGitPatchEnvelope.schema.json +70 -0
- package/generated/RunEvent.schema.json +3 -0
- package/generated/RunTelemetry.schema.json +280 -0
- package/generated/SecretMetadata.schema.json +4 -7
- package/generated/Session.schema.json +14 -0
- package/generated/SpecPack.schema.json +118 -7
- package/generated/TaskContract.schema.json +224 -30
- package/generated/TestCommandInvocation.schema.json +45 -0
- package/generated/Thread.schema.json +74 -6
- package/generated/ThreadHeadPing.schema.json +40 -0
- package/generated/ThreadTurn.schema.json +24 -11
- package/generated/TrustConfig.schema.json +77 -0
- package/package.json +3 -2
- package/generated/ControlSetupJobConfirmRequest.schema.json +0 -18
- package/generated/ControlSpecFreezeRequest.schema.json +0 -83
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { AccessProfile, AuthPreference, ExternalContextPolicy
|
|
2
|
+
import { AccessProfile, AuthPreference, ExternalContextPolicy } from "./primitives.js";
|
|
3
3
|
import { EffortHint } from "./harness.js";
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
import { CredentialProfile } from "./credential-profile.js";
|
|
5
|
+
import { PaidBudget, PaidFallback, QualityTierSet, RoutingGoal } from "./budget.js";
|
|
6
|
+
import { TestCommandGrant, TestCommandInvocation } from "./task.js";
|
|
7
|
+
// All retired v1 portfolio ids are rejected; v2 routing uses the explicit
|
|
8
|
+
// auto, quality, and economy goals instead.
|
|
7
9
|
export const RoutingPolicy = z
|
|
8
10
|
.enum(["auto", "primary"])
|
|
9
11
|
.describe("Default routing policy: auto (engine picks) or primary (prefer the configured primary harness).");
|
|
@@ -17,23 +19,34 @@ export const ProjectConfig = z
|
|
|
17
19
|
version: z.literal(1).default(1).describe("Config format version."),
|
|
18
20
|
context: z
|
|
19
21
|
.object({
|
|
20
|
-
mandatory_files: z
|
|
22
|
+
mandatory_files: z
|
|
23
|
+
.array(z.string())
|
|
24
|
+
.default([])
|
|
25
|
+
.describe("Files every context pack must include."),
|
|
21
26
|
include: z.array(z.string()).default([]).describe("Globs to include in context building."),
|
|
22
|
-
exclude: z
|
|
27
|
+
exclude: z
|
|
28
|
+
.array(z.string())
|
|
29
|
+
.default([])
|
|
30
|
+
.describe("Globs to exclude from context building."),
|
|
23
31
|
})
|
|
24
32
|
.strict()
|
|
25
33
|
.default({})
|
|
26
34
|
.describe("Context-building preferences for the project."),
|
|
27
35
|
tests: z
|
|
28
|
-
.object({
|
|
36
|
+
.object({
|
|
37
|
+
commands: z
|
|
38
|
+
.array(TestCommandInvocation)
|
|
39
|
+
.default([])
|
|
40
|
+
.describe("Typed-argv test commands run as deterministic gates."),
|
|
41
|
+
})
|
|
29
42
|
.strict()
|
|
30
43
|
.default({ commands: [] })
|
|
31
44
|
.describe("Project-configured deterministic test gates."),
|
|
32
45
|
budget: z
|
|
33
|
-
.object({
|
|
46
|
+
.object({ routing_goal: RoutingGoal.optional() })
|
|
34
47
|
.strict()
|
|
35
|
-
.default({
|
|
36
|
-
.describe("
|
|
48
|
+
.default({})
|
|
49
|
+
.describe("Safe project routing preference; paid fallback remains user-global."),
|
|
37
50
|
})
|
|
38
51
|
.strict()
|
|
39
52
|
.describe("Project config (.claudexor/config.yaml) — safe, versioned settings only; sensitive settings live in global/user-local/trust configs.");
|
|
@@ -42,7 +55,10 @@ export const TrustConfig = z
|
|
|
42
55
|
.object({
|
|
43
56
|
version: z.literal(1).default(1).describe("Config format version."),
|
|
44
57
|
access_default: AccessProfile.default("workspace_write").describe("Default access profile for runs in this repo."),
|
|
45
|
-
allow_full_access: z
|
|
58
|
+
allow_full_access: z
|
|
59
|
+
.boolean()
|
|
60
|
+
.default(false)
|
|
61
|
+
.describe("Per-repo allow required before any run may use the full access profile."),
|
|
46
62
|
/**
|
|
47
63
|
* Provenance ONLY: which repo root this file was written for. The file's
|
|
48
64
|
* key stays the repo-root HASH in its filename — this field never gates
|
|
@@ -55,14 +71,17 @@ export const TrustConfig = z
|
|
|
55
71
|
.nullable()
|
|
56
72
|
.default(null)
|
|
57
73
|
.describe("Provenance only: repo root this trust file was written for; never gates anything. Null on legacy files written before this field."),
|
|
74
|
+
test_command_grants: z
|
|
75
|
+
.array(TestCommandGrant)
|
|
76
|
+
.default([])
|
|
77
|
+
.describe("External exact grants for versioned project test commands."),
|
|
58
78
|
})
|
|
59
79
|
.strict()
|
|
60
80
|
.describe("Sensitive per-repo trust settings — only valid in global/user-local trust files, never in the versioned repo config.");
|
|
61
|
-
/**
|
|
81
|
+
/** Claudexor v2 global user config (~/.claudexor/v2/config.yaml). */
|
|
62
82
|
export const GlobalConfig = z
|
|
63
83
|
.object({
|
|
64
84
|
version: z.literal(1).default(1).describe("Config format version."),
|
|
65
|
-
default_portfolio: Portfolio.default("subscription-first").describe("Budget portfolio used when a run does not specify one."),
|
|
66
85
|
/**
|
|
67
86
|
* How long an interactive run waits for the user's answer to a harness
|
|
68
87
|
* question (interaction.requested) before delivering a benign decline and
|
|
@@ -77,8 +96,15 @@ export const GlobalConfig = z
|
|
|
77
96
|
routing: z
|
|
78
97
|
.object({
|
|
79
98
|
default_policy: RoutingPolicy.default("auto"),
|
|
80
|
-
primary_harness: z
|
|
81
|
-
|
|
99
|
+
primary_harness: z
|
|
100
|
+
.string()
|
|
101
|
+
.nullable()
|
|
102
|
+
.default(null)
|
|
103
|
+
.describe("Global default primary harness; null = engine decides."),
|
|
104
|
+
eligible_harnesses: z
|
|
105
|
+
.array(z.string())
|
|
106
|
+
.default([])
|
|
107
|
+
.describe("Harness pool eligible for routing/races; empty = all available."),
|
|
82
108
|
/**
|
|
83
109
|
* How the child harness env is built: `mirror_native` inherits the user's
|
|
84
110
|
* shell env (default, matches how the native CLIs run); `clean` spawns from
|
|
@@ -90,27 +116,21 @@ export const GlobalConfig = z
|
|
|
90
116
|
.describe("How the child harness env is built: mirror_native inherits the user's shell env; clean spawns from a minimal allowlist."),
|
|
91
117
|
/** Default auth route preference (subscription/api_key/auto). */
|
|
92
118
|
auth_preference: AuthPreference.default("auto"),
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
* invented magic: unset families ride the router's neutral 0.5.
|
|
97
|
-
*/
|
|
98
|
-
quality_priors: z
|
|
99
|
-
.record(ProviderFamily, z.number().min(0).max(1))
|
|
100
|
-
.default({})
|
|
101
|
-
.describe("Operator-tunable per-provider-family quality priors (0..1) feeding the router; unset families ride the neutral 0.5."),
|
|
119
|
+
goal: RoutingGoal.default("auto"),
|
|
120
|
+
paid_fallback: PaidFallback.default("when_unavailable"),
|
|
121
|
+
quality_tiers: QualityTierSet,
|
|
102
122
|
})
|
|
103
123
|
.strict()
|
|
104
124
|
.default({})
|
|
105
125
|
.describe("Global routing defaults."),
|
|
106
126
|
budget: z
|
|
107
127
|
.object({
|
|
108
|
-
|
|
128
|
+
paid_budget_per_run: PaidBudget.default({ kind: "unlimited" }),
|
|
109
129
|
/**
|
|
110
130
|
* Per-candidate reservation floor (USD) held against the run cap for
|
|
111
131
|
* every race-wave slot AFTER the first, BEFORE any usage streams.
|
|
112
132
|
* Makes concurrent in-flight candidates visible to the budget breaker
|
|
113
|
-
* so a parallel wave cannot blow past
|
|
133
|
+
* so a parallel wave cannot blow past the finite paid budget between
|
|
114
134
|
* settlements. The first slot never holds it: a cap smaller than the
|
|
115
135
|
* floor still runs one candidate and stops on real usage.
|
|
116
136
|
*/
|
|
@@ -131,14 +151,35 @@ export const GlobalConfig = z
|
|
|
131
151
|
*/
|
|
132
152
|
transient_retry: z
|
|
133
153
|
.object({
|
|
134
|
-
max_retries: z
|
|
135
|
-
|
|
136
|
-
|
|
154
|
+
max_retries: z
|
|
155
|
+
.number()
|
|
156
|
+
.int()
|
|
157
|
+
.min(0)
|
|
158
|
+
.max(5)
|
|
159
|
+
.default(2)
|
|
160
|
+
.describe("Maximum retries for a transient failure."),
|
|
161
|
+
initial_delay_ms: z
|
|
162
|
+
.number()
|
|
163
|
+
.int()
|
|
164
|
+
.nonnegative()
|
|
165
|
+
.default(1_000)
|
|
166
|
+
.describe("Initial retry delay in milliseconds."),
|
|
167
|
+
max_delay_ms: z
|
|
168
|
+
.number()
|
|
169
|
+
.int()
|
|
170
|
+
.nonnegative()
|
|
171
|
+
.default(10_000)
|
|
172
|
+
.describe("Maximum retry delay in milliseconds."),
|
|
137
173
|
})
|
|
138
174
|
.strict()
|
|
139
175
|
.default({})
|
|
140
176
|
.describe("Bounded retry policy for adapter-declared transient failures; user-global only."),
|
|
141
|
-
reviewer_timeout_ms: z
|
|
177
|
+
reviewer_timeout_ms: z
|
|
178
|
+
.number()
|
|
179
|
+
.int()
|
|
180
|
+
.positive()
|
|
181
|
+
.default(600_000)
|
|
182
|
+
.describe("Wall-clock timeout for a reviewer run, in milliseconds."),
|
|
142
183
|
/**
|
|
143
184
|
* Inactivity watchdog for candidate/planner/read-only harness streams:
|
|
144
185
|
* NO events for this window means the CLI is wedged — the stream is
|
|
@@ -159,18 +200,128 @@ export const GlobalConfig = z
|
|
|
159
200
|
.strict()
|
|
160
201
|
.default({})
|
|
161
202
|
.describe("Global runtime timeouts and retry policy."),
|
|
203
|
+
/**
|
|
204
|
+
* Disk retention for engine-owned runtime artifacts (W3.6). The daemon's
|
|
205
|
+
* retention service deletes ONLY terminal, unreferenced run trees past
|
|
206
|
+
* their age — active/queued/blocked runs, runs referenced by live
|
|
207
|
+
* threads, and undelivered/applyable work products always survive, and
|
|
208
|
+
* the newest N runs per project survive regardless of age.
|
|
209
|
+
*/
|
|
210
|
+
retention: z
|
|
211
|
+
.object({
|
|
212
|
+
runs_max_age_days: z
|
|
213
|
+
.number()
|
|
214
|
+
.int()
|
|
215
|
+
.positive()
|
|
216
|
+
.default(30)
|
|
217
|
+
.describe("Delete terminal, unreferenced run trees older than this many days."),
|
|
218
|
+
reviews_max_age_days: z
|
|
219
|
+
.number()
|
|
220
|
+
.int()
|
|
221
|
+
.positive()
|
|
222
|
+
.default(14)
|
|
223
|
+
.describe("Delete standalone diff-review trees older than this many days."),
|
|
224
|
+
keep_last_runs_per_project: z
|
|
225
|
+
.number()
|
|
226
|
+
.int()
|
|
227
|
+
.nonnegative()
|
|
228
|
+
.default(20)
|
|
229
|
+
.describe("The newest N runs per project always survive, regardless of age."),
|
|
230
|
+
})
|
|
231
|
+
.strict()
|
|
232
|
+
.default({})
|
|
233
|
+
.describe("Disk retention policy for engine-owned runtime artifacts."),
|
|
234
|
+
/**
|
|
235
|
+
* Durable NON-SECRET credential-profile registry (INV-135): additional
|
|
236
|
+
* credential identities per harness beyond the engine default. Uniqueness
|
|
237
|
+
* of (harness_id, profile_id) is enforced here; secret material lives in
|
|
238
|
+
* the vendor dir or the secret store, never in config.
|
|
239
|
+
*/
|
|
240
|
+
credential_profiles: z
|
|
241
|
+
.array(CredentialProfile)
|
|
242
|
+
.default([])
|
|
243
|
+
.superRefine((profiles, ctx) => {
|
|
244
|
+
const seen = new Set();
|
|
245
|
+
for (const p of profiles) {
|
|
246
|
+
const key = `${p.harness_id}\u0000${p.profile_id}`;
|
|
247
|
+
if (seen.has(key))
|
|
248
|
+
ctx.addIssue({
|
|
249
|
+
code: "custom",
|
|
250
|
+
message: `duplicate credential profile ${p.profile_id} for harness ${p.harness_id}`,
|
|
251
|
+
});
|
|
252
|
+
seen.add(key);
|
|
253
|
+
}
|
|
254
|
+
})
|
|
255
|
+
.describe("Durable non-secret credential-profile registry; secret material lives in the vendor dir or the secret store, never in config."),
|
|
162
256
|
harnesses: z
|
|
163
257
|
.record(z.string(), z
|
|
164
258
|
.object({
|
|
165
|
-
enabled: z
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
259
|
+
enabled: z
|
|
260
|
+
.boolean()
|
|
261
|
+
.default(true)
|
|
262
|
+
.describe("Whether the harness participates in routing."),
|
|
263
|
+
default_model: z
|
|
264
|
+
.string()
|
|
265
|
+
.nullable()
|
|
266
|
+
.default(null)
|
|
267
|
+
.describe("Per-harness default model; null = the harness's own default."),
|
|
268
|
+
effort: EffortHint.nullable()
|
|
269
|
+
.default(null)
|
|
270
|
+
.describe("Default reasoning effort for the harness; null = harness default."),
|
|
271
|
+
max_turns: z
|
|
272
|
+
.number()
|
|
273
|
+
.int()
|
|
274
|
+
.positive()
|
|
275
|
+
.nullable()
|
|
276
|
+
.default(null)
|
|
277
|
+
.describe("Default max agent turns; null = no limit."),
|
|
278
|
+
max_rounds: z
|
|
279
|
+
.number()
|
|
280
|
+
.int()
|
|
281
|
+
.positive()
|
|
282
|
+
.nullable()
|
|
283
|
+
.default(null)
|
|
284
|
+
.describe("Default max convergence rounds; null = engine default."),
|
|
285
|
+
/**
|
|
286
|
+
* ONE typed profile-selection policy (INV-135, W5.4): what happens
|
|
287
|
+
* when the selected credential profile hits its vendor limit.
|
|
288
|
+
* Rotation is OPT-IN and rotates only on typed vendor-limit
|
|
289
|
+
* signals or proactive headroom breaches — never on ordinary
|
|
290
|
+
* network errors.
|
|
291
|
+
*/
|
|
292
|
+
profile_policy: z
|
|
293
|
+
.object({
|
|
294
|
+
limit_action: z
|
|
295
|
+
.enum(["fail", "ask", "rotate"])
|
|
296
|
+
.default("fail")
|
|
297
|
+
.describe("On a typed vendor limit: fail the attempt, surface a typed ask, or rotate to the next eligible profile."),
|
|
298
|
+
rotation_eligible: z
|
|
299
|
+
.array(z.string())
|
|
300
|
+
.default([])
|
|
301
|
+
.describe("Priority-ordered profile ids eligible for rotation; empty = every enabled profile of this harness in registry order."),
|
|
302
|
+
headroom_threshold: z
|
|
303
|
+
.number()
|
|
304
|
+
.min(0)
|
|
305
|
+
.max(1)
|
|
306
|
+
.default(0.9)
|
|
307
|
+
.describe("Preflight headroom bound: a selected profile whose active window is at/over this ratio triggers the limit action BEFORE spawn."),
|
|
308
|
+
})
|
|
309
|
+
.strict()
|
|
310
|
+
.default({})
|
|
311
|
+
.describe("Typed profile-selection policy for this harness (INV-135)."),
|
|
312
|
+
tools_allow: z
|
|
313
|
+
.array(z.string())
|
|
314
|
+
.default([])
|
|
315
|
+
.describe("Tool names allowed for this harness."),
|
|
316
|
+
tools_deny: z
|
|
317
|
+
.array(z.string())
|
|
318
|
+
.default([])
|
|
319
|
+
.describe("Tool names denied for this harness."),
|
|
320
|
+
fallback_model: z
|
|
321
|
+
.string()
|
|
322
|
+
.nullable()
|
|
323
|
+
.default(null)
|
|
324
|
+
.describe("Model to fall back to on typed fallback signals; null = none."),
|
|
174
325
|
web: ExternalContextPolicy.default("auto").describe("Default web policy for this harness."),
|
|
175
326
|
/** Per-harness auth route preference; overrides routing.auth_preference. */
|
|
176
327
|
auth_preference: AuthPreference.default("auto"),
|
|
@@ -181,14 +332,17 @@ export const GlobalConfig = z
|
|
|
181
332
|
.describe("Per-harness settings keyed by harness id."),
|
|
182
333
|
})
|
|
183
334
|
.strict()
|
|
184
|
-
.describe("
|
|
335
|
+
.describe("Claudexor v2 global user config (~/.claudexor/v2/config.yaml): routing, budget, runtime, and per-harness settings.");
|
|
185
336
|
/** The fully-resolved effective config after precedence merge. */
|
|
186
337
|
export const ResolvedConfig = z
|
|
187
338
|
.object({
|
|
188
339
|
project: ProjectConfig,
|
|
189
340
|
trust: TrustConfig,
|
|
190
341
|
global: GlobalConfig,
|
|
191
|
-
sources: z
|
|
342
|
+
sources: z
|
|
343
|
+
.array(z.string())
|
|
344
|
+
.default([])
|
|
345
|
+
.describe("Config file paths that contributed to the merge."),
|
|
192
346
|
})
|
|
193
347
|
.describe("The fully-resolved effective config after precedence merge.");
|
|
194
348
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/context.d.ts
CHANGED
|
@@ -11,15 +11,15 @@ export declare const ScopeAtlasEntry: z.ZodObject<{
|
|
|
11
11
|
}, "strip", z.ZodTypeAny, {
|
|
12
12
|
path: string;
|
|
13
13
|
disposition: "full" | "included" | "manifest_only" | "excluded" | "sensitive" | "binary" | "vendored" | "oversized" | "read_error" | "omitted";
|
|
14
|
-
reason?: string | undefined;
|
|
15
14
|
hash?: string | undefined;
|
|
16
15
|
bytes?: number | undefined;
|
|
16
|
+
reason?: string | undefined;
|
|
17
17
|
}, {
|
|
18
18
|
path: string;
|
|
19
19
|
disposition: "full" | "included" | "manifest_only" | "excluded" | "sensitive" | "binary" | "vendored" | "oversized" | "read_error" | "omitted";
|
|
20
|
-
reason?: string | undefined;
|
|
21
20
|
hash?: string | undefined;
|
|
22
21
|
bytes?: number | undefined;
|
|
22
|
+
reason?: string | undefined;
|
|
23
23
|
}>;
|
|
24
24
|
export type ScopeAtlasEntry = z.infer<typeof ScopeAtlasEntry>;
|
|
25
25
|
export declare const OmissionEntry: z.ZodObject<{
|
|
@@ -134,15 +134,15 @@ export declare const ContextPack: z.ZodObject<{
|
|
|
134
134
|
}, "strip", z.ZodTypeAny, {
|
|
135
135
|
path: string;
|
|
136
136
|
disposition: "full" | "included" | "manifest_only" | "excluded" | "sensitive" | "binary" | "vendored" | "oversized" | "read_error" | "omitted";
|
|
137
|
-
reason?: string | undefined;
|
|
138
137
|
hash?: string | undefined;
|
|
139
138
|
bytes?: number | undefined;
|
|
139
|
+
reason?: string | undefined;
|
|
140
140
|
}, {
|
|
141
141
|
path: string;
|
|
142
142
|
disposition: "full" | "included" | "manifest_only" | "excluded" | "sensitive" | "binary" | "vendored" | "oversized" | "read_error" | "omitted";
|
|
143
|
-
reason?: string | undefined;
|
|
144
143
|
hash?: string | undefined;
|
|
145
144
|
bytes?: number | undefined;
|
|
145
|
+
reason?: string | undefined;
|
|
146
146
|
}>, "many">>;
|
|
147
147
|
instructions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
148
148
|
token_budget: z.ZodOptional<z.ZodObject<{
|
|
@@ -177,9 +177,9 @@ export declare const ContextPack: z.ZodObject<{
|
|
|
177
177
|
atlas: {
|
|
178
178
|
path: string;
|
|
179
179
|
disposition: "full" | "included" | "manifest_only" | "excluded" | "sensitive" | "binary" | "vendored" | "oversized" | "read_error" | "omitted";
|
|
180
|
-
reason?: string | undefined;
|
|
181
180
|
hash?: string | undefined;
|
|
182
181
|
bytes?: number | undefined;
|
|
182
|
+
reason?: string | undefined;
|
|
183
183
|
}[];
|
|
184
184
|
instructions: string[];
|
|
185
185
|
token_budget?: {
|
|
@@ -208,9 +208,9 @@ export declare const ContextPack: z.ZodObject<{
|
|
|
208
208
|
atlas?: {
|
|
209
209
|
path: string;
|
|
210
210
|
disposition: "full" | "included" | "manifest_only" | "excluded" | "sensitive" | "binary" | "vendored" | "oversized" | "read_error" | "omitted";
|
|
211
|
-
reason?: string | undefined;
|
|
212
211
|
hash?: string | undefined;
|
|
213
212
|
bytes?: number | undefined;
|
|
213
|
+
reason?: string | undefined;
|
|
214
214
|
}[] | undefined;
|
|
215
215
|
instructions?: string[] | undefined;
|
|
216
216
|
token_budget?: {
|
package/dist/context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,iGAAiG;AACjG,eAAO,MAAM,eAAe,uIAezB,CAAC;AACJ,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,iGAAiG;AACjG,eAAO,MAAM,eAAe,uIAezB,CAAC;AACJ,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;EAa4C,CAAC;AACzE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;EAUiE,CAAC;AAC5F,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D,eAAO,MAAM,cAAc;;;;;;;;;EAKqC,CAAC;AACjE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0CrB,CAAC;AACJ,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC"}
|
package/dist/context.js
CHANGED
|
@@ -20,7 +20,12 @@ export const ScopeAtlasEntry = z
|
|
|
20
20
|
path: z.string().describe("Repo-relative path."),
|
|
21
21
|
disposition: PathDisposition,
|
|
22
22
|
hash: ContentHash.optional().describe("Content hash of the path, when read."),
|
|
23
|
-
bytes: z
|
|
23
|
+
bytes: z
|
|
24
|
+
.number()
|
|
25
|
+
.int()
|
|
26
|
+
.nonnegative()
|
|
27
|
+
.optional()
|
|
28
|
+
.describe("Size of the path in bytes, when known."),
|
|
24
29
|
reason: z.string().optional().describe("Why the path got this disposition."),
|
|
25
30
|
})
|
|
26
31
|
.describe("Accounting entry for one tracked path in the Scope Atlas.");
|
|
@@ -51,17 +56,36 @@ export const ContextPack = z
|
|
|
51
56
|
hash: ContentHash.describe("Content hash of the pack itself."),
|
|
52
57
|
files: z
|
|
53
58
|
.object({
|
|
54
|
-
mandatory: z
|
|
55
|
-
|
|
56
|
-
|
|
59
|
+
mandatory: z
|
|
60
|
+
.array(ContextFileRef)
|
|
61
|
+
.default([])
|
|
62
|
+
.describe("Files every harness must receive."),
|
|
63
|
+
included: z
|
|
64
|
+
.array(ContextFileRef)
|
|
65
|
+
.default([])
|
|
66
|
+
.describe("Additional files included in the pack."),
|
|
67
|
+
omitted: z
|
|
68
|
+
.array(OmissionEntry)
|
|
69
|
+
.default([])
|
|
70
|
+
.describe("Files explicitly omitted, with reasons."),
|
|
57
71
|
})
|
|
58
72
|
.describe("Files included in or explicitly omitted from the pack."),
|
|
59
|
-
atlas: z
|
|
60
|
-
|
|
73
|
+
atlas: z
|
|
74
|
+
.array(ScopeAtlasEntry)
|
|
75
|
+
.default([])
|
|
76
|
+
.describe("Scope Atlas: per-path accounting of the whole tracked tree."),
|
|
77
|
+
instructions: z
|
|
78
|
+
.array(z.string())
|
|
79
|
+
.default([])
|
|
80
|
+
.describe("Instruction strings passed alongside the files."),
|
|
61
81
|
token_budget: z
|
|
62
82
|
.object({
|
|
63
83
|
limit: z.number().int().positive().describe("Token budget limit for the pack."),
|
|
64
|
-
estimated_used: z
|
|
84
|
+
estimated_used: z
|
|
85
|
+
.number()
|
|
86
|
+
.int()
|
|
87
|
+
.nonnegative()
|
|
88
|
+
.describe("Estimated tokens consumed by the pack."),
|
|
65
89
|
})
|
|
66
90
|
.optional()
|
|
67
91
|
.describe("Token budget accounting for the pack, when computed."),
|
package/dist/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,iGAAiG;AACjG,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC;KAC7B,IAAI,CAAC;IACJ,MAAM;IACN,UAAU;IACV,eAAe;IACf,UAAU;IACV,WAAW;IACX,QAAQ;IACR,UAAU;IACV,WAAW;IACX,YAAY;IACZ,SAAS;CACV,CAAC;KACD,QAAQ,CACP,uMAAuM,CACxM,CAAC;AAGJ,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC;KAC7B,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IAChD,WAAW,EAAE,eAAe;IAC5B,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IAC7E,KAAK,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
|