makecoder 4.1.13 → 4.1.14
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 +59 -59
- package/dist/darwin-arm64/cc.js +2 -2
- package/dist/darwin-x64/cc.js +2 -2
- package/dist/linux-arm64/cc.js +2 -2
- package/dist/linux-x64/cc.js +2 -2
- package/dist/win32-x64/cc.js +2 -2
- package/package.json +5 -5
package/dist/coder.js
CHANGED
|
@@ -1,63 +1,63 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
var gc=Object.create;var Wr=Object.defineProperty;var yc=Object.getOwnPropertyDescriptor;var _c=Object.getOwnPropertyNames;var wc=Object.getPrototypeOf,bc=Object.prototype.hasOwnProperty;var $=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(s){throw e=0,s}};var kc=(t,e,s,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of _c(e))!bc.call(t,n)&&n!==s&&Wr(t,n,{get:()=>e[n],enumerable:!(r=yc(e,n))||r.enumerable});return t};var xc=(t,e,s)=>(s=t!=null?gc(wc(t)):{},kc(e||!t||!t.__esModule?Wr(s,"default",{value:t,enumerable:!0}):s,t));var Qr=$((
|
|
2
|
+
var gc=Object.create;var Wr=Object.defineProperty;var yc=Object.getOwnPropertyDescriptor;var _c=Object.getOwnPropertyNames;var wc=Object.getPrototypeOf,bc=Object.prototype.hasOwnProperty;var $=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(s){throw e=0,s}};var kc=(t,e,s,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of _c(e))!bc.call(t,n)&&n!==s&&Wr(t,n,{get:()=>e[n],enumerable:!(r=yc(e,n))||r.enumerable});return t};var xc=(t,e,s)=>(s=t!=null?gc(wc(t)):{},kc(e||!t||!t.__esModule?Wr(s,"default",{value:t,enumerable:!0}):s,t));var Qr=$((Iy,Xr)=>{var at=require("fs"),Hr=require("path"),Ic=require("os"),Yr="https://api.makecoder.com/v1",$s=class{constructor(e={}){let s=process.env.CODER_PROFILE,r=s?`.coder.${s}`:".coder";this.configPath=Hr.join(Ic.homedir(),r,"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=Hr.dirname(this.configPath);try{return at.existsSync(e)||at.mkdirSync(e,{recursive:!0}),at.existsSync(this.configPath)||at.writeFileSync(this.configPath,JSON.stringify(this.defaultConfig,null,2)),JSON.parse(at.readFileSync(this.configPath,"utf8"))}catch{return{...this.defaultConfig}}}_writeConfig(e){try{return at.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 s=this.loadConfig();return s.auth={apikey:e},this._writeConfig(s)}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||Yr}getTeam(){return this.loadConfig().team||null}setTeam(e,s){let r=this.loadConfig();return e==null?delete r.team:r.team={id:e,name:s||""},this._writeConfig(r)}getMulticaBaseUrl(){return process.env.MULTICA_BASE_URL?process.env.MULTICA_BASE_URL:this.loadConfig().multicaBaseUrl||null}getTeamManual(){return!!this.loadConfig().team_manual}setTeamManual(e){let s=this.loadConfig();return e?s.team_manual=!0:delete s.team_manual,this._writeConfig(s)}requireApiKey(){return this.getApiKey()?!0:(this.fail("missing credentials","run `coder auth login --apikey <ak>.<sk>`"),!1)}emit(e){if(this.isJson){let s=typeof e=="string"?{message:e}:e;process.stdout.write(JSON.stringify({ok:!0,data:s})+`
|
|
3
3
|
`);return}typeof e=="string"?process.stdout.write(e+`
|
|
4
4
|
`):process.stdout.write(JSON.stringify(e,null,2)+`
|
|
5
5
|
`)}fail(e,s){if(this.isJson){let r={ok:!1,error:e};s&&(r.hint=s),process.stderr.write(JSON.stringify(r)+`
|
|
6
6
|
`);return}process.stderr.write(`Error: ${e}
|
|
7
7
|
`),s&&process.stderr.write(`Hint: ${s}
|
|
8
|
-
`)}};Xr.exports={CoderContext:$s,DEFAULT_BASE_URL:Yr}});var St=$((
|
|
9
|
-
`);sn.exports={CODER_RUNTIME_PROMPT:$c}});var nn=$((
|
|
8
|
+
`)}};Xr.exports={CoderContext:$s,DEFAULT_BASE_URL:Yr}});var St=$((Cy,tn)=>{var{spawn:Cc}=require("child_process"),$t=require("path"),en=require("fs"),Ss=class{constructor(e){this.config=e}findExecutablePath(){let e=$t.dirname(require.main.filename);for(let s of this.config.executablePaths){let r=$t.resolve(e,s);if(en.existsSync(r))return r}if(this.config.globalSubPath){let s=this._findGlobalMakecoderPath(this.config.globalSubPath);if(s)return s}throw new Error(`Could not find ${this.config.name||"executable"} in any of the configured paths: ${this.config.executablePaths.join(", ")}`)}_findGlobalMakecoderPath(e){let s=$t.dirname(process.execPath),r=[$t.join(s,"..","lib","node_modules","makecoder","dist",e),$t.join(s,"node_modules","makecoder","dist",e)];for(let n of r)if(en.existsSync(n))return n;return null}async launch(e={}){let{remainingArgs:s=[],coderBaseUrl:r,apikey:n=null,extraEnv:o={}}=e;try{let i=this.findExecutablePath();return process.env.CODER_DEBUG&&console.log(`executablePath: ${i}`),new Promise((a,c)=>{let l={...process.env,...this.config.environmentVariables(r),...o};n&&(l.CODER_APIKEY=n);let d=["--no-warnings"];process.env.CODER_INSPECT_BRK==="True"&&d.push("--inspect-brk"),d.push(i,...s);let u=Cc("node",d,{env:l,stdio:"inherit"});u.on("error",f=>{console.error(`Failed to start: ${f.message}`),c(f)}),u.on("exit",f=>a(f)),process.on("SIGINT",()=>{}),process.on("SIGTERM",()=>{u.kill("SIGTERM"),setTimeout(()=>{u.killed||u.kill("SIGKILL")},8e3)})})}catch(i){throw i}}};tn.exports=Ss});var Ts=$(($y,sn)=>{var $c=["# 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
|
+
`);sn.exports={CODER_RUNTIME_PROMPT:$c}});var nn=$((Sy,rn)=>{var Sc=require("fs"),{CODER_RUNTIME_PROMPT:As}=Ts(),Tc=new Set(["agents","auth","auto-mode","config","doctor","install","mcp","plugin","plugins","project","setup-token","ultrareview","update","upgrade"]);function Ac(t){for(let e of t){if(e==="--")break;if(!e.startsWith("-"))return Tc.has(e)}return!1}function Ec(t){let e=[...t];if(Ac(e))return e;let s=e.indexOf("--append-system-prompt");if(s!==-1&&s+1<e.length)return e[s+1]=`${As}
|
|
10
10
|
|
|
11
11
|
${e[s+1]}`,e;let r=e.indexOf("--append-system-prompt-file");if(r!==-1&&r+1<e.length){let n="";try{n=Sc.readFileSync(e[r+1],"utf8")}catch{return e}return e.splice(r,2,"--append-system-prompt",`${As}
|
|
12
12
|
|
|
13
|
-
${n}`),e}return[...e,"--append-system-prompt",As]}rn.exports={withRuntimePrompt:Ec}});var an=$((
|
|
14
|
-
`))}_getBunPlatformPackage(){let e=process.platform,s=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}-${s}`]||null}async launch(e={}){let{remainingArgs:s=[],coderBaseUrl:r,apikey:n=null,extraEnv:o={}}=e,i=this.findExecutablePath(),a=this._resolveBunPath();return process.env.CODER_DEBUG&&(console.log(`executablePath (bun): ${i}`),console.log(`bunPath: ${a}`)),new Promise((c,l)=>{let d={...process.env,...this.config.environmentVariables(r),CODER_EXECPATH:Tt.realpathSync(process.argv[1]),...o};n&&(d.CODER_APIKEY=n);let u=vc(s),f=Uc(a,[i,...u],{env:d,stdio:"inherit"});f.on("error",h=>{h.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: ${h.message}`),l(h)}),f.on("exit",h=>c(h)),process.on("SIGINT",()=>{}),process.on("SIGTERM",()=>{f.kill("SIGTERM"),setTimeout(()=>{f.killed||f.kill("SIGKILL")},8e3)})})}};on.exports=Es});var pn=$((
|
|
13
|
+
${n}`),e}return[...e,"--append-system-prompt",As]}rn.exports={withRuntimePrompt:Ec}});var an=$((Ty,on)=>{var Oc=St(),{spawn:Uc,execFileSync:Dc}=require("child_process"),Gt=require("path"),Tt=require("fs"),{withRuntimePrompt:vc}=nn(),Es=class extends Oc{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:s=>({ANTHROPIC_BASE_URL:`${s}/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:s,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",s=e?"bun.exe":"bun",r=process.env.HOME||process.env.USERPROFILE||"";try{return Dc(s,["--version"],{stdio:"ignore"}),s}catch{}if(r){let o=Gt.join(r,".bun","bin",s);if(Tt.existsSync(o))return o}if(r){let o=Gt.join(r,".local","bin",s);if(Tt.existsSync(o))return o}try{let o=require.resolve(`bun/${e?"bin/bun.exe":"bin/bun"}`);if(Tt.existsSync(o))return o}catch{}let n=this._getBunPlatformPackage();if(n)try{let o=Gt.dirname(require.resolve(`${n}/package.json`)),i=Gt.join(o,"bin",s);if(Tt.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,s=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}-${s}`]||null}async launch(e={}){let{remainingArgs:s=[],coderBaseUrl:r,apikey:n=null,extraEnv:o={}}=e,i=this.findExecutablePath(),a=this._resolveBunPath();return process.env.CODER_DEBUG&&(console.log(`executablePath (bun): ${i}`),console.log(`bunPath: ${a}`)),new Promise((c,l)=>{let d={...process.env,...this.config.environmentVariables(r),CODER_EXECPATH:Tt.realpathSync(process.argv[1]),...o};n&&(d.CODER_APIKEY=n);let u=vc(s),f=Uc(a,[i,...u],{env:d,stdio:"inherit"});f.on("error",h=>{h.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: ${h.message}`),l(h)}),f.on("exit",h=>c(h)),process.on("SIGINT",()=>{}),process.on("SIGTERM",()=>{f.kill("SIGTERM"),setTimeout(()=>{f.killed||f.kill("SIGKILL")},8e3)})})}};on.exports=Es});var pn=$((Ay,un)=>{var{execFileSync:cn,spawnSync:At}=require("child_process"),J=require("path"),q=require("fs"),ln=require("os"),Pc=require("crypto"),Rc=["opus4.8","claude-opus-4-7","claude-sonnet-4-6","claude-haiku-4-5-20251001"],Vt="/Applications/Claude.app",jc=`${Vt}/Contents/Resources/app.asar`,dn="https://cdn.makecoder.com/cdnuploads/claude-app/Claude.dmg",Os=class{constructor(){this.name="Claude Desktop (3p)",this.userData=J.join(ln.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:s=[],coderBaseUrl:r,apikey:n=null}=e,o=(s[0]||"setup").toLowerCase();try{if(o==="restore")return this._restore();if(o==="status")return this._status();if(o==="setup"){if(!q.existsSync(Vt)){let i=this._ensureClaudeAppInstalled();if(i!==0)return i}return await this._setup(r,n)}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,s){if(!s)return console.error("\u7F3A\u5C11 API Key\u3002\u8BF7\u5148 `coder auth login` \u6216\u7528 --apikey \u63D0\u4F9B\u3002"),1;let r=this._detectRequiredVersion();if(!r)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:n,entry:o}=this._resolveCoderEntry();return console.log("\u6B63\u5728\u914D\u7F6E Claude Desktop\u2026"),this._quitApp(),this._backupOnce(),this._writeDeploymentMode(),this._writeGatewayConfig(e,s),this._installShim(r,{exec:n,entry:o,apikey:s,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(ln.tmpdir(),`claude-app-${process.pid}-${Date.now()}.dmg`),s=null;try{if(At("curl",["-fL","--retry","2","-o",e,dn],{stdio:process.env.CODER_DEBUG?"inherit":["ignore","ignore","inherit"]}).status!==0||!q.existsSync(e))return console.error(`\u4E0B\u8F7D Claude \u5B89\u88C5\u5305\u5931\u8D25\uFF08${dn}\uFF09\u3002`),1;let n=At("hdiutil",["attach",e,"-nobrowse","-readonly"],{encoding:"utf8"});if(n.status!==0)return console.error("\u6302\u8F7D Claude \u5B89\u88C5\u5305\u5931\u8D25\u3002"),1;let o=n.stdout.match(/(\/Volumes\/[^\n]+)\s*$/m);if(s=o?o[1].trim():null,!s)return console.error("\u65E0\u6CD5\u89E3\u6790 DMG \u6302\u8F7D\u70B9\u3002"),1;let i=J.join(s,"Claude.app");return q.existsSync(i)?At("ditto",[i,Vt],{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{s&&At("hdiutil",["detach",s,"-quiet"],{stdio:"ignore"});try{q.rmSync(e,{force:!0})}catch{}}}_detectRequiredVersion(){try{let s=q.readFileSync(jc).toString("latin1").match(/"version":"([0-9][0-9.]*)","manifest"/);return s?s[1]:null}catch(e){return process.env.CODER_DEBUG&&console.error(`[claude app] \u8BFB\u53D6 asar \u5931\u8D25: ${e.message}`),null}}_resolveCoderEntry(){let e=q.realpathSync(process.execPath),s=q.realpathSync(process.argv[1]);return process.env.CODER_DEBUG&&(console.log(`[claude app] exec=${e}`),console.log(`[claude app] entry=${s}`)),{exec:e,entry:s}}_backupOnce(){q.existsSync(this.backupDir)||q.existsSync(this.userData)&&(q.cpSync(this.userData,this.backupDir,{recursive:!0}),process.env.CODER_DEBUG&&console.log(`[claude app] \u5DF2\u5907\u4EFD -> ${this.backupDir}`))}_writeDeploymentMode(){q.mkdirSync(this.userData,{recursive:!0});let e=J.join(this.userData,"claude_desktop_config.json"),s={};try{s=JSON.parse(q.readFileSync(e,"utf8"))}catch{}s.deploymentMode="3p",q.writeFileSync(e,JSON.stringify(s,null,2))}_writeGatewayConfig(e,s){let r=J.join(this.userData,"configLibrary");q.mkdirSync(r,{recursive:!0});let n=Pc.randomUUID().toLowerCase(),o={inferenceProvider:"gateway",inferenceCredentialKind:"static",inferenceGatewayBaseUrl:`${e}/claude`,inferenceGatewayAuthScheme:"x-api-key",inferenceGatewayApiKey:s,modelDiscoveryEnabled:!1,inferenceModels:Rc};q.writeFileSync(J.join(r,`${n}.json`),JSON.stringify(o,null,2)),q.writeFileSync(J.join(r,"_meta.json"),JSON.stringify({appliedId:n,entries:[{id:n,name:"Coder Gateway"}]},null,2)),process.env.CODER_DEBUG&&console.log(`[claude app] gateway \u914D\u7F6E uuid=${n}`)}_resolveShimBinary(){let e=`darwin-${process.arch}`,s=J.join(e,"ccd-shim"),r=require.main&&require.main.filename&&J.dirname(require.main.filename)||__dirname,n=[J.resolve(r,s),J.resolve(r,"../dist",s),J.resolve(__dirname,"../../../dist",s)],o=J.dirname(process.execPath);n.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 n)if(q.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:s,entry:r,apikey:n,coderBaseUrl:o}){let i=this._resolveShimBinary(),a=this._shimInstallDir(e);q.mkdirSync(a,{recursive:!0});let c=J.join(a,"claude");q.copyFileSync(i,c),q.chmodSync(c,493);let l=`exec=${s}
|
|
15
15
|
entry=${r}
|
|
16
16
|
apikey=${n}
|
|
17
17
|
baseurl=${o}
|
|
18
18
|
`;q.writeFileSync(`${c}.conf`,l),q.writeFileSync(J.join(this.userData,"claude-code",e,".verified"),""),process.env.CODER_DEBUG&&console.log(`[claude app] shim \u5B89\u88C5 -> ${c}`)}_quitApp(){try{cn("osascript",["-e",'quit app "Claude"'],{stdio:"ignore"})}catch{}At("sleep",["2"])}_openApp(){try{cn("open",["-a","Claude"],{stdio:"ignore"})}catch(e){console.error(`\u65E0\u6CD5\u542F\u52A8 Claude\uFF1A${e.message}\uFF08\u8BF7\u624B\u52A8\u6253\u5F00\uFF09`)}}_restore(){return q.existsSync(this.backupDir)?(this._quitApp(),q.rmSync(this.userData,{recursive:!0,force:!0}),q.cpSync(this.backupDir,this.userData,{recursive:!0}),q.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(),s=null;try{s=JSON.parse(q.readFileSync(J.join(this.userData,"claude_desktop_config.json"),"utf8")).deploymentMode}catch{}let r=null;try{let i=JSON.parse(q.readFileSync(J.join(this.userData,"configLibrary","_meta.json"),"utf8"));r=JSON.parse(q.readFileSync(J.join(this.userData,"configLibrary",`${i.appliedId}.json`),"utf8")).inferenceGatewayBaseUrl}catch{}let n=e&&q.existsSync(J.join(this._shimInstallDir(e),"claude.conf"));return s==="3p"&&r&&n?(console.log("\u2705 Claude Desktop \u5DF2\u63A5\u5165 coder"),console.log(` API: ${r}`)):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: ${
|
|
19
|
+
[debug]`),console.log(` claude.app: ${Vt}`),console.log(` requiredVersion: ${e||"(\u63A2\u6D4B\u5931\u8D25)"}`),console.log(` deploymentMode: ${s||"(\u672A\u8BBE\u7F6E)"}`),console.log(` gateway baseUrl: ${r||"(\u65E0)"}`),console.log(` shim installed: ${n?"yes":"no"}`),console.log(` backup: ${q.existsSync(this.backupDir)?"yes":"no"}`)),0}};un.exports=Os});var fn=$((Ey,mn)=>{var qc=St(),Us=class extends qc{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"})})}};mn.exports=Us});var Jt=$((Oy,hn)=>{var{CODER_RUNTIME_PROMPT:Nc}=Ts(),Lc={"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 Mc(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=${Nc}`]}hn.exports={PLATFORM_PACKAGE:Lc,buildConfigOverrides:Mc}});var yn=$((Uy,gn)=>{var Zc=St(),{buildConfigOverrides:Bc}=Jt(),Ds=class extends Zc{constructor(){super({name:"Codex",executablePaths:["codex.mjs","../dist/codex.mjs"],globalSubPath:"codex.mjs",environmentVariables:()=>({CODEX_DISABLE_WEBSOCKET:"1"})})}async launch(e={}){let{remainingArgs:s=[],coderBaseUrl:r}=e,n=Bc(r);return await super.launch({...e,remainingArgs:[...n,...s]})}};gn.exports=Ds});var bn=$((Dy,wn)=>{var{execFileSync:_n}=require("child_process"),Fc=require("os"),ye=require("path"),je=require("fs"),Gc=St(),{buildConfigOverrides:Vc}=Jt(),Jc={arm64:"https://cdn.makecoder.com/cdnuploads/codex-app/Codex.dmg",x64:"https://cdn.makecoder.com/cdnuploads/codex-app/Codex-latest-x64.dmg"},zc=5e3,vs=class extends Gc{constructor(){super({name:"Codex",executablePaths:["codex.mjs","../dist/codex.mjs"],globalSubPath:"codex.mjs",environmentVariables:()=>({CODEX_DISABLE_WEBSOCKET:"1"})})}async launch(e={}){let{remainingArgs:s=[],coderBaseUrl:r,apikey:n=null}=e,o=Vc(r),i=this._injectDesktopEnv(n,r),a=this._withDownloadUrlMirror(s);try{return await super.launch({...e,remainingArgs:[...o,...a]})}finally{i&&(await new Promise(c=>setTimeout(c,zc)),this._removeDesktopEnv(i))}}_withDownloadUrlMirror(e){if(process.platform!=="darwin"||e.includes("--download-url"))return e;let s=Jc[process.arch];return s?(process.env.CODER_DEBUG&&console.log(`[codex app] \u6CE8\u5165 --download-url ${s}`),[...e,"--download-url",s]):e}_resolveShimBinary(){let e=`darwin-${process.arch}`,s=ye.join(e,"cdx-shim"),r=require.main&&require.main.filename&&ye.dirname(require.main.filename)||__dirname,n=[ye.resolve(r,s),ye.resolve(r,"../dist",s),ye.resolve(__dirname,"../../../dist",s)],o=ye.dirname(process.execPath);n.push(ye.join(o,"..","lib","node_modules","makecoder","dist",e,"cdx-shim"),ye.join(o,"node_modules","makecoder","dist",e,"cdx-shim"));for(let i of n)if(je.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:je.realpathSync(process.execPath),entry:je.realpathSync(process.argv[1])}}_installShim({apikey:e,coderBaseUrl:s}){let r=this._resolveShimBinary(),{exec:n,entry:o}=this._resolveCoderEntry(),i=process.env.CODER_PROFILE,a=i?`.coder.${i}`:".coder",c=ye.join(Fc.homedir(),a,"codex-app");je.mkdirSync(c,{recursive:!0,mode:448});let l=ye.join(c,"cdx-shim");je.copyFileSync(r,l),je.chmodSync(l,493);let d=`exec=${n}
|
|
20
20
|
entry=${o}
|
|
21
21
|
apikey=${e||""}
|
|
22
22
|
baseurl=${s||""}
|
|
23
|
-
`;return je.writeFileSync(`${l}.conf`,d,{mode:384}),process.env.CODER_DEBUG&&(console.log(`[codex app] cdx-shim \u5DF2\u5B89\u88C5: ${l}`),console.log(`[codex app] exec=${n} entry=${o}`)),l}_injectDesktopEnv(e,s){if(process.platform!=="darwin")return null;let r;try{r=this._installShim({apikey:e,coderBaseUrl:s})}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 n={CODEX_CLI_PATH:r};e&&(n.CODER_APIKEY=e);let o=[];for(let[i,a]of Object.entries(n))try{_n("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: ${r})`),o.length?o:null}_removeDesktopEnv(e){for(let s of e)try{_n("launchctl",["unsetenv",s],{stdio:"ignore"})}catch(r){process.env.CODER_DEBUG&&console.log(`[codex app] launchctl unsetenv ${s} \u5931\u8D25: ${r.message}`)}}};wn.exports=vs});var
|
|
24
|
-
`).map(c=>c.trim());s(a.includes(this.extensionId))}else s(!1)}),n.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)),s(!1)}),setTimeout(()=>{try{n.kill()}catch{}s(!1)},1e4)}catch(r){process.env.CODER_DEBUG&&console.error("Failed to spawn VSCode list extensions:",r.message),s(!1)}})}catch{return!1}}async executeVSCodeCommand(e,s={}){let r=await this.resolveCodeCommand();return new Promise(n=>{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: ${r} ${e.join(" ")}`);let i=Sn(r,e,o);i.on("close",c=>{n(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)),n(!1)});let a=s.timeout||3e4;setTimeout(()=>{try{i.kill()}catch{}n(!1)},a)}catch(o){process.env.CODER_DEBUG&&console.error("Failed to spawn VSCode command:",o.message),n(!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)}}};Tn.exports=Ps});var ct=$((
|
|
23
|
+
`;return je.writeFileSync(`${l}.conf`,d,{mode:384}),process.env.CODER_DEBUG&&(console.log(`[codex app] cdx-shim \u5DF2\u5B89\u88C5: ${l}`),console.log(`[codex app] exec=${n} entry=${o}`)),l}_injectDesktopEnv(e,s){if(process.platform!=="darwin")return null;let r;try{r=this._installShim({apikey:e,coderBaseUrl:s})}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 n={CODEX_CLI_PATH:r};e&&(n.CODER_APIKEY=e);let o=[];for(let[i,a]of Object.entries(n))try{_n("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: ${r})`),o.length?o:null}_removeDesktopEnv(e){for(let s of e)try{_n("launchctl",["unsetenv",s],{stdio:"ignore"})}catch(r){process.env.CODER_DEBUG&&console.log(`[codex app] launchctl unsetenv ${s} \u5931\u8D25: ${r.message}`)}}};wn.exports=vs});var Kt=$((vy,Cn)=>{var Kc=an(),Wc=pn(),Hc=fn(),Yc=yn(),Xc=bn();function kn(){let t=new Kc;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 zt={claude:{aliases:["claude"],description:"Claude Code \u667A\u80FD\u4F53\uFF08\u9ED8\u8BA4\uFF09",create:kn,mapArgs:t=>t},"claude-app":{aliases:["claude-app"],description:"\u914D\u7F6E Claude Desktop\uFF08macOS\uFF09\u8D70 coder API\uFF1Asetup|restore|status",create:()=>new Wc,mapArgs:t=>t},codex:{aliases:["codex"],description:"OpenAI Codex \u667A\u80FD\u4F53",create:()=>new Yc,mapArgs:t=>t},"codex-app":{aliases:["codex-app"],description:"\u914D\u7F6E Codex Desktop\uFF08macOS\uFF09\u8D70 coder API",create:()=>new Xc,mapArgs:t=>["app",...t]},gemini:{aliases:["gemini"],description:"Gemini \u667A\u80FD\u4F53",create:()=>new Hc,mapArgs:t=>t}},xn=Object.keys(zt),Qc=new Set(["claude","codex","gemini"]);function el(t){return Object.prototype.hasOwnProperty.call(zt,t)}function In(t){return zt[t]||null}async function tl(t,e,s){let r=In(t);return r?await r.create().launch({remainingArgs:r.mapArgs(e),coderBaseUrl:s.getCoderBaseUrl(),apikey:s.getApiKey()}):(s.fail(`unknown agent: ${t}`,`available: ${xn.join(" | ")}`),1)}Cn.exports={AGENTS:zt,AGENT_NAMES:xn,SHORTCUTS:Qc,isAgentName:el,getAgent:In,launchAgent:tl,createClaudeLauncher:kn}});var An=$((Py,Tn)=>{var Et=require("fs"),$n=require("path"),{spawn:Sn}=require("child_process"),Ps=class{constructor(){this.extensionId="codev.codev-background";let e=require.main?$n.dirname(require.main.filename):__dirname;this.extensionPath=$n.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(Et.existsSync(e))try{return Et.accessSync(e,Et.constants.F_OK|Et.constants.X_OK),this._codeCommand=e,process.env.CODER_DEBUG&&console.log(`Using AI Studio VSCode path: ${e}`),this._codeCommand}catch(s){process.env.CODER_DEBUG&&console.log(`AI Studio path exists but not executable: ${s.message}`)}else process.env.CODER_DEBUG&&console.log(`AI Studio path not found: ${e}`)}try{let{spawn:e}=require("child_process");return new Promise(s=>{let r=e("which",["code"],{stdio:["ignore","pipe","ignore"]}),n="";r.stdout.on("data",o=>{n+=o.toString().trim()}),r.on("close",o=>{o===0&&n?(this._codeCommand=n,process.env.CODER_DEBUG&&console.log(`Resolved code command path: ${n}`),s(this._codeCommand)):(this._codeCommand="code",s(this._codeCommand))}),r.on("error",()=>{this._codeCommand="code",s(this._codeCommand)}),setTimeout(()=>{r.kill(),this._codeCommand="code",s(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):!!Et.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"],s=await this.executeVSCodeCommand(e,{timeout:1e4});if(process.env.CODER_DEBUG&&(console.log(`VSCode availability check (${e.join(" ")}): ${s?"available":"unavailable"}`),process.env.IS_AISTUDIO==="True")){let{spawn:r}=require("child_process");try{r("which",["code"],{stdio:["ignore","pipe","ignore"]}).stdout.on("data",o=>{console.log("which code:",o.toString().trim())})}catch(n){console.log("which command failed:",n.message)}}return s}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(s=>{try{let r={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 n=Sn(e,["--list-extensions"],r),o="";n.stdout.on("data",i=>{o+=i.toString()}),n.on("close",i=>{if(i===0){let a=o.split(`
|
|
24
|
+
`).map(c=>c.trim());s(a.includes(this.extensionId))}else s(!1)}),n.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)),s(!1)}),setTimeout(()=>{try{n.kill()}catch{}s(!1)},1e4)}catch(r){process.env.CODER_DEBUG&&console.error("Failed to spawn VSCode list extensions:",r.message),s(!1)}})}catch{return!1}}async executeVSCodeCommand(e,s={}){let r=await this.resolveCodeCommand();return new Promise(n=>{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: ${r} ${e.join(" ")}`);let i=Sn(r,e,o);i.on("close",c=>{n(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)),n(!1)});let a=s.timeout||3e4;setTimeout(()=>{try{i.kill()}catch{}n(!1)},a)}catch(o){process.env.CODER_DEBUG&&console.error("Failed to spawn VSCode command:",o.message),n(!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)}}};Tn.exports=Ps});var ct=$((Ry,sl)=>{sl.exports={name:"makecoder",version:"4.1.14",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 On=$((jy,En)=>{var Rs=require("crypto"),{URL:rl}=require("url"),js=class{static generateSignature(e,s,r,n){try{let o=new rl(e),i=Buffer.from(o.pathname),a=Buffer.from(i),c=s?typeof s=="string"?Buffer.from(s):Buffer.from(JSON.stringify(s)):Buffer.alloc(0),l=Buffer.concat([a,c,Buffer.from(n)]),d=Rs.createHmac("sha256",r);return d.update(l),d.digest("hex")}catch(o){throw new Error(`Failed to generate signature: ${o.message}`)}}static validateSignature(e,s,r,n,o){return this.generateSignature(e,s,r,n)===o}static generateTimestamp(){return Date.now().toString()}static generateStrongPassword(e=16){let s="abcdefghijkmnpqrstuvwxyz",r="ABCDEFGHJKLMNPQRSTUVWXYZ",n="23456789",o="!@#$%^&*-_=+",i=s+r+n+o;e<8&&(e=8);let a=l=>l[Rs.randomBytes(1)[0]%l.length],c=[a(s),a(r),a(n),a(o)];for(;c.length<e;)c.push(a(i));for(let l=c.length-1;l>0;l--){let d=Rs.randomBytes(1)[0]%(l+1);[c[l],c[d]]=[c[d],c[l]]}return c.join("")}};En.exports=js});var Wt=$((qy,vn)=>{var nl=require("https"),{URL:ol}=require("url"),Un="https://makecoder.com/bigapis/auth/v1",il="https://makecoder.com/bigapis/kbb2/v1",al="https://makecoder.com/wiki/api",qs=class{constructor(e){this.token=e}request(e,s,r,n){return new Promise((o,i)=>{let a=n||Un,c=new ol(`${a}${s}`),l={"Content-Type":"application/json",Authorization:`Bearer ${this.token}`},d=null;r!=null&&(d=JSON.stringify(r),l["Content-Length"]=Buffer.byteLength(d));let u=nl.request({hostname:c.hostname,port:c.port||443,path:c.pathname+c.search,method:e,headers:l},f=>{let h="";f.on("data",y=>h+=y),f.on("end",()=>o({status:f.statusCode,body:h}))});u.on("error",i),d&&u.write(d),u.end()})}};function Dn(t){try{return JSON.parse(t)}catch{return null}}function cl(t){return t===401?2:t===403?5:t===404?4:t===409?6:1}function ll(t){let e=Dn(t);return e?.message?e.message:e?.error?e.error:(t||"").slice(0,200)||"\u8BF7\u6C42\u5931\u8D25"}vn.exports={TeamHttp:qs,parseJson:Dn,exitCodeForStatus:cl,errorMessage:ll,API_BASE:Un,BIGKBB_BASE:il,WIKI_API_BASE:al}});var Rn=$((Ny,Pn)=>{var Ns=t=>String(t??"").replace(/\|/g,"\\|").replace(/\n/g," ");function dl(t,e,s={}){let{labels:r={},empty:n="\uFF08\u7A7A\uFF09"}=s;if(!e||!e.length){t.emit(n);return}if(t.isJson){t.emit(e);return}let o=Object.keys(e[0]),a=[`| ${o.map(c=>r[c]||c).map(Ns).join(" | ")} |`,`| ${o.map(()=>"---").join(" | ")} |`,...e.map(c=>`| ${o.map(l=>Ns(c[l])).join(" | ")} |`)];t.emit(a.join(`
|
|
25
25
|
`))}function ul(t,e,s=null){if(t.isJson){let r={};for(let[n,o]of e)r[n]=o;s&&typeof s=="object"&&Object.assign(r,s),t.emit(r);return}t.emit(e.map(([r,n,o])=>`${o||r}: ${n??""}`).join(`
|
|
26
|
-
`))}Pn.exports={emitTable:dl,emitDetails:ul,escCell:Ns}});var Ln=$((
|
|
26
|
+
`))}Pn.exports={emitTable:dl,emitDetails:ul,escCell:Ns}});var Ln=$((My,Nn)=>{var{TeamHttp:Ly,parseJson:pl,exitCodeForStatus:ml,errorMessage:fl,BIGKBB_BASE:hl,WIKI_API_BASE:gl}=Wt();function qe(t,e,s,r=1){t.fail(e,s);let n=new Error("__handled__");throw n.handled=!0,n.code=r,n}function jn(t,e){qe(t,fl(e.body),yl(e.status),ml(e.status))}function yl(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 qn(t,e){if(e)return e;let s=t.ctx.getTeam?t.ctx.getTeam():null;return s&&s.id?s.id:null}function _l(t,e){let s=qn(t,e);return s||qe(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),s}async function wl(t,e){let s=encodeURIComponent(JSON.stringify({id__in:[e]})),r;try{r=await t.http.request("GET",`/team?constraints=${s}`)}catch(i){qe(t.ctx,`\u7F51\u7EDC\u9519\u8BEF ${i.message}`,void 0,1)}r.status!==200&&jn(t.ctx,r);let n=pl(r.body),o=n&&n.data&&n.data.items||[];return o.length||qe(t.ctx,`\u56E2\u961F ${e} \u4E0D\u5B58\u5728`,"\u8FD0\u884C coder team list \u67E5\u770B\u53EF\u7528\u56E2\u961F",4),o[0]}function bl(t){return Array.isArray(t.members)?t.members:[]}function kl(t,e,s,r){let n=e.find(o=>o.user_id===s||o.id===s||o.username===s);return n||qe(t.ctx,`\u6210\u5458 '${s}' \u4E0D\u5728\u56E2\u961F '${r||""}' \u4E2D`,"\u8FD0\u884C coder team members \u67E5\u770B\u6210\u5458\uFF0Cuser_id / username \u5747\u53EF",4),n}function xl(t,e){return e?t.filter(s=>s.user_type===e):t}function Il(t,e){e&&e!=="human"&&e!=="ai"&&qe(t.ctx,`--type \u4EC5\u652F\u6301 human \u6216 ai\uFF0C\u6536\u5230 '${e}'`,void 0,3)}function Cl(t,e){let s=t.config&&t.config.metadata&&t.config.metadata.created_by;if(!s)return"";let r=e.find(n=>n.user_id===s);return r?r.nickname?`${r.username}(${r.nickname})`:r.username:s}function $l(t){return t==="mentor"?"admin":"member"}async function Sl(t,e,s){try{let r=await t.http.request("POST",`/${e}`,s,gl);(r.status<200||r.status>=300)&&process.stderr.write(`Warning: \u77E5\u8BC6\u5E93\u540C\u6B65\u5931\u8D25 (${e}): HTTP ${r.status}
|
|
27
27
|
`)}catch(r){process.stderr.write(`Warning: \u77E5\u8BC6\u5E93\u540C\u6B65\u5931\u8D25 (${e}): ${r.message}
|
|
28
|
-
`)}}Nn.exports={abort:qe,abortOnHttp:jn,resolveTeamId:qn,requireTeamId:_l,fetchTeam:wl,teamMembers:bl,findMember:kl,filterMembersByType:xl,validateType:Il,resolveMentorUsername:Cl,toWikiGroupRole:$l,wikiSync:Sl,BIGKBB_BASE:hl}});var Ms=$((
|
|
29
|
-
`));return 10}async function vl(t){let e=encodeURIComponent(JSON.stringify({filter_is_joined:!0})),s=await re(t,"GET",`/team?constraints=${e}&page=1&size=200`);s.status!==200&&te(t.ctx,s);let r
|
|
28
|
+
`)}}Nn.exports={abort:qe,abortOnHttp:jn,resolveTeamId:qn,requireTeamId:_l,fetchTeam:wl,teamMembers:bl,findMember:kl,filterMembersByType:xl,validateType:Il,resolveMentorUsername:Cl,toWikiGroupRole:$l,wikiSync:Sl,BIGKBB_BASE:hl}});var Ms=$((Zy,Vn)=>{var Ot=require("fs"),Ne=require("path"),Tl=On(),{parseJson:$e}=Wt(),{emitTable:Ht,emitDetails:ie}=Rn(),{abort:R,abortOnHttp:te,requireTeamId:Mn,fetchTeam:_e,teamMembers:we,findMember:lt,filterMembersByType:Al,validateType:El,resolveMentorUsername:Zn,toWikiGroupRole:Bn,wikiSync:dt,BIGKBB_BASE:Ol}=Ln(),K=(t,e)=>{let s=t.indexOf(e);return s!==-1?t[s+1]:void 0},Fn=(t,...e)=>{for(let s of e){let r=K(t,s);if(r!==void 0)return r}},Ut=(t,...e)=>t.some(s=>e.includes(s));function Yt(t,{boolFlags:e=[],valueFlags:s=[]}={}){let r=[];for(let n=0;n<t.length;n++){let o=t[n];if(!e.includes(o)){if(s.includes(o)){n++;continue}o&&o.startsWith("--")||r.push(o)}}return r}function se(t){return Mn(t,K(t.args,"--team"))}async function re(t,e,s,r,n){try{return await t.http.request(e,s,r,n)}catch(o){R(t.ctx,`\u7F51\u7EDC\u9519\u8BEF ${o.message}`,void 0,1)}}var Le={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 Ul(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:Zn(t,e),points:t.points==null?"\u221E":String(t.points),joined_at:(t.created_at||"").slice(0,10)}}function Dl(t){return[...t].sort((e,s)=>{let r=e.user_type==="ai"?0:1,n=s.user_type==="ai"?0:1;return r!==n?r-n:(e.username||"").localeCompare(s.username||"")})}function Ls(t,e){if(t.ctx.isJson){let s={pending_confirmation:!0};for(let[r,n]of e)s[r]=n;t.ctx.emit(s)}else t.ctx.emit(e.map(([s,r,n])=>`${n||Le[s]||s}: ${r??""}`).join(`
|
|
29
|
+
`));return 10}async function vl(t){let e=encodeURIComponent(JSON.stringify({filter_is_joined:!0})),s=await re(t,"GET",`/team?constraints=${e}&page=1&size=200`);s.status!==200&&te(t.ctx,s);let r=$e(s.body);(!r||!r.data)&&R(t.ctx,"\u54CD\u5E94\u89E3\u6790\u5931\u8D25",void 0,1);let n=r.data.items||[];return Ht(t.ctx,n.map(o=>({id:o.id||"",name:o.name||"",members:(o.members_count??o.member_count??"")+"",points:o.points!=null?String(o.points):""})),{labels:Le,empty:"\u4F60\u8FD8\u6CA1\u6709\u52A0\u5165\u4EFB\u4F55\u56E2\u961F"}),0}async function Pl(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):(ie(t.ctx,[["name",e.name||"","\u9ED8\u8BA4\u56E2\u961F"],["id",e.id,"teamId"]]),0)}async function Rl(t){let e=t.arg;e||R(t.ctx,"\u7F3A\u5C11 teamId \u53C2\u6570","\u7528\u6CD5: coder team use <teamId>",3);let s=encodeURIComponent(JSON.stringify({filter_is_joined:!0})),r=await re(t,"GET",`/team?constraints=${s}&page=1&size=200`);r.status!==200&&te(t.ctx,r);let n=$e(r.body),i=(n&&n.data&&n.data.items||[]).find(a=>a.id===e);return i||R(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||"")||R(t.ctx,"\u5199\u5165\u914D\u7F6E\u5931\u8D25",void 0,1),t.ctx.setTeamManual(!0),ie(t.ctx,[["name",i.name||"","\u5DF2\u5207\u6362\u9ED8\u8BA4\u56E2\u961F"],["id",i.id,"teamId"]]),0}async function jl(t){let e=Mn(t,t.arg||K(t.args,"--team")),s=await _e(t,e),r=we(s),n=r.filter(i=>i.user_type==="ai").length,o=r.filter(i=>i.user_type==="human").length;return ie(t.ctx,[["team",`${s.name} (${s.id})`,"\u56E2\u961F"],["description",s.description||"","\u63CF\u8FF0"],["points",s.points??"","\u79EF\u5206"],["points_expire_at",s.points_expire_at||"","\u79EF\u5206\u6709\u6548\u671F"],["active",s.is_active?"yes":"no","\u6FC0\u6D3B"],["members",`${r.length} (ai=${n}, human=${o})`,"\u6210\u5458"]],t.ctx.isJson?{id:s.id,name:s.name,members_total:r.length,members_ai:n,members_human:o}:null),0}async function ql(t){let e=K(t.args,"--type")||null;El(t,e);let s=Fn(t.args,"-q","--query")||null,r=se(t),n=await _e(t,r),o=we(n),i=Al(o,e);if(s){let c=s.toLowerCase();i=i.filter(l=>[l.username,l.user_id,l.id,l.nickname,l.introduction].map(d=>(d||"").toLowerCase()).some(d=>d.includes(c)))}let a=s?`\u672A\u5339\u914D\u5230 '${s}'`:e?`\u65E0 ${e} \u7C7B\u578B\u6210\u5458`:"\u56E2\u961F\u6682\u65E0\u6210\u5458";return Ht(t.ctx,Dl(i).map(c=>Ul(c,o)),{labels:Le,empty:a}),0}async function Nl(t){let e=t.arg;e||R(t.ctx,"\u7F3A\u5C11 userId|username \u53C2\u6570","\u7528\u6CD5: coder team members info <userId|username>",3);let s=se(t),r=await _e(t,s),n=we(r),o=lt(t,n,e,r.name);return ie(t.ctx,[["username",o.username||""],["user_id",o.user_id||""],["type",o.user_type||""],["role",o.role||""],["nickname",o.nickname||""],["introduction",o.introduction||""],["mentor",Zn(o,n)],["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,Le[i]]),t.ctx.isJson?o:null),0}function Ll(t){let e=Ne.resolve(t);for((!Ot.existsSync(e)||!Ot.statSync(e).isDirectory())&&(e=Ne.dirname(e));e&&e!==Ne.dirname(e);){if(Ot.existsSync(Ne.join(e,".git")))return!0;e=Ne.dirname(e)}return!1}async function Ml(t){let e=K(t.args,"--type")||"human";e!=="human"&&e!=="ai"&&R(t.ctx,`--type \u4EC5\u652F\u6301 human \u6216 ai\uFF0C\u6536\u5230 '${e}'`,void 0,3);let s=K(t.args,"--password")||null,r=K(t.args,"--phone")||null,n=K(t.args,"--points"),o=K(t.args,"--save-to")||null,i=K(t.args,"--nickname")||null,a=K(t.args,"--mentor")||null,c=t.arg;c||R(t.ctx,"\u7F3A\u5C11 username \u53C2\u6570","\u7528\u6CD5: coder team members create <username> [...]",3);let l=se(t);if(e==="human"&&!r&&R(t.ctx,"\u521B\u5EFA human \u6210\u5458\u5FC5\u987B\u63D0\u4F9B --phone <phone>",void 0,3),o){let k=Ne.resolve(o);Ll(k)&&R(t.ctx,`--save-to \u8DEF\u5F84\u5728 git \u4ED3\u5E93\u5185\uFF08${k}\uFF09`,"\u6362\u5230\u4ED3\u5E93\u5916\u7684\u8DEF\u5F84\uFF0C\u907F\u514D\u51ED\u636E\u88AB\u8BEF\u63D0\u4EA4",3)}let d=null;if(n!=null){let k=Number(n);Number.isFinite(k)||R(t.ctx,`--points \u5E94\u4E3A\u6570\u5B57\uFF0C\u6536\u5230 '${n}'`,void 0,3),d=k}let u=s||Tl.generateStrongPassword(16),f=!s,h={payload:{username:c,password:u,phone:r||null,team_id:l,points:d,user_type:e,...i?{nickname:i}:{},...e==="ai"&&a?{config:{metadata:{created_by:a}}}:{}},auto_login:!1,auth_name:"UserPass"},y=await re(t,"POST","/users",h);(y.status<200||y.status>=300)&&te(t.ctx,y);let A=null;if(o){let k=Ne.resolve(o),S=`# Coder team member credentials
|
|
30
30
|
# Created: ${new Date().toISOString()}
|
|
31
31
|
username: ${c}
|
|
32
32
|
password: ${u}
|
|
33
33
|
team_id: ${l}
|
|
34
34
|
type: ${e}
|
|
35
|
-
`;try{Ot.writeFileSync(k,S,{mode:384});try{Ot.chmodSync(k,384)}catch{}A=k}catch(
|
|
36
|
-
`)}}return ie(t.ctx,[["username",c,"\u7528\u6237\u540D"],["password",`${u}${f?" (\u968F\u673A\u751F\u6210\uFF0C\u8BF7\u59A5\u5584\u4FDD\u7BA1)":""}`,"\u5BC6\u7801"],["team_id",l,"teamId"],["type",e,"\u7C7B\u578B"],["nickname",i||"","\u6635\u79F0"],["mentor",a||"","\u5BFC\u5E08"],["credentials",A?`\u5DF2\u4FDD\u5B58\u5230 ${A} (mode 0600)\uFF0C\u5EFA\u8BAE\u52A0\u5165 .gitignore`:"\u4EE5\u4E0A\u4EC5\u663E\u793A\u4E00\u6B21\uFF0C\u672A --save-to \u65F6\u8BF7\u7ACB\u5373\u8BB0\u5F55","\u51ED\u636E"]],t.ctx.isJson?{username:c,password:u,team_id:l,user_type:e,saved_to:A}:null),0}async function Zl(t){let e=K(t.args,"--nickname"),s=K(t.args,"--mentor"),r=Ut(t.args,"--clear-mentor"),n=t.arg;n||R(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&&s===void 0&&!r&&R(t.ctx,"\u81F3\u5C11\u9700\u8981 --nickname / --mentor / --clear-mentor \u4E4B\u4E00",void 0,3);let o=se(t),i=await _e(t,o),a=we(i),c=lt(t,a,n,i.name),l={};if(e!==void 0&&(l.nickname=e),r)l.created_by=null;else if(s!==void 0){let f=a.find(h=>h.user_id===s||h.username===s);f||R(t.ctx,`mentor '${s}' \u4E0D\u5728\u56E2\u961F\u4E2D`,"\u8FD0\u884C coder team members \u67E5\u770B\u6210\u5458",4),l.created_by=f.user_id}let d=await re(t,"PATCH",`/team/${o}/ai_users/${c.user_id}`,l);(d.status<200||d.status>=300)&&te(t.ctx,d);let u=[["username",`${c.username} (${c.user_id})`,"\u5DF2\u66F4\u65B0\u6210\u5458"]];return e!==void 0&&u.push(["nickname",e,"\u6635\u79F0"]),r?u.push(["mentor","(\u5DF2\u6E05\u9664)","\u5BFC\u5E08"]):s!==void 0&&u.push(["mentor",s,"\u5BFC\u5E08"]),ie(t.ctx,u,t.ctx.isJson?{user_id:c.user_id,team_id:o}:null),0}async function Bl(t){let e=K(t.args,"--points"),s=t.arg;s||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&&R(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 r;if(e==="unlimited")r=null;else{let u=Number(e);(!Number.isFinite(u)||u<0)&&R(t.ctx,`--points \u5E94\u4E3A\u975E\u8D1F\u6570\u5B57\u6216 unlimited\uFF0C\u6536\u5230 '${e}'`,void 0,3),r=u}let n=se(t),o=await _e(t,n),i=lt(t,we(o),s,o.name),a=`/refactor/coder/teams/${n}/members/${i.user_id}/points`,c=r===null?"\u4E0D\u9650\u91CF\uFF08\u7EE7\u627F\u56E2\u961F\u6C60\uFF09":String(r),l=await re(t,"POST",a,{points:r},Ol);(l.status<200||l.status>=300)&&te(t.ctx,l);let d
|
|
37
|
-
`))}return 0}async function Xl(t){let e=
|
|
35
|
+
`;try{Ot.writeFileSync(k,S,{mode:384});try{Ot.chmodSync(k,384)}catch{}A=k}catch(M){process.stderr.write(`Warning: \u4FDD\u5B58\u51ED\u636E\u5931\u8D25 ${M.message}
|
|
36
|
+
`)}}return ie(t.ctx,[["username",c,"\u7528\u6237\u540D"],["password",`${u}${f?" (\u968F\u673A\u751F\u6210\uFF0C\u8BF7\u59A5\u5584\u4FDD\u7BA1)":""}`,"\u5BC6\u7801"],["team_id",l,"teamId"],["type",e,"\u7C7B\u578B"],["nickname",i||"","\u6635\u79F0"],["mentor",a||"","\u5BFC\u5E08"],["credentials",A?`\u5DF2\u4FDD\u5B58\u5230 ${A} (mode 0600)\uFF0C\u5EFA\u8BAE\u52A0\u5165 .gitignore`:"\u4EE5\u4E0A\u4EC5\u663E\u793A\u4E00\u6B21\uFF0C\u672A --save-to \u65F6\u8BF7\u7ACB\u5373\u8BB0\u5F55","\u51ED\u636E"]],t.ctx.isJson?{username:c,password:u,team_id:l,user_type:e,saved_to:A}:null),0}async function Zl(t){let e=K(t.args,"--nickname"),s=K(t.args,"--mentor"),r=Ut(t.args,"--clear-mentor"),n=t.arg;n||R(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&&s===void 0&&!r&&R(t.ctx,"\u81F3\u5C11\u9700\u8981 --nickname / --mentor / --clear-mentor \u4E4B\u4E00",void 0,3);let o=se(t),i=await _e(t,o),a=we(i),c=lt(t,a,n,i.name),l={};if(e!==void 0&&(l.nickname=e),r)l.created_by=null;else if(s!==void 0){let f=a.find(h=>h.user_id===s||h.username===s);f||R(t.ctx,`mentor '${s}' \u4E0D\u5728\u56E2\u961F\u4E2D`,"\u8FD0\u884C coder team members \u67E5\u770B\u6210\u5458",4),l.created_by=f.user_id}let d=await re(t,"PATCH",`/team/${o}/ai_users/${c.user_id}`,l);(d.status<200||d.status>=300)&&te(t.ctx,d);let u=[["username",`${c.username} (${c.user_id})`,"\u5DF2\u66F4\u65B0\u6210\u5458"]];return e!==void 0&&u.push(["nickname",e,"\u6635\u79F0"]),r?u.push(["mentor","(\u5DF2\u6E05\u9664)","\u5BFC\u5E08"]):s!==void 0&&u.push(["mentor",s,"\u5BFC\u5E08"]),ie(t.ctx,u,t.ctx.isJson?{user_id:c.user_id,team_id:o}:null),0}async function Bl(t){let e=K(t.args,"--points"),s=t.arg;s||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&&R(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 r;if(e==="unlimited")r=null;else{let u=Number(e);(!Number.isFinite(u)||u<0)&&R(t.ctx,`--points \u5E94\u4E3A\u975E\u8D1F\u6570\u5B57\u6216 unlimited\uFF0C\u6536\u5230 '${e}'`,void 0,3),r=u}let n=se(t),o=await _e(t,n),i=lt(t,we(o),s,o.name),a=`/refactor/coder/teams/${n}/members/${i.user_id}/points`,c=r===null?"\u4E0D\u9650\u91CF\uFF08\u7EE7\u627F\u56E2\u961F\u6C60\uFF09":String(r),l=await re(t,"POST",a,{points:r},Ol);(l.status<200||l.status>=300)&&te(t.ctx,l);let d=$e(l.body);return d&&d.code!==void 0&&d.code!==0&&d.code!==null&&R(t.ctx,`\u540E\u7AEF\u8FD4\u56DE code=${d.code} message=${d.message||""}`,void 0,1),ie(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:n,points:r}:null),0}async function Fl(t){let e=Ut(t.args,"--yes","-y"),s=t.arg;s||R(t.ctx,"\u7F3A\u5C11 userId|username \u53C2\u6570","\u7528\u6CD5: coder team members delete <userId|username> [--yes]",3);let r=se(t),n=await _e(t,r),o=lt(t,we(n),s,n.name);if(!e)return Ls(t,[["username",`${o.username} (user_id=${o.user_id}, role=${o.role})`,"\u5C06\u5220\u9664\u6210\u5458"],["team",`${n.name} (${r})`,"\u4ECE\u56E2\u961F"],["endpoint",`DELETE /team/${r}/members/${o.id}`],["confirm","\u9AD8\u5F71\u54CD\u64CD\u4F5C\uFF0C\u52A0 --yes \u624D\u4F1A\u6267\u884C"]]);let i=await re(t,"DELETE",`/team/${r}/members/${o.id}`);return(i.status<200||i.status>=300)&&te(t.ctx,i),ie(t.ctx,[["username",`${o.username} (${o.user_id})`,"\u5DF2\u5220\u9664\u6210\u5458"],["team",n.name,"\u4ECE\u56E2\u961F"]],t.ctx.isJson?{deleted:!0,user_id:o.user_id,team_id:r}:null),0}async function Gn(t,e,s){let r=await re(t,"GET",`/team/${e}/groups/${s}/members`);(r.status<200||r.status>=300)&&te(t.ctx,r);let n=$e(r.body);return n&&(n.data||n)||[]}async function Gl(t){let e=se(t),s=await re(t,"GET",`/team/${e}/groups`);(s.status<200||s.status>=300)&&te(t.ctx,s);let r=$e(s.body),n=r&&(r.data||r)||[];return Ht(t.ctx,n.map(o=>({id:o.id||"",name:o.name||"",description:o.description||"",created_at:(o.created_at||"").slice(0,10)})),{labels:Le,empty:"\u6682\u65E0\u5C0F\u7EC4"}),0}async function Vl(t){let e=t.arg;e||R(t.ctx,"\u7F3A\u5C11 groupId \u53C2\u6570","\u7528\u6CD5: coder team groups info <groupId>",3);let s=se(t),r=await re(t,"GET",`/team/${s}/groups`);(r.status<200||r.status>=300)&&te(t.ctx,r);let o=($e(r.body)?.data||[]).find(a=>a.id===e);o||R(t.ctx,`\u5C0F\u7EC4 '${e}' \u4E0D\u5728\u56E2\u961F\u4E2D`,"\u8FD0\u884C coder team groups \u67E5\u770B\u5C0F\u7EC4",4);let i=await Gn(t,s,e);return ie(t.ctx,[["group",`${o.name} (${o.id})`,"\u5C0F\u7EC4"],["description",o.description||"","\u63CF\u8FF0"],["team_id",s,"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 Jl(t){let e=t.arg;e||R(t.ctx,"\u7F3A\u5C11 groupId \u53C2\u6570","\u7528\u6CD5: coder team groups members <groupId>",3);let s=se(t),r=await _e(t,s),n=new Map(we(r).map(i=>[i.user_id,i])),o=await Gn(t,s,e);return Ht(t.ctx,o.map(i=>{let a=n.get(i.user_id)||{};return{username:a.username||"",user_id:i.user_id||"",type:a.user_type||"",role:i.role||"",nickname:a.nickname||""}}),{labels:Le,empty:"\u5C0F\u7EC4\u6682\u65E0\u6210\u5458"}),0}async function zl(t){let e=K(t.args,"--description"),s=t.arg;s||R(t.ctx,"\u7F3A\u5C11 name \u53C2\u6570","\u7528\u6CD5: coder team groups create <name> [--description <d>]",3);let r=se(t),n={name:s};e&&(n.description=e);let o=await re(t,"POST",`/team/${r}/groups`,n);(o.status<200||o.status>=300)&&te(t.ctx,o);let a=(($e(o.body)||{}).data||$e(o.body)||{}).id;return a&&await dt(t,"sync.upsertGroup",{teamId:r,externalGroupId:a,name:s,description:e||void 0}),ie(t.ctx,[["group",`${s} (${a})`,"\u5DF2\u521B\u5EFA\u5C0F\u7EC4"]],t.ctx.isJson?{id:a,team_id:r,name:s,description:e||null}:null),0}async function Kl(t){let e=K(t.args,"--name"),s=K(t.args,"--description"),r=t.arg;r||R(t.ctx,"\u7F3A\u5C11 groupId \u53C2\u6570","\u7528\u6CD5: coder team groups update <groupId> [--name <n>] [--description <d>]",3);let n=se(t);e===void 0&&s===void 0&&R(t.ctx,"\u81F3\u5C11\u9700\u8981 --name \u6216 --description",void 0,3);let o={};e!==void 0&&(o.name=e),s!==void 0&&(o.description=s);let i=await re(t,"PATCH",`/team/${n}/groups/${r}`,o);(i.status<200||i.status>=300)&&te(t.ctx,i);let a=$e(i.body)?.data||{},c=e!==void 0?e:a.name;c&&await dt(t,"sync.upsertGroup",{teamId:n,externalGroupId:r,name:c,description:s!==void 0?s:a.description||void 0});let l=[["group",r,"\u5DF2\u66F4\u65B0\u5C0F\u7EC4"]];return e!==void 0&&l.push(["name",e,"\u540D\u79F0"]),s!==void 0&&l.push(["description",s,"\u63CF\u8FF0"]),ie(t.ctx,l,t.ctx.isJson?{id:r,team_id:n,...o}:null),0}async function Wl(t){let e=Ut(t.args,"--yes","-y"),s=t.arg;s||R(t.ctx,"\u7F3A\u5C11 groupId \u53C2\u6570","\u7528\u6CD5: coder team groups delete <groupId> [--yes]",3);let r=se(t);if(!e)return Ls(t,[["group",s,"\u5C06\u5220\u9664\u5C0F\u7EC4"],["endpoint",`DELETE /team/${r}/groups/${s}`],["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 n=await re(t,"DELETE",`/team/${r}/groups/${s}`);return(n.status<200||n.status>=300)&&te(t.ctx,n),await dt(t,"sync.deleteGroup",{teamId:r,externalGroupId:s}),ie(t.ctx,[["group",s,"\u5DF2\u5220\u9664\u5C0F\u7EC4"]],t.ctx.isJson?{deleted:!0,id:s,team_id:r}:null),0}function Hl(t,e,s){return s.split(",").map(n=>n.trim()).filter(Boolean).map(n=>{let o=e.find(i=>i.user_id===n||i.username===n||i.id===n);return o||R(t.ctx,`\u6210\u5458 '${n}' \u4E0D\u5728\u56E2\u961F\u4E2D`,"\u8FD0\u884C coder team members \u67E5\u770B\u6210\u5458",4),o})}async function Yl(t){let e=K(t.args,"--role")||"member",s=Yt(t.args,{valueFlags:["--team","--role"]}),r=s[0];r||R(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 n=s[1];n||R(t.ctx,"\u7F3A\u5C11 userIds \u53C2\u6570\uFF08\u9017\u53F7\u5206\u9694\uFF0C\u652F\u6301 user_id / username\uFF09",void 0,3);let o=se(t);e!=="member"&&e!=="mentor"&&R(t.ctx,`--role \u4EC5\u652F\u6301 member|mentor\uFF0C\u6536\u5230 '${e}'`,void 0,3);let i=await _e(t,o),a=Hl(t,we(i),n),c=await re(t,"POST",`/team/${o}/groups/${r}/members`,{user_ids:a.map(l=>l.user_id),role:e});if((c.status<200||c.status>=300)&&te(t.ctx,c),await dt(t,"sync.upsertGroupMembers",{teamId:o,externalGroupId:r,members:a.map(l=>({externalUserId:l.user_id,username:l.username||l.user_id,role:Bn(e)}))}),t.ctx.isJson)t.ctx.emit({team_id:o,group_id:r,added:a.map(l=>({user_id:l.user_id,username:l.username})),role:e});else{let l=[`\u5DF2\u6DFB\u52A0 ${a.length} \u540D\u6210\u5458\u5230\u5C0F\u7EC4 ${r} (role=${e})`];for(let d of a)l.push(` - ${d.username} (${d.user_id})`);t.ctx.emit(l.join(`
|
|
37
|
+
`))}return 0}async function Xl(t){let e=Yt(t.args,{valueFlags:["--team","--role"]}),s=e[0];s||R(t.ctx,"\u7F3A\u5C11 groupId \u53C2\u6570","\u7528\u6CD5: coder team groups set-role <groupId> <userId|username> <member|mentor>",3);let r=e[1],n=e[2]||K(t.args,"--role");(!r||!n)&&R(t.ctx,"\u7528\u6CD5: coder team groups set-role <groupId> <userId|username> <member|mentor>",void 0,3),n!=="member"&&n!=="mentor"&&R(t.ctx,`role \u4EC5\u652F\u6301 member|mentor\uFF0C\u6536\u5230 '${n}'`,void 0,3);let o=se(t),i=await _e(t,o),a=lt(t,we(i),r,i.name),c=await re(t,"PATCH",`/team/${o}/groups/${s}/members/${a.user_id}`,{role:n});return(c.status<200||c.status>=300)&&te(t.ctx,c),await dt(t,"sync.upsertGroupMembers",{teamId:o,externalGroupId:s,members:[{externalUserId:a.user_id,username:a.username||a.user_id,role:Bn(n)}]}),ie(t.ctx,[["username",`${a.username} (${a.user_id})`,"\u5DF2\u8BBE\u7F6E\u5C0F\u7EC4\u89D2\u8272"],["group",s,"\u5C0F\u7EC4"],["role",n,"\u89D2\u8272"]],t.ctx.isJson?{team_id:o,group_id:s,user_id:a.user_id,role:n}:null),0}async function Ql(t){let e=Ut(t.args,"--yes","-y"),s=Yt(t.args,{boolFlags:["--yes","-y"],valueFlags:["--team"]}),r=s[0];r||R(t.ctx,"\u7F3A\u5C11 groupId \u53C2\u6570","\u7528\u6CD5: coder team groups remove-member <groupId> <userId|username> [--yes]",3);let n=s[1];n||R(t.ctx,"\u7F3A\u5C11 userId|username \u53C2\u6570",void 0,3);let o=se(t),i=await _e(t,o),a=lt(t,we(i),n,i.name);if(!e)return Ls(t,[["username",`${a.username} (${a.user_id})`,"\u5C06\u4ECE\u5C0F\u7EC4\u79FB\u9664"],["group",r,"\u5C0F\u7EC4"],["endpoint",`DELETE /team/${o}/groups/${r}/members/${a.user_id}`],["confirm","\u9AD8\u5F71\u54CD\u64CD\u4F5C\uFF0C\u52A0 --yes \u624D\u4F1A\u6267\u884C"]]);let c=await re(t,"DELETE",`/team/${o}/groups/${r}/members/${a.user_id}`);return(c.status<200||c.status>=300)&&te(t.ctx,c),await dt(t,"sync.removeGroupMember",{teamId:o,externalGroupId:r,externalUserId:a.user_id}),ie(t.ctx,[["username",`${a.username} (${a.user_id})`,"\u5DF2\u4ECE\u5C0F\u7EC4\u79FB\u9664"],["group",r,"\u5C0F\u7EC4"]],t.ctx.isJson?{removed:!0,user_id:a.user_id,group_id:r,team_id:o}:null),0}Vn.exports={list:vl,current:Pl,use:Rl,info:jl,members:{list:ql,info:Nl,create:Ml,update:Zl,"set-points":Bl,delete:Fl},groups:{list:Gl,info:Vl,members:Jl,create:zl,update:Kl,delete:Wl,"add-member":Yl,"set-role":Xl,"remove-member":Ql},_internal:{positionals:Yt,flag:K,flagAny:Fn,hasFlag:Ut,LABELS:Le}}});var Zs=$((By,Jn)=>{function ed(){return process.env.CODER_NESTED==="1"||!process.stdout.isTTY}Jn.exports={shouldSuppressUpdateNotice:ed}});var Qt=$((Fy,Gs)=>{var Bs=require("https"),G=require("fs"),ne=require("path"),Xt=require("os"),{shouldSuppressUpdateNotice:td}=Zs(),Me="https://makecoder.com/skillhub",sd=["add","remove","update","check-updates","search","list","my-skills","publish","unpublish"],Fs=class{constructor(e,s){this.argParser=e||null,this.teamService=s||null}_defaultNamespace(){let e=this.argParser?this.argParser.getTeam():null;return e&&e.id?e.id.slice(0,8):null}_resolveNamespace(e){let s=e||this._defaultNamespace()||"global",r=s.startsWith("@")?s.slice(1):s;return r.length>8&&r.includes("-")?r.slice(0,8):r}getSkillDirs(){let e=Xt.homedir();return[ne.join(e,".agents","skills")]}_request(e,s,r){return new Promise((n,o)=>{let i=new URL(`${Me}${s}`),a={hostname:i.hostname,port:i.port||443,path:i.pathname+i.search,method:e,headers:r?{Authorization:`Bearer ${r}`}:{}},c=Bs.request(a,l=>{if(l.statusCode>=300&&l.statusCode<400&&l.headers.location)return this._request(e,l.headers.location,r).then(n).catch(o);let d="";l.on("data",u=>d+=u),l.on("end",()=>n({status:l.statusCode,body:d}))});c.on("error",o),c.end()})}fetchWithAuth(e,s){return new Promise((r,n)=>{let o=new URL(e),i={hostname:o.hostname,port:o.port||443,path:o.pathname+o.search,method:"GET",headers:s?{Authorization:`Bearer ${s}`}:{}};Bs.get(i,a=>{if(a.statusCode>=300&&a.statusCode<400&&a.headers.location)return this.fetchWithAuth(a.headers.location,s).then(r).catch(n);let c="";a.on("data",l=>{c+=l}),a.on("end",()=>r({status:a.statusCode,body:c}))}).on("error",n)})}async handle({skillsSubcommand:e,skillsArg:s,skillsRemainingArgs:r,apikey:n}){if(!e||e==="--help"||e==="-h")return this.showHelp(),0;if(e==="publish")return await this.publish(r||[],n);if(e==="unpublish")return await this.unpublish(s,n);if(e==="list")return await this.listTeamSkills(r||[],n);if(e==="my-skills")return await this.listMySkills(r||[],n);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(n);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(s&&e!=="search"&&!/^[@a-zA-Z0-9_\-/.]+$/.test(s))return console.error("\u274C skill \u540D\u79F0\u5305\u542B\u975E\u6CD5\u5B57\u7B26"),1;if(e==="search")return s?await this.search(s):(console.error("\u274C \u8BF7\u6307\u5B9A\u641C\u7D22\u5173\u952E\u8BCD"),1);if(e==="remove")return s?this.remove(s):(console.error("\u274C \u8BF7\u6307\u5B9A skill \u540D\u79F0"),1);if(e==="add")return s?n?await this.install(s,n):(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(!n)return console.error("\u274C \u7F3A\u5C11 API Key\uFF0C\u8BF7\u5148\u767B\u5F55: coder auth login"),1;if(s)return await this.install(s,n);console.log("\u{1F50D} \u68C0\u67E5\u53EF\u66F4\u65B0\u7684 skill...");let o=await this.checkUpdates(n);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 l of o){let d=await this.install(l.name,n);d==="EACCES"?(c=!0,a++):d!==0?a++:i++}console.log(`
|
|
41
|
-
\u66F4\u65B0\u5B8C\u6210: ${i} \u6210\u529F, ${a} \u5931\u8D25`);try{let l=ne.join(
|
|
41
|
+
\u66F4\u65B0\u5B8C\u6210: ${i} \u6210\u529F, ${a} \u5931\u8D25`);try{let l=ne.join(Xt.homedir(),".agents","skills",".update-cache.json");G.existsSync(l)&&G.unlinkSync(l)}catch{}if(c){let l=this.getSkillDirs()[0];console.error(`
|
|
42
42
|
\u26A0\uFE0F \u90E8\u5206 skill \u6743\u9650\u4E0D\u8DB3\uFF0C\u8BF7\u5148\u8FD0\u884C:
|
|
43
|
-
sudo chown -R $(whoami) "${l}"`)}return a>0?1:0}return console.error(`\u274C \u672A\u77E5\u5B50\u547D\u4EE4: ${e}`),1}async install(e,s){let r=Me.replace(/\/$/,"");console.log(`\u{1F50D} \u6B63\u5728\u4ECE ${Me} \u67E5\u627E skill...`);let n;try{let u=await this.fetchWithAuth(`${r}/.well-known/agent-skills/index.json?skill=${encodeURIComponent(e)}`,s);if(u.status===404)return console.error(`\u274C \u672A\u627E\u5230 skill: ${e}`),1;if(u.status!==200)return console.error(`\u274C \u65E0\u6CD5\u83B7\u53D6 skill \u4FE1\u606F (HTTP ${u.status})`),1;n=JSON.parse(u.body)}catch(u){return console.error(`\u274C \u8BF7\u6C42\u5931\u8D25: ${u.message}`),1}let o=(n.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=`${r}/.well-known/agent-skills/${o.name}`,c={};for(let u of i)try{let f=await this.fetchWithAuth(`${a}/${u}`,s);if(f.status!==200){console.warn(`\u26A0\uFE0F \u8DF3\u8FC7 ${u} (HTTP ${f.status})`);continue}c[u]=f.body}catch(f){console.warn(`\u26A0\uFE0F \u4E0B\u8F7D ${u} \u5931\u8D25: ${f.message}`)}console.log(`\u{1F4E6} \u6B63\u5728\u5B89\u88C5 ${o.name}...`);let l={name:o.name,version:o.version||null,installedAt:new Date().toISOString()};for(let u of this.getSkillDirs()){let f=ne.join(u,o.name);G.mkdirSync(f,{recursive:!0});try{for(let[h,y]of Object.entries(c)){let A=ne.join(f,h);G.mkdirSync(ne.dirname(A),{recursive:!0}),G.writeFileSync(A,y,"utf8")}G.writeFileSync(ne.join(f,".skill-meta.json"),JSON.stringify(l,null,2),"utf8")}catch(h){if(h.code==="EACCES")return"EACCES";throw h}}let d=o.version?` (v${o.version})`:"";return console.log(`\u2705 ${o.name}${d} \u5B89\u88C5\u5B8C\u6210`),this.cleanLegacySkill(o.name),0}cleanLegacySkill(e){let s=
|
|
44
|
-
`);for(let c of a)console.log(` ${c.slug.padEnd(20)} ${c.summary}`);r(0)}catch(i){console.error(`\u274C \u89E3\u6790\u54CD\u5E94\u5931\u8D25: ${i.message}`),r(1)}})}).on("error",n=>{console.error(`\u274C \u8BF7\u6C42\u5931\u8D25: ${n.message}`),r(1)})})}async publish(e,s){let{execSync:r}=require("child_process"),n=require("os"),o=null,i="PUBLIC",a=null,c=null,l=null,d=null;for(let k=0;k<e.length;k++)if(e[k]==="--team"||e[k]==="-t"||e[k]==="--namespace"||e[k]==="-n")o=e[++k];else if(e[k]==="--visibility"||e[k]==="-v")i=e[++k];else if(e[k]==="--meta-data"){let S=e[++k];try{JSON.parse(S)}catch(
|
|
43
|
+
sudo chown -R $(whoami) "${l}"`)}return a>0?1:0}return console.error(`\u274C \u672A\u77E5\u5B50\u547D\u4EE4: ${e}`),1}async install(e,s){let r=Me.replace(/\/$/,"");console.log(`\u{1F50D} \u6B63\u5728\u4ECE ${Me} \u67E5\u627E skill...`);let n;try{let u=await this.fetchWithAuth(`${r}/.well-known/agent-skills/index.json?skill=${encodeURIComponent(e)}`,s);if(u.status===404)return console.error(`\u274C \u672A\u627E\u5230 skill: ${e}`),1;if(u.status!==200)return console.error(`\u274C \u65E0\u6CD5\u83B7\u53D6 skill \u4FE1\u606F (HTTP ${u.status})`),1;n=JSON.parse(u.body)}catch(u){return console.error(`\u274C \u8BF7\u6C42\u5931\u8D25: ${u.message}`),1}let o=(n.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=`${r}/.well-known/agent-skills/${o.name}`,c={};for(let u of i)try{let f=await this.fetchWithAuth(`${a}/${u}`,s);if(f.status!==200){console.warn(`\u26A0\uFE0F \u8DF3\u8FC7 ${u} (HTTP ${f.status})`);continue}c[u]=f.body}catch(f){console.warn(`\u26A0\uFE0F \u4E0B\u8F7D ${u} \u5931\u8D25: ${f.message}`)}console.log(`\u{1F4E6} \u6B63\u5728\u5B89\u88C5 ${o.name}...`);let l={name:o.name,version:o.version||null,installedAt:new Date().toISOString()};for(let u of this.getSkillDirs()){let f=ne.join(u,o.name);G.mkdirSync(f,{recursive:!0});try{for(let[h,y]of Object.entries(c)){let A=ne.join(f,h);G.mkdirSync(ne.dirname(A),{recursive:!0}),G.writeFileSync(A,y,"utf8")}G.writeFileSync(ne.join(f,".skill-meta.json"),JSON.stringify(l,null,2),"utf8")}catch(h){if(h.code==="EACCES")return"EACCES";throw h}}let d=o.version?` (v${o.version})`:"";return console.log(`\u2705 ${o.name}${d} \u5B89\u88C5\u5B8C\u6210`),this.cleanLegacySkill(o.name),0}cleanLegacySkill(e){let s=Xt.homedir(),r=[".claude",".codex",".gemini"].map(n=>ne.join(s,n,"skills",e));for(let n of r)if(G.existsSync(n))try{G.rmSync(n,{recursive:!0,force:!0})}catch{}}getInstalledSkills(){let e=[];for(let s of this.getSkillDirs())if(G.existsSync(s))for(let r of G.readdirSync(s,{withFileTypes:!0})){if(!r.isDirectory()||r.name.startsWith("."))continue;let n=ne.join(s,r.name),o=ne.join(n,".skill-meta.json"),i=null;if(G.existsSync(o))try{i=JSON.parse(G.readFileSync(o,"utf8"))}catch{}e.push({name:r.name,dir:n,meta:i})}return e}async checkUpdates(e){let s=this.getInstalledSkills();if(s.length===0)return[];let r=Me.replace(/\/$/,""),n=[];for(let o of s){let i=o.meta?.version||"0.0.1";try{let a=await this.fetchWithAuth(`${r}/.well-known/agent-skills/index.json?skill=${encodeURIComponent(o.name)}`,e);if(a.status===404||a.status!==200)continue;let l=(JSON.parse(a.body).skills||[])[0];if(!l?.version)continue;l.version!==i&&n.push({name:o.name,localVersion:i,remoteVersion:l.version})}catch{}}return n}notifyAndRefreshUpdates(e){let s=ne.join(Xt.homedir(),".agents","skills",".update-cache.json");if(!td())try{if(G.existsSync(s)){let i=JSON.parse(G.readFileSync(s,"utf8"));if(Array.isArray(i.updates)&&i.updates.length>0){let c=i.updates.length,l;if(c<=3)l=i.updates.map(d=>`${d.name} (${d.localVersion} \u2192 ${d.remoteVersion})`).join(", ");else{let d=i.updates[0];l=`${d.name} (${d.localVersion} \u2192 ${d.remoteVersion}) \u7B49 ${c} \u4E2A skill \u8981\u66F4\u65B0`}console.error(`\x1B[33m\u26A1 ${l}\uFF0C\u8FD0\u884C \`coder skills update\` \u5347\u7EA7\x1B[0m`),c>3&&console.error("\x1B[33m \u8FD0\u884C `coder skills check-updates` \u67E5\u770B\u5B8C\u6574\u5217\u8868\x1B[0m"),console.error()}}}catch{}let r=3600*1e3,n=0;try{n=JSON.parse(G.readFileSync(s,"utf8")).checkedAt||0}catch{}!this.getInstalledSkills().some(i=>!i.meta?.version)&&Date.now()-n<r||setImmediate(async()=>{try{let i=await this.checkUpdates(e);G.mkdirSync(ne.dirname(s),{recursive:!0}),G.writeFileSync(s,JSON.stringify({checkedAt:Date.now(),updates:i},null,2),"utf8")}catch{}})}remove(e){let s=!1;for(let r of this.getSkillDirs()){let n=ne.join(r,e);G.existsSync(n)&&(G.rmSync(n,{recursive:!0,force:!0}),console.log(` \u{1F5D1}\uFE0F ${n}`),s=!0)}return s?(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 s=`${Me}/api/web/skills?q=${encodeURIComponent(e)}&sort=relevance&page=0&size=12`;return new Promise(r=>{Bs.get(s,n=>{let o="";n.on("data",i=>{o+=i}),n.on("end",()=>{try{let i=JSON.parse(o);if(i.code!==0)return console.error(`\u274C \u67E5\u8BE2\u5931\u8D25: ${i.msg}`),r(1);let a=i.data.items;if(a.length===0)return console.log(`\u6CA1\u6709\u627E\u5230\u4E0E "${e}" \u76F8\u5173\u7684 skill`),r(0);console.log(`\u627E\u5230 ${i.data.total} \u4E2A\u7ED3\u679C:
|
|
44
|
+
`);for(let c of a)console.log(` ${c.slug.padEnd(20)} ${c.summary}`);r(0)}catch(i){console.error(`\u274C \u89E3\u6790\u54CD\u5E94\u5931\u8D25: ${i.message}`),r(1)}})}).on("error",n=>{console.error(`\u274C \u8BF7\u6C42\u5931\u8D25: ${n.message}`),r(1)})})}async publish(e,s){let{execSync:r}=require("child_process"),n=require("os"),o=null,i="PUBLIC",a=null,c=null,l=null,d=null;for(let k=0;k<e.length;k++)if(e[k]==="--team"||e[k]==="-t"||e[k]==="--namespace"||e[k]==="-n")o=e[++k];else if(e[k]==="--visibility"||e[k]==="-v")i=e[++k];else if(e[k]==="--meta-data"){let S=e[++k];try{JSON.parse(S)}catch(M){return console.error(`\u274C --meta-data \u4E0D\u662F\u5408\u6CD5\u7684 JSON\uFF1A${M.message}`),1}a=S}else if(!e[k].startsWith("-")){let S=e[k];G.existsSync(S)&&G.statSync(S).isDirectory()?d=S:c=S}let u=this._resolveNamespace(o),f=u==="global";if(!s)return console.error("\u274C \u7F3A\u5C11 API Key\uFF0C\u8BF7\u5148\u767B\u5F55: coder auth login"),1;f||(i="NAMESPACE_ONLY");let h=["PUBLIC","NAMESPACE_ONLY","PRIVATE"];if(!h.includes(i))return console.error(`\u274C visibility \u5FC5\u987B\u662F: ${h.join(", ")}`),1;if(c){if(!G.existsSync(c))return console.error(`\u274C \u6587\u4EF6\u4E0D\u5B58\u5728: ${c}`),1}else{let k=d?ne.resolve(d):process.cwd();l=ne.join(n.tmpdir(),`skill-pub-${Date.now()}.zip`),console.log(`\u{1F4E6} \u6B63\u5728\u6253\u5305 ${k}...`);try{G.existsSync(ne.join(k,".git"))?(r(`git archive -o "${l}" HEAD`,{cwd:k,stdio:"pipe"}),console.log(" \u4F7F\u7528 git archive\uFF08\u5DF2\u6392\u9664 .gitignore \u6587\u4EF6\uFF09")):r(`zip -r "${l}" . -x ".git/*" -x "node_modules/*" -x ".env" -x "*.log"`,{cwd:k,stdio:"pipe"})}catch(S){return console.error(`\u274C \u6253\u5305\u5931\u8D25: ${S.message}`),1}c=l}let y=`${Me}/api/v1/skills/${encodeURIComponent(u)}/publish?visibility=${encodeURIComponent(i)}`,A=s;console.log(`\u{1F680} \u6B63\u5728\u53D1\u5E03\u5230 ${Me}`),console.log(` team: ${u}`),console.log(` visibility: ${i}`);try{let k=a?` -F "meta_data=${a.replace(/"/g,'\\"')}"`:"",S=`curl -s -X POST "${y}" -H "Authorization: Bearer ${A}" -F "file=@${c}"${k}`,M=r(S,{encoding:"utf-8",stdio:["pipe","pipe","pipe"]}),ee=JSON.parse(M);if(ee.code===0){let Z=ee.data,X=Z.namespace==="global"?`https://makecoder.com/skillhub/${Z.slug}`:`https://makecoder.com/skillhub/space/${Z.namespace}/${Z.slug}`;return console.log(`
|
|
45
45
|
\u2705 \u53D1\u5E03\u6210\u529F!`),console.log(` ${Z.namespace}--${Z.slug}@${Z.version}`),console.log(` ${X}`),Z.status==="PUBLISHED"?console.log(" \u72B6\u6001: \u5DF2\u53D1\u5E03"):console.log(" \u72B6\u6001: \u5F85\u5BA1\u6838"),0}else return console.error(`
|
|
46
|
-
\u274C \u53D1\u5E03\u5931\u8D25: ${ee.msg||JSON.stringify(ee)}`),1}catch(k){let S=k.stdout;if(S)try{let
|
|
47
|
-
\u274C \u53D1\u5E03\u5931\u8D25: ${
|
|
48
|
-
`);for(let A of f){let k=`${A.slug}`.padEnd(28),S=`\u2B50 ${A.starCount??0}`.padEnd(8),
|
|
46
|
+
\u274C \u53D1\u5E03\u5931\u8D25: ${ee.msg||JSON.stringify(ee)}`),1}catch(k){let S=k.stdout;if(S)try{let M=JSON.parse(S);return console.error(`
|
|
47
|
+
\u274C \u53D1\u5E03\u5931\u8D25: ${M.msg||S}`),1}catch{}return console.error(`\u274C \u8BF7\u6C42\u5931\u8D25: ${k.message}`),1}finally{l&&G.existsSync(l)&&G.unlinkSync(l)}}async unpublish(e,s){if(!e)return console.error("\u274C \u8BF7\u6307\u5B9A skill: coder skills unpublish <slug> \u6216 coder skills unpublish <teamId>--<slug>"),1;if(!s)return console.error("\u274C \u7F3A\u5C11 API Key\uFF0C\u8BF7\u5148\u767B\u5F55: coder auth login"),1;let r,n;if(e.includes("--")){let i=e.split("--");if(i.length!==2||!i[0]||!i[1])return console.error("\u274C \u683C\u5F0F\u9519\u8BEF\uFF0C\u5E94\u4E3A <slug> \u6216 <teamId>--<slug>\uFF0C\u4F8B\u5982: my-skill \u6216 12680de5--my-skill"),1;r=this._resolveNamespace(i[0]),n=i[1]}else r=this._resolveNamespace(null),n=e;let o=`/api/v1/skills/${encodeURIComponent(r)}/${encodeURIComponent(n)}`;console.log(`\u{1F5D1}\uFE0F \u6B63\u5728\u4E0B\u67B6 ${r}--${n}`);try{let i=await this._request("DELETE",o,s),a=JSON.parse(i.body);return a.code===0?(console.log(`\u2705 \u5DF2\u4E0B\u67B6 ${r}--${n}`),0):(console.error(`\u274C \u4E0B\u67B6\u5931\u8D25: ${a.msg||JSON.stringify(a)}`),1)}catch(i){return console.error(`\u274C \u8BF7\u6C42\u5931\u8D25: ${i.message}`),1}}async listTeamSkills(e,s){let r=0,n=20,o=null;for(let d=0;d<e.length;d++)(e[d]==="--page"||e[d]==="-p")&&e[d+1]?r=parseInt(e[++d],10):(e[d]==="--size"||e[d]==="-s")&&e[d+1]?n=parseInt(e[++d],10):(e[d]==="--team"||e[d]==="-t")&&e[d+1]&&(o=e[++d]);let i=this._resolveNamespace(o),a=i==="global",c=a?"":`&namespace=${encodeURIComponent(i)}`,l=`/api/web/skills?sort=newest&page=${r}&size=${n}${c}`;try{let d=await this._request("GET",l,s),u=JSON.parse(d.body);if(u.code!==0)return console.error(`\u274C \u83B7\u53D6\u5931\u8D25: ${u.msg}`),1;let f=u.data?.items||[],h=u.data?.total||0,y=a?"\u516C\u5171":`\u56E2\u961F ${i}`;if(f.length===0)return console.log(`${y} \u4E0B\u6682\u65E0 skill`),0;console.log(`${y} \u5171 ${h} \u4E2A skill\uFF08\u7B2C ${r+1} \u9875\uFF09:
|
|
48
|
+
`);for(let A of f){let k=`${A.slug}`.padEnd(28),S=`\u2B50 ${A.starCount??0}`.padEnd(8),M=`\u2193 ${A.downloadCount??0}`.padEnd(10);console.log(` ${k} ${S} ${M} ${A.summary||""}`)}return(r+1)*n<h&&console.log(`
|
|
49
49
|
\u4E0B\u4E00\u9875: coder skills list --page ${r+1}`),0}catch(d){return console.error(`\u274C \u8BF7\u6C42\u5931\u8D25: ${d.message}`),1}}async listMySkills(e,s){let r=0,n=50;for(let o=0;o<e.length;o++)(e[o]==="--page"||e[o]==="-p")&&e[o+1]?r=parseInt(e[++o],10):(e[o]==="--size"||e[o]==="-s")&&e[o+1]&&(n=parseInt(e[++o],10));if(!s)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=${r}&size=${n}`,s),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 l of a){let d=`${l.namespace==="global"?"":"--"}${l.slug}`.padEnd(36),u=`\u2B50 ${l.starCount??0}`.padEnd(8),f=`\u2193 ${l.downloadCount??0}`.padEnd(10);console.log(` ${d} ${u} ${f} [${l.status}]`),l.displayName&&l.displayName!==l.slug&&console.log(` ${"".padEnd(36)} ${l.displayName}`)}return 0}catch(o){return console.error(`\u274C \u8BF7\u6C42\u5931\u8D25: ${o.message}`),1}}showHelp(){console.log(["Usage: coder skills [subcommand] [options]","","\u2139\uFE0F Skill \u540D\u79F0\u683C\u5F0F:"," \u516C\u5171 skill \u76F4\u63A5\u7528 slug\uFF0C\u4F8B\u5982: vue"," \u56E2\u961F\u79C1\u6709 skill \u9700\u52A0\u56E2\u961F\u524D\u7F00: <teamId>--<slug>\uFF0C\u4F8B\u5982: 12680de5--my-skill"," teamId \u4E3A\u56E2\u961F ID \u524D 8 \u4F4D\uFF0C\u8FD0\u884C `coder team list` \u67E5\u770B","","Global Options:"," --team <teamId> \u6307\u5B9A\u56E2\u961F\uFF08\u9ED8\u8BA4\u4F7F\u7528 coder team use \u8BBE\u7F6E\u7684\u56E2\u961F\uFF09","","Subcommands:"," add <name> \u5B89\u88C5 skill"," remove <name> \u5378\u8F7D skill"," update [name] \u66F4\u65B0 skill\uFF08\u4E0D\u6307\u5B9A\u540D\u79F0\u5219\u66F4\u65B0\u5168\u90E8\uFF09"," check-updates \u68C0\u67E5\u5DF2\u5B89\u88C5 skill \u662F\u5426\u6709\u65B0\u7248\u672C"," search <keyword> \u641C\u7D22 skill"," list [--page <n>] [--size <n>] [--team <id>] \u5217\u51FA\u5F53\u524D\u56E2\u961F\u4E0B\u7684 skill"," my-skills [--page <n>] [--size <n>] \u67E5\u770B\u6211\u53D1\u5E03\u7684 skill"," publish [options] [<dir-or-zip>] \u53D1\u5E03 skill \u5230 skillhub"," unpublish <slug> \u4E0B\u67B6 skill\uFF08\u4F7F\u7528\u9ED8\u8BA4\u56E2\u961F\uFF09","","Publish Options:"," --team <teamId> \u76EE\u6807\u56E2\u961F\uFF08\u9ED8\u8BA4: \u5F53\u524D\u56E2\u961F\uFF0C\u65E0\u56E2\u961F\u65F6\u53D1\u5E03\u5230\u516C\u5171\uFF09"," --visibility <v> \u53EF\u89C1\u6027: PUBLIC | NAMESPACE_ONLY | PRIVATE"," \uFF08\u9ED8\u8BA4: PUBLIC\uFF0C\u56E2\u961F skill \u81EA\u52A8\u9501\u5B9A\u4E3A NAMESPACE_ONLY\uFF09"," --meta-data <json> \u9644\u52A0\u81EA\u5B9A\u4E49\u5143\u6570\u636E JSON","","Examples:"," coder skills add vue \u5B89\u88C5\u516C\u5171 skill"," coder skills add 12680de5--my-skill \u5B89\u88C5\u56E2\u961F\u79C1\u6709 skill"," coder skills search react \u641C\u7D22 skill"," coder skills list \u5217\u51FA\u5F53\u524D\u56E2\u961F\u7684 skill"," coder skills list --page 1 \u7B2C\u4E8C\u9875"," coder skills my-skills \u67E5\u770B\u6211\u53D1\u5E03\u7684 skill"," coder skills publish ./my-skill-dir \u53D1\u5E03\uFF08\u81EA\u52A8\u4F7F\u7528\u9ED8\u8BA4\u56E2\u961F\uFF09"," coder skills publish --team 12680de5 ./my-skill-dir \u53D1\u5E03\u5230\u6307\u5B9A\u56E2\u961F"," coder skills publish --visibility PRIVATE my-skill.zip",` coder skills publish --meta-data '{"category":"tool"}' ./my-skill-dir`," coder skills unpublish my-skill \u4E0B\u67B6\uFF08\u4F7F\u7528\u9ED8\u8BA4\u56E2\u961F\uFF09"," coder skills unpublish 12680de5--my-skill \u4E0B\u67B6\u6307\u5B9A\u56E2\u961F\u7684 skill"].join(`
|
|
51
|
-
`))}};Gs.exports=Fs;Gs.exports.SKILLS_SUBCOMMANDS=sd});var Vs=$((
|
|
51
|
+
`))}};Gs.exports=Fs;Gs.exports.SKILLS_SUBCOMMANDS=sd});var Vs=$((Gy,Xn)=>{var rd="https://makecoder.com/wiki",zn=/^(?:[0-9a-zA-Z-_~]*-)?([a-zA-Z0-9]{10,15})$/,Kn=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function Wn(t){return typeof t=="string"&&Kn.test(t)}function Hn(t){if(typeof t!="string")return null;let e=t.trim();if(!e)return null;if(/^https?:\/\//i.test(e))try{let r=new URL(e).pathname.split("/").filter(Boolean);e=r.length?r[r.length-1]:""}catch{return null}return e||null}function Yn(t){let e=Hn(t);if(!e)return null;if(Wn(e))return{kind:"uuid",value:e};let s=e.match(zn);return s?{kind:"urlId",value:s[1]}:null}function nd(t){let e=Yn(t);return e&&e.kind==="urlId"?e.value:null}Xn.exports={WIKI_BASE:rd,SLUG_URL_REGEX:zn,UUID_REGEX:Kn,isUuid:Wn,lastPathSegment:Hn,classifyId:Yn,extractUrlId:nd}});var Dt=$((Vy,eo)=>{var od=require("https"),{WIKI_BASE:es}=Vs(),Qn=`${es}/api`,id=t=>`${es}/doc/${t}`,ad=t=>`${es}/collection/${t}`,Js=class{constructor(e,s=null){this.token=e,this.teamId=s||null}post(e,s){return new Promise((r,n)=>{let o=JSON.stringify(s||{}),i=new URL(`${Qn}/${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=od.request({hostname:i.hostname,port:i.port||443,path:i.pathname,method:"POST",headers:a},l=>{let d="";l.on("data",u=>d+=u),l.on("end",()=>r({status:l.statusCode,body:d}))});c.on("error",n),c.write(o),c.end()})}async postJson(e,s,{allowNoData:r=!1}={}){let n=await this.post(e,s),o=zs(n.body);return{ok:n.status<400&&o?.ok!==!1&&(r||o?.data!==void 0),status:n.status,json:o,body:n.body}}};function zs(t){try{return JSON.parse(t)}catch{return null}}function cd(t){let e=zs(t);return e?.message?e.message:e?.error?e.error:(t||"").slice(0,200)||"\u8BF7\u6C42\u5931\u8D25"}eo.exports={WikiHttp:Js,WIKI_BASE:es,WIKI_API_BASE:Qn,docUrl:id,colUrl:ad,parseJson:zs,errorMessage:cd}});var Ws=$((Jy,so)=>{var{WIKI_BASE:ld,docUrl:dd}=Dt(),Ks=t=>String(t??"").replace(/\|/g,"\\|").replace(/\n/g," ");function ud(t,e,s={}){let r=typeof s=="string"?{empty:s}:s,{labels:n=to,empty:o="\uFF08\u7A7A\uFF09"}=r;if(!e||!e.length){t.emit(o);return}if(t.isJson){t.emit(e);return}let i=Object.keys(e[0]),c=[`| ${i.map(l=>n[l]||l).map(Ks).join(" | ")} |`,`| ${i.map(()=>"---").join(" | ")} |`,...e.map(l=>`| ${i.map(d=>Ks(l[d])).join(" | ")} |`)];t.emit(c.join(`
|
|
52
52
|
`))}function pd(t,e,s=1/0){if(!Array.isArray(e)||!e.length){t.emit("\uFF08\u7A7A\uFF09");return}if(t.isJson){t.emit(e);return}let r=[],n=(o,i,a)=>{o.forEach((c,l)=>{let d=l===o.length-1,u=d?"\u2514\u2500\u2500 ":"\u251C\u2500\u2500 ",f=c.url?`${ld}${c.url}`:dd(c.id);r.push(`${i}${u}${c.title||c.id} ${f}`),c.children?.length&&a+1<s&&n(c.children,i+(d?" ":"\u2502 "),a+1)})};n(e,"",0),t.emit(r.join(`
|
|
53
53
|
`))}function md(t,e,s=null){if(t.isJson){let r={};for(let[n,o]of e)r[n]=o;s&&typeof s=="object"&&Object.assign(r,s),t.emit(r);return}t.emit(e.map(([r,n,o])=>`${o||r}: ${n??""}`).join(`
|
|
54
|
-
`))}var to={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"};so.exports={emitTable:ud,emitTree:pd,emitDetails:md,escCell:Ks,LABELS:to}});var Ys=$((
|
|
55
|
-
${t.data.url||""}`)},"share-update":{endpoint:"shares.update",req:"\u8BF7\u6307\u5B9A\u5206\u4EAB id\uFF08UUID\uFF09",body:(t,e)=>{let s={id:t};return e.includes("--published")&&(s.published=!0),e.includes("--no-published")&&(s.published=!1),e.includes("--include-children")&&(s.includeChildDocuments=!0),s},render:P("\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:P("\u5206\u4EAB\u5DF2\u64A4\u9500")},users:{endpoint:"users.list",body:(t,e)=>{let s={};return T(e,"--query")&&(s.query=T(e,"--query")),T(e,"--filter")&&(s.filter=T(e,"--filter")),s},render:W(oe,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:Ze(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)=>!(T(e,"--email")||t)&&"\u8BF7\u6307\u5B9A\u90AE\u7BB1\uFF08\u7B2C\u4E00\u4E2A\u53C2\u6570\u6216 --email\uFF09",body:(t,e)=>{let s=T(e,"--email")||t,r=T(e,"--name")||e[1],n=T(e,"--role")||e[2];return{invites:[{email:s,name:r,role:n}]}},render:(t,e)=>{let s=e.data||[];if(!s.length)return t.emit("\u9080\u8BF7\u5DF2\u53D1\u9001");ro(t,s.map(r=>({id:r.id,email:r.email||"",name:r.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:P("\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:P("\u7528\u6237\u5DF2\u6682\u505C")},"user-activate":{endpoint:"users.activate",req:"\u8BF7\u6307\u5B9A\u7528\u6237 id\uFF08UUID\uFF09",body:t=>({id:t}),render:P("\u7528\u6237\u5DF2\u6FC0\u6D3B")},groups:{endpoint:"groups.list",body:(t,e)=>{let s={};return T(e,"--query")&&(s.query=T(e,"--query")),s},render:W(oe,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:Ze(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:P(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 s={id:t};return T(e,"--name")&&(s.name=T(e,"--name")),s},render:P("\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:P("\u7FA4\u7EC4\u5DF2\u5220\u9664")},"group-members":{endpoint:"groups.memberships",req:"\u8BF7\u6307\u5B9A\u7FA4\u7EC4 id\uFF08UUID\uFF09",body:t=>({id:t}),render:W(ut,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:P("\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:P("\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:W(oe,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:P("\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 s={event:"documents.update"};return t&&(s.documentId=t),T(e,"--collection")&&(s.collectionId=T(e,"--collection")),s},render:W(oe,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:P(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:P("\u5DF2\u53D6\u6D88\u8BA2\u9605")},events:{endpoint:"events.list",resolve:[{flag:"--document",kind:"doc"},{flag:"--collection",kind:"col"}],body:(t,e)=>{let s={};return T(e,"--actor")&&(s.actorId=T(e,"--actor")),T(e,"--document")&&(s.documentId=T(e,"--document")),T(e,"--collection")&&(s.collectionId=T(e,"--collection")),T(e,"--type")&&(s.name=T(e,"--type")),s},render:W(oe,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 s={};return T(e,"--collection")&&(s.collectionId=T(e,"--collection")),s},render:W(oe,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:Ze(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 s=T(e,"--text")||"";return{collectionId:t,title:e[1],data:{type:"doc",content:s?[{type:"paragraph",content:[{type:"text",text:s}]}]:[]}}},render:P(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 s={id:t};T(e,"--title")&&(s.title=T(e,"--title"));let r=T(e,"--text");return r!==void 0&&(s.data={type:"doc",content:[{type:"paragraph",content:[{type:"text",text:r}]}]}),s},render:P("\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:P("\u6A21\u677F\u5DF2\u5220\u9664")},"duplicate-template":{endpoint:"templates.duplicate",req:"\u8BF7\u6307\u5B9A\u6A21\u677F id\uFF08UUID\uFF09",body:(t,e)=>{let s={id:t};return T(e,"--title")&&(s.title=T(e,"--title")),s},render:P(t=>`\u6A21\u677F\u5DF2\u590D\u5236: ${t.data.id} \u2014 ${t.data.title}`)},"file-ops":{endpoint:"fileOperations.list",body:(t,e)=>{let s={};return T(e,"--type")&&(s.type=T(e,"--type")),s},render:W(oe,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:Ze(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:P("\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:W(oe,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:W(oe,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:P("\u9644\u4EF6\u5DF2\u5220\u9664")}};no.exports={COMMANDS:wd,list:W,details:Ze,ok:P,flag:T,items:oe,memberships:ut,docRow:Hs}});var io=$((zy,oo)=>{var bd=[{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"}];oo.exports={ICON_LIST:bd}});var er=$((Ky,fo)=>{var es=require("fs"),vt=require("path"),{docUrl:pt,colUrl:Xs,errorMessage:kd}=Dt(),{emitTable:be,emitTree:xd,emitDetails:Pt}=Ws(),{ICON_LIST:ao}=io(),H=(t,e)=>{let s=t.indexOf(e);return s!==-1?t[s+1]:void 0},Id=(t,e=[])=>{let s=[];for(let r=0;r<t.length;r++){if(t[r].startsWith("--")){e.includes(t[r])&&r++;continue}s.push(t[r])}return s};async function j(t,e,s,{allowNoData:r=!1}={}){let n=await t.http.postJson(e,s,{allowNoData:r});if(!n.ok){t.ctx.fail(kd(n.body),void 0);let o=new Error("__handled__");throw o.handled=!0,o}return n.json}var ts=t=>({id:t.id,title:t.title,url:pt(t.urlId||t.id)});async function Cd(t){let{ctx:e,http:s,resolver:r,arg:n,args:o}=t,i=o.indexOf("-d"),a=i!==-1?parseInt(o[i+1],10):null;if(!n){let d=await j(t,"collections.list",{});return be(e,(d.data||[]).filter(u=>!u?.isShared).map(u=>({id:u.id,name:u.name,description:u.description||"",url:Xs(u.urlId||u.id)})),"\u6682\u65E0\u96C6\u5408"),0}let c=await r.toColUuid(n);if(a===null){let d=await j(t,"documents.list",{collectionId:c,sort:"updatedAt",direction:"DESC"});return be(e,(d.data||[]).map(ts),"\u6682\u65E0\u6587\u6863"),0}let l=await j(t,"collections.documents",{id:c});return xd(e,l.data||[],a===-1?1/0:a),0}async function $d(t){let{ctx:e,arg:s}=t,r=[...t.args],n=(A,k)=>{let S=r.indexOf(A);if(S===-1)return k;let L=r[S+1];return r.splice(S,2),L??k},o=n("--permission","read_write"),i=n("--icon"),a=n("--color"),c=n("--sort-field"),l=n("--sort-direction"),d=n("--index"),u=s||r[0];if(!u)return e.fail("\u8BF7\u6307\u5B9A\u96C6\u5408\u540D\u79F0",'\u7528\u6CD5: coder wiki create-collection "<\u540D\u79F0>" [\u63CF\u8FF0]'),1;let f=r.slice(1).filter(A=>!A.startsWith("--")).join(" "),h={name:u,description:f,sharing:!0};h.permission=o==="null"||o==="none"?null:o,i&&(h.icon=i),a&&(h.color=a),(c||l)&&(h.sort={field:c||"index",direction:l||"asc"}),d&&(h.index=d);let y=await j(t,"collections.create",h);return Pt(e,[["collection",`${y.data.id} \u2014 ${y.data.name}`,"\u96C6\u5408\u5DF2\u521B\u5EFA"],["url",Xs(y.data.urlId||y.data.id)]]),0}async function Sd(t){let{ctx:e,resolver:s,arg:r,args:n}=t;if(!r)return e.fail("\u8BF7\u6307\u5B9A\u96C6\u5408 id","coder wiki list \u67E5\u770B\u96C6\u5408"),1;let i={id:await s.toColUuid(r)};if(H(n,"--name")&&(i.name=H(n,"--name")),H(n,"--description")&&(i.description=H(n,"--description")),n.indexOf("--permission")!==-1){let c=H(n,"--permission");i.permission=c==="null"||c==="none"?null:c}if(H(n,"--color")&&(i.color=H(n,"--color")),n.indexOf("--sharing")!==-1&&(i.sharing=H(n,"--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 j(t,"collections.update",i);return e.emit(`\u96C6\u5408\u5DF2\u66F4\u65B0: ${a.data.id} \u2014 ${a.data.name}`),0}async function Qs(t,e,s,{allowNoData:r=!1}={}){let{ctx:n,resolver:o,arg:i}=t;if(!i)return n.fail("\u8BF7\u6307\u5B9A\u96C6\u5408 id","coder wiki list \u67E5\u770B\u96C6\u5408"),1;let a=await o.toColUuid(i);return await j(t,e,{id:a},{allowNoData:r}),n.emit(s),0}var Td=t=>Qs(t,"collections.delete","\u96C6\u5408\u5DF2\u5220\u9664",{allowNoData:!0}),Ad=t=>Qs(t,"collections.archive","\u96C6\u5408\u5DF2\u5F52\u6863"),Ed=t=>Qs(t,"collections.restore","\u96C6\u5408\u5DF2\u6062\u590D");async function Od(t){let{ctx:e,resolver:s,arg:r}=t;if(!r)return e.fail("\u8BF7\u6307\u5B9A\u6587\u6863 id","\u53EF\u4F20 UUID / urlId / \u6D4F\u89C8\u5668 URL"),1;let n=await s.toDocUuid(r),i=(await j(t,"documents.info",{id:n})).data;return Pt(e,[["title",i.title,"\u6807\u9898"],["id",i.id],["collection",i.collectionId,"\u96C6\u5408"],["updated_at",i.updatedAt,"\u66F4\u65B0"],["url",pt(i.urlId||i.id)]]),!e.isJson&&i.text&&e.emit(`
|
|
56
|
-
${i.text}`),0}function lo(t,e){let s=vt.resolve(e);if(!
|
|
57
|
-
${n.text}`),0}async function Md(t){let e=await j(t,"documents.drafts",{sort:"updatedAt",direction:"DESC"});return be(t.ctx,(e.data||[]).map(
|
|
54
|
+
`))}var to={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"};so.exports={emitTable:ud,emitTree:pd,emitDetails:md,escCell:Ks,LABELS:to}});var Ys=$((zy,no)=>{var{emitTable:ro,emitDetails:fd,emitTree:hd,LABELS:gd}=Ws(),{docUrl:yd,colUrl:_d}=Dt(),oe=t=>t?.data||[],ut=t=>t?.data?.memberships||t?.data?.groupMemberships||t?.data||[],W=(t,e,s)=>(r,n)=>ro(r,(t(n)||[]).map(e),{labels:gd,empty:s}),Ze=t=>(e,s)=>fd(e,t(s.data)),P=t=>(e,s)=>e.emit(typeof t=="function"?t(s):t),T=(t,e)=>{let s=t.indexOf(e);return s!==-1?t[s+1]:void 0},Hs=t=>({id:t.id,title:t.title,url:yd(t.urlId||t.id)}),wd={"collection-info":{endpoint:"collections.info",id:"col",req:"\u8BF7\u6307\u5B9A\u96C6\u5408 id",body:t=>({id:t}),render:Ze(t=>[["id",t.id],["name",t.name,"\u540D\u79F0"],["description",t.description||"","\u63CF\u8FF0"],["permission",t.permission||"null","\u6743\u9650"],["url",_d(t.urlId||t.id)]])},"collection-members":{endpoint:"collections.memberships",id:"col",req:"\u8BF7\u6307\u5B9A\u96C6\u5408 id",body:(t,e)=>{let s={id:t};return T(e,"--query")&&(s.query=T(e,"--query")),T(e,"--permission")&&(s.permission=T(e,"--permission")),s},render:W(ut,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 s={id:t,userId:e[1]};return T(e,"--permission")&&(s.permission=T(e,"--permission")),s},render:P("\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:P("\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 s={id:t,groupId:e[1]};return T(e,"--permission")&&(s.permission=T(e,"--permission")),s},render:P("\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:P("\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:W(ut,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 s={id:t};return T(e,"--format")&&(s.format=T(e,"--format")),s},render:P(t=>`\u5BFC\u51FA\u4EFB\u52A1\u5DF2\u521B\u5EFA: ${t.data?.id||""}`)},"export-all":{endpoint:"collections.export_all",body:(t,e)=>{let s={};return T(e,"--format")&&(s.format=T(e,"--format")),s},render:P(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:P("\u96C6\u5408\u5DF2\u79FB\u52A8")},archived:{endpoint:"documents.archived",resolve:[{flag:"--collection",kind:"col"}],body:(t,e)=>{let s={};return T(e,"--collection")&&(s.collectionId=T(e,"--collection")),T(e,"--sort")&&(s.sort=T(e,"--sort")),T(e,"--direction")&&(s.direction=T(e,"--direction")),s},render:W(oe,Hs,"\u6682\u65E0\u5DF2\u5F52\u6863\u6587\u6863")},deleted:{endpoint:"documents.deleted",body:(t,e)=>{let s={};return T(e,"--sort")&&(s.sort=T(e,"--sort")),T(e,"--direction")&&(s.direction=T(e,"--direction")),s},render:W(oe,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 s={id:t};return T(e,"--start-date")&&(s.startDate=T(e,"--start-date")),T(e,"--end-date")&&(s.endDate=T(e,"--end-date")),s},render:W(oe,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 s=e.data;t.emit(s)}},"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:W(oe,Hs,"\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 s={id:t};return T(e,"--title")&&(s.title=T(e,"--title")),T(e,"--collection")&&(s.collectionId=T(e,"--collection")),T(e,"--parent")&&(s.parentDocumentId=T(e,"--parent")),e.includes("--recursive")&&(s.recursive=!0),e.includes("--publish")&&(s.publish=!0),s},render:P(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:P("\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 s={id:t,publish:!0};return T(e,"--collection")&&(s.collectionId=T(e,"--collection")),s},render:P(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:W(ut,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 s={id:t,userId:e[1]};return T(e,"--permission")&&(s.permission=T(e,"--permission")),s},render:P("\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:P("\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 s={id:t,groupId:e[1]};return T(e,"--permission")&&(s.permission=T(e,"--permission")),s},render:P("\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:P("\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:W(ut,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:P("\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)=>hd(t,e.data?.children||[])},shares:{endpoint:"shares.list",resolve:[{flag:"--document",kind:"doc"}],body:(t,e)=>{let s={};return T(e,"--document")&&(s.documentId=T(e,"--document")),s},render:W(oe,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:Ze(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:P(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 s={id:t};return e.includes("--published")&&(s.published=!0),e.includes("--no-published")&&(s.published=!1),e.includes("--include-children")&&(s.includeChildDocuments=!0),s},render:P("\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:P("\u5206\u4EAB\u5DF2\u64A4\u9500")},users:{endpoint:"users.list",body:(t,e)=>{let s={};return T(e,"--query")&&(s.query=T(e,"--query")),T(e,"--filter")&&(s.filter=T(e,"--filter")),s},render:W(oe,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:Ze(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)=>!(T(e,"--email")||t)&&"\u8BF7\u6307\u5B9A\u90AE\u7BB1\uFF08\u7B2C\u4E00\u4E2A\u53C2\u6570\u6216 --email\uFF09",body:(t,e)=>{let s=T(e,"--email")||t,r=T(e,"--name")||e[1],n=T(e,"--role")||e[2];return{invites:[{email:s,name:r,role:n}]}},render:(t,e)=>{let s=e.data||[];if(!s.length)return t.emit("\u9080\u8BF7\u5DF2\u53D1\u9001");ro(t,s.map(r=>({id:r.id,email:r.email||"",name:r.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:P("\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:P("\u7528\u6237\u5DF2\u6682\u505C")},"user-activate":{endpoint:"users.activate",req:"\u8BF7\u6307\u5B9A\u7528\u6237 id\uFF08UUID\uFF09",body:t=>({id:t}),render:P("\u7528\u6237\u5DF2\u6FC0\u6D3B")},groups:{endpoint:"groups.list",body:(t,e)=>{let s={};return T(e,"--query")&&(s.query=T(e,"--query")),s},render:W(oe,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:Ze(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:P(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 s={id:t};return T(e,"--name")&&(s.name=T(e,"--name")),s},render:P("\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:P("\u7FA4\u7EC4\u5DF2\u5220\u9664")},"group-members":{endpoint:"groups.memberships",req:"\u8BF7\u6307\u5B9A\u7FA4\u7EC4 id\uFF08UUID\uFF09",body:t=>({id:t}),render:W(ut,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:P("\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:P("\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:W(oe,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:P("\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 s={event:"documents.update"};return t&&(s.documentId=t),T(e,"--collection")&&(s.collectionId=T(e,"--collection")),s},render:W(oe,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:P(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:P("\u5DF2\u53D6\u6D88\u8BA2\u9605")},events:{endpoint:"events.list",resolve:[{flag:"--document",kind:"doc"},{flag:"--collection",kind:"col"}],body:(t,e)=>{let s={};return T(e,"--actor")&&(s.actorId=T(e,"--actor")),T(e,"--document")&&(s.documentId=T(e,"--document")),T(e,"--collection")&&(s.collectionId=T(e,"--collection")),T(e,"--type")&&(s.name=T(e,"--type")),s},render:W(oe,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 s={};return T(e,"--collection")&&(s.collectionId=T(e,"--collection")),s},render:W(oe,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:Ze(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 s=T(e,"--text")||"";return{collectionId:t,title:e[1],data:{type:"doc",content:s?[{type:"paragraph",content:[{type:"text",text:s}]}]:[]}}},render:P(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 s={id:t};T(e,"--title")&&(s.title=T(e,"--title"));let r=T(e,"--text");return r!==void 0&&(s.data={type:"doc",content:[{type:"paragraph",content:[{type:"text",text:r}]}]}),s},render:P("\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:P("\u6A21\u677F\u5DF2\u5220\u9664")},"duplicate-template":{endpoint:"templates.duplicate",req:"\u8BF7\u6307\u5B9A\u6A21\u677F id\uFF08UUID\uFF09",body:(t,e)=>{let s={id:t};return T(e,"--title")&&(s.title=T(e,"--title")),s},render:P(t=>`\u6A21\u677F\u5DF2\u590D\u5236: ${t.data.id} \u2014 ${t.data.title}`)},"file-ops":{endpoint:"fileOperations.list",body:(t,e)=>{let s={};return T(e,"--type")&&(s.type=T(e,"--type")),s},render:W(oe,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:Ze(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:P("\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:W(oe,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:W(oe,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:P("\u9644\u4EF6\u5DF2\u5220\u9664")}};no.exports={COMMANDS:wd,list:W,details:Ze,ok:P,flag:T,items:oe,memberships:ut,docRow:Hs}});var io=$((Ky,oo)=>{var bd=[{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"}];oo.exports={ICON_LIST:bd}});var er=$((Wy,fo)=>{var ts=require("fs"),vt=require("path"),{docUrl:pt,colUrl:Xs,errorMessage:kd}=Dt(),{emitTable:be,emitTree:xd,emitDetails:Pt}=Ws(),{ICON_LIST:ao}=io(),H=(t,e)=>{let s=t.indexOf(e);return s!==-1?t[s+1]:void 0},Id=(t,e=[])=>{let s=[];for(let r=0;r<t.length;r++){if(t[r].startsWith("--")){e.includes(t[r])&&r++;continue}s.push(t[r])}return s};async function j(t,e,s,{allowNoData:r=!1}={}){let n=await t.http.postJson(e,s,{allowNoData:r});if(!n.ok){t.ctx.fail(kd(n.body),void 0);let o=new Error("__handled__");throw o.handled=!0,o}return n.json}var ss=t=>({id:t.id,title:t.title,url:pt(t.urlId||t.id)});async function Cd(t){let{ctx:e,http:s,resolver:r,arg:n,args:o}=t,i=o.indexOf("-d"),a=i!==-1?parseInt(o[i+1],10):null;if(!n){let d=await j(t,"collections.list",{});return be(e,(d.data||[]).filter(u=>!u?.isShared).map(u=>({id:u.id,name:u.name,description:u.description||"",url:Xs(u.urlId||u.id)})),"\u6682\u65E0\u96C6\u5408"),0}let c=await r.toColUuid(n);if(a===null){let d=await j(t,"documents.list",{collectionId:c,sort:"updatedAt",direction:"DESC"});return be(e,(d.data||[]).map(ss),"\u6682\u65E0\u6587\u6863"),0}let l=await j(t,"collections.documents",{id:c});return xd(e,l.data||[],a===-1?1/0:a),0}async function $d(t){let{ctx:e,arg:s}=t,r=[...t.args],n=(A,k)=>{let S=r.indexOf(A);if(S===-1)return k;let M=r[S+1];return r.splice(S,2),M??k},o=n("--permission","read_write"),i=n("--icon"),a=n("--color"),c=n("--sort-field"),l=n("--sort-direction"),d=n("--index"),u=s||r[0];if(!u)return e.fail("\u8BF7\u6307\u5B9A\u96C6\u5408\u540D\u79F0",'\u7528\u6CD5: coder wiki create-collection "<\u540D\u79F0>" [\u63CF\u8FF0]'),1;let f=r.slice(1).filter(A=>!A.startsWith("--")).join(" "),h={name:u,description:f,sharing:!0};h.permission=o==="null"||o==="none"?null:o,i&&(h.icon=i),a&&(h.color=a),(c||l)&&(h.sort={field:c||"index",direction:l||"asc"}),d&&(h.index=d);let y=await j(t,"collections.create",h);return Pt(e,[["collection",`${y.data.id} \u2014 ${y.data.name}`,"\u96C6\u5408\u5DF2\u521B\u5EFA"],["url",Xs(y.data.urlId||y.data.id)]]),0}async function Sd(t){let{ctx:e,resolver:s,arg:r,args:n}=t;if(!r)return e.fail("\u8BF7\u6307\u5B9A\u96C6\u5408 id","coder wiki list \u67E5\u770B\u96C6\u5408"),1;let i={id:await s.toColUuid(r)};if(H(n,"--name")&&(i.name=H(n,"--name")),H(n,"--description")&&(i.description=H(n,"--description")),n.indexOf("--permission")!==-1){let c=H(n,"--permission");i.permission=c==="null"||c==="none"?null:c}if(H(n,"--color")&&(i.color=H(n,"--color")),n.indexOf("--sharing")!==-1&&(i.sharing=H(n,"--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 j(t,"collections.update",i);return e.emit(`\u96C6\u5408\u5DF2\u66F4\u65B0: ${a.data.id} \u2014 ${a.data.name}`),0}async function Qs(t,e,s,{allowNoData:r=!1}={}){let{ctx:n,resolver:o,arg:i}=t;if(!i)return n.fail("\u8BF7\u6307\u5B9A\u96C6\u5408 id","coder wiki list \u67E5\u770B\u96C6\u5408"),1;let a=await o.toColUuid(i);return await j(t,e,{id:a},{allowNoData:r}),n.emit(s),0}var Td=t=>Qs(t,"collections.delete","\u96C6\u5408\u5DF2\u5220\u9664",{allowNoData:!0}),Ad=t=>Qs(t,"collections.archive","\u96C6\u5408\u5DF2\u5F52\u6863"),Ed=t=>Qs(t,"collections.restore","\u96C6\u5408\u5DF2\u6062\u590D");async function Od(t){let{ctx:e,resolver:s,arg:r}=t;if(!r)return e.fail("\u8BF7\u6307\u5B9A\u6587\u6863 id","\u53EF\u4F20 UUID / urlId / \u6D4F\u89C8\u5668 URL"),1;let n=await s.toDocUuid(r),i=(await j(t,"documents.info",{id:n})).data;return Pt(e,[["title",i.title,"\u6807\u9898"],["id",i.id],["collection",i.collectionId,"\u96C6\u5408"],["updated_at",i.updatedAt,"\u66F4\u65B0"],["url",pt(i.urlId||i.id)]]),!e.isJson&&i.text&&e.emit(`
|
|
56
|
+
${i.text}`),0}function lo(t,e){let s=vt.resolve(e);if(!ts.existsSync(s))return t.ctx.fail(`\u6587\u4EF6\u4E0D\u5B58\u5728: ${s}`,"\u786E\u8BA4\u8DEF\u5F84\u6B63\u786E"),null;let r=ts.readFileSync(s,"utf8"),n=r.match(/^#\s+(.+)/m);return n?{title:n[1].trim(),text:r.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 Ud(t){let{ctx:e,resolver:s,arg:r,args:n}=t;if(!r)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 s.toColUuid(r),i,a,c=H(n,"--parent")?await s.toDocUuid(H(n,"--parent")):void 0,l=await po(t,o);if(!l.ok)return 1;let d=l.index;l.parentDocumentId&&!c&&(c=l.parentDocumentId);let u=!1;if(n.indexOf("--file")!==-1){let S=H(n,"--file");u=S&&vt.extname(S).toLowerCase()===".mdx";let M=lo(t,S);if(!M)return 1;({title:i,text:a}=M)}else if(i=n[1],a=n.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 f={collectionId:o,title:i,text:"",publish:!0};c&&(f.parentDocumentId=c),u&&(f.format="mdx");let y=(await j(t,"documents.create",f)).data.id,A={id:y,title:i,text:a,publish:!0};u&&(A.format="mdx");let k=await j(t,"documents.update",A);if(d!==void 0){let S={id:y,collectionId:o,index:d};c&&(S.parentDocumentId=c),await j(t,"documents.move",S)}return Pt(e,[["title",k.data.title,"\u6587\u6863\u5DF2\u53D1\u5E03"],["id",y],["url",pt(k.data.urlId||y)]]),0}function uo(t,e,s=null){if(!Array.isArray(t))return null;for(let r=0;r<t.length;r++){if(t[r].id===e)return{index:r,parentDocumentId:s};if(t[r].children?.length){let n=uo(t[r].children,e,t[r].id);if(n)return n}}return null}async function po(t,e){let{ctx:s,resolver:r,args:n}=t,o=H(n,"--after");if(n.indexOf("--after")!==-1){if(!o)return s.fail("\u8BF7\u6307\u5B9A --after \u7684\u6587\u6863","\u4F20 UUID / urlId / URL"),{ok:!1};let i=await r.toDocUuid(o),a=await j(t,"collections.documents",{id:e}),c=uo(a.data,i);return c?{ok:!0,index:c.index+1,parentDocumentId:c.parentDocumentId}:(s.fail(`\u96C6\u5408\u4E2D\u672A\u627E\u5230\u6587\u6863 ${o}`,"\u786E\u8BA4\u8BE5\u6587\u6863\u5C5E\u4E8E\u6B64\u96C6\u5408"),{ok:!1})}if(n.indexOf("--index")!==-1){let i=parseInt(H(n,"--index"),10);return isNaN(i)||i<0?(s.fail("--index \u9700\u4E3A\u975E\u8D1F\u6574\u6570","\u4F8B\u5982 --index 3"),{ok:!1}):{ok:!0,index:i}}return{ok:!0}}async function Dd(t){let{ctx:e,resolver:s,arg:r,args:n}=t;if(!r)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 s.toDocUuid(r),i,a,c=!1;if(n.indexOf("--file")!==-1){let u=H(n,"--file");c=u&&vt.extname(u).toLowerCase()===".mdx";let f=lo(t,u);if(!f)return 1;({title:i,text:a}=f)}else if(i=n[1],a=n.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 l={id:o,title:i,publish:!0};a&&(l.text=a),c&&(l.format="mdx");let d=await j(t,"documents.update",l);return e.emit(`\u6587\u6863\u5DF2\u66F4\u65B0: ${d.data.title}`),0}async function vd(t){let{ctx:e,resolver:s,arg:r,args:n}=t;if(!r)return e.fail("\u8BF7\u6307\u5B9A\u6587\u6863 id","\u53EF\u4F20 UUID / urlId / URL"),1;let o=await s.toDocUuid(r),i=n.includes("--permanent");return await j(t,"documents.delete",{id:o,...i?{permanent:!0}:{}},{allowNoData:!0}),e.emit(`\u6587\u6863\u5DF2${i?"\u6C38\u4E45":""}\u5220\u9664`),0}async function Pd(t){let{ctx:e,resolver:s,arg:r,args:n}=t;if(!r)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 s.toDocUuid(r),i=Id(n,["--index","--after"]),a=i[1]?await s.toColUuid(i[1]):void 0,c=i[2]?await s.toDocUuid(i[2]):void 0;a||(a=(await j(t,"documents.info",{id:o})).data.collectionId);let l=await po(t,a);if(!l.ok)return 1;let d=l.index;l.parentDocumentId&&c===void 0&&(c=l.parentDocumentId);let u={id:o,collectionId:a,index:d!==void 0?d:0};return c!==void 0&&(u.parentDocumentId=c),await j(t,"documents.move",u),e.emit("\u6587\u6863\u5DF2\u79FB\u52A8"),0}async function Rd(t,e,s){let{ctx:r,resolver:n,arg:o}=t;if(!o)return r.fail("\u8BF7\u6307\u5B9A\u6587\u6863 id","\u53EF\u4F20 UUID / urlId / URL"),1;let i=await n.toDocUuid(o);return await j(t,e,{id:i}),r.emit(s),0}var jd=t=>Rd(t,"documents.archive","\u6587\u6863\u5DF2\u5F52\u6863");async function qd(t){let{ctx:e,resolver:s,arg:r,args:n}=t;if(!r)return e.fail("\u8BF7\u6307\u5B9A\u6587\u6863 id","\u53EF\u4F20 UUID / urlId / URL"),1;let i={id:await s.toDocUuid(r)};return H(n,"--revision")&&(i.revisionId=H(n,"--revision")),H(n,"--collection")&&(i.collectionId=await s.toColUuid(H(n,"--collection"))),await j(t,"documents.restore",i),e.emit("\u6587\u6863\u5DF2\u6062\u590D"),0}async function Nd(t){let{ctx:e,resolver:s,arg:r}=t;if(!r)return e.fail("\u8BF7\u6307\u5B9A\u6587\u6863 id","\u53EF\u4F20 UUID / urlId / URL"),1;let n=await s.toDocUuid(r),o=await j(t,"revisions.list",{documentId:n,sort:"createdAt",direction:"DESC"});return be(e,(o.data||[]).map(i=>({revisionId:i.id,name:i.name||"",created_at:i.createdAt})),"\u6682\u65E0\u5386\u53F2\u7248\u672C"),0}async function Ld(t){let{ctx:e,arg:s}=t;if(!s)return e.fail("\u8BF7\u6307\u5B9A\u7248\u672C id\uFF08UUID\uFF0C\u6765\u81EA revisions \u5217\u8868\uFF09","coder wiki revisions <\u6587\u6863>"),1;let n=(await j(t,"revisions.info",{id:s})).data;return Pt(e,[["revisionId",n.id,"\u7248\u672C id"],["name",n.name||"","\u7248\u672C\u540D"],["documentId",n.documentId,"\u6587\u6863 id"],["created_at",n.createdAt,"\u521B\u5EFA\u65F6\u95F4"]]),!e.isJson&&n.text&&e.emit(`
|
|
57
|
+
${n.text}`),0}async function Md(t){let e=await j(t,"documents.drafts",{sort:"updatedAt",direction:"DESC"});return be(t.ctx,(e.data||[]).map(ss),"\u6682\u65E0\u8349\u7A3F"),0}async function Zd(t){let e=await j(t,"documents.viewed",{sort:"updatedAt",direction:"DESC"});return be(t.ctx,(e.data||[]).map(ss),"\u6682\u65E0\u6D4F\u89C8\u8BB0\u5F55"),0}async function Bd(t){let{ctx:e,arg:s,args:r}=t;if(!s)return e.fail("\u8BF7\u6307\u5B9A\u641C\u7D22\u5173\u952E\u8BCD","coder wiki search <\u5173\u952E\u8BCD>"),1;let n=[s,...r.slice(1)].join(" "),i=(await j(t,"documents.search",{query:n,snippetMinWords:20,snippetMaxWords:30})).data||[];return be(e,i.map(a=>ss(a.document||a)),`\u6CA1\u6709\u627E\u5230\u4E0E "${n}" \u76F8\u5173\u7684\u6587\u6863`),0}async function Fd(t){let{ctx:e}=t,s=await j(t,"stars.list",{}),r=s.data?.stars||[],n={};for(let o of s.data?.documents||[])n[o.id]=o;return be(e,r.map(o=>{let i=o.documentId?n[o.documentId]:null;return{starId:o.id,title:i?.title||o.collectionId||o.documentId||"",url:i?pt(i.urlId||i.id):o.collectionId?Xs(o.collectionId):o.documentId?pt(o.documentId):""}}),"\u6682\u65E0\u6536\u85CF"),0}async function Gd(t){let{ctx:e,resolver:s,arg:r,args:n}=t;if(!r)return e.fail("\u8BF7\u6307\u5B9A\u6587\u6863\u6216\u96C6\u5408 id","\u96C6\u5408\u7528 --collection \u6807\u8BB0"),1;let o=n.includes("--collection"),i=o?await s.toColUuid(r):await s.toDocUuid(r);return await j(t,"stars.create",o?{collectionId:i}:{documentId:i}),e.emit("\u5DF2\u6536\u85CF"),0}async function Vd(t){let{ctx:e,arg:s}=t;return s?(await j(t,"stars.delete",{id:s},{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 Jd(t){let{ctx:e,resolver:s,arg:r}=t,n=r?{collectionId:await s.toColUuid(r)}:{},o=await j(t,"pins.list",n),i=o.data?.pins||[],a={};for(let c of o.data?.documents||[])a[c.id]=c;return be(e,i.map(c=>{let l=c.documentId?a[c.documentId]:null;return{pinId:c.id,title:l?.title||c.documentId,url:pt(l?.urlId||c.documentId)}}),"\u6682\u65E0\u7F6E\u9876"),0}async function zd(t){let{ctx:e,resolver:s,arg:r,args:n}=t;if(!r)return e.fail("\u8BF7\u6307\u5B9A\u6587\u6863 id","coder wiki pin <\u6587\u6863> [\u96C6\u5408]"),1;let i={documentId:await s.toDocUuid(r)};n[1]&&(i.collectionId=await s.toColUuid(n[1]));let a=await j(t,"pins.create",i);return e.emit(`\u5DF2\u7F6E\u9876: ${a.data.id}`),0}async function Kd(t){let{ctx:e,arg:s}=t;return s?(await j(t,"pins.delete",{id:s},{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 Wd(t){let{ctx:e,resolver:s,arg:r}=t;if(!r)return e.fail("\u8BF7\u6307\u5B9A\u6587\u6863 id","\u53EF\u4F20 UUID / urlId / URL"),1;let n=await s.toDocUuid(r),i=(await j(t,"comments.list",{documentId:n,sort:"createdAt",direction:"ASC"})).data||[];return i.length?(e.isJson?be(e,i.map(a=>({id:a.id,author:a.createdBy?.name||"?",content:co(a.data)}))):e.emit(i.map(a=>` [${a.id}] ${a.createdBy?.name||"?"}: ${co(a.data)}`).join(`
|
|
58
58
|
`)),0):(e.emit("\u6682\u65E0\u8BC4\u8BBA"),0)}async function Hd(t){let{ctx:e,resolver:s,arg:r,args:n}=t,o=n.slice(1).join(" ");if(!r||!o)return e.fail("\u7528\u6CD5: coder wiki comment <\u6587\u6863> <\u5185\u5BB9>","\u53EF\u4F20 UUID / urlId / URL"),1;let i=await s.toDocUuid(r),a=await j(t,"comments.create",{documentId:i,text:o});return e.emit(`\u8BC4\u8BBA\u5DF2\u53D1\u5E03: ${a.data.id}`),0}function co(t){return t?.content?t.content.flatMap(e=>e.content||[]).filter(e=>e.type==="text").map(e=>e.text).join(""):""}function Yd(t){let{ctx:e,arg:s,args:r}=t,n=H(r,"--query")||s||"",o=n?ao.filter(i=>i.name.toLowerCase().includes(n.toLowerCase())||i.keywords.toLowerCase().includes(n.toLowerCase())):ao;return o.length?(be(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 "${n}" \u76F8\u5173\u7684\u56FE\u6807`),0)}async function Xd(t){let{ctx:e,http:s,resolver:r,arg:n,args:o}=t,i=o[1];if(!n||!i)return e.fail("\u7528\u6CD5: coder wiki upload <\u6587\u6863> <\u6587\u4EF6\u8DEF\u5F84>","\u53EF\u4F20 UUID / urlId / URL"),1;let a=await r.toDocUuid(n),c=vt.resolve(i);if(!
|
|
60
|
+
\u63D0\u793A: \u4E5F\u53EF\u76F4\u63A5\u7528 emoji\uFF0C\u5982 --icon \u{1F4DA}`),0):(e.emit(`\u6CA1\u6709\u627E\u5230\u4E0E "${n}" \u76F8\u5173\u7684\u56FE\u6807`),0)}async function Xd(t){let{ctx:e,http:s,resolver:r,arg:n,args:o}=t,i=o[1];if(!n||!i)return e.fail("\u7528\u6CD5: coder wiki upload <\u6587\u6863> <\u6587\u4EF6\u8DEF\u5F84>","\u53EF\u4F20 UUID / urlId / URL"),1;let a=await r.toDocUuid(n),c=vt.resolve(i);if(!ts.existsSync(c))return e.fail(`\u6587\u4EF6\u4E0D\u5B58\u5728: ${c}`,"\u786E\u8BA4\u8DEF\u5F84\u6B63\u786E"),1;let l=ts.readFileSync(c),d=vt.basename(c),u=eu(c),f=await j(t,"attachments.create",{name:d,documentId:a,size:l.length,contentType:u,preset:"documentAttachment"}),{uploadUrl:h,form:y,attachment:A}=f.data,k=await tu(h,y,l,d,u);return k.status>=300?(e.fail(`\u4E0A\u4F20\u5931\u8D25 (HTTP ${k.status}): ${k.body.slice(0,200)}`,"\u68C0\u67E5\u7F51\u7EDC\u6216\u6587\u4EF6\u5927\u5C0F"),1):(mo(e,A,u),0)}async function Qd(t){let{ctx:e,resolver:s,arg:r,args:n}=t,o=n[1];if(!r||!o)return e.fail("\u7528\u6CD5: coder wiki upload-url <\u6587\u6863> <url>","\u53EF\u4F20 UUID / urlId / URL"),1;let i=await s.toDocUuid(r),a=await j(t,"attachments.createFromUrl",{url:o,documentId:i,preset:"documentAttachment"});return mo(e,a.data,a.data.contentType),0}function mo(t,e,s){let r=(s||"").startsWith("image/")?``:`[${e.name}](${e.url})`;Pt(t,[["filename",e.name,"\u9644\u4EF6\u5DF2\u4E0A\u4F20"],["id",e.id],["url",e.url],["markdown",r]])}function eu(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 tu(t,e,s,r,n){return new Promise((o,i)=>{let a=`----FormBoundary${Math.random().toString(36).slice(2)}${Date.now()}`,c=[];for(let[A,k]of Object.entries(e))c.push(Buffer.from(`--${a}\r
|
|
61
61
|
Content-Disposition: form-data; name="${A}"\r
|
|
62
62
|
\r
|
|
63
63
|
${k}\r
|
|
@@ -67,9 +67,9 @@ Content-Type: ${n}\r
|
|
|
67
67
|
\r
|
|
68
68
|
`),d=Buffer.from(`\r
|
|
69
69
|
--${a}--\r
|
|
70
|
-
`),u=Buffer.concat([...c,l,s,d]),f=new URL(t),y=(f.protocol==="https:"?require("https"):require("http")).request({hostname:f.hostname,port:f.port||(f.protocol==="https:"?443:80),path:f.pathname+f.search,method:"POST",headers:{"Content-Type":`multipart/form-data; boundary=${a}`,"Content-Length":u.length}},A=>{let k="";A.on("data",S=>k+=S),A.on("end",()=>o({status:A.statusCode,body:k}))});y.on("error",i),y.write(u),y.end()})}fo.exports={list:Cd,createCollection:$d,updateCollection:Sd,deleteCollection:Td,archiveCollection:Ad,restoreCollection:Ed,get:Od,publish:Ud,update:Dd,delete:vd,move:Pd,archive:jd,restore:qd,revisions:Nd,revision:Ld,drafts:Md,recent:Zd,search:Bd,stars:Fd,star:Gd,unstar:Vd,pins:Jd,pin:zd,unpin:Kd,comments:Wd,comment:Hd,icons:Yd,upload:Xd,uploadUrl:Qd}});var To=$((
|
|
70
|
+
`),u=Buffer.concat([...c,l,s,d]),f=new URL(t),y=(f.protocol==="https:"?require("https"):require("http")).request({hostname:f.hostname,port:f.port||(f.protocol==="https:"?443:80),path:f.pathname+f.search,method:"POST",headers:{"Content-Type":`multipart/form-data; boundary=${a}`,"Content-Length":u.length}},A=>{let k="";A.on("data",S=>k+=S),A.on("end",()=>o({status:A.statusCode,body:k}))});y.on("error",i),y.write(u),y.end()})}fo.exports={list:Cd,createCollection:$d,updateCollection:Sd,deleteCollection:Td,archiveCollection:Ad,restoreCollection:Ed,get:Od,publish:Ud,update:Dd,delete:vd,move:Pd,archive:jd,restore:qd,revisions:Nd,revision:Ld,drafts:Md,recent:Zd,search:Bd,stars:Fd,star:Gd,unstar:Vd,pins:Jd,pin:zd,unpin:Kd,comments:Wd,comment:Hd,icons:Yd,upload:Xd,uploadUrl:Qd}});var To=$((Hy,So)=>{function ho(t){return t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}var go=["agent","auth","pub","update","wiki","team","skills","claude","codex","gemini"],yo=["--format","--apikey","--help","--version","--install-completion","--show-completion"],tr={pub:["--name","--meta-data","--allow-clone"]},_o=["login","logout","status"],wo=["list","current","use","info"],sr=["members","groups"];function bo(){return Kt().AGENT_NAMES}function ko(t){let e=Ms();return e[t]?Object.keys(e[t]):[]}function xo(){return Qt().SKILLS_SUBCOMMANDS}function Io(){let{COMMANDS:t}=Ys(),e=er(),s=Object.keys(t),r=Object.keys(e).filter(n=>typeof e[n]=="function").map(ho);return Array.from(new Set([...r,...s])).sort()}function Co(t){let e=t.length?t[t.length-1]:"",s=t.slice(0,-1),r=s[0];if(e.startsWith("-")){let o=[...yo];return r&&tr[r]&&o.push(...tr[r]),o}if(s[s.length-1]==="--format")return["text","json"];if(s.length===0)return go;switch(r){case"agent":return s.length===1?bo():[];case"auth":return s.length===1?_o:[];case"skills":return s.length===1?xo():[];case"wiki":return s.length===1?Io():[];case"team":return s.length===1?[...wo,...sr]:s.length===2&&sr.includes(s[1])?ko(s[1]):[];default:return[]}}function $o(t){let e=t.length?t[t.length-1]:"",s=Co(t),r=new Set,n=[];for(let o of s)o.startsWith(e)&&!r.has(o)&&(r.add(o),n.push(o));return n}function su(t){let e=t.indexOf("--"),s=e===-1?t:t.slice(e+1),r=$o(s);return r.length&&process.stdout.write(r.join(`
|
|
71
71
|
`)+`
|
|
72
|
-
`),0}So.exports={complete:su,candidates:$o,candidatesFor:Co,camelToKebab:ho,TOP_LEVEL:go,GLOBAL_OPTIONS:yo,COMMAND_OPTIONS:tr,AUTH_SUBCOMMANDS:_o,TEAM_TOP:wo,TEAM_RESOURCES:sr,wikiSubcommands:Io,skillsSubcommands:xo,teamVerbs:ko,agentNames:bo}});var Eo=$((
|
|
72
|
+
`),0}So.exports={complete:su,candidates:$o,candidatesFor:Co,camelToKebab:ho,TOP_LEVEL:go,GLOBAL_OPTIONS:yo,COMMAND_OPTIONS:tr,AUTH_SUBCOMMANDS:_o,TEAM_TOP:wo,TEAM_RESOURCES:sr,wikiSubcommands:Io,skillsSubcommands:xo,teamVerbs:ko,agentNames:bo}});var Eo=$((Yy,Ao)=>{function ru(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
|
-
`}Ao.exports={bashScript:ru}});var Uo=$((
|
|
94
|
+
`}Ao.exports={bashScript:ru}});var Uo=$((Xy,Oo)=>{function nu(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
|
-
`}Oo.exports={zshScript:nu}});var Po=$((
|
|
106
|
+
`}Oo.exports={zshScript:nu}});var Po=$((Qy,vo)=>{var rs=require("fs"),ou=require("os"),Se=require("path"),{bashScript:iu}=Eo(),{zshScript:au}=Uo(),ns=["bash","zsh","fish"];function rr(){let t=(process.env.SHELL||"").split("/").pop();return ns.includes(t)?t:"bash"}function nr(t){return t==="bash"?iu():t==="zsh"?au():t==="fish"?cu():null}function cu(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 lu(t){let e=ou.homedir();if(t==="bash"){let s=
|
|
113
|
-
source "${r}"`}}if(t==="fish"){let s=
|
|
112
|
+
`}function lu(t){let e=ou.homedir();if(t==="bash"){let s=Se.join(e,".coder","completions"),r=Se.join(s,"coder.bash"),n=[Se.join(e,".bashrc"),Se.join(e,".bash_profile")];return{dir:s,file:r,rcs:n,sourceLine:`source "${r}"`}}if(t==="zsh"){let s=Se.join(e,".coder","completions"),r=Se.join(s,"coder.zsh");return{dir:s,file:r,rcs:[Se.join(e,".zshrc")],sourceLine:`autoload -Uz compinit && compinit
|
|
113
|
+
source "${r}"`}}if(t==="fish"){let s=Se.join(e,".config","fish","completions"),r=Se.join(s,"coder.fish");return{dir:s,file:r,rcs:[],sourceLine:null}}return null}var Do="# >>> coder completion >>>",du="# <<< coder completion <<<";function uu(t,e){let s="";try{s=rs.readFileSync(t,"utf8")}catch{s=""}if(s.includes(Do))return!1;let r=`
|
|
114
114
|
${Do}
|
|
115
115
|
${e}
|
|
116
116
|
${du}
|
|
117
|
-
`;return
|
|
117
|
+
`;return rs.appendFileSync(t,r,"utf8"),!0}function pu(t,e){let s=e||rr(),r=nr(s);return r?(process.stdout.write(r),0):(t.fail(`unsupported shell: ${s}`,`\u652F\u6301: ${ns.join(" | ")}`),1)}function mu(t,e){let s=e||rr(),r=nr(s),n=lu(s);if(!r||!n)return t.fail(`unsupported shell: ${s}`,`\u652F\u6301: ${ns.join(" | ")}`),1;try{rs.mkdirSync(n.dir,{recursive:!0}),rs.writeFileSync(n.file,r,"utf8")}catch(a){return t.fail(`\u65E0\u6CD5\u5199\u5165\u8865\u5168\u811A\u672C: ${a.message}`,`\u68C0\u67E5\u76EE\u5F55\u6743\u9650: ${n.dir}`),1}let o=[];if(n.rcs.length===0)return t.emit([`\u5DF2\u4E3A ${s} \u5B89\u88C5\u8865\u5168: ${n.file}`,"fish \u4F1A\u81EA\u52A8\u52A0\u8F7D\u8BE5\u76EE\u5F55\uFF0C\u65B0\u5F00\u4E00\u4E2A\u7EC8\u7AEF\u5373\u53EF\u751F\u6548\u3002"].join(`
|
|
118
118
|
`)),0;for(let a of n.rcs)try{uu(a,n.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 ${s} \u5B89\u88C5\u8865\u5168: ${n.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: "+n.sourceLine.split(`
|
|
119
119
|
`).pop()),t.emit(i.join(`
|
|
120
|
-
`)),0}vo.exports={detectShell:rr,scriptFor:nr,showCompletion:pu,installCompletion:mu,SUPPORTED:
|
|
121
|
-
`))}function _u(t,e){t.command("agent <name> [args...]").description(`\u8FD0\u884C\u4E00\u4E2A AI \u667A\u80FD\u4F53\uFF08${Rt.join(" | ")}\uFF09`).allowUnknownOption().passThroughOptions().helpOption(!1).action(async(s,r)=>{if(gu.has(s)){yu(e);return}if(!fu(s)){e.fail(`unknown agent: ${s}`,`available: ${Rt.join(" | ")}`),process.exitCode=1;return}process.exitCode=await hu(s,r||[],e)||0})}jo.exports={register:_u}});var Lo=$((
|
|
120
|
+
`)),0}vo.exports={detectShell:rr,scriptFor:nr,showCompletion:pu,installCompletion:mu,SUPPORTED:ns}});var qo=$((e_,jo)=>{var{AGENTS:Ro,AGENT_NAMES:Rt,isAgentName:fu,launchAgent:hu}=Kt(),gu=new Set(["--help","-h","help"]);function yu(t){if(t.isJson){t.emit({usage:"coder agent <name> [args...]",agents:Rt.map(r=>({name:r,description:Ro[r].description}))});return}let e=["Usage: coder agent <name> [args...]","","Agents:"],s=Math.max(...Rt.map(r=>r.length));for(let r of Rt)e.push(` ${r.padEnd(s)} ${Ro[r].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 _u(t,e){t.command("agent <name> [args...]").description(`\u8FD0\u884C\u4E00\u4E2A AI \u667A\u80FD\u4F53\uFF08${Rt.join(" | ")}\uFF09`).allowUnknownOption().passThroughOptions().helpOption(!1).action(async(s,r)=>{if(gu.has(s)){yu(e);return}if(!fu(s)){e.fail(`unknown agent: ${s}`,`available: ${Rt.join(" | ")}`),process.exitCode=1;return}process.exitCode=await hu(s,r||[],e)||0})}jo.exports={register:_u}});var Lo=$((t_,No)=>{var wu=require("http"),or=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 s=e.split(".");if(s.length!==2)return!1;let[r,n]=s;return r&&r.length>0&&n&&n.length>0}async waitForCallback(e){return new Promise((s,r)=>{let n=!1;this.server=wu.createServer((o,i)=>{let a=new URL(o.url,`http://localhost:${this.port}`);if(a.pathname==="/callback"){let c=a.searchParams.get("token"),l=a.searchParams.get("state"),d=a.searchParams.get("error");if(d){i.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),i.end(`
|
|
122
122
|
<!DOCTYPE html>
|
|
123
123
|
<html>
|
|
124
124
|
<head>
|
|
@@ -243,7 +243,7 @@ ${du}
|
|
|
243
243
|
</script>
|
|
244
244
|
</body>
|
|
245
245
|
</html>
|
|
246
|
-
`),n||(n=!0,this.cleanup(),s({ak:u,sk:f}))}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){n||(n=!0,r(new Error("Could not find available port for OAuth callback server")));return}this.server.close(),this.server.listen(this.port)}else n||(n=!0,this.cleanup(),r(o))}),this.server.listen(this.port,()=>{process.env.CODER_DEBUG&&console.log(`OAuth callback server listening on port ${this.port}`)}),this.timeoutId=setTimeout(()=>{n||(n=!0,this.cleanup(),r(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)}};No.exports=or});var Zo=$((
|
|
246
|
+
`),n||(n=!0,this.cleanup(),s({ak:u,sk:f}))}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){n||(n=!0,r(new Error("Could not find available port for OAuth callback server")));return}this.server.close(),this.server.listen(this.port)}else n||(n=!0,this.cleanup(),r(o))}),this.server.listen(this.port,()=>{process.env.CODER_DEBUG&&console.log(`OAuth callback server listening on port ${this.port}`)}),this.timeoutId=setTimeout(()=>{n||(n=!0,this.cleanup(),r(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)}};No.exports=or});var Zo=$((s_,Mo)=>{var bu=require("crypto"),ku=Lo(),ir=class{constructor(e={}){this.baseUrl=e.baseUrl||"https://makecoder.com",this.callbackServer=null}generateState(){return bu.randomBytes(16).toString("hex")}buildAuthorizationUrl(e,s){let r=new URLSearchParams({redirect_uri:e,state:s,response_type:"token"});return`${this.baseUrl}/oauth/authorize?${r.toString()}`}async startOAuthFlow(){let e=this.generateState();this.callbackServer=new ku;let s=this.callbackServer.getCallbackUrl(),r=this.buildAuthorizationUrl(s,e),n=!1;try{let i=(await import("open")).default;await i(r),n=!0}catch(i){process.env.CODER_DEBUG&&console.error("Browser open error:",i)}let o=this.callbackServer.waitForCallback(e);return{authUrl:r,waitPromise:o,browserOpened:n}}async login(){try{let{authUrl:e,waitPromise:s,browserOpened:r}=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 @@ ${du}
|
|
|
251
251
|
`),r||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 n=await s;return console.log(`\u2705 API Key \u83B7\u53D6\u6210\u529F!
|
|
252
252
|
`),n}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()}};Mo.exports=ir});var Go=$((
|
|
254
|
+
`),e}finally{this.callbackServer&&this.callbackServer.cleanup()}}cleanup(){this.callbackServer&&this.callbackServer.cleanup()}};Mo.exports=ir});var Go=$((r_,Fo)=>{var Bo=require("readline"),xu=Zo(),ar=class{constructor(e){this.argParser=e}async handle(e){let{authSubcommand:s,authRemainingArgs:r=[],coderBaseUrl:n}=e;if(s==="--help"||s===void 0)return this.showHelp(),0;switch(s){case"login":return await this.handleLogin(r,n);case"logout":return this.logout();case"status":return await this.status();default:return this.showHelp(),1}}async handleLogin(e,s){let r=null;for(let n=0;n<e.length;n++)if(e[n]==="--apikey"){r=e[n+1]||null;break}return r?this.loginWithApiKey(r):await this.dualLogin(s)}loginWithApiKey(e){let s=e.indexOf(".");if(s<=0||s===e.length-1)return console.error("\u274C API Key \u683C\u5F0F\u9519\u8BEF\uFF0C\u5E94\u4E3A <ak>.<sk> \u683C\u5F0F"),1;let r=e.substring(0,s).trim(),n=e.substring(s+1).trim();return!r||!n?(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 s=new xu({baseUrl:"https://makecoder.com"}),r,n,o;try{({authUrl:r,waitPromise:n,browserOpened:o}=await s.startOAuthFlow())}catch(l){return console.error(`\u274C \u542F\u52A8\u767B\u5F55\u6D41\u7A0B\u5931\u8D25: ${l.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,24 +282,24 @@ ${du}
|
|
|
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
|
-
`)}};Fo.exports=ar});var jt=$(B=>{"use strict";Object.defineProperty(B,"__esModule",{value:!0});B.getParsedType=B.ZodParsedType=B.objectUtil=B.util=void 0;var cr;(function(t){t.assertEqual=n=>{};function e(n){}t.assertIs=e;function s(n){throw new Error}t.assertNever=s,t.arrayToEnum=n=>{let o={};for(let i of n)o[i]=i;return o},t.getValidEnumValues=n=>{let o=t.objectKeys(n).filter(a=>typeof n[n[a]]!="number"),i={};for(let a of o)i[a]=n[a];return t.objectValues(i)},t.objectValues=n=>t.objectKeys(n).map(function(o){return n[o]}),t.objectKeys=typeof Object.keys=="function"?n=>Object.keys(n):n=>{let o=[];for(let i in n)Object.prototype.hasOwnProperty.call(n,i)&&o.push(i);return o},t.find=(n,o)=>{for(let i of n)if(o(i))return i},t.isInteger=typeof Number.isInteger=="function"?n=>Number.isInteger(n):n=>typeof n=="number"&&Number.isFinite(n)&&Math.floor(n)===n;function r(n,o=" | "){return n.map(i=>typeof i=="string"?`'${i}'`:i).join(o)}t.joinValues=r,t.jsonStringifyReplacer=(n,o)=>typeof o=="bigint"?o.toString():o})(cr||(B.util=cr={}));var Vo;(function(t){t.mergeShapes=(e,s)=>({...e,...s})})(Vo||(B.objectUtil=Vo={}));B.ZodParsedType=cr.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]);var Iu=t=>{switch(typeof t){case"undefined":return B.ZodParsedType.undefined;case"string":return B.ZodParsedType.string;case"number":return Number.isNaN(t)?B.ZodParsedType.nan:B.ZodParsedType.number;case"boolean":return B.ZodParsedType.boolean;case"function":return B.ZodParsedType.function;case"bigint":return B.ZodParsedType.bigint;case"symbol":return B.ZodParsedType.symbol;case"object":return Array.isArray(t)?B.ZodParsedType.array:t===null?B.ZodParsedType.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?B.ZodParsedType.promise:typeof Map<"u"&&t instanceof Map?B.ZodParsedType.map:typeof Set<"u"&&t instanceof Set?B.ZodParsedType.set:typeof Date<"u"&&t instanceof Date?B.ZodParsedType.date:B.ZodParsedType.object;default:return B.ZodParsedType.unknown}};B.getParsedType=Iu});var ns=$(Ue=>{"use strict";Object.defineProperty(Ue,"__esModule",{value:!0});Ue.ZodError=Ue.quotelessJson=Ue.ZodIssueCode=void 0;var Jo=jt();Ue.ZodIssueCode=Jo.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 Cu=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:");Ue.quotelessJson=Cu;var qt=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let s=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,s):this.__proto__=s,this.name="ZodError",this.issues=e}format(e){let s=e||function(o){return o.message},r={_errors:[]},n=o=>{for(let i of o.issues)if(i.code==="invalid_union")i.unionErrors.map(n);else if(i.code==="invalid_return_type")n(i.returnTypeError);else if(i.code==="invalid_arguments")n(i.argumentsError);else if(i.path.length===0)r._errors.push(s(i));else{let a=r,c=0;for(;c<i.path.length;){let l=i.path[c];c===i.path.length-1?(a[l]=a[l]||{_errors:[]},a[l]._errors.push(s(i))):a[l]=a[l]||{_errors:[]},a=a[l],c++}}};return n(this),r}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,Jo.util.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=s=>s.message){let s={},r=[];for(let n of this.issues)if(n.path.length>0){let o=n.path[0];s[o]=s[o]||[],s[o].push(e(n))}else r.push(e(n));return{formErrors:r,fieldErrors:s}}get formErrors(){return this.flatten()}};Ue.ZodError=qt;qt.create=t=>new qt(t)});var dr=$(lr=>{"use strict";Object.defineProperty(lr,"__esModule",{value:!0});var Q=ns(),Be=jt(),$u=(t,e)=>{let s;switch(t.code){case Q.ZodIssueCode.invalid_type:t.received===Be.ZodParsedType.undefined?s="Required":s=`Expected ${t.expected}, received ${t.received}`;break;case Q.ZodIssueCode.invalid_literal:s=`Invalid literal value, expected ${JSON.stringify(t.expected,Be.util.jsonStringifyReplacer)}`;break;case Q.ZodIssueCode.unrecognized_keys:s=`Unrecognized key(s) in object: ${Be.util.joinValues(t.keys,", ")}`;break;case Q.ZodIssueCode.invalid_union:s="Invalid input";break;case Q.ZodIssueCode.invalid_union_discriminator:s=`Invalid discriminator value. Expected ${Be.util.joinValues(t.options)}`;break;case Q.ZodIssueCode.invalid_enum_value:s=`Invalid enum value. Expected ${Be.util.joinValues(t.options)}, received '${t.received}'`;break;case Q.ZodIssueCode.invalid_arguments:s="Invalid function arguments";break;case Q.ZodIssueCode.invalid_return_type:s="Invalid function return type";break;case Q.ZodIssueCode.invalid_date:s="Invalid date";break;case Q.ZodIssueCode.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(s=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(s=`${s} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?s=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?s=`Invalid input: must end with "${t.validation.endsWith}"`:Be.util.assertNever(t.validation):t.validation!=="regex"?s=`Invalid ${t.validation}`:s="Invalid";break;case Q.ZodIssueCode.too_small:t.type==="array"?s=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?s=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?s=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?s=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?s=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:s="Invalid input";break;case Q.ZodIssueCode.too_big:t.type==="array"?s=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?s=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?s=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?s=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?s=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:s="Invalid input";break;case Q.ZodIssueCode.custom:s="Invalid input";break;case Q.ZodIssueCode.invalid_intersection_types:s="Intersection results could not be merged";break;case Q.ZodIssueCode.not_multiple_of:s=`Number must be a multiple of ${t.multipleOf}`;break;case Q.ZodIssueCode.not_finite:s="Number must be finite";break;default:s=e.defaultError,Be.util.assertNever(t)}return{message:s}};lr.default=$u});var os=$(De=>{"use strict";var Su=De&&De.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(De,"__esModule",{value:!0});De.defaultErrorMap=void 0;De.setErrorMap=Tu;De.getErrorMap=Au;var zo=Su(dr());De.defaultErrorMap=zo.default;var Ko=zo.default;function Tu(t){Ko=t}function Au(){return Ko}});var pr=$(N=>{"use strict";var Eu=N&&N.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(N,"__esModule",{value:!0});N.isAsync=N.isValid=N.isDirty=N.isAborted=N.OK=N.DIRTY=N.INVALID=N.ParseStatus=N.EMPTY_PATH=N.makeIssue=void 0;N.addIssueToContext=Du;var Ou=os(),Wo=Eu(dr()),Uu=t=>{let{data:e,path:s,errorMaps:r,issueData:n}=t,o=[...s,...n.path||[]],i={...n,path:o};if(n.message!==void 0)return{...n,path:o,message:n.message};let a="",c=r.filter(l=>!!l).slice().reverse();for(let l of c)a=l(i,{data:e,defaultError:a}).message;return{...n,path:o,message:a}};N.makeIssue=Uu;N.EMPTY_PATH=[];function Du(t,e){let s=(0,Ou.getErrorMap)(),r=(0,N.makeIssue)({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,s,s===Wo.default?void 0:Wo.default].filter(n=>!!n)});t.common.issues.push(r)}var ur=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,s){let r=[];for(let n of s){if(n.status==="aborted")return N.INVALID;n.status==="dirty"&&e.dirty(),r.push(n.value)}return{status:e.value,value:r}}static async mergeObjectAsync(e,s){let r=[];for(let n of s){let o=await n.key,i=await n.value;r.push({key:o,value:i})}return t.mergeObjectSync(e,r)}static mergeObjectSync(e,s){let r={};for(let n of s){let{key:o,value:i}=n;if(o.status==="aborted"||i.status==="aborted")return N.INVALID;o.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),o.value!=="__proto__"&&(typeof i.value<"u"||n.alwaysSet)&&(r[o.value]=i.value)}return{status:e.value,value:r}}};N.ParseStatus=ur;N.INVALID=Object.freeze({status:"aborted"});var vu=t=>({status:"dirty",value:t});N.DIRTY=vu;var Pu=t=>({status:"valid",value:t});N.OK=Pu;var Ru=t=>t.status==="aborted";N.isAborted=Ru;var ju=t=>t.status==="dirty";N.isDirty=ju;var qu=t=>t.status==="valid";N.isValid=qu;var Nu=t=>typeof Promise<"u"&&t instanceof Promise;N.isAsync=Nu});var Yo=$(Ho=>{"use strict";Object.defineProperty(Ho,"__esModule",{value:!0})});var Qo=$(is=>{"use strict";Object.defineProperty(is,"__esModule",{value:!0});is.errorUtil=void 0;var Xo;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(Xo||(is.errorUtil=Xo={}))});var ui=$(p=>{"use strict";Object.defineProperty(p,"__esModule",{value:!0});p.discriminatedUnion=p.date=p.boolean=p.bigint=p.array=p.any=p.coerce=p.ZodFirstPartyTypeKind=p.late=p.ZodSchema=p.Schema=p.ZodReadonly=p.ZodPipeline=p.ZodBranded=p.BRAND=p.ZodNaN=p.ZodCatch=p.ZodDefault=p.ZodNullable=p.ZodOptional=p.ZodTransformer=p.ZodEffects=p.ZodPromise=p.ZodNativeEnum=p.ZodEnum=p.ZodLiteral=p.ZodLazy=p.ZodFunction=p.ZodSet=p.ZodMap=p.ZodRecord=p.ZodTuple=p.ZodIntersection=p.ZodDiscriminatedUnion=p.ZodUnion=p.ZodObject=p.ZodArray=p.ZodVoid=p.ZodNever=p.ZodUnknown=p.ZodAny=p.ZodNull=p.ZodUndefined=p.ZodSymbol=p.ZodDate=p.ZodBoolean=p.ZodBigInt=p.ZodNumber=p.ZodString=p.ZodType=void 0;p.NEVER=p.void=p.unknown=p.union=p.undefined=p.tuple=p.transformer=p.symbol=p.string=p.strictObject=p.set=p.record=p.promise=p.preprocess=p.pipeline=p.ostring=p.optional=p.onumber=p.oboolean=p.object=p.number=p.nullable=p.null=p.never=p.nativeEnum=p.nan=p.map=p.literal=p.lazy=p.intersection=p.instanceof=p.function=p.enum=p.effect=void 0;p.datetimeRegex=ni;p.custom=ii;var w=ns(),as=os(),E=Qo(),m=pr(),b=jt(),ue=class{constructor(e,s,r,n){this._cachedPath=[],this.parent=e,this.data=s,this._path=r,this._key=n}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}},ei=(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 s=new w.ZodError(t.common.issues);return this._error=s,this._error}}};function D(t){if(!t)return{};let{errorMap:e,invalid_type_error:s,required_error:r,description:n}=t;if(e&&(s||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:n}:{errorMap:(i,a)=>{let{message:c}=t;return i.code==="invalid_enum_value"?{message:c??a.defaultError}:typeof a.data>"u"?{message:c??r??a.defaultError}:i.code!=="invalid_type"?{message:a.defaultError}:{message:c??s??a.defaultError}},description:n}}var v=class{get description(){return this._def.description}_getType(e){return(0,b.getParsedType)(e.data)}_getOrReturnCtx(e,s){return s||{common:e.parent.common,data:e.data,parsedType:(0,b.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,b.getParsedType)(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let s=this._parse(e);if((0,m.isAsync)(s))throw new Error("Synchronous parse encountered promise.");return s}_parseAsync(e){let s=this._parse(e);return Promise.resolve(s)}parse(e,s){let r=this.safeParse(e,s);if(r.success)return r.data;throw r.error}safeParse(e,s){let r={common:{issues:[],async:s?.async??!1,contextualErrorMap:s?.errorMap},path:s?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:(0,b.getParsedType)(e)},n=this._parseSync({data:e,path:r.path,parent:r});return ei(r,n)}"~validate"(e){let s={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:(0,b.getParsedType)(e)};if(!this["~standard"].async)try{let r=this._parseSync({data:e,path:[],parent:s});return(0,m.isValid)(r)?{value:r.value}:{issues:s.common.issues}}catch(r){r?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),s.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:s}).then(r=>(0,m.isValid)(r)?{value:r.value}:{issues:s.common.issues})}async parseAsync(e,s){let r=await this.safeParseAsync(e,s);if(r.success)return r.data;throw r.error}async safeParseAsync(e,s){let r={common:{issues:[],contextualErrorMap:s?.errorMap,async:!0},path:s?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:(0,b.getParsedType)(e)},n=this._parse({data:e,path:r.path,parent:r}),o=await((0,m.isAsync)(n)?n:Promise.resolve(n));return ei(r,o)}refine(e,s){let r=n=>typeof s=="string"||typeof s>"u"?{message:s}:typeof s=="function"?s(n):s;return this._refinement((n,o)=>{let i=e(n),a=()=>o.addIssue({code:w.ZodIssueCode.custom,...r(n)});return typeof Promise<"u"&&i instanceof Promise?i.then(c=>c?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(e,s){return this._refinement((r,n)=>e(r)?!0:(n.addIssue(typeof s=="function"?s(r,n):s),!1))}_refinement(e){return new le({schema:this,typeName:U.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:s=>this["~validate"](s)}}optional(){return de.create(this,this._def)}nullable(){return xe.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Oe.create(this)}promise(){return Re.create(this,this._def)}or(e){return We.create([this,e],this._def)}and(e){return He.create(this,e,this._def)}transform(e){return new le({...D(this._def),schema:this,typeName:U.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let s=typeof e=="function"?e:()=>e;return new tt({...D(this._def),innerType:this,defaultValue:s,typeName:U.ZodDefault})}brand(){return new Nt({typeName:U.ZodBranded,type:this,...D(this._def)})}catch(e){let s=typeof e=="function"?e:()=>e;return new st({...D(this._def),innerType:this,catchValue:s,typeName:U.ZodCatch})}describe(e){let s=this.constructor;return new s({...this._def,description:e})}pipe(e){return Lt.create(this,e)}readonly(){return rt.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}};p.ZodType=v;p.Schema=v;p.ZodSchema=v;var Lu=/^c[^\s-]{8,}$/i,Mu=/^[0-9a-z]+$/,Zu=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Bu=/^[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,Fu=/^[a-z0-9_-]{21}$/i,Gu=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Vu=/^[-+]?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)?)??$/,Ju=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,zu="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",mr,Ku=/^(?:(?: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])$/,Wu=/^(?:(?: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])$/,Hu=/^(([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]))$/,Yu=/^(([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])$/,Xu=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Qu=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,si="((\\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])))",ep=new RegExp(`^${si}$`);function ri(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let s=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${s}`}function tp(t){return new RegExp(`^${ri(t)}$`)}function ni(t){let e=`${si}T${ri(t)}`,s=[];return s.push(t.local?"Z?":"Z"),t.offset&&s.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${s.join("|")})`,new RegExp(`^${e}$`)}function sp(t,e){return!!((e==="v4"||!e)&&Ku.test(t)||(e==="v6"||!e)&&Hu.test(t))}function rp(t,e){if(!Gu.test(t))return!1;try{let[s]=t.split(".");if(!s)return!1;let r=s.replace(/-/g,"+").replace(/_/g,"/").padEnd(s.length+(4-s.length%4)%4,"="),n=JSON.parse(atob(r));return!(typeof n!="object"||n===null||"typ"in n&&n?.typ!=="JWT"||!n.alg||e&&n.alg!==e)}catch{return!1}}function np(t,e){return!!((e==="v4"||!e)&&Wu.test(t)||(e==="v6"||!e)&&Yu.test(t))}var ve=class t extends v{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==b.ZodParsedType.string){let o=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(o,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.string,received:o.parsedType}),m.INVALID}let r=new m.ParseStatus,n;for(let o of this._def.checks)if(o.kind==="min")e.data.length<o.value&&(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{code:w.ZodIssueCode.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="max")e.data.length>o.value&&(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{code:w.ZodIssueCode.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="length"){let i=e.data.length>o.value,a=e.data.length<o.value;(i||a)&&(n=this._getOrReturnCtx(e,n),i?(0,m.addIssueToContext)(n,{code:w.ZodIssueCode.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):a&&(0,m.addIssueToContext)(n,{code:w.ZodIssueCode.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),r.dirty())}else if(o.kind==="email")Ju.test(e.data)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{validation:"email",code:w.ZodIssueCode.invalid_string,message:o.message}),r.dirty());else if(o.kind==="emoji")mr||(mr=new RegExp(zu,"u")),mr.test(e.data)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{validation:"emoji",code:w.ZodIssueCode.invalid_string,message:o.message}),r.dirty());else if(o.kind==="uuid")Bu.test(e.data)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{validation:"uuid",code:w.ZodIssueCode.invalid_string,message:o.message}),r.dirty());else if(o.kind==="nanoid")Fu.test(e.data)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{validation:"nanoid",code:w.ZodIssueCode.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid")Lu.test(e.data)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{validation:"cuid",code:w.ZodIssueCode.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid2")Mu.test(e.data)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{validation:"cuid2",code:w.ZodIssueCode.invalid_string,message:o.message}),r.dirty());else if(o.kind==="ulid")Zu.test(e.data)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{validation:"ulid",code:w.ZodIssueCode.invalid_string,message:o.message}),r.dirty());else if(o.kind==="url")try{new URL(e.data)}catch{n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{validation:"url",code:w.ZodIssueCode.invalid_string,message:o.message}),r.dirty()}else o.kind==="regex"?(o.regex.lastIndex=0,o.regex.test(e.data)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{validation:"regex",code:w.ZodIssueCode.invalid_string,message:o.message}),r.dirty())):o.kind==="trim"?e.data=e.data.trim():o.kind==="includes"?e.data.includes(o.value,o.position)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{code:w.ZodIssueCode.invalid_string,validation:{includes:o.value,position:o.position},message:o.message}),r.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)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{code:w.ZodIssueCode.invalid_string,validation:{startsWith:o.value},message:o.message}),r.dirty()):o.kind==="endsWith"?e.data.endsWith(o.value)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{code:w.ZodIssueCode.invalid_string,validation:{endsWith:o.value},message:o.message}),r.dirty()):o.kind==="datetime"?ni(o).test(e.data)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{code:w.ZodIssueCode.invalid_string,validation:"datetime",message:o.message}),r.dirty()):o.kind==="date"?ep.test(e.data)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{code:w.ZodIssueCode.invalid_string,validation:"date",message:o.message}),r.dirty()):o.kind==="time"?tp(o).test(e.data)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{code:w.ZodIssueCode.invalid_string,validation:"time",message:o.message}),r.dirty()):o.kind==="duration"?Vu.test(e.data)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{validation:"duration",code:w.ZodIssueCode.invalid_string,message:o.message}),r.dirty()):o.kind==="ip"?sp(e.data,o.version)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{validation:"ip",code:w.ZodIssueCode.invalid_string,message:o.message}),r.dirty()):o.kind==="jwt"?rp(e.data,o.alg)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{validation:"jwt",code:w.ZodIssueCode.invalid_string,message:o.message}),r.dirty()):o.kind==="cidr"?np(e.data,o.version)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{validation:"cidr",code:w.ZodIssueCode.invalid_string,message:o.message}),r.dirty()):o.kind==="base64"?Xu.test(e.data)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{validation:"base64",code:w.ZodIssueCode.invalid_string,message:o.message}),r.dirty()):o.kind==="base64url"?Qu.test(e.data)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{validation:"base64url",code:w.ZodIssueCode.invalid_string,message:o.message}),r.dirty()):b.util.assertNever(o);return{status:r.value,value:e.data}}_regex(e,s,r){return this.refinement(n=>e.test(n),{validation:s,code:w.ZodIssueCode.invalid_string,...E.errorUtil.errToObj(r)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...E.errorUtil.errToObj(e)})}url(e){return this._addCheck({kind:"url",...E.errorUtil.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...E.errorUtil.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...E.errorUtil.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...E.errorUtil.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...E.errorUtil.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...E.errorUtil.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...E.errorUtil.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...E.errorUtil.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...E.errorUtil.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...E.errorUtil.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...E.errorUtil.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...E.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,...E.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,...E.errorUtil.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...E.errorUtil.errToObj(e)})}regex(e,s){return this._addCheck({kind:"regex",regex:e,...E.errorUtil.errToObj(s)})}includes(e,s){return this._addCheck({kind:"includes",value:e,position:s?.position,...E.errorUtil.errToObj(s?.message)})}startsWith(e,s){return this._addCheck({kind:"startsWith",value:e,...E.errorUtil.errToObj(s)})}endsWith(e,s){return this._addCheck({kind:"endsWith",value:e,...E.errorUtil.errToObj(s)})}min(e,s){return this._addCheck({kind:"min",value:e,...E.errorUtil.errToObj(s)})}max(e,s){return this._addCheck({kind:"max",value:e,...E.errorUtil.errToObj(s)})}length(e,s){return this._addCheck({kind:"length",value:e,...E.errorUtil.errToObj(s)})}nonempty(e){return this.min(1,E.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 s of this._def.checks)s.kind==="min"&&(e===null||s.value>e)&&(e=s.value);return e}get maxLength(){let e=null;for(let s of this._def.checks)s.kind==="max"&&(e===null||s.value<e)&&(e=s.value);return e}};p.ZodString=ve;ve.create=t=>new ve({checks:[],typeName:U.ZodString,coerce:t?.coerce??!1,...D(t)});function op(t,e){let s=(t.toString().split(".")[1]||"").length,r=(e.toString().split(".")[1]||"").length,n=s>r?s:r,o=Number.parseInt(t.toFixed(n).replace(".","")),i=Number.parseInt(e.toFixed(n).replace(".",""));return o%i/10**n}var Fe=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)!==b.ZodParsedType.number){let o=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(o,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.number,received:o.parsedType}),m.INVALID}let r,n=new m.ParseStatus;for(let o of this._def.checks)o.kind==="int"?b.util.isInteger(e.data)||(r=this._getOrReturnCtx(e,r),(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.invalid_type,expected:"integer",received:"float",message:o.message}),n.dirty()):o.kind==="min"?(o.inclusive?e.data<o.value:e.data<=o.value)&&(r=this._getOrReturnCtx(e,r),(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.too_small,minimum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),n.dirty()):o.kind==="max"?(o.inclusive?e.data>o.value:e.data>=o.value)&&(r=this._getOrReturnCtx(e,r),(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),n.dirty()):o.kind==="multipleOf"?op(e.data,o.value)!==0&&(r=this._getOrReturnCtx(e,r),(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.not_multiple_of,multipleOf:o.value,message:o.message}),n.dirty()):o.kind==="finite"?Number.isFinite(e.data)||(r=this._getOrReturnCtx(e,r),(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.not_finite,message:o.message}),n.dirty()):b.util.assertNever(o);return{status:n.value,value:e.data}}gte(e,s){return this.setLimit("min",e,!0,E.errorUtil.toString(s))}gt(e,s){return this.setLimit("min",e,!1,E.errorUtil.toString(s))}lte(e,s){return this.setLimit("max",e,!0,E.errorUtil.toString(s))}lt(e,s){return this.setLimit("max",e,!1,E.errorUtil.toString(s))}setLimit(e,s,r,n){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:s,inclusive:r,message:E.errorUtil.toString(n)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:E.errorUtil.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:E.errorUtil.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:E.errorUtil.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:E.errorUtil.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:E.errorUtil.toString(e)})}multipleOf(e,s){return this._addCheck({kind:"multipleOf",value:e,message:E.errorUtil.toString(s)})}finite(e){return this._addCheck({kind:"finite",message:E.errorUtil.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:E.errorUtil.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:E.errorUtil.toString(e)})}get minValue(){let e=null;for(let s of this._def.checks)s.kind==="min"&&(e===null||s.value>e)&&(e=s.value);return e}get maxValue(){let e=null;for(let s of this._def.checks)s.kind==="max"&&(e===null||s.value<e)&&(e=s.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&b.util.isInteger(e.value))}get isFinite(){let e=null,s=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(s===null||r.value>s)&&(s=r.value):r.kind==="max"&&(e===null||r.value<e)&&(e=r.value)}return Number.isFinite(s)&&Number.isFinite(e)}};p.ZodNumber=Fe;Fe.create=t=>new Fe({checks:[],typeName:U.ZodNumber,coerce:t?.coerce||!1,...D(t)});var Ge=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)!==b.ZodParsedType.bigint)return this._getInvalidInput(e);let r,n=new m.ParseStatus;for(let o of this._def.checks)o.kind==="min"?(o.inclusive?e.data<o.value:e.data<=o.value)&&(r=this._getOrReturnCtx(e,r),(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.too_small,type:"bigint",minimum:o.value,inclusive:o.inclusive,message:o.message}),n.dirty()):o.kind==="max"?(o.inclusive?e.data>o.value:e.data>=o.value)&&(r=this._getOrReturnCtx(e,r),(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),n.dirty()):o.kind==="multipleOf"?e.data%o.value!==BigInt(0)&&(r=this._getOrReturnCtx(e,r),(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.not_multiple_of,multipleOf:o.value,message:o.message}),n.dirty()):b.util.assertNever(o);return{status:n.value,value:e.data}}_getInvalidInput(e){let s=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(s,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.bigint,received:s.parsedType}),m.INVALID}gte(e,s){return this.setLimit("min",e,!0,E.errorUtil.toString(s))}gt(e,s){return this.setLimit("min",e,!1,E.errorUtil.toString(s))}lte(e,s){return this.setLimit("max",e,!0,E.errorUtil.toString(s))}lt(e,s){return this.setLimit("max",e,!1,E.errorUtil.toString(s))}setLimit(e,s,r,n){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:s,inclusive:r,message:E.errorUtil.toString(n)}]})}_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:E.errorUtil.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:E.errorUtil.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:E.errorUtil.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:E.errorUtil.toString(e)})}multipleOf(e,s){return this._addCheck({kind:"multipleOf",value:e,message:E.errorUtil.toString(s)})}get minValue(){let e=null;for(let s of this._def.checks)s.kind==="min"&&(e===null||s.value>e)&&(e=s.value);return e}get maxValue(){let e=null;for(let s of this._def.checks)s.kind==="max"&&(e===null||s.value<e)&&(e=s.value);return e}};p.ZodBigInt=Ge;Ge.create=t=>new Ge({checks:[],typeName:U.ZodBigInt,coerce:t?.coerce??!1,...D(t)});var Ve=class extends v{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==b.ZodParsedType.boolean){let r=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.boolean,received:r.parsedType}),m.INVALID}return(0,m.OK)(e.data)}};p.ZodBoolean=Ve;Ve.create=t=>new Ve({typeName:U.ZodBoolean,coerce:t?.coerce||!1,...D(t)});var Je=class t extends v{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==b.ZodParsedType.date){let o=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(o,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.date,received:o.parsedType}),m.INVALID}if(Number.isNaN(e.data.getTime())){let o=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(o,{code:w.ZodIssueCode.invalid_date}),m.INVALID}let r=new m.ParseStatus,n;for(let o of this._def.checks)o.kind==="min"?e.data.getTime()<o.value&&(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{code:w.ZodIssueCode.too_small,message:o.message,inclusive:!0,exact:!1,minimum:o.value,type:"date"}),r.dirty()):o.kind==="max"?e.data.getTime()>o.value&&(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{code:w.ZodIssueCode.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):b.util.assertNever(o);return{status:r.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,s){return this._addCheck({kind:"min",value:e.getTime(),message:E.errorUtil.toString(s)})}max(e,s){return this._addCheck({kind:"max",value:e.getTime(),message:E.errorUtil.toString(s)})}get minDate(){let e=null;for(let s of this._def.checks)s.kind==="min"&&(e===null||s.value>e)&&(e=s.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let s of this._def.checks)s.kind==="max"&&(e===null||s.value<e)&&(e=s.value);return e!=null?new Date(e):null}};p.ZodDate=Je;Je.create=t=>new Je({checks:[],coerce:t?.coerce||!1,typeName:U.ZodDate,...D(t)});var ft=class extends v{_parse(e){if(this._getType(e)!==b.ZodParsedType.symbol){let r=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.symbol,received:r.parsedType}),m.INVALID}return(0,m.OK)(e.data)}};p.ZodSymbol=ft;ft.create=t=>new ft({typeName:U.ZodSymbol,...D(t)});var ze=class extends v{_parse(e){if(this._getType(e)!==b.ZodParsedType.undefined){let r=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.undefined,received:r.parsedType}),m.INVALID}return(0,m.OK)(e.data)}};p.ZodUndefined=ze;ze.create=t=>new ze({typeName:U.ZodUndefined,...D(t)});var Ke=class extends v{_parse(e){if(this._getType(e)!==b.ZodParsedType.null){let r=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.null,received:r.parsedType}),m.INVALID}return(0,m.OK)(e.data)}};p.ZodNull=Ke;Ke.create=t=>new Ke({typeName:U.ZodNull,...D(t)});var Pe=class extends v{constructor(){super(...arguments),this._any=!0}_parse(e){return(0,m.OK)(e.data)}};p.ZodAny=Pe;Pe.create=t=>new Pe({typeName:U.ZodAny,...D(t)});var Ee=class extends v{constructor(){super(...arguments),this._unknown=!0}_parse(e){return(0,m.OK)(e.data)}};p.ZodUnknown=Ee;Ee.create=t=>new Ee({typeName:U.ZodUnknown,...D(t)});var he=class extends v{_parse(e){let s=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(s,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.never,received:s.parsedType}),m.INVALID}};p.ZodNever=he;he.create=t=>new he({typeName:U.ZodNever,...D(t)});var ht=class extends v{_parse(e){if(this._getType(e)!==b.ZodParsedType.undefined){let r=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.void,received:r.parsedType}),m.INVALID}return(0,m.OK)(e.data)}};p.ZodVoid=ht;ht.create=t=>new ht({typeName:U.ZodVoid,...D(t)});var Oe=class t extends v{_parse(e){let{ctx:s,status:r}=this._processInputParams(e),n=this._def;if(s.parsedType!==b.ZodParsedType.array)return(0,m.addIssueToContext)(s,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.array,received:s.parsedType}),m.INVALID;if(n.exactLength!==null){let i=s.data.length>n.exactLength.value,a=s.data.length<n.exactLength.value;(i||a)&&((0,m.addIssueToContext)(s,{code:i?w.ZodIssueCode.too_big:w.ZodIssueCode.too_small,minimum:a?n.exactLength.value:void 0,maximum:i?n.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:n.exactLength.message}),r.dirty())}if(n.minLength!==null&&s.data.length<n.minLength.value&&((0,m.addIssueToContext)(s,{code:w.ZodIssueCode.too_small,minimum:n.minLength.value,type:"array",inclusive:!0,exact:!1,message:n.minLength.message}),r.dirty()),n.maxLength!==null&&s.data.length>n.maxLength.value&&((0,m.addIssueToContext)(s,{code:w.ZodIssueCode.too_big,maximum:n.maxLength.value,type:"array",inclusive:!0,exact:!1,message:n.maxLength.message}),r.dirty()),s.common.async)return Promise.all([...s.data].map((i,a)=>n.type._parseAsync(new ue(s,i,s.path,a)))).then(i=>m.ParseStatus.mergeArray(r,i));let o=[...s.data].map((i,a)=>n.type._parseSync(new ue(s,i,s.path,a)));return m.ParseStatus.mergeArray(r,o)}get element(){return this._def.type}min(e,s){return new t({...this._def,minLength:{value:e,message:E.errorUtil.toString(s)}})}max(e,s){return new t({...this._def,maxLength:{value:e,message:E.errorUtil.toString(s)}})}length(e,s){return new t({...this._def,exactLength:{value:e,message:E.errorUtil.toString(s)}})}nonempty(e){return this.min(1,e)}};p.ZodArray=Oe;Oe.create=(t,e)=>new Oe({type:t,minLength:null,maxLength:null,exactLength:null,typeName:U.ZodArray,...D(e)});function mt(t){if(t instanceof ae){let e={};for(let s in t.shape){let r=t.shape[s];e[s]=de.create(mt(r))}return new ae({...t._def,shape:()=>e})}else return t instanceof Oe?new Oe({...t._def,type:mt(t.element)}):t instanceof de?de.create(mt(t.unwrap())):t instanceof xe?xe.create(mt(t.unwrap())):t instanceof ke?ke.create(t.items.map(e=>mt(e))):t}var ae=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(),s=b.util.objectKeys(e);return this._cached={shape:e,keys:s},this._cached}_parse(e){if(this._getType(e)!==b.ZodParsedType.object){let l=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(l,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.object,received:l.parsedType}),m.INVALID}let{status:r,ctx:n}=this._processInputParams(e),{shape:o,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof he&&this._def.unknownKeys==="strip"))for(let l in n.data)i.includes(l)||a.push(l);let c=[];for(let l of i){let d=o[l],u=n.data[l];c.push({key:{status:"valid",value:l},value:d._parse(new ue(n,u,n.path,l)),alwaysSet:l in n.data})}if(this._def.catchall instanceof he){let l=this._def.unknownKeys;if(l==="passthrough")for(let d of a)c.push({key:{status:"valid",value:d},value:{status:"valid",value:n.data[d]}});else if(l==="strict")a.length>0&&((0,m.addIssueToContext)(n,{code:w.ZodIssueCode.unrecognized_keys,keys:a}),r.dirty());else if(l!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let l=this._def.catchall;for(let d of a){let u=n.data[d];c.push({key:{status:"valid",value:d},value:l._parse(new ue(n,u,n.path,d)),alwaysSet:d in n.data})}}return n.common.async?Promise.resolve().then(async()=>{let l=[];for(let d of c){let u=await d.key,f=await d.value;l.push({key:u,value:f,alwaysSet:d.alwaysSet})}return l}).then(l=>m.ParseStatus.mergeObjectSync(r,l)):m.ParseStatus.mergeObjectSync(r,c)}get shape(){return this._def.shape()}strict(e){return E.errorUtil.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(s,r)=>{let n=this._def.errorMap?.(s,r).message??r.defaultError;return s.code==="unrecognized_keys"?{message:E.errorUtil.errToObj(e).message??n}:{message:n}}}:{}})}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:U.ZodObject})}setKey(e,s){return this.augment({[e]:s})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let s={};for(let r of b.util.objectKeys(e))e[r]&&this.shape[r]&&(s[r]=this.shape[r]);return new t({...this._def,shape:()=>s})}omit(e){let s={};for(let r of b.util.objectKeys(this.shape))e[r]||(s[r]=this.shape[r]);return new t({...this._def,shape:()=>s})}deepPartial(){return mt(this)}partial(e){let s={};for(let r of b.util.objectKeys(this.shape)){let n=this.shape[r];e&&!e[r]?s[r]=n:s[r]=n.optional()}return new t({...this._def,shape:()=>s})}required(e){let s={};for(let r of b.util.objectKeys(this.shape))if(e&&!e[r])s[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof de;)o=o._def.innerType;s[r]=o}return new t({...this._def,shape:()=>s})}keyof(){return oi(b.util.objectKeys(this.shape))}};p.ZodObject=ae;ae.create=(t,e)=>new ae({shape:()=>t,unknownKeys:"strip",catchall:he.create(),typeName:U.ZodObject,...D(e)});ae.strictCreate=(t,e)=>new ae({shape:()=>t,unknownKeys:"strict",catchall:he.create(),typeName:U.ZodObject,...D(e)});ae.lazycreate=(t,e)=>new ae({shape:t,unknownKeys:"strip",catchall:he.create(),typeName:U.ZodObject,...D(e)});var We=class extends v{_parse(e){let{ctx:s}=this._processInputParams(e),r=this._def.options;function n(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 s.common.issues.push(...a.ctx.common.issues),a.result;let i=o.map(a=>new w.ZodError(a.ctx.common.issues));return(0,m.addIssueToContext)(s,{code:w.ZodIssueCode.invalid_union,unionErrors:i}),m.INVALID}if(s.common.async)return Promise.all(r.map(async o=>{let i={...s,common:{...s.common,issues:[]},parent:null};return{result:await o._parseAsync({data:s.data,path:s.path,parent:i}),ctx:i}})).then(n);{let o,i=[];for(let c of r){let l={...s,common:{...s.common,issues:[]},parent:null},d=c._parseSync({data:s.data,path:s.path,parent:l});if(d.status==="valid")return d;d.status==="dirty"&&!o&&(o={result:d,ctx:l}),l.common.issues.length&&i.push(l.common.issues)}if(o)return s.common.issues.push(...o.ctx.common.issues),o.result;let a=i.map(c=>new w.ZodError(c));return(0,m.addIssueToContext)(s,{code:w.ZodIssueCode.invalid_union,unionErrors:a}),m.INVALID}}get options(){return this._def.options}};p.ZodUnion=We;We.create=(t,e)=>new We({options:t,typeName:U.ZodUnion,...D(e)});var Ae=t=>t instanceof Ye?Ae(t.schema):t instanceof le?Ae(t.innerType()):t instanceof Xe?[t.value]:t instanceof Qe?t.options:t instanceof et?b.util.objectValues(t.enum):t instanceof tt?Ae(t._def.innerType):t instanceof ze?[void 0]:t instanceof Ke?[null]:t instanceof de?[void 0,...Ae(t.unwrap())]:t instanceof xe?[null,...Ae(t.unwrap())]:t instanceof Nt||t instanceof rt?Ae(t.unwrap()):t instanceof st?Ae(t._def.innerType):[],cs=class t extends v{_parse(e){let{ctx:s}=this._processInputParams(e);if(s.parsedType!==b.ZodParsedType.object)return(0,m.addIssueToContext)(s,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.object,received:s.parsedType}),m.INVALID;let r=this.discriminator,n=s.data[r],o=this.optionsMap.get(n);return o?s.common.async?o._parseAsync({data:s.data,path:s.path,parent:s}):o._parseSync({data:s.data,path:s.path,parent:s}):((0,m.addIssueToContext)(s,{code:w.ZodIssueCode.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),m.INVALID)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,s,r){let n=new Map;for(let o of s){let i=Ae(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(n.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);n.set(a,o)}}return new t({typeName:U.ZodDiscriminatedUnion,discriminator:e,options:s,optionsMap:n,...D(r)})}};p.ZodDiscriminatedUnion=cs;function fr(t,e){let s=(0,b.getParsedType)(t),r=(0,b.getParsedType)(e);if(t===e)return{valid:!0,data:t};if(s===b.ZodParsedType.object&&r===b.ZodParsedType.object){let n=b.util.objectKeys(e),o=b.util.objectKeys(t).filter(a=>n.indexOf(a)!==-1),i={...t,...e};for(let a of o){let c=fr(t[a],e[a]);if(!c.valid)return{valid:!1};i[a]=c.data}return{valid:!0,data:i}}else if(s===b.ZodParsedType.array&&r===b.ZodParsedType.array){if(t.length!==e.length)return{valid:!1};let n=[];for(let o=0;o<t.length;o++){let i=t[o],a=e[o],c=fr(i,a);if(!c.valid)return{valid:!1};n.push(c.data)}return{valid:!0,data:n}}else return s===b.ZodParsedType.date&&r===b.ZodParsedType.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}var He=class extends v{_parse(e){let{status:s,ctx:r}=this._processInputParams(e),n=(o,i)=>{if((0,m.isAborted)(o)||(0,m.isAborted)(i))return m.INVALID;let a=fr(o.value,i.value);return a.valid?(((0,m.isDirty)(o)||(0,m.isDirty)(i))&&s.dirty(),{status:s.value,value:a.data}):((0,m.addIssueToContext)(r,{code:w.ZodIssueCode.invalid_intersection_types}),m.INVALID)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([o,i])=>n(o,i)):n(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}};p.ZodIntersection=He;He.create=(t,e,s)=>new He({left:t,right:e,typeName:U.ZodIntersection,...D(s)});var ke=class t extends v{_parse(e){let{status:s,ctx:r}=this._processInputParams(e);if(r.parsedType!==b.ZodParsedType.array)return(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.array,received:r.parsedType}),m.INVALID;if(r.data.length<this._def.items.length)return(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),m.INVALID;!this._def.rest&&r.data.length>this._def.items.length&&((0,m.addIssueToContext)(r,{code:w.ZodIssueCode.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),s.dirty());let o=[...r.data].map((i,a)=>{let c=this._def.items[a]||this._def.rest;return c?c._parse(new ue(r,i,r.path,a)):null}).filter(i=>!!i);return r.common.async?Promise.all(o).then(i=>m.ParseStatus.mergeArray(s,i)):m.ParseStatus.mergeArray(s,o)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};p.ZodTuple=ke;ke.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new ke({items:t,typeName:U.ZodTuple,rest:null,...D(e)})};var ls=class t extends v{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:s,ctx:r}=this._processInputParams(e);if(r.parsedType!==b.ZodParsedType.object)return(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.object,received:r.parsedType}),m.INVALID;let n=[],o=this._def.keyType,i=this._def.valueType;for(let a in r.data)n.push({key:o._parse(new ue(r,a,r.path,a)),value:i._parse(new ue(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?m.ParseStatus.mergeObjectAsync(s,n):m.ParseStatus.mergeObjectSync(s,n)}get element(){return this._def.valueType}static create(e,s,r){return s instanceof v?new t({keyType:e,valueType:s,typeName:U.ZodRecord,...D(r)}):new t({keyType:ve.create(),valueType:e,typeName:U.ZodRecord,...D(s)})}};p.ZodRecord=ls;var gt=class extends v{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:s,ctx:r}=this._processInputParams(e);if(r.parsedType!==b.ZodParsedType.map)return(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.map,received:r.parsedType}),m.INVALID;let n=this._def.keyType,o=this._def.valueType,i=[...r.data.entries()].map(([a,c],l)=>({key:n._parse(new ue(r,a,r.path,[l,"key"])),value:o._parse(new ue(r,c,r.path,[l,"value"]))}));if(r.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let c of i){let l=await c.key,d=await c.value;if(l.status==="aborted"||d.status==="aborted")return m.INVALID;(l.status==="dirty"||d.status==="dirty")&&s.dirty(),a.set(l.value,d.value)}return{status:s.value,value:a}})}else{let a=new Map;for(let c of i){let l=c.key,d=c.value;if(l.status==="aborted"||d.status==="aborted")return m.INVALID;(l.status==="dirty"||d.status==="dirty")&&s.dirty(),a.set(l.value,d.value)}return{status:s.value,value:a}}}};p.ZodMap=gt;gt.create=(t,e,s)=>new gt({valueType:e,keyType:t,typeName:U.ZodMap,...D(s)});var yt=class t extends v{_parse(e){let{status:s,ctx:r}=this._processInputParams(e);if(r.parsedType!==b.ZodParsedType.set)return(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.set,received:r.parsedType}),m.INVALID;let n=this._def;n.minSize!==null&&r.data.size<n.minSize.value&&((0,m.addIssueToContext)(r,{code:w.ZodIssueCode.too_small,minimum:n.minSize.value,type:"set",inclusive:!0,exact:!1,message:n.minSize.message}),s.dirty()),n.maxSize!==null&&r.data.size>n.maxSize.value&&((0,m.addIssueToContext)(r,{code:w.ZodIssueCode.too_big,maximum:n.maxSize.value,type:"set",inclusive:!0,exact:!1,message:n.maxSize.message}),s.dirty());let o=this._def.valueType;function i(c){let l=new Set;for(let d of c){if(d.status==="aborted")return m.INVALID;d.status==="dirty"&&s.dirty(),l.add(d.value)}return{status:s.value,value:l}}let a=[...r.data.values()].map((c,l)=>o._parse(new ue(r,c,r.path,l)));return r.common.async?Promise.all(a).then(c=>i(c)):i(a)}min(e,s){return new t({...this._def,minSize:{value:e,message:E.errorUtil.toString(s)}})}max(e,s){return new t({...this._def,maxSize:{value:e,message:E.errorUtil.toString(s)}})}size(e,s){return this.min(e,s).max(e,s)}nonempty(e){return this.min(1,e)}};p.ZodSet=yt;yt.create=(t,e)=>new yt({valueType:t,minSize:null,maxSize:null,typeName:U.ZodSet,...D(e)});var ds=class t extends v{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:s}=this._processInputParams(e);if(s.parsedType!==b.ZodParsedType.function)return(0,m.addIssueToContext)(s,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.function,received:s.parsedType}),m.INVALID;function r(a,c){return(0,m.makeIssue)({data:a,path:s.path,errorMaps:[s.common.contextualErrorMap,s.schemaErrorMap,(0,as.getErrorMap)(),as.defaultErrorMap].filter(l=>!!l),issueData:{code:w.ZodIssueCode.invalid_arguments,argumentsError:c}})}function n(a,c){return(0,m.makeIssue)({data:a,path:s.path,errorMaps:[s.common.contextualErrorMap,s.schemaErrorMap,(0,as.getErrorMap)(),as.defaultErrorMap].filter(l=>!!l),issueData:{code:w.ZodIssueCode.invalid_return_type,returnTypeError:c}})}let o={errorMap:s.common.contextualErrorMap},i=s.data;if(this._def.returns instanceof Re){let a=this;return(0,m.OK)(async function(...c){let l=new w.ZodError([]),d=await a._def.args.parseAsync(c,o).catch(h=>{throw l.addIssue(r(c,h)),l}),u=await Reflect.apply(i,this,d);return await a._def.returns._def.type.parseAsync(u,o).catch(h=>{throw l.addIssue(n(u,h)),l})})}else{let a=this;return(0,m.OK)(function(...c){let l=a._def.args.safeParse(c,o);if(!l.success)throw new w.ZodError([r(c,l.error)]);let d=Reflect.apply(i,this,l.data),u=a._def.returns.safeParse(d,o);if(!u.success)throw new w.ZodError([n(d,u.error)]);return u.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:ke.create(e).rest(Ee.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,s,r){return new t({args:e||ke.create([]).rest(Ee.create()),returns:s||Ee.create(),typeName:U.ZodFunction,...D(r)})}};p.ZodFunction=ds;var Ye=class extends v{get schema(){return this._def.getter()}_parse(e){let{ctx:s}=this._processInputParams(e);return this._def.getter()._parse({data:s.data,path:s.path,parent:s})}};p.ZodLazy=Ye;Ye.create=(t,e)=>new Ye({getter:t,typeName:U.ZodLazy,...D(e)});var Xe=class extends v{_parse(e){if(e.data!==this._def.value){let s=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(s,{received:s.data,code:w.ZodIssueCode.invalid_literal,expected:this._def.value}),m.INVALID}return{status:"valid",value:e.data}}get value(){return this._def.value}};p.ZodLiteral=Xe;Xe.create=(t,e)=>new Xe({value:t,typeName:U.ZodLiteral,...D(e)});function oi(t,e){return new Qe({values:t,typeName:U.ZodEnum,...D(e)})}var Qe=class t extends v{_parse(e){if(typeof e.data!="string"){let s=this._getOrReturnCtx(e),r=this._def.values;return(0,m.addIssueToContext)(s,{expected:b.util.joinValues(r),received:s.parsedType,code:w.ZodIssueCode.invalid_type}),m.INVALID}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let s=this._getOrReturnCtx(e),r=this._def.values;return(0,m.addIssueToContext)(s,{received:s.data,code:w.ZodIssueCode.invalid_enum_value,options:r}),m.INVALID}return(0,m.OK)(e.data)}get options(){return this._def.values}get enum(){let e={};for(let s of this._def.values)e[s]=s;return e}get Values(){let e={};for(let s of this._def.values)e[s]=s;return e}get Enum(){let e={};for(let s of this._def.values)e[s]=s;return e}extract(e,s=this._def){return t.create(e,{...this._def,...s})}exclude(e,s=this._def){return t.create(this.options.filter(r=>!e.includes(r)),{...this._def,...s})}};p.ZodEnum=Qe;Qe.create=oi;var et=class extends v{_parse(e){let s=b.util.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==b.ZodParsedType.string&&r.parsedType!==b.ZodParsedType.number){let n=b.util.objectValues(s);return(0,m.addIssueToContext)(r,{expected:b.util.joinValues(n),received:r.parsedType,code:w.ZodIssueCode.invalid_type}),m.INVALID}if(this._cache||(this._cache=new Set(b.util.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let n=b.util.objectValues(s);return(0,m.addIssueToContext)(r,{received:r.data,code:w.ZodIssueCode.invalid_enum_value,options:n}),m.INVALID}return(0,m.OK)(e.data)}get enum(){return this._def.values}};p.ZodNativeEnum=et;et.create=(t,e)=>new et({values:t,typeName:U.ZodNativeEnum,...D(e)});var Re=class extends v{unwrap(){return this._def.type}_parse(e){let{ctx:s}=this._processInputParams(e);if(s.parsedType!==b.ZodParsedType.promise&&s.common.async===!1)return(0,m.addIssueToContext)(s,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.promise,received:s.parsedType}),m.INVALID;let r=s.parsedType===b.ZodParsedType.promise?s.data:Promise.resolve(s.data);return(0,m.OK)(r.then(n=>this._def.type.parseAsync(n,{path:s.path,errorMap:s.common.contextualErrorMap})))}};p.ZodPromise=Re;Re.create=(t,e)=>new Re({type:t,typeName:U.ZodPromise,...D(e)});var le=class extends v{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===U.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:s,ctx:r}=this._processInputParams(e),n=this._def.effect||null,o={addIssue:i=>{(0,m.addIssueToContext)(r,i),i.fatal?s.abort():s.dirty()},get path(){return r.path}};if(o.addIssue=o.addIssue.bind(o),n.type==="preprocess"){let i=n.transform(r.data,o);if(r.common.async)return Promise.resolve(i).then(async a=>{if(s.value==="aborted")return m.INVALID;let c=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return c.status==="aborted"?m.INVALID:c.status==="dirty"||s.value==="dirty"?(0,m.DIRTY)(c.value):c});{if(s.value==="aborted")return m.INVALID;let a=this._def.schema._parseSync({data:i,path:r.path,parent:r});return a.status==="aborted"?m.INVALID:a.status==="dirty"||s.value==="dirty"?(0,m.DIRTY)(a.value):a}}if(n.type==="refinement"){let i=a=>{let c=n.refinement(a,o);if(r.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(r.common.async===!1){let a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?m.INVALID:(a.status==="dirty"&&s.dirty(),i(a.value),{status:s.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?m.INVALID:(a.status==="dirty"&&s.dirty(),i(a.value).then(()=>({status:s.value,value:a.value}))))}if(n.type==="transform")if(r.common.async===!1){let i=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!(0,m.isValid)(i))return m.INVALID;let a=n.transform(i.value,o);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:s.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(i=>(0,m.isValid)(i)?Promise.resolve(n.transform(i.value,o)).then(a=>({status:s.value,value:a})):m.INVALID);b.util.assertNever(n)}};p.ZodEffects=le;p.ZodTransformer=le;le.create=(t,e,s)=>new le({schema:t,typeName:U.ZodEffects,effect:e,...D(s)});le.createWithPreprocess=(t,e,s)=>new le({schema:e,effect:{type:"preprocess",transform:t},typeName:U.ZodEffects,...D(s)});var de=class extends v{_parse(e){return this._getType(e)===b.ZodParsedType.undefined?(0,m.OK)(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};p.ZodOptional=de;de.create=(t,e)=>new de({innerType:t,typeName:U.ZodOptional,...D(e)});var xe=class extends v{_parse(e){return this._getType(e)===b.ZodParsedType.null?(0,m.OK)(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};p.ZodNullable=xe;xe.create=(t,e)=>new xe({innerType:t,typeName:U.ZodNullable,...D(e)});var tt=class extends v{_parse(e){let{ctx:s}=this._processInputParams(e),r=s.data;return s.parsedType===b.ZodParsedType.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:s.path,parent:s})}removeDefault(){return this._def.innerType}};p.ZodDefault=tt;tt.create=(t,e)=>new tt({innerType:t,typeName:U.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...D(e)});var st=class extends v{_parse(e){let{ctx:s}=this._processInputParams(e),r={...s,common:{...s.common,issues:[]}},n=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return(0,m.isAsync)(n)?n.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new w.ZodError(r.common.issues)},input:r.data})})):{status:"valid",value:n.status==="valid"?n.value:this._def.catchValue({get error(){return new w.ZodError(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};p.ZodCatch=st;st.create=(t,e)=>new st({innerType:t,typeName:U.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...D(e)});var _t=class extends v{_parse(e){if(this._getType(e)!==b.ZodParsedType.nan){let r=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.nan,received:r.parsedType}),m.INVALID}return{status:"valid",value:e.data}}};p.ZodNaN=_t;_t.create=t=>new _t({typeName:U.ZodNaN,...D(t)});p.BRAND=Symbol("zod_brand");var Nt=class extends v{_parse(e){let{ctx:s}=this._processInputParams(e),r=s.data;return this._def.type._parse({data:r,path:s.path,parent:s})}unwrap(){return this._def.type}};p.ZodBranded=Nt;var Lt=class t extends v{_parse(e){let{status:s,ctx:r}=this._processInputParams(e);if(r.common.async)return(async()=>{let o=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?m.INVALID:o.status==="dirty"?(s.dirty(),(0,m.DIRTY)(o.value)):this._def.out._parseAsync({data:o.value,path:r.path,parent:r})})();{let n=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return n.status==="aborted"?m.INVALID:n.status==="dirty"?(s.dirty(),{status:"dirty",value:n.value}):this._def.out._parseSync({data:n.value,path:r.path,parent:r})}}static create(e,s){return new t({in:e,out:s,typeName:U.ZodPipeline})}};p.ZodPipeline=Lt;var rt=class extends v{_parse(e){let s=this._def.innerType._parse(e),r=n=>((0,m.isValid)(n)&&(n.value=Object.freeze(n.value)),n);return(0,m.isAsync)(s)?s.then(n=>r(n)):r(s)}unwrap(){return this._def.innerType}};p.ZodReadonly=rt;rt.create=(t,e)=>new rt({innerType:t,typeName:U.ZodReadonly,...D(e)});function ti(t,e){let s=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof s=="string"?{message:s}:s}function ii(t,e={},s){return t?Pe.create().superRefine((r,n)=>{let o=t(r);if(o instanceof Promise)return o.then(i=>{if(!i){let a=ti(e,r),c=a.fatal??s??!0;n.addIssue({code:"custom",...a,fatal:c})}});if(!o){let i=ti(e,r),a=i.fatal??s??!0;n.addIssue({code:"custom",...i,fatal:a})}}):Pe.create()}p.late={object:ae.lazycreate};var U;(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"})(U||(p.ZodFirstPartyTypeKind=U={}));var ip=(t,e={message:`Input not instance of ${t.name}`})=>ii(s=>s instanceof t,e);p.instanceof=ip;var ai=ve.create;p.string=ai;var ci=Fe.create;p.number=ci;var ap=_t.create;p.nan=ap;var cp=Ge.create;p.bigint=cp;var li=Ve.create;p.boolean=li;var lp=Je.create;p.date=lp;var dp=ft.create;p.symbol=dp;var up=ze.create;p.undefined=up;var pp=Ke.create;p.null=pp;var mp=Pe.create;p.any=mp;var fp=Ee.create;p.unknown=fp;var hp=he.create;p.never=hp;var gp=ht.create;p.void=gp;var yp=Oe.create;p.array=yp;var _p=ae.create;p.object=_p;var wp=ae.strictCreate;p.strictObject=wp;var bp=We.create;p.union=bp;var kp=cs.create;p.discriminatedUnion=kp;var xp=He.create;p.intersection=xp;var Ip=ke.create;p.tuple=Ip;var Cp=ls.create;p.record=Cp;var $p=gt.create;p.map=$p;var Sp=yt.create;p.set=Sp;var Tp=ds.create;p.function=Tp;var Ap=Ye.create;p.lazy=Ap;var Ep=Xe.create;p.literal=Ep;var Op=Qe.create;p.enum=Op;var Up=et.create;p.nativeEnum=Up;var Dp=Re.create;p.promise=Dp;var di=le.create;p.effect=di;p.transformer=di;var vp=de.create;p.optional=vp;var Pp=xe.create;p.nullable=Pp;var Rp=le.createWithPreprocess;p.preprocess=Rp;var jp=Lt.create;p.pipeline=jp;var qp=()=>ai().optional();p.ostring=qp;var Np=()=>ci().optional();p.onumber=Np;var Lp=()=>li().optional();p.oboolean=Lp;p.coerce={string:(t=>ve.create({...t,coerce:!0})),number:(t=>Fe.create({...t,coerce:!0})),boolean:(t=>Ve.create({...t,coerce:!0})),bigint:(t=>Ge.create({...t,coerce:!0})),date:(t=>Je.create({...t,coerce:!0}))};p.NEVER=m.INVALID});var hr=$(pe=>{"use strict";var Mp=pe&&pe.__createBinding||(Object.create?(function(t,e,s,r){r===void 0&&(r=s);var n=Object.getOwnPropertyDescriptor(e,s);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[s]}}),Object.defineProperty(t,r,n)}):(function(t,e,s,r){r===void 0&&(r=s),t[r]=e[s]})),wt=pe&&pe.__exportStar||function(t,e){for(var s in t)s!=="default"&&!Object.prototype.hasOwnProperty.call(e,s)&&Mp(e,t,s)};Object.defineProperty(pe,"__esModule",{value:!0});wt(os(),pe);wt(pr(),pe);wt(Yo(),pe);wt(jt(),pe);wt(ui(),pe);wt(ns(),pe)});var fi=$(ce=>{"use strict";var pi=ce&&ce.__createBinding||(Object.create?(function(t,e,s,r){r===void 0&&(r=s);var n=Object.getOwnPropertyDescriptor(e,s);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[s]}}),Object.defineProperty(t,r,n)}):(function(t,e,s,r){r===void 0&&(r=s),t[r]=e[s]})),Zp=ce&&ce.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Bp=ce&&ce.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var s in t)s!=="default"&&Object.prototype.hasOwnProperty.call(t,s)&&pi(e,t,s);return Zp(e,t),e},Fp=ce&&ce.__exportStar||function(t,e){for(var s in t)s!=="default"&&!Object.prototype.hasOwnProperty.call(e,s)&&pi(e,t,s)};Object.defineProperty(ce,"__esModule",{value:!0});ce.z=void 0;var mi=Bp(hr());ce.z=mi;Fp(hr(),ce);ce.default=mi});var us=$((m_,_i)=>{var gr=null;function yr(){return gr||(gr=fi().z),gr}function hi(){return yr().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 gi(){return yr().string().refine(t=>{try{return JSON.parse(t),!0}catch{return!1}},{message:"--meta-data \u4E0D\u662F\u5408\u6CD5\u7684 JSON"})}function yi(){return yr().string().trim().refine(t=>/^https?:\/\/[^\s]+$/i.test(t),{message:"registry \u5FC5\u987B\u662F http(s):// \u5F00\u5934\u7684 URL"})}function Gp(t){let e=hi().safeParse(t);return e.success?{ok:!0,value:e.data}:{ok:!1,error:e.error.issues[0].message}}function Vp(t){let e=gi().safeParse(t);return e.success?{ok:!0,value:e.data}:{ok:!1,error:e.error.issues[0].message}}function Jp(t){let e=yi().safeParse(t);return e.success?{ok:!0,value:e.data}:{ok:!1,error:e.error.issues[0].message}}_i.exports={apiKeySchema:hi,pubMetaDataSchema:gi,registrySchema:yi,validateApiKey:Gp,validatePubMetaData:Vp,validateRegistry:Jp}});var bi=$((f_,wi)=>{var zp=Go(),{validateApiKey:Kp}=us();function Wp(t,e){let s=new zp(e),r=t.command("auth").description("\u7BA1\u7406\u8EAB\u4EFD\u9A8C\u8BC1\u51ED\u8BC1");r.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 n=>{if(n.apikey){let o=Kp(n.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 s.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 s.handle({authSubcommand:"login",authRemainingArgs:[],coderBaseUrl:e.getCoderBaseUrl()})||0}),r.command("logout").description("\u9000\u51FA\u767B\u5F55\uFF0C\u6E05\u9664\u5DF2\u4FDD\u5B58\u7684 API Key").action(async()=>{process.exitCode=await s.handle({authSubcommand:"logout"})||0}),r.command("status").description("\u67E5\u770B\u5F53\u524D\u767B\u5F55\u72B6\u6001").action(async()=>{process.exitCode=await s.handle({authSubcommand:"status"})||0})}wi.exports={register:Wp}});var Ii=$((h_,xi)=>{var ge=require("fs"),nt=require("path"),Hp=require("readline"),{execSync:ps}=require("child_process"),ki=require("os"),_r=class{constructor(){this.serverUrl="https://makecoder.com/bigapis/codev/v1/coderpub"}getClaudeJsonlPath(e,s=!1){let r=e.replace(/[/_]/g,"-"),n=nt.join(ki.homedir(),".claude","projects",r);if(s&&(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: ${r}`),console.log(` Claude \u9879\u76EE\u76EE\u5F55: ${n}`)),!ge.existsSync(n))return s&&console.log(" \u274C Claude \u9879\u76EE\u76EE\u5F55\u4E0D\u5B58\u5728"),null;s&&console.log(" \u2713 Claude \u9879\u76EE\u76EE\u5F55\u5B58\u5728");try{let o=ge.readdirSync(n).filter(i=>i.endsWith(".jsonl")).map(i=>({name:i,path:nt.join(n,i),mtime:ge.statSync(nt.join(n,i)).mtime,size:ge.statSync(nt.join(n,i)).size})).sort((i,a)=>a.mtime-i.mtime);return s&&(console.log(` \u627E\u5230 ${o.length} \u4E2A JSONL \u6587\u4EF6:`),o.forEach((i,a)=>{let c=(i.size/1024).toFixed(2),l=i.mtime.toLocaleString(),d=a===0?" <- \u6700\u65B0":"";console.log(` ${a+1}. ${i.name} (${c} KB, ${l})${d}`)})),o.length>0?(s&&console.log(` \u2713 \u9009\u62E9\u6700\u65B0\u6587\u4EF6: ${o[0].name}`),o[0].path):(s&&console.log(" \u274C \u76EE\u5F55\u4E2D\u6CA1\u6709 JSONL \u6587\u4EF6"),null)}catch(o){return s&&console.log(` \u274C \u8BFB\u53D6\u76EE\u5F55\u5931\u8D25: ${o.message}`),null}}async promptForName(){let e=Hp.createInterface({input:process.stdin,output:process.stdout});return new Promise((s,r)=>{e.question("\u8BF7\u8F93\u5165\u9879\u76EE\u540D\u79F0 (name): ",n=>{e.close();let o=n.trim();if(!o){r(new Error("\u9879\u76EE\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A"));return}if(!/^[a-zA-Z0-9_-]+$/.test(o)){r(new Error("\u9879\u76EE\u540D\u79F0\u53EA\u80FD\u5305\u542B\u5B57\u6BCD\u3001\u6570\u5B57\u3001\u4E0B\u5212\u7EBF\u548C\u8FDE\u5B57\u7B26"));return}s(o)})})}async createZip(e,s={}){let{allowClone:r=!1}=s,n=ki.tmpdir(),o=`coder-pub-${Date.now()}.zip`,i=nt.join(n,o);try{let a=!1;if(ge.existsSync(nt.join(e,".git")))try{
|
|
285
|
+
`)}};Fo.exports=ar});var jt=$(B=>{"use strict";Object.defineProperty(B,"__esModule",{value:!0});B.getParsedType=B.ZodParsedType=B.objectUtil=B.util=void 0;var cr;(function(t){t.assertEqual=n=>{};function e(n){}t.assertIs=e;function s(n){throw new Error}t.assertNever=s,t.arrayToEnum=n=>{let o={};for(let i of n)o[i]=i;return o},t.getValidEnumValues=n=>{let o=t.objectKeys(n).filter(a=>typeof n[n[a]]!="number"),i={};for(let a of o)i[a]=n[a];return t.objectValues(i)},t.objectValues=n=>t.objectKeys(n).map(function(o){return n[o]}),t.objectKeys=typeof Object.keys=="function"?n=>Object.keys(n):n=>{let o=[];for(let i in n)Object.prototype.hasOwnProperty.call(n,i)&&o.push(i);return o},t.find=(n,o)=>{for(let i of n)if(o(i))return i},t.isInteger=typeof Number.isInteger=="function"?n=>Number.isInteger(n):n=>typeof n=="number"&&Number.isFinite(n)&&Math.floor(n)===n;function r(n,o=" | "){return n.map(i=>typeof i=="string"?`'${i}'`:i).join(o)}t.joinValues=r,t.jsonStringifyReplacer=(n,o)=>typeof o=="bigint"?o.toString():o})(cr||(B.util=cr={}));var Vo;(function(t){t.mergeShapes=(e,s)=>({...e,...s})})(Vo||(B.objectUtil=Vo={}));B.ZodParsedType=cr.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]);var Iu=t=>{switch(typeof t){case"undefined":return B.ZodParsedType.undefined;case"string":return B.ZodParsedType.string;case"number":return Number.isNaN(t)?B.ZodParsedType.nan:B.ZodParsedType.number;case"boolean":return B.ZodParsedType.boolean;case"function":return B.ZodParsedType.function;case"bigint":return B.ZodParsedType.bigint;case"symbol":return B.ZodParsedType.symbol;case"object":return Array.isArray(t)?B.ZodParsedType.array:t===null?B.ZodParsedType.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?B.ZodParsedType.promise:typeof Map<"u"&&t instanceof Map?B.ZodParsedType.map:typeof Set<"u"&&t instanceof Set?B.ZodParsedType.set:typeof Date<"u"&&t instanceof Date?B.ZodParsedType.date:B.ZodParsedType.object;default:return B.ZodParsedType.unknown}};B.getParsedType=Iu});var os=$(Ue=>{"use strict";Object.defineProperty(Ue,"__esModule",{value:!0});Ue.ZodError=Ue.quotelessJson=Ue.ZodIssueCode=void 0;var Jo=jt();Ue.ZodIssueCode=Jo.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 Cu=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:");Ue.quotelessJson=Cu;var qt=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let s=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,s):this.__proto__=s,this.name="ZodError",this.issues=e}format(e){let s=e||function(o){return o.message},r={_errors:[]},n=o=>{for(let i of o.issues)if(i.code==="invalid_union")i.unionErrors.map(n);else if(i.code==="invalid_return_type")n(i.returnTypeError);else if(i.code==="invalid_arguments")n(i.argumentsError);else if(i.path.length===0)r._errors.push(s(i));else{let a=r,c=0;for(;c<i.path.length;){let l=i.path[c];c===i.path.length-1?(a[l]=a[l]||{_errors:[]},a[l]._errors.push(s(i))):a[l]=a[l]||{_errors:[]},a=a[l],c++}}};return n(this),r}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,Jo.util.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=s=>s.message){let s={},r=[];for(let n of this.issues)if(n.path.length>0){let o=n.path[0];s[o]=s[o]||[],s[o].push(e(n))}else r.push(e(n));return{formErrors:r,fieldErrors:s}}get formErrors(){return this.flatten()}};Ue.ZodError=qt;qt.create=t=>new qt(t)});var dr=$(lr=>{"use strict";Object.defineProperty(lr,"__esModule",{value:!0});var Q=os(),Be=jt(),$u=(t,e)=>{let s;switch(t.code){case Q.ZodIssueCode.invalid_type:t.received===Be.ZodParsedType.undefined?s="Required":s=`Expected ${t.expected}, received ${t.received}`;break;case Q.ZodIssueCode.invalid_literal:s=`Invalid literal value, expected ${JSON.stringify(t.expected,Be.util.jsonStringifyReplacer)}`;break;case Q.ZodIssueCode.unrecognized_keys:s=`Unrecognized key(s) in object: ${Be.util.joinValues(t.keys,", ")}`;break;case Q.ZodIssueCode.invalid_union:s="Invalid input";break;case Q.ZodIssueCode.invalid_union_discriminator:s=`Invalid discriminator value. Expected ${Be.util.joinValues(t.options)}`;break;case Q.ZodIssueCode.invalid_enum_value:s=`Invalid enum value. Expected ${Be.util.joinValues(t.options)}, received '${t.received}'`;break;case Q.ZodIssueCode.invalid_arguments:s="Invalid function arguments";break;case Q.ZodIssueCode.invalid_return_type:s="Invalid function return type";break;case Q.ZodIssueCode.invalid_date:s="Invalid date";break;case Q.ZodIssueCode.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(s=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(s=`${s} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?s=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?s=`Invalid input: must end with "${t.validation.endsWith}"`:Be.util.assertNever(t.validation):t.validation!=="regex"?s=`Invalid ${t.validation}`:s="Invalid";break;case Q.ZodIssueCode.too_small:t.type==="array"?s=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?s=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?s=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?s=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?s=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:s="Invalid input";break;case Q.ZodIssueCode.too_big:t.type==="array"?s=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?s=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?s=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?s=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?s=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:s="Invalid input";break;case Q.ZodIssueCode.custom:s="Invalid input";break;case Q.ZodIssueCode.invalid_intersection_types:s="Intersection results could not be merged";break;case Q.ZodIssueCode.not_multiple_of:s=`Number must be a multiple of ${t.multipleOf}`;break;case Q.ZodIssueCode.not_finite:s="Number must be finite";break;default:s=e.defaultError,Be.util.assertNever(t)}return{message:s}};lr.default=$u});var is=$(De=>{"use strict";var Su=De&&De.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(De,"__esModule",{value:!0});De.defaultErrorMap=void 0;De.setErrorMap=Tu;De.getErrorMap=Au;var zo=Su(dr());De.defaultErrorMap=zo.default;var Ko=zo.default;function Tu(t){Ko=t}function Au(){return Ko}});var pr=$(N=>{"use strict";var Eu=N&&N.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(N,"__esModule",{value:!0});N.isAsync=N.isValid=N.isDirty=N.isAborted=N.OK=N.DIRTY=N.INVALID=N.ParseStatus=N.EMPTY_PATH=N.makeIssue=void 0;N.addIssueToContext=Du;var Ou=is(),Wo=Eu(dr()),Uu=t=>{let{data:e,path:s,errorMaps:r,issueData:n}=t,o=[...s,...n.path||[]],i={...n,path:o};if(n.message!==void 0)return{...n,path:o,message:n.message};let a="",c=r.filter(l=>!!l).slice().reverse();for(let l of c)a=l(i,{data:e,defaultError:a}).message;return{...n,path:o,message:a}};N.makeIssue=Uu;N.EMPTY_PATH=[];function Du(t,e){let s=(0,Ou.getErrorMap)(),r=(0,N.makeIssue)({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,s,s===Wo.default?void 0:Wo.default].filter(n=>!!n)});t.common.issues.push(r)}var ur=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,s){let r=[];for(let n of s){if(n.status==="aborted")return N.INVALID;n.status==="dirty"&&e.dirty(),r.push(n.value)}return{status:e.value,value:r}}static async mergeObjectAsync(e,s){let r=[];for(let n of s){let o=await n.key,i=await n.value;r.push({key:o,value:i})}return t.mergeObjectSync(e,r)}static mergeObjectSync(e,s){let r={};for(let n of s){let{key:o,value:i}=n;if(o.status==="aborted"||i.status==="aborted")return N.INVALID;o.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),o.value!=="__proto__"&&(typeof i.value<"u"||n.alwaysSet)&&(r[o.value]=i.value)}return{status:e.value,value:r}}};N.ParseStatus=ur;N.INVALID=Object.freeze({status:"aborted"});var vu=t=>({status:"dirty",value:t});N.DIRTY=vu;var Pu=t=>({status:"valid",value:t});N.OK=Pu;var Ru=t=>t.status==="aborted";N.isAborted=Ru;var ju=t=>t.status==="dirty";N.isDirty=ju;var qu=t=>t.status==="valid";N.isValid=qu;var Nu=t=>typeof Promise<"u"&&t instanceof Promise;N.isAsync=Nu});var Yo=$(Ho=>{"use strict";Object.defineProperty(Ho,"__esModule",{value:!0})});var Qo=$(as=>{"use strict";Object.defineProperty(as,"__esModule",{value:!0});as.errorUtil=void 0;var Xo;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(Xo||(as.errorUtil=Xo={}))});var ui=$(p=>{"use strict";Object.defineProperty(p,"__esModule",{value:!0});p.discriminatedUnion=p.date=p.boolean=p.bigint=p.array=p.any=p.coerce=p.ZodFirstPartyTypeKind=p.late=p.ZodSchema=p.Schema=p.ZodReadonly=p.ZodPipeline=p.ZodBranded=p.BRAND=p.ZodNaN=p.ZodCatch=p.ZodDefault=p.ZodNullable=p.ZodOptional=p.ZodTransformer=p.ZodEffects=p.ZodPromise=p.ZodNativeEnum=p.ZodEnum=p.ZodLiteral=p.ZodLazy=p.ZodFunction=p.ZodSet=p.ZodMap=p.ZodRecord=p.ZodTuple=p.ZodIntersection=p.ZodDiscriminatedUnion=p.ZodUnion=p.ZodObject=p.ZodArray=p.ZodVoid=p.ZodNever=p.ZodUnknown=p.ZodAny=p.ZodNull=p.ZodUndefined=p.ZodSymbol=p.ZodDate=p.ZodBoolean=p.ZodBigInt=p.ZodNumber=p.ZodString=p.ZodType=void 0;p.NEVER=p.void=p.unknown=p.union=p.undefined=p.tuple=p.transformer=p.symbol=p.string=p.strictObject=p.set=p.record=p.promise=p.preprocess=p.pipeline=p.ostring=p.optional=p.onumber=p.oboolean=p.object=p.number=p.nullable=p.null=p.never=p.nativeEnum=p.nan=p.map=p.literal=p.lazy=p.intersection=p.instanceof=p.function=p.enum=p.effect=void 0;p.datetimeRegex=ni;p.custom=ii;var w=os(),cs=is(),E=Qo(),m=pr(),b=jt(),pe=class{constructor(e,s,r,n){this._cachedPath=[],this.parent=e,this.data=s,this._path=r,this._key=n}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}},ei=(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 s=new w.ZodError(t.common.issues);return this._error=s,this._error}}};function D(t){if(!t)return{};let{errorMap:e,invalid_type_error:s,required_error:r,description:n}=t;if(e&&(s||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:n}:{errorMap:(i,a)=>{let{message:c}=t;return i.code==="invalid_enum_value"?{message:c??a.defaultError}:typeof a.data>"u"?{message:c??r??a.defaultError}:i.code!=="invalid_type"?{message:a.defaultError}:{message:c??s??a.defaultError}},description:n}}var v=class{get description(){return this._def.description}_getType(e){return(0,b.getParsedType)(e.data)}_getOrReturnCtx(e,s){return s||{common:e.parent.common,data:e.data,parsedType:(0,b.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,b.getParsedType)(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let s=this._parse(e);if((0,m.isAsync)(s))throw new Error("Synchronous parse encountered promise.");return s}_parseAsync(e){let s=this._parse(e);return Promise.resolve(s)}parse(e,s){let r=this.safeParse(e,s);if(r.success)return r.data;throw r.error}safeParse(e,s){let r={common:{issues:[],async:s?.async??!1,contextualErrorMap:s?.errorMap},path:s?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:(0,b.getParsedType)(e)},n=this._parseSync({data:e,path:r.path,parent:r});return ei(r,n)}"~validate"(e){let s={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:(0,b.getParsedType)(e)};if(!this["~standard"].async)try{let r=this._parseSync({data:e,path:[],parent:s});return(0,m.isValid)(r)?{value:r.value}:{issues:s.common.issues}}catch(r){r?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),s.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:s}).then(r=>(0,m.isValid)(r)?{value:r.value}:{issues:s.common.issues})}async parseAsync(e,s){let r=await this.safeParseAsync(e,s);if(r.success)return r.data;throw r.error}async safeParseAsync(e,s){let r={common:{issues:[],contextualErrorMap:s?.errorMap,async:!0},path:s?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:(0,b.getParsedType)(e)},n=this._parse({data:e,path:r.path,parent:r}),o=await((0,m.isAsync)(n)?n:Promise.resolve(n));return ei(r,o)}refine(e,s){let r=n=>typeof s=="string"||typeof s>"u"?{message:s}:typeof s=="function"?s(n):s;return this._refinement((n,o)=>{let i=e(n),a=()=>o.addIssue({code:w.ZodIssueCode.custom,...r(n)});return typeof Promise<"u"&&i instanceof Promise?i.then(c=>c?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(e,s){return this._refinement((r,n)=>e(r)?!0:(n.addIssue(typeof s=="function"?s(r,n):s),!1))}_refinement(e){return new le({schema:this,typeName:U.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:s=>this["~validate"](s)}}optional(){return ue.create(this,this._def)}nullable(){return xe.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ee.create(this)}promise(){return Re.create(this,this._def)}or(e){return We.create([this,e],this._def)}and(e){return He.create(this,e,this._def)}transform(e){return new le({...D(this._def),schema:this,typeName:U.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let s=typeof e=="function"?e:()=>e;return new tt({...D(this._def),innerType:this,defaultValue:s,typeName:U.ZodDefault})}brand(){return new Nt({typeName:U.ZodBranded,type:this,...D(this._def)})}catch(e){let s=typeof e=="function"?e:()=>e;return new st({...D(this._def),innerType:this,catchValue:s,typeName:U.ZodCatch})}describe(e){let s=this.constructor;return new s({...this._def,description:e})}pipe(e){return Lt.create(this,e)}readonly(){return rt.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}};p.ZodType=v;p.Schema=v;p.ZodSchema=v;var Lu=/^c[^\s-]{8,}$/i,Mu=/^[0-9a-z]+$/,Zu=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Bu=/^[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,Fu=/^[a-z0-9_-]{21}$/i,Gu=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Vu=/^[-+]?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)?)??$/,Ju=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,zu="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",mr,Ku=/^(?:(?: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])$/,Wu=/^(?:(?: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])$/,Hu=/^(([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]))$/,Yu=/^(([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])$/,Xu=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Qu=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,si="((\\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])))",ep=new RegExp(`^${si}$`);function ri(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let s=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${s}`}function tp(t){return new RegExp(`^${ri(t)}$`)}function ni(t){let e=`${si}T${ri(t)}`,s=[];return s.push(t.local?"Z?":"Z"),t.offset&&s.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${s.join("|")})`,new RegExp(`^${e}$`)}function sp(t,e){return!!((e==="v4"||!e)&&Ku.test(t)||(e==="v6"||!e)&&Hu.test(t))}function rp(t,e){if(!Gu.test(t))return!1;try{let[s]=t.split(".");if(!s)return!1;let r=s.replace(/-/g,"+").replace(/_/g,"/").padEnd(s.length+(4-s.length%4)%4,"="),n=JSON.parse(atob(r));return!(typeof n!="object"||n===null||"typ"in n&&n?.typ!=="JWT"||!n.alg||e&&n.alg!==e)}catch{return!1}}function np(t,e){return!!((e==="v4"||!e)&&Wu.test(t)||(e==="v6"||!e)&&Yu.test(t))}var ve=class t extends v{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==b.ZodParsedType.string){let o=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(o,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.string,received:o.parsedType}),m.INVALID}let r=new m.ParseStatus,n;for(let o of this._def.checks)if(o.kind==="min")e.data.length<o.value&&(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{code:w.ZodIssueCode.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="max")e.data.length>o.value&&(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{code:w.ZodIssueCode.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="length"){let i=e.data.length>o.value,a=e.data.length<o.value;(i||a)&&(n=this._getOrReturnCtx(e,n),i?(0,m.addIssueToContext)(n,{code:w.ZodIssueCode.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):a&&(0,m.addIssueToContext)(n,{code:w.ZodIssueCode.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),r.dirty())}else if(o.kind==="email")Ju.test(e.data)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{validation:"email",code:w.ZodIssueCode.invalid_string,message:o.message}),r.dirty());else if(o.kind==="emoji")mr||(mr=new RegExp(zu,"u")),mr.test(e.data)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{validation:"emoji",code:w.ZodIssueCode.invalid_string,message:o.message}),r.dirty());else if(o.kind==="uuid")Bu.test(e.data)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{validation:"uuid",code:w.ZodIssueCode.invalid_string,message:o.message}),r.dirty());else if(o.kind==="nanoid")Fu.test(e.data)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{validation:"nanoid",code:w.ZodIssueCode.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid")Lu.test(e.data)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{validation:"cuid",code:w.ZodIssueCode.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid2")Mu.test(e.data)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{validation:"cuid2",code:w.ZodIssueCode.invalid_string,message:o.message}),r.dirty());else if(o.kind==="ulid")Zu.test(e.data)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{validation:"ulid",code:w.ZodIssueCode.invalid_string,message:o.message}),r.dirty());else if(o.kind==="url")try{new URL(e.data)}catch{n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{validation:"url",code:w.ZodIssueCode.invalid_string,message:o.message}),r.dirty()}else o.kind==="regex"?(o.regex.lastIndex=0,o.regex.test(e.data)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{validation:"regex",code:w.ZodIssueCode.invalid_string,message:o.message}),r.dirty())):o.kind==="trim"?e.data=e.data.trim():o.kind==="includes"?e.data.includes(o.value,o.position)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{code:w.ZodIssueCode.invalid_string,validation:{includes:o.value,position:o.position},message:o.message}),r.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)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{code:w.ZodIssueCode.invalid_string,validation:{startsWith:o.value},message:o.message}),r.dirty()):o.kind==="endsWith"?e.data.endsWith(o.value)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{code:w.ZodIssueCode.invalid_string,validation:{endsWith:o.value},message:o.message}),r.dirty()):o.kind==="datetime"?ni(o).test(e.data)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{code:w.ZodIssueCode.invalid_string,validation:"datetime",message:o.message}),r.dirty()):o.kind==="date"?ep.test(e.data)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{code:w.ZodIssueCode.invalid_string,validation:"date",message:o.message}),r.dirty()):o.kind==="time"?tp(o).test(e.data)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{code:w.ZodIssueCode.invalid_string,validation:"time",message:o.message}),r.dirty()):o.kind==="duration"?Vu.test(e.data)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{validation:"duration",code:w.ZodIssueCode.invalid_string,message:o.message}),r.dirty()):o.kind==="ip"?sp(e.data,o.version)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{validation:"ip",code:w.ZodIssueCode.invalid_string,message:o.message}),r.dirty()):o.kind==="jwt"?rp(e.data,o.alg)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{validation:"jwt",code:w.ZodIssueCode.invalid_string,message:o.message}),r.dirty()):o.kind==="cidr"?np(e.data,o.version)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{validation:"cidr",code:w.ZodIssueCode.invalid_string,message:o.message}),r.dirty()):o.kind==="base64"?Xu.test(e.data)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{validation:"base64",code:w.ZodIssueCode.invalid_string,message:o.message}),r.dirty()):o.kind==="base64url"?Qu.test(e.data)||(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{validation:"base64url",code:w.ZodIssueCode.invalid_string,message:o.message}),r.dirty()):b.util.assertNever(o);return{status:r.value,value:e.data}}_regex(e,s,r){return this.refinement(n=>e.test(n),{validation:s,code:w.ZodIssueCode.invalid_string,...E.errorUtil.errToObj(r)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...E.errorUtil.errToObj(e)})}url(e){return this._addCheck({kind:"url",...E.errorUtil.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...E.errorUtil.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...E.errorUtil.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...E.errorUtil.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...E.errorUtil.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...E.errorUtil.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...E.errorUtil.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...E.errorUtil.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...E.errorUtil.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...E.errorUtil.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...E.errorUtil.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...E.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,...E.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,...E.errorUtil.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...E.errorUtil.errToObj(e)})}regex(e,s){return this._addCheck({kind:"regex",regex:e,...E.errorUtil.errToObj(s)})}includes(e,s){return this._addCheck({kind:"includes",value:e,position:s?.position,...E.errorUtil.errToObj(s?.message)})}startsWith(e,s){return this._addCheck({kind:"startsWith",value:e,...E.errorUtil.errToObj(s)})}endsWith(e,s){return this._addCheck({kind:"endsWith",value:e,...E.errorUtil.errToObj(s)})}min(e,s){return this._addCheck({kind:"min",value:e,...E.errorUtil.errToObj(s)})}max(e,s){return this._addCheck({kind:"max",value:e,...E.errorUtil.errToObj(s)})}length(e,s){return this._addCheck({kind:"length",value:e,...E.errorUtil.errToObj(s)})}nonempty(e){return this.min(1,E.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 s of this._def.checks)s.kind==="min"&&(e===null||s.value>e)&&(e=s.value);return e}get maxLength(){let e=null;for(let s of this._def.checks)s.kind==="max"&&(e===null||s.value<e)&&(e=s.value);return e}};p.ZodString=ve;ve.create=t=>new ve({checks:[],typeName:U.ZodString,coerce:t?.coerce??!1,...D(t)});function op(t,e){let s=(t.toString().split(".")[1]||"").length,r=(e.toString().split(".")[1]||"").length,n=s>r?s:r,o=Number.parseInt(t.toFixed(n).replace(".","")),i=Number.parseInt(e.toFixed(n).replace(".",""));return o%i/10**n}var Fe=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)!==b.ZodParsedType.number){let o=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(o,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.number,received:o.parsedType}),m.INVALID}let r,n=new m.ParseStatus;for(let o of this._def.checks)o.kind==="int"?b.util.isInteger(e.data)||(r=this._getOrReturnCtx(e,r),(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.invalid_type,expected:"integer",received:"float",message:o.message}),n.dirty()):o.kind==="min"?(o.inclusive?e.data<o.value:e.data<=o.value)&&(r=this._getOrReturnCtx(e,r),(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.too_small,minimum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),n.dirty()):o.kind==="max"?(o.inclusive?e.data>o.value:e.data>=o.value)&&(r=this._getOrReturnCtx(e,r),(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),n.dirty()):o.kind==="multipleOf"?op(e.data,o.value)!==0&&(r=this._getOrReturnCtx(e,r),(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.not_multiple_of,multipleOf:o.value,message:o.message}),n.dirty()):o.kind==="finite"?Number.isFinite(e.data)||(r=this._getOrReturnCtx(e,r),(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.not_finite,message:o.message}),n.dirty()):b.util.assertNever(o);return{status:n.value,value:e.data}}gte(e,s){return this.setLimit("min",e,!0,E.errorUtil.toString(s))}gt(e,s){return this.setLimit("min",e,!1,E.errorUtil.toString(s))}lte(e,s){return this.setLimit("max",e,!0,E.errorUtil.toString(s))}lt(e,s){return this.setLimit("max",e,!1,E.errorUtil.toString(s))}setLimit(e,s,r,n){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:s,inclusive:r,message:E.errorUtil.toString(n)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:E.errorUtil.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:E.errorUtil.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:E.errorUtil.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:E.errorUtil.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:E.errorUtil.toString(e)})}multipleOf(e,s){return this._addCheck({kind:"multipleOf",value:e,message:E.errorUtil.toString(s)})}finite(e){return this._addCheck({kind:"finite",message:E.errorUtil.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:E.errorUtil.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:E.errorUtil.toString(e)})}get minValue(){let e=null;for(let s of this._def.checks)s.kind==="min"&&(e===null||s.value>e)&&(e=s.value);return e}get maxValue(){let e=null;for(let s of this._def.checks)s.kind==="max"&&(e===null||s.value<e)&&(e=s.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&b.util.isInteger(e.value))}get isFinite(){let e=null,s=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(s===null||r.value>s)&&(s=r.value):r.kind==="max"&&(e===null||r.value<e)&&(e=r.value)}return Number.isFinite(s)&&Number.isFinite(e)}};p.ZodNumber=Fe;Fe.create=t=>new Fe({checks:[],typeName:U.ZodNumber,coerce:t?.coerce||!1,...D(t)});var Ge=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)!==b.ZodParsedType.bigint)return this._getInvalidInput(e);let r,n=new m.ParseStatus;for(let o of this._def.checks)o.kind==="min"?(o.inclusive?e.data<o.value:e.data<=o.value)&&(r=this._getOrReturnCtx(e,r),(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.too_small,type:"bigint",minimum:o.value,inclusive:o.inclusive,message:o.message}),n.dirty()):o.kind==="max"?(o.inclusive?e.data>o.value:e.data>=o.value)&&(r=this._getOrReturnCtx(e,r),(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),n.dirty()):o.kind==="multipleOf"?e.data%o.value!==BigInt(0)&&(r=this._getOrReturnCtx(e,r),(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.not_multiple_of,multipleOf:o.value,message:o.message}),n.dirty()):b.util.assertNever(o);return{status:n.value,value:e.data}}_getInvalidInput(e){let s=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(s,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.bigint,received:s.parsedType}),m.INVALID}gte(e,s){return this.setLimit("min",e,!0,E.errorUtil.toString(s))}gt(e,s){return this.setLimit("min",e,!1,E.errorUtil.toString(s))}lte(e,s){return this.setLimit("max",e,!0,E.errorUtil.toString(s))}lt(e,s){return this.setLimit("max",e,!1,E.errorUtil.toString(s))}setLimit(e,s,r,n){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:s,inclusive:r,message:E.errorUtil.toString(n)}]})}_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:E.errorUtil.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:E.errorUtil.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:E.errorUtil.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:E.errorUtil.toString(e)})}multipleOf(e,s){return this._addCheck({kind:"multipleOf",value:e,message:E.errorUtil.toString(s)})}get minValue(){let e=null;for(let s of this._def.checks)s.kind==="min"&&(e===null||s.value>e)&&(e=s.value);return e}get maxValue(){let e=null;for(let s of this._def.checks)s.kind==="max"&&(e===null||s.value<e)&&(e=s.value);return e}};p.ZodBigInt=Ge;Ge.create=t=>new Ge({checks:[],typeName:U.ZodBigInt,coerce:t?.coerce??!1,...D(t)});var Ve=class extends v{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==b.ZodParsedType.boolean){let r=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.boolean,received:r.parsedType}),m.INVALID}return(0,m.OK)(e.data)}};p.ZodBoolean=Ve;Ve.create=t=>new Ve({typeName:U.ZodBoolean,coerce:t?.coerce||!1,...D(t)});var Je=class t extends v{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==b.ZodParsedType.date){let o=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(o,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.date,received:o.parsedType}),m.INVALID}if(Number.isNaN(e.data.getTime())){let o=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(o,{code:w.ZodIssueCode.invalid_date}),m.INVALID}let r=new m.ParseStatus,n;for(let o of this._def.checks)o.kind==="min"?e.data.getTime()<o.value&&(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{code:w.ZodIssueCode.too_small,message:o.message,inclusive:!0,exact:!1,minimum:o.value,type:"date"}),r.dirty()):o.kind==="max"?e.data.getTime()>o.value&&(n=this._getOrReturnCtx(e,n),(0,m.addIssueToContext)(n,{code:w.ZodIssueCode.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):b.util.assertNever(o);return{status:r.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,s){return this._addCheck({kind:"min",value:e.getTime(),message:E.errorUtil.toString(s)})}max(e,s){return this._addCheck({kind:"max",value:e.getTime(),message:E.errorUtil.toString(s)})}get minDate(){let e=null;for(let s of this._def.checks)s.kind==="min"&&(e===null||s.value>e)&&(e=s.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let s of this._def.checks)s.kind==="max"&&(e===null||s.value<e)&&(e=s.value);return e!=null?new Date(e):null}};p.ZodDate=Je;Je.create=t=>new Je({checks:[],coerce:t?.coerce||!1,typeName:U.ZodDate,...D(t)});var ft=class extends v{_parse(e){if(this._getType(e)!==b.ZodParsedType.symbol){let r=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.symbol,received:r.parsedType}),m.INVALID}return(0,m.OK)(e.data)}};p.ZodSymbol=ft;ft.create=t=>new ft({typeName:U.ZodSymbol,...D(t)});var ze=class extends v{_parse(e){if(this._getType(e)!==b.ZodParsedType.undefined){let r=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.undefined,received:r.parsedType}),m.INVALID}return(0,m.OK)(e.data)}};p.ZodUndefined=ze;ze.create=t=>new ze({typeName:U.ZodUndefined,...D(t)});var Ke=class extends v{_parse(e){if(this._getType(e)!==b.ZodParsedType.null){let r=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.null,received:r.parsedType}),m.INVALID}return(0,m.OK)(e.data)}};p.ZodNull=Ke;Ke.create=t=>new Ke({typeName:U.ZodNull,...D(t)});var Pe=class extends v{constructor(){super(...arguments),this._any=!0}_parse(e){return(0,m.OK)(e.data)}};p.ZodAny=Pe;Pe.create=t=>new Pe({typeName:U.ZodAny,...D(t)});var Ae=class extends v{constructor(){super(...arguments),this._unknown=!0}_parse(e){return(0,m.OK)(e.data)}};p.ZodUnknown=Ae;Ae.create=t=>new Ae({typeName:U.ZodUnknown,...D(t)});var he=class extends v{_parse(e){let s=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(s,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.never,received:s.parsedType}),m.INVALID}};p.ZodNever=he;he.create=t=>new he({typeName:U.ZodNever,...D(t)});var ht=class extends v{_parse(e){if(this._getType(e)!==b.ZodParsedType.undefined){let r=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.void,received:r.parsedType}),m.INVALID}return(0,m.OK)(e.data)}};p.ZodVoid=ht;ht.create=t=>new ht({typeName:U.ZodVoid,...D(t)});var Ee=class t extends v{_parse(e){let{ctx:s,status:r}=this._processInputParams(e),n=this._def;if(s.parsedType!==b.ZodParsedType.array)return(0,m.addIssueToContext)(s,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.array,received:s.parsedType}),m.INVALID;if(n.exactLength!==null){let i=s.data.length>n.exactLength.value,a=s.data.length<n.exactLength.value;(i||a)&&((0,m.addIssueToContext)(s,{code:i?w.ZodIssueCode.too_big:w.ZodIssueCode.too_small,minimum:a?n.exactLength.value:void 0,maximum:i?n.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:n.exactLength.message}),r.dirty())}if(n.minLength!==null&&s.data.length<n.minLength.value&&((0,m.addIssueToContext)(s,{code:w.ZodIssueCode.too_small,minimum:n.minLength.value,type:"array",inclusive:!0,exact:!1,message:n.minLength.message}),r.dirty()),n.maxLength!==null&&s.data.length>n.maxLength.value&&((0,m.addIssueToContext)(s,{code:w.ZodIssueCode.too_big,maximum:n.maxLength.value,type:"array",inclusive:!0,exact:!1,message:n.maxLength.message}),r.dirty()),s.common.async)return Promise.all([...s.data].map((i,a)=>n.type._parseAsync(new pe(s,i,s.path,a)))).then(i=>m.ParseStatus.mergeArray(r,i));let o=[...s.data].map((i,a)=>n.type._parseSync(new pe(s,i,s.path,a)));return m.ParseStatus.mergeArray(r,o)}get element(){return this._def.type}min(e,s){return new t({...this._def,minLength:{value:e,message:E.errorUtil.toString(s)}})}max(e,s){return new t({...this._def,maxLength:{value:e,message:E.errorUtil.toString(s)}})}length(e,s){return new t({...this._def,exactLength:{value:e,message:E.errorUtil.toString(s)}})}nonempty(e){return this.min(1,e)}};p.ZodArray=Ee;Ee.create=(t,e)=>new Ee({type:t,minLength:null,maxLength:null,exactLength:null,typeName:U.ZodArray,...D(e)});function mt(t){if(t instanceof ae){let e={};for(let s in t.shape){let r=t.shape[s];e[s]=ue.create(mt(r))}return new ae({...t._def,shape:()=>e})}else return t instanceof Ee?new Ee({...t._def,type:mt(t.element)}):t instanceof ue?ue.create(mt(t.unwrap())):t instanceof xe?xe.create(mt(t.unwrap())):t instanceof ke?ke.create(t.items.map(e=>mt(e))):t}var ae=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(),s=b.util.objectKeys(e);return this._cached={shape:e,keys:s},this._cached}_parse(e){if(this._getType(e)!==b.ZodParsedType.object){let l=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(l,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.object,received:l.parsedType}),m.INVALID}let{status:r,ctx:n}=this._processInputParams(e),{shape:o,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof he&&this._def.unknownKeys==="strip"))for(let l in n.data)i.includes(l)||a.push(l);let c=[];for(let l of i){let d=o[l],u=n.data[l];c.push({key:{status:"valid",value:l},value:d._parse(new pe(n,u,n.path,l)),alwaysSet:l in n.data})}if(this._def.catchall instanceof he){let l=this._def.unknownKeys;if(l==="passthrough")for(let d of a)c.push({key:{status:"valid",value:d},value:{status:"valid",value:n.data[d]}});else if(l==="strict")a.length>0&&((0,m.addIssueToContext)(n,{code:w.ZodIssueCode.unrecognized_keys,keys:a}),r.dirty());else if(l!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let l=this._def.catchall;for(let d of a){let u=n.data[d];c.push({key:{status:"valid",value:d},value:l._parse(new pe(n,u,n.path,d)),alwaysSet:d in n.data})}}return n.common.async?Promise.resolve().then(async()=>{let l=[];for(let d of c){let u=await d.key,f=await d.value;l.push({key:u,value:f,alwaysSet:d.alwaysSet})}return l}).then(l=>m.ParseStatus.mergeObjectSync(r,l)):m.ParseStatus.mergeObjectSync(r,c)}get shape(){return this._def.shape()}strict(e){return E.errorUtil.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(s,r)=>{let n=this._def.errorMap?.(s,r).message??r.defaultError;return s.code==="unrecognized_keys"?{message:E.errorUtil.errToObj(e).message??n}:{message:n}}}:{}})}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:U.ZodObject})}setKey(e,s){return this.augment({[e]:s})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let s={};for(let r of b.util.objectKeys(e))e[r]&&this.shape[r]&&(s[r]=this.shape[r]);return new t({...this._def,shape:()=>s})}omit(e){let s={};for(let r of b.util.objectKeys(this.shape))e[r]||(s[r]=this.shape[r]);return new t({...this._def,shape:()=>s})}deepPartial(){return mt(this)}partial(e){let s={};for(let r of b.util.objectKeys(this.shape)){let n=this.shape[r];e&&!e[r]?s[r]=n:s[r]=n.optional()}return new t({...this._def,shape:()=>s})}required(e){let s={};for(let r of b.util.objectKeys(this.shape))if(e&&!e[r])s[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof ue;)o=o._def.innerType;s[r]=o}return new t({...this._def,shape:()=>s})}keyof(){return oi(b.util.objectKeys(this.shape))}};p.ZodObject=ae;ae.create=(t,e)=>new ae({shape:()=>t,unknownKeys:"strip",catchall:he.create(),typeName:U.ZodObject,...D(e)});ae.strictCreate=(t,e)=>new ae({shape:()=>t,unknownKeys:"strict",catchall:he.create(),typeName:U.ZodObject,...D(e)});ae.lazycreate=(t,e)=>new ae({shape:t,unknownKeys:"strip",catchall:he.create(),typeName:U.ZodObject,...D(e)});var We=class extends v{_parse(e){let{ctx:s}=this._processInputParams(e),r=this._def.options;function n(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 s.common.issues.push(...a.ctx.common.issues),a.result;let i=o.map(a=>new w.ZodError(a.ctx.common.issues));return(0,m.addIssueToContext)(s,{code:w.ZodIssueCode.invalid_union,unionErrors:i}),m.INVALID}if(s.common.async)return Promise.all(r.map(async o=>{let i={...s,common:{...s.common,issues:[]},parent:null};return{result:await o._parseAsync({data:s.data,path:s.path,parent:i}),ctx:i}})).then(n);{let o,i=[];for(let c of r){let l={...s,common:{...s.common,issues:[]},parent:null},d=c._parseSync({data:s.data,path:s.path,parent:l});if(d.status==="valid")return d;d.status==="dirty"&&!o&&(o={result:d,ctx:l}),l.common.issues.length&&i.push(l.common.issues)}if(o)return s.common.issues.push(...o.ctx.common.issues),o.result;let a=i.map(c=>new w.ZodError(c));return(0,m.addIssueToContext)(s,{code:w.ZodIssueCode.invalid_union,unionErrors:a}),m.INVALID}}get options(){return this._def.options}};p.ZodUnion=We;We.create=(t,e)=>new We({options:t,typeName:U.ZodUnion,...D(e)});var Te=t=>t instanceof Ye?Te(t.schema):t instanceof le?Te(t.innerType()):t instanceof Xe?[t.value]:t instanceof Qe?t.options:t instanceof et?b.util.objectValues(t.enum):t instanceof tt?Te(t._def.innerType):t instanceof ze?[void 0]:t instanceof Ke?[null]:t instanceof ue?[void 0,...Te(t.unwrap())]:t instanceof xe?[null,...Te(t.unwrap())]:t instanceof Nt||t instanceof rt?Te(t.unwrap()):t instanceof st?Te(t._def.innerType):[],ls=class t extends v{_parse(e){let{ctx:s}=this._processInputParams(e);if(s.parsedType!==b.ZodParsedType.object)return(0,m.addIssueToContext)(s,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.object,received:s.parsedType}),m.INVALID;let r=this.discriminator,n=s.data[r],o=this.optionsMap.get(n);return o?s.common.async?o._parseAsync({data:s.data,path:s.path,parent:s}):o._parseSync({data:s.data,path:s.path,parent:s}):((0,m.addIssueToContext)(s,{code:w.ZodIssueCode.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),m.INVALID)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,s,r){let n=new Map;for(let o of s){let i=Te(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(n.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);n.set(a,o)}}return new t({typeName:U.ZodDiscriminatedUnion,discriminator:e,options:s,optionsMap:n,...D(r)})}};p.ZodDiscriminatedUnion=ls;function fr(t,e){let s=(0,b.getParsedType)(t),r=(0,b.getParsedType)(e);if(t===e)return{valid:!0,data:t};if(s===b.ZodParsedType.object&&r===b.ZodParsedType.object){let n=b.util.objectKeys(e),o=b.util.objectKeys(t).filter(a=>n.indexOf(a)!==-1),i={...t,...e};for(let a of o){let c=fr(t[a],e[a]);if(!c.valid)return{valid:!1};i[a]=c.data}return{valid:!0,data:i}}else if(s===b.ZodParsedType.array&&r===b.ZodParsedType.array){if(t.length!==e.length)return{valid:!1};let n=[];for(let o=0;o<t.length;o++){let i=t[o],a=e[o],c=fr(i,a);if(!c.valid)return{valid:!1};n.push(c.data)}return{valid:!0,data:n}}else return s===b.ZodParsedType.date&&r===b.ZodParsedType.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}var He=class extends v{_parse(e){let{status:s,ctx:r}=this._processInputParams(e),n=(o,i)=>{if((0,m.isAborted)(o)||(0,m.isAborted)(i))return m.INVALID;let a=fr(o.value,i.value);return a.valid?(((0,m.isDirty)(o)||(0,m.isDirty)(i))&&s.dirty(),{status:s.value,value:a.data}):((0,m.addIssueToContext)(r,{code:w.ZodIssueCode.invalid_intersection_types}),m.INVALID)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([o,i])=>n(o,i)):n(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}};p.ZodIntersection=He;He.create=(t,e,s)=>new He({left:t,right:e,typeName:U.ZodIntersection,...D(s)});var ke=class t extends v{_parse(e){let{status:s,ctx:r}=this._processInputParams(e);if(r.parsedType!==b.ZodParsedType.array)return(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.array,received:r.parsedType}),m.INVALID;if(r.data.length<this._def.items.length)return(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),m.INVALID;!this._def.rest&&r.data.length>this._def.items.length&&((0,m.addIssueToContext)(r,{code:w.ZodIssueCode.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),s.dirty());let o=[...r.data].map((i,a)=>{let c=this._def.items[a]||this._def.rest;return c?c._parse(new pe(r,i,r.path,a)):null}).filter(i=>!!i);return r.common.async?Promise.all(o).then(i=>m.ParseStatus.mergeArray(s,i)):m.ParseStatus.mergeArray(s,o)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};p.ZodTuple=ke;ke.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new ke({items:t,typeName:U.ZodTuple,rest:null,...D(e)})};var ds=class t extends v{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:s,ctx:r}=this._processInputParams(e);if(r.parsedType!==b.ZodParsedType.object)return(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.object,received:r.parsedType}),m.INVALID;let n=[],o=this._def.keyType,i=this._def.valueType;for(let a in r.data)n.push({key:o._parse(new pe(r,a,r.path,a)),value:i._parse(new pe(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?m.ParseStatus.mergeObjectAsync(s,n):m.ParseStatus.mergeObjectSync(s,n)}get element(){return this._def.valueType}static create(e,s,r){return s instanceof v?new t({keyType:e,valueType:s,typeName:U.ZodRecord,...D(r)}):new t({keyType:ve.create(),valueType:e,typeName:U.ZodRecord,...D(s)})}};p.ZodRecord=ds;var gt=class extends v{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:s,ctx:r}=this._processInputParams(e);if(r.parsedType!==b.ZodParsedType.map)return(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.map,received:r.parsedType}),m.INVALID;let n=this._def.keyType,o=this._def.valueType,i=[...r.data.entries()].map(([a,c],l)=>({key:n._parse(new pe(r,a,r.path,[l,"key"])),value:o._parse(new pe(r,c,r.path,[l,"value"]))}));if(r.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let c of i){let l=await c.key,d=await c.value;if(l.status==="aborted"||d.status==="aborted")return m.INVALID;(l.status==="dirty"||d.status==="dirty")&&s.dirty(),a.set(l.value,d.value)}return{status:s.value,value:a}})}else{let a=new Map;for(let c of i){let l=c.key,d=c.value;if(l.status==="aborted"||d.status==="aborted")return m.INVALID;(l.status==="dirty"||d.status==="dirty")&&s.dirty(),a.set(l.value,d.value)}return{status:s.value,value:a}}}};p.ZodMap=gt;gt.create=(t,e,s)=>new gt({valueType:e,keyType:t,typeName:U.ZodMap,...D(s)});var yt=class t extends v{_parse(e){let{status:s,ctx:r}=this._processInputParams(e);if(r.parsedType!==b.ZodParsedType.set)return(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.set,received:r.parsedType}),m.INVALID;let n=this._def;n.minSize!==null&&r.data.size<n.minSize.value&&((0,m.addIssueToContext)(r,{code:w.ZodIssueCode.too_small,minimum:n.minSize.value,type:"set",inclusive:!0,exact:!1,message:n.minSize.message}),s.dirty()),n.maxSize!==null&&r.data.size>n.maxSize.value&&((0,m.addIssueToContext)(r,{code:w.ZodIssueCode.too_big,maximum:n.maxSize.value,type:"set",inclusive:!0,exact:!1,message:n.maxSize.message}),s.dirty());let o=this._def.valueType;function i(c){let l=new Set;for(let d of c){if(d.status==="aborted")return m.INVALID;d.status==="dirty"&&s.dirty(),l.add(d.value)}return{status:s.value,value:l}}let a=[...r.data.values()].map((c,l)=>o._parse(new pe(r,c,r.path,l)));return r.common.async?Promise.all(a).then(c=>i(c)):i(a)}min(e,s){return new t({...this._def,minSize:{value:e,message:E.errorUtil.toString(s)}})}max(e,s){return new t({...this._def,maxSize:{value:e,message:E.errorUtil.toString(s)}})}size(e,s){return this.min(e,s).max(e,s)}nonempty(e){return this.min(1,e)}};p.ZodSet=yt;yt.create=(t,e)=>new yt({valueType:t,minSize:null,maxSize:null,typeName:U.ZodSet,...D(e)});var us=class t extends v{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:s}=this._processInputParams(e);if(s.parsedType!==b.ZodParsedType.function)return(0,m.addIssueToContext)(s,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.function,received:s.parsedType}),m.INVALID;function r(a,c){return(0,m.makeIssue)({data:a,path:s.path,errorMaps:[s.common.contextualErrorMap,s.schemaErrorMap,(0,cs.getErrorMap)(),cs.defaultErrorMap].filter(l=>!!l),issueData:{code:w.ZodIssueCode.invalid_arguments,argumentsError:c}})}function n(a,c){return(0,m.makeIssue)({data:a,path:s.path,errorMaps:[s.common.contextualErrorMap,s.schemaErrorMap,(0,cs.getErrorMap)(),cs.defaultErrorMap].filter(l=>!!l),issueData:{code:w.ZodIssueCode.invalid_return_type,returnTypeError:c}})}let o={errorMap:s.common.contextualErrorMap},i=s.data;if(this._def.returns instanceof Re){let a=this;return(0,m.OK)(async function(...c){let l=new w.ZodError([]),d=await a._def.args.parseAsync(c,o).catch(h=>{throw l.addIssue(r(c,h)),l}),u=await Reflect.apply(i,this,d);return await a._def.returns._def.type.parseAsync(u,o).catch(h=>{throw l.addIssue(n(u,h)),l})})}else{let a=this;return(0,m.OK)(function(...c){let l=a._def.args.safeParse(c,o);if(!l.success)throw new w.ZodError([r(c,l.error)]);let d=Reflect.apply(i,this,l.data),u=a._def.returns.safeParse(d,o);if(!u.success)throw new w.ZodError([n(d,u.error)]);return u.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:ke.create(e).rest(Ae.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,s,r){return new t({args:e||ke.create([]).rest(Ae.create()),returns:s||Ae.create(),typeName:U.ZodFunction,...D(r)})}};p.ZodFunction=us;var Ye=class extends v{get schema(){return this._def.getter()}_parse(e){let{ctx:s}=this._processInputParams(e);return this._def.getter()._parse({data:s.data,path:s.path,parent:s})}};p.ZodLazy=Ye;Ye.create=(t,e)=>new Ye({getter:t,typeName:U.ZodLazy,...D(e)});var Xe=class extends v{_parse(e){if(e.data!==this._def.value){let s=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(s,{received:s.data,code:w.ZodIssueCode.invalid_literal,expected:this._def.value}),m.INVALID}return{status:"valid",value:e.data}}get value(){return this._def.value}};p.ZodLiteral=Xe;Xe.create=(t,e)=>new Xe({value:t,typeName:U.ZodLiteral,...D(e)});function oi(t,e){return new Qe({values:t,typeName:U.ZodEnum,...D(e)})}var Qe=class t extends v{_parse(e){if(typeof e.data!="string"){let s=this._getOrReturnCtx(e),r=this._def.values;return(0,m.addIssueToContext)(s,{expected:b.util.joinValues(r),received:s.parsedType,code:w.ZodIssueCode.invalid_type}),m.INVALID}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let s=this._getOrReturnCtx(e),r=this._def.values;return(0,m.addIssueToContext)(s,{received:s.data,code:w.ZodIssueCode.invalid_enum_value,options:r}),m.INVALID}return(0,m.OK)(e.data)}get options(){return this._def.values}get enum(){let e={};for(let s of this._def.values)e[s]=s;return e}get Values(){let e={};for(let s of this._def.values)e[s]=s;return e}get Enum(){let e={};for(let s of this._def.values)e[s]=s;return e}extract(e,s=this._def){return t.create(e,{...this._def,...s})}exclude(e,s=this._def){return t.create(this.options.filter(r=>!e.includes(r)),{...this._def,...s})}};p.ZodEnum=Qe;Qe.create=oi;var et=class extends v{_parse(e){let s=b.util.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==b.ZodParsedType.string&&r.parsedType!==b.ZodParsedType.number){let n=b.util.objectValues(s);return(0,m.addIssueToContext)(r,{expected:b.util.joinValues(n),received:r.parsedType,code:w.ZodIssueCode.invalid_type}),m.INVALID}if(this._cache||(this._cache=new Set(b.util.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let n=b.util.objectValues(s);return(0,m.addIssueToContext)(r,{received:r.data,code:w.ZodIssueCode.invalid_enum_value,options:n}),m.INVALID}return(0,m.OK)(e.data)}get enum(){return this._def.values}};p.ZodNativeEnum=et;et.create=(t,e)=>new et({values:t,typeName:U.ZodNativeEnum,...D(e)});var Re=class extends v{unwrap(){return this._def.type}_parse(e){let{ctx:s}=this._processInputParams(e);if(s.parsedType!==b.ZodParsedType.promise&&s.common.async===!1)return(0,m.addIssueToContext)(s,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.promise,received:s.parsedType}),m.INVALID;let r=s.parsedType===b.ZodParsedType.promise?s.data:Promise.resolve(s.data);return(0,m.OK)(r.then(n=>this._def.type.parseAsync(n,{path:s.path,errorMap:s.common.contextualErrorMap})))}};p.ZodPromise=Re;Re.create=(t,e)=>new Re({type:t,typeName:U.ZodPromise,...D(e)});var le=class extends v{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===U.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:s,ctx:r}=this._processInputParams(e),n=this._def.effect||null,o={addIssue:i=>{(0,m.addIssueToContext)(r,i),i.fatal?s.abort():s.dirty()},get path(){return r.path}};if(o.addIssue=o.addIssue.bind(o),n.type==="preprocess"){let i=n.transform(r.data,o);if(r.common.async)return Promise.resolve(i).then(async a=>{if(s.value==="aborted")return m.INVALID;let c=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return c.status==="aborted"?m.INVALID:c.status==="dirty"||s.value==="dirty"?(0,m.DIRTY)(c.value):c});{if(s.value==="aborted")return m.INVALID;let a=this._def.schema._parseSync({data:i,path:r.path,parent:r});return a.status==="aborted"?m.INVALID:a.status==="dirty"||s.value==="dirty"?(0,m.DIRTY)(a.value):a}}if(n.type==="refinement"){let i=a=>{let c=n.refinement(a,o);if(r.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(r.common.async===!1){let a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?m.INVALID:(a.status==="dirty"&&s.dirty(),i(a.value),{status:s.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?m.INVALID:(a.status==="dirty"&&s.dirty(),i(a.value).then(()=>({status:s.value,value:a.value}))))}if(n.type==="transform")if(r.common.async===!1){let i=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!(0,m.isValid)(i))return m.INVALID;let a=n.transform(i.value,o);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:s.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(i=>(0,m.isValid)(i)?Promise.resolve(n.transform(i.value,o)).then(a=>({status:s.value,value:a})):m.INVALID);b.util.assertNever(n)}};p.ZodEffects=le;p.ZodTransformer=le;le.create=(t,e,s)=>new le({schema:t,typeName:U.ZodEffects,effect:e,...D(s)});le.createWithPreprocess=(t,e,s)=>new le({schema:e,effect:{type:"preprocess",transform:t},typeName:U.ZodEffects,...D(s)});var ue=class extends v{_parse(e){return this._getType(e)===b.ZodParsedType.undefined?(0,m.OK)(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};p.ZodOptional=ue;ue.create=(t,e)=>new ue({innerType:t,typeName:U.ZodOptional,...D(e)});var xe=class extends v{_parse(e){return this._getType(e)===b.ZodParsedType.null?(0,m.OK)(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};p.ZodNullable=xe;xe.create=(t,e)=>new xe({innerType:t,typeName:U.ZodNullable,...D(e)});var tt=class extends v{_parse(e){let{ctx:s}=this._processInputParams(e),r=s.data;return s.parsedType===b.ZodParsedType.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:s.path,parent:s})}removeDefault(){return this._def.innerType}};p.ZodDefault=tt;tt.create=(t,e)=>new tt({innerType:t,typeName:U.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...D(e)});var st=class extends v{_parse(e){let{ctx:s}=this._processInputParams(e),r={...s,common:{...s.common,issues:[]}},n=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return(0,m.isAsync)(n)?n.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new w.ZodError(r.common.issues)},input:r.data})})):{status:"valid",value:n.status==="valid"?n.value:this._def.catchValue({get error(){return new w.ZodError(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};p.ZodCatch=st;st.create=(t,e)=>new st({innerType:t,typeName:U.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...D(e)});var _t=class extends v{_parse(e){if(this._getType(e)!==b.ZodParsedType.nan){let r=this._getOrReturnCtx(e);return(0,m.addIssueToContext)(r,{code:w.ZodIssueCode.invalid_type,expected:b.ZodParsedType.nan,received:r.parsedType}),m.INVALID}return{status:"valid",value:e.data}}};p.ZodNaN=_t;_t.create=t=>new _t({typeName:U.ZodNaN,...D(t)});p.BRAND=Symbol("zod_brand");var Nt=class extends v{_parse(e){let{ctx:s}=this._processInputParams(e),r=s.data;return this._def.type._parse({data:r,path:s.path,parent:s})}unwrap(){return this._def.type}};p.ZodBranded=Nt;var Lt=class t extends v{_parse(e){let{status:s,ctx:r}=this._processInputParams(e);if(r.common.async)return(async()=>{let o=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?m.INVALID:o.status==="dirty"?(s.dirty(),(0,m.DIRTY)(o.value)):this._def.out._parseAsync({data:o.value,path:r.path,parent:r})})();{let n=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return n.status==="aborted"?m.INVALID:n.status==="dirty"?(s.dirty(),{status:"dirty",value:n.value}):this._def.out._parseSync({data:n.value,path:r.path,parent:r})}}static create(e,s){return new t({in:e,out:s,typeName:U.ZodPipeline})}};p.ZodPipeline=Lt;var rt=class extends v{_parse(e){let s=this._def.innerType._parse(e),r=n=>((0,m.isValid)(n)&&(n.value=Object.freeze(n.value)),n);return(0,m.isAsync)(s)?s.then(n=>r(n)):r(s)}unwrap(){return this._def.innerType}};p.ZodReadonly=rt;rt.create=(t,e)=>new rt({innerType:t,typeName:U.ZodReadonly,...D(e)});function ti(t,e){let s=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof s=="string"?{message:s}:s}function ii(t,e={},s){return t?Pe.create().superRefine((r,n)=>{let o=t(r);if(o instanceof Promise)return o.then(i=>{if(!i){let a=ti(e,r),c=a.fatal??s??!0;n.addIssue({code:"custom",...a,fatal:c})}});if(!o){let i=ti(e,r),a=i.fatal??s??!0;n.addIssue({code:"custom",...i,fatal:a})}}):Pe.create()}p.late={object:ae.lazycreate};var U;(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"})(U||(p.ZodFirstPartyTypeKind=U={}));var ip=(t,e={message:`Input not instance of ${t.name}`})=>ii(s=>s instanceof t,e);p.instanceof=ip;var ai=ve.create;p.string=ai;var ci=Fe.create;p.number=ci;var ap=_t.create;p.nan=ap;var cp=Ge.create;p.bigint=cp;var li=Ve.create;p.boolean=li;var lp=Je.create;p.date=lp;var dp=ft.create;p.symbol=dp;var up=ze.create;p.undefined=up;var pp=Ke.create;p.null=pp;var mp=Pe.create;p.any=mp;var fp=Ae.create;p.unknown=fp;var hp=he.create;p.never=hp;var gp=ht.create;p.void=gp;var yp=Ee.create;p.array=yp;var _p=ae.create;p.object=_p;var wp=ae.strictCreate;p.strictObject=wp;var bp=We.create;p.union=bp;var kp=ls.create;p.discriminatedUnion=kp;var xp=He.create;p.intersection=xp;var Ip=ke.create;p.tuple=Ip;var Cp=ds.create;p.record=Cp;var $p=gt.create;p.map=$p;var Sp=yt.create;p.set=Sp;var Tp=us.create;p.function=Tp;var Ap=Ye.create;p.lazy=Ap;var Ep=Xe.create;p.literal=Ep;var Op=Qe.create;p.enum=Op;var Up=et.create;p.nativeEnum=Up;var Dp=Re.create;p.promise=Dp;var di=le.create;p.effect=di;p.transformer=di;var vp=ue.create;p.optional=vp;var Pp=xe.create;p.nullable=Pp;var Rp=le.createWithPreprocess;p.preprocess=Rp;var jp=Lt.create;p.pipeline=jp;var qp=()=>ai().optional();p.ostring=qp;var Np=()=>ci().optional();p.onumber=Np;var Lp=()=>li().optional();p.oboolean=Lp;p.coerce={string:(t=>ve.create({...t,coerce:!0})),number:(t=>Fe.create({...t,coerce:!0})),boolean:(t=>Ve.create({...t,coerce:!0})),bigint:(t=>Ge.create({...t,coerce:!0})),date:(t=>Je.create({...t,coerce:!0}))};p.NEVER=m.INVALID});var hr=$(me=>{"use strict";var Mp=me&&me.__createBinding||(Object.create?(function(t,e,s,r){r===void 0&&(r=s);var n=Object.getOwnPropertyDescriptor(e,s);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[s]}}),Object.defineProperty(t,r,n)}):(function(t,e,s,r){r===void 0&&(r=s),t[r]=e[s]})),wt=me&&me.__exportStar||function(t,e){for(var s in t)s!=="default"&&!Object.prototype.hasOwnProperty.call(e,s)&&Mp(e,t,s)};Object.defineProperty(me,"__esModule",{value:!0});wt(is(),me);wt(pr(),me);wt(Yo(),me);wt(jt(),me);wt(ui(),me);wt(os(),me)});var fi=$(ce=>{"use strict";var pi=ce&&ce.__createBinding||(Object.create?(function(t,e,s,r){r===void 0&&(r=s);var n=Object.getOwnPropertyDescriptor(e,s);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[s]}}),Object.defineProperty(t,r,n)}):(function(t,e,s,r){r===void 0&&(r=s),t[r]=e[s]})),Zp=ce&&ce.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Bp=ce&&ce.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var s in t)s!=="default"&&Object.prototype.hasOwnProperty.call(t,s)&&pi(e,t,s);return Zp(e,t),e},Fp=ce&&ce.__exportStar||function(t,e){for(var s in t)s!=="default"&&!Object.prototype.hasOwnProperty.call(e,s)&&pi(e,t,s)};Object.defineProperty(ce,"__esModule",{value:!0});ce.z=void 0;var mi=Bp(hr());ce.z=mi;Fp(hr(),ce);ce.default=mi});var ps=$((f_,_i)=>{var gr=null;function yr(){return gr||(gr=fi().z),gr}function hi(){return yr().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 gi(){return yr().string().refine(t=>{try{return JSON.parse(t),!0}catch{return!1}},{message:"--meta-data \u4E0D\u662F\u5408\u6CD5\u7684 JSON"})}function yi(){return yr().string().trim().refine(t=>/^https?:\/\/[^\s]+$/i.test(t),{message:"registry \u5FC5\u987B\u662F http(s):// \u5F00\u5934\u7684 URL"})}function Gp(t){let e=hi().safeParse(t);return e.success?{ok:!0,value:e.data}:{ok:!1,error:e.error.issues[0].message}}function Vp(t){let e=gi().safeParse(t);return e.success?{ok:!0,value:e.data}:{ok:!1,error:e.error.issues[0].message}}function Jp(t){let e=yi().safeParse(t);return e.success?{ok:!0,value:e.data}:{ok:!1,error:e.error.issues[0].message}}_i.exports={apiKeySchema:hi,pubMetaDataSchema:gi,registrySchema:yi,validateApiKey:Gp,validatePubMetaData:Vp,validateRegistry:Jp}});var bi=$((h_,wi)=>{var zp=Go(),{validateApiKey:Kp}=ps();function Wp(t,e){let s=new zp(e),r=t.command("auth").description("\u7BA1\u7406\u8EAB\u4EFD\u9A8C\u8BC1\u51ED\u8BC1");r.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 n=>{if(n.apikey){let o=Kp(n.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 s.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 s.handle({authSubcommand:"login",authRemainingArgs:[],coderBaseUrl:e.getCoderBaseUrl()})||0}),r.command("logout").description("\u9000\u51FA\u767B\u5F55\uFF0C\u6E05\u9664\u5DF2\u4FDD\u5B58\u7684 API Key").action(async()=>{process.exitCode=await s.handle({authSubcommand:"logout"})||0}),r.command("status").description("\u67E5\u770B\u5F53\u524D\u767B\u5F55\u72B6\u6001").action(async()=>{process.exitCode=await s.handle({authSubcommand:"status"})||0})}wi.exports={register:Wp}});var Ii=$((g_,xi)=>{var ge=require("fs"),nt=require("path"),Hp=require("readline"),{execSync:ms}=require("child_process"),ki=require("os"),_r=class{constructor(){this.serverUrl="https://makecoder.com/bigapis/codev/v1/coderpub"}getClaudeJsonlPath(e,s=!1){let r=e.replace(/[/_]/g,"-"),n=nt.join(ki.homedir(),".claude","projects",r);if(s&&(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: ${r}`),console.log(` Claude \u9879\u76EE\u76EE\u5F55: ${n}`)),!ge.existsSync(n))return s&&console.log(" \u274C Claude \u9879\u76EE\u76EE\u5F55\u4E0D\u5B58\u5728"),null;s&&console.log(" \u2713 Claude \u9879\u76EE\u76EE\u5F55\u5B58\u5728");try{let o=ge.readdirSync(n).filter(i=>i.endsWith(".jsonl")).map(i=>({name:i,path:nt.join(n,i),mtime:ge.statSync(nt.join(n,i)).mtime,size:ge.statSync(nt.join(n,i)).size})).sort((i,a)=>a.mtime-i.mtime);return s&&(console.log(` \u627E\u5230 ${o.length} \u4E2A JSONL \u6587\u4EF6:`),o.forEach((i,a)=>{let c=(i.size/1024).toFixed(2),l=i.mtime.toLocaleString(),d=a===0?" <- \u6700\u65B0":"";console.log(` ${a+1}. ${i.name} (${c} KB, ${l})${d}`)})),o.length>0?(s&&console.log(` \u2713 \u9009\u62E9\u6700\u65B0\u6587\u4EF6: ${o[0].name}`),o[0].path):(s&&console.log(" \u274C \u76EE\u5F55\u4E2D\u6CA1\u6709 JSONL \u6587\u4EF6"),null)}catch(o){return s&&console.log(` \u274C \u8BFB\u53D6\u76EE\u5F55\u5931\u8D25: ${o.message}`),null}}async promptForName(){let e=Hp.createInterface({input:process.stdin,output:process.stdout});return new Promise((s,r)=>{e.question("\u8BF7\u8F93\u5165\u9879\u76EE\u540D\u79F0 (name): ",n=>{e.close();let o=n.trim();if(!o){r(new Error("\u9879\u76EE\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A"));return}if(!/^[a-zA-Z0-9_-]+$/.test(o)){r(new Error("\u9879\u76EE\u540D\u79F0\u53EA\u80FD\u5305\u542B\u5B57\u6BCD\u3001\u6570\u5B57\u3001\u4E0B\u5212\u7EBF\u548C\u8FDE\u5B57\u7B26"));return}s(o)})})}async createZip(e,s={}){let{allowClone:r=!1}=s,n=ki.tmpdir(),o=`coder-pub-${Date.now()}.zip`,i=nt.join(n,o);try{let a=!1;if(ge.existsSync(nt.join(e,".git")))try{ms(`git archive -o "${i}" HEAD`,{cwd:e,stdio:"pipe"}),console.log("\u{1F4E6} \u4F7F\u7528 git archive \u521B\u5EFA\u538B\u7F29\u5305\uFF08\u5DF2\u6392\u9664 .gitignore \u4E2D\u7684\u6587\u4EF6\uFF09"),a=!0}catch{console.log("\u26A0\uFE0F git archive \u5931\u8D25\uFF0C\u4F7F\u7528\u666E\u901A zip \u547D\u4EE4")}if(!a){let l=[".git/*","node_modules/*",".env",".env.*","*.log",".DS_Store"].map(d=>`-x "${d}"`).join(" ");ms(`zip -r "${i}" . ${l}`,{cwd:e,stdio:"pipe"}),console.log("\u{1F4E6} \u5DF2\u521B\u5EFA\u538B\u7F29\u5305")}if(r){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 l=nt.join(n,"coder.pub.jsonl"),u=(ge.statSync(c).size/1024).toFixed(2);console.log(`
|
|
288
|
-
\u{1F4E6} [allow-clone] \u6253\u5305 JSONL \u6587\u4EF6...`),console.log(` \u6E90\u6587\u4EF6: ${c}`),console.log(` \u6587\u4EF6\u5927\u5C0F: ${u} KB`),console.log(` \u4E34\u65F6\u6587\u4EF6: ${l}`),ge.copyFileSync(c,l),console.log(" \u2713 \u5DF2\u590D\u5236\u5230\u4E34\u65F6\u76EE\u5F55"),console.log(` \u76EE\u6807 ZIP: ${i}`),console.log(" \u76EE\u6807\u6587\u4EF6\u540D: coder.pub.jsonl"),
|
|
288
|
+
\u{1F4E6} [allow-clone] \u6253\u5305 JSONL \u6587\u4EF6...`),console.log(` \u6E90\u6587\u4EF6: ${c}`),console.log(` \u6587\u4EF6\u5927\u5C0F: ${u} KB`),console.log(` \u4E34\u65F6\u6587\u4EF6: ${l}`),ge.copyFileSync(c,l),console.log(" \u2713 \u5DF2\u590D\u5236\u5230\u4E34\u65F6\u76EE\u5F55"),console.log(` \u76EE\u6807 ZIP: ${i}`),console.log(" \u76EE\u6807\u6587\u4EF6\u540D: coder.pub.jsonl"),ms(`zip -j "${i}" "${l}"`,{stdio:"pipe"}),console.log(" \u2713 \u5DF2\u6DFB\u52A0\u5230 ZIP \u5305"),ge.unlinkSync(l),console.log(" \u2713 \u5DF2\u6E05\u7406\u4E34\u65F6\u6587\u4EF6"),console.log(`\u{1F4CB} [allow-clone] AI \u751F\u6210\u8BB0\u5F55\u5904\u7406\u5B8C\u6210 (coder.pub.jsonl)
|
|
289
289
|
`)}else console.log(`\u26A0\uFE0F [allow-clone] \u672A\u627E\u5230 Claude Code \u751F\u6210\u8BB0\u5F55
|
|
290
|
-
`)}return i}catch(a){throw new Error(`\u521B\u5EFA\u538B\u7F29\u5305\u5931\u8D25: ${a.message}`)}}async upload(e,s,r,n,o=!1){let i=n?`${n}/coderpub`:this.serverUrl,a=r;console.log("\u{1F4E4} \u6B63\u5728\u4E0A\u4F20\u5230\u670D\u52A1\u5668..."),o&&(console.log(` \u670D\u52A1\u5668\u5730\u5740: ${i}`),console.log(` \u9879\u76EE\u540D\u79F0: ${s}`),console.log(` ZIP \u6587\u4EF6: ${e}`));try{let c=`curl -s -X POST "${i}" -H "Authorization: Bearer ${a}" -F "name=${s}" -F "zip_file=@${e}"`;o&&console.log(" \u6267\u884C\u4E0A\u4F20\u547D\u4EE4...");let l=
|
|
290
|
+
`)}return i}catch(a){throw new Error(`\u521B\u5EFA\u538B\u7F29\u5305\u5931\u8D25: ${a.message}`)}}async upload(e,s,r,n,o=!1){let i=n?`${n}/coderpub`:this.serverUrl,a=r;console.log("\u{1F4E4} \u6B63\u5728\u4E0A\u4F20\u5230\u670D\u52A1\u5668..."),o&&(console.log(` \u670D\u52A1\u5668\u5730\u5740: ${i}`),console.log(` \u9879\u76EE\u540D\u79F0: ${s}`),console.log(` ZIP \u6587\u4EF6: ${e}`));try{let c=`curl -s -X POST "${i}" -H "Authorization: Bearer ${a}" -F "name=${s}" -F "zip_file=@${e}"`;o&&console.log(" \u6267\u884C\u4E0A\u4F20\u547D\u4EE4...");let l=ms(c,{encoding:"utf-8",stdio:["pipe","pipe","pipe"]});return o&&console.log(" \u2713 \u4E0A\u4F20\u5B8C\u6210\uFF0C\u89E3\u6790\u54CD\u5E94..."),JSON.parse(l)}catch(c){if(c.stdout)try{return JSON.parse(c.stdout)}catch{throw new Error(`\u4E0A\u4F20\u5931\u8D25: ${c.message}`)}throw new Error(`\u4E0A\u4F20\u5931\u8D25: ${c.message}`)}}cleanup(e){try{ge.existsSync(e)&&ge.unlinkSync(e)}catch{}}async publish(e){let{apikey:s,coderBaseUrl:r,allowClone:n}=e,{name:o}=e,i=null;try{o||(o=await this.promptForName()),console.log(`
|
|
291
291
|
\u{1F680} \u6B63\u5728\u53D1\u5E03\u9879\u76EE: ${o}`),console.log(`\u{1F4C1} \u76EE\u5F55: ${process.cwd()}`),n&&console.log("\u{1F513} allow-clone: \u542F\u7528 (\u5C06\u5305\u542B AI \u751F\u6210\u8BB0\u5F55)"),console.log(),i=await this.createZip(process.cwd(),{allowClone:n});let c=(ge.statSync(i).size/(1024*1024)).toFixed(2);console.log(`\u{1F4CA} \u538B\u7F29\u5305\u5927\u5C0F: ${c} MB`),n&&console.log(`
|
|
292
292
|
\u{1F310} [allow-clone] \u5F00\u59CB\u4E0A\u4F20\u5230\u670D\u52A1\u5668...`);let l=await this.upload(i,o,s,r,n);return l.code===0?(console.log(`
|
|
293
293
|
\u2705 \u53D1\u5E03\u6210\u529F!`),console.log(`\u{1F4CC} \u7248\u672C: ${l.data.version}`),console.log(`\u{1F310} \u8BBF\u95EE\u5730\u5740: https://${o}.coder.pub/`),0):(console.error(`
|
|
294
294
|
\u274C \u53D1\u5E03\u5931\u8D25: ${l.message||l.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
|
-
`))}};xi.exports=_r});var $i=$((
|
|
296
|
+
`))}};xi.exports=_r});var $i=$((y_,Ci)=>{var Yp=Ii(),{validatePubMetaData:Xp}=ps();function Qp(t,e){let s=new Yp;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 r=>{if(!e.requireApiKey()){process.exitCode=1;return}if(r.metaData){let n=Xp(r.metaData);if(!n.ok){e.fail(n.error,`--meta-data \u9700\u4E3A\u5408\u6CD5 JSON\uFF0C\u4F8B\u5982 '{"key":"value"}'`),process.exitCode=1;return}}if(!r.name&&e.isNonInteractive){e.fail("missing project name","run `coder pub --name <name>`"),process.exitCode=1;return}process.exitCode=await s.publish({name:r.name,metaData:r.metaData,allowClone:!!r.allowClone,apikey:e.getApiKey(),coderBaseUrl:e.getCoderBaseUrl()})||0})}Ci.exports={register:Qp}});var Pi=$((__,vi)=>{var{execSync:br,execFileSync:Si}=require("child_process"),wr=require("fs"),fs=require("path"),{PLATFORM_PACKAGE:em}=Jt(),{validateRegistry:tm}=ps(),bt=["https://registry.npmmirror.com","https://mirrors.cloud.tencent.com/npm/","https://mirrors.huaweicloud.com/repository/npm/"];function Ti(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 Ai(){try{return br("npm config get registry",{encoding:"utf8"}).trim()}catch{return"https://registry.npmjs.org/"}}function sm(){try{let t=br("npm root -g",{encoding:"utf8"}).trim(),e=fs.join(t,"makecoder","package.json");if(wr.existsSync(e))return JSON.parse(wr.readFileSync(e,"utf8")).version}catch{}return null}function rm(t){try{let e=["view","makecoder@latest","version"];return t&&e.push("--registry",t),Si("npm",e,{encoding:"utf8"}).trim()||null}catch{return null}}function nm({registry:t,verbose:e}){let s=["install","-g"];return t&&s.push("--registry",t),e&&s.push("--loglevel","verbose"),s}function Ei(t,e,s){let r=[...nm(e),t];e.verbose&&s.emit(`$ npm ${r.join(" ")}`),Si("npm",r,{stdio:"inherit"})}function om(t,e){let s=`${process.platform}-${process.arch}`,r=em[s];if(!r)return;let n;try{n=br("npm root -g",{encoding:"utf8"}).trim()}catch{return}if([fs.join(n,"makecoder","node_modules",r,"package.json"),fs.join(n,r,"package.json")].some(l=>wr.existsSync(l)))return;e.emit(`\u672A\u68C0\u6D4B\u5230 ${r}\uFF0C\u6B63\u5728\u8865\u88C5...`);let i;try{i=require(fs.join(n,"makecoder","package.json")).optionalDependencies?.[r]}catch{}let a=l=>{try{return Ei(l,t,e),!0}catch{return!1}};i&&a(`${r}@${i}`)||a(`${r}@latest`)||e.fail(`\u81EA\u52A8\u8865\u88C5 ${r} \u5931\u8D25\uFF0Ccoder codex \u53EF\u80FD\u4E0D\u53EF\u7528`,`\u624B\u52A8\u6267\u884C: npm install -g ${r}@latest`)}function Oi(t,e){if(!Ti(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 ${bt[0]}`),e.emit("\u6216\u6C38\u4E45\u5207\u6362 npm \u5168\u5C40\u6E90:");for(let s of bt)e.emit(` npm config set registry ${s}`)}}function im(t,e){let s=o=>String(o).replace(/^v/,"").split(".").map(Number),[r,n]=[s(t),s(e)];for(let o=0;o<3;o++){if((r[o]||0)>(n[o]||0))return!0;if((r[o]||0)<(n[o]||0))return!1}return!1}function Ui(t,e){let s=ct().version,r=t.registry||Ai(),n=rm(t.registry||null);return e.emit(`\u5F53\u524D\u7248\u672C: ${s}`),e.emit(`\u6700\u65B0\u7248\u672C: ${n||"\u67E5\u8BE2\u5931\u8D25\uFF08\u68C0\u67E5\u7F51\u7EDC\u6216 registry\uFF09"}`),e.emit(`npm \u6E90: ${r}`),n&&im(n,s)?(e.emit(""),e.emit(`\u6709\u53EF\u7528\u66F4\u65B0 ${s} \u2192 ${n}\uFF0C\u8FD0\u884C coder update \u5347\u7EA7\u3002`)):n&&(e.emit(""),e.emit("\u5DF2\u662F\u6700\u65B0\u7248\u672C\u3002")),Oi(r,e),0}function Di(t,e){let s=ct().version,r=t.registry||Ai();e.emit(`\u5F53\u524D\u7248\u672C: ${s}`),e.emit(`npm \u6E90: ${r}`),Oi(r,e),e.emit(""),e.emit("\u6B63\u5728\u5347\u7EA7 Coder...");try{Ei("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 "+bt[0];return e.fail(`\u5347\u7EA7\u5931\u8D25: ${i.split(`
|
|
297
297
|
`)[0]}`,a),1}om(t,e);let n=sm();return e.emit(""),e.emit(n?`\u5347\u7EA7\u6210\u529F\uFF0C\u5F53\u524D\u7248\u672C: ${n}`:"\u5347\u7EA7\u6210\u529F"),0}function am(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 ${bt[0]}`," coder update --verbose \u6392\u67E5\u5347\u7EA7\u95EE\u9898\u65F6\u67E5\u770B\u8BE6\u7EC6\u65E5\u5FD7"].join(`
|
|
298
|
-
`)).action(s=>{if(s.registry){let r=tm(s.registry);if(!r.ok){e.fail(r.error,`\u793A\u4F8B: coder update --registry ${bt[0]}`),process.exitCode=1;return}s.registry=r.value}process.exitCode=s.check?Ui(s,e):Di(s,e)})}vi.exports={register:am,runUpdate:Di,runCheck:Ui,isCnRegistry:Ti,CN_REGISTRIES:bt}});var ji=$((
|
|
299
|
-
`))}qi.exports={showHelp:um}});var Zi=$((
|
|
300
|
-
`))}Bi.exports={showHelp:xm}});var
|
|
301
|
-
`))}function Bm(t,e,s=null,r={}){if(t.isJson){let h={};for(let[y,A]of e)h[y]=A;s&&typeof s=="object"&&Object.assign(h,s),t.emit(h);return}let{labels:n={},values:o={},link:i=null,fieldLinks:a=null}=r,c=(h,y)=>String(y||n[h]||h),l=e.map(([h,,y])=>c(h,y)),d=Math.max(0,...l.map(h=>kt(h))),u=Tr(t),f=(h,y)=>{let A=o[h],k=A&&A[y]!==void 0?A[y]:y??"";return u&&i&&h===i.key&&i.url?k=
|
|
302
|
-
`))}ea.exports={emitTable:Zm,emitDetails:Bm,escCell:Sr,displayWidth:kt,hyperlink:Yi}});var na=$((
|
|
298
|
+
`)).action(s=>{if(s.registry){let r=tm(s.registry);if(!r.ok){e.fail(r.error,`\u793A\u4F8B: coder update --registry ${bt[0]}`),process.exitCode=1;return}s.registry=r.value}process.exitCode=s.check?Ui(s,e):Di(s,e)})}vi.exports={register:am,runUpdate:Di,runCheck:Ui,isCnRegistry:Ti,CN_REGISTRIES:bt}});var ji=$((w_,Ri)=>{var{isUuid:cm,classifyId:lm}=Vs(),kr=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,s,r){if(e==null||e===""||cm(e))return e;if(this._cache.has(e))return this._cache.get(e);let n=lm(e);if(!n){let l=new Error(`\u65E0\u6CD5\u8BC6\u522B\u7684${r} id: ${e}`);throw l.hint=`\u4F20\u5165${r}\u7684 UUID\u3001urlId \u6216\u6D4F\u89C8\u5668 URL\uFF1B\u6216\u7528 coder wiki search <\u5173\u952E\u8BCD> \u67E5\u627E`,l}if(n.kind==="uuid")return this._cache.set(e,n.value),n.value;let{ok:o,json:i,body:a}=await this.http.postJson(s,{id:n.value}),c=i?.data?.id;if(!o||!c){let l=new Error(`\u627E\u4E0D\u5230${r}: ${e}`);throw l.hint=`\u786E\u8BA4${r}\u5B58\u5728\u4E14\u5F53\u524D\u56E2\u961F\u6709\u6743\u8BBF\u95EE\uFF08${dm(a)}\uFF09`,l}return this._cache.set(e,c),c}};function dm(t){try{let e=JSON.parse(t);return e.message||e.error||""}catch{return(t||"").slice(0,120)}}Ri.exports={IdResolver:kr}});var Ni=$((b_,qi)=>{function um(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
|
+
`))}qi.exports={showHelp:um}});var Zi=$((x_,Mi)=>{var{WikiHttp:pm,docUrl:mm,colUrl:fm,errorMessage:hm}=Dt(),{IdResolver:gm}=ji(),{COMMANDS:ym,flag:k_}=Ys(),Li=er(),{showHelp:_m}=Ni(),wm=t=>t.replace(/-([a-z])/g,(e,s)=>s.toUpperCase()),bm=new Set(["--format","--apikey"]);function km(t){let e=[];for(let s=0;s<t.length;s++){if(bm.has(t[s])){s++;continue}e.push(t[s])}return e}var xr=class{constructor(e){this.ctx=e||null,this.teamService=null}async handle({wikiSubcommand:e,wikiRemainingArgs:s,apikey:r}){let n=this.ctx;if(!e||e==="--help"||e==="-h")return _m(n),0;let o=r;if(!o)return n.fail("\u7F3A\u5C11 API Key","\u5148\u767B\u5F55: coder auth login --apikey <ak>.<sk>"),1;let{teamId:i,remaining:a}=this._extractTeamFlag(km(s||[])),c=await this._resolveTeam(i,o),l=new pm(o,c),d=new gm(l),u={ctx:n,http:l,resolver:d,args:a,arg:a[0],teamId:c,docUrl:mm,colUrl:fm};try{let f=wm(e);if(typeof Li[f]=="function")return await Li[f](u)||0;let h=ym[e];return h?await this._runCommand(h,u):(n.fail(`\u672A\u77E5\u5B50\u547D\u4EE4: ${e}`,"\u67E5\u770B\u5168\u90E8\u547D\u4EE4: coder wiki --help"),1)}catch(f){return f&&f.handled||n.fail(f.message||String(f),f.hint),1}}async _runCommand(e,s){let{ctx:r,http:n,resolver:o,arg:i,args:a}=s,c=i;if(e.req&&!c)return r.fail(e.req,"\u67E5\u770B\u7528\u6CD5: coder wiki --help"),1;if(e.reqArgs){let u=e.reqArgs(c,a);if(u)return r.fail(u,"\u67E5\u770B\u7528\u6CD5: coder wiki --help"),1}if(c&&e.id==="doc"?c=await o.toDocUuid(c):c&&e.id==="col"&&(c=await o.toColUuid(c)),e.resolve)for(let u of e.resolve)await this._resolveSlot(u,a,o);let l=e.body(c,a),d=await n.postJson(e.endpoint,l,{allowNoData:!!e.expectOk});return d.ok?(e.render(r,d.json),0):(r.fail(hm(d.body),this._failHint(d)),1)}async _resolveSlot(e,s,r){let n=e.kind==="col"?o=>r.toColUuid(o):o=>r.toDocUuid(o);if(e.flag){let o=s.indexOf(e.flag);o!==-1&&s[o+1]&&(s[o+1]=await n(s[o+1]))}else typeof e.pos=="number"&&s[e.pos]&&(s[e.pos]=await n(s[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 s=e.indexOf("--team");return s!==-1&&e[s+1]?{teamId:e[s+1],remaining:[...e.slice(0,s),...e.slice(s+2)]}:{teamId:null,remaining:e}}async _resolveTeam(e,s){if(e)return e;let r=this.ctx,n=r.getTeam?r.getTeam():null;if(n&&n.id)return n.id;if(this.teamService&&r.getTeamManual&&!r.getTeamManual())try{let o=encodeURIComponent(JSON.stringify({filter_is_joined:!0})),i=await this.teamService.request("GET",`/team?constraints=${o}&page=1&size=200`,s);if(i.status===200){let c=this.teamService.parseJson(i.body)?.data?.items||[];if(c.length)return r.setTeam(c[0].id,c[0].name||""),c[0].id}}catch{}return null}};Mi.exports=xr});var Fi=$((I_,Bi)=>{function xm(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
|
+
`))}Bi.exports={showHelp:xm}});var hs=$((C_,Ji)=>{var{TeamHttp:Gi,parseJson:Im}=Wt(),Vi=Ms(),{showHelp:Cm}=Fi(),$m=new Set(["--format","--apikey"]);function Sm(t){let e=[];for(let s=0;s<t.length;s++){if($m.has(t[s])){s++;continue}e.push(t[s])}return e}var Tm=new Set(["list","current","use","info"]),Am=new Set(["members","groups"]),Ir=class{constructor(e){this.ctx=e||null}request(e,s,r,n,o){return new Gi(r).request(e,s,n,o)}parseJson(e){return Im(e)}async handle({teamSubcommand:e,teamRemainingArgs:s,apikey:r}){let n=this.ctx;if(!e||e==="--help"||e==="-h")return Cm(n),0;let o=r;if(!o)return n.fail("\u7F3A\u5C11 API Key","\u5148\u767B\u5F55: coder auth login --apikey <ak>.<sk>"),2;let i=Sm(s||[]),a=e==="ls"?"list":e,c=this._resolve(a,i);if(!c)return n.fail(`\u672A\u77E5\u547D\u4EE4: coder team ${e}`,"\u67E5\u770B\u5168\u90E8\u547D\u4EE4: coder team --help"),3;if(c.error)return n.fail(c.error,"\u67E5\u770B\u5168\u90E8\u547D\u4EE4: coder team --help"),3;let{fn:l,args:d}=c,u=new Gi(o),f={ctx:n,http:u,args:d,arg:d[0]};try{return await l(f)||0}catch(h){return h&&h.handled?h.code||1:(n.fail(h.message||String(h),h.hint),1)}}_resolve(e,s){if(Tm.has(e))return{fn:Vi[e],args:s};if(Am.has(e)){let r=Vi[e],n=s[0];if(!n||n.startsWith("-"))return{fn:r.list,args:s};let o=r[n];if(!o){let i=Object.keys(r).join(" | ");return{error:`\u672A\u77E5 ${e} \u52A8\u8BCD: ${n}\uFF08\u53EF\u7528: ${i}\uFF09`}}return{fn:o,args:s.slice(1)}}return null}};Ji.exports=Ir});var Ki=$(($_,zi)=>{var Em=Zi(),Om=hs();function Um(t,e){let s=new Em(e);return s.teamService=new Om(e),t.command("wiki [args...]").description("\u7BA1\u7406 MakeCoder \u77E5\u8BC6\u5E93").allowUnknownOption().helpOption(!1).action(async r=>{let n=r||[],o=await s.handle({wikiSubcommand:n[0],wikiRemainingArgs:n.slice(1),apikey:e.getApiKey()});process.exitCode=o||0}),s}zi.exports={register:Um}});var $r=$((S_,Hi)=>{var Dm=require("https"),vm=require("http"),{URL:Pm}=require("url"),Wi="https://flow.makecoder.com",Rm="coder";function jm(t){return t==="darwin"?"macos":t==="win32"?"windows":"linux"}var Cr=class{constructor(e,s,r){this.token=e,this.baseUrl=(s||Wi).replace(/\/+$/,""),this.workspaceId=r||null,this.version=process.env.CODER_VERSION||"dev",this.os=jm(process.platform)}request(e,s,r){return new Promise((n,o)=>{let i=new Pm(`${this.baseUrl}${s}`),a=i.protocol==="http:"?vm:Dm,c={"Content-Type":"application/json",Authorization:`Bearer ${this.token}`,"X-Client-Platform":Rm,"X-Client-Version":this.version,"X-Client-OS":this.os};this.workspaceId&&(c["X-Workspace-ID"]=this.workspaceId);let l=null;r!=null&&(l=JSON.stringify(r),c["Content-Length"]=Buffer.byteLength(l));let d=a.request({hostname:i.hostname,port:i.port||(i.protocol==="http:"?80:443),path:i.pathname+i.search,method:e,headers:c},u=>{let f="";u.on("data",h=>f+=h),u.on("end",()=>n({status:u.statusCode,body:f}))});d.on("error",o),l&&d.write(l),d.end()})}async getWorkspaceSlug(){if(this._slug!==void 0)return this._slug;if(this._slug=null,!this.workspaceId)return null;try{let e=await this.request("GET",`/api/workspaces/${encodeURIComponent(this.workspaceId)}`);if(e.status>=200&&e.status<300){let s=Mt(e.body);s&&s.slug&&(this._slug=s.slug)}}catch{}return this._slug}async getActorLookup(){if(this._actorLookup)return this._actorLookup;if(this._actorLookup=new Map,!this.workspaceId)return this._actorLookup;let e=await this.getWorkspaceSlug(),[s,r]=await Promise.allSettled([this.request("GET",`/api/agents?workspace_id=${encodeURIComponent(this.workspaceId)}`),this.request("GET",`/api/workspaces/${encodeURIComponent(this.workspaceId)}/members`)]);if(s.status==="fulfilled"){let n=Mt(s.value.body),o=Array.isArray(n)?n:n?.data??n?.agents??[];for(let i of o){if(!i.id)continue;let a=e?`${this.baseUrl}/${e}/agents/${i.id}`:null;this._actorLookup.set(i.id,{name:i.name||i.id,type:"agent",url:a})}}if(r.status==="fulfilled"){let n=Mt(r.value.body),o=Array.isArray(n)?n:n?.data??n?.members??[];for(let i of o){let a=i.user_id||i.id;if(!a)continue;let c=e?`${this.baseUrl}/${e}/members/${a}`:null;this._actorLookup.set(a,{name:i.name||i.username||a,type:"member",url:c})}}return this._actorLookup}};function Mt(t){try{return JSON.parse(t)}catch{return null}}function qm(t){return t===401?2:t===403?5:t===404?4:t===409?6:1}function Nm(t){let e=Mt(t);return e?.message?e.message:e?.error?e.error:(t||"").slice(0,200)||"\u8BF7\u6C42\u5931\u8D25"}Hi.exports={MulticaHttp:Cr,parseJson:Mt,exitCodeForStatus:qm,errorMessage:Nm,DEFAULT_BASE_URL:Wi}});var ta=$((T_,ea)=>{var Sr=t=>String(t??"").replace(/\|/g,"\\|").replace(/\n/g," ");function Yi(t,e){return`\x1B]8;;${e}\x07${t}\x1B]8;;\x07`}function Lm(t,e){return`[${t}](${e})`}function Tr(t){return!t.isJson}function gs(t,e){return process.stdout.isTTY?Yi(t,e):Lm(t,e)}function Xi(t){return t>=4352&&t<=4447||t>=11904&&t<=12350||t>=12353&&t<=13311||t>=13312&&t<=19903||t>=19968&&t<=40959||t>=40960&&t<=42191||t>=44032&&t<=55203||t>=63744&&t<=64255||t>=65072&&t<=65103||t>=65280&&t<=65376||t>=65504&&t<=65510||t>=127744&&t<=129791||t>=131072&&t<=262141?2:1}function kt(t){let e=0;for(let s of String(t))e+=Xi(s.codePointAt(0));return e}function Mm(t,e){if(kt(t)<=e)return t;let s=0,r="";for(let n of t){let o=Xi(n.codePointAt(0));if(s+o>e-1)break;r+=n,s+=o}return r+"\u2026"}function Qi(t,e){return t+" ".repeat(Math.max(0,e-kt(t)))}function Zm(t,e,s={}){let{labels:r={},empty:n="\uFF08\u7A7A\uFF09",values:o={},linkCol:i=null,rowLinks:a=null,colLinks:c=null}=s;if(!e||!e.length){t.emit(n);return}if(t.isJson){t.emit(e);return}let l=Object.keys(e[0]),d=l.map(Z=>Sr(r[Z]||Z)),u=(Z,V)=>{let X=o[Z];return X&&X[V]!==void 0?X[V]:V},f=e.map(Z=>l.map(V=>Mm(Sr(u(V,Z[V])),48))),h=l.map((Z,V)=>{let X=kt(d[V]);for(let Ce of f)X=Math.max(X,kt(Ce[V]));return Math.max(3,X)}),y=i?l.indexOf(i):-1,A=y!==-1&&a&&Tr(t),k=c?l.indexOf(c.col):-1,S=k!==-1&&c?.links&&Tr(t),M=(Z,V)=>`| ${Z.map((X,Ce)=>{let Ft=Qi(X,h[Ce]);return A&&Ce===y&&V>=0&&a[V]?gs(X,a[V])+Ft.slice(X.length):S&&Ce===k&&V>=0&&c.links[V]?gs(X,c.links[V])+Ft.slice(X.length):Ft}).join(" | ")} |`,ee=[M(d,-1),`| ${h.map(Z=>"-".repeat(Z)).join(" | ")} |`,...f.map((Z,V)=>M(Z,V))];t.emit(ee.join(`
|
|
301
|
+
`))}function Bm(t,e,s=null,r={}){if(t.isJson){let h={};for(let[y,A]of e)h[y]=A;s&&typeof s=="object"&&Object.assign(h,s),t.emit(h);return}let{labels:n={},values:o={},link:i=null,fieldLinks:a=null}=r,c=(h,y)=>String(y||n[h]||h),l=e.map(([h,,y])=>c(h,y)),d=Math.max(0,...l.map(h=>kt(h))),u=Tr(t),f=(h,y)=>{let A=o[h],k=A&&A[y]!==void 0?A[y]:y??"";return u&&i&&h===i.key&&i.url?k=gs(String(k),i.url):u&&a&&a[h]&&(k=gs(String(k),a[h])),k};t.emit(e.map(([h,y,A])=>`${Qi(c(h,A),d)} ${f(h,y)}`).join(`
|
|
302
|
+
`))}ea.exports={emitTable:Zm,emitDetails:Bm,escCell:Sr,displayWidth:kt,hyperlink:Yi}});var na=$((A_,ra)=>{var{parseJson:Fm,exitCodeForStatus:Gm,errorMessage:Vm}=$r();function ys(t,e,s,r=1){t.fail(e,s);let n=new Error("__handled__");throw n.handled=!0,n.code=r,n}function Jm(t){if(t===401)return"\u786E\u8BA4\u51ED\u8BC1: coder auth login --apikey <ak>.<sk>";if(t===403)return"\u6743\u9650\u4E0D\u8DB3\uFF1B\u786E\u8BA4\u5F53\u524D\u56E2\u961F: coder team current";if(t===404)return"\u786E\u8BA4 id \u6B63\u786E\uFF0C\u6216\u7528\u5BF9\u5E94\u8D44\u6E90\u7684 list \u67E5\u627E"}function sa(t,e){ys(t,Vm(e.body),Jm(e.status),Gm(e.status))}async function zm(t,e,s,r){try{return await t.http.request(e,s,r)}catch(n){ys(t.ctx,`\u7F51\u7EDC\u9519\u8BEF ${n.message}`,void 0,1)}}function Km(t,e){return(e.status<200||e.status>=300)&&sa(t.ctx,e),Fm(e.body)}var Wm=(t,e)=>{let s=t.indexOf(e);return s!==-1?t[s+1]:void 0},Hm=(t,...e)=>t.some(s=>e.includes(s));function Ym(t,{boolFlags:e=[],valueFlags:s=[]}={}){let r=[];for(let n=0;n<t.length;n++){let o=t[n];if(!e.includes(o)){if(s.includes(o)){n++;continue}o&&o.startsWith("--")||r.push(o)}}return r}function Xm(t){let e=t.http&&t.http.workspaceId;return e||ys(t.ctx,"\u672A\u6307\u5B9A workspace \u4E14\u65E0\u5F53\u524D\u56E2\u961F","\u5148\u5207\u56E2\u961F: coder team use <id>\uFF08\u6216 coder team current \u67E5\u770B\uFF09\uFF0C\u6216\u52A0 --team <id>",3),e}ra.exports={abort:ys,abortOnHttp:sa,send:zm,ensureOk:Km,flag:Wm,hasFlag:Hm,positionals:Ym,requireWorkspaceId:Xm}});var Zt=$((E_,oa)=>{var Er=require("http"),_s=19514,Ar=class{constructor(e=_s){this.port=e,this.status="starting",this.startTime=Date.now(),this.daemonId=null,this.agents=[],this.workspaces=[],this._shutdownFn=null,this._server=null}setShutdown(e){this._shutdownFn=e}start(){this._server=Er.createServer((e,s)=>{if(e.method==="GET"&&e.url==="/health"){let r=JSON.stringify({status:this.status,pid:process.pid,uptime:Math.floor((Date.now()-this.startTime)/1e3)+"s",daemon_id:this.daemonId,agents:this.agents,workspaces:this.workspaces});s.writeHead(200,{"Content-Type":"application/json"}),s.end(r)}else e.method==="POST"&&e.url==="/shutdown"?(s.writeHead(200,{"Content-Type":"application/json"}),s.end('{"ok":true}'),this._shutdownFn&&setImmediate(this._shutdownFn)):(s.writeHead(404),s.end())}),this._server.listen(this.port,"127.0.0.1")}close(){this._server&&this._server.close()}};async function Qm(t=_s,e=2e3){return new Promise(s=>{let r=Er.get(`http://127.0.0.1:${t}/health`,{timeout:e},n=>{let o="";n.on("data",i=>o+=i),n.on("end",()=>{try{s(JSON.parse(o))}catch{s({status:"stopped"})}})});r.on("error",()=>s({status:"stopped"})),r.on("timeout",()=>{r.destroy(),s({status:"stopped"})})})}async function ef(t=_s){return new Promise((e,s)=>{let r=Er.request({host:"127.0.0.1",port:t,path:"/shutdown",method:"POST",timeout:2e3},n=>{n.resume(),n.on("end",e)});r.on("error",s),r.on("timeout",()=>{r.destroy(),s(new Error("timeout"))}),r.end()})}oa.exports={HealthServer:Ar,checkHealth:Qm,requestShutdown:ef,DEFAULT_HEALTH_PORT:_s}});var It=$((O_,aa)=>{var ot=require("fs"),ws=require("path"),tf=require("os"),sf=require("crypto");function xt(){return ws.join(tf.homedir(),".multica")}function ia(){return ws.join(xt(),"daemon.id")}function bs(){return ws.join(xt(),"daemon.pid")}function rf(){return ws.join(xt(),"daemon.log")}function nf(t){if(t)return t;let e=ia();try{let r=ot.readFileSync(e,"utf8").trim();if(r)return r}catch{}let s=sf.randomUUID();try{ot.mkdirSync(xt(),{recursive:!0}),ot.writeFileSync(e,s,"utf8")}catch{}return s}function of(t){try{ot.mkdirSync(xt(),{recursive:!0}),ot.writeFileSync(bs(),String(t),"utf8")}catch{}}function af(){try{let t=ot.readFileSync(bs(),"utf8").trim();return parseInt(t,10)||null}catch{return null}}function cf(){try{ot.unlinkSync(bs())}catch{}}aa.exports={daemonDir:xt,daemonIdPath:ia,daemonPidPath:bs,daemonLogPath:rf,loadOrCreateDaemonId:nf,writePid:of,readPid:af,removePid:cf}});var Or=$((U_,la)=>{var ca=require("os"),lf=require("path");function df(t={}){let e=t.pollInterval||process.env.MULTICA_DAEMON_POLL_INTERVAL||"30s",s=t.heartbeatInterval||process.env.MULTICA_DAEMON_HEARTBEAT_INTERVAL||"15s";return{serverUrl:t.serverUrl||process.env.MULTICA_SERVER_URL||"https://flow.makecoder.com",daemonId:t.daemonId||process.env.MULTICA_DAEMON_ID||null,deviceName:t.deviceName||process.env.MULTICA_DAEMON_DEVICE_NAME||ca.hostname(),runtimeName:t.runtimeName||process.env.MULTICA_AGENT_RUNTIME_NAME||"Claude",pollInterval:ks(e,3e4),heartbeatInterval:ks(s,15e3),maxConcurrentTasks:t.maxConcurrentTasks||parseInt(process.env.MULTICA_DAEMON_MAX_CONCURRENT_TASKS||"20",10),agentTimeout:t.agentTimeout!==void 0?t.agentTimeout:ks(process.env.MULTICA_AGENT_TIMEOUT||"0",0),workspacesRoot:process.env.MULTICA_WORKSPACES_ROOT||lf.join(ca.homedir(),"multica_workspaces"),keepEnvAfterTask:(process.env.MULTICA_KEEP_ENV_AFTER_TASK||"false")==="true",gcEnabled:(process.env.MULTICA_GC_ENABLED||"true")==="true",gcTtl:parseInt(process.env.MULTICA_GC_TTL||String(864e5),10),claudePath:process.env.MULTICA_CLAUDE_PATH||"coder",codexPath:process.env.MULTICA_CODEX_PATH||"coder",coderBaseUrl:t.coderBaseUrl||process.env.CODER_BASE_URL||"https://api.makecoder.com/v1",healthPort:t.healthPort||19514,token:t.token||null,cliVersion:t.cliVersion||(()=>{try{return ct().version}catch{return"0.2.20"}})()}}function ks(t,e){if(!t||t==="0"||t==="0s")return 0;let s=String(t).match(/^(\d+(?:\.\d+)?)(ms|s|m|h)?$/);if(!s)return e;let r=parseFloat(s[1]),n=s[2]||"s";return n==="ms"?Math.round(r):n==="s"?Math.round(r*1e3):n==="m"?Math.round(r*6e4):n==="h"?Math.round(r*36e5):e}la.exports={loadConfig:df,parseDuration:ks}});var ua=$((v_,da)=>{var uf=require("https"),pf=require("http"),{URL:mf}=require("url"),D_=require("os"),Ur=class{constructor(e,s,r){this.serverUrl=(e||"https://flow.makecoder.com").replace(/\/+$/,""),this.token=s,this.cliVersion=r||"dev",this.os=this._normalizeOS(process.platform)}_normalizeOS(e){return e==="darwin"?"macos":e==="win32"?"windows":"linux"}_request(e,s,r){return new Promise((n,o)=>{let i=new mf(`${this.serverUrl}${s}`),a=i.protocol==="http:"?pf:uf,c={"Content-Type":"application/json",Authorization:`Bearer ${this.token}`,"X-Client-Platform":"daemon","X-Client-Version":this.cliVersion,"X-Client-OS":this.os},l=null;r!=null&&(l=JSON.stringify(r),c["Content-Length"]=Buffer.byteLength(l));let d=a.request({hostname:i.hostname,port:i.port||(i.protocol==="http:"?80:443),path:i.pathname+i.search,method:e,headers:c},u=>{let f="";u.on("data",h=>f+=h),u.on("end",()=>n({status:u.statusCode,body:f}))});d.on("error",o),l&&d.write(l),d.end()})}_json(e){try{return JSON.parse(e.body)}catch{return null}}async register({workspaceId:e,daemonId:s,deviceName:r,cliVersion:n,runtimes:o}){let i=await this._request("POST","/api/daemon/register",{workspace_id:e,daemon_id:s,device_name:r,cli_version:n||this.cliVersion,runtimes:o});return this._json(i)}async deregister(e){let s=await this._request("POST","/api/daemon/deregister",{runtime_ids:e});return this._json(s)}async claimTask(e){let s=await this._request("POST",`/api/daemon/runtimes/${encodeURIComponent(e)}/tasks/claim`,{}),r=this._json(s);return r&&r.task||null}async taskStart(e){return this._request("POST",`/api/daemon/tasks/${encodeURIComponent(e)}/start`,{})}async taskComplete(e,{output:s,sessionId:r,workDir:n}={}){let o={};return s!==void 0&&(o.output=s),r&&(o.session_id=r),n&&(o.work_dir=n),this._request("POST",`/api/daemon/tasks/${encodeURIComponent(e)}/complete`,o)}async taskFail(e,{error:s,sessionId:r,workDir:n}={}){let o={};return s!==void 0&&(o.error=s),r&&(o.session_id=r),n&&(o.work_dir=n),this._request("POST",`/api/daemon/tasks/${encodeURIComponent(e)}/fail`,o)}async taskMessages(e,s){return this._request("POST",`/api/daemon/tasks/${encodeURIComponent(e)}/messages`,{messages:s})}async taskSession(e,{sessionId:s,workDir:r}={}){let n={};return s&&(n.session_id=s),r&&(n.work_dir=r),this._request("POST",`/api/daemon/tasks/${encodeURIComponent(e)}/session`,n)}async taskStatus(e){let s=await this._request("GET",`/api/daemon/tasks/${encodeURIComponent(e)}/status`);return this._json(s)}async heartbeat(e){let s=await this._request("POST","/api/daemon/heartbeat",{runtime_id:e,supports_batch_import:!0});return this._json(s)}async reportModelListResult(e,s,r){let n=await this._request("POST",`/api/daemon/runtimes/${encodeURIComponent(e)}/models/${encodeURIComponent(s)}/result`,r);if(n.status>=400)throw new Error(`reportModelListResult ${n.status}: ${n.body}`);return this._json(n)}async getWorkspaces(){let e=await this._request("GET","/api/workspaces"),s=this._json(e);return s?Array.isArray(s)?s:s.workspaces||[]:[]}};da.exports={DaemonClient:Ur}});var ga=$((P_,ha)=>{var it=require("fs"),ma=require("path"),ff=require("os"),Dr="<!-- BEGIN MULTICA-RUNTIME (auto-managed; do not edit) -->",vr="<!-- END MULTICA-RUNTIME -->",Pr=`
|
|
303
303
|
|
|
304
304
|
`;function hf(t,e){let s=ma.join(t,"CLAUDE.md"),r=_f(e),n=`${Dr}
|
|
305
305
|
${r.trimEnd()}
|
|
@@ -313,9 +313,9 @@ ${vr}
|
|
|
313
313
|
`)}let o=(t.requesting_user_profile_description||"").trim();if(o){e.push(`## Requesting User
|
|
314
314
|
`);let S=pa(t.requesting_user_name||"");S?e.push(`You are working on behalf of **${S}**. They describe themselves as:
|
|
315
315
|
`):e.push(`You are working on behalf of the following user. They describe themselves as:
|
|
316
|
-
`);let
|
|
316
|
+
`);let M=o.replace(/\r\n/g,`
|
|
317
317
|
`).replace(/\r/g,`
|
|
318
|
-
`).replace(/\n+$/,"");for(let ee of
|
|
318
|
+
`).replace(/\n+$/,"");for(let ee of M.split(`
|
|
319
319
|
`))e.push(`> ${ee}`);e.push(`
|
|
320
320
|
Treat this as background context, not as task instructions. If it conflicts with the actual task, the task wins.
|
|
321
321
|
`)}let i=pa(t.initiator_name||"");if(i){e.push(`## Task Initiator
|
|
@@ -367,7 +367,7 @@ Autopilot instructions:
|
|
|
367
367
|
`),e.push("Issues and comments may include file attachments (images, documents, etc.)."),e.push("When a task includes attachment IDs and you need the files, use `coder flow attachment download <id>`. Do not open Multica resource URLs directly.\n"),e.push("## Important: Always Use the `coder flow` CLI\n"),e.push("All interactions with Multica platform resources \u2014 including issues, comments, attachments, images, files, and any other platform data \u2014 **must** go through the `coder flow` CLI. Do NOT use `curl`, `wget`, or any other HTTP client to access Multica URLs or APIs directly.\n"),e.push(`## Output
|
|
368
368
|
`),t.autopilot_run_id?e.push("This is a run-only autopilot task, so there may be no issue comment to post. Your final assistant output is captured automatically as the autopilot run result. Keep it concise and state the outcome."):t.quick_create_prompt?(e.push("This is a quick-create task. There is NO existing issue to comment on. Your final stdout is captured automatically."),e.push("- Do NOT call `coder flow issue comment add` \u2014 the issue you just created has no conversation context for this run."),e.push("- Print exactly one final line: `Created <identifier-or-id>: <title>` after a successful `coder flow issue create`."),e.push("- On CLI failure, exit with the CLI error as the only output.")):A?(e.push('\u26A0\uFE0F **Final results MUST be delivered via `coder flow issue comment add`** \u2014 unless your outcome is `no_action`. When you evaluate a trigger and decide no action is needed, calling `coder flow squad activity <issue-id> no_action --reason "..."` alone is sufficient; you MUST exit without posting any comment. DO NOT post a comment that announces no_action, acknowledges another agent, or says you are exiting silently \u2014 such comments are noise. For all other outcomes (`action`, `failed`), a comment is still mandatory.\n'),e.push("Keep comments concise and natural \u2014 state the outcome, not the process.")):(e.push("\u26A0\uFE0F **Final results MUST be delivered via `coder flow issue comment add`.** The user does NOT see your terminal output, assistant chat text, or run logs \u2014 only comments on the issue. A task that finishes without a result comment is invisible to the user, even if the work itself was correct.\n"),e.push("Keep comments concise and natural \u2014 state the outcome, not the process."),e.push('Good: "Fixed the login redirect. PR: https://..."'),e.push('Bad: "1. Read the issue 2. Found the bug in auth.go 3. Created branch 4. ..."')),e.join(`
|
|
369
369
|
`)+`
|
|
370
|
-
`}function wf(t){let e;if(t.resource_type==="github_repo"){let s=typeof t.resource_ref=="string"?JSON.parse(t.resource_ref||"{}"):t.resource_ref||{};e=`**GitHub repo**: ${s.url||""}`,s.default_branch_hint&&(e+=` (default branch: \`${s.default_branch_hint}\`)`)}else{let s=typeof t.resource_ref=="string"?t.resource_ref:JSON.stringify(t.resource_ref||{});e=`**${t.resource_type}**: \`${s}\``}return t.label&&(e+=` \u2014 ${t.label}`),e}ha.exports={injectRuntimeConfig:hf,cleanupRuntimeConfig:gf}});var xa=$((
|
|
370
|
+
`}function wf(t){let e;if(t.resource_type==="github_repo"){let s=typeof t.resource_ref=="string"?JSON.parse(t.resource_ref||"{}"):t.resource_ref||{};e=`**GitHub repo**: ${s.url||""}`,s.default_branch_hint&&(e+=` (default branch: \`${s.default_branch_hint}\`)`)}else{let s=typeof t.resource_ref=="string"?t.resource_ref:JSON.stringify(t.resource_ref||{});e=`**${t.resource_type}**: \`${s}\``}return t.label&&(e+=` \u2014 ${t.label}`),e}ha.exports={injectRuntimeConfig:hf,cleanupRuntimeConfig:gf}});var xa=$((R_,ka)=>{var bf=require("os");function kf(t){return t.chat_session_id?Cf(t):t.trigger_comment_id?If(t):t.autopilot_run_id?$f(t):t.quick_create_prompt?Sf(t):xf(t)}function xf(t){let e=[];return e.push(`You are running as a local coding agent for a Multica workspace.
|
|
371
371
|
`),t.issue_id&&(e.push(`Your assigned issue ID is: ${t.issue_id}
|
|
372
372
|
`),e.push(`Start by running \`coder flow issue get ${t.issue_id}\` to understand your task, then complete it.`),e.push(`For comment history, run \`coder flow issue comment list ${t.issue_id}\` to read the full discussion.
|
|
373
373
|
`)),e.join(`
|
|
@@ -444,7 +444,7 @@ Use this form, preserving the same issue ID and --parent value:
|
|
|
444
444
|
COMMENT
|
|
445
445
|
|
|
446
446
|
Do NOT write literal \`\\n\` escapes to simulate line breaks; the HEREDOC preserves real newlines.
|
|
447
|
-
`:""}function Tf(t){if(!t)return[];let e=[],s=/\/[\w-]+\s*\(id:\s*([a-f0-9-]+)\)/gi,r;for(;(r=s.exec(t))!==null;)e.push({id:r[1]});return e}ka.exports={buildPrompt:kf,buildNewCommentsHint:ya,buildResumedCommentsHint:_a,buildColdCommentsHint:wa,buildCommentReplyInstructions:ba}});var qr=$((
|
|
447
|
+
`:""}function Tf(t){if(!t)return[];let e=[],s=/\/[\w-]+\s*\(id:\s*([a-f0-9-]+)\)/gi,r;for(;(r=s.exec(t))!==null;)e.push({id:r[1]});return e}ka.exports={buildPrompt:kf,buildNewCommentsHint:ya,buildResumedCommentsHint:_a,buildColdCommentsHint:wa,buildCommentReplyInstructions:ba}});var qr=$((j_,Ca)=>{var z=require("fs"),Y=require("path");function Af(t,e){let s=(e.id||"unknown").slice(0,12),r=Y.join(t.workspacesRoot,e.workspace_id||"default",s),n=Y.join(r,"workdir");return{rootDir:r,workDir:n}}function Ef(t){z.mkdirSync(Y.join(t,".claude","skills"),{recursive:!0}),z.mkdirSync(Y.join(t,".agent_context"),{recursive:!0})}function Of(t,e){let s=e.agent?.skills||[];if(!s.length)return;let r=Y.join(t,".claude","skills");z.mkdirSync(r,{recursive:!0});for(let n of s){let o=Uf(n.name||"skill"),{slug:i,dir:a}=Df(r,o);z.mkdirSync(a,{recursive:!0});let c=vf(n.content||"",i,n.description||"");z.writeFileSync(Y.join(a,"SKILL.md"),c,"utf8");for(let l of n.files||[]){if(Nf(l.path))continue;let d=Y.join(a,l.path);z.mkdirSync(Y.dirname(d),{recursive:!0}),z.writeFileSync(d,l.content||"","utf8")}}}function Uf(t){return t.toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"skill"}function Df(t,e){let s=[e,`${e}-multica`];for(let r=2;r<100;r++)s.push(`${e}-multica-${r}`);for(let r of s){let n=Y.join(t,r);if(!z.existsSync(n))return{slug:r,dir:n};if(z.existsSync(Y.join(n,"SKILL.md")))return{slug:r,dir:n}}return{slug:e,dir:Y.join(t,e)}}function vf(t,e,s){let r=jr(t);if(r<0)return Ia(t,e,s);if(Pf(t.slice(r))){if(Rf(t))return t;let n=jf(t);return Ia(n,e,s)}return t.slice(0,r)+`name: ${e}
|
|
448
448
|
`+t.slice(r)}function Ia(t,e,s){let r=`---
|
|
449
449
|
name: ${e}
|
|
450
450
|
`,n=(s||"").trim();return n&&(r+=`description: ${qf(n)}
|
|
@@ -490,12 +490,12 @@ name: ${e}
|
|
|
490
490
|
`),e.push(`The following skills are available to you:
|
|
491
491
|
`);for(let r of s)e.push(`- **${r.name}**`);e.push("")}return e.join(`
|
|
492
492
|
`)+`
|
|
493
|
-
`}function Ff(t,e){let s=e.project_id||"",r=e.project_resources||[];if(!s&&!r.length)return;let n=Y.join(t,".multica","project");z.mkdirSync(n,{recursive:!0});let o={project_id:s,project_title:e.project_title||"",resources:r.length?r:[]},i=Y.join(n,"resources.json");z.existsSync(i)||z.writeFileSync(i,JSON.stringify(o,null,2),"utf8")}function Gf(t){if(!t.gcEnabled)return;let e=t.workspacesRoot;if(!z.existsSync(e))return;let s=Date.now(),r;try{r=z.readdirSync(e)}catch{return}for(let n of r){if(n===".repos")continue;let o=Y.join(e,n),i;try{i=z.readdirSync(o)}catch{continue}for(let a of i){let c=Y.join(o,a),l=Y.join(c,".gc_meta.json");try{let d=JSON.parse(z.readFileSync(l,"utf8"));d.completed_at&&s-d.completed_at>t.gcTtl&&z.rmSync(c,{recursive:!0,force:!0})}catch{}}}}function Vf(t,{status:e,taskId:s}){try{z.writeFileSync(Y.join(t,".gc_meta.json"),JSON.stringify({task_id:s,status:e,completed_at:Date.now()}),"utf8")}catch{}}function Jf(t,e){if(!e.keepEnvAfterTask)try{z.rmSync(t,{recursive:!0,force:!0})}catch{}}Ca.exports={taskPaths:Af,prepareWorkdir:Ef,writeSkillFiles:Of,writeIssueContext:Lf,writeProjectResources:Ff,runGc:Gf,writeGcMeta:Vf,cleanupWorkdir:Jf}});var Aa=$((
|
|
494
|
-
`);h=A.pop();for(let k of A)k.trim()&&a(k)}),u.stderr.on("data",y=>{let A=y.toString();A.trim()&&c(`[task ${o}] stderr: ${A.trimEnd()}`)}),u.on("error",y=>{f&&clearTimeout(f),d(y)}),u.on("close",y=>{f&&clearTimeout(f),h.trim()&&a(h),l(y||0)}),u.stdin.write(n),u.stdin.end()})}function ah(t,e){let s;try{s=JSON.parse(t)}catch{return null}if(!s||typeof s!="object")return null;let r=s.type;if(r==="system"&&s.session_id&&!e.sessionId&&(e.sessionId=s.session_id),r==="assistant"){let n=s.message||{},o=Array.isArray(n.content)?n.content:[];for(let i of o)if(i.type==="text"&&i.text)e.pendingText+=i.text;else if(i.type==="thinking"&&i.thinking)e.pendingThinking+=i.thinking;else if(i.type==="tool_use"){let a=ks(e),c=++e.seq;return a.push({seq:c,type:"tool_use",tool:i.name||"",input:i.input||{}}),i.id&&(e.callIdToTool[i.id]=i.name||""),a.length?a:null}return null}if(r==="tool_result"){let n=ks(e),o=++e.seq,i="",a=s.content;typeof a=="string"?i=a:Array.isArray(a)&&(i=a.map(l=>l.text||l.content||"").join("")),i.length>8192&&(i=i.slice(0,8192));let c=s.tool_name||(s.tool_use_id?e.callIdToTool[s.tool_use_id]:"")||"";return n.push({seq:o,type:"tool_result",tool:c,output:i}),n.length?n:null}if(r==="result"){let n=ks(e),o=++e.seq,i=s.result||s.content||"";return i&&(n.push({seq:o,type:"text",content:i}),e.finalOutput=i),n.length?n:null}return null}function ks(t){let e=[];return t.pendingThinking&&(e.push({seq:++t.seq,type:"thinking",content:t.pendingThinking}),t.pendingThinking=""),t.pendingText&&(e.push({seq:++t.seq,type:"text",content:t.pendingText}),t.pendingText=""),e}async function Nr(t,e,s,r,n){try{await t.taskFail(e,{error:s,sessionId:r,workDir:n})}catch{}}Ta.exports={runTask:rh}});var Oa=$((q_,Ea)=>{var{runTask:ch}=Aa(),Lr=class{constructor(e,s,r,n){this.cfg=e,this.client=s,this.runtimeId=r,this.log=n,this._running=!1,this._taskCount=0,this._slotCounter=0,this._abortController=null}get activeTaskCount(){return this._taskCount}start(e){this._running=!0,this._loop(e)}async _loop(e){for(;this._running&&(!e||!e.aborted);){try{if(this._taskCount<this.cfg.maxConcurrentTasks){let s=await this.client.claimTask(this.runtimeId);if(s){let r=this._slotCounter++;this._taskCount++,this._runTask(s,r).finally(()=>{this._taskCount--})}}}catch(s){this.log(`[poller ${this.runtimeId}] claim error: ${s.message}`)}await lh(dh(this.cfg.pollInterval||3e4))}}async _runTask(e,s){try{await ch(this.cfg,this.client,e,this.log,s)}catch(r){this.log(`[poller ${this.runtimeId}] task ${e.id} uncaught: ${r.message}`)}}stop(){this._running=!1}};function lh(t){return new Promise(e=>setTimeout(e,t))}function dh(t){return Math.max(1e3,t+(Math.random()-.5)*t*.2)}Ea.exports={Poller:Lr}});var Da=$((N_,Ua)=>{var uh=require("https"),ph=require("http"),{URL:mh}=require("url"),fh={claude:[{id:"claude-sonnet-4-6",label:"Claude Sonnet 4.6",provider:"anthropic",default:!0},{id:"claude-opus-4-8",label:"Claude Opus 4.8",provider:"anthropic"},{id:"claude-haiku-4-5-20251001",label:"Claude Haiku 4.5",provider:"anthropic"}],codex:[{id:"gpt-5.5",label:"GPT-5.5",provider:"openai",default:!0},{id:"o3",label:"o3",provider:"openai"}]};async function hh(t,e){let s=(t||"https://api.makecoder.com/v1").replace(/\/+$/,""),r=new mh(`${s}/claudeproxy/v1/models`),n=r.protocol==="http:"?ph:uh;return new Promise(o=>{let i={"Content-Type":"application/json"};e&&(i.Authorization=`Bearer ${e}`);let a=n.request({hostname:r.hostname,port:r.port||(r.protocol==="http:"?80:443),path:r.pathname+r.search,method:"GET",headers:i,timeout:5e3},c=>{let l="";c.on("data",d=>l+=d),c.on("end",()=>{try{let d=JSON.parse(l);if(d.code===0&&Array.isArray(d.data?.models)){let u=d.data.models.filter(f=>f.id).sort((f,h)=>f.id.localeCompare(h.id)).map((f,h)=>({id:f.id,label:f.name??f.id,provider:f.provider||"anthropic",...h===0?{default:!0}:{}}));o(u)}else o(null)}catch{o(null)}})});a.on("error",()=>o(null)),a.on("timeout",()=>{a.destroy(),o(null)}),a.end()})}async function gh(t,e,s,r,n,o){n(`[model-list] runtime=${e} request=${s} provider=${r}`);let i=null;if(r==="claude"&&(i=await hh(o||t.serverUrl,t.token),n(i?`[model-list] fetched ${i.length} models from API`:"[model-list] API unavailable, using fallback list")),i||(i=fh[r]||null),!i){await t.reportModelListResult(e,s,{status:"failed",error:`no model catalog for provider "${r}"`});return}try{await t.reportModelListResult(e,s,{status:"completed",models:i,supported:!0}),n(`[model-list] reported ${i.length} models for runtime=${e}`)}catch(a){n(`[model-list] report failed: ${a.message}`)}}Ua.exports={handleModelList:gh}});var Ra=$((L_,Pa)=>{var{handleModelList:yh}=Da(),Mr=class{constructor(e,s,r,n,o,i){this.cfg=e,this.client=s,this.getRuntimeIds=r,this.log=n,this.onRuntimeGone=o,this.getRuntimeProvider=i||(()=>"claude"),this._timer=null}start(e){let s=this.cfg.heartbeatInterval||15e3,r=async()=>{if(e&&e.aborted)return;let n=this.getRuntimeIds();for(let o of n)try{let i=await this.client.heartbeat(o);if(i&&i.runtime_gone&&(this.log(`[heartbeat] runtime ${o} gone, re-registering`),this.onRuntimeGone&&this.onRuntimeGone(o)),i&&i.pending_model_list){let a=this.getRuntimeProvider(o);yh(this.client,o,i.pending_model_list.id,a,this.log,this.cfg.coderBaseUrl).catch(c=>this.log(`[heartbeat] model-list error: ${c.message}`))}}catch(i){this.log(`[heartbeat] error for ${o}: ${i.message}`)}(!e||!e.aborted)&&(this._timer=setTimeout(r,va(s)))};this._timer=setTimeout(r,va(s))}stop(){this._timer&&(clearTimeout(this._timer),this._timer=null)}};function va(t){return Math.max(1e3,t+(Math.random()-.5)*t*.2)}Pa.exports={Heartbeat:Mr}});var Na=$((M_,qa)=>{var ja=require("os"),{HealthServer:_h}=Zt(),{DaemonClient:wh}=ua(),{Poller:bh}=Oa(),{Heartbeat:kh}=Ra(),{loadOrCreateDaemonId:xh}=It(),{runGc:Ih}=qr(),Zr=class{constructor(e,s){this.cfg=e,this.log=s||console.error,this._runtimeIds=[],this._runtimeProviders={},this._pollers=[],this._heartbeat=null,this._health=null,this._client=null}async run(e){let s=this.cfg,r=e&&typeof e.abort=="function"?e:null,n=r?r.signal:e;this._health=new _h(s.healthPort||19514),this._health.setShutdown(()=>{r?r.abort():process.emit("SIGTERM")}),this._health.start();let o=xh(s.daemonId);this._health.daemonId=o,this._client=new wh(s.serverUrl,s.token,s.cliVersion||"dev"),this.log(`[daemon] id=${o} server=${s.serverUrl}`);let i=[];try{i=await this._client.getWorkspaces()}catch(c){this.log(`[daemon] getWorkspaces error: ${c.message}`)}this._health.workspaces=i.map(c=>c.id||c.name||"");let a={};for(let c of i)try{let d=((await this._client.register({workspaceId:c.id,daemonId:o,deviceName:s.deviceName||ja.hostname(),cliVersion:s.cliVersion||"dev",runtimes:[{name:s.runtimeName||`Claude (${ja.hostname()})`,type:"claude",version:s.cliVersion||"dev",status:"online"}]}))?.runtimes||[]).map(u=>u.id).filter(Boolean);for(let u of d)this._runtimeProviders[u]="claude";a[c.id]=d,this._runtimeIds.push(...d),this.log(`[daemon] registered workspace=${c.id} runtimes=${d.join(",")}`)}catch(l){this.log(`[daemon] register error workspace=${c.id}: ${l.message}`)}this._health.agents=this._runtimeIds.map(c=>`claude:${c}`),this._health.status="running",setImmediate(()=>Ih(s));for(let c of this._runtimeIds){let l=new bh(s,this._client,c,this.log);this._pollers.push(l),l.start(n)}this._heartbeat=new kh(s,this._client,()=>this._runtimeIds,this.log,c=>this._handleRuntimeGone(c),c=>this._runtimeProviders[c]||"claude"),this._heartbeat.start(n),this.log("[daemon] running"),await Ch(n),this.log("[daemon] shutting down"),this._heartbeat.stop();for(let c of this._pollers)c.stop();if(this._runtimeIds.length)try{await this._client.deregister(this._runtimeIds),this.log(`[daemon] deregistered ${this._runtimeIds.length} runtime(s)`)}catch(c){this.log(`[daemon] deregister error: ${c.message}`)}this._health.close(),this.log("[daemon] stopped")}async _handleRuntimeGone(e){let s=this._runtimeIds.indexOf(e);s!==-1&&this._runtimeIds.splice(s,1),delete this._runtimeProviders[e];let r=this._pollers.findIndex(n=>n.runtimeId===e);r!==-1&&(this._pollers[r].stop(),this._pollers.splice(r,1)),this.log(`[daemon] runtime ${e} removed; will re-register on next cycle`)}};function Ch(t){return new Promise(e=>{if(!t){process.once("SIGINT",e),process.once("SIGTERM",e);return}if(t.aborted)return e();t.addEventListener("abort",e,{once:!0})})}qa.exports={DaemonProcess:Zr}});var Qa=$((Z_,Xa)=>{var{emitTable:F,emitDetails:M}=ta(),{abort:g,send:x,ensureOk:I,flag:_,positionals:me,requireWorkspaceId:C}=na();function za(t,{full:e=!1,actors:s=null}={}){let r=t.assignee||(t.assignee_id?`${t.assignee_type||""}:${t.assignee_id}`:""),n=r;if(s&&r){let o=r.indexOf(":"),i=o!==-1?r.slice(o+1):r,a=s.get(i);a&&(n=a.name)}return{key:t.key||t.identifier||"",...e?{id:t.id||""}:{},title:t.title||"",status:t.status||"",priority:t.priority||"",assignee:n}}async function Ka(t,e){let s=await x(t,"GET","/api/agents"),r=I(t,s)||{},n=Array.isArray(r)?r:r.agents||[],o=String(e).toLowerCase(),i=n.find(a=>a.id===e||(a.slug||"").toLowerCase()===o||(a.name||"").toLowerCase()===o);return i||g(t.ctx,`agent '${e}' \u4E0D\u5B58\u5728`,"\u8FD0\u884C coder flow agent list \u67E5\u770B\u53EF\u7528 agent",4),i.id}var O={id:"ID",key:"Key",name:"\u540D\u79F0",slug:"Slug",title:"\u6807\u9898",status:"\u72B6\u6001",priority:"\u4F18\u5148\u7EA7",assignee:"\u8D1F\u8D23\u4EBA",description:"\u63CF\u8FF0",current:"\u5F53\u524D",start_date:"\u5F00\u59CB\u65E5\u671F",due_date:"\u622A\u6B62\u65E5\u671F",created_at:"\u521B\u5EFA\u65F6\u95F4",updated_at:"\u66F4\u65B0\u65F6\u95F4",author:"\u4F5C\u8005",content:"\u5185\u5BB9",agent:"Agent",deleted:"\u5DF2\u5220\u9664"},fe={status:{backlog:"\u5F85\u89C4\u5212",todo:"\u5F85\u529E",in_progress:"\u8FDB\u884C\u4E2D",in_review:"\u8BC4\u5BA1\u4E2D",done:"\u5DF2\u5B8C\u6210",cancelled:"\u5DF2\u53D6\u6D88",open:"\u5F00\u653E",closed:"\u5DF2\u5173\u95ED",active:"\u6D3B\u8DC3",inactive:"\u505C\u7528",archived:"\u5DF2\u5F52\u6863",planned:"\u89C4\u5212\u4E2D",started:"\u5DF2\u542F\u52A8",on_hold:"\u6401\u7F6E",idle:"\u7A7A\u95F2",busy:"\u5FD9\u788C",running:"\u8FD0\u884C\u4E2D",queued:"\u6392\u961F\u4E2D",pending:"\u7B49\u5F85\u4E2D",paused:"\u5DF2\u6682\u505C",stopped:"\u5DF2\u505C\u6B62",completed:"\u5DF2\u5B8C\u6210",failed:"\u5931\u8D25",success:"\u6210\u529F",error:"\u9519\u8BEF"},priority:{none:"\u65E0",low:"\u4F4E",medium:"\u4E2D",high:"\u9AD8",urgent:"\u7D27\u6025"}};async function Fr(t,e,s){if(t.ctx.isJson||!s)return null;let r=await t.http.getWorkspaceSlug();return r?`${t.http.baseUrl}/${r}/${e}/${s}`:null}async function Gr(t,e,s){if(t.ctx.isJson)return null;let r=await t.http.getWorkspaceSlug();return r?s.map(n=>n&&n.id?`${t.http.baseUrl}/${r}/${e}/${n.id}`:null):null}async function $h(t){C(t);let e=new URLSearchParams;e.set("workspace_id",t.http.workspaceId);let s=_(t.args,"--status"),r=_(t.args,"--priority"),n=_(t.args,"--limit"),o=_(t.args,"--offset");s&&e.set("status",s),r&&e.set("priority",r),n&&e.set("limit",n),o&&e.set("offset",o);let i=t.args.includes("--full-id"),[a,c]=await Promise.all([x(t,"GET",`/api/issues?${e.toString()}`),t.ctx.isJson?Promise.resolve(null):t.http.getActorLookup()]),l=I(t,a)||{},d=Array.isArray(l)?l:l.issues||[],u=await Gr(t,"issues",d),f=c?d.map(h=>{let y=h.assignee||(h.assignee_id?`${h.assignee_type||""}:${h.assignee_id}`:"");if(!y)return null;let A=y.indexOf(":"),k=A!==-1?y.slice(A+1):y;return c.get(k)?.url||null}):null;return F(t.ctx,d.map(h=>za(h,{full:i,actors:c})),{labels:O,values:fe,linkCol:"key",rowLinks:u,colLinks:f?{col:"assignee",links:f}:void 0,empty:"\u65E0 issue"}),0}async function La(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue get <id|KEY>",3),C(t);let[s,r]=await Promise.all([x(t,"GET",`/api/issues/${encodeURIComponent(e)}`),t.ctx.isJson?Promise.resolve(null):t.http.getActorLookup()]),n=I(t,s)||{},o=await Fr(t,"issues",n.id),i=n.assignee||(n.assignee_id?`${n.assignee_type||""}:${n.assignee_id}`:""),a=i,c=null;if(r&&i){let l=i.indexOf(":"),d=l!==-1?i.slice(l+1):i,u=r.get(d);u&&(a=u.name,c=u.url)}return M(t.ctx,[["key",n.key||n.identifier||""],["id",n.id||""],["title",n.title||""],["status",n.status||""],["priority",n.priority||""],["assignee",a],["start_date",n.start_date||""],["due_date",n.due_date||""],["description",n.description||""]],null,{labels:O,values:fe,link:o?{key:"key",url:o}:null,fieldLinks:c?{assignee:c}:null}),0}async function Sh(t){let e=C(t),s=_(t.args,"--title");s||g(t.ctx,"\u7F3A\u5C11 --title","\u7528\u6CD5: coder flow issue create --title <t>",3);let r={workspace_id:e,title:s},n=_(t.args,"--description"),o=_(t.args,"--priority"),i=_(t.args,"--status"),a=_(t.args,"--project"),c=_(t.args,"--agent")||_(t.args,"--assignee");n!==void 0&&(r.description=n),o!==void 0&&(r.priority=o),i!==void 0&&(r.status=i),a!==void 0&&(r.project_id=a),c!==void 0&&(r.assignee_type="agent",r.assignee_id=await Ka(t,c));let l=await x(t,"POST","/api/issues",r),d=I(t,l)||{};return M(t.ctx,[["key",d.key||d.identifier||""],["id",d.id||""],["title",d.title||s],["status",d.status||""]],null,{labels:O,values:fe}),0}async function Vr(t,e,s,r){let n=await x(t,"PUT",`/api/issues/${encodeURIComponent(e)}`,s),o=I(t,n)||{},i=await Fr(t,"issues",o.id);return M(t.ctx,r(o),null,{labels:O,values:fe,link:i?{key:"key",url:i}:null}),0}async function Th(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue update <id|KEY> ...",3),C(t);let s={},r=_(t.args,"--title"),n=_(t.args,"--description"),o=_(t.args,"--priority"),i=_(t.args,"--status");return r!==void 0&&(s.title=r),n!==void 0&&(s.description=n),o!==void 0&&(s.priority=o),i!==void 0&&(s.status=i),Object.keys(s).length||g(t.ctx,"\u672A\u63D0\u4F9B\u4EFB\u4F55\u66F4\u65B0\u5B57\u6BB5","\u81F3\u5C11\u7ED9\u4E00\u4E2A --title/--description/--priority/--status",3),Vr(t,e,s,a=>[["key",a.key||a.identifier||e],["title",a.title||""],["status",a.status||""],["priority",a.priority||""]])}async function Ah(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue status <id|KEY> --set <status>",3);let s=_(t.args,"--set")||_(t.args,"--status");return s||g(t.ctx,"\u7F3A\u5C11 --set <status>","\u7528\u6CD5: coder flow issue status <id|KEY> --set <status>",3),C(t),Vr(t,e,{status:s},r=>[["key",r.key||r.identifier||e],["status",r.status||s]])}async function Eh(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue assign <id|KEY> --agent <slug>",3),C(t);let s=_(t.args,"--agent")||_(t.args,"--to"),r=t.args.includes("--unassign"),n;return r?n={assignee_type:null,assignee_id:null}:(s||g(t.ctx,"\u7F3A\u5C11 --agent <slug>","\u6216\u7528 --unassign \u53D6\u6D88\u6307\u6D3E",3),n={assignee_type:"agent",assignee_id:await Ka(t,s)}),Vr(t,e,n,o=>[["key",o.key||o.identifier||e],["status",o.status||""],["assignee",o.assignee_id?`${o.assignee_type||""}:${o.assignee_id}`:""]])}async function Oh(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11\u641C\u7D22\u5173\u952E\u8BCD","\u7528\u6CD5: coder flow issue search <query>",3),C(t);let s=new URLSearchParams;s.set("q",e),s.set("workspace_id",t.http.workspaceId);let r=_(t.args,"--limit");r&&s.set("limit",r),t.args.includes("--include-closed")&&s.set("include_closed","true");let n=await x(t,"GET",`/api/issues/search?${s.toString()}`),o=I(t,n)||{},i=Array.isArray(o)?o:o.issues||[],a=await Gr(t,"issues",i);return F(t.ctx,i.map(c=>za(c)),{labels:O,values:fe,linkCol:"key",rowLinks:a,empty:"\u65E0\u5339\u914D issue"}),0}async function Uh(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue comment list <id|KEY>",3),C(t);let s=await x(t,"GET",`/api/issues/${encodeURIComponent(e)}/comments`),r=I(t,s)||{},n=Array.isArray(r)?r:r.comments||[];return F(t.ctx,n.map(o=>({id:o.id||"",author:o.author_id||o.user_id||"",created_at:o.created_at||"",content:o.content||""})),{labels:O,empty:"\u65E0\u8BC4\u8BBA"}),0}async function Dh(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue comment add <id|KEY> --content <text>",3),C(t);let s=_(t.args,"--content")||_(t.args,"--body");s||g(t.ctx,"\u7F3A\u5C11 --content",null,3);let r={content:s},n=_(t.args,"--parent");n&&(r.parent_id=n);let o=await x(t,"POST",`/api/issues/${encodeURIComponent(e)}/comments`,r),i=I(t,o)||{};return M(t.ctx,[["id",i.id||""],["content",i.content||s]],null,{labels:O}),0}async function vh(t){let e=me(t.args,{valueFlags:[]}),s=e[0],r=e[1];(!s||!r)&&g(t.ctx,"\u7F3A\u5C11\u53C2\u6570","\u7528\u6CD5: coder flow issue comment delete <issue-id> <comment-id>",3),C(t);let n=await x(t,"DELETE",`/api/issues/${encodeURIComponent(s)}/comments/${encodeURIComponent(r)}`);return I(t,n),t.ctx.emit(t.ctx.isJson?{deleted:r}:`\u8BC4\u8BBA ${r} \u5DF2\u5220\u9664`),0}async function Ph(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue subscriber list <id|KEY>",3),C(t);let s=await x(t,"GET",`/api/issues/${encodeURIComponent(e)}/subscribers`),r=I(t,s)||{},n=Array.isArray(r)?r:r.subscribers||[];return F(t.ctx,n.map(o=>({id:o.id||"",name:o.name||"",type:o.type||""})),{labels:O,empty:"\u65E0\u8BA2\u9605\u8005"}),0}async function Rh(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue subscriber add <id|KEY> [--user <name>]",3),C(t);let s={},r=_(t.args,"--user-id"),n=_(t.args,"--user");r?s.user_id=r:n&&(s.user=n);let o=await x(t,"POST",`/api/issues/${encodeURIComponent(e)}/subscribers`,s),i=I(t,o)||{};return t.ctx.emit(t.ctx.isJson?i:`\u5DF2\u8BA2\u9605 issue ${e}`),0}async function jh(t){let s=me(t.args,{valueFlags:["--user-id","--user"]})[0];s||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue subscriber remove <id|KEY>",3),C(t);let r={},n=_(t.args,"--user-id"),o=_(t.args,"--user");n?r.user_id=n:o&&(r.user=o);let i=await x(t,"DELETE",`/api/issues/${encodeURIComponent(s)}/subscribers`,r);return I(t,i),t.ctx.emit(t.ctx.isJson?{unsubscribed:!0}:`\u5DF2\u53D6\u6D88\u8BA2\u9605 issue ${s}`),0}async function qh(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue pull-requests <id|KEY>",3),C(t);let s=await x(t,"GET",`/api/issues/${encodeURIComponent(e)}/pull-requests`),r=I(t,s)||{},n=Array.isArray(r)?r:r.pull_requests||[];return F(t.ctx,n.map(o=>({id:o.id||"",title:o.title||"",url:o.url||"",status:o.status||""})),{labels:O,empty:"\u65E0\u5173\u8054 PR"}),0}async function Nh(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 task-id","\u7528\u6CD5: coder flow issue run-messages <task-id> [--since <seq>]",3),C(t);let s=new URLSearchParams,r=_(t.args,"--issue"),n=_(t.args,"--since");r&&s.set("issue_id",r),n&&s.set("since",n);let o=s.toString(),i=await x(t,"GET",`/api/tasks/${encodeURIComponent(e)}/messages${o?"?"+o:""}`),a=I(t,i)||{},c=Array.isArray(a)?a:a.messages||[];return t.ctx.isJson?(t.ctx.emit(c),0):(F(t.ctx,c.map(l=>({seq:String(l.seq??l.sequence??""),type:l.type||l.role||"",content:(l.content||l.output||"").slice(0,100)})),{labels:{seq:"Seq",type:"\u7C7B\u578B",content:"\u5185\u5BB9"},empty:"\u65E0\u6D88\u606F"}),0)}async function Lh(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 task-id","\u7528\u6CD5: coder flow issue cancel-task <task-id>",3),C(t);let s={},r=_(t.args,"--issue");r&&(s.issue_id=r);let n=await x(t,"POST",`/api/tasks/${encodeURIComponent(e)}/cancel`,s),o=I(t,n)||{};return M(t.ctx,[["id",o.id||e],["status",o.status||""]],null,{labels:O}),0}async function Mh(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue runs <id|KEY>",3),C(t);let s=await x(t,"GET",`/api/issues/${encodeURIComponent(e)}/task-runs`),r=I(t,s)||{},n=Array.isArray(r)?r:r.runs||r.tasks||[];return F(t.ctx,n.map(o=>({id:o.id||"",status:o.status||"",agent:o.agent_id||o.assignee_id||"",created_at:o.created_at||""})),{labels:O,values:fe,empty:"\u65E0\u4EFB\u52A1\u5386\u53F2"}),0}async function Zh(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue rerun <id|KEY>",3),C(t);let s=await x(t,"POST",`/api/issues/${encodeURIComponent(e)}/rerun`,{}),r=I(t,s)||{};return M(t.ctx,[["id",r.id||""],["status",r.status||""]],null,{labels:O,values:fe}),0}function Is(t,e){return e.map(s=>[s,t[s]??""])}function Ct(t,e,s,{webPath:r=null,linkCol:n=null}={}){return async o=>{C(o);let i=new URLSearchParams;i.set("workspace_id",o.http.workspaceId);let a=await x(o,"GET",`/api/${t}?${i.toString()}`),c=I(o,a)||{},l=Array.isArray(c)?c:c[e]||[],d=r?await Gr(o,r,l):null;return F(o.ctx,l.map(u=>{let f={};for(let h of s)f[h]=u[h]??"";return f}),{labels:O,values:fe,linkCol:n,rowLinks:d,empty:`\u65E0 ${t}`}),0}}function Ie(t,e,{webPath:s=null,linkCol:r=null}={}){return async n=>{let o=n.arg;o||g(n.ctx,`\u7F3A\u5C11 ${t} \u6807\u8BC6`,"\u7528\u6CD5: coder flow ... get <id>",3),C(n);let i=await x(n,"GET",`/api/${t}/${encodeURIComponent(o)}`),a=I(n,i)||{},c=s?await Fr(n,s,a.id):null;return M(n.ctx,Is(a,e),null,{labels:O,values:fe,link:c&&r?{key:r,url:c}:null}),0}}function xs(t){return async e=>{let s=e.arg;if(s||g(e.ctx,`\u7F3A\u5C11 ${t} \u6807\u8BC6`,"\u7528\u6CD5: coder flow ... delete <id>",3),C(e),!e.args.includes("--yes"))return e.ctx.emit(`\u5C06\u5220\u9664 ${t}/${s}\uFF08\u9AD8\u5F71\u54CD\uFF09\u3002\u786E\u8BA4\u8BF7\u52A0 --yes`),10;let r=await x(e,"DELETE",`/api/${t}/${encodeURIComponent(s)}`);return I(e,r),e.ctx.emit(e.ctx.isJson?{deleted:s}:`\u5DF2\u5220\u9664 ${s}`),0}}function Ce(t,e,s,r,{withWorkspace:n=!1,idArg:o=!1}={}){return async i=>{let a=C(i),c=`/api/${t}`;if(o){let h=i.arg;h||g(i.ctx,`\u7F3A\u5C11 ${t} \u6807\u8BC6`,"\u7528\u6CD5: coder flow ... <verb> <id> ...",3),c+=`/${encodeURIComponent(h)}`}let l={};n&&(l.workspace_id=a);for(let[h,y]of s){let A=_(i.args,`--${h}`);A!==void 0&&(l[y]=A)}Object.keys(l).filter(h=>h!=="workspace_id").length||g(i.ctx,"\u672A\u63D0\u4F9B\u4EFB\u4F55\u5B57\u6BB5",`\u7ED9\u51FA ${s.map(h=>"--"+h[0]).join(" / ")}`,3);let u=await x(i,e,c,l),f=I(i,u)||{};return M(i.ctx,Is(f,r),null,{labels:O,values:fe}),0}}function Br(t,e,s){return async r=>{let n=r.arg;n||g(r.ctx,`\u7F3A\u5C11 ${t} \u6807\u8BC6`,`\u7528\u6CD5: coder flow ... ${e} <id>`,3),C(r);let o=await x(r,"POST",`/api/${t}/${encodeURIComponent(n)}/${e}`,{}),i=I(r,o)||{};return M(r.ctx,Is(i,s),null,{labels:O,values:fe}),0}}function Ma(t,e,s,r){return async n=>{let o=n.arg;o||g(n.ctx,`\u7F3A\u5C11 ${t} \u6807\u8BC6`,"\u7528\u6CD5: coder flow ... <verb> <id>",3),C(n);let i=await x(n,"GET",`/api/${t}/${encodeURIComponent(o)}/${e}`),a=I(n,i)||{},c=Array.isArray(a)?a:a[s]||[];return F(n.ctx,c.map(l=>{let d={};for(let u of r)d[u]=l[u]??"";return d}),{labels:O,values:fe,empty:"\uFF08\u7A7A\uFF09"}),0}}async function Bh(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue label list <id|KEY>",3),C(t);let s=await x(t,"GET",`/api/issues/${encodeURIComponent(e)}/labels`),r=I(t,s)||{},n=Array.isArray(r)?r:r.labels||[];return F(t.ctx,n.map(o=>({id:o.id||"",name:o.name||"",color:o.color||""})),{labels:O,empty:"\u65E0\u6807\u7B7E"}),0}async function Fh(t){let e=me(t.args,{valueFlags:[]}),s=e[0],r=e[1];(!s||!r)&&g(t.ctx,"\u7F3A\u5C11\u53C2\u6570","\u7528\u6CD5: coder flow issue label add <issue-id> <label-id>",3),C(t);let n=await x(t,"POST",`/api/issues/${encodeURIComponent(s)}/labels`,{label_id:r}),o=I(t,n)||{},i=Array.isArray(o)?o:o.labels||[];return F(t.ctx,i.map(a=>({id:a.id||"",name:a.name||"",color:a.color||""})),{labels:O,empty:"\u65E0\u6807\u7B7E"}),0}async function Gh(t){let e=me(t.args,{valueFlags:[]}),s=e[0],r=e[1];(!s||!r)&&g(t.ctx,"\u7F3A\u5C11\u53C2\u6570","\u7528\u6CD5: coder flow issue label remove <issue-id> <label-id>",3),C(t);let n=await x(t,"DELETE",`/api/issues/${encodeURIComponent(s)}/labels/${encodeURIComponent(r)}`);return I(t,n),t.ctx.emit(t.ctx.isJson?{removed:r}:`\u6807\u7B7E ${r} \u5DF2\u4ECE issue ${s} \u79FB\u9664`),0}async function Vh(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue metadata list <id|KEY>",3),C(t);let s=await x(t,"GET",`/api/issues/${encodeURIComponent(e)}/metadata`),r=I(t,s)||{},n=r.metadata||r||{};if(t.ctx.isJson)return t.ctx.emit(n),0;let o=Object.entries(n).map(([i,a])=>({key:i,value:String(a),type:typeof a}));return F(t.ctx,o,{labels:O,empty:"\u65E0 metadata"}),0}async function Jh(t){let e=t.arg,s=_(t.args,"--key");e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue metadata get <id|KEY> --key <key>",3),s||g(t.ctx,"\u7F3A\u5C11 --key","\u7528\u6CD5: coder flow issue metadata get <id|KEY> --key <key>",3),C(t);let r=await x(t,"GET",`/api/issues/${encodeURIComponent(e)}/metadata`),n=I(t,r)||{},o=n.metadata||n||{};s in o||g(t.ctx,`metadata key '${s}' \u4E0D\u5B58\u5728`,null,4);let i=o[s];return t.ctx.isJson?(t.ctx.emit(i),0):(M(t.ctx,[["key",s],["value",String(i)],["type",typeof i]],null,{labels:O}),0)}async function zh(t){let e=t.arg,s=_(t.args,"--key"),r=_(t.args,"--value"),n=_(t.args,"--type");e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue metadata set <id|KEY> --key <k> --value <v>",3),s||g(t.ctx,"\u7F3A\u5C11 --key",null,3),r===void 0&&g(t.ctx,"\u7F3A\u5C11 --value",null,3),C(t);let o=r;if(!n||n==="auto")try{o=JSON.parse(r)}catch{o=r}else n==="string"?o=r:n==="number"?(o=Number(r),Number.isNaN(o)&&g(t.ctx,`'${r}' \u4E0D\u662F\u6709\u6548\u6570\u5B57`,null,3)):n==="bool"&&(r!=="true"&&r!=="false"&&g(t.ctx,`'${r}' \u4E0D\u662F\u6709\u6548\u5E03\u5C14\uFF08true/false\uFF09`,null,3),o=r==="true");let i=await x(t,"PUT",`/api/issues/${encodeURIComponent(e)}/metadata/${encodeURIComponent(s)}`,{value:o}),a=I(t,i)||{},c=a.metadata||a||{};if(t.ctx.isJson)return t.ctx.emit(c),0;let l=Object.entries(c).map(([d,u])=>({key:d,value:String(u),type:typeof u}));return F(t.ctx,l,{labels:O,empty:"\uFF08\u7A7A\uFF09"}),0}async function Kh(t){let e=t.arg,s=_(t.args,"--key");e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue metadata delete <id|KEY> --key <k>",3),s||g(t.ctx,"\u7F3A\u5C11 --key",null,3),C(t);let r=await x(t,"DELETE",`/api/issues/${encodeURIComponent(e)}/metadata/${encodeURIComponent(s)}`);return I(t,r),t.ctx.emit(t.ctx.isJson?{deleted:s}:`metadata key '${s}' \u5DF2\u5220\u9664`),0}async function Wh(t){let e=t.arg;if(e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue delete <id|KEY> [--yes]",3),C(t),!t.args.includes("--yes"))return t.ctx.emit(`\u5C06\u5220\u9664 issue/${e}\uFF08\u9AD8\u5F71\u54CD\uFF09\u3002\u786E\u8BA4\u8BF7\u52A0 --yes`),10;let s=await x(t,"DELETE",`/api/issues/${encodeURIComponent(e)}`);return I(t,s),t.ctx.emit(t.ctx.isJson?{deleted:e}:`issue ${e} \u5DF2\u5220\u9664`),0}async function Hh(t){C(t);let e=new URLSearchParams({workspace_id:t.http.workspaceId}),s=await x(t,"GET",`/api/labels?${e.toString()}`),r=I(t,s)||{},n=Array.isArray(r)?r:r.labels||[];return F(t.ctx,n.map(o=>({id:o.id||"",name:o.name||"",color:o.color||"",created_at:o.created_at||""})),{labels:O,empty:"\u65E0 label"}),0}async function Za(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 label id","\u7528\u6CD5: coder flow label get <id>",3),C(t);let s=await x(t,"GET",`/api/labels/${encodeURIComponent(e)}`),r=I(t,s)||{};return M(t.ctx,[["id",r.id||""],["name",r.name||""],["color",r.color||""],["created_at",r.created_at||""]],null,{labels:O}),0}async function Yh(t){let e=_(t.args,"--name"),s=_(t.args,"--color");e||g(t.ctx,"\u7F3A\u5C11 --name","\u7528\u6CD5: coder flow label create --name <n> --color <#hex>",3),s||g(t.ctx,"\u7F3A\u5C11 --color\uFF08\u683C\u5F0F: #3b82f6\uFF09",null,3),C(t);let r=await x(t,"POST","/api/labels",{name:e,color:s}),n=I(t,r)||{};return M(t.ctx,[["id",n.id||""],["name",n.name||""],["color",n.color||""]],null,{labels:O}),0}async function Xh(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 label id","\u7528\u6CD5: coder flow label update <id> [--name <n>] [--color <#>]",3),C(t);let s={},r=_(t.args,"--name"),n=_(t.args,"--color");r!==void 0&&(s.name=r),n!==void 0&&(s.color=n),Object.keys(s).length||g(t.ctx,"\u672A\u63D0\u4F9B\u4EFB\u4F55\u5B57\u6BB5","--name / --color",3);let o=await x(t,"PUT",`/api/labels/${encodeURIComponent(e)}`,s),i=I(t,o)||{};return M(t.ctx,[["id",i.id||""],["name",i.name||""],["color",i.color||""]],null,{labels:O}),0}async function Qh(t){let e=t.arg;if(e||g(t.ctx,"\u7F3A\u5C11 label id","\u7528\u6CD5: coder flow label delete <id> [--yes]",3),C(t),!t.args.includes("--yes"))return t.ctx.emit(`\u5C06\u5220\u9664 label/${e}\uFF08\u9AD8\u5F71\u54CD\uFF09\u3002\u786E\u8BA4\u8BF7\u52A0 --yes`),10;let s=await x(t,"DELETE",`/api/labels/${encodeURIComponent(e)}`);return I(t,s),t.ctx.emit(t.ctx.isJson?{deleted:e}:`label ${e} \u5DF2\u5220\u9664`),0}async function eg(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 agent \u6807\u8BC6","\u7528\u6CD5: coder flow agent skills list <id>",3),C(t);let s=await x(t,"GET",`/api/agents/${encodeURIComponent(e)}/skills`),r=I(t,s)||{},n=Array.isArray(r)?r:r.skills||[];return F(t.ctx,n.map(o=>({id:o.id||"",name:o.name||"",description:o.description||""})),{labels:O,empty:"\u65E0 skill"}),0}async function tg(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 agent \u6807\u8BC6","\u7528\u6CD5: coder flow agent skills add <agent-id> --skill-ids <id1,id2>",3),C(t);let s=(_(t.args,"--skill-ids")||"").split(",").map(o=>o.trim()).filter(Boolean);s.length||g(t.ctx,"\u7F3A\u5C11 --skill-ids",null,3);let r=await x(t,"POST",`/api/agents/${encodeURIComponent(e)}/skills`,{skill_ids:s}),n=I(t,r)||{};return t.ctx.emit(t.ctx.isJson?n:`skill \u5DF2\u6DFB\u52A0\u5230 agent ${e}`),0}async function sg(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 agent \u6807\u8BC6","\u7528\u6CD5: coder flow agent skills set <agent-id> --skill-ids <id1,id2>",3),C(t);let s=_(t.args,"--skill-ids")||"",r=s?s.split(",").map(i=>i.trim()).filter(Boolean):[],n=await x(t,"PUT",`/api/agents/${encodeURIComponent(e)}/skills`,{skill_ids:r}),o=I(t,n)||{};return t.ctx.emit(t.ctx.isJson?o:`agent ${e} \u7684 skill \u5DF2\u66F4\u65B0`),0}async function rg(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 agent \u6807\u8BC6","\u7528\u6CD5: coder flow agent env get <id>",3),C(t);let s=await x(t,"GET",`/api/agents/${encodeURIComponent(e)}/env`),r=I(t,s)||{},n=r.env||r||{};if(t.ctx.isJson)return t.ctx.emit(n),0;let o=Object.entries(n).map(([i,a])=>({key:i,value:String(a)}));return F(t.ctx,o,{labels:O,empty:"\u65E0\u73AF\u5883\u53D8\u91CF"}),0}async function ng(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 agent \u6807\u8BC6",`\u7528\u6CD5: coder flow agent env set <id> --custom-env '{"KEY":"val"}'`,3),C(t);let s=_(t.args,"--custom-env");s||g(t.ctx,"\u7F3A\u5C11 --custom-env\uFF08JSON \u5BF9\u8C61\uFF09",null,3);let r;try{r=JSON.parse(s)}catch{g(t.ctx,"--custom-env \u4E0D\u662F\u6709\u6548 JSON",null,3)}let n=await x(t,"PUT",`/api/agents/${encodeURIComponent(e)}/env`,{env:r}),o=I(t,n)||{};return t.ctx.emit(t.ctx.isJson?o:`agent ${e} \u7684\u73AF\u5883\u53D8\u91CF\u5DF2\u66F4\u65B0`),0}async function og(t){let e=t.arg,s=_(t.args,"--set")||_(t.args,"--status");e||g(t.ctx,"\u7F3A\u5C11 project \u6807\u8BC6","\u7528\u6CD5: coder flow project status <id> --set <status>",3),s||g(t.ctx,"\u7F3A\u5C11 --set <status>",null,3),C(t);let r=await x(t,"PUT",`/api/projects/${encodeURIComponent(e)}`,{status:s}),n=I(t,r)||{};return M(t.ctx,[["id",n.id||""],["title",n.title||""],["status",n.status||""]],null,{labels:O}),0}async function ig(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 project \u6807\u8BC6","\u7528\u6CD5: coder flow project resource list <project-id>",3),C(t);let s=await x(t,"GET",`/api/projects/${encodeURIComponent(e)}/resources`),r=I(t,s)||{},n=Array.isArray(r)?r:r.resources||[];return F(t.ctx,n.map(o=>({id:o.id||"",resource_type:o.resource_type||"",label:o.label||""})),{labels:O,empty:"\u65E0\u8D44\u6E90"}),0}async function ag(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 project \u6807\u8BC6","\u7528\u6CD5: coder flow project resource add <project-id> --type <t> --url <u>",3),C(t);let s=_(t.args,"--type")||"github_repo",r=_(t.args,"--url"),n=_(t.args,"--local-path"),o=_(t.args,"--daemon-id"),i=_(t.args,"--label"),a;if(s==="github_repo"){r||g(t.ctx,"github_repo \u9700\u8981 --url",null,3),a={url:r};let u=_(t.args,"--default-branch-hint");u&&(a.default_branch_hint=u)}else s==="local_directory"?((!n||!o)&&g(t.ctx,"local_directory \u9700\u8981 --local-path \u548C --daemon-id",null,3),a={local_path:n,daemon_id:o}):g(t.ctx,`\u672A\u77E5 resource type '${s}'\uFF1B\u652F\u6301: github_repo, local_directory`,null,3);let c={resource_type:s,resource_ref:a};i&&(c.label=i);let l=await x(t,"POST",`/api/projects/${encodeURIComponent(e)}/resources`,c),d=I(t,l)||{};return M(t.ctx,[["id",d.id||""],["resource_type",d.resource_type||""]],null,{labels:O}),0}async function cg(t){let e=me(t.args,{valueFlags:[]}),s=e[0],r=e[1];(!s||!r)&&g(t.ctx,"\u7F3A\u5C11\u53C2\u6570","\u7528\u6CD5: coder flow project resource remove <project-id> <resource-id>",3),C(t);let n=await x(t,"DELETE",`/api/projects/${encodeURIComponent(s)}/resources/${encodeURIComponent(r)}`);return I(t,n),t.ctx.emit(t.ctx.isJson?{removed:r}:`resource ${r} \u5DF2\u4ECE project ${s} \u79FB\u9664`),0}async function lg(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 squad \u6807\u8BC6","\u7528\u6CD5: coder flow squad member list <squad-id>",3),C(t);let s=await x(t,"GET",`/api/squads/${encodeURIComponent(e)}/members`),r=I(t,s)||{},n=Array.isArray(r)?r:r.members||[];return F(t.ctx,n.map(o=>({member_id:o.member_id||"",member_type:o.member_type||"",role:o.role||""})),{labels:O,empty:"\u65E0\u6210\u5458"}),0}async function dg(t){let e=t.arg,s=_(t.args,"--member-id"),r=_(t.args,"--type")||"agent",n=_(t.args,"--role")||"member";e||g(t.ctx,"\u7F3A\u5C11 squad \u6807\u8BC6","\u7528\u6CD5: coder flow squad member add <squad-id> --member-id <id> [--type agent|member] [--role <r>]",3),s||g(t.ctx,"\u7F3A\u5C11 --member-id",null,3),C(t);let o={member_type:r,member_id:s,role:n},i=await x(t,"POST",`/api/squads/${encodeURIComponent(e)}/members`,o),a=I(t,i)||{};return t.ctx.emit(t.ctx.isJson?a:`\u6210\u5458 ${s} \u5DF2\u52A0\u5165 squad ${e}`),0}async function ug(t){let e=t.arg,s=_(t.args,"--member-id"),r=_(t.args,"--member-type")||"agent",n=_(t.args,"--role");e||g(t.ctx,"\u7F3A\u5C11 squad \u6807\u8BC6","\u7528\u6CD5: coder flow squad member set-role <squad-id> --member-id <id> --role <r>",3),s||g(t.ctx,"\u7F3A\u5C11 --member-id",null,3),n||g(t.ctx,"\u7F3A\u5C11 --role",null,3),C(t);let o={member_type:r,member_id:s,role:n},i=await x(t,"PATCH",`/api/squads/${encodeURIComponent(e)}/members/role`,o),a=I(t,i)||{};return t.ctx.emit(t.ctx.isJson?a:`\u6210\u5458 ${s} \u7684\u89D2\u8272\u5DF2\u66F4\u65B0\u4E3A ${n}`),0}async function pg(t){let e=t.arg,s=_(t.args,"--member-id"),r=_(t.args,"--type")||"agent";e||g(t.ctx,"\u7F3A\u5C11 squad \u6807\u8BC6","\u7528\u6CD5: coder flow squad member remove <squad-id> --member-id <id>",3),s||g(t.ctx,"\u7F3A\u5C11 --member-id",null,3),C(t);let n={member_type:r,member_id:s},o=await x(t,"DELETE",`/api/squads/${encodeURIComponent(e)}/members`,n);return I(t,o),t.ctx.emit(t.ctx.isJson?{removed:s}:`\u6210\u5458 ${s} \u5DF2\u4ECE squad ${e} \u79FB\u9664`),0}async function mg(t){let e=t.arg,s=t.args.find(i=>!i.startsWith("-")&&i!==e)||_(t.args,"--outcome");e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow squad activity <issue-id> <outcome> [--reason <r>]",3),(!s||!["action","no_action","failed"].includes(s))&&g(t.ctx,"outcome \u5FC5\u987B\u662F action / no_action / failed",null,3),C(t);let r=_(t.args,"--reason")||"",n=await x(t,"POST",`/api/issues/${encodeURIComponent(e)}/squad-evaluated`,{outcome:s,reason:r}),o=I(t,n)||{};return t.ctx.emit(t.ctx.isJson?o:`squad \u8BC4\u4F30\u5DF2\u8BB0\u5F55: ${s}\uFF08issue ${e}\uFF09`),0}async function fg(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 autopilot \u6807\u8BC6","\u7528\u6CD5: coder flow autopilot trigger-add <id> --kind schedule --cron '0 9 * * *'",3),C(t);let s=_(t.args,"--kind")||"schedule";s!=="schedule"&&s!=="webhook"&&g(t.ctx,"--kind \u987B\u4E3A schedule \u6216 webhook",null,3);let r={kind:s};if(s==="schedule"){let a=_(t.args,"--cron");a||g(t.ctx,"schedule trigger \u9700\u8981 --cron",null,3),r.cron_expression=a;let c=_(t.args,"--timezone");c&&(r.timezone=c)}let n=_(t.args,"--label");n&&(r.label=n);let o=await x(t,"POST",`/api/autopilots/${encodeURIComponent(e)}/triggers`,r),i=I(t,o)||{};return M(t.ctx,[["id",i.id||""],["kind",i.kind||""],["label",i.label||""]],null,{labels:O}),0}async function hg(t){let e=me(t.args,{valueFlags:["--cron","--timezone","--label"]}),s=e[0],r=e[1];(!s||!r)&&g(t.ctx,"\u7F3A\u5C11\u53C2\u6570","\u7528\u6CD5: coder flow autopilot trigger-update <autopilot-id> <trigger-id> [--cron ...] [--enabled true|false]",3),C(t);let n={},o=_(t.args,"--cron"),i=_(t.args,"--timezone"),a=_(t.args,"--label"),c=_(t.args,"--enabled");o!==void 0&&(n.cron_expression=o),i!==void 0&&(n.timezone=i),a!==void 0&&(n.label=a),c!==void 0&&(n.enabled=c==="true"),Object.keys(n).length||g(t.ctx,"\u672A\u63D0\u4F9B\u4EFB\u4F55\u5B57\u6BB5","--cron / --timezone / --label / --enabled",3);let l=await x(t,"PATCH",`/api/autopilots/${encodeURIComponent(s)}/triggers/${encodeURIComponent(r)}`,n),d=I(t,l)||{};return M(t.ctx,[["id",d.id||""],["kind",d.kind||""]],null,{labels:O}),0}async function gg(t){let e=me(t.args,{valueFlags:[]}),s=e[0],r=e[1];if((!s||!r)&&g(t.ctx,"\u7F3A\u5C11\u53C2\u6570","\u7528\u6CD5: coder flow autopilot trigger-delete <autopilot-id> <trigger-id>",3),C(t),!t.args.includes("--yes"))return t.ctx.emit(`\u5C06\u5220\u9664 trigger ${r}\uFF08\u9AD8\u5F71\u54CD\uFF09\u3002\u786E\u8BA4\u8BF7\u52A0 --yes`),10;let n=await x(t,"DELETE",`/api/autopilots/${encodeURIComponent(s)}/triggers/${encodeURIComponent(r)}`);return I(t,n),t.ctx.emit(t.ctx.isJson?{deleted:r}:`trigger ${r} \u5DF2\u5220\u9664`),0}async function yg(t){let e=me(t.args,{valueFlags:[]}),s=e[0],r=e[1];if((!s||!r)&&g(t.ctx,"\u7F3A\u5C11\u53C2\u6570","\u7528\u6CD5: coder flow autopilot trigger-rotate-url <autopilot-id> <trigger-id> [--yes]",3),C(t),!t.args.includes("--yes"))return t.ctx.emit("\u6B64\u64CD\u4F5C\u5C06\u7ACB\u5373\u4F7F\u5F53\u524D webhook URL \u5931\u6548\u3002\u786E\u8BA4\u8BF7\u52A0 --yes"),10;let n=await x(t,"POST",`/api/autopilots/${encodeURIComponent(s)}/triggers/${encodeURIComponent(r)}/rotate-webhook-token`,{}),o=I(t,n)||{};return M(t.ctx,[["id",o.id||""],["webhook_url",o.webhook_url||""]],null,{labels:O}),0}async function _g(t){C(t);let e=_(t.args,"--url");e||g(t.ctx,"\u7F3A\u5C11 --url","\u7528\u6CD5: coder flow skill import --url <url> [--on-conflict fail|overwrite|rename|skip]",3);let s=_(t.args,"--on-conflict")||"fail";["fail","overwrite","rename","skip"].includes(s)||g(t.ctx,"--on-conflict \u987B\u4E3A fail / overwrite / rename / skip",null,3);let r=await x(t,"POST","/api/skills/import",{url:e,on_conflict:s}),n=I(t,r)||{};return M(t.ctx,[["id",n.id||n.skill?.id||""],["name",n.name||n.skill?.name||""],["status",n.status||"created"]],null,{labels:O}),0}async function wg(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11\u641C\u7D22\u8BCD","\u7528\u6CD5: coder flow skill search <query>",3),C(t);let s=await x(t,"GET",`/api/skills/search?q=${encodeURIComponent(e)}`),r=I(t,s)||{},n=Array.isArray(r)?r:r.results||[];return F(t.ctx,n.map(o=>({name:o.name||"",url:o.url||"",source:o.source||"",description:o.description||""})),{labels:O,empty:"\u65E0\u5339\u914D skill"}),0}async function bg(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 skill \u6807\u8BC6","\u7528\u6CD5: coder flow skill files list <skill-id>",3),C(t);let s=await x(t,"GET",`/api/skills/${encodeURIComponent(e)}/files`),r=I(t,s)||{},n=Array.isArray(r)?r:r.files||[];return F(t.ctx,n.map(o=>({id:o.id||"",path:o.path||"",updated_at:o.updated_at||""})),{labels:O,empty:"\u65E0\u6587\u4EF6"}),0}async function kg(t){let e=t.arg,s=_(t.args,"--path"),r=_(t.args,"--content");e||g(t.ctx,"\u7F3A\u5C11 skill \u6807\u8BC6","\u7528\u6CD5: coder flow skill files upsert <skill-id> --path <p> --content <c>",3),s||g(t.ctx,"\u7F3A\u5C11 --path",null,3),r||g(t.ctx,"\u7F3A\u5C11 --content",null,3),C(t);let n=await x(t,"PUT",`/api/skills/${encodeURIComponent(e)}/files`,{path:s,content:r}),o=I(t,n)||{};return M(t.ctx,[["id",o.id||""],["path",o.path||s]],null,{labels:O}),0}async function xg(t){let e=me(t.args,{valueFlags:[]}),s=e[0],r=e[1];if((!s||!r)&&g(t.ctx,"\u7F3A\u5C11\u53C2\u6570","\u7528\u6CD5: coder flow skill files delete <skill-id> <file-id>",3),C(t),!t.args.includes("--yes"))return t.ctx.emit(`\u5C06\u5220\u9664 skill file ${r}\uFF08\u9AD8\u5F71\u54CD\uFF09\u3002\u786E\u8BA4\u8BF7\u52A0 --yes`),10;let n=await x(t,"DELETE",`/api/skills/${encodeURIComponent(s)}/files/${encodeURIComponent(r)}`);return I(t,n),t.ctx.emit(t.ctx.isJson?{deleted:r}:`skill file ${r} \u5DF2\u5220\u9664`),0}async function Ba(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 runtime \u6807\u8BC6","\u7528\u6CD5: coder flow runtime get <id>",3),C(t);let s=new URLSearchParams;s.set("workspace_id",t.http.workspaceId);let r=await x(t,"GET",`/api/runtimes?${s.toString()}`),n=I(t,r)||{},i=(Array.isArray(n)?n:n.runtimes||[]).find(c=>c.id===e||c.name===e);i||g(t.ctx,`runtime \u4E0D\u5B58\u5728: ${e}`,null,4);let a=["id","name","status","provider","device_info","runtime_mode","visibility","last_seen_at","created_at"];return M(t.ctx,Is(i,a),null,{labels:O}),0}async function Ig(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 runtime \u6807\u8BC6","\u7528\u6CD5: coder flow runtime usage <id> [--days <n>]",3),C(t);let s=_(t.args,"--days")||"90",r=await x(t,"GET",`/api/runtimes/${encodeURIComponent(e)}/usage?days=${s}`),n=I(t,r)||{},o=Array.isArray(n)?n:n.usage||[];return F(t.ctx,o.map(i=>({date:i.date||"",provider:i.provider||"",model:i.model||"",input_tokens:String(i.input_tokens??""),output_tokens:String(i.output_tokens??"")})),{labels:O,empty:"\u65E0\u7528\u91CF\u6570\u636E"}),0}async function Cg(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 runtime \u6807\u8BC6","\u7528\u6CD5: coder flow runtime activity <id>",3),C(t);let s=await x(t,"GET",`/api/runtimes/${encodeURIComponent(e)}/activity`),r=I(t,s)||{},n=Array.isArray(r)?r:r.activity||[];return F(t.ctx,n.map(o=>({hour:o.hour||"",count:String(o.count??"")})),{labels:O,empty:"\u65E0\u6D3B\u52A8\u6570\u636E"}),0}async function $g(t){let e=t.arg,s=_(t.args,"--target-version");e||g(t.ctx,"\u7F3A\u5C11 runtime \u6807\u8BC6","\u7528\u6CD5: coder flow runtime initiate-update <id> --target-version <v>",3),s||g(t.ctx,"\u7F3A\u5C11 --target-version",null,3),C(t);let r=await x(t,"POST",`/api/runtimes/${encodeURIComponent(e)}/update`,{target_version:s}),n=I(t,r)||{};return M(t.ctx,[["id",n.id||""],["status",n.status||""]],null,{labels:O}),0}async function Sg(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 runtime \u6807\u8BC6","\u7528\u6CD5: coder flow runtime models <id>",3),C(t);let s=await x(t,"POST",`/api/runtimes/${encodeURIComponent(e)}/models`,{}),n=(I(t,s)||{}).id;n||g(t.ctx,"\u670D\u52A1\u7AEF\u672A\u8FD4\u56DE request id",null,1);let o=9e4,i=2e3,a=Date.now()+o,c;for(;Date.now()<a;){await new Promise(h=>setTimeout(h,i));let d=await x(t,"GET",`/api/runtimes/${encodeURIComponent(e)}/models/${encodeURIComponent(n)}`),u=I(t,d)||{},f=u.status;if(f==="completed"){c=u;break}(f==="failed"||f==="timeout")&&g(t.ctx,`\u83B7\u53D6\u6A21\u578B\u5217\u8868\u5931\u8D25: ${u.error||f}`,null,1)}if(c||g(t.ctx,"\u83B7\u53D6\u6A21\u578B\u5217\u8868\u8D85\u65F6\uFF08runtime \u672A\u54CD\u5E94\uFF09",null,1),!c.supported)return t.ctx.emit(t.ctx.isJson?{supported:!1,models:[]}:"\u8BE5 runtime \u4E0D\u652F\u6301\u6A21\u578B\u9009\u62E9"),0;let l=c.models||[];return t.ctx.isJson?(t.ctx.emit({supported:!0,models:l}),0):(F(t.ctx,l.map(d=>({id:d.id||"",label:d.label||"",provider:d.provider||"",default:d.default?"\u2713":"",thinking:d.thinking?(d.thinking.supported_levels||[]).join(","):""})),{labels:{id:"Model ID",label:"\u540D\u79F0",provider:"Provider",default:"\u9ED8\u8BA4",thinking:"Thinking"},empty:"\u65E0\u53EF\u7528\u6A21\u578B"}),0)}async function Tg(t){C(t);let e=await x(t,"GET","/api/workspaces"),s=I(t,e)||{},r=Array.isArray(s)?s:s.workspaces||[];return F(t.ctx,r.map(n=>({id:n.id||"",name:n.name||"",slug:n.slug||""})),{labels:O,empty:"\u65E0 workspace"}),0}async function Fa(t){C(t);let e=t.arg||t.http.workspaceId,s=await x(t,"GET",`/api/workspaces/${encodeURIComponent(e)}`),r=I(t,s)||{};return M(t.ctx,[["id",r.id||""],["name",r.name||""],["slug",r.slug||""],["description",r.description||""]],null,{labels:O}),0}async function Ag(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 workspace id/slug","\u7528\u6CD5: coder flow workspace switch <id|slug>",3),C(t);let s=await x(t,"GET",`/api/workspaces/${encodeURIComponent(e)}`),r=I(t,s)||{};return t.ctx.setTeam&&t.ctx.setTeam(r.id,r.name||""),t.ctx.emit(t.ctx.isJson?r:`\u5DF2\u5207\u6362\u5230 workspace: ${r.name||r.id}`),0}async function Eg(t){let e=t.arg||t.http.workspaceId;C(t);let s={},r=_(t.args,"--name"),n=_(t.args,"--description"),o=_(t.args,"--context"),i=_(t.args,"--issue-prefix");r!==void 0&&(s.name=r),n!==void 0&&(s.description=n),o!==void 0&&(s.context=o),i!==void 0&&(s.issue_prefix=i),Object.keys(s).length||g(t.ctx,"\u672A\u63D0\u4F9B\u4EFB\u4F55\u5B57\u6BB5","--name / --description / --context / --issue-prefix",3);let a=await x(t,"PATCH",`/api/workspaces/${encodeURIComponent(e)}`,s),c=I(t,a)||{};return M(t.ctx,[["id",c.id||""],["name",c.name||""],["slug",c.slug||""]],null,{labels:O}),0}async function Og(t){let e=t.arg||t.http.workspaceId;C(t);let s=await x(t,"GET",`/api/workspaces/${encodeURIComponent(e)}/members`),r=I(t,s)||{},n=Array.isArray(r)?r:r.members||[];return F(t.ctx,n.map(o=>({id:o.id||"",name:o.name||o.username||"",role:o.role||""})),{labels:O,empty:"\u65E0\u6210\u5458"}),0}async function Ug(t){C(t);let e=await x(t,"GET",`/api/workspaces/${t.http.workspaceId}/repos`),s=I(t,e)||{},r=Array.isArray(s)?s:s.repos||s.repositories||[];return F(t.ctx,r.map(n=>({url:n.url||"",description:n.description||""})),{labels:O,empty:"\u65E0 repo"}),0}async function Dg(t){C(t);let e=me(t.args,{valueFlags:["--description"]}),s=_(t.args,"--description");e.length||g(t.ctx,"\u7F3A\u5C11 repo URL","\u7528\u6CD5: coder flow repo add <url> [<url>...]",3);let r=e.map(i=>s&&e.length===1?{url:i,description:s}:{url:i}),n=await x(t,"POST",`/api/workspaces/${t.http.workspaceId}/repos`,{repos:r}),o=I(t,n)||{};return t.ctx.emit(t.ctx.isJson?o:`${e.length} \u4E2A repo \u5DF2\u6DFB\u52A0`),0}async function Ga(t){C(t);let e=me(t.args,{valueFlags:[]});e.length||g(t.ctx,"\u7F3A\u5C11 repo URL","\u7528\u6CD5: coder flow repo remove <url> [<url>...]",3);let s=await x(t,"DELETE",`/api/workspaces/${t.http.workspaceId}/repos`,{urls:e}),r=I(t,s)||{};return t.ctx.emit(t.ctx.isJson?r:`${e.length} \u4E2A repo \u5DF2\u79FB\u9664`),0}async function vg(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 repo URL","\u7528\u6CD5: coder flow repo checkout <url> [--ref <branch>]",3),C(t);let s={url:e},r=_(t.args,"--ref");r&&(s.ref=r);let n=await x(t,"POST",`/api/workspaces/${t.http.workspaceId}/repos/checkout`,s),o=I(t,n)||{};return M(t.ctx,[["path",o.path||""],["url",e]],null,{labels:O}),0}async function Pg(t){C(t);let e=await x(t,"GET","/api/me"),s=I(t,e)||{};return M(t.ctx,[["id",s.id||""],["name",s.name||s.display_name||""],["email",s.email||""],["description",s.description||s.profile_description||""]],null,{labels:O}),0}async function Rg(t){C(t);let e={},s=_(t.args,"--description");t.args.includes("--clear")?e.profile_description="":s!==void 0?e.profile_description=s:g(t.ctx,"\u672A\u63D0\u4F9B\u4EFB\u4F55\u5B57\u6BB5","--description <text> \u6216 --clear",3);let n=await x(t,"PATCH","/api/me",e),o=I(t,n)||{};return M(t.ctx,[["id",o.id||""],["description",o.description||o.profile_description||""]],null,{labels:O}),0}async function jg(t){let e=me(t.args,{valueFlags:["--url","--ref","--label","--position","--default-branch-hint","--local-path","--daemon-id","--ref-label"]}),s=e[0],r=e[1];(!s||!r)&&g(t.ctx,"\u7F3A\u5C11\u53C2\u6570","\u7528\u6CD5: coder flow project resource update <project-id> <resource-id> [--url <u>] [--label <l>]",3),C(t);let n={},o=_(t.args,"--url"),i=_(t.args,"--ref"),a=_(t.args,"--label"),c=_(t.args,"--position");if(i)try{n.resource_ref=JSON.parse(i)}catch{g(t.ctx,"--ref \u4E0D\u662F\u6709\u6548 JSON",null,3)}else if(o){n.resource_ref={url:o};let u=_(t.args,"--default-branch-hint");u&&(n.resource_ref.default_branch_hint=u)}a!==void 0&&(n.label=a),c!==void 0&&(n.position=Number(c)),Object.keys(n).length||g(t.ctx,"\u672A\u63D0\u4F9B\u4EFB\u4F55\u5B57\u6BB5","--url / --ref / --label / --position",3);let l=await x(t,"PUT",`/api/projects/${encodeURIComponent(s)}/resources/${encodeURIComponent(r)}`,n),d=I(t,l)||{};return M(t.ctx,[["id",d.id||""],["resource_type",d.resource_type||""],["label",d.label||""]],null,{labels:O}),0}async function Wa(t){let{spawn:e}=require("child_process"),{checkHealth:s}=Zt(),{daemonLogPath:r,writePid:n}=It(),{loadConfig:o}=Or(),i=require("fs"),a=require("path");if(t.args.includes("--foreground")){let{DaemonProcess:ee}=Na(),Z=Mg(t),V=o(Z);V.token=t.ctx.getApiKey?t.ctx.getApiKey():null,V.coderBaseUrl=t.ctx.baseUrl||V.coderBaseUrl;let X=Cs=>process.stderr.write(Cs+`
|
|
495
|
-
`);n(process.pid);let
|
|
493
|
+
`}function Ff(t,e){let s=e.project_id||"",r=e.project_resources||[];if(!s&&!r.length)return;let n=Y.join(t,".multica","project");z.mkdirSync(n,{recursive:!0});let o={project_id:s,project_title:e.project_title||"",resources:r.length?r:[]},i=Y.join(n,"resources.json");z.existsSync(i)||z.writeFileSync(i,JSON.stringify(o,null,2),"utf8")}function Gf(t){if(!t.gcEnabled)return;let e=t.workspacesRoot;if(!z.existsSync(e))return;let s=Date.now(),r;try{r=z.readdirSync(e)}catch{return}for(let n of r){if(n===".repos")continue;let o=Y.join(e,n),i;try{i=z.readdirSync(o)}catch{continue}for(let a of i){let c=Y.join(o,a),l=Y.join(c,".gc_meta.json");try{let d=JSON.parse(z.readFileSync(l,"utf8"));d.completed_at&&s-d.completed_at>t.gcTtl&&z.rmSync(c,{recursive:!0,force:!0})}catch{}}}}function Vf(t,{status:e,taskId:s}){try{z.writeFileSync(Y.join(t,".gc_meta.json"),JSON.stringify({task_id:s,status:e,completed_at:Date.now()}),"utf8")}catch{}}function Jf(t,e){if(!e.keepEnvAfterTask)try{z.rmSync(t,{recursive:!0,force:!0})}catch{}}Ca.exports={taskPaths:Af,prepareWorkdir:Ef,writeSkillFiles:Of,writeIssueContext:Lf,writeProjectResources:Ff,runGc:Gf,writeGcMeta:Vf,cleanupWorkdir:Jf}});var Aa=$((q_,Ta)=>{var{spawn:zf}=require("child_process"),{injectRuntimeConfig:Kf,cleanupRuntimeConfig:$a}=ga(),{buildPrompt:Wf}=xa(),{taskPaths:Hf,prepareWorkdir:Yf,writeSkillFiles:Xf,writeIssueContext:Qf,writeProjectResources:eh,writeGcMeta:Sa,cleanupWorkdir:th}=qr(),sh=new Set(["HOME","PATH","USER","SHELL","CODEX_HOME"]);async function rh(t,e,s,r,n=0){let{rootDir:o,workDir:i}=Hf(t,s);r(`[task ${s.id}] start (slot=${n})`);try{await e.taskStart(s.id)}catch(S){r(`[task ${s.id}] taskStart failed: ${S.message}`)}try{Yf(i),Xf(i,s),Qf(i,s),eh(i,s),Kf(i,s)}catch(S){r(`[task ${s.id}] workdir prep failed: ${S.message}`),await Nr(e,s.id,`workdir preparation failed: ${S.message}`);return}let a=Wf(s),c=s.auth_token||t.token||"",l=nh(t,s,c,n),{cmd:d,args:u}=oh(t,s);r(`[task ${s.id}] spawn ${d} ${u.join(" ")}`);let f=null,h=null,y=[],A={seq:0,pendingText:"",pendingThinking:"",callIdToTool:{},sessionId:null,finalOutput:""};try{f=await ih({cmd:d,args:u,cwd:i,env:l,prompt:a,taskId:s.id},{onLine:S=>{let M=ah(S,A);if(A.sessionId&&!h&&(h=A.sessionId,e.taskSession(s.id,{sessionId:h,workDir:i}).catch(()=>{})),!M)return;let ee=Array.isArray(M)?M:[M];if(y.push(...ee),y.length>=20){let Z=y.splice(0);e.taskMessages(s.id,Z).catch(()=>{})}},agentTimeout:t.agentTimeout,log:r})}catch(S){r(`[task ${s.id}] agent error: ${S.message}`),$a(i),Sa(o,{status:"failed",taskId:s.id}),await Nr(e,s.id,S.message,h,i);return}let k=xs(A);k.length&&y.push(...k),y.length>0&&await e.taskMessages(s.id,y).catch(()=>{}),$a(i),Sa(o,{status:f===0?"completed":"failed",taskId:s.id}),th(o,t),f===0?(r(`[task ${s.id}] complete`),await e.taskComplete(s.id,{output:A.finalOutput,sessionId:h,workDir:i}).catch(()=>{})):(r(`[task ${s.id}] failed (exit ${f})`),await Nr(e,s.id,`agent exited with code ${f}`,h,i))}function nh(t,e,s,r){let n=Object.assign({},process.env);n.MULTICA_TOKEN=s,n.MULTICA_SERVER_URL=t.serverUrl,n.MULTICA_DAEMON_PORT=String(t.healthPort||19514),n.MULTICA_WORKSPACE_ID=e.workspace_id||"",n.MULTICA_AGENT_NAME=e.agent?.name||"",n.MULTICA_AGENT_ID=e.agent_id||e.agent?.id||"",n.MULTICA_TASK_ID=e.id,n.MULTICA_TASK_SLOT=String(r),e.autopilot_run_id&&(n.MULTICA_AUTOPILOT_RUN_ID=e.autopilot_run_id);let o=require("path").dirname(require("path").resolve(process.argv[1]));o&&!n.PATH.startsWith(o)&&(n.PATH=`${o}:${n.PATH}`);let i=e.agent?.custom_env||{};for(let[a,c]of Object.entries(i))a.startsWith("MULTICA_")||sh.has(a)||(n[a]=c);return e.agent?.model&&(n.ANTHROPIC_MODEL=e.agent.model),n}function oh(t,e){return(e.agent?.provider||"claude")==="codex"?{cmd:t.codexPath,args:["agent","codex"]}:{cmd:t.claudePath,args:["agent","claude","--output-format","stream-json","--print","--verbose","--dangerously-skip-permissions"]}}function ih({cmd:t,args:e,cwd:s,env:r,prompt:n,taskId:o,agentTimeout:i},{onLine:a,log:c}){return new Promise((l,d)=>{let u=zf(t,e,{cwd:s,env:r,stdio:["pipe","pipe","pipe"]}),f=null;i>0&&(f=setTimeout(()=>{c(`[task ${o}] agent timeout after ${i}ms`),u.kill("SIGTERM"),setTimeout(()=>u.kill("SIGKILL"),5e3)},i));let h="";u.stdout.on("data",y=>{h+=y.toString();let A=h.split(`
|
|
494
|
+
`);h=A.pop();for(let k of A)k.trim()&&a(k)}),u.stderr.on("data",y=>{let A=y.toString();A.trim()&&c(`[task ${o}] stderr: ${A.trimEnd()}`)}),u.on("error",y=>{f&&clearTimeout(f),d(y)}),u.on("close",y=>{f&&clearTimeout(f),h.trim()&&a(h),l(y||0)}),u.stdin.write(n),u.stdin.end()})}function ah(t,e){let s;try{s=JSON.parse(t)}catch{return null}if(!s||typeof s!="object")return null;let r=s.type;if(r==="system"&&s.session_id&&!e.sessionId&&(e.sessionId=s.session_id),r==="assistant"){let n=s.message||{},o=Array.isArray(n.content)?n.content:[];for(let i of o)if(i.type==="text"&&i.text)e.pendingText+=i.text;else if(i.type==="thinking"&&i.thinking)e.pendingThinking+=i.thinking;else if(i.type==="tool_use"){let a=xs(e),c=++e.seq;return a.push({seq:c,type:"tool_use",tool:i.name||"",input:i.input||{}}),i.id&&(e.callIdToTool[i.id]=i.name||""),a.length?a:null}return null}if(r==="tool_result"){let n=xs(e),o=++e.seq,i="",a=s.content;typeof a=="string"?i=a:Array.isArray(a)&&(i=a.map(l=>l.text||l.content||"").join("")),i.length>8192&&(i=i.slice(0,8192));let c=s.tool_name||(s.tool_use_id?e.callIdToTool[s.tool_use_id]:"")||"";return n.push({seq:o,type:"tool_result",tool:c,output:i}),n.length?n:null}if(r==="result"){let n=xs(e),o=++e.seq,i=s.result||s.content||"";return i&&(n.push({seq:o,type:"text",content:i}),e.finalOutput=i),n.length?n:null}return null}function xs(t){let e=[];return t.pendingThinking&&(e.push({seq:++t.seq,type:"thinking",content:t.pendingThinking}),t.pendingThinking=""),t.pendingText&&(e.push({seq:++t.seq,type:"text",content:t.pendingText}),t.pendingText=""),e}async function Nr(t,e,s,r,n){try{await t.taskFail(e,{error:s,sessionId:r,workDir:n})}catch{}}Ta.exports={runTask:rh}});var Oa=$((N_,Ea)=>{var{runTask:ch}=Aa(),Lr=class{constructor(e,s,r,n){this.cfg=e,this.client=s,this.runtimeId=r,this.log=n,this._running=!1,this._taskCount=0,this._slotCounter=0,this._abortController=null}get activeTaskCount(){return this._taskCount}start(e){this._running=!0,this._loop(e)}async _loop(e){for(;this._running&&(!e||!e.aborted);){try{if(this._taskCount<this.cfg.maxConcurrentTasks){let s=await this.client.claimTask(this.runtimeId);if(s){let r=this._slotCounter++;this._taskCount++,this._runTask(s,r).finally(()=>{this._taskCount--})}}}catch(s){this.log(`[poller ${this.runtimeId}] claim error: ${s.message}`)}await lh(dh(this.cfg.pollInterval||3e4))}}async _runTask(e,s){try{await ch(this.cfg,this.client,e,this.log,s)}catch(r){this.log(`[poller ${this.runtimeId}] task ${e.id} uncaught: ${r.message}`)}}stop(){this._running=!1}};function lh(t){return new Promise(e=>setTimeout(e,t))}function dh(t){return Math.max(1e3,t+(Math.random()-.5)*t*.2)}Ea.exports={Poller:Lr}});var Da=$((L_,Ua)=>{var uh=require("https"),ph=require("http"),{URL:mh}=require("url"),fh={claude:[{id:"claude-sonnet-4-6",label:"Claude Sonnet 4.6",provider:"anthropic",default:!0},{id:"claude-opus-4-8",label:"Claude Opus 4.8",provider:"anthropic"},{id:"claude-haiku-4-5-20251001",label:"Claude Haiku 4.5",provider:"anthropic"}],codex:[{id:"gpt-5.5",label:"GPT-5.5",provider:"openai",default:!0},{id:"o3",label:"o3",provider:"openai"}]};async function hh(t,e){let s=(t||"https://api.makecoder.com/v1").replace(/\/+$/,""),r=new mh(`${s}/claudeproxy/v1/models`),n=r.protocol==="http:"?ph:uh;return new Promise(o=>{let i={"Content-Type":"application/json"};e&&(i.Authorization=`Bearer ${e}`);let a=n.request({hostname:r.hostname,port:r.port||(r.protocol==="http:"?80:443),path:r.pathname+r.search,method:"GET",headers:i,timeout:5e3},c=>{let l="";c.on("data",d=>l+=d),c.on("end",()=>{try{let d=JSON.parse(l);if(d.code===0&&Array.isArray(d.data?.models)){let u=d.data.models.filter(f=>f.id).sort((f,h)=>f.id.localeCompare(h.id)).map((f,h)=>({id:f.id,label:f.name??f.id,provider:f.provider||"anthropic",...h===0?{default:!0}:{}}));o(u)}else o(null)}catch{o(null)}})});a.on("error",()=>o(null)),a.on("timeout",()=>{a.destroy(),o(null)}),a.end()})}async function gh(t,e,s,r,n,o){n(`[model-list] runtime=${e} request=${s} provider=${r}`);let i=null;if(r==="claude"&&(i=await hh(o||t.serverUrl,t.token),n(i?`[model-list] fetched ${i.length} models from API`:"[model-list] API unavailable, using fallback list")),i||(i=fh[r]||null),!i){await t.reportModelListResult(e,s,{status:"failed",error:`no model catalog for provider "${r}"`});return}try{await t.reportModelListResult(e,s,{status:"completed",models:i,supported:!0}),n(`[model-list] reported ${i.length} models for runtime=${e}`)}catch(a){n(`[model-list] report failed: ${a.message}`)}}Ua.exports={handleModelList:gh}});var Ra=$((M_,Pa)=>{var{handleModelList:yh}=Da(),Mr=class{constructor(e,s,r,n,o,i){this.cfg=e,this.client=s,this.getRuntimeIds=r,this.log=n,this.onRuntimeGone=o,this.getRuntimeProvider=i||(()=>"claude"),this._timer=null}start(e){let s=this.cfg.heartbeatInterval||15e3,r=async()=>{if(e&&e.aborted)return;let n=this.getRuntimeIds();for(let o of n)try{let i=await this.client.heartbeat(o);if(i&&i.runtime_gone&&(this.log(`[heartbeat] runtime ${o} gone, re-registering`),this.onRuntimeGone&&this.onRuntimeGone(o)),i&&i.pending_model_list){let a=this.getRuntimeProvider(o);yh(this.client,o,i.pending_model_list.id,a,this.log,this.cfg.coderBaseUrl).catch(c=>this.log(`[heartbeat] model-list error: ${c.message}`))}}catch(i){this.log(`[heartbeat] error for ${o}: ${i.message}`)}(!e||!e.aborted)&&(this._timer=setTimeout(r,va(s)))};this._timer=setTimeout(r,va(s))}stop(){this._timer&&(clearTimeout(this._timer),this._timer=null)}};function va(t){return Math.max(1e3,t+(Math.random()-.5)*t*.2)}Pa.exports={Heartbeat:Mr}});var Na=$((Z_,qa)=>{var ja=require("os"),{HealthServer:_h}=Zt(),{DaemonClient:wh}=ua(),{Poller:bh}=Oa(),{Heartbeat:kh}=Ra(),{loadOrCreateDaemonId:xh}=It(),{runGc:Ih}=qr(),Zr=class{constructor(e,s){this.cfg=e,this.log=s||console.error,this._runtimeIds=[],this._runtimeProviders={},this._pollers=[],this._heartbeat=null,this._health=null,this._client=null}async run(e){let s=this.cfg,r=e&&typeof e.abort=="function"?e:null,n=r?r.signal:e;this._health=new _h(s.healthPort||19514),this._health.setShutdown(()=>{r?r.abort():process.emit("SIGTERM")}),this._health.start();let o=xh(s.daemonId);this._health.daemonId=o,this._client=new wh(s.serverUrl,s.token,s.cliVersion||"dev"),this.log(`[daemon] id=${o} server=${s.serverUrl}`);let i=[];try{i=await this._client.getWorkspaces()}catch(c){this.log(`[daemon] getWorkspaces error: ${c.message}`)}this._health.workspaces=i.map(c=>c.id||c.name||"");let a={};for(let c of i)try{let d=((await this._client.register({workspaceId:c.id,daemonId:o,deviceName:s.deviceName||ja.hostname(),cliVersion:s.cliVersion||"dev",runtimes:[{name:s.runtimeName||`Claude (${ja.hostname()})`,type:"claude",version:s.cliVersion||"dev",status:"online"}]}))?.runtimes||[]).map(u=>u.id).filter(Boolean);for(let u of d)this._runtimeProviders[u]="claude";a[c.id]=d,this._runtimeIds.push(...d),this.log(`[daemon] registered workspace=${c.id} runtimes=${d.join(",")}`)}catch(l){this.log(`[daemon] register error workspace=${c.id}: ${l.message}`)}this._health.agents=this._runtimeIds.map(c=>`claude:${c}`),this._health.status="running",setImmediate(()=>Ih(s));for(let c of this._runtimeIds){let l=new bh(s,this._client,c,this.log);this._pollers.push(l),l.start(n)}this._heartbeat=new kh(s,this._client,()=>this._runtimeIds,this.log,c=>this._handleRuntimeGone(c),c=>this._runtimeProviders[c]||"claude"),this._heartbeat.start(n),this.log("[daemon] running"),await Ch(n),this.log("[daemon] shutting down"),this._heartbeat.stop();for(let c of this._pollers)c.stop();if(this._runtimeIds.length)try{await this._client.deregister(this._runtimeIds),this.log(`[daemon] deregistered ${this._runtimeIds.length} runtime(s)`)}catch(c){this.log(`[daemon] deregister error: ${c.message}`)}this._health.close(),this.log("[daemon] stopped")}async _handleRuntimeGone(e){let s=this._runtimeIds.indexOf(e);s!==-1&&this._runtimeIds.splice(s,1),delete this._runtimeProviders[e];let r=this._pollers.findIndex(n=>n.runtimeId===e);r!==-1&&(this._pollers[r].stop(),this._pollers.splice(r,1)),this.log(`[daemon] runtime ${e} removed; will re-register on next cycle`)}};function Ch(t){return new Promise(e=>{if(!t){process.once("SIGINT",e),process.once("SIGTERM",e);return}if(t.aborted)return e();t.addEventListener("abort",e,{once:!0})})}qa.exports={DaemonProcess:Zr}});var Qa=$((B_,Xa)=>{var{emitTable:F,emitDetails:L}=ta(),{abort:g,send:x,ensureOk:I,flag:_,positionals:fe,requireWorkspaceId:C}=na();function za(t,{full:e=!1,actors:s=null}={}){let r=t.assignee||(t.assignee_id?`${t.assignee_type||""}:${t.assignee_id}`:""),n=r;if(s&&r){let o=r.indexOf(":"),i=o!==-1?r.slice(o+1):r,a=s.get(i);a&&(n=a.name)}return{key:t.key||t.identifier||"",...e?{id:t.id||""}:{},title:t.title||"",status:t.status||"",priority:t.priority||"",assignee:n}}async function Ka(t,e){let s=await x(t,"GET","/api/agents"),r=I(t,s)||{},n=Array.isArray(r)?r:r.agents||[],o=String(e).toLowerCase(),i=n.find(a=>a.id===e||(a.slug||"").toLowerCase()===o||(a.name||"").toLowerCase()===o);return i||g(t.ctx,`agent '${e}' \u4E0D\u5B58\u5728`,"\u8FD0\u884C coder flow agent list \u67E5\u770B\u53EF\u7528 agent",4),i.id}var O={id:"ID",key:"Key",name:"\u540D\u79F0",slug:"Slug",title:"\u6807\u9898",status:"\u72B6\u6001",priority:"\u4F18\u5148\u7EA7",assignee:"\u8D1F\u8D23\u4EBA",description:"\u63CF\u8FF0",current:"\u5F53\u524D",start_date:"\u5F00\u59CB\u65E5\u671F",due_date:"\u622A\u6B62\u65E5\u671F",created_at:"\u521B\u5EFA\u65F6\u95F4",updated_at:"\u66F4\u65B0\u65F6\u95F4",author:"\u4F5C\u8005",content:"\u5185\u5BB9",agent:"Agent",deleted:"\u5DF2\u5220\u9664"},de={status:{backlog:"\u5F85\u89C4\u5212",todo:"\u5F85\u529E",in_progress:"\u8FDB\u884C\u4E2D",in_review:"\u8BC4\u5BA1\u4E2D",done:"\u5DF2\u5B8C\u6210",cancelled:"\u5DF2\u53D6\u6D88",open:"\u5F00\u653E",closed:"\u5DF2\u5173\u95ED",active:"\u6D3B\u8DC3",inactive:"\u505C\u7528",archived:"\u5DF2\u5F52\u6863",planned:"\u89C4\u5212\u4E2D",started:"\u5DF2\u542F\u52A8",on_hold:"\u6401\u7F6E",idle:"\u7A7A\u95F2",busy:"\u5FD9\u788C",running:"\u8FD0\u884C\u4E2D",queued:"\u6392\u961F\u4E2D",pending:"\u7B49\u5F85\u4E2D",paused:"\u5DF2\u6682\u505C",stopped:"\u5DF2\u505C\u6B62",completed:"\u5DF2\u5B8C\u6210",failed:"\u5931\u8D25",success:"\u6210\u529F",error:"\u9519\u8BEF"},priority:{none:"\u65E0",low:"\u4F4E",medium:"\u4E2D",high:"\u9AD8",urgent:"\u7D27\u6025"}};async function Fr(t,e,s){if(t.ctx.isJson||!s)return null;let r=await t.http.getWorkspaceSlug();return r?`${t.http.baseUrl}/${r}/${e}/${s}`:null}async function Gr(t,e,s){if(t.ctx.isJson)return null;let r=await t.http.getWorkspaceSlug();return r?s.map(n=>n&&n.id?`${t.http.baseUrl}/${r}/${e}/${n.id}`:null):null}async function $h(t){C(t);let e=new URLSearchParams;e.set("workspace_id",t.http.workspaceId);let s=_(t.args,"--status"),r=_(t.args,"--priority"),n=_(t.args,"--limit"),o=_(t.args,"--offset");s&&e.set("status",s),r&&e.set("priority",r),n&&e.set("limit",n),o&&e.set("offset",o);let i=t.args.includes("--full-id"),[a,c]=await Promise.all([x(t,"GET",`/api/issues?${e.toString()}`),t.ctx.isJson?Promise.resolve(null):t.http.getActorLookup()]),l=I(t,a)||{},d=Array.isArray(l)?l:l.issues||[],u=await Gr(t,"issues",d),f=c?d.map(h=>{let y=h.assignee||(h.assignee_id?`${h.assignee_type||""}:${h.assignee_id}`:"");if(!y)return null;let A=y.indexOf(":"),k=A!==-1?y.slice(A+1):y;return c.get(k)?.url||null}):null;return F(t.ctx,d.map(h=>za(h,{full:i,actors:c})),{labels:O,values:de,linkCol:"key",rowLinks:u,colLinks:f?{col:"assignee",links:f}:void 0,empty:"\u65E0 issue"}),0}async function La(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue get <id|KEY>",3),C(t);let[s,r]=await Promise.all([x(t,"GET",`/api/issues/${encodeURIComponent(e)}`),t.ctx.isJson?Promise.resolve(null):t.http.getActorLookup()]),n=I(t,s)||{},o=await Fr(t,"issues",n.id),i=n.assignee||(n.assignee_id?`${n.assignee_type||""}:${n.assignee_id}`:""),a=i,c=null;if(r&&i){let l=i.indexOf(":"),d=l!==-1?i.slice(l+1):i,u=r.get(d);u&&(a=u.name,c=u.url)}return L(t.ctx,[["key",n.key||n.identifier||""],["id",n.id||""],["title",n.title||""],["status",n.status||""],["priority",n.priority||""],["assignee",a],["start_date",n.start_date||""],["due_date",n.due_date||""],["description",n.description||""]],null,{labels:O,values:de,link:o?{key:"key",url:o}:null,fieldLinks:c?{assignee:c}:null}),0}async function Sh(t){let e=C(t),s=_(t.args,"--title");s||g(t.ctx,"\u7F3A\u5C11 --title","\u7528\u6CD5: coder flow issue create --title <t>",3);let r={workspace_id:e,title:s},n=_(t.args,"--description"),o=_(t.args,"--priority"),i=_(t.args,"--status"),a=_(t.args,"--project"),c=_(t.args,"--agent")||_(t.args,"--assignee");n!==void 0&&(r.description=n),o!==void 0&&(r.priority=o),i!==void 0&&(r.status=i),a!==void 0&&(r.project_id=a),c!==void 0&&(r.assignee_type="agent",r.assignee_id=await Ka(t,c));let l=await x(t,"POST","/api/issues",r),d=I(t,l)||{};return L(t.ctx,[["key",d.key||d.identifier||""],["id",d.id||""],["title",d.title||s],["status",d.status||""]],null,{labels:O,values:de}),0}async function Vr(t,e,s,r){let n=await x(t,"PUT",`/api/issues/${encodeURIComponent(e)}`,s),o=I(t,n)||{},i=await Fr(t,"issues",o.id);return L(t.ctx,r(o),null,{labels:O,values:de,link:i?{key:"key",url:i}:null}),0}async function Th(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue update <id|KEY> ...",3),C(t);let s={},r=_(t.args,"--title"),n=_(t.args,"--description"),o=_(t.args,"--priority"),i=_(t.args,"--status");return r!==void 0&&(s.title=r),n!==void 0&&(s.description=n),o!==void 0&&(s.priority=o),i!==void 0&&(s.status=i),Object.keys(s).length||g(t.ctx,"\u672A\u63D0\u4F9B\u4EFB\u4F55\u66F4\u65B0\u5B57\u6BB5","\u81F3\u5C11\u7ED9\u4E00\u4E2A --title/--description/--priority/--status",3),Vr(t,e,s,a=>[["key",a.key||a.identifier||e],["title",a.title||""],["status",a.status||""],["priority",a.priority||""]])}async function Ah(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue status <id|KEY> --set <status>",3);let s=_(t.args,"--set")||_(t.args,"--status");return s||g(t.ctx,"\u7F3A\u5C11 --set <status>","\u7528\u6CD5: coder flow issue status <id|KEY> --set <status>",3),C(t),Vr(t,e,{status:s},r=>[["key",r.key||r.identifier||e],["status",r.status||s]])}async function Eh(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue assign <id|KEY> --agent <slug>",3),C(t);let s=_(t.args,"--agent")||_(t.args,"--to"),r=t.args.includes("--unassign"),n;return r?n={assignee_type:null,assignee_id:null}:(s||g(t.ctx,"\u7F3A\u5C11 --agent <slug>","\u6216\u7528 --unassign \u53D6\u6D88\u6307\u6D3E",3),n={assignee_type:"agent",assignee_id:await Ka(t,s)}),Vr(t,e,n,o=>[["key",o.key||o.identifier||e],["status",o.status||""],["assignee",o.assignee_id?`${o.assignee_type||""}:${o.assignee_id}`:""]])}async function Oh(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11\u641C\u7D22\u5173\u952E\u8BCD","\u7528\u6CD5: coder flow issue search <query>",3),C(t);let s=new URLSearchParams;s.set("q",e),s.set("workspace_id",t.http.workspaceId);let r=_(t.args,"--limit");r&&s.set("limit",r),t.args.includes("--include-closed")&&s.set("include_closed","true");let n=await x(t,"GET",`/api/issues/search?${s.toString()}`),o=I(t,n)||{},i=Array.isArray(o)?o:o.issues||[],a=await Gr(t,"issues",i);return F(t.ctx,i.map(c=>za(c)),{labels:O,values:de,linkCol:"key",rowLinks:a,empty:"\u65E0\u5339\u914D issue"}),0}async function Uh(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue comment list <id|KEY>",3),C(t);let s=await x(t,"GET",`/api/issues/${encodeURIComponent(e)}/comments`),r=I(t,s)||{},n=Array.isArray(r)?r:r.comments||[];return F(t.ctx,n.map(o=>({id:o.id||"",author:o.author_id||o.user_id||"",created_at:o.created_at||"",content:o.content||""})),{labels:O,empty:"\u65E0\u8BC4\u8BBA"}),0}async function Dh(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue comment add <id|KEY> --content <text>",3),C(t);let s=_(t.args,"--content")||_(t.args,"--body");s||g(t.ctx,"\u7F3A\u5C11 --content",null,3);let r={content:s},n=_(t.args,"--parent");n&&(r.parent_id=n);let o=await x(t,"POST",`/api/issues/${encodeURIComponent(e)}/comments`,r),i=I(t,o)||{};return L(t.ctx,[["id",i.id||""],["content",i.content||s]],null,{labels:O}),0}async function vh(t){let e=fe(t.args,{valueFlags:[]}),s=e[0],r=e[1];(!s||!r)&&g(t.ctx,"\u7F3A\u5C11\u53C2\u6570","\u7528\u6CD5: coder flow issue comment delete <issue-id> <comment-id>",3),C(t);let n=await x(t,"DELETE",`/api/issues/${encodeURIComponent(s)}/comments/${encodeURIComponent(r)}`);return I(t,n),t.ctx.emit(t.ctx.isJson?{deleted:r}:`\u8BC4\u8BBA ${r} \u5DF2\u5220\u9664`),0}async function Ph(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue subscriber list <id|KEY>",3),C(t);let s=await x(t,"GET",`/api/issues/${encodeURIComponent(e)}/subscribers`),r=I(t,s)||{},n=Array.isArray(r)?r:r.subscribers||[];return F(t.ctx,n.map(o=>({id:o.id||"",name:o.name||"",type:o.type||""})),{labels:O,empty:"\u65E0\u8BA2\u9605\u8005"}),0}async function Rh(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue subscriber add <id|KEY> [--user <name>]",3),C(t);let s={},r=_(t.args,"--user-id"),n=_(t.args,"--user");r?s.user_id=r:n&&(s.user=n);let o=await x(t,"POST",`/api/issues/${encodeURIComponent(e)}/subscribers`,s),i=I(t,o)||{};return t.ctx.emit(t.ctx.isJson?i:`\u5DF2\u8BA2\u9605 issue ${e}`),0}async function jh(t){let s=fe(t.args,{valueFlags:["--user-id","--user"]})[0];s||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue subscriber remove <id|KEY>",3),C(t);let r={},n=_(t.args,"--user-id"),o=_(t.args,"--user");n?r.user_id=n:o&&(r.user=o);let i=await x(t,"DELETE",`/api/issues/${encodeURIComponent(s)}/subscribers`,r);return I(t,i),t.ctx.emit(t.ctx.isJson?{unsubscribed:!0}:`\u5DF2\u53D6\u6D88\u8BA2\u9605 issue ${s}`),0}async function qh(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue pull-requests <id|KEY>",3),C(t);let s=await x(t,"GET",`/api/issues/${encodeURIComponent(e)}/pull-requests`),r=I(t,s)||{},n=Array.isArray(r)?r:r.pull_requests||[];return F(t.ctx,n.map(o=>({id:o.id||"",title:o.title||"",url:o.url||"",status:o.status||""})),{labels:O,empty:"\u65E0\u5173\u8054 PR"}),0}async function Nh(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 task-id","\u7528\u6CD5: coder flow issue run-messages <task-id> [--since <seq>]",3),C(t);let s=new URLSearchParams,r=_(t.args,"--issue"),n=_(t.args,"--since");r&&s.set("issue_id",r),n&&s.set("since",n);let o=s.toString(),i=await x(t,"GET",`/api/tasks/${encodeURIComponent(e)}/messages${o?"?"+o:""}`),a=I(t,i)||{},c=Array.isArray(a)?a:a.messages||[];return t.ctx.isJson?(t.ctx.emit(c),0):(F(t.ctx,c.map(l=>({seq:String(l.seq??l.sequence??""),type:l.type||l.role||"",content:(l.content||l.output||"").slice(0,100)})),{labels:{seq:"Seq",type:"\u7C7B\u578B",content:"\u5185\u5BB9"},empty:"\u65E0\u6D88\u606F"}),0)}async function Lh(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 task-id","\u7528\u6CD5: coder flow issue cancel-task <task-id>",3),C(t);let s={},r=_(t.args,"--issue");r&&(s.issue_id=r);let n=await x(t,"POST",`/api/tasks/${encodeURIComponent(e)}/cancel`,s),o=I(t,n)||{};return L(t.ctx,[["id",o.id||e],["status",o.status||""]],null,{labels:O}),0}async function Mh(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue runs <id|KEY>",3),C(t);let s=await x(t,"GET",`/api/issues/${encodeURIComponent(e)}/task-runs`),r=I(t,s)||{},n=Array.isArray(r)?r:r.runs||r.tasks||[];return F(t.ctx,n.map(o=>({id:o.id||"",status:o.status||"",agent:o.agent_id||o.assignee_id||"",created_at:o.created_at||""})),{labels:O,values:de,empty:"\u65E0\u4EFB\u52A1\u5386\u53F2"}),0}async function Zh(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue rerun <id|KEY>",3),C(t);let s=await x(t,"POST",`/api/issues/${encodeURIComponent(e)}/rerun`,{}),r=I(t,s)||{};return L(t.ctx,[["id",r.id||""],["status",r.status||""]],null,{labels:O,values:de}),0}function Bt(t,e){return e.map(s=>[s,t[s]??""])}function Ct(t,e,s,{webPath:r=null,linkCol:n=null}={}){return async o=>{C(o);let i=new URLSearchParams;i.set("workspace_id",o.http.workspaceId);let a=await x(o,"GET",`/api/${t}?${i.toString()}`),c=I(o,a)||{},l=Array.isArray(c)?c:c[e]||[],d=r?await Gr(o,r,l):null;return F(o.ctx,l.map(u=>{let f={};for(let h of s)f[h]=u[h]??"";return f}),{labels:O,values:de,linkCol:n,rowLinks:d,empty:`\u65E0 ${t}`}),0}}function Ie(t,e,{webPath:s=null,linkCol:r=null}={}){return async n=>{let o=n.arg;o||g(n.ctx,`\u7F3A\u5C11 ${t} \u6807\u8BC6`,"\u7528\u6CD5: coder flow ... get <id>",3),C(n);let i=await x(n,"GET",`/api/${t}/${encodeURIComponent(o)}`),a=I(n,i)||{},c=s?await Fr(n,s,a.id):null;return L(n.ctx,Bt(a,e),null,{labels:O,values:de,link:c&&r?{key:r,url:c}:null}),0}}function Is(t){return async e=>{let s=e.arg;if(s||g(e.ctx,`\u7F3A\u5C11 ${t} \u6807\u8BC6`,"\u7528\u6CD5: coder flow ... delete <id>",3),C(e),!e.args.includes("--yes"))return e.ctx.emit(`\u5C06\u5220\u9664 ${t}/${s}\uFF08\u9AD8\u5F71\u54CD\uFF09\u3002\u786E\u8BA4\u8BF7\u52A0 --yes`),10;let r=await x(e,"DELETE",`/api/${t}/${encodeURIComponent(s)}`);return I(e,r),e.ctx.emit(e.ctx.isJson?{deleted:s}:`\u5DF2\u5220\u9664 ${s}`),0}}function Oe(t,e,s,r,{withWorkspace:n=!1,idArg:o=!1}={}){return async i=>{let a=C(i),c=`/api/${t}`;if(o){let h=i.arg;h||g(i.ctx,`\u7F3A\u5C11 ${t} \u6807\u8BC6`,"\u7528\u6CD5: coder flow ... <verb> <id> ...",3),c+=`/${encodeURIComponent(h)}`}let l={};n&&(l.workspace_id=a);for(let[h,y]of s){let A=_(i.args,`--${h}`);A!==void 0&&(l[y]=A)}Object.keys(l).filter(h=>h!=="workspace_id").length||g(i.ctx,"\u672A\u63D0\u4F9B\u4EFB\u4F55\u5B57\u6BB5",`\u7ED9\u51FA ${s.map(h=>"--"+h[0]).join(" / ")}`,3);let u=await x(i,e,c,l),f=I(i,u)||{};return L(i.ctx,Bt(f,r),null,{labels:O,values:de}),0}}function Br(t,e,s){return async r=>{let n=r.arg;n||g(r.ctx,`\u7F3A\u5C11 ${t} \u6807\u8BC6`,`\u7528\u6CD5: coder flow ... ${e} <id>`,3),C(r);let o=await x(r,"POST",`/api/${t}/${encodeURIComponent(n)}/${e}`,{}),i=I(r,o)||{};return L(r.ctx,Bt(i,s),null,{labels:O,values:de}),0}}function Ma(t,e,s,r){return async n=>{let o=n.arg;o||g(n.ctx,`\u7F3A\u5C11 ${t} \u6807\u8BC6`,"\u7528\u6CD5: coder flow ... <verb> <id>",3),C(n);let i=await x(n,"GET",`/api/${t}/${encodeURIComponent(o)}/${e}`),a=I(n,i)||{},c=Array.isArray(a)?a:a[s]||[];return F(n.ctx,c.map(l=>{let d={};for(let u of r)d[u]=l[u]??"";return d}),{labels:O,values:de,empty:"\uFF08\u7A7A\uFF09"}),0}}async function Bh(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue label list <id|KEY>",3),C(t);let s=await x(t,"GET",`/api/issues/${encodeURIComponent(e)}/labels`),r=I(t,s)||{},n=Array.isArray(r)?r:r.labels||[];return F(t.ctx,n.map(o=>({id:o.id||"",name:o.name||"",color:o.color||""})),{labels:O,empty:"\u65E0\u6807\u7B7E"}),0}async function Fh(t){let e=fe(t.args,{valueFlags:[]}),s=e[0],r=e[1];(!s||!r)&&g(t.ctx,"\u7F3A\u5C11\u53C2\u6570","\u7528\u6CD5: coder flow issue label add <issue-id> <label-id>",3),C(t);let n=await x(t,"POST",`/api/issues/${encodeURIComponent(s)}/labels`,{label_id:r}),o=I(t,n)||{},i=Array.isArray(o)?o:o.labels||[];return F(t.ctx,i.map(a=>({id:a.id||"",name:a.name||"",color:a.color||""})),{labels:O,empty:"\u65E0\u6807\u7B7E"}),0}async function Gh(t){let e=fe(t.args,{valueFlags:[]}),s=e[0],r=e[1];(!s||!r)&&g(t.ctx,"\u7F3A\u5C11\u53C2\u6570","\u7528\u6CD5: coder flow issue label remove <issue-id> <label-id>",3),C(t);let n=await x(t,"DELETE",`/api/issues/${encodeURIComponent(s)}/labels/${encodeURIComponent(r)}`);return I(t,n),t.ctx.emit(t.ctx.isJson?{removed:r}:`\u6807\u7B7E ${r} \u5DF2\u4ECE issue ${s} \u79FB\u9664`),0}async function Vh(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue metadata list <id|KEY>",3),C(t);let s=await x(t,"GET",`/api/issues/${encodeURIComponent(e)}/metadata`),r=I(t,s)||{},n=r.metadata||r||{};if(t.ctx.isJson)return t.ctx.emit(n),0;let o=Object.entries(n).map(([i,a])=>({key:i,value:String(a),type:typeof a}));return F(t.ctx,o,{labels:O,empty:"\u65E0 metadata"}),0}async function Jh(t){let e=t.arg,s=_(t.args,"--key");e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue metadata get <id|KEY> --key <key>",3),s||g(t.ctx,"\u7F3A\u5C11 --key","\u7528\u6CD5: coder flow issue metadata get <id|KEY> --key <key>",3),C(t);let r=await x(t,"GET",`/api/issues/${encodeURIComponent(e)}/metadata`),n=I(t,r)||{},o=n.metadata||n||{};s in o||g(t.ctx,`metadata key '${s}' \u4E0D\u5B58\u5728`,null,4);let i=o[s];return t.ctx.isJson?(t.ctx.emit(i),0):(L(t.ctx,[["key",s],["value",String(i)],["type",typeof i]],null,{labels:O}),0)}async function zh(t){let e=t.arg,s=_(t.args,"--key"),r=_(t.args,"--value"),n=_(t.args,"--type");e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue metadata set <id|KEY> --key <k> --value <v>",3),s||g(t.ctx,"\u7F3A\u5C11 --key",null,3),r===void 0&&g(t.ctx,"\u7F3A\u5C11 --value",null,3),C(t);let o=r;if(!n||n==="auto")try{o=JSON.parse(r)}catch{o=r}else n==="string"?o=r:n==="number"?(o=Number(r),Number.isNaN(o)&&g(t.ctx,`'${r}' \u4E0D\u662F\u6709\u6548\u6570\u5B57`,null,3)):n==="bool"&&(r!=="true"&&r!=="false"&&g(t.ctx,`'${r}' \u4E0D\u662F\u6709\u6548\u5E03\u5C14\uFF08true/false\uFF09`,null,3),o=r==="true");let i=await x(t,"PUT",`/api/issues/${encodeURIComponent(e)}/metadata/${encodeURIComponent(s)}`,{value:o}),a=I(t,i)||{},c=a.metadata||a||{};if(t.ctx.isJson)return t.ctx.emit(c),0;let l=Object.entries(c).map(([d,u])=>({key:d,value:String(u),type:typeof u}));return F(t.ctx,l,{labels:O,empty:"\uFF08\u7A7A\uFF09"}),0}async function Kh(t){let e=t.arg,s=_(t.args,"--key");e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue metadata delete <id|KEY> --key <k>",3),s||g(t.ctx,"\u7F3A\u5C11 --key",null,3),C(t);let r=await x(t,"DELETE",`/api/issues/${encodeURIComponent(e)}/metadata/${encodeURIComponent(s)}`);return I(t,r),t.ctx.emit(t.ctx.isJson?{deleted:s}:`metadata key '${s}' \u5DF2\u5220\u9664`),0}async function Wh(t){let e=t.arg;if(e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow issue delete <id|KEY> [--yes]",3),C(t),!t.args.includes("--yes"))return t.ctx.emit(`\u5C06\u5220\u9664 issue/${e}\uFF08\u9AD8\u5F71\u54CD\uFF09\u3002\u786E\u8BA4\u8BF7\u52A0 --yes`),10;let s=await x(t,"DELETE",`/api/issues/${encodeURIComponent(e)}`);return I(t,s),t.ctx.emit(t.ctx.isJson?{deleted:e}:`issue ${e} \u5DF2\u5220\u9664`),0}async function Hh(t){C(t);let e=new URLSearchParams({workspace_id:t.http.workspaceId}),s=await x(t,"GET",`/api/labels?${e.toString()}`),r=I(t,s)||{},n=Array.isArray(r)?r:r.labels||[];return F(t.ctx,n.map(o=>({id:o.id||"",name:o.name||"",color:o.color||"",created_at:o.created_at||""})),{labels:O,empty:"\u65E0 label"}),0}async function Za(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 label id","\u7528\u6CD5: coder flow label get <id>",3),C(t);let s=await x(t,"GET",`/api/labels/${encodeURIComponent(e)}`),r=I(t,s)||{};return L(t.ctx,[["id",r.id||""],["name",r.name||""],["color",r.color||""],["created_at",r.created_at||""]],null,{labels:O}),0}async function Yh(t){let e=_(t.args,"--name"),s=_(t.args,"--color");e||g(t.ctx,"\u7F3A\u5C11 --name","\u7528\u6CD5: coder flow label create --name <n> --color <#hex>",3),s||g(t.ctx,"\u7F3A\u5C11 --color\uFF08\u683C\u5F0F: #3b82f6\uFF09",null,3),C(t);let r=await x(t,"POST","/api/labels",{name:e,color:s}),n=I(t,r)||{};return L(t.ctx,[["id",n.id||""],["name",n.name||""],["color",n.color||""]],null,{labels:O}),0}async function Xh(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 label id","\u7528\u6CD5: coder flow label update <id> [--name <n>] [--color <#>]",3),C(t);let s={},r=_(t.args,"--name"),n=_(t.args,"--color");r!==void 0&&(s.name=r),n!==void 0&&(s.color=n),Object.keys(s).length||g(t.ctx,"\u672A\u63D0\u4F9B\u4EFB\u4F55\u5B57\u6BB5","--name / --color",3);let o=await x(t,"PUT",`/api/labels/${encodeURIComponent(e)}`,s),i=I(t,o)||{};return L(t.ctx,[["id",i.id||""],["name",i.name||""],["color",i.color||""]],null,{labels:O}),0}async function Qh(t){let e=t.arg;if(e||g(t.ctx,"\u7F3A\u5C11 label id","\u7528\u6CD5: coder flow label delete <id> [--yes]",3),C(t),!t.args.includes("--yes"))return t.ctx.emit(`\u5C06\u5220\u9664 label/${e}\uFF08\u9AD8\u5F71\u54CD\uFF09\u3002\u786E\u8BA4\u8BF7\u52A0 --yes`),10;let s=await x(t,"DELETE",`/api/labels/${encodeURIComponent(e)}`);return I(t,s),t.ctx.emit(t.ctx.isJson?{deleted:e}:`label ${e} \u5DF2\u5220\u9664`),0}async function eg(t){let e=C(t),s=_(t.args,"--name");s||g(t.ctx,"--name \u662F\u5FC5\u586B\u9879",null,3);let r=_(t.args,"--runtime-id");r||g(t.ctx,"--runtime-id \u662F\u5FC5\u586B\u9879",null,3);let n={workspace_id:e,name:s,runtime_id:r};for(let[c,l]of[["description","description"],["instructions","instructions"],["model","model"],["thinking-level","thinking_level"],["visibility","visibility"],["max-concurrent-tasks","max_concurrent_tasks"]]){let d=_(t.args,`--${c}`);d!==void 0&&(n[l]=d)}let o=await x(t,"POST","/api/agents",n),i=I(t,o)||{},a=_(t.args,"--skill-ids");if(a&&i.id){let c=a.split(",").map(l=>l.trim()).filter(Boolean);if(c.length){let l=await x(t,"PUT",`/api/agents/${encodeURIComponent(i.id)}/skills`,{skill_ids:c});I(t,l)}}return L(t.ctx,Bt(i,["id","name","model","runtime_id"]),null,{labels:O,values:de}),0}async function tg(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 agent \u6807\u8BC6","\u7528\u6CD5: coder flow agent skills list <id>",3),C(t);let s=await x(t,"GET",`/api/agents/${encodeURIComponent(e)}/skills`),r=I(t,s)||{},n=Array.isArray(r)?r:r.skills||[];return F(t.ctx,n.map(o=>({id:o.id||"",name:o.name||"",description:o.description||""})),{labels:O,empty:"\u65E0 skill"}),0}async function sg(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 agent \u6807\u8BC6","\u7528\u6CD5: coder flow agent skills add <agent-id> --skill-ids <id1,id2>",3),C(t);let s=(_(t.args,"--skill-ids")||"").split(",").map(o=>o.trim()).filter(Boolean);s.length||g(t.ctx,"\u7F3A\u5C11 --skill-ids",null,3);let r=await x(t,"POST",`/api/agents/${encodeURIComponent(e)}/skills/add`,{skill_ids:s}),n=I(t,r)||{};return t.ctx.emit(t.ctx.isJson?n:`skill \u5DF2\u6DFB\u52A0\u5230 agent ${e}`),0}async function rg(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 agent \u6807\u8BC6","\u7528\u6CD5: coder flow agent skills set <agent-id> --skill-ids <id1,id2>",3),C(t);let s=_(t.args,"--skill-ids")||"",r=s?s.split(",").map(i=>i.trim()).filter(Boolean):[],n=await x(t,"PUT",`/api/agents/${encodeURIComponent(e)}/skills`,{skill_ids:r}),o=I(t,n)||{};return t.ctx.emit(t.ctx.isJson?o:`agent ${e} \u7684 skill \u5DF2\u66F4\u65B0`),0}async function ng(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 agent \u6807\u8BC6","\u7528\u6CD5: coder flow agent env get <id>",3),C(t);let s=await x(t,"GET",`/api/agents/${encodeURIComponent(e)}/env`),r=I(t,s)||{},n=r.env||r||{};if(t.ctx.isJson)return t.ctx.emit(n),0;let o=Object.entries(n).map(([i,a])=>({key:i,value:String(a)}));return F(t.ctx,o,{labels:O,empty:"\u65E0\u73AF\u5883\u53D8\u91CF"}),0}async function og(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 agent \u6807\u8BC6",`\u7528\u6CD5: coder flow agent env set <id> --custom-env '{"KEY":"val"}'`,3),C(t);let s=_(t.args,"--custom-env");s||g(t.ctx,"\u7F3A\u5C11 --custom-env\uFF08JSON \u5BF9\u8C61\uFF09",null,3);let r;try{r=JSON.parse(s)}catch{g(t.ctx,"--custom-env \u4E0D\u662F\u6709\u6548 JSON",null,3)}let n=await x(t,"PUT",`/api/agents/${encodeURIComponent(e)}/env`,{env:r}),o=I(t,n)||{};return t.ctx.emit(t.ctx.isJson?o:`agent ${e} \u7684\u73AF\u5883\u53D8\u91CF\u5DF2\u66F4\u65B0`),0}async function ig(t){let e=t.arg,s=_(t.args,"--set")||_(t.args,"--status");e||g(t.ctx,"\u7F3A\u5C11 project \u6807\u8BC6","\u7528\u6CD5: coder flow project status <id> --set <status>",3),s||g(t.ctx,"\u7F3A\u5C11 --set <status>",null,3),C(t);let r=await x(t,"PUT",`/api/projects/${encodeURIComponent(e)}`,{status:s}),n=I(t,r)||{};return L(t.ctx,[["id",n.id||""],["title",n.title||""],["status",n.status||""]],null,{labels:O}),0}async function ag(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 project \u6807\u8BC6","\u7528\u6CD5: coder flow project resource list <project-id>",3),C(t);let s=await x(t,"GET",`/api/projects/${encodeURIComponent(e)}/resources`),r=I(t,s)||{},n=Array.isArray(r)?r:r.resources||[];return F(t.ctx,n.map(o=>({id:o.id||"",resource_type:o.resource_type||"",label:o.label||""})),{labels:O,empty:"\u65E0\u8D44\u6E90"}),0}async function cg(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 project \u6807\u8BC6","\u7528\u6CD5: coder flow project resource add <project-id> --type <t> --url <u>",3),C(t);let s=_(t.args,"--type")||"github_repo",r=_(t.args,"--url"),n=_(t.args,"--local-path"),o=_(t.args,"--daemon-id"),i=_(t.args,"--label"),a;if(s==="github_repo"){r||g(t.ctx,"github_repo \u9700\u8981 --url",null,3),a={url:r};let u=_(t.args,"--default-branch-hint");u&&(a.default_branch_hint=u)}else s==="local_directory"?((!n||!o)&&g(t.ctx,"local_directory \u9700\u8981 --local-path \u548C --daemon-id",null,3),a={local_path:n,daemon_id:o}):g(t.ctx,`\u672A\u77E5 resource type '${s}'\uFF1B\u652F\u6301: github_repo, local_directory`,null,3);let c={resource_type:s,resource_ref:a};i&&(c.label=i);let l=await x(t,"POST",`/api/projects/${encodeURIComponent(e)}/resources`,c),d=I(t,l)||{};return L(t.ctx,[["id",d.id||""],["resource_type",d.resource_type||""]],null,{labels:O}),0}async function lg(t){let e=fe(t.args,{valueFlags:[]}),s=e[0],r=e[1];(!s||!r)&&g(t.ctx,"\u7F3A\u5C11\u53C2\u6570","\u7528\u6CD5: coder flow project resource remove <project-id> <resource-id>",3),C(t);let n=await x(t,"DELETE",`/api/projects/${encodeURIComponent(s)}/resources/${encodeURIComponent(r)}`);return I(t,n),t.ctx.emit(t.ctx.isJson?{removed:r}:`resource ${r} \u5DF2\u4ECE project ${s} \u79FB\u9664`),0}async function dg(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 squad \u6807\u8BC6","\u7528\u6CD5: coder flow squad member list <squad-id>",3),C(t);let s=await x(t,"GET",`/api/squads/${encodeURIComponent(e)}/members`),r=I(t,s)||{},n=Array.isArray(r)?r:r.members||[];return F(t.ctx,n.map(o=>({member_id:o.member_id||"",member_type:o.member_type||"",role:o.role||""})),{labels:O,empty:"\u65E0\u6210\u5458"}),0}async function ug(t){let e=t.arg,s=_(t.args,"--member-id"),r=_(t.args,"--type")||"agent",n=_(t.args,"--role")||"member";e||g(t.ctx,"\u7F3A\u5C11 squad \u6807\u8BC6","\u7528\u6CD5: coder flow squad member add <squad-id> --member-id <id> [--type agent|member] [--role <r>]",3),s||g(t.ctx,"\u7F3A\u5C11 --member-id",null,3),C(t);let o={member_type:r,member_id:s,role:n},i=await x(t,"POST",`/api/squads/${encodeURIComponent(e)}/members`,o),a=I(t,i)||{};return t.ctx.emit(t.ctx.isJson?a:`\u6210\u5458 ${s} \u5DF2\u52A0\u5165 squad ${e}`),0}async function pg(t){let e=t.arg,s=_(t.args,"--member-id"),r=_(t.args,"--member-type")||"agent",n=_(t.args,"--role");e||g(t.ctx,"\u7F3A\u5C11 squad \u6807\u8BC6","\u7528\u6CD5: coder flow squad member set-role <squad-id> --member-id <id> --role <r>",3),s||g(t.ctx,"\u7F3A\u5C11 --member-id",null,3),n||g(t.ctx,"\u7F3A\u5C11 --role",null,3),C(t);let o={member_type:r,member_id:s,role:n},i=await x(t,"PATCH",`/api/squads/${encodeURIComponent(e)}/members/role`,o),a=I(t,i)||{};return t.ctx.emit(t.ctx.isJson?a:`\u6210\u5458 ${s} \u7684\u89D2\u8272\u5DF2\u66F4\u65B0\u4E3A ${n}`),0}async function mg(t){let e=t.arg,s=_(t.args,"--member-id"),r=_(t.args,"--type")||"agent";e||g(t.ctx,"\u7F3A\u5C11 squad \u6807\u8BC6","\u7528\u6CD5: coder flow squad member remove <squad-id> --member-id <id>",3),s||g(t.ctx,"\u7F3A\u5C11 --member-id",null,3),C(t);let n={member_type:r,member_id:s},o=await x(t,"DELETE",`/api/squads/${encodeURIComponent(e)}/members`,n);return I(t,o),t.ctx.emit(t.ctx.isJson?{removed:s}:`\u6210\u5458 ${s} \u5DF2\u4ECE squad ${e} \u79FB\u9664`),0}async function fg(t){let e=t.arg,s=t.args.find(i=>!i.startsWith("-")&&i!==e)||_(t.args,"--outcome");e||g(t.ctx,"\u7F3A\u5C11 issue \u6807\u8BC6","\u7528\u6CD5: coder flow squad activity <issue-id> <outcome> [--reason <r>]",3),(!s||!["action","no_action","failed"].includes(s))&&g(t.ctx,"outcome \u5FC5\u987B\u662F action / no_action / failed",null,3),C(t);let r=_(t.args,"--reason")||"",n=await x(t,"POST",`/api/issues/${encodeURIComponent(e)}/squad-evaluated`,{outcome:s,reason:r}),o=I(t,n)||{};return t.ctx.emit(t.ctx.isJson?o:`squad \u8BC4\u4F30\u5DF2\u8BB0\u5F55: ${s}\uFF08issue ${e}\uFF09`),0}async function hg(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 autopilot \u6807\u8BC6","\u7528\u6CD5: coder flow autopilot trigger-add <id> --kind schedule --cron '0 9 * * *'",3),C(t);let s=_(t.args,"--kind")||"schedule";s!=="schedule"&&s!=="webhook"&&g(t.ctx,"--kind \u987B\u4E3A schedule \u6216 webhook",null,3);let r={kind:s};if(s==="schedule"){let a=_(t.args,"--cron");a||g(t.ctx,"schedule trigger \u9700\u8981 --cron",null,3),r.cron_expression=a;let c=_(t.args,"--timezone");c&&(r.timezone=c)}let n=_(t.args,"--label");n&&(r.label=n);let o=await x(t,"POST",`/api/autopilots/${encodeURIComponent(e)}/triggers`,r),i=I(t,o)||{};return L(t.ctx,[["id",i.id||""],["kind",i.kind||""],["label",i.label||""]],null,{labels:O}),0}async function gg(t){let e=fe(t.args,{valueFlags:["--cron","--timezone","--label"]}),s=e[0],r=e[1];(!s||!r)&&g(t.ctx,"\u7F3A\u5C11\u53C2\u6570","\u7528\u6CD5: coder flow autopilot trigger-update <autopilot-id> <trigger-id> [--cron ...] [--enabled true|false]",3),C(t);let n={},o=_(t.args,"--cron"),i=_(t.args,"--timezone"),a=_(t.args,"--label"),c=_(t.args,"--enabled");o!==void 0&&(n.cron_expression=o),i!==void 0&&(n.timezone=i),a!==void 0&&(n.label=a),c!==void 0&&(n.enabled=c==="true"),Object.keys(n).length||g(t.ctx,"\u672A\u63D0\u4F9B\u4EFB\u4F55\u5B57\u6BB5","--cron / --timezone / --label / --enabled",3);let l=await x(t,"PATCH",`/api/autopilots/${encodeURIComponent(s)}/triggers/${encodeURIComponent(r)}`,n),d=I(t,l)||{};return L(t.ctx,[["id",d.id||""],["kind",d.kind||""]],null,{labels:O}),0}async function yg(t){let e=fe(t.args,{valueFlags:[]}),s=e[0],r=e[1];if((!s||!r)&&g(t.ctx,"\u7F3A\u5C11\u53C2\u6570","\u7528\u6CD5: coder flow autopilot trigger-delete <autopilot-id> <trigger-id>",3),C(t),!t.args.includes("--yes"))return t.ctx.emit(`\u5C06\u5220\u9664 trigger ${r}\uFF08\u9AD8\u5F71\u54CD\uFF09\u3002\u786E\u8BA4\u8BF7\u52A0 --yes`),10;let n=await x(t,"DELETE",`/api/autopilots/${encodeURIComponent(s)}/triggers/${encodeURIComponent(r)}`);return I(t,n),t.ctx.emit(t.ctx.isJson?{deleted:r}:`trigger ${r} \u5DF2\u5220\u9664`),0}async function _g(t){let e=fe(t.args,{valueFlags:[]}),s=e[0],r=e[1];if((!s||!r)&&g(t.ctx,"\u7F3A\u5C11\u53C2\u6570","\u7528\u6CD5: coder flow autopilot trigger-rotate-url <autopilot-id> <trigger-id> [--yes]",3),C(t),!t.args.includes("--yes"))return t.ctx.emit("\u6B64\u64CD\u4F5C\u5C06\u7ACB\u5373\u4F7F\u5F53\u524D webhook URL \u5931\u6548\u3002\u786E\u8BA4\u8BF7\u52A0 --yes"),10;let n=await x(t,"POST",`/api/autopilots/${encodeURIComponent(s)}/triggers/${encodeURIComponent(r)}/rotate-webhook-token`,{}),o=I(t,n)||{};return L(t.ctx,[["id",o.id||""],["webhook_url",o.webhook_url||""]],null,{labels:O}),0}async function wg(t){C(t);let e=_(t.args,"--url");e||g(t.ctx,"\u7F3A\u5C11 --url","\u7528\u6CD5: coder flow skill import --url <url> [--on-conflict fail|overwrite|rename|skip]",3);let s=_(t.args,"--on-conflict")||"fail";["fail","overwrite","rename","skip"].includes(s)||g(t.ctx,"--on-conflict \u987B\u4E3A fail / overwrite / rename / skip",null,3);let r=await x(t,"POST","/api/skills/import",{url:e,on_conflict:s}),n=I(t,r)||{};return L(t.ctx,[["id",n.id||n.skill?.id||""],["name",n.name||n.skill?.name||""],["status",n.status||"created"]],null,{labels:O}),0}async function bg(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11\u641C\u7D22\u8BCD","\u7528\u6CD5: coder flow skill search <query>",3),C(t);let s=await x(t,"GET",`/api/skills/search?q=${encodeURIComponent(e)}`),r=I(t,s)||{},n=Array.isArray(r)?r:r.results||[];return F(t.ctx,n.map(o=>({name:o.name||"",url:o.url||"",source:o.source||"",description:o.description||""})),{labels:O,empty:"\u65E0\u5339\u914D skill"}),0}async function kg(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 skill \u6807\u8BC6","\u7528\u6CD5: coder flow skill files list <skill-id>",3),C(t);let s=await x(t,"GET",`/api/skills/${encodeURIComponent(e)}/files`),r=I(t,s)||{},n=Array.isArray(r)?r:r.files||[];return F(t.ctx,n.map(o=>({id:o.id||"",path:o.path||"",updated_at:o.updated_at||""})),{labels:O,empty:"\u65E0\u6587\u4EF6"}),0}async function xg(t){let e=t.arg,s=_(t.args,"--path"),r=_(t.args,"--content");e||g(t.ctx,"\u7F3A\u5C11 skill \u6807\u8BC6","\u7528\u6CD5: coder flow skill files upsert <skill-id> --path <p> --content <c>",3),s||g(t.ctx,"\u7F3A\u5C11 --path",null,3),r||g(t.ctx,"\u7F3A\u5C11 --content",null,3),C(t);let n=await x(t,"PUT",`/api/skills/${encodeURIComponent(e)}/files`,{path:s,content:r}),o=I(t,n)||{};return L(t.ctx,[["id",o.id||""],["path",o.path||s]],null,{labels:O}),0}async function Ig(t){let e=fe(t.args,{valueFlags:[]}),s=e[0],r=e[1];if((!s||!r)&&g(t.ctx,"\u7F3A\u5C11\u53C2\u6570","\u7528\u6CD5: coder flow skill files delete <skill-id> <file-id>",3),C(t),!t.args.includes("--yes"))return t.ctx.emit(`\u5C06\u5220\u9664 skill file ${r}\uFF08\u9AD8\u5F71\u54CD\uFF09\u3002\u786E\u8BA4\u8BF7\u52A0 --yes`),10;let n=await x(t,"DELETE",`/api/skills/${encodeURIComponent(s)}/files/${encodeURIComponent(r)}`);return I(t,n),t.ctx.emit(t.ctx.isJson?{deleted:r}:`skill file ${r} \u5DF2\u5220\u9664`),0}async function Ba(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 runtime \u6807\u8BC6","\u7528\u6CD5: coder flow runtime get <id>",3),C(t);let s=new URLSearchParams;s.set("workspace_id",t.http.workspaceId);let r=await x(t,"GET",`/api/runtimes?${s.toString()}`),n=I(t,r)||{},i=(Array.isArray(n)?n:n.runtimes||[]).find(c=>c.id===e||c.name===e);i||g(t.ctx,`runtime \u4E0D\u5B58\u5728: ${e}`,null,4);let a=["id","name","status","provider","device_info","runtime_mode","visibility","last_seen_at","created_at"];return L(t.ctx,Bt(i,a),null,{labels:O}),0}async function Cg(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 runtime \u6807\u8BC6","\u7528\u6CD5: coder flow runtime usage <id> [--days <n>]",3),C(t);let s=_(t.args,"--days")||"90",r=await x(t,"GET",`/api/runtimes/${encodeURIComponent(e)}/usage?days=${s}`),n=I(t,r)||{},o=Array.isArray(n)?n:n.usage||[];return F(t.ctx,o.map(i=>({date:i.date||"",provider:i.provider||"",model:i.model||"",input_tokens:String(i.input_tokens??""),output_tokens:String(i.output_tokens??"")})),{labels:O,empty:"\u65E0\u7528\u91CF\u6570\u636E"}),0}async function $g(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 runtime \u6807\u8BC6","\u7528\u6CD5: coder flow runtime activity <id>",3),C(t);let s=await x(t,"GET",`/api/runtimes/${encodeURIComponent(e)}/activity`),r=I(t,s)||{},n=Array.isArray(r)?r:r.activity||[];return F(t.ctx,n.map(o=>({hour:o.hour||"",count:String(o.count??"")})),{labels:O,empty:"\u65E0\u6D3B\u52A8\u6570\u636E"}),0}async function Sg(t){let e=t.arg,s=_(t.args,"--target-version");e||g(t.ctx,"\u7F3A\u5C11 runtime \u6807\u8BC6","\u7528\u6CD5: coder flow runtime initiate-update <id> --target-version <v>",3),s||g(t.ctx,"\u7F3A\u5C11 --target-version",null,3),C(t);let r=await x(t,"POST",`/api/runtimes/${encodeURIComponent(e)}/update`,{target_version:s}),n=I(t,r)||{};return L(t.ctx,[["id",n.id||""],["status",n.status||""]],null,{labels:O}),0}async function Tg(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 runtime \u6807\u8BC6","\u7528\u6CD5: coder flow runtime models <id>",3),C(t);let s=await x(t,"POST",`/api/runtimes/${encodeURIComponent(e)}/models`,{}),n=(I(t,s)||{}).id;n||g(t.ctx,"\u670D\u52A1\u7AEF\u672A\u8FD4\u56DE request id",null,1);let o=9e4,i=2e3,a=Date.now()+o,c;for(;Date.now()<a;){await new Promise(h=>setTimeout(h,i));let d=await x(t,"GET",`/api/runtimes/${encodeURIComponent(e)}/models/${encodeURIComponent(n)}`),u=I(t,d)||{},f=u.status;if(f==="completed"){c=u;break}(f==="failed"||f==="timeout")&&g(t.ctx,`\u83B7\u53D6\u6A21\u578B\u5217\u8868\u5931\u8D25: ${u.error||f}`,null,1)}if(c||g(t.ctx,"\u83B7\u53D6\u6A21\u578B\u5217\u8868\u8D85\u65F6\uFF08runtime \u672A\u54CD\u5E94\uFF09",null,1),!c.supported)return t.ctx.emit(t.ctx.isJson?{supported:!1,models:[]}:"\u8BE5 runtime \u4E0D\u652F\u6301\u6A21\u578B\u9009\u62E9"),0;let l=c.models||[];return t.ctx.isJson?(t.ctx.emit({supported:!0,models:l}),0):(F(t.ctx,l.map(d=>({id:d.id||"",label:d.label||"",provider:d.provider||"",default:d.default?"\u2713":"",thinking:d.thinking?(d.thinking.supported_levels||[]).join(","):""})),{labels:{id:"Model ID",label:"\u540D\u79F0",provider:"Provider",default:"\u9ED8\u8BA4",thinking:"Thinking"},empty:"\u65E0\u53EF\u7528\u6A21\u578B"}),0)}async function Ag(t){C(t);let e=await x(t,"GET","/api/workspaces"),s=I(t,e)||{},r=Array.isArray(s)?s:s.workspaces||[];return F(t.ctx,r.map(n=>({id:n.id||"",name:n.name||"",slug:n.slug||""})),{labels:O,empty:"\u65E0 workspace"}),0}async function Fa(t){C(t);let e=t.arg||t.http.workspaceId,s=await x(t,"GET",`/api/workspaces/${encodeURIComponent(e)}`),r=I(t,s)||{};return L(t.ctx,[["id",r.id||""],["name",r.name||""],["slug",r.slug||""],["description",r.description||""]],null,{labels:O}),0}async function Eg(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 workspace id/slug","\u7528\u6CD5: coder flow workspace switch <id|slug>",3),C(t);let s=await x(t,"GET",`/api/workspaces/${encodeURIComponent(e)}`),r=I(t,s)||{};return t.ctx.setTeam&&t.ctx.setTeam(r.id,r.name||""),t.ctx.emit(t.ctx.isJson?r:`\u5DF2\u5207\u6362\u5230 workspace: ${r.name||r.id}`),0}async function Og(t){let e=t.arg||t.http.workspaceId;C(t);let s={},r=_(t.args,"--name"),n=_(t.args,"--description"),o=_(t.args,"--context"),i=_(t.args,"--issue-prefix");r!==void 0&&(s.name=r),n!==void 0&&(s.description=n),o!==void 0&&(s.context=o),i!==void 0&&(s.issue_prefix=i),Object.keys(s).length||g(t.ctx,"\u672A\u63D0\u4F9B\u4EFB\u4F55\u5B57\u6BB5","--name / --description / --context / --issue-prefix",3);let a=await x(t,"PATCH",`/api/workspaces/${encodeURIComponent(e)}`,s),c=I(t,a)||{};return L(t.ctx,[["id",c.id||""],["name",c.name||""],["slug",c.slug||""]],null,{labels:O}),0}async function Ug(t){let e=t.arg||t.http.workspaceId;C(t);let s=await x(t,"GET",`/api/workspaces/${encodeURIComponent(e)}/members`),r=I(t,s)||{},n=Array.isArray(r)?r:r.members||[];return F(t.ctx,n.map(o=>({id:o.id||"",name:o.name||o.username||"",role:o.role||""})),{labels:O,empty:"\u65E0\u6210\u5458"}),0}async function Dg(t){C(t);let e=await x(t,"GET",`/api/workspaces/${t.http.workspaceId}/repos`),s=I(t,e)||{},r=Array.isArray(s)?s:s.repos||s.repositories||[];return F(t.ctx,r.map(n=>({url:n.url||"",description:n.description||""})),{labels:O,empty:"\u65E0 repo"}),0}async function vg(t){C(t);let e=fe(t.args,{valueFlags:["--description"]}),s=_(t.args,"--description");e.length||g(t.ctx,"\u7F3A\u5C11 repo URL","\u7528\u6CD5: coder flow repo add <url> [<url>...]",3);let r=e.map(i=>s&&e.length===1?{url:i,description:s}:{url:i}),n=await x(t,"POST",`/api/workspaces/${t.http.workspaceId}/repos`,{repos:r}),o=I(t,n)||{};return t.ctx.emit(t.ctx.isJson?o:`${e.length} \u4E2A repo \u5DF2\u6DFB\u52A0`),0}async function Ga(t){C(t);let e=fe(t.args,{valueFlags:[]});e.length||g(t.ctx,"\u7F3A\u5C11 repo URL","\u7528\u6CD5: coder flow repo remove <url> [<url>...]",3);let s=await x(t,"DELETE",`/api/workspaces/${t.http.workspaceId}/repos`,{urls:e}),r=I(t,s)||{};return t.ctx.emit(t.ctx.isJson?r:`${e.length} \u4E2A repo \u5DF2\u79FB\u9664`),0}async function Pg(t){let e=t.arg;e||g(t.ctx,"\u7F3A\u5C11 repo URL","\u7528\u6CD5: coder flow repo checkout <url> [--ref <branch>]",3),C(t);let s={url:e},r=_(t.args,"--ref");r&&(s.ref=r);let n=await x(t,"POST",`/api/workspaces/${t.http.workspaceId}/repos/checkout`,s),o=I(t,n)||{};return L(t.ctx,[["path",o.path||""],["url",e]],null,{labels:O}),0}async function Rg(t){C(t);let e=await x(t,"GET","/api/me"),s=I(t,e)||{};return L(t.ctx,[["id",s.id||""],["name",s.name||s.display_name||""],["email",s.email||""],["description",s.description||s.profile_description||""]],null,{labels:O}),0}async function jg(t){C(t);let e={},s=_(t.args,"--description");t.args.includes("--clear")?e.profile_description="":s!==void 0?e.profile_description=s:g(t.ctx,"\u672A\u63D0\u4F9B\u4EFB\u4F55\u5B57\u6BB5","--description <text> \u6216 --clear",3);let n=await x(t,"PATCH","/api/me",e),o=I(t,n)||{};return L(t.ctx,[["id",o.id||""],["description",o.description||o.profile_description||""]],null,{labels:O}),0}async function qg(t){let e=fe(t.args,{valueFlags:["--url","--ref","--label","--position","--default-branch-hint","--local-path","--daemon-id","--ref-label"]}),s=e[0],r=e[1];(!s||!r)&&g(t.ctx,"\u7F3A\u5C11\u53C2\u6570","\u7528\u6CD5: coder flow project resource update <project-id> <resource-id> [--url <u>] [--label <l>]",3),C(t);let n={},o=_(t.args,"--url"),i=_(t.args,"--ref"),a=_(t.args,"--label"),c=_(t.args,"--position");if(i)try{n.resource_ref=JSON.parse(i)}catch{g(t.ctx,"--ref \u4E0D\u662F\u6709\u6548 JSON",null,3)}else if(o){n.resource_ref={url:o};let u=_(t.args,"--default-branch-hint");u&&(n.resource_ref.default_branch_hint=u)}a!==void 0&&(n.label=a),c!==void 0&&(n.position=Number(c)),Object.keys(n).length||g(t.ctx,"\u672A\u63D0\u4F9B\u4EFB\u4F55\u5B57\u6BB5","--url / --ref / --label / --position",3);let l=await x(t,"PUT",`/api/projects/${encodeURIComponent(s)}/resources/${encodeURIComponent(r)}`,n),d=I(t,l)||{};return L(t.ctx,[["id",d.id||""],["resource_type",d.resource_type||""],["label",d.label||""]],null,{labels:O}),0}async function Wa(t){let{spawn:e}=require("child_process"),{checkHealth:s}=Zt(),{daemonLogPath:r,writePid:n}=It(),{loadConfig:o}=Or(),i=require("fs"),a=require("path");if(t.args.includes("--foreground")){let{DaemonProcess:ee}=Na(),Z=Zg(t),V=o(Z);V.token=t.ctx.getApiKey?t.ctx.getApiKey():null,V.coderBaseUrl=t.ctx.baseUrl||V.coderBaseUrl;let X=Cs=>process.stderr.write(Cs+`
|
|
495
|
+
`);n(process.pid);let Ce=new AbortController;return process.once("SIGINT",()=>Ce.abort()),process.once("SIGTERM",()=>Ce.abort()),await new ee(V,X).run(Ce),0}let l=19514,d=await s(l);(d.status==="running"||d.status==="starting")&&g(t.ctx,`daemon \u5DF2\u5728\u8FD0\u884C (pid ${d.pid})`,"\u7528 coder flow daemon restart \u91CD\u542F",1);let u=process.argv[0],f=process.argv[1],h=["flow","daemon","start","--foreground",...t.args.filter(ee=>ee!=="--foreground")],y=r();i.mkdirSync(require("path").dirname(y),{recursive:!0});let A=i.openSync(y,"a"),k=e(u,[f,...h],{detached:!0,stdio:["ignore",A,A],env:Object.assign({},process.env,{CODER_APIKEY:t.ctx.getApiKey?t.ctx.getApiKey():process.env.CODER_APIKEY||""})});i.closeSync(A),k.unref(),n(k.pid);let S=Date.now()+45e3,M=!1;for(;Date.now()<S;)if(await Jr(500),(await s(l)).status==="running"){M=!0;break}return M?t.ctx.emit(`Daemon \u5DF2\u542F\u52A8 (pid ${k.pid})\u3002\u65E5\u5FD7: ${y}`):t.ctx.emit(`Daemon \u672A\u80FD\u5728 45s \u5185\u5C31\u7EEA\uFF0C\u68C0\u67E5\u65E5\u5FD7: ${y}`),0}async function Ha(t){let{checkHealth:e,requestShutdown:s}=Zt(),{removePid:r}=It(),n=await e();if(n.status!=="running"&&n.status!=="starting")return t.ctx.emit("Daemon \u672A\u8FD0\u884C"),0;try{await s()}catch{if(n.pid)try{process.kill(n.pid,"SIGTERM")}catch{}}let o=Date.now()+15e3;for(;Date.now()<o;){await Jr(500);let i=await e();if(i.status!=="running"&&i.status!=="starting")return r(),t.ctx.emit("Daemon \u5DF2\u505C\u6B62"),0}return t.ctx.emit("Daemon \u4ECD\u5728\u505C\u6B62\u4E2D\uFF08\u53EF\u80FD\u6709\u4EFB\u52A1\u5728\u6267\u884C\uFF09"),0}async function Ng(t){return await Ha(t),await Jr(1e3),Wa(t)}async function Va(t){let{checkHealth:e}=Zt(),{daemonLogPath:s}=It(),r=await e();return t.ctx.isJson?(t.ctx.emit(r),0):(r.status==="running"?(t.ctx.emit(`Daemon: \u8FD0\u884C\u4E2D (pid ${r.pid}, uptime ${r.uptime})`),Array.isArray(r.agents)&&r.agents.length&&t.ctx.emit(`Agents: ${r.agents.join(", ")}`),t.ctx.emit(`Workspaces: ${Array.isArray(r.workspaces)?r.workspaces.length:0}`)):r.status==="starting"?t.ctx.emit(`Daemon: \u542F\u52A8\u4E2D (pid ${r.pid})`):(t.ctx.emit("Daemon: \u672A\u8FD0\u884C"),t.ctx.emit(`\u65E5\u5FD7: ${s()}`)),0)}async function Lg(t){let e=require("fs"),{daemonLogPath:s}=It(),r=s();e.existsSync(r)||g(t.ctx,`\u65E5\u5FD7\u6587\u4EF6\u4E0D\u5B58\u5728: ${r}`,"\u5148\u542F\u52A8 daemon: coder flow daemon start",4);let n=t.args.includes("-f")||t.args.includes("--follow"),o=t.args.find((l,d)=>(l==="-n"||l==="--lines")&&t.args[d+1])&&t.args[t.args.findIndex(l=>l==="-n"||l==="--lines")+1]||"50",i=parseInt(o,10)||50,c=e.readFileSync(r,"utf8").split(`
|
|
496
496
|
`).filter(l=>l).slice(-i);for(let l of c)t.ctx.emit(l);if(n){let l=e.statSync(r).size,d=setInterval(()=>{let u=e.statSync(r);if(u.size>l){let f=Buffer.alloc(u.size-l),h=e.openSync(r,"r");e.readSync(h,f,0,f.length,l),e.closeSync(h),l=u.size,f.toString().split(`
|
|
497
|
-
`).forEach(y=>{y&&t.ctx.emit(y)})}},500);process.once("SIGINT",()=>clearInterval(d)),await new Promise(()=>{})}return 0}async function
|
|
498
|
-
Total: ${Ja(i)} across ${o.length} task(s)`),0}function Ya(t){let e=require("fs"),s=require("path"),r=0;try{for(let n of e.readdirSync(t,{withFileTypes:!0})){if(n.name===".git")continue;let o=s.join(t,n.name);if(n.isDirectory())r+=Ya(o);else if(n.isFile())try{r+=e.statSync(o).size}catch{}}}catch{}return r}function Ja(t){return t<1024?`${t} B`:t<1048576?`${(t/1024).toFixed(1)} KiB`:t<1073741824?`${(t/1048576).toFixed(1)} MiB`:`${(t/1073741824).toFixed(1)} GiB`}function
|
|
499
|
-
`))}function
|
|
500
|
-
`)):ec(t)}tc.exports={showHelp:ec,showResourceHelp:
|
|
501
|
-
`)),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"),n(o,s),await o.parseAsync(e,{from:"user"}),process.exitCode||0}};fc.exports=Kr});var
|
|
497
|
+
`).forEach(y=>{y&&t.ctx.emit(y)})}},500);process.once("SIGINT",()=>clearInterval(d)),await new Promise(()=>{})}return 0}async function Mg(t){let e=require("fs"),s=require("path"),r=require("os"),n=t.args.find((d,u)=>d==="--workspaces-root"&&t.args[u+1])&&t.args[t.args.findIndex(d=>d==="--workspaces-root")+1]||process.env.MULTICA_WORKSPACES_ROOT||s.join(r.homedir(),"multica_workspaces");if(!e.existsSync(n))return t.ctx.isJson?(t.ctx.emit({workspaces_root:n,total_bytes:0,tasks:[]}),0):(t.ctx.emit(`Workspaces root: ${n}`),t.ctx.emit("(no task directories)"),0);let o=[],i=0;for(let d of e.readdirSync(n)){if(d===".repos")continue;let u=s.join(n,d);if(e.statSync(u).isDirectory())for(let f of e.readdirSync(u)){let h=s.join(u,f);if(!e.statSync(h).isDirectory())continue;let y=Ya(h);i+=y,o.push({path:`${d}/${f}`,size:y})}}o.sort((d,u)=>u.size-d.size);let a=t.args[t.args.findIndex(d=>d==="--top")+1],c=a?parseInt(a,10):0,l=c>0?o.slice(0,c):o;if(t.ctx.isJson)return t.ctx.emit({workspaces_root:n,total_bytes:i,tasks:o}),0;if(t.ctx.emit(`Workspaces root: ${n}`),!l.length)return t.ctx.emit("(no task directories)"),0;for(let d of l)t.ctx.emit(` ${d.path.padEnd(40)} ${Ja(d.size)}`);return t.ctx.emit(`
|
|
498
|
+
Total: ${Ja(i)} across ${o.length} task(s)`),0}function Ya(t){let e=require("fs"),s=require("path"),r=0;try{for(let n of e.readdirSync(t,{withFileTypes:!0})){if(n.name===".git")continue;let o=s.join(t,n.name);if(n.isDirectory())r+=Ya(o);else if(n.isFile())try{r+=e.statSync(o).size}catch{}}}catch{}return r}function Ja(t){return t<1024?`${t} B`:t<1048576?`${(t/1024).toFixed(1)} KiB`:t<1073741824?`${(t/1048576).toFixed(1)} MiB`:`${(t/1073741824).toFixed(1)} GiB`}function Zg(t){let{parseDuration:e}=Or(),s={},r=n=>{let o=t.args.indexOf(n);return o!==-1?t.args[o+1]:void 0};return r("--daemon-id")&&(s.daemonId=r("--daemon-id")),r("--device-name")&&(s.deviceName=r("--device-name")),r("--runtime-name")&&(s.runtimeName=r("--runtime-name")),r("--poll-interval")&&(s.pollInterval=e(r("--poll-interval"),3e4)),r("--heartbeat-interval")&&(s.heartbeatInterval=e(r("--heartbeat-interval"),15e3)),r("--max-concurrent-tasks")&&(s.maxConcurrentTasks=parseInt(r("--max-concurrent-tasks"),10)),s}function Jr(t){return new Promise(e=>setTimeout(e,t))}async function Bg(t){let e=require("fs"),s=require("path"),r=t.arg;r||g(t.ctx,"\u7F3A\u5C11 attachment id","\u7528\u6CD5: coder flow attachment download <id> [-o <dir>]",3),C(t);let n=await x(t,"GET",`/api/attachments/${encodeURIComponent(r)}`),o=I(t,n)||{},i=o.download_url;i||g(t.ctx,"attachment \u65E0 download_url",null,4);let a=s.basename(o.filename||r),c=_(t.args,"-o")||_(t.args,"--output-dir")||".",l=s.join(c,a),d=await new Promise((f,h)=>{(i.startsWith("https")?require("https"):require("http")).get(i,A=>{let k=[];A.on("data",S=>k.push(S)),A.on("end",()=>f(Buffer.concat(k))),A.on("error",h)}).on("error",h)});e.mkdirSync(c,{recursive:!0}),e.writeFileSync(l,d);let u=s.resolve(l);return t.ctx.emit(t.ctx.isJson?{id:o.id||r,filename:a,path:u}:`\u5DF2\u4E0B\u8F7D: ${u}`),0}Xa.exports={LABELS:O,issue:{list:$h,get:La,info:La,create:Sh,update:Th,delete:Wh,status:Ah,assign:Eh,search:Oh,runs:Mh,rerun:Zh,"pull-requests":qh,"run-messages":Nh,"cancel-task":Lh,comment:{list:Uh,add:Dh,delete:vh},label:{list:Bh,add:Fh,remove:Gh},metadata:{list:Vh,get:Jh,set:zh,delete:Kh},subscriber:{list:Ph,add:Rh,remove:jh}},label:{list:Hh,get:Za,info:Za,create:Yh,update:Xh,delete:Qh},agent:{list:Ct("agents","agents",["id","name","status"],{webPath:"agents",linkCol:"name"}),get:Ie("agents",["id","name","status","description"],{webPath:"agents",linkCol:"name"}),info:Ie("agents",["id","name","status","description"],{webPath:"agents",linkCol:"name"}),create:eg,update:Oe("agents","PUT",[["name","name"],["description","description"],["instructions","instructions"],["runtime-id","runtime_id"],["model","model"],["thinking-level","thinking_level"],["visibility","visibility"],["max-concurrent-tasks","max_concurrent_tasks"]],["id","name","model","runtime_id"],{idArg:!0}),archive:Br("agents","archive",["id","name","status"]),restore:Br("agents","restore",["id","name","status"]),tasks:Ma("agents","tasks","tasks",["id","status","created_at"]),skills:{list:tg,add:sg,set:rg},env:{get:ng,set:og}},project:{list:Ct("projects","projects",["id","title","status"],{webPath:"projects",linkCol:"title"}),get:Ie("projects",["id","title","status","description"],{webPath:"projects",linkCol:"title"}),info:Ie("projects",["id","title","status","description"],{webPath:"projects",linkCol:"title"}),create:Oe("projects","POST",[["name","title"],["title","title"],["description","description"]],["id","title"],{withWorkspace:!0}),update:Oe("projects","PUT",[["name","title"],["title","title"],["description","description"],["status","status"]],["id","title"],{idArg:!0}),delete:Is("projects"),status:ig,resource:{list:ag,add:cg,update:qg,remove:lg}},squad:{list:Ct("squads","squads",["id","name"],{webPath:"squads",linkCol:"name"}),get:Ie("squads",["id","name","description"],{webPath:"squads",linkCol:"name"}),info:Ie("squads",["id","name","description"],{webPath:"squads",linkCol:"name"}),create:Oe("squads","POST",[["name","name"],["description","description"]],["id","name"],{withWorkspace:!0}),update:Oe("squads","PUT",[["name","name"],["description","description"]],["id","name"],{idArg:!0}),delete:Is("squads"),activity:fg,member:{list:dg,add:ug,remove:mg,"set-role":pg}},autopilot:{list:Ct("autopilots","autopilots",["id","title","status"],{webPath:"autopilots",linkCol:"title"}),get:Ie("autopilots",["id","title","status","description"],{webPath:"autopilots",linkCol:"title"}),info:Ie("autopilots",["id","title","status","description"],{webPath:"autopilots",linkCol:"title"}),create:Oe("autopilots","POST",[["name","title"],["title","title"],["description","description"]],["id","title"],{withWorkspace:!0}),update:Oe("autopilots","PUT",[["name","title"],["title","title"],["description","description"]],["id","title"],{idArg:!0}),delete:Is("autopilots"),runs:Ma("autopilots","runs","runs",["id","status","created_at"]),trigger:Br("autopilots","trigger",["id","status"]),"trigger-add":hg,"trigger-update":gg,"trigger-delete":yg,"trigger-rotate-url":_g},skill:{list:Ct("skills","skills",["id","name"],{webPath:"skills",linkCol:"name"}),get:Ie("skills",["id","name","description"],{webPath:"skills",linkCol:"name"}),info:Ie("skills",["id","name","description"],{webPath:"skills",linkCol:"name"}),create:Oe("skills","POST",[["name","name"],["description","description"]],["id","name"],{withWorkspace:!0}),update:Oe("skills","PUT",[["name","name"],["description","description"]],["id","name"],{idArg:!0}),delete:Is("skills"),import:wg,search:bg,files:{list:kg,upsert:xg,delete:Ig}},runtime:{list:Ct("runtimes","runtimes",["id","name","status"]),get:Ba,info:Ba,models:Tg,usage:Cg,activity:$g,update:Sg},workspace:{list:Ag,get:Fa,info:Fa,switch:Eg,update:Og,member:{list:Ug}},repo:{list:Dg,add:vg,remove:Ga,rm:Ga,checkout:Pg},user:{profile:{get:Rg,update:jg}},attachment:{download:Bg},daemon:{list:Va,start:Wa,stop:Ha,restart:Ng,status:Va,logs:Lg,"disk-usage":Mg}}});var sc=$((F_,tc)=>{function ec(t){let e=["USAGE"," coder flow <command> <subcommand> [flags]","","CORE COMMANDS"," agent: Work with agents"," autopilot: Manage autopilots (scheduled/triggered agent automations)"," issue: Work with issues"," label: Work with issue labels"," project: Work with projects"," repo: Work with repositories"," skill: Work with skills"," squad: Work with squads"," workspace: Work with workspaces","","RUNTIME COMMANDS"," daemon: Control the local agent runtime daemon"," runtime: Work with agent runtimes","","ADDITIONAL COMMANDS"," attachment: Work with attachments"," user: Work with your user account","","GLOBAL FLAGS"," --team <id> Specify team as workspace (default: coder team current)"," --workspace <id> Alias for --team"," --format json Structured JSON output (default: text)","","ENVIRONMENT VARIABLES"," MULTICA_BASE_URL Override the Multica server URL"," CODER_APIKEY API key (shared with coder auth)","","EXAMPLES"," $ coder team current # confirm current team (= multica workspace)"," $ coder flow issue list --format json"," $ coder flow issue get MUL-123"," $ coder flow agent list"," $ coder flow runtime list","","LEARN MORE"," Use `coder flow <command> --help` for more information about a command."];t.emit(e.join(`
|
|
499
|
+
`))}function Fg(t,e){let r={issue:["Work with issues","","USAGE"," coder flow issue <command> [flags]","","COMMANDS"," assign: Assign an issue to a member, agent, or squad"," cancel-task: Cancel a running or queued task"," comment: Work with issue comments"," create: Create a new issue"," delete: Delete an issue"," get: Get issue details"," label: Manage labels on an issue"," list: List issues in the workspace"," metadata: Manage per-issue metadata (KV)"," pull-requests: List pull requests linked to an issue"," rerun: Re-enqueue an issue as a fresh task"," run-messages: List messages for an execution"," runs: List execution history for an issue"," search: Search issues by title or description"," status: Change issue status"," subscriber: Work with issue subscribers"," update: Update an issue"],agent:["Work with agents","","USAGE"," coder flow agent <command> [flags]","","COMMANDS"," archive: Archive an agent"," create: Create a new agent"," env: Read and update an agent's custom environment variables (audited)"," get: Get agent details"," list: List agents in the workspace"," restore: Restore an archived agent"," skills: Manage agent skill assignments"," tasks: List tasks for an agent"," update: Update an agent","","FLAGS (create/update)"," --name <s> Agent name"," --description <s> Agent description"," --instructions <s> System instructions"," --runtime-id <uuid> Runtime to bind (required for create)"," --model <s> Model ID from the runtime's model list;"," run `coder flow runtime models <id>` to see available models."," Leave empty to use the runtime default."," --thinking-level <s> Thinking level (e.g. low/medium/high)"," --visibility <s> private (default) or workspace"," --max-concurrent-tasks <n> Max concurrent tasks (default 6)"," --skill-ids <id1,id2,...> Skill IDs to assign on create (comma-separated)","","SUBCOMMANDS (skills)"," skills list <agent-id> List skills assigned to agent"," skills add <agent-id> --skill-ids <id1,id2> Add skills (keeps existing)"," skills set <agent-id> --skill-ids <id1,id2> Replace all skills (pass empty to clear)"],project:["Work with projects","","USAGE"," coder flow project <command> [flags]","","COMMANDS"," create: Create a new project"," delete: Delete a project"," get: Get project details"," list: List projects in the workspace"," resource: Manage resources attached to a project"," status: Change project status"," update: Update a project"],label:["Work with issue labels","","USAGE"," coder flow label <command> [flags]","","COMMANDS"," create: Create a new label"," delete: Delete a label"," get: Get label details"," list: List labels in the workspace"," update: Update a label"],autopilot:["Manage autopilots (scheduled/triggered agent automations)","","USAGE"," coder flow autopilot <command> [flags]","","COMMANDS"," create: Create a new autopilot"," delete: Delete an autopilot"," get: Get autopilot details (includes triggers)"," list: List autopilots in the workspace"," runs: List execution history for an autopilot"," trigger: Manually trigger an autopilot to run once"," trigger-add: Add a schedule or webhook trigger to an autopilot"," trigger-delete: Delete a trigger"," trigger-rotate-url: Rotate the webhook URL of a webhook trigger"," trigger-update: Update an existing trigger"," update: Update an autopilot"],squad:["Work with squads","","USAGE"," coder flow squad <command> [flags]","","COMMANDS"," activity: Record a squad leader evaluation on an issue"," create: Create a new squad"," delete: Delete a squad (requires --yes)"," get: Get squad details"," list: List squads in the workspace"," member: Work with squad members"," update: Update a squad"],skill:["Work with skills","","USAGE"," coder flow skill <command> [flags]","","COMMANDS"," create: Create a new skill"," delete: Delete a skill"," files: Work with skill files"," get: Get skill details (includes files)"," import: Import a skill from a URL (clawhub.ai, skills.sh, or github.com)"," list: List skills in the workspace"," search: Search for installable skills"," update: Update a skill"],runtime:["Work with agent runtimes","","USAGE"," coder flow runtime <command> [flags]","","COMMANDS"," activity: Get hourly task activity for a runtime"," get: Get runtime details"," list: List runtimes in the workspace"," models: List available models for a runtime (async, polls until ready)"," update: Initiate a CLI update on a runtime"," usage: Get token usage for a runtime"],workspace:["Work with workspaces","","USAGE"," coder flow workspace <command> [flags]","","COMMANDS"," get: Get workspace details"," list: List all workspaces you belong to"," member: Manage workspace members"," switch: Set the default workspace"," update: Update workspace metadata (admin/owner only)"],repo:["Work with repositories","","USAGE"," coder flow repo <command> [flags]","","COMMANDS"," add: Add repositories to the workspace registry"," checkout: Check out a repository into the working directory"," list: List workspace repositories"," remove: Remove repositories from the workspace registry"],user:["Work with your user account","","USAGE"," coder flow user <command> [flags]","","COMMANDS"," profile: Get or update your personal profile"],attachment:["Work with attachments","","USAGE"," coder flow attachment <command> [flags]","","COMMANDS"," download: Download an attachment to a local file"],daemon:["Control the local agent runtime daemon","","USAGE"," coder flow daemon <command> [flags]","","COMMANDS"," disk-usage: Show workspace disk usage"," logs: Show daemon logs [-f] [-n <lines>]"," restart: Restart the daemon"," start: Start the daemon [--foreground] [--daemon-id] [--device-name]"," [--runtime-name] [--poll-interval] [--heartbeat-interval]"," [--max-concurrent-tasks]"," status: Show daemon status [--format json]"," stop: Stop the running daemon","","ENVIRONMENT VARIABLES"," MULTICA_SERVER_URL Server URL (default: https://flow.makecoder.com)"," MULTICA_DAEMON_POLL_INTERVAL Task poll interval (default: 30s)"," MULTICA_DAEMON_HEARTBEAT_INTERVAL Heartbeat interval (default: 15s)"," MULTICA_DAEMON_MAX_CONCURRENT_TASKS Max parallel tasks (default: 20)"," MULTICA_WORKSPACES_ROOT Workdir root (default: ~/multica_workspaces)"]}[e];r?t.emit(r.join(`
|
|
500
|
+
`)):ec(t)}tc.exports={showHelp:ec,showResourceHelp:Fg}});var nc=$((V_,rc)=>{var{MulticaHttp:Gg,parseJson:G_}=$r(),Vg=Qa(),{showHelp:Jg,showResourceHelp:zg}=sc(),Kg=new Set(["--format","--apikey"]);function Wg(t){let e=[];for(let s=0;s<t.length;s++){if(Kg.has(t[s])){s++;continue}e.push(t[s])}return e}var Hg=new Set(["issue","agent","project","label","skill","squad","autopilot","runtime","workspace","repo","user","attachment","daemon"]),Yg=new Set(["daemon"]),zr=class{constructor(e){this.ctx=e||null,this.teamService=null}async handle({multicaSubcommand:e,multicaRemainingArgs:s,apikey:r}){let n=this.ctx;if(!e||e==="--help"||e==="-h")return Jg(n),0;let o=r;if(!o)return n.fail("\u7F3A\u5C11 API Key","\u5148\u767B\u5F55: coder auth login --apikey <ak>.<sk>"),2;let i=e;if(!Hg.has(i))return n.fail(`\u672A\u77E5\u547D\u4EE4: coder flow ${i}`,"\u67E5\u770B\u5168\u90E8\u547D\u4EE4: coder flow --help"),3;let a=Wg(s||[]);if(a.length===0||a[0]==="--help"||a[0]==="-h")return zg(n,i),0;let{teamId:c,remaining:l}=this._extractWorkspaceFlag(a),d=Yg.has(i)?null:await this._resolveWorkspace(c,o),u=this._resolve(i,l);if(u.error)return n.fail(u.error,"\u67E5\u770B\u5168\u90E8\u547D\u4EE4: coder flow --help"),3;let f=n.getMulticaBaseUrl?n.getMulticaBaseUrl():null,h=new Gg(o,f,d),{fn:y,args:A}=u,k={ctx:n,http:h,args:A,arg:A[0]};try{return await y(k)||0}catch(S){return S&&S.handled?S.code||1:(n.fail(S.message||String(S),S.hint),1)}}_resolve(e,s){let r=Vg[e];if(!r)return{error:`\u8D44\u6E90 ${e} \u6682\u672A\u5B9E\u73B0`};let n=s[0];if(!n||n.startsWith("-")){let i=r.list||r.get;return i?{fn:i,args:s}:{error:`${e} \u7F3A\u5C11\u9ED8\u8BA4\u52A8\u8BCD`}}let o=r[n];if(!o){let i=Object.keys(r).join(" | ");return{error:`\u672A\u77E5 ${e} \u52A8\u8BCD: ${n}\uFF08\u53EF\u7528: ${i}\uFF09`}}if(typeof o=="object"&&o!==null&&typeof o!="function"){let i=s[1];if(!i||i.startsWith("-")){let c=o.list||o.get;return c?{fn:c,args:s.slice(1)}:{error:`${e} ${n} \u7F3A\u5C11\u9ED8\u8BA4\u52A8\u8BCD`}}let a=o[i];if(!a){let c=Object.keys(o).join(" | ");return{error:`\u672A\u77E5 ${e} ${n} \u52A8\u8BCD: ${i}\uFF08\u53EF\u7528: ${c}\uFF09`}}return{fn:a,args:s.slice(2)}}return{fn:o,args:s.slice(1)}}_extractWorkspaceFlag(e){for(let s of["--workspace","--team"]){let r=e.indexOf(s);if(r!==-1&&e[r+1])return{teamId:e[r+1],remaining:[...e.slice(0,r),...e.slice(r+2)]}}return{teamId:null,remaining:e}}async _resolveWorkspace(e,s){if(e)return e;let r=this.ctx,n=r.getTeam?r.getTeam():null;if(n&&n.id)return n.id;if(this.teamService&&r.getTeamManual&&!r.getTeamManual())try{let o=encodeURIComponent(JSON.stringify({filter_is_joined:!0})),i=await this.teamService.request("GET",`/team?constraints=${o}&page=1&size=200`,s);if(i.status===200){let c=this.teamService.parseJson(i.body)?.data?.items||[];if(c.length)return r.setTeam(c[0].id,c[0].name||""),c[0].id}}catch{}return null}};rc.exports=zr});var ic=$((J_,oc)=>{var Xg=nc(),Qg=hs();function ey(t,e){let s=new Xg(e);return s.teamService=new Qg(e),t.command("flow [args...]").description("\u64CD\u4F5C Coder Flow\uFF08issue/agent \u7B49\uFF09").allowUnknownOption().helpOption(!1).action(async r=>{let n=r||[],o=await s.handle({multicaSubcommand:n[0],multicaRemainingArgs:n.slice(1),apikey:e.getApiKey()});process.exitCode=o||0}),s}oc.exports={register:ey}});var dc=$((z_,lc)=>{var ty=Qt(),sy=hs();function cc(t,e,s){let[r,n]=e;return{[`${t}Subcommand`]:r,[`${t}Arg`]:n,[`${t}RemainingArgs`]:e.slice(1),apikey:s.getApiKey(),coderBaseUrl:s.getCoderBaseUrl()}}function ac(t,e,s){t.command(`${s.name} [args...]`).description(s.describe).allowUnknownOption().helpOption(!1).action(async r=>{let n=await s.service.handle(cc(s.prefix,r||[],e));process.exitCode=n||0})}function ry(t,e){let s=new sy(e),r=new ty(e);return r.teamService=s,ac(t,e,{name:"team",describe:"\u7BA1\u7406\u56E2\u961F\u4E0E\u6210\u5458\uFF08\u9762\u5411 AI\uFF09",prefix:"team",service:s}),ac(t,e,{name:"skills",describe:"\u7BA1\u7406 Claude Code skills",prefix:"skills",service:r}),{teamService:s,skillsService:r}}lc.exports={register:ry,buildHandleArgs:cc}});var pc=$((K_,uc)=>{var ny=qo(),oy=bi(),iy=$i(),ay=Pi(),cy=Ki(),ly=ic(),dy=dc();function uy(t,e){return ny.register(t,e),oy.register(t,e),iy.register(t,e),ay.register(t,e),cy.register(t,e),ly.register(t,e),{domains:dy.register(t,e)}}uc.exports={registerAll:uy}});var hc=$((W_,fc)=>{var{CoderContext:mc}=Qr(),{SHORTCUTS:py,isAgentName:my,launchAgent:fy}=Kt(),hy=An(),{version:gy}=ct(),Kr=class{constructor(){this.vscodeExtensionService=new hy}_readGlobalOptions(e){let s=null,r=null;for(let n=0;n<e.length;n++)e[n]==="--format"&&e[n+1]?s=e[n+1]:e[n]==="--apikey"&&e[n+1]&&(r=e[n+1]);return{format:s,apikey:r}}_leadingCompletionFlag(e){let s=new Set(["--format","--apikey"]);for(let r=0;r<e.length;r++){let n=e[r];if(n==="--install-completion"||n==="--show-completion")return n;if(s.has(n)){r++;continue}if(!n.startsWith("-"))return null}return null}async run(e=process.argv.slice(2)){if(e[0]==="__complete"){let{complete:i}=To();return i(e.slice(1))}let s=this._leadingCompletionFlag(e);if(s){let i=this._readGlobalOptions(e),a=new mc(i),{installCompletion:c,showCompletion:l}=Po(),d=e.indexOf(s),u=e[d+1]&&!e[d+1].startsWith("-")?e[d+1]:null;return s==="--install-completion"?c(a,u):l(a,u)}try{await this.vscodeExtensionService.ensureExtensionInstalled()}catch(i){process.env.CODER_DEBUG&&console.error("VSCode Extension Service Error:",i)}let r=this._readGlobalOptions(e),n=new mc(r),o=e[0];return o?py.has(o)&&my(o)?await this._launchShortcut(o,e.slice(1),n):await this._runCommander(e,n):await this._launchShortcut("claude",[],n)}async _launchShortcut(e,s,r){let n=r.getApiKey();return n?(this._notifySkillUpdates(n),await fy(e,s,r)||0):(r.fail("missing credentials","run `coder auth login --apikey <ak>.<sk>`\uFF08\u83B7\u53D6: https://makecoder.com/my/apikeys\uFF09"),1)}_notifySkillUpdates(e){try{let s=Qt();new s(null).notifyAndRefreshUpdates(e)}catch{}}async _runCommander(e,s){let{Command:r}=require("commander"),{registerAll:n}=pc(),o=new r;return o.name("coder").description("Coder \u2014 AI Agent Runtime OS\uFF08AI\u667A\u80FD\u4F53\u64CD\u4F5C\u7CFB\u7EDF\uFF09").version(gy,"-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: ${s.configPath}`].join(`
|
|
501
|
+
`)),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"),n(o,s),await o.parseAsync(e,{from:"user"}),process.exitCode||0}};fc.exports=Kr});var yy=hc(),{shouldSuppressUpdateNotice:_y}=Zs();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 wy(t,e){let s=o=>o.replace(/^v/,"").split(".").map(Number),[r,n]=[s(t),s(e)];for(let o=0;o<3;o++){if((r[o]||0)>(n[o]||0))return!0;if((r[o]||0)<(n[o]||0))return!1}return!1}function by(){if(_y())return;let t=require("https"),{version:e}=ct(),r=t.get("https://registry.npmmirror.com/makecoder/latest",{timeout:5e3},n=>{let o="";n.on("data",i=>{o+=i}),n.on("end",()=>{try{let i=JSON.parse(o).version;i&&wy(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{}})});r.on("error",()=>{}),r.on("timeout",()=>r.destroy())}async function ky(){let t=new Set(["pub","auth","update","skills","wiki","team"]),e=process.argv[2];e!=="__complete"&&(!e||!t.has(e))&&by(),process.env.CODER_NESTED="1";let s=new yy;try{let r=await s.run();process.exit(r)}catch(r){console.error(`Fatal error: ${r.message}`),process.env.CODER_DEBUG&&console.error(r.stack),process.exit(1)}}ky().catch(t=>{console.error(`Startup error: ${t.message}`),process.exit(1)});
|