agent-dealer 1.2.4 → 1.2.5

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 (38) hide show
  1. package/bundle/server/dist/adapters/agent-health.js +25 -2
  2. package/bundle/server/dist/adapters/agent-health.test.js +55 -2
  3. package/bundle/server/dist/adapters/github.js +110 -12
  4. package/bundle/server/dist/adapters/github.test.js +274 -3
  5. package/bundle/server/dist/adapters/muse-capability.js +330 -0
  6. package/bundle/server/dist/adapters/muse-capability.test.js +378 -0
  7. package/bundle/server/dist/capacity/claude-local-cache.js +217 -64
  8. package/bundle/server/dist/capacity/claude-local-cache.test.js +174 -29
  9. package/bundle/server/dist/capacity/muse-host.js +60 -2
  10. package/bundle/server/dist/capacity/muse-host.test.js +125 -1
  11. package/bundle/server/dist/coordinator/admission.test.js +85 -0
  12. package/bundle/server/dist/coordinator/commands.js +35 -8
  13. package/bundle/server/dist/coordinator/developer-effect.js +40 -6
  14. package/bundle/server/dist/coordinator/developer-effect.test.js +121 -12
  15. package/bundle/server/dist/coordinator/human-resolution.js +31 -1
  16. package/bundle/server/dist/coordinator/muse-spawn.js +12 -2
  17. package/bundle/server/dist/coordinator/prompts.js +15 -0
  18. package/bundle/server/dist/coordinator/prompts.test.js +20 -0
  19. package/bundle/server/dist/coordinator/spawn.js +7 -0
  20. package/bundle/server/dist/coordinator/worktree-cwd-guard.js +48 -0
  21. package/bundle/server/dist/coordinator/worktree-cwd-guard.test.js +83 -0
  22. package/bundle/server/dist/routes/human-actions.js +10 -1
  23. package/bundle/server/dist/routes/human-actions.test.js +117 -1
  24. package/bundle/server/dist/routes/index.js +9 -5
  25. package/bundle/server/dist/routes/runtime-capacity.test.js +3 -2
  26. package/bundle/server/package.json +2 -2
  27. package/bundle/server/static-ui/assets/{index-CYqRh_-S.css → index-BII-LgB8.css} +1 -1
  28. package/bundle/server/static-ui/assets/index-Bq8wWpZm.js +60 -0
  29. package/bundle/server/static-ui/index.html +2 -2
  30. package/bundle/shared/dist/agents.d.ts +15 -15
  31. package/bundle/shared/dist/agents.js +6 -0
  32. package/bundle/shared/dist/index.d.ts +7 -7
  33. package/bundle/shared/package.json +1 -1
  34. package/dist/doctor.d.ts +7 -3
  35. package/dist/doctor.js +17 -12
  36. package/dist/doctor.test.js +9 -8
  37. package/package.json +1 -1
  38. package/bundle/server/static-ui/assets/index-UO4lHZw4.js +0 -60
@@ -8,8 +8,8 @@
8
8
  <link rel="apple-touch-icon" href="/apple-touch-icon.png" />
9
9
  <meta name="theme-color" content="#0a0e14" />
10
10
  <link rel="preload" href="/fonts/Monaco.ttf" as="font" type="font/ttf" crossorigin />
11
- <script type="module" crossorigin src="/assets/index-UO4lHZw4.js"></script>
12
- <link rel="stylesheet" crossorigin href="/assets/index-CYqRh_-S.css">
11
+ <script type="module" crossorigin src="/assets/index-Bq8wWpZm.js"></script>
12
+ <link rel="stylesheet" crossorigin href="/assets/index-BII-LgB8.css">
13
13
  </head>
14
14
  <body>
15
15
  <div id="root"></div>
