agent-shim 11.12.0 → 11.13.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
@@ -34093,7 +34093,7 @@ var init_package = __esm({
34093
34093
  "package.json"() {
34094
34094
  package_default = {
34095
34095
  name: "agent-shim",
34096
- version: "11.12.0",
34096
+ version: "11.13.0",
34097
34097
  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.",
34098
34098
  license: "MIT",
34099
34099
  author: "Joseph Mearman <joseph@mearman.co.uk>",
@@ -64152,7 +64152,7 @@ function quotaFreshnessMs(quota) {
64152
64152
  const lengths = quota.windows.flatMap((window) => window.periodMs === void 0 ? [] : [window.periodMs]);
64153
64153
  return lengths.length === 0 ? Number.POSITIVE_INFINITY : Math.min(...lengths) / PERCENT3;
64154
64154
  }
64155
- var ProviderQuotaError, MS_PER_SECOND6, SECONDS_PER_HOUR, HOURS_PER_DAY3, DAYS_PER_MONTH, PERCENT3, HTTP_OK, ZAI_SOURCE, ZAI_HOST, ZAI_QUOTA_URL, ZAI_UNIT_HOURS, ZAI_UNIT_MONTHS, ZAI_UNIT_MS, ZAI_MEASURES, ZaiLimitSchema, ZaiResponseSchema, zaiQuotaAdapter, OPENROUTER_SOURCE, OPENROUTER_HOST, OPENROUTER_KEY_URL, OPENROUTER_CREDITS_URL, HTTP_FORBIDDEN, MS_PER_DAY2, OpenRouterKeySchema, OpenRouterCreditsSchema, openRouterQuotaAdapter, ANTIGRAVITY_SOURCE, ANTIGRAVITY_HOST, ANTIGRAVITY_QUOTA_URL, GOOGLE_TOKENINFO_URL, FIVE_HOURS2, DAYS_PER_WEEK, FIVE_HOURS_MS, WEEK_MS, AntigravityBucketSchema, AntigravitySummarySchema, GoogleTokenInfoSchema, ANTIGRAVITY_WINDOW_MS, antigravityQuotaAdapter, PROVIDER_QUOTA_ADAPTERS;
64155
+ var ProviderQuotaError, MS_PER_SECOND6, SECONDS_PER_HOUR, HOURS_PER_DAY3, DAYS_PER_MONTH, PERCENT3, HTTP_OK, ZAI_SOURCE, ZAI_HOST, ZAI_QUOTA_URL, ZAI_UNIT_HOURS, ZAI_UNIT_MONTHS, ZAI_UNIT_MS, ZAI_MEASURES, ZaiLimitSchema, ZaiResponseSchema, zaiQuotaAdapter, OPENROUTER_SOURCE, OPENROUTER_HOST, OPENROUTER_KEY_URL, OPENROUTER_CREDITS_URL, HTTP_FORBIDDEN, MS_PER_DAY2, OpenRouterKeySchema, OpenRouterCreditsSchema, openRouterQuotaAdapter, ANTIGRAVITY_SOURCE, ANTIGRAVITY_HOST, ANTIGRAVITY_QUOTA_URL, ANTIGRAVITY_USER_URL, GOOGLE_TOKENINFO_URL, FIVE_HOURS2, DAYS_PER_WEEK, FIVE_HOURS_MS, WEEK_MS, AntigravityBucketSchema, AntigravitySummarySchema, GoogleTokenInfoSchema, AntigravityUserSchema, ANTIGRAVITY_WINDOW_MS, antigravityQuotaAdapter, PROVIDER_QUOTA_ADAPTERS;
64156
64156
  var init_providerQuota = __esm({
64157
64157
  "src/usage/providerQuota.ts"() {
64158
64158
  "use strict";
@@ -64274,6 +64274,7 @@ var init_providerQuota = __esm({
64274
64274
  ANTIGRAVITY_SOURCE = "Cloud Code";
64275
64275
  ANTIGRAVITY_HOST = "daily-cloudcode-pa.googleapis.com";
64276
64276
  ANTIGRAVITY_QUOTA_URL = `https://${ANTIGRAVITY_HOST}/v1internal:retrieveUserQuotaSummary`;
64277
+ ANTIGRAVITY_USER_URL = `https://${ANTIGRAVITY_HOST}/v1internal:loadCodeAssist`;
64277
64278
  GOOGLE_TOKENINFO_URL = "https://oauth2.googleapis.com/tokeninfo";
64278
64279
  FIVE_HOURS2 = 5;
64279
64280
  DAYS_PER_WEEK = 7;
@@ -64289,6 +64290,12 @@ var init_providerQuota = __esm({
64289
64290
  email: external_exports.string().optional(),
64290
64291
  sub: external_exports.string().optional()
64291
64292
  });
64293
+ AntigravityUserSchema = external_exports.object({
64294
+ /** The code-assist tier context, which defaults to the free tier for every account. */
64295
+ currentTier: external_exports.object({ name: external_exports.string().optional(), id: external_exports.string().optional() }).optional(),
64296
+ /** The account's paid subscription; absent when the account has none. */
64297
+ paidTier: external_exports.object({ name: external_exports.string().optional(), id: external_exports.string().optional() }).optional()
64298
+ });
64292
64299
  ANTIGRAVITY_WINDOW_MS = { "gemini-5h": FIVE_HOURS_MS, "3p-5h": FIVE_HOURS_MS, "gemini-weekly": WEEK_MS, "3p-weekly": WEEK_MS };
64293
64300
  antigravityQuotaAdapter = {
64294
64301
  source: ANTIGRAVITY_SOURCE,
@@ -64320,9 +64327,20 @@ var init_providerQuota = __esm({
64320
64327
  } catch {
64321
64328
  }
64322
64329
  }
64330
+ let level;
64331
+ const userResponse = await http8(ANTIGRAVITY_USER_URL, headers, signal, { method: "POST", body: "{}" });
64332
+ if (userResponse.status === HTTP_OK) {
64333
+ try {
64334
+ const tiers = AntigravityUserSchema.parse(JSON.parse(userResponse.text));
64335
+ const tier = tiers.paidTier ?? tiers.currentTier;
64336
+ level = tier?.name ?? tier?.id;
64337
+ } catch {
64338
+ }
64339
+ }
64323
64340
  return ProviderQuotaSchema.parse({
64324
64341
  observedAt: new Date(nowMs).toISOString(),
64325
64342
  source: ANTIGRAVITY_SOURCE,
64343
+ ...level === void 0 ? {} : { level },
64326
64344
  ...account === void 0 ? {} : { account },
64327
64345
  windows: parsed.data.groups.flatMap(
64328
64346
  (group) => group.buckets.map((bucket) => ({
@@ -133253,6 +133271,7 @@ function registerFrontDoorCommand(program2, deps) {
133253
133271
  var import_node_child_process7 = require("node:child_process");
133254
133272
  init_commandDeps();
133255
133273
  init_realPorts();
133274
+ init_account();
133256
133275
  init_read();
133257
133276
 
133258
133277
  // src/statusline/enrich.ts
@@ -133308,6 +133327,13 @@ function enrichStatuslinePayload(params) {
133308
133327
  identity,
133309
133328
  provider: params.env.AGENT_SHIM_PROVIDER === void 0 || params.env.AGENT_SHIM_PROVIDER === "" ? void 0 : params.env.AGENT_SHIM_PROVIDER,
133310
133329
  providerAccountEmail: void 0,
133330
+ providerAccountSub: void 0,
133331
+ providerPlan: void 0,
133332
+ loginAccountEmail: params.account?.emailAddress,
133333
+ loginRateLimitTier: params.account?.userRateLimitTier ?? params.account?.organizationRateLimitTier,
133334
+ loginOrganizationName: params.account?.organizationName,
133335
+ loginOrganizationType: params.account?.organizationType,
133336
+ loginSeatTier: params.account?.seatTier === "none" ? void 0 : params.account?.seatTier,
133311
133337
  fiveHourUsed: void 0,
133312
133338
  fiveHourResetAt: void 0,
133313
133339
  sevenDayUsed: void 0,
@@ -133318,13 +133344,24 @@ function enrichStatuslinePayload(params) {
133318
133344
  const scopedState = scopedName === void 0 ? void 0 : params.snapshot.providers[scopedName];
133319
133345
  const states = scopedState === void 0 ? Object.values(params.snapshot.providers) : [scopedState];
133320
133346
  let email3;
133347
+ let sub;
133348
+ let plan;
133321
133349
  for (const state of states) {
133322
- const candidate = state.quota?.account?.email;
133323
- if (email3 === void 0 && typeof candidate === "string" && candidate !== "") {
133324
- email3 = candidate;
133350
+ const account = state.quota?.account;
133351
+ const candidateEmail = account?.email;
133352
+ if (email3 === void 0 && typeof candidateEmail === "string" && candidateEmail !== "") {
133353
+ email3 = candidateEmail;
133354
+ }
133355
+ const candidateSub = account?.accountId;
133356
+ if (sub === void 0 && typeof candidateSub === "string" && candidateSub !== "") {
133357
+ sub = candidateSub;
133358
+ }
133359
+ const candidatePlan = state.quota?.level;
133360
+ if (plan === void 0 && typeof candidatePlan === "string" && candidatePlan !== "") {
133361
+ plan = candidatePlan;
133325
133362
  }
133326
133363
  }
133327
- summary = { ...summary, ...windowsOf(states), providerAccountEmail: email3 };
133364
+ summary = { ...summary, ...windowsOf(states), providerAccountEmail: email3, providerAccountSub: sub, providerPlan: plan };
133328
133365
  }
133329
133366
  if (typeof params.payload !== "object" || params.payload === null || Array.isArray(params.payload)) {
133330
133367
  return { payload: params.payload, summary };
@@ -133428,6 +133465,54 @@ function cacheShareText(view) {
133428
133465
  }
133429
133466
  return "";
133430
133467
  }
133468
+ function tierSuffixOf(tier) {
133469
+ const match = /_(\d+x)$/i.exec(tier ?? "");
133470
+ return match === null ? void 0 : match[1];
133471
+ }
133472
+ function accountPlanLabel(summary) {
133473
+ switch (summary.loginOrganizationType) {
133474
+ case void 0:
133475
+ return planLabelOf(summary.loginRateLimitTier);
133476
+ case "claude_max": {
133477
+ const tier = tierSuffixOf(summary.loginRateLimitTier);
133478
+ return tier === void 0 ? "Max" : `Max ${tier}`;
133479
+ }
133480
+ case "claude_pro":
133481
+ return "Pro";
133482
+ case "claude_team":
133483
+ if (summary.loginSeatTier === "team_standard") {
133484
+ return "Team Standard";
133485
+ }
133486
+ if (summary.loginSeatTier === "team_tier_1") {
133487
+ return "Team Premium";
133488
+ }
133489
+ return "Team";
133490
+ case "claude_enterprise":
133491
+ return "Enterprise";
133492
+ default:
133493
+ return summary.loginOrganizationType;
133494
+ }
133495
+ }
133496
+ function planLabelOf(tier) {
133497
+ if (tier === void 0 || tier === "") {
133498
+ return void 0;
133499
+ }
133500
+ const cleaned = tier.startsWith("default_") ? tier.slice("default_".length) : tier;
133501
+ if (cleaned === "free") {
133502
+ return "Free";
133503
+ }
133504
+ const maxWithMultiplier = /^claude_max_(\d+)x$/.exec(cleaned);
133505
+ if (maxWithMultiplier !== null) {
133506
+ return `Max ${maxWithMultiplier[1] ?? ""}x`;
133507
+ }
133508
+ if (cleaned === "claude_max") {
133509
+ return "Max";
133510
+ }
133511
+ if (cleaned === "claude_pro") {
133512
+ return "Pro";
133513
+ }
133514
+ return cleaned;
133515
+ }
133431
133516
  function secondsUntil(resetAt, nowMs) {
133432
133517
  if (resetAt === void 0) {
133433
133518
  return void 0;
@@ -133482,6 +133567,56 @@ function renderLineWithExtra(segments, maxWidth, separator, baseBarWidth) {
133482
133567
  }
133483
133568
  return segments.map((segment) => segment.render(baseBarWidth + (extraById.get(segment) ?? 0))).join(separator);
133484
133569
  }
133570
+ function justifySegments(segments, maxWidth, separator, baseBarWidth) {
133571
+ const rendered = segments.map((segment) => segment.render(baseBarWidth));
133572
+ if (segments.length < 2) {
133573
+ return rendered.join(separator);
133574
+ }
133575
+ const separatorLength = visibleLength(separator);
133576
+ const total = segments.reduce((sum, segment) => sum + segment.baseLength(baseBarWidth), 0) + separatorLength * (segments.length - 1);
133577
+ const spare = maxWidth - total;
133578
+ if (spare <= 0) {
133579
+ return rendered.join(separator);
133580
+ }
133581
+ const gaps = segments.length - 1;
133582
+ const extraPerGap = Math.floor(spare / gaps);
133583
+ let remainder = spare % gaps;
133584
+ const parts = [];
133585
+ segments.forEach((_, index) => {
133586
+ if (index > 0) {
133587
+ const extra = extraPerGap + (remainder > 0 ? 1 : 0);
133588
+ if (remainder > 0) {
133589
+ remainder -= 1;
133590
+ }
133591
+ const left = Math.floor(extra / 2);
133592
+ parts.push(`${" ".repeat(left + 1)}|${" ".repeat(extra - left + 1)}`);
133593
+ }
133594
+ parts.push(rendered[index] ?? "");
133595
+ });
133596
+ return parts.join("");
133597
+ }
133598
+ function packSegments(segments, maxWidth, separator, baseBarWidth, fillWrapped) {
133599
+ const separatorLength = visibleLength(separator);
133600
+ const lines = [];
133601
+ let current = [];
133602
+ let currentWidth = 0;
133603
+ for (const segment of segments) {
133604
+ const width = segment.baseLength(baseBarWidth);
133605
+ const added = current.length === 0 ? width : width + separatorLength;
133606
+ if (current.length > 0 && currentWidth + added > maxWidth) {
133607
+ lines.push(current);
133608
+ current = [segment];
133609
+ currentWidth = width;
133610
+ } else {
133611
+ current.push(segment);
133612
+ currentWidth += added;
133613
+ }
133614
+ }
133615
+ if (current.length > 0) {
133616
+ lines.push(current);
133617
+ }
133618
+ return lines.map((line) => fillWrapped ? renderLineWithExtra(line, maxWidth, separator, baseBarWidth) : justifySegments(line, maxWidth, separator, baseBarWidth));
133619
+ }
133485
133620
  function layoutGrouped(group1, group2, maxWidth, fillMode, separator, baseBarWidth) {
133486
133621
  const separatorLength = visibleLength(separator);
133487
133622
  const allSegments = [...group1, ...group2];
@@ -133495,7 +133630,7 @@ function layoutGrouped(group1, group2, maxWidth, fillMode, separator, baseBarWid
133495
133630
  if (fillUnwrapped) {
133496
133631
  return renderLineWithExtra(allSegments, maxWidth, separator, baseBarWidth);
133497
133632
  }
133498
- return allSegments.map((segment) => segment.render(baseBarWidth)).join(separator);
133633
+ return justifySegments(allSegments, maxWidth, separator, baseBarWidth);
133499
133634
  }
133500
133635
  const lines = [group1, group2].map((group) => {
133501
133636
  if (group.length === 0) {
@@ -133505,7 +133640,7 @@ function layoutGrouped(group1, group2, maxWidth, fillMode, separator, baseBarWid
133505
133640
  if (groupBase <= maxWidth) {
133506
133641
  return fillWrapped ? renderLineWithExtra(group, maxWidth, separator, baseBarWidth) : group.map((segment) => segment.render(baseBarWidth)).join(separator);
133507
133642
  }
133508
- return group.map((segment) => fillWrapped ? renderLineWithExtra([segment], maxWidth, separator, baseBarWidth) : segment.render(baseBarWidth)).join("\n");
133643
+ return packSegments(group, maxWidth, separator, baseBarWidth, fillWrapped).join("\n");
133509
133644
  });
133510
133645
  return lines.filter((line) => line !== "").join("\n");
133511
133646
  }
@@ -133514,6 +133649,21 @@ function renderStatuslineBlock(summary, view, terminalWidth, nowMs) {
133514
133649
  if (view.modelDisplayName !== void 0 && view.modelDisplayName !== "") {
133515
133650
  header.push(new Segment("static", view.modelDisplayName));
133516
133651
  }
133652
+ if (summary.provider !== void 0) {
133653
+ const account = [summary.providerAccountEmail, summary.providerPlan].filter((part) => part !== void 0);
133654
+ header.push(new Segment("static", account.length > 0 ? `${summary.provider} \xB7 ${account.join(" \xB7 ")}` : summary.provider));
133655
+ }
133656
+ const loginPlan = summary.provider === void 0 ? accountPlanLabel(summary) : void 0;
133657
+ const loginOrgName = summary.loginOrganizationType === "claude_team" || summary.loginOrganizationType === "claude_enterprise" ? summary.loginOrganizationName : void 0;
133658
+ const loginParts = [summary.loginAccountEmail, loginOrgName, loginPlan].filter((part) => part !== void 0);
133659
+ if (summary.loginAccountEmail !== void 0 && summary.loginAccountEmail !== summary.providerAccountEmail) {
133660
+ header.push(new Segment("static", loginParts.join(" \xB7 ")));
133661
+ } else if (summary.provider === void 0 && loginParts.length > 0) {
133662
+ header.push(new Segment("static", loginParts.join(" \xB7 ")));
133663
+ }
133664
+ if (summary.identity !== void 0 && summary.provider !== void 0 && summary.identity !== summary.providerAccountEmail && summary.identity !== summary.loginAccountEmail) {
133665
+ header.push(new Segment("static", summary.identity));
133666
+ }
133517
133667
  const contextGroup = [];
133518
133668
  if (view.contextUsedPercentage !== void 0) {
133519
133669
  const fraction = Math.max(0, Math.min(1, view.contextUsedPercentage / FULL_PERCENT2));
@@ -133534,13 +133684,10 @@ function renderStatuslineBlock(summary, view, terminalWidth, nowMs) {
133534
133684
  const color = statusColor(fraction, true);
133535
133685
  quotaGroup.push(new Segment("bar", "", "Wk ", ` ${color}${summary.sevenDayUsed.toFixed(1)}%${RESET} (${formatDuration(secondsUntil(summary.sevenDayResetAt, nowMs))})`, fraction, true));
133536
133686
  }
133537
- if (summary.provider !== void 0) {
133538
- quotaGroup.push(new Segment("static", summary.providerAccountEmail === void 0 ? summary.provider : `${summary.provider} \xB7 ${summary.providerAccountEmail}`));
133539
- }
133540
133687
  const width = Math.max(TWENTY, terminalWidth - RESERVED_COLUMNS);
133541
133688
  const lines = [];
133542
133689
  if (header.length > 0) {
133543
- lines.push(header.map((segment) => segment.render(BAR_WIDTH)).join(SEPARATOR2));
133690
+ lines.push(layoutGrouped(header, [], width, "never", SEPARATOR2, BAR_WIDTH));
133544
133691
  }
133545
133692
  const body = layoutGrouped(contextGroup, quotaGroup, width, "always", SEPARATOR2, BAR_WIDTH);
133546
133693
  if (body !== "") {
@@ -133599,14 +133746,20 @@ function registerStatuslineCommand(program2, deps) {
133599
133746
  }
133600
133747
  const identity = identityOf(process.env);
133601
133748
  let snapshot;
133749
+ let account;
133602
133750
  if (identity !== void 0) {
133603
133751
  try {
133604
133752
  snapshot = readUsageSnapshot(realFarmFs, deps.paths.usageSnapshotsDir, identity);
133605
133753
  } catch {
133606
133754
  snapshot = void 0;
133607
133755
  }
133756
+ try {
133757
+ account = readAccountMetadata(realFarmFs, deps.paths.identitiesDir, identity);
133758
+ } catch {
133759
+ account = void 0;
133760
+ }
133608
133761
  }
133609
- const { payload: enriched, summary } = enrichStatuslinePayload({ payload, env: process.env, snapshot });
133762
+ const { payload: enriched, summary } = enrichStatuslinePayload({ payload, env: process.env, snapshot, account });
133610
133763
  const renderer = process.env.AGENT_SHIM_STATUSLINE_CMD;
133611
133764
  if (renderer !== void 0 && renderer !== "") {
133612
133765
  const child = (0, import_node_child_process7.spawn)("/bin/sh", ["-c", renderer], { stdio: ["pipe", "inherit", "inherit"] });
package/dist/index.cjs CHANGED
@@ -2841,7 +2841,7 @@ var init_package = __esm({
2841
2841
  "package.json"() {
2842
2842
  package_default = {
2843
2843
  name: "agent-shim",
2844
- version: "11.12.0",
2844
+ version: "11.13.0",
2845
2845
  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.",
2846
2846
  license: "MIT",
2847
2847
  author: "Joseph Mearman <joseph@mearman.co.uk>",
@@ -8724,7 +8724,7 @@ var init_cloudUpstream = __esm({
8724
8724
  });
8725
8725
 
8726
8726
  // src/usage/providerQuota.ts
8727
- var import_zod29, MS_PER_SECOND7, SECONDS_PER_HOUR, HOURS_PER_DAY4, 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, FIVE_HOURS2, DAYS_PER_WEEK, FIVE_HOURS_MS, WEEK_MS, AntigravityBucketSchema, AntigravitySummarySchema, GoogleTokenInfoSchema;
8727
+ var import_zod29, MS_PER_SECOND7, SECONDS_PER_HOUR, HOURS_PER_DAY4, 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_WEEK, FIVE_HOURS_MS, WEEK_MS, AntigravityBucketSchema, AntigravitySummarySchema, GoogleTokenInfoSchema, AntigravityUserSchema;
8728
8728
  var init_providerQuota = __esm({
8729
8729
  "src/usage/providerQuota.ts"() {
8730
8730
  "use strict";
@@ -8774,6 +8774,7 @@ var init_providerQuota = __esm({
8774
8774
  OpenRouterCreditsSchema = import_zod29.z.object({ data: import_zod29.z.object({ total_credits: import_zod29.z.number().nonnegative(), total_usage: import_zod29.z.number().nonnegative() }) });
8775
8775
  ANTIGRAVITY_HOST = "daily-cloudcode-pa.googleapis.com";
8776
8776
  ANTIGRAVITY_QUOTA_URL = `https://${ANTIGRAVITY_HOST}/v1internal:retrieveUserQuotaSummary`;
8777
+ ANTIGRAVITY_USER_URL = `https://${ANTIGRAVITY_HOST}/v1internal:loadCodeAssist`;
8777
8778
  FIVE_HOURS2 = 5;
8778
8779
  DAYS_PER_WEEK = 7;
8779
8780
  FIVE_HOURS_MS = FIVE_HOURS2 * SECONDS_PER_HOUR * MS_PER_SECOND7;
@@ -8788,6 +8789,12 @@ var init_providerQuota = __esm({
8788
8789
  email: import_zod29.z.string().optional(),
8789
8790
  sub: import_zod29.z.string().optional()
8790
8791
  });
8792
+ AntigravityUserSchema = import_zod29.z.object({
8793
+ /** The code-assist tier context, which defaults to the free tier for every account. */
8794
+ currentTier: import_zod29.z.object({ name: import_zod29.z.string().optional(), id: import_zod29.z.string().optional() }).optional(),
8795
+ /** The account's paid subscription; absent when the account has none. */
8796
+ paidTier: import_zod29.z.object({ name: import_zod29.z.string().optional(), id: import_zod29.z.string().optional() }).optional()
8797
+ });
8791
8798
  }
8792
8799
  });
8793
8800
 
package/dist/index.mjs CHANGED
@@ -2817,7 +2817,7 @@ var init_package = __esm({
2817
2817
  "package.json"() {
2818
2818
  package_default = {
2819
2819
  name: "agent-shim",
2820
- version: "11.12.0",
2820
+ version: "11.13.0",
2821
2821
  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.",
2822
2822
  license: "MIT",
2823
2823
  author: "Joseph Mearman <joseph@mearman.co.uk>",
@@ -8696,7 +8696,7 @@ var init_cloudUpstream = __esm({
8696
8696
 
8697
8697
  // src/usage/providerQuota.ts
8698
8698
  import { z as z29 } from "zod";
8699
- var MS_PER_SECOND7, SECONDS_PER_HOUR, HOURS_PER_DAY4, 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, FIVE_HOURS2, DAYS_PER_WEEK, FIVE_HOURS_MS, WEEK_MS, AntigravityBucketSchema, AntigravitySummarySchema, GoogleTokenInfoSchema;
8699
+ var MS_PER_SECOND7, SECONDS_PER_HOUR, HOURS_PER_DAY4, 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_WEEK, FIVE_HOURS_MS, WEEK_MS, AntigravityBucketSchema, AntigravitySummarySchema, GoogleTokenInfoSchema, AntigravityUserSchema;
8700
8700
  var init_providerQuota = __esm({
8701
8701
  "src/usage/providerQuota.ts"() {
8702
8702
  "use strict";
@@ -8745,6 +8745,7 @@ var init_providerQuota = __esm({
8745
8745
  OpenRouterCreditsSchema = z29.object({ data: z29.object({ total_credits: z29.number().nonnegative(), total_usage: z29.number().nonnegative() }) });
8746
8746
  ANTIGRAVITY_HOST = "daily-cloudcode-pa.googleapis.com";
8747
8747
  ANTIGRAVITY_QUOTA_URL = `https://${ANTIGRAVITY_HOST}/v1internal:retrieveUserQuotaSummary`;
8748
+ ANTIGRAVITY_USER_URL = `https://${ANTIGRAVITY_HOST}/v1internal:loadCodeAssist`;
8748
8749
  FIVE_HOURS2 = 5;
8749
8750
  DAYS_PER_WEEK = 7;
8750
8751
  FIVE_HOURS_MS = FIVE_HOURS2 * SECONDS_PER_HOUR * MS_PER_SECOND7;
@@ -8759,6 +8760,12 @@ var init_providerQuota = __esm({
8759
8760
  email: z29.string().optional(),
8760
8761
  sub: z29.string().optional()
8761
8762
  });
8763
+ AntigravityUserSchema = z29.object({
8764
+ /** The code-assist tier context, which defaults to the free tier for every account. */
8765
+ currentTier: z29.object({ name: z29.string().optional(), id: z29.string().optional() }).optional(),
8766
+ /** The account's paid subscription; absent when the account has none. */
8767
+ paidTier: z29.object({ name: z29.string().optional(), id: z29.string().optional() }).optional()
8768
+ });
8762
8769
  }
8763
8770
  });
8764
8771
 
@@ -366,8 +366,8 @@ declare const CredentialSchema: z.ZodObject<{
366
366
  literal: z.ZodString;
367
367
  }, z.core.$strict>]>>;
368
368
  target: z.ZodOptional<z.ZodEnum<{
369
- apiKey: "apiKey";
370
369
  bearer: "bearer";
370
+ apiKey: "apiKey";
371
371
  oauthToken: "oauthToken";
372
372
  }>>;
373
373
  cache: z.ZodOptional<z.ZodObject<{
@@ -475,8 +475,8 @@ declare const ProviderSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
475
475
  }>>;
476
476
  }, z.core.$strict>>;
477
477
  target: z.ZodOptional<z.ZodEnum<{
478
- apiKey: "apiKey";
479
478
  bearer: "bearer";
479
+ apiKey: "apiKey";
480
480
  }>>;
481
481
  }, z.core.$strict>;
482
482
  env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
@@ -591,8 +591,8 @@ declare const ProviderSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
591
591
  }>>;
592
592
  }, z.core.$strict>>;
593
593
  target: z.ZodOptional<z.ZodEnum<{
594
- apiKey: "apiKey";
595
594
  bearer: "bearer";
595
+ apiKey: "apiKey";
596
596
  }>>;
597
597
  }, z.core.$strict>;
598
598
  env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
@@ -650,8 +650,8 @@ declare const ProviderSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
650
650
  }>>;
651
651
  }, z.core.$strict>>;
652
652
  target: z.ZodOptional<z.ZodEnum<{
653
- apiKey: "apiKey";
654
653
  bearer: "bearer";
654
+ apiKey: "apiKey";
655
655
  }>>;
656
656
  }, z.core.$strict>;
657
657
  env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
@@ -1733,8 +1733,8 @@ declare const IdentitySchema: z.ZodObject<{
1733
1733
  literal: z.ZodString;
1734
1734
  }, z.core.$strict>]>>;
1735
1735
  target: z.ZodOptional<z.ZodEnum<{
1736
- apiKey: "apiKey";
1737
1736
  bearer: "bearer";
1737
+ apiKey: "apiKey";
1738
1738
  oauthToken: "oauthToken";
1739
1739
  }>>;
1740
1740
  cache: z.ZodOptional<z.ZodObject<{
@@ -4431,8 +4431,8 @@ declare const CheckReportJsonSchema: z.ZodObject<{
4431
4431
  name: z.ZodString;
4432
4432
  credential: z.ZodObject<{
4433
4433
  target: z.ZodEnum<{
4434
- apiKey: "apiKey";
4435
4434
  bearer: "bearer";
4435
+ apiKey: "apiKey";
4436
4436
  oauthToken: "oauthToken";
4437
4437
  }>;
4438
4438
  sources: z.ZodReadonly<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
@@ -4493,8 +4493,8 @@ declare const CheckReportJsonSchema: z.ZodObject<{
4493
4493
  }, z.core.$strict>]>>;
4494
4494
  identity: z.ZodOptional<z.ZodObject<{
4495
4495
  target: z.ZodEnum<{
4496
- apiKey: "apiKey";
4497
4496
  bearer: "bearer";
4497
+ apiKey: "apiKey";
4498
4498
  oauthToken: "oauthToken";
4499
4499
  }>;
4500
4500
  sources: z.ZodReadonly<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
@@ -5609,8 +5609,8 @@ declare function createConfigApiRouter(deps: ConfigApiDeps): {
5609
5609
  allowAmbientCredential: zod.ZodBoolean;
5610
5610
  credential: zod.ZodOptional<zod.ZodObject<{
5611
5611
  target: zod.ZodEnum<{
5612
- apiKey: "apiKey";
5613
5612
  bearer: "bearer";
5613
+ apiKey: "apiKey";
5614
5614
  oauthToken: "oauthToken";
5615
5615
  }>;
5616
5616
  sources: zod.ZodReadonly<zod.ZodArray<zod.ZodDiscriminatedUnion<[zod.ZodObject<{
@@ -5679,8 +5679,8 @@ declare function createConfigApiRouter(deps: ConfigApiDeps): {
5679
5679
  literal: zod.ZodString;
5680
5680
  }, zod_v4_core.$strict>]>>>;
5681
5681
  target: zod.ZodOptional<zod.ZodEnum<{
5682
- apiKey: "apiKey";
5683
5682
  bearer: "bearer";
5683
+ apiKey: "apiKey";
5684
5684
  oauthToken: "oauthToken";
5685
5685
  }>>;
5686
5686
  cache: zod.ZodOptional<zod.ZodUnion<readonly [zod.ZodLiteral<false>, zod.ZodObject<{
@@ -5714,8 +5714,8 @@ declare function createConfigApiRouter(deps: ConfigApiDeps): {
5714
5714
  allowAmbientCredential: zod.ZodBoolean;
5715
5715
  credential: zod.ZodOptional<zod.ZodObject<{
5716
5716
  target: zod.ZodEnum<{
5717
- apiKey: "apiKey";
5718
5717
  bearer: "bearer";
5718
+ apiKey: "apiKey";
5719
5719
  oauthToken: "oauthToken";
5720
5720
  }>;
5721
5721
  sources: zod.ZodReadonly<zod.ZodArray<zod.ZodDiscriminatedUnion<[zod.ZodObject<{
@@ -6254,8 +6254,8 @@ declare function createConfigApiRouter(deps: ConfigApiDeps): {
6254
6254
  literal: zod.ZodString;
6255
6255
  }, zod_v4_core.$strict>]>>>>;
6256
6256
  target: zod.ZodOptional<zod.ZodEnum<{
6257
- apiKey: "apiKey";
6258
6257
  bearer: "bearer";
6258
+ apiKey: "apiKey";
6259
6259
  }>>;
6260
6260
  cache: zod.ZodOptional<zod.ZodUnion<readonly [zod.ZodLiteral<false>, zod.ZodObject<{
6261
6261
  ttl: zod.ZodOptional<zod.ZodString>;
@@ -6318,8 +6318,8 @@ declare function createConfigApiRouter(deps: ConfigApiDeps): {
6318
6318
  }, zod_v4_core.$strict>>;
6319
6319
  credential: zod.ZodObject<{
6320
6320
  target: zod.ZodEnum<{
6321
- apiKey: "apiKey";
6322
6321
  bearer: "bearer";
6322
+ apiKey: "apiKey";
6323
6323
  oauthToken: "oauthToken";
6324
6324
  }>;
6325
6325
  sources: zod.ZodReadonly<zod.ZodArray<zod.ZodDiscriminatedUnion<[zod.ZodObject<{
@@ -6376,8 +6376,8 @@ declare function createConfigApiRouter(deps: ConfigApiDeps): {
6376
6376
  literal: zod.ZodString;
6377
6377
  }, zod_v4_core.$strict>]>>>;
6378
6378
  target: zod.ZodOptional<zod.ZodEnum<{
6379
- apiKey: "apiKey";
6380
6379
  bearer: "bearer";
6380
+ apiKey: "apiKey";
6381
6381
  }>>;
6382
6382
  cache: zod.ZodOptional<zod.ZodUnion<readonly [zod.ZodLiteral<false>, zod.ZodObject<{
6383
6383
  ttl: zod.ZodOptional<zod.ZodString>;
@@ -6440,8 +6440,8 @@ declare function createConfigApiRouter(deps: ConfigApiDeps): {
6440
6440
  }, zod_v4_core.$strict>>;
6441
6441
  credential: zod.ZodObject<{
6442
6442
  target: zod.ZodEnum<{
6443
- apiKey: "apiKey";
6444
6443
  bearer: "bearer";
6444
+ apiKey: "apiKey";
6445
6445
  oauthToken: "oauthToken";
6446
6446
  }>;
6447
6447
  sources: zod.ZodReadonly<zod.ZodArray<zod.ZodDiscriminatedUnion<[zod.ZodObject<{
@@ -7376,8 +7376,8 @@ declare function createLaunchApiRouter(deps: LaunchApiDeps): {
7376
7376
  name: zod.ZodString;
7377
7377
  summary: zod.ZodObject<{
7378
7378
  target: zod.ZodEnum<{
7379
- apiKey: "apiKey";
7380
7379
  bearer: "bearer";
7380
+ apiKey: "apiKey";
7381
7381
  oauthToken: "oauthToken";
7382
7382
  }>;
7383
7383
  sources: zod.ZodReadonly<zod.ZodArray<zod.ZodUnion<readonly [zod.ZodObject<{
@@ -8092,8 +8092,8 @@ declare function createControlApiRouter(deps: ControlApiDeps): {
8092
8092
  name: zod.ZodString;
8093
8093
  credential: zod.ZodObject<{
8094
8094
  target: zod.ZodEnum<{
8095
- apiKey: "apiKey";
8096
8095
  bearer: "bearer";
8096
+ apiKey: "apiKey";
8097
8097
  oauthToken: "oauthToken";
8098
8098
  }>;
8099
8099
  sources: zod.ZodReadonly<zod.ZodArray<zod.ZodUnion<readonly [zod.ZodObject<{
@@ -8154,8 +8154,8 @@ declare function createControlApiRouter(deps: ControlApiDeps): {
8154
8154
  }, zod_v4_core.$strict>]>>;
8155
8155
  identity: zod.ZodOptional<zod.ZodObject<{
8156
8156
  target: zod.ZodEnum<{
8157
- apiKey: "apiKey";
8158
8157
  bearer: "bearer";
8158
+ apiKey: "apiKey";
8159
8159
  oauthToken: "oauthToken";
8160
8160
  }>;
8161
8161
  sources: zod.ZodReadonly<zod.ZodArray<zod.ZodUnion<readonly [zod.ZodObject<{
@@ -8492,8 +8492,8 @@ declare function createDoorApiRouter(deps: DoorApiDeps): {
8492
8492
  name: zod.ZodString;
8493
8493
  summary: zod.ZodObject<{
8494
8494
  target: zod.ZodEnum<{
8495
- apiKey: "apiKey";
8496
8495
  bearer: "bearer";
8496
+ apiKey: "apiKey";
8497
8497
  oauthToken: "oauthToken";
8498
8498
  }>;
8499
8499
  sources: zod.ZodReadonly<zod.ZodArray<zod.ZodUnion<readonly [zod.ZodObject<{
@@ -8566,8 +8566,8 @@ declare function createDoorApiRouter(deps: DoorApiDeps): {
8566
8566
  allowAmbientCredential: zod.ZodBoolean;
8567
8567
  credential: zod.ZodOptional<zod.ZodObject<{
8568
8568
  target: zod.ZodEnum<{
8569
- apiKey: "apiKey";
8570
8569
  bearer: "bearer";
8570
+ apiKey: "apiKey";
8571
8571
  oauthToken: "oauthToken";
8572
8572
  }>;
8573
8573
  sources: zod.ZodReadonly<zod.ZodArray<zod.ZodDiscriminatedUnion<[zod.ZodObject<{
@@ -8636,8 +8636,8 @@ declare function createDoorApiRouter(deps: DoorApiDeps): {
8636
8636
  literal: zod.ZodString;
8637
8637
  }, zod_v4_core.$strict>]>>>;
8638
8638
  target: zod.ZodOptional<zod.ZodEnum<{
8639
- apiKey: "apiKey";
8640
8639
  bearer: "bearer";
8640
+ apiKey: "apiKey";
8641
8641
  oauthToken: "oauthToken";
8642
8642
  }>>;
8643
8643
  cache: zod.ZodOptional<zod.ZodUnion<readonly [zod.ZodLiteral<false>, zod.ZodObject<{
@@ -8671,8 +8671,8 @@ declare function createDoorApiRouter(deps: DoorApiDeps): {
8671
8671
  allowAmbientCredential: zod.ZodBoolean;
8672
8672
  credential: zod.ZodOptional<zod.ZodObject<{
8673
8673
  target: zod.ZodEnum<{
8674
- apiKey: "apiKey";
8675
8674
  bearer: "bearer";
8675
+ apiKey: "apiKey";
8676
8676
  oauthToken: "oauthToken";
8677
8677
  }>;
8678
8678
  sources: zod.ZodReadonly<zod.ZodArray<zod.ZodDiscriminatedUnion<[zod.ZodObject<{
@@ -9211,8 +9211,8 @@ declare function createDoorApiRouter(deps: DoorApiDeps): {
9211
9211
  literal: zod.ZodString;
9212
9212
  }, zod_v4_core.$strict>]>>>>;
9213
9213
  target: zod.ZodOptional<zod.ZodEnum<{
9214
- apiKey: "apiKey";
9215
9214
  bearer: "bearer";
9215
+ apiKey: "apiKey";
9216
9216
  }>>;
9217
9217
  cache: zod.ZodOptional<zod.ZodUnion<readonly [zod.ZodLiteral<false>, zod.ZodObject<{
9218
9218
  ttl: zod.ZodOptional<zod.ZodString>;
@@ -9275,8 +9275,8 @@ declare function createDoorApiRouter(deps: DoorApiDeps): {
9275
9275
  }, zod_v4_core.$strict>>;
9276
9276
  credential: zod.ZodObject<{
9277
9277
  target: zod.ZodEnum<{
9278
- apiKey: "apiKey";
9279
9278
  bearer: "bearer";
9279
+ apiKey: "apiKey";
9280
9280
  oauthToken: "oauthToken";
9281
9281
  }>;
9282
9282
  sources: zod.ZodReadonly<zod.ZodArray<zod.ZodDiscriminatedUnion<[zod.ZodObject<{
@@ -9333,8 +9333,8 @@ declare function createDoorApiRouter(deps: DoorApiDeps): {
9333
9333
  literal: zod.ZodString;
9334
9334
  }, zod_v4_core.$strict>]>>>;
9335
9335
  target: zod.ZodOptional<zod.ZodEnum<{
9336
- apiKey: "apiKey";
9337
9336
  bearer: "bearer";
9337
+ apiKey: "apiKey";
9338
9338
  }>>;
9339
9339
  cache: zod.ZodOptional<zod.ZodUnion<readonly [zod.ZodLiteral<false>, zod.ZodObject<{
9340
9340
  ttl: zod.ZodOptional<zod.ZodString>;
@@ -9397,8 +9397,8 @@ declare function createDoorApiRouter(deps: DoorApiDeps): {
9397
9397
  }, zod_v4_core.$strict>>;
9398
9398
  credential: zod.ZodObject<{
9399
9399
  target: zod.ZodEnum<{
9400
- apiKey: "apiKey";
9401
9400
  bearer: "bearer";
9401
+ apiKey: "apiKey";
9402
9402
  oauthToken: "oauthToken";
9403
9403
  }>;
9404
9404
  sources: zod.ZodReadonly<zod.ZodArray<zod.ZodDiscriminatedUnion<[zod.ZodObject<{
@@ -10193,8 +10193,8 @@ declare function createDoorApiRouter(deps: DoorApiDeps): {
10193
10193
  name: zod.ZodString;
10194
10194
  credential: zod.ZodObject<{
10195
10195
  target: zod.ZodEnum<{
10196
- apiKey: "apiKey";
10197
10196
  bearer: "bearer";
10197
+ apiKey: "apiKey";
10198
10198
  oauthToken: "oauthToken";
10199
10199
  }>;
10200
10200
  sources: zod.ZodReadonly<zod.ZodArray<zod.ZodUnion<readonly [zod.ZodObject<{
@@ -10255,8 +10255,8 @@ declare function createDoorApiRouter(deps: DoorApiDeps): {
10255
10255
  }, zod_v4_core.$strict>]>>;
10256
10256
  identity: zod.ZodOptional<zod.ZodObject<{
10257
10257
  target: zod.ZodEnum<{
10258
- apiKey: "apiKey";
10259
10258
  bearer: "bearer";
10259
+ apiKey: "apiKey";
10260
10260
  oauthToken: "oauthToken";
10261
10261
  }>;
10262
10262
  sources: zod.ZodReadonly<zod.ZodArray<zod.ZodUnion<readonly [zod.ZodObject<{
@@ -10636,8 +10636,8 @@ declare function frontDoorApiFromState(paths: LayoutPaths, fsPort?: HeadroomFs):
10636
10636
  /** A credential block as every response reports it: the effective target, each source's kind and its identifying detail, in order, and the cache setting. Never a value: a `literal` source reports only its kind. */
10637
10637
  declare const CredentialSummarySchema: z.ZodObject<{
10638
10638
  target: z.ZodEnum<{
10639
- apiKey: "apiKey";
10640
10639
  bearer: "bearer";
10640
+ apiKey: "apiKey";
10641
10641
  oauthToken: "oauthToken";
10642
10642
  }>;
10643
10643
  sources: z.ZodReadonly<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -10681,8 +10681,8 @@ declare const ConfigIdentityAddOutputSchema: z.ZodObject<{
10681
10681
  allowAmbientCredential: z.ZodBoolean;
10682
10682
  credential: z.ZodOptional<z.ZodObject<{
10683
10683
  target: z.ZodEnum<{
10684
- apiKey: "apiKey";
10685
10684
  bearer: "bearer";
10685
+ apiKey: "apiKey";
10686
10686
  oauthToken: "oauthToken";
10687
10687
  }>;
10688
10688
  sources: z.ZodReadonly<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -10752,8 +10752,8 @@ declare const ConfigIdentitySetInputSchema: z.ZodObject<{
10752
10752
  literal: z.ZodString;
10753
10753
  }, z.core.$strict>]>>>;
10754
10754
  target: z.ZodOptional<z.ZodEnum<{
10755
- apiKey: "apiKey";
10756
10755
  bearer: "bearer";
10756
+ apiKey: "apiKey";
10757
10757
  oauthToken: "oauthToken";
10758
10758
  }>>;
10759
10759
  cache: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodObject<{
@@ -10788,8 +10788,8 @@ declare const ConfigIdentitySetOutputSchema: z.ZodObject<{
10788
10788
  allowAmbientCredential: z.ZodBoolean;
10789
10789
  credential: z.ZodOptional<z.ZodObject<{
10790
10790
  target: z.ZodEnum<{
10791
- apiKey: "apiKey";
10792
10791
  bearer: "bearer";
10792
+ apiKey: "apiKey";
10793
10793
  oauthToken: "oauthToken";
10794
10794
  }>;
10795
10795
  sources: z.ZodReadonly<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -11326,8 +11326,8 @@ declare const ConfigProviderAddInputSchema: z.ZodObject<{
11326
11326
  literal: z.ZodString;
11327
11327
  }, z.core.$strict>]>>>>;
11328
11328
  target: z.ZodOptional<z.ZodEnum<{
11329
- apiKey: "apiKey";
11330
11329
  bearer: "bearer";
11330
+ apiKey: "apiKey";
11331
11331
  }>>;
11332
11332
  cache: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodObject<{
11333
11333
  ttl: z.ZodOptional<z.ZodString>;
@@ -11391,8 +11391,8 @@ declare const ConfigProviderAddOutputSchema: z.ZodObject<{
11391
11391
  }, z.core.$strict>>;
11392
11392
  credential: z.ZodObject<{
11393
11393
  target: z.ZodEnum<{
11394
- apiKey: "apiKey";
11395
11394
  bearer: "bearer";
11395
+ apiKey: "apiKey";
11396
11396
  oauthToken: "oauthToken";
11397
11397
  }>;
11398
11398
  sources: z.ZodReadonly<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -11450,8 +11450,8 @@ declare const ConfigProviderSetInputSchema: z.ZodObject<{
11450
11450
  literal: z.ZodString;
11451
11451
  }, z.core.$strict>]>>>;
11452
11452
  target: z.ZodOptional<z.ZodEnum<{
11453
- apiKey: "apiKey";
11454
11453
  bearer: "bearer";
11454
+ apiKey: "apiKey";
11455
11455
  }>>;
11456
11456
  cache: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<false>, z.ZodObject<{
11457
11457
  ttl: z.ZodOptional<z.ZodString>;
@@ -11515,8 +11515,8 @@ declare const ConfigProviderSetOutputSchema: z.ZodObject<{
11515
11515
  }, z.core.$strict>>;
11516
11516
  credential: z.ZodObject<{
11517
11517
  target: z.ZodEnum<{
11518
- apiKey: "apiKey";
11519
11518
  bearer: "bearer";
11519
+ apiKey: "apiKey";
11520
11520
  oauthToken: "oauthToken";
11521
11521
  }>;
11522
11522
  sources: z.ZodReadonly<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -12357,8 +12357,8 @@ declare const LaunchResolveOutputSchema: z.ZodObject<{
12357
12357
  name: z.ZodString;
12358
12358
  summary: z.ZodObject<{
12359
12359
  target: z.ZodEnum<{
12360
- apiKey: "apiKey";
12361
12360
  bearer: "bearer";
12361
+ apiKey: "apiKey";
12362
12362
  oauthToken: "oauthToken";
12363
12363
  }>;
12364
12364
  sources: z.ZodReadonly<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-shim",
3
- "version": "11.12.0",
3
+ "version": "11.13.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>",