claudish 13.2.0 → 13.3.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.
Files changed (2) hide show
  1. package/dist/index.js +27 -7
  2. package/package.json +5 -5
package/dist/index.js CHANGED
@@ -575,7 +575,7 @@ var init_onepassword_config = __esm(() => {
575
575
  });
576
576
 
577
577
  // src/version.ts
578
- var VERSION = "13.2.0";
578
+ var VERSION = "13.3.0";
579
579
 
580
580
  // src/logger.ts
581
581
  import { appendFile, existsSync as existsSync2, mkdirSync, readdirSync, unlinkSync, writeFileSync as writeFileSync2 } from "fs";
@@ -6484,6 +6484,12 @@ function isOptInWireId(wireId) {
6484
6484
  return /-contributor(?:-free)?$/i.test(wireId.split("/").pop() ?? wireId);
6485
6485
  }
6486
6486
  function isOptInConnection(connection) {
6487
+ if ("contentUse" in connection) {
6488
+ if (connection.contentUse === "contributor")
6489
+ return true;
6490
+ if (connection.contentUse === "standard")
6491
+ return false;
6492
+ }
6487
6493
  return typeof connection.externalModelId === "string" && isOptInWireId(connection.externalModelId);
6488
6494
  }
6489
6495
  function splitOptInConnections(entry) {
@@ -6715,6 +6721,7 @@ var init_catalog_route_bindings = __esm(() => {
6715
6721
  vertex: { routeId: "vertex", routeProfileId: "google-cloud" },
6716
6722
  deepseek: { routeId: "deepseek", routeProfileId: "direct-api" },
6717
6723
  mistralai: { routeId: "mistralai", routeProfileId: "direct-api" },
6724
+ "meta-muse-code": { routeId: "meta", routeProfileId: "muse-code-subscription" },
6718
6725
  meta: { routeId: "meta", routeProfileId: "direct-api" }
6719
6726
  };
6720
6727
  LOOKUP_ONLY_ROUTE_BINDINGS = {
@@ -35570,6 +35577,9 @@ function effectiveBaseUrl(registryBaseUrl, definitionBaseUrl, resolvedBaseUrl) {
35570
35577
  }
35571
35578
  return { baseUrl: resolvedBaseUrl.replace(/\/+$/, ""), overridden: true };
35572
35579
  }
35580
+ function requestBaseUrl(connection, api) {
35581
+ return connection.provider === "meta-muse-code" ? `${MUSE_CODE_BASE_URL}/v1` : connectionBaseUrl(connection, api);
35582
+ }
35573
35583
  function describeConnectionWire(connection) {
35574
35584
  const where = `${connection.route.routeId}/${connection.route.routeProfileId} \xB7 ${connection.externalModelId}`;
35575
35585
  const { wire } = connection;
@@ -35579,7 +35589,7 @@ function describeConnectionWire(connection) {
35579
35589
  const apis = Object.keys(connection.profile.apis).join(", ") || "none";
35580
35590
  return `${where}: wire unknown \u2014 tries ${apis} in turn`;
35581
35591
  }
35582
- const base = connectionBaseUrl(connection, wire.api);
35592
+ const base = requestBaseUrl(connection, wire.api);
35583
35593
  const url = base ? wireRequestUrl(base, wire.api, connection.externalModelId) : "no base URL";
35584
35594
  const status = (value) => typeof value === "string" ? value : value.status;
35585
35595
  const parts = [`${wire.api} ${url}`, `limit ${status(wire.tokenParam)}`];
@@ -35748,11 +35758,14 @@ function tryInTurn(ctx, definitionName, connection, why) {
35748
35758
  };
35749
35759
  }
35750
35760
  function buildKnownWireHandler(ctx, definitionName, connection, wire) {
35751
- const registryBase = connectionBaseUrl(connection, wire.api);
35761
+ const registryBase = requestBaseUrl(connection, wire.api);
35752
35762
  if (!registryBase)
35753
35763
  return null;
35754
35764
  const definition = getProviderByName(definitionName);
35755
- const { baseUrl, overridden } = effectiveBaseUrl(registryBase, definition?.baseUrl, ctx.provider.baseUrl);
35765
+ const { baseUrl, overridden } = definitionName === "meta-muse-code" ? { baseUrl: registryBase, overridden: false } : effectiveBaseUrl(registryBase, definition?.baseUrl, ctx.provider.baseUrl);
35766
+ if (definitionName === "meta-muse-code" && ctx.provider.baseUrl && ctx.provider.baseUrl !== definition?.baseUrl) {
35767
+ log(`[Wire] meta-muse-code: user base URL ignored \u2192 ${baseUrl}`);
35768
+ }
35756
35769
  const url = wireRequestUrl(baseUrl, wire.api, connection.externalModelId);
35757
35770
  if (overridden)
35758
35771
  log(`[Wire] ${definitionName}: base URL overridden by user config \u2192 ${baseUrl}`);
@@ -35780,6 +35793,7 @@ var init_wire_handler = __esm(() => {
35780
35793
  init_catalog_client();
35781
35794
  init_connection_resolver();
35782
35795
  init_connection_wire();
35796
+ init_muse_mint();
35783
35797
  init_provider_definitions();
35784
35798
  init_anthropic_compat();
35785
35799
  init_gemini_apikey();
@@ -50416,12 +50430,15 @@ function projectRecommendations(recommendations, catalog, richModels = [], now =
50416
50430
  const priority = (rankByTier.get(recommended.tier) ?? 0) + 1;
50417
50431
  rankByTier.set(recommended.tier, priority);
50418
50432
  const rich = richById.get(recommended.modelId);
50433
+ const nativeProvider = nativeProviderForVendor(rich?.provider ?? model.provider ?? "");
50434
+ const nativeRouteAvailable = Boolean(nativeProvider && model.aggregators?.some((connection) => connection.routeStatus === "mapped" && catalogRouteMatchesProvider(connection.route, nativeProvider)));
50419
50435
  const subscription = recommended.tier === "subscription" ? subscriptionRouteFor(recommended, model, catalog.plans) : undefined;
50420
50436
  models.push({
50421
50437
  id: recommended.modelId,
50422
50438
  name: rich?.displayName ?? model.displayName ?? recommended.modelId,
50423
50439
  description: rich?.description ?? "",
50424
50440
  provider: rich?.provider ?? model.provider ?? "",
50441
+ nativeRouteAvailable,
50425
50442
  recommendationTier: recommended.tier,
50426
50443
  priority,
50427
50444
  pricing: {
@@ -50628,7 +50645,7 @@ function uniqueRecommendedModels(entries) {
50628
50645
  }
50629
50646
  function collectRoutingPrefixes(group, getNativePrefix) {
50630
50647
  const slug = (group.primary.provider || "").toLowerCase();
50631
- const native = getNativePrefix(slug);
50648
+ const native = group.primary.nativeRouteAvailable === false ? null : getNativePrefix(slug);
50632
50649
  const seen = new Set;
50633
50650
  const out = [];
50634
50651
  if (native) {
@@ -50873,13 +50890,14 @@ function getAvailableModels() {
50873
50890
  _cachedModelIds = result;
50874
50891
  return result;
50875
50892
  }
50876
- var RECOMMENDATION_SECTIONS, RECOMMENDATION_TIER_INDEX, _cachedModelInfo = null, _cachedModelIds = null, _cachedRecommendedModels = null, FIREBASE_BASE_URL = "https://us-central1-claudish-6da10.cloudfunctions.net/queryModels", FIREBASE_RECOMMENDED_URL, RECOMMENDED_PROJECTION_VERSION = 1, RECOMMENDED_MODELS_CACHE_PATH, RECOMMENDED_FETCH_TIMEOUT_MS = 5000, SEARCH_FETCH_TIMEOUT_MS = 1e4, RECOMMENDED_ROUTE_TIER_ORDER;
50893
+ var RECOMMENDATION_SECTIONS, RECOMMENDATION_TIER_INDEX, _cachedModelInfo = null, _cachedModelIds = null, _cachedRecommendedModels = null, FIREBASE_BASE_URL = "https://us-central1-claudish-6da10.cloudfunctions.net/queryModels", FIREBASE_RECOMMENDED_URL, RECOMMENDED_PROJECTION_VERSION = 2, RECOMMENDED_MODELS_CACHE_PATH, RECOMMENDED_FETCH_TIMEOUT_MS = 5000, SEARCH_FETCH_TIMEOUT_MS = 1e4, RECOMMENDED_ROUTE_TIER_ORDER;
50877
50894
  var init_model_loader = __esm(() => {
50878
50895
  init_all_models_cache();
50879
50896
  init_auto_route();
50880
50897
  init_cache_ttl();
50881
50898
  init_catalog_client();
50882
50899
  init_catalog_route_bindings();
50900
+ init_route_candidates();
50883
50901
  RECOMMENDATION_SECTIONS = [
50884
50902
  { recommendationTier: "flagship", title: "Flagship", quickPickEligible: true },
50885
50903
  {
@@ -91589,13 +91607,15 @@ function mergeUserSettingsIfPresent(config, tempSettingsPath, statusLine, proxyA
91589
91607
  async function resolveLocalContextWindow(spec, cachePath) {
91590
91608
  const parsed = parseModelSpec(spec);
91591
91609
  let provider = parsed.provider;
91610
+ let wireId = parsed.model;
91592
91611
  if (!parsed.isExplicitProvider) {
91593
91612
  const plan = await route(spec);
91594
91613
  if (plan.kind !== "ok")
91595
91614
  return null;
91596
91615
  provider = plan.primary.provider;
91616
+ wireId = parseModelSpec(plan.primary.modelSpec).model;
91597
91617
  }
91598
- const win = await discoverContextWindow(provider, parsed.model) ?? lookupModelForProvider(parsed.model, provider, cachePath);
91618
+ const win = await discoverContextWindow(provider, wireId) ?? lookupModelForProvider(parsed.model, provider, cachePath) ?? (wireId !== parsed.model ? lookupModelForProvider(wireId, provider, cachePath) : null);
91599
91619
  return {
91600
91620
  modelId: parsed.model,
91601
91621
  window: typeof win === "number" && win > 0 ? win : null
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claudish",
3
- "version": "13.2.0",
3
+ "version": "13.3.0",
4
4
  "description": "Run Claude Code with any model - OpenRouter, Ollama, LM Studio & local models",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -69,10 +69,10 @@
69
69
  "ai"
70
70
  ],
71
71
  "optionalDependencies": {
72
- "@claudish/magmux-darwin-arm64": "13.2.0",
73
- "@claudish/magmux-darwin-x64": "13.2.0",
74
- "@claudish/magmux-linux-arm64": "13.2.0",
75
- "@claudish/magmux-linux-x64": "13.2.0"
72
+ "@claudish/magmux-darwin-arm64": "13.3.0",
73
+ "@claudish/magmux-darwin-x64": "13.3.0",
74
+ "@claudish/magmux-linux-arm64": "13.3.0",
75
+ "@claudish/magmux-linux-x64": "13.3.0"
76
76
  },
77
77
  "author": "Jack Rudenko <i@madappgang.com>",
78
78
  "license": "MIT",