@av-pi-studio/web-client 0.0.114 → 0.0.116
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/web/assets/{BinaryFallbackViewer-Bkpz8WV_.js → BinaryFallbackViewer-CgqvcH7r.js} +1 -1
- package/dist/web/assets/ChatPanel-DrY_su6H.js +11 -0
- package/dist/web/assets/ChatPanel-eXvPOkx2.css +1 -0
- package/dist/web/assets/{CodeView-BGmM4Xdz.js → CodeView-CLqXf_zq.js} +1 -1
- package/dist/web/assets/{FilePanel-_4YNsvO0.js → FilePanel-D70tIhDP.js} +1 -1
- package/dist/web/assets/{HtmlViewer-DFstCiC5.js → HtmlViewer-DSjhzjwY.js} +1 -1
- package/dist/web/assets/{ImageViewer-BQxrdTlE.js → ImageViewer-5Up9iJJ7.js} +1 -1
- package/dist/web/assets/{MarkdownFileViewer-BGovxRT6.js → MarkdownFileViewer-BtXDNRcG.js} +1 -1
- package/dist/web/assets/{ModelProvidersPanel-DfQW9oP8.js → ModelProvidersPanel-CEj669D0.js} +1 -1
- package/dist/web/assets/{MoleculeViewerPanel-u97-c07_.js → MoleculeViewerPanel-BiSKuUKH.js} +1 -1
- package/dist/web/assets/{PdfViewer-BXC1UMNj.js → PdfViewer-FoRGVMMP.js} +1 -1
- package/dist/web/assets/{SettingsDialog-CINzuD1W.js → SettingsDialog-BduWeTtA.js} +5 -5
- package/dist/web/assets/{SkillsPanel-Mfgze4oy.js → SkillsPanel-DFN65SoZ.js} +1 -1
- package/dist/web/assets/{TerminalPanel-CyyoVOMa.js → TerminalPanel-DN6tM7eR.js} +1 -1
- package/dist/web/assets/{TextViewer-C6Lp03uL.js → TextViewer-Cu-49yJ_.js} +1 -1
- package/dist/web/assets/{VideoViewer-hV_glBDT.js → VideoViewer-CD56-Rpo.js} +1 -1
- package/dist/web/assets/{ViewersPanel-ZyLSqRdr.js → ViewersPanel-CAoHz8Or.js} +1 -1
- package/dist/web/assets/{href-resolution-DWAlGpSI.js → href-resolution-CSqTI9Vm.js} +1 -1
- package/dist/web/assets/index-CchwjcLZ.js +19 -0
- package/dist/web/assets/{markdown-ZgA079Q9.js → markdown-2gm-29tf.js} +1 -1
- package/dist/web/assets/{use-file-download-Bc8Kby2g.js → use-file-download-8zPww5m-.js} +1 -1
- package/dist/web/assets/{use-file-watch-hu9dEdvA.js → use-file-watch-CYQrRagj.js} +1 -1
- package/dist/web/assets/{use-provider-auth-list-BDqjbQx-.js → use-provider-auth-list-CPbr4xbh.js} +1 -1
- package/dist/web/assets/{vendor-icons-Dq3K7TC5.js → vendor-icons-Bh5CT32q.js} +1 -1
- package/dist/web/index.html +2 -2
- package/package.json +3 -3
- package/dist/web/assets/ChatPanel-DtQ_LR4Y.css +0 -1
- package/dist/web/assets/ChatPanel-kbXAj_zX.js +0 -9
- package/dist/web/assets/index-DjUHduQf.js +0 -19
package/dist/web/assets/{BinaryFallbackViewer-Bkpz8WV_.js → BinaryFallbackViewer-CgqvcH7r.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as l,j as e}from"./vendor-react-DQUAl2K8.js";import{S as d,B as a}from"./index-
|
|
1
|
+
import{r as l,j as e}from"./vendor-react-DQUAl2K8.js";import{S as d,B as a}from"./index-CchwjcLZ.js";import{u as m}from"./use-file-download-8zPww5m-.js";import{F as c}from"./vendor-icons-Bh5CT32q.js";import"./vendor-query-i7fr__Xm.js";import"./vendor-DaF96HbP.js";import"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";const p="_wrap_inn1j_1",j="_name_inn1j_12",n={wrap:p,name:j};function z({path:s,workspaceCwd:f}){const[i,t]=l.useState(!1),r=m(s,i),o=s.split("/").pop()||s;return e.jsxs("div",{className:n.wrap,children:[e.jsx(c,{size:32}),e.jsx("div",{className:n.name,children:o}),e.jsx("div",{children:"No preview available for this file type."}),r.isError&&e.jsxs("div",{children:["Error: ",r.error instanceof Error?r.error.message:"download failed"]}),i&&r.isLoading?e.jsx(d,{size:"sm"}):r.data?e.jsx("a",{href:r.data.objectUrl,download:r.data.fileName||o,children:e.jsx(a,{size:"sm",children:"Save file"})}):e.jsx(a,{size:"sm",onClick:()=>t(!0),children:"Download"})]})}export{z as BinaryFallbackViewer};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import{r as h,j as t}from"./vendor-react-DQUAl2K8.js";import{a as cn,b as ln,m as dn,u as Le}from"./vendor-query-i7fr__Xm.js";import{Q as Be,R as M,U as un,u as J,W as mn,I as O,X as fn,Y as pn,B as z,q as hn,Z as _t,S as ne,J as _n,D as gn,s as xn,_ as gt,p as xt,n as kt,$ as kn,a0 as vn,a1 as jn,o as vt,a2 as yn,E as bn,a3 as ve,r as Oe,a4 as Ie,a5 as Nn,a6 as fe,h as Sn,a7 as Cn,a8 as ke,a9 as wn,aa as Dn,ab as Tn,ac as rt,ad as En,K as Bn,ae as Rn,af as An,ag as it,ah as Ln,P as ct}from"./index-CchwjcLZ.js";import{L as On,G as In,S as Pn,e as qn,P as zn,f as Fn,g as jt,h as ye,c as pe,B as Mn,i as yt,C as he,A as $n,j as Kn,k as Hn,U as Wn,l as bt,m as Un,n as Gn,o as Vn,p as Xn,q as lt,r as Yn,N as Jn,s as Qn,t as Zn}from"./vendor-icons-Bh5CT32q.js";import{u as es}from"./use-provider-auth-list-CPbr4xbh.js";import{N as w}from"./vendor-DaF96HbP.js";import{S as Nt,M as Pe,r as ts}from"./markdown-2gm-29tf.js";import{D as ns,p as ss}from"./DiffView-D1TsZBGe.js";import{R as qe,T as ze,I as St}from"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";import"./vendor-highlight-Ddi_n-Jh.js";import"./vendor-markdown-DJUOT8ep.js";import"./href-resolution-CSqTI9Vm.js";function Ct(e,n){if(n.trim()==="")return e;const s=n.toLowerCase();return e.filter(o=>o.label.toLowerCase().includes(s)||o.description!==void 0&&o.description.toLowerCase().includes(s))}const os={shell:jt,read:Fn,edit:zn,write:qn,search:Pn,fetch:In,task:On};function as(e){return os[e.kind]??jt}function wt(e){switch(e.kind){case"read":case"write":case"edit":return e.path??null;default:return null}}function rs(e){return e.kind==="write"||e.kind==="edit"||e.kind==="shell"}function is(e){const n=[];if(e.kind==="edit"&&e.diff)n.push({kind:"diff",patch:e.diff});else{const s=Be(e);s&&n.push({kind:"code",text:s})}return e.output&&n.push({kind:"code",text:e.output}),n}const dt={shell:{label:"SHELL",token:"statusInfo"},read:{label:"READ",token:"statusInfo"},write:{label:"WRITE",token:"statusSuccess"},edit:{label:"EDIT",token:"statusWarning"},search:{label:"SEARCH",token:"statusInfo"},fetch:{label:"FETCH",token:"statusInfo"},task:{label:"TASK",token:"foregroundMuted"}};function cs(e){return dt[e.kind]??dt.task}function ls(e){if(!e)return{added:0,removed:0};let n=0,s=0;for(const o of e.split(`
|
|
2
|
+
`))o.startsWith("+++")||o.startsWith("---")||(o.startsWith("+")?n++:o.startsWith("-")&&s++);return{added:n,removed:s}}function ds(e){return e?(e.endsWith(`
|
|
3
|
+
`)?e.slice(0,-1):e).split(`
|
|
4
|
+
`).length:0}const us=500;let we;function ms(e,n,s,o){clearTimeout(we),we=setTimeout(()=>{we=void 0,e.invalidateQueries({queryKey:["file"]}),e.invalidateQueries({queryKey:["explorer"]}),n&&s&&n.connection.request("checkout_refresh_request",{cwd:s}).catch(()=>{})},us)}function fs({sessionId:e,event:n,timestamp:s,client:o,queryClient:a}){const i=M.getState();switch(i.applyStreamEvent(e,n,s),n.kind){case"turn_started":i.setStatus(e,"running");break;case"turn_completed":i.setStatus(e,"idle");break;case"turn_failed":i.setStatus(e,"error");break;case"turn_canceled":i.setStatus(e,"idle");break;case"compaction":n.phase==="completed"&&n.estimatedTokensAfter!==void 0&&un(e,n.estimatedTokensAfter);break;case"tool_call":{if(n.status==="completed"&&rs(n.tool)){const c=i.sessions[e],l=(c==null?void 0:c.cwd)||null;ms(a,o,l,wt(n.tool))}break}}}function ps(e){const n=J(a=>a.client),s=M(a=>{var i;return((i=a.sessions[e])==null?void 0:i.agentId)??null}),o=cn();h.useEffect(()=>!n||!s?void 0:n.agent(s).timeline.subscribe((i,c)=>{const l=typeof c.timestamp=="number"?new Date(c.timestamp).toISOString():c.timestamp;fs({sessionId:e,event:i,timestamp:l,client:n,queryClient:o})}),[n,s,e,o])}const Dt=64;function De(e){return e.clientHeight>0}function hs(e,n,s,o=Dt){switch(n.kind){case"scroll":return De(s)?s.scrollHeight-s.scrollTop-s.clientHeight<=o?{pinned:!0,stick:!1}:{pinned:n.gesture?!1:e,stick:!1}:{pinned:e,stick:!1};case"tail":return{pinned:e,stick:e&&De(s)};case"shown":return{pinned:e,stick:e};case"pin":return{pinned:!0,stick:De(s)}}}function _s(e){const n=e[e.length-1];return(n==null?void 0:n.kind)==="user"?n.id:null}const gs="_shellRow_1kabp_2",xs="_rail_1kabp_10",ks="_disc_1kabp_18",vs="_connector_1kabp_28",js="_content_1kabp_2",ys="_metaLine_1kabp_40",bs="_metaTime_1kabp_52",Ns="_forkButton_1kabp_66",U={shellRow:gs,rail:xs,disc:ks,connector:vs,content:js,metaLine:ys,metaTime:bs,forkButton:Ns};function X({disc:e,discClassName:n,connector:s,meta:o,metaTrailing:a,className:i,children:c}){return t.jsxs("div",{className:U.shellRow,children:[t.jsxs("div",{className:U.rail,children:[t.jsx("span",{className:w(U.disc,n),children:e}),s&&t.jsx("span",{className:U.connector})]}),t.jsxs("div",{className:w(U.content,i),children:[o&&t.jsxs("div",{className:U.metaLine,children:[o,a]}),c]})]})}function ut(e){return typeof e=="number"?e:Date.parse(e)}function Ss(e,n){const s=ut(e.entry.createdAt),o=ut(n.entry.createdAt);return s!==o?s-o:e.entry.requestId<n.entry.requestId?-1:e.entry.requestId>n.entry.requestId?1:0}function Cs(e,n){return[...e.map(o=>({kind:"pending",entry:o})),...n.map(o=>({kind:"resolved",entry:o}))].toSorted(Ss)}function ws(e){return e.entry.requestId}function Tt(e){return e.receivedAt===void 0}const Ds=4;function Ts(e,n){let s=0;const o=e.map(l=>l.kind!=="pending"?{item:l,collapsed:!1}:(s++,{item:l,collapsed:!n&&s>Ds})),a=o.filter(l=>l.collapsed).length,i=o.findIndex(l=>l.collapsed),c=[];return o.forEach((l,m)=>{m===i&&c.push({kind:"more",count:a}),c.push({kind:"card",item:l.item,collapsed:l.collapsed})}),c}function Es(e,n){if(e.timeoutMs===void 0)return{show:!1,fraction:0,approximate:!1};const s=mn(e,n)??0;return{show:!0,fraction:Math.max(0,Math.min(1,s/e.timeoutMs)),approximate:e.receivedAt===void 0}}function Et(e){return e==="editor"}const Bs="Esc again to dismiss — the extension gets an empty answer";function Rs(e,n){return n?{kind:"warning",text:Bs}:{kind:"keys",segments:[{key:Et(e)?"⇧↵":"↵",label:"submit"},{key:"Esc",label:"dismiss"}]}}function As(e){return e?{armed:!1,resolve:!0}:{armed:!0,resolve:!1}}const Ls=5,Os=40,Is=6;function Ps(e){return{mode:e.length>=Ls||e.some(s=>s.length>Os)?"stack":"row",scrolls:e.length>Is}}function Re(e){const n=e.split(`
|
|
5
|
+
`),s=[];let o=!1;for(const a of n)if(a===""){if(o)continue;o=!0,s.push("")}else o=!1,s.push(a);return s}function qs(e,n){return{title:Re(e),...n!==void 0?{message:Re(n)}:{}}}const zs="_askDisc_ffqf1_5",Fs="_card_ffqf1_9",Ms="_cardInert_ffqf1_41",$s="_askDiscInert_ffqf1_47",Ks="_reconnectingNote_ffqf1_52",Hs="_reconnectingDot_ffqf1_61",Ws="_deadlineBar_ffqf1_71",Us="_deadlineApproximate_ffqf1_80",Gs="_header_ffqf1_85",Vs="_askBadge_ffqf1_16",Xs="_methodName_ffqf1_101",Ys="_title_ffqf1_107",Js="_titleEmphasised_ffqf1_115",Qs="_message_ffqf1_119",Zs="_emptyOptionsNote_ffqf1_127",eo="_controls_ffqf1_133",to="_controlsStack_ffqf1_141",no="_controlsScroll_ffqf1_148",so="_optionButton_ffqf1_153",oo="_field_ffqf1_161",ao="_editorField_ffqf1_168",ro="_rawPayload_ffqf1_176",io="_resolvedCard_ffqf1_190",co="_askBadgeNeutral_ffqf1_204",lo="_resolvedMethodName_ffqf1_209",uo="_outcome_ffqf1_218",mo="_outcomeSuccess_ffqf1_229",fo="_outcomeText_ffqf1_233",po="_hint_ffqf1_255",ho="_hintKey_ffqf1_270",_o="_hintSep_ffqf1_278",go="_recoveredChip_ffqf1_285",xo="_collapsedPendingCard_ffqf1_297",ko="_moreRow_ffqf1_303",g={askDisc:zs,card:Fs,cardInert:Ms,askDiscInert:$s,reconnectingNote:Ks,reconnectingDot:Hs,deadlineBar:Ws,deadlineApproximate:Us,header:Gs,askBadge:Vs,methodName:Xs,title:Ys,titleEmphasised:Js,message:Qs,emptyOptionsNote:Zs,controls:eo,controlsStack:to,controlsScroll:no,optionButton:so,field:oo,editorField:ao,rawPayload:ro,resolvedCard:io,askBadgeNeutral:co,resolvedMethodName:lo,outcome:uo,outcomeSuccess:mo,outcomeText:fo,hint:po,hintKey:ho,hintSep:_o,recoveredChip:go,collapsedPendingCard:xo,moreRow:ko},vo=250,jo=320;function se(e,n){const s=e[n];return typeof s=="string"?s:void 0}function yo(e,n){const s=e[n];return Array.isArray(s)?s.filter(o=>typeof o=="string"):[]}function bo({item:e,connector:n,collapsed:s=!1,autoFocus:o=!1,sessionTitle:a}){return e.kind==="resolved"?t.jsx(Co,{entry:e.entry,connector:n}):s?t.jsx(No,{entry:e.entry,connector:n}):t.jsx(Do,{entry:e.entry,connector:n,autoFocus:o,sessionTitle:a})}function Bt(){return t.jsx("span",{className:g.recoveredChip,children:"still waiting"})}function No({entry:e,connector:n}){return t.jsx(X,{disc:t.jsx(O,{icon:ye,size:"xs",color:"var(--pi-color-statusWarning)"}),discClassName:g.askDisc,connector:n,children:t.jsxs("div",{className:w(g.resolvedCard,g.collapsedPendingCard),children:[t.jsx("span",{className:g.askBadge,children:"ASK"}),t.jsx("span",{className:g.resolvedMethodName,children:e.method}),Tt(e)&&t.jsx(Bt,{})]})})}function So({count:e,connector:n,onExpand:s}){return t.jsx(X,{disc:t.jsx(O,{icon:ye,size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:g.askDiscInert,connector:n,children:t.jsxs("button",{type:"button",className:g.moreRow,onClick:s,children:[e," more waiting"]})})}function Co({entry:e,connector:n}){const s=fn(e);return t.jsx(X,{disc:t.jsx(O,{icon:ye,size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:g.askDiscInert,connector:n,children:t.jsxs("div",{className:g.resolvedCard,children:[t.jsx("span",{className:w(g.askBadge,g.askBadgeNeutral),children:"ASK"}),t.jsx("span",{className:g.resolvedMethodName,children:e.method}),t.jsxs("span",{className:w(g.outcome,s.tone==="success"&&g.outcomeSuccess),children:[s.glyph==="check"&&t.jsx(pe,{size:11,"aria-hidden":!0}),t.jsx("span",{className:w(s.truncate&&g.outcomeText),children:s.text})]})]})})}function Q(e,n){return e.answerable?e.submitting?n?{loading:!0,style:{opacity:1}}:{disabled:!0}:{}:{disabled:!0,style:{opacity:1}}}function wo({hint:e}){return e.kind==="warning"?t.jsx("p",{className:g.hint,children:e.text}):t.jsx("p",{className:g.hint,children:e.segments.map((n,s)=>t.jsxs(h.Fragment,{children:[s>0&&t.jsx("span",{className:g.hintSep,children:"·"}),t.jsx("span",{className:g.hintKey,children:n.key}),n.label]},n.label))})}function Do({entry:e,connector:n,autoFocus:s=!1,sessionTitle:o}){const[a,i]=h.useState(()=>Date.now()),c=Es(e,a),[l,m]=h.useState(!1),u=h.useRef(null),f=h.useRef(null),d=h.useRef(null);h.useEffect(()=>{if(!c.show)return;const b=setInterval(()=>i(Date.now()),vo);return()=>clearInterval(b)},[e.requestId,e.timeoutMs,c.show]),h.useEffect(()=>{var B,A;if(!s||!e.answerable)return;const b=document.activeElement;(b instanceof HTMLTextAreaElement||b instanceof HTMLInputElement)&&b.value.length>0&&!((B=u.current)!=null&&B.contains(b))||(A=f.current)==null||A.focus()},[s,e.answerable]);function x(b){var N,B;e.answerable&&(b.target.closest("button, input, textarea, a, select")||(N=u.current)!=null&&N.contains(document.activeElement)||(B=u.current)==null||B.focus())}function D(b){pn(e.requestId,b)}function q(b){var B;if(b.key!=="Escape"||!e.answerable)return;b.preventDefault(),b.stopPropagation();const N=As(l);if(m(N.armed),!N.resolve){(B=d.current)==null||B.focus();return}d.current?d.current.click():D({cancelled:!0})}function G(b){b.currentTarget.contains(b.relatedTarget)||m(!1)}return t.jsxs(X,{disc:t.jsx(O,{icon:ye,size:"xs",color:e.answerable?"var(--pi-color-statusWarning)":"var(--pi-color-foregroundMuted)"}),discClassName:e.answerable?g.askDisc:g.askDiscInert,connector:n,children:[t.jsxs("div",{ref:u,className:w(g.card,!e.answerable&&g.cardInert),role:"group","aria-label":`Question in ${o}`,tabIndex:-1,onKeyDown:q,onMouseDown:x,onBlur:G,children:[c.show&&t.jsx("div",{className:w(g.deadlineBar,c.approximate&&g.deadlineApproximate),style:{width:`${c.fraction*100}%`}}),t.jsxs("div",{className:g.header,children:[t.jsx("span",{className:w(g.askBadge,!e.answerable&&g.askBadgeNeutral),"aria-hidden":"true",children:"ASK"}),t.jsx("span",{className:g.methodName,children:e.method}),Tt(e)&&t.jsx(Bt,{})]}),t.jsx(To,{entry:e,onSubmit:D,primaryRef:f,dismissRef:d})]}),t.jsx(wo,{hint:Rs(e.method,l)}),!e.answerable&&t.jsxs("p",{className:g.reconnectingNote,children:[t.jsx("span",{className:g.reconnectingDot}),"Reconnecting — you can answer again in a moment"]})]})}function To({entry:e,onSubmit:n,primaryRef:s,dismissRef:o}){const{method:a,payload:i}=e;return a==="select"?t.jsx(Eo,{entry:e,payload:i,onSubmit:n,primaryRef:s,dismissRef:o}):a==="confirm"?t.jsx(Bo,{entry:e,payload:i,onSubmit:n,primaryRef:s,dismissRef:o}):a==="input"?t.jsx(Ro,{entry:e,payload:i,onSubmit:n,primaryRef:s}):a==="editor"?t.jsx(Ao,{entry:e,payload:i,onSubmit:n,primaryRef:s,dismissRef:o}):t.jsx(Lo,{entry:e,method:a,payload:i,onSubmit:n,primaryRef:s,dismissRef:o})}function je({text:e}){return t.jsx("div",{className:g.title,children:Re(e).join(`
|
|
6
|
+
`)})}function Eo({entry:e,payload:n,onSubmit:s,primaryRef:o,dismissRef:a}){const i=se(n,"title")??"",c=yo(n,"options"),[l,m]=h.useState(null);if(c.length===0){const f=Q(e,l===0);return t.jsxs(t.Fragment,{children:[t.jsx(je,{text:i}),t.jsx("p",{className:g.emptyOptionsNote,children:"The extension offered no options."}),t.jsx("div",{className:g.controls,children:t.jsx(z,{ref:d=>{o.current=d,a.current=d},size:"xs",variant:"secondary",onClick:()=>{m(0),s({cancelled:!0})},...f,children:"Cancel"})})]})}const u=Ps(c);return t.jsxs(t.Fragment,{children:[t.jsx(je,{text:i}),t.jsx("div",{className:w(g.controls,u.mode==="stack"&&g.controlsStack,u.scrolls&&g.controlsScroll),children:c.map((f,d)=>t.jsx(z,{ref:d===0?x=>{o.current=x}:void 0,size:"xs",variant:"secondary",className:g.optionButton,onClick:()=>{m(d),s({value:f})},...Q(e,l===d),children:f},d))})]})}function Bo({entry:e,payload:n,onSubmit:s,primaryRef:o,dismissRef:a}){const i=se(n,"title")??"",c=se(n,"message"),l=qs(i,c),[m,u]=h.useState(null);return t.jsxs(t.Fragment,{children:[t.jsx("div",{className:w(g.title,l.message&&g.titleEmphasised),children:l.title.join(`
|
|
7
|
+
`)}),l.message&&t.jsx("div",{className:g.message,children:l.message.join(`
|
|
8
|
+
`)}),t.jsxs("div",{className:g.controls,children:[t.jsx(z,{ref:f=>{o.current=f},size:"xs",variant:"default",onClick:()=>{u("yes"),s({confirmed:!0})},...Q(e,m==="yes"),children:"Yes"}),t.jsx(z,{ref:f=>{a.current=f},size:"xs",variant:"secondary",onClick:()=>{u("no"),s({confirmed:!1})},...Q(e,m==="no"),children:"No"})]})]})}function Ro({entry:e,payload:n,onSubmit:s,primaryRef:o}){const a=se(n,"title")??"",i=se(n,"placeholder"),[c,l]=h.useState(""),m=Q(e,e.submitting===!0),u=m.disabled===!0||m.loading===!0;return t.jsxs(t.Fragment,{children:[t.jsx(je,{text:a}),t.jsxs("div",{className:g.controls,children:[t.jsx(hn,{ref:f=>{o.current=f},className:g.field,value:c,placeholder:i,disabled:u,onChange:f=>l(f.target.value),onKeyDown:f=>{f.key!=="Enter"||u||(f.preventDefault(),f.stopPropagation(),s({value:c}))}}),t.jsx(z,{size:"xs",variant:"default",onClick:()=>s({value:c}),...m,children:"Submit"})]})]})}function Ao({entry:e,payload:n,onSubmit:s,primaryRef:o,dismissRef:a}){const i=se(n,"title")??"",c=se(n,"prefill")??"",[l,m]=h.useState(c),[u,f]=h.useState(null);return t.jsxs(t.Fragment,{children:[t.jsx(je,{text:i}),t.jsx(_t,{ref:d=>{o.current=d},className:g.editorField,rows:3,value:l,disabled:!e.answerable||e.submitting,onChange:d=>{m(d.target.value);const x=d.target;x.style.height="auto",x.style.height=`${Math.min(x.scrollHeight,jo)}px`},onKeyDown:d=>{d.key!=="Enter"||d.shiftKey!==Et(e.method)||(d.preventDefault(),d.stopPropagation(),f("submit"),s({value:l}))}}),t.jsxs("div",{className:g.controls,children:[t.jsx(z,{size:"xs",variant:"default",onClick:()=>{f("submit"),s({value:l})},...Q(e,u==="submit"),children:"Submit"}),t.jsx(z,{ref:d=>{a.current=d},size:"xs",variant:"secondary",onClick:()=>{f("cancel"),s({cancelled:!0})},...Q(e,u==="cancel"),children:"Cancel"})]})]})}function Lo({entry:e,method:n,payload:s,onSubmit:o,primaryRef:a,dismissRef:i}){const c={method:n,...s},l=Q(e,e.submitting===!0);return t.jsxs(t.Fragment,{children:[t.jsx("p",{className:g.title,children:"This extension asked something this version of Pi-Studio can't display."}),t.jsx("pre",{className:g.rawPayload,children:JSON.stringify(c,null,2)}),t.jsx("div",{className:g.controls,children:t.jsx(z,{ref:m=>{a.current=m,i.current=m},size:"xs",variant:"secondary",onClick:()=>o({cancelled:!0}),...l,children:"Cancel"})})]})}function mt(e){if(e===void 0)return null;const n=typeof e=="number"?e:Date.parse(e);return Number.isNaN(n)?null:n}function Oo(e,n,s,o){if(n.length===0)return e.map(s);const a=[];let i=0;const c=l=>{for(;i<e.length;){const m=e[i];if(m===void 0)break;if(l!==null){const u=mt(m.timestamp);if(u!==null&&u>l)break}a.push(s(m)),i++}};for(const l of n){if(l.kind==="more"){a.push(o(l));continue}c(mt(l.item.entry.createdAt)),a.push(o(l))}for(;i<e.length;i++){const l=e[i];l!==void 0&&a.push(s(l))}return a}function Io(e,n){return!e||n===void 0?!1:n.every(s=>s.configured===!1)}const Po=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function ft(e){return String(e).padStart(2,"0")}function Fe(e){if(!e)return;const n=new Date(e);if(!Number.isNaN(n.getTime()))return`${Po[n.getMonth()]} ${n.getDate()}, ${ft(n.getHours())}:${ft(n.getMinutes())}`}const qo="_queuedBadge_1mki8_8",zo="_finalChip_1mki8_20",Fo="_userDisc_1mki8_30",Mo="_userAligned_1mki8_34",$o="_userPendingRow_1mki8_40",Ko="_userBubble_1mki8_44",Ho="_userBubbleFailed_1mki8_58",Wo="_userImages_1mki8_63",Uo="_userImage_1mki8_63",Go="_imageDialog_1mki8_79",Vo="_imageDialogPreview_1mki8_83",Xo="_assistantDisc_1mki8_93",Yo="_assistantBody_1mki8_97",Jo="_reasoningDisc_1mki8_108",Qo="_reasoningBody_1mki8_112",Zo="_toolDisc_1mki8_123",ea="_toolCardBody_1mki8_127",ta="_toolCardBodyRunning_1mki8_134",na="_toolCardBodyCompleted_1mki8_138",sa="_toolCardBodyCanceled_1mki8_142",oa="_toolCardBodyError_1mki8_146",aa="_toolHeader_1mki8_150",ra="_toolHeaderRunning_1mki8_176",ia="_toolChevron_1mki8_186",ca="_toolChevronOpen_1mki8_192",la="_kindBadge_1mki8_196",da="_toolPath_1mki8_208",ua="_toolTrailing_1mki8_217",ma="_toolStatusRunning_1mki8_225",fa="_toolStatusSuccess_1mki8_232",pa="_toolStatusError_1mki8_236",ha="_toolStatusUnknown_1mki8_240",_a="_toolDiffAdded_1mki8_244",ga="_toolDiffRemoved_1mki8_248",xa="_toolOpenButton_1mki8_252",ka="_toolLiveTail_1mki8_270",va="_toolBody_1mki8_277",ja="_toolCode_1mki8_283",ya="_toolOutputStrip_1mki8_294",ba="_toolDiffPreview_1mki8_304",Na="_toolDiffPreviewLine_1mki8_312",Sa="_toolDiffPreviewAdd_1mki8_316",Ca="_toolDiffPreviewDel_1mki8_321",wa="_toolDiffPreviewMore_1mki8_326",Da="_errorDisc_1mki8_333",Ta="_errorCard_1mki8_337",Ea="_errorLead_1mki8_346",Ba="_systemRow_1mki8_353",Ra="_compactionRow_1mki8_362",Aa="_compactionRowFailed_1mki8_368",La="_compactionDivider_1mki8_372",Oa="_compactionRule_1mki8_378",Ia="_compactionLabel_1mki8_384",Pa="_compactionText_1mki8_391",qa="_compactionToggle_1mki8_397",za="_compactionSummary_1mki8_414",p={queuedBadge:qo,finalChip:zo,userDisc:Fo,userAligned:Mo,userPendingRow:$o,userBubble:Ko,userBubbleFailed:Ho,userImages:Wo,userImage:Uo,imageDialog:Go,imageDialogPreview:Vo,assistantDisc:Xo,assistantBody:Yo,reasoningDisc:Jo,reasoningBody:Qo,toolDisc:Zo,toolCardBody:ea,toolCardBodyRunning:ta,toolCardBodyCompleted:na,toolCardBodyCanceled:sa,toolCardBodyError:oa,toolHeader:aa,toolHeaderRunning:ra,toolChevron:ia,toolChevronOpen:ca,kindBadge:la,toolPath:da,toolTrailing:ua,toolStatusRunning:ma,toolStatusSuccess:fa,toolStatusError:pa,toolStatusUnknown:ha,toolDiffAdded:_a,toolDiffRemoved:ga,toolOpenButton:xa,toolLiveTail:ka,toolBody:va,toolCode:ja,toolOutputStrip:ya,toolDiffPreview:ba,toolDiffPreviewLine:Na,toolDiffPreviewAdd:Sa,toolDiffPreviewDel:Ca,toolDiffPreviewMore:wa,errorDisc:Da,errorCard:Ta,errorLead:Ea,systemRow:Ba,compactionRow:Ra,compactionRowFailed:Aa,compactionDivider:La,compactionRule:Oa,compactionLabel:Ia,compactionText:Pa,compactionToggle:qa,compactionSummary:za};function Fa({row:e,assetBase:n=null,owningPaneId:s=null,workspaceCwd:o=null,connector:a}){const i=Fe(e.timestamp);return t.jsx(X,{disc:t.jsx(O,{icon:Mn,size:"xs",color:"var(--pi-color-accentForeground)"}),discClassName:p.assistantDisc,connector:a,meta:t.jsxs(t.Fragment,{children:["Assistant",i&&t.jsxs("span",{className:U.metaTime,children:[" · ",i]})]}),children:t.jsx("div",{className:p.assistantBody,children:e.streaming?t.jsx(Nt,{text:e.text,assetBase:n,owningPaneId:s,workspaceCwd:o}):t.jsx(Pe,{text:e.text,assetBase:n,owningPaneId:s,workspaceCwd:o})})})}function Ma({row:e,owningPaneId:n=null,workspaceCwd:s=null,connector:o}){const a=Fe(e.timestamp);return t.jsx(X,{disc:t.jsx(O,{icon:yt,size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:p.reasoningDisc,connector:o,meta:t.jsxs(t.Fragment,{children:["Reasoning",a&&t.jsxs("span",{className:U.metaTime,children:[" · ",a]})]}),metaTrailing:!e.streaming&&t.jsx("span",{className:p.finalChip,children:"final"}),children:t.jsx("div",{className:p.reasoningBody,children:e.streaming?t.jsx(Nt,{text:e.text,owningPaneId:n,workspaceCwd:s}):t.jsx(Pe,{text:e.text,owningPaneId:n,workspaceCwd:s})})})}const $a=12;function Ka(e,n=$a){const s=e.replace(/\r?\n$/,"").split(/\r?\n/);return s.length<=n?s.join(`
|
|
9
|
+
`):s.slice(-n).join(`
|
|
10
|
+
`)}function Ha(e){const n=ss(e).filter(o=>o.kind==="add"||o.kind==="del"),s=n[0];return s?{text:s.text,kind:s.kind,moreCount:n.length-1}:null}function Wa(e){return e.status==="completed"?t.jsx("span",{className:p.toolStatusSuccess,children:"✓ completed"}):e.status==="error"?t.jsx("span",{className:p.toolStatusError,children:e.statusText||"error"}):e.status==="canceled"?t.jsx("span",{className:p.toolStatusUnknown,children:e.statusText||"canceled"}):e.statusText&&e.statusText!=="running"?t.jsx("span",{className:p.toolStatusUnknown,children:e.statusText}):t.jsxs("span",{className:p.toolStatusRunning,children:[t.jsx(ne,{size:"xs",color:"var(--pi-color-accentBright)"}),"running"]})}function Ua({row:e,assetBase:n=null,owningPaneId:s=null,workspaceCwd:o=null,connector:a}){const[i,c]=h.useState(!1),l=cs(e.tool),m=is(e.tool),u=m.length>0,f=ds(e.tool.output),d=e.tool.kind==="edit"||e.tool.kind==="write"?wt(e.tool):null,x=e.tool.kind==="edit"?ls(e.tool.diff):null,D=e.tool.kind==="edit"&&e.tool.diff&&!i?Ha(e.tool.diff):null;function q(){u&&c(N=>!N)}function G(N){N.target===N.currentTarget&&(N.key==="Enter"||N.key===" ")&&(N.preventDefault(),q())}function b(N){if(N.stopPropagation(),!d)return;const B=ts(n,s,o);_n(d,B.workspaceCwd,B.targetPaneId)}return t.jsx(X,{disc:t.jsx(O,{icon:as(e.tool),size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:p.toolDisc,connector:a,children:t.jsxs("div",{className:w(p.toolCardBody,e.status==="running"&&p.toolCardBodyRunning,e.status==="completed"&&p.toolCardBodyCompleted,e.status==="error"&&p.toolCardBodyError,e.status==="canceled"&&p.toolCardBodyCanceled),children:[t.jsxs("div",{role:"button",tabIndex:u?0:-1,"aria-expanded":u?i:void 0,"aria-disabled":!u,className:w(p.toolHeader,e.status==="running"&&p.toolHeaderRunning),onClick:q,onKeyDown:G,children:[u&&t.jsx(he,{size:12,className:w(p.toolChevron,i&&p.toolChevronOpen)}),t.jsx("span",{className:p.kindBadge,style:{"--kindToken":`var(--pi-color-${l.token})`},children:l.label}),t.jsx("span",{className:p.toolPath,title:Be(e.tool),children:Be(e.tool)}),t.jsxs("span",{className:p.toolTrailing,children:[x&&(x.added>0||x.removed>0)&&t.jsxs(t.Fragment,{children:[t.jsxs("span",{className:p.toolDiffAdded,children:["+",x.added]}),t.jsxs("span",{className:p.toolDiffRemoved,children:["−",x.removed]})]}),Wa(e),d&&t.jsxs("button",{type:"button",className:p.toolOpenButton,onClick:b,onKeyDown:N=>N.stopPropagation(),children:["Open",t.jsx($n,{size:10})]})]})]}),e.status==="running"&&e.tool.output&&t.jsx("pre",{className:w(p.toolCode,p.toolLiveTail),children:Ka(e.tool.output)}),f>0&&t.jsxs("div",{className:p.toolOutputStrip,children:["output · ",f," lines"]}),D&&t.jsxs("div",{className:p.toolDiffPreview,children:[t.jsx("div",{className:w(p.toolDiffPreviewLine,D.kind==="add"?p.toolDiffPreviewAdd:p.toolDiffPreviewDel),children:D.text}),D.moreCount>0&&t.jsxs("div",{className:p.toolDiffPreviewMore,children:["… ",D.moreCount," more lines"]})]}),i&&u&&t.jsx("div",{className:p.toolBody,children:m.map((N,B)=>N.kind==="diff"?t.jsx(ns,{patch:N.patch},B):t.jsx("pre",{className:p.toolCode,children:N.text},B))})]})})}const Ga="Fork from here",Va="Fork conversation from this message";function Xa({row:e,connector:n,onFork:s}){const[o,a]=h.useState(null),i=Fe(e.timestamp);return t.jsxs(X,{disc:t.jsx(O,{icon:Wn,size:"xs",color:"var(--pi-color-successForeground)"}),discClassName:p.userDisc,connector:n,className:w(p.userAligned,e.pending&&p.userPendingRow),meta:t.jsxs(t.Fragment,{children:["You",i&&t.jsxs("span",{className:U.metaTime,children:[" · ",i]}),e.failed&&" · failed to send"]}),metaTrailing:t.jsxs(t.Fragment,{children:[e.queued&&!e.failed&&t.jsxs("span",{className:p.queuedBadge,children:[t.jsx(Kn,{size:9}),"queued"]}),s&&t.jsx(xn,{className:U.forkButton,hoverBase:"var(--pi-color-surface3)",title:Ga,"aria-label":Va,onClick:s,children:t.jsx(Hn,{size:13,strokeWidth:1.8,"aria-hidden":"true"})})]}),children:[t.jsx("span",{className:w(p.userBubble,e.failed&&p.userBubbleFailed),children:e.text}),e.images&&e.images.length>0&&t.jsx("div",{className:p.userImages,children:e.images.map((c,l)=>{const m=`data:${c.mimeType??"image/png"};base64,${c.data??""}`;return t.jsx("img",{className:p.userImage,src:m,alt:"",role:"button",tabIndex:0,onClick:()=>a(m),onKeyDown:u=>{(u.key==="Enter"||u.key===" ")&&a(m)}},l)})}),t.jsx(gn,{open:o!==null,onOpenChange:c=>{c||a(null)},title:"Image",width:"auto",bare:!0,className:p.imageDialog,children:o&&t.jsx("img",{className:p.imageDialogPreview,src:o,alt:""})})]})}function Ya({row:e,connector:n}){return t.jsx(X,{disc:t.jsx(O,{icon:bt,size:"xs",color:"var(--pi-color-destructive)"}),discClassName:p.errorDisc,connector:n,children:t.jsxs("div",{className:p.errorCard,children:[t.jsx("span",{className:p.errorLead,children:"Error"})," · ",e.text]})})}function Ja({row:e}){return t.jsx("div",{className:p.systemRow,children:e.text})}function Qa({row:e,assetBase:n=null,owningPaneId:s=null,workspaceCwd:o=null}){const[a,i]=h.useState(!1),c=gt(e),l=e.phase==="completed"&&!!e.summary,m=t.jsx("span",{className:p.compactionText,children:c});return t.jsxs("div",{className:w(p.compactionRow,e.phase==="failed"&&p.compactionRowFailed),children:[t.jsxs("div",{className:p.compactionDivider,children:[t.jsx("span",{className:p.compactionRule,"aria-hidden":"true"}),t.jsxs("span",{className:p.compactionLabel,children:[e.phase==="started"&&t.jsx(ne,{size:"xs","aria-label":"Compacting context"}),e.phase==="failed"&&t.jsx(O,{icon:bt,size:"xs",color:"var(--pi-color-statusDanger)"}),l?t.jsxs("button",{type:"button",className:p.compactionToggle,"aria-expanded":a,onClick:()=>i(u=>!u),children:[t.jsx(he,{size:12,className:w(p.toolChevron,a&&p.toolChevronOpen)}),m]}):m]}),t.jsx("span",{className:p.compactionRule,"aria-hidden":"true"})]}),l&&a&&t.jsx("div",{className:p.compactionSummary,children:t.jsx(Pe,{text:e.summary,assetBase:n,owningPaneId:s,workspaceCwd:o})})]})}const Za=500;function er(e,n){const s=h.useRef(!0),[o,a]=h.useState(!0),i=h.useRef(0),c=h.useCallback(u=>{const f=n.current,d=f?{scrollTop:f.scrollTop,scrollHeight:f.scrollHeight,clientHeight:f.clientHeight}:{scrollTop:0,scrollHeight:0,clientHeight:0},x=hs(s.current,u,d);x.pinned!==s.current&&(s.current=x.pinned,a(x.pinned)),x.stick&&e.options.count>0&&e.scrollToEnd({behavior:"auto"})},[n,e]);h.useEffect(()=>{const u=n.current;if(!u)return;const f=()=>{i.current=performance.now()},d=()=>{c({kind:"scroll",gesture:performance.now()-i.current<Za})};u.addEventListener("scroll",d,{passive:!0}),u.addEventListener("wheel",f,{passive:!0}),u.addEventListener("touchmove",f,{passive:!0}),u.addEventListener("pointerdown",f,{passive:!0}),u.addEventListener("keydown",f,{passive:!0});const x=new ResizeObserver(()=>{u.clientHeight>0&&c({kind:"shown"})});return x.observe(u),()=>{x.disconnect(),u.removeEventListener("scroll",d),u.removeEventListener("wheel",f),u.removeEventListener("touchmove",f),u.removeEventListener("pointerdown",f),u.removeEventListener("keydown",f)}},[c,n]);const l=h.useCallback(()=>c({kind:"tail"}),[c]),m=h.useCallback(()=>c({kind:"pin"}),[c]);return{pinned:o,followTail:l,pinToBottom:m}}const tr="_root_1xg4h_6",nr="_viewport_1xg4h_13",sr="_inner_1xg4h_20",or="_rowWrap_1xg4h_25",ar="_empty_1xg4h_35",rr="_nudge_1xg4h_47",ir="_jumpToLatest_1xg4h_56",te={root:tr,viewport:nr,inner:sr,rowWrap:or,empty:ar,nudge:rr,jumpToLatest:ir},cr=160;function lr(e){return e.kind==="ask"?`ask:${ws(e.item)}`:e.kind==="ask-more"?"ask-more":e.row.id}function dr(e,n,s,o,a,i){switch(e.kind){case"user":{const c=i.ordinalByRowId.get(e.id),l=c!==void 0?()=>i.onForkFromRow(c):null;return t.jsx(Xa,{row:e,connector:!n,onFork:l})}case"assistant":return t.jsx(Fa,{row:e,assetBase:s,owningPaneId:o,workspaceCwd:a,connector:!n});case"reasoning":return t.jsx(Ma,{row:e,owningPaneId:o,workspaceCwd:a,connector:!n});case"tool":return t.jsx(Ua,{row:e,assetBase:s,owningPaneId:o,workspaceCwd:a,connector:!n});case"error":return t.jsx(Ya,{row:e,connector:!n});case"system":return t.jsx(Ja,{row:e});case"compaction":return t.jsx(Qa,{row:e,assetBase:s,owningPaneId:o,workspaceCwd:a})}}function ur(e,n,s,o,a,i,c,l,m){return e.kind==="ask"?t.jsx(bo,{item:e.item,collapsed:e.collapsed,connector:!n,autoFocus:e.item.kind==="pending"&&e.item.entry.requestId===c,sessionTitle:l}):e.kind==="ask-more"?t.jsx(So,{count:e.count,connector:!n,onExpand:i}):dr(e.row,n,s,o,a,m)}function mr({session:e,owningPaneId:n,workspaceCwd:s}){var T,E;const o=e.timeline.rows,a=e.status==="running",i=xt(),c=kt(e.cwd,i),l=h.useRef(null),m=kn(e),u=vn(e.agentId??""),f=jn(e.agentId??""),[d,x]=h.useState(!1),D=M(j=>j.activeSessionId===e.id),q=vt(j=>{var R;return((R=j.layouts[s])==null?void 0:R.focusedPaneId)===n}),G=D&&q?((T=u[0])==null?void 0:T.requestId)??null:null,b=h.useMemo(()=>{const j=Ts(Cs(u,f),d);return Oo(o,j,R=>({kind:"row",row:R}),R=>R.kind==="more"?{kind:"ask-more",count:R.count}:{kind:"ask",item:R.item,collapsed:R.collapsed})},[o,u,f,d]),N=J(j=>j.status==="open"),B=J(j=>j.serverInfo),A=!!((E=B==null?void 0:B.features)!=null&&E.providerAuth),$=yn(j=>j.openSettings),{data:K}=es(o.length===0&&N&&A),W=Io(A,K),F=ln({count:b.length,getScrollElement:()=>l.current,estimateSize:()=>cr,overscan:8,getItemKey:j=>{const R=b[j];return R?lr(R):j},measureElement:(j,R,V)=>{if(j.offsetParent!==null)return dn(j,R,V);const ce=V.indexFromElement(j),_e=V.options.getItemKey(ce);return V.itemSizeCache.get(_e)??V.options.estimateSize(ce)},anchorTo:"end",scrollEndThreshold:Dt}),{pinned:ie,followTail:Z,pinToBottom:ee}=er(F,l),I=_s(o);return h.useEffect(()=>{Z()},[b.length,Z]),h.useEffect(()=>{I!==null&&ee()},[I,ee]),t.jsxs("div",{className:te.root,children:[t.jsx("div",{className:te.viewport,ref:l,children:b.length===0?!a&&(W?t.jsxs(bn,{className:te.nudge,children:[t.jsx("span",{children:"No messages yet — connect a model provider to get started."}),t.jsx(z,{size:"xs",variant:"secondary",onClick:()=>$(),children:"Connect a model provider"})]}):t.jsx("div",{className:te.empty,children:"No messages yet — say something to start."})):t.jsx("div",{className:te.inner,style:{height:F.getTotalSize()},children:F.getVirtualItems().map(j=>{const R=b[j.index];return R?t.jsx("div",{ref:F.measureElement,"data-index":j.index,className:te.rowWrap,style:{transform:`translateY(${j.start}px)`},children:ur(R,j.index===b.length-1,c,n,s,()=>x(!0),G,e.title,m)},j.key):null})})}),!ie&&b.length>0&&t.jsx("button",{type:"button",className:te.jumpToLatest,onClick:ee,title:"Jump to latest","aria-label":"Jump to latest",children:t.jsx(Un,{size:16,"aria-hidden":"true"})})]})}function fr(e,n=!0){const s=J(o=>o.client);return Le({queryKey:Oe.agentCommands(e),queryFn:async()=>{if(!s)throw new Error("not connected");const o=await ve(s,e),{commands:a}=await s.agent(o).listCommands();return a},enabled:!!s&&!!e&&n})}function Rt(e,n,s=!0){const o=J(a=>a.client);return Le({queryKey:Oe.providerModels(e,n),queryFn:async()=>{if(!o)throw new Error("not connected");return(await o.providers.listModels(e,n?{agentId:n}:void 0)).models},enabled:!!o&&!!e&&s})}function pr(e,n,s=!0){const o=J(a=>a.client);return Le({queryKey:Oe.thinkingLevels(e??"",n),queryFn:async()=>{if(!o||!e)throw new Error("not connected");return(await o.agent(e).listThinkingLevels()).levels},enabled:!!o&&!!e&&s,retry:!1})}const hr="_strip_nzfk5_4",_r="_thumb_nzfk5_11",gr="_remove_nzfk5_28",Te={strip:hr,thumb:_r,remove:gr};function xr({images:e,onRemove:n}){return e.length===0?null:t.jsx("div",{className:Te.strip,children:e.map((s,o)=>t.jsxs("div",{className:Te.thumb,children:[t.jsx("img",{src:s.thumbUrl,alt:""}),t.jsx("button",{type:"button",className:Te.remove,title:"Remove",onClick:()=>n(o),children:"×"})]},o))})}function kr(e){const{promise:n,resolve:s,reject:o}=Promise.withResolvers(),a=new FileReader;return a.onload=()=>{const i=a.result;if(typeof i!="string"){o(new Error("Unexpected FileReader result"));return}const c=i.indexOf(","),l=c>=0?i.slice(c+1):i;s({mimeType:e.type,data:l,thumbUrl:i})},a.onerror=()=>o(a.error??new Error("Failed to read file")),a.readAsDataURL(e),n}function vr(e,n,s){return e?s:n}const Ae=[{name:"compact",description:"Manually compact the session context",source:"builtin"}];function At(e){var o;const n=/^\/([^\s]+)(?:\s+([\s\S]*))?$/.exec(e.trim());if((n==null?void 0:n[1])!=="compact")return null;const s=(o=n[2])==null?void 0:o.trim();return{name:"compact",args:s||void 0}}function Me(e){if(!e.startsWith("/"))return null;const n=/^\/(\S*)/.exec(e),s=(n==null?void 0:n[1])??"",o=1+s.length,a=/\S/.test(e.slice(o));return{name:s,end:o,hasArgs:a}}function jr(e){return/^\/\S*$/.test(e)}function yr(e,n){let s=0;const o=Ae.map(i=>({value:i.name,label:`/${i.name}`,description:i.description,kind:i.source,disabled:n.builtinsDisabled===!0})),a=new Set(Ae.map(i=>i.name));for(const i of e)if(!a.has(i.name)){if(n.running&&i.source==="extension"){s+=1;continue}o.push({value:i.name,label:`/${i.name}`,description:i.description,kind:i.source})}return{options:o,hiddenExtensionCount:s}}function br(e,n,s){return s<=0?0:(e+n+s)%s}function Nr(e,n){const s=Me(e);return s?s.hasArgs?`/${n}${e.slice(s.end)}`:`/${n} `:`/${n} ${e}`}function Sr(e,n){const s=Me(e);return!s||!n.includes(s.name)?null:{end:s.end}}function Lt({running:e,compacting:n,hasAgent:s}){return s&&!e&&!n}function Cr(e,n){return!e.ok&&e.reason!=="canceled"&&n===""}function wr(e){const n=e.text.trim().length>0||e.hasImages;return!e.hasClient||!n||e.busy||e.compacting?!1:At(e.text)!==null?Lt(e):!0}function Dr(e,n){const s=kt(e||"~",n).replace(/\/+$/,"");return s===""||s.startsWith("~")?null:s}function Tr(e,n){if(!n||n.startsWith("~"))return null;const s=e.endsWith("/"),o=s?e.slice(0,-1):e;if(!o.startsWith(`${n}/`))return null;const a=o.slice(n.length+1);return a===""?null:s?`${a}/`:a}function Er(e){if(!/[\s`]/.test(e))return e;let n=0;for(const a of e.match(/`+/g)??[])n=Math.max(n,a.length);const s="`".repeat(n+1),o=e.startsWith("`")||e.endsWith("`")?" ":"";return`${s}${o}${e}${o}${s}`}function Br(e,n,s,o){const a=x=>Math.min(Math.max(Number.isFinite(x)?x:0,0),e.length),i=a(n),c=a(s),l=Math.min(i,c),m=Math.max(i,c),u=l>0&&!/\s/.test(e[l-1])?" ":"",f=m>=e.length||!/\s/.test(e[m])?" ":"",d=`${u}${o}${f}`;return{start:l,end:m,insert:d,caret:l+d.length}}function Rr(e){if(e.refValue===null||e.compacting)return{kind:"ignore"};const n=Tr(e.refValue,e.root);if(n===null)return{kind:"refuse"};const{text:s}=e,o=e.neverFocused?s.length:e.selStart,a=e.neverFocused?s.length:e.selEnd;return{kind:"insert",plan:Br(s,o,a,Er(n))}}const Ar="_picker_11hqs_4",Lr="_search_11hqs_10",Or="_searchWrap_11hqs_28",Ir="_searchSpinner_11hqs_37",Pr="_list_11hqs_45",qr="_item_11hqs_50",zr="_itemActive_11hqs_67",Fr="_checkSlot_11hqs_71",Mr="_label_11hqs_80",$r="_modelId_11hqs_86",Kr="_state_11hqs_93",Hr="_stateError_11hqs_102",Wr="_commandContent_11hqs_112",Ur="_commandList_11hqs_115",Gr="_commandItem_11hqs_120",Vr="_commandItemHeader_11hqs_152",Xr="_commandKindBadge_11hqs_166",Yr="_commandKindExtension_11hqs_185",Jr="_commandKindPrompt_11hqs_190",Qr="_commandKindSkill_11hqs_195",Zr="_commandDescription_11hqs_200",ei="_commandItemDisabled_11hqs_214",v={picker:Ar,search:Lr,searchWrap:Or,searchSpinner:Ir,list:Pr,item:qr,itemActive:zr,checkSlot:Fr,label:Mr,modelId:$r,state:Kr,stateError:Hr,commandContent:Wr,commandList:Ur,commandItem:Gr,commandItemHeader:Vr,commandKindBadge:Xr,commandKindExtension:Yr,commandKindPrompt:Jr,commandKindSkill:Qr,commandDescription:Zr,commandItemDisabled:ei},ti={onOpenAutoFocus:e=>e.preventDefault()};function ni(e){switch(e){case"extension":return v.commandKindExtension;case"prompt":return v.commandKindPrompt;case"skill":return v.commandKindSkill;default:return}}function si({open:e,onOpenChange:n,options:s,highlightedIndex:o,onSelect:a,isLoading:i,isError:c,errorMessage:l,hiddenExtensionCount:m,renderTrigger:u}){const f=h.useRef(null);return h.useEffect(()=>{var d,x;e&&((x=(d=f.current)==null?void 0:d.querySelector('[aria-selected="true"]'))==null||x.scrollIntoView({block:"nearest"}))},[e,o]),t.jsxs(qe,{open:e,onOpenChange:n,modal:!1,children:[t.jsx(ze,{asChild:!0,children:u()}),t.jsxs(Ie,{className:w(v.picker,v.commandContent),side:"top",sideOffset:4,...ti,onCloseAutoFocus:d=>d.preventDefault(),children:[i&&t.jsx("div",{className:v.state,children:t.jsx(ne,{size:"sm"})}),!i&&c&&t.jsx("div",{className:v.stateError,children:l??"Failed to load commands"}),!i&&!c&&s.length===0&&t.jsx("div",{className:v.state,children:"No commands found"}),!i&&!c&&s.length>0&&t.jsx("div",{ref:f,className:w(v.list,v.commandList),children:s.map((d,x)=>t.jsxs("div",{role:"option","aria-selected":x===o,"aria-disabled":d.disabled||void 0,className:w(v.item,v.commandItem,x===o&&v.itemActive,d.disabled&&v.commandItemDisabled),title:d.description,onMouseDown:D=>{D.preventDefault(),d.disabled||a(d.value)},children:[t.jsxs("div",{className:v.commandItemHeader,children:[t.jsx("span",{className:v.label,children:d.label}),d.kind&&t.jsx("span",{className:w(v.commandKindBadge,ni(d.kind)),children:d.kind})]}),d.description&&t.jsx("div",{className:v.commandDescription,children:d.description})]},d.value))}),!i&&!c&&m>0&&t.jsxs("div",{className:v.state,children:[m," extension command(s) unavailable while the agent is running"]})]})]})}function oi(e,n={}){const s=new Map;for(const m of e){const u=m.group??"",f=s.get(u);f?f.push(m):s.set(u,[m])}const o=s.get("");s.delete("");const a=[...s.keys()],{priorityGroup:i,ungroupedLabel:c}=n;i!==void 0&&s.has(i)&&(a.splice(a.indexOf(i),1),a.unshift(i));const l=a.map(m=>({key:m,label:m,options:s.get(m)??[]}));return o&&l.push({key:"",label:c,options:o}),l}function ai(e,n,s){if(!n)return e;const o=e.filter(i=>i.id===n),a=(s===void 0?void 0:o.find(i=>i.provider===s))??o[0];return a?[a,...e.filter(i=>i!==a)]:e}function ri(e){const n=new Set;return e.filter(s=>{const o=`${s.provider??""}/${s.id}`;return n.has(o)?!1:(n.add(o),!0)})}function ii({currentModel:e,currentModelProvider:n,provider:s,agentId:o,onSelect:a,renderTrigger:i}){const[c,l]=h.useState(!1),[m,u]=h.useState(""),f=h.useRef(null),d=h.useRef(null),{data:x,isLoading:D,isFetching:q,isError:G,error:b,refetch:N}=Rt(s,o,c||e!==void 0),B=x??[];h.useEffect(()=>{c&&u("")},[c]),h.useEffect(()=>{c&&N({cancelRefetch:!1})},[c,N]);const $=ri(ai(B,e,n)).map(T=>({value:T.id,label:T.label??T.id,description:T.id,group:T.provider})),K=$[0],W=(K==null?void 0:K.value)===e?K:void 0,F=oi(Ct($,m),{priorityGroup:n,ungroupedLabel:"Other"}),ie=F.length>1,Z=b instanceof Error?b.message:"Failed to load models";function ee(T){var E;if(T.stopPropagation(),T.key==="Escape"&&l(!1),T.key==="ArrowDown"){const j=(E=d.current)==null?void 0:E.querySelector('[role="menuitem"]');j&&(T.preventDefault(),j.focus())}}const I={onOpenAutoFocus:T=>{var E;T.preventDefault(),(E=f.current)==null||E.focus()}};return t.jsxs(qe,{open:c,onOpenChange:l,modal:!1,children:[t.jsx(ze,{asChild:!0,children:i(e,W==null?void 0:W.label)}),t.jsxs(Ie,{minWidth:240,align:"end",sideOffset:6,className:v.picker,...I,children:[t.jsxs("div",{className:v.searchWrap,children:[t.jsx("input",{ref:f,className:v.search,placeholder:"Search models…",value:m,onChange:T=>u(T.target.value),onKeyDown:ee}),q&&!D&&t.jsx(ne,{size:"xs",color:"var(--pi-color-foregroundMuted)",className:v.searchSpinner,"aria-label":"Refreshing models"})]}),D&&t.jsx("div",{className:v.state,children:t.jsx(ne,{size:"sm"})}),!D&&G&&x===void 0&&t.jsx("div",{className:v.stateError,children:Z}),!D&&x!==void 0&&F.length===0&&t.jsx("div",{className:v.state,children:"No models found"}),!D&&x!==void 0&&F.length>0&&t.jsx("div",{ref:d,className:v.list,children:F.map(T=>t.jsx(Nn,{label:ie?T.label:void 0,children:T.options.map(E=>t.jsxs(St,{className:v.item,onSelect:()=>a(E.value,E.group),children:[t.jsx("span",{className:v.checkSlot,"aria-hidden":!0,children:E===W&&t.jsx(pe,{size:14})}),t.jsx("span",{className:v.label,children:E.label}),t.jsxs("span",{className:v.modelId,children:["(",E.value,")"]})]},`${E.group??""}/${E.value}`))},T.key))})]})]})}function ci({currentLevel:e,levels:n,open:s,onOpenChange:o,onSelect:a,renderTrigger:i}){return t.jsxs(qe,{open:s,onOpenChange:o,modal:!1,children:[t.jsx(ze,{asChild:!0,children:i(e)}),t.jsx(Ie,{minWidth:140,align:"end",side:"top",sideOffset:6,className:v.picker,children:n.length===0?t.jsx("div",{className:v.state,children:"Loading levels…"}):t.jsx("div",{className:v.list,children:n.map(c=>t.jsxs(St,{className:v.item,onSelect:()=>a(c),children:[t.jsx("span",{className:v.checkSlot,"aria-hidden":!0,children:c===e&&t.jsx(pe,{size:14})}),t.jsx("span",{className:v.label,children:c})]},c))})})]})}const pt=["off","minimal","low","medium","high","xhigh","max"];function li(e,n){if(!e)return pt;const s=n==null?void 0:n.find(o=>o.id===e);return s!=null&&s.thinkingLevels&&s.thinkingLevels.length>0?s.thinkingLevels:pt}const di="_composer_excz7_4",ui="_card_excz7_13",mi="_flash_excz7_27",fi="_dropTarget_excz7_33",pi="_note_excz7_48",hi="_inlineError_excz7_55",_i="_compacting_excz7_63",gi="_textarea_excz7_31",xi="_compactStatus_excz7_73",ki="_compactStatusText_excz7_82",vi="_compactCancel_excz7_88",ji="_textareaWrap_excz7_129",yi="_highlightLayer_excz7_117",bi="_commandMark_excz7_152",Ni="_hiddenFileInput_excz7_177",Si="_toolbar_excz7_183",Ci="_toolbarRight_excz7_190",wi="_toolBtn_excz7_198",Di="_roundBtn_excz7_204",Ti="_modelBtn_excz7_209",Ei="_modelLabel_excz7_239",Bi="_modelId_excz7_237",Ri="_modelChevron_excz7_257",S={composer:di,card:ui,flash:mi,dropTarget:fi,note:pi,inlineError:hi,compacting:_i,textarea:gi,compactStatus:xi,compactStatusText:ki,compactCancel:vi,textareaWrap:ji,highlightLayer:yi,commandMark:bi,hiddenFileInput:Ni,toolbar:Si,toolbarRight:Ci,toolBtn:wi,roundBtn:Di,modelBtn:Ti,modelLabel:Ei,modelId:Bi,modelChevron:Ri},Ai=160;function re(e){e.style.height="auto",e.style.height=`${Math.min(e.scrollHeight,Ai)}px`}function Li(e){return typeof e=="object"&&e!==null&&"ok"in e&&e.ok===!1}function Oi(){return typeof window<"u"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}function Ii({sessionId:e,workspaceCwd:n,owningPaneId:s}){var ot;const o=J(r=>r.client),a=M(r=>r.sessions[e]),i=M(r=>r.addOptimisticUserMessage),c=M(r=>r.markUserMessageFailed),l=M(r=>r.setCwd),m=M(r=>r.setModel),u=M(r=>r.setThinkingLevel),f=J(r=>r.serverInfo),[d,x]=h.useState(!1),D=!!((ot=f==null?void 0:f.features)!=null&&ot.thinkingLevels),{data:q}=pr(a==null?void 0:a.agentId,a==null?void 0:a.model,d&&!!(a!=null&&a.agentId)&&((a==null?void 0:a.userMessageCount)??0)>0),{data:G}=Rt("pi",a==null?void 0:a.agentId),b=li(a==null?void 0:a.model,G),N=q!==void 0&&q.length>0?q:b,B=D&&!(q!==void 0&&q.length===0),A=fe(r=>r.drafts[e]??""),$=fe(r=>r.setDraft),[K,W]=h.useState([]),[F,ie]=h.useState(!1),[Z,ee]=h.useState(!1),I=h.useRef(null),T=h.useRef(null),[E,j]=h.useState(!1),[R,V]=h.useState(0),ce=Sn(Tn.chat(e)),_e=fe(r=>r.pendingFeedback[e]),[$e,Ke]=h.useState(null),[be,oe]=h.useState(null),[zt,He]=h.useState(!1),le=h.useRef(null),de=h.useRef(null),[Ne,ge]=h.useState(!1),We=h.useRef(!1),Ft=xt();h.useEffect(()=>{if(!ce||_e===void 0)return;const r=fe.getState().consumeFeedback(e);if(!r)return;Ke(r.copy==="filled"?"Your message was filled in":"Your draft was replaced"),le.current!==null&&window.clearTimeout(le.current),le.current=window.setTimeout(()=>Ke(null),4e3);const _=I.current;_&&_.setSelectionRange(_.value.length,_.value.length),r.flash&&(He(!0),de.current!==null&&window.clearTimeout(de.current),de.current=window.setTimeout(()=>He(!1),Oi()?1e3:400))},[ce,_e,e]),h.useEffect(()=>()=>{le.current!==null&&window.clearTimeout(le.current),de.current!==null&&window.clearTimeout(de.current)},[]),h.useEffect(()=>{if(!Ne)return;const r=()=>ge(!1);return document.addEventListener("dragend",r),document.addEventListener("drop",r),()=>{document.removeEventListener("dragend",r),document.removeEventListener("drop",r)}},[Ne]);const H=(a==null?void 0:a.status)==="running",L=Cn(e),Se=ke(r=>r.lastErrorBySession[e]),Mt=ke(r=>r.compactSession),Ce=ke(r=>r.cancelCompaction),$t=ke(r=>r.clearError),Ue=!!(a!=null&&a.agentId),Kt=vr(H,F,Z),Ge=wr({hasClient:!!o,busy:Kt,compacting:L,running:H,hasAgent:Ue,text:A,hasImages:K.length>0}),{data:Ve=[],isLoading:Ht,isError:Wt,error:Xe}=fr(e,E),{options:Ye,hiddenExtensionCount:Ut}=yr(Ve,{running:H,builtinsDisabled:!Lt({running:H,compacting:L,hasAgent:Ue})}),Je=Me(A),xe=Je?Ct(Ye,Je.name):Ye,Gt=[...Ae,...Ve].map(r=>r.name),ae=Sr(A,Gt),Qe=L?wn((a==null?void 0:a.timeline.rows)??[]):void 0,Vt=Qe?gt(Qe):"Compacting context…";async function Ze(r){if(r.type.startsWith("image/"))try{const _=await kr(r);W(k=>[...k,_])}catch{}}function Xt(r){for(const _ of r.target.files??[])Ze(_);r.target.value=""}function Yt(r){if(!L){for(const _ of r.clipboardData.items)if(_.type.startsWith("image/")){r.preventDefault();const k=_.getAsFile();k&&Ze(k)}}}function Jt(r){W(_=>_.filter((k,C)=>C!==r))}function et(r,_){$(e,_),re(r),Se&&$t(e),be&&oe(null);const k=jr(_);k!==E&&j(k),k&&V(0)}function Qt(r){et(r.target,r.target.value)}function Zt(r){return!L&&rt(r.dataTransfer.types)}function tt(r){Zt(r)&&(r.preventDefault(),r.dataTransfer.dropEffect="copy",ge(!0))}function en(r){r.currentTarget.contains(r.relatedTarget)||ge(!1)}function tn(r,_){r.focus(),r.setSelectionRange(_.start,_.end);const k=r.value;let C=!1;try{C=document.execCommand("insertText",!1,_.insert)&&r.value!==k}catch{C=!1}C||(r.setRangeText(_.insert,_.start,_.end,"end"),et(r,r.value)),r.setSelectionRange(_.caret,_.caret),s!==null&&vt.getState().focusPane(n,s)}function nn(r){const{types:_}=r.dataTransfer;if(!rt(_)||(ge(!1),L))return;r.preventDefault();const k=I.current;if(!k)return;const C=Rr({refValue:En(_,P=>r.dataTransfer.getData(P)),compacting:L,root:Dr((a==null?void 0:a.cwd)??"",Ft),text:k.value,selStart:k.selectionStart,selEnd:k.selectionEnd,neverFocused:!We.current});C.kind==="refuse"?oe("Not inside this workspace"):C.kind==="insert"&&tn(k,C.plan)}function sn(r){if(L){r.key==="Escape"&&(r.preventDefault(),Ce(e));return}if(!E&&ae&&r.key==="Backspace"){const _=r.currentTarget,k=_.selectionStart;if(k!==null&&k===_.selectionEnd){const C=ae.end+(A[ae.end]===" "?1:0);if(k>0&&k<=C){r.preventDefault();const P=A.slice(C);$(e,P),_.setSelectionRange(0,0),re(_);return}}}if(E&&xe.length>0){if(r.key==="ArrowDown"||r.key==="ArrowUp"){r.preventDefault(),V(_=>br(_,r.key==="ArrowDown"?1:-1,xe.length));return}if(r.key==="Enter"&&!r.shiftKey||r.key==="Tab"){r.preventDefault();const _=xe[R];_&&!_.disabled&&nt(_.value);return}}if(E&&r.key==="Escape"){r.preventDefault(),j(!1);return}r.key==="Enter"&&!r.shiftKey&&(r.preventDefault(),st(H?"steer":"send"))}function nt(r){const _=Nr(A,r);$(e,_),j(!1),V(0);const k=I.current;k&&(k.focus(),k.setSelectionRange(_.length,_.length),re(k))}async function st(r){if(!o||!a||(r==="steer"?Z:F)||r==="steer"&&!a.agentId)return;const _=A.trim();if(!_&&K.length===0||!Ge)return;const k=At(_);if(k){j(!1),$(e,""),I.current&&re(I.current);const Y=await Mt(e,k.args);Cr(Y,fe.getState().drafts[e]??"")&&($(e,A),I.current&&re(I.current));return}$(e,""),j(!1),I.current&&re(I.current);const C=K;W([]);const P=_||"Describe this image",ue=C.length>0?C.map(Y=>({mimeType:Y.mimeType,data:Y.data})):void 0,me=Bn();i(e,me,P,ue,r==="steer");const at=r==="steer"?ee:ie;at(!0);try{if(r==="steer"){const Y=await o.agent(a.agentId).steer(P,{clientMessageId:me,images:ue});Li(Y)&&c(e,me)}else{a.agentId||l(e,a.cwd||"~");const Y=await ve(o,e);await o.agent(Y).send(P,{clientMessageId:me,images:ue})}}catch{c(e,me)}finally{at(!1)}}function on(){a!=null&&a.agentId&&(L?Ce(e):o==null||o.agent(a.agentId).interrupt())}function an(r,_){const k={model:a==null?void 0:a.model,provider:a==null?void 0:a.modelProvider};m(e,r,_),oe(null),!(!o||!_)&&(async()=>{const C=await ve(o,e);await o.agent(C).setModel(_,r)})().catch(C=>{const P=M.getState().sessions[e];(P==null?void 0:P.model)===r&&P.modelProvider===_&&m(e,k.model,k.provider);const ue=C instanceof Error?C.message:String(C);oe(`Couldn't switch model: ${ue}`)})}function rn(r){const _=a==null?void 0:a.thinkingLevel;u(e,r),oe(null),o&&(async()=>{const k=await ve(o,e),C=await o.agent(k).setThinking(r);u(e,C.level)})().catch(k=>{var P;((P=M.getState().sessions[e])==null?void 0:P.thinkingLevel)===r&&u(e,_);const C=k instanceof Error?k.message:String(k);oe(`Couldn't set thinking level: ${C}`)})}return t.jsxs("div",{className:S.composer,children:[t.jsxs("div",{className:w(S.card,zt&&S.flash,L&&S.compacting,Ne&&!L&&S.dropTarget),...Dn(),onDragEnter:tt,onDragOver:tt,onDragLeave:en,onDrop:nn,children:[t.jsxs("div",{className:S.textareaWrap,children:[t.jsx("div",{className:S.highlightLayer,"aria-hidden":!0,children:ae?t.jsxs(t.Fragment,{children:[t.jsx("mark",{className:S.commandMark,children:A.slice(0,ae.end)}),A.slice(ae.end)]}):A}),t.jsx(_t,{ref:I,className:S.textarea,rows:1,value:A,readOnly:L,placeholder:L?"Compacting context… esc cancel":H?"Steer the running turn… ⏎ steer · ⇧⏎ newline":"Ask anything… ⏎ send · ⇧⏎ newline · / commands",onChange:Qt,onFocus:()=>{We.current=!0},onKeyDown:sn,onPaste:Yt,"data-session-id":e})]}),t.jsx(xr,{images:K,onRemove:Jt}),t.jsxs("div",{className:S.toolbar,children:[t.jsx(z,{className:S.toolBtn,variant:"ghost",size:"sm",iconOnly:!0,title:"Attach image","aria-label":"Attach image",disabled:L,onClick:()=>{var r;return(r=T.current)==null?void 0:r.click()},children:t.jsx(Gn,{size:16})}),t.jsx(si,{open:E&&!L,onOpenChange:j,options:xe,highlightedIndex:R,onSelect:nt,isLoading:Ht,isError:Wt,errorMessage:Xe instanceof Error?Xe.message:void 0,hiddenExtensionCount:Ut,renderTrigger:()=>t.jsx(z,{className:S.toolBtn,variant:"ghost",size:"sm",iconOnly:!0,disabled:L,title:"Slash commands","aria-label":"Slash commands",children:t.jsx(Vn,{size:16})})}),t.jsxs("div",{className:S.toolbarRight,children:[t.jsx(ii,{currentModel:a==null?void 0:a.model,currentModelProvider:a==null?void 0:a.modelProvider,provider:"pi",agentId:a==null?void 0:a.agentId,onSelect:an,renderTrigger:(r,_)=>{const k=_!==void 0&&_!==r;return t.jsxs("button",{type:"button",className:S.modelBtn,disabled:!o,title:r?`Model: ${_??r}${k?` (${r})`:""}`:"Select model",children:[t.jsx(Xn,{size:14,"aria-hidden":"true"}),t.jsx("span",{className:S.modelLabel,children:_??r??"Model"}),k&&t.jsxs("span",{className:S.modelId,children:["(",r,")"]}),t.jsx(lt,{size:13,className:S.modelChevron,"aria-hidden":"true"})]})}}),B&&t.jsx(ci,{currentLevel:a==null?void 0:a.thinkingLevel,levels:N,open:d,onOpenChange:x,onSelect:rn,renderTrigger:r=>t.jsxs("button",{type:"button",className:S.modelBtn,disabled:!o,title:r?`Thinking: ${r}`:"Thinking level",children:[t.jsx(yt,{size:14,"aria-hidden":"true"}),t.jsx("span",{className:S.modelLabel,children:r??"Thinking"}),t.jsx(lt,{size:13,className:S.modelChevron,"aria-hidden":"true"})]})}),(H||L)&&t.jsx(z,{className:S.roundBtn,variant:"destructive",size:"sm",iconOnly:!0,title:L?"Cancel the compaction":"Stop the running turn","aria-label":"Stop",onClick:on,children:t.jsx(Yn,{size:14})}),t.jsx(z,{className:S.roundBtn,size:"sm",iconOnly:!0,disabled:!Ge,title:H?"Steer the running turn":"Send","aria-label":H?"Steer":"Send",onClick:()=>void st(H?"steer":"send"),children:H?t.jsx(Jn,{size:16}):t.jsx(Qn,{size:18})})]})]})]}),t.jsx("div",{role:"status",children:L&&t.jsxs("div",{className:S.compactStatus,children:[t.jsx(ne,{size:"xs","aria-label":"Compacting"}),t.jsx("span",{className:S.compactStatusText,children:Vt}),t.jsx("button",{type:"button",className:S.compactCancel,title:"Cancel the compaction (Esc)",onClick:()=>void Ce(e),children:"Cancel"})]})}),$e!==null&&t.jsx("div",{className:S.note,children:$e}),Se&&t.jsx("div",{role:"alert",className:S.inlineError,children:Se}),be&&t.jsx("div",{role:"alert",className:S.inlineError,children:be}),t.jsx("input",{ref:T,className:S.hiddenFileInput,type:"file",accept:"image/*",multiple:!0,onChange:Xt})]})}const Pi=5;function Ot(e){return e.toSorted((n,s)=>n.id-s.id)}function qi(e){return{done:e.filter(n=>n.status==="completed").length,total:e.length}}function It(e){return Ot(e).find(n=>n.status==="in_progress")}function Pt(e){return e.status==="in_progress"&&e.activeForm?e.activeForm:e.subject}function zi(e){const n=It(e);return n?Pt(n):void 0}function Fi(e){var n;if(!(e.status==="completed"||!((n=e.blockedBy)!=null&&n.length)))return`blocked by ${e.blockedBy.map(s=>`#${s}`).join(", ")}`}function Mi(e){return!!e.description||!!e.owner}function $i(e,n=Pi){const s=Ot(e),o=s.filter(l=>l.status==="completed"),a=o.length>n,i=[];let c=!1;return s.forEach((l,m)=>{if(a&&l.status==="completed"){c||(c=!0,i.push({kind:"completed-group",count:o.length,tasks:o,key:`group-${l.id}-${m}`}));return}i.push({kind:"task",task:l,key:`${l.id}-${m}`})}),i}const Ki="_panel_3trtd_5",Hi="_header_3trtd_18",Wi="_rowButton_3trtd_35",Ui="_chevron_3trtd_40",Gi="_chevronOpen_3trtd_46",Vi="_label_3trtd_50",Xi="_count_3trtd_55",Yi="_summary_3trtd_60",Ji="_body_3trtd_69",Qi="_row_3trtd_35",Zi="_rowStatic_3trtd_85",ec="_icon_3trtd_102",tc="_iconInProgress_3trtd_111",nc="_iconCompleted_3trtd_115",sc="_iconPending_3trtd_119",oc="_text_3trtd_123",ac="_textCompleted_3trtd_135",rc="_id_3trtd_140",ic="_blocked_3trtd_146",cc="_details_3trtd_157",lc="_footer_3trtd_166",dc="_nested_3trtd_180",y={panel:Ki,header:Hi,rowButton:Wi,chevron:Ui,chevronOpen:Gi,label:Vi,count:Xi,summary:Yi,body:Ji,row:Qi,rowStatic:Zi,icon:ec,iconInProgress:tc,iconCompleted:nc,iconPending:sc,text:oc,textCompleted:ac,id:rc,blocked:ic,details:cc,footer:lc,nested:dc};function uc({status:e}){return e==="in_progress"?t.jsx("span",{className:`${y.icon} ${y.iconInProgress}`,children:t.jsx(ne,{size:14,"aria-label":"In progress"})}):e==="completed"?t.jsx("span",{className:`${y.icon} ${y.iconCompleted}`,children:t.jsx(O,{icon:pe,size:"sm","aria-label":"Completed"})}):t.jsx("span",{className:`${y.icon} ${y.iconPending}`,children:t.jsx(O,{icon:Zn,size:"sm","aria-label":"Pending"})})}function qt({task:e}){const[n,s]=h.useState(!1),o=Fi(e),a=Mi(e),i=t.jsxs(t.Fragment,{children:[t.jsx(uc,{status:e.status}),t.jsx("span",{className:`${y.text} ${e.status==="completed"?y.textCompleted:""}`,children:Pt(e)}),o&&t.jsx("span",{className:y.blocked,children:o}),t.jsxs("span",{className:y.id,children:["#",e.id]}),a&&t.jsx("span",{className:`${y.chevron} ${n?y.chevronOpen:""}`,children:t.jsx(O,{icon:he,size:"xs","aria-hidden":!0})})]});return t.jsxs("li",{className:y.row,"data-status":e.status,"data-task-id":e.id,children:[a?t.jsx("button",{type:"button",className:y.rowButton,"aria-expanded":n,onClick:()=>s(c=>!c),children:i}):t.jsx("div",{className:y.rowStatic,children:i}),n&&t.jsxs("p",{className:y.details,children:[e.description,e.description&&e.owner?`
|
|
11
|
+
`:"",e.owner?`Owner: ${e.owner}`:""]})]})}function mc({tasks:e}){const[n,s]=h.useState(!1);return t.jsxs("li",{className:y.row,children:[t.jsxs("button",{type:"button",className:y.rowButton,"aria-expanded":n,onClick:()=>s(o=>!o),children:[t.jsx("span",{className:`${y.icon} ${y.iconCompleted}`,children:t.jsx(O,{icon:pe,size:"sm","aria-hidden":!0})}),t.jsxs("span",{className:y.text,children:[e.length," completed"]}),t.jsx("span",{className:`${y.chevron} ${n?y.chevronOpen:""}`,children:t.jsx(O,{icon:he,size:"xs","aria-hidden":!0})})]}),n&&t.jsx("ol",{className:y.nested,children:e.map((o,a)=>t.jsx(qt,{task:o},`${o.id}-${a}`))})]})}function fc({agentId:e}){var f;const n=Rn(e),s=An(e),o=h.useId(),a=h.useRef(null);h.useEffect(()=>{if(e)return it.getState().track(e)},[e]);const i=n==null?void 0:n.tasks,c=i?(f=It(i))==null?void 0:f.id:void 0;if(h.useEffect(()=>{const d=a.current;if(!d||c===void 0||s)return;const x=d.querySelector(`[data-task-id="${c}"][data-status="in_progress"]`);if(!x)return;const D=x.offsetTop-d.offsetTop;(D<d.scrollTop||D+x.offsetHeight>d.scrollTop+d.clientHeight)&&(d.scrollTop=D-(d.clientHeight-x.offsetHeight)/2)},[c,s]),!e||!n||n.tasks.length===0)return null;const{done:l,total:m}=qi(n.tasks),u=s?zi(n.tasks):void 0;return t.jsxs("section",{className:y.panel,role:"region","aria-label":"Agent todos",children:[t.jsxs("button",{type:"button",className:y.header,"aria-expanded":!s,"aria-controls":o,onClick:()=>it.getState().setCollapsed(e,!s),children:[t.jsx("span",{className:`${y.chevron} ${s?"":y.chevronOpen}`,children:t.jsx(O,{icon:he,size:"sm","aria-hidden":!0})}),t.jsx("span",{className:y.label,children:"Todos"}),t.jsxs("span",{className:y.count,children:[l,"/",m]}),u&&t.jsx("span",{className:y.summary,children:u})]}),!s&&t.jsx("ol",{id:o,ref:a,className:y.body,children:$i(n.tasks).map(d=>d.kind==="task"?t.jsx(qt,{task:d.task},d.key):t.jsx(mc,{tasks:d.tasks},d.key))}),!s&&n.truncated&&t.jsxs("div",{className:y.footer,children:["Showing first ",Ln," tasks"]})]})}const pc="_track_oxvl6_2",hc="_sweep_oxvl6_24",_c="_visuallyHidden_oxvl6_64",Ee={track:pc,sweep:hc,visuallyHidden:_c};function gc({running:e}){return e?t.jsxs("div",{className:Ee.track,role:"progressbar","aria-label":"Turn in progress",children:[t.jsx("div",{className:Ee.sweep,"aria-hidden":"true"}),t.jsx("span",{className:Ee.visuallyHidden,role:"status","aria-live":"polite",children:"Agent is working…"})]}):null}const xc="_panel_1tq06_1",kc="_empty_1tq06_5",ht={panel:xc,empty:kc};function Ac({tab:e,owningPaneId:n}){const{sessionId:s}=e.data,o=M(a=>a.sessions[s]);return ps(s),o?t.jsxs(ct,{className:ht.panel,children:[t.jsx(gc,{running:o.status==="running"}),t.jsx(mr,{session:o,owningPaneId:n,workspaceCwd:e.workspaceCwd}),t.jsx(fc,{agentId:o.agentId}),t.jsx(Ii,{sessionId:o.id,workspaceCwd:e.workspaceCwd,owningPaneId:n})]}):t.jsx(ct,{children:t.jsx("div",{className:ht.empty,children:"Session not found."})})}export{Ac as ChatPanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._shellRow_1kabp_2{display:flex;gap:var(--pi-spacing-12)}._rail_1kabp_10{width:20px;flex:none;display:flex;flex-direction:column;align-items:center}._disc_1kabp_18{width:18px;height:18px;flex:none;border-radius:var(--pi-radius-full);display:flex;align-items:center;justify-content:center}._connector_1kabp_28{flex:1;width:var(--pi-border-width-2);background:var(--pi-color-surface3)}._content_1kabp_2{flex:1;min-width:0;padding-bottom:var(--pi-spacing-8)}._metaLine_1kabp_40{display:flex;align-items:center;gap:var(--pi-spacing-7);font-size:var(--pi-font-size-3xs);color:var(--pi-color-foregroundMuted);margin-bottom:var(--pi-spacing-3)}._metaTime_1kabp_52{opacity:.55;transition:opacity .12s ease}._shellRow_1kabp_2:hover ._metaTime_1kabp_52{opacity:1}._forkButton_1kabp_66{position:relative;opacity:0;transition:opacity .12s ease-out}._shellRow_1kabp_2:hover ._forkButton_1kabp_66,._shellRow_1kabp_2:focus-within ._forkButton_1kabp_66{opacity:1}@media(max-width:575px),(hover:none){._forkButton_1kabp_66{opacity:.55}._forkButton_1kabp_66:active{opacity:1}._forkButton_1kabp_66:after{content:"";position:absolute;inset:50% auto auto 50%;width:44px;height:44px;transform:translate(-50%,-50%)}}@media(prefers-reduced-motion:reduce){._forkButton_1kabp_66{transition:none}}@media(prefers-reduced-motion:reduce){._metaTime_1kabp_52{transition:none}}._askDisc_ffqf1_5{background:color-mix(in srgb,var(--pi-color-statusWarning) 20%,var(--pi-color-surface3))}._card_ffqf1_9{position:relative;overflow:hidden;border-radius:var(--pi-radius-lg);background:var(--pi-color-surface1);border:var(--pi-border-width-1) solid var(--pi-color-border);padding:var(--pi-spacing-8) var(--pi-spacing-12);display:flex;flex-direction:column;gap:var(--pi-spacing-8)}._card_ffqf1_9:focus-within{border-color:color-mix(in srgb,var(--pi-color-statusWarning) 45%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--pi-color-statusWarning) 18%,transparent)}._cardInert_ffqf1_41{opacity:.55;border-color:var(--pi-color-border)}._askDiscInert_ffqf1_47{background:var(--pi-color-surface3)}._reconnectingNote_ffqf1_52{display:flex;align-items:center;gap:var(--pi-spacing-7);margin:0;font-size:var(--pi-font-size-3xs);color:var(--pi-color-foregroundMuted)}._reconnectingDot_ffqf1_61{width:8px;height:8px;border-radius:var(--pi-radius-full);background:var(--pi-color-foregroundMuted);flex:none}._deadlineBar_ffqf1_71{position:absolute;top:0;left:0;height:2px;background:var(--pi-color-statusWarning);transition:width 1s linear}._deadlineApproximate_ffqf1_80{opacity:.7}._header_ffqf1_85{display:flex;align-items:center;gap:var(--pi-spacing-7)}._askBadge_ffqf1_16{font-size:var(--pi-font-size-4xs);font-weight:700;letter-spacing:.06em;border-radius:var(--pi-radius-base);padding:0 var(--pi-spacing-5);color:var(--pi-color-statusWarning);background:color-mix(in srgb,var(--pi-color-statusWarning) 18%,transparent)}._methodName_ffqf1_101{font-family:var(--pi-font-mono);font-size:var(--pi-font-size-3xs);color:var(--pi-color-foregroundMuted)}._title_ffqf1_107{font-size:var(--pi-font-size-xs);line-height:1.5;color:var(--pi-color-foreground);white-space:pre-line;overflow-wrap:break-word}._titleEmphasised_ffqf1_115{font-weight:600}._message_ffqf1_119{font-size:var(--pi-font-size-xs);line-height:1.5;color:var(--pi-color-foregroundMuted);white-space:pre-line;overflow-wrap:break-word}._emptyOptionsNote_ffqf1_127{font-size:var(--pi-font-size-xs);font-style:italic;color:var(--pi-color-foregroundMuted)}._controls_ffqf1_133{display:flex;align-items:center;gap:var(--pi-spacing-8);flex-wrap:wrap;row-gap:var(--pi-spacing-8)}._controlsStack_ffqf1_141{flex-direction:column;align-items:stretch;flex-wrap:nowrap}._controlsScroll_ffqf1_148{max-height:208px;overflow-y:auto}._optionButton_ffqf1_153{text-align:left;justify-content:flex-start;white-space:normal;height:auto;min-height:28px}._field_ffqf1_161{flex:1;min-width:0;font-family:var(--pi-font-mono);font-size:var(--pi-font-size-code)}._editorField_ffqf1_168{font-family:var(--pi-font-mono);font-size:var(--pi-font-size-code);line-height:1.55;resize:none;overflow-y:auto}._rawPayload_ffqf1_176{margin:0;padding:var(--pi-spacing-6) var(--pi-spacing-8);border-radius:var(--pi-radius-base);background:var(--pi-color-surface0);color:var(--pi-color-foregroundMuted);font-family:var(--pi-font-mono);font-size:var(--pi-font-size-3xs);white-space:pre;overflow-x:auto}._resolvedCard_ffqf1_190{display:flex;align-items:center;gap:var(--pi-spacing-8);padding:var(--pi-spacing-8) var(--pi-spacing-12);border-radius:var(--pi-radius-lg);background:var(--pi-color-surface1);border:var(--pi-border-width-1) solid var(--pi-color-border);font-size:var(--pi-font-size-3xs)}._askBadgeNeutral_ffqf1_204{color:var(--pi-color-foregroundMuted);background:var(--pi-color-surface3)}._resolvedMethodName_ffqf1_209{flex:1;font-family:var(--pi-font-mono);color:var(--pi-color-foregroundMuted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._outcome_ffqf1_218{display:flex;align-items:center;gap:var(--pi-spacing-3);flex:none;max-width:40%;color:var(--pi-color-foregroundMuted)}._outcomeSuccess_ffqf1_229{color:var(--pi-color-statusSuccess)}._outcomeText_ffqf1_233{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(prefers-reduced-motion:reduce){._deadlineBar_ffqf1_71{transition:none}}._hint_ffqf1_255{display:flex;visibility:hidden;align-items:center;flex-wrap:wrap;gap:var(--pi-spacing-6);font-size:var(--pi-font-size-3xs);color:var(--pi-color-foregroundMuted)}._card_ffqf1_9:focus-within~._hint_ffqf1_255{visibility:visible}._hintKey_ffqf1_270{font-family:var(--pi-font-mono);border:var(--pi-border-width-1) solid var(--pi-color-border);border-radius:4px;padding:0 4px;background:var(--pi-color-surface2)}._hintSep_ffqf1_278{opacity:.5}._recoveredChip_ffqf1_285{margin-left:auto;flex:none;font-size:var(--pi-font-size-4xs);color:var(--pi-color-foregroundMuted);border:var(--pi-border-width-1) solid var(--pi-color-border);border-radius:var(--pi-radius-base);padding:0 var(--pi-spacing-5)}._collapsedPendingCard_ffqf1_297{border-color:color-mix(in srgb,var(--pi-color-statusWarning) 45%,transparent)}._moreRow_ffqf1_303{display:flex;align-items:center;justify-content:center;width:100%;padding:var(--pi-spacing-6) var(--pi-spacing-12);border:none;border-radius:var(--pi-radius-base);background:none;color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-3xs);cursor:pointer}._moreRow_ffqf1_303:hover{color:var(--pi-color-foreground);background:color-mix(in srgb,var(--pi-color-surface1) 85%,var(--pi-color-foreground) 15%)}._queuedBadge_1mki8_8{display:inline-flex;align-items:center;gap:var(--pi-spacing-2);padding:0 var(--pi-spacing-4);border:var(--pi-border-width-1) solid var(--pi-color-border);border-radius:var(--pi-radius-sm);font-size:var(--pi-font-size-4xs);font-weight:600;color:var(--pi-color-foregroundMuted)}._finalChip_1mki8_20{padding:0 var(--pi-spacing-4);border:var(--pi-border-width-1) solid var(--pi-color-border);border-radius:var(--pi-radius-sm);font-size:var(--pi-font-size-4xs);color:var(--pi-color-foregroundMuted)}._userDisc_1mki8_30{background:color-mix(in srgb,var(--pi-color-statusSuccess) 65%,var(--pi-color-surface3))}._userAligned_1mki8_34{display:flex;flex-direction:column;align-items:flex-end}._userPendingRow_1mki8_40{opacity:.6}._userBubble_1mki8_44{display:inline-block;max-width:100%;padding:var(--pi-spacing-6) var(--pi-spacing-10);border-radius:var(--pi-radius-lg);background:color-mix(in srgb,var(--pi-color-accent) 20%,var(--pi-color-surface1));border:var(--pi-border-width-1) solid color-mix(in srgb,var(--pi-color-accent) 45%,transparent);color:var(--pi-color-foreground);font-size:var(--pi-font-size-sm);line-height:1.5;white-space:pre-wrap;word-break:break-word}._userBubbleFailed_1mki8_58{background:color-mix(in srgb,var(--pi-color-destructive) 20%,var(--pi-color-surface1));border-color:color-mix(in srgb,var(--pi-color-destructive) 45%,transparent)}._userImages_1mki8_63{display:flex;gap:var(--pi-spacing-6);flex-wrap:wrap;margin-top:var(--pi-spacing-6)}._userImage_1mki8_63{max-width:200px;max-height:150px;border-radius:var(--pi-radius-base);display:block;object-fit:cover;cursor:pointer}._imageDialog_1mki8_79{max-width:90vw}._imageDialogPreview_1mki8_83{display:block;max-width:90vw;max-height:80vh;object-fit:contain}._assistantDisc_1mki8_93{background:var(--pi-color-accent)}._assistantBody_1mki8_97{padding:var(--pi-spacing-6) var(--pi-spacing-10);border-radius:var(--pi-radius-lg);background:var(--pi-color-surface2);border:var(--pi-border-width-1) solid var(--pi-color-surface3);font-size:var(--pi-font-size-sm);line-height:1.5}._reasoningDisc_1mki8_108{background:var(--pi-color-surface3)}._reasoningBody_1mki8_112{color:color-mix(in srgb,var(--pi-color-foregroundMuted) 82%,transparent);font-style:italic;font-size:var(--pi-font-size-2xs);line-height:1.5}._toolDisc_1mki8_123{background:var(--pi-color-surface3)}._toolCardBody_1mki8_127{border:var(--pi-border-width-1) solid var(--pi-color-border);border-radius:var(--pi-radius-lg);background:var(--pi-color-surface1);overflow:hidden}._toolCardBodyRunning_1mki8_134{border-color:color-mix(in srgb,var(--pi-color-accent) 45%,transparent)}._toolCardBodyCompleted_1mki8_138{border-color:color-mix(in srgb,var(--pi-color-statusSuccess) 45%,transparent)}._toolCardBodyCanceled_1mki8_142{border-color:color-mix(in srgb,var(--pi-color-border) 80%,transparent)}._toolCardBodyError_1mki8_146{border-color:color-mix(in srgb,var(--pi-color-destructive) 45%,transparent)}._toolHeader_1mki8_150{display:flex;align-items:center;gap:var(--pi-spacing-8);width:100%;padding:var(--pi-spacing-7) var(--pi-spacing-12);font-size:var(--pi-font-size-2xs);cursor:pointer;-webkit-user-select:none;user-select:none}._toolHeader_1mki8_150[aria-disabled=true]{cursor:default}._toolHeader_1mki8_150:hover:not([aria-disabled=true]){background:color-mix(in srgb,var(--pi-color-surface1) 85%,var(--pi-color-foreground) 15%)}._toolHeader_1mki8_150._toolHeaderRunning_1mki8_176:hover:not([aria-disabled=true]){background:color-mix(in srgb,var(--pi-color-accent) 16%,transparent)}._toolHeaderRunning_1mki8_176{background:color-mix(in srgb,var(--pi-color-accent) 10%,transparent)}._toolChevron_1mki8_186{flex-shrink:0;color:var(--pi-color-foregroundMuted);transition:transform .12s ease}._toolChevronOpen_1mki8_192{transform:rotate(90deg)}._kindBadge_1mki8_196{flex-shrink:0;font-size:var(--pi-font-size-4xs);font-weight:var(--pi-font-weight-bold);letter-spacing:.06em;border-radius:var(--pi-radius-base);padding:0 var(--pi-spacing-5);color:var(--kindToken);background:color-mix(in srgb,var(--kindToken) 20%,transparent);border:var(--pi-border-width-1) solid color-mix(in srgb,var(--kindToken) 48%,transparent)}._toolPath_1mki8_208{flex:1;min-width:0;font-family:var(--pi-font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._toolTrailing_1mki8_217{flex-shrink:0;display:flex;align-items:center;gap:var(--pi-spacing-6);font-size:var(--pi-font-size-3xs)}._toolStatusRunning_1mki8_225{display:flex;align-items:center;gap:var(--pi-spacing-4);color:var(--pi-color-accentBright)}._toolStatusSuccess_1mki8_232{color:var(--pi-color-statusSuccess)}._toolStatusError_1mki8_236{color:var(--pi-color-destructive)}._toolStatusUnknown_1mki8_240{color:var(--pi-color-foregroundMuted)}._toolDiffAdded_1mki8_244{color:var(--pi-color-statusSuccess)}._toolDiffRemoved_1mki8_248{color:var(--pi-color-destructive)}._toolOpenButton_1mki8_252{flex-shrink:0;display:inline-flex;align-items:center;gap:var(--pi-spacing-2);padding:0;border:none;background:none;color:var(--pi-color-foregroundMuted);font:inherit;font-size:var(--pi-font-size-3xs);cursor:pointer}._toolOpenButton_1mki8_252:hover{color:var(--pi-color-foreground)}._toolLiveTail_1mki8_270{border-top:var(--pi-border-width-1) solid color-mix(in srgb,var(--pi-color-border) 60%,transparent);max-height:calc(12 * 1.5 * var(--pi-font-size-xs) + 2 * var(--pi-spacing-8));overflow:hidden}._toolBody_1mki8_277{border-top:1px solid var(--pi-color-border);max-height:420px;overflow:auto}._toolCode_1mki8_283{margin:0;padding:var(--pi-spacing-8) var(--pi-spacing-12);font-family:var(--pi-font-mono);font-size:var(--pi-font-size-xs);line-height:1.5;white-space:pre-wrap;word-break:break-word;color:var(--pi-color-foreground)}._toolOutputStrip_1mki8_294{border-top:var(--pi-border-width-1) solid color-mix(in srgb,var(--pi-color-border) 60%,transparent);padding:var(--pi-spacing-6) var(--pi-spacing-12);background:var(--pi-color-surface0);font-family:var(--pi-font-mono);font-size:var(--pi-font-size-3xs);color:var(--pi-color-foregroundMuted)}._toolDiffPreview_1mki8_304{border-top:var(--pi-border-width-1) solid color-mix(in srgb,var(--pi-color-border) 60%,transparent);padding:var(--pi-spacing-3) 0;font-family:var(--pi-font-mono);font-size:var(--pi-font-size-3xs)}._toolDiffPreviewLine_1mki8_312{padding:var(--pi-spacing-1) var(--pi-spacing-12)}._toolDiffPreviewAdd_1mki8_316{color:var(--pi-color-statusSuccess);background:color-mix(in srgb,var(--pi-color-statusSuccess) 9%,transparent)}._toolDiffPreviewDel_1mki8_321{color:var(--pi-color-destructive);background:color-mix(in srgb,var(--pi-color-destructive) 9%,transparent)}._toolDiffPreviewMore_1mki8_326{padding:var(--pi-spacing-1) var(--pi-spacing-12);color:var(--pi-color-foregroundMuted)}._errorDisc_1mki8_333{background:color-mix(in srgb,var(--pi-color-destructive) 25%,var(--pi-color-surface3))}._errorCard_1mki8_337{border:var(--pi-border-width-1) solid color-mix(in srgb,var(--pi-color-destructive) 45%,transparent);border-radius:var(--pi-radius-lg);background:color-mix(in srgb,var(--pi-color-destructive) 10%,var(--pi-color-surface1));padding:var(--pi-spacing-7) var(--pi-spacing-12);font-size:var(--pi-font-size-2xs)}._errorLead_1mki8_346{color:var(--pi-color-destructive);font-weight:var(--pi-font-weight-bold)}._systemRow_1mki8_353{text-align:center;color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-3xs);padding:var(--pi-spacing-4) 0}._compactionRow_1mki8_362{color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-3xs);padding:var(--pi-spacing-6) 0}._compactionRowFailed_1mki8_368{color:var(--pi-color-statusDanger)}._compactionDivider_1mki8_372{display:flex;align-items:center;gap:var(--pi-spacing-8)}._compactionRule_1mki8_378{flex:1;height:var(--pi-border-width-1);background:var(--pi-color-border)}._compactionLabel_1mki8_384{display:inline-flex;align-items:center;gap:var(--pi-spacing-4);max-width:80%}._compactionText_1mki8_391{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._compactionToggle_1mki8_397{display:inline-flex;align-items:center;gap:var(--pi-spacing-4);min-width:0;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer}._compactionToggle_1mki8_397:hover{color:var(--pi-color-foreground)}._compactionSummary_1mki8_414{margin-top:var(--pi-spacing-6);padding:var(--pi-spacing-7) var(--pi-spacing-12);border:var(--pi-border-width-1) solid var(--pi-color-border);border-radius:var(--pi-radius-lg);background:var(--pi-color-surface1);color:var(--pi-color-foreground);font-size:var(--pi-font-size-2xs)}._root_1xg4h_6{position:relative;flex:1 1 auto;min-height:0;display:flex}._viewport_1xg4h_13{flex:1 1 auto;overflow-y:auto;min-height:0;padding:var(--pi-spacing-16) var(--pi-spacing-20)}._inner_1xg4h_20{position:relative;width:100%}._rowWrap_1xg4h_25{position:absolute;top:0;left:0;width:100%;display:flex;flex-direction:column;padding-bottom:var(--pi-spacing-4)}._empty_1xg4h_35{display:flex;align-items:center;justify-content:center;height:100%;color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-sm)}._nudge_1xg4h_47{flex-direction:column;height:100%;width:100%;font-size:var(--pi-font-size-sm)}._jumpToLatest_1xg4h_56{position:absolute;right:var(--pi-spacing-20);bottom:var(--pi-spacing-16);width:32px;height:32px;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--pi-color-border);border-radius:var(--pi-radius-full);background:var(--pi-color-surface2);color:var(--pi-color-foreground);box-shadow:var(--pi-shadow-md);cursor:pointer;animation:_jumpToLatestIn_1xg4h_1 .12s ease-out}._jumpToLatest_1xg4h_56:hover{background:var(--pi-color-surface3)}._jumpToLatest_1xg4h_56:focus-visible{outline:2px solid var(--pi-color-accent);outline-offset:2px}@keyframes _jumpToLatestIn_1xg4h_1{0%{opacity:0;transform:translateY(var(--pi-spacing-4))}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){._jumpToLatest_1xg4h_56{animation:none}}._strip_nzfk5_4{display:flex;gap:var(--pi-spacing-6);flex-wrap:wrap;padding:var(--pi-spacing-6) 0 0}._thumb_nzfk5_11{position:relative;width:48px;height:48px;border-radius:var(--pi-radius-base);overflow:hidden;border:1px solid var(--pi-color-border);flex-shrink:0}._thumb_nzfk5_11 img{width:100%;height:100%;object-fit:cover;display:block}._remove_nzfk5_28{position:absolute;top:-2px;right:-2px;width:16px;height:16px;background:var(--pi-color-statusDanger);color:#fff;border:none;border-radius:50%;font-size:var(--pi-font-size-3xs);line-height:16px;text-align:center;cursor:pointer;padding:0}._picker_11hqs_4{display:flex;flex-direction:column;gap:var(--pi-spacing-4)}._search_11hqs_10{width:100%;box-sizing:border-box;padding:var(--pi-spacing-6) var(--pi-spacing-8);border-radius:var(--pi-radius-md);border:1px solid var(--pi-color-border);background:var(--pi-color-surface2);color:var(--pi-color-foreground);font-size:var(--pi-font-size-xs);outline:none}._search_11hqs_10::placeholder{color:var(--pi-color-foregroundMuted)}._search_11hqs_10:focus{border-color:var(--pi-color-accent)}._searchWrap_11hqs_28{position:relative}._searchWrap_11hqs_28 ._search_11hqs_10{padding-right:var(--pi-spacing-24)}._searchSpinner_11hqs_37{position:absolute;top:0;bottom:0;right:var(--pi-spacing-8);margin:auto 0}._list_11hqs_45{max-height:320px;overflow-y:auto}._item_11hqs_50{display:flex;align-items:center;gap:var(--pi-spacing-6);padding:var(--pi-spacing-6) var(--pi-spacing-8);border-radius:var(--pi-radius-base);font-size:var(--pi-font-size-sm);cursor:pointer;outline:none;scroll-margin-top:var(--pi-spacing-24)}._item_11hqs_50:hover,._item_11hqs_50[data-highlighted],._item_11hqs_50._itemActive_11hqs_67{background:color-mix(in srgb,var(--pi-color-surface1) 85%,var(--pi-color-foreground) 15%)}._checkSlot_11hqs_71{width:var(--pi-icon-size-md);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:var(--pi-color-foreground)}._label_11hqs_80{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._modelId_11hqs_86{color:var(--pi-color-foregroundMuted);margin-left:var(--pi-spacing-4);font-size:var(--pi-font-size-xs);white-space:nowrap}._state_11hqs_93{display:flex;align-items:center;justify-content:center;padding:var(--pi-spacing-12);color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-xs)}._stateError_11hqs_102{padding:var(--pi-spacing-8);color:var(--pi-color-statusDanger);font-size:var(--pi-font-size-xs)}._commandContent_11hqs_112{max-width:420px}._commandList_11hqs_115{display:flex;flex-direction:column;gap:var(--pi-spacing-2)}._commandItem_11hqs_120{flex-direction:column;align-items:stretch;gap:var(--pi-spacing-4);padding:var(--pi-spacing-8) var(--pi-spacing-10)}._commandItem_11hqs_120:hover{background:color-mix(in srgb,var(--pi-color-foreground) 10%,transparent)}._commandItem_11hqs_120._itemActive_11hqs_67{background:var(--pi-color-surface0);box-shadow:inset 2px 0 0 var(--pi-color-accent);border-radius:var(--pi-radius-none)}._commandItemHeader_11hqs_152{display:flex;align-items:center;justify-content:space-between;gap:var(--pi-spacing-8);width:100%}._commandItemHeader_11hqs_152 ._label_11hqs_80{flex:1;min-width:0;font-size:var(--pi-font-size-sm);font-weight:600;color:var(--pi-color-foreground)}._commandKindBadge_11hqs_166{flex-shrink:0;display:inline-flex;align-items:center;padding:0 var(--pi-spacing-4);border-radius:var(--pi-radius-full);border:1px solid var(--pi-color-border);background:var(--pi-color-surface2);color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-4xs);font-weight:600;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;line-height:1.5}._commandKindExtension_11hqs_185{background:color-mix(in srgb,var(--pi-color-accent) 18%,transparent);border-color:color-mix(in srgb,var(--pi-color-accent) 45%,transparent);color:var(--pi-color-accent)}._commandKindPrompt_11hqs_190{background:color-mix(in srgb,var(--pi-color-statusSuccess) 18%,transparent);border-color:color-mix(in srgb,var(--pi-color-statusSuccess) 45%,transparent);color:var(--pi-color-statusSuccess)}._commandKindSkill_11hqs_195{background:color-mix(in srgb,var(--pi-color-statusMerged) 18%,transparent);border-color:color-mix(in srgb,var(--pi-color-statusMerged) 45%,transparent);color:var(--pi-color-statusMerged)}._commandDescription_11hqs_200{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-overflow:ellipsis;white-space:normal;line-height:1.4;font-size:var(--pi-font-size-xs);color:var(--pi-color-foregroundMuted)}._commandItemDisabled_11hqs_214{opacity:.45;cursor:default}._composer_excz7_4{padding:var(--pi-spacing-8) var(--pi-spacing-16) var(--pi-spacing-12);border-top:1px solid var(--pi-color-border);background:var(--pi-color-surface1);flex-shrink:0}._card_excz7_13{display:flex;flex-direction:column;gap:var(--pi-spacing-4);padding:var(--pi-spacing-6);border:1px solid var(--pi-color-border);border-radius:var(--pi-radius-xl);background:var(--pi-color-surface2);transition:border-color .12s ease}._card_excz7_13._flash_excz7_27{border-color:color-mix(in srgb,var(--pi-color-accentBright) 45%,var(--pi-color-border) 55%)}._card_excz7_13._dropTarget_excz7_33{border-color:var(--pi-color-accent)}@media(prefers-reduced-motion:reduce){._card_excz7_13._flash_excz7_27,._card_excz7_13._dropTarget_excz7_33{transition:none}}._note_excz7_48{margin-top:var(--pi-spacing-4);font-size:var(--pi-font-size-3xs);color:var(--pi-color-foregroundMuted)}._inlineError_excz7_55{margin-top:var(--pi-spacing-4);font-size:var(--pi-font-size-3xs);color:var(--pi-color-statusDanger)}._card_excz7_13._compacting_excz7_63,._card_excz7_13._compacting_excz7_63:has(._textarea_excz7_31:focus){border-color:var(--pi-color-border);background:var(--pi-color-surface1)}._card_excz7_13._compacting_excz7_63 ._textarea_excz7_31{color:var(--pi-color-foregroundMuted);cursor:progress}._compactStatus_excz7_73{display:flex;align-items:center;gap:var(--pi-spacing-6);min-width:0;margin-top:var(--pi-spacing-4);font-size:var(--pi-font-size-3xs);color:var(--pi-color-foregroundMuted)}._compactStatusText_excz7_82{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._compactCancel_excz7_88{flex-shrink:0;padding:0;border:none;background:none;cursor:pointer;font:inherit;color:var(--pi-color-foreground);text-decoration:underline;text-underline-offset:2px}._compactCancel_excz7_88:hover{color:var(--pi-color-statusDanger)}._card_excz7_13:has(._textarea_excz7_31:focus){border-color:var(--pi-color-accent)}._textarea_excz7_31{resize:none;min-height:38px;max-height:160px;overflow-y:auto;font-size:var(--pi-font-size-md)}._card_excz7_13 ._textarea_excz7_31{background:transparent;border-color:transparent}._card_excz7_13 ._textarea_excz7_31:focus{border-color:transparent;outline:none}._textareaWrap_excz7_129{position:relative;display:flex;min-width:0}._textareaWrap_excz7_129 ._textarea_excz7_31{position:relative}._highlightLayer_excz7_117{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--pi-spacing-8) var(--pi-spacing-12);border:1px solid transparent;box-sizing:border-box;font-size:var(--pi-font-size-md);font-family:var(--pi-font-ui);line-height:normal;white-space:pre-wrap;overflow-wrap:break-word;overflow:hidden;color:transparent;pointer-events:none}._commandMark_excz7_152{background:color-mix(in srgb,var(--pi-color-accent) 24%,transparent);color:transparent;border-radius:var(--pi-radius-base);box-shadow:0 0 0 1px color-mix(in srgb,var(--pi-color-accent) 55%,transparent),0 0 0 3px color-mix(in srgb,var(--pi-color-accent) 24%,transparent)}._hiddenFileInput_excz7_177{display:none}._toolbar_excz7_183{display:flex;align-items:center;gap:var(--pi-spacing-2);min-width:0}._toolbarRight_excz7_190{display:flex;align-items:center;gap:var(--pi-spacing-6);margin-left:auto;min-width:0}._toolBtn_excz7_198{flex-shrink:0}._card_excz7_13 ._roundBtn_excz7_204{border-radius:var(--pi-radius-full);flex-shrink:0}._modelBtn_excz7_209{display:flex;align-items:center;gap:var(--pi-spacing-2);min-width:0;max-width:340px;padding:var(--pi-spacing-4) var(--pi-spacing-6);border:none;border-radius:var(--pi-radius-md);background:transparent;color:var(--pi-color-foregroundMuted);font-family:var(--pi-font-ui);font-size:var(--pi-font-size-sm);cursor:pointer}._modelBtn_excz7_209:hover:not(:disabled),._modelBtn_excz7_209[data-state=open]{background:var(--pi-color-surface3);color:var(--pi-color-foreground)}._modelBtn_excz7_209:disabled{cursor:default;opacity:.6}._modelLabel_excz7_239{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pi-color-foreground)}._modelId_excz7_237{flex-shrink:8;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-xs)}._modelChevron_excz7_257{flex-shrink:0;transition:transform .15s ease}._modelBtn_excz7_209[data-state=open] ._modelChevron_excz7_257{transform:rotate(180deg)}._panel_3trtd_5{flex:0 0 auto;display:flex;flex-direction:column;min-height:0;max-height:40%;margin:var(--pi-spacing-4) var(--pi-spacing-12);border:var(--pi-border-width-1) solid var(--pi-color-border);border-radius:var(--pi-radius-lg);background:var(--pi-color-surface1);overflow:hidden}._header_3trtd_18{display:flex;align-items:center;gap:var(--pi-spacing-8);width:100%;min-width:0;flex-shrink:0;padding:var(--pi-spacing-6) var(--pi-spacing-12);background:none;border:none;cursor:pointer;color:var(--pi-color-foreground);font-size:var(--pi-font-size-xs);text-align:left}._header_3trtd_18:focus-visible,._rowButton_3trtd_35:focus-visible{outline:var(--pi-border-width-1) solid var(--pi-color-accent);outline-offset:calc(var(--pi-border-width-1) * -1)}._chevron_3trtd_40{display:inline-flex;flex-shrink:0;transition:transform .12s ease}._chevronOpen_3trtd_46{transform:rotate(90deg)}._label_3trtd_50{font-weight:600;flex-shrink:0}._count_3trtd_55{color:var(--pi-color-foregroundMuted);flex-shrink:0}._summary_3trtd_60{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pi-color-foregroundMuted)}._body_3trtd_69{flex:1 1 auto;min-height:0;overflow-y:auto;margin:0;padding:0 0 var(--pi-spacing-6);list-style:none;border-top:var(--pi-border-width-1) solid var(--pi-color-border)}._row_3trtd_35{display:flex;flex-direction:column}._rowButton_3trtd_35,._rowStatic_3trtd_85{display:flex;align-items:flex-start;gap:var(--pi-spacing-8);width:100%;padding:var(--pi-spacing-3) var(--pi-spacing-12);background:none;border:none;color:var(--pi-color-foreground);font-size:var(--pi-font-size-xs);text-align:left}._rowButton_3trtd_35{cursor:pointer}._icon_3trtd_102{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--pi-spacing-16);height:var(--pi-spacing-16)}._iconInProgress_3trtd_111{color:var(--pi-color-accent)}._iconCompleted_3trtd_115{color:var(--pi-color-statusSuccess)}._iconPending_3trtd_119{color:var(--pi-color-foregroundMuted)}._text_3trtd_123{flex:1;min-width:0;overflow:hidden;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3}._textCompleted_3trtd_135{color:var(--pi-color-foregroundMuted);text-decoration:line-through}._id_3trtd_140{flex-shrink:0;color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-2xs)}._blocked_3trtd_146{flex:0 1 auto;min-width:0;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pi-color-statusWarning);font-size:var(--pi-font-size-2xs)}._details_3trtd_157{margin:0;padding:0 var(--pi-spacing-12) var(--pi-spacing-4) var(--pi-spacing-32);color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-2xs);white-space:pre-wrap;overflow-wrap:anywhere}._footer_3trtd_166{flex-shrink:0;padding:var(--pi-spacing-4) var(--pi-spacing-12);border-top:var(--pi-border-width-1) solid var(--pi-color-border);color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-2xs)}@media(prefers-reduced-motion:reduce){._chevron_3trtd_40{transition:none}}._nested_3trtd_180{margin:0;padding:0 0 0 var(--pi-spacing-16);list-style:none}._track_oxvl6_2{position:absolute;inset-inline:0;top:0;z-index:1;height:3px;background:color-mix(in srgb,var(--pi-color-accent) 22%,transparent);overflow:hidden}._sweep_oxvl6_24{position:absolute;inset-block:0;width:38%;left:-38%;background:linear-gradient(90deg,transparent,var(--pi-color-accent) 35%,color-mix(in srgb,var(--pi-color-accent) 75%,var(--pi-color-accentBright)) 50%,var(--pi-color-accent) 65%,transparent);animation:_sweep_oxvl6_24 1.5s linear infinite}@keyframes _sweep_oxvl6_24{0%{left:-38%}to{left:100%}}@media(prefers-reduced-motion:reduce){._sweep_oxvl6_24{animation:none;width:100%;left:0;opacity:var(--pi-opacity-50)}}._visuallyHidden_oxvl6_64{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}._panel_1tq06_1{position:relative}._empty_1tq06_5{display:flex;align-items:center;justify-content:center;height:100%;color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-sm)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var j=Object.defineProperty;var q=(r,n,e)=>n in r?j(r,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[n]=e;var d=(r,n,e)=>q(r,typeof n!="symbol"?n+"":n,e);import{r as u,j as w}from"./vendor-react-DQUAl2K8.js";import{u as y}from"./vendor-query-i7fr__Xm.js";import{u as F,r as p}from"./index-
|
|
1
|
+
var j=Object.defineProperty;var q=(r,n,e)=>n in r?j(r,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[n]=e;var d=(r,n,e)=>q(r,typeof n!="symbol"?n+"":n,e);import{r as u,j as w}from"./vendor-react-DQUAl2K8.js";import{u as y}from"./vendor-query-i7fr__Xm.js";import{u as F,r as p}from"./index-CchwjcLZ.js";import{u as x}from"./use-file-download-8zPww5m-.js";import{Q as S,S as _,T as b,U as B,V as z,W as U}from"./vendor-DaF96HbP.js";function D(r){const{maxDisplayBytes:n,inline:e,streamed:o,download:a}=r;if(e.isLoading)return{kind:"loading"};if(e.tooLarge){const{size:t}=e.tooLarge;return t>n?{kind:"too-large",size:t,maxDisplayBytes:n,downloading:a.requested&&a.isLoading,downloadUrl:a.objectUrl,downloadName:a.fileName}:o.isLoading?{kind:"streaming",size:t}:o.isError?{kind:"stream-error",size:t,message:o.errorMessage??"stream failed"}:o.content!==null?{kind:"streamed",size:t,content:o.content}:{kind:"loading"}}return e.isError?{kind:"error",message:e.errorMessage??"unknown error"}:e.content!==null?{kind:"inline",content:e.content}:{kind:"loading"}}class h extends Error{constructor(e,o){super("file_too_large");d(this,"size");d(this,"maxBytes");this.name="FileTooLargeError",this.size=e,this.maxBytes=o}}function R(r){if(!r.ok)throw r.error==="file_too_large"?new h(r.size??0,r.maxBytes):new Error(r.error??"file read failed");return{content:r.content??"",size:r.size??0}}function T(r,n=!0){const e=F(o=>o.client);return y({queryKey:p.fileRead(r),queryFn:async()=>{if(!e)throw new Error("not connected");const o=await e.connection.request("file_read_request",{path:r});return R(o)},enabled:!!e&&!!r&&n})}function M(r){const{enabled:n,download:e,decode:o}=r;return{isLoading:n&&(e.isLoading||e.hasObjectUrl&&o.isLoading),isError:e.isError||o.isError,error:e.isError?e.error:o.error,data:o.data}}function C(r,n=!0){var t;const e=x(r,n),o=(t=e.data)==null?void 0:t.objectUrl,a=y({queryKey:p.fileText(r,o??null),queryFn:async()=>({content:await(await fetch(o)).text()}),enabled:n&&!!o});return M({enabled:n,download:{isLoading:e.isLoading,isError:e.isError,error:e.error,hasObjectUrl:!!o},decode:{isLoading:a.isLoading,isError:a.isError,error:a.error,data:a.data}})}const E=30*1024*1024;function Y(r,n=!0){var c,f,g,m;const e=T(r,n),o=e.error instanceof h?e.error:null,a=o!==null&&o.size<=E,t=C(r,n&&a),[i,k]=u.useState(!1),s=x(r,n&&i),l=D({maxDisplayBytes:E,inline:{isLoading:e.isLoading,isError:e.isError,tooLarge:o?{size:o.size}:null,errorMessage:e.error instanceof Error?e.error.message:null,content:((c=e.data)==null?void 0:c.content)??null},streamed:{isLoading:t.isLoading,isError:t.isError,errorMessage:t.error instanceof Error?t.error.message:null,content:((f=t.data)==null?void 0:f.content)??null},download:{requested:i,isLoading:s.isLoading,objectUrl:((g=s.data)==null?void 0:g.objectUrl)??null,fileName:((m=s.data)==null?void 0:m.fileName)??null}});return l.kind==="too-large"?{...l,requestDownload:()=>k(!0)}:l}const N="_wrap_1feu3_1",v={wrap:N},L=new Map;function K(r){const[n,e]=u.useState(null);return u.useEffect(()=>{const o=z.matchFilename(U,r);if(!o){e(null);return}const a=L.get(o.name);if(a){e(a);return}let t=!1;return e(null),o.load().then(i=>{L.set(o.name,i),t||e(i)}),()=>{t=!0}},[r]),n?[n]:[]}function I({path:r,content:n}){const e=K(r),o=[S.lineWrapping,_(),...e];return w.jsx("div",{className:v.wrap,children:w.jsx(b,{value:n,theme:B,extensions:o,editable:!1,readOnly:!0,basicSetup:{highlightActiveLine:!1,foldGutter:!1,searchKeymap:!1},height:"100%"})})}export{I as C,Y as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as d,j as s}from"./vendor-react-DQUAl2K8.js";import{N as _}from"./vendor-DaF96HbP.js";import{u as j,r as f,L as w,a as E,e as D,V as K,P as N,B as x,E as l,S as y,i as S}from"./index-
|
|
1
|
+
import{r as d,j as s}from"./vendor-react-DQUAl2K8.js";import{N as _}from"./vendor-DaF96HbP.js";import{u as j,r as f,L as w,a as E,e as D,V as K,P as N,B as x,E as l,S as y,i as S}from"./index-CchwjcLZ.js";import{u as b,a as k}from"./vendor-query-i7fr__Xm.js";import{u as q}from"./use-file-watch-CYQrRagj.js";import{D as z}from"./DiffView-D1TsZBGe.js";import"./vendor-icons-Bh5CT32q.js";import"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";function V(e,t,n,i=!0){const a=j(r=>r.client);return b({queryKey:f.fileDiff(e,t,n),queryFn:async()=>{if(!a)throw new Error("not connected");return{patch:(await a.connection.request("file_diff_request",{path:e,cwd:t,staged:n})).patch??""}},enabled:!!a&&!!e&&!!t&&i})}function B(e,t,n){const i=k(),a=w.has(n)?E(e,t):null,{changedAt:r}=q(a);d.useEffect(()=>{r!==null&&(i.invalidateQueries({queryKey:f.fileRead(e)}),i.invalidateQueries({queryKey:f.fileDownload(e)}),i.invalidateQueries({queryKey:f.fileDiffByPath(e)}))},[r,e,i])}const C="_header_10rse_1",F="_path_10rse_11",L="_size_10rse_18",P="_viewToggle_10rse_23",Q="_body_10rse_28",c={header:C,path:F,size:L,viewToggle:P,body:Q};function g(e){return"path"in e}function R(e){return"staged"in e}function O({tab:e}){var m;const t=e.kind==="diff",n=e.data,i=g(n)?n.path:"",a=g(n)&&R(n)?n.staged:!1,[r,h]=d.useState(t?"diff":"file"),u=e.workspaceCwd||"~",[p]=d.useState(()=>D(i,S));B(i,u,p);const o=V(i,u,a,r==="diff"),v=K[p];return s.jsxs(N,{children:[s.jsxs("div",{className:c.header,children:[s.jsx("span",{className:c.path,children:i}),s.jsx("span",{className:c.size,children:r==="diff"?a?"staged":"unstaged":null}),s.jsxs("div",{className:c.viewToggle,children:[s.jsx(x,{size:"xs",variant:r==="file"?"default":"ghost",onClick:()=>h("file"),children:"File"}),s.jsx(x,{size:"xs",variant:r==="diff"?"default":"ghost",onClick:()=>h("diff"),children:"Diff"})]})]}),s.jsx("div",{className:_(c.body,"file-body"),children:r==="file"?s.jsx(d.Suspense,{fallback:s.jsxs(l,{children:[s.jsx(y,{size:"sm"})," Loading..."]}),children:s.jsx(v,{path:i,workspaceCwd:u})}):o.isLoading?s.jsxs(l,{children:[s.jsx(y,{size:"sm"})," Loading diff..."]}):o.isError?s.jsxs(l,{children:["Error: ",o.error instanceof Error?o.error.message:"unknown error"]}):(m=o.data)!=null&&m.patch?s.jsx(z,{patch:o.data.patch}):s.jsx(l,{style:{padding:"var(--pi-spacing-30)"},children:"No changes (file matches HEAD)"})})]})}export{O as FilePanel};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as v,j as r}from"./vendor-react-DQUAl2K8.js";import{a as ie,u as ae}from"./vendor-query-i7fr__Xm.js";import{n as ce,a as G,c as le,d as X,u as F,p as ue,E as A,S as R,B as C,r as B,t as de}from"./index-DjUHduQf.js";import{S as fe}from"./Switch-1I6AMAC7.js";import{u as me,C as pe}from"./CodeView-BGmM4Xdz.js";import{p as he,S as ge}from"./href-resolution-DWAlGpSI.js";import"./vendor-DaF96HbP.js";import"./vendor-icons-Dq3K7TC5.js";import"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";import"./use-file-download-Bc8Kby2g.js";const I={maxCount:64,maxBytesPerAsset:2*1024*1024,maxBytesTotal:16*1024*1024};function K(s,t,e){return!(s>=I.maxCount||e>I.maxBytesPerAsset||t+e>I.maxBytesTotal)}function Y(s){return s===""||s.startsWith("#")?"unsupported":s.startsWith("//")||ge.test(s)?"external":null}function xe(s,t,e){return e!==null&&t===e?s:t}function J(s,t,e,n,i=null){const o=s.trim(),u=Y(o);if(u)return{kind:"skip",raw:s,reason:u};const a=he(o);let p;if(a.startsWith("/")?p=a:a==="~"||a.startsWith("~/")?p=i!==null?ce(a,i):null:p=G(a,t),!p)return{kind:"skip",raw:s,reason:"unsupported"};const h=le(p);return h!==e&&!h.startsWith(`${e}/`)?{kind:"skip",raw:s,reason:"outside-workspace"}:{kind:"local",raw:s,path:h,context:n}}const we={css:"text/css",js:"text/javascript",mjs:"text/javascript",html:"text/html",htm:"text/html",json:"application/json",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",ico:"image/x-icon",bmp:"image/bmp",avif:"image/avif",mp4:"video/mp4",webm:"video/webm",mov:"video/quicktime",m4v:"video/x-m4v",ogv:"video/ogg",mp3:"audio/mpeg",wav:"audio/wav",oga:"audio/ogg",ogg:"audio/ogg",m4a:"audio/mp4",woff:"font/woff",woff2:"font/woff2",ttf:"font/ttf",otf:"font/otf",eot:"application/vnd.ms-fontobject"};function _e(s){const t=s.lastIndexOf("/"),e=s.lastIndexOf(".");return e<=t?"application/octet-stream":we[s.slice(e+1).toLowerCase()]??"application/octet-stream"}function ve(s){let t="";for(let n=0;n<s.length;n+=32768)t+=String.fromCharCode(...s.subarray(n,n+32768));return btoa(t)}function q(s,t){return`data:${s};base64,${ve(t)}`}const z=/<([a-zA-Z][a-zA-Z0-9]*)((?:\s+[a-zA-Z_:][-a-zA-Z0-9_:.]*(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=<>`]+))?)*)(\s*\/?>)/g,O=/([a-zA-Z_:][-a-zA-Z0-9_:.]*)\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'=<>`]+))/g;function ee(s){const t=new Map;O.lastIndex=0;let e;for(;e=O.exec(s);){const n=e[1].toLowerCase();t.has(n)||t.set(n,e[2]??e[3]??e[4]??"")}return t}function te(s,t){switch(s){case"link":{const e=t.get("rel")??"";return/(^|\s)stylesheet(\s|$)/i.test(e)?t.has("href")?[{name:"href",context:"style",multi:!1}]:[]:[]}case"script":return t.has("src")?[{name:"src",context:"script",multi:!1}]:[];case"img":{const e=[];return t.has("src")&&e.push({name:"src",context:"image",multi:!1}),t.has("srcset")&&e.push({name:"srcset",context:"image",multi:!0}),e}case"source":{const e=[];return t.has("src")&&e.push({name:"src",context:"media",multi:!1}),t.has("srcset")&&e.push({name:"srcset",context:"media",multi:!0}),e}case"video":{const e=[];return t.has("src")&&e.push({name:"src",context:"media",multi:!1}),t.has("poster")&&e.push({name:"poster",context:"media",multi:!1}),e}case"audio":return t.has("src")?[{name:"src",context:"media",multi:!1}]:[];default:return[]}}function se(s){return s.split(",").map(t=>t.trim()).filter(t=>t!=="").map(t=>{const e=t.search(/\s/);return e===-1?{url:t,descriptor:""}:{url:t.slice(0,e),descriptor:t.slice(e).trim()}})}function ye(s){return s.map(t=>t.descriptor?`${t.url} ${t.descriptor}`:t.url).join(", ")}function $(s,t,e){Y(t.trim())||s.has(t)||s.set(t,{raw:t,context:e})}function ke(s){const t=new Map;z.lastIndex=0;let e;for(;e=z.exec(s);){const n=e[1].toLowerCase(),i=ee(e[2]??"");for(const o of te(n,i)){const u=i.get(o.name)??"";if(o.multi)for(const a of se(u))$(t,a.url,o.context);else $(t,u,o.context)}}return[...t.values()]}function je(s,t){let e=!1;const n=se(s).map(i=>{const o=t[i.url];return o===void 0?i:(e=!0,{url:o,descriptor:i.descriptor})});return e?ye(n):null}function be(s,t){return Object.keys(t).length===0?s:(z.lastIndex=0,s.replace(z,(e,n,i,o)=>{const u=ee(i),a=te(n.toLowerCase(),u);if(a.length===0)return e;const p=new Map(a.map(d=>[d.name,d]));let h=!1;const E=i.replace(O,(d,f,l,w,y)=>{const _=p.get(f.toLowerCase());if(!_)return d;const g=l??w??y??"",b=_.multi?je(g,t):t[g]??null;return b===null?d:(h=!0,`${f}="${b}"`)});return h?`<${n}${E}${o}`:e}))}const P=/url\(\s*(?:"([^"]*)"|'([^']*)'|([^'")\s]*))\s*\)/gi,U=/@font-face\s*\{[^}]*\}/gi;function ne(s,t,e){return s??t??e??""}function Se(s){const t=[];U.lastIndex=0;let e;for(;e=U.exec(s);)t.push([e.index,e.index+e[0].length]);return t}function Ee(s){const t=Se(s),e=new Map;P.lastIndex=0;let n;for(;n=P.exec(s);){const i=ne(n[1],n[2],n[3]),o=t.some(([u,a])=>n.index>=u&&n.index<a)?"font":"image";$(e,i,o)}return[...e.values()]}function Le(s,t){return Object.keys(t).length===0?s:(P.lastIndex=0,s.replace(P,(e,n,i,o)=>{const u=t[ne(n,i,o)];return u===void 0?e:`url("${u}")`}))}const Ae=Object.freeze(["allow-scripts"]),Ce="https://pi-studio-preview.invalid/",Ne="default-src 'none'; img-src data:; style-src 'unsafe-inline' data:; script-src 'unsafe-inline' data:; font-src data:; media-src data:",Te=`<script>(function(){document.addEventListener("click",function(e){var a=e.target&&e.target.closest&&e.target.closest('a[href^="#"]');if(!a)return;var frag=a.getAttribute("href").slice(1);e.preventDefault();if(!frag){window.scrollTo(0,0);return;}var el=document.getElementById(frag)||document.getElementsByName(frag)[0];if(el)el.scrollIntoView();},true);})();<\/script>`,Re=/<head(\s[^>]*)?>/i,Be=/<html(\s[^>]*)?>/i,Me=/<base[\s/>]/i;function ze(s,t){const e=be(s,t.assets??{}),n=[];t.blockRemote&&n.push(`<meta http-equiv="Content-Security-Policy" content="${Ne}">`),Me.test(e)||(n.push(`<base href="${Ce}">`),n.push(Te));const i=n.join("");if(i==="")return e;const o=Re.exec(e);if(o){const a=o.index+o[0].length;return e.slice(0,a)+i+e.slice(a)}const u=Be.exec(e);if(u){const a=u.index+u[0].length;return e.slice(0,a)+`<head>${i}</head>`+e.slice(a)}return`<head>${i}</head>`+e}const V=6;async function W(s,t,e){let n=0;async function i(){for(;n<s.length;){const o=s[n];n+=1,await e(o)}}await Promise.all(Array.from({length:Math.min(t,s.length)},i))}function Q(s){const t=new Map;for(const e of s){const n=t.get(e.path);n?n.push(e):t.set(e.path,[e])}return t}async function Pe(s,t){const e={},n=[];let i=0,o=0,u=!1;const a=[];for(const d of s)d.kind==="skip"?n.push({raw:d.raw,reason:d.reason}):a.push(d);function p(d,f){for(const l of d)n.push({raw:l.raw,reason:f})}async function h(d,f){if(u){p(f,"over-cap");return}let l;try{l=await t.fetchBytes(d)}catch{p(f,"fetch-failed");return}if(!K(i,o,l.byteLength)){u=!0,p(f,"over-cap");return}if(i+=1,o+=l.byteLength,f[0].context!=="style"){const m=q(_e(d),l);for(const j of f)e[j.raw]=m;return}const w=new TextDecoder().decode(l),y=X(d),_=Ee(w).map(m=>J(m.raw,y,t.root,m.context,t.homeDir)),g=[];for(const m of _)m.kind==="skip"?n.push({raw:m.raw,reason:m.reason}):g.push(m);const b=Q(g);await W([...b.entries()],V,([m,j])=>h(m,j));const N={};for(const m of g){const j=e[m.raw];j!==void 0&&(N[m.raw]=j)}const L=Le(w,N),S=new TextEncoder().encode(L),k=S.byteLength-l.byteLength;if(k>0&&!K(i-1,o-l.byteLength,S.byteLength)){u=!0,p(f,"over-cap");return}o+=k;const T=q("text/css",S);for(const m of f)e[m.raw]=T}const E=Q(a);return await W([...E.entries()],V,([d,f])=>h(d,f)),{assets:e,skipped:n}}const Ie="_wrap_1et27_1",Oe="_toolbar_1et27_7",$e="_modeToggle_1et27_20",De="_controls_1et27_24",He="_switchLabel_1et27_29",Fe="_streamedNote_1et27_37",Ke="_skippedNote_1et27_45",qe="_skippedToggle_1et27_52",Ue="_skippedList_1et27_64",Ve="_body_1et27_69",We="_frame_1et27_73",Qe="_tooLarge_1et27_79",x={wrap:Ie,toolbar:Oe,modeToggle:$e,controls:De,switchLabel:He,streamedNote:Fe,skippedNote:Ke,skippedToggle:qe,skippedList:Ue,body:Ve,frame:We,tooLarge:Qe},Ze=Ae.join(" "),Z=Object.freeze({}),Ge=Object.freeze([]),oe={external:"external","outside-workspace":"outside workspace",unsupported:"unsupported","over-cap":"over cap","fetch-failed":"not found"};function Xe(s){const t=new Map;for(const e of s){const n=oe[e.reason];t.set(n,(t.get(n)??0)+1)}return[...t.entries()].map(([e,n])=>`${n} ${e}`).join(", ")}function Ye(s){let t=2166136261;for(let e=0;e<s.length;e++)t^=s.charCodeAt(e),t=Math.imul(t,16777619);return(t>>>0).toString(16)}function M(s){return`${(s/(1024*1024)).toFixed(1)} MB`}function dt({path:s,workspaceCwd:t}){var D,H;const e=me(s),[n,i]=v.useState("preview"),[o,u]=v.useState(!1),[a,p]=v.useState(!1),h=ie(),E=F(c=>c.client),d=F(c=>c.daemon),f=ue(),l=e.kind==="inline"||e.kind==="streamed"?e.content:null,w=v.useMemo(()=>{const c=G(s,t);return c?X(c):null},[s,t]),y=v.useMemo(()=>w!==null?xe(w,t,f):null,[w,t,f]),_=v.useMemo(()=>l===null||w===null||y===null?[]:ke(l).map(c=>J(c.raw,w,y,c.context,f)),[l,w,y,f]),g=v.useMemo(()=>_.some(c=>c.kind==="local"),[_]),b=v.useMemo(()=>_.flatMap(c=>c.kind==="skip"?[{raw:c.raw,reason:c.reason}]:[]),[_]),N=v.useMemo(()=>g&&l!==null?Ye(l):"",[l,g]),L=ae({queryKey:B.htmlAssetBundle(s,N),queryFn:()=>y===null?Promise.resolve({assets:{},skipped:[]}):Pe(_,{root:y,homeDir:f,fetchBytes:async re=>{if(!E||!d)throw new Error("not connected");return(await de(d).download(re)).bytes}}),enabled:g,staleTime:1/0}),S=g?((D=L.data)==null?void 0:D.assets)??Z:Z,k=g?((H=L.data)==null?void 0:H.skipped)??Ge:b,T=v.useMemo(()=>l===null?null:ze(l,{assets:S,blockRemote:o}),[l,S,o]);function m(){h.invalidateQueries({queryKey:B.fileRead(s)}),h.invalidateQueries({queryKey:B.fileDownload(s)}),h.invalidateQueries({queryKey:B.htmlAssetBundleByPath(s)})}switch(e.kind){case"loading":return r.jsxs(A,{children:[r.jsx(R,{size:"sm"})," Loading..."]});case"streaming":return r.jsxs(A,{children:[r.jsx(R,{size:"sm"})," Streaming ",M(e.size)," file..."]});case"stream-error":case"error":return r.jsxs(A,{children:["Error: ",e.message]});case"too-large":{const c=s.split("/").pop()||s;return r.jsx(A,{children:r.jsxs("div",{className:x.tooLarge,children:[r.jsxs("div",{children:[M(e.size)," — too large to display (display ceiling is"," ",M(e.maxDisplayBytes),")."]}),e.downloading?r.jsx(R,{size:"sm"}):e.downloadUrl?r.jsx("a",{href:e.downloadUrl,download:e.downloadName||c,children:r.jsx(C,{size:"sm",children:"Save file"})}):r.jsx(C,{size:"sm",onClick:()=>e.requestDownload(),children:"Download"})]})})}}if(l===null||T===null)return null;if(g&&L.data===void 0)return r.jsxs(A,{children:[r.jsx(R,{size:"sm"})," Loading assets..."]});const j=s.split("/").pop()||s;return r.jsxs("div",{className:x.wrap,children:[r.jsxs("div",{className:x.toolbar,children:[r.jsxs("div",{className:x.modeToggle,children:[r.jsx(C,{size:"xs",variant:n==="preview"?"default":"ghost",onClick:()=>i("preview"),children:"Preview"}),r.jsx(C,{size:"xs",variant:n==="source"?"default":"ghost",onClick:()=>i("source"),children:"Source"})]}),r.jsxs("div",{className:x.controls,children:[r.jsxs("label",{className:x.switchLabel,children:[r.jsx(fe,{checked:o,onCheckedChange:u,"aria-label":"Block remote resources"}),"Block remote resources"]}),r.jsx(C,{size:"xs",variant:"ghost",onClick:m,children:"Reload"})]})]}),e.kind==="streamed"?r.jsxs("div",{className:x.streamedNote,children:[M(e.size)," file streamed"]}):null,k.length>0?r.jsxs("div",{className:x.skippedNote,children:[r.jsxs("button",{type:"button",className:x.skippedToggle,onClick:()=>p(c=>!c),children:[k.length," reference",k.length===1?"":"s"," not inlined (",Xe(k),")"]}),a?r.jsx("ul",{className:x.skippedList,children:k.map(c=>r.jsxs("li",{children:[c.raw," — ",oe[c.reason]]},c.raw))}):null]}):null,r.jsxs("div",{className:x.body,children:[r.jsx("iframe",{sandbox:Ze,srcDoc:T,referrerPolicy:"no-referrer",allow:"",className:x.frame,style:n==="preview"?void 0:{display:"none"},title:j}),n==="source"?r.jsx(pe,{path:s,content:l}):null]})]})}export{dt as HtmlViewer};
|
|
1
|
+
import{r as v,j as r}from"./vendor-react-DQUAl2K8.js";import{a as ie,u as ae}from"./vendor-query-i7fr__Xm.js";import{n as ce,a as G,c as le,d as X,u as F,p as ue,E as A,S as R,B as C,r as B,t as de}from"./index-CchwjcLZ.js";import{S as fe}from"./Switch-1I6AMAC7.js";import{u as me,C as pe}from"./CodeView-CLqXf_zq.js";import{p as he,S as ge}from"./href-resolution-CSqTI9Vm.js";import"./vendor-DaF96HbP.js";import"./vendor-icons-Bh5CT32q.js";import"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";import"./use-file-download-8zPww5m-.js";const I={maxCount:64,maxBytesPerAsset:2*1024*1024,maxBytesTotal:16*1024*1024};function K(s,t,e){return!(s>=I.maxCount||e>I.maxBytesPerAsset||t+e>I.maxBytesTotal)}function Y(s){return s===""||s.startsWith("#")?"unsupported":s.startsWith("//")||ge.test(s)?"external":null}function xe(s,t,e){return e!==null&&t===e?s:t}function J(s,t,e,n,i=null){const o=s.trim(),u=Y(o);if(u)return{kind:"skip",raw:s,reason:u};const a=he(o);let p;if(a.startsWith("/")?p=a:a==="~"||a.startsWith("~/")?p=i!==null?ce(a,i):null:p=G(a,t),!p)return{kind:"skip",raw:s,reason:"unsupported"};const h=le(p);return h!==e&&!h.startsWith(`${e}/`)?{kind:"skip",raw:s,reason:"outside-workspace"}:{kind:"local",raw:s,path:h,context:n}}const we={css:"text/css",js:"text/javascript",mjs:"text/javascript",html:"text/html",htm:"text/html",json:"application/json",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",ico:"image/x-icon",bmp:"image/bmp",avif:"image/avif",mp4:"video/mp4",webm:"video/webm",mov:"video/quicktime",m4v:"video/x-m4v",ogv:"video/ogg",mp3:"audio/mpeg",wav:"audio/wav",oga:"audio/ogg",ogg:"audio/ogg",m4a:"audio/mp4",woff:"font/woff",woff2:"font/woff2",ttf:"font/ttf",otf:"font/otf",eot:"application/vnd.ms-fontobject"};function _e(s){const t=s.lastIndexOf("/"),e=s.lastIndexOf(".");return e<=t?"application/octet-stream":we[s.slice(e+1).toLowerCase()]??"application/octet-stream"}function ve(s){let t="";for(let n=0;n<s.length;n+=32768)t+=String.fromCharCode(...s.subarray(n,n+32768));return btoa(t)}function q(s,t){return`data:${s};base64,${ve(t)}`}const z=/<([a-zA-Z][a-zA-Z0-9]*)((?:\s+[a-zA-Z_:][-a-zA-Z0-9_:.]*(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=<>`]+))?)*)(\s*\/?>)/g,O=/([a-zA-Z_:][-a-zA-Z0-9_:.]*)\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'=<>`]+))/g;function ee(s){const t=new Map;O.lastIndex=0;let e;for(;e=O.exec(s);){const n=e[1].toLowerCase();t.has(n)||t.set(n,e[2]??e[3]??e[4]??"")}return t}function te(s,t){switch(s){case"link":{const e=t.get("rel")??"";return/(^|\s)stylesheet(\s|$)/i.test(e)?t.has("href")?[{name:"href",context:"style",multi:!1}]:[]:[]}case"script":return t.has("src")?[{name:"src",context:"script",multi:!1}]:[];case"img":{const e=[];return t.has("src")&&e.push({name:"src",context:"image",multi:!1}),t.has("srcset")&&e.push({name:"srcset",context:"image",multi:!0}),e}case"source":{const e=[];return t.has("src")&&e.push({name:"src",context:"media",multi:!1}),t.has("srcset")&&e.push({name:"srcset",context:"media",multi:!0}),e}case"video":{const e=[];return t.has("src")&&e.push({name:"src",context:"media",multi:!1}),t.has("poster")&&e.push({name:"poster",context:"media",multi:!1}),e}case"audio":return t.has("src")?[{name:"src",context:"media",multi:!1}]:[];default:return[]}}function se(s){return s.split(",").map(t=>t.trim()).filter(t=>t!=="").map(t=>{const e=t.search(/\s/);return e===-1?{url:t,descriptor:""}:{url:t.slice(0,e),descriptor:t.slice(e).trim()}})}function ye(s){return s.map(t=>t.descriptor?`${t.url} ${t.descriptor}`:t.url).join(", ")}function $(s,t,e){Y(t.trim())||s.has(t)||s.set(t,{raw:t,context:e})}function ke(s){const t=new Map;z.lastIndex=0;let e;for(;e=z.exec(s);){const n=e[1].toLowerCase(),i=ee(e[2]??"");for(const o of te(n,i)){const u=i.get(o.name)??"";if(o.multi)for(const a of se(u))$(t,a.url,o.context);else $(t,u,o.context)}}return[...t.values()]}function je(s,t){let e=!1;const n=se(s).map(i=>{const o=t[i.url];return o===void 0?i:(e=!0,{url:o,descriptor:i.descriptor})});return e?ye(n):null}function be(s,t){return Object.keys(t).length===0?s:(z.lastIndex=0,s.replace(z,(e,n,i,o)=>{const u=ee(i),a=te(n.toLowerCase(),u);if(a.length===0)return e;const p=new Map(a.map(d=>[d.name,d]));let h=!1;const E=i.replace(O,(d,f,l,w,y)=>{const _=p.get(f.toLowerCase());if(!_)return d;const g=l??w??y??"",b=_.multi?je(g,t):t[g]??null;return b===null?d:(h=!0,`${f}="${b}"`)});return h?`<${n}${E}${o}`:e}))}const P=/url\(\s*(?:"([^"]*)"|'([^']*)'|([^'")\s]*))\s*\)/gi,U=/@font-face\s*\{[^}]*\}/gi;function ne(s,t,e){return s??t??e??""}function Se(s){const t=[];U.lastIndex=0;let e;for(;e=U.exec(s);)t.push([e.index,e.index+e[0].length]);return t}function Ee(s){const t=Se(s),e=new Map;P.lastIndex=0;let n;for(;n=P.exec(s);){const i=ne(n[1],n[2],n[3]),o=t.some(([u,a])=>n.index>=u&&n.index<a)?"font":"image";$(e,i,o)}return[...e.values()]}function Le(s,t){return Object.keys(t).length===0?s:(P.lastIndex=0,s.replace(P,(e,n,i,o)=>{const u=t[ne(n,i,o)];return u===void 0?e:`url("${u}")`}))}const Ae=Object.freeze(["allow-scripts"]),Ce="https://pi-studio-preview.invalid/",Ne="default-src 'none'; img-src data:; style-src 'unsafe-inline' data:; script-src 'unsafe-inline' data:; font-src data:; media-src data:",Te=`<script>(function(){document.addEventListener("click",function(e){var a=e.target&&e.target.closest&&e.target.closest('a[href^="#"]');if(!a)return;var frag=a.getAttribute("href").slice(1);e.preventDefault();if(!frag){window.scrollTo(0,0);return;}var el=document.getElementById(frag)||document.getElementsByName(frag)[0];if(el)el.scrollIntoView();},true);})();<\/script>`,Re=/<head(\s[^>]*)?>/i,Be=/<html(\s[^>]*)?>/i,Me=/<base[\s/>]/i;function ze(s,t){const e=be(s,t.assets??{}),n=[];t.blockRemote&&n.push(`<meta http-equiv="Content-Security-Policy" content="${Ne}">`),Me.test(e)||(n.push(`<base href="${Ce}">`),n.push(Te));const i=n.join("");if(i==="")return e;const o=Re.exec(e);if(o){const a=o.index+o[0].length;return e.slice(0,a)+i+e.slice(a)}const u=Be.exec(e);if(u){const a=u.index+u[0].length;return e.slice(0,a)+`<head>${i}</head>`+e.slice(a)}return`<head>${i}</head>`+e}const V=6;async function W(s,t,e){let n=0;async function i(){for(;n<s.length;){const o=s[n];n+=1,await e(o)}}await Promise.all(Array.from({length:Math.min(t,s.length)},i))}function Q(s){const t=new Map;for(const e of s){const n=t.get(e.path);n?n.push(e):t.set(e.path,[e])}return t}async function Pe(s,t){const e={},n=[];let i=0,o=0,u=!1;const a=[];for(const d of s)d.kind==="skip"?n.push({raw:d.raw,reason:d.reason}):a.push(d);function p(d,f){for(const l of d)n.push({raw:l.raw,reason:f})}async function h(d,f){if(u){p(f,"over-cap");return}let l;try{l=await t.fetchBytes(d)}catch{p(f,"fetch-failed");return}if(!K(i,o,l.byteLength)){u=!0,p(f,"over-cap");return}if(i+=1,o+=l.byteLength,f[0].context!=="style"){const m=q(_e(d),l);for(const j of f)e[j.raw]=m;return}const w=new TextDecoder().decode(l),y=X(d),_=Ee(w).map(m=>J(m.raw,y,t.root,m.context,t.homeDir)),g=[];for(const m of _)m.kind==="skip"?n.push({raw:m.raw,reason:m.reason}):g.push(m);const b=Q(g);await W([...b.entries()],V,([m,j])=>h(m,j));const N={};for(const m of g){const j=e[m.raw];j!==void 0&&(N[m.raw]=j)}const L=Le(w,N),S=new TextEncoder().encode(L),k=S.byteLength-l.byteLength;if(k>0&&!K(i-1,o-l.byteLength,S.byteLength)){u=!0,p(f,"over-cap");return}o+=k;const T=q("text/css",S);for(const m of f)e[m.raw]=T}const E=Q(a);return await W([...E.entries()],V,([d,f])=>h(d,f)),{assets:e,skipped:n}}const Ie="_wrap_1et27_1",Oe="_toolbar_1et27_7",$e="_modeToggle_1et27_20",De="_controls_1et27_24",He="_switchLabel_1et27_29",Fe="_streamedNote_1et27_37",Ke="_skippedNote_1et27_45",qe="_skippedToggle_1et27_52",Ue="_skippedList_1et27_64",Ve="_body_1et27_69",We="_frame_1et27_73",Qe="_tooLarge_1et27_79",x={wrap:Ie,toolbar:Oe,modeToggle:$e,controls:De,switchLabel:He,streamedNote:Fe,skippedNote:Ke,skippedToggle:qe,skippedList:Ue,body:Ve,frame:We,tooLarge:Qe},Ze=Ae.join(" "),Z=Object.freeze({}),Ge=Object.freeze([]),oe={external:"external","outside-workspace":"outside workspace",unsupported:"unsupported","over-cap":"over cap","fetch-failed":"not found"};function Xe(s){const t=new Map;for(const e of s){const n=oe[e.reason];t.set(n,(t.get(n)??0)+1)}return[...t.entries()].map(([e,n])=>`${n} ${e}`).join(", ")}function Ye(s){let t=2166136261;for(let e=0;e<s.length;e++)t^=s.charCodeAt(e),t=Math.imul(t,16777619);return(t>>>0).toString(16)}function M(s){return`${(s/(1024*1024)).toFixed(1)} MB`}function dt({path:s,workspaceCwd:t}){var D,H;const e=me(s),[n,i]=v.useState("preview"),[o,u]=v.useState(!1),[a,p]=v.useState(!1),h=ie(),E=F(c=>c.client),d=F(c=>c.daemon),f=ue(),l=e.kind==="inline"||e.kind==="streamed"?e.content:null,w=v.useMemo(()=>{const c=G(s,t);return c?X(c):null},[s,t]),y=v.useMemo(()=>w!==null?xe(w,t,f):null,[w,t,f]),_=v.useMemo(()=>l===null||w===null||y===null?[]:ke(l).map(c=>J(c.raw,w,y,c.context,f)),[l,w,y,f]),g=v.useMemo(()=>_.some(c=>c.kind==="local"),[_]),b=v.useMemo(()=>_.flatMap(c=>c.kind==="skip"?[{raw:c.raw,reason:c.reason}]:[]),[_]),N=v.useMemo(()=>g&&l!==null?Ye(l):"",[l,g]),L=ae({queryKey:B.htmlAssetBundle(s,N),queryFn:()=>y===null?Promise.resolve({assets:{},skipped:[]}):Pe(_,{root:y,homeDir:f,fetchBytes:async re=>{if(!E||!d)throw new Error("not connected");return(await de(d).download(re)).bytes}}),enabled:g,staleTime:1/0}),S=g?((D=L.data)==null?void 0:D.assets)??Z:Z,k=g?((H=L.data)==null?void 0:H.skipped)??Ge:b,T=v.useMemo(()=>l===null?null:ze(l,{assets:S,blockRemote:o}),[l,S,o]);function m(){h.invalidateQueries({queryKey:B.fileRead(s)}),h.invalidateQueries({queryKey:B.fileDownload(s)}),h.invalidateQueries({queryKey:B.htmlAssetBundleByPath(s)})}switch(e.kind){case"loading":return r.jsxs(A,{children:[r.jsx(R,{size:"sm"})," Loading..."]});case"streaming":return r.jsxs(A,{children:[r.jsx(R,{size:"sm"})," Streaming ",M(e.size)," file..."]});case"stream-error":case"error":return r.jsxs(A,{children:["Error: ",e.message]});case"too-large":{const c=s.split("/").pop()||s;return r.jsx(A,{children:r.jsxs("div",{className:x.tooLarge,children:[r.jsxs("div",{children:[M(e.size)," — too large to display (display ceiling is"," ",M(e.maxDisplayBytes),")."]}),e.downloading?r.jsx(R,{size:"sm"}):e.downloadUrl?r.jsx("a",{href:e.downloadUrl,download:e.downloadName||c,children:r.jsx(C,{size:"sm",children:"Save file"})}):r.jsx(C,{size:"sm",onClick:()=>e.requestDownload(),children:"Download"})]})})}}if(l===null||T===null)return null;if(g&&L.data===void 0)return r.jsxs(A,{children:[r.jsx(R,{size:"sm"})," Loading assets..."]});const j=s.split("/").pop()||s;return r.jsxs("div",{className:x.wrap,children:[r.jsxs("div",{className:x.toolbar,children:[r.jsxs("div",{className:x.modeToggle,children:[r.jsx(C,{size:"xs",variant:n==="preview"?"default":"ghost",onClick:()=>i("preview"),children:"Preview"}),r.jsx(C,{size:"xs",variant:n==="source"?"default":"ghost",onClick:()=>i("source"),children:"Source"})]}),r.jsxs("div",{className:x.controls,children:[r.jsxs("label",{className:x.switchLabel,children:[r.jsx(fe,{checked:o,onCheckedChange:u,"aria-label":"Block remote resources"}),"Block remote resources"]}),r.jsx(C,{size:"xs",variant:"ghost",onClick:m,children:"Reload"})]})]}),e.kind==="streamed"?r.jsxs("div",{className:x.streamedNote,children:[M(e.size)," file streamed"]}):null,k.length>0?r.jsxs("div",{className:x.skippedNote,children:[r.jsxs("button",{type:"button",className:x.skippedToggle,onClick:()=>p(c=>!c),children:[k.length," reference",k.length===1?"":"s"," not inlined (",Xe(k),")"]}),a?r.jsx("ul",{className:x.skippedList,children:k.map(c=>r.jsxs("li",{children:[c.raw," — ",oe[c.reason]]},c.raw))}):null]}):null,r.jsxs("div",{className:x.body,children:[r.jsx("iframe",{sandbox:Ze,srcDoc:T,referrerPolicy:"no-referrer",allow:"",className:x.frame,style:n==="preview"?void 0:{display:"none"},title:j}),n==="source"?r.jsx(pe,{path:s,content:l}):null]})]})}export{dt as HtmlViewer};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as o}from"./vendor-react-DQUAl2K8.js";import{E as s,S as a}from"./index-
|
|
1
|
+
import{j as o}from"./vendor-react-DQUAl2K8.js";import{E as s,S as a}from"./index-CchwjcLZ.js";import{u as t}from"./use-file-download-8zPww5m-.js";import"./vendor-query-i7fr__Xm.js";import"./vendor-DaF96HbP.js";import"./vendor-icons-Bh5CT32q.js";import"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";const n="_wrap_1vzo5_1",m="_image_1vzo5_15",i={wrap:n,image:m};function x({path:e,workspaceCwd:p}){const r=t(e);return r.isLoading?o.jsxs(s,{children:[o.jsx(a,{size:"sm"})," Loading image..."]}):r.isError?o.jsxs(s,{children:["Error: ",r.error instanceof Error?r.error.message:"unknown error"]}):r.data?o.jsx("div",{className:i.wrap,children:o.jsx("img",{className:i.image,src:r.data.objectUrl,alt:e.split("/").pop()||e})}):null}export{x as ImageViewer};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as x,j as e}from"./vendor-react-DQUAl2K8.js";import{a as j,d as g,B as i,E as a,S as c}from"./index-
|
|
1
|
+
import{r as x,j as e}from"./vendor-react-DQUAl2K8.js";import{a as j,d as g,B as i,E as a,S as c}from"./index-CchwjcLZ.js";import{u as w,C as h}from"./CodeView-CLqXf_zq.js";import{M as v}from"./markdown-2gm-29tf.js";import"./vendor-query-i7fr__Xm.js";import"./vendor-DaF96HbP.js";import"./vendor-icons-Bh5CT32q.js";import"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";import"./use-file-download-8zPww5m-.js";import"./vendor-highlight-Ddi_n-Jh.js";import"./vendor-markdown-DJUOT8ep.js";import"./href-resolution-CSqTI9Vm.js";const _="_wrap_g5iym_1",f="_toolbar_g5iym_6",y="_rendered_g5iym_17",z="_streamedNote_g5iym_21",N="_tooLarge_g5iym_29",t={wrap:_,toolbar:f,rendered:y,streamedNote:z,tooLarge:N};function n(r){return`${(r/(1024*1024)).toFixed(1)} MB`}function q({path:r,workspaceCwd:d}){const s=w(r),[l,m]=x.useState("preview"),p=x.useMemo(()=>{const o=j(r,d);return o?g(o):null},[r,d]);switch(s.kind){case"loading":return e.jsxs(a,{children:[e.jsx(c,{size:"sm"})," Loading..."]});case"streaming":return e.jsxs(a,{children:[e.jsx(c,{size:"sm"})," Streaming ",n(s.size)," file..."]});case"stream-error":case"error":return e.jsxs(a,{children:["Error: ",s.message]});case"too-large":{const o=r.split("/").pop()||r;return e.jsx(a,{children:e.jsxs("div",{className:t.tooLarge,children:[e.jsxs("div",{children:[n(s.size)," — too large to display (display ceiling is"," ",n(s.maxDisplayBytes),")."]}),s.downloading?e.jsx(c,{size:"sm"}):s.downloadUrl?e.jsx("a",{href:s.downloadUrl,download:s.downloadName||o,children:e.jsx(i,{size:"sm",children:"Save file"})}):e.jsx(i,{size:"sm",onClick:()=>s.requestDownload(),children:"Download"})]})})}case"inline":case"streamed":{const o=s.content,u=s.kind==="streamed";return e.jsxs("div",{className:t.wrap,children:[e.jsxs("div",{className:t.toolbar,children:[e.jsx(i,{size:"xs",variant:l==="preview"?"default":"ghost",onClick:()=>m("preview"),children:"Preview"}),e.jsx(i,{size:"xs",variant:l==="source"?"default":"ghost",onClick:()=>m("source"),children:"Source"})]}),u?e.jsxs("div",{className:t.streamedNote,children:[n(s.size)," file streamed"]}):null,l==="preview"?e.jsx("div",{className:t.rendered,children:e.jsx(v,{text:o,assetBase:p,workspaceCwd:d})}):e.jsx(h,{path:r,content:o})]})}}}export{q as MarkdownFileViewer};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as w,j as n}from"./vendor-react-DQUAl2K8.js";import{a as E}from"./vendor-query-i7fr__Xm.js";import{u as P,E as u,S as C,B as b,r as x}from"./index-
|
|
1
|
+
import{r as w,j as n}from"./vendor-react-DQUAl2K8.js";import{a as E}from"./vendor-query-i7fr__Xm.js";import{u as P,E as u,S as C,B as b,r as x}from"./index-CchwjcLZ.js";import{S as y}from"./StatusBadge-BMKAPA9O.js";import{u as R}from"./use-provider-auth-list-CPbr4xbh.js";import{u as N}from"./provider-auth-store-9hsJ07X1.js";import"./vendor-DaF96HbP.js";import"./vendor-icons-Bh5CT32q.js";import"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";const j="env:";function I(t){var i;return t.configured==="unknown"?{label:"Unknown",variant:"warning"}:t.configured===!1?{label:"Not configured",variant:"muted"}:(i=t.configuredSource)!=null&&i.startsWith(j)?{label:`env: ${t.configuredSource.slice(j.length)}`,variant:"success"}:t.configuredType==="oauth"?{label:"OAuth",variant:"success"}:{label:"API key",variant:"success"}}function M(t){const i=t.configured===!0?"Re-login":"Log in";if(t.authTypes.length<=1){const s=t.authTypes[0]??"api_key";return[{authType:s,label:s==="oauth"?t.oauthLoginLabel??i:i}]}return t.authTypes.map(s=>s==="oauth"?{authType:s,label:t.oauthLoginLabel??"Log in with OAuth"}:{authType:s,label:"API key"})}const q="_list_vm1k7_1",O="_row_vm1k7_7",T="_rowMain_vm1k7_18",B="_name_vm1k7_25",z="_tag_vm1k7_33",F="_rowActions_vm1k7_37",K="_pendingNote_vm1k7_44",Q="_note_vm1k7_49",U="_errorState_vm1k7_55",a={list:q,row:O,rowMain:T,name:B,tag:z,rowActions:F,pendingNote:K,note:Q,errorState:U};function ee(){const t=P(e=>e.client),i=E(),s=N(e=>e.pendingLogin),k=N(e=>e.requestLogin),[d,g]=w.useState(null),[p,m]=w.useState({}),{data:r,isLoading:L,isError:S,error:h}=R();async function A(e){if(t&&window.confirm(`Log out of ${e.name}? Running agents keep working until their current credential use fails.`)){m(o=>({...o,[e.id]:""})),g(e.id);try{const o=await t.logoutProvider(e.id);m(l=>({...l,[e.id]:o.stillConfigured?"Removed the stored credential — still configured via an environment variable.":""})),await i.invalidateQueries({queryKey:x.providerAuthList()}),i.invalidateQueries({queryKey:x.providerModelsAll()})}finally{g(null)}}}return L?n.jsxs(u,{children:[n.jsx(C,{size:"sm"})," Loading providers…"]}):S?n.jsx(u,{className:a.errorState,children:h instanceof Error?h.message:"Failed to load providers."}):!r||r.length===0?n.jsx(u,{children:"No providers available."}):n.jsx("div",{className:a.list,children:r.map(e=>{const o=I(e),l=M(e),f=(s==null?void 0:s.provider)===e.id,_=s!==null&&!f,v=p[e.id];return n.jsxs("div",{className:a.row,children:[n.jsxs("div",{className:a.rowMain,children:[n.jsx("span",{className:a.name,children:e.name}),e.oauthIsSubscription&&n.jsx(y,{label:"Subscription",variant:"muted",className:a.tag}),n.jsx(y,{label:o.label,variant:o.variant,className:a.tag})]}),n.jsx("div",{className:a.rowActions,children:f?n.jsx("span",{className:a.pendingNote,children:"Logging in…"}):n.jsxs(n.Fragment,{children:[l.map(c=>n.jsx(b,{size:"xs",variant:"secondary",disabled:_,onClick:()=>k(e.id,e.name,c.authType),children:c.label},c.authType)),e.configured!==!1&&n.jsx(b,{size:"xs",variant:"ghost",disabled:_||d===e.id,loading:d===e.id,onClick:()=>void A(e),children:"Log out"})]})}),v&&n.jsx("div",{className:a.note,children:v})]},e.id)})})}export{ee as ModelProvidersPanel};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as c,j as t}from"./vendor-react-DQUAl2K8.js";import{u as I,v as W,P as w,E as N,S as k,o as q,w as z,d as U,x as X,y as Y,z as C,h as D}from"./index-
|
|
1
|
+
import{r as c,j as t}from"./vendor-react-DQUAl2K8.js";import{u as I,v as W,P as w,E as N,S as k,o as q,w as z,d as U,x as X,y as Y,z as C,h as D}from"./index-CchwjcLZ.js";import{F as G}from"./vendor-molviewer-DeAF8d5d.js";import{S as v}from"./StatusBadge-BMKAPA9O.js";import{u as H}from"./use-file-download-8zPww5m-.js";import{u as K}from"./use-file-watch-CYQrRagj.js";import"./vendor-query-i7fr__Xm.js";import"./vendor-DaF96HbP.js";import"./vendor-icons-Bh5CT32q.js";import"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";function J(e,r){return!e||!r?null:{url:r,name:e.split("/").pop()||e}}function Q({changedAt:e,lastAppliedAt:r,modified:n}){return!(e===null||n||e===r)}const Z={empty_path:"Nothing to save.",too_large:"File is too large to save (over 5 MiB).",not_found:"The file no longer exists.",unreadable:"The file could not be read.",not_a_file:"That path is not a file."};async function ee(e,r,n){const a=await e.connection.request("file_write_request",{path:r,content:n});if(!a.ok){const l=a.error??"";throw new Error(Z[l]??l??"Failed to save")}}const re="mol2";function oe(e){const{sourcePath:r,monomers:n,attempt:a}=e,l=a>0?`_${a+1}`:"";return`${te(r)}_polymer_${n}${l}.${re}`}function te(e){return(e.split("/").pop()??"").replace(/\.[^.]+$/,"").trim()||"polymer"}const se={"--canvas":"var(--pi-color-surface0)","--well":"var(--pi-color-surface0)","--recess":"var(--pi-color-surface1)","--chrome":"var(--pi-color-surface1)","--control":"var(--pi-color-surface2)","--control-hover":"var(--pi-color-surface3)","--control-strong-hover":"var(--pi-color-surface4)","--border-control":"var(--pi-color-border)","--border-input":"var(--pi-color-border)","--popover":"var(--pi-color-surface1)","--popover-item-hover":"var(--pi-color-surface2)","--row-hover":"var(--pi-color-surface2)","--border-popover":"var(--pi-color-border)","--text-primary":"var(--pi-color-foreground)","--text-on-control":"var(--pi-color-foreground)"},ne="_wrap_tixu9_1",ae="_molViewer_tixu9_4",le="_badges_tixu9_8",g={wrap:ne,molViewer:ae,badges:le},ie=50;async function ce(e){const{client:r,upload:n,sourcePath:a,monomers:l,text:f}=e,p=U(a);let s=null,i="";for(let u=0;u<ie&&s===null;u+=1){i=oe({sourcePath:a,monomers:l,attempt:u});try{s=await X(r,p,i,"file")}catch(m){if(m instanceof Y&&m.code==="exists")continue;throw m}}if(s===null)throw new Error(`No free name for ${i} — too many builds in this folder.`);try{await n(p,new File([f],i,{type:"chemical/x-mol2"}))}catch(u){throw await C(r,s).catch(()=>{}),u}return s}function ue({path:e,workspaceCwd:r,tabId:n,isActive:a,onModifiedChange:l}){var T;const f=I(o=>o.client),{upload:p}=W(),s=H(e??"",!!e),{changedAt:i}=K(e),u=c.useRef(null),m=c.useRef(!1),[h,_]=c.useState(null),[E,A]=c.useState(!1),[S,x]=c.useState(null),[j,y]=c.useState(null),[M,P]=c.useState(null),b=c.useRef(null),R=((T=s.data)==null?void 0:T.objectUrl)??null,$=c.useMemo(()=>J(e,R),[e,R]);c.useEffect(()=>{Q({changedAt:i,lastAppliedAt:b.current,modified:E})&&(b.current=i,s.refetch())},[i,E,s.refetch]);const L=i!==null&&i!==b.current&&E;async function V(o){if(e){if(!f){x("Not connected — cannot save.");return}x(null);try{await ee(f,e,o.text()),o.saved()}catch(d){x(d instanceof Error?d.message:"Failed to save")}}}async function B(o){if(e){if(!f){y("Not connected — cannot save the polymer.");return}y(null),P(null);try{const d=await ce({client:f,upload:p,sourcePath:e,monomers:o.monomers,text:o.text()});o.report.clashes>0&&P(`${o.report.clashes} close contacts — relax the geometry before simulating`);const O=q.getState().paneOfTab(r,n);z(d,r,O??void 0)}catch(d){y(d instanceof Error?d.message:"Failed to save the polymer")}}}const F=(s.isError?s.error instanceof Error?s.error.message:"download failed":null)??(h==null?void 0:h.message)??null;return e&&s.isPending?t.jsx(w,{children:t.jsxs(N,{children:[t.jsx(k,{size:"sm"})," Loading..."]})}):F?t.jsx(w,{children:t.jsxs(N,{children:["Error: ",F]})}):t.jsxs(w,{className:g.wrap,"data-molecule-active":a?"true":"false",children:[t.jsxs("div",{className:g.badges,children:[L&&t.jsx(v,{label:"File changed on disk",variant:"muted"}),S&&t.jsx(v,{label:`Save failed: ${S}`,variant:"error"}),j&&t.jsx(v,{label:`Polymer build: ${j}`,variant:"error"}),M&&t.jsx(v,{label:M,variant:"warning"})]}),t.jsx(G,{ref:u,className:g.molViewer,theme:se,source:$,sourceMode:m.current?"update":"replace",onLoad:()=>{m.current=!0,_(null)},onLoadError:o=>_(o.error),onModifiedChange:o=>{A(o),l==null||l(o)},onSave:e?V:void 0,onPolymerBuild:e?B:void 0})]})}function _e({tab:e}){const{path:r}=e.data,n=D(e.id);return t.jsx(w,{children:t.jsx(ue,{path:r,workspaceCwd:e.workspaceCwd,tabId:e.id,isActive:n})})}export{_e as MoleculeViewerPanel};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as o,j as s}from"./vendor-react-DQUAl2K8.js";import{E as I,B as M,S as X}from"./index-
|
|
1
|
+
import{r as o,j as s}from"./vendor-react-DQUAl2K8.js";import{E as I,B as M,S as X}from"./index-CchwjcLZ.js";import{u as $}from"./use-file-download-8zPww5m-.js";import{W as H,G as J,p as K}from"./vendor-pdfjs-BrYGnqfM.js";import{Z as Q,a as Y,M as ee,D as te}from"./vendor-icons-Bh5CT32q.js";import"./vendor-query-i7fr__Xm.js";import"./vendor-DaF96HbP.js";import"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";const C=new URL("/pdfjs/",document.baseURI),re={cMapUrl:new URL("cmaps/",C).href,cMapPacked:!0,standardFontDataUrl:new URL("standard_fonts/",C).href,wasmUrl:new URL("wasm/",C).href,iccUrl:new URL("iccs/",C).href};function T(){var t;return(t=J).workerPort??(t.workerPort=new H({name:"pdfjs"})),K}const z=[.25,.5,.75,1,1.25,1.5,2,3,4],q=z[0],O=z[z.length-1],se=16777216,Z=1e-6;function ne(t){return z.find(r=>r>t+Z)??O}function oe(t){return z.findLast(r=>r<t-Z)??q}function ae(t,r,e){const a=t-r;return a<=0||e<=0?1:Math.min(O,Math.max(q,a/e))}function ie(t,r,e,a,c=se){const l=t*e*(r*e);return l<=0?a:Math.min(a,Math.sqrt(c/l))}function ce(t,r,e,a){const c=[];let l=a;for(const i of t)c.push(l),l+=i*r+e;return c}function le(t,r,e){const a=r+e/2,c=t.findIndex(l=>l>a);return Math.max(0,(c===-1?t.length:c)-1)}const de="_viewer_16fdq_1",ue="_toolbar_16fdq_7",fe="_pageIndicator_16fdq_18",he="_zoom_16fdq_19",me="_controls_16fdq_23",pe="_scroller_16fdq_32",ge="_stack_16fdq_40",we="_page_16fdq_18",xe="_canvas_16fdq_56",_e="_pageError_16fdq_61",ve="_failure_16fdq_71",Ee="_textLayer_16fdq_86",u={viewer:de,toolbar:ue,pageIndicator:fe,zoom:he,controls:me,scroller:pe,stack:ge,page:we,canvas:xe,pageError:_e,failure:ve,textLayer:Ee},je=12,U=16,Se="100% 0px",Pe=120,Me={invalid:"This file could not be opened as a PDF.",password:"This PDF is password-protected.",failed:"This PDF could not be loaded."};function be(t){const r=t instanceof Error?t.name:"";return r==="PasswordException"?"password":r==="InvalidPDFException"||r==="FormatError"||r==="MissingPDFException"?"invalid":"failed"}function ye(t){return t instanceof Error&&/Cancelled|destroyed/i.test(`${t.name} ${t.message}`)}function Te({path:t}){var F;const r=$(t),[e,a]=o.useState(null),[c,l]=o.useState(null),[i,D]=o.useState(null),[L,b]=o.useState(0),[h,w]=o.useState(!0),[m,S]=o.useState(1),[_,y]=o.useState(0),p=(F=r.data)==null?void 0:F.objectUrl;o.useEffect(()=>{if(!p)return;let n=!1,f=!1,x=null;return(async()=>{try{const j=new Uint8Array(await(await fetch(p)).arrayBuffer());if(n)return;x=T().getDocument({data:j,enableXfa:!1,...re});const P=await x.promise,W=await Promise.all(Array.from({length:P.numPages},async(ze,G)=>{const{width:B,height:V}=(await P.getPage(G+1)).getViewport({scale:1});return{width:B,height:V}}));if(n)return;f=!0,l(null),a({task:x,doc:P,sizes:W})}catch(j){n||l(be(j))}})(),()=>{n=!0,f||x==null||x.destroy()}},[p]),o.useEffect(()=>{const n=e==null?void 0:e.task;return()=>void(n==null?void 0:n.destroy())},[e==null?void 0:e.task]),o.useEffect(()=>{if(!i)return;let n,f=!0;const x=new ResizeObserver(([j])=>{const P=(j==null?void 0:j.contentRect.width)??0;if(clearTimeout(n),f){f=!1,b(P);return}n=setTimeout(()=>b(P),Pe)});return x.observe(i),()=>{clearTimeout(n),x.disconnect()}},[i]);const g=e==null?void 0:e.sizes,v=o.useMemo(()=>Math.max(0,...(g??[]).map(n=>n.width)),[g]),d=h?ae(L,U*2,v):m,E=o.useMemo(()=>ce((g??[]).map(n=>n.height),d,je,U),[g,d]),k=()=>{i&&y(le(E,i.scrollTop,i.clientHeight))},N=o.useRef(d);o.useLayoutEffect(()=>{i&&N.current!==d&&(i.scrollTop=i.scrollTop*d/N.current),N.current=d},[d,i]),o.useEffect(k,[E,i]);const A=()=>{var f;if(!p)return;const n=document.createElement("a");n.href=p,n.download=((f=r.data)==null?void 0:f.fileName)||t.split("/").pop()||"document.pdf",n.click()};if(r.isError)return s.jsxs(I,{children:["Error: ",r.error instanceof Error?r.error.message:"unknown error"]});if(c&&!e)return s.jsxs("div",{className:u.failure,children:[s.jsx("span",{children:Me[c]}),s.jsx(M,{size:"sm",onClick:A,children:"Download"})]});if(!e)return s.jsxs(I,{children:[s.jsx(X,{size:"sm"})," Loading PDF..."]});if(e.sizes.length===0)return s.jsxs("div",{className:u.failure,children:[s.jsx("span",{children:"This PDF has no pages."}),s.jsx(M,{size:"sm",onClick:A,children:"Download"})]});const R=n=>{S(n(d)),w(!1)};return s.jsxs("div",{className:u.viewer,children:[s.jsxs("div",{className:u.toolbar,children:[s.jsxs("span",{className:u.pageIndicator,"aria-live":"polite",children:[_+1," / ",e.sizes.length]}),s.jsxs("div",{className:u.controls,children:[s.jsx(M,{size:"xs",variant:"ghost",iconOnly:!0,"aria-label":"Zoom out",onClick:()=>R(oe),children:s.jsx(Q,{size:14})}),s.jsxs("span",{className:u.zoom,children:[Math.round(d*100),"%"]}),s.jsx(M,{size:"xs",variant:"ghost",iconOnly:!0,"aria-label":"Zoom in",onClick:()=>R(ne),children:s.jsx(Y,{size:14})}),s.jsx(M,{size:"xs",variant:h?"default":"ghost",iconOnly:!0,"aria-label":"Fit width","aria-pressed":h,onClick:()=>w(n=>!n),children:s.jsx(ee,{size:14})}),s.jsx(M,{size:"xs",variant:"ghost",iconOnly:!0,"aria-label":"Download PDF",onClick:A,children:s.jsx(te,{size:14})})]})]}),s.jsx("div",{ref:D,className:u.scroller,onScroll:k,children:s.jsx("div",{className:u.stack,children:e.sizes.map((n,f)=>s.jsx(ke,{doc:e.doc,pageNumber:f+1,size:n,scale:d,root:i},f))})})]})}function ke({doc:t,pageNumber:r,size:e,scale:a,root:c}){const l=o.useRef(null),[i,D]=o.useState(!1),[L,b]=o.useState(null);return o.useEffect(()=>{const h=l.current;if(!c||!h)return;const w=new IntersectionObserver(([m])=>D((m==null?void 0:m.isIntersecting)??!1),{root:c,rootMargin:Se});return w.observe(h),()=>w.disconnect()},[c]),o.useEffect(()=>{const h=l.current;if(!h)return;if(!i){h.replaceChildren();return}let w=!1,m=null,S=null;return(async()=>{try{const _=T(),y=await t.getPage(r),p=y.getViewport({scale:a}),g=ie(e.width,e.height,a,window.devicePixelRatio||1),v=document.createElement("canvas");v.width=Math.floor(p.width*g),v.height=Math.floor(p.height*g),v.className=u.canvas??"";const d=y.render({canvas:v,viewport:p,transform:g===1?void 0:[g,0,0,g,0,0]});m=d,await d.promise;const E=document.createElement("div");E.className=`textLayer ${u.textLayer??""}`,E.style.setProperty("--total-scale-factor",String(a));const k=new _.TextLayer({textContentSource:y.streamTextContent(),container:E,viewport:p});if(S=k,await k.render(),w)return;h.replaceChildren(v,E),b(null)}catch(_){!w&&!ye(_)&&b(_ instanceof Error?_.message:"render failed")}})(),()=>{w=!0,m==null||m.cancel(),S==null||S.cancel()}},[i,t,r,a,e.width,e.height]),s.jsx("div",{ref:l,className:u.page,style:{width:e.width*a,height:e.height*a},"data-page":r,children:L&&s.jsxs("span",{className:u.pageError,children:["Page ",r," failed to render."]})})}export{Te as PdfViewer};
|