@abacus-ai/cli 2.3.0-canary.1 → 2.3.0
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/index.mjs +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -73260,7 +73260,7 @@ $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,`$1$2`).replace(/\
|
|
|
73260
73260
|
`:`
|
|
73261
73261
|
`)+n,i=r+1,r=e.indexOf(`
|
|
73262
73262
|
`,i)}while(r!==-1);return a+=e.slice(i),a}const{stdout:KO,stderr:qO}=UO,JO=Symbol(`GENERATOR`),YO=Symbol(`STYLER`),XO=Symbol(`IS_EMPTY`),ZO=[`ansi`,`ansi`,`ansi256`,`ansi16m`],QO=Object.create(null),$O=(e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw Error("The `level` option should be an integer from 0 to 3");let n=KO?KO.level:0;e.level=t.level===void 0?n:t.level},ek=e=>{let t=(...e)=>e.join(` `);return $O(t,e),Object.setPrototypeOf(t,tk.prototype),t};function tk(e){return ek(e)}Object.setPrototypeOf(tk.prototype,Function.prototype);for(let[e,t]of Object.entries(FO))QO[e]={get(){let n=ak(this,ik(t.open,t.close,this[YO]),this[XO]);return Object.defineProperty(this,e,{value:n}),n}};QO.visible={get(){let e=ak(this,this[YO],!0);return Object.defineProperty(this,`visible`,{value:e}),e}};const nk=(e,t,n,...r)=>e===`rgb`?t===`ansi16m`?FO[n].ansi16m(...r):t===`ansi256`?FO[n].ansi256(FO.rgbToAnsi256(...r)):FO[n].ansi(FO.rgbToAnsi(...r)):e===`hex`?nk(`rgb`,t,n,...FO.hexToRgb(...r)):FO[n][e](...r);for(let e of[`rgb`,`hex`,`ansi256`]){QO[e]={get(){let{level:t}=this;return function(...n){let r=ik(nk(e,ZO[t],`color`,...n),FO.color.close,this[YO]);return ak(this,r,this[XO])}}};let t=`bg`+e[0].toUpperCase()+e.slice(1);QO[t]={get(){let{level:t}=this;return function(...n){let r=ik(nk(e,ZO[t],`bgColor`,...n),FO.bgColor.close,this[YO]);return ak(this,r,this[XO])}}}}const rk=Object.defineProperties(()=>{},{...QO,level:{enumerable:!0,get(){return this[JO].level},set(e){this[JO].level=e}}}),ik=(e,t,n)=>{let r,i;return n===void 0?(r=e,i=t):(r=n.openAll+e,i=t+n.closeAll),{open:e,close:t,openAll:r,closeAll:i,parent:n}},ak=(e,t,n)=>{let r=(...e)=>ok(r,e.length===1?``+e[0]:e.join(` `));return Object.setPrototypeOf(r,rk),r[JO]=e,r[YO]=t,r[XO]=n,r},ok=(e,t)=>{if(e.level<=0||!t)return e[XO]?``:t;let n=e[YO];if(n===void 0)return t;let{openAll:r,closeAll:i}=n;if(t.includes(`\x1B`))for(;n!==void 0;)t=WO(t,n.close,n.open),n=n.parent;let a=t.indexOf(`
|
|
73263
|
-
`);return a!==-1&&(t=GO(t,i,r,a)),r+t+i};Object.defineProperties(tk.prototype,QO);const sk=tk();tk({level:qO?qO.level:0});var ck=U(((e,t)=>{t.exports={name:`@codellm/cli`,version:`2.3.0
|
|
73263
|
+
`);return a!==-1&&(t=GO(t,i,r,a)),r+t+i};Object.defineProperties(tk.prototype,QO);const sk=tk();tk({level:qO?qO.level:0});var ck=U(((e,t)=>{t.exports={name:`@codellm/cli`,version:`2.3.0`,private:!0,bin:{abacusai:`dist/index.mjs`},files:[`dist`,`LICENSE.txt`],type:`module`,scripts:{"prepare-publish":`bun ./scripts/prepare-publish.ts`,build:`tsdown`,"check-types":`tsgo -b --noEmit`,test:`FORCE_COLOR=1 vitest run`,"test:watch":`FORCE_COLOR=1 vitest`,"test:ui":`FORCE_COLOR=1 vitest --ui`,"test:coverage":`FORCE_COLOR=1 vitest run --coverage`},dependencies:{"@clack/prompts":`^0.11.0`,"@codellm/agent":`workspace:*`,"@codellm/api":`workspace:*`,"@codellm/auth":`workspace:*`,"@codellm/comms":`workspace:*`,"@codellm/jar":`workspace:*`,"@codellm/product":`workspace:*`,"@orpc/client":`catalog:`,"@orpc/contract":`catalog:`,"@orpc/server":`catalog:`,"@sentry/node-core":`^10.42.0`,"@slack/web-api":`^7.0.0`,"@tanstack/react-query":`^5.90.19`,"@vscode/ripgrep":`^1.17.0`,"ansi-styles":`^6.2.3`,"beautiful-mermaid":`^1.1.3`,chalk:`^5.6.2`,"cli-boxes":`^4.0.1`,"cli-highlight":`^2.1.11`,conf:`^15.0.2`,diff:`^8.0.3`,fzf:`^0.5.2`,"gradient-string":`^3.0.0`,immer:`^11.1.4`,"isomorphic-git":`^1.36.1`,marked:`^17.0.4`,"patchright-core":`^1.58.2`,react:`^19.2.3`,"react-compiler-runtime":`^1.0.0`,remend:`^1.2.2`,semver:`^7.7.4`,"shell-history":`^2.0.1`,"string-width":`^8.1.0`,"strip-ansi":`^7.2.0`,trash:`^9.0.0`,zod:`catalog:`},devDependencies:{"@codellm/configs":`workspace:*`,"@playwright/mcp":`^0.0.68`,"@types/diff":`^8.0.0`,"@types/node":`catalog:`,"@types/react":`^19.2.9`,"@types/semver":`^7.7.1`,"@typescript/native-preview":`catalog:`,"@vitejs/plugin-react":`^5.1.2`,"@vitest/coverage-v8":`^4.0.18`,"@vitest/ui":`^4.0.18`,"@xterm/addon-serialize":`^0.14.0`,"@xterm/headless":`^6.0.0`,"babel-plugin-react-compiler":`^1.0.0`,"cli-testing-library":`^3.0.1`,jsdom:`^27.4.0`,"node-pty":`^1.1.0`,"react-devtools-core":`^6.1.5`,"svg-term-cli":`^2.1.1`,tsdown:`^0.21.0`,vite:`catalog:`,vitest:`^4.0.18`},engines:{node:`>=18`}}})),lk=Ee(ck(),1);let uk=null;function dk(e){let t=(0,cO.prerelease)(e);return t&&t.length>0&&typeof t[0]==`string`?t[0]:`latest`}function fk(){let e=process.env.npm_command;if(e===`exec`||e===`dlx`)return!0;let t=process.argv[1]??``;return!!/_npx[/\\]|[/\\]dlx[/\\]|\.cache[/\\]/.test(t)}function pk(){if(process.versions.bun===void 0)return!1;let e=process.argv[1]??process.argv[0]??``;return/[/\\]\.abacusai[/\\]bin[/\\]/.test(e)}function mk(){let e=`${Le.internalEnvPrefix}DEV`,t=process.env[e];if(t===`1`||t===`true`)return!0;let n=process.argv[1]??``;try{n=x(n)}catch{}if(/[/\\]\.abacusai[/\\]bin[/\\]/.test(n))return!1;let r=/[/\\]node_modules[/\\]/.test(n)||/[/\\]\.npm[/\\]/.test(n)||/[/\\]\.bun[/\\]/.test(n),i=!!process.env.npm_config_user_agent;return!r&&!i}function hk(){return`${process.platform===`win32`?`win32`:process.platform===`darwin`?`darwin`:`linux`}-${process.arch===`arm64`?`arm64`:`x64`}`}function gk(){let e=process.env.npm_config_user_agent;if(e){let t=e.split(`/`)[0];if(t===`yarn`||t===`pnpm`||t===`bun`||t===`npm`)return t}let t=process.argv[1]??``;return t.includes(`yarn`)?`yarn`:t.includes(`pnpm`)?`pnpm`:t.includes(`bun`)?`bun`:`npm`}async function _k(e){let t=Date.now();if(uk&&t-uk.timestamp<6e4)return uk.tags;let n=await fetch(`https://registry.npmjs.org/${e}`,{signal:AbortSignal.timeout(1e4),headers:{accept:`application/json`}});if(!n.ok)throw Error(`Registry returned ${n.status}`);let r=(await n.json())[`dist-tags`]??{};return uk={tags:r,timestamp:t},r}async function vk(e,t,n,r){let i=t??dk(e),a=(r??`https://apps.abacus.ai`).replace(/\/$/,``),o=new URL(`${a}/api/v0/_getCodellmCliVersion`);o.searchParams.set(`channel`,i),n&&o.searchParams.set(`platform`,n),o.searchParams.set(`cli_version`,e);let s=await fetch(o.toString(),{signal:AbortSignal.timeout(1e4)});if(s.status===204)return null;if(!s.ok)throw Error(`API returned ${s.status}`);let c=await s.json();return{currentVersion:e,latestVersion:c.result.version,tag:c.result.channel,packageManager:gk(),isEphemeral:fk(),downloadUrl:c.result.url}}async function yk(e){let t=dk(e),n=gk(),r=fk(),i=(await _k(Re.publishName))[t];return!i&&t!==`latest`||!i||i===e?null:{currentVersion:e,latestVersion:i,tag:t,packageManager:n,isEphemeral:r}}async function bk(e,t,n){if(pk())try{return await vk(e,t,hk(),n)}catch{return null}return await yk(e)}function xk(){return`${Le.binName} upgrade`}function Sk(e){let t=`${Re.publishName}@${e.tag}`;switch(e.packageManager){case`yarn`:return`yarn global add ${t}`;case`pnpm`:return`pnpm add -g ${t}`;case`bun`:return`bun add -g ${t}`;default:return`npm install -g ${t}`}}function Ck(e){try{return d(Sk(e),{stdio:`pipe`}),!0}catch{return!1}}function wk(e){try{return{ok:!0,output:d(Sk(e),{stdio:`pipe`,encoding:`utf-8`}).trim()}}catch(e){return{ok:!1,output:e instanceof Error&&`stderr`in e?String(e.stderr).trim():e instanceof Error?e.message:`Unknown error`}}}async function Tk(e){if(!e.downloadUrl)return{ok:!1,output:`No download URL`};let n=w.join(t.tmpdir(),`abacusai-update-${Date.now()}`),r=w.join(t.homedir(),`.${Le.configDirName}`,`bin`),i=process.platform===`win32`,a=i?`${Le.binName}.exe`:Le.binName;try{await L.mkdir(n,{recursive:!0});let t=w.join(n,i?`update.zip`:`update.tar.gz`),o=await fetch(e.downloadUrl);if(!o.ok)throw Error(`Download failed: ${o.status}`);let s=Buffer.from(await o.arrayBuffer());await L.writeFile(t,s),d(i?`powershell -Command "Expand-Archive -Path '${t}' -DestinationPath '${n}' -Force"`:`tar -xzf "${t}" -C "${n}"`,{stdio:`pipe`});let c=w.join(n,a),l=w.join(r,a);return await L.copyFile(c,l),i||await L.chmod(l,493),{ok:!0,output:`Updated to ${e.latestVersion}`}}catch(e){return{ok:!1,output:e instanceof Error?e.message:`Unknown error`}}finally{await L.rm(n,{recursive:!0,force:!0}).catch(()=>{})}}function Ek(e,t){let n=e=>{let n=e.toLowerCase();if(n===t)return 1e3;if(n.startsWith(t))return 900;let r=0,i=-1;for(let e of t){let t=n.indexOf(e,i+1);if(t===-1)return 0;r+=100-(t-i),i=t}return r+=Math.max(0,50-n.length),r},r=null,i=0;for(let t of e){let e=Math.max(n(t.name??``),n(t.llmName));e>i&&(i=e,r=t.llmName)}return i>=100?r:null}async function Dk(e,t){let n=(await e.listLLMModels())?.result??[];return n.length||(process.stderr.write(`Error: No models available.
|
|
73264
73264
|
`),process.exit(1)),t?Ek(n,t.toLowerCase())||(process.stderr.write(`Warning: Model "${t}" not found. Using default: ${n[0].llmName}\n`),n[0].llmName):n[0].llmName}const Ok=T.join(i(),Le.configDirName,Le.logsDirName),kk=T.join(Ok,`cli.log`);let Ak=!1;function jk(){if(!Ak)try{v(Ok)||y(Ok,{recursive:!0}),Ak=!0}catch{}}function Mk(e){return e.length===0?``:` `+e.map(e=>{if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return String(e)}}).join(` `)}function Nk(e,t,n){jk();let r=`[${new Date().toISOString()}] [${e}] ${t instanceof Error?`${t.message}${t.stack?`
|
|
73265
73265
|
`+t.stack:``}`:String(t)}${Mk(n)}\n`;try{g(kk,r)}catch{}}const Pk={error(e,...t){Nk(`ERROR`,e,t)},warn(e,...t){Nk(`WARN`,e,t)},info(e,...t){Nk(`INFO`,e,t)},debug(...e){Nk(`DEBUG`,e[0]??``,e.slice(1))},trace(e,...t){Nk(`TRACE`,e,t)}},Fk=new Set,Ik=new Set,Lk=new Set;let Rk=!1,zk=!1,Bk=null,Vk;async function Hk(e){let t=e.map(e=>new Promise(t=>{let n=`writableLength`in e?e.writableLength:0;if((`bufferSize`in e?e.bufferSize:n)===0){t();return}let r=e.write.bind(e),i=!1,a=()=>{let n=`writableLength`in e?e.writableLength:0;(`bufferSize`in e?e.bufferSize:n)===0&&!i&&(i=!0,e.write=r,t())};e.once(`drain`,a),e.write(``,`utf-8`,()=>{a()}),e.write=function(){return!1}}));await Promise.all(t)}async function Uk(e,t,n,r){if(Rk)return;r?.debug?.(`Executing exit handlers`,{shouldManuallyExit:e,isSynchronous:t,signal:n,asyncCallbacks:Fk.size,syncCallbacks:Ik.size}),Rk=!0,Fk.size>0&&t&&console.error([`SYNCHRONOUS TERMINATION NOTICE:`,`When explicitly exiting the process via process.exit or via a parent process,`,`asynchronous tasks in your exitHooks will not run. Either remove these tasks,`,`use gracefulExit() instead of process.exit(), or ensure your parent process`,`sends a SIGINT to the process running this code.`].join(` `));let i=0;n>0?i=128+n:Vk===void 0?(typeof B.exitCode==`number`||typeof B.exitCode==`string`)&&(i=Number(B.exitCode)):i=Vk;let a=(t=!1)=>{(t||e)&&(Bk?Bk.call(B,i):B.exit(i))};for(let e of Ik)try{e(i)}catch(e){console.error(`Error in synchronous exit hook:`,e)}if(t){a();return}let o=[],s=0;for(let[e,t]of Fk)s=Math.max(s,t),o.push(Promise.resolve(e(i)).catch(e=>{console.error(`Error in asynchronous exit hook:`,e)}));let c=Array.from(Lk);c.length>0&&o.push(Hk(c));let l=setTimeout(()=>{a(!0)},s);try{await Promise.all(o),clearTimeout(l),a()}catch(e){clearTimeout(l),console.error(`Error during exit cleanup:`,e),a(!0)}}function Wk(){zk||(zk=!0,B.once(`beforeExit`,()=>{Uk(!0,!1,-128)}),B.once(`SIGINT`,()=>{Uk(!0,!1,2)}),B.once(`SIGTERM`,()=>{Uk(!0,!1,15)}),B.once(`exit`,()=>{Uk(!1,!0,0)}),B.on(`message`,e=>{e===`shutdown`&&Uk(!0,!0,-128)}),Bk||(Bk=B.exit.bind(B),B.exit=function(e){if(Vk===void 0&&(Vk=e??0),Fk.size===0&&Lk.size===0){if(Bk){Bk(e??0);return}B.exit(e??0)}Uk(!0,!1,-128).catch(e=>{console.error(`Error during exit:`,e),Bk?Bk(1):B.exit(1)})}))}function Gk(e,t){if(typeof e!=`function`)throw TypeError(`callback must be a function`);if(Rk)throw Error(`Cannot install exit hook while exit handlers are running`);t?.logger?.debug?.(`Registering exit hook`,{wait:t?.wait,hasStreams:t?.streams!==void 0}),Wk();let n=t?.wait??0,r=t?.streams??[B.stdout,B.stderr];if(n>0){let t=[e,n];Fk.add(t);for(let e of r)Lk.add(e);return()=>{Fk.delete(t);for(let e of r)Lk.delete(e)}}return Ik.add(e),()=>{Ik.delete(e)}}function Kk(e){e!==void 0&&(B.exitCode=e),Uk(!0,!1,-128)}function qk(e){process.stdout.write(JSON.stringify(e)+`
|
|
73266
73266
|
`)}function Jk(e){try{return JSON.parse(e)}catch{return null}}async function Yk({agentArgs:e}){let t=await EO.create(),n=new Ie(t,{error:(e,...t)=>Pk.error(e,...t),debug:(...e)=>Pk.debug(...e),warn:(e,...t)=>Pk.warn(e,...t)});if(!t.isAuthenticated())try{(await n.getUserInfo())?.result?.email||(process.stderr.write(`Error: Not authenticated. Set ABACUS_DEVICE_CODE environment variable.
|