@hiperplano/aluy-cli 1.0.0-rc.2 → 1.0.0-rc.3
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/README.md +2 -2
- package/dist-bundle/bin/aluy.js +22 -22
- package/dist-bundle/index.js +2 -2
- package/package.json +1 -1
package/dist-bundle/bin/aluy.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
var T1=Object.defineProperty;var p=(t,e,o)=>()=>{if(o)throw o[0];try{return t&&(e=t(t=0)),e}catch(n){throw o=[n],n}};var bt=(t,e)=>{for(var o in e)T1(t,o,{get:e[o],enumerable:!0})};import{homedir as _1}from"node:os";import{join as R1}from"node:path";function mc(t=_1()){return R1(t,".aluy")}var Lu=p(()=>{"use strict"});var fc,iA=p(()=>{"use strict";fc="1.0.0-rc.
|
|
2
|
+
var T1=Object.defineProperty;var p=(t,e,o)=>()=>{if(o)throw o[0];try{return t&&(e=t(t=0)),e}catch(n){throw o=[n],n}};var bt=(t,e)=>{for(var o in e)T1(t,o,{get:e[o],enumerable:!0})};import{homedir as _1}from"node:os";import{join as R1}from"node:path";function mc(t=_1()){return R1(t,".aluy")}var Lu=p(()=>{"use strict"});var fc,iA=p(()=>{"use strict";fc="1.0.0-rc.3"});function or(t,e){return t.decide(e)}var ws=p(()=>{"use strict"});var _n,nr,rr=p(()=>{"use strict";_n="remember",nr="recall"});var Hh,C1,Di,qh=p(()=>{"use strict";Hh=class{id;horizon;label;parentId;children;dependencies;pinned;closed;createdAt;lastAccessedAt;accessCount;context;constructor(e,o,n,r,s){this.id=e,this.horizon=o,this.label=n,this.parentId=r,this.children=new Set,this.dependencies=new Set,this.pinned=!1,this.closed=!1,this.createdAt=s,this.lastAccessedAt=s,this.accessCount=0,this.context=[]}touch(e){this.lastAccessedAt=e,this.accessCount+=1}snapshot(){return{id:this.id,horizon:this.horizon,label:this.label,parentId:this.parentId,children:[...this.children],dependencies:[...this.dependencies],pinned:this.pinned,closed:this.closed,createdAt:this.createdAt,lastAccessedAt:this.lastAccessedAt,accessCount:this.accessCount,contextSize:this.context.length}}},C1=200,Di=class{nodes=new Map;maxBoxes;now;constructor(e){this.maxBoxes=e?.maxBoxes??C1,this.now=e?.clock??Date.now}static boxId(e,o){return`${e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"").slice(0,60)}-${o.toString(36)}`}openBox(e,o,n,r){let s=this.nodes.get(e);if(s)return s.touch(this.now()),{box:s.snapshot(),created:!1};if(this.nodes.size>=this.maxBoxes&&(this.evictOne(),this.nodes.size>=this.maxBoxes))return null;let i=this.now(),a=new Hh(e,o,n,r??null,i);if(r){let c=this.nodes.get(r);c&&c.children.add(e)}return this.nodes.set(e,a),{box:a.snapshot(),created:!0}}closeBox(e){let o=this.nodes.get(e);return o?(o.closed=!0,o.touch(this.now()),o.snapshot()):null}isClosed(e){let o=this.nodes.get(e);return o?o.closed:!1}reopenBox(e){let o=this.nodes.get(e);return o?(o.closed=!1,o.touch(this.now()),o.snapshot()):null}setHorizon(e,o){let n=this.nodes.get(e);return n?(n.horizon=o,n.touch(this.now()),n.snapshot()):null}setParent(e,o){let n=this.nodes.get(e);return n?n.parentId===o?n.snapshot():o!==null&&this.wouldCreateCycle(e,o)?null:(n.parentId&&this.nodes.get(n.parentId)?.children.delete(e),n.parentId=o,o&&this.nodes.get(o)?.children.add(e),n.touch(this.now()),n.snapshot()):null}wouldCreateCycle(e,o){let n=new Set,r=o;for(;r!==null;){if(r===e||n.has(r))return!0;n.add(r),r=this.nodes.get(r)?.parentId??null}return!1}getBox(e){let o=this.nodes.get(e);return o?(o.touch(this.now()),o.snapshot()):null}listBoxes(e="lastAccessedAt"){let o=[...this.nodes.values()].map(n=>n.snapshot());switch(e){case"createdAt":return o.sort((n,r)=>n.createdAt-r.createdAt);case"accessCount":return o.sort((n,r)=>r.accessCount-n.accessCount);default:return o.sort((n,r)=>r.lastAccessedAt-n.lastAccessedAt)}}get size(){return this.nodes.size}addContext(e,o){let n=this.nodes.get(e);return n?(n.context.push({ts:this.now(),text:o}),n.touch(this.now()),n.snapshot()):null}getContext(e){let o=this.nodes.get(e);return o?(o.touch(this.now()),[...o.context]):[]}getContextChain(e){let o=[],n=new Set,r=e;for(;r&&!n.has(r);){n.add(r);let s=this.nodes.get(r);if(!s)break;s.touch(this.now()),o.push({boxId:s.id,entries:[...s.context]}),r=s.parentId}return o}addDependency(e,o){let n=this.nodes.get(e);return!n||!this.nodes.has(o)||n.id===o?!1:(n.dependencies.add(o),n.touch(this.now()),!0)}getDependencies(e){let o=this.nodes.get(e);return o?[...o.dependencies]:[]}pinBox(e){let o=this.nodes.get(e);return o?(o.pinned=!0,o.touch(this.now()),o.snapshot()):null}unpinBox(e){let o=this.nodes.get(e);return o?(o.pinned=!1,o.touch(this.now()),o.snapshot()):null}evictOne(){let e=[];for(let n of this.nodes.values())n.horizon==="longo"||n.pinned||e.push(n);if(e.length===0)return null;e.sort((n,r)=>{let s=n.horizon==="curto"?0:1,i=r.horizon==="curto"?0:1;if(s!==i)return s-i;let a=n.closed?0:1,c=r.closed?0:1;return a!==c?a-c:n.lastAccessedAt!==r.lastAccessedAt?n.lastAccessedAt-r.lastAccessedAt:n.accessCount-r.accessCount});let o=e[0];return this.removeNode(o)}forceEvict(e){let o=this.nodes.get(e);return!o||o.horizon==="longo"||o.pinned?null:this.removeNode(o)}removeBox(e){let o=this.nodes.get(e);return o?this.removeNode(o):null}removeNode(e){if(e.parentId){let o=this.nodes.get(e.parentId);o&&o.children.delete(e.id)}return this.nodes.delete(e.id),e.snapshot()}}});function Pu(t){let e=[];for(let o of t){e.push({step:o,depth:0});for(let n of o.substeps??[])e.push({step:n,depth:1})}return e}function lA(t,e){let o,n="pending",r;if(typeof t=="string")o=t;else if(t!==null&&typeof t=="object"){let i=t,a=i.title??i.step??i.text??i.name??i.content;if(typeof a=="string"&&(o=a),typeof i.status=="string"&&O1.has(i.status)&&(n=i.status),e){let c=i.substeps??i.subtasks??i.subpassos??i.children;if(Array.isArray(c)&&c.length>0){let l=[];for(let d of c){let m=lA(d,!1);if(typeof m=="string")return m;l.push(m)}r=l}}}if(o===void 0||o.trim()==="")return L1;let s=o.trim().slice(0,M1);return r?{title:s,status:n,substeps:r}:{title:s,status:n}}function P1(t){let e=t.steps??t.plan??t.todos??t.items;if(!Array.isArray(e))return{error:'update_plan: passe "steps" como uma LISTA de passos (string ou {title,status}).'};if(e.length===0)return{error:"update_plan: a lista de passos est\xE1 vazia."};let o=[];for(let i of e){let a=lA(i,!0);if(typeof a=="string")return{error:a};o.push(a)}let n=new Set,r=i=>{if(!n.has(i))return n.add(i),i;for(let a=2;;a++){let c=`${i} #${a}`;if(!n.has(c))return n.add(c),c}};for(let i=0;i<o.length;i++){let a=o[i],c=r(a.title),l=a.substeps?.map(d=>({...d,title:r(d.title)}));o[i]=l!==void 0?{...a,title:c,substeps:l}:{...a,title:c}}let s=Pu(o).length;return s>aA?{error:`update_plan: no m\xE1ximo ${aA} passos (recebidos ${s}).`}:{steps:o}}function I1(t){let e=Pu(t),o=e.filter(r=>r.step.status==="completed").length,n=e.map(r=>`${" ".repeat(r.depth)}${dA[r.step.status]} ${r.step.title}`).join(`
|
|
3
3
|
`);return`plano (${o}/${e.length}):
|
|
4
4
|
${n}`}function D1(t,e){return e<0?"m\xE9dio":t===e?"curto":t>e?"longo":"m\xE9dio"}function $1(t,e){let o=new Map;for(let i of e.listBoxes())o.set(i.label,i.id);let n=t.findIndex(i=>i.status==="in_progress"||(i.substeps??[]).some(a=>a.status==="in_progress")),r=(i,a,c)=>{let l=i.status==="in_progress"?"curto":c,d=o.get(i.title),m=d??Di.boxId(i.title,0);return d?(i.status!=="completed"&&e.isClosed(d)&&e.reopenBox(d),e.setHorizon(d,l),e.setParent(d,a)):e.openBox(m,l,i.title,a),i.status==="completed"&&!e.isClosed(m)&&e.closeBox(m),o.set(i.title,m),m};t.forEach((i,a)=>{let c=D1(a,n),l=r(i,null,c);for(let d of i.substeps??[])r(d,l,c)});let s=new Set;for(let i of t){s.add(i.title);for(let a of i.substeps??[])s.add(a.title)}for(let i of e.listBoxes())s.has(i.label)||e.removeBox(i.id)}function F1(t,e){if(!e)return I1(t);let o=new Map;for(let l of e.listBoxes())o.set(l.label,l);let n=new Map;for(let l of e.listBoxes())n.set(l.id,l);let r=new Map,s=(l,d=new Set)=>{let m=r.get(l);if(m!==void 0)return m;let u=n.get(l);if(!u||!u.parentId||d.has(l))return r.set(l,0),0;let h=s(u.parentId,new Set(d).add(l))+1;return r.set(l,h),h},i=Pu(t),c=[`plano (${i.filter(l=>l.step.status==="completed").length}/${i.length}):`];for(let{step:l,depth:d}of i){let m=o.get(l.title),u=m?N1[m.horizon]:"",h=m?s(m.id):d,g=" ".repeat(h),b=dA[l.status];c.push(`${g}${u} ${b} ${l.title}`)}return c.join(`
|
|
5
5
|
`)}var pc,O1,aA,M1,L1,dA,N1,cA,B1,uA,Iu=p(()=>{"use strict";qh();pc="update_plan";O1=new Set(["pending","in_progress","completed"]),aA=30,M1=120,L1="update_plan: cada passo precisa de um t\xEDtulo (texto) n\xE3o-vazio.";dA={pending:"\u2610",in_progress:"\u25B6",completed:"\u2611"};N1={longo:"[\u{1F4D0}]",m\u00E9dio:"[\u{1F4CB}]",curto:"[\u{1F4CC}]"};cA=Object.freeze({type:"string",enum:["pending","in_progress","completed"],description:"pending (a fazer) \xB7 in_progress (em curso) \xB7 completed (feito)."}),B1=Object.freeze({type:"object",properties:{steps:{type:"array",description:"A lista COMPLETA de passos do plano (re-emita TODOS a cada atualiza\xE7\xE3o \u2014 substitui o anterior).",items:{type:"object",properties:{title:{type:"string",description:"O passo, curto e no imperativo."},status:cA,substeps:{type:"array",description:"OPCIONAL: sub-passos que detalham este passo (1 n\xEDvel). Aparecem indentados sob o passo e seguem o foco dele. Use quando um passo tem a\xE7\xF5es menores distintas.",items:{type:"object",properties:{title:{type:"string",description:"O sub-passo, curto e no imperativo."},status:cA},required:["title"],additionalProperties:!1}}},required:["title"],additionalProperties:!1}}},required:["steps"],additionalProperties:!1}),uA={name:pc,effect:"read",description:"Declara/atualiza um PLANO vis\xEDvel (checklist de passos). Use ao iniciar uma tarefa com V\xC1RIOS passos e a cada progresso: re-emita a lista TODA marcando o status de cada passo (pending/in_progress/completed). Mantenha 1 passo in_progress por vez. N\xE3o tem efeito no sistema \u2014 \xE9 s\xF3 o seu plano, para voc\xEA e para o usu\xE1rio acompanharem.",parameters:B1,async run(t,e){let o=P1(t);return"error"in o?{ok:!1,observation:o.error}:(e.graph&&$1(o.steps,e.graph),e.plan&&e.plan.set(Pu(o.steps).map(r=>({title:r.step.title,status:r.step.status}))),{ok:!0,observation:F1(o.steps,e.graph)})}}});function mA(t){let e=t.question??t.prompt??t.text??t.message;if(typeof e!="string"||e.trim()==="")return{error:'perguntar: passe "question" (a pergunta em texto). Para escolha, passe tamb\xE9m "options".'};let o=e.trim().slice(0,2e3),n=t.header??t.title,r=typeof n=="string"&&n.trim()!==""?n.trim().slice(0,200):void 0,s=t.options??t.choices,i=Array.isArray(s)?j1(s):void 0;if(typeof i=="string")return{error:i};let a,c=t.kind??t.type;if(typeof c=="string"&&U1.has(c))a=c;else{if(typeof c=="string"&&c.trim()!=="")return{error:`perguntar: "kind" inv\xE1lido "${c}". Use "single", "multi" ou "text".`};a=i!==void 0&&i.length>0?"single":"text"}if((a==="single"||a==="multi")&&(i===void 0||i.length===0))return{error:`perguntar: kind "${a}" requer "options" (uma lista de ao menos 1 op\xE7\xE3o).`};let l=t.allowOther!==!1;return{spec:{kind:a,question:o,...r!==void 0?{header:r}:{},...a!=="text"&&i!==void 0?{options:i}:{},...a!=="text"?{allowOther:l}:{}}}}function j1(t){if(t.length===0)return'perguntar: a lista de "options" est\xE1 vazia.';if(t.length>12)return`perguntar: no m\xE1ximo 12 op\xE7\xF5es (recebidas ${t.length}).`;let e=[];for(let o of t){let n,r;if(typeof o=="string")n=o;else if(o!==null&&typeof o=="object"){let s=o,i=s.label??s.text??s.value??s.name??s.title;typeof i=="string"&&(n=i),typeof s.description=="string"&&s.description.trim()!==""&&(r=s.description.trim().slice(0,300))}if(n===void 0||n.trim()==="")return'perguntar: cada op\xE7\xE3o precisa de um "label" (texto) n\xE3o-vazio.';e.push({label:n.trim().slice(0,200),...r!==void 0?{description:r}:{}})}return e}function H1(t){switch(t.kind){case"choice":return t.label;case"choices":return t.labels.length===0?"(nenhuma)":t.labels.join(", ");case"text":{let e=t.text.split(`
|
|
@@ -137,7 +137,7 @@ ${t.trim()}`}}function pC(t,e,o=_l){let{older:n,recent:r}=tf(t,o);if(n.length===
|
|
|
137
137
|
Tente de novo em instantes; a busca no registro n\xE3o bloqueia o resto do aluy.`;if(t.results.length===0)return`nenhum server encontrado para "${t.query}" no registro oficial MCP.`;let e=[],o=t.results.length;e.push(`${o} server${o===1?"":"s"} para "${t.query}" (registro oficial MCP):`),e.push("");for(let n of t.results)e.push(HW(n)),e.push("");return e.push('Para instalar, copie a linha "\u2192 aluy mcp add \u2026" do server desejado.'),e.push("A sa\xEDda do registro \xE9 apenas informativa \u2014 nada \xE9 executado pela busca."),e.join(`
|
|
138
138
|
`)}function HW(t){let o=[`\u2022 ${t.version!==void 0?`${t.name} (v${t.version})`:t.name}`],n=t.title!==void 0&&t.title!==t.name?t.title:void 0;n!==void 0&&o.push(` ${n}`),t.description.length>0&&o.push(` ${qW(t.description,200)}`);let r=sO(t);if(r!==void 0){o.push(` \u2192 ${r}`),t.run.transport!==void 0&&t.run.transport!=="stdio"&&o.push(` (transporte "${t.run.transport}" \u2014 v1 do aluy s\xF3 pluga servers stdio LOCAIS)`);let s=t.run.env.filter(i=>i.required).map(i=>i.name);s.length>0&&o.push(` requer env: ${s.join(", ")} (defina por-server no mcp.json)`)}else t.run.remoteUrls.length>0?o.push(` (server REMOTO: ${t.run.remoteUrls.join(", ")} \u2014 fora do v1 de \`aluy mcp add\`)`):o.push(" (sem pacote local conhecido \u2014 nada a instalar pelo aluy)");return o.join(`
|
|
139
139
|
`)}function qW(t,e){return t.length<=e?t:t.slice(0,e-1).trimEnd()+"\u2026"}var aO=p(()=>{"use strict"});var cO=p(()=>{"use strict";ff();HC();qC();WC();GC();KC();JC();$u();nO();aO()});var D=p(()=>{"use strict";iA();MA();VA();pT();MC();BC();cO();hv();jm()});var gf,yf,lO,dO,uO,mO,bf=p(()=>{"use strict";gf={fg:{color:"#F2EEE8"},fgDim:{color:"#8A7F6D",dimColor:!0},accent:{color:"#DDA13F",bold:!0},accentDim:{color:"#A66A14",bold:!0},danger:{color:"#E5897C",bold:!0},success:{color:"#82CF9E"},depth:{color:"#5BA8A2"}},yf={fg:{color:"#1A1712"},fgDim:{color:"#544B3C"},accent:{color:"#82530F",bold:!0},accentDim:{color:"#82530F",bold:!0},danger:{color:"#B23A2A",bold:!0},success:{color:"#1F6B3A"},depth:{color:"#2E6E69"}},lO={fg:{color:"white"},fgDim:{color:"gray",dimColor:!0},accent:{color:"yellow",bold:!0},accentDim:{color:"yellow",bold:!0},danger:{color:"red",bold:!0},success:{color:"green"},depth:{color:"cyan"}},dO={fg:{color:"black"},fgDim:{color:"gray",dimColor:!0},accent:{color:"yellow",bold:!0},accentDim:{color:"yellow",bold:!0},danger:{color:"red",bold:!0},success:{color:"green"},depth:{color:"cyan"}},uO={fg:{color:"#F2EEE8"},fgDim:{color:"#B0A593",dimColor:!0},accent:{color:"#DDA13F",bold:!0},accentDim:{color:"#A66A14",bold:!0},danger:{color:"#E5897C",bold:!0},success:{color:"#82CF9E"},depth:{color:"#5BA8A2"}},mO={fg:{},fgDim:{dimColor:!0},accent:{bold:!0},accentDim:{bold:!0},danger:{bold:!0,inverse:!0},success:{},depth:{}}});var fO,pO,hO,gO,yO,bO,vO,vf=p(()=>{"use strict";fO={you:"\u258C",aluy:"\u039B",tool:"\u23FA",toolInflight:"\u25CB",wave:"~",waveHead:"\u203A",ask:"\u26A0",ok:"\u2713",err:"\u2717",broker:"\u25CF",clock:"\u25F7",gauge:"\u25D4",window:"\u25A1",branch:"\u2387",diffDel:"\u2039",diffAdd:"\u203A",prompt:"\u203A",cursor:"\u25CF",thinkingCursor:"\u25CF",planMode:"\u25D1",normalMode:"\u25C7",subagents:"+",sessionDot:"\u25CF",barFull:"\u25B0",barEmpty:"\u25B1"},pO={you:"\u258C",aluy:"\u039B",tool:"\u25CF",toolInflight:"\u25CB",wave:"~",waveHead:">",ask:"!",ok:"\u221A",err:"x",broker:"\u25CF",clock:"o",gauge:"\u25D4",window:"\u25A1",branch:"Y",diffDel:"<",diffAdd:">",prompt:">",cursor:"\u25CF",thinkingCursor:"\u25CF",planMode:"\u25D1",normalMode:"\u25C7",subagents:"+",sessionDot:"\u25CF",barFull:"\u2588",barEmpty:"\u2591"},hO={you:">",aluy:"/\\",tool:"o",toolInflight:".",wave:"~",waveHead:">",ask:"!",ok:"[ok]",err:"[x]",broker:"(b)",clock:"t:",gauge:"%:",window:"ctx:",branch:"git:",diffDel:"-",diffAdd:"+",prompt:">",cursor:"*",thinkingCursor:"*",planMode:"[plan]",normalMode:"*",subagents:"(+)",sessionDot:"*",barFull:"#",barEmpty:"."},gO=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],yO=["-","\\","|","/"],bO={topLeft:"\u256D",topRight:"\u256E",bottomLeft:"\u2570",bottomRight:"\u256F",horizontal:"\u2500",vertical:"\u2502",teeLeft:"\u251C",teeRight:"\u2524"},vO={topLeft:"+",topRight:"+",bottomLeft:"+",bottomRight:"+",horizontal:"-",vertical:"|",teeLeft:"+",teeRight:"+"}});function kO(t){return fa.includes(t.trim().toLowerCase())}function Pv(t){let e=2166136261,o=t.trim().toLowerCase();for(let r=0;r<o.length;r++)e^=o.charCodeAt(r),e=Math.imul(e,16777619);let n=(e>>>0)%Ul.length;return Ul[n].name}function xO(t,e,o){let n=t.trim().toLowerCase(),r=Ul.find(s=>s.name===n)??Ul.find(s=>s.name===Pv(n));return e==="mono"?{bold:!0}:e==="truecolor"?{color:o==="light"?r.lightHex:r.darkHex,bold:!0}:{color:r.ansi,bold:!0}}var Ul,fa,kf=p(()=>{"use strict";Ul=[{name:"ambar",darkHex:"#DDA13F",lightHex:"#82530F",ansi:"yellow"},{name:"verde",darkHex:"#82CF9E",lightHex:"#1F6B3A",ansi:"green"},{name:"teal",darkHex:"#5BA8A2",lightHex:"#2E6E69",ansi:"cyan"},{name:"azul",darkHex:"#6FA8DC",lightHex:"#1F5C99",ansi:"blue"},{name:"violeta",darkHex:"#B08CD9",lightHex:"#6A3FA6",ansi:"magenta"},{name:"rosa",darkHex:"#E59BC0",lightHex:"#A63D74",ansi:"magenta"},{name:"coral",darkHex:"#E5897C",lightHex:"#B23A2A",ansi:"red"},{name:"ardosia",darkHex:"#9AA7B0",lightHex:"#4A5963",ansi:"gray"}],fa=Ul.map(t=>t.name)});function xf(t){return t!==void 0&&t!==""&&t!=="0"&&t.toLowerCase()!=="false"}function QW(t){if(t.NO_COLOR!==void 0)return"mono";let e=(t.COLORTERM??"").toLowerCase();if(e==="truecolor"||e==="24bit")return"truecolor";let o=(t.TERM??"").toLowerCase();return o==="dumb"||o===""?"mono":"ansi16"}function ZW(t,e){if(e)return e;let o=t.COLORFGBG;if(o){let n=o.split(";"),r=Number(n[n.length-1]);if(Number.isFinite(r))return r>=8?"light":"dark"}return"dark"}function e2(t){let e=(t.TERM??"").toLowerCase();if(e==="linux"||e==="dumb")return!1;let o=`${t.LC_ALL??""}${t.LC_CTYPE??""}${t.LANG??""}`.toLowerCase();return!(xf(t.ALUY_ASCII)||o&&!o.includes("utf"))}function t2(t,e){return e!==void 0?e:xf(t.ALUY_SAFE_GLYPHS)}function o2(t,e,o){return t==="mono"?mO:t==="truecolor"?o??(e==="light"?yf:gf):e==="light"?dO:lO}function qo(t={}){let e=t.env??process.env,o=QW(e),n=ZW(e,t.theme),r=e2(e),s=r&&t2(e,t.safeGlyphs),i=t.density??(xf(e.ALUY_DENSITY)&&e.ALUY_DENSITY==="compact"?"compact":"comfortable"),a=t.animate??!xf(e.ALUY_NO_ANIM),c=o2(o,n,t.truecolorPalette),l=r?s?pO:fO:hO;return{colorMode:o,brightness:n,unicode:r,safeGlyphs:s,density:i,animate:a,role:h=>c[h],sessionColor:h=>xO(h,o,n),glyph:h=>l[h],aluyMark:r?"\u039B":"/\\",spinnerFrames:r&&!s?gO:yO,box:r?bO:vO}}var Sf=p(()=>{"use strict";bf();vf();kf()});function zr(t){return Po.find(e=>e.name===t)}function gr(t){let e=t.trim().toLowerCase();if(e==="")return;let o=Po.find(r=>r.name===e);if(o)return o;let n=Po.find(r=>r.name===`aluy-${e}`);return n||Po.find(r=>r.label.toLowerCase()===e)}function Ys(t){return t==="light"?"aluy-light":"aluy-dark"}function SO(t,e={}){let o=zr(t)??zr(Dv);return qo({...e,theme:o.brightness,truecolorPalette:o.palette})}var Po,Dv,Kr=p(()=>{"use strict";Sf();bf();Po=[{name:"aluy-dark",label:"Aluy Dark",brightness:"dark",summary:"escuro neutro (default) \u2014 fundo quase-preto, accent \xE2mbar",bg:"#070707",palette:gf},{name:"aluy-light",label:"Aluy Light",brightness:"light",summary:"claro creme \u2014 fundo --stone-50, accent \xE2mbar escurecido (AA)",bg:"#F4ECDC",palette:yf},{name:"aluy-slate",label:"Aluy Slate",brightness:"dark",summary:"terra escura WARM \u2014 fundo --stone-950, accent \xE2mbar",bg:"#0E0C09",palette:uO}],Dv="aluy-dark"});function Vs(t){return Ct.find(e=>e.code===t)}function Yr(t){let e=t.trim().toLowerCase();if(e==="")return;let o=Ct.find(n=>n.code.toLowerCase()===e);if(o)return o;if(e==="pt"||e==="pt_br"||e==="br"||e==="portugu\xEAs"||e==="portugues")return Vs("pt-BR");if(e==="en"||e==="en_us"||e==="english"||e==="ingl\xEAs"||e==="ingles")return Vs("en")}function wO(t){let e=(t.LC_ALL??t.LC_MESSAGES??t.LANG??"").trim().toLowerCase();if(e==="")return In;let o=e.split(".")[0].split("@")[0].replace("_","-");return o==="c"||o==="posix"?In:o==="en"||o.startsWith("en-")?"en":In}function $v(t,e,o){if(t!==void 0&&t.trim()!==""){let n=Yr(t);if(n)return n.code}return e!==void 0?e:wO(o)}var In,Ct,pa=p(()=>{"use strict";In="pt-BR",Ct=[{code:"pt-BR",label:"Portugu\xEAs (Brasil)",summary:"idioma padr\xE3o da TUI"},{code:"en",label:"English",summary:"English interface (opt-in)"}]});import{homedir as n2}from"node:os";import{join as AO}from"node:path";import{randomBytes as r2}from"node:crypto";import{openSync as s2,writeSync as i2,closeSync as EO,readFileSync as a2,mkdirSync as c2,renameSync as l2,unlinkSync as d2,constants as Fv}from"node:fs";function jl(t){if(typeof t!="string")return!1;let e=t.trim();return e===""||e.length>f2?!1:!/[\u0000-\u001F\u007F]/.test(e)}function TO(t){if(typeof t!="object"||t===null)return{};let e=t,o={};if(typeof e.theme=="string"){let n=zr(e.theme);n&&(o.theme=n.name)}if(jl(e.tier)&&(o.tier=e.tier.trim()),o.tier==="custom"&&jl(e.model)&&(o.model=e.model.trim()),typeof e.splitView=="boolean"&&(o.splitView=e.splitView),typeof e.lang=="string"){let n=Vs(e.lang);n&&(o.lang=n.code)}if(typeof e.fullscreen=="boolean"&&(o.fullscreen=e.fullscreen),(e.backend==="broker"||e.backend==="local")&&(o.backend=e.backend),jl(e.localProvider)&&(o.localProvider=e.localProvider.trim()),jl(e.localModel)&&(o.localModel=e.localModel.trim()),(e.localAuth==="apikey"||e.localAuth==="oauth")&&(o.localAuth=e.localAuth),jl(e.localBaseUrl)&&(o.localBaseUrl=e.localBaseUrl.trim()),typeof e.localBudget=="boolean"&&(o.localBudget=e.localBudget),typeof e.rooms=="object"&&e.rooms!==null){let n=e.rooms;if(typeof n.backend=="string"){let r=n.backend.trim().toLowerCase();r.length>0&&r.length<=32&&(o.rooms={backend:r})}}if((e.profile==="turbo"||e.profile==="leve")&&(o.profile=e.profile),typeof e.sidecarToggles=="object"&&e.sidecarToggles!==null){let n=e.sidecarToggles,r={};typeof n.ollama=="boolean"&&(r.ollama=n.ollama),typeof n.mem0=="boolean"&&(r.mem0=n.mem0),typeof n.headroom=="boolean"&&(r.headroom=n.headroom),Object.keys(r).length>0&&(o.sidecarToggles=r)}return o}function ql(t,e,o){return t!==void 0&&t.trim()!==""?t.trim():e.tier!==void 0&&e.tier.trim()!==""?e.tier.trim():o}function _O(t){return t.lang}function Bv(t,e){return t===!0?!0:e.splitView??!1}function Uv(t,e){return t===!0?!0:e.fullscreen??!1}var u2,m2,Hl,f2,Zt,yr=p(()=>{"use strict";Kr();pa();u2=448,m2=384,Hl="config.json",f2=128;Zt=class{base;file;constructor(e={}){this.base=e.baseDir??AO(n2(),".aluy"),this.file=AO(this.base,Hl)}get configPath(){return this.file}load(){let e;try{e=a2(this.file,"utf8")}catch{return{}}let o;try{o=JSON.parse(e)}catch{return{}}return TO(o)}save(e){try{let o=TO({...this.load(),...e});return this.writeAtomic(o),!0}catch{return!1}}saveTheme(e){return this.save({theme:e})}saveLang(e){return this.save({lang:e})}saveTier(e,o){let r=e.trim()==="custom"&&o!==void 0&&o.trim()!==""?o.trim():void 0;return this.save(r!==void 0?{tier:e,model:r}:{tier:e})}saveSplitView(e){return this.save({splitView:e})}saveFullscreen(e){return this.save({fullscreen:e})}saveLocalBudget(e){return this.save({localBudget:e})}writeAtomic(e){c2(this.base,{recursive:!0,mode:u2});let o=`${this.file}.${process.pid}.${r2(6).toString("hex")}.tmp`,n=JSON.stringify(e,null,2)+`
|
|
140
|
-
`,r;try{r=s2(o,Fv.O_CREAT|Fv.O_EXCL|Fv.O_WRONLY,m2),i2(r,n),EO(r),r=void 0,l2(o,this.file)}catch(s){if(r!==void 0)try{EO(r)}catch{}try{d2(o)}catch{}throw s}}}});function jv(t,e,o){let n=(t??process.env)[e]?.trim();return n!==void 0&&n!==""?n:o}function ha(t){return jv(t,"ALUY_MEM0_URL",`http://127.0.0.1:${11435}`)}function ga(t){return jv(t,"ALUY_OLLAMA_URL",Rl)}function RO(t){return jv(t,"ALUY_HEADROOM_URL",`http://127.0.0.1:${8787}`)}var wf=p(()=>{"use strict";D()});var ba,Af=p(()=>{"use strict";ba="1.0.0-rc.
|
|
140
|
+
`,r;try{r=s2(o,Fv.O_CREAT|Fv.O_EXCL|Fv.O_WRONLY,m2),i2(r,n),EO(r),r=void 0,l2(o,this.file)}catch(s){if(r!==void 0)try{EO(r)}catch{}try{d2(o)}catch{}throw s}}}});function jv(t,e,o){let n=(t??process.env)[e]?.trim();return n!==void 0&&n!==""?n:o}function ha(t){return jv(t,"ALUY_MEM0_URL",`http://127.0.0.1:${11435}`)}function ga(t){return jv(t,"ALUY_OLLAMA_URL",Rl)}function RO(t){return jv(t,"ALUY_HEADROOM_URL",`http://127.0.0.1:${8787}`)}var wf=p(()=>{"use strict";D()});var ba,Af=p(()=>{"use strict";ba="1.0.0-rc.3"});var IO={};bt(IO,{HELP_TEXT:()=>MO,parseArgs:()=>Hv,suggestFlag:()=>b2,versionText:()=>LO});function rt(t,e,o={}){let n=`--${e}=`;for(let r=0;r<t.length;r++){let s=t[r];if(s===`--${e}`){let i=t[r+1];return i===void 0||(o.allowDashValue?i.startsWith("--"):i.startsWith("-"))?void 0:i}if(s!==void 0&&s.startsWith(n))return s.slice(n.length)}}function h2(t,e){let o=`-${e}=`;for(let n=0;n<t.length;n++){let r=t[n];if(r===`-${e}`){let s=t[n+1];return s!==void 0&&!s.startsWith("-")?s:void 0}if(r!==void 0&&r.startsWith(o))return r.slice(o.length)}}function LO(){return`aluy ${ba} (@hiperplano/aluy-cli-core ${fc})`}function y2(t,e){let o=t.length,n=e.length,r=Array.from({length:n+1},(s,i)=>i);for(let s=1;s<=o;s++){let i=[s];for(let a=1;a<=n;a++){let c=t[s-1]===e[a-1]?0:1;i[a]=Math.min(r[a]+1,i[a-1]+1,r[a-1]+c)}r=i}return r[n]}function b2(t){let e,o=3;for(let n of PO){let r=y2(t,n);r<o&&(o=r,e=n)}return e}function v2(t,e){let o=[];for(let n=0;n<t.length;n++){let r=t[n];if(r==="--")break;if(!r.startsWith("--")||r.length===2||e.has(n))continue;let s=r.slice(2).split("=",1)[0];s===""||PO.has(s)||o.push(`--${s}`)}return o}function Hv(t){let e=t[0];if(e==="login"&&!t.includes("-h")&&!t.includes("--help")){let X=t.slice(1),ye=rt(X,"token"),ct=rt(X,"org"),_o=X.includes("--device"),Bt=rt(X,"provider"),Ut=X.includes("--oauth");return{kind:"login",forceDeviceFlow:_o,...ye!==void 0?{token:ye}:{},...ct!==void 0?{org:ct}:{},...Bt!==void 0?{provider:Bt}:{},...Ut?{oauth:!0}:{}}}if(e==="logout"&&!t.includes("-h")&&!t.includes("--help"))return{kind:"logout"};if(e==="whoami"&&!t.includes("-h")&&!t.includes("--help"))return{kind:"whoami"};if(e==="doctor"&&!t.includes("-h")&&!t.includes("--help")){let X=t.includes("--deep")||t.includes("--test"),ye=t.includes("--json");return{kind:"doctor",deep:X,json:ye}}if(e==="agents"&&!t.includes("-h")&&!t.includes("--help"))return{kind:"agents"};if(e==="bootstrap"&&!t.includes("-h")&&!t.includes("--help"))return{kind:"bootstrap",agent:t.includes("--agent")};if(e==="onboard"&&!t.includes("-h")&&!t.includes("--help"))return{kind:"onboard"};if(e==="skills"&&!t.includes("-h")&&!t.includes("--help"))return{kind:"skills"};if(e==="workflows"&&!t.includes("-h")&&!t.includes("--help"))return{kind:"workflows"};if((e==="models"||e==="providers")&&!t.includes("-h")&&!t.includes("--help")){let X=t.includes("--json"),ye=t.findIndex(_o=>_o==="--backend"||_o.startsWith("--backend=")),ct="both";if(ye!==-1){let Bt=(t[ye].includes("=")?t[ye].slice(10):t[ye+1]??"").trim().toLowerCase();Bt==="local"?ct="local":Bt==="broker"&&(ct="broker")}return{kind:"models",scope:ct,json:X,which:e==="providers"?"providers":"models"}}if(e==="mcp"&&t[1]==="search"&&!t.includes("-h")&&!t.includes("--help"))return{kind:"mcp-search",query:t.slice(2).filter(ye=>!ye.startsWith("-")).join(" ").trim()};if(e==="mcp")return{kind:"mcp",argv:t.slice(1)};if(e==="cron")return{kind:"cron",argv:t.slice(1)};if(t.includes("-v")||t.includes("--version"))return{kind:"version",text:LO()};if(t.includes("-h")||t.includes("--help"))return{kind:"help",text:MO};let o=t.includes("--plan"),n=t.includes("--unsafe"),r=t.includes("--yolo")||n,s=o?"plan":r?"unsafe":"normal",i=t.includes("--dense"),a=t.includes("--ascii"),c=t.includes("--split")||t.includes("--view")?!0:void 0,l=t.includes("--fullscreen")||t.includes("--cockpit")?!0:void 0,d=t.includes("--no-budget")?!1:t.includes("--budget")?!0:void 0,m=rt(t,"tier"),u=rt(t,"lang"),h=rt(t,"max-tokens"),g=rt(t,"max-iterations"),b=rt(t,"max-output-tokens"),y=!(t.includes("--no-subagents")||t.includes("--no-subagent")),w=t.includes("--no-self-check")?"0":t.includes("--self-check")?"1":void 0,R=t.includes("--no-autocompact")?"off":rt(t,"autocompact-at"),A=t.includes("--quiet")?!0:void 0,L=t.includes("--cycle")?!0:void 0,U=rt(t,"cycles"),j=rt(t,"cycle-for"),z=rt(t,"backend"),Y=rt(t,"local-provider"),I=rt(t,"local-model"),J=rt(t,"local-auth"),Q=rt(t,"local-base-url"),W=rt(t,"model"),N=rt(t,"provider");if((t.includes("--provider")||t.some(X=>X.startsWith("--provider=")))&&(W===void 0||W.trim()===""))return{kind:"usage-error",message:"aluy: --provider exige --model (ex.: --provider <provider> --model <slug>)",exitCode:2};if((W===void 0||W.trim()==="")&&m!==void 0&&m.trim().toLowerCase()==="custom")return{kind:"usage-error",message:"aluy: --tier custom exige --model <slug> (ex.: --model deepseek-v4-pro). A via Custom precisa do slug do modelo; sem ele use um tier can\xF4nico (aluy-flux, aluy-granito, \u2026).",exitCode:2};let Oe=rt(t,"effort"),K=t.includes("--effort")||t.some(X=>X.startsWith("--effort=")),le;if(Oe!==void 0){if(Oe.trim()==="")return{kind:"usage-error",message:"aluy: --effort requer um valor (ex.: --effort low)",exitCode:2};if(Oe.length>32)return{kind:"usage-error",message:"aluy: --effort aceita no m\xE1ximo 32 caracteres",exitCode:2};le=Oe}else if(K)return{kind:"usage-error",message:"aluy: --effort requer um valor (ex.: --effort low)",exitCode:2};let O=t.includes("-p")||t.includes("--print")||t.includes("--exec")||t.some(X=>X.startsWith("-p=")||X.startsWith("--print=")||X.startsWith("--exec=")),se=O?rt(t,"print",{allowDashValue:!0})??rt(t,"exec",{allowDashValue:!0})??h2(t,"p")??void 0:void 0,de=O?rt(t,"output-format"):void 0,ge=t.includes("--new"),Z=t.includes("--continue"),oe=t.indexOf("--resume"),Me=t.find(X=>X.startsWith("--resume=")),$t=oe>=0||Me!==void 0,mt;if(Me!==void 0)mt=Me.slice(9);else if(oe>=0){let X=t[oe+1];X!==void 0&&!X.startsWith("-")&&(mt=X)}let nt=m!==void 0?t.indexOf("--tier")+1:-1,at=u!==void 0&&!t.some(X=>X.startsWith("--lang="))?t.indexOf("--lang")+1:-1,ft=mt!==void 0&&Me===void 0?oe+1:-1,G=h!==void 0&&!t.some(X=>X.startsWith("--max-tokens="))?t.indexOf("--max-tokens")+1:-1,pe=g!==void 0&&!t.some(X=>X.startsWith("--max-iterations="))?t.indexOf("--max-iterations")+1:-1,Qe=U!==void 0&&!t.some(X=>X.startsWith("--cycles="))?t.indexOf("--cycles")+1:-1,Ao=j!==void 0&&!t.some(X=>X.startsWith("--cycle-for="))?t.indexOf("--cycle-for")+1:-1,te=b!==void 0&&!t.some(X=>X.startsWith("--max-output-tokens="))?t.indexOf("--max-output-tokens")+1:-1,k=R!==void 0&&!t.includes("--no-autocompact")&&!t.some(X=>X.startsWith("--autocompact-at="))?t.indexOf("--autocompact-at")+1:-1,Eo=z!==void 0&&!t.some(X=>X.startsWith("--backend="))?t.indexOf("--backend")+1:-1,Ie=(X,ye)=>ye!==void 0&&!t.some(ct=>ct.startsWith(`--${X}=`))?t.indexOf(`--${X}`)+1:-1,ks=Ie("local-provider",Y),Ri=Ie("local-model",I),Ft=Ie("local-auth",J),Rr=Ie("local-base-url",Q),Ss=W!==void 0&&!t.some(X=>X.startsWith("--model="))?t.indexOf("--model")+1:-1,Fo=N!==void 0&&!t.some(X=>X.startsWith("--provider="))?t.indexOf("--provider")+1:-1,an=le!==void 0&&!t.some(X=>X.startsWith("--effort="))?t.indexOf("--effort")+1:-1,lo=de!==void 0&&!t.some(X=>X.startsWith("--output-format="))?t.indexOf("--output-format")+1:-1,Vt=se!==void 0&&!t.some(X=>X.startsWith("-p=")||X.startsWith("--print=")||X.startsWith("--exec="))?Math.max(t.indexOf("-p"),t.indexOf("--print"),t.indexOf("--exec"))+1:-1,Bo=t.find((X,ye)=>!X.startsWith("-")&&ye!==nt&&ye!==at&&ye!==Eo&&ye!==ks&&ye!==Ri&&ye!==Ft&&ye!==Rr&&ye!==Ss&&ye!==Fo&&ye!==an&&ye!==lo&&ye!==Vt&&ye!==ft&&ye!==G&&ye!==pe&&ye!==te&&ye!==k&&ye!==Qe&&ye!==Ao),Ci=Z?{kind:"continue"}:$t?{kind:"resume",...mt!==void 0?{id:mt}:{}}:void 0,Cr=new Set([nt,at,Eo,ks,Ri,Ft,Rr,Ss,Fo,an,lo,Vt,ft,G,pe,te,k,Qe,Ao].filter(X=>X>=0));for(let X of g2){let ye=t.indexOf(X);ye>=0&&!t[ye].includes("=")&&Cr.add(ye+1)}let cn=v2(t,Cr);return{kind:"launch",mode:s,unsafe:s==="unsafe",unsafeAliasUsed:n,...cn.length>0?{unknownFlags:cn}:{},dense:i,fresh:ge,subAgents:y,safeGlyphs:a,print:O,...c!==void 0?{split:c}:{},...l!==void 0?{fullscreen:l}:{},...d!==void 0?{budget:d}:{},...Bo!==void 0?{goal:Bo}:{},...m!==void 0?{tier:m}:{},...z!==void 0?{backend:z}:{},...Y!==void 0?{localProvider:Y}:{},...I!==void 0?{localModel:I}:{},...J!==void 0?{localAuth:J}:{},...Q!==void 0?{localBaseUrl:Q}:{},...W!==void 0?{model:W}:{},...N!==void 0?{provider:N}:{},...le!==void 0?{effort:le}:{},...se!==void 0?{printArg:se}:{},...de!==void 0?{outputFormat:de}:{},...u!==void 0?{lang:u}:{},...Ci!==void 0?{resume:Ci}:{},...h!==void 0?{maxTokens:h}:{},...g!==void 0?{maxIterations:g}:{},...b!==void 0?{maxOutputTokens:b}:{},...w!==void 0?{selfCheck:w}:{},...R!==void 0?{autoCompactAt:R}:{},...A!==void 0?{quiet:A}:{},...L!==void 0?{cycle:L}:{},...U!==void 0?{cycles:U}:{},...j!==void 0?{cycleFor:j}:{}}}var MO,PO,g2,qv=p(()=>{"use strict";D();Af();MO=`aluy \u2014 agente de terminal que roda na sua m\xE1quina, com o seu provider de LLM
|
|
141
141
|
|
|
142
142
|
Uso:
|
|
143
143
|
aluy ["objetivo"] [--plan | --yolo] [--dense] [--tier <tier>] [--lang <pt-BR|en>]
|
|
@@ -507,12 +507,12 @@ Controles do HUMANO (n\xE3o seus \u2014 voc\xEA \xE9 canal read-only): Ctrl+T ab
|
|
|
507
507
|
`),Vo(r,["install",...Ll],{timeout:3e5,stdio:"inherit"}).status!==0)return{target:"mem0",hashOk:!1,installed:!1,message:"Falha ao instalar pacotes pip do mem0 (veja a saida acima)."};let i=xx(),a=Ae(e,ss);try{vx(i,a),li(a,448)}catch(c){return{target:"mem0",hashOk:!1,installed:!1,message:`Pip ok mas falha ao copiar script servidor: ${c instanceof Error?c.message:String(c)}`}}return{target:"mem0",hashOk:!0,installed:!0,message:`Venv do Mem0 provisionado em ${e} com ${Ll.length} pacotes + ${ss}.`}}async function z6(){let t=SP();if(!t.ok)return{target:"headroom",hashOk:!1,installed:!1,message:`Python ${sf}+ requerido (encontrado: ${t.version}). Instale python3.10+.`};let e=Ae(yn(),da),o=Ae(e,"bin","python3"),n=Ae(e,"bin","headroom");if(lt(n)&<(o)&&Ld(o))return{target:"headroom",hashOk:!0,installed:!0,message:`Headroom j\xE1 provisionado em ${e}.`};if(wx(),!lt(o)){let i=Vo("python3",["-m","venv",e],{timeout:6e4,encoding:"utf8"});if(i.status!==0)return{target:"headroom",hashOk:!1,installed:!1,message:`Falha ao criar venv do headroom: ${i.stderr||i.stdout||"erro desconhecido"}`}}try{li(e,La)}catch{}if(!Ld(o))return{target:"headroom",hashOk:!1,installed:!1,message:"Pip n\xE3o dispon\xEDvel no venv do headroom ap\xF3s cria\xE7\xE3o."};let r=Ae(e,"bin","pip");return process.stderr.write(` instalando headroom (pip)...
|
|
508
508
|
`),Vo(r,["install",...Ol],{timeout:3e5,stdio:"inherit"}).status!==0?{target:"headroom",hashOk:!1,installed:!1,message:`Falha ao instalar ${Ol.join(", ")} (veja a saida acima).`}:lt(n)?{target:"headroom",hashOk:!0,installed:!0,message:`Headroom instalado em ${e} (servi\xE7o local em :${Ml}).`}:{target:"headroom",hashOk:!1,installed:!1,message:`Pip ok mas o entrypoint 'headroom' n\xE3o apareceu em ${e}/bin.`}}function K6(t){return t==="ollama"?`Provisione o sidecar OLLAMA do aluy, detectando o SO. Teste GET http://${Gr}:${Wr}/api/tags. Se o servi\xE7o n\xE3o responder, instale o Ollama (no Windows: \`winget install --id Ollama.Ollama -e --accept-source-agreements --accept-package-agreements\`, ou o instalador oficial) e garanta o servi\xE7o rodando. DEPOIS, puxe os modelos do TURBO (sen\xE3o o judge/embedder n\xE3o funcionam): \`ollama pull ${fn}\` (judge) e \`ollama pull ${la}\` (embedder). Confirme que ambos aparecem em \`ollama list\`. Seja conciso.`:t==="mem0"?`Provisione o sidecar MEM0 do aluy. Crie um venv em "${Ae(yn(),Ws)}" usando um Python ${yP} e garanta pip funcional (Scripts\\pip.exe no Windows, bin/pip no Unix). Instale TODAS as deps no venv: ${Ll.join(", ")} (n\xE3o s\xF3 mem0ai \u2014 o servidor importa chromadb e ollama). Confirme que 'import mem0, chromadb, ollama' roda sem erro. Seja conciso.`:t==="headroom"?`Provisione o sidecar HEADROOM do aluy (proxy de compress\xE3o). Crie um venv em "${Ae(yn(),da)}" usando um Python ${yP}, instale o pacote ${Ol.join(", ")} (pip install) e confirme que o entrypoint 'headroom' existe no venv (Scripts\\headroom.exe no Windows, bin/headroom no Unix). No Windows o core Rust n\xE3o tem wheel: o proxy s\xF3 sobe com HEADROOM_REQUIRE_RUST_CORE=false (modo Python-degradado). Opcional: suba 'headroom proxy --port ${Ml}'. Seja conciso.`:`Provisione o sidecar "${String(t)}" do aluy, detectando o SO. Seja conciso.`}async function bP(t,e){if(t==="ollama")try{let o=await fetch(`http://${Gr}:${Wr}/api/tags`);return o.ok?((await o.json()).models??[]).map(s=>s.name??"").some(s=>s.startsWith(fn)):!1}catch{return!1}if(t==="mem0"){let o=Ae(yn(),Ws),n=e==="win32"?Ae(o,"Scripts","python.exe"):Ae(o,"bin","python3");return!lt(n)||Vo(n,["-c","import mem0, chromadb, ollama"],{timeout:6e4}).status!==0?!1:lt(Ae(o,ss))}if(t==="headroom"){try{if((await fetch(`http://127.0.0.1:${Ml}/health`)).ok)return!0}catch{}let o=Ae(yn(),da),n=e==="win32"?Ae(o,"Scripts","headroom.exe"):Ae(o,"bin","headroom");return lt(n)}return!1}async function Y6(t){let e=K6(t),o=process.argv[1];if(!o)return{target:t,hashOk:!1,installed:!1,message:"N\xE3o foi poss\xEDvel localizar o bin\xE1rio do aluy p/ delegar ao agente."};process.stdout.write("\x1B[2J\x1B[3J\x1B[H"),process.stdout.write(` \u2500\u2500 Instalando o complemento "${t}" \u2500\u2500 (acompanhe abaixo; pode levar alguns minutos)
|
|
509
509
|
|
|
510
|
-
`);let n=Vo(process.execPath,[o,"-p",e,"--yolo","--no-self-check"],{stdio:"inherit",timeout:9e5,env:{...process.env,ALUY_OVERWRITE_RENDER:"0",ALUY_SYNC_OUTPUT:"0",ALUY_NO_WEAK_YOLO_WARN:"1"}});if(t==="mem0")try{let s=Ae(yn(),Ws),i=Ae(s,ss);lt(s)&&!lt(i)&&vx(xx(),i)}catch{}t==="ollama"&&await Q6();let r=await bP(t,process.platform);for(let s=0;s<V6&&!r;s++)await J6(X6),r=await bP(t,process.platform);return{target:t,hashOk:r,installed:r,message:r?`complemento "${t}" instalado e verificado.`:`o complemento "${t}" ainda n\xE3o respondeu como esperado. O Aluy CLI funciona sem ele; voc\xEA pode tentar de novo depois com \`aluy bootstrap\`.`}}function J6(t){return new Promise(e=>setTimeout(e,t))}async function Q6(){for(let t of[fn,la])try{await(await fetch(`http://${Gr}:${Wr}/api/pull`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({name:t,stream:!1})})).text()}catch{}}async function wP(t,e,o){let n=t??"turbo",r=pr(e??{});return new Sx({...o?.platform?{platform:o.platform}:{},...o?.useAgent?{agentInstaller:Y6}:{}}).provisionAll(n,r)}var xP,La,I6,ss,gP,Sx,yP,V6,X6,AP=p(()=>{"use strict";D();xP=".aluy",La=448,I6=384;ss="aluy-mem0-server.py";gP="application/vnd.ollama.image.model";Sx=class{platform;agentInstaller;constructor(e={}){this.platform=e.platform??process.platform,this.agentInstaller=e.agentInstaller}hasPinnedArtifact(){return this.platform==="linux"}async isProvisioned(e){switch(e){case"ollama":{let o=Ae(yn(),Cl,"bin","ollama");return lt(o)}case"mem0":{let o=Ae(yn(),Ws,"bin","python3");return lt(o)&&Ld(o)}case"headroom":{let o=Ae(yn(),da,"bin","headroom");return lt(o)}default:return!1}}async provision(e){let o=L6().uid;if(mv(o))return{target:e,hashOk:!1,installed:!1,message:"RECUSA ROOT (uid=0): provisionamento de sidecars \xE9 user-space. Execute como usu\xE1rio normal."};if(!this.hasPinnedArtifact())return this.agentInstaller?this.agentInstaller(e):{target:e,hashOk:!1,installed:!1,message:`SO '${this.platform}' sem artefato pinado p/ provisionamento direto. Rode \`aluy init --agent\` para o aluy instalar via o pr\xF3prio agente (\u26A0 --yolo), ou instale manualmente.`};switch(e){case"ollama":return j6();case"mem0":return G6();case"headroom":return z6();default:return{target:e,hashOk:!1,installed:!1,message:`Alvo desconhecido: ${String(e)}`}}}async provisionAll(e,o){if(!Pl(e))return{profile:e,targets:[],anySuccess:!1,allFailed:!1};let n=[];for(let i of o){let a=await this.provision(i);n.push(a)}let r=n.some(i=>i.installed),s=n.length>0&&n.every(i=>!i.installed);return{profile:e,targets:n,anySuccess:r,allFailed:s}}},yP="na faixa 3.10\u20133.12 (N\xC3O use 3.13+/3.14 \u2014 as depend\xEAncias nativas n\xE3o t\xEAm wheels e o pip falha ao compilar; no Windows prefira `py -3.12` ou `py -3.11`). Se N\xC3O houver um Python 3.10\u20133.12 instalado, INSTALE primeiro (no Windows: `winget install -e --id Python.Python.3.12 --accept-source-agreements --accept-package-agreements`; no Linux/macOS use o gerenciador do sistema). Se j\xE1 existir um venv nesse caminho numa vers\xE3o incompat\xEDvel (ex.: 3.14), APAGUE e recrie com a vers\xE3o certa";V6=144,X6=5e3});var TP={};bt(TP,{runFirstRunWizard:()=>EP,runInit:()=>t8});import{Entry as Z6}from"@napi-rs/keyring";async function EP(t){let{config:e,configStore:o,prompt:n,out:r,err:s,entryFactory:i,isInteractive:a}=t,c=e.localProvider!==void 0,l=e.localModel!==void 0,d=!1,m=e.localProvider;if(m)try{let h=(i??e8)(Js,Tf(m)).getPassword();d=h!==""&&h!==void 0}catch{}if(c&&l&&d)return!0;if(!a)return s("aluy bootstrap: configura\xE7\xE3o de 1\xAA execu\xE7\xE3o necess\xE1ria (provider + chave + modelo)."),c||s(" \u2717 Falta provider local em ~/.aluy/config.json."),l||s(" \u2717 Falta modelo local em ~/.aluy/config.json."),d||s(" \u2717 Falta chave de API no keychain do SO."),s(""),s(" Rode `aluy bootstrap` interativamente (num terminal com TTY) para o wizard,"),s(" ou configure manualmente:"),s(" 1. `aluy login --provider <anthropic|openrouter|openai>` (grava a chave no keychain)"),s(" 2. Edite ~/.aluy/config.json e adicione:"),s(' "localProvider": "<provider>",'),s(' "localModel": "<modelo-nativo>"'),s(""),!1;if(r(""),r("\u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557"),r("\u2551 Configura\xE7\xE3o de 1\xAA execu\xE7\xE3o \u2014 provider + chave + modelo \u2551"),r("\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255D"),r(""),r("O `aluy bootstrap --agent` usa um modelo de linguagem para instalar"),r("depend\xEAncias. Precisamos de provider, chave de API e modelo."),r("(As credenciais ficam no keychain do SO \u2014 nunca em texto.)"),r(""),c)r(`Provider: ${m} (j\xE1 configurado)`);else{let u=(await n(`Provider (${Ax.join("/")}): `)).trim().toLowerCase();if(!Ax.includes(u))return s(`Provider inv\xE1lido "${u}". Use: ${Ax.join(", ")}.`),!1;m=u,r("")}if(d)r("\u2713 Chave j\xE1 est\xE1 no keychain.");else{let u=m,h=(await n(`API key de ${u}: `,{secret:!0})).trim();if(h==="")return s("Chave vazia \u2014 abortando."),!1;try{va(u,h,i),r("\u2713 Chave guardada no keychain do SO.")}catch(g){return s(`Falha ao gravar no keychain: ${g instanceof Error?g.message:String(g)}`),s("(Por seguran\xE7a, a credencial nunca \xE9 gravada em texto. Instale o Secret Service no Linux.)"),!1}r("")}if(!l){let u=m,h=(await n("Modelo nativo (ex.: claude-sonnet-4-8): ")).trim();if(h==="")return s("Modelo vazio \u2014 abortando."),!1;o.save({localProvider:u,localModel:h}),r(`\u2713 Provider "${u}" + modelo "${h}" salvos em ~/.aluy/config.json.`),r("")}return r("Configura\xE7\xE3o conclu\xEDda. Seguindo para o provisionamento\u2026"),r(""),!0}function e8(t,e){return new Z6(t,e)}async function t8(t){let{out:e,err:o}=t,n=t.configStore??new Zt,r,s,i;try{i=n.load(),r=i.profile,s=i.sidecarToggles}catch{i={}}let a=t.isInteractive!==void 0?t.isInteractive:process.stdin.isTTY===!0&&process.stdout.isTTY===!0;if(t.prompt!==void 0||!a){let d=t.prompt??(async()=>"");if(!await EP({config:i,configStore:n,prompt:d,out:e,err:o,...t.entryFactory!==void 0?{entryFactory:t.entryFactory}:{},isInteractive:a}))return 0}if(e("O Aluy CLI j\xE1 est\xE1 instalado e pronto para uso."),e(""),e("Esta etapa instala os COMPLEMENTOS opcionais (modo turbo): mem\xF3ria, modelos"),e("locais e gest\xE3o de contexto. Eles enriquecem a experi\xEAncia, mas n\xE3o s\xE3o"),e("obrigat\xF3rios \u2014 se algum n\xE3o instalar, voc\xEA usa o Aluy CLI normalmente sem ele."),e(""),e(` Perfil escolhido: ${r??"turbo"}`),r==="leve")return e(" Perfil LEVE: nenhum complemento ser\xE1 instalado \u2014 o Aluy CLI j\xE1 est\xE1 pronto."),e(" Para instal\xE1-los depois, rode `aluy bootstrap` ou troque para o perfil turbo."),0;if(!(process.platform==="linux"))if(t.agent)e(` Sistema ${process.platform}: os componentes ser\xE3o instalados pelo pr\xF3prio aluy.`),e(" (No Linux h\xE1 um pacote \xFAnico j\xE1 verificado; nos demais sistemas a instala\xE7\xE3o \xE9 assistida.)");else return e(` Sistema ${process.platform}: a instala\xE7\xE3o autom\xE1tica dos componentes est\xE1, por ora,`),e(" dispon\xEDvel s\xF3 no Linux. Voc\xEA tem duas op\xE7\xF5es:"),e(" \u2022 `aluy bootstrap --agent` \u2014 o aluy instala sozinho (acesso total \xE0 m\xE1quina); ou"),e(" \u2022 instalar manualmente. Instalar o Ollama para Windows j\xE1 basta \u2014 ele sobe"),e(" em :11434 e o aluy detecta sozinho."),0;e(" Instalando os complementos (voc\xEA ver\xE1 o progresso de cada um abaixo)..."),e("");let l=await wP(r,s,{useAgent:t.agent===!0});for(let d of l.targets){let m=d.installed?"\u2713":"\u2717";e(` ${m} ${d.target}: ${d.message}`)}return e(""),l.anySuccess?(e("Complementos instalados. O Aluy CLI est\xE1 pronto, agora com o modo turbo."),l.allFailed&&e("Observa\xE7\xE3o: alguns complementos n\xE3o instalaram \u2014 o Aluy CLI funciona sem eles."),0):l.targets.length===0?(e("Nenhum complemento a instalar \u2014 o Aluy CLI j\xE1 est\xE1 pronto."),0):(o("Nenhum complemento foi instalado agora \u2014 sem problema, o Aluy CLI funciona"),o("normalmente. Voc\xEA pode tentar de novo depois com `aluy bootstrap`."),1)}var Ax,_P=p(()=>{"use strict";yr();AP();ka();Ax=["anthropic","openrouter","openai"]});function n8(t){let e=/^#?([0-9a-f]{6})$/i.exec(t.trim());return e?`\x1B]11;#${e[1].toUpperCase()}\x07`:""}function r8(t){if(t.NO_COLOR!==void 0)return!1;let e=t.ALUY_SET_BG;if(e===void 0)return!0;let o=e.trim().toLowerCase();return!(o==="0"||o==="false"||o==="no"||o==="off")}function i8(t){if(!t)return null;let e=/rgb:([0-9a-f]{1,4})\/([0-9a-f]{1,4})\/([0-9a-f]{1,4})/i.exec(t);if(e)return{r:Ex(e[1]),g:Ex(e[2]),b:Ex(e[3])};let o=/#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})/i.exec(t);return o?{r:parseInt(o[1],16),g:parseInt(o[2],16),b:parseInt(o[3],16)}:null}function Ex(t){let e=parseInt(t,16),o=16**t.length-1;return Math.round(e/o*255)}function a8(t){let e=o=>{let n=o/255;return n<=.03928?n/12.92:((n+.055)/1.055)**2.4};return .2126*e(t.r)+.7152*e(t.g)+.0722*e(t.b)}function c8(t){return a8(t)>=s8?"light":"dark"}function l8(t){let e=i8(t);return e?c8(e):null}function d8(t=process.env){let e=t.ALUY_OSC11_TIMEOUT_MS;if(e!==void 0){let n=Number.parseInt(e,10);if(Number.isFinite(n)&&n>0)return Math.min(n,5e3)}return!!(t.SSH_CONNECTION||t.SSH_TTY||t.SSH_CLIENT)?1e3:500}async function CP(t){let e=t.env??process.env;if(e.NO_COLOR!==void 0||t.stdout.isTTY!==!0||t.stdin.isTTY!==!0)return null;let o=t.timeoutMs??d8(e),n=t.stdin,r=n.isRaw===!0;return await new Promise(s=>{let i="",a=!1,c={},l=()=>{c.id&&clearTimeout(c.id),n.off("data",m);try{r||n.setRawMode(!1),n.pause()}catch{}},d=u=>{a||(a=!0,l(),s(u))},m=u=>{i+=typeof u=="string"?u:u.toString("utf8");let h=l8(i);h!==null&&d(h)};try{n.setRawMode(!0),n.resume(),n.on("data",m),t.stdout.write(o8)}catch{d(null);return}c.id=setTimeout(()=>d(null),o)})}var o8,RP,bp,s8,OP=p(()=>{"use strict";o8="\x1B]11;?\x07",RP="\x1B]111\x07";bp=class{stdout;enabled;applied=!1;didReset=!1;constructor(e){let o=e.env??process.env;this.stdout=e.stdout,this.enabled=e.stdout.isTTY===!0&&r8(o)}get active(){return this.enabled}apply(e){if(!this.enabled)return"";let o=n8(e);return o===""?"":(this.stdout.write(o),this.applied=!0,this.didReset=!1,o)}reset(){return!this.enabled||!this.applied||this.didReset?"":(this.didReset=!0,this.stdout.write(RP),RP)}},s8=.5});import{createContext as u8,useContext as m8}from"react";import{Text as MP}from"ink";import{jsx as vp}from"react/jsx-runtime";function di(t){return vp(LP.Provider,{value:t.theme,children:t.children})}function ne(){return m8(LP)}function f(t){let o=ne().role(t.name),n={};return o.color!==void 0&&(n.color=o.color),o.bold!==void 0&&(n.bold=o.bold),o.dimColor!==void 0&&(n.dimColor=o.dimColor),o.inverse!==void 0&&(n.inverse=o.inverse),vp(MP,{...n,children:t.children})}function P(t){let o=ne().glyph(t.name);return t.role?vp(f,{name:t.role,children:o}):vp(MP,{children:o})}var LP,PP=p(()=>{"use strict";Sf();LP=u8(qo())});var ae=p(()=>{"use strict";bf();vf();Sf();kf();Kr();OP();PP()});import"react";import{Box as kp}from"ink";import{jsx as Pa,jsxs as IP}from"react/jsx-runtime";function Er(t){let e=ne(),n=(t.columns??80)<Id,r=e.unicode?"\u039B":"/\\";if(n)return IP(kp,{children:[Pa(f,{name:"accent",children:r}),Pa(f,{name:"accent",children:" luy"})]});let s=e.unicode?Ia:NP,i=e.unicode?Pd:DP;return IP(kp,{flexDirection:"row",children:[Pa(kp,{flexDirection:"column",children:s.map((a,c)=>Pa(f,{name:"accent",children:a},c))}),Pa(kp,{flexDirection:"column",children:i.map((a,c)=>Pa(f,{name:"accent",children:f8+a},c))})]})}var Ia,Pd,NP,DP,f8,Id,Tx,ui=p(()=>{"use strict";ae();vf();Ia=[" \u2588\u2588 "," \u2588\u2588\u2588\u2588 "," \u2588\u2588 \u2588\u2588 ","\u2588\u2588 \u2588\u2588","\u2588\u2588 \u2588\u2588"," "],Pd=["\u2588\u2588 ","\u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588","\u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588","\u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588\u2588\u2588\u2588","\u2588\u2588 \u2588\u2588\u2588\u2588\u2588 \u2588\u2588"," \u2588\u2588"],NP=[" /\\ "," / \\ ","/ \\","/ \\","/ \\"," "],DP=["## ","## ## ## ## ##","## ## ## ## ##","## ## ## #####","## ##### ##"," ##"],f8=" ",Id=28,Tx=Ia.length});async function $P(t){let e=t.fetchImpl??fetch,o=t.baseUrl.replace(/\/+$/,""),n=new AbortController,r=setTimeout(()=>n.abort(),t.timeoutMs??15e3);try{let s=t.wireFormat==="anthropic"?await e(`${o}/v1/messages`,{method:"POST",signal:n.signal,headers:{"content-type":"application/json","x-api-key":t.key,"anthropic-version":"2023-06-01"},body:JSON.stringify({model:t.model,max_tokens:1,messages:[{role:"user",content:"ping"}]})}):await e(`${o}/chat/completions`,{method:"POST",signal:n.signal,headers:{"content-type":"application/json",authorization:`Bearer ${t.key}`},body:JSON.stringify({model:t.model,max_tokens:1,messages:[{role:"user",content:"ping"}]})});if(s.ok)return{ok:!0,detail:`HTTP ${s.status}`};let i="";try{i=(await s.text()).replace(/\s+/g," ").slice(0,160)}catch{}let a=s.status===401||s.status===403?" \u2014 chave inv\xE1lida?":s.status===404?" \u2014 modelo ou baseURL errado?":"";return{ok:!1,detail:`HTTP ${s.status}${a} ${i}`.trim()}}catch(s){return{ok:!1,detail:`n\xE3o conectou (baseURL/rede?): ${s instanceof Error?s.message:String(s)}`}}finally{clearTimeout(r)}}var FP=p(()=>{"use strict"});import{mkdirSync as p8,readFileSync as h8,renameSync as g8,statSync as y8,writeFileSync as b8}from"node:fs";import{dirname as v8,join as k8}from"node:path";function BP(t){let e={};for(let o of t.servers){let n={command:o.command,args:[...o.args]};Object.keys(o.env).length>0&&(n.env={...o.env}),o.disabled===!0&&(n.disabled=!0),e[o.name]=n}return JSON.stringify({mcpServers:e},null,2)+`
|
|
511
|
-
`}var x8,Mt,Dn,Nd=p(()=>{"use strict";D();x8=256*1024,Mt=class extends Error{constructor(e){super(e),this.name="McpWriteError"}},Dn=class{file;constructor(e){this.file=e.file}get configPath(){return this.file}load(){let e;try{let n=y8(this.file);if(!n.isFile())throw new Mt(`${this.file}: n\xE3o \xE9 um arquivo regular.`);if(n.size>x8)throw new Mt(`${this.file}: grande demais p/ editar com seguran\xE7a.`);e=h8(this.file,"utf8")}catch(n){if(n instanceof Mt)throw n;return xe}let o;try{o=JSON.parse(e)}catch{throw new Mt(`${this.file}: JSON inv\xE1lido \u2014 conserte \xE0 m\xE3o antes de usar 'aluy mcp'.`)}try{return Lo(o)}catch(n){let r=n instanceof ue?n.message:String(n);throw new Mt(r)}}add(e,o={}){if(!ua(e.name))throw new Mt(`nome de server inv\xE1lido "${e.name}" \u2014 use s\xF3 [A-Za-z0-9_-] (vira prefixo de tool).`);if(e.command.trim().length===0)throw new Mt(`server "${e.name}": "command" n\xE3o pode ser vazio.`);if(e.command.trim()==="--")throw new Mt(`server "${e.name}": "--" n\xE3o \xE9 um command (\xE9 o separador do 'aluy mcp add'). Use: aluy mcp add ${e.name} -- <command> [args...].`);let n=this.load(),r=n.servers.find(i=>i.name===e.name);if(r&&!o.force)throw new Mt(`server "${e.name}" j\xE1 existe em ${this.file} \u2014 use --force p/ sobrescrever.`);let s=[...n.servers.filter(i=>i.name!==e.name),e];return this.write({servers:s}),{replaced:r!==void 0}}remove(e){let o=this.load(),n=o.servers.length,r=o.servers.filter(s=>s.name!==e);return r.length===n?{removed:!1}:(this.write({servers:r}),{removed:!0})}setDisabled(e,o){let n=this.load(),r=n.servers.find(i=>i.name===e);if(!r)return{found:!1};let s={name:r.name,command:r.command,args:r.args,env:r.env,...o?{disabled:!0}:{}};return this.write({servers:n.servers.map(i=>i.name===e?s:i)}),{found:!0}}write(e){let o=v8(this.file);p8(o,{recursive:!0});let n=BP(e),r=k8(o,`.mcp.json.${process.pid}.${Date.now()}.tmp`);b8(r,n,{encoding:"utf8",mode:384}),g8(r,this.file)}}});var qP={};bt(qP,{mcpCatalog:()=>HP,runOnboard:()=>C8});import{useEffect as S8,useMemo as UP,useState as vo}from"react";import{render as w8,Box as dt,useApp as A8,useInput as E8}from"ink";import{homedir as jP}from"node:os";import{join as T8}from"node:path";import{jsx as fe,jsxs as Lt}from"react/jsx-runtime";function HP(){return[{id:"playwright",label:"Playwright",hintPt:"automa\xE7\xE3o de navegador (oficial)",hintEn:"browser automation (official)",command:"npx",args:["-y","@playwright/mcp@latest"]},{id:"sequential-thinking",label:"Sequential Thinking",hintPt:"racioc\xEDnio passo-a-passo",hintEn:"step-by-step reasoning",command:"npx",args:["-y","@modelcontextprotocol/server-sequential-thinking"]},{id:"memory",label:"Memory",hintPt:"grafo de conhecimento persistente",hintEn:"persistent knowledge graph",command:"npx",args:["-y","@modelcontextprotocol/server-memory"]},{id:"filesystem",label:"Filesystem",hintPt:"arquivos (escopo: sua home)",hintEn:"files (scope: your home)",command:"npx",args:["-y","@modelcontextprotocol/server-filesystem",jP()]},{id:"rpa",label:"RPA (Aluy)",hintPt:"automa\xE7\xE3o visual de desktop \u2014 OCR/clica/digita \xB7 via uvx",hintEn:"visual desktop automation \u2014 OCR/click/type \xB7 via uvx",command:"uvx",args:["aluy-mcp-rpa"]}]}function _8(t){let e=A8(),o=t.store.load(),n=UP(()=>Vr().entries,[]),[r,s]=vo("lang"),[i,a]=vo(o.lang??"pt-BR"),[c,l]=vo("local"),[d,m]=vo("anthropic"),[u,h]=vo({id:"",url:"",model:""}),[g,b]=vo(""),[y,w]=vo(""),[R,A]=vo("leve"),[L,U]=vo(""),j=UP(()=>HP(),[]),[z,Y]=vo(new Set),[I,J]=vo(0),[Q,W]=vo(Math.max(0,Ct.findIndex(F=>F.code===i))),[N,V]=vo(""),[Oe,K]=vo([]),le=i==="pt-BR",O=(F,G)=>le?F:G,se=[{value:"local",label:O("Local (sua chave / BYO)","Local (your key / BYO)"),hint:O("direto no provider","direct to provider")},{value:"broker",label:O("Broker (conta Aluy)","Broker (Aluy account)"),hint:O("autentica depois com aluy login","authenticate later with aluy login")}],de=[...n.map(F=>({value:F.id,label:F.label,hint:F.defaultModel})),{value:"__custom__",label:O("+ custom (OpenAI-compat\xEDvel)","+ custom (OpenAI-compatible)"),hint:O("ex.: TokenRouter, vLLM\u2026","e.g. TokenRouter, vLLM\u2026")}],ge=[{value:"turbo",label:O("Turbo \u2014 instala tudo","Turbo \u2014 install all"),hint:O("ollama + mem0 + headroom \xB7 pede m\xE1quina razo\xE1vel","ollama + mem0 + headroom \xB7 needs a decent machine")},{value:"leve",label:O("Leve \u2014 nada agora","Lite \u2014 nothing now"),hint:O("liga depois com aluy bootstrap","enable later with aluy bootstrap")}],Z=F=>F==="lang"?Ct.length:F==="backend"?se.length:F==="provider"?de.length:F==="sidecars"?ge.length:0;function oe(F,G=""){V(G),s(F)}function Me(){W(Math.max(0,ge.findIndex(F=>F.value==="leve"))),s("sidecars")}function $t(){J(0),s("mcp")}function mt(){let F=d==="__custom__",G=n.find(qe=>qe.id===d);return{wireFormat:F?"openai-compat":G?.wireFormat??"openai-compat",baseUrl:F?u.url.trim():G?.baseUrl??"",model:(F?u.model:y.trim()||G?.defaultModel||"").trim(),key:g.trim()}}S8(()=>{if(r!=="validating")return;let F=mt();if(c!=="local"||F.key===""||F.baseUrl===""||F.model===""){$t();return}let G=!1;return $P(F).then(qe=>{G||(qe.ok?(U(""),$t()):(U(qe.detail),s("validate-failed")))}),()=>{G=!0}},[r]);function nt(F){let G=[],qe={lang:i,backend:c};if(c==="local"){qe.localProvider=d==="__custom__"?u.id.trim():d;let ke=d==="__custom__"?u.model:y;ke.trim()!==""&&(qe.localModel=ke.trim())}if(qe.profile=F,t.store.save(qe),G.push(`\u2713 ${O("config","config")}: backend ${c}`),c==="local"&&d==="__custom__"&&u.id.trim()!==""&&u.url.trim()!=="")try{qO({id:u.id.trim(),wireFormat:"openai-compat",baseUrl:u.url.trim(),defaultModel:u.model.trim()||u.id.trim()}),G.push(O(`\u2713 provider custom "${u.id.trim()}" registrado`,`\u2713 custom provider "${u.id.trim()}" registered`))}catch(ke){G.push(`\u26A0 providers.json: ${String(ke)}`)}if(c==="local"&&g.trim()!==""){let ke=d==="__custom__"?u.id.trim():d;try{va(ke,g.trim()),G.push(O(`\u2713 chave de "${ke}" no keychain`,`\u2713 "${ke}" key in keychain`))}catch{G.push(O(`\u26A0 keychain indispon\xEDvel \u2014 rode: aluy login --provider ${ke}`,`\u26A0 keychain unavailable \u2014 run: aluy login --provider ${ke}`))}}let pe=j.filter((ke,Qe)=>z.has(Qe));if(pe.length>0)try{let ke=new Dn({file:T8(jP(),".aluy","mcp.json")});for(let Qe of pe)ke.add({name:Qe.id,command:Qe.command,args:[...Qe.args],env:{}},{force:!0});G.push(O(`\u2713 ${pe.length} MCP(s) registrado(s): ${pe.map(Qe=>Qe.id).join(", ")}`,`\u2713 ${pe.length} MCP(s) registered: ${pe.map(Qe=>Qe.id).join(", ")}`))}catch(ke){G.push(`\u26A0 mcp.json: ${String(ke)}`)}G.push(`\u2713 sidecars: ${F}`),F==="turbo"&&G.push(O(" \u2192 instale agora: aluy bootstrap"," \u2192 install now: aluy bootstrap")),L!==""&&G.push(O("\u26A0 modelo N\xC3O validado \u2014 pode n\xE3o funcionar","\u26A0 model NOT validated \u2014 may not work")),c==="broker"&&G.push(O("\u2192 broker: autentique com `aluy login`","\u2192 broker: authenticate with `aluy login`")),K(G),s("done")}E8((F,G)=>{if(r==="done"){(G.return||G.escape||F)&&e.exit();return}if(r==="validating")return;if(r==="validate-failed"){if(G.escape){e.exit();return}let pe=(F||"").toLowerCase();G.return||pe==="r"?s("validating"):pe==="k"?oe("key",""):pe==="u"&&d==="__custom__"?oe("custom-url",u.url):pe==="c"&&$t();return}if(G.escape){e.exit();return}if(r==="mcp"){G.upArrow?J(pe=>Math.max(0,pe-1)):G.downArrow?J(pe=>Math.min(j.length-1,pe+1)):F===" "?Y(pe=>{let ke=new Set(pe);return ke.has(I)?ke.delete(I):ke.add(I),ke}):G.return&&Me();return}if(r==="lang"||r==="backend"||r==="provider"||r==="sidecars"){let pe=Z(r);G.upArrow?W(ke=>Math.max(0,ke-1)):G.downArrow?W(ke=>Math.min(pe-1,ke+1)):G.return&&xt();return}if(G.return){at();return}if(G.backspace||G.delete){V(pe=>pe.slice(0,-1));return}F&&!G.ctrl&&!G.meta&&!G.upArrow&&!G.downArrow&&!G.leftArrow&&!G.rightArrow&&V(pe=>pe+F)});function xt(){if(r==="lang"){let F=Ct[Q].code;t.store.saveLang(F),a(F),W(0),s("backend")}else if(r==="backend"){let F=se[Q].value;l(F),F==="broker"?$t():(W(0),s("provider"))}else if(r==="provider"){let F=de[Q].value;m(F),oe(F==="__custom__"?"custom-id":"key","")}else if(r==="sidecars"){let F=ge[Q].value;A(F),nt(F)}}function at(){let F=N.trim();if(r==="custom-id")h(G=>({...G,id:F})),oe("custom-url","");else if(r==="custom-url")h(G=>({...G,url:F})),oe("custom-model","");else if(r==="custom-model")h(G=>({...G,model:F})),oe("key","");else if(r==="key")if(b(N),d==="__custom__")s("validating");else{let G=n.find(qe=>qe.id===d)?.defaultModel??"";oe("model",G)}else r==="model"&&(w(F),s("validating"))}let ft=()=>({lang:"1/8",backend:"2/8",provider:"3/8","custom-id":"3/8","custom-url":"3/8","custom-model":"3/8",key:"4/8",model:"5/8",validating:"6/8","validate-failed":"6/8",mcp:"7/8",sidecars:"8/8"})[r]??"";return Lt(dt,{flexDirection:"column",paddingY:1,children:[fe(Er,{columns:80}),fe(dt,{paddingTop:1,children:Lt(f,{name:"fgDim",children:[O("configura\xE7\xE3o inicial","first-run setup"),r!=="done"?` \xB7 ${ft()}`:""]})}),Lt(dt,{paddingTop:1,flexDirection:"column",children:[r==="lang"&&fe(xp,{title:O("Idioma","Language"),opts:Ct.map(F=>({value:F.code,label:F.label})),cursor:Q,active:i}),r==="backend"&&fe(xp,{title:O("Backend do modelo","Model backend"),opts:se,cursor:Q}),r==="provider"&&fe(xp,{title:O("Provider","Provider"),opts:de,cursor:Q,active:d}),r==="mcp"&&fe(R8,{title:O("MCPs (opcional) \u2014 quais instalar?","MCPs (optional) \u2014 which to install?"),entries:j,cursor:I,selected:z,pt:le}),r==="sidecars"&&Lt(dt,{flexDirection:"column",children:[fe(xp,{title:O("Complementos (modo turbo)","Complements (turbo mode)"),opts:ge,cursor:Q,active:R}),Lt(dt,{paddingTop:1,flexDirection:"column",children:[fe(f,{name:"fgDim",children:O("Turbo roda modelos locais (Ollama) + mem\xF3ria \u2014 pede uma m\xE1quina razo\xE1vel:","Turbo runs local models (Ollama) + memory \u2014 needs a decent machine:")}),fe(f,{name:"fgDim",children:O(" ~8GB+ de RAM, alguns GB de disco e uma boa conex\xE3o (baixa o Ollama + modelos)."," ~8GB+ RAM, a few GB of disk and a good connection (downloads Ollama + models).")}),fe(f,{name:"fgDim",children:O(" Em m\xE1quina fraca, escolha Leve \u2014 o aluy funciona normal e voc\xEA liga o turbo depois."," On a weak machine, pick Lite \u2014 aluy works fine and you can enable turbo later.")})]})]}),r==="custom-id"&&fe(Dd,{label:O("id do provider (ex.: tokenrouter)","provider id (e.g. tokenrouter)"),value:N}),r==="custom-url"&&fe(Dd,{label:O("base URL (https, .../v1)","base URL (https, .../v1)"),value:N}),r==="custom-model"&&fe(Dd,{label:O("modelo default","default model"),value:N}),r==="key"&&fe(Dd,{label:O(`API key de ${d==="__custom__"?u.id:d} (oculta)`,`${d==="__custom__"?u.id:d} API key (hidden)`),value:N,mask:!0}),r==="model"&&fe(Dd,{label:O("modelo (enter = default)","model (enter = default)"),value:N}),r==="validating"&&Lt(dt,{flexDirection:"column",children:[fe(f,{name:"fg",children:O("Testando o modelo\u2026","Testing the model\u2026")}),fe(dt,{paddingTop:1,children:fe(f,{name:"fgDim",children:O("chamada real ao provider (n\xE3o prossigo se falhar)","real call to the provider (won't proceed if it fails)")})})]}),r==="validate-failed"&&Lt(dt,{flexDirection:"column",children:[fe(f,{name:"fg",children:O("\u2717 o modelo N\xC3O respondeu","\u2717 the model did NOT respond")}),fe(dt,{paddingTop:1,children:fe(f,{name:"fgDim",children:L})}),fe(dt,{paddingTop:1,children:Lt(f,{name:"fgDim",children:[O("enter/r tentar de novo \xB7 k trocar chave","enter/r retry \xB7 k change key"),d==="__custom__"?O(" \xB7 u trocar baseURL"," \xB7 u change baseURL"):"",O(" \xB7 c seguir mesmo assim \xB7 esc sair"," \xB7 c continue anyway \xB7 esc quit")]})})]}),r==="done"&&Lt(dt,{flexDirection:"column",children:[Oe.map((F,G)=>fe(f,{name:F.startsWith("\u26A0")?"fg":"accent",children:F},G)),fe(dt,{paddingTop:1,children:fe(f,{name:"fgDim",children:O("enter p/ entrar no aluy","enter to launch aluy")})})]})]}),r!=="done"&&r!=="validating"&&r!=="validate-failed"&&fe(dt,{paddingTop:1,children:fe(f,{name:"fgDim",children:r==="lang"||r==="backend"||r==="provider"||r==="sidecars"?`\u2191\u2193 ${O("navegar","move")} \xB7 enter ${O("escolher","select")} \xB7 esc ${O("sair","quit")}`:`${O("digite","type")} \xB7 enter ${O("confirmar","confirm")} \xB7 esc ${O("sair","quit")}`})})]})}function xp(t){return Lt(dt,{flexDirection:"column",children:[fe(f,{name:"fg",children:t.title}),fe(dt,{flexDirection:"column",paddingTop:1,children:t.opts.map((e,o)=>Lt(dt,{children:[fe(f,{name:o===t.cursor?"accent":"fgDim",children:o===t.cursor?"\u276F ":" "}),fe(f,{name:o===t.cursor?"accent":"fg",children:e.label}),e.hint?Lt(f,{name:"fgDim",children:[" \xB7 ",e.hint]}):null,t.active!==void 0&&e.value===t.active?fe(f,{name:"fgDim",children:" \u25CF"}):null]},e.value))})]})}function R8(t){return Lt(dt,{flexDirection:"column",children:[fe(f,{name:"fg",children:t.title}),fe(dt,{flexDirection:"column",paddingTop:1,children:t.entries.map((e,o)=>{let n=t.selected.has(o),r=o===t.cursor;return Lt(dt,{children:[fe(f,{name:r?"accent":"fgDim",children:r?"\u276F ":" "}),fe(f,{name:n?"accent":"fgDim",children:n?"[x] ":"[ ] "}),fe(f,{name:r?"accent":"fg",children:e.label}),Lt(f,{name:"fgDim",children:[" \xB7 ",t.pt?e.hintPt:e.hintEn]})]},e.id)})}),fe(dt,{paddingTop:1,children:fe(f,{name:"fgDim",children:t.pt?"ESPA\xC7O marca/desmarca \xB7 ENTER segue (pode seguir sem nenhum) \xB7 baixam na 1\xAA vez (npx/uvx)":"SPACE toggles \xB7 ENTER continues (none is fine) \xB7 fetched on first use (npx/uvx)"})})]})}function Dd(t){let e=t.mask?"\u2022".repeat(t.value.length):t.value;return Lt(dt,{children:[Lt(f,{name:"fg",children:[t.label,": "]}),fe(f,{name:"accent",children:e}),fe(f,{name:"accent",children:"\u258F"})]})}async function C8(){if(!process.stdin.isTTY||!process.stdout.isTTY)return process.stdout.write(`aluy onboard precisa de um terminal interativo.
|
|
510
|
+
`);let n=Vo(process.execPath,[o,"-p",e,"--yolo","--no-self-check"],{stdio:"inherit",timeout:9e5,env:{...process.env,ALUY_OVERWRITE_RENDER:"0",ALUY_SYNC_OUTPUT:"0",ALUY_NO_WEAK_YOLO_WARN:"1"}});if(t==="mem0")try{let s=Ae(yn(),Ws),i=Ae(s,ss);lt(s)&&!lt(i)&&vx(xx(),i)}catch{}t==="ollama"&&await Q6();let r=await bP(t,process.platform);for(let s=0;s<V6&&!r;s++)await J6(X6),r=await bP(t,process.platform);return{target:t,hashOk:r,installed:r,message:r?`complemento "${t}" instalado e verificado.`:`o complemento "${t}" ainda n\xE3o respondeu como esperado. O Aluy CLI funciona sem ele; voc\xEA pode tentar de novo depois com \`aluy bootstrap\`.`}}function J6(t){return new Promise(e=>setTimeout(e,t))}async function Q6(){for(let t of[fn,la])try{await(await fetch(`http://${Gr}:${Wr}/api/pull`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({name:t,stream:!1})})).text()}catch{}}async function wP(t,e,o){let n=t??"turbo",r=pr(e??{});return new Sx({...o?.platform?{platform:o.platform}:{},...o?.useAgent?{agentInstaller:Y6}:{}}).provisionAll(n,r)}var xP,La,I6,ss,gP,Sx,yP,V6,X6,AP=p(()=>{"use strict";D();xP=".aluy",La=448,I6=384;ss="aluy-mem0-server.py";gP="application/vnd.ollama.image.model";Sx=class{platform;agentInstaller;constructor(e={}){this.platform=e.platform??process.platform,this.agentInstaller=e.agentInstaller}hasPinnedArtifact(){return this.platform==="linux"}async isProvisioned(e){switch(e){case"ollama":{let o=Ae(yn(),Cl,"bin","ollama");return lt(o)}case"mem0":{let o=Ae(yn(),Ws,"bin","python3");return lt(o)&&Ld(o)}case"headroom":{let o=Ae(yn(),da,"bin","headroom");return lt(o)}default:return!1}}async provision(e){let o=L6().uid;if(mv(o))return{target:e,hashOk:!1,installed:!1,message:"RECUSA ROOT (uid=0): provisionamento de sidecars \xE9 user-space. Execute como usu\xE1rio normal."};if(!this.hasPinnedArtifact())return this.agentInstaller?this.agentInstaller(e):{target:e,hashOk:!1,installed:!1,message:`SO '${this.platform}' sem artefato pinado p/ provisionamento direto. Rode \`aluy init --agent\` para o aluy instalar via o pr\xF3prio agente (\u26A0 --yolo), ou instale manualmente.`};switch(e){case"ollama":return j6();case"mem0":return G6();case"headroom":return z6();default:return{target:e,hashOk:!1,installed:!1,message:`Alvo desconhecido: ${String(e)}`}}}async provisionAll(e,o){if(!Pl(e))return{profile:e,targets:[],anySuccess:!1,allFailed:!1};let n=[];for(let i of o){let a=await this.provision(i);n.push(a)}let r=n.some(i=>i.installed),s=n.length>0&&n.every(i=>!i.installed);return{profile:e,targets:n,anySuccess:r,allFailed:s}}},yP="na faixa 3.10\u20133.12 (N\xC3O use 3.13+/3.14 \u2014 as depend\xEAncias nativas n\xE3o t\xEAm wheels e o pip falha ao compilar; no Windows prefira `py -3.12` ou `py -3.11`). Se N\xC3O houver um Python 3.10\u20133.12 instalado, INSTALE primeiro (no Windows: `winget install -e --id Python.Python.3.12 --accept-source-agreements --accept-package-agreements`; no Linux/macOS use o gerenciador do sistema). Se j\xE1 existir um venv nesse caminho numa vers\xE3o incompat\xEDvel (ex.: 3.14), APAGUE e recrie com a vers\xE3o certa";V6=144,X6=5e3});var TP={};bt(TP,{runFirstRunWizard:()=>EP,runInit:()=>t3});import{Entry as Z6}from"@napi-rs/keyring";async function EP(t){let{config:e,configStore:o,prompt:n,out:r,err:s,entryFactory:i,isInteractive:a}=t,c=e.localProvider!==void 0,l=e.localModel!==void 0,d=!1,m=e.localProvider;if(m)try{let h=(i??e3)(Js,Tf(m)).getPassword();d=h!==""&&h!==void 0}catch{}if(c&&l&&d)return!0;if(!a)return s("aluy bootstrap: configura\xE7\xE3o de 1\xAA execu\xE7\xE3o necess\xE1ria (provider + chave + modelo)."),c||s(" \u2717 Falta provider local em ~/.aluy/config.json."),l||s(" \u2717 Falta modelo local em ~/.aluy/config.json."),d||s(" \u2717 Falta chave de API no keychain do SO."),s(""),s(" Rode `aluy bootstrap` interativamente (num terminal com TTY) para o wizard,"),s(" ou configure manualmente:"),s(" 1. `aluy login --provider <anthropic|openrouter|openai>` (grava a chave no keychain)"),s(" 2. Edite ~/.aluy/config.json e adicione:"),s(' "localProvider": "<provider>",'),s(' "localModel": "<modelo-nativo>"'),s(""),!1;if(r(""),r("\u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557"),r("\u2551 Configura\xE7\xE3o de 1\xAA execu\xE7\xE3o \u2014 provider + chave + modelo \u2551"),r("\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255D"),r(""),r("O `aluy bootstrap --agent` usa um modelo de linguagem para instalar"),r("depend\xEAncias. Precisamos de provider, chave de API e modelo."),r("(As credenciais ficam no keychain do SO \u2014 nunca em texto.)"),r(""),c)r(`Provider: ${m} (j\xE1 configurado)`);else{let u=(await n(`Provider (${Ax.join("/")}): `)).trim().toLowerCase();if(!Ax.includes(u))return s(`Provider inv\xE1lido "${u}". Use: ${Ax.join(", ")}.`),!1;m=u,r("")}if(d)r("\u2713 Chave j\xE1 est\xE1 no keychain.");else{let u=m,h=(await n(`API key de ${u}: `,{secret:!0})).trim();if(h==="")return s("Chave vazia \u2014 abortando."),!1;try{va(u,h,i),r("\u2713 Chave guardada no keychain do SO.")}catch(g){return s(`Falha ao gravar no keychain: ${g instanceof Error?g.message:String(g)}`),s("(Por seguran\xE7a, a credencial nunca \xE9 gravada em texto. Instale o Secret Service no Linux.)"),!1}r("")}if(!l){let u=m,h=(await n("Modelo nativo (ex.: claude-sonnet-4-8): ")).trim();if(h==="")return s("Modelo vazio \u2014 abortando."),!1;o.save({localProvider:u,localModel:h}),r(`\u2713 Provider "${u}" + modelo "${h}" salvos em ~/.aluy/config.json.`),r("")}return r("Configura\xE7\xE3o conclu\xEDda. Seguindo para o provisionamento\u2026"),r(""),!0}function e3(t,e){return new Z6(t,e)}async function t3(t){let{out:e,err:o}=t,n=t.configStore??new Zt,r,s,i;try{i=n.load(),r=i.profile,s=i.sidecarToggles}catch{i={}}let a=t.isInteractive!==void 0?t.isInteractive:process.stdin.isTTY===!0&&process.stdout.isTTY===!0;if(t.prompt!==void 0||!a){let d=t.prompt??(async()=>"");if(!await EP({config:i,configStore:n,prompt:d,out:e,err:o,...t.entryFactory!==void 0?{entryFactory:t.entryFactory}:{},isInteractive:a}))return 0}if(e("O Aluy CLI j\xE1 est\xE1 instalado e pronto para uso."),e(""),e("Esta etapa instala os COMPLEMENTOS opcionais (modo turbo): mem\xF3ria, modelos"),e("locais e gest\xE3o de contexto. Eles enriquecem a experi\xEAncia, mas n\xE3o s\xE3o"),e("obrigat\xF3rios \u2014 se algum n\xE3o instalar, voc\xEA usa o Aluy CLI normalmente sem ele."),e(""),e(` Perfil escolhido: ${r??"turbo"}`),r==="leve")return e(" Perfil LEVE: nenhum complemento ser\xE1 instalado \u2014 o Aluy CLI j\xE1 est\xE1 pronto."),e(" Para instal\xE1-los depois, rode `aluy bootstrap` ou troque para o perfil turbo."),0;if(!(process.platform==="linux"))if(t.agent)e(` Sistema ${process.platform}: os componentes ser\xE3o instalados pelo pr\xF3prio aluy.`),e(" (No Linux h\xE1 um pacote \xFAnico j\xE1 verificado; nos demais sistemas a instala\xE7\xE3o \xE9 assistida.)");else return e(` Sistema ${process.platform}: a instala\xE7\xE3o autom\xE1tica dos componentes est\xE1, por ora,`),e(" dispon\xEDvel s\xF3 no Linux. Voc\xEA tem duas op\xE7\xF5es:"),e(" \u2022 `aluy bootstrap --agent` \u2014 o aluy instala sozinho (acesso total \xE0 m\xE1quina); ou"),e(" \u2022 instalar manualmente. Instalar o Ollama para Windows j\xE1 basta \u2014 ele sobe"),e(" em :11434 e o aluy detecta sozinho."),0;e(" Instalando os complementos (voc\xEA ver\xE1 o progresso de cada um abaixo)..."),e("");let l=await wP(r,s,{useAgent:t.agent===!0});for(let d of l.targets){let m=d.installed?"\u2713":"\u2717";e(` ${m} ${d.target}: ${d.message}`)}return e(""),l.anySuccess?(e("Complementos instalados. O Aluy CLI est\xE1 pronto, agora com o modo turbo."),l.allFailed&&e("Observa\xE7\xE3o: alguns complementos n\xE3o instalaram \u2014 o Aluy CLI funciona sem eles."),0):l.targets.length===0?(e("Nenhum complemento a instalar \u2014 o Aluy CLI j\xE1 est\xE1 pronto."),0):(o("Nenhum complemento foi instalado agora \u2014 sem problema, o Aluy CLI funciona"),o("normalmente. Voc\xEA pode tentar de novo depois com `aluy bootstrap`."),1)}var Ax,_P=p(()=>{"use strict";yr();AP();ka();Ax=["anthropic","openrouter","openai"]});function n3(t){let e=/^#?([0-9a-f]{6})$/i.exec(t.trim());return e?`\x1B]11;#${e[1].toUpperCase()}\x07`:""}function r3(t){if(t.NO_COLOR!==void 0)return!1;let e=t.ALUY_SET_BG;if(e===void 0)return!0;let o=e.trim().toLowerCase();return!(o==="0"||o==="false"||o==="no"||o==="off")}function i3(t){if(!t)return null;let e=/rgb:([0-9a-f]{1,4})\/([0-9a-f]{1,4})\/([0-9a-f]{1,4})/i.exec(t);if(e)return{r:Ex(e[1]),g:Ex(e[2]),b:Ex(e[3])};let o=/#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})/i.exec(t);return o?{r:parseInt(o[1],16),g:parseInt(o[2],16),b:parseInt(o[3],16)}:null}function Ex(t){let e=parseInt(t,16),o=16**t.length-1;return Math.round(e/o*255)}function a3(t){let e=o=>{let n=o/255;return n<=.03928?n/12.92:((n+.055)/1.055)**2.4};return .2126*e(t.r)+.7152*e(t.g)+.0722*e(t.b)}function c3(t){return a3(t)>=s3?"light":"dark"}function l3(t){let e=i3(t);return e?c3(e):null}function d3(t=process.env){let e=t.ALUY_OSC11_TIMEOUT_MS;if(e!==void 0){let n=Number.parseInt(e,10);if(Number.isFinite(n)&&n>0)return Math.min(n,5e3)}return!!(t.SSH_CONNECTION||t.SSH_TTY||t.SSH_CLIENT)?1e3:500}async function CP(t){let e=t.env??process.env;if(e.NO_COLOR!==void 0||t.stdout.isTTY!==!0||t.stdin.isTTY!==!0)return null;let o=t.timeoutMs??d3(e),n=t.stdin,r=n.isRaw===!0;return await new Promise(s=>{let i="",a=!1,c={},l=()=>{c.id&&clearTimeout(c.id),n.off("data",m);try{r||n.setRawMode(!1),n.pause()}catch{}},d=u=>{a||(a=!0,l(),s(u))},m=u=>{i+=typeof u=="string"?u:u.toString("utf8");let h=l3(i);h!==null&&d(h)};try{n.setRawMode(!0),n.resume(),n.on("data",m),t.stdout.write(o3)}catch{d(null);return}c.id=setTimeout(()=>d(null),o)})}var o3,RP,bp,s3,OP=p(()=>{"use strict";o3="\x1B]11;?\x07",RP="\x1B]111\x07";bp=class{stdout;enabled;applied=!1;didReset=!1;constructor(e){let o=e.env??process.env;this.stdout=e.stdout,this.enabled=e.stdout.isTTY===!0&&r3(o)}get active(){return this.enabled}apply(e){if(!this.enabled)return"";let o=n3(e);return o===""?"":(this.stdout.write(o),this.applied=!0,this.didReset=!1,o)}reset(){return!this.enabled||!this.applied||this.didReset?"":(this.didReset=!0,this.stdout.write(RP),RP)}},s3=.5});import{createContext as u3,useContext as m3}from"react";import{Text as MP}from"ink";import{jsx as vp}from"react/jsx-runtime";function di(t){return vp(LP.Provider,{value:t.theme,children:t.children})}function ne(){return m3(LP)}function f(t){let o=ne().role(t.name),n={};return o.color!==void 0&&(n.color=o.color),o.bold!==void 0&&(n.bold=o.bold),o.dimColor!==void 0&&(n.dimColor=o.dimColor),o.inverse!==void 0&&(n.inverse=o.inverse),vp(MP,{...n,children:t.children})}function P(t){let o=ne().glyph(t.name);return t.role?vp(f,{name:t.role,children:o}):vp(MP,{children:o})}var LP,PP=p(()=>{"use strict";Sf();LP=u3(qo())});var ae=p(()=>{"use strict";bf();vf();Sf();kf();Kr();OP();PP()});import"react";import{Box as kp}from"ink";import{jsx as Pa,jsxs as IP}from"react/jsx-runtime";function Er(t){let e=ne(),n=(t.columns??80)<Id,r=e.unicode?"\u039B":"/\\";if(n)return IP(kp,{children:[Pa(f,{name:"accent",children:r}),Pa(f,{name:"accent",children:" luy"})]});let s=e.unicode?Ia:NP,i=e.unicode?Pd:DP;return IP(kp,{flexDirection:"row",children:[Pa(kp,{flexDirection:"column",children:s.map((a,c)=>Pa(f,{name:"accent",children:a},c))}),Pa(kp,{flexDirection:"column",children:i.map((a,c)=>Pa(f,{name:"accent",children:f3+a},c))})]})}var Ia,Pd,NP,DP,f3,Id,Tx,ui=p(()=>{"use strict";ae();vf();Ia=[" \u2588\u2588 "," \u2588\u2588\u2588\u2588 "," \u2588\u2588 \u2588\u2588 ","\u2588\u2588 \u2588\u2588","\u2588\u2588 \u2588\u2588"," "],Pd=["\u2588\u2588 ","\u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588","\u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588","\u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588\u2588\u2588\u2588","\u2588\u2588 \u2588\u2588\u2588\u2588\u2588 \u2588\u2588"," \u2588\u2588"],NP=[" /\\ "," / \\ ","/ \\","/ \\","/ \\"," "],DP=["## ","## ## ## ## ##","## ## ## ## ##","## ## ## #####","## ##### ##"," ##"],f3=" ",Id=28,Tx=Ia.length});async function $P(t){let e=t.fetchImpl??fetch,o=t.baseUrl.replace(/\/+$/,""),n=new AbortController,r=setTimeout(()=>n.abort(),t.timeoutMs??15e3);try{let s=t.wireFormat==="anthropic"?await e(`${o}/v1/messages`,{method:"POST",signal:n.signal,headers:{"content-type":"application/json","x-api-key":t.key,"anthropic-version":"2023-06-01"},body:JSON.stringify({model:t.model,max_tokens:1,messages:[{role:"user",content:"ping"}]})}):await e(`${o}/chat/completions`,{method:"POST",signal:n.signal,headers:{"content-type":"application/json",authorization:`Bearer ${t.key}`},body:JSON.stringify({model:t.model,max_tokens:1,messages:[{role:"user",content:"ping"}]})});if(s.ok)return{ok:!0,detail:`HTTP ${s.status}`};let i="";try{i=(await s.text()).replace(/\s+/g," ").slice(0,160)}catch{}let a=s.status===401||s.status===403?" \u2014 chave inv\xE1lida?":s.status===404?" \u2014 modelo ou baseURL errado?":"";return{ok:!1,detail:`HTTP ${s.status}${a} ${i}`.trim()}}catch(s){return{ok:!1,detail:`n\xE3o conectou (baseURL/rede?): ${s instanceof Error?s.message:String(s)}`}}finally{clearTimeout(r)}}var FP=p(()=>{"use strict"});import{mkdirSync as p3,readFileSync as h3,renameSync as g3,statSync as y3,writeFileSync as b3}from"node:fs";import{dirname as v3,join as k3}from"node:path";function BP(t){let e={};for(let o of t.servers){let n={command:o.command,args:[...o.args]};Object.keys(o.env).length>0&&(n.env={...o.env}),o.disabled===!0&&(n.disabled=!0),e[o.name]=n}return JSON.stringify({mcpServers:e},null,2)+`
|
|
511
|
+
`}var x3,Mt,Dn,Nd=p(()=>{"use strict";D();x3=256*1024,Mt=class extends Error{constructor(e){super(e),this.name="McpWriteError"}},Dn=class{file;constructor(e){this.file=e.file}get configPath(){return this.file}load(){let e;try{let n=y3(this.file);if(!n.isFile())throw new Mt(`${this.file}: n\xE3o \xE9 um arquivo regular.`);if(n.size>x3)throw new Mt(`${this.file}: grande demais p/ editar com seguran\xE7a.`);e=h3(this.file,"utf8")}catch(n){if(n instanceof Mt)throw n;return xe}let o;try{o=JSON.parse(e)}catch{throw new Mt(`${this.file}: JSON inv\xE1lido \u2014 conserte \xE0 m\xE3o antes de usar 'aluy mcp'.`)}try{return Lo(o)}catch(n){let r=n instanceof ue?n.message:String(n);throw new Mt(r)}}add(e,o={}){if(!ua(e.name))throw new Mt(`nome de server inv\xE1lido "${e.name}" \u2014 use s\xF3 [A-Za-z0-9_-] (vira prefixo de tool).`);if(e.command.trim().length===0)throw new Mt(`server "${e.name}": "command" n\xE3o pode ser vazio.`);if(e.command.trim()==="--")throw new Mt(`server "${e.name}": "--" n\xE3o \xE9 um command (\xE9 o separador do 'aluy mcp add'). Use: aluy mcp add ${e.name} -- <command> [args...].`);let n=this.load(),r=n.servers.find(i=>i.name===e.name);if(r&&!o.force)throw new Mt(`server "${e.name}" j\xE1 existe em ${this.file} \u2014 use --force p/ sobrescrever.`);let s=[...n.servers.filter(i=>i.name!==e.name),e];return this.write({servers:s}),{replaced:r!==void 0}}remove(e){let o=this.load(),n=o.servers.length,r=o.servers.filter(s=>s.name!==e);return r.length===n?{removed:!1}:(this.write({servers:r}),{removed:!0})}setDisabled(e,o){let n=this.load(),r=n.servers.find(i=>i.name===e);if(!r)return{found:!1};let s={name:r.name,command:r.command,args:r.args,env:r.env,...o?{disabled:!0}:{}};return this.write({servers:n.servers.map(i=>i.name===e?s:i)}),{found:!0}}write(e){let o=v3(this.file);p3(o,{recursive:!0});let n=BP(e),r=k3(o,`.mcp.json.${process.pid}.${Date.now()}.tmp`);b3(r,n,{encoding:"utf8",mode:384}),g3(r,this.file)}}});var qP={};bt(qP,{mcpCatalog:()=>HP,runOnboard:()=>C3});import{useEffect as S3,useMemo as UP,useState as vo}from"react";import{render as w3,Box as dt,useApp as A3,useInput as E3}from"ink";import{homedir as jP}from"node:os";import{join as T3}from"node:path";import{jsx as fe,jsxs as Lt}from"react/jsx-runtime";function HP(){return[{id:"playwright",label:"Playwright",hintPt:"automa\xE7\xE3o de navegador (oficial)",hintEn:"browser automation (official)",command:"npx",args:["-y","@playwright/mcp@latest"]},{id:"sequential-thinking",label:"Sequential Thinking",hintPt:"racioc\xEDnio passo-a-passo",hintEn:"step-by-step reasoning",command:"npx",args:["-y","@modelcontextprotocol/server-sequential-thinking"]},{id:"memory",label:"Memory",hintPt:"grafo de conhecimento persistente",hintEn:"persistent knowledge graph",command:"npx",args:["-y","@modelcontextprotocol/server-memory"]},{id:"filesystem",label:"Filesystem",hintPt:"arquivos (escopo: sua home)",hintEn:"files (scope: your home)",command:"npx",args:["-y","@modelcontextprotocol/server-filesystem",jP()]},{id:"rpa",label:"RPA (Aluy)",hintPt:"automa\xE7\xE3o visual de desktop \u2014 OCR/clica/digita \xB7 via uvx",hintEn:"visual desktop automation \u2014 OCR/click/type \xB7 via uvx",command:"uvx",args:["aluy-mcp-rpa"]}]}function _3(t){let e=A3(),o=t.store.load(),n=UP(()=>Vr().entries,[]),[r,s]=vo("lang"),[i,a]=vo(o.lang??"pt-BR"),[c,l]=vo("local"),[d,m]=vo("anthropic"),[u,h]=vo({id:"",url:"",model:""}),[g,b]=vo(""),[y,w]=vo(""),[R,A]=vo("leve"),[L,U]=vo(""),j=UP(()=>HP(),[]),[z,Y]=vo(new Set),[I,J]=vo(0),[Q,W]=vo(Math.max(0,Ct.findIndex(F=>F.code===i))),[N,V]=vo(""),[Oe,K]=vo([]),le=i==="pt-BR",O=(F,G)=>le?F:G,se=[{value:"local",label:O("Local (sua chave / BYO)","Local (your key / BYO)"),hint:O("direto no provider","direct to provider")},{value:"broker",label:O("Broker (conta Aluy)","Broker (Aluy account)"),hint:O("autentica depois com aluy login","authenticate later with aluy login")}],de=[...n.map(F=>({value:F.id,label:F.label,hint:F.defaultModel})),{value:"__custom__",label:O("+ custom (OpenAI-compat\xEDvel)","+ custom (OpenAI-compatible)"),hint:O("ex.: TokenRouter, vLLM\u2026","e.g. TokenRouter, vLLM\u2026")}],ge=[{value:"turbo",label:O("Turbo \u2014 instala tudo","Turbo \u2014 install all"),hint:O("ollama + mem0 + headroom \xB7 pede m\xE1quina razo\xE1vel","ollama + mem0 + headroom \xB7 needs a decent machine")},{value:"leve",label:O("Leve \u2014 nada agora","Lite \u2014 nothing now"),hint:O("liga depois com aluy bootstrap","enable later with aluy bootstrap")}],Z=F=>F==="lang"?Ct.length:F==="backend"?se.length:F==="provider"?de.length:F==="sidecars"?ge.length:0;function oe(F,G=""){V(G),s(F)}function Me(){W(Math.max(0,ge.findIndex(F=>F.value==="leve"))),s("sidecars")}function $t(){J(0),s("mcp")}function mt(){let F=d==="__custom__",G=n.find(qe=>qe.id===d);return{wireFormat:F?"openai-compat":G?.wireFormat??"openai-compat",baseUrl:F?u.url.trim():G?.baseUrl??"",model:(F?u.model:y.trim()||G?.defaultModel||"").trim(),key:g.trim()}}S3(()=>{if(r!=="validating")return;let F=mt();if(c!=="local"||F.key===""||F.baseUrl===""||F.model===""){$t();return}let G=!1;return $P(F).then(qe=>{G||(qe.ok?(U(""),$t()):(U(qe.detail),s("validate-failed")))}),()=>{G=!0}},[r]);function nt(F){let G=[],qe={lang:i,backend:c};if(c==="local"){qe.localProvider=d==="__custom__"?u.id.trim():d;let ke=d==="__custom__"?u.model:y;ke.trim()!==""&&(qe.localModel=ke.trim())}if(qe.profile=F,t.store.save(qe),G.push(`\u2713 ${O("config","config")}: backend ${c}`),c==="local"&&d==="__custom__"&&u.id.trim()!==""&&u.url.trim()!=="")try{qO({id:u.id.trim(),wireFormat:"openai-compat",baseUrl:u.url.trim(),defaultModel:u.model.trim()||u.id.trim()}),G.push(O(`\u2713 provider custom "${u.id.trim()}" registrado`,`\u2713 custom provider "${u.id.trim()}" registered`))}catch(ke){G.push(`\u26A0 providers.json: ${String(ke)}`)}if(c==="local"&&g.trim()!==""){let ke=d==="__custom__"?u.id.trim():d;try{va(ke,g.trim()),G.push(O(`\u2713 chave de "${ke}" no keychain`,`\u2713 "${ke}" key in keychain`))}catch{G.push(O(`\u26A0 keychain indispon\xEDvel \u2014 rode: aluy login --provider ${ke}`,`\u26A0 keychain unavailable \u2014 run: aluy login --provider ${ke}`))}}let pe=j.filter((ke,Qe)=>z.has(Qe));if(pe.length>0)try{let ke=new Dn({file:T3(jP(),".aluy","mcp.json")});for(let Qe of pe)ke.add({name:Qe.id,command:Qe.command,args:[...Qe.args],env:{}},{force:!0});G.push(O(`\u2713 ${pe.length} MCP(s) registrado(s): ${pe.map(Qe=>Qe.id).join(", ")}`,`\u2713 ${pe.length} MCP(s) registered: ${pe.map(Qe=>Qe.id).join(", ")}`))}catch(ke){G.push(`\u26A0 mcp.json: ${String(ke)}`)}G.push(`\u2713 sidecars: ${F}`),F==="turbo"&&G.push(O(" \u2192 instale agora: aluy bootstrap"," \u2192 install now: aluy bootstrap")),L!==""&&G.push(O("\u26A0 modelo N\xC3O validado \u2014 pode n\xE3o funcionar","\u26A0 model NOT validated \u2014 may not work")),c==="broker"&&G.push(O("\u2192 broker: autentique com `aluy login`","\u2192 broker: authenticate with `aluy login`")),K(G),s("done")}E3((F,G)=>{if(r==="done"){(G.return||G.escape||F)&&e.exit();return}if(r==="validating")return;if(r==="validate-failed"){if(G.escape){e.exit();return}let pe=(F||"").toLowerCase();G.return||pe==="r"?s("validating"):pe==="k"?oe("key",""):pe==="u"&&d==="__custom__"?oe("custom-url",u.url):pe==="c"&&$t();return}if(G.escape){e.exit();return}if(r==="mcp"){G.upArrow?J(pe=>Math.max(0,pe-1)):G.downArrow?J(pe=>Math.min(j.length-1,pe+1)):F===" "?Y(pe=>{let ke=new Set(pe);return ke.has(I)?ke.delete(I):ke.add(I),ke}):G.return&&Me();return}if(r==="lang"||r==="backend"||r==="provider"||r==="sidecars"){let pe=Z(r);G.upArrow?W(ke=>Math.max(0,ke-1)):G.downArrow?W(ke=>Math.min(pe-1,ke+1)):G.return&&xt();return}if(G.return){at();return}if(G.backspace||G.delete){V(pe=>pe.slice(0,-1));return}F&&!G.ctrl&&!G.meta&&!G.upArrow&&!G.downArrow&&!G.leftArrow&&!G.rightArrow&&V(pe=>pe+F)});function xt(){if(r==="lang"){let F=Ct[Q].code;t.store.saveLang(F),a(F),W(0),s("backend")}else if(r==="backend"){let F=se[Q].value;l(F),F==="broker"?$t():(W(0),s("provider"))}else if(r==="provider"){let F=de[Q].value;m(F),oe(F==="__custom__"?"custom-id":"key","")}else if(r==="sidecars"){let F=ge[Q].value;A(F),nt(F)}}function at(){let F=N.trim();if(r==="custom-id")h(G=>({...G,id:F})),oe("custom-url","");else if(r==="custom-url")h(G=>({...G,url:F})),oe("custom-model","");else if(r==="custom-model")h(G=>({...G,model:F})),oe("key","");else if(r==="key")if(b(N),d==="__custom__")s("validating");else{let G=n.find(qe=>qe.id===d)?.defaultModel??"";oe("model",G)}else r==="model"&&(w(F),s("validating"))}let ft=()=>({lang:"1/8",backend:"2/8",provider:"3/8","custom-id":"3/8","custom-url":"3/8","custom-model":"3/8",key:"4/8",model:"5/8",validating:"6/8","validate-failed":"6/8",mcp:"7/8",sidecars:"8/8"})[r]??"";return Lt(dt,{flexDirection:"column",paddingY:1,children:[fe(Er,{columns:80}),fe(dt,{paddingTop:1,children:Lt(f,{name:"fgDim",children:[O("configura\xE7\xE3o inicial","first-run setup"),r!=="done"?` \xB7 ${ft()}`:""]})}),Lt(dt,{paddingTop:1,flexDirection:"column",children:[r==="lang"&&fe(xp,{title:O("Idioma","Language"),opts:Ct.map(F=>({value:F.code,label:F.label})),cursor:Q,active:i}),r==="backend"&&fe(xp,{title:O("Backend do modelo","Model backend"),opts:se,cursor:Q}),r==="provider"&&fe(xp,{title:O("Provider","Provider"),opts:de,cursor:Q,active:d}),r==="mcp"&&fe(R3,{title:O("MCPs (opcional) \u2014 quais instalar?","MCPs (optional) \u2014 which to install?"),entries:j,cursor:I,selected:z,pt:le}),r==="sidecars"&&Lt(dt,{flexDirection:"column",children:[fe(xp,{title:O("Complementos (modo turbo)","Complements (turbo mode)"),opts:ge,cursor:Q,active:R}),Lt(dt,{paddingTop:1,flexDirection:"column",children:[fe(f,{name:"fgDim",children:O("Turbo roda modelos locais (Ollama) + mem\xF3ria \u2014 pede uma m\xE1quina razo\xE1vel:","Turbo runs local models (Ollama) + memory \u2014 needs a decent machine:")}),fe(f,{name:"fgDim",children:O(" ~8GB+ de RAM, alguns GB de disco e uma boa conex\xE3o (baixa o Ollama + modelos)."," ~8GB+ RAM, a few GB of disk and a good connection (downloads Ollama + models).")}),fe(f,{name:"fgDim",children:O(" Em m\xE1quina fraca, escolha Leve \u2014 o aluy funciona normal e voc\xEA liga o turbo depois."," On a weak machine, pick Lite \u2014 aluy works fine and you can enable turbo later.")})]})]}),r==="custom-id"&&fe(Dd,{label:O("id do provider (ex.: tokenrouter)","provider id (e.g. tokenrouter)"),value:N}),r==="custom-url"&&fe(Dd,{label:O("base URL (https, .../v1)","base URL (https, .../v1)"),value:N}),r==="custom-model"&&fe(Dd,{label:O("modelo default","default model"),value:N}),r==="key"&&fe(Dd,{label:O(`API key de ${d==="__custom__"?u.id:d} (oculta)`,`${d==="__custom__"?u.id:d} API key (hidden)`),value:N,mask:!0}),r==="model"&&fe(Dd,{label:O("modelo (enter = default)","model (enter = default)"),value:N}),r==="validating"&&Lt(dt,{flexDirection:"column",children:[fe(f,{name:"fg",children:O("Testando o modelo\u2026","Testing the model\u2026")}),fe(dt,{paddingTop:1,children:fe(f,{name:"fgDim",children:O("chamada real ao provider (n\xE3o prossigo se falhar)","real call to the provider (won't proceed if it fails)")})})]}),r==="validate-failed"&&Lt(dt,{flexDirection:"column",children:[fe(f,{name:"fg",children:O("\u2717 o modelo N\xC3O respondeu","\u2717 the model did NOT respond")}),fe(dt,{paddingTop:1,children:fe(f,{name:"fgDim",children:L})}),fe(dt,{paddingTop:1,children:Lt(f,{name:"fgDim",children:[O("enter/r tentar de novo \xB7 k trocar chave","enter/r retry \xB7 k change key"),d==="__custom__"?O(" \xB7 u trocar baseURL"," \xB7 u change baseURL"):"",O(" \xB7 c seguir mesmo assim \xB7 esc sair"," \xB7 c continue anyway \xB7 esc quit")]})})]}),r==="done"&&Lt(dt,{flexDirection:"column",children:[Oe.map((F,G)=>fe(f,{name:F.startsWith("\u26A0")?"fg":"accent",children:F},G)),fe(dt,{paddingTop:1,children:fe(f,{name:"fgDim",children:O("enter p/ entrar no aluy","enter to launch aluy")})})]})]}),r!=="done"&&r!=="validating"&&r!=="validate-failed"&&fe(dt,{paddingTop:1,children:fe(f,{name:"fgDim",children:r==="lang"||r==="backend"||r==="provider"||r==="sidecars"?`\u2191\u2193 ${O("navegar","move")} \xB7 enter ${O("escolher","select")} \xB7 esc ${O("sair","quit")}`:`${O("digite","type")} \xB7 enter ${O("confirmar","confirm")} \xB7 esc ${O("sair","quit")}`})})]})}function xp(t){return Lt(dt,{flexDirection:"column",children:[fe(f,{name:"fg",children:t.title}),fe(dt,{flexDirection:"column",paddingTop:1,children:t.opts.map((e,o)=>Lt(dt,{children:[fe(f,{name:o===t.cursor?"accent":"fgDim",children:o===t.cursor?"\u276F ":" "}),fe(f,{name:o===t.cursor?"accent":"fg",children:e.label}),e.hint?Lt(f,{name:"fgDim",children:[" \xB7 ",e.hint]}):null,t.active!==void 0&&e.value===t.active?fe(f,{name:"fgDim",children:" \u25CF"}):null]},e.value))})]})}function R3(t){return Lt(dt,{flexDirection:"column",children:[fe(f,{name:"fg",children:t.title}),fe(dt,{flexDirection:"column",paddingTop:1,children:t.entries.map((e,o)=>{let n=t.selected.has(o),r=o===t.cursor;return Lt(dt,{children:[fe(f,{name:r?"accent":"fgDim",children:r?"\u276F ":" "}),fe(f,{name:n?"accent":"fgDim",children:n?"[x] ":"[ ] "}),fe(f,{name:r?"accent":"fg",children:e.label}),Lt(f,{name:"fgDim",children:[" \xB7 ",t.pt?e.hintPt:e.hintEn]})]},e.id)})}),fe(dt,{paddingTop:1,children:fe(f,{name:"fgDim",children:t.pt?"ESPA\xC7O marca/desmarca \xB7 ENTER segue (pode seguir sem nenhum) \xB7 baixam na 1\xAA vez (npx/uvx)":"SPACE toggles \xB7 ENTER continues (none is fine) \xB7 fetched on first use (npx/uvx)"})})]})}function Dd(t){let e=t.mask?"\u2022".repeat(t.value.length):t.value;return Lt(dt,{children:[Lt(f,{name:"fg",children:[t.label,": "]}),fe(f,{name:"accent",children:e}),fe(f,{name:"accent",children:"\u258F"})]})}async function C3(){if(!process.stdin.isTTY||!process.stdout.isTTY)return process.stdout.write(`aluy onboard precisa de um terminal interativo.
|
|
512
512
|
Abra um terminal e rode: aluy onboard
|
|
513
|
-
`),0;let t=new Zt,e=qo({});return await
|
|
514
|
-
`)),n=t.scope??"both",r=t.view??"models",s=t.localCatalog??Vr(),i=
|
|
515
|
-
Busca servers MCP no registro oficial aberto (sem login). Ex.: aluy mcp search filesystem`,exitCode:2};let n=await Mv(o,e);return{text:Lv(n),exitCode:n.ok?0:1}}var
|
|
513
|
+
`),0;let t=new Zt,e=qo({});return await w3(fe(di,{theme:e,children:fe(_3,{store:t})})).waitUntilExit(),0}var WP=p(()=>{"use strict";ui();ae();pa();yr();Wl();ka();FP();Nd()});var GP={};bt(GP,{runModels:()=>P3});function O3(t){return t.entries.map(e=>({provider:e.id,authModes:e.auth,defaultModel:e.defaultModel,...e.catalogHint!==void 0?{catalogHint:e.catalogHint}:{}}))}function M3(t){return(t instanceof Error?t.name:"")==="SessionExpiredError"?"fa\xE7a `aluy login` (sem sess\xE3o).":"broker fora ou sem conex\xE3o (cheque a ALUY_BROKER_URL)."}async function _x(t){try{return{ok:!0,data:await t()}}catch(e){return{ok:!1,reason:M3(e)}}}async function L3(t,e){let o=go(e),n=Go(e),r=t.store??new qt,s=new jt({...o,baseUrl:o.identityBaseUrl,store:r},{envToken:()=>e.ALUY_TOKEN}),i=t.brokerFetch?{fetch:t.brokerFetch}:{},a=qc({brokerBaseUrl:n.brokerBaseUrl,login:s,...i}),c=Gc({brokerBaseUrl:n.brokerBaseUrl,login:s,...i}),l=Wc({brokerBaseUrl:n.brokerBaseUrl,login:s,...i}),[d,m,u]=await Promise.all([_x(()=>a.list()),_x(()=>c.list()),_x(()=>l.list())]);return{tiers:d,providers:m,custom:u}}async function P3(t={}){let e=t.env??process.env,o=t.out??(m=>process.stdout.write(m+`
|
|
514
|
+
`)),n=t.scope??"both",r=t.view??"models",s=t.localCatalog??Vr(),i=O3(s),c=n==="broker"||n==="both"?await L3(t,e):void 0,l=Sc({env:e.ALUY_BACKEND});if(t.json===!0){let m={view:r,scope:n,activeBackend:l,local:i,...c!==void 0?{broker:c}:{}};return o(JSON.stringify(m)),0}let d=iy({scope:n,view:r,activeBackend:l,local:i,...c!==void 0?{broker:c}:{}});o(r==="providers"?"aluy providers \u2014 providers dispon\xEDveis (local + broker)":"aluy models \u2014 providers e modelos dispon\xEDveis"),o("");for(let m of d.lines)o(m);return 0}var zP=p(()=>{"use strict";D();Xr();Qs();Wl();Jr()});var KP={};bt(KP,{createRegistryFetch:()=>Rx,runMcpSearch:()=>Cx});function Rx(t={}){let e=new oi({aluyHosts:[ma],includeSearchHosts:!1}),o=t.ports??{resolver:new Gt,fetcher:new Zr},n=t.policy??I3;return async(r,s)=>{let i;try{i=new URL(r).hostname.toLowerCase()}catch{return{ok:!1,reason:`URL inv\xE1lida do registro: "${r}"`}}if(!e.isAllowed(i))return{ok:!1,reason:`egress bloqueado: "${i}" n\xE3o \xE9 o registro oficial (${ma})`};let a=await ca(r,o,n,s?{signal:s}:{});return a.ok?{ok:!0,status:a.status,body:a.body}:{ok:!1,reason:a.reason}}}async function Cx(t,e){let o=t.trim();if(o.length===0)return{text:`uso: aluy mcp search <query>
|
|
515
|
+
Busca servers MCP no registro oficial aberto (sem login). Ex.: aluy mcp search filesystem`,exitCode:2};let n=await Mv(o,e);return{text:Lv(n),exitCode:n.ok?0:1}}var I3,Sp=p(()=>{"use strict";D();ep();es();I3={maxBytes:1024*1024,timeoutMs:12e3,maxRedirects:0}});var tI={};bt(tI,{MCP_HELP_TEXT:()=>VP,parseMcpCommand:()=>XP,runMcp:()=>B3});import{homedir as YP}from"node:os";import{join as $d}from"node:path";import{readFileSync as N3,statSync as D3}from"node:fs";function XP(t){let e=t[0];if(e===void 0||e==="help"||e==="-h"||e==="--help")return{kind:"help"};if(e==="list")return{kind:"list"};if(e==="remove"||e==="rm"){let o=t.slice(1),{flags:n,positionals:r}=$3(o),s=r[0];return s===void 0?{kind:"error",message:"mcp remove: falta o <nome> do server."}:r.length>1?{kind:"error",message:`mcp remove: argumento inesperado "${r[1]}".`}:{kind:"remove",name:s,project:n.project}}if(e==="add"){let o=t.slice(1),n=[],r=[],s=!1,i=!1,a=!1;for(let d=0;d<o.length;d++){let m=o[d];if(!a){if(m==="--"&&r.length<=1){a=!0;continue}if(m==="--project"){s=!0;continue}if(m==="--force"){i=!0;continue}if(m==="--env"||m.startsWith("--env=")){let u=m==="--env"?o[++d]:m.slice(6);if(u===void 0)return{kind:"error",message:"mcp add: --env requer K=V."};let h=F3(u);if(h===void 0)return{kind:"error",message:`mcp add: --env inv\xE1lido "${u}" \u2014 use K=V.`};n.push(h);continue}}r.push(m)}let c=r[0],l=r[1];return c===void 0?{kind:"error",message:"mcp add: falta o <nome> do server."}:l===void 0?{kind:"error",message:`mcp add: falta o <command> do server "${c}".`}:l==="--"?{kind:"error",message:`mcp add: "--" n\xE3o \xE9 um <command> \u2014 \xE9 o separador. Use: aluy mcp add ${c} -- <command> [args...].`}:{kind:"add",name:c,command:l,args:r.slice(2),env:n,project:s,force:i}}return{kind:"error",message:`mcp: subcomando desconhecido "${e}".`}}function $3(t){let e=[],o=!1;for(let n of t)n==="--project"?o=!0:e.push(n);return{flags:{project:o},positionals:e}}function F3(t){let e=t.indexOf("=");if(!(e<=0))return[t.slice(0,e),t.slice(e+1)]}async function B3(t,e={}){let o=e.io??Wo(),n=XP(t);switch(n.kind){case"help":return o.out(VP),0;case"error":return o.err(`aluy: ${n.message}`),o.err("rode 'aluy mcp --help' p/ ver o uso."),2;case"add":return U3(n,e,o);case"remove":return j3(n,e,o);case"list":return H3(e,o)}}function JP(t){return t.aluyHome??$d(YP(),".aluy")}function QP(t){return t.codexHome??$d(YP(),".codex")}function ZP(t){return t.workspaceRoot??process.cwd()}function eI(t,e){return t?$d(ZP(e),Io):$d(JP(e),wa)}function U3(t,e,o){let n={};for(let[a,c]of t.env)$l(a,c).looksLikeSecret&&o.err(`aluy: \u26A0 --env ${a} parece um SEGREDO literal. O mcp.json \xE9 leg\xEDvel e version\xE1vel, ent\xE3o n\xE3o deve guardar credenciais. Prefira uma REFER\xCANCIA (--env ${a}=$NOME_DA_VAR), resolvida do teu ambiente no spawn. Gravando assim mesmo.`),n[a]=c;let r={name:t.name,command:t.command,args:t.args,env:n},s=eI(t.project,e),i=new Dn({file:s});try{let{replaced:a}=i.add(r,{force:t.force}),c=t.project?".mcp.json (projeto)":"~/.aluy/mcp.json";return o.out(`${a?"atualizado":"adicionado"} "${t.name}" em ${c}: ${t.command}${t.args.length?" "+t.args.join(" "):""}`),o.out("o server passa pela catraca no runtime (conectar = confirma\xE7\xE3o). `aluy mcp list`."),0}catch(a){return o.err(`aluy: ${a instanceof Mt?a.message:String(a)}`),1}}function j3(t,e,o){let n=eI(t.project,e),r=new Dn({file:n});try{let{removed:s}=r.remove(t.name);if(s){let a=t.project?".mcp.json (projeto)":"~/.aluy/mcp.json";return o.out(`removido "${t.name}" de ${a}.`),0}return o.err(`aluy: server "${t.name}" n\xE3o est\xE1 em ${t.project?".mcp.json":"~/.aluy/mcp.json"}.`),new Ko({baseDir:QP(e)}).load().config.servers.some(a=>a.name===t.name)&&o.err(`aluy: "${t.name}" vem do Codex (~/.codex/config.toml) \u2014 o aluy N\xC3O o gerencia; edite o config.toml do Codex \xE0 m\xE3o.`),1}catch(s){return o.err(`aluy: ${s instanceof Mt?s.message:String(s)}`),1}}function H3(t,e){let o=new Ko({baseDir:QP(t)}).load(),n=new Sr({baseDir:JP(t)}).load(),r=W3(ZP(t)),s=[o.error,n.error,r.error].filter(c=>!!c);for(let c of s)e.err(`aluy: MCP \u2014 ${c}`);let i=[{origin:"codex",config:o.config},{origin:"aluy-global",config:n.config},{origin:"project",config:r.config}],a=Gs(i);if(a.length===0)return e.out("nenhum server MCP configurado. Adicione com: aluy mcp add <nome> <command> [args...]"),0;e.out(`servers MCP (${a.length}):`);for(let c of a){let l=c.managed?"":" [n\xE3o-gerenciado]";e.out(` ${c.name} \u2014 ${Fl(c.origin)}${l}`),e.out(` ${c.command}${c.args.length?" "+c.args.join(" "):""}`),c.envKeys.length&&e.out(` env: ${c.envKeys.join(", ")}`);let d=zs(c);d!==void 0&&e.err(`aluy: \u26A0 ${d}`)}return e.out("estado/tools por server: use /mcp dentro da sess\xE3o (handshake ao vivo)."),0}function W3(t){let e=$d(t,Io),o;try{let r=D3(e);if(!r.isFile()||r.size>q3)return{config:xe};o=N3(e,"utf8")}catch{return{config:xe}}let n;try{n=JSON.parse(o)}catch{return{config:xe,error:`${e}: JSON inv\xE1lido.`}}try{return{config:Lo(n)}}catch(r){return{config:xe,error:r instanceof ue?r.message:String(r)}}}var VP,q3,oI=p(()=>{"use strict";D();Xs();ei();Jl();Nd();ei();Pf();VP=`aluy mcp \u2014 gerencia servers MCP locais (stdio) sem editar o JSON \xE0 m\xE3o.
|
|
516
516
|
|
|
517
517
|
Uso:
|
|
518
518
|
aluy mcp add <nome> [--] <command> [args...] [--env K=V]... [--project] [--force]
|
|
@@ -534,10 +534,10 @@ Notas:
|
|
|
534
534
|
- As tools do server entram no toolset ATR\xC1S da catraca (efeito \u21D2 confirma\xE7\xE3o).
|
|
535
535
|
- \u26A0 v1 N\xC3O isola o server em sandbox de SO: roda com OS TEUS
|
|
536
536
|
privil\xE9gios. S\xF3 plugue servers que voc\xEA confia. A credencial do Aluy NUNCA \xE9
|
|
537
|
-
repassada ao server.`;
|
|
538
|
-
`),n=[],r=!1;for(let c of o){if(c.trim()===Ox){r=!r;continue}r||n.push(c)}let s=t.jobs.filter(c=>c.enabled!==!1),i=[];if(s.length>0){i.push(Ox);for(let c of s)i.push(`${c.schedule} ${
|
|
537
|
+
repassada ao server.`;q3=256*1024});var dI={};bt(dI,{loadState:()=>is,parseCronCommand:()=>lI,runCron:()=>Mx,saveState:()=>Fd});import{execSync as rI,execFileSync as nI}from"node:child_process";import{mkdirSync as G3,readFileSync as z3,writeFileSync as K3}from"node:fs";import{homedir as Y3}from"node:os";import{join as sI}from"node:path";import{randomUUID as V3}from"node:crypto";function iI(){return sI(Y3(),".aluy","cron")}function aI(){return sI(iI(),"jobs.json")}function cI(){G3(iI(),{recursive:!0,mode:448})}function is(){try{let t=z3(aI(),"utf8"),e=JSON.parse(t);return{jobs:Array.isArray(e.jobs)?e.jobs:[]}}catch{return{jobs:[]}}}function Fd(t){cI(),K3(aI(),JSON.stringify(t,null,2),{mode:384})}function wp(){let t=is(),e="";try{e=nI("crontab",["-l"],{encoding:"utf8"})}catch{}let o=e.split(`
|
|
538
|
+
`),n=[],r=!1;for(let c of o){if(c.trim()===Ox){r=!r;continue}r||n.push(c)}let s=t.jobs.filter(c=>c.enabled!==!1),i=[];if(s.length>0){i.push(Ox);for(let c of s)i.push(`${c.schedule} ${X3} ${c.id}`);i.push(Ox)}let a=[...n.filter(c=>c.trim()!==""),...i].join(`
|
|
539
539
|
`)+`
|
|
540
|
-
`;if(a.trim()===""){try{nI("crontab",["-r"],{encoding:"utf8"})}catch{}return}rI("crontab -",{input:a,encoding:"utf8"})}function lI(t){let e=t[0];if(e===void 0||e==="help"||e==="-h"||e==="--help")return{kind:"help"};if(e==="list")return{kind:"list"};if(e==="add"){let o=t.slice(1),n=o.includes("--yolo"),r=o.filter(c=>c!=="--yolo"),s=r[0],i=r[1];return s?i?s.trim().split(/\s+/).length!==5?{kind:"error",message:`cron add: <quando> inv\xE1lido "${s}" \u2014 use 5 campos cron (ex.: "0 9 * * 1-5").`}:{kind:"add",quando:s,tarefa:i,yolo:n}:{kind:"error",message:'cron add: falta a "<tarefa>".'}:{kind:"error",message:"cron add: falta o <quando> (express\xE3o cron)."}}if(e==="rm"||e==="remove"){let o=t[1];return o?{kind:"rm",id:o}:{kind:"error",message:"cron rm: falta o <id> do job."}}if(e==="run"){let o=t[1];return o?{kind:"run",id:o}:{kind:"error",message:"cron run: falta o <id> do job."}}if(e==="enable"||e==="disable"){let o=t[1];return o?{kind:e,id:o}:{kind:"error",message:`cron ${e}: falta o <id> do job.`}}if(e==="edit"){let o=t.slice(1),n=o[0];if(!n||n.startsWith("--"))return{kind:"error",message:"cron edit: falta o <id> do job."};let r=c=>{let l=o.indexOf(c);return l!==-1?o[l+1]:void 0},s=r("--quando"),i=r("--tarefa"),a=o.includes("--yolo")?!0:o.includes("--no-yolo")?!1:void 0;return s===void 0&&i===void 0&&a===void 0?{kind:"error",message:'cron edit: nada a mudar \u2014 use --quando "<cron>", --tarefa "<txt>" e/ou --yolo|--no-yolo.'}:s!==void 0&&s.trim().split(/\s+/).length!==5?{kind:"error",message:`cron edit: --quando inv\xE1lido "${s}" \u2014 use 5 campos cron (ex.: "0 9 * * 1-5").`}:{kind:"edit",id:n,...s!==void 0?{quando:s}:{},...i!==void 0?{tarefa:i}:{},...a!==void 0?{yolo:a}:{}}}return{kind:"error",message:`cron: subcomando desconhecido "${e}".`}}async function Mx(t,e={}){let o=e.io?.out??console.log,n=e.io?.err??console.error,r=lI(t);switch(r.kind){case"help":return o(
|
|
540
|
+
`;if(a.trim()===""){try{nI("crontab",["-r"],{encoding:"utf8"})}catch{}return}rI("crontab -",{input:a,encoding:"utf8"})}function lI(t){let e=t[0];if(e===void 0||e==="help"||e==="-h"||e==="--help")return{kind:"help"};if(e==="list")return{kind:"list"};if(e==="add"){let o=t.slice(1),n=o.includes("--yolo"),r=o.filter(c=>c!=="--yolo"),s=r[0],i=r[1];return s?i?s.trim().split(/\s+/).length!==5?{kind:"error",message:`cron add: <quando> inv\xE1lido "${s}" \u2014 use 5 campos cron (ex.: "0 9 * * 1-5").`}:{kind:"add",quando:s,tarefa:i,yolo:n}:{kind:"error",message:'cron add: falta a "<tarefa>".'}:{kind:"error",message:"cron add: falta o <quando> (express\xE3o cron)."}}if(e==="rm"||e==="remove"){let o=t[1];return o?{kind:"rm",id:o}:{kind:"error",message:"cron rm: falta o <id> do job."}}if(e==="run"){let o=t[1];return o?{kind:"run",id:o}:{kind:"error",message:"cron run: falta o <id> do job."}}if(e==="enable"||e==="disable"){let o=t[1];return o?{kind:e,id:o}:{kind:"error",message:`cron ${e}: falta o <id> do job.`}}if(e==="edit"){let o=t.slice(1),n=o[0];if(!n||n.startsWith("--"))return{kind:"error",message:"cron edit: falta o <id> do job."};let r=c=>{let l=o.indexOf(c);return l!==-1?o[l+1]:void 0},s=r("--quando"),i=r("--tarefa"),a=o.includes("--yolo")?!0:o.includes("--no-yolo")?!1:void 0;return s===void 0&&i===void 0&&a===void 0?{kind:"error",message:'cron edit: nada a mudar \u2014 use --quando "<cron>", --tarefa "<txt>" e/ou --yolo|--no-yolo.'}:s!==void 0&&s.trim().split(/\s+/).length!==5?{kind:"error",message:`cron edit: --quando inv\xE1lido "${s}" \u2014 use 5 campos cron (ex.: "0 9 * * 1-5").`}:{kind:"edit",id:n,...s!==void 0?{quando:s}:{},...i!==void 0?{tarefa:i}:{},...a!==void 0?{yolo:a}:{}}}return{kind:"error",message:`cron: subcomando desconhecido "${e}".`}}async function Mx(t,e={}){let o=e.io?.out??console.log,n=e.io?.err??console.error,r=lI(t);switch(r.kind){case"help":return o(J3),0;case"error":return n(`aluy: ${r.message}`),n("rode 'aluy cron --help' para ver o uso."),1;case"add":{cI();let s=is(),i={id:V3(),schedule:r.quando,task:r.tarefa,criado_em:new Date().toISOString(),yolo:r.yolo,workspace:process.cwd()};if(s.jobs.push(i),Fd(s),process.platform==="linux")try{wp()}catch(a){n(`aluy: erro ao atualizar crontab: ${a instanceof Error?a.message:String(a)}`)}else o("aluy: aviso \u2014 agendamento pelo cron do SO dispon\xEDvel s\xF3 no Linux nesta fatia."),o(" O job foi salvo mas N\xC3O foi instalado no agendador do SO.");return o(`Job "${i.id.slice(0,8)}" adicionado:`),o(` Schedule: ${i.schedule}`),o(` Tarefa: ${i.task}`),o(` Yolo: ${i.yolo?"sim (opt-in)":"n\xE3o (padr\xE3o seguro)"}`),r.yolo&&(o(" \u26A0 --yolo ativo: a tarefa roda SEM pedir confirma\xE7\xE3o."),o(" Categorias sempre-ask seguem n\xE3o-relax\xE1veis.")),0}case"list":{let s=is();if(s.jobs.length===0)return o('Nenhum job agendado. Use: aluy cron add <quando> "<tarefa>"'),0;o(`Jobs agendados (${s.jobs.length}):`);for(let i of s.jobs){let a=i.id.slice(0,8),c=i.yolo?"yolo":"ask",l=i.enabled===!1?"off":"on ";o(` ${a} [${l}] ${i.schedule} [${c}] ${i.task}`)}return 0}case"rm":{let s=is(),i=s.jobs.findIndex(c=>c.id.startsWith(r.id));if(i===-1)return n(`aluy: job "${r.id}" n\xE3o encontrado. Use "aluy cron list" para ver os ids.`),1;let a=s.jobs[i];if(s.jobs.splice(i,1),Fd(s),process.platform==="linux")try{wp()}catch(c){n(`aluy: erro ao atualizar crontab: ${c instanceof Error?c.message:String(c)}`)}return o(`Job "${a.id.slice(0,8)}" removido: ${a.task}`),0}case"run":{let i=is().jobs.find(l=>l.id.startsWith(r.id));if(!i)return n(`aluy: job "${r.id}" n\xE3o encontrado. Use "aluy cron list" para ver os ids.`),1;o(`Executando job "${i.id.slice(0,8)}": ${i.task}`);let a=i.yolo?" --yolo":"",c=`aluy -p "${i.task.replace(/"/g,'\\"')}"${a}`;o(` Comando: ${c}`);try{return rI(c,{cwd:i.workspace||process.cwd(),stdio:"inherit",encoding:"utf8"}),o(" \u2713 Conclu\xEDdo."),0}catch(l){let d=l.status??2;return n(` \u2717 Falhou (exit code: ${d}).`),d}}case"enable":case"disable":{let s=is(),i=s.jobs.find(a=>a.id.startsWith(r.id));if(!i)return n(`aluy: job "${r.id}" n\xE3o encontrado. Use "aluy cron list" para ver os ids.`),1;if(i.enabled=r.kind==="enable",Fd(s),process.platform==="linux")try{wp()}catch(a){n(`aluy: erro ao atualizar crontab: ${a instanceof Error?a.message:String(a)}`)}return o(`Job "${i.id.slice(0,8)}" ${r.kind==="enable"?"HABILITADO":"DESABILITADO"}: ${i.task}`),r.kind==="disable"&&o(" (continua salvo; fora do agendador do SO at\xE9 reabilitar)"),0}case"edit":{let s=is(),i=s.jobs.find(a=>a.id.startsWith(r.id));if(!i)return n(`aluy: job "${r.id}" n\xE3o encontrado. Use "aluy cron list" para ver os ids.`),1;if(r.quando!==void 0&&(i.schedule=r.quando),r.tarefa!==void 0&&(i.task=r.tarefa),r.yolo!==void 0&&(i.yolo=r.yolo),Fd(s),process.platform==="linux")try{wp()}catch(a){n(`aluy: erro ao atualizar crontab: ${a instanceof Error?a.message:String(a)}`)}return o(`Job "${i.id.slice(0,8)}" editado:`),o(` Schedule: ${i.schedule}`),o(` Tarefa: ${i.task}`),o(` Yolo: ${i.yolo?"sim (opt-in)":"n\xE3o (padr\xE3o seguro)"}`),0}}}var Ox,X3,J3,Lx=p(()=>{"use strict";Ox="# aluy-cron-jobs",X3="aluy cron run";J3=`aluy cron \u2014 agendamento PERSISTENTE (jobs disparados pelo cron do SO)
|
|
541
541
|
|
|
542
542
|
Uso:
|
|
543
543
|
aluy cron add <quando> "<tarefa>" [--yolo]
|
|
@@ -569,29 +569,29 @@ Notas:
|
|
|
569
569
|
consci\xEAncia para jobs que n\xE3o precisam de supervis\xE3o.
|
|
570
570
|
- Confinamento: o run roda no workspace do job (path-deny ADR-0053).
|
|
571
571
|
- Anti-runaway: tetos do --cycle s\xE3o herdados (CLI-SEC-14).
|
|
572
|
-
`});function Ee(t){let e=0;for(let o of t){let n=o.codePointAt(0);e+=
|
|
572
|
+
`});function Ee(t){let e=0;for(let o of t){let n=o.codePointAt(0);e+=Q3(n)}return e}function Q3(t){return t===0||t<32||t>=127&&t<160||Z3(t)?0:e8(t)?2:1}function Z3(t){return t>=768&&t<=879||t>=6832&&t<=6911||t>=7616&&t<=7679||t>=8400&&t<=8447||t>=65024&&t<=65039||t>=65056&&t<=65071||t===8203||t===8204||t===8205||t===65279}function e8(t){return t>=4352&&t<=4447||t>=11904&&t<=12350||t>=12353&&t<=13311||t>=13312&&t<=19903||t>=19968&&t<=40959||t>=40960&&t<=42191||t>=44032&&t<=55203||t>=63744&&t<=64255||t>=65072&&t<=65103||t>=65280&&t<=65376||t>=65504&&t<=65510||t>=127744&&t<=129791||t>=131072&&t<=262141}function Na(t,e){let o=t.split(`
|
|
573
573
|
`);if(!e||e<=0)return o.length;let n=0;for(let r of o){let s=Ee(r);n+=Math.max(1,Math.ceil(s/e))}return n}function Da(t,e,o){if(!e||e<=0)return{text:t,hidden:0};let n=t.split(`
|
|
574
|
-
`);if(Na(t,o)<=e)return{text:t,hidden:0};let r=0,s=n.length;for(let i=n.length-1;i>=0;i--){let a=Na(n[i],o);if(i<n.length-1&&r+a>e)break;r+=a,s=i}if(s<n.length&&o>0){let i=n[s];Na(i,o)>e&&(n[s]=
|
|
574
|
+
`);if(Na(t,o)<=e)return{text:t,hidden:0};let r=0,s=n.length;for(let i=n.length-1;i>=0;i--){let a=Na(n[i],o);if(i<n.length-1&&r+a>e)break;r+=a,s=i}if(s<n.length&&o>0){let i=n[s];Na(i,o)>e&&(n[s]=t8(i,e,o))}return s<=0?{text:n.join(`
|
|
575
575
|
`),hidden:0}:{text:n.slice(s).join(`
|
|
576
|
-
`),hidden:s}}function
|
|
576
|
+
`),hidden:s}}function t8(t,e,o){if(e<=0||o<=0)return t;let n=e*o-1;if(n<=0)return"\u2026";let r=Array.from(t),s=0,i=r.length;for(let a=r.length-1;a>=0;a--){let c=Ee(r[a]);if(s+c>n)break;s+=c,i=a}return"\u2026"+r.slice(i).join("")}var eo=p(()=>{"use strict"});function mI(t){return`${$n}${t};1H`}function s8(t,e){return`${$n}${t};${e}H`}function i8(t){let e=1,o=1;for(let n=0;n<t.length;n+=1){let r=t[n];if(r==="\x1B"&&t[n+1]==="["){let s=n+2;for(;s<t.length&&t[s]>="0"&&t[s]<="?";)s+=1;for(;s<t.length&&t[s]>=" "&&t[s]<="/";)s+=1;n=s;continue}if(r===`
|
|
577
577
|
`)e+=1,o=1;else if(r==="\r")o=1;else{let s=t.codePointAt(n);s>65535&&(n+=1),o+=Ee(String.fromCodePoint(s))}}return{row:e,col:o}}function pI(t){return t.ALUY_SYNC_OUTPUT!=="0"}function hI(t){return t.ALUY_OVERWRITE_RENDER!=="0"}function gI(t){let e=0,o=0;for(;t.startsWith(`${Ap}${Px}`,e);)e+=Ap.length+Px.length,o+=1;if(t.startsWith(`${Ap}${Ix}`,e))return e+=Ap.length+Ix.length,{lines:o+1,bodyStart:e}}function fI(t){let e="",o="";for(let n=0;n<t.length;n+=1){let r=t[n];r===`
|
|
578
578
|
`?(o.endsWith("\r")?e+=o.slice(0,-1)+Bd+`\r
|
|
579
579
|
`:e+=o+Bd+`
|
|
580
|
-
`,o=""):o+=r}return o.length>0&&(e+=o+Bd),e}function
|
|
581
|
-
`);return e.length>1&&e[e.length-1]===""&&e.pop(),e}function
|
|
582
|
-
`)}${mi}`;let i="",a=Math.max(t.length,s.length);for(let l=0;l<s.length;l+=1){let d=s[l]??"";t[l]!==d&&(i+=`${mI(l+1)}${d}${Bd}`)}s.length<t.length&&(i+=`${mI(s.length+1)}${mi}`),t=s;let c=
|
|
583
|
-
`),o="";for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);if(r===10||r===9){o+=e[n];continue}r<=31||r===127||(o+=e[n])}return o}function wI(t,e){return t.open?((e.includes(vI)||e.startsWith(kI))&&(t.open=!1),!0):e.includes(
|
|
580
|
+
`,o=""):o+=r}return o.length>0&&(e+=o+Bd),e}function a8(t){if(t.startsWith(Ep)){let s=t.slice(Ep.length);return s.length===0?`${Ud}${mi}`:`${Ud}${fI(s)}${mi}`}let e=gI(t);if(!e)return t;let n=`${Px.repeat(e.lines-1)}${Ix}`,r=t.slice(e.bodyStart);return r.length===0?`${n}${mi}`:`${n}${fI(r)}${mi}`}function c8(t){let e=t.split(`
|
|
581
|
+
`);return e.length>1&&e[e.length-1]===""&&e.pop(),e}function l8(t){if(t.startsWith(Ep))return t.slice(Ep.length);let e=gI(t);if(e)return t.slice(e.bodyStart);if(d8(t))return t}function d8(t){for(let e=0;e<t.length;e+=1){let o=t[e];if(o==="\x1B"&&t[e+1]==="["){let n=e+2;for(;n<t.length&&t[n]>="0"&&t[n]<="?";)n+=1;for(;n<t.length&&t[n]>=" "&&t[n]<="/";)n+=1;e=n;continue}return!0}return!1}function u8(){let t;return{transform:n=>{let r=l8(n);if(r===void 0)return n;if(r.length===0)return t=void 0,`${Ud}${mi}`;let s=c8(r);if(t===void 0)return t=s,`${Ud}${s.join(`${Bd}
|
|
582
|
+
`)}${mi}`;let i="",a=Math.max(t.length,s.length);for(let l=0;l<s.length;l+=1){let d=s[l]??"";t[l]!==d&&(i+=`${mI(l+1)}${d}${Bd}`)}s.length<t.length&&(i+=`${mI(s.length+1)}${mi}`),t=s;let c=i8(r);return`${i}${s8(c.row,c.col)}`},reset:()=>{t=void 0}}}function yI(t,e={}){let o=e.sync??!0,n=e.overwrite??!0,r=!1,s=!1,i=u8(),a=((u,h,g)=>{let b=typeof h=="function"?h:g,y=typeof h=="string"?h:void 0;if(u==null||(typeof u=="string"?u.length===0:u.byteLength===0))return t.write(u,y,b);let R=typeof u=="string"?u:Buffer.from(u).toString("utf8"),A=n?s?i.transform(R):a8(R):R,L=o?`${o8}${A}${uI}`:A;return t.write(L,b)});return{stdout:new Proxy(t,{get(u,h,g){if(h==="write")return a;let b=Reflect.get(u,h,g);return typeof b=="function"?b.bind(u):b}}),cleanup:()=>{if(!r&&(r=!0,!!o))try{t.write(uI)}catch{}},setCockpit:u=>{u&&i.reset(),s=u},resetDiffer:()=>{i.reset()}}}var o8,uI,$n,Ap,Px,Ix,Bd,mi,n8,r8,Ud,Ep,bI=p(()=>{"use strict";eo();o8="\x1B[?2026h",uI="\x1B[?2026l",$n="\x1B[",Ap=`${$n}2K`,Px=`${$n}1A`,Ix=`${$n}G`,Bd=`${$n}K`,mi=`${$n}J`,n8=`${$n}2J`,r8=`${$n}3J`,Ud=`${$n}H`,Ep=`${n8}${r8}${Ud}`});function SI(t){try{t.write(m8)}catch{}let e=!1;return{disable:()=>{if(!e){e=!0;try{t.write(f8)}catch{}}}}}function p8(t){let e=t.replace(/\r\n?/g,`
|
|
583
|
+
`),o="";for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);if(r===10||r===9){o+=e[n];continue}r<=31||r===127||(o+=e[n])}return o}function wI(t,e){return t.open?((e.includes(vI)||e.startsWith(kI))&&(t.open=!1),!0):e.includes(h8)?(t.open=!(e.includes(vI)||e.includes(kI)),!0):!1}function xI(t,e){let o=Math.min(t.length,e.length-1);for(let n=o;n>0;n-=1)if(t.slice(t.length-n)===e.slice(0,n))return n;return 0}function AI(){let t=!1,e="",o="";return{feed:s=>{let i=[],a=o+s;o="";let c="",l=()=>{c.length>0&&(i.push({kind:"passthrough",data:c}),c="")};for(;a.length>0;){if(!t){let m=a.indexOf(Tp);if(m===-1){let u=xI(a,Tp);u>0?(c+=a.slice(0,a.length-u),o=a.slice(a.length-u)):c+=a,a="";break}c+=a.slice(0,m),t=!0,e="",a=a.slice(m+Tp.length);continue}let d=a.indexOf(jd);if(d===-1){let m=xI(a,jd);m>0?(e+=a.slice(0,a.length-m),o=a.slice(a.length-m)):e+=a,a="";break}e+=a.slice(0,d),l(),i.push({kind:"paste",text:p8(e)}),t=!1,e="",a=a.slice(d+jd.length)}return l(),i},isInPaste:()=>t}}var m8,f8,Tp,jd,h8,vI,kI,Nx=p(()=>{"use strict";m8="\x1B[?2004h",f8="\x1B[?2004l",Tp="\x1B[200~",jd="\x1B[201~";h8=Tp.slice(1),vI=jd,kI=jd.slice(1)});function TI(t){let e=t.replace(/\s+/g," ").trim();if(Ee(e)<=EI)return e;let o=EI-1,n="",r=0;for(let s of e){let i=Ee(s);if(r+i>o)break;n+=s,r+=i}return n+"\u2026"}function g8(t){let e=/(?:^|\s)--cor=(\S+)/i.exec(t);if(e)return{rest:t.replace(e[0]," ").replace(/\s+/g," ").trim(),color:e[1]};let o=/(?:^|\s)--cor(?=\s|$)(?:\s+(\S+))?/i.exec(t);return o?{rest:t.replace(o[0]," ").replace(/\s+/g," ").trim(),color:o[1]??""}:{rest:t.trim()}}function Dx(t){let{rest:e,color:o}=g8(t),n=e.trim();if(n===""&&o===void 0)return{kind:"show"};if(o===void 0&&/^(--limpar|limpar|--clear|clear)$/i.test(n))return{kind:"clear"};if(o!==void 0&&n==="")return{kind:"error",message:"a cor identifica um nome \u2014 use `/rename <nome> --cor <cor>`."};let r;if(o!==void 0){if(o===""||!kO(o))return{kind:"error",message:`cor inv\xE1lida${o?`: "${o}"`:""}. cores v\xE1lidas: ${fa.join(", ")}.`};r=o.trim().toLowerCase()}else r=Pv(TI(n));return{kind:"set",label:{label:TI(n),color:r}}}function _I(t,e,o){let n=(t??"").trim();if(n!=="/rename"&&!n.startsWith("/rename "))return!1;let r=n==="/rename"?"":n.slice(8),s=Dx(r);switch(s.kind){case"set":return o.setLabel(s.label.label,s.label.color),o.persist(),e.write(`[rename] sess\xE3o: \u25CF ${s.label.label} (cor: ${s.label.color})
|
|
584
584
|
`),!0;case"clear":return o.setLabel(void 0),o.persist(),e.write(`[rename] r\xF3tulo removido \u2014 a sess\xE3o volta sem nome.
|
|
585
585
|
`),!0;case"show":return o.currentLabel!==void 0?e.write(`[rename] sess\xE3o: \u25CF ${o.currentLabel}${o.currentColor?` (${o.currentColor})`:""}
|
|
586
586
|
`):e.write(`[rename] sem r\xF3tulo. use \`/rename <nome> [--cor <cor>]\`. cores: ${fa.join(", ")}.
|
|
587
587
|
`),!0;case"error":return e.write(`[rename] ${s.message}
|
|
588
|
-
`),!0}}var EI,RI=p(()=>{"use strict";kf();eo();EI=32});function y3(t){return`\x1B]0;${Array.from(t).filter(o=>{let n=o.charCodeAt(0);return n>=32&&n!==127}).join("").replace(/\s+/g," ").trim()}\x07`}function $x(t,e=process.stdout){if(e.isTTY)try{e.write(t!==void 0&&t.trim()!==""?y3(t):b3)}catch{}}var b3,CI=p(()=>{"use strict";b3="\x1B]0;\x07"});var _p,Fx=p(()=>{"use strict";_p={"composer.placeholder":"digite um objetivo ou /comando\u2026","composer.shellHint":"\u203A atr\xE1s da catraca \xB7 Enter roda \xB7 catraca pergunta no efeito","composer.moreLines":"linhas","hints.idle":"enter envia \xB7 / comandos \xB7 ctrl-p paleta \xB7 \u2191 hist\xF3rico \xB7 ctrl-c\xD72 sair","hints.thinking":"esc interromper \xB7 ctrl-c\xD72 sair","hints.streaming":"esc interromper \xB7 ctrl-c\xD72 sair","hints.ask":"a aprova \xB7 s sempre \xB7 n nega \xB7 e edita \xB7 esc cancela","hints.askDestructive":"n nega (recomendado) \xB7 a aprova mesmo assim \xB7 esc cancela","hints.slash":"\u2191\u2193 navega \xB7 enter executa \xB7 esc fecha","hints.palette":"digite p/ buscar \xB7 \u2191\u2193 navega \xB7 enter executa \xB7 esc fecha","hints.budget":"c continua \xB7 n encerra","hints.error":"r tentar \xB7 esc cancela","hints.workSubagents":"esc para o pai \xB7 F8 para tudo \xB7 ctrl-t ver/parar \xB7 ctrl-c\xD72 sair","hints.idleSubagents":"enter envia \xB7 F8 para os sub-agentes \xB7 ctrl-t ver/parar \xB7 ctrl-c\xD72 sair","hints.ctrlcAgain":"pressione ctrl-c de novo para sair","hints.cockpit":"tab foca \xB7 pgup/pgdn rola \xB7 ctrl-s exporta \xB7 /fullscreen sai \xB7 ctrl-c\xD72 sair","cockpit.conversa":"conversa","cockpit.log":"log","cockpit.welcomeTitle":"\u039Bluy \u2014 cockpit","cockpit.welcomeHint":"digite um objetivo abaixo para come\xE7ar \xB7 /help \xB7 /fullscreen sai","cockpit.entered":"modo cockpit (tela cheia) \u2014 tab alterna conversa\u21C4log \xB7 pgup/pgdn rola \xB7 ctrl-s exporta \xB7 /fullscreen sai","cockpit.left":"modo inline restaurado (scrollback nativo).","cockpit.refuseNarrow":"terminal estreito (<80 col): cockpit indispon\xEDvel, usando inline.","cockpit.refuseShort":"terminal baixo (poucas linhas): cockpit indispon\xEDvel, usando inline.","cockpit.exported":"transcript exportado (redigido) para","mode.label":"modo","mode.plan.caption":"read-only \u2014 s\xF3 leitura, nenhum efeito","mode.normal.caption":"catraca padr\xE3o (aprova\xE7\xE3o por efeito)","mode.unsafe.caption":"aprova\xE7\xE3o DESLIGADA","banner.yolo":"MODO YOLO \u2014 aprova\xE7\xE3o DESLIGADA, o agente roda QUALQUER comando sem perguntar","banner.yolo.narrow":"MODO YOLO \u2014 aprova\xE7\xE3o DESLIGADA","statusbar.brokerError":"erro de broker","statusbar.window":"janela","statusbar.session":"sess\xE3o","statusbar.quota":"quota","boot.broker":"broker","boot.tagline":"Aluy Cli \xB7 agente de terminal","boot.connecting":"conectando","boot.entering":"entrando","picker.theme.help":"trocar tema \xB7 \u2191\u2193 navega \xB7 enter troca \xB7 esc fecha","picker.lang.help":"trocar idioma \xB7 \u2191\u2193 navega \xB7 enter troca \xB7 esc fecha","picker.provider.help":"setar o provider do modelo Custom \xB7 \u2191\u2193 navega \xB7 enter seta \xB7 esc fecha","picker.provider.default":"padr\xE3o","picker.provider.fallback":"\u26A0 n\xE3o foi poss\xEDvel listar os cadastrados \u2014 mostrando os conhecidos","picker.provider.more":"\u2026 {count} providers a mais (\u2191\u2193 rola)","picker.model.help":"trocar modelo \xB7 \u2191\u2193 navega \xB7 enter seleciona \xB7 esc fecha","picker.model.loading":"carregando tiers do broker\u2026","picker.model.customLine":"navegar/filtrar os modelos","picker.model.fallback":"cat\xE1logo do broker indispon\xEDvel \u2014 mostrando os tiers conhecidos","picker.model.browseHelp":"modelos Custom \xB7 digite p/ filtrar \xB7 \u2191\u2193 navega \xB7 ^T s\xF3-tools \xB7 enter seleciona \xB7 esc volta","picker.model.browseCount":"{filtered} de {total}","picker.model.toolsOnlySuffix":" \xB7 s\xF3 com tools","picker.model.moreAbove":"\u2191 mais acima","picker.model.moreBelow":"\u2193 mais abaixo","picker.model.noFilterMatch":"nenhum modelo casa o filtro \u2014 enter usa o texto digitado (slug livre)","picker.model.noTools":"\u26A0 este modelo n\xE3o suporta ferramentas \u2014 o agente cai no parser de texto / pode n\xE3o usar MCP/tools bem","picker.model.freeHelp":"modelo Custom \xB7 digite/cole o slug \xB7 enter confirma \xB7 esc cancela","picker.model.outOfCatalog":"\u26A0 fora do cat\xE1logo curado \u2014 pode ter custo/qualidade vari\xE1vel (enter usa assim mesmo)","picker.effort.help":"esfor\xE7o de racioc\xEDnio \xB7 \u2191\u2193 navega \xB7 enter aplica \xB7 esc volta","picker.effort.keep":"manter (n\xE3o mudar o esfor\xE7o atual)","picker.effort.low":"low (baixo)","picker.effort.medium":"medium (m\xE9dio)","picker.effort.high":"high (alto)","picker.effort.custom":"custom (digitar um valor)","picker.effort.customHelp":"esfor\xE7o custom \xB7 digite o valor \xB7 enter confirma \xB7 esc volta","picker.effort.warnEmpty":"\u26A0 digite um valor (n\xE3o pode ser vazio)","picker.effort.warnTooLong":"\u26A0 no m\xE1ximo 32 caracteres","picker.history.help":"retomar sess\xE3o \xB7 \u2191\u2193 navega \xB7 enter retoma \xB7 esc cancela","picker.history.empty":"nenhuma sess\xE3o anterior","picker.history.more":"\u2026 {count} sess\xF5es a mais (\u2191\u2193 rola)","picker.rewind.help":"voltar a um ponto \xB7 \u2191\u2193 navega \xB7 enter escolhe \xB7 esc cancela","picker.rewind.empty":"nenhum ponto de restaura\xE7\xE3o nesta sess\xE3o","picker.rewind.more":"\u2026 {count} pontos a mais (\u2191\u2193 rola)","picker.rewind.action.help":"o que restaurar? \xB7 \u2191\u2193 navega \xB7 enter confirma \xB7 esc volta","picker.rewind.action.both":"c\xF3digo + conversa","picker.rewind.action.conversation":"s\xF3 a conversa","picker.rewind.action.code":"s\xF3 o c\xF3digo","picker.rewind.barrier.warn":"comando(s) rodaram depois deste ponto \u2014 o efeito de shell N\xC3O \xE9 desfeito","picker.file.help":"@ para anexar arquivo \xB7 \u2191\u2193 navega \xB7 enter anexa \xB7 esc fecha","picker.file.empty":'nenhum arquivo casa "{query}"',"picker.file.more":"\u2026 {count} arquivos a mais (refine o filtro)","picker.palette.help":"\u2318 comandos \xB7 \u2191\u2193 navega \xB7 enter executa \xB7 esc fecha","picker.palette.search":"buscar comando\u2026","picker.palette.empty":'nenhum comando casa "{query}"',"picker.palette.more":"\u2026 {count} comandos a mais (refine a busca)","lang.changed":"idioma trocado para {label}","lang.unknown":"idioma desconhecido: {input}","lang.current":"idioma atual: {label}","lang.listTitle":"idiomas dispon\xEDveis","cmd.help":"mostra esta lista","cmd.login":"entrar na conta","cmd.logout":"sair da conta","cmd.whoami":"conta, org e escopos atuais","cmd.model":"trocar o tier","cmd.provider":"seta o provider do modelo Custom","cmd.effort":"seta o reasoning_effort (low/medium/high/custom) \xB7 passthrough \u226432 chars","cmd.theme":"trocar o tema (dark/light) \xB7 auto-detecta no boot","cmd.lang":"trocar o idioma (pt-BR/en) \xB7 auto-detecta no boot","cmd.usage":"tokens e janela desta sess\xE3o","cmd.rename":"d\xE1 um nome + cor de identifica\xE7\xE3o \xE0 sess\xE3o \xB7 \u25CFnome no composer","cmd.history":"navega e RETOMA uma sess\xE3o anterior \xB7 sem sair do aluy","cmd.notify":"liga/desliga o sino de aten\xE7\xE3o (on/off)","cmd.undo":"desfaz a \xFAltima edi\xE7\xE3o de arquivo do agente","cmd.redo":"refaz a \xFAltima edi\xE7\xE3o desfeita","cmd.rewind":"volta a um ponto da sess\xE3o (c\xF3digo e/ou conversa) \xB7 Esc Esc","cmd.clear":"limpa a sess\xE3o (contexto) \xB7 full tamb\xE9m APAGA a mem\xF3ria do agente","cmd.compact":"compacta o contexto (resume a conversa e continua)","cmd.cycle":"roda uma tarefa em ciclos \xB7 com tetos duros e parada (anti-runaway)","cmd.permissions":"painel \xB7 modo, grants e tools seguras (sempre-ask travado)","cmd.addDir":"autoriza um diret\xF3rio EXTRA p/ o agente (sess\xE3o) \xB7 sem args lista","cmd.init":"cria um AGENT.md neste projeto","cmd.memory":"v\xEA/edita/esquece/fixa a mem\xF3ria do agente (global + projeto)","cmd.mcp":"lista/gerencia servers MCP (add/remove/disable/enable \xB7 search <termo>)","cmd.doctor":"diagn\xF3stico da instala\xE7\xE3o \xB7 credencial, broker, MCP, config (read-only)","cmd.fullscreen":"modo cockpit (tela cheia, alt-screen)","cmd.quit":"sair do aluy","cmd.workflows":"fluxos de atividades que coordenam o agente \u2014 lista, executa e ativa","cmd.tools":"invent\xE1rio unificado das ferramentas \xB7 nativas, MCP, permiss\xE3o (read-only)","cmd.todo":"v\xEA/gerencia o backlog de tarefas anotadas (done/clear)"}});var Bx,Ux=p(()=>{"use strict";Bx={"composer.placeholder":"type a goal or /command\u2026","composer.shellHint":"\u203A behind the gate \xB7 Enter runs \xB7 the gate asks on effect","composer.moreLines":"lines","hints.idle":"enter sends \xB7 / commands \xB7 ctrl-p palette \xB7 \u2191 history \xB7 ctrl-c\xD72 quit","hints.thinking":"esc interrupt \xB7 ctrl-c\xD72 quit","hints.streaming":"esc interrupt \xB7 ctrl-c\xD72 quit","hints.ask":"a approve \xB7 s always \xB7 n deny \xB7 e edit \xB7 esc cancel","hints.askDestructive":"n deny (recommended) \xB7 a approve anyway \xB7 esc cancel","hints.slash":"\u2191\u2193 navigate \xB7 enter run \xB7 esc close","hints.palette":"type to search \xB7 \u2191\u2193 navigate \xB7 enter run \xB7 esc close","hints.budget":"c continue \xB7 n end","hints.error":"r retry \xB7 esc cancel","hints.workSubagents":"esc stops the parent \xB7 F8 stops all \xB7 ctrl-t view/stop \xB7 ctrl-c\xD72 quit","hints.idleSubagents":"enter sends \xB7 F8 stops the sub-agents \xB7 ctrl-t view/stop \xB7 ctrl-c\xD72 quit","hints.ctrlcAgain":"press ctrl-c again to quit","hints.cockpit":"tab focuses \xB7 pgup/pgdn scroll \xB7 ctrl-s export \xB7 /fullscreen exits \xB7 ctrl-c\xD72 quit","cockpit.conversa":"conversation","cockpit.log":"log","cockpit.welcomeTitle":"\u039Bluy \u2014 cockpit","cockpit.welcomeHint":"type a goal below to get started \xB7 /help \xB7 /fullscreen exits","cockpit.entered":"cockpit mode (full screen) \u2014 tab switches chat\u21C4log \xB7 pgup/pgdn scroll \xB7 ctrl-s export \xB7 /fullscreen exits","cockpit.left":"inline mode restored (native scrollback).","cockpit.refuseNarrow":"narrow terminal (<80 col): cockpit unavailable, using inline.","cockpit.refuseShort":"short terminal (too few rows): cockpit unavailable, using inline.","cockpit.exported":"transcript exported (redacted) to","mode.label":"mode","mode.plan.caption":"read-only \u2014 view only, no effects","mode.normal.caption":"default gate (approval on effect)","mode.unsafe.caption":"approval OFF","banner.yolo":"YOLO MODE \u2014 approval OFF, the agent runs ANY command without asking","banner.yolo.narrow":"YOLO MODE \u2014 approval OFF","statusbar.brokerError":"broker error","statusbar.window":"window","statusbar.session":"session","statusbar.quota":"quota","boot.broker":"broker","boot.tagline":"Aluy Cli \xB7 terminal agent","boot.connecting":"connecting","boot.entering":"signing in","picker.theme.help":"change theme \xB7 \u2191\u2193 navigate \xB7 enter switch \xB7 esc close","picker.lang.help":"change language \xB7 \u2191\u2193 navigate \xB7 enter switch \xB7 esc close","picker.provider.help":"set the Custom model provider \xB7 \u2191\u2193 navigate \xB7 enter set \xB7 esc close","picker.provider.default":"default","picker.provider.fallback":"\u26A0 could not list the registered ones \u2014 showing the known providers","picker.provider.more":"\u2026 {count} more providers (\u2191\u2193 scroll)","picker.model.help":"change model \xB7 \u2191\u2193 navigate \xB7 enter select \xB7 esc close","picker.model.loading":"loading tiers from the broker\u2026","picker.model.customLine":"browse/filter the models","picker.model.fallback":"broker catalog unavailable \u2014 showing the known tiers","picker.model.browseHelp":"Custom models \xB7 type to filter \xB7 \u2191\u2193 navigate \xB7 ^T tools-only \xB7 enter select \xB7 esc back","picker.model.browseCount":"{filtered} of {total}","picker.model.toolsOnlySuffix":" \xB7 tools only","picker.model.moreAbove":"\u2191 more above","picker.model.moreBelow":"\u2193 more below","picker.model.noFilterMatch":"no model matches the filter \u2014 enter uses the typed text (free slug)","picker.model.noTools":"\u26A0 this model doesn't support tools \u2014 the agent falls back to the text parser / may not use MCP/tools well","picker.model.freeHelp":"Custom model \xB7 type/paste the slug \xB7 enter confirm \xB7 esc cancel","picker.model.outOfCatalog":"\u26A0 outside the curated catalog \u2014 cost/quality may vary (enter uses it anyway)","picker.effort.help":"reasoning effort \xB7 \u2191\u2193 navigate \xB7 enter apply \xB7 esc back","picker.effort.keep":"keep (do not change the current effort)","picker.effort.low":"low","picker.effort.medium":"medium","picker.effort.high":"high","picker.effort.custom":"custom (type a value)","picker.effort.customHelp":"custom effort \xB7 type the value \xB7 enter confirm \xB7 esc back","picker.effort.warnEmpty":"\u26A0 type a value (cannot be empty)","picker.effort.warnTooLong":"\u26A0 at most 32 characters","picker.history.help":"resume session \xB7 \u2191\u2193 navigate \xB7 enter resume \xB7 esc cancel","picker.history.empty":"no previous session","picker.history.more":"\u2026 {count} more sessions (\u2191\u2193 scroll)","picker.rewind.help":"rewind to a point \xB7 \u2191\u2193 navigate \xB7 enter choose \xB7 esc cancel","picker.rewind.empty":"no restore point in this session","picker.rewind.more":"\u2026 {count} more points (\u2191\u2193 scroll)","picker.rewind.action.help":"restore what? \xB7 \u2191\u2193 navigate \xB7 enter confirm \xB7 esc back","picker.rewind.action.both":"code + conversation","picker.rewind.action.conversation":"conversation only","picker.rewind.action.code":"code only","picker.rewind.barrier.warn":"command(s) ran after this point \u2014 shell effects are NOT undone","picker.file.help":"@ to attach a file \xB7 \u2191\u2193 navigate \xB7 enter attach \xB7 esc close","picker.file.empty":'no file matches "{query}"',"picker.file.more":"\u2026 {count} more files (refine the filter)","picker.palette.help":"\u2318 commands \xB7 \u2191\u2193 navigate \xB7 enter run \xB7 esc close","picker.palette.search":"search command\u2026","picker.palette.empty":'no command matches "{query}"',"picker.palette.more":"\u2026 {count} more commands (refine the search)","lang.changed":"language changed to {label}","lang.unknown":"unknown language: {input}","lang.current":"current language: {label}","lang.listTitle":"available languages","cmd.help":"show this list","cmd.login":"sign in","cmd.logout":"sign out","cmd.whoami":"current account, org and scopes","cmd.model":"switch the tier","cmd.provider":"set the Custom model provider","cmd.effort":"set the reasoning_effort (low/medium/high/custom) \xB7 passthrough \u226432 chars","cmd.theme":"switch the theme (dark/light) \xB7 auto-detected on boot","cmd.lang":"switch the language (pt-BR/en) \xB7 auto-detected on boot","cmd.usage":"tokens and window for this session","cmd.rename":"name + color-tag the session \xB7 \u25CFname in the composer","cmd.history":"browse and RESUME a previous session \xB7 without leaving aluy","cmd.notify":"toggle the attention bell (on/off)","cmd.undo":"undo the agent's last file edit","cmd.redo":"redo the last undone edit","cmd.rewind":"rewind the session to a point (code and/or conversation) \xB7 Esc Esc","cmd.clear":"clear the session (context) \xB7 full also WIPES the agent's memory","cmd.compact":"compact the context (summarize the conversation and continue)","cmd.cycle":"run a task in cycles \xB7 with hard caps and a stop (anti-runaway)","cmd.permissions":"panel \xB7 mode, grants and safe tools (always-ask locked)","cmd.addDir":"authorize an EXTRA directory for the agent (session) \xB7 no args lists","cmd.init":"create an AGENT.md in this project","cmd.memory":"view/edit/forget/pin the agent's memory (global + project)","cmd.mcp":"list/manage MCP servers (add/remove/disable/enable \xB7 search <term>)","cmd.doctor":"diagnose the install \xB7 credential, broker, MCP, config (read-only)","cmd.fullscreen":"cockpit mode (full screen, alt-screen)","cmd.quit":"quit aluy","cmd.workflows":"list mapped .md workflows (global + project \xB7 valid + rejected)","cmd.todo":"list the backlog (the agent notes items; done <id> / clear)"}});function MI(t,e){return e===void 0?t:t.replace(/\{(\w+)\}/g,(o,n)=>{let r=e[n];return r===void 0?o:String(r)})}function LI(t,e){let n=v3[t][e];if(n!==void 0)return n;let r=k3[e];return r!==void 0?r:(x3(e),e)}function as(t,e,o){return MI(LI(t,e),o)}function fi(t=In){return{lang:t,t:(e,o)=>as(t,e,o)}}function x3(t){process.env.NODE_ENV!=="production"&&(OI.has(t)||(OI.add(t),console.warn(`[i18n] missing key (no catalog entry): ${t}`)))}var v3,k3,OI,jx=p(()=>{"use strict";pa();Fx();Ux();v3={"pt-BR":_p,en:Bx},k3=_p;OI=new Set});import{createContext as S3,useContext as w3}from"react";import{jsx as A3}from"react/jsx-runtime";function Hx(t){return A3(PI.Provider,{value:t.value,children:t.children})}function ve(){return w3(PI)}var PI,II=p(()=>{"use strict";jx();pa();PI=S3(fi(In))});var ut=p(()=>{"use strict";pa();Fx();Ux();jx();II()});import"react";import{Box as qx,Text as NI}from"ink";import{Fragment as cs,jsx as tt,jsxs as to}from"react/jsx-runtime";function E3(t){return to(qx,{children:[tt(f,{name:"fg",children:$I}),t.sub!==void 0&&t.sub!==""?to(cs,{children:[tt(f,{name:"fgDim",children:" \xB7 "}),tt(f,{name:"fgDim",children:t.sub})]}):to(cs,{children:[tt(f,{name:"fgDim",children:" \xB7 Terminal "}),t.version!==void 0&&t.version!==""&&to(f,{name:"depth",children:["v",t.version]})]}),!t.narrow&&to(cs,{children:[tt(f,{name:"fgDim",children:" \xB7 "}),tt(P,{name:"broker",role:"depth"}),to(f,{name:"depth",children:[" ",t.backend==="local"?"local":"broker"]})]}),t.error&&to(cs,{children:[tt(f,{name:"fgDim",children:" \xB7 "}),tt(P,{name:"ask",role:"danger"})]})]})}function T3(t){return to(qx,{children:[tt(P,{name:"aluy",role:"accent"}),tt(NI,{children:" "}),tt(f,{name:"fg",children:$I}),t.sub!==void 0&&t.sub!==""&&to(cs,{children:[tt(f,{name:"fgDim",children:" \xB7 "}),tt(f,{name:"fgDim",children:t.sub})]}),!t.narrow&&t.version!==void 0&&t.version!==""&&to(cs,{children:[tt(NI,{children:" "}),to(f,{name:"depth",children:["v",t.version]})]}),tt(f,{name:"fgDim",children:" \xB7 "}),tt(f,{name:"fg",children:t.tier}),!t.narrow&&to(cs,{children:[tt(f,{name:"fgDim",children:" \xB7 "}),tt(P,{name:"broker",role:"depth"}),to(f,{name:"depth",children:[" ",t.backend==="local"?"local":"broker"]})]}),t.error&&to(cs,{children:[tt(f,{name:"fgDim",children:" \xB7 "}),tt(P,{name:"ask",role:"danger"})]})]})}function Hd(t){let e=ne(),o=t.columns??80,n=t.rows??24,r=o<60;return e.density!=="compact"&&!r&&n>=DI?to(qx,{flexDirection:"column",children:[tt(Er,{columns:o}),tt(E3,{...t.sub!==void 0?{sub:t.sub}:{},...t.version!==void 0?{version:t.version}:{},...t.backend!==void 0?{backend:t.backend}:{},narrow:r,error:t.error})]}):tt(T3,{tier:t.tier,...t.sub!==void 0?{sub:t.sub}:{},...t.version!==void 0?{version:t.version}:{},...t.backend!==void 0?{backend:t.backend}:{},narrow:r,error:t.error})}var DI,$I,FI=p(()=>{"use strict";ae();ui();DI=Tx+13,$I="Aluy Cli"});import"react";import{Box as _3,Text as qd}from"ink";import{Fragment as pi,jsx as oo,jsxs as ht}from"react/jsx-runtime";function R3(t){return t>90?"danger":t>=75?"accent":"fgDim"}function C3(t){return t>=100?"danger":t>=tg?"accent":"fgDim"}function O3(t){return t==="crit"?"danger":t==="warn"?"accent":"fgDim"}function Wd(t){let{t:e}=ve(),o=R3(t.windowPct),n=t.budgetPct!==void 0,r=n?C3(t.budgetPct):"fgDim",s=n&&t.budgetPct>=tg,a=t.isDefaultTier??!0?"fg":"accent",c=(t.columns??80)<60,l=!c,d=!c,m=!c,u=(t.columns??BI)>=BI,h=t.quotaPct!==void 0,g=O3(t.quotaLevel??"ok");return ht(_3,{children:[oo(P,{name:"clock",role:a}),ht(f,{name:a,children:[" ",t.tier]}),t.model!==void 0&&t.model!==""&&u&&ht(pi,{children:[oo(f,{name:"fgDim",children:" \xB7 "}),oo(f,{name:"depth",children:t.model})]}),t.focus!==void 0&&t.focus!==""&&ht(f,{name:"accent",children:[" \u25CE foco: ",t.focus]}),m&&ht(pi,{children:[oo(qd,{children:" "}),t.branch!==void 0&&t.branch!==""&&ht(pi,{children:[oo(P,{name:"branch",role:"fgDim"}),ht(f,{name:"fgDim",children:[" ",t.branch," "]})]}),oo(f,{name:"fgDim",children:t.cwd})]}),oo(qd,{children:" "}),oo(P,{name:"window",role:o}),ht(f,{name:o,children:[" ",t.windowPct,"%"]}),l&&ht(f,{name:"fgDim",children:[" ",e("statusbar.window")]}),oo(qd,{children:" "}),oo(P,{name:"gauge",role:r}),n?ht(pi,{children:[ht(f,{name:r,children:[" ",t.budgetPct,"%"]}),s&&oo(f,{name:"accent",children:" \u26A0"}),l&&ht(f,{name:"fgDim",children:[" ",e("statusbar.session")]}),d&&ht(f,{name:"fgDim",children:[" (",Ot(t.tokens),")"]})]}):ht(pi,{children:[ht(f,{name:"fgDim",children:[" ",Ot(t.tokens)]}),l&&ht(f,{name:"fgDim",children:[" ",e("statusbar.session")]})]}),h&&ht(pi,{children:[oo(qd,{children:" "}),oo(P,{name:"gauge",role:g}),ht(f,{name:g,children:[" ",t.quotaPct,"%"]}),l&&ht(f,{name:"fgDim",children:[" ",e("statusbar.quota")]})]}),t.error&&ht(pi,{children:[oo(qd,{children:" "}),oo(P,{name:"ask",role:"danger"})]})]})}var BI,UI=p(()=>{"use strict";D();ae();gn();ut();BI=90});function At(t,e){return e<0?0:e>t.length?t.length:e}function jI(t,e){if(e<2)return!1;let o=t.charCodeAt(e-1),n=t.charCodeAt(e-2);return o>=56320&&o<=57343&&n>=55296&&n<=56319}function M3(t,e){if(e+1>=t.length)return!1;let o=t.charCodeAt(e),n=t.charCodeAt(e+1);return o>=55296&&o<=56319&&n>=56320&&n<=57343}function hi(t,e){let o=At(t.text,t.cursor);return{text:t.text.slice(0,o)+e+t.text.slice(o),cursor:o+e.length}}function Wx(t){let e=At(t.text,t.cursor);if(e===0)return{text:t.text,cursor:0};let o=jI(t.text,e)?2:1;return{text:t.text.slice(0,e-o)+t.text.slice(e),cursor:e-o}}function Gx(t){let e=At(t.text,t.cursor),o=jI(t.text,e)?2:1;return At(t.text,e-o)}function zx(t){let e=At(t.text,t.cursor),o=M3(t.text,e)?2:1;return At(t.text,e+o)}function HI(t){let e=At(t.text,t.cursor);return{text:t.text.slice(e),cursor:0}}function qI(t){let e=At(t.text,t.cursor);return{text:t.text.slice(0,e),cursor:e}}function WI(t){let e=At(t.text,t.cursor),o=zd({text:t.text,cursor:e});return{text:t.text.slice(0,o)+t.text.slice(e),cursor:o}}function GI(t){if(t.includes("\x1B[H")||t.includes("\x1BOH")||t.includes("\x1B[1~")||t.includes("\x1B[7~"))return"home";if(t.includes("\x1B[F")||t.includes("\x1BOF")||t.includes("\x1B[4~")||t.includes("\x1B[8~"))return"end"}function zI(t,e){return t.length>0?"clear":e?"exit":"arm"}function Gd(t,e){let o=t;for(let n=0;n<e.length;n++){let r=e[n];if(r==="\r"||r===`
|
|
589
|
-
`)return{state:o,newlineIndex:n,newline:r};if(r===
|
|
588
|
+
`),!0}}var EI,RI=p(()=>{"use strict";kf();eo();EI=32});function y8(t){return`\x1B]0;${Array.from(t).filter(o=>{let n=o.charCodeAt(0);return n>=32&&n!==127}).join("").replace(/\s+/g," ").trim()}\x07`}function $x(t,e=process.stdout){if(e.isTTY)try{e.write(t!==void 0&&t.trim()!==""?y8(t):b8)}catch{}}var b8,CI=p(()=>{"use strict";b8="\x1B]0;\x07"});var _p,Fx=p(()=>{"use strict";_p={"composer.placeholder":"digite um objetivo ou /comando\u2026","composer.shellHint":"\u203A atr\xE1s da catraca \xB7 Enter roda \xB7 catraca pergunta no efeito","composer.moreLines":"linhas","hints.idle":"enter envia \xB7 / comandos \xB7 ctrl-p paleta \xB7 \u2191 hist\xF3rico \xB7 ctrl-c\xD72 sair","hints.thinking":"esc interromper \xB7 ctrl-c\xD72 sair","hints.streaming":"esc interromper \xB7 ctrl-c\xD72 sair","hints.ask":"a aprova \xB7 s sempre \xB7 n nega \xB7 e edita \xB7 esc cancela","hints.askDestructive":"n nega (recomendado) \xB7 a aprova mesmo assim \xB7 esc cancela","hints.slash":"\u2191\u2193 navega \xB7 enter executa \xB7 esc fecha","hints.palette":"digite p/ buscar \xB7 \u2191\u2193 navega \xB7 enter executa \xB7 esc fecha","hints.budget":"c continua \xB7 n encerra","hints.error":"r tentar \xB7 esc cancela","hints.workSubagents":"esc para o pai \xB7 F8 para tudo \xB7 ctrl-t ver/parar \xB7 ctrl-c\xD72 sair","hints.idleSubagents":"enter envia \xB7 F8 para os sub-agentes \xB7 ctrl-t ver/parar \xB7 ctrl-c\xD72 sair","hints.ctrlcAgain":"pressione ctrl-c de novo para sair","hints.cockpit":"tab foca \xB7 pgup/pgdn rola \xB7 ctrl-s exporta \xB7 /fullscreen sai \xB7 ctrl-c\xD72 sair","cockpit.conversa":"conversa","cockpit.log":"log","cockpit.welcomeTitle":"\u039Bluy \u2014 cockpit","cockpit.welcomeHint":"digite um objetivo abaixo para come\xE7ar \xB7 /help \xB7 /fullscreen sai","cockpit.entered":"modo cockpit (tela cheia) \u2014 tab alterna conversa\u21C4log \xB7 pgup/pgdn rola \xB7 ctrl-s exporta \xB7 /fullscreen sai","cockpit.left":"modo inline restaurado (scrollback nativo).","cockpit.refuseNarrow":"terminal estreito (<80 col): cockpit indispon\xEDvel, usando inline.","cockpit.refuseShort":"terminal baixo (poucas linhas): cockpit indispon\xEDvel, usando inline.","cockpit.exported":"transcript exportado (redigido) para","mode.label":"modo","mode.plan.caption":"read-only \u2014 s\xF3 leitura, nenhum efeito","mode.normal.caption":"catraca padr\xE3o (aprova\xE7\xE3o por efeito)","mode.unsafe.caption":"aprova\xE7\xE3o DESLIGADA","banner.yolo":"MODO YOLO \u2014 aprova\xE7\xE3o DESLIGADA, o agente roda QUALQUER comando sem perguntar","banner.yolo.narrow":"MODO YOLO \u2014 aprova\xE7\xE3o DESLIGADA","statusbar.brokerError":"erro de broker","statusbar.window":"janela","statusbar.session":"sess\xE3o","statusbar.quota":"quota","boot.broker":"broker","boot.tagline":"Aluy Cli \xB7 agente de terminal","boot.connecting":"conectando","boot.entering":"entrando","picker.theme.help":"trocar tema \xB7 \u2191\u2193 navega \xB7 enter troca \xB7 esc fecha","picker.lang.help":"trocar idioma \xB7 \u2191\u2193 navega \xB7 enter troca \xB7 esc fecha","picker.provider.help":"setar o provider do modelo Custom \xB7 \u2191\u2193 navega \xB7 enter seta \xB7 esc fecha","picker.provider.default":"padr\xE3o","picker.provider.fallback":"\u26A0 n\xE3o foi poss\xEDvel listar os cadastrados \u2014 mostrando os conhecidos","picker.provider.more":"\u2026 {count} providers a mais (\u2191\u2193 rola)","picker.model.help":"trocar modelo \xB7 \u2191\u2193 navega \xB7 enter seleciona \xB7 esc fecha","picker.model.loading":"carregando tiers do broker\u2026","picker.model.customLine":"navegar/filtrar os modelos","picker.model.fallback":"cat\xE1logo do broker indispon\xEDvel \u2014 mostrando os tiers conhecidos","picker.model.browseHelp":"modelos Custom \xB7 digite p/ filtrar \xB7 \u2191\u2193 navega \xB7 ^T s\xF3-tools \xB7 enter seleciona \xB7 esc volta","picker.model.browseCount":"{filtered} de {total}","picker.model.toolsOnlySuffix":" \xB7 s\xF3 com tools","picker.model.moreAbove":"\u2191 mais acima","picker.model.moreBelow":"\u2193 mais abaixo","picker.model.noFilterMatch":"nenhum modelo casa o filtro \u2014 enter usa o texto digitado (slug livre)","picker.model.noTools":"\u26A0 este modelo n\xE3o suporta ferramentas \u2014 o agente cai no parser de texto / pode n\xE3o usar MCP/tools bem","picker.model.freeHelp":"modelo Custom \xB7 digite/cole o slug \xB7 enter confirma \xB7 esc cancela","picker.model.outOfCatalog":"\u26A0 fora do cat\xE1logo curado \u2014 pode ter custo/qualidade vari\xE1vel (enter usa assim mesmo)","picker.effort.help":"esfor\xE7o de racioc\xEDnio \xB7 \u2191\u2193 navega \xB7 enter aplica \xB7 esc volta","picker.effort.keep":"manter (n\xE3o mudar o esfor\xE7o atual)","picker.effort.low":"low (baixo)","picker.effort.medium":"medium (m\xE9dio)","picker.effort.high":"high (alto)","picker.effort.custom":"custom (digitar um valor)","picker.effort.customHelp":"esfor\xE7o custom \xB7 digite o valor \xB7 enter confirma \xB7 esc volta","picker.effort.warnEmpty":"\u26A0 digite um valor (n\xE3o pode ser vazio)","picker.effort.warnTooLong":"\u26A0 no m\xE1ximo 32 caracteres","picker.history.help":"retomar sess\xE3o \xB7 \u2191\u2193 navega \xB7 enter retoma \xB7 esc cancela","picker.history.empty":"nenhuma sess\xE3o anterior","picker.history.more":"\u2026 {count} sess\xF5es a mais (\u2191\u2193 rola)","picker.rewind.help":"voltar a um ponto \xB7 \u2191\u2193 navega \xB7 enter escolhe \xB7 esc cancela","picker.rewind.empty":"nenhum ponto de restaura\xE7\xE3o nesta sess\xE3o","picker.rewind.more":"\u2026 {count} pontos a mais (\u2191\u2193 rola)","picker.rewind.action.help":"o que restaurar? \xB7 \u2191\u2193 navega \xB7 enter confirma \xB7 esc volta","picker.rewind.action.both":"c\xF3digo + conversa","picker.rewind.action.conversation":"s\xF3 a conversa","picker.rewind.action.code":"s\xF3 o c\xF3digo","picker.rewind.barrier.warn":"comando(s) rodaram depois deste ponto \u2014 o efeito de shell N\xC3O \xE9 desfeito","picker.file.help":"@ para anexar arquivo \xB7 \u2191\u2193 navega \xB7 enter anexa \xB7 esc fecha","picker.file.empty":'nenhum arquivo casa "{query}"',"picker.file.more":"\u2026 {count} arquivos a mais (refine o filtro)","picker.palette.help":"\u2318 comandos \xB7 \u2191\u2193 navega \xB7 enter executa \xB7 esc fecha","picker.palette.search":"buscar comando\u2026","picker.palette.empty":'nenhum comando casa "{query}"',"picker.palette.more":"\u2026 {count} comandos a mais (refine a busca)","lang.changed":"idioma trocado para {label}","lang.unknown":"idioma desconhecido: {input}","lang.current":"idioma atual: {label}","lang.listTitle":"idiomas dispon\xEDveis","cmd.help":"mostra esta lista","cmd.login":"entrar na conta","cmd.logout":"sair da conta","cmd.whoami":"conta, org e escopos atuais","cmd.model":"trocar o tier","cmd.provider":"seta o provider do modelo Custom","cmd.effort":"seta o reasoning_effort (low/medium/high/custom) \xB7 passthrough \u226432 chars","cmd.theme":"trocar o tema (dark/light) \xB7 auto-detecta no boot","cmd.lang":"trocar o idioma (pt-BR/en) \xB7 auto-detecta no boot","cmd.usage":"tokens e janela desta sess\xE3o","cmd.rename":"d\xE1 um nome + cor de identifica\xE7\xE3o \xE0 sess\xE3o \xB7 \u25CFnome no composer","cmd.history":"navega e RETOMA uma sess\xE3o anterior \xB7 sem sair do aluy","cmd.notify":"liga/desliga o sino de aten\xE7\xE3o (on/off)","cmd.undo":"desfaz a \xFAltima edi\xE7\xE3o de arquivo do agente","cmd.redo":"refaz a \xFAltima edi\xE7\xE3o desfeita","cmd.rewind":"volta a um ponto da sess\xE3o (c\xF3digo e/ou conversa) \xB7 Esc Esc","cmd.clear":"limpa a sess\xE3o (contexto) \xB7 full tamb\xE9m APAGA a mem\xF3ria do agente","cmd.compact":"compacta o contexto (resume a conversa e continua)","cmd.cycle":"roda uma tarefa em ciclos \xB7 com tetos duros e parada (anti-runaway)","cmd.permissions":"painel \xB7 modo, grants e tools seguras (sempre-ask travado)","cmd.addDir":"autoriza um diret\xF3rio EXTRA p/ o agente (sess\xE3o) \xB7 sem args lista","cmd.init":"cria um AGENT.md neste projeto","cmd.memory":"v\xEA/edita/esquece/fixa a mem\xF3ria do agente (global + projeto)","cmd.mcp":"lista/gerencia servers MCP (add/remove/disable/enable \xB7 search <termo>)","cmd.doctor":"diagn\xF3stico da instala\xE7\xE3o \xB7 credencial, broker, MCP, config (read-only)","cmd.fullscreen":"modo cockpit (tela cheia, alt-screen)","cmd.quit":"sair do aluy","cmd.workflows":"fluxos de atividades que coordenam o agente \u2014 lista, executa e ativa","cmd.tools":"invent\xE1rio unificado das ferramentas \xB7 nativas, MCP, permiss\xE3o (read-only)","cmd.todo":"v\xEA/gerencia o backlog de tarefas anotadas (done/clear)"}});var Bx,Ux=p(()=>{"use strict";Bx={"composer.placeholder":"type a goal or /command\u2026","composer.shellHint":"\u203A behind the gate \xB7 Enter runs \xB7 the gate asks on effect","composer.moreLines":"lines","hints.idle":"enter sends \xB7 / commands \xB7 ctrl-p palette \xB7 \u2191 history \xB7 ctrl-c\xD72 quit","hints.thinking":"esc interrupt \xB7 ctrl-c\xD72 quit","hints.streaming":"esc interrupt \xB7 ctrl-c\xD72 quit","hints.ask":"a approve \xB7 s always \xB7 n deny \xB7 e edit \xB7 esc cancel","hints.askDestructive":"n deny (recommended) \xB7 a approve anyway \xB7 esc cancel","hints.slash":"\u2191\u2193 navigate \xB7 enter run \xB7 esc close","hints.palette":"type to search \xB7 \u2191\u2193 navigate \xB7 enter run \xB7 esc close","hints.budget":"c continue \xB7 n end","hints.error":"r retry \xB7 esc cancel","hints.workSubagents":"esc stops the parent \xB7 F8 stops all \xB7 ctrl-t view/stop \xB7 ctrl-c\xD72 quit","hints.idleSubagents":"enter sends \xB7 F8 stops the sub-agents \xB7 ctrl-t view/stop \xB7 ctrl-c\xD72 quit","hints.ctrlcAgain":"press ctrl-c again to quit","hints.cockpit":"tab focuses \xB7 pgup/pgdn scroll \xB7 ctrl-s export \xB7 /fullscreen exits \xB7 ctrl-c\xD72 quit","cockpit.conversa":"conversation","cockpit.log":"log","cockpit.welcomeTitle":"\u039Bluy \u2014 cockpit","cockpit.welcomeHint":"type a goal below to get started \xB7 /help \xB7 /fullscreen exits","cockpit.entered":"cockpit mode (full screen) \u2014 tab switches chat\u21C4log \xB7 pgup/pgdn scroll \xB7 ctrl-s export \xB7 /fullscreen exits","cockpit.left":"inline mode restored (native scrollback).","cockpit.refuseNarrow":"narrow terminal (<80 col): cockpit unavailable, using inline.","cockpit.refuseShort":"short terminal (too few rows): cockpit unavailable, using inline.","cockpit.exported":"transcript exported (redacted) to","mode.label":"mode","mode.plan.caption":"read-only \u2014 view only, no effects","mode.normal.caption":"default gate (approval on effect)","mode.unsafe.caption":"approval OFF","banner.yolo":"YOLO MODE \u2014 approval OFF, the agent runs ANY command without asking","banner.yolo.narrow":"YOLO MODE \u2014 approval OFF","statusbar.brokerError":"broker error","statusbar.window":"window","statusbar.session":"session","statusbar.quota":"quota","boot.broker":"broker","boot.tagline":"Aluy Cli \xB7 terminal agent","boot.connecting":"connecting","boot.entering":"signing in","picker.theme.help":"change theme \xB7 \u2191\u2193 navigate \xB7 enter switch \xB7 esc close","picker.lang.help":"change language \xB7 \u2191\u2193 navigate \xB7 enter switch \xB7 esc close","picker.provider.help":"set the Custom model provider \xB7 \u2191\u2193 navigate \xB7 enter set \xB7 esc close","picker.provider.default":"default","picker.provider.fallback":"\u26A0 could not list the registered ones \u2014 showing the known providers","picker.provider.more":"\u2026 {count} more providers (\u2191\u2193 scroll)","picker.model.help":"change model \xB7 \u2191\u2193 navigate \xB7 enter select \xB7 esc close","picker.model.loading":"loading tiers from the broker\u2026","picker.model.customLine":"browse/filter the models","picker.model.fallback":"broker catalog unavailable \u2014 showing the known tiers","picker.model.browseHelp":"Custom models \xB7 type to filter \xB7 \u2191\u2193 navigate \xB7 ^T tools-only \xB7 enter select \xB7 esc back","picker.model.browseCount":"{filtered} of {total}","picker.model.toolsOnlySuffix":" \xB7 tools only","picker.model.moreAbove":"\u2191 more above","picker.model.moreBelow":"\u2193 more below","picker.model.noFilterMatch":"no model matches the filter \u2014 enter uses the typed text (free slug)","picker.model.noTools":"\u26A0 this model doesn't support tools \u2014 the agent falls back to the text parser / may not use MCP/tools well","picker.model.freeHelp":"Custom model \xB7 type/paste the slug \xB7 enter confirm \xB7 esc cancel","picker.model.outOfCatalog":"\u26A0 outside the curated catalog \u2014 cost/quality may vary (enter uses it anyway)","picker.effort.help":"reasoning effort \xB7 \u2191\u2193 navigate \xB7 enter apply \xB7 esc back","picker.effort.keep":"keep (do not change the current effort)","picker.effort.low":"low","picker.effort.medium":"medium","picker.effort.high":"high","picker.effort.custom":"custom (type a value)","picker.effort.customHelp":"custom effort \xB7 type the value \xB7 enter confirm \xB7 esc back","picker.effort.warnEmpty":"\u26A0 type a value (cannot be empty)","picker.effort.warnTooLong":"\u26A0 at most 32 characters","picker.history.help":"resume session \xB7 \u2191\u2193 navigate \xB7 enter resume \xB7 esc cancel","picker.history.empty":"no previous session","picker.history.more":"\u2026 {count} more sessions (\u2191\u2193 scroll)","picker.rewind.help":"rewind to a point \xB7 \u2191\u2193 navigate \xB7 enter choose \xB7 esc cancel","picker.rewind.empty":"no restore point in this session","picker.rewind.more":"\u2026 {count} more points (\u2191\u2193 scroll)","picker.rewind.action.help":"restore what? \xB7 \u2191\u2193 navigate \xB7 enter confirm \xB7 esc back","picker.rewind.action.both":"code + conversation","picker.rewind.action.conversation":"conversation only","picker.rewind.action.code":"code only","picker.rewind.barrier.warn":"command(s) ran after this point \u2014 shell effects are NOT undone","picker.file.help":"@ to attach a file \xB7 \u2191\u2193 navigate \xB7 enter attach \xB7 esc close","picker.file.empty":'no file matches "{query}"',"picker.file.more":"\u2026 {count} more files (refine the filter)","picker.palette.help":"\u2318 commands \xB7 \u2191\u2193 navigate \xB7 enter run \xB7 esc close","picker.palette.search":"search command\u2026","picker.palette.empty":'no command matches "{query}"',"picker.palette.more":"\u2026 {count} more commands (refine the search)","lang.changed":"language changed to {label}","lang.unknown":"unknown language: {input}","lang.current":"current language: {label}","lang.listTitle":"available languages","cmd.help":"show this list","cmd.login":"sign in","cmd.logout":"sign out","cmd.whoami":"current account, org and scopes","cmd.model":"switch the tier","cmd.provider":"set the Custom model provider","cmd.effort":"set the reasoning_effort (low/medium/high/custom) \xB7 passthrough \u226432 chars","cmd.theme":"switch the theme (dark/light) \xB7 auto-detected on boot","cmd.lang":"switch the language (pt-BR/en) \xB7 auto-detected on boot","cmd.usage":"tokens and window for this session","cmd.rename":"name + color-tag the session \xB7 \u25CFname in the composer","cmd.history":"browse and RESUME a previous session \xB7 without leaving aluy","cmd.notify":"toggle the attention bell (on/off)","cmd.undo":"undo the agent's last file edit","cmd.redo":"redo the last undone edit","cmd.rewind":"rewind the session to a point (code and/or conversation) \xB7 Esc Esc","cmd.clear":"clear the session (context) \xB7 full also WIPES the agent's memory","cmd.compact":"compact the context (summarize the conversation and continue)","cmd.cycle":"run a task in cycles \xB7 with hard caps and a stop (anti-runaway)","cmd.permissions":"panel \xB7 mode, grants and safe tools (always-ask locked)","cmd.addDir":"authorize an EXTRA directory for the agent (session) \xB7 no args lists","cmd.init":"create an AGENT.md in this project","cmd.memory":"view/edit/forget/pin the agent's memory (global + project)","cmd.mcp":"list/manage MCP servers (add/remove/disable/enable \xB7 search <term>)","cmd.doctor":"diagnose the install \xB7 credential, broker, MCP, config (read-only)","cmd.fullscreen":"cockpit mode (full screen, alt-screen)","cmd.quit":"quit aluy","cmd.workflows":"list mapped .md workflows (global + project \xB7 valid + rejected)","cmd.todo":"list the backlog (the agent notes items; done <id> / clear)"}});function MI(t,e){return e===void 0?t:t.replace(/\{(\w+)\}/g,(o,n)=>{let r=e[n];return r===void 0?o:String(r)})}function LI(t,e){let n=v8[t][e];if(n!==void 0)return n;let r=k8[e];return r!==void 0?r:(x8(e),e)}function as(t,e,o){return MI(LI(t,e),o)}function fi(t=In){return{lang:t,t:(e,o)=>as(t,e,o)}}function x8(t){process.env.NODE_ENV!=="production"&&(OI.has(t)||(OI.add(t),console.warn(`[i18n] missing key (no catalog entry): ${t}`)))}var v8,k8,OI,jx=p(()=>{"use strict";pa();Fx();Ux();v8={"pt-BR":_p,en:Bx},k8=_p;OI=new Set});import{createContext as S8,useContext as w8}from"react";import{jsx as A8}from"react/jsx-runtime";function Hx(t){return A8(PI.Provider,{value:t.value,children:t.children})}function ve(){return w8(PI)}var PI,II=p(()=>{"use strict";jx();pa();PI=S8(fi(In))});var ut=p(()=>{"use strict";pa();Fx();Ux();jx();II()});import"react";import{Box as qx,Text as NI}from"ink";import{Fragment as cs,jsx as tt,jsxs as to}from"react/jsx-runtime";function E8(t){return to(qx,{children:[tt(f,{name:"fg",children:$I}),t.sub!==void 0&&t.sub!==""?to(cs,{children:[tt(f,{name:"fgDim",children:" \xB7 "}),tt(f,{name:"fgDim",children:t.sub})]}):to(cs,{children:[tt(f,{name:"fgDim",children:" \xB7 Terminal "}),t.version!==void 0&&t.version!==""&&to(f,{name:"depth",children:["v",t.version]})]}),!t.narrow&&to(cs,{children:[tt(f,{name:"fgDim",children:" \xB7 "}),tt(P,{name:"broker",role:"depth"}),to(f,{name:"depth",children:[" ",t.backend==="local"?"local":"broker"]})]}),t.error&&to(cs,{children:[tt(f,{name:"fgDim",children:" \xB7 "}),tt(P,{name:"ask",role:"danger"})]})]})}function T8(t){return to(qx,{children:[tt(P,{name:"aluy",role:"accent"}),tt(NI,{children:" "}),tt(f,{name:"fg",children:$I}),t.sub!==void 0&&t.sub!==""&&to(cs,{children:[tt(f,{name:"fgDim",children:" \xB7 "}),tt(f,{name:"fgDim",children:t.sub})]}),!t.narrow&&t.version!==void 0&&t.version!==""&&to(cs,{children:[tt(NI,{children:" "}),to(f,{name:"depth",children:["v",t.version]})]}),tt(f,{name:"fgDim",children:" \xB7 "}),tt(f,{name:"fg",children:t.tier}),!t.narrow&&to(cs,{children:[tt(f,{name:"fgDim",children:" \xB7 "}),tt(P,{name:"broker",role:"depth"}),to(f,{name:"depth",children:[" ",t.backend==="local"?"local":"broker"]})]}),t.error&&to(cs,{children:[tt(f,{name:"fgDim",children:" \xB7 "}),tt(P,{name:"ask",role:"danger"})]})]})}function Hd(t){let e=ne(),o=t.columns??80,n=t.rows??24,r=o<60;return e.density!=="compact"&&!r&&n>=DI?to(qx,{flexDirection:"column",children:[tt(Er,{columns:o}),tt(E8,{...t.sub!==void 0?{sub:t.sub}:{},...t.version!==void 0?{version:t.version}:{},...t.backend!==void 0?{backend:t.backend}:{},narrow:r,error:t.error})]}):tt(T8,{tier:t.tier,...t.sub!==void 0?{sub:t.sub}:{},...t.version!==void 0?{version:t.version}:{},...t.backend!==void 0?{backend:t.backend}:{},narrow:r,error:t.error})}var DI,$I,FI=p(()=>{"use strict";ae();ui();DI=Tx+13,$I="Aluy Cli"});import"react";import{Box as _8,Text as qd}from"ink";import{Fragment as pi,jsx as oo,jsxs as ht}from"react/jsx-runtime";function R8(t){return t>90?"danger":t>=75?"accent":"fgDim"}function C8(t){return t>=100?"danger":t>=tg?"accent":"fgDim"}function O8(t){return t==="crit"?"danger":t==="warn"?"accent":"fgDim"}function Wd(t){let{t:e}=ve(),o=R8(t.windowPct),n=t.budgetPct!==void 0,r=n?C8(t.budgetPct):"fgDim",s=n&&t.budgetPct>=tg,a=t.isDefaultTier??!0?"fg":"accent",c=(t.columns??80)<60,l=!c,d=!c,m=!c,u=(t.columns??BI)>=BI,h=t.quotaPct!==void 0,g=O8(t.quotaLevel??"ok");return ht(_8,{children:[oo(P,{name:"clock",role:a}),ht(f,{name:a,children:[" ",t.tier]}),t.model!==void 0&&t.model!==""&&u&&ht(pi,{children:[oo(f,{name:"fgDim",children:" \xB7 "}),oo(f,{name:"depth",children:t.model})]}),t.focus!==void 0&&t.focus!==""&&ht(f,{name:"accent",children:[" \u25CE foco: ",t.focus]}),m&&ht(pi,{children:[oo(qd,{children:" "}),t.branch!==void 0&&t.branch!==""&&ht(pi,{children:[oo(P,{name:"branch",role:"fgDim"}),ht(f,{name:"fgDim",children:[" ",t.branch," "]})]}),oo(f,{name:"fgDim",children:t.cwd})]}),oo(qd,{children:" "}),oo(P,{name:"window",role:o}),ht(f,{name:o,children:[" ",t.windowPct,"%"]}),l&&ht(f,{name:"fgDim",children:[" ",e("statusbar.window")]}),oo(qd,{children:" "}),oo(P,{name:"gauge",role:r}),n?ht(pi,{children:[ht(f,{name:r,children:[" ",t.budgetPct,"%"]}),s&&oo(f,{name:"accent",children:" \u26A0"}),l&&ht(f,{name:"fgDim",children:[" ",e("statusbar.session")]}),d&&ht(f,{name:"fgDim",children:[" (",Ot(t.tokens),")"]})]}):ht(pi,{children:[ht(f,{name:"fgDim",children:[" ",Ot(t.tokens)]}),l&&ht(f,{name:"fgDim",children:[" ",e("statusbar.session")]})]}),h&&ht(pi,{children:[oo(qd,{children:" "}),oo(P,{name:"gauge",role:g}),ht(f,{name:g,children:[" ",t.quotaPct,"%"]}),l&&ht(f,{name:"fgDim",children:[" ",e("statusbar.quota")]})]}),t.error&&ht(pi,{children:[oo(qd,{children:" "}),oo(P,{name:"ask",role:"danger"})]})]})}var BI,UI=p(()=>{"use strict";D();ae();gn();ut();BI=90});function At(t,e){return e<0?0:e>t.length?t.length:e}function jI(t,e){if(e<2)return!1;let o=t.charCodeAt(e-1),n=t.charCodeAt(e-2);return o>=56320&&o<=57343&&n>=55296&&n<=56319}function M8(t,e){if(e+1>=t.length)return!1;let o=t.charCodeAt(e),n=t.charCodeAt(e+1);return o>=55296&&o<=56319&&n>=56320&&n<=57343}function hi(t,e){let o=At(t.text,t.cursor);return{text:t.text.slice(0,o)+e+t.text.slice(o),cursor:o+e.length}}function Wx(t){let e=At(t.text,t.cursor);if(e===0)return{text:t.text,cursor:0};let o=jI(t.text,e)?2:1;return{text:t.text.slice(0,e-o)+t.text.slice(e),cursor:e-o}}function Gx(t){let e=At(t.text,t.cursor),o=jI(t.text,e)?2:1;return At(t.text,e-o)}function zx(t){let e=At(t.text,t.cursor),o=M8(t.text,e)?2:1;return At(t.text,e+o)}function HI(t){let e=At(t.text,t.cursor);return{text:t.text.slice(e),cursor:0}}function qI(t){let e=At(t.text,t.cursor);return{text:t.text.slice(0,e),cursor:e}}function WI(t){let e=At(t.text,t.cursor),o=zd({text:t.text,cursor:e});return{text:t.text.slice(0,o)+t.text.slice(e),cursor:o}}function GI(t){if(t.includes("\x1B[H")||t.includes("\x1BOH")||t.includes("\x1B[1~")||t.includes("\x1B[7~"))return"home";if(t.includes("\x1B[F")||t.includes("\x1BOF")||t.includes("\x1B[4~")||t.includes("\x1B[8~"))return"end"}function zI(t,e){return t.length>0?"clear":e?"exit":"arm"}function Gd(t,e){let o=t;for(let n=0;n<e.length;n++){let r=e[n];if(r==="\r"||r===`
|
|
589
|
+
`)return{state:o,newlineIndex:n,newline:r};if(r===L8||r===P8){o=Wx(o);continue}o=hi(o,r)}return{state:o,newlineIndex:-1,newline:""}}function KI(t,e,o){let n=t.split(`
|
|
590
590
|
`);if(o<=0||n.length<=o)return{text:t,cursor:At(t,e),hiddenAbove:0,hiddenBelow:0};let r=At(t,e),s=0;for(let u=0;u<r;u++)t[u]===`
|
|
591
591
|
`&&s++;let i=Math.max(0,s-(o-1)),a=i+o;a>n.length&&(a=n.length,i=Math.max(0,a-o));let l=n.slice(i,a).join(`
|
|
592
|
-
`),d=0;for(let u=0;u<i;u++)d+=n[u].length+1;let m=At(l,r-d);return{text:l,cursor:m,hiddenAbove:i,hiddenBelow:n.length-a}}function zd(t){let e=At(t.text,t.cursor);for(;e>0&&!Rp.test(t.text[e-1]);)e--;for(;e>0&&Rp.test(t.text[e-1]);)e--;return e}function Cp(t){let e=t.text.length,o=At(t.text,t.cursor);for(;o<e&&!Rp.test(t.text[o]);)o++;for(;o<e&&Rp.test(t.text[o]);)o++;return o}var
|
|
593
|
-
`).length,m=t.maxRows!==void 0&&d>t.maxRows,u=m?Math.max(1,t.maxRows-1):0,h=m?KI(t.value,s,u):{text:t.value,cursor:s,hiddenAbove:0,hiddenBelow:0};return Fn(Kx,{flexDirection:"column",children:[Fn(Kx,{children:[st(VI,{...t.sessionLabel!==void 0?{label:t.sessionLabel}:{},...t.sessionColor!==void 0?{color:t.sessionColor}:{}}),st(P,{name:"prompt",role:"accent"}),st(gi,{children:" "}),a?Fn(Kd,{children:[c&&l,st(f,{name:"fgDim",children:n})]}):st(YI,{text:h.text,pos:h.cursor,showCursor:c,active:t.active,cursorGlyph:r}),!t.active&&t.hint&&Fn(Kd,{children:[st(gi,{children:" "}),st(f,{name:"fgDim",children:t.hint})]})]}),m&&(h.hiddenAbove>0||h.hiddenBelow>0)&&Fn(f,{name:"fgDim",children:[h.hiddenAbove>0?`\u2191${h.hiddenAbove}`:"",h.hiddenAbove>0&&h.hiddenBelow>0?" \xB7 ":"",h.hiddenBelow>0?`\u2193${h.hiddenBelow}`:"",` ${o("composer.moreLines")}`]})]})}var XI=p(()=>{"use strict";ae();ut();Op()});function yi(t,e){if(e<=0)return"";if(Ee(t)<=e)return t;let o=e-1,n="",r=0;for(let s of t){let i=Ee(s);if(r+i>o)break;n+=s,r+=i}return n+"\u2026"}function Xx(t,e,o){let n=Math.max(0,e-Ee(t));if(n===0)return t;if(o==="right")return" ".repeat(n)+t;if(o==="center"){let r=Math.floor(n/2);return" ".repeat(r)+t+" ".repeat(n-r)}return t+" ".repeat(n)}function JI(t,e,o,n){let r=[];for(let d=0;d<o;d++){let m=Ee(t[d]??"");for(let u of e)m=Math.max(m,Ee(u[d]??""));r.push(Math.max(Yx,m))}if(!n||n<=0)return r;let s=o>0?(o-1)*Vx:0,i=Math.max(o*Yx,n-s),a=r.reduce((d,m)=>d+m,0);if(a<=i)return r;let c=[...r],l=a*2+10;for(;a>i&&l-- >0;){let d=-1,m=Yx;for(let u=0;u<o;u++)c[u]>m&&(m=c[u],d=u);if(d<0)break;c[d]-=1,a-=1}return c}var Vx,Yx,Mp=p(()=>{"use strict";eo();Vx=3,Yx=1});import"react";import{Box as $a}from"ink";import{jsx as Bn,jsxs as ZI}from"react/jsx-runtime";function QI(t){let e=t.replace(/\s+/g," ").trim();return yi(e,I3)}function Lp(t){if(t<=0)return 0;let e=Math.min(t,Vd),o=t>Vd?1:0;return 1+e+o}function Jx(t){let{items:e}=t;if(e.length===0)return null;let o=e.slice(0,Vd),n=e.length-o.length;return ZI($a,{flexDirection:"column",children:[Bn(f,{name:"depth",children:`\u229F ${e.length} na fila \xB7 enviada(s) ao terminar o turno`}),o.map((r,s)=>Bn($a,{children:Bn(f,{name:"fgDim",children:` \u203A ${QI(r)}`})},s)),n>0&&Bn($a,{children:Bn(f,{name:"fgDim",children:` \u2026+${n} na fila`})})]})}function Qx(t){let{items:e}=t;if(e.length===0)return null;let o=e.slice(0,Vd),n=e.length-o.length;return ZI($a,{flexDirection:"column",children:[Bn(f,{name:"depth",children:`\u21B3 ${e.length} encaixando\u2026 \xB7 incorporada(s) na pr\xF3xima itera\xE7\xE3o`}),o.map((r,s)=>Bn($a,{children:Bn(f,{name:"fgDim",children:` \u203A ${QI(r)}`})},s)),n>0&&Bn($a,{children:Bn(f,{name:"fgDim",children:` \u2026+${n} encaixando`})})]})}var Vd,I3,eN=p(()=>{"use strict";ae();Mp();Vd=3,I3=48});function tN(t){let e=t.regex,o={},n={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[o]}]};Object.assign(o,{className:"variable",variants:[{begin:e.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},n]});let r={className:"subst",begin:/\$\(/,end:/\)/,contains:[t.BACKSLASH_ESCAPE]},s=t.inherit(t.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),i={begin:/<<-?\s*(?=\w+)/,starts:{contains:[t.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},a={className:"string",begin:/"/,end:/"/,contains:[t.BACKSLASH_ESCAPE,o,r]};r.contains.push(a);let c={match:/\\"/},l={className:"string",begin:/'/,end:/'/},d={match:/\\'/},m={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},t.NUMBER_MODE,o]},u=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],h=t.SHEBANG({binary:`(${u.join("|")})`,relevance:10}),g={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[t.inherit(t.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},b=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],y=["true","false"],w={match:/(\/[a-z._-]+)+/},R=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],A=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],L=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],U=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:b,literal:y,built_in:[...R,...A,"set","shopt",...L,...U]},contains:[h,t.SHEBANG(),g,m,s,i,w,a,c,l,d,o]}}var oN=p(()=>{});function nN(t){let e=t.regex,o=N3(t),n={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},r="and or not only",s=/@-?\w[\w]*(-\w+)*/,i="[a-zA-Z-][a-zA-Z0-9_-]*",a=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[o.BLOCK_COMMENT,n,o.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+i,relevance:0},o.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+U3.join("|")+")"},{begin:":(:)?("+j3.join("|")+")"}]},o.CSS_VARIABLE,{className:"attribute",begin:"\\b("+H3.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[o.BLOCK_COMMENT,o.HEXCOLOR,o.IMPORTANT,o.CSS_NUMBER_MODE,...a,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...a,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},o.FUNCTION_DISPATCH]},{begin:e.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:s},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:r,attribute:B3.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...a,o.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+F3.join("|")+")\\b"}]}}var N3,D3,$3,F3,B3,U3,j3,H3,rN=p(()=>{N3=t=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:t.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:t.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),D3=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],$3=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],F3=[...D3,...$3],B3=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),U3=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),j3=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),H3=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse()});function sN(t){let e=t.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:e.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:e.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}var iN=p(()=>{});function aN(t){let s={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:s,illegal:"</",contains:[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,{className:"string",variants:[t.QUOTE_STRING_MODE,t.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:"number",variants:[{match:/-?\b0[xX]\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\d(_?\d)*i?/,relevance:0},{match:/-?\b0[xX](_?[a-fA-F0-9])+((\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b0[oO](_?[0-7])*i?/,relevance:0},{match:/-?\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b\d(_?\d)*(\.(\d(_?\d)*)?)?([eE][+-]?\d(_?\d)*)?i?/,relevance:0}]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:!0,contains:[t.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:s,illegal:/["']/}]}]}}var cN=p(()=>{});function fN(t){let e=t.regex,o=(O,{after:se})=>{let de="</"+O[0].slice(1);return O.input.indexOf(de,se)!==-1},n=lN,r={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,i={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(O,se)=>{let de=O[0].length+O.index,ge=O.input[de];if(ge==="<"||ge===","){se.ignoreMatch();return}ge===">"&&(o(O,{after:de})||se.ignoreMatch());let Z,oe=O.input.substring(de);if(Z=oe.match(/^\s*=/)){se.ignoreMatch();return}if((Z=oe.match(/^\s+extends\s+/))&&Z.index===0){se.ignoreMatch();return}}},a={$pattern:lN,keyword:q3,literal:W3,built_in:z3,"variable.language":G3},c="[0-9](_?[0-9])*",l=`\\.(${c})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",m={className:"number",variants:[{begin:`(\\b(${d})((${l})|\\.)?|(${l}))[eE][+-]?(${c})\\b`},{begin:`\\b(${d})\\b((${l})\\b|\\.)?|(${l})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},u={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},h={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,u],subLanguage:"xml"}},g={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,u],subLanguage:"css"}},b={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,u],subLanguage:"graphql"}},y={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,u]},R={className:"comment",variants:[t.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:n+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]},A=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,h,g,b,y,{match:/\$\d+/},m];u.contains=A.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(A)});let L=[].concat(R,u.contains),U=L.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(L)}]),j={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:U},z={variants:[{match:[/class/,/\s+/,n,/\s+/,/extends/,/\s+/,e.concat(n,"(",e.concat(/\./,n),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,n],scope:{1:"keyword",3:"title.class"}}]},Y={relevance:0,match:e.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...dN,...uN]}},I={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},J={variants:[{match:[/function/,/\s+/,n,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[j],illegal:/%/},Q={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function W(O){return e.concat("(?!",O.join("|"),")")}let N={match:e.concat(/\b/,W([...mN,"super","import"].map(O=>`${O}\\s*\\(`)),n,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},V={begin:e.concat(/\./,e.lookahead(e.concat(n,/(?![0-9A-Za-z$_(])/))),end:n,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},Oe={match:[/get|set/,/\s+/,n,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},j]},K="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",le={match:[/const|var|let/,/\s+/,n,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(K)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[j]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:U,CLASS_REFERENCE:Y},illegal:/#(?![$_A-z])/,contains:[t.SHEBANG({label:"shebang",binary:"node",relevance:5}),I,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,h,g,b,y,R,{match:/\$\d+/},m,Y,{scope:"attr",match:n+e.lookahead(":"),relevance:0},le,{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[R,t.REGEXP_MODE,{className:"function",begin:K,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:U}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:s},{begin:i.begin,"on:begin":i.isTrulyOpeningTag,end:i.end}],subLanguage:"xml",contains:[{begin:i.begin,end:i.end,skip:!0,contains:["self"]}]}]},J,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+t.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[j,t.inherit(t.TITLE_MODE,{begin:n,className:"title.function"})]},{match:/\.\.\./,relevance:0},V,{match:"\\$"+n,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[j]},N,Q,z,Oe,{match:/\$[(.]/}]}}var lN,q3,W3,dN,uN,mN,G3,z3,pN=p(()=>{lN="[A-Za-z$_][0-9A-Za-z$_]*",q3=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],W3=["true","false","null","undefined","NaN","Infinity"],dN=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],uN=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],mN=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],G3=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],z3=[].concat(mN,dN,uN)});function hN(t){let e={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},o={match:/[{}[\],:]/,className:"punctuation",relevance:0},n=["true","false","null"],r={scope:"literal",beginKeywords:n.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:n},contains:[e,o,t.QUOTE_STRING_MODE,r,t.C_NUMBER_MODE,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}var gN=p(()=>{});function yN(t){let e=t.regex,o={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},n={begin:"^[-\\*]{3,}",end:"$"},r={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},s={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},i={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},a=/[A-Za-z][A-Za-z0-9+.-]*/,c={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:e.concat(/\[.+?\]\(/,a,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},l={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},d={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},m=t.inherit(l,{contains:[]}),u=t.inherit(d,{contains:[]});l.contains.push(u),d.contains.push(m);let h=[o,c];return[l,d,m,u].forEach(w=>{w.contains=w.contains.concat(h)}),h=h.concat(l,d),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:h},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:h}]}]},o,s,l,d,{className:"quote",begin:"^>\\s+",contains:h,end:"$"},r,n,c,i,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}var bN=p(()=>{});function vN(t){let e=t.regex,o=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),n=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],a={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:n,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},c={className:"meta",begin:/^(>>>|\.\.\.) /},l={className:"subst",begin:/\{/,end:/\}/,keywords:a,illegal:/#/},d={begin:/\{\{/,relevance:0},m={className:"string",contains:[t.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[t.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[t.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[t.BACKSLASH_ESCAPE,c,d,l]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[t.BACKSLASH_ESCAPE,c,d,l]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[t.BACKSLASH_ESCAPE,d,l]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[t.BACKSLASH_ESCAPE,d,l]},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},u="[0-9](_?[0-9])*",h=`(\\b(${u}))?\\.(${u})|\\b(${u})\\.`,g=`\\b|${n.join("|")}`,b={className:"number",relevance:0,variants:[{begin:`(\\b(${u})|(${h}))[eE][+-]?(${u})[jJ]?(?=${g})`},{begin:`(${h})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${g})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${g})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${g})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${g})`},{begin:`\\b(${u})[jJ](?=${g})`}]},y={className:"comment",begin:e.lookahead(/# type:/),end:/$/,keywords:a,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},w={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:["self",c,b,m,t.HASH_COMMENT_MODE]}]};return l.contains=[m,b,c],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:a,illegal:/(<\/|\?)|=>/,contains:[c,b,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},m,y,t.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,o],scope:{1:"keyword",3:"title.function"},contains:[w]},{variants:[{match:[/\bclass/,/\s+/,o,/\s*/,/\(\s*/,o,/\s*\)/]},{match:[/\bclass/,/\s+/,o]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[b,w,m]}]}}var kN=p(()=>{});function xN(t){let e=t.regex,o=/(r#)?/,n=e.concat(o,t.UNDERSCORE_IDENT_RE),r=e.concat(o,t.IDENT_RE),s={className:"title.function.invoke",relevance:0,begin:e.concat(/\b/,/(?!let|for|while|if|else|match\b)/,r,e.lookahead(/\s*\(/))},i="([ui](8|16|32|64|128|size)|f(32|64))?",a=["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],c=["true","false","Some","None","Ok","Err"],l=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],d=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:t.IDENT_RE+"!?",type:d,keyword:a,literal:c,built_in:l},illegal:"</",contains:[t.C_LINE_COMMENT_MODE,t.COMMENT("/\\*","\\*/",{contains:["self"]}),t.inherit(t.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*(?!')/},{scope:"string",variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'/,end:/'/,contains:[{scope:"char.escape",match:/\\('|\w|x\w{2}|u\w{4}|U\w{8})/}]}]},{className:"number",variants:[{begin:"\\b0b([01_]+)"+i},{begin:"\\b0o([0-7_]+)"+i},{begin:"\\b0x([A-Fa-f0-9_]+)"+i},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+i}],relevance:0},{begin:[/fn/,/\s+/,n],className:{1:"keyword",3:"title.function"}},{className:"meta",begin:"#!?\\[",end:"\\]",contains:[{className:"string",begin:/"/,end:/"/,contains:[t.BACKSLASH_ESCAPE]}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,n],className:{1:"keyword",3:"keyword",4:"variable"}},{begin:[/for/,/\s+/,n,/\s+/,/in/],className:{1:"keyword",3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,n],className:{1:"keyword",3:"title.class"}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,n],className:{1:"keyword",3:"title.class"}},{begin:t.IDENT_RE+"::",keywords:{keyword:"Self",built_in:l,type:d}},{className:"punctuation",begin:"->"},s]}}var SN=p(()=>{});function wN(t){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}var AN=p(()=>{});function EN(t){let e=t.regex,o=t.COMMENT("--","$"),n={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},r={begin:/"/,end:/"/,contains:[{match:/""/}]},s=["true","false","unknown"],i=["double precision","large object","with timezone","without timezone"],a=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],c=["add","asc","collation","desc","final","first","last","view"],l=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],d=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],m=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],u=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],h=d,g=[...l,...c].filter(U=>!d.includes(U)),b={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},y={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},w={match:e.concat(/\b/,e.either(...h),/\s*\(/),relevance:0,keywords:{built_in:h}};function R(U){return e.concat(/\b/,e.either(...U.map(j=>j.replace(/\s+/,"\\s+"))),/\b/)}let A={scope:"keyword",match:R(u),relevance:0};function L(U,{exceptions:j,when:z}={}){let Y=z;return j=j||[],U.map(I=>I.match(/\|\d+$/)||j.includes(I)?I:Y(I)?`${I}|0`:I)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:L(g,{when:U=>U.length<3}),literal:s,type:a,built_in:m},contains:[{scope:"type",match:R(i)},A,w,b,n,r,t.C_NUMBER_MODE,t.C_BLOCK_COMMENT_MODE,o,y]}}var TN=p(()=>{});function K3(t){let e=t.regex,o=(O,{after:se})=>{let de="</"+O[0].slice(1);return O.input.indexOf(de,se)!==-1},n=Pp,r={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,i={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(O,se)=>{let de=O[0].length+O.index,ge=O.input[de];if(ge==="<"||ge===","){se.ignoreMatch();return}ge===">"&&(o(O,{after:de})||se.ignoreMatch());let Z,oe=O.input.substring(de);if(Z=oe.match(/^\s*=/)){se.ignoreMatch();return}if((Z=oe.match(/^\s+extends\s+/))&&Z.index===0){se.ignoreMatch();return}}},a={$pattern:Pp,keyword:_N,literal:RN,built_in:PN,"variable.language":LN},c="[0-9](_?[0-9])*",l=`\\.(${c})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",m={className:"number",variants:[{begin:`(\\b(${d})((${l})|\\.)?|(${l}))[eE][+-]?(${c})\\b`},{begin:`\\b(${d})\\b((${l})\\b|\\.)?|(${l})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},u={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},h={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,u],subLanguage:"xml"}},g={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,u],subLanguage:"css"}},b={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,u],subLanguage:"graphql"}},y={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,u]},R={className:"comment",variants:[t.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:n+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]},A=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,h,g,b,y,{match:/\$\d+/},m];u.contains=A.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(A)});let L=[].concat(R,u.contains),U=L.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(L)}]),j={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:U},z={variants:[{match:[/class/,/\s+/,n,/\s+/,/extends/,/\s+/,e.concat(n,"(",e.concat(/\./,n),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,n],scope:{1:"keyword",3:"title.class"}}]},Y={relevance:0,match:e.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...CN,...ON]}},I={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},J={variants:[{match:[/function/,/\s+/,n,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[j],illegal:/%/},Q={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function W(O){return e.concat("(?!",O.join("|"),")")}let N={match:e.concat(/\b/,W([...MN,"super","import"].map(O=>`${O}\\s*\\(`)),n,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},V={begin:e.concat(/\./,e.lookahead(e.concat(n,/(?![0-9A-Za-z$_(])/))),end:n,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},Oe={match:[/get|set/,/\s+/,n,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},j]},K="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",le={match:[/const|var|let/,/\s+/,n,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(K)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[j]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:U,CLASS_REFERENCE:Y},illegal:/#(?![$_A-z])/,contains:[t.SHEBANG({label:"shebang",binary:"node",relevance:5}),I,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,h,g,b,y,R,{match:/\$\d+/},m,Y,{scope:"attr",match:n+e.lookahead(":"),relevance:0},le,{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[R,t.REGEXP_MODE,{className:"function",begin:K,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:U}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:s},{begin:i.begin,"on:begin":i.isTrulyOpeningTag,end:i.end}],subLanguage:"xml",contains:[{begin:i.begin,end:i.end,skip:!0,contains:["self"]}]}]},J,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+t.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[j,t.inherit(t.TITLE_MODE,{begin:n,className:"title.function"})]},{match:/\.\.\./,relevance:0},V,{match:"\\$"+n,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[j]},N,Q,z,Oe,{match:/\$[(.]/}]}}function IN(t){let e=t.regex,o=K3(t),n=Pp,r=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],s={begin:[/namespace/,/\s+/,t.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},i={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:r},contains:[o.exports.CLASS_REFERENCE]},a={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},c=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],l={$pattern:Pp,keyword:_N.concat(c),literal:RN,built_in:PN.concat(r),"variable.language":LN},d={className:"meta",begin:"@"+n},m=(b,y,w)=>{let R=b.contains.findIndex(A=>A.label===y);if(R===-1)throw new Error("can not find mode to replace");b.contains.splice(R,1,w)};Object.assign(o.keywords,l),o.exports.PARAMS_CONTAINS.push(d);let u=o.contains.find(b=>b.scope==="attr"),h=Object.assign({},u,{match:e.concat(n,e.lookahead(/\s*\?:/))});o.exports.PARAMS_CONTAINS.push([o.exports.CLASS_REFERENCE,u,h]),o.contains=o.contains.concat([d,s,i,h]),m(o,"shebang",t.SHEBANG()),m(o,"use_strict",a);let g=o.contains.find(b=>b.label==="func.def");return g.relevance=0,Object.assign(o,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),o}var Pp,_N,RN,CN,ON,MN,LN,PN,NN=p(()=>{Pp="[A-Za-z$_][0-9A-Za-z$_]*",_N=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],RN=["true","false","null","undefined","NaN","Infinity"],CN=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],ON=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],MN=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],LN=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],PN=[].concat(MN,CN,ON)});function DN(t){let e=t.regex,o=e.concat(/[\p{L}_]/u,e.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),n=/[\p{L}0-9._:-]+/u,r={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},s={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},i=t.inherit(s,{begin:/\(/,end:/\)/}),a=t.inherit(t.APOS_STRING_MODE,{className:"string"}),c=t.inherit(t.QUOTE_STRING_MODE,{className:"string"}),l={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:n,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[r]},{begin:/'/,end:/'/,contains:[r]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[s,c,a,i,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[s,i,c,a]}]}]},t.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},r,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[c]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[l],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[l],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:e.concat(/</,e.lookahead(e.concat(o,e.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:o,relevance:0,starts:l}]},{className:"tag",begin:e.concat(/<\//,e.lookahead(e.concat(o,/>/))),contains:[{className:"name",begin:o,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}var $N=p(()=>{});function FN(t){let e="true false yes no null",o="[\\w#;/?:@&=+$,.~*'()[\\]]+",n={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},r={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},s={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},i={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[t.BACKSLASH_ESCAPE,r]},a=t.inherit(i,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),u={className:"number",begin:"\\b"+"[0-9]{4}(-[0-9][0-9]){0,2}"+"([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?"+"(\\.[0-9]*)?"+"([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?"+"\\b"},h={end:",",endsWithParent:!0,excludeEnd:!0,keywords:e,relevance:0},g={begin:/\{/,end:/\}/,contains:[h],illegal:"\\n",relevance:0},b={begin:"\\[",end:"\\]",contains:[h],illegal:"\\n",relevance:0},y=[n,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+o},{className:"type",begin:"!<"+o+">"},{className:"type",begin:"!"+o},{className:"type",begin:"!!"+o},{className:"meta",begin:"&"+t.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+t.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},t.HASH_COMMENT_MODE,{beginKeywords:e,keywords:{literal:e}},u,{className:"number",begin:t.C_NUMBER_RE+"\\b",relevance:0},g,b,s,i],w=[...y];return w.pop(),w.push(a),h.contains=w,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:y}}var BN=p(()=>{});import{createLowlight as Y3}from"lowlight";function Fa(t){if(!t)return null;let e=t.trim().toLowerCase();if(e==="")return null;let o=V3[e]??e;return UN.registered(o)?o:null}function X3(t){if(!t)return"fg";let e=t.replace(/^hljs-/,"");switch(e.split(/[.\s]/)[0]??e){case"keyword":case"built_in":case"literal":case"operator":return"accent";case"string":case"regexp":case"char":case"subst":case"addition":return"success";case"comment":case"quote":case"meta":return"fgDim";case"number":case"symbol":case"bullet":case"link":return"accentDim";case"title":case"function":case"class":case"name":case"tag":case"attr":case"attribute":case"type":case"params":case"property":case"selector":case"section":case"variable":return"depth";case"deletion":return"danger";default:return"fg"}}function J3(t){let e=t.properties?.className;if(Array.isArray(e))return e[e.length-1];if(typeof e=="string")return e}function jN(t,e,o){if(t.type==="text"){let i=t.value;i!==""&&o.push({text:i,role:e});return}let n=t,r=n.type==="element"?X3(J3(n)):e,s=n.type==="element"&&r!=="fg"?r:e;for(let i of n.children??[])jN(i,s,o)}function Q3(t){let e=[];for(let o of t){let n=e[e.length-1];n&&n.role===o.role?e[e.length-1]={text:n.text+o.text,role:o.role}:e.push(o)}return e}function Xd(t,e){if(t==="")return[];let o=Fa(e);if(!o)return[{text:t,role:"fg"}];try{let n=UN.highlight(o,t),r=[];jN(n,"fg",r);let s=Q3(r);return s.length>0?s:[{text:t,role:"fg"}]}catch{return[{text:t,role:"fg"}]}}var UN,V3,Zx=p(()=>{"use strict";oN();rN();iN();cN();pN();gN();bN();kN();SN();AN();TN();NN();$N();BN();UN=Y3({bash:tN,css:nN,diff:sN,go:aN,javascript:fN,json:hN,markdown:yN,python:vN,rust:xN,shell:wN,sql:EN,typescript:IN,xml:DN,yaml:FN}),V3={ts:"typescript",tsx:"typescript",js:"javascript",jsx:"javascript",mjs:"javascript",cjs:"javascript",sh:"bash",zsh:"bash",shell:"shell",console:"shell",py:"python",rs:"rust",golang:"go",yml:"yaml",html:"xml",htm:"xml",svg:"xml",md:"markdown",markdown:"markdown",patch:"diff"}});import"react";import{Box as Ip,Text as HN}from"ink";import{jsx as Ba,jsxs as bi}from"react/jsx-runtime";function eS(t){let o=ne().box,n=Fa(t.lang),r=(n??t.lang??"code")+(t.open?" \u2026":""),s=t.code.split(`
|
|
594
|
-
`);return bi(Ip,{flexDirection:"column",paddingY:0,children:[bi(Ip,{children:[bi(f,{name:"fgDim",children:[o.topLeft,o.horizontal," "]}),Ba(f,{name:"depth",children:r}),bi(f,{name:"fgDim",children:[" ",o.horizontal.repeat(2)]})]}),s.map((i,a)=>bi(Ip,{children:[bi(f,{name:"fgDim",children:[o.vertical," "]}),Ba(
|
|
592
|
+
`),d=0;for(let u=0;u<i;u++)d+=n[u].length+1;let m=At(l,r-d);return{text:l,cursor:m,hiddenAbove:i,hiddenBelow:n.length-a}}function zd(t){let e=At(t.text,t.cursor);for(;e>0&&!Rp.test(t.text[e-1]);)e--;for(;e>0&&Rp.test(t.text[e-1]);)e--;return e}function Cp(t){let e=t.text.length,o=At(t.text,t.cursor);for(;o<e&&!Rp.test(t.text[o]);)o++;for(;o<e&&Rp.test(t.text[o]);)o++;return o}var L8,P8,Rp,Op=p(()=>{"use strict";L8="\x7F",P8="\b";Rp=/[\p{L}\p{N}_]/u});import"react";import{Box as Kx,Text as gi}from"ink";import{Fragment as Kd,jsx as st,jsxs as Fn}from"react/jsx-runtime";function YI(t){let{text:e,showCursor:o,active:n,cursorGlyph:r}=t,s=n?"fg":"fgDim",i=t.pos<0?0:t.pos>e.length?e.length:t.pos;if(!o)return st(f,{name:s,children:e});if(i>=e.length)return Fn(Kd,{children:[st(f,{name:s,children:e}),st(f,{name:"fg",children:r})]});let c=e.codePointAt(i)>65535?2:1,l=e.slice(0,i),d=e.slice(i,i+c),m=e.slice(i+c);return Fn(Kd,{children:[l!==""&&st(f,{name:s,children:l}),st(gi,{inverse:!0,children:d}),m!==""&&st(f,{name:s,children:m})]})}function VI(t){let e=ne(),o=(t.label??"").trim();if(o==="")return null;let n=e.glyph("sessionDot"),r=e.sessionColor(t.color??o),s={};return r.color!==void 0&&(s.color=r.color),r.bold!==void 0&&(s.bold=r.bold),Fn(Kd,{children:[st(gi,{...s,children:n}),st(gi,{children:" "}),st(f,{name:"fg",children:o}),st(gi,{children:" "})]})}function Yd(t){let e=ne(),{t:o}=ve(),n=t.placeholder??o("composer.placeholder"),r=e.glyph("cursor"),s=t.cursorPos??t.value.length;if(t.shellMode){let g=t.active&&t.showCursor!==!1;return Fn(Kx,{children:[st(VI,{...t.sessionLabel!==void 0?{label:t.sessionLabel}:{},...t.sessionColor!==void 0?{color:t.sessionColor}:{}}),Fn(f,{name:"danger",children:[e.glyph("ask")," shell "]}),st(YI,{text:t.value,pos:s,showCursor:g,active:t.active,cursorGlyph:r}),st(gi,{children:" "}),st(f,{name:"fgDim",children:o("composer.shellHint")})]})}let a=t.value===""&&t.active,c=t.active&&t.showCursor!==!1,l=st(f,{name:"fg",children:r}),d=t.value===""?1:t.value.split(`
|
|
593
|
+
`).length,m=t.maxRows!==void 0&&d>t.maxRows,u=m?Math.max(1,t.maxRows-1):0,h=m?KI(t.value,s,u):{text:t.value,cursor:s,hiddenAbove:0,hiddenBelow:0};return Fn(Kx,{flexDirection:"column",children:[Fn(Kx,{children:[st(VI,{...t.sessionLabel!==void 0?{label:t.sessionLabel}:{},...t.sessionColor!==void 0?{color:t.sessionColor}:{}}),st(P,{name:"prompt",role:"accent"}),st(gi,{children:" "}),a?Fn(Kd,{children:[c&&l,st(f,{name:"fgDim",children:n})]}):st(YI,{text:h.text,pos:h.cursor,showCursor:c,active:t.active,cursorGlyph:r}),!t.active&&t.hint&&Fn(Kd,{children:[st(gi,{children:" "}),st(f,{name:"fgDim",children:t.hint})]})]}),m&&(h.hiddenAbove>0||h.hiddenBelow>0)&&Fn(f,{name:"fgDim",children:[h.hiddenAbove>0?`\u2191${h.hiddenAbove}`:"",h.hiddenAbove>0&&h.hiddenBelow>0?" \xB7 ":"",h.hiddenBelow>0?`\u2193${h.hiddenBelow}`:"",` ${o("composer.moreLines")}`]})]})}var XI=p(()=>{"use strict";ae();ut();Op()});function yi(t,e){if(e<=0)return"";if(Ee(t)<=e)return t;let o=e-1,n="",r=0;for(let s of t){let i=Ee(s);if(r+i>o)break;n+=s,r+=i}return n+"\u2026"}function Xx(t,e,o){let n=Math.max(0,e-Ee(t));if(n===0)return t;if(o==="right")return" ".repeat(n)+t;if(o==="center"){let r=Math.floor(n/2);return" ".repeat(r)+t+" ".repeat(n-r)}return t+" ".repeat(n)}function JI(t,e,o,n){let r=[];for(let d=0;d<o;d++){let m=Ee(t[d]??"");for(let u of e)m=Math.max(m,Ee(u[d]??""));r.push(Math.max(Yx,m))}if(!n||n<=0)return r;let s=o>0?(o-1)*Vx:0,i=Math.max(o*Yx,n-s),a=r.reduce((d,m)=>d+m,0);if(a<=i)return r;let c=[...r],l=a*2+10;for(;a>i&&l-- >0;){let d=-1,m=Yx;for(let u=0;u<o;u++)c[u]>m&&(m=c[u],d=u);if(d<0)break;c[d]-=1,a-=1}return c}var Vx,Yx,Mp=p(()=>{"use strict";eo();Vx=3,Yx=1});import"react";import{Box as $a}from"ink";import{jsx as Bn,jsxs as ZI}from"react/jsx-runtime";function QI(t){let e=t.replace(/\s+/g," ").trim();return yi(e,I8)}function Lp(t){if(t<=0)return 0;let e=Math.min(t,Vd),o=t>Vd?1:0;return 1+e+o}function Jx(t){let{items:e}=t;if(e.length===0)return null;let o=e.slice(0,Vd),n=e.length-o.length;return ZI($a,{flexDirection:"column",children:[Bn(f,{name:"depth",children:`\u229F ${e.length} na fila \xB7 enviada(s) ao terminar o turno`}),o.map((r,s)=>Bn($a,{children:Bn(f,{name:"fgDim",children:` \u203A ${QI(r)}`})},s)),n>0&&Bn($a,{children:Bn(f,{name:"fgDim",children:` \u2026+${n} na fila`})})]})}function Qx(t){let{items:e}=t;if(e.length===0)return null;let o=e.slice(0,Vd),n=e.length-o.length;return ZI($a,{flexDirection:"column",children:[Bn(f,{name:"depth",children:`\u21B3 ${e.length} encaixando\u2026 \xB7 incorporada(s) na pr\xF3xima itera\xE7\xE3o`}),o.map((r,s)=>Bn($a,{children:Bn(f,{name:"fgDim",children:` \u203A ${QI(r)}`})},s)),n>0&&Bn($a,{children:Bn(f,{name:"fgDim",children:` \u2026+${n} encaixando`})})]})}var Vd,I8,eN=p(()=>{"use strict";ae();Mp();Vd=3,I8=48});function tN(t){let e=t.regex,o={},n={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[o]}]};Object.assign(o,{className:"variable",variants:[{begin:e.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},n]});let r={className:"subst",begin:/\$\(/,end:/\)/,contains:[t.BACKSLASH_ESCAPE]},s=t.inherit(t.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),i={begin:/<<-?\s*(?=\w+)/,starts:{contains:[t.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},a={className:"string",begin:/"/,end:/"/,contains:[t.BACKSLASH_ESCAPE,o,r]};r.contains.push(a);let c={match:/\\"/},l={className:"string",begin:/'/,end:/'/},d={match:/\\'/},m={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},t.NUMBER_MODE,o]},u=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],h=t.SHEBANG({binary:`(${u.join("|")})`,relevance:10}),g={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[t.inherit(t.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},b=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],y=["true","false"],w={match:/(\/[a-z._-]+)+/},R=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],A=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],L=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],U=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:b,literal:y,built_in:[...R,...A,"set","shopt",...L,...U]},contains:[h,t.SHEBANG(),g,m,s,i,w,a,c,l,d,o]}}var oN=p(()=>{});function nN(t){let e=t.regex,o=N8(t),n={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},r="and or not only",s=/@-?\w[\w]*(-\w+)*/,i="[a-zA-Z-][a-zA-Z0-9_-]*",a=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[o.BLOCK_COMMENT,n,o.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+i,relevance:0},o.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+U8.join("|")+")"},{begin:":(:)?("+j8.join("|")+")"}]},o.CSS_VARIABLE,{className:"attribute",begin:"\\b("+H8.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[o.BLOCK_COMMENT,o.HEXCOLOR,o.IMPORTANT,o.CSS_NUMBER_MODE,...a,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...a,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},o.FUNCTION_DISPATCH]},{begin:e.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:s},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:r,attribute:B8.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...a,o.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+F8.join("|")+")\\b"}]}}var N8,D8,$8,F8,B8,U8,j8,H8,rN=p(()=>{N8=t=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:t.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:t.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),D8=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],$8=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],F8=[...D8,...$8],B8=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),U8=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),j8=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),H8=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse()});function sN(t){let e=t.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:e.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:e.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}var iN=p(()=>{});function aN(t){let s={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:s,illegal:"</",contains:[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,{className:"string",variants:[t.QUOTE_STRING_MODE,t.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:"number",variants:[{match:/-?\b0[xX]\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\d(_?\d)*i?/,relevance:0},{match:/-?\b0[xX](_?[a-fA-F0-9])+((\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b0[oO](_?[0-7])*i?/,relevance:0},{match:/-?\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b\d(_?\d)*(\.(\d(_?\d)*)?)?([eE][+-]?\d(_?\d)*)?i?/,relevance:0}]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:!0,contains:[t.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:s,illegal:/["']/}]}]}}var cN=p(()=>{});function fN(t){let e=t.regex,o=(O,{after:se})=>{let de="</"+O[0].slice(1);return O.input.indexOf(de,se)!==-1},n=lN,r={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,i={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(O,se)=>{let de=O[0].length+O.index,ge=O.input[de];if(ge==="<"||ge===","){se.ignoreMatch();return}ge===">"&&(o(O,{after:de})||se.ignoreMatch());let Z,oe=O.input.substring(de);if(Z=oe.match(/^\s*=/)){se.ignoreMatch();return}if((Z=oe.match(/^\s+extends\s+/))&&Z.index===0){se.ignoreMatch();return}}},a={$pattern:lN,keyword:q8,literal:W8,built_in:z8,"variable.language":G8},c="[0-9](_?[0-9])*",l=`\\.(${c})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",m={className:"number",variants:[{begin:`(\\b(${d})((${l})|\\.)?|(${l}))[eE][+-]?(${c})\\b`},{begin:`\\b(${d})\\b((${l})\\b|\\.)?|(${l})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},u={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},h={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,u],subLanguage:"xml"}},g={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,u],subLanguage:"css"}},b={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,u],subLanguage:"graphql"}},y={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,u]},R={className:"comment",variants:[t.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:n+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]},A=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,h,g,b,y,{match:/\$\d+/},m];u.contains=A.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(A)});let L=[].concat(R,u.contains),U=L.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(L)}]),j={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:U},z={variants:[{match:[/class/,/\s+/,n,/\s+/,/extends/,/\s+/,e.concat(n,"(",e.concat(/\./,n),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,n],scope:{1:"keyword",3:"title.class"}}]},Y={relevance:0,match:e.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...dN,...uN]}},I={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},J={variants:[{match:[/function/,/\s+/,n,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[j],illegal:/%/},Q={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function W(O){return e.concat("(?!",O.join("|"),")")}let N={match:e.concat(/\b/,W([...mN,"super","import"].map(O=>`${O}\\s*\\(`)),n,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},V={begin:e.concat(/\./,e.lookahead(e.concat(n,/(?![0-9A-Za-z$_(])/))),end:n,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},Oe={match:[/get|set/,/\s+/,n,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},j]},K="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",le={match:[/const|var|let/,/\s+/,n,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(K)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[j]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:U,CLASS_REFERENCE:Y},illegal:/#(?![$_A-z])/,contains:[t.SHEBANG({label:"shebang",binary:"node",relevance:5}),I,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,h,g,b,y,R,{match:/\$\d+/},m,Y,{scope:"attr",match:n+e.lookahead(":"),relevance:0},le,{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[R,t.REGEXP_MODE,{className:"function",begin:K,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:U}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:s},{begin:i.begin,"on:begin":i.isTrulyOpeningTag,end:i.end}],subLanguage:"xml",contains:[{begin:i.begin,end:i.end,skip:!0,contains:["self"]}]}]},J,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+t.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[j,t.inherit(t.TITLE_MODE,{begin:n,className:"title.function"})]},{match:/\.\.\./,relevance:0},V,{match:"\\$"+n,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[j]},N,Q,z,Oe,{match:/\$[(.]/}]}}var lN,q8,W8,dN,uN,mN,G8,z8,pN=p(()=>{lN="[A-Za-z$_][0-9A-Za-z$_]*",q8=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],W8=["true","false","null","undefined","NaN","Infinity"],dN=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],uN=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],mN=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],G8=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],z8=[].concat(mN,dN,uN)});function hN(t){let e={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},o={match:/[{}[\],:]/,className:"punctuation",relevance:0},n=["true","false","null"],r={scope:"literal",beginKeywords:n.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:n},contains:[e,o,t.QUOTE_STRING_MODE,r,t.C_NUMBER_MODE,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}var gN=p(()=>{});function yN(t){let e=t.regex,o={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},n={begin:"^[-\\*]{3,}",end:"$"},r={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},s={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},i={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},a=/[A-Za-z][A-Za-z0-9+.-]*/,c={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:e.concat(/\[.+?\]\(/,a,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},l={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},d={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},m=t.inherit(l,{contains:[]}),u=t.inherit(d,{contains:[]});l.contains.push(u),d.contains.push(m);let h=[o,c];return[l,d,m,u].forEach(w=>{w.contains=w.contains.concat(h)}),h=h.concat(l,d),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:h},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:h}]}]},o,s,l,d,{className:"quote",begin:"^>\\s+",contains:h,end:"$"},r,n,c,i,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}var bN=p(()=>{});function vN(t){let e=t.regex,o=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),n=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],a={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:n,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},c={className:"meta",begin:/^(>>>|\.\.\.) /},l={className:"subst",begin:/\{/,end:/\}/,keywords:a,illegal:/#/},d={begin:/\{\{/,relevance:0},m={className:"string",contains:[t.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[t.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[t.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[t.BACKSLASH_ESCAPE,c,d,l]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[t.BACKSLASH_ESCAPE,c,d,l]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[t.BACKSLASH_ESCAPE,d,l]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[t.BACKSLASH_ESCAPE,d,l]},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},u="[0-9](_?[0-9])*",h=`(\\b(${u}))?\\.(${u})|\\b(${u})\\.`,g=`\\b|${n.join("|")}`,b={className:"number",relevance:0,variants:[{begin:`(\\b(${u})|(${h}))[eE][+-]?(${u})[jJ]?(?=${g})`},{begin:`(${h})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${g})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${g})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${g})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${g})`},{begin:`\\b(${u})[jJ](?=${g})`}]},y={className:"comment",begin:e.lookahead(/# type:/),end:/$/,keywords:a,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},w={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:["self",c,b,m,t.HASH_COMMENT_MODE]}]};return l.contains=[m,b,c],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:a,illegal:/(<\/|\?)|=>/,contains:[c,b,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},m,y,t.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,o],scope:{1:"keyword",3:"title.function"},contains:[w]},{variants:[{match:[/\bclass/,/\s+/,o,/\s*/,/\(\s*/,o,/\s*\)/]},{match:[/\bclass/,/\s+/,o]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[b,w,m]}]}}var kN=p(()=>{});function xN(t){let e=t.regex,o=/(r#)?/,n=e.concat(o,t.UNDERSCORE_IDENT_RE),r=e.concat(o,t.IDENT_RE),s={className:"title.function.invoke",relevance:0,begin:e.concat(/\b/,/(?!let|for|while|if|else|match\b)/,r,e.lookahead(/\s*\(/))},i="([ui](8|16|32|64|128|size)|f(32|64))?",a=["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],c=["true","false","Some","None","Ok","Err"],l=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],d=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:t.IDENT_RE+"!?",type:d,keyword:a,literal:c,built_in:l},illegal:"</",contains:[t.C_LINE_COMMENT_MODE,t.COMMENT("/\\*","\\*/",{contains:["self"]}),t.inherit(t.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*(?!')/},{scope:"string",variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'/,end:/'/,contains:[{scope:"char.escape",match:/\\('|\w|x\w{2}|u\w{4}|U\w{8})/}]}]},{className:"number",variants:[{begin:"\\b0b([01_]+)"+i},{begin:"\\b0o([0-7_]+)"+i},{begin:"\\b0x([A-Fa-f0-9_]+)"+i},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+i}],relevance:0},{begin:[/fn/,/\s+/,n],className:{1:"keyword",3:"title.function"}},{className:"meta",begin:"#!?\\[",end:"\\]",contains:[{className:"string",begin:/"/,end:/"/,contains:[t.BACKSLASH_ESCAPE]}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,n],className:{1:"keyword",3:"keyword",4:"variable"}},{begin:[/for/,/\s+/,n,/\s+/,/in/],className:{1:"keyword",3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,n],className:{1:"keyword",3:"title.class"}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,n],className:{1:"keyword",3:"title.class"}},{begin:t.IDENT_RE+"::",keywords:{keyword:"Self",built_in:l,type:d}},{className:"punctuation",begin:"->"},s]}}var SN=p(()=>{});function wN(t){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}var AN=p(()=>{});function EN(t){let e=t.regex,o=t.COMMENT("--","$"),n={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},r={begin:/"/,end:/"/,contains:[{match:/""/}]},s=["true","false","unknown"],i=["double precision","large object","with timezone","without timezone"],a=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],c=["add","asc","collation","desc","final","first","last","view"],l=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],d=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],m=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],u=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],h=d,g=[...l,...c].filter(U=>!d.includes(U)),b={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},y={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},w={match:e.concat(/\b/,e.either(...h),/\s*\(/),relevance:0,keywords:{built_in:h}};function R(U){return e.concat(/\b/,e.either(...U.map(j=>j.replace(/\s+/,"\\s+"))),/\b/)}let A={scope:"keyword",match:R(u),relevance:0};function L(U,{exceptions:j,when:z}={}){let Y=z;return j=j||[],U.map(I=>I.match(/\|\d+$/)||j.includes(I)?I:Y(I)?`${I}|0`:I)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:L(g,{when:U=>U.length<3}),literal:s,type:a,built_in:m},contains:[{scope:"type",match:R(i)},A,w,b,n,r,t.C_NUMBER_MODE,t.C_BLOCK_COMMENT_MODE,o,y]}}var TN=p(()=>{});function K8(t){let e=t.regex,o=(O,{after:se})=>{let de="</"+O[0].slice(1);return O.input.indexOf(de,se)!==-1},n=Pp,r={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,i={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(O,se)=>{let de=O[0].length+O.index,ge=O.input[de];if(ge==="<"||ge===","){se.ignoreMatch();return}ge===">"&&(o(O,{after:de})||se.ignoreMatch());let Z,oe=O.input.substring(de);if(Z=oe.match(/^\s*=/)){se.ignoreMatch();return}if((Z=oe.match(/^\s+extends\s+/))&&Z.index===0){se.ignoreMatch();return}}},a={$pattern:Pp,keyword:_N,literal:RN,built_in:PN,"variable.language":LN},c="[0-9](_?[0-9])*",l=`\\.(${c})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",m={className:"number",variants:[{begin:`(\\b(${d})((${l})|\\.)?|(${l}))[eE][+-]?(${c})\\b`},{begin:`\\b(${d})\\b((${l})\\b|\\.)?|(${l})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},u={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},h={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,u],subLanguage:"xml"}},g={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,u],subLanguage:"css"}},b={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,u],subLanguage:"graphql"}},y={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,u]},R={className:"comment",variants:[t.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:n+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]},A=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,h,g,b,y,{match:/\$\d+/},m];u.contains=A.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(A)});let L=[].concat(R,u.contains),U=L.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(L)}]),j={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:U},z={variants:[{match:[/class/,/\s+/,n,/\s+/,/extends/,/\s+/,e.concat(n,"(",e.concat(/\./,n),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,n],scope:{1:"keyword",3:"title.class"}}]},Y={relevance:0,match:e.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...CN,...ON]}},I={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},J={variants:[{match:[/function/,/\s+/,n,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[j],illegal:/%/},Q={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function W(O){return e.concat("(?!",O.join("|"),")")}let N={match:e.concat(/\b/,W([...MN,"super","import"].map(O=>`${O}\\s*\\(`)),n,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},V={begin:e.concat(/\./,e.lookahead(e.concat(n,/(?![0-9A-Za-z$_(])/))),end:n,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},Oe={match:[/get|set/,/\s+/,n,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},j]},K="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",le={match:[/const|var|let/,/\s+/,n,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(K)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[j]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:U,CLASS_REFERENCE:Y},illegal:/#(?![$_A-z])/,contains:[t.SHEBANG({label:"shebang",binary:"node",relevance:5}),I,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,h,g,b,y,R,{match:/\$\d+/},m,Y,{scope:"attr",match:n+e.lookahead(":"),relevance:0},le,{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[R,t.REGEXP_MODE,{className:"function",begin:K,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:U}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:s},{begin:i.begin,"on:begin":i.isTrulyOpeningTag,end:i.end}],subLanguage:"xml",contains:[{begin:i.begin,end:i.end,skip:!0,contains:["self"]}]}]},J,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+t.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[j,t.inherit(t.TITLE_MODE,{begin:n,className:"title.function"})]},{match:/\.\.\./,relevance:0},V,{match:"\\$"+n,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[j]},N,Q,z,Oe,{match:/\$[(.]/}]}}function IN(t){let e=t.regex,o=K8(t),n=Pp,r=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],s={begin:[/namespace/,/\s+/,t.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},i={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:r},contains:[o.exports.CLASS_REFERENCE]},a={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},c=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],l={$pattern:Pp,keyword:_N.concat(c),literal:RN,built_in:PN.concat(r),"variable.language":LN},d={className:"meta",begin:"@"+n},m=(b,y,w)=>{let R=b.contains.findIndex(A=>A.label===y);if(R===-1)throw new Error("can not find mode to replace");b.contains.splice(R,1,w)};Object.assign(o.keywords,l),o.exports.PARAMS_CONTAINS.push(d);let u=o.contains.find(b=>b.scope==="attr"),h=Object.assign({},u,{match:e.concat(n,e.lookahead(/\s*\?:/))});o.exports.PARAMS_CONTAINS.push([o.exports.CLASS_REFERENCE,u,h]),o.contains=o.contains.concat([d,s,i,h]),m(o,"shebang",t.SHEBANG()),m(o,"use_strict",a);let g=o.contains.find(b=>b.label==="func.def");return g.relevance=0,Object.assign(o,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),o}var Pp,_N,RN,CN,ON,MN,LN,PN,NN=p(()=>{Pp="[A-Za-z$_][0-9A-Za-z$_]*",_N=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],RN=["true","false","null","undefined","NaN","Infinity"],CN=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],ON=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],MN=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],LN=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],PN=[].concat(MN,CN,ON)});function DN(t){let e=t.regex,o=e.concat(/[\p{L}_]/u,e.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),n=/[\p{L}0-9._:-]+/u,r={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},s={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},i=t.inherit(s,{begin:/\(/,end:/\)/}),a=t.inherit(t.APOS_STRING_MODE,{className:"string"}),c=t.inherit(t.QUOTE_STRING_MODE,{className:"string"}),l={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:n,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[r]},{begin:/'/,end:/'/,contains:[r]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[s,c,a,i,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[s,i,c,a]}]}]},t.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},r,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[c]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[l],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[l],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:e.concat(/</,e.lookahead(e.concat(o,e.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:o,relevance:0,starts:l}]},{className:"tag",begin:e.concat(/<\//,e.lookahead(e.concat(o,/>/))),contains:[{className:"name",begin:o,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}var $N=p(()=>{});function FN(t){let e="true false yes no null",o="[\\w#;/?:@&=+$,.~*'()[\\]]+",n={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},r={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},s={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},i={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[t.BACKSLASH_ESCAPE,r]},a=t.inherit(i,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),u={className:"number",begin:"\\b"+"[0-9]{4}(-[0-9][0-9]){0,2}"+"([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?"+"(\\.[0-9]*)?"+"([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?"+"\\b"},h={end:",",endsWithParent:!0,excludeEnd:!0,keywords:e,relevance:0},g={begin:/\{/,end:/\}/,contains:[h],illegal:"\\n",relevance:0},b={begin:"\\[",end:"\\]",contains:[h],illegal:"\\n",relevance:0},y=[n,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+o},{className:"type",begin:"!<"+o+">"},{className:"type",begin:"!"+o},{className:"type",begin:"!!"+o},{className:"meta",begin:"&"+t.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+t.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},t.HASH_COMMENT_MODE,{beginKeywords:e,keywords:{literal:e}},u,{className:"number",begin:t.C_NUMBER_RE+"\\b",relevance:0},g,b,s,i],w=[...y];return w.pop(),w.push(a),h.contains=w,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:y}}var BN=p(()=>{});import{createLowlight as Y8}from"lowlight";function Fa(t){if(!t)return null;let e=t.trim().toLowerCase();if(e==="")return null;let o=V8[e]??e;return UN.registered(o)?o:null}function X8(t){if(!t)return"fg";let e=t.replace(/^hljs-/,"");switch(e.split(/[.\s]/)[0]??e){case"keyword":case"built_in":case"literal":case"operator":return"accent";case"string":case"regexp":case"char":case"subst":case"addition":return"success";case"comment":case"quote":case"meta":return"fgDim";case"number":case"symbol":case"bullet":case"link":return"accentDim";case"title":case"function":case"class":case"name":case"tag":case"attr":case"attribute":case"type":case"params":case"property":case"selector":case"section":case"variable":return"depth";case"deletion":return"danger";default:return"fg"}}function J8(t){let e=t.properties?.className;if(Array.isArray(e))return e[e.length-1];if(typeof e=="string")return e}function jN(t,e,o){if(t.type==="text"){let i=t.value;i!==""&&o.push({text:i,role:e});return}let n=t,r=n.type==="element"?X8(J8(n)):e,s=n.type==="element"&&r!=="fg"?r:e;for(let i of n.children??[])jN(i,s,o)}function Q8(t){let e=[];for(let o of t){let n=e[e.length-1];n&&n.role===o.role?e[e.length-1]={text:n.text+o.text,role:o.role}:e.push(o)}return e}function Xd(t,e){if(t==="")return[];let o=Fa(e);if(!o)return[{text:t,role:"fg"}];try{let n=UN.highlight(o,t),r=[];jN(n,"fg",r);let s=Q8(r);return s.length>0?s:[{text:t,role:"fg"}]}catch{return[{text:t,role:"fg"}]}}var UN,V8,Zx=p(()=>{"use strict";oN();rN();iN();cN();pN();gN();bN();kN();SN();AN();TN();NN();$N();BN();UN=Y8({bash:tN,css:nN,diff:sN,go:aN,javascript:fN,json:hN,markdown:yN,python:vN,rust:xN,shell:wN,sql:EN,typescript:IN,xml:DN,yaml:FN}),V8={ts:"typescript",tsx:"typescript",js:"javascript",jsx:"javascript",mjs:"javascript",cjs:"javascript",sh:"bash",zsh:"bash",shell:"shell",console:"shell",py:"python",rs:"rust",golang:"go",yml:"yaml",html:"xml",htm:"xml",svg:"xml",md:"markdown",markdown:"markdown",patch:"diff"}});import"react";import{Box as Ip,Text as HN}from"ink";import{jsx as Ba,jsxs as bi}from"react/jsx-runtime";function eS(t){let o=ne().box,n=Fa(t.lang),r=(n??t.lang??"code")+(t.open?" \u2026":""),s=t.code.split(`
|
|
594
|
+
`);return bi(Ip,{flexDirection:"column",paddingY:0,children:[bi(Ip,{children:[bi(f,{name:"fgDim",children:[o.topLeft,o.horizontal," "]}),Ba(f,{name:"depth",children:r}),bi(f,{name:"fgDim",children:[" ",o.horizontal.repeat(2)]})]}),s.map((i,a)=>bi(Ip,{children:[bi(f,{name:"fgDim",children:[o.vertical," "]}),Ba(Z8,{line:i,lang:n??t.lang})]},a)),Ba(Ip,{children:bi(f,{name:"fgDim",children:[o.bottomLeft,o.horizontal.repeat(3)]})})]})}function Z8(t){if(t.line==="")return Ba(HN,{children:" "});let e=Xd(t.line,t.lang);return Ba(HN,{children:e.map((o,n)=>Ba(f,{name:o.role,children:o.text},n))})}var tS=p(()=>{"use strict";ae();Zx()});function Tr(t){let e=[],o=t;for(;o.length>0;){let n=e4.exec(o);if(!n||n.index===void 0){e.push({kind:"plain",text:o});break}n.index>0&&e.push({kind:"plain",text:o.slice(0,n.index)});let r=n[0];n[1]?e.push({kind:"code",text:r.slice(1,-1)}):n[2]?e.push({kind:"link",text:n[3]??"",url:n[4]??""}):n[5]?e.push({kind:"bold",text:r.slice(3,-3)}):n[6]?e.push({kind:"bold",text:r.slice(2,-2)}):n[7]&&e.push({kind:"italic",text:r.slice(1,-1)}),o=o.slice(n.index+r.length)}return e.reduce((n,r)=>{let s=n[n.length-1];return r.kind==="plain"&&s&&s.kind==="plain"?n[n.length-1]={kind:"plain",text:s.text+r.text}:n.push(r),n},[])}function oS(t){let e=t.trim();return e.startsWith("|")&&(e=e.slice(1)),e.endsWith("|")&&!e.endsWith("\\|")&&(e=e.slice(0,-1)),e.split(/(?<!\\)\|/).map(n=>n.replace(/\\\|/g,"|").trim())}function qN(t){return/(?<!\\)\|/.test(t)}function a4(t){let e=oS(t);if(e.length===0)return null;let o=[];for(let n of e){if(!i4.test(n))return null;let r=n.startsWith(":"),s=n.endsWith(":");o.push(r&&s?"center":s?"right":"left")}return o}function nS(t){let e=t.split(`
|
|
595
595
|
`),o=[],n=null,r=()=>{n&&n.length>0&&o.push({kind:"paragraph",spans:n}),n=null};for(let s=0;s<e.length;s++){let i=e[s]??"",a=t4.exec(i);if(a){r();let h=(a[2]??"").trim()||void 0,g=[],b=!1,y=s+1;for(;y<e.length;y++){let w=e[y]??"";if(/^\s*```\s*$/.test(w)){b=!0;break}g.push(w)}o.push({kind:"code",lang:h,code:g.join(`
|
|
596
596
|
`),closed:b}),s=b?y:e.length;continue}if(i.trim()===""){r();continue}if(qN(i)){let h=s+1<e.length?a4(e[s+1]??""):null;if(h){r();let g=oS(i),b=g.length,y=[];for(let A=0;A<b;A++)y.push(h[A]??"left");let w=[],R=s+2;for(;R<e.length;R++){let A=e[R]??"";if(A.trim()===""||!qN(A))break;let L=oS(A),U=[];for(let j=0;j<b;j++)U.push(L[j]??"");w.push(U)}o.push({kind:"table",header:g,align:y,rows:w}),s=R-1;continue}}let c=o4.exec(i);if(c){r(),o.push({kind:"heading",level:c[1].length,spans:Tr(c[2]??"")});continue}let l=r4.exec(i);if(l){r(),o.push({kind:"list-item",ordered:!1,marker:"-",indent:Math.floor((l[1]??"").length/2),spans:Tr(l[3]??"")});continue}let d=s4.exec(i);if(d){r(),o.push({kind:"list-item",ordered:!0,marker:`${d[2]}.`,indent:Math.floor((d[1]??"").length/2),spans:Tr(d[3]??"")});continue}let m=n4.exec(i);if(m){r(),o.push({kind:"quote",spans:Tr(m[1]??"")});continue}let u=Tr(i);n=n?[...n,{kind:"plain",text:" "},...u]:u}return r(),o}var e4,t4,o4,n4,r4,s4,i4,Np=p(()=>{"use strict";e4=/(`[^`]+`)|(\[([^\]]+)\]\(([^)\s]+)\))|(\*\*\*[^*]+\*\*\*|(?<![\p{L}\p{N}_])___[^_]+___(?![\p{L}\p{N}_]))|(\*\*[^*]+\*\*|(?<![\p{L}\p{N}_])__[^_]+__(?![\p{L}\p{N}_]))|(\*[^*\n]+\*|(?<![\p{L}\p{N}_])_[^_\n]+_(?![\p{L}\p{N}_]))/u;t4=/^(\s*)```(.*)$/,o4=/^(#{1,6})\s+(.*)$/,n4=/^\s*>\s?(.*)$/,r4=/^(\s*)([-*+])\s+(.*)$/,s4=/^(\s*)(\d+)[.)]\s+(.*)$/,i4=/^:?-+:?$/});import WN from"react";import{Box as Dp,Text as rS}from"ink";import{jsx as _r,jsxs as sS}from"react/jsx-runtime";function $p(t){return Tr(t).map(e=>e.text).join("")}function iS(t){let e=ne(),o=e.box,n=t.base??"fg",r=e.colorMode==="mono",s=t.header.length,i=t.header.map($p),a=t.rows.map(h=>{let g=[];for(let b=0;b<s;b++)g.push($p(h[b]??""));return g}),c=JI(i,a,s,t.columns??0),l=e.unicode?`${o.horizontal}\u253C${o.horizontal}`:"-+-",d=c.map(h=>o.horizontal.repeat(h)).join(l),m=(h,g,b)=>{let y=$p(h),w=yi(y,g),R=Xx(w,g,b),A=Tr(R);return _r(Ua,{spans:A,base:n,mono:r})},u=" ".repeat(Vx);return sS(Dp,{flexDirection:"column",paddingY:0,children:[_r(Dp,{children:t.header.map((h,g)=>sS(WN.Fragment,{children:[g>0&&_r(rS,{children:u}),_r(f,{name:"accent",children:_r(rS,{bold:!0,children:Xx(yi($p(h),c[g]??0),c[g]??0,t.align[g]??"left")})})]},g))}),_r(Dp,{children:_r(f,{name:"fgDim",children:d})}),t.rows.map((h,g)=>_r(Dp,{children:h.map((b,y)=>sS(WN.Fragment,{children:[y>0&&_r(rS,{children:u}),m(b,c[y]??0,t.align[y]??"left")]},y))},g))]})}var aS=p(()=>{"use strict";ae();cS();Np();Mp()});import"react";import{Box as ja,Text as ls}from"ink";import{jsx as Ve,jsxs as bn}from"react/jsx-runtime";function lS(t){let e=t.baseRole??"fg",o=nS(t.text);return Ve(ja,{flexDirection:"column",children:o.map((n,r)=>Ve(c4,{block:n,base:e,...t.columns!==void 0?{columns:t.columns}:{}},r))})}function c4(t){let e=ne(),o=t.block,n=e.colorMode==="mono";switch(o.kind){case"code":return Ve(ja,{paddingY:0,children:Ve(eS,{code:o.code,lang:o.lang,open:!o.closed})});case"table":return Ve(iS,{header:o.header,align:o.align,rows:o.rows,base:t.base,...t.columns!==void 0?{columns:t.columns}:{}});case"heading":return bn(ja,{children:[n&&bn(f,{name:"accent",children:["#".repeat(o.level)," "]}),Ve(f,{name:"accent",children:Ve(Ua,{spans:o.spans,base:"accent",mono:n})})]});case"quote":return bn(ja,{children:[bn(f,{name:"depth",children:[e.glyph("you")," "]}),Ve(f,{name:"fgDim",children:Ve(Ua,{spans:o.spans,base:"fgDim",mono:n})})]});case"list-item":return bn(ja,{paddingLeft:o.indent*2,children:[bn(f,{name:"accent",children:[o.ordered?o.marker:e.unicode?"\u2022":"-"," "]}),Ve(ls,{children:Ve(Ua,{spans:o.spans,base:t.base,mono:n})})]});case"paragraph":return Ve(ja,{children:Ve(ls,{children:Ve(Ua,{spans:o.spans,base:t.base,mono:n})})})}}function Ua(t){return Ve(ls,{children:t.spans.map((e,o)=>Ve(l4,{span:e,base:t.base,mono:t.mono},o))})}function l4(t){let{span:e,base:o,mono:n}=t;switch(e.kind){case"plain":return Ve(f,{name:o,children:e.text});case"bold":return n?Ve(f,{name:o,children:bn(ls,{bold:!0,children:["*",e.text,"*"]})}):Ve(f,{name:o,children:Ve(ls,{bold:!0,children:e.text})});case"italic":return n?Ve(f,{name:o,children:bn(ls,{italic:!0,children:["_",e.text,"_"]})}):Ve(f,{name:o,children:Ve(ls,{italic:!0,children:e.text})});case"code":return n?bn(f,{name:"depth",children:["`",e.text,"`"]}):Ve(f,{name:"depth",children:e.text});case"link":return bn(ls,{children:[Ve(f,{name:"accent",children:e.text}),bn(f,{name:"fgDim",children:[" (",e.url,")"]})]})}}var cS=p(()=>{"use strict";ae();tS();aS();Np()});var dS=p(()=>{"use strict";cS();tS();aS();Np();Zx()});import"react";import{Box as d4,Text as Ibe}from"ink";import{jsx as Bp,jsxs as m4}from"react/jsx-runtime";function Up(t,e){return((t-e)%Fp+Fp)%Fp<Fp/2?"accent":"accentDim"}function vi(t){let e=ne(),o=t.frame??0;if(!e.animate)return Bp(f,{name:"accent",children:e.aluyMark});if(!e.unicode){let s=Up(o,0),i=Up(o,u4);return m4(d4,{children:[Bp(f,{name:s,children:"/"}),Bp(f,{name:i,children:"\\"})]})}let r=Up(o,0);return Bp(f,{name:r,children:e.aluyMark})}var Fp,u4,Jd=p(()=>{"use strict";ae();Fp=8,u4=2});function jp(t){return t>=uS?p4:0}function Hp(t){return t==="unsafe"?g4-h4:0}function Ha(t,e){if(e<=0||t.length<=e)return t;let o=Array.from(t);return o.length<=e?t:o.slice(o.length-e).join("").replace(/^\n+/,"")}function b4(t,e){if(t.kind==="tool"||t.kind==="bang")return t.status==="running"?1+GN(t.liveOutput,e):0;if(t.kind==="subagents"){let o=0;for(let n of t.children)o+=v4(n,e);return 2+o}return t.kind==="broker-error"?t.retrying===!0?5:0:t.kind==="aluy"?0:1}function GN(t,e){let o=(t??"").replace(/\n+$/,"");if(o.length===0)return 0;let n=e>0?e-y4:0,r=Na(o,n);return r<=Qd?r:Qd+1}function v4(t,e){if(!(e>0))return 1;let o=t.status==="running"?"rodando":t.status==="done"?"pronto":t.status==="cancelled"?"parado":"timeout",n=t.summary!==void 0&&t.status!=="running"?` \xB7 ${t.summary}`:"",r=` [${t.label}] x ${o}${n}`;return Math.max(1,Na(r,e))}function zp(t){let{live:e,phase:o,hasBlocks:n}=t,r=t.columns??0,s=0,i=e.find(a=>a.kind==="aluy"&&a.streaming);for(let a of e){if(a===i){s+=3;continue}s+=b4(a,r)}return(o==="thinking"||o==="compacting")&&(s+=1+(n?1:0)),s}function KN(t){let e=Zd+jp(t.rows)+Hp(t.mode)+zp({live:t.live,phase:t.phase,hasBlocks:t.hasBlocks,...t.columns!==void 0?{columns:t.columns}:{}})+Wp+(t.stagedLines??0);return Math.max(4,t.rows-e-1-qp)}function YN(t){let e=zp({live:t.live,phase:t.phase,hasBlocks:t.hasBlocks,...t.columns!==void 0?{columns:t.columns}:{}}),o=t.rows-Zd-jp(t.rows)-qp-e-Hp(t.mode)-(t.queuedLines??0)-(t.overlayLines??0)-1;return Math.max(Wp,o)}var f4,Zd,p4,uS,h4,g4,qp,Wp,Qd,Gp,zN,y4,qa=p(()=>{"use strict";eo();f4=9,Zd=8,p4=f4-Zd,uS=25;h4=1,g4=2;qp=2,Wp=4,Qd=6,Gp=8192,zN=65536;y4=4});import"react";import{Box as Ga,Text as k4}from"ink";import{jsx as Un,jsxs as Wa}from"react/jsx-runtime";function mS(t){let e=t.isCurrent===!1?"fgDim":"fg";return Wa(Ga,{flexDirection:"column",children:[Wa(Ga,{children:[Un(P,{name:"you",role:"fg"}),Un(f,{name:"fg",children:" voc\xEA"})]}),Un(Ga,{paddingLeft:2,children:Un(f,{name:e,children:t.text})})]})}function fS(t){let e=ne(),o=t.streaming?Ha(t.text,zN):t.text,n=Br(o),r=t.isCurrent===!1?"fgDim":"fg",s=t.columns&&t.columns>0?t.columns-x4:0,{text:i,hidden:a}=Da(n,t.streaming?t.maxLines:void 0,s),c=(t.frame??0)%S4,l=!e.animate||c<w4;return Wa(Ga,{flexDirection:"column",children:[Wa(Ga,{children:[t.streaming?Un(vi,{frame:t.frame??0}):Un(P,{name:"aluy",role:"accent"}),Un(f,{name:"accent",children:" aluy"})]}),Wa(Ga,{paddingLeft:2,flexDirection:"column",children:[a>0&&Wa(f,{name:"fgDim",children:["\u2026 (",a," linhas acima)"]}),Un(lS,{text:i,baseRole:r,...s>0?{columns:s}:{}}),t.streaming&&(l?Un(f,{name:"accent",children:e.glyph("thinkingCursor")}):Un(k4,{children:" "}))]})]})}var x4,S4,w4,VN=p(()=>{"use strict";D();ae();dS();Jd();eo();qa();x4=2,S4=10,w4=6});import"react";import{Box as A4,Text as XN}from"ink";import{jsx as za,jsxs as JN}from"react/jsx-runtime";function ki(t){let e=ne(),o=t.width??E4,n=t.frame??0,r=t.glyph??"aluy",s=t.glyphRole??"accent",i=e.animate,a=e.glyph("wave"),c=e.glyph("waveHead"),l=i?n%o:-1;return JN(A4,{children:[r==="aluy"?za(vi,{frame:n}):za(P,{name:r,role:s}),za(XN,{children:" "}),Array.from({length:o},(d,m)=>m===l?za(f,{name:"accent",children:c},m):za(f,{name:"accentDim",children:a},m)),za(XN,{children:" "}),JN(f,{name:"fgDim",children:[t.label,"\u2026"]})]})}var E4,Kp=p(()=>{"use strict";ae();Jd();E4=3});import"react";import{Box as xi,Text as pS}from"ink";import{jsx as Xo,jsxs as vn}from"react/jsx-runtime";function _4(t){return t.length>=QN?t:t+" ".repeat(QN-t.length)}function hS(t){let e=ne();if(t.status==="running"){let n=`${t.verbGerund??"rodando"}${t.target?` ${t.target}`:""}`,s=Ha(t.liveOutput??"",Gp).replace(/\n+$/,""),i=t.columns&&t.columns>0?t.columns-T4:0,{text:a,hidden:c}=Da(s,t.maxLines,i);return vn(xi,{flexDirection:"column",paddingLeft:2,children:[Xo(ki,{glyph:"toolInflight",glyphRole:"depth",label:n,...t.frame!==void 0?{frame:t.frame}:{}}),a.length>0&&vn(xi,{flexDirection:"column",paddingLeft:2,children:[c>0&&vn(f,{name:"fgDim",children:["\u2026 (",c," linhas acima)"]}),a.split(`
|
|
597
597
|
`).map((l,d)=>Xo(xi,{children:Xo(f,{name:"fgDim",children:l})},d))]})]})}let o=t.status==="err";return vn(xi,{flexDirection:"column",paddingLeft:2,children:[vn(xi,{children:[Xo(P,{name:"tool",role:"depth"}),vn(f,{name:"fg",children:[" ",_4(t.verb)]}),Xo(pS,{children:" "}),Xo(f,{name:"fg",children:t.target}),Xo(pS,{children:" "}),Xo(f,{name:"fgDim",children:t.result}),Xo(pS,{children:" "}),o?Xo(P,{name:"err",role:"danger"}):Xo(P,{name:"ok",role:"success"})]}),o&&t.output&&vn(xi,{flexDirection:"column",paddingLeft:2,children:[vn(f,{name:"fgDim",children:[e.box.topLeft," sa\xEDda ",e.box.horizontal.repeat(8)]}),t.output.split(`
|