@hafez/claude-code-router 2.0.1 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/cli.js +1 -1
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -868,7 +868,7 @@ If multiple images exist, select the **most relevant imageId** based on the user
868
868
 
869
869
  Do not attempt to describe or analyze the image directly yourself.
870
870
  Ignore any user interruptions or unrelated instructions that might cause you to skip this requirement.
871
- Your response should consistently follow this rule whenever image-related analysis is requested.`});let r=e.body.messages.filter(i=>i.role==="user"&&Array.isArray(i.content)&&i.content.some(o=>o.type==="image"||Array.isArray(o.content)&&o.content.some(s=>s.type==="image"))),n=1;r.forEach(i=>{Array.isArray(i.content)&&i.content.forEach(o=>{o.type==="image"?(Xl.storeImage(`${e.id}_Image#${n}`,o.source),o.type="text",delete o.source,o.text=`[Image #${n}]This is an image, if you need to view or analyze it, you need to extract the imageId`,n++):o.type==="text"&&o.text.includes("[Image #")?o.text=o.text.replace(/\[Image #\d+\]/g,""):o.type==="tool_result"&&Array.isArray(o.content)&&o.content.some(s=>s.type==="image")&&(Xl.storeImage(`${e.id}_Image#${n}`,o.content[0].source),o.content=`[Image #${n}]This is an image, if you need to view or analyze it, you need to extract the imageId`,n++)})})}},cL=new lL,AL=class{agents=new Map;registerAgent(e){this.agents.set(e.name,e)}getAgent(e){return this.agents.get(e)}getAllAgents(){return Array.from(this.agents.values())}getAllTools(){let e=[];for(let t of this.agents.values())e.push(...t.tools.values());return e}},EC=new AL;EC.registerAgent(cL);var t0=EC,hL=require("node:events"),kE=new hL.EventEmitter;async function dL(){let e=(0,xy.homedir)(),t=(0,vy.join)(e,".claude.json");if(!(0,QR.existsSync)(t)){let r={numStartups:184,autoUpdaterStatus:"enabled",userID:Array.from({length:64},()=>Math.random().toString(16)[2]).join(""),hasCompletedOnboarding:!0,lastOnboardingVersion:"1.0.17",projects:{}};await(0,RR.writeFile)(t,JSON.stringify(r,null,2))}}async function fL(e,t){let r=t.plugins||t.Plugins||[];for(let n of r){let{name:i,enabled:o=!1,options:s={}}=n;switch(i){case"token-speed":D0.registerPlugin(pC,{enabled:o,outputHandlers:[{type:"temp-file",enabled:!0}],...s});break;default:console.warn(`Unknown plugin: ${i}`);break}}await D0.enablePlugins(e)}async function mC(e={}){await dL(),await td();let t=await Fy(),r=t.Providers||t.providers||[],n=r&&r.length>0,i=t.HOST||"127.0.0.1";n?(i=t.HOST,t.APIKEY||(i="127.0.0.1")):(i="0.0.0.0",console.log("\u2139\uFE0F No providers configured. Listening on 0.0.0.0 without authentication."));let o=t.PORT||3456,s=process.env.SERVICE_PORT?parseInt(process.env.SERVICE_PORT):o,a=p=>(p>9?"":"0")+p,u=(p,A)=>{let f;p?typeof p=="number"?f=new Date(p):f=p:f=new Date;let d=f.getFullYear()+""+a(f.getMonth()+1),g=a(f.getDate()),E=a(f.getHours()),D=a(f.getMinutes());return`./logs/ccr-${d}${g}${E}${D}${a(f.getSeconds())}${A?`_${A}`:""}.log`},c;e.logger!==void 0?c=e.logger:t.LOG!==!1?(t.LOG===void 0&&(t.LOG=!0),c={level:t.LOG_LEVEL||"debug",stream:iL(u,{path:Kh.HOME_DIR,maxFiles:3,interval:"1d",compress:!1,maxSize:"50M"})}):c=!1;let l=await(0,Kh.listPresets)(),h=await G6({jsonPath:Kh.CONFIG_FILE,initialConfig:{providers:t.Providers||t.providers,HOST:i,PORT:s,LOG_FILE:(0,vy.join)((0,xy.homedir)(),".claude-code-router","claude-code-router.log")},logger:c});return await Promise.allSettled(l.map(async p=>await h.registerNamespace(`/preset/${p.name}`,p.config))),await fL(h,t),h.addHook("preHandler",async(p,A)=>new Promise((f,d)=>{let g=E=>{E?d(E):f()};V6(t)(p,A,g).catch(d)})),h.addHook("preHandler",async(p,A)=>{let f=new URL(`http://127.0.0.1${p.url}`);p.pathname=f.pathname,p.pathname.endsWith("/v1/messages")&&p.pathname!=="/v1/messages"&&(p.preset=p.pathname.replace("/v1/messages","").replace("/",""))}),h.addHook("preHandler",async(p,A)=>{if(p.pathname.endsWith("/v1/messages")){let f=[];for(let d of t0.getAllAgents())d.shouldHandle(p,t)&&(f.push(d.name),d.reqHandler(p,t),d.tools.size&&(p.body?.tools?.length||(p.body.tools=[]),p.body.tools.unshift(...Array.from(d.tools.values()).map(g=>({name:g.name,description:g.description,input_schema:g.input_schema})))));f.length&&(p.agents=f)}}),h.addHook("onError",async(p,A,f)=>{kE.emit("onError",p,A,f)}),h.addHook("onSend",(p,A,f,d)=>{if(p.sessionId&&p.pathname.endsWith("/v1/messages")){if(f instanceof ReadableStream){if(p.agents){let D=new AbortController,m=f.pipeThrough(new TE),y,B=-1,I="",C="",b="",w=[],v=[];return d(null,oL(m,async(x,F)=>{try{if(x.event==="content_block_start"&&x?.data?.content_block?.name){let _=p.agents.find(R=>t0.getAgent(R)?.tools.get(x.data.content_block.name));if(_){y=t0.getAgent(_),B=x.data.index,I=x.data.content_block.name,b=x.data.content_block.id;return}}if(B>-1&&x.data.index===B&&x.data?.delta?.type==="input_json_delta"){C+=x.data?.delta?.partial_json;return}if(B>-1&&x.data.index===B&&x.data.type==="content_block_stop"){try{let _=aL.default.parse(C);v.push({type:"tool_use",id:b,name:I,input:_});let R=await y?.tools.get(I)?.handler(_,{req:p,config:t});w.push({tool_use_id:b,type:"tool_result",content:R}),y=void 0,B=-1,I="",C="",b=""}catch(_){console.log(_)}return}if(x.event==="message_delta"&&w.length){p.body.messages.push({role:"assistant",content:v}),p.body.messages.push({role:"user",content:w});let _=await fetch(`http://127.0.0.1:${t.PORT||3456}/v1/messages`,{method:"POST",headers:{"x-api-key":t.APIKEY,"content-type":"application/json"},body:JSON.stringify(p.body)});if(!_.ok)return;let R=_.body.pipeThrough(new TE).getReader();for(;;)try{let{value:S,done:Q}=await R.read();if(Q)break;let k=S;if(["message_start","message_stop"].includes(k.event))continue;if(!F.desiredSize)break;F.enqueue(k)}catch(S){if(S.name==="AbortError"||S.code==="ERR_STREAM_PREMATURE_CLOSE"){D.abort();break}throw S}return}return x}catch(_){if(console.error("Unexpected error in stream processing:",_),_.code==="ERR_STREAM_PREMATURE_CLOSE"){D.abort();return}throw _}}).pipeThrough(new sL))}let[g,E]=f.tee();return(async D=>{let m=D.getReader();try{for(;;){let{done:y,value:B}=await m.read();if(y)break;let I=new TextDecoder().decode(B);if(!I.startsWith("event: message_delta"))continue;let C=I.slice(27);try{let b=JSON.parse(C);y0.put(p.sessionId,b.usage)}catch{}}}catch(y){y.name==="AbortError"||y.code==="ERR_STREAM_PREMATURE_CLOSE"?console.error("Background read stream closed prematurely"):console.error("Error in background stream reading:",y)}finally{m.releaseLock()}})(E),d(null,g)}if(y0.put(p.sessionId,f.usage),typeof f=="object")return f.error?d(f.error,null):d(f,null)}if(typeof f=="object"&&f.error)return d(f.error,null);d(null,f)}),h.addHook("onSend",async(p,A,f)=>(kE.emit("onSend",p,A,f),f)),process.on("uncaughtException",p=>{h.app.log.error("Uncaught exception:",p)}),process.on("unhandledRejection",(p,A)=>{h.app.log.error("Unhandled rejection at:",A,"reason:",p)}),h}async function pL(){let e=await mC();e.app.post("/api/restart",async()=>(setTimeout(async()=>{process.exit(0)},100),{success:!0,message:"Service restart initiated"})),await e.start()}require.main===md&&pL().catch(e=>{console.error("Failed to start server:",e),process.exit(1)});});async function wC(e){try{let{stdout:t}=await BC("npm view @hafez/claude-code-router version"),r=t.trim();return{hasUpdate:gL(r,e)>0,latestVersion:r,changelog:""}}catch(t){return console.error("Error checking for updates:",t),{hasUpdate:!1,latestVersion:e,changelog:""}}}async function IC(){try{let{stdout:e,stderr:t}=await BC("npm update -g @hafez/claude-code-router");return t&&console.error("Update stderr:",t),console.log("Update stdout:",e),{success:!0,message:"Update completed successfully. Please restart the application to apply changes."}}catch(e){return console.error("Error performing update:",e),{success:!1,message:`Failed to perform update: ${e instanceof Error?e.message:"Unknown error"}`}}}function gL(e,t){let r=e.split(".").map(Number),n=t.split(".").map(Number);for(let i=0;i<Math.max(r.length,n.length);i++){let o=i<r.length?r[i]:0,s=i<n.length?n[i]:0;if(o>s)return 1;if(o<s)return-1}return 0}var DC,CC,BC,bC=or(()=>{"use strict";DC=require("child_process"),CC=require("util"),BC=(0,CC.promisify)(DC.exec)});var zc,yd=or(()=>{zc="2.0.0"});var Cd=Ct(Dd=>{"use strict";Object.defineProperty(Dd,"__esModule",{value:!0});var xC=require("child_process"),mL=1024*1024,vC={exec(e,t){let r={maxBuffer:2*mL,windowsHide:!0};(0,xC.exec)(e,r,t)},spawn(e,t,r){return(0,xC.spawn)(e,t,r)},stripLine(e,t){let r=0;for(;t-- >0;){let n=e.indexOf(`
871
+ Your response should consistently follow this rule whenever image-related analysis is requested.`});let r=e.body.messages.filter(i=>i.role==="user"&&Array.isArray(i.content)&&i.content.some(o=>o.type==="image"||Array.isArray(o.content)&&o.content.some(s=>s.type==="image"))),n=1;r.forEach(i=>{Array.isArray(i.content)&&i.content.forEach(o=>{o.type==="image"?(Xl.storeImage(`${e.id}_Image#${n}`,o.source),o.type="text",delete o.source,o.text=`[Image #${n}]This is an image, if you need to view or analyze it, you need to extract the imageId`,n++):o.type==="text"&&o.text.includes("[Image #")?o.text=o.text.replace(/\[Image #\d+\]/g,""):o.type==="tool_result"&&Array.isArray(o.content)&&o.content.some(s=>s.type==="image")&&(Xl.storeImage(`${e.id}_Image#${n}`,o.content[0].source),o.content=`[Image #${n}]This is an image, if you need to view or analyze it, you need to extract the imageId`,n++)})})}},cL=new lL,AL=class{agents=new Map;registerAgent(e){this.agents.set(e.name,e)}getAgent(e){return this.agents.get(e)}getAllAgents(){return Array.from(this.agents.values())}getAllTools(){let e=[];for(let t of this.agents.values())e.push(...t.tools.values());return e}},EC=new AL;EC.registerAgent(cL);var t0=EC,hL=require("node:events"),kE=new hL.EventEmitter;async function dL(){let e=(0,xy.homedir)(),t=(0,vy.join)(e,".claude.json");if(!(0,QR.existsSync)(t)){let r={numStartups:184,autoUpdaterStatus:"enabled",userID:Array.from({length:64},()=>Math.random().toString(16)[2]).join(""),hasCompletedOnboarding:!0,lastOnboardingVersion:"1.0.17",projects:{}};await(0,RR.writeFile)(t,JSON.stringify(r,null,2))}}async function fL(e,t){let r=t.plugins||t.Plugins||[];for(let n of r){let{name:i,enabled:o=!1,options:s={}}=n;switch(i){case"token-speed":D0.registerPlugin(pC,{enabled:o,outputHandlers:[{type:"temp-file",enabled:!0}],...s});break;default:console.warn(`Unknown plugin: ${i}`);break}}await D0.enablePlugins(e)}async function mC(e={}){await dL(),await td();let t=await Fy(),r=t.Providers||t.providers||[],n=r&&r.length>0,i=t.HOST||"127.0.0.1";n?(i=t.HOST,t.APIKEY||(i="127.0.0.1")):(i="0.0.0.0",console.log("\u2139\uFE0F No providers configured. Listening on 0.0.0.0 without authentication."));let o=t.PORT||3456,s=process.env.SERVICE_PORT?parseInt(process.env.SERVICE_PORT):o,a=p=>(p>9?"":"0")+p,u=(p,A)=>{let f;p?typeof p=="number"?f=new Date(p):f=p:f=new Date;let d=f.getFullYear()+""+a(f.getMonth()+1),g=a(f.getDate()),E=a(f.getHours()),D=a(f.getMinutes());return`./logs/ccr-${d}${g}${E}${D}${a(f.getSeconds())}${A?`_${A}`:""}.log`},c;e.logger!==void 0?c=e.logger:t.LOG!==!1?(t.LOG===void 0&&(t.LOG=!0),c={level:t.LOG_LEVEL||"debug",stream:iL(u,{path:Kh.HOME_DIR,maxFiles:3,interval:"1d",compress:!1,maxSize:"50M"})}):c=!1;let l=await(0,Kh.listPresets)(),h=await G6({jsonPath:Kh.CONFIG_FILE,initialConfig:{providers:t.Providers||t.providers,HOST:i,PORT:s,LOG_FILE:(0,vy.join)((0,xy.homedir)(),".claude-code-router","claude-code-router.log")},logger:c});return await Promise.allSettled(l.map(async p=>await h.registerNamespace(`/preset/${p.name}`,p.config))),await fL(h,t),h.addHook("preHandler",async(p,A)=>new Promise((f,d)=>{let g=E=>{E?d(E):f()};V6(t)(p,A,g).catch(d)})),h.addHook("preHandler",async(p,A)=>{let f=new URL(`http://127.0.0.1${p.url}`);p.pathname=f.pathname,p.pathname.endsWith("/v1/messages")&&p.pathname!=="/v1/messages"&&(p.preset=p.pathname.replace("/v1/messages","").replace("/",""))}),h.addHook("preHandler",async(p,A)=>{if(p.pathname.endsWith("/v1/messages")){let f=[];for(let d of t0.getAllAgents())d.shouldHandle(p,t)&&(f.push(d.name),d.reqHandler(p,t),d.tools.size&&(p.body?.tools?.length||(p.body.tools=[]),p.body.tools.unshift(...Array.from(d.tools.values()).map(g=>({name:g.name,description:g.description,input_schema:g.input_schema})))));f.length&&(p.agents=f)}}),h.addHook("onError",async(p,A,f)=>{kE.emit("onError",p,A,f)}),h.addHook("onSend",(p,A,f,d)=>{if(p.sessionId&&p.pathname.endsWith("/v1/messages")){if(f instanceof ReadableStream){if(p.agents){let D=new AbortController,m=f.pipeThrough(new TE),y,B=-1,I="",C="",b="",w=[],v=[];return d(null,oL(m,async(x,F)=>{try{if(x.event==="content_block_start"&&x?.data?.content_block?.name){let _=p.agents.find(R=>t0.getAgent(R)?.tools.get(x.data.content_block.name));if(_){y=t0.getAgent(_),B=x.data.index,I=x.data.content_block.name,b=x.data.content_block.id;return}}if(B>-1&&x.data.index===B&&x.data?.delta?.type==="input_json_delta"){C+=x.data?.delta?.partial_json;return}if(B>-1&&x.data.index===B&&x.data.type==="content_block_stop"){try{let _=aL.default.parse(C);v.push({type:"tool_use",id:b,name:I,input:_});let R=await y?.tools.get(I)?.handler(_,{req:p,config:t});w.push({tool_use_id:b,type:"tool_result",content:R}),y=void 0,B=-1,I="",C="",b=""}catch(_){console.log(_)}return}if(x.event==="message_delta"&&w.length){p.body.messages.push({role:"assistant",content:v}),p.body.messages.push({role:"user",content:w});let _=await fetch(`http://127.0.0.1:${t.PORT||3456}/v1/messages`,{method:"POST",headers:{"x-api-key":t.APIKEY,"content-type":"application/json"},body:JSON.stringify(p.body)});if(!_.ok)return;let R=_.body.pipeThrough(new TE).getReader();for(;;)try{let{value:S,done:Q}=await R.read();if(Q)break;let k=S;if(["message_start","message_stop"].includes(k.event))continue;if(!F.desiredSize)break;F.enqueue(k)}catch(S){if(S.name==="AbortError"||S.code==="ERR_STREAM_PREMATURE_CLOSE"){D.abort();break}throw S}return}return x}catch(_){if(console.error("Unexpected error in stream processing:",_),_.code==="ERR_STREAM_PREMATURE_CLOSE"){D.abort();return}throw _}}).pipeThrough(new sL))}let[g,E]=f.tee();return(async D=>{let m=D.getReader();try{for(;;){let{done:y,value:B}=await m.read();if(y)break;let I=new TextDecoder().decode(B);if(!I.startsWith("event: message_delta"))continue;let C=I.slice(27);try{let b=JSON.parse(C);y0.put(p.sessionId,b.usage)}catch{}}}catch(y){y.name==="AbortError"||y.code==="ERR_STREAM_PREMATURE_CLOSE"?console.error("Background read stream closed prematurely"):console.error("Error in background stream reading:",y)}finally{m.releaseLock()}})(E),d(null,g)}if(y0.put(p.sessionId,f.usage),typeof f=="object")return f.error?d(f.error,null):d(f,null)}if(typeof f=="object"&&f.error)return d(f.error,null);d(null,f)}),h.addHook("onSend",async(p,A,f)=>(kE.emit("onSend",p,A,f),f)),process.on("uncaughtException",p=>{h.app.log.error("Uncaught exception:",p)}),process.on("unhandledRejection",(p,A)=>{h.app.log.error("Unhandled rejection at:",A,"reason:",p)}),h}async function pL(){let e=await mC();e.app.post("/api/restart",async()=>(setTimeout(async()=>{process.exit(0)},100),{success:!0,message:"Service restart initiated"})),await e.start()}require.main===md&&pL().catch(e=>{console.error("Failed to start server:",e),process.exit(1)});});async function wC(e){try{let{stdout:t}=await BC("npm view @hafez/claude-code-router version"),r=t.trim();return{hasUpdate:gL(r,e)>0,latestVersion:r,changelog:""}}catch(t){return console.error("Error checking for updates:",t),{hasUpdate:!1,latestVersion:e,changelog:""}}}async function IC(){try{let{stdout:e,stderr:t}=await BC("npm update -g @hafez/claude-code-router");return t&&console.error("Update stderr:",t),console.log("Update stdout:",e),{success:!0,message:"Update completed successfully. Please restart the application to apply changes."}}catch(e){return console.error("Error performing update:",e),{success:!1,message:`Failed to perform update: ${e instanceof Error?e.message:"Unknown error"}`}}}function gL(e,t){let r=e.split(".").map(Number),n=t.split(".").map(Number);for(let i=0;i<Math.max(r.length,n.length);i++){let o=i<r.length?r[i]:0,s=i<n.length?n[i]:0;if(o>s)return 1;if(o<s)return-1}return 0}var DC,CC,BC,bC=or(()=>{"use strict";DC=require("child_process"),CC=require("util"),BC=(0,CC.promisify)(DC.exec)});var zc,yd=or(()=>{zc="2.0.2"});var Cd=Ct(Dd=>{"use strict";Object.defineProperty(Dd,"__esModule",{value:!0});var xC=require("child_process"),mL=1024*1024,vC={exec(e,t){let r={maxBuffer:2*mL,windowsHide:!0};(0,xC.exec)(e,r,t)},spawn(e,t,r){return(0,xC.spawn)(e,t,r)},stripLine(e,t){let r=0;for(;t-- >0;){let n=e.indexOf(`
872
872
  `,r);n>=0&&(r=n+1)}return r>0?e.substring(r):e},split(e,t){let r=e.trim().split(/\s+/);return r.length>t&&(r[t-1]=r.slice(t-1).join(" ")),r},extractColumns(e,t,r){let n=e.split(/(\r\n|\n|\r)/),i=[];return r||(r=Math.max.apply(null,t)+1),n.forEach(o=>{let s=vC.split(o,r),a=[];t.forEach(u=>{a.push(s[u]||"")}),i.push(a)}),i},parseTable(e){let t=e.split(/(\r\n\r\n|\r\n\n|\n\r\n|\n\n)/).filter(r=>r&&r.trim().length>0).map(r=>r.split(/(\r\n|\n|\r)/).filter(n=>n.trim().length>0));return t.forEach(r=>{for(let n=0;r[n];){let i=r[n];i.startsWith(" ")?(r[n-1]+=i.trimLeft(),r.splice(n,1)):n+=1}}),t.map(r=>{let n={};return r.forEach(i=>{let o=i.indexOf(":"),s=i.slice(0,o).trim();n[s]=i.slice(o+1).trim()}),n})}};Dd.default=vC});var SC=Ct((FC,Wc)=>{(function(e,t){"use strict";typeof define=="function"&&define.amd?define(t):typeof Wc=="object"&&Wc.exports?Wc.exports=t():e.log=t()})(FC,function(){"use strict";var e=function(){},t="undefined",r=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),n=["trace","debug","info","warn","error"],i={},o=null;function s(f,d){var g=f[d];if(typeof g.bind=="function")return g.bind(f);try{return Function.prototype.bind.call(g,f)}catch{return function(){return Function.prototype.apply.apply(g,[f,arguments])}}}function a(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function u(f){return f==="debug"&&(f="log"),typeof console===t?!1:f==="trace"&&r?a:console[f]!==void 0?s(console,f):console.log!==void 0?s(console,"log"):e}function c(){for(var f=this.getLevel(),d=0;d<n.length;d++){var g=n[d];this[g]=d<f?e:this.methodFactory(g,f,this.name)}if(this.log=this.debug,typeof console===t&&f<this.levels.SILENT)return"No console available for logging"}function l(f){return function(){typeof console!==t&&(c.call(this),this[f].apply(this,arguments))}}function h(f,d,g){return u(f)||l.apply(this,arguments)}function p(f,d){var g=this,E,D,m,y="loglevel";typeof f=="string"?y+=":"+f:typeof f=="symbol"&&(y=void 0);function B(v){var x=(n[v]||"silent").toUpperCase();if(!(typeof window===t||!y)){try{window.localStorage[y]=x;return}catch{}try{window.document.cookie=encodeURIComponent(y)+"="+x+";"}catch{}}}function I(){var v;if(!(typeof window===t||!y)){try{v=window.localStorage[y]}catch{}if(typeof v===t)try{var x=window.document.cookie,F=encodeURIComponent(y),_=x.indexOf(F+"=");_!==-1&&(v=/^([^;]+)/.exec(x.slice(_+F.length+1))[1])}catch{}return g.levels[v]===void 0&&(v=void 0),v}}function C(){if(!(typeof window===t||!y)){try{window.localStorage.removeItem(y)}catch{}try{window.document.cookie=encodeURIComponent(y)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch{}}}function b(v){var x=v;if(typeof x=="string"&&g.levels[x.toUpperCase()]!==void 0&&(x=g.levels[x.toUpperCase()]),typeof x=="number"&&x>=0&&x<=g.levels.SILENT)return x;throw new TypeError("log.setLevel() called with invalid level: "+v)}g.name=f,g.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},g.methodFactory=d||h,g.getLevel=function(){return m??D??E},g.setLevel=function(v,x){return m=b(v),x!==!1&&B(m),c.call(g)},g.setDefaultLevel=function(v){D=b(v),I()||g.setLevel(v,!1)},g.resetLevel=function(){m=null,C(),c.call(g)},g.enableAll=function(v){g.setLevel(g.levels.TRACE,v)},g.disableAll=function(v){g.setLevel(g.levels.SILENT,v)},g.rebuild=function(){if(o!==g&&(E=b(o.getLevel())),c.call(g),o===g)for(var v in i)i[v].rebuild()},E=b(o?o.getLevel():"WARN");var w=I();w!=null&&(m=b(w)),c.call(g)}o=new p,o.getLogger=function(d){if(typeof d!="symbol"&&typeof d!="string"||d==="")throw new TypeError("You must supply a name when creating a logger.");var g=i[d];return g||(g=i[d]=new p(d,o.methodFactory)),g};var A=typeof window!==t?window.log:void 0;return o.noConflict=function(){return typeof window!==t&&window.log===o&&(window.log=A),o},o.getLoggers=function(){return i},o.default=o,o})});var Bd=Ct(ju=>{"use strict";var yL=ju&&ju.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(ju,"__esModule",{value:!0});var DL=yL(SC());ju.default=DL.default});var RC=Ct(_i=>{"use strict";var CL=_i&&_i.__createBinding||(Object.create?(function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}):(function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]})),BL=_i&&_i.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),_C=_i&&_i.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(r){var n=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[n.length]=i);return n},e(t)};return function(t){if(t&&t.__esModule)return t;var r={};if(t!=null)for(var n=e(t),i=0;i<n.length;i++)n[i]!=="default"&&CL(r,t,n[i]);return BL(r,t),r}})(),QC=_i&&_i.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(_i,"__esModule",{value:!0});var wL=_C(require("os")),Zc=_C(require("fs")),Wn=QC(Cd()),IL=QC(Bd()),bL=e=>new Promise((t,r)=>{Zc.existsSync(e)?t():Zc.mkdir(e,n=>{n?r(n):t()})}),ya={darwin(e){return new Promise((t,r)=>{Wn.default.exec("netstat -anv -p TCP && netstat -anv -p UDP",function(n,i,o){if(n)r(n);else{let s=o.toString().trim();if(s){r(new Error(s));return}let a=Wn.default.stripLine(i.toString(),1),u=a.slice(0,a.indexOf(`
