makecoder 4.1.5 → 4.1.6
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 +2 -2
- package/dist/codex.mjs +1 -1
- 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
|
@@ -16,12 +16,12 @@ entry=${n}
|
|
|
16
16
|
apikey=${s}
|
|
17
17
|
baseurl=${o}
|
|
18
18
|
`;E.writeFileSync(`${c}.conf`,l),E.writeFileSync(N.join(this.userData,"claude-code",e,".verified"),""),process.env.CODER_DEBUG&&console.log(`[claude app] shim \u5B89\u88C5 -> ${c}`)}_quitApp(){try{Cn("osascript",["-e",'quit app "Claude"'],{stdio:"ignore"})}catch{}pt("sleep",["2"])}_openApp(){try{Cn("open",["-a","Claude"],{stdio:"ignore"})}catch(e){console.error(`\u65E0\u6CD5\u542F\u52A8 Claude\uFF1A${e.message}\uFF08\u8BF7\u624B\u52A8\u6253\u5F00\uFF09`)}}_restore(){return E.existsSync(this.backupDir)?(this._quitApp(),E.rmSync(this.userData,{recursive:!0,force:!0}),E.cpSync(this.backupDir,this.userData,{recursive:!0}),E.rmSync(this.backupDir,{recursive:!0,force:!0}),console.log("\u2705 \u5DF2\u8FD8\u539F Claude Desktop \u914D\u7F6E\uFF08\u91CD\u542F App \u751F\u6548\uFF09\u3002"),0):(console.error(`\u672A\u627E\u5230\u5907\u4EFD\u76EE\u5F55\uFF1A${this.backupDir}`),console.error("\u53EF\u80FD\u4ECE\u672A\u6267\u884C\u8FC7 setup\uFF0C\u6216\u5907\u4EFD\u5DF2\u88AB\u5220\u9664\u3002"),1)}_status(){let e=this._detectRequiredVersion(),t=null;try{t=JSON.parse(E.readFileSync(N.join(this.userData,"claude_desktop_config.json"),"utf8")).deploymentMode}catch{}let n=null;try{let i=JSON.parse(E.readFileSync(N.join(this.userData,"configLibrary","_meta.json"),"utf8"));n=JSON.parse(E.readFileSync(N.join(this.userData,"configLibrary",`${i.appliedId}.json`),"utf8")).inferenceGatewayBaseUrl}catch{}let s=e&&E.existsSync(N.join(this._shimInstallDir(e),"claude.conf"));return t==="3p"&&n&&s?(console.log("\u2705 Claude Desktop \u5DF2\u63A5\u5165 coder"),console.log(` API: ${n}`)):console.log("Claude Desktop \u672A\u63A5\u5165 coder\uFF08\u8FD0\u884C coder claude app \u63A5\u5165\uFF09"),process.env.CODER_DEBUG&&(console.log(`
|
|
19
|
-
[debug]`),console.log(` claude.app: ${Et}`),console.log(` requiredVersion: ${e||"(\u63A2\u6D4B\u5931\u8D25)"}`),console.log(` deploymentMode: ${t||"(\u672A\u8BBE\u7F6E)"}`),console.log(` gateway baseUrl: ${n||"(\u65E0)"}`),console.log(` shim installed: ${s?"yes":"no"}`),console.log(` backup: ${E.existsSync(this.backupDir)?"yes":"no"}`)),0}};vn.exports=lr});var Sn=b((wm,$n)=>{var zi=ut(),dr=class extends zi{constructor(){super({name:"Gemini",executablePaths:["gemini/gemini.js","../dist/gemini/gemini.js"],globalSubPath:"gemini/gemini.js",environmentVariables:e=>({GOOGLE_GEMINI_BASE_URL:`${e}/gemini`,GEMINI_API_KEY:"null",GOOGLE_API_KEY:"null",GOOGLE_CLOUD_PROJECT:"coder",GOOGLE_CLOUD_LOCATION:"coder",USE_VERTEX:!0,GEMINI_TELEMETRY_ENABLED:"false",GEMINI_TELEMETRY_LOG_PROMPTS:"false"})})}};$n.exports=dr});var Tt=b((Cm,An)=>{var{CODER_RUNTIME_PROMPT:Wi}=ir(),Ki={"linux-x64":"makecoder-bin-linux-x64","linux-arm64":"makecoder-bin-linux-arm64","darwin-arm64":"makecoder-bin-darwin-arm64","win32-x64":"makecoder-bin-
|
|
19
|
+
[debug]`),console.log(` claude.app: ${Et}`),console.log(` requiredVersion: ${e||"(\u63A2\u6D4B\u5931\u8D25)"}`),console.log(` deploymentMode: ${t||"(\u672A\u8BBE\u7F6E)"}`),console.log(` gateway baseUrl: ${n||"(\u65E0)"}`),console.log(` shim installed: ${s?"yes":"no"}`),console.log(` backup: ${E.existsSync(this.backupDir)?"yes":"no"}`)),0}};vn.exports=lr});var Sn=b((wm,$n)=>{var zi=ut(),dr=class extends zi{constructor(){super({name:"Gemini",executablePaths:["gemini/gemini.js","../dist/gemini/gemini.js"],globalSubPath:"gemini/gemini.js",environmentVariables:e=>({GOOGLE_GEMINI_BASE_URL:`${e}/gemini`,GEMINI_API_KEY:"null",GOOGLE_API_KEY:"null",GOOGLE_CLOUD_PROJECT:"coder",GOOGLE_CLOUD_LOCATION:"coder",USE_VERTEX:!0,GEMINI_TELEMETRY_ENABLED:"false",GEMINI_TELEMETRY_LOG_PROMPTS:"false"})})}};$n.exports=dr});var Tt=b((Cm,An)=>{var{CODER_RUNTIME_PROMPT:Wi}=ir(),Ki={"linux-x64":"makecoder-bin-linux-x64","linux-arm64":"makecoder-bin-linux-arm64","darwin-arm64":"makecoder-bin-darwin-arm64","win32-x64":"makecoder-bin-win-x64"};function Ji(r){return["-c",`openai_base_url="${r}/codex"`,"-c","analytics.enabled=false","-c","feedback.enabled=false","-c","check_for_update_on_startup=false","-c",'otel.exporter="none"',"-c",'otel.trace_exporter="none"',"-c",'otel.metrics_exporter="none"',"-c",`developer_instructions=${Wi}`]}An.exports={PLATFORM_PACKAGE:Ki,buildConfigOverrides:Ji}});var Tn=b((Im,En)=>{var Yi=ut(),{buildConfigOverrides:Xi}=Tt(),ur=class extends Yi{constructor(){super({name:"Codex",executablePaths:["codex.mjs","../dist/codex.mjs"],globalSubPath:"codex.mjs",environmentVariables:()=>({CODEX_DISABLE_WEBSOCKET:"1"})})}async launch(e={}){let{remainingArgs:t=[],coderBaseUrl:n}=e,s=Xi(n);return await super.launch({...e,remainingArgs:[...s,...t]})}};En.exports=ur});var Un=b((km,Pn)=>{var{execFileSync:Dn}=require("child_process"),Qi=require("os"),re=require("path"),ke=require("fs"),ea=ut(),{buildConfigOverrides:ta}=Tt(),ra={arm64:"https://cdn.makecoder.com/cdnuploads/codex-app/Codex.dmg",x64:"https://cdn.makecoder.com/cdnuploads/codex-app/Codex-latest-x64.dmg"},na=5e3,mr=class extends ea{constructor(){super({name:"Codex",executablePaths:["codex.mjs","../dist/codex.mjs"],globalSubPath:"codex.mjs",environmentVariables:()=>({CODEX_DISABLE_WEBSOCKET:"1"})})}async launch(e={}){let{remainingArgs:t=[],coderBaseUrl:n,apikey:s=null}=e,o=ta(n),i=this._injectDesktopEnv(s,n),a=this._withDownloadUrlMirror(t);try{return await super.launch({...e,remainingArgs:[...o,...a]})}finally{i&&(await new Promise(c=>setTimeout(c,na)),this._removeDesktopEnv(i))}}_withDownloadUrlMirror(e){if(process.platform!=="darwin"||e.includes("--download-url"))return e;let t=ra[process.arch];return t?(process.env.CODER_DEBUG&&console.log(`[codex app] \u6CE8\u5165 --download-url ${t}`),[...e,"--download-url",t]):e}_resolveShimBinary(){let e=`darwin-${process.arch}`,t=re.join(e,"cdx-shim"),n=require.main&&require.main.filename&&re.dirname(require.main.filename)||__dirname,s=[re.resolve(n,t),re.resolve(n,"../dist",t),re.resolve(__dirname,"../../../dist",t)],o=re.dirname(process.execPath);s.push(re.join(o,"..","lib","node_modules","makecoder","dist",e,"cdx-shim"),re.join(o,"node_modules","makecoder","dist",e,"cdx-shim"));for(let i of s)if(ke.existsSync(i))return i;throw new Error(`\u672A\u627E\u5230 cdx-shim\uFF08dist/${e}/cdx-shim\uFF09\u3002\u8BF7\u91CD\u65B0\u5B89\u88C5 makecoder \u6216\u672C\u5730\u6267\u884C \`make fetch_tools\`\u3002`)}_resolveCoderEntry(){return{exec:ke.realpathSync(process.execPath),entry:ke.realpathSync(process.argv[1])}}_installShim({apikey:e,coderBaseUrl:t}){let n=this._resolveShimBinary(),{exec:s,entry:o}=this._resolveCoderEntry(),i=process.env.CODER_PROFILE,a=i?`.coder.${i}`:".coder",c=re.join(Qi.homedir(),a,"codex-app");ke.mkdirSync(c,{recursive:!0,mode:448});let l=re.join(c,"cdx-shim");ke.copyFileSync(n,l),ke.chmodSync(l,493);let d=`exec=${s}
|
|
20
20
|
entry=${o}
|
|
21
21
|
apikey=${e||""}
|
|
22
22
|
baseurl=${t||""}
|
|
23
23
|
`;return ke.writeFileSync(`${l}.conf`,d,{mode:384}),process.env.CODER_DEBUG&&(console.log(`[codex app] cdx-shim \u5DF2\u5B89\u88C5: ${l}`),console.log(`[codex app] exec=${s} entry=${o}`)),l}_injectDesktopEnv(e,t){if(process.platform!=="darwin")return null;let n;try{n=this._installShim({apikey:e,coderBaseUrl:t})}catch(i){return process.env.CODER_DEBUG&&console.log(`[codex app] \u5B89\u88C5 cdx-shim \u5931\u8D25\uFF0C\u8DF3\u8FC7 CODEX_CLI_PATH \u6CE8\u5165\uFF1B\u684C\u9762 App \u5C06\u4F7F\u7528\u81EA\u5E26 codex\uFF08\u4E0D\u8D70\u4EE3\u7406\uFF09: ${i.message}`),null}let s={CODEX_CLI_PATH:n};e&&(s.CODER_APIKEY=e);let o=[];for(let[i,a]of Object.entries(s))try{Dn("launchctl",["setenv",i,a],{stdio:"ignore"}),o.push(i)}catch(c){process.env.CODER_DEBUG&&console.log(`[codex app] launchctl setenv ${i} \u5931\u8D25: ${c.message}`)}return process.env.CODER_DEBUG&&o.length&&console.log(`[codex app] \u5DF2\u6CE8\u5165 launchd \u73AF\u5883\u53D8\u91CF: ${o.join(", ")} (shim: ${n})`),o.length?o:null}_removeDesktopEnv(e){for(let t of e)try{Dn("launchctl",["unsetenv",t],{stdio:"ignore"})}catch(n){process.env.CODER_DEBUG&&console.log(`[codex app] launchctl unsetenv ${t} \u5931\u8D25: ${n.message}`)}}};Pn.exports=mr});var Pt=b((vm,qn)=>{var sa=wn(),oa=On(),ia=Sn(),aa=Tn(),ca=Un();function jn(){let r=new sa;if(process.env.CODER_DEBUG)try{console.error(`[DEBUG] ClaudeBunLauncher selected, executable: ${r.findExecutablePath()}`)}catch(e){console.error(`[DEBUG] ClaudeBunLauncher executable not yet resolved: ${e.message}`)}return r}var Dt={claude:{aliases:["claude"],description:"Claude Code \u667A\u80FD\u4F53\uFF08\u9ED8\u8BA4\uFF09",create:jn,mapArgs:r=>r},"claude-app":{aliases:["claude-app"],description:"\u914D\u7F6E Claude Desktop\uFF08macOS\uFF09\u8D70 coder API\uFF1Asetup|restore|status",create:()=>new oa,mapArgs:r=>r},codex:{aliases:["codex"],description:"OpenAI Codex \u667A\u80FD\u4F53",create:()=>new aa,mapArgs:r=>r},"codex-app":{aliases:["codex-app"],description:"\u914D\u7F6E Codex Desktop\uFF08macOS\uFF09\u8D70 coder API",create:()=>new ca,mapArgs:r=>["app",...r]},gemini:{aliases:["gemini"],description:"Gemini \u667A\u80FD\u4F53",create:()=>new ia,mapArgs:r=>r}},Nn=Object.keys(Dt),la=new Set(["claude","codex","gemini"]);function da(r){return Object.prototype.hasOwnProperty.call(Dt,r)}function Rn(r){return Dt[r]||null}async function ua(r,e,t){let n=Rn(r);return n?await n.create().launch({remainingArgs:n.mapArgs(e),coderBaseUrl:t.getCoderBaseUrl(),apikey:t.getApiKey()}):(t.fail(`unknown agent: ${r}`,`available: ${Nn.join(" | ")}`),1)}qn.exports={AGENTS:Dt,AGENT_NAMES:Nn,SHORTCUTS:la,isAgentName:da,getAgent:Rn,launchAgent:ua,createClaudeLauncher:jn}});var Vn=b((Om,Mn)=>{var ht=require("fs"),Zn=require("path"),{spawn:Ln}=require("child_process"),pr=class{constructor(){this.extensionId="codev.codev-background";let e=require.main?Zn.dirname(require.main.filename):__dirname;this.extensionPath=Zn.resolve(e,"vendor/claude-code.vsix"),this._codeCommand=null}async resolveCodeCommand(){if(this._codeCommand)return this._codeCommand;if(process.env.IS_AISTUDIO==="True"){let e="/usr/lib/aistudio/lib/vscode/bin/remote-cli/aistudio";if(ht.existsSync(e))try{return ht.accessSync(e,ht.constants.F_OK|ht.constants.X_OK),this._codeCommand=e,process.env.CODER_DEBUG&&console.log(`Using AI Studio VSCode path: ${e}`),this._codeCommand}catch(t){process.env.CODER_DEBUG&&console.log(`AI Studio path exists but not executable: ${t.message}`)}else process.env.CODER_DEBUG&&console.log(`AI Studio path not found: ${e}`)}try{let{spawn:e}=require("child_process");return new Promise(t=>{let n=e("which",["code"],{stdio:["ignore","pipe","ignore"]}),s="";n.stdout.on("data",o=>{s+=o.toString().trim()}),n.on("close",o=>{o===0&&s?(this._codeCommand=s,process.env.CODER_DEBUG&&console.log(`Resolved code command path: ${s}`),t(this._codeCommand)):(this._codeCommand="code",t(this._codeCommand))}),n.on("error",()=>{this._codeCommand="code",t(this._codeCommand)}),setTimeout(()=>{n.kill(),this._codeCommand="code",t(this._codeCommand)},3e3)})}catch{return this._codeCommand="code",this._codeCommand}}async shouldInstallExtension(){try{return process.env.IS_AISTUDIO!=="True"?(process.env.CODER_DEBUG&&console.log("Not in AI Studio environment (IS_AISTUDIO!=True), skipping extension installation"),!1):await this.isVSCodeAvailable()?await this.isExtensionInstalled()?(process.env.CODER_DEBUG&&console.log(`Extension ${this.extensionId} already installed`),!1):!!ht.existsSync(this.extensionPath):(process.env.CODER_DEBUG&&console.log("VSCode not available, skipping extension installation"),!1)}catch(e){return process.env.CODER_DEBUG&&console.error(`Error checking extension installation status: ${e.message}`),!1}}async installExtension(){try{return console.log("Installing Codev VSCode extension..."),await this.executeVSCodeCommand(["--install-extension",this.extensionPath])?(console.log("\u2705 Codev VSCode extension installed successfully"),!0):(console.warn("\u274C Failed to install Codev VSCode extension"),!1)}catch(e){return console.warn(`Error installing VSCode extension: ${e.message}`),!1}}async isVSCodeAvailable(){try{let e=process.env.IS_AISTUDIO==="True"?["--help"]:["--version"],t=await this.executeVSCodeCommand(e,{timeout:1e4});if(process.env.CODER_DEBUG&&(console.log(`VSCode availability check (${e.join(" ")}): ${t?"available":"unavailable"}`),process.env.IS_AISTUDIO==="True")){let{spawn:n}=require("child_process");try{n("which",["code"],{stdio:["ignore","pipe","ignore"]}).stdout.on("data",o=>{console.log("which code:",o.toString().trim())})}catch(s){console.log("which command failed:",s.message)}}return t}catch(e){return process.env.CODER_DEBUG&&console.error("VSCode availability check error:",e.message),!1}}async isExtensionInstalled(){let e=await this.resolveCodeCommand();try{return new Promise(t=>{try{let n={stdio:["ignore","pipe","ignore"],shell:!1,env:{...process.env,PATH:process.env.PATH,HOME:process.env.HOME,USER:process.env.USER}};process.env.CODER_DEBUG&&console.log(`Spawning: ${e} --list-extensions`);let s=Ln(e,["--list-extensions"],n),o="";s.stdout.on("data",i=>{o+=i.toString()}),s.on("close",i=>{if(i===0){let a=o.split(`
|
|
24
|
-
`).map(c=>c.trim());t(a.includes(this.extensionId))}else t(!1)}),s.on("error",i=>{process.env.CODER_DEBUG&&(console.error("VSCode list extensions error:",i.message),console.error("Error code:",i.code),console.error("Error errno:",i.errno),console.error("Error syscall:",i.syscall)),t(!1)}),setTimeout(()=>{try{s.kill()}catch{}t(!1)},1e4)}catch(n){process.env.CODER_DEBUG&&console.error("Failed to spawn VSCode list extensions:",n.message),t(!1)}})}catch{return!1}}async executeVSCodeCommand(e,t={}){let n=await this.resolveCodeCommand();return new Promise(s=>{try{let o={stdio:"ignore",shell:!1,env:{...process.env,PATH:process.env.PATH,HOME:process.env.HOME,USER:process.env.USER}};process.env.CODER_DEBUG&&console.log(`Spawning: ${n} ${e.join(" ")}`);let i=Ln(n,e,o);i.on("close",c=>{s(c===0)}),i.on("error",c=>{process.env.CODER_DEBUG&&(console.error("VSCode command error:",c.message),console.error("Error code:",c.code),console.error("Error errno:",c.errno),console.error("Error syscall:",c.syscall)),s(!1)});let a=t.timeout||3e4;setTimeout(()=>{try{i.kill()}catch{}s(!1)},a)}catch(o){process.env.CODER_DEBUG&&console.error("Failed to spawn VSCode command:",o.message),s(!1)}})}async ensureExtensionInstalled(){try{process.env.CODER_DEBUG&&console.log("VSCode Extension Service: Checking extension status..."),await this.shouldInstallExtension()&&await this.installExtension()}catch(e){process.env.CODER_DEBUG&&console.error("VSCode Extension Service Error:",e)}}};Mn.exports=pr});var ft=b(($m,ma)=>{ma.exports={name:"makecoder",version:"4.1.
|
|
24
|
+
`).map(c=>c.trim());t(a.includes(this.extensionId))}else t(!1)}),s.on("error",i=>{process.env.CODER_DEBUG&&(console.error("VSCode list extensions error:",i.message),console.error("Error code:",i.code),console.error("Error errno:",i.errno),console.error("Error syscall:",i.syscall)),t(!1)}),setTimeout(()=>{try{s.kill()}catch{}t(!1)},1e4)}catch(n){process.env.CODER_DEBUG&&console.error("Failed to spawn VSCode list extensions:",n.message),t(!1)}})}catch{return!1}}async executeVSCodeCommand(e,t={}){let n=await this.resolveCodeCommand();return new Promise(s=>{try{let o={stdio:"ignore",shell:!1,env:{...process.env,PATH:process.env.PATH,HOME:process.env.HOME,USER:process.env.USER}};process.env.CODER_DEBUG&&console.log(`Spawning: ${n} ${e.join(" ")}`);let i=Ln(n,e,o);i.on("close",c=>{s(c===0)}),i.on("error",c=>{process.env.CODER_DEBUG&&(console.error("VSCode command error:",c.message),console.error("Error code:",c.code),console.error("Error errno:",c.errno),console.error("Error syscall:",c.syscall)),s(!1)});let a=t.timeout||3e4;setTimeout(()=>{try{i.kill()}catch{}s(!1)},a)}catch(o){process.env.CODER_DEBUG&&console.error("Failed to spawn VSCode command:",o.message),s(!1)}})}async ensureExtensionInstalled(){try{process.env.CODER_DEBUG&&console.log("VSCode Extension Service: Checking extension status..."),await this.shouldInstallExtension()&&await this.installExtension()}catch(e){process.env.CODER_DEBUG&&console.error("VSCode Extension Service Error:",e)}}};Mn.exports=pr});var ft=b(($m,ma)=>{ma.exports={name:"makecoder",version:"4.1.6",description:"MakeCoder Coder: AI Agent Runtime OS that runs and orchestrates Claude Code, Codex, Gemini and more across CLI, API, Web and chat",main:"./dist/coder.js",bin:{coder:"./dist/coder.js"},scripts:{test:"node --test test/*.test.js",start:"node ./src/coder.js",build:"node scripts/build.js","build:clean":"node scripts/build.js --clean","build:dev":"node scripts/build.js --no-minify --sourcemap",postinstall:"node scripts/postinstall.js"},keywords:["ai-agent-runtime","agent-os","ai","cli","claude","gemini","codex","agent","orchestration","llm"],author:"makecoder",license:"MIT",repository:{type:"git",url:"https://github.com/makecoderai/coder.git"},homepage:"https://github.com/makecoderai/coder",dependencies:{bun:">=1.3.12",commander:"^15.0.0","node-fetch":"^3.3.2",open:"^10.1.0",zod:"^3.25.76"},engines:{node:">=20.0.0"},devDependencies:{chokidar:"^4.0.3"},files:["dist","scripts/postinstall.js"]}});var Fn=b((Sm,Bn)=>{var hr=require("crypto"),{URL:pa}=require("url"),fr=class{static generateSignature(e,t,n,s){try{let o=new pa(e),i=Buffer.from(o.pathname),a=Buffer.from(i),c=t?typeof t=="string"?Buffer.from(t):Buffer.from(JSON.stringify(t)):Buffer.alloc(0),l=Buffer.concat([a,c,Buffer.from(s)]),d=hr.createHmac("sha256",n);return d.update(l),d.digest("hex")}catch(o){throw new Error(`Failed to generate signature: ${o.message}`)}}static validateSignature(e,t,n,s,o){return this.generateSignature(e,t,n,s)===o}static generateTimestamp(){return Date.now().toString()}static generateStrongPassword(e=16){let t="abcdefghijkmnpqrstuvwxyz",n="ABCDEFGHJKLMNPQRSTUVWXYZ",s="23456789",o="!@#$%^&*-_=+",i=t+n+s+o;e<8&&(e=8);let a=l=>l[hr.randomBytes(1)[0]%l.length],c=[a(t),a(n),a(s),a(o)];for(;c.length<e;)c.push(a(i));for(let l=c.length-1;l>0;l--){let d=hr.randomBytes(1)[0]%(l+1);[c[l],c[d]]=[c[d],c[l]]}return c.join("")}};Bn.exports=fr});var Ut=b((Am,zn)=>{var ha=require("https"),{URL:fa}=require("url"),Gn="https://makecoder.com/bigapis/auth/v1",ga="https://makecoder.com/bigapis/kbb2/v1",ya="https://makecoder.com/wiki/api",gr=class{constructor(e){this.token=e}request(e,t,n,s){return new Promise((o,i)=>{let a=s||Gn,c=new fa(`${a}${t}`),l={"Content-Type":"application/json",Authorization:`Bearer ${this.token}`},d=null;n!=null&&(d=JSON.stringify(n),l["Content-Length"]=Buffer.byteLength(d));let u=ha.request({hostname:c.hostname,port:c.port||443,path:c.pathname+c.search,method:e,headers:l},h=>{let _="";h.on("data",v=>_+=v),h.on("end",()=>o({status:h.statusCode,body:_}))});u.on("error",i),d&&u.write(d),u.end()})}};function Hn(r){try{return JSON.parse(r)}catch{return null}}function _a(r){return r===401?2:r===403?5:r===404?4:r===409?6:1}function ba(r){let e=Hn(r);return e?.message?e.message:e?.error?e.error:(r||"").slice(0,200)||"\u8BF7\u6C42\u5931\u8D25"}zn.exports={TeamHttp:gr,parseJson:Hn,exitCodeForStatus:_a,errorMessage:ba,API_BASE:Gn,BIGKBB_BASE:ga,WIKI_API_BASE:ya}});var Kn=b((Em,Wn)=>{var yr=r=>String(r??"").replace(/\|/g,"\\|").replace(/\n/g," ");function xa(r,e,t={}){let{labels:n={},empty:s="\uFF08\u7A7A\uFF09"}=t;if(!e||!e.length){r.emit(s);return}if(r.isJson){r.emit(e);return}let o=Object.keys(e[0]),a=[`| ${o.map(c=>n[c]||c).map(yr).join(" | ")} |`,`| ${o.map(()=>"---").join(" | ")} |`,...e.map(c=>`| ${o.map(l=>yr(c[l])).join(" | ")} |`)];r.emit(a.join(`
|
|
25
25
|
`))}function wa(r,e,t=null){if(r.isJson){let n={};for(let[s,o]of e)n[s]=o;t&&typeof t=="object"&&Object.assign(n,t),r.emit(n);return}r.emit(e.map(([n,s,o])=>`${o||n}: ${s??""}`).join(`
|
|
26
26
|
`))}Wn.exports={emitTable:xa,emitDetails:wa,escCell:yr}});var Qn=b((Dm,Xn)=>{var{TeamHttp:Tm,parseJson:Ca,exitCodeForStatus:Ia,errorMessage:ka,BIGKBB_BASE:va,WIKI_API_BASE:Oa}=Ut();function ve(r,e,t,n=1){r.fail(e,t);let s=new Error("__handled__");throw s.handled=!0,s.code=n,s}function Jn(r,e){ve(r,ka(e.body),$a(e.status),Ia(e.status))}function $a(r){if(r===401)return"\u5148\u767B\u5F55: coder auth login --apikey <ak>.<sk>";if(r===403)return"\u6743\u9650\u4E0D\u8DB3\uFF0C\u9700\u56E2\u961F owner / manager\uFF1B\u786E\u8BA4\u5F53\u524D\u56E2\u961F: coder team current";if(r===404)return"\u786E\u8BA4 id \u6B63\u786E\uFF0C\u6216\u7528 coder team list / members \u67E5\u627E"}function Yn(r,e){if(e)return e;let t=r.ctx.getTeam?r.ctx.getTeam():null;return t&&t.id?t.id:null}function Sa(r,e){let t=Yn(r,e);return t||ve(r.ctx,"\u672A\u6307\u5B9A teamId \u4E14\u65E0\u9ED8\u8BA4\u56E2\u961F","\u8FD0\u884C coder team use <id> \u8BBE\u9ED8\u8BA4\u56E2\u961F\uFF0C\u6216\u52A0 --team <id> / \u4F4D\u7F6E\u53C2\u6570",3),t}async function Aa(r,e){let t=encodeURIComponent(JSON.stringify({id__in:[e]})),n;try{n=await r.http.request("GET",`/team?constraints=${t}`)}catch(i){ve(r.ctx,`\u7F51\u7EDC\u9519\u8BEF ${i.message}`,void 0,1)}n.status!==200&&Jn(r.ctx,n);let s=Ca(n.body),o=s&&s.data&&s.data.items||[];return o.length||ve(r.ctx,`\u56E2\u961F ${e} \u4E0D\u5B58\u5728`,"\u8FD0\u884C coder team list \u67E5\u770B\u53EF\u7528\u56E2\u961F",4),o[0]}function Ea(r){return Array.isArray(r.members)?r.members:[]}function Ta(r,e,t,n){let s=e.find(o=>o.user_id===t||o.id===t||o.username===t);return s||ve(r.ctx,`\u6210\u5458 '${t}' \u4E0D\u5728\u56E2\u961F '${n||""}' \u4E2D`,"\u8FD0\u884C coder team members \u67E5\u770B\u6210\u5458\uFF0Cuser_id / username \u5747\u53EF",4),s}function Da(r,e){return e?r.filter(t=>t.user_type===e):r}function Pa(r,e){e&&e!=="human"&&e!=="ai"&&ve(r.ctx,`--type \u4EC5\u652F\u6301 human \u6216 ai\uFF0C\u6536\u5230 '${e}'`,void 0,3)}function Ua(r,e){let t=r.config&&r.config.metadata&&r.config.metadata.created_by;if(!t)return"";let n=e.find(s=>s.user_id===t);return n?n.nickname?`${n.username}(${n.nickname})`:n.username:t}function ja(r){return r==="mentor"?"admin":"member"}async function Na(r,e,t){try{let n=await r.http.request("POST",`/${e}`,t,Oa);(n.status<200||n.status>=300)&&process.stderr.write(`Warning: \u77E5\u8BC6\u5E93\u540C\u6B65\u5931\u8D25 (${e}): HTTP ${n.status}
|
|
27
27
|
`)}catch(n){process.stderr.write(`Warning: \u77E5\u8BC6\u5E93\u540C\u6B65\u5931\u8D25 (${e}): ${n.message}
|
package/dist/codex.mjs
CHANGED
|
@@ -18,7 +18,7 @@ const PLATFORM_PACKAGE = {
|
|
|
18
18
|
"linux-x64": "makecoder-bin-linux-x64",
|
|
19
19
|
"linux-arm64": "makecoder-bin-linux-arm64",
|
|
20
20
|
"darwin-arm64": "makecoder-bin-darwin-arm64",
|
|
21
|
-
"win32-x64": "makecoder-bin-
|
|
21
|
+
"win32-x64": "makecoder-bin-win-x64",
|
|
22
22
|
};
|
|
23
23
|
|
|
24
24
|
const { platform, arch } = process;
|
package/dist/darwin-arm64/cc.js
CHANGED
|
@@ -23,13 +23,13 @@ var Fd4=Object.create;var{getPrototypeOf:gd4,defineProperty:URH,getOwnPropertyNa
|
|
|
23
23
|
Object.assign(A, {
|
|
24
24
|
post(...args) {
|
|
25
25
|
const [url, payload, ...remainArgs] = args;
|
|
26
|
-
const patchedUrl = url + (url.includes('?') ? '&' : '?') + 'app=codev-cli' + '&version=4.1.
|
|
26
|
+
const patchedUrl = url + (url.includes('?') ? '&' : '?') + 'app=codev-cli' + '&version=4.1.6' + '&session_id=' + V_() + (process.env.SPACE_ID ? '&space_id=' + process.env.SPACE_ID : '');
|
|
27
27
|
if (process.env.CODER_APIKEY) {
|
|
28
28
|
const headerValues = payload.headers.values;
|
|
29
29
|
headerValues.set('AUTHORIZATION', `Bearer ${process.env.CODER_APIKEY}`)
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
payload.headers.values.set('X-Coder-Version', '4.1.
|
|
32
|
+
payload.headers.values.set('X-Coder-Version', '4.1.6');
|
|
33
33
|
payload.headers.values.set('X-Coder-Platform', process.platform);
|
|
34
34
|
payload.headers.values.set('X-Coder-Arch', process.arch);
|
|
35
35
|
|
package/dist/darwin-x64/cc.js
CHANGED
|
@@ -23,13 +23,13 @@ var gcK=Object.create;var{getPrototypeOf:QcK,defineProperty:BEH,getOwnPropertyNa
|
|
|
23
23
|
Object.assign(A, {
|
|
24
24
|
post(...args) {
|
|
25
25
|
const [url, payload, ...remainArgs] = args;
|
|
26
|
-
const patchedUrl = url + (url.includes('?') ? '&' : '?') + 'app=codev-cli' + '&version=4.1.
|
|
26
|
+
const patchedUrl = url + (url.includes('?') ? '&' : '?') + 'app=codev-cli' + '&version=4.1.6' + '&session_id=' + I6() + (process.env.SPACE_ID ? '&space_id=' + process.env.SPACE_ID : '');
|
|
27
27
|
if (process.env.CODER_APIKEY) {
|
|
28
28
|
const headerValues = payload.headers.values;
|
|
29
29
|
headerValues.set('AUTHORIZATION', `Bearer ${process.env.CODER_APIKEY}`)
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
payload.headers.values.set('X-Coder-Version', '4.1.
|
|
32
|
+
payload.headers.values.set('X-Coder-Version', '4.1.6');
|
|
33
33
|
payload.headers.values.set('X-Coder-Platform', process.platform);
|
|
34
34
|
payload.headers.values.set('X-Coder-Arch', process.arch);
|
|
35
35
|
|
package/dist/linux-arm64/cc.js
CHANGED
|
@@ -23,13 +23,13 @@ var bc5=Object.create;var{getPrototypeOf:xc5,defineProperty:Ukq,getOwnPropertyNa
|
|
|
23
23
|
Object.assign(A, {
|
|
24
24
|
post(...args) {
|
|
25
25
|
const [url, payload, ...remainArgs] = args;
|
|
26
|
-
const patchedUrl = url + (url.includes('?') ? '&' : '?') + 'app=codev-cli' + '&version=4.1.
|
|
26
|
+
const patchedUrl = url + (url.includes('?') ? '&' : '?') + 'app=codev-cli' + '&version=4.1.6' + '&session_id=' + y8() + (process.env.SPACE_ID ? '&space_id=' + process.env.SPACE_ID : '');
|
|
27
27
|
if (process.env.CODER_APIKEY) {
|
|
28
28
|
const headerValues = payload.headers.values;
|
|
29
29
|
headerValues.set('AUTHORIZATION', `Bearer ${process.env.CODER_APIKEY}`)
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
payload.headers.values.set('X-Coder-Version', '4.1.
|
|
32
|
+
payload.headers.values.set('X-Coder-Version', '4.1.6');
|
|
33
33
|
payload.headers.values.set('X-Coder-Platform', process.platform);
|
|
34
34
|
payload.headers.values.set('X-Coder-Arch', process.arch);
|
|
35
35
|
|
package/dist/linux-x64/cc.js
CHANGED
|
@@ -23,13 +23,13 @@ var Cc9=Object.create;var{getPrototypeOf:bc9,defineProperty:UTH,getOwnPropertyNa
|
|
|
23
23
|
Object.assign(A, {
|
|
24
24
|
post(...args) {
|
|
25
25
|
const [url, payload, ...remainArgs] = args;
|
|
26
|
-
const patchedUrl = url + (url.includes('?') ? '&' : '?') + 'app=codev-cli' + '&version=4.1.
|
|
26
|
+
const patchedUrl = url + (url.includes('?') ? '&' : '?') + 'app=codev-cli' + '&version=4.1.6' + '&session_id=' + y$() + (process.env.SPACE_ID ? '&space_id=' + process.env.SPACE_ID : '');
|
|
27
27
|
if (process.env.CODER_APIKEY) {
|
|
28
28
|
const headerValues = payload.headers.values;
|
|
29
29
|
headerValues.set('AUTHORIZATION', `Bearer ${process.env.CODER_APIKEY}`)
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
payload.headers.values.set('X-Coder-Version', '4.1.
|
|
32
|
+
payload.headers.values.set('X-Coder-Version', '4.1.6');
|
|
33
33
|
payload.headers.values.set('X-Coder-Platform', process.platform);
|
|
34
34
|
payload.headers.values.set('X-Coder-Arch', process.arch);
|
|
35
35
|
|
package/dist/win32-x64/cc.js
CHANGED
|
@@ -23,13 +23,13 @@ var Cc4=Object.create;var{getPrototypeOf:bc4,defineProperty:BVH,getOwnPropertyNa
|
|
|
23
23
|
Object.assign(A, {
|
|
24
24
|
post(...args) {
|
|
25
25
|
const [url, payload, ...remainArgs] = args;
|
|
26
|
-
const patchedUrl = url + (url.includes('?') ? '&' : '?') + 'app=codev-cli' + '&version=4.1.
|
|
26
|
+
const patchedUrl = url + (url.includes('?') ? '&' : '?') + 'app=codev-cli' + '&version=4.1.6' + '&session_id=' + E8() + (process.env.SPACE_ID ? '&space_id=' + process.env.SPACE_ID : '');
|
|
27
27
|
if (process.env.CODER_APIKEY) {
|
|
28
28
|
const headerValues = payload.headers.values;
|
|
29
29
|
headerValues.set('AUTHORIZATION', `Bearer ${process.env.CODER_APIKEY}`)
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
payload.headers.values.set('X-Coder-Version', '4.1.
|
|
32
|
+
payload.headers.values.set('X-Coder-Version', '4.1.6');
|
|
33
33
|
payload.headers.values.set('X-Coder-Platform', process.platform);
|
|
34
34
|
payload.headers.values.set('X-Coder-Arch', process.arch);
|
|
35
35
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "makecoder",
|
|
3
|
-
"version": "4.1.
|
|
3
|
+
"version": "4.1.6",
|
|
4
4
|
"description": "MakeCoder Coder: AI Agent Runtime OS that runs and orchestrates Claude Code, Codex, Gemini and more across CLI, API, Web and chat",
|
|
5
5
|
"main": "./dist/coder.js",
|
|
6
6
|
"bin": {
|
|
@@ -51,9 +51,9 @@
|
|
|
51
51
|
"scripts/postinstall.js"
|
|
52
52
|
],
|
|
53
53
|
"optionalDependencies": {
|
|
54
|
-
"makecoder-bin-darwin-arm64": "4.1.
|
|
55
|
-
"makecoder-bin-linux-arm64": "4.1.
|
|
56
|
-
"makecoder-bin-linux-x64": "4.1.
|
|
57
|
-
"makecoder-bin-
|
|
54
|
+
"makecoder-bin-darwin-arm64": "4.1.6",
|
|
55
|
+
"makecoder-bin-linux-arm64": "4.1.6",
|
|
56
|
+
"makecoder-bin-linux-x64": "4.1.6",
|
|
57
|
+
"makecoder-bin-win-x64": "4.1.6"
|
|
58
58
|
}
|
|
59
59
|
}
|