@iaforged/context-code 2.3.3 → 2.3.5

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 (70) hide show
  1. package/context-bootstrap.js +7 -5
  2. package/dist/src/commands/login/login.js +1 -1
  3. package/dist/src/components/BaseTextInput.js +1 -1
  4. package/dist/src/components/LogoV2/AnimatedClawd.js +1 -1
  5. package/dist/src/components/LogoV2/Clawd.js +1 -1
  6. package/dist/src/components/LogoV2/LogoV2.js +1 -1
  7. package/dist/src/components/LogoV2/WelcomeV2.js +1 -1
  8. package/dist/src/components/PromptInput/PromptInputFooterLeftSide.js +1 -1
  9. package/dist/src/components/SessionTokenFooter.js +1 -1
  10. package/dist/src/components/Spinner.js +1 -1
  11. package/dist/src/components/Stats.js +1 -1
  12. package/dist/src/components/TeleportProgress.js +1 -1
  13. package/dist/src/components/TextInput.js +1 -1
  14. package/dist/src/components/design-system/ThemeProvider.js +1 -1
  15. package/dist/src/components/permissions/AskUserQuestionPermissionRequest/AskUserQuestionPermissionRequest.js +1 -1
  16. package/dist/src/main.js +1 -1
  17. package/dist/src/query/stopHooks.js +1 -1
  18. package/dist/src/screens/REPL.js +1 -1
  19. package/dist/src/services/PromptSuggestion/promptSuggestion.js +1 -1
  20. package/dist/src/services/analytics/config.js +1 -1
  21. package/dist/src/services/analytics/datadog.js +1 -1
  22. package/dist/src/services/mcp/config.js +1 -1
  23. package/dist/src/services/tips/tipRegistry.js +1 -1
  24. package/dist/src/services/toolUseSummary/toolUseSummaryGenerator.js +1 -1
  25. package/dist/src/tools/BriefTool/UI.js +1 -1
  26. package/dist/src/utils/computerControlMcp/mcpServer.js +1 -1
  27. package/dist/src/utils/computerControlMcp/server/.gitattributes +18 -0
  28. package/dist/src/utils/computerControlMcp/server/Dockerfile +25 -0
  29. package/dist/src/utils/computerControlMcp/server/LICENSE +21 -0
  30. package/dist/src/utils/computerControlMcp/server/MANIFEST.in +10 -0
  31. package/dist/src/utils/computerControlMcp/server/README.md +193 -0
  32. package/dist/src/utils/computerControlMcp/server/demonstration.gif +0 -0
  33. package/dist/src/utils/computerControlMcp/server/icon.png +0 -0
  34. package/dist/src/utils/computerControlMcp/server/pyproject.toml +52 -0
  35. package/dist/src/utils/computerControlMcp/server/smithery.yaml +13 -0
  36. package/dist/src/utils/computerControlMcp/server/src/README.md +12 -0
  37. package/dist/src/utils/computerControlMcp/server/src/computer_control_mcp/FZYTK.TTF +0 -0
  38. package/dist/src/utils/computerControlMcp/server/src/computer_control_mcp/__init__.py +11 -0
  39. package/dist/src/utils/computerControlMcp/server/src/computer_control_mcp/__main__.py +21 -0
  40. package/dist/src/utils/computerControlMcp/server/src/computer_control_mcp/cli.py +128 -0
  41. package/dist/src/utils/computerControlMcp/server/src/computer_control_mcp/core.py +1008 -0
  42. package/dist/src/utils/computerControlMcp/server/src/computer_control_mcp/gui.py +126 -0
  43. package/dist/src/utils/computerControlMcp/server/src/computer_control_mcp/server.py +15 -0
  44. package/dist/src/utils/computerControlMcp/server/src/computer_control_mcp/test.py +346 -0
  45. package/dist/src/utils/computerControlMcp/server/src/computer_control_mcp/test_image.png +0 -0
  46. package/dist/src/utils/computerControlMcp/server/tests/README.md +22 -0
  47. package/dist/src/utils/computerControlMcp/server/tests/conftest.py +10 -0
  48. package/dist/src/utils/computerControlMcp/server/tests/rapidocr_test.py +21 -0
  49. package/dist/src/utils/computerControlMcp/server/tests/run_cli.py +9 -0
  50. package/dist/src/utils/computerControlMcp/server/tests/run_server.py +15 -0
  51. package/dist/src/utils/computerControlMcp/server/tests/setup.py +16 -0
  52. package/dist/src/utils/computerControlMcp/server/tests/test_computer_control.py +161 -0
  53. package/dist/src/utils/computerControlMcp/server/tests/test_screenshot.py +14 -0
  54. package/dist/src/utils/computerControlMcp/server/tests/test_wgc_env_var.py +42 -0
  55. package/dist/src/utils/computerControlMcp/server/tests/test_wgc_screenshot.py +67 -0
  56. package/dist/src/utils/computerControlMcp/server/uv.lock +4986 -0
  57. package/dist/src/utils/computerControlMcp/setup.js +1 -1
  58. package/dist/src/utils/logoV2Utils.js +1 -1
  59. package/dist/src/utils/model/configs.js +1 -1
  60. package/dist/src/utils/model/model.js +1 -1
  61. package/dist/src/utils/model/modelOptions.js +1 -1
  62. package/dist/src/utils/model/providerModels.js +1 -1
  63. package/dist/src/utils/sembleMcp/setup.js +1 -1
  64. package/dist/src/utils/theme.js +1 -1
  65. package/dist/src/utils/themes/bootstrap.js +1 -1
  66. package/dist/src/utils/themes/opencodeMapper.js +1 -1
  67. package/dist/webapp/chunk-VAB2VXFI.js +1 -1
  68. package/dist/webapp/ngsw.json +1 -1
  69. package/dist/webapp/polyfills-7R4CRVNH.js +1 -1
  70. package/package.json +1 -1
