claude-use 8.36.0 → 8.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
@@ -60943,6 +60943,10 @@ function resolversOf(context) {
60943
60943
  ...pool?.lastPickHoursAgo === void 0 ? {} : { "session.lastPickHoursAgo": pool.lastPickHoursAgo },
60944
60944
  ...context.request?.model === void 0 ? {} : { "request.model": context.request.model },
60945
60945
  ...context.request?.hasImage === void 0 ? {} : { "request.hasImage": context.request.hasImage },
60946
+ ...context.request?.toolsPresent === void 0 ? {} : { "request.toolsPresent": context.request.toolsPresent },
60947
+ ...context.request?.thinking === void 0 ? {} : { "request.thinking": context.request.thinking },
60948
+ ...context.request?.maxTokens === void 0 ? {} : { "request.maxTokens": context.request.maxTokens },
60949
+ ...context.request?.isCountTokens === void 0 ? {} : { "request.isCountTokens": context.request.isCountTokens },
60946
60950
  ...context.providerQuota === void 0 ? {} : Object.fromEntries(
60947
60951
  Object.entries(context.providerQuota).flatMap(
60948
60952
  ([name, windows]) => [
@@ -63703,7 +63707,7 @@ function registerIdentityCommand(program2, deps) {
63703
63707
  // package.json
63704
63708
  var package_default = {
63705
63709
  name: "claude-use",
63706
- version: "8.36.0",
63710
+ version: "8.37.0",
63707
63711
  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.",
63708
63712
  license: "MIT",
63709
63713
  author: "Joseph Mearman <joseph@mearman.co.uk>",
@@ -77445,7 +77449,17 @@ async function scanRequestHead(request7, wholeBody = false) {
77445
77449
  for (const chunk of head) {
77446
77450
  replay.write(chunk);
77447
77451
  }
77448
- resolve({ ...model === void 0 ? {} : { model }, hasImage, ...wholeBody ? { whole: true, text: text2 } : {}, replayed: { ...request7, body: replay } });
77452
+ const maxTokens = /"max_tokens"\s*:\s*([0-9]+)/.exec(text2)?.[1];
77453
+ resolve({
77454
+ ...model === void 0 ? {} : { model },
77455
+ hasImage,
77456
+ toolsPresent: /"tools"\s*:\s*\[\s*\{/.test(text2),
77457
+ thinking: /"thinking"\s*:\s*\{\s*"type"\s*:\s*"enabled"/.test(text2),
77458
+ ...maxTokens === void 0 ? {} : { maxTokens: Number(maxTokens) },
77459
+ isCountTokens: request7.url.includes("/v1/messages/count_tokens"),
77460
+ ...wholeBody ? { whole: true, text: text2 } : {},
77461
+ replayed: { ...request7, body: replay }
77462
+ });
77449
77463
  };
77450
77464
  body.on("data", (chunk) => {
77451
77465
  if (decided) {
@@ -77610,7 +77624,15 @@ function createProviderRouteResolver(deps) {
77610
77624
  return resolution.ok && replay !== void 0 ? { ok: true, route: servingRewritten(resolution.route, { ...replay, url: current.url }) } : resolution;
77611
77625
  }
77612
77626
  replay = scan.replayed;
77613
- const context = { nowMs: Date.now(), env: deps.env, providerQuota, ...scan.model === void 0 && scan.hasImage === void 0 ? {} : { request: { ...scan.model === void 0 ? {} : { model: scan.model }, hasImage: scan.hasImage } } };
77627
+ const requestFacts = {
77628
+ ...scan.model === void 0 ? {} : { model: scan.model },
77629
+ ...scan.hasImage === void 0 ? {} : { hasImage: scan.hasImage },
77630
+ ...scan.toolsPresent === void 0 ? {} : { toolsPresent: scan.toolsPresent },
77631
+ ...scan.thinking === void 0 ? {} : { thinking: scan.thinking },
77632
+ ...scan.maxTokens === void 0 ? {} : { maxTokens: scan.maxTokens },
77633
+ ...scan.isCountTokens === void 0 ? {} : { isCountTokens: scan.isCountTokens }
77634
+ };
77635
+ const context = { nowMs: Date.now(), env: deps.env, providerQuota, ...Object.keys(requestFacts).length === 0 ? {} : { request: requestFacts } };
77614
77636
  let matched;
77615
77637
  for (const entry of routes) {
77616
77638
  const verdict = evaluateWhen(entry.when, context);
package/dist/index.cjs CHANGED
@@ -1031,6 +1031,10 @@ function resolversOf(context) {
1031
1031
  ...pool?.lastPickHoursAgo === void 0 ? {} : { "session.lastPickHoursAgo": pool.lastPickHoursAgo },
1032
1032
  ...context.request?.model === void 0 ? {} : { "request.model": context.request.model },
1033
1033
  ...context.request?.hasImage === void 0 ? {} : { "request.hasImage": context.request.hasImage },
1034
+ ...context.request?.toolsPresent === void 0 ? {} : { "request.toolsPresent": context.request.toolsPresent },
1035
+ ...context.request?.thinking === void 0 ? {} : { "request.thinking": context.request.thinking },
1036
+ ...context.request?.maxTokens === void 0 ? {} : { "request.maxTokens": context.request.maxTokens },
1037
+ ...context.request?.isCountTokens === void 0 ? {} : { "request.isCountTokens": context.request.isCountTokens },
1034
1038
  ...context.providerQuota === void 0 ? {} : Object.fromEntries(
1035
1039
  Object.entries(context.providerQuota).flatMap(
1036
1040
  ([name, windows]) => [
@@ -5419,7 +5423,7 @@ var import_undici = require("undici");
5419
5423
  // package.json
5420
5424
  var package_default = {
5421
5425
  name: "claude-use",
5422
- version: "8.36.0",
5426
+ version: "8.37.0",
5423
5427
  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.",
5424
5428
  license: "MIT",
5425
5429
  author: "Joseph Mearman <joseph@mearman.co.uk>",
package/dist/index.mjs CHANGED
@@ -719,6 +719,10 @@ function resolversOf(context) {
719
719
  ...pool?.lastPickHoursAgo === void 0 ? {} : { "session.lastPickHoursAgo": pool.lastPickHoursAgo },
720
720
  ...context.request?.model === void 0 ? {} : { "request.model": context.request.model },
721
721
  ...context.request?.hasImage === void 0 ? {} : { "request.hasImage": context.request.hasImage },
722
+ ...context.request?.toolsPresent === void 0 ? {} : { "request.toolsPresent": context.request.toolsPresent },
723
+ ...context.request?.thinking === void 0 ? {} : { "request.thinking": context.request.thinking },
724
+ ...context.request?.maxTokens === void 0 ? {} : { "request.maxTokens": context.request.maxTokens },
725
+ ...context.request?.isCountTokens === void 0 ? {} : { "request.isCountTokens": context.request.isCountTokens },
722
726
  ...context.providerQuota === void 0 ? {} : Object.fromEntries(
723
727
  Object.entries(context.providerQuota).flatMap(
724
728
  ([name, windows]) => [
@@ -5107,7 +5111,7 @@ import { Agent as Agent3, fetch as undiciFetch } from "undici";
5107
5111
  // package.json
5108
5112
  var package_default = {
5109
5113
  name: "claude-use",
5110
- version: "8.36.0",
5114
+ version: "8.37.0",
5111
5115
  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.",
5112
5116
  license: "MIT",
5113
5117
  author: "Joseph Mearman <joseph@mearman.co.uk>",
@@ -1326,8 +1326,8 @@ declare const HeadroomGlobalConfigSchema: z.ZodObject<{
1326
1326
  source: z.ZodOptional<z.ZodString>;
1327
1327
  idleShutdownMinutes: z.ZodOptional<z.ZodNumber>;
1328
1328
  mode: z.ZodOptional<z.ZodEnum<{
1329
- token: "token";
1330
1329
  cache: "cache";
1330
+ token: "token";
1331
1331
  }>>;
1332
1332
  targetRatio: z.ZodOptional<z.ZodNumber>;
1333
1333
  ccr: z.ZodOptional<z.ZodEnum<{
@@ -1454,8 +1454,8 @@ declare const GlobalConfigSchema: z.ZodObject<{
1454
1454
  source: z.ZodOptional<z.ZodString>;
1455
1455
  idleShutdownMinutes: z.ZodOptional<z.ZodNumber>;
1456
1456
  mode: z.ZodOptional<z.ZodEnum<{
1457
- token: "token";
1458
1457
  cache: "cache";
1458
+ token: "token";
1459
1459
  }>>;
1460
1460
  targetRatio: z.ZodOptional<z.ZodNumber>;
1461
1461
  ccr: z.ZodOptional<z.ZodEnum<{
@@ -5454,12 +5454,12 @@ declare function createControlApiRouter(deps: ControlApiDeps): {
5454
5454
  identity: "identity";
5455
5455
  provider: "provider";
5456
5456
  pool: "pool";
5457
+ keychain: "keychain";
5457
5458
  "ambient-credential": "ambient-credential";
5458
5459
  "binary-discovery": "binary-discovery";
5459
5460
  "claude-shim": "claude-shim";
5460
5461
  "path-resolution": "path-resolution";
5461
5462
  "legacy-name": "legacy-name";
5462
- keychain: "keychain";
5463
5463
  "directory-rules": "directory-rules";
5464
5464
  "categories-local": "categories-local";
5465
5465
  "active-identity": "active-identity";
@@ -6035,12 +6035,12 @@ declare function createDoorApiRouter(deps: DoorApiDeps): {
6035
6035
  identity: "identity";
6036
6036
  provider: "provider";
6037
6037
  pool: "pool";
6038
+ keychain: "keychain";
6038
6039
  "ambient-credential": "ambient-credential";
6039
6040
  "binary-discovery": "binary-discovery";
6040
6041
  "claude-shim": "claude-shim";
6041
6042
  "path-resolution": "path-resolution";
6042
6043
  "legacy-name": "legacy-name";
6043
- keychain: "keychain";
6044
6044
  "directory-rules": "directory-rules";
6045
6045
  "categories-local": "categories-local";
6046
6046
  "active-identity": "active-identity";
@@ -6525,12 +6525,12 @@ declare const DoctorFindingSchema: z.ZodObject<{
6525
6525
  identity: "identity";
6526
6526
  provider: "provider";
6527
6527
  pool: "pool";
6528
+ keychain: "keychain";
6528
6529
  "ambient-credential": "ambient-credential";
6529
6530
  "binary-discovery": "binary-discovery";
6530
6531
  "claude-shim": "claude-shim";
6531
6532
  "path-resolution": "path-resolution";
6532
6533
  "legacy-name": "legacy-name";
6533
- keychain: "keychain";
6534
6534
  "directory-rules": "directory-rules";
6535
6535
  "categories-local": "categories-local";
6536
6536
  "active-identity": "active-identity";
@@ -6554,12 +6554,12 @@ declare const DoctorRunOutputSchema: z.ZodObject<{
6554
6554
  identity: "identity";
6555
6555
  provider: "provider";
6556
6556
  pool: "pool";
6557
+ keychain: "keychain";
6557
6558
  "ambient-credential": "ambient-credential";
6558
6559
  "binary-discovery": "binary-discovery";
6559
6560
  "claude-shim": "claude-shim";
6560
6561
  "path-resolution": "path-resolution";
6561
6562
  "legacy-name": "legacy-name";
6562
- keychain: "keychain";
6563
6563
  "directory-rules": "directory-rules";
6564
6564
  "categories-local": "categories-local";
6565
6565
  "active-identity": "active-identity";
@@ -7115,6 +7115,10 @@ interface ConditionContext {
7115
7115
  readonly request?: {
7116
7116
  readonly model?: string;
7117
7117
  readonly hasImage?: boolean;
7118
+ readonly toolsPresent?: boolean;
7119
+ readonly thinking?: boolean;
7120
+ readonly maxTokens?: number;
7121
+ readonly isCountTokens?: boolean;
7118
7122
  };
7119
7123
  /** Per-provider quota facts for request routing, keyed by provider name, from the session identity's usage snapshot: a route condition names a target's windows (`provider.<name>.fiveHour.utilization` and kin) to skip one that is exhausted or nearly spent. The windows are the same shape the pool facts read. */
7120
7124
  readonly providerQuota?: Readonly<Record<string, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-use",
3
- "version": "8.36.0",
3
+ "version": "8.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>",