@claudexor/schema 3.4.2 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/dist/accounts-migration.d.ts +112 -0
  2. package/dist/accounts-migration.d.ts.map +1 -0
  3. package/dist/accounts-migration.js +74 -0
  4. package/dist/accounts-migration.js.map +1 -0
  5. package/dist/budget.d.ts +3 -0
  6. package/dist/budget.d.ts.map +1 -1
  7. package/dist/budget.js +4 -0
  8. package/dist/budget.js.map +1 -1
  9. package/dist/config.d.ts +38 -22
  10. package/dist/config.d.ts.map +1 -1
  11. package/dist/config.js +26 -6
  12. package/dist/config.js.map +1 -1
  13. package/dist/control-operation-responses.d.ts +7 -7
  14. package/dist/control-run-detail.d.ts +19 -19
  15. package/dist/control-run-failure.d.ts +4 -4
  16. package/dist/control-run-failure.d.ts.map +1 -1
  17. package/dist/control-run-failure.js +7 -1
  18. package/dist/control-run-failure.js.map +1 -1
  19. package/dist/control.d.ts +23 -23
  20. package/dist/control.d.ts.map +1 -1
  21. package/dist/control.js +8 -8
  22. package/dist/control.js.map +1 -1
  23. package/dist/credential-profile-snapshot.d.ts +254 -14
  24. package/dist/credential-profile-snapshot.d.ts.map +1 -1
  25. package/dist/credential-profile.d.ts +307 -7
  26. package/dist/credential-profile.d.ts.map +1 -1
  27. package/dist/credential-profile.js +104 -9
  28. package/dist/credential-profile.js.map +1 -1
  29. package/dist/credential-store.d.ts +26 -0
  30. package/dist/credential-store.d.ts.map +1 -0
  31. package/dist/credential-store.js +30 -0
  32. package/dist/credential-store.js.map +1 -0
  33. package/dist/events.d.ts +44 -4
  34. package/dist/events.d.ts.map +1 -1
  35. package/dist/events.js +34 -0
  36. package/dist/events.js.map +1 -1
  37. package/dist/harness.d.ts +12 -5
  38. package/dist/harness.d.ts.map +1 -1
  39. package/dist/index.d.ts +3 -0
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +3 -0
  42. package/dist/index.js.map +1 -1
  43. package/dist/mcp-run-result.d.ts +10 -10
  44. package/dist/quota.d.ts +96 -14
  45. package/dist/quota.d.ts.map +1 -1
  46. package/dist/quota.js +60 -2
  47. package/dist/quota.js.map +1 -1
  48. package/dist/rate-limit.d.ts +9 -0
  49. package/dist/rate-limit.d.ts.map +1 -1
  50. package/dist/rate-limit.js +21 -0
  51. package/dist/rate-limit.js.map +1 -1
  52. package/dist/setup-login-input.js +1 -1
  53. package/dist/setup-login-input.js.map +1 -1
  54. package/dist/setup-login.d.ts +446 -0
  55. package/dist/setup-login.d.ts.map +1 -0
  56. package/dist/setup-login.js +161 -0
  57. package/dist/setup-login.js.map +1 -0
  58. package/dist/setup.d.ts +130 -491
  59. package/dist/setup.d.ts.map +1 -1
  60. package/dist/setup.js +8 -138
  61. package/dist/setup.js.map +1 -1
  62. package/generated/AccountsUnifiedMigrationFile.schema.json +61 -0
  63. package/generated/BudgetObservation.schema.json +4 -0
  64. package/generated/ControlAccountPoolsResponse.schema.json +93 -0
  65. package/generated/ControlAccountsMigrationRollbackRequest.schema.json +18 -0
  66. package/generated/ControlAccountsMigrationRollbackResponse.schema.json +63 -0
  67. package/generated/ControlCredentialProfileDeleteResponse.schema.json +1 -1
  68. package/generated/ControlCredentialProfilesQueryResponse.schema.json +87 -3
  69. package/generated/ControlCredentialProfilesResponse.schema.json +77 -1
  70. package/generated/ControlCredentialProfilesSnapshotResponse.schema.json +84 -3
  71. package/generated/ControlHarnessAccountPool.schema.json +79 -0
  72. package/generated/ControlHarnessSettingsPatch.schema.json +2 -1
  73. package/generated/ControlPoolNextUp.schema.json +63 -0
  74. package/generated/ControlQuotaResponse.schema.json +7 -2
  75. package/generated/ControlRunDetail.schema.json +2 -1
  76. package/generated/ControlRunListResponse.schema.json +2 -1
  77. package/generated/ControlRunSummary.schema.json +2 -1
  78. package/generated/ControlSettingsSnapshot.schema.json +3 -2
  79. package/generated/ControlSettingsUpdateRequest.schema.json +2 -1
  80. package/generated/ControlSetupJob.schema.json +6 -1
  81. package/generated/ControlSetupJobCreateRequest.schema.json +2 -1
  82. package/generated/ControlSetupJobEvent.schema.json +6 -1
  83. package/generated/ControlSetupJobListFilter.schema.json +2 -1
  84. package/generated/ControlSetupJobListResponse.schema.json +6 -1
  85. package/generated/ControlSetupJobSnapshot.schema.json +6 -1
  86. package/generated/GlobalConfig.schema.json +3 -2
  87. package/generated/HarnessEvent.schema.json +6 -1
  88. package/generated/McpRunHandleResult.schema.json +2 -1
  89. package/generated/McpRunToolResult.schema.json +2 -1
  90. package/generated/RunEvent.schema.json +4 -0
  91. package/generated/RunFailure.schema.json +2 -1
  92. package/package.json +2 -2
