9router-proxy 0.6.22 → 0.6.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/.next-cli-build/BUILD_ID +1 -1
- package/app/.next-cli-build/app-path-routes-manifest.json +13 -13
- package/app/.next-cli-build/build-manifest.json +2 -2
- package/app/.next-cli-build/prerender-manifest.json +3 -3
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error.html +1 -1
- package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_not-found.html +1 -1
- package/app/.next-cli-build/server/app/_not-found.rsc +2 -2
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +5 -5
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js +3 -3
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
- package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/callback.html +1 -1
- package/app/.next-cli-build/server/app/callback.rsc +2 -2
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard.html +1 -1
- package/app/.next-cli-build/server/app/dashboard.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/index.html +1 -1
- package/app/.next-cli-build/server/app/index.rsc +2 -2
- package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/landing.html +1 -1
- package/app/.next-cli-build/server/app/landing.rsc +2 -2
- package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/login.html +1 -1
- package/app/.next-cli-build/server/app/login.rsc +2 -2
- package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app-paths-manifest.json +13 -13
- package/app/.next-cli-build/server/chunks/1350.js +1 -1
- package/app/.next-cli-build/server/chunks/1757.js +1 -1
- package/app/.next-cli-build/server/chunks/3943.js +1 -1
- package/app/.next-cli-build/server/chunks/5026.js +1 -1
- package/app/.next-cli-build/server/chunks/5330.js +1 -1
- package/app/.next-cli-build/server/chunks/7774.js +27 -27
- package/app/.next-cli-build/server/chunks/7995.js +28 -28
- package/app/.next-cli-build/server/chunks/8238.js +1 -1
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/pages/404.html +1 -1
- package/app/.next-cli-build/server/pages/500.html +1 -1
- package/app/.next-cli-build/server/preview-props.json +3 -3
- package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
- package/app/.next-cli-build/static/chunks/{1321-30c3fafb9fd6c541.js → 1321-7af6c52f23715bc2.js} +1 -1
- package/app/package.json +1 -1
- package/package.json +1 -1
- /package/app/.next-cli-build/static/{69c0UYiHPSWh6uzISSeNj → uPVegAb2mVkf0--wNt41-}/_buildManifest.js +0 -0
- /package/app/.next-cli-build/static/{69c0UYiHPSWh6uzISSeNj → uPVegAb2mVkf0--wNt41-}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";exports.id=5330,exports.ids=[5330],exports.modules={945:(a,b,c)=>{let d;c.d(b,{f$:()=>P});var e=c(77598),f=c(74957),g=c(78959),h=c(92536),i=c(39609),j=c(49426),k=c(43659),l=c(41004),m=c(57247),n=c(59249);let o="https://ai.catpaw.meituan.com",p="2.0.2",q="CatX",r="CATX_APP",s=`${o}/api/agent/conversation/round`,t=`${o}/api/agent/conversation/event`,u=`${o}/api/agent/conversation/turn`,v=`${o}/api/agent/conversation/turn/stop`,w=Number.isFinite(d=parseInt(process.env.MIAOSHOU_CONNECT_TIMEOUT_MS,10))&&d>0?d:12e4,x=()=>(0,e.randomUUID)();function y(a,{stream:b=!1}={}){return{Cookie:`X-Passport-Token=${a}`,"Content-Type":"application/json","m-appkey":"com.sankuai.mcopilot.cli",Accept:b?"text/event-stream":"application/json"}}function z(a){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>a?.type==="text"&&"string"==typeof a.text).map(a=>a.text).join(""):""}let A=["web_search","web_fetch","km_search","docs_search","fetch_docs","read","read_file","list_dir","write","string_replace","multi_edit","delete_file","read_lints","fetch_rules","run_terminal_cmd","bash","grep","grep_search","glob_file_search","codebase_search","task","task_output","wait_for_tasks","AskQuestion","ConfirmTool","create_plan","todo_write","create_goal","update_goal","get_goal","TaskCreate","TaskUpdate","TaskGet","TaskList","TeamCreate","TeamDelete","generate_image","memory_search","skill","canvasRuntime","call_mcp_tool","CallMcpTool"];async function*B(a,b){let c=a.getReader(),d=new TextDecoder,e="";try{for(;!b?.aborted;){let{done:a,value:b}=await c.read();if(a)break;let f=(e+=d.decode(b,{stream:!0})).split("\n");for(let a of(e=f.pop()||"",f)){let b=a.trim();if(!b.startsWith("data:"))continue;let c=b.slice(5).trim();if(!c||"[DONE]"===c)continue;let d=null;try{d=JSON.parse(c)}catch{continue}d&&(yield d)}}}finally{try{c.cancel().catch(()=>{})}catch{}}}function C(a){return a?.message||a?.data?.message||null}function D(a){return a&&"object"==typeof a&&"text"===a.type&&"string"==typeof a.text?a.text:""}function E(a){return a&&"object"==typeof a&&"string"==typeof a.reasoningContent?a.reasoningContent:""}function F(a){return a&&"tool_use"===a.type&&"string"==typeof a.toolName&&a.toolName?{id:a.toolCallId||x(),name:a.toolName,args:"string"==typeof a.toolParams?a.toolParams:JSON.stringify(a.toolParams||{})}:null}function G(a){return a&&"object"==typeof a?a.error&&"object"==typeof a.error?a.error:a:{}}function H(a,b){let c=G(b),d=c.message||c.msg||b?.msg||b?.message;return"string"==typeof d&&d?d:`妙手 returned HTTP ${a}`}function I(a,b){if(function(a,b){if(a===l.gx.UNAUTHORIZED||a===l.gx.FORBIDDEN)return!0;let c=G(b);return 0x3bc8b7d1===c.unifyCode||Number(c.code)===l.gx.UNAUTHORIZED}(a,b))return l.gx.UNAUTHORIZED;if(a>=l.gx.BAD_REQUEST)return a;let c=Number(G(b).code);return Number.isInteger(c)&&c>=l.gx.BAD_REQUEST&&c<600?c:l.gx.BAD_GATEWAY}function J(a,b,c){let d=G(c);return{...(0,k.xJ)(a,b).error,code:d.unifyCode??d.code??a,status:a}}function K(a,b,c){return new Response(JSON.stringify({error:J(a,b,c)}),{status:a,headers:{"Content-Type":"application/json"}})}async function L(a){let b=(await a.text().catch(()=>"")).trim();try{return{text:b,json:b?JSON.parse(b):null}}catch{return{text:b,json:null}}}async function M(a,b,c,d,{awaitBody:e=!0}={}){let f=(0,j.n)(d,w);try{let d=await (0,i.proxyAwareFetch)(a,{...b,signal:f.signal},c);if(!e)return d;let{text:g,json:h}=await L(d);return{res:d,text:g,json:h}}catch(b){if(f.timedOut)throw Error(`妙手 upstream timed out after ${w}ms waiting for ${a}`);throw b}finally{f.clear()}}function N(a,b,c){return b?H(a,b):c?c.slice(0,200):`妙手 returned HTTP ${a}`}let O=(a,b)=>!a.ok||b?.success===!1;class P extends f.H{constructor(a="miaoshou"){super(a)}buildUrl(){return u}buildHeaders(a){return y((0,n.Cm)(a))}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:f,proxyOptions:i=null}){let j,k=(0,n.Cm)(d);if(!k)return{response:K(l.gx.UNAUTHORIZED,"妙手: missing X-Passport-Token cookie — reconnect the account"),url:u,headers:{},transformedBody:{error:"missing_credential"},responseFormat:"openai"};let o=(j=(0,m.V2)("ms",a))&&Number.isFinite(j.modelType)?{...j,modelType:Number(j.modelType)}:null;if(!o)return{response:K(l.gx.BAD_REQUEST,`妙手: unknown model "${String(a||"").slice(0,60)}"`),url:u,headers:{},transformedBody:{error:"unknown_model"},responseFormat:"openai"};let v=Array.isArray(b?.messages)?b.messages:[],w=v.filter(a=>a?.role==="system"||a?.role==="developer").map(a=>z(a.content).trim()).filter(Boolean).join("\n\n"),G=function(a){let b=[];for(let c of a||[]){if(!c||"object"!=typeof c||"system"===c.role||"developer"===c.role)continue;if("tool"===c.role){let a=c.tool_call_id||c.toolCallId;if(!a)continue;b.push({type:"tool",messageId:x(),finished:!0,content:[{type:"tool_result",toolCallId:a,toolName:c.name||c.toolName||"tool",toolResult:z(c.content)}]});continue}if("user"!==c.role&&"assistant"!==c.role)continue;let a=[],d=z(c.content),e="user"===c.role?function(a){if(!Array.isArray(a))return[];let b=[];for(let c of a)if(c?.type==="image_url"){let a="string"==typeof c.image_url?c.image_url:c.image_url?.url;"string"==typeof a&&a&&b.push({type:"image_url",imageUrl:{url:a,detail:"auto"}})}else c?.type==="image"&&c.source?.type==="base64"&&c.source.data&&b.push({type:"image_url",imageUrl:{url:`data:${c.source.media_type||"image/png"};base64,${c.source.data}`,detail:"auto"}});return b}(c.content):[];for(let b of(d&&a.push({type:"text",text:d}),a.push(...e),Array.isArray(c.tool_calls)?c.tool_calls:[])){let c=b?.function?.name;c&&a.push({type:"tool_use",toolCallId:b.id||x(),toolName:c,toolParams:"string"==typeof b.function.arguments?b.function.arguments:JSON.stringify(b.function.arguments||{})})}a.length&&b.push({type:c.role,messageId:x(),finished:!0,content:a})}return b}(v);if(!G.length)return{response:K(l.gx.BAD_REQUEST,"妙手: request contained no user message"),url:u,headers:{},transformedBody:{error:"empty_prompt"},responseFormat:"openai"};let{replay:P,prompt:V}=function(a){let b=a.slice();for(;b.length&&"assistant"===b[b.length-1].type;)b.pop();if(!b.length)return{replay:[],prompt:null};let c=b[b.length-1];return"tool"===c.type?{replay:b,prompt:{type:"user",messageId:x(),finished:!0,content:[{type:"text",text:"请根据上面的工具结果继续回答。"}]}}:"user"===c.type?{replay:b.slice(0,-1),prompt:c}:{replay:b,prompt:null}}(G);if(!V)return{response:K(l.gx.BAD_REQUEST,"妙手: request contained no user message"),url:u,headers:{},transformedBody:{error:"empty_prompt"},responseFormat:"openai"};let W=x(),X=x(),Y=y(k),Z={conversationId:W,messages:[...P,V],modelType:o.modelType,source:q,mode:r,toolVersion:p,permissionMode:"unsafeBypassPermissions",repositories:[],memoryEnabled:!1,initialPromptContext:{currentDate:new Date().toISOString().slice(0,10)},rulesMessage:"",goal:null,agentType:"main",mcpServers:[],enableTodos:!0,...w?{systemPromptContext:{systemPrompt:w}}:{}},$=function(a){let b=function(a){if(!Array.isArray(a))return[];let b=[];for(let c of a){let a=c?.type==="function"?c.function:c,d="string"==typeof a?.name?a.name.trim():"";d&&b.push({name:d,enable:!0,fromClient:!0,..."string"==typeof a.description&&a.description?{description:a.description}:{},...a.parameters&&"object"==typeof a.parameters?{inputSchema:a.parameters}:{}})}return b}(a),c=new Set(b.map(a=>a.name));for(let a of A)c.has(a)||b.push({name:a,enable:!1});return b}(b?.tools),{res:_,text:aa,json:ab}=await M(s,{method:"POST",headers:Y,body:JSON.stringify(Z)},i,e);if(O(_,ab)){let a=I(_.status,ab),b=N(_.status,ab,aa);return f?.warn?.("MIAOSHOU",`round failed: ${_.status}/${a} ${b.slice(0,200)}`),{response:K(a,b,ab),url:s,headers:{},transformedBody:{error:"round_failed",status:_.status},responseFormat:"openai"}}let{res:ac,text:ad,json:ae}=await M(t,{method:"POST",headers:Y,body:JSON.stringify({conversationId:W,eventType:"conversation",data:{status:"running"}})},i,e);if(O(ac,ae)){let a=I(ac.status,ae),b=`妙手: could not start the turn (${N(ac.status,ae,ad)})`;return f?.warn?.("MIAOSHOU",`status=running failed: ${ac.status}/${a} ${b.slice(0,200)}`),{response:K(a,b,ae),url:t,headers:{},transformedBody:{error:"running_failed",status:ac.status},responseFormat:"openai"}}let af={conversationId:W,turnRequestId:X,message:V,toolConfigs:$,todos:[],toolVersion:p,source:q,modelType:o.modelType,mode:r,permissionMode:"unsafeBypassPermissions",rulesMessage:"",goal:null,initialPromptContext:Z.initialPromptContext,userPromptContext:{userTextInput:z(V.content)},stream:!0,...w?{systemPromptContext:{systemPrompt:w}}:{}},ag=await M(u,{method:"POST",headers:y(k,{stream:!0}),body:JSON.stringify(af)},i,e,{awaitBody:!1}),ah=ag.ok?{text:"",json:null}:await L(ag);if(O(ag,ah.json)){let a=I(ag.status,ah.json),b=N(ag.status,ah.json,ah.text);return f?.warn?.("MIAOSHOU",`turn failed: ${ag.status}/${a} ${b.slice(0,200)}`),await Q(W,k,i,!1),{response:K(a,b,ah.json),url:u,headers:{},transformedBody:{error:"turn_failed",status:ag.status},responseFormat:"openai"}}let ai={model:String(b?.model||a||o.id),conversationId:W,turnRequestId:X,token:k,proxyOptions:i,clientSignal:e,log:f};if(c)return{response:new Response(function(a,{model:b,conversationId:c,turnRequestId:d,token:e,proxyOptions:f,clientSignal:i,log:j}){let k=new TextEncoder,m=S("ms"),n=Math.floor(Date.now()/1e3),o=!1,p=!1,q=a=>{o||(o=!0,Q(c,e,f,a))},r=()=>{p||(p=!0,R(c,d,e,f))};return new ReadableStream({async start(c){let d=!1,e=!1,f=0,o=0,p=new Map,s=null,t=new Map,u=!1,v=!1,w=(a,e=null,f={})=>{if(!d)try{c.enqueue(k.encode((0,h.N)({id:m,object:"chat.completion.chunk",created:n,model:b,choices:[{index:0,delta:a,finish_reason:e,logprobs:null}],...f})))}catch{d=!0}},x=()=>{e||(e=!0,w({role:"assistant",content:""}))},y=(a=null)=>{if(d||u)return;u=!0;let b=a||(p.size>0?"tool_calls":"stop");if(x(),w({},b,s?{usage:s}:{}),!d)try{c.enqueue(k.encode(g.$U))}catch{}if(!d)try{c.close()}catch{}d=!0},z=(a,e,f)=>{if(!d&&!u){u=!0,x();try{c.enqueue(k.encode((0,h.N)({id:m,object:"chat.completion.chunk",created:n,model:b,choices:[],error:J(e,a,f)}))),c.enqueue(k.encode(g.$U)),c.close()}catch{}d=!0}};try{for await(let b of B(a,i)){if(b?.error){let a=I(200,b),c=H(200,b);j?.warn?.("MIAOSHOU",`in-band error: ${c.slice(0,200)}`),z(c,a,b);return}let a=C(b);if(!a){let a=T(b);a&&(s=a);continue}let c=Array.isArray(a.content)?a.content:[],d="",e="";for(let a of c){d+=D(a),e+=E(a);let b=F(a);if(b){p.has(b.id)||(p.set(b.id,p.size),t.set(b.id,""),x(),w({tool_calls:[{index:p.get(b.id),id:b.id,type:"function",function:{name:b.name,arguments:""}}]}));let a=t.get(b.id)||"";b.args.length>a.length&&b.args.startsWith(a)&&(t.set(b.id,b.args),w({tool_calls:[{index:p.get(b.id),function:{arguments:b.args.slice(a.length)}}]}))}}e.length>o&&(x(),w({reasoning_content:e.slice(o)}),o=e.length),d.length>f&&(x(),w({content:d.slice(f)}),f=d.length);let g=T(b);g&&(s=g),!0===a.finished&&(v=!0)}v&&j?.debug?.("MIAOSHOU","turn ended after a finished frame"),y()}catch(a){if(i?.aborted){r(),y();return}j?.warn?.("MIAOSHOU",`stream failed: ${a?.message||a}`),z(a?.message||String(a),l.gx.BAD_GATEWAY)}finally{q(!i?.aborted)}},cancel(){r(),q(!1)}},{highWaterMark:16384})}(ag.body,ai),{status:200,headers:g.uB}),url:u,headers:g.uB,transformedBody:af,responseFormat:"openai"};let{status:aj,body:ak}=await U(ag.body,ai);return{response:new Response(JSON.stringify(ak),{status:aj,headers:{"Content-Type":"application/json"}}),url:u,headers:{"Content-Type":"application/json"},transformedBody:af,responseFormat:"openai"}}async refreshCredentials(){return null}}async function Q(a,b,c,d){try{await (0,i.proxyAwareFetch)(t,{method:"POST",headers:y(b,{stream:!1}),body:JSON.stringify({conversationId:a,eventType:"conversation",data:{status:d?"completed":"canceled"}}),signal:AbortSignal.timeout(1e4)},c)}catch{}}async function R(a,b,c,d){if(b)try{await (0,i.proxyAwareFetch)(v,{method:"POST",headers:y(c,{stream:!1}),body:JSON.stringify({conversationId:a,turnRequestId:b}),signal:AbortSignal.timeout(1e4)},d)}catch{}}function S(a){return`chatcmpl-${a}-${Date.now()}-${(0,e.randomUUID)().slice(0,8)}`}function T(a){let b=a?.contextInfo?.usage||a?.message?.usage;if(!b||"object"!=typeof b)return null;let c=Number(b.prompt_tokens)||0,d=Number(b.cache_read_tokens)||0,e=Number(b.completion_tokens)||0,f=c+d;return{prompt_tokens:f,completion_tokens:e,total_tokens:f+e,...d>0?{prompt_tokens_details:{cached_tokens:d}}:{}}}async function U(a,{model:b,conversationId:c,turnRequestId:d,token:e,proxyOptions:f,clientSignal:g,log:h}){let i="",j="",k=[],m=new Set,n=null,o=null,p=l.gx.BAD_GATEWAY,q=null;try{for await(let b of B(a,g)){if(b?.error){o=H(200,b),p=I(200,b),q=b;break}let a=C(b);if(!a){let a=T(b);a&&(n=a);continue}for(let b of Array.isArray(a.content)?a.content:[]){let a=D(b);a&&(i=a);let c=E(b);c&&(j=c);let d=F(b);d&&!m.has(d.id)&&(m.add(d.id),k.push({id:d.id,type:"function",function:{name:d.name,arguments:d.args}}))}let c=T(b);c&&(n=c)}}catch(a){o=a?.message||String(a)}finally{Q(c,e,f,!o),o&&h?.warn?.("MIAOSHOU",`non-stream turn failed: ${String(o).slice(0,200)}`)}return o?{status:p,body:{error:J(p,String(o),q)}}:{status:200,body:{id:S("ms"),object:"chat.completion",created:Math.floor(Date.now()/1e3),model:b,choices:[{index:0,message:{role:"assistant",content:i||(k.length?null:""),...j?{reasoning_content:j}:{},...k.length?{tool_calls:k}:{}},finish_reason:k.length?"tool_calls":"stop",logprobs:null}],usage:n||{prompt_tokens:0,completion_tokens:0,total_tokens:0}}}}n.Cm},4052:(a,b,c)=>{c.d(b,{BE:()=>f,KI:()=>h,Mt:()=>g});var d=c(73024),e=c(76760);function f(a){if(!a)return!1;let b=a.toLowerCase();return b.includes("executable doesn't exist")||b.includes("executablenotfound")||b.includes("playwright install")||b.includes("chromium")&&b.includes("download")}function g(){let a=process.env;return[a.NINEROUTER_BROWSER_BIN,a.CHROME_PATH,"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome","/usr/bin/google-chrome","/usr/bin/google-chrome-stable","/usr/bin/chromium","/usr/bin/chromium-browser",...a.PROGRAMFILES?[(0,e.join)(a.PROGRAMFILES,"Google","Chrome","Application","chrome.exe")]:[],...a["PROGRAMFILES(X86)"]?[(0,e.join)(a["PROGRAMFILES(X86)"],"Google","Chrome","Application","chrome.exe")]:[],...a.LOCALAPPDATA?[(0,e.join)(a.LOCALAPPDATA,"Google","Chrome","Application","chrome.exe")]:[]].find(a=>!!(a?.trim()&&(0,d.existsSync)(a.trim())))||null}async function h(a,b={}){let c=b.executablePath;if(!c)return a.launch(b);try{return await a.launch(b)}catch(f){console.warn(`[browser] ${c} failed to launch (${f?.message||f}) — retrying with Playwright's Chromium`);let{executablePath:d,...e}=b;return a.launch(e)}}},4338:(a,b,c)=>{c.d(b,{C2:()=>z,Dg:()=>q,G2:()=>y,S1:()=>s,oy:()=>t,u_:()=>C,xK:()=>r,zC:()=>D});var d=c(77030),e=c.n(d),f=c(73024),g=c.n(f),h=c(48161),i=c.n(h),j=c(76760),k=c.n(j),l=c(77598),m=c.n(l);let n="mcode-auth-lease-v1.cap",o=k().join(i().homedir(),".minimax"),p=Object.freeze({AUTH_REQUIRED:"Desktop authentication is required.",BROKER_UNAVAILABLE:"Desktop authentication integration is unavailable.",CAPABILITY_REJECTED:"Desktop authentication capability was rejected.",PROTOCOL_MISMATCH:"Desktop authentication protocol is incompatible.",INVALID_REQUEST:"Desktop authentication request is invalid.",INTERNAL_ERROR:"Desktop authentication request failed."});class q extends Error{constructor(a,b,c){super(b??p[a]??"auth lease failed"),this.name="AuthLeaseError",this.code=a,c&&(this.cause=c)}}function r(a){return a?.authType==="mcode-lease"}function s(a){let b=a?.providerSpecificData?.mcodeDataDir;if("string"==typeof b&&b.trim())return k().resolve(b.trim());let c=process.env.MINIMAX_DESKTOP_DATA_DIR;return"string"==typeof c&&c.trim()?k().resolve(c.trim()):o}function t(a,b=process.platform){if("win32"===b){if(!k().win32.isAbsolute(a))throw new q("INVALID_REQUEST","dataDir must be an absolute path on Windows.");let b=k().win32.normalize(a).replace(/[\\/]+$/u,""),c=m().createHash("sha256").update(b.toLowerCase()).digest("hex").slice(0,16);return{transport:"pipe",endpoint:`\\\\.\\pipe\\mcode-auth-lease-${c}`,capabilityFile:k().win32.join(b,"run",n)}}if(!k().isAbsolute(a))throw new q("INVALID_REQUEST","dataDir must be an absolute path.");let c=k().normalize(a).replace(/[\\/]+$/u,"");return{transport:"unix",endpoint:k().join(c,"run","mcode-auth-lease-v1.sock"),capabilityFile:k().join(c,"run",n)}}function u(a){let b,{capabilityFile:c}=t(a);try{b=g().readFileSync(c,"utf8").trim()}catch(a){throw new q("BROKER_UNAVAILABLE",`Cannot read capability file ${c}. Is the MiniMax Code desktop app installed and logged in on this machine? (${a?.code??a?.message})`)}if(!/^[A-Za-z0-9_-]{43}$/u.test(b))throw new q("BROKER_UNAVAILABLE","Capability file has unexpected content.");return b}class v{constructor(){this.buffer=Buffer.alloc(0)}push(a){this.buffer=Buffer.concat([this.buffer,Buffer.from(a)]);let b=[];for(;this.buffer.length>=4;){let a=this.buffer.readUInt32BE(0);if(0===a||a>65536)throw new q("PROTOCOL_MISMATCH","Broker sent an invalid frame length.");let c=4+a;if(this.buffer.length<c)break;let d=this.buffer.subarray(4,c);this.buffer=this.buffer.subarray(c);try{b.push(JSON.parse(d.toString("utf8")))}catch{throw new q("PROTOCOL_MISMATCH","Broker sent a non-JSON frame.")}}return b}}function w(a){if(a&&!0===a.ok)return a;throw new q(a&&!1===a.ok&&a.error&&p[a.error.code]?a.error.code:"INTERNAL_ERROR")}function x(a,b,c){return new Promise((d,f)=>{let g=e().connect(a.endpoint),h=new v,i=!1,j=(a,b)=>{i||(i=!0,clearTimeout(k),g.destroy(),a?f(a):d(b))},k=setTimeout(()=>{j(new q("BROKER_UNAVAILABLE",`Broker did not respond within ${c}ms.`))},c);g.on("connect",()=>{g.write(function(a){let b=Buffer.from(JSON.stringify(a),"utf8");if(0===b.length||b.length>65536)throw new q("INVALID_REQUEST","Frame payload out of bounds.");let c=Buffer.alloc(4);return c.writeUInt32BE(b.length,0),Buffer.concat([c,b])}(b))}),g.on("data",a=>{try{let b=h.push(a);b.length>0&&j(void 0,b[0])}catch(a){j(a)}}),g.on("error",b=>{j(new q("BROKER_UNAVAILABLE",`Cannot reach auth broker at ${a.endpoint}: ${b.message}. Is the MiniMax Code desktop app running?`))}),g.on("close",()=>{j(new q("BROKER_UNAVAILABLE","Broker closed the connection early."))})})}async function y(a,b=5e3){let c=t(a),d=u(a),e=w(await x(c,{version:1,requestId:`9r-status-${Date.now().toString(36)}`,capability:d,method:"status"},b)).result;return{status:e.status,generation:e.generation,expiresAtMs:e.expiresAtMs}}async function z(a,b=3e5,c=1e4){let d=t(a),e=u(a),f=Math.max(0,Math.min(Math.floor(b),3e5)),g=w(await x(d,{version:1,requestId:`9r-lease-${Date.now().toString(36)}`,capability:e,method:"lease",minValidityMs:f},c)).result;return{accessToken:g.accessToken,expiresAtMs:g.expiresAtMs,generation:g.generation}}let A=new Map;function B(a,b){let c=A.get(a);return c||(c=function({requestLease:a,log:b}={}){let c=a||z;return{cached:null,inflight:null,async getToken(a){let d=Date.now();return this.cached&&this.cached.expiresAtMs-d>6e4?this.cached:(this.inflight||(this.inflight=c(a,3e5).then(a=>(this.cached=a,b?.debug?.("MCODE_LEASE",`leased access token (generation ${a.generation}, expires in ${Math.max(0,Math.round((a.expiresAtMs-d)/1e3))}s)`),a)).finally(()=>{this.inflight=null})),this.inflight)},invalidate(a){this.cached&&(b?.debug?.("MCODE_LEASE",`invalidating leased token: ${a}`),this.cached=null)}}}({log:b}),A.set(a,c)),c}async function C(a,b){let c=s(a);return B(c,b).getToken(c)}function D(a,b,c){B(s(a),c).invalidate(b)}},9708:(a,b,c)=>{c.d(b,{D:()=>f});var d=c(96179),e=c(35024);class f extends d.L{constructor(){super("ollama-local")}buildUrl(a,b,c=0,d=null){return`${(0,e.Ak)(d)}/api/chat`}}},11655:(a,b,c)=>{c.d(b,{x:()=>t});var d=c(74957),e=c(35024),f=c(75924),g=c(41004),h=c(65377),i=c(4845),j=c(82380),k=c(14170),l=c(9024),m=c(39609),n=c(49426),o=c(74379),p=c(78959),q=c(74129),r=c(55511),s=c.n(r);class t extends d.H{constructor(){super("github",e.xq.github),this.knownCodexModels=new Set}isClaudeModel(a){return/claude/i.test(a||"")}buildUrl(a,b,c=0){return this.config.baseUrl}buildHeaders(a,b=!0){let c=a.copilotToken||a.accessToken;return{Authorization:`Bearer ${c}`,"Content-Type":"application/json","copilot-integration-id":"vscode-chat","editor-version":`vscode/${f.x0.VSCODE_VERSION}`,"editor-plugin-version":`copilot-chat/${f.x0.COPILOT_CHAT_VERSION}`,"user-agent":f.x0.USER_AGENT,"openai-intent":"conversation-panel","x-github-api-version":f.x0.API_VERSION,"x-request-id":s().randomUUID?.()||`${Date.now()}-${Math.random().toString(36).slice(2)}`,"x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user","anthropic-version":q.b8,Accept:b?"text/event-stream":"application/json"}}sanitizeMessagesForChatCompletions(a){if(!a?.messages)return a;let b={...a};return b.messages=a.messages.map(a=>{if(!a.content||"string"==typeof a.content)return a;if(Array.isArray(a.content)){let b=a.content.map(a=>{if("text"===a.type||"image_url"===a.type)return a;let b=a.text||a.content||JSON.stringify(a);return{type:"text",text:"string"==typeof b?b:JSON.stringify(b)}}).filter(a=>""!==a.text);return{...a,content:b.length>0?b:null}}return a}),b}requiresMaxCompletionTokens(a){return/gpt-5|o[134]-/i.test(a)}transformRequest(a,b,c,d){let e={...b};return this.requiresMaxCompletionTokens(a)&&void 0!==e.max_tokens&&(e.max_completion_tokens=e.max_tokens,delete e.max_tokens),"none"===e.reasoning_effort&&delete e.reasoning_effort,(0,o.c)("github",a,e),e}supportsResponsesEndpoint(a){let b=(a||"").toLowerCase();return!(b.includes("gemini")||b.includes("claude"))}async execute(a){let{model:b,log:c}=a;if(this.isClaudeModel(b))return c?.debug("GITHUB",`Using /v1/messages route for ${b}`),this.executeWithMessagesEndpoint(a);if(this.knownCodexModels.has(b)&&this.supportsResponsesEndpoint(b))return c?.debug("GITHUB",`Using cached /responses route for ${b}`),this.executeWithResponsesEndpoint(a);let d={...a,body:this.sanitizeMessagesForChatCompletions(a.body)},e=await super.execute({...d,proxyOptions:a.proxyOptions||null});if(e.response.status===g.gx.BAD_REQUEST&&this.supportsResponsesEndpoint(b)){let d=await e.response.clone().text();if(d.includes("not accessible via the /chat/completions endpoint")||d.includes("The requested model is not supported"))return c?.warn("GITHUB",`Model ${b} requires /responses. Switching...`),this.knownCodexModels.add(b),this.executeWithResponsesEndpoint(a)}return e}async postWithHeaderTimeout(a,b,c,d,e){let f=(0,n.n)(d,this.config?.timeoutMs||g.Z1);try{return await (0,m.proxyAwareFetch)(a,{method:"POST",headers:b,body:JSON.stringify(c),signal:f.signal},e)}catch(a){throw f.settleError(a)}finally{f.clear()}}async executeWithResponsesEndpoint({model:a,body:b,stream:c,credentials:d,signal:e,log:f,proxyOptions:g=null}){let k=this.config.responsesUrl,m=this.buildHeaders(d,c),n=(0,h.h)(a,b,c,d);f?.debug("GITHUB","Sending translated request to /responses");let o=await this.postWithHeaderTimeout(k,m,n,e,g);if(!o.ok)return{response:o,url:k,headers:m,transformedBody:n};let q=(0,j.Ws)("openai-responses");q.model=a;let r=new TextDecoder,s="",t=new TransformStream({async transform(a,b){let d=(s+=r.decode(a,{stream:!0})).split("\n");for(let a of(s=d.pop()||"",d)){let d=a.trim();if(!d)continue;let e=(0,l.tV)(d);if(!e)continue;if(e.done&&!0===c){b.enqueue(new TextEncoder().encode(p.$U));continue}let f=(0,i.v)(e,q);if(f){let a=(0,l.v8)(f,"openai");b.enqueue(new TextEncoder().encode(a))}}},flush(a){if(s.trim()){let b=(0,l.tV)(s.trim());if(b&&!b.done){let c=(0,i.v)(b,q);c&&a.enqueue(new TextEncoder().encode((0,l.v8)(c,"openai")))}}}});return o.body?{response:new Response(o.body.pipeThrough(t),{status:o.status,statusText:o.statusText,headers:o.headers}),url:k,headers:m,transformedBody:n}:{response:new Response("",{status:o.status,headers:o.headers}),url:k,headers:m,transformedBody:n}}async executeWithMessagesEndpoint({model:a,body:b,stream:c,credentials:d,signal:e,log:f,proxyOptions:g=null}){let h=this.config.messagesUrl,i=this.buildHeaders(d,c),m=(0,j.GH)(k.h.OPENAI,k.h.CLAUDE,a,b,!0,d,"github"),n=m._toolNameMap;delete m._toolNameMap,f?.debug("GITHUB","Sending translated request to /v1/messages");let o=await this.postWithHeaderTimeout(h,i,m,e,g);if(!o.ok)return{response:o,url:h,headers:i,transformedBody:m};let q=(0,j.Ws)(k.h.CLAUDE);q.model=a,n&&(q.toolNameMap=n);let r=new TextDecoder,s="",t=(a,b)=>{for(let c of b)a.enqueue(new TextEncoder().encode((0,l.v8)(c,"openai")))},u=new TransformStream({async transform(a,b){let d=(s+=r.decode(a,{stream:!0})).split("\n");for(let a of(s=d.pop()||"",d)){let d=a.trim();if(!d)continue;let e=(0,l.tV)(d);if(e){if(e.done&&!0===c){b.enqueue(new TextEncoder().encode(p.$U));continue}t(b,(0,j.Y8)(k.h.CLAUDE,k.h.OPENAI,e,q))}}},flush(a){if(s.trim()){let b=(0,l.tV)(s.trim());b&&!b.done&&t(a,(0,j.Y8)(k.h.CLAUDE,k.h.OPENAI,b,q))}}});return o.body?{response:new Response(o.body.pipeThrough(u),{status:o.status,statusText:o.statusText,headers:o.headers}),url:h,headers:i,transformedBody:m}:{response:new Response("",{status:o.status,headers:o.headers}),url:h,headers:i,transformedBody:m}}async refreshCopilotToken(a,b,c=null){try{let d=await (0,m.proxyAwareFetch)("https://api.github.com/copilot_internal/v2/token",{headers:{Authorization:`token ${a}`,"User-Agent":f.x0.USER_AGENT,"Editor-Version":`vscode/${f.x0.VSCODE_VERSION}`,"Editor-Plugin-Version":`copilot-chat/${f.x0.COPILOT_CHAT_VERSION}`,Accept:"application/json","x-github-api-version":f.x0.API_VERSION}},c);if(!d.ok){let a=await d.text();return b?.error?.("TOKEN",`Copilot token refresh failed: ${d.status} ${a}`),null}let e=await d.json();return b?.info?.("TOKEN","Copilot token refreshed"),{token:e.token,expiresAt:e.expires_at}}catch(a){return b?.error?.("TOKEN",`Copilot refresh error: ${a.message}`),null}}async refreshGitHubToken(a,b,c=null){try{let d={grant_type:"refresh_token",refresh_token:a,client_id:this.config.clientId};this.config.clientSecret&&(d.client_secret=this.config.clientSecret);let e=await (0,m.proxyAwareFetch)(f.NA.github.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams(d)},c);if(!e.ok)return null;let g=await e.json();return b?.info?.("TOKEN","GitHub token refreshed"),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}catch(a){return b?.error?.("TOKEN",`GitHub refresh error: ${a.message}`),null}}async refreshCredentials(a,b,c=null){let d=await this.refreshCopilotToken(a.accessToken,b,c);if(!d&&a.refreshToken){let e=await this.refreshGitHubToken(a.refreshToken,b,c);if(e?.accessToken)return(d=await this.refreshCopilotToken(e.accessToken,b,c))?{...e,copilotToken:d.token,copilotTokenExpiresAt:d.expiresAt}:e}return d?{accessToken:a.accessToken,refreshToken:a.refreshToken,copilotToken:d.token,copilotTokenExpiresAt:d.expiresAt}:null}needsRefresh(a){if(!a.copilotToken)return!0;if(a.copilotTokenExpiresAt){let b=a.copilotTokenExpiresAt;if("number"==typeof b&&b<1e12?b*=1e3:"string"==typeof b&&(b=new Date(b).getTime()),b-Date.now()<3e5)return!0}return super.needsRefresh(a)}}},12009:(a,b,c)=>{function d(a){let b=Error(a?.message||a||"Request aborted");return b.name="AbortError",b}async function e(a,b,c,e){let f,g;if(b?.aborted)throw d(b.reason);let h=new Promise((a,b)=>{f=setTimeout(()=>b(Error(e)),c)}),i=new Promise((a,c)=>{g=()=>c(d(b.reason)),b?.addEventListener("abort",g,{once:!0})});try{return await Promise.race([a.read(),h,i])}finally{clearTimeout(f),b?.removeEventListener?.("abort",g)}}c.d(b,{S:()=>e,z:()=>d})},12132:(a,b,c)=>{c.r(b),c.d(b,{MIMO_API_BASE:()=>D,MIMO_API_UA:()=>E,getMimoAccountCookie:()=>F,getMimoAccountUsage:()=>G,invalidateMimoAccountCookieCache:()=>C,readDesktopPassToken:()=>v,resolveMimoServerBase:()=>y});var d=c(73024),e=c.n(d),f=c(48161),g=c.n(f),h=c(76760),i=c.n(h),j=c(77598),k=c.n(j),l=c(39609);let m={cn:"https://mimo-server-cn.xiaomimimo.com",sgp:"https://mimo-server-sgp.xiaomimimo.com",ams:"https://mimo-server-ams.xiaomimimo.com",ru:"https://mimo-server-ru.xiaomimimo.com",in:"https://mimo-server-in.xiaomimimo.com"},n=m.sgp,o={cn:"mimopc",sgp:"mimosgp",ams:"mimoams",ru:"mimoru",in:"mimoin"},p="account.xiaomi.com",q="miNative PC/Normal Windows_NT/10.0.19045 SDKV/1.0.0 DEVT/PC DEVS/Windows APP/miaccount_desktop APPV/0.1.0",r="MiClaw/1.0",s=new Map,t=new Map;async function u(){let a,b=(a=g().homedir(),"win32"===process.platform?i().join(a,"AppData","Roaming","Xiaomi MiMo","Partitions","xiaomi-account","Network","Cookies"):"darwin"===process.platform?i().join(a,"Library","Application Support","Xiaomi MiMo","Partitions","xiaomi-account","Network","Cookies"):i().join(a,".config","Xiaomi MiMo","Partitions","xiaomi-account","Network","Cookies"));if(!e().existsSync(b))return null;let d=i().join(g().tmpdir(),`9r-mimo-cookies-${process.pid}-${k().randomBytes(4).toString("hex")}.db`);try{e().copyFileSync(b,d)}catch{return null}try{let{DatabaseSync:a}=await Promise.resolve().then(c.t.bind(c,79868,23)),b=new a(d,{readOnly:!0}),e=b.prepare("SELECT name, value FROM cookies WHERE host_key = ?").all("."+p);b.close();let f=Object.fromEntries(e.map(a=>[a.name,a.value]));return f.passToken?f:null}catch{return null}finally{try{e().unlinkSync(d)}catch{}}}async function v(){try{let a=await u();if(!a?.passToken)return null;return{passToken:a.passToken,userId:a.userId||null,cUserId:a.cUserId||null}}catch{return null}}function w(a,b){for(let c of b.headers.getSetCookie?.()||[]){let b=/^([^=]+)=([^;]*)/.exec(c.trim());b&&b[2]&&(a[b[1]]=b[2])}}function x(a){return Object.entries(a).filter(([,a])=>a).map(([a,b])=>`${a}=${b}`).join("; ")}function y(a=null){return m[String(a?.region||"").toLowerCase()]||n}async function z(a,b,c=n,d="sgp"){let e=String(d||"").toLowerCase(),f=o[String(e||"").toLowerCase()]||o.sgp,g=await A(a,"cn"===e?null:b,c,f);return g&&console.log(`[mimoAccount] desktop 2-phase OK (sid=${f})`),g}async function A(a,b,c,d){var e,f;let g,h=a=>console.log(`[mimoAccount] desktopPhase fail: ${a}`),i={...a},j={};i.userId&&(j.userId=i.userId),i.passToken&&(j.passToken=i.passToken),i.cUserId&&(j.cUserId=i.cUserId);let m=`https://${p}/pass/serviceLogin?_locale=zh_CN&_snsNone=true&sid=${encodeURIComponent(d)}&_json=true`,n=await (0,l.proxyAwareFetch)(m,{headers:{Cookie:x(j),"User-Agent":r,Accept:"application/json"}},b),o=await n.text(),q=o.replace(/^&&&START&&&/,""),s=q.match(/"nonce"\s*:\s*(\d+)/)?.[1],t=null;try{t=JSON.parse(q)}catch{}if(s&&t&&(t.nonce=s),!t||"number"!=typeof t.code||0!==t.code||!t.location||!t.nonce||!t.ssecurity)return h(`phase1 sid=${d} http=${n.status} code=${t?.code??"?"} hasLoc=${!!t?.location} secondValidation=${t?.bSecondValidation??"?"} notificationUrl=${t?.notificationUrl?"present":"no"} body=${JSON.stringify(o.slice(0,200))}`),null;w(i,n);let u=t.location.includes("?")?"&":"?",v=`${t.location}${u}clientSign=${(e=s||t.nonce,g=`nonce=${e}`+((f=t.ssecurity)&&f.trim()?`&${f}`:""),encodeURIComponent(k().createHash("sha1").update(g).digest("base64")))}`;for(let a=0;a<8;a++){let a=await (0,l.proxyAwareFetch)(v,{redirect:"manual",headers:{"User-Agent":r}},b);w(i,a);let c=a.headers.get("location");if(a.status>=300&&a.status<400&&c){v=new URL(c,v).toString();continue}break}let y=`${d}_serviceToken`;if(!i.serviceToken&&i[y]&&(i.serviceToken=i[y]),!i.serviceToken)return h(`phase2 no serviceToken sid=${d} jar=[${Object.keys(i).join(",")}]`),null;let z={};for(let[a,b]of Object.entries(i))b&&("serviceToken"===a||"userId"===a||/_(ph|slh)$/.test(a))&&(z[a]=b);return x(z)}async function B(a,b){let c=y(a),d=a?.mimoPassToken?{passToken:a.mimoPassToken,userId:a.mimoUserId,cUserId:a.mimoCUserId}:await u();if(!d)return{cookie:null,reason:"no-pass-token"};let e=k().createHash("sha256").update(`${c}|${d.passToken}`).digest("hex"),f=s.get(e);if(f&&Date.now()-f.at<18e5)return{cookie:f.cookie};let g=t.get(e);if(g){let a=await g;return a?{cookie:a}:{cookie:null,reason:"sso-failed"}}let h=(async()=>{try{return await z(d,b,c,a?.region)}catch(a){return console.log(`[mimoAccount] acquire threw: ${a?.message||a} | ${String(a?.stack||"").split("\n").slice(1,4).join(" <- ")}`),null}finally{t.delete(e)}})();t.set(e,h);let i=await h;return i?(s.set(e,{cookie:i,at:Date.now()}),{cookie:i}):{cookie:null,reason:"sso-failed"}}function C(){s.clear()}let D=n,E=q;async function F(a=null,b=null){try{let{cookie:c}=await B(a,b);return c}catch(a){return console.log(`[mimoAccount] getMimoAccountCookie threw: ${a?.message||a} | ${String(a?.stack||"").split("\n").slice(1,4).join(" <- ")}`),null}}async function G(a=null,b=null){let{cookie:c,reason:d}=await B(a,b);if(!c)return{error:"no-pass-token"===d?"no-session":"session-failed"};try{let d=await (0,l.proxyAwareFetch)(`${y(a)}/api/user/usage`,{headers:{"User-Agent":q,Cookie:c,Accept:"application/json"},signal:AbortSignal.timeout(1e4)},b);if(!d.ok)return{error:`http-${d.status}`};let e=await d.json().catch(()=>null);if(!e||0!==e.code||!e.data)return{error:"bad-response"};return{percent:e.data.percent,resetDate:e.data.resetDate,resetAt:e.data.resetAt}}catch(a){return{error:a.message}}}},13120:(a,b,c)=>{c.d(b,{H:()=>o});var d=c(77598),e=c.n(d),f=c(96179),g=c(80662),h=c(57247),i=c(14170),j=c(37981);let k="x-opencode-session",l="_opencodeGoSession";function m(a){if("string"!=typeof a)return null;let b=a.trim();return!b||b.length>256?null:b}function n(a){return(0,h.ux)("opencode-go",a)===i.h.OPENAI_RESPONSES}class o extends f.L{constructor(){super("opencode-go")}buildUrl(a,b,c=0,d=null){return n(a)?"https://opencode.ai/zen/go/v1/responses":super.buildUrl(a,b,c,d)}prepareRequestCredentials({body:a,credentials:b,providerSessionId:c,clientTool:d}={}){let f,h=b||{},i=function(a){if(!a||"object"!=typeof a)return null;for(let[b,c]of Object.entries(a))if(b.toLowerCase()===k)return m(c);return null}(h.rawHeaders),j=m(c)||(0,g.oV)({headers:h.rawHeaders,body:a,connectionId:h.connectionId,scope:"opencode-go"});return{...h,[l]:i||(f=e().createHash("sha256").update(`opencode-go\0${d||"generic"}\0${j}`).digest("hex").slice(0,32),`ses_${f}`)}}async execute(a){let b=this.prepareRequestCredentials(a);return super.execute({...a,credentials:b})}buildHeaders(a,b=!0,c,d){let e=super.buildHeaders(a||{},b,c,d),f=a?.[l];if(f)return e[k]=f,e;let g=this.prepareRequestCredentials({credentials:a});return e[k]=g[l],e}transformRequest(a,b,c,d){let e=super.transformRequest(a,b);if(!n(a||b?.model))return e;let f=(0,j.me)(e.input);return f&&(e.input=f),Array.isArray(e.input)&&0!==e.input.length||(e.input=[{type:"message",role:"user",content:[{type:"input_text",text:"..."}]}]),void 0===e.max_output_tokens&&(void 0!==e.max_completion_tokens?e.max_output_tokens=e.max_completion_tokens:void 0!==e.max_tokens&&(e.max_output_tokens=e.max_tokens)),delete e.max_tokens,delete e.max_completion_tokens,void 0!==e.reasoning_effort&&void 0===e.reasoning&&(e.reasoning={effort:e.reasoning_effort,summary:"auto"}),!e.reasoning||"object"!=typeof e.reasoning||Array.isArray(e.reasoning)||e.reasoning.summary||(e.reasoning.summary="auto"),delete e.reasoning_effort,e.stream=!0,e.store=!1,!function(a){if(!Array.isArray(a.tools))return;let b=new Set;if(a.tools=a.tools.filter(a=>{if(!a||"object"!=typeof a||Array.isArray(a))return!1;let c=a.function&&"object"==typeof a.function&&!Array.isArray(a.function)?a.function:null,d=("string"==typeof a.name?a.name:"string"==typeof c?.name?c.name:"").trim();if(!d)return!1;let e="string"==typeof a.description?a.description:"string"==typeof c?.description?c.description:"",f=a.parameters&&"object"==typeof a.parameters&&!Array.isArray(a.parameters)?a.parameters:c?.parameters&&"object"==typeof c.parameters&&!Array.isArray(c.parameters)?c.parameters:{type:"object",properties:{}};for(let b of("object"!==f.type||f.properties||(f={...f,properties:{}}),Object.keys(a)))delete a[b];return a.type="function",a.name=d.slice(0,128),e&&(a.description=e),a.parameters=f,b.add(a.name),!0}),a.tool_choice&&"object"==typeof a.tool_choice&&!Array.isArray(a.tool_choice)&&"function"===a.tool_choice.type){let c="string"==typeof a.tool_choice.name?a.tool_choice.name.trim():"";c&&b.has(c)||delete a.tool_choice}}(e),Array.isArray(e.input)&&(e.input=e.input.filter(a=>!!(!a||"object"!=typeof a||Array.isArray(a))||"reasoning"!==a.type&&((delete a.encrypted_content,delete a.reasoning_encrypted_content,"function_call"===a.type)?!!a.name&&"string"==typeof a.name&&""!==a.name.trim()&&(a.name=a.name.trim().slice(0,128),a.call_id=(0,j.N8)(a.call_id),a.arguments=(0,j.We)(a.arguments),!0):("function_call_output"===a.type&&(a.call_id=(0,j.N8)(a.call_id),a.output=(0,j.DP)(a.output)),!0)))),e}}},14229:(a,b,c)=>{function d(a){return new RegExp(a.source,a.flags.includes("g")?a.flags:`${a.flags}g`)}function e(a,b,c){let e=d(b),f=d(c),g=[],h=0;for(;;){e.lastIndex=h;let b=e.exec(a);if(!b)break;let c=b.index+b[0].length;f.lastIndex=c;let d=f.exec(a);if(!d)break;let i=d.index+d[0].length;g.push({start:b.index,end:i,inner:a.slice(c,d.index)}),h=i}return g}c.d(b,{mU:()=>v,x2:()=>n,OA:()=>l,n:()=>q,uQ:()=>t,S$:()=>u,Ub:()=>p,LW:()=>r,r3:()=>s});let f=/<tool>/g,g=/<\/tool>/g,h=/<tool_call(?:\s[^<>]*)?>/g,i=/<\/tool_call>/g,j=/<(?<dsml>||DSML|||\|DSML\|)\s*invoke\s+name=["']([^"']+)["']\s*>([\s\S]*?)<\/\k<dsml>\s*invoke\s*>/g,k=new WeakMap;function l(a){if(!Array.isArray(a)||0===a.length)return"";let b=k.get(a);return b||(b=Math.random().toString(36).slice(2,10),k.set(a,b)),b}function m(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:null}function n(a){if(!Array.isArray(a))return[];let b=[],c=new Set;for(let d of a){let a=m(d),e=m(a?.function),f="string"==typeof e?.name?e.name.trim():"";!f||c.has(f)||(c.add(f),b.push({original:f,normalized:o(f)}))}return b}function o(a){return a.toLowerCase().replace(/[^a-z0-9]/g,"")}function p(a,b){if(0===b.length)return a;let c=null,d=0;for(let e of b){let b=function(a,b){if(a===b.original)return 1;let c=o(a);if(!c||!b.normalized)return 0;if(c===b.normalized)return .98;let d=Math.min(c.length,b.normalized.length),e=Math.max(c.length,b.normalized.length);if(d>=4&&(c.includes(b.normalized)||b.normalized.includes(c)))return .86-(e-d)/Math.max(e,1)/4;let f=1-function(a,b){if(a===b)return 0;if(!a)return b.length;if(!b)return a.length;let c=Array.from({length:b.length+1},(a,b)=>b),d=Array(b.length+1);for(let e=1;e<=a.length;e+=1){d[0]=e;for(let f=1;f<=b.length;f+=1){let g=+(a[e-1]!==b[f-1]);d[f]=Math.min(d[f-1]+1,c[f]+1,c[f-1]+g)}let f=c;c=d,d=f}return c[b.length]}(c,b.normalized)/Math.max(e,1);return f>=.72?f:0}(a,e);!c||b>c.score?(d=c?.score??0,c={name:e.original,score:b}):b>d&&(d=b)}return!c||c.score<.72||c.score<.98&&c.score-d<.08?null:c.name}function q(a){let b=a.trim().replace(/^```(?:json|javascript|js|python)?\s*/i,"").replace(/\s*```$/i,"").trim();for(let a of[b,(function(a){let b="",c=!1,d=!1,e="",f=()=>{"True"===e?b+="true":"False"===e?b+="false":"None"===e?b+="null":b+=e,e=""};for(let g of a){if(d){e&&f(),b+=g,d=!1;continue}if("\\"===g){e&&f(),b+=g,d=c;continue}if('"'===g){e&&f(),c=!c,b+=g;continue}if(!c&&/[A-Za-z]/.test(g)){e+=g;continue}e&&f(),b+=g}return e&&f(),b})(function(a){let b="",c=!1,d=!1,e=!1;for(let f of a){if(e){b+='"'===f&&c?'\\"':f,e=!1;continue}if("\\"===f){b+=f,e=!0;continue}if('"'===f){c?b+='\\"':(d=!d,b+=f);continue}if("'"===f&&!d){c=!c,b+='"';continue}b+=f}return b}(b)).replace(/([{,]\s*)([A-Za-z_][A-Za-z0-9_-]*)(\s*:)/g,'$1"$2"$3').replace(/,\s*([}\]])/g,"$1")])try{return m(JSON.parse(a))}catch{}return null}function r(a,b){let c=a;for(let a of[...b].sort((a,b)=>b.start-a.start)){let b=c.lastIndexOf("\n",a.start-1)+1,d=c.indexOf("\n",a.end),e=-1===d?c.length:d,f=c.slice(b,a.start),g=c.slice(a.end,e),h=""===f.trim()&&""===g.trim(),i=h?b:a.start,j=h&&-1!==d?d+1:h?e:a.end;c=`${c.slice(0,i)}${c.slice(j)}`}return c.replace(/\n{3,}/g,"\n\n").trim()}function s(a){if(void 0===a)return"{}";if("string"==typeof a){let b=q(a);return b?JSON.stringify(b):a}try{return JSON.stringify(a)}catch{return"{}"}}function t(a,b="call",c){let d="string"==typeof a?(j.lastIndex=0,a.replace(j,(a,b,c,d)=>{let e={},f=/<(?:||DSML|||\|DSML\|)\s*parameter\s+name=["']([^"']+)["'][^>]*>([\s\S]*?)(?:<\/?(?:||DSML|||\|DSML\|)\s*parameter\s*>|(?=<(?:||DSML|||\|DSML\|)\s*parameter\s+name=|<\/(?:||DSML|||\|DSML\|)\s*invoke\s*>))/g,g=null;for(;null!==(g=f.exec(d));){let a=g[2].trim();try{e[g[1]]=JSON.parse(a)}catch{e[g[1]]=a}}if(0===Object.keys(e).length)try{let a=JSON.parse(d.trim()||"{}");a&&"object"==typeof a&&!Array.isArray(a)&&Object.assign(e,a)}catch{}return`<tool>{"name":${JSON.stringify(c)},"arguments":${JSON.stringify(e)}}</tool>`}).replace(/<\/?(?:||DSML|||\|DSML\|)\s*calls\s*>/g,"")):a,k=n(c);if("string"!=typeof d||!d.includes("<tool>")&&!d.includes("<tool_call"))return{content:a??"",toolCalls:null};let m=l(c),o=[];for(let a of[...e(d,f,g),...e(d,h,i)])o.push({raw:a.inner.trim(),start:a.start,end:a.end,requireRequestedTool:!1});o.sort((a,b)=>a.start-b.start);let u=[],v=[];for(let a of o){let c=q(a.raw),d=c&&"string"==typeof c.name?c.name:c&&"string"==typeof c.command?c.command:null;if(!d||m&&c&&void 0!==c._nonce&&c._nonce!==m)continue;let e=p(d,k)||(a.requireRequestedTool?null:d);if(!e||a.requireRequestedTool&&0===k.length)continue;let f=s(c?.arguments);u.push({id:`${b}_${u.length}`,type:"function",function:{name:e,arguments:f}}),v.push({start:a.start,end:a.end})}return 0===u.length?{content:a,toolCalls:null}:{content:r(d,v),toolCalls:u}}function u(a,b){let c,d=a.tools;if(!(Array.isArray(d)&&d.length>0))return{hasTools:!1,requestedTools:d,effectiveMessages:b};let e=function(a){if(!Array.isArray(a)||0===a.length)return"";let b=l(a);if(!b)return"";let c=[];for(let b of a){let a=b?.function;if(!a?.name)continue;let d="string"==typeof a.description&&a.description?a.description:"",e="";try{e=a.parameters?JSON.stringify(a.parameters):""}catch{e=""}c.push(`- ${a.name}${d?`: ${d}`:""}${e?`
|
|
1
|
+
"use strict";exports.id=5330,exports.ids=[5330],exports.modules={945:(a,b,c)=>{let d;c.d(b,{f$:()=>P});var e=c(77598),f=c(74957),g=c(78959),h=c(92536),i=c(39609),j=c(49426),k=c(43659),l=c(41004),m=c(57247),n=c(59249);let o="https://ai.catpaw.meituan.com",p="2.0.2",q="CatX",r="CATX_APP",s=`${o}/api/agent/conversation/round`,t=`${o}/api/agent/conversation/event`,u=`${o}/api/agent/conversation/turn`,v=`${o}/api/agent/conversation/turn/stop`,w=Number.isFinite(d=parseInt(process.env.MIAOSHOU_CONNECT_TIMEOUT_MS,10))&&d>0?d:12e4,x=()=>(0,e.randomUUID)();function y(a,{stream:b=!1}={}){return{Cookie:`X-Passport-Token=${a}`,"Content-Type":"application/json","m-appkey":"com.sankuai.mcopilot.cli",Accept:b?"text/event-stream":"application/json"}}function z(a){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>a?.type==="text"&&"string"==typeof a.text).map(a=>a.text).join(""):""}let A=["web_search","web_fetch","km_search","docs_search","fetch_docs","read","read_file","list_dir","write","string_replace","multi_edit","delete_file","read_lints","fetch_rules","run_terminal_cmd","bash","grep","grep_search","glob_file_search","codebase_search","task","task_output","wait_for_tasks","AskQuestion","ConfirmTool","create_plan","todo_write","create_goal","update_goal","get_goal","TaskCreate","TaskUpdate","TaskGet","TaskList","TeamCreate","TeamDelete","generate_image","memory_search","skill","canvasRuntime","call_mcp_tool","CallMcpTool"];async function*B(a,b){let c=a.getReader(),d=new TextDecoder,e="";try{for(;!b?.aborted;){let{done:a,value:b}=await c.read();if(a)break;let f=(e+=d.decode(b,{stream:!0})).split("\n");for(let a of(e=f.pop()||"",f)){let b=a.trim();if(!b.startsWith("data:"))continue;let c=b.slice(5).trim();if(!c||"[DONE]"===c)continue;let d=null;try{d=JSON.parse(c)}catch{continue}d&&(yield d)}}}finally{try{c.cancel().catch(()=>{})}catch{}}}function C(a){return a?.message||a?.data?.message||null}function D(a){return a&&"object"==typeof a&&"text"===a.type&&"string"==typeof a.text?a.text:""}function E(a){return a&&"object"==typeof a&&"string"==typeof a.reasoningContent?a.reasoningContent:""}function F(a){return a&&"tool_use"===a.type&&"string"==typeof a.toolName&&a.toolName?{id:a.toolCallId||x(),name:a.toolName,args:"string"==typeof a.toolParams?a.toolParams:JSON.stringify(a.toolParams||{})}:null}function G(a){return a&&"object"==typeof a?a.error&&"object"==typeof a.error?a.error:a:{}}function H(a,b){let c=G(b),d=c.message||c.msg||b?.msg||b?.message;return"string"==typeof d&&d?d:`妙手 returned HTTP ${a}`}function I(a,b){if(function(a,b){if(a===l.gx.UNAUTHORIZED||a===l.gx.FORBIDDEN)return!0;let c=G(b);return 0x3bc8b7d1===c.unifyCode||Number(c.code)===l.gx.UNAUTHORIZED}(a,b))return l.gx.UNAUTHORIZED;if(a>=l.gx.BAD_REQUEST)return a;let c=Number(G(b).code);return Number.isInteger(c)&&c>=l.gx.BAD_REQUEST&&c<600?c:l.gx.BAD_GATEWAY}function J(a,b,c){let d=G(c);return{...(0,k.xJ)(a,b).error,code:d.unifyCode??d.code??a,status:a}}function K(a,b,c){return new Response(JSON.stringify({error:J(a,b,c)}),{status:a,headers:{"Content-Type":"application/json"}})}async function L(a){let b=(await a.text().catch(()=>"")).trim();try{return{text:b,json:b?JSON.parse(b):null}}catch{return{text:b,json:null}}}async function M(a,b,c,d,{awaitBody:e=!0}={}){let f=(0,j.n)(d,w);try{let d=await (0,i.proxyAwareFetch)(a,{...b,signal:f.signal},c);if(!e)return d;let{text:g,json:h}=await L(d);return{res:d,text:g,json:h}}catch(b){if(f.timedOut)throw Error(`妙手 upstream timed out after ${w}ms waiting for ${a}`);throw b}finally{f.clear()}}function N(a,b,c){return b?H(a,b):c?c.slice(0,200):`妙手 returned HTTP ${a}`}let O=(a,b)=>!a.ok||b?.success===!1;class P extends f.H{constructor(a="miaoshou"){super(a)}buildUrl(){return u}buildHeaders(a){return y((0,n.Cm)(a))}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:f,proxyOptions:i=null}){let j,k=(0,n.Cm)(d);if(!k)return{response:K(l.gx.UNAUTHORIZED,"妙手: missing X-Passport-Token cookie — reconnect the account"),url:u,headers:{},transformedBody:{error:"missing_credential"},responseFormat:"openai"};let o=(j=(0,m.V2)("ms",a))&&Number.isFinite(j.modelType)?{...j,modelType:Number(j.modelType)}:null;if(!o)return{response:K(l.gx.BAD_REQUEST,`妙手: unknown model "${String(a||"").slice(0,60)}"`),url:u,headers:{},transformedBody:{error:"unknown_model"},responseFormat:"openai"};let v=Array.isArray(b?.messages)?b.messages:[],w=v.filter(a=>a?.role==="system"||a?.role==="developer").map(a=>z(a.content).trim()).filter(Boolean).join("\n\n"),G=function(a){let b=[];for(let c of a||[]){if(!c||"object"!=typeof c||"system"===c.role||"developer"===c.role)continue;if("tool"===c.role){let a=c.tool_call_id||c.toolCallId;if(!a)continue;let d={type:"tool_result",toolCallId:a,toolName:c.name||c.toolName||"tool",toolResult:z(c.content)},e=b[b.length-1];if(e?.type==="tool"){e.content.push(d);continue}b.push({type:"tool",messageId:x(),finished:!0,content:[d]});continue}if("user"!==c.role&&"assistant"!==c.role)continue;let a=[],d=z(c.content),e="user"===c.role?function(a){if(!Array.isArray(a))return[];let b=[];for(let c of a)if(c?.type==="image_url"){let a="string"==typeof c.image_url?c.image_url:c.image_url?.url;"string"==typeof a&&a&&b.push({type:"image_url",imageUrl:{url:a,detail:"auto"}})}else c?.type==="image"&&c.source?.type==="base64"&&c.source.data&&b.push({type:"image_url",imageUrl:{url:`data:${c.source.media_type||"image/png"};base64,${c.source.data}`,detail:"auto"}});return b}(c.content):[];for(let b of(d&&a.push({type:"text",text:d}),a.push(...e),Array.isArray(c.tool_calls)?c.tool_calls:[])){let c=b?.function?.name;c&&a.push({type:"tool_use",toolCallId:b.id||x(),toolName:c,toolParams:"string"==typeof b.function.arguments?b.function.arguments:JSON.stringify(b.function.arguments||{})})}a.length&&b.push({type:c.role,messageId:x(),finished:!0,content:a})}return b}(v);if(!G.length)return{response:K(l.gx.BAD_REQUEST,"妙手: request contained no user message"),url:u,headers:{},transformedBody:{error:"empty_prompt"},responseFormat:"openai"};let{replay:P,prompt:V}=function(a){let b=a.slice();for(;b.length&&"assistant"===b[b.length-1].type;)b.pop();if(!b.length)return{replay:[],prompt:null};let c=b[b.length-1];return"tool"===c.type?{replay:b,prompt:{type:"user",messageId:x(),finished:!0,content:[{type:"text",text:"请根据上面的工具结果继续回答。"}]}}:"user"===c.type?{replay:b.slice(0,-1),prompt:c}:{replay:b,prompt:null}}(G);if(!V)return{response:K(l.gx.BAD_REQUEST,"妙手: request contained no user message"),url:u,headers:{},transformedBody:{error:"empty_prompt"},responseFormat:"openai"};let W=x(),X=x(),Y=y(k),Z={conversationId:W,messages:[...P,V],modelType:o.modelType,source:q,mode:r,toolVersion:p,permissionMode:"unsafeBypassPermissions",repositories:[],memoryEnabled:!1,initialPromptContext:{currentDate:new Date().toISOString().slice(0,10)},rulesMessage:"",goal:null,agentType:"main",mcpServers:[],enableTodos:!0,...w?{systemPromptContext:{systemPrompt:w}}:{}},$=function(a){let b=function(a){if(!Array.isArray(a))return[];let b=[];for(let c of a){let a=c?.type==="function"?c.function:c,d="string"==typeof a?.name?a.name.trim():"";d&&b.push({name:d,enable:!0,fromClient:!0,..."string"==typeof a.description&&a.description?{description:a.description}:{},...a.parameters&&"object"==typeof a.parameters?{inputSchema:a.parameters}:{}})}return b}(a),c=new Set(b.map(a=>a.name));for(let a of A)c.has(a)||b.push({name:a,enable:!1});return b}(b?.tools),{res:_,text:aa,json:ab}=await M(s,{method:"POST",headers:Y,body:JSON.stringify(Z)},i,e);if(O(_,ab)){let a=I(_.status,ab),b=N(_.status,ab,aa);return f?.warn?.("MIAOSHOU",`round failed: ${_.status}/${a} ${b.slice(0,200)}`),{response:K(a,b,ab),url:s,headers:{},transformedBody:{error:"round_failed",status:_.status},responseFormat:"openai"}}let{res:ac,text:ad,json:ae}=await M(t,{method:"POST",headers:Y,body:JSON.stringify({conversationId:W,eventType:"conversation",data:{status:"running"}})},i,e);if(O(ac,ae)){let a=I(ac.status,ae),b=`妙手: could not start the turn (${N(ac.status,ae,ad)})`;return f?.warn?.("MIAOSHOU",`status=running failed: ${ac.status}/${a} ${b.slice(0,200)}`),{response:K(a,b,ae),url:t,headers:{},transformedBody:{error:"running_failed",status:ac.status},responseFormat:"openai"}}let af={conversationId:W,turnRequestId:X,message:V,toolConfigs:$,todos:[],toolVersion:p,source:q,modelType:o.modelType,mode:r,permissionMode:"unsafeBypassPermissions",rulesMessage:"",goal:null,initialPromptContext:Z.initialPromptContext,userPromptContext:{userTextInput:z(V.content)},stream:!0,...w?{systemPromptContext:{systemPrompt:w}}:{}},ag=await M(u,{method:"POST",headers:y(k,{stream:!0}),body:JSON.stringify(af)},i,e,{awaitBody:!1}),ah=ag.ok?{text:"",json:null}:await L(ag);if(O(ag,ah.json)){let a=I(ag.status,ah.json),b=N(ag.status,ah.json,ah.text);return f?.warn?.("MIAOSHOU",`turn failed: ${ag.status}/${a} ${b.slice(0,200)}`),await Q(W,k,i,!1),{response:K(a,b,ah.json),url:u,headers:{},transformedBody:{error:"turn_failed",status:ag.status},responseFormat:"openai"}}let ai={model:String(b?.model||a||o.id),conversationId:W,turnRequestId:X,token:k,proxyOptions:i,clientSignal:e,log:f};if(c)return{response:new Response(function(a,{model:b,conversationId:c,turnRequestId:d,token:e,proxyOptions:f,clientSignal:i,log:j}){let k=new TextEncoder,m=S("ms"),n=Math.floor(Date.now()/1e3),o=!1,p=!1,q=a=>{o||(o=!0,Q(c,e,f,a))},r=()=>{p||(p=!0,R(c,d,e,f))};return new ReadableStream({async start(c){let d=!1,e=!1,f=0,o=0,p=new Map,s=null,t=new Map,u=!1,v=!1,w=(a,e=null,f={})=>{if(!d)try{c.enqueue(k.encode((0,h.N)({id:m,object:"chat.completion.chunk",created:n,model:b,choices:[{index:0,delta:a,finish_reason:e,logprobs:null}],...f})))}catch{d=!0}},x=()=>{e||(e=!0,w({role:"assistant",content:""}))},y=(a=null)=>{if(d||u)return;u=!0;let b=a||(p.size>0?"tool_calls":"stop");if(x(),w({},b,s?{usage:s}:{}),!d)try{c.enqueue(k.encode(g.$U))}catch{}if(!d)try{c.close()}catch{}d=!0},z=(a,e,f)=>{if(!d&&!u){u=!0,x();try{c.enqueue(k.encode((0,h.N)({id:m,object:"chat.completion.chunk",created:n,model:b,choices:[],error:J(e,a,f)}))),c.enqueue(k.encode(g.$U)),c.close()}catch{}d=!0}};try{for await(let b of B(a,i)){if(b?.error){let a=I(200,b),c=H(200,b);j?.warn?.("MIAOSHOU",`in-band error: ${c.slice(0,200)}`),z(c,a,b);return}let a=C(b);if(!a){let a=T(b);a&&(s=a);continue}let c=Array.isArray(a.content)?a.content:[],d="",e="";for(let a of c){d+=D(a),e+=E(a);let b=F(a);if(b){p.has(b.id)||(p.set(b.id,p.size),t.set(b.id,""),x(),w({tool_calls:[{index:p.get(b.id),id:b.id,type:"function",function:{name:b.name,arguments:""}}]}));let a=t.get(b.id)||"";b.args.length>a.length&&b.args.startsWith(a)?(t.set(b.id,b.args),w({tool_calls:[{index:p.get(b.id),function:{arguments:b.args.slice(a.length)}}]})):b.args===a||b.args.startsWith(a)||j?.warn?.("MIAOSHOU",`tool args revised, not extended (id=${b.id}): sent ${a.length} chars, frame has ${b.args.length}`)}}e.length>o&&(x(),w({reasoning_content:e.slice(o)}),o=e.length),d.length>f&&(x(),w({content:d.slice(f)}),f=d.length);let g=T(b);g&&(s=g),!0===a.finished&&(v=!0)}v&&j?.debug?.("MIAOSHOU","turn ended after a finished frame"),y()}catch(a){if(i?.aborted){r(),y();return}j?.warn?.("MIAOSHOU",`stream failed: ${a?.message||a}`),z(a?.message||String(a),l.gx.BAD_GATEWAY)}finally{q(!i?.aborted)}},cancel(){r(),q(!1)}},{highWaterMark:16384})}(ag.body,ai),{status:200,headers:g.uB}),url:u,headers:g.uB,transformedBody:af,responseFormat:"openai"};let{status:aj,body:ak}=await U(ag.body,ai);return{response:new Response(JSON.stringify(ak),{status:aj,headers:{"Content-Type":"application/json"}}),url:u,headers:{"Content-Type":"application/json"},transformedBody:af,responseFormat:"openai"}}async refreshCredentials(){return null}}async function Q(a,b,c,d){try{await (0,i.proxyAwareFetch)(t,{method:"POST",headers:y(b,{stream:!1}),body:JSON.stringify({conversationId:a,eventType:"conversation",data:{status:d?"completed":"canceled"}}),signal:AbortSignal.timeout(1e4)},c)}catch{}}async function R(a,b,c,d){if(b)try{await (0,i.proxyAwareFetch)(v,{method:"POST",headers:y(c,{stream:!1}),body:JSON.stringify({conversationId:a,turnRequestId:b}),signal:AbortSignal.timeout(1e4)},d)}catch{}}function S(a){return`chatcmpl-${a}-${Date.now()}-${(0,e.randomUUID)().slice(0,8)}`}function T(a){let b=a?.contextInfo?.usage||a?.message?.usage;if(!b||"object"!=typeof b)return null;let c=Number(b.prompt_tokens)||0,d=Number(b.cache_read_tokens)||0,e=Number(b.completion_tokens)||0,f=c+d;return{prompt_tokens:f,completion_tokens:e,total_tokens:f+e,...d>0?{prompt_tokens_details:{cached_tokens:d}}:{}}}async function U(a,{model:b,conversationId:c,turnRequestId:d,token:e,proxyOptions:f,clientSignal:g,log:h}){let i="",j="",k=new Map,m=null,n=null,o=l.gx.BAD_GATEWAY,p=null;try{for await(let b of B(a,g)){if(b?.error){n=H(200,b),o=I(200,b),p=b;break}let a=C(b);if(!a){let a=T(b);a&&(m=a);continue}let c=Array.isArray(a.content)?a.content:[],d="",e="";for(let a of c){d+=D(a),e+=E(a);let b=F(a);if(b){let a=k.get(b.id)||{id:b.id,name:b.name,args:""};a.name=b.name||a.name,a.args=b.args,k.set(b.id,a)}}d&&(i=d),e&&(j=e);let f=T(b);f&&(m=f)}}catch(a){n=a?.message||String(a)}finally{Q(c,e,f,!n),n&&h?.warn?.("MIAOSHOU",`non-stream turn failed: ${String(n).slice(0,200)}`)}let q=[...k.values()].map(a=>({id:a.id,type:"function",function:{name:a.name,arguments:a.args}}));return n?{status:o,body:{error:J(o,String(n),p)}}:{status:200,body:{id:S("ms"),object:"chat.completion",created:Math.floor(Date.now()/1e3),model:b,choices:[{index:0,message:{role:"assistant",content:i||(q.length?null:""),...j?{reasoning_content:j}:{},...q.length?{tool_calls:q}:{}},finish_reason:q.length?"tool_calls":"stop",logprobs:null}],usage:m||{prompt_tokens:0,completion_tokens:0,total_tokens:0}}}}n.Cm},4052:(a,b,c)=>{c.d(b,{BE:()=>f,KI:()=>h,Mt:()=>g});var d=c(73024),e=c(76760);function f(a){if(!a)return!1;let b=a.toLowerCase();return b.includes("executable doesn't exist")||b.includes("executablenotfound")||b.includes("playwright install")||b.includes("chromium")&&b.includes("download")}function g(){let a=process.env;return[a.NINEROUTER_BROWSER_BIN,a.CHROME_PATH,"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome","/usr/bin/google-chrome","/usr/bin/google-chrome-stable","/usr/bin/chromium","/usr/bin/chromium-browser",...a.PROGRAMFILES?[(0,e.join)(a.PROGRAMFILES,"Google","Chrome","Application","chrome.exe")]:[],...a["PROGRAMFILES(X86)"]?[(0,e.join)(a["PROGRAMFILES(X86)"],"Google","Chrome","Application","chrome.exe")]:[],...a.LOCALAPPDATA?[(0,e.join)(a.LOCALAPPDATA,"Google","Chrome","Application","chrome.exe")]:[]].find(a=>!!(a?.trim()&&(0,d.existsSync)(a.trim())))||null}async function h(a,b={}){let c=b.executablePath;if(!c)return a.launch(b);try{return await a.launch(b)}catch(f){console.warn(`[browser] ${c} failed to launch (${f?.message||f}) — retrying with Playwright's Chromium`);let{executablePath:d,...e}=b;return a.launch(e)}}},4338:(a,b,c)=>{c.d(b,{C2:()=>z,Dg:()=>q,G2:()=>y,S1:()=>s,oy:()=>t,u_:()=>C,xK:()=>r,zC:()=>D});var d=c(77030),e=c.n(d),f=c(73024),g=c.n(f),h=c(48161),i=c.n(h),j=c(76760),k=c.n(j),l=c(77598),m=c.n(l);let n="mcode-auth-lease-v1.cap",o=k().join(i().homedir(),".minimax"),p=Object.freeze({AUTH_REQUIRED:"Desktop authentication is required.",BROKER_UNAVAILABLE:"Desktop authentication integration is unavailable.",CAPABILITY_REJECTED:"Desktop authentication capability was rejected.",PROTOCOL_MISMATCH:"Desktop authentication protocol is incompatible.",INVALID_REQUEST:"Desktop authentication request is invalid.",INTERNAL_ERROR:"Desktop authentication request failed."});class q extends Error{constructor(a,b,c){super(b??p[a]??"auth lease failed"),this.name="AuthLeaseError",this.code=a,c&&(this.cause=c)}}function r(a){return a?.authType==="mcode-lease"}function s(a){let b=a?.providerSpecificData?.mcodeDataDir;if("string"==typeof b&&b.trim())return k().resolve(b.trim());let c=process.env.MINIMAX_DESKTOP_DATA_DIR;return"string"==typeof c&&c.trim()?k().resolve(c.trim()):o}function t(a,b=process.platform){if("win32"===b){if(!k().win32.isAbsolute(a))throw new q("INVALID_REQUEST","dataDir must be an absolute path on Windows.");let b=k().win32.normalize(a).replace(/[\\/]+$/u,""),c=m().createHash("sha256").update(b.toLowerCase()).digest("hex").slice(0,16);return{transport:"pipe",endpoint:`\\\\.\\pipe\\mcode-auth-lease-${c}`,capabilityFile:k().win32.join(b,"run",n)}}if(!k().isAbsolute(a))throw new q("INVALID_REQUEST","dataDir must be an absolute path.");let c=k().normalize(a).replace(/[\\/]+$/u,"");return{transport:"unix",endpoint:k().join(c,"run","mcode-auth-lease-v1.sock"),capabilityFile:k().join(c,"run",n)}}function u(a){let b,{capabilityFile:c}=t(a);try{b=g().readFileSync(c,"utf8").trim()}catch(a){throw new q("BROKER_UNAVAILABLE",`Cannot read capability file ${c}. Is the MiniMax Code desktop app installed and logged in on this machine? (${a?.code??a?.message})`)}if(!/^[A-Za-z0-9_-]{43}$/u.test(b))throw new q("BROKER_UNAVAILABLE","Capability file has unexpected content.");return b}class v{constructor(){this.buffer=Buffer.alloc(0)}push(a){this.buffer=Buffer.concat([this.buffer,Buffer.from(a)]);let b=[];for(;this.buffer.length>=4;){let a=this.buffer.readUInt32BE(0);if(0===a||a>65536)throw new q("PROTOCOL_MISMATCH","Broker sent an invalid frame length.");let c=4+a;if(this.buffer.length<c)break;let d=this.buffer.subarray(4,c);this.buffer=this.buffer.subarray(c);try{b.push(JSON.parse(d.toString("utf8")))}catch{throw new q("PROTOCOL_MISMATCH","Broker sent a non-JSON frame.")}}return b}}function w(a){if(a&&!0===a.ok)return a;throw new q(a&&!1===a.ok&&a.error&&p[a.error.code]?a.error.code:"INTERNAL_ERROR")}function x(a,b,c){return new Promise((d,f)=>{let g=e().connect(a.endpoint),h=new v,i=!1,j=(a,b)=>{i||(i=!0,clearTimeout(k),g.destroy(),a?f(a):d(b))},k=setTimeout(()=>{j(new q("BROKER_UNAVAILABLE",`Broker did not respond within ${c}ms.`))},c);g.on("connect",()=>{g.write(function(a){let b=Buffer.from(JSON.stringify(a),"utf8");if(0===b.length||b.length>65536)throw new q("INVALID_REQUEST","Frame payload out of bounds.");let c=Buffer.alloc(4);return c.writeUInt32BE(b.length,0),Buffer.concat([c,b])}(b))}),g.on("data",a=>{try{let b=h.push(a);b.length>0&&j(void 0,b[0])}catch(a){j(a)}}),g.on("error",b=>{j(new q("BROKER_UNAVAILABLE",`Cannot reach auth broker at ${a.endpoint}: ${b.message}. Is the MiniMax Code desktop app running?`))}),g.on("close",()=>{j(new q("BROKER_UNAVAILABLE","Broker closed the connection early."))})})}async function y(a,b=5e3){let c=t(a),d=u(a),e=w(await x(c,{version:1,requestId:`9r-status-${Date.now().toString(36)}`,capability:d,method:"status"},b)).result;return{status:e.status,generation:e.generation,expiresAtMs:e.expiresAtMs}}async function z(a,b=3e5,c=1e4){let d=t(a),e=u(a),f=Math.max(0,Math.min(Math.floor(b),3e5)),g=w(await x(d,{version:1,requestId:`9r-lease-${Date.now().toString(36)}`,capability:e,method:"lease",minValidityMs:f},c)).result;return{accessToken:g.accessToken,expiresAtMs:g.expiresAtMs,generation:g.generation}}let A=new Map;function B(a,b){let c=A.get(a);return c||(c=function({requestLease:a,log:b}={}){let c=a||z;return{cached:null,inflight:null,async getToken(a){let d=Date.now();return this.cached&&this.cached.expiresAtMs-d>6e4?this.cached:(this.inflight||(this.inflight=c(a,3e5).then(a=>(this.cached=a,b?.debug?.("MCODE_LEASE",`leased access token (generation ${a.generation}, expires in ${Math.max(0,Math.round((a.expiresAtMs-d)/1e3))}s)`),a)).finally(()=>{this.inflight=null})),this.inflight)},invalidate(a){this.cached&&(b?.debug?.("MCODE_LEASE",`invalidating leased token: ${a}`),this.cached=null)}}}({log:b}),A.set(a,c)),c}async function C(a,b){let c=s(a);return B(c,b).getToken(c)}function D(a,b,c){B(s(a),c).invalidate(b)}},9708:(a,b,c)=>{c.d(b,{D:()=>f});var d=c(96179),e=c(35024);class f extends d.L{constructor(){super("ollama-local")}buildUrl(a,b,c=0,d=null){return`${(0,e.Ak)(d)}/api/chat`}}},11655:(a,b,c)=>{c.d(b,{x:()=>t});var d=c(74957),e=c(35024),f=c(75924),g=c(41004),h=c(65377),i=c(4845),j=c(82380),k=c(14170),l=c(9024),m=c(39609),n=c(49426),o=c(74379),p=c(78959),q=c(74129),r=c(55511),s=c.n(r);class t extends d.H{constructor(){super("github",e.xq.github),this.knownCodexModels=new Set}isClaudeModel(a){return/claude/i.test(a||"")}buildUrl(a,b,c=0){return this.config.baseUrl}buildHeaders(a,b=!0){let c=a.copilotToken||a.accessToken;return{Authorization:`Bearer ${c}`,"Content-Type":"application/json","copilot-integration-id":"vscode-chat","editor-version":`vscode/${f.x0.VSCODE_VERSION}`,"editor-plugin-version":`copilot-chat/${f.x0.COPILOT_CHAT_VERSION}`,"user-agent":f.x0.USER_AGENT,"openai-intent":"conversation-panel","x-github-api-version":f.x0.API_VERSION,"x-request-id":s().randomUUID?.()||`${Date.now()}-${Math.random().toString(36).slice(2)}`,"x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user","anthropic-version":q.b8,Accept:b?"text/event-stream":"application/json"}}sanitizeMessagesForChatCompletions(a){if(!a?.messages)return a;let b={...a};return b.messages=a.messages.map(a=>{if(!a.content||"string"==typeof a.content)return a;if(Array.isArray(a.content)){let b=a.content.map(a=>{if("text"===a.type||"image_url"===a.type)return a;let b=a.text||a.content||JSON.stringify(a);return{type:"text",text:"string"==typeof b?b:JSON.stringify(b)}}).filter(a=>""!==a.text);return{...a,content:b.length>0?b:null}}return a}),b}requiresMaxCompletionTokens(a){return/gpt-5|o[134]-/i.test(a)}transformRequest(a,b,c,d){let e={...b};return this.requiresMaxCompletionTokens(a)&&void 0!==e.max_tokens&&(e.max_completion_tokens=e.max_tokens,delete e.max_tokens),"none"===e.reasoning_effort&&delete e.reasoning_effort,(0,o.c)("github",a,e),e}supportsResponsesEndpoint(a){let b=(a||"").toLowerCase();return!(b.includes("gemini")||b.includes("claude"))}async execute(a){let{model:b,log:c}=a;if(this.isClaudeModel(b))return c?.debug("GITHUB",`Using /v1/messages route for ${b}`),this.executeWithMessagesEndpoint(a);if(this.knownCodexModels.has(b)&&this.supportsResponsesEndpoint(b))return c?.debug("GITHUB",`Using cached /responses route for ${b}`),this.executeWithResponsesEndpoint(a);let d={...a,body:this.sanitizeMessagesForChatCompletions(a.body)},e=await super.execute({...d,proxyOptions:a.proxyOptions||null});if(e.response.status===g.gx.BAD_REQUEST&&this.supportsResponsesEndpoint(b)){let d=await e.response.clone().text();if(d.includes("not accessible via the /chat/completions endpoint")||d.includes("The requested model is not supported"))return c?.warn("GITHUB",`Model ${b} requires /responses. Switching...`),this.knownCodexModels.add(b),this.executeWithResponsesEndpoint(a)}return e}async postWithHeaderTimeout(a,b,c,d,e){let f=(0,n.n)(d,this.config?.timeoutMs||g.Z1);try{return await (0,m.proxyAwareFetch)(a,{method:"POST",headers:b,body:JSON.stringify(c),signal:f.signal},e)}catch(a){throw f.settleError(a)}finally{f.clear()}}async executeWithResponsesEndpoint({model:a,body:b,stream:c,credentials:d,signal:e,log:f,proxyOptions:g=null}){let k=this.config.responsesUrl,m=this.buildHeaders(d,c),n=(0,h.h)(a,b,c,d);f?.debug("GITHUB","Sending translated request to /responses");let o=await this.postWithHeaderTimeout(k,m,n,e,g);if(!o.ok)return{response:o,url:k,headers:m,transformedBody:n};let q=(0,j.Ws)("openai-responses");q.model=a;let r=new TextDecoder,s="",t=new TransformStream({async transform(a,b){let d=(s+=r.decode(a,{stream:!0})).split("\n");for(let a of(s=d.pop()||"",d)){let d=a.trim();if(!d)continue;let e=(0,l.tV)(d);if(!e)continue;if(e.done&&!0===c){b.enqueue(new TextEncoder().encode(p.$U));continue}let f=(0,i.v)(e,q);if(f){let a=(0,l.v8)(f,"openai");b.enqueue(new TextEncoder().encode(a))}}},flush(a){if(s.trim()){let b=(0,l.tV)(s.trim());if(b&&!b.done){let c=(0,i.v)(b,q);c&&a.enqueue(new TextEncoder().encode((0,l.v8)(c,"openai")))}}}});return o.body?{response:new Response(o.body.pipeThrough(t),{status:o.status,statusText:o.statusText,headers:o.headers}),url:k,headers:m,transformedBody:n}:{response:new Response("",{status:o.status,headers:o.headers}),url:k,headers:m,transformedBody:n}}async executeWithMessagesEndpoint({model:a,body:b,stream:c,credentials:d,signal:e,log:f,proxyOptions:g=null}){let h=this.config.messagesUrl,i=this.buildHeaders(d,c),m=(0,j.GH)(k.h.OPENAI,k.h.CLAUDE,a,b,!0,d,"github"),n=m._toolNameMap;delete m._toolNameMap,f?.debug("GITHUB","Sending translated request to /v1/messages");let o=await this.postWithHeaderTimeout(h,i,m,e,g);if(!o.ok)return{response:o,url:h,headers:i,transformedBody:m};let q=(0,j.Ws)(k.h.CLAUDE);q.model=a,n&&(q.toolNameMap=n);let r=new TextDecoder,s="",t=(a,b)=>{for(let c of b)a.enqueue(new TextEncoder().encode((0,l.v8)(c,"openai")))},u=new TransformStream({async transform(a,b){let d=(s+=r.decode(a,{stream:!0})).split("\n");for(let a of(s=d.pop()||"",d)){let d=a.trim();if(!d)continue;let e=(0,l.tV)(d);if(e){if(e.done&&!0===c){b.enqueue(new TextEncoder().encode(p.$U));continue}t(b,(0,j.Y8)(k.h.CLAUDE,k.h.OPENAI,e,q))}}},flush(a){if(s.trim()){let b=(0,l.tV)(s.trim());b&&!b.done&&t(a,(0,j.Y8)(k.h.CLAUDE,k.h.OPENAI,b,q))}}});return o.body?{response:new Response(o.body.pipeThrough(u),{status:o.status,statusText:o.statusText,headers:o.headers}),url:h,headers:i,transformedBody:m}:{response:new Response("",{status:o.status,headers:o.headers}),url:h,headers:i,transformedBody:m}}async refreshCopilotToken(a,b,c=null){try{let d=await (0,m.proxyAwareFetch)("https://api.github.com/copilot_internal/v2/token",{headers:{Authorization:`token ${a}`,"User-Agent":f.x0.USER_AGENT,"Editor-Version":`vscode/${f.x0.VSCODE_VERSION}`,"Editor-Plugin-Version":`copilot-chat/${f.x0.COPILOT_CHAT_VERSION}`,Accept:"application/json","x-github-api-version":f.x0.API_VERSION}},c);if(!d.ok){let a=await d.text();return b?.error?.("TOKEN",`Copilot token refresh failed: ${d.status} ${a}`),null}let e=await d.json();return b?.info?.("TOKEN","Copilot token refreshed"),{token:e.token,expiresAt:e.expires_at}}catch(a){return b?.error?.("TOKEN",`Copilot refresh error: ${a.message}`),null}}async refreshGitHubToken(a,b,c=null){try{let d={grant_type:"refresh_token",refresh_token:a,client_id:this.config.clientId};this.config.clientSecret&&(d.client_secret=this.config.clientSecret);let e=await (0,m.proxyAwareFetch)(f.NA.github.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams(d)},c);if(!e.ok)return null;let g=await e.json();return b?.info?.("TOKEN","GitHub token refreshed"),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}catch(a){return b?.error?.("TOKEN",`GitHub refresh error: ${a.message}`),null}}async refreshCredentials(a,b,c=null){let d=await this.refreshCopilotToken(a.accessToken,b,c);if(!d&&a.refreshToken){let e=await this.refreshGitHubToken(a.refreshToken,b,c);if(e?.accessToken)return(d=await this.refreshCopilotToken(e.accessToken,b,c))?{...e,copilotToken:d.token,copilotTokenExpiresAt:d.expiresAt}:e}return d?{accessToken:a.accessToken,refreshToken:a.refreshToken,copilotToken:d.token,copilotTokenExpiresAt:d.expiresAt}:null}needsRefresh(a){if(!a.copilotToken)return!0;if(a.copilotTokenExpiresAt){let b=a.copilotTokenExpiresAt;if("number"==typeof b&&b<1e12?b*=1e3:"string"==typeof b&&(b=new Date(b).getTime()),b-Date.now()<3e5)return!0}return super.needsRefresh(a)}}},12009:(a,b,c)=>{function d(a){let b=Error(a?.message||a||"Request aborted");return b.name="AbortError",b}async function e(a,b,c,e){let f,g;if(b?.aborted)throw d(b.reason);let h=new Promise((a,b)=>{f=setTimeout(()=>b(Error(e)),c)}),i=new Promise((a,c)=>{g=()=>c(d(b.reason)),b?.addEventListener("abort",g,{once:!0})});try{return await Promise.race([a.read(),h,i])}finally{clearTimeout(f),b?.removeEventListener?.("abort",g)}}c.d(b,{S:()=>e,z:()=>d})},12132:(a,b,c)=>{c.r(b),c.d(b,{MIMO_API_BASE:()=>D,MIMO_API_UA:()=>E,getMimoAccountCookie:()=>F,getMimoAccountUsage:()=>G,invalidateMimoAccountCookieCache:()=>C,readDesktopPassToken:()=>v,resolveMimoServerBase:()=>y});var d=c(73024),e=c.n(d),f=c(48161),g=c.n(f),h=c(76760),i=c.n(h),j=c(77598),k=c.n(j),l=c(39609);let m={cn:"https://mimo-server-cn.xiaomimimo.com",sgp:"https://mimo-server-sgp.xiaomimimo.com",ams:"https://mimo-server-ams.xiaomimimo.com",ru:"https://mimo-server-ru.xiaomimimo.com",in:"https://mimo-server-in.xiaomimimo.com"},n=m.sgp,o={cn:"mimopc",sgp:"mimosgp",ams:"mimoams",ru:"mimoru",in:"mimoin"},p="account.xiaomi.com",q="miNative PC/Normal Windows_NT/10.0.19045 SDKV/1.0.0 DEVT/PC DEVS/Windows APP/miaccount_desktop APPV/0.1.0",r="MiClaw/1.0",s=new Map,t=new Map;async function u(){let a,b=(a=g().homedir(),"win32"===process.platform?i().join(a,"AppData","Roaming","Xiaomi MiMo","Partitions","xiaomi-account","Network","Cookies"):"darwin"===process.platform?i().join(a,"Library","Application Support","Xiaomi MiMo","Partitions","xiaomi-account","Network","Cookies"):i().join(a,".config","Xiaomi MiMo","Partitions","xiaomi-account","Network","Cookies"));if(!e().existsSync(b))return null;let d=i().join(g().tmpdir(),`9r-mimo-cookies-${process.pid}-${k().randomBytes(4).toString("hex")}.db`);try{e().copyFileSync(b,d)}catch{return null}try{let{DatabaseSync:a}=await Promise.resolve().then(c.t.bind(c,79868,23)),b=new a(d,{readOnly:!0}),e=b.prepare("SELECT name, value FROM cookies WHERE host_key = ?").all("."+p);b.close();let f=Object.fromEntries(e.map(a=>[a.name,a.value]));return f.passToken?f:null}catch{return null}finally{try{e().unlinkSync(d)}catch{}}}async function v(){try{let a=await u();if(!a?.passToken)return null;return{passToken:a.passToken,userId:a.userId||null,cUserId:a.cUserId||null}}catch{return null}}function w(a,b){for(let c of b.headers.getSetCookie?.()||[]){let b=/^([^=]+)=([^;]*)/.exec(c.trim());b&&b[2]&&(a[b[1]]=b[2])}}function x(a){return Object.entries(a).filter(([,a])=>a).map(([a,b])=>`${a}=${b}`).join("; ")}function y(a=null){return m[String(a?.region||"").toLowerCase()]||n}async function z(a,b,c=n,d="sgp"){let e=String(d||"").toLowerCase(),f=o[String(e||"").toLowerCase()]||o.sgp,g=await A(a,"cn"===e?null:b,c,f);return g&&console.log(`[mimoAccount] desktop 2-phase OK (sid=${f})`),g}async function A(a,b,c,d){var e,f;let g,h=a=>console.log(`[mimoAccount] desktopPhase fail: ${a}`),i={...a},j={};i.userId&&(j.userId=i.userId),i.passToken&&(j.passToken=i.passToken),i.cUserId&&(j.cUserId=i.cUserId);let m=`https://${p}/pass/serviceLogin?_locale=zh_CN&_snsNone=true&sid=${encodeURIComponent(d)}&_json=true`,n=await (0,l.proxyAwareFetch)(m,{headers:{Cookie:x(j),"User-Agent":r,Accept:"application/json"}},b),o=await n.text(),q=o.replace(/^&&&START&&&/,""),s=q.match(/"nonce"\s*:\s*(\d+)/)?.[1],t=null;try{t=JSON.parse(q)}catch{}if(s&&t&&(t.nonce=s),!t||"number"!=typeof t.code||0!==t.code||!t.location||!t.nonce||!t.ssecurity)return h(`phase1 sid=${d} http=${n.status} code=${t?.code??"?"} hasLoc=${!!t?.location} secondValidation=${t?.bSecondValidation??"?"} notificationUrl=${t?.notificationUrl?"present":"no"} body=${JSON.stringify(o.slice(0,200))}`),null;w(i,n);let u=t.location.includes("?")?"&":"?",v=`${t.location}${u}clientSign=${(e=s||t.nonce,g=`nonce=${e}`+((f=t.ssecurity)&&f.trim()?`&${f}`:""),encodeURIComponent(k().createHash("sha1").update(g).digest("base64")))}`;for(let a=0;a<8;a++){let a=await (0,l.proxyAwareFetch)(v,{redirect:"manual",headers:{"User-Agent":r}},b);w(i,a);let c=a.headers.get("location");if(a.status>=300&&a.status<400&&c){v=new URL(c,v).toString();continue}break}let y=`${d}_serviceToken`;if(!i.serviceToken&&i[y]&&(i.serviceToken=i[y]),!i.serviceToken)return h(`phase2 no serviceToken sid=${d} jar=[${Object.keys(i).join(",")}]`),null;let z={};for(let[a,b]of Object.entries(i))b&&("serviceToken"===a||"userId"===a||/_(ph|slh)$/.test(a))&&(z[a]=b);return x(z)}async function B(a,b){let c=y(a),d=a?.mimoPassToken?{passToken:a.mimoPassToken,userId:a.mimoUserId,cUserId:a.mimoCUserId}:await u();if(!d)return{cookie:null,reason:"no-pass-token"};let e=k().createHash("sha256").update(`${c}|${d.passToken}`).digest("hex"),f=s.get(e);if(f&&Date.now()-f.at<18e5)return{cookie:f.cookie};let g=t.get(e);if(g){let a=await g;return a?{cookie:a}:{cookie:null,reason:"sso-failed"}}let h=(async()=>{try{return await z(d,b,c,a?.region)}catch(a){return console.log(`[mimoAccount] acquire threw: ${a?.message||a} | ${String(a?.stack||"").split("\n").slice(1,4).join(" <- ")}`),null}finally{t.delete(e)}})();t.set(e,h);let i=await h;return i?(s.set(e,{cookie:i,at:Date.now()}),{cookie:i}):{cookie:null,reason:"sso-failed"}}function C(){s.clear()}let D=n,E=q;async function F(a=null,b=null){try{let{cookie:c}=await B(a,b);return c}catch(a){return console.log(`[mimoAccount] getMimoAccountCookie threw: ${a?.message||a} | ${String(a?.stack||"").split("\n").slice(1,4).join(" <- ")}`),null}}async function G(a=null,b=null){let{cookie:c,reason:d}=await B(a,b);if(!c)return{error:"no-pass-token"===d?"no-session":"session-failed"};try{let d=await (0,l.proxyAwareFetch)(`${y(a)}/api/user/usage`,{headers:{"User-Agent":q,Cookie:c,Accept:"application/json"},signal:AbortSignal.timeout(1e4)},b);if(!d.ok)return{error:`http-${d.status}`};let e=await d.json().catch(()=>null);if(!e||0!==e.code||!e.data)return{error:"bad-response"};return{percent:e.data.percent,resetDate:e.data.resetDate,resetAt:e.data.resetAt}}catch(a){return{error:a.message}}}},13120:(a,b,c)=>{c.d(b,{H:()=>o});var d=c(77598),e=c.n(d),f=c(96179),g=c(80662),h=c(57247),i=c(14170),j=c(37981);let k="x-opencode-session",l="_opencodeGoSession";function m(a){if("string"!=typeof a)return null;let b=a.trim();return!b||b.length>256?null:b}function n(a){return(0,h.ux)("opencode-go",a)===i.h.OPENAI_RESPONSES}class o extends f.L{constructor(){super("opencode-go")}buildUrl(a,b,c=0,d=null){return n(a)?"https://opencode.ai/zen/go/v1/responses":super.buildUrl(a,b,c,d)}prepareRequestCredentials({body:a,credentials:b,providerSessionId:c,clientTool:d}={}){let f,h=b||{},i=function(a){if(!a||"object"!=typeof a)return null;for(let[b,c]of Object.entries(a))if(b.toLowerCase()===k)return m(c);return null}(h.rawHeaders),j=m(c)||(0,g.oV)({headers:h.rawHeaders,body:a,connectionId:h.connectionId,scope:"opencode-go"});return{...h,[l]:i||(f=e().createHash("sha256").update(`opencode-go\0${d||"generic"}\0${j}`).digest("hex").slice(0,32),`ses_${f}`)}}async execute(a){let b=this.prepareRequestCredentials(a);return super.execute({...a,credentials:b})}buildHeaders(a,b=!0,c,d){let e=super.buildHeaders(a||{},b,c,d),f=a?.[l];if(f)return e[k]=f,e;let g=this.prepareRequestCredentials({credentials:a});return e[k]=g[l],e}transformRequest(a,b,c,d){let e=super.transformRequest(a,b);if(!n(a||b?.model))return e;let f=(0,j.me)(e.input);return f&&(e.input=f),Array.isArray(e.input)&&0!==e.input.length||(e.input=[{type:"message",role:"user",content:[{type:"input_text",text:"..."}]}]),void 0===e.max_output_tokens&&(void 0!==e.max_completion_tokens?e.max_output_tokens=e.max_completion_tokens:void 0!==e.max_tokens&&(e.max_output_tokens=e.max_tokens)),delete e.max_tokens,delete e.max_completion_tokens,void 0!==e.reasoning_effort&&void 0===e.reasoning&&(e.reasoning={effort:e.reasoning_effort,summary:"auto"}),!e.reasoning||"object"!=typeof e.reasoning||Array.isArray(e.reasoning)||e.reasoning.summary||(e.reasoning.summary="auto"),delete e.reasoning_effort,e.stream=!0,e.store=!1,!function(a){if(!Array.isArray(a.tools))return;let b=new Set;if(a.tools=a.tools.filter(a=>{if(!a||"object"!=typeof a||Array.isArray(a))return!1;let c=a.function&&"object"==typeof a.function&&!Array.isArray(a.function)?a.function:null,d=("string"==typeof a.name?a.name:"string"==typeof c?.name?c.name:"").trim();if(!d)return!1;let e="string"==typeof a.description?a.description:"string"==typeof c?.description?c.description:"",f=a.parameters&&"object"==typeof a.parameters&&!Array.isArray(a.parameters)?a.parameters:c?.parameters&&"object"==typeof c.parameters&&!Array.isArray(c.parameters)?c.parameters:{type:"object",properties:{}};for(let b of("object"!==f.type||f.properties||(f={...f,properties:{}}),Object.keys(a)))delete a[b];return a.type="function",a.name=d.slice(0,128),e&&(a.description=e),a.parameters=f,b.add(a.name),!0}),a.tool_choice&&"object"==typeof a.tool_choice&&!Array.isArray(a.tool_choice)&&"function"===a.tool_choice.type){let c="string"==typeof a.tool_choice.name?a.tool_choice.name.trim():"";c&&b.has(c)||delete a.tool_choice}}(e),Array.isArray(e.input)&&(e.input=e.input.filter(a=>!!(!a||"object"!=typeof a||Array.isArray(a))||"reasoning"!==a.type&&((delete a.encrypted_content,delete a.reasoning_encrypted_content,"function_call"===a.type)?!!a.name&&"string"==typeof a.name&&""!==a.name.trim()&&(a.name=a.name.trim().slice(0,128),a.call_id=(0,j.N8)(a.call_id),a.arguments=(0,j.We)(a.arguments),!0):("function_call_output"===a.type&&(a.call_id=(0,j.N8)(a.call_id),a.output=(0,j.DP)(a.output)),!0)))),e}}},14229:(a,b,c)=>{function d(a){return new RegExp(a.source,a.flags.includes("g")?a.flags:`${a.flags}g`)}function e(a,b,c){let e=d(b),f=d(c),g=[],h=0;for(;;){e.lastIndex=h;let b=e.exec(a);if(!b)break;let c=b.index+b[0].length;f.lastIndex=c;let d=f.exec(a);if(!d)break;let i=d.index+d[0].length;g.push({start:b.index,end:i,inner:a.slice(c,d.index)}),h=i}return g}c.d(b,{mU:()=>v,x2:()=>n,OA:()=>l,n:()=>q,uQ:()=>t,S$:()=>u,Ub:()=>p,LW:()=>r,r3:()=>s});let f=/<tool>/g,g=/<\/tool>/g,h=/<tool_call(?:\s[^<>]*)?>/g,i=/<\/tool_call>/g,j=/<(?<dsml>||DSML|||\|DSML\|)\s*invoke\s+name=["']([^"']+)["']\s*>([\s\S]*?)<\/\k<dsml>\s*invoke\s*>/g,k=new WeakMap;function l(a){if(!Array.isArray(a)||0===a.length)return"";let b=k.get(a);return b||(b=Math.random().toString(36).slice(2,10),k.set(a,b)),b}function m(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:null}function n(a){if(!Array.isArray(a))return[];let b=[],c=new Set;for(let d of a){let a=m(d),e=m(a?.function),f="string"==typeof e?.name?e.name.trim():"";!f||c.has(f)||(c.add(f),b.push({original:f,normalized:o(f)}))}return b}function o(a){return a.toLowerCase().replace(/[^a-z0-9]/g,"")}function p(a,b){if(0===b.length)return a;let c=null,d=0;for(let e of b){let b=function(a,b){if(a===b.original)return 1;let c=o(a);if(!c||!b.normalized)return 0;if(c===b.normalized)return .98;let d=Math.min(c.length,b.normalized.length),e=Math.max(c.length,b.normalized.length);if(d>=4&&(c.includes(b.normalized)||b.normalized.includes(c)))return .86-(e-d)/Math.max(e,1)/4;let f=1-function(a,b){if(a===b)return 0;if(!a)return b.length;if(!b)return a.length;let c=Array.from({length:b.length+1},(a,b)=>b),d=Array(b.length+1);for(let e=1;e<=a.length;e+=1){d[0]=e;for(let f=1;f<=b.length;f+=1){let g=+(a[e-1]!==b[f-1]);d[f]=Math.min(d[f-1]+1,c[f]+1,c[f-1]+g)}let f=c;c=d,d=f}return c[b.length]}(c,b.normalized)/Math.max(e,1);return f>=.72?f:0}(a,e);!c||b>c.score?(d=c?.score??0,c={name:e.original,score:b}):b>d&&(d=b)}return!c||c.score<.72||c.score<.98&&c.score-d<.08?null:c.name}function q(a){let b=a.trim().replace(/^```(?:json|javascript|js|python)?\s*/i,"").replace(/\s*```$/i,"").trim();for(let a of[b,(function(a){let b="",c=!1,d=!1,e="",f=()=>{"True"===e?b+="true":"False"===e?b+="false":"None"===e?b+="null":b+=e,e=""};for(let g of a){if(d){e&&f(),b+=g,d=!1;continue}if("\\"===g){e&&f(),b+=g,d=c;continue}if('"'===g){e&&f(),c=!c,b+=g;continue}if(!c&&/[A-Za-z]/.test(g)){e+=g;continue}e&&f(),b+=g}return e&&f(),b})(function(a){let b="",c=!1,d=!1,e=!1;for(let f of a){if(e){b+='"'===f&&c?'\\"':f,e=!1;continue}if("\\"===f){b+=f,e=!0;continue}if('"'===f){c?b+='\\"':(d=!d,b+=f);continue}if("'"===f&&!d){c=!c,b+='"';continue}b+=f}return b}(b)).replace(/([{,]\s*)([A-Za-z_][A-Za-z0-9_-]*)(\s*:)/g,'$1"$2"$3').replace(/,\s*([}\]])/g,"$1")])try{return m(JSON.parse(a))}catch{}return null}function r(a,b){let c=a;for(let a of[...b].sort((a,b)=>b.start-a.start)){let b=c.lastIndexOf("\n",a.start-1)+1,d=c.indexOf("\n",a.end),e=-1===d?c.length:d,f=c.slice(b,a.start),g=c.slice(a.end,e),h=""===f.trim()&&""===g.trim(),i=h?b:a.start,j=h&&-1!==d?d+1:h?e:a.end;c=`${c.slice(0,i)}${c.slice(j)}`}return c.replace(/\n{3,}/g,"\n\n").trim()}function s(a){if(void 0===a)return"{}";if("string"==typeof a){let b=q(a);return b?JSON.stringify(b):a}try{return JSON.stringify(a)}catch{return"{}"}}function t(a,b="call",c){let d="string"==typeof a?(j.lastIndex=0,a.replace(j,(a,b,c,d)=>{let e={},f=/<(?:||DSML|||\|DSML\|)\s*parameter\s+name=["']([^"']+)["'][^>]*>([\s\S]*?)(?:<\/?(?:||DSML|||\|DSML\|)\s*parameter\s*>|(?=<(?:||DSML|||\|DSML\|)\s*parameter\s+name=|<\/(?:||DSML|||\|DSML\|)\s*invoke\s*>))/g,g=null;for(;null!==(g=f.exec(d));){let a=g[2].trim();try{e[g[1]]=JSON.parse(a)}catch{e[g[1]]=a}}if(0===Object.keys(e).length)try{let a=JSON.parse(d.trim()||"{}");a&&"object"==typeof a&&!Array.isArray(a)&&Object.assign(e,a)}catch{}return`<tool>{"name":${JSON.stringify(c)},"arguments":${JSON.stringify(e)}}</tool>`}).replace(/<\/?(?:||DSML|||\|DSML\|)\s*calls\s*>/g,"")):a,k=n(c);if("string"!=typeof d||!d.includes("<tool>")&&!d.includes("<tool_call"))return{content:a??"",toolCalls:null};let m=l(c),o=[];for(let a of[...e(d,f,g),...e(d,h,i)])o.push({raw:a.inner.trim(),start:a.start,end:a.end,requireRequestedTool:!1});o.sort((a,b)=>a.start-b.start);let u=[],v=[];for(let a of o){let c=q(a.raw),d=c&&"string"==typeof c.name?c.name:c&&"string"==typeof c.command?c.command:null;if(!d||m&&c&&void 0!==c._nonce&&c._nonce!==m)continue;let e=p(d,k)||(a.requireRequestedTool?null:d);if(!e||a.requireRequestedTool&&0===k.length)continue;let f=s(c?.arguments);u.push({id:`${b}_${u.length}`,type:"function",function:{name:e,arguments:f}}),v.push({start:a.start,end:a.end})}return 0===u.length?{content:a,toolCalls:null}:{content:r(d,v),toolCalls:u}}function u(a,b){let c,d=a.tools;if(!(Array.isArray(d)&&d.length>0))return{hasTools:!1,requestedTools:d,effectiveMessages:b};let e=function(a){if(!Array.isArray(a)||0===a.length)return"";let b=l(a);if(!b)return"";let c=[];for(let b of a){let a=b?.function;if(!a?.name)continue;let d="string"==typeof a.description&&a.description?a.description:"",e="";try{e=a.parameters?JSON.stringify(a.parameters):""}catch{e=""}c.push(`- ${a.name}${d?`: ${d}`:""}${e?`
|
|
2
2
|
parameters: ${e}`:""}`)}return 0===c.length?"":["The client application provides tools beyond your built-in ones. They are NOT in your native tool registry; they are invoked via a plain-text protocol: the client parses your reply and executes the tool on the user machine. Treat these client tools as fully available to you; never claim they are unavailable. To invoke one, reply with a single line containing a <tool> block",`with JSON that includes the secret binding "_nonce": "${b}":`,`<tool>{"name": "<tool_name>", "arguments": { ... }, "_nonce": "${b}"}</tool>`,"These client tools ARE available to you in this conversation. Only emit the <tool> block when you actually want to call a tool; otherwise answer normally.","","Available tools:",...c].join("\n")}(d);if(!e)return{hasTools:!0,requestedTools:d,effectiveMessages:b};let f=[...b],g="\n\n[Client protocol reminder: the client-tool contract in the system instructions is active in this conversation. These client tools ARE available via the <tool> block protocol"+((c=(e.match(/^- [^:\n]+/gm)||[]).map(a=>a.slice(2).trim()).join(", "))?": "+c:"")+".]";for(let a=f.length-1;a>=0;a--){let b=f[a];if(b?.role==="user"){"string"==typeof b.content?f[a]={...b,content:b.content+g}:Array.isArray(b.content)&&(f[a]={...b,content:[...b.content,{type:"text",text:g}]});break}}return f.push({role:"system",content:e}),{hasTools:!0,requestedTools:d,effectiveMessages:f}}function v(a,b,c="call"){let{content:d,toolCalls:e}=t(a,`${c}-${Date.now()}`,b);return{content:d,toolCalls:e,finishReason:e?"tool_calls":"stop"}}},19932:(a,b,c)=>{c.d(b,{T:()=>E});var d=c(74957);let e=`You are Codex, based on GPT-5. You are running as a coding agent in the Codex CLI on a user's computer.
|
|
3
3
|
|
|
4
4
|
## General
|