nex-code 0.3.42 → 0.3.43
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/nex-code.js +2 -2
- package/package.json +1 -1
package/dist/nex-code.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
var L=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var In=L((j$,uu)=>{uu.exports={name:"nex-code",version:"0.3.
|
|
2
|
+
var L=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var In=L((j$,uu)=>{uu.exports={name:"nex-code",version:"0.3.43",description:"The open-source agentic coding CLI. Free with Ollama Cloud \u2014 switch to OpenAI, Anthropic or Gemini anytime. Alternative to Claude Code & Gemini CLI.",bin:{"nex-code":"./dist/nex-code.js"},files:["dist/","README.md","LICENSE"],engines:{node:">=18.0.0"},scripts:{start:"node dist/nex-code.js",build:"esbuild bin/nex-code.js --bundle --platform=node --target=node18 --outfile=dist/nex-code.js --minify --external:axios --external:dotenv --external:playwright",test:"jest --coverage","test:watch":"jest --watch",format:"prettier --write .","install-hooks":"ln -sf ../../hooks/pre-push .git/hooks/pre-push && chmod +x .git/hooks/pre-push && ln -sf ../../hooks/post-merge .git/hooks/post-merge && chmod +x .git/hooks/post-merge && echo 'Hooks installed (pre-push, post-merge).'",prepublishOnly:"npm run build && npm test",release:"npm version patch && git push --follow-tags && npm publish"},keywords:["ai","cli","coding","agent","ollama","ollama-cloud","openai","anthropic","claude","gemini","llm","gpt","agentic","terminal","coding-assistant","claude-code-alternative","gemini-cli-alternative","open-source","free","qwen3","devstral","kimi-k2","deepseek","local-llm","mcp","model-context-protocol","multi-provider"],repository:{type:"git",url:"https://github.com/hybridpicker/nex-code.git"},bugs:{url:"https://github.com/hybridpicker/nex-code/issues"},homepage:"https://github.com/hybridpicker/nex-code#readme",license:"MIT",dependencies:{axios:"^1.7.0",dotenv:"^16.4.0"},devDependencies:{esbuild:"^0.27.3",jest:"^29.7.0"}}});var Xr=L((F$,Vr)=>{var M={reset:"\x1B[0m",bold:"\x1B[1m",dim:"\x1B[2m",white:"\x1B[37m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",gray:"\x1B[90m",bgRed:"\x1B[41m",bgGreen:"\x1B[42m",brightCyan:"\x1B[96m",brightMagenta:"\x1B[95m",brightBlue:"\x1B[94m"},Ks=5,jn=(()=>{let t=[];for(let e=0;e<Ks;e++)t.push(e);for(let e=Ks-2;e>=1;e--)t.push(e);return t})(),Jr=["\u273D","\u2726","\u2727","\u2726"],Ys=class{constructor(e="Thinking..."){this.text=e,this.frame=0,this.interval=null,this.startTime=null}_render(){if(this._stopped)return;let e=jn[this.frame%jn.length],s="";for(let o=0;o<Ks;o++)s+=o===e?`${M.cyan}\u25CF${M.reset}`:" ";let n="";if(this.startTime){let o=Math.floor((Date.now()-this.startTime)/1e3);if(o>=60){let r=Math.floor(o/60),i=o%60;n=` ${M.dim}${r}m ${String(i).padStart(2,"0")}s${M.reset}`}else o>=1&&(n=` ${M.dim}${o}s${M.reset}`)}process.stderr.write(`\x1B[2K\r${s} ${M.dim}${this.text}${M.reset}${n}`),this.frame++}start(){this._stopped=!1,this.startTime=Date.now(),process.stderr.isTTY&&(process.stderr.write("\x1B[?25l"),this._render(),this.interval=setInterval(()=>this._render(),100))}update(e){this.text=e}stop(){this._stopped=!0,this.interval&&(clearInterval(this.interval),this.interval=null),process.stderr.isTTY&&process.stderr.write("\x1B[2K\r\x1B[?25h"),this.startTime=null}},Js=class{constructor(e){this.labels=e,this.statuses=e.map(()=>"running"),this.frame=0,this.interval=null,this.startTime=null,this.lineCount=e.length}_formatElapsed(){if(!this.startTime)return"";let e=Math.floor((Date.now()-this.startTime)/1e3);if(e<1)return"";let s=Math.floor(e/60),n=e%60;return s>0?`${s}m ${String(n).padStart(2,"0")}s`:`${n}s`}_render(){if(this._stopped)return;let e=jn[this.frame%jn.length],s=`${M.cyan}\u25CF${M.reset}`,n=`${M.dim}\u25CB${M.reset}`,o=this._formatElapsed(),r=o?` ${M.dim}${o}${M.reset}`:"",i="";for(let c=0;c<this.labels.length;c++){let l,u;switch(this.statuses[c]){case"done":l=`${M.green}\u2713${M.reset}`,u=M.dim;break;case"error":l=`${M.red}\u2717${M.reset}`,u=M.dim;break;default:l=c===e?s:" ",u=""}let d=c===this.labels.length-1?r:"";i+=`\x1B[2K ${l} ${u}${this.labels[c]}${M.reset}${d}
|
|
3
3
|
`}this.lineCount>0&&(i+=`\x1B[${this.lineCount}A`),process.stderr.write(i),this.frame++}start(){this._stopped=!1,this.startTime=Date.now();let e="\x1B[?25l";for(let s=0;s<this.lineCount;s++)e+=`
|
|
4
4
|
`;this.lineCount>0&&(e+=`\x1B[${this.lineCount}A`),process.stderr.write(e),this._render(),this.interval=setInterval(()=>this._render(),100)}update(e,s){e>=0&&e<this.statuses.length&&(this.statuses[e]=s)}stop(){this._stopped=!0,this.interval&&(clearInterval(this.interval),this.interval=null),this._renderFinal(),process.stderr.write("\x1B[?25h")}_renderFinal(){let e=this._formatElapsed(),s=e?` ${M.dim}${e}${M.reset}`:"",n="";for(let o=0;o<this.labels.length;o++){let r;switch(this.statuses[o]){case"done":r=`${M.green}\u2713${M.reset}`;break;case"error":r=`${M.red}\u2717${M.reset}`;break;default:r=`${M.yellow}\u25CB${M.reset}`}let i=o===this.labels.length-1?s:"";n+=`\x1B[2K ${r} ${M.dim}${this.labels[o]}${M.reset}${i}
|
|
5
5
|
`}process.stderr.write(n)}},qn={done:"\u2714",in_progress:"\u25FC",pending:"\u25FB",failed:"\u2717"},Dn={done:M.green,in_progress:M.cyan,pending:M.dim,failed:M.red},ut=null,Vs=class{constructor(e,s){this.name=e,this.tasks=s.map(n=>({id:n.id,description:n.description,status:n.status||"pending"})),this.frame=0,this.interval=null,this.startTime=null,this.tokens=0,this.lineCount=1+this.tasks.length,this._paused=!1}_formatElapsed(){if(!this.startTime)return"";let e=Math.floor((Date.now()-this.startTime)/1e3);if(e<1)return"";let s=Math.floor(e/60),n=e%60;return s>0?`${s}m ${String(n).padStart(2,"0")}s`:`${n}s`}_formatTokens(){return this.tokens<=0?"":this.tokens>=1e3?`${(this.tokens/1e3).toFixed(1)}k`:String(this.tokens)}_render(){if(this._stopped)return;let e=Jr[this.frame%Jr.length],s=this._formatElapsed(),n=this._formatTokens(),o=[s,n?`\u2193 ${n} tokens`:""].filter(Boolean).join(" \xB7 "),r=o?` ${M.dim}(${o})${M.reset}`:"",i=`\x1B[2K${M.cyan}${e}${M.reset} ${this.name}\u2026${r}
|
|
@@ -894,7 +894,7 @@ ${a.red}\u2717 No provider configured and no local Ollama detected.${a.reset}
|
|
|
894
894
|
`),ee(),le(P[Pe-1])):(Pe===P.length+1||Me==="\r"||Me===`
|
|
895
895
|
`)&&(process.stdout.write(`
|
|
896
896
|
`),process.stdin.isTTY&&process.stdin.setRawMode(!1),process.stdin.removeListener("data",U),process.stdout.write(` ${Q}\u203A${B} `),f.resume(),f.once("line",we=>{process.stdout.write(`
|
|
897
|
-
`),le(we.trim()||"")}))};function ee(){process.stdin.isTTY&&process.stdin.setRawMode(!1),process.stdin.removeListener("data",U),f.resume()}process.stdin.on("data",U)})});let m=new O$;m.activate(f);let g=l.providerName==="ollama"?l.model.id:`${l.providerName}:${l.model.id}`;k$(g,ct,{yolo:Jl()}),d.hasNewVersion&&console.log(`${a.yellow}\u{1F4A1} New version available!${a.reset} Run ${a.cyan}npm update -g nex-code${a.reset} to upgrade from ${a.dim}${d.currentVersion}${a.reset} to ${a.green}${d.latestVersion}${a.reset}
|
|
897
|
+
`),le(we.trim()||"")}))};function ee(){process.stdin.isTTY&&process.stdin.setRawMode(!1),process.stdin.removeListener("data",U),f.resume()}process.stdin.on("data",U)})});let m=new O$;m.activate(f),process.stdout.isTTY&&process.stdout.write("\x1B[H\x1B[2J\x1B[3J");let g=l.providerName==="ollama"?l.model.id:`${l.providerName}:${l.model.id}`;k$(g,ct,{yolo:Jl()}),d.hasNewVersion&&console.log(`${a.yellow}\u{1F4A1} New version available!${a.reset} Run ${a.cyan}npm update -g nex-code${a.reset} to upgrade from ${a.dim}${d.currentVersion}${a.reset} to ${a.green}${d.latestVersion}${a.reset}
|
|
898
898
|
`),await Yl(ct);let y=!1,$=0,x=!1,S=null;function k(){zl(),m.deactivate(),Gl(),process.stdin.isTTY&&process.stdout.write("\x1B[?2004l"),process.stdout.write("\x1B[r\x1B[H\x1B[2J\x1B[3J"),process.exit(0)}process.on("SIGTERM",k),process.on("exit",()=>{zl()}),f.on("SIGINT",()=>{if(Gl(),$++,$>=2){k();return}if(y){at&&at.abort();let{cancelPendingAskUser:q}=Be();q(),console.log(`
|
|
899
899
|
${a.yellow} Task cancelled. Press Ctrl+C again to exit.${a.reset}`),y=!1,f.setPrompt(Ne()),f.prompt()}else console.log(`${a.dim} (Press Ctrl+C again to exit)${a.reset}`),f.setPrompt(Ne()),f.prompt(),S&&clearTimeout(S),S=setTimeout(()=>{$=0,S=null},2e3)}),process.on("SIGINT",()=>{process.stdin.isTTY?($++,$>=2&&k()):k()});let v=!1,T=[],A=0,E={},F=!1;function j(){let q=T.join(`
|
|
900
900
|
`).replace(/\r/g,"").trim();if(T=[],v=!1,!q)return!0;A++,F=!0;let P=A;E[P]=q;let B=q.split(`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nex-code",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.43",
|
|
4
4
|
"description": "The open-source agentic coding CLI. Free with Ollama Cloud — switch to OpenAI, Anthropic or Gemini anytime. Alternative to Claude Code & Gemini CLI.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"nex-code": "./dist/nex-code.js"
|