@@ -0,0 +1,112 @@
1
+ import { z } from "zod/v3";
2
+ /**
3
+ * Unified-accounts startup migration state (INV-135 rewrite, plan §L.3).
4
+ *
5
+ * The per-harness record lives in `~/.claudexor/v3/migration/accounts-unified.json`
6
+ * — deliberately a SEPARATE file, never a config.yaml key: the 3.5.0 strict
7
+ * config parser must keep reading the migrated config, and a downgraded engine
8
+ * simply never opens this file. Phases are restart-idempotent; an INCOMPLETE
9
+ * record is a typed refusal of that harness's runs only (other harnesses keep
10
+ * working) until the next daemon start finishes the remaining phases.
11
+ */
12
+ export declare const AccountsMigrationPhase: z.ZodEnum<["reserved", "registry_written", "continuity_migrated", "completed", "rolling_back"]>;
13
+ export type AccountsMigrationPhase = z.infer<typeof AccountsMigrationPhase>;
14
+ export declare const AccountsHarnessMigration: z.ZodObject<{
15
+ phase: z.ZodEnum<["reserved", "registry_written", "continuity_migrated", "completed", "rolling_back"]>;
16
+ row_id: z.ZodString;
17
+ legacy_aliases: z.ZodArray<z.ZodNullable<z.ZodString>, "many">;
18
+ locator: z.ZodString;
19
+ backup_ref: z.ZodNullable<z.ZodString>;
20
+ }, "strict", z.ZodTypeAny, {
21
+ phase: "completed" | "continuity_migrated" | "registry_written" | "reserved" | "rolling_back";
22
+ row_id: string;
23
+ legacy_aliases: (string | null)[];
24
+ locator: string;
25
+ backup_ref: string | null;
26
+ }, {
27
+ phase: "completed" | "continuity_migrated" | "registry_written" | "reserved" | "rolling_back";
28
+ row_id: string;
29
+ legacy_aliases: (string | null)[];
30
+ locator: string;
31
+ backup_ref: string | null;
32
+ }>;
33
+ export type AccountsHarnessMigration = z.infer<typeof AccountsHarnessMigration>;
34
+ /** The whole migration file: harness id → its migration record. */
35
+ export declare const AccountsUnifiedMigrationFile: z.ZodRecord<z.ZodString, z.ZodObject<{
36
+ phase: z.ZodEnum<["reserved", "registry_written", "continuity_migrated", "completed", "rolling_back"]>;
37
+ row_id: z.ZodString;
38
+ legacy_aliases: z.ZodArray<z.ZodNullable<z.ZodString>, "many">;
39
+ locator: z.ZodString;
40
+ backup_ref: z.ZodNullable<z.ZodString>;
41
+ }, "strict", z.ZodTypeAny, {
42
+ phase: "completed" | "continuity_migrated" | "registry_written" | "reserved" | "rolling_back";
43
+ row_id: string;
44
+ legacy_aliases: (string | null)[];
45
+ locator: string;
46
+ backup_ref: string | null;
47
+ }, {
48
+ phase: "completed" | "continuity_migrated" | "registry_written" | "reserved" | "rolling_back";
49
+ row_id: string;
50
+ legacy_aliases: (string | null)[];
51
+ locator: string;
52
+ backup_ref: string | null;
53
+ }>>;
54
+ export type AccountsUnifiedMigrationFile = z.infer<typeof AccountsUnifiedMigrationFile>;
55
+ /** POST /accounts-migration/rollback — the supported downgrade path's first
56
+ * step (run BEFORE installing 3.5.0, whose canonicalizers refuse the migrated
57
+ * row's native locator). Surgically reverses the migration: sessions,
58
+ * checkpoints, and lane homes return to the null engine-default keys, the
59
+ * auto-registered row leaves the registry, and its `enabled` state returns to
60
+ * the `native_credentials_enabled` setting. */
61
+ export declare const ControlAccountsMigrationRollbackRequest: z.ZodObject<{
62
+ harnessId: z.ZodOptional<z.ZodString>;
63
+ }, "strict", z.ZodTypeAny, {
64
+ harnessId?: string | undefined;
65
+ }, {
66
+ harnessId?: string | undefined;
67
+ }>;
68
+ export type ControlAccountsMigrationRollbackRequest = z.infer<typeof ControlAccountsMigrationRollbackRequest>;
69
+ export declare const ControlAccountsMigrationRollbackResponse: z.ZodObject<{
70
+ rolledBack: z.ZodArray<z.ZodObject<{
71
+ harness_id: z.ZodString;
72
+ row_id: z.ZodString;
73
+ sessions: z.ZodNumber;
74
+ checkpoints: z.ZodNumber;
75
+ lanes: z.ZodNumber;
76
+ skipped_partitions: z.ZodArray<z.ZodString, "many">;
77
+ }, "strict", z.ZodTypeAny, {
78
+ harness_id: string;
79
+ row_id: string;
80
+ sessions: number;
81
+ checkpoints: number;
82
+ lanes: number;
83
+ skipped_partitions: string[];
84
+ }, {
85
+ harness_id: string;
86
+ row_id: string;
87
+ sessions: number;
88
+ checkpoints: number;
89
+ lanes: number;
90
+ skipped_partitions: string[];
91
+ }>, "many">;
92
+ }, "strict", z.ZodTypeAny, {
93
+ rolledBack: {
94
+ harness_id: string;
95
+ row_id: string;
96
+ sessions: number;
97
+ checkpoints: number;
98
+ lanes: number;
99
+ skipped_partitions: string[];
100
+ }[];
101
+ }, {
102
+ rolledBack: {
103
+ harness_id: string;
104
+ row_id: string;
105
+ sessions: number;
106
+ checkpoints: number;
107
+ lanes: number;
108
+ skipped_partitions: string[];
109
+ }[];
110
+ }>;
111
+ export type ControlAccountsMigrationRollbackResponse = z.infer<typeof ControlAccountsMigrationRollbackResponse>;
112
+ //# sourceMappingURL=accounts-migration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accounts-migration.d.ts","sourceRoot":"","sources":["../src/accounts-migration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,iGAIhC,CAAC;AACJ,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE5E,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;EAwBwB,CAAC;AAC9D,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAEhF,mEAAmE;AACnE,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;GAE4C,CAAC;AACtF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAExF;;;;;+CAK+C;AAC/C,eAAO,MAAM,uCAAuC;;;;;;EAOc,CAAC;AACnE,MAAM,MAAM,uCAAuC,GAAG,CAAC,CAAC,KAAK,CAC3D,OAAO,uCAAuC,CAC/C,CAAC;AAEF,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BY,CAAC;AAClE,MAAM,MAAM,wCAAwC,GAAG,CAAC,CAAC,KAAK,CAC5D,OAAO,wCAAwC,CAChD,CAAC"}
@@ -0,0 +1,74 @@
1
+ import { z } from "zod/v3";
2
+ import { Id } from "./primitives.js";
3
+ /**
4
+ * Unified-accounts startup migration state (INV-135 rewrite, plan §L.3).
5
+ *
6
+ * The per-harness record lives in `~/.claudexor/v3/migration/accounts-unified.json`
7
+ * — deliberately a SEPARATE file, never a config.yaml key: the 3.5.0 strict
8
+ * config parser must keep reading the migrated config, and a downgraded engine
9
+ * simply never opens this file. Phases are restart-idempotent; an INCOMPLETE
10
+ * record is a typed refusal of that harness's runs only (other harnesses keep
11
+ * working) until the next daemon start finishes the remaining phases.
12
+ */
13
+ export const AccountsMigrationPhase = z
14
+ .enum(["reserved", "registry_written", "continuity_migrated", "completed", "rolling_back"])
15
+ .describe("Crash-recoverable migration phase for one harness: reserved (id + backup persisted) → registry_written (row in config) → continuity_migrated (sessions/checkpoints/lane homes on the row id) → completed (legacy null quota subject retired). rolling_back marks an in-flight rollback: the startup migration never resumes it forward; re-running the rollback command finishes it.");
16
+ export const AccountsHarnessMigration = z
17
+ .object({
18
+ phase: AccountsMigrationPhase,
19
+ row_id: Id.describe("The reserved registry row id (claude-default / codex-default, deterministic -2 suffix on collision) — persisted BEFORE any other phase so a crash can never re-reserve a different id."),
20
+ legacy_aliases: z
21
+ .array(z.string().nullable())
22
+ .describe("Every legacy identity this row absorbed — [null] for the engine-default subject. Deletion of the row must retire the canonical id PLUS these aliases in one lifecycle operation."),
23
+ locator: z
24
+ .string()
25
+ .describe("The exact legacy native store dir registered as the row's isolation_locator (bytes never move). Also the delete fence's exact-path allowlist entry for this row."),
26
+ backup_ref: z
27
+ .string()
28
+ .nullable()
29
+ .describe("Pre-migration backup directory (config.yaml copy), the manual-recovery half of the supported downgrade path; null when the backup could not be written."),
30
+ })
31
+ .strict()
32
+ .describe("Per-harness unified-accounts migration record.");
33
+ /** The whole migration file: harness id → its migration record. */
34
+ export const AccountsUnifiedMigrationFile = z
35
+ .record(z.string(), AccountsHarnessMigration)
36
+ .describe("accounts-unified.json: harness id → unified-accounts migration record.");
37
+ /** POST /accounts-migration/rollback — the supported downgrade path's first
38
+ * step (run BEFORE installing 3.5.0, whose canonicalizers refuse the migrated
39
+ * row's native locator). Surgically reverses the migration: sessions,
40
+ * checkpoints, and lane homes return to the null engine-default keys, the
41
+ * auto-registered row leaves the registry, and its `enabled` state returns to
42
+ * the `native_credentials_enabled` setting. */
43
+ export const ControlAccountsMigrationRollbackRequest = z
44
+ .object({
45
+ harnessId: Id.optional().describe("Roll back one harness's migration; omitted = every migrated harness."),
46
+ })
47
+ .strict()
48
+ .describe("Request body for POST /accounts-migration/rollback.");
49
+ export const ControlAccountsMigrationRollbackResponse = z
50
+ .object({
51
+ rolledBack: z
52
+ .array(z
53
+ .object({
54
+ harness_id: Id,
55
+ row_id: Id.describe("The auto-registered row the rollback removed."),
56
+ sessions: z
57
+ .number()
58
+ .int()
59
+ .describe("Thread sessions returned to the null engine-default subject."),
60
+ checkpoints: z
61
+ .number()
62
+ .int()
63
+ .describe("Lane checkpoints re-seeded onto the null lane."),
64
+ lanes: z.number().int().describe("Durable lane home dirs renamed back."),
65
+ skipped_partitions: z
66
+ .array(z.string())
67
+ .describe("Quarantined project partitions whose sessions could NOT be rolled back (disclosed residual: recover them and rerun the rollback before downgrading)."),
68
+ })
69
+ .strict())
70
+ .describe("Per-harness rollback receipts (empty when nothing was migrated)."),
71
+ })
72
+ .strict()
73
+ .describe("Receipt for a unified-accounts migration rollback.");
74
+ //# sourceMappingURL=accounts-migration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accounts-migration.js","sourceRoot":"","sources":["../src/accounts-migration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,IAAI,CAAC,CAAC,UAAU,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;KAC1F,QAAQ,CACP,sXAAsX,CACvX,CAAC;AAGJ,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,MAAM,CAAC;IACN,KAAK,EAAE,sBAAsB;IAC7B,MAAM,EAAE,EAAE,CAAC,QAAQ,CACjB,wLAAwL,CACzL;IACD,cAAc,EAAE,CAAC;SACd,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;SAC5B,QAAQ,CACP,kLAAkL,CACnL;IACH,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,CACP,kKAAkK,CACnK;IACH,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,yJAAyJ,CAC1J;CACJ,CAAC;KACD,MAAM,EAAE;KACR,QAAQ,CAAC,gDAAgD,CAAC,CAAC;AAG9D,mEAAmE;AACnE,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC;KAC1C,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,wBAAwB,CAAC;KAC5C,QAAQ,CAAC,wEAAwE,CAAC,CAAC;AAGtF;;;;;+CAK+C;AAC/C,MAAM,CAAC,MAAM,uCAAuC,GAAG,CAAC;KACrD,MAAM,CAAC;IACN,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC/B,sEAAsE,CACvE;CACF,CAAC;KACD,MAAM,EAAE;KACR,QAAQ,CAAC,qDAAqD,CAAC,CAAC;AAKnE,MAAM,CAAC,MAAM,wCAAwC,GAAG,CAAC;KACtD,MAAM,CAAC;IACN,UAAU,EAAE,CAAC;SACV,KAAK,CACJ,CAAC;SACE,MAAM,CAAC;QACN,UAAU,EAAE,EAAE;QACd,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;QACpE,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,CAAC,8DAA8D,CAAC;QAC3E,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,CAAC,gDAAgD,CAAC;QAC7D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QACxE,kBAAkB,EAAE,CAAC;aAClB,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,CACP,sJAAsJ,CACvJ;KACJ,CAAC;SACD,MAAM,EAAE,CACZ;SACA,QAAQ,CAAC,kEAAkE,CAAC;CAChF,CAAC;KACD,MAAM,EAAE;KACR,QAAQ,CAAC,oDAAoD,CAAC,CAAC"}
package/dist/budget.d.ts CHANGED
@@ -242,6 +242,7 @@ export declare const BudgetObservation: z.ZodObject<{
242
242
  usd: z.ZodOptional<z.ZodNumber>;
243
243
  constraint_id: z.ZodOptional<z.ZodString>;
244
244
  applies_to_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
245
+ applies_to_unspecified_model: z.ZodOptional<z.ZodBoolean>;
245
246
  used_ratio: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
246
247
  window_seconds: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
247
248
  resets_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -257,6 +258,7 @@ export declare const BudgetObservation: z.ZodObject<{
257
258
  usd?: number | undefined;
258
259
  constraint_id?: string | undefined;
259
260
  applies_to_models?: string[] | null | undefined;
261
+ applies_to_unspecified_model?: boolean | undefined;
260
262
  used_ratio?: number | null | undefined;
261
263
  window_seconds?: number | null | undefined;
262
264
  resets_at?: string | null | undefined;
@@ -272,6 +274,7 @@ export declare const BudgetObservation: z.ZodObject<{
272
274
  usd?: number | undefined;
273
275
  constraint_id?: string | undefined;
274
276
  applies_to_models?: string[] | null | undefined;
277
+ applies_to_unspecified_model?: boolean | undefined;
275
278
  used_ratio?: number | null | undefined;
276
279
  window_seconds?: number | null | undefined;
277
280
  resets_at?: string | null | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"budget.d.ts","sourceRoot":"","sources":["../src/budget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAK3B,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,0EAA0E;AAC1E,eAAO,MAAM,kBAAkB,oNAW8C,CAAC;AAC9E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEpE,qFAAqF;AACrF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;EAcoD,CAAC;AACnF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY6C,CAAC;AAChF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE1E,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsChC,CAAC;AACJ,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,QAAQ,CAAC;AAK3B,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,0EAA0E;AAC1E,eAAO,MAAM,kBAAkB,oNAW8C,CAAC;AAC9E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEpE,qFAAqF;AACrF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;EAcoD,CAAC;AACnF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY6C,CAAC;AAChF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE1E,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4ChC,CAAC;AACJ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
package/dist/budget.js CHANGED
@@ -147,6 +147,10 @@ export const BudgetObservation = z
147
147
  .nullable()
148
148
  .optional()
149
149
  .describe("Canonical model ids/aliases this quota observation applies to; omitted/null means every model."),
150
+ applies_to_unspecified_model: z
151
+ .boolean()
152
+ .optional()
153
+ .describe("Whether a model-scoped observation also governs a run that names no model; carried alongside applies_to_models so the scope survives this projection."),
150
154
  used_ratio: z.number().min(0).max(1).nullable().optional(),
151
155
  window_seconds: z.number().positive().nullable().optional(),
152
156
  resets_at: z
@@ -1 +1 @@
1
- {"version":3,"file":"budget.js","sourceRoot":"","sources":["../src/budget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"budget.js","sourceRoot":"","sources":["../src/budget.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -460,20 +460,28 @@ export declare const GlobalConfig: z.ZodObject<{
460
460
  /**
461
461
  * ONE typed profile-selection policy (INV-135, W5.4): what happens
462
462
  * when the selected credential profile hits its vendor limit.
463
- * Rotation is OPT-IN and rotates only on typed vendor-limit
464
- * signals or proactive headroom breaches — never on ordinary
465
- * network errors.
463
+ * `auto` is the stored default and resolves BY CREDENTIAL KIND at
464
+ * decision time (`effectiveLimitAction`): rotate for subscription
465
+ * (`local_session`) subjects, fail for metered API-key or unknown
466
+ * routes. This SUPERSEDES the earlier "rotation is opt-in" lock
467
+ * (CONCEPT-CHANGE(INV-135), owner decision 2026-08-17): a spent
468
+ * subscription window fails over by default, while explicitly
469
+ * persisted `fail`/`ask`/`rotate` values keep their exact meaning
470
+ * and are never rewritten — only the interpretation of an ABSENT
471
+ * key changed. Rotation still fires only on typed vendor-limit
472
+ * signals, proactive headroom breaches, or the structural
473
+ * pre-progress predicate — never on ordinary network errors.
466
474
  */
467
475
  profile_policy: z.ZodDefault<z.ZodObject<{
468
- limit_action: z.ZodDefault<z.ZodEnum<["fail", "ask", "rotate"]>>;
476
+ limit_action: z.ZodDefault<z.ZodEnum<["auto", "fail", "ask", "rotate"]>>;
469
477
  rotation_eligible: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
470
478
  headroom_threshold: z.ZodDefault<z.ZodNumber>;
471
479
  }, "strict", z.ZodTypeAny, {
472
- limit_action: "ask" | "fail" | "rotate";
480
+ limit_action: "ask" | "auto" | "fail" | "rotate";
473
481
  rotation_eligible: string[];
474
482
  headroom_threshold: number;
475
483
  }, {
476
- limit_action?: "ask" | "fail" | "rotate" | undefined;
484
+ limit_action?: "ask" | "auto" | "fail" | "rotate" | undefined;
477
485
  rotation_eligible?: string[] | undefined;
478
486
  headroom_threshold?: number | undefined;
479
487
  }>>;
@@ -491,7 +499,7 @@ export declare const GlobalConfig: z.ZodObject<{
491
499
  max_turns: number | null;
492
500
  max_rounds: number | null;
493
501
  profile_policy: {
494
- limit_action: "ask" | "fail" | "rotate";
502
+ limit_action: "ask" | "auto" | "fail" | "rotate";
495
503
  rotation_eligible: string[];
496
504
  headroom_threshold: number;
497
505
  };
@@ -508,7 +516,7 @@ export declare const GlobalConfig: z.ZodObject<{
508
516
  max_turns?: number | null | undefined;
509
517
  max_rounds?: number | null | undefined;
510
518
  profile_policy?: {
511
- limit_action?: "ask" | "fail" | "rotate" | undefined;
519
+ limit_action?: "ask" | "auto" | "fail" | "rotate" | undefined;
512
520
  rotation_eligible?: string[] | undefined;
513
521
  headroom_threshold?: number | undefined;
514
522
  } | undefined;
@@ -575,7 +583,7 @@ export declare const GlobalConfig: z.ZodObject<{
575
583
  max_turns: number | null;
576
584
  max_rounds: number | null;
577
585
  profile_policy: {
578
- limit_action: "ask" | "fail" | "rotate";
586
+ limit_action: "ask" | "auto" | "fail" | "rotate";
579
587
  rotation_eligible: string[];
580
588
  headroom_threshold: number;
581
589
  };
@@ -642,7 +650,7 @@ export declare const GlobalConfig: z.ZodObject<{
642
650
  max_turns?: number | null | undefined;
643
651
  max_rounds?: number | null | undefined;
644
652
  profile_policy?: {
645
- limit_action?: "ask" | "fail" | "rotate" | undefined;
653
+ limit_action?: "ask" | "auto" | "fail" | "rotate" | undefined;
646
654
  rotation_eligible?: string[] | undefined;
647
655
  headroom_threshold?: number | undefined;
648
656
  } | undefined;
@@ -1092,20 +1100,28 @@ export declare const ResolvedConfig: z.ZodObject<{
1092
1100
  /**
1093
1101
  * ONE typed profile-selection policy (INV-135, W5.4): what happens
1094
1102
  * when the selected credential profile hits its vendor limit.
1095
- * Rotation is OPT-IN and rotates only on typed vendor-limit
1096
- * signals or proactive headroom breaches — never on ordinary
1097
- * network errors.
1103
+ * `auto` is the stored default and resolves BY CREDENTIAL KIND at
1104
+ * decision time (`effectiveLimitAction`): rotate for subscription
1105
+ * (`local_session`) subjects, fail for metered API-key or unknown
1106
+ * routes. This SUPERSEDES the earlier "rotation is opt-in" lock
1107
+ * (CONCEPT-CHANGE(INV-135), owner decision 2026-08-17): a spent
1108
+ * subscription window fails over by default, while explicitly
1109
+ * persisted `fail`/`ask`/`rotate` values keep their exact meaning
1110
+ * and are never rewritten — only the interpretation of an ABSENT
1111
+ * key changed. Rotation still fires only on typed vendor-limit
1112
+ * signals, proactive headroom breaches, or the structural
1113
+ * pre-progress predicate — never on ordinary network errors.
1098
1114
  */
1099
1115
  profile_policy: z.ZodDefault<z.ZodObject<{
1100
- limit_action: z.ZodDefault<z.ZodEnum<["fail", "ask", "rotate"]>>;
1116
+ limit_action: z.ZodDefault<z.ZodEnum<["auto", "fail", "ask", "rotate"]>>;
1101
1117
  rotation_eligible: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1102
1118
  headroom_threshold: z.ZodDefault<z.ZodNumber>;
1103
1119
  }, "strict", z.ZodTypeAny, {
1104
- limit_action: "ask" | "fail" | "rotate";
1120
+ limit_action: "ask" | "auto" | "fail" | "rotate";
1105
1121
  rotation_eligible: string[];
1106
1122
  headroom_threshold: number;
1107
1123
  }, {
1108
- limit_action?: "ask" | "fail" | "rotate" | undefined;
1124
+ limit_action?: "ask" | "auto" | "fail" | "rotate" | undefined;
1109
1125
  rotation_eligible?: string[] | undefined;
1110
1126
  headroom_threshold?: number | undefined;
1111
1127
  }>>;
@@ -1123,7 +1139,7 @@ export declare const ResolvedConfig: z.ZodObject<{
1123
1139
  max_turns: number | null;
1124
1140
  max_rounds: number | null;
1125
1141
  profile_policy: {
1126
- limit_action: "ask" | "fail" | "rotate";
1142
+ limit_action: "ask" | "auto" | "fail" | "rotate";
1127
1143
  rotation_eligible: string[];
1128
1144
  headroom_threshold: number;
1129
1145
  };
@@ -1140,7 +1156,7 @@ export declare const ResolvedConfig: z.ZodObject<{
1140
1156
  max_turns?: number | null | undefined;
1141
1157
  max_rounds?: number | null | undefined;
1142
1158
  profile_policy?: {
1143
- limit_action?: "ask" | "fail" | "rotate" | undefined;
1159
+ limit_action?: "ask" | "auto" | "fail" | "rotate" | undefined;
1144
1160
  rotation_eligible?: string[] | undefined;
1145
1161
  headroom_threshold?: number | undefined;
1146
1162
  } | undefined;
@@ -1207,7 +1223,7 @@ export declare const ResolvedConfig: z.ZodObject<{
1207
1223
  max_turns: number | null;
1208
1224
  max_rounds: number | null;
1209
1225
  profile_policy: {
1210
- limit_action: "ask" | "fail" | "rotate";
1226
+ limit_action: "ask" | "auto" | "fail" | "rotate";
1211
1227
  rotation_eligible: string[];
1212
1228
  headroom_threshold: number;
1213
1229
  };
@@ -1274,7 +1290,7 @@ export declare const ResolvedConfig: z.ZodObject<{
1274
1290
  max_turns?: number | null | undefined;
1275
1291
  max_rounds?: number | null | undefined;
1276
1292
  profile_policy?: {
1277
- limit_action?: "ask" | "fail" | "rotate" | undefined;
1293
+ limit_action?: "ask" | "auto" | "fail" | "rotate" | undefined;
1278
1294
  rotation_eligible?: string[] | undefined;
1279
1295
  headroom_threshold?: number | undefined;
1280
1296
  } | undefined;
@@ -1382,7 +1398,7 @@ export declare const ResolvedConfig: z.ZodObject<{
1382
1398
  max_turns: number | null;
1383
1399
  max_rounds: number | null;
1384
1400
  profile_policy: {
1385
- limit_action: "ask" | "fail" | "rotate";
1401
+ limit_action: "ask" | "auto" | "fail" | "rotate";
1386
1402
  rotation_eligible: string[];
1387
1403
  headroom_threshold: number;
1388
1404
  };
@@ -1490,7 +1506,7 @@ export declare const ResolvedConfig: z.ZodObject<{
1490
1506
  max_turns?: number | null | undefined;
1491
1507
  max_rounds?: number | null | undefined;
1492
1508
  profile_policy?: {
1493
- limit_action?: "ask" | "fail" | "rotate" | undefined;
1509
+ limit_action?: "ask" | "auto" | "fail" | "rotate" | undefined;
1494
1510
  rotation_eligible?: string[] | undefined;
1495
1511
  headroom_threshold?: number | undefined;
1496
1512
  } | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAY3B;;6EAE6E;AAC7E,eAAO,MAAM,0BAA0B,mBAAwB,CAAC;AAEhE;;uCAEuC;AACvC,eAAO,MAAM,uBAAuB,4BAMvB,CAAC;AAEd;;;;;;kEAMkE;AAClE,eAAO,MAAM,qCAAqC,UAAY,CAAC;AAW/D;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiDvB,CAAC;AACJ,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D,8EAA8E;AAC9E,eAAO,MAAM,WAAW;;;;IAUpB;;;;;;OAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBJ,CAAC;AACJ,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,qEAAqE;AACrE,eAAO,MAAM,YAAY;;IAGrB;8EAC0E;;;;;QAetE;;;;WAIG;;QAOH,iEAAiE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAYjE;;;;;;;;WAQG;;;;;;;;;;;;;;;;;;;;QAcH;;;WAGG;;;;;;;;;;;;;;;QAkCH;;;;;;;;;;;;;WAaG;;;;;;;;;;;;;;;;;;;IAaP;;;;;;OAMG;;;;;;;;;;;;;;IAyBH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA4BK;;;;;;;;;WASG;;;;;;QA6BH;;;;;;WAMG;;;;;;;;;;;;;;;;;;QA2CH,4EAA4E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYrF,CAAC;AACJ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD,kEAAkE;AAClE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAhUvB;;;;;;WAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAuBH;kFAC0E;;;;;YAetE;;;;eAIG;;YAOH,iEAAiE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAYjE;;;;;;;;eAQG;;;;;;;;;;;;;;;;;;;;YAcH;;;eAGG;;;;;;;;;;;;;;;YAkCH;;;;;;;;;;;;;eAaG;;;;;;;;;;;;;;;;;;;QAaP;;;;;;WAMG;;;;;;;;;;;;;;QAyBH;;;;;WAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA4BK;;;;;;;;;eASG;;;;;;YA6BH;;;;;;eAMG;;;;;;;;;;;;;;;;;;YA2CH,4EAA4E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0Bd,CAAC;AAC3E,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -268,6 +268,7 @@ export const GlobalConfig = z
268
268
  .default([])
269
269
  .superRefine((profiles, ctx) => {
270
270
  const seen = new Set();
271
+ const locators = new Set();
271
272
  for (const p of profiles) {
272
273
  const key = `${p.harness_id}\u0000${p.profile_id}`;
273
274
  if (seen.has(key))
@@ -276,6 +277,17 @@ export const GlobalConfig = z
276
277
  message: `duplicate credential profile ${p.profile_id} for harness ${p.harness_id}`,
277
278
  });
278
279
  seen.add(key);
280
+ // Locator uniqueness (unified account model): two rows sharing one
281
+ // config dir would be two names for ONE credential — deletion,
282
+ // routing, and quota attribution could not tell them apart.
283
+ if (p.isolation_locator) {
284
+ if (locators.has(p.isolation_locator))
285
+ ctx.addIssue({
286
+ code: "custom",
287
+ message: `credential profiles must not share isolation_locator ${p.isolation_locator}`,
288
+ });
289
+ locators.add(p.isolation_locator);
290
+ }
279
291
  }
280
292
  })
281
293
  .describe("Durable non-secret credential-profile registry; secret material lives in the vendor dir or the secret store, never in config."),
@@ -325,16 +337,24 @@ export const GlobalConfig = z
325
337
  /**
326
338
  * ONE typed profile-selection policy (INV-135, W5.4): what happens
327
339
  * when the selected credential profile hits its vendor limit.
328
- * Rotation is OPT-IN and rotates only on typed vendor-limit
329
- * signals or proactive headroom breaches — never on ordinary
330
- * network errors.
340
+ * `auto` is the stored default and resolves BY CREDENTIAL KIND at
341
+ * decision time (`effectiveLimitAction`): rotate for subscription
342
+ * (`local_session`) subjects, fail for metered API-key or unknown
343
+ * routes. This SUPERSEDES the earlier "rotation is opt-in" lock
344
+ * (CONCEPT-CHANGE(INV-135), owner decision 2026-08-17): a spent
345
+ * subscription window fails over by default, while explicitly
346
+ * persisted `fail`/`ask`/`rotate` values keep their exact meaning
347
+ * and are never rewritten — only the interpretation of an ABSENT
348
+ * key changed. Rotation still fires only on typed vendor-limit
349
+ * signals, proactive headroom breaches, or the structural
350
+ * pre-progress predicate — never on ordinary network errors.
331
351
  */
332
352
  profile_policy: z
333
353
  .object({
334
354
  limit_action: z
335
- .enum(["fail", "ask", "rotate"])
336
- .default("fail")
337
- .describe("On a typed vendor limit: fail the attempt, surface a typed ask, or rotate to the next eligible profile."),
355
+ .enum(["auto", "fail", "ask", "rotate"])
356
+ .default("auto")
357
+ .describe("On a typed vendor limit: auto (kind-aware default — rotate for subscription subjects, fail for metered), fail the attempt, surface a typed ask, or rotate to the next eligible profile."),
338
358
  rotation_eligible: z
339
359
  .array(z.string())
340
360
  .default([])
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -106,7 +106,7 @@ export declare const ControlRunListResponse: z.ZodObject<{
106
106
  failure: z.ZodDefault<z.ZodNullable<z.ZodObject<{
107
107
  phase: z.ZodDefault<z.ZodString>;
108
108
  category: z.ZodDefault<z.ZodEnum<["validation", "project", "auth", "harness_unavailable", "harness_error", "config_error", "budget", "policy", "cancelled", "internal", "unknown"]>>;
109
- code: z.ZodDefault<z.ZodNullable<z.ZodEnum<["finite_zero", "hard_cap", "estimate_headroom", "unknown_paid_in_flight", "budget_overshoot", "cost_unverifiable", "delegation_child_drain_timeout", "subscription_window_exhausted", "delegated_home_unavailable", "delegated_confinement_unavailable", "delegated_evidence_incomplete"]>>>;
109
+ code: z.ZodDefault<z.ZodNullable<z.ZodEnum<["finite_zero", "hard_cap", "estimate_headroom", "unknown_paid_in_flight", "budget_overshoot", "cost_unverifiable", "delegation_child_drain_timeout", "subscription_window_exhausted", "credential_pool_exhausted", "delegated_home_unavailable", "delegated_confinement_unavailable", "delegated_evidence_incomplete"]>>>;
110
110
  harnessId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
111
111
  attemptId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
112
112
  safeMessage: z.ZodString;
@@ -119,7 +119,7 @@ export declare const ControlRunListResponse: z.ZodObject<{
119
119
  }, "strip", z.ZodTypeAny, {
120
120
  phase: string;
121
121
  category: "auth" | "budget" | "cancelled" | "config_error" | "harness_error" | "harness_unavailable" | "internal" | "policy" | "project" | "unknown" | "validation";
122
- code: "budget_overshoot" | "cost_unverifiable" | "delegated_confinement_unavailable" | "delegated_evidence_incomplete" | "delegated_home_unavailable" | "delegation_child_drain_timeout" | "estimate_headroom" | "finite_zero" | "hard_cap" | "subscription_window_exhausted" | "unknown_paid_in_flight" | null;
122
+ code: "budget_overshoot" | "cost_unverifiable" | "credential_pool_exhausted" | "delegated_confinement_unavailable" | "delegated_evidence_incomplete" | "delegated_home_unavailable" | "delegation_child_drain_timeout" | "estimate_headroom" | "finite_zero" | "hard_cap" | "subscription_window_exhausted" | "unknown_paid_in_flight" | null;
123
123
  harnessId: string | null;
124
124
  attemptId: string | null;
125
125
  safeMessage: string;
@@ -132,7 +132,7 @@ export declare const ControlRunListResponse: z.ZodObject<{
132
132
  }, {
133
133
  phase?: string | undefined;
134
134
  category?: "auth" | "budget" | "cancelled" | "config_error" | "harness_error" | "harness_unavailable" | "internal" | "policy" | "project" | "unknown" | "validation" | undefined;
135
- code?: "budget_overshoot" | "cost_unverifiable" | "delegated_confinement_unavailable" | "delegated_evidence_incomplete" | "delegated_home_unavailable" | "delegation_child_drain_timeout" | "estimate_headroom" | "finite_zero" | "hard_cap" | "subscription_window_exhausted" | "unknown_paid_in_flight" | null | undefined;
135
+ code?: "budget_overshoot" | "cost_unverifiable" | "credential_pool_exhausted" | "delegated_confinement_unavailable" | "delegated_evidence_incomplete" | "delegated_home_unavailable" | "delegation_child_drain_timeout" | "estimate_headroom" | "finite_zero" | "hard_cap" | "subscription_window_exhausted" | "unknown_paid_in_flight" | null | undefined;
136
136
  harnessId?: string | null | undefined;
137
137
  attemptId?: string | null | undefined;
138
138
  safeMessage: string;
@@ -549,7 +549,7 @@ export declare const ControlRunListResponse: z.ZodObject<{
549
549
  failure: {
550
550
  phase: string;
551
551
  category: "auth" | "budget" | "cancelled" | "config_error" | "harness_error" | "harness_unavailable" | "internal" | "policy" | "project" | "unknown" | "validation";
552
- code: "budget_overshoot" | "cost_unverifiable" | "delegated_confinement_unavailable" | "delegated_evidence_incomplete" | "delegated_home_unavailable" | "delegation_child_drain_timeout" | "estimate_headroom" | "finite_zero" | "hard_cap" | "subscription_window_exhausted" | "unknown_paid_in_flight" | null;
552
+ code: "budget_overshoot" | "cost_unverifiable" | "credential_pool_exhausted" | "delegated_confinement_unavailable" | "delegated_evidence_incomplete" | "delegated_home_unavailable" | "delegation_child_drain_timeout" | "estimate_headroom" | "finite_zero" | "hard_cap" | "subscription_window_exhausted" | "unknown_paid_in_flight" | null;
553
553
  harnessId: string | null;
554
554
  attemptId: string | null;
555
555
  safeMessage: string;
@@ -718,7 +718,7 @@ export declare const ControlRunListResponse: z.ZodObject<{
718
718
  failure?: {
719
719
  phase?: string | undefined;
720
720
  category?: "auth" | "budget" | "cancelled" | "config_error" | "harness_error" | "harness_unavailable" | "internal" | "policy" | "project" | "unknown" | "validation" | undefined;
721
- code?: "budget_overshoot" | "cost_unverifiable" | "delegated_confinement_unavailable" | "delegated_evidence_incomplete" | "delegated_home_unavailable" | "delegation_child_drain_timeout" | "estimate_headroom" | "finite_zero" | "hard_cap" | "subscription_window_exhausted" | "unknown_paid_in_flight" | null | undefined;
721
+ code?: "budget_overshoot" | "cost_unverifiable" | "credential_pool_exhausted" | "delegated_confinement_unavailable" | "delegated_evidence_incomplete" | "delegated_home_unavailable" | "delegation_child_drain_timeout" | "estimate_headroom" | "finite_zero" | "hard_cap" | "subscription_window_exhausted" | "unknown_paid_in_flight" | null | undefined;
722
722
  harnessId?: string | null | undefined;
723
723
  attemptId?: string | null | undefined;
724
724
  safeMessage: string;
@@ -897,7 +897,7 @@ export declare const ControlRunListResponse: z.ZodObject<{
897
897
  failure: {
898
898
  phase: string;
899
899
  category: "auth" | "budget" | "cancelled" | "config_error" | "harness_error" | "harness_unavailable" | "internal" | "policy" | "project" | "unknown" | "validation";
900
- code: "budget_overshoot" | "cost_unverifiable" | "delegated_confinement_unavailable" | "delegated_evidence_incomplete" | "delegated_home_unavailable" | "delegation_child_drain_timeout" | "estimate_headroom" | "finite_zero" | "hard_cap" | "subscription_window_exhausted" | "unknown_paid_in_flight" | null;
900
+ code: "budget_overshoot" | "cost_unverifiable" | "credential_pool_exhausted" | "delegated_confinement_unavailable" | "delegated_evidence_incomplete" | "delegated_home_unavailable" | "delegation_child_drain_timeout" | "estimate_headroom" | "finite_zero" | "hard_cap" | "subscription_window_exhausted" | "unknown_paid_in_flight" | null;
901
901
  harnessId: string | null;
902
902
  attemptId: string | null;
903
903
  safeMessage: string;
@@ -1070,7 +1070,7 @@ export declare const ControlRunListResponse: z.ZodObject<{
1070
1070
  failure?: {
1071
1071
  phase?: string | undefined;
1072
1072
  category?: "auth" | "budget" | "cancelled" | "config_error" | "harness_error" | "harness_unavailable" | "internal" | "policy" | "project" | "unknown" | "validation" | undefined;
1073
- code?: "budget_overshoot" | "cost_unverifiable" | "delegated_confinement_unavailable" | "delegated_evidence_incomplete" | "delegated_home_unavailable" | "delegation_child_drain_timeout" | "estimate_headroom" | "finite_zero" | "hard_cap" | "subscription_window_exhausted" | "unknown_paid_in_flight" | null | undefined;
1073
+ code?: "budget_overshoot" | "cost_unverifiable" | "credential_pool_exhausted" | "delegated_confinement_unavailable" | "delegated_evidence_incomplete" | "delegated_home_unavailable" | "delegation_child_drain_timeout" | "estimate_headroom" | "finite_zero" | "hard_cap" | "subscription_window_exhausted" | "unknown_paid_in_flight" | null | undefined;
1074
1074
  harnessId?: string | null | undefined;
1075
1075
  attemptId?: string | null | undefined;
1076
1076
  safeMessage: string;