@zinley/orion 1.2.28 → 1.2.29

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.
Files changed (2) hide show
  1. package/dist/index.js +1 -1
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -2589,7 +2589,7 @@ Commands: /ask, /new, /clear`),P&&y(P)}else t.addSystemMessage(`✗ Discord setu
2589
2589
  Bot: @${I.botUsername}
2590
2590
  Chat: ${P}
2591
2591
 
2592
- Send /new to start`),y(P)}else t.addSystemMessage(`✗ Telegram setup failed: ${I.error}`)}}catch(I){t.addSystemMessage(`✗ Connection error: ${I.message}`)}e.resetWizard()},[i,m,t,y,e]);OS(()=>{(i==="discord"&&n.step===5||i==="telegram"&&n.step===6)&&!c&&(l(!0),w(n.data))},[n.step,n.data,i,c,w]);let C=()=>{let S=Math.min(n.step,f),I="━".repeat(S),P="─".repeat(f-S);return ne.createElement(qe,null,ne.createElement(_e,{color:ce.brand},I),ne.createElement(_e,{color:ce.dim},P),ne.createElement(_e,{color:ce.muted}," ",S,"/",f))},v=()=>h?h.type==="loading"?ne.createElement(qe,{flexDirection:"column",paddingY:1},ne.createElement(qe,null,ne.createElement(_e,{color:ce.brand},ne.createElement($S,{type:"dots"})),ne.createElement(_e,{color:ce.muted}," Connecting to ",i==="discord"?"Discord":"Telegram","..."))):h.type==="input"?ne.createElement(qe,{flexDirection:"column"},ne.createElement(_e,{color:ce.text},h.help),ne.createElement(_e,{color:ce.dim},h.hint),ne.createElement(qe,{marginTop:1,flexDirection:"column"},ne.createElement(qe,{paddingX:1,borderStyle:"round",borderColor:o?ce.error:ce.brand},ne.createElement(_e,{color:s?ce.text:ce.dim},s||h.placeholder||"Type here..."),ne.createElement(_e,{color:ce.brand},"▎")),o&&ne.createElement(qe,{marginTop:1},ne.createElement(_e,{color:ce.error},"✗ ",o)))):h.type==="confirm"?ne.createElement(qe,{flexDirection:"column"},ne.createElement(_e,{color:ce.text},h.help),ne.createElement(_e,{color:ce.dim},h.hint),ne.createElement(qe,{marginTop:1,gap:2},ne.createElement(qe,{paddingX:2,borderStyle:"round",borderColor:d===0?ce.brand:ce.border},ne.createElement(_e,{color:d===0?ce.brand:ce.muted},"No")),ne.createElement(qe,{paddingX:2,borderStyle:"round",borderColor:d===1?ce.brand:ce.border},ne.createElement(_e,{color:d===1?ce.brand:ce.muted},"Yes")))):null:null,E=i==="discord"?"Discord Setup":"Telegram Setup";return ne.createElement(qe,{flexDirection:"column",borderStyle:"round",borderColor:ce.border,paddingX:2,paddingY:1,width:60},ne.createElement(qe,{marginBottom:1,justifyContent:"space-between"},ne.createElement(_e,{bold:!0,color:ce.brand},E),C()),ne.createElement(qe,{marginBottom:1},ne.createElement(_e,{bold:!0,color:ce.text},h?.title)),v(),ne.createElement(qe,{marginTop:1,borderStyle:"single",borderTop:!0,borderColor:ce.border,paddingTop:1},ne.createElement(_e,{color:ce.dim},h?.type==="confirm"?"← → or y/n to select • enter to confirm • esc to cancel":h?.type==="loading"?"Please wait...":"enter to continue • esc to cancel")))}var Rg=NS(BS);import De,{memo as WS,useMemo as ni}from"react";import{Box as hn,Text as fn}from"@jrichman/ink";var Og=(i,e=60)=>i.length>e?i.substring(0,e)+"...":i;function HS({regularQueuedMessages:i,crossDeviceTasks:e}){let t=ni(()=>i.length===0?null:i.map((o,a)=>De.createElement(hn,{key:o.id,borderStyle:"round",borderColor:"#3F3F46",paddingX:2,paddingY:0,marginBottom:1},De.createElement(hn,null,De.createElement(fn,{color:"whiteBright",bold:!0},a+1),De.createElement(fn,{color:"#6B7280"}," • "),De.createElement(fn,{color:"#9CA3AF"},Og(o.content))))),[i]),n=ni(()=>e.length===0?null:e.map((o,a)=>De.createElement(hn,{key:`cross-${o.id}`,borderStyle:"round",borderColor:"#0E7490",paddingX:2,paddingY:0,marginBottom:1},De.createElement(hn,null,De.createElement(fn,{color:"#22D3EE",bold:!0},"[M] ",a+1),De.createElement(fn,{color:"#6B7280"}," - "),De.createElement(fn,{color:"#9CA3AF"},Og(o.content))))),[e]),s=ni(()=>{let o=i.length;return`${o} message${o>1?"s":""} queued`},[i.length]),r=ni(()=>{let o=e.length;return`${o} cross-device task${o>1?"s":""} waiting`},[e.length]);return De.createElement(De.Fragment,null,t&&De.createElement(hn,{flexDirection:"column",paddingX:2,marginBottom:1},t,De.createElement(hn,null,De.createElement(fn,{color:"#9CA3AF"},s))),n&&De.createElement(hn,{flexDirection:"column",paddingX:2,marginBottom:1},n,De.createElement(hn,null,De.createElement(fn,{color:"#22D3EE"},r))))}var Ng=WS(HS,(i,e)=>i.regularQueuedMessages.length===e.regularQueuedMessages.length&&i.crossDeviceTasks.length===e.crossDeviceTasks.length&&i.regularQueuedMessages.every((t,n)=>t.id===e.regularQueuedMessages[n]?.id)&&i.crossDeviceTasks.every((t,n)=>t.id===e.crossDeviceTasks[n]?.id));import Q,{memo as GS,useMemo as $g}from"react";import{Box as st,Text as ge}from"@jrichman/ink";import Fg from"path";import et,{memo as si}from"react";import{Box as yr,Text as qt}from"@jrichman/ink";var ri={normal:{symbol:"",label:"",color:A.text.primary,description:"Normal mode"},yolo:{symbol:"*",label:"YOLO",color:A.status.error,description:"Auto-approve all actions"},plan:{symbol:">",label:"PLAN",color:A.status.success,description:"Planning mode - no execution"},shell:{symbol:"!",label:"SHELL",color:A.status.warning,description:"Shell command mode"},auto:{symbol:">",label:"AUTO",color:A.status.warning,description:"Auto-accept suggestions"}},aU=si(function({mode:e,showLabel:t=!1,size:n="normal"}){if(e==="normal")return null;let s=ri[e];return n==="compact"?et.createElement(qt,{color:s.color,bold:!0},s.symbol):et.createElement(yr,{flexDirection:"row",alignItems:"center"},et.createElement(qt,{color:s.color,bold:!0},s.symbol),t&&et.createElement(yr,{marginLeft:1},et.createElement(qt,{color:s.color,bold:!0},s.label)))}),cU=si(function({mode:e,isActive:t=!0}){if(e==="normal")return null;let n=ri[e],s=t?n.color:A.ui.muted;return et.createElement(qt,{color:s,bold:t},"[",n.label,"]")}),lU=si(function({selectedMode:e,availableModes:t=["normal","yolo","plan","auto"],isFocused:n=!1}){return et.createElement(yr,{flexDirection:"row",alignItems:"center"},et.createElement(qt,{color:A.text.secondary},"Mode: "),t.map((s,r)=>{let o=ri[s],a=s===e,c=s==="normal"?"NORMAL":o.label;return et.createElement(yr,{key:s,flexDirection:"row"},r>0&&et.createElement(qt,{color:A.ui.muted}," | "),et.createElement(qt,{color:a?o.color:A.ui.muted,bold:a,inverse:a&&n},c))}))}),_g=si(function({mode:e,promptSymbol:t="❯",isFocused:n=!0}){let s=ri[e],r=e!=="normal",o=r?s.color:n?A.text.accent:A.ui.muted;return et.createElement(yr,{flexDirection:"row",alignItems:"center"},r&&et.createElement(qt,{color:s.color,bold:!0},s.symbol),et.createElement(qt,{color:o},t))});var jS=" Type your message or @path/to/file";function zS({input:i,isLoading:e,pastedTexts:t,cursorPosition:n,suggestion:s,mode:r="normal"}){let{hasContent:o,ghostText:a}=$g(()=>{let l=i.length>0||t.length>0,d=s&&s.toLowerCase().startsWith(i.toLowerCase())&&i.length>0?s.slice(i.length):null;return{hasContent:l,ghostText:d}},[i,t.length,s]),c=$g(()=>t.length===0?null:t.map((l,d)=>{if(l.type==="clipboard_image"){let p=l.fileSize?` ${dn(l.fileSize)}`:"",h=!!l.error;return Q.createElement(st,{key:`pasted-${l.id}`,flexDirection:"column"},Q.createElement(st,null,Q.createElement(ge,{color:h?A.status.error:A.status.info}," ","[CLIPBOARD] "),Q.createElement(ge,{color:h?A.status.error:A.text.secondary},"Image"),p&&Q.createElement(ge,{color:A.ui.muted},p)),h&&Q.createElement(st,{marginLeft:4},Q.createElement(ge,{color:A.status.error,dimColor:!0},"[!] ",l.error)))}if(l.type==="image_path"&&l.filePath){let p=Qa(Fg.basename(l.filePath)),h=l.fileSize?` ${dn(l.fileSize)}`:"",f=!!l.error;return Q.createElement(st,{key:`pasted-${l.id}`,flexDirection:"column"},Q.createElement(st,null,Q.createElement(ge,{color:f?A.status.error:A.status.info}," ","[IMG] "),Q.createElement(ge,{color:f?A.status.error:A.text.secondary},p),h&&Q.createElement(ge,{color:A.ui.muted},h)),f&&Q.createElement(st,{marginLeft:4},Q.createElement(ge,{color:A.status.error,dimColor:!0},"[!] ",l.error)))}if(l.type==="file_path"&&l.filePath){let p=Qa(Fg.basename(l.filePath)),h=l.fileSize?` ${dn(l.fileSize)}`:"",f=!!l.error;return Q.createElement(st,{key:`pasted-${l.id}`,flexDirection:"column"},Q.createElement(st,null,Q.createElement(ge,{color:f?A.status.error:A.status.info}," ","[FILE] "),Q.createElement(ge,{color:f?A.status.error:A.text.secondary},p),h&&Q.createElement(ge,{color:A.ui.muted},h)),f&&Q.createElement(st,{marginLeft:4},Q.createElement(ge,{color:A.status.error,dimColor:!0},"[!] ",l.error)))}let g=l.lineCount-1,m=g>0?`+${g} lines`:"1 line";return Q.createElement(st,{key:`pasted-${l.id}`},Q.createElement(ge,{color:A.ui.muted}," ","[TEXT] "),Q.createElement(ge,{color:A.text.secondary},"Pasted text #",d+1),Q.createElement(ge,{color:A.ui.muted}," (",m,")"))}),[t]);return Q.createElement(st,{borderStyle:"round",borderColor:o?A.border.focused:A.border.default,paddingX:2,paddingY:0,flexDirection:"column",width:"100%"},c&&Q.createElement(st,{flexDirection:"column",marginBottom:0},c),Q.createElement(st,null,Q.createElement(_g,{mode:r,isFocused:!e}),Q.createElement(ge,null," "),i.length===0&&!e?s?Q.createElement(ge,null,Q.createElement(ge,{inverse:!0}," "),Q.createElement(ge,{color:A.ui.muted},s),Q.createElement(ge,{color:A.ui.muted,dimColor:!0}," (Tab to accept)")):Q.createElement(ge,{color:A.ui.muted},jS):Q.createElement(ge,null,Q.createElement(ge,{color:A.text.primary},i.slice(0,n)),!e&&Q.createElement(ge,{inverse:!0}," "),Q.createElement(ge,{color:A.text.primary},i.slice(n)),a&&Q.createElement(ge,{color:A.ui.muted},a))))}var Lg=GS(zS,(i,e)=>i.input===e.input&&i.isLoading===e.isLoading&&i.cursorPosition===e.cursorPosition&&i.suggestion===e.suggestion&&i.mode===e.mode&&i.pastedTexts.length===e.pastedTexts.length&&i.pastedTexts.every((t,n)=>t.id===e.pastedTexts[n]?.id));import vr,{useState as qS,useEffect as KS,useRef as VS,memo as XS}from"react";import{Box as YS,Text as vc}from"@jrichman/ink";import QS from"ink-spinner";function JS(i){if(i<60)return`${i}s`;let e=Math.floor(i/60),t=i%60;return`${e}m ${t}s`}function ZS({isLoading:i,phrase:e="Processing",startTime:t}){let[n,s]=qS(0),r=VS(null);return KS(()=>{if(r.current&&(clearInterval(r.current),r.current=null),!i){s(0);return}let o=t||Date.now();return r.current=setInterval(()=>{let a=Date.now(),c=Math.floor((a-o)/1e3);s(c)},1e3),()=>{r.current&&(clearInterval(r.current),r.current=null)}},[i,t]),i?vr.createElement(YS,{flexDirection:"row",alignItems:"center",paddingX:2,marginBottom:1,flexShrink:0},vr.createElement(vc,{color:A.text.accent},vr.createElement(QS,{type:"dots"})),vr.createElement(vc,{color:A.text.primary}," ",e,"... "),vr.createElement(vc,{color:A.text.secondary},"(esc to cancel",n>0?`, ${JS(n)}`:"",")")):null}var Ug=XS(ZS);import we,{memo as aw,useMemo as Kg}from"react";import{Box as Ts,Text as rt}from"@jrichman/ink";import{useState as Bg,useEffect as Wg,useCallback as ew,useRef as Hg}from"react";import{useStdout as tw}from"@jrichman/ink";var Ss=80,ws=24,nw=100;function oi(i){let{debounceMs:e=nw}=i||{},{stdout:t}=tw(),[n,s]=Bg({width:t?.columns||Ss,height:t?.rows||ws,rows:t?.rows||ws,columns:t?.columns||Ss}),[r,o]=Bg(!1),a=Hg(null),c=Hg(null);Wg(()=>{function d(){o(!0),a.current&&clearTimeout(a.current),c.current&&clearTimeout(c.current),a.current=setTimeout(()=>{let g=process.stdout.columns||Ss,m=process.stdout.rows||ws;s(p=>p.width!==g||p.height!==m?{width:g,height:m,rows:m,columns:g}:p),c.current=setTimeout(()=>{o(!1)},50)},e)}return process.stdout.on("resize",d),()=>{process.stdout.off("resize",d),a.current&&clearTimeout(a.current),c.current&&clearTimeout(c.current)}},[e]),Wg(()=>{if(t){let d=t.columns||Ss,g=t.rows||ws;(d!==n.width||g!==n.height)&&s({width:d,height:g,rows:g,columns:d})}},[t?.columns,t?.rows]);let l=ew(()=>{s({width:process.stdout.columns||Ss,height:process.stdout.rows||ws,rows:process.stdout.rows||ws,columns:process.stdout.columns||Ss})},[]);return{...n,isResizing:r,refresh:l}}Po();import{useState as bn,useEffect as Gg,useRef as sw,useCallback as rw}from"react";function jg(i=1e4){let[e,t]=bn("not-ready"),[n,s]=bn(!1),[r,o]=bn(!1),[a,c]=bn(0),[l,d]=bn(5),[g,m]=bn(0),[p,h]=bn(!1),[f,y]=bn(!1),T=sw(!1),x=rw(w=>{w.isInitializing||w.initState==="initializing"?t("initializing"):w.isRunning&&w.isInitialized?t("ready"):t("not-ready"),s(w.hasBrowser??!1),o(w.multiAgentMode??!1),c(w.runningAgentCount??0),d(w.maxConcurrentAgents??5),m(w.tabCount??0),h(w.isExecuting??!1),y(w.hasActiveSession??!1)},[]);return Gg(()=>{let w=te.onStatusChange(C=>{x(C)});return()=>w()},[x]),Gg(()=>{let w=()=>{let v=te.getStatus();v.initState==="idle"&&!T.current&&(T.current=!0,te.initialize().catch(E=>{console.debug("[useBrowserStatus] Auto-init failed:",E.message)}),v=te.getStatus()),x(v)};w();let C=setInterval(w,i);return()=>clearInterval(C)},[i,x]),{status:e,hasBrowser:n,multiAgentMode:r,runningAgentCount:a,maxConcurrentAgents:l,tabCount:g,isExecuting:p,hasActiveSession:f}}import{useState as ii,useEffect as ow,useCallback as zg}from"react";var iw=300*1e3;function qg(){let[i,e]=ii(null),[t,n]=ii(null),[s,r]=ii(!1),[o,a]=ii(null),c=zg(async(m=!1)=>{r(!0),a(null);try{let p=await ur.fetchQuotaStatus(m);e(p);let h=await ur.getUsageDisplayData();n(h)}catch(p){a(p instanceof Error?p.message:"Failed to fetch quota")}finally{r(!1)}},[]),l=zg(async()=>{await c(!0)},[c]);ow(()=>{c();let m=setInterval(()=>{c(!0)},iw);return()=>clearInterval(m)},[c]);let d=t?eg(t.percent):"normal",g=t?dr(t.resetsAt,t.resetsInSeconds):"";return{quota:i,usageDisplay:t,severity:d,resetTimeDisplay:g,isLoading:s,error:o,refresh:l}}wn();import{createRequire as cw}from"module";var lw=cw(import.meta.url),uw=lw("../../../package.json"),dw=uw.version,gw={3:"#FFD700",2:"#A78BFA",1:"#60A5FA",0:A.ui.muted},mw={ready:"#10B981",initializing:"#F59E0B","not-ready":"#F97316"},pw={normal:A.ui.muted,notice:"#60A5FA",warning:"#FBBF24",high:"#F97316",critical:"#EF4444"};function hw(i){let e=process.env.HOME||process.env.USERPROFILE||"";return e&&i.startsWith(e)?"~"+i.slice(e.length):i}function fw(i,e){if(i.length<=e)return i;let t=i.split("/");if(t.length<=2)return i.slice(0,e-3)+"...";let n=t[0]+"/.../"+t[t.length-1];return n.length>e&&(n=".../"+t[t.length-1]),n.length>e&&(n=n.slice(0,e-3)+"..."),n}function bw({cwd:i,selectedModel:e,showScrollHint:t=!1,tier:n=0}){let{width:s}=oi(),{status:r}=jg(),{usageDisplay:o,severity:a,resetTimeDisplay:c}=qg(),l=xe.getDisplayName(n),d=gw[n]||A.ui.muted,{displayPath:g,shortcuts:m}=Kg(()=>{let h=`${e.displayName} /model`,f=" ● browser",y=t?"? help · Shift+↑↓ scroll":"? help",x=h.length+f.length+y.length+" ".length*2+4,w=Math.max(15,Math.floor((s-x)*.4));return{displayPath:fw(hw(i),w),shortcuts:y}},[i,e.displayName,t,s]),p=Kg(()=>{if(!o)return null;let{percent:h,type:f}=o,y=f==="weekly"?"weekly":"5-hour";return h>=100?`You've hit your ${y} limit`:h>=90?`${h}% of ${y} limit used`:`${h}% ${y} usage`},[o]);return we.createElement(Ts,{flexDirection:"column",width:"100%"},o&&we.createElement(Ts,{paddingX:2,justifyContent:"center"},we.createElement(rt,{color:pw[a]},p),c&&we.createElement(we.Fragment,null,we.createElement(rt,{color:A.ui.muted}," · "),we.createElement(rt,{color:A.ui.muted},"Resets in ",c))),we.createElement(Ts,{paddingX:2,paddingY:0,width:"100%",justifyContent:"space-between",flexDirection:"row"},we.createElement(Ts,null,we.createElement(rt,{color:A.text.link},g),we.createElement(rt,{color:A.ui.muted}," v",dw),we.createElement(rt,{color:A.ui.muted}," · "),we.createElement(rt,{color:d,bold:!0},l)),we.createElement(Ts,null,we.createElement(rt,{color:A.text.accent},e.displayName),we.createElement(rt,{color:A.text.secondary}," /model"),we.createElement(rt,{color:A.text.secondary}," "),we.createElement(rt,{color:mw[r]},"●"),we.createElement(rt,{color:A.text.secondary}," browser")),we.createElement(Ts,null,we.createElement(rt,{color:A.text.secondary},m))))}var Vg=aw(bw);import xc,{memo as Cc}from"react";import{Box as Vw}from"@jrichman/ink";import ie,{memo as Hw,useMemo as om}from"react";import{Box as at,Text as bt}from"@jrichman/ink";import xs,{memo as yw}from"react";import{Box as ai,Text as Xg}from"@jrichman/ink";function vw({suggestions:i,onSelect:e}){return i.length===0?null:xs.createElement(ai,{flexDirection:"column",marginTop:1,width:"100%"},i.map((t,n)=>xs.createElement(ai,{key:`sug-block-${n}`,flexDirection:"row",flexWrap:"wrap",gap:1,width:"100%"},t.options.map((s,r)=>xs.createElement(ai,{key:`sug-opt-${n}-${r}`,borderStyle:"round",borderColor:"#3F3F46",paddingX:1,paddingY:0},xs.createElement(Xg,{color:"#22D3EE"},s))))),e&&xs.createElement(ai,{marginTop:0,width:"100%"},xs.createElement(Xg,{color:"#6B7280"},"Type a suggestion to use it")))}var Yg=yw(vw,(i,e)=>i.suggestions===e.suggestions?!0:i.suggestions.length!==e.suggestions.length?!1:i.suggestions.every((t,n)=>{let s=e.suggestions[n];return t.options.length===s.options.length&&t.options.every((r,o)=>r===s.options[o])}));import Bn,{memo as Sw}from"react";import{Box as ci,Text as Sc}from"@jrichman/ink";function ww({workingFiles:i}){return i.length===0?null:Bn.createElement(ci,{flexDirection:"column",marginTop:1,width:"100%"},Bn.createElement(ci,{marginBottom:0,width:"100%"},Bn.createElement(Sc,{color:"#9CA3AF",bold:!0},"Working Files"),Bn.createElement(Sc,{color:"#6B7280"}," (",i.length,")")),Bn.createElement(ci,{flexDirection:"row",flexWrap:"wrap",gap:1,width:"100%"},i.map(e=>Bn.createElement(ci,{key:`wf-${e.path}`,borderStyle:"round",borderColor:"#3F3F46",paddingX:1,paddingY:0},Bn.createElement(Sc,{color:"white"},e.name)))))}var Qg=Sw(ww,(i,e)=>i.workingFiles===e.workingFiles?!0:i.workingFiles.length!==e.workingFiles.length?!1:i.workingFiles.every((t,n)=>t.path===e.workingFiles[n].path));import ot,{memo as Tw,useMemo as xw,useState as Cw}from"react";import{Box as Sr,Text as yn}from"@jrichman/ink";var wc=5;function Ew({conversationHistory:i,onSelect:e}){let[t,n]=Cw(!1),{displayedItems:s,hiddenCount:r}=xw(()=>i.length<=wc||t?{displayedItems:i,hiddenCount:0}:{displayedItems:i.slice(0,wc),hiddenCount:i.length-wc},[i,t]);return i.length===0?null:ot.createElement(Sr,{flexDirection:"column",marginTop:1},ot.createElement(Sr,{marginBottom:0},ot.createElement(yn,{color:A.text.secondary},"💬 "),ot.createElement(yn,{color:A.text.secondary,bold:!0},i.length," conversation",i.length!==1?"s":""," found")),ot.createElement(Sr,{flexDirection:"column",paddingLeft:2},s.map((o,a)=>ot.createElement(Sr,{key:`conv-${o.id}-${a}`},ot.createElement(yn,{color:A.ui.muted},"• "),ot.createElement(yn,{color:A.text.primary},o.title),ot.createElement(yn,{color:A.ui.muted}," ("),ot.createElement(yn,{color:A.text.link},Iw(o.id)),ot.createElement(yn,{color:A.ui.muted},")"))),r>0&&ot.createElement(Sr,{marginTop:0},ot.createElement(yn,{color:A.text.accent},"+",r," more conversation",r!==1?"s":""))))}function Iw(i,e=20){return i.length<=e?i:i.slice(0,e-3)+"..."}var Jg=Tw(Ew);import K,{memo as kw,useMemo as Pw}from"react";import{Box as it,Text as re}from"@jrichman/ink";wn();import{createRequire as Aw}from"module";var Dw=Aw(import.meta.url),Mw=Dw("../../../package.json"),Rw=Mw.version;function Ow(i){switch(i){case 3:return"#FFD700";case 2:return"#A78BFA";case 1:return"#60A5FA";default:return A.ui.muted}}function Nw(i){let e=process.env.HOME||process.env.USERPROFILE||"";return e&&i.startsWith(e)?"~"+i.slice(e.length):i}function _w(){let i="#E8B4B8",e="#B8E4E8",t="#4A4A4A";return K.createElement(it,{flexDirection:"column"},K.createElement(it,null,K.createElement(re,{color:i},"██"),K.createElement(re,null," "),K.createElement(re,{color:i},"██"),K.createElement(re,null," "),K.createElement(re,{color:i},"██")),K.createElement(it,null,K.createElement(re,{color:i},"██████████")),K.createElement(it,null,K.createElement(re,{color:i},"██"),K.createElement(re,{color:e},"██████"),K.createElement(re,{color:i},"██")),K.createElement(it,null,K.createElement(re,{color:i},"██"),K.createElement(re,{color:t},"██"),K.createElement(re,{color:e},"██"),K.createElement(re,{color:t},"██"),K.createElement(re,{color:i},"██")),K.createElement(it,null,K.createElement(re,{color:i},"██"),K.createElement(re,{color:e},"██████"),K.createElement(re,{color:i},"██")),K.createElement(it,null,K.createElement(re,{color:i},"████"),K.createElement(re,{color:t},"██"),K.createElement(re,{color:i},"████")),K.createElement(it,null,K.createElement(re,{color:i}," ██████ ")))}function $w({projectPath:i,variant:e="main",tier:t=0}){let n=Pw(()=>i?Nw(i):null,[i]),s=xe.getDisplayName(t),r=Ow(t);return e==="main"?K.createElement(it,{flexDirection:"row",paddingX:1,marginY:1,gap:2},K.createElement(_w,null),K.createElement(it,{flexDirection:"column",justifyContent:"center"},K.createElement(it,null,K.createElement(re,{color:A.colors.AccentPurple,bold:!0},"Orion"),K.createElement(re,{color:A.ui.muted}," v",Rw),K.createElement(re,{color:A.ui.muted}," · "),K.createElement(re,{color:r,bold:!0},"Orion ",s)),K.createElement(re,{color:A.text.secondary},"Your partner in getting things done."),K.createElement(re,{color:A.text.secondary,dimColor:!0},"More done, more sleep."),n&&K.createElement(it,{marginTop:1},K.createElement(re,{color:A.ui.muted},n)))):K.createElement(it,{paddingX:1,marginY:1},K.createElement(re,{color:A.colors.AccentPurple},"● "),e==="fresh"&&K.createElement(re,{color:A.text.secondary},"Ready when you are."),e==="continue"&&K.createElement(re,{color:A.text.secondary},"Picking up where we left off."),e==="new"&&K.createElement(re,{color:A.text.secondary},"New conversation started."))}var Zg=kw($w);function em(i){return i.includes("Orion ready")||i.includes("Fresh start")||i.includes("Welcome back")||i.includes("New conversation")||i.includes("Conversation cleared")}function tm(i){let e=i.match(/📁\s*(.+)/),t=e?e[1].trim():void 0;return i.includes("Fresh start")||i.includes("Conversation cleared")?{variant:"fresh",projectPath:t}:i.includes("Welcome back")?{variant:"continue",projectPath:t}:i.includes("New conversation")?{variant:"new",projectPath:t}:{variant:"main",projectPath:t}}import Ke,{memo as li,useMemo as Fw}from"react";import{Box as Cs,Text as Wn}from"@jrichman/ink";var he={javascript:{keywords:["const","let","var","function","return","if","else","for","while","do","switch","case","break","continue","try","catch","finally","throw","new","class","extends","import","export","default","from","async","await","yield","static","get","set","typeof","instanceof","in","of","delete","void","this","super","with","debugger"],types:["Array","Object","String","Number","Boolean","Function","Promise","Map","Set","Date","RegExp","Error","Symbol","BigInt","null","undefined","true","false","NaN","Infinity"],stringDelimiters:["'",'"',"`"],commentSingle:"//",commentMultiStart:"/*",commentMultiEnd:"*/"},typescript:{keywords:["const","let","var","function","return","if","else","for","while","do","switch","case","break","continue","try","catch","finally","throw","new","class","extends","import","export","default","from","async","await","yield","static","get","set","typeof","instanceof","in","of","delete","void","this","super","type","interface","enum","namespace","module","declare","abstract","implements","private","protected","public","readonly","as","is","keyof","infer","never","unknown","any"],types:["Array","Object","String","Number","Boolean","Function","Promise","Map","Set","Date","RegExp","Error","Symbol","BigInt","null","undefined","true","false","void","Partial","Required","Readonly","Record","Pick","Omit","Exclude","Extract","NonNullable","ReturnType","InstanceType","Parameters"],stringDelimiters:["'",'"',"`"],commentSingle:"//",commentMultiStart:"/*",commentMultiEnd:"*/"},python:{keywords:["def","class","return","if","elif","else","for","while","break","continue","try","except","finally","raise","import","from","as","with","assert","yield","lambda","pass","del","global","nonlocal","and","or","not","in","is","async","await","match","case"],types:["None","True","False","int","float","str","list","dict","tuple","set","bool","bytes","object","type","Exception"],builtins:["print","len","range","enumerate","zip","map","filter","sorted","reversed","sum","min","max","abs","round","open","input","isinstance","hasattr","getattr","setattr","super","property","staticmethod","classmethod"],stringDelimiters:["'",'"',"'''",'"""'],commentSingle:"#"},bash:{keywords:["if","then","else","elif","fi","for","while","do","done","case","esac","in","function","return","exit","break","continue","export","local","readonly","declare","unset","shift","source","eval","exec","trap","set","shopt"],builtins:["echo","cd","pwd","ls","cat","grep","sed","awk","find","xargs","sort","uniq","head","tail","wc","cut","tr","mkdir","rm","cp","mv","touch","chmod","chown","curl","wget","git","npm","yarn","pnpm","node","python","pip"],stringDelimiters:["'",'"'],commentSingle:"#"},rust:{keywords:["fn","let","mut","const","static","if","else","match","for","while","loop","break","continue","return","struct","enum","impl","trait","type","where","use","mod","pub","crate","self","super","as","in","ref","move","async","await","dyn","unsafe","extern"],types:["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","bool","char","str","String","Vec","Option","Result","Box","Rc","Arc","Cell","RefCell","true","false","Some","None","Ok","Err","Self"],stringDelimiters:['"'],commentSingle:"//",commentMultiStart:"/*",commentMultiEnd:"*/"},go:{keywords:["func","return","if","else","for","range","switch","case","default","break","continue","goto","fallthrough","defer","go","select","chan","var","const","type","struct","interface","map","package","import"],types:["int","int8","int16","int32","int64","uint","uint8","uint16","uint32","uint64","uintptr","float32","float64","complex64","complex128","bool","byte","rune","string","error","nil","true","false","iota"],builtins:["make","new","len","cap","append","copy","delete","close","panic","recover","print","println"],stringDelimiters:['"',"'","`"],commentSingle:"//",commentMultiStart:"/*",commentMultiEnd:"*/"},json:{keywords:[],types:["true","false","null"],stringDelimiters:['"']},yaml:{keywords:[],types:["true","false","null","yes","no","on","off"],stringDelimiters:["'",'"'],commentSingle:"#"},sql:{keywords:["SELECT","FROM","WHERE","AND","OR","NOT","IN","LIKE","BETWEEN","IS","NULL","ORDER","BY","ASC","DESC","LIMIT","OFFSET","JOIN","LEFT","RIGHT","INNER","OUTER","ON","AS","GROUP","HAVING","DISTINCT","COUNT","SUM","AVG","MIN","MAX","INSERT","INTO","VALUES","UPDATE","SET","DELETE","CREATE","TABLE","DROP","ALTER","INDEX","PRIMARY","KEY","FOREIGN","REFERENCES","CONSTRAINT","UNIQUE","DEFAULT","CASCADE","UNION","ALL","EXISTS","CASE","WHEN","THEN","ELSE","END","COALESCE","NULLIF","CAST"],types:["INT","INTEGER","VARCHAR","TEXT","BOOLEAN","DATE","TIMESTAMP","FLOAT","DOUBLE","DECIMAL","BIGINT","SMALLINT","CHAR","BLOB","JSON","UUID"],stringDelimiters:["'"],commentSingle:"--",commentMultiStart:"/*",commentMultiEnd:"*/"}};he.ts=he.typescript;he.js=he.javascript;he.jsx=he.javascript;he.tsx=he.typescript;he.py=he.python;he.sh=he.bash;he.shell=he.bash;he.zsh=he.bash;he.rs=he.rust;he.golang=he.go;he.yml=he.yaml;function Lw(i,e){let t=[],n=0;for(;n<i.length;){if(e.commentSingle&&i.slice(n).startsWith(e.commentSingle)){t.push({type:"comment",value:i.slice(n)});break}let s=!1;for(let c of e.stringDelimiters)if(i.slice(n).startsWith(c)){let l=i.indexOf(c,n+c.length);if(l!==-1){t.push({type:"string",value:i.slice(n,l+c.length)}),n=l+c.length,s=!0;break}else{t.push({type:"string",value:i.slice(n)}),n=i.length,s=!0;break}}if(s)continue;let r=i.slice(n).match(/^-?\d+(\.\d+)?([eE][+-]?\d+)?/);if(r&&(n===0||/[\s\(\[\{,;:=<>!&|+\-*/%]/.test(i[n-1]))){t.push({type:"number",value:r[0]}),n+=r[0].length;continue}let o=i.slice(n).match(/^[a-zA-Z_$][a-zA-Z0-9_$]*/);if(o){let c=o[0],l="plain";e.keywords.includes(c)?l="keyword":e.types?.includes(c)?l="type":(e.builtins?.includes(c)||i[n+c.length]==="(")&&(l="function"),t.push({type:l,value:c}),n+=c.length;continue}let a=i.slice(n).match(/^(===|!==|==|!=|<=|>=|=>|->|&&|\|\||<<|>>|\+\+|--|[+\-*/%=<>!&|^~?:])/);if(a){t.push({type:"operator",value:a[0]}),n+=a[0].length;continue}if(/^[(){}\[\];,.]/.test(i[n])){t.push({type:"punctuation",value:i[n]}),n++;continue}t.push({type:"plain",value:i[n]}),n++}return t}var Uw={keyword:A.status.warning,string:A.status.success,comment:A.ui.comment,number:A.text.link,function:A.text.link,operator:A.text.primary,punctuation:A.ui.muted,type:A.status.info,plain:A.text.primary},Bw=li(function({line:e,language:t}){if(!t)return Ke.createElement(Wn,{color:A.text.primary},e);let n=Lw(e,t);return Ke.createElement(Wn,null,n.map((s,r)=>Ke.createElement(Wn,{key:r,color:Uw[s.type]},s.value)))}),Ww=li(function({code:e,language:t,showLineNumbers:n=!1,startLineNumber:s=1,maxLines:r}){let{lines:o,langDef:a,truncated:c}=Fw(()=>{let d=e.split(`
2592
+ Send /new to start`),y(P)}else t.addSystemMessage(`✗ Telegram setup failed: ${I.error}`)}}catch(I){t.addSystemMessage(`✗ Connection error: ${I.message}`)}e.resetWizard()},[i,m,t,y,e]);OS(()=>{(i==="discord"&&n.step===5||i==="telegram"&&n.step===6)&&!c&&(l(!0),w(n.data))},[n.step,n.data,i,c,w]);let C=()=>{let S=Math.min(n.step,f),I="━".repeat(S),P="─".repeat(f-S);return ne.createElement(qe,null,ne.createElement(_e,{color:ce.brand},I),ne.createElement(_e,{color:ce.dim},P),ne.createElement(_e,{color:ce.muted}," ",S,"/",f))},v=()=>h?h.type==="loading"?ne.createElement(qe,{flexDirection:"column",paddingY:1},ne.createElement(qe,null,ne.createElement(_e,{color:ce.brand},ne.createElement($S,{type:"dots"})),ne.createElement(_e,{color:ce.muted}," Connecting to ",i==="discord"?"Discord":"Telegram","..."))):h.type==="input"?ne.createElement(qe,{flexDirection:"column"},ne.createElement(_e,{color:ce.text},h.help),ne.createElement(_e,{color:ce.dim},h.hint),ne.createElement(qe,{marginTop:1,flexDirection:"column"},ne.createElement(qe,{paddingX:1,borderStyle:"round",borderColor:o?ce.error:ce.brand},ne.createElement(_e,{color:s?ce.text:ce.dim},s||h.placeholder||"Type here..."),ne.createElement(_e,{color:ce.brand},"▎")),o&&ne.createElement(qe,{marginTop:1},ne.createElement(_e,{color:ce.error},"✗ ",o)))):h.type==="confirm"?ne.createElement(qe,{flexDirection:"column"},ne.createElement(_e,{color:ce.text},h.help),ne.createElement(_e,{color:ce.dim},h.hint),ne.createElement(qe,{marginTop:1,gap:2},ne.createElement(qe,{paddingX:2,borderStyle:"round",borderColor:d===0?ce.brand:ce.border},ne.createElement(_e,{color:d===0?ce.brand:ce.muted},"No")),ne.createElement(qe,{paddingX:2,borderStyle:"round",borderColor:d===1?ce.brand:ce.border},ne.createElement(_e,{color:d===1?ce.brand:ce.muted},"Yes")))):null:null,E=i==="discord"?"Discord Setup":"Telegram Setup";return ne.createElement(qe,{flexDirection:"column",borderStyle:"round",borderColor:ce.border,paddingX:2,paddingY:1,width:60},ne.createElement(qe,{marginBottom:1,justifyContent:"space-between"},ne.createElement(_e,{bold:!0,color:ce.brand},E),C()),ne.createElement(qe,{marginBottom:1},ne.createElement(_e,{bold:!0,color:ce.text},h?.title)),v(),ne.createElement(qe,{marginTop:1,borderStyle:"single",borderTop:!0,borderColor:ce.border,paddingTop:1},ne.createElement(_e,{color:ce.dim},h?.type==="confirm"?"← → or y/n to select • enter to confirm • esc to cancel":h?.type==="loading"?"Please wait...":"enter to continue • esc to cancel")))}var Rg=NS(BS);import De,{memo as WS,useMemo as ni}from"react";import{Box as hn,Text as fn}from"@jrichman/ink";var Og=(i,e=60)=>i.length>e?i.substring(0,e)+"...":i;function HS({regularQueuedMessages:i,crossDeviceTasks:e}){let t=ni(()=>i.length===0?null:i.map((o,a)=>De.createElement(hn,{key:o.id,borderStyle:"round",borderColor:"#3F3F46",paddingX:2,paddingY:0,marginBottom:1},De.createElement(hn,null,De.createElement(fn,{color:"whiteBright",bold:!0},a+1),De.createElement(fn,{color:"#6B7280"}," • "),De.createElement(fn,{color:"#9CA3AF"},Og(o.content))))),[i]),n=ni(()=>e.length===0?null:e.map((o,a)=>De.createElement(hn,{key:`cross-${o.id}`,borderStyle:"round",borderColor:"#0E7490",paddingX:2,paddingY:0,marginBottom:1},De.createElement(hn,null,De.createElement(fn,{color:"#22D3EE",bold:!0},"[M] ",a+1),De.createElement(fn,{color:"#6B7280"}," - "),De.createElement(fn,{color:"#9CA3AF"},Og(o.content))))),[e]),s=ni(()=>{let o=i.length;return`${o} message${o>1?"s":""} queued`},[i.length]),r=ni(()=>{let o=e.length;return`${o} cross-device task${o>1?"s":""} waiting`},[e.length]);return De.createElement(De.Fragment,null,t&&De.createElement(hn,{flexDirection:"column",paddingX:2,marginBottom:1},t,De.createElement(hn,null,De.createElement(fn,{color:"#9CA3AF"},s))),n&&De.createElement(hn,{flexDirection:"column",paddingX:2,marginBottom:1},n,De.createElement(hn,null,De.createElement(fn,{color:"#22D3EE"},r))))}var Ng=WS(HS,(i,e)=>i.regularQueuedMessages.length===e.regularQueuedMessages.length&&i.crossDeviceTasks.length===e.crossDeviceTasks.length&&i.regularQueuedMessages.every((t,n)=>t.id===e.regularQueuedMessages[n]?.id)&&i.crossDeviceTasks.every((t,n)=>t.id===e.crossDeviceTasks[n]?.id));import Q,{memo as GS,useMemo as $g}from"react";import{Box as st,Text as ge}from"@jrichman/ink";import Fg from"path";import et,{memo as si}from"react";import{Box as yr,Text as qt}from"@jrichman/ink";var ri={normal:{symbol:"",label:"",color:A.text.primary,description:"Normal mode"},yolo:{symbol:"*",label:"YOLO",color:A.status.error,description:"Auto-approve all actions"},plan:{symbol:">",label:"PLAN",color:A.status.success,description:"Planning mode - no execution"},shell:{symbol:"!",label:"SHELL",color:A.status.warning,description:"Shell command mode"},auto:{symbol:">",label:"AUTO",color:A.status.warning,description:"Auto-accept suggestions"}},aU=si(function({mode:e,showLabel:t=!1,size:n="normal"}){if(e==="normal")return null;let s=ri[e];return n==="compact"?et.createElement(qt,{color:s.color,bold:!0},s.symbol):et.createElement(yr,{flexDirection:"row",alignItems:"center"},et.createElement(qt,{color:s.color,bold:!0},s.symbol),t&&et.createElement(yr,{marginLeft:1},et.createElement(qt,{color:s.color,bold:!0},s.label)))}),cU=si(function({mode:e,isActive:t=!0}){if(e==="normal")return null;let n=ri[e],s=t?n.color:A.ui.muted;return et.createElement(qt,{color:s,bold:t},"[",n.label,"]")}),lU=si(function({selectedMode:e,availableModes:t=["normal","yolo","plan","auto"],isFocused:n=!1}){return et.createElement(yr,{flexDirection:"row",alignItems:"center"},et.createElement(qt,{color:A.text.secondary},"Mode: "),t.map((s,r)=>{let o=ri[s],a=s===e,c=s==="normal"?"NORMAL":o.label;return et.createElement(yr,{key:s,flexDirection:"row"},r>0&&et.createElement(qt,{color:A.ui.muted}," | "),et.createElement(qt,{color:a?o.color:A.ui.muted,bold:a,inverse:a&&n},c))}))}),_g=si(function({mode:e,promptSymbol:t="❯",isFocused:n=!0}){let s=ri[e],r=e!=="normal",o=r?s.color:n?A.text.accent:A.ui.muted;return et.createElement(yr,{flexDirection:"row",alignItems:"center"},r&&et.createElement(qt,{color:s.color,bold:!0},s.symbol),et.createElement(qt,{color:o},t))});var jS=" Type your message or @path/to/file";function zS({input:i,isLoading:e,pastedTexts:t,cursorPosition:n,suggestion:s,mode:r="normal"}){let{hasContent:o,ghostText:a}=$g(()=>{let l=i.length>0||t.length>0,d=s&&s.toLowerCase().startsWith(i.toLowerCase())&&i.length>0?s.slice(i.length):null;return{hasContent:l,ghostText:d}},[i,t.length,s]),c=$g(()=>t.length===0?null:t.map((l,d)=>{if(l.type==="clipboard_image"){let p=l.fileSize?` ${dn(l.fileSize)}`:"",h=!!l.error;return Q.createElement(st,{key:`pasted-${l.id}`,flexDirection:"column"},Q.createElement(st,null,Q.createElement(ge,{color:h?A.status.error:A.status.info}," ","[CLIPBOARD] "),Q.createElement(ge,{color:h?A.status.error:A.text.secondary},"Image"),p&&Q.createElement(ge,{color:A.ui.muted},p)),h&&Q.createElement(st,{marginLeft:4},Q.createElement(ge,{color:A.status.error,dimColor:!0},"[!] ",l.error)))}if(l.type==="image_path"&&l.filePath){let p=Qa(Fg.basename(l.filePath)),h=l.fileSize?` ${dn(l.fileSize)}`:"",f=!!l.error;return Q.createElement(st,{key:`pasted-${l.id}`,flexDirection:"column"},Q.createElement(st,null,Q.createElement(ge,{color:f?A.status.error:A.status.info}," ","[IMG] "),Q.createElement(ge,{color:f?A.status.error:A.text.secondary},p),h&&Q.createElement(ge,{color:A.ui.muted},h)),f&&Q.createElement(st,{marginLeft:4},Q.createElement(ge,{color:A.status.error,dimColor:!0},"[!] ",l.error)))}if(l.type==="file_path"&&l.filePath){let p=Qa(Fg.basename(l.filePath)),h=l.fileSize?` ${dn(l.fileSize)}`:"",f=!!l.error;return Q.createElement(st,{key:`pasted-${l.id}`,flexDirection:"column"},Q.createElement(st,null,Q.createElement(ge,{color:f?A.status.error:A.status.info}," ","[FILE] "),Q.createElement(ge,{color:f?A.status.error:A.text.secondary},p),h&&Q.createElement(ge,{color:A.ui.muted},h)),f&&Q.createElement(st,{marginLeft:4},Q.createElement(ge,{color:A.status.error,dimColor:!0},"[!] ",l.error)))}let g=l.lineCount-1,m=g>0?`+${g} lines`:"1 line";return Q.createElement(st,{key:`pasted-${l.id}`},Q.createElement(ge,{color:A.ui.muted}," ","[TEXT] "),Q.createElement(ge,{color:A.text.secondary},"Pasted text #",d+1),Q.createElement(ge,{color:A.ui.muted}," (",m,")"))}),[t]);return Q.createElement(st,{borderStyle:"round",borderColor:o?A.border.focused:A.border.default,paddingX:2,paddingY:0,flexDirection:"column",width:"100%"},c&&Q.createElement(st,{flexDirection:"column",marginBottom:0},c),Q.createElement(st,null,Q.createElement(_g,{mode:r,isFocused:!e}),Q.createElement(ge,null," "),i.length===0&&!e?s?Q.createElement(ge,null,Q.createElement(ge,{inverse:!0}," "),Q.createElement(ge,{color:A.ui.muted},s),Q.createElement(ge,{color:A.ui.muted,dimColor:!0}," (Tab to accept)")):Q.createElement(ge,{color:A.ui.muted},jS):Q.createElement(ge,null,Q.createElement(ge,{color:A.text.primary},i.slice(0,n)),!e&&Q.createElement(ge,{inverse:!0}," "),Q.createElement(ge,{color:A.text.primary},i.slice(n)),a&&Q.createElement(ge,{color:A.ui.muted},a))))}var Lg=GS(zS,(i,e)=>i.input===e.input&&i.isLoading===e.isLoading&&i.cursorPosition===e.cursorPosition&&i.suggestion===e.suggestion&&i.mode===e.mode&&i.pastedTexts.length===e.pastedTexts.length&&i.pastedTexts.every((t,n)=>t.id===e.pastedTexts[n]?.id));import vr,{useState as qS,useEffect as KS,useRef as VS,memo as XS}from"react";import{Box as YS,Text as vc}from"@jrichman/ink";import QS from"ink-spinner";function JS(i){if(i<60)return`${i}s`;let e=Math.floor(i/60),t=i%60;return`${e}m ${t}s`}function ZS({isLoading:i,phrase:e="Processing",startTime:t}){let[n,s]=qS(0),r=VS(null);return KS(()=>{if(r.current&&(clearInterval(r.current),r.current=null),!i){s(0);return}let o=t||Date.now();return r.current=setInterval(()=>{let a=Date.now(),c=Math.floor((a-o)/1e3);s(c)},1e3),()=>{r.current&&(clearInterval(r.current),r.current=null)}},[i,t]),i?vr.createElement(YS,{flexDirection:"row",alignItems:"center",paddingX:2,marginBottom:1,flexShrink:0},vr.createElement(vc,{color:A.text.accent},vr.createElement(QS,{type:"dots"})),vr.createElement(vc,{color:A.text.primary}," ",e,"... "),vr.createElement(vc,{color:A.text.secondary},"(esc to cancel",n>0?`, ${JS(n)}`:"",")")):null}var Ug=XS(ZS);import we,{memo as aw,useMemo as Kg}from"react";import{Box as Ts,Text as rt}from"@jrichman/ink";import{useState as Bg,useEffect as Wg,useCallback as ew,useRef as Hg}from"react";import{useStdout as tw}from"@jrichman/ink";var Ss=80,ws=24,nw=100;function oi(i){let{debounceMs:e=nw}=i||{},{stdout:t}=tw(),[n,s]=Bg({width:t?.columns||Ss,height:t?.rows||ws,rows:t?.rows||ws,columns:t?.columns||Ss}),[r,o]=Bg(!1),a=Hg(null),c=Hg(null);Wg(()=>{function d(){o(!0),a.current&&clearTimeout(a.current),c.current&&clearTimeout(c.current),a.current=setTimeout(()=>{let g=process.stdout.columns||Ss,m=process.stdout.rows||ws;s(p=>p.width!==g||p.height!==m?{width:g,height:m,rows:m,columns:g}:p),c.current=setTimeout(()=>{o(!1)},50)},e)}return process.stdout.on("resize",d),()=>{process.stdout.off("resize",d),a.current&&clearTimeout(a.current),c.current&&clearTimeout(c.current)}},[e]),Wg(()=>{if(t){let d=t.columns||Ss,g=t.rows||ws;(d!==n.width||g!==n.height)&&s({width:d,height:g,rows:g,columns:d})}},[t?.columns,t?.rows]);let l=ew(()=>{s({width:process.stdout.columns||Ss,height:process.stdout.rows||ws,rows:process.stdout.rows||ws,columns:process.stdout.columns||Ss})},[]);return{...n,isResizing:r,refresh:l}}Po();import{useState as bn,useEffect as Gg,useRef as sw,useCallback as rw}from"react";function jg(i=1e4){let[e,t]=bn("not-ready"),[n,s]=bn(!1),[r,o]=bn(!1),[a,c]=bn(0),[l,d]=bn(5),[g,m]=bn(0),[p,h]=bn(!1),[f,y]=bn(!1),T=sw(!1),x=rw(w=>{w.isInitializing||w.initState==="initializing"?t("initializing"):w.isRunning&&w.isInitialized?t("ready"):t("not-ready"),s(w.hasBrowser??!1),o(w.multiAgentMode??!1),c(w.runningAgentCount??0),d(w.maxConcurrentAgents??5),m(w.tabCount??0),h(w.isExecuting??!1),y(w.hasActiveSession??!1)},[]);return Gg(()=>{let w=te.onStatusChange(C=>{x(C)});return()=>w()},[x]),Gg(()=>{let w=()=>{let v=te.getStatus();v.initState==="idle"&&!T.current&&(T.current=!0,te.initialize().catch(E=>{console.debug("[useBrowserStatus] Auto-init failed:",E.message)}),v=te.getStatus()),x(v)};w();let C=setInterval(w,i);return()=>clearInterval(C)},[i,x]),{status:e,hasBrowser:n,multiAgentMode:r,runningAgentCount:a,maxConcurrentAgents:l,tabCount:g,isExecuting:p,hasActiveSession:f}}import{useState as ii,useEffect as ow,useCallback as zg}from"react";var iw=300*1e3;function qg(){let[i,e]=ii(null),[t,n]=ii(null),[s,r]=ii(!1),[o,a]=ii(null),c=zg(async(m=!1)=>{r(!0),a(null);try{let p=await ur.fetchQuotaStatus(m);e(p);let h=await ur.getUsageDisplayData();n(h)}catch(p){a(p instanceof Error?p.message:"Failed to fetch quota")}finally{r(!1)}},[]),l=zg(async()=>{await c(!0)},[c]);ow(()=>{c();let m=setInterval(()=>{c(!0)},iw);return()=>clearInterval(m)},[c]);let d=t?eg(t.percent):"normal",g=t?dr(t.resetsAt,t.resetsInSeconds):"";return{quota:i,usageDisplay:t,severity:d,resetTimeDisplay:g,isLoading:s,error:o,refresh:l}}wn();import{createRequire as cw}from"module";var lw=cw(import.meta.url),uw=lw("../package.json"),dw=uw.version,gw={3:"#FFD700",2:"#A78BFA",1:"#60A5FA",0:A.ui.muted},mw={ready:"#10B981",initializing:"#F59E0B","not-ready":"#F97316"},pw={normal:A.ui.muted,notice:"#60A5FA",warning:"#FBBF24",high:"#F97316",critical:"#EF4444"};function hw(i){let e=process.env.HOME||process.env.USERPROFILE||"";return e&&i.startsWith(e)?"~"+i.slice(e.length):i}function fw(i,e){if(i.length<=e)return i;let t=i.split("/");if(t.length<=2)return i.slice(0,e-3)+"...";let n=t[0]+"/.../"+t[t.length-1];return n.length>e&&(n=".../"+t[t.length-1]),n.length>e&&(n=n.slice(0,e-3)+"..."),n}function bw({cwd:i,selectedModel:e,showScrollHint:t=!1,tier:n=0}){let{width:s}=oi(),{status:r}=jg(),{usageDisplay:o,severity:a,resetTimeDisplay:c}=qg(),l=xe.getDisplayName(n),d=gw[n]||A.ui.muted,{displayPath:g,shortcuts:m}=Kg(()=>{let h=`${e.displayName} /model`,f=" ● browser",y=t?"? help · Shift+↑↓ scroll":"? help",x=h.length+f.length+y.length+" ".length*2+4,w=Math.max(15,Math.floor((s-x)*.4));return{displayPath:fw(hw(i),w),shortcuts:y}},[i,e.displayName,t,s]),p=Kg(()=>{if(!o)return null;let{percent:h,type:f}=o,y=f==="weekly"?"weekly":"5-hour";return h>=100?`You've hit your ${y} limit`:h>=90?`${h}% of ${y} limit used`:`${h}% ${y} usage`},[o]);return we.createElement(Ts,{flexDirection:"column",width:"100%"},o&&we.createElement(Ts,{paddingX:2,justifyContent:"center"},we.createElement(rt,{color:pw[a]},p),c&&we.createElement(we.Fragment,null,we.createElement(rt,{color:A.ui.muted}," · "),we.createElement(rt,{color:A.ui.muted},"Resets in ",c))),we.createElement(Ts,{paddingX:2,paddingY:0,width:"100%",justifyContent:"space-between",flexDirection:"row"},we.createElement(Ts,null,we.createElement(rt,{color:A.text.link},g),we.createElement(rt,{color:A.ui.muted}," v",dw),we.createElement(rt,{color:A.ui.muted}," · "),we.createElement(rt,{color:d,bold:!0},l)),we.createElement(Ts,null,we.createElement(rt,{color:A.text.accent},e.displayName),we.createElement(rt,{color:A.text.secondary}," /model"),we.createElement(rt,{color:A.text.secondary}," "),we.createElement(rt,{color:mw[r]},"●"),we.createElement(rt,{color:A.text.secondary}," browser")),we.createElement(Ts,null,we.createElement(rt,{color:A.text.secondary},m))))}var Vg=aw(bw);import xc,{memo as Cc}from"react";import{Box as Vw}from"@jrichman/ink";import ie,{memo as Hw,useMemo as om}from"react";import{Box as at,Text as bt}from"@jrichman/ink";import xs,{memo as yw}from"react";import{Box as ai,Text as Xg}from"@jrichman/ink";function vw({suggestions:i,onSelect:e}){return i.length===0?null:xs.createElement(ai,{flexDirection:"column",marginTop:1,width:"100%"},i.map((t,n)=>xs.createElement(ai,{key:`sug-block-${n}`,flexDirection:"row",flexWrap:"wrap",gap:1,width:"100%"},t.options.map((s,r)=>xs.createElement(ai,{key:`sug-opt-${n}-${r}`,borderStyle:"round",borderColor:"#3F3F46",paddingX:1,paddingY:0},xs.createElement(Xg,{color:"#22D3EE"},s))))),e&&xs.createElement(ai,{marginTop:0,width:"100%"},xs.createElement(Xg,{color:"#6B7280"},"Type a suggestion to use it")))}var Yg=yw(vw,(i,e)=>i.suggestions===e.suggestions?!0:i.suggestions.length!==e.suggestions.length?!1:i.suggestions.every((t,n)=>{let s=e.suggestions[n];return t.options.length===s.options.length&&t.options.every((r,o)=>r===s.options[o])}));import Bn,{memo as Sw}from"react";import{Box as ci,Text as Sc}from"@jrichman/ink";function ww({workingFiles:i}){return i.length===0?null:Bn.createElement(ci,{flexDirection:"column",marginTop:1,width:"100%"},Bn.createElement(ci,{marginBottom:0,width:"100%"},Bn.createElement(Sc,{color:"#9CA3AF",bold:!0},"Working Files"),Bn.createElement(Sc,{color:"#6B7280"}," (",i.length,")")),Bn.createElement(ci,{flexDirection:"row",flexWrap:"wrap",gap:1,width:"100%"},i.map(e=>Bn.createElement(ci,{key:`wf-${e.path}`,borderStyle:"round",borderColor:"#3F3F46",paddingX:1,paddingY:0},Bn.createElement(Sc,{color:"white"},e.name)))))}var Qg=Sw(ww,(i,e)=>i.workingFiles===e.workingFiles?!0:i.workingFiles.length!==e.workingFiles.length?!1:i.workingFiles.every((t,n)=>t.path===e.workingFiles[n].path));import ot,{memo as Tw,useMemo as xw,useState as Cw}from"react";import{Box as Sr,Text as yn}from"@jrichman/ink";var wc=5;function Ew({conversationHistory:i,onSelect:e}){let[t,n]=Cw(!1),{displayedItems:s,hiddenCount:r}=xw(()=>i.length<=wc||t?{displayedItems:i,hiddenCount:0}:{displayedItems:i.slice(0,wc),hiddenCount:i.length-wc},[i,t]);return i.length===0?null:ot.createElement(Sr,{flexDirection:"column",marginTop:1},ot.createElement(Sr,{marginBottom:0},ot.createElement(yn,{color:A.text.secondary},"💬 "),ot.createElement(yn,{color:A.text.secondary,bold:!0},i.length," conversation",i.length!==1?"s":""," found")),ot.createElement(Sr,{flexDirection:"column",paddingLeft:2},s.map((o,a)=>ot.createElement(Sr,{key:`conv-${o.id}-${a}`},ot.createElement(yn,{color:A.ui.muted},"• "),ot.createElement(yn,{color:A.text.primary},o.title),ot.createElement(yn,{color:A.ui.muted}," ("),ot.createElement(yn,{color:A.text.link},Iw(o.id)),ot.createElement(yn,{color:A.ui.muted},")"))),r>0&&ot.createElement(Sr,{marginTop:0},ot.createElement(yn,{color:A.text.accent},"+",r," more conversation",r!==1?"s":""))))}function Iw(i,e=20){return i.length<=e?i:i.slice(0,e-3)+"..."}var Jg=Tw(Ew);import K,{memo as kw,useMemo as Pw}from"react";import{Box as it,Text as re}from"@jrichman/ink";wn();import{createRequire as Aw}from"module";var Dw=Aw(import.meta.url),Mw=Dw("../package.json"),Rw=Mw.version;function Ow(i){switch(i){case 3:return"#FFD700";case 2:return"#A78BFA";case 1:return"#60A5FA";default:return A.ui.muted}}function Nw(i){let e=process.env.HOME||process.env.USERPROFILE||"";return e&&i.startsWith(e)?"~"+i.slice(e.length):i}function _w(){let i="#E8B4B8",e="#B8E4E8",t="#4A4A4A";return K.createElement(it,{flexDirection:"column"},K.createElement(it,null,K.createElement(re,{color:i},"██"),K.createElement(re,null," "),K.createElement(re,{color:i},"██"),K.createElement(re,null," "),K.createElement(re,{color:i},"██")),K.createElement(it,null,K.createElement(re,{color:i},"██████████")),K.createElement(it,null,K.createElement(re,{color:i},"██"),K.createElement(re,{color:e},"██████"),K.createElement(re,{color:i},"██")),K.createElement(it,null,K.createElement(re,{color:i},"██"),K.createElement(re,{color:t},"██"),K.createElement(re,{color:e},"██"),K.createElement(re,{color:t},"██"),K.createElement(re,{color:i},"██")),K.createElement(it,null,K.createElement(re,{color:i},"██"),K.createElement(re,{color:e},"██████"),K.createElement(re,{color:i},"██")),K.createElement(it,null,K.createElement(re,{color:i},"████"),K.createElement(re,{color:t},"██"),K.createElement(re,{color:i},"████")),K.createElement(it,null,K.createElement(re,{color:i}," ██████ ")))}function $w({projectPath:i,variant:e="main",tier:t=0}){let n=Pw(()=>i?Nw(i):null,[i]),s=xe.getDisplayName(t),r=Ow(t);return e==="main"?K.createElement(it,{flexDirection:"row",paddingX:1,marginY:1,gap:2},K.createElement(_w,null),K.createElement(it,{flexDirection:"column",justifyContent:"center"},K.createElement(it,null,K.createElement(re,{color:A.colors.AccentPurple,bold:!0},"Orion"),K.createElement(re,{color:A.ui.muted}," v",Rw),K.createElement(re,{color:A.ui.muted}," · "),K.createElement(re,{color:r,bold:!0},"Orion ",s)),K.createElement(re,{color:A.text.secondary},"Your partner in getting things done."),K.createElement(re,{color:A.text.secondary,dimColor:!0},"More done, more sleep."),n&&K.createElement(it,{marginTop:1},K.createElement(re,{color:A.ui.muted},n)))):K.createElement(it,{paddingX:1,marginY:1},K.createElement(re,{color:A.colors.AccentPurple},"● "),e==="fresh"&&K.createElement(re,{color:A.text.secondary},"Ready when you are."),e==="continue"&&K.createElement(re,{color:A.text.secondary},"Picking up where we left off."),e==="new"&&K.createElement(re,{color:A.text.secondary},"New conversation started."))}var Zg=kw($w);function em(i){return i.includes("Orion ready")||i.includes("Fresh start")||i.includes("Welcome back")||i.includes("New conversation")||i.includes("Conversation cleared")}function tm(i){let e=i.match(/📁\s*(.+)/),t=e?e[1].trim():void 0;return i.includes("Fresh start")||i.includes("Conversation cleared")?{variant:"fresh",projectPath:t}:i.includes("Welcome back")?{variant:"continue",projectPath:t}:i.includes("New conversation")?{variant:"new",projectPath:t}:{variant:"main",projectPath:t}}import Ke,{memo as li,useMemo as Fw}from"react";import{Box as Cs,Text as Wn}from"@jrichman/ink";var he={javascript:{keywords:["const","let","var","function","return","if","else","for","while","do","switch","case","break","continue","try","catch","finally","throw","new","class","extends","import","export","default","from","async","await","yield","static","get","set","typeof","instanceof","in","of","delete","void","this","super","with","debugger"],types:["Array","Object","String","Number","Boolean","Function","Promise","Map","Set","Date","RegExp","Error","Symbol","BigInt","null","undefined","true","false","NaN","Infinity"],stringDelimiters:["'",'"',"`"],commentSingle:"//",commentMultiStart:"/*",commentMultiEnd:"*/"},typescript:{keywords:["const","let","var","function","return","if","else","for","while","do","switch","case","break","continue","try","catch","finally","throw","new","class","extends","import","export","default","from","async","await","yield","static","get","set","typeof","instanceof","in","of","delete","void","this","super","type","interface","enum","namespace","module","declare","abstract","implements","private","protected","public","readonly","as","is","keyof","infer","never","unknown","any"],types:["Array","Object","String","Number","Boolean","Function","Promise","Map","Set","Date","RegExp","Error","Symbol","BigInt","null","undefined","true","false","void","Partial","Required","Readonly","Record","Pick","Omit","Exclude","Extract","NonNullable","ReturnType","InstanceType","Parameters"],stringDelimiters:["'",'"',"`"],commentSingle:"//",commentMultiStart:"/*",commentMultiEnd:"*/"},python:{keywords:["def","class","return","if","elif","else","for","while","break","continue","try","except","finally","raise","import","from","as","with","assert","yield","lambda","pass","del","global","nonlocal","and","or","not","in","is","async","await","match","case"],types:["None","True","False","int","float","str","list","dict","tuple","set","bool","bytes","object","type","Exception"],builtins:["print","len","range","enumerate","zip","map","filter","sorted","reversed","sum","min","max","abs","round","open","input","isinstance","hasattr","getattr","setattr","super","property","staticmethod","classmethod"],stringDelimiters:["'",'"',"'''",'"""'],commentSingle:"#"},bash:{keywords:["if","then","else","elif","fi","for","while","do","done","case","esac","in","function","return","exit","break","continue","export","local","readonly","declare","unset","shift","source","eval","exec","trap","set","shopt"],builtins:["echo","cd","pwd","ls","cat","grep","sed","awk","find","xargs","sort","uniq","head","tail","wc","cut","tr","mkdir","rm","cp","mv","touch","chmod","chown","curl","wget","git","npm","yarn","pnpm","node","python","pip"],stringDelimiters:["'",'"'],commentSingle:"#"},rust:{keywords:["fn","let","mut","const","static","if","else","match","for","while","loop","break","continue","return","struct","enum","impl","trait","type","where","use","mod","pub","crate","self","super","as","in","ref","move","async","await","dyn","unsafe","extern"],types:["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","bool","char","str","String","Vec","Option","Result","Box","Rc","Arc","Cell","RefCell","true","false","Some","None","Ok","Err","Self"],stringDelimiters:['"'],commentSingle:"//",commentMultiStart:"/*",commentMultiEnd:"*/"},go:{keywords:["func","return","if","else","for","range","switch","case","default","break","continue","goto","fallthrough","defer","go","select","chan","var","const","type","struct","interface","map","package","import"],types:["int","int8","int16","int32","int64","uint","uint8","uint16","uint32","uint64","uintptr","float32","float64","complex64","complex128","bool","byte","rune","string","error","nil","true","false","iota"],builtins:["make","new","len","cap","append","copy","delete","close","panic","recover","print","println"],stringDelimiters:['"',"'","`"],commentSingle:"//",commentMultiStart:"/*",commentMultiEnd:"*/"},json:{keywords:[],types:["true","false","null"],stringDelimiters:['"']},yaml:{keywords:[],types:["true","false","null","yes","no","on","off"],stringDelimiters:["'",'"'],commentSingle:"#"},sql:{keywords:["SELECT","FROM","WHERE","AND","OR","NOT","IN","LIKE","BETWEEN","IS","NULL","ORDER","BY","ASC","DESC","LIMIT","OFFSET","JOIN","LEFT","RIGHT","INNER","OUTER","ON","AS","GROUP","HAVING","DISTINCT","COUNT","SUM","AVG","MIN","MAX","INSERT","INTO","VALUES","UPDATE","SET","DELETE","CREATE","TABLE","DROP","ALTER","INDEX","PRIMARY","KEY","FOREIGN","REFERENCES","CONSTRAINT","UNIQUE","DEFAULT","CASCADE","UNION","ALL","EXISTS","CASE","WHEN","THEN","ELSE","END","COALESCE","NULLIF","CAST"],types:["INT","INTEGER","VARCHAR","TEXT","BOOLEAN","DATE","TIMESTAMP","FLOAT","DOUBLE","DECIMAL","BIGINT","SMALLINT","CHAR","BLOB","JSON","UUID"],stringDelimiters:["'"],commentSingle:"--",commentMultiStart:"/*",commentMultiEnd:"*/"}};he.ts=he.typescript;he.js=he.javascript;he.jsx=he.javascript;he.tsx=he.typescript;he.py=he.python;he.sh=he.bash;he.shell=he.bash;he.zsh=he.bash;he.rs=he.rust;he.golang=he.go;he.yml=he.yaml;function Lw(i,e){let t=[],n=0;for(;n<i.length;){if(e.commentSingle&&i.slice(n).startsWith(e.commentSingle)){t.push({type:"comment",value:i.slice(n)});break}let s=!1;for(let c of e.stringDelimiters)if(i.slice(n).startsWith(c)){let l=i.indexOf(c,n+c.length);if(l!==-1){t.push({type:"string",value:i.slice(n,l+c.length)}),n=l+c.length,s=!0;break}else{t.push({type:"string",value:i.slice(n)}),n=i.length,s=!0;break}}if(s)continue;let r=i.slice(n).match(/^-?\d+(\.\d+)?([eE][+-]?\d+)?/);if(r&&(n===0||/[\s\(\[\{,;:=<>!&|+\-*/%]/.test(i[n-1]))){t.push({type:"number",value:r[0]}),n+=r[0].length;continue}let o=i.slice(n).match(/^[a-zA-Z_$][a-zA-Z0-9_$]*/);if(o){let c=o[0],l="plain";e.keywords.includes(c)?l="keyword":e.types?.includes(c)?l="type":(e.builtins?.includes(c)||i[n+c.length]==="(")&&(l="function"),t.push({type:l,value:c}),n+=c.length;continue}let a=i.slice(n).match(/^(===|!==|==|!=|<=|>=|=>|->|&&|\|\||<<|>>|\+\+|--|[+\-*/%=<>!&|^~?:])/);if(a){t.push({type:"operator",value:a[0]}),n+=a[0].length;continue}if(/^[(){}\[\];,.]/.test(i[n])){t.push({type:"punctuation",value:i[n]}),n++;continue}t.push({type:"plain",value:i[n]}),n++}return t}var Uw={keyword:A.status.warning,string:A.status.success,comment:A.ui.comment,number:A.text.link,function:A.text.link,operator:A.text.primary,punctuation:A.ui.muted,type:A.status.info,plain:A.text.primary},Bw=li(function({line:e,language:t}){if(!t)return Ke.createElement(Wn,{color:A.text.primary},e);let n=Lw(e,t);return Ke.createElement(Wn,null,n.map((s,r)=>Ke.createElement(Wn,{key:r,color:Uw[s.type]},s.value)))}),Ww=li(function({code:e,language:t,showLineNumbers:n=!1,startLineNumber:s=1,maxLines:r}){let{lines:o,langDef:a,truncated:c}=Fw(()=>{let d=e.split(`
2593
2593
  `),g=t?he[t.toLowerCase()]:void 0;return r&&d.length>r?{lines:d.slice(0,r),langDef:g,truncated:d.length-r}:{lines:d,langDef:g,truncated:0}},[e,t,r]),l=n?String(s+o.length-1).length:0;return Ke.createElement(Cs,{flexDirection:"column"},o.map((d,g)=>Ke.createElement(Cs,{key:g,flexDirection:"row"},n&&Ke.createElement(Cs,{width:l+2,flexShrink:0},Ke.createElement(Wn,{color:A.ui.muted},String(s+g).padStart(l," ")," │")),Ke.createElement(Cs,{flexGrow:1},Ke.createElement(Bw,{line:d,language:a})))),c>0&&Ke.createElement(Wn,{color:A.ui.muted}," ... ",c," more lines"))}),nm=li(function({code:e,language:t,showLanguageLabel:n=!0,showLineNumbers:s=!1,maxLines:r,showBorder:o=!0}){let a=t?.toLowerCase(),c=a&&he[a]?a:void 0;return Ke.createElement(Cs,{flexDirection:"column",borderStyle:o?"round":void 0,borderColor:o?A.border.default:void 0,paddingX:o?1:0},n&&c&&Ke.createElement(Cs,{marginBottom:0},Ke.createElement(Wn,{color:A.ui.muted,dimColor:!0},c)),Ke.createElement(Ww,{code:e,language:c,showLineNumbers:s,maxLines:r}))}),dB=li(function({children:e}){return Ke.createElement(Wn,{color:A.status.warning,bold:!1},"`",e,"`")});function sm(i){let e=[],t=/```(\w*)\n?([\s\S]*?)```/g,n=0,s;for(;(s=t.exec(i))!==null;)s.index>n&&e.push({type:"text",content:i.slice(n,s.index)}),e.push({type:"code",content:s[2].trim(),language:s[1]||void 0}),n=s.index+s[0].length;return n<i.length&&e.push({type:"text",content:i.slice(n)}),e}function rm(i){return/```[\s\S]*?```/.test(i)}var Gw=150;function im(i,e){return i.length<=e?{lines:i,truncated:!1}:{lines:i.slice(0,e),truncated:!0}}function jw({message:i,onSuggestionClick:e,maxLines:t=Gw}){let{role:n,content:s}=i,{userTier:r}=ir(),o=om(()=>{if(n!=="assistant")return null;let{suggestions:c,cleanedContent:l}=Er(s),{workingFiles:d,cleanedContent:g}=Nc(l),{conversationHistory:m,cleanedContent:p}=_c(g),f=$c(p).split(`
2594
2594
  `),{lines:y,truncated:T}=im(f,t);return{suggestions:c,workingFiles:d,conversationHistory:m,lines:y,truncated:T,totalLines:f.length}},[s,n,t]),a=om(()=>{if(n==="assistant")return null;let c=s.split(`
2595
2595
  `);return im(c,t)},[s,n,t]);if(n==="system"&&a){if(em(s)){let{variant:g,projectPath:m}=tm(s);return ie.createElement(Zg,{variant:g,projectPath:m,tier:r})}let{lines:c,truncated:l}=a,d=s.split(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zinley/orion",
3
- "version": "1.2.28",
3
+ "version": "1.2.29",
4
4
  "description": "Autonomous AI agent for your terminal. Excels at coding, debugging, DevOps, data science, and asset processing (images, videos). Handles complex tasks on your computer with speed and precision comparable to Claude Code.",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",