makecoder 4.1.5 → 4.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/coder.js CHANGED
@@ -1,77 +1,77 @@
1
1
  #!/usr/bin/env node
2
- var Si=Object.create;var St=Object.defineProperty;var Ai=Object.getOwnPropertyDescriptor;var Ei=Object.getOwnPropertyNames;var Ti=Object.getPrototypeOf,Di=Object.prototype.hasOwnProperty;var Ie=(r,e)=>()=>(r&&(e=r(r=0)),e);var b=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),Pi=(r,e)=>{for(var t in e)St(r,t,{get:e[t],enumerable:!0})},dn=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Ei(e))!Di.call(r,s)&&s!==t&&St(r,s,{get:()=>e[s],enumerable:!(n=Ai(e,s))||n.enumerable});return r};var lt=(r,e,t)=>(t=r!=null?Si(Ti(r)):{},dn(e||!r||!r.__esModule?St(t,"default",{value:r,enumerable:!0}):t,r)),Ui=r=>dn(St({},"__esModule",{value:!0}),r);var hn=b((fm,pn)=>{var We=require("fs"),un=require("path"),ji=require("os"),mn="https://makecoder.com/bigapis/codev/v1",sr=class{constructor(e={}){let t=process.env.CODER_PROFILE,n=t?`.coder.${t}`:".coder";this.configPath=un.join(ji.homedir(),n,"config.json"),this.defaultConfig={agent:"claude",auth:{apikey:null}},this._apikeyOverride=e.apikey||null,this.format=this._resolveFormat(e.format)}_resolveFormat(e){return(e||process.env.CODER_FORMAT||"text")==="json"?"json":"text"}get isJson(){return this.format==="json"}get isNonInteractive(){return process.env.CODER_NESTED==="1"||!process.stdout.isTTY}loadConfig(){let e=un.dirname(this.configPath);try{return We.existsSync(e)||We.mkdirSync(e,{recursive:!0}),We.existsSync(this.configPath)||We.writeFileSync(this.configPath,JSON.stringify(this.defaultConfig,null,2)),JSON.parse(We.readFileSync(this.configPath,"utf8"))}catch{return{...this.defaultConfig}}}_writeConfig(e){try{return We.writeFileSync(this.configPath,JSON.stringify(e,null,2)),!0}catch{return!1}}getApiKeyFromConfig(e=this.loadConfig()){return e.auth?.apikey?e.auth.apikey:e.auth?.ak&&e.auth?.sk?`${e.auth.ak}.${e.auth.sk}`:null}getApiKey(){return this._apikeyOverride?this._apikeyOverride:process.env.CODER_APIKEY?process.env.CODER_APIKEY:this.getApiKeyFromConfig()}saveApiKey(e){let t=this.loadConfig();return t.auth={apikey:e},this._writeConfig(t)}clearApiKey(){let e=this.loadConfig();return e.auth={apikey:null},this._writeConfig(e)}saveAuthToConfig(e){return this.saveApiKey(e)}clearAuthFromConfig(){return this.clearApiKey()}getCoderBaseUrl(){return process.env.CODER_BASE_URL?process.env.CODER_BASE_URL:this.loadConfig().coderBaseUrl||mn}getTeam(){return this.loadConfig().team||null}setTeam(e,t){let n=this.loadConfig();return e==null?delete n.team:n.team={id:e,name:t||""},this._writeConfig(n)}getTeamManual(){return!!this.loadConfig().team_manual}setTeamManual(e){let t=this.loadConfig();return e?t.team_manual=!0:delete t.team_manual,this._writeConfig(t)}requireApiKey(){return this.getApiKey()?!0:(this.fail("missing credentials","run `coder auth login --apikey <ak>.<sk>`"),!1)}emit(e){if(this.isJson){let t=typeof e=="string"?{message:e}:e;process.stdout.write(JSON.stringify({ok:!0,data:t})+`
2
+ var Xo=Object.create;var Vr=Object.defineProperty;var Qo=Object.getOwnPropertyDescriptor;var ei=Object.getOwnPropertyNames;var ti=Object.getPrototypeOf,ri=Object.prototype.hasOwnProperty;var b=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var ni=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of ei(e))!ri.call(t,s)&&s!==r&&Vr(t,s,{get:()=>e[s],enumerable:!(n=Qo(e,s))||n.enumerable});return t};var si=(t,e,r)=>(r=t!=null?Xo(ti(t)):{},ni(e||!t||!t.__esModule?Vr(r,"default",{value:t,enumerable:!0}):r,t));var Kr=b((Pu,zr)=>{var Me=require("fs"),Fr=require("path"),oi=require("os"),Gr="https://makecoder.com/bigapis/codev/v1",Mt=class{constructor(e={}){let r=process.env.CODER_PROFILE,n=r?`.coder.${r}`:".coder";this.configPath=Fr.join(oi.homedir(),n,"config.json"),this.defaultConfig={agent:"claude",auth:{apikey:null}},this._apikeyOverride=e.apikey||null,this.format=this._resolveFormat(e.format)}_resolveFormat(e){return(e||process.env.CODER_FORMAT||"text")==="json"?"json":"text"}get isJson(){return this.format==="json"}get isNonInteractive(){return process.env.CODER_NESTED==="1"||!process.stdout.isTTY}loadConfig(){let e=Fr.dirname(this.configPath);try{return Me.existsSync(e)||Me.mkdirSync(e,{recursive:!0}),Me.existsSync(this.configPath)||Me.writeFileSync(this.configPath,JSON.stringify(this.defaultConfig,null,2)),JSON.parse(Me.readFileSync(this.configPath,"utf8"))}catch{return{...this.defaultConfig}}}_writeConfig(e){try{return Me.writeFileSync(this.configPath,JSON.stringify(e,null,2)),!0}catch{return!1}}getApiKeyFromConfig(e=this.loadConfig()){return e.auth?.apikey?e.auth.apikey:e.auth?.ak&&e.auth?.sk?`${e.auth.ak}.${e.auth.sk}`:null}getApiKey(){return this._apikeyOverride?this._apikeyOverride:process.env.CODER_APIKEY?process.env.CODER_APIKEY:this.getApiKeyFromConfig()}saveApiKey(e){let r=this.loadConfig();return r.auth={apikey:e},this._writeConfig(r)}clearApiKey(){let e=this.loadConfig();return e.auth={apikey:null},this._writeConfig(e)}saveAuthToConfig(e){return this.saveApiKey(e)}clearAuthFromConfig(){return this.clearApiKey()}getCoderBaseUrl(){return process.env.CODER_BASE_URL?process.env.CODER_BASE_URL:this.loadConfig().coderBaseUrl||Gr}getTeam(){return this.loadConfig().team||null}setTeam(e,r){let n=this.loadConfig();return e==null?delete n.team:n.team={id:e,name:r||""},this._writeConfig(n)}getTeamManual(){return!!this.loadConfig().team_manual}setTeamManual(e){let r=this.loadConfig();return e?r.team_manual=!0:delete r.team_manual,this._writeConfig(r)}requireApiKey(){return this.getApiKey()?!0:(this.fail("missing credentials","run `coder auth login --apikey <ak>.<sk>`"),!1)}emit(e){if(this.isJson){let r=typeof e=="string"?{message:e}:e;process.stdout.write(JSON.stringify({ok:!0,data:r})+`
3
3
  `);return}typeof e=="string"?process.stdout.write(e+`
4
4
  `):process.stdout.write(JSON.stringify(e,null,2)+`
5
- `)}fail(e,t){if(this.isJson){let n={ok:!1,error:e};t&&(n.hint=t),process.stderr.write(JSON.stringify(n)+`
5
+ `)}fail(e,r){if(this.isJson){let n={ok:!1,error:e};r&&(n.hint=r),process.stderr.write(JSON.stringify(n)+`
6
6
  `);return}process.stderr.write(`Error: ${e}
7
- `),t&&process.stderr.write(`Hint: ${t}
8
- `)}};pn.exports={CoderContext:sr,DEFAULT_BASE_URL:mn}});var ut=b((gm,gn)=>{var{spawn:Ni}=require("child_process"),dt=require("path"),fn=require("fs"),or=class{constructor(e){this.config=e}findExecutablePath(){let e=dt.dirname(require.main.filename);for(let t of this.config.executablePaths){let n=dt.resolve(e,t);if(fn.existsSync(n))return n}if(this.config.globalSubPath){let t=this._findGlobalMakecoderPath(this.config.globalSubPath);if(t)return t}throw new Error(`Could not find ${this.config.name||"executable"} in any of the configured paths: ${this.config.executablePaths.join(", ")}`)}_findGlobalMakecoderPath(e){let t=dt.dirname(process.execPath),n=[dt.join(t,"..","lib","node_modules","makecoder","dist",e),dt.join(t,"node_modules","makecoder","dist",e)];for(let s of n)if(fn.existsSync(s))return s;return null}async launch(e={}){let{remainingArgs:t=[],coderBaseUrl:n,apikey:s=null,extraEnv:o={}}=e;try{let i=this.findExecutablePath();return process.env.CODER_DEBUG&&console.log(`executablePath: ${i}`),new Promise((a,c)=>{let l={...process.env,...this.config.environmentVariables(n),...o};s&&(l.CODER_APIKEY=s);let d=["--no-warnings"];process.env.CODER_INSPECT_BRK==="True"&&d.push("--inspect-brk"),d.push(i,...t);let u=Ni("node",d,{env:l,stdio:"inherit"});u.on("error",h=>{console.error(`Failed to start: ${h.message}`),c(h)}),u.on("exit",h=>a(h)),process.on("SIGINT",()=>{}),process.on("SIGTERM",()=>{u.kill("SIGTERM"),setTimeout(()=>{u.killed||u.kill("SIGKILL")},8e3)})})}catch(i){throw i}}};gn.exports=or});var ir=b((ym,yn)=>{var Ri=["# Runtime context: Coder","","You are running inside Coder \u2014 an AI Agent Runtime OS from MakeCoder that runs and","orchestrates multiple coding agents (Claude Code, Codex, Gemini, and others). Coder","hosts this session; it is distinct from the project in the current directory, which","is usually something else.","","What this changes for you:","","- Auth, model access, and usage limits run through the user's MakeCoder team, not a"," model provider directly. For any question about authentication, quota, billing, or"," which models are available, point the user to `coder auth status` and their MakeCoder"," team \u2014 never to a model provider's own console, website, or subscription plan.","","- You usually don't need Coder itself to do your work. When you do \u2014 for team"," knowledge, members, skills, or handing work to another agent \u2014 run `coder --help`"," first to see the available commands (e.g. `coder wiki`, `coder team`, `coder skills`,"," and `coder claude` / `coder codex` / `coder gemini`). Note: bare `coder` with no"," arguments launches an agent session, so use `coder --help` to inspect, not `coder`.","",'- "Coder", "makecoder", the `coder` command, and `CODER_*` env vars all refer to this'," runtime \u2014 not a generic CLI, and not the user's own codebase.","","This is background context \u2014 keep writing code and communicating exactly as you","normally would."].join(`
9
- `);yn.exports={CODER_RUNTIME_PROMPT:Ri}});var bn=b((_m,_n)=>{var qi=require("fs"),{CODER_RUNTIME_PROMPT:ar}=ir();function Zi(r){let e=[...r],t=e.indexOf("--append-system-prompt");if(t!==-1&&t+1<e.length)return e[t+1]=`${ar}
7
+ `),r&&process.stderr.write(`Hint: ${r}
8
+ `)}};zr.exports={CoderContext:Mt,DEFAULT_BASE_URL:Gr}});var tt=b((Uu,Hr)=>{var{spawn:ii}=require("child_process"),et=require("path"),Jr=require("fs"),Bt=class{constructor(e){this.config=e}findExecutablePath(){let e=et.dirname(require.main.filename);for(let r of this.config.executablePaths){let n=et.resolve(e,r);if(Jr.existsSync(n))return n}if(this.config.globalSubPath){let r=this._findGlobalMakecoderPath(this.config.globalSubPath);if(r)return r}throw new Error(`Could not find ${this.config.name||"executable"} in any of the configured paths: ${this.config.executablePaths.join(", ")}`)}_findGlobalMakecoderPath(e){let r=et.dirname(process.execPath),n=[et.join(r,"..","lib","node_modules","makecoder","dist",e),et.join(r,"node_modules","makecoder","dist",e)];for(let s of n)if(Jr.existsSync(s))return s;return null}async launch(e={}){let{remainingArgs:r=[],coderBaseUrl:n,apikey:s=null,extraEnv:o={}}=e;try{let i=this.findExecutablePath();return process.env.CODER_DEBUG&&console.log(`executablePath: ${i}`),new Promise((a,c)=>{let d={...process.env,...this.config.environmentVariables(n),...o};s&&(d.CODER_APIKEY=s);let l=["--no-warnings"];process.env.CODER_INSPECT_BRK==="True"&&l.push("--inspect-brk"),l.push(i,...r);let p=ii("node",l,{env:d,stdio:"inherit"});p.on("error",g=>{console.error(`Failed to start: ${g.message}`),c(g)}),p.on("exit",g=>a(g)),process.on("SIGINT",()=>{}),process.on("SIGTERM",()=>{p.kill("SIGTERM"),setTimeout(()=>{p.killed||p.kill("SIGKILL")},8e3)})})}catch(i){throw i}}};Hr.exports=Bt});var Vt=b((ju,Wr)=>{var ai=["# Runtime context: Coder","","You are running inside Coder \u2014 an AI Agent Runtime OS from MakeCoder that runs and","orchestrates multiple coding agents (Claude Code, Codex, Gemini, and others). Coder","hosts this session; it is distinct from the project in the current directory, which","is usually something else.","","What this changes for you:","","- Auth, model access, and usage limits run through the user's MakeCoder team, not a"," model provider directly. For any question about authentication, quota, billing, or"," which models are available, point the user to `coder auth status` and their MakeCoder"," team \u2014 never to a model provider's own console, website, or subscription plan.","","- You usually don't need Coder itself to do your work. When you do \u2014 for team"," knowledge, members, skills, or handing work to another agent \u2014 run `coder --help`"," first to see the available commands (e.g. `coder wiki`, `coder team`, `coder skills`,"," and `coder claude` / `coder codex` / `coder gemini`). Note: bare `coder` with no"," arguments launches an agent session, so use `coder --help` to inspect, not `coder`.","",'- "Coder", "makecoder", the `coder` command, and `CODER_*` env vars all refer to this'," runtime \u2014 not a generic CLI, and not the user's own codebase.","","This is background context \u2014 keep writing code and communicating exactly as you","normally would."].join(`
9
+ `);Wr.exports={CODER_RUNTIME_PROMPT:ai}});var Xr=b((Nu,Yr)=>{var ci=require("fs"),{CODER_RUNTIME_PROMPT:Ft}=Vt();function di(t){let e=[...t],r=e.indexOf("--append-system-prompt");if(r!==-1&&r+1<e.length)return e[r+1]=`${Ft}
10
10
 
11
- ${e[t+1]}`,e;let n=e.indexOf("--append-system-prompt-file");if(n!==-1&&n+1<e.length){let s="";try{s=qi.readFileSync(e[n+1],"utf8")}catch{return e}return e.splice(n,2,"--append-system-prompt",`${ar}
11
+ ${e[r+1]}`,e;let n=e.indexOf("--append-system-prompt-file");if(n!==-1&&n+1<e.length){let s="";try{s=ci.readFileSync(e[n+1],"utf8")}catch{return e}return e.splice(n,2,"--append-system-prompt",`${Ft}
12
12
 
13
- ${s}`),e}return[...e,"--append-system-prompt",ar]}_n.exports={withRuntimePrompt:Zi}});var wn=b((bm,xn)=>{var Li=ut(),{spawn:Mi,execFileSync:Vi}=require("child_process"),At=require("path"),mt=require("fs"),{withRuntimePrompt:Bi}=bn(),cr=class extends Li{constructor(){let e=`${process.platform}-${process.arch}`;super({name:"Claude Code (bun)",executablePaths:[`${e}/cc.js`,`../dist/${e}/cc.js`,`/tmp/claude-code-${e}/package/extracted/src/entrypoints/cc.js`],globalSubPath:`${e}/cc.js`,environmentVariables:t=>({ANTHROPIC_BASE_URL:`${t}/claude`,ANTHROPIC_API_KEY:"null",DISABLE_TELEMETRY:!0,CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC:!0,DISABLE_COST_WARNINGS:!0,DISABLE_NON_ESSENTIAL_MODEL_CALLS:!0,CODER_BASE_URL:t,CLAUDE_CODE_ATTRIBUTION_HEADER:"0",DISABLE_INSTALLATION_CHECKS:"1",DISABLE_AUTOUPDATER:"1",ANTHROPIC_DEFAULT_HAIKU_MODEL:"claude-haiku-4-5"})})}_resolveBunPath(){let e=process.platform==="win32",t=e?"bun.exe":"bun",n=process.env.HOME||process.env.USERPROFILE||"";try{return Vi(t,["--version"],{stdio:"ignore"}),t}catch{}if(n){let o=At.join(n,".bun","bin",t);if(mt.existsSync(o))return o}if(n){let o=At.join(n,".local","bin",t);if(mt.existsSync(o))return o}try{let o=require.resolve(`bun/${e?"bin/bun.exe":"bin/bun"}`);if(mt.existsSync(o))return o}catch{}let s=this._getBunPlatformPackage();if(s)try{let o=At.dirname(require.resolve(`${s}/package.json`)),i=At.join(o,"bin",t);if(mt.existsSync(i))return i}catch{}throw new Error(["bun is not installed.","","Tried (in order):"," 1. `bun` on PATH"," 2. ~/.bun/bin/bun"," 3. ~/.local/bin/bun"," 4. require.resolve('bun/bin/bun') \u2014 npm-installed bun package"," 5. @oven-sh/bun-<platform> tarball \u2014 npm platform package","","Fixes:"," - npm install -g bun"," - curl -fsSL https://bun.sh/install | bash (then open a new shell)"," - re-run `npm install -g makecoder` with --verbose to see why the"," bundled bun postinstall failed (network / proxy / mirror issues"," silently skip optionalDependencies)."].join(`
14
- `))}_getBunPlatformPackage(){let e=process.platform,t=process.arch;return{"darwin-arm64":"@oven-sh/bun-darwin-aarch64","darwin-x64":"@oven-sh/bun-darwin-x64","linux-arm64":"@oven-sh/bun-linux-aarch64","linux-x64":"@oven-sh/bun-linux-x64","win32-x64":"@oven-sh/bun-windows-x64"}[`${e}-${t}`]||null}async launch(e={}){let{remainingArgs:t=[],coderBaseUrl:n,apikey:s=null,extraEnv:o={}}=e,i=this.findExecutablePath(),a=this._resolveBunPath();return process.env.CODER_DEBUG&&(console.log(`executablePath (bun): ${i}`),console.log(`bunPath: ${a}`)),new Promise((c,l)=>{let d={...process.env,...this.config.environmentVariables(n),CODER_EXECPATH:mt.realpathSync(process.argv[1]),...o};s&&(d.CODER_APIKEY=s);let u=Bi(t),h=Mi(a,[i,...u],{env:d,stdio:"inherit"});h.on("error",_=>{_.code==="ENOENT"?console.error("bun binary not found. Install it with: npm install -g bun or curl -fsSL https://bun.sh/install | bash"):console.error(`Failed to start bun: ${_.message}`),l(_)}),h.on("exit",_=>c(_)),process.on("SIGINT",()=>{}),process.on("SIGTERM",()=>{h.kill("SIGTERM"),setTimeout(()=>{h.killed||h.kill("SIGKILL")},8e3)})})}};xn.exports=cr});var On=b((xm,vn)=>{var{execFileSync:Cn,spawnSync:pt}=require("child_process"),N=require("path"),E=require("fs"),In=require("os"),Fi=require("crypto"),Gi=["opus4.8","claude-opus-4-7","claude-sonnet-4-6","claude-haiku-4-5-20251001"],Et="/Applications/Claude.app",Hi=`${Et}/Contents/Resources/app.asar`,kn="https://cdn.makecoder.com/cdnuploads/claude-app/Claude.dmg",lr=class{constructor(){this.name="Claude Desktop (3p)",this.userData=N.join(In.homedir(),"Library","Application Support","Claude-3p"),this.backupDir=`${this.userData}.coder-backup`}async launch(e={}){if(process.platform!=="darwin")return console.error("coder claude app \u76EE\u524D\u4EC5\u652F\u6301 macOS\u3002"),1;let{remainingArgs:t=[],coderBaseUrl:n,apikey:s=null}=e,o=(t[0]||"setup").toLowerCase();try{if(o==="restore")return this._restore();if(o==="status")return this._status();if(o==="setup"){if(!E.existsSync(Et)){let i=this._ensureClaudeAppInstalled();if(i!==0)return i}return await this._setup(n,s)}return console.error(`\u672A\u77E5\u5B50\u547D\u4EE4\uFF1A${o}\uFF08\u53EF\u7528\uFF1Asetup | restore | status\uFF09`),1}catch(i){return console.error(`Error: ${i.message}`),process.env.CODER_DEBUG&&console.error(i.stack),1}}async _setup(e,t){if(!t)return console.error("\u7F3A\u5C11 API Key\u3002\u8BF7\u5148 `coder auth login` \u6216\u7528 --apikey \u63D0\u4F9B\u3002"),1;let n=this._detectRequiredVersion();if(!n)return console.error("\u65E0\u6CD5\u8BC6\u522B Claude Desktop \u7248\u672C\uFF0C\u8BF7\u786E\u8BA4\u5DF2\u5B89\u88C5\u6700\u65B0\u7248 Claude\u3002"),1;let{exec:s,entry:o}=this._resolveCoderEntry();return console.log("\u6B63\u5728\u914D\u7F6E Claude Desktop\u2026"),this._quitApp(),this._backupOnce(),this._writeDeploymentMode(),this._writeGatewayConfig(e,t),this._installShim(n,{exec:s,entry:o,apikey:t,coderBaseUrl:e}),this._openApp(),console.log("\u2705 Claude Desktop \u5DF2\u63A5\u5165 coder\uFF0C\u6B63\u5728\u542F\u52A8\u3002"),console.log(" \u8FD8\u539F\uFF1Acoder claude app restore"),0}_ensureClaudeAppInstalled(){console.log("\u672A\u68C0\u6D4B\u5230 Claude Desktop\uFF0C\u6B63\u5728\u4E0B\u8F7D\u5B89\u88C5\u2026");let e=N.join(In.tmpdir(),`claude-app-${process.pid}-${Date.now()}.dmg`),t=null;try{if(pt("curl",["-fL","--retry","2","-o",e,kn],{stdio:process.env.CODER_DEBUG?"inherit":["ignore","ignore","inherit"]}).status!==0||!E.existsSync(e))return console.error(`\u4E0B\u8F7D Claude \u5B89\u88C5\u5305\u5931\u8D25\uFF08${kn}\uFF09\u3002`),1;let s=pt("hdiutil",["attach",e,"-nobrowse","-readonly"],{encoding:"utf8"});if(s.status!==0)return console.error("\u6302\u8F7D Claude \u5B89\u88C5\u5305\u5931\u8D25\u3002"),1;let o=s.stdout.match(/(\/Volumes\/[^\n]+)\s*$/m);if(t=o?o[1].trim():null,!t)return console.error("\u65E0\u6CD5\u89E3\u6790 DMG \u6302\u8F7D\u70B9\u3002"),1;let i=N.join(t,"Claude.app");return E.existsSync(i)?pt("ditto",[i,Et],{stdio:"inherit"}).status!==0?(console.error("\u62F7\u8D1D Claude.app \u5230 /Applications \u5931\u8D25\uFF08\u53EF\u80FD\u9700\u8981\u6743\u9650\uFF09\u3002"),1):(console.log("\u2705 Claude Desktop \u5B89\u88C5\u5B8C\u6210\u3002"),0):(console.error(`DMG \u5185\u672A\u627E\u5230 Claude.app\uFF08${i}\uFF09\u3002`),1)}finally{t&&pt("hdiutil",["detach",t,"-quiet"],{stdio:"ignore"});try{E.rmSync(e,{force:!0})}catch{}}}_detectRequiredVersion(){try{let t=E.readFileSync(Hi).toString("latin1").match(/"version":"([0-9][0-9.]*)","manifest"/);return t?t[1]:null}catch(e){return process.env.CODER_DEBUG&&console.error(`[claude app] \u8BFB\u53D6 asar \u5931\u8D25: ${e.message}`),null}}_resolveCoderEntry(){let e=E.realpathSync(process.execPath),t=E.realpathSync(process.argv[1]);return process.env.CODER_DEBUG&&(console.log(`[claude app] exec=${e}`),console.log(`[claude app] entry=${t}`)),{exec:e,entry:t}}_backupOnce(){E.existsSync(this.backupDir)||E.existsSync(this.userData)&&(E.cpSync(this.userData,this.backupDir,{recursive:!0}),process.env.CODER_DEBUG&&console.log(`[claude app] \u5DF2\u5907\u4EFD -> ${this.backupDir}`))}_writeDeploymentMode(){E.mkdirSync(this.userData,{recursive:!0});let e=N.join(this.userData,"claude_desktop_config.json"),t={};try{t=JSON.parse(E.readFileSync(e,"utf8"))}catch{}t.deploymentMode="3p",E.writeFileSync(e,JSON.stringify(t,null,2))}_writeGatewayConfig(e,t){let n=N.join(this.userData,"configLibrary");E.mkdirSync(n,{recursive:!0});let s=Fi.randomUUID().toLowerCase(),o={inferenceProvider:"gateway",inferenceCredentialKind:"static",inferenceGatewayBaseUrl:`${e}/claude`,inferenceGatewayAuthScheme:"x-api-key",inferenceGatewayApiKey:t,modelDiscoveryEnabled:!1,inferenceModels:Gi};E.writeFileSync(N.join(n,`${s}.json`),JSON.stringify(o,null,2)),E.writeFileSync(N.join(n,"_meta.json"),JSON.stringify({appliedId:s,entries:[{id:s,name:"Coder Gateway"}]},null,2)),process.env.CODER_DEBUG&&console.log(`[claude app] gateway \u914D\u7F6E uuid=${s}`)}_resolveShimBinary(){let e=`darwin-${process.arch}`,t=N.join(e,"ccd-shim"),n=require.main&&require.main.filename&&N.dirname(require.main.filename)||__dirname,s=[N.resolve(n,t),N.resolve(n,"../dist",t),N.resolve(__dirname,"../../../dist",t)],o=N.dirname(process.execPath);s.push(N.join(o,"..","lib","node_modules","makecoder","dist",e,"ccd-shim"),N.join(o,"node_modules","makecoder","dist",e,"ccd-shim"));for(let i of s)if(E.existsSync(i))return i;throw new Error(`\u672A\u627E\u5230 CCD shim\uFF08dist/${e}/ccd-shim\uFF09\u3002\u8BF7\u91CD\u65B0\u5B89\u88C5 makecoder \u6216\u672C\u5730\u6267\u884C \`make fetch_tools\`\u3002`)}_shimInstallDir(e){return N.join(this.userData,"claude-code",e,"claude.app","Contents","MacOS")}_installShim(e,{exec:t,entry:n,apikey:s,coderBaseUrl:o}){let i=this._resolveShimBinary(),a=this._shimInstallDir(e);E.mkdirSync(a,{recursive:!0});let c=N.join(a,"claude");E.copyFileSync(i,c),E.chmodSync(c,493);let l=`exec=${t}
13
+ ${s}`),e}return[...e,"--append-system-prompt",Ft]}Yr.exports={withRuntimePrompt:di}});var en=b((Ru,Qr)=>{var li=tt(),{spawn:ui,execFileSync:mi}=require("child_process"),gt=require("path"),rt=require("fs"),{withRuntimePrompt:pi}=Xr(),Gt=class extends li{constructor(){let e=`${process.platform}-${process.arch}`;super({name:"Claude Code (bun)",executablePaths:[`${e}/cc.js`,`../dist/${e}/cc.js`,`/tmp/claude-code-${e}/package/extracted/src/entrypoints/cc.js`],globalSubPath:`${e}/cc.js`,environmentVariables:r=>({ANTHROPIC_BASE_URL:`${r}/claude`,ANTHROPIC_API_KEY:"null",DISABLE_TELEMETRY:!0,CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC:!0,DISABLE_COST_WARNINGS:!0,DISABLE_NON_ESSENTIAL_MODEL_CALLS:!0,CODER_BASE_URL:r,CLAUDE_CODE_ATTRIBUTION_HEADER:"0",DISABLE_INSTALLATION_CHECKS:"1",DISABLE_AUTOUPDATER:"1",ANTHROPIC_DEFAULT_HAIKU_MODEL:"claude-haiku-4-5"})})}_resolveBunPath(){let e=process.platform==="win32",r=e?"bun.exe":"bun",n=process.env.HOME||process.env.USERPROFILE||"";try{return mi(r,["--version"],{stdio:"ignore"}),r}catch{}if(n){let o=gt.join(n,".bun","bin",r);if(rt.existsSync(o))return o}if(n){let o=gt.join(n,".local","bin",r);if(rt.existsSync(o))return o}try{let o=require.resolve(`bun/${e?"bin/bun.exe":"bin/bun"}`);if(rt.existsSync(o))return o}catch{}let s=this._getBunPlatformPackage();if(s)try{let o=gt.dirname(require.resolve(`${s}/package.json`)),i=gt.join(o,"bin",r);if(rt.existsSync(i))return i}catch{}throw new Error(["bun is not installed.","","Tried (in order):"," 1. `bun` on PATH"," 2. ~/.bun/bin/bun"," 3. ~/.local/bin/bun"," 4. require.resolve('bun/bin/bun') \u2014 npm-installed bun package"," 5. @oven-sh/bun-<platform> tarball \u2014 npm platform package","","Fixes:"," - npm install -g bun"," - curl -fsSL https://bun.sh/install | bash (then open a new shell)"," - re-run `npm install -g makecoder` with --verbose to see why the"," bundled bun postinstall failed (network / proxy / mirror issues"," silently skip optionalDependencies)."].join(`
14
+ `))}_getBunPlatformPackage(){let e=process.platform,r=process.arch;return{"darwin-arm64":"@oven-sh/bun-darwin-aarch64","darwin-x64":"@oven-sh/bun-darwin-x64","linux-arm64":"@oven-sh/bun-linux-aarch64","linux-x64":"@oven-sh/bun-linux-x64","win32-x64":"@oven-sh/bun-windows-x64"}[`${e}-${r}`]||null}async launch(e={}){let{remainingArgs:r=[],coderBaseUrl:n,apikey:s=null,extraEnv:o={}}=e,i=this.findExecutablePath(),a=this._resolveBunPath();return process.env.CODER_DEBUG&&(console.log(`executablePath (bun): ${i}`),console.log(`bunPath: ${a}`)),new Promise((c,d)=>{let l={...process.env,...this.config.environmentVariables(n),CODER_EXECPATH:rt.realpathSync(process.argv[1]),...o};s&&(l.CODER_APIKEY=s);let p=pi(r),g=ui(a,[i,...p],{env:l,stdio:"inherit"});g.on("error",_=>{_.code==="ENOENT"?console.error("bun binary not found. Install it with: npm install -g bun or curl -fsSL https://bun.sh/install | bash"):console.error(`Failed to start bun: ${_.message}`),d(_)}),g.on("exit",_=>c(_)),process.on("SIGINT",()=>{}),process.on("SIGTERM",()=>{g.kill("SIGTERM"),setTimeout(()=>{g.killed||g.kill("SIGKILL")},8e3)})})}};Qr.exports=Gt});var on=b((Zu,sn)=>{var{execFileSync:tn,spawnSync:nt}=require("child_process"),j=require("path"),T=require("fs"),rn=require("os"),fi=require("crypto"),hi=["opus4.8","claude-opus-4-7","claude-sonnet-4-6","claude-haiku-4-5-20251001"],yt="/Applications/Claude.app",gi=`${yt}/Contents/Resources/app.asar`,nn="https://cdn.makecoder.com/cdnuploads/claude-app/Claude.dmg",zt=class{constructor(){this.name="Claude Desktop (3p)",this.userData=j.join(rn.homedir(),"Library","Application Support","Claude-3p"),this.backupDir=`${this.userData}.coder-backup`}async launch(e={}){if(process.platform!=="darwin")return console.error("coder claude app \u76EE\u524D\u4EC5\u652F\u6301 macOS\u3002"),1;let{remainingArgs:r=[],coderBaseUrl:n,apikey:s=null}=e,o=(r[0]||"setup").toLowerCase();try{if(o==="restore")return this._restore();if(o==="status")return this._status();if(o==="setup"){if(!T.existsSync(yt)){let i=this._ensureClaudeAppInstalled();if(i!==0)return i}return await this._setup(n,s)}return console.error(`\u672A\u77E5\u5B50\u547D\u4EE4\uFF1A${o}\uFF08\u53EF\u7528\uFF1Asetup | restore | status\uFF09`),1}catch(i){return console.error(`Error: ${i.message}`),process.env.CODER_DEBUG&&console.error(i.stack),1}}async _setup(e,r){if(!r)return console.error("\u7F3A\u5C11 API Key\u3002\u8BF7\u5148 `coder auth login` \u6216\u7528 --apikey \u63D0\u4F9B\u3002"),1;let n=this._detectRequiredVersion();if(!n)return console.error("\u65E0\u6CD5\u8BC6\u522B Claude Desktop \u7248\u672C\uFF0C\u8BF7\u786E\u8BA4\u5DF2\u5B89\u88C5\u6700\u65B0\u7248 Claude\u3002"),1;let{exec:s,entry:o}=this._resolveCoderEntry();return console.log("\u6B63\u5728\u914D\u7F6E Claude Desktop\u2026"),this._quitApp(),this._backupOnce(),this._writeDeploymentMode(),this._writeGatewayConfig(e,r),this._installShim(n,{exec:s,entry:o,apikey:r,coderBaseUrl:e}),this._openApp(),console.log("\u2705 Claude Desktop \u5DF2\u63A5\u5165 coder\uFF0C\u6B63\u5728\u542F\u52A8\u3002"),console.log(" \u8FD8\u539F\uFF1Acoder claude app restore"),0}_ensureClaudeAppInstalled(){console.log("\u672A\u68C0\u6D4B\u5230 Claude Desktop\uFF0C\u6B63\u5728\u4E0B\u8F7D\u5B89\u88C5\u2026");let e=j.join(rn.tmpdir(),`claude-app-${process.pid}-${Date.now()}.dmg`),r=null;try{if(nt("curl",["-fL","--retry","2","-o",e,nn],{stdio:process.env.CODER_DEBUG?"inherit":["ignore","ignore","inherit"]}).status!==0||!T.existsSync(e))return console.error(`\u4E0B\u8F7D Claude \u5B89\u88C5\u5305\u5931\u8D25\uFF08${nn}\uFF09\u3002`),1;let s=nt("hdiutil",["attach",e,"-nobrowse","-readonly"],{encoding:"utf8"});if(s.status!==0)return console.error("\u6302\u8F7D Claude \u5B89\u88C5\u5305\u5931\u8D25\u3002"),1;let o=s.stdout.match(/(\/Volumes\/[^\n]+)\s*$/m);if(r=o?o[1].trim():null,!r)return console.error("\u65E0\u6CD5\u89E3\u6790 DMG \u6302\u8F7D\u70B9\u3002"),1;let i=j.join(r,"Claude.app");return T.existsSync(i)?nt("ditto",[i,yt],{stdio:"inherit"}).status!==0?(console.error("\u62F7\u8D1D Claude.app \u5230 /Applications \u5931\u8D25\uFF08\u53EF\u80FD\u9700\u8981\u6743\u9650\uFF09\u3002"),1):(console.log("\u2705 Claude Desktop \u5B89\u88C5\u5B8C\u6210\u3002"),0):(console.error(`DMG \u5185\u672A\u627E\u5230 Claude.app\uFF08${i}\uFF09\u3002`),1)}finally{r&&nt("hdiutil",["detach",r,"-quiet"],{stdio:"ignore"});try{T.rmSync(e,{force:!0})}catch{}}}_detectRequiredVersion(){try{let r=T.readFileSync(gi).toString("latin1").match(/"version":"([0-9][0-9.]*)","manifest"/);return r?r[1]:null}catch(e){return process.env.CODER_DEBUG&&console.error(`[claude app] \u8BFB\u53D6 asar \u5931\u8D25: ${e.message}`),null}}_resolveCoderEntry(){let e=T.realpathSync(process.execPath),r=T.realpathSync(process.argv[1]);return process.env.CODER_DEBUG&&(console.log(`[claude app] exec=${e}`),console.log(`[claude app] entry=${r}`)),{exec:e,entry:r}}_backupOnce(){T.existsSync(this.backupDir)||T.existsSync(this.userData)&&(T.cpSync(this.userData,this.backupDir,{recursive:!0}),process.env.CODER_DEBUG&&console.log(`[claude app] \u5DF2\u5907\u4EFD -> ${this.backupDir}`))}_writeDeploymentMode(){T.mkdirSync(this.userData,{recursive:!0});let e=j.join(this.userData,"claude_desktop_config.json"),r={};try{r=JSON.parse(T.readFileSync(e,"utf8"))}catch{}r.deploymentMode="3p",T.writeFileSync(e,JSON.stringify(r,null,2))}_writeGatewayConfig(e,r){let n=j.join(this.userData,"configLibrary");T.mkdirSync(n,{recursive:!0});let s=fi.randomUUID().toLowerCase(),o={inferenceProvider:"gateway",inferenceCredentialKind:"static",inferenceGatewayBaseUrl:`${e}/claude`,inferenceGatewayAuthScheme:"x-api-key",inferenceGatewayApiKey:r,modelDiscoveryEnabled:!1,inferenceModels:hi};T.writeFileSync(j.join(n,`${s}.json`),JSON.stringify(o,null,2)),T.writeFileSync(j.join(n,"_meta.json"),JSON.stringify({appliedId:s,entries:[{id:s,name:"Coder Gateway"}]},null,2)),process.env.CODER_DEBUG&&console.log(`[claude app] gateway \u914D\u7F6E uuid=${s}`)}_resolveShimBinary(){let e=`darwin-${process.arch}`,r=j.join(e,"ccd-shim"),n=require.main&&require.main.filename&&j.dirname(require.main.filename)||__dirname,s=[j.resolve(n,r),j.resolve(n,"../dist",r),j.resolve(__dirname,"../../../dist",r)],o=j.dirname(process.execPath);s.push(j.join(o,"..","lib","node_modules","makecoder","dist",e,"ccd-shim"),j.join(o,"node_modules","makecoder","dist",e,"ccd-shim"));for(let i of s)if(T.existsSync(i))return i;throw new Error(`\u672A\u627E\u5230 CCD shim\uFF08dist/${e}/ccd-shim\uFF09\u3002\u8BF7\u91CD\u65B0\u5B89\u88C5 makecoder \u6216\u672C\u5730\u6267\u884C \`make fetch_tools\`\u3002`)}_shimInstallDir(e){return j.join(this.userData,"claude-code",e,"claude.app","Contents","MacOS")}_installShim(e,{exec:r,entry:n,apikey:s,coderBaseUrl:o}){let i=this._resolveShimBinary(),a=this._shimInstallDir(e);T.mkdirSync(a,{recursive:!0});let c=j.join(a,"claude");T.copyFileSync(i,c),T.chmodSync(c,493);let d=`exec=${r}
15
15
  entry=${n}
16
16
  apikey=${s}
17
17
  baseurl=${o}
18
- `;E.writeFileSync(`${c}.conf`,l),E.writeFileSync(N.join(this.userData,"claude-code",e,".verified"),""),process.env.CODER_DEBUG&&console.log(`[claude app] shim \u5B89\u88C5 -> ${c}`)}_quitApp(){try{Cn("osascript",["-e",'quit app "Claude"'],{stdio:"ignore"})}catch{}pt("sleep",["2"])}_openApp(){try{Cn("open",["-a","Claude"],{stdio:"ignore"})}catch(e){console.error(`\u65E0\u6CD5\u542F\u52A8 Claude\uFF1A${e.message}\uFF08\u8BF7\u624B\u52A8\u6253\u5F00\uFF09`)}}_restore(){return E.existsSync(this.backupDir)?(this._quitApp(),E.rmSync(this.userData,{recursive:!0,force:!0}),E.cpSync(this.backupDir,this.userData,{recursive:!0}),E.rmSync(this.backupDir,{recursive:!0,force:!0}),console.log("\u2705 \u5DF2\u8FD8\u539F Claude Desktop \u914D\u7F6E\uFF08\u91CD\u542F App \u751F\u6548\uFF09\u3002"),0):(console.error(`\u672A\u627E\u5230\u5907\u4EFD\u76EE\u5F55\uFF1A${this.backupDir}`),console.error("\u53EF\u80FD\u4ECE\u672A\u6267\u884C\u8FC7 setup\uFF0C\u6216\u5907\u4EFD\u5DF2\u88AB\u5220\u9664\u3002"),1)}_status(){let e=this._detectRequiredVersion(),t=null;try{t=JSON.parse(E.readFileSync(N.join(this.userData,"claude_desktop_config.json"),"utf8")).deploymentMode}catch{}let n=null;try{let i=JSON.parse(E.readFileSync(N.join(this.userData,"configLibrary","_meta.json"),"utf8"));n=JSON.parse(E.readFileSync(N.join(this.userData,"configLibrary",`${i.appliedId}.json`),"utf8")).inferenceGatewayBaseUrl}catch{}let s=e&&E.existsSync(N.join(this._shimInstallDir(e),"claude.conf"));return t==="3p"&&n&&s?(console.log("\u2705 Claude Desktop \u5DF2\u63A5\u5165 coder"),console.log(` API: ${n}`)):console.log("Claude Desktop \u672A\u63A5\u5165 coder\uFF08\u8FD0\u884C coder claude app \u63A5\u5165\uFF09"),process.env.CODER_DEBUG&&(console.log(`
19
- [debug]`),console.log(` claude.app: ${Et}`),console.log(` requiredVersion: ${e||"(\u63A2\u6D4B\u5931\u8D25)"}`),console.log(` deploymentMode: ${t||"(\u672A\u8BBE\u7F6E)"}`),console.log(` gateway baseUrl: ${n||"(\u65E0)"}`),console.log(` shim installed: ${s?"yes":"no"}`),console.log(` backup: ${E.existsSync(this.backupDir)?"yes":"no"}`)),0}};vn.exports=lr});var Sn=b((wm,$n)=>{var zi=ut(),dr=class extends zi{constructor(){super({name:"Gemini",executablePaths:["gemini/gemini.js","../dist/gemini/gemini.js"],globalSubPath:"gemini/gemini.js",environmentVariables:e=>({GOOGLE_GEMINI_BASE_URL:`${e}/gemini`,GEMINI_API_KEY:"null",GOOGLE_API_KEY:"null",GOOGLE_CLOUD_PROJECT:"coder",GOOGLE_CLOUD_LOCATION:"coder",USE_VERTEX:!0,GEMINI_TELEMETRY_ENABLED:"false",GEMINI_TELEMETRY_LOG_PROMPTS:"false"})})}};$n.exports=dr});var Tt=b((Cm,An)=>{var{CODER_RUNTIME_PROMPT:Wi}=ir(),Ki={"linux-x64":"makecoder-bin-linux-x64","linux-arm64":"makecoder-bin-linux-arm64","darwin-arm64":"makecoder-bin-darwin-arm64","win32-x64":"makecoder-bin-win32-x64"};function Ji(r){return["-c",`openai_base_url="${r}/codex"`,"-c","analytics.enabled=false","-c","feedback.enabled=false","-c","check_for_update_on_startup=false","-c",'otel.exporter="none"',"-c",'otel.trace_exporter="none"',"-c",'otel.metrics_exporter="none"',"-c",`developer_instructions=${Wi}`]}An.exports={PLATFORM_PACKAGE:Ki,buildConfigOverrides:Ji}});var Tn=b((Im,En)=>{var Yi=ut(),{buildConfigOverrides:Xi}=Tt(),ur=class extends Yi{constructor(){super({name:"Codex",executablePaths:["codex.mjs","../dist/codex.mjs"],globalSubPath:"codex.mjs",environmentVariables:()=>({CODEX_DISABLE_WEBSOCKET:"1"})})}async launch(e={}){let{remainingArgs:t=[],coderBaseUrl:n}=e,s=Xi(n);return await super.launch({...e,remainingArgs:[...s,...t]})}};En.exports=ur});var Un=b((km,Pn)=>{var{execFileSync:Dn}=require("child_process"),Qi=require("os"),re=require("path"),ke=require("fs"),ea=ut(),{buildConfigOverrides:ta}=Tt(),ra={arm64:"https://cdn.makecoder.com/cdnuploads/codex-app/Codex.dmg",x64:"https://cdn.makecoder.com/cdnuploads/codex-app/Codex-latest-x64.dmg"},na=5e3,mr=class extends ea{constructor(){super({name:"Codex",executablePaths:["codex.mjs","../dist/codex.mjs"],globalSubPath:"codex.mjs",environmentVariables:()=>({CODEX_DISABLE_WEBSOCKET:"1"})})}async launch(e={}){let{remainingArgs:t=[],coderBaseUrl:n,apikey:s=null}=e,o=ta(n),i=this._injectDesktopEnv(s,n),a=this._withDownloadUrlMirror(t);try{return await super.launch({...e,remainingArgs:[...o,...a]})}finally{i&&(await new Promise(c=>setTimeout(c,na)),this._removeDesktopEnv(i))}}_withDownloadUrlMirror(e){if(process.platform!=="darwin"||e.includes("--download-url"))return e;let t=ra[process.arch];return t?(process.env.CODER_DEBUG&&console.log(`[codex app] \u6CE8\u5165 --download-url ${t}`),[...e,"--download-url",t]):e}_resolveShimBinary(){let e=`darwin-${process.arch}`,t=re.join(e,"cdx-shim"),n=require.main&&require.main.filename&&re.dirname(require.main.filename)||__dirname,s=[re.resolve(n,t),re.resolve(n,"../dist",t),re.resolve(__dirname,"../../../dist",t)],o=re.dirname(process.execPath);s.push(re.join(o,"..","lib","node_modules","makecoder","dist",e,"cdx-shim"),re.join(o,"node_modules","makecoder","dist",e,"cdx-shim"));for(let i of s)if(ke.existsSync(i))return i;throw new Error(`\u672A\u627E\u5230 cdx-shim\uFF08dist/${e}/cdx-shim\uFF09\u3002\u8BF7\u91CD\u65B0\u5B89\u88C5 makecoder \u6216\u672C\u5730\u6267\u884C \`make fetch_tools\`\u3002`)}_resolveCoderEntry(){return{exec:ke.realpathSync(process.execPath),entry:ke.realpathSync(process.argv[1])}}_installShim({apikey:e,coderBaseUrl:t}){let n=this._resolveShimBinary(),{exec:s,entry:o}=this._resolveCoderEntry(),i=process.env.CODER_PROFILE,a=i?`.coder.${i}`:".coder",c=re.join(Qi.homedir(),a,"codex-app");ke.mkdirSync(c,{recursive:!0,mode:448});let l=re.join(c,"cdx-shim");ke.copyFileSync(n,l),ke.chmodSync(l,493);let d=`exec=${s}
18
+ `;T.writeFileSync(`${c}.conf`,d),T.writeFileSync(j.join(this.userData,"claude-code",e,".verified"),""),process.env.CODER_DEBUG&&console.log(`[claude app] shim \u5B89\u88C5 -> ${c}`)}_quitApp(){try{tn("osascript",["-e",'quit app "Claude"'],{stdio:"ignore"})}catch{}nt("sleep",["2"])}_openApp(){try{tn("open",["-a","Claude"],{stdio:"ignore"})}catch(e){console.error(`\u65E0\u6CD5\u542F\u52A8 Claude\uFF1A${e.message}\uFF08\u8BF7\u624B\u52A8\u6253\u5F00\uFF09`)}}_restore(){return T.existsSync(this.backupDir)?(this._quitApp(),T.rmSync(this.userData,{recursive:!0,force:!0}),T.cpSync(this.backupDir,this.userData,{recursive:!0}),T.rmSync(this.backupDir,{recursive:!0,force:!0}),console.log("\u2705 \u5DF2\u8FD8\u539F Claude Desktop \u914D\u7F6E\uFF08\u91CD\u542F App \u751F\u6548\uFF09\u3002"),0):(console.error(`\u672A\u627E\u5230\u5907\u4EFD\u76EE\u5F55\uFF1A${this.backupDir}`),console.error("\u53EF\u80FD\u4ECE\u672A\u6267\u884C\u8FC7 setup\uFF0C\u6216\u5907\u4EFD\u5DF2\u88AB\u5220\u9664\u3002"),1)}_status(){let e=this._detectRequiredVersion(),r=null;try{r=JSON.parse(T.readFileSync(j.join(this.userData,"claude_desktop_config.json"),"utf8")).deploymentMode}catch{}let n=null;try{let i=JSON.parse(T.readFileSync(j.join(this.userData,"configLibrary","_meta.json"),"utf8"));n=JSON.parse(T.readFileSync(j.join(this.userData,"configLibrary",`${i.appliedId}.json`),"utf8")).inferenceGatewayBaseUrl}catch{}let s=e&&T.existsSync(j.join(this._shimInstallDir(e),"claude.conf"));return r==="3p"&&n&&s?(console.log("\u2705 Claude Desktop \u5DF2\u63A5\u5165 coder"),console.log(` API: ${n}`)):console.log("Claude Desktop \u672A\u63A5\u5165 coder\uFF08\u8FD0\u884C coder claude app \u63A5\u5165\uFF09"),process.env.CODER_DEBUG&&(console.log(`
19
+ [debug]`),console.log(` claude.app: ${yt}`),console.log(` requiredVersion: ${e||"(\u63A2\u6D4B\u5931\u8D25)"}`),console.log(` deploymentMode: ${r||"(\u672A\u8BBE\u7F6E)"}`),console.log(` gateway baseUrl: ${n||"(\u65E0)"}`),console.log(` shim installed: ${s?"yes":"no"}`),console.log(` backup: ${T.existsSync(this.backupDir)?"yes":"no"}`)),0}};sn.exports=zt});var cn=b((qu,an)=>{var yi=tt(),Kt=class extends yi{constructor(){super({name:"Gemini",executablePaths:["gemini/gemini.js","../dist/gemini/gemini.js"],globalSubPath:"gemini/gemini.js",environmentVariables:e=>({GOOGLE_GEMINI_BASE_URL:`${e}/gemini`,GEMINI_API_KEY:"null",GOOGLE_API_KEY:"null",GOOGLE_CLOUD_PROJECT:"coder",GOOGLE_CLOUD_LOCATION:"coder",USE_VERTEX:!0,GEMINI_TELEMETRY_ENABLED:"false",GEMINI_TELEMETRY_LOG_PROMPTS:"false"})})}};an.exports=Kt});var _t=b((Lu,dn)=>{var{CODER_RUNTIME_PROMPT:_i}=Vt(),bi={"linux-x64":"makecoder-bin-linux-x64","linux-arm64":"makecoder-bin-linux-arm64","darwin-arm64":"makecoder-bin-darwin-arm64","win32-x64":"makecoder-bin-win-x64"};function Ii(t){return["-c",`openai_base_url="${t}/codex"`,"-c","analytics.enabled=false","-c","feedback.enabled=false","-c","check_for_update_on_startup=false","-c",'otel.exporter="none"',"-c",'otel.trace_exporter="none"',"-c",'otel.metrics_exporter="none"',"-c",`developer_instructions=${_i}`]}dn.exports={PLATFORM_PACKAGE:bi,buildConfigOverrides:Ii}});var un=b((Mu,ln)=>{var xi=tt(),{buildConfigOverrides:ki}=_t(),Jt=class extends xi{constructor(){super({name:"Codex",executablePaths:["codex.mjs","../dist/codex.mjs"],globalSubPath:"codex.mjs",environmentVariables:()=>({CODEX_DISABLE_WEBSOCKET:"1"})})}async launch(e={}){let{remainingArgs:r=[],coderBaseUrl:n}=e,s=ki(n);return await super.launch({...e,remainingArgs:[...s,...r]})}};ln.exports=Jt});var fn=b((Bu,pn)=>{var{execFileSync:mn}=require("child_process"),wi=require("os"),te=require("path"),_e=require("fs"),vi=tt(),{buildConfigOverrides:Ci}=_t(),$i={arm64:"https://cdn.makecoder.com/cdnuploads/codex-app/Codex.dmg",x64:"https://cdn.makecoder.com/cdnuploads/codex-app/Codex-latest-x64.dmg"},Si=5e3,Ht=class extends vi{constructor(){super({name:"Codex",executablePaths:["codex.mjs","../dist/codex.mjs"],globalSubPath:"codex.mjs",environmentVariables:()=>({CODEX_DISABLE_WEBSOCKET:"1"})})}async launch(e={}){let{remainingArgs:r=[],coderBaseUrl:n,apikey:s=null}=e,o=Ci(n),i=this._injectDesktopEnv(s,n),a=this._withDownloadUrlMirror(r);try{return await super.launch({...e,remainingArgs:[...o,...a]})}finally{i&&(await new Promise(c=>setTimeout(c,Si)),this._removeDesktopEnv(i))}}_withDownloadUrlMirror(e){if(process.platform!=="darwin"||e.includes("--download-url"))return e;let r=$i[process.arch];return r?(process.env.CODER_DEBUG&&console.log(`[codex app] \u6CE8\u5165 --download-url ${r}`),[...e,"--download-url",r]):e}_resolveShimBinary(){let e=`darwin-${process.arch}`,r=te.join(e,"cdx-shim"),n=require.main&&require.main.filename&&te.dirname(require.main.filename)||__dirname,s=[te.resolve(n,r),te.resolve(n,"../dist",r),te.resolve(__dirname,"../../../dist",r)],o=te.dirname(process.execPath);s.push(te.join(o,"..","lib","node_modules","makecoder","dist",e,"cdx-shim"),te.join(o,"node_modules","makecoder","dist",e,"cdx-shim"));for(let i of s)if(_e.existsSync(i))return i;throw new Error(`\u672A\u627E\u5230 cdx-shim\uFF08dist/${e}/cdx-shim\uFF09\u3002\u8BF7\u91CD\u65B0\u5B89\u88C5 makecoder \u6216\u672C\u5730\u6267\u884C \`make fetch_tools\`\u3002`)}_resolveCoderEntry(){return{exec:_e.realpathSync(process.execPath),entry:_e.realpathSync(process.argv[1])}}_installShim({apikey:e,coderBaseUrl:r}){let n=this._resolveShimBinary(),{exec:s,entry:o}=this._resolveCoderEntry(),i=process.env.CODER_PROFILE,a=i?`.coder.${i}`:".coder",c=te.join(wi.homedir(),a,"codex-app");_e.mkdirSync(c,{recursive:!0,mode:448});let d=te.join(c,"cdx-shim");_e.copyFileSync(n,d),_e.chmodSync(d,493);let l=`exec=${s}
20
20
  entry=${o}
21
21
  apikey=${e||""}
22
- baseurl=${t||""}
23
- `;return ke.writeFileSync(`${l}.conf`,d,{mode:384}),process.env.CODER_DEBUG&&(console.log(`[codex app] cdx-shim \u5DF2\u5B89\u88C5: ${l}`),console.log(`[codex app] exec=${s} entry=${o}`)),l}_injectDesktopEnv(e,t){if(process.platform!=="darwin")return null;let n;try{n=this._installShim({apikey:e,coderBaseUrl:t})}catch(i){return process.env.CODER_DEBUG&&console.log(`[codex app] \u5B89\u88C5 cdx-shim \u5931\u8D25\uFF0C\u8DF3\u8FC7 CODEX_CLI_PATH \u6CE8\u5165\uFF1B\u684C\u9762 App \u5C06\u4F7F\u7528\u81EA\u5E26 codex\uFF08\u4E0D\u8D70\u4EE3\u7406\uFF09: ${i.message}`),null}let s={CODEX_CLI_PATH:n};e&&(s.CODER_APIKEY=e);let o=[];for(let[i,a]of Object.entries(s))try{Dn("launchctl",["setenv",i,a],{stdio:"ignore"}),o.push(i)}catch(c){process.env.CODER_DEBUG&&console.log(`[codex app] launchctl setenv ${i} \u5931\u8D25: ${c.message}`)}return process.env.CODER_DEBUG&&o.length&&console.log(`[codex app] \u5DF2\u6CE8\u5165 launchd \u73AF\u5883\u53D8\u91CF: ${o.join(", ")} (shim: ${n})`),o.length?o:null}_removeDesktopEnv(e){for(let t of e)try{Dn("launchctl",["unsetenv",t],{stdio:"ignore"})}catch(n){process.env.CODER_DEBUG&&console.log(`[codex app] launchctl unsetenv ${t} \u5931\u8D25: ${n.message}`)}}};Pn.exports=mr});var Pt=b((vm,qn)=>{var sa=wn(),oa=On(),ia=Sn(),aa=Tn(),ca=Un();function jn(){let r=new sa;if(process.env.CODER_DEBUG)try{console.error(`[DEBUG] ClaudeBunLauncher selected, executable: ${r.findExecutablePath()}`)}catch(e){console.error(`[DEBUG] ClaudeBunLauncher executable not yet resolved: ${e.message}`)}return r}var Dt={claude:{aliases:["claude"],description:"Claude Code \u667A\u80FD\u4F53\uFF08\u9ED8\u8BA4\uFF09",create:jn,mapArgs:r=>r},"claude-app":{aliases:["claude-app"],description:"\u914D\u7F6E Claude Desktop\uFF08macOS\uFF09\u8D70 coder API\uFF1Asetup|restore|status",create:()=>new oa,mapArgs:r=>r},codex:{aliases:["codex"],description:"OpenAI Codex \u667A\u80FD\u4F53",create:()=>new aa,mapArgs:r=>r},"codex-app":{aliases:["codex-app"],description:"\u914D\u7F6E Codex Desktop\uFF08macOS\uFF09\u8D70 coder API",create:()=>new ca,mapArgs:r=>["app",...r]},gemini:{aliases:["gemini"],description:"Gemini \u667A\u80FD\u4F53",create:()=>new ia,mapArgs:r=>r}},Nn=Object.keys(Dt),la=new Set(["claude","codex","gemini"]);function da(r){return Object.prototype.hasOwnProperty.call(Dt,r)}function Rn(r){return Dt[r]||null}async function ua(r,e,t){let n=Rn(r);return n?await n.create().launch({remainingArgs:n.mapArgs(e),coderBaseUrl:t.getCoderBaseUrl(),apikey:t.getApiKey()}):(t.fail(`unknown agent: ${r}`,`available: ${Nn.join(" | ")}`),1)}qn.exports={AGENTS:Dt,AGENT_NAMES:Nn,SHORTCUTS:la,isAgentName:da,getAgent:Rn,launchAgent:ua,createClaudeLauncher:jn}});var Vn=b((Om,Mn)=>{var ht=require("fs"),Zn=require("path"),{spawn:Ln}=require("child_process"),pr=class{constructor(){this.extensionId="codev.codev-background";let e=require.main?Zn.dirname(require.main.filename):__dirname;this.extensionPath=Zn.resolve(e,"vendor/claude-code.vsix"),this._codeCommand=null}async resolveCodeCommand(){if(this._codeCommand)return this._codeCommand;if(process.env.IS_AISTUDIO==="True"){let e="/usr/lib/aistudio/lib/vscode/bin/remote-cli/aistudio";if(ht.existsSync(e))try{return ht.accessSync(e,ht.constants.F_OK|ht.constants.X_OK),this._codeCommand=e,process.env.CODER_DEBUG&&console.log(`Using AI Studio VSCode path: ${e}`),this._codeCommand}catch(t){process.env.CODER_DEBUG&&console.log(`AI Studio path exists but not executable: ${t.message}`)}else process.env.CODER_DEBUG&&console.log(`AI Studio path not found: ${e}`)}try{let{spawn:e}=require("child_process");return new Promise(t=>{let n=e("which",["code"],{stdio:["ignore","pipe","ignore"]}),s="";n.stdout.on("data",o=>{s+=o.toString().trim()}),n.on("close",o=>{o===0&&s?(this._codeCommand=s,process.env.CODER_DEBUG&&console.log(`Resolved code command path: ${s}`),t(this._codeCommand)):(this._codeCommand="code",t(this._codeCommand))}),n.on("error",()=>{this._codeCommand="code",t(this._codeCommand)}),setTimeout(()=>{n.kill(),this._codeCommand="code",t(this._codeCommand)},3e3)})}catch{return this._codeCommand="code",this._codeCommand}}async shouldInstallExtension(){try{return process.env.IS_AISTUDIO!=="True"?(process.env.CODER_DEBUG&&console.log("Not in AI Studio environment (IS_AISTUDIO!=True), skipping extension installation"),!1):await this.isVSCodeAvailable()?await this.isExtensionInstalled()?(process.env.CODER_DEBUG&&console.log(`Extension ${this.extensionId} already installed`),!1):!!ht.existsSync(this.extensionPath):(process.env.CODER_DEBUG&&console.log("VSCode not available, skipping extension installation"),!1)}catch(e){return process.env.CODER_DEBUG&&console.error(`Error checking extension installation status: ${e.message}`),!1}}async installExtension(){try{return console.log("Installing Codev VSCode extension..."),await this.executeVSCodeCommand(["--install-extension",this.extensionPath])?(console.log("\u2705 Codev VSCode extension installed successfully"),!0):(console.warn("\u274C Failed to install Codev VSCode extension"),!1)}catch(e){return console.warn(`Error installing VSCode extension: ${e.message}`),!1}}async isVSCodeAvailable(){try{let e=process.env.IS_AISTUDIO==="True"?["--help"]:["--version"],t=await this.executeVSCodeCommand(e,{timeout:1e4});if(process.env.CODER_DEBUG&&(console.log(`VSCode availability check (${e.join(" ")}): ${t?"available":"unavailable"}`),process.env.IS_AISTUDIO==="True")){let{spawn:n}=require("child_process");try{n("which",["code"],{stdio:["ignore","pipe","ignore"]}).stdout.on("data",o=>{console.log("which code:",o.toString().trim())})}catch(s){console.log("which command failed:",s.message)}}return t}catch(e){return process.env.CODER_DEBUG&&console.error("VSCode availability check error:",e.message),!1}}async isExtensionInstalled(){let e=await this.resolveCodeCommand();try{return new Promise(t=>{try{let n={stdio:["ignore","pipe","ignore"],shell:!1,env:{...process.env,PATH:process.env.PATH,HOME:process.env.HOME,USER:process.env.USER}};process.env.CODER_DEBUG&&console.log(`Spawning: ${e} --list-extensions`);let s=Ln(e,["--list-extensions"],n),o="";s.stdout.on("data",i=>{o+=i.toString()}),s.on("close",i=>{if(i===0){let a=o.split(`
24
- `).map(c=>c.trim());t(a.includes(this.extensionId))}else t(!1)}),s.on("error",i=>{process.env.CODER_DEBUG&&(console.error("VSCode list extensions error:",i.message),console.error("Error code:",i.code),console.error("Error errno:",i.errno),console.error("Error syscall:",i.syscall)),t(!1)}),setTimeout(()=>{try{s.kill()}catch{}t(!1)},1e4)}catch(n){process.env.CODER_DEBUG&&console.error("Failed to spawn VSCode list extensions:",n.message),t(!1)}})}catch{return!1}}async executeVSCodeCommand(e,t={}){let n=await this.resolveCodeCommand();return new Promise(s=>{try{let o={stdio:"ignore",shell:!1,env:{...process.env,PATH:process.env.PATH,HOME:process.env.HOME,USER:process.env.USER}};process.env.CODER_DEBUG&&console.log(`Spawning: ${n} ${e.join(" ")}`);let i=Ln(n,e,o);i.on("close",c=>{s(c===0)}),i.on("error",c=>{process.env.CODER_DEBUG&&(console.error("VSCode command error:",c.message),console.error("Error code:",c.code),console.error("Error errno:",c.errno),console.error("Error syscall:",c.syscall)),s(!1)});let a=t.timeout||3e4;setTimeout(()=>{try{i.kill()}catch{}s(!1)},a)}catch(o){process.env.CODER_DEBUG&&console.error("Failed to spawn VSCode command:",o.message),s(!1)}})}async ensureExtensionInstalled(){try{process.env.CODER_DEBUG&&console.log("VSCode Extension Service: Checking extension status..."),await this.shouldInstallExtension()&&await this.installExtension()}catch(e){process.env.CODER_DEBUG&&console.error("VSCode Extension Service Error:",e)}}};Mn.exports=pr});var ft=b(($m,ma)=>{ma.exports={name:"makecoder",version:"4.1.5",description:"MakeCoder Coder: AI Agent Runtime OS that runs and orchestrates Claude Code, Codex, Gemini and more across CLI, API, Web and chat",main:"./dist/coder.js",bin:{coder:"./dist/coder.js"},scripts:{test:"node --test test/*.test.js",start:"node ./src/coder.js",build:"node scripts/build.js","build:clean":"node scripts/build.js --clean","build:dev":"node scripts/build.js --no-minify --sourcemap",postinstall:"node scripts/postinstall.js"},keywords:["ai-agent-runtime","agent-os","ai","cli","claude","gemini","codex","agent","orchestration","llm"],author:"makecoder",license:"MIT",repository:{type:"git",url:"https://github.com/makecoderai/coder.git"},homepage:"https://github.com/makecoderai/coder",dependencies:{bun:">=1.3.12",commander:"^15.0.0","node-fetch":"^3.3.2",open:"^10.1.0",zod:"^3.25.76"},engines:{node:">=20.0.0"},devDependencies:{chokidar:"^4.0.3"},files:["dist","scripts/postinstall.js"]}});var Fn=b((Sm,Bn)=>{var hr=require("crypto"),{URL:pa}=require("url"),fr=class{static generateSignature(e,t,n,s){try{let o=new pa(e),i=Buffer.from(o.pathname),a=Buffer.from(i),c=t?typeof t=="string"?Buffer.from(t):Buffer.from(JSON.stringify(t)):Buffer.alloc(0),l=Buffer.concat([a,c,Buffer.from(s)]),d=hr.createHmac("sha256",n);return d.update(l),d.digest("hex")}catch(o){throw new Error(`Failed to generate signature: ${o.message}`)}}static validateSignature(e,t,n,s,o){return this.generateSignature(e,t,n,s)===o}static generateTimestamp(){return Date.now().toString()}static generateStrongPassword(e=16){let t="abcdefghijkmnpqrstuvwxyz",n="ABCDEFGHJKLMNPQRSTUVWXYZ",s="23456789",o="!@#$%^&*-_=+",i=t+n+s+o;e<8&&(e=8);let a=l=>l[hr.randomBytes(1)[0]%l.length],c=[a(t),a(n),a(s),a(o)];for(;c.length<e;)c.push(a(i));for(let l=c.length-1;l>0;l--){let d=hr.randomBytes(1)[0]%(l+1);[c[l],c[d]]=[c[d],c[l]]}return c.join("")}};Bn.exports=fr});var Ut=b((Am,zn)=>{var ha=require("https"),{URL:fa}=require("url"),Gn="https://makecoder.com/bigapis/auth/v1",ga="https://makecoder.com/bigapis/kbb2/v1",ya="https://makecoder.com/wiki/api",gr=class{constructor(e){this.token=e}request(e,t,n,s){return new Promise((o,i)=>{let a=s||Gn,c=new fa(`${a}${t}`),l={"Content-Type":"application/json",Authorization:`Bearer ${this.token}`},d=null;n!=null&&(d=JSON.stringify(n),l["Content-Length"]=Buffer.byteLength(d));let u=ha.request({hostname:c.hostname,port:c.port||443,path:c.pathname+c.search,method:e,headers:l},h=>{let _="";h.on("data",v=>_+=v),h.on("end",()=>o({status:h.statusCode,body:_}))});u.on("error",i),d&&u.write(d),u.end()})}};function Hn(r){try{return JSON.parse(r)}catch{return null}}function _a(r){return r===401?2:r===403?5:r===404?4:r===409?6:1}function ba(r){let e=Hn(r);return e?.message?e.message:e?.error?e.error:(r||"").slice(0,200)||"\u8BF7\u6C42\u5931\u8D25"}zn.exports={TeamHttp:gr,parseJson:Hn,exitCodeForStatus:_a,errorMessage:ba,API_BASE:Gn,BIGKBB_BASE:ga,WIKI_API_BASE:ya}});var Kn=b((Em,Wn)=>{var yr=r=>String(r??"").replace(/\|/g,"\\|").replace(/\n/g," ");function xa(r,e,t={}){let{labels:n={},empty:s="\uFF08\u7A7A\uFF09"}=t;if(!e||!e.length){r.emit(s);return}if(r.isJson){r.emit(e);return}let o=Object.keys(e[0]),a=[`| ${o.map(c=>n[c]||c).map(yr).join(" | ")} |`,`| ${o.map(()=>"---").join(" | ")} |`,...e.map(c=>`| ${o.map(l=>yr(c[l])).join(" | ")} |`)];r.emit(a.join(`
25
- `))}function wa(r,e,t=null){if(r.isJson){let n={};for(let[s,o]of e)n[s]=o;t&&typeof t=="object"&&Object.assign(n,t),r.emit(n);return}r.emit(e.map(([n,s,o])=>`${o||n}: ${s??""}`).join(`
26
- `))}Wn.exports={emitTable:xa,emitDetails:wa,escCell:yr}});var Qn=b((Dm,Xn)=>{var{TeamHttp:Tm,parseJson:Ca,exitCodeForStatus:Ia,errorMessage:ka,BIGKBB_BASE:va,WIKI_API_BASE:Oa}=Ut();function ve(r,e,t,n=1){r.fail(e,t);let s=new Error("__handled__");throw s.handled=!0,s.code=n,s}function Jn(r,e){ve(r,ka(e.body),$a(e.status),Ia(e.status))}function $a(r){if(r===401)return"\u5148\u767B\u5F55: coder auth login --apikey <ak>.<sk>";if(r===403)return"\u6743\u9650\u4E0D\u8DB3\uFF0C\u9700\u56E2\u961F owner / manager\uFF1B\u786E\u8BA4\u5F53\u524D\u56E2\u961F: coder team current";if(r===404)return"\u786E\u8BA4 id \u6B63\u786E\uFF0C\u6216\u7528 coder team list / members \u67E5\u627E"}function Yn(r,e){if(e)return e;let t=r.ctx.getTeam?r.ctx.getTeam():null;return t&&t.id?t.id:null}function Sa(r,e){let t=Yn(r,e);return t||ve(r.ctx,"\u672A\u6307\u5B9A teamId \u4E14\u65E0\u9ED8\u8BA4\u56E2\u961F","\u8FD0\u884C coder team use <id> \u8BBE\u9ED8\u8BA4\u56E2\u961F\uFF0C\u6216\u52A0 --team <id> / \u4F4D\u7F6E\u53C2\u6570",3),t}async function Aa(r,e){let t=encodeURIComponent(JSON.stringify({id__in:[e]})),n;try{n=await r.http.request("GET",`/team?constraints=${t}`)}catch(i){ve(r.ctx,`\u7F51\u7EDC\u9519\u8BEF ${i.message}`,void 0,1)}n.status!==200&&Jn(r.ctx,n);let s=Ca(n.body),o=s&&s.data&&s.data.items||[];return o.length||ve(r.ctx,`\u56E2\u961F ${e} \u4E0D\u5B58\u5728`,"\u8FD0\u884C coder team list \u67E5\u770B\u53EF\u7528\u56E2\u961F",4),o[0]}function Ea(r){return Array.isArray(r.members)?r.members:[]}function Ta(r,e,t,n){let s=e.find(o=>o.user_id===t||o.id===t||o.username===t);return s||ve(r.ctx,`\u6210\u5458 '${t}' \u4E0D\u5728\u56E2\u961F '${n||""}' \u4E2D`,"\u8FD0\u884C coder team members \u67E5\u770B\u6210\u5458\uFF0Cuser_id / username \u5747\u53EF",4),s}function Da(r,e){return e?r.filter(t=>t.user_type===e):r}function Pa(r,e){e&&e!=="human"&&e!=="ai"&&ve(r.ctx,`--type \u4EC5\u652F\u6301 human \u6216 ai\uFF0C\u6536\u5230 '${e}'`,void 0,3)}function Ua(r,e){let t=r.config&&r.config.metadata&&r.config.metadata.created_by;if(!t)return"";let n=e.find(s=>s.user_id===t);return n?n.nickname?`${n.username}(${n.nickname})`:n.username:t}function ja(r){return r==="mentor"?"admin":"member"}async function Na(r,e,t){try{let n=await r.http.request("POST",`/${e}`,t,Oa);(n.status<200||n.status>=300)&&process.stderr.write(`Warning: \u77E5\u8BC6\u5E93\u540C\u6B65\u5931\u8D25 (${e}): HTTP ${n.status}
22
+ baseurl=${r||""}
23
+ `;return _e.writeFileSync(`${d}.conf`,l,{mode:384}),process.env.CODER_DEBUG&&(console.log(`[codex app] cdx-shim \u5DF2\u5B89\u88C5: ${d}`),console.log(`[codex app] exec=${s} entry=${o}`)),d}_injectDesktopEnv(e,r){if(process.platform!=="darwin")return null;let n;try{n=this._installShim({apikey:e,coderBaseUrl:r})}catch(i){return process.env.CODER_DEBUG&&console.log(`[codex app] \u5B89\u88C5 cdx-shim \u5931\u8D25\uFF0C\u8DF3\u8FC7 CODEX_CLI_PATH \u6CE8\u5165\uFF1B\u684C\u9762 App \u5C06\u4F7F\u7528\u81EA\u5E26 codex\uFF08\u4E0D\u8D70\u4EE3\u7406\uFF09: ${i.message}`),null}let s={CODEX_CLI_PATH:n};e&&(s.CODER_APIKEY=e);let o=[];for(let[i,a]of Object.entries(s))try{mn("launchctl",["setenv",i,a],{stdio:"ignore"}),o.push(i)}catch(c){process.env.CODER_DEBUG&&console.log(`[codex app] launchctl setenv ${i} \u5931\u8D25: ${c.message}`)}return process.env.CODER_DEBUG&&o.length&&console.log(`[codex app] \u5DF2\u6CE8\u5165 launchd \u73AF\u5883\u53D8\u91CF: ${o.join(", ")} (shim: ${n})`),o.length?o:null}_removeDesktopEnv(e){for(let r of e)try{mn("launchctl",["unsetenv",r],{stdio:"ignore"})}catch(n){process.env.CODER_DEBUG&&console.log(`[codex app] launchctl unsetenv ${r} \u5931\u8D25: ${n.message}`)}}};pn.exports=Ht});var It=b((Vu,_n)=>{var Ti=en(),Ai=on(),Ei=cn(),Oi=un(),Di=fn();function hn(){let t=new Ti;if(process.env.CODER_DEBUG)try{console.error(`[DEBUG] ClaudeBunLauncher selected, executable: ${t.findExecutablePath()}`)}catch(e){console.error(`[DEBUG] ClaudeBunLauncher executable not yet resolved: ${e.message}`)}return t}var bt={claude:{aliases:["claude"],description:"Claude Code \u667A\u80FD\u4F53\uFF08\u9ED8\u8BA4\uFF09",create:hn,mapArgs:t=>t},"claude-app":{aliases:["claude-app"],description:"\u914D\u7F6E Claude Desktop\uFF08macOS\uFF09\u8D70 coder API\uFF1Asetup|restore|status",create:()=>new Ai,mapArgs:t=>t},codex:{aliases:["codex"],description:"OpenAI Codex \u667A\u80FD\u4F53",create:()=>new Oi,mapArgs:t=>t},"codex-app":{aliases:["codex-app"],description:"\u914D\u7F6E Codex Desktop\uFF08macOS\uFF09\u8D70 coder API",create:()=>new Di,mapArgs:t=>["app",...t]},gemini:{aliases:["gemini"],description:"Gemini \u667A\u80FD\u4F53",create:()=>new Ei,mapArgs:t=>t}},gn=Object.keys(bt),Pi=new Set(["claude","codex","gemini"]);function Ui(t){return Object.prototype.hasOwnProperty.call(bt,t)}function yn(t){return bt[t]||null}async function ji(t,e,r){let n=yn(t);return n?await n.create().launch({remainingArgs:n.mapArgs(e),coderBaseUrl:r.getCoderBaseUrl(),apikey:r.getApiKey()}):(r.fail(`unknown agent: ${t}`,`available: ${gn.join(" | ")}`),1)}_n.exports={AGENTS:bt,AGENT_NAMES:gn,SHORTCUTS:Pi,isAgentName:Ui,getAgent:yn,launchAgent:ji,createClaudeLauncher:hn}});var kn=b((Fu,xn)=>{var st=require("fs"),bn=require("path"),{spawn:In}=require("child_process"),Wt=class{constructor(){this.extensionId="codev.codev-background";let e=require.main?bn.dirname(require.main.filename):__dirname;this.extensionPath=bn.resolve(e,"vendor/claude-code.vsix"),this._codeCommand=null}async resolveCodeCommand(){if(this._codeCommand)return this._codeCommand;if(process.env.IS_AISTUDIO==="True"){let e="/usr/lib/aistudio/lib/vscode/bin/remote-cli/aistudio";if(st.existsSync(e))try{return st.accessSync(e,st.constants.F_OK|st.constants.X_OK),this._codeCommand=e,process.env.CODER_DEBUG&&console.log(`Using AI Studio VSCode path: ${e}`),this._codeCommand}catch(r){process.env.CODER_DEBUG&&console.log(`AI Studio path exists but not executable: ${r.message}`)}else process.env.CODER_DEBUG&&console.log(`AI Studio path not found: ${e}`)}try{let{spawn:e}=require("child_process");return new Promise(r=>{let n=e("which",["code"],{stdio:["ignore","pipe","ignore"]}),s="";n.stdout.on("data",o=>{s+=o.toString().trim()}),n.on("close",o=>{o===0&&s?(this._codeCommand=s,process.env.CODER_DEBUG&&console.log(`Resolved code command path: ${s}`),r(this._codeCommand)):(this._codeCommand="code",r(this._codeCommand))}),n.on("error",()=>{this._codeCommand="code",r(this._codeCommand)}),setTimeout(()=>{n.kill(),this._codeCommand="code",r(this._codeCommand)},3e3)})}catch{return this._codeCommand="code",this._codeCommand}}async shouldInstallExtension(){try{return process.env.IS_AISTUDIO!=="True"?(process.env.CODER_DEBUG&&console.log("Not in AI Studio environment (IS_AISTUDIO!=True), skipping extension installation"),!1):await this.isVSCodeAvailable()?await this.isExtensionInstalled()?(process.env.CODER_DEBUG&&console.log(`Extension ${this.extensionId} already installed`),!1):!!st.existsSync(this.extensionPath):(process.env.CODER_DEBUG&&console.log("VSCode not available, skipping extension installation"),!1)}catch(e){return process.env.CODER_DEBUG&&console.error(`Error checking extension installation status: ${e.message}`),!1}}async installExtension(){try{return console.log("Installing Codev VSCode extension..."),await this.executeVSCodeCommand(["--install-extension",this.extensionPath])?(console.log("\u2705 Codev VSCode extension installed successfully"),!0):(console.warn("\u274C Failed to install Codev VSCode extension"),!1)}catch(e){return console.warn(`Error installing VSCode extension: ${e.message}`),!1}}async isVSCodeAvailable(){try{let e=process.env.IS_AISTUDIO==="True"?["--help"]:["--version"],r=await this.executeVSCodeCommand(e,{timeout:1e4});if(process.env.CODER_DEBUG&&(console.log(`VSCode availability check (${e.join(" ")}): ${r?"available":"unavailable"}`),process.env.IS_AISTUDIO==="True")){let{spawn:n}=require("child_process");try{n("which",["code"],{stdio:["ignore","pipe","ignore"]}).stdout.on("data",o=>{console.log("which code:",o.toString().trim())})}catch(s){console.log("which command failed:",s.message)}}return r}catch(e){return process.env.CODER_DEBUG&&console.error("VSCode availability check error:",e.message),!1}}async isExtensionInstalled(){let e=await this.resolveCodeCommand();try{return new Promise(r=>{try{let n={stdio:["ignore","pipe","ignore"],shell:!1,env:{...process.env,PATH:process.env.PATH,HOME:process.env.HOME,USER:process.env.USER}};process.env.CODER_DEBUG&&console.log(`Spawning: ${e} --list-extensions`);let s=In(e,["--list-extensions"],n),o="";s.stdout.on("data",i=>{o+=i.toString()}),s.on("close",i=>{if(i===0){let a=o.split(`
24
+ `).map(c=>c.trim());r(a.includes(this.extensionId))}else r(!1)}),s.on("error",i=>{process.env.CODER_DEBUG&&(console.error("VSCode list extensions error:",i.message),console.error("Error code:",i.code),console.error("Error errno:",i.errno),console.error("Error syscall:",i.syscall)),r(!1)}),setTimeout(()=>{try{s.kill()}catch{}r(!1)},1e4)}catch(n){process.env.CODER_DEBUG&&console.error("Failed to spawn VSCode list extensions:",n.message),r(!1)}})}catch{return!1}}async executeVSCodeCommand(e,r={}){let n=await this.resolveCodeCommand();return new Promise(s=>{try{let o={stdio:"ignore",shell:!1,env:{...process.env,PATH:process.env.PATH,HOME:process.env.HOME,USER:process.env.USER}};process.env.CODER_DEBUG&&console.log(`Spawning: ${n} ${e.join(" ")}`);let i=In(n,e,o);i.on("close",c=>{s(c===0)}),i.on("error",c=>{process.env.CODER_DEBUG&&(console.error("VSCode command error:",c.message),console.error("Error code:",c.code),console.error("Error errno:",c.errno),console.error("Error syscall:",c.syscall)),s(!1)});let a=r.timeout||3e4;setTimeout(()=>{try{i.kill()}catch{}s(!1)},a)}catch(o){process.env.CODER_DEBUG&&console.error("Failed to spawn VSCode command:",o.message),s(!1)}})}async ensureExtensionInstalled(){try{process.env.CODER_DEBUG&&console.log("VSCode Extension Service: Checking extension status..."),await this.shouldInstallExtension()&&await this.installExtension()}catch(e){process.env.CODER_DEBUG&&console.error("VSCode Extension Service Error:",e)}}};xn.exports=Wt});var ot=b((Gu,Ni)=>{Ni.exports={name:"makecoder",version:"4.1.7",description:"MakeCoder Coder: AI Agent Runtime OS that runs and orchestrates Claude Code, Codex, Gemini and more across CLI, API, Web and chat",main:"./dist/coder.js",bin:{coder:"./dist/coder.js"},scripts:{test:"node --test test/*.test.js",start:"node ./src/coder.js",build:"node scripts/build.js","build:clean":"node scripts/build.js --clean","build:dev":"node scripts/build.js --no-minify --sourcemap",postinstall:"node scripts/postinstall.js"},keywords:["ai-agent-runtime","agent-os","ai","cli","claude","gemini","codex","agent","orchestration","llm"],author:"makecoder",license:"MIT",repository:{type:"git",url:"https://github.com/makecoderai/coder.git"},homepage:"https://github.com/makecoderai/coder",dependencies:{bun:">=1.3.12",commander:"^15.0.0","node-fetch":"^3.3.2",open:"^10.1.0",zod:"^3.25.76"},engines:{node:">=20.0.0"},devDependencies:{chokidar:"^4.0.3"},files:["dist","scripts/postinstall.js"]}});var vn=b((zu,wn)=>{var Yt=require("crypto"),{URL:Ri}=require("url"),Xt=class{static generateSignature(e,r,n,s){try{let o=new Ri(e),i=Buffer.from(o.pathname),a=Buffer.from(i),c=r?typeof r=="string"?Buffer.from(r):Buffer.from(JSON.stringify(r)):Buffer.alloc(0),d=Buffer.concat([a,c,Buffer.from(s)]),l=Yt.createHmac("sha256",n);return l.update(d),l.digest("hex")}catch(o){throw new Error(`Failed to generate signature: ${o.message}`)}}static validateSignature(e,r,n,s,o){return this.generateSignature(e,r,n,s)===o}static generateTimestamp(){return Date.now().toString()}static generateStrongPassword(e=16){let r="abcdefghijkmnpqrstuvwxyz",n="ABCDEFGHJKLMNPQRSTUVWXYZ",s="23456789",o="!@#$%^&*-_=+",i=r+n+s+o;e<8&&(e=8);let a=d=>d[Yt.randomBytes(1)[0]%d.length],c=[a(r),a(n),a(s),a(o)];for(;c.length<e;)c.push(a(i));for(let d=c.length-1;d>0;d--){let l=Yt.randomBytes(1)[0]%(d+1);[c[d],c[l]]=[c[l],c[d]]}return c.join("")}};wn.exports=Xt});var xt=b((Ku,Sn)=>{var Zi=require("https"),{URL:qi}=require("url"),Cn="https://makecoder.com/bigapis/auth/v1",Li="https://makecoder.com/bigapis/kbb2/v1",Mi="https://makecoder.com/wiki/api",Qt=class{constructor(e){this.token=e}request(e,r,n,s){return new Promise((o,i)=>{let a=s||Cn,c=new qi(`${a}${r}`),d={"Content-Type":"application/json",Authorization:`Bearer ${this.token}`},l=null;n!=null&&(l=JSON.stringify(n),d["Content-Length"]=Buffer.byteLength(l));let p=Zi.request({hostname:c.hostname,port:c.port||443,path:c.pathname+c.search,method:e,headers:d},g=>{let _="";g.on("data",D=>_+=D),g.on("end",()=>o({status:g.statusCode,body:_}))});p.on("error",i),l&&p.write(l),p.end()})}};function $n(t){try{return JSON.parse(t)}catch{return null}}function Bi(t){return t===401?2:t===403?5:t===404?4:t===409?6:1}function Vi(t){let e=$n(t);return e?.message?e.message:e?.error?e.error:(t||"").slice(0,200)||"\u8BF7\u6C42\u5931\u8D25"}Sn.exports={TeamHttp:Qt,parseJson:$n,exitCodeForStatus:Bi,errorMessage:Vi,API_BASE:Cn,BIGKBB_BASE:Li,WIKI_API_BASE:Mi}});var An=b((Ju,Tn)=>{var er=t=>String(t??"").replace(/\|/g,"\\|").replace(/\n/g," ");function Fi(t,e,r={}){let{labels:n={},empty:s="\uFF08\u7A7A\uFF09"}=r;if(!e||!e.length){t.emit(s);return}if(t.isJson){t.emit(e);return}let o=Object.keys(e[0]),a=[`| ${o.map(c=>n[c]||c).map(er).join(" | ")} |`,`| ${o.map(()=>"---").join(" | ")} |`,...e.map(c=>`| ${o.map(d=>er(c[d])).join(" | ")} |`)];t.emit(a.join(`
25
+ `))}function Gi(t,e,r=null){if(t.isJson){let n={};for(let[s,o]of e)n[s]=o;r&&typeof r=="object"&&Object.assign(n,r),t.emit(n);return}t.emit(e.map(([n,s,o])=>`${o||n}: ${s??""}`).join(`
26
+ `))}Tn.exports={emitTable:Fi,emitDetails:Gi,escCell:er}});var Pn=b((Wu,Dn)=>{var{TeamHttp:Hu,parseJson:zi,exitCodeForStatus:Ki,errorMessage:Ji,BIGKBB_BASE:Hi,WIKI_API_BASE:Wi}=xt();function be(t,e,r,n=1){t.fail(e,r);let s=new Error("__handled__");throw s.handled=!0,s.code=n,s}function En(t,e){be(t,Ji(e.body),Yi(e.status),Ki(e.status))}function Yi(t){if(t===401)return"\u5148\u767B\u5F55: coder auth login --apikey <ak>.<sk>";if(t===403)return"\u6743\u9650\u4E0D\u8DB3\uFF0C\u9700\u56E2\u961F owner / manager\uFF1B\u786E\u8BA4\u5F53\u524D\u56E2\u961F: coder team current";if(t===404)return"\u786E\u8BA4 id \u6B63\u786E\uFF0C\u6216\u7528 coder team list / members \u67E5\u627E"}function On(t,e){if(e)return e;let r=t.ctx.getTeam?t.ctx.getTeam():null;return r&&r.id?r.id:null}function Xi(t,e){let r=On(t,e);return r||be(t.ctx,"\u672A\u6307\u5B9A teamId \u4E14\u65E0\u9ED8\u8BA4\u56E2\u961F","\u8FD0\u884C coder team use <id> \u8BBE\u9ED8\u8BA4\u56E2\u961F\uFF0C\u6216\u52A0 --team <id> / \u4F4D\u7F6E\u53C2\u6570",3),r}async function Qi(t,e){let r=encodeURIComponent(JSON.stringify({id__in:[e]})),n;try{n=await t.http.request("GET",`/team?constraints=${r}`)}catch(i){be(t.ctx,`\u7F51\u7EDC\u9519\u8BEF ${i.message}`,void 0,1)}n.status!==200&&En(t.ctx,n);let s=zi(n.body),o=s&&s.data&&s.data.items||[];return o.length||be(t.ctx,`\u56E2\u961F ${e} \u4E0D\u5B58\u5728`,"\u8FD0\u884C coder team list \u67E5\u770B\u53EF\u7528\u56E2\u961F",4),o[0]}function ea(t){return Array.isArray(t.members)?t.members:[]}function ta(t,e,r,n){let s=e.find(o=>o.user_id===r||o.id===r||o.username===r);return s||be(t.ctx,`\u6210\u5458 '${r}' \u4E0D\u5728\u56E2\u961F '${n||""}' \u4E2D`,"\u8FD0\u884C coder team members \u67E5\u770B\u6210\u5458\uFF0Cuser_id / username \u5747\u53EF",4),s}function ra(t,e){return e?t.filter(r=>r.user_type===e):t}function na(t,e){e&&e!=="human"&&e!=="ai"&&be(t.ctx,`--type \u4EC5\u652F\u6301 human \u6216 ai\uFF0C\u6536\u5230 '${e}'`,void 0,3)}function sa(t,e){let r=t.config&&t.config.metadata&&t.config.metadata.created_by;if(!r)return"";let n=e.find(s=>s.user_id===r);return n?n.nickname?`${n.username}(${n.nickname})`:n.username:r}function oa(t){return t==="mentor"?"admin":"member"}async function ia(t,e,r){try{let n=await t.http.request("POST",`/${e}`,r,Wi);(n.status<200||n.status>=300)&&process.stderr.write(`Warning: \u77E5\u8BC6\u5E93\u540C\u6B65\u5931\u8D25 (${e}): HTTP ${n.status}
27
27
  `)}catch(n){process.stderr.write(`Warning: \u77E5\u8BC6\u5E93\u540C\u6B65\u5931\u8D25 (${e}): ${n.message}
28
- `)}}Xn.exports={abort:ve,abortOnHttp:Jn,resolveTeamId:Yn,requireTeamId:Sa,fetchTeam:Aa,teamMembers:Ea,findMember:Ta,filterMembersByType:Da,validateType:Pa,resolveMentorUsername:Ua,toWikiGroupRole:ja,wikiSync:Na,BIGKBB_BASE:va}});var br=b((Pm,os)=>{var gt=require("fs"),Oe=require("path"),Ra=Fn(),{parseJson:le}=Ut(),{emitTable:jt,emitDetails:H}=Kn(),{abort:$,abortOnHttp:M,requireTeamId:es,fetchTeam:ne,teamMembers:se,findMember:Ke,filterMembersByType:qa,validateType:Za,resolveMentorUsername:ts,toWikiGroupRole:rs,wikiSync:Je,BIGKBB_BASE:La}=Qn(),R=(r,e)=>{let t=r.indexOf(e);return t!==-1?r[t+1]:void 0},ns=(r,...e)=>{for(let t of e){let n=R(r,t);if(n!==void 0)return n}},yt=(r,...e)=>r.some(t=>e.includes(t));function Nt(r,{boolFlags:e=[],valueFlags:t=[]}={}){let n=[];for(let s=0;s<r.length;s++){let o=r[s];if(!e.includes(o)){if(t.includes(o)){s++;continue}o&&o.startsWith("--")||n.push(o)}}return n}function V(r){return es(r,R(r.args,"--team"))}async function B(r,e,t,n,s){try{return await r.http.request(e,t,n,s)}catch(o){$(r.ctx,`\u7F51\u7EDC\u9519\u8BEF ${o.message}`,void 0,1)}}var $e={id:"ID",name:"\u540D\u79F0",members:"\u6210\u5458\u6570",points:"\u79EF\u5206",team:"\u56E2\u961F",description:"\u63CF\u8FF0",points_expire_at:"\u79EF\u5206\u6709\u6548\u671F",active:"\u6FC0\u6D3B",username:"\u7528\u6237\u540D",user_id:"\u7528\u6237ID",type:"\u7C7B\u578B",role:"\u89D2\u8272",nickname:"\u6635\u79F0",introduction:"\u7B80\u4ECB",mentor:"\u5BFC\u5E08",status:"\u72B6\u6001",joined_at:"\u52A0\u5165\u65F6\u95F4",im_bindings:"IM\u7ED1\u5B9A",password:"\u5BC6\u7801",quota:"\u914D\u989D",credentials:"\u51ED\u636E",group:"\u5C0F\u7EC4",group_id:"\u5C0F\u7EC4ID",created_at:"\u521B\u5EFA\u65F6\u95F4",members_total:"\u6210\u5458\u6570",endpoint:"endpoint",confirm:"\u786E\u8BA4"};function Ma(r,e){return{username:r.username||"",user_id:r.user_id||"",type:r.user_type||"",role:r.role||"",nickname:r.nickname||"",introduction:r.introduction||"",mentor:ts(r,e),points:r.points==null?"\u221E":String(r.points),joined_at:(r.created_at||"").slice(0,10)}}function Va(r){return[...r].sort((e,t)=>{let n=e.user_type==="ai"?0:1,s=t.user_type==="ai"?0:1;return n!==s?n-s:(e.username||"").localeCompare(t.username||"")})}function _r(r,e){if(r.ctx.isJson){let t={pending_confirmation:!0};for(let[n,s]of e)t[n]=s;r.ctx.emit(t)}else r.ctx.emit(e.map(([t,n,s])=>`${s||$e[t]||t}: ${n??""}`).join(`
29
- `));return 10}async function Ba(r){let e=encodeURIComponent(JSON.stringify({filter_is_joined:!0})),t=await B(r,"GET",`/team?constraints=${e}&page=1&size=200`);t.status!==200&&M(r.ctx,t);let n=le(t.body);(!n||!n.data)&&$(r.ctx,"\u54CD\u5E94\u89E3\u6790\u5931\u8D25",void 0,1);let s=n.data.items||[];return jt(r.ctx,s.map(o=>({id:o.id||"",name:o.name||"",members:(o.members_count??o.member_count??"")+"",points:o.points!=null?String(o.points):""})),{labels:$e,empty:"\u4F60\u8FD8\u6CA1\u6709\u52A0\u5165\u4EFB\u4F55\u56E2\u961F"}),0}async function Fa(r){let e=r.ctx.getTeam?r.ctx.getTeam():null;return!e||!e.id?(r.ctx.emit("\u672A\u8BBE\u7F6E\u9ED8\u8BA4\u56E2\u961F\uFF0C\u8FD0\u884C coder team use <teamId> \u6765\u8BBE\u7F6E"),0):(H(r.ctx,[["name",e.name||"","\u9ED8\u8BA4\u56E2\u961F"],["id",e.id,"teamId"]]),0)}async function Ga(r){let e=r.arg;e||$(r.ctx,"\u7F3A\u5C11 teamId \u53C2\u6570","\u7528\u6CD5: coder team use <teamId>",3);let t=encodeURIComponent(JSON.stringify({filter_is_joined:!0})),n=await B(r,"GET",`/team?constraints=${t}&page=1&size=200`);n.status!==200&&M(r.ctx,n);let s=le(n.body),i=(s&&s.data&&s.data.items||[]).find(a=>a.id===e);return i||$(r.ctx,`\u56E2\u961F '${e}' \u4E0D\u5728\u4F60\u5DF2\u52A0\u5165\u7684\u5217\u8868\u4E2D`,"\u8FD0\u884C coder team list \u67E5\u770B\u53EF\u7528\u56E2\u961F",4),r.ctx.setTeam(i.id,i.name||"")||$(r.ctx,"\u5199\u5165\u914D\u7F6E\u5931\u8D25",void 0,1),r.ctx.setTeamManual(!0),H(r.ctx,[["name",i.name||"","\u5DF2\u5207\u6362\u9ED8\u8BA4\u56E2\u961F"],["id",i.id,"teamId"]]),0}async function Ha(r){let e=es(r,r.arg||R(r.args,"--team")),t=await ne(r,e),n=se(t),s=n.filter(i=>i.user_type==="ai").length,o=n.filter(i=>i.user_type==="human").length;return H(r.ctx,[["team",`${t.name} (${t.id})`,"\u56E2\u961F"],["description",t.description||"","\u63CF\u8FF0"],["points",t.points??"","\u79EF\u5206"],["points_expire_at",t.points_expire_at||"","\u79EF\u5206\u6709\u6548\u671F"],["active",t.is_active?"yes":"no","\u6FC0\u6D3B"],["members",`${n.length} (ai=${s}, human=${o})`,"\u6210\u5458"]],r.ctx.isJson?{id:t.id,name:t.name,members_total:n.length,members_ai:s,members_human:o}:null),0}async function za(r){let e=R(r.args,"--type")||null;Za(r,e);let t=ns(r.args,"-q","--query")||null,n=V(r),s=await ne(r,n),o=se(s),i=qa(o,e);if(t){let c=t.toLowerCase();i=i.filter(l=>[l.username,l.user_id,l.id,l.nickname,l.introduction].map(d=>(d||"").toLowerCase()).some(d=>d.includes(c)))}let a=t?`\u672A\u5339\u914D\u5230 '${t}'`:e?`\u65E0 ${e} \u7C7B\u578B\u6210\u5458`:"\u56E2\u961F\u6682\u65E0\u6210\u5458";return jt(r.ctx,Va(i).map(c=>Ma(c,o)),{labels:$e,empty:a}),0}async function Wa(r){let e=r.arg;e||$(r.ctx,"\u7F3A\u5C11 userId|username \u53C2\u6570","\u7528\u6CD5: coder team members info <userId|username>",3);let t=V(r),n=await ne(r,t),s=se(n),o=Ke(r,s,e,n.name);return H(r.ctx,[["username",o.username||""],["user_id",o.user_id||""],["type",o.user_type||""],["role",o.role||""],["nickname",o.nickname||""],["introduction",o.introduction||""],["mentor",ts(o,s)],["status",o.status||""],["points",o.points==null?"\u221E":o.points],["joined_at",o.created_at||""],["im_bindings",o.im_bindings&&o.im_bindings.length?o.im_bindings.map(i=>i.channel).join(","):""]].map(([i,a])=>[i,a,$e[i]]),r.ctx.isJson?o:null),0}function Ka(r){let e=Oe.resolve(r);for((!gt.existsSync(e)||!gt.statSync(e).isDirectory())&&(e=Oe.dirname(e));e&&e!==Oe.dirname(e);){if(gt.existsSync(Oe.join(e,".git")))return!0;e=Oe.dirname(e)}return!1}async function Ja(r){let e=R(r.args,"--type")||"human";e!=="human"&&e!=="ai"&&$(r.ctx,`--type \u4EC5\u652F\u6301 human \u6216 ai\uFF0C\u6536\u5230 '${e}'`,void 0,3);let t=R(r.args,"--password")||null,n=R(r.args,"--phone")||null,s=R(r.args,"--points"),o=R(r.args,"--save-to")||null,i=R(r.args,"--nickname")||null,a=R(r.args,"--mentor")||null,c=r.arg;c||$(r.ctx,"\u7F3A\u5C11 username \u53C2\u6570","\u7528\u6CD5: coder team members create <username> [...]",3);let l=V(r);if(e==="human"&&!n&&$(r.ctx,"\u521B\u5EFA human \u6210\u5458\u5FC5\u987B\u63D0\u4F9B --phone <phone>",void 0,3),o){let w=Oe.resolve(o);Ka(w)&&$(r.ctx,`--save-to \u8DEF\u5F84\u5728 git \u4ED3\u5E93\u5185\uFF08${w}\uFF09`,"\u6362\u5230\u4ED3\u5E93\u5916\u7684\u8DEF\u5F84\uFF0C\u907F\u514D\u51ED\u636E\u88AB\u8BEF\u63D0\u4EA4",3)}let d=null;if(s!=null){let w=Number(s);Number.isFinite(w)||$(r.ctx,`--points \u5E94\u4E3A\u6570\u5B57\uFF0C\u6536\u5230 '${s}'`,void 0,3),d=w}let u=t||Ra.generateStrongPassword(16),h=!t,_={payload:{username:c,password:u,phone:n||null,team_id:l,points:d,user_type:e,...i?{nickname:i}:{},...e==="ai"&&a?{config:{metadata:{created_by:a}}}:{}},auto_login:!1,auth_name:"UserPass"},v=await B(r,"POST","/users",_);(v.status<200||v.status>=300)&&M(r.ctx,v);let A=null;if(o){let w=Oe.resolve(o),T=`# Coder team member credentials
28
+ `)}}Dn.exports={abort:be,abortOnHttp:En,resolveTeamId:On,requireTeamId:Xi,fetchTeam:Qi,teamMembers:ea,findMember:ta,filterMembersByType:ra,validateType:na,resolveMentorUsername:sa,toWikiGroupRole:oa,wikiSync:ia,BIGKBB_BASE:Hi}});var rr=b((Yu,qn)=>{var it=require("fs"),Ie=require("path"),aa=vn(),{parseJson:ae}=xt(),{emitTable:kt,emitDetails:G}=An(),{abort:$,abortOnHttp:L,requireTeamId:Un,fetchTeam:re,teamMembers:ne,findMember:Be,filterMembersByType:ca,validateType:da,resolveMentorUsername:jn,toWikiGroupRole:Nn,wikiSync:Ve,BIGKBB_BASE:la}=Pn(),N=(t,e)=>{let r=t.indexOf(e);return r!==-1?t[r+1]:void 0},Rn=(t,...e)=>{for(let r of e){let n=N(t,r);if(n!==void 0)return n}},at=(t,...e)=>t.some(r=>e.includes(r));function wt(t,{boolFlags:e=[],valueFlags:r=[]}={}){let n=[];for(let s=0;s<t.length;s++){let o=t[s];if(!e.includes(o)){if(r.includes(o)){s++;continue}o&&o.startsWith("--")||n.push(o)}}return n}function M(t){return Un(t,N(t.args,"--team"))}async function B(t,e,r,n,s){try{return await t.http.request(e,r,n,s)}catch(o){$(t.ctx,`\u7F51\u7EDC\u9519\u8BEF ${o.message}`,void 0,1)}}var xe={id:"ID",name:"\u540D\u79F0",members:"\u6210\u5458\u6570",points:"\u79EF\u5206",team:"\u56E2\u961F",description:"\u63CF\u8FF0",points_expire_at:"\u79EF\u5206\u6709\u6548\u671F",active:"\u6FC0\u6D3B",username:"\u7528\u6237\u540D",user_id:"\u7528\u6237ID",type:"\u7C7B\u578B",role:"\u89D2\u8272",nickname:"\u6635\u79F0",introduction:"\u7B80\u4ECB",mentor:"\u5BFC\u5E08",status:"\u72B6\u6001",joined_at:"\u52A0\u5165\u65F6\u95F4",im_bindings:"IM\u7ED1\u5B9A",password:"\u5BC6\u7801",quota:"\u914D\u989D",credentials:"\u51ED\u636E",group:"\u5C0F\u7EC4",group_id:"\u5C0F\u7EC4ID",created_at:"\u521B\u5EFA\u65F6\u95F4",members_total:"\u6210\u5458\u6570",endpoint:"endpoint",confirm:"\u786E\u8BA4"};function ua(t,e){return{username:t.username||"",user_id:t.user_id||"",type:t.user_type||"",role:t.role||"",nickname:t.nickname||"",introduction:t.introduction||"",mentor:jn(t,e),points:t.points==null?"\u221E":String(t.points),joined_at:(t.created_at||"").slice(0,10)}}function ma(t){return[...t].sort((e,r)=>{let n=e.user_type==="ai"?0:1,s=r.user_type==="ai"?0:1;return n!==s?n-s:(e.username||"").localeCompare(r.username||"")})}function tr(t,e){if(t.ctx.isJson){let r={pending_confirmation:!0};for(let[n,s]of e)r[n]=s;t.ctx.emit(r)}else t.ctx.emit(e.map(([r,n,s])=>`${s||xe[r]||r}: ${n??""}`).join(`
29
+ `));return 10}async function pa(t){let e=encodeURIComponent(JSON.stringify({filter_is_joined:!0})),r=await B(t,"GET",`/team?constraints=${e}&page=1&size=200`);r.status!==200&&L(t.ctx,r);let n=ae(r.body);(!n||!n.data)&&$(t.ctx,"\u54CD\u5E94\u89E3\u6790\u5931\u8D25",void 0,1);let s=n.data.items||[];return kt(t.ctx,s.map(o=>({id:o.id||"",name:o.name||"",members:(o.members_count??o.member_count??"")+"",points:o.points!=null?String(o.points):""})),{labels:xe,empty:"\u4F60\u8FD8\u6CA1\u6709\u52A0\u5165\u4EFB\u4F55\u56E2\u961F"}),0}async function fa(t){let e=t.ctx.getTeam?t.ctx.getTeam():null;return!e||!e.id?(t.ctx.emit("\u672A\u8BBE\u7F6E\u9ED8\u8BA4\u56E2\u961F\uFF0C\u8FD0\u884C coder team use <teamId> \u6765\u8BBE\u7F6E"),0):(G(t.ctx,[["name",e.name||"","\u9ED8\u8BA4\u56E2\u961F"],["id",e.id,"teamId"]]),0)}async function ha(t){let e=t.arg;e||$(t.ctx,"\u7F3A\u5C11 teamId \u53C2\u6570","\u7528\u6CD5: coder team use <teamId>",3);let r=encodeURIComponent(JSON.stringify({filter_is_joined:!0})),n=await B(t,"GET",`/team?constraints=${r}&page=1&size=200`);n.status!==200&&L(t.ctx,n);let s=ae(n.body),i=(s&&s.data&&s.data.items||[]).find(a=>a.id===e);return i||$(t.ctx,`\u56E2\u961F '${e}' \u4E0D\u5728\u4F60\u5DF2\u52A0\u5165\u7684\u5217\u8868\u4E2D`,"\u8FD0\u884C coder team list \u67E5\u770B\u53EF\u7528\u56E2\u961F",4),t.ctx.setTeam(i.id,i.name||"")||$(t.ctx,"\u5199\u5165\u914D\u7F6E\u5931\u8D25",void 0,1),t.ctx.setTeamManual(!0),G(t.ctx,[["name",i.name||"","\u5DF2\u5207\u6362\u9ED8\u8BA4\u56E2\u961F"],["id",i.id,"teamId"]]),0}async function ga(t){let e=Un(t,t.arg||N(t.args,"--team")),r=await re(t,e),n=ne(r),s=n.filter(i=>i.user_type==="ai").length,o=n.filter(i=>i.user_type==="human").length;return G(t.ctx,[["team",`${r.name} (${r.id})`,"\u56E2\u961F"],["description",r.description||"","\u63CF\u8FF0"],["points",r.points??"","\u79EF\u5206"],["points_expire_at",r.points_expire_at||"","\u79EF\u5206\u6709\u6548\u671F"],["active",r.is_active?"yes":"no","\u6FC0\u6D3B"],["members",`${n.length} (ai=${s}, human=${o})`,"\u6210\u5458"]],t.ctx.isJson?{id:r.id,name:r.name,members_total:n.length,members_ai:s,members_human:o}:null),0}async function ya(t){let e=N(t.args,"--type")||null;da(t,e);let r=Rn(t.args,"-q","--query")||null,n=M(t),s=await re(t,n),o=ne(s),i=ca(o,e);if(r){let c=r.toLowerCase();i=i.filter(d=>[d.username,d.user_id,d.id,d.nickname,d.introduction].map(l=>(l||"").toLowerCase()).some(l=>l.includes(c)))}let a=r?`\u672A\u5339\u914D\u5230 '${r}'`:e?`\u65E0 ${e} \u7C7B\u578B\u6210\u5458`:"\u56E2\u961F\u6682\u65E0\u6210\u5458";return kt(t.ctx,ma(i).map(c=>ua(c,o)),{labels:xe,empty:a}),0}async function _a(t){let e=t.arg;e||$(t.ctx,"\u7F3A\u5C11 userId|username \u53C2\u6570","\u7528\u6CD5: coder team members info <userId|username>",3);let r=M(t),n=await re(t,r),s=ne(n),o=Be(t,s,e,n.name);return G(t.ctx,[["username",o.username||""],["user_id",o.user_id||""],["type",o.user_type||""],["role",o.role||""],["nickname",o.nickname||""],["introduction",o.introduction||""],["mentor",jn(o,s)],["status",o.status||""],["points",o.points==null?"\u221E":o.points],["joined_at",o.created_at||""],["im_bindings",o.im_bindings&&o.im_bindings.length?o.im_bindings.map(i=>i.channel).join(","):""]].map(([i,a])=>[i,a,xe[i]]),t.ctx.isJson?o:null),0}function ba(t){let e=Ie.resolve(t);for((!it.existsSync(e)||!it.statSync(e).isDirectory())&&(e=Ie.dirname(e));e&&e!==Ie.dirname(e);){if(it.existsSync(Ie.join(e,".git")))return!0;e=Ie.dirname(e)}return!1}async function Ia(t){let e=N(t.args,"--type")||"human";e!=="human"&&e!=="ai"&&$(t.ctx,`--type \u4EC5\u652F\u6301 human \u6216 ai\uFF0C\u6536\u5230 '${e}'`,void 0,3);let r=N(t.args,"--password")||null,n=N(t.args,"--phone")||null,s=N(t.args,"--points"),o=N(t.args,"--save-to")||null,i=N(t.args,"--nickname")||null,a=N(t.args,"--mentor")||null,c=t.arg;c||$(t.ctx,"\u7F3A\u5C11 username \u53C2\u6570","\u7528\u6CD5: coder team members create <username> [...]",3);let d=M(t);if(e==="human"&&!n&&$(t.ctx,"\u521B\u5EFA human \u6210\u5458\u5FC5\u987B\u63D0\u4F9B --phone <phone>",void 0,3),o){let x=Ie.resolve(o);ba(x)&&$(t.ctx,`--save-to \u8DEF\u5F84\u5728 git \u4ED3\u5E93\u5185\uFF08${x}\uFF09`,"\u6362\u5230\u4ED3\u5E93\u5916\u7684\u8DEF\u5F84\uFF0C\u907F\u514D\u51ED\u636E\u88AB\u8BEF\u63D0\u4EA4",3)}let l=null;if(s!=null){let x=Number(s);Number.isFinite(x)||$(t.ctx,`--points \u5E94\u4E3A\u6570\u5B57\uFF0C\u6536\u5230 '${s}'`,void 0,3),l=x}let p=r||aa.generateStrongPassword(16),g=!r,_={payload:{username:c,password:p,phone:n||null,team_id:d,points:l,user_type:e,...i?{nickname:i}:{},...e==="ai"&&a?{config:{metadata:{created_by:a}}}:{}},auto_login:!1,auth_name:"UserPass"},D=await B(t,"POST","/users",_);(D.status<200||D.status>=300)&&L(t.ctx,D);let S=null;if(o){let x=Ie.resolve(o),A=`# Coder team member credentials
30
30
  # Created: ${new Date().toISOString()}
31
31
  username: ${c}
32
- password: ${u}
33
- team_id: ${l}
32
+ password: ${p}
33
+ team_id: ${d}
34
34
  type: ${e}
35
- `;try{gt.writeFileSync(w,T,{mode:384});try{gt.chmodSync(w,384)}catch{}A=w}catch(J){process.stderr.write(`Warning: \u4FDD\u5B58\u51ED\u636E\u5931\u8D25 ${J.message}
36
- `)}}return H(r.ctx,[["username",c,"\u7528\u6237\u540D"],["password",`${u}${h?" (\u968F\u673A\u751F\u6210\uFF0C\u8BF7\u59A5\u5584\u4FDD\u7BA1)":""}`,"\u5BC6\u7801"],["team_id",l,"teamId"],["type",e,"\u7C7B\u578B"],["nickname",i||"","\u6635\u79F0"],["mentor",a||"","\u5BFC\u5E08"],["credentials",A?`\u5DF2\u4FDD\u5B58\u5230 ${A} (mode 0600)\uFF0C\u5EFA\u8BAE\u52A0\u5165 .gitignore`:"\u4EE5\u4E0A\u4EC5\u663E\u793A\u4E00\u6B21\uFF0C\u672A --save-to \u65F6\u8BF7\u7ACB\u5373\u8BB0\u5F55","\u51ED\u636E"]],r.ctx.isJson?{username:c,password:u,team_id:l,user_type:e,saved_to:A}:null),0}async function Ya(r){let e=R(r.args,"--nickname"),t=R(r.args,"--mentor"),n=yt(r.args,"--clear-mentor"),s=r.arg;s||$(r.ctx,"\u7F3A\u5C11 userId|username \u53C2\u6570","\u7528\u6CD5: coder team members update <userId|username> [--nickname <n>] [--mentor <userId|username>]",3),e===void 0&&t===void 0&&!n&&$(r.ctx,"\u81F3\u5C11\u9700\u8981 --nickname / --mentor / --clear-mentor \u4E4B\u4E00",void 0,3);let o=V(r),i=await ne(r,o),a=se(i),c=Ke(r,a,s,i.name),l={};if(e!==void 0&&(l.nickname=e),n)l.created_by=null;else if(t!==void 0){let h=a.find(_=>_.user_id===t||_.username===t);h||$(r.ctx,`mentor '${t}' \u4E0D\u5728\u56E2\u961F\u4E2D`,"\u8FD0\u884C coder team members \u67E5\u770B\u6210\u5458",4),l.created_by=h.user_id}let d=await B(r,"PATCH",`/team/${o}/ai_users/${c.user_id}`,l);(d.status<200||d.status>=300)&&M(r.ctx,d);let u=[["username",`${c.username} (${c.user_id})`,"\u5DF2\u66F4\u65B0\u6210\u5458"]];return e!==void 0&&u.push(["nickname",e,"\u6635\u79F0"]),n?u.push(["mentor","(\u5DF2\u6E05\u9664)","\u5BFC\u5E08"]):t!==void 0&&u.push(["mentor",t,"\u5BFC\u5E08"]),H(r.ctx,u,r.ctx.isJson?{user_id:c.user_id,team_id:o}:null),0}async function Xa(r){let e=R(r.args,"--points"),t=r.arg;t||$(r.ctx,"\u7F3A\u5C11 userId|username \u53C2\u6570","\u7528\u6CD5: coder team members set-points <userId|username> --points <n|unlimited>",3),e===void 0&&$(r.ctx,"\u7F3A\u5C11 --points <n|unlimited>","\u6570\u5B57=\u914D\u989D\u4E0A\u9650\uFF1Bunlimited=\u4E0D\u9650\u91CF\uFF08\u7EE7\u627F\u56E2\u961F\u6C60\uFF09",3);let n;if(e==="unlimited")n=null;else{let u=Number(e);(!Number.isFinite(u)||u<0)&&$(r.ctx,`--points \u5E94\u4E3A\u975E\u8D1F\u6570\u5B57\u6216 unlimited\uFF0C\u6536\u5230 '${e}'`,void 0,3),n=u}let s=V(r),o=await ne(r,s),i=Ke(r,se(o),t,o.name),a=`/refactor/coder/teams/${s}/members/${i.user_id}/points`,c=n===null?"\u4E0D\u9650\u91CF\uFF08\u7EE7\u627F\u56E2\u961F\u6C60\uFF09":String(n),l=await B(r,"POST",a,{points:n},La);(l.status<200||l.status>=300)&&M(r.ctx,l);let d=le(l.body);return d&&d.code!==void 0&&d.code!==0&&d.code!==null&&$(r.ctx,`\u540E\u7AEF\u8FD4\u56DE code=${d.code} message=${d.message||""}`,void 0,1),H(r.ctx,[["username",`${i.username} (${i.user_id})`,"\u5DF2\u8BBE\u7F6E\u79EF\u5206\u914D\u989D"],["quota",c,"\u914D\u989D"]],r.ctx.isJson?{user_id:i.user_id,team_id:s,points:n}:null),0}async function Qa(r){let e=yt(r.args,"--yes","-y"),t=r.arg;t||$(r.ctx,"\u7F3A\u5C11 userId|username \u53C2\u6570","\u7528\u6CD5: coder team members delete <userId|username> [--yes]",3);let n=V(r),s=await ne(r,n),o=Ke(r,se(s),t,s.name);if(!e)return _r(r,[["username",`${o.username} (user_id=${o.user_id}, role=${o.role})`,"\u5C06\u5220\u9664\u6210\u5458"],["team",`${s.name} (${n})`,"\u4ECE\u56E2\u961F"],["endpoint",`DELETE /team/${n}/members/${o.id}`],["confirm","\u9AD8\u5F71\u54CD\u64CD\u4F5C\uFF0C\u52A0 --yes \u624D\u4F1A\u6267\u884C"]]);let i=await B(r,"DELETE",`/team/${n}/members/${o.id}`);return(i.status<200||i.status>=300)&&M(r.ctx,i),H(r.ctx,[["username",`${o.username} (${o.user_id})`,"\u5DF2\u5220\u9664\u6210\u5458"],["team",s.name,"\u4ECE\u56E2\u961F"]],r.ctx.isJson?{deleted:!0,user_id:o.user_id,team_id:n}:null),0}async function ss(r,e,t){let n=await B(r,"GET",`/team/${e}/groups/${t}/members`);(n.status<200||n.status>=300)&&M(r.ctx,n);let s=le(n.body);return s&&(s.data||s)||[]}async function ec(r){let e=V(r),t=await B(r,"GET",`/team/${e}/groups`);(t.status<200||t.status>=300)&&M(r.ctx,t);let n=le(t.body),s=n&&(n.data||n)||[];return jt(r.ctx,s.map(o=>({id:o.id||"",name:o.name||"",description:o.description||"",created_at:(o.created_at||"").slice(0,10)})),{labels:$e,empty:"\u6682\u65E0\u5C0F\u7EC4"}),0}async function tc(r){let e=r.arg;e||$(r.ctx,"\u7F3A\u5C11 groupId \u53C2\u6570","\u7528\u6CD5: coder team groups info <groupId>",3);let t=V(r),n=await B(r,"GET",`/team/${t}/groups`);(n.status<200||n.status>=300)&&M(r.ctx,n);let o=(le(n.body)?.data||[]).find(a=>a.id===e);o||$(r.ctx,`\u5C0F\u7EC4 '${e}' \u4E0D\u5728\u56E2\u961F\u4E2D`,"\u8FD0\u884C coder team groups \u67E5\u770B\u5C0F\u7EC4",4);let i=await ss(r,t,e);return H(r.ctx,[["group",`${o.name} (${o.id})`,"\u5C0F\u7EC4"],["description",o.description||"","\u63CF\u8FF0"],["team_id",t,"teamId"],["members_total",i.length,"\u6210\u5458\u6570"]],r.ctx.isJson?{id:o.id,name:o.name,members:i,members_total:i.length}:null),0}async function rc(r){let e=r.arg;e||$(r.ctx,"\u7F3A\u5C11 groupId \u53C2\u6570","\u7528\u6CD5: coder team groups members <groupId>",3);let t=V(r),n=await ne(r,t),s=new Map(se(n).map(i=>[i.user_id,i])),o=await ss(r,t,e);return jt(r.ctx,o.map(i=>{let a=s.get(i.user_id)||{};return{username:a.username||"",user_id:i.user_id||"",type:a.user_type||"",role:i.role||"",nickname:a.nickname||""}}),{labels:$e,empty:"\u5C0F\u7EC4\u6682\u65E0\u6210\u5458"}),0}async function nc(r){let e=R(r.args,"--description"),t=r.arg;t||$(r.ctx,"\u7F3A\u5C11 name \u53C2\u6570","\u7528\u6CD5: coder team groups create <name> [--description <d>]",3);let n=V(r),s={name:t};e&&(s.description=e);let o=await B(r,"POST",`/team/${n}/groups`,s);(o.status<200||o.status>=300)&&M(r.ctx,o);let a=((le(o.body)||{}).data||le(o.body)||{}).id;return a&&await Je(r,"sync.upsertGroup",{teamId:n,externalGroupId:a,name:t,description:e||void 0}),H(r.ctx,[["group",`${t} (${a})`,"\u5DF2\u521B\u5EFA\u5C0F\u7EC4"]],r.ctx.isJson?{id:a,team_id:n,name:t,description:e||null}:null),0}async function sc(r){let e=R(r.args,"--name"),t=R(r.args,"--description"),n=r.arg;n||$(r.ctx,"\u7F3A\u5C11 groupId \u53C2\u6570","\u7528\u6CD5: coder team groups update <groupId> [--name <n>] [--description <d>]",3);let s=V(r);e===void 0&&t===void 0&&$(r.ctx,"\u81F3\u5C11\u9700\u8981 --name \u6216 --description",void 0,3);let o={};e!==void 0&&(o.name=e),t!==void 0&&(o.description=t);let i=await B(r,"PATCH",`/team/${s}/groups/${n}`,o);(i.status<200||i.status>=300)&&M(r.ctx,i);let a=le(i.body)?.data||{},c=e!==void 0?e:a.name;c&&await Je(r,"sync.upsertGroup",{teamId:s,externalGroupId:n,name:c,description:t!==void 0?t:a.description||void 0});let l=[["group",n,"\u5DF2\u66F4\u65B0\u5C0F\u7EC4"]];return e!==void 0&&l.push(["name",e,"\u540D\u79F0"]),t!==void 0&&l.push(["description",t,"\u63CF\u8FF0"]),H(r.ctx,l,r.ctx.isJson?{id:n,team_id:s,...o}:null),0}async function oc(r){let e=yt(r.args,"--yes","-y"),t=r.arg;t||$(r.ctx,"\u7F3A\u5C11 groupId \u53C2\u6570","\u7528\u6CD5: coder team groups delete <groupId> [--yes]",3);let n=V(r);if(!e)return _r(r,[["group",t,"\u5C06\u5220\u9664\u5C0F\u7EC4"],["endpoint",`DELETE /team/${n}/groups/${t}`],["confirm","\u9AD8\u5F71\u54CD\u64CD\u4F5C\uFF08\u5C06\u6E05\u9664\u8BE5\u5C0F\u7EC4\u6240\u6709\u6210\u5458\u5173\u7CFB\uFF09\uFF0C\u52A0 --yes \u624D\u4F1A\u6267\u884C"]]);let s=await B(r,"DELETE",`/team/${n}/groups/${t}`);return(s.status<200||s.status>=300)&&M(r.ctx,s),await Je(r,"sync.deleteGroup",{teamId:n,externalGroupId:t}),H(r.ctx,[["group",t,"\u5DF2\u5220\u9664\u5C0F\u7EC4"]],r.ctx.isJson?{deleted:!0,id:t,team_id:n}:null),0}function ic(r,e,t){return t.split(",").map(s=>s.trim()).filter(Boolean).map(s=>{let o=e.find(i=>i.user_id===s||i.username===s||i.id===s);return o||$(r.ctx,`\u6210\u5458 '${s}' \u4E0D\u5728\u56E2\u961F\u4E2D`,"\u8FD0\u884C coder team members \u67E5\u770B\u6210\u5458",4),o})}async function ac(r){let e=R(r.args,"--role")||"member",t=Nt(r.args,{valueFlags:["--team","--role"]}),n=t[0];n||$(r.ctx,"\u7F3A\u5C11 groupId \u53C2\u6570","\u7528\u6CD5: coder team groups add-member <groupId> <userIds> [--role member|mentor]\uFF08userIds \u9017\u53F7\u5206\u9694\uFF0Cuser_id \u6216 username \u5747\u53EF\uFF09",3);let s=t[1];s||$(r.ctx,"\u7F3A\u5C11 userIds \u53C2\u6570\uFF08\u9017\u53F7\u5206\u9694\uFF0C\u652F\u6301 user_id / username\uFF09",void 0,3);let o=V(r);e!=="member"&&e!=="mentor"&&$(r.ctx,`--role \u4EC5\u652F\u6301 member|mentor\uFF0C\u6536\u5230 '${e}'`,void 0,3);let i=await ne(r,o),a=ic(r,se(i),s),c=await B(r,"POST",`/team/${o}/groups/${n}/members`,{user_ids:a.map(l=>l.user_id),role:e});if((c.status<200||c.status>=300)&&M(r.ctx,c),await Je(r,"sync.upsertGroupMembers",{teamId:o,externalGroupId:n,members:a.map(l=>({externalUserId:l.user_id,username:l.username||l.user_id,role:rs(e)}))}),r.ctx.isJson)r.ctx.emit({team_id:o,group_id:n,added:a.map(l=>({user_id:l.user_id,username:l.username})),role:e});else{let l=[`\u5DF2\u6DFB\u52A0 ${a.length} \u540D\u6210\u5458\u5230\u5C0F\u7EC4 ${n} (role=${e})`];for(let d of a)l.push(` - ${d.username} (${d.user_id})`);r.ctx.emit(l.join(`
37
- `))}return 0}async function cc(r){let e=Nt(r.args,{valueFlags:["--team","--role"]}),t=e[0];t||$(r.ctx,"\u7F3A\u5C11 groupId \u53C2\u6570","\u7528\u6CD5: coder team groups set-role <groupId> <userId|username> <member|mentor>",3);let n=e[1],s=e[2]||R(r.args,"--role");(!n||!s)&&$(r.ctx,"\u7528\u6CD5: coder team groups set-role <groupId> <userId|username> <member|mentor>",void 0,3),s!=="member"&&s!=="mentor"&&$(r.ctx,`role \u4EC5\u652F\u6301 member|mentor\uFF0C\u6536\u5230 '${s}'`,void 0,3);let o=V(r),i=await ne(r,o),a=Ke(r,se(i),n,i.name),c=await B(r,"PATCH",`/team/${o}/groups/${t}/members/${a.user_id}`,{role:s});return(c.status<200||c.status>=300)&&M(r.ctx,c),await Je(r,"sync.upsertGroupMembers",{teamId:o,externalGroupId:t,members:[{externalUserId:a.user_id,username:a.username||a.user_id,role:rs(s)}]}),H(r.ctx,[["username",`${a.username} (${a.user_id})`,"\u5DF2\u8BBE\u7F6E\u5C0F\u7EC4\u89D2\u8272"],["group",t,"\u5C0F\u7EC4"],["role",s,"\u89D2\u8272"]],r.ctx.isJson?{team_id:o,group_id:t,user_id:a.user_id,role:s}:null),0}async function lc(r){let e=yt(r.args,"--yes","-y"),t=Nt(r.args,{boolFlags:["--yes","-y"],valueFlags:["--team"]}),n=t[0];n||$(r.ctx,"\u7F3A\u5C11 groupId \u53C2\u6570","\u7528\u6CD5: coder team groups remove-member <groupId> <userId|username> [--yes]",3);let s=t[1];s||$(r.ctx,"\u7F3A\u5C11 userId|username \u53C2\u6570",void 0,3);let o=V(r),i=await ne(r,o),a=Ke(r,se(i),s,i.name);if(!e)return _r(r,[["username",`${a.username} (${a.user_id})`,"\u5C06\u4ECE\u5C0F\u7EC4\u79FB\u9664"],["group",n,"\u5C0F\u7EC4"],["endpoint",`DELETE /team/${o}/groups/${n}/members/${a.user_id}`],["confirm","\u9AD8\u5F71\u54CD\u64CD\u4F5C\uFF0C\u52A0 --yes \u624D\u4F1A\u6267\u884C"]]);let c=await B(r,"DELETE",`/team/${o}/groups/${n}/members/${a.user_id}`);return(c.status<200||c.status>=300)&&M(r.ctx,c),await Je(r,"sync.removeGroupMember",{teamId:o,externalGroupId:n,externalUserId:a.user_id}),H(r.ctx,[["username",`${a.username} (${a.user_id})`,"\u5DF2\u4ECE\u5C0F\u7EC4\u79FB\u9664"],["group",n,"\u5C0F\u7EC4"]],r.ctx.isJson?{removed:!0,user_id:a.user_id,group_id:n,team_id:o}:null),0}os.exports={list:Ba,current:Fa,use:Ga,info:Ha,members:{list:za,info:Wa,create:Ja,update:Ya,"set-points":Xa,delete:Qa},groups:{list:ec,info:tc,members:rc,create:nc,update:sc,delete:oc,"add-member":ac,"set-role":cc,"remove-member":lc},_internal:{positionals:Nt,flag:R,flagAny:ns,hasFlag:yt,LABELS:$e}}});var xr=b((Um,is)=>{function dc(){return process.env.CODER_NESTED==="1"||!process.stdout.isTTY}is.exports={shouldSuppressUpdateNotice:dc}});var qt=b((jm,Ir)=>{var wr=require("https"),j=require("fs"),F=require("path"),Rt=require("os"),{shouldSuppressUpdateNotice:uc}=xr(),Se="https://makecoder.com/skillhub",mc=["add","remove","update","check-updates","search","list","my-skills","publish","unpublish"],Cr=class{constructor(e,t){this.argParser=e||null,this.teamService=t||null}_defaultNamespace(){let e=this.argParser?this.argParser.getTeam():null;return e&&e.id?e.id.slice(0,8):null}_resolveNamespace(e){let t=e||this._defaultNamespace()||"global",n=t.startsWith("@")?t.slice(1):t;return n.length>8&&n.includes("-")?n.slice(0,8):n}getSkillDirs(){let e=Rt.homedir();return[F.join(e,".agents","skills")]}_request(e,t,n){return new Promise((s,o)=>{let i=new URL(`${Se}${t}`),a={hostname:i.hostname,port:i.port||443,path:i.pathname+i.search,method:e,headers:n?{Authorization:`Bearer ${n}`}:{}},c=wr.request(a,l=>{if(l.statusCode>=300&&l.statusCode<400&&l.headers.location)return this._request(e,l.headers.location,n).then(s).catch(o);let d="";l.on("data",u=>d+=u),l.on("end",()=>s({status:l.statusCode,body:d}))});c.on("error",o),c.end()})}fetchWithAuth(e,t){return new Promise((n,s)=>{let o=new URL(e),i={hostname:o.hostname,port:o.port||443,path:o.pathname+o.search,method:"GET",headers:t?{Authorization:`Bearer ${t}`}:{}};wr.get(i,a=>{if(a.statusCode>=300&&a.statusCode<400&&a.headers.location)return this.fetchWithAuth(a.headers.location,t).then(n).catch(s);let c="";a.on("data",l=>{c+=l}),a.on("end",()=>n({status:a.statusCode,body:c}))}).on("error",s)})}async handle({skillsSubcommand:e,skillsArg:t,skillsRemainingArgs:n,apikey:s}){if(!e||e==="--help"||e==="-h")return this.showHelp(),0;if(e==="publish")return await this.publish(n||[],s);if(e==="unpublish")return await this.unpublish(t,s);if(e==="list")return await this.listTeamSkills(n||[],s);if(e==="my-skills")return await this.listMySkills(n||[],s);if(e==="check-updates"){let o=this.getInstalledSkills();if(o.length===0)return console.log("\u6CA1\u6709\u5DF2\u5B89\u88C5\u7684 skill"),0;console.log(`\u{1F50D} \u68C0\u67E5 ${o.length} \u4E2A skill \u7684\u66F4\u65B0...`);let i=await this.checkUpdates(s);if(i.length===0)console.log("\u2705 \u6240\u6709 skill \u5747\u4E3A\u6700\u65B0\u7248\u672C");else{console.log(`
35
+ `;try{it.writeFileSync(x,A,{mode:384});try{it.chmodSync(x,384)}catch{}S=x}catch(H){process.stderr.write(`Warning: \u4FDD\u5B58\u51ED\u636E\u5931\u8D25 ${H.message}
36
+ `)}}return G(t.ctx,[["username",c,"\u7528\u6237\u540D"],["password",`${p}${g?" (\u968F\u673A\u751F\u6210\uFF0C\u8BF7\u59A5\u5584\u4FDD\u7BA1)":""}`,"\u5BC6\u7801"],["team_id",d,"teamId"],["type",e,"\u7C7B\u578B"],["nickname",i||"","\u6635\u79F0"],["mentor",a||"","\u5BFC\u5E08"],["credentials",S?`\u5DF2\u4FDD\u5B58\u5230 ${S} (mode 0600)\uFF0C\u5EFA\u8BAE\u52A0\u5165 .gitignore`:"\u4EE5\u4E0A\u4EC5\u663E\u793A\u4E00\u6B21\uFF0C\u672A --save-to \u65F6\u8BF7\u7ACB\u5373\u8BB0\u5F55","\u51ED\u636E"]],t.ctx.isJson?{username:c,password:p,team_id:d,user_type:e,saved_to:S}:null),0}async function xa(t){let e=N(t.args,"--nickname"),r=N(t.args,"--mentor"),n=at(t.args,"--clear-mentor"),s=t.arg;s||$(t.ctx,"\u7F3A\u5C11 userId|username \u53C2\u6570","\u7528\u6CD5: coder team members update <userId|username> [--nickname <n>] [--mentor <userId|username>]",3),e===void 0&&r===void 0&&!n&&$(t.ctx,"\u81F3\u5C11\u9700\u8981 --nickname / --mentor / --clear-mentor \u4E4B\u4E00",void 0,3);let o=M(t),i=await re(t,o),a=ne(i),c=Be(t,a,s,i.name),d={};if(e!==void 0&&(d.nickname=e),n)d.created_by=null;else if(r!==void 0){let g=a.find(_=>_.user_id===r||_.username===r);g||$(t.ctx,`mentor '${r}' \u4E0D\u5728\u56E2\u961F\u4E2D`,"\u8FD0\u884C coder team members \u67E5\u770B\u6210\u5458",4),d.created_by=g.user_id}let l=await B(t,"PATCH",`/team/${o}/ai_users/${c.user_id}`,d);(l.status<200||l.status>=300)&&L(t.ctx,l);let p=[["username",`${c.username} (${c.user_id})`,"\u5DF2\u66F4\u65B0\u6210\u5458"]];return e!==void 0&&p.push(["nickname",e,"\u6635\u79F0"]),n?p.push(["mentor","(\u5DF2\u6E05\u9664)","\u5BFC\u5E08"]):r!==void 0&&p.push(["mentor",r,"\u5BFC\u5E08"]),G(t.ctx,p,t.ctx.isJson?{user_id:c.user_id,team_id:o}:null),0}async function ka(t){let e=N(t.args,"--points"),r=t.arg;r||$(t.ctx,"\u7F3A\u5C11 userId|username \u53C2\u6570","\u7528\u6CD5: coder team members set-points <userId|username> --points <n|unlimited>",3),e===void 0&&$(t.ctx,"\u7F3A\u5C11 --points <n|unlimited>","\u6570\u5B57=\u914D\u989D\u4E0A\u9650\uFF1Bunlimited=\u4E0D\u9650\u91CF\uFF08\u7EE7\u627F\u56E2\u961F\u6C60\uFF09",3);let n;if(e==="unlimited")n=null;else{let p=Number(e);(!Number.isFinite(p)||p<0)&&$(t.ctx,`--points \u5E94\u4E3A\u975E\u8D1F\u6570\u5B57\u6216 unlimited\uFF0C\u6536\u5230 '${e}'`,void 0,3),n=p}let s=M(t),o=await re(t,s),i=Be(t,ne(o),r,o.name),a=`/refactor/coder/teams/${s}/members/${i.user_id}/points`,c=n===null?"\u4E0D\u9650\u91CF\uFF08\u7EE7\u627F\u56E2\u961F\u6C60\uFF09":String(n),d=await B(t,"POST",a,{points:n},la);(d.status<200||d.status>=300)&&L(t.ctx,d);let l=ae(d.body);return l&&l.code!==void 0&&l.code!==0&&l.code!==null&&$(t.ctx,`\u540E\u7AEF\u8FD4\u56DE code=${l.code} message=${l.message||""}`,void 0,1),G(t.ctx,[["username",`${i.username} (${i.user_id})`,"\u5DF2\u8BBE\u7F6E\u79EF\u5206\u914D\u989D"],["quota",c,"\u914D\u989D"]],t.ctx.isJson?{user_id:i.user_id,team_id:s,points:n}:null),0}async function wa(t){let e=at(t.args,"--yes","-y"),r=t.arg;r||$(t.ctx,"\u7F3A\u5C11 userId|username \u53C2\u6570","\u7528\u6CD5: coder team members delete <userId|username> [--yes]",3);let n=M(t),s=await re(t,n),o=Be(t,ne(s),r,s.name);if(!e)return tr(t,[["username",`${o.username} (user_id=${o.user_id}, role=${o.role})`,"\u5C06\u5220\u9664\u6210\u5458"],["team",`${s.name} (${n})`,"\u4ECE\u56E2\u961F"],["endpoint",`DELETE /team/${n}/members/${o.id}`],["confirm","\u9AD8\u5F71\u54CD\u64CD\u4F5C\uFF0C\u52A0 --yes \u624D\u4F1A\u6267\u884C"]]);let i=await B(t,"DELETE",`/team/${n}/members/${o.id}`);return(i.status<200||i.status>=300)&&L(t.ctx,i),G(t.ctx,[["username",`${o.username} (${o.user_id})`,"\u5DF2\u5220\u9664\u6210\u5458"],["team",s.name,"\u4ECE\u56E2\u961F"]],t.ctx.isJson?{deleted:!0,user_id:o.user_id,team_id:n}:null),0}async function Zn(t,e,r){let n=await B(t,"GET",`/team/${e}/groups/${r}/members`);(n.status<200||n.status>=300)&&L(t.ctx,n);let s=ae(n.body);return s&&(s.data||s)||[]}async function va(t){let e=M(t),r=await B(t,"GET",`/team/${e}/groups`);(r.status<200||r.status>=300)&&L(t.ctx,r);let n=ae(r.body),s=n&&(n.data||n)||[];return kt(t.ctx,s.map(o=>({id:o.id||"",name:o.name||"",description:o.description||"",created_at:(o.created_at||"").slice(0,10)})),{labels:xe,empty:"\u6682\u65E0\u5C0F\u7EC4"}),0}async function Ca(t){let e=t.arg;e||$(t.ctx,"\u7F3A\u5C11 groupId \u53C2\u6570","\u7528\u6CD5: coder team groups info <groupId>",3);let r=M(t),n=await B(t,"GET",`/team/${r}/groups`);(n.status<200||n.status>=300)&&L(t.ctx,n);let o=(ae(n.body)?.data||[]).find(a=>a.id===e);o||$(t.ctx,`\u5C0F\u7EC4 '${e}' \u4E0D\u5728\u56E2\u961F\u4E2D`,"\u8FD0\u884C coder team groups \u67E5\u770B\u5C0F\u7EC4",4);let i=await Zn(t,r,e);return G(t.ctx,[["group",`${o.name} (${o.id})`,"\u5C0F\u7EC4"],["description",o.description||"","\u63CF\u8FF0"],["team_id",r,"teamId"],["members_total",i.length,"\u6210\u5458\u6570"]],t.ctx.isJson?{id:o.id,name:o.name,members:i,members_total:i.length}:null),0}async function $a(t){let e=t.arg;e||$(t.ctx,"\u7F3A\u5C11 groupId \u53C2\u6570","\u7528\u6CD5: coder team groups members <groupId>",3);let r=M(t),n=await re(t,r),s=new Map(ne(n).map(i=>[i.user_id,i])),o=await Zn(t,r,e);return kt(t.ctx,o.map(i=>{let a=s.get(i.user_id)||{};return{username:a.username||"",user_id:i.user_id||"",type:a.user_type||"",role:i.role||"",nickname:a.nickname||""}}),{labels:xe,empty:"\u5C0F\u7EC4\u6682\u65E0\u6210\u5458"}),0}async function Sa(t){let e=N(t.args,"--description"),r=t.arg;r||$(t.ctx,"\u7F3A\u5C11 name \u53C2\u6570","\u7528\u6CD5: coder team groups create <name> [--description <d>]",3);let n=M(t),s={name:r};e&&(s.description=e);let o=await B(t,"POST",`/team/${n}/groups`,s);(o.status<200||o.status>=300)&&L(t.ctx,o);let a=((ae(o.body)||{}).data||ae(o.body)||{}).id;return a&&await Ve(t,"sync.upsertGroup",{teamId:n,externalGroupId:a,name:r,description:e||void 0}),G(t.ctx,[["group",`${r} (${a})`,"\u5DF2\u521B\u5EFA\u5C0F\u7EC4"]],t.ctx.isJson?{id:a,team_id:n,name:r,description:e||null}:null),0}async function Ta(t){let e=N(t.args,"--name"),r=N(t.args,"--description"),n=t.arg;n||$(t.ctx,"\u7F3A\u5C11 groupId \u53C2\u6570","\u7528\u6CD5: coder team groups update <groupId> [--name <n>] [--description <d>]",3);let s=M(t);e===void 0&&r===void 0&&$(t.ctx,"\u81F3\u5C11\u9700\u8981 --name \u6216 --description",void 0,3);let o={};e!==void 0&&(o.name=e),r!==void 0&&(o.description=r);let i=await B(t,"PATCH",`/team/${s}/groups/${n}`,o);(i.status<200||i.status>=300)&&L(t.ctx,i);let a=ae(i.body)?.data||{},c=e!==void 0?e:a.name;c&&await Ve(t,"sync.upsertGroup",{teamId:s,externalGroupId:n,name:c,description:r!==void 0?r:a.description||void 0});let d=[["group",n,"\u5DF2\u66F4\u65B0\u5C0F\u7EC4"]];return e!==void 0&&d.push(["name",e,"\u540D\u79F0"]),r!==void 0&&d.push(["description",r,"\u63CF\u8FF0"]),G(t.ctx,d,t.ctx.isJson?{id:n,team_id:s,...o}:null),0}async function Aa(t){let e=at(t.args,"--yes","-y"),r=t.arg;r||$(t.ctx,"\u7F3A\u5C11 groupId \u53C2\u6570","\u7528\u6CD5: coder team groups delete <groupId> [--yes]",3);let n=M(t);if(!e)return tr(t,[["group",r,"\u5C06\u5220\u9664\u5C0F\u7EC4"],["endpoint",`DELETE /team/${n}/groups/${r}`],["confirm","\u9AD8\u5F71\u54CD\u64CD\u4F5C\uFF08\u5C06\u6E05\u9664\u8BE5\u5C0F\u7EC4\u6240\u6709\u6210\u5458\u5173\u7CFB\uFF09\uFF0C\u52A0 --yes \u624D\u4F1A\u6267\u884C"]]);let s=await B(t,"DELETE",`/team/${n}/groups/${r}`);return(s.status<200||s.status>=300)&&L(t.ctx,s),await Ve(t,"sync.deleteGroup",{teamId:n,externalGroupId:r}),G(t.ctx,[["group",r,"\u5DF2\u5220\u9664\u5C0F\u7EC4"]],t.ctx.isJson?{deleted:!0,id:r,team_id:n}:null),0}function Ea(t,e,r){return r.split(",").map(s=>s.trim()).filter(Boolean).map(s=>{let o=e.find(i=>i.user_id===s||i.username===s||i.id===s);return o||$(t.ctx,`\u6210\u5458 '${s}' \u4E0D\u5728\u56E2\u961F\u4E2D`,"\u8FD0\u884C coder team members \u67E5\u770B\u6210\u5458",4),o})}async function Oa(t){let e=N(t.args,"--role")||"member",r=wt(t.args,{valueFlags:["--team","--role"]}),n=r[0];n||$(t.ctx,"\u7F3A\u5C11 groupId \u53C2\u6570","\u7528\u6CD5: coder team groups add-member <groupId> <userIds> [--role member|mentor]\uFF08userIds \u9017\u53F7\u5206\u9694\uFF0Cuser_id \u6216 username \u5747\u53EF\uFF09",3);let s=r[1];s||$(t.ctx,"\u7F3A\u5C11 userIds \u53C2\u6570\uFF08\u9017\u53F7\u5206\u9694\uFF0C\u652F\u6301 user_id / username\uFF09",void 0,3);let o=M(t);e!=="member"&&e!=="mentor"&&$(t.ctx,`--role \u4EC5\u652F\u6301 member|mentor\uFF0C\u6536\u5230 '${e}'`,void 0,3);let i=await re(t,o),a=Ea(t,ne(i),s),c=await B(t,"POST",`/team/${o}/groups/${n}/members`,{user_ids:a.map(d=>d.user_id),role:e});if((c.status<200||c.status>=300)&&L(t.ctx,c),await Ve(t,"sync.upsertGroupMembers",{teamId:o,externalGroupId:n,members:a.map(d=>({externalUserId:d.user_id,username:d.username||d.user_id,role:Nn(e)}))}),t.ctx.isJson)t.ctx.emit({team_id:o,group_id:n,added:a.map(d=>({user_id:d.user_id,username:d.username})),role:e});else{let d=[`\u5DF2\u6DFB\u52A0 ${a.length} \u540D\u6210\u5458\u5230\u5C0F\u7EC4 ${n} (role=${e})`];for(let l of a)d.push(` - ${l.username} (${l.user_id})`);t.ctx.emit(d.join(`
37
+ `))}return 0}async function Da(t){let e=wt(t.args,{valueFlags:["--team","--role"]}),r=e[0];r||$(t.ctx,"\u7F3A\u5C11 groupId \u53C2\u6570","\u7528\u6CD5: coder team groups set-role <groupId> <userId|username> <member|mentor>",3);let n=e[1],s=e[2]||N(t.args,"--role");(!n||!s)&&$(t.ctx,"\u7528\u6CD5: coder team groups set-role <groupId> <userId|username> <member|mentor>",void 0,3),s!=="member"&&s!=="mentor"&&$(t.ctx,`role \u4EC5\u652F\u6301 member|mentor\uFF0C\u6536\u5230 '${s}'`,void 0,3);let o=M(t),i=await re(t,o),a=Be(t,ne(i),n,i.name),c=await B(t,"PATCH",`/team/${o}/groups/${r}/members/${a.user_id}`,{role:s});return(c.status<200||c.status>=300)&&L(t.ctx,c),await Ve(t,"sync.upsertGroupMembers",{teamId:o,externalGroupId:r,members:[{externalUserId:a.user_id,username:a.username||a.user_id,role:Nn(s)}]}),G(t.ctx,[["username",`${a.username} (${a.user_id})`,"\u5DF2\u8BBE\u7F6E\u5C0F\u7EC4\u89D2\u8272"],["group",r,"\u5C0F\u7EC4"],["role",s,"\u89D2\u8272"]],t.ctx.isJson?{team_id:o,group_id:r,user_id:a.user_id,role:s}:null),0}async function Pa(t){let e=at(t.args,"--yes","-y"),r=wt(t.args,{boolFlags:["--yes","-y"],valueFlags:["--team"]}),n=r[0];n||$(t.ctx,"\u7F3A\u5C11 groupId \u53C2\u6570","\u7528\u6CD5: coder team groups remove-member <groupId> <userId|username> [--yes]",3);let s=r[1];s||$(t.ctx,"\u7F3A\u5C11 userId|username \u53C2\u6570",void 0,3);let o=M(t),i=await re(t,o),a=Be(t,ne(i),s,i.name);if(!e)return tr(t,[["username",`${a.username} (${a.user_id})`,"\u5C06\u4ECE\u5C0F\u7EC4\u79FB\u9664"],["group",n,"\u5C0F\u7EC4"],["endpoint",`DELETE /team/${o}/groups/${n}/members/${a.user_id}`],["confirm","\u9AD8\u5F71\u54CD\u64CD\u4F5C\uFF0C\u52A0 --yes \u624D\u4F1A\u6267\u884C"]]);let c=await B(t,"DELETE",`/team/${o}/groups/${n}/members/${a.user_id}`);return(c.status<200||c.status>=300)&&L(t.ctx,c),await Ve(t,"sync.removeGroupMember",{teamId:o,externalGroupId:n,externalUserId:a.user_id}),G(t.ctx,[["username",`${a.username} (${a.user_id})`,"\u5DF2\u4ECE\u5C0F\u7EC4\u79FB\u9664"],["group",n,"\u5C0F\u7EC4"]],t.ctx.isJson?{removed:!0,user_id:a.user_id,group_id:n,team_id:o}:null),0}qn.exports={list:pa,current:fa,use:ha,info:ga,members:{list:ya,info:_a,create:Ia,update:xa,"set-points":ka,delete:wa},groups:{list:va,info:Ca,members:$a,create:Sa,update:Ta,delete:Aa,"add-member":Oa,"set-role":Da,"remove-member":Pa},_internal:{positionals:wt,flag:N,flagAny:Rn,hasFlag:at,LABELS:xe}}});var nr=b((Xu,Ln)=>{function Ua(){return process.env.CODER_NESTED==="1"||!process.stdout.isTTY}Ln.exports={shouldSuppressUpdateNotice:Ua}});var Ct=b((Qu,ir)=>{var sr=require("https"),U=require("fs"),V=require("path"),vt=require("os"),{shouldSuppressUpdateNotice:ja}=nr(),ke="https://makecoder.com/skillhub",Na=["add","remove","update","check-updates","search","list","my-skills","publish","unpublish"],or=class{constructor(e,r){this.argParser=e||null,this.teamService=r||null}_defaultNamespace(){let e=this.argParser?this.argParser.getTeam():null;return e&&e.id?e.id.slice(0,8):null}_resolveNamespace(e){let r=e||this._defaultNamespace()||"global",n=r.startsWith("@")?r.slice(1):r;return n.length>8&&n.includes("-")?n.slice(0,8):n}getSkillDirs(){let e=vt.homedir();return[V.join(e,".agents","skills")]}_request(e,r,n){return new Promise((s,o)=>{let i=new URL(`${ke}${r}`),a={hostname:i.hostname,port:i.port||443,path:i.pathname+i.search,method:e,headers:n?{Authorization:`Bearer ${n}`}:{}},c=sr.request(a,d=>{if(d.statusCode>=300&&d.statusCode<400&&d.headers.location)return this._request(e,d.headers.location,n).then(s).catch(o);let l="";d.on("data",p=>l+=p),d.on("end",()=>s({status:d.statusCode,body:l}))});c.on("error",o),c.end()})}fetchWithAuth(e,r){return new Promise((n,s)=>{let o=new URL(e),i={hostname:o.hostname,port:o.port||443,path:o.pathname+o.search,method:"GET",headers:r?{Authorization:`Bearer ${r}`}:{}};sr.get(i,a=>{if(a.statusCode>=300&&a.statusCode<400&&a.headers.location)return this.fetchWithAuth(a.headers.location,r).then(n).catch(s);let c="";a.on("data",d=>{c+=d}),a.on("end",()=>n({status:a.statusCode,body:c}))}).on("error",s)})}async handle({skillsSubcommand:e,skillsArg:r,skillsRemainingArgs:n,apikey:s}){if(!e||e==="--help"||e==="-h")return this.showHelp(),0;if(e==="publish")return await this.publish(n||[],s);if(e==="unpublish")return await this.unpublish(r,s);if(e==="list")return await this.listTeamSkills(n||[],s);if(e==="my-skills")return await this.listMySkills(n||[],s);if(e==="check-updates"){let o=this.getInstalledSkills();if(o.length===0)return console.log("\u6CA1\u6709\u5DF2\u5B89\u88C5\u7684 skill"),0;console.log(`\u{1F50D} \u68C0\u67E5 ${o.length} \u4E2A skill \u7684\u66F4\u65B0...`);let i=await this.checkUpdates(s);if(i.length===0)console.log("\u2705 \u6240\u6709 skill \u5747\u4E3A\u6700\u65B0\u7248\u672C");else{console.log(`
38
38
  \u53D1\u73B0 ${i.length} \u4E2A\u53EF\u66F4\u65B0\u7684 skill:
39
- `);for(let a of i)console.log(` ${a.name.padEnd(24)} ${a.localVersion} \u2192 ${a.remoteVersion}`);console.log("\n\u8FD0\u884C `coder skills update` \u66F4\u65B0\u5168\u90E8")}return 0}if(t&&e!=="search"&&!/^[@a-zA-Z0-9_\-/.]+$/.test(t))return console.error("\u274C skill \u540D\u79F0\u5305\u542B\u975E\u6CD5\u5B57\u7B26"),1;if(e==="search")return t?await this.search(t):(console.error("\u274C \u8BF7\u6307\u5B9A\u641C\u7D22\u5173\u952E\u8BCD"),1);if(e==="remove")return t?this.remove(t):(console.error("\u274C \u8BF7\u6307\u5B9A skill \u540D\u79F0"),1);if(e==="add")return t?s?await this.install(t,s):(console.error("\u274C \u7F3A\u5C11 API Key\uFF0C\u8BF7\u5148\u767B\u5F55: coder auth login"),1):(console.error("\u274C \u8BF7\u6307\u5B9A skill \u540D\u79F0"),1);if(e==="update"){if(!s)return console.error("\u274C \u7F3A\u5C11 API Key\uFF0C\u8BF7\u5148\u767B\u5F55: coder auth login"),1;if(t)return await this.install(t,s);console.log("\u{1F50D} \u68C0\u67E5\u53EF\u66F4\u65B0\u7684 skill...");let o=await this.checkUpdates(s);if(o.length===0)return console.log("\u2705 \u6240\u6709 skill \u5747\u4E3A\u6700\u65B0\u7248\u672C"),0;console.log(`\u{1F4E6} \u53D1\u73B0 ${o.length} \u4E2A\u53EF\u66F4\u65B0\u7684 skill\uFF0C\u5F00\u59CB\u66F4\u65B0...
40
- `);let i=0,a=0,c=!1;for(let l of o){let d=await this.install(l.name,s);d==="EACCES"?(c=!0,a++):d!==0?a++:i++}console.log(`
41
- \u66F4\u65B0\u5B8C\u6210: ${i} \u6210\u529F, ${a} \u5931\u8D25`);try{let l=F.join(Rt.homedir(),".agents","skills",".update-cache.json");j.existsSync(l)&&j.unlinkSync(l)}catch{}if(c){let l=this.getSkillDirs()[0];console.error(`
39
+ `);for(let a of i)console.log(` ${a.name.padEnd(24)} ${a.localVersion} \u2192 ${a.remoteVersion}`);console.log("\n\u8FD0\u884C `coder skills update` \u66F4\u65B0\u5168\u90E8")}return 0}if(r&&e!=="search"&&!/^[@a-zA-Z0-9_\-/.]+$/.test(r))return console.error("\u274C skill \u540D\u79F0\u5305\u542B\u975E\u6CD5\u5B57\u7B26"),1;if(e==="search")return r?await this.search(r):(console.error("\u274C \u8BF7\u6307\u5B9A\u641C\u7D22\u5173\u952E\u8BCD"),1);if(e==="remove")return r?this.remove(r):(console.error("\u274C \u8BF7\u6307\u5B9A skill \u540D\u79F0"),1);if(e==="add")return r?s?await this.install(r,s):(console.error("\u274C \u7F3A\u5C11 API Key\uFF0C\u8BF7\u5148\u767B\u5F55: coder auth login"),1):(console.error("\u274C \u8BF7\u6307\u5B9A skill \u540D\u79F0"),1);if(e==="update"){if(!s)return console.error("\u274C \u7F3A\u5C11 API Key\uFF0C\u8BF7\u5148\u767B\u5F55: coder auth login"),1;if(r)return await this.install(r,s);console.log("\u{1F50D} \u68C0\u67E5\u53EF\u66F4\u65B0\u7684 skill...");let o=await this.checkUpdates(s);if(o.length===0)return console.log("\u2705 \u6240\u6709 skill \u5747\u4E3A\u6700\u65B0\u7248\u672C"),0;console.log(`\u{1F4E6} \u53D1\u73B0 ${o.length} \u4E2A\u53EF\u66F4\u65B0\u7684 skill\uFF0C\u5F00\u59CB\u66F4\u65B0...
40
+ `);let i=0,a=0,c=!1;for(let d of o){let l=await this.install(d.name,s);l==="EACCES"?(c=!0,a++):l!==0?a++:i++}console.log(`
41
+ \u66F4\u65B0\u5B8C\u6210: ${i} \u6210\u529F, ${a} \u5931\u8D25`);try{let d=V.join(vt.homedir(),".agents","skills",".update-cache.json");U.existsSync(d)&&U.unlinkSync(d)}catch{}if(c){let d=this.getSkillDirs()[0];console.error(`
42
42
  \u26A0\uFE0F \u90E8\u5206 skill \u6743\u9650\u4E0D\u8DB3\uFF0C\u8BF7\u5148\u8FD0\u884C:
43
- sudo chown -R $(whoami) "${l}"`)}return a>0?1:0}return console.error(`\u274C \u672A\u77E5\u5B50\u547D\u4EE4: ${e}`),1}async install(e,t){let n=Se.replace(/\/$/,"");console.log(`\u{1F50D} \u6B63\u5728\u4ECE ${Se} \u67E5\u627E skill...`);let s;try{let u=await this.fetchWithAuth(`${n}/.well-known/agent-skills/index.json?skill=${encodeURIComponent(e)}`,t);if(u.status===404)return console.error(`\u274C \u672A\u627E\u5230 skill: ${e}`),1;if(u.status!==200)return console.error(`\u274C \u65E0\u6CD5\u83B7\u53D6 skill \u4FE1\u606F (HTTP ${u.status})`),1;s=JSON.parse(u.body)}catch(u){return console.error(`\u274C \u8BF7\u6C42\u5931\u8D25: ${u.message}`),1}let o=(s.skills||[])[0];if(!o)return console.error(`\u274C \u672A\u627E\u5230 skill: ${e}`),1;let i=Array.from(new Set(["SKILL.md",...o.files||[]])),a=`${n}/.well-known/agent-skills/${o.name}`,c={};for(let u of i)try{let h=await this.fetchWithAuth(`${a}/${u}`,t);if(h.status!==200){console.warn(`\u26A0\uFE0F \u8DF3\u8FC7 ${u} (HTTP ${h.status})`);continue}c[u]=h.body}catch(h){console.warn(`\u26A0\uFE0F \u4E0B\u8F7D ${u} \u5931\u8D25: ${h.message}`)}console.log(`\u{1F4E6} \u6B63\u5728\u5B89\u88C5 ${o.name}...`);let l={name:o.name,version:o.version||null,installedAt:new Date().toISOString()};for(let u of this.getSkillDirs()){let h=F.join(u,o.name);j.mkdirSync(h,{recursive:!0});try{for(let[_,v]of Object.entries(c)){let A=F.join(h,_);j.mkdirSync(F.dirname(A),{recursive:!0}),j.writeFileSync(A,v,"utf8")}j.writeFileSync(F.join(h,".skill-meta.json"),JSON.stringify(l,null,2),"utf8")}catch(_){if(_.code==="EACCES")return"EACCES";throw _}}let d=o.version?` (v${o.version})`:"";return console.log(`\u2705 ${o.name}${d} \u5B89\u88C5\u5B8C\u6210`),this.cleanLegacySkill(o.name),0}cleanLegacySkill(e){let t=Rt.homedir(),n=[".claude",".codex",".gemini"].map(s=>F.join(t,s,"skills",e));for(let s of n)if(j.existsSync(s))try{j.rmSync(s,{recursive:!0,force:!0})}catch{}}getInstalledSkills(){let e=[];for(let t of this.getSkillDirs())if(j.existsSync(t))for(let n of j.readdirSync(t,{withFileTypes:!0})){if(!n.isDirectory()||n.name.startsWith("."))continue;let s=F.join(t,n.name),o=F.join(s,".skill-meta.json"),i=null;if(j.existsSync(o))try{i=JSON.parse(j.readFileSync(o,"utf8"))}catch{}e.push({name:n.name,dir:s,meta:i})}return e}async checkUpdates(e){let t=this.getInstalledSkills();if(t.length===0)return[];let n=Se.replace(/\/$/,""),s=[];for(let o of t){let i=o.meta?.version||"0.0.1";try{let a=await this.fetchWithAuth(`${n}/.well-known/agent-skills/index.json?skill=${encodeURIComponent(o.name)}`,e);if(a.status===404||a.status!==200)continue;let l=(JSON.parse(a.body).skills||[])[0];if(!l?.version)continue;l.version!==i&&s.push({name:o.name,localVersion:i,remoteVersion:l.version})}catch{}}return s}notifyAndRefreshUpdates(e){let t=F.join(Rt.homedir(),".agents","skills",".update-cache.json");if(!uc())try{if(j.existsSync(t)){let i=JSON.parse(j.readFileSync(t,"utf8"));if(Array.isArray(i.updates)&&i.updates.length>0){let c=i.updates.length,l;if(c<=3)l=i.updates.map(d=>`${d.name} (${d.localVersion} \u2192 ${d.remoteVersion})`).join(", ");else{let d=i.updates[0];l=`${d.name} (${d.localVersion} \u2192 ${d.remoteVersion}) \u7B49 ${c} \u4E2A skill \u8981\u66F4\u65B0`}console.error(`\x1B[33m\u26A1 ${l}\uFF0C\u8FD0\u884C \`coder skills update\` \u5347\u7EA7\x1B[0m`),c>3&&console.error("\x1B[33m \u8FD0\u884C `coder skills check-updates` \u67E5\u770B\u5B8C\u6574\u5217\u8868\x1B[0m"),console.error()}}}catch{}let n=3600*1e3,s=0;try{s=JSON.parse(j.readFileSync(t,"utf8")).checkedAt||0}catch{}!this.getInstalledSkills().some(i=>!i.meta?.version)&&Date.now()-s<n||setImmediate(async()=>{try{let i=await this.checkUpdates(e);j.mkdirSync(F.dirname(t),{recursive:!0}),j.writeFileSync(t,JSON.stringify({checkedAt:Date.now(),updates:i},null,2),"utf8")}catch{}})}remove(e){let t=!1;for(let n of this.getSkillDirs()){let s=F.join(n,e);j.existsSync(s)&&(j.rmSync(s,{recursive:!0,force:!0}),console.log(` \u{1F5D1}\uFE0F ${s}`),t=!0)}return t?(console.log(`\u2705 ${e} \u5DF2\u5220\u9664`),0):(console.error(`\u274C \u672A\u627E\u5230\u5DF2\u5B89\u88C5\u7684 skill: ${e}`),1)}async search(e){let t=`${Se}/api/web/skills?q=${encodeURIComponent(e)}&sort=relevance&page=0&size=12`;return new Promise(n=>{wr.get(t,s=>{let o="";s.on("data",i=>{o+=i}),s.on("end",()=>{try{let i=JSON.parse(o);if(i.code!==0)return console.error(`\u274C \u67E5\u8BE2\u5931\u8D25: ${i.msg}`),n(1);let a=i.data.items;if(a.length===0)return console.log(`\u6CA1\u6709\u627E\u5230\u4E0E "${e}" \u76F8\u5173\u7684 skill`),n(0);console.log(`\u627E\u5230 ${i.data.total} \u4E2A\u7ED3\u679C:
44
- `);for(let c of a)console.log(` ${c.slug.padEnd(20)} ${c.summary}`);n(0)}catch(i){console.error(`\u274C \u89E3\u6790\u54CD\u5E94\u5931\u8D25: ${i.message}`),n(1)}})}).on("error",s=>{console.error(`\u274C \u8BF7\u6C42\u5931\u8D25: ${s.message}`),n(1)})})}async publish(e,t){let{execSync:n}=require("child_process"),s=require("os"),o=null,i="PUBLIC",a=null,c=null,l=null,d=null;for(let w=0;w<e.length;w++)if(e[w]==="--team"||e[w]==="-t"||e[w]==="--namespace"||e[w]==="-n")o=e[++w];else if(e[w]==="--visibility"||e[w]==="-v")i=e[++w];else if(e[w]==="--meta-data"){let T=e[++w];try{JSON.parse(T)}catch(J){return console.error(`\u274C --meta-data \u4E0D\u662F\u5408\u6CD5\u7684 JSON\uFF1A${J.message}`),1}a=T}else if(!e[w].startsWith("-")){let T=e[w];j.existsSync(T)&&j.statSync(T).isDirectory()?d=T:c=T}let u=this._resolveNamespace(o),h=u==="global";if(!t)return console.error("\u274C \u7F3A\u5C11 API Key\uFF0C\u8BF7\u5148\u767B\u5F55: coder auth login"),1;h||(i="NAMESPACE_ONLY");let _=["PUBLIC","NAMESPACE_ONLY","PRIVATE"];if(!_.includes(i))return console.error(`\u274C visibility \u5FC5\u987B\u662F: ${_.join(", ")}`),1;if(c){if(!j.existsSync(c))return console.error(`\u274C \u6587\u4EF6\u4E0D\u5B58\u5728: ${c}`),1}else{let w=d?F.resolve(d):process.cwd();l=F.join(s.tmpdir(),`skill-pub-${Date.now()}.zip`),console.log(`\u{1F4E6} \u6B63\u5728\u6253\u5305 ${w}...`);try{j.existsSync(F.join(w,".git"))?(n(`git archive -o "${l}" HEAD`,{cwd:w,stdio:"pipe"}),console.log(" \u4F7F\u7528 git archive\uFF08\u5DF2\u6392\u9664 .gitignore \u6587\u4EF6\uFF09")):n(`zip -r "${l}" . -x ".git/*" -x "node_modules/*" -x ".env" -x "*.log"`,{cwd:w,stdio:"pipe"})}catch(T){return console.error(`\u274C \u6253\u5305\u5931\u8D25: ${T.message}`),1}c=l}let v=`${Se}/api/v1/skills/${encodeURIComponent(u)}/publish?visibility=${encodeURIComponent(i)}`,A=t;console.log(`\u{1F680} \u6B63\u5728\u53D1\u5E03\u5230 ${Se}`),console.log(` team: ${u}`),console.log(` visibility: ${i}`);try{let w=a?` -F "meta_data=${a.replace(/"/g,'\\"')}"`:"",T=`curl -s -X POST "${v}" -H "Authorization: Bearer ${A}" -F "file=@${c}"${w}`,J=n(T,{encoding:"utf-8",stdio:["pipe","pipe","pipe"]}),$t=JSON.parse(J);if($t.code===0){let fe=$t.data,$i=fe.namespace==="global"?`https://makecoder.com/skillhub/${fe.slug}`:`https://makecoder.com/skillhub/space/${fe.namespace}/${fe.slug}`;return console.log(`
45
- \u2705 \u53D1\u5E03\u6210\u529F!`),console.log(` ${fe.namespace}--${fe.slug}@${fe.version}`),console.log(` ${$i}`),fe.status==="PUBLISHED"?console.log(" \u72B6\u6001: \u5DF2\u53D1\u5E03"):console.log(" \u72B6\u6001: \u5F85\u5BA1\u6838"),0}else return console.error(`
46
- \u274C \u53D1\u5E03\u5931\u8D25: ${$t.msg||JSON.stringify($t)}`),1}catch(w){let T=w.stdout;if(T)try{let J=JSON.parse(T);return console.error(`
47
- \u274C \u53D1\u5E03\u5931\u8D25: ${J.msg||T}`),1}catch{}return console.error(`\u274C \u8BF7\u6C42\u5931\u8D25: ${w.message}`),1}finally{l&&j.existsSync(l)&&j.unlinkSync(l)}}async unpublish(e,t){if(!e)return console.error("\u274C \u8BF7\u6307\u5B9A skill: coder skills unpublish <slug> \u6216 coder skills unpublish <teamId>--<slug>"),1;if(!t)return console.error("\u274C \u7F3A\u5C11 API Key\uFF0C\u8BF7\u5148\u767B\u5F55: coder auth login"),1;let n,s;if(e.includes("--")){let i=e.split("--");if(i.length!==2||!i[0]||!i[1])return console.error("\u274C \u683C\u5F0F\u9519\u8BEF\uFF0C\u5E94\u4E3A <slug> \u6216 <teamId>--<slug>\uFF0C\u4F8B\u5982: my-skill \u6216 12680de5--my-skill"),1;n=this._resolveNamespace(i[0]),s=i[1]}else n=this._resolveNamespace(null),s=e;let o=`/api/v1/skills/${encodeURIComponent(n)}/${encodeURIComponent(s)}`;console.log(`\u{1F5D1}\uFE0F \u6B63\u5728\u4E0B\u67B6 ${n}--${s}`);try{let i=await this._request("DELETE",o,t),a=JSON.parse(i.body);return a.code===0?(console.log(`\u2705 \u5DF2\u4E0B\u67B6 ${n}--${s}`),0):(console.error(`\u274C \u4E0B\u67B6\u5931\u8D25: ${a.msg||JSON.stringify(a)}`),1)}catch(i){return console.error(`\u274C \u8BF7\u6C42\u5931\u8D25: ${i.message}`),1}}async listTeamSkills(e,t){let n=0,s=20,o=null;for(let d=0;d<e.length;d++)(e[d]==="--page"||e[d]==="-p")&&e[d+1]?n=parseInt(e[++d],10):(e[d]==="--size"||e[d]==="-s")&&e[d+1]?s=parseInt(e[++d],10):(e[d]==="--team"||e[d]==="-t")&&e[d+1]&&(o=e[++d]);let i=this._resolveNamespace(o),a=i==="global",c=a?"":`&namespace=${encodeURIComponent(i)}`,l=`/api/web/skills?sort=newest&page=${n}&size=${s}${c}`;try{let d=await this._request("GET",l,t),u=JSON.parse(d.body);if(u.code!==0)return console.error(`\u274C \u83B7\u53D6\u5931\u8D25: ${u.msg}`),1;let h=u.data?.items||[],_=u.data?.total||0,v=a?"\u516C\u5171":`\u56E2\u961F ${i}`;if(h.length===0)return console.log(`${v} \u4E0B\u6682\u65E0 skill`),0;console.log(`${v} \u5171 ${_} \u4E2A skill\uFF08\u7B2C ${n+1} \u9875\uFF09:
48
- `);for(let A of h){let w=`${A.slug}`.padEnd(28),T=`\u2B50 ${A.starCount??0}`.padEnd(8),J=`\u2193 ${A.downloadCount??0}`.padEnd(10);console.log(` ${w} ${T} ${J} ${A.summary||""}`)}return(n+1)*s<_&&console.log(`
49
- \u4E0B\u4E00\u9875: coder skills list --page ${n+1}`),0}catch(d){return console.error(`\u274C \u8BF7\u6C42\u5931\u8D25: ${d.message}`),1}}async listMySkills(e,t){let n=0,s=50;for(let o=0;o<e.length;o++)(e[o]==="--page"||e[o]==="-p")&&e[o+1]?n=parseInt(e[++o],10):(e[o]==="--size"||e[o]==="-s")&&e[o+1]&&(s=parseInt(e[++o],10));if(!t)return console.error("\u274C \u7F3A\u5C11 API Key\uFF0C\u8BF7\u5148\u767B\u5F55: coder auth login"),1;try{let o=await this._request("GET",`/api/web/me/skills?page=${n}&size=${s}`,t),i=JSON.parse(o.body);if(i.code!==0)return console.error(`\u274C \u83B7\u53D6\u5931\u8D25: ${i.msg}`),1;let a=i.data?.items||[],c=i.data?.total||0;if(a.length===0)return console.log("\u6682\u65E0\u5DF2\u53D1\u5E03\u7684 skill"),0;console.log(`\u5171 ${c} \u4E2A skill:
50
- `);for(let l of a){let d=`${l.namespace==="global"?"":"--"}${l.slug}`.padEnd(36),u=`\u2B50 ${l.starCount??0}`.padEnd(8),h=`\u2193 ${l.downloadCount??0}`.padEnd(10);console.log(` ${d} ${u} ${h} [${l.status}]`),l.displayName&&l.displayName!==l.slug&&console.log(` ${"".padEnd(36)} ${l.displayName}`)}return 0}catch(o){return console.error(`\u274C \u8BF7\u6C42\u5931\u8D25: ${o.message}`),1}}showHelp(){console.log(["Usage: coder skills [subcommand] [options]","","\u2139\uFE0F Skill \u540D\u79F0\u683C\u5F0F:"," \u516C\u5171 skill \u76F4\u63A5\u7528 slug\uFF0C\u4F8B\u5982: vue"," \u56E2\u961F\u79C1\u6709 skill \u9700\u52A0\u56E2\u961F\u524D\u7F00: <teamId>--<slug>\uFF0C\u4F8B\u5982: 12680de5--my-skill"," teamId \u4E3A\u56E2\u961F ID \u524D 8 \u4F4D\uFF0C\u8FD0\u884C `coder team list` \u67E5\u770B","","Global Options:"," --team <teamId> \u6307\u5B9A\u56E2\u961F\uFF08\u9ED8\u8BA4\u4F7F\u7528 coder team use \u8BBE\u7F6E\u7684\u56E2\u961F\uFF09","","Subcommands:"," add <name> \u5B89\u88C5 skill"," remove <name> \u5378\u8F7D skill"," update [name] \u66F4\u65B0 skill\uFF08\u4E0D\u6307\u5B9A\u540D\u79F0\u5219\u66F4\u65B0\u5168\u90E8\uFF09"," check-updates \u68C0\u67E5\u5DF2\u5B89\u88C5 skill \u662F\u5426\u6709\u65B0\u7248\u672C"," search <keyword> \u641C\u7D22 skill"," list [--page <n>] [--size <n>] [--team <id>] \u5217\u51FA\u5F53\u524D\u56E2\u961F\u4E0B\u7684 skill"," my-skills [--page <n>] [--size <n>] \u67E5\u770B\u6211\u53D1\u5E03\u7684 skill"," publish [options] [<dir-or-zip>] \u53D1\u5E03 skill \u5230 skillhub"," unpublish <slug> \u4E0B\u67B6 skill\uFF08\u4F7F\u7528\u9ED8\u8BA4\u56E2\u961F\uFF09","","Publish Options:"," --team <teamId> \u76EE\u6807\u56E2\u961F\uFF08\u9ED8\u8BA4: \u5F53\u524D\u56E2\u961F\uFF0C\u65E0\u56E2\u961F\u65F6\u53D1\u5E03\u5230\u516C\u5171\uFF09"," --visibility <v> \u53EF\u89C1\u6027: PUBLIC | NAMESPACE_ONLY | PRIVATE"," \uFF08\u9ED8\u8BA4: PUBLIC\uFF0C\u56E2\u961F skill \u81EA\u52A8\u9501\u5B9A\u4E3A NAMESPACE_ONLY\uFF09"," --meta-data <json> \u9644\u52A0\u81EA\u5B9A\u4E49\u5143\u6570\u636E JSON","","Examples:"," coder skills add vue \u5B89\u88C5\u516C\u5171 skill"," coder skills add 12680de5--my-skill \u5B89\u88C5\u56E2\u961F\u79C1\u6709 skill"," coder skills search react \u641C\u7D22 skill"," coder skills list \u5217\u51FA\u5F53\u524D\u56E2\u961F\u7684 skill"," coder skills list --page 1 \u7B2C\u4E8C\u9875"," coder skills my-skills \u67E5\u770B\u6211\u53D1\u5E03\u7684 skill"," coder skills publish ./my-skill-dir \u53D1\u5E03\uFF08\u81EA\u52A8\u4F7F\u7528\u9ED8\u8BA4\u56E2\u961F\uFF09"," coder skills publish --team 12680de5 ./my-skill-dir \u53D1\u5E03\u5230\u6307\u5B9A\u56E2\u961F"," coder skills publish --visibility PRIVATE my-skill.zip",` coder skills publish --meta-data '{"category":"tool"}' ./my-skill-dir`," coder skills unpublish my-skill \u4E0B\u67B6\uFF08\u4F7F\u7528\u9ED8\u8BA4\u56E2\u961F\uFF09"," coder skills unpublish 12680de5--my-skill \u4E0B\u67B6\u6307\u5B9A\u56E2\u961F\u7684 skill"].join(`
51
- `))}};Ir.exports=Cr;Ir.exports.SKILLS_SUBCOMMANDS=mc});var kr=b((Nm,ms)=>{var pc="https://makecoder.com/wiki",as=/^(?:[0-9a-zA-Z-_~]*-)?([a-zA-Z0-9]{10,15})$/,cs=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function ls(r){return typeof r=="string"&&cs.test(r)}function ds(r){if(typeof r!="string")return null;let e=r.trim();if(!e)return null;if(/^https?:\/\//i.test(e))try{let n=new URL(e).pathname.split("/").filter(Boolean);e=n.length?n[n.length-1]:""}catch{return null}return e||null}function us(r){let e=ds(r);if(!e)return null;if(ls(e))return{kind:"uuid",value:e};let t=e.match(as);return t?{kind:"urlId",value:t[1]}:null}function hc(r){let e=us(r);return e&&e.kind==="urlId"?e.value:null}ms.exports={WIKI_BASE:pc,SLUG_URL_REGEX:as,UUID_REGEX:cs,isUuid:ls,lastPathSegment:ds,classifyId:us,extractUrlId:hc}});var _t=b((Rm,hs)=>{var fc=require("https"),{WIKI_BASE:Zt}=kr(),ps=`${Zt}/api`,gc=r=>`${Zt}/doc/${r}`,yc=r=>`${Zt}/collection/${r}`,vr=class{constructor(e,t=null){this.token=e,this.teamId=t||null}post(e,t){return new Promise((n,s)=>{let o=JSON.stringify(t||{}),i=new URL(`${ps}/${e}`),a={"Content-Type":"application/json","Content-Length":Buffer.byteLength(o),Authorization:`Bearer ${this.token}`};this.teamId&&(a["X-Team-Id"]=this.teamId);let c=fc.request({hostname:i.hostname,port:i.port||443,path:i.pathname,method:"POST",headers:a},l=>{let d="";l.on("data",u=>d+=u),l.on("end",()=>n({status:l.statusCode,body:d}))});c.on("error",s),c.write(o),c.end()})}async postJson(e,t,{allowNoData:n=!1}={}){let s=await this.post(e,t),o=Or(s.body);return{ok:s.status<400&&o?.ok!==!1&&(n||o?.data!==void 0),status:s.status,json:o,body:s.body}}};function Or(r){try{return JSON.parse(r)}catch{return null}}function _c(r){let e=Or(r);return e?.message?e.message:e?.error?e.error:(r||"").slice(0,200)||"\u8BF7\u6C42\u5931\u8D25"}hs.exports={WikiHttp:vr,WIKI_BASE:Zt,WIKI_API_BASE:ps,docUrl:gc,colUrl:yc,parseJson:Or,errorMessage:_c}});var Sr=b((qm,gs)=>{var{WIKI_BASE:bc,docUrl:xc}=_t(),$r=r=>String(r??"").replace(/\|/g,"\\|").replace(/\n/g," ");function wc(r,e,t={}){let n=typeof t=="string"?{empty:t}:t,{labels:s=fs,empty:o="\uFF08\u7A7A\uFF09"}=n;if(!e||!e.length){r.emit(o);return}if(r.isJson){r.emit(e);return}let i=Object.keys(e[0]),c=[`| ${i.map(l=>s[l]||l).map($r).join(" | ")} |`,`| ${i.map(()=>"---").join(" | ")} |`,...e.map(l=>`| ${i.map(d=>$r(l[d])).join(" | ")} |`)];r.emit(c.join(`
52
- `))}function Cc(r,e,t=1/0){if(!Array.isArray(e)||!e.length){r.emit("\uFF08\u7A7A\uFF09");return}if(r.isJson){r.emit(e);return}let n=[],s=(o,i,a)=>{o.forEach((c,l)=>{let d=l===o.length-1,u=d?"\u2514\u2500\u2500 ":"\u251C\u2500\u2500 ",h=c.url?`${bc}${c.url}`:xc(c.id);n.push(`${i}${u}${c.title||c.id} ${h}`),c.children?.length&&a+1<t&&s(c.children,i+(d?" ":"\u2502 "),a+1)})};s(e,"",0),r.emit(n.join(`
53
- `))}function Ic(r,e,t=null){if(r.isJson){let n={};for(let[s,o]of e)n[s]=o;t&&typeof t=="object"&&Object.assign(n,t),r.emit(n);return}r.emit(e.map(([n,s,o])=>`${o||n}: ${s??""}`).join(`
54
- `))}var fs={title:"\u6807\u9898",name:"\u540D\u79F0",description:"\u63CF\u8FF0",permission:"\u6743\u9650",deleted_at:"\u5220\u9664\u65F6\u95F4",created_at:"\u521B\u5EFA\u65F6\u95F4",time:"\u65F6\u95F4",email:"\u90AE\u7BB1",role:"\u89D2\u8272",members:"\u6210\u5458\u6570",count:"\u6B21\u6570",latest:"\u6700\u8FD1",document:"\u6587\u6863",event:"\u4E8B\u4EF6",collection:"\u96C6\u5408",type:"\u7C7B\u578B",state:"\u72B6\u6001",filename:"\u6587\u4EF6\u540D",size:"\u5927\u5C0F",author:"\u4F5C\u8005",content:"\u5185\u5BB9",icon:"\u56FE\u6807\u540D",keywords:"\u5173\u952E\u8BCD",published:"\u5DF2\u53D1\u5E03"};gs.exports={emitTable:wc,emitTree:Cc,emitDetails:Ic,escCell:$r,LABELS:fs}});var Er=b((Zm,_s)=>{var{emitTable:ys,emitDetails:kc,emitTree:vc,LABELS:Oc}=Sr(),{docUrl:$c,colUrl:Sc}=_t(),G=r=>r?.data||[],Ye=r=>r?.data?.memberships||r?.data?.groupMemberships||r?.data||[],q=(r,e,t)=>(n,s)=>ys(n,(r(s)||[]).map(e),{labels:Oc,empty:t}),Ae=r=>(e,t)=>kc(e,r(t.data)),O=r=>(e,t)=>e.emit(typeof r=="function"?r(t):r),y=(r,e)=>{let t=r.indexOf(e);return t!==-1?r[t+1]:void 0},Ar=r=>({id:r.id,title:r.title,url:$c(r.urlId||r.id)}),Ac={"collection-info":{endpoint:"collections.info",id:"col",req:"\u8BF7\u6307\u5B9A\u96C6\u5408 id",body:r=>({id:r}),render:Ae(r=>[["id",r.id],["name",r.name,"\u540D\u79F0"],["description",r.description||"","\u63CF\u8FF0"],["permission",r.permission||"null","\u6743\u9650"],["url",Sc(r.urlId||r.id)]])},"collection-members":{endpoint:"collections.memberships",id:"col",req:"\u8BF7\u6307\u5B9A\u96C6\u5408 id",body:(r,e)=>{let t={id:r};return y(e,"--query")&&(t.query=y(e,"--query")),y(e,"--permission")&&(t.permission=y(e,"--permission")),t},render:q(Ye,r=>({userId:r.userId||"",name:r.user?.name||"",permission:r.permission||""}),"\u6682\u65E0\u6210\u5458")},"collection-add-user":{endpoint:"collections.add_user",id:"col",req:"\u8BF7\u6307\u5B9A\u96C6\u5408 id",reqArgs:(r,e)=>!e[1]&&"\u8BF7\u6307\u5B9A\u7528\u6237 id\uFF08\u7B2C\u4E8C\u4E2A\u53C2\u6570\uFF09",body:(r,e)=>{let t={id:r,userId:e[1]};return y(e,"--permission")&&(t.permission=y(e,"--permission")),t},render:O("\u5DF2\u6DFB\u52A0\u7528\u6237\u5230\u96C6\u5408")},"collection-remove-user":{endpoint:"collections.remove_user",id:"col",req:"\u8BF7\u6307\u5B9A\u96C6\u5408 id",reqArgs:(r,e)=>!e[1]&&"\u8BF7\u6307\u5B9A\u7528\u6237 id\uFF08\u7B2C\u4E8C\u4E2A\u53C2\u6570\uFF09",body:(r,e)=>({id:r,userId:e[1]}),expectOk:!0,render:O("\u5DF2\u4ECE\u96C6\u5408\u79FB\u9664\u7528\u6237")},"collection-add-group":{endpoint:"collections.add_group",id:"col",req:"\u8BF7\u6307\u5B9A\u96C6\u5408 id",reqArgs:(r,e)=>!e[1]&&"\u8BF7\u6307\u5B9A\u7FA4\u7EC4 id\uFF08\u7B2C\u4E8C\u4E2A\u53C2\u6570\uFF09",body:(r,e)=>{let t={id:r,groupId:e[1]};return y(e,"--permission")&&(t.permission=y(e,"--permission")),t},render:O("\u5DF2\u6DFB\u52A0\u7FA4\u7EC4\u5230\u96C6\u5408")},"collection-remove-group":{endpoint:"collections.remove_group",id:"col",req:"\u8BF7\u6307\u5B9A\u96C6\u5408 id",reqArgs:(r,e)=>!e[1]&&"\u8BF7\u6307\u5B9A\u7FA4\u7EC4 id\uFF08\u7B2C\u4E8C\u4E2A\u53C2\u6570\uFF09",body:(r,e)=>({id:r,groupId:e[1]}),expectOk:!0,render:O("\u5DF2\u4ECE\u96C6\u5408\u79FB\u9664\u7FA4\u7EC4")},"collection-group-members":{endpoint:"collections.group_memberships",id:"col",req:"\u8BF7\u6307\u5B9A\u96C6\u5408 id",body:r=>({id:r}),render:q(Ye,r=>({groupId:r.groupId||"",name:r.group?.name||"",permission:r.permission||""}),"\u6682\u65E0\u7FA4\u7EC4\u6210\u5458")},"collection-export":{endpoint:"collections.export",id:"col",req:"\u8BF7\u6307\u5B9A\u96C6\u5408 id",body:(r,e)=>{let t={id:r};return y(e,"--format")&&(t.format=y(e,"--format")),t},render:O(r=>`\u5BFC\u51FA\u4EFB\u52A1\u5DF2\u521B\u5EFA: ${r.data?.id||""}`)},"export-all":{endpoint:"collections.export_all",body:(r,e)=>{let t={};return y(e,"--format")&&(t.format=y(e,"--format")),t},render:O(r=>`\u5168\u91CF\u5BFC\u51FA\u4EFB\u52A1\u5DF2\u521B\u5EFA: ${r.data?.id||""}`)},"collection-move":{endpoint:"collections.move",id:"col",req:"\u8BF7\u6307\u5B9A\u96C6\u5408 id",reqArgs:(r,e)=>!e[1]&&"\u8BF7\u6307\u5B9A\u76EE\u6807 index\uFF08\u7B2C\u4E8C\u4E2A\u53C2\u6570\uFF09",body:(r,e)=>({id:r,index:e[1]}),render:O("\u96C6\u5408\u5DF2\u79FB\u52A8")},archived:{endpoint:"documents.archived",resolve:[{flag:"--collection",kind:"col"}],body:(r,e)=>{let t={};return y(e,"--collection")&&(t.collectionId=y(e,"--collection")),y(e,"--sort")&&(t.sort=y(e,"--sort")),y(e,"--direction")&&(t.direction=y(e,"--direction")),t},render:q(G,Ar,"\u6682\u65E0\u5DF2\u5F52\u6863\u6587\u6863")},deleted:{endpoint:"documents.deleted",body:(r,e)=>{let t={};return y(e,"--sort")&&(t.sort=y(e,"--sort")),y(e,"--direction")&&(t.direction=y(e,"--direction")),t},render:q(G,r=>({id:r.id,title:r.title,deleted_at:r.deletedAt||""}),"\u6682\u65E0\u5DF2\u5220\u9664\u6587\u6863")},insights:{endpoint:"documents.insights",id:"doc",req:"\u8BF7\u6307\u5B9A\u6587\u6863 id",body:(r,e)=>{let t={id:r};return y(e,"--start-date")&&(t.startDate=y(e,"--start-date")),y(e,"--end-date")&&(t.endDate=y(e,"--end-date")),t},render:q(G,r=>({userId:r.userId||"",name:r.user?.name||"",time:r.createdAt||""}),"\u6682\u65E0\u8BBF\u95EE\u6570\u636E")},export:{endpoint:"documents.export",id:"doc",req:"\u8BF7\u6307\u5B9A\u6587\u6863 id",body:(r,e)=>({id:r,includeChildDocuments:e.includes("--include-children")}),render:(r,e)=>{let t=e.data;r.emit(t)}},"search-titles":{endpoint:"documents.search_titles",req:"\u8BF7\u6307\u5B9A\u641C\u7D22\u5173\u952E\u8BCD",body:(r,e)=>({query:[r,...e.slice(1)].join(" ")}),render:q(G,Ar,"\u672A\u627E\u5230\u5339\u914D\u6807\u9898")},duplicate:{endpoint:"documents.duplicate",id:"doc",req:"\u8BF7\u6307\u5B9A\u6587\u6863 id",resolve:[{flag:"--collection",kind:"col"},{flag:"--parent",kind:"doc"}],body:(r,e)=>{let t={id:r};return y(e,"--title")&&(t.title=y(e,"--title")),y(e,"--collection")&&(t.collectionId=y(e,"--collection")),y(e,"--parent")&&(t.parentDocumentId=y(e,"--parent")),e.includes("--recursive")&&(t.recursive=!0),e.includes("--publish")&&(t.publish=!0),t},render:O(r=>{let e=(r.data?.documents||[])[0];return e?`\u6587\u6863\u5DF2\u590D\u5236: ${e.id} \u2014 ${e.title}`:"\u6587\u6863\u5DF2\u590D\u5236"})},unpublish:{endpoint:"documents.unpublish",id:"doc",req:"\u8BF7\u6307\u5B9A\u6587\u6863 id",body:r=>({id:r}),render:O("\u6587\u6863\u5DF2\u53D6\u6D88\u53D1\u5E03")},templatize:{endpoint:"documents.templatize",id:"doc",req:"\u8BF7\u6307\u5B9A\u6587\u6863 id",resolve:[{flag:"--collection",kind:"col"}],body:(r,e)=>{let t={id:r,publish:!0};return y(e,"--collection")&&(t.collectionId=y(e,"--collection")),t},render:O(r=>`\u5DF2\u8F6C\u4E3A\u6A21\u677F: ${r.data.id}`)},"doc-members":{endpoint:"documents.memberships",id:"doc",req:"\u8BF7\u6307\u5B9A\u6587\u6863 id",body:r=>({id:r}),render:q(Ye,r=>({userId:r.userId||"",name:r.user?.name||"",permission:r.permission||""}),"\u6682\u65E0\u6210\u5458")},"doc-add-user":{endpoint:"documents.add_user",id:"doc",req:"\u8BF7\u6307\u5B9A\u6587\u6863 id",reqArgs:(r,e)=>!e[1]&&"\u8BF7\u6307\u5B9A\u7528\u6237 id\uFF08\u7B2C\u4E8C\u4E2A\u53C2\u6570\uFF09",body:(r,e)=>{let t={id:r,userId:e[1]};return y(e,"--permission")&&(t.permission=y(e,"--permission")),t},render:O("\u5DF2\u6DFB\u52A0\u7528\u6237\u5230\u6587\u6863")},"doc-remove-user":{endpoint:"documents.remove_user",id:"doc",req:"\u8BF7\u6307\u5B9A\u6587\u6863 id",reqArgs:(r,e)=>!e[1]&&"\u8BF7\u6307\u5B9A\u7528\u6237 id\uFF08\u7B2C\u4E8C\u4E2A\u53C2\u6570\uFF09",body:(r,e)=>({id:r,userId:e[1]}),expectOk:!0,render:O("\u5DF2\u4ECE\u6587\u6863\u79FB\u9664\u7528\u6237")},"doc-add-group":{endpoint:"documents.add_group",id:"doc",req:"\u8BF7\u6307\u5B9A\u6587\u6863 id",reqArgs:(r,e)=>!e[1]&&"\u8BF7\u6307\u5B9A\u7FA4\u7EC4 id\uFF08\u7B2C\u4E8C\u4E2A\u53C2\u6570\uFF09",body:(r,e)=>{let t={id:r,groupId:e[1]};return y(e,"--permission")&&(t.permission=y(e,"--permission")),t},render:O("\u5DF2\u6DFB\u52A0\u7FA4\u7EC4\u5230\u6587\u6863")},"doc-remove-group":{endpoint:"documents.remove_group",id:"doc",req:"\u8BF7\u6307\u5B9A\u6587\u6863 id",reqArgs:(r,e)=>!e[1]&&"\u8BF7\u6307\u5B9A\u7FA4\u7EC4 id\uFF08\u7B2C\u4E8C\u4E2A\u53C2\u6570\uFF09",body:(r,e)=>({id:r,groupId:e[1]}),expectOk:!0,render:O("\u5DF2\u4ECE\u6587\u6863\u79FB\u9664\u7FA4\u7EC4")},"doc-group-members":{endpoint:"documents.group_memberships",id:"doc",req:"\u8BF7\u6307\u5B9A\u6587\u6863 id",body:r=>({id:r}),render:q(Ye,r=>({groupId:r.groupId||"",name:r.group?.name||"",permission:r.permission||""}),"\u6682\u65E0\u7FA4\u7EC4\u6210\u5458")},"empty-trash":{endpoint:"documents.empty_trash",body:()=>({}),expectOk:!0,render:O("\u56DE\u6536\u7AD9\u5DF2\u6E05\u7A7A")},"sub-docs":{endpoint:"documents.documents",id:"doc",req:"\u8BF7\u6307\u5B9A\u6587\u6863 id",body:r=>({id:r}),render:(r,e)=>vc(r,e.data?.children||[])},shares:{endpoint:"shares.list",resolve:[{flag:"--document",kind:"doc"}],body:(r,e)=>{let t={};return y(e,"--document")&&(t.documentId=y(e,"--document")),t},render:q(G,r=>({shareId:r.id,document:r.documentTitle||r.documentId||"",published:r.published?"\u662F":"\u5426",url:r.url||""}),"\u6682\u65E0\u5206\u4EAB")},"share-info":{endpoint:"shares.info",req:"\u8BF7\u6307\u5B9A\u5206\u4EAB id\uFF08UUID\uFF0C\u6765\u81EA shares \u5217\u8868\uFF09",body:r=>({id:r}),render:Ae(r=>[["id",r.id],["document",r.documentTitle||r.documentId||"","\u6587\u6863"],["published",r.published?"\u662F":"\u5426","\u5DF2\u53D1\u5E03"],["url",r.url||""]])},share:{endpoint:"shares.create",id:"doc",req:"\u8BF7\u6307\u5B9A\u6587\u6863 id",body:(r,e)=>({documentId:r,published:e.includes("--published"),includeChildDocuments:e.includes("--include-children")}),render:O(r=>`\u5206\u4EAB\u5DF2\u521B\u5EFA: ${r.data.id}
55
- ${r.data.url||""}`)},"share-update":{endpoint:"shares.update",req:"\u8BF7\u6307\u5B9A\u5206\u4EAB id\uFF08UUID\uFF09",body:(r,e)=>{let t={id:r};return e.includes("--published")&&(t.published=!0),e.includes("--no-published")&&(t.published=!1),e.includes("--include-children")&&(t.includeChildDocuments=!0),t},render:O("\u5206\u4EAB\u5DF2\u66F4\u65B0")},unshare:{endpoint:"shares.revoke",req:"\u8BF7\u6307\u5B9A\u5206\u4EAB id\uFF08UUID\uFF09",body:r=>({id:r}),expectOk:!0,render:O("\u5206\u4EAB\u5DF2\u64A4\u9500")},users:{endpoint:"users.list",body:(r,e)=>{let t={};return y(e,"--query")&&(t.query=y(e,"--query")),y(e,"--filter")&&(t.filter=y(e,"--filter")),t},render:q(G,r=>({id:r.id,name:r.name,email:r.email||"",role:r.role||""}),"\u6682\u65E0\u7528\u6237")},"user-info":{endpoint:"users.info",req:"\u8BF7\u6307\u5B9A\u7528\u6237 id\uFF08UUID\uFF09",body:r=>({id:r}),render:Ae(r=>[["id",r.id],["name",r.name,"\u59D3\u540D"],["email",r.email||"","\u90AE\u7BB1"],["role",r.role||"","\u89D2\u8272"]])},invite:{endpoint:"users.invite",reqArgs:(r,e)=>!(y(e,"--email")||r)&&"\u8BF7\u6307\u5B9A\u90AE\u7BB1\uFF08\u7B2C\u4E00\u4E2A\u53C2\u6570\u6216 --email\uFF09",body:(r,e)=>{let t=y(e,"--email")||r,n=y(e,"--name")||e[1],s=y(e,"--role")||e[2];return{invites:[{email:t,name:n,role:s}]}},render:(r,e)=>{let t=e.data||[];if(!t.length)return r.emit("\u9080\u8BF7\u5DF2\u53D1\u9001");ys(r,t.map(n=>({id:n.id,email:n.email||"",name:n.name||""})))}},"user-update-role":{endpoint:"users.update_role",req:"\u8BF7\u6307\u5B9A\u7528\u6237 id\uFF08UUID\uFF09",reqArgs:(r,e)=>!e[1]&&"\u8BF7\u6307\u5B9A\u89D2\u8272\uFF08\u7B2C\u4E8C\u4E2A\u53C2\u6570\uFF1Aadmin|member|viewer\uFF09",body:(r,e)=>({id:r,role:e[1]}),render:O("\u7528\u6237\u89D2\u8272\u5DF2\u66F4\u65B0")},"user-suspend":{endpoint:"users.suspend",req:"\u8BF7\u6307\u5B9A\u7528\u6237 id\uFF08UUID\uFF09",body:r=>({id:r}),render:O("\u7528\u6237\u5DF2\u6682\u505C")},"user-activate":{endpoint:"users.activate",req:"\u8BF7\u6307\u5B9A\u7528\u6237 id\uFF08UUID\uFF09",body:r=>({id:r}),render:O("\u7528\u6237\u5DF2\u6FC0\u6D3B")},groups:{endpoint:"groups.list",body:(r,e)=>{let t={};return y(e,"--query")&&(t.query=y(e,"--query")),t},render:q(G,r=>({id:r.id,name:r.name,members:r.memberCount??""}),"\u6682\u65E0\u7FA4\u7EC4")},"group-info":{endpoint:"groups.info",req:"\u8BF7\u6307\u5B9A\u7FA4\u7EC4 id\uFF08UUID\uFF09",body:r=>({id:r}),render:Ae(r=>[["id",r.id],["name",r.name,"\u540D\u79F0"],["members",r.memberCount??"","\u6210\u5458"]])},"create-group":{endpoint:"groups.create",req:"\u8BF7\u6307\u5B9A\u7FA4\u7EC4\u540D\u79F0",body:(r,e)=>({name:[r,...e.slice(1)].join(" ")}),render:O(r=>`\u7FA4\u7EC4\u5DF2\u521B\u5EFA: ${r.data.id} \u2014 ${r.data.name}`)},"update-group":{endpoint:"groups.update",req:"\u8BF7\u6307\u5B9A\u7FA4\u7EC4 id\uFF08UUID\uFF09",body:(r,e)=>{let t={id:r};return y(e,"--name")&&(t.name=y(e,"--name")),t},render:O("\u7FA4\u7EC4\u5DF2\u66F4\u65B0")},"delete-group":{endpoint:"groups.delete",req:"\u8BF7\u6307\u5B9A\u7FA4\u7EC4 id\uFF08UUID\uFF09",body:r=>({id:r}),expectOk:!0,render:O("\u7FA4\u7EC4\u5DF2\u5220\u9664")},"group-members":{endpoint:"groups.memberships",req:"\u8BF7\u6307\u5B9A\u7FA4\u7EC4 id\uFF08UUID\uFF09",body:r=>({id:r}),render:q(Ye,r=>({userId:r.userId||r.user?.id||"",name:r.user?.name||""}),"\u6682\u65E0\u6210\u5458")},"group-add-user":{endpoint:"groups.add_user",req:"\u8BF7\u6307\u5B9A\u7FA4\u7EC4 id\uFF08UUID\uFF09",reqArgs:(r,e)=>!e[1]&&"\u8BF7\u6307\u5B9A\u7528\u6237 id\uFF08\u7B2C\u4E8C\u4E2A\u53C2\u6570\uFF09",body:(r,e)=>({id:r,userId:e[1]}),render:O("\u5DF2\u6DFB\u52A0\u7528\u6237\u5230\u7FA4\u7EC4")},"group-remove-user":{endpoint:"groups.remove_user",req:"\u8BF7\u6307\u5B9A\u7FA4\u7EC4 id\uFF08UUID\uFF09",reqArgs:(r,e)=>!e[1]&&"\u8BF7\u6307\u5B9A\u7528\u6237 id\uFF08\u7B2C\u4E8C\u4E2A\u53C2\u6570\uFF09",body:(r,e)=>({id:r,userId:e[1]}),expectOk:!0,render:O("\u5DF2\u4ECE\u7FA4\u7EC4\u79FB\u9664\u7528\u6237")},views:{endpoint:"views.list",id:"doc",req:"\u8BF7\u6307\u5B9A\u6587\u6863 id",body:r=>({documentId:r}),render:q(G,r=>({userId:r.userId||"",name:r.user?.name||"",count:r.count??"",latest:r.updatedAt||""}),"\u6682\u65E0\u6D4F\u89C8\u8BB0\u5F55")},view:{endpoint:"views.create",id:"doc",req:"\u8BF7\u6307\u5B9A\u6587\u6863 id",body:r=>({documentId:r}),render:O("\u6D4F\u89C8\u5DF2\u8BB0\u5F55")},subscriptions:{endpoint:"subscriptions.list",id:"doc",resolve:[{flag:"--collection",kind:"col"}],reqArgs:(r,e)=>!r&&e.indexOf("--collection")===-1&&"\u8BF7\u6307\u5B9A\u6587\u6863 id \u6216 --collection <id>",body:(r,e)=>{let t={event:"documents.update"};return r&&(t.documentId=r),y(e,"--collection")&&(t.collectionId=y(e,"--collection")),t},render:q(G,r=>({id:r.id,document:r.documentId||"",event:r.event||""}),"\u6682\u65E0\u8BA2\u9605")},subscribe:{endpoint:"subscriptions.create",id:"doc",req:"\u8BF7\u6307\u5B9A\u6587\u6863 id",body:r=>({documentId:r,event:"documents.update"}),render:O(r=>`\u5DF2\u8BA2\u9605: ${r.data.id}`)},unsubscribe:{endpoint:"subscriptions.delete",req:"\u8BF7\u6307\u5B9A\u8BA2\u9605 id\uFF08UUID\uFF09",body:r=>({id:r}),expectOk:!0,render:O("\u5DF2\u53D6\u6D88\u8BA2\u9605")},events:{endpoint:"events.list",resolve:[{flag:"--document",kind:"doc"},{flag:"--collection",kind:"col"}],body:(r,e)=>{let t={};return y(e,"--actor")&&(t.actorId=y(e,"--actor")),y(e,"--document")&&(t.documentId=y(e,"--document")),y(e,"--collection")&&(t.collectionId=y(e,"--collection")),y(e,"--type")&&(t.name=y(e,"--type")),t},render:q(G,r=>({event:r.name||"",actorId:r.actorId||"",time:r.createdAt||""}),"\u6682\u65E0\u4E8B\u4EF6")},templates:{endpoint:"templates.list",resolve:[{flag:"--collection",kind:"col"}],body:(r,e)=>{let t={};return y(e,"--collection")&&(t.collectionId=y(e,"--collection")),t},render:q(G,r=>({id:r.id,title:r.title,collection:r.collectionId||""}),"\u6682\u65E0\u6A21\u677F")},"template-info":{endpoint:"templates.info",req:"\u8BF7\u6307\u5B9A\u6A21\u677F id\uFF08UUID\uFF09",body:r=>({id:r}),render:Ae(r=>[["id",r.id],["title",r.title,"\u6807\u9898"],["collection",r.collectionId||"","\u96C6\u5408"]])},"create-template":{endpoint:"templates.create",id:"col",req:"\u8BF7\u6307\u5B9A\u96C6\u5408 id",reqArgs:(r,e)=>!e[1]&&"\u8BF7\u6307\u5B9A\u6A21\u677F\u6807\u9898\uFF08\u7B2C\u4E8C\u4E2A\u53C2\u6570\uFF09",body:(r,e)=>{let t=y(e,"--text")||"";return{collectionId:r,title:e[1],data:{type:"doc",content:t?[{type:"paragraph",content:[{type:"text",text:t}]}]:[]}}},render:O(r=>`\u6A21\u677F\u5DF2\u521B\u5EFA: ${r.data.id} \u2014 ${r.data.title}`)},"update-template":{endpoint:"templates.update",req:"\u8BF7\u6307\u5B9A\u6A21\u677F id\uFF08UUID\uFF09",body:(r,e)=>{let t={id:r};y(e,"--title")&&(t.title=y(e,"--title"));let n=y(e,"--text");return n!==void 0&&(t.data={type:"doc",content:[{type:"paragraph",content:[{type:"text",text:n}]}]}),t},render:O("\u6A21\u677F\u5DF2\u66F4\u65B0")},"delete-template":{endpoint:"templates.delete",req:"\u8BF7\u6307\u5B9A\u6A21\u677F id\uFF08UUID\uFF09",body:r=>({id:r}),expectOk:!0,render:O("\u6A21\u677F\u5DF2\u5220\u9664")},"duplicate-template":{endpoint:"templates.duplicate",req:"\u8BF7\u6307\u5B9A\u6A21\u677F id\uFF08UUID\uFF09",body:(r,e)=>{let t={id:r};return y(e,"--title")&&(t.title=y(e,"--title")),t},render:O(r=>`\u6A21\u677F\u5DF2\u590D\u5236: ${r.data.id} \u2014 ${r.data.title}`)},"file-ops":{endpoint:"fileOperations.list",body:(r,e)=>{let t={};return y(e,"--type")&&(t.type=y(e,"--type")),t},render:q(G,r=>({id:r.id,type:r.type||"",state:r.state||"",time:r.createdAt||""}),"\u6682\u65E0\u6587\u4EF6\u64CD\u4F5C\u8BB0\u5F55")},"file-op-info":{endpoint:"fileOperations.info",req:"\u8BF7\u6307\u5B9A\u6587\u4EF6\u64CD\u4F5C id\uFF08UUID\uFF09",body:r=>({id:r}),render:Ae(r=>[["id",r.id],["type",r.type||"","\u7C7B\u578B"],["state",r.state||"","\u72B6\u6001"],["time",r.createdAt||"","\u65F6\u95F4"]])},"file-op-delete":{endpoint:"fileOperations.delete",req:"\u8BF7\u6307\u5B9A\u6587\u4EF6\u64CD\u4F5C id\uFF08UUID\uFF09",body:r=>({id:r}),expectOk:!0,render:O("\u6587\u4EF6\u64CD\u4F5C\u8BB0\u5F55\u5DF2\u5220\u9664")},reactions:{endpoint:"reactions.list",req:"\u8BF7\u6307\u5B9A\u8BC4\u8BBA id\uFF08UUID\uFF09",body:r=>({commentId:r}),render:q(G,r=>({emoji:r.emoji||"",userId:r.userId||"",name:r.user?.name||""}),"\u6682\u65E0\u53CD\u5E94")},attachments:{endpoint:"attachments.list",id:"doc",body:r=>r?{documentId:r}:{},render:q(G,r=>({id:r.id,filename:r.name,type:r.contentType||"",size:r.size?`${Math.round(r.size/1024)}KB`:"",url:r.url||""}),"\u6682\u65E0\u9644\u4EF6")},"delete-attachment":{endpoint:"attachments.delete",req:"\u8BF7\u6307\u5B9A\u9644\u4EF6 id\uFF08UUID\uFF09",body:r=>({id:r}),expectOk:!0,render:O("\u9644\u4EF6\u5DF2\u5220\u9664")}};_s.exports={COMMANDS:Ac,list:q,details:Ae,ok:O,flag:y,items:G,memberships:Ye,docRow:Ar}});var xs=b((Lm,bs)=>{var Ec=[{name:"academicCap",keywords:"\u5B66\u4E60 \u6559\u5B66 \u8BFE\u7A0B \u6307\u5357 \u6559\u7A0B \u57F9\u8BAD \u5165\u95E8"},{name:"beaker",keywords:"\u5B9E\u9A8C\u5BA4 \u7814\u7A76 \u5B9E\u9A8C \u6D4B\u8BD5"},{name:"bicycle",keywords:"\u81EA\u884C\u8F66 \u9A91\u884C"},{name:"bookmark",keywords:"\u4E66\u7B7E \u6536\u85CF"},{name:"browser",keywords:"\u6D4F\u89C8\u5668 \u7F51\u9875 \u5E94\u7528"},{name:"buildingBlocks",keywords:"\u79EF\u6728 \u6A21\u5757 \u4EA7\u54C1 \u539F\u578B"},{name:"camera",keywords:"\u76F8\u673A \u7167\u7247 \u56FE\u7247"},{name:"carrot",keywords:"\u98DF\u7269 \u852C\u83DC \u519C\u4EA7\u54C1"},{name:"clock",keywords:"\u65F6\u949F \u65F6\u95F4"},{name:"cloud",keywords:"\u4E91 \u4E91\u670D\u52A1 \u57FA\u7840\u8BBE\u65BD"},{name:"code",keywords:"\u4EE3\u7801 \u5F00\u53D1 \u7F16\u7A0B \u5DE5\u7A0B API"},{name:"coins",keywords:"\u91D1\u5E01 \u91D1\u94B1 \u8D22\u52A1 \u9500\u552E \u6536\u5165 \u73B0\u91D1"},{name:"collection",keywords:"\u96C6\u5408 \u6587\u4EF6\u5939"},{name:"database",keywords:"\u6570\u636E\u5E93 \u670D\u52A1\u5668 \u8FD0\u7EF4"},{name:"done",keywords:"\u5B8C\u6210 \u6210\u529F \u52FE\u9009 \u7ED3\u675F"},{name:"email",keywords:"\u90AE\u4EF6 \u90AE\u7BB1"},{name:"eye",keywords:"\u773C\u775B \u67E5\u770B \u9884\u89C8"},{name:"feedback",keywords:"\u53CD\u9988 \u5E2E\u52A9 \u652F\u6301 FAQ"},{name:"flame",keywords:"\u706B\u7130 \u70ED\u95E8"},{name:"globe",keywords:"\u5730\u7403 \u7FFB\u8BD1 \u56FD\u9645\u5316"},{name:"graph",keywords:"\u56FE\u8868 \u5206\u6790 \u6570\u636E \u7EDF\u8BA1"},{name:"hashtag",keywords:"\u6807\u7B7E \u8BDD\u9898 \u793E\u4EA4\u5A92\u4F53"},{name:"icecream",keywords:"\u51B0\u6DC7\u6DCB \u751C\u70B9 \u98DF\u7269"},{name:"image",keywords:"\u56FE\u7247 \u56FE\u50CF \u7167\u7247"},{name:"info",keywords:"\u4FE1\u606F \u8BF4\u660E"},{name:"internet",keywords:"\u7F51\u7EDC \u5168\u7403 \u4E92\u8054\u7F51"},{name:"leaf",keywords:"\u53F6\u5B50 \u690D\u7269 \u81EA\u7136 \u751F\u6001 \u73AF\u5883"},{name:"letter",keywords:"\u5B57\u6BCD \u4FE1\u4EF6"},{name:"library",keywords:"\u56FE\u4E66\u9986 \u6587\u5E93 \u5F52\u6863"},{name:"lightbulb",keywords:"\u706F\u6CE1 \u60F3\u6CD5 \u521B\u610F"},{name:"lightning",keywords:"\u95EA\u7535 \u5FEB\u901F"},{name:"math",keywords:"\u6570\u5B66 \u516C\u5F0F"},{name:"moon",keywords:"\u6708\u4EAE \u591C\u665A \u6697\u8272"},{name:"notepad",keywords:"\u8BB0\u4E8B\u672C \u7B14\u8BB0 \u65E5\u5FD7 \u5199\u4F5C"},{name:"padlock",keywords:"\u9501 \u79C1\u5BC6 \u5B89\u5168 \u8BA4\u8BC1 \u6743\u9650"},{name:"palette",keywords:"\u8C03\u8272\u677F \u8BBE\u8BA1 \u827A\u672F \u54C1\u724C"},{name:"pencil",keywords:"\u94C5\u7B14 \u5199\u4F5C \u535A\u5BA2 \u6587\u7AE0"},{name:"plane",keywords:"\u98DE\u673A \u65C5\u884C \u51FA\u884C \u5047\u671F"},{name:"promote",keywords:"\u63A8\u5E7F \u8425\u9500 \u5BA3\u4F20"},{name:"question",keywords:"\u95EE\u9898 \u5E2E\u52A9 \u652F\u6301 FAQ"},{name:"ramen",keywords:"\u62C9\u9762 \u6C64 \u98DF\u7269 \u9910\u996E"},{name:"server",keywords:"\u670D\u52A1\u5668 \u8FD0\u7EF4 \u57FA\u7840\u8BBE\u65BD"},{name:"shapes",keywords:"\u5F62\u72B6 \u79EF\u6728 \u73A9\u5177"},{name:"smiley",keywords:"\u7B11\u8138 \u8868\u60C5 \u5F00\u5FC3"},{name:"sport",keywords:"\u8FD0\u52A8 \u6237\u5916 \u6E38\u620F"},{name:"sun",keywords:"\u592A\u9633 \u767D\u5929 \u5929\u6C14"},{name:"target",keywords:"\u76EE\u6807 \u9500\u552E \u6307\u6807"},{name:"team",keywords:"\u56E2\u961F \u7EC4\u7EC7 \u529E\u516C\u5BA4"},{name:"terminal",keywords:"\u7EC8\u7AEF \u547D\u4EE4\u884C \u4EE3\u7801"},{name:"thumbsup",keywords:"\u70B9\u8D5E \u6536\u85CF \u793E\u4EA4 \u6295\u7968"},{name:"tools",keywords:"\u5DE5\u5177 \u8BBE\u7F6E \u914D\u7F6E"},{name:"truck",keywords:"\u5361\u8F66 \u8FD0\u8F93 \u7269\u6D41"},{name:"vehicle",keywords:"\u8F66\u8F86 \u4EA4\u901A \u51FA\u884C"},{name:"warning",keywords:"\u8B66\u544A \u63D0\u793A \u9519\u8BEF"}];bs.exports={ICON_LIST:Ec}});var Ur=b((Mm,Os)=>{var Lt=require("fs"),Tr=require("path"),{docUrl:Xe,colUrl:Dr,errorMessage:Tc}=_t(),{emitTable:oe,emitTree:Dc,emitDetails:bt}=Sr(),{ICON_LIST:ws}=xs(),Z=(r,e)=>{let t=r.indexOf(e);return t!==-1?r[t+1]:void 0};async function D(r,e,t,{allowNoData:n=!1}={}){let s=await r.http.postJson(e,t,{allowNoData:n});if(!s.ok){r.ctx.fail(Tc(s.body),void 0);let o=new Error("__handled__");throw o.handled=!0,o}return s.json}var Mt=r=>({id:r.id,title:r.title,url:Xe(r.urlId||r.id)});async function Pc(r){let{ctx:e,http:t,resolver:n,arg:s,args:o}=r,i=o.indexOf("-d"),a=i!==-1?parseInt(o[i+1],10):null;if(!s){let d=await D(r,"collections.list",{});return oe(e,(d.data||[]).map(u=>({id:u.id,name:u.name,description:u.description||"",url:Dr(u.urlId||u.id)})),"\u6682\u65E0\u96C6\u5408"),0}let c=await n.toColUuid(s);if(a===null){let d=await D(r,"documents.list",{collectionId:c,sort:"updatedAt",direction:"DESC"});return oe(e,(d.data||[]).map(Mt),"\u6682\u65E0\u6587\u6863"),0}let l=await D(r,"collections.documents",{id:c});return Dc(e,l.data||[],a===-1?1/0:a),0}async function Uc(r){let{ctx:e,arg:t}=r,n=[...r.args],s=(A,w)=>{let T=n.indexOf(A);if(T===-1)return w;let J=n[T+1];return n.splice(T,2),J??w},o=s("--permission","read_write"),i=s("--icon"),a=s("--color"),c=s("--sort-field"),l=s("--sort-direction"),d=s("--index"),u=t||n[0];if(!u)return e.fail("\u8BF7\u6307\u5B9A\u96C6\u5408\u540D\u79F0",'\u7528\u6CD5: coder wiki create-collection "<\u540D\u79F0>" [\u63CF\u8FF0]'),1;let h=n.slice(1).filter(A=>!A.startsWith("--")).join(" "),_={name:u,description:h,sharing:!0};_.permission=o==="null"||o==="none"?null:o,i&&(_.icon=i),a&&(_.color=a),(c||l)&&(_.sort={field:c||"index",direction:l||"asc"}),d&&(_.index=d);let v=await D(r,"collections.create",_);return bt(e,[["collection",`${v.data.id} \u2014 ${v.data.name}`,"\u96C6\u5408\u5DF2\u521B\u5EFA"],["url",Dr(v.data.urlId||v.data.id)]]),0}async function jc(r){let{ctx:e,resolver:t,arg:n,args:s}=r;if(!n)return e.fail("\u8BF7\u6307\u5B9A\u96C6\u5408 id","coder wiki list \u67E5\u770B\u96C6\u5408"),1;let i={id:await t.toColUuid(n)};if(Z(s,"--name")&&(i.name=Z(s,"--name")),Z(s,"--description")&&(i.description=Z(s,"--description")),s.indexOf("--permission")!==-1){let c=Z(s,"--permission");i.permission=c==="null"||c==="none"?null:c}if(Z(s,"--color")&&(i.color=Z(s,"--color")),s.indexOf("--sharing")!==-1&&(i.sharing=Z(s,"--sharing")==="true"),Object.keys(i).length<=1)return e.fail("\u8BF7\u81F3\u5C11\u6307\u5B9A\u4E00\u4E2A\u8981\u66F4\u65B0\u7684\u5B57\u6BB5","\u53EF\u7528: --name --description --permission --color --sharing"),1;let a=await D(r,"collections.update",i);return e.emit(`\u96C6\u5408\u5DF2\u66F4\u65B0: ${a.data.id} \u2014 ${a.data.name}`),0}async function Pr(r,e,t,{allowNoData:n=!1}={}){let{ctx:s,resolver:o,arg:i}=r;if(!i)return s.fail("\u8BF7\u6307\u5B9A\u96C6\u5408 id","coder wiki list \u67E5\u770B\u96C6\u5408"),1;let a=await o.toColUuid(i);return await D(r,e,{id:a},{allowNoData:n}),s.emit(t),0}var Nc=r=>Pr(r,"collections.delete","\u96C6\u5408\u5DF2\u5220\u9664",{allowNoData:!0}),Rc=r=>Pr(r,"collections.archive","\u96C6\u5408\u5DF2\u5F52\u6863"),qc=r=>Pr(r,"collections.restore","\u96C6\u5408\u5DF2\u6062\u590D");async function Zc(r){let{ctx:e,resolver:t,arg:n}=r;if(!n)return e.fail("\u8BF7\u6307\u5B9A\u6587\u6863 id","\u53EF\u4F20 UUID / urlId / \u6D4F\u89C8\u5668 URL"),1;let s=await t.toDocUuid(n),i=(await D(r,"documents.info",{id:s})).data;return bt(e,[["title",i.title,"\u6807\u9898"],["id",i.id],["collection",i.collectionId,"\u96C6\u5408"],["updated_at",i.updatedAt,"\u66F4\u65B0"],["url",Xe(i.urlId||i.id)]]),!e.isJson&&i.text&&e.emit(`
56
- ${i.text}`),0}function Is(r,e){let t=Tr.resolve(e);if(!Lt.existsSync(t))return r.ctx.fail(`\u6587\u4EF6\u4E0D\u5B58\u5728: ${t}`,"\u786E\u8BA4\u8DEF\u5F84\u6B63\u786E"),null;let n=Lt.readFileSync(t,"utf8"),s=n.match(/^#\s+(.+)/m);return s?{title:s[1].trim(),text:n.replace(/^#\s+.+\n?/,"").trimStart()}:(r.ctx.fail("\u6587\u4EF6\u7F3A\u5C11 H1 \u6807\u9898\uFF08# \u6807\u9898\uFF09","\u5728 Markdown \u9876\u90E8\u52A0\u4E00\u884C # \u6807\u9898"),null)}async function Lc(r){let{ctx:e,resolver:t,arg:n,args:s}=r;if(!n)return e.fail("\u8BF7\u6307\u5B9A\u96C6\u5408 id","coder wiki publish <\u96C6\u5408> <\u6807\u9898> [\u6B63\u6587] | <\u96C6\u5408> --file <path> [--parent <doc>] [--index <n>] [--after <doc>]"),1;let o=await t.toColUuid(n),i,a,c=Z(s,"--parent")?await t.toDocUuid(Z(s,"--parent")):void 0,l=Z(s,"--index")?parseInt(Z(s,"--index"),10):void 0,d=Z(s,"--after");if(s.indexOf("--after")!==-1){if(!d)return e.fail("\u8BF7\u6307\u5B9A --after \u7684\u6587\u6863","\u4F20 UUID / urlId / URL"),1;let A=await t.toDocUuid(d),w=await D(r,"collections.documents",{id:o}),T=ks(w.data,A);if(!T)return e.fail(`\u96C6\u5408\u4E2D\u672A\u627E\u5230\u6587\u6863 ${d}`,"\u786E\u8BA4\u8BE5\u6587\u6863\u5C5E\u4E8E\u6B64\u96C6\u5408"),1;l=T.index+1,T.parentDocumentId&&!c&&(c=T.parentDocumentId)}if(s.indexOf("--file")!==-1){let A=Is(r,Z(s,"--file"));if(!A)return 1;({title:i,text:a}=A)}else if(i=s[1],a=s.slice(2).join(" "),!i)return e.fail("\u8BF7\u6307\u5B9A\u6587\u6863\u6807\u9898","coder wiki publish <\u96C6\u5408> <\u6807\u9898> [\u6B63\u6587]"),1;let u={collectionId:o,title:i,text:"",publish:!0};c&&(u.parentDocumentId=c),l!==void 0&&!isNaN(l)&&(u.index=l);let _=(await D(r,"documents.create",u)).data.id,v=await D(r,"documents.update",{id:_,title:i,text:a,publish:!0});return bt(e,[["title",v.data.title,"\u6587\u6863\u5DF2\u53D1\u5E03"],["id",_],["url",Xe(v.data.urlId||_)]]),0}function ks(r,e,t=null){if(!Array.isArray(r))return null;for(let n=0;n<r.length;n++){if(r[n].id===e)return{index:n,parentDocumentId:t};if(r[n].children?.length){let s=ks(r[n].children,e,r[n].id);if(s)return s}}return null}async function Mc(r){let{ctx:e,resolver:t,arg:n,args:s}=r;if(!n)return e.fail("\u8BF7\u6307\u5B9A\u6587\u6863 id","coder wiki update <\u6587\u6863> <\u6807\u9898> [\u6B63\u6587] | <\u6587\u6863> --file <path>"),1;let o=await t.toDocUuid(n),i,a;if(s.indexOf("--file")!==-1){let d=Is(r,Z(s,"--file"));if(!d)return 1;({title:i,text:a}=d)}else if(i=s[1],a=s.slice(2).join(" "),!i)return e.fail("\u8BF7\u6307\u5B9A\u6587\u6863\u6807\u9898","coder wiki update <\u6587\u6863> <\u6807\u9898> [\u6B63\u6587]"),1;let c={id:o,title:i,publish:!0};a&&(c.text=a);let l=await D(r,"documents.update",c);return e.emit(`\u6587\u6863\u5DF2\u66F4\u65B0: ${l.data.title}`),0}async function Vc(r){let{ctx:e,resolver:t,arg:n,args:s}=r;if(!n)return e.fail("\u8BF7\u6307\u5B9A\u6587\u6863 id","\u53EF\u4F20 UUID / urlId / URL"),1;let o=await t.toDocUuid(n),i=s.includes("--permanent");return await D(r,"documents.delete",{id:o,...i?{permanent:!0}:{}},{allowNoData:!0}),e.emit(`\u6587\u6863\u5DF2${i?"\u6C38\u4E45":""}\u5220\u9664`),0}async function Bc(r){let{ctx:e,resolver:t,arg:n,args:s}=r;if(!n)return e.fail("\u8BF7\u6307\u5B9A\u6587\u6863 id","coder wiki move <\u6587\u6863> [\u96C6\u5408] [\u7236\u6587\u6863]"),1;let i={id:await t.toDocUuid(n),index:0};return s[1]&&(i.collectionId=await t.toColUuid(s[1])),s[2]&&(i.parentDocumentId=await t.toDocUuid(s[2])),await D(r,"documents.move",i),e.emit("\u6587\u6863\u5DF2\u79FB\u52A8"),0}async function Fc(r,e,t){let{ctx:n,resolver:s,arg:o}=r;if(!o)return n.fail("\u8BF7\u6307\u5B9A\u6587\u6863 id","\u53EF\u4F20 UUID / urlId / URL"),1;let i=await s.toDocUuid(o);return await D(r,e,{id:i}),n.emit(t),0}var Gc=r=>Fc(r,"documents.archive","\u6587\u6863\u5DF2\u5F52\u6863");async function Hc(r){let{ctx:e,resolver:t,arg:n,args:s}=r;if(!n)return e.fail("\u8BF7\u6307\u5B9A\u6587\u6863 id","\u53EF\u4F20 UUID / urlId / URL"),1;let i={id:await t.toDocUuid(n)};return Z(s,"--revision")&&(i.revisionId=Z(s,"--revision")),Z(s,"--collection")&&(i.collectionId=await t.toColUuid(Z(s,"--collection"))),await D(r,"documents.restore",i),e.emit("\u6587\u6863\u5DF2\u6062\u590D"),0}async function zc(r){let{ctx:e,resolver:t,arg:n}=r;if(!n)return e.fail("\u8BF7\u6307\u5B9A\u6587\u6863 id","\u53EF\u4F20 UUID / urlId / URL"),1;let s=await t.toDocUuid(n),o=await D(r,"revisions.list",{documentId:s,sort:"createdAt",direction:"DESC"});return oe(e,(o.data||[]).map(i=>({revisionId:i.id,name:i.name||"",created_at:i.createdAt})),"\u6682\u65E0\u5386\u53F2\u7248\u672C"),0}async function Wc(r){let{ctx:e,arg:t}=r;if(!t)return e.fail("\u8BF7\u6307\u5B9A\u7248\u672C id\uFF08UUID\uFF0C\u6765\u81EA revisions \u5217\u8868\uFF09","coder wiki revisions <\u6587\u6863>"),1;let s=(await D(r,"revisions.info",{id:t})).data;return bt(e,[["revisionId",s.id,"\u7248\u672C id"],["name",s.name||"","\u7248\u672C\u540D"],["documentId",s.documentId,"\u6587\u6863 id"],["created_at",s.createdAt,"\u521B\u5EFA\u65F6\u95F4"]]),!e.isJson&&s.text&&e.emit(`
57
- ${s.text}`),0}async function Kc(r){let e=await D(r,"documents.drafts",{sort:"updatedAt",direction:"DESC"});return oe(r.ctx,(e.data||[]).map(Mt),"\u6682\u65E0\u8349\u7A3F"),0}async function Jc(r){let e=await D(r,"documents.viewed",{sort:"updatedAt",direction:"DESC"});return oe(r.ctx,(e.data||[]).map(Mt),"\u6682\u65E0\u6D4F\u89C8\u8BB0\u5F55"),0}async function Yc(r){let{ctx:e,arg:t,args:n}=r;if(!t)return e.fail("\u8BF7\u6307\u5B9A\u641C\u7D22\u5173\u952E\u8BCD","coder wiki search <\u5173\u952E\u8BCD>"),1;let s=[t,...n.slice(1)].join(" "),i=(await D(r,"documents.search",{query:s,snippetMinWords:20,snippetMaxWords:30})).data||[];return oe(e,i.map(a=>Mt(a.document||a)),`\u6CA1\u6709\u627E\u5230\u4E0E "${s}" \u76F8\u5173\u7684\u6587\u6863`),0}async function Xc(r){let{ctx:e}=r,t=await D(r,"stars.list",{}),n=t.data?.stars||[],s={};for(let o of t.data?.documents||[])s[o.id]=o;return oe(e,n.map(o=>{let i=o.documentId?s[o.documentId]:null;return{starId:o.id,title:i?.title||o.collectionId||o.documentId||"",url:i?Xe(i.urlId||i.id):o.collectionId?Dr(o.collectionId):o.documentId?Xe(o.documentId):""}}),"\u6682\u65E0\u6536\u85CF"),0}async function Qc(r){let{ctx:e,resolver:t,arg:n,args:s}=r;if(!n)return e.fail("\u8BF7\u6307\u5B9A\u6587\u6863\u6216\u96C6\u5408 id","\u96C6\u5408\u7528 --collection \u6807\u8BB0"),1;let o=s.includes("--collection"),i=o?await t.toColUuid(n):await t.toDocUuid(n);return await D(r,"stars.create",o?{collectionId:i}:{documentId:i}),e.emit("\u5DF2\u6536\u85CF"),0}async function el(r){let{ctx:e,arg:t}=r;return t?(await D(r,"stars.delete",{id:t},{allowNoData:!0}),e.emit("\u5DF2\u53D6\u6D88\u6536\u85CF"),0):(e.fail("\u8BF7\u6307\u5B9A\u6536\u85CF id\uFF08starId\uFF0C\u6765\u81EA stars \u5217\u8868\uFF09","coder wiki stars"),1)}async function tl(r){let{ctx:e,resolver:t,arg:n}=r,s=n?{collectionId:await t.toColUuid(n)}:{},o=await D(r,"pins.list",s),i=o.data?.pins||[],a={};for(let c of o.data?.documents||[])a[c.id]=c;return oe(e,i.map(c=>{let l=c.documentId?a[c.documentId]:null;return{pinId:c.id,title:l?.title||c.documentId,url:Xe(l?.urlId||c.documentId)}}),"\u6682\u65E0\u7F6E\u9876"),0}async function rl(r){let{ctx:e,resolver:t,arg:n,args:s}=r;if(!n)return e.fail("\u8BF7\u6307\u5B9A\u6587\u6863 id","coder wiki pin <\u6587\u6863> [\u96C6\u5408]"),1;let i={documentId:await t.toDocUuid(n)};s[1]&&(i.collectionId=await t.toColUuid(s[1]));let a=await D(r,"pins.create",i);return e.emit(`\u5DF2\u7F6E\u9876: ${a.data.id}`),0}async function nl(r){let{ctx:e,arg:t}=r;return t?(await D(r,"pins.delete",{id:t},{allowNoData:!0}),e.emit("\u5DF2\u53D6\u6D88\u7F6E\u9876"),0):(e.fail("\u8BF7\u6307\u5B9A\u7F6E\u9876 id\uFF08pinId\uFF0C\u6765\u81EA pins \u5217\u8868\uFF09","coder wiki pins"),1)}async function sl(r){let{ctx:e,resolver:t,arg:n}=r;if(!n)return e.fail("\u8BF7\u6307\u5B9A\u6587\u6863 id","\u53EF\u4F20 UUID / urlId / URL"),1;let s=await t.toDocUuid(n),i=(await D(r,"comments.list",{documentId:s,sort:"createdAt",direction:"ASC"})).data||[];return i.length?(e.isJson?oe(e,i.map(a=>({id:a.id,author:a.createdBy?.name||"?",content:Cs(a.data)}))):e.emit(i.map(a=>` [${a.id}] ${a.createdBy?.name||"?"}: ${Cs(a.data)}`).join(`
58
- `)),0):(e.emit("\u6682\u65E0\u8BC4\u8BBA"),0)}async function ol(r){let{ctx:e,resolver:t,arg:n,args:s}=r,o=s.slice(1).join(" ");if(!n||!o)return e.fail("\u7528\u6CD5: coder wiki comment <\u6587\u6863> <\u5185\u5BB9>","\u53EF\u4F20 UUID / urlId / URL"),1;let i=await t.toDocUuid(n),a=await D(r,"comments.create",{documentId:i,text:o});return e.emit(`\u8BC4\u8BBA\u5DF2\u53D1\u5E03: ${a.data.id}`),0}function Cs(r){return r?.content?r.content.flatMap(e=>e.content||[]).filter(e=>e.type==="text").map(e=>e.text).join(""):""}function il(r){let{ctx:e,arg:t,args:n}=r,s=Z(n,"--query")||t||"",o=s?ws.filter(i=>i.name.toLowerCase().includes(s.toLowerCase())||i.keywords.toLowerCase().includes(s.toLowerCase())):ws;return o.length?(oe(e,o.map(i=>({icon:i.name,keywords:i.keywords}))),e.isJson||e.emit(`
43
+ sudo chown -R $(whoami) "${d}"`)}return a>0?1:0}return console.error(`\u274C \u672A\u77E5\u5B50\u547D\u4EE4: ${e}`),1}async install(e,r){let n=ke.replace(/\/$/,"");console.log(`\u{1F50D} \u6B63\u5728\u4ECE ${ke} \u67E5\u627E skill...`);let s;try{let p=await this.fetchWithAuth(`${n}/.well-known/agent-skills/index.json?skill=${encodeURIComponent(e)}`,r);if(p.status===404)return console.error(`\u274C \u672A\u627E\u5230 skill: ${e}`),1;if(p.status!==200)return console.error(`\u274C \u65E0\u6CD5\u83B7\u53D6 skill \u4FE1\u606F (HTTP ${p.status})`),1;s=JSON.parse(p.body)}catch(p){return console.error(`\u274C \u8BF7\u6C42\u5931\u8D25: ${p.message}`),1}let o=(s.skills||[])[0];if(!o)return console.error(`\u274C \u672A\u627E\u5230 skill: ${e}`),1;let i=Array.from(new Set(["SKILL.md",...o.files||[]])),a=`${n}/.well-known/agent-skills/${o.name}`,c={};for(let p of i)try{let g=await this.fetchWithAuth(`${a}/${p}`,r);if(g.status!==200){console.warn(`\u26A0\uFE0F \u8DF3\u8FC7 ${p} (HTTP ${g.status})`);continue}c[p]=g.body}catch(g){console.warn(`\u26A0\uFE0F \u4E0B\u8F7D ${p} \u5931\u8D25: ${g.message}`)}console.log(`\u{1F4E6} \u6B63\u5728\u5B89\u88C5 ${o.name}...`);let d={name:o.name,version:o.version||null,installedAt:new Date().toISOString()};for(let p of this.getSkillDirs()){let g=V.join(p,o.name);U.mkdirSync(g,{recursive:!0});try{for(let[_,D]of Object.entries(c)){let S=V.join(g,_);U.mkdirSync(V.dirname(S),{recursive:!0}),U.writeFileSync(S,D,"utf8")}U.writeFileSync(V.join(g,".skill-meta.json"),JSON.stringify(d,null,2),"utf8")}catch(_){if(_.code==="EACCES")return"EACCES";throw _}}let l=o.version?` (v${o.version})`:"";return console.log(`\u2705 ${o.name}${l} \u5B89\u88C5\u5B8C\u6210`),this.cleanLegacySkill(o.name),0}cleanLegacySkill(e){let r=vt.homedir(),n=[".claude",".codex",".gemini"].map(s=>V.join(r,s,"skills",e));for(let s of n)if(U.existsSync(s))try{U.rmSync(s,{recursive:!0,force:!0})}catch{}}getInstalledSkills(){let e=[];for(let r of this.getSkillDirs())if(U.existsSync(r))for(let n of U.readdirSync(r,{withFileTypes:!0})){if(!n.isDirectory()||n.name.startsWith("."))continue;let s=V.join(r,n.name),o=V.join(s,".skill-meta.json"),i=null;if(U.existsSync(o))try{i=JSON.parse(U.readFileSync(o,"utf8"))}catch{}e.push({name:n.name,dir:s,meta:i})}return e}async checkUpdates(e){let r=this.getInstalledSkills();if(r.length===0)return[];let n=ke.replace(/\/$/,""),s=[];for(let o of r){let i=o.meta?.version||"0.0.1";try{let a=await this.fetchWithAuth(`${n}/.well-known/agent-skills/index.json?skill=${encodeURIComponent(o.name)}`,e);if(a.status===404||a.status!==200)continue;let d=(JSON.parse(a.body).skills||[])[0];if(!d?.version)continue;d.version!==i&&s.push({name:o.name,localVersion:i,remoteVersion:d.version})}catch{}}return s}notifyAndRefreshUpdates(e){let r=V.join(vt.homedir(),".agents","skills",".update-cache.json");if(!ja())try{if(U.existsSync(r)){let i=JSON.parse(U.readFileSync(r,"utf8"));if(Array.isArray(i.updates)&&i.updates.length>0){let c=i.updates.length,d;if(c<=3)d=i.updates.map(l=>`${l.name} (${l.localVersion} \u2192 ${l.remoteVersion})`).join(", ");else{let l=i.updates[0];d=`${l.name} (${l.localVersion} \u2192 ${l.remoteVersion}) \u7B49 ${c} \u4E2A skill \u8981\u66F4\u65B0`}console.error(`\x1B[33m\u26A1 ${d}\uFF0C\u8FD0\u884C \`coder skills update\` \u5347\u7EA7\x1B[0m`),c>3&&console.error("\x1B[33m \u8FD0\u884C `coder skills check-updates` \u67E5\u770B\u5B8C\u6574\u5217\u8868\x1B[0m"),console.error()}}}catch{}let n=3600*1e3,s=0;try{s=JSON.parse(U.readFileSync(r,"utf8")).checkedAt||0}catch{}!this.getInstalledSkills().some(i=>!i.meta?.version)&&Date.now()-s<n||setImmediate(async()=>{try{let i=await this.checkUpdates(e);U.mkdirSync(V.dirname(r),{recursive:!0}),U.writeFileSync(r,JSON.stringify({checkedAt:Date.now(),updates:i},null,2),"utf8")}catch{}})}remove(e){let r=!1;for(let n of this.getSkillDirs()){let s=V.join(n,e);U.existsSync(s)&&(U.rmSync(s,{recursive:!0,force:!0}),console.log(` \u{1F5D1}\uFE0F ${s}`),r=!0)}return r?(console.log(`\u2705 ${e} \u5DF2\u5220\u9664`),0):(console.error(`\u274C \u672A\u627E\u5230\u5DF2\u5B89\u88C5\u7684 skill: ${e}`),1)}async search(e){let r=`${ke}/api/web/skills?q=${encodeURIComponent(e)}&sort=relevance&page=0&size=12`;return new Promise(n=>{sr.get(r,s=>{let o="";s.on("data",i=>{o+=i}),s.on("end",()=>{try{let i=JSON.parse(o);if(i.code!==0)return console.error(`\u274C \u67E5\u8BE2\u5931\u8D25: ${i.msg}`),n(1);let a=i.data.items;if(a.length===0)return console.log(`\u6CA1\u6709\u627E\u5230\u4E0E "${e}" \u76F8\u5173\u7684 skill`),n(0);console.log(`\u627E\u5230 ${i.data.total} \u4E2A\u7ED3\u679C:
44
+ `);for(let c of a)console.log(` ${c.slug.padEnd(20)} ${c.summary}`);n(0)}catch(i){console.error(`\u274C \u89E3\u6790\u54CD\u5E94\u5931\u8D25: ${i.message}`),n(1)}})}).on("error",s=>{console.error(`\u274C \u8BF7\u6C42\u5931\u8D25: ${s.message}`),n(1)})})}async publish(e,r){let{execSync:n}=require("child_process"),s=require("os"),o=null,i="PUBLIC",a=null,c=null,d=null,l=null;for(let x=0;x<e.length;x++)if(e[x]==="--team"||e[x]==="-t"||e[x]==="--namespace"||e[x]==="-n")o=e[++x];else if(e[x]==="--visibility"||e[x]==="-v")i=e[++x];else if(e[x]==="--meta-data"){let A=e[++x];try{JSON.parse(A)}catch(H){return console.error(`\u274C --meta-data \u4E0D\u662F\u5408\u6CD5\u7684 JSON\uFF1A${H.message}`),1}a=A}else if(!e[x].startsWith("-")){let A=e[x];U.existsSync(A)&&U.statSync(A).isDirectory()?l=A:c=A}let p=this._resolveNamespace(o),g=p==="global";if(!r)return console.error("\u274C \u7F3A\u5C11 API Key\uFF0C\u8BF7\u5148\u767B\u5F55: coder auth login"),1;g||(i="NAMESPACE_ONLY");let _=["PUBLIC","NAMESPACE_ONLY","PRIVATE"];if(!_.includes(i))return console.error(`\u274C visibility \u5FC5\u987B\u662F: ${_.join(", ")}`),1;if(c){if(!U.existsSync(c))return console.error(`\u274C \u6587\u4EF6\u4E0D\u5B58\u5728: ${c}`),1}else{let x=l?V.resolve(l):process.cwd();d=V.join(s.tmpdir(),`skill-pub-${Date.now()}.zip`),console.log(`\u{1F4E6} \u6B63\u5728\u6253\u5305 ${x}...`);try{U.existsSync(V.join(x,".git"))?(n(`git archive -o "${d}" HEAD`,{cwd:x,stdio:"pipe"}),console.log(" \u4F7F\u7528 git archive\uFF08\u5DF2\u6392\u9664 .gitignore \u6587\u4EF6\uFF09")):n(`zip -r "${d}" . -x ".git/*" -x "node_modules/*" -x ".env" -x "*.log"`,{cwd:x,stdio:"pipe"})}catch(A){return console.error(`\u274C \u6253\u5305\u5931\u8D25: ${A.message}`),1}c=d}let D=`${ke}/api/v1/skills/${encodeURIComponent(p)}/publish?visibility=${encodeURIComponent(i)}`,S=r;console.log(`\u{1F680} \u6B63\u5728\u53D1\u5E03\u5230 ${ke}`),console.log(` team: ${p}`),console.log(` visibility: ${i}`);try{let x=a?` -F "meta_data=${a.replace(/"/g,'\\"')}"`:"",A=`curl -s -X POST "${D}" -H "Authorization: Bearer ${S}" -F "file=@${c}"${x}`,H=n(A,{encoding:"utf-8",stdio:["pipe","pipe","pipe"]}),ht=JSON.parse(H);if(ht.code===0){let me=ht.data,Yo=me.namespace==="global"?`https://makecoder.com/skillhub/${me.slug}`:`https://makecoder.com/skillhub/space/${me.namespace}/${me.slug}`;return console.log(`
45
+ \u2705 \u53D1\u5E03\u6210\u529F!`),console.log(` ${me.namespace}--${me.slug}@${me.version}`),console.log(` ${Yo}`),me.status==="PUBLISHED"?console.log(" \u72B6\u6001: \u5DF2\u53D1\u5E03"):console.log(" \u72B6\u6001: \u5F85\u5BA1\u6838"),0}else return console.error(`
46
+ \u274C \u53D1\u5E03\u5931\u8D25: ${ht.msg||JSON.stringify(ht)}`),1}catch(x){let A=x.stdout;if(A)try{let H=JSON.parse(A);return console.error(`
47
+ \u274C \u53D1\u5E03\u5931\u8D25: ${H.msg||A}`),1}catch{}return console.error(`\u274C \u8BF7\u6C42\u5931\u8D25: ${x.message}`),1}finally{d&&U.existsSync(d)&&U.unlinkSync(d)}}async unpublish(e,r){if(!e)return console.error("\u274C \u8BF7\u6307\u5B9A skill: coder skills unpublish <slug> \u6216 coder skills unpublish <teamId>--<slug>"),1;if(!r)return console.error("\u274C \u7F3A\u5C11 API Key\uFF0C\u8BF7\u5148\u767B\u5F55: coder auth login"),1;let n,s;if(e.includes("--")){let i=e.split("--");if(i.length!==2||!i[0]||!i[1])return console.error("\u274C \u683C\u5F0F\u9519\u8BEF\uFF0C\u5E94\u4E3A <slug> \u6216 <teamId>--<slug>\uFF0C\u4F8B\u5982: my-skill \u6216 12680de5--my-skill"),1;n=this._resolveNamespace(i[0]),s=i[1]}else n=this._resolveNamespace(null),s=e;let o=`/api/v1/skills/${encodeURIComponent(n)}/${encodeURIComponent(s)}`;console.log(`\u{1F5D1}\uFE0F \u6B63\u5728\u4E0B\u67B6 ${n}--${s}`);try{let i=await this._request("DELETE",o,r),a=JSON.parse(i.body);return a.code===0?(console.log(`\u2705 \u5DF2\u4E0B\u67B6 ${n}--${s}`),0):(console.error(`\u274C \u4E0B\u67B6\u5931\u8D25: ${a.msg||JSON.stringify(a)}`),1)}catch(i){return console.error(`\u274C \u8BF7\u6C42\u5931\u8D25: ${i.message}`),1}}async listTeamSkills(e,r){let n=0,s=20,o=null;for(let l=0;l<e.length;l++)(e[l]==="--page"||e[l]==="-p")&&e[l+1]?n=parseInt(e[++l],10):(e[l]==="--size"||e[l]==="-s")&&e[l+1]?s=parseInt(e[++l],10):(e[l]==="--team"||e[l]==="-t")&&e[l+1]&&(o=e[++l]);let i=this._resolveNamespace(o),a=i==="global",c=a?"":`&namespace=${encodeURIComponent(i)}`,d=`/api/web/skills?sort=newest&page=${n}&size=${s}${c}`;try{let l=await this._request("GET",d,r),p=JSON.parse(l.body);if(p.code!==0)return console.error(`\u274C \u83B7\u53D6\u5931\u8D25: ${p.msg}`),1;let g=p.data?.items||[],_=p.data?.total||0,D=a?"\u516C\u5171":`\u56E2\u961F ${i}`;if(g.length===0)return console.log(`${D} \u4E0B\u6682\u65E0 skill`),0;console.log(`${D} \u5171 ${_} \u4E2A skill\uFF08\u7B2C ${n+1} \u9875\uFF09:
48
+ `);for(let S of g){let x=`${S.slug}`.padEnd(28),A=`\u2B50 ${S.starCount??0}`.padEnd(8),H=`\u2193 ${S.downloadCount??0}`.padEnd(10);console.log(` ${x} ${A} ${H} ${S.summary||""}`)}return(n+1)*s<_&&console.log(`
49
+ \u4E0B\u4E00\u9875: coder skills list --page ${n+1}`),0}catch(l){return console.error(`\u274C \u8BF7\u6C42\u5931\u8D25: ${l.message}`),1}}async listMySkills(e,r){let n=0,s=50;for(let o=0;o<e.length;o++)(e[o]==="--page"||e[o]==="-p")&&e[o+1]?n=parseInt(e[++o],10):(e[o]==="--size"||e[o]==="-s")&&e[o+1]&&(s=parseInt(e[++o],10));if(!r)return console.error("\u274C \u7F3A\u5C11 API Key\uFF0C\u8BF7\u5148\u767B\u5F55: coder auth login"),1;try{let o=await this._request("GET",`/api/web/me/skills?page=${n}&size=${s}`,r),i=JSON.parse(o.body);if(i.code!==0)return console.error(`\u274C \u83B7\u53D6\u5931\u8D25: ${i.msg}`),1;let a=i.data?.items||[],c=i.data?.total||0;if(a.length===0)return console.log("\u6682\u65E0\u5DF2\u53D1\u5E03\u7684 skill"),0;console.log(`\u5171 ${c} \u4E2A skill:
50
+ `);for(let d of a){let l=`${d.namespace==="global"?"":"--"}${d.slug}`.padEnd(36),p=`\u2B50 ${d.starCount??0}`.padEnd(8),g=`\u2193 ${d.downloadCount??0}`.padEnd(10);console.log(` ${l} ${p} ${g} [${d.status}]`),d.displayName&&d.displayName!==d.slug&&console.log(` ${"".padEnd(36)} ${d.displayName}`)}return 0}catch(o){return console.error(`\u274C \u8BF7\u6C42\u5931\u8D25: ${o.message}`),1}}showHelp(){console.log(["Usage: coder skills [subcommand] [options]","","\u2139\uFE0F Skill \u540D\u79F0\u683C\u5F0F:"," \u516C\u5171 skill \u76F4\u63A5\u7528 slug\uFF0C\u4F8B\u5982: vue"," \u56E2\u961F\u79C1\u6709 skill \u9700\u52A0\u56E2\u961F\u524D\u7F00: <teamId>--<slug>\uFF0C\u4F8B\u5982: 12680de5--my-skill"," teamId \u4E3A\u56E2\u961F ID \u524D 8 \u4F4D\uFF0C\u8FD0\u884C `coder team list` \u67E5\u770B","","Global Options:"," --team <teamId> \u6307\u5B9A\u56E2\u961F\uFF08\u9ED8\u8BA4\u4F7F\u7528 coder team use \u8BBE\u7F6E\u7684\u56E2\u961F\uFF09","","Subcommands:"," add <name> \u5B89\u88C5 skill"," remove <name> \u5378\u8F7D skill"," update [name] \u66F4\u65B0 skill\uFF08\u4E0D\u6307\u5B9A\u540D\u79F0\u5219\u66F4\u65B0\u5168\u90E8\uFF09"," check-updates \u68C0\u67E5\u5DF2\u5B89\u88C5 skill \u662F\u5426\u6709\u65B0\u7248\u672C"," search <keyword> \u641C\u7D22 skill"," list [--page <n>] [--size <n>] [--team <id>] \u5217\u51FA\u5F53\u524D\u56E2\u961F\u4E0B\u7684 skill"," my-skills [--page <n>] [--size <n>] \u67E5\u770B\u6211\u53D1\u5E03\u7684 skill"," publish [options] [<dir-or-zip>] \u53D1\u5E03 skill \u5230 skillhub"," unpublish <slug> \u4E0B\u67B6 skill\uFF08\u4F7F\u7528\u9ED8\u8BA4\u56E2\u961F\uFF09","","Publish Options:"," --team <teamId> \u76EE\u6807\u56E2\u961F\uFF08\u9ED8\u8BA4: \u5F53\u524D\u56E2\u961F\uFF0C\u65E0\u56E2\u961F\u65F6\u53D1\u5E03\u5230\u516C\u5171\uFF09"," --visibility <v> \u53EF\u89C1\u6027: PUBLIC | NAMESPACE_ONLY | PRIVATE"," \uFF08\u9ED8\u8BA4: PUBLIC\uFF0C\u56E2\u961F skill \u81EA\u52A8\u9501\u5B9A\u4E3A NAMESPACE_ONLY\uFF09"," --meta-data <json> \u9644\u52A0\u81EA\u5B9A\u4E49\u5143\u6570\u636E JSON","","Examples:"," coder skills add vue \u5B89\u88C5\u516C\u5171 skill"," coder skills add 12680de5--my-skill \u5B89\u88C5\u56E2\u961F\u79C1\u6709 skill"," coder skills search react \u641C\u7D22 skill"," coder skills list \u5217\u51FA\u5F53\u524D\u56E2\u961F\u7684 skill"," coder skills list --page 1 \u7B2C\u4E8C\u9875"," coder skills my-skills \u67E5\u770B\u6211\u53D1\u5E03\u7684 skill"," coder skills publish ./my-skill-dir \u53D1\u5E03\uFF08\u81EA\u52A8\u4F7F\u7528\u9ED8\u8BA4\u56E2\u961F\uFF09"," coder skills publish --team 12680de5 ./my-skill-dir \u53D1\u5E03\u5230\u6307\u5B9A\u56E2\u961F"," coder skills publish --visibility PRIVATE my-skill.zip",` coder skills publish --meta-data '{"category":"tool"}' ./my-skill-dir`," coder skills unpublish my-skill \u4E0B\u67B6\uFF08\u4F7F\u7528\u9ED8\u8BA4\u56E2\u961F\uFF09"," coder skills unpublish 12680de5--my-skill \u4E0B\u67B6\u6307\u5B9A\u56E2\u961F\u7684 skill"].join(`
51
+ `))}};ir.exports=or;ir.exports.SKILLS_SUBCOMMANDS=Na});var ar=b((em,zn)=>{var Ra="https://makecoder.com/wiki",Mn=/^(?:[0-9a-zA-Z-_~]*-)?([a-zA-Z0-9]{10,15})$/,Bn=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function Vn(t){return typeof t=="string"&&Bn.test(t)}function Fn(t){if(typeof t!="string")return null;let e=t.trim();if(!e)return null;if(/^https?:\/\//i.test(e))try{let n=new URL(e).pathname.split("/").filter(Boolean);e=n.length?n[n.length-1]:""}catch{return null}return e||null}function Gn(t){let e=Fn(t);if(!e)return null;if(Vn(e))return{kind:"uuid",value:e};let r=e.match(Mn);return r?{kind:"urlId",value:r[1]}:null}function Za(t){let e=Gn(t);return e&&e.kind==="urlId"?e.value:null}zn.exports={WIKI_BASE:Ra,SLUG_URL_REGEX:Mn,UUID_REGEX:Bn,isUuid:Vn,lastPathSegment:Fn,classifyId:Gn,extractUrlId:Za}});var ct=b((tm,Jn)=>{var qa=require("https"),{WIKI_BASE:$t}=ar(),Kn=`${$t}/api`,La=t=>`${$t}/doc/${t}`,Ma=t=>`${$t}/collection/${t}`,cr=class{constructor(e,r=null){this.token=e,this.teamId=r||null}post(e,r){return new Promise((n,s)=>{let o=JSON.stringify(r||{}),i=new URL(`${Kn}/${e}`),a={"Content-Type":"application/json","Content-Length":Buffer.byteLength(o),Authorization:`Bearer ${this.token}`};this.teamId&&(a["X-Team-Id"]=this.teamId);let c=qa.request({hostname:i.hostname,port:i.port||443,path:i.pathname,method:"POST",headers:a},d=>{let l="";d.on("data",p=>l+=p),d.on("end",()=>n({status:d.statusCode,body:l}))});c.on("error",s),c.write(o),c.end()})}async postJson(e,r,{allowNoData:n=!1}={}){let s=await this.post(e,r),o=dr(s.body);return{ok:s.status<400&&o?.ok!==!1&&(n||o?.data!==void 0),status:s.status,json:o,body:s.body}}};function dr(t){try{return JSON.parse(t)}catch{return null}}function Ba(t){let e=dr(t);return e?.message?e.message:e?.error?e.error:(t||"").slice(0,200)||"\u8BF7\u6C42\u5931\u8D25"}Jn.exports={WikiHttp:cr,WIKI_BASE:$t,WIKI_API_BASE:Kn,docUrl:La,colUrl:Ma,parseJson:dr,errorMessage:Ba}});var ur=b((rm,Wn)=>{var{WIKI_BASE:Va,docUrl:Fa}=ct(),lr=t=>String(t??"").replace(/\|/g,"\\|").replace(/\n/g," ");function Ga(t,e,r={}){let n=typeof r=="string"?{empty:r}:r,{labels:s=Hn,empty:o="\uFF08\u7A7A\uFF09"}=n;if(!e||!e.length){t.emit(o);return}if(t.isJson){t.emit(e);return}let i=Object.keys(e[0]),c=[`| ${i.map(d=>s[d]||d).map(lr).join(" | ")} |`,`| ${i.map(()=>"---").join(" | ")} |`,...e.map(d=>`| ${i.map(l=>lr(d[l])).join(" | ")} |`)];t.emit(c.join(`
52
+ `))}function za(t,e,r=1/0){if(!Array.isArray(e)||!e.length){t.emit("\uFF08\u7A7A\uFF09");return}if(t.isJson){t.emit(e);return}let n=[],s=(o,i,a)=>{o.forEach((c,d)=>{let l=d===o.length-1,p=l?"\u2514\u2500\u2500 ":"\u251C\u2500\u2500 ",g=c.url?`${Va}${c.url}`:Fa(c.id);n.push(`${i}${p}${c.title||c.id} ${g}`),c.children?.length&&a+1<r&&s(c.children,i+(l?" ":"\u2502 "),a+1)})};s(e,"",0),t.emit(n.join(`
53
+ `))}function Ka(t,e,r=null){if(t.isJson){let n={};for(let[s,o]of e)n[s]=o;r&&typeof r=="object"&&Object.assign(n,r),t.emit(n);return}t.emit(e.map(([n,s,o])=>`${o||n}: ${s??""}`).join(`
54
+ `))}var Hn={title:"\u6807\u9898",name:"\u540D\u79F0",description:"\u63CF\u8FF0",permission:"\u6743\u9650",deleted_at:"\u5220\u9664\u65F6\u95F4",created_at:"\u521B\u5EFA\u65F6\u95F4",time:"\u65F6\u95F4",email:"\u90AE\u7BB1",role:"\u89D2\u8272",members:"\u6210\u5458\u6570",count:"\u6B21\u6570",latest:"\u6700\u8FD1",document:"\u6587\u6863",event:"\u4E8B\u4EF6",collection:"\u96C6\u5408",type:"\u7C7B\u578B",state:"\u72B6\u6001",filename:"\u6587\u4EF6\u540D",size:"\u5927\u5C0F",author:"\u4F5C\u8005",content:"\u5185\u5BB9",icon:"\u56FE\u6807\u540D",keywords:"\u5173\u952E\u8BCD",published:"\u5DF2\u53D1\u5E03"};Wn.exports={emitTable:Ga,emitTree:za,emitDetails:Ka,escCell:lr,LABELS:Hn}});var pr=b((nm,Xn)=>{var{emitTable:Yn,emitDetails:Ja,emitTree:Ha,LABELS:Wa}=ur(),{docUrl:Ya,colUrl:Xa}=ct(),F=t=>t?.data||[],Fe=t=>t?.data?.memberships||t?.data?.groupMemberships||t?.data||[],R=(t,e,r)=>(n,s)=>Yn(n,(t(s)||[]).map(e),{labels:Wa,empty:r}),we=t=>(e,r)=>Ja(e,t(r.data)),C=t=>(e,r)=>e.emit(typeof t=="function"?t(r):t),y=(t,e)=>{let r=t.indexOf(e);return r!==-1?t[r+1]:void 0},mr=t=>({id:t.id,title:t.title,url:Ya(t.urlId||t.id)}),Qa={"collection-info":{endpoint:"collections.info",id:"col",req:"\u8BF7\u6307\u5B9A\u96C6\u5408 id",body:t=>({id:t}),render:we(t=>[["id",t.id],["name",t.name,"\u540D\u79F0"],["description",t.description||"","\u63CF\u8FF0"],["permission",t.permission||"null","\u6743\u9650"],["url",Xa(t.urlId||t.id)]])},"collection-members":{endpoint:"collections.memberships",id:"col",req:"\u8BF7\u6307\u5B9A\u96C6\u5408 id",body:(t,e)=>{let r={id:t};return y(e,"--query")&&(r.query=y(e,"--query")),y(e,"--permission")&&(r.permission=y(e,"--permission")),r},render:R(Fe,t=>({userId:t.userId||"",name:t.user?.name||"",permission:t.permission||""}),"\u6682\u65E0\u6210\u5458")},"collection-add-user":{endpoint:"collections.add_user",id:"col",req:"\u8BF7\u6307\u5B9A\u96C6\u5408 id",reqArgs:(t,e)=>!e[1]&&"\u8BF7\u6307\u5B9A\u7528\u6237 id\uFF08\u7B2C\u4E8C\u4E2A\u53C2\u6570\uFF09",body:(t,e)=>{let r={id:t,userId:e[1]};return y(e,"--permission")&&(r.permission=y(e,"--permission")),r},render:C("\u5DF2\u6DFB\u52A0\u7528\u6237\u5230\u96C6\u5408")},"collection-remove-user":{endpoint:"collections.remove_user",id:"col",req:"\u8BF7\u6307\u5B9A\u96C6\u5408 id",reqArgs:(t,e)=>!e[1]&&"\u8BF7\u6307\u5B9A\u7528\u6237 id\uFF08\u7B2C\u4E8C\u4E2A\u53C2\u6570\uFF09",body:(t,e)=>({id:t,userId:e[1]}),expectOk:!0,render:C("\u5DF2\u4ECE\u96C6\u5408\u79FB\u9664\u7528\u6237")},"collection-add-group":{endpoint:"collections.add_group",id:"col",req:"\u8BF7\u6307\u5B9A\u96C6\u5408 id",reqArgs:(t,e)=>!e[1]&&"\u8BF7\u6307\u5B9A\u7FA4\u7EC4 id\uFF08\u7B2C\u4E8C\u4E2A\u53C2\u6570\uFF09",body:(t,e)=>{let r={id:t,groupId:e[1]};return y(e,"--permission")&&(r.permission=y(e,"--permission")),r},render:C("\u5DF2\u6DFB\u52A0\u7FA4\u7EC4\u5230\u96C6\u5408")},"collection-remove-group":{endpoint:"collections.remove_group",id:"col",req:"\u8BF7\u6307\u5B9A\u96C6\u5408 id",reqArgs:(t,e)=>!e[1]&&"\u8BF7\u6307\u5B9A\u7FA4\u7EC4 id\uFF08\u7B2C\u4E8C\u4E2A\u53C2\u6570\uFF09",body:(t,e)=>({id:t,groupId:e[1]}),expectOk:!0,render:C("\u5DF2\u4ECE\u96C6\u5408\u79FB\u9664\u7FA4\u7EC4")},"collection-group-members":{endpoint:"collections.group_memberships",id:"col",req:"\u8BF7\u6307\u5B9A\u96C6\u5408 id",body:t=>({id:t}),render:R(Fe,t=>({groupId:t.groupId||"",name:t.group?.name||"",permission:t.permission||""}),"\u6682\u65E0\u7FA4\u7EC4\u6210\u5458")},"collection-export":{endpoint:"collections.export",id:"col",req:"\u8BF7\u6307\u5B9A\u96C6\u5408 id",body:(t,e)=>{let r={id:t};return y(e,"--format")&&(r.format=y(e,"--format")),r},render:C(t=>`\u5BFC\u51FA\u4EFB\u52A1\u5DF2\u521B\u5EFA: ${t.data?.id||""}`)},"export-all":{endpoint:"collections.export_all",body:(t,e)=>{let r={};return y(e,"--format")&&(r.format=y(e,"--format")),r},render:C(t=>`\u5168\u91CF\u5BFC\u51FA\u4EFB\u52A1\u5DF2\u521B\u5EFA: ${t.data?.id||""}`)},"collection-move":{endpoint:"collections.move",id:"col",req:"\u8BF7\u6307\u5B9A\u96C6\u5408 id",reqArgs:(t,e)=>!e[1]&&"\u8BF7\u6307\u5B9A\u76EE\u6807 index\uFF08\u7B2C\u4E8C\u4E2A\u53C2\u6570\uFF09",body:(t,e)=>({id:t,index:e[1]}),render:C("\u96C6\u5408\u5DF2\u79FB\u52A8")},archived:{endpoint:"documents.archived",resolve:[{flag:"--collection",kind:"col"}],body:(t,e)=>{let r={};return y(e,"--collection")&&(r.collectionId=y(e,"--collection")),y(e,"--sort")&&(r.sort=y(e,"--sort")),y(e,"--direction")&&(r.direction=y(e,"--direction")),r},render:R(F,mr,"\u6682\u65E0\u5DF2\u5F52\u6863\u6587\u6863")},deleted:{endpoint:"documents.deleted",body:(t,e)=>{let r={};return y(e,"--sort")&&(r.sort=y(e,"--sort")),y(e,"--direction")&&(r.direction=y(e,"--direction")),r},render:R(F,t=>({id:t.id,title:t.title,deleted_at:t.deletedAt||""}),"\u6682\u65E0\u5DF2\u5220\u9664\u6587\u6863")},insights:{endpoint:"documents.insights",id:"doc",req:"\u8BF7\u6307\u5B9A\u6587\u6863 id",body:(t,e)=>{let r={id:t};return y(e,"--start-date")&&(r.startDate=y(e,"--start-date")),y(e,"--end-date")&&(r.endDate=y(e,"--end-date")),r},render:R(F,t=>({userId:t.userId||"",name:t.user?.name||"",time:t.createdAt||""}),"\u6682\u65E0\u8BBF\u95EE\u6570\u636E")},export:{endpoint:"documents.export",id:"doc",req:"\u8BF7\u6307\u5B9A\u6587\u6863 id",body:(t,e)=>({id:t,includeChildDocuments:e.includes("--include-children")}),render:(t,e)=>{let r=e.data;t.emit(r)}},"search-titles":{endpoint:"documents.search_titles",req:"\u8BF7\u6307\u5B9A\u641C\u7D22\u5173\u952E\u8BCD",body:(t,e)=>({query:[t,...e.slice(1)].join(" ")}),render:R(F,mr,"\u672A\u627E\u5230\u5339\u914D\u6807\u9898")},duplicate:{endpoint:"documents.duplicate",id:"doc",req:"\u8BF7\u6307\u5B9A\u6587\u6863 id",resolve:[{flag:"--collection",kind:"col"},{flag:"--parent",kind:"doc"}],body:(t,e)=>{let r={id:t};return y(e,"--title")&&(r.title=y(e,"--title")),y(e,"--collection")&&(r.collectionId=y(e,"--collection")),y(e,"--parent")&&(r.parentDocumentId=y(e,"--parent")),e.includes("--recursive")&&(r.recursive=!0),e.includes("--publish")&&(r.publish=!0),r},render:C(t=>{let e=(t.data?.documents||[])[0];return e?`\u6587\u6863\u5DF2\u590D\u5236: ${e.id} \u2014 ${e.title}`:"\u6587\u6863\u5DF2\u590D\u5236"})},unpublish:{endpoint:"documents.unpublish",id:"doc",req:"\u8BF7\u6307\u5B9A\u6587\u6863 id",body:t=>({id:t}),render:C("\u6587\u6863\u5DF2\u53D6\u6D88\u53D1\u5E03")},templatize:{endpoint:"documents.templatize",id:"doc",req:"\u8BF7\u6307\u5B9A\u6587\u6863 id",resolve:[{flag:"--collection",kind:"col"}],body:(t,e)=>{let r={id:t,publish:!0};return y(e,"--collection")&&(r.collectionId=y(e,"--collection")),r},render:C(t=>`\u5DF2\u8F6C\u4E3A\u6A21\u677F: ${t.data.id}`)},"doc-members":{endpoint:"documents.memberships",id:"doc",req:"\u8BF7\u6307\u5B9A\u6587\u6863 id",body:t=>({id:t}),render:R(Fe,t=>({userId:t.userId||"",name:t.user?.name||"",permission:t.permission||""}),"\u6682\u65E0\u6210\u5458")},"doc-add-user":{endpoint:"documents.add_user",id:"doc",req:"\u8BF7\u6307\u5B9A\u6587\u6863 id",reqArgs:(t,e)=>!e[1]&&"\u8BF7\u6307\u5B9A\u7528\u6237 id\uFF08\u7B2C\u4E8C\u4E2A\u53C2\u6570\uFF09",body:(t,e)=>{let r={id:t,userId:e[1]};return y(e,"--permission")&&(r.permission=y(e,"--permission")),r},render:C("\u5DF2\u6DFB\u52A0\u7528\u6237\u5230\u6587\u6863")},"doc-remove-user":{endpoint:"documents.remove_user",id:"doc",req:"\u8BF7\u6307\u5B9A\u6587\u6863 id",reqArgs:(t,e)=>!e[1]&&"\u8BF7\u6307\u5B9A\u7528\u6237 id\uFF08\u7B2C\u4E8C\u4E2A\u53C2\u6570\uFF09",body:(t,e)=>({id:t,userId:e[1]}),expectOk:!0,render:C("\u5DF2\u4ECE\u6587\u6863\u79FB\u9664\u7528\u6237")},"doc-add-group":{endpoint:"documents.add_group",id:"doc",req:"\u8BF7\u6307\u5B9A\u6587\u6863 id",reqArgs:(t,e)=>!e[1]&&"\u8BF7\u6307\u5B9A\u7FA4\u7EC4 id\uFF08\u7B2C\u4E8C\u4E2A\u53C2\u6570\uFF09",body:(t,e)=>{let r={id:t,groupId:e[1]};return y(e,"--permission")&&(r.permission=y(e,"--permission")),r},render:C("\u5DF2\u6DFB\u52A0\u7FA4\u7EC4\u5230\u6587\u6863")},"doc-remove-group":{endpoint:"documents.remove_group",id:"doc",req:"\u8BF7\u6307\u5B9A\u6587\u6863 id",reqArgs:(t,e)=>!e[1]&&"\u8BF7\u6307\u5B9A\u7FA4\u7EC4 id\uFF08\u7B2C\u4E8C\u4E2A\u53C2\u6570\uFF09",body:(t,e)=>({id:t,groupId:e[1]}),expectOk:!0,render:C("\u5DF2\u4ECE\u6587\u6863\u79FB\u9664\u7FA4\u7EC4")},"doc-group-members":{endpoint:"documents.group_memberships",id:"doc",req:"\u8BF7\u6307\u5B9A\u6587\u6863 id",body:t=>({id:t}),render:R(Fe,t=>({groupId:t.groupId||"",name:t.group?.name||"",permission:t.permission||""}),"\u6682\u65E0\u7FA4\u7EC4\u6210\u5458")},"empty-trash":{endpoint:"documents.empty_trash",body:()=>({}),expectOk:!0,render:C("\u56DE\u6536\u7AD9\u5DF2\u6E05\u7A7A")},"sub-docs":{endpoint:"documents.documents",id:"doc",req:"\u8BF7\u6307\u5B9A\u6587\u6863 id",body:t=>({id:t}),render:(t,e)=>Ha(t,e.data?.children||[])},shares:{endpoint:"shares.list",resolve:[{flag:"--document",kind:"doc"}],body:(t,e)=>{let r={};return y(e,"--document")&&(r.documentId=y(e,"--document")),r},render:R(F,t=>({shareId:t.id,document:t.documentTitle||t.documentId||"",published:t.published?"\u662F":"\u5426",url:t.url||""}),"\u6682\u65E0\u5206\u4EAB")},"share-info":{endpoint:"shares.info",req:"\u8BF7\u6307\u5B9A\u5206\u4EAB id\uFF08UUID\uFF0C\u6765\u81EA shares \u5217\u8868\uFF09",body:t=>({id:t}),render:we(t=>[["id",t.id],["document",t.documentTitle||t.documentId||"","\u6587\u6863"],["published",t.published?"\u662F":"\u5426","\u5DF2\u53D1\u5E03"],["url",t.url||""]])},share:{endpoint:"shares.create",id:"doc",req:"\u8BF7\u6307\u5B9A\u6587\u6863 id",body:(t,e)=>({documentId:t,published:e.includes("--published"),includeChildDocuments:e.includes("--include-children")}),render:C(t=>`\u5206\u4EAB\u5DF2\u521B\u5EFA: ${t.data.id}
55
+ ${t.data.url||""}`)},"share-update":{endpoint:"shares.update",req:"\u8BF7\u6307\u5B9A\u5206\u4EAB id\uFF08UUID\uFF09",body:(t,e)=>{let r={id:t};return e.includes("--published")&&(r.published=!0),e.includes("--no-published")&&(r.published=!1),e.includes("--include-children")&&(r.includeChildDocuments=!0),r},render:C("\u5206\u4EAB\u5DF2\u66F4\u65B0")},unshare:{endpoint:"shares.revoke",req:"\u8BF7\u6307\u5B9A\u5206\u4EAB id\uFF08UUID\uFF09",body:t=>({id:t}),expectOk:!0,render:C("\u5206\u4EAB\u5DF2\u64A4\u9500")},users:{endpoint:"users.list",body:(t,e)=>{let r={};return y(e,"--query")&&(r.query=y(e,"--query")),y(e,"--filter")&&(r.filter=y(e,"--filter")),r},render:R(F,t=>({id:t.id,name:t.name,email:t.email||"",role:t.role||""}),"\u6682\u65E0\u7528\u6237")},"user-info":{endpoint:"users.info",req:"\u8BF7\u6307\u5B9A\u7528\u6237 id\uFF08UUID\uFF09",body:t=>({id:t}),render:we(t=>[["id",t.id],["name",t.name,"\u59D3\u540D"],["email",t.email||"","\u90AE\u7BB1"],["role",t.role||"","\u89D2\u8272"]])},invite:{endpoint:"users.invite",reqArgs:(t,e)=>!(y(e,"--email")||t)&&"\u8BF7\u6307\u5B9A\u90AE\u7BB1\uFF08\u7B2C\u4E00\u4E2A\u53C2\u6570\u6216 --email\uFF09",body:(t,e)=>{let r=y(e,"--email")||t,n=y(e,"--name")||e[1],s=y(e,"--role")||e[2];return{invites:[{email:r,name:n,role:s}]}},render:(t,e)=>{let r=e.data||[];if(!r.length)return t.emit("\u9080\u8BF7\u5DF2\u53D1\u9001");Yn(t,r.map(n=>({id:n.id,email:n.email||"",name:n.name||""})))}},"user-update-role":{endpoint:"users.update_role",req:"\u8BF7\u6307\u5B9A\u7528\u6237 id\uFF08UUID\uFF09",reqArgs:(t,e)=>!e[1]&&"\u8BF7\u6307\u5B9A\u89D2\u8272\uFF08\u7B2C\u4E8C\u4E2A\u53C2\u6570\uFF1Aadmin|member|viewer\uFF09",body:(t,e)=>({id:t,role:e[1]}),render:C("\u7528\u6237\u89D2\u8272\u5DF2\u66F4\u65B0")},"user-suspend":{endpoint:"users.suspend",req:"\u8BF7\u6307\u5B9A\u7528\u6237 id\uFF08UUID\uFF09",body:t=>({id:t}),render:C("\u7528\u6237\u5DF2\u6682\u505C")},"user-activate":{endpoint:"users.activate",req:"\u8BF7\u6307\u5B9A\u7528\u6237 id\uFF08UUID\uFF09",body:t=>({id:t}),render:C("\u7528\u6237\u5DF2\u6FC0\u6D3B")},groups:{endpoint:"groups.list",body:(t,e)=>{let r={};return y(e,"--query")&&(r.query=y(e,"--query")),r},render:R(F,t=>({id:t.id,name:t.name,members:t.memberCount??""}),"\u6682\u65E0\u7FA4\u7EC4")},"group-info":{endpoint:"groups.info",req:"\u8BF7\u6307\u5B9A\u7FA4\u7EC4 id\uFF08UUID\uFF09",body:t=>({id:t}),render:we(t=>[["id",t.id],["name",t.name,"\u540D\u79F0"],["members",t.memberCount??"","\u6210\u5458"]])},"create-group":{endpoint:"groups.create",req:"\u8BF7\u6307\u5B9A\u7FA4\u7EC4\u540D\u79F0",body:(t,e)=>({name:[t,...e.slice(1)].join(" ")}),render:C(t=>`\u7FA4\u7EC4\u5DF2\u521B\u5EFA: ${t.data.id} \u2014 ${t.data.name}`)},"update-group":{endpoint:"groups.update",req:"\u8BF7\u6307\u5B9A\u7FA4\u7EC4 id\uFF08UUID\uFF09",body:(t,e)=>{let r={id:t};return y(e,"--name")&&(r.name=y(e,"--name")),r},render:C("\u7FA4\u7EC4\u5DF2\u66F4\u65B0")},"delete-group":{endpoint:"groups.delete",req:"\u8BF7\u6307\u5B9A\u7FA4\u7EC4 id\uFF08UUID\uFF09",body:t=>({id:t}),expectOk:!0,render:C("\u7FA4\u7EC4\u5DF2\u5220\u9664")},"group-members":{endpoint:"groups.memberships",req:"\u8BF7\u6307\u5B9A\u7FA4\u7EC4 id\uFF08UUID\uFF09",body:t=>({id:t}),render:R(Fe,t=>({userId:t.userId||t.user?.id||"",name:t.user?.name||""}),"\u6682\u65E0\u6210\u5458")},"group-add-user":{endpoint:"groups.add_user",req:"\u8BF7\u6307\u5B9A\u7FA4\u7EC4 id\uFF08UUID\uFF09",reqArgs:(t,e)=>!e[1]&&"\u8BF7\u6307\u5B9A\u7528\u6237 id\uFF08\u7B2C\u4E8C\u4E2A\u53C2\u6570\uFF09",body:(t,e)=>({id:t,userId:e[1]}),render:C("\u5DF2\u6DFB\u52A0\u7528\u6237\u5230\u7FA4\u7EC4")},"group-remove-user":{endpoint:"groups.remove_user",req:"\u8BF7\u6307\u5B9A\u7FA4\u7EC4 id\uFF08UUID\uFF09",reqArgs:(t,e)=>!e[1]&&"\u8BF7\u6307\u5B9A\u7528\u6237 id\uFF08\u7B2C\u4E8C\u4E2A\u53C2\u6570\uFF09",body:(t,e)=>({id:t,userId:e[1]}),expectOk:!0,render:C("\u5DF2\u4ECE\u7FA4\u7EC4\u79FB\u9664\u7528\u6237")},views:{endpoint:"views.list",id:"doc",req:"\u8BF7\u6307\u5B9A\u6587\u6863 id",body:t=>({documentId:t}),render:R(F,t=>({userId:t.userId||"",name:t.user?.name||"",count:t.count??"",latest:t.updatedAt||""}),"\u6682\u65E0\u6D4F\u89C8\u8BB0\u5F55")},view:{endpoint:"views.create",id:"doc",req:"\u8BF7\u6307\u5B9A\u6587\u6863 id",body:t=>({documentId:t}),render:C("\u6D4F\u89C8\u5DF2\u8BB0\u5F55")},subscriptions:{endpoint:"subscriptions.list",id:"doc",resolve:[{flag:"--collection",kind:"col"}],reqArgs:(t,e)=>!t&&e.indexOf("--collection")===-1&&"\u8BF7\u6307\u5B9A\u6587\u6863 id \u6216 --collection <id>",body:(t,e)=>{let r={event:"documents.update"};return t&&(r.documentId=t),y(e,"--collection")&&(r.collectionId=y(e,"--collection")),r},render:R(F,t=>({id:t.id,document:t.documentId||"",event:t.event||""}),"\u6682\u65E0\u8BA2\u9605")},subscribe:{endpoint:"subscriptions.create",id:"doc",req:"\u8BF7\u6307\u5B9A\u6587\u6863 id",body:t=>({documentId:t,event:"documents.update"}),render:C(t=>`\u5DF2\u8BA2\u9605: ${t.data.id}`)},unsubscribe:{endpoint:"subscriptions.delete",req:"\u8BF7\u6307\u5B9A\u8BA2\u9605 id\uFF08UUID\uFF09",body:t=>({id:t}),expectOk:!0,render:C("\u5DF2\u53D6\u6D88\u8BA2\u9605")},events:{endpoint:"events.list",resolve:[{flag:"--document",kind:"doc"},{flag:"--collection",kind:"col"}],body:(t,e)=>{let r={};return y(e,"--actor")&&(r.actorId=y(e,"--actor")),y(e,"--document")&&(r.documentId=y(e,"--document")),y(e,"--collection")&&(r.collectionId=y(e,"--collection")),y(e,"--type")&&(r.name=y(e,"--type")),r},render:R(F,t=>({event:t.name||"",actorId:t.actorId||"",time:t.createdAt||""}),"\u6682\u65E0\u4E8B\u4EF6")},templates:{endpoint:"templates.list",resolve:[{flag:"--collection",kind:"col"}],body:(t,e)=>{let r={};return y(e,"--collection")&&(r.collectionId=y(e,"--collection")),r},render:R(F,t=>({id:t.id,title:t.title,collection:t.collectionId||""}),"\u6682\u65E0\u6A21\u677F")},"template-info":{endpoint:"templates.info",req:"\u8BF7\u6307\u5B9A\u6A21\u677F id\uFF08UUID\uFF09",body:t=>({id:t}),render:we(t=>[["id",t.id],["title",t.title,"\u6807\u9898"],["collection",t.collectionId||"","\u96C6\u5408"]])},"create-template":{endpoint:"templates.create",id:"col",req:"\u8BF7\u6307\u5B9A\u96C6\u5408 id",reqArgs:(t,e)=>!e[1]&&"\u8BF7\u6307\u5B9A\u6A21\u677F\u6807\u9898\uFF08\u7B2C\u4E8C\u4E2A\u53C2\u6570\uFF09",body:(t,e)=>{let r=y(e,"--text")||"";return{collectionId:t,title:e[1],data:{type:"doc",content:r?[{type:"paragraph",content:[{type:"text",text:r}]}]:[]}}},render:C(t=>`\u6A21\u677F\u5DF2\u521B\u5EFA: ${t.data.id} \u2014 ${t.data.title}`)},"update-template":{endpoint:"templates.update",req:"\u8BF7\u6307\u5B9A\u6A21\u677F id\uFF08UUID\uFF09",body:(t,e)=>{let r={id:t};y(e,"--title")&&(r.title=y(e,"--title"));let n=y(e,"--text");return n!==void 0&&(r.data={type:"doc",content:[{type:"paragraph",content:[{type:"text",text:n}]}]}),r},render:C("\u6A21\u677F\u5DF2\u66F4\u65B0")},"delete-template":{endpoint:"templates.delete",req:"\u8BF7\u6307\u5B9A\u6A21\u677F id\uFF08UUID\uFF09",body:t=>({id:t}),expectOk:!0,render:C("\u6A21\u677F\u5DF2\u5220\u9664")},"duplicate-template":{endpoint:"templates.duplicate",req:"\u8BF7\u6307\u5B9A\u6A21\u677F id\uFF08UUID\uFF09",body:(t,e)=>{let r={id:t};return y(e,"--title")&&(r.title=y(e,"--title")),r},render:C(t=>`\u6A21\u677F\u5DF2\u590D\u5236: ${t.data.id} \u2014 ${t.data.title}`)},"file-ops":{endpoint:"fileOperations.list",body:(t,e)=>{let r={};return y(e,"--type")&&(r.type=y(e,"--type")),r},render:R(F,t=>({id:t.id,type:t.type||"",state:t.state||"",time:t.createdAt||""}),"\u6682\u65E0\u6587\u4EF6\u64CD\u4F5C\u8BB0\u5F55")},"file-op-info":{endpoint:"fileOperations.info",req:"\u8BF7\u6307\u5B9A\u6587\u4EF6\u64CD\u4F5C id\uFF08UUID\uFF09",body:t=>({id:t}),render:we(t=>[["id",t.id],["type",t.type||"","\u7C7B\u578B"],["state",t.state||"","\u72B6\u6001"],["time",t.createdAt||"","\u65F6\u95F4"]])},"file-op-delete":{endpoint:"fileOperations.delete",req:"\u8BF7\u6307\u5B9A\u6587\u4EF6\u64CD\u4F5C id\uFF08UUID\uFF09",body:t=>({id:t}),expectOk:!0,render:C("\u6587\u4EF6\u64CD\u4F5C\u8BB0\u5F55\u5DF2\u5220\u9664")},reactions:{endpoint:"reactions.list",req:"\u8BF7\u6307\u5B9A\u8BC4\u8BBA id\uFF08UUID\uFF09",body:t=>({commentId:t}),render:R(F,t=>({emoji:t.emoji||"",userId:t.userId||"",name:t.user?.name||""}),"\u6682\u65E0\u53CD\u5E94")},attachments:{endpoint:"attachments.list",id:"doc",body:t=>t?{documentId:t}:{},render:R(F,t=>({id:t.id,filename:t.name,type:t.contentType||"",size:t.size?`${Math.round(t.size/1024)}KB`:"",url:t.url||""}),"\u6682\u65E0\u9644\u4EF6")},"delete-attachment":{endpoint:"attachments.delete",req:"\u8BF7\u6307\u5B9A\u9644\u4EF6 id\uFF08UUID\uFF09",body:t=>({id:t}),expectOk:!0,render:C("\u9644\u4EF6\u5DF2\u5220\u9664")}};Xn.exports={COMMANDS:Qa,list:R,details:we,ok:C,flag:y,items:F,memberships:Fe,docRow:mr}});var es=b((sm,Qn)=>{var ec=[{name:"academicCap",keywords:"\u5B66\u4E60 \u6559\u5B66 \u8BFE\u7A0B \u6307\u5357 \u6559\u7A0B \u57F9\u8BAD \u5165\u95E8"},{name:"beaker",keywords:"\u5B9E\u9A8C\u5BA4 \u7814\u7A76 \u5B9E\u9A8C \u6D4B\u8BD5"},{name:"bicycle",keywords:"\u81EA\u884C\u8F66 \u9A91\u884C"},{name:"bookmark",keywords:"\u4E66\u7B7E \u6536\u85CF"},{name:"browser",keywords:"\u6D4F\u89C8\u5668 \u7F51\u9875 \u5E94\u7528"},{name:"buildingBlocks",keywords:"\u79EF\u6728 \u6A21\u5757 \u4EA7\u54C1 \u539F\u578B"},{name:"camera",keywords:"\u76F8\u673A \u7167\u7247 \u56FE\u7247"},{name:"carrot",keywords:"\u98DF\u7269 \u852C\u83DC \u519C\u4EA7\u54C1"},{name:"clock",keywords:"\u65F6\u949F \u65F6\u95F4"},{name:"cloud",keywords:"\u4E91 \u4E91\u670D\u52A1 \u57FA\u7840\u8BBE\u65BD"},{name:"code",keywords:"\u4EE3\u7801 \u5F00\u53D1 \u7F16\u7A0B \u5DE5\u7A0B API"},{name:"coins",keywords:"\u91D1\u5E01 \u91D1\u94B1 \u8D22\u52A1 \u9500\u552E \u6536\u5165 \u73B0\u91D1"},{name:"collection",keywords:"\u96C6\u5408 \u6587\u4EF6\u5939"},{name:"database",keywords:"\u6570\u636E\u5E93 \u670D\u52A1\u5668 \u8FD0\u7EF4"},{name:"done",keywords:"\u5B8C\u6210 \u6210\u529F \u52FE\u9009 \u7ED3\u675F"},{name:"email",keywords:"\u90AE\u4EF6 \u90AE\u7BB1"},{name:"eye",keywords:"\u773C\u775B \u67E5\u770B \u9884\u89C8"},{name:"feedback",keywords:"\u53CD\u9988 \u5E2E\u52A9 \u652F\u6301 FAQ"},{name:"flame",keywords:"\u706B\u7130 \u70ED\u95E8"},{name:"globe",keywords:"\u5730\u7403 \u7FFB\u8BD1 \u56FD\u9645\u5316"},{name:"graph",keywords:"\u56FE\u8868 \u5206\u6790 \u6570\u636E \u7EDF\u8BA1"},{name:"hashtag",keywords:"\u6807\u7B7E \u8BDD\u9898 \u793E\u4EA4\u5A92\u4F53"},{name:"icecream",keywords:"\u51B0\u6DC7\u6DCB \u751C\u70B9 \u98DF\u7269"},{name:"image",keywords:"\u56FE\u7247 \u56FE\u50CF \u7167\u7247"},{name:"info",keywords:"\u4FE1\u606F \u8BF4\u660E"},{name:"internet",keywords:"\u7F51\u7EDC \u5168\u7403 \u4E92\u8054\u7F51"},{name:"leaf",keywords:"\u53F6\u5B50 \u690D\u7269 \u81EA\u7136 \u751F\u6001 \u73AF\u5883"},{name:"letter",keywords:"\u5B57\u6BCD \u4FE1\u4EF6"},{name:"library",keywords:"\u56FE\u4E66\u9986 \u6587\u5E93 \u5F52\u6863"},{name:"lightbulb",keywords:"\u706F\u6CE1 \u60F3\u6CD5 \u521B\u610F"},{name:"lightning",keywords:"\u95EA\u7535 \u5FEB\u901F"},{name:"math",keywords:"\u6570\u5B66 \u516C\u5F0F"},{name:"moon",keywords:"\u6708\u4EAE \u591C\u665A \u6697\u8272"},{name:"notepad",keywords:"\u8BB0\u4E8B\u672C \u7B14\u8BB0 \u65E5\u5FD7 \u5199\u4F5C"},{name:"padlock",keywords:"\u9501 \u79C1\u5BC6 \u5B89\u5168 \u8BA4\u8BC1 \u6743\u9650"},{name:"palette",keywords:"\u8C03\u8272\u677F \u8BBE\u8BA1 \u827A\u672F \u54C1\u724C"},{name:"pencil",keywords:"\u94C5\u7B14 \u5199\u4F5C \u535A\u5BA2 \u6587\u7AE0"},{name:"plane",keywords:"\u98DE\u673A \u65C5\u884C \u51FA\u884C \u5047\u671F"},{name:"promote",keywords:"\u63A8\u5E7F \u8425\u9500 \u5BA3\u4F20"},{name:"question",keywords:"\u95EE\u9898 \u5E2E\u52A9 \u652F\u6301 FAQ"},{name:"ramen",keywords:"\u62C9\u9762 \u6C64 \u98DF\u7269 \u9910\u996E"},{name:"server",keywords:"\u670D\u52A1\u5668 \u8FD0\u7EF4 \u57FA\u7840\u8BBE\u65BD"},{name:"shapes",keywords:"\u5F62\u72B6 \u79EF\u6728 \u73A9\u5177"},{name:"smiley",keywords:"\u7B11\u8138 \u8868\u60C5 \u5F00\u5FC3"},{name:"sport",keywords:"\u8FD0\u52A8 \u6237\u5916 \u6E38\u620F"},{name:"sun",keywords:"\u592A\u9633 \u767D\u5929 \u5929\u6C14"},{name:"target",keywords:"\u76EE\u6807 \u9500\u552E \u6307\u6807"},{name:"team",keywords:"\u56E2\u961F \u7EC4\u7EC7 \u529E\u516C\u5BA4"},{name:"terminal",keywords:"\u7EC8\u7AEF \u547D\u4EE4\u884C \u4EE3\u7801"},{name:"thumbsup",keywords:"\u70B9\u8D5E \u6536\u85CF \u793E\u4EA4 \u6295\u7968"},{name:"tools",keywords:"\u5DE5\u5177 \u8BBE\u7F6E \u914D\u7F6E"},{name:"truck",keywords:"\u5361\u8F66 \u8FD0\u8F93 \u7269\u6D41"},{name:"vehicle",keywords:"\u8F66\u8F86 \u4EA4\u901A \u51FA\u884C"},{name:"warning",keywords:"\u8B66\u544A \u63D0\u793A \u9519\u8BEF"}];Qn.exports={ICON_LIST:ec}});var yr=b((om,is)=>{var St=require("fs"),fr=require("path"),{docUrl:Ge,colUrl:hr,errorMessage:tc}=ct(),{emitTable:se,emitTree:rc,emitDetails:dt}=ur(),{ICON_LIST:ts}=es(),Z=(t,e)=>{let r=t.indexOf(e);return r!==-1?t[r+1]:void 0};async function E(t,e,r,{allowNoData:n=!1}={}){let s=await t.http.postJson(e,r,{allowNoData:n});if(!s.ok){t.ctx.fail(tc(s.body),void 0);let o=new Error("__handled__");throw o.handled=!0,o}return s.json}var Tt=t=>({id:t.id,title:t.title,url:Ge(t.urlId||t.id)});async function nc(t){let{ctx:e,http:r,resolver:n,arg:s,args:o}=t,i=o.indexOf("-d"),a=i!==-1?parseInt(o[i+1],10):null;if(!s){let l=await E(t,"collections.list",{});return se(e,(l.data||[]).filter(p=>!p?.isShared).map(p=>({id:p.id,name:p.name,description:p.description||"",url:hr(p.urlId||p.id)})),"\u6682\u65E0\u96C6\u5408"),0}let c=await n.toColUuid(s);if(a===null){let l=await E(t,"documents.list",{collectionId:c,sort:"updatedAt",direction:"DESC"});return se(e,(l.data||[]).map(Tt),"\u6682\u65E0\u6587\u6863"),0}let d=await E(t,"collections.documents",{id:c});return rc(e,d.data||[],a===-1?1/0:a),0}async function sc(t){let{ctx:e,arg:r}=t,n=[...t.args],s=(S,x)=>{let A=n.indexOf(S);if(A===-1)return x;let H=n[A+1];return n.splice(A,2),H??x},o=s("--permission","read_write"),i=s("--icon"),a=s("--color"),c=s("--sort-field"),d=s("--sort-direction"),l=s("--index"),p=r||n[0];if(!p)return e.fail("\u8BF7\u6307\u5B9A\u96C6\u5408\u540D\u79F0",'\u7528\u6CD5: coder wiki create-collection "<\u540D\u79F0>" [\u63CF\u8FF0]'),1;let g=n.slice(1).filter(S=>!S.startsWith("--")).join(" "),_={name:p,description:g,sharing:!0};_.permission=o==="null"||o==="none"?null:o,i&&(_.icon=i),a&&(_.color=a),(c||d)&&(_.sort={field:c||"index",direction:d||"asc"}),l&&(_.index=l);let D=await E(t,"collections.create",_);return dt(e,[["collection",`${D.data.id} \u2014 ${D.data.name}`,"\u96C6\u5408\u5DF2\u521B\u5EFA"],["url",hr(D.data.urlId||D.data.id)]]),0}async function oc(t){let{ctx:e,resolver:r,arg:n,args:s}=t;if(!n)return e.fail("\u8BF7\u6307\u5B9A\u96C6\u5408 id","coder wiki list \u67E5\u770B\u96C6\u5408"),1;let i={id:await r.toColUuid(n)};if(Z(s,"--name")&&(i.name=Z(s,"--name")),Z(s,"--description")&&(i.description=Z(s,"--description")),s.indexOf("--permission")!==-1){let c=Z(s,"--permission");i.permission=c==="null"||c==="none"?null:c}if(Z(s,"--color")&&(i.color=Z(s,"--color")),s.indexOf("--sharing")!==-1&&(i.sharing=Z(s,"--sharing")==="true"),Object.keys(i).length<=1)return e.fail("\u8BF7\u81F3\u5C11\u6307\u5B9A\u4E00\u4E2A\u8981\u66F4\u65B0\u7684\u5B57\u6BB5","\u53EF\u7528: --name --description --permission --color --sharing"),1;let a=await E(t,"collections.update",i);return e.emit(`\u96C6\u5408\u5DF2\u66F4\u65B0: ${a.data.id} \u2014 ${a.data.name}`),0}async function gr(t,e,r,{allowNoData:n=!1}={}){let{ctx:s,resolver:o,arg:i}=t;if(!i)return s.fail("\u8BF7\u6307\u5B9A\u96C6\u5408 id","coder wiki list \u67E5\u770B\u96C6\u5408"),1;let a=await o.toColUuid(i);return await E(t,e,{id:a},{allowNoData:n}),s.emit(r),0}var ic=t=>gr(t,"collections.delete","\u96C6\u5408\u5DF2\u5220\u9664",{allowNoData:!0}),ac=t=>gr(t,"collections.archive","\u96C6\u5408\u5DF2\u5F52\u6863"),cc=t=>gr(t,"collections.restore","\u96C6\u5408\u5DF2\u6062\u590D");async function dc(t){let{ctx:e,resolver:r,arg:n}=t;if(!n)return e.fail("\u8BF7\u6307\u5B9A\u6587\u6863 id","\u53EF\u4F20 UUID / urlId / \u6D4F\u89C8\u5668 URL"),1;let s=await r.toDocUuid(n),i=(await E(t,"documents.info",{id:s})).data;return dt(e,[["title",i.title,"\u6807\u9898"],["id",i.id],["collection",i.collectionId,"\u96C6\u5408"],["updated_at",i.updatedAt,"\u66F4\u65B0"],["url",Ge(i.urlId||i.id)]]),!e.isJson&&i.text&&e.emit(`
56
+ ${i.text}`),0}function ns(t,e){let r=fr.resolve(e);if(!St.existsSync(r))return t.ctx.fail(`\u6587\u4EF6\u4E0D\u5B58\u5728: ${r}`,"\u786E\u8BA4\u8DEF\u5F84\u6B63\u786E"),null;let n=St.readFileSync(r,"utf8"),s=n.match(/^#\s+(.+)/m);return s?{title:s[1].trim(),text:n.replace(/^#\s+.+\n?/,"").trimStart()}:(t.ctx.fail("\u6587\u4EF6\u7F3A\u5C11 H1 \u6807\u9898\uFF08# \u6807\u9898\uFF09","\u5728 Markdown \u9876\u90E8\u52A0\u4E00\u884C # \u6807\u9898"),null)}async function lc(t){let{ctx:e,resolver:r,arg:n,args:s}=t;if(!n)return e.fail("\u8BF7\u6307\u5B9A\u96C6\u5408 id","coder wiki publish <\u96C6\u5408> <\u6807\u9898> [\u6B63\u6587] | <\u96C6\u5408> --file <path> [--parent <doc>] [--index <n>] [--after <doc>]"),1;let o=await r.toColUuid(n),i,a,c=Z(s,"--parent")?await r.toDocUuid(Z(s,"--parent")):void 0,d=Z(s,"--index")?parseInt(Z(s,"--index"),10):void 0,l=Z(s,"--after");if(s.indexOf("--after")!==-1){if(!l)return e.fail("\u8BF7\u6307\u5B9A --after \u7684\u6587\u6863","\u4F20 UUID / urlId / URL"),1;let S=await r.toDocUuid(l),x=await E(t,"collections.documents",{id:o}),A=ss(x.data,S);if(!A)return e.fail(`\u96C6\u5408\u4E2D\u672A\u627E\u5230\u6587\u6863 ${l}`,"\u786E\u8BA4\u8BE5\u6587\u6863\u5C5E\u4E8E\u6B64\u96C6\u5408"),1;d=A.index+1,A.parentDocumentId&&!c&&(c=A.parentDocumentId)}if(s.indexOf("--file")!==-1){let S=ns(t,Z(s,"--file"));if(!S)return 1;({title:i,text:a}=S)}else if(i=s[1],a=s.slice(2).join(" "),!i)return e.fail("\u8BF7\u6307\u5B9A\u6587\u6863\u6807\u9898","coder wiki publish <\u96C6\u5408> <\u6807\u9898> [\u6B63\u6587]"),1;let p={collectionId:o,title:i,text:"",publish:!0};c&&(p.parentDocumentId=c),d!==void 0&&!isNaN(d)&&(p.index=d);let _=(await E(t,"documents.create",p)).data.id,D=await E(t,"documents.update",{id:_,title:i,text:a,publish:!0});return dt(e,[["title",D.data.title,"\u6587\u6863\u5DF2\u53D1\u5E03"],["id",_],["url",Ge(D.data.urlId||_)]]),0}function ss(t,e,r=null){if(!Array.isArray(t))return null;for(let n=0;n<t.length;n++){if(t[n].id===e)return{index:n,parentDocumentId:r};if(t[n].children?.length){let s=ss(t[n].children,e,t[n].id);if(s)return s}}return null}async function uc(t){let{ctx:e,resolver:r,arg:n,args:s}=t;if(!n)return e.fail("\u8BF7\u6307\u5B9A\u6587\u6863 id","coder wiki update <\u6587\u6863> <\u6807\u9898> [\u6B63\u6587] | <\u6587\u6863> --file <path>"),1;let o=await r.toDocUuid(n),i,a;if(s.indexOf("--file")!==-1){let l=ns(t,Z(s,"--file"));if(!l)return 1;({title:i,text:a}=l)}else if(i=s[1],a=s.slice(2).join(" "),!i)return e.fail("\u8BF7\u6307\u5B9A\u6587\u6863\u6807\u9898","coder wiki update <\u6587\u6863> <\u6807\u9898> [\u6B63\u6587]"),1;let c={id:o,title:i,publish:!0};a&&(c.text=a);let d=await E(t,"documents.update",c);return e.emit(`\u6587\u6863\u5DF2\u66F4\u65B0: ${d.data.title}`),0}async function mc(t){let{ctx:e,resolver:r,arg:n,args:s}=t;if(!n)return e.fail("\u8BF7\u6307\u5B9A\u6587\u6863 id","\u53EF\u4F20 UUID / urlId / URL"),1;let o=await r.toDocUuid(n),i=s.includes("--permanent");return await E(t,"documents.delete",{id:o,...i?{permanent:!0}:{}},{allowNoData:!0}),e.emit(`\u6587\u6863\u5DF2${i?"\u6C38\u4E45":""}\u5220\u9664`),0}async function pc(t){let{ctx:e,resolver:r,arg:n,args:s}=t;if(!n)return e.fail("\u8BF7\u6307\u5B9A\u6587\u6863 id","coder wiki move <\u6587\u6863> [\u96C6\u5408] [\u7236\u6587\u6863]"),1;let i={id:await r.toDocUuid(n),index:0};return s[1]&&(i.collectionId=await r.toColUuid(s[1])),s[2]&&(i.parentDocumentId=await r.toDocUuid(s[2])),await E(t,"documents.move",i),e.emit("\u6587\u6863\u5DF2\u79FB\u52A8"),0}async function fc(t,e,r){let{ctx:n,resolver:s,arg:o}=t;if(!o)return n.fail("\u8BF7\u6307\u5B9A\u6587\u6863 id","\u53EF\u4F20 UUID / urlId / URL"),1;let i=await s.toDocUuid(o);return await E(t,e,{id:i}),n.emit(r),0}var hc=t=>fc(t,"documents.archive","\u6587\u6863\u5DF2\u5F52\u6863");async function gc(t){let{ctx:e,resolver:r,arg:n,args:s}=t;if(!n)return e.fail("\u8BF7\u6307\u5B9A\u6587\u6863 id","\u53EF\u4F20 UUID / urlId / URL"),1;let i={id:await r.toDocUuid(n)};return Z(s,"--revision")&&(i.revisionId=Z(s,"--revision")),Z(s,"--collection")&&(i.collectionId=await r.toColUuid(Z(s,"--collection"))),await E(t,"documents.restore",i),e.emit("\u6587\u6863\u5DF2\u6062\u590D"),0}async function yc(t){let{ctx:e,resolver:r,arg:n}=t;if(!n)return e.fail("\u8BF7\u6307\u5B9A\u6587\u6863 id","\u53EF\u4F20 UUID / urlId / URL"),1;let s=await r.toDocUuid(n),o=await E(t,"revisions.list",{documentId:s,sort:"createdAt",direction:"DESC"});return se(e,(o.data||[]).map(i=>({revisionId:i.id,name:i.name||"",created_at:i.createdAt})),"\u6682\u65E0\u5386\u53F2\u7248\u672C"),0}async function _c(t){let{ctx:e,arg:r}=t;if(!r)return e.fail("\u8BF7\u6307\u5B9A\u7248\u672C id\uFF08UUID\uFF0C\u6765\u81EA revisions \u5217\u8868\uFF09","coder wiki revisions <\u6587\u6863>"),1;let s=(await E(t,"revisions.info",{id:r})).data;return dt(e,[["revisionId",s.id,"\u7248\u672C id"],["name",s.name||"","\u7248\u672C\u540D"],["documentId",s.documentId,"\u6587\u6863 id"],["created_at",s.createdAt,"\u521B\u5EFA\u65F6\u95F4"]]),!e.isJson&&s.text&&e.emit(`
57
+ ${s.text}`),0}async function bc(t){let e=await E(t,"documents.drafts",{sort:"updatedAt",direction:"DESC"});return se(t.ctx,(e.data||[]).map(Tt),"\u6682\u65E0\u8349\u7A3F"),0}async function Ic(t){let e=await E(t,"documents.viewed",{sort:"updatedAt",direction:"DESC"});return se(t.ctx,(e.data||[]).map(Tt),"\u6682\u65E0\u6D4F\u89C8\u8BB0\u5F55"),0}async function xc(t){let{ctx:e,arg:r,args:n}=t;if(!r)return e.fail("\u8BF7\u6307\u5B9A\u641C\u7D22\u5173\u952E\u8BCD","coder wiki search <\u5173\u952E\u8BCD>"),1;let s=[r,...n.slice(1)].join(" "),i=(await E(t,"documents.search",{query:s,snippetMinWords:20,snippetMaxWords:30})).data||[];return se(e,i.map(a=>Tt(a.document||a)),`\u6CA1\u6709\u627E\u5230\u4E0E "${s}" \u76F8\u5173\u7684\u6587\u6863`),0}async function kc(t){let{ctx:e}=t,r=await E(t,"stars.list",{}),n=r.data?.stars||[],s={};for(let o of r.data?.documents||[])s[o.id]=o;return se(e,n.map(o=>{let i=o.documentId?s[o.documentId]:null;return{starId:o.id,title:i?.title||o.collectionId||o.documentId||"",url:i?Ge(i.urlId||i.id):o.collectionId?hr(o.collectionId):o.documentId?Ge(o.documentId):""}}),"\u6682\u65E0\u6536\u85CF"),0}async function wc(t){let{ctx:e,resolver:r,arg:n,args:s}=t;if(!n)return e.fail("\u8BF7\u6307\u5B9A\u6587\u6863\u6216\u96C6\u5408 id","\u96C6\u5408\u7528 --collection \u6807\u8BB0"),1;let o=s.includes("--collection"),i=o?await r.toColUuid(n):await r.toDocUuid(n);return await E(t,"stars.create",o?{collectionId:i}:{documentId:i}),e.emit("\u5DF2\u6536\u85CF"),0}async function vc(t){let{ctx:e,arg:r}=t;return r?(await E(t,"stars.delete",{id:r},{allowNoData:!0}),e.emit("\u5DF2\u53D6\u6D88\u6536\u85CF"),0):(e.fail("\u8BF7\u6307\u5B9A\u6536\u85CF id\uFF08starId\uFF0C\u6765\u81EA stars \u5217\u8868\uFF09","coder wiki stars"),1)}async function Cc(t){let{ctx:e,resolver:r,arg:n}=t,s=n?{collectionId:await r.toColUuid(n)}:{},o=await E(t,"pins.list",s),i=o.data?.pins||[],a={};for(let c of o.data?.documents||[])a[c.id]=c;return se(e,i.map(c=>{let d=c.documentId?a[c.documentId]:null;return{pinId:c.id,title:d?.title||c.documentId,url:Ge(d?.urlId||c.documentId)}}),"\u6682\u65E0\u7F6E\u9876"),0}async function $c(t){let{ctx:e,resolver:r,arg:n,args:s}=t;if(!n)return e.fail("\u8BF7\u6307\u5B9A\u6587\u6863 id","coder wiki pin <\u6587\u6863> [\u96C6\u5408]"),1;let i={documentId:await r.toDocUuid(n)};s[1]&&(i.collectionId=await r.toColUuid(s[1]));let a=await E(t,"pins.create",i);return e.emit(`\u5DF2\u7F6E\u9876: ${a.data.id}`),0}async function Sc(t){let{ctx:e,arg:r}=t;return r?(await E(t,"pins.delete",{id:r},{allowNoData:!0}),e.emit("\u5DF2\u53D6\u6D88\u7F6E\u9876"),0):(e.fail("\u8BF7\u6307\u5B9A\u7F6E\u9876 id\uFF08pinId\uFF0C\u6765\u81EA pins \u5217\u8868\uFF09","coder wiki pins"),1)}async function Tc(t){let{ctx:e,resolver:r,arg:n}=t;if(!n)return e.fail("\u8BF7\u6307\u5B9A\u6587\u6863 id","\u53EF\u4F20 UUID / urlId / URL"),1;let s=await r.toDocUuid(n),i=(await E(t,"comments.list",{documentId:s,sort:"createdAt",direction:"ASC"})).data||[];return i.length?(e.isJson?se(e,i.map(a=>({id:a.id,author:a.createdBy?.name||"?",content:rs(a.data)}))):e.emit(i.map(a=>` [${a.id}] ${a.createdBy?.name||"?"}: ${rs(a.data)}`).join(`
58
+ `)),0):(e.emit("\u6682\u65E0\u8BC4\u8BBA"),0)}async function Ac(t){let{ctx:e,resolver:r,arg:n,args:s}=t,o=s.slice(1).join(" ");if(!n||!o)return e.fail("\u7528\u6CD5: coder wiki comment <\u6587\u6863> <\u5185\u5BB9>","\u53EF\u4F20 UUID / urlId / URL"),1;let i=await r.toDocUuid(n),a=await E(t,"comments.create",{documentId:i,text:o});return e.emit(`\u8BC4\u8BBA\u5DF2\u53D1\u5E03: ${a.data.id}`),0}function rs(t){return t?.content?t.content.flatMap(e=>e.content||[]).filter(e=>e.type==="text").map(e=>e.text).join(""):""}function Ec(t){let{ctx:e,arg:r,args:n}=t,s=Z(n,"--query")||r||"",o=s?ts.filter(i=>i.name.toLowerCase().includes(s.toLowerCase())||i.keywords.toLowerCase().includes(s.toLowerCase())):ts;return o.length?(se(e,o.map(i=>({icon:i.name,keywords:i.keywords}))),e.isJson||e.emit(`
59
59
  \u7528\u6CD5: coder wiki create-collection "<\u540D\u79F0>" --icon ${o[0].name}
60
- \u63D0\u793A: \u4E5F\u53EF\u76F4\u63A5\u7528 emoji\uFF0C\u5982 --icon \u{1F4DA}`),0):(e.emit(`\u6CA1\u6709\u627E\u5230\u4E0E "${s}" \u76F8\u5173\u7684\u56FE\u6807`),0)}async function al(r){let{ctx:e,http:t,resolver:n,arg:s,args:o}=r,i=o[1];if(!s||!i)return e.fail("\u7528\u6CD5: coder wiki upload <\u6587\u6863> <\u6587\u4EF6\u8DEF\u5F84>","\u53EF\u4F20 UUID / urlId / URL"),1;let a=await n.toDocUuid(s),c=Tr.resolve(i);if(!Lt.existsSync(c))return e.fail(`\u6587\u4EF6\u4E0D\u5B58\u5728: ${c}`,"\u786E\u8BA4\u8DEF\u5F84\u6B63\u786E"),1;let l=Lt.readFileSync(c),d=Tr.basename(c),u=ll(c),h=await D(r,"attachments.create",{name:d,documentId:a,size:l.length,contentType:u,preset:"documentAttachment"}),{uploadUrl:_,form:v,attachment:A}=h.data,w=await dl(_,v,l,d,u);return w.status>=300?(e.fail(`\u4E0A\u4F20\u5931\u8D25 (HTTP ${w.status}): ${w.body.slice(0,200)}`,"\u68C0\u67E5\u7F51\u7EDC\u6216\u6587\u4EF6\u5927\u5C0F"),1):(vs(e,A,u),0)}async function cl(r){let{ctx:e,resolver:t,arg:n,args:s}=r,o=s[1];if(!n||!o)return e.fail("\u7528\u6CD5: coder wiki upload-url <\u6587\u6863> <url>","\u53EF\u4F20 UUID / urlId / URL"),1;let i=await t.toDocUuid(n),a=await D(r,"attachments.createFromUrl",{url:o,documentId:i,preset:"documentAttachment"});return vs(e,a.data,a.data.contentType),0}function vs(r,e,t){let n=(t||"").startsWith("image/")?`![${e.name}](${e.url})`:`[${e.name}](${e.url})`;bt(r,[["filename",e.name,"\u9644\u4EF6\u5DF2\u4E0A\u4F20"],["id",e.id],["url",e.url],["markdown",n]])}function ll(r){let e=r.split(".").pop().toLowerCase();return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",bmp:"image/bmp",ico:"image/x-icon",pdf:"application/pdf",doc:"application/msword",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",xls:"application/vnd.ms-excel",xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",ppt:"application/vnd.ms-powerpoint",pptx:"application/vnd.openxmlformats-officedocument.presentationml.presentation",txt:"text/plain",md:"text/markdown",csv:"text/csv",zip:"application/zip",tar:"application/x-tar",gz:"application/gzip",mp4:"video/mp4",mov:"video/quicktime",avi:"video/x-msvideo",mp3:"audio/mpeg",wav:"audio/wav",json:"application/json",xml:"application/xml"}[e]||"application/octet-stream"}function dl(r,e,t,n,s){return new Promise((o,i)=>{let a=`----FormBoundary${Math.random().toString(36).slice(2)}${Date.now()}`,c=[];for(let[A,w]of Object.entries(e))c.push(Buffer.from(`--${a}\r
61
- Content-Disposition: form-data; name="${A}"\r
60
+ \u63D0\u793A: \u4E5F\u53EF\u76F4\u63A5\u7528 emoji\uFF0C\u5982 --icon \u{1F4DA}`),0):(e.emit(`\u6CA1\u6709\u627E\u5230\u4E0E "${s}" \u76F8\u5173\u7684\u56FE\u6807`),0)}async function Oc(t){let{ctx:e,http:r,resolver:n,arg:s,args:o}=t,i=o[1];if(!s||!i)return e.fail("\u7528\u6CD5: coder wiki upload <\u6587\u6863> <\u6587\u4EF6\u8DEF\u5F84>","\u53EF\u4F20 UUID / urlId / URL"),1;let a=await n.toDocUuid(s),c=fr.resolve(i);if(!St.existsSync(c))return e.fail(`\u6587\u4EF6\u4E0D\u5B58\u5728: ${c}`,"\u786E\u8BA4\u8DEF\u5F84\u6B63\u786E"),1;let d=St.readFileSync(c),l=fr.basename(c),p=Pc(c),g=await E(t,"attachments.create",{name:l,documentId:a,size:d.length,contentType:p,preset:"documentAttachment"}),{uploadUrl:_,form:D,attachment:S}=g.data,x=await Uc(_,D,d,l,p);return x.status>=300?(e.fail(`\u4E0A\u4F20\u5931\u8D25 (HTTP ${x.status}): ${x.body.slice(0,200)}`,"\u68C0\u67E5\u7F51\u7EDC\u6216\u6587\u4EF6\u5927\u5C0F"),1):(os(e,S,p),0)}async function Dc(t){let{ctx:e,resolver:r,arg:n,args:s}=t,o=s[1];if(!n||!o)return e.fail("\u7528\u6CD5: coder wiki upload-url <\u6587\u6863> <url>","\u53EF\u4F20 UUID / urlId / URL"),1;let i=await r.toDocUuid(n),a=await E(t,"attachments.createFromUrl",{url:o,documentId:i,preset:"documentAttachment"});return os(e,a.data,a.data.contentType),0}function os(t,e,r){let n=(r||"").startsWith("image/")?`![${e.name}](${e.url})`:`[${e.name}](${e.url})`;dt(t,[["filename",e.name,"\u9644\u4EF6\u5DF2\u4E0A\u4F20"],["id",e.id],["url",e.url],["markdown",n]])}function Pc(t){let e=t.split(".").pop().toLowerCase();return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",bmp:"image/bmp",ico:"image/x-icon",pdf:"application/pdf",doc:"application/msword",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",xls:"application/vnd.ms-excel",xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",ppt:"application/vnd.ms-powerpoint",pptx:"application/vnd.openxmlformats-officedocument.presentationml.presentation",txt:"text/plain",md:"text/markdown",csv:"text/csv",zip:"application/zip",tar:"application/x-tar",gz:"application/gzip",mp4:"video/mp4",mov:"video/quicktime",avi:"video/x-msvideo",mp3:"audio/mpeg",wav:"audio/wav",json:"application/json",xml:"application/xml"}[e]||"application/octet-stream"}function Uc(t,e,r,n,s){return new Promise((o,i)=>{let a=`----FormBoundary${Math.random().toString(36).slice(2)}${Date.now()}`,c=[];for(let[S,x]of Object.entries(e))c.push(Buffer.from(`--${a}\r
61
+ Content-Disposition: form-data; name="${S}"\r
62
62
  \r
63
- ${w}\r
64
- `));let l=Buffer.from(`--${a}\r
63
+ ${x}\r
64
+ `));let d=Buffer.from(`--${a}\r
65
65
  Content-Disposition: form-data; name="file"; filename="${n}"\r
66
66
  Content-Type: ${s}\r
67
67
  \r
68
- `),d=Buffer.from(`\r
68
+ `),l=Buffer.from(`\r
69
69
  --${a}--\r
70
- `),u=Buffer.concat([...c,l,t,d]),h=new URL(r),v=(h.protocol==="https:"?require("https"):require("http")).request({hostname:h.hostname,port:h.port||(h.protocol==="https:"?443:80),path:h.pathname+h.search,method:"POST",headers:{"Content-Type":`multipart/form-data; boundary=${a}`,"Content-Length":u.length}},A=>{let w="";A.on("data",T=>w+=T),A.on("end",()=>o({status:A.statusCode,body:w}))});v.on("error",i),v.write(u),v.end()})}Os.exports={list:Pc,createCollection:Uc,updateCollection:jc,deleteCollection:Nc,archiveCollection:Rc,restoreCollection:qc,get:Zc,publish:Lc,update:Mc,delete:Vc,move:Bc,archive:Gc,restore:Hc,revisions:zc,revision:Wc,drafts:Kc,recent:Jc,search:Yc,stars:Xc,star:Qc,unstar:el,pins:tl,pin:rl,unpin:nl,comments:sl,comment:ol,icons:il,upload:al,uploadUrl:cl}});var Zs=b((Vm,qs)=>{function $s(r){return r.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}var Ss=["agent","auth","pub","update","wiki","team","skills","claude","codex","gemini"],As=["--format","--apikey","--help","--version","--install-completion","--show-completion"],jr={pub:["--name","--meta-data","--allow-clone"]},Es=["login","logout","status"],Ts=["list","current","use","info"],Nr=["members","groups"];function Ds(){return Pt().AGENT_NAMES}function Ps(r){let e=br();return e[r]?Object.keys(e[r]):[]}function Us(){return qt().SKILLS_SUBCOMMANDS}function js(){let{COMMANDS:r}=Er(),e=Ur(),t=Object.keys(r),n=Object.keys(e).filter(s=>typeof e[s]=="function").map($s);return Array.from(new Set([...n,...t])).sort()}function Ns(r){let e=r.length?r[r.length-1]:"",t=r.slice(0,-1),n=t[0];if(e.startsWith("-")){let o=[...As];return n&&jr[n]&&o.push(...jr[n]),o}if(t[t.length-1]==="--format")return["text","json"];if(t.length===0)return Ss;switch(n){case"agent":return t.length===1?Ds():[];case"auth":return t.length===1?Es:[];case"skills":return t.length===1?Us():[];case"wiki":return t.length===1?js():[];case"team":return t.length===1?[...Ts,...Nr]:t.length===2&&Nr.includes(t[1])?Ps(t[1]):[];default:return[]}}function Rs(r){let e=r.length?r[r.length-1]:"",t=Ns(r),n=new Set,s=[];for(let o of t)o.startsWith(e)&&!n.has(o)&&(n.add(o),s.push(o));return s}function ul(r){let e=r.indexOf("--"),t=e===-1?r:r.slice(e+1),n=Rs(t);return n.length&&process.stdout.write(n.join(`
70
+ `),p=Buffer.concat([...c,d,r,l]),g=new URL(t),D=(g.protocol==="https:"?require("https"):require("http")).request({hostname:g.hostname,port:g.port||(g.protocol==="https:"?443:80),path:g.pathname+g.search,method:"POST",headers:{"Content-Type":`multipart/form-data; boundary=${a}`,"Content-Length":p.length}},S=>{let x="";S.on("data",A=>x+=A),S.on("end",()=>o({status:S.statusCode,body:x}))});D.on("error",i),D.write(p),D.end()})}is.exports={list:nc,createCollection:sc,updateCollection:oc,deleteCollection:ic,archiveCollection:ac,restoreCollection:cc,get:dc,publish:lc,update:uc,delete:mc,move:pc,archive:hc,restore:gc,revisions:yc,revision:_c,drafts:bc,recent:Ic,search:xc,stars:kc,star:wc,unstar:vc,pins:Cc,pin:$c,unpin:Sc,comments:Tc,comment:Ac,icons:Ec,upload:Oc,uploadUrl:Dc}});var bs=b((im,_s)=>{function as(t){return t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}var cs=["agent","auth","pub","update","wiki","team","skills","claude","codex","gemini"],ds=["--format","--apikey","--help","--version","--install-completion","--show-completion"],_r={pub:["--name","--meta-data","--allow-clone"]},ls=["login","logout","status"],us=["list","current","use","info"],br=["members","groups"];function ms(){return It().AGENT_NAMES}function ps(t){let e=rr();return e[t]?Object.keys(e[t]):[]}function fs(){return Ct().SKILLS_SUBCOMMANDS}function hs(){let{COMMANDS:t}=pr(),e=yr(),r=Object.keys(t),n=Object.keys(e).filter(s=>typeof e[s]=="function").map(as);return Array.from(new Set([...n,...r])).sort()}function gs(t){let e=t.length?t[t.length-1]:"",r=t.slice(0,-1),n=r[0];if(e.startsWith("-")){let o=[...ds];return n&&_r[n]&&o.push(..._r[n]),o}if(r[r.length-1]==="--format")return["text","json"];if(r.length===0)return cs;switch(n){case"agent":return r.length===1?ms():[];case"auth":return r.length===1?ls:[];case"skills":return r.length===1?fs():[];case"wiki":return r.length===1?hs():[];case"team":return r.length===1?[...us,...br]:r.length===2&&br.includes(r[1])?ps(r[1]):[];default:return[]}}function ys(t){let e=t.length?t[t.length-1]:"",r=gs(t),n=new Set,s=[];for(let o of r)o.startsWith(e)&&!n.has(o)&&(n.add(o),s.push(o));return s}function jc(t){let e=t.indexOf("--"),r=e===-1?t:t.slice(e+1),n=ys(r);return n.length&&process.stdout.write(n.join(`
71
71
  `)+`
72
- `),0}qs.exports={complete:ul,candidates:Rs,candidatesFor:Ns,camelToKebab:$s,TOP_LEVEL:Ss,GLOBAL_OPTIONS:As,COMMAND_OPTIONS:jr,AUTH_SUBCOMMANDS:Es,TEAM_TOP:Ts,TEAM_RESOURCES:Nr,wikiSubcommands:js,skillsSubcommands:Us,teamVerbs:Ps,agentNames:Ds}});var Ms=b((Bm,Ls)=>{function ml(r="coder"){return`# bash completion for ${r}
73
- # \u5B89\u88C5: ${r} --install-completion \u6216 eval "$(${r} --show-completion bash)"
74
- _${r}_complete() {
72
+ `),0}_s.exports={complete:jc,candidates:ys,candidatesFor:gs,camelToKebab:as,TOP_LEVEL:cs,GLOBAL_OPTIONS:ds,COMMAND_OPTIONS:_r,AUTH_SUBCOMMANDS:ls,TEAM_TOP:us,TEAM_RESOURCES:br,wikiSubcommands:hs,skillsSubcommands:fs,teamVerbs:ps,agentNames:ms}});var xs=b((am,Is)=>{function Nc(t="coder"){return`# bash completion for ${t}
73
+ # \u5B89\u88C5: ${t} --install-completion \u6216 eval "$(${t} --show-completion bash)"
74
+ _${t}_complete() {
75
75
  local cur words cword
76
76
  _get_comp_words_by_ref -n : cur words cword 2>/dev/null || {
77
77
  cur="\${COMP_WORDS[COMP_CWORD]}"
@@ -79,71 +79,46 @@ _${r}_complete() {
79
79
  cword=$COMP_CWORD
80
80
  }
81
81
 
82
- # \u900F\u4F20\u5149\u6807\u524D\u7684\u8BCD\uFF08\u4E0D\u542B argv[0]=${r} \u81EA\u8EAB\uFF09\uFF0C\u6700\u540E\u4E00\u4E2A\u662F\u6B63\u5728\u8865\u5168\u7684\u524D\u7F00\u3002
82
+ # \u900F\u4F20\u5149\u6807\u524D\u7684\u8BCD\uFF08\u4E0D\u542B argv[0]=${t} \u81EA\u8EAB\uFF09\uFF0C\u6700\u540E\u4E00\u4E2A\u662F\u6B63\u5728\u8865\u5168\u7684\u524D\u7F00\u3002
83
83
  local line=("\${words[@]:1:cword}")
84
84
  local IFS=$'\\n'
85
85
  local reply
86
- reply=$(${r} __complete -- "\${line[@]}" 2>/dev/null)
86
+ reply=$(${t} __complete -- "\${line[@]}" 2>/dev/null)
87
87
  COMPREPLY=( $(compgen -W "\${reply}" -- "\${cur}") )
88
88
 
89
89
  # \u5904\u7406\u542B\u5192\u53F7\u7684\u5019\u9009\uFF08bash \u9ED8\u8BA4\u628A : \u5F53\u8BCD\u5206\u9694\u7B26\uFF09
90
90
  __ltrim_colon_completions "\${cur}" 2>/dev/null
91
91
  return 0
92
92
  }
93
- complete -F _${r}_complete ${r}
94
- `}Ls.exports={bashScript:ml}});var Bs=b((Fm,Vs)=>{function pl(r="coder"){return`# zsh completion for ${r}
95
- _${r}() {
93
+ complete -F _${t}_complete ${t}
94
+ `}Is.exports={bashScript:Nc}});var ws=b((cm,ks)=>{function Rc(t="coder"){return`# zsh completion for ${t}
95
+ _${t}() {
96
96
  local -a line
97
97
  line=("\${words[2,CURRENT]}")
98
98
 
99
99
  local raw
100
- raw="$(${r} __complete -- "\${line[@]}" 2>/dev/null)"
100
+ raw="$(${t} __complete -- "\${line[@]}" 2>/dev/null)"
101
101
  local -a reply
102
102
  reply=("\${(@f)raw}")
103
103
  compadd -- "\${reply[@]}"
104
104
  }
105
- compdef _${r} ${r}
106
- `}Vs.exports={zshScript:pl}});var Hs=b((Gm,Gs)=>{var Vt=require("fs"),hl=require("os"),de=require("path"),{bashScript:fl}=Ms(),{zshScript:gl}=Bs(),Bt=["bash","zsh","fish"];function Rr(){let r=(process.env.SHELL||"").split("/").pop();return Bt.includes(r)?r:"bash"}function qr(r){return r==="bash"?fl():r==="zsh"?gl():r==="fish"?yl():null}function yl(r="coder"){return`# fish completion for ${r}
107
- function __${r}_complete
105
+ compdef _${t} ${t}
106
+ `}ks.exports={zshScript:Rc}});var $s=b((dm,Cs)=>{var At=require("fs"),Zc=require("os"),ce=require("path"),{bashScript:qc}=xs(),{zshScript:Lc}=ws(),Et=["bash","zsh","fish"];function Ir(){let t=(process.env.SHELL||"").split("/").pop();return Et.includes(t)?t:"bash"}function xr(t){return t==="bash"?qc():t==="zsh"?Lc():t==="fish"?Mc():null}function Mc(t="coder"){return`# fish completion for ${t}
107
+ function __${t}_complete
108
108
  set -l tokens (commandline -opc) (commandline -ct)
109
- ${r} __complete -- $tokens[2..-1] 2>/dev/null
109
+ ${t} __complete -- $tokens[2..-1] 2>/dev/null
110
110
  end
111
- complete -c ${r} -f -a '(__${r}_complete)'
112
- `}function _l(r){let e=hl.homedir();if(r==="bash"){let t=de.join(e,".coder","completions"),n=de.join(t,"coder.bash"),s=[de.join(e,".bashrc"),de.join(e,".bash_profile")];return{dir:t,file:n,rcs:s,sourceLine:`source "${n}"`}}if(r==="zsh"){let t=de.join(e,".coder","completions"),n=de.join(t,"coder.zsh");return{dir:t,file:n,rcs:[de.join(e,".zshrc")],sourceLine:`autoload -Uz compinit && compinit
113
- source "${n}"`}}if(r==="fish"){let t=de.join(e,".config","fish","completions"),n=de.join(t,"coder.fish");return{dir:t,file:n,rcs:[],sourceLine:null}}return null}var Fs="# >>> coder completion >>>",bl="# <<< coder completion <<<";function xl(r,e){let t="";try{t=Vt.readFileSync(r,"utf8")}catch{t=""}if(t.includes(Fs))return!1;let n=`
114
- ${Fs}
111
+ complete -c ${t} -f -a '(__${t}_complete)'
112
+ `}function Bc(t){let e=Zc.homedir();if(t==="bash"){let r=ce.join(e,".coder","completions"),n=ce.join(r,"coder.bash"),s=[ce.join(e,".bashrc"),ce.join(e,".bash_profile")];return{dir:r,file:n,rcs:s,sourceLine:`source "${n}"`}}if(t==="zsh"){let r=ce.join(e,".coder","completions"),n=ce.join(r,"coder.zsh");return{dir:r,file:n,rcs:[ce.join(e,".zshrc")],sourceLine:`autoload -Uz compinit && compinit
113
+ source "${n}"`}}if(t==="fish"){let r=ce.join(e,".config","fish","completions"),n=ce.join(r,"coder.fish");return{dir:r,file:n,rcs:[],sourceLine:null}}return null}var vs="# >>> coder completion >>>",Vc="# <<< coder completion <<<";function Fc(t,e){let r="";try{r=At.readFileSync(t,"utf8")}catch{r=""}if(r.includes(vs))return!1;let n=`
114
+ ${vs}
115
115
  ${e}
116
- ${bl}
117
- `;return Vt.appendFileSync(r,n,"utf8"),!0}function wl(r,e){let t=e||Rr(),n=qr(t);return n?(process.stdout.write(n),0):(r.fail(`unsupported shell: ${t}`,`\u652F\u6301: ${Bt.join(" | ")}`),1)}function Cl(r,e){let t=e||Rr(),n=qr(t),s=_l(t);if(!n||!s)return r.fail(`unsupported shell: ${t}`,`\u652F\u6301: ${Bt.join(" | ")}`),1;try{Vt.mkdirSync(s.dir,{recursive:!0}),Vt.writeFileSync(s.file,n,"utf8")}catch(a){return r.fail(`\u65E0\u6CD5\u5199\u5165\u8865\u5168\u811A\u672C: ${a.message}`,`\u68C0\u67E5\u76EE\u5F55\u6743\u9650: ${s.dir}`),1}let o=[];if(s.rcs.length===0)return r.emit([`\u5DF2\u4E3A ${t} \u5B89\u88C5\u8865\u5168: ${s.file}`,"fish \u4F1A\u81EA\u52A8\u52A0\u8F7D\u8BE5\u76EE\u5F55\uFF0C\u65B0\u5F00\u4E00\u4E2A\u7EC8\u7AEF\u5373\u53EF\u751F\u6548\u3002"].join(`
118
- `)),0;for(let a of s.rcs)try{xl(a,s.sourceLine)&&o.push(a)}catch(c){return r.fail(`\u65E0\u6CD5\u66F4\u65B0 ${a}: ${c.message}`,"\u53EF\u6539\u7528 --show-completion \u624B\u52A8\u5B89\u88C5"),1}let i=[`\u5DF2\u4E3A ${t} \u5B89\u88C5\u8865\u5168: ${s.file}`];return o.length?i.push(`\u5DF2\u5728\u4EE5\u4E0B\u6587\u4EF6\u8FFD\u52A0 source: ${o.join(", ")}`):i.push("rc \u4E2D\u5DF2\u5B58\u5728 coder \u8865\u5168\u5757\uFF0C\u672A\u91CD\u590D\u8FFD\u52A0\u3002"),i.push("\u91CD\u5F00\u7EC8\u7AEF\uFF0C\u6216\u8FD0\u884C: "+s.sourceLine.split(`
119
- `).pop()),r.emit(i.join(`
120
- `)),0}Gs.exports={detectShell:Rr,scriptFor:qr,showCompletion:wl,installCompletion:Cl,SUPPORTED:Bt}});var ue,ge,xt=Ie(()=>{ue=class extends Error{constructor(e,t,n){super(n),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=t,this.exitCode=e,this.nestedError=void 0}},ge=class extends ue{constructor(e){super(1,"commander.invalidArgument",e),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}});function Ft(r){let e=r.name()+(r.variadic===!0?"...":"");return r.required?"<"+e+">":"["+e+"]"}var Ee,Gt=Ie(()=>{xt();Ee=class{constructor(e,t){switch(this.description=t||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,e[0]){case"<":this.required=!0,this._name=e.slice(1,-1);break;case"[":this.required=!1,this._name=e.slice(1,-1);break;default:this.required=!0,this._name=e;break}this._name.endsWith("...")&&(this.variadic=!0,this._name=this._name.slice(0,-3))}name(){return this._name}_collectValue(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:(t.push(e),t)}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}argParser(e){return this.parseArg=e,this}choices(e){return this.argChoices=e.slice(),this.parseArg=(t,n)=>{if(!this.argChoices.includes(t))throw new ge(`Allowed choices are ${this.argChoices.join(", ")}.`);return this.variadic?this._collectValue(t,n):t},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}});var zs,Qe,Zr=Ie(()=>{Gt();zs=require("node:util"),Qe=class{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(e){this.helpWidth=this.helpWidth??e.helpWidth??80}visibleCommands(e){let t=e.commands.filter(s=>!s._hidden),n=e._getHelpCommand();return n&&!n._hidden&&t.push(n),this.sortSubcommands&&t.sort((s,o)=>s.name().localeCompare(o.name())),t}compareOptions(e,t){let n=s=>s.short?s.short.replace(/^-/,""):s.long.replace(/^--/,"");return n(e).localeCompare(n(t))}visibleOptions(e){let t=e.options.filter(s=>!s.hidden),n=e._getHelpOption();if(n&&!n.hidden){let s=n.short&&e._findOption(n.short),o=n.long&&e._findOption(n.long);!s&&!o?t.push(n):n.long&&!o?t.push(e.createOption(n.long,n.description)):n.short&&!s&&t.push(e.createOption(n.short,n.description))}return this.sortOptions&&t.sort(this.compareOptions),t}visibleGlobalOptions(e){if(!this.showGlobalOptions)return[];let t=[];for(let n=e.parent;n;n=n.parent){let s=n.options.filter(o=>!o.hidden);t.push(...s)}return this.sortOptions&&t.sort(this.compareOptions),t}visibleArguments(e){return e._argsDescription&&e.registeredArguments.forEach(t=>{t.description=t.description||e._argsDescription[t.name()]||""}),e.registeredArguments.find(t=>t.description)?e.registeredArguments:[]}subcommandTerm(e){let t=e.registeredArguments.map(n=>Ft(n)).join(" ");return e._name+(e._aliases[0]?"|"+e._aliases[0]:"")+(e.options.length?" [options]":"")+(t?" "+t:"")}optionTerm(e){return e.flags}argumentTerm(e){return e.name()}longestSubcommandTermLength(e,t){return t.visibleCommands(e).reduce((n,s)=>Math.max(n,this.displayWidth(t.styleSubcommandTerm(t.subcommandTerm(s)))),0)}longestOptionTermLength(e,t){return t.visibleOptions(e).reduce((n,s)=>Math.max(n,this.displayWidth(t.styleOptionTerm(t.optionTerm(s)))),0)}longestGlobalOptionTermLength(e,t){return t.visibleGlobalOptions(e).reduce((n,s)=>Math.max(n,this.displayWidth(t.styleOptionTerm(t.optionTerm(s)))),0)}longestArgumentTermLength(e,t){return t.visibleArguments(e).reduce((n,s)=>Math.max(n,this.displayWidth(t.styleArgumentTerm(t.argumentTerm(s)))),0)}commandUsage(e){let t=e._name;e._aliases[0]&&(t=t+"|"+e._aliases[0]);let n="";for(let s=e.parent;s;s=s.parent)n=s.name()+" "+n;return n+t+" "+e.usage()}commandDescription(e){return e.description()}subcommandDescription(e){return e.summary()||e.description()}optionDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(n=>JSON.stringify(n)).join(", ")}`),e.defaultValue!==void 0&&(e.required||e.optional||e.isBoolean()&&typeof e.defaultValue=="boolean")&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),e.presetArg!==void 0&&e.optional&&t.push(`preset: ${JSON.stringify(e.presetArg)}`),e.envVar!==void 0&&t.push(`env: ${e.envVar}`),t.length>0){let n=`(${t.join(", ")})`;return e.description?`${e.description} ${n}`:n}return e.description}argumentDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(n=>JSON.stringify(n)).join(", ")}`),e.defaultValue!==void 0&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),t.length>0){let n=`(${t.join(", ")})`;return e.description?`${e.description} ${n}`:n}return e.description}formatItemList(e,t,n){return t.length===0?[]:[n.styleTitle(e),...t,""]}groupItems(e,t,n){let s=new Map;return e.forEach(o=>{let i=n(o);s.has(i)||s.set(i,[])}),t.forEach(o=>{let i=n(o);s.has(i)||s.set(i,[]),s.get(i).push(o)}),s}formatHelp(e,t){let n=t.padWidth(e,t),s=t.helpWidth??80;function o(u,h){return t.formatItem(u,n,h,t)}let i=[`${t.styleTitle("Usage:")} ${t.styleUsage(t.commandUsage(e))}`,""],a=t.commandDescription(e);a.length>0&&(i=i.concat([t.boxWrap(t.styleCommandDescription(a),s),""]));let c=t.visibleArguments(e).map(u=>o(t.styleArgumentTerm(t.argumentTerm(u)),t.styleArgumentDescription(t.argumentDescription(u))));if(i=i.concat(this.formatItemList("Arguments:",c,t)),this.groupItems(e.options,t.visibleOptions(e),u=>u.helpGroupHeading??"Options:").forEach((u,h)=>{let _=u.map(v=>o(t.styleOptionTerm(t.optionTerm(v)),t.styleOptionDescription(t.optionDescription(v))));i=i.concat(this.formatItemList(h,_,t))}),t.showGlobalOptions){let u=t.visibleGlobalOptions(e).map(h=>o(t.styleOptionTerm(t.optionTerm(h)),t.styleOptionDescription(t.optionDescription(h))));i=i.concat(this.formatItemList("Global Options:",u,t))}return this.groupItems(e.commands,t.visibleCommands(e),u=>u.helpGroup()||"Commands:").forEach((u,h)=>{let _=u.map(v=>o(t.styleSubcommandTerm(t.subcommandTerm(v)),t.styleSubcommandDescription(t.subcommandDescription(v))));i=i.concat(this.formatItemList(h,_,t))}),i.join(`
121
- `)}displayWidth(e){return(0,zs.stripVTControlCharacters)(e).length}styleTitle(e){return e}styleUsage(e){return e.split(" ").map(t=>t==="[options]"?this.styleOptionText(t):t==="[command]"?this.styleSubcommandText(t):t[0]==="["||t[0]==="<"?this.styleArgumentText(t):this.styleCommandText(t)).join(" ")}styleCommandDescription(e){return this.styleDescriptionText(e)}styleOptionDescription(e){return this.styleDescriptionText(e)}styleSubcommandDescription(e){return this.styleDescriptionText(e)}styleArgumentDescription(e){return this.styleDescriptionText(e)}styleDescriptionText(e){return e}styleOptionTerm(e){return this.styleOptionText(e)}styleSubcommandTerm(e){return e.split(" ").map(t=>t==="[options]"?this.styleOptionText(t):t[0]==="["||t[0]==="<"?this.styleArgumentText(t):this.styleSubcommandText(t)).join(" ")}styleArgumentTerm(e){return this.styleArgumentText(e)}styleOptionText(e){return e}styleArgumentText(e){return e}styleSubcommandText(e){return e}styleCommandText(e){return e}padWidth(e,t){return Math.max(t.longestOptionTermLength(e,t),t.longestGlobalOptionTermLength(e,t),t.longestSubcommandTermLength(e,t),t.longestArgumentTermLength(e,t))}preformatted(e){return/\n[^\S\r\n]/.test(e)}formatItem(e,t,n,s){let i=" ".repeat(2);if(!n)return i+e;let a=e.padEnd(t+e.length-s.displayWidth(e)),c=2,d=(this.helpWidth??80)-t-c-2,u;return d<this.minWidthToWrap||s.preformatted(n)?u=n:u=s.boxWrap(n,d).replace(/\n/g,`
122
- `+" ".repeat(t+c)),i+a+" ".repeat(c)+u.replace(/\n/g,`
123
- ${i}`)}boxWrap(e,t){if(t<this.minWidthToWrap)return e;let n=e.split(/\r\n|\n/),s=/[\s]*[^\s]+/g,o=[];return n.forEach(i=>{let a=i.match(s);if(a===null){o.push("");return}let c=[a.shift()],l=this.displayWidth(c[0]);a.forEach(d=>{let u=this.displayWidth(d);if(l+u<=t){c.push(d),l+=u;return}o.push(c.join(""));let h=d.trimStart();c=[h],l=this.displayWidth(h)}),o.push(c.join(""))}),o.join(`
124
- `)}}});function Ws(r){return r.split("-").reduce((e,t)=>e+t[0].toUpperCase()+t.slice(1))}function Il(r){let e,t,n=/^-[^-]$/,s=/^--[^-]/,o=r.split(/[ |,]+/).concat("guard");if(n.test(o[0])&&(e=o.shift()),s.test(o[0])&&(t=o.shift()),!e&&n.test(o[0])&&(e=o.shift()),!e&&s.test(o[0])&&(e=t,t=o.shift()),o[0].startsWith("-")){let i=o[0],a=`option creation failed due to '${i}' in option flags '${r}'`;throw/^-[^-][^-]/.test(i)?new Error(`${a}
125
- - a short flag is a single dash and a single character
126
- - either use a single dash and a single character (for a short flag)
127
- - or use a double dash for a long option (and can have two, like '--ws, --workspace')`):n.test(i)?new Error(`${a}
128
- - too many short flags`):s.test(i)?new Error(`${a}
129
- - too many long flags`):new Error(`${a}
130
- - unrecognised flag format`)}if(e===void 0&&t===void 0)throw new Error(`option creation failed due to no flags found in '${r}'.`);return{shortFlag:e,longFlag:t}}var ye,Ht,Lr=Ie(()=>{xt();ye=class{constructor(e,t){this.flags=e,this.description=t||"",this.required=e.includes("<"),this.optional=e.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(e),this.mandatory=!1;let n=Il(e);this.short=n.shortFlag,this.long=n.longFlag,this.negate=!1,this.long&&(this.negate=this.long.startsWith("--no-")),this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0,this.helpGroupHeading=void 0}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}preset(e){return this.presetArg=e,this}conflicts(e){return this.conflictsWith=this.conflictsWith.concat(e),this}implies(e){let t=e;return typeof e=="string"&&(t={[e]:!0}),this.implied=Object.assign(this.implied||{},t),this}env(e){return this.envVar=e,this}argParser(e){return this.parseArg=e,this}makeOptionMandatory(e=!0){return this.mandatory=!!e,this}hideHelp(e=!0){return this.hidden=!!e,this}_collectValue(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:(t.push(e),t)}choices(e){return this.argChoices=e.slice(),this.parseArg=(t,n)=>{if(!this.argChoices.includes(t))throw new ge(`Allowed choices are ${this.argChoices.join(", ")}.`);return this.variadic?this._collectValue(t,n):t},this}name(){return this.long?this.long.replace(/^--/,""):this.short.replace(/^-/,"")}attributeName(){return this.negate?Ws(this.name().replace(/^no-/,"")):Ws(this.name())}helpGroup(e){return this.helpGroupHeading=e,this}is(e){return this.short===e||this.long===e}isBoolean(){return!this.required&&!this.optional&&!this.negate}},Ht=class{constructor(e){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,e.forEach(t=>{t.negate?this.negativeOptions.set(t.attributeName(),t):this.positiveOptions.set(t.attributeName(),t)}),this.negativeOptions.forEach((t,n)=>{this.positiveOptions.has(n)&&this.dualOptions.add(n)})}valueFromOption(e,t){let n=t.attributeName();if(!this.dualOptions.has(n))return!0;let s=this.negativeOptions.get(n).presetArg,o=s!==void 0?s:!1;return t.negate===(o===e)}}});function kl(r,e){if(Math.abs(r.length-e.length)>3)return Math.max(r.length,e.length);let t=[];for(let n=0;n<=r.length;n++)t[n]=[n];for(let n=0;n<=e.length;n++)t[0][n]=n;for(let n=1;n<=e.length;n++)for(let s=1;s<=r.length;s++){let o;r[s-1]===e[n-1]?o=0:o=1,t[s][n]=Math.min(t[s-1][n]+1,t[s][n-1]+1,t[s-1][n-1]+o),s>1&&n>1&&r[s-1]===e[n-2]&&r[s-2]===e[n-1]&&(t[s][n]=Math.min(t[s][n],t[s-2][n-2]+1))}return t[r.length][e.length]}function Mr(r,e){if(!e||e.length===0)return"";e=Array.from(new Set(e));let t=r.startsWith("--");t&&(r=r.slice(2),e=e.map(i=>i.slice(2)));let n=[],s=3,o=.4;return e.forEach(i=>{if(i.length<=1)return;let a=kl(r,i),c=Math.max(r.length,i.length);(c-a)/c>o&&(a<s?(s=a,n=[i]):a===s&&n.push(i))}),n.sort((i,a)=>i.localeCompare(a)),t&&(n=n.map(i=>`--${i}`)),n.length>1?`
131
- (Did you mean one of ${n.join(", ")}?)`:n.length===1?`
132
- (Did you mean ${n[0]}?)`:""}var Ks=Ie(()=>{});function Js(r){return r.map(e=>{if(!e.startsWith("--inspect"))return e;let t,n="127.0.0.1",s="9229",o;return(o=e.match(/^(--inspect(-brk)?)$/))!==null?t=o[1]:(o=e.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null?(t=o[1],/^\d+$/.test(o[3])?s=o[3]:n=o[3]):(o=e.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null&&(t=o[1],n=o[3],s=o[4]),t&&s!=="0"?`${t}=${n}:${parseInt(s)+1}`:e})}function Ys(){if(S.default.env.NO_COLOR||S.default.env.FORCE_COLOR==="0"||S.default.env.FORCE_COLOR==="false")return!1;if(S.default.env.FORCE_COLOR||S.default.env.CLICOLOR_FORCE!==void 0)return!0}var Xs,zt,ie,wt,S,Qs,et,eo=Ie(()=>{Xs=require("node:events"),zt=lt(require("node:child_process"),1),ie=lt(require("node:path"),1),wt=lt(require("node:fs"),1),S=lt(require("node:process"),1),Qs=require("node:util");Gt();xt();Zr();Lr();Ks();et=class r extends Xs.EventEmitter{constructor(e){super(),this.commands=[],this.options=[],this.parent=null,this._allowUnknownOption=!1,this._allowExcessArguments=!1,this.registeredArguments=[],this._args=this.registeredArguments,this.args=[],this.rawArgs=[],this.processedArgs=[],this._scriptPath=null,this._name=e||"",this._optionValues={},this._optionValueSources={},this._storeOptionsAsProperties=!1,this._actionHandler=null,this._executableHandler=!1,this._executableFile=null,this._executableDir=null,this._defaultCommandName=null,this._exitCallback=null,this._aliases=[],this._combineFlagAndOptionalValue=!0,this._description="",this._summary="",this._argsDescription=void 0,this._enablePositionalOptions=!1,this._passThroughOptions=!1,this._lifeCycleHooks={},this._showHelpAfterError=!1,this._showSuggestionAfterError=!0,this._savedState=null,this._outputConfiguration={writeOut:t=>S.default.stdout.write(t),writeErr:t=>S.default.stderr.write(t),outputError:(t,n)=>n(t),getOutHelpWidth:()=>S.default.stdout.isTTY?S.default.stdout.columns:void 0,getErrHelpWidth:()=>S.default.stderr.isTTY?S.default.stderr.columns:void 0,getOutHasColors:()=>Ys()??(S.default.stdout.isTTY&&S.default.stdout.hasColors?.()),getErrHasColors:()=>Ys()??(S.default.stderr.isTTY&&S.default.stderr.hasColors?.()),stripColor:t=>(0,Qs.stripVTControlCharacters)(t)},this._hidden=!1,this._helpOption=void 0,this._addImplicitHelpCommand=void 0,this._helpCommand=void 0,this._helpConfiguration={},this._helpGroupHeading=void 0,this._defaultCommandGroup=void 0,this._defaultOptionGroup=void 0}copyInheritedSettings(e){return this._outputConfiguration=e._outputConfiguration,this._helpOption=e._helpOption,this._helpCommand=e._helpCommand,this._helpConfiguration=e._helpConfiguration,this._exitCallback=e._exitCallback,this._storeOptionsAsProperties=e._storeOptionsAsProperties,this._combineFlagAndOptionalValue=e._combineFlagAndOptionalValue,this._allowExcessArguments=e._allowExcessArguments,this._enablePositionalOptions=e._enablePositionalOptions,this._showHelpAfterError=e._showHelpAfterError,this._showSuggestionAfterError=e._showSuggestionAfterError,this}_getCommandAndAncestors(){let e=[];for(let t=this;t;t=t.parent)e.push(t);return e}command(e,t,n){let s=t,o=n;typeof s=="object"&&s!==null&&(o=s,s=null),o=o||{};let[,i,a]=e.match(/([^ ]+) *(.*)/),c=this.createCommand(i);return s&&(c.description(s),c._executableHandler=!0),o.isDefault&&(this._defaultCommandName=c._name),c._hidden=!!(o.noHelp||o.hidden),c._executableFile=o.executableFile||null,a&&c.arguments(a),this._registerCommand(c),c.parent=this,c.copyInheritedSettings(this),s?this:c}createCommand(e){return new r(e)}createHelp(){return Object.assign(new Qe,this.configureHelp())}configureHelp(e){return e===void 0?this._helpConfiguration:(this._helpConfiguration=e,this)}configureOutput(e){return e===void 0?this._outputConfiguration:(this._outputConfiguration={...this._outputConfiguration,...e},this)}showHelpAfterError(e=!0){return typeof e!="string"&&(e=!!e),this._showHelpAfterError=e,this}showSuggestionAfterError(e=!0){return this._showSuggestionAfterError=!!e,this}addCommand(e,t){if(!e._name)throw new Error(`Command passed to .addCommand() must have a name
133
- - specify the name in Command constructor or using .name()`);return t=t||{},t.isDefault&&(this._defaultCommandName=e._name),(t.noHelp||t.hidden)&&(e._hidden=!0),this._registerCommand(e),e.parent=this,e._checkForBrokenPassThrough(),this}createArgument(e,t){return new Ee(e,t)}argument(e,t,n,s){let o=this.createArgument(e,t);return typeof n=="function"?o.default(s).argParser(n):o.default(n),this.addArgument(o),this}arguments(e){return e.trim().split(/ +/).forEach(t=>{this.argument(t)}),this}addArgument(e){let t=this.registeredArguments.slice(-1)[0];if(t?.variadic)throw new Error(`only the last argument can be variadic '${t.name()}'`);if(e.required&&e.defaultValue!==void 0&&e.parseArg===void 0)throw new Error(`a default value for a required argument is never used: '${e.name()}'`);return this.registeredArguments.push(e),this}helpCommand(e,t){if(typeof e=="boolean")return this._addImplicitHelpCommand=e,e&&this._defaultCommandGroup&&this._initCommandGroup(this._getHelpCommand()),this;let n=e??"help [command]",[,s,o]=n.match(/([^ ]+) *(.*)/),i=t??"display help for command",a=this.createCommand(s);return a.helpOption(!1),o&&a.arguments(o),i&&a.description(i),this._addImplicitHelpCommand=!0,this._helpCommand=a,(e||t)&&this._initCommandGroup(a),this}addHelpCommand(e,t){return typeof e!="object"?(this.helpCommand(e,t),this):(this._addImplicitHelpCommand=!0,this._helpCommand=e,this._initCommandGroup(e),this)}_getHelpCommand(){return this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"))?(this._helpCommand===void 0&&this.helpCommand(void 0,void 0),this._helpCommand):null}hook(e,t){let n=["preSubcommand","preAction","postAction"];if(!n.includes(e))throw new Error(`Unexpected value for event passed to hook : '${e}'.
134
- Expecting one of '${n.join("', '")}'`);return this._lifeCycleHooks[e]?this._lifeCycleHooks[e].push(t):this._lifeCycleHooks[e]=[t],this}exitOverride(e){return e?this._exitCallback=e:this._exitCallback=t=>{if(t.code!=="commander.executeSubCommandAsync")throw t},this}_exit(e,t,n){this._exitCallback&&this._exitCallback(new ue(e,t,n)),S.default.exit(e)}action(e){let t=n=>{let s=this.registeredArguments.length,o=n.slice(0,s);return this._storeOptionsAsProperties?o[s]=this:o[s]=this.opts(),o.push(this),e.apply(this,o)};return this._actionHandler=t,this}createOption(e,t){return new ye(e,t)}_callParseArg(e,t,n,s){try{return e.parseArg(t,n)}catch(o){if(o.code==="commander.invalidArgument"){let i=`${s} ${o.message}`;this.error(i,{exitCode:o.exitCode,code:o.code})}throw o}}_registerOption(e){let t=e.short&&this._findOption(e.short)||e.long&&this._findOption(e.long);if(t){let n=e.long&&this._findOption(e.long)?e.long:e.short;throw new Error(`Cannot add option '${e.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${n}'
135
- - already used by option '${t.flags}'`)}this._initOptionGroup(e),this.options.push(e)}_registerCommand(e){let t=s=>[s.name()].concat(s.aliases()),n=t(e).find(s=>this._findCommand(s));if(n){let s=t(this._findCommand(n)).join("|"),o=t(e).join("|");throw new Error(`cannot add command '${o}' as already have command '${s}'`)}this._initCommandGroup(e),this.commands.push(e)}addOption(e){this._registerOption(e);let t=e.name(),n=e.attributeName();e.defaultValue!==void 0&&this.setOptionValueWithSource(n,e.defaultValue,"default");let s=(o,i,a)=>{o==null&&e.presetArg!==void 0&&(o=e.presetArg);let c=this.getOptionValue(n);o!==null&&e.parseArg?o=this._callParseArg(e,o,c,i):o!==null&&e.variadic&&(o=e._collectValue(o,c)),o==null&&(e.negate?o=!1:e.isBoolean()||e.optional?o=!0:o=""),this.setOptionValueWithSource(n,o,a)};return this.on("option:"+t,o=>{let i=`error: option '${e.flags}' argument '${o}' is invalid.`;s(o,i,"cli")}),e.envVar&&this.on("optionEnv:"+t,o=>{let i=`error: option '${e.flags}' value '${o}' from env '${e.envVar}' is invalid.`;s(o,i,"env")}),this}_optionEx(e,t,n,s,o){if(typeof t=="object"&&t instanceof ye)throw new Error("To add an Option object use addOption() instead of option() or requiredOption()");let i=this.createOption(t,n);if(i.makeOptionMandatory(!!e.mandatory),typeof s=="function")i.default(o).argParser(s);else if(s instanceof RegExp){let a=s;s=(c,l)=>{let d=a.exec(c);return d?d[0]:l},i.default(o).argParser(s)}else i.default(s);return this.addOption(i)}option(e,t,n,s){return this._optionEx({},e,t,n,s)}requiredOption(e,t,n,s){return this._optionEx({mandatory:!0},e,t,n,s)}combineFlagAndOptionalValue(e=!0){return this._combineFlagAndOptionalValue=!!e,this}allowUnknownOption(e=!0){return this._allowUnknownOption=!!e,this}allowExcessArguments(e=!0){return this._allowExcessArguments=!!e,this}enablePositionalOptions(e=!0){return this._enablePositionalOptions=!!e,this}passThroughOptions(e=!0){return this._passThroughOptions=!!e,this._checkForBrokenPassThrough(),this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions)throw new Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}storeOptionsAsProperties(e=!0){if(this.options.length)throw new Error("call .storeOptionsAsProperties() before adding options");if(Object.keys(this._optionValues).length)throw new Error("call .storeOptionsAsProperties() before setting option values");return this._storeOptionsAsProperties=!!e,this}getOptionValue(e){return this._storeOptionsAsProperties?this[e]:this._optionValues[e]}setOptionValue(e,t){return this.setOptionValueWithSource(e,t,void 0)}setOptionValueWithSource(e,t,n){return this._storeOptionsAsProperties?this[e]=t:this._optionValues[e]=t,this._optionValueSources[e]=n,this}getOptionValueSource(e){return this._optionValueSources[e]}getOptionValueSourceWithGlobals(e){let t;return this._getCommandAndAncestors().forEach(n=>{n.getOptionValueSource(e)!==void 0&&(t=n.getOptionValueSource(e))}),t}_prepareUserArgs(e,t){if(e!==void 0&&!Array.isArray(e))throw new Error("first parameter to parse must be array or undefined");if(t=t||{},e===void 0&&t.from===void 0){S.default.versions?.electron&&(t.from="electron");let s=S.default.execArgv??[];(s.includes("-e")||s.includes("--eval")||s.includes("-p")||s.includes("--print"))&&(t.from="eval")}e===void 0&&(e=S.default.argv),this.rawArgs=e.slice();let n;switch(t.from){case void 0:case"node":this._scriptPath=e[1],n=e.slice(2);break;case"electron":S.default.defaultApp?(this._scriptPath=e[1],n=e.slice(2)):n=e.slice(1);break;case"user":n=e.slice(0);break;case"eval":n=e.slice(1);break;default:throw new Error(`unexpected parse option { from: '${t.from}' }`)}return!this._name&&this._scriptPath&&this.nameFromFilename(this._scriptPath),this._name=this._name||"program",n}parse(e,t){this._prepareForParse();let n=this._prepareUserArgs(e,t);return this._parseCommand([],n),this}async parseAsync(e,t){this._prepareForParse();let n=this._prepareUserArgs(e,t);return await this._parseCommand([],n),this}_prepareForParse(){this._savedState===null?(this.options.filter(e=>e.negate&&e.defaultValue===void 0&&this.getOptionValue(e.attributeName())===void 0).forEach(e=>{let t=e.long.replace(/^--no-/,"--");this._findOption(t)||this.setOptionValueWithSource(e.attributeName(),!0,"default")}),this.saveStateBeforeParse()):this.restoreStateBeforeParse()}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw new Error(`Can not call parse again when storeOptionsAsProperties is true.
136
- - either make a new Command for each call to parse, or stop storing options as properties`);this._name=this._savedState._name,this._scriptPath=null,this.rawArgs=[],this._optionValues={...this._savedState._optionValues},this._optionValueSources={...this._savedState._optionValueSources},this.args=[],this.processedArgs=[]}_checkForMissingExecutable(e,t,n){if(wt.default.existsSync(e))return;let s=t?`searched for local subcommand relative to directory '${t}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",o=`'${e}' does not exist
137
- - if '${n}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead
138
- - if the default executable name is not suitable, use the executableFile option to supply a custom name or path
139
- - ${s}`;throw new Error(o)}_executeSubCommand(e,t){t=t.slice();let n=[".js",".ts",".tsx",".mjs",".cjs"];function s(d,u){let h=ie.default.resolve(d,u);if(wt.default.existsSync(h))return h;if(n.includes(ie.default.extname(u)))return;let _=n.find(v=>wt.default.existsSync(`${h}${v}`));if(_)return`${h}${_}`}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let o=e._executableFile||`${this._name}-${e._name}`,i=this._executableDir||"";if(this._scriptPath){let d;try{d=wt.default.realpathSync(this._scriptPath)}catch{d=this._scriptPath}i=ie.default.resolve(ie.default.dirname(d),i)}if(i){let d=s(i,o);if(!d&&!e._executableFile&&this._scriptPath){let u=ie.default.basename(this._scriptPath,ie.default.extname(this._scriptPath));u!==this._name&&(d=s(i,`${u}-${e._name}`))}o=d||o}let a=n.includes(ie.default.extname(o)),c;S.default.platform!=="win32"?a?(t.unshift(o),t=Js(S.default.execArgv).concat(t),c=zt.default.spawn(S.default.argv[0],t,{stdio:"inherit"})):c=zt.default.spawn(o,t,{stdio:"inherit"}):(this._checkForMissingExecutable(o,i,e._name),t.unshift(o),t=Js(S.default.execArgv).concat(t),c=zt.default.spawn(S.default.execPath,t,{stdio:"inherit"})),c.killed||["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach(u=>{S.default.on(u,()=>{c.killed===!1&&c.exitCode===null&&c.kill(u)})});let l=this._exitCallback;c.on("close",d=>{d=d??1,l?l(new ue(d,"commander.executeSubCommandAsync","(close)")):S.default.exit(d)}),c.on("error",d=>{if(d.code==="ENOENT")this._checkForMissingExecutable(o,i,e._name);else if(d.code==="EACCES")throw new Error(`'${o}' not executable`);if(!l)S.default.exit(1);else{let u=new ue(1,"commander.executeSubCommandAsync","(error)");u.nestedError=d,l(u)}}),this.runningCommand=c}_dispatchSubcommand(e,t,n){let s=this._findCommand(e);s||this.help({error:!0}),s._prepareForParse();let o;return o=this._chainOrCallSubCommandHook(o,s,"preSubcommand"),o=this._chainOrCall(o,()=>{if(s._executableHandler)this._executeSubCommand(s,t.concat(n));else return s._parseCommand(t,n)}),o}_dispatchHelpCommand(e){e||this.help();let t=this._findCommand(e);return t&&!t._executableHandler&&t.help(),this._dispatchSubcommand(e,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){this.registeredArguments.forEach((e,t)=>{e.required&&this.args[t]==null&&this.missingArgument(e.name())}),!(this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)&&this.args.length>this.registeredArguments.length&&this._excessArguments(this.args)}_processArguments(){let e=(n,s,o)=>{let i=s;if(s!==null&&n.parseArg){let a=`error: command-argument value '${s}' is invalid for argument '${n.name()}'.`;i=this._callParseArg(n,s,o,a)}return i};this._checkNumberOfArguments();let t=[];this.registeredArguments.forEach((n,s)=>{let o=n.defaultValue;n.variadic?s<this.args.length?(o=this.args.slice(s),n.parseArg&&(o=o.reduce((i,a)=>e(n,a,i),n.defaultValue))):o===void 0&&(o=[]):s<this.args.length&&(o=this.args[s],n.parseArg&&(o=e(n,o,n.defaultValue))),t[s]=o}),this.processedArgs=t}_chainOrCall(e,t){return e?.then&&typeof e.then=="function"?e.then(()=>t()):t()}_chainOrCallHooks(e,t){let n=e,s=[];return this._getCommandAndAncestors().reverse().filter(o=>o._lifeCycleHooks[t]!==void 0).forEach(o=>{o._lifeCycleHooks[t].forEach(i=>{s.push({hookedCommand:o,callback:i})})}),t==="postAction"&&s.reverse(),s.forEach(o=>{n=this._chainOrCall(n,()=>o.callback(o.hookedCommand,this))}),n}_chainOrCallSubCommandHook(e,t,n){let s=e;return this._lifeCycleHooks[n]!==void 0&&this._lifeCycleHooks[n].forEach(o=>{s=this._chainOrCall(s,()=>o(this,t))}),s}_parseCommand(e,t){let n=this.parseOptions(t);if(this._parseOptionsEnv(),this._parseOptionsImplied(),e=e.concat(n.operands),t=n.unknown,this.args=e.concat(t),e&&this._findCommand(e[0]))return this._dispatchSubcommand(e[0],e.slice(1),t);if(this._getHelpCommand()&&e[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(e[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(t),this._dispatchSubcommand(this._defaultCommandName,e,t);this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName&&this.help({error:!0}),this._outputHelpIfRequested(n.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let s=()=>{n.unknown.length>0&&this.unknownOption(n.unknown[0])},o=`command:${this.name()}`;if(this._actionHandler){s(),this._processArguments();let i;return i=this._chainOrCallHooks(i,"preAction"),i=this._chainOrCall(i,()=>this._actionHandler(this.processedArgs)),this.parent&&(i=this._chainOrCall(i,()=>{this.parent.emit(o,e,t)})),i=this._chainOrCallHooks(i,"postAction"),i}if(this.parent?.listenerCount(o))s(),this._processArguments(),this.parent.emit(o,e,t);else if(e.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",e,t);this.listenerCount("command:*")?this.emit("command:*",e,t):this.commands.length?this.unknownCommand():(s(),this._processArguments())}else this.commands.length?(s(),this.help({error:!0})):(s(),this._processArguments())}_findCommand(e){if(e)return this.commands.find(t=>t._name===e||t._aliases.includes(e))}_findOption(e){return this.options.find(t=>t.is(e))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach(e=>{e.options.forEach(t=>{t.mandatory&&e.getOptionValue(t.attributeName())===void 0&&e.missingMandatoryOptionValue(t)})})}_checkForConflictingLocalOptions(){let e=this.options.filter(n=>{let s=n.attributeName();return this.getOptionValue(s)===void 0?!1:this.getOptionValueSource(s)!=="default"});e.filter(n=>n.conflictsWith.length>0).forEach(n=>{let s=e.find(o=>n.conflictsWith.includes(o.attributeName()));s&&this._conflictingOption(n,s)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach(e=>{e._checkForConflictingLocalOptions()})}parseOptions(e){let t=[],n=[],s=t;function o(d){return d.length>1&&d[0]==="-"}let i=d=>/^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(d)?!this._getCommandAndAncestors().some(u=>u.options.map(h=>h.short).some(h=>/^-\d$/.test(h))):!1,a=null,c=null,l=0;for(;l<e.length||c;){let d=c??e[l++];if(c=null,d==="--"){s===n&&s.push(d),s.push(...e.slice(l));break}if(a&&(!o(d)||i(d))){this.emit(`option:${a.name()}`,d);continue}if(a=null,o(d)){let u=this._findOption(d);if(u){if(u.required){let h=e[l++];h===void 0&&this.optionMissingArgument(u),this.emit(`option:${u.name()}`,h)}else if(u.optional){let h=null;l<e.length&&(!o(e[l])||i(e[l]))&&(h=e[l++]),this.emit(`option:${u.name()}`,h)}else this.emit(`option:${u.name()}`);a=u.variadic?u:null;continue}}if(d.length>2&&d[0]==="-"&&d[1]!=="-"){let u=this._findOption(`-${d[1]}`);if(u){u.required||u.optional&&this._combineFlagAndOptionalValue?this.emit(`option:${u.name()}`,d.slice(2)):(this.emit(`option:${u.name()}`),c=`-${d.slice(2)}`);continue}}if(/^--[^=]+=/.test(d)){let u=d.indexOf("="),h=this._findOption(d.slice(0,u));if(h&&(h.required||h.optional)){this.emit(`option:${h.name()}`,d.slice(u+1));continue}}if(s===t&&o(d)&&!(this.commands.length===0&&i(d))&&(s=n),(this._enablePositionalOptions||this._passThroughOptions)&&t.length===0&&n.length===0){if(this._findCommand(d)){t.push(d),n.push(...e.slice(l));break}else if(this._getHelpCommand()&&d===this._getHelpCommand().name()){t.push(d,...e.slice(l));break}else if(this._defaultCommandName){n.push(d,...e.slice(l));break}}if(this._passThroughOptions){s.push(d,...e.slice(l));break}s.push(d)}return{operands:t,unknown:n}}opts(){if(this._storeOptionsAsProperties){let e={},t=this.options.length;for(let n=0;n<t;n++){let s=this.options[n].attributeName();e[s]=s===this._versionOptionName?this._version:this[s]}return e}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((e,t)=>Object.assign(e,t.opts()),{})}error(e,t){this._outputConfiguration.outputError(`${e}
140
- `,this._outputConfiguration.writeErr),typeof this._showHelpAfterError=="string"?this._outputConfiguration.writeErr(`${this._showHelpAfterError}
141
- `):this._showHelpAfterError&&(this._outputConfiguration.writeErr(`
142
- `),this.outputHelp({error:!0}));let n=t||{},s=n.exitCode||1,o=n.code||"commander.error";this._exit(s,o,e)}_parseOptionsEnv(){this.options.forEach(e=>{if(e.envVar&&e.envVar in S.default.env){let t=e.attributeName();(this.getOptionValue(t)===void 0||["default","config","env"].includes(this.getOptionValueSource(t)))&&(e.required||e.optional?this.emit(`optionEnv:${e.name()}`,S.default.env[e.envVar]):this.emit(`optionEnv:${e.name()}`))}})}_parseOptionsImplied(){let e=new Ht(this.options),t=n=>this.getOptionValue(n)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(n));this.options.filter(n=>n.implied!==void 0&&t(n.attributeName())&&e.valueFromOption(this.getOptionValue(n.attributeName()),n)).forEach(n=>{Object.keys(n.implied).filter(s=>!t(s)).forEach(s=>{this.setOptionValueWithSource(s,n.implied[s],"implied")})})}missingArgument(e){let t=`error: missing required argument '${e}'`;this.error(t,{code:"commander.missingArgument"})}optionMissingArgument(e){let t=`error: option '${e.flags}' argument missing`;this.error(t,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(e){let t=`error: required option '${e.flags}' not specified`;this.error(t,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(e,t){let n=i=>{let a=i.attributeName(),c=this.getOptionValue(a),l=this.options.find(u=>u.negate&&a===u.attributeName()),d=this.options.find(u=>!u.negate&&a===u.attributeName());return l&&(l.presetArg===void 0&&c===!1||l.presetArg!==void 0&&c===l.presetArg)?l:d||i},s=i=>{let a=n(i),c=a.attributeName();return this.getOptionValueSource(c)==="env"?`environment variable '${a.envVar}'`:`option '${a.flags}'`},o=`error: ${s(e)} cannot be used with ${s(t)}`;this.error(o,{code:"commander.conflictingOption"})}unknownOption(e){if(this._allowUnknownOption)return;let t="";if(e.startsWith("--")&&this._showSuggestionAfterError){let s=[],o=this;do{let i=o.createHelp().visibleOptions(o).filter(a=>a.long).map(a=>a.long);s=s.concat(i),o=o.parent}while(o&&!o._enablePositionalOptions);t=Mr(e,s)}let n=`error: unknown option '${e}'${t}`;this.error(n,{code:"commander.unknownOption"})}_excessArguments(e){if(this._allowExcessArguments)return;let t=this.registeredArguments.length,n=t===1?"":"s",s=e.length,o=this.parent?` for '${this.name()}'`:"",i=e.join(", "),a=`error: too many arguments${o}. Expected ${t} argument${n} but got ${s}: ${i}.`;this.error(a,{code:"commander.excessArguments"})}unknownCommand(){let e=this.args[0],t="";if(this._showSuggestionAfterError){let s=[];this.createHelp().visibleCommands(this).forEach(o=>{s.push(o.name()),o.alias()&&s.push(o.alias())}),t=Mr(e,s)}let n=`error: unknown command '${e}'${t}`;this.error(n,{code:"commander.unknownCommand"})}version(e,t,n){if(e===void 0)return this._version;this._version=e,t=t||"-V, --version",n=n||"output the version number";let s=this.createOption(t,n);return this._versionOptionName=s.attributeName(),this._registerOption(s),this.on("option:"+s.name(),()=>{this._outputConfiguration.writeOut(`${e}
143
- `),this._exit(0,"commander.version",e)}),this}description(e,t){return e===void 0&&t===void 0?this._description:(this._description=e,t&&(this._argsDescription=t),this)}summary(e){return e===void 0?this._summary:(this._summary=e,this)}alias(e){if(e===void 0)return this._aliases[0];let t=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler&&(t=this.commands[this.commands.length-1]),e===t._name)throw new Error("Command alias can't be the same as its name");let n=this.parent?._findCommand(e);if(n){let s=[n.name()].concat(n.aliases()).join("|");throw new Error(`cannot add alias '${e}' to command '${this.name()}' as already have command '${s}'`)}return t._aliases.push(e),this}aliases(e){return e===void 0?this._aliases:(e.forEach(t=>this.alias(t)),this)}usage(e){if(e===void 0){if(this._usage)return this._usage;let t=this.registeredArguments.map(n=>Ft(n));return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?t:[]).join(" ")}return this._usage=e,this}name(e){return e===void 0?this._name:(this._name=e,this)}helpGroup(e){return e===void 0?this._helpGroupHeading??"":(this._helpGroupHeading=e,this)}commandsGroup(e){return e===void 0?this._defaultCommandGroup??"":(this._defaultCommandGroup=e,this)}optionsGroup(e){return e===void 0?this._defaultOptionGroup??"":(this._defaultOptionGroup=e,this)}_initOptionGroup(e){this._defaultOptionGroup&&!e.helpGroupHeading&&e.helpGroup(this._defaultOptionGroup)}_initCommandGroup(e){this._defaultCommandGroup&&!e.helpGroup()&&e.helpGroup(this._defaultCommandGroup)}nameFromFilename(e){return this._name=ie.default.basename(e,ie.default.extname(e)),this}executableDir(e){return e===void 0?this._executableDir:(this._executableDir=e,this)}helpInformation(e){let t=this.createHelp(),n=this._getOutputContext(e);t.prepareContext({error:n.error,helpWidth:n.helpWidth,outputHasColors:n.hasColors});let s=t.formatHelp(this,t);return n.hasColors?s:this._outputConfiguration.stripColor(s)}_getOutputContext(e){e=e||{};let t=!!e.error,n,s,o;return t?(n=a=>this._outputConfiguration.writeErr(a),s=this._outputConfiguration.getErrHasColors(),o=this._outputConfiguration.getErrHelpWidth()):(n=a=>this._outputConfiguration.writeOut(a),s=this._outputConfiguration.getOutHasColors(),o=this._outputConfiguration.getOutHelpWidth()),{error:t,write:a=>(s||(a=this._outputConfiguration.stripColor(a)),n(a)),hasColors:s,helpWidth:o}}outputHelp(e){let t;typeof e=="function"&&(t=e,e=void 0);let n=this._getOutputContext(e),s={error:n.error,write:n.write,command:this};this._getCommandAndAncestors().reverse().forEach(i=>i.emit("beforeAllHelp",s)),this.emit("beforeHelp",s);let o=this.helpInformation({error:n.error});if(t&&(o=t(o),typeof o!="string"&&!Buffer.isBuffer(o)))throw new Error("outputHelp callback must return a string or a Buffer");n.write(o),this._getHelpOption()?.long&&this.emit(this._getHelpOption().long),this.emit("afterHelp",s),this._getCommandAndAncestors().forEach(i=>i.emit("afterAllHelp",s))}helpOption(e,t){return typeof e=="boolean"?(e?(this._helpOption===null&&(this._helpOption=void 0),this._defaultOptionGroup&&this._initOptionGroup(this._getHelpOption())):this._helpOption=null,this):(this._helpOption=this.createOption(e??"-h, --help",t??"display help for command"),(e||t)&&this._initOptionGroup(this._helpOption),this)}_getHelpOption(){return this._helpOption===void 0&&this.helpOption(void 0,void 0),this._helpOption}addHelpOption(e){return this._helpOption=e,this._initOptionGroup(e),this}help(e){this.outputHelp(e);let t=Number(S.default.exitCode??0);t===0&&e&&typeof e!="function"&&e.error&&(t=1),this._exit(t,"commander.help","(outputHelp)")}addHelpText(e,t){let n=["beforeAll","before","after","afterAll"];if(!n.includes(e))throw new Error(`Unexpected value for position to addHelpText.
144
- Expecting one of '${n.join("', '")}'`);let s=`${e}Help`;return this.on(s,o=>{let i;typeof t=="function"?i=t({error:o.error,command:o.command}):i=t,i&&o.write(`${i}
145
- `)}),this}_outputHelpIfRequested(e){let t=this._getHelpOption();t&&e.find(s=>t.is(s))&&(this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)"))}}});var to={};Pi(to,{Argument:()=>Ee,Command:()=>et,CommanderError:()=>ue,Help:()=>Qe,InvalidArgumentError:()=>ge,InvalidOptionArgumentError:()=>ge,Option:()=>ye,createArgument:()=>Sl,createCommand:()=>Ol,createOption:()=>$l,program:()=>vl});var vl,Ol,$l,Sl,ro=Ie(()=>{Gt();eo();xt();Zr();Lr();vl=new et,Ol=r=>new et(r),$l=(r,e)=>new ye(r,e),Sl=(r,e)=>new Ee(r,e)});var oo=b((up,so)=>{var{AGENTS:no,AGENT_NAMES:Ct,isAgentName:Al,launchAgent:El}=Pt(),Tl=new Set(["--help","-h","help"]);function Dl(r){if(r.isJson){r.emit({usage:"coder agent <name> [args...]",agents:Ct.map(n=>({name:n,description:no[n].description}))});return}let e=["Usage: coder agent <name> [args...]","","Agents:"],t=Math.max(...Ct.map(n=>n.length));for(let n of Ct)e.push(` ${n.padEnd(t)} ${no[n].description}`);e.push("","\u63D0\u793A\uFF1A<name> \u4E4B\u540E\u7684\u53C2\u6570\u539F\u6837\u900F\u4F20\u7ED9\u5BF9\u5E94 agent\uFF08\u542B\u5176 --help\uFF09\u3002"),r.emit(e.join(`
146
- `))}function Pl(r,e){r.command("agent <name> [args...]").description(`\u8FD0\u884C\u4E00\u4E2A AI \u667A\u80FD\u4F53\uFF08${Ct.join(" | ")}\uFF09`).allowUnknownOption().passThroughOptions().helpOption(!1).action(async(t,n)=>{if(Tl.has(t)){Dl(e);return}if(!Al(t)){e.fail(`unknown agent: ${t}`,`available: ${Ct.join(" | ")}`),process.exitCode=1;return}process.exitCode=await El(t,n||[],e)||0})}so.exports={register:Pl}});var ao=b((mp,io)=>{var Ul=require("http"),Vr=class{constructor(e={}){this.port=e.port||9380,this.timeout=e.timeout||300*1e3,this.server=null,this.timeoutId=null}validateTokenFormat(e){if(!e||typeof e!="string")return!1;let t=e.split(".");if(t.length!==2)return!1;let[n,s]=t;return n&&n.length>0&&s&&s.length>0}async waitForCallback(e){return new Promise((t,n)=>{let s=!1;this.server=Ul.createServer((o,i)=>{let a=new URL(o.url,`http://localhost:${this.port}`);if(a.pathname==="/callback"){let c=a.searchParams.get("token"),l=a.searchParams.get("state"),d=a.searchParams.get("error");if(d){i.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),i.end(`
116
+ ${Vc}
117
+ `;return At.appendFileSync(t,n,"utf8"),!0}function Gc(t,e){let r=e||Ir(),n=xr(r);return n?(process.stdout.write(n),0):(t.fail(`unsupported shell: ${r}`,`\u652F\u6301: ${Et.join(" | ")}`),1)}function zc(t,e){let r=e||Ir(),n=xr(r),s=Bc(r);if(!n||!s)return t.fail(`unsupported shell: ${r}`,`\u652F\u6301: ${Et.join(" | ")}`),1;try{At.mkdirSync(s.dir,{recursive:!0}),At.writeFileSync(s.file,n,"utf8")}catch(a){return t.fail(`\u65E0\u6CD5\u5199\u5165\u8865\u5168\u811A\u672C: ${a.message}`,`\u68C0\u67E5\u76EE\u5F55\u6743\u9650: ${s.dir}`),1}let o=[];if(s.rcs.length===0)return t.emit([`\u5DF2\u4E3A ${r} \u5B89\u88C5\u8865\u5168: ${s.file}`,"fish \u4F1A\u81EA\u52A8\u52A0\u8F7D\u8BE5\u76EE\u5F55\uFF0C\u65B0\u5F00\u4E00\u4E2A\u7EC8\u7AEF\u5373\u53EF\u751F\u6548\u3002"].join(`
118
+ `)),0;for(let a of s.rcs)try{Fc(a,s.sourceLine)&&o.push(a)}catch(c){return t.fail(`\u65E0\u6CD5\u66F4\u65B0 ${a}: ${c.message}`,"\u53EF\u6539\u7528 --show-completion \u624B\u52A8\u5B89\u88C5"),1}let i=[`\u5DF2\u4E3A ${r} \u5B89\u88C5\u8865\u5168: ${s.file}`];return o.length?i.push(`\u5DF2\u5728\u4EE5\u4E0B\u6587\u4EF6\u8FFD\u52A0 source: ${o.join(", ")}`):i.push("rc \u4E2D\u5DF2\u5B58\u5728 coder \u8865\u5168\u5757\uFF0C\u672A\u91CD\u590D\u8FFD\u52A0\u3002"),i.push("\u91CD\u5F00\u7EC8\u7AEF\uFF0C\u6216\u8FD0\u884C: "+s.sourceLine.split(`
119
+ `).pop()),t.emit(i.join(`
120
+ `)),0}Cs.exports={detectShell:Ir,scriptFor:xr,showCompletion:Gc,installCompletion:zc,SUPPORTED:Et}});var As=b((lm,Ts)=>{var{AGENTS:Ss,AGENT_NAMES:lt,isAgentName:Kc,launchAgent:Jc}=It(),Hc=new Set(["--help","-h","help"]);function Wc(t){if(t.isJson){t.emit({usage:"coder agent <name> [args...]",agents:lt.map(n=>({name:n,description:Ss[n].description}))});return}let e=["Usage: coder agent <name> [args...]","","Agents:"],r=Math.max(...lt.map(n=>n.length));for(let n of lt)e.push(` ${n.padEnd(r)} ${Ss[n].description}`);e.push("","\u63D0\u793A\uFF1A<name> \u4E4B\u540E\u7684\u53C2\u6570\u539F\u6837\u900F\u4F20\u7ED9\u5BF9\u5E94 agent\uFF08\u542B\u5176 --help\uFF09\u3002"),t.emit(e.join(`
121
+ `))}function Yc(t,e){t.command("agent <name> [args...]").description(`\u8FD0\u884C\u4E00\u4E2A AI \u667A\u80FD\u4F53\uFF08${lt.join(" | ")}\uFF09`).allowUnknownOption().passThroughOptions().helpOption(!1).action(async(r,n)=>{if(Hc.has(r)){Wc(e);return}if(!Kc(r)){e.fail(`unknown agent: ${r}`,`available: ${lt.join(" | ")}`),process.exitCode=1;return}process.exitCode=await Jc(r,n||[],e)||0})}Ts.exports={register:Yc}});var Os=b((um,Es)=>{var Xc=require("http"),kr=class{constructor(e={}){this.port=e.port||9380,this.timeout=e.timeout||300*1e3,this.server=null,this.timeoutId=null}validateTokenFormat(e){if(!e||typeof e!="string")return!1;let r=e.split(".");if(r.length!==2)return!1;let[n,s]=r;return n&&n.length>0&&s&&s.length>0}async waitForCallback(e){return new Promise((r,n)=>{let s=!1;this.server=Xc.createServer((o,i)=>{let a=new URL(o.url,`http://localhost:${this.port}`);if(a.pathname==="/callback"){let c=a.searchParams.get("token"),d=a.searchParams.get("state"),l=a.searchParams.get("error");if(l){i.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),i.end(`
147
122
  <!DOCTYPE html>
148
123
  <html>
149
124
  <head>
@@ -164,11 +139,11 @@ Expecting one of '${n.join("', '")}'`);let s=`${e}Help`;return this.on(s,o=>{let
164
139
  <div class="icon">\u274C</div>
165
140
  <h1>\u767B\u5F55\u5931\u8D25</h1>
166
141
  <p>\u6388\u6743\u8FC7\u7A0B\u4E2D\u51FA\u73B0\u9519\u8BEF\uFF0C\u8BF7\u8FD4\u56DE\u7EC8\u7AEF\u91CD\u8BD5\u3002</p>
167
- <p class="code">\u9519\u8BEF: ${d}</p>
142
+ <p class="code">\u9519\u8BEF: ${l}</p>
168
143
  </div>
169
144
  </body>
170
145
  </html>
171
- `),s||(s=!0,this.cleanup(),n(new Error(`OAuth error: ${d}`)));return}if(l!==e){i.writeHead(400,{"Content-Type":"text/html; charset=utf-8"}),i.end(`
146
+ `),s||(s=!0,this.cleanup(),n(new Error(`OAuth error: ${l}`)));return}if(d!==e){i.writeHead(400,{"Content-Type":"text/html; charset=utf-8"}),i.end(`
172
147
  <!DOCTYPE html>
173
148
  <html>
174
149
  <head>
@@ -236,7 +211,7 @@ Expecting one of '${n.join("', '")}'`);let s=`${e}Help`;return this.on(s,o=>{let
236
211
  </div>
237
212
  </body>
238
213
  </html>
239
- `),s||(s=!0,this.cleanup(),n(new Error("Invalid token format - expected ak.sk format")));return}let[u,h]=c.split(".");i.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),i.end(`
214
+ `),s||(s=!0,this.cleanup(),n(new Error("Invalid token format - expected ak.sk format")));return}let[p,g]=c.split(".");i.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),i.end(`
240
215
  <!DOCTYPE html>
241
216
  <html>
242
217
  <head>
@@ -268,27 +243,27 @@ Expecting one of '${n.join("', '")}'`);let s=`${e}Help`;return this.on(s,o=>{let
268
243
  </script>
269
244
  </body>
270
245
  </html>
271
- `),s||(s=!0,this.cleanup(),t({ak:u,sk:h}))}else i.writeHead(404,{"Content-Type":"text/plain"}),i.end("Not Found")}),this.server.on("error",o=>{if(o.code==="EADDRINUSE"){if(this.port++,this.port>9390){s||(s=!0,n(new Error("Could not find available port for OAuth callback server")));return}this.server.close(),this.server.listen(this.port)}else s||(s=!0,this.cleanup(),n(o))}),this.server.listen(this.port,()=>{process.env.CODER_DEBUG&&console.log(`OAuth callback server listening on port ${this.port}`)}),this.timeoutId=setTimeout(()=>{s||(s=!0,this.cleanup(),n(new Error("OAuth login timeout - no response received within 5 minutes")))},this.timeout)})}getCallbackUrl(){return`http://localhost:${this.port}/callback`}cleanup(){this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=null),this.server&&(this.server.close(),this.server=null)}};io.exports=Vr});var lo=b((pp,co)=>{var jl=require("crypto"),Nl=ao(),Br=class{constructor(e={}){this.baseUrl=e.baseUrl||"https://makecoder.com",this.callbackServer=null}generateState(){return jl.randomBytes(16).toString("hex")}buildAuthorizationUrl(e,t){let n=new URLSearchParams({redirect_uri:e,state:t,response_type:"token"});return`${this.baseUrl}/oauth/authorize?${n.toString()}`}async startOAuthFlow(){let e=this.generateState();this.callbackServer=new Nl;let t=this.callbackServer.getCallbackUrl(),n=this.buildAuthorizationUrl(t,e),s=!1;try{let i=(await import("open")).default;await i(n),s=!0}catch(i){process.env.CODER_DEBUG&&console.error("Browser open error:",i)}let o=this.callbackServer.waitForCallback(e);return{authUrl:n,waitPromise:o,browserOpened:s}}async login(){try{let{authUrl:e,waitPromise:t,browserOpened:n}=await this.startOAuthFlow();console.log(`
246
+ `),s||(s=!0,this.cleanup(),r({ak:p,sk:g}))}else i.writeHead(404,{"Content-Type":"text/plain"}),i.end("Not Found")}),this.server.on("error",o=>{if(o.code==="EADDRINUSE"){if(this.port++,this.port>9390){s||(s=!0,n(new Error("Could not find available port for OAuth callback server")));return}this.server.close(),this.server.listen(this.port)}else s||(s=!0,this.cleanup(),n(o))}),this.server.listen(this.port,()=>{process.env.CODER_DEBUG&&console.log(`OAuth callback server listening on port ${this.port}`)}),this.timeoutId=setTimeout(()=>{s||(s=!0,this.cleanup(),n(new Error("OAuth login timeout - no response received within 5 minutes")))},this.timeout)})}getCallbackUrl(){return`http://localhost:${this.port}/callback`}cleanup(){this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=null),this.server&&(this.server.close(),this.server=null)}};Es.exports=kr});var Ps=b((mm,Ds)=>{var Qc=require("crypto"),ed=Os(),wr=class{constructor(e={}){this.baseUrl=e.baseUrl||"https://makecoder.com",this.callbackServer=null}generateState(){return Qc.randomBytes(16).toString("hex")}buildAuthorizationUrl(e,r){let n=new URLSearchParams({redirect_uri:e,state:r,response_type:"token"});return`${this.baseUrl}/oauth/authorize?${n.toString()}`}async startOAuthFlow(){let e=this.generateState();this.callbackServer=new ed;let r=this.callbackServer.getCallbackUrl(),n=this.buildAuthorizationUrl(r,e),s=!1;try{let i=(await import("open")).default;await i(n),s=!0}catch(i){process.env.CODER_DEBUG&&console.error("Browser open error:",i)}let o=this.callbackServer.waitForCallback(e);return{authUrl:n,waitPromise:o,browserOpened:s}}async login(){try{let{authUrl:e,waitPromise:r,browserOpened:n}=await this.startOAuthFlow();console.log(`
272
247
  \u{1F510} \u5F00\u59CB OAuth \u767B\u5F55\u6D41\u7A0B...
273
248
  `),console.log(`\u{1F4CB} \u8BF7\u5728\u6D4F\u89C8\u5668\u4E2D\u5B8C\u6210\u767B\u5F55
274
249
  `),console.log(`\u{1F310} \u6388\u6743\u5730\u5740: ${e}
275
250
  `),console.log(`\u23F3 \u7B49\u5F85\u60A8\u7684\u6388\u6743...(\u8D85\u65F6\u65F6\u95F4: 5\u5206\u949F)
276
- `),n||console.warn("\u26A0\uFE0F \u65E0\u6CD5\u81EA\u52A8\u6253\u5F00\u6D4F\u89C8\u5668,\u8BF7\u624B\u52A8\u590D\u5236\u4E0A\u8FF0\u94FE\u63A5\u5230\u6D4F\u89C8\u5668\u6253\u5F00");let s=await t;return console.log(`\u2705 API Key \u83B7\u53D6\u6210\u529F!
251
+ `),n||console.warn("\u26A0\uFE0F \u65E0\u6CD5\u81EA\u52A8\u6253\u5F00\u6D4F\u89C8\u5668,\u8BF7\u624B\u52A8\u590D\u5236\u4E0A\u8FF0\u94FE\u63A5\u5230\u6D4F\u89C8\u5668\u6253\u5F00");let s=await r;return console.log(`\u2705 API Key \u83B7\u53D6\u6210\u529F!
277
252
  `),s}catch(e){throw console.error(`
278
253
  \u274C OAuth \u767B\u5F55\u5931\u8D25: ${e.message}
279
- `),e}finally{this.callbackServer&&this.callbackServer.cleanup()}}cleanup(){this.callbackServer&&this.callbackServer.cleanup()}};co.exports=Br});var po=b((hp,mo)=>{var uo=require("readline"),Rl=lo(),Fr=class{constructor(e){this.argParser=e}async handle(e){let{authSubcommand:t,authRemainingArgs:n=[],coderBaseUrl:s}=e;if(t==="--help"||t===void 0)return this.showHelp(),0;switch(t){case"login":return await this.handleLogin(n,s);case"logout":return this.logout();case"status":return await this.status();default:return this.showHelp(),1}}async handleLogin(e,t){let n=null;for(let s=0;s<e.length;s++)if(e[s]==="--apikey"){n=e[s+1]||null;break}return n?this.loginWithApiKey(n):await this.dualLogin(t)}loginWithApiKey(e){let t=e.indexOf(".");if(t<=0||t===e.length-1)return console.error("\u274C API Key \u683C\u5F0F\u9519\u8BEF\uFF0C\u5E94\u4E3A <ak>.<sk> \u683C\u5F0F"),1;let n=e.substring(0,t).trim(),s=e.substring(t+1).trim();return!n||!s?(console.error("\u274C API Key \u683C\u5F0F\u9519\u8BEF\uFF0C\u5E94\u4E3A <ak>.<sk> \u683C\u5F0F"),1):this.argParser.saveAuthToConfig(e.trim())?(console.log(`\u2705 API Key \u5DF2\u4FDD\u5B58\u5230 ${this.argParser.configPath}`),0):(console.error("\u274C \u4FDD\u5B58\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u6587\u4EF6\u6743\u9650"),1)}async dualLogin(e){let t=new Rl({baseUrl:"https://makecoder.com"}),n,s,o;try{({authUrl:n,waitPromise:s,browserOpened:o}=await t.startOAuthFlow())}catch(l){return console.error(`\u274C \u542F\u52A8\u767B\u5F55\u6D41\u7A0B\u5931\u8D25: ${l.message}`),console.log(`
254
+ `),e}finally{this.callbackServer&&this.callbackServer.cleanup()}}cleanup(){this.callbackServer&&this.callbackServer.cleanup()}};Ds.exports=wr});var Ns=b((pm,js)=>{var Us=require("readline"),td=Ps(),vr=class{constructor(e){this.argParser=e}async handle(e){let{authSubcommand:r,authRemainingArgs:n=[],coderBaseUrl:s}=e;if(r==="--help"||r===void 0)return this.showHelp(),0;switch(r){case"login":return await this.handleLogin(n,s);case"logout":return this.logout();case"status":return await this.status();default:return this.showHelp(),1}}async handleLogin(e,r){let n=null;for(let s=0;s<e.length;s++)if(e[s]==="--apikey"){n=e[s+1]||null;break}return n?this.loginWithApiKey(n):await this.dualLogin(r)}loginWithApiKey(e){let r=e.indexOf(".");if(r<=0||r===e.length-1)return console.error("\u274C API Key \u683C\u5F0F\u9519\u8BEF\uFF0C\u5E94\u4E3A <ak>.<sk> \u683C\u5F0F"),1;let n=e.substring(0,r).trim(),s=e.substring(r+1).trim();return!n||!s?(console.error("\u274C API Key \u683C\u5F0F\u9519\u8BEF\uFF0C\u5E94\u4E3A <ak>.<sk> \u683C\u5F0F"),1):this.argParser.saveAuthToConfig(e.trim())?(console.log(`\u2705 API Key \u5DF2\u4FDD\u5B58\u5230 ${this.argParser.configPath}`),0):(console.error("\u274C \u4FDD\u5B58\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u6587\u4EF6\u6743\u9650"),1)}async dualLogin(e){let r=new td({baseUrl:"https://makecoder.com"}),n,s,o;try{({authUrl:n,waitPromise:s,browserOpened:o}=await r.startOAuthFlow())}catch(d){return console.error(`\u274C \u542F\u52A8\u767B\u5F55\u6D41\u7A0B\u5931\u8D25: ${d.message}`),console.log(`
280
255
  \u8BF7\u624B\u52A8\u8F93\u5165 API Key\uFF08\u83B7\u53D6\u5730\u5740: https://makecoder.com/my/apikeys\uFF09
281
256
  `),await this.terminalOnlyLogin()}console.log(`
282
257
  \u{1F510} \u767B\u5F55 MakeCoder
283
258
  `),console.log(o?" \u65B9\u5F0F\u4E00\uFF1A\u6D4F\u89C8\u5668\u5DF2\u6253\u5F00\u6388\u6743\u9875\u9762\uFF0C\u8BF7\u5728\u6D4F\u89C8\u5668\u4E2D\u5B8C\u6210\u767B\u5F55":" \u65B9\u5F0F\u4E00\uFF1A\u8BF7\u5728\u6D4F\u89C8\u5668\u4E2D\u6253\u5F00\u4EE5\u4E0B\u5730\u5740\u5B8C\u6210\u767B\u5F55"),console.log(` ${n}
284
259
  `),console.log(` \u65B9\u5F0F\u4E8C\uFF1A\u7C98\u8D34 API Key\uFF08\u83B7\u53D6\u5730\u5740: https://makecoder.com/my/apikeys\uFF09
285
- `);let i=uo.createInterface({input:process.stdin,output:process.stdout}),a=new Promise((l,d)=>{i.question("\u8BF7\u8F93\u5165 API Key\uFF08\u7559\u7A7A\u5219\u7B49\u5F85\u6D4F\u89C8\u5668\u767B\u5F55\uFF09: ",u=>{let h=u.trim();if(!h){d(new Error("__empty_input__"));return}let _=h.indexOf(".");if(_<=0||_===h.length-1){d(new Error("API Key \u683C\u5F0F\u9519\u8BEF\uFF0C\u5E94\u4E3A <ak>.<sk> \u683C\u5F0F"));return}l(h)})}),c;try{c=await Promise.race([s.then(l=>(i.close(),`${l.ak}.${l.sk}`)),a.then(l=>(t.cleanup(),l))])}catch(l){if(l.message==="__empty_input__"){console.log(`
260
+ `);let i=Us.createInterface({input:process.stdin,output:process.stdout}),a=new Promise((d,l)=>{i.question("\u8BF7\u8F93\u5165 API Key\uFF08\u7559\u7A7A\u5219\u7B49\u5F85\u6D4F\u89C8\u5668\u767B\u5F55\uFF09: ",p=>{let g=p.trim();if(!g){l(new Error("__empty_input__"));return}let _=g.indexOf(".");if(_<=0||_===g.length-1){l(new Error("API Key \u683C\u5F0F\u9519\u8BEF\uFF0C\u5E94\u4E3A <ak>.<sk> \u683C\u5F0F"));return}d(g)})}),c;try{c=await Promise.race([s.then(d=>(i.close(),`${d.ak}.${d.sk}`)),a.then(d=>(r.cleanup(),d))])}catch(d){if(d.message==="__empty_input__"){console.log(`
286
261
  \u23F3 \u7B49\u5F85\u6D4F\u89C8\u5668\u6388\u6743\u5B8C\u6210...\uFF08\u8D85\u65F6\u65F6\u95F4: 5\u5206\u949F\uFF09
287
- `);try{let d=await s;c=`${d.ak}.${d.sk}`}catch(d){return t.cleanup(),console.error(`
288
- \u274C \u767B\u5F55\u5931\u8D25: ${d.message}`),1}}else return i.close(),t.cleanup(),console.error(`
289
- \u274C ${l.message}`),1}return t.cleanup(),this.argParser.saveAuthToConfig(c)?(console.log(`
262
+ `);try{let l=await s;c=`${l.ak}.${l.sk}`}catch(l){return r.cleanup(),console.error(`
263
+ \u274C \u767B\u5F55\u5931\u8D25: ${l.message}`),1}}else return i.close(),r.cleanup(),console.error(`
264
+ \u274C ${d.message}`),1}return r.cleanup(),this.argParser.saveAuthToConfig(c)?(console.log(`
290
265
  \u2705 \u767B\u5F55\u6210\u529F\uFF01API Key \u5DF2\u4FDD\u5B58\u5230 ${this.argParser.configPath}`),0):(console.error(`
291
- \u26A0\uFE0F \u767B\u5F55\u6210\u529F\u4F46\u4FDD\u5B58\u914D\u7F6E\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u6587\u4EF6\u6743\u9650`),1)}async terminalOnlyLogin(){let e=uo.createInterface({input:process.stdin,output:process.stdout});return new Promise(t=>{e.question("\u8BF7\u8F93\u5165 API Key: ",n=>{e.close();let s=n.trim();if(!s){console.error("\u274C \u672A\u8F93\u5165 API Key"),t(1);return}let o=s.indexOf(".");if(o<=0||o===s.length-1){console.error("\u274C API Key \u683C\u5F0F\u9519\u8BEF\uFF0C\u5E94\u4E3A <ak>.<sk> \u683C\u5F0F"),t(1);return}this.argParser.saveAuthToConfig(s)?(console.log(`\u2705 \u767B\u5F55\u6210\u529F\uFF01API Key \u5DF2\u4FDD\u5B58\u5230 ${this.argParser.configPath}`),t(0)):(console.error("\u274C \u4FDD\u5B58\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u6587\u4EF6\u6743\u9650"),t(1))})})}logout(){return this.argParser.clearAuthFromConfig()?(console.log("\u2705 \u5DF2\u9000\u51FA\u767B\u5F55\uFF0CAPI Key \u5DF2\u6E05\u9664"),0):(console.error("\u274C \u9000\u51FA\u767B\u5F55\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u6587\u4EF6\u6743\u9650"),1)}async status(){let e=this.argParser.loadConfig(),t=this.argParser.getApiKeyFromConfig(e);if(!t)return console.log("Status: not authenticated"),console.log("Hint: run `coder auth login`"),0;let n=t.substring(0,4)+"****";console.log("Status: authenticated"),console.log(`Key: ${n}`),console.log(`Config: ${this.argParser.configPath}`);try{let s=require("https"),o=require("http"),i=new URL("https://makecoder.com/bigapis/auth/v1/users/me"),a=i.protocol==="https:"?s:o,c=await new Promise((l,d)=>{let u=a.request(i,{method:"GET",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"},timeout:5e3},h=>{let _="";h.on("data",v=>{_+=v}),h.on("end",()=>{if(h.statusCode===200)try{l(JSON.parse(_))}catch{d(new Error("\u89E3\u6790\u54CD\u5E94\u5931\u8D25"))}else h.statusCode===401?d(new Error("unauthorized")):d(new Error(`HTTP ${h.statusCode}`))})});u.on("error",d),u.on("timeout",()=>{u.destroy(),d(new Error("\u8BF7\u6C42\u8D85\u65F6"))}),u.end()});c.data?.id&&console.log(`User ID: ${c.data.id}`),c.data?.username&&console.log(`User: ${c.data.username}`)}catch(s){s.message==="unauthorized"&&console.log("Warning: API Key \u53EF\u80FD\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55: coder auth login")}return 0}showHelp(){console.log(`
266
+ \u26A0\uFE0F \u767B\u5F55\u6210\u529F\u4F46\u4FDD\u5B58\u914D\u7F6E\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u6587\u4EF6\u6743\u9650`),1)}async terminalOnlyLogin(){let e=Us.createInterface({input:process.stdin,output:process.stdout});return new Promise(r=>{e.question("\u8BF7\u8F93\u5165 API Key: ",n=>{e.close();let s=n.trim();if(!s){console.error("\u274C \u672A\u8F93\u5165 API Key"),r(1);return}let o=s.indexOf(".");if(o<=0||o===s.length-1){console.error("\u274C API Key \u683C\u5F0F\u9519\u8BEF\uFF0C\u5E94\u4E3A <ak>.<sk> \u683C\u5F0F"),r(1);return}this.argParser.saveAuthToConfig(s)?(console.log(`\u2705 \u767B\u5F55\u6210\u529F\uFF01API Key \u5DF2\u4FDD\u5B58\u5230 ${this.argParser.configPath}`),r(0)):(console.error("\u274C \u4FDD\u5B58\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u6587\u4EF6\u6743\u9650"),r(1))})})}logout(){return this.argParser.clearAuthFromConfig()?(console.log("\u2705 \u5DF2\u9000\u51FA\u767B\u5F55\uFF0CAPI Key \u5DF2\u6E05\u9664"),0):(console.error("\u274C \u9000\u51FA\u767B\u5F55\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u6587\u4EF6\u6743\u9650"),1)}async status(){let e=this.argParser.loadConfig(),r=this.argParser.getApiKeyFromConfig(e);if(!r)return console.log("Status: not authenticated"),console.log("Hint: run `coder auth login`"),0;let n=r.substring(0,4)+"****";console.log("Status: authenticated"),console.log(`Key: ${n}`),console.log(`Config: ${this.argParser.configPath}`);try{let s=require("https"),o=require("http"),i=new URL("https://makecoder.com/bigapis/auth/v1/users/me"),a=i.protocol==="https:"?s:o,c=await new Promise((d,l)=>{let p=a.request(i,{method:"GET",headers:{Authorization:`Bearer ${r}`,"Content-Type":"application/json"},timeout:5e3},g=>{let _="";g.on("data",D=>{_+=D}),g.on("end",()=>{if(g.statusCode===200)try{d(JSON.parse(_))}catch{l(new Error("\u89E3\u6790\u54CD\u5E94\u5931\u8D25"))}else g.statusCode===401?l(new Error("unauthorized")):l(new Error(`HTTP ${g.statusCode}`))})});p.on("error",l),p.on("timeout",()=>{p.destroy(),l(new Error("\u8BF7\u6C42\u8D85\u65F6"))}),p.end()});c.data?.id&&console.log(`User ID: ${c.data.id}`),c.data?.username&&console.log(`User: ${c.data.username}`)}catch(s){s.message==="unauthorized"&&console.log("Warning: API Key \u53EF\u80FD\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u767B\u5F55: coder auth login")}return 0}showHelp(){console.log(`
292
267
  \u7528\u6CD5:
293
268
  coder auth <command>
294
269
 
@@ -307,20 +282,20 @@ Expecting one of '${n.join("', '")}'`);let s=`${e}Help`;return this.on(s,o=>{let
307
282
  coder auth status # \u67E5\u770B\u767B\u5F55\u72B6\u6001
308
283
 
309
284
  \u83B7\u53D6 API Key: https://makecoder.com/my/apikeys
310
- `)}};mo.exports=Fr});var It=b(U=>{"use strict";Object.defineProperty(U,"__esModule",{value:!0});U.getParsedType=U.ZodParsedType=U.objectUtil=U.util=void 0;var Gr;(function(r){r.assertEqual=s=>{};function e(s){}r.assertIs=e;function t(s){throw new Error}r.assertNever=t,r.arrayToEnum=s=>{let o={};for(let i of s)o[i]=i;return o},r.getValidEnumValues=s=>{let o=r.objectKeys(s).filter(a=>typeof s[s[a]]!="number"),i={};for(let a of o)i[a]=s[a];return r.objectValues(i)},r.objectValues=s=>r.objectKeys(s).map(function(o){return s[o]}),r.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{let o=[];for(let i in s)Object.prototype.hasOwnProperty.call(s,i)&&o.push(i);return o},r.find=(s,o)=>{for(let i of s)if(o(i))return i},r.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function n(s,o=" | "){return s.map(i=>typeof i=="string"?`'${i}'`:i).join(o)}r.joinValues=n,r.jsonStringifyReplacer=(s,o)=>typeof o=="bigint"?o.toString():o})(Gr||(U.util=Gr={}));var ho;(function(r){r.mergeShapes=(e,t)=>({...e,...t})})(ho||(U.objectUtil=ho={}));U.ZodParsedType=Gr.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]);var ql=r=>{switch(typeof r){case"undefined":return U.ZodParsedType.undefined;case"string":return U.ZodParsedType.string;case"number":return Number.isNaN(r)?U.ZodParsedType.nan:U.ZodParsedType.number;case"boolean":return U.ZodParsedType.boolean;case"function":return U.ZodParsedType.function;case"bigint":return U.ZodParsedType.bigint;case"symbol":return U.ZodParsedType.symbol;case"object":return Array.isArray(r)?U.ZodParsedType.array:r===null?U.ZodParsedType.null:r.then&&typeof r.then=="function"&&r.catch&&typeof r.catch=="function"?U.ZodParsedType.promise:typeof Map<"u"&&r instanceof Map?U.ZodParsedType.map:typeof Set<"u"&&r instanceof Set?U.ZodParsedType.set:typeof Date<"u"&&r instanceof Date?U.ZodParsedType.date:U.ZodParsedType.object;default:return U.ZodParsedType.unknown}};U.getParsedType=ql});var Wt=b(_e=>{"use strict";Object.defineProperty(_e,"__esModule",{value:!0});_e.ZodError=_e.quotelessJson=_e.ZodIssueCode=void 0;var fo=It();_e.ZodIssueCode=fo.util.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);var Zl=r=>JSON.stringify(r,null,2).replace(/"([^"]+)":/g,"$1:");_e.quotelessJson=Zl;var kt=class r extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}format(e){let t=e||function(o){return o.message},n={_errors:[]},s=o=>{for(let i of o.issues)if(i.code==="invalid_union")i.unionErrors.map(s);else if(i.code==="invalid_return_type")s(i.returnTypeError);else if(i.code==="invalid_arguments")s(i.argumentsError);else if(i.path.length===0)n._errors.push(t(i));else{let a=n,c=0;for(;c<i.path.length;){let l=i.path[c];c===i.path.length-1?(a[l]=a[l]||{_errors:[]},a[l]._errors.push(t(i))):a[l]=a[l]||{_errors:[]},a=a[l],c++}}};return s(this),n}static assert(e){if(!(e instanceof r))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,fo.util.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=t=>t.message){let t={},n=[];for(let s of this.issues)if(s.path.length>0){let o=s.path[0];t[o]=t[o]||[],t[o].push(e(s))}else n.push(e(s));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}};_e.ZodError=kt;kt.create=r=>new kt(r)});var zr=b(Hr=>{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});var L=Wt(),Te=It(),Ll=(r,e)=>{let t;switch(r.code){case L.ZodIssueCode.invalid_type:r.received===Te.ZodParsedType.undefined?t="Required":t=`Expected ${r.expected}, received ${r.received}`;break;case L.ZodIssueCode.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(r.expected,Te.util.jsonStringifyReplacer)}`;break;case L.ZodIssueCode.unrecognized_keys:t=`Unrecognized key(s) in object: ${Te.util.joinValues(r.keys,", ")}`;break;case L.ZodIssueCode.invalid_union:t="Invalid input";break;case L.ZodIssueCode.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${Te.util.joinValues(r.options)}`;break;case L.ZodIssueCode.invalid_enum_value:t=`Invalid enum value. Expected ${Te.util.joinValues(r.options)}, received '${r.received}'`;break;case L.ZodIssueCode.invalid_arguments:t="Invalid function arguments";break;case L.ZodIssueCode.invalid_return_type:t="Invalid function return type";break;case L.ZodIssueCode.invalid_date:t="Invalid date";break;case L.ZodIssueCode.invalid_string:typeof r.validation=="object"?"includes"in r.validation?(t=`Invalid input: must include "${r.validation.includes}"`,typeof r.validation.position=="number"&&(t=`${t} at one or more positions greater than or equal to ${r.validation.position}`)):"startsWith"in r.validation?t=`Invalid input: must start with "${r.validation.startsWith}"`:"endsWith"in r.validation?t=`Invalid input: must end with "${r.validation.endsWith}"`:Te.util.assertNever(r.validation):r.validation!=="regex"?t=`Invalid ${r.validation}`:t="Invalid";break;case L.ZodIssueCode.too_small:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at least":"more than"} ${r.minimum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at least":"over"} ${r.minimum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${r.minimum}`:r.type==="bigint"?t=`Number must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${r.minimum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(r.minimum))}`:t="Invalid input";break;case L.ZodIssueCode.too_big:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at most":"less than"} ${r.maximum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at most":"under"} ${r.maximum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly":r.inclusive?"less than or equal to":"less than"} ${r.maximum}`:r.type==="bigint"?t=`BigInt must be ${r.exact?"exactly":r.inclusive?"less than or equal to":"less than"} ${r.maximum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly":r.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(r.maximum))}`:t="Invalid input";break;case L.ZodIssueCode.custom:t="Invalid input";break;case L.ZodIssueCode.invalid_intersection_types:t="Intersection results could not be merged";break;case L.ZodIssueCode.not_multiple_of:t=`Number must be a multiple of ${r.multipleOf}`;break;case L.ZodIssueCode.not_finite:t="Number must be finite";break;default:t=e.defaultError,Te.util.assertNever(r)}return{message:t}};Hr.default=Ll});var Kt=b(be=>{"use strict";var Ml=be&&be.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(be,"__esModule",{value:!0});be.defaultErrorMap=void 0;be.setErrorMap=Vl;be.getErrorMap=Bl;var go=Ml(zr());be.defaultErrorMap=go.default;var yo=go.default;function Vl(r){yo=r}function Bl(){return yo}});var Kr=b(P=>{"use strict";var Fl=P&&P.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(P,"__esModule",{value:!0});P.isAsync=P.isValid=P.isDirty=P.isAborted=P.OK=P.DIRTY=P.INVALID=P.ParseStatus=P.EMPTY_PATH=P.makeIssue=void 0;P.addIssueToContext=zl;var Gl=Kt(),_o=Fl(zr()),Hl=r=>{let{data:e,path:t,errorMaps:n,issueData:s}=r,o=[...t,...s.path||[]],i={...s,path:o};if(s.message!==void 0)return{...s,path:o,message:s.message};let a="",c=n.filter(l=>!!l).slice().reverse();for(let l of c)a=l(i,{data:e,defaultError:a}).message;return{...s,path:o,message:a}};P.makeIssue=Hl;P.EMPTY_PATH=[];function zl(r,e){let t=(0,Gl.getErrorMap)(),n=(0,P.makeIssue)({issueData:e,data:r.data,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,t,t===_o.default?void 0:_o.default].filter(s=>!!s)});r.common.issues.push(n)}var Wr=class r{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,t){let n=[];for(let s of t){if(s.status==="aborted")return P.INVALID;s.status==="dirty"&&e.dirty(),n.push(s.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,t){let n=[];for(let s of t){let o=await s.key,i=await s.value;n.push({key:o,value:i})}return r.mergeObjectSync(e,n)}static mergeObjectSync(e,t){let n={};for(let s of t){let{key:o,value:i}=s;if(o.status==="aborted"||i.status==="aborted")return P.INVALID;o.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),o.value!=="__proto__"&&(typeof i.value<"u"||s.alwaysSet)&&(n[o.value]=i.value)}return{status:e.value,value:n}}};P.ParseStatus=Wr;P.INVALID=Object.freeze({status:"aborted"});var Wl=r=>({status:"dirty",value:r});P.DIRTY=Wl;var Kl=r=>({status:"valid",value:r});P.OK=Kl;var Jl=r=>r.status==="aborted";P.isAborted=Jl;var Yl=r=>r.status==="dirty";P.isDirty=Yl;var Xl=r=>r.status==="valid";P.isValid=Xl;var Ql=r=>typeof Promise<"u"&&r instanceof Promise;P.isAsync=Ql});var xo=b(bo=>{"use strict";Object.defineProperty(bo,"__esModule",{value:!0})});var Co=b(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.errorUtil=void 0;var wo;(function(r){r.errToObj=e=>typeof e=="string"?{message:e}:e||{},r.toString=e=>typeof e=="string"?e:e?.message})(wo||(Jt.errorUtil=wo={}))});var Uo=b(m=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0});m.discriminatedUnion=m.date=m.boolean=m.bigint=m.array=m.any=m.coerce=m.ZodFirstPartyTypeKind=m.late=m.ZodSchema=m.Schema=m.ZodReadonly=m.ZodPipeline=m.ZodBranded=m.BRAND=m.ZodNaN=m.ZodCatch=m.ZodDefault=m.ZodNullable=m.ZodOptional=m.ZodTransformer=m.ZodEffects=m.ZodPromise=m.ZodNativeEnum=m.ZodEnum=m.ZodLiteral=m.ZodLazy=m.ZodFunction=m.ZodSet=m.ZodMap=m.ZodRecord=m.ZodTuple=m.ZodIntersection=m.ZodDiscriminatedUnion=m.ZodUnion=m.ZodObject=m.ZodArray=m.ZodVoid=m.ZodNever=m.ZodUnknown=m.ZodAny=m.ZodNull=m.ZodUndefined=m.ZodSymbol=m.ZodDate=m.ZodBoolean=m.ZodBigInt=m.ZodNumber=m.ZodString=m.ZodType=void 0;m.NEVER=m.void=m.unknown=m.union=m.undefined=m.tuple=m.transformer=m.symbol=m.string=m.strictObject=m.set=m.record=m.promise=m.preprocess=m.pipeline=m.ostring=m.optional=m.onumber=m.oboolean=m.object=m.number=m.nullable=m.null=m.never=m.nativeEnum=m.nan=m.map=m.literal=m.lazy=m.intersection=m.instanceof=m.function=m.enum=m.effect=void 0;m.datetimeRegex=$o;m.custom=Ao;var f=Wt(),Yt=Kt(),x=Co(),p=Kr(),g=It(),X=class{constructor(e,t,n,s){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=s}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Io=(r,e)=>{if((0,p.isValid)(e))return{success:!0,data:e.value};if(!r.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let t=new f.ZodError(r.common.issues);return this._error=t,this._error}}};function I(r){if(!r)return{};let{errorMap:e,invalid_type_error:t,required_error:n,description:s}=r;if(e&&(t||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:s}:{errorMap:(i,a)=>{let{message:c}=r;return i.code==="invalid_enum_value"?{message:c??a.defaultError}:typeof a.data>"u"?{message:c??n??a.defaultError}:i.code!=="invalid_type"?{message:a.defaultError}:{message:c??t??a.defaultError}},description:s}}var k=class{get description(){return this._def.description}_getType(e){return(0,g.getParsedType)(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:(0,g.getParsedType)(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new p.ParseStatus,ctx:{common:e.parent.common,data:e.data,parsedType:(0,g.getParsedType)(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if((0,p.isAsync)(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){let t=this._parse(e);return Promise.resolve(t)}parse(e,t){let n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){let n={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:(0,g.getParsedType)(e)},s=this._parseSync({data:e,path:n.path,parent:n});return Io(n,s)}"~validate"(e){let t={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:(0,g.getParsedType)(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:t});return(0,p.isValid)(n)?{value:n.value}:{issues:t.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(n=>(0,p.isValid)(n)?{value:n.value}:{issues:t.common.issues})}async parseAsync(e,t){let n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){let n={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:(0,g.getParsedType)(e)},s=this._parse({data:e,path:n.path,parent:n}),o=await((0,p.isAsync)(s)?s:Promise.resolve(s));return Io(n,o)}refine(e,t){let n=s=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(s):t;return this._refinement((s,o)=>{let i=e(s),a=()=>o.addIssue({code:f.ZodIssueCode.custom,...n(s)});return typeof Promise<"u"&&i instanceof Promise?i.then(c=>c?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(e,t){return this._refinement((n,s)=>e(n)?!0:(s.addIssue(typeof t=="function"?t(n,s):t),!1))}_refinement(e){return new K({schema:this,typeName:C.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:t=>this["~validate"](t)}}optional(){return Y.create(this,this._def)}nullable(){return ce.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return he.create(this)}promise(){return Ce.create(this,this._def)}or(e){return qe.create([this,e],this._def)}and(e){return Ze.create(this,e,this._def)}transform(e){return new K({...I(this._def),schema:this,typeName:C.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let t=typeof e=="function"?e:()=>e;return new Fe({...I(this._def),innerType:this,defaultValue:t,typeName:C.ZodDefault})}brand(){return new vt({typeName:C.ZodBranded,type:this,...I(this._def)})}catch(e){let t=typeof e=="function"?e:()=>e;return new Ge({...I(this._def),innerType:this,catchValue:t,typeName:C.ZodCatch})}describe(e){let t=this.constructor;return new t({...this._def,description:e})}pipe(e){return Ot.create(this,e)}readonly(){return He.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}};m.ZodType=k;m.Schema=k;m.ZodSchema=k;var ed=/^c[^\s-]{8,}$/i,td=/^[0-9a-z]+$/,rd=/^[0-9A-HJKMNP-TV-Z]{26}$/i,nd=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,sd=/^[a-z0-9_-]{21}$/i,od=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,id=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,ad=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,cd="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Jr,ld=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,dd=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ud=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,md=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,pd=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,hd=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,vo="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",fd=new RegExp(`^${vo}$`);function Oo(r){let e="[0-5]\\d";r.precision?e=`${e}\\.\\d{${r.precision}}`:r.precision==null&&(e=`${e}(\\.\\d+)?`);let t=r.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${t}`}function gd(r){return new RegExp(`^${Oo(r)}$`)}function $o(r){let e=`${vo}T${Oo(r)}`,t=[];return t.push(r.local?"Z?":"Z"),r.offset&&t.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${t.join("|")})`,new RegExp(`^${e}$`)}function yd(r,e){return!!((e==="v4"||!e)&&ld.test(r)||(e==="v6"||!e)&&ud.test(r))}function _d(r,e){if(!od.test(r))return!1;try{let[t]=r.split(".");if(!t)return!1;let n=t.replace(/-/g,"+").replace(/_/g,"/").padEnd(t.length+(4-t.length%4)%4,"="),s=JSON.parse(atob(n));return!(typeof s!="object"||s===null||"typ"in s&&s?.typ!=="JWT"||!s.alg||e&&s.alg!==e)}catch{return!1}}function bd(r,e){return!!((e==="v4"||!e)&&dd.test(r)||(e==="v6"||!e)&&md.test(r))}var xe=class r extends k{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==g.ZodParsedType.string){let o=this._getOrReturnCtx(e);return(0,p.addIssueToContext)(o,{code:f.ZodIssueCode.invalid_type,expected:g.ZodParsedType.string,received:o.parsedType}),p.INVALID}let n=new p.ParseStatus,s;for(let o of this._def.checks)if(o.kind==="min")e.data.length<o.value&&(s=this._getOrReturnCtx(e,s),(0,p.addIssueToContext)(s,{code:f.ZodIssueCode.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),n.dirty());else if(o.kind==="max")e.data.length>o.value&&(s=this._getOrReturnCtx(e,s),(0,p.addIssueToContext)(s,{code:f.ZodIssueCode.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),n.dirty());else if(o.kind==="length"){let i=e.data.length>o.value,a=e.data.length<o.value;(i||a)&&(s=this._getOrReturnCtx(e,s),i?(0,p.addIssueToContext)(s,{code:f.ZodIssueCode.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):a&&(0,p.addIssueToContext)(s,{code:f.ZodIssueCode.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),n.dirty())}else if(o.kind==="email")ad.test(e.data)||(s=this._getOrReturnCtx(e,s),(0,p.addIssueToContext)(s,{validation:"email",code:f.ZodIssueCode.invalid_string,message:o.message}),n.dirty());else if(o.kind==="emoji")Jr||(Jr=new RegExp(cd,"u")),Jr.test(e.data)||(s=this._getOrReturnCtx(e,s),(0,p.addIssueToContext)(s,{validation:"emoji",code:f.ZodIssueCode.invalid_string,message:o.message}),n.dirty());else if(o.kind==="uuid")nd.test(e.data)||(s=this._getOrReturnCtx(e,s),(0,p.addIssueToContext)(s,{validation:"uuid",code:f.ZodIssueCode.invalid_string,message:o.message}),n.dirty());else if(o.kind==="nanoid")sd.test(e.data)||(s=this._getOrReturnCtx(e,s),(0,p.addIssueToContext)(s,{validation:"nanoid",code:f.ZodIssueCode.invalid_string,message:o.message}),n.dirty());else if(o.kind==="cuid")ed.test(e.data)||(s=this._getOrReturnCtx(e,s),(0,p.addIssueToContext)(s,{validation:"cuid",code:f.ZodIssueCode.invalid_string,message:o.message}),n.dirty());else if(o.kind==="cuid2")td.test(e.data)||(s=this._getOrReturnCtx(e,s),(0,p.addIssueToContext)(s,{validation:"cuid2",code:f.ZodIssueCode.invalid_string,message:o.message}),n.dirty());else if(o.kind==="ulid")rd.test(e.data)||(s=this._getOrReturnCtx(e,s),(0,p.addIssueToContext)(s,{validation:"ulid",code:f.ZodIssueCode.invalid_string,message:o.message}),n.dirty());else if(o.kind==="url")try{new URL(e.data)}catch{s=this._getOrReturnCtx(e,s),(0,p.addIssueToContext)(s,{validation:"url",code:f.ZodIssueCode.invalid_string,message:o.message}),n.dirty()}else o.kind==="regex"?(o.regex.lastIndex=0,o.regex.test(e.data)||(s=this._getOrReturnCtx(e,s),(0,p.addIssueToContext)(s,{validation:"regex",code:f.ZodIssueCode.invalid_string,message:o.message}),n.dirty())):o.kind==="trim"?e.data=e.data.trim():o.kind==="includes"?e.data.includes(o.value,o.position)||(s=this._getOrReturnCtx(e,s),(0,p.addIssueToContext)(s,{code:f.ZodIssueCode.invalid_string,validation:{includes:o.value,position:o.position},message:o.message}),n.dirty()):o.kind==="toLowerCase"?e.data=e.data.toLowerCase():o.kind==="toUpperCase"?e.data=e.data.toUpperCase():o.kind==="startsWith"?e.data.startsWith(o.value)||(s=this._getOrReturnCtx(e,s),(0,p.addIssueToContext)(s,{code:f.ZodIssueCode.invalid_string,validation:{startsWith:o.value},message:o.message}),n.dirty()):o.kind==="endsWith"?e.data.endsWith(o.value)||(s=this._getOrReturnCtx(e,s),(0,p.addIssueToContext)(s,{code:f.ZodIssueCode.invalid_string,validation:{endsWith:o.value},message:o.message}),n.dirty()):o.kind==="datetime"?$o(o).test(e.data)||(s=this._getOrReturnCtx(e,s),(0,p.addIssueToContext)(s,{code:f.ZodIssueCode.invalid_string,validation:"datetime",message:o.message}),n.dirty()):o.kind==="date"?fd.test(e.data)||(s=this._getOrReturnCtx(e,s),(0,p.addIssueToContext)(s,{code:f.ZodIssueCode.invalid_string,validation:"date",message:o.message}),n.dirty()):o.kind==="time"?gd(o).test(e.data)||(s=this._getOrReturnCtx(e,s),(0,p.addIssueToContext)(s,{code:f.ZodIssueCode.invalid_string,validation:"time",message:o.message}),n.dirty()):o.kind==="duration"?id.test(e.data)||(s=this._getOrReturnCtx(e,s),(0,p.addIssueToContext)(s,{validation:"duration",code:f.ZodIssueCode.invalid_string,message:o.message}),n.dirty()):o.kind==="ip"?yd(e.data,o.version)||(s=this._getOrReturnCtx(e,s),(0,p.addIssueToContext)(s,{validation:"ip",code:f.ZodIssueCode.invalid_string,message:o.message}),n.dirty()):o.kind==="jwt"?_d(e.data,o.alg)||(s=this._getOrReturnCtx(e,s),(0,p.addIssueToContext)(s,{validation:"jwt",code:f.ZodIssueCode.invalid_string,message:o.message}),n.dirty()):o.kind==="cidr"?bd(e.data,o.version)||(s=this._getOrReturnCtx(e,s),(0,p.addIssueToContext)(s,{validation:"cidr",code:f.ZodIssueCode.invalid_string,message:o.message}),n.dirty()):o.kind==="base64"?pd.test(e.data)||(s=this._getOrReturnCtx(e,s),(0,p.addIssueToContext)(s,{validation:"base64",code:f.ZodIssueCode.invalid_string,message:o.message}),n.dirty()):o.kind==="base64url"?hd.test(e.data)||(s=this._getOrReturnCtx(e,s),(0,p.addIssueToContext)(s,{validation:"base64url",code:f.ZodIssueCode.invalid_string,message:o.message}),n.dirty()):g.util.assertNever(o);return{status:n.value,value:e.data}}_regex(e,t,n){return this.refinement(s=>e.test(s),{validation:t,code:f.ZodIssueCode.invalid_string,...x.errorUtil.errToObj(n)})}_addCheck(e){return new r({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...x.errorUtil.errToObj(e)})}url(e){return this._addCheck({kind:"url",...x.errorUtil.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...x.errorUtil.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...x.errorUtil.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...x.errorUtil.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...x.errorUtil.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...x.errorUtil.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...x.errorUtil.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...x.errorUtil.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...x.errorUtil.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...x.errorUtil.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...x.errorUtil.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...x.errorUtil.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...x.errorUtil.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...x.errorUtil.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...x.errorUtil.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...x.errorUtil.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t?.position,...x.errorUtil.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...x.errorUtil.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...x.errorUtil.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...x.errorUtil.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...x.errorUtil.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...x.errorUtil.errToObj(t)})}nonempty(e){return this.min(1,x.errorUtil.errToObj(e))}trim(){return new r({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new r({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new r({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(let t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}};m.ZodString=xe;xe.create=r=>new xe({checks:[],typeName:C.ZodString,coerce:r?.coerce??!1,...I(r)});function xd(r,e){let t=(r.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,s=t>n?t:n,o=Number.parseInt(r.toFixed(s).replace(".","")),i=Number.parseInt(e.toFixed(s).replace(".",""));return o%i/10**s}var De=class r extends k{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==g.ZodParsedType.number){let o=this._getOrReturnCtx(e);return(0,p.addIssueToContext)(o,{code:f.ZodIssueCode.invalid_type,expected:g.ZodParsedType.number,received:o.parsedType}),p.INVALID}let n,s=new p.ParseStatus;for(let o of this._def.checks)o.kind==="int"?g.util.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),(0,p.addIssueToContext)(n,{code:f.ZodIssueCode.invalid_type,expected:"integer",received:"float",message:o.message}),s.dirty()):o.kind==="min"?(o.inclusive?e.data<o.value:e.data<=o.value)&&(n=this._getOrReturnCtx(e,n),(0,p.addIssueToContext)(n,{code:f.ZodIssueCode.too_small,minimum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?e.data>o.value:e.data>=o.value)&&(n=this._getOrReturnCtx(e,n),(0,p.addIssueToContext)(n,{code:f.ZodIssueCode.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="multipleOf"?xd(e.data,o.value)!==0&&(n=this._getOrReturnCtx(e,n),(0,p.addIssueToContext)(n,{code:f.ZodIssueCode.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):o.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),(0,p.addIssueToContext)(n,{code:f.ZodIssueCode.not_finite,message:o.message}),s.dirty()):g.util.assertNever(o);return{status:s.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,x.errorUtil.toString(t))}gt(e,t){return this.setLimit("min",e,!1,x.errorUtil.toString(t))}lte(e,t){return this.setLimit("max",e,!0,x.errorUtil.toString(t))}lt(e,t){return this.setLimit("max",e,!1,x.errorUtil.toString(t))}setLimit(e,t,n,s){return new r({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:x.errorUtil.toString(s)}]})}_addCheck(e){return new r({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:x.errorUtil.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:x.errorUtil.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:x.errorUtil.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:x.errorUtil.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:x.errorUtil.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:x.errorUtil.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:x.errorUtil.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:x.errorUtil.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:x.errorUtil.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&g.util.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(t===null||n.value>t)&&(t=n.value):n.kind==="max"&&(e===null||n.value<e)&&(e=n.value)}return Number.isFinite(t)&&Number.isFinite(e)}};m.ZodNumber=De;De.create=r=>new De({checks:[],typeName:C.ZodNumber,coerce:r?.coerce||!1,...I(r)});var Pe=class r extends k{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==g.ZodParsedType.bigint)return this._getInvalidInput(e);let n,s=new p.ParseStatus;for(let o of this._def.checks)o.kind==="min"?(o.inclusive?e.data<o.value:e.data<=o.value)&&(n=this._getOrReturnCtx(e,n),(0,p.addIssueToContext)(n,{code:f.ZodIssueCode.too_small,type:"bigint",minimum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?e.data>o.value:e.data>=o.value)&&(n=this._getOrReturnCtx(e,n),(0,p.addIssueToContext)(n,{code:f.ZodIssueCode.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="multipleOf"?e.data%o.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),(0,p.addIssueToContext)(n,{code:f.ZodIssueCode.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):g.util.assertNever(o);return{status:s.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return(0,p.addIssueToContext)(t,{code:f.ZodIssueCode.invalid_type,expected:g.ZodParsedType.bigint,received:t.parsedType}),p.INVALID}gte(e,t){return this.setLimit("min",e,!0,x.errorUtil.toString(t))}gt(e,t){return this.setLimit("min",e,!1,x.errorUtil.toString(t))}lte(e,t){return this.setLimit("max",e,!0,x.errorUtil.toString(t))}lt(e,t){return this.setLimit("max",e,!1,x.errorUtil.toString(t))}setLimit(e,t,n,s){return new r({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:x.errorUtil.toString(s)}]})}_addCheck(e){return new r({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:x.errorUtil.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:x.errorUtil.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:x.errorUtil.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:x.errorUtil.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:x.errorUtil.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}};m.ZodBigInt=Pe;Pe.create=r=>new Pe({checks:[],typeName:C.ZodBigInt,coerce:r?.coerce??!1,...I(r)});var Ue=class extends k{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==g.ZodParsedType.boolean){let n=this._getOrReturnCtx(e);return(0,p.addIssueToContext)(n,{code:f.ZodIssueCode.invalid_type,expected:g.ZodParsedType.boolean,received:n.parsedType}),p.INVALID}return(0,p.OK)(e.data)}};m.ZodBoolean=Ue;Ue.create=r=>new Ue({typeName:C.ZodBoolean,coerce:r?.coerce||!1,...I(r)});var je=class r extends k{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==g.ZodParsedType.date){let o=this._getOrReturnCtx(e);return(0,p.addIssueToContext)(o,{code:f.ZodIssueCode.invalid_type,expected:g.ZodParsedType.date,received:o.parsedType}),p.INVALID}if(Number.isNaN(e.data.getTime())){let o=this._getOrReturnCtx(e);return(0,p.addIssueToContext)(o,{code:f.ZodIssueCode.invalid_date}),p.INVALID}let n=new p.ParseStatus,s;for(let o of this._def.checks)o.kind==="min"?e.data.getTime()<o.value&&(s=this._getOrReturnCtx(e,s),(0,p.addIssueToContext)(s,{code:f.ZodIssueCode.too_small,message:o.message,inclusive:!0,exact:!1,minimum:o.value,type:"date"}),n.dirty()):o.kind==="max"?e.data.getTime()>o.value&&(s=this._getOrReturnCtx(e,s),(0,p.addIssueToContext)(s,{code:f.ZodIssueCode.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),n.dirty()):g.util.assertNever(o);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new r({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:x.errorUtil.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:x.errorUtil.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e!=null?new Date(e):null}};m.ZodDate=je;je.create=r=>new je({checks:[],coerce:r?.coerce||!1,typeName:C.ZodDate,...I(r)});var rt=class extends k{_parse(e){if(this._getType(e)!==g.ZodParsedType.symbol){let n=this._getOrReturnCtx(e);return(0,p.addIssueToContext)(n,{code:f.ZodIssueCode.invalid_type,expected:g.ZodParsedType.symbol,received:n.parsedType}),p.INVALID}return(0,p.OK)(e.data)}};m.ZodSymbol=rt;rt.create=r=>new rt({typeName:C.ZodSymbol,...I(r)});var Ne=class extends k{_parse(e){if(this._getType(e)!==g.ZodParsedType.undefined){let n=this._getOrReturnCtx(e);return(0,p.addIssueToContext)(n,{code:f.ZodIssueCode.invalid_type,expected:g.ZodParsedType.undefined,received:n.parsedType}),p.INVALID}return(0,p.OK)(e.data)}};m.ZodUndefined=Ne;Ne.create=r=>new Ne({typeName:C.ZodUndefined,...I(r)});var Re=class extends k{_parse(e){if(this._getType(e)!==g.ZodParsedType.null){let n=this._getOrReturnCtx(e);return(0,p.addIssueToContext)(n,{code:f.ZodIssueCode.invalid_type,expected:g.ZodParsedType.null,received:n.parsedType}),p.INVALID}return(0,p.OK)(e.data)}};m.ZodNull=Re;Re.create=r=>new Re({typeName:C.ZodNull,...I(r)});var we=class extends k{constructor(){super(...arguments),this._any=!0}_parse(e){return(0,p.OK)(e.data)}};m.ZodAny=we;we.create=r=>new we({typeName:C.ZodAny,...I(r)});var pe=class extends k{constructor(){super(...arguments),this._unknown=!0}_parse(e){return(0,p.OK)(e.data)}};m.ZodUnknown=pe;pe.create=r=>new pe({typeName:C.ZodUnknown,...I(r)});var ee=class extends k{_parse(e){let t=this._getOrReturnCtx(e);return(0,p.addIssueToContext)(t,{code:f.ZodIssueCode.invalid_type,expected:g.ZodParsedType.never,received:t.parsedType}),p.INVALID}};m.ZodNever=ee;ee.create=r=>new ee({typeName:C.ZodNever,...I(r)});var nt=class extends k{_parse(e){if(this._getType(e)!==g.ZodParsedType.undefined){let n=this._getOrReturnCtx(e);return(0,p.addIssueToContext)(n,{code:f.ZodIssueCode.invalid_type,expected:g.ZodParsedType.void,received:n.parsedType}),p.INVALID}return(0,p.OK)(e.data)}};m.ZodVoid=nt;nt.create=r=>new nt({typeName:C.ZodVoid,...I(r)});var he=class r extends k{_parse(e){let{ctx:t,status:n}=this._processInputParams(e),s=this._def;if(t.parsedType!==g.ZodParsedType.array)return(0,p.addIssueToContext)(t,{code:f.ZodIssueCode.invalid_type,expected:g.ZodParsedType.array,received:t.parsedType}),p.INVALID;if(s.exactLength!==null){let i=t.data.length>s.exactLength.value,a=t.data.length<s.exactLength.value;(i||a)&&((0,p.addIssueToContext)(t,{code:i?f.ZodIssueCode.too_big:f.ZodIssueCode.too_small,minimum:a?s.exactLength.value:void 0,maximum:i?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),n.dirty())}if(s.minLength!==null&&t.data.length<s.minLength.value&&((0,p.addIssueToContext)(t,{code:f.ZodIssueCode.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),n.dirty()),s.maxLength!==null&&t.data.length>s.maxLength.value&&((0,p.addIssueToContext)(t,{code:f.ZodIssueCode.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((i,a)=>s.type._parseAsync(new X(t,i,t.path,a)))).then(i=>p.ParseStatus.mergeArray(n,i));let o=[...t.data].map((i,a)=>s.type._parseSync(new X(t,i,t.path,a)));return p.ParseStatus.mergeArray(n,o)}get element(){return this._def.type}min(e,t){return new r({...this._def,minLength:{value:e,message:x.errorUtil.toString(t)}})}max(e,t){return new r({...this._def,maxLength:{value:e,message:x.errorUtil.toString(t)}})}length(e,t){return new r({...this._def,exactLength:{value:e,message:x.errorUtil.toString(t)}})}nonempty(e){return this.min(1,e)}};m.ZodArray=he;he.create=(r,e)=>new he({type:r,minLength:null,maxLength:null,exactLength:null,typeName:C.ZodArray,...I(e)});function tt(r){if(r instanceof z){let e={};for(let t in r.shape){let n=r.shape[t];e[t]=Y.create(tt(n))}return new z({...r._def,shape:()=>e})}else return r instanceof he?new he({...r._def,type:tt(r.element)}):r instanceof Y?Y.create(tt(r.unwrap())):r instanceof ce?ce.create(tt(r.unwrap())):r instanceof ae?ae.create(r.items.map(e=>tt(e))):r}var z=class r extends k{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),t=g.util.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==g.ZodParsedType.object){let l=this._getOrReturnCtx(e);return(0,p.addIssueToContext)(l,{code:f.ZodIssueCode.invalid_type,expected:g.ZodParsedType.object,received:l.parsedType}),p.INVALID}let{status:n,ctx:s}=this._processInputParams(e),{shape:o,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof ee&&this._def.unknownKeys==="strip"))for(let l in s.data)i.includes(l)||a.push(l);let c=[];for(let l of i){let d=o[l],u=s.data[l];c.push({key:{status:"valid",value:l},value:d._parse(new X(s,u,s.path,l)),alwaysSet:l in s.data})}if(this._def.catchall instanceof ee){let l=this._def.unknownKeys;if(l==="passthrough")for(let d of a)c.push({key:{status:"valid",value:d},value:{status:"valid",value:s.data[d]}});else if(l==="strict")a.length>0&&((0,p.addIssueToContext)(s,{code:f.ZodIssueCode.unrecognized_keys,keys:a}),n.dirty());else if(l!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let l=this._def.catchall;for(let d of a){let u=s.data[d];c.push({key:{status:"valid",value:d},value:l._parse(new X(s,u,s.path,d)),alwaysSet:d in s.data})}}return s.common.async?Promise.resolve().then(async()=>{let l=[];for(let d of c){let u=await d.key,h=await d.value;l.push({key:u,value:h,alwaysSet:d.alwaysSet})}return l}).then(l=>p.ParseStatus.mergeObjectSync(n,l)):p.ParseStatus.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(e){return x.errorUtil.errToObj,new r({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,n)=>{let s=this._def.errorMap?.(t,n).message??n.defaultError;return t.code==="unrecognized_keys"?{message:x.errorUtil.errToObj(e).message??s}:{message:s}}}:{}})}strip(){return new r({...this._def,unknownKeys:"strip"})}passthrough(){return new r({...this._def,unknownKeys:"passthrough"})}extend(e){return new r({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new r({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:C.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new r({...this._def,catchall:e})}pick(e){let t={};for(let n of g.util.objectKeys(e))e[n]&&this.shape[n]&&(t[n]=this.shape[n]);return new r({...this._def,shape:()=>t})}omit(e){let t={};for(let n of g.util.objectKeys(this.shape))e[n]||(t[n]=this.shape[n]);return new r({...this._def,shape:()=>t})}deepPartial(){return tt(this)}partial(e){let t={};for(let n of g.util.objectKeys(this.shape)){let s=this.shape[n];e&&!e[n]?t[n]=s:t[n]=s.optional()}return new r({...this._def,shape:()=>t})}required(e){let t={};for(let n of g.util.objectKeys(this.shape))if(e&&!e[n])t[n]=this.shape[n];else{let o=this.shape[n];for(;o instanceof Y;)o=o._def.innerType;t[n]=o}return new r({...this._def,shape:()=>t})}keyof(){return So(g.util.objectKeys(this.shape))}};m.ZodObject=z;z.create=(r,e)=>new z({shape:()=>r,unknownKeys:"strip",catchall:ee.create(),typeName:C.ZodObject,...I(e)});z.strictCreate=(r,e)=>new z({shape:()=>r,unknownKeys:"strict",catchall:ee.create(),typeName:C.ZodObject,...I(e)});z.lazycreate=(r,e)=>new z({shape:r,unknownKeys:"strip",catchall:ee.create(),typeName:C.ZodObject,...I(e)});var qe=class extends k{_parse(e){let{ctx:t}=this._processInputParams(e),n=this._def.options;function s(o){for(let a of o)if(a.result.status==="valid")return a.result;for(let a of o)if(a.result.status==="dirty")return t.common.issues.push(...a.ctx.common.issues),a.result;let i=o.map(a=>new f.ZodError(a.ctx.common.issues));return(0,p.addIssueToContext)(t,{code:f.ZodIssueCode.invalid_union,unionErrors:i}),p.INVALID}if(t.common.async)return Promise.all(n.map(async o=>{let i={...t,common:{...t.common,issues:[]},parent:null};return{result:await o._parseAsync({data:t.data,path:t.path,parent:i}),ctx:i}})).then(s);{let o,i=[];for(let c of n){let l={...t,common:{...t.common,issues:[]},parent:null},d=c._parseSync({data:t.data,path:t.path,parent:l});if(d.status==="valid")return d;d.status==="dirty"&&!o&&(o={result:d,ctx:l}),l.common.issues.length&&i.push(l.common.issues)}if(o)return t.common.issues.push(...o.ctx.common.issues),o.result;let a=i.map(c=>new f.ZodError(c));return(0,p.addIssueToContext)(t,{code:f.ZodIssueCode.invalid_union,unionErrors:a}),p.INVALID}}get options(){return this._def.options}};m.ZodUnion=qe;qe.create=(r,e)=>new qe({options:r,typeName:C.ZodUnion,...I(e)});var me=r=>r instanceof Le?me(r.schema):r instanceof K?me(r.innerType()):r instanceof Me?[r.value]:r instanceof Ve?r.options:r instanceof Be?g.util.objectValues(r.enum):r instanceof Fe?me(r._def.innerType):r instanceof Ne?[void 0]:r instanceof Re?[null]:r instanceof Y?[void 0,...me(r.unwrap())]:r instanceof ce?[null,...me(r.unwrap())]:r instanceof vt||r instanceof He?me(r.unwrap()):r instanceof Ge?me(r._def.innerType):[],Xt=class r extends k{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==g.ZodParsedType.object)return(0,p.addIssueToContext)(t,{code:f.ZodIssueCode.invalid_type,expected:g.ZodParsedType.object,received:t.parsedType}),p.INVALID;let n=this.discriminator,s=t.data[n],o=this.optionsMap.get(s);return o?t.common.async?o._parseAsync({data:t.data,path:t.path,parent:t}):o._parseSync({data:t.data,path:t.path,parent:t}):((0,p.addIssueToContext)(t,{code:f.ZodIssueCode.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),p.INVALID)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,n){let s=new Map;for(let o of t){let i=me(o.shape[e]);if(!i.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let a of i){if(s.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);s.set(a,o)}}return new r({typeName:C.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:s,...I(n)})}};m.ZodDiscriminatedUnion=Xt;function Yr(r,e){let t=(0,g.getParsedType)(r),n=(0,g.getParsedType)(e);if(r===e)return{valid:!0,data:r};if(t===g.ZodParsedType.object&&n===g.ZodParsedType.object){let s=g.util.objectKeys(e),o=g.util.objectKeys(r).filter(a=>s.indexOf(a)!==-1),i={...r,...e};for(let a of o){let c=Yr(r[a],e[a]);if(!c.valid)return{valid:!1};i[a]=c.data}return{valid:!0,data:i}}else if(t===g.ZodParsedType.array&&n===g.ZodParsedType.array){if(r.length!==e.length)return{valid:!1};let s=[];for(let o=0;o<r.length;o++){let i=r[o],a=e[o],c=Yr(i,a);if(!c.valid)return{valid:!1};s.push(c.data)}return{valid:!0,data:s}}else return t===g.ZodParsedType.date&&n===g.ZodParsedType.date&&+r==+e?{valid:!0,data:r}:{valid:!1}}var Ze=class extends k{_parse(e){let{status:t,ctx:n}=this._processInputParams(e),s=(o,i)=>{if((0,p.isAborted)(o)||(0,p.isAborted)(i))return p.INVALID;let a=Yr(o.value,i.value);return a.valid?(((0,p.isDirty)(o)||(0,p.isDirty)(i))&&t.dirty(),{status:t.value,value:a.data}):((0,p.addIssueToContext)(n,{code:f.ZodIssueCode.invalid_intersection_types}),p.INVALID)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([o,i])=>s(o,i)):s(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};m.ZodIntersection=Ze;Ze.create=(r,e,t)=>new Ze({left:r,right:e,typeName:C.ZodIntersection,...I(t)});var ae=class r extends k{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==g.ZodParsedType.array)return(0,p.addIssueToContext)(n,{code:f.ZodIssueCode.invalid_type,expected:g.ZodParsedType.array,received:n.parsedType}),p.INVALID;if(n.data.length<this._def.items.length)return(0,p.addIssueToContext)(n,{code:f.ZodIssueCode.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),p.INVALID;!this._def.rest&&n.data.length>this._def.items.length&&((0,p.addIssueToContext)(n,{code:f.ZodIssueCode.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());let o=[...n.data].map((i,a)=>{let c=this._def.items[a]||this._def.rest;return c?c._parse(new X(n,i,n.path,a)):null}).filter(i=>!!i);return n.common.async?Promise.all(o).then(i=>p.ParseStatus.mergeArray(t,i)):p.ParseStatus.mergeArray(t,o)}get items(){return this._def.items}rest(e){return new r({...this._def,rest:e})}};m.ZodTuple=ae;ae.create=(r,e)=>{if(!Array.isArray(r))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new ae({items:r,typeName:C.ZodTuple,rest:null,...I(e)})};var Qt=class r extends k{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==g.ZodParsedType.object)return(0,p.addIssueToContext)(n,{code:f.ZodIssueCode.invalid_type,expected:g.ZodParsedType.object,received:n.parsedType}),p.INVALID;let s=[],o=this._def.keyType,i=this._def.valueType;for(let a in n.data)s.push({key:o._parse(new X(n,a,n.path,a)),value:i._parse(new X(n,n.data[a],n.path,a)),alwaysSet:a in n.data});return n.common.async?p.ParseStatus.mergeObjectAsync(t,s):p.ParseStatus.mergeObjectSync(t,s)}get element(){return this._def.valueType}static create(e,t,n){return t instanceof k?new r({keyType:e,valueType:t,typeName:C.ZodRecord,...I(n)}):new r({keyType:xe.create(),valueType:e,typeName:C.ZodRecord,...I(t)})}};m.ZodRecord=Qt;var st=class extends k{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==g.ZodParsedType.map)return(0,p.addIssueToContext)(n,{code:f.ZodIssueCode.invalid_type,expected:g.ZodParsedType.map,received:n.parsedType}),p.INVALID;let s=this._def.keyType,o=this._def.valueType,i=[...n.data.entries()].map(([a,c],l)=>({key:s._parse(new X(n,a,n.path,[l,"key"])),value:o._parse(new X(n,c,n.path,[l,"value"]))}));if(n.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let c of i){let l=await c.key,d=await c.value;if(l.status==="aborted"||d.status==="aborted")return p.INVALID;(l.status==="dirty"||d.status==="dirty")&&t.dirty(),a.set(l.value,d.value)}return{status:t.value,value:a}})}else{let a=new Map;for(let c of i){let l=c.key,d=c.value;if(l.status==="aborted"||d.status==="aborted")return p.INVALID;(l.status==="dirty"||d.status==="dirty")&&t.dirty(),a.set(l.value,d.value)}return{status:t.value,value:a}}}};m.ZodMap=st;st.create=(r,e,t)=>new st({valueType:e,keyType:r,typeName:C.ZodMap,...I(t)});var ot=class r extends k{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==g.ZodParsedType.set)return(0,p.addIssueToContext)(n,{code:f.ZodIssueCode.invalid_type,expected:g.ZodParsedType.set,received:n.parsedType}),p.INVALID;let s=this._def;s.minSize!==null&&n.data.size<s.minSize.value&&((0,p.addIssueToContext)(n,{code:f.ZodIssueCode.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),t.dirty()),s.maxSize!==null&&n.data.size>s.maxSize.value&&((0,p.addIssueToContext)(n,{code:f.ZodIssueCode.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),t.dirty());let o=this._def.valueType;function i(c){let l=new Set;for(let d of c){if(d.status==="aborted")return p.INVALID;d.status==="dirty"&&t.dirty(),l.add(d.value)}return{status:t.value,value:l}}let a=[...n.data.values()].map((c,l)=>o._parse(new X(n,c,n.path,l)));return n.common.async?Promise.all(a).then(c=>i(c)):i(a)}min(e,t){return new r({...this._def,minSize:{value:e,message:x.errorUtil.toString(t)}})}max(e,t){return new r({...this._def,maxSize:{value:e,message:x.errorUtil.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}};m.ZodSet=ot;ot.create=(r,e)=>new ot({valueType:r,minSize:null,maxSize:null,typeName:C.ZodSet,...I(e)});var er=class r extends k{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==g.ZodParsedType.function)return(0,p.addIssueToContext)(t,{code:f.ZodIssueCode.invalid_type,expected:g.ZodParsedType.function,received:t.parsedType}),p.INVALID;function n(a,c){return(0,p.makeIssue)({data:a,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,(0,Yt.getErrorMap)(),Yt.defaultErrorMap].filter(l=>!!l),issueData:{code:f.ZodIssueCode.invalid_arguments,argumentsError:c}})}function s(a,c){return(0,p.makeIssue)({data:a,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,(0,Yt.getErrorMap)(),Yt.defaultErrorMap].filter(l=>!!l),issueData:{code:f.ZodIssueCode.invalid_return_type,returnTypeError:c}})}let o={errorMap:t.common.contextualErrorMap},i=t.data;if(this._def.returns instanceof Ce){let a=this;return(0,p.OK)(async function(...c){let l=new f.ZodError([]),d=await a._def.args.parseAsync(c,o).catch(_=>{throw l.addIssue(n(c,_)),l}),u=await Reflect.apply(i,this,d);return await a._def.returns._def.type.parseAsync(u,o).catch(_=>{throw l.addIssue(s(u,_)),l})})}else{let a=this;return(0,p.OK)(function(...c){let l=a._def.args.safeParse(c,o);if(!l.success)throw new f.ZodError([n(c,l.error)]);let d=Reflect.apply(i,this,l.data),u=a._def.returns.safeParse(d,o);if(!u.success)throw new f.ZodError([s(d,u.error)]);return u.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new r({...this._def,args:ae.create(e).rest(pe.create())})}returns(e){return new r({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,n){return new r({args:e||ae.create([]).rest(pe.create()),returns:t||pe.create(),typeName:C.ZodFunction,...I(n)})}};m.ZodFunction=er;var Le=class extends k{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}};m.ZodLazy=Le;Le.create=(r,e)=>new Le({getter:r,typeName:C.ZodLazy,...I(e)});var Me=class extends k{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return(0,p.addIssueToContext)(t,{received:t.data,code:f.ZodIssueCode.invalid_literal,expected:this._def.value}),p.INVALID}return{status:"valid",value:e.data}}get value(){return this._def.value}};m.ZodLiteral=Me;Me.create=(r,e)=>new Me({value:r,typeName:C.ZodLiteral,...I(e)});function So(r,e){return new Ve({values:r,typeName:C.ZodEnum,...I(e)})}var Ve=class r extends k{_parse(e){if(typeof e.data!="string"){let t=this._getOrReturnCtx(e),n=this._def.values;return(0,p.addIssueToContext)(t,{expected:g.util.joinValues(n),received:t.parsedType,code:f.ZodIssueCode.invalid_type}),p.INVALID}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let t=this._getOrReturnCtx(e),n=this._def.values;return(0,p.addIssueToContext)(t,{received:t.data,code:f.ZodIssueCode.invalid_enum_value,options:n}),p.INVALID}return(0,p.OK)(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return r.create(e,{...this._def,...t})}exclude(e,t=this._def){return r.create(this.options.filter(n=>!e.includes(n)),{...this._def,...t})}};m.ZodEnum=Ve;Ve.create=So;var Be=class extends k{_parse(e){let t=g.util.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==g.ZodParsedType.string&&n.parsedType!==g.ZodParsedType.number){let s=g.util.objectValues(t);return(0,p.addIssueToContext)(n,{expected:g.util.joinValues(s),received:n.parsedType,code:f.ZodIssueCode.invalid_type}),p.INVALID}if(this._cache||(this._cache=new Set(g.util.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let s=g.util.objectValues(t);return(0,p.addIssueToContext)(n,{received:n.data,code:f.ZodIssueCode.invalid_enum_value,options:s}),p.INVALID}return(0,p.OK)(e.data)}get enum(){return this._def.values}};m.ZodNativeEnum=Be;Be.create=(r,e)=>new Be({values:r,typeName:C.ZodNativeEnum,...I(e)});var Ce=class extends k{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==g.ZodParsedType.promise&&t.common.async===!1)return(0,p.addIssueToContext)(t,{code:f.ZodIssueCode.invalid_type,expected:g.ZodParsedType.promise,received:t.parsedType}),p.INVALID;let n=t.parsedType===g.ZodParsedType.promise?t.data:Promise.resolve(t.data);return(0,p.OK)(n.then(s=>this._def.type.parseAsync(s,{path:t.path,errorMap:t.common.contextualErrorMap})))}};m.ZodPromise=Ce;Ce.create=(r,e)=>new Ce({type:r,typeName:C.ZodPromise,...I(e)});var K=class extends k{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===C.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:n}=this._processInputParams(e),s=this._def.effect||null,o={addIssue:i=>{(0,p.addIssueToContext)(n,i),i.fatal?t.abort():t.dirty()},get path(){return n.path}};if(o.addIssue=o.addIssue.bind(o),s.type==="preprocess"){let i=s.transform(n.data,o);if(n.common.async)return Promise.resolve(i).then(async a=>{if(t.value==="aborted")return p.INVALID;let c=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return c.status==="aborted"?p.INVALID:c.status==="dirty"||t.value==="dirty"?(0,p.DIRTY)(c.value):c});{if(t.value==="aborted")return p.INVALID;let a=this._def.schema._parseSync({data:i,path:n.path,parent:n});return a.status==="aborted"?p.INVALID:a.status==="dirty"||t.value==="dirty"?(0,p.DIRTY)(a.value):a}}if(s.type==="refinement"){let i=a=>{let c=s.refinement(a,o);if(n.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?p.INVALID:(a.status==="dirty"&&t.dirty(),i(a.value),{status:t.value,value:a.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>a.status==="aborted"?p.INVALID:(a.status==="dirty"&&t.dirty(),i(a.value).then(()=>({status:t.value,value:a.value}))))}if(s.type==="transform")if(n.common.async===!1){let i=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!(0,p.isValid)(i))return p.INVALID;let a=s.transform(i.value,o);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(i=>(0,p.isValid)(i)?Promise.resolve(s.transform(i.value,o)).then(a=>({status:t.value,value:a})):p.INVALID);g.util.assertNever(s)}};m.ZodEffects=K;m.ZodTransformer=K;K.create=(r,e,t)=>new K({schema:r,typeName:C.ZodEffects,effect:e,...I(t)});K.createWithPreprocess=(r,e,t)=>new K({schema:e,effect:{type:"preprocess",transform:r},typeName:C.ZodEffects,...I(t)});var Y=class extends k{_parse(e){return this._getType(e)===g.ZodParsedType.undefined?(0,p.OK)(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};m.ZodOptional=Y;Y.create=(r,e)=>new Y({innerType:r,typeName:C.ZodOptional,...I(e)});var ce=class extends k{_parse(e){return this._getType(e)===g.ZodParsedType.null?(0,p.OK)(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};m.ZodNullable=ce;ce.create=(r,e)=>new ce({innerType:r,typeName:C.ZodNullable,...I(e)});var Fe=class extends k{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return t.parsedType===g.ZodParsedType.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};m.ZodDefault=Fe;Fe.create=(r,e)=>new Fe({innerType:r,typeName:C.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...I(e)});var Ge=class extends k{_parse(e){let{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},s=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return(0,p.isAsync)(s)?s.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new f.ZodError(n.common.issues)},input:n.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new f.ZodError(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};m.ZodCatch=Ge;Ge.create=(r,e)=>new Ge({innerType:r,typeName:C.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...I(e)});var it=class extends k{_parse(e){if(this._getType(e)!==g.ZodParsedType.nan){let n=this._getOrReturnCtx(e);return(0,p.addIssueToContext)(n,{code:f.ZodIssueCode.invalid_type,expected:g.ZodParsedType.nan,received:n.parsedType}),p.INVALID}return{status:"valid",value:e.data}}};m.ZodNaN=it;it.create=r=>new it({typeName:C.ZodNaN,...I(r)});m.BRAND=Symbol("zod_brand");var vt=class extends k{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}};m.ZodBranded=vt;var Ot=class r extends k{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let o=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?p.INVALID:o.status==="dirty"?(t.dirty(),(0,p.DIRTY)(o.value)):this._def.out._parseAsync({data:o.value,path:n.path,parent:n})})();{let s=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?p.INVALID:s.status==="dirty"?(t.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:n.path,parent:n})}}static create(e,t){return new r({in:e,out:t,typeName:C.ZodPipeline})}};m.ZodPipeline=Ot;var He=class extends k{_parse(e){let t=this._def.innerType._parse(e),n=s=>((0,p.isValid)(s)&&(s.value=Object.freeze(s.value)),s);return(0,p.isAsync)(t)?t.then(s=>n(s)):n(t)}unwrap(){return this._def.innerType}};m.ZodReadonly=He;He.create=(r,e)=>new He({innerType:r,typeName:C.ZodReadonly,...I(e)});function ko(r,e){let t=typeof r=="function"?r(e):typeof r=="string"?{message:r}:r;return typeof t=="string"?{message:t}:t}function Ao(r,e={},t){return r?we.create().superRefine((n,s)=>{let o=r(n);if(o instanceof Promise)return o.then(i=>{if(!i){let a=ko(e,n),c=a.fatal??t??!0;s.addIssue({code:"custom",...a,fatal:c})}});if(!o){let i=ko(e,n),a=i.fatal??t??!0;s.addIssue({code:"custom",...i,fatal:a})}}):we.create()}m.late={object:z.lazycreate};var C;(function(r){r.ZodString="ZodString",r.ZodNumber="ZodNumber",r.ZodNaN="ZodNaN",r.ZodBigInt="ZodBigInt",r.ZodBoolean="ZodBoolean",r.ZodDate="ZodDate",r.ZodSymbol="ZodSymbol",r.ZodUndefined="ZodUndefined",r.ZodNull="ZodNull",r.ZodAny="ZodAny",r.ZodUnknown="ZodUnknown",r.ZodNever="ZodNever",r.ZodVoid="ZodVoid",r.ZodArray="ZodArray",r.ZodObject="ZodObject",r.ZodUnion="ZodUnion",r.ZodDiscriminatedUnion="ZodDiscriminatedUnion",r.ZodIntersection="ZodIntersection",r.ZodTuple="ZodTuple",r.ZodRecord="ZodRecord",r.ZodMap="ZodMap",r.ZodSet="ZodSet",r.ZodFunction="ZodFunction",r.ZodLazy="ZodLazy",r.ZodLiteral="ZodLiteral",r.ZodEnum="ZodEnum",r.ZodEffects="ZodEffects",r.ZodNativeEnum="ZodNativeEnum",r.ZodOptional="ZodOptional",r.ZodNullable="ZodNullable",r.ZodDefault="ZodDefault",r.ZodCatch="ZodCatch",r.ZodPromise="ZodPromise",r.ZodBranded="ZodBranded",r.ZodPipeline="ZodPipeline",r.ZodReadonly="ZodReadonly"})(C||(m.ZodFirstPartyTypeKind=C={}));var wd=(r,e={message:`Input not instance of ${r.name}`})=>Ao(t=>t instanceof r,e);m.instanceof=wd;var Eo=xe.create;m.string=Eo;var To=De.create;m.number=To;var Cd=it.create;m.nan=Cd;var Id=Pe.create;m.bigint=Id;var Do=Ue.create;m.boolean=Do;var kd=je.create;m.date=kd;var vd=rt.create;m.symbol=vd;var Od=Ne.create;m.undefined=Od;var $d=Re.create;m.null=$d;var Sd=we.create;m.any=Sd;var Ad=pe.create;m.unknown=Ad;var Ed=ee.create;m.never=Ed;var Td=nt.create;m.void=Td;var Dd=he.create;m.array=Dd;var Pd=z.create;m.object=Pd;var Ud=z.strictCreate;m.strictObject=Ud;var jd=qe.create;m.union=jd;var Nd=Xt.create;m.discriminatedUnion=Nd;var Rd=Ze.create;m.intersection=Rd;var qd=ae.create;m.tuple=qd;var Zd=Qt.create;m.record=Zd;var Ld=st.create;m.map=Ld;var Md=ot.create;m.set=Md;var Vd=er.create;m.function=Vd;var Bd=Le.create;m.lazy=Bd;var Fd=Me.create;m.literal=Fd;var Gd=Ve.create;m.enum=Gd;var Hd=Be.create;m.nativeEnum=Hd;var zd=Ce.create;m.promise=zd;var Po=K.create;m.effect=Po;m.transformer=Po;var Wd=Y.create;m.optional=Wd;var Kd=ce.create;m.nullable=Kd;var Jd=K.createWithPreprocess;m.preprocess=Jd;var Yd=Ot.create;m.pipeline=Yd;var Xd=()=>Eo().optional();m.ostring=Xd;var Qd=()=>To().optional();m.onumber=Qd;var eu=()=>Do().optional();m.oboolean=eu;m.coerce={string:(r=>xe.create({...r,coerce:!0})),number:(r=>De.create({...r,coerce:!0})),boolean:(r=>Ue.create({...r,coerce:!0})),bigint:(r=>Pe.create({...r,coerce:!0})),date:(r=>je.create({...r,coerce:!0}))};m.NEVER=p.INVALID});var Xr=b(Q=>{"use strict";var tu=Q&&Q.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),at=Q&&Q.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&tu(e,r,t)};Object.defineProperty(Q,"__esModule",{value:!0});at(Kt(),Q);at(Kr(),Q);at(xo(),Q);at(It(),Q);at(Uo(),Q);at(Wt(),Q)});var Ro=b(W=>{"use strict";var jo=W&&W.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),ru=W&&W.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),nu=W&&W.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&jo(e,r,t);return ru(e,r),e},su=W&&W.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&jo(e,r,t)};Object.defineProperty(W,"__esModule",{value:!0});W.z=void 0;var No=nu(Xr());W.z=No;su(Xr(),W);W.default=No});var tr=b((vp,Mo)=>{var Qr=null;function en(){return Qr||(Qr=Ro().z),Qr}function qo(){return en().string().trim().refine(r=>{let e=r.indexOf(".");return e>0&&e<r.length-1},{message:"API Key \u683C\u5F0F\u9519\u8BEF\uFF0C\u5E94\u4E3A <ak>.<sk>"})}function Zo(){return en().string().refine(r=>{try{return JSON.parse(r),!0}catch{return!1}},{message:"--meta-data \u4E0D\u662F\u5408\u6CD5\u7684 JSON"})}function Lo(){return en().string().trim().refine(r=>/^https?:\/\/[^\s]+$/i.test(r),{message:"registry \u5FC5\u987B\u662F http(s):// \u5F00\u5934\u7684 URL"})}function ou(r){let e=qo().safeParse(r);return e.success?{ok:!0,value:e.data}:{ok:!1,error:e.error.issues[0].message}}function iu(r){let e=Zo().safeParse(r);return e.success?{ok:!0,value:e.data}:{ok:!1,error:e.error.issues[0].message}}function au(r){let e=Lo().safeParse(r);return e.success?{ok:!0,value:e.data}:{ok:!1,error:e.error.issues[0].message}}Mo.exports={apiKeySchema:qo,pubMetaDataSchema:Zo,registrySchema:Lo,validateApiKey:ou,validatePubMetaData:iu,validateRegistry:au}});var Bo=b((Op,Vo)=>{var cu=po(),{validateApiKey:lu}=tr();function du(r,e){let t=new cu(e),n=r.command("auth").description("\u7BA1\u7406\u8EAB\u4EFD\u9A8C\u8BC1\u51ED\u8BC1");n.command("login").description("\u767B\u5F55 MakeCoder\uFF08\u6D4F\u89C8\u5668\u6216\u7EC8\u7AEF\u8F93\u5165 API Key\uFF09").option("--apikey <key>","\u76F4\u63A5\u63D0\u4F9B API Key\uFF08\u683C\u5F0F: <ak>.<sk>\uFF09").action(async s=>{if(s.apikey){let o=lu(s.apikey);if(!o.ok){e.fail(o.error,"API Key \u5F62\u5982 <ak>.<sk>\uFF0C\u83B7\u53D6: https://makecoder.com/my/apikeys"),process.exitCode=1;return}process.exitCode=await t.handle({authSubcommand:"login",authRemainingArgs:["--apikey",o.value],coderBaseUrl:e.getCoderBaseUrl()})||0;return}if(e.isNonInteractive){e.fail("missing credentials","run `coder auth login --apikey <ak>.<sk>`"),process.exitCode=1;return}process.exitCode=await t.handle({authSubcommand:"login",authRemainingArgs:[],coderBaseUrl:e.getCoderBaseUrl()})||0}),n.command("logout").description("\u9000\u51FA\u767B\u5F55\uFF0C\u6E05\u9664\u5DF2\u4FDD\u5B58\u7684 API Key").action(async()=>{process.exitCode=await t.handle({authSubcommand:"logout"})||0}),n.command("status").description("\u67E5\u770B\u5F53\u524D\u767B\u5F55\u72B6\u6001").action(async()=>{process.exitCode=await t.handle({authSubcommand:"status"})||0})}Vo.exports={register:du}});var Ho=b(($p,Go)=>{var te=require("fs"),ze=require("path"),uu=require("readline"),{execSync:rr}=require("child_process"),Fo=require("os"),tn=class{constructor(){this.serverUrl="https://makecoder.com/bigapis/codev/v1/coderpub"}getClaudeJsonlPath(e,t=!1){let n=e.replace(/[/_]/g,"-"),s=ze.join(Fo.homedir(),".claude","projects",n);if(t&&(console.log(`
311
- \u{1F4C2} [allow-clone] \u67E5\u627E JSONL \u6587\u4EF6...`),console.log(` \u9879\u76EE\u76EE\u5F55: ${e}`),console.log(` Claude \u9879\u76EE\u540D: ${n}`),console.log(` Claude \u9879\u76EE\u76EE\u5F55: ${s}`)),!te.existsSync(s))return t&&console.log(" \u274C Claude \u9879\u76EE\u76EE\u5F55\u4E0D\u5B58\u5728"),null;t&&console.log(" \u2713 Claude \u9879\u76EE\u76EE\u5F55\u5B58\u5728");try{let o=te.readdirSync(s).filter(i=>i.endsWith(".jsonl")).map(i=>({name:i,path:ze.join(s,i),mtime:te.statSync(ze.join(s,i)).mtime,size:te.statSync(ze.join(s,i)).size})).sort((i,a)=>a.mtime-i.mtime);return t&&(console.log(` \u627E\u5230 ${o.length} \u4E2A JSONL \u6587\u4EF6:`),o.forEach((i,a)=>{let c=(i.size/1024).toFixed(2),l=i.mtime.toLocaleString(),d=a===0?" <- \u6700\u65B0":"";console.log(` ${a+1}. ${i.name} (${c} KB, ${l})${d}`)})),o.length>0?(t&&console.log(` \u2713 \u9009\u62E9\u6700\u65B0\u6587\u4EF6: ${o[0].name}`),o[0].path):(t&&console.log(" \u274C \u76EE\u5F55\u4E2D\u6CA1\u6709 JSONL \u6587\u4EF6"),null)}catch(o){return t&&console.log(` \u274C \u8BFB\u53D6\u76EE\u5F55\u5931\u8D25: ${o.message}`),null}}async promptForName(){let e=uu.createInterface({input:process.stdin,output:process.stdout});return new Promise((t,n)=>{e.question("\u8BF7\u8F93\u5165\u9879\u76EE\u540D\u79F0 (name): ",s=>{e.close();let o=s.trim();if(!o){n(new Error("\u9879\u76EE\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A"));return}if(!/^[a-zA-Z0-9_-]+$/.test(o)){n(new Error("\u9879\u76EE\u540D\u79F0\u53EA\u80FD\u5305\u542B\u5B57\u6BCD\u3001\u6570\u5B57\u3001\u4E0B\u5212\u7EBF\u548C\u8FDE\u5B57\u7B26"));return}t(o)})})}async createZip(e,t={}){let{allowClone:n=!1}=t,s=Fo.tmpdir(),o=`coder-pub-${Date.now()}.zip`,i=ze.join(s,o);try{let a=!1;if(te.existsSync(ze.join(e,".git")))try{rr(`git archive -o "${i}" HEAD`,{cwd:e,stdio:"pipe"}),console.log("\u{1F4E6} \u4F7F\u7528 git archive \u521B\u5EFA\u538B\u7F29\u5305\uFF08\u5DF2\u6392\u9664 .gitignore \u4E2D\u7684\u6587\u4EF6\uFF09"),a=!0}catch{console.log("\u26A0\uFE0F git archive \u5931\u8D25\uFF0C\u4F7F\u7528\u666E\u901A zip \u547D\u4EE4")}if(!a){let l=[".git/*","node_modules/*",".env",".env.*","*.log",".DS_Store"].map(d=>`-x "${d}"`).join(" ");rr(`zip -r "${i}" . ${l}`,{cwd:e,stdio:"pipe"}),console.log("\u{1F4E6} \u5DF2\u521B\u5EFA\u538B\u7F29\u5305")}if(n){console.log(`
312
- \u{1F504} [allow-clone] \u5F00\u59CB\u5904\u7406 AI \u751F\u6210\u8BB0\u5F55...`);let c=this.getClaudeJsonlPath(e,!0);if(c){let l=ze.join(s,"coder.pub.jsonl"),u=(te.statSync(c).size/1024).toFixed(2);console.log(`
313
- \u{1F4E6} [allow-clone] \u6253\u5305 JSONL \u6587\u4EF6...`),console.log(` \u6E90\u6587\u4EF6: ${c}`),console.log(` \u6587\u4EF6\u5927\u5C0F: ${u} KB`),console.log(` \u4E34\u65F6\u6587\u4EF6: ${l}`),te.copyFileSync(c,l),console.log(" \u2713 \u5DF2\u590D\u5236\u5230\u4E34\u65F6\u76EE\u5F55"),console.log(` \u76EE\u6807 ZIP: ${i}`),console.log(" \u76EE\u6807\u6587\u4EF6\u540D: coder.pub.jsonl"),rr(`zip -j "${i}" "${l}"`,{stdio:"pipe"}),console.log(" \u2713 \u5DF2\u6DFB\u52A0\u5230 ZIP \u5305"),te.unlinkSync(l),console.log(" \u2713 \u5DF2\u6E05\u7406\u4E34\u65F6\u6587\u4EF6"),console.log(`\u{1F4CB} [allow-clone] AI \u751F\u6210\u8BB0\u5F55\u5904\u7406\u5B8C\u6210 (coder.pub.jsonl)
285
+ `)}};js.exports=vr});var ut=b(P=>{"use strict";Object.defineProperty(P,"__esModule",{value:!0});P.getParsedType=P.ZodParsedType=P.objectUtil=P.util=void 0;var Cr;(function(t){t.assertEqual=s=>{};function e(s){}t.assertIs=e;function r(s){throw new Error}t.assertNever=r,t.arrayToEnum=s=>{let o={};for(let i of s)o[i]=i;return o},t.getValidEnumValues=s=>{let o=t.objectKeys(s).filter(a=>typeof s[s[a]]!="number"),i={};for(let a of o)i[a]=s[a];return t.objectValues(i)},t.objectValues=s=>t.objectKeys(s).map(function(o){return s[o]}),t.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{let o=[];for(let i in s)Object.prototype.hasOwnProperty.call(s,i)&&o.push(i);return o},t.find=(s,o)=>{for(let i of s)if(o(i))return i},t.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function n(s,o=" | "){return s.map(i=>typeof i=="string"?`'${i}'`:i).join(o)}t.joinValues=n,t.jsonStringifyReplacer=(s,o)=>typeof o=="bigint"?o.toString():o})(Cr||(P.util=Cr={}));var Rs;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(Rs||(P.objectUtil=Rs={}));P.ZodParsedType=Cr.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]);var rd=t=>{switch(typeof t){case"undefined":return P.ZodParsedType.undefined;case"string":return P.ZodParsedType.string;case"number":return Number.isNaN(t)?P.ZodParsedType.nan:P.ZodParsedType.number;case"boolean":return P.ZodParsedType.boolean;case"function":return P.ZodParsedType.function;case"bigint":return P.ZodParsedType.bigint;case"symbol":return P.ZodParsedType.symbol;case"object":return Array.isArray(t)?P.ZodParsedType.array:t===null?P.ZodParsedType.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?P.ZodParsedType.promise:typeof Map<"u"&&t instanceof Map?P.ZodParsedType.map:typeof Set<"u"&&t instanceof Set?P.ZodParsedType.set:typeof Date<"u"&&t instanceof Date?P.ZodParsedType.date:P.ZodParsedType.object;default:return P.ZodParsedType.unknown}};P.getParsedType=rd});var Ot=b(pe=>{"use strict";Object.defineProperty(pe,"__esModule",{value:!0});pe.ZodError=pe.quotelessJson=pe.ZodIssueCode=void 0;var Zs=ut();pe.ZodIssueCode=Zs.util.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);var nd=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:");pe.quotelessJson=nd;var mt=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}format(e){let r=e||function(o){return o.message},n={_errors:[]},s=o=>{for(let i of o.issues)if(i.code==="invalid_union")i.unionErrors.map(s);else if(i.code==="invalid_return_type")s(i.returnTypeError);else if(i.code==="invalid_arguments")s(i.argumentsError);else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;c<i.path.length;){let d=i.path[c];c===i.path.length-1?(a[d]=a[d]||{_errors:[]},a[d]._errors.push(r(i))):a[d]=a[d]||{_errors:[]},a=a[d],c++}}};return s(this),n}static assert(e){if(!(e instanceof t))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Zs.util.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=r=>r.message){let r={},n=[];for(let s of this.issues)if(s.path.length>0){let o=s.path[0];r[o]=r[o]||[],r[o].push(e(s))}else n.push(e(s));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};pe.ZodError=mt;mt.create=t=>new mt(t)});var Sr=b($r=>{"use strict";Object.defineProperty($r,"__esModule",{value:!0});var q=Ot(),ve=ut(),sd=(t,e)=>{let r;switch(t.code){case q.ZodIssueCode.invalid_type:t.received===ve.ZodParsedType.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case q.ZodIssueCode.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,ve.util.jsonStringifyReplacer)}`;break;case q.ZodIssueCode.unrecognized_keys:r=`Unrecognized key(s) in object: ${ve.util.joinValues(t.keys,", ")}`;break;case q.ZodIssueCode.invalid_union:r="Invalid input";break;case q.ZodIssueCode.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${ve.util.joinValues(t.options)}`;break;case q.ZodIssueCode.invalid_enum_value:r=`Invalid enum value. Expected ${ve.util.joinValues(t.options)}, received '${t.received}'`;break;case q.ZodIssueCode.invalid_arguments:r="Invalid function arguments";break;case q.ZodIssueCode.invalid_return_type:r="Invalid function return type";break;case q.ZodIssueCode.invalid_date:r="Invalid date";break;case q.ZodIssueCode.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:ve.util.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case q.ZodIssueCode.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case q.ZodIssueCode.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case q.ZodIssueCode.custom:r="Invalid input";break;case q.ZodIssueCode.invalid_intersection_types:r="Intersection results could not be merged";break;case q.ZodIssueCode.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case q.ZodIssueCode.not_finite:r="Number must be finite";break;default:r=e.defaultError,ve.util.assertNever(t)}return{message:r}};$r.default=sd});var Dt=b(fe=>{"use strict";var od=fe&&fe.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(fe,"__esModule",{value:!0});fe.defaultErrorMap=void 0;fe.setErrorMap=id;fe.getErrorMap=ad;var qs=od(Sr());fe.defaultErrorMap=qs.default;var Ls=qs.default;function id(t){Ls=t}function ad(){return Ls}});var Ar=b(O=>{"use strict";var cd=O&&O.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(O,"__esModule",{value:!0});O.isAsync=O.isValid=O.isDirty=O.isAborted=O.OK=O.DIRTY=O.INVALID=O.ParseStatus=O.EMPTY_PATH=O.makeIssue=void 0;O.addIssueToContext=ud;var dd=Dt(),Ms=cd(Sr()),ld=t=>{let{data:e,path:r,errorMaps:n,issueData:s}=t,o=[...r,...s.path||[]],i={...s,path:o};if(s.message!==void 0)return{...s,path:o,message:s.message};let a="",c=n.filter(d=>!!d).slice().reverse();for(let d of c)a=d(i,{data:e,defaultError:a}).message;return{...s,path:o,message:a}};O.makeIssue=ld;O.EMPTY_PATH=[];function ud(t,e){let r=(0,dd.getErrorMap)(),n=(0,O.makeIssue)({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===Ms.default?void 0:Ms.default].filter(s=>!!s)});t.common.issues.push(n)}var Tr=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){let n=[];for(let s of r){if(s.status==="aborted")return O.INVALID;s.status==="dirty"&&e.dirty(),n.push(s.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,r){let n=[];for(let s of r){let o=await s.key,i=await s.value;n.push({key:o,value:i})}return t.mergeObjectSync(e,n)}static mergeObjectSync(e,r){let n={};for(let s of r){let{key:o,value:i}=s;if(o.status==="aborted"||i.status==="aborted")return O.INVALID;o.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),o.value!=="__proto__"&&(typeof i.value<"u"||s.alwaysSet)&&(n[o.value]=i.value)}return{status:e.value,value:n}}};O.ParseStatus=Tr;O.INVALID=Object.freeze({status:"aborted"});var md=t=>({status:"dirty",value:t});O.DIRTY=md;var pd=t=>({status:"valid",value:t});O.OK=pd;var fd=t=>t.status==="aborted";O.isAborted=fd;var hd=t=>t.status==="dirty";O.isDirty=hd;var gd=t=>t.status==="valid";O.isValid=gd;var yd=t=>typeof Promise<"u"&&t instanceof Promise;O.isAsync=yd});var Vs=b(Bs=>{"use strict";Object.defineProperty(Bs,"__esModule",{value:!0})});var Gs=b(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});Pt.errorUtil=void 0;var Fs;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(Fs||(Pt.errorUtil=Fs={}))});var no=b(u=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0});u.discriminatedUnion=u.date=u.boolean=u.bigint=u.array=u.any=u.coerce=u.ZodFirstPartyTypeKind=u.late=u.ZodSchema=u.Schema=u.ZodReadonly=u.ZodPipeline=u.ZodBranded=u.BRAND=u.ZodNaN=u.ZodCatch=u.ZodDefault=u.ZodNullable=u.ZodOptional=u.ZodTransformer=u.ZodEffects=u.ZodPromise=u.ZodNativeEnum=u.ZodEnum=u.ZodLiteral=u.ZodLazy=u.ZodFunction=u.ZodSet=u.ZodMap=u.ZodRecord=u.ZodTuple=u.ZodIntersection=u.ZodDiscriminatedUnion=u.ZodUnion=u.ZodObject=u.ZodArray=u.ZodVoid=u.ZodNever=u.ZodUnknown=u.ZodAny=u.ZodNull=u.ZodUndefined=u.ZodSymbol=u.ZodDate=u.ZodBoolean=u.ZodBigInt=u.ZodNumber=u.ZodString=u.ZodType=void 0;u.NEVER=u.void=u.unknown=u.union=u.undefined=u.tuple=u.transformer=u.symbol=u.string=u.strictObject=u.set=u.record=u.promise=u.preprocess=u.pipeline=u.ostring=u.optional=u.onumber=u.oboolean=u.object=u.number=u.nullable=u.null=u.never=u.nativeEnum=u.nan=u.map=u.literal=u.lazy=u.intersection=u.instanceof=u.function=u.enum=u.effect=void 0;u.datetimeRegex=Ws;u.custom=Xs;var f=Ot(),Ut=Dt(),I=Gs(),m=Ar(),h=ut(),Y=class{constructor(e,r,n,s){this._cachedPath=[],this.parent=e,this.data=r,this._path=n,this._key=s}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},zs=(t,e)=>{if((0,m.isValid)(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new f.ZodError(t.common.issues);return this._error=r,this._error}}};function w(t){if(!t)return{};let{errorMap:e,invalid_type_error:r,required_error:n,description:s}=t;if(e&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:s}:{errorMap:(i,a)=>{let{message:c}=t;return i.code==="invalid_enum_value"?{message:c??a.defaultError}:typeof a.data>"u"?{message:c??n??a.defaultError}:i.code!=="invalid_type"?{message:a.defaultError}:{message:c??r??a.defaultError}},description:s}}var v=class{get description(){return this._def.description}_getType(e){return(0,h.getParsedType)(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:(0,h.getParsedType)(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new m.ParseStatus,ctx:{common:e.parent.common,data:e.data,parsedType:(0,h.getParsedType)(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if((0,m.isAsync)(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){let r=this._parse(e);return Promise.resolve(r)}parse(e,r){let n=this.safeParse(e,r);if(n.success)return n.data;throw n.error}safeParse(e,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:(0,h.getParsedType)(e)},s=this._parseSync({data:e,path:n.path,parent:n});return zs(n,s)}"~validate"(e){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:(0,h.getParsedType)(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:r});return(0,m.isValid)(n)?{value:n.value}:{issues:r.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:r}).then(n=>(0,m.isValid)(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(e,r){let n=await this.safeParseAsync(e,r);if(n.success)return n.data;throw n.error}async safeParseAsync(e,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:(0,h.getParsedType)(e)},s=this._parse({data:e,path:n.path,parent:n}),o=await((0,m.isAsync)(s)?s:Promise.resolve(s));return zs(n,o)}refine(e,r){let n=s=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(s):r;return this._refinement((s,o)=>{let i=e(s),a=()=>o.addIssue({code:f.ZodIssueCode.custom,...n(s)});return typeof Promise<"u"&&i instanceof Promise?i.then(c=>c?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(e,r){return this._refinement((n,s)=>e(n)?!0:(s.addIssue(typeof r=="function"?r(n,s):r),!1))}_refinement(e){return new J({schema:this,typeName:k.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return W.create(this,this._def)}nullable(){return ie.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ue.create(this)}promise(){return ye.create(this,this._def)}or(e){return Oe.create([this,e],this._def)}and(e){return De.create(this,e,this._def)}transform(e){return new J({...w(this._def),schema:this,typeName:k.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new Re({...w(this._def),innerType:this,defaultValue:r,typeName:k.ZodDefault})}brand(){return new pt({typeName:k.ZodBranded,type:this,...w(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new Ze({...w(this._def),innerType:this,catchValue:r,typeName:k.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return ft.create(this,e)}readonly(){return qe.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}};u.ZodType=v;u.Schema=v;u.ZodSchema=v;var _d=/^c[^\s-]{8,}$/i,bd=/^[0-9a-z]+$/,Id=/^[0-9A-HJKMNP-TV-Z]{26}$/i,xd=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,kd=/^[a-z0-9_-]{21}$/i,wd=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,vd=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Cd=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,$d="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Er,Sd=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Td=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Ad=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Ed=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Od=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Dd=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Js="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Pd=new RegExp(`^${Js}$`);function Hs(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let r=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${r}`}function Ud(t){return new RegExp(`^${Hs(t)}$`)}function Ws(t){let e=`${Js}T${Hs(t)}`,r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function jd(t,e){return!!((e==="v4"||!e)&&Sd.test(t)||(e==="v6"||!e)&&Ad.test(t))}function Nd(t,e){if(!wd.test(t))return!1;try{let[r]=t.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),s=JSON.parse(atob(n));return!(typeof s!="object"||s===null||"typ"in s&&s?.typ!=="JWT"||!s.alg||e&&s.alg!==e)}catch{return!1}}function Rd(t,e){return!!((e==="v4"||!e)&&Td.test(t)||(e==="v6"||!e)&&Ed.test(t))}var he=class t extends v{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==h.ZodParsedType.string){let o=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(o,{code:f.ZodIssueCode.invalid_type,expected:h.ZodParsedType.string,received:o.parsedType}),m.INVALID}let n=new m.ParseStatus,s;for(let o of this._def.checks)if(o.kind==="min")e.data.length<o.value&&(s=this._getOrReturnCtx(e,s),(0,m.addIssueToContext)(s,{code:f.ZodIssueCode.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),n.dirty());else if(o.kind==="max")e.data.length>o.value&&(s=this._getOrReturnCtx(e,s),(0,m.addIssueToContext)(s,{code:f.ZodIssueCode.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),n.dirty());else if(o.kind==="length"){let i=e.data.length>o.value,a=e.data.length<o.value;(i||a)&&(s=this._getOrReturnCtx(e,s),i?(0,m.addIssueToContext)(s,{code:f.ZodIssueCode.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):a&&(0,m.addIssueToContext)(s,{code:f.ZodIssueCode.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),n.dirty())}else if(o.kind==="email")Cd.test(e.data)||(s=this._getOrReturnCtx(e,s),(0,m.addIssueToContext)(s,{validation:"email",code:f.ZodIssueCode.invalid_string,message:o.message}),n.dirty());else if(o.kind==="emoji")Er||(Er=new RegExp($d,"u")),Er.test(e.data)||(s=this._getOrReturnCtx(e,s),(0,m.addIssueToContext)(s,{validation:"emoji",code:f.ZodIssueCode.invalid_string,message:o.message}),n.dirty());else if(o.kind==="uuid")xd.test(e.data)||(s=this._getOrReturnCtx(e,s),(0,m.addIssueToContext)(s,{validation:"uuid",code:f.ZodIssueCode.invalid_string,message:o.message}),n.dirty());else if(o.kind==="nanoid")kd.test(e.data)||(s=this._getOrReturnCtx(e,s),(0,m.addIssueToContext)(s,{validation:"nanoid",code:f.ZodIssueCode.invalid_string,message:o.message}),n.dirty());else if(o.kind==="cuid")_d.test(e.data)||(s=this._getOrReturnCtx(e,s),(0,m.addIssueToContext)(s,{validation:"cuid",code:f.ZodIssueCode.invalid_string,message:o.message}),n.dirty());else if(o.kind==="cuid2")bd.test(e.data)||(s=this._getOrReturnCtx(e,s),(0,m.addIssueToContext)(s,{validation:"cuid2",code:f.ZodIssueCode.invalid_string,message:o.message}),n.dirty());else if(o.kind==="ulid")Id.test(e.data)||(s=this._getOrReturnCtx(e,s),(0,m.addIssueToContext)(s,{validation:"ulid",code:f.ZodIssueCode.invalid_string,message:o.message}),n.dirty());else if(o.kind==="url")try{new URL(e.data)}catch{s=this._getOrReturnCtx(e,s),(0,m.addIssueToContext)(s,{validation:"url",code:f.ZodIssueCode.invalid_string,message:o.message}),n.dirty()}else o.kind==="regex"?(o.regex.lastIndex=0,o.regex.test(e.data)||(s=this._getOrReturnCtx(e,s),(0,m.addIssueToContext)(s,{validation:"regex",code:f.ZodIssueCode.invalid_string,message:o.message}),n.dirty())):o.kind==="trim"?e.data=e.data.trim():o.kind==="includes"?e.data.includes(o.value,o.position)||(s=this._getOrReturnCtx(e,s),(0,m.addIssueToContext)(s,{code:f.ZodIssueCode.invalid_string,validation:{includes:o.value,position:o.position},message:o.message}),n.dirty()):o.kind==="toLowerCase"?e.data=e.data.toLowerCase():o.kind==="toUpperCase"?e.data=e.data.toUpperCase():o.kind==="startsWith"?e.data.startsWith(o.value)||(s=this._getOrReturnCtx(e,s),(0,m.addIssueToContext)(s,{code:f.ZodIssueCode.invalid_string,validation:{startsWith:o.value},message:o.message}),n.dirty()):o.kind==="endsWith"?e.data.endsWith(o.value)||(s=this._getOrReturnCtx(e,s),(0,m.addIssueToContext)(s,{code:f.ZodIssueCode.invalid_string,validation:{endsWith:o.value},message:o.message}),n.dirty()):o.kind==="datetime"?Ws(o).test(e.data)||(s=this._getOrReturnCtx(e,s),(0,m.addIssueToContext)(s,{code:f.ZodIssueCode.invalid_string,validation:"datetime",message:o.message}),n.dirty()):o.kind==="date"?Pd.test(e.data)||(s=this._getOrReturnCtx(e,s),(0,m.addIssueToContext)(s,{code:f.ZodIssueCode.invalid_string,validation:"date",message:o.message}),n.dirty()):o.kind==="time"?Ud(o).test(e.data)||(s=this._getOrReturnCtx(e,s),(0,m.addIssueToContext)(s,{code:f.ZodIssueCode.invalid_string,validation:"time",message:o.message}),n.dirty()):o.kind==="duration"?vd.test(e.data)||(s=this._getOrReturnCtx(e,s),(0,m.addIssueToContext)(s,{validation:"duration",code:f.ZodIssueCode.invalid_string,message:o.message}),n.dirty()):o.kind==="ip"?jd(e.data,o.version)||(s=this._getOrReturnCtx(e,s),(0,m.addIssueToContext)(s,{validation:"ip",code:f.ZodIssueCode.invalid_string,message:o.message}),n.dirty()):o.kind==="jwt"?Nd(e.data,o.alg)||(s=this._getOrReturnCtx(e,s),(0,m.addIssueToContext)(s,{validation:"jwt",code:f.ZodIssueCode.invalid_string,message:o.message}),n.dirty()):o.kind==="cidr"?Rd(e.data,o.version)||(s=this._getOrReturnCtx(e,s),(0,m.addIssueToContext)(s,{validation:"cidr",code:f.ZodIssueCode.invalid_string,message:o.message}),n.dirty()):o.kind==="base64"?Od.test(e.data)||(s=this._getOrReturnCtx(e,s),(0,m.addIssueToContext)(s,{validation:"base64",code:f.ZodIssueCode.invalid_string,message:o.message}),n.dirty()):o.kind==="base64url"?Dd.test(e.data)||(s=this._getOrReturnCtx(e,s),(0,m.addIssueToContext)(s,{validation:"base64url",code:f.ZodIssueCode.invalid_string,message:o.message}),n.dirty()):h.util.assertNever(o);return{status:n.value,value:e.data}}_regex(e,r,n){return this.refinement(s=>e.test(s),{validation:r,code:f.ZodIssueCode.invalid_string,...I.errorUtil.errToObj(n)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...I.errorUtil.errToObj(e)})}url(e){return this._addCheck({kind:"url",...I.errorUtil.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...I.errorUtil.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...I.errorUtil.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...I.errorUtil.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...I.errorUtil.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...I.errorUtil.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...I.errorUtil.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...I.errorUtil.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...I.errorUtil.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...I.errorUtil.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...I.errorUtil.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...I.errorUtil.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...I.errorUtil.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...I.errorUtil.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...I.errorUtil.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...I.errorUtil.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r?.position,...I.errorUtil.errToObj(r?.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...I.errorUtil.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...I.errorUtil.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...I.errorUtil.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...I.errorUtil.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...I.errorUtil.errToObj(r)})}nonempty(e){return this.min(1,I.errorUtil.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};u.ZodString=he;he.create=t=>new he({checks:[],typeName:k.ZodString,coerce:t?.coerce??!1,...w(t)});function Zd(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,s=r>n?r:n,o=Number.parseInt(t.toFixed(s).replace(".","")),i=Number.parseInt(e.toFixed(s).replace(".",""));return o%i/10**s}var Ce=class t extends v{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==h.ZodParsedType.number){let o=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(o,{code:f.ZodIssueCode.invalid_type,expected:h.ZodParsedType.number,received:o.parsedType}),m.INVALID}let n,s=new m.ParseStatus;for(let o of this._def.checks)o.kind==="int"?h.util.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{code:f.ZodIssueCode.invalid_type,expected:"integer",received:"float",message:o.message}),s.dirty()):o.kind==="min"?(o.inclusive?e.data<o.value:e.data<=o.value)&&(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{code:f.ZodIssueCode.too_small,minimum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?e.data>o.value:e.data>=o.value)&&(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{code:f.ZodIssueCode.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="multipleOf"?Zd(e.data,o.value)!==0&&(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{code:f.ZodIssueCode.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):o.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{code:f.ZodIssueCode.not_finite,message:o.message}),s.dirty()):h.util.assertNever(o);return{status:s.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,I.errorUtil.toString(r))}gt(e,r){return this.setLimit("min",e,!1,I.errorUtil.toString(r))}lte(e,r){return this.setLimit("max",e,!0,I.errorUtil.toString(r))}lt(e,r){return this.setLimit("max",e,!1,I.errorUtil.toString(r))}setLimit(e,r,n,s){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:I.errorUtil.toString(s)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:I.errorUtil.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:I.errorUtil.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:I.errorUtil.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:I.errorUtil.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:I.errorUtil.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:I.errorUtil.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:I.errorUtil.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:I.errorUtil.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:I.errorUtil.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&h.util.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.value<e)&&(e=n.value)}return Number.isFinite(r)&&Number.isFinite(e)}};u.ZodNumber=Ce;Ce.create=t=>new Ce({checks:[],typeName:k.ZodNumber,coerce:t?.coerce||!1,...w(t)});var $e=class t extends v{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==h.ZodParsedType.bigint)return this._getInvalidInput(e);let n,s=new m.ParseStatus;for(let o of this._def.checks)o.kind==="min"?(o.inclusive?e.data<o.value:e.data<=o.value)&&(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{code:f.ZodIssueCode.too_small,type:"bigint",minimum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?e.data>o.value:e.data>=o.value)&&(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{code:f.ZodIssueCode.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="multipleOf"?e.data%o.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{code:f.ZodIssueCode.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):h.util.assertNever(o);return{status:s.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(r,{code:f.ZodIssueCode.invalid_type,expected:h.ZodParsedType.bigint,received:r.parsedType}),m.INVALID}gte(e,r){return this.setLimit("min",e,!0,I.errorUtil.toString(r))}gt(e,r){return this.setLimit("min",e,!1,I.errorUtil.toString(r))}lte(e,r){return this.setLimit("max",e,!0,I.errorUtil.toString(r))}lt(e,r){return this.setLimit("max",e,!1,I.errorUtil.toString(r))}setLimit(e,r,n,s){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:I.errorUtil.toString(s)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:I.errorUtil.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:I.errorUtil.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:I.errorUtil.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:I.errorUtil.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:I.errorUtil.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};u.ZodBigInt=$e;$e.create=t=>new $e({checks:[],typeName:k.ZodBigInt,coerce:t?.coerce??!1,...w(t)});var Se=class extends v{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==h.ZodParsedType.boolean){let n=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(n,{code:f.ZodIssueCode.invalid_type,expected:h.ZodParsedType.boolean,received:n.parsedType}),m.INVALID}return(0,m.OK)(e.data)}};u.ZodBoolean=Se;Se.create=t=>new Se({typeName:k.ZodBoolean,coerce:t?.coerce||!1,...w(t)});var Te=class t extends v{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==h.ZodParsedType.date){let o=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(o,{code:f.ZodIssueCode.invalid_type,expected:h.ZodParsedType.date,received:o.parsedType}),m.INVALID}if(Number.isNaN(e.data.getTime())){let o=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(o,{code:f.ZodIssueCode.invalid_date}),m.INVALID}let n=new m.ParseStatus,s;for(let o of this._def.checks)o.kind==="min"?e.data.getTime()<o.value&&(s=this._getOrReturnCtx(e,s),(0,m.addIssueToContext)(s,{code:f.ZodIssueCode.too_small,message:o.message,inclusive:!0,exact:!1,minimum:o.value,type:"date"}),n.dirty()):o.kind==="max"?e.data.getTime()>o.value&&(s=this._getOrReturnCtx(e,s),(0,m.addIssueToContext)(s,{code:f.ZodIssueCode.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),n.dirty()):h.util.assertNever(o);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:I.errorUtil.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:I.errorUtil.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e!=null?new Date(e):null}};u.ZodDate=Te;Te.create=t=>new Te({checks:[],coerce:t?.coerce||!1,typeName:k.ZodDate,...w(t)});var Ke=class extends v{_parse(e){if(this._getType(e)!==h.ZodParsedType.symbol){let n=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(n,{code:f.ZodIssueCode.invalid_type,expected:h.ZodParsedType.symbol,received:n.parsedType}),m.INVALID}return(0,m.OK)(e.data)}};u.ZodSymbol=Ke;Ke.create=t=>new Ke({typeName:k.ZodSymbol,...w(t)});var Ae=class extends v{_parse(e){if(this._getType(e)!==h.ZodParsedType.undefined){let n=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(n,{code:f.ZodIssueCode.invalid_type,expected:h.ZodParsedType.undefined,received:n.parsedType}),m.INVALID}return(0,m.OK)(e.data)}};u.ZodUndefined=Ae;Ae.create=t=>new Ae({typeName:k.ZodUndefined,...w(t)});var Ee=class extends v{_parse(e){if(this._getType(e)!==h.ZodParsedType.null){let n=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(n,{code:f.ZodIssueCode.invalid_type,expected:h.ZodParsedType.null,received:n.parsedType}),m.INVALID}return(0,m.OK)(e.data)}};u.ZodNull=Ee;Ee.create=t=>new Ee({typeName:k.ZodNull,...w(t)});var ge=class extends v{constructor(){super(...arguments),this._any=!0}_parse(e){return(0,m.OK)(e.data)}};u.ZodAny=ge;ge.create=t=>new ge({typeName:k.ZodAny,...w(t)});var le=class extends v{constructor(){super(...arguments),this._unknown=!0}_parse(e){return(0,m.OK)(e.data)}};u.ZodUnknown=le;le.create=t=>new le({typeName:k.ZodUnknown,...w(t)});var Q=class extends v{_parse(e){let r=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(r,{code:f.ZodIssueCode.invalid_type,expected:h.ZodParsedType.never,received:r.parsedType}),m.INVALID}};u.ZodNever=Q;Q.create=t=>new Q({typeName:k.ZodNever,...w(t)});var Je=class extends v{_parse(e){if(this._getType(e)!==h.ZodParsedType.undefined){let n=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(n,{code:f.ZodIssueCode.invalid_type,expected:h.ZodParsedType.void,received:n.parsedType}),m.INVALID}return(0,m.OK)(e.data)}};u.ZodVoid=Je;Je.create=t=>new Je({typeName:k.ZodVoid,...w(t)});var ue=class t extends v{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),s=this._def;if(r.parsedType!==h.ZodParsedType.array)return(0,m.addIssueToContext)(r,{code:f.ZodIssueCode.invalid_type,expected:h.ZodParsedType.array,received:r.parsedType}),m.INVALID;if(s.exactLength!==null){let i=r.data.length>s.exactLength.value,a=r.data.length<s.exactLength.value;(i||a)&&((0,m.addIssueToContext)(r,{code:i?f.ZodIssueCode.too_big:f.ZodIssueCode.too_small,minimum:a?s.exactLength.value:void 0,maximum:i?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),n.dirty())}if(s.minLength!==null&&r.data.length<s.minLength.value&&((0,m.addIssueToContext)(r,{code:f.ZodIssueCode.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),n.dirty()),s.maxLength!==null&&r.data.length>s.maxLength.value&&((0,m.addIssueToContext)(r,{code:f.ZodIssueCode.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((i,a)=>s.type._parseAsync(new Y(r,i,r.path,a)))).then(i=>m.ParseStatus.mergeArray(n,i));let o=[...r.data].map((i,a)=>s.type._parseSync(new Y(r,i,r.path,a)));return m.ParseStatus.mergeArray(n,o)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:I.errorUtil.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:I.errorUtil.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:I.errorUtil.toString(r)}})}nonempty(e){return this.min(1,e)}};u.ZodArray=ue;ue.create=(t,e)=>new ue({type:t,minLength:null,maxLength:null,exactLength:null,typeName:k.ZodArray,...w(e)});function ze(t){if(t instanceof z){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=W.create(ze(n))}return new z({...t._def,shape:()=>e})}else return t instanceof ue?new ue({...t._def,type:ze(t.element)}):t instanceof W?W.create(ze(t.unwrap())):t instanceof ie?ie.create(ze(t.unwrap())):t instanceof oe?oe.create(t.items.map(e=>ze(e))):t}var z=class t extends v{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),r=h.util.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==h.ZodParsedType.object){let d=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(d,{code:f.ZodIssueCode.invalid_type,expected:h.ZodParsedType.object,received:d.parsedType}),m.INVALID}let{status:n,ctx:s}=this._processInputParams(e),{shape:o,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof Q&&this._def.unknownKeys==="strip"))for(let d in s.data)i.includes(d)||a.push(d);let c=[];for(let d of i){let l=o[d],p=s.data[d];c.push({key:{status:"valid",value:d},value:l._parse(new Y(s,p,s.path,d)),alwaysSet:d in s.data})}if(this._def.catchall instanceof Q){let d=this._def.unknownKeys;if(d==="passthrough")for(let l of a)c.push({key:{status:"valid",value:l},value:{status:"valid",value:s.data[l]}});else if(d==="strict")a.length>0&&((0,m.addIssueToContext)(s,{code:f.ZodIssueCode.unrecognized_keys,keys:a}),n.dirty());else if(d!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let d=this._def.catchall;for(let l of a){let p=s.data[l];c.push({key:{status:"valid",value:l},value:d._parse(new Y(s,p,s.path,l)),alwaysSet:l in s.data})}}return s.common.async?Promise.resolve().then(async()=>{let d=[];for(let l of c){let p=await l.key,g=await l.value;d.push({key:p,value:g,alwaysSet:l.alwaysSet})}return d}).then(d=>m.ParseStatus.mergeObjectSync(n,d)):m.ParseStatus.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(e){return I.errorUtil.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,n)=>{let s=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:I.errorUtil.errToObj(e).message??s}:{message:s}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:k.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let r={};for(let n of h.util.objectKeys(e))e[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}omit(e){let r={};for(let n of h.util.objectKeys(this.shape))e[n]||(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}deepPartial(){return ze(this)}partial(e){let r={};for(let n of h.util.objectKeys(this.shape)){let s=this.shape[n];e&&!e[n]?r[n]=s:r[n]=s.optional()}return new t({...this._def,shape:()=>r})}required(e){let r={};for(let n of h.util.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else{let o=this.shape[n];for(;o instanceof W;)o=o._def.innerType;r[n]=o}return new t({...this._def,shape:()=>r})}keyof(){return Ys(h.util.objectKeys(this.shape))}};u.ZodObject=z;z.create=(t,e)=>new z({shape:()=>t,unknownKeys:"strip",catchall:Q.create(),typeName:k.ZodObject,...w(e)});z.strictCreate=(t,e)=>new z({shape:()=>t,unknownKeys:"strict",catchall:Q.create(),typeName:k.ZodObject,...w(e)});z.lazycreate=(t,e)=>new z({shape:t,unknownKeys:"strip",catchall:Q.create(),typeName:k.ZodObject,...w(e)});var Oe=class extends v{_parse(e){let{ctx:r}=this._processInputParams(e),n=this._def.options;function s(o){for(let a of o)if(a.result.status==="valid")return a.result;for(let a of o)if(a.result.status==="dirty")return r.common.issues.push(...a.ctx.common.issues),a.result;let i=o.map(a=>new f.ZodError(a.ctx.common.issues));return(0,m.addIssueToContext)(r,{code:f.ZodIssueCode.invalid_union,unionErrors:i}),m.INVALID}if(r.common.async)return Promise.all(n.map(async o=>{let i={...r,common:{...r.common,issues:[]},parent:null};return{result:await o._parseAsync({data:r.data,path:r.path,parent:i}),ctx:i}})).then(s);{let o,i=[];for(let c of n){let d={...r,common:{...r.common,issues:[]},parent:null},l=c._parseSync({data:r.data,path:r.path,parent:d});if(l.status==="valid")return l;l.status==="dirty"&&!o&&(o={result:l,ctx:d}),d.common.issues.length&&i.push(d.common.issues)}if(o)return r.common.issues.push(...o.ctx.common.issues),o.result;let a=i.map(c=>new f.ZodError(c));return(0,m.addIssueToContext)(r,{code:f.ZodIssueCode.invalid_union,unionErrors:a}),m.INVALID}}get options(){return this._def.options}};u.ZodUnion=Oe;Oe.create=(t,e)=>new Oe({options:t,typeName:k.ZodUnion,...w(e)});var de=t=>t instanceof Pe?de(t.schema):t instanceof J?de(t.innerType()):t instanceof Ue?[t.value]:t instanceof je?t.options:t instanceof Ne?h.util.objectValues(t.enum):t instanceof Re?de(t._def.innerType):t instanceof Ae?[void 0]:t instanceof Ee?[null]:t instanceof W?[void 0,...de(t.unwrap())]:t instanceof ie?[null,...de(t.unwrap())]:t instanceof pt||t instanceof qe?de(t.unwrap()):t instanceof Ze?de(t._def.innerType):[],jt=class t extends v{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==h.ZodParsedType.object)return(0,m.addIssueToContext)(r,{code:f.ZodIssueCode.invalid_type,expected:h.ZodParsedType.object,received:r.parsedType}),m.INVALID;let n=this.discriminator,s=r.data[n],o=this.optionsMap.get(s);return o?r.common.async?o._parseAsync({data:r.data,path:r.path,parent:r}):o._parseSync({data:r.data,path:r.path,parent:r}):((0,m.addIssueToContext)(r,{code:f.ZodIssueCode.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),m.INVALID)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,n){let s=new Map;for(let o of r){let i=de(o.shape[e]);if(!i.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let a of i){if(s.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);s.set(a,o)}}return new t({typeName:k.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:s,...w(n)})}};u.ZodDiscriminatedUnion=jt;function Or(t,e){let r=(0,h.getParsedType)(t),n=(0,h.getParsedType)(e);if(t===e)return{valid:!0,data:t};if(r===h.ZodParsedType.object&&n===h.ZodParsedType.object){let s=h.util.objectKeys(e),o=h.util.objectKeys(t).filter(a=>s.indexOf(a)!==-1),i={...t,...e};for(let a of o){let c=Or(t[a],e[a]);if(!c.valid)return{valid:!1};i[a]=c.data}return{valid:!0,data:i}}else if(r===h.ZodParsedType.array&&n===h.ZodParsedType.array){if(t.length!==e.length)return{valid:!1};let s=[];for(let o=0;o<t.length;o++){let i=t[o],a=e[o],c=Or(i,a);if(!c.valid)return{valid:!1};s.push(c.data)}return{valid:!0,data:s}}else return r===h.ZodParsedType.date&&n===h.ZodParsedType.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}var De=class extends v{_parse(e){let{status:r,ctx:n}=this._processInputParams(e),s=(o,i)=>{if((0,m.isAborted)(o)||(0,m.isAborted)(i))return m.INVALID;let a=Or(o.value,i.value);return a.valid?(((0,m.isDirty)(o)||(0,m.isDirty)(i))&&r.dirty(),{status:r.value,value:a.data}):((0,m.addIssueToContext)(n,{code:f.ZodIssueCode.invalid_intersection_types}),m.INVALID)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([o,i])=>s(o,i)):s(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};u.ZodIntersection=De;De.create=(t,e,r)=>new De({left:t,right:e,typeName:k.ZodIntersection,...w(r)});var oe=class t extends v{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==h.ZodParsedType.array)return(0,m.addIssueToContext)(n,{code:f.ZodIssueCode.invalid_type,expected:h.ZodParsedType.array,received:n.parsedType}),m.INVALID;if(n.data.length<this._def.items.length)return(0,m.addIssueToContext)(n,{code:f.ZodIssueCode.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),m.INVALID;!this._def.rest&&n.data.length>this._def.items.length&&((0,m.addIssueToContext)(n,{code:f.ZodIssueCode.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let o=[...n.data].map((i,a)=>{let c=this._def.items[a]||this._def.rest;return c?c._parse(new Y(n,i,n.path,a)):null}).filter(i=>!!i);return n.common.async?Promise.all(o).then(i=>m.ParseStatus.mergeArray(r,i)):m.ParseStatus.mergeArray(r,o)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};u.ZodTuple=oe;oe.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new oe({items:t,typeName:k.ZodTuple,rest:null,...w(e)})};var Nt=class t extends v{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==h.ZodParsedType.object)return(0,m.addIssueToContext)(n,{code:f.ZodIssueCode.invalid_type,expected:h.ZodParsedType.object,received:n.parsedType}),m.INVALID;let s=[],o=this._def.keyType,i=this._def.valueType;for(let a in n.data)s.push({key:o._parse(new Y(n,a,n.path,a)),value:i._parse(new Y(n,n.data[a],n.path,a)),alwaysSet:a in n.data});return n.common.async?m.ParseStatus.mergeObjectAsync(r,s):m.ParseStatus.mergeObjectSync(r,s)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof v?new t({keyType:e,valueType:r,typeName:k.ZodRecord,...w(n)}):new t({keyType:he.create(),valueType:e,typeName:k.ZodRecord,...w(r)})}};u.ZodRecord=Nt;var He=class extends v{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==h.ZodParsedType.map)return(0,m.addIssueToContext)(n,{code:f.ZodIssueCode.invalid_type,expected:h.ZodParsedType.map,received:n.parsedType}),m.INVALID;let s=this._def.keyType,o=this._def.valueType,i=[...n.data.entries()].map(([a,c],d)=>({key:s._parse(new Y(n,a,n.path,[d,"key"])),value:o._parse(new Y(n,c,n.path,[d,"value"]))}));if(n.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let c of i){let d=await c.key,l=await c.value;if(d.status==="aborted"||l.status==="aborted")return m.INVALID;(d.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(d.value,l.value)}return{status:r.value,value:a}})}else{let a=new Map;for(let c of i){let d=c.key,l=c.value;if(d.status==="aborted"||l.status==="aborted")return m.INVALID;(d.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(d.value,l.value)}return{status:r.value,value:a}}}};u.ZodMap=He;He.create=(t,e,r)=>new He({valueType:e,keyType:t,typeName:k.ZodMap,...w(r)});var We=class t extends v{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==h.ZodParsedType.set)return(0,m.addIssueToContext)(n,{code:f.ZodIssueCode.invalid_type,expected:h.ZodParsedType.set,received:n.parsedType}),m.INVALID;let s=this._def;s.minSize!==null&&n.data.size<s.minSize.value&&((0,m.addIssueToContext)(n,{code:f.ZodIssueCode.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),r.dirty()),s.maxSize!==null&&n.data.size>s.maxSize.value&&((0,m.addIssueToContext)(n,{code:f.ZodIssueCode.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),r.dirty());let o=this._def.valueType;function i(c){let d=new Set;for(let l of c){if(l.status==="aborted")return m.INVALID;l.status==="dirty"&&r.dirty(),d.add(l.value)}return{status:r.value,value:d}}let a=[...n.data.values()].map((c,d)=>o._parse(new Y(n,c,n.path,d)));return n.common.async?Promise.all(a).then(c=>i(c)):i(a)}min(e,r){return new t({...this._def,minSize:{value:e,message:I.errorUtil.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:I.errorUtil.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};u.ZodSet=We;We.create=(t,e)=>new We({valueType:t,minSize:null,maxSize:null,typeName:k.ZodSet,...w(e)});var Rt=class t extends v{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==h.ZodParsedType.function)return(0,m.addIssueToContext)(r,{code:f.ZodIssueCode.invalid_type,expected:h.ZodParsedType.function,received:r.parsedType}),m.INVALID;function n(a,c){return(0,m.makeIssue)({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,(0,Ut.getErrorMap)(),Ut.defaultErrorMap].filter(d=>!!d),issueData:{code:f.ZodIssueCode.invalid_arguments,argumentsError:c}})}function s(a,c){return(0,m.makeIssue)({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,(0,Ut.getErrorMap)(),Ut.defaultErrorMap].filter(d=>!!d),issueData:{code:f.ZodIssueCode.invalid_return_type,returnTypeError:c}})}let o={errorMap:r.common.contextualErrorMap},i=r.data;if(this._def.returns instanceof ye){let a=this;return(0,m.OK)(async function(...c){let d=new f.ZodError([]),l=await a._def.args.parseAsync(c,o).catch(_=>{throw d.addIssue(n(c,_)),d}),p=await Reflect.apply(i,this,l);return await a._def.returns._def.type.parseAsync(p,o).catch(_=>{throw d.addIssue(s(p,_)),d})})}else{let a=this;return(0,m.OK)(function(...c){let d=a._def.args.safeParse(c,o);if(!d.success)throw new f.ZodError([n(c,d.error)]);let l=Reflect.apply(i,this,d.data),p=a._def.returns.safeParse(l,o);if(!p.success)throw new f.ZodError([s(l,p.error)]);return p.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:oe.create(e).rest(le.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,n){return new t({args:e||oe.create([]).rest(le.create()),returns:r||le.create(),typeName:k.ZodFunction,...w(n)})}};u.ZodFunction=Rt;var Pe=class extends v{get schema(){return this._def.getter()}_parse(e){let{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};u.ZodLazy=Pe;Pe.create=(t,e)=>new Pe({getter:t,typeName:k.ZodLazy,...w(e)});var Ue=class extends v{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(r,{received:r.data,code:f.ZodIssueCode.invalid_literal,expected:this._def.value}),m.INVALID}return{status:"valid",value:e.data}}get value(){return this._def.value}};u.ZodLiteral=Ue;Ue.create=(t,e)=>new Ue({value:t,typeName:k.ZodLiteral,...w(e)});function Ys(t,e){return new je({values:t,typeName:k.ZodEnum,...w(e)})}var je=class t extends v{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return(0,m.addIssueToContext)(r,{expected:h.util.joinValues(n),received:r.parsedType,code:f.ZodIssueCode.invalid_type}),m.INVALID}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let r=this._getOrReturnCtx(e),n=this._def.values;return(0,m.addIssueToContext)(r,{received:r.data,code:f.ZodIssueCode.invalid_enum_value,options:n}),m.INVALID}return(0,m.OK)(e.data)}get options(){return this._def.values}get enum(){let e={};for(let r of this._def.values)e[r]=r;return e}get Values(){let e={};for(let r of this._def.values)e[r]=r;return e}get Enum(){let e={};for(let r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return t.create(e,{...this._def,...r})}exclude(e,r=this._def){return t.create(this.options.filter(n=>!e.includes(n)),{...this._def,...r})}};u.ZodEnum=je;je.create=Ys;var Ne=class extends v{_parse(e){let r=h.util.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==h.ZodParsedType.string&&n.parsedType!==h.ZodParsedType.number){let s=h.util.objectValues(r);return(0,m.addIssueToContext)(n,{expected:h.util.joinValues(s),received:n.parsedType,code:f.ZodIssueCode.invalid_type}),m.INVALID}if(this._cache||(this._cache=new Set(h.util.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let s=h.util.objectValues(r);return(0,m.addIssueToContext)(n,{received:n.data,code:f.ZodIssueCode.invalid_enum_value,options:s}),m.INVALID}return(0,m.OK)(e.data)}get enum(){return this._def.values}};u.ZodNativeEnum=Ne;Ne.create=(t,e)=>new Ne({values:t,typeName:k.ZodNativeEnum,...w(e)});var ye=class extends v{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==h.ZodParsedType.promise&&r.common.async===!1)return(0,m.addIssueToContext)(r,{code:f.ZodIssueCode.invalid_type,expected:h.ZodParsedType.promise,received:r.parsedType}),m.INVALID;let n=r.parsedType===h.ZodParsedType.promise?r.data:Promise.resolve(r.data);return(0,m.OK)(n.then(s=>this._def.type.parseAsync(s,{path:r.path,errorMap:r.common.contextualErrorMap})))}};u.ZodPromise=ye;ye.create=(t,e)=>new ye({type:t,typeName:k.ZodPromise,...w(e)});var J=class extends v{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===k.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:n}=this._processInputParams(e),s=this._def.effect||null,o={addIssue:i=>{(0,m.addIssueToContext)(n,i),i.fatal?r.abort():r.dirty()},get path(){return n.path}};if(o.addIssue=o.addIssue.bind(o),s.type==="preprocess"){let i=s.transform(n.data,o);if(n.common.async)return Promise.resolve(i).then(async a=>{if(r.value==="aborted")return m.INVALID;let c=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return c.status==="aborted"?m.INVALID:c.status==="dirty"||r.value==="dirty"?(0,m.DIRTY)(c.value):c});{if(r.value==="aborted")return m.INVALID;let a=this._def.schema._parseSync({data:i,path:n.path,parent:n});return a.status==="aborted"?m.INVALID:a.status==="dirty"||r.value==="dirty"?(0,m.DIRTY)(a.value):a}}if(s.type==="refinement"){let i=a=>{let c=s.refinement(a,o);if(n.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?m.INVALID:(a.status==="dirty"&&r.dirty(),i(a.value),{status:r.value,value:a.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>a.status==="aborted"?m.INVALID:(a.status==="dirty"&&r.dirty(),i(a.value).then(()=>({status:r.value,value:a.value}))))}if(s.type==="transform")if(n.common.async===!1){let i=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!(0,m.isValid)(i))return m.INVALID;let a=s.transform(i.value,o);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(i=>(0,m.isValid)(i)?Promise.resolve(s.transform(i.value,o)).then(a=>({status:r.value,value:a})):m.INVALID);h.util.assertNever(s)}};u.ZodEffects=J;u.ZodTransformer=J;J.create=(t,e,r)=>new J({schema:t,typeName:k.ZodEffects,effect:e,...w(r)});J.createWithPreprocess=(t,e,r)=>new J({schema:e,effect:{type:"preprocess",transform:t},typeName:k.ZodEffects,...w(r)});var W=class extends v{_parse(e){return this._getType(e)===h.ZodParsedType.undefined?(0,m.OK)(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};u.ZodOptional=W;W.create=(t,e)=>new W({innerType:t,typeName:k.ZodOptional,...w(e)});var ie=class extends v{_parse(e){return this._getType(e)===h.ZodParsedType.null?(0,m.OK)(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};u.ZodNullable=ie;ie.create=(t,e)=>new ie({innerType:t,typeName:k.ZodNullable,...w(e)});var Re=class extends v{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===h.ZodParsedType.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};u.ZodDefault=Re;Re.create=(t,e)=>new Re({innerType:t,typeName:k.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...w(e)});var Ze=class extends v{_parse(e){let{ctx:r}=this._processInputParams(e),n={...r,common:{...r.common,issues:[]}},s=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return(0,m.isAsync)(s)?s.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new f.ZodError(n.common.issues)},input:n.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new f.ZodError(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};u.ZodCatch=Ze;Ze.create=(t,e)=>new Ze({innerType:t,typeName:k.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...w(e)});var Ye=class extends v{_parse(e){if(this._getType(e)!==h.ZodParsedType.nan){let n=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(n,{code:f.ZodIssueCode.invalid_type,expected:h.ZodParsedType.nan,received:n.parsedType}),m.INVALID}return{status:"valid",value:e.data}}};u.ZodNaN=Ye;Ye.create=t=>new Ye({typeName:k.ZodNaN,...w(t)});u.BRAND=Symbol("zod_brand");var pt=class extends v{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}};u.ZodBranded=pt;var ft=class t extends v{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let o=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?m.INVALID:o.status==="dirty"?(r.dirty(),(0,m.DIRTY)(o.value)):this._def.out._parseAsync({data:o.value,path:n.path,parent:n})})();{let s=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?m.INVALID:s.status==="dirty"?(r.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:n.path,parent:n})}}static create(e,r){return new t({in:e,out:r,typeName:k.ZodPipeline})}};u.ZodPipeline=ft;var qe=class extends v{_parse(e){let r=this._def.innerType._parse(e),n=s=>((0,m.isValid)(s)&&(s.value=Object.freeze(s.value)),s);return(0,m.isAsync)(r)?r.then(s=>n(s)):n(r)}unwrap(){return this._def.innerType}};u.ZodReadonly=qe;qe.create=(t,e)=>new qe({innerType:t,typeName:k.ZodReadonly,...w(e)});function Ks(t,e){let r=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof r=="string"?{message:r}:r}function Xs(t,e={},r){return t?ge.create().superRefine((n,s)=>{let o=t(n);if(o instanceof Promise)return o.then(i=>{if(!i){let a=Ks(e,n),c=a.fatal??r??!0;s.addIssue({code:"custom",...a,fatal:c})}});if(!o){let i=Ks(e,n),a=i.fatal??r??!0;s.addIssue({code:"custom",...i,fatal:a})}}):ge.create()}u.late={object:z.lazycreate};var k;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(k||(u.ZodFirstPartyTypeKind=k={}));var qd=(t,e={message:`Input not instance of ${t.name}`})=>Xs(r=>r instanceof t,e);u.instanceof=qd;var Qs=he.create;u.string=Qs;var eo=Ce.create;u.number=eo;var Ld=Ye.create;u.nan=Ld;var Md=$e.create;u.bigint=Md;var to=Se.create;u.boolean=to;var Bd=Te.create;u.date=Bd;var Vd=Ke.create;u.symbol=Vd;var Fd=Ae.create;u.undefined=Fd;var Gd=Ee.create;u.null=Gd;var zd=ge.create;u.any=zd;var Kd=le.create;u.unknown=Kd;var Jd=Q.create;u.never=Jd;var Hd=Je.create;u.void=Hd;var Wd=ue.create;u.array=Wd;var Yd=z.create;u.object=Yd;var Xd=z.strictCreate;u.strictObject=Xd;var Qd=Oe.create;u.union=Qd;var el=jt.create;u.discriminatedUnion=el;var tl=De.create;u.intersection=tl;var rl=oe.create;u.tuple=rl;var nl=Nt.create;u.record=nl;var sl=He.create;u.map=sl;var ol=We.create;u.set=ol;var il=Rt.create;u.function=il;var al=Pe.create;u.lazy=al;var cl=Ue.create;u.literal=cl;var dl=je.create;u.enum=dl;var ll=Ne.create;u.nativeEnum=ll;var ul=ye.create;u.promise=ul;var ro=J.create;u.effect=ro;u.transformer=ro;var ml=W.create;u.optional=ml;var pl=ie.create;u.nullable=pl;var fl=J.createWithPreprocess;u.preprocess=fl;var hl=ft.create;u.pipeline=hl;var gl=()=>Qs().optional();u.ostring=gl;var yl=()=>eo().optional();u.onumber=yl;var _l=()=>to().optional();u.oboolean=_l;u.coerce={string:(t=>he.create({...t,coerce:!0})),number:(t=>Ce.create({...t,coerce:!0})),boolean:(t=>Se.create({...t,coerce:!0})),bigint:(t=>$e.create({...t,coerce:!0})),date:(t=>Te.create({...t,coerce:!0}))};u.NEVER=m.INVALID});var Dr=b(X=>{"use strict";var bl=X&&X.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Xe=X&&X.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&bl(e,t,r)};Object.defineProperty(X,"__esModule",{value:!0});Xe(Dt(),X);Xe(Ar(),X);Xe(Vs(),X);Xe(ut(),X);Xe(no(),X);Xe(Ot(),X)});var io=b(K=>{"use strict";var so=K&&K.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Il=K&&K.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),xl=K&&K.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&so(e,t,r);return Il(e,t),e},kl=K&&K.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&so(e,t,r)};Object.defineProperty(K,"__esModule",{value:!0});K.z=void 0;var oo=xl(Dr());K.z=oo;kl(Dr(),K);K.default=oo});var Zt=b((vm,uo)=>{var Pr=null;function Ur(){return Pr||(Pr=io().z),Pr}function ao(){return Ur().string().trim().refine(t=>{let e=t.indexOf(".");return e>0&&e<t.length-1},{message:"API Key \u683C\u5F0F\u9519\u8BEF\uFF0C\u5E94\u4E3A <ak>.<sk>"})}function co(){return Ur().string().refine(t=>{try{return JSON.parse(t),!0}catch{return!1}},{message:"--meta-data \u4E0D\u662F\u5408\u6CD5\u7684 JSON"})}function lo(){return Ur().string().trim().refine(t=>/^https?:\/\/[^\s]+$/i.test(t),{message:"registry \u5FC5\u987B\u662F http(s):// \u5F00\u5934\u7684 URL"})}function wl(t){let e=ao().safeParse(t);return e.success?{ok:!0,value:e.data}:{ok:!1,error:e.error.issues[0].message}}function vl(t){let e=co().safeParse(t);return e.success?{ok:!0,value:e.data}:{ok:!1,error:e.error.issues[0].message}}function Cl(t){let e=lo().safeParse(t);return e.success?{ok:!0,value:e.data}:{ok:!1,error:e.error.issues[0].message}}uo.exports={apiKeySchema:ao,pubMetaDataSchema:co,registrySchema:lo,validateApiKey:wl,validatePubMetaData:vl,validateRegistry:Cl}});var po=b((Cm,mo)=>{var $l=Ns(),{validateApiKey:Sl}=Zt();function Tl(t,e){let r=new $l(e),n=t.command("auth").description("\u7BA1\u7406\u8EAB\u4EFD\u9A8C\u8BC1\u51ED\u8BC1");n.command("login").description("\u767B\u5F55 MakeCoder\uFF08\u6D4F\u89C8\u5668\u6216\u7EC8\u7AEF\u8F93\u5165 API Key\uFF09").option("--apikey <key>","\u76F4\u63A5\u63D0\u4F9B API Key\uFF08\u683C\u5F0F: <ak>.<sk>\uFF09").action(async s=>{if(s.apikey){let o=Sl(s.apikey);if(!o.ok){e.fail(o.error,"API Key \u5F62\u5982 <ak>.<sk>\uFF0C\u83B7\u53D6: https://makecoder.com/my/apikeys"),process.exitCode=1;return}process.exitCode=await r.handle({authSubcommand:"login",authRemainingArgs:["--apikey",o.value],coderBaseUrl:e.getCoderBaseUrl()})||0;return}if(e.isNonInteractive){e.fail("missing credentials","run `coder auth login --apikey <ak>.<sk>`"),process.exitCode=1;return}process.exitCode=await r.handle({authSubcommand:"login",authRemainingArgs:[],coderBaseUrl:e.getCoderBaseUrl()})||0}),n.command("logout").description("\u9000\u51FA\u767B\u5F55\uFF0C\u6E05\u9664\u5DF2\u4FDD\u5B58\u7684 API Key").action(async()=>{process.exitCode=await r.handle({authSubcommand:"logout"})||0}),n.command("status").description("\u67E5\u770B\u5F53\u524D\u767B\u5F55\u72B6\u6001").action(async()=>{process.exitCode=await r.handle({authSubcommand:"status"})||0})}mo.exports={register:Tl}});var go=b(($m,ho)=>{var ee=require("fs"),Le=require("path"),Al=require("readline"),{execSync:qt}=require("child_process"),fo=require("os"),jr=class{constructor(){this.serverUrl="https://makecoder.com/bigapis/codev/v1/coderpub"}getClaudeJsonlPath(e,r=!1){let n=e.replace(/[/_]/g,"-"),s=Le.join(fo.homedir(),".claude","projects",n);if(r&&(console.log(`
286
+ \u{1F4C2} [allow-clone] \u67E5\u627E JSONL \u6587\u4EF6...`),console.log(` \u9879\u76EE\u76EE\u5F55: ${e}`),console.log(` Claude \u9879\u76EE\u540D: ${n}`),console.log(` Claude \u9879\u76EE\u76EE\u5F55: ${s}`)),!ee.existsSync(s))return r&&console.log(" \u274C Claude \u9879\u76EE\u76EE\u5F55\u4E0D\u5B58\u5728"),null;r&&console.log(" \u2713 Claude \u9879\u76EE\u76EE\u5F55\u5B58\u5728");try{let o=ee.readdirSync(s).filter(i=>i.endsWith(".jsonl")).map(i=>({name:i,path:Le.join(s,i),mtime:ee.statSync(Le.join(s,i)).mtime,size:ee.statSync(Le.join(s,i)).size})).sort((i,a)=>a.mtime-i.mtime);return r&&(console.log(` \u627E\u5230 ${o.length} \u4E2A JSONL \u6587\u4EF6:`),o.forEach((i,a)=>{let c=(i.size/1024).toFixed(2),d=i.mtime.toLocaleString(),l=a===0?" <- \u6700\u65B0":"";console.log(` ${a+1}. ${i.name} (${c} KB, ${d})${l}`)})),o.length>0?(r&&console.log(` \u2713 \u9009\u62E9\u6700\u65B0\u6587\u4EF6: ${o[0].name}`),o[0].path):(r&&console.log(" \u274C \u76EE\u5F55\u4E2D\u6CA1\u6709 JSONL \u6587\u4EF6"),null)}catch(o){return r&&console.log(` \u274C \u8BFB\u53D6\u76EE\u5F55\u5931\u8D25: ${o.message}`),null}}async promptForName(){let e=Al.createInterface({input:process.stdin,output:process.stdout});return new Promise((r,n)=>{e.question("\u8BF7\u8F93\u5165\u9879\u76EE\u540D\u79F0 (name): ",s=>{e.close();let o=s.trim();if(!o){n(new Error("\u9879\u76EE\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A"));return}if(!/^[a-zA-Z0-9_-]+$/.test(o)){n(new Error("\u9879\u76EE\u540D\u79F0\u53EA\u80FD\u5305\u542B\u5B57\u6BCD\u3001\u6570\u5B57\u3001\u4E0B\u5212\u7EBF\u548C\u8FDE\u5B57\u7B26"));return}r(o)})})}async createZip(e,r={}){let{allowClone:n=!1}=r,s=fo.tmpdir(),o=`coder-pub-${Date.now()}.zip`,i=Le.join(s,o);try{let a=!1;if(ee.existsSync(Le.join(e,".git")))try{qt(`git archive -o "${i}" HEAD`,{cwd:e,stdio:"pipe"}),console.log("\u{1F4E6} \u4F7F\u7528 git archive \u521B\u5EFA\u538B\u7F29\u5305\uFF08\u5DF2\u6392\u9664 .gitignore \u4E2D\u7684\u6587\u4EF6\uFF09"),a=!0}catch{console.log("\u26A0\uFE0F git archive \u5931\u8D25\uFF0C\u4F7F\u7528\u666E\u901A zip \u547D\u4EE4")}if(!a){let d=[".git/*","node_modules/*",".env",".env.*","*.log",".DS_Store"].map(l=>`-x "${l}"`).join(" ");qt(`zip -r "${i}" . ${d}`,{cwd:e,stdio:"pipe"}),console.log("\u{1F4E6} \u5DF2\u521B\u5EFA\u538B\u7F29\u5305")}if(n){console.log(`
287
+ \u{1F504} [allow-clone] \u5F00\u59CB\u5904\u7406 AI \u751F\u6210\u8BB0\u5F55...`);let c=this.getClaudeJsonlPath(e,!0);if(c){let d=Le.join(s,"coder.pub.jsonl"),p=(ee.statSync(c).size/1024).toFixed(2);console.log(`
288
+ \u{1F4E6} [allow-clone] \u6253\u5305 JSONL \u6587\u4EF6...`),console.log(` \u6E90\u6587\u4EF6: ${c}`),console.log(` \u6587\u4EF6\u5927\u5C0F: ${p} KB`),console.log(` \u4E34\u65F6\u6587\u4EF6: ${d}`),ee.copyFileSync(c,d),console.log(" \u2713 \u5DF2\u590D\u5236\u5230\u4E34\u65F6\u76EE\u5F55"),console.log(` \u76EE\u6807 ZIP: ${i}`),console.log(" \u76EE\u6807\u6587\u4EF6\u540D: coder.pub.jsonl"),qt(`zip -j "${i}" "${d}"`,{stdio:"pipe"}),console.log(" \u2713 \u5DF2\u6DFB\u52A0\u5230 ZIP \u5305"),ee.unlinkSync(d),console.log(" \u2713 \u5DF2\u6E05\u7406\u4E34\u65F6\u6587\u4EF6"),console.log(`\u{1F4CB} [allow-clone] AI \u751F\u6210\u8BB0\u5F55\u5904\u7406\u5B8C\u6210 (coder.pub.jsonl)
314
289
  `)}else console.log(`\u26A0\uFE0F [allow-clone] \u672A\u627E\u5230 Claude Code \u751F\u6210\u8BB0\u5F55
315
- `)}return i}catch(a){throw new Error(`\u521B\u5EFA\u538B\u7F29\u5305\u5931\u8D25: ${a.message}`)}}async upload(e,t,n,s,o=!1){let i=s?`${s}/coderpub`:this.serverUrl,a=n;console.log("\u{1F4E4} \u6B63\u5728\u4E0A\u4F20\u5230\u670D\u52A1\u5668..."),o&&(console.log(` \u670D\u52A1\u5668\u5730\u5740: ${i}`),console.log(` \u9879\u76EE\u540D\u79F0: ${t}`),console.log(` ZIP \u6587\u4EF6: ${e}`));try{let c=`curl -s -X POST "${i}" -H "Authorization: Bearer ${a}" -F "name=${t}" -F "zip_file=@${e}"`;o&&console.log(" \u6267\u884C\u4E0A\u4F20\u547D\u4EE4...");let l=rr(c,{encoding:"utf-8",stdio:["pipe","pipe","pipe"]});return o&&console.log(" \u2713 \u4E0A\u4F20\u5B8C\u6210\uFF0C\u89E3\u6790\u54CD\u5E94..."),JSON.parse(l)}catch(c){if(c.stdout)try{return JSON.parse(c.stdout)}catch{throw new Error(`\u4E0A\u4F20\u5931\u8D25: ${c.message}`)}throw new Error(`\u4E0A\u4F20\u5931\u8D25: ${c.message}`)}}cleanup(e){try{te.existsSync(e)&&te.unlinkSync(e)}catch{}}async publish(e){let{apikey:t,coderBaseUrl:n,allowClone:s}=e,{name:o}=e,i=null;try{o||(o=await this.promptForName()),console.log(`
316
- \u{1F680} \u6B63\u5728\u53D1\u5E03\u9879\u76EE: ${o}`),console.log(`\u{1F4C1} \u76EE\u5F55: ${process.cwd()}`),s&&console.log("\u{1F513} allow-clone: \u542F\u7528 (\u5C06\u5305\u542B AI \u751F\u6210\u8BB0\u5F55)"),console.log(),i=await this.createZip(process.cwd(),{allowClone:s});let c=(te.statSync(i).size/(1024*1024)).toFixed(2);console.log(`\u{1F4CA} \u538B\u7F29\u5305\u5927\u5C0F: ${c} MB`),s&&console.log(`
317
- \u{1F310} [allow-clone] \u5F00\u59CB\u4E0A\u4F20\u5230\u670D\u52A1\u5668...`);let l=await this.upload(i,o,t,n,s);return l.code===0?(console.log(`
318
- \u2705 \u53D1\u5E03\u6210\u529F!`),console.log(`\u{1F4CC} \u7248\u672C: ${l.data.version}`),console.log(`\u{1F310} \u8BBF\u95EE\u5730\u5740: https://${o}.coder.pub/`),0):(console.error(`
319
- \u274C \u53D1\u5E03\u5931\u8D25: ${l.message||l.reason}`),1)}catch(a){return console.error(`
290
+ `)}return i}catch(a){throw new Error(`\u521B\u5EFA\u538B\u7F29\u5305\u5931\u8D25: ${a.message}`)}}async upload(e,r,n,s,o=!1){let i=s?`${s}/coderpub`:this.serverUrl,a=n;console.log("\u{1F4E4} \u6B63\u5728\u4E0A\u4F20\u5230\u670D\u52A1\u5668..."),o&&(console.log(` \u670D\u52A1\u5668\u5730\u5740: ${i}`),console.log(` \u9879\u76EE\u540D\u79F0: ${r}`),console.log(` ZIP \u6587\u4EF6: ${e}`));try{let c=`curl -s -X POST "${i}" -H "Authorization: Bearer ${a}" -F "name=${r}" -F "zip_file=@${e}"`;o&&console.log(" \u6267\u884C\u4E0A\u4F20\u547D\u4EE4...");let d=qt(c,{encoding:"utf-8",stdio:["pipe","pipe","pipe"]});return o&&console.log(" \u2713 \u4E0A\u4F20\u5B8C\u6210\uFF0C\u89E3\u6790\u54CD\u5E94..."),JSON.parse(d)}catch(c){if(c.stdout)try{return JSON.parse(c.stdout)}catch{throw new Error(`\u4E0A\u4F20\u5931\u8D25: ${c.message}`)}throw new Error(`\u4E0A\u4F20\u5931\u8D25: ${c.message}`)}}cleanup(e){try{ee.existsSync(e)&&ee.unlinkSync(e)}catch{}}async publish(e){let{apikey:r,coderBaseUrl:n,allowClone:s}=e,{name:o}=e,i=null;try{o||(o=await this.promptForName()),console.log(`
291
+ \u{1F680} \u6B63\u5728\u53D1\u5E03\u9879\u76EE: ${o}`),console.log(`\u{1F4C1} \u76EE\u5F55: ${process.cwd()}`),s&&console.log("\u{1F513} allow-clone: \u542F\u7528 (\u5C06\u5305\u542B AI \u751F\u6210\u8BB0\u5F55)"),console.log(),i=await this.createZip(process.cwd(),{allowClone:s});let c=(ee.statSync(i).size/(1024*1024)).toFixed(2);console.log(`\u{1F4CA} \u538B\u7F29\u5305\u5927\u5C0F: ${c} MB`),s&&console.log(`
292
+ \u{1F310} [allow-clone] \u5F00\u59CB\u4E0A\u4F20\u5230\u670D\u52A1\u5668...`);let d=await this.upload(i,o,r,n,s);return d.code===0?(console.log(`
293
+ \u2705 \u53D1\u5E03\u6210\u529F!`),console.log(`\u{1F4CC} \u7248\u672C: ${d.data.version}`),console.log(`\u{1F310} \u8BBF\u95EE\u5730\u5740: https://${o}.coder.pub/`),0):(console.error(`
294
+ \u274C \u53D1\u5E03\u5931\u8D25: ${d.message||d.reason}`),1)}catch(a){return console.error(`
320
295
  \u274C ${a.message}`),1}finally{i&&this.cleanup(i)}}showHelp(){console.log(["Usage: coder pub [options]","","\u53D1\u5E03\u5F53\u524D\u76EE\u5F55\u4E3A MakeCoder \u7F51\u9875\u5E94\u7528","","Options:"," --name <name> \u5E94\u7528\u540D\u79F0\uFF08\u5FC5\u9700\uFF09"," --allow-clone \u5305\u542B Claude Code \u751F\u6210\u8BB0\u5F55\uFF0C\u5141\u8BB8\u4ED6\u4EBA\u514B\u9686"," --help, -h \u663E\u793A\u6B64\u5E2E\u52A9\u4FE1\u606F","","Description:"," \u5C06\u5F53\u524D\u76EE\u5F55\u7684\u4EE3\u7801\u53D1\u5E03\u4E3A MakeCoder \u5E73\u53F0\u4E0A\u7684\u7F51\u9875\u5E94\u7528\u3002"," \u5E94\u7528\u5C06\u5728 https://<name>.coder.pub/ \u4E0A\u53EF\u8BBF\u95EE\u3002","","Examples:"," coder pub --name myapp \u53D1\u5E03\u5E94\u7528\uFF0C\u8BBF\u95EE\u5730\u5740: https://myapp.coder.pub/"," coder pub --name myapp --allow-clone \u53D1\u5E03\u5E94\u7528\u5E76\u5305\u542B\u751F\u6210\u8BB0\u5F55","","Notes:"," - \u5E94\u7528\u540D\u79F0\u53EA\u80FD\u5305\u542B\u5B57\u6BCD\u3001\u6570\u5B57\u3001\u4E0B\u5212\u7EBF\u548C\u8FDE\u5B57\u7B26"," - \u4F7F\u7528 git archive \u521B\u5EFA\u538B\u7F29\u5305\uFF08\u81EA\u52A8\u6392\u9664 .gitignore \u4E2D\u7684\u6587\u4EF6\uFF09"," - \u5982\u679C\u4E0D\u662F git \u4ED3\u5E93\uFF0C\u5C06\u4F7F\u7528\u666E\u901A zip \u547D\u4EE4"].join(`
321
- `))}};Go.exports=tn});var Wo=b((Sp,zo)=>{var mu=Ho(),{validatePubMetaData:pu}=tr();function hu(r,e){let t=new mu;r.command("pub").description("\u53D1\u5E03\u5F53\u524D\u76EE\u5F55\u4E3A MakeCoder \u7F51\u9875\u5E94\u7528\uFF08*.coder.pub\uFF09").option("--name <name>","\u9879\u76EE\u540D\u79F0\uFF08\u7F3A\u7701\u5219\u5728\u4EA4\u4E92\u5F0F\u7EC8\u7AEF\u4E2D\u63D0\u793A\u8F93\u5165\uFF09").option("--meta-data <json>","\u9644\u52A0\u5143\u6570\u636E\uFF08\u5408\u6CD5 JSON \u5B57\u7B26\u4E32\uFF09").option("--allow-clone","\u5305\u542B AI \u751F\u6210\u8BB0\u5F55\uFF08Claude JSONL\uFF09\u4EE5\u4FBF\u514B\u9686").action(async n=>{if(!e.requireApiKey()){process.exitCode=1;return}if(n.metaData){let s=pu(n.metaData);if(!s.ok){e.fail(s.error,`--meta-data \u9700\u4E3A\u5408\u6CD5 JSON\uFF0C\u4F8B\u5982 '{"key":"value"}'`),process.exitCode=1;return}}if(!n.name&&e.isNonInteractive){e.fail("missing project name","run `coder pub --name <name>`"),process.exitCode=1;return}process.exitCode=await t.publish({name:n.name,metaData:n.metaData,allowClone:!!n.allowClone,apikey:e.getApiKey(),coderBaseUrl:e.getCoderBaseUrl()})||0})}zo.exports={register:hu}});var ni=b((Ap,ri)=>{var{execSync:nn,execFileSync:Ko}=require("child_process"),rn=require("fs"),nr=require("path"),{PLATFORM_PACKAGE:fu}=Tt(),{validateRegistry:gu}=tr(),ct=["https://registry.npmmirror.com","https://mirrors.cloud.tencent.com/npm/","https://mirrors.huaweicloud.com/repository/npm/"];function Jo(r){if(!r)return!1;let e=r.toLowerCase();return e.includes("npmmirror.com")||e.includes("npm.taobao.org")||e.includes("cloud.tencent.com")||e.includes("huaweicloud.com")||e.includes("cnpmjs.org")||e.includes("ustc.edu.cn")}function Yo(){try{return nn("npm config get registry",{encoding:"utf8"}).trim()}catch{return"https://registry.npmjs.org/"}}function yu(){try{let r=nn("npm root -g",{encoding:"utf8"}).trim(),e=nr.join(r,"makecoder","package.json");if(rn.existsSync(e))return JSON.parse(rn.readFileSync(e,"utf8")).version}catch{}return null}function _u(r){try{let e=["view","makecoder@latest","version"];return r&&e.push("--registry",r),Ko("npm",e,{encoding:"utf8"}).trim()||null}catch{return null}}function bu({registry:r,verbose:e}){let t=["install","-g"];return r&&t.push("--registry",r),e&&t.push("--loglevel","verbose"),t}function Xo(r,e,t){let n=[...bu(e),r];e.verbose&&t.emit(`$ npm ${n.join(" ")}`),Ko("npm",n,{stdio:"inherit"})}function xu(r,e){let t=`${process.platform}-${process.arch}`,n=fu[t];if(!n)return;let s;try{s=nn("npm root -g",{encoding:"utf8"}).trim()}catch{return}if([nr.join(s,"makecoder","node_modules",n,"package.json"),nr.join(s,n,"package.json")].some(l=>rn.existsSync(l)))return;e.emit(`\u672A\u68C0\u6D4B\u5230 ${n}\uFF0C\u6B63\u5728\u8865\u88C5...`);let i;try{i=require(nr.join(s,"makecoder","package.json")).optionalDependencies?.[n]}catch{}let a=l=>{try{return Xo(l,r,e),!0}catch{return!1}};i&&a(`${n}@${i}`)||a(`${n}@latest`)||e.fail(`\u81EA\u52A8\u8865\u88C5 ${n} \u5931\u8D25\uFF0Ccoder codex \u53EF\u80FD\u4E0D\u53EF\u7528`,`\u624B\u52A8\u6267\u884C: npm install -g ${n}@latest`)}function Qo(r,e){if(!Jo(r)){e.emit(""),e.emit(`\u5F53\u524D npm \u6E90\u4E3A ${r}\uFF08\u975E\u56FD\u5185\u6E90\uFF0C\u56FD\u5185\u7F51\u7EDC\u53EF\u80FD\u8F83\u6162\uFF09\u3002`),e.emit("\u53EF\u4E34\u65F6\u4E3A\u672C\u6B21\u5347\u7EA7\u6307\u5B9A\u56FD\u5185\u6E90:"),e.emit(` coder update --registry ${ct[0]}`),e.emit("\u6216\u6C38\u4E45\u5207\u6362 npm \u5168\u5C40\u6E90:");for(let t of ct)e.emit(` npm config set registry ${t}`)}}function wu(r,e){let t=o=>String(o).replace(/^v/,"").split(".").map(Number),[n,s]=[t(r),t(e)];for(let o=0;o<3;o++){if((n[o]||0)>(s[o]||0))return!0;if((n[o]||0)<(s[o]||0))return!1}return!1}function ei(r,e){let t=ft().version,n=r.registry||Yo(),s=_u(r.registry||null);return e.emit(`\u5F53\u524D\u7248\u672C: ${t}`),e.emit(`\u6700\u65B0\u7248\u672C: ${s||"\u67E5\u8BE2\u5931\u8D25\uFF08\u68C0\u67E5\u7F51\u7EDC\u6216 registry\uFF09"}`),e.emit(`npm \u6E90: ${n}`),s&&wu(s,t)?(e.emit(""),e.emit(`\u6709\u53EF\u7528\u66F4\u65B0 ${t} \u2192 ${s}\uFF0C\u8FD0\u884C coder update \u5347\u7EA7\u3002`)):s&&(e.emit(""),e.emit("\u5DF2\u662F\u6700\u65B0\u7248\u672C\u3002")),Qo(n,e),0}function ti(r,e){let t=ft().version,n=r.registry||Yo();e.emit(`\u5F53\u524D\u7248\u672C: ${t}`),e.emit(`npm \u6E90: ${n}`),Qo(n,e),e.emit(""),e.emit("\u6B63\u5728\u5347\u7EA7 Coder...");try{Xo("makecoder@latest",r,e)}catch(o){let i=String(o.message||""),a=/EACCES|permission/i.test(i)?"\u6743\u9650\u4E0D\u8DB3\uFF0C\u5C1D\u8BD5: sudo npm install -g makecoder@latest\uFF08\u6216\u4FEE\u590D npm \u5168\u5C40\u76EE\u5F55\u6743\u9650\uFF09":"\u68C0\u67E5\u7F51\u7EDC\u6216\u6362\u6E90\u540E\u91CD\u8BD5: coder update --registry "+ct[0];return e.fail(`\u5347\u7EA7\u5931\u8D25: ${i.split(`
322
- `)[0]}`,a),1}xu(r,e);let s=yu();return e.emit(""),e.emit(s?`\u5347\u7EA7\u6210\u529F\uFF0C\u5F53\u524D\u7248\u672C: ${s}`:"\u5347\u7EA7\u6210\u529F"),0}function Cu(r,e){r.command("update").description("\u5347\u7EA7 Coder \u5230\u6700\u65B0\u7248\u672C").option("--check","\u53EA\u68C0\u6D4B\u6700\u65B0\u7248\u672C\u4E0E\u5F53\u524D npm \u6E90\uFF0C\u4E0D\u6267\u884C\u5B89\u88C5").option("--registry <url>","\u672C\u6B21\u64CD\u4F5C\u4F7F\u7528\u7684 npm \u6E90\uFF08\u9ED8\u8BA4\u6CBF\u7528\u5168\u5C40 registry\uFF09").option("--verbose","\u6253\u5370\u6BCF\u4E00\u6B65\u6267\u884C\u7684\u547D\u4EE4\uFF0C\u5E76\u63D0\u9AD8 npm \u65E5\u5FD7\u7EA7\u522B").addHelpText("after",["","\u793A\u4F8B:"," coder update \u5347\u7EA7\u5230\u6700\u65B0\u7248\u672C"," coder update --check \u53EA\u770B\u6709\u6CA1\u6709\u65B0\u7248\u672C\uFF0C\u4E0D\u5B89\u88C5",` coder update --registry ${ct[0]}`," coder update --verbose \u6392\u67E5\u5347\u7EA7\u95EE\u9898\u65F6\u67E5\u770B\u8BE6\u7EC6\u65E5\u5FD7"].join(`
323
- `)).action(t=>{if(t.registry){let n=gu(t.registry);if(!n.ok){e.fail(n.error,`\u793A\u4F8B: coder update --registry ${ct[0]}`),process.exitCode=1;return}t.registry=n.value}process.exitCode=t.check?ei(t,e):ti(t,e)})}ri.exports={register:Cu,runUpdate:ti,runCheck:ei,isCnRegistry:Jo,CN_REGISTRIES:ct}});var oi=b((Ep,si)=>{var{isUuid:Iu,classifyId:ku}=kr(),sn=class{constructor(e){this.http=e,this._cache=new Map}async toDocUuid(e){return this._resolve(e,"documents.info","\u6587\u6863")}async toColUuid(e){return this._resolve(e,"collections.info","\u96C6\u5408")}async _resolve(e,t,n){if(e==null||e===""||Iu(e))return e;if(this._cache.has(e))return this._cache.get(e);let s=ku(e);if(!s){let l=new Error(`\u65E0\u6CD5\u8BC6\u522B\u7684${n} id: ${e}`);throw l.hint=`\u4F20\u5165${n}\u7684 UUID\u3001urlId \u6216\u6D4F\u89C8\u5668 URL\uFF1B\u6216\u7528 coder wiki search <\u5173\u952E\u8BCD> \u67E5\u627E`,l}if(s.kind==="uuid")return this._cache.set(e,s.value),s.value;let{ok:o,json:i,body:a}=await this.http.postJson(t,{id:s.value}),c=i?.data?.id;if(!o||!c){let l=new Error(`\u627E\u4E0D\u5230${n}: ${e}`);throw l.hint=`\u786E\u8BA4${n}\u5B58\u5728\u4E14\u5F53\u524D\u56E2\u961F\u6709\u6743\u8BBF\u95EE\uFF08${vu(a)}\uFF09`,l}return this._cache.set(e,c),c}};function vu(r){try{let e=JSON.parse(r);return e.message||e.error||""}catch{return(r||"").slice(0,120)}}si.exports={IdResolver:sn}});var ai=b((Tp,ii)=>{function Ou(r){let e=["Usage: coder wiki <subcommand> [args] [options]","","Global Options:"," --team <teamId> \u6307\u5B9A\u56E2\u961F\u4E0A\u4E0B\u6587\uFF08\u9ED8\u8BA4\u7528 coder team use \u8BBE\u7F6E\u7684\u56E2\u961F\uFF09"," --format json \u7ED3\u6784\u5316 JSON \u8F93\u51FA\uFF08\u9ED8\u8BA4 text\uFF09","","Collections:"," list \u5217\u51FA\u6240\u6709\u96C6\u5408"," list <collection> [-d <depth>] \u5217\u51FA\u96C6\u5408\u4E0B\u6587\u6863\uFF08-d -1 \u5C55\u5F00\u6574\u68F5\u6811\uFF09"," create-collection <name> [desc] [--permission r|rw|null] [--icon <i>] [--color #hex] [--sort-field title|index] [--sort-direction asc|desc] [--index <fi>]"," update-collection <collection> [--name] [--description] [--permission] [--color] [--sharing]"," archive-collection / restore-collection / delete-collection <collection>"," collection-info <collection> \u96C6\u5408\u8BE6\u60C5"," collection-members <collection> [--query] [--permission]"," collection-add-user / collection-remove-user <collection> <userId>"," collection-add-group / collection-remove-group <collection> <groupId>"," collection-group-members <collection>"," collection-export <collection> [--format outline|markdown_zip]"," export-all [--format outline|markdown_zip]"," collection-move <collection> <index>"," icons [keyword] \u5217\u51FA\u53EF\u7528\u56FE\u6807\u540D","","Documents:"," get <doc> \u67E5\u770B\u6587\u6863\uFF08\u542B\u6B63\u6587\uFF09",' publish <collection> "\u6807\u9898" ["\u6B63\u6587"]'," publish <collection> --file <path> [--parent <doc>] [--index <n>] [--after <doc>]",' update <doc> "\u6807\u9898" ["\u6B63\u6587"] | update <doc> --file <path>'," delete <doc> [--permanent]"," move <doc> [collection] [parentDoc]"," archive <doc> / restore <doc> [--revision <revId>] [--collection <col>]"," archived [--collection <col>] / deleted"," insights <doc> [--start-date] [--end-date]"," export <doc> [--include-children]"," search <keyword> / search-titles <keyword>"," duplicate <doc> [--title] [--recursive] [--publish] [--collection] [--parent]"," unpublish <doc> / templatize <doc> [--collection]"," doc-members <doc>"," doc-add-user / doc-remove-user <doc> <userId>"," doc-add-group / doc-remove-group <doc> <groupId>"," doc-group-members <doc> / sub-docs <doc> / empty-trash","","Revisions / Discovery:"," revisions <doc> / revision <revId>"," drafts / recent","","Favorites & Pins:"," stars / star <doc|col> [--collection] / unstar <starId>"," pins [collection] / pin <doc> [collection] / unpin <pinId>","","Comments:",' comments <doc> / comment <doc> "\u5185\u5BB9"',"","Shares:"," shares [--document <doc>] / share-info <shareId>"," share <doc> [--published] [--include-children]"," share-update <shareId> [--published] [--no-published] [--include-children]"," unshare <shareId>","","Users / Groups:"," users [--query] [--filter] / user-info <userId>"," invite <email> <name> <role> / user-update-role <userId> <role>"," user-suspend / user-activate <userId>"," groups [--query] / group-info <groupId> / create-group <name>"," update-group <groupId> --name <n> / delete-group <groupId>"," group-members <groupId> / group-add-user / group-remove-user <groupId> <userId>","","Subscriptions / Events / Templates / Files / Attachments:"," subscriptions <doc>|--collection <col> / subscribe <doc> / unsubscribe <subId>"," views <doc> / view <doc>"," events [--actor] [--document] [--collection] [--type]"," templates [--collection] / template-info <tplId>"," create-template <collection> <title> [--text] / update-template <tplId> [--title] [--text]"," delete-template / duplicate-template <tplId>"," file-ops [--type] / file-op-info / file-op-delete <fileOpId>"," reactions <commentId>"," attachments [doc] / delete-attachment <attId>"," upload <doc> <filePath> / upload-url <doc> <url>","","Examples:"," coder wiki list"," coder wiki get https://makecoder.com/wiki/doc/title-gohs4hSGLY # URL \u76F4\u63A5\u7528"," coder wiki revisions gohs4hSGLY # urlId \u76F4\u63A5\u7528"," coder wiki publish <collection> --file ./doc.md",' coder wiki search "\u5173\u952E\u8BCD" --format json',"","Notes:"," \u6587\u6863/\u96C6\u5408 id \u5904\u53EF\u76F4\u63A5\u4F20 UUID\u3001urlId\uFF08\u6D4F\u89C8\u5668 URL \u672B\u6BB5\uFF09\u6216\u5B8C\u6574 URL\uFF0C\u81EA\u52A8\u8BC6\u522B\u3002"," \u5176\u5B83\u5B9E\u4F53 id\uFF08\u7528\u6237/\u7FA4\u7EC4/\u5206\u4EAB/\u7248\u672C/\u8BC4\u8BBA\u2026\uFF09\u9700\u4F20 UUID\uFF0C\u4ECE\u5BF9\u5E94 list \u547D\u4EE4\u83B7\u53D6\u3002"];r.emit(e.join(`
324
- `))}ii.exports={showHelp:Ou}});var di=b((Pp,li)=>{var{WikiHttp:$u,docUrl:Su,colUrl:Au,errorMessage:Eu}=_t(),{IdResolver:Tu}=oi(),{COMMANDS:Du,flag:Dp}=Er(),ci=Ur(),{showHelp:Pu}=ai(),Uu=r=>r.replace(/-([a-z])/g,(e,t)=>t.toUpperCase()),ju=new Set(["--format","--apikey"]);function Nu(r){let e=[];for(let t=0;t<r.length;t++){if(ju.has(r[t])){t++;continue}e.push(r[t])}return e}var on=class{constructor(e){this.ctx=e||null,this.teamService=null}async handle({wikiSubcommand:e,wikiRemainingArgs:t,apikey:n}){let s=this.ctx;if(!e||e==="--help"||e==="-h")return Pu(s),0;let o=n;if(!o)return s.fail("\u7F3A\u5C11 API Key","\u5148\u767B\u5F55: coder auth login --apikey <ak>.<sk>"),1;let{teamId:i,remaining:a}=this._extractTeamFlag(Nu(t||[])),c=await this._resolveTeam(i,o),l=new $u(o,c),d=new Tu(l),u={ctx:s,http:l,resolver:d,args:a,arg:a[0],teamId:c,docUrl:Su,colUrl:Au};try{let h=Uu(e);if(typeof ci[h]=="function")return await ci[h](u)||0;let _=Du[e];return _?await this._runCommand(_,u):(s.fail(`\u672A\u77E5\u5B50\u547D\u4EE4: ${e}`,"\u67E5\u770B\u5168\u90E8\u547D\u4EE4: coder wiki --help"),1)}catch(h){return h&&h.handled||s.fail(h.message||String(h),h.hint),1}}async _runCommand(e,t){let{ctx:n,http:s,resolver:o,arg:i,args:a}=t,c=i;if(e.req&&!c)return n.fail(e.req,"\u67E5\u770B\u7528\u6CD5: coder wiki --help"),1;if(e.reqArgs){let u=e.reqArgs(c,a);if(u)return n.fail(u,"\u67E5\u770B\u7528\u6CD5: coder wiki --help"),1}if(c&&e.id==="doc"?c=await o.toDocUuid(c):c&&e.id==="col"&&(c=await o.toColUuid(c)),e.resolve)for(let u of e.resolve)await this._resolveSlot(u,a,o);let l=e.body(c,a),d=await s.postJson(e.endpoint,l,{allowNoData:!!e.expectOk});return d.ok?(e.render(n,d.json),0):(n.fail(Eu(d.body),this._failHint(d)),1)}async _resolveSlot(e,t,n){let s=e.kind==="col"?o=>n.toColUuid(o):o=>n.toDocUuid(o);if(e.flag){let o=t.indexOf(e.flag);o!==-1&&t[o+1]&&(t[o+1]=await s(t[o+1]))}else typeof e.pos=="number"&&t[e.pos]&&(t[e.pos]=await s(t[e.pos]))}_failHint(e){if(e.status===401||e.status===403)return"\u68C0\u67E5\u767B\u5F55\u4E0E\u56E2\u961F\u6743\u9650: coder auth status";if(e.status===404)return"\u786E\u8BA4 id \u6B63\u786E\uFF0C\u6216\u7528 coder wiki search <\u5173\u952E\u8BCD> \u67E5\u627E"}_extractTeamFlag(e){let t=e.indexOf("--team");return t!==-1&&e[t+1]?{teamId:e[t+1],remaining:[...e.slice(0,t),...e.slice(t+2)]}:{teamId:null,remaining:e}}async _resolveTeam(e,t){if(e)return e;let n=this.ctx,s=n.getTeam?n.getTeam():null;if(s&&s.id)return s.id;if(this.teamService&&n.getTeamManual&&!n.getTeamManual())try{let o=encodeURIComponent(JSON.stringify({filter_is_joined:!0})),i=await this.teamService.request("GET",`/team?constraints=${o}&page=1&size=200`,t);if(i.status===200){let c=this.teamService.parseJson(i.body)?.data?.items||[];if(c.length)return n.setTeam(c[0].id,c[0].name||""),c[0].id}}catch{}return null}};li.exports=on});var mi=b((Up,ui)=>{function Ru(r){let e=["Usage: coder team <command> [args] [options]"," coder team <members|groups> <verb> [args] [options]","","AI \u539F\u751F\u7684\u56E2\u961F\u4E0E\u6210\u5458\u7BA1\u7406\u3002","","Global Options:"," --team <teamId> \u6307\u5B9A\u56E2\u961F\uFF08members/groups \u5B50\u547D\u4EE4\u9ED8\u8BA4\u7528 coder team use \u8BBE\u7F6E\u7684\u56E2\u961F\uFF09"," --format json \u7ED3\u6784\u5316 JSON \u8F93\u51FA\uFF08\u9ED8\u8BA4 text\uFF09","","Team:"," list \u5217\u51FA\u6211\u52A0\u5165\u7684\u56E2\u961F\uFF08\u522B\u540D: ls\uFF09"," current \u663E\u793A\u5F53\u524D\u9ED8\u8BA4\u56E2\u961F"," use <teamId> \u5207\u6362\u9ED8\u8BA4\u56E2\u961F\uFF08\u5199\u5165\u914D\u7F6E\uFF09"," info [teamId] \u56E2\u961F\u8BE6\u60C5\uFF1A\u79EF\u5206\u3001\u6210\u5458\u6570\u3001\u6709\u6548\u671F\u7B49","","Members (coder team members <verb>):"," list [-q <kw>] [--type human|ai] \u5217\u51FA/\u641C\u7D22\u6210\u5458\uFF08\u7701\u7565 verb \u5373 list\uFF09"," info <userId|username> \u6210\u5458\u8BE6\u60C5"," create <username> \u521B\u5EFA\u6210\u5458\uFF08\u9ED8\u8BA4 user_type=human\uFF09"," [--type human|ai] [--password <pwd>] [--phone <phone>]"," [--nickname <n>] [--mentor <userId|username>] [--points <n>] [--save-to <path>]"," update <userId|username> \u66F4\u65B0\u6635\u79F0 / mentor"," [--nickname <n>] [--mentor <userId|username>] [--clear-mentor]"," set-points <userId|username> --points <n|unlimited> \u8BBE\u7F6E\u79EF\u5206\u914D\u989D\uFF08owner/manager\uFF09"," delete <userId|username> [--yes] \u5220\u9664\u6210\u5458\uFF08\u9AD8\u5F71\u54CD\uFF0C\u9700 --yes\uFF09","","Groups (coder team groups <verb>):"," list \u5217\u51FA\u5C0F\u7EC4\uFF08\u7701\u7565 verb \u5373 list\uFF09"," info <groupId> \u5C0F\u7EC4\u8BE6\u60C5\uFF08\u542B\u6210\u5458\u6570\uFF09"," members <groupId> \u5217\u51FA\u5C0F\u7EC4\u6210\u5458"," create <name> [--description <d>] \u521B\u5EFA\u5C0F\u7EC4"," update <groupId> [--name <n>] [--description <d>] \u66F4\u65B0\u5C0F\u7EC4"," delete <groupId> [--yes] \u5220\u9664\u5C0F\u7EC4\uFF08\u9AD8\u5F71\u54CD\uFF0C\u9700 --yes\uFF09"," add-member <groupId> <userIds> [--role member|mentor] \u6279\u91CF\u6DFB\u52A0\uFF08userIds \u9017\u53F7\u5206\u9694\uFF09"," set-role <groupId> <userId|username> <member|mentor> \u4FEE\u6539\u6210\u5458\u89D2\u8272"," remove-member <groupId> <userId|username> [--yes] \u79FB\u9664\u6210\u5458\uFF08\u9AD8\u5F71\u54CD\uFF0C\u9700 --yes\uFF09","","\u9000\u51FA\u7801: 0 \u6210\u529F \xB7 3 \u53C2\u6570\u9519\u8BEF \xB7 4 \u4E0D\u5B58\u5728 \xB7 5 \u65E0\u6743\u9650 \xB7 10 \u5F85\u786E\u8BA4(\u9AD8\u5F71\u54CD\u9700 --yes) \xB7 \u5176\u4F59\u975E\u96F6\u4E3A\u9519\u8BEF","","Examples:"," coder team list"," coder team members --type ai"," coder team members -q mulan --format json"," coder team members create alice --phone 13800000000 --save-to ./alice.cred"," coder team groups add-member <groupId> alice,bob --role mentor"];r.emit(e.join(`
325
- `))}ui.exports={showHelp:Ru}});var cn=b((jp,fi)=>{var{TeamHttp:pi,parseJson:qu}=Ut(),hi=br(),{showHelp:Zu}=mi(),Lu=new Set(["--format","--apikey"]);function Mu(r){let e=[];for(let t=0;t<r.length;t++){if(Lu.has(r[t])){t++;continue}e.push(r[t])}return e}var Vu=new Set(["list","current","use","info"]),Bu=new Set(["members","groups"]),an=class{constructor(e){this.ctx=e||null}request(e,t,n,s,o){return new pi(n).request(e,t,s,o)}parseJson(e){return qu(e)}async handle({teamSubcommand:e,teamRemainingArgs:t,apikey:n}){let s=this.ctx;if(!e||e==="--help"||e==="-h")return Zu(s),0;let o=n;if(!o)return s.fail("\u7F3A\u5C11 API Key","\u5148\u767B\u5F55: coder auth login --apikey <ak>.<sk>"),2;let i=Mu(t||[]),a=e==="ls"?"list":e,c=this._resolve(a,i);if(!c)return s.fail(`\u672A\u77E5\u547D\u4EE4: coder team ${e}`,"\u67E5\u770B\u5168\u90E8\u547D\u4EE4: coder team --help"),3;if(c.error)return s.fail(c.error,"\u67E5\u770B\u5168\u90E8\u547D\u4EE4: coder team --help"),3;let{fn:l,args:d}=c,u=new pi(o),h={ctx:s,http:u,args:d,arg:d[0]};try{return await l(h)||0}catch(_){return _&&_.handled?_.code||1:(s.fail(_.message||String(_),_.hint),1)}}_resolve(e,t){if(Vu.has(e))return{fn:hi[e],args:t};if(Bu.has(e)){let n=hi[e],s=t[0];if(!s||s.startsWith("-"))return{fn:n.list,args:t};let o=n[s];if(!o){let i=Object.keys(n).join(" | ");return{error:`\u672A\u77E5 ${e} \u52A8\u8BCD: ${s}\uFF08\u53EF\u7528: ${i}\uFF09`}}return{fn:o,args:t.slice(1)}}return null}};fi.exports=an});var yi=b((Np,gi)=>{var Fu=di(),Gu=cn();function Hu(r,e){let t=new Fu(e);return t.teamService=new Gu(e),r.command("wiki [args...]").description("\u7BA1\u7406 MakeCoder \u77E5\u8BC6\u5E93").allowUnknownOption().helpOption(!1).action(async n=>{let s=n||[],o=await t.handle({wikiSubcommand:s[0],wikiRemainingArgs:s.slice(1),apikey:e.getApiKey()});process.exitCode=o||0}),t}gi.exports={register:Hu}});var wi=b((Rp,xi)=>{var zu=qt(),Wu=cn();function bi(r,e,t){let[n,s]=e;return{[`${r}Subcommand`]:n,[`${r}Arg`]:s,[`${r}RemainingArgs`]:e.slice(1),apikey:t.getApiKey(),coderBaseUrl:t.getCoderBaseUrl()}}function _i(r,e,t){r.command(`${t.name} [args...]`).description(t.describe).allowUnknownOption().helpOption(!1).action(async n=>{let s=await t.service.handle(bi(t.prefix,n||[],e));process.exitCode=s||0})}function Ku(r,e){let t=new Wu(e),n=new zu(e);return n.teamService=t,_i(r,e,{name:"team",describe:"\u7BA1\u7406\u56E2\u961F\u4E0E\u6210\u5458\uFF08\u9762\u5411 AI\uFF09",prefix:"team",service:t}),_i(r,e,{name:"skills",describe:"\u7BA1\u7406 Claude Code skills",prefix:"skills",service:n}),{teamService:t,skillsService:n}}xi.exports={register:Ku,buildHandleArgs:bi}});var Ii=b((qp,Ci)=>{var Ju=oo(),Yu=Bo(),Xu=Wo(),Qu=ni(),em=yi(),tm=wi();function rm(r,e){return Ju.register(r,e),Yu.register(r,e),Xu.register(r,e),Qu.register(r,e),em.register(r,e),{domains:tm.register(r,e)}}Ci.exports={registerAll:rm}});var Oi=b((Zp,vi)=>{var{CoderContext:ki}=hn(),{SHORTCUTS:nm,isAgentName:sm,launchAgent:om}=Pt(),im=Vn(),{version:am}=ft(),ln=class{constructor(){this.vscodeExtensionService=new im}_readGlobalOptions(e){let t=null,n=null;for(let s=0;s<e.length;s++)e[s]==="--format"&&e[s+1]?t=e[s+1]:e[s]==="--apikey"&&e[s+1]&&(n=e[s+1]);return{format:t,apikey:n}}_leadingCompletionFlag(e){let t=new Set(["--format","--apikey"]);for(let n=0;n<e.length;n++){let s=e[n];if(s==="--install-completion"||s==="--show-completion")return s;if(t.has(s)){n++;continue}if(!s.startsWith("-"))return null}return null}async run(e=process.argv.slice(2)){if(e[0]==="__complete"){let{complete:i}=Zs();return i(e.slice(1))}let t=this._leadingCompletionFlag(e);if(t){let i=this._readGlobalOptions(e),a=new ki(i),{installCompletion:c,showCompletion:l}=Hs(),d=e.indexOf(t),u=e[d+1]&&!e[d+1].startsWith("-")?e[d+1]:null;return t==="--install-completion"?c(a,u):l(a,u)}try{await this.vscodeExtensionService.ensureExtensionInstalled()}catch(i){process.env.CODER_DEBUG&&console.error("VSCode Extension Service Error:",i)}let n=this._readGlobalOptions(e),s=new ki(n),o=e[0];return o?nm.has(o)&&sm(o)?await this._launchShortcut(o,e.slice(1),s):await this._runCommander(e,s):await this._launchShortcut("claude",[],s)}async _launchShortcut(e,t,n){let s=n.getApiKey();return s?(this._notifySkillUpdates(s),await om(e,t,n)||0):(n.fail("missing credentials","run `coder auth login --apikey <ak>.<sk>`\uFF08\u83B7\u53D6: https://makecoder.com/my/apikeys\uFF09"),1)}_notifySkillUpdates(e){try{let t=qt();new t(null).notifyAndRefreshUpdates(e)}catch{}}async _runCommander(e,t){let{Command:n}=(ro(),Ui(to)),{registerAll:s}=Ii(),o=new n;return o.name("coder").description("Coder \u2014 AI Agent Runtime OS\uFF08AI\u667A\u80FD\u4F53\u64CD\u4F5C\u7CFB\u7EDF\uFF09").version(am,"-v, --version","\u663E\u793A\u7248\u672C\u53F7").helpOption("-h, --help","\u663E\u793A\u5E2E\u52A9\u4FE1\u606F").enablePositionalOptions().addHelpText("after",["","\u5FEB\u6377\u65B9\u5F0F:"," coder \u7B49\u540C coder agent claude"," coder claude ... \u7B49\u540C coder agent claude ..."," coder codex ... \u7B49\u540C coder agent codex ..."," coder gemini ... \u7B49\u540C coder agent gemini ...","",`\u914D\u7F6E\u6587\u4EF6: ${t.configPath}`].join(`
326
- `)),o.option("--format <fmt>","\u8F93\u51FA\u683C\u5F0F\uFF1Atext\uFF08\u9ED8\u8BA4\uFF09| json"),o.option("--apikey <key>","\u4E34\u65F6\u63D0\u4F9B API Key\uFF08\u683C\u5F0F: <ak>.<sk>\uFF09"),o.option("--install-completion","\u4E3A\u5F53\u524D shell \u5B89\u88C5\u81EA\u52A8\u8865\u5168"),o.option("--show-completion","\u6253\u5370\u5F53\u524D shell \u7684\u8865\u5168\u811A\u672C\uFF08\u4F9B\u590D\u5236/\u81EA\u5B9A\u4E49\u5B89\u88C5\uFF09"),s(o,t),await o.parseAsync(e,{from:"user"}),process.exitCode||0}};vi.exports=ln});var cm=Oi(),{shouldSuppressUpdateNotice:lm}=xr();process.on("unhandledRejection",(r,e)=>{console.error("Unhandled Promise Rejection:",r),process.exit(1)});process.on("uncaughtException",r=>{console.error("Uncaught Exception:",r.message),process.env.CODER_DEBUG&&console.error(r.stack),process.exit(1)});function dm(r,e){let t=o=>o.replace(/^v/,"").split(".").map(Number),[n,s]=[t(r),t(e)];for(let o=0;o<3;o++){if((n[o]||0)>(s[o]||0))return!0;if((n[o]||0)<(s[o]||0))return!1}return!1}function um(){if(lm())return;let r=require("https"),{version:e}=ft(),n=r.get("https://registry.npmmirror.com/makecoder/latest",{timeout:5e3},s=>{let o="";s.on("data",i=>{o+=i}),s.on("end",()=>{try{let i=JSON.parse(o).version;i&&dm(i,e)&&console.error(`\x1B[33m\u26A1 \u68C0\u6D4B\u5230\u65B0\u7248\u672C ${i}\uFF08\u5F53\u524D ${e}\uFF09\uFF0C\u8FD0\u884C coder update \u5347\u7EA7\x1B[0m`)}catch{}})});n.on("error",()=>{}),n.on("timeout",()=>n.destroy())}async function mm(){let r=new Set(["pub","auth","update","skills","wiki","team"]),e=process.argv[2];e!=="__complete"&&(!e||!r.has(e))&&um(),process.env.CODER_NESTED="1";let t=new cm;try{let n=await t.run();process.exit(n)}catch(n){console.error(`Fatal error: ${n.message}`),process.env.CODER_DEBUG&&console.error(n.stack),process.exit(1)}}mm().catch(r=>{console.error(`Startup error: ${r.message}`),process.exit(1)});
296
+ `))}};ho.exports=jr});var _o=b((Sm,yo)=>{var El=go(),{validatePubMetaData:Ol}=Zt();function Dl(t,e){let r=new El;t.command("pub").description("\u53D1\u5E03\u5F53\u524D\u76EE\u5F55\u4E3A MakeCoder \u7F51\u9875\u5E94\u7528\uFF08*.coder.pub\uFF09").option("--name <name>","\u9879\u76EE\u540D\u79F0\uFF08\u7F3A\u7701\u5219\u5728\u4EA4\u4E92\u5F0F\u7EC8\u7AEF\u4E2D\u63D0\u793A\u8F93\u5165\uFF09").option("--meta-data <json>","\u9644\u52A0\u5143\u6570\u636E\uFF08\u5408\u6CD5 JSON \u5B57\u7B26\u4E32\uFF09").option("--allow-clone","\u5305\u542B AI \u751F\u6210\u8BB0\u5F55\uFF08Claude JSONL\uFF09\u4EE5\u4FBF\u514B\u9686").action(async n=>{if(!e.requireApiKey()){process.exitCode=1;return}if(n.metaData){let s=Ol(n.metaData);if(!s.ok){e.fail(s.error,`--meta-data \u9700\u4E3A\u5408\u6CD5 JSON\uFF0C\u4F8B\u5982 '{"key":"value"}'`),process.exitCode=1;return}}if(!n.name&&e.isNonInteractive){e.fail("missing project name","run `coder pub --name <name>`"),process.exitCode=1;return}process.exitCode=await r.publish({name:n.name,metaData:n.metaData,allowClone:!!n.allowClone,apikey:e.getApiKey(),coderBaseUrl:e.getCoderBaseUrl()})||0})}yo.exports={register:Dl}});var So=b((Tm,$o)=>{var{execSync:Rr,execFileSync:bo}=require("child_process"),Nr=require("fs"),Lt=require("path"),{PLATFORM_PACKAGE:Pl}=_t(),{validateRegistry:Ul}=Zt(),Qe=["https://registry.npmmirror.com","https://mirrors.cloud.tencent.com/npm/","https://mirrors.huaweicloud.com/repository/npm/"];function Io(t){if(!t)return!1;let e=t.toLowerCase();return e.includes("npmmirror.com")||e.includes("npm.taobao.org")||e.includes("cloud.tencent.com")||e.includes("huaweicloud.com")||e.includes("cnpmjs.org")||e.includes("ustc.edu.cn")}function xo(){try{return Rr("npm config get registry",{encoding:"utf8"}).trim()}catch{return"https://registry.npmjs.org/"}}function jl(){try{let t=Rr("npm root -g",{encoding:"utf8"}).trim(),e=Lt.join(t,"makecoder","package.json");if(Nr.existsSync(e))return JSON.parse(Nr.readFileSync(e,"utf8")).version}catch{}return null}function Nl(t){try{let e=["view","makecoder@latest","version"];return t&&e.push("--registry",t),bo("npm",e,{encoding:"utf8"}).trim()||null}catch{return null}}function Rl({registry:t,verbose:e}){let r=["install","-g"];return t&&r.push("--registry",t),e&&r.push("--loglevel","verbose"),r}function ko(t,e,r){let n=[...Rl(e),t];e.verbose&&r.emit(`$ npm ${n.join(" ")}`),bo("npm",n,{stdio:"inherit"})}function Zl(t,e){let r=`${process.platform}-${process.arch}`,n=Pl[r];if(!n)return;let s;try{s=Rr("npm root -g",{encoding:"utf8"}).trim()}catch{return}if([Lt.join(s,"makecoder","node_modules",n,"package.json"),Lt.join(s,n,"package.json")].some(d=>Nr.existsSync(d)))return;e.emit(`\u672A\u68C0\u6D4B\u5230 ${n}\uFF0C\u6B63\u5728\u8865\u88C5...`);let i;try{i=require(Lt.join(s,"makecoder","package.json")).optionalDependencies?.[n]}catch{}let a=d=>{try{return ko(d,t,e),!0}catch{return!1}};i&&a(`${n}@${i}`)||a(`${n}@latest`)||e.fail(`\u81EA\u52A8\u8865\u88C5 ${n} \u5931\u8D25\uFF0Ccoder codex \u53EF\u80FD\u4E0D\u53EF\u7528`,`\u624B\u52A8\u6267\u884C: npm install -g ${n}@latest`)}function wo(t,e){if(!Io(t)){e.emit(""),e.emit(`\u5F53\u524D npm \u6E90\u4E3A ${t}\uFF08\u975E\u56FD\u5185\u6E90\uFF0C\u56FD\u5185\u7F51\u7EDC\u53EF\u80FD\u8F83\u6162\uFF09\u3002`),e.emit("\u53EF\u4E34\u65F6\u4E3A\u672C\u6B21\u5347\u7EA7\u6307\u5B9A\u56FD\u5185\u6E90:"),e.emit(` coder update --registry ${Qe[0]}`),e.emit("\u6216\u6C38\u4E45\u5207\u6362 npm \u5168\u5C40\u6E90:");for(let r of Qe)e.emit(` npm config set registry ${r}`)}}function ql(t,e){let r=o=>String(o).replace(/^v/,"").split(".").map(Number),[n,s]=[r(t),r(e)];for(let o=0;o<3;o++){if((n[o]||0)>(s[o]||0))return!0;if((n[o]||0)<(s[o]||0))return!1}return!1}function vo(t,e){let r=ot().version,n=t.registry||xo(),s=Nl(t.registry||null);return e.emit(`\u5F53\u524D\u7248\u672C: ${r}`),e.emit(`\u6700\u65B0\u7248\u672C: ${s||"\u67E5\u8BE2\u5931\u8D25\uFF08\u68C0\u67E5\u7F51\u7EDC\u6216 registry\uFF09"}`),e.emit(`npm \u6E90: ${n}`),s&&ql(s,r)?(e.emit(""),e.emit(`\u6709\u53EF\u7528\u66F4\u65B0 ${r} \u2192 ${s}\uFF0C\u8FD0\u884C coder update \u5347\u7EA7\u3002`)):s&&(e.emit(""),e.emit("\u5DF2\u662F\u6700\u65B0\u7248\u672C\u3002")),wo(n,e),0}function Co(t,e){let r=ot().version,n=t.registry||xo();e.emit(`\u5F53\u524D\u7248\u672C: ${r}`),e.emit(`npm \u6E90: ${n}`),wo(n,e),e.emit(""),e.emit("\u6B63\u5728\u5347\u7EA7 Coder...");try{ko("makecoder@latest",t,e)}catch(o){let i=String(o.message||""),a=/EACCES|permission/i.test(i)?"\u6743\u9650\u4E0D\u8DB3\uFF0C\u5C1D\u8BD5: sudo npm install -g makecoder@latest\uFF08\u6216\u4FEE\u590D npm \u5168\u5C40\u76EE\u5F55\u6743\u9650\uFF09":"\u68C0\u67E5\u7F51\u7EDC\u6216\u6362\u6E90\u540E\u91CD\u8BD5: coder update --registry "+Qe[0];return e.fail(`\u5347\u7EA7\u5931\u8D25: ${i.split(`
297
+ `)[0]}`,a),1}Zl(t,e);let s=jl();return e.emit(""),e.emit(s?`\u5347\u7EA7\u6210\u529F\uFF0C\u5F53\u524D\u7248\u672C: ${s}`:"\u5347\u7EA7\u6210\u529F"),0}function Ll(t,e){t.command("update").description("\u5347\u7EA7 Coder \u5230\u6700\u65B0\u7248\u672C").option("--check","\u53EA\u68C0\u6D4B\u6700\u65B0\u7248\u672C\u4E0E\u5F53\u524D npm \u6E90\uFF0C\u4E0D\u6267\u884C\u5B89\u88C5").option("--registry <url>","\u672C\u6B21\u64CD\u4F5C\u4F7F\u7528\u7684 npm \u6E90\uFF08\u9ED8\u8BA4\u6CBF\u7528\u5168\u5C40 registry\uFF09").option("--verbose","\u6253\u5370\u6BCF\u4E00\u6B65\u6267\u884C\u7684\u547D\u4EE4\uFF0C\u5E76\u63D0\u9AD8 npm \u65E5\u5FD7\u7EA7\u522B").addHelpText("after",["","\u793A\u4F8B:"," coder update \u5347\u7EA7\u5230\u6700\u65B0\u7248\u672C"," coder update --check \u53EA\u770B\u6709\u6CA1\u6709\u65B0\u7248\u672C\uFF0C\u4E0D\u5B89\u88C5",` coder update --registry ${Qe[0]}`," coder update --verbose \u6392\u67E5\u5347\u7EA7\u95EE\u9898\u65F6\u67E5\u770B\u8BE6\u7EC6\u65E5\u5FD7"].join(`
298
+ `)).action(r=>{if(r.registry){let n=Ul(r.registry);if(!n.ok){e.fail(n.error,`\u793A\u4F8B: coder update --registry ${Qe[0]}`),process.exitCode=1;return}r.registry=n.value}process.exitCode=r.check?vo(r,e):Co(r,e)})}$o.exports={register:Ll,runUpdate:Co,runCheck:vo,isCnRegistry:Io,CN_REGISTRIES:Qe}});var Ao=b((Am,To)=>{var{isUuid:Ml,classifyId:Bl}=ar(),Zr=class{constructor(e){this.http=e,this._cache=new Map}async toDocUuid(e){return this._resolve(e,"documents.info","\u6587\u6863")}async toColUuid(e){return this._resolve(e,"collections.info","\u96C6\u5408")}async _resolve(e,r,n){if(e==null||e===""||Ml(e))return e;if(this._cache.has(e))return this._cache.get(e);let s=Bl(e);if(!s){let d=new Error(`\u65E0\u6CD5\u8BC6\u522B\u7684${n} id: ${e}`);throw d.hint=`\u4F20\u5165${n}\u7684 UUID\u3001urlId \u6216\u6D4F\u89C8\u5668 URL\uFF1B\u6216\u7528 coder wiki search <\u5173\u952E\u8BCD> \u67E5\u627E`,d}if(s.kind==="uuid")return this._cache.set(e,s.value),s.value;let{ok:o,json:i,body:a}=await this.http.postJson(r,{id:s.value}),c=i?.data?.id;if(!o||!c){let d=new Error(`\u627E\u4E0D\u5230${n}: ${e}`);throw d.hint=`\u786E\u8BA4${n}\u5B58\u5728\u4E14\u5F53\u524D\u56E2\u961F\u6709\u6743\u8BBF\u95EE\uFF08${Vl(a)}\uFF09`,d}return this._cache.set(e,c),c}};function Vl(t){try{let e=JSON.parse(t);return e.message||e.error||""}catch{return(t||"").slice(0,120)}}To.exports={IdResolver:Zr}});var Oo=b((Em,Eo)=>{function Fl(t){let e=["Usage: coder wiki <subcommand> [args] [options]","","Global Options:"," --team <teamId> \u6307\u5B9A\u56E2\u961F\u4E0A\u4E0B\u6587\uFF08\u9ED8\u8BA4\u7528 coder team use \u8BBE\u7F6E\u7684\u56E2\u961F\uFF09"," --format json \u7ED3\u6784\u5316 JSON \u8F93\u51FA\uFF08\u9ED8\u8BA4 text\uFF09","","Collections:"," list \u5217\u51FA\u6240\u6709\u96C6\u5408"," list <collection> [-d <depth>] \u5217\u51FA\u96C6\u5408\u4E0B\u6587\u6863\uFF08-d -1 \u5C55\u5F00\u6574\u68F5\u6811\uFF09"," create-collection <name> [desc] [--permission r|rw|null] [--icon <i>] [--color #hex] [--sort-field title|index] [--sort-direction asc|desc] [--index <fi>]"," update-collection <collection> [--name] [--description] [--permission] [--color] [--sharing]"," archive-collection / restore-collection / delete-collection <collection>"," collection-info <collection> \u96C6\u5408\u8BE6\u60C5"," collection-members <collection> [--query] [--permission]"," collection-add-user / collection-remove-user <collection> <userId>"," collection-add-group / collection-remove-group <collection> <groupId>"," collection-group-members <collection>"," collection-export <collection> [--format outline|markdown_zip]"," export-all [--format outline|markdown_zip]"," collection-move <collection> <index>"," icons [keyword] \u5217\u51FA\u53EF\u7528\u56FE\u6807\u540D","","Documents:"," get <doc> \u67E5\u770B\u6587\u6863\uFF08\u542B\u6B63\u6587\uFF09",' publish <collection> "\u6807\u9898" ["\u6B63\u6587"]'," publish <collection> --file <path> [--parent <doc>] [--index <n>] [--after <doc>]",' update <doc> "\u6807\u9898" ["\u6B63\u6587"] | update <doc> --file <path>'," delete <doc> [--permanent]"," move <doc> [collection] [parentDoc]"," archive <doc> / restore <doc> [--revision <revId>] [--collection <col>]"," archived [--collection <col>] / deleted"," insights <doc> [--start-date] [--end-date]"," export <doc> [--include-children]"," search <keyword> / search-titles <keyword>"," duplicate <doc> [--title] [--recursive] [--publish] [--collection] [--parent]"," unpublish <doc> / templatize <doc> [--collection]"," doc-members <doc>"," doc-add-user / doc-remove-user <doc> <userId>"," doc-add-group / doc-remove-group <doc> <groupId>"," doc-group-members <doc> / sub-docs <doc> / empty-trash","","Revisions / Discovery:"," revisions <doc> / revision <revId>"," drafts / recent","","Favorites & Pins:"," stars / star <doc|col> [--collection] / unstar <starId>"," pins [collection] / pin <doc> [collection] / unpin <pinId>","","Comments:",' comments <doc> / comment <doc> "\u5185\u5BB9"',"","Shares:"," shares [--document <doc>] / share-info <shareId>"," share <doc> [--published] [--include-children]"," share-update <shareId> [--published] [--no-published] [--include-children]"," unshare <shareId>","","Users / Groups:"," users [--query] [--filter] / user-info <userId>"," invite <email> <name> <role> / user-update-role <userId> <role>"," user-suspend / user-activate <userId>"," groups [--query] / group-info <groupId> / create-group <name>"," update-group <groupId> --name <n> / delete-group <groupId>"," group-members <groupId> / group-add-user / group-remove-user <groupId> <userId>","","Subscriptions / Events / Templates / Files / Attachments:"," subscriptions <doc>|--collection <col> / subscribe <doc> / unsubscribe <subId>"," views <doc> / view <doc>"," events [--actor] [--document] [--collection] [--type]"," templates [--collection] / template-info <tplId>"," create-template <collection> <title> [--text] / update-template <tplId> [--title] [--text]"," delete-template / duplicate-template <tplId>"," file-ops [--type] / file-op-info / file-op-delete <fileOpId>"," reactions <commentId>"," attachments [doc] / delete-attachment <attId>"," upload <doc> <filePath> / upload-url <doc> <url>","","Examples:"," coder wiki list"," coder wiki get https://makecoder.com/wiki/doc/title-gohs4hSGLY # URL \u76F4\u63A5\u7528"," coder wiki revisions gohs4hSGLY # urlId \u76F4\u63A5\u7528"," coder wiki publish <collection> --file ./doc.md",' coder wiki search "\u5173\u952E\u8BCD" --format json',"","Notes:"," \u6587\u6863/\u96C6\u5408 id \u5904\u53EF\u76F4\u63A5\u4F20 UUID\u3001urlId\uFF08\u6D4F\u89C8\u5668 URL \u672B\u6BB5\uFF09\u6216\u5B8C\u6574 URL\uFF0C\u81EA\u52A8\u8BC6\u522B\u3002"," \u5176\u5B83\u5B9E\u4F53 id\uFF08\u7528\u6237/\u7FA4\u7EC4/\u5206\u4EAB/\u7248\u672C/\u8BC4\u8BBA\u2026\uFF09\u9700\u4F20 UUID\uFF0C\u4ECE\u5BF9\u5E94 list \u547D\u4EE4\u83B7\u53D6\u3002"];t.emit(e.join(`
299
+ `))}Eo.exports={showHelp:Fl}});var Uo=b((Dm,Po)=>{var{WikiHttp:Gl,docUrl:zl,colUrl:Kl,errorMessage:Jl}=ct(),{IdResolver:Hl}=Ao(),{COMMANDS:Wl,flag:Om}=pr(),Do=yr(),{showHelp:Yl}=Oo(),Xl=t=>t.replace(/-([a-z])/g,(e,r)=>r.toUpperCase()),Ql=new Set(["--format","--apikey"]);function eu(t){let e=[];for(let r=0;r<t.length;r++){if(Ql.has(t[r])){r++;continue}e.push(t[r])}return e}var qr=class{constructor(e){this.ctx=e||null,this.teamService=null}async handle({wikiSubcommand:e,wikiRemainingArgs:r,apikey:n}){let s=this.ctx;if(!e||e==="--help"||e==="-h")return Yl(s),0;let o=n;if(!o)return s.fail("\u7F3A\u5C11 API Key","\u5148\u767B\u5F55: coder auth login --apikey <ak>.<sk>"),1;let{teamId:i,remaining:a}=this._extractTeamFlag(eu(r||[])),c=await this._resolveTeam(i,o),d=new Gl(o,c),l=new Hl(d),p={ctx:s,http:d,resolver:l,args:a,arg:a[0],teamId:c,docUrl:zl,colUrl:Kl};try{let g=Xl(e);if(typeof Do[g]=="function")return await Do[g](p)||0;let _=Wl[e];return _?await this._runCommand(_,p):(s.fail(`\u672A\u77E5\u5B50\u547D\u4EE4: ${e}`,"\u67E5\u770B\u5168\u90E8\u547D\u4EE4: coder wiki --help"),1)}catch(g){return g&&g.handled||s.fail(g.message||String(g),g.hint),1}}async _runCommand(e,r){let{ctx:n,http:s,resolver:o,arg:i,args:a}=r,c=i;if(e.req&&!c)return n.fail(e.req,"\u67E5\u770B\u7528\u6CD5: coder wiki --help"),1;if(e.reqArgs){let p=e.reqArgs(c,a);if(p)return n.fail(p,"\u67E5\u770B\u7528\u6CD5: coder wiki --help"),1}if(c&&e.id==="doc"?c=await o.toDocUuid(c):c&&e.id==="col"&&(c=await o.toColUuid(c)),e.resolve)for(let p of e.resolve)await this._resolveSlot(p,a,o);let d=e.body(c,a),l=await s.postJson(e.endpoint,d,{allowNoData:!!e.expectOk});return l.ok?(e.render(n,l.json),0):(n.fail(Jl(l.body),this._failHint(l)),1)}async _resolveSlot(e,r,n){let s=e.kind==="col"?o=>n.toColUuid(o):o=>n.toDocUuid(o);if(e.flag){let o=r.indexOf(e.flag);o!==-1&&r[o+1]&&(r[o+1]=await s(r[o+1]))}else typeof e.pos=="number"&&r[e.pos]&&(r[e.pos]=await s(r[e.pos]))}_failHint(e){if(e.status===401||e.status===403)return"\u68C0\u67E5\u767B\u5F55\u4E0E\u56E2\u961F\u6743\u9650: coder auth status";if(e.status===404)return"\u786E\u8BA4 id \u6B63\u786E\uFF0C\u6216\u7528 coder wiki search <\u5173\u952E\u8BCD> \u67E5\u627E"}_extractTeamFlag(e){let r=e.indexOf("--team");return r!==-1&&e[r+1]?{teamId:e[r+1],remaining:[...e.slice(0,r),...e.slice(r+2)]}:{teamId:null,remaining:e}}async _resolveTeam(e,r){if(e)return e;let n=this.ctx,s=n.getTeam?n.getTeam():null;if(s&&s.id)return s.id;if(this.teamService&&n.getTeamManual&&!n.getTeamManual())try{let o=encodeURIComponent(JSON.stringify({filter_is_joined:!0})),i=await this.teamService.request("GET",`/team?constraints=${o}&page=1&size=200`,r);if(i.status===200){let c=this.teamService.parseJson(i.body)?.data?.items||[];if(c.length)return n.setTeam(c[0].id,c[0].name||""),c[0].id}}catch{}return null}};Po.exports=qr});var No=b((Pm,jo)=>{function tu(t){let e=["Usage: coder team <command> [args] [options]"," coder team <members|groups> <verb> [args] [options]","","AI \u539F\u751F\u7684\u56E2\u961F\u4E0E\u6210\u5458\u7BA1\u7406\u3002","","Global Options:"," --team <teamId> \u6307\u5B9A\u56E2\u961F\uFF08members/groups \u5B50\u547D\u4EE4\u9ED8\u8BA4\u7528 coder team use \u8BBE\u7F6E\u7684\u56E2\u961F\uFF09"," --format json \u7ED3\u6784\u5316 JSON \u8F93\u51FA\uFF08\u9ED8\u8BA4 text\uFF09","","Team:"," list \u5217\u51FA\u6211\u52A0\u5165\u7684\u56E2\u961F\uFF08\u522B\u540D: ls\uFF09"," current \u663E\u793A\u5F53\u524D\u9ED8\u8BA4\u56E2\u961F"," use <teamId> \u5207\u6362\u9ED8\u8BA4\u56E2\u961F\uFF08\u5199\u5165\u914D\u7F6E\uFF09"," info [teamId] \u56E2\u961F\u8BE6\u60C5\uFF1A\u79EF\u5206\u3001\u6210\u5458\u6570\u3001\u6709\u6548\u671F\u7B49","","Members (coder team members <verb>):"," list [-q <kw>] [--type human|ai] \u5217\u51FA/\u641C\u7D22\u6210\u5458\uFF08\u7701\u7565 verb \u5373 list\uFF09"," info <userId|username> \u6210\u5458\u8BE6\u60C5"," create <username> \u521B\u5EFA\u6210\u5458\uFF08\u9ED8\u8BA4 user_type=human\uFF09"," [--type human|ai] [--password <pwd>] [--phone <phone>]"," [--nickname <n>] [--mentor <userId|username>] [--points <n>] [--save-to <path>]"," update <userId|username> \u66F4\u65B0\u6635\u79F0 / mentor"," [--nickname <n>] [--mentor <userId|username>] [--clear-mentor]"," set-points <userId|username> --points <n|unlimited> \u8BBE\u7F6E\u79EF\u5206\u914D\u989D\uFF08owner/manager\uFF09"," delete <userId|username> [--yes] \u5220\u9664\u6210\u5458\uFF08\u9AD8\u5F71\u54CD\uFF0C\u9700 --yes\uFF09","","Groups (coder team groups <verb>):"," list \u5217\u51FA\u5C0F\u7EC4\uFF08\u7701\u7565 verb \u5373 list\uFF09"," info <groupId> \u5C0F\u7EC4\u8BE6\u60C5\uFF08\u542B\u6210\u5458\u6570\uFF09"," members <groupId> \u5217\u51FA\u5C0F\u7EC4\u6210\u5458"," create <name> [--description <d>] \u521B\u5EFA\u5C0F\u7EC4"," update <groupId> [--name <n>] [--description <d>] \u66F4\u65B0\u5C0F\u7EC4"," delete <groupId> [--yes] \u5220\u9664\u5C0F\u7EC4\uFF08\u9AD8\u5F71\u54CD\uFF0C\u9700 --yes\uFF09"," add-member <groupId> <userIds> [--role member|mentor] \u6279\u91CF\u6DFB\u52A0\uFF08userIds \u9017\u53F7\u5206\u9694\uFF09"," set-role <groupId> <userId|username> <member|mentor> \u4FEE\u6539\u6210\u5458\u89D2\u8272"," remove-member <groupId> <userId|username> [--yes] \u79FB\u9664\u6210\u5458\uFF08\u9AD8\u5F71\u54CD\uFF0C\u9700 --yes\uFF09","","\u9000\u51FA\u7801: 0 \u6210\u529F \xB7 3 \u53C2\u6570\u9519\u8BEF \xB7 4 \u4E0D\u5B58\u5728 \xB7 5 \u65E0\u6743\u9650 \xB7 10 \u5F85\u786E\u8BA4(\u9AD8\u5F71\u54CD\u9700 --yes) \xB7 \u5176\u4F59\u975E\u96F6\u4E3A\u9519\u8BEF","","Examples:"," coder team list"," coder team members --type ai"," coder team members -q mulan --format json"," coder team members create alice --phone 13800000000 --save-to ./alice.cred"," coder team groups add-member <groupId> alice,bob --role mentor"];t.emit(e.join(`
300
+ `))}jo.exports={showHelp:tu}});var Mr=b((Um,qo)=>{var{TeamHttp:Ro,parseJson:ru}=xt(),Zo=rr(),{showHelp:nu}=No(),su=new Set(["--format","--apikey"]);function ou(t){let e=[];for(let r=0;r<t.length;r++){if(su.has(t[r])){r++;continue}e.push(t[r])}return e}var iu=new Set(["list","current","use","info"]),au=new Set(["members","groups"]),Lr=class{constructor(e){this.ctx=e||null}request(e,r,n,s,o){return new Ro(n).request(e,r,s,o)}parseJson(e){return ru(e)}async handle({teamSubcommand:e,teamRemainingArgs:r,apikey:n}){let s=this.ctx;if(!e||e==="--help"||e==="-h")return nu(s),0;let o=n;if(!o)return s.fail("\u7F3A\u5C11 API Key","\u5148\u767B\u5F55: coder auth login --apikey <ak>.<sk>"),2;let i=ou(r||[]),a=e==="ls"?"list":e,c=this._resolve(a,i);if(!c)return s.fail(`\u672A\u77E5\u547D\u4EE4: coder team ${e}`,"\u67E5\u770B\u5168\u90E8\u547D\u4EE4: coder team --help"),3;if(c.error)return s.fail(c.error,"\u67E5\u770B\u5168\u90E8\u547D\u4EE4: coder team --help"),3;let{fn:d,args:l}=c,p=new Ro(o),g={ctx:s,http:p,args:l,arg:l[0]};try{return await d(g)||0}catch(_){return _&&_.handled?_.code||1:(s.fail(_.message||String(_),_.hint),1)}}_resolve(e,r){if(iu.has(e))return{fn:Zo[e],args:r};if(au.has(e)){let n=Zo[e],s=r[0];if(!s||s.startsWith("-"))return{fn:n.list,args:r};let o=n[s];if(!o){let i=Object.keys(n).join(" | ");return{error:`\u672A\u77E5 ${e} \u52A8\u8BCD: ${s}\uFF08\u53EF\u7528: ${i}\uFF09`}}return{fn:o,args:r.slice(1)}}return null}};qo.exports=Lr});var Mo=b((jm,Lo)=>{var cu=Uo(),du=Mr();function lu(t,e){let r=new cu(e);return r.teamService=new du(e),t.command("wiki [args...]").description("\u7BA1\u7406 MakeCoder \u77E5\u8BC6\u5E93").allowUnknownOption().helpOption(!1).action(async n=>{let s=n||[],o=await r.handle({wikiSubcommand:s[0],wikiRemainingArgs:s.slice(1),apikey:e.getApiKey()});process.exitCode=o||0}),r}Lo.exports={register:lu}});var Go=b((Nm,Fo)=>{var uu=Ct(),mu=Mr();function Vo(t,e,r){let[n,s]=e;return{[`${t}Subcommand`]:n,[`${t}Arg`]:s,[`${t}RemainingArgs`]:e.slice(1),apikey:r.getApiKey(),coderBaseUrl:r.getCoderBaseUrl()}}function Bo(t,e,r){t.command(`${r.name} [args...]`).description(r.describe).allowUnknownOption().helpOption(!1).action(async n=>{let s=await r.service.handle(Vo(r.prefix,n||[],e));process.exitCode=s||0})}function pu(t,e){let r=new mu(e),n=new uu(e);return n.teamService=r,Bo(t,e,{name:"team",describe:"\u7BA1\u7406\u56E2\u961F\u4E0E\u6210\u5458\uFF08\u9762\u5411 AI\uFF09",prefix:"team",service:r}),Bo(t,e,{name:"skills",describe:"\u7BA1\u7406 Claude Code skills",prefix:"skills",service:n}),{teamService:r,skillsService:n}}Fo.exports={register:pu,buildHandleArgs:Vo}});var Ko=b((Rm,zo)=>{var fu=As(),hu=po(),gu=_o(),yu=So(),_u=Mo(),bu=Go();function Iu(t,e){return fu.register(t,e),hu.register(t,e),gu.register(t,e),yu.register(t,e),_u.register(t,e),{domains:bu.register(t,e)}}zo.exports={registerAll:Iu}});var Wo=b((Zm,Ho)=>{var{CoderContext:Jo}=Kr(),{SHORTCUTS:xu,isAgentName:ku,launchAgent:wu}=It(),vu=kn(),{version:Cu}=ot(),Br=class{constructor(){this.vscodeExtensionService=new vu}_readGlobalOptions(e){let r=null,n=null;for(let s=0;s<e.length;s++)e[s]==="--format"&&e[s+1]?r=e[s+1]:e[s]==="--apikey"&&e[s+1]&&(n=e[s+1]);return{format:r,apikey:n}}_leadingCompletionFlag(e){let r=new Set(["--format","--apikey"]);for(let n=0;n<e.length;n++){let s=e[n];if(s==="--install-completion"||s==="--show-completion")return s;if(r.has(s)){n++;continue}if(!s.startsWith("-"))return null}return null}async run(e=process.argv.slice(2)){if(e[0]==="__complete"){let{complete:i}=bs();return i(e.slice(1))}let r=this._leadingCompletionFlag(e);if(r){let i=this._readGlobalOptions(e),a=new Jo(i),{installCompletion:c,showCompletion:d}=$s(),l=e.indexOf(r),p=e[l+1]&&!e[l+1].startsWith("-")?e[l+1]:null;return r==="--install-completion"?c(a,p):d(a,p)}try{await this.vscodeExtensionService.ensureExtensionInstalled()}catch(i){process.env.CODER_DEBUG&&console.error("VSCode Extension Service Error:",i)}let n=this._readGlobalOptions(e),s=new Jo(n),o=e[0];return o?xu.has(o)&&ku(o)?await this._launchShortcut(o,e.slice(1),s):await this._runCommander(e,s):await this._launchShortcut("claude",[],s)}async _launchShortcut(e,r,n){let s=n.getApiKey();return s?(this._notifySkillUpdates(s),await wu(e,r,n)||0):(n.fail("missing credentials","run `coder auth login --apikey <ak>.<sk>`\uFF08\u83B7\u53D6: https://makecoder.com/my/apikeys\uFF09"),1)}_notifySkillUpdates(e){try{let r=Ct();new r(null).notifyAndRefreshUpdates(e)}catch{}}async _runCommander(e,r){let{Command:n}=require("commander"),{registerAll:s}=Ko(),o=new n;return o.name("coder").description("Coder \u2014 AI Agent Runtime OS\uFF08AI\u667A\u80FD\u4F53\u64CD\u4F5C\u7CFB\u7EDF\uFF09").version(Cu,"-v, --version","\u663E\u793A\u7248\u672C\u53F7").helpOption("-h, --help","\u663E\u793A\u5E2E\u52A9\u4FE1\u606F").enablePositionalOptions().addHelpText("after",["","\u5FEB\u6377\u65B9\u5F0F:"," coder \u7B49\u540C coder agent claude"," coder claude ... \u7B49\u540C coder agent claude ..."," coder codex ... \u7B49\u540C coder agent codex ..."," coder gemini ... \u7B49\u540C coder agent gemini ...","",`\u914D\u7F6E\u6587\u4EF6: ${r.configPath}`].join(`
301
+ `)),o.option("--format <fmt>","\u8F93\u51FA\u683C\u5F0F\uFF1Atext\uFF08\u9ED8\u8BA4\uFF09| json"),o.option("--apikey <key>","\u4E34\u65F6\u63D0\u4F9B API Key\uFF08\u683C\u5F0F: <ak>.<sk>\uFF09"),o.option("--install-completion","\u4E3A\u5F53\u524D shell \u5B89\u88C5\u81EA\u52A8\u8865\u5168"),o.option("--show-completion","\u6253\u5370\u5F53\u524D shell \u7684\u8865\u5168\u811A\u672C\uFF08\u4F9B\u590D\u5236/\u81EA\u5B9A\u4E49\u5B89\u88C5\uFF09"),s(o,r),await o.parseAsync(e,{from:"user"}),process.exitCode||0}};Ho.exports=Br});var $u=Wo(),{shouldSuppressUpdateNotice:Su}=nr();process.on("unhandledRejection",(t,e)=>{console.error("Unhandled Promise Rejection:",t),process.exit(1)});process.on("uncaughtException",t=>{console.error("Uncaught Exception:",t.message),process.env.CODER_DEBUG&&console.error(t.stack),process.exit(1)});function Tu(t,e){let r=o=>o.replace(/^v/,"").split(".").map(Number),[n,s]=[r(t),r(e)];for(let o=0;o<3;o++){if((n[o]||0)>(s[o]||0))return!0;if((n[o]||0)<(s[o]||0))return!1}return!1}function Au(){if(Su())return;let t=require("https"),{version:e}=ot(),n=t.get("https://registry.npmmirror.com/makecoder/latest",{timeout:5e3},s=>{let o="";s.on("data",i=>{o+=i}),s.on("end",()=>{try{let i=JSON.parse(o).version;i&&Tu(i,e)&&console.error(`\x1B[33m\u26A1 \u68C0\u6D4B\u5230\u65B0\u7248\u672C ${i}\uFF08\u5F53\u524D ${e}\uFF09\uFF0C\u8FD0\u884C coder update \u5347\u7EA7\x1B[0m`)}catch{}})});n.on("error",()=>{}),n.on("timeout",()=>n.destroy())}async function Eu(){let t=new Set(["pub","auth","update","skills","wiki","team"]),e=process.argv[2];e!=="__complete"&&(!e||!t.has(e))&&Au(),process.env.CODER_NESTED="1";let r=new $u;try{let n=await r.run();process.exit(n)}catch(n){console.error(`Fatal error: ${n.message}`),process.env.CODER_DEBUG&&console.error(n.stack),process.exit(1)}}Eu().catch(t=>{console.error(`Startup error: ${t.message}`),process.exit(1)});