@burtson-labs/bandit-stealth-cli 1.7.105 → 1.7.106
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/cli.js +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -1173,7 +1173,7 @@ ${a.accomplishments.topFiles.length>0?`
|
|
|
1173
1173
|
<h1>You're signed in.</h1>
|
|
1174
1174
|
<p>Bandit picked up your session. You can close this tab and return to your terminal.</p>
|
|
1175
1175
|
</div>
|
|
1176
|
-
</body></html>`;t(Lvr,"startLoopbackListener");t($vr,"openBrowser");t(Bvr,"buildDefaultDeviceLabel");t(zvr,"runOAuthSignIn")});var Hle=Ot((TAr,Uvr)=>{Uvr.exports={name:"@burtson-labs/bandit-stealth-cli",version:"1.7.
|
|
1176
|
+
</body></html>`;t(Lvr,"startLoopbackListener");t($vr,"openBrowser");t(Bvr,"buildDefaultDeviceLabel");t(zvr,"runOAuthSignIn")});var Hle=Ot((TAr,Uvr)=>{Uvr.exports={name:"@burtson-labs/bandit-stealth-cli",version:"1.7.106",description:"Bandit \u2014 a local-first AI coding agent for your terminal. Same runtime as the Bandit Stealth VS Code / Cursor extension.",keywords:["ai","agent","cli","coding-agent","llm","ollama","local-first","bandit","burtson-labs","terminal","repl","developer-tools"],homepage:"https://burtson.ai",bugs:{email:"team@burtson.ai"},license:"MIT",author:{name:"Burtson Labs",email:"team@burtson.ai",url:"https://burtson.ai"},bin:{bandit:"./dist/cli.js"},main:"dist/cli.js",files:["dist/cli.js","README.md","LICENSE"],engines:{node:">=20"},publishConfig:{access:"public"},scripts:{typecheck:"tsc -p tsconfig.json --noEmit",build:"node build.mjs","build:publish":"node build.mjs --publish",dev:"node build.mjs --watch",start:"node dist/cli.js",smoke:"node build.mjs && node dist/__smoke__/smoke.js",integration:"node build.mjs && node dist/__integration__/ollama.js",eval:"node build.mjs && node dist/__eval__/eval.js",benchmark:"node build.mjs && node dist/__eval__/benchmark.js","gen-logo":"node scripts/gen-logo.mjs","preview-banner":"node scripts/preview-banner.mjs",clean:"rm -rf dist",prepack:"node scripts/prepack.mjs",postpack:"node scripts/postpack.mjs",prepublishOnly:"pnpm run clean && pnpm run typecheck && pnpm run build:publish"},dependencies:{"pdf-parse":"^2.4.5"},devDependencies:{"@burtson-labs/agent-core":"workspace:*","@burtson-labs/host-kit":"workspace:*","@burtson-labs/stealth-core-runtime":"workspace:*","@types/node":"^20.11.0","@types/pdf-parse":"^1.1.5","@types/pngjs":"^6.0.5",esbuild:"^0.28.0",pngjs:"^7.0.0",typescript:"^5.4.0"}}});var d1r={};module.exports=c9t(d1r);var Km=Au(require("fs")),GNe=Au(require("os")),hm=Au(require("path")),Y9=Au(require("readline")),Kle=Au(require("child_process")),yy=Au(Xce()),OF=Au(_Ne());var EF=Au(require("fs")),dNe=Au(require("os")),sN=Au(require("path")),zV=Au(require("child_process"));function PF(a){return a==="~"?dNe.homedir():a.startsWith("~/")?sN.join(dNe.homedir(),a.slice(2)):a}t(PF,"expandHome");var J9=16*1024,BV=32*1024,Tut=1e4,Uyr=3e4,pNe=200,mNe=new Set(["node_modules",".git","dist","build","out",".next",".turbo","coverage","target","__pycache__",".venv","venv"]);function Jyr(a){let s=t(d=>{let f=d.match(/^(.*?)\{([^}]+)\}(.*)$/);if(!f)return[d];let[,v,w,I]=f;return w.split(",").map(j=>`${v}${j.trim()}${I}`)},"braceExpand"),l=a.match(/^([^*{}]+?)\/\*\*\/(.+)$/);if(l){let[,d,f]=l;return{includes:s(f),subDir:d}}return{includes:s(a),subDir:""}}t(Jyr,"expandGlobForGrep");var q9=class{constructor(s,l,d={}){this.workspaceRoot=s;this.languageAdapters=l;this.options=d;this._readFiles=new Set}static{t(this,"CliToolExecutionContext")}markFileRead(s){this._readFiles.add(PF(s))}hasFileBeenRead(s){return this._readFiles.has(PF(s))}async readFile(s){return EF.promises.readFile(PF(s),"utf-8")}async writeFile(s,l){let d=PF(s);if(this.options.approveWrite&&!await this.options.approveWrite(d,l))throw new Error(`Write to ${d} rejected by user`);await EF.promises.mkdir(sN.dirname(d),{recursive:!0}),await EF.promises.writeFile(d,l,"utf-8")}async listFiles(s,l){let d=PF(l??this.workspaceRoot),f=qyr(s),v=[];return await kut(d,d,f,v),v.slice(0,pNe).sort()}async listDirectoryEntries(s){let l=PF(s),d=await EF.promises.readdir(l,{withFileTypes:!0}),f=[];for(let v of d){if(v.name.startsWith("."))continue;let w=v.isDirectory();if(v.isSymbolicLink())try{w=(await EF.promises.stat(sN.join(l,v.name))).isDirectory()}catch{w=!1}f.push(w?`${v.name}/`:v.name)}return f.sort()}async searchCode(s,l,d){let f=PF(l??this.workspaceRoot);return this.runRipgrep(s,f,d).catch(()=>this.runGrep(s,f,d))}async runCommand(s,l,d){return new Promise(f=>{let v="",w="",I=zV.spawn(s,l,{cwd:d??this.workspaceRoot,shell:process.platform==="win32",env:{...process.env}}),j=setTimeout(()=>{I.kill("SIGTERM"),f({stdout:v.slice(0,BV),stderr:w+`
|
|
1177
1177
|
[process timed out]`,exitCode:124})},Uyr);I.stdout?.on("data",z=>{v+=z.toString(),v.length>BV&&I.kill("SIGTERM")}),I.stderr?.on("data",z=>{w+=z.toString()}),I.on("close",z=>{clearTimeout(j),f({stdout:v.slice(0,BV),stderr:w.slice(0,4*1024),exitCode:z??0})}),I.on("error",z=>{clearTimeout(j),f({stdout:"",stderr:z.message,exitCode:1})})})}async watchCommand(s,l,d,f){return new Promise(v=>{let w="",I="",j=!1,z=!1,W=zV.spawn(s,l,{cwd:d??this.workspaceRoot,shell:process.platform==="win32",env:{...process.env}}),Q=t(Ce=>{z||(z=!0,v({stdout:w.slice(0,BV),stderr:I.slice(0,4*1024),exitCode:Ce,endedEarly:j}))},"finish"),V=setTimeout(()=>{try{W.kill("SIGTERM")}catch{}let Ce=setTimeout(()=>{try{W.kill("SIGKILL")}catch{}Q(null)},1e3);W.once("close",we=>{clearTimeout(Ce),Q(typeof we=="number"?we:null)})},f);W.stdout?.on("data",Ce=>{if(w+=Ce.toString(),w.length>BV)try{W.kill("SIGTERM")}catch{}}),W.stderr?.on("data",Ce=>{I+=Ce.toString()}),W.on("close",Ce=>{z||(clearTimeout(V),j=!0,Q(typeof Ce=="number"?Ce:null))}),W.on("error",Ce=>{z||(clearTimeout(V),j=!0,I+=Ce.message,Q(1))})})}runRipgrep(s,l,d){return new Promise((f,v)=>{let w=["--color=never","--line-number","--max-count=25","--max-filesize=1M",...[...mNe].map(W=>["--glob",`!${W}`]).flat()];d&&w.push("--glob",d),w.push(s,l);let I="",j=zV.spawn("rg",w,{shell:!1}),z=setTimeout(()=>{j.kill("SIGTERM"),f(I.slice(0,J9))},Tut);j.stdout?.on("data",W=>{I+=W.toString(),I.length>J9&&j.kill("SIGTERM")}),j.on("close",W=>{clearTimeout(z),W!=null&&W>=2&&I.length===0?v(new Error(`rg exited with code ${W}`)):f(I.slice(0,J9))}),j.on("error",v)})}runGrep(s,l,d){return new Promise((f,v)=>{let w=[...mNe].map(we=>["--exclude-dir",we]).flat(),I=d?Jyr(d):{includes:[],subDir:""},j=I.includes.flatMap(we=>["--include",we]),z=I.subDir?`${l}/${I.subDir}`:l,W=["-rn","-E","--color=never",...w,...j,s,z],Q="",V=zV.spawn("grep",W,{shell:!1}),Ce=setTimeout(()=>{V.kill("SIGTERM"),f(Q.slice(0,J9))},Tut);V.stdout?.on("data",we=>{Q+=we.toString(),Q.length>J9&&V.kill("SIGTERM")}),V.on("close",we=>{clearTimeout(Ce),we!=null&&we>=2&&Q.length===0?v(new Error(`grep exited with code ${we}`)):f(Q.slice(0,J9))}),V.on("error",v)})}};function qyr(a){let s=Wyr(a);return l=>s.test(l.replace(/\\/g,"/"))}t(qyr,"compileGlob");function Wyr(a){let s="^";for(let l=0;l<a.length;l++){let d=a[l];if(d==="*")a[l+1]==="*"?(s+=".*",l++,a[l+1]==="/"&&l++):s+="[^/]*";else if(d==="?")s+="[^/]";else if(d==="{"){let f=a.indexOf("}",l);if(f===-1){s+="\\{";continue}let v=a.slice(l+1,f).split(",").map(Vyr).join("|");s+=`(?:${v})`,l=f}else/[.+^$()|\\]/.test(d)?s+="\\"+d:s+=d}return s+="$",new RegExp(s)}t(Wyr,"globToRegex");function Vyr(a){return a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}t(Vyr,"escapeRegex");async function kut(a,s,l,d){if(d.length>=pNe)return;let f;try{f=await EF.promises.readdir(a,{withFileTypes:!0})}catch{return}for(let v of f){if(d.length>=pNe)return;if(mNe.has(v.name))continue;let w=sN.join(a,v.name),I=sN.relative(s,w);v.isDirectory()?await kut(w,s,l,d):v.isFile()&&l(I)&&d.push(w)}}t(kut,"walk");var wut=Au(require("child_process")),zP=Au(require("fs")),Cut=Au(require("os")),gNe=Au(require("path")),Put=Au(require("crypto"));function hNe(){let a=Put.randomBytes(4).toString("hex");return gNe.join(Cut.tmpdir(),`bandit-paste-${Date.now()}-${a}.png`)}t(hNe,"freshTempPath");function Nle(a,s,l={}){try{let d=wut.spawnSync(a,s,{...l,encoding:void 0});return{stdout:Buffer.isBuffer(d.stdout)?d.stdout:Buffer.from(d.stdout??""),code:d.status}}catch{return{stdout:Buffer.alloc(0),code:null}}}t(Nle,"tryExec");async function Ole(){return process.platform==="darwin"?Zyr():process.platform==="linux"?Hyr():process.platform==="win32"?Gyr():null}t(Ole,"readClipboardImage");function Zyr(){let a=hNe(),s=`set pngData to (the clipboard as \xABclass PNGf\xBB)
|
|
1178
1178
|
set outFile to (open for access (POSIX file "${a}") with write permission)
|
|
1179
1179
|
write pngData to outFile
|
package/package.json
CHANGED