github-router 0.3.316 → 0.3.318
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/{aic-ledger-BS47yb_C.js → aic-ledger-DY03LbBM.js} +2 -2
- package/dist/{aic-ledger-BS47yb_C.js.map → aic-ledger-DY03LbBM.js.map} +1 -1
- package/dist/{attribution-settings-jcsSeVur.js → attribution-settings-CyyOsjPF.js} +39 -28
- package/dist/attribution-settings-CyyOsjPF.js.map +1 -0
- package/dist/{auth-JfxL9q7z.js → auth-Iun7ftd8.js} +3 -3
- package/dist/{auth-JfxL9q7z.js.map → auth-Iun7ftd8.js.map} +1 -1
- package/dist/browser-ext/manifest.json +1 -1
- package/dist/{check-usage-DXUEQzt_.js → check-usage-1c-0z3iy.js} +4 -4
- package/dist/{check-usage-DXUEQzt_.js.map → check-usage-1c-0z3iy.js.map} +1 -1
- package/dist/{claude-CJ4Nd2_3.js → claude-UhOOquJW.js} +92 -28
- package/dist/claude-UhOOquJW.js.map +1 -0
- package/dist/{codex-CwuLqNZF.js → codex-CyuVJFDZ.js} +5 -5
- package/dist/{codex-CwuLqNZF.js.map → codex-CyuVJFDZ.js.map} +1 -1
- package/dist/{copilot-discount-IbXR5A28.js → copilot-discount-C3jx9Q-o.js} +2 -2
- package/dist/{copilot-discount-IbXR5A28.js.map → copilot-discount-C3jx9Q-o.js.map} +1 -1
- package/dist/{debug-CA7pg8V9.js → debug-CDyXUPcC.js} +2 -2
- package/dist/{debug-CA7pg8V9.js.map → debug-CDyXUPcC.js.map} +1 -1
- package/dist/engine-D5GNXylB.js +2 -0
- package/dist/{gate-discovery-z04ywOzB.js → gate-discovery-B17pvgE0.js} +5 -5
- package/dist/{gate-discovery-z04ywOzB.js.map → gate-discovery-B17pvgE0.js.map} +1 -1
- package/dist/{get-copilot-usage-BMD_cJNT.js → get-copilot-usage-BWCAzmSc.js} +2 -2
- package/dist/{get-copilot-usage-BMD_cJNT.js.map → get-copilot-usage-BWCAzmSc.js.map} +1 -1
- package/dist/hooks.mjs +124 -117
- package/dist/hooks.sha256 +1 -1
- package/dist/{internal-aic-status-BN0xRLSF.js → internal-aic-status-BiblmImt.js} +13 -6
- package/dist/{internal-aic-status-BN0xRLSF.js.map → internal-aic-status-BiblmImt.js.map} +1 -1
- package/dist/{internal-artifact-open-B3stUu74.js → internal-artifact-open-CA1trJ15.js} +2 -2
- package/dist/{internal-artifact-open-B3stUu74.js.map → internal-artifact-open-CA1trJ15.js.map} +1 -1
- package/dist/{internal-fast-dispatch-guard-CAwYj_Yz.js → internal-fast-dispatch-guard-CZ4BZuAG.js} +2 -2
- package/dist/{internal-fast-dispatch-guard-CAwYj_Yz.js.map → internal-fast-dispatch-guard-CZ4BZuAG.js.map} +1 -1
- package/dist/{internal-fast-dispatch-guard-2QjUlhqO.js → internal-fast-dispatch-guard-D5kozMpo.js} +1 -1
- package/dist/{internal-first-mate-guard-VgnHBp0s.js → internal-first-mate-guard-B_or0eN3.js} +1 -1
- package/dist/{internal-first-mate-guard-B0rbLb0L.js → internal-first-mate-guard-CiFH6X1H.js} +3 -3
- package/dist/{internal-first-mate-guard-B0rbLb0L.js.map → internal-first-mate-guard-CiFH6X1H.js.map} +1 -1
- package/dist/{internal-max-dispatch-guard-Bz7a2Ntf.js → internal-max-dispatch-guard-BGOHRYRt.js} +1 -1
- package/dist/{internal-max-dispatch-guard-BNqQ2wMc.js → internal-max-dispatch-guard-CnBZxo5l.js} +2 -2
- package/dist/{internal-max-dispatch-guard-BNqQ2wMc.js.map → internal-max-dispatch-guard-CnBZxo5l.js.map} +1 -1
- package/dist/{internal-plan-review-QUvNZmMR.js → internal-plan-review-C73snnD8.js} +3 -3
- package/dist/{internal-plan-review-QUvNZmMR.js.map → internal-plan-review-C73snnD8.js.map} +1 -1
- package/dist/{internal-prompt-submit-fj5ccft_.js → internal-prompt-submit-dov4UvBo.js} +4 -4
- package/dist/{internal-prompt-submit-fj5ccft_.js.map → internal-prompt-submit-dov4UvBo.js.map} +1 -1
- package/dist/{internal-session-bind-0Hmak8PR.js → internal-session-bind-C3hrb9rP.js} +2 -2
- package/dist/{internal-session-bind-0Hmak8PR.js.map → internal-session-bind-C3hrb9rP.js.map} +1 -1
- package/dist/{internal-stop-hook-UN1JHtjj.js → internal-stop-hook-DZ6CCP4C.js} +5 -5
- package/dist/{internal-stop-hook-UN1JHtjj.js.map → internal-stop-hook-DZ6CCP4C.js.map} +1 -1
- package/dist/{internal-stop-review-8v2llYDB.js → internal-stop-review-MBVYtrYS.js} +2 -2
- package/dist/{internal-stop-review-8v2llYDB.js.map → internal-stop-review-MBVYtrYS.js.map} +1 -1
- package/dist/{internal-worker-guard-BI4Pl0Ew.js → internal-worker-guard-dxGawAY3.js} +2 -2
- package/dist/{internal-worker-guard-BI4Pl0Ew.js.map → internal-worker-guard-dxGawAY3.js.map} +1 -1
- package/dist/{internal-workspace-header-kg9FoNXK.js → internal-workspace-header-_aEXOz5q.js} +2 -2
- package/dist/{internal-workspace-header-kg9FoNXK.js.map → internal-workspace-header-_aEXOz5q.js.map} +1 -1
- package/dist/{lifecycle-IwotwedG.js → lifecycle-CJB2BwSJ.js} +2 -2
- package/dist/{lifecycle-IwotwedG.js.map → lifecycle-CJB2BwSJ.js.map} +1 -1
- package/dist/lifecycle-D0KsoSqz.js +2 -0
- package/dist/lifecycle-DimEguJO.js +2 -0
- package/dist/{lifecycle-Cx1wVrLb.js → lifecycle-_BE0SnNs.js} +2 -2
- package/dist/{lifecycle-Cx1wVrLb.js.map → lifecycle-_BE0SnNs.js.map} +1 -1
- package/dist/main.js +20 -20
- package/dist/{mcp-workspace-header-BYgWioLH.js → mcp-workspace-header-mXRLE8kg.js} +2 -2
- package/dist/{mcp-workspace-header-BYgWioLH.js.map → mcp-workspace-header-mXRLE8kg.js.map} +1 -1
- package/dist/{models-CVzyU5mJ.js → models-CSFIVxAH.js} +3 -3
- package/dist/{models-CVzyU5mJ.js.map → models-CSFIVxAH.js.map} +1 -1
- package/dist/{orchestration-Dc3mO0G3.js → orchestration-B8kypXcZ.js} +2 -2
- package/dist/{orchestration-Dc3mO0G3.js.map → orchestration-B8kypXcZ.js.map} +1 -1
- package/dist/{paths-CMxlQEfQ.js → paths-CHBAj_t9.js} +36 -4
- package/dist/{paths-CMxlQEfQ.js.map → paths-CHBAj_t9.js.map} +1 -1
- package/dist/paths-eHoOwFzZ.js +2 -0
- package/dist/{peer-mcp-personas-CQ-0Piyr.js → peer-mcp-personas-CRMVuMVF.js} +37 -18
- package/dist/{peer-mcp-personas-CQ-0Piyr.js.map → peer-mcp-personas-CRMVuMVF.js.map} +1 -1
- package/dist/{plan-review-hook-BIMwWkh6.js → plan-review-hook-BMmw7wxR.js} +3 -3
- package/dist/{plan-review-hook-BIMwWkh6.js.map → plan-review-hook-BMmw7wxR.js.map} +1 -1
- package/dist/{prompt-submit-hook-BcFpjHXg.js → prompt-submit-hook-CGgT5m4Q.js} +3 -3
- package/dist/{prompt-submit-hook-BcFpjHXg.js.map → prompt-submit-hook-CGgT5m4Q.js.map} +1 -1
- package/dist/{provision-_R7ZMygj.js → provision-Bn8-NDp7.js} +4 -4
- package/dist/{provision-_R7ZMygj.js.map → provision-Bn8-NDp7.js.map} +1 -1
- package/dist/{self-invocation-cRl4RqfW.js → self-invocation-DahN1gw9.js} +2 -2
- package/dist/{self-invocation-cRl4RqfW.js.map → self-invocation-DahN1gw9.js.map} +1 -1
- package/dist/{serve-DU66K5kv.js → serve-B1yhiPls.js} +12 -12
- package/dist/{serve-DU66K5kv.js.map → serve-B1yhiPls.js.map} +1 -1
- package/dist/{server-setup-iLG8LrfL.js → server-setup-BOJCIEQi.js} +177 -49
- package/dist/server-setup-BOJCIEQi.js.map +1 -0
- package/dist/{start-DQTcm0o_.js → start-DxGJKVd_.js} +3 -3
- package/dist/{start-DQTcm0o_.js.map → start-DxGJKVd_.js.map} +1 -1
- package/dist/{stop-gate-hook-BUCxa5Kc.js → stop-gate-hook-D7N759TG.js} +72 -4
- package/dist/{stop-gate-hook-BUCxa5Kc.js.map → stop-gate-hook-D7N759TG.js.map} +1 -1
- package/dist/{stop-gate-policy--bpyxxXU.js → stop-gate-policy-C0gt04R0.js} +2 -2
- package/dist/{stop-gate-policy--bpyxxXU.js.map → stop-gate-policy-C0gt04R0.js.map} +1 -1
- package/dist/{token-C1gthnbV.js → token-86uk6y4P.js} +2 -2
- package/dist/{token-C1gthnbV.js.map → token-86uk6y4P.js.map} +1 -1
- package/dist/{worker-dispatch-DMIdrlsF.js → worker-dispatch-B-OA7tvU.js} +2 -2
- package/dist/{worker-dispatch-DMIdrlsF.js.map → worker-dispatch-B-OA7tvU.js.map} +1 -1
- package/package.json +1 -1
- package/dist/attribution-settings-jcsSeVur.js.map +0 -1
- package/dist/claude-CJ4Nd2_3.js.map +0 -1
- package/dist/engine-DwrxceOS.js +0 -2
- package/dist/lifecycle-BpqAyaAj.js +0 -2
- package/dist/lifecycle-CL2WiyeQ.js +0 -2
- package/dist/paths-BXXCVFvA.js +0 -2
- package/dist/server-setup-iLG8LrfL.js.map +0 -1
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { $ as EFFORT_ORDER, $t as parseJsonOrDiagnose, An as oneMContextDisabled, B as resolveAdvisorEffort, Bn as CHEAP_PROFILE_MODELS, Bt as getTextTokenCount, Cn as isBudgetClaudeLead, D as toolbeltEnabled, Dn as upstreamMaxConnections, En as upstreamAllowH2, F as ADVISOR_TOOL_INSTRUCTIONS, Fn as CHEAPEST_PROFILE_NATIVE_AGENT_NAMES, G as repairKnownThinkingHistory, Gn as withInstallLock, H as resolveCheapestAdvisorModel, Ht as getTokenizerFromModel, I as FAST_ADVISOR_TOOL_INSTRUCTIONS, J as buildOpenAIErrorEvent, Jt as resolveMcpToolTimeoutMs, K as repairRejectedThinkingHistory, Kt as assembleResponsesPayload, L as buildAdvisorStream, Lt as shimDefaultsToXhigh, Mn as withOneMSuffixForLead, N as searchWeb, Nn as CHEAPEST_PROFILE_ADVISOR_CLIENT_MODEL, On as classifyMessagesRoute, P as ADVISOR_INTERNAL_TOOL_NAME, Pn as CHEAPEST_PROFILE_MODELS, Q as relayAnthropicStream, Qt as readResponseBodyCapped, R as injectAdvisorTool, Rn as CHEAPEST_PROFILE_SUBAGENT_CONTEXT_TOKENS, Rt as countTokens, Sn as generateRandomPort, U as formatThinkingRepairDecline, Ut as findLaunchBySecret, V as resolveAdvisorModel, Vn as CHEAP_PROFILE_NATIVE_AGENT_NAMES, Vt as getTokenCount, W as rememberThinkingHistoryRepair, Wn as CHEAP_PROFILE_SUBAGENT_CONTEXT_TOKENS, X as logStreamError, Xt as createChatCompletions, Y as isControllerClosedError, Yt as createResponses, Z as readIteratorWithTimeout, Zt as MAX_RESPONSE_BODY_BYTES, at as agentToolsEnabled, bn as UPSTREAM_FETCH_TIMEOUT_MS, cn as provisionTreeSitterAssets, en as normalizeOpenAIUsage, et as UNKNOWN_EFFORT_ANCHOR, hn as BUDGET_SMALL_FAST_SLUG, i as assertMcpToolSurfaceConsistent, it as handleMcpPost, jn as withOneMSuffix, kn as catalogAdvertises1M, nt as clampEffort, pn as toolbeltPathOverride, q as buildAnthropicErrorEvent, qt as warnOnTokenPriceDrift, rt as handleMcpDelete, tt as bucketEffort, xn as UPSTREAM_INACTIVITY_TIMEOUT_MS, z as isAdvisorRequested, zn as CHEAP_PROFILE_ADVISOR_CLIENT_MODEL, zt as createMessages } from "./peer-mcp-personas-
|
|
1
|
+
import { $ as EFFORT_ORDER, $t as parseJsonOrDiagnose, An as oneMContextDisabled, B as resolveAdvisorEffort, Bn as CHEAP_PROFILE_MODELS, Bt as getTextTokenCount, Cn as isBudgetClaudeLead, D as toolbeltEnabled, Dn as upstreamMaxConnections, En as upstreamAllowH2, F as ADVISOR_TOOL_INSTRUCTIONS, Fn as CHEAPEST_PROFILE_NATIVE_AGENT_NAMES, G as repairKnownThinkingHistory, Gn as withInstallLock, H as resolveCheapestAdvisorModel, Ht as getTokenizerFromModel, I as FAST_ADVISOR_TOOL_INSTRUCTIONS, J as buildOpenAIErrorEvent, Jt as resolveMcpToolTimeoutMs, K as repairRejectedThinkingHistory, Kt as assembleResponsesPayload, L as buildAdvisorStream, Lt as shimDefaultsToXhigh, Mn as withOneMSuffixForLead, N as searchWeb, Nn as CHEAPEST_PROFILE_ADVISOR_CLIENT_MODEL, On as classifyMessagesRoute, P as ADVISOR_INTERNAL_TOOL_NAME, Pn as CHEAPEST_PROFILE_MODELS, Q as relayAnthropicStream, Qt as readResponseBodyCapped, R as injectAdvisorTool, Rn as CHEAPEST_PROFILE_SUBAGENT_CONTEXT_TOKENS, Rt as countTokens, Sn as generateRandomPort, U as formatThinkingRepairDecline, Ut as findLaunchBySecret, V as resolveAdvisorModel, Vn as CHEAP_PROFILE_NATIVE_AGENT_NAMES, Vt as getTokenCount, W as rememberThinkingHistoryRepair, Wn as CHEAP_PROFILE_SUBAGENT_CONTEXT_TOKENS, X as logStreamError, Xt as createChatCompletions, Y as isControllerClosedError, Yt as createResponses, Z as readIteratorWithTimeout, Zt as MAX_RESPONSE_BODY_BYTES, at as agentToolsEnabled, bn as UPSTREAM_FETCH_TIMEOUT_MS, cn as provisionTreeSitterAssets, en as normalizeOpenAIUsage, et as UNKNOWN_EFFORT_ANCHOR, hn as BUDGET_SMALL_FAST_SLUG, i as assertMcpToolSurfaceConsistent, it as handleMcpPost, jn as withOneMSuffix, kn as catalogAdvertises1M, nt as clampEffort, pn as toolbeltPathOverride, q as buildAnthropicErrorEvent, qt as warnOnTokenPriceDrift, rt as handleMcpDelete, tt as bucketEffort, xn as UPSTREAM_INACTIVITY_TIMEOUT_MS, z as isAdvisorRequested, zn as CHEAP_PROFILE_ADVISOR_CLIENT_MODEL, zt as createMessages } from "./peer-mcp-personas-CRMVuMVF.js";
|
|
2
2
|
import { t as getPackageVersion } from "./version-C8x2hQrZ.js";
|
|
3
|
-
import { i as ensurePaths, t as PATHS } from "./paths-
|
|
3
|
+
import { i as ensurePaths, t as PATHS } from "./paths-CHBAj_t9.js";
|
|
4
4
|
import { t as state } from "./state-BlMpEFAt.js";
|
|
5
|
-
import { T as copilotHeaders, _ as forwardError, a as cacheCopilotVersion, c as filterBetaHeader, d as resolveModel, f as sleep, g as HTTPError, i as tryRefreshAndRetry, l as isNullish, n as setupGitHubAgentToken, o as cacheModels, r as setupGitHubToken, s as cacheVSCodeVersion, t as setupCopilotToken, w as copilotBaseUrl, y as fetchWithTransientRetry } from "./token-
|
|
6
|
-
import { t as getCopilotUsage } from "./get-copilot-usage-
|
|
5
|
+
import { T as copilotHeaders, _ as forwardError, a as cacheCopilotVersion, c as filterBetaHeader, d as resolveModel, f as sleep, g as HTTPError, i as tryRefreshAndRetry, l as isNullish, n as setupGitHubAgentToken, o as cacheModels, r as setupGitHubToken, s as cacheVSCodeVersion, t as setupCopilotToken, w as copilotBaseUrl, y as fetchWithTransientRetry } from "./token-86uk6y4P.js";
|
|
6
|
+
import { t as getCopilotUsage } from "./get-copilot-usage-BWCAzmSc.js";
|
|
7
7
|
import { c as runCommandVoid, i as parseBoolEnv, o as resolveExecutable, r as killManagedTree, s as runCommandCapture } from "./exec-COUT4QsS.js";
|
|
8
8
|
import { c as FAST_PROFILE_MODELS, l as FAST_PROFILE_NATIVE_AGENT_NAMES, r as FAST_PROFILE_ADVISOR_MODEL } from "./fast-profile-contract-_DhIWank.js";
|
|
9
9
|
import { A as normalizeTrailingOneMSuffix, a as MAX_PROFILE_NATIVE_AGENT_NAMES, d as maxAdvisorPinIsValid, h as maxOpusModel, i as MAX_PROFILE_MODELS, j as stripTrailingOneMSuffix, k as fastEndpointForModel, l as maxAdvisorEffortForModel, n as MAX_PROFILE_ALLOWED_LEAD_MODEL_IDS, t as MAX_PROFILE_ADVISOR_INSTRUCTIONS, u as maxAdvisorModelFromPin, y as validateMaxProfilePrerequisites } from "./max-profile-contract-Bl7I_EOC.js";
|
|
10
|
-
import { c as recordAic, d as extractCopilotUsage, f as formatAic, i as extractAndRecordAic, p as nanoAiuToCredits } from "./aic-ledger-
|
|
10
|
+
import { c as recordAic, d as extractCopilotUsage, f as formatAic, i as extractAndRecordAic, p as nanoAiuToCredits } from "./aic-ledger-DY03LbBM.js";
|
|
11
11
|
import consola from "consola";
|
|
12
12
|
import fs, { existsSync } from "node:fs";
|
|
13
13
|
import path from "node:path";
|
|
@@ -515,6 +515,34 @@ const LUNA_SCOUT_ALIAS_ID = "gh-router-luna-scout-high";
|
|
|
515
515
|
* with an explicit stale-alias error instead of silently changing semantics. */
|
|
516
516
|
const LUNA_IMPLEMENTER_ALIAS_ID = "gh-router-luna-implementer-max";
|
|
517
517
|
const FAST_CRITIC_ALIAS_ID = "gh-router-fast-critic-medium";
|
|
518
|
+
/**
|
|
519
|
+
* Cheap-family subagent aliases (`-m cheap`/`-m cheap1m`). Router-owned,
|
|
520
|
+
* non-catalog identities: Claude Code resolves a bare REAL model id against
|
|
521
|
+
* the live catalog and upgrades Task subagents to `[1m]` accounting when the
|
|
522
|
+
* entry advertises >=1M, defeating the cheap family's whole 200K cost lever.
|
|
523
|
+
* An alias matches no catalog entry, so the client holds the 200K default and
|
|
524
|
+
* the proxy canonicalizes to the real id upstream with the alias's fixed
|
|
525
|
+
* effort. `absentEffortDefault` mirrors `CHEAP_PROFILE_NATIVE_EFFORTS` per
|
|
526
|
+
* role (a drift test pins this). Emitted BARE (no `[1m]`) by
|
|
527
|
+
* `buildCheapProfileAgentDefinitions`.
|
|
528
|
+
*/
|
|
529
|
+
const CHEAP_EXPLORE_ALIAS_ID = "gh-router-cheap-explore-high";
|
|
530
|
+
const CHEAP_PLAN_ALIAS_ID = "gh-router-cheap-plan-high";
|
|
531
|
+
const CHEAP_GENERAL_PURPOSE_ALIAS_ID = "gh-router-cheap-general-purpose-max";
|
|
532
|
+
const CHEAP_IMPLEMENTER_ALIAS_ID = "gh-router-cheap-implementer-high";
|
|
533
|
+
const CHEAP_REVIEWER_ALIAS_ID = "gh-router-cheap-reviewer-max";
|
|
534
|
+
/**
|
|
535
|
+
* Cheapest-profile subagent aliases (`-m cheapest`). Same non-catalog
|
|
536
|
+
* mechanism as the cheap aliases above, with the cheapest roster's own
|
|
537
|
+
* identities and efforts (`CHEAPEST_PROFILE_NATIVE_MODELS` /
|
|
538
|
+
* `CHEAPEST_PROFILE_NATIVE_EFFORTS`, pinned by a drift test). Emitted BARE by
|
|
539
|
+
* `buildCheapestProfileAgentDefinitions`.
|
|
540
|
+
*/
|
|
541
|
+
const CHEAPEST_EXPLORE_ALIAS_ID = "gh-router-cheapest-explore-high";
|
|
542
|
+
const CHEAPEST_PLAN_ALIAS_ID = "gh-router-cheapest-plan-high";
|
|
543
|
+
const CHEAPEST_GENERAL_PURPOSE_ALIAS_ID = "gh-router-cheapest-general-purpose-xhigh";
|
|
544
|
+
const CHEAPEST_IMPLEMENTER_ALIAS_ID = "gh-router-cheapest-implementer-max";
|
|
545
|
+
const CHEAPEST_REVIEWER_ALIAS_ID = "gh-router-cheapest-reviewer-high";
|
|
518
546
|
const LUNA_SONNET_ALIAS_ID = "gh-router-luna-sonnet-xhigh";
|
|
519
547
|
/**
|
|
520
548
|
* Router-owned alias id for the fast profile's Haiku-tier row
|
|
@@ -583,6 +611,56 @@ const MODEL_ALIAS_TABLE = /* @__PURE__ */ new Map([
|
|
|
583
611
|
aliasId: LUNA_HAIKU_ALIAS_ID,
|
|
584
612
|
realModel: LUNA_REAL_MODEL_ID,
|
|
585
613
|
absentEffortDefault: "high"
|
|
614
|
+
}],
|
|
615
|
+
[CHEAP_EXPLORE_ALIAS_ID, {
|
|
616
|
+
aliasId: CHEAP_EXPLORE_ALIAS_ID,
|
|
617
|
+
realModel: CHEAP_PROFILE_MODELS.explore,
|
|
618
|
+
absentEffortDefault: "high"
|
|
619
|
+
}],
|
|
620
|
+
[CHEAP_PLAN_ALIAS_ID, {
|
|
621
|
+
aliasId: CHEAP_PLAN_ALIAS_ID,
|
|
622
|
+
realModel: CHEAP_PROFILE_MODELS.plan,
|
|
623
|
+
absentEffortDefault: "high"
|
|
624
|
+
}],
|
|
625
|
+
[CHEAP_GENERAL_PURPOSE_ALIAS_ID, {
|
|
626
|
+
aliasId: CHEAP_GENERAL_PURPOSE_ALIAS_ID,
|
|
627
|
+
realModel: CHEAP_PROFILE_MODELS["general-purpose"],
|
|
628
|
+
absentEffortDefault: "max"
|
|
629
|
+
}],
|
|
630
|
+
[CHEAP_IMPLEMENTER_ALIAS_ID, {
|
|
631
|
+
aliasId: CHEAP_IMPLEMENTER_ALIAS_ID,
|
|
632
|
+
realModel: CHEAP_PROFILE_MODELS.implementer,
|
|
633
|
+
absentEffortDefault: "high"
|
|
634
|
+
}],
|
|
635
|
+
[CHEAP_REVIEWER_ALIAS_ID, {
|
|
636
|
+
aliasId: CHEAP_REVIEWER_ALIAS_ID,
|
|
637
|
+
realModel: CHEAP_PROFILE_MODELS.reviewer,
|
|
638
|
+
absentEffortDefault: "max"
|
|
639
|
+
}],
|
|
640
|
+
[CHEAPEST_EXPLORE_ALIAS_ID, {
|
|
641
|
+
aliasId: CHEAPEST_EXPLORE_ALIAS_ID,
|
|
642
|
+
realModel: CHEAPEST_PROFILE_MODELS.explore,
|
|
643
|
+
absentEffortDefault: "high"
|
|
644
|
+
}],
|
|
645
|
+
[CHEAPEST_PLAN_ALIAS_ID, {
|
|
646
|
+
aliasId: CHEAPEST_PLAN_ALIAS_ID,
|
|
647
|
+
realModel: CHEAPEST_PROFILE_MODELS.plan,
|
|
648
|
+
absentEffortDefault: "high"
|
|
649
|
+
}],
|
|
650
|
+
[CHEAPEST_GENERAL_PURPOSE_ALIAS_ID, {
|
|
651
|
+
aliasId: CHEAPEST_GENERAL_PURPOSE_ALIAS_ID,
|
|
652
|
+
realModel: CHEAPEST_PROFILE_MODELS["general-purpose"],
|
|
653
|
+
absentEffortDefault: "xhigh"
|
|
654
|
+
}],
|
|
655
|
+
[CHEAPEST_IMPLEMENTER_ALIAS_ID, {
|
|
656
|
+
aliasId: CHEAPEST_IMPLEMENTER_ALIAS_ID,
|
|
657
|
+
realModel: CHEAPEST_PROFILE_MODELS.implementer,
|
|
658
|
+
absentEffortDefault: "max"
|
|
659
|
+
}],
|
|
660
|
+
[CHEAPEST_REVIEWER_ALIAS_ID, {
|
|
661
|
+
aliasId: CHEAPEST_REVIEWER_ALIAS_ID,
|
|
662
|
+
realModel: CHEAPEST_PROFILE_MODELS.reviewer,
|
|
663
|
+
absentEffortDefault: "high"
|
|
586
664
|
}]
|
|
587
665
|
]);
|
|
588
666
|
/**
|
|
@@ -1284,6 +1362,17 @@ async function renameSettingsWithRetry(temp, target) {
|
|
|
1284
1362
|
await fs$1.rm(temp, { force: true }).catch(() => {});
|
|
1285
1363
|
throw lastError;
|
|
1286
1364
|
}
|
|
1365
|
+
/**
|
|
1366
|
+
* Profiles whose sessions run router-provided surfaces only. On these
|
|
1367
|
+
* launches a user-curated `modelPicker` in the (per-launch, disposable)
|
|
1368
|
+
* mirror is overwritten with the router rows rather than preserved: the
|
|
1369
|
+
* mirror is a snapshot copy, so the operator's real settings are never
|
|
1370
|
+
* touched, but a stale standard `[1m]` picker must not survive into a
|
|
1371
|
+
* 200K session's `/model` UI.
|
|
1372
|
+
*/
|
|
1373
|
+
function routerWinsPicker(profile) {
|
|
1374
|
+
return profile === "fast" || profile === "cheap" || profile === "cheap1m" || profile === "cheapest";
|
|
1375
|
+
}
|
|
1287
1376
|
function modelIdsFromExistingPicker(value) {
|
|
1288
1377
|
if (!value || typeof value !== "object" || Array.isArray(value)) return [];
|
|
1289
1378
|
const options = value.options;
|
|
@@ -1308,11 +1397,16 @@ async function injectModelPickerSettingsFile(settingsPath, profile) {
|
|
|
1308
1397
|
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) throw new Error(`settings.json at ${settingsPath} is not a JSON object; refusing to overwrite`);
|
|
1309
1398
|
existing = parsed;
|
|
1310
1399
|
}
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1400
|
+
let overwroteUserPicker = false;
|
|
1401
|
+
if ("modelPicker" in existing) {
|
|
1402
|
+
if (!routerWinsPicker(profile)) return {
|
|
1403
|
+
written: false,
|
|
1404
|
+
reason: "user-set",
|
|
1405
|
+
models: modelIdsFromExistingPicker(existing.modelPicker)
|
|
1406
|
+
};
|
|
1407
|
+
overwroteUserPicker = true;
|
|
1408
|
+
delete existing.modelPicker;
|
|
1409
|
+
}
|
|
1316
1410
|
if (options.length === 0) return {
|
|
1317
1411
|
written: false,
|
|
1318
1412
|
reason: "no-models",
|
|
@@ -1337,6 +1431,7 @@ async function injectModelPickerSettingsFile(settingsPath, profile) {
|
|
|
1337
1431
|
}
|
|
1338
1432
|
return {
|
|
1339
1433
|
written: true,
|
|
1434
|
+
...overwroteUserPicker ? { reason: "router-overwrite" } : {},
|
|
1340
1435
|
models: options.map((option) => option.model)
|
|
1341
1436
|
};
|
|
1342
1437
|
}
|
|
@@ -2196,7 +2291,7 @@ function collectToolFieldKeys(body) {
|
|
|
2196
2291
|
//#endregion
|
|
2197
2292
|
//#region package.json
|
|
2198
2293
|
var name = "github-router";
|
|
2199
|
-
var version = "0.3.
|
|
2294
|
+
var version = "0.3.318";
|
|
2200
2295
|
//#endregion
|
|
2201
2296
|
//#region src/lib/approval.ts
|
|
2202
2297
|
const awaitApproval = async () => {
|
|
@@ -5028,7 +5123,9 @@ async function handleNonClaudeResponses(c, opts) {
|
|
|
5028
5123
|
return stream;
|
|
5029
5124
|
}
|
|
5030
5125
|
const payload = parsedToResponsesPayload(parsed);
|
|
5031
|
-
const
|
|
5126
|
+
const result = await createResponses(payload, opts.model?.requestHeaders, void 0, true);
|
|
5127
|
+
extractAndRecordAic(opts.modelId, result);
|
|
5128
|
+
const anthropic = responsesResponseToAnthropicMessage(result, opts.modelId);
|
|
5032
5129
|
const usage = anthropic.usage;
|
|
5033
5130
|
logRequest({
|
|
5034
5131
|
method: "POST",
|
|
@@ -5084,7 +5181,9 @@ async function handleNonClaudeChat(c, opts) {
|
|
|
5084
5181
|
return stream;
|
|
5085
5182
|
}
|
|
5086
5183
|
const payload = parsedToChatPayload(parsed);
|
|
5087
|
-
const
|
|
5184
|
+
const result = await createChatCompletions(payload, opts.model?.requestHeaders, void 0, true);
|
|
5185
|
+
extractAndRecordAic(opts.modelId, result);
|
|
5186
|
+
const anthropic = chatResponseToAnthropicMessage(result, opts.modelId);
|
|
5088
5187
|
const usage = anthropic.usage;
|
|
5089
5188
|
logRequest({
|
|
5090
5189
|
method: "POST",
|
|
@@ -5248,16 +5347,37 @@ Object.freeze([MAX_LUNA_HIGH_ALIAS_ID, MAX_LUNA_MAX_ALIAS_ID]);
|
|
|
5248
5347
|
//#endregion
|
|
5249
5348
|
//#region src/lib/fast-request-preprocess.ts
|
|
5250
5349
|
const cheapFamily = (profileId) => profileId === "cheap" || profileId === "cheap1m" || profileId === "cheapest";
|
|
5350
|
+
const pinnedProfile = (profileId) => profileId === "fast" || cheapFamily(profileId);
|
|
5351
|
+
/**
|
|
5352
|
+
* Profiles whose every selectable `/model` row must stay at Claude Code's
|
|
5353
|
+
* 200K DEFAULT context window (bare id, no `[1m]` accounting bracket).
|
|
5354
|
+
* `fast` keeps 1M on lead and subagents by design; `cheap1m` keeps 1M on
|
|
5355
|
+
* the lead only (its subagents are bare-by-construction).
|
|
5356
|
+
*/
|
|
5357
|
+
const bareEnforcedProfile = (profileId) => profileId === "cheap" || profileId === "cheapest";
|
|
5358
|
+
function explicitEffortOf(value) {
|
|
5359
|
+
return typeof value === "string" && value.trim() !== "" ? value : void 0;
|
|
5360
|
+
}
|
|
5251
5361
|
/**
|
|
5252
5362
|
* Apply authenticated fast/cheap-profile model and effort policy before
|
|
5253
5363
|
* ordinary model resolution. Synthetic aliases are refused outside an
|
|
5254
|
-
* authenticated
|
|
5255
|
-
*
|
|
5256
|
-
*
|
|
5257
|
-
*
|
|
5364
|
+
* authenticated pinned launch, so raw/BYO traffic cannot opt itself into
|
|
5365
|
+
* private profile semantics. The cheap family (including cheapest) shares
|
|
5366
|
+
* fast's effort mapping (same model-to-effort rows, just bare subagent
|
|
5367
|
+
* slugs at the wiring layer), so this preprocess is shared.
|
|
5258
5368
|
* Note the reviewer differs: fast reviews on Sonnet 5/xhigh while cheap
|
|
5259
5369
|
* reviews on Luna/max and cheapest reviews on Gemini/high — all rows exist
|
|
5260
5370
|
* here, so each profile's reviewer resolves to its fixed effort.
|
|
5371
|
+
*
|
|
5372
|
+
* Pinned-profile isolation (fast/cheap/cheap1m/cheapest): only
|
|
5373
|
+
* router-provided models are accepted (anything else is `rejectedModel`).
|
|
5374
|
+
* Context: cheap/cheapest traffic is stripped to the bare 200K id;
|
|
5375
|
+
* cheap1m subagent traffic is stripped while its lead keeps 1M; fast
|
|
5376
|
+
* keeps 1M on both. Effort: picker changes apply to the lead session
|
|
5377
|
+
* only — lead requests keep an explicit `output_config.effort` when
|
|
5378
|
+
* present and fall back to the fixed mapping otherwise, while subagent
|
|
5379
|
+
* traffic (`x-claude-code-agent-id`) always receives its fixed
|
|
5380
|
+
* per-model effort.
|
|
5261
5381
|
*/
|
|
5262
5382
|
function preprocessFastRequest(rawBody, launch, subagentRequest = false) {
|
|
5263
5383
|
if (launch?.profileId === "max") return preprocessMaxRequest(rawBody, launch, subagentRequest);
|
|
@@ -5294,23 +5414,30 @@ function preprocessFastRequest(rawBody, launch, subagentRequest = false) {
|
|
|
5294
5414
|
modified: false
|
|
5295
5415
|
};
|
|
5296
5416
|
const { base: bare } = stripTrailingOneMSuffix(originalModel);
|
|
5297
|
-
|
|
5417
|
+
const profileId = launch?.profileId;
|
|
5418
|
+
const stripBracket = bareEnforcedProfile(profileId) || profileId === "cheap1m" && subagentRequest;
|
|
5419
|
+
const leadCallerControlled = pinnedProfile(profileId) && !subagentRequest;
|
|
5420
|
+
let fixedEffort;
|
|
5298
5421
|
if (alias) {
|
|
5299
|
-
|
|
5422
|
+
fixedEffort = alias.absentEffortDefault;
|
|
5300
5423
|
parsed.model = canonicalizeAliasModel(originalModel);
|
|
5301
|
-
} else if (bare === "gpt-5.6-luna")
|
|
5302
|
-
else if (bare === "gpt-5.6-sol")
|
|
5303
|
-
else if (bare === "grok-4.6")
|
|
5304
|
-
else if (bare === "gemini-3.8-flash")
|
|
5305
|
-
else if (bare === "claude-sonnet-5")
|
|
5306
|
-
else if (bare === "claude-opus-5")
|
|
5307
|
-
if (!
|
|
5424
|
+
} else if (bare === "gpt-5.6-luna") fixedEffort = "max";
|
|
5425
|
+
else if (bare === "gpt-5.6-sol") fixedEffort = "high";
|
|
5426
|
+
else if (bare === "grok-4.6") fixedEffort = "medium";
|
|
5427
|
+
else if (bare === "gemini-3.8-flash") fixedEffort = "high";
|
|
5428
|
+
else if (bare === "claude-sonnet-5") fixedEffort = "xhigh";
|
|
5429
|
+
else if (bare === "claude-opus-5") fixedEffort = "high";
|
|
5430
|
+
if (!fixedEffort && !alias) return {
|
|
5308
5431
|
body: rawBody,
|
|
5309
5432
|
originalModel,
|
|
5310
5433
|
modified: false,
|
|
5311
5434
|
rejectedModel: originalModel
|
|
5312
5435
|
};
|
|
5436
|
+
if (stripBracket && typeof parsed.model === "string") parsed.model = stripTrailingOneMSuffix(parsed.model).base;
|
|
5437
|
+
else if (stripBracket) parsed.model = bare;
|
|
5313
5438
|
const outputConfig = parsed.output_config && typeof parsed.output_config === "object" ? parsed.output_config : {};
|
|
5439
|
+
const explicitEffort = explicitEffortOf(outputConfig.effort);
|
|
5440
|
+
const effort = leadCallerControlled && explicitEffort ? explicitEffort : fixedEffort;
|
|
5314
5441
|
parsed.output_config = {
|
|
5315
5442
|
...outputConfig,
|
|
5316
5443
|
effort
|
|
@@ -7513,22 +7640,23 @@ function getClaudeCodeEnvVars(serverUrl, model, launchProfileId = "standard", pi
|
|
|
7513
7640
|
const isFastProfile = launchProfileId === "fast";
|
|
7514
7641
|
const isMaxProfile = launchProfileId === "max";
|
|
7515
7642
|
const isCheapProfile = launchProfileId === "cheap" || launchProfileId === "cheap1m" || launchProfileId === "cheapest";
|
|
7643
|
+
const routerWinsTiers = isFastProfile || isCheapProfile;
|
|
7516
7644
|
const smallFastModel = isMaxProfile ? MAX_LUNA_HIGH_ALIAS_ID : isFastProfile ? LUNA_HAIKU_ALIAS_ID : isCheapProfile ? LUNA_HAIKU_ALIAS_ID : isBudgetClaudeLead(model) && (state.models?.data?.some((m) => m.id === "claude-haiku-4.5") ?? false) ? BUDGET_SMALL_FAST_SLUG : "claude-sonnet-5";
|
|
7517
|
-
if (process.env.ANTHROPIC_SMALL_FAST_MODEL === void 0) vars.ANTHROPIC_SMALL_FAST_MODEL = (isFastProfile || isMaxProfile) && !isCheapProfile ? oneMSuffixForAlias(smallFastModel) : smallFastModel;
|
|
7645
|
+
if (process.env.ANTHROPIC_SMALL_FAST_MODEL === void 0 || routerWinsTiers) vars.ANTHROPIC_SMALL_FAST_MODEL = (isFastProfile || isMaxProfile) && !isCheapProfile ? oneMSuffixForAlias(smallFastModel) : smallFastModel;
|
|
7518
7646
|
const seedTierRow = (modelKey, nameKey, bareSlug) => {
|
|
7519
7647
|
if (process.env[modelKey] !== void 0) return;
|
|
7520
7648
|
vars[modelKey] = withOneMSuffixForLead(bareSlug);
|
|
7521
7649
|
if (process.env[nameKey] === void 0) vars[nameKey] = bareSlug;
|
|
7522
7650
|
};
|
|
7523
|
-
const seedFastAliasTierRow = (modelKey, nameKey, aliasId, displayName) => {
|
|
7524
|
-
if (process.env[modelKey] !== void 0) return;
|
|
7651
|
+
const seedFastAliasTierRow = (modelKey, nameKey, aliasId, displayName, force = false) => {
|
|
7652
|
+
if (!force && process.env[modelKey] !== void 0) return;
|
|
7525
7653
|
vars[modelKey] = oneMSuffixForAlias(aliasId);
|
|
7526
|
-
if (process.env[nameKey] === void 0) vars[nameKey] = displayName;
|
|
7654
|
+
if (force || process.env[nameKey] === void 0) vars[nameKey] = displayName;
|
|
7527
7655
|
};
|
|
7528
|
-
const seedCheapAliasTierRow = (modelKey, nameKey, aliasId, displayName) => {
|
|
7529
|
-
if (process.env[modelKey] !== void 0) return;
|
|
7656
|
+
const seedCheapAliasTierRow = (modelKey, nameKey, aliasId, displayName, force = false) => {
|
|
7657
|
+
if (!force && process.env[modelKey] !== void 0) return;
|
|
7530
7658
|
vars[modelKey] = aliasId;
|
|
7531
|
-
if (process.env[nameKey] === void 0) vars[nameKey] = displayName;
|
|
7659
|
+
if (force || process.env[nameKey] === void 0) vars[nameKey] = displayName;
|
|
7532
7660
|
};
|
|
7533
7661
|
if (isMaxProfile) {
|
|
7534
7662
|
const seedMaxRow = (modelKey, nameKey, id) => {
|
|
@@ -7544,26 +7672,26 @@ function getClaudeCodeEnvVars(serverUrl, model, launchProfileId = "standard", pi
|
|
|
7544
7672
|
if (process.env.ANTHROPIC_CUSTOM_MODEL_OPTION_NAME === void 0) vars.ANTHROPIC_CUSTOM_MODEL_OPTION_NAME = "GPT-5.6 Sol";
|
|
7545
7673
|
}
|
|
7546
7674
|
} else if (isCheapProfile) {
|
|
7547
|
-
seedCheapAliasTierRow("ANTHROPIC_DEFAULT_SONNET_MODEL", "ANTHROPIC_DEFAULT_SONNET_MODEL_NAME", LUNA_SONNET_ALIAS_ID, "GPT-5.6 Luna (xhigh)");
|
|
7548
|
-
seedCheapAliasTierRow("ANTHROPIC_DEFAULT_HAIKU_MODEL", "ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME", LUNA_HAIKU_ALIAS_ID, "GPT-5.6 Luna (high)");
|
|
7675
|
+
seedCheapAliasTierRow("ANTHROPIC_DEFAULT_SONNET_MODEL", "ANTHROPIC_DEFAULT_SONNET_MODEL_NAME", LUNA_SONNET_ALIAS_ID, "GPT-5.6 Luna (xhigh)", routerWinsTiers);
|
|
7676
|
+
seedCheapAliasTierRow("ANTHROPIC_DEFAULT_HAIKU_MODEL", "ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME", LUNA_HAIKU_ALIAS_ID, "GPT-5.6 Luna (high)", routerWinsTiers);
|
|
7549
7677
|
const cheapAliasCapabilities = "effort,xhigh_effort,max_effort,thinking,adaptive_thinking,interleaved_thinking";
|
|
7550
|
-
if (process.env.ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES === void 0) vars.ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES = cheapAliasCapabilities;
|
|
7551
|
-
if (process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES === void 0) vars.ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES = cheapAliasCapabilities;
|
|
7552
|
-
if (process.env.ANTHROPIC_CUSTOM_MODEL_OPTION === void 0) {
|
|
7678
|
+
if (routerWinsTiers || process.env.ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES === void 0) vars.ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES = cheapAliasCapabilities;
|
|
7679
|
+
if (routerWinsTiers || process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES === void 0) vars.ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES = cheapAliasCapabilities;
|
|
7680
|
+
if (routerWinsTiers || process.env.ANTHROPIC_CUSTOM_MODEL_OPTION === void 0) {
|
|
7553
7681
|
vars.ANTHROPIC_CUSTOM_MODEL_OPTION = LUNA_DRIVER_ALIAS_ID;
|
|
7554
|
-
if (process.env.ANTHROPIC_CUSTOM_MODEL_OPTION_NAME === void 0) vars.ANTHROPIC_CUSTOM_MODEL_OPTION_NAME = "GPT-5.6 Luna (max)";
|
|
7555
|
-
if (process.env.ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES === void 0) vars.ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES = cheapAliasCapabilities;
|
|
7682
|
+
if (routerWinsTiers || process.env.ANTHROPIC_CUSTOM_MODEL_OPTION_NAME === void 0) vars.ANTHROPIC_CUSTOM_MODEL_OPTION_NAME = "GPT-5.6 Luna (max)";
|
|
7683
|
+
if (routerWinsTiers || process.env.ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES === void 0) vars.ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES = cheapAliasCapabilities;
|
|
7556
7684
|
}
|
|
7557
7685
|
} else if (isFastProfile) {
|
|
7558
|
-
seedFastAliasTierRow("ANTHROPIC_DEFAULT_SONNET_MODEL", "ANTHROPIC_DEFAULT_SONNET_MODEL_NAME", LUNA_SONNET_ALIAS_ID, "GPT-5.6 Luna (xhigh)");
|
|
7559
|
-
seedFastAliasTierRow("ANTHROPIC_DEFAULT_HAIKU_MODEL", "ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME", LUNA_HAIKU_ALIAS_ID, "GPT-5.6 Luna (high)");
|
|
7686
|
+
seedFastAliasTierRow("ANTHROPIC_DEFAULT_SONNET_MODEL", "ANTHROPIC_DEFAULT_SONNET_MODEL_NAME", LUNA_SONNET_ALIAS_ID, "GPT-5.6 Luna (xhigh)", routerWinsTiers);
|
|
7687
|
+
seedFastAliasTierRow("ANTHROPIC_DEFAULT_HAIKU_MODEL", "ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME", LUNA_HAIKU_ALIAS_ID, "GPT-5.6 Luna (high)", routerWinsTiers);
|
|
7560
7688
|
const fastAliasCapabilities = "effort,xhigh_effort,max_effort,thinking,adaptive_thinking,interleaved_thinking";
|
|
7561
|
-
if (process.env.ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES === void 0) vars.ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES = fastAliasCapabilities;
|
|
7562
|
-
if (process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES === void 0) vars.ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES = fastAliasCapabilities;
|
|
7563
|
-
if (process.env.ANTHROPIC_CUSTOM_MODEL_OPTION === void 0) {
|
|
7689
|
+
if (routerWinsTiers || process.env.ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES === void 0) vars.ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES = fastAliasCapabilities;
|
|
7690
|
+
if (routerWinsTiers || process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES === void 0) vars.ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES = fastAliasCapabilities;
|
|
7691
|
+
if (routerWinsTiers || process.env.ANTHROPIC_CUSTOM_MODEL_OPTION === void 0) {
|
|
7564
7692
|
vars.ANTHROPIC_CUSTOM_MODEL_OPTION = oneMSuffixForAlias(LUNA_DRIVER_ALIAS_ID);
|
|
7565
|
-
if (process.env.ANTHROPIC_CUSTOM_MODEL_OPTION_NAME === void 0) vars.ANTHROPIC_CUSTOM_MODEL_OPTION_NAME = "GPT-5.6 Luna (max)";
|
|
7566
|
-
if (process.env.ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES === void 0) vars.ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES = fastAliasCapabilities;
|
|
7693
|
+
if (routerWinsTiers || process.env.ANTHROPIC_CUSTOM_MODEL_OPTION_NAME === void 0) vars.ANTHROPIC_CUSTOM_MODEL_OPTION_NAME = "GPT-5.6 Luna (max)";
|
|
7694
|
+
if (routerWinsTiers || process.env.ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES === void 0) vars.ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES = fastAliasCapabilities;
|
|
7567
7695
|
}
|
|
7568
7696
|
} else {
|
|
7569
7697
|
seedTierRow("ANTHROPIC_DEFAULT_SONNET_MODEL", "ANTHROPIC_DEFAULT_SONNET_MODEL_NAME", "claude-sonnet-5");
|
|
@@ -7660,6 +7788,6 @@ function getCodexEnvVars(serverUrl) {
|
|
|
7660
7788
|
return vars;
|
|
7661
7789
|
}
|
|
7662
7790
|
//#endregion
|
|
7663
|
-
export {
|
|
7791
|
+
export { validateCheapProfilePrerequisites as A, formatCheap1mPrerequisiteFailure as C, profileDescriptor as D, formatFastPrerequisiteFailure as E, checkClaudeVersion as F, updateClaude as I, validateFastProfilePrerequisites as M, validateMaxProfileLaunch as N, resolveLaunchProfile as O, runSelfUpdate as P, LUNA_SCOUT_ALIAS_ID as S, formatCheapestPrerequisiteFailure as T, CHEAP_EXPLORE_ALIAS_ID as _, sharedServerArgs as a, CHEAP_PLAN_ALIAS_ID as b, stopKeepAwake as c, enableFileLogging as d, CHEAPEST_EXPLORE_ALIAS_ID as f, CHEAPEST_REVIEWER_ALIAS_ID as g, CHEAPEST_PLAN_ALIAS_ID as h, setupAndServe as i, validateCheapestProfilePrerequisites as j, validateCheap1mProfilePrerequisites as k, injectModelPickerSettingsFile as l, CHEAPEST_IMPLEMENTER_ALIAS_ID as m, getCodexEnvVars as n, LAUNCH_SECRET_HEADER as o, CHEAPEST_GENERAL_PURPOSE_ALIAS_ID as p, parseSharedArgs as r, startKeepAwake as s, getClaudeCodeEnvVars as t, listModelsForEndpoint as u, CHEAP_GENERAL_PURPOSE_ALIAS_ID as v, formatCheapPrerequisiteFailure as w, CHEAP_REVIEWER_ALIAS_ID as x, CHEAP_IMPLEMENTER_ALIAS_ID as y };
|
|
7664
7792
|
|
|
7665
|
-
//# sourceMappingURL=server-setup-
|
|
7793
|
+
//# sourceMappingURL=server-setup-BOJCIEQi.js.map
|