@@ -1 +1 @@
1
- import{join as o}from"node:path";import{COMPUTER_CONTROL_MCP_SERVER_NAME as r,COMPUTER_CONTROL_MCP_TOOLS as m}from"./common.js";import{buildMcpToolName as t}from"../../services/mcp/mcpStringUtils.js";import{getCwd as p}from"../cwd.js";export function setupComputerControlMCP(){const c=m.map(o=>t(r,o)),s=o(p(),"CLI","src","utils","computerControlMcp","server"),e="win32"===process.platform?"py":"python3";return{mcpConfig:{[r]:{type:"stdio",command:e,args:["-m","computer_control_mcp.server"],env:{PYTHONPATH:o(s,"src")},scope:"dynamic"}},allowedTools:c}}
1
+ import{join as o,dirname as r}from"node:path";import{fileURLToPath as m}from"node:url";import{COMPUTER_CONTROL_MCP_SERVER_NAME as t,COMPUTER_CONTROL_MCP_TOOLS as e}from"./common.js";import{buildMcpToolName as p}from"../../services/mcp/mcpStringUtils.js";import{ensureUvAvailable as s}from"../sembleMcp/setup.js";export function setupComputerControlMCP(){const c=e.map(o=>p(t,o)),n=r(m(import.meta.url)),i=o(n,"server"),l=s();return{mcpConfig:{[t]:{type:"stdio",command:l,args:["run","--project",i,"-m","computer_control_mcp.server"],env:{PYTHONPATH:o(i,"src"),UV_SKIP_WHEEL_FILENAME_CHECK:"1"},scope:"dynamic"}},allowedTools:c}}
@@ -1 +1 @@
1
- import{MACRO as t}from"../recovery/bunBundleShim.js";import{getDirectConnectServerUrl as e,getSessionId as r}from"../bootstrap/state.js";import{stringWidth as n}from"../ink/stringWidth.js";import{getSubscriptionName as o,isClaudeAISubscriber as i}from"./auth.js";import{getCwd as s}from"./cwd.js";import{getDisplayPath as a}from"./file.js";import{getAPIProvider as c}from"./model/providers.js";import{getActiveProviderProfile as u}from"./model/providerProfiles.js";import{getStoredActiveProviderPreference as l}from"./model/providerProfilesDb.js";import{truncate as m,truncateToWidth as f,truncateToWidthNoEllipsis as p}from"./format.js";import{getStoredChangelogFromMemory as d,parseChangelog as h}from"./releaseNotes.js";import{gt as g}from"./semver.js";import{loadMessageLogs as $}from"./sessionStorage.js";import{getInitialSettings as x}from"./settings/settings.js";function getProviderAccountLabel(){switch(function(){const t=l();if(t)return t;const e=c();return"firstParty"===e?"claude":e}()){case"claude":return"Context";case"openai":return"OpenAI";case"openrouter":return"OpenRouter";case"ollama":return"Ollama";case"ollama-cloud":return"Ollama Cloud";case"zai":return"Z.AI";case"minimax":return"MiniMax Code Plan";default:return i()?o():"Context API"}}export function getLayoutMode(t){return t>=110?"horizontal":"compact"}export function calculateLayoutDimensions(t,e,r){if("horizontal"===e){const e=r,n=t-(7+e);let o=Math.max(30,n);const i=Math.min(e+o+1+2,t-4);return i<e+o+1+2&&(o=i-e-1-2),{leftWidth:e,rightWidth:o,totalWidth:i}}const n=Math.min(t-4,70);return{leftWidth:n,rightWidth:n,totalWidth:n}}export function calculateOptimalLeftWidth(t,e,r){const o=Math.max(n(t),n(e),n(r),20);return Math.min(o+4,50)}export function formatWelcomeMessage(t){return!t||t.length>20?"¡Bienvenido de nuevo!":`¡Bienvenido de nuevo ${t}!`}export function truncatePath(t,e){if(n(t)<=e)return t;const r="/",o="…",i=t.split(r),s=i[0]||"",a=i[i.length-1]||"",c=n(s),u=n(a);if(1===i.length)return f(t,e);if(""===s&&2+u>=e)return`${r}${f(a,Math.max(1,e-1))}`;if(""!==s&&3+u>=e)return`${o}${r}${f(a,Math.max(1,e-1-1))}`;if(2===i.length){return`${p(s,e-1-1-u)}${o}${r}${a}`}let l=e-c-u-1-2;if(l<=0){const t=Math.max(0,e-u-1-2);return`${p(s,t)}${r}${o}${r}${a}`}const m=[];for(let t=i.length-2;t>0;t--){const e=i[t];if(!(e&&n(e)+1<=l))break;m.unshift(e),l-=n(e)+1}return 0===m.length?`${s}${r}${o}${r}${a}`:`${s}${r}${o}${r}${m.join(r)}${r}${a}`}let M=[],v=null;export async function getRecentActivity(){if(v)return v;const t=r();return v=$(10).then(e=>(M=e.filter(e=>{if(e.isSidechain)return!1;if(e.sessionId===t)return!1;if(e.summary?.includes("I apologize"))return!1;const r=e.summary&&"No prompt"!==e.summary,n=e.firstPrompt&&"No prompt"!==e.firstPrompt;return r||n}).slice(0,3),M)).catch(()=>(M=[],M)),v}export function getRecentActivitySync(){return M}export function formatReleaseNoteForDisplay(t,e){return m(t,e)}export function getLogoDisplayData(){const r=process.env.DEMO_VERSION??t.VERSION,n=e(),o=process.env.DEMO_VERSION?"/code/claude":a(s());return{version:r,cwd:n?`${o} in ${n.replace(/^https?:\/\//,"")}`:o,billingType:getProviderAccountLabel(),agentName:u()?.agentName??x().agent}}export function formatModelAndBilling(t,e,r){return n(t)+3+n(e)>r?{shouldSplit:!0,truncatedModel:m(t,r),truncatedBilling:m(e,r)}:{shouldSplit:!1,truncatedModel:m(t,Math.max(r-n(e)-3,10)),truncatedBilling:e}}export function getRecentReleaseNotesSync(e){if("ant"===process.env.USER_TYPE){const r=t.VERSION_CHANGELOG;if(r){return r.trim().split("\n").filter(Boolean).slice(0,e)}return[]}const r=d();if(!r)return[];let n;try{n=h(r)}catch{return[]}const o=[],i=Object.keys(n).sort((t,e)=>g(t,e)?-1:1).slice(0,3);for(const t of i){const e=n[t];e&&o.push(...e)}return o.slice(0,e)}
1
+ import{MACRO as t}from"../recovery/bunBundleShim.js";import{getDirectConnectServerUrl as e,getSessionId as r}from"../bootstrap/state.js";import{stringWidth as n}from"../ink/stringWidth.js";import{getSubscriptionName as o,isClaudeAISubscriber as i}from"./auth.js";import{getCwd as s}from"./cwd.js";import{getDisplayPath as a}from"./file.js";import{getAPIProvider as c}from"./model/providers.js";import{getActiveProviderProfile as u}from"./model/providerProfiles.js";import{getStoredActiveProviderPreference as l}from"./model/providerProfilesDb.js";import{truncate as m,truncateToWidth as f,truncateToWidthNoEllipsis as p}from"./format.js";import{getStoredChangelogFromMemory as d,parseChangelog as h}from"./releaseNotes.js";import{gt as g}from"./semver.js";import{loadMessageLogs as $}from"./sessionStorage.js";import{getInitialSettings as x}from"./settings/settings.js";function getProviderAccountLabel(){switch(function(){const t=l();if(t)return t;const e=c();return"firstParty"===e?"claude":e}()){case"claude":return"Context";case"openai":return"OpenAI";case"openrouter":return"OpenRouter";case"ollama":return"Ollama";case"ollama-cloud":return"Ollama Cloud";case"zai":return"Z.AI";case"minimax":return"MiniMax Code Plan";default:return i()?o():"Context API"}}export function getLayoutMode(t){return t>=110?"horizontal":"compact"}export function calculateLayoutDimensions(t,e,r){if("horizontal"===e){const e=r,n=t-(7+e);let o=Math.max(30,n);const i=Math.min(e+o+1+2,t-4);return i<e+o+1+2&&(o=i-e-1-2),{leftWidth:e,rightWidth:o,totalWidth:i}}const n=Math.min(t-4,140);return{leftWidth:n,rightWidth:n,totalWidth:n}}export function calculateOptimalLeftWidth(t,e,r){const o=Math.max(n(t),n(e),n(r),20);return Math.min(o+4,120)}export function formatWelcomeMessage(t){return!t||t.length>20?"¡Bienvenido de nuevo!":`¡Bienvenido de nuevo ${t}!`}export function truncatePath(t,e){if(n(t)<=e)return t;const r="/",o="…",i=t.split(r),s=i[0]||"",a=i[i.length-1]||"",c=n(s),u=n(a);if(1===i.length)return f(t,e);if(""===s&&2+u>=e)return`${r}${f(a,Math.max(1,e-1))}`;if(""!==s&&3+u>=e)return`${o}${r}${f(a,Math.max(1,e-1-1))}`;if(2===i.length){return`${p(s,e-1-1-u)}${o}${r}${a}`}let l=e-c-u-1-2;if(l<=0){const t=Math.max(0,e-u-1-2);return`${p(s,t)}${r}${o}${r}${a}`}const m=[];for(let t=i.length-2;t>0;t--){const e=i[t];if(!(e&&n(e)+1<=l))break;m.unshift(e),l-=n(e)+1}return 0===m.length?`${s}${r}${o}${r}${a}`:`${s}${r}${o}${r}${m.join(r)}${r}${a}`}let M=[],v=null;export async function getRecentActivity(){if(v)return v;const t=r();return v=$(10).then(e=>(M=e.filter(e=>{if(e.isSidechain)return!1;if(e.sessionId===t)return!1;if(e.summary?.includes("I apologize"))return!1;const r=e.summary&&"No prompt"!==e.summary,n=e.firstPrompt&&"No prompt"!==e.firstPrompt;return r||n}).slice(0,3),M)).catch(()=>(M=[],M)),v}export function getRecentActivitySync(){return M}export function formatReleaseNoteForDisplay(t,e){return m(t,e)}export function getLogoDisplayData(){const r=process.env.DEMO_VERSION??t.VERSION,n=e(),o=process.env.DEMO_VERSION?"/code/claude":a(s());return{version:r,cwd:n?`${o} in ${n.replace(/^https?:\/\//,"")}`:o,billingType:getProviderAccountLabel(),agentName:u()?.agentName??x().agent}}export function formatModelAndBilling(t,e,r){return n(t)+3+n(e)>r?{shouldSplit:!0,truncatedModel:m(t,r),truncatedBilling:m(e,r)}:{shouldSplit:!1,truncatedModel:m(t,Math.max(r-n(e)-3,10)),truncatedBilling:e}}export function getRecentReleaseNotesSync(e){if("ant"===process.env.USER_TYPE){const r=t.VERSION_CHANGELOG;if(r){return r.trim().split("\n").filter(Boolean).slice(0,e)}return[]}const r=d();if(!r)return[];let n;try{n=h(r)}catch{return[]}const o=[],i=Object.keys(n).sort((t,e)=>g(t,e)?-1:1).slice(0,3);for(const t of i){const e=n[t];e&&o.push(...e)}return o.slice(0,e)}
@@ -1 +1 @@
1
- export const CLAUDE_3_7_SONNET_CONFIG={firstParty:"claude-3-7-sonnet-20250219",bedrock:"us.anthropic.claude-3-7-sonnet-20250219-v1:0",vertex:"claude-3-7-sonnet@20250219",foundry:"claude-3-7-sonnet"};export const CLAUDE_3_5_V2_SONNET_CONFIG={firstParty:"claude-3-5-sonnet-20241022",bedrock:"anthropic.claude-3-5-sonnet-20241022-v2:0",vertex:"claude-3-5-sonnet-v2@20241022",foundry:"claude-3-5-sonnet"};export const CLAUDE_3_5_HAIKU_CONFIG={firstParty:"claude-3-5-haiku-20241022",bedrock:"us.anthropic.claude-3-5-haiku-20241022-v1:0",vertex:"claude-3-5-haiku@20241022",foundry:"claude-3-5-haiku"};export const CLAUDE_HAIKU_4_5_CONFIG={firstParty:"claude-haiku-4-5-20251001",bedrock:"us.anthropic.claude-haiku-4-5-20251001-v1:0",vertex:"claude-haiku-4-5@20251001",foundry:"claude-haiku-4-5"};export const CLAUDE_SONNET_4_CONFIG={firstParty:"claude-sonnet-4-20250514",bedrock:"us.anthropic.claude-sonnet-4-20250514-v1:0",vertex:"claude-sonnet-4@20250514",foundry:"claude-sonnet-4"};export const CLAUDE_SONNET_4_5_CONFIG={firstParty:"claude-sonnet-4-5-20250929",bedrock:"us.anthropic.claude-sonnet-4-5-20250929-v1:0",vertex:"claude-sonnet-4-5@20250929",foundry:"claude-sonnet-4-5"};export const CLAUDE_OPUS_4_CONFIG={firstParty:"claude-opus-4-20250514",bedrock:"us.anthropic.claude-opus-4-20250514-v1:0",vertex:"claude-opus-4@20250514",foundry:"claude-opus-4"};export const CLAUDE_OPUS_4_1_CONFIG={firstParty:"claude-opus-4-1-20250805",bedrock:"us.anthropic.claude-opus-4-1-20250805-v1:0",vertex:"claude-opus-4-1@20250805",foundry:"claude-opus-4-1"};export const CLAUDE_OPUS_4_5_CONFIG={firstParty:"claude-opus-4-5-20251101",bedrock:"us.anthropic.claude-opus-4-5-20251101-v1:0",vertex:"claude-opus-4-5@20251101",foundry:"claude-opus-4-5"};export const CLAUDE_OPUS_4_6_CONFIG={firstParty:"claude-opus-4-6",bedrock:"us.anthropic.claude-opus-4-6-v1",vertex:"claude-opus-4-6",foundry:"claude-opus-4-6"};export const CLAUDE_OPUS_4_7_CONFIG={firstParty:"claude-opus-4-7",bedrock:"us.anthropic.claude-opus-4-7-v1",vertex:"claude-opus-4-7",foundry:"claude-opus-4-7"};export const CLAUDE_OPUS_4_8_CONFIG={firstParty:"claude-opus-4-8",bedrock:"us.anthropic.claude-opus-4-8-v1",vertex:"claude-opus-4-8",foundry:"claude-opus-4-8"};export const CLAUDE_SONNET_4_6_CONFIG={firstParty:"claude-sonnet-4-6",bedrock:"us.anthropic.claude-sonnet-4-6",vertex:"claude-sonnet-4-6",foundry:"claude-sonnet-4-6"};export const ALL_MODEL_CONFIGS={haiku35:CLAUDE_3_5_HAIKU_CONFIG,haiku45:CLAUDE_HAIKU_4_5_CONFIG,sonnet35:CLAUDE_3_5_V2_SONNET_CONFIG,sonnet37:CLAUDE_3_7_SONNET_CONFIG,sonnet40:CLAUDE_SONNET_4_CONFIG,sonnet45:CLAUDE_SONNET_4_5_CONFIG,sonnet46:CLAUDE_SONNET_4_6_CONFIG,opus40:CLAUDE_OPUS_4_CONFIG,opus41:CLAUDE_OPUS_4_1_CONFIG,opus45:CLAUDE_OPUS_4_5_CONFIG,opus46:CLAUDE_OPUS_4_6_CONFIG,opus47:CLAUDE_OPUS_4_7_CONFIG,opus48:CLAUDE_OPUS_4_8_CONFIG};export const CANONICAL_MODEL_IDS=Object.values(ALL_MODEL_CONFIGS).map(e=>e.firstParty);export const CANONICAL_ID_TO_KEY=Object.fromEntries(Object.entries(ALL_MODEL_CONFIGS).map(([e,o])=>[o.firstParty,e]));
1
+ export const CLAUDE_3_7_SONNET_CONFIG={firstParty:"claude-3-7-sonnet-20250219",bedrock:"us.anthropic.claude-3-7-sonnet-20250219-v1:0",vertex:"claude-3-7-sonnet@20250219",foundry:"claude-3-7-sonnet"};export const CLAUDE_3_5_V2_SONNET_CONFIG={firstParty:"claude-3-5-sonnet-20241022",bedrock:"anthropic.claude-3-5-sonnet-20241022-v2:0",vertex:"claude-3-5-sonnet-v2@20241022",foundry:"claude-3-5-sonnet"};export const CLAUDE_3_5_HAIKU_CONFIG={firstParty:"claude-3-5-haiku-20241022",bedrock:"us.anthropic.claude-3-5-haiku-20241022-v1:0",vertex:"claude-3-5-haiku@20241022",foundry:"claude-3-5-haiku"};export const CLAUDE_HAIKU_4_5_CONFIG={firstParty:"claude-haiku-4-5-20251001",bedrock:"us.anthropic.claude-haiku-4-5-20251001-v1:0",vertex:"claude-haiku-4-5@20251001",foundry:"claude-haiku-4-5"};export const CLAUDE_SONNET_4_CONFIG={firstParty:"claude-sonnet-4-20250514",bedrock:"us.anthropic.claude-sonnet-4-20250514-v1:0",vertex:"claude-sonnet-4@20250514",foundry:"claude-sonnet-4"};export const CLAUDE_SONNET_4_5_CONFIG={firstParty:"claude-sonnet-4-5-20250929",bedrock:"us.anthropic.claude-sonnet-4-5-20250929-v1:0",vertex:"claude-sonnet-4-5@20250929",foundry:"claude-sonnet-4-5"};export const CLAUDE_OPUS_4_CONFIG={firstParty:"claude-opus-4-20250514",bedrock:"us.anthropic.claude-opus-4-20250514-v1:0",vertex:"claude-opus-4@20250514",foundry:"claude-opus-4"};export const CLAUDE_OPUS_4_1_CONFIG={firstParty:"claude-opus-4-1-20250805",bedrock:"us.anthropic.claude-opus-4-1-20250805-v1:0",vertex:"claude-opus-4-1@20250805",foundry:"claude-opus-4-1"};export const CLAUDE_OPUS_4_5_CONFIG={firstParty:"claude-opus-4-5-20251101",bedrock:"us.anthropic.claude-opus-4-5-20251101-v1:0",vertex:"claude-opus-4-5@20251101",foundry:"claude-opus-4-5"};export const CLAUDE_OPUS_4_6_CONFIG={firstParty:"claude-opus-4-6",bedrock:"us.anthropic.claude-opus-4-6-v1",vertex:"claude-opus-4-6",foundry:"claude-opus-4-6"};export const CLAUDE_OPUS_4_7_CONFIG={firstParty:"claude-opus-4-7",bedrock:"us.anthropic.claude-opus-4-7-v1",vertex:"claude-opus-4-7",foundry:"claude-opus-4-7"};export const CLAUDE_OPUS_4_8_CONFIG={firstParty:"claude-opus-4-8",bedrock:"us.anthropic.claude-opus-4-8-v1",vertex:"claude-opus-4-8",foundry:"claude-opus-4-8"};export const CLAUDE_SONNET_4_6_CONFIG={firstParty:"claude-sonnet-4-6",bedrock:"us.anthropic.claude-sonnet-4-6",vertex:"claude-sonnet-4-6",foundry:"claude-sonnet-4-6"};export const CLAUDE_FABLE_5_CONFIG={firstParty:"claude-fable-5",bedrock:"us.anthropic.claude-fable-5-v1",vertex:"claude-fable-5",foundry:"claude-fable-5"};export const ALL_MODEL_CONFIGS={haiku35:CLAUDE_3_5_HAIKU_CONFIG,haiku45:CLAUDE_HAIKU_4_5_CONFIG,sonnet35:CLAUDE_3_5_V2_SONNET_CONFIG,sonnet37:CLAUDE_3_7_SONNET_CONFIG,sonnet40:CLAUDE_SONNET_4_CONFIG,sonnet45:CLAUDE_SONNET_4_5_CONFIG,sonnet46:CLAUDE_SONNET_4_6_CONFIG,opus40:CLAUDE_OPUS_4_CONFIG,opus41:CLAUDE_OPUS_4_1_CONFIG,opus45:CLAUDE_OPUS_4_5_CONFIG,opus46:CLAUDE_OPUS_4_6_CONFIG,opus47:CLAUDE_OPUS_4_7_CONFIG,opus48:CLAUDE_OPUS_4_8_CONFIG,fable5:CLAUDE_FABLE_5_CONFIG};export const CANONICAL_MODEL_IDS=Object.values(ALL_MODEL_CONFIGS).map(e=>e.firstParty);export const CANONICAL_ID_TO_KEY=Object.fromEntries(Object.entries(ALL_MODEL_CONFIGS).map(([e,o])=>[o.firstParty,e]));
@@ -1 +1 @@
1
- import{getMainLoopModelOverride as e}from"../../bootstrap/state.js";import{getSubscriptionType as t,isClaudeAISubscriber as n,isMaxSubscriber as o,isProSubscriber as r,isTeamPremiumSubscriber as u}from"../auth.js";import{has1mContext as s,is1mContextDisabled as i,modelSupports1M as l}from"../context.js";import{isEnvTruthy as a}from"../envUtils.js";import{getModelStrings as c,resolveOverriddenModel as d}from"./modelStrings.js";import{resolveAntModel as p,getAntModelOverrideConfig as f}from"./antModels.js";export{p as resolveAntModel,f as getAntModelOverrideConfig};import{formatModelPricing as m,getOpus46CostTier as M}from"../modelCost.js";import{getSettings_DEPRECATED as g}from"../settings/settings.js";import{getAPIProvider as O,isOpenAICompatibleProvider as x}from"./providers.js";import{LIGHTNING_BOLT as D}from"../../constants/figures.js";import{isModelAllowed as S}from"./modelAllowlist.js";import{isModelAlias as P}from"./aliases.js";import{capitalize as E}from"../stringUtils.js";export function isOpenAIProvider(){return x(O())}export function isGeminiProvider(){const e=O();return"gemini-api"===e||"gemini-google"===e}export function getSmallFastModel(){return process.env.ANTHROPIC_SMALL_FAST_MODEL||getDefaultHaikuModel()}export function isNonCustomOpusModel(e){return e===c().opus40||e===c().opus41||e===c().opus45||e===c().opus46||e===c().opus47||e===c().opus48}export function getUserSpecifiedModelSetting(){let t;const n=e();if(void 0!==n)t=n;else{const e=g()||{};t=process.env.ANTHROPIC_MODEL||e.model||void 0}if(!t||S(t))return t}export function getMainLoopModel(){const e=getUserSpecifiedModelSetting();return null!=e?parseUserSpecifiedModel(e):getDefaultMainLoopModel()}export function getBestModel(){return isGeminiProvider()?getDefaultGeminiModel():isOpenAIProvider()?getDefaultOpenAIModel():getDefaultOpusModel()}export function getDefaultOpusModel(){return process.env.ANTHROPIC_DEFAULT_OPUS_MODEL?process.env.ANTHROPIC_DEFAULT_OPUS_MODEL:(O(),c().opus48)}export function getDefaultSonnetModel(){return process.env.ANTHROPIC_DEFAULT_SONNET_MODEL?process.env.ANTHROPIC_DEFAULT_SONNET_MODEL:"firstParty"!==O()?c().sonnet45:c().sonnet46}export function getDefaultHaikuModel(){return process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL?process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL:c().haiku45}export function getDefaultOpenAIModel(){return process.env.OPENAI_DEFAULT_MODEL||"gpt-5.4"}export function getDefaultOpenAIFastModel(){return process.env.OPENAI_DEFAULT_FAST_MODEL||"gpt-5.4-mini"}export function getDefaultGeminiModel(){return process.env.GEMINI_DEFAULT_MODEL||"gemini-3.5-pro"}export function getDefaultGeminiFastModel(){return process.env.GEMINI_DEFAULT_FAST_MODEL||"gemini-3.5-flash"}export function getRuntimeMainLoopModel(e){const{permissionMode:t,mainLoopModel:n,exceeds200kTokens:o=!1}=e;return"opusplan"!==getUserSpecifiedModelSetting()||"plan"!==t||o?"haiku"===getUserSpecifiedModelSetting()&&"plan"===t?getDefaultSonnetModel():n:getDefaultOpusModel()}export function getDefaultMainLoopModelSetting(){return"ant"===process.env.USER_TYPE?f()?.defaultModel??getDefaultOpusModel()+"[1m]":isGeminiProvider()?getDefaultGeminiModel():isOpenAIProvider()?getDefaultOpenAIModel():o()||u()?getDefaultOpusModel()+(isOpus1mMergeEnabled()?"[1m]":""):getDefaultSonnetModel()}export function getDefaultMainLoopModel(){return parseUserSpecifiedModel(getDefaultMainLoopModelSetting())}export function firstPartyNameToCanonical(e){if(!e)return e;if((e=e.toLowerCase()).includes("claude-opus-4-8"))return"claude-opus-4-8";if(e.includes("claude-opus-4-7"))return"claude-opus-4-7";if(e.includes("claude-opus-4-6"))return"claude-opus-4-6";if(e.includes("claude-opus-4-5"))return"claude-opus-4-5";if(e.includes("claude-opus-4-1"))return"claude-opus-4-1";if(e.includes("claude-opus-4"))return"claude-opus-4";if(e.includes("claude-sonnet-4-6"))return"claude-sonnet-4-6";if(e.includes("claude-sonnet-4-5"))return"claude-sonnet-4-5";if(e.includes("claude-sonnet-4"))return"claude-sonnet-4";if(e.includes("claude-haiku-4-5"))return"claude-haiku-4-5";if(e.includes("claude-3-7-sonnet"))return"claude-3-7-sonnet";if(e.includes("claude-3-5-sonnet"))return"claude-3-5-sonnet";if(e.includes("claude-3-5-haiku"))return"claude-3-5-haiku";if(e.includes("claude-3-opus"))return"claude-3-opus";if(e.includes("claude-3-sonnet"))return"claude-3-sonnet";if(e.includes("claude-3-haiku"))return"claude-3-haiku";const t=e.match(/(claude-(\d+-\d+-)?\w+)/);return t&&t[1]?t[1]:e}export function getCanonicalName(e){return firstPartyNameToCanonical(d(e))}export function getClaudeAiUserDefaultModelDescription(e=!1){return o()||u()?isOpus1mMergeEnabled()?`Opus 4.7 con contexto de 1M · El más capaz para tareas complejas${e?getOpus46PricingSuffix(!0):""}`:`Opus 4.7 · El más capaz para tareas complejas${e?getOpus46PricingSuffix(!0):""}`:"Sonnet 4.6 · Lo mejor para tareas cotidianas"}export function renderDefaultModelSetting(e){return"opusplan"===e?"Opus 4.7 en modo plan, de lo contrario Sonnet 4.6":renderModelName(parseUserSpecifiedModel(e))}export function getOpus46PricingSuffix(e){if("firstParty"!==O())return"";const t=m(M(e));return` ·${e?` (${D})`:""} ${t}`}export function isOpus1mMergeEnabled(){return!i()&&!r()&&"firstParty"===O()&&(!n()||null!==t())}export function renderModelSetting(e){return"opusplan"===e?"Plan Opus":P(e)?E(e):renderModelName(e)}export function getPublicModelDisplayName(e){switch(e){case c().opus48:return"Opus 4.8";case c().opus48+"[1m]":return"Opus 4.8 (1M context)";case c().opus47:return"Opus 4.7";case c().opus47+"[1m]":return"Opus 4.7 (1M context)";case c().opus46:return"Opus 4.6";case c().opus46+"[1m]":return"Opus 4.6 (1M context)";case c().opus45:return"Opus 4.5";case c().opus41:return"Opus 4.1";case c().opus40:return"Opus 4";case c().sonnet46+"[1m]":return"Sonnet 4.6 (1M context)";case c().sonnet46:return"Sonnet 4.6";case c().sonnet45+"[1m]":return"Sonnet 4.5 (1M context)";case c().sonnet45:return"Sonnet 4.5";case c().sonnet40:return"Sonnet 4";case c().sonnet40+"[1m]":return"Sonnet 4 (1M context)";case c().sonnet37:return"Sonnet 3.7";case c().sonnet35:return"Sonnet 3.5";case c().haiku45:return"Haiku 4.5";case c().haiku35:return"Haiku 3.5";default:return null}}export function renderModelName(e){const t=getPublicModelDisplayName(e);if(t)return t;if("ant"===process.env.USER_TYPE){const t=parseUserSpecifiedModel(e),n=p(e);if(n){const e=function(e){const[t="",...n]=e.split("-");return[t.slice(0,3)+"*".repeat(Math.max(0,t.length-3)),...n].join("-")}(n.model.replace(/\[1m\]$/i,""));return e+(s(t)?"[1m]":"")}return t!==e?`${e} (${t})`:t}return e}export function getPublicModelName(e){const t=getPublicModelDisplayName(e);return t||e}export function parseUserSpecifiedModel(e){const t=getDefaultMainLoopModelSetting(),n=("string"==typeof e&&e.trim().length>0?e:"string"==typeof t&&t.trim().length>0?t:getDefaultOpenAIModel()).trim(),o=n.toLowerCase(),r=s(o),u=r?o.replace(/\[1m]$/i,"").trim():o;if(isOpenAIProvider()&&P(u))return"best"===u?getBestModel():r?n.replace(/\[1m\]$/i,"").trim()+"[1m]":n;if(P(u))switch(u){case"best":return getBestModel();case"opusplan":case"sonnet":return getDefaultSonnetModel()+(r?"[1m]":"");case"haiku":return getDefaultHaikuModel()+(r?"[1m]":"");case"opus":return getDefaultOpusModel()+(r?"[1m]":"")}if("firstParty"===O()&&(i=u,T.includes(i))&&isLegacyModelRemapEnabled())return getDefaultOpusModel()+(r?"[1m]":"");var i;if("ant"===process.env.USER_TYPE){const e=s(o),t=o.replace(/\[1m]$/i,"").trim(),n=p(t);if(n){const t=e?"[1m]":"";return n.model+t}}return r?n.replace(/\[1m\]$/i,"").trim()+"[1m]":n}export function resolveSkillModelOverride(e,t){return s(e)||!s(t)?e:l(parseUserSpecifiedModel(e))?e+"[1m]":e}const T=["claude-opus-4-20250514","claude-opus-4-1-20250805","claude-opus-4-0","claude-opus-4-1"];export function isLegacyModelRemapEnabled(){return!a(process.env.CONTEXT_CODE_DISABLE_LEGACY_MODEL_REMAP)&&!a(process.env.CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP)}export function modelDisplayString(e){if(null===e)return"ant"===process.env.USER_TYPE?`Predeterminado para Ants (${renderDefaultModelSetting(getDefaultMainLoopModelSetting())})`:n()?`Predeterminado (${getClaudeAiUserDefaultModelDescription()})`:`Predeterminado (${renderModelName(getDefaultMainLoopModel())})`;const t=parseUserSpecifiedModel(e);return isOpenAIProvider()?e===t?renderModelName(t):`${e} (${renderModelName(t)})`:e===t?t:`${e} (${t})`}export function getMarketingNameForModel(e){if(!e)return;if("foundry"===O())return;const t=e.toLowerCase().includes("[1m]"),n=getCanonicalName(e);return n.includes("claude-opus-4-8")?t?"Opus 4.8 (with 1M context)":"Opus 4.8":n.includes("claude-opus-4-7")?t?"Opus 4.7 (with 1M context)":"Opus 4.7":n.includes("claude-opus-4-6")?t?"Opus 4.6 (with 1M context)":"Opus 4.6":n.includes("claude-opus-4-5")?"Opus 4.5":n.includes("claude-opus-4-1")?"Opus 4.1":n.includes("claude-opus-4")?"Opus 4":n.includes("claude-sonnet-4-6")?t?"Sonnet 4.6 (with 1M context)":"Sonnet 4.6":n.includes("claude-sonnet-4-5")?t?"Sonnet 4.5 (with 1M context)":"Sonnet 4.5":n.includes("claude-sonnet-4")?t?"Sonnet 4 (with 1M context)":"Sonnet 4":n.includes("claude-3-7-sonnet")?"3.7 Sonnet":n.includes("claude-3-5-sonnet")?"3.5 Sonnet":n.includes("claude-haiku-4-5")?"Haiku 4.5":n.includes("claude-3-5-haiku")?"3.5 Haiku":n.includes("gpt-5.3-codex")?"GPT-5.3 Codex":n.includes("gpt-5.5-pro")?"GPT-5.5 Pro":n.includes("gpt-5.5")?"GPT-5.5":n.includes("gpt-5.2-codex")?"GPT-5.2 Codex":n.includes("gpt-5.1-codex-max")?"GPT-5.1 Codex Max":n.includes("gpt-5.1-codex-mini")?"GPT-5.1 Codex mini":n.includes("gpt-5.1-codex")?"GPT-5.1 Codex":n.includes("gpt-5.3")?"GPT-5.3":n.includes("gpt-5.2")?"GPT-5.2":n.includes("gpt-5.1")?"GPT-5.1":n.includes("gpt-5-codex")?"GPT-5 Codex":n.includes("gpt-5-chat-latest")?"GPT-5 Chat":n.includes("gpt-5-mini")?"GPT-5 mini":n.includes("gpt-5-nano")?"GPT-5 nano":n.includes("gpt-5-pro")?"GPT-5 Pro":n.includes("gpt-5")?"GPT-5":n.includes("gpt-4o-mini")?"GPT-4o mini":n.includes("gpt-4o")?"GPT-4o":n.includes("codex-mini-latest")?"Codex mini":void 0}export function normalizeModelStringForAPI(e){return e.replace(/\[(1|2)m\]/gi,"")}
1
+ import{getMainLoopModelOverride as e}from"../../bootstrap/state.js";import{getSubscriptionType as t,isClaudeAISubscriber as n,isMaxSubscriber as o,isProSubscriber as r,isTeamPremiumSubscriber as u}from"../auth.js";import{has1mContext as s,is1mContextDisabled as i,modelSupports1M as l}from"../context.js";import{isEnvTruthy as a}from"../envUtils.js";import{getModelStrings as c,resolveOverriddenModel as d}from"./modelStrings.js";import{resolveAntModel as p,getAntModelOverrideConfig as f}from"./antModels.js";export{p as resolveAntModel,f as getAntModelOverrideConfig};import{formatModelPricing as m,getOpus46CostTier as M}from"../modelCost.js";import{getSettings_DEPRECATED as g}from"../settings/settings.js";import{getAPIProvider as O,isOpenAICompatibleProvider as x}from"./providers.js";import{LIGHTNING_BOLT as D}from"../../constants/figures.js";import{isModelAllowed as S}from"./modelAllowlist.js";import{isModelAlias as P}from"./aliases.js";import{capitalize as E}from"../stringUtils.js";export function isOpenAIProvider(){return x(O())}export function isGeminiProvider(){const e=O();return"gemini-api"===e||"gemini-google"===e}export function getSmallFastModel(){return process.env.ANTHROPIC_SMALL_FAST_MODEL||getDefaultHaikuModel()}export function isNonCustomOpusModel(e){return e===c().opus40||e===c().opus41||e===c().opus45||e===c().opus46||e===c().opus47||e===c().opus48}export function getUserSpecifiedModelSetting(){let t;const n=e();if(void 0!==n)t=n;else{const e=g()||{};t=process.env.ANTHROPIC_MODEL||e.model||void 0}if(!t||S(t))return t}export function getMainLoopModel(){const e=getUserSpecifiedModelSetting();return null!=e?parseUserSpecifiedModel(e):getDefaultMainLoopModel()}export function getBestModel(){return isGeminiProvider()?getDefaultGeminiModel():isOpenAIProvider()?getDefaultOpenAIModel():getDefaultOpusModel()}export function getDefaultOpusModel(){return process.env.ANTHROPIC_DEFAULT_OPUS_MODEL?process.env.ANTHROPIC_DEFAULT_OPUS_MODEL:(O(),c().opus48)}export function getDefaultSonnetModel(){return process.env.ANTHROPIC_DEFAULT_SONNET_MODEL?process.env.ANTHROPIC_DEFAULT_SONNET_MODEL:"firstParty"!==O()?c().sonnet45:c().sonnet46}export function getDefaultHaikuModel(){return process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL?process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL:c().haiku45}export function getDefaultOpenAIModel(){return process.env.OPENAI_DEFAULT_MODEL||"gpt-5.4"}export function getDefaultOpenAIFastModel(){return process.env.OPENAI_DEFAULT_FAST_MODEL||"gpt-5.4-mini"}export function getDefaultGeminiModel(){return process.env.GEMINI_DEFAULT_MODEL||"gemini-3.5-pro"}export function getDefaultGeminiFastModel(){return process.env.GEMINI_DEFAULT_FAST_MODEL||"gemini-3.5-flash"}export function getRuntimeMainLoopModel(e){const{permissionMode:t,mainLoopModel:n,exceeds200kTokens:o=!1}=e;return"opusplan"!==getUserSpecifiedModelSetting()||"plan"!==t||o?"haiku"===getUserSpecifiedModelSetting()&&"plan"===t?getDefaultSonnetModel():n:getDefaultOpusModel()}export function getDefaultMainLoopModelSetting(){return"ant"===process.env.USER_TYPE?f()?.defaultModel??getDefaultOpusModel()+"[1m]":isGeminiProvider()?getDefaultGeminiModel():isOpenAIProvider()?getDefaultOpenAIModel():o()||u()?getDefaultOpusModel()+(isOpus1mMergeEnabled()?"[1m]":""):getDefaultSonnetModel()}export function getDefaultMainLoopModel(){return parseUserSpecifiedModel(getDefaultMainLoopModelSetting())}export function firstPartyNameToCanonical(e){if(!e)return e;if((e=e.toLowerCase()).includes("claude-fable-5"))return"claude-fable-5";if(e.includes("claude-opus-4-8"))return"claude-opus-4-8";if(e.includes("claude-opus-4-7"))return"claude-opus-4-7";if(e.includes("claude-opus-4-6"))return"claude-opus-4-6";if(e.includes("claude-opus-4-5"))return"claude-opus-4-5";if(e.includes("claude-opus-4-1"))return"claude-opus-4-1";if(e.includes("claude-opus-4"))return"claude-opus-4";if(e.includes("claude-sonnet-4-6"))return"claude-sonnet-4-6";if(e.includes("claude-sonnet-4-5"))return"claude-sonnet-4-5";if(e.includes("claude-sonnet-4"))return"claude-sonnet-4";if(e.includes("claude-haiku-4-5"))return"claude-haiku-4-5";if(e.includes("claude-3-7-sonnet"))return"claude-3-7-sonnet";if(e.includes("claude-3-5-sonnet"))return"claude-3-5-sonnet";if(e.includes("claude-3-5-haiku"))return"claude-3-5-haiku";if(e.includes("claude-3-opus"))return"claude-3-opus";if(e.includes("claude-3-sonnet"))return"claude-3-sonnet";if(e.includes("claude-3-haiku"))return"claude-3-haiku";const t=e.match(/(claude-(\d+-\d+-)?\w+)/);return t&&t[1]?t[1]:e}export function getCanonicalName(e){return firstPartyNameToCanonical(d(e))}export function getClaudeAiUserDefaultModelDescription(e=!1){return o()||u()?isOpus1mMergeEnabled()?`Opus 4.7 con contexto de 1M · El más capaz para tareas complejas${e?getOpus46PricingSuffix(!0):""}`:`Opus 4.7 · El más capaz para tareas complejas${e?getOpus46PricingSuffix(!0):""}`:"Sonnet 4.6 · Lo mejor para tareas cotidianas"}export function renderDefaultModelSetting(e){return"opusplan"===e?"Opus 4.7 en modo plan, de lo contrario Sonnet 4.6":renderModelName(parseUserSpecifiedModel(e))}export function getOpus46PricingSuffix(e){if("firstParty"!==O())return"";const t=m(M(e));return` ·${e?` (${D})`:""} ${t}`}export function isOpus1mMergeEnabled(){return!i()&&!r()&&"firstParty"===O()&&(!n()||null!==t())}export function renderModelSetting(e){return"opusplan"===e?"Plan Opus":P(e)?E(e):renderModelName(e)}export function getPublicModelDisplayName(e){switch(e){case c().opus48:return"Opus 4.8";case c().opus48+"[1m]":return"Opus 4.8 (1M context)";case c().opus47:return"Opus 4.7";case c().opus47+"[1m]":return"Opus 4.7 (1M context)";case c().opus46:return"Opus 4.6";case c().opus46+"[1m]":return"Opus 4.6 (1M context)";case c().opus45:return"Opus 4.5";case c().opus41:return"Opus 4.1";case c().opus40:return"Opus 4";case c().sonnet46+"[1m]":return"Sonnet 4.6 (1M context)";case c().sonnet46:return"Sonnet 4.6";case c().sonnet45+"[1m]":return"Sonnet 4.5 (1M context)";case c().sonnet45:return"Sonnet 4.5";case c().sonnet40:return"Sonnet 4";case c().sonnet40+"[1m]":return"Sonnet 4 (1M context)";case c().sonnet37:return"Sonnet 3.7";case c().sonnet35:return"Sonnet 3.5";case c().haiku45:return"Haiku 4.5";case c().haiku35:return"Haiku 3.5";default:return null}}export function renderModelName(e){const t=getPublicModelDisplayName(e);if(t)return t;if("ant"===process.env.USER_TYPE){const t=parseUserSpecifiedModel(e),n=p(e);if(n){const e=function(e){const[t="",...n]=e.split("-");return[t.slice(0,3)+"*".repeat(Math.max(0,t.length-3)),...n].join("-")}(n.model.replace(/\[1m\]$/i,""));return e+(s(t)?"[1m]":"")}return t!==e?`${e} (${t})`:t}return e}export function getPublicModelName(e){const t=getPublicModelDisplayName(e);return t||e}export function parseUserSpecifiedModel(e){const t=getDefaultMainLoopModelSetting(),n=("string"==typeof e&&e.trim().length>0?e:"string"==typeof t&&t.trim().length>0?t:getDefaultOpenAIModel()).trim(),o=n.toLowerCase(),r=s(o),u=r?o.replace(/\[1m]$/i,"").trim():o;if(isOpenAIProvider()&&P(u))return"best"===u?getBestModel():r?n.replace(/\[1m\]$/i,"").trim()+"[1m]":n;if(P(u))switch(u){case"best":return getBestModel();case"opusplan":case"sonnet":return getDefaultSonnetModel()+(r?"[1m]":"");case"haiku":return getDefaultHaikuModel()+(r?"[1m]":"");case"opus":return getDefaultOpusModel()+(r?"[1m]":"")}if("firstParty"===O()&&(i=u,T.includes(i))&&isLegacyModelRemapEnabled())return getDefaultOpusModel()+(r?"[1m]":"");var i;if("ant"===process.env.USER_TYPE){const e=s(o),t=o.replace(/\[1m]$/i,"").trim(),n=p(t);if(n){const t=e?"[1m]":"";return n.model+t}}return r?n.replace(/\[1m\]$/i,"").trim()+"[1m]":n}export function resolveSkillModelOverride(e,t){return s(e)||!s(t)?e:l(parseUserSpecifiedModel(e))?e+"[1m]":e}const T=["claude-opus-4-20250514","claude-opus-4-1-20250805","claude-opus-4-0","claude-opus-4-1"];export function isLegacyModelRemapEnabled(){return!a(process.env.CONTEXT_CODE_DISABLE_LEGACY_MODEL_REMAP)&&!a(process.env.CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP)}export function modelDisplayString(e){if(null===e)return"ant"===process.env.USER_TYPE?`Predeterminado para Ants (${renderDefaultModelSetting(getDefaultMainLoopModelSetting())})`:n()?`Predeterminado (${getClaudeAiUserDefaultModelDescription()})`:`Predeterminado (${renderModelName(getDefaultMainLoopModel())})`;const t=parseUserSpecifiedModel(e);return isOpenAIProvider()?e===t?renderModelName(t):`${e} (${renderModelName(t)})`:e===t?t:`${e} (${t})`}export function getMarketingNameForModel(e){if(!e)return;if("foundry"===O())return;const t=e.toLowerCase().includes("[1m]"),n=getCanonicalName(e);return n.includes("claude-fable-5")?t?"Fable 5 (with 1M context)":"Fable 5":n.includes("claude-opus-4-8")?t?"Opus 4.8 (with 1M context)":"Opus 4.8":n.includes("claude-opus-4-7")?t?"Opus 4.7 (with 1M context)":"Opus 4.7":n.includes("claude-opus-4-6")?t?"Opus 4.6 (with 1M context)":"Opus 4.6":n.includes("claude-opus-4-5")?"Opus 4.5":n.includes("claude-opus-4-1")?"Opus 4.1":n.includes("claude-opus-4")?"Opus 4":n.includes("claude-sonnet-4-6")?t?"Sonnet 4.6 (with 1M context)":"Sonnet 4.6":n.includes("claude-sonnet-4-5")?t?"Sonnet 4.5 (with 1M context)":"Sonnet 4.5":n.includes("claude-sonnet-4")?t?"Sonnet 4 (with 1M context)":"Sonnet 4":n.includes("claude-3-7-sonnet")?"3.7 Sonnet":n.includes("claude-3-5-sonnet")?"3.5 Sonnet":n.includes("claude-haiku-4-5")?"Haiku 4.5":n.includes("claude-3-5-haiku")?"3.5 Haiku":n.includes("gpt-5.3-codex")?"GPT-5.3 Codex":n.includes("gpt-5.5-pro")?"GPT-5.5 Pro":n.includes("gpt-5.5")?"GPT-5.5":n.includes("gpt-5.2-codex")?"GPT-5.2 Codex":n.includes("gpt-5.1-codex-max")?"GPT-5.1 Codex Max":n.includes("gpt-5.1-codex-mini")?"GPT-5.1 Codex mini":n.includes("gpt-5.1-codex")?"GPT-5.1 Codex":n.includes("gpt-5.3")?"GPT-5.3":n.includes("gpt-5.2")?"GPT-5.2":n.includes("gpt-5.1")?"GPT-5.1":n.includes("gpt-5-codex")?"GPT-5 Codex":n.includes("gpt-5-chat-latest")?"GPT-5 Chat":n.includes("gpt-5-mini")?"GPT-5 mini":n.includes("gpt-5-nano")?"GPT-5 nano":n.includes("gpt-5-pro")?"GPT-5 Pro":n.includes("gpt-5")?"GPT-5":n.includes("gpt-4o-mini")?"GPT-4o mini":n.includes("gpt-4o")?"GPT-4o":n.includes("codex-mini-latest")?"Codex mini":void 0}export function normalizeModelStringForAPI(e){return e.replace(/\[(1|2)m\]/gi,"")}
@@ -1 +1 @@
1
- import{getInitialMainLoopModel as e}from"../../bootstrap/state.js";import{isClaudeAISubscriber as o,isMaxSubscriber as t,isTeamPremiumSubscriber as i}from"../auth.js";import{getModelStrings as n}from"./modelStrings.js";import{COST_TIER_3_15 as s,COST_HAIKU_35 as r,COST_HAIKU_45 as p,formatModelPricing as a}from"../modelCost.js";import{getSettings_DEPRECATED as l}from"../settings/settings.js";import{checkOpus1mAccess as u,checkSonnet1mAccess as c}from"./check1mAccess.js";import{getAPIProvider as d}from"./providers.js";import{isModelAllowed as O}from"./modelAllowlist.js";import{getCanonicalName as m,getClaudeAiUserDefaultModelDescription as g,getDefaultOpenAIModel as f,getDefaultOpenAIFastModel as M,getDefaultGeminiModel as h,getDefaultGeminiFastModel as v,getDefaultSonnetModel as x,getDefaultOpusModel as b,getDefaultHaikuModel as _,getDefaultMainLoopModelSetting as P,getMarketingNameForModel as F,getUserSpecifiedModelSetting as w,isOpus1mMergeEnabled as T,getOpus46PricingSuffix as D,isOpenAIProvider as S,isGeminiProvider as k,renderDefaultModelSetting as C}from"./model.js";import{getAntModels as E}from"./antModels.js";import{has1mContext as N}from"../context.js";import{getCustomProviderModels as A,getGlobalConfig as U}from"../config.js";import{resolveProviderProfile as $}from"./providerProfiles.js";export function getDefaultOptionForUser(e=!1){if("ant"===process.env.USER_TYPE){const e=C(P());return{value:null,label:"Default (recommended)",description:`Use the default model for Ants (currently ${e})`,descriptionForModel:`Default model (currently ${e})`}}if(S())return{value:null,label:"Predeterminado (recomendado)",description:`Usa el modelo predeterminado (actualmente ${C(P())})`};if(o())return{value:null,label:"Default (recommended)",description:g(e)};const t="firstParty"!==d();return{value:null,label:"Default (recommended)",description:`Use the default model (currently ${C(P())})${t?"":` · ${a(s)}`}`}}function getSonnet46Option(){const e="firstParty"!==d();return{value:e?n().sonnet46:"sonnet",label:"Sonnet",description:"Sonnet 4.6 · Best for everyday tasks"+(e?"":` · ${a(s)}`),descriptionForModel:"Sonnet 4.6 - best for everyday tasks. Generally recommended for most coding tasks"}}function getOpus48Option(e=!1){d();return{value:n().opus48,label:"Opus",description:`Opus 4.8 · Most capable for complex work${D(e)}`,descriptionForModel:"Opus 4.8 - most capable for complex work"}}export function getOpus48_1MOption(e=!1){d();return{value:n().opus48+"[1m]",label:"Opus 4.8 (1M context)",description:`Opus 4.8 for long sessions${D(e)}`,descriptionForModel:"Opus 4.8 with 1M context window - for long sessions with large codebases"}}function getOpus47Option(e=!1){d();return{value:n().opus47,label:"Opus",description:`Opus 4.7 · Most capable for complex work${D(e)}`,descriptionForModel:"Opus 4.7 - most capable for complex work"}}function getOpus46Option(e=!1){return{value:"firstParty"!==d()?n().opus46:"opus",label:"Opus 4.6",description:`Opus 4.6 · Previous generation${D(e)}`,descriptionForModel:"Opus 4.6 - previous generation"}}export function getSonnet46_1MOption(){const e="firstParty"!==d();return{value:e?n().sonnet46+"[1m]":"sonnet[1m]",label:"Sonnet (1M context)",description:"Sonnet 4.6 for long sessions"+(e?"":` · ${a(s)}`),descriptionForModel:"Sonnet 4.6 with 1M context window - for long sessions with large codebases"}}export function getOpus47_1MOption(e=!1){d();return{value:n().opus47+"[1m]",label:"Opus 4.7 (1M context)",description:`Opus 4.7 for long sessions${D(e)}`,descriptionForModel:"Opus 4.7 with 1M context window - for long sessions with large codebases"}}export function getOpus46_1MOption(e=!1){return{value:"firstParty"!==d()?n().opus46+"[1m]":"opus[1m]",label:"Opus 4.6 (1M context)",description:`Opus 4.6 for long sessions${D(e)}`,descriptionForModel:"Opus 4.6 with 1M context window - for long sessions with large codebases"}}function getHaiku45Option(){return{value:"haiku",label:"Haiku",description:"Haiku 4.5 · Fastest for quick answers"+("firstParty"!==d()?"":` · ${a(p)}`),descriptionForModel:"Haiku 4.5 - fastest for quick answers. Lower cost but less capable than Sonnet 4.6."}}function getHaikuOption(){return _()===n().haiku45?getHaiku45Option():{value:"haiku",label:"Haiku",description:"Haiku 3.5 for simple tasks"+("firstParty"!==d()?"":` · ${a(r)}`),descriptionForModel:"Haiku 3.5 - faster and lower cost, but less capable than Sonnet. Use for simple tasks."}}function getMaxOpus48Option(e=!1){return{value:n().opus48,label:"Opus",description:`Opus 4.8 · Most capable for complex work${e?D(!0):""}`}}export function getMaxOpus48_1MOption(e=!1){const t=o()?" · Billed as extra usage":"";return{value:n().opus48+"[1m]",label:"Opus 4.8 (1M context)",description:`Opus 4.8 with 1M context${t}${D(e)}`}}function getMaxOpus47Option(e=!1){return{value:n().opus47,label:"Opus",description:`Opus 4.7 · Most capable for complex work${e?D(!0):""}`}}function getMaxOpusOption(e=!1){return{value:"opus",label:"Opus 4.6",description:`Opus 4.6 · Previous generation${e?D(!0):""}`}}export function getMaxSonnet46_1MOption(){const e="firstParty"!==d();return{value:"sonnet[1m]",label:"Sonnet (1M context)",description:`Sonnet 4.6 with 1M context${o()?" · Billed as extra usage":""}${e?"":` · ${a(s)}`}`}}export function getMaxOpus47_1MOption(e=!1){const t=o()?" · Billed as extra usage":"";return{value:n().opus47+"[1m]",label:"Opus 4.7 (1M context)",description:`Opus 4.7 with 1M context${t}${D(e)}`}}export function getMaxOpus46_1MOption(e=!1){return{value:"opus[1m]",label:"Opus 4.6 (1M context)",description:`Opus 4.6 with 1M context${o()?" · Billed as extra usage":""}${D(e)}`}}function getMergedOpus1MOption(e=!1){const o="firstParty"!==d();return{value:n().opus48+"[1m]",label:"Opus (1M context)",description:`Opus 4.8 with 1M context · Most capable for complex work${!o&&e?D(e):""}`,descriptionForModel:"Opus 4.8 with 1M context - most capable for complex work"}}const y={value:"sonnet",label:"Sonnet",description:"Sonnet 4.6 · Best for everyday tasks"},I={value:"haiku",label:"Haiku",description:"Haiku 4.5 · Fastest for quick answers"};function getModelOptionsBase(e=!1){if("ant"===process.env.USER_TYPE){const o=E().map(e=>({value:e.alias,label:e.label,description:e.description??`[ANT-ONLY] ${e.label} (${e.model})`}));return[getDefaultOptionForUser(),...o,getMergedOpus1MOption(e),getSonnet46Option(),getSonnet46_1MOption(),getHaiku45Option()]}if("openai"===d())return[getDefaultOptionForUser(e),{value:"gpt-5.5",label:"GPT-5.5",description:"gpt-5.5 - Modelo flagship para razonamiento, coding y agentes",descriptionForModel:"gpt-5.5 - flagship model for complex reasoning, coding, and agentic work"},{value:"gpt-5.5-pro",label:"GPT-5.5 Pro",description:"gpt-5.5-pro - Mayor precision para tareas dificiles",descriptionForModel:"gpt-5.5-pro - higher-accuracy model for harder tasks"},{value:"gpt-5.4",label:"GPT-5.4",description:"gpt-5.4 - Modelo principal recomendado",descriptionForModel:"gpt-5.4 - recommended flagship model"},{value:"gpt-5.2-codex",label:"GPT-5.2-Codex",description:"gpt-5.2-codex - Codex moderno para programacion",descriptionForModel:"gpt-5.2-codex - modern Codex model"},{value:"gpt-5.1-codex-max",label:"GPT-5.1-Codex-Max",description:"gpt-5.1-codex-max - Codex de maxima capacidad",descriptionForModel:"gpt-5.1-codex-max - highest-capacity Codex model"},{value:"gpt-5.4-mini",label:"GPT-5.4-Mini",description:"gpt-5.4-mini - Variante ligera y rapida",descriptionForModel:"gpt-5.4-mini - fast lightweight model"},{value:"gpt-5.3-codex",label:"GPT-5.3-Codex",description:"gpt-5.3-codex - Codex frontier anterior",descriptionForModel:"gpt-5.3-codex - previous frontier Codex model"},{value:"gpt-5.2",label:"GPT-5.2",description:"gpt-5.2 - Modelo general estable",descriptionForModel:"gpt-5.2 - stable general-purpose model"},{value:"gpt-5.1-codex-mini",label:"GPT-5.1-Codex-Mini",description:"gpt-5.1-codex-mini - Codex mini de compatibilidad",descriptionForModel:"gpt-5.1-codex-mini - compatibility Codex mini model"}];if("openrouter"===d())return[getDefaultOptionForUser(e)];if(k())return[getDefaultOptionForUser(e),{value:h(),label:"Gemini 3.5 Pro",description:"gemini-3.5-pro - Modelo Gemini principal para razonamiento, codigo y agentes",descriptionForModel:"gemini-3.5-pro - flagship Gemini model"},{value:v(),label:"Gemini 3.5 Flash",description:"gemini-3.5-flash - Variante Gemini rapida para tareas multimodales y de codigo",descriptionForModel:"gemini-3.5-flash - fast Gemini model"},{value:"gemini-3.5-flash-lite",label:"Gemini 3.5 Flash-Lite",description:"gemini-3.5-flash-lite - Variante de bajo costo y baja latencia",descriptionForModel:"gemini-3.5-flash-lite - fast low-cost Gemini model"},{value:"gemini-3.1-pro-preview",label:"Gemini 3.1 Pro Preview",description:"gemini-3.1-pro-preview - Version anterior de Pro",descriptionForModel:"gemini-3.1-pro-preview - previous Pro preview model"},{value:"gemini-3-flash-preview",label:"Gemini 3 Flash Preview",description:"gemini-3-flash-preview - Version anterior de Flash",descriptionForModel:"gemini-3-flash-preview - previous Flash preview model"},{value:"gemini-2.5-pro",label:"Gemini 2.5 Pro",description:"gemini-2.5-pro - Modelo estable para razonamiento y codigo",descriptionForModel:"gemini-2.5-pro - stable Gemini model"},{value:"gemini-2.5-flash",label:"Gemini 2.5 Flash",description:"gemini-2.5-flash - Modelo estable rapido",descriptionForModel:"gemini-2.5-flash - stable fast Gemini model"}];if("custom-openai"===d()||"custom-anthropic"===d()){const o=d(),t=$(o)?.id??null,i=A(o,t),n="custom-openai"===o?"OpenAI personalizado":"Anthropic personalizado",s=i.map(e=>({value:e,label:e,description:`Modelo del endpoint ${n}`}));return[getDefaultOptionForUser(e),...s]}if("ollama"===d()||"ollama-cloud"===d()||"zai"===d()||"minimax"===d()||"deepseek"===d())return[getDefaultOptionForUser(e)];if(o()){if(t()||i()){const o=[getDefaultOptionForUser(e)];return o.push(getMaxOpus48Option(e)),!T()&&u()&&o.push(getMaxOpus48_1MOption(e)),o.push(getMaxOpus47Option(e)),!T()&&u()&&o.push(getMaxOpus47_1MOption(e)),o.push(getMaxOpusOption(e)),!T()&&u()&&o.push(getMaxOpus46_1MOption(e)),o.push(y),c()&&o.push(getMaxSonnet46_1MOption()),o.push(I),o}const o=[getDefaultOptionForUser(e)];return o.push(y),c()&&o.push(getMaxSonnet46_1MOption()),o.push(getMaxOpus48Option(e)),u()&&o.push(getMaxOpus48_1MOption(e)),o.push(getMaxOpus47Option(e)),u()&&o.push(getMaxOpus47_1MOption(e)),o.push(getMaxOpusOption(e)),u()&&o.push(getMaxOpus46_1MOption(e)),o.push(I),o}if("firstParty"===d()){const o=[getDefaultOptionForUser(e)];return o.push(getSonnet46Option()),c()&&o.push(getSonnet46_1MOption()),o.push(getOpus48Option(e)),u()&&o.push(getOpus48_1MOption(e)),o.push(getOpus47Option(e)),u()&&o.push(getOpus47_1MOption(e)),o.push(getOpus46Option(e)),u()&&o.push(getOpus46_1MOption(e)),o.push(getHaiku45Option()),o}const n=[getDefaultOptionForUser(e)],s=function(){const e="firstParty"!==d(),o=process.env.ANTHROPIC_DEFAULT_SONNET_MODEL;if(e&&o){const e=N(o);return{value:"sonnet",label:process.env.ANTHROPIC_DEFAULT_SONNET_MODEL_NAME??o,description:process.env.ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION??"Custom Sonnet model"+(e?" (1M context)":""),descriptionForModel:`${process.env.ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION??"Custom Sonnet model"+(e?" with 1M context":"")} (${o})`}}}();void 0!==s?n.push(s):(n.push(getSonnet46Option()),c()&&n.push(getSonnet46_1MOption()));const r=function(){const e="firstParty"!==d(),o=process.env.ANTHROPIC_DEFAULT_OPUS_MODEL;if(e&&o){const e=N(o);return{value:"opus",label:process.env.ANTHROPIC_DEFAULT_OPUS_MODEL_NAME??o,description:process.env.ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION??"Custom Opus model"+(e?" (1M context)":""),descriptionForModel:`${process.env.ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION??"Custom Opus model"+(e?" with 1M context":"")} (${o})`}}}();void 0!==r?n.push(r):(n.push(getOpus48Option(e)),u()&&n.push(getOpus48_1MOption(e)),n.push(getOpus47Option(e)),u()&&n.push(getOpus47_1MOption(e)),n.push(getOpus46Option(e)),u()&&n.push(getOpus46_1MOption(e)),n.push({value:"opus",label:"Opus 4.1",description:"Opus 4.1 · Legacy",descriptionForModel:"Opus 4.1 - legacy version"}));const p=function(){const e="firstParty"!==d(),o=process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL;if(e&&o)return{value:"haiku",label:process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME??o,description:process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION??"Custom Haiku model",descriptionForModel:`${process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION??"Custom Haiku model"} (${o})`}}();return void 0!==p?n.push(p):n.push(getHaikuOption()),n}function getKnownModelOption(e){const o=F(e);if(!o)return null;const t=function(e){const o=m(e);if(o.includes("claude-sonnet-4-6")||o.includes("claude-sonnet-4-5")||o.includes("claude-sonnet-4-")||o.includes("claude-3-7-sonnet")||o.includes("claude-3-5-sonnet")){const e=F(x());if(e)return{alias:"Sonnet",currentVersionName:e}}if(o.includes("claude-opus-4")){const e=F(b());if(e)return{alias:"Opus",currentVersionName:e}}if(o.includes("claude-haiku")||o.includes("claude-3-5-haiku")){const e=F(_());if(e)return{alias:"Haiku",currentVersionName:e}}return null}(e);return t&&o!==t.currentVersionName?{value:e,label:o,description:`Newer version available · select ${t.alias} for ${t.currentVersionName}`}:{value:e,label:o,description:e}}export function getModelOptions(o=!1){const t=getModelOptionsBase(o),i=process.env.ANTHROPIC_CUSTOM_MODEL_OPTION;i&&!t.some(e=>e.value===i)&&t.push({value:i,label:process.env.ANTHROPIC_CUSTOM_MODEL_OPTION_NAME??i,description:process.env.ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION??`Modelo personalizado (${i})`});const n=d();if("firstParty"===n)for(const e of U().additionalModelOptionsCache??[])t.some(o=>o.value===e.value)||t.push(e);let s=null;const r=w(),p=e();null!=r?s=r:null!==p&&(s=p);const a=function(e){if(!(l()||{}).availableModels)return e;return e.filter(e=>null===e.value||null!==e.value&&O(e.value))}((()=>{if(null===s||t.some(e=>e.value===s))return t;if("opusplan"===s)return[...t,{value:"opusplan",label:"Opus Plan Mode",description:"Use Opus 4.8 in plan mode, Sonnet 4.6 otherwise"}];if("opus"===s&&"firstParty"===d())return[...t,getMaxOpusOption(o)];if("opus[1m]"===s&&"firstParty"===d())return[...t,getMergedOpus1MOption(o)];{const e=getKnownModelOption(s);return e?t.push(e):t.push({value:s,label:s,description:"Modelo personalizado"}),t}})());return"firstParty"!==n&&"custom-anthropic"!==n?a.filter(e=>!function(e){if(!e)return!1;const o=e.toLowerCase();return o.startsWith("claude")||o.startsWith("sonnet")||o.startsWith("opus")||o.startsWith("haiku")||"opusplan"===o}(e.value)):a}
1
+ import{getInitialMainLoopModel as e}from"../../bootstrap/state.js";import{isClaudeAISubscriber as o,isMaxSubscriber as t,isTeamPremiumSubscriber as i}from"../auth.js";import{getModelStrings as n}from"./modelStrings.js";import{COST_TIER_3_15 as s,COST_HAIKU_35 as r,COST_HAIKU_45 as p,formatModelPricing as a}from"../modelCost.js";import{getSettings_DEPRECATED as l}from"../settings/settings.js";import{checkOpus1mAccess as u,checkSonnet1mAccess as c}from"./check1mAccess.js";import{getAPIProvider as d}from"./providers.js";import{isModelAllowed as O}from"./modelAllowlist.js";import{getCanonicalName as m,getClaudeAiUserDefaultModelDescription as g,getDefaultOpenAIModel as f,getDefaultOpenAIFastModel as M,getDefaultGeminiModel as h,getDefaultGeminiFastModel as v,getDefaultSonnetModel as x,getDefaultOpusModel as b,getDefaultHaikuModel as _,getDefaultMainLoopModelSetting as F,getMarketingNameForModel as P,getUserSpecifiedModelSetting as w,isOpus1mMergeEnabled as T,getOpus46PricingSuffix as D,isOpenAIProvider as S,isGeminiProvider as N,renderDefaultModelSetting as k}from"./model.js";import{getAntModels as C}from"./antModels.js";import{has1mContext as E}from"../context.js";import{getCustomProviderModels as $,getGlobalConfig as A}from"../config.js";import{resolveProviderProfile as U}from"./providerProfiles.js";export function getDefaultOptionForUser(e=!1){if("ant"===process.env.USER_TYPE){const e=k(F());return{value:null,label:"Default (recommended)",description:`Use the default model for Ants (currently ${e})`,descriptionForModel:`Default model (currently ${e})`}}if(S())return{value:null,label:"Predeterminado (recomendado)",description:`Usa el modelo predeterminado (actualmente ${k(F())})`};if(o())return{value:null,label:"Default (recommended)",description:g(e)};const t="firstParty"!==d();return{value:null,label:"Default (recommended)",description:`Use the default model (currently ${k(F())})${t?"":` · ${a(s)}`}`}}function getSonnet46Option(){const e="firstParty"!==d();return{value:e?n().sonnet46:"sonnet",label:"Sonnet",description:"Sonnet 4.6 · Best for everyday tasks"+(e?"":` · ${a(s)}`),descriptionForModel:"Sonnet 4.6 - best for everyday tasks. Generally recommended for most coding tasks"}}function getOpus48Option(e=!1){d();return{value:n().opus48,label:"Opus",description:`Opus 4.8 · Most capable for complex work${D(e)}`,descriptionForModel:"Opus 4.8 - most capable for complex work"}}function getFable5Option(e=!1){return{value:n().fable5,label:"Fable 5",description:`Fable 5 · Newest model${D(e)}`,descriptionForModel:"Fable 5 - newest Anthropic model"}}export function getOpus48_1MOption(e=!1){d();return{value:n().opus48+"[1m]",label:"Opus 4.8 (1M context)",description:`Opus 4.8 for long sessions${D(e)}`,descriptionForModel:"Opus 4.8 with 1M context window - for long sessions with large codebases"}}function getOpus47Option(e=!1){d();return{value:n().opus47,label:"Opus",description:`Opus 4.7 · Most capable for complex work${D(e)}`,descriptionForModel:"Opus 4.7 - most capable for complex work"}}function getOpus46Option(e=!1){return{value:"firstParty"!==d()?n().opus46:"opus",label:"Opus 4.6",description:`Opus 4.6 · Previous generation${D(e)}`,descriptionForModel:"Opus 4.6 - previous generation"}}export function getSonnet46_1MOption(){const e="firstParty"!==d();return{value:e?n().sonnet46+"[1m]":"sonnet[1m]",label:"Sonnet (1M context)",description:"Sonnet 4.6 for long sessions"+(e?"":` · ${a(s)}`),descriptionForModel:"Sonnet 4.6 with 1M context window - for long sessions with large codebases"}}export function getOpus47_1MOption(e=!1){d();return{value:n().opus47+"[1m]",label:"Opus 4.7 (1M context)",description:`Opus 4.7 for long sessions${D(e)}`,descriptionForModel:"Opus 4.7 with 1M context window - for long sessions with large codebases"}}export function getOpus46_1MOption(e=!1){return{value:"firstParty"!==d()?n().opus46+"[1m]":"opus[1m]",label:"Opus 4.6 (1M context)",description:`Opus 4.6 for long sessions${D(e)}`,descriptionForModel:"Opus 4.6 with 1M context window - for long sessions with large codebases"}}function getHaiku45Option(){return{value:"haiku",label:"Haiku",description:"Haiku 4.5 · Fastest for quick answers"+("firstParty"!==d()?"":` · ${a(p)}`),descriptionForModel:"Haiku 4.5 - fastest for quick answers. Lower cost but less capable than Sonnet 4.6."}}function getHaikuOption(){return _()===n().haiku45?getHaiku45Option():{value:"haiku",label:"Haiku",description:"Haiku 3.5 for simple tasks"+("firstParty"!==d()?"":` · ${a(r)}`),descriptionForModel:"Haiku 3.5 - faster and lower cost, but less capable than Sonnet. Use for simple tasks."}}function getMaxOpus48Option(e=!1){return{value:n().opus48,label:"Opus",description:`Opus 4.8 · Most capable for complex work${e?D(!0):""}`}}function getMaxFable5Option(e=!1){return{value:n().fable5,label:"Fable 5",description:`Fable 5 · Newest model${e?D(!0):""}`}}export function getMaxOpus48_1MOption(e=!1){const t=o()?" · Billed as extra usage":"";return{value:n().opus48+"[1m]",label:"Opus 4.8 (1M context)",description:`Opus 4.8 with 1M context${t}${D(e)}`}}function getMaxOpus47Option(e=!1){return{value:n().opus47,label:"Opus",description:`Opus 4.7 · Most capable for complex work${e?D(!0):""}`}}function getMaxOpusOption(e=!1){return{value:"opus",label:"Opus 4.6",description:`Opus 4.6 · Previous generation${e?D(!0):""}`}}export function getMaxSonnet46_1MOption(){const e="firstParty"!==d();return{value:"sonnet[1m]",label:"Sonnet (1M context)",description:`Sonnet 4.6 with 1M context${o()?" · Billed as extra usage":""}${e?"":` · ${a(s)}`}`}}export function getMaxOpus47_1MOption(e=!1){const t=o()?" · Billed as extra usage":"";return{value:n().opus47+"[1m]",label:"Opus 4.7 (1M context)",description:`Opus 4.7 with 1M context${t}${D(e)}`}}export function getMaxOpus46_1MOption(e=!1){return{value:"opus[1m]",label:"Opus 4.6 (1M context)",description:`Opus 4.6 with 1M context${o()?" · Billed as extra usage":""}${D(e)}`}}function getMergedOpus1MOption(e=!1){const o="firstParty"!==d();return{value:n().opus48+"[1m]",label:"Opus (1M context)",description:`Opus 4.8 with 1M context · Most capable for complex work${!o&&e?D(e):""}`,descriptionForModel:"Opus 4.8 with 1M context - most capable for complex work"}}const y={value:"sonnet",label:"Sonnet",description:"Sonnet 4.6 · Best for everyday tasks"},I={value:"haiku",label:"Haiku",description:"Haiku 4.5 · Fastest for quick answers"};function getModelOptionsBase(e=!1){if("ant"===process.env.USER_TYPE){const o=C().map(e=>({value:e.alias,label:e.label,description:e.description??`[ANT-ONLY] ${e.label} (${e.model})`}));return[getDefaultOptionForUser(),...o,getMergedOpus1MOption(e),getSonnet46Option(),getSonnet46_1MOption(),getHaiku45Option()]}if("openai"===d())return[getDefaultOptionForUser(e),{value:"gpt-5.5",label:"GPT-5.5",description:"gpt-5.5 - Modelo flagship para razonamiento, coding y agentes",descriptionForModel:"gpt-5.5 - flagship model for complex reasoning, coding, and agentic work"},{value:"gpt-5.5-pro",label:"GPT-5.5 Pro",description:"gpt-5.5-pro - Mayor precision para tareas dificiles",descriptionForModel:"gpt-5.5-pro - higher-accuracy model for harder tasks"},{value:"gpt-5.4",label:"GPT-5.4",description:"gpt-5.4 - Modelo principal recomendado",descriptionForModel:"gpt-5.4 - recommended flagship model"},{value:"gpt-5.2-codex",label:"GPT-5.2-Codex",description:"gpt-5.2-codex - Codex moderno para programacion",descriptionForModel:"gpt-5.2-codex - modern Codex model"},{value:"gpt-5.1-codex-max",label:"GPT-5.1-Codex-Max",description:"gpt-5.1-codex-max - Codex de maxima capacidad",descriptionForModel:"gpt-5.1-codex-max - highest-capacity Codex model"},{value:"gpt-5.4-mini",label:"GPT-5.4-Mini",description:"gpt-5.4-mini - Variante ligera y rapida",descriptionForModel:"gpt-5.4-mini - fast lightweight model"},{value:"gpt-5.3-codex",label:"GPT-5.3-Codex",description:"gpt-5.3-codex - Codex frontier anterior",descriptionForModel:"gpt-5.3-codex - previous frontier Codex model"},{value:"gpt-5.2",label:"GPT-5.2",description:"gpt-5.2 - Modelo general estable",descriptionForModel:"gpt-5.2 - stable general-purpose model"},{value:"gpt-5.1-codex-mini",label:"GPT-5.1-Codex-Mini",description:"gpt-5.1-codex-mini - Codex mini de compatibilidad",descriptionForModel:"gpt-5.1-codex-mini - compatibility Codex mini model"}];if("openrouter"===d())return[getDefaultOptionForUser(e)];if(N())return[getDefaultOptionForUser(e),{value:h(),label:"Gemini 3.5 Pro",description:"gemini-3.5-pro - Modelo Gemini principal para razonamiento, codigo y agentes",descriptionForModel:"gemini-3.5-pro - flagship Gemini model"},{value:v(),label:"Gemini 3.5 Flash",description:"gemini-3.5-flash - Variante Gemini rapida para tareas multimodales y de codigo",descriptionForModel:"gemini-3.5-flash - fast Gemini model"},{value:"gemini-3.5-flash-lite",label:"Gemini 3.5 Flash-Lite",description:"gemini-3.5-flash-lite - Variante de bajo costo y baja latencia",descriptionForModel:"gemini-3.5-flash-lite - fast low-cost Gemini model"},{value:"gemini-3.1-pro-preview",label:"Gemini 3.1 Pro Preview",description:"gemini-3.1-pro-preview - Version anterior de Pro",descriptionForModel:"gemini-3.1-pro-preview - previous Pro preview model"},{value:"gemini-3-flash-preview",label:"Gemini 3 Flash Preview",description:"gemini-3-flash-preview - Version anterior de Flash",descriptionForModel:"gemini-3-flash-preview - previous Flash preview model"},{value:"gemini-2.5-pro",label:"Gemini 2.5 Pro",description:"gemini-2.5-pro - Modelo estable para razonamiento y codigo",descriptionForModel:"gemini-2.5-pro - stable Gemini model"},{value:"gemini-2.5-flash",label:"Gemini 2.5 Flash",description:"gemini-2.5-flash - Modelo estable rapido",descriptionForModel:"gemini-2.5-flash - stable fast Gemini model"}];if("custom-openai"===d()||"custom-anthropic"===d()){const o=d(),t=U(o)?.id??null,i=$(o,t),n="custom-openai"===o?"OpenAI personalizado":"Anthropic personalizado",s=i.map(e=>({value:e,label:e,description:`Modelo del endpoint ${n}`}));return[getDefaultOptionForUser(e),...s]}if("ollama"===d()||"ollama-cloud"===d()||"zai"===d()||"minimax"===d()||"deepseek"===d())return[getDefaultOptionForUser(e)];if(o()){if(t()||i()){const o=[getDefaultOptionForUser(e)];return o.push(getMaxFable5Option(e)),o.push(getMaxOpus48Option(e)),!T()&&u()&&o.push(getMaxOpus48_1MOption(e)),o.push(getMaxOpus47Option(e)),!T()&&u()&&o.push(getMaxOpus47_1MOption(e)),o.push(getMaxOpusOption(e)),!T()&&u()&&o.push(getMaxOpus46_1MOption(e)),o.push(y),c()&&o.push(getMaxSonnet46_1MOption()),o.push(I),o}const o=[getDefaultOptionForUser(e)];return o.push(getMaxFable5Option(e)),o.push(y),c()&&o.push(getMaxSonnet46_1MOption()),o.push(getMaxOpus48Option(e)),u()&&o.push(getMaxOpus48_1MOption(e)),o.push(getMaxOpus47Option(e)),u()&&o.push(getMaxOpus47_1MOption(e)),o.push(getMaxOpusOption(e)),u()&&o.push(getMaxOpus46_1MOption(e)),o.push(I),o}if("firstParty"===d()){const o=[getDefaultOptionForUser(e)];return o.push(getFable5Option(e)),o.push(getSonnet46Option()),c()&&o.push(getSonnet46_1MOption()),o.push(getOpus48Option(e)),u()&&o.push(getOpus48_1MOption(e)),o.push(getOpus47Option(e)),u()&&o.push(getOpus47_1MOption(e)),o.push(getOpus46Option(e)),u()&&o.push(getOpus46_1MOption(e)),o.push(getHaiku45Option()),o}const n=[getDefaultOptionForUser(e)],s=function(){const e="firstParty"!==d(),o=process.env.ANTHROPIC_DEFAULT_SONNET_MODEL;if(e&&o){const e=E(o);return{value:"sonnet",label:process.env.ANTHROPIC_DEFAULT_SONNET_MODEL_NAME??o,description:process.env.ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION??"Custom Sonnet model"+(e?" (1M context)":""),descriptionForModel:`${process.env.ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION??"Custom Sonnet model"+(e?" with 1M context":"")} (${o})`}}}();void 0!==s?n.push(s):(n.push(getSonnet46Option()),c()&&n.push(getSonnet46_1MOption()));const r=function(){const e="firstParty"!==d(),o=process.env.ANTHROPIC_DEFAULT_OPUS_MODEL;if(e&&o){const e=E(o);return{value:"opus",label:process.env.ANTHROPIC_DEFAULT_OPUS_MODEL_NAME??o,description:process.env.ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION??"Custom Opus model"+(e?" (1M context)":""),descriptionForModel:`${process.env.ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION??"Custom Opus model"+(e?" with 1M context":"")} (${o})`}}}();void 0!==r?n.push(r):(n.push(getFable5Option(e)),n.push(getOpus48Option(e)),u()&&n.push(getOpus48_1MOption(e)),n.push(getOpus47Option(e)),u()&&n.push(getOpus47_1MOption(e)),n.push(getOpus46Option(e)),u()&&n.push(getOpus46_1MOption(e)),n.push({value:"opus",label:"Opus 4.1",description:"Opus 4.1 · Legacy",descriptionForModel:"Opus 4.1 - legacy version"}));const p=function(){const e="firstParty"!==d(),o=process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL;if(e&&o)return{value:"haiku",label:process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME??o,description:process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION??"Custom Haiku model",descriptionForModel:`${process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION??"Custom Haiku model"} (${o})`}}();return void 0!==p?n.push(p):n.push(getHaikuOption()),n}function getKnownModelOption(e){const o=P(e);if(!o)return null;const t=function(e){const o=m(e);if(o.includes("claude-sonnet-4-6")||o.includes("claude-sonnet-4-5")||o.includes("claude-sonnet-4-")||o.includes("claude-3-7-sonnet")||o.includes("claude-3-5-sonnet")){const e=P(x());if(e)return{alias:"Sonnet",currentVersionName:e}}if(o.includes("claude-opus-4")){const e=P(b());if(e)return{alias:"Opus",currentVersionName:e}}if(o.includes("claude-haiku")||o.includes("claude-3-5-haiku")){const e=P(_());if(e)return{alias:"Haiku",currentVersionName:e}}return null}(e);return t&&o!==t.currentVersionName?{value:e,label:o,description:`Newer version available · select ${t.alias} for ${t.currentVersionName}`}:{value:e,label:o,description:e}}export function getModelOptions(o=!1){const t=getModelOptionsBase(o),i=process.env.ANTHROPIC_CUSTOM_MODEL_OPTION;i&&!t.some(e=>e.value===i)&&t.push({value:i,label:process.env.ANTHROPIC_CUSTOM_MODEL_OPTION_NAME??i,description:process.env.ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION??`Modelo personalizado (${i})`});const n=d();if("firstParty"===n)for(const e of A().additionalModelOptionsCache??[])t.some(o=>o.value===e.value)||t.push(e);let s=null;const r=w(),p=e();null!=r?s=r:null!==p&&(s=p);const a=function(e){if(!(l()||{}).availableModels)return e;return e.filter(e=>null===e.value||null!==e.value&&O(e.value))}((()=>{if(null===s||t.some(e=>e.value===s))return t;if("opusplan"===s)return[...t,{value:"opusplan",label:"Opus Plan Mode",description:"Use Opus 4.8 in plan mode, Sonnet 4.6 otherwise"}];if("opus"===s&&"firstParty"===d())return[...t,getMaxOpusOption(o)];if("opus[1m]"===s&&"firstParty"===d())return[...t,getMergedOpus1MOption(o)];{const e=getKnownModelOption(s);return e?t.push(e):t.push({value:s,label:s,description:"Modelo personalizado"}),t}})());return"firstParty"!==n&&"custom-anthropic"!==n?a.filter(e=>!function(e){if(!e)return!1;const o=e.toLowerCase();return o.startsWith("claude")||o.startsWith("sonnet")||o.startsWith("opus")||o.startsWith("haiku")||"opusplan"===o}(e.value)):a}
@@ -1 +1 @@
1
- import{getGeminiGoogleAuthHeaders as e,getMiniMaxAccessToken as a,getOpenAICompatibleAccessToken as i}from"../auth.js";import{getConfiguredProviderBaseUrl as t}from"./providerBaseUrls.js";import{getResolvedProviderProfileId as o,isProfiledProvider as r}from"./providerProfiles.js";const n={"minimax-m3":"Modelo multimodal de frontera para codigo, con ventana de 1M tokens.","minimax-m2.7":"Modelo de razonamiento general y chat predeterminado.","minimax-m2.7-highspeed":"Version rapida de MiniMax-M2.7.","minimax-m2.5":"Modelo de razonamiento avanzado con alta capacidad.","minimax-m2.5-highspeed":"Version rapida de MiniMax-M2.5.","minimax-m2.1":"Optimizado para programacion y desarrollo.","minimax-m2.1-highspeed":"Version rapida de MiniMax-M2.1.","minimax-m2":"Capacidades agenciales y razonamiento avanzado."},l=["MiniMax-M3","MiniMax-M2.7","MiniMax-M2.7-highspeed","MiniMax-M2.5","MiniMax-M2.5-highspeed","MiniMax-M2.1","MiniMax-M2.1-highspeed","MiniMax-M2"].map(e=>({value:e,label:e,description:n[e.toLowerCase()]??""})),s=[{value:"deepseek-v4-pro",label:"DeepSeek V4 Pro",description:"Familia V4 pro — razonamiento profundo y código. Contexto 1M tokens."},{value:"deepseek-v4-flash",label:"DeepSeek V4 Flash",description:"Familia V4 flash — alto volumen, baja latencia. Contexto 1M tokens."},{value:"deepseek-chat",label:"deepseek-chat",description:"Alias estable V3 (api.deepseek.com). Contexto 128k tokens."},{value:"deepseek-reasoner",label:"deepseek-reasoner",description:"Alias estable R1/V3 con chain-of-thought. Contexto 128k tokens."}],c=[{value:"gemini-3.5-pro",label:"Gemini 3.5 Pro",description:"Modelo Gemini principal para razonamiento, codigo y agentes."},{value:"gemini-3.5-flash",label:"Gemini 3.5 Flash",description:"Modelo Gemini rapido con capacidades multimodales y de codigo."},{value:"gemini-3.5-flash-lite",label:"Gemini 3.5 Flash-Lite",description:"Variante de bajo costo y baja latencia."},{value:"gemini-3.1-pro-preview",label:"Gemini 3.1 Pro Preview",description:"Version anterior de Pro."},{value:"gemini-3-flash-preview",label:"Gemini 3 Flash Preview",description:"Version anterior de Flash."},{value:"gemini-3.1-flash-lite-preview",label:"Gemini 3.1 Flash-Lite Preview",description:"Version anterior de Flash-Lite."},{value:"gemini-2.5-pro",label:"Gemini 2.5 Pro",description:"Modelo estable para razonamiento y codigo."},{value:"gemini-2.5-flash",label:"Gemini 2.5 Flash",description:"Modelo estable rapido para alto volumen."},{value:"gemini-2.5-flash-lite",label:"Gemini 2.5 Flash-Lite",description:"Modelo estable economico y de baja latencia."}],u=[{value:"grok-4",label:"Grok 4",description:"Modelo principal de xAI para razonamiento, codigo y agentes."},{value:"grok-4-fast-reasoning",label:"Grok 4 Fast (reasoning)",description:"Variante rapida de Grok 4 con razonamiento."},{value:"grok-code-fast-1",label:"Grok Code Fast 1",description:"Optimizado para tareas agenticas de codigo de baja latencia."},{value:"grok-3",label:"Grok 3",description:"Generacion anterior, estable para uso general."}],d={gmi:[{value:"deepseek-ai/DeepSeek-V3.2",label:"DeepSeek V3.2",description:"GMI Cloud — DeepSeek V3.2."},{value:"moonshotai/Kimi-K2.5",label:"Kimi K2.5",description:"GMI Cloud — Moonshot Kimi K2.5."},{value:"zai-org/GLM-5.1-FP8",label:"GLM 5.1",description:"GMI Cloud — Zhipu GLM 5.1."},{value:"openai/gpt-5.4",label:"GPT-5.4",description:"GMI Cloud — OpenAI GPT-5.4."}],novita:[{value:"moonshotai/kimi-k2.5",label:"Kimi K2.5",description:"NovitaAI — Moonshot Kimi K2.5."},{value:"zai-org/glm-5",label:"GLM 5",description:"NovitaAI — Zhipu GLM 5."},{value:"deepseek/deepseek-v3-0324",label:"DeepSeek V3 0324",description:"NovitaAI — DeepSeek V3."},{value:"qwen/qwen3-235b-a22b-fp8",label:"Qwen3 235B",description:"NovitaAI — Qwen3 235B."}],stepfun:[{value:"step-3",label:"Step 3",description:"StepFun — modelo flagship Step 3."}],huggingface:[{value:"Qwen/Qwen3.5-72B-Instruct",label:"Qwen3.5 72B",description:"HuggingFace router — Qwen3.5 72B Instruct."},{value:"deepseek-ai/DeepSeek-V3.2",label:"DeepSeek V3.2",description:"HuggingFace router — DeepSeek V3.2."}],arcee:[{value:"auto",label:"Auto (router)",description:"Arcee AI — enrutador automático de modelos."}],alibaba:[{value:"qwen3-max",label:"Qwen3 Max",description:"Alibaba DashScope — Qwen3 Max."},{value:"qwen3-coder-plus",label:"Qwen3 Coder Plus",description:"Alibaba DashScope — Qwen3 Coder Plus."},{value:"qwen-plus",label:"Qwen Plus",description:"Alibaba DashScope — Qwen Plus."}],kimi:[{value:"kimi-k2-0905-preview",label:"Kimi K2 (0905)",description:"Moonshot — Kimi K2 para coding."},{value:"moonshot-v1-128k",label:"Moonshot v1 128k",description:"Moonshot — contexto 128k."}]},p=new Map,m=new Map;function trimTrailingSlash(e){return e.endsWith("/")?e.slice(0,-1):e}function ensureV1Suffix(e){const a=trimTrailingSlash(e);return a.endsWith("/v1")?a:`${a}/v1`}function isLocalOllamaProviderHost(e){try{const a=new URL(e);return"localhost"===a.hostname||"127.0.0.1"===a.hostname}catch{return e.includes("localhost")||e.includes("127.0.0.1")}}function getProviderCacheKey(e){const a=getProviderBaseUrl(e);return`${e}:${(r(e)?o(e):null)??"default"}:${a}`}function getProviderLabel(e){switch(e){case"openrouter":return"OpenRouter";case"ollama":return"Ollama";case"ollama-cloud":return"Ollama Cloud";case"gemini-api":return"Gemini API";case"gemini-google":return"Gemini Google";case"zai":return"Z.AI";case"minimax":return"MiniMax";case"nvidia":return"NVIDIA NIM";case"deepseek":return"DeepSeek";case"xai":return"xAI";case"gmi":return"GMI Cloud";case"novita":return"NovitaAI";case"stepfun":return"StepFun";case"huggingface":return"HuggingFace";case"opencode-zen":return"OpenCode Zen";case"arcee":return"Arcee AI";case"alibaba":return"Alibaba (Qwen)";case"kimi":return"Kimi (Moonshot)";default:return"OpenAI"}}function getProviderBaseUrl(e){switch(e){case"openrouter":return ensureV1Suffix(process.env.OPENROUTER_BASE_URL||t("openrouter")||"https://openrouter.ai/api/v1");case"ollama":return ensureV1Suffix(process.env.OLLAMA_BASE_URL||t("ollama")||"http://localhost:11434/v1");case"ollama-cloud":return ensureV1Suffix(process.env.OLLAMA_CLOUD_BASE_URL||process.env.OLLAMA_BASE_URL||t("ollama-cloud")||"http://localhost:11434/v1");case"zai":return trimTrailingSlash(process.env.ZAI_BASE_URL||t("zai")||"https://api.z.ai/api/coding/paas/v4");case"gemini-api":return trimTrailingSlash(process.env.GEMINI_BASE_URL||process.env.GEMINI_API_BASE_URL||t("gemini-api")||"https://generativelanguage.googleapis.com/v1beta/openai");case"gemini-google":return trimTrailingSlash(process.env.GEMINI_GOOGLE_BASE_URL||process.env.GEMINI_BASE_URL||t("gemini-google")||"https://generativelanguage.googleapis.com/v1beta/openai");case"minimax":return trimTrailingSlash(process.env.MINIMAX_BASE_URL||t("minimax")||"https://api.minimax.io/anthropic");case"nvidia":return ensureV1Suffix(process.env.NVIDIA_BASE_URL||t("nvidia")||"https://integrate.api.nvidia.com/v1");case"deepseek":return ensureV1Suffix(process.env.DEEPSEEK_BASE_URL||t("deepseek")||"https://api.deepseek.com/v1");case"xai":return ensureV1Suffix(process.env.XAI_BASE_URL||t("xai")||"https://api.x.ai/v1");case"gmi":case"novita":case"stepfun":case"huggingface":case"opencode-zen":case"arcee":case"alibaba":case"kimi":return ensureV1Suffix(t(e));case"custom-openai":return ensureV1Suffix(t("custom-openai")||"https://api.openai.com/v1");default:return ensureV1Suffix(process.env.OPENAI_API_BASE_URL||process.env.OPENAI_BASE_URL||"https://api.openai.com/v1")}}async function buildProviderHeaders(a){if("gemini-google"===a)return e();const t={},o=i(a),r=getProviderBaseUrl(a);return"ollama"!==a&&!("ollama-cloud"===a&&isLocalOllamaProviderHost(r))&&o&&(t.Authorization=`Bearer ${o}`),"openrouter"===a&&(t["HTTP-Referer"]="https://context.iaforged.com",t["X-Title"]="Context Code"),t}function formatOpenAICompatibleDescription(e){const a=[];return e.description&&a.push(e.description),e.context_length&&a.push(`Context: ${e.context_length}`),(e.pricing?.prompt||e.pricing?.completion)&&a.push(`Price: ${e.pricing?.prompt??"?"} prompt / ${e.pricing?.completion??"?"} completion`),a.join(" · ")}function mapOpenAICompatibleModels(e,a){return(e.data??[]).map(e=>{const i=e.id?.trim();if(!i)return null;const t="minimax"===a?n[i.toLowerCase()]:void 0;return{value:i,label:e.name?.trim()||i,description:formatOpenAICompatibleDescription(e)||t||""}}).filter(e=>null!==e)}function filterOllamaModels(e,a,i){return"ollama-cloud"===e&&isLocalOllamaProviderHost(i)?a.filter(e=>e.value.toLowerCase().endsWith(":cloud")):a}async function fetchJson(e,a){const i=await fetch(e,{headers:a});if(!i.ok)throw new Error(`Failed to load models from ${e}: ${i.status}`);return i.json()}function cacheProviderHealth(e){return m.set(getProviderCacheKey(e.provider),{expiresAt:Date.now()+3e4,result:e}),e}function buildHealthResult(e,a,i,t={}){return{provider:e,label:getProviderLabel(e),state:a,message:i,baseUrl:t.baseUrl??getProviderBaseUrl(e),statusCode:t.statusCode,checkedAt:Date.now()}}async function fetchWithTimeout(e,a,i=5e3){const t=new AbortController,o=setTimeout(()=>t.abort(),i);try{return await fetch(e,{headers:a,signal:t.signal})}finally{clearTimeout(o)}}export async function checkProviderHealth(e,t={}){if(!t.forceRefresh){const a=function(e){const a=m.get(getProviderCacheKey(e));return a?a.expiresAt<Date.now()?(m.delete(getProviderCacheKey(e)),null):a.result:null}(e);if(a)return a}const o=getProviderBaseUrl(e),r=getProviderLabel(e),n="minimax"===e?{"x-api-key":a()??"",Authorization:`Bearer ${a()??""}`,"Content-Type":"application/json"}:await buildProviderHeaders(e),l="minimax"===e?a():i(e);if(!("ollama"===e||"gemini-google"===e||"ollama-cloud"===e&&isLocalOllamaProviderHost(o)||l))return cacheProviderHealth(buildHealthResult(e,"needs-setup",`${r} no tiene credenciales configuradas.`,{baseUrl:o}));try{if("minimax"===e)return cacheProviderHealth(buildHealthResult(e,"healthy",`${r} configurado para Anthropic-compatible (${o}).`,{baseUrl:o}));if("ollama"===e||"ollama-cloud"===e){const a=[`${o.endsWith("/v1")?o.slice(0,-3):o}/api/tags`,`${o}/models`];let i,t="";for(const r of a){const a=await fetchWithTimeout(r,n);if(a.ok)return cacheProviderHealth(buildHealthResult(e,"healthy",`Conectado a ${r}.`,{baseUrl:o,statusCode:a.status}));if(i=a.status,t=`${a.status} ${a.statusText}`.trim(),404!==a.status||!r.endsWith("/api/tags"))break}return cacheProviderHealth(429===i?buildHealthResult(e,"rate-limited",`${r} devolvió rate limit al validar la conexión.`,{baseUrl:o,statusCode:i}):buildHealthResult(e,"unreachable",t?`${r} no respondió correctamente (${t}).`:`${r} no respondió correctamente.`,{baseUrl:o,statusCode:i}))}const a=`${o}/models`,i=await fetchWithTimeout(a,n);return i.ok?cacheProviderHealth(buildHealthResult(e,"healthy",`Conectado a ${a}.`,{baseUrl:o,statusCode:i.status})):401===i.status||403===i.status?cacheProviderHealth(buildHealthResult(e,"needs-setup",`${r} rechazó la solicitud. Revisa la API key o token configurado.`,{baseUrl:o,statusCode:i.status})):429===i.status?cacheProviderHealth(buildHealthResult(e,"rate-limited",`${r} devolvió rate limit al validar la conexión.`,{baseUrl:o,statusCode:i.status})):cacheProviderHealth(buildHealthResult(e,"unreachable",`${r} respondió con ${i.status} al validar la conexión.`,{baseUrl:o,statusCode:i.status}))}catch(a){const i=function(e){return e instanceof Error?e.message.replace(/\s+/g," ").trim():String(e).replace(/\s+/g," ").trim()}(a);return"ollama"===e&&(i.toLowerCase().includes("econnrefused")||i.toLowerCase().includes("fetch failed")||i.toLowerCase().includes("networkerror")||i.toLowerCase().includes("localhost:11434"))?cacheProviderHealth(buildHealthResult(e,"unreachable","Ollama no es accesible. Inicia el servidor local o revisa OLLAMA_BASE_URL.",{baseUrl:o})):i.includes("401")||i.includes("403")||i.toLowerCase().includes("authentication")?cacheProviderHealth(buildHealthResult(e,"needs-setup",`${r} no tiene credenciales válidas.`,{baseUrl:o})):i.includes("429")||i.toLowerCase().includes("rate limit")?cacheProviderHealth(buildHealthResult(e,"rate-limited",`${r} devolvió rate limit al validar la conexión.`,{baseUrl:o})):cacheProviderHealth(buildHealthResult(e,"unreachable",`${r} no pudo validarse: ${i||"error desconocido"}.`,{baseUrl:o}))}}export function getCachedProviderModels(e){return p.get(getProviderCacheKey(e))??null}export async function fetchProviderModels(e){const i=getProviderCacheKey(e),t=p.get(i);if(t)return t;try{if("minimax"===e)try{const e=a(),t=function(e){return(e.data??[]).map(e=>{const a=e.id?.trim();return a?{value:a,label:e.display_name?.trim()||a,description:n[a.toLowerCase()]??""}:null}).filter(e=>null!==e)}(await fetchJson(`${getProviderBaseUrl("minimax")}/v1/models`,{"X-Api-Key":e??"","Content-Type":"application/json"})),o=new Set(t.map(e=>e.value)),r=t.length>0?[...t,...l.filter(e=>!o.has(e.value))]:l;return p.set(i,r),r}catch{return p.set(i,l),l}let t=[];if("ollama"===e||"ollama-cloud"===e){const a=getProviderBaseUrl(e),i=a.endsWith("/v1")?a.slice(0,-3):a;try{t=filterOllamaModels(e,function(e){return(e.models??[]).map(e=>{const a=e.model?.trim()||e.name?.trim();if(!a)return null;const i=[e.details?.family,e.details?.parameter_size,e.details?.quantization_level].filter(Boolean);return{value:a,label:e.name?.trim()||a,description:i.join(" · ")}}).filter(e=>null!==e)}(await fetchJson(`${i}/api/tags`,await buildProviderHeaders(e))),a)}catch{t=filterOllamaModels(e,mapOpenAICompatibleModels(await fetchJson(`${a}/models`,await buildProviderHeaders(e)),e),a)}}else{t=mapOpenAICompatibleModels(await fetchJson(`${getProviderBaseUrl(e)}/models`,await buildProviderHeaders(e)),e)}if("gemini-api"===e||"gemini-google"===e){const e=new Set(c.map(e=>e.value));t=[...c,...t.filter(a=>!e.has(a.value))]}if("xai"===e){const e=new Set(u.map(e=>e.value));t=[...u,...t.filter(a=>!e.has(a.value))]}if("deepseek"===e){const e=new Set(s.map(e=>e.value));t=[...s,...t.filter(a=>!e.has(a.value))]}const o=d[e];if(o){const e=new Set(o.map(e=>e.value));t=[...o,...t.filter(a=>!e.has(a.value))]}return p.set(i,t),t}catch{if("gemini-api"===e||"gemini-google"===e)return p.set(i,c),c;if("xai"===e)return p.set(i,u),u;if("deepseek"===e)return p.set(i,s),s;const a=d[e];return a?(p.set(i,a),a):[]}}
1
+ import{getGeminiGoogleAuthHeaders as e,getMiniMaxAccessToken as a,getOpenAICompatibleAccessToken as i}from"../auth.js";import{getConfiguredProviderBaseUrl as t}from"./providerBaseUrls.js";import{getResolvedProviderProfileId as o,isProfiledProvider as r}from"./providerProfiles.js";const n={"minimax-m3":"Modelo multimodal de frontera para codigo, con ventana de 1M tokens.","minimax-m2.7":"Modelo de razonamiento general y chat predeterminado.","minimax-m2.7-highspeed":"Version rapida de MiniMax-M2.7.","minimax-m2.5":"Modelo de razonamiento avanzado con alta capacidad.","minimax-m2.5-highspeed":"Version rapida de MiniMax-M2.5.","minimax-m2.1":"Optimizado para programacion y desarrollo.","minimax-m2.1-highspeed":"Version rapida de MiniMax-M2.1.","minimax-m2":"Capacidades agenciales y razonamiento avanzado."},l=[{value:"minimax-m3",label:"MiniMax-M3"},{value:"minimax-m2.7",label:"MiniMax-M2.7"},{value:"minimax-m2.7-highspeed",label:"MiniMax-M2.7-highspeed"},{value:"minimax-m2.5",label:"MiniMax-M2.5"},{value:"minimax-m2.5-highspeed",label:"MiniMax-M2.5-highspeed"},{value:"minimax-m2.1",label:"MiniMax-M2.1"},{value:"minimax-m2.1-highspeed",label:"MiniMax-M2.1-highspeed"},{value:"minimax-m2",label:"MiniMax-M2"}].map(e=>({value:e.value,label:e.label,description:n[e.value]??""})),s=[{value:"deepseek-v4-pro",label:"DeepSeek V4 Pro",description:"Familia V4 pro — razonamiento profundo y código. Contexto 1M tokens."},{value:"deepseek-v4-flash",label:"DeepSeek V4 Flash",description:"Familia V4 flash — alto volumen, baja latencia. Contexto 1M tokens."},{value:"deepseek-chat",label:"deepseek-chat",description:"Alias estable V3 (api.deepseek.com). Contexto 128k tokens."},{value:"deepseek-reasoner",label:"deepseek-reasoner",description:"Alias estable R1/V3 con chain-of-thought. Contexto 128k tokens."}],c=[{value:"gemini-3.5-pro",label:"Gemini 3.5 Pro",description:"Modelo Gemini principal para razonamiento, codigo y agentes."},{value:"gemini-3.5-flash",label:"Gemini 3.5 Flash",description:"Modelo Gemini rapido con capacidades multimodales y de codigo."},{value:"gemini-3.5-flash-lite",label:"Gemini 3.5 Flash-Lite",description:"Variante de bajo costo y baja latencia."},{value:"gemini-3.1-pro-preview",label:"Gemini 3.1 Pro Preview",description:"Version anterior de Pro."},{value:"gemini-3-flash-preview",label:"Gemini 3 Flash Preview",description:"Version anterior de Flash."},{value:"gemini-3.1-flash-lite-preview",label:"Gemini 3.1 Flash-Lite Preview",description:"Version anterior de Flash-Lite."},{value:"gemini-2.5-pro",label:"Gemini 2.5 Pro",description:"Modelo estable para razonamiento y codigo."},{value:"gemini-2.5-flash",label:"Gemini 2.5 Flash",description:"Modelo estable rapido para alto volumen."},{value:"gemini-2.5-flash-lite",label:"Gemini 2.5 Flash-Lite",description:"Modelo estable economico y de baja latencia."}],u=[{value:"grok-4",label:"Grok 4",description:"Modelo principal de xAI para razonamiento, codigo y agentes."},{value:"grok-4-fast-reasoning",label:"Grok 4 Fast (reasoning)",description:"Variante rapida de Grok 4 con razonamiento."},{value:"grok-code-fast-1",label:"Grok Code Fast 1",description:"Optimizado para tareas agenticas de codigo de baja latencia."},{value:"grok-3",label:"Grok 3",description:"Generacion anterior, estable para uso general."}],d={gmi:[{value:"deepseek-ai/DeepSeek-V3.2",label:"DeepSeek V3.2",description:"GMI Cloud — DeepSeek V3.2."},{value:"moonshotai/Kimi-K2.5",label:"Kimi K2.5",description:"GMI Cloud — Moonshot Kimi K2.5."},{value:"zai-org/GLM-5.1-FP8",label:"GLM 5.1",description:"GMI Cloud — Zhipu GLM 5.1."},{value:"openai/gpt-5.4",label:"GPT-5.4",description:"GMI Cloud — OpenAI GPT-5.4."}],novita:[{value:"moonshotai/kimi-k2.5",label:"Kimi K2.5",description:"NovitaAI — Moonshot Kimi K2.5."},{value:"zai-org/glm-5",label:"GLM 5",description:"NovitaAI — Zhipu GLM 5."},{value:"deepseek/deepseek-v3-0324",label:"DeepSeek V3 0324",description:"NovitaAI — DeepSeek V3."},{value:"qwen/qwen3-235b-a22b-fp8",label:"Qwen3 235B",description:"NovitaAI — Qwen3 235B."}],stepfun:[{value:"step-3",label:"Step 3",description:"StepFun — modelo flagship Step 3."}],huggingface:[{value:"Qwen/Qwen3.5-72B-Instruct",label:"Qwen3.5 72B",description:"HuggingFace router — Qwen3.5 72B Instruct."},{value:"deepseek-ai/DeepSeek-V3.2",label:"DeepSeek V3.2",description:"HuggingFace router — DeepSeek V3.2."}],arcee:[{value:"auto",label:"Auto (router)",description:"Arcee AI — enrutador automático de modelos."}],alibaba:[{value:"qwen3-max",label:"Qwen3 Max",description:"Alibaba DashScope — Qwen3 Max."},{value:"qwen3-coder-plus",label:"Qwen3 Coder Plus",description:"Alibaba DashScope — Qwen3 Coder Plus."},{value:"qwen-plus",label:"Qwen Plus",description:"Alibaba DashScope — Qwen Plus."}],kimi:[{value:"kimi-k2-0905-preview",label:"Kimi K2 (0905)",description:"Moonshot — Kimi K2 para coding."},{value:"moonshot-v1-128k",label:"Moonshot v1 128k",description:"Moonshot — contexto 128k."}]},p=new Map,m=new Map;function trimTrailingSlash(e){return e.endsWith("/")?e.slice(0,-1):e}function ensureV1Suffix(e){const a=trimTrailingSlash(e);return a.endsWith("/v1")?a:`${a}/v1`}function isLocalOllamaProviderHost(e){try{const a=new URL(e);return"localhost"===a.hostname||"127.0.0.1"===a.hostname}catch{return e.includes("localhost")||e.includes("127.0.0.1")}}function getProviderCacheKey(e){const a=getProviderBaseUrl(e);return`${e}:${(r(e)?o(e):null)??"default"}:${a}`}function getProviderLabel(e){switch(e){case"openrouter":return"OpenRouter";case"ollama":return"Ollama";case"ollama-cloud":return"Ollama Cloud";case"gemini-api":return"Gemini API";case"gemini-google":return"Gemini Google";case"zai":return"Z.AI";case"minimax":return"MiniMax";case"nvidia":return"NVIDIA NIM";case"deepseek":return"DeepSeek";case"xai":return"xAI";case"gmi":return"GMI Cloud";case"novita":return"NovitaAI";case"stepfun":return"StepFun";case"huggingface":return"HuggingFace";case"opencode-zen":return"OpenCode Zen";case"arcee":return"Arcee AI";case"alibaba":return"Alibaba (Qwen)";case"kimi":return"Kimi (Moonshot)";default:return"OpenAI"}}function getProviderBaseUrl(e){switch(e){case"openrouter":return ensureV1Suffix(process.env.OPENROUTER_BASE_URL||t("openrouter")||"https://openrouter.ai/api/v1");case"ollama":return ensureV1Suffix(process.env.OLLAMA_BASE_URL||t("ollama")||"http://localhost:11434/v1");case"ollama-cloud":return ensureV1Suffix(process.env.OLLAMA_CLOUD_BASE_URL||process.env.OLLAMA_BASE_URL||t("ollama-cloud")||"http://localhost:11434/v1");case"zai":return trimTrailingSlash(process.env.ZAI_BASE_URL||t("zai")||"https://api.z.ai/api/coding/paas/v4");case"gemini-api":return trimTrailingSlash(process.env.GEMINI_BASE_URL||process.env.GEMINI_API_BASE_URL||t("gemini-api")||"https://generativelanguage.googleapis.com/v1beta/openai");case"gemini-google":return trimTrailingSlash(process.env.GEMINI_GOOGLE_BASE_URL||process.env.GEMINI_BASE_URL||t("gemini-google")||"https://generativelanguage.googleapis.com/v1beta/openai");case"minimax":return trimTrailingSlash(process.env.MINIMAX_BASE_URL||t("minimax")||"https://api.minimax.io/anthropic");case"nvidia":return ensureV1Suffix(process.env.NVIDIA_BASE_URL||t("nvidia")||"https://integrate.api.nvidia.com/v1");case"deepseek":return ensureV1Suffix(process.env.DEEPSEEK_BASE_URL||t("deepseek")||"https://api.deepseek.com/v1");case"xai":return ensureV1Suffix(process.env.XAI_BASE_URL||t("xai")||"https://api.x.ai/v1");case"gmi":case"novita":case"stepfun":case"huggingface":case"opencode-zen":case"arcee":case"alibaba":case"kimi":return ensureV1Suffix(t(e));case"custom-openai":return ensureV1Suffix(t("custom-openai")||"https://api.openai.com/v1");default:return ensureV1Suffix(process.env.OPENAI_API_BASE_URL||process.env.OPENAI_BASE_URL||"https://api.openai.com/v1")}}async function buildProviderHeaders(a){if("gemini-google"===a)return e();const t={},o=i(a),r=getProviderBaseUrl(a);return"ollama"!==a&&!("ollama-cloud"===a&&isLocalOllamaProviderHost(r))&&o&&(t.Authorization=`Bearer ${o}`),"openrouter"===a&&(t["HTTP-Referer"]="https://context.iaforged.com",t["X-Title"]="Context Code"),t}function formatOpenAICompatibleDescription(e){const a=[];return e.description&&a.push(e.description),e.context_length&&a.push(`Context: ${e.context_length}`),(e.pricing?.prompt||e.pricing?.completion)&&a.push(`Price: ${e.pricing?.prompt??"?"} prompt / ${e.pricing?.completion??"?"} completion`),a.join(" · ")}function mapOpenAICompatibleModels(e,a){return(e.data??[]).map(e=>{const i=e.id?.trim();if(!i)return null;const t="minimax"===a?n[i.toLowerCase()]:void 0;return{value:i,label:e.name?.trim()||i,description:formatOpenAICompatibleDescription(e)||t||""}}).filter(e=>null!==e)}function filterOllamaModels(e,a,i){return"ollama-cloud"===e&&isLocalOllamaProviderHost(i)?a.filter(e=>e.value.toLowerCase().endsWith(":cloud")):a}async function fetchJson(e,a){const i=await fetch(e,{headers:a});if(!i.ok)throw new Error(`Failed to load models from ${e}: ${i.status}`);return i.json()}function cacheProviderHealth(e){return m.set(getProviderCacheKey(e.provider),{expiresAt:Date.now()+3e4,result:e}),e}function buildHealthResult(e,a,i,t={}){return{provider:e,label:getProviderLabel(e),state:a,message:i,baseUrl:t.baseUrl??getProviderBaseUrl(e),statusCode:t.statusCode,checkedAt:Date.now()}}async function fetchWithTimeout(e,a,i=5e3){const t=new AbortController,o=setTimeout(()=>t.abort(),i);try{return await fetch(e,{headers:a,signal:t.signal})}finally{clearTimeout(o)}}export async function checkProviderHealth(e,t={}){if(!t.forceRefresh){const a=function(e){const a=m.get(getProviderCacheKey(e));return a?a.expiresAt<Date.now()?(m.delete(getProviderCacheKey(e)),null):a.result:null}(e);if(a)return a}const o=getProviderBaseUrl(e),r=getProviderLabel(e),n="minimax"===e?{"x-api-key":a()??"",Authorization:`Bearer ${a()??""}`,"Content-Type":"application/json"}:await buildProviderHeaders(e),l="minimax"===e?a():i(e);if(!("ollama"===e||"gemini-google"===e||"ollama-cloud"===e&&isLocalOllamaProviderHost(o)||l))return cacheProviderHealth(buildHealthResult(e,"needs-setup",`${r} no tiene credenciales configuradas.`,{baseUrl:o}));try{if("minimax"===e)return cacheProviderHealth(buildHealthResult(e,"healthy",`${r} configurado para Anthropic-compatible (${o}).`,{baseUrl:o}));if("ollama"===e||"ollama-cloud"===e){const a=[`${o.endsWith("/v1")?o.slice(0,-3):o}/api/tags`,`${o}/models`];let i,t="";for(const r of a){const a=await fetchWithTimeout(r,n);if(a.ok)return cacheProviderHealth(buildHealthResult(e,"healthy",`Conectado a ${r}.`,{baseUrl:o,statusCode:a.status}));if(i=a.status,t=`${a.status} ${a.statusText}`.trim(),404!==a.status||!r.endsWith("/api/tags"))break}return cacheProviderHealth(429===i?buildHealthResult(e,"rate-limited",`${r} devolvió rate limit al validar la conexión.`,{baseUrl:o,statusCode:i}):buildHealthResult(e,"unreachable",t?`${r} no respondió correctamente (${t}).`:`${r} no respondió correctamente.`,{baseUrl:o,statusCode:i}))}const a=`${o}/models`,i=await fetchWithTimeout(a,n);return i.ok?cacheProviderHealth(buildHealthResult(e,"healthy",`Conectado a ${a}.`,{baseUrl:o,statusCode:i.status})):401===i.status||403===i.status?cacheProviderHealth(buildHealthResult(e,"needs-setup",`${r} rechazó la solicitud. Revisa la API key o token configurado.`,{baseUrl:o,statusCode:i.status})):429===i.status?cacheProviderHealth(buildHealthResult(e,"rate-limited",`${r} devolvió rate limit al validar la conexión.`,{baseUrl:o,statusCode:i.status})):cacheProviderHealth(buildHealthResult(e,"unreachable",`${r} respondió con ${i.status} al validar la conexión.`,{baseUrl:o,statusCode:i.status}))}catch(a){const i=function(e){return e instanceof Error?e.message.replace(/\s+/g," ").trim():String(e).replace(/\s+/g," ").trim()}(a);return"ollama"===e&&(i.toLowerCase().includes("econnrefused")||i.toLowerCase().includes("fetch failed")||i.toLowerCase().includes("networkerror")||i.toLowerCase().includes("localhost:11434"))?cacheProviderHealth(buildHealthResult(e,"unreachable","Ollama no es accesible. Inicia el servidor local o revisa OLLAMA_BASE_URL.",{baseUrl:o})):i.includes("401")||i.includes("403")||i.toLowerCase().includes("authentication")?cacheProviderHealth(buildHealthResult(e,"needs-setup",`${r} no tiene credenciales válidas.`,{baseUrl:o})):i.includes("429")||i.toLowerCase().includes("rate limit")?cacheProviderHealth(buildHealthResult(e,"rate-limited",`${r} devolvió rate limit al validar la conexión.`,{baseUrl:o})):cacheProviderHealth(buildHealthResult(e,"unreachable",`${r} no pudo validarse: ${i||"error desconocido"}.`,{baseUrl:o}))}}export function getCachedProviderModels(e){return p.get(getProviderCacheKey(e))??null}export async function fetchProviderModels(e){const i=getProviderCacheKey(e),t=p.get(i);if(t)return t;try{if("minimax"===e)try{const e=a(),t=function(e){return(e.data??[]).map(e=>{const a=e.id?.trim();return a?{value:a,label:e.display_name?.trim()||a,description:n[a.toLowerCase()]??""}:null}).filter(e=>null!==e)}(await fetchJson(`${getProviderBaseUrl("minimax")}/v1/models`,{"X-Api-Key":e??"","Content-Type":"application/json"})),o=new Set(t.map(e=>e.value)),r=t.length>0?[...t,...l.filter(e=>!o.has(e.value))]:l;return p.set(i,r),r}catch{return p.set(i,l),l}let t=[];if("ollama"===e||"ollama-cloud"===e){const a=getProviderBaseUrl(e),i=a.endsWith("/v1")?a.slice(0,-3):a;try{t=filterOllamaModels(e,function(e){return(e.models??[]).map(e=>{const a=e.model?.trim()||e.name?.trim();if(!a)return null;const i=[e.details?.family,e.details?.parameter_size,e.details?.quantization_level].filter(Boolean);return{value:a,label:e.name?.trim()||a,description:i.join(" · ")}}).filter(e=>null!==e)}(await fetchJson(`${i}/api/tags`,await buildProviderHeaders(e))),a)}catch{t=filterOllamaModels(e,mapOpenAICompatibleModels(await fetchJson(`${a}/models`,await buildProviderHeaders(e)),e),a)}}else{t=mapOpenAICompatibleModels(await fetchJson(`${getProviderBaseUrl(e)}/models`,await buildProviderHeaders(e)),e)}if("gemini-api"===e||"gemini-google"===e){const e=new Set(c.map(e=>e.value));t=[...c,...t.filter(a=>!e.has(a.value))]}if("xai"===e){const e=new Set(u.map(e=>e.value));t=[...u,...t.filter(a=>!e.has(a.value))]}if("deepseek"===e){const e=new Set(s.map(e=>e.value));t=[...s,...t.filter(a=>!e.has(a.value))]}const o=d[e];if(o){const e=new Set(o.map(e=>e.value));t=[...o,...t.filter(a=>!e.has(a.value))]}return p.set(i,t),t}catch{if("gemini-api"===e||"gemini-google"===e)return p.set(i,c),c;if("xai"===e)return p.set(i,u),u;if("deepseek"===e)return p.set(i,s),s;const a=d[e];return a?(p.set(i,a),a):[]}}
@@ -1 +1 @@
1
- import{spawnSync as r}from"child_process";import e from"env-paths";import{existsSync as t,mkdirSync as o,readFileSync as s,writeFileSync as n}from"fs";import{dirname as i,join as c}from"path";import{buildMcpToolName as l}from"../../services/mcp/mcpStringUtils.js";import{whichSync as a}from"../which.js";import{SEMBLE_MCP_SERVER_NAME as u,SEMBLE_MCP_TOOLS as p}from"./common.js";const m=e("claude-cli"),f="semble[mcp]",h=c(m.cache,"semble-bootstrap.json"),d=c(m.data,"uv"),w=c(d,"win32"===process.platform?"uv.exe":"uv");function runChecked(e,t,o){const s=r(e,t,{cwd:o,encoding:"utf8",stdio:["ignore","pipe","pipe"]});if(0!==s.status){const r=s.stderr?.trim()||s.stdout?.trim()||"unknown error";throw new Error(`${e} ${t.join(" ")} failed: ${r}`)}}function ensureUvAvailable(){return a("uv")??(t(w)?w:function(){if(o(d,{recursive:!0}),"win32"===process.platform){const r=a("powershell")??a("pwsh");if(!r)throw new Error("PowerShell is required to install uv automatically on Windows");runChecked(r,["-ExecutionPolicy","ByPass","-Command",`$env:UV_INSTALL_DIR='${d.replace(/'/g,"''")}'; $env:UV_NO_MODIFY_PATH='1'; irm https://astral.sh/uv/install.ps1 | iex`],process.cwd())}else{const r=a("curl"),e=a("wget");if(!r&&!e)throw new Error("curl or wget is required to install uv automatically");runChecked("sh",["-c",r?`curl -LsSf https://astral.sh/uv/install.sh | env UV_INSTALL_DIR="${d}" UV_NO_MODIFY_PATH=1 sh`:`wget -qO- https://astral.sh/uv/install.sh | env UV_INSTALL_DIR="${d}" UV_NO_MODIFY_PATH=1 sh`],process.cwd())}if(!t(w))throw new Error(`uv installation finished but binary was not found at ${w}`);return w}())}function ensureSembleBootstrap(r,e){const c=function(){if(!t(h))return null;try{return JSON.parse(s(h,"utf8"))}catch{return null}}();1===c?.version&&c.packageSpec===f||(runChecked(r,["tool","install",f],e),runChecked(r,["tool","run","--from",f,"semble","search","bootstrap",e,"--top-k","1"],e),o(i(h),{recursive:!0}),n(h,JSON.stringify({version:1,packageSpec:f},null,2),"utf8"))}export function setupSembleMCP(){const r=p.map(r=>l(u,r)),e=ensureUvAvailable();return ensureSembleBootstrap(e,process.cwd()),{mcpConfig:{[u]:{type:"stdio",command:e,args:["tool","run","--from",f,"semble"],scope:"dynamic"}},allowedTools:r}}
1
+ import{spawnSync as r}from"child_process";import e from"env-paths";import{existsSync as t,mkdirSync as o,readFileSync as s,writeFileSync as n}from"fs";import{dirname as i,join as c}from"path";import{buildMcpToolName as l}from"../../services/mcp/mcpStringUtils.js";import{whichSync as a}from"../which.js";import{SEMBLE_MCP_SERVER_NAME as u,SEMBLE_MCP_TOOLS as p}from"./common.js";const m=e("claude-cli"),f="semble[mcp]",h=c(m.cache,"semble-bootstrap.json"),d=c(m.data,"uv"),w=c(d,"win32"===process.platform?"uv.exe":"uv");function runChecked(e,t,o){const s=r(e,t,{cwd:o,encoding:"utf8",stdio:["ignore","pipe","pipe"]});if(0!==s.status){const r=s.stderr?.trim()||s.stdout?.trim()||"unknown error";throw new Error(`${e} ${t.join(" ")} failed: ${r}`)}}export function ensureUvAvailable(){return a("uv")??(t(w)?w:function(){if(o(d,{recursive:!0}),"win32"===process.platform){const r=a("powershell")??a("pwsh");if(!r)throw new Error("PowerShell is required to install uv automatically on Windows");runChecked(r,["-ExecutionPolicy","ByPass","-Command",`$env:UV_INSTALL_DIR='${d.replace(/'/g,"''")}'; $env:UV_NO_MODIFY_PATH='1'; irm https://astral.sh/uv/install.ps1 | iex`],process.cwd())}else{const r=a("curl"),e=a("wget");if(!r&&!e)throw new Error("curl or wget is required to install uv automatically");runChecked("sh",["-c",r?`curl -LsSf https://astral.sh/uv/install.sh | env UV_INSTALL_DIR="${d}" UV_NO_MODIFY_PATH=1 sh`:`wget -qO- https://astral.sh/uv/install.sh | env UV_INSTALL_DIR="${d}" UV_NO_MODIFY_PATH=1 sh`],process.cwd())}if(!t(w))throw new Error(`uv installation finished but binary was not found at ${w}`);return w}())}function ensureSembleBootstrap(r,e){const c=function(){if(!t(h))return null;try{return JSON.parse(s(h,"utf8"))}catch{return null}}();1===c?.version&&c.packageSpec===f||(runChecked(r,["tool","install",f],e),runChecked(r,["tool","run","--from",f,"semble","search","bootstrap",e,"--top-k","1"],e),o(i(h),{recursive:!0}),n(h,JSON.stringify({version:1,packageSpec:f},null,2),"utf8"))}export function setupSembleMCP(){const r=p.map(r=>l(u,r)),e=ensureUvAvailable();return ensureSembleBootstrap(e,process.cwd()),{mcpConfig:{[u]:{type:"stdio",command:e,args:["tool","run","--from",f,"semble"],scope:"dynamic"}},allowedTools:r}}
@@ -1 +1 @@
1
- import r,{Chalk as e}from"chalk";import{env as i}from"./env.js";export const BUILT_IN_THEME_NAMES=["dark","light","light-daltonized","dark-daltonized","light-ansi","dark-ansi"];export const THEME_NAMES=BUILT_IN_THEME_NAMES;export const THEME_SETTINGS=["auto",...BUILT_IN_THEME_NAMES];const g={autoAccept:"rgb(135,0,255)",bashBorder:"rgb(255,0,135)",claude:"rgb(37,99,235)",claudeShimmer:"rgb(96,165,250)",claudeBlue_FOR_SYSTEM_SPINNER:"rgb(87,105,247)",claudeBlueShimmer_FOR_SYSTEM_SPINNER:"rgb(117,135,255)",permission:"rgb(87,105,247)",permissionShimmer:"rgb(137,155,255)",planMode:"rgb(0,102,102)",ide:"rgb(71,130,200)",promptBorder:"rgb(153,153,153)",promptBorderShimmer:"rgb(183,183,183)",text:"rgb(0,0,0)",inverseText:"rgb(255,255,255)",inactive:"rgb(102,102,102)",inactiveShimmer:"rgb(142,142,142)",subtle:"rgb(175,175,175)",suggestion:"rgb(87,105,247)",remember:"rgb(0,0,255)",background:"rgb(0,153,153)",success:"rgb(44,122,57)",error:"rgb(171,43,63)",warning:"rgb(150,108,30)",merged:"rgb(135,0,255)",warningShimmer:"rgb(200,158,80)",diffAdded:"rgb(105,219,124)",diffRemoved:"rgb(255,168,180)",diffAddedDimmed:"rgb(199,225,203)",diffRemovedDimmed:"rgb(253,210,216)",diffAddedWord:"rgb(47,157,68)",diffRemovedWord:"rgb(209,69,75)",red_FOR_SUBAGENTS_ONLY:"rgb(220,38,38)",blue_FOR_SUBAGENTS_ONLY:"rgb(37,99,235)",green_FOR_SUBAGENTS_ONLY:"rgb(22,163,74)",yellow_FOR_SUBAGENTS_ONLY:"rgb(202,138,4)",purple_FOR_SUBAGENTS_ONLY:"rgb(147,51,234)",orange_FOR_SUBAGENTS_ONLY:"rgb(234,88,12)",pink_FOR_SUBAGENTS_ONLY:"rgb(219,39,119)",cyan_FOR_SUBAGENTS_ONLY:"rgb(8,145,178)",professionalBlue:"rgb(106,155,204)",chromeYellow:"rgb(251,188,4)",clawd_body:"rgb(37,99,235)",clawd_background:"rgb(0,0,0)",userMessageBackground:"rgb(240, 240, 240)",userMessageBackgroundHover:"rgb(252, 252, 252)",messageActionsBackground:"rgb(232, 236, 244)",selectionBg:"rgb(180, 213, 255)",bashMessageBackgroundColor:"rgb(250, 245, 250)",memoryBackgroundColor:"rgb(230, 245, 250)",rate_limit_fill:"rgb(87,105,247)",rate_limit_empty:"rgb(39,47,111)",fastMode:"rgb(255,106,0)",fastModeShimmer:"rgb(255,150,50)",briefLabelYou:"rgb(37,99,235)",briefLabelClaude:"rgb(37,99,235)",rainbow_red:"rgb(235,95,87)",rainbow_orange:"rgb(245,139,87)",rainbow_yellow:"rgb(250,195,95)",rainbow_green:"rgb(145,200,130)",rainbow_blue:"rgb(130,170,220)",rainbow_indigo:"rgb(155,130,200)",rainbow_violet:"rgb(200,130,180)",rainbow_red_shimmer:"rgb(250,155,147)",rainbow_orange_shimmer:"rgb(255,185,137)",rainbow_yellow_shimmer:"rgb(255,225,155)",rainbow_green_shimmer:"rgb(185,230,180)",rainbow_blue_shimmer:"rgb(180,205,240)",rainbow_indigo_shimmer:"rgb(195,180,230)",rainbow_violet_shimmer:"rgb(230,180,210)"},a={autoAccept:"ansi:magenta",bashBorder:"ansi:magenta",claude:"ansi:redBright",claudeShimmer:"ansi:yellowBright",claudeBlue_FOR_SYSTEM_SPINNER:"ansi:blue",claudeBlueShimmer_FOR_SYSTEM_SPINNER:"ansi:blueBright",permission:"ansi:blue",permissionShimmer:"ansi:blueBright",planMode:"ansi:cyan",ide:"ansi:blueBright",promptBorder:"ansi:white",promptBorderShimmer:"ansi:whiteBright",text:"ansi:black",inverseText:"ansi:white",inactive:"ansi:blackBright",inactiveShimmer:"ansi:white",subtle:"ansi:blackBright",suggestion:"ansi:blue",remember:"ansi:blue",background:"ansi:cyan",success:"ansi:green",error:"ansi:red",warning:"ansi:yellow",merged:"ansi:magenta",warningShimmer:"ansi:yellowBright",diffAdded:"ansi:green",diffRemoved:"ansi:red",diffAddedDimmed:"ansi:green",diffRemovedDimmed:"ansi:red",diffAddedWord:"ansi:greenBright",diffRemovedWord:"ansi:redBright",red_FOR_SUBAGENTS_ONLY:"ansi:red",blue_FOR_SUBAGENTS_ONLY:"ansi:blue",green_FOR_SUBAGENTS_ONLY:"ansi:green",yellow_FOR_SUBAGENTS_ONLY:"ansi:yellow",purple_FOR_SUBAGENTS_ONLY:"ansi:magenta",orange_FOR_SUBAGENTS_ONLY:"ansi:redBright",pink_FOR_SUBAGENTS_ONLY:"ansi:magentaBright",cyan_FOR_SUBAGENTS_ONLY:"ansi:cyan",professionalBlue:"ansi:blueBright",chromeYellow:"ansi:yellow",clawd_body:"ansi:redBright",clawd_background:"ansi:black",userMessageBackground:"ansi:white",userMessageBackgroundHover:"ansi:whiteBright",messageActionsBackground:"ansi:white",selectionBg:"ansi:cyan",bashMessageBackgroundColor:"ansi:whiteBright",memoryBackgroundColor:"ansi:white",rate_limit_fill:"ansi:yellow",rate_limit_empty:"ansi:black",fastMode:"ansi:red",fastModeShimmer:"ansi:redBright",briefLabelYou:"ansi:blue",briefLabelClaude:"ansi:redBright",rainbow_red:"ansi:red",rainbow_orange:"ansi:redBright",rainbow_yellow:"ansi:yellow",rainbow_green:"ansi:green",rainbow_blue:"ansi:cyan",rainbow_indigo:"ansi:blue",rainbow_violet:"ansi:magenta",rainbow_red_shimmer:"ansi:redBright",rainbow_orange_shimmer:"ansi:yellow",rainbow_yellow_shimmer:"ansi:yellowBright",rainbow_green_shimmer:"ansi:greenBright",rainbow_blue_shimmer:"ansi:cyanBright",rainbow_indigo_shimmer:"ansi:blueBright",rainbow_violet_shimmer:"ansi:magentaBright"},n={autoAccept:"ansi:magentaBright",bashBorder:"ansi:magentaBright",claude:"ansi:redBright",claudeShimmer:"ansi:yellowBright",claudeBlue_FOR_SYSTEM_SPINNER:"ansi:blueBright",claudeBlueShimmer_FOR_SYSTEM_SPINNER:"ansi:blueBright",permission:"ansi:blueBright",permissionShimmer:"ansi:blueBright",planMode:"ansi:cyanBright",ide:"ansi:blue",promptBorder:"ansi:white",promptBorderShimmer:"ansi:whiteBright",text:"ansi:whiteBright",inverseText:"ansi:black",inactive:"ansi:white",inactiveShimmer:"ansi:whiteBright",subtle:"ansi:white",suggestion:"ansi:blueBright",remember:"ansi:blueBright",background:"ansi:cyanBright",success:"ansi:greenBright",error:"ansi:redBright",warning:"ansi:yellowBright",merged:"ansi:magentaBright",warningShimmer:"ansi:yellowBright",diffAdded:"ansi:green",diffRemoved:"ansi:red",diffAddedDimmed:"ansi:green",diffRemovedDimmed:"ansi:red",diffAddedWord:"ansi:greenBright",diffRemovedWord:"ansi:redBright",red_FOR_SUBAGENTS_ONLY:"ansi:redBright",blue_FOR_SUBAGENTS_ONLY:"ansi:blueBright",green_FOR_SUBAGENTS_ONLY:"ansi:greenBright",yellow_FOR_SUBAGENTS_ONLY:"ansi:yellowBright",purple_FOR_SUBAGENTS_ONLY:"ansi:magentaBright",orange_FOR_SUBAGENTS_ONLY:"ansi:redBright",pink_FOR_SUBAGENTS_ONLY:"ansi:magentaBright",cyan_FOR_SUBAGENTS_ONLY:"ansi:cyanBright",professionalBlue:"rgb(106,155,204)",chromeYellow:"ansi:yellowBright",clawd_body:"ansi:redBright",clawd_background:"ansi:black",userMessageBackground:"ansi:blackBright",userMessageBackgroundHover:"ansi:white",messageActionsBackground:"ansi:blackBright",selectionBg:"ansi:blue",bashMessageBackgroundColor:"ansi:black",memoryBackgroundColor:"ansi:blackBright",rate_limit_fill:"ansi:yellow",rate_limit_empty:"ansi:white",fastMode:"ansi:redBright",fastModeShimmer:"ansi:redBright",briefLabelYou:"ansi:blueBright",briefLabelClaude:"ansi:redBright",rainbow_red:"ansi:red",rainbow_orange:"ansi:redBright",rainbow_yellow:"ansi:yellow",rainbow_green:"ansi:green",rainbow_blue:"ansi:cyan",rainbow_indigo:"ansi:blue",rainbow_violet:"ansi:magenta",rainbow_red_shimmer:"ansi:redBright",rainbow_orange_shimmer:"ansi:yellow",rainbow_yellow_shimmer:"ansi:yellowBright",rainbow_green_shimmer:"ansi:greenBright",rainbow_blue_shimmer:"ansi:cyanBright",rainbow_indigo_shimmer:"ansi:blueBright",rainbow_violet_shimmer:"ansi:magentaBright"},b={autoAccept:"rgb(135,0,255)",bashBorder:"rgb(0,102,204)",claude:"rgb(255,153,51)",claudeShimmer:"rgb(255,183,101)",claudeBlue_FOR_SYSTEM_SPINNER:"rgb(51,102,255)",claudeBlueShimmer_FOR_SYSTEM_SPINNER:"rgb(101,152,255)",permission:"rgb(51,102,255)",permissionShimmer:"rgb(101,152,255)",planMode:"rgb(51,102,102)",ide:"rgb(71,130,200)",promptBorder:"rgb(153,153,153)",promptBorderShimmer:"rgb(183,183,183)",text:"rgb(0,0,0)",inverseText:"rgb(255,255,255)",inactive:"rgb(102,102,102)",inactiveShimmer:"rgb(142,142,142)",subtle:"rgb(175,175,175)",suggestion:"rgb(51,102,255)",remember:"rgb(51,102,255)",background:"rgb(0,153,153)",success:"rgb(0,102,153)",error:"rgb(204,0,0)",warning:"rgb(255,153,0)",merged:"rgb(135,0,255)",warningShimmer:"rgb(255,183,50)",diffAdded:"rgb(153,204,255)",diffRemoved:"rgb(255,204,204)",diffAddedDimmed:"rgb(209,231,253)",diffRemovedDimmed:"rgb(255,233,233)",diffAddedWord:"rgb(51,102,204)",diffRemovedWord:"rgb(153,51,51)",red_FOR_SUBAGENTS_ONLY:"rgb(204,0,0)",blue_FOR_SUBAGENTS_ONLY:"rgb(0,102,204)",green_FOR_SUBAGENTS_ONLY:"rgb(0,204,0)",yellow_FOR_SUBAGENTS_ONLY:"rgb(255,204,0)",purple_FOR_SUBAGENTS_ONLY:"rgb(128,0,128)",orange_FOR_SUBAGENTS_ONLY:"rgb(255,128,0)",pink_FOR_SUBAGENTS_ONLY:"rgb(255,102,178)",cyan_FOR_SUBAGENTS_ONLY:"rgb(0,178,178)",professionalBlue:"rgb(106,155,204)",chromeYellow:"rgb(251,188,4)",clawd_body:"rgb(215,119,87)",clawd_background:"rgb(0,0,0)",userMessageBackground:"rgb(220, 220, 220)",userMessageBackgroundHover:"rgb(232, 232, 232)",messageActionsBackground:"rgb(210, 216, 226)",selectionBg:"rgb(180, 213, 255)",bashMessageBackgroundColor:"rgb(250, 245, 250)",memoryBackgroundColor:"rgb(230, 245, 250)",rate_limit_fill:"rgb(51,102,255)",rate_limit_empty:"rgb(23,46,114)",fastMode:"rgb(255,106,0)",fastModeShimmer:"rgb(255,150,50)",briefLabelYou:"rgb(37,99,235)",briefLabelClaude:"rgb(255,153,51)",rainbow_red:"rgb(235,95,87)",rainbow_orange:"rgb(245,139,87)",rainbow_yellow:"rgb(250,195,95)",rainbow_green:"rgb(145,200,130)",rainbow_blue:"rgb(130,170,220)",rainbow_indigo:"rgb(155,130,200)",rainbow_violet:"rgb(200,130,180)",rainbow_red_shimmer:"rgb(250,155,147)",rainbow_orange_shimmer:"rgb(255,185,137)",rainbow_yellow_shimmer:"rgb(255,225,155)",rainbow_green_shimmer:"rgb(185,230,180)",rainbow_blue_shimmer:"rgb(180,205,240)",rainbow_indigo_shimmer:"rgb(195,180,230)",rainbow_violet_shimmer:"rgb(230,180,210)"},o={autoAccept:"rgb(175,135,255)",bashBorder:"rgb(253,93,177)",claude:"rgb(59,130,246)",claudeShimmer:"rgb(147,197,253)",claudeBlue_FOR_SYSTEM_SPINNER:"rgb(147,165,255)",claudeBlueShimmer_FOR_SYSTEM_SPINNER:"rgb(177,195,255)",permission:"rgb(177,185,249)",permissionShimmer:"rgb(207,215,255)",planMode:"rgb(72,150,140)",ide:"rgb(71,130,200)",promptBorder:"rgb(136,136,136)",promptBorderShimmer:"rgb(166,166,166)",text:"rgb(255,255,255)",inverseText:"rgb(0,0,0)",inactive:"rgb(153,153,153)",inactiveShimmer:"rgb(193,193,193)",subtle:"rgb(80,80,80)",suggestion:"rgb(177,185,249)",remember:"rgb(177,185,249)",background:"rgb(0,204,204)",success:"rgb(78,186,101)",error:"rgb(255,107,128)",warning:"rgb(255,193,7)",merged:"rgb(175,135,255)",warningShimmer:"rgb(255,223,57)",diffAdded:"rgb(34,92,43)",diffRemoved:"rgb(122,41,54)",diffAddedDimmed:"rgb(71,88,74)",diffRemovedDimmed:"rgb(105,72,77)",diffAddedWord:"rgb(56,166,96)",diffRemovedWord:"rgb(179,89,107)",red_FOR_SUBAGENTS_ONLY:"rgb(220,38,38)",blue_FOR_SUBAGENTS_ONLY:"rgb(37,99,235)",green_FOR_SUBAGENTS_ONLY:"rgb(22,163,74)",yellow_FOR_SUBAGENTS_ONLY:"rgb(202,138,4)",purple_FOR_SUBAGENTS_ONLY:"rgb(147,51,234)",orange_FOR_SUBAGENTS_ONLY:"rgb(234,88,12)",pink_FOR_SUBAGENTS_ONLY:"rgb(219,39,119)",cyan_FOR_SUBAGENTS_ONLY:"rgb(8,145,178)",professionalBlue:"rgb(106,155,204)",chromeYellow:"rgb(251,188,4)",clawd_body:"rgb(59,130,246)",clawd_background:"rgb(0,0,0)",userMessageBackground:"rgb(55, 55, 55)",userMessageBackgroundHover:"rgb(70, 70, 70)",messageActionsBackground:"rgb(44, 50, 62)",selectionBg:"rgb(38, 79, 120)",bashMessageBackgroundColor:"rgb(65, 60, 65)",memoryBackgroundColor:"rgb(55, 65, 70)",rate_limit_fill:"rgb(177,185,249)",rate_limit_empty:"rgb(80,83,112)",fastMode:"rgb(255,120,20)",fastModeShimmer:"rgb(255,165,70)",briefLabelYou:"rgb(122,180,232)",briefLabelClaude:"rgb(59,130,246)",rainbow_red:"rgb(235,95,87)",rainbow_orange:"rgb(245,139,87)",rainbow_yellow:"rgb(250,195,95)",rainbow_green:"rgb(145,200,130)",rainbow_blue:"rgb(130,170,220)",rainbow_indigo:"rgb(155,130,200)",rainbow_violet:"rgb(200,130,180)",rainbow_red_shimmer:"rgb(250,155,147)",rainbow_orange_shimmer:"rgb(255,185,137)",rainbow_yellow_shimmer:"rgb(255,225,155)",rainbow_green_shimmer:"rgb(185,230,180)",rainbow_blue_shimmer:"rgb(180,205,240)",rainbow_indigo_shimmer:"rgb(195,180,230)",rainbow_violet_shimmer:"rgb(230,180,210)"},s={autoAccept:"rgb(175,135,255)",bashBorder:"rgb(51,153,255)",claude:"rgb(255,153,51)",claudeShimmer:"rgb(255,183,101)",claudeBlue_FOR_SYSTEM_SPINNER:"rgb(153,204,255)",claudeBlueShimmer_FOR_SYSTEM_SPINNER:"rgb(183,224,255)",permission:"rgb(153,204,255)",permissionShimmer:"rgb(183,224,255)",planMode:"rgb(102,153,153)",ide:"rgb(71,130,200)",promptBorder:"rgb(136,136,136)",promptBorderShimmer:"rgb(166,166,166)",text:"rgb(255,255,255)",inverseText:"rgb(0,0,0)",inactive:"rgb(153,153,153)",inactiveShimmer:"rgb(193,193,193)",subtle:"rgb(80,80,80)",suggestion:"rgb(153,204,255)",remember:"rgb(153,204,255)",background:"rgb(0,204,204)",success:"rgb(51,153,255)",error:"rgb(255,102,102)",warning:"rgb(255,204,0)",merged:"rgb(175,135,255)",warningShimmer:"rgb(255,234,50)",diffAdded:"rgb(0,68,102)",diffRemoved:"rgb(102,0,0)",diffAddedDimmed:"rgb(62,81,91)",diffRemovedDimmed:"rgb(62,44,44)",diffAddedWord:"rgb(0,119,179)",diffRemovedWord:"rgb(179,0,0)",red_FOR_SUBAGENTS_ONLY:"rgb(255,102,102)",blue_FOR_SUBAGENTS_ONLY:"rgb(102,178,255)",green_FOR_SUBAGENTS_ONLY:"rgb(102,255,102)",yellow_FOR_SUBAGENTS_ONLY:"rgb(255,255,102)",purple_FOR_SUBAGENTS_ONLY:"rgb(178,102,255)",orange_FOR_SUBAGENTS_ONLY:"rgb(255,178,102)",pink_FOR_SUBAGENTS_ONLY:"rgb(255,153,204)",cyan_FOR_SUBAGENTS_ONLY:"rgb(102,204,204)",professionalBlue:"rgb(106,155,204)",chromeYellow:"rgb(251,188,4)",clawd_body:"rgb(215,119,87)",clawd_background:"rgb(0,0,0)",userMessageBackground:"rgb(55, 55, 55)",userMessageBackgroundHover:"rgb(70, 70, 70)",messageActionsBackground:"rgb(44, 50, 62)",selectionBg:"rgb(38, 79, 120)",bashMessageBackgroundColor:"rgb(65, 60, 65)",memoryBackgroundColor:"rgb(55, 65, 70)",rate_limit_fill:"rgb(153,204,255)",rate_limit_empty:"rgb(69,92,115)",fastMode:"rgb(255,120,20)",fastModeShimmer:"rgb(255,165,70)",briefLabelYou:"rgb(122,180,232)",briefLabelClaude:"rgb(255,153,51)",rainbow_red:"rgb(235,95,87)",rainbow_orange:"rgb(245,139,87)",rainbow_yellow:"rgb(250,195,95)",rainbow_green:"rgb(145,200,130)",rainbow_blue:"rgb(130,170,220)",rainbow_indigo:"rgb(155,130,200)",rainbow_violet:"rgb(200,130,180)",rainbow_red_shimmer:"rgb(250,155,147)",rainbow_orange_shimmer:"rgb(255,185,137)",rainbow_yellow_shimmer:"rgb(255,225,155)",rainbow_green_shimmer:"rgb(185,230,180)",rainbow_blue_shimmer:"rgb(180,205,240)",rainbow_indigo_shimmer:"rgb(195,180,230)",rainbow_violet_shimmer:"rgb(230,180,210)"},_=new Map;export function registerTheme(r,e){_.set(r,e)}export function listRegisteredThemes(){return[...BUILT_IN_THEME_NAMES,..._.keys()]}export function hasTheme(r){return"auto"===r||BUILT_IN_THEME_NAMES.includes(r)||_.has(r)}export function getTheme(r){switch(r){case"light":return g;case"light-ansi":return a;case"dark-ansi":return n;case"light-daltonized":return b;case"dark-daltonized":return s;case"dark":return o;default:{const e=_.get(r);return e||o}}}const d="Apple_Terminal"===i.terminal?new e({level:2}):r;export function themeColorToAnsi(r){const e=r.match(/rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)/);if(e){const r=parseInt(e[1],10),i=parseInt(e[2],10),g=parseInt(e[3],10),a=d.rgb(r,i,g)("X");return a.slice(0,a.indexOf("X"))}return""}
1
+ import r,{Chalk as e}from"chalk";import{env as i}from"./env.js";export const BUILT_IN_THEME_NAMES=["dark","light","light-daltonized","dark-daltonized","light-ansi","dark-ansi"];export const THEME_NAMES=BUILT_IN_THEME_NAMES;export const THEME_SETTINGS=["auto",...BUILT_IN_THEME_NAMES];const g={autoAccept:"rgb(37,99,235)",bashBorder:"rgb(37,99,235)",context:"rgb(37,99,235)",contextShimmer:"rgb(96,165,250)",contextBlue_FOR_SYSTEM_SPINNER:"rgb(87,105,247)",contextBlueShimmer_FOR_SYSTEM_SPINNER:"rgb(117,135,255)",permission:"rgb(87,105,247)",permissionShimmer:"rgb(137,155,255)",planMode:"rgb(0,102,102)",ide:"rgb(71,130,200)",promptBorder:"rgb(153,153,153)",promptBorderShimmer:"rgb(183,183,183)",text:"rgb(0,0,0)",inverseText:"rgb(255,255,255)",inactive:"rgb(102,102,102)",inactiveShimmer:"rgb(142,142,142)",subtle:"rgb(175,175,175)",suggestion:"rgb(87,105,247)",remember:"rgb(0,0,255)",background:"rgb(0,153,153)",success:"rgb(44,122,57)",error:"rgb(171,43,63)",warning:"rgb(150,108,30)",merged:"rgb(135,0,255)",warningShimmer:"rgb(200,158,80)",diffAdded:"rgb(105,219,124)",diffRemoved:"rgb(255,168,180)",diffAddedDimmed:"rgb(199,225,203)",diffRemovedDimmed:"rgb(253,210,216)",diffAddedWord:"rgb(47,157,68)",diffRemovedWord:"rgb(209,69,75)",red_FOR_SUBAGENTS_ONLY:"rgb(220,38,38)",blue_FOR_SUBAGENTS_ONLY:"rgb(37,99,235)",green_FOR_SUBAGENTS_ONLY:"rgb(22,163,74)",yellow_FOR_SUBAGENTS_ONLY:"rgb(202,138,4)",purple_FOR_SUBAGENTS_ONLY:"rgb(147,51,234)",orange_FOR_SUBAGENTS_ONLY:"rgb(234,88,12)",pink_FOR_SUBAGENTS_ONLY:"rgb(219,39,119)",cyan_FOR_SUBAGENTS_ONLY:"rgb(8,145,178)",professionalBlue:"rgb(106,155,204)",chromeYellow:"rgb(251,188,4)",clawd_body:"rgb(37,99,235)",clawd_background:"rgb(0,0,0)",userMessageBackground:"rgb(240, 240, 240)",userMessageBackgroundHover:"rgb(252, 252, 252)",messageActionsBackground:"rgb(232, 236, 244)",selectionBg:"rgb(180, 213, 255)",bashMessageBackgroundColor:"rgb(250, 245, 250)",memoryBackgroundColor:"rgb(230, 245, 250)",rate_limit_fill:"rgb(87,105,247)",rate_limit_empty:"rgb(39,47,111)",fastMode:"rgb(255,106,0)",fastModeShimmer:"rgb(255,150,50)",briefLabelYou:"rgb(37,99,235)",briefLabelContext:"rgb(37,99,235)",rainbow_red:"rgb(235,95,87)",rainbow_orange:"rgb(245,139,87)",rainbow_yellow:"rgb(250,195,95)",rainbow_green:"rgb(145,200,130)",rainbow_blue:"rgb(130,170,220)",rainbow_indigo:"rgb(155,130,200)",rainbow_violet:"rgb(200,130,180)",rainbow_red_shimmer:"rgb(250,155,147)",rainbow_orange_shimmer:"rgb(255,185,137)",rainbow_yellow_shimmer:"rgb(255,225,155)",rainbow_green_shimmer:"rgb(185,230,180)",rainbow_blue_shimmer:"rgb(180,205,240)",rainbow_indigo_shimmer:"rgb(195,180,230)",rainbow_violet_shimmer:"rgb(230,180,210)"},n={autoAccept:"ansi:cyan",bashBorder:"ansi:cyan",context:"ansi:blueBright",contextShimmer:"ansi:yellowBright",contextBlue_FOR_SYSTEM_SPINNER:"ansi:blue",contextBlueShimmer_FOR_SYSTEM_SPINNER:"ansi:blueBright",permission:"ansi:blue",permissionShimmer:"ansi:blueBright",planMode:"ansi:cyan",ide:"ansi:blueBright",promptBorder:"ansi:white",promptBorderShimmer:"ansi:whiteBright",text:"ansi:black",inverseText:"ansi:white",inactive:"ansi:blackBright",inactiveShimmer:"ansi:white",subtle:"ansi:blackBright",suggestion:"ansi:blue",remember:"ansi:blue",background:"ansi:cyan",success:"ansi:green",error:"ansi:red",warning:"ansi:yellow",merged:"ansi:magenta",warningShimmer:"ansi:yellowBright",diffAdded:"ansi:green",diffRemoved:"ansi:red",diffAddedDimmed:"ansi:green",diffRemovedDimmed:"ansi:red",diffAddedWord:"ansi:greenBright",diffRemovedWord:"ansi:redBright",red_FOR_SUBAGENTS_ONLY:"ansi:red",blue_FOR_SUBAGENTS_ONLY:"ansi:blue",green_FOR_SUBAGENTS_ONLY:"ansi:green",yellow_FOR_SUBAGENTS_ONLY:"ansi:yellow",purple_FOR_SUBAGENTS_ONLY:"ansi:magenta",orange_FOR_SUBAGENTS_ONLY:"ansi:redBright",pink_FOR_SUBAGENTS_ONLY:"ansi:magentaBright",cyan_FOR_SUBAGENTS_ONLY:"ansi:cyan",professionalBlue:"ansi:blueBright",chromeYellow:"ansi:yellow",clawd_body:"ansi:redBright",clawd_background:"ansi:black",userMessageBackground:"ansi:white",userMessageBackgroundHover:"ansi:whiteBright",messageActionsBackground:"ansi:white",selectionBg:"ansi:cyan",bashMessageBackgroundColor:"ansi:whiteBright",memoryBackgroundColor:"ansi:white",rate_limit_fill:"ansi:yellow",rate_limit_empty:"ansi:black",fastMode:"ansi:red",fastModeShimmer:"ansi:redBright",briefLabelYou:"ansi:blue",briefLabelContext:"ansi:redBright",rainbow_red:"ansi:red",rainbow_orange:"ansi:redBright",rainbow_yellow:"ansi:yellow",rainbow_green:"ansi:green",rainbow_blue:"ansi:cyan",rainbow_indigo:"ansi:blue",rainbow_violet:"ansi:magenta",rainbow_red_shimmer:"ansi:redBright",rainbow_orange_shimmer:"ansi:yellow",rainbow_yellow_shimmer:"ansi:yellowBright",rainbow_green_shimmer:"ansi:greenBright",rainbow_blue_shimmer:"ansi:cyanBright",rainbow_indigo_shimmer:"ansi:blueBright",rainbow_violet_shimmer:"ansi:magentaBright"},a={autoAccept:"ansi:cyanBright",bashBorder:"ansi:cyanBright",context:"ansi:blueBright",contextShimmer:"ansi:yellowBright",contextBlue_FOR_SYSTEM_SPINNER:"ansi:blueBright",contextBlueShimmer_FOR_SYSTEM_SPINNER:"ansi:blueBright",permission:"ansi:blueBright",permissionShimmer:"ansi:blueBright",planMode:"ansi:cyanBright",ide:"ansi:blue",promptBorder:"ansi:white",promptBorderShimmer:"ansi:whiteBright",text:"ansi:whiteBright",inverseText:"ansi:black",inactive:"ansi:white",inactiveShimmer:"ansi:whiteBright",subtle:"ansi:white",suggestion:"ansi:blueBright",remember:"ansi:blueBright",background:"ansi:cyanBright",success:"ansi:greenBright",error:"ansi:redBright",warning:"ansi:yellowBright",merged:"ansi:magentaBright",warningShimmer:"ansi:yellowBright",diffAdded:"ansi:green",diffRemoved:"ansi:red",diffAddedDimmed:"ansi:green",diffRemovedDimmed:"ansi:red",diffAddedWord:"ansi:greenBright",diffRemovedWord:"ansi:redBright",red_FOR_SUBAGENTS_ONLY:"ansi:redBright",blue_FOR_SUBAGENTS_ONLY:"ansi:blueBright",green_FOR_SUBAGENTS_ONLY:"ansi:greenBright",yellow_FOR_SUBAGENTS_ONLY:"ansi:yellowBright",purple_FOR_SUBAGENTS_ONLY:"ansi:magentaBright",orange_FOR_SUBAGENTS_ONLY:"ansi:redBright",pink_FOR_SUBAGENTS_ONLY:"ansi:magentaBright",cyan_FOR_SUBAGENTS_ONLY:"ansi:cyanBright",professionalBlue:"rgb(106,155,204)",chromeYellow:"ansi:yellowBright",clawd_body:"ansi:redBright",clawd_background:"ansi:black",userMessageBackground:"ansi:blackBright",userMessageBackgroundHover:"ansi:white",messageActionsBackground:"ansi:blackBright",selectionBg:"ansi:blue",bashMessageBackgroundColor:"ansi:black",memoryBackgroundColor:"ansi:blackBright",rate_limit_fill:"ansi:yellow",rate_limit_empty:"ansi:white",fastMode:"ansi:redBright",fastModeShimmer:"ansi:redBright",briefLabelYou:"ansi:blueBright",briefLabelContext:"ansi:redBright",rainbow_red:"ansi:red",rainbow_orange:"ansi:redBright",rainbow_yellow:"ansi:yellow",rainbow_green:"ansi:green",rainbow_blue:"ansi:cyan",rainbow_indigo:"ansi:blue",rainbow_violet:"ansi:magenta",rainbow_red_shimmer:"ansi:redBright",rainbow_orange_shimmer:"ansi:yellow",rainbow_yellow_shimmer:"ansi:yellowBright",rainbow_green_shimmer:"ansi:greenBright",rainbow_blue_shimmer:"ansi:cyanBright",rainbow_indigo_shimmer:"ansi:blueBright",rainbow_violet_shimmer:"ansi:magentaBright"},b={autoAccept:"rgb(135,0,255)",bashBorder:"rgb(0,102,204)",context:"rgb(215,119,87)",contextShimmer:"rgb(235,159,127)",contextBlue_FOR_SYSTEM_SPINNER:"rgb(51,102,255)",contextBlueShimmer_FOR_SYSTEM_SPINNER:"rgb(101,152,255)",permission:"rgb(51,102,255)",permissionShimmer:"rgb(101,152,255)",planMode:"rgb(51,102,102)",ide:"rgb(71,130,200)",promptBorder:"rgb(153,153,153)",promptBorderShimmer:"rgb(183,183,183)",text:"rgb(0,0,0)",inverseText:"rgb(255,255,255)",inactive:"rgb(102,102,102)",inactiveShimmer:"rgb(142,142,142)",subtle:"rgb(175,175,175)",suggestion:"rgb(51,102,255)",remember:"rgb(51,102,255)",background:"rgb(0,153,153)",success:"rgb(0,102,153)",error:"rgb(204,0,0)",warning:"rgb(255,153,0)",merged:"rgb(135,0,255)",warningShimmer:"rgb(255,183,50)",diffAdded:"rgb(153,204,255)",diffRemoved:"rgb(255,204,204)",diffAddedDimmed:"rgb(209,231,253)",diffRemovedDimmed:"rgb(255,233,233)",diffAddedWord:"rgb(51,102,204)",diffRemovedWord:"rgb(153,51,51)",red_FOR_SUBAGENTS_ONLY:"rgb(204,0,0)",blue_FOR_SUBAGENTS_ONLY:"rgb(0,102,204)",green_FOR_SUBAGENTS_ONLY:"rgb(0,204,0)",yellow_FOR_SUBAGENTS_ONLY:"rgb(255,204,0)",purple_FOR_SUBAGENTS_ONLY:"rgb(128,0,128)",orange_FOR_SUBAGENTS_ONLY:"rgb(255,128,0)",pink_FOR_SUBAGENTS_ONLY:"rgb(255,102,178)",cyan_FOR_SUBAGENTS_ONLY:"rgb(0,178,178)",professionalBlue:"rgb(106,155,204)",chromeYellow:"rgb(251,188,4)",clawd_body:"rgb(215,119,87)",clawd_background:"rgb(0,0,0)",userMessageBackground:"rgb(220, 220, 220)",userMessageBackgroundHover:"rgb(232, 232, 232)",messageActionsBackground:"rgb(210, 216, 226)",selectionBg:"rgb(180, 213, 255)",bashMessageBackgroundColor:"rgb(250, 245, 250)",memoryBackgroundColor:"rgb(230, 245, 250)",rate_limit_fill:"rgb(51,102,255)",rate_limit_empty:"rgb(23,46,114)",fastMode:"rgb(255,106,0)",fastModeShimmer:"rgb(255,150,50)",briefLabelYou:"rgb(37,99,235)",briefLabelContext:"rgb(215,119,87)",rainbow_red:"rgb(235,95,87)",rainbow_orange:"rgb(245,139,87)",rainbow_yellow:"rgb(250,195,95)",rainbow_green:"rgb(145,200,130)",rainbow_blue:"rgb(130,170,220)",rainbow_indigo:"rgb(155,130,200)",rainbow_violet:"rgb(200,130,180)",rainbow_red_shimmer:"rgb(250,155,147)",rainbow_orange_shimmer:"rgb(255,185,137)",rainbow_yellow_shimmer:"rgb(255,225,155)",rainbow_green_shimmer:"rgb(185,230,180)",rainbow_blue_shimmer:"rgb(180,205,240)",rainbow_indigo_shimmer:"rgb(195,180,230)",rainbow_violet_shimmer:"rgb(230,180,210)"},o={autoAccept:"rgb(59,130,246)",bashBorder:"rgb(59,130,246)",context:"rgb(59,130,246)",contextShimmer:"rgb(147,197,253)",contextBlue_FOR_SYSTEM_SPINNER:"rgb(147,165,255)",contextBlueShimmer_FOR_SYSTEM_SPINNER:"rgb(177,195,255)",permission:"rgb(177,185,249)",permissionShimmer:"rgb(207,215,255)",planMode:"rgb(72,150,140)",ide:"rgb(71,130,200)",promptBorder:"rgb(136,136,136)",promptBorderShimmer:"rgb(166,166,166)",text:"rgb(255,255,255)",inverseText:"rgb(0,0,0)",inactive:"rgb(153,153,153)",inactiveShimmer:"rgb(193,193,193)",subtle:"rgb(80,80,80)",suggestion:"rgb(177,185,249)",remember:"rgb(177,185,249)",background:"rgb(0,204,204)",success:"rgb(78,186,101)",error:"rgb(255,107,128)",warning:"rgb(255,193,7)",merged:"rgb(175,135,255)",warningShimmer:"rgb(255,223,57)",diffAdded:"rgb(34,92,43)",diffRemoved:"rgb(122,41,54)",diffAddedDimmed:"rgb(71,88,74)",diffRemovedDimmed:"rgb(105,72,77)",diffAddedWord:"rgb(56,166,96)",diffRemovedWord:"rgb(179,89,107)",red_FOR_SUBAGENTS_ONLY:"rgb(220,38,38)",blue_FOR_SUBAGENTS_ONLY:"rgb(37,99,235)",green_FOR_SUBAGENTS_ONLY:"rgb(22,163,74)",yellow_FOR_SUBAGENTS_ONLY:"rgb(202,138,4)",purple_FOR_SUBAGENTS_ONLY:"rgb(147,51,234)",orange_FOR_SUBAGENTS_ONLY:"rgb(234,88,12)",pink_FOR_SUBAGENTS_ONLY:"rgb(219,39,119)",cyan_FOR_SUBAGENTS_ONLY:"rgb(8,145,178)",professionalBlue:"rgb(106,155,204)",chromeYellow:"rgb(251,188,4)",clawd_body:"rgb(59,130,246)",clawd_background:"rgb(0,0,0)",userMessageBackground:"rgb(55, 55, 55)",userMessageBackgroundHover:"rgb(70, 70, 70)",messageActionsBackground:"rgb(44, 50, 62)",selectionBg:"rgb(38, 79, 120)",bashMessageBackgroundColor:"rgb(65, 60, 65)",memoryBackgroundColor:"rgb(55, 65, 70)",rate_limit_fill:"rgb(177,185,249)",rate_limit_empty:"rgb(80,83,112)",fastMode:"rgb(255,120,20)",fastModeShimmer:"rgb(255,165,70)",briefLabelYou:"rgb(122,180,232)",briefLabelContext:"rgb(59,130,246)",rainbow_red:"rgb(235,95,87)",rainbow_orange:"rgb(245,139,87)",rainbow_yellow:"rgb(250,195,95)",rainbow_green:"rgb(145,200,130)",rainbow_blue:"rgb(130,170,220)",rainbow_indigo:"rgb(155,130,200)",rainbow_violet:"rgb(200,130,180)",rainbow_red_shimmer:"rgb(250,155,147)",rainbow_orange_shimmer:"rgb(255,185,137)",rainbow_yellow_shimmer:"rgb(255,225,155)",rainbow_green_shimmer:"rgb(185,230,180)",rainbow_blue_shimmer:"rgb(180,205,240)",rainbow_indigo_shimmer:"rgb(195,180,230)",rainbow_violet_shimmer:"rgb(230,180,210)"},s={autoAccept:"rgb(175,135,255)",bashBorder:"rgb(51,153,255)",context:"rgb(215,119,87)",contextShimmer:"rgb(235,159,127)",contextBlue_FOR_SYSTEM_SPINNER:"rgb(153,204,255)",contextBlueShimmer_FOR_SYSTEM_SPINNER:"rgb(183,224,255)",permission:"rgb(153,204,255)",permissionShimmer:"rgb(183,224,255)",planMode:"rgb(102,153,153)",ide:"rgb(71,130,200)",promptBorder:"rgb(136,136,136)",promptBorderShimmer:"rgb(166,166,166)",text:"rgb(255,255,255)",inverseText:"rgb(0,0,0)",inactive:"rgb(153,153,153)",inactiveShimmer:"rgb(193,193,193)",subtle:"rgb(80,80,80)",suggestion:"rgb(153,204,255)",remember:"rgb(153,204,255)",background:"rgb(0,204,204)",success:"rgb(51,153,255)",error:"rgb(255,102,102)",warning:"rgb(255,204,0)",merged:"rgb(175,135,255)",warningShimmer:"rgb(255,234,50)",diffAdded:"rgb(0,68,102)",diffRemoved:"rgb(102,0,0)",diffAddedDimmed:"rgb(62,81,91)",diffRemovedDimmed:"rgb(62,44,44)",diffAddedWord:"rgb(0,119,179)",diffRemovedWord:"rgb(179,0,0)",red_FOR_SUBAGENTS_ONLY:"rgb(255,102,102)",blue_FOR_SUBAGENTS_ONLY:"rgb(102,178,255)",green_FOR_SUBAGENTS_ONLY:"rgb(102,255,102)",yellow_FOR_SUBAGENTS_ONLY:"rgb(255,255,102)",purple_FOR_SUBAGENTS_ONLY:"rgb(178,102,255)",orange_FOR_SUBAGENTS_ONLY:"rgb(255,178,102)",pink_FOR_SUBAGENTS_ONLY:"rgb(255,153,204)",cyan_FOR_SUBAGENTS_ONLY:"rgb(102,204,204)",professionalBlue:"rgb(106,155,204)",chromeYellow:"rgb(251,188,4)",clawd_body:"rgb(215,119,87)",clawd_background:"rgb(0,0,0)",userMessageBackground:"rgb(55, 55, 55)",userMessageBackgroundHover:"rgb(70, 70, 70)",messageActionsBackground:"rgb(44, 50, 62)",selectionBg:"rgb(38, 79, 120)",bashMessageBackgroundColor:"rgb(65, 60, 65)",memoryBackgroundColor:"rgb(55, 65, 70)",rate_limit_fill:"rgb(153,204,255)",rate_limit_empty:"rgb(69,92,115)",fastMode:"rgb(255,120,20)",fastModeShimmer:"rgb(255,165,70)",briefLabelYou:"rgb(122,180,232)",briefLabelContext:"rgb(215,119,87)",rainbow_red:"rgb(235,95,87)",rainbow_orange:"rgb(245,139,87)",rainbow_yellow:"rgb(250,195,95)",rainbow_green:"rgb(145,200,130)",rainbow_blue:"rgb(130,170,220)",rainbow_indigo:"rgb(155,130,200)",rainbow_violet:"rgb(200,130,180)",rainbow_red_shimmer:"rgb(250,155,147)",rainbow_orange_shimmer:"rgb(255,185,137)",rainbow_yellow_shimmer:"rgb(255,225,155)",rainbow_green_shimmer:"rgb(185,230,180)",rainbow_blue_shimmer:"rgb(180,205,240)",rainbow_indigo_shimmer:"rgb(195,180,230)",rainbow_violet_shimmer:"rgb(230,180,210)"},_=new Map;export function registerTheme(r,e){_.set(r,e)}export function listRegisteredThemes(){return[...BUILT_IN_THEME_NAMES,..._.keys()]}export function hasTheme(r){return"auto"===r||BUILT_IN_THEME_NAMES.includes(r)||_.has(r)}export function getTheme(r){switch(r){case"light":return g;case"light-ansi":return n;case"dark-ansi":return a;case"light-daltonized":return b;case"dark-daltonized":return s;case"dark":return o;default:{const e=_.get(r);return e||o}}}const t="Apple_Terminal"===i.terminal?new e({level:2}):r;export function themeColorToAnsi(r){const e=r.match(/rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)/);if(e){const r=parseInt(e[1],10),i=parseInt(e[2],10),g=parseInt(e[3],10),n=t.rgb(r,i,g)("X");return n.slice(0,n.indexOf("X"))}return""}
@@ -1 +1 @@
1
- import{BUILT_IN_THEME_NAMES as e,registerTheme as r}from"../theme.js";import{loadAllThemesSync as o}from"./loader.js";import{resolveTheme as i}from"./resolver.js";let n=!1;const m=new Set(["autoAccept","bashBorder","claude","claudeShimmer","claudeBlue_FOR_SYSTEM_SPINNER","claudeBlueShimmer_FOR_SYSTEM_SPINNER","permission","permissionShimmer","planMode","ide","promptBorder","promptBorderShimmer","text","inverseText","inactive","inactiveShimmer","subtle","suggestion","remember","background","success","error","warning","merged","warningShimmer","diffAdded","diffRemoved","diffAddedDimmed","diffRemovedDimmed","diffAddedWord","diffRemovedWord","red_FOR_SUBAGENTS_ONLY","blue_FOR_SUBAGENTS_ONLY","green_FOR_SUBAGENTS_ONLY","yellow_FOR_SUBAGENTS_ONLY","purple_FOR_SUBAGENTS_ONLY","orange_FOR_SUBAGENTS_ONLY","pink_FOR_SUBAGENTS_ONLY","cyan_FOR_SUBAGENTS_ONLY","professionalBlue","chromeYellow","clawd_body","clawd_background","userMessageBackground","userMessageBackgroundHover","messageActionsBackground","selectionBg","bashMessageBackgroundColor","memoryBackgroundColor","rate_limit_fill","rate_limit_empty","fastMode","fastModeShimmer","briefLabelYou","briefLabelClaude","rainbow_red","rainbow_orange","rainbow_yellow","rainbow_green","rainbow_blue","rainbow_indigo","rainbow_violet","rainbow_red_shimmer","rainbow_orange_shimmer","rainbow_yellow_shimmer","rainbow_green_shimmer","rainbow_blue_shimmer","rainbow_indigo_shimmer","rainbow_violet_shimmer"]);function toTheme(e){const r={};for(const o of m)r[o]=e[o]??"rgb(128,128,128)";return r}export function bootstrapDynamicThemes(){if(n)return;n=!0;const m=new Set(e);let a;try{a=o()}catch{return}for(const e of a)if(!m.has(e.id))try{const o=toTheme(i(e.json,"dark")),n=toTheme(i(e.json,"light"));r(e.id,o),r(`${e.id}-light`,n)}catch{}}
1
+ import{BUILT_IN_THEME_NAMES as e,registerTheme as r}from"../theme.js";import{loadAllThemesSync as o}from"./loader.js";import{resolveTheme as i}from"./resolver.js";let n=!1;const t=new Set(["autoAccept","bashBorder","context","contextShimmer","contextBlue_FOR_SYSTEM_SPINNER","contextBlueShimmer_FOR_SYSTEM_SPINNER","permission","permissionShimmer","planMode","ide","promptBorder","promptBorderShimmer","text","inverseText","inactive","inactiveShimmer","subtle","suggestion","remember","background","success","error","warning","merged","warningShimmer","diffAdded","diffRemoved","diffAddedDimmed","diffRemovedDimmed","diffAddedWord","diffRemovedWord","red_FOR_SUBAGENTS_ONLY","blue_FOR_SUBAGENTS_ONLY","green_FOR_SUBAGENTS_ONLY","yellow_FOR_SUBAGENTS_ONLY","purple_FOR_SUBAGENTS_ONLY","orange_FOR_SUBAGENTS_ONLY","pink_FOR_SUBAGENTS_ONLY","cyan_FOR_SUBAGENTS_ONLY","professionalBlue","chromeYellow","clawd_body","clawd_background","userMessageBackground","userMessageBackgroundHover","messageActionsBackground","selectionBg","bashMessageBackgroundColor","memoryBackgroundColor","rate_limit_fill","rate_limit_empty","fastMode","fastModeShimmer","briefLabelYou","briefLabelContext","rainbow_red","rainbow_orange","rainbow_yellow","rainbow_green","rainbow_blue","rainbow_indigo","rainbow_violet","rainbow_red_shimmer","rainbow_orange_shimmer","rainbow_yellow_shimmer","rainbow_green_shimmer","rainbow_blue_shimmer","rainbow_indigo_shimmer","rainbow_violet_shimmer"]);function toTheme(e){const r={};for(const o of t)r[o]=e[o]??"rgb(128,128,128)";return r}export function bootstrapDynamicThemes(){if(n)return;n=!0;const t=new Set(e);let m;try{m=o()}catch{return}for(const e of m)if(!t.has(e.id))try{const o=toTheme(i(e.json,"dark")),n=toTheme(i(e.json,"light"));r(e.id,o),r(`${e.id}-light`,n)}catch{}}
@@ -1 +1 @@
1
- function pick(e,r,i){const d=e.theme[r];if(void 0!==d)return d;if(void 0!==i){const r=e.theme[i];if(void 0!==r)return r}return"rgb(128,128,128)"}export function mapOpencodeToCli(e){const r=e,i=pick(r,"primary"),d=pick(r,"secondary","primary"),o=pick(r,"accent","primary"),n=pick(r,"text"),a=pick(r,"textMuted","text"),c=pick(r,"background"),m=pick(r,"backgroundPanel","background"),g=pick(r,"backgroundElement","backgroundPanel"),_=pick(r,"border"),b=pick(r,"borderActive","border"),t=pick(r,"selectedListItemText","background"),s=pick(r,"error"),f=pick(r,"warning"),l=pick(r,"success"),p=pick(r,"info","secondary"),u={claude:i,claudeBlue_FOR_SYSTEM_SPINNER:i,suggestion:i,remember:i,briefLabelYou:i,briefLabelClaude:i,clawd_body:i,rate_limit_fill:i,blue_FOR_SUBAGENTS_ONLY:i,permission:d,ide:d,autoAccept:o,merged:o,bashBorder:o,text:n,inactive:a,subtle:a,background:c,clawd_background:c,userMessageBackground:m,messageActionsBackground:g,bashMessageBackgroundColor:g,memoryBackgroundColor:g,promptBorder:_,rate_limit_empty:_,promptBorderShimmer:b,inverseText:t,error:s,red_FOR_SUBAGENTS_ONLY:s,warning:f,fastMode:f,chromeYellow:f,yellow_FOR_SUBAGENTS_ONLY:f,success:l,green_FOR_SUBAGENTS_ONLY:l,planMode:p,cyan_FOR_SUBAGENTS_ONLY:p,diffAdded:pick(r,"diffAdded"),diffRemoved:pick(r,"diffRemoved"),diffAddedDimmed:pick(r,"diffAddedBg","diffAdded"),diffRemovedDimmed:pick(r,"diffRemovedBg","diffRemoved"),diffAddedWord:pick(r,"diffHighlightAdded","diffAdded"),diffRemovedWord:pick(r,"diffHighlightRemoved","diffRemoved"),claudeShimmer:i,claudeBlueShimmer_FOR_SYSTEM_SPINNER:i,permissionShimmer:d,inactiveShimmer:a,warningShimmer:f,fastModeShimmer:f,professionalBlue:"rgb(106,155,204)",userMessageBackgroundHover:m,selectionBg:i,purple_FOR_SUBAGENTS_ONLY:"rgb(147,51,234)",orange_FOR_SUBAGENTS_ONLY:"rgb(234,88,12)",pink_FOR_SUBAGENTS_ONLY:"rgb(219,39,119)",rainbow_red:"rgb(235,95,87)",rainbow_orange:"rgb(245,139,87)",rainbow_yellow:"rgb(250,195,95)",rainbow_green:"rgb(145,200,130)",rainbow_blue:"rgb(130,170,220)",rainbow_indigo:"rgb(155,130,200)",rainbow_violet:"rgb(200,130,180)",rainbow_red_shimmer:"rgb(250,155,147)",rainbow_orange_shimmer:"rgb(255,185,137)",rainbow_yellow_shimmer:"rgb(255,225,155)",rainbow_green_shimmer:"rgb(185,230,180)",rainbow_blue_shimmer:"rgb(180,205,240)",rainbow_indigo_shimmer:"rgb(195,180,230)",rainbow_violet_shimmer:"rgb(230,180,210)"};return{$schema:e.$schema,name:e.name,defs:e.defs,theme:u}}
1
+ function pick(e,r,i){const o=e.theme[r];if(void 0!==o)return o;if(void 0!==i){const r=e.theme[i];if(void 0!==r)return r}return"rgb(128,128,128)"}export function mapOpencodeToCli(e){const r=e,i=pick(r,"primary"),o=pick(r,"secondary","primary"),d=pick(r,"accent","primary"),n=pick(r,"text"),c=pick(r,"textMuted","text"),m=pick(r,"background"),a=pick(r,"backgroundPanel","background"),t=pick(r,"backgroundElement","backgroundPanel"),g=pick(r,"border"),_=pick(r,"borderActive","border"),b=pick(r,"selectedListItemText","background"),s=pick(r,"error"),f=pick(r,"warning"),p=pick(r,"success"),l=pick(r,"info","secondary"),k={context:i,contextBlue_FOR_SYSTEM_SPINNER:i,suggestion:i,remember:i,briefLabelYou:i,briefLabelContext:i,clawd_body:i,rate_limit_fill:i,blue_FOR_SUBAGENTS_ONLY:i,permission:o,ide:o,autoAccept:d,merged:d,bashBorder:d,text:n,inactive:c,subtle:c,background:m,clawd_background:m,userMessageBackground:a,messageActionsBackground:t,bashMessageBackgroundColor:t,memoryBackgroundColor:t,promptBorder:g,rate_limit_empty:g,promptBorderShimmer:_,inverseText:b,error:s,red_FOR_SUBAGENTS_ONLY:s,warning:f,fastMode:f,chromeYellow:f,yellow_FOR_SUBAGENTS_ONLY:f,success:p,green_FOR_SUBAGENTS_ONLY:p,planMode:l,cyan_FOR_SUBAGENTS_ONLY:l,diffAdded:pick(r,"diffAdded"),diffRemoved:pick(r,"diffRemoved"),diffAddedDimmed:pick(r,"diffAddedBg","diffAdded"),diffRemovedDimmed:pick(r,"diffRemovedBg","diffRemoved"),diffAddedWord:pick(r,"diffHighlightAdded","diffAdded"),diffRemovedWord:pick(r,"diffHighlightRemoved","diffRemoved"),contextShimmer:i,contextBlueShimmer_FOR_SYSTEM_SPINNER:i,permissionShimmer:o,inactiveShimmer:c,warningShimmer:f,fastModeShimmer:f,professionalBlue:"rgb(106,155,204)",userMessageBackgroundHover:a,selectionBg:i,purple_FOR_SUBAGENTS_ONLY:"rgb(147,51,234)",orange_FOR_SUBAGENTS_ONLY:"rgb(234,88,12)",pink_FOR_SUBAGENTS_ONLY:"rgb(219,39,119)",rainbow_red:"rgb(235,95,87)",rainbow_orange:"rgb(245,139,87)",rainbow_yellow:"rgb(250,195,95)",rainbow_green:"rgb(145,200,130)",rainbow_blue:"rgb(130,170,220)",rainbow_indigo:"rgb(155,130,200)",rainbow_violet:"rgb(200,130,180)",rainbow_red_shimmer:"rgb(250,155,147)",rainbow_orange_shimmer:"rgb(255,185,137)",rainbow_yellow_shimmer:"rgb(255,225,155)",rainbow_green_shimmer:"rgb(185,230,180)",rainbow_blue_shimmer:"rgb(180,205,240)",rainbow_indigo_shimmer:"rgb(195,180,230)",rainbow_violet_shimmer:"rgb(230,180,210)"};return{$schema:e.$schema,name:e.name,defs:e.defs,theme:k}}