@hiperplano/aluy-cli 1.0.0-rc.168 → 1.0.0-rc.169
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-bundle/bin/aluy.js +3 -3
- package/dist-bundle/index.js +3 -3
- package/package.json +1 -1
package/dist-bundle/bin/aluy.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
var wK=Object.create;var Xx=Object.defineProperty;var AK=Object.getOwnPropertyDescriptor;var EK=Object.getOwnPropertyNames;var CK=Object.getPrototypeOf,TK=Object.prototype.hasOwnProperty;var g=(e,t,o)=>()=>{if(o)throw o[0];try{return e&&(t=e(e=0)),t}catch(n){throw o=[n],n}};var RK=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(o){throw t=0,o}},Et=(e,t)=>{for(var o in t)Xx(e,o,{get:t[o],enumerable:!0})},DK=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of EK(t))!TK.call(e,r)&&r!==o&&Xx(e,r,{get:()=>t[r],enumerable:!(n=AK(t,r))||n.enumerable});return e};var _K=(e,t,o)=>(o=e!=null?wK(CK(e)):{},DK(t||!e||!e.__esModule?Xx(o,"default",{value:e,enumerable:!0}):o,e));import{homedir as MK}from"node:os";import{join as OK}from"node:path";function Ja(e=MK()){return OK(e,".aluy")}var nm=g(()=>{"use strict"});var rm,LM=g(()=>{"use strict";rm="1.0.0-rc.
|
|
2
|
+
var wK=Object.create;var Xx=Object.defineProperty;var AK=Object.getOwnPropertyDescriptor;var EK=Object.getOwnPropertyNames;var CK=Object.getPrototypeOf,TK=Object.prototype.hasOwnProperty;var g=(e,t,o)=>()=>{if(o)throw o[0];try{return e&&(t=e(e=0)),t}catch(n){throw o=[n],n}};var RK=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(o){throw t=0,o}},Et=(e,t)=>{for(var o in t)Xx(e,o,{get:t[o],enumerable:!0})},DK=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of EK(t))!TK.call(e,r)&&r!==o&&Xx(e,r,{get:()=>t[r],enumerable:!(n=AK(t,r))||n.enumerable});return e};var _K=(e,t,o)=>(o=e!=null?wK(CK(e)):{},DK(t||!e||!e.__esModule?Xx(o,"default",{value:e,enumerable:!0}):o,e));import{homedir as MK}from"node:os";import{join as OK}from"node:path";function Ja(e=MK()){return OK(e,".aluy")}var nm=g(()=>{"use strict"});var rm,LM=g(()=>{"use strict";rm="1.0.0-rc.169"});function _r(e,t){return e.decide(t)}var Qa=g(()=>{"use strict"});var mi,zi,Vi=g(()=>{"use strict";mi="remember",zi="recall"});var Jx,PK,Uc,Qx=g(()=>{"use strict";Jx=class{id;horizon;label;parentId;children;dependencies;pinned;closed;createdAt;lastAccessedAt;accessCount;context;constructor(t,o,n,r,i){this.id=t,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=i,this.lastAccessedAt=i,this.accessCount=0,this.context=[]}touch(t){this.lastAccessedAt=t,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}}},PK=200,Uc=class{nodes=new Map;maxBoxes;now;constructor(t){this.maxBoxes=t?.maxBoxes??PK,this.now=t?.clock??Date.now}static boxId(t,o){return`${t.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"").slice(0,60)}-${o.toString(36)}`}openBox(t,o,n,r){let i=this.nodes.get(t);if(i)return i.touch(this.now()),{box:i.snapshot(),created:!1};if(this.nodes.size>=this.maxBoxes&&(this.evictOne(),this.nodes.size>=this.maxBoxes))return null;let s=this.now(),a=new Jx(t,o,n,r??null,s);if(r){let l=this.nodes.get(r);l&&l.children.add(t)}return this.nodes.set(t,a),{box:a.snapshot(),created:!0}}closeBox(t){let o=this.nodes.get(t);return o?(o.closed=!0,o.touch(this.now()),o.snapshot()):null}isClosed(t){let o=this.nodes.get(t);return o?o.closed:!1}reopenBox(t){let o=this.nodes.get(t);return o?(o.closed=!1,o.touch(this.now()),o.snapshot()):null}setHorizon(t,o){let n=this.nodes.get(t);return n?(n.horizon=o,n.touch(this.now()),n.snapshot()):null}setParent(t,o){let n=this.nodes.get(t);return n?n.parentId===o?n.snapshot():o!==null&&this.wouldCreateCycle(t,o)?null:(n.parentId&&this.nodes.get(n.parentId)?.children.delete(t),n.parentId=o,o&&this.nodes.get(o)?.children.add(t),n.touch(this.now()),n.snapshot()):null}wouldCreateCycle(t,o){let n=new Set,r=o;for(;r!==null;){if(r===t||n.has(r))return!0;n.add(r),r=this.nodes.get(r)?.parentId??null}return!1}getBox(t){let o=this.nodes.get(t);return o?(o.touch(this.now()),o.snapshot()):null}listBoxes(t="lastAccessedAt"){let o=[...this.nodes.values()].map(n=>n.snapshot());switch(t){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(t,o){let n=this.nodes.get(t);return n?(n.context.push({ts:this.now(),text:o}),n.touch(this.now()),n.snapshot()):null}getContext(t){let o=this.nodes.get(t);return o?(o.touch(this.now()),[...o.context]):[]}getContextChain(t){let o=[],n=new Set,r=t;for(;r&&!n.has(r);){n.add(r);let i=this.nodes.get(r);if(!i)break;i.touch(this.now()),o.push({boxId:i.id,entries:[...i.context]}),r=i.parentId}return o}addDependency(t,o){let n=this.nodes.get(t);return!n||!this.nodes.has(o)||n.id===o?!1:(n.dependencies.add(o),n.touch(this.now()),!0)}getDependencies(t){let o=this.nodes.get(t);return o?[...o.dependencies]:[]}pinBox(t){let o=this.nodes.get(t);return o?(o.pinned=!0,o.touch(this.now()),o.snapshot()):null}unpinBox(t){let o=this.nodes.get(t);return o?(o.pinned=!1,o.touch(this.now()),o.snapshot()):null}evictOne(){let t=[];for(let n of this.nodes.values())n.horizon==="longo"||n.pinned||t.push(n);if(t.length===0)return null;t.sort((n,r)=>{let i=n.horizon==="curto"?0:1,s=r.horizon==="curto"?0:1;if(i!==s)return i-s;let a=n.closed?0:1,l=r.closed?0:1;return a!==l?a-l:n.lastAccessedAt!==r.lastAccessedAt?n.lastAccessedAt-r.lastAccessedAt:n.accessCount-r.accessCount});let o=t[0];return this.removeNode(o)}forceEvict(t){let o=this.nodes.get(t);return!o||o.horizon==="longo"||o.pinned?null:this.removeNode(o)}removeBox(t){let o=this.nodes.get(t);return o?this.removeNode(o):null}removeNode(t){if(t.parentId){let o=this.nodes.get(t.parentId);o&&o.children.delete(t.id)}return this.nodes.delete(t.id),t.snapshot()}}});function fi(e,t){for(let o of t){let n=e[o];if(typeof n=="string")return n;if(typeof n=="number"&&Number.isFinite(n))return String(n)}}function $n(e,t){let o=fi(e,t);return o!==void 0&&o.length>0?o:void 0}function Zx(e,t,o=!1){let n=e[t];if(typeof n=="boolean")return n;if(typeof n=="string"){let r=n.trim().toLowerCase();if(r==="true")return!0;if(r==="false")return!1}return o}function LK(e){if(Array.isArray(e))return e;if(typeof e=="string"){let t=e.trim();if(t.startsWith("["))try{let o=JSON.parse(t);if(Array.isArray(o))return o}catch{}return}if(e!==null&&typeof e=="object"){let t=e,o=Object.keys(t);if(o.length>0&&o.every(n=>/^\d+$/.test(n)))return o.sort((n,r)=>Number(n)-Number(r)).map(n=>t[n])}}function jc(e,t){for(let o of t){let n=LK(e[o]);if(n!==void 0)return n}}function Ct(e){let t=Object.keys(e);return t.length===0?"nenhum argumento":t.slice(0,4).map(n=>{let r=e[n],i=r===null?"null":Array.isArray(r)?"array":typeof r,s=typeof r=="string"?` ${JSON.stringify(r.slice(0,40))}`:"";return`${n}=${i}${s}`}).join(", ")}function Za(e){for(let t of IK){let o=e[t];if(typeof o=="object"&&o!==null&&!Array.isArray(o))return o;if(typeof o!="string")continue;let n=o.trim();if(!(n===""||!n.startsWith("{")))try{let r=JSON.parse(n);if(typeof r=="object"&&r!==null&&!Array.isArray(r))return r}catch{}}return e}var IK,Ki=g(()=>{"use strict";IK=["input","arguments","args","params","parameters","body","payload"]});function Ch(e){let t=[];for(let o of e){t.push({step:o,depth:0});for(let n of o.substeps??[])t.push({step:n,depth:1})}return t}function $M(e,t){let o,n="pending",r;if(typeof e=="string")o=e;else if(e!==null&&typeof e=="object"){let s=e,a=s.title??s.step??s.text??s.name??s.content;if(typeof a=="string"&&(o=a),typeof s.status=="string"&&NK.has(s.status)&&(n=s.status),t){let l=s.substeps??s.subtasks??s.subpassos??s.children;if(Array.isArray(l)&&l.length>0){let c=[];for(let d of l){let m=$M(d,!1);if(typeof m=="string")return m;c.push(m)}r=c}}}if(o===void 0||o.trim()==="")return $K;let i=o.trim().slice(0,FK);return r?{title:i,status:n,substeps:r}:{title:i,status:n}}function BM(e){let t=jc(e,IM);if(t!==void 0)return t;for(let o of IM){let n=e[o];if(n===null||typeof n!="object"||Array.isArray(n))continue;let r=BM(n);if(r!==void 0)return r}}function BK(e){let t=BM(e);if(t===void 0)return{error:`update_plan: passe "steps" como uma LISTA de passos (string ou {title,status}). Recebi: ${Ct(e)}.`};if(t.length===0)return{error:"update_plan: a lista de passos est\xE1 vazia."};let o=[];for(let s of t){let a=$M(s,!0);if(typeof a=="string")return{error:a};o.push(a)}let n=new Set,r=s=>{if(!n.has(s))return n.add(s),s;for(let a=2;;a++){let l=`${s} #${a}`;if(!n.has(l))return n.add(l),l}};for(let s=0;s<o.length;s++){let a=o[s],l=r(a.title),c=a.substeps?.map(d=>({...d,title:r(d.title)}));o[s]=c!==void 0?{...a,title:l,substeps:c}:{...a,title:l}}let i=Ch(o).length;return i>NM?{error:`update_plan: no m\xE1ximo ${NM} passos (recebidos ${i}).`}:{steps:o}}function UK(e){let t=Ch(e),o=t.filter(r=>r.step.status==="completed").length,n=t.map(r=>`${" ".repeat(r.depth)}${UM[r.step.status]} ${r.step.title}`).join(`
|
|
3
3
|
`);return`plano (${o}/${t.length}):
|
|
4
4
|
${n}`}function qK(e,t){return t<0?"m\xE9dio":e===t?"curto":e>t?"longo":"m\xE9dio"}function HK(e,t){let o=new Map;for(let s of t.listBoxes())o.set(s.label,s.id);let n=e.findIndex(s=>s.status==="in_progress"||(s.substeps??[]).some(a=>a.status==="in_progress")),r=(s,a,l)=>{let c=s.status==="in_progress"?"curto":l,d=o.get(s.title),m=d??Uc.boxId(s.title,0);return d?(s.status!=="completed"&&t.isClosed(d)&&t.reopenBox(d),t.setHorizon(d,c),t.setParent(d,a)):t.openBox(m,c,s.title,a),s.status==="completed"&&!t.isClosed(m)&&t.closeBox(m),o.set(s.title,m),m};e.forEach((s,a)=>{let l=qK(a,n),c=r(s,null,l);for(let d of s.substeps??[])r(d,c,l)});let i=new Set;for(let s of e){i.add(s.title);for(let a of s.substeps??[])i.add(a.title)}for(let s of t.listBoxes())i.has(s.label)||t.removeBox(s.id)}function WK(e,t){if(!t)return UK(e);let o=new Map;for(let c of t.listBoxes())o.set(c.label,c);let n=new Map;for(let c of t.listBoxes())n.set(c.id,c);let r=new Map,i=(c,d=new Set)=>{let m=r.get(c);if(m!==void 0)return m;let u=n.get(c);if(!u||!u.parentId||d.has(c))return r.set(c,0),0;let p=i(u.parentId,new Set(d).add(c))+1;return r.set(c,p),p},s=Ch(e),l=[`plano (${s.filter(c=>c.step.status==="completed").length}/${s.length}):`];for(let{step:c,depth:d}of s){let m=o.get(c.title),u=m?jK[m.horizon]:"",p=m?i(m.id):d,h=" ".repeat(p),b=UM[c.status];l.push(`${h}${u} ${b} ${c.title}`)}return l.join(`
|
|
5
5
|
`)}var im,IM,NK,NM,FK,$K,UM,jK,FM,GK,jM,Th=g(()=>{"use strict";Qx();Ki();im="update_plan",IM=["steps","plan","todos","items"];NK=new Set(["pending","in_progress","completed"]),NM=30,FK=120,$K="update_plan: cada passo precisa de um t\xEDtulo (texto) n\xE3o-vazio.";UM={pending:"\u2610",in_progress:"\u25B6",completed:"\u2611"};jK={longo:"[\u{1F4D0}]",m\u00E9dio:"[\u{1F4CB}]",curto:"[\u{1F4CC}]"};FM=Object.freeze({type:"string",enum:["pending","in_progress","completed"],description:"pending (a fazer) \xB7 in_progress (em curso) \xB7 completed (feito)."}),GK=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:FM,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:FM},required:["title"],additionalProperties:!1}}},required:["title"],additionalProperties:!1}}},required:["steps"],additionalProperties:!1}),jM={name:im,effect:"read",group:"plano",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:GK,async run(e,t){let o=BK(e);return"error"in o?{ok:!1,observation:o.error}:(t.graph&&HK(o.steps,t.graph),t.plan&&t.plan.set(Ch(o.steps).map(r=>({title:r.step.title,status:r.step.status}))),{ok:!0,observation:WK(o.steps,t.graph)})}}});function HM(e){let t=e.question??e.prompt??e.text??e.message;if(typeof t!="string"||t.trim()==="")return{error:`perguntar: passe "question" (a pergunta em texto). Para escolha, passe tamb\xE9m "options". Recebi: ${Ct(e)}.`};let o=t.trim().slice(0,qM),n=e.header??e.title,r=typeof n=="string"&&n.trim()!==""?n.trim().slice(0,zK):void 0,i=e.options!==void 0||e.choices!==void 0,s=jc(e,["options","choices"]);if(i&&s===void 0)return{error:`perguntar: "options" n\xE3o foi reconhecido como uma LISTA de op\xE7\xF5es. Recebi: ${Ct(e)}.`};let a=s!==void 0?XK(s):void 0;if(typeof a=="string")return{error:a};let l,c=e.kind??e.type;if(typeof c=="string"&&YK.has(c))l=c;else{if(typeof c=="string"&&c.trim()!=="")return{error:`perguntar: "kind" inv\xE1lido "${c}". Use "single", "multi" ou "text".`};l=a!==void 0&&a.length>0?"single":"text"}if((l==="single"||l==="multi")&&(a===void 0||a.length===0))return{error:`perguntar: kind "${l}" requer "options" (uma lista de ao menos 1 op\xE7\xE3o).`};let d=e.allowOther,m=!(d===!1||typeof d=="string"&&d.trim().toLowerCase()==="false");return{spec:{kind:l,question:o,...r!==void 0?{header:r}:{},...l!=="text"&&a!==void 0?{options:a}:{},...l!=="text"?{allowOther:m}:{}}}}function XK(e){if(e.length===0)return'perguntar: a lista de "options" est\xE1 vazia.';if(e.length>Dh)return`perguntar: no m\xE1ximo ${Dh} op\xE7\xF5es (recebidas ${e.length}).`;let t=[];for(let o of e){let n,r;if(typeof o=="string")n=o;else if(o!==null&&typeof o=="object"){let i=o,s=i.label??i.text??i.value??i.name??i.title;typeof s=="string"&&(n=s),typeof i.description=="string"&&i.description.trim()!==""&&(r=i.description.trim().slice(0,KK))}if(n===void 0||n.trim()==="")return'perguntar: cada op\xE7\xE3o precisa de um "label" (texto) n\xE3o-vazio.';t.push({label:n.trim().slice(0,VK),...r!==void 0?{description:r}:{}})}return t}function JK(e){switch(e.kind){case"choice":return e.label;case"choices":return e.labels.length===0?"(nenhuma)":e.labels.join(", ");case"text":{let t=e.text.split(`
|
|
@@ -178,7 +178,7 @@ ${e.trim()}`}}function ib(e,t,o=Dd){let{older:n,recent:r}=Pf(e,o);if(n.length===
|
|
|
178
178
|
`);let a=dn(process.execPath,[r,"-p",o,"--yolo","--no-self-check","--anonymous"],{stdio:"inherit",timeout:9e5,env:{...process.env,ALUY_OVERWRITE_RENDER:"0",ALUY_SYNC_OUTPUT:"0",ALUY_NO_WEAK_YOLO_WARN:"1",ALUY_PRINT_VERBOSE:"1"}});if(e==="mem0")try{let p=Ne(mr(),ts),h=Ne(p,Br);vt(p)&&Wb(zb(),h)}catch{}e==="ollama"&&(await nZ(),rZ()),process.stderr.write(`
|
|
179
179
|
verificando "${e}"\u2026 (alguns segundos; a pr\xF3xima etapa vem em seguida)
|
|
180
180
|
`);let l=await t0(e,process.platform,!0);for(let p=0;p<eZ&&!l;p++)await oZ(tZ),l=await t0(e,process.platform,!0);let c=a.error===void 0&&a.status===0,d=c?n&&l?"already-present":l?"installed":"failed":l?"failed-but-present":"failed",u=d==="installed"?`complemento "${e}" instalado e verificado.`:d==="already-present"?`complemento "${e}" J\xC1 ESTAVA presente antes desta execu\xE7\xE3o \u2014 verificado, nada novo foi instalado.`:d==="failed-but-present"?`\u26A0 o instalador via agente N\xC3O rodou at\xE9 o fim (${L1(a)}) \u2014 o complemento "${e}" N\xC3O foi provisionado por ele. `+(n?"O que responde aqui \xE9 a instala\xE7\xE3o que J\xC1 existia nesta m\xE1quina.":"O health-check passa por conta dos passos determin\xEDsticos que rodam fora do agente \u2014 o provisionamento completo N\xC3O aconteceu.")+" Resolva a falha acima e re-rode `aluy bootstrap`.":`o complemento "${e}" ainda n\xE3o respondeu como esperado`+(c?"":` \u2014 o instalador via agente falhou (${L1(a)})`)+". O Aluy CLI funciona sem ele; Voc\xEA pode tentar de novo depois com `aluy bootstrap`.";return{target:e,hashOk:l,installed:l,outcome:d,message:u}}function L1(e){return e.error!==void 0?e.signal!==null&&e.signal!==void 0?`interrompido por ${e.signal}`:`n\xE3o executou: ${e.error.message}`:e.signal!==null&&e.signal!==void 0?`interrompido por ${e.signal}`:`saiu com c\xF3digo ${e.status??"?"}; veja o erro impresso acima`}function oZ(e){return new Promise(t=>setTimeout(t,e))}async function nZ(){for(let e of[Nr,Vb()])try{await(await fetch(`http://${dr}:${Si}/api/pull`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({name:e,stream:!1})})).text()}catch{}}function rZ(){if(process.platform!=="win32")try{let e=dn("sh",["-lc","command -v ollama"],{encoding:"utf8",timeout:1e4});if(e.status===0&&(e.stdout??"").trim()!=="")return;let t=Gb(),n=["/usr/local/bin/ollama","/usr/bin/ollama","/opt/homebrew/bin/ollama",Ne(t,".ollama","bin","ollama"),Ne(mr(),ea,"bin","ollama")].find(s=>vt(s));if(n===void 0)return;let r=Ne(t,".local","bin");n0(r,{recursive:!0});let i=Ne(r,"ollama");try{if(_1(i)===_1(n))return;NQ(i)}catch{}try{IQ(n,i)}catch{}}catch{}}function iZ(){try{return dn("python3",["-m","venv","--help"],{timeout:1e4}).status===0}catch{return!1}}function sZ(){try{return dn("python3",["-m","pip","--version"],{timeout:1e4}).status===0}catch{return!1}}function aZ(e){let t=[],o=[];if(e.has("ollama")&&(N1()||(t.push("zstd (extrair o Ollama)"),o.push("zstd")),F1()||(t.push("tar (extrair o Ollama)"),o.push("tar"))),e.has("mem0")||e.has("headroom")){let r=i0();r.ok?(iZ()||(t.push("m\xF3dulo venv do Python (mem0/headroom criam um virtualenv)"),o.push("python3-venv")),sZ()||(t.push("pip do Python (mem0/headroom instalam pacotes)"),o.push("python3-pip"))):(t.push(`python3 >= ${Nf} para mem0/headroom (encontrado: ${r.version||"nenhum"})`),o.push("python3","python3-venv","python3-pip"))}if(t.length===0)return[];let n=[...new Set(o)];return["Faltam pr\xE9-requisitos para o modo turbo (o que conseguir, instala; o resto fica de fora):",...t.map(r=>` \u2022 ${r}`),`Instale e rode \`aluy bootstrap\` de novo: sudo apt install -y ${n.join(" ")}`,""]}async function B1(e,t,o){let n=e??"turbo",r=Fr(t??{}),i=o?.useAgent!==!1,s=new o0({...o?.platform?{platform:o.platform}:{},...i?{agentInstaller:ZQ}:{}});if(!i)for(let a of aZ(r))process.stderr.write(a+`
|
|
181
|
-
`);return s.provisionAll(n,r)}var I1,Wd,UQ,Br,O1,o0,P1,JQ,eZ,tZ,s0=g(()=>{"use strict";N();I1=".aluy",Wd=448,UQ=384;Br="aluy-mem0-server.py";O1="application/vnd.ollama.image.model";o0=class{platform;agentInstaller;constructor(t={}){this.platform=t.platform??process.platform,this.agentInstaller=t.agentInstaller}hasPinnedArtifact(){return this.platform==="linux"}async isProvisioned(t){switch(t){case"ollama":{let o=Ne(mr(),ea,"bin","ollama");return vt(o)}case"mem0":{let o=Ne(mr(),ts,"bin","python3");return vt(o)&&rp(o)}case"headroom":{let o=Ne(mr(),ta,"bin","headroom");return vt(o)}default:return!1}}async provision(t,o){let n=$Q().uid;if(hC(n))return{target:t,hashOk:!1,installed:!1,message:"RECUSA ROOT (uid=0): provisionamento de sidecars \xE9 user-space. Execute como usu\xE1rio normal."};if(this.agentInstaller)return this.agentInstaller(t,o);if(!this.hasPinnedArtifact())return{target:t,hashOk:!1,installed:!1,message:`SO '${this.platform}' sem artefato pinado p/ provisionamento direto. Rode \`aluy bootstrap\` (o aluy instala via o pr\xF3prio agente, \u26A0 --yolo) ou instale manualmente.`};switch(t){case"ollama":return GQ();case"mem0":return YQ();case"headroom":return XQ();default:return{target:t,hashOk:!1,installed:!1,message:`Alvo desconhecido: ${String(t)}`}}}async provisionAll(t,o){if(!$f(t))return{profile:t,targets:[],anySuccess:!1,allFailed:!1};let n=[],r=[...o];for(let a=0;a<r.length;a++){let l=r[a],c={index:a+1,total:r.length,plan:r};try{n.push(await this.provision(l,c))}catch(d){let m=d instanceof Error?d.message:String(d);n.push({target:l,hashOk:!1,installed:!1,message:`falha inesperada ao provisionar \u2014 seguindo p/ os pr\xF3ximos (${m}).`})}}let i=n.some(a=>a.installed),s=n.length>0&&n.every(a=>!a.installed);return{profile:t,targets:n,anySuccess:i,allFailed:s}}},P1="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",JQ="IMPORTANTE \u2014 o usu\xE1rio quer ACOMPANHAR: antes de cada passo, diga em 1 linha o que vai fazer; rode os comandos de instala\xE7\xE3o de forma VIS\xCDVEL (N\xC3O silencie pip/apt/curl com -q; mostre a sa\xEDda/progresso). Sem modo silencioso. ";eZ=24,tZ=5e3});var Eo,Ll=g(()=>{"use strict";Eo="1.0.0-rc.168"});var W1={};Et(W1,{HELP_TEXT:()=>j1,parseArgs:()=>l0,suggestFlag:()=>a0,versionText:()=>q1});function qt(e,t,o={}){let n=`--${t}=`;for(let r=0;r<e.length;r++){let i=e[r];if(i===`--${t}`){let s=e[r+1];return s===void 0||(o.allowDashValue?s.startsWith("--"):s.startsWith("-"))?void 0:s}if(i!==void 0&&i.startsWith(n))return i.slice(n.length)}}function lZ(e,t){let o=`-${t}=`;for(let n=0;n<e.length;n++){let r=e[n];if(r===`-${t}`){let i=e[n+1];return i!==void 0&&!i.startsWith("-")?i:void 0}if(r!==void 0&&r.startsWith(o))return r.slice(o.length)}}function cZ(e,t){let o=[],n=new Set,r=`--${t}=`;for(let i=0;i<e.length;i++){let s=e[i];if(s!==void 0){if(s===`--${t}`){let a=e[i+1];a!==void 0&&!a.startsWith("-")&&(o.push(a),n.add(i+1));continue}s.startsWith(r)&&o.push(s.slice(r.length))}}return{values:o,valueIndices:n}}function q1(){return`aluy ${Eo} (@hiperplano/aluy-cli-core ${rm})`}function mZ(e,t){let o=e.length,n=t.length,r=Array.from({length:n+1},(i,s)=>s);for(let i=1;i<=o;i++){let s=[i];for(let a=1;a<=n;a++){let l=e[i-1]===t[a-1]?0:1;s[a]=Math.min(r[a]+1,s[a-1]+1,r[a-1]+l)}r=s}return r[n]}function a0(e){let t,o=3;for(let n of H1){let r=mZ(e,n);r<o&&(o=r,t=n)}return t}function fZ(e,t){let o=[];for(let n=0;n<e.length;n++){let r=e[n];if(r==="--")break;if(!r.startsWith("--")||r.length===2||t.has(n))continue;let i=r.slice(2).split("=",1)[0];i===""||H1.has(i)||o.push(`--${i}`)}return o}function l0(e){let t=e[0];if(t==="login"&&!e.includes("-h")&&!e.includes("--help")){let J=e.slice(1),Me=qt(J,"token"),vo=qt(J,"org"),to=J.includes("--device"),oo=qt(J,"provider"),Os=J.includes("--oauth");return{kind:"login",forceDeviceFlow:to,...Me!==void 0?{token:Me}:{},...vo!==void 0?{org:vo}:{},...oo!==void 0?{provider:oo}:{},...Os?{oauth:!0}:{}}}if(t==="logout"&&!e.includes("-h")&&!e.includes("--help"))return{kind:"logout"};if(t==="whoami"&&!e.includes("-h")&&!e.includes("--help"))return{kind:"whoami"};if(t==="doctor"&&!e.includes("-h")&&!e.includes("--help")){let J=e.includes("--deep")||e.includes("--test"),Me=e.includes("--json");return{kind:"doctor",deep:J,json:Me}}if(t==="config"&&!e.includes("-h")&&!e.includes("--help"))return{kind:"config",json:e.includes("--json")};if(t==="agents"&&!e.includes("-h")&&!e.includes("--help"))return{kind:"agents"};if(t==="bootstrap"&&!e.includes("-h")&&!e.includes("--help"))return{kind:"bootstrap",agent:!e.includes("--no-agent")};if(t==="uninstall"&&!e.includes("-h")&&!e.includes("--help"))return{kind:"uninstall",agent:e.includes("--agent")};if(t==="onboard"&&!e.includes("-h")&&!e.includes("--help"))return{kind:"onboard"};if(t==="skills"&&!e.includes("-h")&&!e.includes("--help"))return{kind:"skills"};if(t==="workflows"&&!e.includes("-h")&&!e.includes("--help"))return{kind:"workflows"};if((t==="models"||t==="providers")&&!e.includes("-h")&&!e.includes("--help")){let J=e.includes("--json"),Me=e.findIndex(to=>to==="--backend"||to.startsWith("--backend=")),vo="both";if(Me!==-1){let oo=(e[Me].includes("=")?e[Me].slice(10):e[Me+1]??"").trim().toLowerCase();oo==="local"?vo="local":oo==="broker"&&(vo="broker")}return{kind:"models",scope:vo,json:J,which:t==="providers"?"providers":"models"}}if(t==="telegram"&&!e.includes("-h")&&!e.includes("--help")){let J=e[1];if(J===void 0||!["login","logout","allow","deny","status"].includes(J))return{kind:"usage-error",message:"uso: aluy telegram <login|logout|allow|deny|status>",exitCode:2};let vo=e.slice(2);if(J==="login"){let to=qt(vo,"token");return{kind:"telegram",sub:"login",...to!==void 0?{token:to}:{}}}if(J==="allow"||J==="deny"){let to=vo.find(Os=>!Os.startsWith("-")),oo=to!==void 0&&/^-?\d+$/.test(to)?Number(to):void 0;return oo===void 0?{kind:"usage-error",message:`uso: aluy telegram ${J} <chat-id> (um inteiro)`,exitCode:2}:{kind:"telegram",sub:J,chatId:oo}}return{kind:"telegram",sub:J}}if(t==="mcp"&&e[1]==="search"&&!e.includes("-h")&&!e.includes("--help"))return{kind:"mcp-search",query:e.slice(2).filter(Me=>!Me.startsWith("-")).join(" ").trim()};if(t==="mcp")return{kind:"mcp",argv:e.slice(1)};if(t==="cron")return{kind:"cron",argv:e.slice(1)};if(t==="service")return{kind:"service",argv:e.slice(1)};if(e.includes("-v")||e.includes("--version"))return{kind:"version",text:q1()};if(e.includes("-h")||e.includes("--help"))return{kind:"help",text:j1};let o=e.includes("--plan"),n=e.includes("--unsafe"),r=e.includes("--yolo")||n,i=o?"plan":r?"unsafe":"normal",s=e.includes("--dense"),a=e.includes("--ascii"),l=e.includes("--telegram"),c=e.includes("--split")||e.includes("--view")?!0:void 0,d=e.includes("--fullscreen")||e.includes("--cockpit")?!0:void 0,m=e.includes("--no-budget")?!1:e.includes("--budget")?!0:void 0,u=qt(e,"tier"),p=qt(e,"lang"),h=qt(e,"max-tokens"),b=qt(e,"max-iterations"),y=qt(e,"max-output-tokens"),v=!(e.includes("--no-subagents")||e.includes("--no-subagent")),S=e.includes("--no-self-check")?"0":e.includes("--self-check")?"1":void 0,w=e.includes("--no-autocompact")?"off":qt(e,"autocompact-at"),T=e.includes("--quiet")?!0:void 0,M=e.includes("--cycle")?!0:void 0,_=qt(e,"cycles"),L=qt(e,"cycle-for"),{values:B,valueIndices:I}=cZ(e,"image"),F=qt(e,"backend"),U=qt(e,"local-provider"),W=qt(e,"local-model"),$=qt(e,"local-auth"),z=qt(e,"local-base-url"),Ce=qt(e,"model"),ke=qt(e,"provider");if((e.includes("--provider")||e.some(J=>J.startsWith("--provider=")))&&(Ce===void 0||Ce.trim()===""))return{kind:"usage-error",message:"aluy: --provider exige --model (ex.: --provider <provider> --model <slug>)",exitCode:2};if((Ce===void 0||Ce.trim()==="")&&u!==void 0&&u.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 Z=qt(e,"effort"),ve=e.includes("--effort")||e.some(J=>J.startsWith("--effort=")),se;if(Z!==void 0){if(Z.trim()==="")return{kind:"usage-error",message:"aluy: --effort requer um valor (ex.: --effort low)",exitCode:2};if(Z.length>32)return{kind:"usage-error",message:"aluy: --effort aceita no m\xE1ximo 32 caracteres",exitCode:2};se=Z}else if(ve)return{kind:"usage-error",message:"aluy: --effort requer um valor (ex.: --effort low)",exitCode:2};let Te=e.includes("-p")||e.includes("--print")||e.includes("--exec")||e.some(J=>J.startsWith("-p=")||J.startsWith("--print=")||J.startsWith("--exec=")),ge=Te?qt(e,"print",{allowDashValue:!0})??qt(e,"exec",{allowDashValue:!0})??lZ(e,"p")??void 0:void 0,ne=Te?qt(e,"output-format"):void 0;if(ne!==void 0&&!["text","json","stream-json"].includes(ne.trim()))return{kind:"usage-error",message:`aluy: --output-format inv\xE1lido "${ne}" (use text | json | stream-json)`,exitCode:2};let Fe=e.includes("--new"),bt=e.includes("--continue"),ue=e.indexOf("--resume"),_e=e.find(J=>J.startsWith("--resume=")),Ve=ue>=0||_e!==void 0,Ot=e.includes("--anonymous");if(Ot&&(bt||Ve))return{kind:"usage-error",message:"aluy: --anonymous n\xE3o combina com --continue/--resume (retomar precisa de uma sess\xE3o salva; an\xF4nimo n\xE3o grava nenhuma). Escolha um dos dois.",exitCode:2};let Be;if(_e!==void 0)Be=_e.slice(9);else if(ue>=0){let J=e[ue+1];J!==void 0&&!J.startsWith("-")&&(Be=J)}let je=u!==void 0?e.indexOf("--tier")+1:-1,Q=p!==void 0&&!e.some(J=>J.startsWith("--lang="))?e.indexOf("--lang")+1:-1,$t=Be!==void 0&&_e===void 0?ue+1:-1,Kt=h!==void 0&&!e.some(J=>J.startsWith("--max-tokens="))?e.indexOf("--max-tokens")+1:-1,Bt=b!==void 0&&!e.some(J=>J.startsWith("--max-iterations="))?e.indexOf("--max-iterations")+1:-1,ae=_!==void 0&&!e.some(J=>J.startsWith("--cycles="))?e.indexOf("--cycles")+1:-1,we=L!==void 0&&!e.some(J=>J.startsWith("--cycle-for="))?e.indexOf("--cycle-for")+1:-1,Mo=y!==void 0&&!e.some(J=>J.startsWith("--max-output-tokens="))?e.indexOf("--max-output-tokens")+1:-1,or=w!==void 0&&!e.includes("--no-autocompact")&&!e.some(J=>J.startsWith("--autocompact-at="))?e.indexOf("--autocompact-at")+1:-1,H=F!==void 0&&!e.some(J=>J.startsWith("--backend="))?e.indexOf("--backend")+1:-1,K=(J,Me)=>Me!==void 0&&!e.some(vo=>vo.startsWith(`--${J}=`))?e.indexOf(`--${J}`)+1:-1,Ie=K("local-provider",U),ct=K("local-model",W),Y=K("local-auth",$),ee=K("local-base-url",z),Gt=Ce!==void 0&&!e.some(J=>J.startsWith("--model="))?e.indexOf("--model")+1:-1,Wa=ke!==void 0&&!e.some(J=>J.startsWith("--provider="))?e.indexOf("--provider")+1:-1,In=se!==void 0&&!e.some(J=>J.startsWith("--effort="))?e.indexOf("--effort")+1:-1,ci=ne!==void 0&&!e.some(J=>J.startsWith("--output-format="))?e.indexOf("--output-format")+1:-1,ji=ge!==void 0&&!e.some(J=>J.startsWith("-p=")||J.startsWith("--print=")||J.startsWith("--exec="))?Math.max(e.indexOf("-p"),e.indexOf("--print"),e.indexOf("--exec"))+1:-1,nr=e.find((J,Me)=>!J.startsWith("-")&&Me!==je&&Me!==Q&&Me!==H&&Me!==Ie&&Me!==ct&&Me!==Y&&Me!==ee&&Me!==Gt&&Me!==Wa&&Me!==In&&Me!==ci&&Me!==ji&&Me!==$t&&Me!==Kt&&Me!==Bt&&Me!==Mo&&Me!==or&&Me!==ae&&Me!==we&&!I.has(Me)),mo=(ge??nr??"").trim();if(mo!==""&&!/\s/.test(mo)&&uZ.has(mo.toLowerCase()))return{kind:"usage-error",message:`aluy: "${mo}" \xE9 um comando de SESS\xC3O, n\xE3o um objetivo. Use /${mo} DENTRO do aluy (rode \`aluy\` sem argumentos), ou veja \`aluy --help\`. Se voc\xEA quis MESMO um objetivo com essa palavra, d\xEA mais contexto (ex.: \`aluy "${mo} o arquivo X"\`).`,exitCode:2};let Oo=bt?{kind:"continue"}:Ve?{kind:"resume",...Be!==void 0?{id:Be}:{}}:void 0,rn=new Set([je,Q,H,Ie,ct,Y,ee,Gt,Wa,In,ci,ji,$t,Kt,Bt,Mo,or,ae,we].filter(J=>J>=0));for(let J of I)rn.add(J);for(let J of dZ){let Me=e.indexOf(J);Me>=0&&!e[Me].includes("=")&&rn.add(Me+1)}let bo=fZ(e,rn);return{kind:"launch",mode:i,unsafe:i==="unsafe",unsafeAliasUsed:n,...bo.length>0?{unknownFlags:bo}:{},dense:s,fresh:Fe,anonymous:Ot,subAgents:v,safeGlyphs:a,telegram:l,print:Te,...c!==void 0?{split:c}:{},...d!==void 0?{fullscreen:d}:{},...m!==void 0?{budget:m}:{},...nr!==void 0?{goal:nr}:{},...u!==void 0?{tier:u}:{},...F!==void 0?{backend:F}:{},...U!==void 0?{localProvider:U}:{},...W!==void 0?{localModel:W}:{},...$!==void 0?{localAuth:$}:{},...z!==void 0?{localBaseUrl:z}:{},...Ce!==void 0?{model:Ce}:{},...ke!==void 0?{provider:ke}:{},...se!==void 0?{effort:se}:{},...ge!==void 0?{printArg:ge}:{},...ne!==void 0?{outputFormat:ne}:{},...p!==void 0?{lang:p}:{},...Oo!==void 0?{resume:Oo}:{},...h!==void 0?{maxTokens:h}:{},...b!==void 0?{maxIterations:b}:{},...y!==void 0?{maxOutputTokens:y}:{},...S!==void 0?{selfCheck:S}:{},...w!==void 0?{autoCompactAt:w}:{},...T!==void 0?{quiet:T}:{},...M!==void 0?{cycle:M}:{},..._!==void 0?{cycles:_}:{},...L!==void 0?{cycleFor:L}:{},...B.length>0?{images:B}:{}}}var j1,H1,dZ,uZ,Kb=g(()=>{"use strict";N();Ll();j1=`aluy \u2014 agente de terminal que roda na sua m\xE1quina, com o seu provider de LLM
|
|
181
|
+
`);return s.provisionAll(n,r)}var I1,Wd,UQ,Br,O1,o0,P1,JQ,eZ,tZ,s0=g(()=>{"use strict";N();I1=".aluy",Wd=448,UQ=384;Br="aluy-mem0-server.py";O1="application/vnd.ollama.image.model";o0=class{platform;agentInstaller;constructor(t={}){this.platform=t.platform??process.platform,this.agentInstaller=t.agentInstaller}hasPinnedArtifact(){return this.platform==="linux"}async isProvisioned(t){switch(t){case"ollama":{let o=Ne(mr(),ea,"bin","ollama");return vt(o)}case"mem0":{let o=Ne(mr(),ts,"bin","python3");return vt(o)&&rp(o)}case"headroom":{let o=Ne(mr(),ta,"bin","headroom");return vt(o)}default:return!1}}async provision(t,o){let n=$Q().uid;if(hC(n))return{target:t,hashOk:!1,installed:!1,message:"RECUSA ROOT (uid=0): provisionamento de sidecars \xE9 user-space. Execute como usu\xE1rio normal."};if(this.agentInstaller)return this.agentInstaller(t,o);if(!this.hasPinnedArtifact())return{target:t,hashOk:!1,installed:!1,message:`SO '${this.platform}' sem artefato pinado p/ provisionamento direto. Rode \`aluy bootstrap\` (o aluy instala via o pr\xF3prio agente, \u26A0 --yolo) ou instale manualmente.`};switch(t){case"ollama":return GQ();case"mem0":return YQ();case"headroom":return XQ();default:return{target:t,hashOk:!1,installed:!1,message:`Alvo desconhecido: ${String(t)}`}}}async provisionAll(t,o){if(!$f(t))return{profile:t,targets:[],anySuccess:!1,allFailed:!1};let n=[],r=[...o];for(let a=0;a<r.length;a++){let l=r[a],c={index:a+1,total:r.length,plan:r};try{n.push(await this.provision(l,c))}catch(d){let m=d instanceof Error?d.message:String(d);n.push({target:l,hashOk:!1,installed:!1,message:`falha inesperada ao provisionar \u2014 seguindo p/ os pr\xF3ximos (${m}).`})}}let i=n.some(a=>a.installed),s=n.length>0&&n.every(a=>!a.installed);return{profile:t,targets:n,anySuccess:i,allFailed:s}}},P1="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",JQ="IMPORTANTE \u2014 o usu\xE1rio quer ACOMPANHAR: antes de cada passo, diga em 1 linha o que vai fazer; rode os comandos de instala\xE7\xE3o de forma VIS\xCDVEL (N\xC3O silencie pip/apt/curl com -q; mostre a sa\xEDda/progresso). Sem modo silencioso. ";eZ=24,tZ=5e3});var Eo,Ll=g(()=>{"use strict";Eo="1.0.0-rc.169"});var W1={};Et(W1,{HELP_TEXT:()=>j1,parseArgs:()=>l0,suggestFlag:()=>a0,versionText:()=>q1});function qt(e,t,o={}){let n=`--${t}=`;for(let r=0;r<e.length;r++){let i=e[r];if(i===`--${t}`){let s=e[r+1];return s===void 0||(o.allowDashValue?s.startsWith("--"):s.startsWith("-"))?void 0:s}if(i!==void 0&&i.startsWith(n))return i.slice(n.length)}}function lZ(e,t){let o=`-${t}=`;for(let n=0;n<e.length;n++){let r=e[n];if(r===`-${t}`){let i=e[n+1];return i!==void 0&&!i.startsWith("-")?i:void 0}if(r!==void 0&&r.startsWith(o))return r.slice(o.length)}}function cZ(e,t){let o=[],n=new Set,r=`--${t}=`;for(let i=0;i<e.length;i++){let s=e[i];if(s!==void 0){if(s===`--${t}`){let a=e[i+1];a!==void 0&&!a.startsWith("-")&&(o.push(a),n.add(i+1));continue}s.startsWith(r)&&o.push(s.slice(r.length))}}return{values:o,valueIndices:n}}function q1(){return`aluy ${Eo} (@hiperplano/aluy-cli-core ${rm})`}function mZ(e,t){let o=e.length,n=t.length,r=Array.from({length:n+1},(i,s)=>s);for(let i=1;i<=o;i++){let s=[i];for(let a=1;a<=n;a++){let l=e[i-1]===t[a-1]?0:1;s[a]=Math.min(r[a]+1,s[a-1]+1,r[a-1]+l)}r=s}return r[n]}function a0(e){let t,o=3;for(let n of H1){let r=mZ(e,n);r<o&&(o=r,t=n)}return t}function fZ(e,t){let o=[];for(let n=0;n<e.length;n++){let r=e[n];if(r==="--")break;if(!r.startsWith("--")||r.length===2||t.has(n))continue;let i=r.slice(2).split("=",1)[0];i===""||H1.has(i)||o.push(`--${i}`)}return o}function l0(e){let t=e[0];if(t==="login"&&!e.includes("-h")&&!e.includes("--help")){let J=e.slice(1),Me=qt(J,"token"),vo=qt(J,"org"),to=J.includes("--device"),oo=qt(J,"provider"),Os=J.includes("--oauth");return{kind:"login",forceDeviceFlow:to,...Me!==void 0?{token:Me}:{},...vo!==void 0?{org:vo}:{},...oo!==void 0?{provider:oo}:{},...Os?{oauth:!0}:{}}}if(t==="logout"&&!e.includes("-h")&&!e.includes("--help"))return{kind:"logout"};if(t==="whoami"&&!e.includes("-h")&&!e.includes("--help"))return{kind:"whoami"};if(t==="doctor"&&!e.includes("-h")&&!e.includes("--help")){let J=e.includes("--deep")||e.includes("--test"),Me=e.includes("--json");return{kind:"doctor",deep:J,json:Me}}if(t==="config"&&!e.includes("-h")&&!e.includes("--help"))return{kind:"config",json:e.includes("--json")};if(t==="agents"&&!e.includes("-h")&&!e.includes("--help"))return{kind:"agents"};if(t==="bootstrap"&&!e.includes("-h")&&!e.includes("--help"))return{kind:"bootstrap",agent:!e.includes("--no-agent")};if(t==="uninstall"&&!e.includes("-h")&&!e.includes("--help"))return{kind:"uninstall",agent:e.includes("--agent")};if(t==="onboard"&&!e.includes("-h")&&!e.includes("--help"))return{kind:"onboard"};if(t==="skills"&&!e.includes("-h")&&!e.includes("--help"))return{kind:"skills"};if(t==="workflows"&&!e.includes("-h")&&!e.includes("--help"))return{kind:"workflows"};if((t==="models"||t==="providers")&&!e.includes("-h")&&!e.includes("--help")){let J=e.includes("--json"),Me=e.findIndex(to=>to==="--backend"||to.startsWith("--backend=")),vo="both";if(Me!==-1){let oo=(e[Me].includes("=")?e[Me].slice(10):e[Me+1]??"").trim().toLowerCase();oo==="local"?vo="local":oo==="broker"&&(vo="broker")}return{kind:"models",scope:vo,json:J,which:t==="providers"?"providers":"models"}}if(t==="telegram"&&!e.includes("-h")&&!e.includes("--help")){let J=e[1];if(J===void 0||!["login","logout","allow","deny","status"].includes(J))return{kind:"usage-error",message:"uso: aluy telegram <login|logout|allow|deny|status>",exitCode:2};let vo=e.slice(2);if(J==="login"){let to=qt(vo,"token");return{kind:"telegram",sub:"login",...to!==void 0?{token:to}:{}}}if(J==="allow"||J==="deny"){let to=vo.find(Os=>!Os.startsWith("-")),oo=to!==void 0&&/^-?\d+$/.test(to)?Number(to):void 0;return oo===void 0?{kind:"usage-error",message:`uso: aluy telegram ${J} <chat-id> (um inteiro)`,exitCode:2}:{kind:"telegram",sub:J,chatId:oo}}return{kind:"telegram",sub:J}}if(t==="mcp"&&e[1]==="search"&&!e.includes("-h")&&!e.includes("--help"))return{kind:"mcp-search",query:e.slice(2).filter(Me=>!Me.startsWith("-")).join(" ").trim()};if(t==="mcp")return{kind:"mcp",argv:e.slice(1)};if(t==="cron")return{kind:"cron",argv:e.slice(1)};if(t==="service")return{kind:"service",argv:e.slice(1)};if(e.includes("-v")||e.includes("--version"))return{kind:"version",text:q1()};if(e.includes("-h")||e.includes("--help"))return{kind:"help",text:j1};let o=e.includes("--plan"),n=e.includes("--unsafe"),r=e.includes("--yolo")||n,i=o?"plan":r?"unsafe":"normal",s=e.includes("--dense"),a=e.includes("--ascii"),l=e.includes("--telegram"),c=e.includes("--split")||e.includes("--view")?!0:void 0,d=e.includes("--fullscreen")||e.includes("--cockpit")?!0:void 0,m=e.includes("--no-budget")?!1:e.includes("--budget")?!0:void 0,u=qt(e,"tier"),p=qt(e,"lang"),h=qt(e,"max-tokens"),b=qt(e,"max-iterations"),y=qt(e,"max-output-tokens"),v=!(e.includes("--no-subagents")||e.includes("--no-subagent")),S=e.includes("--no-self-check")?"0":e.includes("--self-check")?"1":void 0,w=e.includes("--no-autocompact")?"off":qt(e,"autocompact-at"),T=e.includes("--quiet")?!0:void 0,M=e.includes("--cycle")?!0:void 0,_=qt(e,"cycles"),L=qt(e,"cycle-for"),{values:B,valueIndices:I}=cZ(e,"image"),F=qt(e,"backend"),U=qt(e,"local-provider"),W=qt(e,"local-model"),$=qt(e,"local-auth"),z=qt(e,"local-base-url"),Ce=qt(e,"model"),ke=qt(e,"provider");if((e.includes("--provider")||e.some(J=>J.startsWith("--provider=")))&&(Ce===void 0||Ce.trim()===""))return{kind:"usage-error",message:"aluy: --provider exige --model (ex.: --provider <provider> --model <slug>)",exitCode:2};if((Ce===void 0||Ce.trim()==="")&&u!==void 0&&u.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 Z=qt(e,"effort"),ve=e.includes("--effort")||e.some(J=>J.startsWith("--effort=")),se;if(Z!==void 0){if(Z.trim()==="")return{kind:"usage-error",message:"aluy: --effort requer um valor (ex.: --effort low)",exitCode:2};if(Z.length>32)return{kind:"usage-error",message:"aluy: --effort aceita no m\xE1ximo 32 caracteres",exitCode:2};se=Z}else if(ve)return{kind:"usage-error",message:"aluy: --effort requer um valor (ex.: --effort low)",exitCode:2};let Te=e.includes("-p")||e.includes("--print")||e.includes("--exec")||e.some(J=>J.startsWith("-p=")||J.startsWith("--print=")||J.startsWith("--exec=")),ge=Te?qt(e,"print",{allowDashValue:!0})??qt(e,"exec",{allowDashValue:!0})??lZ(e,"p")??void 0:void 0,ne=Te?qt(e,"output-format"):void 0;if(ne!==void 0&&!["text","json","stream-json"].includes(ne.trim()))return{kind:"usage-error",message:`aluy: --output-format inv\xE1lido "${ne}" (use text | json | stream-json)`,exitCode:2};let Fe=e.includes("--new"),bt=e.includes("--continue"),ue=e.indexOf("--resume"),_e=e.find(J=>J.startsWith("--resume=")),Ve=ue>=0||_e!==void 0,Ot=e.includes("--anonymous");if(Ot&&(bt||Ve))return{kind:"usage-error",message:"aluy: --anonymous n\xE3o combina com --continue/--resume (retomar precisa de uma sess\xE3o salva; an\xF4nimo n\xE3o grava nenhuma). Escolha um dos dois.",exitCode:2};let Be;if(_e!==void 0)Be=_e.slice(9);else if(ue>=0){let J=e[ue+1];J!==void 0&&!J.startsWith("-")&&(Be=J)}let je=u!==void 0?e.indexOf("--tier")+1:-1,Q=p!==void 0&&!e.some(J=>J.startsWith("--lang="))?e.indexOf("--lang")+1:-1,$t=Be!==void 0&&_e===void 0?ue+1:-1,Kt=h!==void 0&&!e.some(J=>J.startsWith("--max-tokens="))?e.indexOf("--max-tokens")+1:-1,Bt=b!==void 0&&!e.some(J=>J.startsWith("--max-iterations="))?e.indexOf("--max-iterations")+1:-1,ae=_!==void 0&&!e.some(J=>J.startsWith("--cycles="))?e.indexOf("--cycles")+1:-1,we=L!==void 0&&!e.some(J=>J.startsWith("--cycle-for="))?e.indexOf("--cycle-for")+1:-1,Mo=y!==void 0&&!e.some(J=>J.startsWith("--max-output-tokens="))?e.indexOf("--max-output-tokens")+1:-1,or=w!==void 0&&!e.includes("--no-autocompact")&&!e.some(J=>J.startsWith("--autocompact-at="))?e.indexOf("--autocompact-at")+1:-1,H=F!==void 0&&!e.some(J=>J.startsWith("--backend="))?e.indexOf("--backend")+1:-1,K=(J,Me)=>Me!==void 0&&!e.some(vo=>vo.startsWith(`--${J}=`))?e.indexOf(`--${J}`)+1:-1,Ie=K("local-provider",U),ct=K("local-model",W),Y=K("local-auth",$),ee=K("local-base-url",z),Gt=Ce!==void 0&&!e.some(J=>J.startsWith("--model="))?e.indexOf("--model")+1:-1,Wa=ke!==void 0&&!e.some(J=>J.startsWith("--provider="))?e.indexOf("--provider")+1:-1,In=se!==void 0&&!e.some(J=>J.startsWith("--effort="))?e.indexOf("--effort")+1:-1,ci=ne!==void 0&&!e.some(J=>J.startsWith("--output-format="))?e.indexOf("--output-format")+1:-1,ji=ge!==void 0&&!e.some(J=>J.startsWith("-p=")||J.startsWith("--print=")||J.startsWith("--exec="))?Math.max(e.indexOf("-p"),e.indexOf("--print"),e.indexOf("--exec"))+1:-1,nr=e.find((J,Me)=>!J.startsWith("-")&&Me!==je&&Me!==Q&&Me!==H&&Me!==Ie&&Me!==ct&&Me!==Y&&Me!==ee&&Me!==Gt&&Me!==Wa&&Me!==In&&Me!==ci&&Me!==ji&&Me!==$t&&Me!==Kt&&Me!==Bt&&Me!==Mo&&Me!==or&&Me!==ae&&Me!==we&&!I.has(Me)),mo=(ge??nr??"").trim();if(mo!==""&&!/\s/.test(mo)&&uZ.has(mo.toLowerCase()))return{kind:"usage-error",message:`aluy: "${mo}" \xE9 um comando de SESS\xC3O, n\xE3o um objetivo. Use /${mo} DENTRO do aluy (rode \`aluy\` sem argumentos), ou veja \`aluy --help\`. Se voc\xEA quis MESMO um objetivo com essa palavra, d\xEA mais contexto (ex.: \`aluy "${mo} o arquivo X"\`).`,exitCode:2};let Oo=bt?{kind:"continue"}:Ve?{kind:"resume",...Be!==void 0?{id:Be}:{}}:void 0,rn=new Set([je,Q,H,Ie,ct,Y,ee,Gt,Wa,In,ci,ji,$t,Kt,Bt,Mo,or,ae,we].filter(J=>J>=0));for(let J of I)rn.add(J);for(let J of dZ){let Me=e.indexOf(J);Me>=0&&!e[Me].includes("=")&&rn.add(Me+1)}let bo=fZ(e,rn);return{kind:"launch",mode:i,unsafe:i==="unsafe",unsafeAliasUsed:n,...bo.length>0?{unknownFlags:bo}:{},dense:s,fresh:Fe,anonymous:Ot,subAgents:v,safeGlyphs:a,telegram:l,print:Te,...c!==void 0?{split:c}:{},...d!==void 0?{fullscreen:d}:{},...m!==void 0?{budget:m}:{},...nr!==void 0?{goal:nr}:{},...u!==void 0?{tier:u}:{},...F!==void 0?{backend:F}:{},...U!==void 0?{localProvider:U}:{},...W!==void 0?{localModel:W}:{},...$!==void 0?{localAuth:$}:{},...z!==void 0?{localBaseUrl:z}:{},...Ce!==void 0?{model:Ce}:{},...ke!==void 0?{provider:ke}:{},...se!==void 0?{effort:se}:{},...ge!==void 0?{printArg:ge}:{},...ne!==void 0?{outputFormat:ne}:{},...p!==void 0?{lang:p}:{},...Oo!==void 0?{resume:Oo}:{},...h!==void 0?{maxTokens:h}:{},...b!==void 0?{maxIterations:b}:{},...y!==void 0?{maxOutputTokens:y}:{},...S!==void 0?{selfCheck:S}:{},...w!==void 0?{autoCompactAt:w}:{},...T!==void 0?{quiet:T}:{},...M!==void 0?{cycle:M}:{},..._!==void 0?{cycles:_}:{},...L!==void 0?{cycleFor:L}:{},...B.length>0?{images:B}:{}}}var j1,H1,dZ,uZ,Kb=g(()=>{"use strict";N();Ll();j1=`aluy \u2014 agente de terminal que roda na sua m\xE1quina, com o seu provider de LLM
|
|
182
182
|
|
|
183
183
|
Uso:
|
|
184
184
|
aluy ["objetivo"] [--plan | --yolo] [--dense] [--tier <tier>] [--lang <pt-BR|en>]
|
|
@@ -740,7 +740,7 @@ Abra um terminal e rode: aluy onboard
|
|
|
740
740
|
`),!0}function $z(e){switch(e.kind){case"testrun":{let t=e.score;return t.unknownFormat?"[testes] placar indispon\xEDvel (formato n\xE3o reconhecido)":`[testes] ${t.passed} \u2713 ${t.failed} \u2717 (${t.total})`}case"you":return`[voc\xEA] ${e.text}`;case"aluy":{let t=cr(e.text);return t.trim()===""?"":`[aluy] ${t}`}case"tool":return e.status==="running"?`[tool] ${e.verb} ${e.target} \u2014 ${e.verbGerund??"rodando"}`:`[tool] ${e.verb} ${e.target} \u2014 ${e.result} ${e.status==="ok"?"ok":"erro"}`;case"bang":{if(e.status==="running")return`[shell] $ ${e.command} \u2014 rodando`;let t=e.status==="blocked"?"bloqueado":e.status==="ok"?"ok":"erro",o=e.output&&e.output.trim()!==""?`
|
|
741
741
|
${e.output}`:"";return`[shell] $ ${e.command} \u2014 ${t}${o}`}case"subagents":{let t=`[sub-agentes] ${e.children.length}:`,o=e.children.map(n=>{let r=n.status==="running"?"rodando":n.status==="done"?"pronto":n.stop==="timeout"?"timeout":n.stop==="limit"?"teto":"falhou",i=n.model!==void 0?` \xB7 ${n.model}`:"",s=n.summary!==void 0&&n.status!=="running"?` \xB7 ${n.summary}`:"";return` [${n.label}] ${r}${i}${s}`});return[t,...o].join(`
|
|
742
742
|
`)}case"deny":return`[negado] ${e.verb} ${e.exact}`;case"broker-error":return`[${G_(e.backend)}] ${e.message}${e.status!==void 0?` (${e.status})`:""}`;case"note":return`[${e.title}] ${e.lines.join(" \xB7 ")}`;case"doctor":{let t="[doctor]",o=e.checks.flatMap(r=>{let i=r.status==="ok"?"\u2713":r.status==="warn"?"\u26A0":r.status==="fail"?"\u2717":"\u25F7",s=r.detail!==void 0&&r.detail!==""?`: ${r.detail}`:": testando\u2026",a=` ${i} ${r.label}${s}`;return r.status!=="ok"&&r.status!=="pending"&&r.fix!==void 0?[a,` \u2192 ${r.fix}`]:[a]}),n=e.summary!==void 0?[` resumo: ${e.summary}`]:[];return[t,...o,...n].join(`
|
|
743
|
-
`)}case"inject":return`[encaixado]${e.text.trim()?` ${e.text.trim()}`:""}`}}var dge,z_=g(()=>{"use strict";N();cu();ps();tk();nk();rk();ok();dge="-".repeat(12)});import uge,{useEffect as _o,useState as ft,useReducer as mge,useCallback as lo,useMemo as V_,useRef as Zt}from"react";import{Box as Ae,Static as fge,Text as pge,useApp as gge,useInput as hge,useStdin as yge,useStdout as bge}from"ink";import{Fragment as qz,jsx as j,jsxs as Wo}from"react/jsx-runtime";function Uz(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>=1?Math.floor(e):t}function Hz(e){let{controller:t}=e,{exit:o}=gge(),{stdout:n}=bge(),r=X(),{lang:i,t:s}=Re(),[,a]=mge(A=>A+1,0);_o(()=>{if(!n||typeof n.on!="function")return;let A=()=>a();return n.on("resize",A),()=>{typeof n.off=="function"&&n.off("resize",A)}},[n]);let l=Uz(n?.columns,80),c=Uz(n?.rows,24),d=r.density!=="compact",m=r.density!=="compact",[u,p]=ft(t.current),[h,b]=ft({text:"",cursor:0}),y=h.text,v=h.cursor,[S,w]=ft(!1),[T,M]=ft(0),[_,L]=ft(()=>new Set),[B,I]=ft(!1),[F,U]=ft(""),W=u.phase==="questioning"?u.pendingQuestion?.spec:void 0,$=Zt(void 0);_o(()=>{W!==$.current&&($.current=W,M(0),L(new Set),U(""),I(W?.kind==="text"))},[W]);let[z,Ce]=ft(0),[ke,de]=ft(!1),[Z,ve]=ft(0),[se,Te]=ft([]),[ge,ne]=ft(-1),[Fe,bt]=ft(e.initialSuggestions!==!1),[ue,_e]=ft(void 0),Ve=Zt(t.current.phase),Ot=Zt(void 0);Ot.current=ue;let Be=Zt(h);Be.current=h;let[je,Vt]=ft([]),Q=Zt([]),$t=Zt(0),hn=Zt(0);Q.current=je,je.length===0&&(hn.current=0);let Kt=lo(A=>{Q.current=[...Q.current,A],Vt(k=>[...k,A])},[]),St=lo(()=>{Q.current=[],Vt([]),hn.current=0},[]),[Bt,Pn]=ft(!1),[ae,De]=ft(0),[we,uo]=ft(null),[Mo,Ln]=ft(e.initialSplitView===!0),[or,nn]=ft(!1),[H,K]=ft("chat"),[Ie,ct]=ft(()=>new Set),[Y,ee]=ft(0),[Ee,Gt]=ft(!1),[qe,Wa]=ft(e.initialFullscreen===!0),[Ms,In]=ft("conversa"),[Ui,ci]=ft(0),[ji,nr]=ft(!1),mo=Zt(void 0),Oo=Zt(void 0),rn=Zt(!1),bo=Zt(void 0),J=lo(()=>{Oo.current!==void 0&&(clearTimeout(Oo.current),Oo.current=void 0),mo.current=void 0,nr(!1)},[]);_o(()=>()=>{Oo.current!==void 0&&clearTimeout(Oo.current),bo.current!==void 0&&clearTimeout(bo.current)},[]);let Me=Hv(u.meta.label),vo=y.length===0?1:Bo(y,l>Me?l-Me:l),to=Math.max(3,Math.floor(c/3)),oo=Math.max(0,Math.min(vo,to)-1),Os=qe?t.flowOverview():[],Ga=qe?$_(Os,A=>t.drillInFlow(A),{collapsed:Ie,errorsOnly:Ee}).sections:[],Hx=Os.filter(A=>A.kind==="subagent"&&(A.phase==="thinking"||A.phase==="tool"||A.phase==="asking")).length,yh=qe?Ex(u.blocks).startupNotes:[],bh=yh.length>0?1+yh.reduce((A,k)=>A+1+k.lines.length,0):0,Wx=qe?{lines:Ga.length>0?1+Q6(Ga):bh,hasActivity:Ga.length>0||bh>0,activeAgents:Hx,focused:Ms==="log"}:void 0,rr=Fa(c,l,vo,Wx),x=qe&&rr.kind==="cockpit";e.cockpitScreen?.setExpectedRows?.(x?rr.rows:void 0);let ko=Y6(l,Mo),sn=ko.layout,fo=sn==="side"||sn==="tabs"&&H==="log",Dc=fo&&or,Oe=u6({fileIndex:e.fileIndex??vge,attachReader:e.attachReader??kge}),le=p6({catalog:e.catalog??xge,...e.customModels?{customModels:e.customModels}:{},currentTier:u.meta.tier,...e.currentEffort!==void 0?{currentEffort:e.currentEffort}:{}}),Ps=(u.meta.model??"")!==""?u.meta.model:e.currentLocalModel,nt=y6({...e.localModelCatalog!==void 0?{catalog:e.localModelCatalog}:{},...e.localRemoteModelNames!==void 0?{remoteNames:e.localRemoteModelNames}:{},...Ps!==void 0?{currentModel:Ps}:{}}),pt=k6({...e.currentEffort!==void 0?{currentEffort:e.currentEffort}:{}}),Go=w6(e.permissionControl??Age),qi=e.currentTheme??Ol(r.brightness),Yt=T6({currentTheme:qi}),Pt=i6({...e.mcpSearch!==void 0?{search:e.mcpSearch}:{},...e.mcpInstall!==void 0?{install:e.mcpInstall}:{},onNota:(A,k)=>{t.pushNote(A,k)}}),_c=uge.useRef(!1);!_c.current&&e.onMcpPickerReady!==void 0&&(_c.current=!0,e.onMcpPickerReady(Pt.abrir));let Mc=e.currentLang??i,Po=M6({currentLang:Mc}),Oc=(u.meta.provider??"")!==""?u.meta.provider:e.currentProvider,Le=I6({...Oc!==void 0?{currentProvider:Oc}:{},...e.providersClient?{providersClient:e.providersClient}:{},...e.localProviderCatalog?{localCatalog:e.localProviderCatalog}:{},...e.hasStoredKey?{hasStoredKey:e.hasStoredKey}:{},...e.storeCredential?{storeCredential:e.storeCredential}:{}}),za=lo((A,k)=>{typeof A?.then=="function"&&A.then(E=>{if(E===!0){nt.openPicker();return}E!==!1&&E?.ok===!1&&k!==void 0&&Le.retryCredential(k,E.detail)})},[nt,Le]),vh=V_(()=>Dj(Uo,s),[s]),kh=V_(()=>gz(u.blocks),[u.blocks]),Lo=F6({store:e.sessionStore??Sge}),Ls=e.rewindSource??wge,wt=B6({source:Ls}),Pc=V_(()=>wt.target?Ls.barriersAfter(wt.target.id):[],[wt.target,Ls]),Xe=j6({...e.userCommands!==void 0?{userCommands:e.userCommands}:{},natives:vh}),Lc=e.syncActive??!0,xh=(u.detachedSubagents??0)>0,Ic=(()=>{if(u.liveSubagents===void 0)return[];if(c6({blocks:u.blocks,rows:c,columns:l,linhasDoRodape:Cs}))return[];for(let A=u.blocks.length-1;A>=0;A-=1){let k=u.blocks[A];if(k?.kind==="subagents")return k.children}return[]})(),Qu=E3({count:u.detachedSubagents??0,phase:u.phase,...u.workingLabel!==void 0?{workingLabel:u.workingLabel}:{}}),Gx=G6(u.phase,Lc,{subagentsAlive:xh})||Tge(u.blocks),Is=ih({enabled:r.animate&&Gx}),Zu=Ax(u.phase);ih({enabled:Zu,intervalMs:1e3}),_o(()=>{let A=t.subscribe(p);return()=>{A(),t.dispose()}},[t]),_o(()=>{if(e.initialFullscreen!==!0||e.cockpitEnteredAtBoot===!0)return;if(Fa(c,l).kind==="cockpit")e.cockpitScreen?.enter();else{Wa(!1);let k=Fa(c,l),E=k.kind==="refuse"&&k.reason==="narrow"?s("cockpit.refuseNarrow"):s("cockpit.refuseShort");t.replaceNote("cockpit",[E])}},[]);let xo=Zt(e.initialFullscreen===!0&&rr.kind==="cockpit"),Sh=Zt(e.initialFullscreen===!0);_o(()=>{let A=Sh.current!==qe;if(Sh.current=qe,!qe){xo.current=!1;return}let k=rr.kind==="cockpit";if(A){xo.current=k;return}let E=xo.current;if(E&&!k){e.cockpitScreen?.leave();let D=rr.kind==="refuse"&&rr.reason==="narrow"?s("cockpit.refuseNarrow"):s("cockpit.refuseShort");t.replaceNote("cockpit",[D])}else!E&&k?(e.cockpitScreen?.enter(),a()):E&&k&&e.cockpitScreen?.resetDiffer?.();xo.current=k},[c,l,qe]);let{stdin:Rr}=yge();_o(()=>{if(!Rr)return;let A=k=>{let E=typeof k=="string"?k:k.toString("utf8");if(E.includes("\x1B[19~")||E.includes("\x1BOW")){t.cancelAllFlows(),St();return}let D=xW(E);D==="home"?b(re=>({...re,cursor:0})):D==="end"&&b(re=>({...re,cursor:re.text.length}))};return Rr.on("data",A),()=>{Rr.removeListener("data",A)}},[Rr,t,St,b]),_o(()=>{if(u.phase!=="boot")return;let A=e.bootMs??900;if(A<=0)return;let k=setTimeout(()=>t.dismissBoot(),A);return()=>clearTimeout(k)},[u.phase,t,e.bootMs]),_o(()=>{u.phase!=="stuck"&&S&&w(!1)},[u.phase,S]);let Nn=e.userCommands??[],Va=y.startsWith("/")?y.slice(1):"",Hi=Mj(Va,Nn,vh),At=lo((A,k)=>{b({text:A,cursor:go(A,k??A.length)})},[]);_o(()=>{let A=Ve.current,k=u.phase;if(Ve.current=k,A===k)return;let E=k==="idle"||k==="done";E&&(A!=="idle"&&A!=="done"&&A!=="boot")?Fe&&y===""&&je.length===0&&_e(mz(u.blocks,s)):E||_e(void 0)},[u.phase,u.blocks,y,je.length,Fe,s]),_o(()=>{y!==""&&_e(void 0)},[y]);let ir=lo(A=>{de(jT(A,e.userCommands??[])),ve(0)},[e.userCommands]),Ka=Zt(!1),Ya=e.armAtomicClear,yn=lo(()=>{Na("clearScreen() \u2192 \\x1b[2J\\x1b[3J + staticKey++ (REEMITE hist\xF3rico)"),Ka.current=!1,Ya?Ya():n?.write("\x1B[H\x1B[2J\x1B[3J"),Ce(A=>A+1),qe&&e.cockpitScreen?.resetDiffer?.()},[n,qe,e.cockpitScreen,Ya]),Nc=e.registerClearScreen;_o(()=>{Nc?.(yn)},[Nc,yn]),_o(()=>{Na(`slashOpen=${ke} (rows=${c} cols=${l})`)},[ke,c,l]);let Xa=Zt({rows:c,columns:l}),Fc=Zt(0),wh=500,C=Zt(void 0),P=Zt(!1);_o(()=>{if(qe){Xa.current={rows:c,columns:l};return}let A=Xa.current;if(A.rows===c&&A.columns===l)return;if(P.current){Xa.current={rows:c,columns:l},Ka.current=!0,Na(`resize ${A.rows}x${A.columns} \u2192 ${c}x${l} (F196: viva > rows \u21D2 PULA clearScreen; Ink repinta via clearTerminal; marca recupera\xE7\xE3o pendente)`);return}if(A.columns===l&&!Ka.current){Xa.current={rows:c,columns:l},Na(`resize ${A.rows}x${A.columns} \u2192 ${c}x${l} (s\xF3 ROWS \u21D2 PULA clearScreen; sem rewrap de largura)`);return}Na(`resize ${A.rows}x${A.columns} \u2192 ${c}x${l} (clearScreen em 90ms)`),Xa.current={rows:c,columns:l};let k=setTimeout(()=>{let E=Date.now(),D=Ka.current;if(!D&&E-Fc.current<wh){let re=wh-(E-Fc.current);C.current!==void 0&&clearTimeout(C.current),C.current=setTimeout(()=>{C.current=void 0,Fc.current=Date.now(),yn()},Math.max(re,0)+1),Na(`resize ${c}x${l} \u2014 clearScreen adiado ${Math.max(re,0)+1}ms (cooldown ${wh}ms; rajada \u2014 repinta no fim)`);return}D&&Na(`resize ${c}x${l} \u2014 clearScreen FOR\xC7ADO (ignora cooldown; recupera\xE7\xE3o WEZTERM-GAP de regime "n\xE3o cabe" pendente)`),C.current!==void 0&&(clearTimeout(C.current),C.current=void 0),Fc.current=E,yn()},90);return()=>clearTimeout(k)},[c,l,qe,yn]),_o(()=>()=>{C.current!==void 0&&(clearTimeout(C.current),C.current=void 0)},[]);let he=lo(()=>{Ln(A=>{let k=!A;return e.onSplitViewChange?.(k),k||(nn(!1),K("chat")),k})},[e]),R=lo(()=>{Wa(A=>{let k=!A,E=Fa(c,l).kind==="cockpit";if(k&&E)e.cockpitScreen?.enter(),t.replaceNote("cockpit",[s("cockpit.entered")]);else if(k&&!E){let D=Fa(c,l),re=D.kind==="refuse"&&D.reason==="narrow"?s("cockpit.refuseNarrow"):s("cockpit.refuseShort");t.replaceNote("cockpit",[re])}else e.cockpitScreen?.leave(),yn(),t.replaceNote("cockpit",[s("cockpit.left")]);return e.onFullscreenChange?.(k),k}),In("conversa"),ci(0),ee(0)},[e,t,s,c,l,yn]),q=lo((A,k)=>{if(A.id==="split"){he();return}if(A.id==="fullscreen"){R();return}if(A.id==="suggest"){let E=k.trim().toLowerCase(),D=E==="on"?!0:E==="off"?!1:!Fe;bt(D),e.onSuggestionsChange?.(D),D||_e(void 0),t.replaceNote("suggest",[D?"sugest\xE3o de pr\xF3ximo prompt LIGADA \u2014 Tab aceita o ghost no composer.":"sugest\xE3o de pr\xF3ximo prompt DESLIGADA."]);return}if(A.id==="export"){e.onExportTranscript?e.onExportTranscript().then(E=>{t.pushNote("export",E.ok&&E.path?[`transcript exportado (redigido) \u2192 ${E.path}`]:[E.error??"export indispon\xEDvel"])}):t.replaceNote("export",["export indispon\xEDvel nesta sess\xE3o."]);return}if(A.id==="model"&&k.trim()===""&&u.meta.backend==="local"){if(e.onSelectTier!==void 0){nt.openPicker();return}t.replaceNote("model-local",["Backend LOCAL (BYO): os tiers do broker n\xE3o se aplicam aqui.","O modelo vem do seu provider \u2014 troque com /provider, ou defina ALUY_LOCAL_MODEL / --model."]);return}if(A.id==="model"&&k.trim()===""&&e.catalog!==void 0&&e.onSelectTier!==void 0){le.openPicker();return}if(A.id==="effort"&&k.trim()===""&&e.onSelectEffort!==void 0){pt.openPicker();return}if(A.id==="permissions"&&e.permissionControl!==void 0){Go.openPanel();return}if(A.id==="history"&&e.sessionStore!==void 0&&e.onResumeSession!==void 0){let E=k.trim();if(E===""){Lo.openPicker();return}yn(),e.onResumeSession(E);return}if(A.id==="rewind"&&e.rewindSource!==void 0&&e.onRewind!==void 0){wt.openPicker();return}if(A.id==="theme"&&e.onSelectTheme!==void 0){let E=k.trim();if(E===""){Yt.openPicker();return}let D=rs(E);if(D){e.onSelectTheme(D.name);return}}if(A.id==="lang"&&e.onSelectLang!==void 0){let E=k.trim();if(E===""){Po.openPicker();return}let D=$r(E);if(D){e.onSelectLang(D.code);return}}if(A.id==="provider"&&e.onSelectProvider!==void 0){let E=k.trim();if(E===""){Le.openPicker();return}if(E.toLowerCase()==="save"){e.onSaveProvider?e.onSaveProvider():t.pushNote("provider",["fixar como padr\xE3o indispon\xEDvel nesta sess\xE3o."]);return}let D=Jv(E,Le.providers);if(D){za(e.onSelectProvider(D.name),D.name);return}}e.onCommand?.(A,k)},[e,le,Go,Yt,Po,Le,Lo,wt,yn,he,Fe]),O=lo(A=>{if(A.action.kind==="command"){q(A.action.command,"");return}A.action.actionId==="cycle-mode"&&t.cycleMode()},[q,t]),G=lo(A=>{ci(0),ee(0);let k=du(A,Nn);if(k.kind==="goal"){if(k.text!==""){if(Yl(k.text).length>0&&e.attachReader){let D=Oe.attachments.map(re=>re.item);uh(k.text,e.attachReader).then(({goal:re,items:Ye})=>{if(re===""&&Ye.length===0){Oe.clear();return}let it=[...D,...Ye],bn=re!==""?re:k.text;Te(di=>[...di,bn]),t.submit(bn,it),Oe.clear()});return}let E=Oe.attachments.map(D=>D.item);Te(D=>[...D,k.text]),t.submit(k.text,E),Oe.clear()}return}if(k.kind==="command"){q(k.command,k.args);return}if(k.kind==="bang"){Te(E=>[...E,`!${k.command}`]),t.runBang(k.command);return}},[t,Nn,Oe,q,e.attachReader]),fe=lo(A=>{let k=du(A,Nn);return k.kind!=="goal"||k.text===""||Oe.attachments.length>0||Yl(k.text).length>0?!1:t.injectInput("root",k.text)},[t,Nn,Oe]),Ke=lo(A=>{let k=du(A,Nn);return k.kind!=="command"||!Gv(k.command,k.args)?!1:(q(k.command,k.args),!0)},[Nn,q]),rt=lo(A=>{if(Q.current.length>0){Kt(A);return}let k=du(A,Nn),E=k.kind==="goal"?k.text:"";if(V6({subagentsRunning:jz(t.current.blocks),isPlainGoal:k.kind==="goal",nonEmpty:E!=="",hasPendingAttachment:Oe.attachments.length>0||E!==""&&Yl(E).length>0})){fe(A);return}!fe(A)&&!Ke(A)&&Kt(A)},[Kt,fe,Ke,t,Nn,Oe]),oe=Zt();oe.current||(oe.current=fH());let Ue=Zt();Ue.current||(Ue.current=kz());let ye=lo(A=>{let k=Az(A,Ue.current);return Ue.current.reset(),k},[]),no=lo(A=>{let k=wz(A,Ue.current,"backward");return k.handled?(k.removedId!==void 0&&Ue.current.remove(k.removedId),k.state):YR(A)},[]),Io=Zt({open:!1}),be=lo(A=>{if(A==="")return;t.current.phase==="boot"&&t.dismissBoot(),Oe.dismissNotice();let k=vz(A);b(E=>{let D=k?xz(E,A,Ue.current):sc(E,A);return ir(D.text),So(D.text),D}),ne(-1)},[t,Oe,ir]),ce=lo(A=>A.replace(/[\r\n\t]/g,""),[]),te=lo(A=>{if(Xe.open){Xe.setQuery(Xe.query+ce(A));return}if(le.open){if(le.effortStepOpen){le.effortCustomOpen&&le.appendEffortCustom(A);return}le.customInputOpen&&le.appendCustom(A);return}if(nt.open){nt.setQuery(nt.query+ce(A));return}if(pt.open){pt.customOpen&&pt.appendCustom(A);return}if(!(Go.open||Pt.open||Yt.open||Po.open||Lo.open||wt.open)){if(Le.open){if(Le.credentialStep!==null){Le.typeCredential(ce(A));return}Le.addCustomStep!==null&&Le.typeAddCustom(ce(A));return}if(u.phase==="questioning"&&u.pendingQuestion){B&&U(k=>k+ce(A));return}be(A)}},[Xe,le,nt,pt,Go,Yt,Po,Lo,wt,Le,u.phase,u.pendingQuestion,B,ce,be]);_o(()=>{if(!Rr)return;let A=oe.current,k=E=>{let D=typeof E=="string"?E:E.toString("utf8");if(!A.isInPaste()&&!D.includes("\x1B[20"))return;let re=A.feed(D);for(let Ye of re)Ye.kind==="paste"&&te(Ye.text)};return Rr.on("data",k),()=>{Rr.removeListener("data",k)}},[Rr,te]);let xe=Oe.open||le.open||nt.open||pt.open||Go.open||Pt.open||Yt.open||Po.open||Le.open||Lo.open||wt.open||Xe.open,Ut=jj({...u,anyPickerOpen:xe});_o(()=>{if(!Ut||je.length===0)return;let A=je[0]??"",k=du(A,Nn);if(k.kind==="command"&&k.command.id==="clear"){St(),G(A);return}Vt(E=>E.slice(1)),G(A)},[Ut,je,G,Nn,St]),_o(()=>{if(Ut||je.length===0||u.phase!=="thinking"&&u.phase!=="streaming")return;let A=0;for(let k of je){if(!fe(k))break;A+=1}A>0&&Vt(k=>k.slice(A))},[Ut,je,u.phase,fe]),hge((A,k)=>{if(!mH(Io.current,A)&&!az(A)&&!(A!==""&&!k.tab&&/^[\x00-\x08\x0b\x0c\x0e-\x1f\x7f\t]+$/.test(A))){if(u.phase==="boot"){if(k.ctrl&&A==="c"){o();return}if(A&&!k.ctrl&&!k.meta){t.dismissBoot();let E=A.search(/[\r\n]/);E!==-1?G(y+A.slice(0,E)):b(D=>{let re=D.text+A;return de(jT(re,e.userCommands??[])),{text:re,cursor:re.length}});return}t.dismissBoot();return}if(x&&!ke&&!xe&&u.phase!=="asking"){if(k.tab&&!k.shift){In(D=>D==="conversa"?"log":"conversa");return}if(k.ctrl&&(A==="s"||A==="")){e.onExportTranscript?e.onExportTranscript().then(D=>{D.ok&&D.path?t.pushNote("export",[`${s("cockpit.exported")} ${D.path}`]):t.pushNote("export",[D.error??"export indispon\xEDvel"])}):t.pushNote("export",["export indispon\xEDvel nesta sess\xE3o"]);return}let E=rr.kind==="cockpit"?rr:void 0;if(E){let D=k.pageUp?"pageUp":k.pageDown?"pageDown":k.upArrow?"up":k.downArrow?"down":void 0;if(D!==void 0){if(Ms==="conversa"){let re=Math.max(1,Math.round((E.regions.conversaRows-1)/4)),Ye=D==="up"?1:D==="down"?-1:D==="pageUp"?re:-re;ci(it=>Math.min(Math.max(0,it+Ye),Math.max(0,u.blocks.length-1)))}else{let re=Math.max(1,E.regions.logRows-1);ee(Ye=>iz(D,Ye,Ga.length+1,re))}return}}}if(!Bt){if(k.ctrl&&A==="l"){Mo&&sn==="tabs"?(K(E=>E==="chat"?"log":"chat"),nn(E=>!E)):he();return}if(k.tab&&!k.shift&&fo){sn==="tabs"?(K(E=>E==="chat"?"log":"chat"),nn(E=>!E)):nn(E=>!E);return}if(Dc){if(k.escape){nn(!1);return}if(k.upArrow){ee(E=>E+1);return}if(k.downArrow){ee(E=>Math.max(0,E-1));return}if(k.pageUp){ee(E=>E+Ac);return}if(k.pageDown){ee(E=>Math.max(0,E-Ac));return}if(k.return){ct(E=>{let D=new Set(E);return D.has("root")?D.delete("root"):D.add("root"),D});return}if(A==="e"&&!k.ctrl&&!k.meta){Gt(E=>!E);return}if(!(k.ctrl&&A==="c")&&!(k.ctrl&&A==="t"))return}}if(Bt){if(we){if(k.escape||k.return){uo(null);return}if(A==="p"){t.cancelFlow(we);return}if(A==="i"){y.trim()!==""&&(t.injectInput(we,y),At(""));return}return}let E=t.flowOverview();if(k.escape||k.ctrl&&A==="t"){Pn(!1);return}if(k.upArrow){De(D=>Math.max(0,D-1));return}if(k.downArrow){De(D=>Math.min(Math.max(0,E.length-1),D+1));return}if(k.return){let D=E[Math.min(ae,E.length-1)];D&&uo(D.id);return}if(A==="p"){let D=E[Math.min(ae,E.length-1)];D&&t.cancelFlow(D.id);return}if(A==="P"){t.cancelAllFlows();return}if(A==="i"){let D=E[Math.min(ae,E.length-1)];D&&y.trim()!==""&&(t.injectInput(D.id,y),At(""));return}return}if(u.phase==="asking"&&u.pendingAsk){let E=u.pendingAsk.request.alwaysAsk;if(A==="a")return t.resolveAsk({kind:"approve-once"});if(A==="s"&&E===!1)return t.resolveAsk({kind:"approve-session"});if(A==="n")return t.resolveAsk({kind:"deny",reason:"negado pelo usu\xE1rio"});if(k.escape){let D=Date.now(),re=Q.current.length>0,Ye=D-hn.current<500;t.resolveAsk({kind:"deny",reason:"cancelado (esc)"}),Ye&&!re&&(t.interrupt(),St()),hn.current=re?0:D;return}return A==="e"?t.resolveAsk({kind:"deny",reason:"editar (n\xE3o aplicado)"}):void 0}if(u.phase==="questioning"&&u.pendingQuestion){let E=u.pendingQuestion.spec,D=E.options??[],re=E.kind!=="text"&&E.allowOther!==!1;if(k.escape){if(B&&E.kind!=="text"){I(!1),U("");return}return t.resolveQuestion({kind:"unavailable",reason:"cancelado (esc)"})}if(B){if(k.return){let it=F.trim();return it===""?void 0:t.resolveQuestion({kind:"text",text:it})}if(k.backspace||k.delete){U(it=>it.slice(0,-1));return}if(A&&!k.ctrl&&!k.meta){U(it=>it+A);return}return}let Ye=D.length-1;if(k.upArrow){M(it=>it===_i?Ye:it<=0?re?_i:Ye:it-1);return}if(k.downArrow){M(it=>it===_i?0:it>=Ye?re?_i:0:it+1);return}if(E.kind==="multi"&&A===" "&&T!==_i&&T>=0){L(it=>{let bn=new Set(it);return bn.has(T)?bn.delete(T):bn.add(T),bn});return}if(k.return){if(T===_i){I(!0);return}if(E.kind==="multi"){let bn=[..._].sort((ui,SK)=>ui-SK),di=bn.map(ui=>D[ui]?.label??"").filter(ui=>ui!=="");return t.resolveQuestion({kind:"choices",indices:bn,labels:di})}let it=D[T];return it?t.resolveQuestion({kind:"choice",index:T,label:it.label}):void 0}return}if(u.phase==="budget"){if(A==="n")return o();if(A==="c"){t.continueAfterBudget();return}if(A==="k"&&t.canCompact){t.compactAfterBudget();return}return}if(u.phase==="cycle-ceiling"){if(A==="n"||k.escape){t.stopCycleCeiling();return}if(A==="c"){t.continueCycleCeiling();return}return}if(u.pendingUnsafeConfirm===!0){if(A==="s"||A==="y"){t.confirmUnsafe();return}if(A==="n"||k.escape){t.cancelUnsafe();return}return}if(u.phase==="stuck")if(S){if(k.escape){w(!1);return}if(k.return&&!k.shift){let E=h.text;b({text:"",cursor:0}),w(!1),t.redirectAfterStuck(E);return}}else{if(A==="r"){w(!0);return}if(A==="c"){t.continueAfterStuck();return}if(A==="n"||k.escape){t.endAfterStuck();return}return}if(Cge(u.blocks)&&(k.escape||k.ctrl&&A==="c")){t.interrupt(),St();return}if(u.phase==="thinking"||u.phase==="streaming"||u.phase==="retrying"){if(k.ctrl&&A==="t"){uo(null),De(0),Pn(!0);return}if(ke){if(k.upArrow){ve(D=>Math.max(0,D-1));return}if(k.downArrow){ve(D=>Math.min(Hi.length-1,D+1));return}if(k.escape){de(!1),ve(0);return}if(k.tab){let D=Hi[Z];if(D){let re=Vv(D);At(re),ir(re)}return}if(k.return&&!k.shift){let D=Hi[Z];if(D&&D.kind==="subcommand"&&UT(D)){de(!1),ve(0);let re=Tj(D);if(Gv(D.parent,D.sub.name)){q(D.parent,D.sub.name),Te(Ye=>[...Ye,re]),At(""),ne(-1);return}Kt(re),Te(Ye=>[...Ye,re]),At(""),ne(-1);return}if(D&&D.kind==="subcommand"){let re=Vv(D);At(re),ir(re);return}if(de(!1),ve(0),D){if(Gv(D.command,"")){q(D.command,""),At(""),ne(-1);return}let re=`/${D.command.name}`;Kt(re),Te(Ye=>[...Ye,re]),At(""),ne(-1)}return}}if(k.ctrl&&A==="c"){t.interrupt(),St();return}if(k.escape){let D=Q.current.length>0,re=t.current.pendingInjects.length>0,Ye=ye(y).trim(),it=Ye!=="";if(D||re||it){let bn=re;if(it){let di=H6(Ye);di.kind==="redirect"&&(t.injectInput("root",di.inject),Te(ui=>[...ui,di.inject]),bn=!0),At(""),ne(-1)}if(!u.cycleActive&&Q.current.length>0){let di=[];for(let ui of Q.current)fe(ui)?bn=!0:di.push(ui);Vt(di)}if(bn&&t.expedite(),!it&&!D){if($t.current+=1,$t.current>=2){$t.current=0,t.interrupt(),St();return}}else $t.current=0;return}t.interrupt(),St();return}if(k.return&&k.ctrl||!k.return&&A===`
|
|
743
|
+
`)}case"inject":return`[encaixado]${e.text.trim()?` ${e.text.trim()}`:""}`}}var dge,z_=g(()=>{"use strict";N();cu();ps();tk();nk();rk();ok();dge="-".repeat(12)});import uge,{useEffect as _o,useState as ft,useReducer as mge,useCallback as lo,useMemo as V_,useRef as Zt}from"react";import{Box as Ae,Static as fge,Text as pge,useApp as gge,useInput as hge,useStdin as yge,useStdout as bge}from"ink";import{Fragment as qz,jsx as j,jsxs as Wo}from"react/jsx-runtime";function Uz(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>=1?Math.floor(e):t}function Hz(e){let{controller:t}=e,{exit:o}=gge(),{stdout:n}=bge(),r=X(),{lang:i,t:s}=Re(),[,a]=mge(A=>A+1,0);_o(()=>{if(!n||typeof n.on!="function")return;let A=()=>a();return n.on("resize",A),()=>{typeof n.off=="function"&&n.off("resize",A)}},[n]);let l=Uz(n?.columns,80),c=Uz(n?.rows,24),d=r.density!=="compact",m=r.density!=="compact",[u,p]=ft(t.current),[h,b]=ft({text:"",cursor:0}),y=h.text,v=h.cursor,[S,w]=ft(!1),[T,M]=ft(0),[_,L]=ft(()=>new Set),[B,I]=ft(!1),[F,U]=ft(""),W=u.phase==="questioning"?u.pendingQuestion?.spec:void 0,$=Zt(void 0);_o(()=>{W!==$.current&&($.current=W,M(0),L(new Set),U(""),I(W?.kind==="text"))},[W]);let[z,Ce]=ft(0),[ke,de]=ft(!1),[Z,ve]=ft(0),[se,Te]=ft([]),[ge,ne]=ft(-1),[Fe,bt]=ft(e.initialSuggestions!==!1),[ue,_e]=ft(void 0),Ve=Zt(t.current.phase),Ot=Zt(void 0);Ot.current=ue;let Be=Zt(h);Be.current=h;let[je,Vt]=ft([]),Q=Zt([]),$t=Zt(0),hn=Zt(0);Q.current=je,je.length===0&&(hn.current=0);let Kt=lo(A=>{Q.current=[...Q.current,A],Vt(k=>[...k,A])},[]),St=lo(()=>{Q.current=[],Vt([]),hn.current=0},[]),[Bt,Pn]=ft(!1),[ae,De]=ft(0),[we,uo]=ft(null),[Mo,Ln]=ft(e.initialSplitView===!0),[or,nn]=ft(!1),[H,K]=ft("chat"),[Ie,ct]=ft(()=>new Set),[Y,ee]=ft(0),[Ee,Gt]=ft(!1),[qe,Wa]=ft(e.initialFullscreen===!0),[Ms,In]=ft("conversa"),[Ui,ci]=ft(0),[ji,nr]=ft(!1),mo=Zt(void 0),Oo=Zt(void 0),rn=Zt(!1),bo=Zt(void 0),J=lo(()=>{Oo.current!==void 0&&(clearTimeout(Oo.current),Oo.current=void 0),mo.current=void 0,nr(!1)},[]);_o(()=>()=>{Oo.current!==void 0&&clearTimeout(Oo.current),bo.current!==void 0&&clearTimeout(bo.current)},[]);let Me=Hv(u.meta.label),vo=y.length===0?1:Bo(y,l>Me?l-Me:l),to=Math.max(3,Math.floor(c/3)),oo=Math.max(0,Math.min(vo,to)-1),Os=qe?t.flowOverview():[],Ga=qe?$_(Os,A=>t.drillInFlow(A),{collapsed:Ie,errorsOnly:Ee}).sections:[],Hx=Os.filter(A=>A.kind==="subagent"&&(A.phase==="thinking"||A.phase==="tool"||A.phase==="asking")).length,yh=qe?Ex(u.blocks).startupNotes:[],bh=yh.length>0?1+yh.reduce((A,k)=>A+1+k.lines.length,0):0,Wx=qe?{lines:Ga.length>0?1+Q6(Ga):bh,hasActivity:Ga.length>0||bh>0,activeAgents:Hx,focused:Ms==="log"}:void 0,rr=Fa(c,l,vo,Wx),x=qe&&rr.kind==="cockpit";e.cockpitScreen?.setExpectedRows?.(x?rr.rows:void 0);let ko=Y6(l,Mo),sn=ko.layout,fo=sn==="side"||sn==="tabs"&&H==="log",Dc=fo&&or,Oe=u6({fileIndex:e.fileIndex??vge,attachReader:e.attachReader??kge}),le=p6({catalog:e.catalog??xge,...e.customModels?{customModels:e.customModels}:{},currentTier:u.meta.tier,...e.currentEffort!==void 0?{currentEffort:e.currentEffort}:{}}),Ps=(u.meta.model??"")!==""?u.meta.model:e.currentLocalModel,nt=y6({...e.localModelCatalog!==void 0?{catalog:e.localModelCatalog}:{},...e.localRemoteModelNames!==void 0?{remoteNames:e.localRemoteModelNames}:{},...Ps!==void 0?{currentModel:Ps}:{}}),pt=k6({...e.currentEffort!==void 0?{currentEffort:e.currentEffort}:{}}),Go=w6(e.permissionControl??Age),qi=e.currentTheme??Ol(r.brightness),Yt=T6({currentTheme:qi}),Pt=i6({...e.mcpSearch!==void 0?{search:e.mcpSearch}:{},...e.mcpInstall!==void 0?{install:e.mcpInstall}:{},onNota:(A,k)=>{t.pushNote(A,k)}}),_c=uge.useRef(!1);!_c.current&&e.onMcpPickerReady!==void 0&&(_c.current=!0,e.onMcpPickerReady(Pt.abrir));let Mc=e.currentLang??i,Po=M6({currentLang:Mc}),Oc=(u.meta.provider??"")!==""?u.meta.provider:e.currentProvider,Le=I6({...Oc!==void 0?{currentProvider:Oc}:{},...e.providersClient?{providersClient:e.providersClient}:{},...e.localProviderCatalog?{localCatalog:e.localProviderCatalog}:{},...e.hasStoredKey?{hasStoredKey:e.hasStoredKey}:{},...e.storeCredential?{storeCredential:e.storeCredential}:{}}),za=lo((A,k)=>{typeof A?.then=="function"&&A.then(E=>{if(E===!0){nt.openPicker();return}E!==!1&&E?.ok===!1&&k!==void 0&&Le.retryCredential(k,E.detail)})},[nt,Le]),vh=V_(()=>Dj(Uo,s),[s]),kh=V_(()=>gz(u.blocks),[u.blocks]),Lo=F6({store:e.sessionStore??Sge}),Ls=e.rewindSource??wge,wt=B6({source:Ls}),Pc=V_(()=>wt.target?Ls.barriersAfter(wt.target.id):[],[wt.target,Ls]),Xe=j6({...e.userCommands!==void 0?{userCommands:e.userCommands}:{},natives:vh}),Lc=e.syncActive??!0,xh=(u.detachedSubagents??0)>0,Ic=(()=>{if(u.liveSubagents===void 0)return[];if(c6({blocks:u.blocks,rows:c,columns:l,linhasDoRodape:Cs}))return[];for(let A=u.blocks.length-1;A>=0;A-=1){let k=u.blocks[A];if(k?.kind==="subagents")return k.children}return[]})(),Qu=E3({count:u.detachedSubagents??0,phase:u.phase,...u.workingLabel!==void 0?{workingLabel:u.workingLabel}:{}}),Gx=G6(u.phase,Lc,{subagentsAlive:xh})||Tge(u.blocks),Is=ih({enabled:r.animate&&Gx}),Zu=Ax(u.phase);ih({enabled:Zu,intervalMs:1e3}),_o(()=>{let A=t.subscribe(p);return()=>{A(),t.dispose()}},[t]),_o(()=>{if(e.initialFullscreen!==!0||e.cockpitEnteredAtBoot===!0)return;if(Fa(c,l).kind==="cockpit")e.cockpitScreen?.enter();else{Wa(!1);let k=Fa(c,l),E=k.kind==="refuse"&&k.reason==="narrow"?s("cockpit.refuseNarrow"):s("cockpit.refuseShort");t.replaceNote("cockpit",[E])}},[]);let xo=Zt(e.initialFullscreen===!0&&rr.kind==="cockpit"),Sh=Zt(e.initialFullscreen===!0);_o(()=>{let A=Sh.current!==qe;if(Sh.current=qe,!qe){xo.current=!1;return}let k=rr.kind==="cockpit";if(A){xo.current=k;return}let E=xo.current;if(E&&!k){e.cockpitScreen?.leave();let D=rr.kind==="refuse"&&rr.reason==="narrow"?s("cockpit.refuseNarrow"):s("cockpit.refuseShort");t.replaceNote("cockpit",[D])}else!E&&k?(e.cockpitScreen?.enter(),a()):E&&k&&e.cockpitScreen?.resetDiffer?.();xo.current=k},[c,l,qe]);let{stdin:Rr}=yge();_o(()=>{if(!Rr)return;let A=k=>{let E=typeof k=="string"?k:k.toString("utf8");if(E.includes("\x1B[19~")||E.includes("\x1BOW")){t.cancelAllFlows(),St();return}let D=xW(E);D==="home"?b(re=>({...re,cursor:0})):D==="end"&&b(re=>({...re,cursor:re.text.length}))};return Rr.on("data",A),()=>{Rr.removeListener("data",A)}},[Rr,t,St,b]),_o(()=>{if(u.phase!=="boot")return;let A=e.bootMs??900;if(A<=0)return;let k=setTimeout(()=>t.dismissBoot(),A);return()=>clearTimeout(k)},[u.phase,t,e.bootMs]),_o(()=>{u.phase!=="stuck"&&S&&w(!1)},[u.phase,S]);let Nn=e.userCommands??[],Va=y.startsWith("/")?y.slice(1):"",Hi=Mj(Va,Nn,vh),At=lo((A,k)=>{b({text:A,cursor:go(A,k??A.length)})},[]);_o(()=>{let A=Ve.current,k=u.phase;if(Ve.current=k,A===k)return;let E=k==="idle"||k==="done";E&&(A!=="idle"&&A!=="done"&&A!=="boot")?Fe&&y===""&&je.length===0&&_e(mz(u.blocks,s)):E||_e(void 0)},[u.phase,u.blocks,y,je.length,Fe,s]),_o(()=>{y!==""&&_e(void 0)},[y]);let ir=lo(A=>{de(jT(A,e.userCommands??[])),ve(0)},[e.userCommands]),Ka=Zt(!1),Ya=e.armAtomicClear,yn=lo(()=>{Na("clearScreen() \u2192 \\x1b[2J\\x1b[3J + staticKey++ (REEMITE hist\xF3rico)"),Ka.current=!1,Ya?Ya():n?.write("\x1B[H\x1B[2J\x1B[3J"),Ce(A=>A+1),qe&&e.cockpitScreen?.resetDiffer?.()},[n,qe,e.cockpitScreen,Ya]),Nc=e.registerClearScreen;_o(()=>{Nc?.(yn)},[Nc,yn]),_o(()=>{Na(`slashOpen=${ke} (rows=${c} cols=${l})`)},[ke,c,l]);let Xa=Zt({rows:c,columns:l}),Fc=Zt(0),wh=500,C=Zt(void 0),P=Zt(!1);_o(()=>{if(qe){Xa.current={rows:c,columns:l};return}let A=Xa.current;if(A.rows===c&&A.columns===l)return;if(P.current){Xa.current={rows:c,columns:l},Ka.current=!0,Na(`resize ${A.rows}x${A.columns} \u2192 ${c}x${l} (F196: viva > rows \u21D2 PULA clearScreen; Ink repinta via clearTerminal; marca recupera\xE7\xE3o pendente)`);return}if(A.columns===l&&!Ka.current){Xa.current={rows:c,columns:l},Na(`resize ${A.rows}x${A.columns} \u2192 ${c}x${l} (s\xF3 ROWS \u21D2 PULA clearScreen; sem rewrap de largura)`);return}Na(`resize ${A.rows}x${A.columns} \u2192 ${c}x${l} (clearScreen em 90ms)`),Xa.current={rows:c,columns:l};let k=setTimeout(()=>{let E=Date.now(),D=Ka.current;if(!D&&E-Fc.current<wh){let re=wh-(E-Fc.current);C.current!==void 0&&clearTimeout(C.current),C.current=setTimeout(()=>{C.current=void 0,Fc.current=Date.now(),yn()},Math.max(re,0)+1),Na(`resize ${c}x${l} \u2014 clearScreen adiado ${Math.max(re,0)+1}ms (cooldown ${wh}ms; rajada \u2014 repinta no fim)`);return}D&&Na(`resize ${c}x${l} \u2014 clearScreen FOR\xC7ADO (ignora cooldown; recupera\xE7\xE3o WEZTERM-GAP de regime "n\xE3o cabe" pendente)`),C.current!==void 0&&(clearTimeout(C.current),C.current=void 0),Fc.current=E,yn()},90);return()=>clearTimeout(k)},[c,l,qe,yn]),_o(()=>()=>{C.current!==void 0&&(clearTimeout(C.current),C.current=void 0)},[]);let he=lo(()=>{Ln(A=>{let k=!A;return e.onSplitViewChange?.(k),k||(nn(!1),K("chat")),k})},[e]),R=lo(()=>{Wa(A=>{let k=!A,E=Fa(c,l).kind==="cockpit";if(k&&E)e.cockpitScreen?.enter(),t.replaceNote("cockpit",[s("cockpit.entered")]);else if(k&&!E){let D=Fa(c,l),re=D.kind==="refuse"&&D.reason==="narrow"?s("cockpit.refuseNarrow"):s("cockpit.refuseShort");t.replaceNote("cockpit",[re])}else e.cockpitScreen?.leave(),yn(),t.replaceNote("cockpit",[s("cockpit.left")]);return e.onFullscreenChange?.(k),k}),In("conversa"),ci(0),ee(0)},[e,t,s,c,l,yn]),q=lo((A,k)=>{if(A.id==="split"){he();return}if(A.id==="fullscreen"){R();return}if(A.id==="suggest"){let E=k.trim().toLowerCase(),D=E==="on"?!0:E==="off"?!1:!Fe;bt(D),e.onSuggestionsChange?.(D),D||_e(void 0),t.replaceNote("suggest",[D?"sugest\xE3o de pr\xF3ximo prompt LIGADA \u2014 Tab aceita o ghost no composer.":"sugest\xE3o de pr\xF3ximo prompt DESLIGADA."]);return}if(A.id==="export"){e.onExportTranscript?e.onExportTranscript().then(E=>{t.pushNote("export",E.ok&&E.path?[`transcript exportado (redigido) \u2192 ${E.path}`]:[E.error??"export indispon\xEDvel"])}):t.replaceNote("export",["export indispon\xEDvel nesta sess\xE3o."]);return}if(A.id==="model"&&k.trim()===""&&u.meta.backend==="local"){if(e.onSelectTier!==void 0){nt.openPicker();return}t.replaceNote("model-local",["Backend LOCAL (BYO): os tiers do broker n\xE3o se aplicam aqui.","O modelo vem do seu provider \u2014 troque com /provider, ou defina ALUY_LOCAL_MODEL / --model."]);return}if(A.id==="model"&&k.trim()===""&&e.catalog!==void 0&&e.onSelectTier!==void 0){le.openPicker();return}if(A.id==="effort"&&k.trim()===""&&e.onSelectEffort!==void 0){pt.openPicker();return}if(A.id==="permissions"&&e.permissionControl!==void 0){Go.openPanel();return}if(A.id==="history"&&e.sessionStore!==void 0&&e.onResumeSession!==void 0){let E=k.trim();if(E===""){Lo.openPicker();return}yn(),e.onResumeSession(E);return}if(A.id==="rewind"&&e.rewindSource!==void 0&&e.onRewind!==void 0){wt.openPicker();return}if(A.id==="theme"&&e.onSelectTheme!==void 0){let E=k.trim();if(E===""){Yt.openPicker();return}let D=rs(E);if(D){e.onSelectTheme(D.name);return}}if(A.id==="lang"&&e.onSelectLang!==void 0){let E=k.trim();if(E===""){Po.openPicker();return}let D=$r(E);if(D){e.onSelectLang(D.code);return}}if(A.id==="provider"&&e.onSelectProvider!==void 0){let E=k.trim();if(E===""){Le.openPicker();return}if(E.toLowerCase()==="save"){e.onSaveProvider?e.onSaveProvider():t.pushNote("provider",["fixar como padr\xE3o indispon\xEDvel nesta sess\xE3o."]);return}let D=Jv(E,Le.providers);if(D){za(e.onSelectProvider(D.name),D.name);return}}e.onCommand?.(A,k)},[e,le,Go,Yt,Po,Le,Lo,wt,yn,he,Fe]),O=lo(A=>{if(A.action.kind==="command"){q(A.action.command,"");return}A.action.actionId==="cycle-mode"&&t.cycleMode()},[q,t]),G=lo(A=>{ci(0),ee(0);let k=du(A,Nn);if(k.kind==="goal"){if(k.text!==""){if(Yl(k.text).length>0&&e.attachReader){let D=Oe.attachments.map(re=>re.item);uh(k.text,e.attachReader).then(({goal:re,items:Ye})=>{if(re===""&&Ye.length===0){Oe.clear();return}let it=[...D,...Ye],bn=re!==""?re:k.text;Te(di=>[...di,bn]),t.submit(bn,it),Oe.clear()});return}let E=Oe.attachments.map(D=>D.item);Te(D=>[...D,k.text]),t.submit(k.text,E),Oe.clear()}return}if(k.kind==="command"){q(k.command,k.args);return}if(k.kind==="bang"){Te(E=>[...E,`!${k.command}`]),t.runBang(k.command);return}},[t,Nn,Oe,q,e.attachReader]),fe=lo(A=>{let k=du(A,Nn);return k.kind!=="goal"||k.text===""||Oe.attachments.length>0||Yl(k.text).length>0||!t.turnoVivo?!1:t.injectInput("root",k.text)},[t,Nn,Oe]),Ke=lo(A=>{let k=du(A,Nn);return k.kind!=="command"||!Gv(k.command,k.args)?!1:(q(k.command,k.args),!0)},[Nn,q]),rt=lo(A=>{if(Q.current.length>0){Kt(A);return}let k=du(A,Nn),E=k.kind==="goal"?k.text:"";if(V6({subagentsRunning:jz(t.current.blocks),isPlainGoal:k.kind==="goal",nonEmpty:E!=="",hasPendingAttachment:Oe.attachments.length>0||E!==""&&Yl(E).length>0})){fe(A);return}!fe(A)&&!Ke(A)&&Kt(A)},[Kt,fe,Ke,t,Nn,Oe]),oe=Zt();oe.current||(oe.current=fH());let Ue=Zt();Ue.current||(Ue.current=kz());let ye=lo(A=>{let k=Az(A,Ue.current);return Ue.current.reset(),k},[]),no=lo(A=>{let k=wz(A,Ue.current,"backward");return k.handled?(k.removedId!==void 0&&Ue.current.remove(k.removedId),k.state):YR(A)},[]),Io=Zt({open:!1}),be=lo(A=>{if(A==="")return;t.current.phase==="boot"&&t.dismissBoot(),Oe.dismissNotice();let k=vz(A);b(E=>{let D=k?xz(E,A,Ue.current):sc(E,A);return ir(D.text),So(D.text),D}),ne(-1)},[t,Oe,ir]),ce=lo(A=>A.replace(/[\r\n\t]/g,""),[]),te=lo(A=>{if(Xe.open){Xe.setQuery(Xe.query+ce(A));return}if(le.open){if(le.effortStepOpen){le.effortCustomOpen&&le.appendEffortCustom(A);return}le.customInputOpen&&le.appendCustom(A);return}if(nt.open){nt.setQuery(nt.query+ce(A));return}if(pt.open){pt.customOpen&&pt.appendCustom(A);return}if(!(Go.open||Pt.open||Yt.open||Po.open||Lo.open||wt.open)){if(Le.open){if(Le.credentialStep!==null){Le.typeCredential(ce(A));return}Le.addCustomStep!==null&&Le.typeAddCustom(ce(A));return}if(u.phase==="questioning"&&u.pendingQuestion){B&&U(k=>k+ce(A));return}be(A)}},[Xe,le,nt,pt,Go,Yt,Po,Lo,wt,Le,u.phase,u.pendingQuestion,B,ce,be]);_o(()=>{if(!Rr)return;let A=oe.current,k=E=>{let D=typeof E=="string"?E:E.toString("utf8");if(!A.isInPaste()&&!D.includes("\x1B[20"))return;let re=A.feed(D);for(let Ye of re)Ye.kind==="paste"&&te(Ye.text)};return Rr.on("data",k),()=>{Rr.removeListener("data",k)}},[Rr,te]);let xe=Oe.open||le.open||nt.open||pt.open||Go.open||Pt.open||Yt.open||Po.open||Le.open||Lo.open||wt.open||Xe.open,Ut=jj({...u,anyPickerOpen:xe});_o(()=>{if(!Ut||je.length===0)return;let A=je[0]??"",k=du(A,Nn);if(k.kind==="command"&&k.command.id==="clear"){St(),G(A);return}Vt(E=>E.slice(1)),G(A)},[Ut,je,G,Nn,St]),_o(()=>{if(Ut||je.length===0||u.phase!=="thinking"&&u.phase!=="streaming")return;let A=0;for(let k of je){if(!fe(k))break;A+=1}A>0&&Vt(k=>k.slice(A))},[Ut,je,u.phase,fe]),hge((A,k)=>{if(!mH(Io.current,A)&&!az(A)&&!(A!==""&&!k.tab&&/^[\x00-\x08\x0b\x0c\x0e-\x1f\x7f\t]+$/.test(A))){if(u.phase==="boot"){if(k.ctrl&&A==="c"){o();return}if(A&&!k.ctrl&&!k.meta){t.dismissBoot();let E=A.search(/[\r\n]/);E!==-1?G(y+A.slice(0,E)):b(D=>{let re=D.text+A;return de(jT(re,e.userCommands??[])),{text:re,cursor:re.length}});return}t.dismissBoot();return}if(x&&!ke&&!xe&&u.phase!=="asking"){if(k.tab&&!k.shift){In(D=>D==="conversa"?"log":"conversa");return}if(k.ctrl&&(A==="s"||A==="")){e.onExportTranscript?e.onExportTranscript().then(D=>{D.ok&&D.path?t.pushNote("export",[`${s("cockpit.exported")} ${D.path}`]):t.pushNote("export",[D.error??"export indispon\xEDvel"])}):t.pushNote("export",["export indispon\xEDvel nesta sess\xE3o"]);return}let E=rr.kind==="cockpit"?rr:void 0;if(E){let D=k.pageUp?"pageUp":k.pageDown?"pageDown":k.upArrow?"up":k.downArrow?"down":void 0;if(D!==void 0){if(Ms==="conversa"){let re=Math.max(1,Math.round((E.regions.conversaRows-1)/4)),Ye=D==="up"?1:D==="down"?-1:D==="pageUp"?re:-re;ci(it=>Math.min(Math.max(0,it+Ye),Math.max(0,u.blocks.length-1)))}else{let re=Math.max(1,E.regions.logRows-1);ee(Ye=>iz(D,Ye,Ga.length+1,re))}return}}}if(!Bt){if(k.ctrl&&A==="l"){Mo&&sn==="tabs"?(K(E=>E==="chat"?"log":"chat"),nn(E=>!E)):he();return}if(k.tab&&!k.shift&&fo){sn==="tabs"?(K(E=>E==="chat"?"log":"chat"),nn(E=>!E)):nn(E=>!E);return}if(Dc){if(k.escape){nn(!1);return}if(k.upArrow){ee(E=>E+1);return}if(k.downArrow){ee(E=>Math.max(0,E-1));return}if(k.pageUp){ee(E=>E+Ac);return}if(k.pageDown){ee(E=>Math.max(0,E-Ac));return}if(k.return){ct(E=>{let D=new Set(E);return D.has("root")?D.delete("root"):D.add("root"),D});return}if(A==="e"&&!k.ctrl&&!k.meta){Gt(E=>!E);return}if(!(k.ctrl&&A==="c")&&!(k.ctrl&&A==="t"))return}}if(Bt){if(we){if(k.escape||k.return){uo(null);return}if(A==="p"){t.cancelFlow(we);return}if(A==="i"){y.trim()!==""&&(t.injectInput(we,y),At(""));return}return}let E=t.flowOverview();if(k.escape||k.ctrl&&A==="t"){Pn(!1);return}if(k.upArrow){De(D=>Math.max(0,D-1));return}if(k.downArrow){De(D=>Math.min(Math.max(0,E.length-1),D+1));return}if(k.return){let D=E[Math.min(ae,E.length-1)];D&&uo(D.id);return}if(A==="p"){let D=E[Math.min(ae,E.length-1)];D&&t.cancelFlow(D.id);return}if(A==="P"){t.cancelAllFlows();return}if(A==="i"){let D=E[Math.min(ae,E.length-1)];D&&y.trim()!==""&&(t.injectInput(D.id,y),At(""));return}return}if(u.phase==="asking"&&u.pendingAsk){let E=u.pendingAsk.request.alwaysAsk;if(A==="a")return t.resolveAsk({kind:"approve-once"});if(A==="s"&&E===!1)return t.resolveAsk({kind:"approve-session"});if(A==="n")return t.resolveAsk({kind:"deny",reason:"negado pelo usu\xE1rio"});if(k.escape){let D=Date.now(),re=Q.current.length>0,Ye=D-hn.current<500;t.resolveAsk({kind:"deny",reason:"cancelado (esc)"}),Ye&&!re&&(t.interrupt(),St()),hn.current=re?0:D;return}return A==="e"?t.resolveAsk({kind:"deny",reason:"editar (n\xE3o aplicado)"}):void 0}if(u.phase==="questioning"&&u.pendingQuestion){let E=u.pendingQuestion.spec,D=E.options??[],re=E.kind!=="text"&&E.allowOther!==!1;if(k.escape){if(B&&E.kind!=="text"){I(!1),U("");return}return t.resolveQuestion({kind:"unavailable",reason:"cancelado (esc)"})}if(B){if(k.return){let it=F.trim();return it===""?void 0:t.resolveQuestion({kind:"text",text:it})}if(k.backspace||k.delete){U(it=>it.slice(0,-1));return}if(A&&!k.ctrl&&!k.meta){U(it=>it+A);return}return}let Ye=D.length-1;if(k.upArrow){M(it=>it===_i?Ye:it<=0?re?_i:Ye:it-1);return}if(k.downArrow){M(it=>it===_i?0:it>=Ye?re?_i:0:it+1);return}if(E.kind==="multi"&&A===" "&&T!==_i&&T>=0){L(it=>{let bn=new Set(it);return bn.has(T)?bn.delete(T):bn.add(T),bn});return}if(k.return){if(T===_i){I(!0);return}if(E.kind==="multi"){let bn=[..._].sort((ui,SK)=>ui-SK),di=bn.map(ui=>D[ui]?.label??"").filter(ui=>ui!=="");return t.resolveQuestion({kind:"choices",indices:bn,labels:di})}let it=D[T];return it?t.resolveQuestion({kind:"choice",index:T,label:it.label}):void 0}return}if(u.phase==="budget"){if(A==="n")return o();if(A==="c"){t.continueAfterBudget();return}if(A==="k"&&t.canCompact){t.compactAfterBudget();return}return}if(u.phase==="cycle-ceiling"){if(A==="n"||k.escape){t.stopCycleCeiling();return}if(A==="c"){t.continueCycleCeiling();return}return}if(u.pendingUnsafeConfirm===!0){if(A==="s"||A==="y"){t.confirmUnsafe();return}if(A==="n"||k.escape){t.cancelUnsafe();return}return}if(u.phase==="stuck")if(S){if(k.escape){w(!1);return}if(k.return&&!k.shift){let E=h.text;b({text:"",cursor:0}),w(!1),t.redirectAfterStuck(E);return}}else{if(A==="r"){w(!0);return}if(A==="c"){t.continueAfterStuck();return}if(A==="n"||k.escape){t.endAfterStuck();return}return}if(Cge(u.blocks)&&(k.escape||k.ctrl&&A==="c")){t.interrupt(),St();return}if(u.phase==="thinking"||u.phase==="streaming"||u.phase==="retrying"){if(k.ctrl&&A==="t"){uo(null),De(0),Pn(!0);return}if(ke){if(k.upArrow){ve(D=>Math.max(0,D-1));return}if(k.downArrow){ve(D=>Math.min(Hi.length-1,D+1));return}if(k.escape){de(!1),ve(0);return}if(k.tab){let D=Hi[Z];if(D){let re=Vv(D);At(re),ir(re)}return}if(k.return&&!k.shift){let D=Hi[Z];if(D&&D.kind==="subcommand"&&UT(D)){de(!1),ve(0);let re=Tj(D);if(Gv(D.parent,D.sub.name)){q(D.parent,D.sub.name),Te(Ye=>[...Ye,re]),At(""),ne(-1);return}Kt(re),Te(Ye=>[...Ye,re]),At(""),ne(-1);return}if(D&&D.kind==="subcommand"){let re=Vv(D);At(re),ir(re);return}if(de(!1),ve(0),D){if(Gv(D.command,"")){q(D.command,""),At(""),ne(-1);return}let re=`/${D.command.name}`;Kt(re),Te(Ye=>[...Ye,re]),At(""),ne(-1)}return}}if(k.ctrl&&A==="c"){t.interrupt(),St();return}if(k.escape){let D=Q.current.length>0,re=t.current.pendingInjects.length>0,Ye=ye(y).trim(),it=Ye!=="";if(D||re||it){let bn=re;if(it){let di=H6(Ye);di.kind==="redirect"&&(t.injectInput("root",di.inject),Te(ui=>[...ui,di.inject]),bn=!0),At(""),ne(-1)}if(!u.cycleActive&&Q.current.length>0){let di=[];for(let ui of Q.current)fe(ui)?bn=!0:di.push(ui);Vt(di)}if(bn&&t.expedite(),!it&&!D){if($t.current+=1,$t.current>=2){$t.current=0,t.interrupt(),St();return}}else $t.current=0;return}t.interrupt(),St();return}if(k.return&&k.ctrl||!k.return&&A===`
|
|
744
744
|
`&&!k.ctrl&&!k.meta){let D=ye(y).trim();D!==""&&(t.injectInput("root",D),At(""),Te(re=>[...re,D]),ne(-1));return}if(k.return&&k.shift){b(D=>sc(D,`
|
|
745
745
|
`));return}if(k.return){let D=ye(y).trim();D!==""&&(rt(D),Te(re=>[...re,D]),At(""),ne(-1));return}if(k.backspace||k.delete){if(y===""&&je.length>0){Vt(D=>D.slice(0,-1));return}b(D=>{let re=no(D);return ir(re.text),re});return}if(k.leftArrow){b(D=>({...D,cursor:k.meta?Ag(D):XR(D)}));return}if(k.rightArrow){b(D=>({...D,cursor:k.meta?Ok(D):JR(D)}));return}if(k.ctrl&&A==="a"){b(D=>({...D,cursor:0}));return}if(k.ctrl&&A==="e"){b(D=>({...D,cursor:D.text.length}));return}if(A&&!k.ctrl&&!k.meta){if(A.search(/[\r\n]/)!==-1){b(D=>{let re=wg(D,A),Ye=ye(re.state.text).trim();return Ye!==""&&(re.newline===`
|
|
746
746
|
`?t.injectInput("root",Ye):rt(Ye),Te(it=>[...it,Ye])),ne(-1),{text:"",cursor:0}}),de(!1),ve(0);return}b(D=>{let re=wg(D,A).state;return ir(re.text),re});return}return}if(u.phase==="error"){if(k.escape){t.dismissError(),yn();return}if((A==="r"||A==="R")&&!k.ctrl&&!k.meta){t.retryLastGoal(),yn();return}if(!(k.ctrl&&A==="c"))return}if(Xe.open){if(k.escape){Xe.closePalette();return}if(k.upArrow){Xe.move(-1);return}if(k.downArrow){Xe.move(1);return}if(k.return){let E=Xe.confirm();E&&O(E);return}if(k.backspace||k.delete){Xe.setQuery(Xe.query.slice(0,-1));return}if(k.ctrl&&(A==="p"||A==="x"||A==="c")){Xe.closePalette();return}A&&!k.ctrl&&!k.meta&&Xe.setQuery(Xe.query+A);return}if(le.open){if(le.effortStepOpen){if(le.effortCustomOpen){if(k.escape){le.backFromEffort();return}if(k.return){let E=le.confirm();E&&e.onSelectConjugated?.(E.model,E.effort);return}if(k.backspace||k.delete){le.backspaceEffortCustom();return}A&&!k.ctrl&&!k.meta&&le.appendEffortCustom(A);return}if(k.upArrow){le.effortMove(-1);return}if(k.downArrow){le.effortMove(1);return}if(k.return||k.tab){let E=le.confirm();E&&e.onSelectConjugated?.(E.model,E.effort);return}if(k.escape){le.backFromEffort();return}return}if(le.customInputOpen){if(k.escape){le.closePicker();return}if(k.upArrow){le.browseMove(-1);return}if(k.downArrow){le.browseMove(1);return}if(k.return){le.confirm();return}if(k.backspace||k.delete){le.backspaceCustom();return}if(k.ctrl&&A==="t"){le.toggleToolsOnly();return}A&&!k.ctrl&&!k.meta&&le.appendCustom(A);return}if(k.upArrow){le.move(-1);return}if(k.downArrow){le.move(1);return}if(k.return||k.tab){le.confirm();return}if(k.escape){le.closePicker();return}return}if(nt.open){if(k.escape){nt.closePicker();return}if(k.upArrow){nt.move(-1);return}if(k.downArrow){nt.move(1);return}if(k.return||k.tab){let E=nt.hits[nt.selected]!==void 0,D=nt.confirm();D&&(E||e.onConfirmCustomLocalModel===void 0?e.onSelectTier?.("custom",D):e.onConfirmCustomLocalModel(D));return}if(k.backspace||k.delete){nt.setQuery(nt.query.slice(0,-1));return}A&&!k.ctrl&&!k.meta&&nt.setQuery(nt.query+A);return}if(pt.open){if(pt.customOpen){if(k.escape){pt.back();return}if(k.return){let E=pt.confirm();E&&e.onSelectEffort?.(E);return}if(k.backspace||k.delete){pt.backspaceCustom();return}A&&!k.ctrl&&!k.meta&&pt.appendCustom(A);return}if(k.upArrow){pt.move(-1);return}if(k.downArrow){pt.move(1);return}if(k.return||k.tab){let E=pt.confirm();E&&e.onSelectEffort?.(E);return}if(k.escape){pt.closePicker();return}return}if(Go.open){if(k.upArrow){Go.move(-1);return}if(k.downArrow){Go.move(1);return}if(k.return){Go.act();return}if(k.escape){Go.closePanel();return}return}if(Pt.open){if(k.upArrow){Pt.move(-1);return}if(k.downArrow){Pt.move(1);return}if(k.return){Pt.confirm();return}if(k.escape){Pt.cancel();return}return}if(Yt.open){if(k.upArrow){Yt.move(-1);return}if(k.downArrow){Yt.move(1);return}if(k.return||k.tab){let E=Yt.confirm();E&&e.onSelectTheme?.(E);return}if(k.escape){Yt.closePicker();return}return}if(Po.open){if(k.upArrow){Po.move(-1);return}if(k.downArrow){Po.move(1);return}if(k.return||k.tab){let E=Po.confirm();E&&e.onSelectLang?.(E);return}if(k.escape){Po.closePicker();return}return}if(Le.open){if(Le.credentialStep!==null){if(k.escape){Le.cancelCredential();return}if(k.return){let E=Le.confirmCredential();E&&za(e.onSelectProvider?.(E),E);return}if(k.backspace||k.delete){Le.backspaceCredential();return}A&&!k.ctrl&&!k.meta&&Le.typeCredential(A);return}if(Le.addCustomStep!==null){if(k.escape){Le.cancelAddCustom();return}if(k.return){let E=Le.confirmAddCustom();E&&e.onAddCustomProvider?.(E);return}if(k.backspace||k.delete){Le.backspaceAddCustom();return}A&&!k.ctrl&&!k.meta&&Le.typeAddCustom(A);return}if(k.upArrow){Le.move(-1);return}if(k.downArrow){Le.move(1);return}if(k.return||k.tab){let E=Le.confirm();if(E===xx){Le.startAddCustom();return}E&&za(e.onSelectProvider?.(E),E);return}if(k.escape){Le.closePicker();return}return}if(Lo.open){if(k.upArrow){Lo.move(-1);return}if(k.downArrow){Lo.move(1);return}if(k.return||k.tab){let E=Lo.confirm();E&&(yn(),e.onResumeSession?.(E));return}if(k.escape){Lo.closePicker();return}return}if(wt.open){if(k.upArrow){wt.move(-1);return}if(k.downArrow){wt.move(1);return}if(k.return){let E=wt.confirm();E&&e.onRewind?.(E);return}if(k.escape){wt.back();return}return}if(ke){if(k.upArrow){ve(E=>Math.max(0,E-1));return}if(k.downArrow){ve(E=>Math.min(Hi.length-1,E+1));return}if(k.return||k.tab){let E=Hi[Z];if(E===void 0){if(k.return){let D=y.trim().split(/\s+/)[0]??"";At(""),de(!1),ve(0),t.replaceNote("comando",[`comando desconhecido: ${D||"/"} \u2014 veja /help para a lista.`])}return}if(E){let D=E.kind==="command"&&E.command.subcommands!==void 0&&E.command.subcommands.length>0;if(E.kind==="subcommand"&&UT(E)&&k.return){At(""),de(!1),ve(0),q(E.parent,E.sub.name);return}if(E.kind==="subcommand"||D&&k.tab){let re=Vv(E);At(re),ir(re);return}At(""),de(!1),ve(0),q(E.command,"")}return}if(k.escape){de(!1),ve(0);return}}if(Oe.open){if(k.upArrow){Oe.move(-1);return}if(k.downArrow){Oe.move(1);return}if(k.return||k.tab){Oe.confirm(),At(NT(y));return}if(k.escape){Oe.closePicker();return}}if(k.ctrl&&A==="c"){let E=Date.now(),D=mo.current!==void 0&&E-mo.current<=QR,re=Oe.attachments.length>0,Ye=re&&y.trim()===""?"clear":SW(y,D);if(Ye==="clear"){At(""),re&&Oe.clear(),de(!1),ve(0),J();return}if(Ye==="exit"){J(),o();return}mo.current=E,nr(!0),Oo.current!==void 0&&clearTimeout(Oo.current),Oo.current=setTimeout(J,QR);return}if(ji&&J(),k.escape){if(e.rewindSource!==void 0&&e.onRewind!==void 0&&y===""){if(rn.current){rn.current=!1,bo.current!==void 0&&clearTimeout(bo.current),wt.openPicker();return}rn.current=!0,bo.current!==void 0&&clearTimeout(bo.current),bo.current=setTimeout(()=>{rn.current=!1},600);return}rn.current=!1}else rn.current&&(rn.current=!1,bo.current!==void 0&&clearTimeout(bo.current));if(k.ctrl&&(A==="p"||A==="x")&&!ke&&!Oe.open){Xe.openPalette();return}if(k.tab&&!ke&&Be.current.text===""&&Ot.current!==void 0){At(Ot.current),_e(void 0);return}if(k.tab&&!ke){t.cycleMode();return}if(!ke&&k.upArrow&&se.length>0){let E=ge<0?se.length-1:Math.max(0,ge-1);ne(E),At(se[E]??"");return}if(!ke&&k.downArrow&&ge>=0){let E=ge+1;E>=se.length?(ne(-1),At("")):(ne(E),At(se[E]??""));return}if(k.leftArrow){b(E=>({...E,cursor:k.meta?Ag(E):XR(E)}));return}if(k.rightArrow){b(E=>({...E,cursor:k.meta?Ok(E):JR(E)}));return}if(k.meta&&(A==="b"||A==="f")){b(E=>({...E,cursor:A==="b"?Ag(E):Ok(E)}));return}if(k.ctrl&&A==="a"){b(E=>({...E,cursor:0}));return}if(k.ctrl&&A==="e"){b(E=>({...E,cursor:E.text.length}));return}if(k.ctrl&&(A==="u"||A==="k"||A==="w")){b(E=>{let D=A==="u"?bW(E):A==="k"?vW(E):kW(E);return ir(D.text),D}),ne(-1);return}if(k.return&&k.shift){b(E=>sc(E,`
|
package/dist-bundle/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var Oq=Object.create;var xb=Object.defineProperty;var Pq=Object.getOwnPropertyDescriptor;var Lq=Object.getOwnPropertyNames;var Iq=Object.getPrototypeOf,Nq=Object.prototype.hasOwnProperty;var C=(t,e,o)=>()=>{if(o)throw o[0];try{return t&&(e=t(t=0)),e}catch(n){throw o=[n],n}};var Fq=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(o){throw e=0,o}},Sb=(t,e)=>{for(var o in e)xb(t,o,{get:e[o],enumerable:!0})},$q=(t,e,o,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Lq(e))!Nq.call(t,r)&&r!==o&&xb(t,r,{get:()=>e[r],enumerable:!(n=Pq(e,r))||n.enumerable});return t};var Bq=(t,e,o)=>(o=t!=null?Oq(Iq(t)):{},$q(e||!t||!t.__esModule?xb(o,"default",{value:t,enumerable:!0}):o,t));var ed,O0=C(()=>{"use strict";ed="1.0.0-rc.
|
|
1
|
+
var Oq=Object.create;var xb=Object.defineProperty;var Pq=Object.getOwnPropertyDescriptor;var Lq=Object.getOwnPropertyNames;var Iq=Object.getPrototypeOf,Nq=Object.prototype.hasOwnProperty;var C=(t,e,o)=>()=>{if(o)throw o[0];try{return t&&(e=t(t=0)),e}catch(n){throw o=[n],n}};var Fq=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(o){throw e=0,o}},Sb=(t,e)=>{for(var o in e)xb(t,o,{get:e[o],enumerable:!0})},$q=(t,e,o,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Lq(e))!Nq.call(t,r)&&r!==o&&xb(t,r,{get:()=>e[r],enumerable:!(n=Pq(e,r))||n.enumerable});return t};var Bq=(t,e,o)=>(o=t!=null?Oq(Iq(t)):{},$q(e||!t||!t.__esModule?xb(o,"default",{value:t,enumerable:!0}):o,t));var ed,O0=C(()=>{"use strict";ed="1.0.0-rc.169"});function Hn(t,e){return t.decide(e)}var Mi=C(()=>{"use strict"});var yr,Qr,Zr=C(()=>{"use strict";yr="remember",Qr="recall"});var wb,Uq,il,Eb=C(()=>{"use strict";wb=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}}},Uq=200,il=class{nodes=new Map;maxBoxes;now;constructor(e){this.maxBoxes=e?.maxBoxes??Uq,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 wb(e,o,n,r??null,i);if(r){let l=this.nodes.get(r);l&&l.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,l=r.closed?0:1;return a!==l?a-l: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 br(t,e){for(let o of e){let n=t[o];if(typeof n=="string")return n;if(typeof n=="number"&&Number.isFinite(n))return String(n)}}function cn(t,e){let o=br(t,e);return o!==void 0&&o.length>0?o:void 0}function Ab(t,e,o=!1){let n=t[e];if(typeof n=="boolean")return n;if(typeof n=="string"){let r=n.trim().toLowerCase();if(r==="true")return!0;if(r==="false")return!1}return o}function jq(t){if(Array.isArray(t))return t;if(typeof t=="string"){let e=t.trim();if(e.startsWith("["))try{let o=JSON.parse(e);if(Array.isArray(o))return o}catch{}return}if(t!==null&&typeof t=="object"){let e=t,o=Object.keys(e);if(o.length>0&&o.every(n=>/^\d+$/.test(n)))return o.sort((n,r)=>Number(n)-Number(r)).map(n=>e[n])}}function al(t,e){for(let o of e){let n=jq(t[o]);if(n!==void 0)return n}}function ut(t){let e=Object.keys(t);return e.length===0?"nenhum argumento":e.slice(0,4).map(n=>{let r=t[n],s=r===null?"null":Array.isArray(r)?"array":typeof r,i=typeof r=="string"?` ${JSON.stringify(r.slice(0,40))}`:"";return`${n}=${s}${i}`}).join(", ")}function Oi(t){for(let e of qq){let o=t[e];if(typeof o=="object"&&o!==null&&!Array.isArray(o))return o;if(typeof o!="string")continue;let n=o.trim();if(!(n===""||!n.startsWith("{")))try{let r=JSON.parse(n);if(typeof r=="object"&&r!==null&&!Array.isArray(r))return r}catch{}}return t}var qq,es=C(()=>{"use strict";qq=["input","arguments","args","params","parameters","body","payload"]});function op(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 N0(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"&&Hq.has(i.status)&&(n=i.status),e){let l=i.substeps??i.subtasks??i.subpassos??i.children;if(Array.isArray(l)&&l.length>0){let c=[];for(let d of l){let m=N0(d,!1);if(typeof m=="string")return m;c.push(m)}r=c}}}if(o===void 0||o.trim()==="")return Gq;let s=o.trim().slice(0,Wq);return r?{title:s,status:n,substeps:r}:{title:s,status:n}}function F0(t){let e=al(t,P0);if(e!==void 0)return e;for(let o of P0){let n=t[o];if(n===null||typeof n!="object"||Array.isArray(n))continue;let r=F0(n);if(r!==void 0)return r}}function zq(t){let e=F0(t);if(e===void 0)return{error:`update_plan: passe "steps" como uma LISTA de passos (string ou {title,status}). Recebi: ${ut(t)}.`};if(e.length===0)return{error:"update_plan: a lista de passos est\xE1 vazia."};let o=[];for(let i of e){let a=N0(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 l=`${i} #${a}`;if(!n.has(l))return n.add(l),l}};for(let i=0;i<o.length;i++){let a=o[i],l=r(a.title),c=a.substeps?.map(d=>({...d,title:r(d.title)}));o[i]=c!==void 0?{...a,title:l,substeps:c}:{...a,title:l}}let s=op(o).length;return s>L0?{error:`update_plan: no m\xE1ximo ${L0} passos (recebidos ${s}).`}:{steps:o}}function Vq(t){let e=op(t),o=e.filter(r=>r.step.status==="completed").length,n=e.map(r=>`${" ".repeat(r.depth)}${$0[r.step.status]} ${r.step.title}`).join(`
|
|
2
2
|
`);return`plano (${o}/${e.length}):
|
|
3
3
|
${n}`}function Yq(t,e){return e<0?"m\xE9dio":t===e?"curto":t>e?"longo":"m\xE9dio"}function Xq(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,l)=>{let c=i.status==="in_progress"?"curto":l,d=o.get(i.title),m=d??il.boxId(i.title,0);return d?(i.status!=="completed"&&e.isClosed(d)&&e.reopenBox(d),e.setHorizon(d,c),e.setParent(d,a)):e.openBox(m,c,i.title,a),i.status==="completed"&&!e.isClosed(m)&&e.closeBox(m),o.set(i.title,m),m};t.forEach((i,a)=>{let l=Yq(a,n),c=r(i,null,l);for(let d of i.substeps??[])r(d,c,l)});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 Jq(t,e){if(!e)return Vq(t);let o=new Map;for(let c of e.listBoxes())o.set(c.label,c);let n=new Map;for(let c of e.listBoxes())n.set(c.id,c);let r=new Map,s=(c,d=new Set)=>{let m=r.get(c);if(m!==void 0)return m;let u=n.get(c);if(!u||!u.parentId||d.has(c))return r.set(c,0),0;let p=s(u.parentId,new Set(d).add(c))+1;return r.set(c,p),p},i=op(t),l=[`plano (${i.filter(c=>c.step.status==="completed").length}/${i.length}):`];for(let{step:c,depth:d}of i){let m=o.get(c.title),u=m?Kq[m.horizon]:"",p=m?s(m.id):d,g=" ".repeat(p),y=$0[c.status];l.push(`${g}${u} ${y} ${c.title}`)}return l.join(`
|
|
4
4
|
`)}var td,P0,Hq,L0,Wq,Gq,$0,Kq,I0,Qq,B0,np=C(()=>{"use strict";Eb();es();td="update_plan",P0=["steps","plan","todos","items"];Hq=new Set(["pending","in_progress","completed"]),L0=30,Wq=120,Gq="update_plan: cada passo precisa de um t\xEDtulo (texto) n\xE3o-vazio.";$0={pending:"\u2610",in_progress:"\u25B6",completed:"\u2611"};Kq={longo:"[\u{1F4D0}]",m\u00E9dio:"[\u{1F4CB}]",curto:"[\u{1F4CC}]"};I0=Object.freeze({type:"string",enum:["pending","in_progress","completed"],description:"pending (a fazer) \xB7 in_progress (em curso) \xB7 completed (feito)."}),Qq=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:I0,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:I0},required:["title"],additionalProperties:!1}}},required:["title"],additionalProperties:!1}}},required:["steps"],additionalProperties:!1}),B0={name:td,effect:"read",group:"plano",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:Qq,async run(t,e){let o=zq(t);return"error"in o?{ok:!1,observation:o.error}:(e.graph&&Xq(o.steps,e.graph),e.plan&&e.plan.set(op(o.steps).map(r=>({title:r.step.title,status:r.step.status}))),{ok:!0,observation:Jq(o.steps,e.graph)})}}});function j0(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". Recebi: ${ut(t)}.`};let o=e.trim().slice(0,U0),n=t.header??t.title,r=typeof n=="string"&&n.trim()!==""?n.trim().slice(0,Zq):void 0,s=t.options!==void 0||t.choices!==void 0,i=al(t,["options","choices"]);if(s&&i===void 0)return{error:`perguntar: "options" n\xE3o foi reconhecido como uma LISTA de op\xE7\xF5es. Recebi: ${ut(t)}.`};let a=i!==void 0?n8(i):void 0;if(typeof a=="string")return{error:a};let l,c=t.kind??t.type;if(typeof c=="string"&&o8.has(c))l=c;else{if(typeof c=="string"&&c.trim()!=="")return{error:`perguntar: "kind" inv\xE1lido "${c}". Use "single", "multi" ou "text".`};l=a!==void 0&&a.length>0?"single":"text"}if((l==="single"||l==="multi")&&(a===void 0||a.length===0))return{error:`perguntar: kind "${l}" requer "options" (uma lista de ao menos 1 op\xE7\xE3o).`};let d=t.allowOther,m=!(d===!1||typeof d=="string"&&d.trim().toLowerCase()==="false");return{spec:{kind:l,question:o,...r!==void 0?{header:r}:{},...l!=="text"&&a!==void 0?{options:a}:{},...l!=="text"?{allowOther:m}:{}}}}function n8(t){if(t.length===0)return'perguntar: a lista de "options" est\xE1 vazia.';if(t.length>sp)return`perguntar: no m\xE1ximo ${sp} 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,t8))}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,e8),...r!==void 0?{description:r}:{}})}return e}function r8(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(`
|
|
@@ -146,7 +146,7 @@ ${t.trim()}`}}function Mg(t,e,o=Xl){let{older:n,recent:r}=Eu(t,o);if(n.length===
|
|
|
146
146
|
`;case"t":return" ";case"r":return"\r";case'"':return'"';case"\\":return"\\";default:throw new Ce(`config.toml:${e}: escape n\xE3o suportado "\\${i}".`)}})}function bG(t,e,o){let n=e.trim();if(!n.startsWith("[")||!n.endsWith("]"))throw new Ce(`config.toml:${o}: ${t} deve ser um array de strings em uma linha.`);let r=n.slice(1,-1).trim();if(r.length===0)return[];let s=[];for(let i of AP(r,",")){let a=i.trim();if(a.length===0)continue;let l=HS(a,o);if(l===void 0)throw new Ce(`config.toml:${o}: ${t} \u2014 todo item deve ser string.`);s.push(l)}return s}function vG(t,e,o){let n=e.trim();if(!n.startsWith("{")||!n.endsWith("}"))throw new Ce(`config.toml:${o}: ${t} deve ser uma tabela inline { K = "v" }.`);let r=n.slice(1,-1).trim(),s={};if(r.length===0)return s;for(let i of AP(r,",")){let a=i.trim();if(a.length===0)continue;let l=EP(a);if(l===-1)throw new Ce(`config.toml:${o}: ${t} \u2014 esperava K = "v".`);let c=qS(a.slice(0,l).trim(),o);if(c.length!==1)throw new Ce(`config.toml:${o}: ${t} \u2014 chave inv\xE1lida.`);let d=HS(a.slice(l+1).trim(),o);if(d===void 0)throw new Ce(`config.toml:${o}: ${t}["${c[0]}"] deve ser string.`);s[c[0]]=d}return s}function AP(t,e){let o=[],n=0,r=!1,s="",i=0;for(let a=0;a<t.length;a++){let l=t[a];r?l===s&&t[a-1]!=="\\"&&(r=!1):l==='"'||l==="'"?(r=!0,s=l):l==="["||l==="{"?n++:l==="]"||l==="}"?n--:l===e&&n===0&&(o.push(t.slice(i,a)),i=a+1)}return o.push(t.slice(i)),o}var fG,CP=C(()=>{"use strict";Hg();fG="mcp_servers"});function SG(t){if(t.length<20||/\s/.test(t)||/^[~./]/.test(t)||!/^[A-Za-z0-9_\-+/=.]+$/.test(t))return!1;let e=/[A-Z]/.test(t),o=/[a-z]/.test(t),n=/[0-9]/.test(t);return(e?1:0)+(o?1:0)+(n?1:0)>=2||t.length>=32}function wG(t){let e=t.toLowerCase();return kG.some(o=>e.includes(o))}function WS(t,e){if(xG.test(e.trim()))return{looksLikeSecret:!1,signals:[]};let o=[];return e.length>0&&wG(t)&&o.push("secret-key-name"),SG(e)&&o.push("high-entropy"),{looksLikeSecret:o.length>0,signals:o}}var kG,xG,DP=C(()=>{"use strict";kG=["token","secret","password","passwd","apikey","api_key","access_key","accesskey","private_key","privatekey","credential","auth"],xG=/^\$\{?[A-Za-z_][A-Za-z0-9_]*\}?$|^%[A-Za-z_][A-Za-z0-9_]*%$/});function EG(t,e){return`mcp__${t}__${e}`}function AG(t){return t==="aluy-global"||t==="project"}function Tu(t,e){let o=[],n=new Map;for(let{origin:s,config:i}of t)for(let a of i.servers)n.has(a.name)||o.push(a.name),n.set(a.name,{origin:s,server:a});let r=e?CG(e):void 0;return o.map(s=>{let{origin:i,server:a}=n.get(s),l=r?.get(s),c=a.disabled===!0?{kind:"disabled"}:l?l.ok?{kind:"ok",toolCount:l.tools.length}:{kind:"error",error:l.error??"falha na conex\xE3o"}:{kind:"unknown"},d=c.kind==="ok"&&l?l.tools:[];return{name:s,origin:i,command:a.command,args:a.args,envKeys:Object.keys(a.env),managed:AG(i),state:c,tools:d}})}function CG(t){let e=new Map;for(let o of t.servers){let n=o.tools.map(r=>({qualifiedName:EG(o.server,r.descriptor.name),...r.descriptor.description!==void 0?{description:r.descriptor.description}:{}}));e.set(o.server,{ok:o.ok,...o.error!==void 0?{error:o.error}:{},tools:n})}return e}function _u(t){if(t.command.trim()!=="--")return;let e=t.args.length>0?t.args.join(" "):"<command> [args...]";return`server "${t.name}" com command inv\xE1lido "--" (separador gravado por engano \u2014 nunca vai conectar). Re-adicione: aluy mcp add ${t.name} --force -- ${e}`}function GS(t){switch(t){case"aluy-global":return"~/.aluy/mcp.json";case"project":return".mcp.json (projeto)";case"codex":return"~/.codex (Codex)"}}var RP=C(()=>{"use strict"});var TP=C(()=>{"use strict"});function DG(t){return t instanceof Error?t.message:String(t)}async function Mu(t,e,o){let n=t.servers.filter(l=>l.disabled!==!0),r=await Promise.all(n.map(async l=>{let c=e(l);try{let m=(await c.connect(l)).map(p=>({server:l.name,descriptor:p,transport:c})),u={server:l.name,ok:!0,tools:m};return o?.onServerResult?.(u),{result:u,transport:c}}catch(d){_P(c);let m={server:l.name,ok:!1,tools:[],error:DG(d)};return o?.onServerResult?.(m),{result:m}}})),s=[],i=[],a=[];for(let l of r)s.push(l.result),i.push(...l.result.tools),l.transport&&a.push(l.transport);return{servers:s,tools:i,transports:a}}async function zS(t){await Promise.all(t.map(e=>_P(e)))}async function _P(t){try{await t.close()}catch{}}var MP=C(()=>{"use strict";Hg()});function LP(t,e){let o=new URL(PP);return t.trim().length>0&&o.searchParams.set("search",t.trim()),o.searchParams.set("limit",String(TG)),e!==void 0&&e.length>0&&o.searchParams.set("cursor",e),o.toString()}async function Ou(t,e,o){let n=t.trim(),r=[],s;for(let i=0;i<RG;i++){let a=LP(n,s),l;try{l=await e(a,o)}catch(m){return{ok:!1,query:n,reason:Wg(IG(m))}}if(!l.ok)return{ok:!1,query:n,reason:Wg(l.reason)};if(l.status<200||l.status>=300)return{ok:!1,query:n,reason:Wg(`HTTP ${l.status}`)};let c;try{c=JSON.parse(l.body)}catch{return{ok:!1,query:n,reason:Wg("resposta n\xE3o \xE9 JSON v\xE1lido")}}let d=NP(c);for(let m of d.servers)if(IP(m,n)&&r.push(m),r.length>=VS)break;if(r.length>=VS||(s=d.nextCursor,s===void 0||s.length===0))break}return{ok:!0,query:n,results:r}}function Wg(t){return`registro MCP indispon\xEDvel (${Zl}): ${t}`}function IP(t,e){if(e.length===0)return!0;let o=e.toLowerCase();return[t.name,t.title??"",t.description,t.run.command??"",t.run.args.join(" ")].join(" ").toLowerCase().includes(o)}function NP(t){if(!is(t))return{servers:[]};let e=Array.isArray(t.servers)?t.servers:[],o=[];for(let s of e){let i=_G(s);i!==void 0&&o.push(i)}let n=is(t.metadata)?t.metadata:void 0,r=n!==void 0&&typeof n.nextCursor=="string"?n.nextCursor:void 0;return{servers:o,...r!==void 0?{nextCursor:r}:{}}}function _G(t){if(!is(t))return;let e=is(t.server)?t.server:t,o=typeof e.name=="string"?e.name.trim():"";if(o.length===0)return;let n=typeof e.description=="string"?e.description.trim():"",r=typeof e.title=="string"&&e.title.trim().length>0?e.title.trim():void 0,s=typeof e.version=="string"?e.version.trim():void 0,i=MG(e);return{name:o,description:n,run:i,...r!==void 0?{title:r}:{},...s!==void 0?{version:s}:{}}}function MG(t){let e=[],o=Array.isArray(t.remotes)?t.remotes:[];for(let r of o)is(r)&&typeof r.url=="string"&&e.push(r.url);let n=Array.isArray(t.packages)?t.packages:[];for(let r of n){if(!is(r))continue;let s=OG(r);if(s!==void 0)return{...s,remoteUrls:e}}return{args:[],env:[],remoteUrls:e}}function OG(t){let e=oa(t.registryType)??oa(t.registry_name),o=oa(t.identifier)??oa(t.name);if(o===void 0)return;let n=oa(t.version),r=oa(t.runtimeHint),s=is(t.transport)?oa(t.transport.type):void 0,i=LG(t.environmentVariables),a=OP(t.runtimeArguments),l=OP(t.packageArguments),c=n!==void 0?`${o}@${n}`:o;return e==="npm"||r==="npx"?{command:"npx",args:PG(["-y",...a,c,...l]),env:i,...s!==void 0?{transport:s}:{}}:e==="pypi"||r==="uvx"||r==="uv"?{command:"uvx",args:[...a,o,...l],env:i,...s!==void 0?{transport:s}:{}}:e==="oci"||r==="docker"?{command:"docker",args:["run","-i","--rm",...a,c,...l],env:i,...s!==void 0?{transport:s}:{}}:{args:[c],env:i,...s!==void 0?{transport:s}:{}}}function PG(t){let e=[],o=!1;for(let n of t){if(n==="-y"||n==="--yes"){if(o)continue;o=!0}e.push(n)}return e}function OP(t){if(!Array.isArray(t))return[];let e=[];for(let o of t)is(o)&&typeof o.value=="string"&&e.push(o.value);return e}function LG(t){if(!Array.isArray(t))return[];let e=[];for(let o of t)is(o)&&typeof o.name=="string"&&o.name.length>0&&e.push({name:o.name,required:o.isRequired===!0});return e}function oa(t){return typeof t=="string"&&t.trim().length>0?t.trim():void 0}function is(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function IG(t){return t instanceof Error?t.message:String(t)}var Zl,PP,RG,TG,VS,FP=C(()=>{"use strict";Zl="registry.modelcontextprotocol.io",PP=`https://${Zl}/v0/servers`,RG=5,TG=100,VS=25});function BP(t){let{command:e,args:o}=t.run;if(e===void 0)return;let n=UP(t.name);return["aluy","mcp","add",$P(n),"--",e,...o.map($P)].join(" ")}function UP(t){let o=(t.split("/").pop()??t).replace(/[^A-Za-z0-9_-]+/g,"-").replace(/^-+|-+$/g,"");return o.length>0?o:"server"}function $P(t){return/^[A-Za-z0-9_./@:+=-]+$/.test(t)?t:`'${t.replace(/'/g,"'\\''")}'`}function KS(t){if(!t.ok)return`\u26A0 ${t.reason}
|
|
147
147
|
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(NG(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(`
|
|
148
148
|
`)}function NG(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(` ${FG(t.description,200)}`);let r=BP(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(`
|
|
149
|
-
`)}function FG(t,e){return t.length<=e?t:t.slice(0,e-1).trimEnd()+"\u2026"}var jP=C(()=>{"use strict"});var qP=C(()=>{"use strict";Hg();CP();DP();RP();TP();MP();Tk();ap();FP();jP()});var HP=C(()=>{"use strict"});function Vs(t){let e=/^v?(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?/.exec(t.trim());if(!e)return null;let o=e[4]?e[4].split(".").map(n=>/^\d+$/.test(n)?Number(n):n):[];return{major:Number(e[1]),minor:Number(e[2]),patch:Number(e[3]),pre:o}}function YS(t,e){let o=Vs(t),n=Vs(e);if(!o||!n)return null;for(let s of["major","minor","patch"])if(o[s]!==n[s])return o[s]<n[s]?-1:1;if(o.pre.length===0&&n.pre.length===0)return 0;if(o.pre.length===0)return 1;if(n.pre.length===0)return-1;let r=Math.max(o.pre.length,n.pre.length);for(let s=0;s<r;s++){let i=o.pre[s],a=n.pre[s];if(i===void 0)return-1;if(a===void 0)return 1;if(i===a)continue;let l=typeof i=="number",c=typeof a=="number";return l&&c?i<a?-1:1:l?-1:c?1:i<a?-1:1}return 0}function na(t,e){return YS(t,e)===1}function Pu(t){let e=Vs(t);if(!e||e.pre.length===0)return"latest";let o=e.pre[0];return String(o)}function WP(t,e){return!Vs(t)||!Vs(e)||Pu(t)!==Pu(e)?!1:na(e,t)}function Lu(t,e){let o=Vs(t)?Pu(t):null;if(o===null)return null;let n=null;for(let r of e)!Vs(r)||Pu(r)!==o||(n===null||YS(r,n)===1)&&(n=r);return n}function Gg(t,e){let o=Lu(t,e);return o!==null&&WP(t,o)?o:null}var XS=C(()=>{"use strict"});function zg(t,e,o){if(e.size===0)return{kind:"discard",reason:"allowlist vazia (default fechado)"};if(!e.has(t.conversation))return{kind:"discard",reason:`canal ${t.conversation} n\xE3o-allowlistado`};if(t.senderIsBot===!0)return{kind:"discard",reason:"remetente \xE9 bot (anti-loop)"};let n=t.content.trim();if(n==="")return{kind:"discard",reason:"mensagem sem conte\xFAdo"};if(o.authIsForgeable)return{kind:"data",text:n};if(t.provenance.kind==="third-party-relayed")return{kind:"data",text:n};let r=t.provenance.embeddedThirdParty?.trim();return r?{kind:"instruction",text:n,forwardedData:r}:{kind:"instruction",text:n}}var JS=C(()=>{"use strict"});function QS(t){let e;if(t.forwarded===!0)e={kind:"third-party-relayed"};else{let o=(t.quotedText??"").trim();e=o?{kind:"author-direct",embeddedThirdParty:o}:{kind:"author-direct"}}return{content:t.text,sender:String(t.fromId),conversation:String(t.chatId),provenance:e,...t.messageId!==void 0?{messageId:t.messageId}:{},...t.isBot===!0?{senderIsBot:!0}:{}}}function ZS(t){let e=new Set;for(let o of t)typeof o=="number"&&Number.isFinite(o)&&Number.isInteger(o)&&e.add(o);return e}var Iu,GP=C(()=>{"use strict";JS();Iu={id:"telegram",displayName:"Telegram",authIsForgeable:!1}});function Vg(t){return typeof t=="number"&&Number.isFinite(t)?t:void 0}function ec(t){return typeof t=="object"&&t!==null?t:void 0}function ew(t,e){let o=ec(t);if(!o||o.ok!==!0||!Array.isArray(o.result))return{updates:[],nextOffset:e};let n=[],r=[],s=e-1;for(let i of o.result){let a=ec(i);if(!a)continue;let l=Vg(a.update_id);l!==void 0&&l>s&&(s=l);let c=ec(a.message);if(!c){r.push({updateId:l,motivo:"sem-message"});continue}let d=ec(c.chat),m=Vg(d?.id);if(m===void 0){r.push({updateId:l,motivo:"sem-chat"});continue}if(d?.type!=="private"){r.push({updateId:l,motivo:"nao-privado",chatId:m,...typeof d?.type=="string"?{chatType:d.type}:{}});continue}let u=ec(c.from),p=Vg(u?.id)??m,g=u?.is_bot===!0,y=typeof c.text=="string"?c.text:"",h=c.forward_origin!==void 0||c.forward_from!==void 0||c.forward_from_chat!==void 0||c.forward_sender_name!==void 0||c.forward_date!==void 0,k=(()=>{let w=ec(c.quote)?.text;return typeof w=="string"&&w.trim()!==""?w:void 0})(),x=Vg(c.message_id);n.push({chatId:m,fromId:p,text:y,...x!==void 0?{messageId:x}:{},...h?{forwarded:!0}:{},...k!==void 0?{quotedText:k}:{},...g?{isBot:!0}:{}})}return{updates:n,nextOffset:s+1,...r.length>0?{descartados:r}:{}}}var zP=C(()=>{"use strict"});var Nu,VP=C(()=>{"use strict";Nu=class{maxPerWindow;windowMs;stamps=[];constructor(e,o){this.maxPerWindow=e,this.windowMs=o}tryConsume(e){let o=e-this.windowMs;for(;this.stamps.length>0&&this.stamps[0]<=o;)this.stamps.shift();return this.stamps.length>=this.maxPerWindow?!1:(this.stamps.push(e),!0)}get used(){return this.stamps.length}}});function tw(t){return`connector-${t}-token`}function Fu(t){let e=t.trim(),o=e.indexOf(":");return o<=0?`\u2026(${e.length} chars)`:`${e.slice(0,o)}:\u2026(${e.length-o-1} chars)`}function ow(t,e){let o=e.trim();return o.length<8?t:t.split(o).join("\xABREDACTED\xBB")}var KP=C(()=>{"use strict"});var j=C(()=>{"use strict";O0();lD();kD();XR();gP();eS();wP();qP();LS();HP();Fl();XS();XS();JS();GP();zP();VP();KP()});import{posix as n9}from"node:path";function r9(t){return n9.normalize(t)}function Xo(t){let e=r9(t);for(let o of s9)if(o.re.test(e))return o.deny?{kind:"deny",why:o.why}:{kind:"ask",why:o.why};return{kind:"allow"}}function vw(t){return Xo(t).kind==="allow"}var s9,Qs=C(()=>{"use strict";s9=[{re:/(?:^|\/|~\/)\.ssh(?:\/|$)/,why:"chaves SSH (~/.ssh)",deny:!0},{re:/(?:^|\/|~\/)\.aws(?:\/|$)/,why:"credenciais AWS (~/.aws)",deny:!0},{re:/(?:^|\/|~\/)\.gnupg(?:\/|$)/,why:"chaves GPG (~/.gnupg)",deny:!0},{re:/(?:~\/|\$\{?HOME\}?\/|\/(?:home|Users)\/[^/]+\/)\.aluy\/rooms(?:\/|$)/,why:"arquivos de sala do Aluy (~/.aluy/rooms)",deny:!0},{re:/~\/\.aluy(?:\/|$)/,why:"estado/credencial do Aluy (~/.aluy)",deny:!0},{re:/(?:^|\/)\.aluy(?:\/(?!agents\/|workflows\/|commands\/)|$)/,why:"estado/credencial do Aluy (.aluy/)",deny:!0},{re:/(?:^|\/|~\/)\.config\/gh\/hosts\.yml$/,why:"token do gh CLI",deny:!0},{re:/(?:^|\/|~\/)\.docker\/config\.json$/,why:"credenciais Docker",deny:!0},{re:/(?:^|\/|~\/)\.kube\/config$/,why:"kubeconfig",deny:!0},{re:/(?:^|\/)id_(?:rsa|ed25519|ecdsa|dsa)\b/,why:"chave privada",deny:!0},{re:/\.pem$|\.p12$|\.pfx$|\.key$/i,why:"material de chave privada",deny:!0},{re:/(?:^|[/\w.-])\.env(?:\.(?!example$|sample$|template$|dist$)[\w.-]+)?$/,why:"arquivo .env (segredos)",deny:!1},{re:/(?:^|\/)[^/]*(?:secret|credential|token|apikey|api_key|password|passwd)[^/]*$/i,why:"arquivo com nome sens\xEDvel (token/secret)",deny:!1}]});var Ww={};Sb(Ww,{UserWorkflowsLoader:()=>Tr,WORKFLOWS_DIRNAME:()=>Hw});import{homedir as tK}from"node:os";import{join as qw}from"node:path";import{readdirSync as oK,readFileSync as nK,mkdirSync as rK,statSync as sK}from"node:fs";var iK,Hw,aK,lK,Tr,bh=C(()=>{"use strict";j();iK=448,Hw="workflows",aK=64*1024,lK=256,Tr=class{dir;constructor(e={}){let o=e.baseDir??qw(tK(),".aluy");this.dir=qw(o,Hw)}get workflowsDir(){return this.dir}ensureDir(){try{rK(this.dir,{mode:iK,recursive:!0})}catch{}}load(){let e;try{e=oK(this.dir,{withFileTypes:!0})}catch{return{workflows:[],errors:[]}}let o=e.filter(i=>(i.isFile()||i.isSymbolicLink())&&i.name.toLowerCase().endsWith(".md")).map(i=>i.name).sort((i,a)=>i.localeCompare(a)),n=new Set,r=[],s=[];for(let i of o){if(r.length>=lK)break;let a=this.readOne(i);if(a!==null){if(cu(a)){s.push(a);continue}n.has(a.name)||(n.add(a.name),r.push(a))}}return{workflows:r,errors:s}}readOne(e){let o=qw(this.dir,e);try{let n=sK(o);if(!n.isFile()||n.size>aK)return null;let r=nK(o,"utf8");return du(e,r,"global")}catch{return null}}}});var zw={};Sb(zw,{PROJECT_WORKFLOWS_DIRNAMES:()=>Gw,ProjectWorkflowsLoader:()=>_r});import{join as cK}from"node:path";import{readdirSync as dK,readFileSync as uK,statSync as mK}from"node:fs";var Gw,fK,pK,_r,vh=C(()=>{"use strict";j();Qs();Gw=[".claude/workflows",".aluy/workflows"],fK=64*1024,pK=256,_r=class{workspace;constructor(e){this.workspace=e.workspace}load(){let e=new Set,o=[],n=[];for(let r of Gw){let s;try{s=this.workspace.resolveInside(r)}catch{continue}let i;try{i=dK(s,{withFileTypes:!0})}catch{continue}let a=i.filter(l=>(l.isFile()||l.isSymbolicLink())&&l.name.toLowerCase().endsWith(".md")).map(l=>l.name).sort((l,c)=>l.localeCompare(c));for(let l of a){if(o.length>=pK)break;let c=this.readOne(r,s,l);if(c!==null){if(cu(c)){n.push(c);continue}e.has(c.name)||(e.add(c.name),o.push(c))}}}return{workflows:o,errors:n}}readOne(e,o,n){let r=`${e}/${n}`;if(Xo(r).kind!=="allow")return null;let s=cK(o,n);try{this.workspace.resolveInside(r);let i=mK(s);if(!i.isFile()||i.size>fK)return null;let a=uK(s,"utf8");return du(n,a,"project")}catch{return null}}}});var U$=Fq((OCe,B$)=>{B$.exports=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g});var Po="1.0.0-rc.168";j();var YP=`aluy \u2014 agente de terminal que roda na sua m\xE1quina, com o seu provider de LLM
|
|
149
|
+
`)}function FG(t,e){return t.length<=e?t:t.slice(0,e-1).trimEnd()+"\u2026"}var jP=C(()=>{"use strict"});var qP=C(()=>{"use strict";Hg();CP();DP();RP();TP();MP();Tk();ap();FP();jP()});var HP=C(()=>{"use strict"});function Vs(t){let e=/^v?(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?/.exec(t.trim());if(!e)return null;let o=e[4]?e[4].split(".").map(n=>/^\d+$/.test(n)?Number(n):n):[];return{major:Number(e[1]),minor:Number(e[2]),patch:Number(e[3]),pre:o}}function YS(t,e){let o=Vs(t),n=Vs(e);if(!o||!n)return null;for(let s of["major","minor","patch"])if(o[s]!==n[s])return o[s]<n[s]?-1:1;if(o.pre.length===0&&n.pre.length===0)return 0;if(o.pre.length===0)return 1;if(n.pre.length===0)return-1;let r=Math.max(o.pre.length,n.pre.length);for(let s=0;s<r;s++){let i=o.pre[s],a=n.pre[s];if(i===void 0)return-1;if(a===void 0)return 1;if(i===a)continue;let l=typeof i=="number",c=typeof a=="number";return l&&c?i<a?-1:1:l?-1:c?1:i<a?-1:1}return 0}function na(t,e){return YS(t,e)===1}function Pu(t){let e=Vs(t);if(!e||e.pre.length===0)return"latest";let o=e.pre[0];return String(o)}function WP(t,e){return!Vs(t)||!Vs(e)||Pu(t)!==Pu(e)?!1:na(e,t)}function Lu(t,e){let o=Vs(t)?Pu(t):null;if(o===null)return null;let n=null;for(let r of e)!Vs(r)||Pu(r)!==o||(n===null||YS(r,n)===1)&&(n=r);return n}function Gg(t,e){let o=Lu(t,e);return o!==null&&WP(t,o)?o:null}var XS=C(()=>{"use strict"});function zg(t,e,o){if(e.size===0)return{kind:"discard",reason:"allowlist vazia (default fechado)"};if(!e.has(t.conversation))return{kind:"discard",reason:`canal ${t.conversation} n\xE3o-allowlistado`};if(t.senderIsBot===!0)return{kind:"discard",reason:"remetente \xE9 bot (anti-loop)"};let n=t.content.trim();if(n==="")return{kind:"discard",reason:"mensagem sem conte\xFAdo"};if(o.authIsForgeable)return{kind:"data",text:n};if(t.provenance.kind==="third-party-relayed")return{kind:"data",text:n};let r=t.provenance.embeddedThirdParty?.trim();return r?{kind:"instruction",text:n,forwardedData:r}:{kind:"instruction",text:n}}var JS=C(()=>{"use strict"});function QS(t){let e;if(t.forwarded===!0)e={kind:"third-party-relayed"};else{let o=(t.quotedText??"").trim();e=o?{kind:"author-direct",embeddedThirdParty:o}:{kind:"author-direct"}}return{content:t.text,sender:String(t.fromId),conversation:String(t.chatId),provenance:e,...t.messageId!==void 0?{messageId:t.messageId}:{},...t.isBot===!0?{senderIsBot:!0}:{}}}function ZS(t){let e=new Set;for(let o of t)typeof o=="number"&&Number.isFinite(o)&&Number.isInteger(o)&&e.add(o);return e}var Iu,GP=C(()=>{"use strict";JS();Iu={id:"telegram",displayName:"Telegram",authIsForgeable:!1}});function Vg(t){return typeof t=="number"&&Number.isFinite(t)?t:void 0}function ec(t){return typeof t=="object"&&t!==null?t:void 0}function ew(t,e){let o=ec(t);if(!o||o.ok!==!0||!Array.isArray(o.result))return{updates:[],nextOffset:e};let n=[],r=[],s=e-1;for(let i of o.result){let a=ec(i);if(!a)continue;let l=Vg(a.update_id);l!==void 0&&l>s&&(s=l);let c=ec(a.message);if(!c){r.push({updateId:l,motivo:"sem-message"});continue}let d=ec(c.chat),m=Vg(d?.id);if(m===void 0){r.push({updateId:l,motivo:"sem-chat"});continue}if(d?.type!=="private"){r.push({updateId:l,motivo:"nao-privado",chatId:m,...typeof d?.type=="string"?{chatType:d.type}:{}});continue}let u=ec(c.from),p=Vg(u?.id)??m,g=u?.is_bot===!0,y=typeof c.text=="string"?c.text:"",h=c.forward_origin!==void 0||c.forward_from!==void 0||c.forward_from_chat!==void 0||c.forward_sender_name!==void 0||c.forward_date!==void 0,k=(()=>{let w=ec(c.quote)?.text;return typeof w=="string"&&w.trim()!==""?w:void 0})(),x=Vg(c.message_id);n.push({chatId:m,fromId:p,text:y,...x!==void 0?{messageId:x}:{},...h?{forwarded:!0}:{},...k!==void 0?{quotedText:k}:{},...g?{isBot:!0}:{}})}return{updates:n,nextOffset:s+1,...r.length>0?{descartados:r}:{}}}var zP=C(()=>{"use strict"});var Nu,VP=C(()=>{"use strict";Nu=class{maxPerWindow;windowMs;stamps=[];constructor(e,o){this.maxPerWindow=e,this.windowMs=o}tryConsume(e){let o=e-this.windowMs;for(;this.stamps.length>0&&this.stamps[0]<=o;)this.stamps.shift();return this.stamps.length>=this.maxPerWindow?!1:(this.stamps.push(e),!0)}get used(){return this.stamps.length}}});function tw(t){return`connector-${t}-token`}function Fu(t){let e=t.trim(),o=e.indexOf(":");return o<=0?`\u2026(${e.length} chars)`:`${e.slice(0,o)}:\u2026(${e.length-o-1} chars)`}function ow(t,e){let o=e.trim();return o.length<8?t:t.split(o).join("\xABREDACTED\xBB")}var KP=C(()=>{"use strict"});var j=C(()=>{"use strict";O0();lD();kD();XR();gP();eS();wP();qP();LS();HP();Fl();XS();XS();JS();GP();zP();VP();KP()});import{posix as n9}from"node:path";function r9(t){return n9.normalize(t)}function Xo(t){let e=r9(t);for(let o of s9)if(o.re.test(e))return o.deny?{kind:"deny",why:o.why}:{kind:"ask",why:o.why};return{kind:"allow"}}function vw(t){return Xo(t).kind==="allow"}var s9,Qs=C(()=>{"use strict";s9=[{re:/(?:^|\/|~\/)\.ssh(?:\/|$)/,why:"chaves SSH (~/.ssh)",deny:!0},{re:/(?:^|\/|~\/)\.aws(?:\/|$)/,why:"credenciais AWS (~/.aws)",deny:!0},{re:/(?:^|\/|~\/)\.gnupg(?:\/|$)/,why:"chaves GPG (~/.gnupg)",deny:!0},{re:/(?:~\/|\$\{?HOME\}?\/|\/(?:home|Users)\/[^/]+\/)\.aluy\/rooms(?:\/|$)/,why:"arquivos de sala do Aluy (~/.aluy/rooms)",deny:!0},{re:/~\/\.aluy(?:\/|$)/,why:"estado/credencial do Aluy (~/.aluy)",deny:!0},{re:/(?:^|\/)\.aluy(?:\/(?!agents\/|workflows\/|commands\/)|$)/,why:"estado/credencial do Aluy (.aluy/)",deny:!0},{re:/(?:^|\/|~\/)\.config\/gh\/hosts\.yml$/,why:"token do gh CLI",deny:!0},{re:/(?:^|\/|~\/)\.docker\/config\.json$/,why:"credenciais Docker",deny:!0},{re:/(?:^|\/|~\/)\.kube\/config$/,why:"kubeconfig",deny:!0},{re:/(?:^|\/)id_(?:rsa|ed25519|ecdsa|dsa)\b/,why:"chave privada",deny:!0},{re:/\.pem$|\.p12$|\.pfx$|\.key$/i,why:"material de chave privada",deny:!0},{re:/(?:^|[/\w.-])\.env(?:\.(?!example$|sample$|template$|dist$)[\w.-]+)?$/,why:"arquivo .env (segredos)",deny:!1},{re:/(?:^|\/)[^/]*(?:secret|credential|token|apikey|api_key|password|passwd)[^/]*$/i,why:"arquivo com nome sens\xEDvel (token/secret)",deny:!1}]});var Ww={};Sb(Ww,{UserWorkflowsLoader:()=>Tr,WORKFLOWS_DIRNAME:()=>Hw});import{homedir as tK}from"node:os";import{join as qw}from"node:path";import{readdirSync as oK,readFileSync as nK,mkdirSync as rK,statSync as sK}from"node:fs";var iK,Hw,aK,lK,Tr,bh=C(()=>{"use strict";j();iK=448,Hw="workflows",aK=64*1024,lK=256,Tr=class{dir;constructor(e={}){let o=e.baseDir??qw(tK(),".aluy");this.dir=qw(o,Hw)}get workflowsDir(){return this.dir}ensureDir(){try{rK(this.dir,{mode:iK,recursive:!0})}catch{}}load(){let e;try{e=oK(this.dir,{withFileTypes:!0})}catch{return{workflows:[],errors:[]}}let o=e.filter(i=>(i.isFile()||i.isSymbolicLink())&&i.name.toLowerCase().endsWith(".md")).map(i=>i.name).sort((i,a)=>i.localeCompare(a)),n=new Set,r=[],s=[];for(let i of o){if(r.length>=lK)break;let a=this.readOne(i);if(a!==null){if(cu(a)){s.push(a);continue}n.has(a.name)||(n.add(a.name),r.push(a))}}return{workflows:r,errors:s}}readOne(e){let o=qw(this.dir,e);try{let n=sK(o);if(!n.isFile()||n.size>aK)return null;let r=nK(o,"utf8");return du(e,r,"global")}catch{return null}}}});var zw={};Sb(zw,{PROJECT_WORKFLOWS_DIRNAMES:()=>Gw,ProjectWorkflowsLoader:()=>_r});import{join as cK}from"node:path";import{readdirSync as dK,readFileSync as uK,statSync as mK}from"node:fs";var Gw,fK,pK,_r,vh=C(()=>{"use strict";j();Qs();Gw=[".claude/workflows",".aluy/workflows"],fK=64*1024,pK=256,_r=class{workspace;constructor(e){this.workspace=e.workspace}load(){let e=new Set,o=[],n=[];for(let r of Gw){let s;try{s=this.workspace.resolveInside(r)}catch{continue}let i;try{i=dK(s,{withFileTypes:!0})}catch{continue}let a=i.filter(l=>(l.isFile()||l.isSymbolicLink())&&l.name.toLowerCase().endsWith(".md")).map(l=>l.name).sort((l,c)=>l.localeCompare(c));for(let l of a){if(o.length>=pK)break;let c=this.readOne(r,s,l);if(c!==null){if(cu(c)){n.push(c);continue}e.has(c.name)||(e.add(c.name),o.push(c))}}}return{workflows:o,errors:n}}readOne(e,o,n){let r=`${e}/${n}`;if(Xo(r).kind!=="allow")return null;let s=cK(o,n);try{this.workspace.resolveInside(r);let i=mK(s);if(!i.isFile()||i.size>fK)return null;let a=uK(s,"utf8");return du(n,a,"project")}catch{return null}}}});var U$=Fq((OCe,B$)=>{B$.exports=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g});var Po="1.0.0-rc.169";j();var YP=`aluy \u2014 agente de terminal que roda na sua m\xE1quina, com o seu provider de LLM
|
|
150
150
|
|
|
151
151
|
Uso:
|
|
152
152
|
aluy ["objetivo"] [--plan | --yolo] [--dense] [--tier <tier>] [--lang <pt-BR|en>]
|
|
@@ -691,7 +691,7 @@ Responda APENAS com JSON no formato:
|
|
|
691
691
|
`),!0}function KU(t){switch(t.kind){case"testrun":{let e=t.score;return e.unknownFormat?"[testes] placar indispon\xEDvel (formato n\xE3o reconhecido)":`[testes] ${e.passed} \u2713 ${e.failed} \u2717 (${e.total})`}case"you":return`[voc\xEA] ${t.text}`;case"aluy":{let e=_n(t.text);return e.trim()===""?"":`[aluy] ${e}`}case"tool":return t.status==="running"?`[tool] ${t.verb} ${t.target} \u2014 ${t.verbGerund??"rodando"}`:`[tool] ${t.verb} ${t.target} \u2014 ${t.result} ${t.status==="ok"?"ok":"erro"}`;case"bang":{if(t.status==="running")return`[shell] $ ${t.command} \u2014 rodando`;let e=t.status==="blocked"?"bloqueado":t.status==="ok"?"ok":"erro",o=t.output&&t.output.trim()!==""?`
|
|
692
692
|
${t.output}`:"";return`[shell] $ ${t.command} \u2014 ${e}${o}`}case"subagents":{let e=`[sub-agentes] ${t.children.length}:`,o=t.children.map(n=>{let r=n.status==="running"?"rodando":n.status==="done"?"pronto":n.stop==="timeout"?"timeout":n.stop==="limit"?"teto":"falhou",s=n.model!==void 0?` \xB7 ${n.model}`:"",i=n.summary!==void 0&&n.status!=="running"?` \xB7 ${n.summary}`:"";return` [${n.label}] ${r}${s}${i}`});return[e,...o].join(`
|
|
693
693
|
`)}case"deny":return`[negado] ${t.verb} ${t.exact}`;case"broker-error":return`[${NC(t.backend)}] ${t.message}${t.status!==void 0?` (${t.status})`:""}`;case"note":return`[${t.title}] ${t.lines.join(" \xB7 ")}`;case"doctor":{let e="[doctor]",o=t.checks.flatMap(r=>{let s=r.status==="ok"?"\u2713":r.status==="warn"?"\u26A0":r.status==="fail"?"\u2717":"\u25F7",i=r.detail!==void 0&&r.detail!==""?`: ${r.detail}`:": testando\u2026",a=` ${s} ${r.label}${i}`;return r.status!=="ok"&&r.status!=="pending"&&r.fix!==void 0?[a,` \u2192 ${r.fix}`]:[a]}),n=t.summary!==void 0?[` resumo: ${t.summary}`]:[];return[e,...o,...n].join(`
|
|
694
|
-
`)}case"inject":return`[encaixado]${t.text.trim()?` ${t.text.trim()}`:""}`}}import{Fragment as QU,jsx as $,jsxs as ko}from"react/jsx-runtime";var YU=Symbol("header"),ote={list:async()=>[]},nte={attach:async()=>({kind:"rejected",path:"",reason:"sem leitor"})},rte={list:async()=>[]},ste={list:()=>[],load:()=>null},ite={list:()=>[],barriersAfter:()=>[]},ate={mode:"normal",setMode:()=>{},sessionGrants:{list:()=>[],revoke:()=>!1},effectiveSafeDefault:()=>"allow",setSafeToolDefault:()=>!1};function XU(t,e){return typeof t=="number"&&Number.isFinite(t)&&t>=1?Math.floor(t):e}function ZU(t){let{controller:e}=t,{exit:o}=Qee(),{stdout:n}=tte(),r=G(),{lang:s,t:i}=be(),[,a]=Yee(S=>S+1,0);ao(()=>{if(!n||typeof n.on!="function")return;let S=()=>a();return n.on("resize",S),()=>{typeof n.off=="function"&&n.off("resize",S)}},[n]);let l=XU(n?.columns,80),c=XU(n?.rows,24),d=r.density!=="compact",m=r.density!=="compact",[u,p]=ot(e.current),[g,y]=ot({text:"",cursor:0}),h=g.text,k=g.cursor,[x,w]=ot(!1),[R,P]=ot(0),[O,F]=ot(()=>new Set),[U,L]=ot(!1),[I,V]=ot(""),K=u.phase==="questioning"?u.pendingQuestion?.spec:void 0,N=Mt(void 0);ao(()=>{K!==N.current&&(N.current=K,P(0),F(new Set),V(""),L(K?.kind==="text"))},[K]);let[W,Ee]=ot(0),[ge,Se]=ot(!1),[de,he]=ot(0),[ne,ve]=ot([]),[me,ee]=ot(-1),[Qe,Ht]=ot(t.initialSuggestions!==!1),[fe,De]=ot(void 0),We=Mt(e.current.phase),Wt=Mt(void 0);Wt.current=fe;let Oe=Mt(g);Oe.current=g;let[Pe,lo]=ot([]),At=Mt([]),Gt=Mt(0),wn=Mt(0);At.current=Pe,Pe.length===0&&(wn.current=0);let co=jt(S=>{At.current=[...At.current,S],lo(b=>[...b,S])},[]),Pt=jt(()=>{At.current=[],lo([]),wn.current=0},[]),[zt,Bn]=ot(!1),[ue,xe]=ot(0),[ye,uo]=ot(null),[qo,Un]=ot(t.initialSplitView===!0),[mr,nn]=ot(!1),[Dt,vt]=ot("chat"),[_o,rn]=ot(()=>new Set),[ae,Re]=ot(0),[kt,fr]=ot(!1),[Le,Ei]=ot(t.initialFullscreen===!0),[Ts,sn]=ot("conversa"),[zr,pr]=ot(0),[Vr,En]=ot(!1),Vt=Mt(void 0),mo=Mt(void 0),Mo=Mt(!1),Zt=Mt(void 0),z=jt(()=>{mo.current!==void 0&&(clearTimeout(mo.current),mo.current=void 0),Vt.current=void 0,En(!1)},[]);ao(()=>()=>{mo.current!==void 0&&clearTimeout(mo.current),Zt.current!==void 0&&clearTimeout(Zt.current)},[]);let ke=Rh(u.meta.label),eo=h.length===0?1:yo(h,l>ke?l-ke:l),Lt=Math.max(3,Math.floor(c/3)),It=Math.max(0,Math.min(eo,Lt)-1),_s=Le?e.flowOverview():[],Ai=Le?OC(_s,S=>e.drillInFlow(S),{collapsed:_o,errorsOnly:kt}).sections:[],pb=_s.filter(S=>S.kind==="subagent"&&(S.phase==="thinking"||S.phase==="tool"||S.phase==="asking")).length,Vf=Le?Vy(u.blocks).startupNotes:[],Kf=Vf.length>0?1+Vf.reduce((S,b)=>S+1+b.lines.length,0):0,gb=Le?{lines:Ai.length>0?1+hU(Ai):Kf,hasActivity:Ai.length>0||Kf>0,activeAgents:pb,focused:Ts==="log"}:void 0,An=xi(c,l,eo,gb),v=Le&&An.kind==="cockpit";t.cockpitScreen?.setExpectedRows?.(v?An.rows:void 0);let to=pU(l,qo),Oo=to.layout,Kt=Oo==="side"||Oo==="tabs"&&Dt==="log",Ya=Kt&&mr,we=WB({fileIndex:t.fileIndex??ote,attachReader:t.attachReader??nte}),Q=zB({catalog:t.catalog??rte,...t.customModels?{customModels:t.customModels}:{},currentTier:u.meta.tier,...t.currentEffort!==void 0?{currentEffort:t.currentEffort}:{}}),Ms=(u.meta.model??"")!==""?u.meta.model:t.currentLocalModel,Ge=KB({...t.localModelCatalog!==void 0?{catalog:t.localModelCatalog}:{},...t.localRemoteModelNames!==void 0?{remoteNames:t.localRemoteModelNames}:{},...Ms!==void 0?{currentModel:Ms}:{}}),nt=XB({...t.currentEffort!==void 0?{currentEffort:t.currentEffort}:{}}),xo=QB(t.permissionControl??ate),Kr=t.currentTheme??aa(r.brightness),Rt=tU({currentTheme:Kr}),pt=jB({...t.mcpSearch!==void 0?{search:t.mcpSearch}:{},...t.mcpInstall!==void 0?{install:t.mcpInstall}:{},onNota:(S,b)=>{e.pushNote(S,b)}}),Xa=Kee.useRef(!1);!Xa.current&&t.onMcpPickerReady!==void 0&&(Xa.current=!0,t.onMcpPickerReady(pt.abrir));let Ja=t.currentLang??s,fo=rU({currentLang:Ja}),Qa=(u.meta.provider??"")!==""?u.meta.provider:t.currentProvider,Ae=aU({...Qa!==void 0?{currentProvider:Qa}:{},...t.providersClient?{providersClient:t.providersClient}:{},...t.localProviderCatalog?{localCatalog:t.localProviderCatalog}:{},...t.hasStoredKey?{hasStoredKey:t.hasStoredKey}:{},...t.storeCredential?{storeCredential:t.storeCredential}:{}}),Ci=jt((S,b)=>{typeof S?.then=="function"&&S.then(E=>{if(E===!0){Ge.openPicker();return}E!==!1&&E?.ok===!1&&b!==void 0&&Ae.retryCredential(b,E.detail)})},[Ge,Ae]),Yf=FC(()=>dN(Eo,i),[i]),Xf=FC(()=>DU(u.blocks),[u.blocks]),po=lU({store:t.sessionStore??ste}),Os=t.rewindSource??ite,ct=cU({source:Os}),Za=FC(()=>ct.target?Os.barriersAfter(ct.target.id):[],[ct.target,Os]),$e=dU({...t.userCommands!==void 0?{userCommands:t.userCommands}:{},natives:Yf}),el=t.syncActive??!0,Jf=(u.detachedSubagents??0)>0,tl=(()=>{if(u.liveSubagents===void 0)return[];if(HB({blocks:u.blocks,rows:c,columns:l,linhasDoRodape:ws}))return[];for(let S=u.blocks.length-1;S>=0;S-=1){let b=u.blocks[S];if(b?.kind==="subagents")return b.children}return[]})(),Yc=q1({count:u.detachedSubagents??0,phase:u.phase,...u.workingLabel!==void 0?{workingLabel:u.workingLabel}:{}}),hb=mU(u.phase,el,{subagentsAlive:Jf})||dte(u.blocks),Ps=Ef({enabled:r.animate&&hb}),Xc=zy(u.phase);Ef({enabled:Xc,intervalMs:1e3}),ao(()=>{let S=e.subscribe(p);return()=>{S(),e.dispose()}},[e]),ao(()=>{if(t.initialFullscreen!==!0||t.cockpitEnteredAtBoot===!0)return;if(xi(c,l).kind==="cockpit")t.cockpitScreen?.enter();else{Ei(!1);let b=xi(c,l),E=b.kind==="refuse"&&b.reason==="narrow"?i("cockpit.refuseNarrow"):i("cockpit.refuseShort");e.replaceNote("cockpit",[E])}},[]);let oo=Mt(t.initialFullscreen===!0&&An.kind==="cockpit"),Qf=Mt(t.initialFullscreen===!0);ao(()=>{let S=Qf.current!==Le;if(Qf.current=Le,!Le){oo.current=!1;return}let b=An.kind==="cockpit";if(S){oo.current=b;return}let E=oo.current;if(E&&!b){t.cockpitScreen?.leave();let T=An.kind==="refuse"&&An.reason==="narrow"?i("cockpit.refuseNarrow"):i("cockpit.refuseShort");e.replaceNote("cockpit",[T])}else!E&&b?(t.cockpitScreen?.enter(),a()):E&&b&&t.cockpitScreen?.resetDiffer?.();oo.current=b},[c,l,Le]);let{stdin:jn}=ete();ao(()=>{if(!jn)return;let S=b=>{let E=typeof b=="string"?b:b.toString("utf8");if(E.includes("\x1B[19~")||E.includes("\x1BOW")){e.cancelAllFlows(),Pt();return}let T=e1(E);T==="home"?y(J=>({...J,cursor:0})):T==="end"&&y(J=>({...J,cursor:J.text.length}))};return jn.on("data",S),()=>{jn.removeListener("data",S)}},[jn,e,Pt,y]),ao(()=>{if(u.phase!=="boot")return;let S=t.bootMs??900;if(S<=0)return;let b=setTimeout(()=>e.dismissBoot(),S);return()=>clearTimeout(b)},[u.phase,e,t.bootMs]),ao(()=>{u.phase!=="stuck"&&x&&w(!1)},[u.phase,x]);let an=t.userCommands??[],Di=h.startsWith("/")?h.slice(1):"",Yr=mN(Di,an,Yf),dt=jt((S,b)=>{y({text:S,cursor:Xt(S,b??S.length)})},[]);ao(()=>{let S=We.current,b=u.phase;if(We.current=b,S===b)return;let E=b==="idle"||b==="done";E&&(S!=="idle"&&S!=="done"&&S!=="boot")?Qe&&h===""&&Pe.length===0&&De(AU(u.blocks,i)):E||De(void 0)},[u.phase,u.blocks,h,Pe.length,Qe,i]),ao(()=>{h!==""&&De(void 0)},[h]);let Cn=jt(S=>{Se(iE(S,t.userCommands??[])),he(0)},[t.userCommands]),Ri=Mt(!1),Ti=t.armAtomicClear,Ho=jt(()=>{ki("clearScreen() \u2192 \\x1b[2J\\x1b[3J + staticKey++ (REEMITE hist\xF3rico)"),Ri.current=!1,Ti?Ti():n?.write("\x1B[H\x1B[2J\x1B[3J"),Ee(S=>S+1),Le&&t.cockpitScreen?.resetDiffer?.()},[n,Le,t.cockpitScreen,Ti]),ol=t.registerClearScreen;ao(()=>{ol?.(Ho)},[ol,Ho]),ao(()=>{ki(`slashOpen=${ge} (rows=${c} cols=${l})`)},[ge,c,l]);let _i=Mt({rows:c,columns:l}),nl=Mt(0),Zf=500,A=Mt(void 0),M=Mt(!1);ao(()=>{if(Le){_i.current={rows:c,columns:l};return}let S=_i.current;if(S.rows===c&&S.columns===l)return;if(M.current){_i.current={rows:c,columns:l},Ri.current=!0,ki(`resize ${S.rows}x${S.columns} \u2192 ${c}x${l} (F196: viva > rows \u21D2 PULA clearScreen; Ink repinta via clearTerminal; marca recupera\xE7\xE3o pendente)`);return}if(S.columns===l&&!Ri.current){_i.current={rows:c,columns:l},ki(`resize ${S.rows}x${S.columns} \u2192 ${c}x${l} (s\xF3 ROWS \u21D2 PULA clearScreen; sem rewrap de largura)`);return}ki(`resize ${S.rows}x${S.columns} \u2192 ${c}x${l} (clearScreen em 90ms)`),_i.current={rows:c,columns:l};let b=setTimeout(()=>{let E=Date.now(),T=Ri.current;if(!T&&E-nl.current<Zf){let J=Zf-(E-nl.current);A.current!==void 0&&clearTimeout(A.current),A.current=setTimeout(()=>{A.current=void 0,nl.current=Date.now(),Ho()},Math.max(J,0)+1),ki(`resize ${c}x${l} \u2014 clearScreen adiado ${Math.max(J,0)+1}ms (cooldown ${Zf}ms; rajada \u2014 repinta no fim)`);return}T&&ki(`resize ${c}x${l} \u2014 clearScreen FOR\xC7ADO (ignora cooldown; recupera\xE7\xE3o WEZTERM-GAP de regime "n\xE3o cabe" pendente)`),A.current!==void 0&&(clearTimeout(A.current),A.current=void 0),nl.current=E,Ho()},90);return()=>clearTimeout(b)},[c,l,Le,Ho]),ao(()=>()=>{A.current!==void 0&&(clearTimeout(A.current),A.current=void 0)},[]);let re=jt(()=>{Un(S=>{let b=!S;return t.onSplitViewChange?.(b),b||(nn(!1),vt("chat")),b})},[t]),D=jt(()=>{Ei(S=>{let b=!S,E=xi(c,l).kind==="cockpit";if(b&&E)t.cockpitScreen?.enter(),e.replaceNote("cockpit",[i("cockpit.entered")]);else if(b&&!E){let T=xi(c,l),J=T.kind==="refuse"&&T.reason==="narrow"?i("cockpit.refuseNarrow"):i("cockpit.refuseShort");e.replaceNote("cockpit",[J])}else t.cockpitScreen?.leave(),Ho(),e.replaceNote("cockpit",[i("cockpit.left")]);return t.onFullscreenChange?.(b),b}),sn("conversa"),pr(0),Re(0)},[t,e,i,c,l,Ho]),B=jt((S,b)=>{if(S.id==="split"){re();return}if(S.id==="fullscreen"){D();return}if(S.id==="suggest"){let E=b.trim().toLowerCase(),T=E==="on"?!0:E==="off"?!1:!Qe;Ht(T),t.onSuggestionsChange?.(T),T||De(void 0),e.replaceNote("suggest",[T?"sugest\xE3o de pr\xF3ximo prompt LIGADA \u2014 Tab aceita o ghost no composer.":"sugest\xE3o de pr\xF3ximo prompt DESLIGADA."]);return}if(S.id==="export"){t.onExportTranscript?t.onExportTranscript().then(E=>{e.pushNote("export",E.ok&&E.path?[`transcript exportado (redigido) \u2192 ${E.path}`]:[E.error??"export indispon\xEDvel"])}):e.replaceNote("export",["export indispon\xEDvel nesta sess\xE3o."]);return}if(S.id==="model"&&b.trim()===""&&u.meta.backend==="local"){if(t.onSelectTier!==void 0){Ge.openPicker();return}e.replaceNote("model-local",["Backend LOCAL (BYO): os tiers do broker n\xE3o se aplicam aqui.","O modelo vem do seu provider \u2014 troque com /provider, ou defina ALUY_LOCAL_MODEL / --model."]);return}if(S.id==="model"&&b.trim()===""&&t.catalog!==void 0&&t.onSelectTier!==void 0){Q.openPicker();return}if(S.id==="effort"&&b.trim()===""&&t.onSelectEffort!==void 0){nt.openPicker();return}if(S.id==="permissions"&&t.permissionControl!==void 0){xo.openPanel();return}if(S.id==="history"&&t.sessionStore!==void 0&&t.onResumeSession!==void 0){let E=b.trim();if(E===""){po.openPicker();return}Ho(),t.onResumeSession(E);return}if(S.id==="rewind"&&t.rewindSource!==void 0&&t.onRewind!==void 0){ct.openPicker();return}if(S.id==="theme"&&t.onSelectTheme!==void 0){let E=b.trim();if(E===""){Rt.openPicker();return}let T=ps(E);if(T){t.onSelectTheme(T.name);return}}if(S.id==="lang"&&t.onSelectLang!==void 0){let E=b.trim();if(E===""){fo.openPicker();return}let T=gs(E);if(T){t.onSelectLang(T.code);return}}if(S.id==="provider"&&t.onSelectProvider!==void 0){let E=b.trim();if(E===""){Ae.openPicker();return}if(E.toLowerCase()==="save"){t.onSaveProvider?t.onSaveProvider():e.pushNote("provider",["fixar como padr\xE3o indispon\xEDvel nesta sess\xE3o."]);return}let T=Ih(E,Ae.providers);if(T){Ci(t.onSelectProvider(T.name),T.name);return}}t.onCommand?.(S,b)},[t,Q,xo,Rt,fo,Ae,po,ct,Ho,re,Qe]),_=jt(S=>{if(S.action.kind==="command"){B(S.action.command,"");return}S.action.actionId==="cycle-mode"&&e.cycleMode()},[B,e]),q=jt(S=>{pr(0),Re(0);let b=uc(S,an);if(b.kind==="goal"){if(b.text!==""){if(ma(b.text).length>0&&t.attachReader){let T=we.attachments.map(J=>J.item);_f(b.text,t.attachReader).then(({goal:J,items:Fe})=>{if(J===""&&Fe.length===0){we.clear();return}let Ve=[...T,...Fe],Wo=J!==""?J:b.text;ve(gr=>[...gr,Wo]),e.submit(Wo,Ve),we.clear()});return}let E=we.attachments.map(T=>T.item);ve(T=>[...T,b.text]),e.submit(b.text,E),we.clear()}return}if(b.kind==="command"){B(b.command,b.args);return}if(b.kind==="bang"){ve(E=>[...E,`!${b.command}`]),e.runBang(b.command);return}},[e,an,we,B,t.attachReader]),te=jt(S=>{let b=uc(S,an);return b.kind!=="goal"||b.text===""||we.attachments.length>0||ma(b.text).length>0?!1:e.injectInput("root",b.text)},[e,an,we]),Ne=jt(S=>{let b=uc(S,an);return b.kind!=="command"||!_h(b.command,b.args)?!1:(B(b.command,b.args),!0)},[an,B]),ze=jt(S=>{if(At.current.length>0){co(S);return}let b=uc(S,an),E=b.kind==="goal"?b.text:"";if(fU({subagentsRunning:JU(e.current.blocks),isPlainGoal:b.kind==="goal",nonEmpty:E!=="",hasPendingAttachment:we.attachments.length>0||E!==""&&ma(E).length>0})){te(S);return}!te(S)&&!Ne(S)&&co(S)},[co,te,Ne,e,an,we]),X=Mt();X.current||(X.current=GF());let _e=Mt();_e.current||(_e.current=MU());let se=jt(S=>{let b=IU(S,_e.current);return _e.current.reset(),b},[]),Nt=jt(S=>{let b=LU(S,_e.current,"backward");return b.handled?(b.removedId!==void 0&&_e.current.remove(b.removedId),b.state):rA(S)},[]),go=Mt({open:!1}),ie=jt(S=>{if(S==="")return;e.current.phase==="boot"&&e.dismissBoot(),we.dismissNotice();let b=_U(S);y(E=>{let T=b?OU(E,S,_e.current):Sa(E,S);return Cn(T.text),no(T.text),T}),ee(-1)},[e,we,Cn]),Z=jt(S=>S.replace(/[\r\n\t]/g,""),[]),Y=jt(S=>{if($e.open){$e.setQuery($e.query+Z(S));return}if(Q.open){if(Q.effortStepOpen){Q.effortCustomOpen&&Q.appendEffortCustom(S);return}Q.customInputOpen&&Q.appendCustom(S);return}if(Ge.open){Ge.setQuery(Ge.query+Z(S));return}if(nt.open){nt.customOpen&&nt.appendCustom(S);return}if(!(xo.open||pt.open||Rt.open||fo.open||po.open||ct.open)){if(Ae.open){if(Ae.credentialStep!==null){Ae.typeCredential(Z(S));return}Ae.addCustomStep!==null&&Ae.typeAddCustom(Z(S));return}if(u.phase==="questioning"&&u.pendingQuestion){U&&V(b=>b+Z(S));return}ie(S)}},[$e,Q,Ge,nt,xo,Rt,fo,po,ct,Ae,u.phase,u.pendingQuestion,U,Z,ie]);ao(()=>{if(!jn)return;let S=X.current,b=E=>{let T=typeof E=="string"?E:E.toString("utf8");if(!S.isInPaste()&&!T.includes("\x1B[20"))return;let J=S.feed(T);for(let Fe of J)Fe.kind==="paste"&&Y(Fe.text)};return jn.on("data",b),()=>{jn.removeListener("data",b)}},[jn,Y]);let le=we.open||Q.open||Ge.open||nt.open||xo.open||pt.open||Rt.open||fo.open||Ae.open||po.open||ct.open||$e.open,xt=kN({...u,anyPickerOpen:le});ao(()=>{if(!xt||Pe.length===0)return;let S=Pe[0]??"",b=uc(S,an);if(b.kind==="command"&&b.command.id==="clear"){Pt(),q(S);return}lo(E=>E.slice(1)),q(S)},[xt,Pe,q,an,Pt]),ao(()=>{if(xt||Pe.length===0||u.phase!=="thinking"&&u.phase!=="streaming")return;let S=0;for(let b of Pe){if(!te(b))break;S+=1}S>0&&lo(b=>b.slice(S))},[xt,Pe,u.phase,te]),Zee((S,b)=>{if(!WF(go.current,S)&&!SU(S)&&!(S!==""&&!b.tab&&/^[\x00-\x08\x0b\x0c\x0e-\x1f\x7f\t]+$/.test(S))){if(u.phase==="boot"){if(b.ctrl&&S==="c"){o();return}if(S&&!b.ctrl&&!b.meta){e.dismissBoot();let E=S.search(/[\r\n]/);E!==-1?q(h+S.slice(0,E)):y(T=>{let J=T.text+S;return Se(iE(J,t.userCommands??[])),{text:J,cursor:J.length}});return}e.dismissBoot();return}if(v&&!ge&&!le&&u.phase!=="asking"){if(b.tab&&!b.shift){sn(T=>T==="conversa"?"log":"conversa");return}if(b.ctrl&&(S==="s"||S==="")){t.onExportTranscript?t.onExportTranscript().then(T=>{T.ok&&T.path?e.pushNote("export",[`${i("cockpit.exported")} ${T.path}`]):e.pushNote("export",[T.error??"export indispon\xEDvel"])}):e.pushNote("export",["export indispon\xEDvel nesta sess\xE3o"]);return}let E=An.kind==="cockpit"?An:void 0;if(E){let T=b.pageUp?"pageUp":b.pageDown?"pageDown":b.upArrow?"up":b.downArrow?"down":void 0;if(T!==void 0){if(Ts==="conversa"){let J=Math.max(1,Math.round((E.regions.conversaRows-1)/4)),Fe=T==="up"?1:T==="down"?-1:T==="pageUp"?J:-J;pr(Ve=>Math.min(Math.max(0,Ve+Fe),Math.max(0,u.blocks.length-1)))}else{let J=Math.max(1,E.regions.logRows-1);Re(Fe=>xU(T,Fe,Ai.length+1,J))}return}}}if(!zt){if(b.ctrl&&S==="l"){qo&&Oo==="tabs"?(vt(E=>E==="chat"?"log":"chat"),nn(E=>!E)):re();return}if(b.tab&&!b.shift&&Kt){Oo==="tabs"?(vt(E=>E==="chat"?"log":"chat"),nn(E=>!E)):nn(E=>!E);return}if(Ya){if(b.escape){nn(!1);return}if(b.upArrow){Re(E=>E+1);return}if(b.downArrow){Re(E=>Math.max(0,E-1));return}if(b.pageUp){Re(E=>E+Ba);return}if(b.pageDown){Re(E=>Math.max(0,E-Ba));return}if(b.return){rn(E=>{let T=new Set(E);return T.has("root")?T.delete("root"):T.add("root"),T});return}if(S==="e"&&!b.ctrl&&!b.meta){fr(E=>!E);return}if(!(b.ctrl&&S==="c")&&!(b.ctrl&&S==="t"))return}}if(zt){if(ye){if(b.escape||b.return){uo(null);return}if(S==="p"){e.cancelFlow(ye);return}if(S==="i"){h.trim()!==""&&(e.injectInput(ye,h),dt(""));return}return}let E=e.flowOverview();if(b.escape||b.ctrl&&S==="t"){Bn(!1);return}if(b.upArrow){xe(T=>Math.max(0,T-1));return}if(b.downArrow){xe(T=>Math.min(Math.max(0,E.length-1),T+1));return}if(b.return){let T=E[Math.min(ue,E.length-1)];T&&uo(T.id);return}if(S==="p"){let T=E[Math.min(ue,E.length-1)];T&&e.cancelFlow(T.id);return}if(S==="P"){e.cancelAllFlows();return}if(S==="i"){let T=E[Math.min(ue,E.length-1)];T&&h.trim()!==""&&(e.injectInput(T.id,h),dt(""));return}return}if(u.phase==="asking"&&u.pendingAsk){let E=u.pendingAsk.request.alwaysAsk;if(S==="a")return e.resolveAsk({kind:"approve-once"});if(S==="s"&&E===!1)return e.resolveAsk({kind:"approve-session"});if(S==="n")return e.resolveAsk({kind:"deny",reason:"negado pelo usu\xE1rio"});if(b.escape){let T=Date.now(),J=At.current.length>0,Fe=T-wn.current<500;e.resolveAsk({kind:"deny",reason:"cancelado (esc)"}),Fe&&!J&&(e.interrupt(),Pt()),wn.current=J?0:T;return}return S==="e"?e.resolveAsk({kind:"deny",reason:"editar (n\xE3o aplicado)"}):void 0}if(u.phase==="questioning"&&u.pendingQuestion){let E=u.pendingQuestion.spec,T=E.options??[],J=E.kind!=="text"&&E.allowOther!==!1;if(b.escape){if(U&&E.kind!=="text"){L(!1),V("");return}return e.resolveQuestion({kind:"unavailable",reason:"cancelado (esc)"})}if(U){if(b.return){let Ve=I.trim();return Ve===""?void 0:e.resolveQuestion({kind:"text",text:Ve})}if(b.backspace||b.delete){V(Ve=>Ve.slice(0,-1));return}if(S&&!b.ctrl&&!b.meta){V(Ve=>Ve+S);return}return}let Fe=T.length-1;if(b.upArrow){P(Ve=>Ve===Ir?Fe:Ve<=0?J?Ir:Fe:Ve-1);return}if(b.downArrow){P(Ve=>Ve===Ir?0:Ve>=Fe?J?Ir:0:Ve+1);return}if(E.kind==="multi"&&S===" "&&R!==Ir&&R>=0){F(Ve=>{let Wo=new Set(Ve);return Wo.has(R)?Wo.delete(R):Wo.add(R),Wo});return}if(b.return){if(R===Ir){L(!0);return}if(E.kind==="multi"){let Wo=[...O].sort((hr,Mq)=>hr-Mq),gr=Wo.map(hr=>T[hr]?.label??"").filter(hr=>hr!=="");return e.resolveQuestion({kind:"choices",indices:Wo,labels:gr})}let Ve=T[R];return Ve?e.resolveQuestion({kind:"choice",index:R,label:Ve.label}):void 0}return}if(u.phase==="budget"){if(S==="n")return o();if(S==="c"){e.continueAfterBudget();return}if(S==="k"&&e.canCompact){e.compactAfterBudget();return}return}if(u.phase==="cycle-ceiling"){if(S==="n"||b.escape){e.stopCycleCeiling();return}if(S==="c"){e.continueCycleCeiling();return}return}if(u.pendingUnsafeConfirm===!0){if(S==="s"||S==="y"){e.confirmUnsafe();return}if(S==="n"||b.escape){e.cancelUnsafe();return}return}if(u.phase==="stuck")if(x){if(b.escape){w(!1);return}if(b.return&&!b.shift){let E=g.text;y({text:"",cursor:0}),w(!1),e.redirectAfterStuck(E);return}}else{if(S==="r"){w(!0);return}if(S==="c"){e.continueAfterStuck();return}if(S==="n"||b.escape){e.endAfterStuck();return}return}if(cte(u.blocks)&&(b.escape||b.ctrl&&S==="c")){e.interrupt(),Pt();return}if(u.phase==="thinking"||u.phase==="streaming"||u.phase==="retrying"){if(b.ctrl&&S==="t"){uo(null),xe(0),Bn(!0);return}if(ge){if(b.upArrow){he(T=>Math.max(0,T-1));return}if(b.downArrow){he(T=>Math.min(Yr.length-1,T+1));return}if(b.escape){Se(!1),he(0);return}if(b.tab){let T=Yr[de];if(T){let J=Oh(T);dt(J),Cn(J)}return}if(b.return&&!b.shift){let T=Yr[de];if(T&&T.kind==="subcommand"&&sE(T)){Se(!1),he(0);let J=lN(T);if(_h(T.parent,T.sub.name)){B(T.parent,T.sub.name),ve(Fe=>[...Fe,J]),dt(""),ee(-1);return}co(J),ve(Fe=>[...Fe,J]),dt(""),ee(-1);return}if(T&&T.kind==="subcommand"){let J=Oh(T);dt(J),Cn(J);return}if(Se(!1),he(0),T){if(_h(T.command,"")){B(T.command,""),dt(""),ee(-1);return}let J=`/${T.command.name}`;co(J),ve(Fe=>[...Fe,J]),dt(""),ee(-1)}return}}if(b.ctrl&&S==="c"){e.interrupt(),Pt();return}if(b.escape){let T=At.current.length>0,J=e.current.pendingInjects.length>0,Fe=se(h).trim(),Ve=Fe!=="";if(T||J||Ve){let Wo=J;if(Ve){let gr=uU(Fe);gr.kind==="redirect"&&(e.injectInput("root",gr.inject),ve(hr=>[...hr,gr.inject]),Wo=!0),dt(""),ee(-1)}if(!u.cycleActive&&At.current.length>0){let gr=[];for(let hr of At.current)te(hr)?Wo=!0:gr.push(hr);lo(gr)}if(Wo&&e.expedite(),!Ve&&!T){if(Gt.current+=1,Gt.current>=2){Gt.current=0,e.interrupt(),Pt();return}}else Gt.current=0;return}e.interrupt(),Pt();return}if(b.return&&b.ctrl||!b.return&&S===`
|
|
694
|
+
`)}case"inject":return`[encaixado]${t.text.trim()?` ${t.text.trim()}`:""}`}}import{Fragment as QU,jsx as $,jsxs as ko}from"react/jsx-runtime";var YU=Symbol("header"),ote={list:async()=>[]},nte={attach:async()=>({kind:"rejected",path:"",reason:"sem leitor"})},rte={list:async()=>[]},ste={list:()=>[],load:()=>null},ite={list:()=>[],barriersAfter:()=>[]},ate={mode:"normal",setMode:()=>{},sessionGrants:{list:()=>[],revoke:()=>!1},effectiveSafeDefault:()=>"allow",setSafeToolDefault:()=>!1};function XU(t,e){return typeof t=="number"&&Number.isFinite(t)&&t>=1?Math.floor(t):e}function ZU(t){let{controller:e}=t,{exit:o}=Qee(),{stdout:n}=tte(),r=G(),{lang:s,t:i}=be(),[,a]=Yee(S=>S+1,0);ao(()=>{if(!n||typeof n.on!="function")return;let S=()=>a();return n.on("resize",S),()=>{typeof n.off=="function"&&n.off("resize",S)}},[n]);let l=XU(n?.columns,80),c=XU(n?.rows,24),d=r.density!=="compact",m=r.density!=="compact",[u,p]=ot(e.current),[g,y]=ot({text:"",cursor:0}),h=g.text,k=g.cursor,[x,w]=ot(!1),[R,P]=ot(0),[O,F]=ot(()=>new Set),[U,L]=ot(!1),[I,V]=ot(""),K=u.phase==="questioning"?u.pendingQuestion?.spec:void 0,N=Mt(void 0);ao(()=>{K!==N.current&&(N.current=K,P(0),F(new Set),V(""),L(K?.kind==="text"))},[K]);let[W,Ee]=ot(0),[ge,Se]=ot(!1),[de,he]=ot(0),[ne,ve]=ot([]),[me,ee]=ot(-1),[Qe,Ht]=ot(t.initialSuggestions!==!1),[fe,De]=ot(void 0),We=Mt(e.current.phase),Wt=Mt(void 0);Wt.current=fe;let Oe=Mt(g);Oe.current=g;let[Pe,lo]=ot([]),At=Mt([]),Gt=Mt(0),wn=Mt(0);At.current=Pe,Pe.length===0&&(wn.current=0);let co=jt(S=>{At.current=[...At.current,S],lo(b=>[...b,S])},[]),Pt=jt(()=>{At.current=[],lo([]),wn.current=0},[]),[zt,Bn]=ot(!1),[ue,xe]=ot(0),[ye,uo]=ot(null),[qo,Un]=ot(t.initialSplitView===!0),[mr,nn]=ot(!1),[Dt,vt]=ot("chat"),[_o,rn]=ot(()=>new Set),[ae,Re]=ot(0),[kt,fr]=ot(!1),[Le,Ei]=ot(t.initialFullscreen===!0),[Ts,sn]=ot("conversa"),[zr,pr]=ot(0),[Vr,En]=ot(!1),Vt=Mt(void 0),mo=Mt(void 0),Mo=Mt(!1),Zt=Mt(void 0),z=jt(()=>{mo.current!==void 0&&(clearTimeout(mo.current),mo.current=void 0),Vt.current=void 0,En(!1)},[]);ao(()=>()=>{mo.current!==void 0&&clearTimeout(mo.current),Zt.current!==void 0&&clearTimeout(Zt.current)},[]);let ke=Rh(u.meta.label),eo=h.length===0?1:yo(h,l>ke?l-ke:l),Lt=Math.max(3,Math.floor(c/3)),It=Math.max(0,Math.min(eo,Lt)-1),_s=Le?e.flowOverview():[],Ai=Le?OC(_s,S=>e.drillInFlow(S),{collapsed:_o,errorsOnly:kt}).sections:[],pb=_s.filter(S=>S.kind==="subagent"&&(S.phase==="thinking"||S.phase==="tool"||S.phase==="asking")).length,Vf=Le?Vy(u.blocks).startupNotes:[],Kf=Vf.length>0?1+Vf.reduce((S,b)=>S+1+b.lines.length,0):0,gb=Le?{lines:Ai.length>0?1+hU(Ai):Kf,hasActivity:Ai.length>0||Kf>0,activeAgents:pb,focused:Ts==="log"}:void 0,An=xi(c,l,eo,gb),v=Le&&An.kind==="cockpit";t.cockpitScreen?.setExpectedRows?.(v?An.rows:void 0);let to=pU(l,qo),Oo=to.layout,Kt=Oo==="side"||Oo==="tabs"&&Dt==="log",Ya=Kt&&mr,we=WB({fileIndex:t.fileIndex??ote,attachReader:t.attachReader??nte}),Q=zB({catalog:t.catalog??rte,...t.customModels?{customModels:t.customModels}:{},currentTier:u.meta.tier,...t.currentEffort!==void 0?{currentEffort:t.currentEffort}:{}}),Ms=(u.meta.model??"")!==""?u.meta.model:t.currentLocalModel,Ge=KB({...t.localModelCatalog!==void 0?{catalog:t.localModelCatalog}:{},...t.localRemoteModelNames!==void 0?{remoteNames:t.localRemoteModelNames}:{},...Ms!==void 0?{currentModel:Ms}:{}}),nt=XB({...t.currentEffort!==void 0?{currentEffort:t.currentEffort}:{}}),xo=QB(t.permissionControl??ate),Kr=t.currentTheme??aa(r.brightness),Rt=tU({currentTheme:Kr}),pt=jB({...t.mcpSearch!==void 0?{search:t.mcpSearch}:{},...t.mcpInstall!==void 0?{install:t.mcpInstall}:{},onNota:(S,b)=>{e.pushNote(S,b)}}),Xa=Kee.useRef(!1);!Xa.current&&t.onMcpPickerReady!==void 0&&(Xa.current=!0,t.onMcpPickerReady(pt.abrir));let Ja=t.currentLang??s,fo=rU({currentLang:Ja}),Qa=(u.meta.provider??"")!==""?u.meta.provider:t.currentProvider,Ae=aU({...Qa!==void 0?{currentProvider:Qa}:{},...t.providersClient?{providersClient:t.providersClient}:{},...t.localProviderCatalog?{localCatalog:t.localProviderCatalog}:{},...t.hasStoredKey?{hasStoredKey:t.hasStoredKey}:{},...t.storeCredential?{storeCredential:t.storeCredential}:{}}),Ci=jt((S,b)=>{typeof S?.then=="function"&&S.then(E=>{if(E===!0){Ge.openPicker();return}E!==!1&&E?.ok===!1&&b!==void 0&&Ae.retryCredential(b,E.detail)})},[Ge,Ae]),Yf=FC(()=>dN(Eo,i),[i]),Xf=FC(()=>DU(u.blocks),[u.blocks]),po=lU({store:t.sessionStore??ste}),Os=t.rewindSource??ite,ct=cU({source:Os}),Za=FC(()=>ct.target?Os.barriersAfter(ct.target.id):[],[ct.target,Os]),$e=dU({...t.userCommands!==void 0?{userCommands:t.userCommands}:{},natives:Yf}),el=t.syncActive??!0,Jf=(u.detachedSubagents??0)>0,tl=(()=>{if(u.liveSubagents===void 0)return[];if(HB({blocks:u.blocks,rows:c,columns:l,linhasDoRodape:ws}))return[];for(let S=u.blocks.length-1;S>=0;S-=1){let b=u.blocks[S];if(b?.kind==="subagents")return b.children}return[]})(),Yc=q1({count:u.detachedSubagents??0,phase:u.phase,...u.workingLabel!==void 0?{workingLabel:u.workingLabel}:{}}),hb=mU(u.phase,el,{subagentsAlive:Jf})||dte(u.blocks),Ps=Ef({enabled:r.animate&&hb}),Xc=zy(u.phase);Ef({enabled:Xc,intervalMs:1e3}),ao(()=>{let S=e.subscribe(p);return()=>{S(),e.dispose()}},[e]),ao(()=>{if(t.initialFullscreen!==!0||t.cockpitEnteredAtBoot===!0)return;if(xi(c,l).kind==="cockpit")t.cockpitScreen?.enter();else{Ei(!1);let b=xi(c,l),E=b.kind==="refuse"&&b.reason==="narrow"?i("cockpit.refuseNarrow"):i("cockpit.refuseShort");e.replaceNote("cockpit",[E])}},[]);let oo=Mt(t.initialFullscreen===!0&&An.kind==="cockpit"),Qf=Mt(t.initialFullscreen===!0);ao(()=>{let S=Qf.current!==Le;if(Qf.current=Le,!Le){oo.current=!1;return}let b=An.kind==="cockpit";if(S){oo.current=b;return}let E=oo.current;if(E&&!b){t.cockpitScreen?.leave();let T=An.kind==="refuse"&&An.reason==="narrow"?i("cockpit.refuseNarrow"):i("cockpit.refuseShort");e.replaceNote("cockpit",[T])}else!E&&b?(t.cockpitScreen?.enter(),a()):E&&b&&t.cockpitScreen?.resetDiffer?.();oo.current=b},[c,l,Le]);let{stdin:jn}=ete();ao(()=>{if(!jn)return;let S=b=>{let E=typeof b=="string"?b:b.toString("utf8");if(E.includes("\x1B[19~")||E.includes("\x1BOW")){e.cancelAllFlows(),Pt();return}let T=e1(E);T==="home"?y(J=>({...J,cursor:0})):T==="end"&&y(J=>({...J,cursor:J.text.length}))};return jn.on("data",S),()=>{jn.removeListener("data",S)}},[jn,e,Pt,y]),ao(()=>{if(u.phase!=="boot")return;let S=t.bootMs??900;if(S<=0)return;let b=setTimeout(()=>e.dismissBoot(),S);return()=>clearTimeout(b)},[u.phase,e,t.bootMs]),ao(()=>{u.phase!=="stuck"&&x&&w(!1)},[u.phase,x]);let an=t.userCommands??[],Di=h.startsWith("/")?h.slice(1):"",Yr=mN(Di,an,Yf),dt=jt((S,b)=>{y({text:S,cursor:Xt(S,b??S.length)})},[]);ao(()=>{let S=We.current,b=u.phase;if(We.current=b,S===b)return;let E=b==="idle"||b==="done";E&&(S!=="idle"&&S!=="done"&&S!=="boot")?Qe&&h===""&&Pe.length===0&&De(AU(u.blocks,i)):E||De(void 0)},[u.phase,u.blocks,h,Pe.length,Qe,i]),ao(()=>{h!==""&&De(void 0)},[h]);let Cn=jt(S=>{Se(iE(S,t.userCommands??[])),he(0)},[t.userCommands]),Ri=Mt(!1),Ti=t.armAtomicClear,Ho=jt(()=>{ki("clearScreen() \u2192 \\x1b[2J\\x1b[3J + staticKey++ (REEMITE hist\xF3rico)"),Ri.current=!1,Ti?Ti():n?.write("\x1B[H\x1B[2J\x1B[3J"),Ee(S=>S+1),Le&&t.cockpitScreen?.resetDiffer?.()},[n,Le,t.cockpitScreen,Ti]),ol=t.registerClearScreen;ao(()=>{ol?.(Ho)},[ol,Ho]),ao(()=>{ki(`slashOpen=${ge} (rows=${c} cols=${l})`)},[ge,c,l]);let _i=Mt({rows:c,columns:l}),nl=Mt(0),Zf=500,A=Mt(void 0),M=Mt(!1);ao(()=>{if(Le){_i.current={rows:c,columns:l};return}let S=_i.current;if(S.rows===c&&S.columns===l)return;if(M.current){_i.current={rows:c,columns:l},Ri.current=!0,ki(`resize ${S.rows}x${S.columns} \u2192 ${c}x${l} (F196: viva > rows \u21D2 PULA clearScreen; Ink repinta via clearTerminal; marca recupera\xE7\xE3o pendente)`);return}if(S.columns===l&&!Ri.current){_i.current={rows:c,columns:l},ki(`resize ${S.rows}x${S.columns} \u2192 ${c}x${l} (s\xF3 ROWS \u21D2 PULA clearScreen; sem rewrap de largura)`);return}ki(`resize ${S.rows}x${S.columns} \u2192 ${c}x${l} (clearScreen em 90ms)`),_i.current={rows:c,columns:l};let b=setTimeout(()=>{let E=Date.now(),T=Ri.current;if(!T&&E-nl.current<Zf){let J=Zf-(E-nl.current);A.current!==void 0&&clearTimeout(A.current),A.current=setTimeout(()=>{A.current=void 0,nl.current=Date.now(),Ho()},Math.max(J,0)+1),ki(`resize ${c}x${l} \u2014 clearScreen adiado ${Math.max(J,0)+1}ms (cooldown ${Zf}ms; rajada \u2014 repinta no fim)`);return}T&&ki(`resize ${c}x${l} \u2014 clearScreen FOR\xC7ADO (ignora cooldown; recupera\xE7\xE3o WEZTERM-GAP de regime "n\xE3o cabe" pendente)`),A.current!==void 0&&(clearTimeout(A.current),A.current=void 0),nl.current=E,Ho()},90);return()=>clearTimeout(b)},[c,l,Le,Ho]),ao(()=>()=>{A.current!==void 0&&(clearTimeout(A.current),A.current=void 0)},[]);let re=jt(()=>{Un(S=>{let b=!S;return t.onSplitViewChange?.(b),b||(nn(!1),vt("chat")),b})},[t]),D=jt(()=>{Ei(S=>{let b=!S,E=xi(c,l).kind==="cockpit";if(b&&E)t.cockpitScreen?.enter(),e.replaceNote("cockpit",[i("cockpit.entered")]);else if(b&&!E){let T=xi(c,l),J=T.kind==="refuse"&&T.reason==="narrow"?i("cockpit.refuseNarrow"):i("cockpit.refuseShort");e.replaceNote("cockpit",[J])}else t.cockpitScreen?.leave(),Ho(),e.replaceNote("cockpit",[i("cockpit.left")]);return t.onFullscreenChange?.(b),b}),sn("conversa"),pr(0),Re(0)},[t,e,i,c,l,Ho]),B=jt((S,b)=>{if(S.id==="split"){re();return}if(S.id==="fullscreen"){D();return}if(S.id==="suggest"){let E=b.trim().toLowerCase(),T=E==="on"?!0:E==="off"?!1:!Qe;Ht(T),t.onSuggestionsChange?.(T),T||De(void 0),e.replaceNote("suggest",[T?"sugest\xE3o de pr\xF3ximo prompt LIGADA \u2014 Tab aceita o ghost no composer.":"sugest\xE3o de pr\xF3ximo prompt DESLIGADA."]);return}if(S.id==="export"){t.onExportTranscript?t.onExportTranscript().then(E=>{e.pushNote("export",E.ok&&E.path?[`transcript exportado (redigido) \u2192 ${E.path}`]:[E.error??"export indispon\xEDvel"])}):e.replaceNote("export",["export indispon\xEDvel nesta sess\xE3o."]);return}if(S.id==="model"&&b.trim()===""&&u.meta.backend==="local"){if(t.onSelectTier!==void 0){Ge.openPicker();return}e.replaceNote("model-local",["Backend LOCAL (BYO): os tiers do broker n\xE3o se aplicam aqui.","O modelo vem do seu provider \u2014 troque com /provider, ou defina ALUY_LOCAL_MODEL / --model."]);return}if(S.id==="model"&&b.trim()===""&&t.catalog!==void 0&&t.onSelectTier!==void 0){Q.openPicker();return}if(S.id==="effort"&&b.trim()===""&&t.onSelectEffort!==void 0){nt.openPicker();return}if(S.id==="permissions"&&t.permissionControl!==void 0){xo.openPanel();return}if(S.id==="history"&&t.sessionStore!==void 0&&t.onResumeSession!==void 0){let E=b.trim();if(E===""){po.openPicker();return}Ho(),t.onResumeSession(E);return}if(S.id==="rewind"&&t.rewindSource!==void 0&&t.onRewind!==void 0){ct.openPicker();return}if(S.id==="theme"&&t.onSelectTheme!==void 0){let E=b.trim();if(E===""){Rt.openPicker();return}let T=ps(E);if(T){t.onSelectTheme(T.name);return}}if(S.id==="lang"&&t.onSelectLang!==void 0){let E=b.trim();if(E===""){fo.openPicker();return}let T=gs(E);if(T){t.onSelectLang(T.code);return}}if(S.id==="provider"&&t.onSelectProvider!==void 0){let E=b.trim();if(E===""){Ae.openPicker();return}if(E.toLowerCase()==="save"){t.onSaveProvider?t.onSaveProvider():e.pushNote("provider",["fixar como padr\xE3o indispon\xEDvel nesta sess\xE3o."]);return}let T=Ih(E,Ae.providers);if(T){Ci(t.onSelectProvider(T.name),T.name);return}}t.onCommand?.(S,b)},[t,Q,xo,Rt,fo,Ae,po,ct,Ho,re,Qe]),_=jt(S=>{if(S.action.kind==="command"){B(S.action.command,"");return}S.action.actionId==="cycle-mode"&&e.cycleMode()},[B,e]),q=jt(S=>{pr(0),Re(0);let b=uc(S,an);if(b.kind==="goal"){if(b.text!==""){if(ma(b.text).length>0&&t.attachReader){let T=we.attachments.map(J=>J.item);_f(b.text,t.attachReader).then(({goal:J,items:Fe})=>{if(J===""&&Fe.length===0){we.clear();return}let Ve=[...T,...Fe],Wo=J!==""?J:b.text;ve(gr=>[...gr,Wo]),e.submit(Wo,Ve),we.clear()});return}let E=we.attachments.map(T=>T.item);ve(T=>[...T,b.text]),e.submit(b.text,E),we.clear()}return}if(b.kind==="command"){B(b.command,b.args);return}if(b.kind==="bang"){ve(E=>[...E,`!${b.command}`]),e.runBang(b.command);return}},[e,an,we,B,t.attachReader]),te=jt(S=>{let b=uc(S,an);return b.kind!=="goal"||b.text===""||we.attachments.length>0||ma(b.text).length>0||!e.turnoVivo?!1:e.injectInput("root",b.text)},[e,an,we]),Ne=jt(S=>{let b=uc(S,an);return b.kind!=="command"||!_h(b.command,b.args)?!1:(B(b.command,b.args),!0)},[an,B]),ze=jt(S=>{if(At.current.length>0){co(S);return}let b=uc(S,an),E=b.kind==="goal"?b.text:"";if(fU({subagentsRunning:JU(e.current.blocks),isPlainGoal:b.kind==="goal",nonEmpty:E!=="",hasPendingAttachment:we.attachments.length>0||E!==""&&ma(E).length>0})){te(S);return}!te(S)&&!Ne(S)&&co(S)},[co,te,Ne,e,an,we]),X=Mt();X.current||(X.current=GF());let _e=Mt();_e.current||(_e.current=MU());let se=jt(S=>{let b=IU(S,_e.current);return _e.current.reset(),b},[]),Nt=jt(S=>{let b=LU(S,_e.current,"backward");return b.handled?(b.removedId!==void 0&&_e.current.remove(b.removedId),b.state):rA(S)},[]),go=Mt({open:!1}),ie=jt(S=>{if(S==="")return;e.current.phase==="boot"&&e.dismissBoot(),we.dismissNotice();let b=_U(S);y(E=>{let T=b?OU(E,S,_e.current):Sa(E,S);return Cn(T.text),no(T.text),T}),ee(-1)},[e,we,Cn]),Z=jt(S=>S.replace(/[\r\n\t]/g,""),[]),Y=jt(S=>{if($e.open){$e.setQuery($e.query+Z(S));return}if(Q.open){if(Q.effortStepOpen){Q.effortCustomOpen&&Q.appendEffortCustom(S);return}Q.customInputOpen&&Q.appendCustom(S);return}if(Ge.open){Ge.setQuery(Ge.query+Z(S));return}if(nt.open){nt.customOpen&&nt.appendCustom(S);return}if(!(xo.open||pt.open||Rt.open||fo.open||po.open||ct.open)){if(Ae.open){if(Ae.credentialStep!==null){Ae.typeCredential(Z(S));return}Ae.addCustomStep!==null&&Ae.typeAddCustom(Z(S));return}if(u.phase==="questioning"&&u.pendingQuestion){U&&V(b=>b+Z(S));return}ie(S)}},[$e,Q,Ge,nt,xo,Rt,fo,po,ct,Ae,u.phase,u.pendingQuestion,U,Z,ie]);ao(()=>{if(!jn)return;let S=X.current,b=E=>{let T=typeof E=="string"?E:E.toString("utf8");if(!S.isInPaste()&&!T.includes("\x1B[20"))return;let J=S.feed(T);for(let Fe of J)Fe.kind==="paste"&&Y(Fe.text)};return jn.on("data",b),()=>{jn.removeListener("data",b)}},[jn,Y]);let le=we.open||Q.open||Ge.open||nt.open||xo.open||pt.open||Rt.open||fo.open||Ae.open||po.open||ct.open||$e.open,xt=kN({...u,anyPickerOpen:le});ao(()=>{if(!xt||Pe.length===0)return;let S=Pe[0]??"",b=uc(S,an);if(b.kind==="command"&&b.command.id==="clear"){Pt(),q(S);return}lo(E=>E.slice(1)),q(S)},[xt,Pe,q,an,Pt]),ao(()=>{if(xt||Pe.length===0||u.phase!=="thinking"&&u.phase!=="streaming")return;let S=0;for(let b of Pe){if(!te(b))break;S+=1}S>0&&lo(b=>b.slice(S))},[xt,Pe,u.phase,te]),Zee((S,b)=>{if(!WF(go.current,S)&&!SU(S)&&!(S!==""&&!b.tab&&/^[\x00-\x08\x0b\x0c\x0e-\x1f\x7f\t]+$/.test(S))){if(u.phase==="boot"){if(b.ctrl&&S==="c"){o();return}if(S&&!b.ctrl&&!b.meta){e.dismissBoot();let E=S.search(/[\r\n]/);E!==-1?q(h+S.slice(0,E)):y(T=>{let J=T.text+S;return Se(iE(J,t.userCommands??[])),{text:J,cursor:J.length}});return}e.dismissBoot();return}if(v&&!ge&&!le&&u.phase!=="asking"){if(b.tab&&!b.shift){sn(T=>T==="conversa"?"log":"conversa");return}if(b.ctrl&&(S==="s"||S==="")){t.onExportTranscript?t.onExportTranscript().then(T=>{T.ok&&T.path?e.pushNote("export",[`${i("cockpit.exported")} ${T.path}`]):e.pushNote("export",[T.error??"export indispon\xEDvel"])}):e.pushNote("export",["export indispon\xEDvel nesta sess\xE3o"]);return}let E=An.kind==="cockpit"?An:void 0;if(E){let T=b.pageUp?"pageUp":b.pageDown?"pageDown":b.upArrow?"up":b.downArrow?"down":void 0;if(T!==void 0){if(Ts==="conversa"){let J=Math.max(1,Math.round((E.regions.conversaRows-1)/4)),Fe=T==="up"?1:T==="down"?-1:T==="pageUp"?J:-J;pr(Ve=>Math.min(Math.max(0,Ve+Fe),Math.max(0,u.blocks.length-1)))}else{let J=Math.max(1,E.regions.logRows-1);Re(Fe=>xU(T,Fe,Ai.length+1,J))}return}}}if(!zt){if(b.ctrl&&S==="l"){qo&&Oo==="tabs"?(vt(E=>E==="chat"?"log":"chat"),nn(E=>!E)):re();return}if(b.tab&&!b.shift&&Kt){Oo==="tabs"?(vt(E=>E==="chat"?"log":"chat"),nn(E=>!E)):nn(E=>!E);return}if(Ya){if(b.escape){nn(!1);return}if(b.upArrow){Re(E=>E+1);return}if(b.downArrow){Re(E=>Math.max(0,E-1));return}if(b.pageUp){Re(E=>E+Ba);return}if(b.pageDown){Re(E=>Math.max(0,E-Ba));return}if(b.return){rn(E=>{let T=new Set(E);return T.has("root")?T.delete("root"):T.add("root"),T});return}if(S==="e"&&!b.ctrl&&!b.meta){fr(E=>!E);return}if(!(b.ctrl&&S==="c")&&!(b.ctrl&&S==="t"))return}}if(zt){if(ye){if(b.escape||b.return){uo(null);return}if(S==="p"){e.cancelFlow(ye);return}if(S==="i"){h.trim()!==""&&(e.injectInput(ye,h),dt(""));return}return}let E=e.flowOverview();if(b.escape||b.ctrl&&S==="t"){Bn(!1);return}if(b.upArrow){xe(T=>Math.max(0,T-1));return}if(b.downArrow){xe(T=>Math.min(Math.max(0,E.length-1),T+1));return}if(b.return){let T=E[Math.min(ue,E.length-1)];T&&uo(T.id);return}if(S==="p"){let T=E[Math.min(ue,E.length-1)];T&&e.cancelFlow(T.id);return}if(S==="P"){e.cancelAllFlows();return}if(S==="i"){let T=E[Math.min(ue,E.length-1)];T&&h.trim()!==""&&(e.injectInput(T.id,h),dt(""));return}return}if(u.phase==="asking"&&u.pendingAsk){let E=u.pendingAsk.request.alwaysAsk;if(S==="a")return e.resolveAsk({kind:"approve-once"});if(S==="s"&&E===!1)return e.resolveAsk({kind:"approve-session"});if(S==="n")return e.resolveAsk({kind:"deny",reason:"negado pelo usu\xE1rio"});if(b.escape){let T=Date.now(),J=At.current.length>0,Fe=T-wn.current<500;e.resolveAsk({kind:"deny",reason:"cancelado (esc)"}),Fe&&!J&&(e.interrupt(),Pt()),wn.current=J?0:T;return}return S==="e"?e.resolveAsk({kind:"deny",reason:"editar (n\xE3o aplicado)"}):void 0}if(u.phase==="questioning"&&u.pendingQuestion){let E=u.pendingQuestion.spec,T=E.options??[],J=E.kind!=="text"&&E.allowOther!==!1;if(b.escape){if(U&&E.kind!=="text"){L(!1),V("");return}return e.resolveQuestion({kind:"unavailable",reason:"cancelado (esc)"})}if(U){if(b.return){let Ve=I.trim();return Ve===""?void 0:e.resolveQuestion({kind:"text",text:Ve})}if(b.backspace||b.delete){V(Ve=>Ve.slice(0,-1));return}if(S&&!b.ctrl&&!b.meta){V(Ve=>Ve+S);return}return}let Fe=T.length-1;if(b.upArrow){P(Ve=>Ve===Ir?Fe:Ve<=0?J?Ir:Fe:Ve-1);return}if(b.downArrow){P(Ve=>Ve===Ir?0:Ve>=Fe?J?Ir:0:Ve+1);return}if(E.kind==="multi"&&S===" "&&R!==Ir&&R>=0){F(Ve=>{let Wo=new Set(Ve);return Wo.has(R)?Wo.delete(R):Wo.add(R),Wo});return}if(b.return){if(R===Ir){L(!0);return}if(E.kind==="multi"){let Wo=[...O].sort((hr,Mq)=>hr-Mq),gr=Wo.map(hr=>T[hr]?.label??"").filter(hr=>hr!=="");return e.resolveQuestion({kind:"choices",indices:Wo,labels:gr})}let Ve=T[R];return Ve?e.resolveQuestion({kind:"choice",index:R,label:Ve.label}):void 0}return}if(u.phase==="budget"){if(S==="n")return o();if(S==="c"){e.continueAfterBudget();return}if(S==="k"&&e.canCompact){e.compactAfterBudget();return}return}if(u.phase==="cycle-ceiling"){if(S==="n"||b.escape){e.stopCycleCeiling();return}if(S==="c"){e.continueCycleCeiling();return}return}if(u.pendingUnsafeConfirm===!0){if(S==="s"||S==="y"){e.confirmUnsafe();return}if(S==="n"||b.escape){e.cancelUnsafe();return}return}if(u.phase==="stuck")if(x){if(b.escape){w(!1);return}if(b.return&&!b.shift){let E=g.text;y({text:"",cursor:0}),w(!1),e.redirectAfterStuck(E);return}}else{if(S==="r"){w(!0);return}if(S==="c"){e.continueAfterStuck();return}if(S==="n"||b.escape){e.endAfterStuck();return}return}if(cte(u.blocks)&&(b.escape||b.ctrl&&S==="c")){e.interrupt(),Pt();return}if(u.phase==="thinking"||u.phase==="streaming"||u.phase==="retrying"){if(b.ctrl&&S==="t"){uo(null),xe(0),Bn(!0);return}if(ge){if(b.upArrow){he(T=>Math.max(0,T-1));return}if(b.downArrow){he(T=>Math.min(Yr.length-1,T+1));return}if(b.escape){Se(!1),he(0);return}if(b.tab){let T=Yr[de];if(T){let J=Oh(T);dt(J),Cn(J)}return}if(b.return&&!b.shift){let T=Yr[de];if(T&&T.kind==="subcommand"&&sE(T)){Se(!1),he(0);let J=lN(T);if(_h(T.parent,T.sub.name)){B(T.parent,T.sub.name),ve(Fe=>[...Fe,J]),dt(""),ee(-1);return}co(J),ve(Fe=>[...Fe,J]),dt(""),ee(-1);return}if(T&&T.kind==="subcommand"){let J=Oh(T);dt(J),Cn(J);return}if(Se(!1),he(0),T){if(_h(T.command,"")){B(T.command,""),dt(""),ee(-1);return}let J=`/${T.command.name}`;co(J),ve(Fe=>[...Fe,J]),dt(""),ee(-1)}return}}if(b.ctrl&&S==="c"){e.interrupt(),Pt();return}if(b.escape){let T=At.current.length>0,J=e.current.pendingInjects.length>0,Fe=se(h).trim(),Ve=Fe!=="";if(T||J||Ve){let Wo=J;if(Ve){let gr=uU(Fe);gr.kind==="redirect"&&(e.injectInput("root",gr.inject),ve(hr=>[...hr,gr.inject]),Wo=!0),dt(""),ee(-1)}if(!u.cycleActive&&At.current.length>0){let gr=[];for(let hr of At.current)te(hr)?Wo=!0:gr.push(hr);lo(gr)}if(Wo&&e.expedite(),!Ve&&!T){if(Gt.current+=1,Gt.current>=2){Gt.current=0,e.interrupt(),Pt();return}}else Gt.current=0;return}e.interrupt(),Pt();return}if(b.return&&b.ctrl||!b.return&&S===`
|
|
695
695
|
`&&!b.ctrl&&!b.meta){let T=se(h).trim();T!==""&&(e.injectInput("root",T),dt(""),ve(J=>[...J,T]),ee(-1));return}if(b.return&&b.shift){y(T=>Sa(T,`
|
|
696
696
|
`));return}if(b.return){let T=se(h).trim();T!==""&&(ze(T),ve(J=>[...J,T]),dt(""),ee(-1));return}if(b.backspace||b.delete){if(h===""&&Pe.length>0){lo(T=>T.slice(0,-1));return}y(T=>{let J=Nt(T);return Cn(J.text),J});return}if(b.leftArrow){y(T=>({...T,cursor:b.meta?Wm(T):sA(T)}));return}if(b.rightArrow){y(T=>({...T,cursor:b.meta?cy(T):iA(T)}));return}if(b.ctrl&&S==="a"){y(T=>({...T,cursor:0}));return}if(b.ctrl&&S==="e"){y(T=>({...T,cursor:T.text.length}));return}if(S&&!b.ctrl&&!b.meta){if(S.search(/[\r\n]/)!==-1){y(T=>{let J=Hm(T,S),Fe=se(J.state.text).trim();return Fe!==""&&(J.newline===`
|
|
697
697
|
`?e.injectInput("root",Fe):ze(Fe),ve(Ve=>[...Ve,Fe])),ee(-1),{text:"",cursor:0}}),Se(!1),he(0);return}y(T=>{let J=Hm(T,S).state;return Cn(J.text),J});return}return}if(u.phase==="error"){if(b.escape){e.dismissError(),Ho();return}if((S==="r"||S==="R")&&!b.ctrl&&!b.meta){e.retryLastGoal(),Ho();return}if(!(b.ctrl&&S==="c"))return}if($e.open){if(b.escape){$e.closePalette();return}if(b.upArrow){$e.move(-1);return}if(b.downArrow){$e.move(1);return}if(b.return){let E=$e.confirm();E&&_(E);return}if(b.backspace||b.delete){$e.setQuery($e.query.slice(0,-1));return}if(b.ctrl&&(S==="p"||S==="x"||S==="c")){$e.closePalette();return}S&&!b.ctrl&&!b.meta&&$e.setQuery($e.query+S);return}if(Q.open){if(Q.effortStepOpen){if(Q.effortCustomOpen){if(b.escape){Q.backFromEffort();return}if(b.return){let E=Q.confirm();E&&t.onSelectConjugated?.(E.model,E.effort);return}if(b.backspace||b.delete){Q.backspaceEffortCustom();return}S&&!b.ctrl&&!b.meta&&Q.appendEffortCustom(S);return}if(b.upArrow){Q.effortMove(-1);return}if(b.downArrow){Q.effortMove(1);return}if(b.return||b.tab){let E=Q.confirm();E&&t.onSelectConjugated?.(E.model,E.effort);return}if(b.escape){Q.backFromEffort();return}return}if(Q.customInputOpen){if(b.escape){Q.closePicker();return}if(b.upArrow){Q.browseMove(-1);return}if(b.downArrow){Q.browseMove(1);return}if(b.return){Q.confirm();return}if(b.backspace||b.delete){Q.backspaceCustom();return}if(b.ctrl&&S==="t"){Q.toggleToolsOnly();return}S&&!b.ctrl&&!b.meta&&Q.appendCustom(S);return}if(b.upArrow){Q.move(-1);return}if(b.downArrow){Q.move(1);return}if(b.return||b.tab){Q.confirm();return}if(b.escape){Q.closePicker();return}return}if(Ge.open){if(b.escape){Ge.closePicker();return}if(b.upArrow){Ge.move(-1);return}if(b.downArrow){Ge.move(1);return}if(b.return||b.tab){let E=Ge.hits[Ge.selected]!==void 0,T=Ge.confirm();T&&(E||t.onConfirmCustomLocalModel===void 0?t.onSelectTier?.("custom",T):t.onConfirmCustomLocalModel(T));return}if(b.backspace||b.delete){Ge.setQuery(Ge.query.slice(0,-1));return}S&&!b.ctrl&&!b.meta&&Ge.setQuery(Ge.query+S);return}if(nt.open){if(nt.customOpen){if(b.escape){nt.back();return}if(b.return){let E=nt.confirm();E&&t.onSelectEffort?.(E);return}if(b.backspace||b.delete){nt.backspaceCustom();return}S&&!b.ctrl&&!b.meta&&nt.appendCustom(S);return}if(b.upArrow){nt.move(-1);return}if(b.downArrow){nt.move(1);return}if(b.return||b.tab){let E=nt.confirm();E&&t.onSelectEffort?.(E);return}if(b.escape){nt.closePicker();return}return}if(xo.open){if(b.upArrow){xo.move(-1);return}if(b.downArrow){xo.move(1);return}if(b.return){xo.act();return}if(b.escape){xo.closePanel();return}return}if(pt.open){if(b.upArrow){pt.move(-1);return}if(b.downArrow){pt.move(1);return}if(b.return){pt.confirm();return}if(b.escape){pt.cancel();return}return}if(Rt.open){if(b.upArrow){Rt.move(-1);return}if(b.downArrow){Rt.move(1);return}if(b.return||b.tab){let E=Rt.confirm();E&&t.onSelectTheme?.(E);return}if(b.escape){Rt.closePicker();return}return}if(fo.open){if(b.upArrow){fo.move(-1);return}if(b.downArrow){fo.move(1);return}if(b.return||b.tab){let E=fo.confirm();E&&t.onSelectLang?.(E);return}if(b.escape){fo.closePicker();return}return}if(Ae.open){if(Ae.credentialStep!==null){if(b.escape){Ae.cancelCredential();return}if(b.return){let E=Ae.confirmCredential();E&&Ci(t.onSelectProvider?.(E),E);return}if(b.backspace||b.delete){Ae.backspaceCredential();return}S&&!b.ctrl&&!b.meta&&Ae.typeCredential(S);return}if(Ae.addCustomStep!==null){if(b.escape){Ae.cancelAddCustom();return}if(b.return){let E=Ae.confirmAddCustom();E&&t.onAddCustomProvider?.(E);return}if(b.backspace||b.delete){Ae.backspaceAddCustom();return}S&&!b.ctrl&&!b.meta&&Ae.typeAddCustom(S);return}if(b.upArrow){Ae.move(-1);return}if(b.downArrow){Ae.move(1);return}if(b.return||b.tab){let E=Ae.confirm();if(E===Hy){Ae.startAddCustom();return}E&&Ci(t.onSelectProvider?.(E),E);return}if(b.escape){Ae.closePicker();return}return}if(po.open){if(b.upArrow){po.move(-1);return}if(b.downArrow){po.move(1);return}if(b.return||b.tab){let E=po.confirm();E&&(Ho(),t.onResumeSession?.(E));return}if(b.escape){po.closePicker();return}return}if(ct.open){if(b.upArrow){ct.move(-1);return}if(b.downArrow){ct.move(1);return}if(b.return){let E=ct.confirm();E&&t.onRewind?.(E);return}if(b.escape){ct.back();return}return}if(ge){if(b.upArrow){he(E=>Math.max(0,E-1));return}if(b.downArrow){he(E=>Math.min(Yr.length-1,E+1));return}if(b.return||b.tab){let E=Yr[de];if(E===void 0){if(b.return){let T=h.trim().split(/\s+/)[0]??"";dt(""),Se(!1),he(0),e.replaceNote("comando",[`comando desconhecido: ${T||"/"} \u2014 veja /help para a lista.`])}return}if(E){let T=E.kind==="command"&&E.command.subcommands!==void 0&&E.command.subcommands.length>0;if(E.kind==="subcommand"&&sE(E)&&b.return){dt(""),Se(!1),he(0),B(E.parent,E.sub.name);return}if(E.kind==="subcommand"||T&&b.tab){let J=Oh(E);dt(J),Cn(J);return}dt(""),Se(!1),he(0),B(E.command,"")}return}if(b.escape){Se(!1),he(0);return}}if(we.open){if(b.upArrow){we.move(-1);return}if(b.downArrow){we.move(1);return}if(b.return||b.tab){we.confirm(),dt(tE(h));return}if(b.escape){we.closePicker();return}}if(b.ctrl&&S==="c"){let E=Date.now(),T=Vt.current!==void 0&&E-Vt.current<=aA,J=we.attachments.length>0,Fe=J&&h.trim()===""?"clear":t1(h,T);if(Fe==="clear"){dt(""),J&&we.clear(),Se(!1),he(0),z();return}if(Fe==="exit"){z(),o();return}Vt.current=E,En(!0),mo.current!==void 0&&clearTimeout(mo.current),mo.current=setTimeout(z,aA);return}if(Vr&&z(),b.escape){if(t.rewindSource!==void 0&&t.onRewind!==void 0&&h===""){if(Mo.current){Mo.current=!1,Zt.current!==void 0&&clearTimeout(Zt.current),ct.openPicker();return}Mo.current=!0,Zt.current!==void 0&&clearTimeout(Zt.current),Zt.current=setTimeout(()=>{Mo.current=!1},600);return}Mo.current=!1}else Mo.current&&(Mo.current=!1,Zt.current!==void 0&&clearTimeout(Zt.current));if(b.ctrl&&(S==="p"||S==="x")&&!ge&&!we.open){$e.openPalette();return}if(b.tab&&!ge&&Oe.current.text===""&&Wt.current!==void 0){dt(Wt.current),De(void 0);return}if(b.tab&&!ge){e.cycleMode();return}if(!ge&&b.upArrow&&ne.length>0){let E=me<0?ne.length-1:Math.max(0,me-1);ee(E),dt(ne[E]??"");return}if(!ge&&b.downArrow&&me>=0){let E=me+1;E>=ne.length?(ee(-1),dt("")):(ee(E),dt(ne[E]??""));return}if(b.leftArrow){y(E=>({...E,cursor:b.meta?Wm(E):sA(E)}));return}if(b.rightArrow){y(E=>({...E,cursor:b.meta?cy(E):iA(E)}));return}if(b.meta&&(S==="b"||S==="f")){y(E=>({...E,cursor:S==="b"?Wm(E):cy(E)}));return}if(b.ctrl&&S==="a"){y(E=>({...E,cursor:0}));return}if(b.ctrl&&S==="e"){y(E=>({...E,cursor:E.text.length}));return}if(b.ctrl&&(S==="u"||S==="k"||S==="w")){y(E=>{let T=S==="u"?J$(E):S==="k"?Q$(E):Z$(E);return Cn(T.text),T}),ee(-1);return}if(b.return&&b.shift){y(E=>Sa(E,`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hiperplano/aluy-cli",
|
|
3
|
-
"version": "1.0.0-rc.
|
|
3
|
+
"version": "1.0.0-rc.169",
|
|
4
4
|
"description": "Aluy CLI — TUI (Ink) + binário `aluy` + wiring. Consome @hiperplano/aluy-cli-core (engine portável). Credenciais só no keychain do SO.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE",
|