claude-use 11.36.0 → 11.37.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/cli.cjs CHANGED
@@ -34635,7 +34635,7 @@ var init_package = __esm({
34635
34635
  "package.json"() {
34636
34636
  package_default = {
34637
34637
  name: "claude-use",
34638
- version: "11.36.0",
34638
+ version: "11.37.0",
34639
34639
  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.",
34640
34640
  license: "MIT",
34641
34641
  author: "Joseph Mearman <joseph@mearman.co.uk>",
@@ -36496,6 +36496,58 @@ function resolveProvider(params) {
36496
36496
  }
36497
36497
  return { ok: true, provider: { name, definition, credential: resolution.credential }, warnings: resolution.credential.warnings };
36498
36498
  }
36499
+ function resolveRoutedProviderCredentials(params) {
36500
+ const { models } = params;
36501
+ if (models === void 0) {
36502
+ return { ok: true, checked: [] };
36503
+ }
36504
+ const virtualNames = new Set(Object.keys(models.virtual ?? {}));
36505
+ const providerNames = /* @__PURE__ */ new Set();
36506
+ const collect = (ref) => {
36507
+ if (ref.startsWith("acct:") || ref.startsWith("family:") || virtualNames.has(ref)) {
36508
+ return;
36509
+ }
36510
+ const [provider] = ref.split("/", 1);
36511
+ if (provider !== void 0 && provider !== "") {
36512
+ providerNames.add(provider);
36513
+ }
36514
+ };
36515
+ for (const model of Object.values(models.virtual ?? {})) {
36516
+ for (const member of model.members) {
36517
+ collect(member);
36518
+ }
36519
+ }
36520
+ for (const ref of Object.values(models.tiers ?? {})) {
36521
+ collect(ref);
36522
+ }
36523
+ if (providerNames.size === 0) {
36524
+ return { ok: true, checked: [] };
36525
+ }
36526
+ if (params.credentials === void 0) {
36527
+ return { ok: false, status: 1, message: `agent-shim: the models block routes to providers ${[...providerNames].sort().join(", ")}, which need their credentials resolved, but this launcher has no credential port wired` };
36528
+ }
36529
+ const failures = [];
36530
+ let credentialFailure = false;
36531
+ for (const name of [...providerNames].sort()) {
36532
+ const definition = loadProvider(params.paths.providersDir, name, params.port);
36533
+ if (definition === void 0) {
36534
+ failures.push(`no provider named "${name}"`);
36535
+ continue;
36536
+ }
36537
+ if (isRouterProvider(definition)) {
36538
+ continue;
36539
+ }
36540
+ const resolution = resolveCredential({ credential: definition.credential, env: params.env, port: params.credentials, subject: `provider ${name}` });
36541
+ if (!resolution.ok) {
36542
+ failures.push(resolution.message.replace(/^agent-shim: /, ""));
36543
+ credentialFailure = true;
36544
+ }
36545
+ }
36546
+ if (failures.length > 0) {
36547
+ return { ok: false, status: credentialFailure ? CREDENTIAL_UNAVAILABLE_EXIT : 1, message: `agent-shim: this launch routes model names through the models block, but: ${failures.join("; ")}` };
36548
+ }
36549
+ return { ok: true, checked: [...providerNames].sort() };
36550
+ }
36499
36551
  var import_node_fs10, import_node_path29, ProviderNotFoundError, ProviderAlreadyExistsError, InvalidProviderNameError, PROVIDER_NAME_RE, LEGACY_PROVIDER_FIELDS, LEGACY_ENV_CREDENTIAL_KEYS, LEGACY_LITERAL_PLACEHOLDER, LegacyProviderFileError, ProviderKindMismatchError;
36500
36552
  var init_providersStore = __esm({
36501
36553
  "src/providersStore.ts"() {
@@ -66098,6 +66150,14 @@ function prepareLaunch(params) {
66098
66150
  if (decided.pinnedVersion !== void 0) {
66099
66151
  rows.push(pinnedVersionRow(decided.pinnedVersion.version, decided.pinnedVersion.source));
66100
66152
  }
66153
+ const routesByName = resolvedFlags.routeByName || resolvedProvider !== void 0 && isRouterProvider(resolvedProvider.definition);
66154
+ if (routesByName) {
66155
+ const check2 = resolveRoutedProviderCredentials({ paths, port: params.fs, env, ...params.credentials === void 0 ? {} : { credentials: params.credentials }, models: loadConfigFile(paths.globalConfigFile, GlobalConfigSchema, params.fs.readConfigFile)?.config.models });
66156
+ if (!check2.ok) {
66157
+ log.error(check2.message);
66158
+ proc.exit(check2.status);
66159
+ }
66160
+ }
66101
66161
  const frontDoorPort = params.frontdoor;
66102
66162
  const frontDoorEngaged = resolvedProvider !== void 0 || resolvedFlags.headroom || resolvedFlags.trackUsage;
66103
66163
  if (frontDoorEngaged && frontDoorPort === void 0) {
@@ -66130,7 +66190,7 @@ function prepareLaunch(params) {
66130
66190
  ...headroom === void 0 ? {} : { headroom },
66131
66191
  sessionId,
66132
66192
  remoteControl: resolvedFlags.remoteControl,
66133
- routeByName: resolvedFlags.routeByName || resolvedProvider !== void 0 && isRouterProvider(resolvedProvider.definition)
66193
+ routeByName: routesByName
66134
66194
  });
66135
66195
  const releases = [...headroom === void 0 || headroomPort === void 0 ? [] : [headroomPort.release], ...frontDoorRelease === void 0 ? [] : [frontDoorRelease]];
66136
66196
  const release = () => {
@@ -66220,9 +66280,11 @@ var init_launcher = __esm({
66220
66280
  init_lock();
66221
66281
  init_spawn();
66222
66282
  init_providersStore();
66283
+ init_load();
66223
66284
  init_flatten();
66224
66285
  init_walk();
66225
66286
  init_schema();
66287
+ init_schema();
66226
66288
  init_credential();
66227
66289
  init_middleware();
66228
66290
  init_preflight();
package/dist/index.cjs CHANGED
@@ -3106,7 +3106,7 @@ var init_package = __esm({
3106
3106
  "package.json"() {
3107
3107
  package_default = {
3108
3108
  name: "claude-use",
3109
- version: "11.36.0",
3109
+ version: "11.37.0",
3110
3110
  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.",
3111
3111
  license: "MIT",
3112
3112
  author: "Joseph Mearman <joseph@mearman.co.uk>",
@@ -7175,6 +7175,58 @@ function resolveProvider(params) {
7175
7175
  }
7176
7176
  return { ok: true, provider: { name, definition, credential: resolution.credential }, warnings: resolution.credential.warnings };
7177
7177
  }
7178
+ function resolveRoutedProviderCredentials(params) {
7179
+ const { models } = params;
7180
+ if (models === void 0) {
7181
+ return { ok: true, checked: [] };
7182
+ }
7183
+ const virtualNames = new Set(Object.keys(models.virtual ?? {}));
7184
+ const providerNames = /* @__PURE__ */ new Set();
7185
+ const collect = (ref) => {
7186
+ if (ref.startsWith("acct:") || ref.startsWith("family:") || virtualNames.has(ref)) {
7187
+ return;
7188
+ }
7189
+ const [provider] = ref.split("/", 1);
7190
+ if (provider !== void 0 && provider !== "") {
7191
+ providerNames.add(provider);
7192
+ }
7193
+ };
7194
+ for (const model of Object.values(models.virtual ?? {})) {
7195
+ for (const member of model.members) {
7196
+ collect(member);
7197
+ }
7198
+ }
7199
+ for (const ref of Object.values(models.tiers ?? {})) {
7200
+ collect(ref);
7201
+ }
7202
+ if (providerNames.size === 0) {
7203
+ return { ok: true, checked: [] };
7204
+ }
7205
+ if (params.credentials === void 0) {
7206
+ return { ok: false, status: 1, message: `agent-shim: the models block routes to providers ${[...providerNames].sort().join(", ")}, which need their credentials resolved, but this launcher has no credential port wired` };
7207
+ }
7208
+ const failures = [];
7209
+ let credentialFailure = false;
7210
+ for (const name of [...providerNames].sort()) {
7211
+ const definition = loadProvider(params.paths.providersDir, name, params.port);
7212
+ if (definition === void 0) {
7213
+ failures.push(`no provider named "${name}"`);
7214
+ continue;
7215
+ }
7216
+ if (isRouterProvider(definition)) {
7217
+ continue;
7218
+ }
7219
+ const resolution = resolveCredential({ credential: definition.credential, env: params.env, port: params.credentials, subject: `provider ${name}` });
7220
+ if (!resolution.ok) {
7221
+ failures.push(resolution.message.replace(/^agent-shim: /, ""));
7222
+ credentialFailure = true;
7223
+ }
7224
+ }
7225
+ if (failures.length > 0) {
7226
+ return { ok: false, status: credentialFailure ? CREDENTIAL_UNAVAILABLE_EXIT : 1, message: `agent-shim: this launch routes model names through the models block, but: ${failures.join("; ")}` };
7227
+ }
7228
+ return { ok: true, checked: [...providerNames].sort() };
7229
+ }
7178
7230
  var import_node_fs6, import_node_path25, ProviderNotFoundError, ProviderAlreadyExistsError, InvalidProviderNameError, PROVIDER_NAME_RE, LEGACY_PROVIDER_FIELDS, LEGACY_ENV_CREDENTIAL_KEYS, LEGACY_LITERAL_PLACEHOLDER, LegacyProviderFileError, ProviderKindMismatchError;
7179
7231
  var init_providersStore = __esm({
7180
7232
  "src/providersStore.ts"() {
@@ -9456,6 +9508,14 @@ function prepareLaunch(params) {
9456
9508
  if (decided.pinnedVersion !== void 0) {
9457
9509
  rows.push(pinnedVersionRow(decided.pinnedVersion.version, decided.pinnedVersion.source));
9458
9510
  }
9511
+ const routesByName = resolvedFlags.routeByName || resolvedProvider !== void 0 && isRouterProvider(resolvedProvider.definition);
9512
+ if (routesByName) {
9513
+ const check = resolveRoutedProviderCredentials({ paths, port: params.fs, env, ...params.credentials === void 0 ? {} : { credentials: params.credentials }, models: loadConfigFile(paths.globalConfigFile, GlobalConfigSchema, params.fs.readConfigFile)?.config.models });
9514
+ if (!check.ok) {
9515
+ log.error(check.message);
9516
+ proc.exit(check.status);
9517
+ }
9518
+ }
9459
9519
  const frontDoorPort = params.frontdoor;
9460
9520
  const frontDoorEngaged = resolvedProvider !== void 0 || resolvedFlags.headroom || resolvedFlags.trackUsage;
9461
9521
  if (frontDoorEngaged && frontDoorPort === void 0) {
@@ -9488,7 +9548,7 @@ function prepareLaunch(params) {
9488
9548
  ...headroom === void 0 ? {} : { headroom },
9489
9549
  sessionId,
9490
9550
  remoteControl: resolvedFlags.remoteControl,
9491
- routeByName: resolvedFlags.routeByName || resolvedProvider !== void 0 && isRouterProvider(resolvedProvider.definition)
9551
+ routeByName: routesByName
9492
9552
  });
9493
9553
  const releases = [...headroom === void 0 || headroomPort === void 0 ? [] : [headroomPort.release], ...frontDoorRelease === void 0 ? [] : [frontDoorRelease]];
9494
9554
  const release = () => {
@@ -9578,9 +9638,11 @@ var init_launcher = __esm({
9578
9638
  init_lock();
9579
9639
  init_spawn();
9580
9640
  init_providersStore();
9641
+ init_load();
9581
9642
  init_flatten();
9582
9643
  init_walk();
9583
9644
  init_schema();
9645
+ init_schema();
9584
9646
  init_credential();
9585
9647
  init_middleware();
9586
9648
  init_preflight();
package/dist/index.mjs CHANGED
@@ -3082,7 +3082,7 @@ var init_package = __esm({
3082
3082
  "package.json"() {
3083
3083
  package_default = {
3084
3084
  name: "claude-use",
3085
- version: "11.36.0",
3085
+ version: "11.37.0",
3086
3086
  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.",
3087
3087
  license: "MIT",
3088
3088
  author: "Joseph Mearman <joseph@mearman.co.uk>",
@@ -7150,6 +7150,58 @@ function resolveProvider(params) {
7150
7150
  }
7151
7151
  return { ok: true, provider: { name, definition, credential: resolution.credential }, warnings: resolution.credential.warnings };
7152
7152
  }
7153
+ function resolveRoutedProviderCredentials(params) {
7154
+ const { models } = params;
7155
+ if (models === void 0) {
7156
+ return { ok: true, checked: [] };
7157
+ }
7158
+ const virtualNames = new Set(Object.keys(models.virtual ?? {}));
7159
+ const providerNames = /* @__PURE__ */ new Set();
7160
+ const collect = (ref) => {
7161
+ if (ref.startsWith("acct:") || ref.startsWith("family:") || virtualNames.has(ref)) {
7162
+ return;
7163
+ }
7164
+ const [provider] = ref.split("/", 1);
7165
+ if (provider !== void 0 && provider !== "") {
7166
+ providerNames.add(provider);
7167
+ }
7168
+ };
7169
+ for (const model of Object.values(models.virtual ?? {})) {
7170
+ for (const member of model.members) {
7171
+ collect(member);
7172
+ }
7173
+ }
7174
+ for (const ref of Object.values(models.tiers ?? {})) {
7175
+ collect(ref);
7176
+ }
7177
+ if (providerNames.size === 0) {
7178
+ return { ok: true, checked: [] };
7179
+ }
7180
+ if (params.credentials === void 0) {
7181
+ return { ok: false, status: 1, message: `agent-shim: the models block routes to providers ${[...providerNames].sort().join(", ")}, which need their credentials resolved, but this launcher has no credential port wired` };
7182
+ }
7183
+ const failures = [];
7184
+ let credentialFailure = false;
7185
+ for (const name of [...providerNames].sort()) {
7186
+ const definition = loadProvider(params.paths.providersDir, name, params.port);
7187
+ if (definition === void 0) {
7188
+ failures.push(`no provider named "${name}"`);
7189
+ continue;
7190
+ }
7191
+ if (isRouterProvider(definition)) {
7192
+ continue;
7193
+ }
7194
+ const resolution = resolveCredential({ credential: definition.credential, env: params.env, port: params.credentials, subject: `provider ${name}` });
7195
+ if (!resolution.ok) {
7196
+ failures.push(resolution.message.replace(/^agent-shim: /, ""));
7197
+ credentialFailure = true;
7198
+ }
7199
+ }
7200
+ if (failures.length > 0) {
7201
+ return { ok: false, status: credentialFailure ? CREDENTIAL_UNAVAILABLE_EXIT : 1, message: `agent-shim: this launch routes model names through the models block, but: ${failures.join("; ")}` };
7202
+ }
7203
+ return { ok: true, checked: [...providerNames].sort() };
7204
+ }
7153
7205
  var ProviderNotFoundError, ProviderAlreadyExistsError, InvalidProviderNameError, PROVIDER_NAME_RE, LEGACY_PROVIDER_FIELDS, LEGACY_ENV_CREDENTIAL_KEYS, LEGACY_LITERAL_PLACEHOLDER, LegacyProviderFileError, ProviderKindMismatchError;
7154
7206
  var init_providersStore = __esm({
7155
7207
  "src/providersStore.ts"() {
@@ -9430,6 +9482,14 @@ function prepareLaunch(params) {
9430
9482
  if (decided.pinnedVersion !== void 0) {
9431
9483
  rows.push(pinnedVersionRow(decided.pinnedVersion.version, decided.pinnedVersion.source));
9432
9484
  }
9485
+ const routesByName = resolvedFlags.routeByName || resolvedProvider !== void 0 && isRouterProvider(resolvedProvider.definition);
9486
+ if (routesByName) {
9487
+ const check = resolveRoutedProviderCredentials({ paths, port: params.fs, env, ...params.credentials === void 0 ? {} : { credentials: params.credentials }, models: loadConfigFile(paths.globalConfigFile, GlobalConfigSchema, params.fs.readConfigFile)?.config.models });
9488
+ if (!check.ok) {
9489
+ log.error(check.message);
9490
+ proc.exit(check.status);
9491
+ }
9492
+ }
9433
9493
  const frontDoorPort = params.frontdoor;
9434
9494
  const frontDoorEngaged = resolvedProvider !== void 0 || resolvedFlags.headroom || resolvedFlags.trackUsage;
9435
9495
  if (frontDoorEngaged && frontDoorPort === void 0) {
@@ -9462,7 +9522,7 @@ function prepareLaunch(params) {
9462
9522
  ...headroom === void 0 ? {} : { headroom },
9463
9523
  sessionId,
9464
9524
  remoteControl: resolvedFlags.remoteControl,
9465
- routeByName: resolvedFlags.routeByName || resolvedProvider !== void 0 && isRouterProvider(resolvedProvider.definition)
9525
+ routeByName: routesByName
9466
9526
  });
9467
9527
  const releases = [...headroom === void 0 || headroomPort === void 0 ? [] : [headroomPort.release], ...frontDoorRelease === void 0 ? [] : [frontDoorRelease]];
9468
9528
  const release = () => {
@@ -9549,9 +9609,11 @@ var init_launcher = __esm({
9549
9609
  init_lock();
9550
9610
  init_spawn();
9551
9611
  init_providersStore();
9612
+ init_load();
9552
9613
  init_flatten();
9553
9614
  init_walk();
9554
9615
  init_schema();
9616
+ init_schema();
9555
9617
  init_credential();
9556
9618
  init_middleware();
9557
9619
  init_preflight();
@@ -6100,6 +6100,7 @@ declare function createConfigApiRouter(deps: ConfigApiDeps): {
6100
6100
  kind: zod.ZodLiteral<"profile">;
6101
6101
  name: zod.ZodString;
6102
6102
  value: zod.ZodObject<{
6103
+ description: zod.ZodOptional<zod.ZodString>;
6103
6104
  entries: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnion<readonly [zod.ZodBoolean, zod.ZodObject<{
6104
6105
  value: zod.ZodBoolean;
6105
6106
  when: zod.ZodUnion<readonly [zod.ZodObject<{
@@ -6175,7 +6176,6 @@ declare function createConfigApiRouter(deps: ConfigApiDeps): {
6175
6176
  key: zod.ZodType<trilean.JsonValue, unknown, zod_v4_core.$ZodTypeInternals<trilean.JsonValue, unknown>>;
6176
6177
  }, zod_v4_core.$strip>], "kind">]>;
6177
6178
  }, zod_v4_core.$strict>]>>>;
6178
- description: zod.ZodOptional<zod.ZodString>;
6179
6179
  models: zod.ZodOptional<zod.ZodObject<{
6180
6180
  virtual: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnion<readonly [zod.ZodObject<{
6181
6181
  mode: zod.ZodEnum<{
@@ -6254,6 +6254,7 @@ declare function createConfigApiRouter(deps: ConfigApiDeps): {
6254
6254
  kind: zod.ZodLiteral<"profile">;
6255
6255
  name: zod.ZodString;
6256
6256
  value: zod.ZodObject<{
6257
+ description: zod.ZodOptional<zod.ZodString>;
6257
6258
  entries: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnion<readonly [zod.ZodBoolean, zod.ZodObject<{
6258
6259
  value: zod.ZodBoolean;
6259
6260
  when: zod.ZodUnion<readonly [zod.ZodObject<{
@@ -6329,7 +6330,6 @@ declare function createConfigApiRouter(deps: ConfigApiDeps): {
6329
6330
  key: zod.ZodType<trilean.JsonValue, unknown, zod_v4_core.$ZodTypeInternals<trilean.JsonValue, unknown>>;
6330
6331
  }, zod_v4_core.$strip>], "kind">]>;
6331
6332
  }, zod_v4_core.$strict>]>>>;
6332
- description: zod.ZodOptional<zod.ZodString>;
6333
6333
  models: zod.ZodOptional<zod.ZodObject<{
6334
6334
  virtual: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnion<readonly [zod.ZodObject<{
6335
6335
  mode: zod.ZodEnum<{
@@ -9255,6 +9255,7 @@ declare function createDoorApiRouter(deps: DoorApiDeps): {
9255
9255
  kind: zod.ZodLiteral<"profile">;
9256
9256
  name: zod.ZodString;
9257
9257
  value: zod.ZodObject<{
9258
+ description: zod.ZodOptional<zod.ZodString>;
9258
9259
  entries: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnion<readonly [zod.ZodBoolean, zod.ZodObject<{
9259
9260
  value: zod.ZodBoolean;
9260
9261
  when: zod.ZodUnion<readonly [zod.ZodObject<{
@@ -9330,7 +9331,6 @@ declare function createDoorApiRouter(deps: DoorApiDeps): {
9330
9331
  key: zod.ZodType<trilean.JsonValue, unknown, zod_v4_core.$ZodTypeInternals<trilean.JsonValue, unknown>>;
9331
9332
  }, zod_v4_core.$strip>], "kind">]>;
9332
9333
  }, zod_v4_core.$strict>]>>>;
9333
- description: zod.ZodOptional<zod.ZodString>;
9334
9334
  models: zod.ZodOptional<zod.ZodObject<{
9335
9335
  virtual: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnion<readonly [zod.ZodObject<{
9336
9336
  mode: zod.ZodEnum<{
@@ -9409,6 +9409,7 @@ declare function createDoorApiRouter(deps: DoorApiDeps): {
9409
9409
  kind: zod.ZodLiteral<"profile">;
9410
9410
  name: zod.ZodString;
9411
9411
  value: zod.ZodObject<{
9412
+ description: zod.ZodOptional<zod.ZodString>;
9412
9413
  entries: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnion<readonly [zod.ZodBoolean, zod.ZodObject<{
9413
9414
  value: zod.ZodBoolean;
9414
9415
  when: zod.ZodUnion<readonly [zod.ZodObject<{
@@ -9484,7 +9485,6 @@ declare function createDoorApiRouter(deps: DoorApiDeps): {
9484
9485
  key: zod.ZodType<trilean.JsonValue, unknown, zod_v4_core.$ZodTypeInternals<trilean.JsonValue, unknown>>;
9485
9486
  }, zod_v4_core.$strip>], "kind">]>;
9486
9487
  }, zod_v4_core.$strict>]>>>;
9487
- description: zod.ZodOptional<zod.ZodString>;
9488
9488
  models: zod.ZodOptional<zod.ZodObject<{
9489
9489
  virtual: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnion<readonly [zod.ZodObject<{
9490
9490
  mode: zod.ZodEnum<{
@@ -11514,6 +11514,7 @@ declare const ConfigProfileAddOutputSchema: z.ZodObject<{
11514
11514
  kind: z.ZodLiteral<"profile">;
11515
11515
  name: z.ZodString;
11516
11516
  value: z.ZodObject<{
11517
+ description: z.ZodOptional<z.ZodString>;
11517
11518
  entries: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
11518
11519
  value: z.ZodBoolean;
11519
11520
  when: z.ZodUnion<readonly [z.ZodObject<{
@@ -11589,7 +11590,6 @@ declare const ConfigProfileAddOutputSchema: z.ZodObject<{
11589
11590
  key: z.ZodType<trilean.JsonValue, unknown, z.core.$ZodTypeInternals<trilean.JsonValue, unknown>>;
11590
11591
  }, z.core.$strip>], "kind">]>;
11591
11592
  }, z.core.$strict>]>>>;
11592
- description: z.ZodOptional<z.ZodString>;
11593
11593
  models: z.ZodOptional<z.ZodObject<{
11594
11594
  virtual: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
11595
11595
  mode: z.ZodEnum<{
@@ -11670,6 +11670,7 @@ declare const ConfigProfileSetOutputSchema: z.ZodObject<{
11670
11670
  kind: z.ZodLiteral<"profile">;
11671
11671
  name: z.ZodString;
11672
11672
  value: z.ZodObject<{
11673
+ description: z.ZodOptional<z.ZodString>;
11673
11674
  entries: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
11674
11675
  value: z.ZodBoolean;
11675
11676
  when: z.ZodUnion<readonly [z.ZodObject<{
@@ -11745,7 +11746,6 @@ declare const ConfigProfileSetOutputSchema: z.ZodObject<{
11745
11746
  key: z.ZodType<trilean.JsonValue, unknown, z.core.$ZodTypeInternals<trilean.JsonValue, unknown>>;
11746
11747
  }, z.core.$strip>], "kind">]>;
11747
11748
  }, z.core.$strict>]>>>;
11748
- description: z.ZodOptional<z.ZodString>;
11749
11749
  models: z.ZodOptional<z.ZodObject<{
11750
11750
  virtual: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
11751
11751
  mode: z.ZodEnum<{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-use",
3
- "version": "11.36.0",
3
+ "version": "11.37.0",
4
4
  "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.",
5
5
  "license": "MIT",
6
6
  "author": "Joseph Mearman <joseph@mearman.co.uk>",