@av-pi-studio/web-client 0.0.98 → 0.0.100
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-D1735dBK.js → BinaryFallbackViewer-DsgSasPb.js} +1 -1
- package/dist/web/assets/ChatPanel-5StSD3qU.js +8 -0
- package/dist/web/assets/{ChatPanel-Dwbu-dGA.css → ChatPanel-BbKggE_R.css} +1 -1
- package/dist/web/assets/{CodeView-DJUYgnhl.js → CodeView-B6qfEGak.js} +1 -1
- package/dist/web/assets/{FilePanel-BOs1LZ6Z.js → FilePanel-BxaguwwC.js} +1 -1
- package/dist/web/assets/{HtmlViewer-OZi91obB.js → HtmlViewer-C7YMSrJq.js} +1 -1
- package/dist/web/assets/{ImageViewer-DfPvRJu8.js → ImageViewer-CfaHY3CC.js} +1 -1
- package/dist/web/assets/{MarkdownFileViewer-CD8I5oF1.js → MarkdownFileViewer-DbLEkHGc.js} +1 -1
- package/dist/web/assets/{ModelProvidersPanel-BKQSe1w_.js → ModelProvidersPanel-bUBf6AX3.js} +1 -1
- package/dist/web/assets/{MoleculeViewerPanel-BmAWD5-0.js → MoleculeViewerPanel-C00LtvUk.js} +1 -1
- package/dist/web/assets/{SettingsDialog-CtYYGSTM.js → SettingsDialog-BgKorpjK.js} +3 -3
- package/dist/web/assets/{TerminalPanel-BYBPeKr6.js → TerminalPanel-D9ohBkwX.js} +1 -1
- package/dist/web/assets/{TextViewer-CqCr5frJ.js → TextViewer-D9ipyA5F.js} +1 -1
- package/dist/web/assets/{VideoViewer-DufCbxFW.js → VideoViewer-h2_s2ofo.js} +1 -1
- package/dist/web/assets/{href-resolution-BhGkzxUR.js → href-resolution-CIziox_W.js} +1 -1
- package/dist/web/assets/index-CisETjfy.js +19 -0
- package/dist/web/assets/index-CsMKIrXn.css +1 -0
- package/dist/web/assets/{markdown-D2QQWucf.js → markdown-DIRIvR-0.js} +1 -1
- package/dist/web/assets/{use-file-download-Be6S96Jm.js → use-file-download-DMsI7yqE.js} +1 -1
- package/dist/web/assets/{use-file-watch-DKTxOTNi.js → use-file-watch-B_k8jx0c.js} +1 -1
- package/dist/web/assets/{use-provider-auth-list-CyoKwkFc.js → use-provider-auth-list-BE34ej1x.js} +1 -1
- package/dist/web/assets/{vendor-icons-oIrAStms.js → vendor-icons-C3PrZPxy.js} +60 -55
- package/dist/web/assets/{vendor-overlays-DAY3g68r.js → vendor-overlays-CO23GfSO.js} +1 -1
- package/dist/web/index.html +4 -4
- package/package.json +3 -3
- package/dist/web/assets/ChatPanel-CigYX4GT.js +0 -8
- package/dist/web/assets/index-BwP2V5Iz.js +0 -19
- package/dist/web/assets/index-ggD4eKe_.css +0 -1
package/dist/web/assets/{BinaryFallbackViewer-D1735dBK.js → BinaryFallbackViewer-DsgSasPb.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-CisETjfy.js";import{u as m}from"./use-file-download-DMsI7yqE.js";import{F as c}from"./vendor-icons-C3PrZPxy.js";import"./vendor-query-i7fr__Xm.js";import"./vendor-CIkm_8TG.js";import"./vendor-overlays-CO23GfSO.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,8 @@
|
|
|
1
|
+
import{r as h,j as t}from"./vendor-react-DQUAl2K8.js";import{a as jt,b as bt,m as yt,u as ve}from"./vendor-query-i7fr__Xm.js";import{A as _e,D as L,u as U,F as Nt,I as K,G as St,H as Ct,B as E,J as wt,K as Ge,S as ke,y as Dt,M as Bt,m as Tt,n as Et,N as At,O as Rt,l as It,Q as Lt,E as Pt,R as de,a as je,U as be,W as Mt,X as ce,g as Ot,Y as Ft,z as qt,P as Fe}from"./index-CisETjfy.js";import{L as Kt,G as Ht,S as zt,a as $t,P as Ut,E as Wt,T as Ve,C as me,b as ye,B as Gt,c as Ye,d as Vt,A as Yt,e as Jt,U as Qt,f as Xt,g as Zt,h as en,i as tn,j as nn,k as qe,l as sn,N as on,m as rn}from"./vendor-icons-C3PrZPxy.js";import{u as an}from"./use-provider-auth-list-BE34ej1x.js";import{M as w}from"./vendor-CIkm_8TG.js";import{S as Je,M as Qe,r as cn}from"./markdown-DIRIvR-0.js";import{D as ln,p as dn}from"./DiffView-DYwtgWeX.js";import{R as Ne,T as Se,I as Xe}from"./vendor-overlays-CO23GfSO.js";import"./vendor-dnd-CayJj8TC.js";import"./vendor-highlight-A9hNQ6ne.js";import"./vendor-markdown-Bu3Y4y-M.js";import"./href-resolution-CIziox_W.js";function Ze(e,s){if(s.trim()==="")return e;const n=s.toLowerCase();return e.filter(o=>o.label.toLowerCase().includes(n)||o.description!==void 0&&o.description.toLowerCase().includes(n))}const un={shell:Ve,read:Wt,edit:Ut,write:$t,search:zt,fetch:Ht,task:Kt};function mn(e){return un[e.kind]??Ve}function et(e){switch(e.kind){case"read":case"write":case"edit":return e.path??null;default:return null}}function fn(e){return e.kind==="write"||e.kind==="edit"||e.kind==="shell"}function pn(e){const s=[];if(e.kind==="edit"&&e.diff)s.push({kind:"diff",patch:e.diff});else{const n=_e(e);n&&s.push({kind:"code",text:n})}return e.output&&s.push({kind:"code",text:e.output}),s}const Ke={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 hn(e){return Ke[e.kind]??Ke.task}function gn(e){if(!e)return{added:0,removed:0};let s=0,n=0;for(const o of e.split(`
|
|
2
|
+
`))o.startsWith("+++")||o.startsWith("---")||(o.startsWith("+")?s++:o.startsWith("-")&&n++);return{added:s,removed:n}}function _n(e){return e?(e.endsWith(`
|
|
3
|
+
`)?e.slice(0,-1):e).split(`
|
|
4
|
+
`).length:0}const xn=500;let fe;function vn(e,s,n,o){clearTimeout(fe),fe=setTimeout(()=>{fe=void 0,e.invalidateQueries({queryKey:["file"]}),e.invalidateQueries({queryKey:["explorer"]}),s&&n&&s.connection.request("checkout_refresh_request",{cwd:n}).catch(()=>{})},xn)}function kn({sessionId:e,event:s,timestamp:n,client:o,queryClient:r}){const a=L.getState();switch(a.applyStreamEvent(e,s,n),s.kind){case"turn_started":a.setStatus(e,"running");break;case"turn_completed":a.setStatus(e,"idle");break;case"turn_failed":a.setStatus(e,"error");break;case"turn_canceled":a.setStatus(e,"idle");break;case"tool_call":{if(s.status==="completed"&&fn(s.tool)){const l=a.sessions[e],c=(l==null?void 0:l.cwd)||null;vn(r,o,c,et(s.tool))}break}}}function jn(e){const s=U(r=>r.client),n=L(r=>{var a;return((a=r.sessions[e])==null?void 0:a.agentId)??null}),o=jt();h.useEffect(()=>!s||!n?void 0:s.agent(n).timeline.subscribe((a,l)=>{const c=typeof l.timestamp=="number"?new Date(l.timestamp).toISOString():l.timestamp;kn({sessionId:e,event:a,timestamp:c,client:s,queryClient:o})}),[s,n,e,o])}const tt=64;function pe(e){return e.clientHeight>0}function bn(e,s,n,o=tt){switch(s.kind){case"scroll":return pe(n)?n.scrollHeight-n.scrollTop-n.clientHeight<=o?{pinned:!0,stick:!1}:{pinned:s.gesture?!1:e,stick:!1}:{pinned:e,stick:!1};case"tail":return{pinned:e,stick:e&&pe(n)};case"shown":return{pinned:e,stick:e};case"pin":return{pinned:!0,stick:pe(n)}}}function yn(e){const s=e[e.length-1];return(s==null?void 0:s.kind)==="user"?s.id:null}const Nn="_shellRow_5a5cb_2",Sn="_rail_5a5cb_10",Cn="_disc_5a5cb_18",wn="_connector_5a5cb_28",Dn="_content_5a5cb_2",Bn="_metaLine_5a5cb_40",Tn="_metaTime_5a5cb_52",q={shellRow:Nn,rail:Sn,disc:Cn,connector:wn,content:Dn,metaLine:Bn,metaTime:Tn};function H({disc:e,discClassName:s,connector:n,meta:o,metaTrailing:r,className:a,children:l}){return t.jsxs("div",{className:q.shellRow,children:[t.jsxs("div",{className:q.rail,children:[t.jsx("span",{className:w(q.disc,s),children:e}),n&&t.jsx("span",{className:q.connector})]}),t.jsxs("div",{className:w(q.content,a),children:[o&&t.jsxs("div",{className:q.metaLine,children:[o,r]}),l]})]})}function He(e){return typeof e=="number"?e:Date.parse(e)}function En(e,s){const n=He(e.entry.createdAt),o=He(s.entry.createdAt);return n!==o?n-o:e.entry.requestId<s.entry.requestId?-1:e.entry.requestId>s.entry.requestId?1:0}function An(e,s){return[...e.map(o=>({kind:"pending",entry:o})),...s.map(o=>({kind:"resolved",entry:o}))].toSorted(En)}function Rn(e){return e.entry.requestId}function nt(e){return e.receivedAt===void 0}const In=4;function Ln(e,s){let n=0;const o=e.map(c=>c.kind!=="pending"?{item:c,collapsed:!1}:(n++,{item:c,collapsed:!s&&n>In})),r=o.filter(c=>c.collapsed).length,a=o.findIndex(c=>c.collapsed),l=[];return o.forEach((c,m)=>{m===a&&l.push({kind:"more",count:r}),l.push({kind:"card",item:c.item,collapsed:c.collapsed})}),l}function Pn(e,s){if(e.timeoutMs===void 0)return{show:!1,fraction:0,approximate:!1};const n=Nt(e,s)??0;return{show:!0,fraction:Math.max(0,Math.min(1,n/e.timeoutMs)),approximate:e.receivedAt===void 0}}function st(e){return e==="editor"}const Mn="Esc again to dismiss — the extension gets an empty answer";function On(e,s){return s?{kind:"warning",text:Mn}:{kind:"keys",segments:[{key:st(e)?"⇧↵":"↵",label:"submit"},{key:"Esc",label:"dismiss"}]}}function Fn(e){return e?{armed:!1,resolve:!0}:{armed:!0,resolve:!1}}const qn=5,Kn=40,Hn=6;function zn(e){return{mode:e.length>=qn||e.some(n=>n.length>Kn)?"stack":"row",scrolls:e.length>Hn}}function xe(e){const s=e.split(`
|
|
5
|
+
`),n=[];let o=!1;for(const r of s)if(r===""){if(o)continue;o=!0,n.push("")}else o=!1,n.push(r);return n}function $n(e,s){return{title:xe(e),...s!==void 0?{message:xe(s)}:{}}}const Un="_askDisc_ffqf1_5",Wn="_card_ffqf1_9",Gn="_cardInert_ffqf1_41",Vn="_askDiscInert_ffqf1_47",Yn="_reconnectingNote_ffqf1_52",Jn="_reconnectingDot_ffqf1_61",Qn="_deadlineBar_ffqf1_71",Xn="_deadlineApproximate_ffqf1_80",Zn="_header_ffqf1_85",es="_askBadge_ffqf1_16",ts="_methodName_ffqf1_101",ns="_title_ffqf1_107",ss="_titleEmphasised_ffqf1_115",os="_message_ffqf1_119",rs="_emptyOptionsNote_ffqf1_127",as="_controls_ffqf1_133",is="_controlsStack_ffqf1_141",cs="_controlsScroll_ffqf1_148",ls="_optionButton_ffqf1_153",ds="_field_ffqf1_161",us="_editorField_ffqf1_168",ms="_rawPayload_ffqf1_176",fs="_resolvedCard_ffqf1_190",ps="_askBadgeNeutral_ffqf1_204",hs="_resolvedMethodName_ffqf1_209",gs="_outcome_ffqf1_218",_s="_outcomeSuccess_ffqf1_229",xs="_outcomeText_ffqf1_233",vs="_hint_ffqf1_255",ks="_hintKey_ffqf1_270",js="_hintSep_ffqf1_278",bs="_recoveredChip_ffqf1_285",ys="_collapsedPendingCard_ffqf1_297",Ns="_moreRow_ffqf1_303",p={askDisc:Un,card:Wn,cardInert:Gn,askDiscInert:Vn,reconnectingNote:Yn,reconnectingDot:Jn,deadlineBar:Qn,deadlineApproximate:Xn,header:Zn,askBadge:es,methodName:ts,title:ns,titleEmphasised:ss,message:os,emptyOptionsNote:rs,controls:as,controlsStack:is,controlsScroll:cs,optionButton:ls,field:ds,editorField:us,rawPayload:ms,resolvedCard:fs,askBadgeNeutral:ps,resolvedMethodName:hs,outcome:gs,outcomeSuccess:_s,outcomeText:xs,hint:vs,hintKey:ks,hintSep:js,recoveredChip:bs,collapsedPendingCard:ys,moreRow:Ns},Ss=250,Cs=320;function J(e,s){const n=e[s];return typeof n=="string"?n:void 0}function ws(e,s){const n=e[s];return Array.isArray(n)?n.filter(o=>typeof o=="string"):[]}function Ds({item:e,connector:s,collapsed:n=!1,autoFocus:o=!1,sessionTitle:r}){return e.kind==="resolved"?t.jsx(Es,{entry:e.entry,connector:s}):n?t.jsx(Bs,{entry:e.entry,connector:s}):t.jsx(Rs,{entry:e.entry,connector:s,autoFocus:o,sessionTitle:r})}function ot(){return t.jsx("span",{className:p.recoveredChip,children:"still waiting"})}function Bs({entry:e,connector:s}){return t.jsx(H,{disc:t.jsx(K,{icon:me,size:"xs",color:"var(--pi-color-statusWarning)"}),discClassName:p.askDisc,connector:s,children:t.jsxs("div",{className:w(p.resolvedCard,p.collapsedPendingCard),children:[t.jsx("span",{className:p.askBadge,children:"ASK"}),t.jsx("span",{className:p.resolvedMethodName,children:e.method}),nt(e)&&t.jsx(ot,{})]})})}function Ts({count:e,connector:s,onExpand:n}){return t.jsx(H,{disc:t.jsx(K,{icon:me,size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:p.askDiscInert,connector:s,children:t.jsxs("button",{type:"button",className:p.moreRow,onClick:n,children:[e," more waiting"]})})}function Es({entry:e,connector:s}){const n=St(e);return t.jsx(H,{disc:t.jsx(K,{icon:me,size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:p.askDiscInert,connector:s,children:t.jsxs("div",{className:p.resolvedCard,children:[t.jsx("span",{className:w(p.askBadge,p.askBadgeNeutral),children:"ASK"}),t.jsx("span",{className:p.resolvedMethodName,children:e.method}),t.jsxs("span",{className:w(p.outcome,n.tone==="success"&&p.outcomeSuccess),children:[n.glyph==="check"&&t.jsx(ye,{size:11,"aria-hidden":!0}),t.jsx("span",{className:w(n.truncate&&p.outcomeText),children:n.text})]})]})})}function W(e,s){return e.answerable?e.submitting?s?{loading:!0,style:{opacity:1}}:{disabled:!0}:{}:{disabled:!0,style:{opacity:1}}}function As({hint:e}){return e.kind==="warning"?t.jsx("p",{className:p.hint,children:e.text}):t.jsx("p",{className:p.hint,children:e.segments.map((s,n)=>t.jsxs(h.Fragment,{children:[n>0&&t.jsx("span",{className:p.hintSep,children:"·"}),t.jsx("span",{className:p.hintKey,children:s.key}),s.label]},s.label))})}function Rs({entry:e,connector:s,autoFocus:n=!1,sessionTitle:o}){const[r,a]=h.useState(()=>Date.now()),l=Pn(e,r),[c,m]=h.useState(!1),u=h.useRef(null),f=h.useRef(null),d=h.useRef(null);h.useEffect(()=>{if(!l.show)return;const b=setInterval(()=>a(Date.now()),Ss);return()=>clearInterval(b)},[e.requestId,e.timeoutMs,l.show]),h.useEffect(()=>{var y,R;if(!n||!e.answerable)return;const b=document.activeElement;(b instanceof HTMLTextAreaElement||b instanceof HTMLInputElement)&&b.value.length>0&&!((y=u.current)!=null&&y.contains(b))||(R=f.current)==null||R.focus()},[n,e.answerable]);function x(b){var _,y;e.answerable&&(b.target.closest("button, input, textarea, a, select")||(_=u.current)!=null&&_.contains(document.activeElement)||(y=u.current)==null||y.focus())}function B(b){Ct(e.requestId,b)}function P(b){var y;if(b.key!=="Escape"||!e.answerable)return;b.preventDefault(),b.stopPropagation();const _=Fn(c);if(m(_.armed),!_.resolve){(y=d.current)==null||y.focus();return}d.current?d.current.click():B({cancelled:!0})}function T(b){b.currentTarget.contains(b.relatedTarget)||m(!1)}return t.jsxs(H,{disc:t.jsx(K,{icon:me,size:"xs",color:e.answerable?"var(--pi-color-statusWarning)":"var(--pi-color-foregroundMuted)"}),discClassName:e.answerable?p.askDisc:p.askDiscInert,connector:s,children:[t.jsxs("div",{ref:u,className:w(p.card,!e.answerable&&p.cardInert),role:"group","aria-label":`Question in ${o}`,tabIndex:-1,onKeyDown:P,onMouseDown:x,onBlur:T,children:[l.show&&t.jsx("div",{className:w(p.deadlineBar,l.approximate&&p.deadlineApproximate),style:{width:`${l.fraction*100}%`}}),t.jsxs("div",{className:p.header,children:[t.jsx("span",{className:w(p.askBadge,!e.answerable&&p.askBadgeNeutral),"aria-hidden":"true",children:"ASK"}),t.jsx("span",{className:p.methodName,children:e.method}),nt(e)&&t.jsx(ot,{})]}),t.jsx(Is,{entry:e,onSubmit:B,primaryRef:f,dismissRef:d})]}),t.jsx(As,{hint:On(e.method,c)}),!e.answerable&&t.jsxs("p",{className:p.reconnectingNote,children:[t.jsx("span",{className:p.reconnectingDot}),"Reconnecting — you can answer again in a moment"]})]})}function Is({entry:e,onSubmit:s,primaryRef:n,dismissRef:o}){const{method:r,payload:a}=e;return r==="select"?t.jsx(Ls,{entry:e,payload:a,onSubmit:s,primaryRef:n,dismissRef:o}):r==="confirm"?t.jsx(Ps,{entry:e,payload:a,onSubmit:s,primaryRef:n,dismissRef:o}):r==="input"?t.jsx(Ms,{entry:e,payload:a,onSubmit:s,primaryRef:n}):r==="editor"?t.jsx(Os,{entry:e,payload:a,onSubmit:s,primaryRef:n,dismissRef:o}):t.jsx(Fs,{entry:e,method:r,payload:a,onSubmit:s,primaryRef:n,dismissRef:o})}function ue({text:e}){return t.jsx("div",{className:p.title,children:xe(e).join(`
|
|
6
|
+
`)})}function Ls({entry:e,payload:s,onSubmit:n,primaryRef:o,dismissRef:r}){const a=J(s,"title")??"",l=ws(s,"options"),[c,m]=h.useState(null);if(l.length===0){const f=W(e,c===0);return t.jsxs(t.Fragment,{children:[t.jsx(ue,{text:a}),t.jsx("p",{className:p.emptyOptionsNote,children:"The extension offered no options."}),t.jsx("div",{className:p.controls,children:t.jsx(E,{ref:d=>{o.current=d,r.current=d},size:"xs",variant:"secondary",onClick:()=>{m(0),n({cancelled:!0})},...f,children:"Cancel"})})]})}const u=zn(l);return t.jsxs(t.Fragment,{children:[t.jsx(ue,{text:a}),t.jsx("div",{className:w(p.controls,u.mode==="stack"&&p.controlsStack,u.scrolls&&p.controlsScroll),children:l.map((f,d)=>t.jsx(E,{ref:d===0?x=>{o.current=x}:void 0,size:"xs",variant:"secondary",className:p.optionButton,onClick:()=>{m(d),n({value:f})},...W(e,c===d),children:f},d))})]})}function Ps({entry:e,payload:s,onSubmit:n,primaryRef:o,dismissRef:r}){const a=J(s,"title")??"",l=J(s,"message"),c=$n(a,l),[m,u]=h.useState(null);return t.jsxs(t.Fragment,{children:[t.jsx("div",{className:w(p.title,c.message&&p.titleEmphasised),children:c.title.join(`
|
|
7
|
+
`)}),c.message&&t.jsx("div",{className:p.message,children:c.message.join(`
|
|
8
|
+
`)}),t.jsxs("div",{className:p.controls,children:[t.jsx(E,{ref:f=>{o.current=f},size:"xs",variant:"default",onClick:()=>{u("yes"),n({confirmed:!0})},...W(e,m==="yes"),children:"Yes"}),t.jsx(E,{ref:f=>{r.current=f},size:"xs",variant:"secondary",onClick:()=>{u("no"),n({confirmed:!1})},...W(e,m==="no"),children:"No"})]})]})}function Ms({entry:e,payload:s,onSubmit:n,primaryRef:o}){const r=J(s,"title")??"",a=J(s,"placeholder"),[l,c]=h.useState(""),m=W(e,e.submitting===!0),u=m.disabled===!0||m.loading===!0;return t.jsxs(t.Fragment,{children:[t.jsx(ue,{text:r}),t.jsxs("div",{className:p.controls,children:[t.jsx(wt,{ref:f=>{o.current=f},className:p.field,value:l,placeholder:a,disabled:u,onChange:f=>c(f.target.value),onKeyDown:f=>{f.key!=="Enter"||u||(f.preventDefault(),f.stopPropagation(),n({value:l}))}}),t.jsx(E,{size:"xs",variant:"default",onClick:()=>n({value:l}),...m,children:"Submit"})]})]})}function Os({entry:e,payload:s,onSubmit:n,primaryRef:o,dismissRef:r}){const a=J(s,"title")??"",l=J(s,"prefill")??"",[c,m]=h.useState(l),[u,f]=h.useState(null);return t.jsxs(t.Fragment,{children:[t.jsx(ue,{text:a}),t.jsx(Ge,{ref:d=>{o.current=d},className:p.editorField,rows:3,value:c,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,Cs)}px`},onKeyDown:d=>{d.key!=="Enter"||d.shiftKey!==st(e.method)||(d.preventDefault(),d.stopPropagation(),f("submit"),n({value:c}))}}),t.jsxs("div",{className:p.controls,children:[t.jsx(E,{size:"xs",variant:"default",onClick:()=>{f("submit"),n({value:c})},...W(e,u==="submit"),children:"Submit"}),t.jsx(E,{ref:d=>{r.current=d},size:"xs",variant:"secondary",onClick:()=>{f("cancel"),n({cancelled:!0})},...W(e,u==="cancel"),children:"Cancel"})]})]})}function Fs({entry:e,method:s,payload:n,onSubmit:o,primaryRef:r,dismissRef:a}){const l={method:s,...n},c=W(e,e.submitting===!0);return t.jsxs(t.Fragment,{children:[t.jsx("p",{className:p.title,children:"This extension asked something this version of Pi-Studio can't display."}),t.jsx("pre",{className:p.rawPayload,children:JSON.stringify(l,null,2)}),t.jsx("div",{className:p.controls,children:t.jsx(E,{ref:m=>{r.current=m,a.current=m},size:"xs",variant:"secondary",onClick:()=>o({cancelled:!0}),...c,children:"Cancel"})})]})}function ze(e){if(e===void 0)return null;const s=typeof e=="number"?e:Date.parse(e);return Number.isNaN(s)?null:s}function qs(e,s,n,o){if(s.length===0)return e.map(n);const r=[];let a=0;const l=c=>{for(;a<e.length;){const m=e[a];if(m===void 0)break;if(c!==null){const u=ze(m.timestamp);if(u!==null&&u>c)break}r.push(n(m)),a++}};for(const c of s){if(c.kind==="more"){r.push(o(c));continue}l(ze(c.item.entry.createdAt)),r.push(o(c))}for(;a<e.length;a++){const c=e[a];c!==void 0&&r.push(n(c))}return r}function Ks(e,s){return!e||s===void 0?!1:s.every(n=>n.configured===!1)}const Hs=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function $e(e){return String(e).padStart(2,"0")}function Ce(e){if(!e)return;const s=new Date(e);if(!Number.isNaN(s.getTime()))return`${Hs[s.getMonth()]} ${s.getDate()}, ${$e(s.getHours())}:${$e(s.getMinutes())}`}const zs="_queuedBadge_mdmbp_8",$s="_finalChip_mdmbp_20",Us="_userDisc_mdmbp_30",Ws="_userAligned_mdmbp_34",Gs="_userPendingRow_mdmbp_40",Vs="_userBubble_mdmbp_44",Ys="_userBubbleFailed_mdmbp_58",Js="_userImages_mdmbp_63",Qs="_userImage_mdmbp_63",Xs="_imageDialog_mdmbp_79",Zs="_imageDialogPreview_mdmbp_83",eo="_assistantDisc_mdmbp_93",to="_assistantBody_mdmbp_97",no="_reasoningDisc_mdmbp_108",so="_reasoningBody_mdmbp_112",oo="_toolDisc_mdmbp_123",ro="_toolCardBody_mdmbp_127",ao="_toolCardBodyRunning_mdmbp_134",io="_toolCardBodyCompleted_mdmbp_138",co="_toolCardBodyError_mdmbp_142",lo="_toolHeader_mdmbp_146",uo="_toolHeaderRunning_mdmbp_172",mo="_toolChevron_mdmbp_182",fo="_toolChevronOpen_mdmbp_188",po="_kindBadge_mdmbp_192",ho="_toolPath_mdmbp_204",go="_toolTrailing_mdmbp_213",_o="_toolStatusRunning_mdmbp_221",xo="_toolStatusSuccess_mdmbp_228",vo="_toolStatusError_mdmbp_232",ko="_toolStatusUnknown_mdmbp_236",jo="_toolDiffAdded_mdmbp_240",bo="_toolDiffRemoved_mdmbp_244",yo="_toolOpenButton_mdmbp_248",No="_toolBody_mdmbp_266",So="_toolCode_mdmbp_272",Co="_toolOutputStrip_mdmbp_283",wo="_toolDiffPreview_mdmbp_293",Do="_toolDiffPreviewLine_mdmbp_301",Bo="_toolDiffPreviewAdd_mdmbp_305",To="_toolDiffPreviewDel_mdmbp_310",Eo="_toolDiffPreviewMore_mdmbp_315",Ao="_errorDisc_mdmbp_322",Ro="_errorCard_mdmbp_326",Io="_errorLead_mdmbp_335",Lo="_systemRow_mdmbp_342",g={queuedBadge:zs,finalChip:$s,userDisc:Us,userAligned:Ws,userPendingRow:Gs,userBubble:Vs,userBubbleFailed:Ys,userImages:Js,userImage:Qs,imageDialog:Xs,imageDialogPreview:Zs,assistantDisc:eo,assistantBody:to,reasoningDisc:no,reasoningBody:so,toolDisc:oo,toolCardBody:ro,toolCardBodyRunning:ao,toolCardBodyCompleted:io,toolCardBodyError:co,toolHeader:lo,toolHeaderRunning:uo,toolChevron:mo,toolChevronOpen:fo,kindBadge:po,toolPath:ho,toolTrailing:go,toolStatusRunning:_o,toolStatusSuccess:xo,toolStatusError:vo,toolStatusUnknown:ko,toolDiffAdded:jo,toolDiffRemoved:bo,toolOpenButton:yo,toolBody:No,toolCode:So,toolOutputStrip:Co,toolDiffPreview:wo,toolDiffPreviewLine:Do,toolDiffPreviewAdd:Bo,toolDiffPreviewDel:To,toolDiffPreviewMore:Eo,errorDisc:Ao,errorCard:Ro,errorLead:Io,systemRow:Lo};function Po({row:e,assetBase:s=null,owningPaneId:n=null,workspaceCwd:o=null,connector:r}){const a=Ce(e.timestamp);return t.jsx(H,{disc:t.jsx(K,{icon:Gt,size:"xs",color:"var(--pi-color-accentForeground)"}),discClassName:g.assistantDisc,connector:r,meta:t.jsxs(t.Fragment,{children:["Assistant",a&&t.jsxs("span",{className:q.metaTime,children:[" · ",a]})]}),children:t.jsx("div",{className:g.assistantBody,children:e.streaming?t.jsx(Je,{text:e.text,assetBase:s,owningPaneId:n,workspaceCwd:o}):t.jsx(Qe,{text:e.text,assetBase:s,owningPaneId:n,workspaceCwd:o})})})}function Mo({row:e,owningPaneId:s=null,workspaceCwd:n=null,connector:o}){const r=Ce(e.timestamp);return t.jsx(H,{disc:t.jsx(K,{icon:Ye,size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:g.reasoningDisc,connector:o,meta:t.jsxs(t.Fragment,{children:["Reasoning",r&&t.jsxs("span",{className:q.metaTime,children:[" · ",r]})]}),metaTrailing:!e.streaming&&t.jsx("span",{className:g.finalChip,children:"final"}),children:t.jsx("div",{className:g.reasoningBody,children:e.streaming?t.jsx(Je,{text:e.text,owningPaneId:s,workspaceCwd:n}):t.jsx(Qe,{text:e.text,owningPaneId:s,workspaceCwd:n})})})}function Oo(e){const s=dn(e).filter(o=>o.kind==="add"||o.kind==="del"),n=s[0];return n?{text:n.text,kind:n.kind,moreCount:s.length-1}:null}function Fo(e){return e.status==="completed"?t.jsx("span",{className:g.toolStatusSuccess,children:"✓ completed"}):e.status==="error"?t.jsx("span",{className:g.toolStatusError,children:e.statusText||"error"}):e.statusText&&e.statusText!=="running"?t.jsx("span",{className:g.toolStatusUnknown,children:e.statusText}):t.jsxs("span",{className:g.toolStatusRunning,children:[t.jsx(ke,{size:"xs",color:"var(--pi-color-accentBright)"}),"running"]})}function qo({row:e,assetBase:s=null,owningPaneId:n=null,workspaceCwd:o=null,connector:r}){const[a,l]=h.useState(!1),c=hn(e.tool),m=pn(e.tool),u=m.length>0,f=_n(e.tool.output),d=e.tool.kind==="edit"||e.tool.kind==="write"?et(e.tool):null,x=e.tool.kind==="edit"?gn(e.tool.diff):null,B=e.tool.kind==="edit"&&e.tool.diff&&!a?Oo(e.tool.diff):null;function P(){u&&l(_=>!_)}function T(_){_.target===_.currentTarget&&(_.key==="Enter"||_.key===" ")&&(_.preventDefault(),P())}function b(_){if(_.stopPropagation(),!d)return;const y=cn(s,n,o);Dt(d,y.workspaceCwd,y.targetPaneId)}return t.jsx(H,{disc:t.jsx(K,{icon:mn(e.tool),size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:g.toolDisc,connector:r,children:t.jsxs("div",{className:w(g.toolCardBody,e.status==="running"&&g.toolCardBodyRunning,e.status==="completed"&&g.toolCardBodyCompleted,e.status==="error"&&g.toolCardBodyError),children:[t.jsxs("div",{role:"button",tabIndex:u?0:-1,"aria-expanded":u?a:void 0,"aria-disabled":!u,className:w(g.toolHeader,e.status==="running"&&g.toolHeaderRunning),onClick:P,onKeyDown:T,children:[u&&t.jsx(Vt,{size:12,className:w(g.toolChevron,a&&g.toolChevronOpen)}),t.jsx("span",{className:g.kindBadge,style:{"--kindToken":`var(--pi-color-${c.token})`},children:c.label}),t.jsx("span",{className:g.toolPath,title:_e(e.tool),children:_e(e.tool)}),t.jsxs("span",{className:g.toolTrailing,children:[x&&(x.added>0||x.removed>0)&&t.jsxs(t.Fragment,{children:[t.jsxs("span",{className:g.toolDiffAdded,children:["+",x.added]}),t.jsxs("span",{className:g.toolDiffRemoved,children:["−",x.removed]})]}),Fo(e),d&&t.jsxs("button",{type:"button",className:g.toolOpenButton,onClick:b,onKeyDown:_=>_.stopPropagation(),children:["Open",t.jsx(Yt,{size:10})]})]})]}),f>0&&t.jsxs("div",{className:g.toolOutputStrip,children:["output · ",f," lines"]}),B&&t.jsxs("div",{className:g.toolDiffPreview,children:[t.jsx("div",{className:w(g.toolDiffPreviewLine,B.kind==="add"?g.toolDiffPreviewAdd:g.toolDiffPreviewDel),children:B.text}),B.moreCount>0&&t.jsxs("div",{className:g.toolDiffPreviewMore,children:["… ",B.moreCount," more lines"]})]}),a&&u&&t.jsx("div",{className:g.toolBody,children:m.map((_,y)=>_.kind==="diff"?t.jsx(ln,{patch:_.patch},y):t.jsx("pre",{className:g.toolCode,children:_.text},y))})]})})}function Ko({row:e,connector:s}){const[n,o]=h.useState(null),r=Ce(e.timestamp);return t.jsxs(H,{disc:t.jsx(K,{icon:Qt,size:"xs",color:"var(--pi-color-successForeground)"}),discClassName:g.userDisc,connector:s,className:w(g.userAligned,e.pending&&g.userPendingRow),meta:t.jsxs(t.Fragment,{children:["You",r&&t.jsxs("span",{className:q.metaTime,children:[" · ",r]}),e.failed&&" · failed to send"]}),metaTrailing:e.queued&&!e.failed&&t.jsxs("span",{className:g.queuedBadge,children:[t.jsx(Jt,{size:9}),"queued"]}),children:[t.jsx("span",{className:w(g.userBubble,e.failed&&g.userBubbleFailed),children:e.text}),e.images&&e.images.length>0&&t.jsx("div",{className:g.userImages,children:e.images.map((a,l)=>{const c=`data:${a.mimeType??"image/png"};base64,${a.data??""}`;return t.jsx("img",{className:g.userImage,src:c,alt:"",role:"button",tabIndex:0,onClick:()=>o(c),onKeyDown:m=>{(m.key==="Enter"||m.key===" ")&&o(c)}},l)})}),t.jsx(Bt,{open:n!==null,onOpenChange:a=>{a||o(null)},title:"Image",width:"auto",bare:!0,className:g.imageDialog,children:n&&t.jsx("img",{className:g.imageDialogPreview,src:n,alt:""})})]})}function Ho({row:e,connector:s}){return t.jsx(H,{disc:t.jsx(K,{icon:Xt,size:"xs",color:"var(--pi-color-destructive)"}),discClassName:g.errorDisc,connector:s,children:t.jsxs("div",{className:g.errorCard,children:[t.jsx("span",{className:g.errorLead,children:"Error"})," · ",e.text]})})}function zo({row:e}){return t.jsx("div",{className:g.systemRow,children:e.text})}const $o=500;function Uo(e,s){const n=h.useRef(!0),[o,r]=h.useState(!0),a=h.useRef(0),l=h.useCallback(u=>{const f=s.current,d=f?{scrollTop:f.scrollTop,scrollHeight:f.scrollHeight,clientHeight:f.clientHeight}:{scrollTop:0,scrollHeight:0,clientHeight:0},x=bn(n.current,u,d);x.pinned!==n.current&&(n.current=x.pinned,r(x.pinned)),x.stick&&e.options.count>0&&e.scrollToEnd({behavior:"auto"})},[s,e]);h.useEffect(()=>{const u=s.current;if(!u)return;const f=()=>{a.current=performance.now()},d=()=>{l({kind:"scroll",gesture:performance.now()-a.current<$o})};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&&l({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)}},[l,s]);const c=h.useCallback(()=>l({kind:"tail"}),[l]),m=h.useCallback(()=>l({kind:"pin"}),[l]);return{pinned:o,followTail:c,pinToBottom:m}}const Wo="_root_1xg4h_6",Go="_viewport_1xg4h_13",Vo="_inner_1xg4h_20",Yo="_rowWrap_1xg4h_25",Jo="_empty_1xg4h_35",Qo="_nudge_1xg4h_47",Xo="_jumpToLatest_1xg4h_56",Y={root:Wo,viewport:Go,inner:Vo,rowWrap:Yo,empty:Jo,nudge:Qo,jumpToLatest:Xo},Zo=160;function er(e){return e.kind==="ask"?`ask:${Rn(e.item)}`:e.kind==="ask-more"?"ask-more":e.row.id}function tr(e,s,n,o,r){switch(e.kind){case"user":return t.jsx(Ko,{row:e,connector:!s});case"assistant":return t.jsx(Po,{row:e,assetBase:n,owningPaneId:o,workspaceCwd:r,connector:!s});case"reasoning":return t.jsx(Mo,{row:e,owningPaneId:o,workspaceCwd:r,connector:!s});case"tool":return t.jsx(qo,{row:e,assetBase:n,owningPaneId:o,workspaceCwd:r,connector:!s});case"error":return t.jsx(Ho,{row:e,connector:!s});case"system":return t.jsx(zo,{row:e})}}function nr(e,s,n,o,r,a,l,c){return e.kind==="ask"?t.jsx(Ds,{item:e.item,collapsed:e.collapsed,connector:!s,autoFocus:e.item.kind==="pending"&&e.item.entry.requestId===l,sessionTitle:c}):e.kind==="ask-more"?t.jsx(Ts,{count:e.count,connector:!s,onExpand:a}):tr(e.row,s,n,o,r)}function sr({session:e,owningPaneId:s,workspaceCwd:n}){var O,z;const o=e.timeline.rows,r=e.status==="running",a=Tt(),l=Et(e.cwd,a),c=h.useRef(null),m=At(e.agentId??""),u=Rt(e.agentId??""),[f,d]=h.useState(!1),x=L(N=>N.activeSessionId===e.id),B=It(N=>{var D;return((D=N.layouts[n])==null?void 0:D.focusedPaneId)===s}),P=x&&B?((O=m[0])==null?void 0:O.requestId)??null:null,T=h.useMemo(()=>{const N=Ln(An(m,u),f);return qs(o,N,D=>({kind:"row",row:D}),D=>D.kind==="more"?{kind:"ask-more",count:D.count}:{kind:"ask",item:D.item,collapsed:D.collapsed})},[o,m,u,f]),b=U(N=>N.status==="open"),_=U(N=>N.serverInfo),y=!!((z=_==null?void 0:_.features)!=null&&z.providerAuth),R=Lt(N=>N.openSettings),{data:G}=an(o.length===0&&b&&y),Q=Ks(y,G),S=bt({count:T.length,getScrollElement:()=>c.current,estimateSize:()=>Zo,overscan:8,getItemKey:N=>{const D=T[N];return D?er(D):N},measureElement:(N,D,$)=>{if(N.offsetParent!==null)return yt(N,D,$);const ne=$.indexFromElement(N),ae=$.options.getItemKey(ne);return $.itemSizeCache.get(ae)??$.options.estimateSize(ne)},anchorTo:"end",scrollEndThreshold:tt}),{pinned:A,followTail:re,pinToBottom:M}=Uo(S,c),te=yn(o);return h.useEffect(()=>{re()},[T.length,re]),h.useEffect(()=>{te!==null&&M()},[te,M]),t.jsxs("div",{className:Y.root,children:[t.jsx("div",{className:Y.viewport,ref:c,children:T.length===0?!r&&(Q?t.jsxs(Pt,{className:Y.nudge,children:[t.jsx("span",{children:"No messages yet — connect a model provider to get started."}),t.jsx(E,{size:"xs",variant:"secondary",onClick:()=>R(),children:"Connect a model provider"})]}):t.jsx("div",{className:Y.empty,children:"No messages yet — say something to start."})):t.jsx("div",{className:Y.inner,style:{height:S.getTotalSize()},children:S.getVirtualItems().map(N=>{const D=T[N.index];return D?t.jsx("div",{ref:S.measureElement,"data-index":N.index,className:Y.rowWrap,style:{transform:`translateY(${N.start}px)`},children:nr(D,N.index===T.length-1,l,s,n,()=>d(!0),P,e.title)},N.key):null})})}),!A&&T.length>0&&t.jsx("button",{type:"button",className:Y.jumpToLatest,onClick:M,title:"Jump to latest","aria-label":"Jump to latest",children:t.jsx(Zt,{size:16,"aria-hidden":"true"})})]})}function or(e,s=!0){const n=U(o=>o.client);return ve({queryKey:je.agentCommands(e),queryFn:async()=>{if(!n)throw new Error("not connected");const o=await de(n,e),{commands:r}=await n.agent(o).listCommands();return r},enabled:!!n&&!!e&&s})}function rt(e,s=!0){const n=U(o=>o.client);return ve({queryKey:je.providerModels(e),queryFn:async()=>{if(!n)throw new Error("not connected");return(await n.providers.listModels(e)).models},enabled:!!n&&!!e&&s})}function rr(e,s,n=!0){const o=U(r=>r.client);return ve({queryKey:je.thinkingLevels(e??"",s),queryFn:async()=>{if(!o||!e)throw new Error("not connected");return(await o.agent(e).listThinkingLevels()).levels},enabled:!!o&&!!e&&n,retry:!1})}const ar="_strip_nzfk5_4",ir="_thumb_nzfk5_11",cr="_remove_nzfk5_28",he={strip:ar,thumb:ir,remove:cr};function lr({images:e,onRemove:s}){return e.length===0?null:t.jsx("div",{className:he.strip,children:e.map((n,o)=>t.jsxs("div",{className:he.thumb,children:[t.jsx("img",{src:n.thumbUrl,alt:""}),t.jsx("button",{type:"button",className:he.remove,title:"Remove",onClick:()=>s(o),children:"×"})]},o))})}function dr(e){const{promise:s,resolve:n,reject:o}=Promise.withResolvers(),r=new FileReader;return r.onload=()=>{const a=r.result;if(typeof a!="string"){o(new Error("Unexpected FileReader result"));return}const l=a.indexOf(","),c=l>=0?a.slice(l+1):a;n({mimeType:e.type,data:c,thumbUrl:a})},r.onerror=()=>o(r.error??new Error("Failed to read file")),r.readAsDataURL(e),s}function ur(e,s,n){return e?n:s}const mr="_picker_11c3i_4",fr="_search_11c3i_10",pr="_list_11c3i_28",hr="_item_11c3i_33",gr="_itemActive_11c3i_50",_r="_checkSlot_11c3i_54",xr="_label_11c3i_63",vr="_modelId_11c3i_69",kr="_state_11c3i_76",jr="_stateError_11c3i_85",br="_commandContent_11c3i_95",yr="_commandList_11c3i_98",Nr="_commandItem_11c3i_103",Sr="_commandItemHeader_11c3i_135",Cr="_commandKindBadge_11c3i_149",wr="_commandKindExtension_11c3i_168",Dr="_commandKindPrompt_11c3i_173",Br="_commandKindSkill_11c3i_178",Tr="_commandDescription_11c3i_183",j={picker:mr,search:fr,list:pr,item:hr,itemActive:gr,checkSlot:_r,label:xr,modelId:vr,state:kr,stateError:jr,commandContent:br,commandList:yr,commandItem:Nr,commandItemHeader:Sr,commandKindBadge:Cr,commandKindExtension:wr,commandKindPrompt:Dr,commandKindSkill:Br,commandDescription:Tr},Er={onOpenAutoFocus:e=>e.preventDefault()};function Ar(e){switch(e){case"extension":return j.commandKindExtension;case"prompt":return j.commandKindPrompt;case"skill":return j.commandKindSkill;default:return}}function Rr({open:e,onOpenChange:s,options:n,highlightedIndex:o,onSelect:r,isLoading:a,isError:l,errorMessage:c,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(Ne,{open:e,onOpenChange:s,modal:!1,children:[t.jsx(Se,{asChild:!0,children:u()}),t.jsxs(be,{className:w(j.picker,j.commandContent),side:"top",sideOffset:4,...Er,onCloseAutoFocus:d=>d.preventDefault(),children:[a&&t.jsx("div",{className:j.state,children:t.jsx(ke,{size:"sm"})}),!a&&l&&t.jsx("div",{className:j.stateError,children:c??"Failed to load commands"}),!a&&!l&&n.length===0&&t.jsx("div",{className:j.state,children:"No commands found"}),!a&&!l&&n.length>0&&t.jsx("div",{ref:f,className:w(j.list,j.commandList),children:n.map((d,x)=>t.jsxs("div",{role:"option","aria-selected":x===o,className:w(j.item,j.commandItem,x===o&&j.itemActive),title:d.description,onMouseDown:B=>{B.preventDefault(),r(d.value)},children:[t.jsxs("div",{className:j.commandItemHeader,children:[t.jsx("span",{className:j.label,children:d.label}),d.kind&&t.jsx("span",{className:w(j.commandKindBadge,Ar(d.kind)),children:d.kind})]}),d.description&&t.jsx("div",{className:j.commandDescription,children:d.description})]},d.value))}),!a&&!l&&m>0&&t.jsxs("div",{className:j.state,children:[m," extension command(s) unavailable while the agent is running"]})]})]})}function Ir(e,s={}){const n=new Map;for(const m of e){const u=m.group??"",f=n.get(u);f?f.push(m):n.set(u,[m])}const o=n.get("");n.delete("");const r=[...n.keys()],{priorityGroup:a,ungroupedLabel:l}=s;a!==void 0&&n.has(a)&&(r.splice(r.indexOf(a),1),r.unshift(a));const c=r.map(m=>({key:m,label:m,options:n.get(m)??[]}));return o&&c.push({key:"",label:l,options:o}),c}function Lr(e,s,n){if(!s)return e;const o=e.filter(a=>a.id===s),r=(n===void 0?void 0:o.find(a=>a.provider===n))??o[0];return r?[r,...e.filter(a=>a!==r)]:e}function Pr(e){const s=new Set;return e.filter(n=>{const o=`${n.provider??""}/${n.id}`;return s.has(o)?!1:(s.add(o),!0)})}function Mr({currentModel:e,currentModelProvider:s,provider:n,onSelect:o,renderTrigger:r}){const[a,l]=h.useState(!1),[c,m]=h.useState(""),u=h.useRef(null),{data:f=[],isLoading:d,isError:x,error:B}=rt(n,a||e!==void 0);h.useEffect(()=>{var S;a&&(m(""),(S=u.current)==null||S.focus())},[a]);const T=Pr(Lr(f,e,s)).map(S=>({value:S.id,label:S.label??S.id,description:S.id,group:S.provider})),b=T[0],_=(b==null?void 0:b.value)===e?b:void 0,y=Ir(Ze(T,c),{priorityGroup:s,ungroupedLabel:"Other"}),R=y.length>1,G=B instanceof Error?B.message:"Failed to load models";function Q(S){S.stopPropagation(),S.key==="Escape"&&l(!1)}return t.jsxs(Ne,{open:a,onOpenChange:l,modal:!1,children:[t.jsx(Se,{asChild:!0,children:r(e,_==null?void 0:_.label)}),t.jsxs(be,{minWidth:240,align:"end",sideOffset:6,className:j.picker,children:[t.jsx("input",{ref:u,className:j.search,placeholder:"Search models…",value:c,onChange:S=>m(S.target.value),onKeyDown:Q}),d&&t.jsx("div",{className:j.state,children:t.jsx(ke,{size:"sm"})}),!d&&x&&t.jsx("div",{className:j.stateError,children:G}),!d&&!x&&y.length===0&&t.jsx("div",{className:j.state,children:"No models found"}),!d&&!x&&y.length>0&&t.jsx("div",{className:j.list,children:y.map(S=>t.jsx(Mt,{label:R?S.label:void 0,children:S.options.map(A=>t.jsxs(Xe,{className:j.item,onSelect:()=>o(A.value,A.group),children:[t.jsx("span",{className:j.checkSlot,"aria-hidden":!0,children:A===_&&t.jsx(ye,{size:14})}),t.jsx("span",{className:j.label,children:A.label}),t.jsxs("span",{className:j.modelId,children:["(",A.value,")"]})]},`${A.group??""}/${A.value}`))},S.key))})]})]})}function Or({currentLevel:e,levels:s,open:n,onOpenChange:o,onSelect:r,renderTrigger:a}){return t.jsxs(Ne,{open:n,onOpenChange:o,modal:!1,children:[t.jsx(Se,{asChild:!0,children:a(e)}),t.jsx(be,{minWidth:140,align:"end",side:"top",sideOffset:6,className:j.picker,children:s.length===0?t.jsx("div",{className:j.state,children:"Loading levels…"}):t.jsx("div",{className:j.list,children:s.map(l=>t.jsxs(Xe,{className:j.item,onSelect:()=>r(l),children:[t.jsx("span",{className:j.checkSlot,"aria-hidden":!0,children:l===e&&t.jsx(ye,{size:14})}),t.jsx("span",{className:j.label,children:l})]},l))})})]})}const Ue=["off","minimal","low","medium","high","xhigh","max"];function Fr(e,s){if(!e)return Ue;const n=s==null?void 0:s.find(o=>o.id===e);return n!=null&&n.thinkingLevels&&n.thinkingLevels.length>0?n.thinkingLevels:Ue}function we(e){if(!e.startsWith("/"))return null;const s=/^\/(\S*)/.exec(e),n=(s==null?void 0:s[1])??"",o=1+n.length,r=/\S/.test(e.slice(o));return{name:n,end:o,hasArgs:r}}function qr(e){return/^\/\S*$/.test(e)}function Kr(e,s){let n=0;const o=[];for(const r of e){if(s.running&&r.source==="extension"){n+=1;continue}o.push({value:r.name,label:`/${r.name}`,description:r.description,kind:r.source})}return{options:o,hiddenExtensionCount:n}}function Hr(e,s,n){return n<=0?0:(e+s+n)%n}function zr(e,s){const n=we(e);return n?n.hasArgs?`/${s}${e.slice(n.end)}`:`/${s} `:`/${s} ${e}`}function $r(e,s){const n=we(e);return!n||!s.includes(n.name)?null:{end:n.end}}const Ur="_composer_afpks_4",Wr="_card_afpks_13",Gr="_flash_afpks_27",Vr="_note_afpks_41",Yr="_textarea_afpks_49",Jr="_textareaWrap_afpks_73",Qr="_highlightLayer_afpks_61",Xr="_commandMark_afpks_96",Zr="_hiddenFileInput_afpks_121",ea="_toolbar_afpks_127",ta="_toolbarRight_afpks_134",na="_toolBtn_afpks_142",sa="_roundBtn_afpks_148",oa="_modelBtn_afpks_153",ra="_modelLabel_afpks_183",aa="_modelId_afpks_181",ia="_modelChevron_afpks_201",C={composer:Ur,card:Wr,flash:Gr,note:Vr,textarea:Yr,textareaWrap:Jr,highlightLayer:Qr,commandMark:Xr,hiddenFileInput:Zr,toolbar:ea,toolbarRight:ta,toolBtn:na,roundBtn:sa,modelBtn:oa,modelLabel:ra,modelId:aa,modelChevron:ia},ca=160;function le(e){e.style.height="auto",e.style.height=`${Math.min(e.scrollHeight,ca)}px`}function la(e){return typeof e=="object"&&e!==null&&"ok"in e&&e.ok===!1}function da(){return typeof window<"u"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}function ua({sessionId:e}){var Me;const s=U(i=>i.client),n=L(i=>i.sessions[e]),o=L(i=>i.addOptimisticUserMessage),r=L(i=>i.markUserMessageFailed),a=L(i=>i.setCwd),l=L(i=>i.setModel),c=L(i=>i.setThinkingLevel),m=U(i=>i.serverInfo),[u,f]=h.useState(!1),d=!!((Me=m==null?void 0:m.features)!=null&&Me.thinkingLevels),{data:x}=rr(n==null?void 0:n.agentId,n==null?void 0:n.model,u&&!!(n!=null&&n.agentId)&&((n==null?void 0:n.userMessageCount)??0)>0),{data:B}=rt("pi"),P=Fr(n==null?void 0:n.model,B),T=x!==void 0&&x.length>0?x:P,b=d&&!(x!==void 0&&x.length===0),_=ce(i=>i.drafts[e]??""),y=ce(i=>i.setDraft),[R,G]=h.useState([]),[Q,S]=h.useState(!1),[A,re]=h.useState(!1),M=h.useRef(null),te=h.useRef(null),[O,z]=h.useState(!1),[N,D]=h.useState(0),$=Ot(Ft.chat(e)),ne=ce(i=>i.pendingFeedback[e]),[ae,De]=h.useState(null),[at,Be]=h.useState(!1),se=h.useRef(null),oe=h.useRef(null);h.useEffect(()=>{if(!$||ne===void 0)return;const i=ce.getState().consumeFeedback(e);if(!i)return;De(i.copy==="filled"?"Your message was filled in":"Your draft was replaced"),se.current!==null&&window.clearTimeout(se.current),se.current=window.setTimeout(()=>De(null),4e3);const v=M.current;v&&v.setSelectionRange(v.value.length,v.value.length),i.flash&&(Be(!0),oe.current!==null&&window.clearTimeout(oe.current),oe.current=window.setTimeout(()=>Be(!1),da()?1e3:400))},[$,ne,e]),h.useEffect(()=>()=>{se.current!==null&&window.clearTimeout(se.current),oe.current!==null&&window.clearTimeout(oe.current)},[]);const F=(n==null?void 0:n.status)==="running",it=ur(F,Q,A),ct=!!s&&!it&&(_.trim().length>0||R.length>0),{data:Te=[],isLoading:lt,isError:dt,error:Ee}=or(e,O),{options:Ae,hiddenExtensionCount:ut}=Kr(Te,{running:F}),Re=we(_),ie=Re?Ze(Ae,Re.name):Ae,mt=Te.map(i=>i.name),X=$r(_,mt);async function Ie(i){if(i.type.startsWith("image/"))try{const v=await dr(i);G(k=>[...k,v])}catch{}}function ft(i){for(const v of i.target.files??[])Ie(v);i.target.value=""}function pt(i){for(const v of i.clipboardData.items)if(v.type.startsWith("image/")){i.preventDefault();const k=v.getAsFile();k&&Ie(k)}}function ht(i){G(v=>v.filter((k,I)=>I!==i))}function gt(i){const v=i.target.value;y(e,v),le(i.target);const k=qr(v);k!==O&&z(k),k&&D(0)}function _t(i){var v;if(!O&&X&&i.key==="Backspace"){const k=i.currentTarget,I=k.selectionStart;if(I!==null&&I===k.selectionEnd){const Z=X.end+(_[X.end]===" "?1:0);if(I>0&&I<=Z){i.preventDefault();const V=_.slice(Z);y(e,V),k.setSelectionRange(0,0),le(k);return}}}if(O&&ie.length>0){if(i.key==="ArrowDown"||i.key==="ArrowUp"){i.preventDefault(),D(k=>Hr(k,i.key==="ArrowDown"?1:-1,ie.length));return}if(i.key==="Enter"&&!i.shiftKey||i.key==="Tab"){i.preventDefault();const k=(v=ie[N])==null?void 0:v.value;k&&Le(k);return}}if(O&&i.key==="Escape"){i.preventDefault(),z(!1);return}i.key==="Enter"&&!i.shiftKey&&(i.preventDefault(),Pe(F?"steer":"send"))}function Le(i){const v=zr(_,i);y(e,v),z(!1),D(0);const k=M.current;k&&(k.focus(),k.setSelectionRange(v.length,v.length),le(k))}async function Pe(i){if(!s||!n||(i==="steer"?A:Q)||i==="steer"&&!n.agentId)return;const v=_.trim();if(!v&&R.length===0)return;y(e,""),z(!1),M.current&&le(M.current);const k=R;G([]);const I=v||"Describe this image",Z=k.length>0?k.map(ee=>({mimeType:ee.mimeType,data:ee.data})):void 0,V=qt();o(e,V,I,Z,i==="steer");const Oe=i==="steer"?re:S;Oe(!0);try{if(i==="steer"){const ee=await s.agent(n.agentId).steer(I,{clientMessageId:V,images:Z});la(ee)&&r(e,V)}else{n.agentId||a(e,n.cwd||"~");const ee=await de(s,e);await s.agent(ee).send(I,{clientMessageId:V,images:Z})}}catch{r(e,V)}finally{Oe(!1)}}function xt(){n!=null&&n.agentId&&(s==null||s.agent(n.agentId).interrupt())}function vt(i,v){l(e,i,v),!(!s||!v)&&(async()=>{const k=await de(s,e);await s.agent(k).setModel(v,i)})().catch(()=>{})}function kt(i){c(e,i),s&&(async()=>{const v=await de(s,e),k=await s.agent(v).setThinking(i);c(e,k.level)})().catch(()=>{})}return t.jsxs("div",{className:C.composer,children:[t.jsxs("div",{className:w(C.card,at&&C.flash),children:[t.jsxs("div",{className:C.textareaWrap,children:[t.jsx("div",{className:C.highlightLayer,"aria-hidden":!0,children:X?t.jsxs(t.Fragment,{children:[t.jsx("mark",{className:C.commandMark,children:_.slice(0,X.end)}),_.slice(X.end)]}):_}),t.jsx(Ge,{ref:M,className:C.textarea,rows:1,value:_,placeholder:F?"Steer the running turn… ⏎ steer · ⇧⏎ newline":"Ask anything… ⏎ send · ⇧⏎ newline · / commands",onChange:gt,onKeyDown:_t,onPaste:pt})]}),t.jsx(lr,{images:R,onRemove:ht}),t.jsxs("div",{className:C.toolbar,children:[t.jsx(E,{className:C.toolBtn,variant:"ghost",size:"sm",iconOnly:!0,title:"Attach image","aria-label":"Attach image",onClick:()=>{var i;return(i=te.current)==null?void 0:i.click()},children:t.jsx(en,{size:16})}),t.jsx(Rr,{open:O,onOpenChange:z,options:ie,highlightedIndex:N,onSelect:Le,isLoading:lt,isError:dt,errorMessage:Ee instanceof Error?Ee.message:void 0,hiddenExtensionCount:ut,renderTrigger:()=>t.jsx(E,{className:C.toolBtn,variant:"ghost",size:"sm",iconOnly:!0,title:"Slash commands","aria-label":"Slash commands",children:t.jsx(tn,{size:16})})}),t.jsxs("div",{className:C.toolbarRight,children:[t.jsx(Mr,{currentModel:n==null?void 0:n.model,currentModelProvider:n==null?void 0:n.modelProvider,provider:"pi",onSelect:vt,renderTrigger:(i,v)=>{const k=v!==void 0&&v!==i;return t.jsxs("button",{type:"button",className:C.modelBtn,disabled:!s,title:i?`Model: ${v??i}${k?` (${i})`:""}`:"Select model",children:[t.jsx(nn,{size:14,"aria-hidden":"true"}),t.jsx("span",{className:C.modelLabel,children:v??i??"Model"}),k&&t.jsxs("span",{className:C.modelId,children:["(",i,")"]}),t.jsx(qe,{size:13,className:C.modelChevron,"aria-hidden":"true"})]})}}),b&&t.jsx(Or,{currentLevel:n==null?void 0:n.thinkingLevel,levels:T,open:u,onOpenChange:f,onSelect:kt,renderTrigger:i=>t.jsxs("button",{type:"button",className:C.modelBtn,disabled:!s,title:i?`Thinking: ${i}`:"Thinking level",children:[t.jsx(Ye,{size:14,"aria-hidden":"true"}),t.jsx("span",{className:C.modelLabel,children:i??"Thinking"}),t.jsx(qe,{size:13,className:C.modelChevron,"aria-hidden":"true"})]})}),F&&t.jsx(E,{className:C.roundBtn,variant:"destructive",size:"sm",iconOnly:!0,title:"Stop the running turn","aria-label":"Stop",onClick:xt,children:t.jsx(sn,{size:14})}),t.jsx(E,{className:C.roundBtn,size:"sm",iconOnly:!0,disabled:!ct,title:F?"Steer the running turn":"Send","aria-label":F?"Steer":"Send",onClick:()=>void Pe(F?"steer":"send"),children:F?t.jsx(on,{size:16}):t.jsx(rn,{size:18})})]})]})]}),ae!==null&&t.jsx("div",{className:C.note,children:ae}),t.jsx("input",{ref:te,className:C.hiddenFileInput,type:"file",accept:"image/*",multiple:!0,onChange:ft})]})}const ma="_track_oxvl6_2",fa="_sweep_oxvl6_24",pa="_visuallyHidden_oxvl6_64",ge={track:ma,sweep:fa,visuallyHidden:pa};function ha({running:e}){return e?t.jsxs("div",{className:ge.track,role:"progressbar","aria-label":"Turn in progress",children:[t.jsx("div",{className:ge.sweep,"aria-hidden":"true"}),t.jsx("span",{className:ge.visuallyHidden,role:"status","aria-live":"polite",children:"Agent is working…"})]}):null}const ga="_panel_1tq06_1",_a="_empty_1tq06_5",We={panel:ga,empty:_a};function Ea({tab:e,owningPaneId:s}){const{sessionId:n}=e.data,o=L(r=>r.sessions[n]);return jn(n),o?t.jsxs(Fe,{className:We.panel,children:[t.jsx(ha,{running:o.status==="running"}),t.jsx(sr,{session:o,owningPaneId:s,workspaceCwd:e.workspaceCwd}),t.jsx(ua,{sessionId:o.id})]}):t.jsx(Fe,{children:t.jsx("div",{className:We.empty,children:"Session not found."})})}export{Ea as ChatPanel};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
._shellRow_5a5cb_2{display:flex;gap:var(--pi-spacing-12)}._rail_5a5cb_10{width:20px;flex:none;display:flex;flex-direction:column;align-items:center}._disc_5a5cb_18{width:18px;height:18px;flex:none;border-radius:var(--pi-radius-full);display:flex;align-items:center;justify-content:center}._connector_5a5cb_28{flex:1;width:var(--pi-border-width-2);background:var(--pi-color-surface3)}._content_5a5cb_2{flex:1;min-width:0;padding-bottom:var(--pi-spacing-8)}._metaLine_5a5cb_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_5a5cb_52{opacity:.55;transition:opacity .12s ease}._shellRow_5a5cb_2:hover ._metaTime_5a5cb_52{opacity:1}@media(prefers-reduced-motion:reduce){._metaTime_5a5cb_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_mdmbp_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_mdmbp_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_mdmbp_30{background:color-mix(in srgb,var(--pi-color-statusSuccess) 65%,var(--pi-color-surface3))}._userAligned_mdmbp_34{display:flex;flex-direction:column;align-items:flex-end}._userPendingRow_mdmbp_40{opacity:.6}._userBubble_mdmbp_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_mdmbp_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_mdmbp_63{display:flex;gap:var(--pi-spacing-6);flex-wrap:wrap;margin-top:var(--pi-spacing-6)}._userImage_mdmbp_63{max-width:200px;max-height:150px;border-radius:var(--pi-radius-base);display:block;object-fit:cover;cursor:pointer}._imageDialog_mdmbp_79{max-width:90vw}._imageDialogPreview_mdmbp_83{display:block;max-width:90vw;max-height:80vh;object-fit:contain}._assistantDisc_mdmbp_93{background:var(--pi-color-accent)}._assistantBody_mdmbp_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_mdmbp_108{background:var(--pi-color-surface3)}._reasoningBody_mdmbp_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_mdmbp_123{background:var(--pi-color-surface3)}._toolCardBody_mdmbp_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_mdmbp_134{border-color:color-mix(in srgb,var(--pi-color-accent) 45%,transparent)}._toolCardBodyCompleted_mdmbp_138{border-color:color-mix(in srgb,var(--pi-color-statusSuccess) 45%,transparent)}._toolCardBodyError_mdmbp_142{border-color:color-mix(in srgb,var(--pi-color-destructive) 45%,transparent)}._toolHeader_mdmbp_146{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_mdmbp_146[aria-disabled=true]{cursor:default}._toolHeader_mdmbp_146:hover:not([aria-disabled=true]){background:color-mix(in srgb,var(--pi-color-surface1) 85%,var(--pi-color-foreground) 15%)}._toolHeader_mdmbp_146._toolHeaderRunning_mdmbp_172:hover:not([aria-disabled=true]){background:color-mix(in srgb,var(--pi-color-accent) 16%,transparent)}._toolHeaderRunning_mdmbp_172{background:color-mix(in srgb,var(--pi-color-accent) 10%,transparent)}._toolChevron_mdmbp_182{flex-shrink:0;color:var(--pi-color-foregroundMuted);transition:transform .12s ease}._toolChevronOpen_mdmbp_188{transform:rotate(90deg)}._kindBadge_mdmbp_192{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_mdmbp_204{flex:1;min-width:0;font-family:var(--pi-font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._toolTrailing_mdmbp_213{flex-shrink:0;display:flex;align-items:center;gap:var(--pi-spacing-6);font-size:var(--pi-font-size-3xs)}._toolStatusRunning_mdmbp_221{display:flex;align-items:center;gap:var(--pi-spacing-4);color:var(--pi-color-accentBright)}._toolStatusSuccess_mdmbp_228{color:var(--pi-color-statusSuccess)}._toolStatusError_mdmbp_232{color:var(--pi-color-destructive)}._toolStatusUnknown_mdmbp_236{color:var(--pi-color-foregroundMuted)}._toolDiffAdded_mdmbp_240{color:var(--pi-color-statusSuccess)}._toolDiffRemoved_mdmbp_244{color:var(--pi-color-destructive)}._toolOpenButton_mdmbp_248{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_mdmbp_248:hover{color:var(--pi-color-foreground)}._toolBody_mdmbp_266{border-top:1px solid var(--pi-color-border);max-height:420px;overflow:auto}._toolCode_mdmbp_272{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_mdmbp_283{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_mdmbp_293{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_mdmbp_301{padding:var(--pi-spacing-1) var(--pi-spacing-12)}._toolDiffPreviewAdd_mdmbp_305{color:var(--pi-color-statusSuccess);background:color-mix(in srgb,var(--pi-color-statusSuccess) 9%,transparent)}._toolDiffPreviewDel_mdmbp_310{color:var(--pi-color-destructive);background:color-mix(in srgb,var(--pi-color-destructive) 9%,transparent)}._toolDiffPreviewMore_mdmbp_315{padding:var(--pi-spacing-1) var(--pi-spacing-12);color:var(--pi-color-foregroundMuted)}._errorDisc_mdmbp_322{background:color-mix(in srgb,var(--pi-color-destructive) 25%,var(--pi-color-surface3))}._errorCard_mdmbp_326{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_mdmbp_335{color:var(--pi-color-destructive);font-weight:var(--pi-font-weight-bold)}._systemRow_mdmbp_342{text-align:center;color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-3xs);padding:var(--pi-spacing-4) 0}._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_1jy8c_4{display:flex;flex-direction:column;gap:var(--pi-spacing-4)}._search_1jy8c_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_1jy8c_10::placeholder{color:var(--pi-color-foregroundMuted)}._search_1jy8c_10:focus{border-color:var(--pi-color-accent)}._list_1jy8c_28{max-height:320px;overflow-y:auto}._item_1jy8c_33{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}._item_1jy8c_33:hover,._item_1jy8c_33[data-highlighted],._item_1jy8c_33._itemActive_1jy8c_47{background:color-mix(in srgb,var(--pi-color-surface1) 85%,var(--pi-color-foreground) 15%)}._checkSlot_1jy8c_51{width:var(--pi-icon-size-md);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:var(--pi-color-foreground)}._label_1jy8c_60{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._modelId_1jy8c_66{color:var(--pi-color-foregroundMuted);margin-left:var(--pi-spacing-4);font-size:var(--pi-font-size-xs);white-space:nowrap}._state_1jy8c_73{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_1jy8c_82{padding:var(--pi-spacing-8);color:var(--pi-color-statusDanger);font-size:var(--pi-font-size-xs)}._commandContent_1jy8c_92{max-width:420px}._commandList_1jy8c_95{display:flex;flex-direction:column;gap:var(--pi-spacing-2)}._commandItem_1jy8c_100{flex-direction:column;align-items:stretch;gap:var(--pi-spacing-4);padding:var(--pi-spacing-8) var(--pi-spacing-10)}._commandItem_1jy8c_100:hover{background:color-mix(in srgb,var(--pi-color-foreground) 10%,transparent)}._commandItem_1jy8c_100._itemActive_1jy8c_47{background:var(--pi-color-surface0);box-shadow:inset 2px 0 0 var(--pi-color-accent);border-radius:var(--pi-radius-none)}._commandItemHeader_1jy8c_132{display:flex;align-items:center;justify-content:space-between;gap:var(--pi-spacing-8);width:100%}._commandItemHeader_1jy8c_132 ._label_1jy8c_60{flex:1;min-width:0;font-size:var(--pi-font-size-sm);font-weight:600;color:var(--pi-color-foreground)}._commandKindBadge_1jy8c_146{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_1jy8c_165{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_1jy8c_170{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_1jy8c_175{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_1jy8c_180{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)}._composer_ipwxh_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_ipwxh_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_ipwxh_13._flash_ipwxh_27{border-color:color-mix(in srgb,var(--pi-color-accentBright) 45%,var(--pi-color-border) 55%)}@media(prefers-reduced-motion:reduce){._card_ipwxh_13._flash_ipwxh_27{transition:none}}._note_ipwxh_41{margin-top:var(--pi-spacing-4);font-size:var(--pi-font-size-3xs);color:var(--pi-color-foregroundMuted)}._card_ipwxh_13:has(._textarea_ipwxh_49:focus){border-color:var(--pi-color-accent)}._textarea_ipwxh_49{resize:none;min-height:38px;max-height:160px;overflow-y:auto;font-size:var(--pi-font-size-md)}._card_ipwxh_13 ._textarea_ipwxh_49{background:transparent;border-color:transparent}._card_ipwxh_13 ._textarea_ipwxh_49:focus{border-color:transparent;outline:none}._textareaWrap_ipwxh_73{position:relative;display:flex;min-width:0}._textareaWrap_ipwxh_73 ._textarea_ipwxh_49{position:relative}._highlightLayer_ipwxh_61{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_ipwxh_96{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_ipwxh_121{display:none}._toolbar_ipwxh_127{display:flex;align-items:center;gap:var(--pi-spacing-2);min-width:0}._toolbarRight_ipwxh_134{display:flex;align-items:center;gap:var(--pi-spacing-6);margin-left:auto;min-width:0}._toolBtn_ipwxh_142{flex-shrink:0}._card_ipwxh_13 ._roundBtn_ipwxh_148{border-radius:var(--pi-radius-full);flex-shrink:0}._modelBtn_ipwxh_153{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_ipwxh_153:hover:not(:disabled),._modelBtn_ipwxh_153[data-state=open]{background:var(--pi-color-surface3);color:var(--pi-color-foreground)}._modelBtn_ipwxh_153:disabled{cursor:default;opacity:.6}._modelLabel_ipwxh_179{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._modelChevron_ipwxh_184{flex-shrink:0;transition:transform .15s ease}._modelBtn_ipwxh_153[data-state=open] ._modelChevron_ipwxh_184{transform:rotate(180deg)}._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
|
+
._shellRow_5a5cb_2{display:flex;gap:var(--pi-spacing-12)}._rail_5a5cb_10{width:20px;flex:none;display:flex;flex-direction:column;align-items:center}._disc_5a5cb_18{width:18px;height:18px;flex:none;border-radius:var(--pi-radius-full);display:flex;align-items:center;justify-content:center}._connector_5a5cb_28{flex:1;width:var(--pi-border-width-2);background:var(--pi-color-surface3)}._content_5a5cb_2{flex:1;min-width:0;padding-bottom:var(--pi-spacing-8)}._metaLine_5a5cb_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_5a5cb_52{opacity:.55;transition:opacity .12s ease}._shellRow_5a5cb_2:hover ._metaTime_5a5cb_52{opacity:1}@media(prefers-reduced-motion:reduce){._metaTime_5a5cb_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_mdmbp_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_mdmbp_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_mdmbp_30{background:color-mix(in srgb,var(--pi-color-statusSuccess) 65%,var(--pi-color-surface3))}._userAligned_mdmbp_34{display:flex;flex-direction:column;align-items:flex-end}._userPendingRow_mdmbp_40{opacity:.6}._userBubble_mdmbp_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_mdmbp_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_mdmbp_63{display:flex;gap:var(--pi-spacing-6);flex-wrap:wrap;margin-top:var(--pi-spacing-6)}._userImage_mdmbp_63{max-width:200px;max-height:150px;border-radius:var(--pi-radius-base);display:block;object-fit:cover;cursor:pointer}._imageDialog_mdmbp_79{max-width:90vw}._imageDialogPreview_mdmbp_83{display:block;max-width:90vw;max-height:80vh;object-fit:contain}._assistantDisc_mdmbp_93{background:var(--pi-color-accent)}._assistantBody_mdmbp_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_mdmbp_108{background:var(--pi-color-surface3)}._reasoningBody_mdmbp_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_mdmbp_123{background:var(--pi-color-surface3)}._toolCardBody_mdmbp_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_mdmbp_134{border-color:color-mix(in srgb,var(--pi-color-accent) 45%,transparent)}._toolCardBodyCompleted_mdmbp_138{border-color:color-mix(in srgb,var(--pi-color-statusSuccess) 45%,transparent)}._toolCardBodyError_mdmbp_142{border-color:color-mix(in srgb,var(--pi-color-destructive) 45%,transparent)}._toolHeader_mdmbp_146{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_mdmbp_146[aria-disabled=true]{cursor:default}._toolHeader_mdmbp_146:hover:not([aria-disabled=true]){background:color-mix(in srgb,var(--pi-color-surface1) 85%,var(--pi-color-foreground) 15%)}._toolHeader_mdmbp_146._toolHeaderRunning_mdmbp_172:hover:not([aria-disabled=true]){background:color-mix(in srgb,var(--pi-color-accent) 16%,transparent)}._toolHeaderRunning_mdmbp_172{background:color-mix(in srgb,var(--pi-color-accent) 10%,transparent)}._toolChevron_mdmbp_182{flex-shrink:0;color:var(--pi-color-foregroundMuted);transition:transform .12s ease}._toolChevronOpen_mdmbp_188{transform:rotate(90deg)}._kindBadge_mdmbp_192{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_mdmbp_204{flex:1;min-width:0;font-family:var(--pi-font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._toolTrailing_mdmbp_213{flex-shrink:0;display:flex;align-items:center;gap:var(--pi-spacing-6);font-size:var(--pi-font-size-3xs)}._toolStatusRunning_mdmbp_221{display:flex;align-items:center;gap:var(--pi-spacing-4);color:var(--pi-color-accentBright)}._toolStatusSuccess_mdmbp_228{color:var(--pi-color-statusSuccess)}._toolStatusError_mdmbp_232{color:var(--pi-color-destructive)}._toolStatusUnknown_mdmbp_236{color:var(--pi-color-foregroundMuted)}._toolDiffAdded_mdmbp_240{color:var(--pi-color-statusSuccess)}._toolDiffRemoved_mdmbp_244{color:var(--pi-color-destructive)}._toolOpenButton_mdmbp_248{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_mdmbp_248:hover{color:var(--pi-color-foreground)}._toolBody_mdmbp_266{border-top:1px solid var(--pi-color-border);max-height:420px;overflow:auto}._toolCode_mdmbp_272{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_mdmbp_283{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_mdmbp_293{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_mdmbp_301{padding:var(--pi-spacing-1) var(--pi-spacing-12)}._toolDiffPreviewAdd_mdmbp_305{color:var(--pi-color-statusSuccess);background:color-mix(in srgb,var(--pi-color-statusSuccess) 9%,transparent)}._toolDiffPreviewDel_mdmbp_310{color:var(--pi-color-destructive);background:color-mix(in srgb,var(--pi-color-destructive) 9%,transparent)}._toolDiffPreviewMore_mdmbp_315{padding:var(--pi-spacing-1) var(--pi-spacing-12);color:var(--pi-color-foregroundMuted)}._errorDisc_mdmbp_322{background:color-mix(in srgb,var(--pi-color-destructive) 25%,var(--pi-color-surface3))}._errorCard_mdmbp_326{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_mdmbp_335{color:var(--pi-color-destructive);font-weight:var(--pi-font-weight-bold)}._systemRow_mdmbp_342{text-align:center;color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-3xs);padding:var(--pi-spacing-4) 0}._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_11c3i_4{display:flex;flex-direction:column;gap:var(--pi-spacing-4)}._search_11c3i_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_11c3i_10::placeholder{color:var(--pi-color-foregroundMuted)}._search_11c3i_10:focus{border-color:var(--pi-color-accent)}._list_11c3i_28{max-height:320px;overflow-y:auto}._item_11c3i_33{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_11c3i_33:hover,._item_11c3i_33[data-highlighted],._item_11c3i_33._itemActive_11c3i_50{background:color-mix(in srgb,var(--pi-color-surface1) 85%,var(--pi-color-foreground) 15%)}._checkSlot_11c3i_54{width:var(--pi-icon-size-md);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:var(--pi-color-foreground)}._label_11c3i_63{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._modelId_11c3i_69{color:var(--pi-color-foregroundMuted);margin-left:var(--pi-spacing-4);font-size:var(--pi-font-size-xs);white-space:nowrap}._state_11c3i_76{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_11c3i_85{padding:var(--pi-spacing-8);color:var(--pi-color-statusDanger);font-size:var(--pi-font-size-xs)}._commandContent_11c3i_95{max-width:420px}._commandList_11c3i_98{display:flex;flex-direction:column;gap:var(--pi-spacing-2)}._commandItem_11c3i_103{flex-direction:column;align-items:stretch;gap:var(--pi-spacing-4);padding:var(--pi-spacing-8) var(--pi-spacing-10)}._commandItem_11c3i_103:hover{background:color-mix(in srgb,var(--pi-color-foreground) 10%,transparent)}._commandItem_11c3i_103._itemActive_11c3i_50{background:var(--pi-color-surface0);box-shadow:inset 2px 0 0 var(--pi-color-accent);border-radius:var(--pi-radius-none)}._commandItemHeader_11c3i_135{display:flex;align-items:center;justify-content:space-between;gap:var(--pi-spacing-8);width:100%}._commandItemHeader_11c3i_135 ._label_11c3i_63{flex:1;min-width:0;font-size:var(--pi-font-size-sm);font-weight:600;color:var(--pi-color-foreground)}._commandKindBadge_11c3i_149{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_11c3i_168{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_11c3i_173{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_11c3i_178{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_11c3i_183{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)}._composer_afpks_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_afpks_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_afpks_13._flash_afpks_27{border-color:color-mix(in srgb,var(--pi-color-accentBright) 45%,var(--pi-color-border) 55%)}@media(prefers-reduced-motion:reduce){._card_afpks_13._flash_afpks_27{transition:none}}._note_afpks_41{margin-top:var(--pi-spacing-4);font-size:var(--pi-font-size-3xs);color:var(--pi-color-foregroundMuted)}._card_afpks_13:has(._textarea_afpks_49:focus){border-color:var(--pi-color-accent)}._textarea_afpks_49{resize:none;min-height:38px;max-height:160px;overflow-y:auto;font-size:var(--pi-font-size-md)}._card_afpks_13 ._textarea_afpks_49{background:transparent;border-color:transparent}._card_afpks_13 ._textarea_afpks_49:focus{border-color:transparent;outline:none}._textareaWrap_afpks_73{position:relative;display:flex;min-width:0}._textareaWrap_afpks_73 ._textarea_afpks_49{position:relative}._highlightLayer_afpks_61{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_afpks_96{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_afpks_121{display:none}._toolbar_afpks_127{display:flex;align-items:center;gap:var(--pi-spacing-2);min-width:0}._toolbarRight_afpks_134{display:flex;align-items:center;gap:var(--pi-spacing-6);margin-left:auto;min-width:0}._toolBtn_afpks_142{flex-shrink:0}._card_afpks_13 ._roundBtn_afpks_148{border-radius:var(--pi-radius-full);flex-shrink:0}._modelBtn_afpks_153{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_afpks_153:hover:not(:disabled),._modelBtn_afpks_153[data-state=open]{background:var(--pi-color-surface3);color:var(--pi-color-foreground)}._modelBtn_afpks_153:disabled{cursor:default;opacity:.6}._modelLabel_afpks_183{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pi-color-foreground)}._modelId_afpks_181{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_afpks_201{flex-shrink:0;transition:transform .15s ease}._modelBtn_afpks_153[data-state=open] ._modelChevron_afpks_201{transform:rotate(180deg)}._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,a 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,a as p}from"./index-CisETjfy.js";import{u as x}from"./use-file-download-DMsI7yqE.js";import{P as S,Q as _,S as b,T as B,U as z,V as U}from"./vendor-CIkm_8TG.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 u,j as s}from"./vendor-react-DQUAl2K8.js";import{M as v}from"./vendor-CIkm_8TG.js";import{u as j,a as d,L as w,r as E,b as D,V as K,P as b,B as x,E as l,S as y}from"./index-
|
|
1
|
+
import{r as u,j as s}from"./vendor-react-DQUAl2K8.js";import{M as v}from"./vendor-CIkm_8TG.js";import{u as j,a as d,L as w,r as E,b as D,V as K,P as b,B as x,E as l,S as y}from"./index-CisETjfy.js";import{u as k,a as q}from"./vendor-query-i7fr__Xm.js";import{u as z}from"./use-file-watch-B_k8jx0c.js";import{D as N}from"./DiffView-DYwtgWeX.js";import"./vendor-icons-C3PrZPxy.js";import"./vendor-overlays-CO23GfSO.js";import"./vendor-dnd-CayJj8TC.js";function S(e,t,r,i=!0){const a=j(n=>n.client);return k({queryKey:d.fileDiff(e,t,r),queryFn:async()=>{if(!a)throw new Error("not connected");return{patch:(await a.connection.request("file_diff_request",{path:e,cwd:t,staged:r})).patch??""}},enabled:!!a&&!!e&&!!t&&i})}function B(e,t,r){const i=q(),a=w.has(r)?E(e,t):null,{changedAt:n}=z(a);u.useEffect(()=>{n!==null&&(i.invalidateQueries({queryKey:d.fileRead(e)}),i.invalidateQueries({queryKey:d.fileDownload(e)}),i.invalidateQueries({queryKey:d.fileDiffByPath(e)}))},[n,e,i])}const C="_header_10rse_1",F="_path_10rse_11",V="_size_10rse_18",L="_viewToggle_10rse_23",P="_body_10rse_28",c={header:C,path:F,size:V,viewToggle:L,body:P};function g(e){return"path"in e}function Q(e){return"staged"in e}function J({tab:e}){var m;const t=e.kind==="diff",r=e.data,i=g(r)?r.path:"",a=g(r)&&Q(r)?r.staged:!1,[n,h]=u.useState(t?"diff":"file"),f=e.workspaceCwd||"~",p=D(i);B(i,f,p);const o=S(i,f,a,n==="diff"),_=K[p];return s.jsxs(b,{children:[s.jsxs("div",{className:c.header,children:[s.jsx("span",{className:c.path,children:i}),s.jsx("span",{className:c.size,children:n==="diff"?a?"staged":"unstaged":null}),s.jsxs("div",{className:c.viewToggle,children:[s.jsx(x,{size:"xs",variant:n==="file"?"default":"ghost",onClick:()=>h("file"),children:"File"}),s.jsx(x,{size:"xs",variant:n==="diff"?"default":"ghost",onClick:()=>h("diff"),children:"Diff"})]})]}),s.jsx("div",{className:v(c.body,"file-body"),children:n==="file"?s.jsx(u.Suspense,{fallback:s.jsxs(l,{children:[s.jsx(y,{size:"sm"})," Loading..."]}),children:s.jsx(_,{path:i,workspaceCwd:f})}):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(N,{patch:o.data.patch}):s.jsx(l,{style:{padding:"var(--pi-spacing-30)"},children:"No changes (file matches HEAD)"})})]})}export{J as FilePanel};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as r,r as v}from"./vendor-react-DQUAl2K8.js";import{a as ie,u as ce}from"./vendor-query-i7fr__Xm.js";import{n as le,r as X,c as ue,d as Y,u as K,m as de,E as N,S as R,B as A,a as M,t as fe}from"./index-BwP2V5Iz.js";import{M as me}from"./vendor-CIkm_8TG.js";import{u as pe,C as he}from"./CodeView-DJUYgnhl.js";import{p as ge,S as xe}from"./href-resolution-BhGkzxUR.js";import"./vendor-icons-oIrAStms.js";import"./vendor-overlays-DAY3g68r.js";import"./vendor-dnd-CayJj8TC.js";import"./use-file-download-Be6S96Jm.js";const we="_track_841zp_3",_e="_checked_841zp_23",ve="_disabled_841zp_27",ke="_thumb_841zp_32",z={track:we,checked:_e,disabled:ve,thumb:ke};function ye({checked:s,onCheckedChange:t,disabled:e=!1,id:n,"aria-label":a,className:o}){return r.jsx("button",{id:n,role:"switch","aria-checked":s,"aria-label":a,disabled:e,className:me(z.track,s&&z.checked,e&&z.disabled,o),onClick:()=>!e&&t(!s),type:"button",children:r.jsx("span",{className:z.thumb})})}const O={maxCount:64,maxBytesPerAsset:2*1024*1024,maxBytesTotal:16*1024*1024};function q(s,t,e){return!(s>=O.maxCount||e>O.maxBytesPerAsset||t+e>O.maxBytesTotal)}function J(s){return s===""||s.startsWith("#")?"unsupported":s.startsWith("//")||xe.test(s)?"external":null}function be(s,t,e){return e!==null&&t===e?s:t}function ee(s,t,e,n,a=null){const o=s.trim(),u=J(o);if(u)return{kind:"skip",raw:s,reason:u};const i=ge(o);let p;if(i.startsWith("/")?p=i:i==="~"||i.startsWith("~/")?p=a!==null?le(i,a):null:p=X(i,t),!p)return{kind:"skip",raw:s,reason:"unsupported"};const h=ue(p);return h!==e&&!h.startsWith(`${e}/`)?{kind:"skip",raw:s,reason:"outside-workspace"}:{kind:"local",raw:s,path:h,context:n}}const je={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 Ee(s){const t=s.lastIndexOf("/"),e=s.lastIndexOf(".");return e<=t?"application/octet-stream":je[s.slice(e+1).toLowerCase()]??"application/octet-stream"}function Se(s){let t="";for(let n=0;n<s.length;n+=32768)t+=String.fromCharCode(...s.subarray(n,n+32768));return btoa(t)}function U(s,t){return`data:${s};base64,${Se(t)}`}const P=/<([a-zA-Z][a-zA-Z0-9]*)((?:\s+[a-zA-Z_:][-a-zA-Z0-9_:.]*(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=<>`]+))?)*)(\s*\/?>)/g,$=/([a-zA-Z_:][-a-zA-Z0-9_:.]*)\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'=<>`]+))/g;function te(s){const t=new Map;$.lastIndex=0;let e;for(;e=$.exec(s);){const n=e[1].toLowerCase();t.has(n)||t.set(n,e[2]??e[3]??e[4]??"")}return t}function se(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 ne(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 Le(s){return s.map(t=>t.descriptor?`${t.url} ${t.descriptor}`:t.url).join(", ")}function D(s,t,e){J(t.trim())||s.has(t)||s.set(t,{raw:t,context:e})}function Ne(s){const t=new Map;P.lastIndex=0;let e;for(;e=P.exec(s);){const n=e[1].toLowerCase(),a=te(e[2]??"");for(const o of se(n,a)){const u=a.get(o.name)??"";if(o.multi)for(const i of ne(u))D(t,i.url,o.context);else D(t,u,o.context)}}return[...t.values()]}function Ae(s,t){let e=!1;const n=ne(s).map(a=>{const o=t[a.url];return o===void 0?a:(e=!0,{url:o,descriptor:a.descriptor})});return e?Le(n):null}function Ce(s,t){return Object.keys(t).length===0?s:(P.lastIndex=0,s.replace(P,(e,n,a,o)=>{const u=te(a),i=se(n.toLowerCase(),u);if(i.length===0)return e;const p=new Map(i.map(d=>[d.name,d]));let h=!1;const S=a.replace($,(d,f,l,w,k)=>{const _=p.get(f.toLowerCase());if(!_)return d;const g=l??w??k??"",j=_.multi?Ae(g,t):t[g]??null;return j===null?d:(h=!0,`${f}="${j}"`)});return h?`<${n}${S}${o}`:e}))}const I=/url\(\s*(?:"([^"]*)"|'([^']*)'|([^'")\s]*))\s*\)/gi,V=/@font-face\s*\{[^}]*\}/gi;function oe(s,t,e){return s??t??e??""}function Te(s){const t=[];V.lastIndex=0;let e;for(;e=V.exec(s);)t.push([e.index,e.index+e[0].length]);return t}function Re(s){const t=Te(s),e=new Map;I.lastIndex=0;let n;for(;n=I.exec(s);){const a=oe(n[1],n[2],n[3]),o=t.some(([u,i])=>n.index>=u&&n.index<i)?"font":"image";D(e,a,o)}return[...e.values()]}function Me(s,t){return Object.keys(t).length===0?s:(I.lastIndex=0,s.replace(I,(e,n,a,o)=>{const u=t[oe(n,a,o)];return u===void 0?e:`url("${u}")`}))}const ze=Object.freeze(["allow-scripts"]),Be="https://pi-studio-preview.invalid/",Pe="default-src 'none'; img-src data:; style-src 'unsafe-inline' data:; script-src 'unsafe-inline' data:; font-src data:; media-src data:",Ie=`<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>`,Oe=/<head(\s[^>]*)?>/i,$e=/<html(\s[^>]*)?>/i,De=/<base[\s/>]/i;function He(s,t){const e=Ce(s,t.assets??{}),n=[];t.blockRemote&&n.push(`<meta http-equiv="Content-Security-Policy" content="${Pe}">`),De.test(e)||(n.push(`<base href="${Be}">`),n.push(Ie));const a=n.join("");if(a==="")return e;const o=Oe.exec(e);if(o){const i=o.index+o[0].length;return e.slice(0,i)+a+e.slice(i)}const u=$e.exec(e);if(u){const i=u.index+u[0].length;return e.slice(0,i)+`<head>${a}</head>`+e.slice(i)}return`<head>${a}</head>`+e}const W=6;async function Q(s,t,e){let n=0;async function a(){for(;n<s.length;){const o=s[n];n+=1,await e(o)}}await Promise.all(Array.from({length:Math.min(t,s.length)},a))}function Z(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 Fe(s,t){const e={},n=[];let a=0,o=0,u=!1;const i=[];for(const d of s)d.kind==="skip"?n.push({raw:d.raw,reason:d.reason}):i.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(!q(a,o,l.byteLength)){u=!0,p(f,"over-cap");return}if(a+=1,o+=l.byteLength,f[0].context!=="style"){const m=U(Ee(d),l);for(const b of f)e[b.raw]=m;return}const w=new TextDecoder().decode(l),k=Y(d),_=Re(w).map(m=>ee(m.raw,k,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 j=Z(g);await Q([...j.entries()],W,([m,b])=>h(m,b));const C={};for(const m of g){const b=e[m.raw];b!==void 0&&(C[m.raw]=b)}const L=Me(w,C),E=new TextEncoder().encode(L),y=E.byteLength-l.byteLength;if(y>0&&!q(a-1,o-l.byteLength,E.byteLength)){u=!0,p(f,"over-cap");return}o+=y;const T=U("text/css",E);for(const m of f)e[m.raw]=T}const S=Z(i);return await Q([...S.entries()],W,([d,f])=>h(d,f)),{assets:e,skipped:n}}const Ke="_wrap_1et27_1",qe="_toolbar_1et27_7",Ue="_modeToggle_1et27_20",Ve="_controls_1et27_24",We="_switchLabel_1et27_29",Qe="_streamedNote_1et27_37",Ze="_skippedNote_1et27_45",Ge="_skippedToggle_1et27_52",Xe="_skippedList_1et27_64",Ye="_body_1et27_69",Je="_frame_1et27_73",et="_tooLarge_1et27_79",x={wrap:Ke,toolbar:qe,modeToggle:Ue,controls:Ve,switchLabel:We,streamedNote:Qe,skippedNote:Ze,skippedToggle:Ge,skippedList:Xe,body:Ye,frame:Je,tooLarge:et},tt=ze.join(" "),G=Object.freeze({}),st=Object.freeze([]),re={external:"external","outside-workspace":"outside workspace",unsupported:"unsupported","over-cap":"over cap","fetch-failed":"not found"};function nt(s){const t=new Map;for(const e of s){const n=re[e.reason];t.set(n,(t.get(n)??0)+1)}return[...t.entries()].map(([e,n])=>`${n} ${e}`).join(", ")}function ot(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 B(s){return`${(s/(1024*1024)).toFixed(1)} MB`}function gt({path:s,workspaceCwd:t}){var H,F;const e=pe(s),[n,a]=v.useState("preview"),[o,u]=v.useState(!1),[i,p]=v.useState(!1),h=ie(),S=K(c=>c.client),d=K(c=>c.daemon),f=de(),l=e.kind==="inline"||e.kind==="streamed"?e.content:null,w=v.useMemo(()=>{const c=X(s,t);return c?Y(c):null},[s,t]),k=v.useMemo(()=>w!==null?be(w,t,f):null,[w,t,f]),_=v.useMemo(()=>l===null||w===null||k===null?[]:Ne(l).map(c=>ee(c.raw,w,k,c.context,f)),[l,w,k,f]),g=v.useMemo(()=>_.some(c=>c.kind==="local"),[_]),j=v.useMemo(()=>_.flatMap(c=>c.kind==="skip"?[{raw:c.raw,reason:c.reason}]:[]),[_]),C=v.useMemo(()=>g&&l!==null?ot(l):"",[l,g]),L=ce({queryKey:M.htmlAssetBundle(s,C),queryFn:()=>k===null?Promise.resolve({assets:{},skipped:[]}):Fe(_,{root:k,homeDir:f,fetchBytes:async ae=>{if(!S||!d)throw new Error("not connected");return(await fe(d).download(ae)).bytes}}),enabled:g,staleTime:1/0}),E=g?((H=L.data)==null?void 0:H.assets)??G:G,y=g?((F=L.data)==null?void 0:F.skipped)??st:j,T=v.useMemo(()=>l===null?null:He(l,{assets:E,blockRemote:o}),[l,E,o]);function m(){h.invalidateQueries({queryKey:M.fileRead(s)}),h.invalidateQueries({queryKey:M.fileDownload(s)}),h.invalidateQueries({queryKey:M.htmlAssetBundleByPath(s)})}switch(e.kind){case"loading":return r.jsxs(N,{children:[r.jsx(R,{size:"sm"})," Loading..."]});case"streaming":return r.jsxs(N,{children:[r.jsx(R,{size:"sm"})," Streaming ",B(e.size)," file..."]});case"stream-error":case"error":return r.jsxs(N,{children:["Error: ",e.message]});case"too-large":{const c=s.split("/").pop()||s;return r.jsx(N,{children:r.jsxs("div",{className:x.tooLarge,children:[r.jsxs("div",{children:[B(e.size)," — too large to display (display ceiling is"," ",B(e.maxDisplayBytes),")."]}),e.downloading?r.jsx(R,{size:"sm"}):e.downloadUrl?r.jsx("a",{href:e.downloadUrl,download:e.downloadName||c,children:r.jsx(A,{size:"sm",children:"Save file"})}):r.jsx(A,{size:"sm",onClick:()=>e.requestDownload(),children:"Download"})]})})}}if(l===null||T===null)return null;if(g&&L.data===void 0)return r.jsxs(N,{children:[r.jsx(R,{size:"sm"})," Loading assets..."]});const b=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(A,{size:"xs",variant:n==="preview"?"default":"ghost",onClick:()=>a("preview"),children:"Preview"}),r.jsx(A,{size:"xs",variant:n==="source"?"default":"ghost",onClick:()=>a("source"),children:"Source"})]}),r.jsxs("div",{className:x.controls,children:[r.jsxs("label",{className:x.switchLabel,children:[r.jsx(ye,{checked:o,onCheckedChange:u,"aria-label":"Block remote resources"}),"Block remote resources"]}),r.jsx(A,{size:"xs",variant:"ghost",onClick:m,children:"Reload"})]})]}),e.kind==="streamed"?r.jsxs("div",{className:x.streamedNote,children:[B(e.size)," file streamed"]}):null,y.length>0?r.jsxs("div",{className:x.skippedNote,children:[r.jsxs("button",{type:"button",className:x.skippedToggle,onClick:()=>p(c=>!c),children:[y.length," reference",y.length===1?"":"s"," not inlined (",nt(y),")"]}),i?r.jsx("ul",{className:x.skippedList,children:y.map(c=>r.jsxs("li",{children:[c.raw," — ",re[c.reason]]},c.raw))}):null]}):null,r.jsxs("div",{className:x.body,children:[r.jsx("iframe",{sandbox:tt,srcDoc:T,referrerPolicy:"no-referrer",allow:"",className:x.frame,style:n==="preview"?void 0:{display:"none"},title:b}),n==="source"?r.jsx(he,{path:s,content:l}):null]})]})}export{gt as HtmlViewer};
|
|
1
|
+
import{j as r,r as v}from"./vendor-react-DQUAl2K8.js";import{a as ie,u as ce}from"./vendor-query-i7fr__Xm.js";import{n as le,r as X,c as ue,d as Y,u as K,m as de,E as N,S as R,B as A,a as M,t as fe}from"./index-CisETjfy.js";import{M as me}from"./vendor-CIkm_8TG.js";import{u as pe,C as he}from"./CodeView-B6qfEGak.js";import{p as ge,S as xe}from"./href-resolution-CIziox_W.js";import"./vendor-icons-C3PrZPxy.js";import"./vendor-overlays-CO23GfSO.js";import"./vendor-dnd-CayJj8TC.js";import"./use-file-download-DMsI7yqE.js";const we="_track_841zp_3",_e="_checked_841zp_23",ve="_disabled_841zp_27",ke="_thumb_841zp_32",z={track:we,checked:_e,disabled:ve,thumb:ke};function ye({checked:s,onCheckedChange:t,disabled:e=!1,id:n,"aria-label":a,className:o}){return r.jsx("button",{id:n,role:"switch","aria-checked":s,"aria-label":a,disabled:e,className:me(z.track,s&&z.checked,e&&z.disabled,o),onClick:()=>!e&&t(!s),type:"button",children:r.jsx("span",{className:z.thumb})})}const O={maxCount:64,maxBytesPerAsset:2*1024*1024,maxBytesTotal:16*1024*1024};function q(s,t,e){return!(s>=O.maxCount||e>O.maxBytesPerAsset||t+e>O.maxBytesTotal)}function J(s){return s===""||s.startsWith("#")?"unsupported":s.startsWith("//")||xe.test(s)?"external":null}function be(s,t,e){return e!==null&&t===e?s:t}function ee(s,t,e,n,a=null){const o=s.trim(),u=J(o);if(u)return{kind:"skip",raw:s,reason:u};const i=ge(o);let p;if(i.startsWith("/")?p=i:i==="~"||i.startsWith("~/")?p=a!==null?le(i,a):null:p=X(i,t),!p)return{kind:"skip",raw:s,reason:"unsupported"};const h=ue(p);return h!==e&&!h.startsWith(`${e}/`)?{kind:"skip",raw:s,reason:"outside-workspace"}:{kind:"local",raw:s,path:h,context:n}}const je={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 Ee(s){const t=s.lastIndexOf("/"),e=s.lastIndexOf(".");return e<=t?"application/octet-stream":je[s.slice(e+1).toLowerCase()]??"application/octet-stream"}function Se(s){let t="";for(let n=0;n<s.length;n+=32768)t+=String.fromCharCode(...s.subarray(n,n+32768));return btoa(t)}function U(s,t){return`data:${s};base64,${Se(t)}`}const P=/<([a-zA-Z][a-zA-Z0-9]*)((?:\s+[a-zA-Z_:][-a-zA-Z0-9_:.]*(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=<>`]+))?)*)(\s*\/?>)/g,$=/([a-zA-Z_:][-a-zA-Z0-9_:.]*)\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'=<>`]+))/g;function te(s){const t=new Map;$.lastIndex=0;let e;for(;e=$.exec(s);){const n=e[1].toLowerCase();t.has(n)||t.set(n,e[2]??e[3]??e[4]??"")}return t}function se(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 ne(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 Le(s){return s.map(t=>t.descriptor?`${t.url} ${t.descriptor}`:t.url).join(", ")}function D(s,t,e){J(t.trim())||s.has(t)||s.set(t,{raw:t,context:e})}function Ne(s){const t=new Map;P.lastIndex=0;let e;for(;e=P.exec(s);){const n=e[1].toLowerCase(),a=te(e[2]??"");for(const o of se(n,a)){const u=a.get(o.name)??"";if(o.multi)for(const i of ne(u))D(t,i.url,o.context);else D(t,u,o.context)}}return[...t.values()]}function Ae(s,t){let e=!1;const n=ne(s).map(a=>{const o=t[a.url];return o===void 0?a:(e=!0,{url:o,descriptor:a.descriptor})});return e?Le(n):null}function Ce(s,t){return Object.keys(t).length===0?s:(P.lastIndex=0,s.replace(P,(e,n,a,o)=>{const u=te(a),i=se(n.toLowerCase(),u);if(i.length===0)return e;const p=new Map(i.map(d=>[d.name,d]));let h=!1;const S=a.replace($,(d,f,l,w,k)=>{const _=p.get(f.toLowerCase());if(!_)return d;const g=l??w??k??"",j=_.multi?Ae(g,t):t[g]??null;return j===null?d:(h=!0,`${f}="${j}"`)});return h?`<${n}${S}${o}`:e}))}const I=/url\(\s*(?:"([^"]*)"|'([^']*)'|([^'")\s]*))\s*\)/gi,V=/@font-face\s*\{[^}]*\}/gi;function oe(s,t,e){return s??t??e??""}function Te(s){const t=[];V.lastIndex=0;let e;for(;e=V.exec(s);)t.push([e.index,e.index+e[0].length]);return t}function Re(s){const t=Te(s),e=new Map;I.lastIndex=0;let n;for(;n=I.exec(s);){const a=oe(n[1],n[2],n[3]),o=t.some(([u,i])=>n.index>=u&&n.index<i)?"font":"image";D(e,a,o)}return[...e.values()]}function Me(s,t){return Object.keys(t).length===0?s:(I.lastIndex=0,s.replace(I,(e,n,a,o)=>{const u=t[oe(n,a,o)];return u===void 0?e:`url("${u}")`}))}const ze=Object.freeze(["allow-scripts"]),Be="https://pi-studio-preview.invalid/",Pe="default-src 'none'; img-src data:; style-src 'unsafe-inline' data:; script-src 'unsafe-inline' data:; font-src data:; media-src data:",Ie=`<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>`,Oe=/<head(\s[^>]*)?>/i,$e=/<html(\s[^>]*)?>/i,De=/<base[\s/>]/i;function He(s,t){const e=Ce(s,t.assets??{}),n=[];t.blockRemote&&n.push(`<meta http-equiv="Content-Security-Policy" content="${Pe}">`),De.test(e)||(n.push(`<base href="${Be}">`),n.push(Ie));const a=n.join("");if(a==="")return e;const o=Oe.exec(e);if(o){const i=o.index+o[0].length;return e.slice(0,i)+a+e.slice(i)}const u=$e.exec(e);if(u){const i=u.index+u[0].length;return e.slice(0,i)+`<head>${a}</head>`+e.slice(i)}return`<head>${a}</head>`+e}const W=6;async function Q(s,t,e){let n=0;async function a(){for(;n<s.length;){const o=s[n];n+=1,await e(o)}}await Promise.all(Array.from({length:Math.min(t,s.length)},a))}function Z(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 Fe(s,t){const e={},n=[];let a=0,o=0,u=!1;const i=[];for(const d of s)d.kind==="skip"?n.push({raw:d.raw,reason:d.reason}):i.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(!q(a,o,l.byteLength)){u=!0,p(f,"over-cap");return}if(a+=1,o+=l.byteLength,f[0].context!=="style"){const m=U(Ee(d),l);for(const b of f)e[b.raw]=m;return}const w=new TextDecoder().decode(l),k=Y(d),_=Re(w).map(m=>ee(m.raw,k,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 j=Z(g);await Q([...j.entries()],W,([m,b])=>h(m,b));const C={};for(const m of g){const b=e[m.raw];b!==void 0&&(C[m.raw]=b)}const L=Me(w,C),E=new TextEncoder().encode(L),y=E.byteLength-l.byteLength;if(y>0&&!q(a-1,o-l.byteLength,E.byteLength)){u=!0,p(f,"over-cap");return}o+=y;const T=U("text/css",E);for(const m of f)e[m.raw]=T}const S=Z(i);return await Q([...S.entries()],W,([d,f])=>h(d,f)),{assets:e,skipped:n}}const Ke="_wrap_1et27_1",qe="_toolbar_1et27_7",Ue="_modeToggle_1et27_20",Ve="_controls_1et27_24",We="_switchLabel_1et27_29",Qe="_streamedNote_1et27_37",Ze="_skippedNote_1et27_45",Ge="_skippedToggle_1et27_52",Xe="_skippedList_1et27_64",Ye="_body_1et27_69",Je="_frame_1et27_73",et="_tooLarge_1et27_79",x={wrap:Ke,toolbar:qe,modeToggle:Ue,controls:Ve,switchLabel:We,streamedNote:Qe,skippedNote:Ze,skippedToggle:Ge,skippedList:Xe,body:Ye,frame:Je,tooLarge:et},tt=ze.join(" "),G=Object.freeze({}),st=Object.freeze([]),re={external:"external","outside-workspace":"outside workspace",unsupported:"unsupported","over-cap":"over cap","fetch-failed":"not found"};function nt(s){const t=new Map;for(const e of s){const n=re[e.reason];t.set(n,(t.get(n)??0)+1)}return[...t.entries()].map(([e,n])=>`${n} ${e}`).join(", ")}function ot(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 B(s){return`${(s/(1024*1024)).toFixed(1)} MB`}function gt({path:s,workspaceCwd:t}){var H,F;const e=pe(s),[n,a]=v.useState("preview"),[o,u]=v.useState(!1),[i,p]=v.useState(!1),h=ie(),S=K(c=>c.client),d=K(c=>c.daemon),f=de(),l=e.kind==="inline"||e.kind==="streamed"?e.content:null,w=v.useMemo(()=>{const c=X(s,t);return c?Y(c):null},[s,t]),k=v.useMemo(()=>w!==null?be(w,t,f):null,[w,t,f]),_=v.useMemo(()=>l===null||w===null||k===null?[]:Ne(l).map(c=>ee(c.raw,w,k,c.context,f)),[l,w,k,f]),g=v.useMemo(()=>_.some(c=>c.kind==="local"),[_]),j=v.useMemo(()=>_.flatMap(c=>c.kind==="skip"?[{raw:c.raw,reason:c.reason}]:[]),[_]),C=v.useMemo(()=>g&&l!==null?ot(l):"",[l,g]),L=ce({queryKey:M.htmlAssetBundle(s,C),queryFn:()=>k===null?Promise.resolve({assets:{},skipped:[]}):Fe(_,{root:k,homeDir:f,fetchBytes:async ae=>{if(!S||!d)throw new Error("not connected");return(await fe(d).download(ae)).bytes}}),enabled:g,staleTime:1/0}),E=g?((H=L.data)==null?void 0:H.assets)??G:G,y=g?((F=L.data)==null?void 0:F.skipped)??st:j,T=v.useMemo(()=>l===null?null:He(l,{assets:E,blockRemote:o}),[l,E,o]);function m(){h.invalidateQueries({queryKey:M.fileRead(s)}),h.invalidateQueries({queryKey:M.fileDownload(s)}),h.invalidateQueries({queryKey:M.htmlAssetBundleByPath(s)})}switch(e.kind){case"loading":return r.jsxs(N,{children:[r.jsx(R,{size:"sm"})," Loading..."]});case"streaming":return r.jsxs(N,{children:[r.jsx(R,{size:"sm"})," Streaming ",B(e.size)," file..."]});case"stream-error":case"error":return r.jsxs(N,{children:["Error: ",e.message]});case"too-large":{const c=s.split("/").pop()||s;return r.jsx(N,{children:r.jsxs("div",{className:x.tooLarge,children:[r.jsxs("div",{children:[B(e.size)," — too large to display (display ceiling is"," ",B(e.maxDisplayBytes),")."]}),e.downloading?r.jsx(R,{size:"sm"}):e.downloadUrl?r.jsx("a",{href:e.downloadUrl,download:e.downloadName||c,children:r.jsx(A,{size:"sm",children:"Save file"})}):r.jsx(A,{size:"sm",onClick:()=>e.requestDownload(),children:"Download"})]})})}}if(l===null||T===null)return null;if(g&&L.data===void 0)return r.jsxs(N,{children:[r.jsx(R,{size:"sm"})," Loading assets..."]});const b=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(A,{size:"xs",variant:n==="preview"?"default":"ghost",onClick:()=>a("preview"),children:"Preview"}),r.jsx(A,{size:"xs",variant:n==="source"?"default":"ghost",onClick:()=>a("source"),children:"Source"})]}),r.jsxs("div",{className:x.controls,children:[r.jsxs("label",{className:x.switchLabel,children:[r.jsx(ye,{checked:o,onCheckedChange:u,"aria-label":"Block remote resources"}),"Block remote resources"]}),r.jsx(A,{size:"xs",variant:"ghost",onClick:m,children:"Reload"})]})]}),e.kind==="streamed"?r.jsxs("div",{className:x.streamedNote,children:[B(e.size)," file streamed"]}):null,y.length>0?r.jsxs("div",{className:x.skippedNote,children:[r.jsxs("button",{type:"button",className:x.skippedToggle,onClick:()=>p(c=>!c),children:[y.length," reference",y.length===1?"":"s"," not inlined (",nt(y),")"]}),i?r.jsx("ul",{className:x.skippedList,children:y.map(c=>r.jsxs("li",{children:[c.raw," — ",re[c.reason]]},c.raw))}):null]}):null,r.jsxs("div",{className:x.body,children:[r.jsx("iframe",{sandbox:tt,srcDoc:T,referrerPolicy:"no-referrer",allow:"",className:x.frame,style:n==="preview"?void 0:{display:"none"},title:b}),n==="source"?r.jsx(he,{path:s,content:l}):null]})]})}export{gt 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-CisETjfy.js";import{u as t}from"./use-file-download-DMsI7yqE.js";import"./vendor-query-i7fr__Xm.js";import"./vendor-CIkm_8TG.js";import"./vendor-icons-C3PrZPxy.js";import"./vendor-overlays-CO23GfSO.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{r 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{r as j,d as g,B as i,E as a,S as c}from"./index-CisETjfy.js";import{u as w,C as h}from"./CodeView-B6qfEGak.js";import{M as v}from"./markdown-DIRIvR-0.js";import"./vendor-query-i7fr__Xm.js";import"./vendor-CIkm_8TG.js";import"./vendor-icons-C3PrZPxy.js";import"./vendor-overlays-CO23GfSO.js";import"./vendor-dnd-CayJj8TC.js";import"./use-file-download-DMsI7yqE.js";import"./vendor-highlight-A9hNQ6ne.js";import"./vendor-markdown-Bu3Y4y-M.js";import"./href-resolution-CIziox_W.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 b,j as t}from"./vendor-react-DQUAl2K8.js";import{a as A}from"./vendor-query-i7fr__Xm.js";import{u as E,E as u,S as P,B as x,a as C}from"./index-
|
|
1
|
+
import{r as b,j as t}from"./vendor-react-DQUAl2K8.js";import{a as A}from"./vendor-query-i7fr__Xm.js";import{u as E,E as u,S as P,B as x,a as C}from"./index-CisETjfy.js";import{S as v}from"./StatusBadge-BMKAPA9O.js";import{u as R}from"./use-provider-auth-list-BE34ej1x.js";import{u as y}from"./SettingsDialog-BgKorpjK.js";import"./vendor-CIkm_8TG.js";import"./vendor-icons-C3PrZPxy.js";import"./vendor-overlays-CO23GfSO.js";import"./vendor-dnd-CayJj8TC.js";const N="env:";function I(e){var i;return e.configured==="unknown"?{label:"Unknown",variant:"warning"}:e.configured===!1?{label:"Not configured",variant:"muted"}:(i=e.configuredSource)!=null&&i.startsWith(N)?{label:`env: ${e.configuredSource.slice(N.length)}`,variant:"success"}:e.configuredType==="oauth"?{label:"OAuth",variant:"success"}:{label:"API key",variant:"success"}}function M(e){const i=e.configured===!0?"Re-login":"Log in";if(e.authTypes.length<=1){const s=e.authTypes[0]??"api_key";return[{authType:s,label:s==="oauth"?e.oauthLoginLabel??i:i}]}return e.authTypes.map(s=>s==="oauth"?{authType:s,label:e.oauthLoginLabel??"Log in with OAuth"}:{authType:s,label:"API key"})}const O="_list_vm1k7_1",T="_row_vm1k7_7",q="_rowMain_vm1k7_18",B="_name_vm1k7_25",z="_tag_vm1k7_33",F="_rowActions_vm1k7_37",U="_pendingNote_vm1k7_44",K="_note_vm1k7_49",Q="_errorState_vm1k7_55",a={list:O,row:T,rowMain:q,name:B,tag:z,rowActions:F,pendingNote:U,note:K,errorState:Q};function nn(){const e=E(n=>n.client),i=A(),s=y(n=>n.pendingLogin),j=y(n=>n.requestLogin),[d,g]=b.useState(null),[k,m]=b.useState({}),{data:r,isLoading:L,isError:S,error:h}=R();async function p(n){if(e&&window.confirm(`Log out of ${n.name}? Running agents keep working until their current credential use fails.`)){m(o=>({...o,[n.id]:""})),g(n.id);try{const o=await e.logoutProvider(n.id);m(l=>({...l,[n.id]:o.stillConfigured?"Removed the stored credential — still configured via an environment variable.":""})),await i.invalidateQueries({queryKey:C.providerAuthList()})}finally{g(null)}}}return L?t.jsxs(u,{children:[t.jsx(P,{size:"sm"})," Loading providers…"]}):S?t.jsx(u,{className:a.errorState,children:h instanceof Error?h.message:"Failed to load providers."}):!r||r.length===0?t.jsx(u,{children:"No providers available."}):t.jsx("div",{className:a.list,children:r.map(n=>{const o=I(n),l=M(n),f=(s==null?void 0:s.provider)===n.id,_=s!==null&&!f,w=k[n.id];return t.jsxs("div",{className:a.row,children:[t.jsxs("div",{className:a.rowMain,children:[t.jsx("span",{className:a.name,children:n.name}),n.oauthIsSubscription&&t.jsx(v,{label:"Subscription",variant:"muted",className:a.tag}),t.jsx(v,{label:o.label,variant:o.variant,className:a.tag})]}),t.jsx("div",{className:a.rowActions,children:f?t.jsx("span",{className:a.pendingNote,children:"Logging in…"}):t.jsxs(t.Fragment,{children:[l.map(c=>t.jsx(x,{size:"xs",variant:"secondary",disabled:_,onClick:()=>j(n.id,n.name,c.authType),children:c.label},c.authType)),n.configured!==!1&&t.jsx(x,{size:"xs",variant:"ghost",disabled:_||d===n.id,loading:d===n.id,onClick:()=>void p(n),children:"Log out"})]})}),w&&t.jsx("div",{className:a.note,children:w})]},n.id)})})}export{nn as ModelProvidersPanel};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as c,j as t}from"./vendor-react-DQUAl2K8.js";import{u as I,o as W,P as w,E as L,S as k,l as q,p as C,d as U,q as X,C as Y,s as z,g as D}from"./index-
|
|
1
|
+
import{r as c,j as t}from"./vendor-react-DQUAl2K8.js";import{u as I,o as W,P as w,E as L,S as k,l as q,p as C,d as U,q as X,C as Y,s as z,g as D}from"./index-CisETjfy.js";import{L as G}from"./vendor-molviewer-DSzG6_a2.js";import{S as v}from"./StatusBadge-BMKAPA9O.js";import{u as H}from"./use-file-download-DMsI7yqE.js";import{u as K}from"./use-file-watch-B_k8jx0c.js";import"./vendor-query-i7fr__Xm.js";import"./vendor-CIkm_8TG.js";import"./vendor-icons-C3PrZPxy.js";import"./vendor-overlays-CO23GfSO.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",b={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 z(r,s).catch(()=>{}),u}return s}function ue({path:e,workspaceCwd:r,tabId:n,isActive:a,onModifiedChange:l}){var F;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),[E,_]=c.useState(null),[h,N]=c.useState(!1),[S,x]=c.useState(null),[j,y]=c.useState(null),[M,P]=c.useState(null),g=c.useRef(null),R=((F=s.data)==null?void 0:F.objectUrl)??null,A=c.useMemo(()=>J(e,R),[e,R]);c.useEffect(()=>{Q({changedAt:i,lastAppliedAt:g.current,modified:h})&&(g.current=i,s.refetch())},[i,h,s.refetch]);const $=i!==null&&i!==g.current&&h;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);C(d,r,O??void 0)}catch(d){y(d instanceof Error?d.message:"Failed to save the polymer")}}}const T=(s.isError?s.error instanceof Error?s.error.message:"download failed":null)??(E==null?void 0:E.message)??null;return e&&s.isPending?t.jsx(w,{children:t.jsxs(L,{children:[t.jsx(k,{size:"sm"})," Loading..."]})}):T?t.jsx(w,{children:t.jsxs(L,{children:["Error: ",T]})}):t.jsxs(w,{className:b.wrap,"data-molecule-active":a?"true":"false",children:[t.jsxs("div",{className:b.badges,children:[$&&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:b.molViewer,theme:se,source:A,sourceMode:m.current?"update":"replace",onLoad:()=>{m.current=!0,_(null)},onLoadError:o=>_(o.error),onModifiedChange:o=>{N(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};
|