claude-use 11.45.0 → 11.47.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.
package/dist/index.cjs CHANGED
@@ -293,8 +293,6 @@ var init_schema = __esm({
293
293
  delay: import_zod.z.string().regex(DURATION_RE, "must be a duration such as 5s or 500ms").optional(),
294
294
  /** Whether the launcher waits for a key press after its own output before it starts claude. Takes the place of `delay` when both are set. Applies only when a terminal is watching. */
295
295
  pause: import_zod.z.boolean().optional(),
296
- /** Whether a provider session routes provider-qualified model names (`z/glm-5.3`, `auto`) through the `models` block to the provider that serves them, instead of sending every request to the launch provider. */
297
- routeByName: import_zod.z.boolean().optional(),
298
296
  /** Whether the launcher's report, for a launch that picks from a pool, lists every member the pick ranked with why each stands where it does, and not only the member it picked. */
299
297
  explain: import_zod.z.boolean().optional()
300
298
  });
@@ -1473,9 +1471,6 @@ function flattenLayers(layers, options) {
1473
1471
  if (layer.launch.explain !== void 0) {
1474
1472
  launch.explain = layer.launch.explain;
1475
1473
  }
1476
- if (layer.launch.routeByName !== void 0) {
1477
- launch.routeByName = layer.launch.routeByName;
1478
- }
1479
1474
  }
