@abacus-ai/cli 2.5.0-canary.3 → 2.5.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
|
@@ -75178,7 +75178,7 @@ No matching component was found for:
|
|
|
75178
75178
|
* This source code is licensed under the MIT license found in the
|
|
75179
75179
|
* LICENSE file in the root directory of this source tree.
|
|
75180
75180
|
*/
|
|
75181
|
-
var fPe=G((e=>{var t=MY().__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;e.c=function(e){return t.H.useMemoCache(e)}})),gQ=G(((e,t)=>{t.exports=fPe()}))();function $(e){let t=(0,gQ.c)(14),{color:n,backgroundColor:r,dimColor:i,bold:a,italic:o,underline:s,strikethrough:c,inverse:l,wrap:u,transform:d,children:f}=e,p=i===void 0?!1:i,m=a===void 0?!1:a,h=o===void 0?!1:o,g=s===void 0?!1:s,_=c===void 0?!1:c,v=l===void 0?!1:l,y=u===void 0?`wrap`:u;if(f==null)return null;let b;t[0]!==r||t[1]!==m||t[2]!==n||t[3]!==p||t[4]!==v||t[5]!==h||t[6]!==_||t[7]!==g||t[8]!==d?(b=e=>(p&&(e=iQ().dim().render(e)),n&&(e=rQ(e,n,`foreground`)),r&&(e=rQ(e,r,`background`)),m&&(e=iQ().bold().render(e)),h&&(e=iQ().italic().render(e)),g&&(e=iQ().underline().render(e)),_&&(e=iQ().strikethrough().render(e)),v&&(e=iQ().reverse().render(e)),d&&(e=d(e)),e),t[0]=r,t[1]=m,t[2]=n,t[3]=p,t[4]=v,t[5]=h,t[6]=_,t[7]=g,t[8]=d,t[9]=b):b=t[9];let x=b,S;return t[10]!==f||t[11]!==x||t[12]!==y?(S=(0,Z.jsx)(`jar-text`,{style:{flexGrow:0,flexShrink:0,flexDirection:`row`,textWrap:y},internal_transform:x,children:f}),t[10]=f,t[11]=x,t[12]=y,t[13]=S):S=t[13],S}const pPe=/\x1b\[[\d:]*;(\d+)/;function mPe(e){let t=pPe.exec(e);return t?(parseInt(t[1],10)-1&8)!=0:!1}const _Q={upArrow:!1,downArrow:!1,leftArrow:!1,rightArrow:!1,pageDown:!1,pageUp:!1,home:!1,end:!1,return:!1,escape:!1,ctrl:!1,shift:!1,tab:!1,backspace:!1,delete:!1,meta:!1,super:!1,paste:!1,raw:``},vQ=(e,t={})=>{let{addInputListener:n}=(0,X.use)(jZ),r=(0,X.useRef)(e);r.current=e,(0,X.useEffect)(()=>{if(t.isActive!==!1)return n(e=>{if(lX(e))return;if(e.startsWith(`\x1B[200~`)){let t=e.indexOf(`\x1B[201~`),n=t===-1?e.slice(6):e.slice(6,t);_Q.upArrow=!1,_Q.downArrow=!1,_Q.leftArrow=!1,_Q.rightArrow=!1,_Q.pageDown=!1,_Q.pageUp=!1,_Q.home=!1,_Q.end=!1,_Q.return=!1,_Q.escape=!1,_Q.ctrl=!1,_Q.shift=!1,_Q.tab=!1,_Q.backspace=!1,_Q.delete=!1,_Q.meta=!1,_Q.super=!1,_Q.paste=!0,_Q.raw=e,r.current(n,{..._Q});return}let t=xMe(e),n=t?t.split(`+`):[],i=n[n.length-1]??``,a=n.includes(`ctrl`),o=n.includes(`shift`),s=n.includes(`alt`);_Q.upArrow=i===`up`,_Q.downArrow=i===`down`,_Q.leftArrow=i===`left`,_Q.rightArrow=i===`right`,_Q.pageDown=i===`pagedown`,_Q.pageUp=i===`pageup`,_Q.home=i===`home`,_Q.end=i===`end`,_Q.return=i===`return`||i===`enter`,_Q.escape=i===`escape`,_Q.ctrl=a,_Q.shift=o,_Q.tab=i===`tab`,_Q.backspace=i===`backspace`,_Q.delete=i===`delete`,_Q.meta=s,_Q.super=mPe(e),_Q.paste=!1,_Q.raw=e;let c=_Q,l=``;if(a&&i)l=i;else if(!c.upArrow&&!c.downArrow&&!c.leftArrow&&!c.rightArrow&&!c.pageDown&&!c.pageUp&&!c.home&&!c.end&&!c.return&&!c.escape&&!c.tab&&!c.backspace&&!c.delete){let t=wMe(e);t===void 0?e.length===1?l=e:i.length===1&&(l=i):l=t}r.current(l,{...c})})},[t.isActive,n])},hPe=()=>{let e=(0,X.use)(MZ);if(!e)throw Error(`useApp must be used within a jar render context`);return{exit:e.exit,requestFullRedraw:e.requestFullRedraw}},yQ=e=>{let t=(0,gQ.c)(23),n;t[0]===e?n=t[1]:(n=e===void 0?{}:e,t[0]=e,t[1]=n);let{isActive:r,autoFocus:i,id:a}=n,o=r===void 0?!0:r,s=i===void 0?!1:i,{activeId:c,add:l,remove:u,activate:d,deactivate:f,focus:p}=(0,X.use)(kZ),m;t[2]===a?m=t[3]:(m=a??Math.random().toString().slice(2,7),t[2]=a,t[3]=m);let h=m,g;t[4]!==l||t[5]!==s||t[6]!==h||t[7]!==u?(g=()=>(l(h,{autoFocus:s}),()=>{u(h)}),t[4]=l,t[5]=s,t[6]=h,t[7]=u,t[8]=g):g=t[8];let _;t[9]!==s||t[10]!==h?(_=[h,s],t[9]=s,t[10]=h,t[11]=_):_=t[11],(0,X.useEffect)(g,_);let v;t[12]!==d||t[13]!==f||t[14]!==h||t[15]!==o?(v=()=>{o?d(h):f(h)},t[12]=d,t[13]=f,t[14]=h,t[15]=o,t[16]=v):v=t[16];let y;t[17]!==h||t[18]!==o?(y=[o,h],t[17]=h,t[18]=o,t[19]=y):y=t[19],(0,X.useEffect)(v,y);let b=!!h&&c===h,x;return t[20]!==p||t[21]!==b?(x={isFocused:b,focus:p},t[20]=p,t[21]=b,t[22]=x):x=t[22],x};function bQ(){return(0,X.use)(AZ)}const xQ=()=>{let e=(0,X.use)(NZ);if(!e)throw Error(`useTerminal must be used within a jar render context`);return e.output},SQ=RegExp(`[\\x1b\\x9b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><~]|\\x1b\\][\\s\\S]*?(?:\\x07|\\x1b\\\\)`,`g`);function gPe(){return new RegExp(SQ.source,`g`)}function _Pe(e){return e.replace(SQ,``)}function vPe(e){return e.replace(/[\x07\x1b\x9c]/g,``)}function CQ(e){return`\x1B]2;`+vPe(e)+`\x07`}var wQ=G(((e,t)=>{t.exports={name:`@codellm/cli`,version:`2.5.0-canary.3`,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/logging":`workspace:*`,"@codellm/product":`workspace:*`,"@logtape/logtape":`catalog:`,"@orpc/client":`catalog:`,"@orpc/contract":`catalog:`,"@orpc/server":`catalog:`,"@sentry/node-core":`catalog:`,"@slack/web-api":`^7.0.0`,"@tanstack/react-query":`catalog:`,"@vscode/ripgrep":`catalog:`,"ansi-styles":`catalog:`,"beautiful-mermaid":`^1.1.3`,"cli-boxes":`catalog:`,"cli-highlight":`^2.1.11`,conf:`catalog:`,diff:`catalog:`,fzf:`catalog:`,"gradient-string":`^3.0.0`,immer:`catalog:`,"isomorphic-git":`catalog:`,marked:`^17.0.6`,"node-notifier":`catalog:`,"patchright-core":`catalog:`,react:`catalog:react`,"react-compiler-runtime":`^1.0.0`,remend:`^1.3.0`,semver:`catalog:`,"shell-history":`^2.0.1`,"string-width":`catalog:`,"strip-ansi":`catalog:`,trash:`catalog:`,zod:`catalog:`},devDependencies:{"@babel/core":`catalog:infra`,"@codellm/configs":`workspace:*`,"@playwright/mcp":`^0.0.68`,"@rolldown/plugin-babel":`catalog:infra`,"@types/diff":`^8.0.0`,"@types/node":`catalog:`,"@types/react":`catalog:react`,"@types/semver":`^7.7.1`,"@typescript/native-preview":`catalog:infra`,"@vitejs/plugin-react":`catalog:infra`,"@vitest/coverage-v8":`^4.1.5`,"@vitest/ui":`^4.1.5`,"@xterm/addon-serialize":`^0.14.0`,"@xterm/headless":`^6.0.0`,"babel-plugin-react-compiler":`catalog:infra`,"cli-testing-library":`^3.0.1`,jsdom:`^27.4.0`,"react-devtools-core":`^6.1.5`,"svg-term-cli":`^2.1.1`,tsdown:`catalog:infra`,vite:`catalog:infra`,vitest:`catalog:infra`,zigpty:`^0.1.6`},engines:{node:`>=18`}}})),TQ=$e(wQ(),1);let EQ=null;function DQ(e){let t=(0,_Y.prerelease)(e);return t&&t.length>0&&typeof t[0]==`string`?t[0]:`latest`}function OQ(e){if(!e)return``;try{return T(e)}catch{return e}}function kQ(){return{invokedPath:OQ(process.argv[1]??``),execPath:OQ(process.execPath??process.argv[0]??``)}}function AQ(e){let t=hn.configDirName.replace(/^\./,``).replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);return RegExp(`[/\\\\]\\.?${t}[/\\\\]bin[/\\\\]`,`i`).test(e)}function jQ(e){return/[/\\]node_modules[/\\]/.test(e)||/[/\\]\._npx[/\\]/.test(e)||/[/\\]_npx[/\\]/.test(e)||/[/\\]\.?npm[/\\]/.test(e)||/[/\\]\.?pnpm[/\\]/.test(e)||/[/\\]\.?yarn[/\\]/.test(e)||/[/\\]\.bun[/\\]/.test(e)}function MQ(){let e=(process.env.npm_command??``).toLowerCase();if(e===`exec`||e===`dlx`)return!0;let{invokedPath:t,execPath:n}=kQ();return/[/\\]_npx[/\\]|[/\\]dlx[/\\]|[/\\]\.cache[/\\]/.test(t+`|`+n)}function NQ(){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{invokedPath:t,execPath:n}=kQ(),r=`${t}|${n}`;return/[/\\]\.?yarn[/\\]/.test(r)?`yarn`:/[/\\]\.?pnpm[/\\]/.test(r)?`pnpm`:/[/\\]\.bun[/\\]/.test(r)||process.versions.bun!==void 0&&!AQ(n)?`bun`:`npm`}function yPe(){let{execPath:e,invokedPath:t}=kQ();return jQ(t)||jQ(e)?!1:AQ(e)||AQ(t)}function PQ(){let e=`${hn.internalEnvPrefix}DEV`,t=process.env[e];if(t===`1`||t===`true`)return!0;let{invokedPath:n,execPath:r}=kQ();return!(AQ(r)||AQ(n)||jQ(n)||jQ(r)||process.env.npm_config_user_agent)}function bPe(){let{execPath:e}=kQ(),t=NQ(),n=MQ();return PQ()?{installationType:`development`,packageManager:t,isEphemeral:n,execPath:e}:yPe()?{installationType:`native`,packageManager:t,isEphemeral:n,execPath:e}:{installationType:`package-manager`,packageManager:t,isEphemeral:n,execPath:e}}function xPe(){return`${process.platform===`win32`?`win32`:process.platform===`darwin`?`darwin`:`linux`}-${process.arch===`arm64`?`arm64`:`x64`}`}async function SPe(e){let t=Date.now();if(EQ&&t-EQ.timestamp<6e4)return EQ.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 EQ={tags:r,timestamp:t},r}async function CPe(e,t,n,r){let i=t??DQ(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(),l=c&&`result`in c&&c.result?c.result:c??{};if(!l.version||!l.channel)throw Error(`API returned invalid payload`);return{currentVersion:e,latestVersion:l.version,tag:l.channel,packageManager:NQ(),isEphemeral:MQ(),installationType:`native`,downloadUrl:l.url}}async function wPe(e,t){let n=t??DQ(e),r=NQ(),i=MQ(),a=(await SPe(gn.publishName))[n];return!a&&n!==`latest`||!a||a===e?null:{currentVersion:e,latestVersion:a,tag:n,packageManager:r,isEphemeral:i,installationType:`package-manager`}}async function FQ(e,t,n,r){let i=bPe();if(i.installationType===`native`)try{return await CPe(e,t,xPe(),n)}catch{return null}return i.installationType===`development`&&!r?.includeDev?null:await wPe(e,t)}function IQ(e){if(e.installationType===`native`)return`${hn.binName} upgrade`;let t=`${gn.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 LQ(e){try{return{ok:!0,output:le(IQ(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`}}}function TPe(){let e=N.join(t.homedir(),hn.configDirName,`bin`);try{let n=N.dirname(OQ(process.execPath));return!n||n.toLowerCase().startsWith(t.tmpdir().toLowerCase())?e:n}catch{return e}}async function RQ(e){if(!e.downloadUrl)return{ok:!1,output:`No download URL`};let n=N.join(t.tmpdir(),`abacusai-update-${Date.now()}`),r=process.platform===`win32`,i=r?`${hn.binName}.exe`:hn.binName,a=TPe();try{await we.mkdir(n,{recursive:!0}),await we.mkdir(a,{recursive:!0});let t=N.join(n,r?`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 we.writeFile(t,s),le(r?`powershell -Command "Expand-Archive -Path '${t}' -DestinationPath '${n}' -Force"`:`tar -xzf "${t}" -C "${n}"`,{stdio:`pipe`});let c=N.join(n,i),l=N.join(a,i);if(r){let e=`${l}.old`;await we.rm(e,{force:!0}).catch(()=>{}),await we.rename(l,e).catch(()=>{}),await we.copyFile(c,l),await we.rm(e,{force:!0}).catch(()=>{})}else await we.copyFile(c,l),await we.chmod(l,493);return{ok:!0,output:`Updated to ${e.latestVersion}`}}catch(e){return{ok:!1,output:e instanceof Error?e.message:`Unknown error`}}finally{await we.rm(n,{recursive:!0,force:!0}).catch(()=>{})}}function EPe(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 zQ(e,t){let n=(await e.listLLMModels())?.result??[];return n.length||(process.stderr.write(`Error: No models available.
|
|
75181
|
+
var fPe=G((e=>{var t=MY().__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;e.c=function(e){return t.H.useMemoCache(e)}})),gQ=G(((e,t)=>{t.exports=fPe()}))();function $(e){let t=(0,gQ.c)(14),{color:n,backgroundColor:r,dimColor:i,bold:a,italic:o,underline:s,strikethrough:c,inverse:l,wrap:u,transform:d,children:f}=e,p=i===void 0?!1:i,m=a===void 0?!1:a,h=o===void 0?!1:o,g=s===void 0?!1:s,_=c===void 0?!1:c,v=l===void 0?!1:l,y=u===void 0?`wrap`:u;if(f==null)return null;let b;t[0]!==r||t[1]!==m||t[2]!==n||t[3]!==p||t[4]!==v||t[5]!==h||t[6]!==_||t[7]!==g||t[8]!==d?(b=e=>(p&&(e=iQ().dim().render(e)),n&&(e=rQ(e,n,`foreground`)),r&&(e=rQ(e,r,`background`)),m&&(e=iQ().bold().render(e)),h&&(e=iQ().italic().render(e)),g&&(e=iQ().underline().render(e)),_&&(e=iQ().strikethrough().render(e)),v&&(e=iQ().reverse().render(e)),d&&(e=d(e)),e),t[0]=r,t[1]=m,t[2]=n,t[3]=p,t[4]=v,t[5]=h,t[6]=_,t[7]=g,t[8]=d,t[9]=b):b=t[9];let x=b,S;return t[10]!==f||t[11]!==x||t[12]!==y?(S=(0,Z.jsx)(`jar-text`,{style:{flexGrow:0,flexShrink:0,flexDirection:`row`,textWrap:y},internal_transform:x,children:f}),t[10]=f,t[11]=x,t[12]=y,t[13]=S):S=t[13],S}const pPe=/\x1b\[[\d:]*;(\d+)/;function mPe(e){let t=pPe.exec(e);return t?(parseInt(t[1],10)-1&8)!=0:!1}const _Q={upArrow:!1,downArrow:!1,leftArrow:!1,rightArrow:!1,pageDown:!1,pageUp:!1,home:!1,end:!1,return:!1,escape:!1,ctrl:!1,shift:!1,tab:!1,backspace:!1,delete:!1,meta:!1,super:!1,paste:!1,raw:``},vQ=(e,t={})=>{let{addInputListener:n}=(0,X.use)(jZ),r=(0,X.useRef)(e);r.current=e,(0,X.useEffect)(()=>{if(t.isActive!==!1)return n(e=>{if(lX(e))return;if(e.startsWith(`\x1B[200~`)){let t=e.indexOf(`\x1B[201~`),n=t===-1?e.slice(6):e.slice(6,t);_Q.upArrow=!1,_Q.downArrow=!1,_Q.leftArrow=!1,_Q.rightArrow=!1,_Q.pageDown=!1,_Q.pageUp=!1,_Q.home=!1,_Q.end=!1,_Q.return=!1,_Q.escape=!1,_Q.ctrl=!1,_Q.shift=!1,_Q.tab=!1,_Q.backspace=!1,_Q.delete=!1,_Q.meta=!1,_Q.super=!1,_Q.paste=!0,_Q.raw=e,r.current(n,{..._Q});return}let t=xMe(e),n=t?t.split(`+`):[],i=n[n.length-1]??``,a=n.includes(`ctrl`),o=n.includes(`shift`),s=n.includes(`alt`);_Q.upArrow=i===`up`,_Q.downArrow=i===`down`,_Q.leftArrow=i===`left`,_Q.rightArrow=i===`right`,_Q.pageDown=i===`pagedown`,_Q.pageUp=i===`pageup`,_Q.home=i===`home`,_Q.end=i===`end`,_Q.return=i===`return`||i===`enter`,_Q.escape=i===`escape`,_Q.ctrl=a,_Q.shift=o,_Q.tab=i===`tab`,_Q.backspace=i===`backspace`,_Q.delete=i===`delete`,_Q.meta=s,_Q.super=mPe(e),_Q.paste=!1,_Q.raw=e;let c=_Q,l=``;if(a&&i)l=i;else if(!c.upArrow&&!c.downArrow&&!c.leftArrow&&!c.rightArrow&&!c.pageDown&&!c.pageUp&&!c.home&&!c.end&&!c.return&&!c.escape&&!c.tab&&!c.backspace&&!c.delete){let t=wMe(e);t===void 0?e.length===1?l=e:i.length===1&&(l=i):l=t}r.current(l,{...c})})},[t.isActive,n])},hPe=()=>{let e=(0,X.use)(MZ);if(!e)throw Error(`useApp must be used within a jar render context`);return{exit:e.exit,requestFullRedraw:e.requestFullRedraw}},yQ=e=>{let t=(0,gQ.c)(23),n;t[0]===e?n=t[1]:(n=e===void 0?{}:e,t[0]=e,t[1]=n);let{isActive:r,autoFocus:i,id:a}=n,o=r===void 0?!0:r,s=i===void 0?!1:i,{activeId:c,add:l,remove:u,activate:d,deactivate:f,focus:p}=(0,X.use)(kZ),m;t[2]===a?m=t[3]:(m=a??Math.random().toString().slice(2,7),t[2]=a,t[3]=m);let h=m,g;t[4]!==l||t[5]!==s||t[6]!==h||t[7]!==u?(g=()=>(l(h,{autoFocus:s}),()=>{u(h)}),t[4]=l,t[5]=s,t[6]=h,t[7]=u,t[8]=g):g=t[8];let _;t[9]!==s||t[10]!==h?(_=[h,s],t[9]=s,t[10]=h,t[11]=_):_=t[11],(0,X.useEffect)(g,_);let v;t[12]!==d||t[13]!==f||t[14]!==h||t[15]!==o?(v=()=>{o?d(h):f(h)},t[12]=d,t[13]=f,t[14]=h,t[15]=o,t[16]=v):v=t[16];let y;t[17]!==h||t[18]!==o?(y=[o,h],t[17]=h,t[18]=o,t[19]=y):y=t[19],(0,X.useEffect)(v,y);let b=!!h&&c===h,x;return t[20]!==p||t[21]!==b?(x={isFocused:b,focus:p},t[20]=p,t[21]=b,t[22]=x):x=t[22],x};function bQ(){return(0,X.use)(AZ)}const xQ=()=>{let e=(0,X.use)(NZ);if(!e)throw Error(`useTerminal must be used within a jar render context`);return e.output},SQ=RegExp(`[\\x1b\\x9b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><~]|\\x1b\\][\\s\\S]*?(?:\\x07|\\x1b\\\\)`,`g`);function gPe(){return new RegExp(SQ.source,`g`)}function _Pe(e){return e.replace(SQ,``)}function vPe(e){return e.replace(/[\x07\x1b\x9c]/g,``)}function CQ(e){return`\x1B]2;`+vPe(e)+`\x07`}var wQ=G(((e,t)=>{t.exports={name:`@codellm/cli`,version:`2.5.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/logging":`workspace:*`,"@codellm/product":`workspace:*`,"@logtape/logtape":`catalog:`,"@orpc/client":`catalog:`,"@orpc/contract":`catalog:`,"@orpc/server":`catalog:`,"@sentry/node-core":`catalog:`,"@slack/web-api":`^7.0.0`,"@tanstack/react-query":`catalog:`,"@vscode/ripgrep":`catalog:`,"ansi-styles":`catalog:`,"beautiful-mermaid":`^1.1.3`,"cli-boxes":`catalog:`,"cli-highlight":`^2.1.11`,conf:`catalog:`,diff:`catalog:`,fzf:`catalog:`,"gradient-string":`^3.0.0`,immer:`catalog:`,"isomorphic-git":`catalog:`,marked:`^17.0.6`,"node-notifier":`catalog:`,"patchright-core":`catalog:`,react:`catalog:react`,"react-compiler-runtime":`^1.0.0`,remend:`^1.3.0`,semver:`catalog:`,"shell-history":`^2.0.1`,"string-width":`catalog:`,"strip-ansi":`catalog:`,trash:`catalog:`,zod:`catalog:`},devDependencies:{"@babel/core":`catalog:infra`,"@codellm/configs":`workspace:*`,"@playwright/mcp":`^0.0.68`,"@rolldown/plugin-babel":`catalog:infra`,"@types/diff":`^8.0.0`,"@types/node":`catalog:`,"@types/react":`catalog:react`,"@types/semver":`^7.7.1`,"@typescript/native-preview":`catalog:infra`,"@vitejs/plugin-react":`catalog:infra`,"@vitest/coverage-v8":`^4.1.5`,"@vitest/ui":`^4.1.5`,"@xterm/addon-serialize":`^0.14.0`,"@xterm/headless":`^6.0.0`,"babel-plugin-react-compiler":`catalog:infra`,"cli-testing-library":`^3.0.1`,jsdom:`^27.4.0`,"react-devtools-core":`^6.1.5`,"svg-term-cli":`^2.1.1`,tsdown:`catalog:infra`,vite:`catalog:infra`,vitest:`catalog:infra`,zigpty:`^0.1.6`},engines:{node:`>=18`}}})),TQ=$e(wQ(),1);let EQ=null;function DQ(e){let t=(0,_Y.prerelease)(e);return t&&t.length>0&&typeof t[0]==`string`?t[0]:`latest`}function OQ(e){if(!e)return``;try{return T(e)}catch{return e}}function kQ(){return{invokedPath:OQ(process.argv[1]??``),execPath:OQ(process.execPath??process.argv[0]??``)}}function AQ(e){let t=hn.configDirName.replace(/^\./,``).replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);return RegExp(`[/\\\\]\\.?${t}[/\\\\]bin[/\\\\]`,`i`).test(e)}function jQ(e){return/[/\\]node_modules[/\\]/.test(e)||/[/\\]\._npx[/\\]/.test(e)||/[/\\]_npx[/\\]/.test(e)||/[/\\]\.?npm[/\\]/.test(e)||/[/\\]\.?pnpm[/\\]/.test(e)||/[/\\]\.?yarn[/\\]/.test(e)||/[/\\]\.bun[/\\]/.test(e)}function MQ(){let e=(process.env.npm_command??``).toLowerCase();if(e===`exec`||e===`dlx`)return!0;let{invokedPath:t,execPath:n}=kQ();return/[/\\]_npx[/\\]|[/\\]dlx[/\\]|[/\\]\.cache[/\\]/.test(t+`|`+n)}function NQ(){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{invokedPath:t,execPath:n}=kQ(),r=`${t}|${n}`;return/[/\\]\.?yarn[/\\]/.test(r)?`yarn`:/[/\\]\.?pnpm[/\\]/.test(r)?`pnpm`:/[/\\]\.bun[/\\]/.test(r)||process.versions.bun!==void 0&&!AQ(n)?`bun`:`npm`}function yPe(){let{execPath:e,invokedPath:t}=kQ();return jQ(t)||jQ(e)?!1:AQ(e)||AQ(t)}function PQ(){let e=`${hn.internalEnvPrefix}DEV`,t=process.env[e];if(t===`1`||t===`true`)return!0;let{invokedPath:n,execPath:r}=kQ();return!(AQ(r)||AQ(n)||jQ(n)||jQ(r)||process.env.npm_config_user_agent)}function bPe(){let{execPath:e}=kQ(),t=NQ(),n=MQ();return PQ()?{installationType:`development`,packageManager:t,isEphemeral:n,execPath:e}:yPe()?{installationType:`native`,packageManager:t,isEphemeral:n,execPath:e}:{installationType:`package-manager`,packageManager:t,isEphemeral:n,execPath:e}}function xPe(){return`${process.platform===`win32`?`win32`:process.platform===`darwin`?`darwin`:`linux`}-${process.arch===`arm64`?`arm64`:`x64`}`}async function SPe(e){let t=Date.now();if(EQ&&t-EQ.timestamp<6e4)return EQ.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 EQ={tags:r,timestamp:t},r}async function CPe(e,t,n,r){let i=t??DQ(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(),l=c&&`result`in c&&c.result?c.result:c??{};if(!l.version||!l.channel)throw Error(`API returned invalid payload`);return{currentVersion:e,latestVersion:l.version,tag:l.channel,packageManager:NQ(),isEphemeral:MQ(),installationType:`native`,downloadUrl:l.url}}async function wPe(e,t){let n=t??DQ(e),r=NQ(),i=MQ(),a=(await SPe(gn.publishName))[n];return!a&&n!==`latest`||!a||a===e?null:{currentVersion:e,latestVersion:a,tag:n,packageManager:r,isEphemeral:i,installationType:`package-manager`}}async function FQ(e,t,n,r){let i=bPe();if(i.installationType===`native`)try{return await CPe(e,t,xPe(),n)}catch{return null}return i.installationType===`development`&&!r?.includeDev?null:await wPe(e,t)}function IQ(e){if(e.installationType===`native`)return`${hn.binName} upgrade`;let t=`${gn.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 LQ(e){try{return{ok:!0,output:le(IQ(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`}}}function TPe(){let e=N.join(t.homedir(),hn.configDirName,`bin`);try{let n=N.dirname(OQ(process.execPath));return!n||n.toLowerCase().startsWith(t.tmpdir().toLowerCase())?e:n}catch{return e}}async function RQ(e){if(!e.downloadUrl)return{ok:!1,output:`No download URL`};let n=N.join(t.tmpdir(),`abacusai-update-${Date.now()}`),r=process.platform===`win32`,i=r?`${hn.binName}.exe`:hn.binName,a=TPe();try{await we.mkdir(n,{recursive:!0}),await we.mkdir(a,{recursive:!0});let t=N.join(n,r?`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 we.writeFile(t,s),le(r?`powershell -Command "Expand-Archive -Path '${t}' -DestinationPath '${n}' -Force"`:`tar -xzf "${t}" -C "${n}"`,{stdio:`pipe`});let c=N.join(n,i),l=N.join(a,i);if(r){let e=`${l}.old`;await we.rm(e,{force:!0}).catch(()=>{}),await we.rename(l,e).catch(()=>{}),await we.copyFile(c,l),await we.rm(e,{force:!0}).catch(()=>{})}else await we.copyFile(c,l),await we.chmod(l,493);return{ok:!0,output:`Updated to ${e.latestVersion}`}}catch(e){return{ok:!1,output:e instanceof Error?e.message:`Unknown error`}}finally{await we.rm(n,{recursive:!0,force:!0}).catch(()=>{})}}function EPe(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 zQ(e,t){let n=(await e.listLLMModels())?.result??[];return n.length||(process.stderr.write(`Error: No models available.
|
|
75182
75182
|
`),process.exit(1)),t?EPe(n,t.toLowerCase())||(process.stderr.write(`Warning: Model "${t}" not found. Using default: ${n[0].llmName}\n`),n[0].llmName):n[0].llmName}const BQ=dt([`codellm`,`cli`,`exit`]),VQ=new Set,HQ=new Set,UQ=new Set;let WQ=!1,GQ=!1,KQ=null,qQ;async function DPe(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 JQ(e,t,n,r){if(WQ)return;r?.debug?.(`Executing exit handlers`,{shouldManuallyExit:e,isSynchronous:t,signal:n,asyncCallbacks:VQ.size,syncCallbacks:HQ.size}),WQ=!0,VQ.size>0&&t&&BQ.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.`;let i=0;n>0?i=128+n:qQ===void 0?(typeof H.exitCode==`number`||typeof H.exitCode==`string`)&&(i=Number(H.exitCode)):i=qQ;let a=(t=!1)=>{(t||e)&&(KQ?KQ.call(H,i):H.exit(i))};for(let e of HQ)try{e(i)}catch(e){BQ.error`Error in synchronous exit hook: ${e}`}if(t){a();return}let o=[],s=0;for(let[e,t]of VQ)s=Math.max(s,t),o.push(Promise.resolve(e(i)).catch(e=>{BQ.error`Error in asynchronous exit hook: ${e}`}));let c=Array.from(UQ);c.length>0&&o.push(DPe(c));let l=setTimeout(()=>{a(!0)},s);try{await Promise.all(o),clearTimeout(l),a()}catch(e){clearTimeout(l),BQ.error`Error during exit cleanup: ${e}`,a(!0)}}function OPe(){GQ||(GQ=!0,H.once(`beforeExit`,()=>{JQ(!0,!1,-128)}),H.once(`SIGINT`,()=>{JQ(!0,!1,2)}),H.once(`SIGTERM`,()=>{JQ(!0,!1,15)}),H.once(`exit`,()=>{JQ(!1,!0,0)}),H.on(`message`,e=>{e===`shutdown`&&JQ(!0,!0,-128)}),KQ||(KQ=H.exit.bind(H),H.exit=function(e){if(qQ===void 0&&(qQ=e??0),VQ.size===0&&UQ.size===0){if(KQ){KQ(e??0);return}H.exit(e??0)}JQ(!0,!1,-128).catch(e=>{BQ.error`Error during exit: ${e}`,KQ?KQ(1):H.exit(1)})}))}function YQ(e,t){if(typeof e!=`function`)throw TypeError(`callback must be a function`);if(WQ)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}),OPe();let n=t?.wait??0,r=t?.streams??[H.stdout,H.stderr];if(n>0){let t=[e,n];VQ.add(t);for(let e of r)UQ.add(e);return()=>{VQ.delete(t);for(let e of r)UQ.delete(e)}}return HQ.add(e),()=>{HQ.delete(e)}}function XQ(e){e!==void 0&&(H.exitCode=e),JQ(!0,!1,-128)}function ZQ(e){process.stdout.write(JSON.stringify(e)+`
|
|
75183
75183
|
`)}function kPe(e){try{return JSON.parse(e)}catch{return null}}async function APe({agentArgs:e}){gu(`ndjson IPC host started`,`cli`);let t=await AY.create(),n=new ku(t,Sn(),gn.userAgentNames.desktop,TQ.default.version);if(!t.isAuthenticated())try{(await n.getUserInfo())?.result?.email||(process.stderr.write(`Error: Not authenticated. Set ABACUS_DEVICE_CODE environment variable.
|
|
75184
75184
|
`),process.exit(1))}catch{process.stderr.write(`Error: Not authenticated. Set ABACUS_DEVICE_CODE environment variable.
|