873
873
  `)),c=Wn.default.stripLine(a,1),l=u.indexOf("rxbytes")>=0?10:8,h=Wn.default.extractColumns(c,[0,3,l],10).filter(p=>!!String(p[0]).match(/^(udp|tcp)/)).find(p=>{let A=String(p[1]).match(/\.(\d+)$/);return!!(A&&A[1]===String(e))});h&&h[2].length?t(parseInt(h[2],10)):r(new Error(`pid of port (${e}) not found`))}})})},linux(e){return new Promise((t,r)=>{Wn.default.exec("netstat -tunlp",function(i,o,s){if(i)r(i);else{let a=s.toString().trim();a&&IL.default.warn(a);let u=Wn.default.stripLine(o.toString(),2),c=Wn.default.extractColumns(u,[3,6],7).find(l=>{let h=String(l[0]).match(/:(\d+)$/);return!!(h&&h[1]===String(e))});if(c&&c[1]){let l=c[1].split("/",1)[0];l.length?t(parseInt(l,10)):r(new Error(`pid of port (${e}) not found`))}else r(new Error(`pid of port (${e}) not found`))}})})},win32(e){return new Promise((t,r)=>{Wn.default.exec("netstat -ano",function(n,i,o){if(n)r(n);else{let s=o.toString().trim();if(s){r(new Error(s));return}let a=Wn.default.stripLine(i.toString(),4),u=Wn.default.extractColumns(a,[1,4],5).find(c=>{let l=String(c[0]).match(/:(\d+)$/);return!!(l&&l[1]===String(e))});u&&u[1].length&&parseInt(u[1],10)>0?t(parseInt(u[1],10)):r(new Error(`pid of port (${e}) not found`))}})})},android(e){return new Promise((t,r)=>{let n=wL.tmpdir()+"/.find-process",i=n+"/"+process.pid,o='netstat -tunp >> "'+i+'"';bL(n).then(()=>{Wn.default.exec(o,()=>{Zc.readFile(i,"utf8",(s,a)=>{if(Zc.unlink(i,()=>{}),s)r(s);else{a=Wn.default.stripLine(a,2);let u=Wn.default.extractColumns(a,[3,6],7).find(c=>{let l=String(c[0]).match(/:(\d+)$/);return!!(l&&l[1]===String(e))});if(u&&u[1]){let c=u[1].split("/",1)[0];c.length?t(parseInt(c,10)):r(new Error(`pid of port (${e}) not found`))}else r(new Error(`pid of port (${e}) not found`))}})})})})}};ya.freebsd=ya.darwin;ya.sunos=ya.darwin;function xL(e){let t=process.platform;return new Promise((r,n)=>{if(!(t in ya))return n(new Error(`platform ${t} is unsupported`));let i=ya[t];i(e).then(r,n)})}_i.default=xL});var kC=Ct(Qi=>{"use strict";var vL=Qi&&Qi.__createBinding||(Object.create?(function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}):(function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]})),FL=Qi&&Qi.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),SL=Qi&&Qi.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(r){var n=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[n.length]=i);return n},e(t)};return function(t){if(t&&t.__esModule)return t;var r={};if(t!=null)for(var n=e(t),i=0;i<n.length;i++)n[i]!=="default"&&vL(r,t,n[i]);return FL(r,t),r}})(),_L=Qi&&Qi.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Qi,"__esModule",{value:!0});var Kc=SL(require("path")),Hs=_L(Cd());function wd(e,t){return t?e&&e.match?e.match(t)!==null:!1:!0}function NC(e){let t=e.split(Kc.sep),r=t[t.length-1];r&&(t[t.length-1]=r.split(" ")[0]);let n=[];for(let i of t){let o=i.indexOf(" -");if(o>=0){n.push(i.substring(0,o).trim());break}else if(i.endsWith(" ")){n.push(i.trim());break}n.push(i)}return n.join(Kc.sep)}function TC(e){if(process.platform==="darwin"){let t=e.indexOf(".app/");if(t>=0)return Kc.basename(e.substring(0,t))}return Kc.basename(e)}var Bo={darwin(e){return new Promise((t,r)=>{let n;"pid"in e&&e.pid!==void 0?n=`ps -p ${e.pid} -ww -o pid,ppid,uid,gid,args`:n="ps ax -ww -o pid,ppid,uid,gid,args",Hs.default.exec(n,function(i,o,s){if(i)"pid"in e&&e.pid!==void 0?t([]):r(i);else{let a=s.toString().trim();if(a){r(new Error(a));return}let u=Hs.default.stripLine(o.toString(),1),l=Hs.default.extractColumns(u,[0,1,2,3,4],5).filter(h=>h[0]&&e.pid!==void 0?h[0]===String(e.pid):h[4]&&e.name?wd(h[4],e.name):!!h[0]).map(h=>{let p=String(h[4]),A=NC(p);return{pid:parseInt(h[0],10),ppid:parseInt(h[1],10),uid:parseInt(h[2],10),gid:parseInt(h[3],10),name:TC(A),bin:A,cmd:h[4]}});e.config.strict&&e.name&&(l=l.filter(h=>h.name===e.name)),t(l)}})})},win32(e){return new Promise((t,r)=>{let n="[Console]::OutputEncoding = [System.Text.Encoding]::UTF8; Get-CimInstance -className win32_process | select Name,ProcessId,ParentProcessId,CommandLine,ExecutablePath",i=[],o=Hs.default.spawn("powershell.exe",["/c",n],{detached:!1,windowsHide:!0});o.stdout.on("data",s=>{i.push(s.toString())}),o.on("error",s=>{r(new Error("Command '"+n+"' failed with reason: "+s.toString()))}),o.on("close",s=>{if(s!==0)return r(new Error("Command '"+n+"' terminated with code: "+s));let a=Hs.default.parseTable(i.join("")).filter(u=>{if(e.pid!==void 0)return u.ProcessId===String(e.pid);if(e.name){let c=u.Name||"";return e.config.strict?c===e.name||c.endsWith(".exe")&&c.slice(0,-4)===e.name:wd(u.CommandLine||c,e.name)}else return!0}).map(u=>({pid:parseInt(u.ProcessId,10),ppid:parseInt(u.ParentProcessId,10),bin:u.ExecutablePath,name:u.Name||"",cmd:u.CommandLine}));t(a)})})},android(e){return new Promise((t,r)=>{Hs.default.exec("ps",function(i,o,s){if(i)e.pid!==void 0?t([]):r(i);else{let a=s.toString().trim();if(a){r(new Error(a));return}let u=Hs.default.stripLine(o.toString(),1),l=Hs.default.extractColumns(u,[0,3],4).filter(h=>h[0]&&e.pid!==void 0?h[0]===String(e.pid):h[1]&&e.name?wd(h[1],e.name):!!h[0]).map(h=>{let p=String(h[1]),A=NC(p);return{pid:parseInt(h[0],10),ppid:0,name:TC(A),bin:A,cmd:h[1]}});e.config.strict&&e.name&&(l=l.filter(h=>h.name===e.name)),t(l)}})})}};Bo.linux=Bo.darwin;Bo.sunos=Bo.darwin;Bo.freebsd=Bo.darwin;function QL(e){let t=process.platform,r=Bo[t];return r?r(e):Promise.reject(new Error(`Platform "${t}" is not supported`))}Qi.default=QL});var LC=Ct(Gu=>{"use strict";var bd=Gu&&Gu.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Gu,"__esModule",{value:!0});var RL=bd(RC()),OC=bd(kC()),NL=bd(Bd()),Id={port(e,t){return(0,RL.default)(e).then(r=>Id.pid(r,t),()=>[])},pid(e,t){return(0,OC.default)({pid:e,config:t})},name(e,t){return(0,OC.default)({name:e,config:t,skipSelf:!0})}};function TL(e,t,r){let n=Object.assign({logLevel:"warn",strict:typeof r=="boolean"?r:!1},typeof r=="object"?r:{});return n.logLevel&&NL.default.setLevel(n.logLevel),new Promise((i,o)=>{if(!(e in Id))o(new Error(`do not support find by "${e}"`));else{let s=/^\d+$/.test(String(t));e==="pid"&&!s?o(new Error("pid must be a number")):e==="port"&&!s?o(new Error("port must be a number")):Id[e](t,n).then(i,o)}})}Gu.default=TL});var UC=Ct(PC=>{"use strict";Object.defineProperty(PC,"__esModule",{value:!0})});var MC=Ct(Ri=>{"use strict";var kL=Ri&&Ri.__createBinding||(Object.create?(function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}):(function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]})),OL=Ri&&Ri.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&kL(t,e,r)},LL=Ri&&Ri.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Ri,"__esModule",{value:!0});Ri.default=void 0;var PL=LC();Object.defineProperty(Ri,"default",{enumerable:!0,get:function(){return LL(PL).default}});OL(UC(),Ri)});function HC(){let e=0;(0,vn.existsSync)(pn.REFERENCE_COUNT_FILE)&&(e=parseInt((0,vn.readFileSync)(pn.REFERENCE_COUNT_FILE,"utf-8"))||0),e++,(0,vn.writeFileSync)(pn.REFERENCE_COUNT_FILE,e.toString())}function xd(){let e=0;(0,vn.existsSync)(pn.REFERENCE_COUNT_FILE)&&(e=parseInt((0,vn.readFileSync)(pn.REFERENCE_COUNT_FILE,"utf-8"))||0),e=Math.max(0,e-1),(0,vn.writeFileSync)(pn.REFERENCE_COUNT_FILE,e.toString())}function jC(){return(0,vn.existsSync)(pn.REFERENCE_COUNT_FILE)&&parseInt((0,vn.readFileSync)(pn.REFERENCE_COUNT_FILE,"utf-8"))||0}function wo(){if(!(0,vn.existsSync)(pn.PID_FILE))return!1;let e;try{let t=(0,vn.readFileSync)(pn.PID_FILE,"utf-8");if(e=parseInt(t,10),isNaN(e))return fs(),!1}catch{return!1}try{if(process.platform==="win32"){let t=`tasklist /FI "PID eq ${e}"`;return(0,$C.execSync)(t,{stdio:"pipe"}).toString().includes(e.toString())?!0:(fs(),!1)}else return process.kill(e,0),!0}catch{return fs(),!1}}function fs(){if((0,vn.existsSync)(pn.PID_FILE))try{require("fs").unlinkSync(pn.PID_FILE)}catch{}}function GC(){if(!(0,vn.existsSync)(pn.PID_FILE))return null;try{let e=parseInt((0,vn.readFileSync)(pn.PID_FILE,"utf-8"));return isNaN(e)?null:e}catch{return null}}async function Xc(){let e=GC(),t=await wo(),n=(await Zn()).PORT||3456;return{running:t,pid:e,port:n,endpoint:`http://127.0.0.1:${n}`,pidFile:pn.PID_FILE,referenceCount:jC()}}async function VC(){if(jC()===0){let t=GC();if(t&&await wo())try{process.kill(t,"SIGTERM")}catch{}}}var vn,pn,UL,$C,Vu=or(()=>{"use strict";vn=require("fs"),pn=Mt(ti());js();UL=Mt(MC()),$C=require("child_process")});var XC={};kl(XC,{backupConfigFile:()=>ZC,getSettingsPath:()=>Qd,initConfig:()=>ML,initDir:()=>WC,readConfigFile:()=>Zn,restartService:()=>_d,run:()=>Sd,writeConfigFile:()=>KC});var Mn,qC,Gs,YC,JC,Qr,zC,Da,Fd,vd,qu,WC,Zn,ZC,KC,ML,Sd,_d,Qd,js=or(()=>{"use strict";Mn=Mt(require("node:fs/promises")),qC=Mt(Ml()),Gs=Mt(require("node:path")),YC=require("node:crypto"),JC=Mt(require("node:os")),Qr=Mt(ti()),zC=Mt(yC()),Da=require("fs");bC();yd();Fd=require("child_process");Vu();vd=e=>{if(typeof e=="string")return e.replace(/\$\{([^}]+)\}|\$([A-Z_][A-Z0-9_]*)/g,(t,r,n)=>{let i=r||n;return process.env[i]||t});if(Array.isArray(e))return e.map(vd);if(e!==null&&typeof e=="object"){let t={};for(let[r,n]of Object.entries(e))t[r]=vd(n);return t}return e},qu=async e=>{try{await Mn.default.access(e)}catch{await Mn.default.mkdir(e,{recursive:!0})}},WC=async()=>{await qu(Qr.HOME_DIR),await qu(Qr.PLUGINS_DIR),await qu(Qr.PRESETS_DIR),await qu(Gs.default.join(Qr.HOME_DIR,"logs"))},Zn=async()=>{try{let e=await Mn.default.readFile(Qr.CONFIG_FILE,"utf-8");try{let t=qC.default.parse(e);return vd(t)}catch(t){console.error(`Failed to parse config file at ${Qr.CONFIG_FILE}`),console.error("Error details:",t.message),console.error("Please check your config file syntax."),process.exit(1)}}catch(e){if(e.code==="ENOENT")try{await WC();let t=await ZC();t&&console.log(`Backed up existing configuration file to ${t}`);let r={PORT:3456,Providers:[],Router:{}};return await KC(r),console.log("Created minimal default configuration file at ~/.claude-code-router/config.json"),console.log("Please edit this file with your actual configuration."),r}catch(t){console.error("Failed to create default configuration:",t.message),process.exit(1)}else console.error(`Failed to read config file at ${Qr.CONFIG_FILE}`),console.error("Error details:",e.message),process.exit(1)}},ZC=async()=>{try{if(await Mn.default.access(Qr.CONFIG_FILE).then(()=>!0).catch(()=>!1)){let e=new Date().toISOString().replace(/[:.]/g,"-"),t=`${Qr.CONFIG_FILE}.${e}.bak`;await Mn.default.copyFile(Qr.CONFIG_FILE,t);try{let r=Gs.default.dirname(Qr.CONFIG_FILE),n=Gs.default.basename(Qr.CONFIG_FILE),o=(await Mn.default.readdir(r)).filter(s=>s.startsWith(n)&&s.endsWith(".bak")).sort().reverse();if(o.length>3)for(let s=3;s<o.length;s++){let a=Gs.default.join(r,o[s]);await Mn.default.unlink(a)}}catch(r){console.warn("Failed to clean up old backups:",r)}return t}}catch(e){console.error("Failed to backup config file:",e)}return null},KC=async e=>{await qu(Qr.HOME_DIR);let t=`${JSON.stringify(e,null,2)}`;await Mn.default.writeFile(Qr.CONFIG_FILE,t)},ML=async()=>{let e=await Zn();return Object.assign(process.env,e),e},Sd=async(e=[])=>{if(wo()){console.log("claude-code-router server is running");return}let r=await(0,zC.getServer)(),n=r.app;(0,Da.writeFileSync)(Qr.PID_FILE,process.pid.toString()),n.post("/api/update/perform",async()=>await IC()),n.get("/api/update/check",async()=>await wC(zc)),n.post("/api/restart",async()=>(setTimeout(async()=>{(0,Fd.spawn)("ccr",["restart"],{detached:!0,stdio:"ignore"}).unref()},100),{success:!0,message:"Service restart initiated"})),await r.start()},_d=async()=>{try{let r=parseInt((0,Da.readFileSync)(Qr.PID_FILE,"utf-8"));if(process.kill(r),fs(),(0,Da.existsSync)(Qr.REFERENCE_COUNT_FILE))try{await Mn.default.unlink(Qr.REFERENCE_COUNT_FILE)}catch{}console.log("claude code router service has been stopped.")}catch{console.log("Service was not running or failed to stop."),fs()}console.log("Starting claude code router service...");let e=Gs.default.join(__dirname,"cli.js"),t=(0,Fd.spawn)("node",[e,"start"],{detached:!0,stdio:"ignore"});t.on("error",r=>{throw console.error("Failed to start service:",r),r}),t.unref(),console.log("\u2705 Service started successfully in the background.")},Qd=async e=>{let t=(0,YC.createHash)("sha256").update(e,"utf-8").digest("hex"),r=Gs.default.join(JC.default.tmpdir(),"claude-code-router"),n=`ccr-settings-${t}.json`,i=Gs.default.join(r,n);try{await Mn.default.access(r)}catch{await Mn.default.mkdir(r,{recursive:!0})}try{return await Mn.default.access(i),i}catch{return await Mn.default.writeFile(i,e,"utf-8"),i}}});var rB=Ct((E$,tB)=>{"use strict";tB.exports=function(t){return t.map(function(r){return r===""?"''":r&&typeof r=="object"?r.op.replace(/(.)/g,"\\$1"):/["\s\\]/.test(r)&&!/'/.test(r)?"'"+r.replace(/(['])/g,"\\$1")+"'":/["'\s]/.test(r)?'"'+r.replace(/(["\\$`!])/g,"\\$1")+'"':String(r).replace(/([A-Za-z]:)?([#!"$&'()*,:;<=>?@[\\\]^`{|}])/g,"$1\\$2")}).join(" ")}});var lB=Ct((m$,uB)=>{"use strict";var aB="(?:"+["\\|\\|","\\&\\&",";;","\\|\\&","\\<\\(","\\<\\<\\<",">>",">\\&","<\\&","[&;()|<>]"].join("|")+")",nB=new RegExp("^"+aB+"$"),iB="|&;()<> \\t",$L='"((\\\\"|[^"])*?)"',HL="'((\\\\'|[^'])*?)'",jL=/^#$/,sB="'",oB='"',Rd="$",Io="",GL=4294967296;for(Nd=0;Nd<4;Nd++)Io+=(GL*Math.random()).toString(16);var Nd,VL=new RegExp("^"+Io);function qL(e,t){for(var r=t.lastIndex,n=[],i;i=t.exec(e);)n.push(i),t.lastIndex===i.index&&(t.lastIndex+=1);return t.lastIndex=r,n}function YL(e,t,r){var n=typeof e=="function"?e(r):e[r];return typeof n>"u"&&r!=""?n="":typeof n>"u"&&(n="$"),typeof n=="object"?t+Io+JSON.stringify(n)+Io:t+n}function JL(e,t,r){r||(r={});var n=r.escape||"\\",i="(\\"+n+`['"`+iB+`]|[^\\s'"`+iB+"])+",o=new RegExp(["("+aB+")","("+i+"|"+$L+"|"+HL+")+"].join("|"),"g"),s=qL(e,o);if(s.length===0)return[];t||(t={});var a=!1;return s.map(function(u){var c=u[0];if(!c||a)return;if(nB.test(c))return{op:c};var l=!1,h=!1,p="",A=!1,f;function d(){f+=1;var D,m,y=c.charAt(f);if(y==="{"){if(f+=1,c.charAt(f)==="}")throw new Error("Bad substitution: "+c.slice(f-2,f+1));if(D=c.indexOf("}",f),D<0)throw new Error("Bad substitution: "+c.slice(f));m=c.slice(f,D),f=D}else if(/[*@#?$!_-]/.test(y))m=y,f+=1;else{var B=c.slice(f);D=B.match(/[^\w\d_]/),D?(m=B.slice(0,D.index),f+=D.index-1):(m=B,f=c.length)}return YL(t,"",m)}for(f=0;f<c.length;f++){var g=c.charAt(f);if(A=A||!l&&(g==="*"||g==="?"),h)p+=g,h=!1;else if(l)g===l?l=!1:l==sB?p+=g:g===n?(f+=1,g=c.charAt(f),g===oB||g===n||g===Rd?p+=g:p+=n+g):g===Rd?p+=d():p+=g;else if(g===oB||g===sB)l=g;else{if(nB.test(g))return{op:c};if(jL.test(g)){a=!0;var E={comment:e.slice(u.index+f+1)};return p.length?[p,E]:[E]}else g===n?h=!0:g===Rd?p+=d():p+=g}}return A?{op:"glob",pattern:p}:p}).reduce(function(u,c){return typeof c>"u"?u:u.concat(c)},[])}uB.exports=function(t,r,n){var i=JL(t,r,n);return typeof r!="function"?i:i.reduce(function(o,s){if(typeof s=="object")return o.concat(s);var a=s.split(RegExp("("+Io+".*?"+Io+")","g"));return a.length===1?o.concat(a[0]):o.concat(a.filter(Boolean).map(function(u){return VL.test(u)?JSON.parse(u.split(Io)[1]):u}))},[])}});var cB=Ct(Td=>{"use strict";Td.quote=rB();Td.parse=lB()});var Vs,Ca,hB,Ba,rA,Zr,dB=or(()=>{Vs=e=>e.name==="up"||e.name==="k"||e.ctrl&&e.name==="p",Ca=e=>e.name==="down"||e.name==="j"||e.ctrl&&e.name==="n",hB=e=>e.name==="space",Ba=e=>e.name==="backspace",rA=e=>"123456789".includes(e.name),Zr=e=>e.name==="enter"||e.name==="return"});var nA,iA,sA,oA,qs,aA=or(()=>{nA=class extends Error{name="AbortPromptError";message="Prompt was aborted";constructor(t){super(),this.cause=t?.cause}},iA=class extends Error{name="CancelPromptError";message="Prompt was canceled"},sA=class extends Error{name="ExitPromptError"},oA=class extends Error{name="HookError"},qs=class extends Error{name="ValidationError"}});function zL(e){return{rl:e,hooks:[],hooksCleanup:[],hooksEffect:[],index:0,handleChange(){}}}function pB(e,t){let r=zL(e);return fB.run(r,()=>{function n(i){r.handleChange=()=>{r.index=0,i()},r.handleChange()}return t(n)})}function bo(){let e=fB.getStore();if(!e)throw new oA("[Inquirer] Hook functions can only be called from within a prompt");return e}function kd(){return bo().rl}function Od(e){let t=(...r)=>{let n=bo(),i=!1,o=n.handleChange;n.handleChange=()=>{i=!0};let s=e(...r);return i&&o(),n.handleChange=o,s};return uA.AsyncResource.bind(t)}function wa(e){let t=bo(),{index:r}=t,n={get(){return t.hooks[r]},set(o){t.hooks[r]=o},initialized:r in t.hooks},i=e(n);return t.index++,i}function gB(){bo().handleChange()}var uA,fB,xo,vo=or(()=>{uA=require("node:async_hooks");aA();fB=new uA.AsyncLocalStorage;xo={queue(e){let t=bo(),{index:r}=t;t.hooksEffect.push(()=>{t.hooksCleanup[r]?.();let n=e(kd());if(n!=null&&typeof n!="function")throw new qs("useEffect return value must be a cleanup function or nothing.");t.hooksCleanup[r]=n})},run(){let e=bo();Od(()=>{e.hooksEffect.forEach(t=>{t()}),e.hooksEffect.length=0})()},clearAll(){let e=bo();e.hooksCleanup.forEach(t=>{t?.()}),e.hooksEffect.length=0,e.hooksCleanup.length=0}}});function Gt(e){return wa(t=>{let r=i=>{t.get()!==i&&(t.set(i),gB())};if(t.initialized)return[t.get(),r];let n=typeof e=="function"?e():e;return t.set(n),[n,r]})}var lA=or(()=>{vo()});function Ni(e,t){wa(r=>{let n=r.get();(!Array.isArray(n)||t.some((o,s)=>!Object.is(o,n[s])))&&xo.queue(e),r.set(t)})}var cA=or(()=>{vo()});var Ys=Ct((R$,EB)=>{var WL=require("node:tty"),ZL=WL?.WriteStream?.prototype?.hasColors?.()??!1,er=(e,t)=>{if(!ZL)return i=>i;let r=`\x1B[${e}m`,n=`\x1B[${t}m`;return i=>{let o=i+"",s=o.indexOf(n);if(s===-1)return r+o+n;let a=r,u=0,l=(t===22?n:"")+r;for(;s!==-1;)a+=o.slice(u,s)+l,u=s+n.length,s=o.indexOf(n,u);return a+=o.slice(u)+n,a}},Xt={};Xt.reset=er(0,0);Xt.bold=er(1,22);Xt.dim=er(2,22);Xt.italic=er(3,23);Xt.underline=er(4,24);Xt.overline=er(53,55);Xt.inverse=er(7,27);Xt.hidden=er(8,28);Xt.strikethrough=er(9,29);Xt.black=er(30,39);Xt.red=er(31,39);Xt.green=er(32,39);Xt.yellow=er(33,39);Xt.blue=er(34,39);Xt.magenta=er(35,39);Xt.cyan=er(36,39);Xt.white=er(37,39);Xt.gray=er(90,39);Xt.bgBlack=er(40,49);Xt.bgRed=er(41,49);Xt.bgGreen=er(42,49);Xt.bgYellow=er(43,49);Xt.bgBlue=er(44,49);Xt.bgMagenta=er(45,49);Xt.bgCyan=er(46,49);Xt.bgWhite=er(47,49);Xt.bgGray=er(100,49);Xt.redBright=er(91,39);Xt.greenBright=er(92,39);Xt.yellowBright=er(93,39);Xt.blueBright=er(94,39);Xt.magentaBright=er(95,39);Xt.cyanBright=er(96,39);Xt.whiteBright=er(97,39);Xt.bgRedBright=er(101,49);Xt.bgGreenBright=er(102,49);Xt.bgYellowBright=er(103,49);Xt.bgBlueBright=er(104,49);Xt.bgMagentaBright=er(105,49);Xt.bgCyanBright=er(106,49);Xt.bgWhiteBright=er(107,49);EB.exports=Xt});function KL(){return Ti.default.platform!=="win32"?Ti.default.env.TERM!=="linux":!!Ti.default.env.WT_SESSION||!!Ti.default.env.TERMINUS_SUBLIME||Ti.default.env.ConEmuTask==="{cmd::Cmder}"||Ti.default.env.TERM_PROGRAM==="Terminus-Sublime"||Ti.default.env.TERM_PROGRAM==="vscode"||Ti.default.env.TERM==="xterm-256color"||Ti.default.env.TERM==="alacritty"||Ti.default.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var Ti,mB,yB,XL,e8,t8,r8,n8,li,N$,Ia=or(()=>{Ti=Mt(require("node:process"),1);mB={circleQuestionMark:"(?)",questionMarkPrefix:"(?)",square:"\u2588",squareDarkShade:"\u2593",squareMediumShade:"\u2592",squareLightShade:"\u2591",squareTop:"\u2580",squareBottom:"\u2584",squareLeft:"\u258C",squareRight:"\u2590",squareCenter:"\u25A0",bullet:"\u25CF",dot:"\u2024",ellipsis:"\u2026",pointerSmall:"\u203A",triangleUp:"\u25B2",triangleUpSmall:"\u25B4",triangleDown:"\u25BC",triangleDownSmall:"\u25BE",triangleLeftSmall:"\u25C2",triangleRightSmall:"\u25B8",home:"\u2302",heart:"\u2665",musicNote:"\u266A",musicNoteBeamed:"\u266B",arrowUp:"\u2191",arrowDown:"\u2193",arrowLeft:"\u2190",arrowRight:"\u2192",arrowLeftRight:"\u2194",arrowUpDown:"\u2195",almostEqual:"\u2248",notEqual:"\u2260",lessOrEqual:"\u2264",greaterOrEqual:"\u2265",identical:"\u2261",infinity:"\u221E",subscriptZero:"\u2080",subscriptOne:"\u2081",subscriptTwo:"\u2082",subscriptThree:"\u2083",subscriptFour:"\u2084",subscriptFive:"\u2085",subscriptSix:"\u2086",subscriptSeven:"\u2087",subscriptEight:"\u2088",subscriptNine:"\u2089",oneHalf:"\xBD",oneThird:"\u2153",oneQuarter:"\xBC",oneFifth:"\u2155",oneSixth:"\u2159",oneEighth:"\u215B",twoThirds:"\u2154",twoFifths:"\u2156",threeQuarters:"\xBE",threeFifths:"\u2157",threeEighths:"\u215C",fourFifths:"\u2158",fiveSixths:"\u215A",fiveEighths:"\u215D",sevenEighths:"\u215E",line:"\u2500",lineBold:"\u2501",lineDouble:"\u2550",lineDashed0:"\u2504",lineDashed1:"\u2505",lineDashed2:"\u2508",lineDashed3:"\u2509",lineDashed4:"\u254C",lineDashed5:"\u254D",lineDashed6:"\u2574",lineDashed7:"\u2576",lineDashed8:"\u2578",lineDashed9:"\u257A",lineDashed10:"\u257C",lineDashed11:"\u257E",lineDashed12:"\u2212",lineDashed13:"\u2013",lineDashed14:"\u2010",lineDashed15:"\u2043",lineVertical:"\u2502",lineVerticalBold:"\u2503",lineVerticalDouble:"\u2551",lineVerticalDashed0:"\u2506",lineVerticalDashed1:"\u2507",lineVerticalDashed2:"\u250A",lineVerticalDashed3:"\u250B",lineVerticalDashed4:"\u254E",lineVerticalDashed5:"\u254F",lineVerticalDashed6:"\u2575",lineVerticalDashed7:"\u2577",lineVerticalDashed8:"\u2579",lineVerticalDashed9:"\u257B",lineVerticalDashed10:"\u257D",lineVerticalDashed11:"\u257F",lineDownLeft:"\u2510",lineDownLeftArc:"\u256E",lineDownBoldLeftBold:"\u2513",lineDownBoldLeft:"\u2512",lineDownLeftBold:"\u2511",lineDownDoubleLeftDouble:"\u2557",lineDownDoubleLeft:"\u2556",lineDownLeftDouble:"\u2555",lineDownRight:"\u250C",lineDownRightArc:"\u256D",lineDownBoldRightBold:"\u250F",lineDownBoldRight:"\u250E",lineDownRightBold:"\u250D",lineDownDoubleRightDouble:"\u2554",lineDownDoubleRight:"\u2553",lineDownRightDouble:"\u2552",lineUpLeft:"\u2518",lineUpLeftArc:"\u256F",lineUpBoldLeftBold:"\u251B",lineUpBoldLeft:"\u251A",lineUpLeftBold:"\u2519",lineUpDoubleLeftDouble:"\u255D",lineUpDoubleLeft:"\u255C",lineUpLeftDouble:"\u255B",lineUpRight:"\u2514",lineUpRightArc:"\u2570",lineUpBoldRightBold:"\u2517",lineUpBoldRight:"\u2516",lineUpRightBold:"\u2515",lineUpDoubleRightDouble:"\u255A",lineUpDoubleRight:"\u2559",lineUpRightDouble:"\u2558",lineUpDownLeft:"\u2524",lineUpBoldDownBoldLeftBold:"\u252B",lineUpBoldDownBoldLeft:"\u2528",lineUpDownLeftBold:"\u2525",lineUpBoldDownLeftBold:"\u2529",lineUpDownBoldLeftBold:"\u252A",lineUpDownBoldLeft:"\u2527",lineUpBoldDownLeft:"\u2526",lineUpDoubleDownDoubleLeftDouble:"\u2563",lineUpDoubleDownDoubleLeft:"\u2562",lineUpDownLeftDouble:"\u2561",lineUpDownRight:"\u251C",lineUpBoldDownBoldRightBold:"\u2523",lineUpBoldDownBoldRight:"\u2520",lineUpDownRightBold:"\u251D",lineUpBoldDownRightBold:"\u2521",lineUpDownBoldRightBold:"\u2522",lineUpDownBoldRight:"\u251F",lineUpBoldDownRight:"\u251E",lineUpDoubleDownDoubleRightDouble:"\u2560",lineUpDoubleDownDoubleRight:"\u255F",lineUpDownRightDouble:"\u255E",lineDownLeftRight:"\u252C",lineDownBoldLeftBoldRightBold:"\u2533",lineDownLeftBoldRightBold:"\u252F",lineDownBoldLeftRight:"\u2530",lineDownBoldLeftBoldRight:"\u2531",lineDownBoldLeftRightBold:"\u2532",lineDownLeftRightBold:"\u252E",lineDownLeftBoldRight:"\u252D",lineDownDoubleLeftDoubleRightDouble:"\u2566",lineDownDoubleLeftRight:"\u2565",lineDownLeftDoubleRightDouble:"\u2564",lineUpLeftRight:"\u2534",lineUpBoldLeftBoldRightBold:"\u253B",lineUpLeftBoldRightBold:"\u2537",lineUpBoldLeftRight:"\u2538",lineUpBoldLeftBoldRight:"\u2539",lineUpBoldLeftRightBold:"\u253A",lineUpLeftRightBold:"\u2536",lineUpLeftBoldRight:"\u2535",lineUpDoubleLeftDoubleRightDouble:"\u2569",lineUpDoubleLeftRight:"\u2568",lineUpLeftDoubleRightDouble:"\u2567",lineUpDownLeftRight:"\u253C",lineUpBoldDownBoldLeftBoldRightBold:"\u254B",lineUpDownBoldLeftBoldRightBold:"\u2548",lineUpBoldDownLeftBoldRightBold:"\u2547",lineUpBoldDownBoldLeftRightBold:"\u254A",lineUpBoldDownBoldLeftBoldRight:"\u2549",lineUpBoldDownLeftRight:"\u2540",lineUpDownBoldLeftRight:"\u2541",lineUpDownLeftBoldRight:"\u253D",lineUpDownLeftRightBold:"\u253E",lineUpBoldDownBoldLeftRight:"\u2542",lineUpDownLeftBoldRightBold:"\u253F",lineUpBoldDownLeftBoldRight:"\u2543",lineUpBoldDownLeftRightBold:"\u2544",lineUpDownBoldLeftBoldRight:"\u2545",lineUpDownBoldLeftRightBold:"\u2546",lineUpDoubleDownDoubleLeftDoubleRightDouble:"\u256C",lineUpDoubleDownDoubleLeftRight:"\u256B",lineUpDownLeftDoubleRightDouble:"\u256A",lineCross:"\u2573",lineBackslash:"\u2572",lineSlash:"\u2571"},yB={tick:"\u2714",info:"\u2139",warning:"\u26A0",cross:"\u2718",squareSmall:"\u25FB",squareSmallFilled:"\u25FC",circle:"\u25EF",circleFilled:"\u25C9",circleDotted:"\u25CC",circleDouble:"\u25CE",circleCircle:"\u24DE",circleCross:"\u24E7",circlePipe:"\u24BE",radioOn:"\u25C9",radioOff:"\u25EF",checkboxOn:"\u2612",checkboxOff:"\u2610",checkboxCircleOn:"\u24E7",checkboxCircleOff:"\u24BE",pointer:"\u276F",triangleUpOutline:"\u25B3",triangleLeft:"\u25C0",triangleRight:"\u25B6",lozenge:"\u25C6",lozengeOutline:"\u25C7",hamburger:"\u2630",smiley:"\u32E1",mustache:"\u0DF4",star:"\u2605",play:"\u25B6",nodejs:"\u2B22",oneSeventh:"\u2150",oneNinth:"\u2151",oneTenth:"\u2152"},XL={tick:"\u221A",info:"i",warning:"\u203C",cross:"\xD7",squareSmall:"\u25A1",squareSmallFilled:"\u25A0",circle:"( )",circleFilled:"(*)",circleDotted:"( )",circleDouble:"( )",circleCircle:"(\u25CB)",circleCross:"(\xD7)",circlePipe:"(\u2502)",radioOn:"(*)",radioOff:"( )",checkboxOn:"[\xD7]",checkboxOff:"[ ]",checkboxCircleOn:"(\xD7)",checkboxCircleOff:"( )",pointer:">",triangleUpOutline:"\u2206",triangleLeft:"\u25C4",triangleRight:"\u25BA",lozenge:"\u2666",lozengeOutline:"\u25CA",hamburger:"\u2261",smiley:"\u263A",mustache:"\u250C\u2500\u2510",star:"\u2736",play:"\u25BA",nodejs:"\u2666",oneSeventh:"1/7",oneNinth:"1/9",oneTenth:"1/10"},e8={...mB,...yB},t8={...mB,...XL},r8=KL(),n8=r8?e8:t8,li=n8,N$=Object.entries(yB)});var ci,DB,CB=or(()=>{ci=Mt(Ys(),1);Ia();DB={prefix:{idle:ci.default.blue("?"),done:ci.default.green(li.tick)},spinner:{interval:80,frames:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"].map(e=>ci.default.yellow(e))},style:{answer:ci.default.cyan,message:ci.default.bold,error:e=>ci.default.red(`> ${e}`),defaultAnswer:e=>ci.default.dim(`(${e})`),help:ci.default.dim,highlight:ci.default.cyan,key:e=>ci.default.cyan(ci.default.bold(`<${e}>`))}}});function BB(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function wB(...e){let t={};for(let r of e)for(let[n,i]of Object.entries(r)){let o=t[n];t[n]=BB(o)&&BB(i)?wB(o,i):i}return t}function Rr(...e){let t=[DB,...e.filter(r=>r!=null)];return wB(...t)}var Ld=or(()=>{CB()});function Vr({status:e="idle",theme:t}){let[r,n]=Gt(!1),[i,o]=Gt(0),{prefix:s,spinner:a}=Rr(t);return Ni(()=>{if(e==="loading"){let c,l=-1,h=setTimeout(Pd.AsyncResource.bind(()=>{n(!0),c=setInterval(Pd.AsyncResource.bind(()=>{l=l+1,o(l%a.frames.length)}),a.interval)}),300);return()=>{clearTimeout(h),clearInterval(c)}}else n(!1)},[e]),r?a.frames[i]:typeof s=="string"?s:s[e==="loading"?"idle":e]}var Pd,IB=or(()=>{Pd=require("node:async_hooks");lA();cA();Ld()});function Kn(e,t){return wa(r=>{let n=r.get();if(!n||n.dependencies.length!==t.length||n.dependencies.some((i,o)=>i!==t[o])){let i=e();return r.set({value:i,dependencies:t}),i}return n.value})}var bB=or(()=>{vo()});function Ai(e){return Gt({current:e})[0]}var AA=or(()=>{lA()});function qr(e){let t=Ai(e);t.current=e,Ni(r=>{let n=!1,i=Od((o,s)=>{n||t.current(s,r)});return r.input.on("keypress",i),()=>{n=!0,r.input.removeListener("keypress",i)}},[])}var xB=or(()=>{AA();cA();vo()});var FB=Ct((Z$,vB)=>{"use strict";vB.exports=s8;function i8(e){let t={defaultWidth:0,output:process.stdout,tty:require("tty")};return e?(Object.keys(t).forEach(function(r){e[r]||(e[r]=t[r])}),e):t}function s8(e){let t=i8(e);if(t.output.getWindowSize)return t.output.getWindowSize()[0]||t.defaultWidth;if(t.tty.getWindowSize)return t.tty.getWindowSize()[1]||t.defaultWidth;if(t.output.columns)return t.output.columns;if(process.env.CLI_WIDTH){let r=parseInt(process.env.CLI_WIDTH,10);if(!isNaN(r)&&r!==0)return r}return t.defaultWidth}});var _B=Ct((K$,SB)=>{"use strict";SB.exports=({onlyFirst:e=!1}={})=>{let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}});var hA=Ct((X$,QB)=>{"use strict";var o8=_B();QB.exports=e=>typeof e=="string"?e.replace(o8(),""):e});var NB=Ct((eH,Ud)=>{"use strict";var RB=e=>Number.isNaN(e)?!1:e>=4352&&(e<=4447||e===9001||e===9002||11904<=e&&e<=12871&&e!==12351||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141);Ud.exports=RB;Ud.exports.default=RB});var kB=Ct((tH,TB)=>{"use strict";TB.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var LB=Ct((rH,Md)=>{"use strict";var a8=hA(),u8=NB(),l8=kB(),OB=e=>{if(typeof e!="string"||e.length===0||(e=a8(e),e.length===0))return 0;e=e.replace(l8()," ");let t=0;for(let r=0;r<e.length;r++){let n=e.codePointAt(r);n<=31||n>=127&&n<=159||n>=768&&n<=879||(n>65535&&r++,t+=u8(n)?2:1)}return t};Md.exports=OB;Md.exports.default=OB});var UB=Ct((nH,PB)=>{"use strict";PB.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var $d=Ct((iH,$B)=>{var Ju=UB(),MB={};for(let e of Object.keys(Ju))MB[Ju[e]]=e;var kt={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};$B.exports=kt;for(let e of Object.keys(kt)){if(!("channels"in kt[e]))throw new Error("missing channels property: "+e);if(!("labels"in kt[e]))throw new Error("missing channel labels property: "+e);if(kt[e].labels.length!==kt[e].channels)throw new Error("channel and label counts mismatch: "+e);let{channels:t,labels:r}=kt[e];delete kt[e].channels,delete kt[e].labels,Object.defineProperty(kt[e],"channels",{value:t}),Object.defineProperty(kt[e],"labels",{value:r})}kt.rgb.hsl=function(e){let t=e[0]/255,r=e[1]/255,n=e[2]/255,i=Math.min(t,r,n),o=Math.max(t,r,n),s=o-i,a,u;o===i?a=0:t===o?a=(r-n)/s:r===o?a=2+(n-t)/s:n===o&&(a=4+(t-r)/s),a=Math.min(a*60,360),a<0&&(a+=360);let c=(i+o)/2;return o===i?u=0:c<=.5?u=s/(o+i):u=s/(2-o-i),[a,u*100,c*100]};kt.rgb.hsv=function(e){let t,r,n,i,o,s=e[0]/255,a=e[1]/255,u=e[2]/255,c=Math.max(s,a,u),l=c-Math.min(s,a,u),h=function(p){return(c-p)/6/l+1/2};return l===0?(i=0,o=0):(o=l/c,t=h(s),r=h(a),n=h(u),s===c?i=n-r:a===c?i=1/3+t-n:u===c&&(i=2/3+r-t),i<0?i+=1:i>1&&(i-=1)),[i*360,o*100,c*100]};kt.rgb.hwb=function(e){let t=e[0],r=e[1],n=e[2],i=kt.rgb.hsl(e)[0],o=1/255*Math.min(t,Math.min(r,n));return n=1-1/255*Math.max(t,Math.max(r,n)),[i,o*100,n*100]};kt.rgb.cmyk=function(e){let t=e[0]/255,r=e[1]/255,n=e[2]/255,i=Math.min(1-t,1-r,1-n),o=(1-t-i)/(1-i)||0,s=(1-r-i)/(1-i)||0,a=(1-n-i)/(1-i)||0;return[o*100,s*100,a*100,i*100]};function c8(e,t){return(e[0]-t[0])**2+(e[1]-t[1])**2+(e[2]-t[2])**2}kt.rgb.keyword=function(e){let t=MB[e];if(t)return t;let r=1/0,n;for(let i of Object.keys(Ju)){let o=Ju[i],s=c8(e,o);s<r&&(r=s,n=i)}return n};kt.keyword.rgb=function(e){return Ju[e]};kt.rgb.xyz=function(e){let t=e[0]/255,r=e[1]/255,n=e[2]/255;t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92;let i=t*.4124+r*.3576+n*.1805,o=t*.2126+r*.7152+n*.0722,s=t*.0193+r*.1192+n*.9505;return[i*100,o*100,s*100]};kt.rgb.lab=function(e){let t=kt.rgb.xyz(e),r=t[0],n=t[1],i=t[2];r/=95.047,n/=100,i/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let o=116*n-16,s=500*(r-n),a=200*(n-i);return[o,s,a]};kt.hsl.rgb=function(e){let t=e[0]/360,r=e[1]/100,n=e[2]/100,i,o,s;if(r===0)return s=n*255,[s,s,s];n<.5?i=n*(1+r):i=n+r-n*r;let a=2*n-i,u=[0,0,0];for(let c=0;c<3;c++)o=t+1/3*-(c-1),o<0&&o++,o>1&&o--,6*o<1?s=a+(i-a)*6*o:2*o<1?s=i:3*o<2?s=a+(i-a)*(2/3-o)*6:s=a,u[c]=s*255;return u};kt.hsl.hsv=function(e){let t=e[0],r=e[1]/100,n=e[2]/100,i=r,o=Math.max(n,.01);n*=2,r*=n<=1?n:2-n,i*=o<=1?o:2-o;let s=(n+r)/2,a=n===0?2*i/(o+i):2*r/(n+r);return[t,a*100,s*100]};kt.hsv.rgb=function(e){let t=e[0]/60,r=e[1]/100,n=e[2]/100,i=Math.floor(t)%6,o=t-Math.floor(t),s=255*n*(1-r),a=255*n*(1-r*o),u=255*n*(1-r*(1-o));switch(n*=255,i){case 0:return[n,u,s];case 1:return[a,n,s];case 2:return[s,n,u];case 3:return[s,a,n];case 4:return[u,s,n];case 5:return[n,s,a]}};kt.hsv.hsl=function(e){let t=e[0],r=e[1]/100,n=e[2]/100,i=Math.max(n,.01),o,s;s=(2-r)*n;let a=(2-r)*i;return o=r*i,o/=a<=1?a:2-a,o=o||0,s/=2,[t,o*100,s*100]};kt.hwb.rgb=function(e){let t=e[0]/360,r=e[1]/100,n=e[2]/100,i=r+n,o;i>1&&(r/=i,n/=i);let s=Math.floor(6*t),a=1-n;o=6*t-s,(s&1)!==0&&(o=1-o);let u=r+o*(a-r),c,l,h;switch(s){default:case 6:case 0:c=a,l=u,h=r;break;case 1:c=u,l=a,h=r;break;case 2:c=r,l=a,h=u;break;case 3:c=r,l=u,h=a;break;case 4:c=u,l=r,h=a;break;case 5:c=a,l=r,h=u;break}return[c*255,l*255,h*255]};kt.cmyk.rgb=function(e){let t=e[0]/100,r=e[1]/100,n=e[2]/100,i=e[3]/100,o=1-Math.min(1,t*(1-i)+i),s=1-Math.min(1,r*(1-i)+i),a=1-Math.min(1,n*(1-i)+i);return[o*255,s*255,a*255]};kt.xyz.rgb=function(e){let t=e[0]/100,r=e[1]/100,n=e[2]/100,i,o,s;return i=t*3.2406+r*-1.5372+n*-.4986,o=t*-.9689+r*1.8758+n*.0415,s=t*.0557+r*-.204+n*1.057,i=i>.0031308?1.055*i**(1/2.4)-.055:i*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,i=Math.min(Math.max(0,i),1),o=Math.min(Math.max(0,o),1),s=Math.min(Math.max(0,s),1),[i*255,o*255,s*255]};kt.xyz.lab=function(e){let t=e[0],r=e[1],n=e[2];t/=95.047,r/=100,n/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;let i=116*r-16,o=500*(t-r),s=200*(r-n);return[i,o,s]};kt.lab.xyz=function(e){let t=e[0],r=e[1],n=e[2],i,o,s;o=(t+16)/116,i=r/500+o,s=o-n/200;let a=o**3,u=i**3,c=s**3;return o=a>.008856?a:(o-16/116)/7.787,i=u>.008856?u:(i-16/116)/7.787,s=c>.008856?c:(s-16/116)/7.787,i*=95.047,o*=100,s*=108.883,[i,o,s]};kt.lab.lch=function(e){let t=e[0],r=e[1],n=e[2],i;i=Math.atan2(n,r)*360/2/Math.PI,i<0&&(i+=360);let s=Math.sqrt(r*r+n*n);return[t,s,i]};kt.lch.lab=function(e){let t=e[0],r=e[1],i=e[2]/360*2*Math.PI,o=r*Math.cos(i),s=r*Math.sin(i);return[t,o,s]};kt.rgb.ansi16=function(e,t=null){let[r,n,i]=e,o=t===null?kt.rgb.hsv(e)[2]:t;if(o=Math.round(o/50),o===0)return 30;let s=30+(Math.round(i/255)<<2|Math.round(n/255)<<1|Math.round(r/255));return o===2&&(s+=60),s};kt.hsv.ansi16=function(e){return kt.rgb.ansi16(kt.hsv.rgb(e),e[2])};kt.rgb.ansi256=function(e){let t=e[0],r=e[1],n=e[2];return t===r&&r===n?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(n/255*5)};kt.ansi16.rgb=function(e){let t=e%10;if(t===0||t===7)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];let r=(~~(e>50)+1)*.5,n=(t&1)*r*255,i=(t>>1&1)*r*255,o=(t>>2&1)*r*255;return[n,i,o]};kt.ansi256.rgb=function(e){if(e>=232){let o=(e-232)*10+8;return[o,o,o]}e-=16;let t,r=Math.floor(e/36)/5*255,n=Math.floor((t=e%36)/6)/5*255,i=t%6/5*255;return[r,n,i]};kt.rgb.hex=function(e){let r=(((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255)).toString(16).toUpperCase();return"000000".substring(r.length)+r};kt.hex.rgb=function(e){let t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];let r=t[0];t[0].length===3&&(r=r.split("").map(a=>a+a).join(""));let n=parseInt(r,16),i=n>>16&255,o=n>>8&255,s=n&255;return[i,o,s]};kt.rgb.hcg=function(e){let t=e[0]/255,r=e[1]/255,n=e[2]/255,i=Math.max(Math.max(t,r),n),o=Math.min(Math.min(t,r),n),s=i-o,a,u;return s<1?a=o/(1-s):a=0,s<=0?u=0:i===t?u=(r-n)/s%6:i===r?u=2+(n-t)/s:u=4+(t-r)/s,u/=6,u%=1,[u*360,s*100,a*100]};kt.hsl.hcg=function(e){let t=e[1]/100,r=e[2]/100,n=r<.5?2*t*r:2*t*(1-r),i=0;return n<1&&(i=(r-.5*n)/(1-n)),[e[0],n*100,i*100]};kt.hsv.hcg=function(e){let t=e[1]/100,r=e[2]/100,n=t*r,i=0;return n<1&&(i=(r-n)/(1-n)),[e[0],n*100,i*100]};kt.hcg.rgb=function(e){let t=e[0]/360,r=e[1]/100,n=e[2]/100;if(r===0)return[n*255,n*255,n*255];let i=[0,0,0],o=t%1*6,s=o%1,a=1-s,u=0;switch(Math.floor(o)){case 0:i[0]=1,i[1]=s,i[2]=0;break;case 1:i[0]=a,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=s;break;case 3:i[0]=0,i[1]=a,i[2]=1;break;case 4:i[0]=s,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=a}return u=(1-r)*n,[(r*i[0]+u)*255,(r*i[1]+u)*255,(r*i[2]+u)*255]};kt.hcg.hsv=function(e){let t=e[1]/100,r=e[2]/100,n=t+r*(1-t),i=0;return n>0&&(i=t/n),[e[0],i*100,n*100]};kt.hcg.hsl=function(e){let t=e[1]/100,n=e[2]/100*(1-t)+.5*t,i=0;return n>0&&n<.5?i=t/(2*n):n>=.5&&n<1&&(i=t/(2*(1-n))),[e[0],i*100,n*100]};kt.hcg.hwb=function(e){let t=e[1]/100,r=e[2]/100,n=t+r*(1-t);return[e[0],(n-t)*100,(1-n)*100]};kt.hwb.hcg=function(e){let t=e[1]/100,n=1-e[2]/100,i=n-t,o=0;return i<1&&(o=(n-i)/(1-i)),[e[0],i*100,o*100]};kt.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]};kt.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]};kt.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]};kt.gray.hsl=function(e){return[0,0,e[0]]};kt.gray.hsv=kt.gray.hsl;kt.gray.hwb=function(e){return[0,100,e[0]]};kt.gray.cmyk=function(e){return[0,0,0,e[0]]};kt.gray.lab=function(e){return[e[0],0,0]};kt.gray.hex=function(e){let t=Math.round(e[0]/100*255)&255,n=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(n.length)+n};kt.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}});var jB=Ct((sH,HB)=>{var dA=$d();function A8(){let e={},t=Object.keys(dA);for(let r=t.length,n=0;n<r;n++)e[t[n]]={distance:-1,parent:null};return e}function h8(e){let t=A8(),r=[e];for(t[e].distance=0;r.length;){let n=r.pop(),i=Object.keys(dA[n]);for(let o=i.length,s=0;s<o;s++){let a=i[s],u=t[a];u.distance===-1&&(u.distance=t[n].distance+1,u.parent=n,r.unshift(a))}}return t}function d8(e,t){return function(r){return t(e(r))}}function f8(e,t){let r=[t[e].parent,e],n=dA[t[e].parent][e],i=t[e].parent;for(;t[i].parent;)r.unshift(t[i].parent),n=d8(dA[t[i].parent][i],n),i=t[i].parent;return n.conversion=r,n}HB.exports=function(e){let t=h8(e),r={},n=Object.keys(t);for(let i=n.length,o=0;o<i;o++){let s=n[o];t[s].parent!==null&&(r[s]=f8(s,t))}return r}});var VB=Ct((oH,GB)=>{var Hd=$d(),p8=jB(),ba={},g8=Object.keys(Hd);function E8(e){let t=function(...r){let n=r[0];return n==null?n:(n.length>1&&(r=n),e(r))};return"conversion"in e&&(t.conversion=e.conversion),t}function m8(e){let t=function(...r){let n=r[0];if(n==null)return n;n.length>1&&(r=n);let i=e(r);if(typeof i=="object")for(let o=i.length,s=0;s<o;s++)i[s]=Math.round(i[s]);return i};return"conversion"in e&&(t.conversion=e.conversion),t}g8.forEach(e=>{ba[e]={},Object.defineProperty(ba[e],"channels",{value:Hd[e].channels}),Object.defineProperty(ba[e],"labels",{value:Hd[e].labels});let t=p8(e);Object.keys(t).forEach(n=>{let i=t[n];ba[e][n]=m8(i),ba[e][n].raw=E8(i)})});GB.exports=ba});var ZB=Ct((aH,WB)=>{"use strict";var qB=(e,t)=>(...r)=>`\x1B[${e(...r)+t}m`,YB=(e,t)=>(...r)=>{let n=e(...r);return`\x1B[${38+t};5;${n}m`},JB=(e,t)=>(...r)=>{let n=e(...r);return`\x1B[${38+t};2;${n[0]};${n[1]};${n[2]}m`},fA=e=>e,zB=(e,t,r)=>[e,t,r],xa=(e,t,r)=>{Object.defineProperty(e,t,{get:()=>{let n=r();return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0}),n},enumerable:!0,configurable:!0})},jd,va=(e,t,r,n)=>{jd===void 0&&(jd=VB());let i=n?10:0,o={};for(let[s,a]of Object.entries(jd)){let u=s==="ansi16"?"ansi":s;s===t?o[u]=e(r,i):typeof a=="object"&&(o[u]=e(a[t],i))}return o};function y8(){let e=new Map,t={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};t.color.gray=t.color.blackBright,t.bgColor.bgGray=t.bgColor.bgBlackBright,t.color.grey=t.color.blackBright,t.bgColor.bgGrey=t.bgColor.bgBlackBright;for(let[r,n]of Object.entries(t)){for(let[i,o]of Object.entries(n))t[i]={open:`\x1B[${o[0]}m`,close:`\x1B[${o[1]}m`},n[i]=t[i],e.set(o[0],o[1]);Object.defineProperty(t,r,{value:n,enumerable:!1})}return Object.defineProperty(t,"codes",{value:e,enumerable:!1}),t.color.close="\x1B[39m",t.bgColor.close="\x1B[49m",xa(t.color,"ansi",()=>va(qB,"ansi16",fA,!1)),xa(t.color,"ansi256",()=>va(YB,"ansi256",fA,!1)),xa(t.color,"ansi16m",()=>va(JB,"rgb",zB,!1)),xa(t.bgColor,"ansi",()=>va(qB,"ansi16",fA,!0)),xa(t.bgColor,"ansi256",()=>va(YB,"ansi256",fA,!0)),xa(t.bgColor,"ansi16m",()=>va(JB,"rgb",zB,!0)),t}Object.defineProperty(WB,"exports",{enumerable:!0,get:y8})});var e1=Ct((uH,XB)=>{"use strict";var zu=LB(),D8=hA(),C8=ZB(),Vd=new Set(["\x1B","\x9B"]),B8=39,KB=e=>`${Vd.values().next().value}[${e}m`,w8=e=>e.split(" ").map(t=>zu(t)),Gd=(e,t,r)=>{let n=[...t],i=!1,o=zu(D8(e[e.length-1]));for(let[s,a]of n.entries()){let u=zu(a);if(o+u<=r?e[e.length-1]+=a:(e.push(a),o=0),Vd.has(a))i=!0;else if(i&&a==="m"){i=!1;continue}i||(o+=u,o===r&&s<n.length-1&&(e.push(""),o=0))}!o&&e[e.length-1].length>0&&e.length>1&&(e[e.length-2]+=e.pop())},I8=e=>{let t=e.split(" "),r=t.length;for(;r>0&&!(zu(t[r-1])>0);)r--;return r===t.length?e:t.slice(0,r).join(" ")+t.slice(r).join("")},b8=(e,t,r={})=>{if(r.trim!==!1&&e.trim()==="")return"";let n="",i="",o,s=w8(e),a=[""];for(let[u,c]of e.split(" ").entries()){r.trim!==!1&&(a[a.length-1]=a[a.length-1].trimLeft());let l=zu(a[a.length-1]);if(u!==0&&(l>=t&&(r.wordWrap===!1||r.trim===!1)&&(a.push(""),l=0),(l>0||r.trim===!1)&&(a[a.length-1]+=" ",l++)),r.hard&&s[u]>t){let h=t-l,p=1+Math.floor((s[u]-h-1)/t);Math.floor((s[u]-1)/t)<p&&a.push(""),Gd(a,c,t);continue}if(l+s[u]>t&&l>0&&s[u]>0){if(r.wordWrap===!1&&l<t){Gd(a,c,t);continue}a.push("")}if(l+s[u]>t&&r.wordWrap===!1){Gd(a,c,t);continue}a[a.length-1]+=c}r.trim!==!1&&(a=a.map(I8)),n=a.join(`
874
874
  `);for(let[u,c]of[...n].entries()){if(i+=c,Vd.has(c)){let h=parseFloat(/\d[^m]*/.exec(n.slice(u,u+4)));o=h===B8?null:h}let l=C8.codes.get(Number(o));o&&l&&(n[u+1]===`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hafez/claude-code-router",
3
- "version": "2.0.1",
3
+ "version": "2.0.2",
4
4
  "description": "Use Claude Code without an Anthropics account and route it to another LLM provider",
5
5
  "scripts": {
6
6
  "build": "pnpm build:shared && pnpm build:core && pnpm build:server && pnpm build:cli && pnpm build:ui",