1480
1475
  if (layer.models !== void 0) {
1481
1476
  models = mergeModels(models, layer.models);
@@ -2930,7 +2925,7 @@ var init_capability = __esm({
2930
2925
  });
2931
2926
 
2932
2927
  // src/frontdoor/route.ts
2933
- var IDENTITY_HEADER, SESSION_HEADER, PROVIDER_HEADER, HEADROOM_FLAG_HEADER, ROUTE_BY_NAME_HEADER, PROJECT_ID_HEADER, AUTH_HEADER;
2928
+ var IDENTITY_HEADER, SESSION_HEADER, PROVIDER_HEADER, HEADROOM_FLAG_HEADER, PROJECT_ID_HEADER, AUTH_HEADER;
2934
2929
  var init_route = __esm({
2935
2930
  "src/frontdoor/route.ts"() {
2936
2931
  "use strict";
@@ -2938,7 +2933,6 @@ var init_route = __esm({
2938
2933
  SESSION_HEADER = "x-agent-shim-session";
2939
2934
  PROVIDER_HEADER = "x-agent-shim-provider";
2940
2935
  HEADROOM_FLAG_HEADER = "x-agent-shim-headroom";
2941
- ROUTE_BY_NAME_HEADER = "x-agent-shim-route-by-name";
2942
2936
  PROJECT_ID_HEADER = "x-headroom-project-id";
2943
2937
  AUTH_HEADER = "x-agent-shim-auth";
2944
2938
  }
@@ -3078,7 +3072,7 @@ var init_state = __esm({
3078
3072
  import_node_path8 = __toESM(require("node:path"), 1);
3079
3073
  import_zod3 = require("zod");
3080
3074
  init_schema();
3081
- FRONT_DOOR_PROTOCOL = 4;
3075
+ FRONT_DOOR_PROTOCOL = 5;
3082
3076
  FrontDoorSessionSchema = import_zod3.z.strictObject({ pid: import_zod3.z.number().int().positive(), startedAt: import_zod3.z.number(), token: import_zod3.z.string().min(1), supervisorPid: import_zod3.z.number().int().positive().optional(), sessionId: import_zod3.z.string().min(1).optional(), models: ModelsConfigSchema.optional() });
3083
3077
  FrontDoorStateSchema = import_zod3.z.strictObject({
3084
3078
  /**
@@ -3151,7 +3145,7 @@ var init_package = __esm({
3151
3145
  "package.json"() {
3152
3146
  package_default = {
3153
3147
  name: "claude-use",
3154
- version: "11.45.0",
3148
+ version: "11.47.0",
3155
3149
  description: "A profile manager and launcher for Claude Code that lets one person run multiple logins from one machine while controlling what gets shared between them.",
3156
3150
  license: "MIT",
3157
3151
  author: "Joseph Mearman <joseph@mearman.co.uk>",
@@ -6455,9 +6449,6 @@ function applyProfileChange(paths, name, change) {
6455
6449
  if (change.launchExplain !== void 0) {
6456
6450
  launchPatch.explain = change.launchExplain;
6457
6451
  }
6458
- if (change.launchRouteByName !== void 0) {
6459
- launchPatch.routeByName = change.launchRouteByName;
6460
- }
6461
6452
  if (Object.keys(launchPatch).length > 0) {
6462
6453
  setProfileLaunchFlags(paths, name, launchPatch);
6463
6454
  touched = true;
@@ -6527,6 +6518,7 @@ function buildLayoutPaths(root) {
6527
6518
  identitiesDir: import_node_path23.default.join(root, "identities"),
6528
6519
  configProfilesDir: import_node_path23.default.join(root, "config-profiles"),
6529
6520
  providersDir: import_node_path23.default.join(root, "providers"),
6521
+ providerAliasesFile: import_node_path23.default.join(root, "provider-aliases.json"),
6530
6522
  directoryRulesFile: import_node_path23.default.join(root, "directory-rules.json"),
6531
6523
  activeIdentityFile: import_node_path23.default.join(root, "active-identity"),
6532
6524
  globalConfigFile: import_node_path23.default.join(root, "config.json"),
@@ -6743,6 +6735,50 @@ var init_realCredentialCache = __esm({
6743
6735
  }
6744
6736
  });
6745
6737
 
6738
+ // src/providerAliases.ts
6739
+ function parseAliases(file, raw) {
6740
+ const parsed = ProviderAliasesSchema.safeParse(raw);
6741
+ if (!parsed.success) {
6742
+ throw new ConfigValidationError(file, parsed.error.issues);
6743
+ }
6744
+ return parsed.data;
6745
+ }
6746
+ function readProviderAliases(paths) {
6747
+ return readJson(paths.providerAliasesFile, ProviderAliasesSchema) ?? {};
6748
+ }
6749
+ function loadProviderAliases(file, port) {
6750
+ const raw = port.readConfigFile(file);
6751
+ return raw === void 0 ? {} : parseAliases(file, raw);
6752
+ }
6753
+ function canonicalProviderName(name, defined, aliases) {
6754
+ if (defined(name)) {
6755
+ return name;
6756
+ }
6757
+ return aliases()[name] ?? name;
6758
+ }
6759
+ function aliasFindings(aliases, providerNames) {
6760
+ return Object.entries(aliases).map(([alias, target]) => {
6761
+ if (!providerNames.has(target)) {
6762
+ return { level: "fail", alias, message: `${alias} is recorded as a former name of ${target}, which is not a provider. Run \`agent-shim provider unalias ${alias}\`.` };
6763
+ }
6764
+ if (providerNames.has(alias)) {
6765
+ return { level: "warn", alias, message: `${alias} is both a provider and a recorded former name of ${target}; the provider wins. Run \`agent-shim provider unalias ${alias}\`.` };
6766
+ }
6767
+ return { level: "pass", alias, message: `${alias} is a former name of ${target}, still honoured for sessions launched under it. Run \`agent-shim provider unalias ${alias}\` once none is running.` };
6768
+ });
6769
+ }
6770
+ var import_zod15, ProviderAliasesSchema;
6771
+ var init_providerAliases = __esm({
6772
+ "src/providerAliases.ts"() {
6773
+ "use strict";
6774
+ import_zod15 = require("zod");
6775
+ init_cliError();
6776
+ init_load();
6777
+ init_store();
6778
+ ProviderAliasesSchema = import_zod15.z.record(import_zod15.z.string().min(1), import_zod15.z.string().min(1));
6779
+ }
6780
+ });
6781
+
6746
6782
  // src/credential.ts
6747
6783
  function commandArgv(source) {
6748
6784
  if ("command" in source) {
@@ -7147,6 +7183,11 @@ var init_families = __esm({
7147
7183
  });
7148
7184
 
7149
7185
  // src/providersStore.ts
7186
+ function requireValidProviderName(name) {
7187
+ if (!PROVIDER_NAME_RE.test(name)) {
7188
+ throw new InvalidProviderNameError(name);
7189
+ }
7190
+ }
7150
7191
  function providerJsonPath(paths, name) {
7151
7192
  return import_node_path25.default.join(paths.providersDir, `${name}.json`);
7152
7193
  }
@@ -7267,9 +7308,7 @@ function addProvider(paths, name, input) {
7267
7308
  if (providerExists(paths, name)) {
7268
7309
  throw new ProviderAlreadyExistsError(name);
7269
7310
  }
7270
- if (!PROVIDER_NAME_RE.test(name)) {
7271
- throw new InvalidProviderNameError(name);
7272
- }
7311
+ requireValidProviderName(name);
7273
7312
  const kind = input.kind ?? "http";
7274
7313
  if (kind === "codex" && input.baseUrl !== void 0) {
7275
7314
  throw new ProviderKindMismatchError("A codex provider has no base URL: the launcher points its sessions at the front-door daemon. Drop --base-url.");
@@ -7400,10 +7439,11 @@ function cascadeProviderName(cascade) {
7400
7439
  }
7401
7440
  function selectProvider(params) {
7402
7441
  const cliName = params.cliProvider !== void 0 && params.cliProvider !== "" ? params.cliProvider : void 0;
7403
- const name = cliName ?? (params.cascade === void 0 ? void 0 : cascadeProviderName(params.cascade));
7404
- if (name === void 0) {
7442
+ const named = cliName ?? (params.cascade === void 0 ? void 0 : cascadeProviderName(params.cascade));
7443
+ if (named === void 0) {
7405
7444
  return void 0;
7406
7445
  }
7446
+ const name = canonicalProviderName(named, (candidate) => loadProvider(params.paths.providersDir, candidate, params.port) !== void 0, () => loadProviderAliases(params.paths.providerAliasesFile, params.port));
7407
7447
  const definition = loadProvider(params.paths.providersDir, name, params.port);
7408
7448
  if (definition === void 0) {
7409
7449
  const known = listProviderNames(params.port.readdir, params.paths.providersDir);
@@ -7503,6 +7543,7 @@ var init_providersStore = __esm({
7503
7543
  init_unrecognisedKeys();
7504
7544
  init_schema();
7505
7545
  init_cliError();
7546
+ init_providerAliases();
7506
7547
  init_credential();
7507
7548
  init_walk();
7508
7549
  init_families();
@@ -7790,21 +7831,21 @@ function findPathShadow(params) {
7790
7831
  }
7791
7832
  return params.pathDirs.some((dir) => import_node_path28.default.resolve(dir) === resolvedTargetDir) ? { status: "ok" } : { status: "not-on-path" };
7792
7833
  }
7793
- var import_node_fs7, import_node_path28, import_zod19, ClaudeShimStateSchema, nodeLinkFs;
7834
+ var import_node_fs7, import_node_path28, import_zod20, ClaudeShimStateSchema, nodeLinkFs;
7794
7835
  var init_claudeShim = __esm({
7795
7836
  "src/claudeShim.ts"() {
7796
7837
  "use strict";
7797
7838
  import_node_fs7 = __toESM(require("node:fs"), 1);
7798
7839
  import_node_path28 = __toESM(require("node:path"), 1);
7799
- import_zod19 = require("zod");
7840
+ import_zod20 = require("zod");
7800
7841
  init_commandDeps();
7801
7842
  init_store();
7802
7843
  init_realPorts();
7803
7844
  init_cliError();
7804
- ClaudeShimStateSchema = import_zod19.z.strictObject({
7805
- targetPath: import_zod19.z.string().min(1),
7806
- method: import_zod19.z.enum(["hardlink", "copy"]),
7807
- installedAtMs: import_zod19.z.number()
7845
+ ClaudeShimStateSchema = import_zod20.z.strictObject({
7846
+ targetPath: import_zod20.z.string().min(1),
7847
+ method: import_zod20.z.enum(["hardlink", "copy"]),
7848
+ installedAtMs: import_zod20.z.number()
7808
7849
  });
7809
7850
  nodeLinkFs = { link: import_node_fs7.default.linkSync, copyFile: import_node_fs7.default.copyFileSync, chmod: import_node_fs7.default.chmodSync };
7810
7851
  }
@@ -7900,62 +7941,62 @@ var init_signatures = __esm({
7900
7941
  });
7901
7942
 
7902
7943
  // src/codex/anthropic.ts
7903
- var import_zod23, TextBlockSchema, Base64ImageSourceSchema, UrlImageSourceSchema, ImageBlockSchema, ToolUseBlockSchema, ToolResultContentBlockSchema, ToolResultBlockSchema, OtherBlockSchema, ContentBlockSchema, MessageSchema, ToolSchema, ToolChoiceSchema, SystemSchema, MessagesRequestSchema, CountTokensRequestSchema;
7944
+ var import_zod24, TextBlockSchema, Base64ImageSourceSchema, UrlImageSourceSchema, ImageBlockSchema, ToolUseBlockSchema, ToolResultContentBlockSchema, ToolResultBlockSchema, OtherBlockSchema, ContentBlockSchema, MessageSchema, ToolSchema, ToolChoiceSchema, SystemSchema, MessagesRequestSchema, CountTokensRequestSchema;
7904
7945
  var init_anthropic = __esm({
7905
7946
  "src/codex/anthropic.ts"() {
7906
7947
  "use strict";
7907
- import_zod23 = require("zod");
7908
- TextBlockSchema = import_zod23.z.looseObject({ type: import_zod23.z.literal("text"), text: import_zod23.z.string() });
7909
- Base64ImageSourceSchema = import_zod23.z.looseObject({ type: import_zod23.z.literal("base64"), media_type: import_zod23.z.string().min(1), data: import_zod23.z.string() });
7910
- UrlImageSourceSchema = import_zod23.z.looseObject({ type: import_zod23.z.literal("url"), url: import_zod23.z.string().min(1) });
7911
- ImageBlockSchema = import_zod23.z.looseObject({
7912
- type: import_zod23.z.literal("image"),
7913
- source: import_zod23.z.union([Base64ImageSourceSchema, UrlImageSourceSchema])
7948
+ import_zod24 = require("zod");
7949
+ TextBlockSchema = import_zod24.z.looseObject({ type: import_zod24.z.literal("text"), text: import_zod24.z.string() });
7950
+ Base64ImageSourceSchema = import_zod24.z.looseObject({ type: import_zod24.z.literal("base64"), media_type: import_zod24.z.string().min(1), data: import_zod24.z.string() });
7951
+ UrlImageSourceSchema = import_zod24.z.looseObject({ type: import_zod24.z.literal("url"), url: import_zod24.z.string().min(1) });
7952
+ ImageBlockSchema = import_zod24.z.looseObject({
7953
+ type: import_zod24.z.literal("image"),
7954
+ source: import_zod24.z.union([Base64ImageSourceSchema, UrlImageSourceSchema])
7914
7955
  });
7915
- ToolUseBlockSchema = import_zod23.z.looseObject({
7916
- type: import_zod23.z.literal("tool_use"),
7917
- id: import_zod23.z.string().min(1),
7918
- name: import_zod23.z.string().min(1),
7919
- input: import_zod23.z.unknown()
7956
+ ToolUseBlockSchema = import_zod24.z.looseObject({
7957
+ type: import_zod24.z.literal("tool_use"),
7958
+ id: import_zod24.z.string().min(1),
7959
+ name: import_zod24.z.string().min(1),
7960
+ input: import_zod24.z.unknown()
7920
7961
  });
7921
- ToolResultContentBlockSchema = import_zod23.z.union([TextBlockSchema, import_zod23.z.looseObject({ type: import_zod23.z.string() })]);
7922
- ToolResultBlockSchema = import_zod23.z.looseObject({
7923
- type: import_zod23.z.literal("tool_result"),
7924
- tool_use_id: import_zod23.z.string().min(1),
7925
- content: import_zod23.z.union([import_zod23.z.string(), import_zod23.z.array(ToolResultContentBlockSchema)]).optional()
7962
+ ToolResultContentBlockSchema = import_zod24.z.union([TextBlockSchema, import_zod24.z.looseObject({ type: import_zod24.z.string() })]);
7963
+ ToolResultBlockSchema = import_zod24.z.looseObject({
7964
+ type: import_zod24.z.literal("tool_result"),
7965
+ tool_use_id: import_zod24.z.string().min(1),
7966
+ content: import_zod24.z.union([import_zod24.z.string(), import_zod24.z.array(ToolResultContentBlockSchema)]).optional()
7926
7967
  });
7927
- OtherBlockSchema = import_zod23.z.looseObject({ type: import_zod23.z.string() });
7928
- ContentBlockSchema = import_zod23.z.union([TextBlockSchema, ImageBlockSchema, ToolUseBlockSchema, ToolResultBlockSchema, OtherBlockSchema]);
7929
- MessageSchema = import_zod23.z.looseObject({
7930
- role: import_zod23.z.enum(["user", "assistant", "system"]),
7931
- content: import_zod23.z.union([import_zod23.z.string(), import_zod23.z.array(ContentBlockSchema)])
7968
+ OtherBlockSchema = import_zod24.z.looseObject({ type: import_zod24.z.string() });
7969
+ ContentBlockSchema = import_zod24.z.union([TextBlockSchema, ImageBlockSchema, ToolUseBlockSchema, ToolResultBlockSchema, OtherBlockSchema]);
7970
+ MessageSchema = import_zod24.z.looseObject({
7971
+ role: import_zod24.z.enum(["user", "assistant", "system"]),
7972
+ content: import_zod24.z.union([import_zod24.z.string(), import_zod24.z.array(ContentBlockSchema)])
7932
7973
  });
7933
- ToolSchema = import_zod23.z.looseObject({
7934
- name: import_zod23.z.string().min(1),
7935
- description: import_zod23.z.string().optional(),
7936
- input_schema: import_zod23.z.record(import_zod23.z.string(), import_zod23.z.unknown()).optional()
7974
+ ToolSchema = import_zod24.z.looseObject({
7975
+ name: import_zod24.z.string().min(1),
7976
+ description: import_zod24.z.string().optional(),
7977
+ input_schema: import_zod24.z.record(import_zod24.z.string(), import_zod24.z.unknown()).optional()
7937
7978
  });
7938
- ToolChoiceSchema = import_zod23.z.union([
7939
- import_zod23.z.looseObject({ type: import_zod23.z.enum(["auto", "none", "any"]) }),
7940
- import_zod23.z.looseObject({ type: import_zod23.z.literal("tool"), name: import_zod23.z.string().min(1) })
7979
+ ToolChoiceSchema = import_zod24.z.union([
7980
+ import_zod24.z.looseObject({ type: import_zod24.z.enum(["auto", "none", "any"]) }),
7981
+ import_zod24.z.looseObject({ type: import_zod24.z.literal("tool"), name: import_zod24.z.string().min(1) })
7941
7982
  ]);
7942
- SystemSchema = import_zod23.z.union([import_zod23.z.string(), import_zod23.z.array(import_zod23.z.union([TextBlockSchema, OtherBlockSchema]))]);
7943
- MessagesRequestSchema = import_zod23.z.looseObject({
7944
- model: import_zod23.z.string().optional(),
7983
+ SystemSchema = import_zod24.z.union([import_zod24.z.string(), import_zod24.z.array(import_zod24.z.union([TextBlockSchema, OtherBlockSchema]))]);
7984
+ MessagesRequestSchema = import_zod24.z.looseObject({
7985
+ model: import_zod24.z.string().optional(),
7945
7986
  system: SystemSchema.optional(),
7946
- messages: import_zod23.z.array(MessageSchema),
7947
- tools: import_zod23.z.array(ToolSchema).optional(),
7987
+ messages: import_zod24.z.array(MessageSchema),
7988
+ tools: import_zod24.z.array(ToolSchema).optional(),
7948
7989
  tool_choice: ToolChoiceSchema.optional(),
7949
- stream: import_zod23.z.boolean().optional(),
7990
+ stream: import_zod24.z.boolean().optional(),
7950
7991
  /** `user_id` is stable for one Claude Code session and differs between sessions, which is what makes it the right key for both the backend's prompt cache and its session header. */
7951
- metadata: import_zod23.z.looseObject({ user_id: import_zod23.z.string().optional() }).optional(),
7992
+ metadata: import_zod24.z.looseObject({ user_id: import_zod24.z.string().optional() }).optional(),
7952
7993
  /** Claude Code's effort setting. Any string is accepted; the translator honours only the levels the backend understands. */
7953
- output_config: import_zod23.z.looseObject({ effort: import_zod23.z.string().optional() }).optional()
7994
+ output_config: import_zod24.z.looseObject({ effort: import_zod24.z.string().optional() }).optional()
7954
7995
  });
7955
- CountTokensRequestSchema = import_zod23.z.looseObject({
7956
- system: import_zod23.z.unknown().optional(),
7957
- messages: import_zod23.z.unknown().optional(),
7958
- tools: import_zod23.z.unknown().optional()
7996
+ CountTokensRequestSchema = import_zod24.z.looseObject({
7997
+ system: import_zod24.z.unknown().optional(),
7998
+ messages: import_zod24.z.unknown().optional(),
7999
+ tools: import_zod24.z.unknown().optional()
7959
8000
  });
7960
8001
  }
7961
8002
  });
@@ -8057,13 +8098,13 @@ function filterCatalogue(models, catalogue) {
8057
8098
  const excluded = catalogue.exclude === void 0 ? void 0 : (0, import_picomatch4.default)(catalogue.exclude, { dot: true });
8058
8099
  return models.filter((model) => included?.(model.id) !== false && excluded?.(model.id) !== true);
8059
8100
  }
8060
- var import_node_path30, import_picomatch4, import_zod24, DEFAULT_CANDIDATE_URLS, MS_PER_SECOND5, SECONDS_PER_HOUR2, HOURS_PER_DAY5, MS_PER_HOUR4, HOURS_BETWEEN_RETRIES, CATALOGUE_MAX_AGE_MS, CATALOGUE_RETRY_MS, CATALOGUE_REQUEST_SECONDS, CATALOGUE_REQUEST_TIMEOUT_MS, CATALOGUE_REFRESH_TIMEOUT_MS, CatalogueModelSchema, CatalogueCacheSchema;
8101
+ var import_node_path30, import_picomatch4, import_zod25, DEFAULT_CANDIDATE_URLS, MS_PER_SECOND5, SECONDS_PER_HOUR2, HOURS_PER_DAY5, MS_PER_HOUR4, HOURS_BETWEEN_RETRIES, CATALOGUE_MAX_AGE_MS, CATALOGUE_RETRY_MS, CATALOGUE_REQUEST_SECONDS, CATALOGUE_REQUEST_TIMEOUT_MS, CATALOGUE_REFRESH_TIMEOUT_MS, CatalogueModelSchema, CatalogueCacheSchema;
8061
8102
  var init_providerCatalogue = __esm({
8062
8103
  "src/providerCatalogue.ts"() {
8063
8104
  "use strict";
8064
8105
  import_node_path30 = __toESM(require("node:path"), 1);
8065
8106
  import_picomatch4 = __toESM(require("picomatch"), 1);
8066
- import_zod24 = require("zod");
8107
+ import_zod25 = require("zod");
8067
8108
  DEFAULT_CANDIDATE_URLS = 2;
8068
8109
  MS_PER_SECOND5 = 1e3;
8069
8110
  SECONDS_PER_HOUR2 = 3600;
@@ -8075,8 +8116,8 @@ var init_providerCatalogue = __esm({
8075
8116
  CATALOGUE_REQUEST_SECONDS = 10;
8076
8117
  CATALOGUE_REQUEST_TIMEOUT_MS = CATALOGUE_REQUEST_SECONDS * MS_PER_SECOND5;
8077
8118
  CATALOGUE_REFRESH_TIMEOUT_MS = DEFAULT_CANDIDATE_URLS * CATALOGUE_REQUEST_TIMEOUT_MS;
8078
- CatalogueModelSchema = import_zod24.z.strictObject({ id: import_zod24.z.string().min(1), name: import_zod24.z.string().min(1).optional() });
8079
- CatalogueCacheSchema = import_zod24.z.strictObject({ fetchedAt: import_zod24.z.number(), url: import_zod24.z.string().min(1), models: import_zod24.z.array(CatalogueModelSchema) });
8119
+ CatalogueModelSchema = import_zod25.z.strictObject({ id: import_zod25.z.string().min(1), name: import_zod25.z.string().min(1).optional() });
8120
+ CatalogueCacheSchema = import_zod25.z.strictObject({ fetchedAt: import_zod25.z.number(), url: import_zod25.z.string().min(1), models: import_zod25.z.array(CatalogueModelSchema) });
8080
8121
  }
8081
8122
  });
8082
8123
 
@@ -8162,7 +8203,7 @@ function providerModelRows(provider, catalogue = []) {
8162
8203
  const taken = new Set(named.map((row) => labelOf(row.model)));
8163
8204
  return [...named, ...catalogueRows(provider, catalogue).filter((row) => !taken.has(labelOf(row.model)))];
8164
8205
  }
8165
- function routedModelRows(models, providers, bare = true) {
8206
+ function routedModelRows(models, providers) {
8166
8207
  const hidden = new Set(models.hide ?? []);
8167
8208
  const shown = models.show === void 0 ? void 0 : new Set(models.show);
8168
8209
  const visible = (model) => shown === void 0 ? !hidden.has(model) : shown.has(model);
@@ -8170,17 +8211,17 @@ function routedModelRows(models, providers, bare = true) {
8170
8211
  const concreteByRef = new Map(concrete.map((row) => [row.model, row]));
8171
8212
  const families = buildFamilies([...concrete.map((row) => row.model), ...accountRefsOf(models)], models);
8172
8213
  const handlingOf = (refs) => refs.map((ref) => concreteByRef.get(ref)?.behavesAs).find((behavesAs) => behavesAs !== void 0) ?? TIER_BEHAVES_AS.sonnet;
8173
- const virtual = bare ? Object.entries(models.virtual ?? {}).flatMap(([name, definition]) => {
8214
+ const virtual = Object.entries(models.virtual ?? {}).flatMap(([name, definition]) => {
8174
8215
  if (!visible(name)) {
8175
8216
  return [];
8176
8217
  }
8177
8218
  const targets = expandFamilyMembers(safeExpand(name, models), families);
8178
8219
  return [{ model: name, label: name, description: `Virtual (${definition.mode})`, behavesAs: handlingOf(targets) }];
8179
- }) : [];
8180
- const familyRows = bare ? sharedFamilies(families).flatMap((family) => {
8220
+ });
8221
+ const familyRows = sharedFamilies(families).flatMap((family) => {
8181
8222
  const member = `${FAMILY_PREFIX}${family.key}`;
8182
8223
  return visible(member) ? [{ model: member, label: family.key, description: `Family (${familyMode(family.settings)}): ${family.refs.join(", ")}`, behavesAs: handlingOf(family.refs) }] : [];
8183
- }) : [];
8224
+ });
8184
8225
  return [...virtual, ...familyRows, ...concrete.filter((row) => visible(row.model))];
8185
8226
  }
8186
8227
  function safeExpand(name, models) {
@@ -8660,8 +8701,7 @@ var init_argv = __esm({
8660
8701
  { flag: "--remote-control", key: "remoteControl" },
8661
8702
  { flag: "--wait", key: "wait" },
8662
8703
  { flag: "--pause", key: "pause" },
8663
- { flag: "--explain", key: "explain" },
8664
- { flag: "--route-by-name", key: "routeByName" }
8704
+ { flag: "--explain", key: "explain" }
8665
8705
  ];
8666
8706
  LAUNCHER_FLAG_NAMES = [
8667
8707
  ...VALUED_FLAGS,
@@ -8851,7 +8891,6 @@ function resolveLaunchFlags(params) {
8851
8891
  trackUsage: params.flags?.trackUsage ?? parseEnvBool("AGENT_SHIM_TRACK_USAGE", params.env.AGENT_SHIM_TRACK_USAGE) ?? params.cascade?.trackUsage ?? true,
8852
8892
  pause: params.flags?.pause ?? parseEnvBool("AGENT_SHIM_PAUSE", params.env.AGENT_SHIM_PAUSE) ?? params.cascade?.pause ?? false,
8853
8893
  explain: params.flags?.explain ?? parseEnvBool("AGENT_SHIM_EXPLAIN", params.env.AGENT_SHIM_EXPLAIN) ?? params.cascade?.explain ?? false,
8854
- routeByName: params.flags?.routeByName ?? parseEnvBool("AGENT_SHIM_ROUTE_BY_NAME", params.env.AGENT_SHIM_ROUTE_BY_NAME) ?? params.cascade?.routeByName ?? false,
8855
8894
  delayMs: resolveDelayMs(params)
8856
8895
  };
8857
8896
  }
@@ -8900,12 +8939,10 @@ function buildEnv(params) {
8900
8939
  env[key] = value;
8901
8940
  }
8902
8941
  }
8903
- if (params.routeByName) {
8904
- for (const tier of CLAUDE_TIERS) {
8905
- const ref = params.tierModels?.[tier];
8906
- if (ref !== void 0) {
8907
- env[`ANTHROPIC_DEFAULT_${tier.toUpperCase()}_MODEL`] = ref;
8908
- }
8942
+ for (const tier of CLAUDE_TIERS) {
8943
+ const ref = params.tierModels?.[tier];
8944
+ if (ref !== void 0) {
8945
+ env[`ANTHROPIC_DEFAULT_${tier.toUpperCase()}_MODEL`] = ref;
8909
8946
  }
8910
8947
  }
8911
8948
  if (params.provider !== void 0) {
@@ -8928,7 +8965,6 @@ function buildEnv(params) {
8928
8965
  { name: SESSION_HEADER, value: params.sessionId },
8929
8966
  { name: AUTH_HEADER, value: params.frontdoor.sessionToken },
8930
8967
  ...params.provider === void 0 ? [] : [{ name: PROVIDER_HEADER, value: params.provider.name }],
8931
- ...params.routeByName ? [{ name: ROUTE_BY_NAME_HEADER, value: "1" }] : [],
8932
8968
  ...params.headroom === void 0 ? [] : [
8933
8969
  { name: HEADROOM_FLAG_HEADER, value: "1" },
8934
8970
  { name: PROJECT_ID_HEADER, value: params.headroom.projectId }
@@ -9707,7 +9743,6 @@ function decideLaunch(params, readOnly) {
9707
9743
  ...parsedArgv.trackUsage === void 0 ? {} : { trackUsage: parsedArgv.trackUsage },
9708
9744
  ...parsedArgv.pause === void 0 ? {} : { pause: parsedArgv.pause },
9709
9745
  ...parsedArgv.explain === void 0 ? {} : { explain: parsedArgv.explain },
9710
- ...parsedArgv.routeByName === void 0 ? {} : { routeByName: parsedArgv.routeByName },
9711
9746
  ...parsedArgv.delay === void 0 ? {} : { delay: parsedArgv.delay }
9712
9747
  }
9713
9748
  });
@@ -9717,7 +9752,6 @@ function decideLaunch(params, readOnly) {
9717
9752
  notes.push(`${loginlessProvider.identity} has no stored login, so Remote Control is off; provider ${loginlessProvider.provider} runs without it`);
9718
9753
  }
9719
9754
  const flags = loginlessProvider === void 0 ? requestedFlags : { ...requestedFlags, remoteControl: false };
9720
- const routesByName = flags.routeByName || selectedProvider !== void 0 && isRouterProvider(selectedProvider.definition);
9721
9755
  const globalModels = loadConfigFile(paths.globalConfigFile, GlobalConfigSchema, params.fs.readConfigFile)?.config.models;
9722
9756
  const models = launchCascade !== void 0 && params.farm !== void 0 ? cascadeModels : globalModels;
9723
9757
  const listedProviders = listProviderNames(fs13.readdir, paths.providersDir).flatMap((name) => {
@@ -9728,7 +9762,7 @@ function decideLaunch(params, readOnly) {
9728
9762
  return [];
9729
9763
  }
9730
9764
  });
9731
- const pickerSettings = modelPickerSettingsFromRows(routedModelRows(models ?? {}, listedProviders, routesByName), selectedProvider !== void 0);
9765
+ const pickerSettings = modelPickerSettingsFromRows(routedModelRows(models ?? {}, listedProviders), selectedProvider !== void 0);
9732
9766
  const callerSettings = hasSettingsArgument(parsedArgv.rest);
9733
9767
  if (pickerSettings !== void 0 && callerSettings) {
9734
9768
  notes.push("--settings was passed, so /model keeps Claude Code's own model names");
@@ -9832,8 +9866,8 @@ function prepareLaunch(params) {
9832
9866
  if (decided.pinnedVersion !== void 0) {
9833
9867
  rows.push(pinnedVersionRow(decided.pinnedVersion.version, decided.pinnedVersion.source));
9834
9868
  }
9835
- const routesByName = resolvedFlags.routeByName || resolvedProvider !== void 0 && isRouterProvider(resolvedProvider.definition);
9836
- if (routesByName) {
9869
+ const namesResolved = decided.models !== void 0;
9870
+ if (namesResolved) {
9837
9871
  const check = resolveRoutedProviderCredentials({ paths, port: params.fs, env, ...params.credentials === void 0 ? {} : { credentials: params.credentials }, models: decided.models, targets: () => targetRefs(paths) });
9838
9872
  if (!check.ok) {
9839
9873
  log.error(check.message);
@@ -9874,7 +9908,6 @@ function prepareLaunch(params) {
9874
9908
  ...headroom === void 0 ? {} : { headroom },
9875
9909
  sessionId,
9876
9910
  remoteControl: resolvedFlags.remoteControl,
9877
- routeByName: routesByName,
9878
9911
  ...decided.models?.tiers === void 0 ? {} : { tierModels: decided.models.tiers }
9879
9912
  });
9880
9913
  const releases = [...headroom === void 0 || headroomPort === void 0 ? [] : [headroomPort.release], ...frontDoorRelease === void 0 ? [] : [frontDoorRelease]];
@@ -9902,8 +9935,7 @@ function resolveLaunch(params) {
9902
9935
  ...frontDoor ? { frontdoor: { port: 0, connectPort: 0, trustBundlePath: "", sessionToken: "" } } : {},
9903
9936
  ...decided.flags.headroom ? { headroom: { socketPath: "", projectId: "" } } : {},
9904
9937
  sessionId: "",
9905
- remoteControl: decided.flags.remoteControl,
9906
- routeByName: decided.flags.routeByName
9938
+ remoteControl: decided.flags.remoteControl
9907
9939
  });
9908
9940
  const credentialNames = decided.identityCredentialBlock === void 0 ? [] : Object.keys(credentialVariables(decided.identityCredentialBlock.target ?? "bearer", ""));
9909
9941
  const environment = [.../* @__PURE__ */ new Set([...Object.keys(built).filter((name) => built[name] !== env[name]), ...credentialNames])].sort();
@@ -9915,7 +9947,7 @@ function resolveLaunch(params) {
9915
9947
  bin: decided.bin,
9916
9948
  args: decided.args,
9917
9949
  ...credential === void 0 ? {} : { credential },
9918
- routing: { frontDoor, headroom: decided.flags.headroom, routeByName: decided.flags.routeByName },
9950
+ routing: { frontDoor, headroom: decided.flags.headroom },
9919
9951
  environment
9920
9952
  };
9921
9953
  }
@@ -10448,11 +10480,11 @@ var init_identityClaude = __esm({
10448
10480
  });
10449
10481
 
10450
10482
  // src/usage/providerQuota.ts
10451
- var import_zod31, MS_PER_SECOND9, SECONDS_PER_HOUR3, HOURS_PER_DAY6, DAYS_PER_MONTH, ZAI_HOST, ZAI_QUOTA_URL, ZAI_UNIT_HOURS, ZAI_UNIT_MONTHS, ZAI_UNIT_MS, ZaiLimitSchema, ZaiResponseSchema, OPENROUTER_HOST, OPENROUTER_KEY_URL, OPENROUTER_CREDITS_URL, MS_PER_DAY3, OpenRouterKeySchema, OpenRouterCreditsSchema, ANTIGRAVITY_HOST, ANTIGRAVITY_QUOTA_URL, ANTIGRAVITY_USER_URL, FIVE_HOURS2, DAYS_PER_WEEK2, FIVE_HOURS_MS, WEEK_MS, AntigravityBucketSchema, AntigravitySummarySchema, GoogleTokenInfoSchema, AntigravityUserSchema;
10483
+ var import_zod32, MS_PER_SECOND9, SECONDS_PER_HOUR3, HOURS_PER_DAY6, DAYS_PER_MONTH, ZAI_HOST, ZAI_QUOTA_URL, ZAI_UNIT_HOURS, ZAI_UNIT_MONTHS, ZAI_UNIT_MS, ZaiLimitSchema, ZaiResponseSchema, OPENROUTER_HOST, OPENROUTER_KEY_URL, OPENROUTER_CREDITS_URL, MS_PER_DAY3, OpenRouterKeySchema, OpenRouterCreditsSchema, ANTIGRAVITY_HOST, ANTIGRAVITY_QUOTA_URL, ANTIGRAVITY_USER_URL, FIVE_HOURS2, DAYS_PER_WEEK2, FIVE_HOURS_MS, WEEK_MS, AntigravityBucketSchema, AntigravitySummarySchema, GoogleTokenInfoSchema, AntigravityUserSchema;
10452
10484
  var init_providerQuota = __esm({
10453
10485
  "src/usage/providerQuota.ts"() {
10454
10486
  "use strict";
10455
- import_zod31 = require("zod");
10487
+ import_zod32 = require("zod");
10456
10488
  init_cloudUpstream();
10457
10489
  init_schema2();
10458
10490
  MS_PER_SECOND9 = 1e3;
@@ -10467,35 +10499,35 @@ var init_providerQuota = __esm({
10467
10499
  [ZAI_UNIT_HOURS, SECONDS_PER_HOUR3 * MS_PER_SECOND9],
10468
10500
  [ZAI_UNIT_MONTHS, DAYS_PER_MONTH * HOURS_PER_DAY6 * SECONDS_PER_HOUR3 * MS_PER_SECOND9]
10469
10501
  ]);
10470
- ZaiLimitSchema = import_zod31.z.object({
10471
- type: import_zod31.z.string(),
10472
- unit: import_zod31.z.number().int(),
10473
- number: import_zod31.z.number().int().positive(),
10474
- percentage: import_zod31.z.number().nonnegative(),
10475
- nextResetTime: import_zod31.z.number().positive().optional(),
10476
- usage: import_zod31.z.number().nonnegative().optional(),
10477
- currentValue: import_zod31.z.number().nonnegative().optional(),
10478
- remaining: import_zod31.z.number().nonnegative().optional()
10502
+ ZaiLimitSchema = import_zod32.z.object({
10503
+ type: import_zod32.z.string(),
10504
+ unit: import_zod32.z.number().int(),
10505
+ number: import_zod32.z.number().int().positive(),
10506
+ percentage: import_zod32.z.number().nonnegative(),
10507
+ nextResetTime: import_zod32.z.number().positive().optional(),
10508
+ usage: import_zod32.z.number().nonnegative().optional(),
10509
+ currentValue: import_zod32.z.number().nonnegative().optional(),
10510
+ remaining: import_zod32.z.number().nonnegative().optional()
10479
10511
  });
10480
- ZaiResponseSchema = import_zod31.z.object({
10481
- success: import_zod31.z.boolean(),
10482
- msg: import_zod31.z.string().optional(),
10483
- data: import_zod31.z.object({ level: import_zod31.z.string().optional(), limits: import_zod31.z.array(ZaiLimitSchema) })
10512
+ ZaiResponseSchema = import_zod32.z.object({
10513
+ success: import_zod32.z.boolean(),
10514
+ msg: import_zod32.z.string().optional(),
10515
+ data: import_zod32.z.object({ level: import_zod32.z.string().optional(), limits: import_zod32.z.array(ZaiLimitSchema) })
10484
10516
  });
10485
10517
  OPENROUTER_HOST = "openrouter.ai";
10486
10518
  OPENROUTER_KEY_URL = `https://${OPENROUTER_HOST}/api/v1/key`;
10487
10519
  OPENROUTER_CREDITS_URL = `https://${OPENROUTER_HOST}/api/v1/credits`;
10488
10520
  MS_PER_DAY3 = HOURS_PER_DAY6 * SECONDS_PER_HOUR3 * MS_PER_SECOND9;
10489
- OpenRouterKeySchema = import_zod31.z.object({
10490
- data: import_zod31.z.object({
10491
- limit: import_zod31.z.number().nonnegative().nullable(),
10492
- limit_remaining: import_zod31.z.number().nullable(),
10493
- limit_reset: import_zod31.z.string().nullable(),
10494
- is_free_tier: import_zod31.z.boolean().optional(),
10495
- free_model_daily_requests: import_zod31.z.object({ used: import_zod31.z.number().nonnegative(), limit: import_zod31.z.number().nonnegative(), remaining: import_zod31.z.number() }).optional()
10521
+ OpenRouterKeySchema = import_zod32.z.object({
10522
+ data: import_zod32.z.object({
10523
+ limit: import_zod32.z.number().nonnegative().nullable(),
10524
+ limit_remaining: import_zod32.z.number().nullable(),
10525
+ limit_reset: import_zod32.z.string().nullable(),
10526
+ is_free_tier: import_zod32.z.boolean().optional(),
10527
+ free_model_daily_requests: import_zod32.z.object({ used: import_zod32.z.number().nonnegative(), limit: import_zod32.z.number().nonnegative(), remaining: import_zod32.z.number() }).optional()
10496
10528
  })
10497
10529
  });
10498
- OpenRouterCreditsSchema = import_zod31.z.object({ data: import_zod31.z.object({ total_credits: import_zod31.z.number().nonnegative(), total_usage: import_zod31.z.number().nonnegative() }) });
10530
+ OpenRouterCreditsSchema = import_zod32.z.object({ data: import_zod32.z.object({ total_credits: import_zod32.z.number().nonnegative(), total_usage: import_zod32.z.number().nonnegative() }) });
10499
10531
  ANTIGRAVITY_HOST = "daily-cloudcode-pa.googleapis.com";
10500
10532
  ANTIGRAVITY_QUOTA_URL = `https://${ANTIGRAVITY_HOST}/v1internal:retrieveUserQuotaSummary`;
10501
10533
  ANTIGRAVITY_USER_URL = `https://${ANTIGRAVITY_HOST}/v1internal:loadCodeAssist`;
@@ -10503,21 +10535,21 @@ var init_providerQuota = __esm({
10503
10535
  DAYS_PER_WEEK2 = 7;
10504
10536
  FIVE_HOURS_MS = FIVE_HOURS2 * SECONDS_PER_HOUR3 * MS_PER_SECOND9;
10505
10537
  WEEK_MS = DAYS_PER_WEEK2 * HOURS_PER_DAY6 * SECONDS_PER_HOUR3 * MS_PER_SECOND9;
10506
- AntigravityBucketSchema = import_zod31.z.object({
10507
- bucketId: import_zod31.z.string(),
10508
- remainingFraction: import_zod31.z.number().optional(),
10509
- resetTime: import_zod31.z.string().optional()
10538
+ AntigravityBucketSchema = import_zod32.z.object({
10539
+ bucketId: import_zod32.z.string(),
10540
+ remainingFraction: import_zod32.z.number().optional(),
10541
+ resetTime: import_zod32.z.string().optional()
10510
10542
  });
10511
- AntigravitySummarySchema = import_zod31.z.object({ groups: import_zod31.z.array(import_zod31.z.object({ buckets: import_zod31.z.array(AntigravityBucketSchema) })) });
10512
- GoogleTokenInfoSchema = import_zod31.z.object({
10513
- email: import_zod31.z.string().optional(),
10514
- sub: import_zod31.z.string().optional()
10543
+ AntigravitySummarySchema = import_zod32.z.object({ groups: import_zod32.z.array(import_zod32.z.object({ buckets: import_zod32.z.array(AntigravityBucketSchema) })) });
10544
+ GoogleTokenInfoSchema = import_zod32.z.object({
10545
+ email: import_zod32.z.string().optional(),
10546
+ sub: import_zod32.z.string().optional()
10515
10547
  });
10516
- AntigravityUserSchema = import_zod31.z.object({
10548
+ AntigravityUserSchema = import_zod32.z.object({
10517
10549
  /** The code-assist tier context, which defaults to the free tier for every account. */
10518
- currentTier: import_zod31.z.object({ name: import_zod31.z.string().optional(), id: import_zod31.z.string().optional() }).optional(),
10550
+ currentTier: import_zod32.z.object({ name: import_zod32.z.string().optional(), id: import_zod32.z.string().optional() }).optional(),
10519
10551
  /** The account's paid subscription; absent when the account has none. */
10520
- paidTier: import_zod31.z.object({ name: import_zod31.z.string().optional(), id: import_zod31.z.string().optional() }).optional()
10552
+ paidTier: import_zod32.z.object({ name: import_zod32.z.string().optional(), id: import_zod32.z.string().optional() }).optional()
10521
10553
  });
10522
10554
  }
10523
10555
  });
@@ -14818,7 +14850,7 @@ init_providersStore();
14818
14850
  init_signIn();
14819
14851
  init_realPorts();
14820
14852
  var import_node_path27 = __toESM(require("node:path"), 1);
14821
- var import_zod15 = require("zod");
14853
+ var import_zod16 = require("zod");
14822
14854
  init_envBool();
14823
14855
  init_load();
14824
14856
  init_schema();
@@ -14898,9 +14930,9 @@ function lookupKeychainService(run, farmRoot) {
14898
14930
  }
14899
14931
  return { checked: true, found: true, serviceName, note: `Keychain service name for this identity: "${serviceName}".` };
14900
14932
  }
14901
- var SettingsSecretsShapeSchema = import_zod15.z.looseObject({
14902
- env: import_zod15.z.record(import_zod15.z.string(), import_zod15.z.unknown()).optional(),
14903
- hooks: import_zod15.z.record(import_zod15.z.string(), import_zod15.z.array(import_zod15.z.unknown())).optional()
14933
+ var SettingsSecretsShapeSchema = import_zod16.z.looseObject({
14934
+ env: import_zod16.z.record(import_zod16.z.string(), import_zod16.z.unknown()).optional(),
14935
+ hooks: import_zod16.z.record(import_zod16.z.string(), import_zod16.z.array(import_zod16.z.unknown())).optional()
14904
14936
  });
14905
14937
  function hookCommandCountOf(group) {
14906
14938
  if (typeof group !== "object" || group === null) {
@@ -15193,7 +15225,7 @@ function collectCheckReport(params) {
15193
15225
  }
15194
15226
 
15195
15227
  // src/checkReportSchema.ts
15196
- var import_zod17 = require("zod");
15228
+ var import_zod18 = require("zod");
15197
15229
  init_schema();
15198
15230
  init_claudeVersion();
15199
15231
  init_identity();
@@ -15257,124 +15289,124 @@ var DIAGNOSTIC_CODES = [
15257
15289
  var DIAGNOSTIC_SEVERITIES = ["error", "warning", "info"];
15258
15290
 
15259
15291
  // src/usage/pickReportSchema.ts
15260
- var import_zod16 = require("zod");
15292
+ var import_zod17 = require("zod");
15261
15293
  init_plan2();
15262
- var PoolPickCandidateViewSchema = import_zod16.z.strictObject({
15263
- identity: import_zod16.z.string(),
15294
+ var PoolPickCandidateViewSchema = import_zod17.z.strictObject({
15295
+ identity: import_zod17.z.string(),
15264
15296
  /** In pick order: `scored` has usable quota data, `unknown` has none, `pay-per-use` bills by use, `ineligible` is refused right now. */
15265
- class: import_zod16.z.enum(["scored", "unknown", "pay-per-use", "ineligible"]),
15297
+ class: import_zod17.z.enum(["scored", "unknown", "pay-per-use", "ineligible"]),
15266
15298
  /** Plan-size-weighted remaining quota per hour until its reset; present for `scored` only. */
15267
- score: import_zod16.z.number().optional(),
15299
+ score: import_zod17.z.number().optional(),
15268
15300
  /** Which window's reset divides the score: the seven-day window, or the five-hour one when the member reports no seven-day utilisation or its measured-ratio five-hour term outranks the weekly one; present with `score`. */
15269
- scoreWindow: import_zod16.z.enum(["sevenDay", "fiveHour"]).optional(),
15301
+ scoreWindow: import_zod17.z.enum(["sevenDay", "fiveHour"]).optional(),
15270
15302
  /** False when the five-hour window would run dry, at the observed pace, before it resets. */
15271
- feasible: import_zod16.z.boolean(),
15303
+ feasible: import_zod17.z.boolean(),
15272
15304
  /** When an `ineligible` member can be used again, as an ISO instant. */
15273
- blockedUntil: import_zod16.z.iso.datetime().optional(),
15305
+ blockedUntil: import_zod17.z.iso.datetime().optional(),
15274
15306
  plan: PlanClassSchema,
15275
15307
  /** The facts behind the class and score, in the order they matter. */
15276
- reasons: import_zod16.z.array(import_zod16.z.string())
15308
+ reasons: import_zod17.z.array(import_zod17.z.string())
15277
15309
  });
15278
- var PoolPickReportSchema = import_zod16.z.strictObject({
15279
- pool: import_zod16.z.string(),
15280
- directory: import_zod16.z.string(),
15310
+ var PoolPickReportSchema = import_zod17.z.strictObject({
15311
+ pool: import_zod17.z.string(),
15312
+ directory: import_zod17.z.string(),
15281
15313
  /** The member a launch would run as, absent when every member is refused. */
15282
- pick: import_zod16.z.string().optional(),
15283
- candidates: import_zod16.z.array(PoolPickCandidateViewSchema),
15314
+ pick: import_zod17.z.string().optional(),
15315
+ candidates: import_zod17.z.array(PoolPickCandidateViewSchema),
15284
15316
  /** Identity members anywhere in the pool's graph that do not exist; a launch skips them. */
15285
- missing: import_zod16.z.array(import_zod16.z.string()),
15317
+ missing: import_zod17.z.array(import_zod17.z.string()),
15286
15318
  /** When nothing can be picked, the soonest any member returns. */
15287
- earliestReturn: import_zod16.z.strictObject({ identity: import_zod16.z.string(), at: import_zod16.z.iso.datetime() }).optional(),
15319
+ earliestReturn: import_zod17.z.strictObject({ identity: import_zod17.z.string(), at: import_zod17.z.iso.datetime() }).optional(),
15288
15320
  /** The member a resumed conversation started on but moved off, and why, when the ranking could not keep it. */
15289
- movedOff: import_zod16.z.strictObject({ identity: import_zod16.z.string(), reason: import_zod16.z.string() }).optional(),
15321
+ movedOff: import_zod17.z.strictObject({ identity: import_zod17.z.string(), reason: import_zod17.z.string() }).optional(),
15290
15322
  /** Why the last-pick record could not be read, when that is the case. */
15291
- stickyProblem: import_zod16.z.string().optional()
15323
+ stickyProblem: import_zod17.z.string().optional()
15292
15324
  });
15293
15325
 
15294
15326
  // src/checkReportSchema.ts
15295
15327
  var CHECK_CREDENTIAL_APPLIES = ["provider", "identity", "stored-login"];
15296
- var CheckLayerViewSchema = import_zod17.z.strictObject({
15297
- id: import_zod17.z.int(),
15298
- kind: import_zod17.z.enum(LAYER_KINDS),
15299
- source: import_zod17.z.string()
15328
+ var CheckLayerViewSchema = import_zod18.z.strictObject({
15329
+ id: import_zod18.z.int(),
15330
+ kind: import_zod18.z.enum(LAYER_KINDS),
15331
+ source: import_zod18.z.string()
15300
15332
  });
15301
- var CheckEntryViewSchema = import_zod17.z.strictObject({
15302
- path: import_zod17.z.string(),
15303
- shared: import_zod17.z.boolean(),
15304
- via: import_zod17.z.enum(DECISION_VIAS),
15333
+ var CheckEntryViewSchema = import_zod18.z.strictObject({
15334
+ path: import_zod18.z.string(),
15335
+ shared: import_zod18.z.boolean(),
15336
+ via: import_zod18.z.enum(DECISION_VIAS),
15305
15337
  /** The entry's real category, or null when nothing classifies it. */
15306
- category: import_zod17.z.enum(CATEGORY_NAMES).nullable(),
15307
- rule: import_zod17.z.strictObject({ key: import_zod17.z.string(), layer: import_zod17.z.int() }).optional(),
15338
+ category: import_zod18.z.enum(CATEGORY_NAMES).nullable(),
15339
+ rule: import_zod18.z.strictObject({ key: import_zod18.z.string(), layer: import_zod18.z.int() }).optional(),
15308
15340
  /** Rules that matched but whose `when` condition failed, each with the conditions that failed. */
15309
- eliminated: import_zod17.z.readonly(import_zod17.z.array(import_zod17.z.strictObject({ key: import_zod17.z.string(), failed: import_zod17.z.readonly(import_zod17.z.array(import_zod17.z.string())) }))).optional()
15341
+ eliminated: import_zod18.z.readonly(import_zod18.z.array(import_zod18.z.strictObject({ key: import_zod18.z.string(), failed: import_zod18.z.readonly(import_zod18.z.array(import_zod18.z.string())) }))).optional()
15310
15342
  });
15311
- var CheckDiagnosticSchema = import_zod17.z.strictObject({
15312
- code: import_zod17.z.enum(DIAGNOSTIC_CODES),
15313
- severity: import_zod17.z.enum(DIAGNOSTIC_SEVERITIES),
15314
- message: import_zod17.z.string(),
15315
- subject: import_zod17.z.string().optional(),
15316
- layer: import_zod17.z.int().optional()
15343
+ var CheckDiagnosticSchema = import_zod18.z.strictObject({
15344
+ code: import_zod18.z.enum(DIAGNOSTIC_CODES),
15345
+ severity: import_zod18.z.enum(DIAGNOSTIC_SEVERITIES),
15346
+ message: import_zod18.z.string(),
15347
+ subject: import_zod18.z.string().optional(),
15348
+ layer: import_zod18.z.int().optional()
15317
15349
  });
15318
- var CheckAmbientCredentialSchema = import_zod17.z.union([import_zod17.z.strictObject({ ok: import_zod17.z.literal(true) }), import_zod17.z.strictObject({ ok: import_zod17.z.literal(false), variable: import_zod17.z.string(), message: import_zod17.z.string() })]);
15319
- var CheckKeychainSchema = import_zod17.z.strictObject({
15320
- checked: import_zod17.z.literal(true),
15321
- found: import_zod17.z.boolean(),
15322
- serviceName: import_zod17.z.string().optional(),
15323
- note: import_zod17.z.string()
15350
+ var CheckAmbientCredentialSchema = import_zod18.z.union([import_zod18.z.strictObject({ ok: import_zod18.z.literal(true) }), import_zod18.z.strictObject({ ok: import_zod18.z.literal(false), variable: import_zod18.z.string(), message: import_zod18.z.string() })]);
15351
+ var CheckKeychainSchema = import_zod18.z.strictObject({
15352
+ checked: import_zod18.z.literal(true),
15353
+ found: import_zod18.z.boolean(),
15354
+ serviceName: import_zod18.z.string().optional(),
15355
+ note: import_zod18.z.string()
15324
15356
  });
15325
- var CheckSettingsExposureSchema = import_zod17.z.strictObject({
15326
- file: import_zod17.z.string(),
15327
- envKeyNames: import_zod17.z.readonly(import_zod17.z.array(import_zod17.z.string())),
15328
- hookEventNames: import_zod17.z.readonly(import_zod17.z.array(import_zod17.z.string())),
15329
- hookCommandCount: import_zod17.z.int().nonnegative()
15357
+ var CheckSettingsExposureSchema = import_zod18.z.strictObject({
15358
+ file: import_zod18.z.string(),
15359
+ envKeyNames: import_zod18.z.readonly(import_zod18.z.array(import_zod18.z.string())),
15360
+ hookEventNames: import_zod18.z.readonly(import_zod18.z.array(import_zod18.z.string())),
15361
+ hookCommandCount: import_zod18.z.int().nonnegative()
15330
15362
  });
15331
- var CredentialSourceSummarySchema = import_zod17.z.union([
15332
- import_zod17.z.strictObject({ kind: import_zod17.z.literal("env"), variable: import_zod17.z.string() }),
15333
- import_zod17.z.strictObject({ kind: import_zod17.z.literal("file"), path: import_zod17.z.string() }),
15334
- import_zod17.z.strictObject({ kind: import_zod17.z.literal("command"), program: import_zod17.z.string() }),
15335
- import_zod17.z.strictObject({ kind: import_zod17.z.literal("op"), reference: import_zod17.z.string() }),
15336
- import_zod17.z.strictObject({ kind: import_zod17.z.literal("keychain"), service: import_zod17.z.string(), account: import_zod17.z.string().optional() }),
15337
- import_zod17.z.strictObject({ kind: import_zod17.z.literal("literal") })
15363
+ var CredentialSourceSummarySchema = import_zod18.z.union([
15364
+ import_zod18.z.strictObject({ kind: import_zod18.z.literal("env"), variable: import_zod18.z.string() }),
15365
+ import_zod18.z.strictObject({ kind: import_zod18.z.literal("file"), path: import_zod18.z.string() }),
15366
+ import_zod18.z.strictObject({ kind: import_zod18.z.literal("command"), program: import_zod18.z.string() }),
15367
+ import_zod18.z.strictObject({ kind: import_zod18.z.literal("op"), reference: import_zod18.z.string() }),
15368
+ import_zod18.z.strictObject({ kind: import_zod18.z.literal("keychain"), service: import_zod18.z.string(), account: import_zod18.z.string().optional() }),
15369
+ import_zod18.z.strictObject({ kind: import_zod18.z.literal("literal") })
15338
15370
  ]);
15339
- var CredentialSummarySchema = import_zod17.z.strictObject({
15340
- target: import_zod17.z.enum(CREDENTIAL_TARGETS),
15341
- sources: import_zod17.z.readonly(import_zod17.z.array(CredentialSourceSummarySchema)),
15371
+ var CredentialSummarySchema = import_zod18.z.strictObject({
15372
+ target: import_zod18.z.enum(CREDENTIAL_TARGETS),
15373
+ sources: import_zod18.z.readonly(import_zod18.z.array(CredentialSourceSummarySchema)),
15342
15374
  cache: CredentialCacheSchema.optional()
15343
15375
  });
15344
- var CachedCredentialStateSchema = import_zod17.z.union([
15345
- import_zod17.z.strictObject({ store: import_zod17.z.enum(CREDENTIAL_CACHE_STORES), status: import_zod17.z.literal("empty") }),
15346
- import_zod17.z.strictObject({ store: import_zod17.z.enum(CREDENTIAL_CACHE_STORES), status: import_zod17.z.literal("unreadable"), reason: import_zod17.z.string() }),
15347
- import_zod17.z.strictObject({ store: import_zod17.z.enum(CREDENTIAL_CACHE_STORES), status: import_zod17.z.enum(["fresh", "expired"]), ageMs: import_zod17.z.number(), expiresInMs: import_zod17.z.number().optional() })
15376
+ var CachedCredentialStateSchema = import_zod18.z.union([
15377
+ import_zod18.z.strictObject({ store: import_zod18.z.enum(CREDENTIAL_CACHE_STORES), status: import_zod18.z.literal("empty") }),
15378
+ import_zod18.z.strictObject({ store: import_zod18.z.enum(CREDENTIAL_CACHE_STORES), status: import_zod18.z.literal("unreadable"), reason: import_zod18.z.string() }),
15379
+ import_zod18.z.strictObject({ store: import_zod18.z.enum(CREDENTIAL_CACHE_STORES), status: import_zod18.z.enum(["fresh", "expired"]), ageMs: import_zod18.z.number(), expiresInMs: import_zod18.z.number().optional() })
15348
15380
  ]);
15349
- var CheckCredentialProviderSchema = import_zod17.z.union([
15350
- import_zod17.z.strictObject({ name: import_zod17.z.string(), credential: CredentialSummarySchema.optional(), cached: CachedCredentialStateSchema.optional() }),
15351
- import_zod17.z.strictObject({ name: import_zod17.z.string(), problem: import_zod17.z.string() })
15381
+ var CheckCredentialProviderSchema = import_zod18.z.union([
15382
+ import_zod18.z.strictObject({ name: import_zod18.z.string(), credential: CredentialSummarySchema.optional(), cached: CachedCredentialStateSchema.optional() }),
15383
+ import_zod18.z.strictObject({ name: import_zod18.z.string(), problem: import_zod18.z.string() })
15352
15384
  ]);
15353
- var CheckCredentialSchema = import_zod17.z.strictObject({
15354
- applies: import_zod17.z.enum(CHECK_CREDENTIAL_APPLIES),
15385
+ var CheckCredentialSchema = import_zod18.z.strictObject({
15386
+ applies: import_zod18.z.enum(CHECK_CREDENTIAL_APPLIES),
15355
15387
  provider: CheckCredentialProviderSchema.optional(),
15356
15388
  identity: CredentialSummarySchema.optional(),
15357
15389
  identityCached: CachedCredentialStateSchema.optional()
15358
15390
  });
15359
- var CheckClaudeVersionSchema = import_zod17.z.strictObject({
15360
- pinned: import_zod17.z.strictObject({ version: import_zod17.z.string(), source: import_zod17.z.enum(CLAUDE_VERSION_SOURCES), installed: import_zod17.z.boolean() }).optional(),
15361
- highestInstalled: import_zod17.z.string().optional(),
15362
- installed: import_zod17.z.readonly(import_zod17.z.array(import_zod17.z.string()))
15391
+ var CheckClaudeVersionSchema = import_zod18.z.strictObject({
15392
+ pinned: import_zod18.z.strictObject({ version: import_zod18.z.string(), source: import_zod18.z.enum(CLAUDE_VERSION_SOURCES), installed: import_zod18.z.boolean() }).optional(),
15393
+ highestInstalled: import_zod18.z.string().optional(),
15394
+ installed: import_zod18.z.readonly(import_zod18.z.array(import_zod18.z.string()))
15363
15395
  });
15364
- var CheckReportJsonSchema = import_zod17.z.strictObject({
15365
- identity: import_zod17.z.strictObject({ name: import_zod17.z.string().nullable(), source: import_zod17.z.enum(IDENTITY_DECISION_SOURCES) }),
15396
+ var CheckReportJsonSchema = import_zod18.z.strictObject({
15397
+ identity: import_zod18.z.strictObject({ name: import_zod18.z.string().nullable(), source: import_zod18.z.enum(IDENTITY_DECISION_SOURCES) }),
15366
15398
  /** The pool ranking, when the launch named a pool instead of an identity. */
15367
15399
  pool: PoolPickReportSchema.optional(),
15368
- configProfile: import_zod17.z.strictObject({ name: import_zod17.z.string().nullable(), source: import_zod17.z.enum(CONFIG_PROFILE_DECISION_SOURCES) }),
15369
- layers: import_zod17.z.readonly(import_zod17.z.array(CheckLayerViewSchema)),
15370
- entries: import_zod17.z.readonly(import_zod17.z.array(CheckEntryViewSchema)),
15371
- projectEncodingAmbiguities: import_zod17.z.readonly(
15372
- import_zod17.z.array(import_zod17.z.strictObject({ fragment: import_zod17.z.string(), encoded: import_zod17.z.string(), reason: import_zod17.z.enum(ENCODING_AMBIGUITY_REASONS), detail: import_zod17.z.string() }))
15400
+ configProfile: import_zod18.z.strictObject({ name: import_zod18.z.string().nullable(), source: import_zod18.z.enum(CONFIG_PROFILE_DECISION_SOURCES) }),
15401
+ layers: import_zod18.z.readonly(import_zod18.z.array(CheckLayerViewSchema)),
15402
+ entries: import_zod18.z.readonly(import_zod18.z.array(CheckEntryViewSchema)),
15403
+ projectEncodingAmbiguities: import_zod18.z.readonly(
15404
+ import_zod18.z.array(import_zod18.z.strictObject({ fragment: import_zod18.z.string(), encoded: import_zod18.z.string(), reason: import_zod18.z.enum(ENCODING_AMBIGUITY_REASONS), detail: import_zod18.z.string() }))
15373
15405
  ),
15374
- diagnostics: import_zod17.z.readonly(import_zod17.z.array(CheckDiagnosticSchema)),
15406
+ diagnostics: import_zod18.z.readonly(import_zod18.z.array(CheckDiagnosticSchema)),
15375
15407
  ambientCredential: CheckAmbientCredentialSchema,
15376
15408
  keychain: CheckKeychainSchema.optional(),
15377
- settingsExposure: import_zod17.z.readonly(import_zod17.z.array(CheckSettingsExposureSchema)),
15409
+ settingsExposure: import_zod18.z.readonly(import_zod18.z.array(CheckSettingsExposureSchema)),
15378
15410
  credential: CheckCredentialSchema,
15379
15411
  claudeVersion: CheckClaudeVersionSchema.optional()
15380
15412
  });
@@ -15434,28 +15466,28 @@ function collectResets(snapshots, nowMs) {
15434
15466
  }
15435
15467
 
15436
15468
  // src/usage/resetsSchema.ts
15437
- var import_zod18 = require("zod");
15438
- var ResetRowSchema = import_zod18.z.strictObject({
15439
- identity: import_zod18.z.string(),
15440
- provider: import_zod18.z.string(),
15469
+ var import_zod19 = require("zod");
15470
+ var ResetRowSchema = import_zod19.z.strictObject({
15471
+ identity: import_zod19.z.string(),
15472
+ provider: import_zod19.z.string(),
15441
15473
  /** What the window is: `5h`, `7d` or `extra usage` for an Anthropic account, or the provider's own measure and period (`tokens 5h`). */
15442
- window: import_zod18.z.string(),
15474
+ window: import_zod19.z.string(),
15443
15475
  /** When the state the window comes from was observed, as an ISO instant. */
15444
- observedAt: import_zod18.z.iso.datetime(),
15476
+ observedAt: import_zod19.z.iso.datetime(),
15445
15477
  /** When the window resets, as an ISO instant; absent when the upstream reported none. */
15446
- resetsAt: import_zod18.z.iso.datetime().optional(),
15478
+ resetsAt: import_zod19.z.iso.datetime().optional(),
15447
15479
  /** True when the reset time has passed, so the recorded observation describes a window that no longer exists and its utilisation reads as 0. */
15448
- reset: import_zod18.z.boolean(),
15480
+ reset: import_zod19.z.boolean(),
15449
15481
  /** The fraction used, as `effectiveWindow` reads it at the report's own clock. */
15450
- utilization: import_zod18.z.number().optional(),
15482
+ utilization: import_zod19.z.number().optional(),
15451
15483
  /** The window's own status, for a window that has not reset yet. */
15452
- status: import_zod18.z.string().optional()
15484
+ status: import_zod19.z.string().optional()
15453
15485
  });
15454
- var ResetScheduleSchema = import_zod18.z.strictObject({ resets: import_zod18.z.readonly(import_zod18.z.array(ResetRowSchema)) });
15486
+ var ResetScheduleSchema = import_zod19.z.strictObject({ resets: import_zod19.z.readonly(import_zod19.z.array(ResetRowSchema)) });
15455
15487
 
15456
15488
  // src/frontdoor/controlSchemas.ts
15457
15489
  var import_node_path32 = __toESM(require("node:path"), 1);
15458
- var import_zod25 = require("zod");
15490
+ var import_zod26 = require("zod");
15459
15491
 
15460
15492
  // src/doctorReport.ts
15461
15493
  init_claudeShim();
@@ -15635,24 +15667,24 @@ var import_node_path31 = __toESM(require("node:path"), 1);
15635
15667
  init_signIn();
15636
15668
 
15637
15669
  // src/codex/siwcStore.ts
15638
- var import_zod22 = require("zod");
15670
+ var import_zod23 = require("zod");
15639
15671
 
15640
15672
  // src/codex/auth.ts
15641
- var import_zod20 = require("zod");
15642
- var AuthFileSchema = import_zod20.z.looseObject({
15643
- tokens: import_zod20.z.looseObject({
15644
- access_token: import_zod20.z.string().optional(),
15645
- refresh_token: import_zod20.z.string().optional(),
15646
- id_token: import_zod20.z.string().optional(),
15647
- account_id: import_zod20.z.string().optional()
15673
+ var import_zod21 = require("zod");
15674
+ var AuthFileSchema = import_zod21.z.looseObject({
15675
+ tokens: import_zod21.z.looseObject({
15676
+ access_token: import_zod21.z.string().optional(),
15677
+ refresh_token: import_zod21.z.string().optional(),
15678
+ id_token: import_zod21.z.string().optional(),
15679
+ account_id: import_zod21.z.string().optional()
15648
15680
  }).nullish(),
15649
- last_refresh: import_zod20.z.string().optional()
15681
+ last_refresh: import_zod21.z.string().optional()
15650
15682
  });
15651
- var TokenGrantSchema = import_zod20.z.looseObject({
15652
- access_token: import_zod20.z.string().min(1).optional(),
15653
- refresh_token: import_zod20.z.string().min(1).optional(),
15654
- id_token: import_zod20.z.string().min(1).optional(),
15655
- account_id: import_zod20.z.string().min(1).optional()
15683
+ var TokenGrantSchema = import_zod21.z.looseObject({
15684
+ access_token: import_zod21.z.string().min(1).optional(),
15685
+ refresh_token: import_zod21.z.string().min(1).optional(),
15686
+ id_token: import_zod21.z.string().min(1).optional(),
15687
+ account_id: import_zod21.z.string().min(1).optional()
15656
15688
  });
15657
15689
  var CodexAuthError = class extends Error {
15658
15690
  constructor(message) {
@@ -15662,41 +15694,41 @@ var CodexAuthError = class extends Error {
15662
15694
  };
15663
15695
 
15664
15696
  // src/codex/siwc.ts
15665
- var import_zod21 = require("zod");
15697
+ var import_zod22 = require("zod");
15666
15698
  var SIWC_RESOURCE = "https://api.openai.com/v1";
15667
15699
  var SIWC_RESPONSES_URL = `${SIWC_RESOURCE}/responses`;
15668
15700
  var SIWC_PLAN_SCOPE = "chatgpt.tokens.use.direct";
15669
- var TokenResponseSchema = import_zod21.z.looseObject({
15670
- access_token: import_zod21.z.string().min(1),
15671
- refresh_token: import_zod21.z.string().min(1).optional(),
15672
- id_token: import_zod21.z.string().min(1).optional(),
15673
- expires_in: import_zod21.z.number().positive(),
15674
- scope: import_zod21.z.string().optional()
15701
+ var TokenResponseSchema = import_zod22.z.looseObject({
15702
+ access_token: import_zod22.z.string().min(1),
15703
+ refresh_token: import_zod22.z.string().min(1).optional(),
15704
+ id_token: import_zod22.z.string().min(1).optional(),
15705
+ expires_in: import_zod22.z.number().positive(),
15706
+ scope: import_zod22.z.string().optional()
15675
15707
  });
15676
- var JwtHeaderSchema = import_zod21.z.looseObject({ alg: import_zod21.z.string(), kid: import_zod21.z.string().optional() });
15677
- var IdTokenClaimsSchema = import_zod21.z.looseObject({
15678
- iss: import_zod21.z.string(),
15679
- sub: import_zod21.z.string().min(1),
15680
- aud: import_zod21.z.union([import_zod21.z.string(), import_zod21.z.array(import_zod21.z.string())]),
15681
- exp: import_zod21.z.number(),
15682
- nonce: import_zod21.z.string().optional(),
15683
- email: import_zod21.z.string().optional()
15708
+ var JwtHeaderSchema = import_zod22.z.looseObject({ alg: import_zod22.z.string(), kid: import_zod22.z.string().optional() });
15709
+ var IdTokenClaimsSchema = import_zod22.z.looseObject({
15710
+ iss: import_zod22.z.string(),
15711
+ sub: import_zod22.z.string().min(1),
15712
+ aud: import_zod22.z.union([import_zod22.z.string(), import_zod22.z.array(import_zod22.z.string())]),
15713
+ exp: import_zod22.z.number(),
15714
+ nonce: import_zod22.z.string().optional(),
15715
+ email: import_zod22.z.string().optional()
15684
15716
  });
15685
- var JwksSchema = import_zod21.z.object({ keys: import_zod21.z.array(import_zod21.z.looseObject({ kid: import_zod21.z.string().optional(), kty: import_zod21.z.string() })) });
15717
+ var JwksSchema = import_zod22.z.object({ keys: import_zod22.z.array(import_zod22.z.looseObject({ kid: import_zod22.z.string().optional(), kty: import_zod22.z.string() })) });
15686
15718
 
15687
15719
  // src/codex/siwcStore.ts
15688
- var SiwcGrantSchema = import_zod22.z.strictObject({
15689
- clientId: import_zod22.z.string().min(1),
15690
- sub: import_zod22.z.string().min(1),
15691
- email: import_zod22.z.string().optional(),
15692
- idToken: import_zod22.z.string().min(1),
15693
- accessToken: import_zod22.z.string().min(1),
15694
- refreshToken: import_zod22.z.string().min(1),
15695
- scopes: import_zod22.z.array(import_zod22.z.string()).readonly(),
15720
+ var SiwcGrantSchema = import_zod23.z.strictObject({
15721
+ clientId: import_zod23.z.string().min(1),
15722
+ sub: import_zod23.z.string().min(1),
15723
+ email: import_zod23.z.string().optional(),
15724
+ idToken: import_zod23.z.string().min(1),
15725
+ accessToken: import_zod23.z.string().min(1),
15726
+ refreshToken: import_zod23.z.string().min(1),
15727
+ scopes: import_zod23.z.array(import_zod23.z.string()).readonly(),
15696
15728
  /** When the access token stops working, in milliseconds since the epoch. */
15697
- expiresAt: import_zod22.z.number()
15729
+ expiresAt: import_zod23.z.number()
15698
15730
  });
15699
- var SiwcFileSchema = import_zod22.z.strictObject({ registeredClientId: import_zod22.z.string().min(1).optional(), grant: SiwcGrantSchema.optional() });
15731
+ var SiwcFileSchema = import_zod23.z.strictObject({ registeredClientId: import_zod23.z.string().min(1).optional(), grant: SiwcGrantSchema.optional() });
15700
15732
  function parseSiwcFile(raw, filePath) {
15701
15733
  let json;
15702
15734
  try {
@@ -15978,6 +16010,7 @@ function realFrontDoorListenerProbes(paths) {
15978
16010
  // src/doctorReport.ts
15979
16011
  init_supervisorProcesses();
15980
16012
  init_legacy();
16013
+ init_providerAliases();
15981
16014
  init_providersStore();
15982
16015
  init_guard();
15983
16016
  init_identity();
@@ -16306,6 +16339,10 @@ function runDoctor(params) {
16306
16339
  for (const entry of params.providers) {
16307
16340
  pushProvider(push, entry, params.credentialCache, params.chatgptSignIn);
16308
16341
  }
16342
+ const providerNames = new Set(params.providers.map((entry) => entry.name));
16343
+ for (const finding of aliasFindings(params.providerAliases ?? {}, providerNames)) {
16344
+ push("provider", finding.level, finding.message, finding.alias);
16345
+ }
16309
16346
  if (params.platform !== "darwin" || params.run === void 0) {
16310
16347
  push("keychain", "pass", "Skipped (not macOS).");
16311
16348
  } else {
@@ -16595,6 +16632,7 @@ function collectDoctorReport(params) {
16595
16632
  identities,
16596
16633
  configProfiles,
16597
16634
  providers,
16635
+ providerAliases: readProviderAliases(paths),
16598
16636
  directoryRules: { path: paths.directoryRulesFile, raw: realFsPort.readFileUtf8(paths.directoryRulesFile) },
16599
16637
  globalConfig: { path: paths.globalConfigFile, raw: realFsPort.readFileUtf8(paths.globalConfigFile) },
16600
16638
  models: parsedModelsOf(paths),
@@ -16650,90 +16688,90 @@ function collectDoctorReport(params) {
16650
16688
  // src/frontdoor/controlSchemas.ts
16651
16689
  init_schema2();
16652
16690
  init_state();
16653
- var UsageListOutputSchema = import_zod25.z.strictObject({ snapshots: import_zod25.z.readonly(import_zod25.z.array(UsageSnapshotSchema)) });
16654
- var UsageWindowsInputSchema = import_zod25.z.strictObject({
16655
- identity: import_zod25.z.string().min(1),
16656
- provider: import_zod25.z.string().min(1).optional()
16691
+ var UsageListOutputSchema = import_zod26.z.strictObject({ snapshots: import_zod26.z.readonly(import_zod26.z.array(UsageSnapshotSchema)) });
16692
+ var UsageWindowsInputSchema = import_zod26.z.strictObject({
16693
+ identity: import_zod26.z.string().min(1),
16694
+ provider: import_zod26.z.string().min(1).optional()
16657
16695
  });
16658
- var EffectiveWindowSchema = import_zod25.z.strictObject({
16696
+ var EffectiveWindowSchema = import_zod26.z.strictObject({
16659
16697
  /** True when the window's reset time has passed, so the recorded observation describes a window that no longer exists. */
16660
- reset: import_zod25.z.boolean(),
16698
+ reset: import_zod26.z.boolean(),
16661
16699
  /** The fraction used: 0 for a reset window, otherwise what was last observed, absent when none was reported. */
16662
- utilization: import_zod25.z.number().optional(),
16700
+ utilization: import_zod26.z.number().optional(),
16663
16701
  /** The reset instant, for a window that has not reset yet and reported one. */
16664
- resetsAtMs: import_zod25.z.number().optional(),
16702
+ resetsAtMs: import_zod26.z.number().optional(),
16665
16703
  /** The window's own status, for a window that has not reset yet. */
16666
- status: import_zod25.z.string().optional()
16704
+ status: import_zod26.z.string().optional()
16667
16705
  });
16668
- var UsageWindowsOutputSchema = import_zod25.z.strictObject({
16669
- identity: import_zod25.z.string(),
16670
- provider: import_zod25.z.string(),
16706
+ var UsageWindowsOutputSchema = import_zod26.z.strictObject({
16707
+ identity: import_zod26.z.string(),
16708
+ provider: import_zod26.z.string(),
16671
16709
  /** When the rate-limit state the windows come from was observed. */
16672
- observedAt: import_zod25.z.iso.datetime().optional(),
16710
+ observedAt: import_zod26.z.iso.datetime().optional(),
16673
16711
  fiveHour: EffectiveWindowSchema.optional(),
16674
16712
  sevenDay: EffectiveWindowSchema.optional()
16675
16713
  });
16676
- var UsageLiveOutputSchema = import_zod25.z.strictObject({
16714
+ var UsageLiveOutputSchema = import_zod26.z.strictObject({
16677
16715
  /** The freshest observation the door holds, never narrowed by the read's session filter because it is the door's single latest statement of the account's quota; absent while no rate_limit_event has been filed at all. */
16678
16716
  latest: RcLiveRateLimitSchema.optional(),
16679
16717
  /** One observation per session whose stream has filed a rate_limit_event this door generation. */
16680
- sessions: import_zod25.z.readonly(import_zod25.z.array(RcLiveRateLimitSchema))
16718
+ sessions: import_zod26.z.readonly(import_zod26.z.array(RcLiveRateLimitSchema))
16681
16719
  });
16682
- var FrontDoorSessionStatusSchema = import_zod25.z.strictObject({
16683
- pid: import_zod25.z.int().positive(),
16684
- startedAt: import_zod25.z.number(),
16685
- alive: import_zod25.z.boolean()
16720
+ var FrontDoorSessionStatusSchema = import_zod26.z.strictObject({
16721
+ pid: import_zod26.z.int().positive(),
16722
+ startedAt: import_zod26.z.number(),
16723
+ alive: import_zod26.z.boolean()
16686
16724
  });
16687
- var HeadroomSocketTargetSchema = import_zod25.z.union([import_zod25.z.strictObject({ socketPath: import_zod25.z.string() }), import_zod25.z.strictObject({ refused: import_zod25.z.string() })]);
16688
- var FrontDoorStatusOutputSchema = import_zod25.z.strictObject({
16725
+ var HeadroomSocketTargetSchema = import_zod26.z.union([import_zod26.z.strictObject({ socketPath: import_zod26.z.string() }), import_zod26.z.strictObject({ refused: import_zod26.z.string() })]);
16726
+ var FrontDoorStatusOutputSchema = import_zod26.z.strictObject({
16689
16727
  state: FrontDoorStateSchema,
16690
- supervisorAlive: import_zod25.z.boolean(),
16691
- sessions: import_zod25.z.readonly(import_zod25.z.array(FrontDoorSessionStatusSchema)),
16728
+ supervisorAlive: import_zod26.z.boolean(),
16729
+ sessions: import_zod26.z.readonly(import_zod26.z.array(FrontDoorSessionStatusSchema)),
16692
16730
  headroomSocket: HeadroomSocketTargetSchema.optional(),
16693
- logPath: import_zod25.z.string(),
16694
- logExists: import_zod25.z.boolean()
16731
+ logPath: import_zod26.z.string(),
16732
+ logExists: import_zod26.z.boolean()
16695
16733
  });
16696
- var FrontDoorSessionsOutputSchema = import_zod25.z.strictObject({ sessions: import_zod25.z.readonly(import_zod25.z.array(FrontDoorSessionStatusSchema)) });
16697
- var CheckRunInputSchema = import_zod25.z.strictObject({
16698
- path: import_zod25.z.string().min(1),
16699
- identity: import_zod25.z.string().min(1).optional()
16734
+ var FrontDoorSessionsOutputSchema = import_zod26.z.strictObject({ sessions: import_zod26.z.readonly(import_zod26.z.array(FrontDoorSessionStatusSchema)) });
16735
+ var CheckRunInputSchema = import_zod26.z.strictObject({
16736
+ path: import_zod26.z.string().min(1),
16737
+ identity: import_zod26.z.string().min(1).optional()
16700
16738
  }).refine((input) => import_node_path32.default.isAbsolute(input.path), { message: "path must be absolute: the door cannot resolve a relative path against the caller's working directory" });
16701
- var PoolPickInputSchema = import_zod25.z.strictObject({
16702
- pool: import_zod25.z.string().min(1),
16703
- path: import_zod25.z.string().min(1)
16739
+ var PoolPickInputSchema = import_zod26.z.strictObject({
16740
+ pool: import_zod26.z.string().min(1),
16741
+ path: import_zod26.z.string().min(1)
16704
16742
  }).refine((input) => import_node_path32.default.isAbsolute(input.path), { message: "path must be absolute: the door cannot resolve a relative path against the caller's working directory" });
16705
- var DoctorFindingSchema = import_zod25.z.strictObject({
16706
- section: import_zod25.z.enum(DOCTOR_SECTIONS),
16707
- subject: import_zod25.z.string().optional(),
16708
- severity: import_zod25.z.enum(DOCTOR_SEVERITIES),
16709
- message: import_zod25.z.string()
16743
+ var DoctorFindingSchema = import_zod26.z.strictObject({
16744
+ section: import_zod26.z.enum(DOCTOR_SECTIONS),
16745
+ subject: import_zod26.z.string().optional(),
16746
+ severity: import_zod26.z.enum(DOCTOR_SEVERITIES),
16747
+ message: import_zod26.z.string()
16710
16748
  });
16711
- var DoctorRunOutputSchema = import_zod25.z.strictObject({
16749
+ var DoctorRunOutputSchema = import_zod26.z.strictObject({
16712
16750
  /** False exactly when any finding is a `fail`; a `warn` never fails the report on its own. */
16713
- ok: import_zod25.z.boolean(),
16714
- findings: import_zod25.z.readonly(import_zod25.z.array(DoctorFindingSchema))
16751
+ ok: import_zod26.z.boolean(),
16752
+ findings: import_zod26.z.readonly(import_zod26.z.array(DoctorFindingSchema))
16715
16753
  });
16716
- var FrontDoorRestartOutputSchema = import_zod25.z.strictObject({
16717
- action: import_zod25.z.literal("restarting"),
16718
- previousPid: import_zod25.z.int().positive()
16754
+ var FrontDoorRestartOutputSchema = import_zod26.z.strictObject({
16755
+ action: import_zod26.z.literal("restarting"),
16756
+ previousPid: import_zod26.z.int().positive()
16719
16757
  });
16720
- var UpdateCheckOutputSchema = import_zod25.z.strictObject({
16721
- current: import_zod25.z.string(),
16722
- latest: import_zod25.z.string(),
16723
- action: import_zod25.z.enum(["current", "available", "updated"])
16758
+ var UpdateCheckOutputSchema = import_zod26.z.strictObject({
16759
+ current: import_zod26.z.string(),
16760
+ latest: import_zod26.z.string(),
16761
+ action: import_zod26.z.enum(["current", "available", "updated"])
16724
16762
  });
16725
- var CodexSignInSchema = import_zod25.z.discriminatedUnion("state", [
16726
- import_zod25.z.strictObject({ state: import_zod25.z.literal("none") }),
16727
- import_zod25.z.strictObject({ state: import_zod25.z.literal("signed-in"), email: import_zod25.z.string().optional(), planScope: import_zod25.z.boolean(), accessTokenExpiresAt: import_zod25.z.number() }),
16728
- import_zod25.z.strictObject({ state: import_zod25.z.literal("unreadable"), message: import_zod25.z.string() })
16763
+ var CodexSignInSchema = import_zod26.z.discriminatedUnion("state", [
16764
+ import_zod26.z.strictObject({ state: import_zod26.z.literal("none") }),
16765
+ import_zod26.z.strictObject({ state: import_zod26.z.literal("signed-in"), email: import_zod26.z.string().optional(), planScope: import_zod26.z.boolean(), accessTokenExpiresAt: import_zod26.z.number() }),
16766
+ import_zod26.z.strictObject({ state: import_zod26.z.literal("unreadable"), message: import_zod26.z.string() })
16729
16767
  ]);
16730
- var CodexStatusOutputSchema = import_zod25.z.strictObject({
16768
+ var CodexStatusOutputSchema = import_zod26.z.strictObject({
16731
16769
  signIn: CodexSignInSchema,
16732
- codexProviders: import_zod25.z.readonly(import_zod25.z.array(import_zod25.z.string()))
16770
+ codexProviders: import_zod26.z.readonly(import_zod26.z.array(import_zod26.z.string()))
16733
16771
  });
16734
- var CodexLogoutOutputSchema = import_zod25.z.strictObject({
16735
- hadGrant: import_zod25.z.boolean(),
16736
- revoked: import_zod25.z.boolean()
16772
+ var CodexLogoutOutputSchema = import_zod26.z.strictObject({
16773
+ hadGrant: import_zod26.z.boolean(),
16774
+ revoked: import_zod26.z.boolean()
16737
16775
  });
16738
16776
 
16739
16777
  // src/frontdoor/codexApi.ts
@@ -16890,144 +16928,143 @@ init_identity();
16890
16928
  init_providersStore();
16891
16929
 
16892
16930
  // src/frontdoor/configSchemas.ts
16893
- var import_zod26 = require("zod");
16931
+ var import_zod27 = require("zod");
16894
16932
  init_schema();
16895
- var RemovalConfirmationSchema = import_zod26.z.boolean();
16896
- var CredentialWriteSchema = (targets) => import_zod26.z.strictObject({
16897
- sources: import_zod26.z.array(RemoteCredentialSourceSchema).min(1).optional(),
16898
- target: import_zod26.z.enum(targets).optional(),
16899
- cache: import_zod26.z.union([import_zod26.z.literal(false), CredentialCacheSchema]).optional()
16933
+ var RemovalConfirmationSchema = import_zod27.z.boolean();
16934
+ var CredentialWriteSchema = (targets) => import_zod27.z.strictObject({
16935
+ sources: import_zod27.z.array(RemoteCredentialSourceSchema).min(1).optional(),
16936
+ target: import_zod27.z.enum(targets).optional(),
16937
+ cache: import_zod27.z.union([import_zod27.z.literal(false), CredentialCacheSchema]).optional()
16900
16938
  });
16901
- var CredentialSummarySchema2 = import_zod26.z.strictObject({
16902
- target: import_zod26.z.enum(CREDENTIAL_TARGETS),
16903
- sources: import_zod26.z.readonly(import_zod26.z.array(
16904
- import_zod26.z.discriminatedUnion("kind", [
16905
- import_zod26.z.strictObject({ kind: import_zod26.z.literal("env"), variable: import_zod26.z.string() }),
16906
- import_zod26.z.strictObject({ kind: import_zod26.z.literal("file"), path: import_zod26.z.string() }),
16907
- import_zod26.z.strictObject({ kind: import_zod26.z.literal("command"), program: import_zod26.z.string() }),
16908
- import_zod26.z.strictObject({ kind: import_zod26.z.literal("op"), reference: import_zod26.z.string() }),
16909
- import_zod26.z.strictObject({ kind: import_zod26.z.literal("keychain"), service: import_zod26.z.string(), account: import_zod26.z.string().optional() }),
16910
- import_zod26.z.strictObject({ kind: import_zod26.z.literal("literal") })
16939
+ var CredentialSummarySchema2 = import_zod27.z.strictObject({
16940
+ target: import_zod27.z.enum(CREDENTIAL_TARGETS),
16941
+ sources: import_zod27.z.readonly(import_zod27.z.array(
16942
+ import_zod27.z.discriminatedUnion("kind", [
16943
+ import_zod27.z.strictObject({ kind: import_zod27.z.literal("env"), variable: import_zod27.z.string() }),
16944
+ import_zod27.z.strictObject({ kind: import_zod27.z.literal("file"), path: import_zod27.z.string() }),
16945
+ import_zod27.z.strictObject({ kind: import_zod27.z.literal("command"), program: import_zod27.z.string() }),
16946
+ import_zod27.z.strictObject({ kind: import_zod27.z.literal("op"), reference: import_zod27.z.string() }),
16947
+ import_zod27.z.strictObject({ kind: import_zod27.z.literal("keychain"), service: import_zod27.z.string(), account: import_zod27.z.string().optional() }),
16948
+ import_zod27.z.strictObject({ kind: import_zod27.z.literal("literal") })
16911
16949
  ])
16912
16950
  )),
16913
16951
  cache: CredentialCacheSchema.optional()
16914
16952
  });
16915
- var mutationOutput = (kind, action) => import_zod26.z.strictObject({ action: import_zod26.z.literal(action), kind: import_zod26.z.literal(kind), name: import_zod26.z.string() });
16916
- var storedMutationOutput = (kind, action, value) => import_zod26.z.strictObject({ action: import_zod26.z.literal(action), kind: import_zod26.z.literal(kind), name: import_zod26.z.string(), value });
16917
- var IdentityValueSchema = import_zod26.z.strictObject({
16918
- name: import_zod26.z.string(),
16919
- defaultConfigProfile: import_zod26.z.string().optional(),
16920
- allowAmbientCredential: import_zod26.z.boolean(),
16953
+ var mutationOutput = (kind, action) => import_zod27.z.strictObject({ action: import_zod27.z.literal(action), kind: import_zod27.z.literal(kind), name: import_zod27.z.string() });
16954
+ var storedMutationOutput = (kind, action, value) => import_zod27.z.strictObject({ action: import_zod27.z.literal(action), kind: import_zod27.z.literal(kind), name: import_zod27.z.string(), value });
16955
+ var IdentityValueSchema = import_zod27.z.strictObject({
16956
+ name: import_zod27.z.string(),
16957
+ defaultConfigProfile: import_zod27.z.string().optional(),
16958
+ allowAmbientCredential: import_zod27.z.boolean(),
16921
16959
  credential: CredentialSummarySchema2.optional(),
16922
- anchors: import_zod26.z.array(AnchorSchema).optional()
16960
+ anchors: import_zod27.z.array(AnchorSchema).optional()
16923
16961
  });
16924
16962
  var ProfileValueSchema = ConfigProfileSchema.omit({ $schema: true });
16925
- var ProviderValueSchema = import_zod26.z.strictObject({
16926
- name: import_zod26.z.string(),
16927
- kind: import_zod26.z.enum(PROVIDER_KINDS),
16928
- displayName: import_zod26.z.string(),
16929
- baseUrl: import_zod26.z.string().optional(),
16963
+ var ProviderValueSchema = import_zod27.z.strictObject({
16964
+ name: import_zod27.z.string(),
16965
+ kind: import_zod27.z.enum(PROVIDER_KINDS),
16966
+ displayName: import_zod27.z.string(),
16967
+ baseUrl: import_zod27.z.string().optional(),
16930
16968
  codex: CodexProviderConfigSchema.optional(),
16931
16969
  credential: CredentialSummarySchema2.optional(),
16932
- env: import_zod26.z.record(import_zod26.z.string(), import_zod26.z.string()).optional()
16970
+ env: import_zod27.z.record(import_zod27.z.string(), import_zod27.z.string()).optional()
16933
16971
  });
16934
- var ConfigNameInputSchema = import_zod26.z.strictObject({ name: import_zod26.z.string().min(1) });
16972
+ var ConfigNameInputSchema = import_zod27.z.strictObject({ name: import_zod27.z.string().min(1) });
16935
16973
  var ConfigIdentityAddOutputSchema = storedMutationOutput("identity", "created", IdentityValueSchema);
16936
- var ConfigIdentitySetInputSchema = import_zod26.z.strictObject({
16937
- name: import_zod26.z.string().min(1),
16938
- defaultConfigProfile: import_zod26.z.union([import_zod26.z.string().min(1), import_zod26.z.literal(false)]).optional(),
16939
- allowAmbientCredential: import_zod26.z.boolean().optional(),
16940
- credential: import_zod26.z.union([import_zod26.z.literal(false), CredentialWriteSchema(CREDENTIAL_TARGETS)]).optional(),
16974
+ var ConfigIdentitySetInputSchema = import_zod27.z.strictObject({
16975
+ name: import_zod27.z.string().min(1),
16976
+ defaultConfigProfile: import_zod27.z.union([import_zod27.z.string().min(1), import_zod27.z.literal(false)]).optional(),
16977
+ allowAmbientCredential: import_zod27.z.boolean().optional(),
16978
+ credential: import_zod27.z.union([import_zod27.z.literal(false), CredentialWriteSchema(CREDENTIAL_TARGETS)]).optional(),
16941
16979
  /** `false` removes the anchors; a list replaces them. */
16942
- anchors: import_zod26.z.union([import_zod26.z.literal(false), import_zod26.z.array(AnchorSchema).min(1)]).optional()
16980
+ anchors: import_zod27.z.union([import_zod27.z.literal(false), import_zod27.z.array(AnchorSchema).min(1)]).optional()
16943
16981
  });
16944
16982
  var ConfigIdentitySetOutputSchema = storedMutationOutput("identity", "updated", IdentityValueSchema);
16945
- var ConfigIdentityRemoveInputSchema = import_zod26.z.strictObject({ name: import_zod26.z.string().min(1), confirm: RemovalConfirmationSchema });
16983
+ var ConfigIdentityRemoveInputSchema = import_zod27.z.strictObject({ name: import_zod27.z.string().min(1), confirm: RemovalConfirmationSchema });
16946
16984
  var ConfigIdentityRemoveOutputSchema = mutationOutput("identity", "removed");
16947
16985
  var ConfigIdentityUseOutputSchema = mutationOutput("identity", "selected");
16948
- var ConfigProfileAddInputSchema = import_zod26.z.strictObject({
16949
- name: import_zod26.z.string().min(1),
16950
- extends: import_zod26.z.array(import_zod26.z.string().min(1)).optional(),
16951
- description: import_zod26.z.string().optional()
16986
+ var ConfigProfileAddInputSchema = import_zod27.z.strictObject({
16987
+ name: import_zod27.z.string().min(1),
16988
+ extends: import_zod27.z.array(import_zod27.z.string().min(1)).optional(),
16989
+ description: import_zod27.z.string().optional()
16952
16990
  });
16953
16991
  var ConfigProfileAddOutputSchema = storedMutationOutput("profile", "created", ProfileValueSchema);
16954
- var ConfigProfileSetInputSchema = import_zod26.z.strictObject({
16955
- name: import_zod26.z.string().min(1),
16956
- category: import_zod26.z.record(import_zod26.z.string(), import_zod26.z.boolean()).optional(),
16957
- entry: import_zod26.z.record(import_zod26.z.string(), import_zod26.z.boolean()).optional(),
16958
- extends: import_zod26.z.union([import_zod26.z.array(import_zod26.z.string().min(1)), import_zod26.z.literal(false)]).optional(),
16959
- description: import_zod26.z.union([import_zod26.z.string(), import_zod26.z.literal(false)]).optional(),
16960
- launch: import_zod26.z.strictObject({
16961
- skipPermissions: import_zod26.z.boolean().optional(),
16962
- remoteControl: import_zod26.z.boolean().optional(),
16963
- headroom: import_zod26.z.boolean().optional(),
16964
- trackUsage: import_zod26.z.boolean().optional(),
16965
- provider: import_zod26.z.union([import_zod26.z.string().min(1), import_zod26.z.literal(false)]).optional(),
16966
- claudeVersion: import_zod26.z.union([import_zod26.z.string().min(1), import_zod26.z.literal(false)]).optional(),
16967
- delay: import_zod26.z.union([import_zod26.z.string().regex(DURATION_RE), import_zod26.z.literal(false)]).optional(),
16968
- pause: import_zod26.z.boolean().optional(),
16969
- explain: import_zod26.z.boolean().optional(),
16970
- routeByName: import_zod26.z.boolean().optional()
16992
+ var ConfigProfileSetInputSchema = import_zod27.z.strictObject({
16993
+ name: import_zod27.z.string().min(1),
16994
+ category: import_zod27.z.record(import_zod27.z.string(), import_zod27.z.boolean()).optional(),
16995
+ entry: import_zod27.z.record(import_zod27.z.string(), import_zod27.z.boolean()).optional(),
16996
+ extends: import_zod27.z.union([import_zod27.z.array(import_zod27.z.string().min(1)), import_zod27.z.literal(false)]).optional(),
16997
+ description: import_zod27.z.union([import_zod27.z.string(), import_zod27.z.literal(false)]).optional(),
16998
+ launch: import_zod27.z.strictObject({
16999
+ skipPermissions: import_zod27.z.boolean().optional(),
17000
+ remoteControl: import_zod27.z.boolean().optional(),
17001
+ headroom: import_zod27.z.boolean().optional(),
17002
+ trackUsage: import_zod27.z.boolean().optional(),
17003
+ provider: import_zod27.z.union([import_zod27.z.string().min(1), import_zod27.z.literal(false)]).optional(),
17004
+ claudeVersion: import_zod27.z.union([import_zod27.z.string().min(1), import_zod27.z.literal(false)]).optional(),
17005
+ delay: import_zod27.z.union([import_zod27.z.string().regex(DURATION_RE), import_zod27.z.literal(false)]).optional(),
17006
+ pause: import_zod27.z.boolean().optional(),
17007
+ explain: import_zod27.z.boolean().optional()
16971
17008
  }).optional()
16972
17009
  });
16973
17010
  var ConfigProfileSetOutputSchema = storedMutationOutput("profile", "updated", ProfileValueSchema);
16974
- var ConfigProfileRemoveInputSchema = import_zod26.z.strictObject({ name: import_zod26.z.string().min(1), confirm: RemovalConfirmationSchema });
17011
+ var ConfigProfileRemoveInputSchema = import_zod27.z.strictObject({ name: import_zod27.z.string().min(1), confirm: RemovalConfirmationSchema });
16975
17012
  var ConfigProfileRemoveOutputSchema = mutationOutput("profile", "removed");
16976
17013
  var ConfigProfileUseOutputSchema = mutationOutput("profile", "selected");
16977
- var PoolMembersInputSchema = import_zod26.z.array(import_zod26.z.string().min(1)).min(1);
16978
- var ConfigPoolAddInputSchema = import_zod26.z.strictObject({
16979
- name: import_zod26.z.string().min(1),
17014
+ var PoolMembersInputSchema = import_zod27.z.array(import_zod27.z.string().min(1)).min(1);
17015
+ var ConfigPoolAddInputSchema = import_zod27.z.strictObject({
17016
+ name: import_zod27.z.string().min(1),
16980
17017
  identities: PoolMembersInputSchema,
16981
- preference: import_zod26.z.enum(POOL_PREFERENCES).optional(),
16982
- resumeOnLimit: import_zod26.z.boolean().optional(),
16983
- compactBeforeLimit: import_zod26.z.boolean().optional(),
17018
+ preference: import_zod27.z.enum(POOL_PREFERENCES).optional(),
17019
+ resumeOnLimit: import_zod27.z.boolean().optional(),
17020
+ compactBeforeLimit: import_zod27.z.boolean().optional(),
16984
17021
  compactAtUtilisation: CompactAtUtilisationSchema.optional()
16985
17022
  });
16986
17023
  var ConfigPoolAddOutputSchema = storedMutationOutput("pool", "created", PoolSchema);
16987
- var ConfigPoolSetInputSchema = import_zod26.z.strictObject({
16988
- name: import_zod26.z.string().min(1),
17024
+ var ConfigPoolSetInputSchema = import_zod27.z.strictObject({
17025
+ name: import_zod27.z.string().min(1),
16989
17026
  identities: PoolMembersInputSchema.optional(),
16990
- preference: import_zod26.z.union([import_zod26.z.enum(POOL_PREFERENCES), import_zod26.z.literal(false)]).optional(),
16991
- resumeOnLimit: import_zod26.z.boolean().optional(),
16992
- compactBeforeLimit: import_zod26.z.boolean().optional(),
16993
- compactAtUtilisation: import_zod26.z.union([CompactAtUtilisationSchema, import_zod26.z.literal(false)]).optional()
17027
+ preference: import_zod27.z.union([import_zod27.z.enum(POOL_PREFERENCES), import_zod27.z.literal(false)]).optional(),
17028
+ resumeOnLimit: import_zod27.z.boolean().optional(),
17029
+ compactBeforeLimit: import_zod27.z.boolean().optional(),
17030
+ compactAtUtilisation: import_zod27.z.union([CompactAtUtilisationSchema, import_zod27.z.literal(false)]).optional()
16994
17031
  });
16995
17032
  var ConfigPoolSetOutputSchema = storedMutationOutput("pool", "updated", PoolSchema);
16996
- var ConfigPoolRemoveInputSchema = import_zod26.z.strictObject({ name: import_zod26.z.string().min(1), confirm: RemovalConfirmationSchema });
17033
+ var ConfigPoolRemoveInputSchema = import_zod27.z.strictObject({ name: import_zod27.z.string().min(1), confirm: RemovalConfirmationSchema });
16997
17034
  var ConfigPoolRemoveOutputSchema = mutationOutput("pool", "removed");
16998
17035
  var ConfigPoolUseOutputSchema = mutationOutput("pool", "selected");
16999
- var ConfigProviderAddInputSchema = import_zod26.z.strictObject({
17000
- name: import_zod26.z.string().min(1),
17001
- kind: import_zod26.z.enum(PROVIDER_KINDS).optional(),
17002
- displayName: import_zod26.z.string().min(1),
17003
- baseUrl: import_zod26.z.string().min(1).optional(),
17036
+ var ConfigProviderAddInputSchema = import_zod27.z.strictObject({
17037
+ name: import_zod27.z.string().min(1),
17038
+ kind: import_zod27.z.enum(PROVIDER_KINDS).optional(),
17039
+ displayName: import_zod27.z.string().min(1),
17040
+ baseUrl: import_zod27.z.string().min(1).optional(),
17004
17041
  credential: CredentialWriteSchema(PROVIDER_CREDENTIAL_TARGETS).required({ sources: true }),
17005
17042
  codex: CodexProviderConfigSchema.optional()
17006
17043
  });
17007
17044
  var ConfigProviderAddOutputSchema = storedMutationOutput("provider", "created", ProviderValueSchema);
17008
- var ConfigProviderSetInputSchema = import_zod26.z.strictObject({
17009
- name: import_zod26.z.string().min(1),
17010
- displayName: import_zod26.z.string().min(1).optional(),
17011
- baseUrl: import_zod26.z.string().min(1).optional(),
17045
+ var ConfigProviderSetInputSchema = import_zod27.z.strictObject({
17046
+ name: import_zod27.z.string().min(1),
17047
+ displayName: import_zod27.z.string().min(1).optional(),
17048
+ baseUrl: import_zod27.z.string().min(1).optional(),
17012
17049
  credential: CredentialWriteSchema(PROVIDER_CREDENTIAL_TARGETS).optional(),
17013
17050
  codex: CodexProviderConfigSchema.optional()
17014
17051
  });
17015
17052
  var ConfigProviderSetOutputSchema = storedMutationOutput("provider", "updated", ProviderValueSchema);
17016
- var ConfigProviderRemoveInputSchema = import_zod26.z.strictObject({ name: import_zod26.z.string().min(1), confirm: RemovalConfirmationSchema });
17053
+ var ConfigProviderRemoveInputSchema = import_zod27.z.strictObject({ name: import_zod27.z.string().min(1), confirm: RemovalConfirmationSchema });
17017
17054
  var ConfigProviderRemoveOutputSchema = mutationOutput("provider", "removed");
17018
- var ConfigRuleAddInputSchema = import_zod26.z.strictObject({
17019
- path: import_zod26.z.string().min(1),
17020
- configProfile: import_zod26.z.string().min(1).optional(),
17021
- identity: import_zod26.z.string().min(1).optional()
17055
+ var ConfigRuleAddInputSchema = import_zod27.z.strictObject({
17056
+ path: import_zod27.z.string().min(1),
17057
+ configProfile: import_zod27.z.string().min(1).optional(),
17058
+ identity: import_zod27.z.string().min(1).optional()
17022
17059
  });
17023
17060
  var ConfigRuleAddOutputSchema = storedMutationOutput("rule", "created", DirectoryRuleSchema);
17024
- var ConfigRuleSetInputSchema = import_zod26.z.strictObject({
17025
- path: import_zod26.z.string().min(1),
17026
- configProfile: import_zod26.z.union([import_zod26.z.string().min(1), import_zod26.z.literal(false)]).optional(),
17027
- identity: import_zod26.z.union([import_zod26.z.string().min(1), import_zod26.z.literal(false)]).optional()
17061
+ var ConfigRuleSetInputSchema = import_zod27.z.strictObject({
17062
+ path: import_zod27.z.string().min(1),
17063
+ configProfile: import_zod27.z.union([import_zod27.z.string().min(1), import_zod27.z.literal(false)]).optional(),
17064
+ identity: import_zod27.z.union([import_zod27.z.string().min(1), import_zod27.z.literal(false)]).optional()
17028
17065
  });
17029
17066
  var ConfigRuleSetOutputSchema = storedMutationOutput("rule", "updated", DirectoryRuleSchema);
17030
- var ConfigRuleRemoveInputSchema = import_zod26.z.strictObject({ path: import_zod26.z.string().min(1), confirm: RemovalConfirmationSchema });
17067
+ var ConfigRuleRemoveInputSchema = import_zod27.z.strictObject({ path: import_zod27.z.string().min(1), confirm: RemovalConfirmationSchema });
17031
17068
  var ConfigRuleRemoveOutputSchema = mutationOutput("rule", "removed");
17032
17069
 
17033
17070
  // src/frontdoor/configApi.ts
@@ -17179,8 +17216,7 @@ function createConfigApiRouter(deps) {
17179
17216
  ...launch?.claudeVersion === void 0 ? {} : { launchClaudeVersion: launch.claudeVersion },
17180
17217
  ...launch?.delay === void 0 ? {} : { launchDelay: launch.delay },
17181
17218
  ...launch?.pause === void 0 ? {} : { launchPause: launch.pause },
17182
- ...launch?.explain === void 0 ? {} : { launchExplain: launch.explain },
17183
- ...launch?.routeByName === void 0 ? {} : { launchRouteByName: launch.routeByName }
17219
+ ...launch?.explain === void 0 ? {} : { launchExplain: launch.explain }
17184
17220
  });
17185
17221
  return { action: "updated", kind: "profile", name: input.name, value: profileValue(input.name, paths) };
17186
17222
  })
@@ -17339,43 +17375,43 @@ var import_openapi4 = require("@orpc/openapi");
17339
17375
  var import_server3 = require("@orpc/server");
17340
17376
 
17341
17377
  // src/frontdoor/eventSchemas.ts
17342
- var import_zod27 = require("zod");
17378
+ var import_zod28 = require("zod");
17343
17379
  var DOOR_EVENT_SOURCE_RC = "rc";
17344
17380
  var LAUNCH_EVENT_SOURCE = "launch";
17345
17381
  var USAGE_EVENT_SOURCE = "usage";
17346
17382
  var DOOR_HEALTH_EVENT_SOURCE = "door";
17347
17383
  var QUOTA_EXPIRING_EVENT_SOURCE = "quota-expiring";
17348
- var DoorEventSchema = import_zod27.z.strictObject({
17349
- source: import_zod27.z.string().min(1),
17384
+ var DoorEventSchema = import_zod28.z.strictObject({
17385
+ source: import_zod28.z.string().min(1),
17350
17386
  /** A positive integer because the backbone's counters start at one and only ever increase. */
17351
- sequence: import_zod27.z.number().int().positive(),
17352
- payload: import_zod27.z.unknown()
17387
+ sequence: import_zod28.z.number().int().positive(),
17388
+ payload: import_zod28.z.unknown()
17353
17389
  });
17354
- var DoorEventSourceQuerySchema = import_zod27.z.strictObject({
17355
- sources: import_zod27.z.array(import_zod27.z.string().min(1)).min(1).optional()
17390
+ var DoorEventSourceQuerySchema = import_zod28.z.strictObject({
17391
+ sources: import_zod28.z.array(import_zod28.z.string().min(1)).min(1).optional()
17356
17392
  });
17357
- var LaunchLifecycleEventSchema = import_zod27.z.strictObject({
17358
- kind: import_zod27.z.enum(["registered", "pruned", "ended"]),
17359
- pid: import_zod27.z.number().int().positive(),
17360
- startedAt: import_zod27.z.number(),
17361
- observedAt: import_zod27.z.number()
17393
+ var LaunchLifecycleEventSchema = import_zod28.z.strictObject({
17394
+ kind: import_zod28.z.enum(["registered", "pruned", "ended"]),
17395
+ pid: import_zod28.z.number().int().positive(),
17396
+ startedAt: import_zod28.z.number(),
17397
+ observedAt: import_zod28.z.number()
17362
17398
  });
17363
- var DoorHealthEventSchema = import_zod27.z.discriminatedUnion("kind", [
17364
- import_zod27.z.strictObject({ kind: import_zod27.z.literal("generation"), pid: import_zod27.z.number().int().positive(), providerPort: import_zod27.z.number().int().positive(), connectPort: import_zod27.z.number().int().positive(), directPort: import_zod27.z.number().int().positive(), observedAt: import_zod27.z.number() }),
17365
- import_zod27.z.strictObject({ kind: import_zod27.z.literal("listenerFailed"), pid: import_zod27.z.number().int().positive(), listener: import_zod27.z.enum(["provider", "connect", "direct"]), message: import_zod27.z.string(), observedAt: import_zod27.z.number() }),
17366
- import_zod27.z.strictObject({ kind: import_zod27.z.literal("binaryTurnover"), pid: import_zod27.z.number().int().positive(), observedAt: import_zod27.z.number() }),
17367
- import_zod27.z.strictObject({ kind: import_zod27.z.literal("idleShutdown"), pid: import_zod27.z.number().int().positive(), observedAt: import_zod27.z.number() }),
17368
- import_zod27.z.strictObject({ kind: import_zod27.z.literal("superseded"), pid: import_zod27.z.number().int().positive(), ownerPid: import_zod27.z.number().int().positive(), observedAt: import_zod27.z.number() }),
17369
- import_zod27.z.strictObject({ kind: import_zod27.z.literal("drained"), pid: import_zod27.z.number().int().positive(), observedAt: import_zod27.z.number() })
17399
+ var DoorHealthEventSchema = import_zod28.z.discriminatedUnion("kind", [
17400
+ import_zod28.z.strictObject({ kind: import_zod28.z.literal("generation"), pid: import_zod28.z.number().int().positive(), providerPort: import_zod28.z.number().int().positive(), connectPort: import_zod28.z.number().int().positive(), directPort: import_zod28.z.number().int().positive(), observedAt: import_zod28.z.number() }),
17401
+ import_zod28.z.strictObject({ kind: import_zod28.z.literal("listenerFailed"), pid: import_zod28.z.number().int().positive(), listener: import_zod28.z.enum(["provider", "connect", "direct"]), message: import_zod28.z.string(), observedAt: import_zod28.z.number() }),
17402
+ import_zod28.z.strictObject({ kind: import_zod28.z.literal("binaryTurnover"), pid: import_zod28.z.number().int().positive(), observedAt: import_zod28.z.number() }),
17403
+ import_zod28.z.strictObject({ kind: import_zod28.z.literal("idleShutdown"), pid: import_zod28.z.number().int().positive(), observedAt: import_zod28.z.number() }),
17404
+ import_zod28.z.strictObject({ kind: import_zod28.z.literal("superseded"), pid: import_zod28.z.number().int().positive(), ownerPid: import_zod28.z.number().int().positive(), observedAt: import_zod28.z.number() }),
17405
+ import_zod28.z.strictObject({ kind: import_zod28.z.literal("drained"), pid: import_zod28.z.number().int().positive(), observedAt: import_zod28.z.number() })
17370
17406
  ]);
17371
- var QuotaExpiringEventSchema = import_zod27.z.strictObject({
17372
- identity: import_zod27.z.string().min(1),
17373
- provider: import_zod27.z.string().min(1),
17374
- window: import_zod27.z.enum(["fiveHour", "sevenDay"]),
17407
+ var QuotaExpiringEventSchema = import_zod28.z.strictObject({
17408
+ identity: import_zod28.z.string().min(1),
17409
+ provider: import_zod28.z.string().min(1),
17410
+ window: import_zod28.z.enum(["fiveHour", "sevenDay"]),
17375
17411
  /** The fraction of the window already used when it was seen expiring, always below one because a fully used window has nothing left to spend. */
17376
- utilization: import_zod27.z.number().min(0).max(1),
17377
- resetsAt: import_zod27.z.iso.datetime(),
17378
- observedAt: import_zod27.z.number()
17412
+ utilization: import_zod28.z.number().min(0).max(1),
17413
+ resetsAt: import_zod28.z.iso.datetime(),
17414
+ observedAt: import_zod28.z.number()
17379
17415
  });
17380
17416
 
17381
17417
  // src/frontdoor/eventsApi.ts
@@ -17459,56 +17495,55 @@ init_cliError();
17459
17495
 
17460
17496
  // src/frontdoor/launchSchemas.ts
17461
17497
  var import_node_path33 = __toESM(require("node:path"), 1);
17462
- var import_zod28 = require("zod");
17498
+ var import_zod29 = require("zod");
17463
17499
  init_claudeVersion();
17464
17500
  init_identity();
17465
- var LaunchResolveInputSchema = import_zod28.z.strictObject({
17466
- path: import_zod28.z.string().min(1),
17501
+ var LaunchResolveInputSchema = import_zod29.z.strictObject({
17502
+ path: import_zod29.z.string().min(1),
17467
17503
  /** `@name`, launch flags, then the arguments for `claude`; empty for a bare launch. */
17468
- argv: import_zod28.z.readonly(import_zod28.z.array(import_zod28.z.string())).optional(),
17504
+ argv: import_zod29.z.readonly(import_zod29.z.array(import_zod29.z.string())).optional(),
17469
17505
  /** The launch's inherited environment. Absent means an empty one: the door's own environment is never a substitute for the caller's, so a caller that wants `AGENT_SHIM_*` switches or a `CLAUDE_CONFIG_DIR` considered names them here. Values are read, never reported. */
17470
- env: import_zod28.z.record(import_zod28.z.string(), import_zod28.z.string()).optional()
17506
+ env: import_zod29.z.record(import_zod29.z.string(), import_zod29.z.string()).optional()
17471
17507
  }).refine((input) => import_node_path33.default.isAbsolute(input.path), { message: "path must be absolute: the door cannot resolve a relative path against the caller's working directory" });
17472
- var LaunchPoolDecisionSchema = import_zod28.z.strictObject({
17473
- name: import_zod28.z.string(),
17474
- reasons: import_zod28.z.readonly(import_zod28.z.array(import_zod28.z.string())),
17475
- movedOff: import_zod28.z.strictObject({ identity: import_zod28.z.string(), reason: import_zod28.z.string() }).optional()
17508
+ var LaunchPoolDecisionSchema = import_zod29.z.strictObject({
17509
+ name: import_zod29.z.string(),
17510
+ reasons: import_zod29.z.readonly(import_zod29.z.array(import_zod29.z.string())),
17511
+ movedOff: import_zod29.z.strictObject({ identity: import_zod29.z.string(), reason: import_zod29.z.string() }).optional()
17476
17512
  });
17477
- var LaunchDecisionSchema = import_zod28.z.strictObject({
17478
- identity: import_zod28.z.string().optional(),
17479
- identitySource: import_zod28.z.enum(IDENTITY_DECISION_SOURCES),
17513
+ var LaunchDecisionSchema = import_zod29.z.strictObject({
17514
+ identity: import_zod29.z.string().optional(),
17515
+ identitySource: import_zod29.z.enum(IDENTITY_DECISION_SOURCES),
17480
17516
  pool: LaunchPoolDecisionSchema.optional(),
17481
- configDirEscapeHatch: import_zod28.z.boolean(),
17482
- configDir: import_zod28.z.string().optional(),
17483
- configProfile: import_zod28.z.string().optional(),
17484
- configProfileSource: import_zod28.z.enum(CONFIG_PROFILE_DECISION_SOURCES),
17485
- provider: import_zod28.z.string().optional()
17517
+ configDirEscapeHatch: import_zod29.z.boolean(),
17518
+ configDir: import_zod29.z.string().optional(),
17519
+ configProfile: import_zod29.z.string().optional(),
17520
+ configProfileSource: import_zod29.z.enum(CONFIG_PROFILE_DECISION_SOURCES),
17521
+ provider: import_zod29.z.string().optional()
17486
17522
  });
17487
- var LaunchFlagsSchema = import_zod28.z.strictObject({
17488
- skipPermissions: import_zod28.z.boolean(),
17489
- remoteControl: import_zod28.z.boolean(),
17490
- headroom: import_zod28.z.boolean(),
17491
- trackUsage: import_zod28.z.boolean(),
17492
- pause: import_zod28.z.boolean(),
17493
- explain: import_zod28.z.boolean(),
17494
- routeByName: import_zod28.z.boolean(),
17523
+ var LaunchFlagsSchema = import_zod29.z.strictObject({
17524
+ skipPermissions: import_zod29.z.boolean(),
17525
+ remoteControl: import_zod29.z.boolean(),
17526
+ headroom: import_zod29.z.boolean(),
17527
+ trackUsage: import_zod29.z.boolean(),
17528
+ pause: import_zod29.z.boolean(),
17529
+ explain: import_zod29.z.boolean(),
17495
17530
  /** How long the launch waits after its own output before it starts claude, in milliseconds. */
17496
- delayMs: import_zod28.z.number()
17531
+ delayMs: import_zod29.z.number()
17497
17532
  });
17498
- var LaunchResolveOutputSchema = import_zod28.z.strictObject({
17533
+ var LaunchResolveOutputSchema = import_zod29.z.strictObject({
17499
17534
  decision: LaunchDecisionSchema,
17500
17535
  flags: LaunchFlagsSchema,
17501
- claudeVersion: import_zod28.z.strictObject({ version: import_zod28.z.string(), source: import_zod28.z.enum(CLAUDE_VERSION_SOURCES) }).optional(),
17536
+ claudeVersion: import_zod29.z.strictObject({ version: import_zod29.z.string(), source: import_zod29.z.enum(CLAUDE_VERSION_SOURCES) }).optional(),
17502
17537
  /** The real `claude` binary the launch would spawn, on the door's host. */
17503
- bin: import_zod28.z.string(),
17538
+ bin: import_zod29.z.string(),
17504
17539
  /** The arguments the launch would pass it: the tool's own flags, then `CLAUDE_EXTRA_FLAGS`, then the caller's own. */
17505
- args: import_zod28.z.readonly(import_zod28.z.array(import_zod28.z.string())),
17540
+ args: import_zod29.z.readonly(import_zod29.z.array(import_zod29.z.string())),
17506
17541
  /** The credential the launch would authenticate with, by target and source kinds. Absent when none applies. */
17507
- credential: import_zod28.z.strictObject({ subject: import_zod28.z.enum(["provider", "identity"]), name: import_zod28.z.string(), summary: CredentialSummarySchema }).optional(),
17508
- routing: import_zod28.z.strictObject({ frontDoor: import_zod28.z.boolean(), headroom: import_zod28.z.boolean(), routeByName: import_zod28.z.boolean() }),
17542
+ credential: import_zod29.z.strictObject({ subject: import_zod29.z.enum(["provider", "identity"]), name: import_zod29.z.string(), summary: CredentialSummarySchema }).optional(),
17543
+ routing: import_zod29.z.strictObject({ frontDoor: import_zod29.z.boolean(), headroom: import_zod29.z.boolean() }),
17509
17544
  /** The names of the environment variables the launch would set or unset, sorted. Values are not reported. */
17510
- environment: import_zod28.z.readonly(import_zod28.z.array(import_zod28.z.string())),
17511
- warnings: import_zod28.z.readonly(import_zod28.z.array(import_zod28.z.string()))
17545
+ environment: import_zod29.z.readonly(import_zod29.z.array(import_zod29.z.string())),
17546
+ warnings: import_zod29.z.readonly(import_zod29.z.array(import_zod29.z.string()))
17512
17547
  });
17513
17548
 
17514
17549
  // src/frontdoor/launchApi.ts
@@ -17544,22 +17579,22 @@ function createLaunchApiRouter(deps) {
17544
17579
  // src/frontdoor/agentTreesApi.ts
17545
17580
  var import_client6 = require("@orpc/client");
17546
17581
  var import_openapi7 = require("@orpc/openapi");
17547
- var import_zod29 = require("zod");
17582
+ var import_zod30 = require("zod");
17548
17583
  init_cliError();
17549
- var AgentTreesListInputSchema = import_zod29.z.strictObject({
17584
+ var AgentTreesListInputSchema = import_zod30.z.strictObject({
17550
17585
  /** Only this identity's sessions. */
17551
- identity: import_zod29.z.string().optional(),
17586
+ identity: import_zod30.z.string().optional(),
17552
17587
  /** Include sessions that spawned no agent and ran no workflow. */
17553
- all: import_zod29.z.boolean().optional()
17588
+ all: import_zod30.z.boolean().optional()
17554
17589
  });
17555
- var AgentTreesListOutputSchema = import_zod29.z.array(SessionSummarySchema);
17556
- var AgentTreesShowInputSchema = import_zod29.z.strictObject({
17590
+ var AgentTreesListOutputSchema = import_zod30.z.array(SessionSummarySchema);
17591
+ var AgentTreesShowInputSchema = import_zod30.z.strictObject({
17557
17592
  /** A session id, or an unambiguous prefix of one. */
17558
- session: import_zod29.z.string().min(1),
17593
+ session: import_zod30.z.string().min(1),
17559
17594
  /** Look only in this identity. */
17560
- identity: import_zod29.z.string().optional()
17595
+ identity: import_zod30.z.string().optional()
17561
17596
  });
17562
- var AgentTreesShowOutputSchema = import_zod29.z.strictObject({ identities: import_zod29.z.array(import_zod29.z.string()), ...MergedAgentTreeSchema.shape });
17597
+ var AgentTreesShowOutputSchema = import_zod30.z.strictObject({ identities: import_zod30.z.array(import_zod30.z.string()), ...MergedAgentTreeSchema.shape });
17563
17598
  function asBadRequest(error) {
17564
17599
  if (error instanceof CliError) {
17565
17600
  throw new import_client6.ORPCError("BAD_REQUEST", { message: error.message });
@@ -19742,7 +19777,7 @@ init_poolPick();
19742
19777
 
19743
19778
  // src/agents/read.ts
19744
19779
  var import_node_path35 = __toESM(require("node:path"), 1);
19745
- var import_zod30 = require("zod");
19780
+ var import_zod31 = require("zod");
19746
19781
  var PROJECTS_DIR = "projects";
19747
19782
  var TASKS_DIR = "tasks";
19748
19783
  var SUBAGENTS_DIR = "subagents";
@@ -19861,14 +19896,14 @@ function parseJson2(text) {
19861
19896
  return void 0;
19862
19897
  }
19863
19898
  }
19864
- var TaskFileSchema = import_zod30.z.object({ ...TaskItemSchema.omit({ taskList: true }).shape, blocks: import_zod30.z.array(import_zod30.z.string()).default([]), blockedBy: import_zod30.z.array(import_zod30.z.string()).default([]) });
19865
- var WorkflowRunFileSchema = import_zod30.z.object({
19866
- runId: import_zod30.z.string(),
19867
- workflowName: import_zod30.z.string().optional(),
19868
- status: import_zod30.z.string().optional(),
19869
- startTime: import_zod30.z.number().optional(),
19870
- phases: import_zod30.z.array(import_zod30.z.object({ title: import_zod30.z.string() })).default([]),
19871
- summary: import_zod30.z.string().optional()
19899
+ var TaskFileSchema = import_zod31.z.object({ ...TaskItemSchema.omit({ taskList: true }).shape, blocks: import_zod31.z.array(import_zod31.z.string()).default([]), blockedBy: import_zod31.z.array(import_zod31.z.string()).default([]) });
19900
+ var WorkflowRunFileSchema = import_zod31.z.object({
19901
+ runId: import_zod31.z.string(),
19902
+ workflowName: import_zod31.z.string().optional(),
19903
+ status: import_zod31.z.string().optional(),
19904
+ startTime: import_zod31.z.number().optional(),
19905
+ phases: import_zod31.z.array(import_zod31.z.object({ title: import_zod31.z.string() })).default([]),
19906
+ summary: import_zod31.z.string().optional()
19872
19907
  });
19873
19908
  function summariseSession(fs13, configDir, ref) {
19874
19909
  const sessionRelative = import_node_path35.default.join(PROJECTS_DIR, ref.project, ref.entry);