@@ -13,13 +13,13 @@ export declare const CURSOR_SUBSCRIPTION_MODEL_IDS: readonly ["auto", "composer-
13
13
  */
14
14
  export declare const MUSE_CODE_CONTRIBUTOR_MODEL = "muse-spark-1.3-contributor";
15
15
  export declare const AgentHealthIssue: z.ZodObject<{
16
- code: z.ZodEnum<["cli_missing", "runtime_auth", "runtime_unknown", "cursor_keychain", "usage_capped", "deck_offline", "deck_unauthorized", "workspace_missing", "deck_missing", "mcp_not_registered", "github_cli_missing", "github_auth", "github_unreachable"]>;
16
+ code: z.ZodEnum<["cli_missing", "runtime_auth", "runtime_unknown", "runtime_capability", "cursor_keychain", "usage_capped", "deck_offline", "deck_unauthorized", "workspace_missing", "deck_missing", "mcp_not_registered", "github_cli_missing", "github_auth", "github_unreachable"]>;
17
17
  message: z.ZodString;
18
18
  }, "strip", z.ZodTypeAny, {
19
- code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
19
+ code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "runtime_capability" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
20
20
  message: string;
21
21
  }, {
22
- code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
22
+ code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "runtime_capability" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
23
23
  message: string;
24
24
  }>;
25
25
  export type AgentHealthIssue = z.infer<typeof AgentHealthIssue>;
@@ -158,20 +158,20 @@ export declare const AgentWithHealth: z.ZodObject<{
158
158
  } & {
159
159
  healthy: z.ZodBoolean;
160
160
  issues: z.ZodArray<z.ZodObject<{
161
- code: z.ZodEnum<["cli_missing", "runtime_auth", "runtime_unknown", "cursor_keychain", "usage_capped", "deck_offline", "deck_unauthorized", "workspace_missing", "deck_missing", "mcp_not_registered", "github_cli_missing", "github_auth", "github_unreachable"]>;
161
+ code: z.ZodEnum<["cli_missing", "runtime_auth", "runtime_unknown", "runtime_capability", "cursor_keychain", "usage_capped", "deck_offline", "deck_unauthorized", "workspace_missing", "deck_missing", "mcp_not_registered", "github_cli_missing", "github_auth", "github_unreachable"]>;
162
162
  message: z.ZodString;
163
163
  }, "strip", z.ZodTypeAny, {
164
- code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
164
+ code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "runtime_capability" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
165
165
  message: string;
166
166
  }, {
167
- code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
167
+ code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "runtime_capability" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
168
168
  message: string;
169
169
  }>, "many">;
170
170
  }, "strip", z.ZodTypeAny, {
171
171
  defaultPlanModel: string | null;
172
172
  defaultExecuteModel: string | null;
173
173
  issues: {
174
- code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
174
+ code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "runtime_capability" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
175
175
  message: string;
176
176
  }[];
177
177
  id: string;
@@ -198,7 +198,7 @@ export declare const AgentWithHealth: z.ZodObject<{
198
198
  defaultPlanModel: string | null;
199
199
  defaultExecuteModel: string | null;
200
200
  issues: {
201
- code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
201
+ code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "runtime_capability" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
202
202
  message: string;
203
203
  }[];
204
204
  id: string;
@@ -390,20 +390,20 @@ export declare const AgentsSnapshot: z.ZodObject<{
390
390
  } & {
391
391
  healthy: z.ZodBoolean;
392
392
  issues: z.ZodArray<z.ZodObject<{
393
- code: z.ZodEnum<["cli_missing", "runtime_auth", "runtime_unknown", "cursor_keychain", "usage_capped", "deck_offline", "deck_unauthorized", "workspace_missing", "deck_missing", "mcp_not_registered", "github_cli_missing", "github_auth", "github_unreachable"]>;
393
+ code: z.ZodEnum<["cli_missing", "runtime_auth", "runtime_unknown", "runtime_capability", "cursor_keychain", "usage_capped", "deck_offline", "deck_unauthorized", "workspace_missing", "deck_missing", "mcp_not_registered", "github_cli_missing", "github_auth", "github_unreachable"]>;
394
394
  message: z.ZodString;
395
395
  }, "strip", z.ZodTypeAny, {
396
- code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
396
+ code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "runtime_capability" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
397
397
  message: string;
398
398
  }, {
399
- code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
399
+ code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "runtime_capability" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
400
400
  message: string;
401
401
  }>, "many">;
402
402
  }, "strip", z.ZodTypeAny, {
403
403
  defaultPlanModel: string | null;
404
404
  defaultExecuteModel: string | null;
405
405
  issues: {
406
- code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
406
+ code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "runtime_capability" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
407
407
  message: string;
408
408
  }[];
409
409
  id: string;
@@ -430,7 +430,7 @@ export declare const AgentsSnapshot: z.ZodObject<{
430
430
  defaultPlanModel: string | null;
431
431
  defaultExecuteModel: string | null;
432
432
  issues: {
433
- code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
433
+ code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "runtime_capability" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
434
434
  message: string;
435
435
  }[];
436
436
  id: string;
@@ -460,7 +460,7 @@ export declare const AgentsSnapshot: z.ZodObject<{
460
460
  defaultPlanModel: string | null;
461
461
  defaultExecuteModel: string | null;
462
462
  issues: {
463
- code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
463
+ code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "runtime_capability" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
464
464
  message: string;
465
465
  }[];
466
466
  id: string;
@@ -490,7 +490,7 @@ export declare const AgentsSnapshot: z.ZodObject<{
490
490
  defaultPlanModel: string | null;
491
491
  defaultExecuteModel: string | null;
492
492
  issues: {
493
- code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
493
+ code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "runtime_capability" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
494
494
  message: string;
495
495
  }[];
496
496
  id: string;
@@ -24,6 +24,12 @@ export const AgentHealthIssue = z.object({
24
24
  * classified auth failure). Reported as unknown rather than guessed at (NOT-178).
25
25
  */
26
26
  "runtime_unknown",
27
+ /**
28
+ * The runtime's reported version changed and its developer capability (Muse Code: shell/write
29
+ * access) is missing, not yet verified, or could not be verified on the new binary (NOT-277).
30
+ * The message names the old and new versions and the capability.
31
+ */
32
+ "runtime_capability",
27
33
  /**
28
34
  * Cursor macOS keychain stuck (errSecDuplicateItem / exit 45) — sessions die mid-run
29
35
  * even when status briefly looked logged-in (NOT-114 / NOT-103).
@@ -1953,20 +1953,20 @@ export declare const QueueSnapshot: z.ZodObject<{
1953
1953
  } & {
1954
1954
  healthy: z.ZodBoolean;
1955
1955
  issues: z.ZodArray<z.ZodObject<{
1956
- code: z.ZodEnum<["cli_missing", "runtime_auth", "runtime_unknown", "cursor_keychain", "usage_capped", "deck_offline", "deck_unauthorized", "workspace_missing", "deck_missing", "mcp_not_registered", "github_cli_missing", "github_auth", "github_unreachable"]>;
1956
+ code: z.ZodEnum<["cli_missing", "runtime_auth", "runtime_unknown", "runtime_capability", "cursor_keychain", "usage_capped", "deck_offline", "deck_unauthorized", "workspace_missing", "deck_missing", "mcp_not_registered", "github_cli_missing", "github_auth", "github_unreachable"]>;
1957
1957
  message: z.ZodString;
1958
1958
  }, "strip", z.ZodTypeAny, {
1959
- code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
1959
+ code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "runtime_capability" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
1960
1960
  message: string;
1961
1961
  }, {
1962
- code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
1962
+ code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "runtime_capability" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
1963
1963
  message: string;
1964
1964
  }>, "many">;
1965
1965
  }, "strip", z.ZodTypeAny, {
1966
1966
  defaultPlanModel: string | null;
1967
1967
  defaultExecuteModel: string | null;
1968
1968
  issues: {
1969
- code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
1969
+ code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "runtime_capability" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
1970
1970
  message: string;
1971
1971
  }[];
1972
1972
  id: string;
@@ -1993,7 +1993,7 @@ export declare const QueueSnapshot: z.ZodObject<{
1993
1993
  defaultPlanModel: string | null;
1994
1994
  defaultExecuteModel: string | null;
1995
1995
  issues: {
1996
- code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
1996
+ code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "runtime_capability" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
1997
1997
  message: string;
1998
1998
  }[];
1999
1999
  id: string;
@@ -2023,7 +2023,7 @@ export declare const QueueSnapshot: z.ZodObject<{
2023
2023
  defaultPlanModel: string | null;
2024
2024
  defaultExecuteModel: string | null;
2025
2025
  issues: {
2026
- code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
2026
+ code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "runtime_capability" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
2027
2027
  message: string;
2028
2028
  }[];
2029
2029
  id: string;
@@ -2295,7 +2295,7 @@ export declare const QueueSnapshot: z.ZodObject<{
2295
2295
  defaultPlanModel: string | null;
2296
2296
  defaultExecuteModel: string | null;
2297
2297
  issues: {
2298
- code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
2298
+ code: "cli_missing" | "runtime_auth" | "runtime_unknown" | "runtime_capability" | "cursor_keychain" | "usage_capped" | "deck_offline" | "deck_unauthorized" | "workspace_missing" | "deck_missing" | "mcp_not_registered" | "github_cli_missing" | "github_auth" | "github_unreachable";
2299
2299
  message: string;
2300
2300
  }[];
2301
2301
  id: string;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-dealer/shared",
3
- "version": "1.2.4",
3
+ "version": "1.2.5",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
package/dist/doctor.d.ts CHANGED
@@ -23,7 +23,7 @@ export declare function describeCursorIndividualLogin(status: {
23
23
  export declare function checkCursorIndividualLogin(): Promise<CursorIndividualLoginReport>;
24
24
  /** Env override for the Claude cache file (tests/smoke). */
25
25
  export declare const CLAUDE_CAPACITY_CACHE_FILE_ENV = "AGENT_DEALER_CLAUDE_CACHE_FILE";
26
- /** Paid-fallback setting: enabled by default; `off` disables it. */
26
+ /** Refresh setting: enabled by default (free `/usage` check); `off` disables it. */
27
27
  export declare const CLAUDE_CAPACITY_REFRESH_ENV = "AGENT_DEALER_CLAUDE_CAPACITY_REFRESH";
28
28
  export declare const CLAUDE_CAPACITY_REFRESH_PAID_VALUE = "paid-after-1h";
29
29
  export declare const CLAUDE_CAPACITY_REFRESH_OFF_VALUE = "off";
@@ -43,8 +43,12 @@ export declare function describeClaudeCapacitySource(status: {
43
43
  ageMs: number | null;
44
44
  } | null | undefined): ClaudeCapacitySourceReport;
45
45
  /**
46
- * Map the paid-fallback setting to its warning line, or null when explicitly
47
- * disabled (or unrecognized). Unset/empty is the paid-after-1h default.
46
+ * Map the refresh setting to a note, or null when it's enabled (the default
47
+ * — nothing to flag: the refresh is a free `/usage` local-command call, not
48
+ * a paid probe, since a 2026-09-27 live proof found and fixed the original
49
+ * paid-turn design; see docs/RUNTIME_CAPACITY.md). Only when explicitly
50
+ * disabled (`off`, or any unrecognized value) does this return a note that
51
+ * the capacity strip may go stale between Dealer-managed runs without it.
48
52
  * Pure (no I/O): unit tests pin both states here.
49
53
  */
50
54
  export declare function describeClaudeProbeOptIn(setting: string | undefined): string | null;
package/dist/doctor.js CHANGED
@@ -109,9 +109,9 @@ export async function runDoctor() {
109
109
  }
110
110
  // NOT-268: Claude account capacity source status (informational only —
111
111
  // never fails doctor). Reports whether Claude Code's own local 5H/1W
112
- // cache exists and how old it is, plus whether the paid fallback probe
113
- // is armed. Age labels only: never utilization values, prompts, tokens,
114
- // or account ids.
112
+ // cache exists and how old it is, plus whether the free `/usage` refresh
113
+ // is disabled. Age labels only: never utilization values, prompts,
114
+ // tokens, or account ids.
115
115
  try {
116
116
  console.log((await checkClaudeCapacitySource()).line);
117
117
  const probe = describeClaudeProbeOptIn(process.env.AGENT_DEALER_CLAUDE_CAPACITY_REFRESH);
@@ -264,7 +264,7 @@ export async function checkCursorIndividualLogin() {
264
264
  // ---------------------------------------------------------------------------
265
265
  /** Env override for the Claude cache file (tests/smoke). */
266
266
  export const CLAUDE_CAPACITY_CACHE_FILE_ENV = "AGENT_DEALER_CLAUDE_CACHE_FILE";
267
- /** Paid-fallback setting: enabled by default; `off` disables it. */
267
+ /** Refresh setting: enabled by default (free `/usage` check); `off` disables it. */
268
268
  export const CLAUDE_CAPACITY_REFRESH_ENV = "AGENT_DEALER_CLAUDE_CAPACITY_REFRESH";
269
269
  export const CLAUDE_CAPACITY_REFRESH_PAID_VALUE = "paid-after-1h";
270
270
  export const CLAUDE_CAPACITY_REFRESH_OFF_VALUE = "off";
@@ -282,7 +282,7 @@ export function describeClaudeCapacitySource(status) {
282
282
  }
283
283
  return {
284
284
  kind: "stale",
285
- line: `⚠ Claude capacity: local 5H/1W cache stale (${formatCacheAge(status.ageMs)} old — refreshes on the next Claude run)`,
285
+ line: `⚠ Claude capacity: local 5H/1W cache stale (${formatCacheAge(status.ageMs)} old — Dealer refreshes it for free on the next capacity check, unless AGENT_DEALER_CLAUDE_CAPACITY_REFRESH=off)`,
286
286
  };
287
287
  }
288
288
  return {
@@ -302,16 +302,21 @@ function formatCacheAge(ageMs) {
302
302
  return `${Math.floor(hours / 24)}d`;
303
303
  }
304
304
  /**
305
- * Map the paid-fallback setting to its warning line, or null when explicitly
306
- * disabled (or unrecognized). Unset/empty is the paid-after-1h default.
305
+ * Map the refresh setting to a note, or null when it's enabled (the default
306
+ * — nothing to flag: the refresh is a free `/usage` local-command call, not
307
+ * a paid probe, since a 2026-09-27 live proof found and fixed the original
308
+ * paid-turn design; see docs/RUNTIME_CAPACITY.md). Only when explicitly
309
+ * disabled (`off`, or any unrecognized value) does this return a note that
310
+ * the capacity strip may go stale between Dealer-managed runs without it.
307
311
  * Pure (no I/O): unit tests pin both states here.
308
312
  */
309
313
  export function describeClaudeProbeOptIn(setting) {
310
- if (setting === undefined || setting === "" || setting === CLAUDE_CAPACITY_REFRESH_PAID_VALUE) {
311
- return ("⚠ Claude capacity paid fallback: enabled (one ≤$0.01 Haiku probe after 1h stale — " +
312
- `set ${CLAUDE_CAPACITY_REFRESH_ENV}=${CLAUDE_CAPACITY_REFRESH_OFF_VALUE} to disable)`);
313
- }
314
- return null;
314
+ const enabled = setting === undefined || setting === "" || setting === CLAUDE_CAPACITY_REFRESH_PAID_VALUE;
315
+ if (enabled)
316
+ return null;
317
+ return ("⚠ Claude capacity auto-refresh disabled " +
318
+ `(${CLAUDE_CAPACITY_REFRESH_ENV}=${setting}) — the strip may go stale between ` +
319
+ "Dealer-managed runs; the refresh itself is free (one local `/usage` check, no model call)");
315
320
  }
316
321
  // ---------------------------------------------------------------------------
317
322
  // Muse capacity paid-fallback reporting for doctor.
@@ -189,16 +189,17 @@ test("describe maps each cache state to its static line", () => {
189
189
  assert.match(report.line, /no local 5H\/1W cache/);
190
190
  }
191
191
  });
192
- test("probe warning appears for the default and explicit paid value", () => {
192
+ test("refresh note is silent by default; appears only when explicitly disabled", () => {
193
193
  for (const setting of [undefined, "", CLAUDE_CAPACITY_REFRESH_PAID_VALUE]) {
194
- const armed = describeClaudeProbeOptIn(setting);
195
- assert.ok(armed);
196
- assert.match(armed, /enabled/);
197
- assert.match(armed, /≤\$0\.01/);
198
- assert.match(armed, /=off/);
194
+ assert.equal(describeClaudeProbeOptIn(setting), null);
195
+ }
196
+ for (const setting of ["off", "auto"]) {
197
+ const note = describeClaudeProbeOptIn(setting);
198
+ assert.ok(note);
199
+ assert.match(note, /disabled/);
200
+ assert.match(note, /free/);
201
+ assert.match(note, new RegExp(`${CLAUDE_CAPACITY_REFRESH_ENV}=${setting}`));
199
202
  }
200
- assert.equal(describeClaudeProbeOptIn("off"), null);
201
- assert.equal(describeClaudeProbeOptIn("auto"), null);
202
203
  });
203
204
  test("Muse paid-fallback warning matches server defaults and legacy no-spend precedence", () => {
204
205
  for (const setting of [undefined, "", MUSE_CAPACITY_REFRESH_PAID_VALUE]) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-dealer",
3
- "version": "1.2.4",
3
+ "version": "1.2.5",
4
4
  "description": "Human control plane for agent execution — queue, plan approval, audit",
5
5
  "license": "MIT",
6
6
  "type": "module",