makecoder 4.1.9 → 4.1.10

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,46 +1,46 @@
1
1
  #!/usr/bin/env node
2
- var Qo=Object.create;var Vr=Object.defineProperty;var ei=Object.getOwnPropertyDescriptor;var ti=Object.getOwnPropertyNames;var ri=Object.getPrototypeOf,ni=Object.prototype.hasOwnProperty;var b=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(r){throw e=0,r}};var si=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of ti(e))!ni.call(t,s)&&s!==r&&Vr(t,s,{get:()=>e[s],enumerable:!(n=ei(e,s))||n.enumerable});return t};var oi=(t,e,r)=>(r=t!=null?Qo(ri(t)):{},si(e||!t||!t.__esModule?Vr(r,"default",{value:t,enumerable:!0}):r,t));var Kr=b((ju,zr)=>{var Me=require("fs"),Fr=require("path"),ii=require("os"),Gr="https://api.makecoder.com/v1",Mt=class{constructor(e={}){let r=process.env.CODER_PROFILE,n=r?`.coder.${r}`:".coder";this.configPath=Fr.join(ii.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})+`
2
+ var Qo=Object.create;var Vr=Object.defineProperty;var ei=Object.getOwnPropertyDescriptor;var ti=Object.getOwnPropertyNames;var ri=Object.getPrototypeOf,ni=Object.prototype.hasOwnProperty;var b=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(r){throw e=0,r}};var si=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of ti(e))!ni.call(t,s)&&s!==r&&Vr(t,s,{get:()=>e[s],enumerable:!(n=ei(e,s))||n.enumerable});return t};var oi=(t,e,r)=>(r=t!=null?Qo(ri(t)):{},si(e||!t||!t.__esModule?Vr(r,"default",{value:t,enumerable:!0}):r,t));var Kr=b((Ru,zr)=>{var Me=require("fs"),Fr=require("path"),ii=require("os"),Gr="https://api.makecoder.com/v1",Mt=class{constructor(e={}){let r=process.env.CODER_PROFILE,n=r?`.coder.${r}`:".coder";this.configPath=Fr.join(ii.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
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
7
  `),r&&process.stderr.write(`Hint: ${r}
8
- `)}};zr.exports={CoderContext:Mt,DEFAULT_BASE_URL:Gr}});var tt=b((Nu,Hr)=>{var{spawn:ai}=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=ai("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((Ru,Wr)=>{var ci=["# 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:ci}});var Xr=b((Zu,Yr)=>{var di=require("fs"),{CODER_RUNTIME_PROMPT:Ft}=Vt();function li(t){let e=[...t],r=e.indexOf("--append-system-prompt");if(r!==-1&&r+1<e.length)return e[r+1]=`${Ft}
8
+ `)}};zr.exports={CoderContext:Mt,DEFAULT_BASE_URL:Gr}});var tt=b((Zu,Hr)=>{var{spawn:ai}=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=ai("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((qu,Wr)=>{var ci=["# 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.","","- When a task needs the agent CLI itself \u2014 e.g. managing MCP servers, config, or"," plugins \u2014 invoke it through Coder, not the bare binary. The bare `claude` / `codex` /"," `gemini` on PATH (if any) is unconfigured and bypasses the runtime's auth and proxy."," Map the command you'd run to its Coder form:"," - `claude <args>` \u2192 `coder agent claude <args>` (e.g. `coder agent claude mcp add <name> <url>`)"," - `codex <args>` \u2192 `coder agent codex <args>`"," - `gemini <args>` \u2192 `coder agent gemini <args>`",' So a request like "install the MCP server at <url>" becomes'," `coder agent claude mcp add <name> <url>`, never a bare `claude mcp ...`.","","This is background context \u2014 keep writing code and communicating exactly as you","normally would."].join(`
9
+ `);Wr.exports={CODER_RUNTIME_PROMPT:ci}});var Xr=b((Lu,Yr)=>{var di=require("fs"),{CODER_RUNTIME_PROMPT:Ft}=Vt(),li=new Set(["agents","auth","auto-mode","config","doctor","install","mcp","plugin","plugins","project","setup-token","ultrareview","update","upgrade"]);function ui(t){for(let e of t){if(e==="--")break;if(!e.startsWith("-"))return li.has(e)}return!1}function mi(t){let e=[...t];if(ui(e))return e;let r=e.indexOf("--append-system-prompt");if(r!==-1&&r+1<e.length)return e[r+1]=`${Ft}
10
10
 
11
11
  ${e[r+1]}`,e;let n=e.indexOf("--append-system-prompt-file");if(n!==-1&&n+1<e.length){let s="";try{s=di.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",Ft]}Yr.exports={withRuntimePrompt:li}});var en=b((qu,Qr)=>{var ui=tt(),{spawn:mi,execFileSync:pi}=require("child_process"),gt=require("path"),rt=require("fs"),{withRuntimePrompt:fi}=Xr(),Gt=class extends ui{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 pi(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=fi(r),g=mi(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((Lu,sn)=>{var{execFileSync:tn,spawnSync:nt}=require("child_process"),j=require("path"),A=require("fs"),rn=require("os"),hi=require("crypto"),gi=["opus4.8","claude-opus-4-7","claude-sonnet-4-6","claude-haiku-4-5-20251001"],yt="/Applications/Claude.app",yi=`${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(!A.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||!A.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 A.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{A.rmSync(e,{force:!0})}catch{}}}_detectRequiredVersion(){try{let r=A.readFileSync(yi).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=A.realpathSync(process.execPath),r=A.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(){A.existsSync(this.backupDir)||A.existsSync(this.userData)&&(A.cpSync(this.userData,this.backupDir,{recursive:!0}),process.env.CODER_DEBUG&&console.log(`[claude app] \u5DF2\u5907\u4EFD -> ${this.backupDir}`))}_writeDeploymentMode(){A.mkdirSync(this.userData,{recursive:!0});let e=j.join(this.userData,"claude_desktop_config.json"),r={};try{r=JSON.parse(A.readFileSync(e,"utf8"))}catch{}r.deploymentMode="3p",A.writeFileSync(e,JSON.stringify(r,null,2))}_writeGatewayConfig(e,r){let n=j.join(this.userData,"configLibrary");A.mkdirSync(n,{recursive:!0});let s=hi.randomUUID().toLowerCase(),o={inferenceProvider:"gateway",inferenceCredentialKind:"static",inferenceGatewayBaseUrl:`${e}/claude`,inferenceGatewayAuthScheme:"x-api-key",inferenceGatewayApiKey:r,modelDiscoveryEnabled:!1,inferenceModels:gi};A.writeFileSync(j.join(n,`${s}.json`),JSON.stringify(o,null,2)),A.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(A.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);A.mkdirSync(a,{recursive:!0});let c=j.join(a,"claude");A.copyFileSync(i,c),A.chmodSync(c,493);let d=`exec=${r}
13
+ ${s}`),e}return[...e,"--append-system-prompt",Ft]}Yr.exports={withRuntimePrompt:mi}});var en=b((Mu,Qr)=>{var pi=tt(),{spawn:fi,execFileSync:hi}=require("child_process"),gt=require("path"),rt=require("fs"),{withRuntimePrompt:gi}=Xr(),Gt=class extends pi{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 hi(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=gi(r),g=fi(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((Bu,sn)=>{var{execFileSync:tn,spawnSync:nt}=require("child_process"),j=require("path"),A=require("fs"),rn=require("os"),yi=require("crypto"),_i=["opus4.8","claude-opus-4-7","claude-sonnet-4-6","claude-haiku-4-5-20251001"],yt="/Applications/Claude.app",bi=`${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(!A.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||!A.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 A.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{A.rmSync(e,{force:!0})}catch{}}}_detectRequiredVersion(){try{let r=A.readFileSync(bi).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=A.realpathSync(process.execPath),r=A.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(){A.existsSync(this.backupDir)||A.existsSync(this.userData)&&(A.cpSync(this.userData,this.backupDir,{recursive:!0}),process.env.CODER_DEBUG&&console.log(`[claude app] \u5DF2\u5907\u4EFD -> ${this.backupDir}`))}_writeDeploymentMode(){A.mkdirSync(this.userData,{recursive:!0});let e=j.join(this.userData,"claude_desktop_config.json"),r={};try{r=JSON.parse(A.readFileSync(e,"utf8"))}catch{}r.deploymentMode="3p",A.writeFileSync(e,JSON.stringify(r,null,2))}_writeGatewayConfig(e,r){let n=j.join(this.userData,"configLibrary");A.mkdirSync(n,{recursive:!0});let s=yi.randomUUID().toLowerCase(),o={inferenceProvider:"gateway",inferenceCredentialKind:"static",inferenceGatewayBaseUrl:`${e}/claude`,inferenceGatewayAuthScheme:"x-api-key",inferenceGatewayApiKey:r,modelDiscoveryEnabled:!1,inferenceModels:_i};A.writeFileSync(j.join(n,`${s}.json`),JSON.stringify(o,null,2)),A.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(A.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);A.mkdirSync(a,{recursive:!0});let c=j.join(a,"claude");A.copyFileSync(i,c),A.chmodSync(c,493);let d=`exec=${r}
15
15
  entry=${n}
16
16
  apikey=${s}
17
17
  baseurl=${o}
18
18
  `;A.writeFileSync(`${c}.conf`,d),A.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 A.existsSync(this.backupDir)?(this._quitApp(),A.rmSync(this.userData,{recursive:!0,force:!0}),A.cpSync(this.backupDir,this.userData,{recursive:!0}),A.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(A.readFileSync(j.join(this.userData,"claude_desktop_config.json"),"utf8")).deploymentMode}catch{}let n=null;try{let i=JSON.parse(A.readFileSync(j.join(this.userData,"configLibrary","_meta.json"),"utf8"));n=JSON.parse(A.readFileSync(j.join(this.userData,"configLibrary",`${i.appliedId}.json`),"utf8")).inferenceGatewayBaseUrl}catch{}let s=e&&A.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: ${A.existsSync(this.backupDir)?"yes":"no"}`)),0}};sn.exports=zt});var cn=b((Mu,an)=>{var _i=tt(),Kt=class extends _i{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((Bu,dn)=>{var{CODER_RUNTIME_PROMPT:bi}=Vt(),xi={"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=${bi}`]}dn.exports={PLATFORM_PACKAGE:xi,buildConfigOverrides:Ii}});var un=b((Vu,ln)=>{var ki=tt(),{buildConfigOverrides:wi}=_t(),Jt=class extends ki{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=wi(n);return await super.launch({...e,remainingArgs:[...s,...r]})}};ln.exports=Jt});var fn=b((Fu,pn)=>{var{execFileSync:mn}=require("child_process"),vi=require("os"),te=require("path"),_e=require("fs"),Ci=tt(),{buildConfigOverrides:$i}=_t(),Si={arm64:"https://cdn.makecoder.com/cdnuploads/codex-app/Codex.dmg",x64:"https://cdn.makecoder.com/cdnuploads/codex-app/Codex-latest-x64.dmg"},Ti=5e3,Ht=class extends Ci{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=$i(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,Ti)),this._removeDesktopEnv(i))}}_withDownloadUrlMirror(e){if(process.platform!=="darwin"||e.includes("--download-url"))return e;let r=Si[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(vi.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}
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: ${A.existsSync(this.backupDir)?"yes":"no"}`)),0}};sn.exports=zt});var cn=b((Vu,an)=>{var xi=tt(),Kt=class extends xi{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((Fu,dn)=>{var{CODER_RUNTIME_PROMPT:Ii}=Vt(),ki={"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 wi(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=${Ii}`]}dn.exports={PLATFORM_PACKAGE:ki,buildConfigOverrides:wi}});var un=b((Gu,ln)=>{var vi=tt(),{buildConfigOverrides:Ci}=_t(),Jt=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}=e,s=Ci(n);return await super.launch({...e,remainingArgs:[...s,...r]})}};ln.exports=Jt});var fn=b((zu,pn)=>{var{execFileSync:mn}=require("child_process"),$i=require("os"),te=require("path"),_e=require("fs"),Si=tt(),{buildConfigOverrides:Ti}=_t(),Ai={arm64:"https://cdn.makecoder.com/cdnuploads/codex-app/Codex.dmg",x64:"https://cdn.makecoder.com/cdnuploads/codex-app/Codex-latest-x64.dmg"},Ei=5e3,Ht=class extends Si{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=Ti(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,Ei)),this._removeDesktopEnv(i))}}_withDownloadUrlMirror(e){if(process.platform!=="darwin"||e.includes("--download-url"))return e;let r=Ai[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($i.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
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 xt=b((Gu,_n)=>{var Ai=en(),Ei=on(),Oi=cn(),Di=un(),Pi=fn();function hn(){let t=new Ai;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 Ei,mapArgs:t=>t},codex:{aliases:["codex"],description:"OpenAI Codex \u667A\u80FD\u4F53",create:()=>new Di,mapArgs:t=>t},"codex-app":{aliases:["codex-app"],description:"\u914D\u7F6E Codex Desktop\uFF08macOS\uFF09\u8D70 coder API",create:()=>new Pi,mapArgs:t=>["app",...t]},gemini:{aliases:["gemini"],description:"Gemini \u667A\u80FD\u4F53",create:()=>new Oi,mapArgs:t=>t}},gn=Object.keys(bt),Ui=new Set(["claude","codex","gemini"]);function ji(t){return Object.prototype.hasOwnProperty.call(bt,t)}function yn(t){return bt[t]||null}async function Ni(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:Ui,isAgentName:ji,getAgent:yn,launchAgent:Ni,createClaudeLauncher:hn}});var kn=b((zu,In)=>{var st=require("fs"),bn=require("path"),{spawn:xn}=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=xn(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=xn(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)}}};In.exports=Wt});var ot=b((Ku,Ri)=>{Ri.exports={name:"makecoder",version:"4.1.9",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((Ju,wn)=>{var Yt=require("crypto"),{URL:Zi}=require("url"),Xt=class{static generateSignature(e,r,n,s){try{let o=new Zi(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 It=b((Hu,Sn)=>{var qi=require("https"),{URL:Li}=require("url"),Cn="https://makecoder.com/bigapis/auth/v1",Mi="https://makecoder.com/bigapis/kbb2/v1",Bi="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 Li(`${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=qi.request({hostname:c.hostname,port:c.port||443,path:c.pathname+c.search,method:e,headers:d},g=>{let _="";g.on("data",O=>_+=O),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 Vi(t){return t===401?2:t===403?5:t===404?4:t===409?6:1}function Fi(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:Vi,errorMessage:Fi,API_BASE:Cn,BIGKBB_BASE:Mi,WIKI_API_BASE:Bi}});var An=b((Wu,Tn)=>{var er=t=>String(t??"").replace(/\|/g,"\\|").replace(/\n/g," ");function Gi(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 zi(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:Gi,emitDetails:zi,escCell:er}});var Pn=b((Xu,Dn)=>{var{TeamHttp:Yu,parseJson:Ki,exitCodeForStatus:Ji,errorMessage:Hi,BIGKBB_BASE:Wi,WIKI_API_BASE:Yi}=It();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,Hi(e.body),Xi(e.status),Ji(e.status))}function Xi(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 Qi(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 ea(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=Ki(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 ta(t){return Array.isArray(t.members)?t.members:[]}function ra(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 na(t,e){return e?t.filter(r=>r.user_type===e):t}function sa(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 oa(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 ia(t){return t==="mentor"?"admin":"member"}async function aa(t,e,r){try{let n=await t.http.request("POST",`/${e}`,r,Yi);(n.status<200||n.status>=300)&&process.stderr.write(`Warning: \u77E5\u8BC6\u5E93\u540C\u6B65\u5931\u8D25 (${e}): HTTP ${n.status}
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 xt=b((Ku,_n)=>{var Oi=en(),Di=on(),Pi=cn(),Ui=un(),ji=fn();function hn(){let t=new Oi;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 Di,mapArgs:t=>t},codex:{aliases:["codex"],description:"OpenAI Codex \u667A\u80FD\u4F53",create:()=>new Ui,mapArgs:t=>t},"codex-app":{aliases:["codex-app"],description:"\u914D\u7F6E Codex Desktop\uFF08macOS\uFF09\u8D70 coder API",create:()=>new ji,mapArgs:t=>["app",...t]},gemini:{aliases:["gemini"],description:"Gemini \u667A\u80FD\u4F53",create:()=>new Pi,mapArgs:t=>t}},gn=Object.keys(bt),Ni=new Set(["claude","codex","gemini"]);function Ri(t){return Object.prototype.hasOwnProperty.call(bt,t)}function yn(t){return bt[t]||null}async function Zi(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:Ni,isAgentName:Ri,getAgent:yn,launchAgent:Zi,createClaudeLauncher:hn}});var kn=b((Ju,In)=>{var st=require("fs"),bn=require("path"),{spawn:xn}=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=xn(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=xn(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)}}};In.exports=Wt});var ot=b((Hu,qi)=>{qi.exports={name:"makecoder",version:"4.1.10",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((Wu,wn)=>{var Yt=require("crypto"),{URL:Li}=require("url"),Xt=class{static generateSignature(e,r,n,s){try{let o=new Li(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 It=b((Yu,Sn)=>{var Mi=require("https"),{URL:Bi}=require("url"),Cn="https://makecoder.com/bigapis/auth/v1",Vi="https://makecoder.com/bigapis/kbb2/v1",Fi="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 Bi(`${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=Mi.request({hostname:c.hostname,port:c.port||443,path:c.pathname+c.search,method:e,headers:d},g=>{let _="";g.on("data",O=>_+=O),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 Gi(t){return t===401?2:t===403?5:t===404?4:t===409?6:1}function zi(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:Gi,errorMessage:zi,API_BASE:Cn,BIGKBB_BASE:Vi,WIKI_API_BASE:Fi}});var An=b((Xu,Tn)=>{var er=t=>String(t??"").replace(/\|/g,"\\|").replace(/\n/g," ");function Ki(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 Ji(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:Ki,emitDetails:Ji,escCell:er}});var Pn=b((em,Dn)=>{var{TeamHttp:Qu,parseJson:Hi,exitCodeForStatus:Wi,errorMessage:Yi,BIGKBB_BASE:Xi,WIKI_API_BASE:Qi}=It();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,Yi(e.body),ea(e.status),Wi(e.status))}function ea(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 ta(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 ra(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=Hi(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 na(t){return Array.isArray(t.members)?t.members:[]}function sa(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 oa(t,e){return e?t.filter(r=>r.user_type===e):t}function ia(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 aa(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 ca(t){return t==="mentor"?"admin":"member"}async function da(t,e,r){try{let n=await t.http.request("POST",`/${e}`,r,Qi);(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
- `)}}Dn.exports={abort:be,abortOnHttp:En,resolveTeamId:On,requireTeamId:Qi,fetchTeam:ea,teamMembers:ta,findMember:ra,filterMembersByType:na,validateType:sa,resolveMentorUsername:oa,toWikiGroupRole:ia,wikiSync:aa,BIGKBB_BASE:Wi}});var rr=b((Qu,qn)=>{var it=require("fs"),xe=require("path"),ca=vn(),{parseJson:ae}=It(),{emitTable:kt,emitDetails:G}=An(),{abort:$,abortOnHttp:L,requireTeamId:Un,fetchTeam:re,teamMembers:ne,findMember:Be,filterMembersByType:da,validateType:la,resolveMentorUsername:jn,toWikiGroupRole:Nn,wikiSync:Ve,BIGKBB_BASE:ua}=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 Ie={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(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 pa(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||Ie[r]||r}: ${n??""}`).join(`
29
- `));return 10}async function fa(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:Ie,empty:"\u4F60\u8FD8\u6CA1\u6709\u52A0\u5165\u4EFB\u4F55\u56E2\u961F"}),0}async function ha(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 ga(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 ya(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 _a(t){let e=N(t.args,"--type")||null;la(t,e);let r=Rn(t.args,"-q","--query")||null,n=M(t),s=await re(t,n),o=ne(s),i=da(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,pa(i).map(c=>ma(c,o)),{labels:Ie,empty:a}),0}async function ba(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,Ie[i]]),t.ctx.isJson?o:null),0}function xa(t){let e=xe.resolve(t);for((!it.existsSync(e)||!it.statSync(e).isDirectory())&&(e=xe.dirname(e));e&&e!==xe.dirname(e);){if(it.existsSync(xe.join(e,".git")))return!0;e=xe.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 I=xe.resolve(o);xa(I)&&$(t.ctx,`--save-to \u8DEF\u5F84\u5728 git \u4ED3\u5E93\u5185\uFF08${I}\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 I=Number(s);Number.isFinite(I)||$(t.ctx,`--points \u5E94\u4E3A\u6570\u5B57\uFF0C\u6536\u5230 '${s}'`,void 0,3),l=I}let p=r||ca.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"},O=await B(t,"POST","/users",_);(O.status<200||O.status>=300)&&L(t.ctx,O);let S=null;if(o){let I=xe.resolve(o),P=`# Coder team member credentials
28
+ `)}}Dn.exports={abort:be,abortOnHttp:En,resolveTeamId:On,requireTeamId:ta,fetchTeam:ra,teamMembers:na,findMember:sa,filterMembersByType:oa,validateType:ia,resolveMentorUsername:aa,toWikiGroupRole:ca,wikiSync:da,BIGKBB_BASE:Xi}});var rr=b((tm,qn)=>{var it=require("fs"),xe=require("path"),la=vn(),{parseJson:ae}=It(),{emitTable:kt,emitDetails:G}=An(),{abort:$,abortOnHttp:L,requireTeamId:Un,fetchTeam:re,teamMembers:ne,findMember:Be,filterMembersByType:ua,validateType:ma,resolveMentorUsername:jn,toWikiGroupRole:Nn,wikiSync:Ve,BIGKBB_BASE:pa}=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 Ie={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 fa(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 ha(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||Ie[r]||r}: ${n??""}`).join(`
29
+ `));return 10}async function ga(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:Ie,empty:"\u4F60\u8FD8\u6CA1\u6709\u52A0\u5165\u4EFB\u4F55\u56E2\u961F"}),0}async function ya(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 _a(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 ba(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 xa(t){let e=N(t.args,"--type")||null;ma(t,e);let r=Rn(t.args,"-q","--query")||null,n=M(t),s=await re(t,n),o=ne(s),i=ua(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,ha(i).map(c=>fa(c,o)),{labels:Ie,empty:a}),0}async function Ia(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,Ie[i]]),t.ctx.isJson?o:null),0}function ka(t){let e=xe.resolve(t);for((!it.existsSync(e)||!it.statSync(e).isDirectory())&&(e=xe.dirname(e));e&&e!==xe.dirname(e);){if(it.existsSync(xe.join(e,".git")))return!0;e=xe.dirname(e)}return!1}async function wa(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 I=xe.resolve(o);ka(I)&&$(t.ctx,`--save-to \u8DEF\u5F84\u5728 git \u4ED3\u5E93\u5185\uFF08${I}\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 I=Number(s);Number.isFinite(I)||$(t.ctx,`--points \u5E94\u4E3A\u6570\u5B57\uFF0C\u6536\u5230 '${s}'`,void 0,3),l=I}let p=r||la.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"},O=await B(t,"POST","/users",_);(O.status<200||O.status>=300)&&L(t.ctx,O);let S=null;if(o){let I=xe.resolve(o),P=`# Coder team member credentials
30
30
  # Created: ${new Date().toISOString()}
31
31
  username: ${c}
32
32
  password: ${p}
33
33
  team_id: ${d}
34
34
  type: ${e}
35
35
  `;try{it.writeFileSync(I,P,{mode:384});try{it.chmodSync(I,384)}catch{}S=I}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 ka(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 wa(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},ua);(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 va(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 Ca(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:Ie,empty:"\u6682\u65E0\u5C0F\u7EC4"}),0}async function $a(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 Sa(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:Ie,empty:"\u5C0F\u7EC4\u6682\u65E0\u6210\u5458"}),0}async function Ta(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 Aa(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 Ea(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 Oa(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 Da(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=Oa(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 Pa(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 Ua(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:fa,current:ha,use:ga,info:ya,members:{list:_a,info:ba,create:Ia,update:ka,"set-points":wa,delete:va},groups:{list:Ca,info:$a,members:Sa,create:Ta,update:Aa,delete:Ea,"add-member":Da,"set-role":Pa,"remove-member":Ua},_internal:{positionals:wt,flag:N,flagAny:Rn,hasFlag:at,LABELS:Ie}}});var nr=b((em,Ln)=>{function ja(){return process.env.CODER_NESTED==="1"||!process.stdout.isTTY}Ln.exports={shouldSuppressUpdateNotice:ja}});var Ct=b((tm,ir)=>{var sr=require("https"),U=require("fs"),V=require("path"),vt=require("os"),{shouldSuppressUpdateNotice:Na}=nr(),ke="https://makecoder.com/skillhub",Ra=["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(`
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 va(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 Ca(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},pa);(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 $a(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 Sa(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:Ie,empty:"\u6682\u65E0\u5C0F\u7EC4"}),0}async function Ta(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 Aa(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:Ie,empty:"\u5C0F\u7EC4\u6682\u65E0\u6210\u5458"}),0}async function Ea(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 Oa(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 Da(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 Pa(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 Ua(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=Pa(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 ja(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 Na(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:ga,current:ya,use:_a,info:ba,members:{list:xa,info:Ia,create:wa,update:va,"set-points":Ca,delete:$a},groups:{list:Sa,info:Ta,members:Aa,create:Ea,update:Oa,delete:Da,"add-member":Ua,"set-role":ja,"remove-member":Na},_internal:{positionals:wt,flag:N,flagAny:Rn,hasFlag:at,LABELS:Ie}}});var nr=b((rm,Ln)=>{function Ra(){return process.env.CODER_NESTED==="1"||!process.stdout.isTTY}Ln.exports={shouldSuppressUpdateNotice:Ra}});var Ct=b((nm,ir)=>{var sr=require("https"),U=require("fs"),V=require("path"),vt=require("os"),{shouldSuppressUpdateNotice:Za}=nr(),ke="https://makecoder.com/skillhub",qa=["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
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
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
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) "${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[_,O]of Object.entries(c)){let S=V.join(g,_);U.mkdirSync(V.dirname(S),{recursive:!0}),U.writeFileSync(S,O,"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(!Na())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:
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[_,O]of Object.entries(c)){let S=V.join(g,_);U.mkdirSync(V.dirname(S),{recursive:!0}),U.writeFileSync(S,O,"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(!Za())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
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 I=0;I<e.length;I++)if(e[I]==="--team"||e[I]==="-t"||e[I]==="--namespace"||e[I]==="-n")o=e[++I];else if(e[I]==="--visibility"||e[I]==="-v")i=e[++I];else if(e[I]==="--meta-data"){let P=e[++I];try{JSON.parse(P)}catch(H){return console.error(`\u274C --meta-data \u4E0D\u662F\u5408\u6CD5\u7684 JSON\uFF1A${H.message}`),1}a=P}else if(!e[I].startsWith("-")){let P=e[I];U.existsSync(P)&&U.statSync(P).isDirectory()?l=P:c=P}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 I=l?V.resolve(l):process.cwd();d=V.join(s.tmpdir(),`skill-pub-${Date.now()}.zip`),console.log(`\u{1F4E6} \u6B63\u5728\u6253\u5305 ${I}...`);try{U.existsSync(V.join(I,".git"))?(n(`git archive -o "${d}" HEAD`,{cwd:I,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:I,stdio:"pipe"})}catch(P){return console.error(`\u274C \u6253\u5305\u5931\u8D25: ${P.message}`),1}c=d}let O=`${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 I=a?` -F "meta_data=${a.replace(/"/g,'\\"')}"`:"",P=`curl -s -X POST "${O}" -H "Authorization: Bearer ${S}" -F "file=@${c}"${I}`,H=n(P,{encoding:"utf-8",stdio:["pipe","pipe","pipe"]}),ht=JSON.parse(H);if(ht.code===0){let me=ht.data,Xo=me.namespace==="global"?`https://makecoder.com/skillhub/${me.slug}`:`https://makecoder.com/skillhub/space/${me.namespace}/${me.slug}`;return console.log(`
45
45
  \u2705 \u53D1\u5E03\u6210\u529F!`),console.log(` ${me.namespace}--${me.slug}@${me.version}`),console.log(` ${Xo}`),me.status==="PUBLISHED"?console.log(" \u72B6\u6001: \u5DF2\u53D1\u5E03"):console.log(" \u72B6\u6001: \u5F85\u5BA1\u6838"),0}else return console.error(`
46
46
  \u274C \u53D1\u5E03\u5931\u8D25: ${ht.msg||JSON.stringify(ht)}`),1}catch(I){let P=I.stdout;if(P)try{let H=JSON.parse(P);return console.error(`
@@ -48,16 +48,16 @@ type: ${e}
48
48
  `);for(let S of g){let I=`${S.slug}`.padEnd(28),P=`\u2B50 ${S.starCount??0}`.padEnd(8),H=`\u2193 ${S.downloadCount??0}`.padEnd(10);console.log(` ${I} ${P} ${H} ${S.summary||""}`)}return(n+1)*s<_&&console.log(`
49
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
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=Ra});var ar=b((rm,zn)=>{var Za="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 qa(t){let e=Gn(t);return e&&e.kind==="urlId"?e.value:null}zn.exports={WIKI_BASE:Za,SLUG_URL_REGEX:Mn,UUID_REGEX:Bn,isUuid:Vn,lastPathSegment:Fn,classifyId:Gn,extractUrlId:qa}});var ct=b((nm,Jn)=>{var La=require("https"),{WIKI_BASE:$t}=ar(),Kn=`${$t}/api`,Ma=t=>`${$t}/doc/${t}`,Ba=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=La.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 Va(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:Ma,colUrl:Ba,parseJson:dr,errorMessage:Va}});var ur=b((sm,Wn)=>{var{WIKI_BASE:Fa,docUrl:Ga}=ct(),lr=t=>String(t??"").replace(/\|/g,"\\|").replace(/\n/g," ");function za(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 Ka(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?`${Fa}${c.url}`:Ga(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 Ja(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:za,emitTree:Ka,emitDetails:Ja,escCell:lr,LABELS:Hn}});var pr=b((om,Xn)=>{var{emitTable:Yn,emitDetails:Ha,emitTree:Wa,LABELS:Ya}=ur(),{docUrl:Xa,colUrl:Qa}=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:Ya,empty:r}),we=t=>(e,r)=>Ha(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:Xa(t.urlId||t.id)}),ec={"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",Qa(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)=>Wa(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:ec,list:R,details:we,ok:C,flag:y,items:F,memberships:Fe,docRow:mr}});var es=b((im,Qn)=>{var tc=[{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:tc}});var yr=b((am,as)=>{var St=require("fs"),fr=require("path"),{docUrl:Ge,colUrl:hr,errorMessage:rc}=ct(),{emitTable:se,emitTree:nc,emitDetails:dt}=ur(),{ICON_LIST:ts}=es(),Z=(t,e)=>{let r=t.indexOf(e);return r!==-1?t[r+1]:void 0},sc=(t,e=[])=>{let r=[];for(let n=0;n<t.length;n++){if(t[n].startsWith("--")){e.includes(t[n])&&n++;continue}r.push(t[n])}return r};async function T(t,e,r,{allowNoData:n=!1}={}){let s=await t.http.postJson(e,r,{allowNoData:n});if(!s.ok){t.ctx.fail(rc(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 oc(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 T(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 T(t,"documents.list",{collectionId:c,sort:"updatedAt",direction:"DESC"});return se(e,(l.data||[]).map(Tt),"\u6682\u65E0\u6587\u6863"),0}let d=await T(t,"collections.documents",{id:c});return nc(e,d.data||[],a===-1?1/0:a),0}async function ic(t){let{ctx:e,arg:r}=t,n=[...t.args],s=(S,I)=>{let P=n.indexOf(S);if(P===-1)return I;let H=n[P+1];return n.splice(P,2),H??I},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 O=await T(t,"collections.create",_);return dt(e,[["collection",`${O.data.id} \u2014 ${O.data.name}`,"\u96C6\u5408\u5DF2\u521B\u5EFA"],["url",hr(O.data.urlId||O.data.id)]]),0}async function ac(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 T(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 T(t,e,{id:a},{allowNoData:n}),s.emit(r),0}var cc=t=>gr(t,"collections.delete","\u96C6\u5408\u5DF2\u5220\u9664",{allowNoData:!0}),dc=t=>gr(t,"collections.archive","\u96C6\u5408\u5DF2\u5F52\u6863"),lc=t=>gr(t,"collections.restore","\u96C6\u5408\u5DF2\u6062\u590D");async function uc(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 T(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 mc(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=await os(t,o);if(!d.ok)return 1;let l=d.index;if(d.parentDocumentId&&!c&&(c=d.parentDocumentId),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);let _=(await T(t,"documents.create",p)).data.id,O=await T(t,"documents.update",{id:_,title:i,text:a,publish:!0});if(l!==void 0){let S={id:_,collectionId:o,index:l};c&&(S.parentDocumentId=c),await T(t,"documents.move",S)}return dt(e,[["title",O.data.title,"\u6587\u6863\u5DF2\u53D1\u5E03"],["id",_],["url",Ge(O.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 os(t,e){let{ctx:r,resolver:n,args:s}=t,o=Z(s,"--after");if(s.indexOf("--after")!==-1){if(!o)return r.fail("\u8BF7\u6307\u5B9A --after \u7684\u6587\u6863","\u4F20 UUID / urlId / URL"),{ok:!1};let i=await n.toDocUuid(o),a=await T(t,"collections.documents",{id:e}),c=ss(a.data,i);return c?{ok:!0,index:c.index+1,parentDocumentId:c.parentDocumentId}:(r.fail(`\u96C6\u5408\u4E2D\u672A\u627E\u5230\u6587\u6863 ${o}`,"\u786E\u8BA4\u8BE5\u6587\u6863\u5C5E\u4E8E\u6B64\u96C6\u5408"),{ok:!1})}if(s.indexOf("--index")!==-1){let i=parseInt(Z(s,"--index"),10);return isNaN(i)||i<0?(r.fail("--index \u9700\u4E3A\u975E\u8D1F\u6574\u6570","\u4F8B\u5982 --index 3"),{ok:!1}):{ok:!0,index:i}}return{ok:!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 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 T(t,"documents.update",c);return e.emit(`\u6587\u6863\u5DF2\u66F4\u65B0: ${d.data.title}`),0}async function fc(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 T(t,"documents.delete",{id:o,...i?{permanent:!0}:{}},{allowNoData:!0}),e.emit(`\u6587\u6863\u5DF2${i?"\u6C38\u4E45":""}\u5220\u9664`),0}async function hc(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] [--index <n>] [--after <doc>]"),1;let o=await r.toDocUuid(n),i=sc(s,["--index","--after"]),a=i[1]?await r.toColUuid(i[1]):void 0,c=i[2]?await r.toDocUuid(i[2]):void 0;a||(a=(await T(t,"documents.info",{id:o})).data.collectionId);let d=await os(t,a);if(!d.ok)return 1;let l=d.index;d.parentDocumentId&&c===void 0&&(c=d.parentDocumentId);let p={id:o,collectionId:a,index:l!==void 0?l:0};return c!==void 0&&(p.parentDocumentId=c),await T(t,"documents.move",p),e.emit("\u6587\u6863\u5DF2\u79FB\u52A8"),0}async function gc(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 T(t,e,{id:i}),n.emit(r),0}var yc=t=>gc(t,"documents.archive","\u6587\u6863\u5DF2\u5F52\u6863");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","\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 T(t,"documents.restore",i),e.emit("\u6587\u6863\u5DF2\u6062\u590D"),0}async function bc(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 T(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 xc(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 T(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 Ic(t){let e=await T(t,"documents.drafts",{sort:"updatedAt",direction:"DESC"});return se(t.ctx,(e.data||[]).map(Tt),"\u6682\u65E0\u8349\u7A3F"),0}async function kc(t){let e=await T(t,"documents.viewed",{sort:"updatedAt",direction:"DESC"});return se(t.ctx,(e.data||[]).map(Tt),"\u6682\u65E0\u6D4F\u89C8\u8BB0\u5F55"),0}async function wc(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 T(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 vc(t){let{ctx:e}=t,r=await T(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 Cc(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 T(t,"stars.create",o?{collectionId:i}:{documentId:i}),e.emit("\u5DF2\u6536\u85CF"),0}async function $c(t){let{ctx:e,arg:r}=t;return r?(await T(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 Sc(t){let{ctx:e,resolver:r,arg:n}=t,s=n?{collectionId:await r.toColUuid(n)}:{},o=await T(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 Tc(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 T(t,"pins.create",i);return e.emit(`\u5DF2\u7F6E\u9876: ${a.data.id}`),0}async function Ac(t){let{ctx:e,arg:r}=t;return r?(await T(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 Ec(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 T(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 Oc(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 T(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 Dc(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(`
51
+ `))}};ir.exports=or;ir.exports.SKILLS_SUBCOMMANDS=qa});var ar=b((sm,zn)=>{var La="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 Ma(t){let e=Gn(t);return e&&e.kind==="urlId"?e.value:null}zn.exports={WIKI_BASE:La,SLUG_URL_REGEX:Mn,UUID_REGEX:Bn,isUuid:Vn,lastPathSegment:Fn,classifyId:Gn,extractUrlId:Ma}});var ct=b((om,Jn)=>{var Ba=require("https"),{WIKI_BASE:$t}=ar(),Kn=`${$t}/api`,Va=t=>`${$t}/doc/${t}`,Fa=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=Ba.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 Ga(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:Va,colUrl:Fa,parseJson:dr,errorMessage:Ga}});var ur=b((im,Wn)=>{var{WIKI_BASE:za,docUrl:Ka}=ct(),lr=t=>String(t??"").replace(/\|/g,"\\|").replace(/\n/g," ");function Ja(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 Ha(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?`${za}${c.url}`:Ka(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 Wa(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:Ja,emitTree:Ha,emitDetails:Wa,escCell:lr,LABELS:Hn}});var pr=b((am,Xn)=>{var{emitTable:Yn,emitDetails:Ya,emitTree:Xa,LABELS:Qa}=ur(),{docUrl:ec,colUrl:tc}=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:Qa,empty:r}),we=t=>(e,r)=>Ya(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:ec(t.urlId||t.id)}),rc={"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",tc(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)=>Xa(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:rc,list:R,details:we,ok:C,flag:y,items:F,memberships:Fe,docRow:mr}});var es=b((cm,Qn)=>{var nc=[{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:nc}});var yr=b((dm,as)=>{var St=require("fs"),fr=require("path"),{docUrl:Ge,colUrl:hr,errorMessage:sc}=ct(),{emitTable:se,emitTree:oc,emitDetails:dt}=ur(),{ICON_LIST:ts}=es(),Z=(t,e)=>{let r=t.indexOf(e);return r!==-1?t[r+1]:void 0},ic=(t,e=[])=>{let r=[];for(let n=0;n<t.length;n++){if(t[n].startsWith("--")){e.includes(t[n])&&n++;continue}r.push(t[n])}return r};async function T(t,e,r,{allowNoData:n=!1}={}){let s=await t.http.postJson(e,r,{allowNoData:n});if(!s.ok){t.ctx.fail(sc(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 ac(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 T(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 T(t,"documents.list",{collectionId:c,sort:"updatedAt",direction:"DESC"});return se(e,(l.data||[]).map(Tt),"\u6682\u65E0\u6587\u6863"),0}let d=await T(t,"collections.documents",{id:c});return oc(e,d.data||[],a===-1?1/0:a),0}async function cc(t){let{ctx:e,arg:r}=t,n=[...t.args],s=(S,I)=>{let P=n.indexOf(S);if(P===-1)return I;let H=n[P+1];return n.splice(P,2),H??I},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 O=await T(t,"collections.create",_);return dt(e,[["collection",`${O.data.id} \u2014 ${O.data.name}`,"\u96C6\u5408\u5DF2\u521B\u5EFA"],["url",hr(O.data.urlId||O.data.id)]]),0}async function dc(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 T(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 T(t,e,{id:a},{allowNoData:n}),s.emit(r),0}var lc=t=>gr(t,"collections.delete","\u96C6\u5408\u5DF2\u5220\u9664",{allowNoData:!0}),uc=t=>gr(t,"collections.archive","\u96C6\u5408\u5DF2\u5F52\u6863"),mc=t=>gr(t,"collections.restore","\u96C6\u5408\u5DF2\u6062\u590D");async function pc(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 T(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 fc(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=await os(t,o);if(!d.ok)return 1;let l=d.index;if(d.parentDocumentId&&!c&&(c=d.parentDocumentId),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);let _=(await T(t,"documents.create",p)).data.id,O=await T(t,"documents.update",{id:_,title:i,text:a,publish:!0});if(l!==void 0){let S={id:_,collectionId:o,index:l};c&&(S.parentDocumentId=c),await T(t,"documents.move",S)}return dt(e,[["title",O.data.title,"\u6587\u6863\u5DF2\u53D1\u5E03"],["id",_],["url",Ge(O.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 os(t,e){let{ctx:r,resolver:n,args:s}=t,o=Z(s,"--after");if(s.indexOf("--after")!==-1){if(!o)return r.fail("\u8BF7\u6307\u5B9A --after \u7684\u6587\u6863","\u4F20 UUID / urlId / URL"),{ok:!1};let i=await n.toDocUuid(o),a=await T(t,"collections.documents",{id:e}),c=ss(a.data,i);return c?{ok:!0,index:c.index+1,parentDocumentId:c.parentDocumentId}:(r.fail(`\u96C6\u5408\u4E2D\u672A\u627E\u5230\u6587\u6863 ${o}`,"\u786E\u8BA4\u8BE5\u6587\u6863\u5C5E\u4E8E\u6B64\u96C6\u5408"),{ok:!1})}if(s.indexOf("--index")!==-1){let i=parseInt(Z(s,"--index"),10);return isNaN(i)||i<0?(r.fail("--index \u9700\u4E3A\u975E\u8D1F\u6574\u6570","\u4F8B\u5982 --index 3"),{ok:!1}):{ok:!0,index:i}}return{ok:!0}}async function hc(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 T(t,"documents.update",c);return e.emit(`\u6587\u6863\u5DF2\u66F4\u65B0: ${d.data.title}`),0}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 o=await r.toDocUuid(n),i=s.includes("--permanent");return await T(t,"documents.delete",{id:o,...i?{permanent:!0}:{}},{allowNoData:!0}),e.emit(`\u6587\u6863\u5DF2${i?"\u6C38\u4E45":""}\u5220\u9664`),0}async function yc(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] [--index <n>] [--after <doc>]"),1;let o=await r.toDocUuid(n),i=ic(s,["--index","--after"]),a=i[1]?await r.toColUuid(i[1]):void 0,c=i[2]?await r.toDocUuid(i[2]):void 0;a||(a=(await T(t,"documents.info",{id:o})).data.collectionId);let d=await os(t,a);if(!d.ok)return 1;let l=d.index;d.parentDocumentId&&c===void 0&&(c=d.parentDocumentId);let p={id:o,collectionId:a,index:l!==void 0?l:0};return c!==void 0&&(p.parentDocumentId=c),await T(t,"documents.move",p),e.emit("\u6587\u6863\u5DF2\u79FB\u52A8"),0}async function _c(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 T(t,e,{id:i}),n.emit(r),0}var bc=t=>_c(t,"documents.archive","\u6587\u6863\u5DF2\u5F52\u6863");async function xc(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 T(t,"documents.restore",i),e.emit("\u6587\u6863\u5DF2\u6062\u590D"),0}async function Ic(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 T(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 kc(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 T(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 wc(t){let e=await T(t,"documents.drafts",{sort:"updatedAt",direction:"DESC"});return se(t.ctx,(e.data||[]).map(Tt),"\u6682\u65E0\u8349\u7A3F"),0}async function vc(t){let e=await T(t,"documents.viewed",{sort:"updatedAt",direction:"DESC"});return se(t.ctx,(e.data||[]).map(Tt),"\u6682\u65E0\u6D4F\u89C8\u8BB0\u5F55"),0}async function Cc(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 T(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 $c(t){let{ctx:e}=t,r=await T(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 Sc(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 T(t,"stars.create",o?{collectionId:i}:{documentId:i}),e.emit("\u5DF2\u6536\u85CF"),0}async function Tc(t){let{ctx:e,arg:r}=t;return r?(await T(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 Ac(t){let{ctx:e,resolver:r,arg:n}=t,s=n?{collectionId:await r.toColUuid(n)}:{},o=await T(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 Ec(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 T(t,"pins.create",i);return e.emit(`\u5DF2\u7F6E\u9876: ${a.data.id}`),0}async function Oc(t){let{ctx:e,arg:r}=t;return r?(await T(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 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 / URL"),1;let s=await r.toDocUuid(n),i=(await T(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 Pc(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 T(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 Uc(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 Pc(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=jc(c),g=await T(t,"attachments.create",{name:l,documentId:a,size:d.length,contentType:p,preset:"documentAttachment"}),{uploadUrl:_,form:O,attachment:S}=g.data,I=await Nc(_,O,d,l,p);return I.status>=300?(e.fail(`\u4E0A\u4F20\u5931\u8D25 (HTTP ${I.status}): ${I.body.slice(0,200)}`,"\u68C0\u67E5\u7F51\u7EDC\u6216\u6587\u4EF6\u5927\u5C0F"),1):(is(e,S,p),0)}async function Uc(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 T(t,"attachments.createFromUrl",{url:o,documentId:i,preset:"documentAttachment"});return is(e,a.data,a.data.contentType),0}function is(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 jc(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 Nc(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,I]of Object.entries(e))c.push(Buffer.from(`--${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 jc(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=Rc(c),g=await T(t,"attachments.create",{name:l,documentId:a,size:d.length,contentType:p,preset:"documentAttachment"}),{uploadUrl:_,form:O,attachment:S}=g.data,I=await Zc(_,O,d,l,p);return I.status>=300?(e.fail(`\u4E0A\u4F20\u5931\u8D25 (HTTP ${I.status}): ${I.body.slice(0,200)}`,"\u68C0\u67E5\u7F51\u7EDC\u6216\u6587\u4EF6\u5927\u5C0F"),1):(is(e,S,p),0)}async function Nc(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 T(t,"attachments.createFromUrl",{url:o,documentId:i,preset:"documentAttachment"});return is(e,a.data,a.data.contentType),0}function is(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 Rc(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 Zc(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,I]of Object.entries(e))c.push(Buffer.from(`--${a}\r
61
61
  Content-Disposition: form-data; name="${S}"\r
62
62
  \r
63
63
  ${I}\r
@@ -67,9 +67,9 @@ Content-Type: ${s}\r
67
67
  \r
68
68
  `),l=Buffer.from(`\r
69
69
  --${a}--\r
70
- `),p=Buffer.concat([...c,d,r,l]),g=new URL(t),O=(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 I="";S.on("data",P=>I+=P),S.on("end",()=>o({status:S.statusCode,body:I}))});O.on("error",i),O.write(p),O.end()})}as.exports={list:oc,createCollection:ic,updateCollection:ac,deleteCollection:cc,archiveCollection:dc,restoreCollection:lc,get:uc,publish:mc,update:pc,delete:fc,move:hc,archive:yc,restore:_c,revisions:bc,revision:xc,drafts:Ic,recent:kc,search:wc,stars:vc,star:Cc,unstar:$c,pins:Sc,pin:Tc,unpin:Ac,comments:Ec,comment:Oc,icons:Dc,upload:Pc,uploadUrl:Uc}});var xs=b((cm,bs)=>{function cs(t){return t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}var ds=["agent","auth","pub","update","wiki","team","skills","claude","codex","gemini"],ls=["--format","--apikey","--help","--version","--install-completion","--show-completion"],_r={pub:["--name","--meta-data","--allow-clone"]},us=["login","logout","status"],ms=["list","current","use","info"],br=["members","groups"];function ps(){return xt().AGENT_NAMES}function fs(t){let e=rr();return e[t]?Object.keys(e[t]):[]}function hs(){return Ct().SKILLS_SUBCOMMANDS}function gs(){let{COMMANDS:t}=pr(),e=yr(),r=Object.keys(t),n=Object.keys(e).filter(s=>typeof e[s]=="function").map(cs);return Array.from(new Set([...n,...r])).sort()}function ys(t){let e=t.length?t[t.length-1]:"",r=t.slice(0,-1),n=r[0];if(e.startsWith("-")){let o=[...ls];return n&&_r[n]&&o.push(..._r[n]),o}if(r[r.length-1]==="--format")return["text","json"];if(r.length===0)return ds;switch(n){case"agent":return r.length===1?ps():[];case"auth":return r.length===1?us:[];case"skills":return r.length===1?hs():[];case"wiki":return r.length===1?gs():[];case"team":return r.length===1?[...ms,...br]:r.length===2&&br.includes(r[1])?fs(r[1]):[];default:return[]}}function _s(t){let e=t.length?t[t.length-1]:"",r=ys(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 Rc(t){let e=t.indexOf("--"),r=e===-1?t:t.slice(e+1),n=_s(r);return n.length&&process.stdout.write(n.join(`
70
+ `),p=Buffer.concat([...c,d,r,l]),g=new URL(t),O=(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 I="";S.on("data",P=>I+=P),S.on("end",()=>o({status:S.statusCode,body:I}))});O.on("error",i),O.write(p),O.end()})}as.exports={list:ac,createCollection:cc,updateCollection:dc,deleteCollection:lc,archiveCollection:uc,restoreCollection:mc,get:pc,publish:fc,update:hc,delete:gc,move:yc,archive:bc,restore:xc,revisions:Ic,revision:kc,drafts:wc,recent:vc,search:Cc,stars:$c,star:Sc,unstar:Tc,pins:Ac,pin:Ec,unpin:Oc,comments:Dc,comment:Pc,icons:Uc,upload:jc,uploadUrl:Nc}});var xs=b((lm,bs)=>{function cs(t){return t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}var ds=["agent","auth","pub","update","wiki","team","skills","claude","codex","gemini"],ls=["--format","--apikey","--help","--version","--install-completion","--show-completion"],_r={pub:["--name","--meta-data","--allow-clone"]},us=["login","logout","status"],ms=["list","current","use","info"],br=["members","groups"];function ps(){return xt().AGENT_NAMES}function fs(t){let e=rr();return e[t]?Object.keys(e[t]):[]}function hs(){return Ct().SKILLS_SUBCOMMANDS}function gs(){let{COMMANDS:t}=pr(),e=yr(),r=Object.keys(t),n=Object.keys(e).filter(s=>typeof e[s]=="function").map(cs);return Array.from(new Set([...n,...r])).sort()}function ys(t){let e=t.length?t[t.length-1]:"",r=t.slice(0,-1),n=r[0];if(e.startsWith("-")){let o=[...ls];return n&&_r[n]&&o.push(..._r[n]),o}if(r[r.length-1]==="--format")return["text","json"];if(r.length===0)return ds;switch(n){case"agent":return r.length===1?ps():[];case"auth":return r.length===1?us:[];case"skills":return r.length===1?hs():[];case"wiki":return r.length===1?gs():[];case"team":return r.length===1?[...ms,...br]:r.length===2&&br.includes(r[1])?fs(r[1]):[];default:return[]}}function _s(t){let e=t.length?t[t.length-1]:"",r=ys(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 qc(t){let e=t.indexOf("--"),r=e===-1?t:t.slice(e+1),n=_s(r);return n.length&&process.stdout.write(n.join(`
71
71
  `)+`
72
- `),0}bs.exports={complete:Rc,candidates:_s,candidatesFor:ys,camelToKebab:cs,TOP_LEVEL:ds,GLOBAL_OPTIONS:ls,COMMAND_OPTIONS:_r,AUTH_SUBCOMMANDS:us,TEAM_TOP:ms,TEAM_RESOURCES:br,wikiSubcommands:gs,skillsSubcommands:hs,teamVerbs:fs,agentNames:ps}});var ks=b((dm,Is)=>{function Zc(t="coder"){return`# bash completion for ${t}
72
+ `),0}bs.exports={complete:qc,candidates:_s,candidatesFor:ys,camelToKebab:cs,TOP_LEVEL:ds,GLOBAL_OPTIONS:ls,COMMAND_OPTIONS:_r,AUTH_SUBCOMMANDS:us,TEAM_TOP:ms,TEAM_RESOURCES:br,wikiSubcommands:gs,skillsSubcommands:hs,teamVerbs:fs,agentNames:ps}});var ks=b((um,Is)=>{function Lc(t="coder"){return`# bash completion for ${t}
73
73
  # \u5B89\u88C5: ${t} --install-completion \u6216 eval "$(${t} --show-completion bash)"
74
74
  _${t}_complete() {
75
75
  local cur words cword
@@ -91,7 +91,7 @@ _${t}_complete() {
91
91
  return 0
92
92
  }
93
93
  complete -F _${t}_complete ${t}
94
- `}Is.exports={bashScript:Zc}});var vs=b((lm,ws)=>{function qc(t="coder"){return`# zsh completion for ${t}
94
+ `}Is.exports={bashScript:Lc}});var vs=b((mm,ws)=>{function Mc(t="coder"){return`# zsh completion for ${t}
95
95
  _${t}() {
96
96
  local -a line
97
97
  line=("\${words[2,CURRENT]}")
@@ -103,22 +103,22 @@ _${t}() {
103
103
  compadd -- "\${reply[@]}"
104
104
  }
105
105
  compdef _${t} ${t}
106
- `}ws.exports={zshScript:qc}});var Ss=b((um,$s)=>{var At=require("fs"),Lc=require("os"),ce=require("path"),{bashScript:Mc}=ks(),{zshScript:Bc}=vs(),Et=["bash","zsh","fish"];function xr(){let t=(process.env.SHELL||"").split("/").pop();return Et.includes(t)?t:"bash"}function Ir(t){return t==="bash"?Mc():t==="zsh"?Bc():t==="fish"?Vc():null}function Vc(t="coder"){return`# fish completion for ${t}
106
+ `}ws.exports={zshScript:Mc}});var Ss=b((pm,$s)=>{var At=require("fs"),Bc=require("os"),ce=require("path"),{bashScript:Vc}=ks(),{zshScript:Fc}=vs(),Et=["bash","zsh","fish"];function xr(){let t=(process.env.SHELL||"").split("/").pop();return Et.includes(t)?t:"bash"}function Ir(t){return t==="bash"?Vc():t==="zsh"?Fc():t==="fish"?Gc():null}function Gc(t="coder"){return`# fish completion for ${t}
107
107
  function __${t}_complete
108
108
  set -l tokens (commandline -opc) (commandline -ct)
109
109
  ${t} __complete -- $tokens[2..-1] 2>/dev/null
110
110
  end
111
111
  complete -c ${t} -f -a '(__${t}_complete)'
112
- `}function Fc(t){let e=Lc.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 Cs="# >>> coder completion >>>",Gc="# <<< coder completion <<<";function zc(t,e){let r="";try{r=At.readFileSync(t,"utf8")}catch{r=""}if(r.includes(Cs))return!1;let n=`
112
+ `}function zc(t){let e=Bc.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 Cs="# >>> coder completion >>>",Kc="# <<< coder completion <<<";function Jc(t,e){let r="";try{r=At.readFileSync(t,"utf8")}catch{r=""}if(r.includes(Cs))return!1;let n=`
114
114
  ${Cs}
115
115
  ${e}
116
- ${Gc}
117
- `;return At.appendFileSync(t,n,"utf8"),!0}function Kc(t,e){let r=e||xr(),n=Ir(r);return n?(process.stdout.write(n),0):(t.fail(`unsupported shell: ${r}`,`\u652F\u6301: ${Et.join(" | ")}`),1)}function Jc(t,e){let r=e||xr(),n=Ir(r),s=Fc(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{zc(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(`
116
+ ${Kc}
117
+ `;return At.appendFileSync(t,n,"utf8"),!0}function Hc(t,e){let r=e||xr(),n=Ir(r);return n?(process.stdout.write(n),0):(t.fail(`unsupported shell: ${r}`,`\u652F\u6301: ${Et.join(" | ")}`),1)}function Wc(t,e){let r=e||xr(),n=Ir(r),s=zc(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{Jc(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
119
  `).pop()),t.emit(i.join(`
120
- `)),0}$s.exports={detectShell:xr,scriptFor:Ir,showCompletion:Kc,installCompletion:Jc,SUPPORTED:Et}});var Es=b((mm,As)=>{var{AGENTS:Ts,AGENT_NAMES:lt,isAgentName:Hc,launchAgent:Wc}=xt(),Yc=new Set(["--help","-h","help"]);function Xc(t){if(t.isJson){t.emit({usage:"coder agent <name> [args...]",agents:lt.map(n=>({name:n,description:Ts[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)} ${Ts[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 Qc(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(Yc.has(r)){Xc(e);return}if(!Hc(r)){e.fail(`unknown agent: ${r}`,`available: ${lt.join(" | ")}`),process.exitCode=1;return}process.exitCode=await Wc(r,n||[],e)||0})}As.exports={register:Qc}});var Ds=b((pm,Os)=>{var ed=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=ed.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(`
120
+ `)),0}$s.exports={detectShell:xr,scriptFor:Ir,showCompletion:Hc,installCompletion:Wc,SUPPORTED:Et}});var Es=b((fm,As)=>{var{AGENTS:Ts,AGENT_NAMES:lt,isAgentName:Yc,launchAgent:Xc}=xt(),Qc=new Set(["--help","-h","help"]);function ed(t){if(t.isJson){t.emit({usage:"coder agent <name> [args...]",agents:lt.map(n=>({name:n,description:Ts[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)} ${Ts[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 td(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(Qc.has(r)){ed(e);return}if(!Yc(r)){e.fail(`unknown agent: ${r}`,`available: ${lt.join(" | ")}`),process.exitCode=1;return}process.exitCode=await Xc(r,n||[],e)||0})}As.exports={register:td}});var Ds=b((hm,Os)=>{var rd=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=rd.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(`
122
122
  <!DOCTYPE html>
123
123
  <html>
124
124
  <head>
@@ -243,7 +243,7 @@ ${Gc}
243
243
  </script>
244
244
  </body>
245
245
  </html>
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)}};Os.exports=kr});var Us=b((fm,Ps)=>{var td=require("crypto"),rd=Ds(),wr=class{constructor(e={}){this.baseUrl=e.baseUrl||"https://makecoder.com",this.callbackServer=null}generateState(){return td.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 rd;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(`
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)}};Os.exports=kr});var Us=b((gm,Ps)=>{var nd=require("crypto"),sd=Ds(),wr=class{constructor(e={}){this.baseUrl=e.baseUrl||"https://makecoder.com",this.callbackServer=null}generateState(){return nd.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 sd;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(`
247
247
  \u{1F510} \u5F00\u59CB OAuth \u767B\u5F55\u6D41\u7A0B...
248
248
  `),console.log(`\u{1F4CB} \u8BF7\u5728\u6D4F\u89C8\u5668\u4E2D\u5B8C\u6210\u767B\u5F55
249
249
  `),console.log(`\u{1F310} \u6388\u6743\u5730\u5740: ${e}
@@ -251,7 +251,7 @@ ${Gc}
251
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!
252
252
  `),s}catch(e){throw console.error(`
253
253
  \u274C OAuth \u767B\u5F55\u5931\u8D25: ${e.message}
254
- `),e}finally{this.callbackServer&&this.callbackServer.cleanup()}}cleanup(){this.callbackServer&&this.callbackServer.cleanup()}};Ps.exports=wr});var Rs=b((hm,Ns)=>{var js=require("readline"),nd=Us(),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 nd({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(`
254
+ `),e}finally{this.callbackServer&&this.callbackServer.cleanup()}}cleanup(){this.callbackServer&&this.callbackServer.cleanup()}};Ps.exports=wr});var Rs=b((ym,Ns)=>{var js=require("readline"),od=Us(),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 od({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(`
255
255
  \u8BF7\u624B\u52A8\u8F93\u5165 API Key\uFF08\u83B7\u53D6\u5730\u5740: https://makecoder.com/my/apikeys\uFF09
256
256
  `),await this.terminalOnlyLogin()}console.log(`
257
257
  \u{1F510} \u767B\u5F55 MakeCoder
@@ -282,8 +282,8 @@ ${Gc}
282
282
  coder auth status # \u67E5\u770B\u767B\u5F55\u72B6\u6001
283
283
 
284
284
  \u83B7\u53D6 API Key: https://makecoder.com/my/apikeys
285
- `)}};Ns.exports=vr});var ut=b(D=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0});D.getParsedType=D.ZodParsedType=D.objectUtil=D.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||(D.util=Cr={}));var Zs;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(Zs||(D.objectUtil=Zs={}));D.ZodParsedType=Cr.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]);var sd=t=>{switch(typeof t){case"undefined":return D.ZodParsedType.undefined;case"string":return D.ZodParsedType.string;case"number":return Number.isNaN(t)?D.ZodParsedType.nan:D.ZodParsedType.number;case"boolean":return D.ZodParsedType.boolean;case"function":return D.ZodParsedType.function;case"bigint":return D.ZodParsedType.bigint;case"symbol":return D.ZodParsedType.symbol;case"object":return Array.isArray(t)?D.ZodParsedType.array:t===null?D.ZodParsedType.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?D.ZodParsedType.promise:typeof Map<"u"&&t instanceof Map?D.ZodParsedType.map:typeof Set<"u"&&t instanceof Set?D.ZodParsedType.set:typeof Date<"u"&&t instanceof Date?D.ZodParsedType.date:D.ZodParsedType.object;default:return D.ZodParsedType.unknown}};D.getParsedType=sd});var Ot=b(pe=>{"use strict";Object.defineProperty(pe,"__esModule",{value:!0});pe.ZodError=pe.quotelessJson=pe.ZodIssueCode=void 0;var qs=ut();pe.ZodIssueCode=qs.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 od=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:");pe.quotelessJson=od;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,qs.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(),id=(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=id});var Dt=b(fe=>{"use strict";var ad=fe&&fe.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(fe,"__esModule",{value:!0});fe.defaultErrorMap=void 0;fe.setErrorMap=cd;fe.getErrorMap=dd;var Ls=ad(Sr());fe.defaultErrorMap=Ls.default;var Ms=Ls.default;function cd(t){Ms=t}function dd(){return Ms}});var Ar=b(E=>{"use strict";var ld=E&&E.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(E,"__esModule",{value:!0});E.isAsync=E.isValid=E.isDirty=E.isAborted=E.OK=E.DIRTY=E.INVALID=E.ParseStatus=E.EMPTY_PATH=E.makeIssue=void 0;E.addIssueToContext=pd;var ud=Dt(),Bs=ld(Sr()),md=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}};E.makeIssue=md;E.EMPTY_PATH=[];function pd(t,e){let r=(0,ud.getErrorMap)(),n=(0,E.makeIssue)({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===Bs.default?void 0:Bs.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 E.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 E.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}}};E.ParseStatus=Tr;E.INVALID=Object.freeze({status:"aborted"});var fd=t=>({status:"dirty",value:t});E.DIRTY=fd;var hd=t=>({status:"valid",value:t});E.OK=hd;var gd=t=>t.status==="aborted";E.isAborted=gd;var yd=t=>t.status==="dirty";E.isDirty=yd;var _d=t=>t.status==="valid";E.isValid=_d;var bd=t=>typeof Promise<"u"&&t instanceof Promise;E.isAsync=bd});var Fs=b(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0})});var zs=b(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});Pt.errorUtil=void 0;var Gs;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(Gs||(Pt.errorUtil=Gs={}))});var so=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=Ys;u.custom=Qs;var f=Ot(),Ut=Dt(),x=zs(),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}},Ks=(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 Ks(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 Ks(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 xd=/^c[^\s-]{8,}$/i,Id=/^[0-9a-z]+$/,kd=/^[0-9A-HJKMNP-TV-Z]{26}$/i,wd=/^[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,vd=/^[a-z0-9_-]{21}$/i,Cd=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,$d=/^[-+]?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)?)??$/,Sd=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Td="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Er,Ad=/^(?:(?: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])$/,Ed=/^(?:(?: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])$/,Od=/^(([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]))$/,Dd=/^(([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}=))?$/,Ud=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Hs="((\\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])))",jd=new RegExp(`^${Hs}$`);function Ws(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 Nd(t){return new RegExp(`^${Ws(t)}$`)}function Ys(t){let e=`${Hs}T${Ws(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 Rd(t,e){return!!((e==="v4"||!e)&&Ad.test(t)||(e==="v6"||!e)&&Od.test(t))}function Zd(t,e){if(!Cd.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 qd(t,e){return!!((e==="v4"||!e)&&Ed.test(t)||(e==="v6"||!e)&&Dd.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")Sd.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(Td,"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")wd.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")vd.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")xd.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")Id.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")kd.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"?Ys(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"?jd.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"?Nd(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"?$d.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"?Rd(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"?Zd(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"?qd(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"?Pd.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"?Ud.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,...x.errorUtil.errToObj(n)})}_addCheck(e){return new t({...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,r){return this._addCheck({kind:"regex",regex:e,...x.errorUtil.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r?.position,...x.errorUtil.errToObj(r?.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...x.errorUtil.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...x.errorUtil.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...x.errorUtil.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...x.errorUtil.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...x.errorUtil.errToObj(r)})}nonempty(e){return this.min(1,x.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 Ld(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"?Ld(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,x.errorUtil.toString(r))}gt(e,r){return this.setLimit("min",e,!1,x.errorUtil.toString(r))}lte(e,r){return this.setLimit("max",e,!0,x.errorUtil.toString(r))}lt(e,r){return this.setLimit("max",e,!1,x.errorUtil.toString(r))}setLimit(e,r,n,s){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:x.errorUtil.toString(s)}]})}_addCheck(e){return new t({...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,r){return this._addCheck({kind:"multipleOf",value:e,message:x.errorUtil.toString(r)})}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 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,x.errorUtil.toString(r))}gt(e,r){return this.setLimit("min",e,!1,x.errorUtil.toString(r))}lte(e,r){return this.setLimit("max",e,!0,x.errorUtil.toString(r))}lt(e,r){return this.setLimit("max",e,!1,x.errorUtil.toString(r))}setLimit(e,r,n,s){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:x.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: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,r){return this._addCheck({kind:"multipleOf",value:e,message:x.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:x.errorUtil.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:x.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:x.errorUtil.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:x.errorUtil.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:x.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 x.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:x.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 Xs(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:x.errorUtil.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:x.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 Xs(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=Xs;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 Js(t,e){let r=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof r=="string"?{message:r}:r}function Qs(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=Js(e,n),c=a.fatal??r??!0;s.addIssue({code:"custom",...a,fatal:c})}});if(!o){let i=Js(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 Md=(t,e={message:`Input not instance of ${t.name}`})=>Qs(r=>r instanceof t,e);u.instanceof=Md;var eo=he.create;u.string=eo;var to=Ce.create;u.number=to;var Bd=Ye.create;u.nan=Bd;var Vd=$e.create;u.bigint=Vd;var ro=Se.create;u.boolean=ro;var Fd=Te.create;u.date=Fd;var Gd=Ke.create;u.symbol=Gd;var zd=Ae.create;u.undefined=zd;var Kd=Ee.create;u.null=Kd;var Jd=ge.create;u.any=Jd;var Hd=le.create;u.unknown=Hd;var Wd=Q.create;u.never=Wd;var Yd=Je.create;u.void=Yd;var Xd=ue.create;u.array=Xd;var Qd=z.create;u.object=Qd;var el=z.strictCreate;u.strictObject=el;var tl=Oe.create;u.union=tl;var rl=jt.create;u.discriminatedUnion=rl;var nl=De.create;u.intersection=nl;var sl=oe.create;u.tuple=sl;var ol=Nt.create;u.record=ol;var il=He.create;u.map=il;var al=We.create;u.set=al;var cl=Rt.create;u.function=cl;var dl=Pe.create;u.lazy=dl;var ll=Ue.create;u.literal=ll;var ul=je.create;u.enum=ul;var ml=Ne.create;u.nativeEnum=ml;var pl=ye.create;u.promise=pl;var no=J.create;u.effect=no;u.transformer=no;var fl=W.create;u.optional=fl;var hl=ie.create;u.nullable=hl;var gl=J.createWithPreprocess;u.preprocess=gl;var yl=ft.create;u.pipeline=yl;var _l=()=>eo().optional();u.ostring=_l;var bl=()=>to().optional();u.onumber=bl;var xl=()=>ro().optional();u.oboolean=xl;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 Il=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)&&Il(e,t,r)};Object.defineProperty(X,"__esModule",{value:!0});Xe(Dt(),X);Xe(Ar(),X);Xe(Fs(),X);Xe(ut(),X);Xe(so(),X);Xe(Ot(),X)});var ao=b(K=>{"use strict";var oo=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]})),kl=K&&K.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),wl=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)&&oo(e,t,r);return kl(e,t),e},vl=K&&K.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&oo(e,t,r)};Object.defineProperty(K,"__esModule",{value:!0});K.z=void 0;var io=wl(Dr());K.z=io;vl(Dr(),K);K.default=io});var Zt=b(($m,mo)=>{var Pr=null;function Ur(){return Pr||(Pr=ao().z),Pr}function co(){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 lo(){return Ur().string().refine(t=>{try{return JSON.parse(t),!0}catch{return!1}},{message:"--meta-data \u4E0D\u662F\u5408\u6CD5\u7684 JSON"})}function uo(){return Ur().string().trim().refine(t=>/^https?:\/\/[^\s]+$/i.test(t),{message:"registry \u5FC5\u987B\u662F http(s):// \u5F00\u5934\u7684 URL"})}function Cl(t){let e=co().safeParse(t);return e.success?{ok:!0,value:e.data}:{ok:!1,error:e.error.issues[0].message}}function $l(t){let e=lo().safeParse(t);return e.success?{ok:!0,value:e.data}:{ok:!1,error:e.error.issues[0].message}}function Sl(t){let e=uo().safeParse(t);return e.success?{ok:!0,value:e.data}:{ok:!1,error:e.error.issues[0].message}}mo.exports={apiKeySchema:co,pubMetaDataSchema:lo,registrySchema:uo,validateApiKey:Cl,validatePubMetaData:$l,validateRegistry:Sl}});var fo=b((Sm,po)=>{var Tl=Rs(),{validateApiKey:Al}=Zt();function El(t,e){let r=new Tl(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=Al(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})}po.exports={register:El}});var yo=b((Tm,go)=>{var ee=require("fs"),Le=require("path"),Ol=require("readline"),{execSync:qt}=require("child_process"),ho=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(ho.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=Ol.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=ho.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(`
285
+ `)}};Ns.exports=vr});var ut=b(D=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0});D.getParsedType=D.ZodParsedType=D.objectUtil=D.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||(D.util=Cr={}));var Zs;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(Zs||(D.objectUtil=Zs={}));D.ZodParsedType=Cr.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]);var id=t=>{switch(typeof t){case"undefined":return D.ZodParsedType.undefined;case"string":return D.ZodParsedType.string;case"number":return Number.isNaN(t)?D.ZodParsedType.nan:D.ZodParsedType.number;case"boolean":return D.ZodParsedType.boolean;case"function":return D.ZodParsedType.function;case"bigint":return D.ZodParsedType.bigint;case"symbol":return D.ZodParsedType.symbol;case"object":return Array.isArray(t)?D.ZodParsedType.array:t===null?D.ZodParsedType.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?D.ZodParsedType.promise:typeof Map<"u"&&t instanceof Map?D.ZodParsedType.map:typeof Set<"u"&&t instanceof Set?D.ZodParsedType.set:typeof Date<"u"&&t instanceof Date?D.ZodParsedType.date:D.ZodParsedType.object;default:return D.ZodParsedType.unknown}};D.getParsedType=id});var Ot=b(pe=>{"use strict";Object.defineProperty(pe,"__esModule",{value:!0});pe.ZodError=pe.quotelessJson=pe.ZodIssueCode=void 0;var qs=ut();pe.ZodIssueCode=qs.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 ad=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:");pe.quotelessJson=ad;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,qs.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(),cd=(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=cd});var Dt=b(fe=>{"use strict";var dd=fe&&fe.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(fe,"__esModule",{value:!0});fe.defaultErrorMap=void 0;fe.setErrorMap=ld;fe.getErrorMap=ud;var Ls=dd(Sr());fe.defaultErrorMap=Ls.default;var Ms=Ls.default;function ld(t){Ms=t}function ud(){return Ms}});var Ar=b(E=>{"use strict";var md=E&&E.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(E,"__esModule",{value:!0});E.isAsync=E.isValid=E.isDirty=E.isAborted=E.OK=E.DIRTY=E.INVALID=E.ParseStatus=E.EMPTY_PATH=E.makeIssue=void 0;E.addIssueToContext=hd;var pd=Dt(),Bs=md(Sr()),fd=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}};E.makeIssue=fd;E.EMPTY_PATH=[];function hd(t,e){let r=(0,pd.getErrorMap)(),n=(0,E.makeIssue)({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===Bs.default?void 0:Bs.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 E.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 E.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}}};E.ParseStatus=Tr;E.INVALID=Object.freeze({status:"aborted"});var gd=t=>({status:"dirty",value:t});E.DIRTY=gd;var yd=t=>({status:"valid",value:t});E.OK=yd;var _d=t=>t.status==="aborted";E.isAborted=_d;var bd=t=>t.status==="dirty";E.isDirty=bd;var xd=t=>t.status==="valid";E.isValid=xd;var Id=t=>typeof Promise<"u"&&t instanceof Promise;E.isAsync=Id});var Fs=b(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0})});var zs=b(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});Pt.errorUtil=void 0;var Gs;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(Gs||(Pt.errorUtil=Gs={}))});var so=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=Ys;u.custom=Qs;var f=Ot(),Ut=Dt(),x=zs(),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}},Ks=(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 Ks(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 Ks(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 kd=/^c[^\s-]{8,}$/i,wd=/^[0-9a-z]+$/,vd=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Cd=/^[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,$d=/^[a-z0-9_-]{21}$/i,Sd=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Td=/^[-+]?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,Ed="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Er,Od=/^(?:(?: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])$/,Pd=/^(([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]))$/,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]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,jd=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Nd=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Hs="((\\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])))",Rd=new RegExp(`^${Hs}$`);function Ws(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 Zd(t){return new RegExp(`^${Ws(t)}$`)}function Ys(t){let e=`${Hs}T${Ws(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 qd(t,e){return!!((e==="v4"||!e)&&Od.test(t)||(e==="v6"||!e)&&Pd.test(t))}function Ld(t,e){if(!Sd.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 Md(t,e){return!!((e==="v4"||!e)&&Dd.test(t)||(e==="v6"||!e)&&Ud.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")Ad.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(Ed,"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")Cd.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")$d.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")kd.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")wd.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")vd.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"?Ys(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"?Rd.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"?Zd(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"?Td.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"?qd(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"?Ld(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"?Md(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"?jd.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"?Nd.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,...x.errorUtil.errToObj(n)})}_addCheck(e){return new t({...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,r){return this._addCheck({kind:"regex",regex:e,...x.errorUtil.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r?.position,...x.errorUtil.errToObj(r?.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...x.errorUtil.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...x.errorUtil.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...x.errorUtil.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...x.errorUtil.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...x.errorUtil.errToObj(r)})}nonempty(e){return this.min(1,x.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 Bd(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"?Bd(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,x.errorUtil.toString(r))}gt(e,r){return this.setLimit("min",e,!1,x.errorUtil.toString(r))}lte(e,r){return this.setLimit("max",e,!0,x.errorUtil.toString(r))}lt(e,r){return this.setLimit("max",e,!1,x.errorUtil.toString(r))}setLimit(e,r,n,s){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:x.errorUtil.toString(s)}]})}_addCheck(e){return new t({...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,r){return this._addCheck({kind:"multipleOf",value:e,message:x.errorUtil.toString(r)})}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 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,x.errorUtil.toString(r))}gt(e,r){return this.setLimit("min",e,!1,x.errorUtil.toString(r))}lte(e,r){return this.setLimit("max",e,!0,x.errorUtil.toString(r))}lt(e,r){return this.setLimit("max",e,!1,x.errorUtil.toString(r))}setLimit(e,r,n,s){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:x.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: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,r){return this._addCheck({kind:"multipleOf",value:e,message:x.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:x.errorUtil.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:x.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:x.errorUtil.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:x.errorUtil.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:x.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 x.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:x.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 Xs(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:x.errorUtil.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:x.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 Xs(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=Xs;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 Js(t,e){let r=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof r=="string"?{message:r}:r}function Qs(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=Js(e,n),c=a.fatal??r??!0;s.addIssue({code:"custom",...a,fatal:c})}});if(!o){let i=Js(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 Vd=(t,e={message:`Input not instance of ${t.name}`})=>Qs(r=>r instanceof t,e);u.instanceof=Vd;var eo=he.create;u.string=eo;var to=Ce.create;u.number=to;var Fd=Ye.create;u.nan=Fd;var Gd=$e.create;u.bigint=Gd;var ro=Se.create;u.boolean=ro;var zd=Te.create;u.date=zd;var Kd=Ke.create;u.symbol=Kd;var Jd=Ae.create;u.undefined=Jd;var Hd=Ee.create;u.null=Hd;var Wd=ge.create;u.any=Wd;var Yd=le.create;u.unknown=Yd;var Xd=Q.create;u.never=Xd;var Qd=Je.create;u.void=Qd;var el=ue.create;u.array=el;var tl=z.create;u.object=tl;var rl=z.strictCreate;u.strictObject=rl;var nl=Oe.create;u.union=nl;var sl=jt.create;u.discriminatedUnion=sl;var ol=De.create;u.intersection=ol;var il=oe.create;u.tuple=il;var al=Nt.create;u.record=al;var cl=He.create;u.map=cl;var dl=We.create;u.set=dl;var ll=Rt.create;u.function=ll;var ul=Pe.create;u.lazy=ul;var ml=Ue.create;u.literal=ml;var pl=je.create;u.enum=pl;var fl=Ne.create;u.nativeEnum=fl;var hl=ye.create;u.promise=hl;var no=J.create;u.effect=no;u.transformer=no;var gl=W.create;u.optional=gl;var yl=ie.create;u.nullable=yl;var _l=J.createWithPreprocess;u.preprocess=_l;var bl=ft.create;u.pipeline=bl;var xl=()=>eo().optional();u.ostring=xl;var Il=()=>to().optional();u.onumber=Il;var kl=()=>ro().optional();u.oboolean=kl;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 wl=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)&&wl(e,t,r)};Object.defineProperty(X,"__esModule",{value:!0});Xe(Dt(),X);Xe(Ar(),X);Xe(Fs(),X);Xe(ut(),X);Xe(so(),X);Xe(Ot(),X)});var ao=b(K=>{"use strict";var oo=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]})),vl=K&&K.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Cl=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)&&oo(e,t,r);return vl(e,t),e},$l=K&&K.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&oo(e,t,r)};Object.defineProperty(K,"__esModule",{value:!0});K.z=void 0;var io=Cl(Dr());K.z=io;$l(Dr(),K);K.default=io});var Zt=b((Tm,mo)=>{var Pr=null;function Ur(){return Pr||(Pr=ao().z),Pr}function co(){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 lo(){return Ur().string().refine(t=>{try{return JSON.parse(t),!0}catch{return!1}},{message:"--meta-data \u4E0D\u662F\u5408\u6CD5\u7684 JSON"})}function uo(){return Ur().string().trim().refine(t=>/^https?:\/\/[^\s]+$/i.test(t),{message:"registry \u5FC5\u987B\u662F http(s):// \u5F00\u5934\u7684 URL"})}function Sl(t){let e=co().safeParse(t);return e.success?{ok:!0,value:e.data}:{ok:!1,error:e.error.issues[0].message}}function Tl(t){let e=lo().safeParse(t);return e.success?{ok:!0,value:e.data}:{ok:!1,error:e.error.issues[0].message}}function Al(t){let e=uo().safeParse(t);return e.success?{ok:!0,value:e.data}:{ok:!1,error:e.error.issues[0].message}}mo.exports={apiKeySchema:co,pubMetaDataSchema:lo,registrySchema:uo,validateApiKey:Sl,validatePubMetaData:Tl,validateRegistry:Al}});var fo=b((Am,po)=>{var El=Rs(),{validateApiKey:Ol}=Zt();function Dl(t,e){let r=new El(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=Ol(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})}po.exports={register:Dl}});var yo=b((Em,go)=>{var ee=require("fs"),Le=require("path"),Pl=require("readline"),{execSync:qt}=require("child_process"),ho=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(ho.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=Pl.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=ho.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
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
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)
289
289
  `)}else console.log(`\u26A0\uFE0F [allow-clone] \u672A\u627E\u5230 Claude Code \u751F\u6210\u8BB0\u5F55
@@ -293,9 +293,9 @@ ${Gc}
293
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
294
  \u274C \u53D1\u5E03\u5931\u8D25: ${d.message||d.reason}`),1)}catch(a){return console.error(`
295
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(`
296
- `))}};go.exports=jr});var bo=b((Am,_o)=>{var Dl=yo(),{validatePubMetaData:Pl}=Zt();function Ul(t,e){let r=new Dl;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=Pl(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})}_o.exports={register:Ul}});var To=b((Em,So)=>{var{execSync:Rr,execFileSync:xo}=require("child_process"),Nr=require("fs"),Lt=require("path"),{PLATFORM_PACKAGE:jl}=_t(),{validateRegistry:Nl}=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 ko(){try{return Rr("npm config get registry",{encoding:"utf8"}).trim()}catch{return"https://registry.npmjs.org/"}}function Rl(){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 Zl(t){try{let e=["view","makecoder@latest","version"];return t&&e.push("--registry",t),xo("npm",e,{encoding:"utf8"}).trim()||null}catch{return null}}function ql({registry:t,verbose:e}){let r=["install","-g"];return t&&r.push("--registry",t),e&&r.push("--loglevel","verbose"),r}function wo(t,e,r){let n=[...ql(e),t];e.verbose&&r.emit(`$ npm ${n.join(" ")}`),xo("npm",n,{stdio:"inherit"})}function Ll(t,e){let r=`${process.platform}-${process.arch}`,n=jl[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 wo(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 vo(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 Ml(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 Co(t,e){let r=ot().version,n=t.registry||ko(),s=Zl(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&&Ml(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")),vo(n,e),0}function $o(t,e){let r=ot().version,n=t.registry||ko();e.emit(`\u5F53\u524D\u7248\u672C: ${r}`),e.emit(`npm \u6E90: ${n}`),vo(n,e),e.emit(""),e.emit("\u6B63\u5728\u5347\u7EA7 Coder...");try{wo("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}Ll(t,e);let s=Rl();return e.emit(""),e.emit(s?`\u5347\u7EA7\u6210\u529F\uFF0C\u5F53\u524D\u7248\u672C: ${s}`:"\u5347\u7EA7\u6210\u529F"),0}function Bl(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=Nl(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?Co(r,e):$o(r,e)})}So.exports={register:Bl,runUpdate:$o,runCheck:Co,isCnRegistry:Io,CN_REGISTRIES:Qe}});var Eo=b((Om,Ao)=>{var{isUuid:Vl,classifyId:Fl}=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===""||Vl(e))return e;if(this._cache.has(e))return this._cache.get(e);let s=Fl(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${Gl(a)}\uFF09`,d}return this._cache.set(e,c),c}};function Gl(t){try{let e=JSON.parse(t);return e.message||e.error||""}catch{return(t||"").slice(0,120)}}Ao.exports={IdResolver:Zr}});var Do=b((Dm,Oo)=>{function zl(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] [--index <n>] [--after <doc>]"," 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 --after <\u524D\u4E00\u7BC7> # \u7D27\u8DDF\u67D0\u7BC7\u4E4B\u540E"," coder wiki move <doc> --index 3 # \u628A\u5DF2\u53D1\u5E03\u6587\u6863\u79FB\u5230\u8BE5\u4F4D\u7F6E",' 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",""," \u987A\u5E8F / \u4F4D\u7F6E\uFF08\u53D1\u5E03\u524D\u52A1\u5FC5\u5173\u6CE8\uFF09\uFF1A"," \u65B0\u6587\u6863\u9ED8\u8BA4\u63D2\u5230\u540C\u7EA7\u5217\u8868\u6700\u524D\u9762\u3002\u5148 `list <collection> -d -1` \u770B\u6574\u68F5\u6811\uFF0C"," \u627E\u5230\u8BE5\u6587\u6863\u5E94\u5F52\u5C5E\u7684\u540C\u7EA7\u4F4D\u7F6E\uFF08\u9876\u5C42\u6216\u67D0\u4E2A\u7236\u6587\u6863\u4E0B\uFF09\u3002"," \u63A8\u8350\u7528 --after <\u540C\u7EA7\u7684\u524D\u4E00\u7BC7>\uFF1A\u5728\u6574\u68F5\u6811\u91CC\u5B9A\u4F4D\uFF0C\u63D2\u5230\u5176\u540E\u5E76\u81EA\u52A8\u7EE7\u627F\u540C\u7EA7\u7236\u6587\u6863\uFF0C"," \u4E0D\u7BA1\u76EE\u6807\u5728\u9876\u5C42\u8FD8\u662F\u5B50\u76EE\u5F55\u90FD\u9002\u7528\u3002--index <n> \u662F\u540C\u4E00\u7236\u7EA7\u4E0B\u7684\u4E0B\u6807\uFF080 \u5728\u6700\u524D\uFF09\uFF0C"," \u4EC5\u5728\u4F60\u5DF2\u786E\u5B9A\u7236\u7EA7\u65F6\u7528\uFF1B\u653E\u8FDB\u5B50\u76EE\u5F55\u53EF\u518D\u914D\u5408 --parent <\u7236\u6587\u6863>\u3002"," \u5DF2\u53D1\u5E03\u7684\u6587\u6863\u8C03\u987A\u5E8F\u7528 move\uFF1A`move <doc> --after <doc>` \u6216 `move <doc> [parentDoc] --index <n>`\u3002"," \uFF08update \u53EA\u6539\u5185\u5BB9/\u6807\u9898\uFF0C\u4E0D\u5F71\u54CD\u987A\u5E8F\u3002\uFF09"];t.emit(e.join(`
299
- `))}Oo.exports={showHelp:zl}});var jo=b((Um,Uo)=>{var{WikiHttp:Kl,docUrl:Jl,colUrl:Hl,errorMessage:Wl}=ct(),{IdResolver:Yl}=Eo(),{COMMANDS:Xl,flag:Pm}=pr(),Po=yr(),{showHelp:Ql}=Do(),eu=t=>t.replace(/-([a-z])/g,(e,r)=>r.toUpperCase()),tu=new Set(["--format","--apikey"]);function ru(t){let e=[];for(let r=0;r<t.length;r++){if(tu.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 Ql(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(ru(r||[])),c=await this._resolveTeam(i,o),d=new Kl(o,c),l=new Yl(d),p={ctx:s,http:d,resolver:l,args:a,arg:a[0],teamId:c,docUrl:Jl,colUrl:Hl};try{let g=eu(e);if(typeof Po[g]=="function")return await Po[g](p)||0;let _=Xl[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(Wl(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}};Uo.exports=qr});var Ro=b((jm,No)=>{function nu(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
- `))}No.exports={showHelp:nu}});var Mr=b((Nm,Lo)=>{var{TeamHttp:Zo,parseJson:su}=It(),qo=rr(),{showHelp:ou}=Ro(),iu=new Set(["--format","--apikey"]);function au(t){let e=[];for(let r=0;r<t.length;r++){if(iu.has(t[r])){r++;continue}e.push(t[r])}return e}var cu=new Set(["list","current","use","info"]),du=new Set(["members","groups"]),Lr=class{constructor(e){this.ctx=e||null}request(e,r,n,s,o){return new Zo(n).request(e,r,s,o)}parseJson(e){return su(e)}async handle({teamSubcommand:e,teamRemainingArgs:r,apikey:n}){let s=this.ctx;if(!e||e==="--help"||e==="-h")return ou(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=au(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 Zo(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(cu.has(e))return{fn:qo[e],args:r};if(du.has(e)){let n=qo[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}};Lo.exports=Lr});var Bo=b((Rm,Mo)=>{var lu=jo(),uu=Mr();function mu(t,e){let r=new lu(e);return r.teamService=new uu(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}Mo.exports={register:mu}});var zo=b((Zm,Go)=>{var pu=Ct(),fu=Mr();function Fo(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 Vo(t,e,r){t.command(`${r.name} [args...]`).description(r.describe).allowUnknownOption().helpOption(!1).action(async n=>{let s=await r.service.handle(Fo(r.prefix,n||[],e));process.exitCode=s||0})}function hu(t,e){let r=new fu(e),n=new pu(e);return n.teamService=r,Vo(t,e,{name:"team",describe:"\u7BA1\u7406\u56E2\u961F\u4E0E\u6210\u5458\uFF08\u9762\u5411 AI\uFF09",prefix:"team",service:r}),Vo(t,e,{name:"skills",describe:"\u7BA1\u7406 Claude Code skills",prefix:"skills",service:n}),{teamService:r,skillsService:n}}Go.exports={register:hu,buildHandleArgs:Fo}});var Jo=b((qm,Ko)=>{var gu=Es(),yu=fo(),_u=bo(),bu=To(),xu=Bo(),Iu=zo();function ku(t,e){return gu.register(t,e),yu.register(t,e),_u.register(t,e),bu.register(t,e),xu.register(t,e),{domains:Iu.register(t,e)}}Ko.exports={registerAll:ku}});var Yo=b((Lm,Wo)=>{var{CoderContext:Ho}=Kr(),{SHORTCUTS:wu,isAgentName:vu,launchAgent:Cu}=xt(),$u=kn(),{version:Su}=ot(),Br=class{constructor(){this.vscodeExtensionService=new $u}_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}=xs();return i(e.slice(1))}let r=this._leadingCompletionFlag(e);if(r){let i=this._readGlobalOptions(e),a=new Ho(i),{installCompletion:c,showCompletion:d}=Ss(),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 Ho(n),o=e[0];return o?wu.has(o)&&vu(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 Cu(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}=Jo(),o=new n;return o.name("coder").description("Coder \u2014 AI Agent Runtime OS\uFF08AI\u667A\u80FD\u4F53\u64CD\u4F5C\u7CFB\u7EDF\uFF09").version(Su,"-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}};Wo.exports=Br});var Tu=Yo(),{shouldSuppressUpdateNotice:Au}=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 Eu(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 Ou(){if(Au())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&&Eu(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 Du(){let t=new Set(["pub","auth","update","skills","wiki","team"]),e=process.argv[2];e!=="__complete"&&(!e||!t.has(e))&&Ou(),process.env.CODER_NESTED="1";let r=new Tu;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)}}Du().catch(t=>{console.error(`Startup error: ${t.message}`),process.exit(1)});
296
+ `))}};go.exports=jr});var bo=b((Om,_o)=>{var Ul=yo(),{validatePubMetaData:jl}=Zt();function Nl(t,e){let r=new Ul;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=jl(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})}_o.exports={register:Nl}});var To=b((Dm,So)=>{var{execSync:Rr,execFileSync:xo}=require("child_process"),Nr=require("fs"),Lt=require("path"),{PLATFORM_PACKAGE:Rl}=_t(),{validateRegistry:Zl}=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 ko(){try{return Rr("npm config get registry",{encoding:"utf8"}).trim()}catch{return"https://registry.npmjs.org/"}}function ql(){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 Ll(t){try{let e=["view","makecoder@latest","version"];return t&&e.push("--registry",t),xo("npm",e,{encoding:"utf8"}).trim()||null}catch{return null}}function Ml({registry:t,verbose:e}){let r=["install","-g"];return t&&r.push("--registry",t),e&&r.push("--loglevel","verbose"),r}function wo(t,e,r){let n=[...Ml(e),t];e.verbose&&r.emit(`$ npm ${n.join(" ")}`),xo("npm",n,{stdio:"inherit"})}function Bl(t,e){let r=`${process.platform}-${process.arch}`,n=Rl[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 wo(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 vo(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 Vl(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 Co(t,e){let r=ot().version,n=t.registry||ko(),s=Ll(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&&Vl(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")),vo(n,e),0}function $o(t,e){let r=ot().version,n=t.registry||ko();e.emit(`\u5F53\u524D\u7248\u672C: ${r}`),e.emit(`npm \u6E90: ${n}`),vo(n,e),e.emit(""),e.emit("\u6B63\u5728\u5347\u7EA7 Coder...");try{wo("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}Bl(t,e);let s=ql();return e.emit(""),e.emit(s?`\u5347\u7EA7\u6210\u529F\uFF0C\u5F53\u524D\u7248\u672C: ${s}`:"\u5347\u7EA7\u6210\u529F"),0}function Fl(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=Zl(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?Co(r,e):$o(r,e)})}So.exports={register:Fl,runUpdate:$o,runCheck:Co,isCnRegistry:Io,CN_REGISTRIES:Qe}});var Eo=b((Pm,Ao)=>{var{isUuid:Gl,classifyId:zl}=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===""||Gl(e))return e;if(this._cache.has(e))return this._cache.get(e);let s=zl(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${Kl(a)}\uFF09`,d}return this._cache.set(e,c),c}};function Kl(t){try{let e=JSON.parse(t);return e.message||e.error||""}catch{return(t||"").slice(0,120)}}Ao.exports={IdResolver:Zr}});var Do=b((Um,Oo)=>{function Jl(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] [--index <n>] [--after <doc>]"," 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 --after <\u524D\u4E00\u7BC7> # \u7D27\u8DDF\u67D0\u7BC7\u4E4B\u540E"," coder wiki move <doc> --index 3 # \u628A\u5DF2\u53D1\u5E03\u6587\u6863\u79FB\u5230\u8BE5\u4F4D\u7F6E",' 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",""," \u987A\u5E8F / \u4F4D\u7F6E\uFF08\u53D1\u5E03\u524D\u52A1\u5FC5\u5173\u6CE8\uFF09\uFF1A"," \u65B0\u6587\u6863\u9ED8\u8BA4\u63D2\u5230\u540C\u7EA7\u5217\u8868\u6700\u524D\u9762\u3002\u5148 `list <collection> -d -1` \u770B\u6574\u68F5\u6811\uFF0C"," \u627E\u5230\u8BE5\u6587\u6863\u5E94\u5F52\u5C5E\u7684\u540C\u7EA7\u4F4D\u7F6E\uFF08\u9876\u5C42\u6216\u67D0\u4E2A\u7236\u6587\u6863\u4E0B\uFF09\u3002"," \u63A8\u8350\u7528 --after <\u540C\u7EA7\u7684\u524D\u4E00\u7BC7>\uFF1A\u5728\u6574\u68F5\u6811\u91CC\u5B9A\u4F4D\uFF0C\u63D2\u5230\u5176\u540E\u5E76\u81EA\u52A8\u7EE7\u627F\u540C\u7EA7\u7236\u6587\u6863\uFF0C"," \u4E0D\u7BA1\u76EE\u6807\u5728\u9876\u5C42\u8FD8\u662F\u5B50\u76EE\u5F55\u90FD\u9002\u7528\u3002--index <n> \u662F\u540C\u4E00\u7236\u7EA7\u4E0B\u7684\u4E0B\u6807\uFF080 \u5728\u6700\u524D\uFF09\uFF0C"," \u4EC5\u5728\u4F60\u5DF2\u786E\u5B9A\u7236\u7EA7\u65F6\u7528\uFF1B\u653E\u8FDB\u5B50\u76EE\u5F55\u53EF\u518D\u914D\u5408 --parent <\u7236\u6587\u6863>\u3002"," \u5DF2\u53D1\u5E03\u7684\u6587\u6863\u8C03\u987A\u5E8F\u7528 move\uFF1A`move <doc> --after <doc>` \u6216 `move <doc> [parentDoc] --index <n>`\u3002"," \uFF08update \u53EA\u6539\u5185\u5BB9/\u6807\u9898\uFF0C\u4E0D\u5F71\u54CD\u987A\u5E8F\u3002\uFF09"];t.emit(e.join(`
299
+ `))}Oo.exports={showHelp:Jl}});var jo=b((Nm,Uo)=>{var{WikiHttp:Hl,docUrl:Wl,colUrl:Yl,errorMessage:Xl}=ct(),{IdResolver:Ql}=Eo(),{COMMANDS:eu,flag:jm}=pr(),Po=yr(),{showHelp:tu}=Do(),ru=t=>t.replace(/-([a-z])/g,(e,r)=>r.toUpperCase()),nu=new Set(["--format","--apikey"]);function su(t){let e=[];for(let r=0;r<t.length;r++){if(nu.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 tu(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(su(r||[])),c=await this._resolveTeam(i,o),d=new Hl(o,c),l=new Ql(d),p={ctx:s,http:d,resolver:l,args:a,arg:a[0],teamId:c,docUrl:Wl,colUrl:Yl};try{let g=ru(e);if(typeof Po[g]=="function")return await Po[g](p)||0;let _=eu[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(Xl(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}};Uo.exports=qr});var Ro=b((Rm,No)=>{function ou(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
+ `))}No.exports={showHelp:ou}});var Mr=b((Zm,Lo)=>{var{TeamHttp:Zo,parseJson:iu}=It(),qo=rr(),{showHelp:au}=Ro(),cu=new Set(["--format","--apikey"]);function du(t){let e=[];for(let r=0;r<t.length;r++){if(cu.has(t[r])){r++;continue}e.push(t[r])}return e}var lu=new Set(["list","current","use","info"]),uu=new Set(["members","groups"]),Lr=class{constructor(e){this.ctx=e||null}request(e,r,n,s,o){return new Zo(n).request(e,r,s,o)}parseJson(e){return iu(e)}async handle({teamSubcommand:e,teamRemainingArgs:r,apikey:n}){let s=this.ctx;if(!e||e==="--help"||e==="-h")return au(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=du(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 Zo(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(lu.has(e))return{fn:qo[e],args:r};if(uu.has(e)){let n=qo[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}};Lo.exports=Lr});var Bo=b((qm,Mo)=>{var mu=jo(),pu=Mr();function fu(t,e){let r=new mu(e);return r.teamService=new pu(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}Mo.exports={register:fu}});var zo=b((Lm,Go)=>{var hu=Ct(),gu=Mr();function Fo(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 Vo(t,e,r){t.command(`${r.name} [args...]`).description(r.describe).allowUnknownOption().helpOption(!1).action(async n=>{let s=await r.service.handle(Fo(r.prefix,n||[],e));process.exitCode=s||0})}function yu(t,e){let r=new gu(e),n=new hu(e);return n.teamService=r,Vo(t,e,{name:"team",describe:"\u7BA1\u7406\u56E2\u961F\u4E0E\u6210\u5458\uFF08\u9762\u5411 AI\uFF09",prefix:"team",service:r}),Vo(t,e,{name:"skills",describe:"\u7BA1\u7406 Claude Code skills",prefix:"skills",service:n}),{teamService:r,skillsService:n}}Go.exports={register:yu,buildHandleArgs:Fo}});var Jo=b((Mm,Ko)=>{var _u=Es(),bu=fo(),xu=bo(),Iu=To(),ku=Bo(),wu=zo();function vu(t,e){return _u.register(t,e),bu.register(t,e),xu.register(t,e),Iu.register(t,e),ku.register(t,e),{domains:wu.register(t,e)}}Ko.exports={registerAll:vu}});var Yo=b((Bm,Wo)=>{var{CoderContext:Ho}=Kr(),{SHORTCUTS:Cu,isAgentName:$u,launchAgent:Su}=xt(),Tu=kn(),{version:Au}=ot(),Br=class{constructor(){this.vscodeExtensionService=new Tu}_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}=xs();return i(e.slice(1))}let r=this._leadingCompletionFlag(e);if(r){let i=this._readGlobalOptions(e),a=new Ho(i),{installCompletion:c,showCompletion:d}=Ss(),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 Ho(n),o=e[0];return o?Cu.has(o)&&$u(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 Su(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}=Jo(),o=new n;return o.name("coder").description("Coder \u2014 AI Agent Runtime OS\uFF08AI\u667A\u80FD\u4F53\u64CD\u4F5C\u7CFB\u7EDF\uFF09").version(Au,"-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}};Wo.exports=Br});var Eu=Yo(),{shouldSuppressUpdateNotice:Ou}=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 Du(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 Pu(){if(Ou())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&&Du(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 Uu(){let t=new Set(["pub","auth","update","skills","wiki","team"]),e=process.argv[2];e!=="__complete"&&(!e||!t.has(e))&&Pu(),process.env.CODER_NESTED="1";let r=new Eu;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)}}Uu().catch(t=>{console.error(`Startup error: ${t.message}`),process.exit(1)});