import{Ci as i,Eh as d,Fh as Yq,JD as n,KD as Fq,SN as Tq,cm as T,dm as Nq,gm as l,hm as Iq,xi as a}from"./cli-0.5.12-zc0qwdy2.mjs";import"./cli-0.5.12-whfz3xsx.mjs";import"./cli-0.5.12-z100r543.mjs";import"./cli-0.5.12-bzab36pn.mjs";import"./cli-0.5.12-pp1549k7.mjs";import"./cli-0.5.12-9mq24qzr.mjs";import"./cli-0.5.12-7repzgzv.mjs";import"./cli-0.5.12-pdqnfqg3.mjs";import"./cli-0.5.12-c2yq69h9.mjs";import"./cli-0.5.12-kez9r81a.mjs";import"./cli-0.5.12-zbcr8cbk.mjs";import"./cli-0.5.12-2wf629mh.mjs";import"./cli-0.5.12-ghtxkxqx.mjs";import"./cli-0.5.12-xg7a0dy4.mjs";import"./cli-0.5.12-s0h788we.mjs";import"./cli-0.5.12-m22yxpb9.mjs";import"./cli-0.5.12-cw1qs4bg.mjs";import"./cli-0.5.12-yq8ds97a.mjs";import"./cli-0.5.12-qew4mzgp.mjs";import"./cli-0.5.12-gwg1e43k.mjs";import"./cli-0.5.12-36swspqa.mjs";import"./cli-0.5.12-4dn79vqp.mjs";import{EV as s,FV as vq}from"./cli-0.5.12-f5pfjvdk.mjs";import{UV as $,YX as Mq,ZV as zq,_V as Hq,rX as c,tX as u}from"./cli-0.5.12-fqp5s15p.mjs";import"./cli-0.5.12-rc1p9wk6.mjs";import"./cli-0.5.12-x479axrj.mjs";import"./cli-0.5.12-ysy6e9rz.mjs";import"./cli-0.5.12-cqv7z22w.mjs";import"./cli-0.5.12-7cn41yy7.mjs";import"./cli-0.5.12-34cd39ve.mjs";import"./cli-0.5.12-m2gh4ewc.mjs";import{BZ as I,CZ as h,DZ as k}from"./cli-0.5.12-c6whkxmz.mjs";import{EZ as Gq}from"./cli-0.5.12-w3hy6c60.mjs";import"./cli-0.5.12-5d3qcvf5.mjs";import"./cli-0.5.12-f141d2qa.mjs";import"./cli-0.5.12-khvy67r3.mjs";import"./cli-0.5.12-pycnjaeg.mjs";import"./cli-0.5.12-8v5w8znc.mjs";import"./cli-0.5.12-ctqkj6ve.mjs";import"./cli-0.5.12-cbevkwg4.mjs";import"./cli-0.5.12-w00qj83e.mjs";import"./cli-0.5.12-nbcjwzzn.mjs";import"./cli-0.5.12-3t06hwwh.mjs";import"./cli-0.5.12-057c2cp2.mjs";import"./cli-0.5.12-ecgx5n54.mjs";import{Jaa as r,Maa as _,e$ as b,eba as Xq,k$ as Uq}from"./cli-0.5.12-g4wb8mj2.mjs";import{Oca as f,Pca as Zq}from"./cli-0.5.12-vp5smcs1.mjs";import"./cli-0.5.12-y2kq7fe8.mjs";import"./cli-0.5.12-7vxpqr5a.mjs";import"./cli-0.5.12-hvtcdcev.mjs";import"./cli-0.5.12-asbn3d19.mjs";import"./cli-0.5.12-k1crwtdc.mjs";import{dfa as P,ffa as Vq}from"./cli-0.5.12-2jxq8gnm.mjs";import"./cli-0.5.12-p5ps8gf0.mjs";import"./cli-0.5.12-hp0508v9.mjs";import"./cli-0.5.12-tfdwzg37.mjs";import"./cli-0.5.12-60w1a0bs.mjs";import"./cli-0.5.12-c8f4daey.mjs";import"./cli-0.5.12-0qasc0ef.mjs";import"./cli-0.5.12-f8850v2j.mjs";import"./cli-0.5.12-495d826j.mjs";import"./cli-0.5.12-rt0k97yj.mjs";import"./cli-0.5.12-1vyz0tt9.mjs";import{Yna as g,aoa as Qq}from"./cli-0.5.12-xzeb7mtb.mjs";import{mkdir as Kq,writeFile as Rq}from"fs/promises";import{tmpdir as Oq}from"os";import{join as t}from"path";function Pq(Q){let q=d.lexer(a(Q)),V=[];for(let J of q)if(J.type==="code"){let Z=J;V.push({code:Z.text,lang:Z.lang})}return V}function wq(Q){let q=[];for(let V=Q.length-1;V>=0&&q.length<Wq;V--){let J=Q[V];if(J?.type!=="assistant"||J.isApiErrorMessage)continue;let Z=J.message.content;if(!Array.isArray(Z))continue;let U=i(Z,`

`);if(U)q.push(U)}return q}function yq(Q){if(Q){let q=Q.replace(/[^a-zA-Z0-9]/g,"");if(q&&q!=="plaintext")return`.${q}`}return".txt"}async function Jq(Q,q){let V=t(x,q);return await Kq(x,{recursive:!0}),await Rq(V,Q,"utf-8"),V}async function m(Q,q){let V=await $(Q);if(V)process.stdout.write(V);let J=b(Q,`
`)+1,Z=Q.length;try{let U=await Jq(Q,q);return`Copied to clipboard (${Z} characters, ${J} lines)
Also written to ${U}`}catch{return`Copied to clipboard (${Z} characters, ${J} lines)`}}function Aq(Q,q){let V=Q.split(`
`)[0]??"";if(f(V)<=q)return V;let J="",Z=0,U=q-1;for(let H of V){let G=f(H);if(Z+G>U)break;J+=H,Z+=G}return J+"…"}function pq(Q){let q=o.c(33),{fullText:V,codeBlocks:J,messageAge:Z,onDone:U}=Q,H=e.useRef("full"),G=`${V.length} chars, ${b(V,`
`)+1} lines`,M;if(q[0]!==G)M={label:"Full response",value:"full",description:G},q[0]=G,q[1]=M;else M=q[1];let z;if(q[2]!==J||q[3]!==M){let Y;if(q[5]===Symbol.for("react.memo_cache_sentinel"))Y={label:"Always copy full response",value:"always",description:"Skip this picker in the future (revert via /config)"},q[5]=Y;else Y=q[5];z=[M,...J.map(Lq),Y],q[2]=J,q[3]=M,q[4]=z}else z=q[4];let B=z,w;if(q[6]!==J||q[7]!==V)w=function(N){if(N==="full"||N==="always")return{text:V,filename:qq};let X=J[N];return{text:X.code,filename:`copy${yq(X.lang)}`,blockIndex:N}},q[6]=J,q[7]=V,q[8]=w;else w=q[8];let v=w,y;if(q[9]!==J.length||q[10]!==v||q[11]!==Z||q[12]!==U)y=async function(N){let X=v(N);if(N==="always"){if(!_().copyFullResponse)r(Eq);P("tengu_copy",{block_count:J.length,always:!0,message_age:Z});let W=await m(X.text,X.filename);U(`${W}
Preference saved. Use /config to change copyFullResponse`);return}P("tengu_copy",{selected_block:X.blockIndex,block_count:J.length,message_age:Z});let O=await m(X.text,X.filename);U(O)},q[9]=J.length,q[10]=v,q[11]=Z,q[12]=U,q[13]=y;else y=q[13];let S=y,A;if(q[14]!==J.length||q[15]!==v||q[16]!==Z||q[17]!==U){let Y=async function(X){let O=v(X);P("tengu_copy",{selected_block:O.blockIndex,block_count:J.length,message_age:Z,write_shortcut:!0});try{let W=await Jq(O.text,O.filename);U(`Written to ${W}`)}catch(W){let D=W;U(`Failed to write file: ${D instanceof Error?D.message:D}`)}};A=function(X){if(X.key==="w")X.preventDefault(),Y(H.current)},q[14]=J.length,q[15]=v,q[16]=Z,q[17]=U,q[18]=A}else A=q[18];let C=A,p;if(q[19]===Symbol.for("react.memo_cache_sentinel"))p=I(u,{dimColor:!0,children:"Select content to copy:"}),q[19]=p;else p=q[19];let E;if(q[20]===Symbol.for("react.memo_cache_sentinel"))E=(Y)=>{H.current=Y},q[20]=E;else E=q[20];let F;if(q[21]!==S)F=(Y)=>{S(Y)},q[21]=S,q[22]=F;else F=q[22];let K;if(q[23]!==U)K=()=>{U("Copy cancelled",{display:"system"})},q[23]=U,q[24]=K;else K=q[24];let R;if(q[25]!==B||q[26]!==K||q[27]!==F)R=I(n,{options:B,hideIndexes:!1,onFocus:E,onChange:F,onCancel:K}),q[25]=B,q[26]=K,q[27]=F,q[28]=R;else R=q[28];let L;if(q[29]===Symbol.for("react.memo_cache_sentinel"))L=I(u,{dimColor:!0,children:h(l,{children:[I(T,{shortcut:"enter",action:"copy"}),I(T,{shortcut:"w",action:"write to file"}),I(T,{shortcut:"esc",action:"cancel"})]})}),q[29]=L;else L=q[29];let j;if(q[30]!==C||q[31]!==R)j=I(s,{children:h(c,{flexDirection:"column",gap:1,tabIndex:0,autoFocus:!0,onKeyDown:C,children:[p,R,L]})}),q[30]=C,q[31]=R,q[32]=j;else j=q[32];return j}function Eq(Q){return{...Q,copyFullResponse:!0}}function Lq(Q,q){let V=b(Q.code,`
`)+1;return{label:Aq(Q.code,60),value:q,description:[Q.lang,V>1?`${V} lines`:void 0].filter(Boolean).join(", ")||void 0}}var o,e,x,qq="response.md",Wq=20,aq=async(Q,q,V)=>{let J=wq(q.messages);if(J.length===0)return Q("No assistant message to copy"),null;let Z=0,U=V?.trim();if(U){let z=Number(U);if(!Number.isInteger(z)||z<1)return Q(`Usage: /copy [N] where N is 1 (latest), 2, 3, … Got: ${U}`),null;if(z>J.length)return Q(`Only ${J.length} assistant ${J.length===1?"message":"messages"} available to copy`),null;Z=z-1}let H=J[Z],G=Pq(H),M=_();if(G.length===0||M.copyFullResponse){P("tengu_copy",{always:M.copyFullResponse,block_count:G.length,message_age:Z});let z=await m(H,qq);return Q(z),null}return I(pq,{fullText:H,codeBlocks:G,messageAge:Z,onDone:Q})};var jq=Qq(()=>{Yq();Fq();Iq();Nq();vq();Zq();zq();Mq();Vq();Xq();Tq();Uq();k();o=g(Hq(),1),e=g(Gq(),1),x=t(Oq(),"claude")});jq();export{yq as fileExtension,wq as collectRecentAssistantTexts,aq as call};
