@marimo-team/frontend 0.25.2-dev52 → 0.25.2-dev56
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/assets/{CellStatus-Q5giBgg0.js → CellStatus-CRFBVGjI.js} +1 -1
- package/dist/assets/{ConnectedDataExplorerComponent-D5gfkAKK.js → ConnectedDataExplorerComponent-Jv_dljLQ.js} +1 -1
- package/dist/assets/{ErrorBoundary-CowFEmQK.js → ErrorBoundary-BKmN7zye.js} +2 -2
- package/dist/assets/JsonOutput-Dmq_45PS.js +11 -0
- package/dist/assets/{MarimoErrorOutput-p5jt_udI.js → MarimoErrorOutput-DCu6fm2y.js} +1 -1
- package/dist/assets/{RenderHTML-CqDY0F9e.js → RenderHTML-DRMkieKn.js} +1 -1
- package/dist/assets/RunButton-CPZWjCL9.js +1 -0
- package/dist/assets/{add-cell-with-ai-BKqOYjHI.js → add-cell-with-ai-sH3HbLJO.js} +1 -1
- package/dist/assets/{add-connection-dialog-CL3bFsGA.js → add-connection-dialog-pQcdKIlO.js} +2 -2
- package/dist/assets/{agent-panel-q9X3jIj0.js → agent-panel-9FeJ9hAg.js} +1 -1
- package/dist/assets/ai-model-dropdown-D-51nbXZ.js +5 -0
- package/dist/assets/{app-config-button-Bylx9JDv.js → app-config-button-Dr1EwwIk.js} +1 -1
- package/dist/assets/{blob-BTk5Q8u9.js → blob-BIYte8oT.js} +1 -1
- package/dist/assets/cache-panel-BNPF4X5e.js +1 -0
- package/dist/assets/{cell-editor-DfRhvA75.js → cell-editor-BNIogYsY.js} +3 -3
- package/dist/assets/{cell-link-DRuyhIKm.js → cell-link-BeZAiE1D.js} +1 -1
- package/dist/assets/{cells-CuKxjgjJ.js → cells-h5u00Nz8.js} +3 -3
- package/dist/assets/{chat-display-BT4wYvSi.js → chat-display-CuZ8niXg.js} +1 -1
- package/dist/assets/chat-panel-CHPPwqcP.js +4 -0
- package/dist/assets/{chat-ui-DsHB8FDP.js → chat-ui-BJAcq-Ln.js} +1 -1
- package/dist/assets/column-preview-D2Um0Qe3.js +1 -0
- package/dist/assets/{command-palette-DLjm6e2f.js → command-palette-ChCapZF9.js} +1 -1
- package/dist/assets/{common-BHV00wKC.js → common-BMeq0Bqi.js} +1 -1
- package/dist/assets/{components-DzAIJKU7.js → components-CWcf8098.js} +1 -1
- package/dist/assets/{config-BaEZVOk2.js → config-CR2d-XsP.js} +1 -1
- package/dist/assets/{datasource-D0736MyK.js → datasource-BLHGFSsT.js} +1 -1
- package/dist/assets/{dependency-graph-panel-B6fAc_9C.js → dependency-graph-panel-C8X3Nn8W.js} +1 -1
- package/dist/assets/{documentation-panel-DQAQba71.js → documentation-panel-C8wrSKlX.js} +1 -1
- package/dist/assets/{download-D-MTWucM.js → download-CUgiCx7s.js} +1 -1
- package/dist/assets/edit-page-DIBiWEli.js +9 -0
- package/dist/assets/{error-entries-CWxVwEPG.js → error-entries-DQD4A9cx.js} +1 -1
- package/dist/assets/{error-panel-DISYRsce.js → error-panel-BJYkwYEY.js} +1 -1
- package/dist/assets/{feedback-button-B1bYxCrZ.js → feedback-button-DbTjGwcX.js} +2 -2
- package/dist/assets/feedback-button-JqvnTSfN.js +1 -0
- package/dist/assets/file-explorer-panel-CxBxvZDk.js +1 -0
- package/dist/assets/{file-name-input-BVXW4Ihy.js → file-name-input-DPJSxW_X.js} +1 -1
- package/dist/assets/{floating-outline-BhY3Wt-J.js → floating-outline-3PlTr0K1.js} +1 -1
- package/dist/assets/{gallery-page-Be8AbY36.js → gallery-page-BqvVmwde.js} +1 -1
- package/dist/assets/{glide-data-editor-D1Fip07J.js → glide-data-editor-CAa14cIr.js} +1 -1
- package/dist/assets/home-page-B_NxFh87.js +4 -0
- package/dist/assets/{hooks-BgpsvfLA.js → hooks-5owWOOnf.js} +1 -1
- package/dist/assets/{index-BdrTweFz.js → index-D9fmFCuc.js} +4 -4
- package/dist/assets/input-DPd57MDP.js +7 -0
- package/dist/assets/{layout-BAJKEADQ.js → layout-giNu7tsO.js} +5 -5
- package/dist/assets/{logs-panel-CjHa5qIw.js → logs-panel-IKL6F2OX.js} +1 -1
- package/dist/assets/{markdown-renderer-quSCxU-_.js → markdown-renderer-DHvAXF8E.js} +1 -1
- package/dist/assets/{name-cell-input-Cba1m8_c.js → name-cell-input-j4eGLLyd.js} +1 -1
- package/dist/assets/{outline-panel-CWsF1QII.js → outline-panel-CprDWmxn.js} +1 -1
- package/dist/assets/{packages-panel-C-XEdHNc.js → packages-panel-BGqHk9nr.js} +1 -1
- package/dist/assets/{panel-accordion-state-u7avi-RV.js → panel-accordion-state-8xXVhawu.js} +1 -1
- package/dist/assets/{panels-B5iuV0lM.js → panels-DftjTXK1.js} +1 -1
- package/dist/assets/{process-output-DbjZ_y5T.js → process-output-DOmeJ1VR.js} +1 -1
- package/dist/assets/{readonly-code-display-Ctjk_xXb.js → readonly-code-display-xvH6MyT6.js} +1 -1
- package/dist/assets/{readonly-python-code-Ctej1jSH.js → readonly-python-code-D4YGmSvB.js} +1 -1
- package/dist/assets/{reveal-component-YHvm3T44.js → reveal-component-C72HbbmJ.js} +1 -1
- package/dist/assets/{run-page-BkMc69OJ.js → run-page-BOSkpSu_.js} +1 -1
- package/dist/assets/{sandbox-panel-fEQNl_1C.js → sandbox-panel-D5bRunTM.js} +1 -1
- package/dist/assets/{scratchpad-panel-CZ1PriSX.js → scratchpad-panel-C3gu3_1_.js} +1 -1
- package/dist/assets/{secrets-panel-Yc5ollBX.js → secrets-panel-DT1Nansx.js} +1 -1
- package/dist/assets/{select-Ww_82o86.js → select-BwRFbZty.js} +1 -1
- package/dist/assets/session-panel-CNK8FDu3.js +1 -0
- package/dist/assets/{snippets-panel-BFXHSCEq.js → snippets-panel-5_jR08Zd.js} +1 -1
- package/dist/assets/{state-Do1H9fl6.js → state-7os84dnI.js} +1 -1
- package/dist/assets/{state-CdP1z8ku.js → state-BxJ_FX3k.js} +1 -1
- package/dist/assets/switch-C-83e2fG.js +1 -0
- package/dist/assets/{toast-CL5SyrsO.js → toast-BRwEbWb6.js} +1 -1
- package/dist/assets/{tracing-DBfpxL3C.js → tracing-CRkNpBaH.js} +1 -1
- package/dist/assets/tracing-panel-DV2-2TUI.js +2 -0
- package/dist/assets/{tree-actions-DdvPjaze.js → tree-actions-CShqSonp.js} +1 -1
- package/dist/assets/{useAddCell-BbK54Wma.js → useAddCell-DesMfnE4.js} +1 -1
- package/dist/assets/{useCellActionButton-BEZZV5mI.js → useCellActionButton-BO5SFMxA.js} +1 -1
- package/dist/assets/useDateFormatter-CTYCgKB-.js +1 -0
- package/dist/assets/{useDeleteCell-BG8LgAEA.js → useDeleteCell-DSbUjpSC.js} +1 -1
- package/dist/assets/{useDependencyPanelTab-BEjMLLcY.js → useDependencyPanelTab-JIFiQrr2.js} +1 -1
- package/dist/assets/{useInstallPackage-DnijI-KS.js → useInstallPackage-CCQcFc6U.js} +1 -1
- package/dist/assets/{useNotebookActions-Cnznz5jV.js → useNotebookActions-ByyEgzc-.js} +1 -1
- package/dist/assets/useNumberFormatter-BP99Zbyy.js +1 -0
- package/dist/assets/{useRunCells-DTPuvtCQ.js → useRunCells-Bx3wXUWO.js} +1 -1
- package/dist/assets/{useSplitCell-BuTWivoM.js → useSplitCell-BRmQP02b.js} +1 -1
- package/dist/assets/{write-secret-modal-DknTu1O1.js → write-secret-modal-BcosCmZy.js} +2 -2
- package/dist/index.html +29 -29
- package/package.json +3 -3
- package/src/components/editor/navigation/__tests__/navigation.test.ts +8 -8
- package/dist/assets/JsonOutput-c1E0SCoN.js +0 -11
- package/dist/assets/RunButton-TcDo218m.js +0 -1
- package/dist/assets/ai-model-dropdown-CK8y46Fn.js +0 -5
- package/dist/assets/cache-panel-CKzoUIhe.js +0 -1
- package/dist/assets/chat-panel-C3Bu_7u5.js +0 -4
- package/dist/assets/column-preview-BltuXodG.js +0 -1
- package/dist/assets/edit-page-CMJrCnfU.js +0 -9
- package/dist/assets/feedback-button-BW1-NBBf.js +0 -1
- package/dist/assets/file-explorer-panel-VIG5c9ac.js +0 -1
- package/dist/assets/home-page-Dv2fEKyO.js +0 -4
- package/dist/assets/input-DnyzXg4C.js +0 -7
- package/dist/assets/session-panel-DD5LfQGb.js +0 -1
- package/dist/assets/switch-CPh_C6Mu.js +0 -1
- package/dist/assets/tracing-panel-CS9W1a0x.js +0 -2
- package/dist/assets/useDateFormatter-CjgScv5a.js +0 -1
- package/dist/assets/useNumberFormatter-C4-_TnkF.js +0 -1
- /package/dist/assets/{context-BFOBKCJB.js → I18nProvider-BFOBKCJB.js} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{l as t}from"./useEvent-Dc9HkKI2.js";import{t as n}from"./react-CUdNIagt.js";import{t as r}from"./compiler-runtime-BQ9S8nyo.js";import{t as i}from"./cn-ldLVeaqm.js";import{t as a}from"./jsx-runtime-B74pBk57.js";import{a as o,c as s,i as c,l,n as u,o as d,r as f,s as p,t as m,u as h}from"./alert-dialog-DlL1c-bx.js";import{t as g}from"./button-M49xxKoi.js";import{t as _}from"./database-zap-CrkOvbyN.js";import{t as v}from"./spinner-CGdRKCnw.js";import{t as y}from"./refresh-cw-CEGpOrzd.js";import{t as b}from"./trash-2-BJG-7Qob.js";import{t as x}from"./use-toast-CC89xOwH.js";import{r as S}from"./requests-yTHMxhVa.js";import{t as C}from"./context-BFOBKCJB.js";import{i as w}from"./numbers-BEfBaQtu.js";import{n as T}from"./useAsyncData-DucTwMkf.js";import{t as E}from"./empty-state-CzxjZqGW.js";import{t as D}from"./requests-DFPPfagc.js";import{n as O,t as k}from"./formatting-Civx9FAg.js";var A=r(),j=e(n(),1),M=a(),N=e=>{let t=(0,A.c)(27),{children:n,title:r,description:i,onConfirm:a,confirmText:g,cancelText:_,destructive:v}=e,y=g===void 0?`Continue`:g,b=_===void 0?`Cancel`:_,x=v!==void 0&&v,[S,C]=j.useState(!1),w;t[0]===a?w=t[1]:(w=()=>{a(),C(!1)},t[0]=a,t[1]=w);let T=w,E=x?d:u,D;t[2]===n?D=t[3]:(D=(0,M.jsx)(h,{asChild:!0,children:n}),t[2]=n,t[3]=D);let O;t[4]===r?O=t[5]:(O=(0,M.jsx)(l,{children:r}),t[4]=r,t[5]=O);let k;t[6]===i?k=t[7]:(k=(0,M.jsx)(o,{children:i}),t[6]=i,t[7]=k);let N;t[8]!==O||t[9]!==k?(N=(0,M.jsxs)(s,{children:[O,k]}),t[8]=O,t[9]=k,t[10]=N):N=t[10];let P;t[11]===b?P=t[12]:(P=(0,M.jsx)(f,{children:b}),t[11]=b,t[12]=P);let F;t[13]!==E||t[14]!==y||t[15]!==T?(F=(0,M.jsx)(E,{onClick:T,children:y}),t[13]=E,t[14]=y,t[15]=T,t[16]=F):F=t[16];let I;t[17]!==F||t[18]!==P?(I=(0,M.jsxs)(p,{children:[P,F]}),t[17]=F,t[18]=P,t[19]=I):I=t[19];let L;t[20]!==I||t[21]!==N?(L=(0,M.jsxs)(c,{children:[N,I]}),t[20]=I,t[21]=N,t[22]=L):L=t[22];let R;return t[23]!==S||t[24]!==L||t[25]!==D?(R=(0,M.jsxs)(m,{open:S,onOpenChange:C,children:[D,L]}),t[23]=S,t[24]=L,t[25]=D,t[26]=R):R=t[26],R},P=()=>{let{clearCache:e,getCacheInfo:n}=S(),r=t(D),[a,o]=(0,j.useState)(!1),{locale:s}=C(),{isPending:c,isFetching:l,refetch:u}=T(async()=>{await n(),await new Promise(e=>setTimeout(e,500))},[]),d=async()=>{try{o(!0),await e(),x({title:`Cache purged`,description:`All cached data has been cleared`}),u()}catch(e){x({title:`Error`,description:e instanceof Error?e.message:`Failed to purge cache`,variant:`danger`})}finally{o(!1)}};if(c&&!r)return(0,M.jsx)(v,{size:`medium`,centered:!0});let f=(0,M.jsxs)(g,{variant:`outline`,size:`sm`,onClick:u,disabled:l,children:[l?(0,M.jsx)(v,{size:`small`,className:`w-4 h-4 mr-2`}):(0,M.jsx)(y,{className:`w-4 h-4 mr-2`}),`Refresh`]});if(!r)return(0,M.jsx)(E,{title:`No cache data`,description:`Cache information is not available.`,icon:(0,M.jsx)(_,{}),action:f});let p=r.hits,m=r.misses,h=r.time,A=r.disk_total,P=r.disk_to_free,I=p+m,L=I>0?p/I*100:0;return I===0?(0,M.jsx)(E,{title:`No cache activity`,description:`The cache has not been used yet. Cached functions will appear here once they are executed.`,icon:(0,M.jsx)(_,{}),action:f}):(0,M.jsx)(`div`,{className:`flex flex-col h-full overflow-auto`,children:(0,M.jsxs)(`div`,{className:`flex flex-col gap-4 p-4 h-full`,children:[(0,M.jsx)(`div`,{className:`flex items-center justify-end`,children:(0,M.jsx)(g,{variant:`ghost`,size:`icon`,className:`h-6 w-6`,onClick:u,disabled:l,children:(0,M.jsx)(y,{className:i(`h-4 w-4 text-muted-foreground hover:text-foreground`,l&&`animate-[spin_0.5s]`)})})}),(0,M.jsxs)(`div`,{className:`space-y-3`,children:[(0,M.jsx)(`h3`,{className:`text-sm font-semibold text-foreground`,children:`Statistics`}),(0,M.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,M.jsx)(F,{label:`Time saved`,value:O(h,s),description:`Total execution time saved`}),(0,M.jsx)(F,{label:`Hit rate`,value:I>0?`${w(L,s)}%`:`—`,description:`${w(p,s)} hits / ${w(I,s)} total`}),(0,M.jsx)(F,{label:`Cache hits`,value:w(p,s),description:`Successful cache retrievals`}),(0,M.jsx)(F,{label:`Cache misses`,value:w(m,s),description:`Cache not found`})]})]}),A>0&&(0,M.jsxs)(`div`,{className:`space-y-3 pt-2 border-t`,children:[(0,M.jsx)(`h3`,{className:`text-sm font-semibold text-foreground`,children:`Storage`}),(0,M.jsx)(`div`,{className:`grid grid-cols-1 gap-3`,children:(0,M.jsx)(F,{label:`Disk usage`,value:k(A,s),description:P>0?`${k(P,s)} can be freed`:`Cache storage on disk`})})]}),(0,M.jsx)(`div`,{className:`my-auto`}),(0,M.jsx)(`div`,{className:`pt-2 border-t`,children:(0,M.jsx)(N,{title:`Purge cache?`,description:`This will permanently delete all cached data. This action cannot be undone.`,confirmText:`Purge`,destructive:!0,onConfirm:d,children:(0,M.jsxs)(g,{variant:`outlineDestructive`,size:`xs`,disabled:a,className:`w-full`,children:[a?(0,M.jsx)(v,{size:`small`,className:`w-3 h-3 mr-2`}):(0,M.jsx)(b,{className:`w-3 h-3 mr-2`}),`Purge Cache`]})})})]})})},F=e=>{let t=(0,A.c)(10),{label:n,value:r,description:i}=e,a;t[0]===n?a=t[1]:(a=(0,M.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:n}),t[0]=n,t[1]=a);let o;t[2]===r?o=t[3]:(o=(0,M.jsx)(`span`,{className:`text-lg font-semibold`,children:r}),t[2]=r,t[3]=o);let s;t[4]===i?s=t[5]:(s=i&&(0,M.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:i}),t[4]=i,t[5]=s);let c;return t[6]!==a||t[7]!==o||t[8]!==s?(c=(0,M.jsxs)(`div`,{className:`flex flex-col gap-1 p-3 rounded-lg border bg-card`,children:[a,o,s]}),t[6]=a,t[7]=o,t[8]=s,t[9]=c):c=t[9],c};export{P as default};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,d as n,l as r,t as i,u as a}from"./useEvent-Dc9HkKI2.js";import{t as o}from"./react-CUdNIagt.js";import{D as s,Zn as c,ao as l,br as u,cn as d,dn as f,qa as p,un as m}from"./cells-CuKxjgjJ.js";import{t as h}from"./compiler-runtime-BQ9S8nyo.js";import{i as g,t as _}from"./config-Cyum2gRs.js";import{M as v,c as y,h as b,m as x,p as S,r as C,t as w}from"./ai-model-dropdown-CK8y46Fn.js";import{g as T,o as E}from"./useEventListener-IRzG-0mH.js";import{M as D,o as O}from"./config-BAnYSdpO.js";import{t as k}from"./cn-ldLVeaqm.js";import{t as A}from"./jsx-runtime-B74pBk57.js";import{C as j,S as M,T as N,b as P,v as F,w as I}from"./fullscreen-DEBblJKh.js";import{u as L}from"./menu-items-DAaNKHJF.js";import{t as ee}from"./config-BaEZVOk2.js";import{a as R,i as z,m as te,n as ne,r as re,s as ie,t as ae}from"./select-Ww_82o86.js";import{t as oe}from"./switch-CPh_C6Mu.js";import{i as se,t as B}from"./tooltip-B5pI8o2n.js";import{t as V}from"./button-M49xxKoi.js";import{t as H}from"./createLucideIcon-rHn2EdoM.js";import{t as ce}from"./arrow-right-xoNT7eIQ.js";import{t as le}from"./bot-message-square-BfGaNy9r.js";import{i as ue,n as de,r as fe,t as pe}from"./chat-display-BT4wYvSi.js";import{B as me,C as he,D as ge,E as _e,N as ve,R as ye,S as be,U as xe,_ as Se,b as Ce,c as U,d as we,f as Te,g as Ee,h as De,k as Oe,l as W,m as ke,n as Ae,u as G,v as je,w as Me,x as Ne,y as Pe,z as Fe}from"./add-cell-with-ai-BKqOYjHI.js";import{t as Ie}from"./code-DW4kNwKG.js";import{t as Le}from"./hat-glasses-DVgK5i5l.js";import{b as Re,p as ze}from"./write-secret-modal-DknTu1O1.js";import{n as Be}from"./spinner-CGdRKCnw.js";import{t as Ve}from"./message-circle-OTHnVlxO.js";import{t as K}from"./plus-gbN72xHe.js";import{Qt as He,r as Ue}from"./input-DnyzXg4C.js";import{t as We}from"./settings-DlKTeV_0.js";import{t as Ge}from"./copy-icon-wfSGfX8v.js";import{r as Ke}from"./requests-yTHMxhVa.js";import{t as qe}from"./uuid-k9DpjH68.js";import{t as Je}from"./context-BFOBKCJB.js";import{s as Ye}from"./dates-BgcKUsHb.js";import{i as Xe,o as Ze,r as Qe,t as $e}from"./state-CdP1z8ku.js";import{n as et}from"./error-banner-D1_bPN9u.js";import{t as tt}from"./empty-state-CzxjZqGW.js";import{t as nt}from"./scroll-to-bottom-button-Dmrd5bjQ.js";var q=e(o(),1),J=A(),rt=Object.defineProperty,Y=(e,t)=>rt(e,`name`,{value:t,configurable:!0});function it(e,t){return q.useReducer((e,n)=>t[e][n]??e,e)}Y(it,`useStateMachine`);var at=`ScrollArea`,[ot,st]=I(at),[ct,X]=ot(at),lt=q.forwardRef(Y(function(e,t){let{__scopeScrollArea:n,type:r=`hover`,dir:i,scrollHideDelay:a=600,...o}=e,[s,c]=q.useState(null),[l,u]=q.useState(null),[d,f]=q.useState(null),[p,m]=q.useState(null),[h,g]=q.useState(null),[_,v]=q.useState(0),[y,b]=q.useState(0),[x,S]=q.useState(!1),[C,w]=q.useState(!1),T=E(t,c),D=L(i);return(0,J.jsx)(ct,{scope:n,type:r,dir:D,scrollHideDelay:a,scrollArea:s,viewport:l,onViewportChange:u,content:d,onContentChange:f,scrollbarX:p,onScrollbarXChange:m,scrollbarXEnabled:x,onScrollbarXEnabledChange:S,scrollbarY:h,onScrollbarYChange:g,scrollbarYEnabled:C,onScrollbarYEnabledChange:w,onCornerWidthChange:v,onCornerHeightChange:b,children:(0,J.jsx)(N.div,{dir:D,...o,ref:T,style:{position:`relative`,"--radix-scroll-area-corner-width":_+`px`,"--radix-scroll-area-corner-height":y+`px`,...e.style}})})},`ScrollArea`)),ut=`ScrollAreaViewport`,dt=q.forwardRef(Y(function(e,t){let{__scopeScrollArea:n,children:r,nonce:i,...a}=e,o=X(ut,n),s=q.useRef(null),c=E(t,s,o.onViewportChange);return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(ft,{nonce:i}),(0,J.jsx)(N.div,{"data-radix-scroll-area-viewport":``,...a,ref:c,style:{overflowX:o.scrollbarXEnabled?`scroll`:`hidden`,overflowY:o.scrollbarYEnabled?`scroll`:`hidden`,...e.style},children:(0,J.jsx)(`div`,{ref:o.onContentChange,style:{minWidth:`100%`,display:`table`},children:r})})]})},`ScrollAreaViewport`)),ft=q.memo(Y(function({nonce:e}){return(0,J.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`},nonce:e})},`ScrollAreaViewportStyle`),(e,t)=>e.nonce===t.nonce),Z=`ScrollAreaScrollbar`,pt=q.forwardRef(Y(function(e,t){let{forceMount:n,...r}=e,i=X(Z,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:o}=i,s=e.orientation===`horizontal`;return q.useEffect(()=>(s?a(!0):o(!0),()=>{s?a(!1):o(!1)}),[s,a,o]),i.type===`hover`?(0,J.jsx)(mt,{...r,ref:t,forceMount:n}):i.type===`scroll`?(0,J.jsx)(ht,{...r,ref:t,forceMount:n}):i.type===`auto`?(0,J.jsx)(gt,{...r,ref:t,forceMount:n}):i.type===`always`?(0,J.jsx)(_t,{...r,ref:t,"data-state":`visible`}):null},`ScrollAreaScrollbar`)),mt=q.forwardRef(Y(function(e,t){let{forceMount:n,...r}=e,i=X(Z,e.__scopeScrollArea),[a,o]=q.useState(!1);return q.useEffect(()=>{let e=i.scrollArea,t=0;if(e){let n=Y(()=>{window.clearTimeout(t),o(!0)},`handlePointerEnter`),r=Y(()=>{t=window.setTimeout(()=>o(!1),i.scrollHideDelay)},`handlePointerLeave`);return e.addEventListener(`pointerenter`,n),e.addEventListener(`pointerleave`,r),()=>{window.clearTimeout(t),e.removeEventListener(`pointerenter`,n),e.removeEventListener(`pointerleave`,r)}}},[i.scrollArea,i.scrollHideDelay]),(0,J.jsx)(P,{present:n||a,children:(0,J.jsx)(gt,{"data-state":a?`visible`:`hidden`,...r,ref:t})})},`ScrollAreaScrollbarHover`)),ht=q.forwardRef(Y(function(e,t){let{forceMount:n,...r}=e,i=X(Z,e.__scopeScrollArea),a=e.orientation===`horizontal`,o=Lt(()=>c(`SCROLL_END`),100),[s,c]=it(`hidden`,{hidden:{SCROLL:`scrolling`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}});return q.useEffect(()=>{if(s===`idle`){let e=window.setTimeout(()=>c(`HIDE`),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[s,i.scrollHideDelay,c]),q.useEffect(()=>{let e=i.viewport,t=a?`scrollLeft`:`scrollTop`;if(e){let n=e[t],r=Y(()=>{let r=e[t];n!==r&&(c(`SCROLL`),o()),n=r},`handleScroll`);return e.addEventListener(`scroll`,r),()=>e.removeEventListener(`scroll`,r)}},[i.viewport,a,c,o]),(0,J.jsx)(P,{present:n||s!==`hidden`,children:(0,J.jsx)(_t,{"data-state":s===`hidden`?`hidden`:`visible`,...r,ref:t,onPointerEnter:j(e.onPointerEnter,()=>c(`POINTER_ENTER`)),onPointerLeave:j(e.onPointerLeave,()=>c(`POINTER_LEAVE`))})})},`ScrollAreaScrollbarScroll`)),gt=q.forwardRef(Y(function(e,t){let n=X(Z,e.__scopeScrollArea),{forceMount:r,...i}=e,[a,o]=q.useState(!1),s=e.orientation===`horizontal`,c=Lt(()=>{if(n.viewport){let e=n.viewport.offsetWidth<n.viewport.scrollWidth,t=n.viewport.offsetHeight<n.viewport.scrollHeight;o(s?e:t)}},10);return Q(n.viewport,c),Q(n.content,c),(0,J.jsx)(P,{present:r||a,children:(0,J.jsx)(_t,{"data-state":a?`visible`:`hidden`,...i,ref:t})})},`ScrollAreaScrollbarAuto`)),_t=q.forwardRef(Y(function(e,t){let{orientation:n=`vertical`,...r}=e,i=X(Z,e.__scopeScrollArea),a=q.useRef(null),o=q.useRef(0),[s,c]=q.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=At(s.viewport,s.content),u={...r,sizes:s,onSizesChange:c,hasThumb:l>0&&l<1,onThumbChange:Y(e=>a.current=e,`onThumbChange`),onThumbPointerUp:Y(()=>o.current=0,`onThumbPointerUp`),onThumbPointerDown:Y(e=>o.current=e,`onThumbPointerDown`)};function d(e,t){return Mt(e,o.current,s,t)}return Y(d,`getScrollPosition`),n===`horizontal`?(0,J.jsx)(vt,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollLeft,t=Nt(e,s,i.dir);a.current.style.transform=`translate3d(${t}px, 0, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollLeft=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollLeft=d(e,i.dir))}}):n===`vertical`?(0,J.jsx)(yt,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollTop,t=Nt(e,s);a.current.style.transform=`translate3d(0, ${t}px, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollTop=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollTop=d(e))}}):null},`ScrollAreaScrollbarVisible`)),vt=q.forwardRef(Y(function(e,t){let{sizes:n,onSizesChange:r,...i}=e,a=X(Z,e.__scopeScrollArea),[o,s]=q.useState(),c=q.useRef(null),l=E(t,c,a.onScrollbarXChange);return q.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,J.jsx)(St,{"data-orientation":`horizontal`,...i,ref:l,sizes:n,style:{bottom:0,left:a.dir===`rtl`?`var(--radix-scroll-area-corner-width)`:0,right:a.dir===`ltr`?`var(--radix-scroll-area-corner-width)`:0,"--radix-scroll-area-thumb-width":jt(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollLeft+t.deltaX;e.onWheelScroll(r),Ft(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:kt(o.paddingLeft),paddingEnd:kt(o.paddingRight)}})}})},`ScrollAreaScrollbarX`)),yt=q.forwardRef(Y(function(e,t){let{sizes:n,onSizesChange:r,...i}=e,a=X(Z,e.__scopeScrollArea),[o,s]=q.useState(),c=q.useRef(null),l=E(t,c,a.onScrollbarYChange);return q.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,J.jsx)(St,{"data-orientation":`vertical`,...i,ref:l,sizes:n,style:{top:0,right:a.dir===`ltr`?0:void 0,left:a.dir===`rtl`?0:void 0,bottom:`var(--radix-scroll-area-corner-height)`,"--radix-scroll-area-thumb-height":jt(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollTop+t.deltaY;e.onWheelScroll(r),Ft(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:kt(o.paddingTop),paddingEnd:kt(o.paddingBottom)}})}})},`ScrollAreaScrollbarY`)),[bt,xt]=ot(Z),St=q.forwardRef(Y(function(e,t){let{__scopeScrollArea:n,sizes:r,hasThumb:i,onThumbChange:a,onThumbPointerUp:o,onThumbPointerDown:s,onThumbPositionChange:c,onDragScroll:l,onWheelScroll:u,onResize:d,...f}=e,p=X(Z,n),[m,h]=q.useState(null),g=E(t,h),_=q.useRef(null),v=q.useRef(``),y=p.viewport,b=r.content-r.viewport,x=F(u),S=F(c),C=Lt(d,10);function w(e){if(_.current){let t=e.clientX-_.current.left,n=e.clientY-_.current.top;l({x:t,y:n})}}return Y(w,`handleDragScroll`),q.useEffect(()=>{let e=Y(e=>{let t=e.target;m?.contains(t)&&x(e,b)},`handleWheel`);return document.addEventListener(`wheel`,e,{passive:!1}),()=>document.removeEventListener(`wheel`,e,{passive:!1})},[y,m,b,x]),q.useEffect(S,[r,S]),Q(m,C),Q(p.content,C),(0,J.jsx)(bt,{scope:n,scrollbar:m,hasThumb:i,onThumbChange:F(a),onThumbPointerUp:F(o),onThumbPositionChange:S,onThumbPointerDown:F(s),children:(0,J.jsx)(N.div,{...f,ref:g,style:{position:`absolute`,...f.style},onPointerDown:j(e.onPointerDown,e=>{e.button===0&&(e.target.setPointerCapture(e.pointerId),_.current=m.getBoundingClientRect(),v.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect=`none`,p.viewport&&(p.viewport.style.scrollBehavior=`auto`),w(e))}),onPointerMove:j(e.onPointerMove,w),onPointerUp:j(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=v.current,p.viewport&&(p.viewport.style.scrollBehavior=``),_.current=null})})})},`ScrollAreaScrollbarImpl`)),Ct=`ScrollAreaThumb`,wt=q.forwardRef(Y(function(e,t){let{forceMount:n,...r}=e,i=xt(Ct,e.__scopeScrollArea);return(0,J.jsx)(P,{present:n||i.hasThumb,children:(0,J.jsx)(Tt,{ref:t,...r})})},`ScrollAreaThumb`)),Tt=q.forwardRef(Y(function(e,t){let{__scopeScrollArea:n,style:r,...i}=e,a=X(Ct,n),o=xt(Ct,n),{onThumbPositionChange:s}=o,c=E(t,o.onThumbChange),l=q.useRef(void 0),u=Lt(()=>{l.current&&=(l.current(),void 0)},100);return q.useEffect(()=>{let e=a.viewport;if(e){let t=Y(()=>{if(u(),!l.current){let t=It(e,s);l.current=t,s()}},`handleScroll`);return s(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[a.viewport,u,s]),(0,J.jsx)(N.div,{"data-state":o.hasThumb?`visible`:`hidden`,...i,ref:c,style:{width:`var(--radix-scroll-area-thumb-width)`,height:`var(--radix-scroll-area-thumb-height)`,...r},onPointerDownCapture:j(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;o.onThumbPointerDown({x:n,y:r})}),onPointerUp:j(e.onPointerUp,o.onThumbPointerUp)})},`ScrollAreaThumbImpl`)),Et=`ScrollAreaCorner`,Dt=q.forwardRef(Y(function(e,t){let n=X(Et,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!==`scroll`&&r?(0,J.jsx)(Ot,{...e,ref:t}):null},`ScrollAreaCorner`)),Ot=q.forwardRef(Y(function(e,t){let{__scopeScrollArea:n,...r}=e,i=X(Et,n),[a,o]=q.useState(0),[s,c]=q.useState(0),l=!!(a&&s),{onCornerWidthChange:u,onCornerHeightChange:d}=i;return Q(i.scrollbarX,()=>{let e=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(e),c(e)}),Q(i.scrollbarY,()=>{let e=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(e),o(e)}),q.useEffect(()=>()=>{u(0),d(0)},[u,d]),l?(0,J.jsx)(N.div,{...r,ref:t,style:{width:a,height:s,position:`absolute`,right:i.dir===`ltr`?0:void 0,left:i.dir===`rtl`?0:void 0,bottom:0,...e.style}}):null},`ScrollAreaCornerImpl`));function kt(e){return e?parseInt(e,10):0}Y(kt,`toInt`);function At(e,t){let n=e/t;return isNaN(n)?0:n}Y(At,`getThumbRatio`);function jt(e){let t=At(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}Y(jt,`getThumbSize`);function Mt(e,t,n,r=`ltr`){let i=jt(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return Pt([c,l],d)(e)}Y(Mt,`getScrollPositionFromPointer`);function Nt(e,t,n=`ltr`){let r=jt(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=n===`ltr`?[0,o]:[o*-1,0],l=te(e,c);return Pt([0,o],[0,s])(l)}Y(Nt,`getThumbOffsetFromScroll`);function Pt(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}Y(Pt,`linearScale`);function Ft(e,t){return e>0&&e<t}Y(Ft,`isScrollingWithinScrollbarBounds`);var It=Y((e,t=()=>{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return Y((function i(){let a={left:e.scrollLeft,top:e.scrollTop},o=n.left!==a.left,s=n.top!==a.top;(o||s)&&t(),n=a,r=window.requestAnimationFrame(i)}),`loop`)(),()=>window.cancelAnimationFrame(r)},`addUnlinkedScrollListener`);function Lt(e,t){let n=F(e),r=q.useRef(0);return q.useEffect(()=>()=>window.clearTimeout(r.current),[]),q.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}Y(Lt,`useDebounceCallback`);function Q(e,t){let n=F(t);M(()=>{let t=0;if(e){let r=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(n)});return r.observe(e),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}},[e,n])}Y(Q,`useResizeObserver`);var Rt=lt,zt=dt,Bt=Dt,Vt=H(`notebook-text`,[[`path`,{d:`M2 6h4`,key:`aawbzj`}],[`path`,{d:`M2 10h4`,key:`l0bgd4`}],[`path`,{d:`M2 14h4`,key:`1gsvsf`}],[`path`,{d:`M2 18h4`,key:`1bu2t1`}],[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`,key:`1nb95v`}],[`path`,{d:`M9.5 8h5`,key:`11mslq`}],[`path`,{d:`M9.5 12H16`,key:`ktog6x`}],[`path`,{d:`M9.5 16H14`,key:`p1seyn`}]]),Ht=H(`sliders-horizontal`,[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]),$=h(),Ut=({chatState:e,chatId:t,messages:n})=>{if(!t)return T.warn(`No active chat`),e;let r=e.chats.get(t);if(!r)return T.warn(`No active chat`),e;let i=new Map(e.chats),a=Date.now();return i.set(r.id,{...r,messages:n,updatedAt:a}),{...e,chats:i}},Wt=class extends me{onChunkReceived;constructor(e,t){super(e),this.onChunkReceived=t}processResponseStream(e){let t=this.onChunkReceived;return super.processResponseStream(e).pipeThrough(new TransformStream({async transform(e,n){t(e),n.enqueue(e)}}))}},Gt=q.forwardRef((e,t)=>{let n=(0,$.c)(15),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:i,children:r,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o;n[4]===i?o=n[5]:(o=k(`relative overflow-hidden`,i),n[4]=i,n[5]=o);let s;n[6]===r?s=n[7]:(s=(0,J.jsx)(zt,{className:`h-full w-full rounded-[inherit]`,children:r}),n[6]=r,n[7]=s);let c,l;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,J.jsx)(Kt,{}),l=(0,J.jsx)(Bt,{}),n[8]=c,n[9]=l):(c=n[8],l=n[9]);let u;return n[10]!==a||n[11]!==t||n[12]!==o||n[13]!==s?(u=(0,J.jsxs)(Rt,{ref:t,className:o,...a,children:[s,c,l]}),n[10]=a,n[11]=t,n[12]=o,n[13]=s,n[14]=u):u=n[14],u});Gt.displayName=Rt.displayName;var Kt=q.forwardRef((e,t)=>{let n=(0,$.c)(14),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,orientation:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o=a===void 0?`vertical`:a,s=o===`vertical`&&`h-full w-2.5 border-l border-l-transparent p-px`,c=o===`horizontal`&&`h-2.5 flex-col border-t border-t-transparent p-px`,l;n[4]!==r||n[5]!==s||n[6]!==c?(l=k(`flex touch-none select-none transition-colors`,s,c,r),n[4]=r,n[5]=s,n[6]=c,n[7]=l):l=n[7];let u;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,J.jsx)(wt,{className:`relative flex-1 rounded-full bg-border`}),n[8]=u):u=n[8];let d;return n[9]!==o||n[10]!==i||n[11]!==t||n[12]!==l?(d=(0,J.jsx)(pt,{ref:t,orientation:o,className:l,...i,children:u}),n[9]=o,n[10]=i,n[11]=t,n[12]=l,n[13]=d):d=n[13],d});Kt.displayName=pt.displayName;var qt=[{label:`Today`,days:0},{label:`Yesterday`,days:1},{label:`2d ago`,days:2},{label:`3d ago`,days:3},{label:`This week`,days:7},{label:`This month`,days:30}],Jt=e=>{let t=Date.now(),n=qt.map(e=>({...e,chats:[]})),r={label:`Older`,days:1/0,chats:[]},i=e=>{switch(e){case 0:return n[0];case 1:return n[1];case 2:return n[2];case 3:return n[3];default:return e>=4&&e<=7?n[4]:e>=8&&e<=30?n[5]:r}};for(let n of e)i(Math.floor((t-n.updatedAt)/864e5)).chats.push(n);return[...n,r].filter(e=>e.chats.length>0)},Yt=e=>{let t=(0,$.c)(36),{activeChatId:n,setActiveChat:i}=e,a=r(Xe),{locale:o}=Je(),[s,c]=(0,q.useState)(``),u;t[0]===a.chats?u=t[1]:(u=[...a.chats.values()].toSorted(Xt),t[0]=a.chats,t[1]=u);let p=u,h;bb0:{if(!s.trim()){h=p;break bb0}let e;if(t[2]!==p||t[3]!==s){let n;t[5]===s?n=t[6]:(n=e=>e.title.toLowerCase().includes(s.toLowerCase()),t[5]=s,t[6]=n),e=p.filter(n),t[2]=p,t[3]=s,t[4]=e}else e=t[4];h=e}let g=h,_;t[7]===g?_=t[8]:(_=Jt(g),t[7]=g,t[8]=_);let v=_,y;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,J.jsx)(B,{content:`Previous chats`,children:(0,J.jsx)(f,{asChild:!0,children:(0,J.jsx)(V,{variant:`text`,size:`icon`,children:(0,J.jsx)(l,{className:`h-4 w-4`})})})}),t[9]=y):y=t[9];let b;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(b=e=>c(e.target.value),t[10]=b):b=t[10];let x;t[11]===s?x=t[12]:(x=(0,J.jsx)(`div`,{className:`pt-3 px-3 w-full`,children:(0,J.jsx)(Ue,{placeholder:`Search chat history...`,value:s,onChange:b,className:`text-xs`})}),t[11]=s,t[12]=x);let S;t[13]===p.length?S=t[14]:(S=p.length===0&&(0,J.jsx)(tt,{title:`No chats yet`,description:`Start a new chat to get started`,icon:(0,J.jsx)(le,{})}),t[13]=p.length,t[14]=S);let C;t[15]!==p.length||t[16]!==g.length||t[17]!==s?(C=g.length===0&&s&&p.length>0&&(0,J.jsx)(tt,{title:`No chats found`,description:`No chats match "${s}"`,icon:(0,J.jsx)(He,{})}),t[15]=p.length,t[16]=g.length,t[17]=s,t[18]=C):C=t[18];let w;if(t[19]!==n||t[20]!==v||t[21]!==o||t[22]!==i){let e;t[24]!==n||t[25]!==v.length||t[26]!==o||t[27]!==i?(e=(e,t)=>(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsx)(`div`,{className:`text-xs px-1 text-muted-foreground/60`,children:e.label}),(0,J.jsx)(`div`,{children:e.chats.map(e=>(0,J.jsxs)(`button`,{className:k(`w-full p-1 rounded-md cursor-pointer text-left flex items-center justify-between`,e.id===n&&`bg-accent`,e.id!==n&&`hover:bg-muted/20`),onClick:()=>{i(e.id)},type:`button`,children:[(0,J.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,J.jsx)(`div`,{className:`text-sm truncate`,children:e.title})}),(0,J.jsx)(`div`,{className:`text-xs text-muted-foreground/60 ml-2 shrink-0`,children:Ye(e.updatedAt,o)})]},e.id))}),t!==v.length-1&&(0,J.jsx)(`hr`,{})]},e.label),t[24]=n,t[25]=v.length,t[26]=o,t[27]=i,t[28]=e):e=t[28],w=v.map(e),t[19]=n,t[20]=v,t[21]=o,t[22]=i,t[23]=w}else w=t[23];let T;t[29]!==S||t[30]!==C||t[31]!==w?(T=(0,J.jsx)(Gt,{className:`h-[450px] p-2`,children:(0,J.jsxs)(`div`,{className:`space-y-3`,children:[S,C,w]})}),t[29]=S,t[30]=C,t[31]=w,t[32]=T):T=t[32];let E;return t[33]!==T||t[34]!==x?(E=(0,J.jsxs)(d,{children:[y,(0,J.jsxs)(m,{className:`w-[480px] p-0`,align:`start`,side:`right`,children:[x,T]})]}),t[33]=T,t[34]=x,t[35]=E):E=t[35],E};function Xt(e,t){return t.updatedAt-e.updatedAt}var Zt=()=>{let e=(0,$.c)(17),[n,r]=t(Qe),i=n.webSearch,a=i?`Capabilities (web search enabled)`:`Capabilities`,o=i||void 0,s=i&&`bg-primary/15 text-primary ring-1 ring-primary/30 opacity-100 hover:bg-primary/20`,c;e[0]===s?c=e[1]:(c=k(`h-6 w-6 shrink-0 bg-muted hover:bg-muted/30`,s),e[0]=s,e[1]=c);let l;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,J.jsx)(Ht,{className:`h-3.5 w-3.5`}),e[2]=l):l=e[2];let u;e[3]!==a||e[4]!==o||e[5]!==c?(u=(0,J.jsx)(f,{asChild:!0,children:(0,J.jsx)(V,{"aria-label":`Capabilities`,title:a,"data-active":o,variant:`text`,size:`icon`,className:c,children:l})}),e[3]=a,e[4]=o,e[5]=c,e[6]=u):u=e[6];let p;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,J.jsx)(`span`,{className:`text-sm font-semibold`,children:`Web search`}),e[7]=p):p=e[7];let h;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,J.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[p,(0,J.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`Search the web when the model supports it.`,` `,(0,J.jsx)(ze,{href:`https://docs.marimo.io/guides/editor_features/tools#web-search-and-fetch`,children:`Learn more`})]})]}),e[8]=h):h=e[8];let g;e[9]===r?g=e[10]:(g=e=>r(t=>({...t,webSearch:e})),e[9]=r,e[10]=g);let _;e[11]!==g||e[12]!==i?(_=(0,J.jsx)(m,{className:`w-76 p-3`,align:`start`,side:`top`,children:(0,J.jsxs)(`label`,{htmlFor:`web-search-toggle`,className:`flex items-start justify-between gap-3 cursor-pointer`,children:[h,(0,J.jsx)(oe,{id:`web-search-toggle`,"aria-label":`Web search`,size:`sm`,checked:i,onCheckedChange:g})]})}),e[11]=g,e[12]=i,e[13]=_):_=e[13];let v;return e[14]!==u||e[15]!==_?(v=(0,J.jsxs)(d,{children:[u,_]}),e[14]=u,e[15]=_,e[16]=v):v=e[16],v};function Qt(){return qe()}function $t(e){let t=(0,$.c)(4),[n,r]=(0,q.useState)(Qt),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=()=>r(Qt()),t[0]=a):a=t[0];let o=i(a),s=e??n,c;return t[1]!==o||t[2]!==s?(c={chatControllerId:s,renewDraftChatId:o},t[1]=o,t[2]=s,t[3]=c):c=t[3],c}var en=`manual`,tn=(0,q.memo)(e=>{let t=(0,$.c)(18),{message:n}=e,r;t[0]===n.parts?r=t[1]:(r=n.parts.filter(un).map(dn).join(`
|
|
2
|
-
`),t[0]=n.parts,t[1]=r);let i=r,a,o,s;if(t[2]!==n.parts){let e=n.parts.filter(fn);s=`flex justify-end`,a=`w-[95%] bg-background border border-dashed p-2 rounded-sm opacity-70`,o=e.map(pn),t[2]=n.parts,t[3]=a,t[4]=o,t[5]=s}else a=t[3],o=t[4],s=t[5];let c;t[6]===i?c=t[7]:(c=(0,J.jsx)(`span`,{className:`wrap-break-word`,children:i}),t[6]=i,t[7]=c);let l;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,J.jsx)(Be,{className:`h-3.5 w-3.5 shrink-0 animate-spin`}),t[8]=l):l=t[8];let u;t[9]===c?u=t[10]:(u=(0,J.jsxs)(`div`,{className:`flex items-center justify-end gap-2 text-sm text-muted-foreground`,children:[c,l]}),t[9]=c,t[10]=u);let d;t[11]!==a||t[12]!==o||t[13]!==u?(d=(0,J.jsxs)(`div`,{className:a,children:[o,u]}),t[11]=a,t[12]=o,t[13]=u,t[14]=d):d=t[14];let f;return t[15]!==s||t[16]!==d?(f=(0,J.jsx)(`div`,{className:s,children:d}),t[15]=s,t[16]=d,t[17]=f):f=t[17],f});tn.displayName=`QueuedMessageDisplay`;var nn=e=>{let t=(0,$.c)(19),{onNewChat:n,activeChatId:r,setActiveChat:i}=e,{handleClick:a}=C(),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,J.jsx)(K,{className:`h-4 w-4`}),t[0]=o):o=t[0];let s;t[1]===n?s=t[2]:(s=(0,J.jsx)(B,{content:`New chat`,children:(0,J.jsx)(V,{variant:`text`,size:`icon`,onClick:n,children:o})}),t[1]=n,t[2]=s);let c,l;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,J.jsx)(B,{content:`Connect your agent`,children:(0,J.jsx)(x,{className:`mr-1`,label:`Connect`})}),l=(0,J.jsx)(y,{}),t[3]=c,t[4]=l):(c=t[3],l=t[4]);let u;t[5]===a?u=t[6]:(u=()=>a(`ai`),t[5]=a,t[6]=u);let d;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,J.jsx)(We,{className:`h-4 w-4`}),t[7]=d):d=t[7];let f;t[8]===u?f=t[9]:(f=(0,J.jsx)(B,{content:`AI Settings`,children:(0,J.jsx)(V,{variant:`text`,size:`xs`,className:`hover:bg-foreground/10 py-2`,onClick:u,children:d})}),t[8]=u,t[9]=f);let p;t[10]!==r||t[11]!==i?(p=(0,J.jsx)(Yt,{activeChatId:r,setActiveChat:i}),t[10]=r,t[11]=i,t[12]=p):p=t[12];let m;t[13]!==f||t[14]!==p?(m=(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[c,l,f,p]}),t[13]=f,t[14]=p,t[15]=m):m=t[15];let h;return t[16]!==s||t[17]!==m?(h=(0,J.jsxs)(`div`,{className:`flex border-b px-2 py-1 justify-between shrink-0 items-center`,children:[s,m]}),t[16]=s,t[17]=m,t[18]=h):h=t[18],h},rn=(0,q.memo)(e=>{let t=(0,$.c)(17),{message:n,index:r,onEdit:i,isStreamingReasoning:a,isLast:o,isActive:s,addToolApprovalResponse:c}=e,l;t[0]!==r||t[1]!==i?(l=e=>{let t=(e.parts?.filter(mn))?.map(hn).join(`
|
|
3
|
-
`),n=e.parts?.filter(gn);return(0,J.jsxs)(`div`,{className:`w-[95%] bg-background border p-1 rounded-sm`,children:[n?.map(_n),(0,J.jsx)(Ae,{value:t,placeholder:`Type your message...`,onChange:vn,onSubmit:(e,t)=>{t.trim()&&i(r,t)},onClose:yn},e.id)]})},t[0]=r,t[1]=i,t[2]=l):l=t[2];let u=l,d;t[3]!==c||t[4]!==s||t[5]!==o||t[6]!==a?(d=e=>{let t=e.parts.filter(bn).map(xn).join(`
|
|
4
|
-
`);return(0,J.jsxs)(`div`,{className:`w-[95%] wrap-break-word`,children:[(0,J.jsx)(`div`,{className:`absolute right-1 top-1 opacity-0 group-hover:opacity-100 transition-opacity`,children:(0,J.jsx)(Ge,{className:`h-3 w-3`,value:t||``})}),pe({message:e,isStreamingReasoning:a,isLast:o,isActive:s,addToolApprovalResponse:c})]})},t[3]=c,t[4]=s,t[5]=o,t[6]=a,t[7]=d):d=t[7];let f=d,p=n.role===`user`?`justify-end`:`justify-start`,m;t[8]===p?m=t[9]:(m=k(`flex group relative`,p),t[8]=p,t[9]=m);let h;t[10]!==n||t[11]!==f||t[12]!==u?(h=n.role===`user`?u(n):f(n),t[10]=n,t[11]=f,t[12]=u,t[13]=h):h=t[13];let g;return t[14]!==m||t[15]!==h?(g=(0,J.jsx)(`div`,{className:m,children:h}),t[14]=m,t[15]=h,t[16]=g):g=t[16],g});rn.displayName=`ChatMessage`;var an=(0,q.memo)(e=>{let t=(0,$.c)(43),{isEmpty:n,onSendClick:i,isLoading:a,onStop:o,fileInputRef:s,onAddFiles:c,onAddContext:l}=e,u=r(_),d=u?.mode||en,f=u?.models?.chat_model||`openai/gpt-4o`,p=v.parse(f).providerId,{saveModeChange:m}=ee(),h;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=[{value:`manual`,label:`Manual`,subtitle:`Pure chat, no tool usage`,Icon:Ve},{value:`ask`,label:`Ask`,subtitle:`AI with access to read-only tools like documentation search`,Icon:Vt},{value:`agent`,label:`Agent`,subtitle:`AI with access to read and write tools`,Icon:Le},{value:`code_mode`,label:`Code Mode (beta)`,subtitle:`AI with access to the notebook's kernel. Potentially destructive.`,Icon:Ie}],t[0]=h):h=t[0];let g=h,y=ke.has(p),b;t[1]!==d||t[2]!==g?(b=g.find(e=>e.value===d),t[1]=d,t[2]=g,t[3]=b):b=t[3];let x=b,S=x?.Icon,C=x?.label,T;t[4]===S?T=t[5]:(T=S&&(0,J.jsx)(S,{className:`h-3 w-3`}),t[4]=S,t[5]=T);let E;t[6]===C?E=t[7]:(E=(0,J.jsx)(`span`,{className:`text-nowrap`,children:C}),t[6]=C,t[7]=E);let D;t[8]!==T||t[9]!==E?(D=(0,J.jsxs)(ie,{className:`h-6 text-xs border-border shadow-none! ring-0! bg-muted hover:bg-muted/30 py-0 px-2 gap-1.5 shrink-0`,children:[T,E]}),t[8]=T,t[9]=E,t[10]=D):D=t[10];let O;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,J.jsx)(R,{className:`text-xs uppercase tracking-wider text-muted-foreground/70 font-medium`,children:`AI Mode`}),t[11]=O):O=t[11];let k;t[12]===g?k=t[13]:(k=(0,J.jsx)(ne,{children:(0,J.jsxs)(re,{children:[O,g.map(Sn)]})}),t[12]=g,t[13]=k);let A;t[14]!==d||t[15]!==m||t[16]!==D||t[17]!==k?(A=(0,J.jsxs)(ae,{value:d,onValueChange:m,children:[D,k]}),t[14]=d,t[15]=m,t[16]=D,t[17]=k,t[18]=A):A=t[18];let j,M;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,J.jsx)(w,{placeholder:`Model`,triggerClassName:`h-6 text-xs shadow-none! ring-0! bg-muted hover:bg-muted/30 rounded-sm max-w-[200px]`,iconSize:`small`,showAddCustomModelDocs:!0,forRole:`chat`}),j=(0,J.jsx)(Zt,{}),t[19]=j,t[20]=M):(j=t[19],M=t[20]);let N;t[21]===A?N=t[22]:(N=(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1`,children:[A,M,j]}),t[21]=A,t[22]=N);let P;t[23]!==a||t[24]!==l?(P=(0,J.jsx)(U,{handleAddContext:l,isLoading:a}),t[23]=a,t[24]=l,t[25]=P):P=t[25];let F;t[26]!==s||t[27]!==y||t[28]!==a||t[29]!==c?(F=y&&(0,J.jsx)(W,{fileInputRef:s,isLoading:a,onAddFiles:c}),t[26]=s,t[27]=y,t[28]=a,t[29]=c,t[30]=F):F=t[30];let I;t[31]!==n||t[32]!==a||t[33]!==i||t[34]!==o?(I=(0,J.jsx)(Te,{isLoading:a,onStop:o,onSendClick:i,isEmpty:n}),t[31]=n,t[32]=a,t[33]=i,t[34]=o,t[35]=I):I=t[35];let L;t[36]!==P||t[37]!==F||t[38]!==I?(L=(0,J.jsxs)(`div`,{className:`flex flex-row ml-auto`,children:[P,F,I]}),t[36]=P,t[37]=F,t[38]=I,t[39]=L):L=t[39];let z;return t[40]!==N||t[41]!==L?(z=(0,J.jsx)(se,{children:(0,J.jsxs)(`div`,{className:`px-3 py-2 border-t border-border/20 flex flex-wrap items-center gap-1`,children:[N,L]})}),t[40]=N,t[41]=L,t[42]=z):z=t[42],z});an.displayName=`ChatInputFooter`;var on=(0,q.memo)(e=>{let t=(0,$.c)(31),{placeholder:n,input:r,inputClassName:a,setInput:o,onSubmit:s,inputRef:c,isLoading:l,onStop:u,fileInputRef:d,onAddFiles:f,onClose:p}=e,m;t[0]!==r||t[1]!==s?(m=()=>{r.trim()&&s(void 0,r)},t[0]=r,t[1]=s,t[2]=m):m=t[2];let h=i(m),g;t[3]===a?g=t[4]:(g=k(`px-2 py-1.5`,a),t[3]=a,t[4]=g);let _=n||`Type your message...`,v;t[5]!==r||t[6]!==c||t[7]!==f||t[8]!==p||t[9]!==s||t[10]!==o||t[11]!==_?(v=(0,J.jsx)(Ae,{className:`max-h-[400px]`,inputRef:c,value:r,onChange:o,onSubmit:s,onClose:p,onAddFiles:f,placeholder:_}),t[5]=r,t[6]=c,t[7]=f,t[8]=p,t[9]=s,t[10]=o,t[11]=_,t[12]=v):v=t[12];let y;t[13]!==g||t[14]!==v?(y=(0,J.jsx)(`div`,{className:g,children:v}),t[13]=g,t[14]=v,t[15]=y):y=t[15];let b;t[16]===r?b=t[17]:(b=r.trim(),t[16]=r,t[17]=b);let x=!b,S;t[18]===c?S=t[19]:(S=()=>Me(c),t[18]=c,t[19]=S);let C;t[20]!==d||t[21]!==h||t[22]!==l||t[23]!==f||t[24]!==u||t[25]!==x||t[26]!==S?(C=(0,J.jsx)(an,{isEmpty:x,onAddContext:S,onSendClick:h,isLoading:l,onStop:u,fileInputRef:d,onAddFiles:f}),t[20]=d,t[21]=h,t[22]=l,t[23]=f,t[24]=u,t[25]=x,t[26]=S,t[27]=C):C=t[27];let w;return t[28]!==y||t[29]!==C?(w=(0,J.jsxs)(`div`,{className:`relative shrink-0 flex flex-col border-t`,children:[y,C]}),t[28]=y,t[29]=C,t[30]=w):w=t[30],w});on.displayName=`ChatInput`;var sn=e=>{let t=(0,$.c)(5),{onPairWithAgent:n}=e;if(D())return null;let r,i,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,J.jsx)(p,{className:`h-3.5 w-3.5 shrink-0`}),i=(0,J.jsx)(`span`,{children:`Connect your own agent to this notebook`}),a=(0,J.jsx)(ce,{className:`h-3 w-3 shrink-0`}),t[0]=r,t[1]=i,t[2]=a):(r=t[0],i=t[1],a=t[2]);let o;return t[3]===n?o=t[4]:(o=(0,J.jsxs)(V,{variant:`text`,className:`gap-1.5 text-sm text-link hover:underline`,onClick:n,children:[r,i,a]}),t[3]=n,t[4]=o),o},cn=()=>{let e=(0,$.c)(9),t=r(g),{handleClick:n}=C();if(!t){let t;e[0]===n?t=e[1]:(t=(0,J.jsx)(V,{variant:`outline`,size:`sm`,className:`self-start`,onClick:()=>n(`ai`,`ai-providers`),children:`Edit AI settings`}),e[0]=n,e[1]=t);let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,J.jsx)(S,{}),e[2]=r):r=e[2];let i;e[3]===t?i=e[4]:(i=(0,J.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[t,r]}),e[3]=t,e[4]=i);let a;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,J.jsx)(le,{}),e[5]=a):a=e[5];let o;return e[6]===i?o=e[7]:(o=(0,J.jsx)(tt,{title:`Chat with AI`,description:`No AI provider configured or Chat model not selected`,action:i,icon:a}),e[6]=i,e[7]=o),o}let i;return e[8]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,J.jsx)(ln,{}),e[8]=i):i=e[8],i},ln=()=>{let e=a(Xe),[r,o]=t($e),[l,d]=t(Ze),[f,p]=(0,q.useState)(``),[m,h]=(0,q.useState)(``),[g,v]=(0,q.useState)(!0),{files:y,addFiles:x,clearFiles:S,removeFile:C}=be(),{messages:w,enqueue:E,flushNext:D,clear:A,hasQueuedRef:j}=he(),M=(0,q.useRef)(null),N=(0,q.useRef)(null),P=(0,q.useRef)(null),F=(0,q.useRef)(null),I=(0,q.useRef)(null),[L,ee]=(0,q.useState)(null),R=i(()=>{I.current=null,ee(null)}),z=O(),{invokeAiTool:te,sendRun:ne}=Ke(),{openModal:re,closeModal:ie}=Re(),ae=r?.id,{chatControllerId:oe,renewDraftChatId:B}=$t(ae),H=n(),{addStagedCell:ce}=ve(),{createNewCell:le,prepareForRun:pe}=s(),me={addStagedCell:ce,createNewCell:le,prepareForRun:pe,sendRun:ne,store:H},{messages:U,sendMessage:Te,error:W,status:ke,regenerate:Ae,stop:G,addToolOutput:Me,addToolApprovalResponse:Ie,id:Le}=Fe({id:oe,throttle:100,sendAutomaticallyWhen:({messages:e})=>je(e),messages:r?.messages||[],transport:new Wt({api:z.getAiURL(`chat`).toString(),headers:()=>z.headers(),prepareSendMessagesRequest:async e=>{let t=await xe({messages:e.messages});t.success||T.debug(`Outgoing chat messages failed AI SDK schema validation`,t.error);let n={uiMessages:e.messages,includeOtherCode:c(``),options:H.get(Qe)},r=H.get(_)?.mode||en,i=Oe.getToolSchemas(r);return{api:z.getAiURL(`chat`).toString(),body:{tools:i,...e,...n}}}},e=>{let t=fe(e);t!==void 0&&(I.current=t)}),onFinish:({messages:t,isError:n,isAbort:r,finishReason:i})=>{if(e(e=>Ut({chatState:e,chatId:e.activeChatId,messages:t})),r){let e=ue({isAbort:!0,streamReason:I.current});if(R(),e!=null){let t=de(e);T.debug(`Chat stream aborted`,{reason:e,finishReason:i}),ee(t)}}else R();Ve(t,{isError:n,isAbort:r})},onToolCall:async({toolCall:e})=>{await Se({invokeAiTool:te,addToolOutput:Me,toolCall:{toolName:e.toolName,toolCallId:e.toolCallId,input:e.input},toolContext:me})},onError:e=>{T.error(`An error occurred:`,e)}}),ze=i(e=>{R(),Te({role:`user`,parts:e})}),Ve=i((e,t)=>{j.current&&Ne({isError:t.isError,isAbort:t.isAbort,hasPendingToolCalls:je(e),hasUnresolvedToolCalls:Pe(e)})&&D(ze)}),K=ke===`submitted`||ke===`streaming`,He=(0,q.useRef)(K);He.current=K;let Ue=i(e=>{He.current||j.current?E(e):ze(e)}),We=i(()=>{let e=P.current;if(!e)return;let{scrollTop:t,scrollHeight:n,clientHeight:r}=e,i=n>r?Math.abs(n-r-t)<5:!0;v(i)}),Ge=i((e=!1)=>{let t=P.current;t&&t.scrollTo({top:t.scrollHeight,behavior:e?`smooth`:`auto`})}),qe=K&&U.length>0&&Ce(U);(0,q.useEffect)(()=>{v(!0),A(),R()},[ae,A,R]),(0,q.useEffect)(()=>{if(!g)return;let e=requestAnimationFrame(()=>{Ge()});return()=>cancelAnimationFrame(e)},[U,w,K,g,Ge]),(0,q.useEffect)(()=>{K||Ve(U,{isError:W!=null,isAbort:!1})},[U,K,W,Ve]);let Je=i(t=>{let n=Date.now(),r={id:Le,title:Ee(t),messages:[],createdAt:n,updatedAt:n};e(e=>{let t=new Map(e.chats);return t.set(r.id,r),{...e,chats:t,activeChatId:r.id}})}),Ye=i(async(e,t)=>{Je(e);let n=t&&t.length>0?await De(t):void 0,{contextPart:r,attachments:i}=await ge(e);Te({role:`user`,parts:[{type:`text`,text:e},...r?[r]:[],...n??[],...i]}),S(),p(``)}),tt=i(()=>{B(),o(null),p(``),h(``),A(),S()}),rt=i(()=>{re((0,J.jsx)(b,{onClose:ie}))}),Y=i(async(e,t)=>{let n=U[e],r=n.parts?.filter(e=>e.type===`file`&&!_e(e))??[],{contextPart:i,attachments:a}=await ge(t),o=n.id;Te({messageId:o,role:`user`,parts:[{type:`text`,text:t},...i?[i]:[],...r,...a]})}),it=i(async(e,t)=>{if(!t.trim())return;N.current?.view&&ye(N.current.view);let n=y?await De(y):void 0,{contextPart:r,attachments:i}=await ge(t);e?.preventDefault(),Ue([{type:`text`,text:t},...r?[r]:[],...n??[],...i]),p(``),S()}),at=()=>{R(),Ae()},ot=i(()=>{m.trim()&&(M.current?.view&&ye(M.current.view),Ye(m.trim(),y))}),st=()=>M.current?.editor?.blur(),ct=i(async e=>{ae??(Je(e),p(m));let{contextPart:t,attachments:n}=await ge(e);Ue([{type:`text`,text:e},...t?[t]:[],...n])}),X=U.length===0;(0,q.useEffect)(()=>{if(!l)return;d(null);let{prompt:e,submit:t}=l;t?ct(e):X?(h(e),u(M)):(p(e),u(N))},[l,d,X,ct]);let lt=X?(0,J.jsx)(on,{placeholder:`Ask anything, @ to include context about tables or dataframes`,input:m,inputRef:M,inputClassName:`px-1 py-0`,setInput:h,onSubmit:ot,isLoading:K,onStop:G,fileInputRef:F,onAddFiles:x,onClose:st},`new-thread-input`):(0,J.jsx)(on,{input:f,setInput:p,onSubmit:it,inputRef:N,isLoading:K,onStop:G,onClose:()=>N.current?.editor?.blur(),fileInputRef:F,onAddFiles:x}),ut=y&&y.length>0&&(0,J.jsx)(`div`,{className:k(`flex flex-row gap-1 flex-wrap p-1`,X&&`py-2 px-1`),children:y?.map(e=>(0,J.jsx)(we,{file:e,onRemove:()=>C(e)},e.name))});return(0,J.jsxs)(`div`,{className:`flex flex-col h-[calc(100%-53px)]`,children:[(0,J.jsx)(se,{children:(0,J.jsx)(nn,{onNewChat:tt,activeChatId:r?.id,setActiveChat:o})}),(0,J.jsxs)(`div`,{className:`flex-1 flex flex-col overflow-hidden relative min-h-0`,children:[(0,J.jsxs)(`div`,{className:`flex-1 px-3 bg-(--slate-1) gap-4 py-3 flex flex-col overflow-y-auto`,ref:P,onScroll:We,children:[X&&(0,J.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,J.jsxs)(`div`,{className:`rounded-md border bg-background`,children:[ut,lt]}),(0,J.jsx)(sn,{onPairWithAgent:rt})]}),U.map((e,t)=>(0,J.jsx)(rn,{message:e,index:t,onEdit:Y,isStreamingReasoning:qe,isLast:t===U.length-1,isActive:K,addToolApprovalResponse:Ie},e.id)),w.map(e=>(0,J.jsx)(tn,{message:e},e.id)),K&&(0,J.jsx)(`div`,{className:`flex justify-center py-4`,children:(0,J.jsx)(Be,{className:`h-4 w-4 animate-spin`})}),W&&(0,J.jsxs)(`div`,{className:`flex items-center justify-center space-x-2 mb-4`,children:[(0,J.jsx)(et,{error:W||Error(`Unknown error`)}),(0,J.jsx)(V,{variant:`outline`,size:`sm`,onClick:at,children:`Retry`})]}),L&&!K&&!W&&(0,J.jsx)(`div`,{className:`flex justify-center py-2`,children:(0,J.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:L})})]}),(0,J.jsx)(nt,{isVisible:!g&&(U.length>0||w.length>0),onScrollToBottom:()=>Ge(!0)})]}),K&&(0,J.jsx)(`div`,{className:`w-full flex justify-center items-center z-20 border-t`,children:(0,J.jsx)(V,{variant:`linkDestructive`,size:`sm`,onClick:G,children:`Stop`})}),!X&&(0,J.jsxs)(J.Fragment,{children:[ut,lt]})]})};function un(e){return e.type===`text`}function dn(e){return e.text}function fn(e){return e.type===`file`}function pn(e,t){return(0,J.jsx)(G,{attachment:e},t)}function mn(e){return e.type===`text`}function hn(e){return e.text}function gn(e){return e.type===`file`}function _n(e,t){return(0,J.jsx)(G,{attachment:e},t)}function vn(){}function yn(){}function bn(e){return e.type===`text`}function xn(e){return e.text}function Sn(e){return(0,J.jsx)(z,{value:e.value,className:`text-xs py-1`,children:(0,J.jsxs)(`div`,{className:`flex items-start gap-2.5`,children:[(0,J.jsx)(`span`,{className:`mt-1 text-muted-foreground`,children:(0,J.jsx)(e.Icon,{className:`h-3 w-3`})}),(0,J.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,J.jsx)(`span`,{className:`font-semibold`,children:e.label}),(0,J.jsx)(`span`,{className:`text-muted-foreground`,children:e.subtitle})]})]})},e.value)}export{cn as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{l as t}from"./useEvent-Dc9HkKI2.js";import{t as n}from"./react-CUdNIagt.js";import{D as r,Gi as i,Rt as a,Xi as o,Yi as s,zt as c}from"./cells-CuKxjgjJ.js";import{t as l}from"./compiler-runtime-BQ9S8nyo.js";import{s as u}from"./config-Cyum2gRs.js";import{t as d}from"./jsx-runtime-B74pBk57.js";import{l as f,p,yt as m}from"./JsonOutput-c1E0SCoN.js";import{t as h}from"./tooltip-B5pI8o2n.js";import{r as g,t as _}from"./button-M49xxKoi.js";import{t as v}from"./createLucideIcon-rHn2EdoM.js";import{t as y}from"./useLifecycle-DKSBdWUf.js";import{t as b}from"./spinner-CGdRKCnw.js";import{t as x}from"./copy-icon-wfSGfX8v.js";import{r as S}from"./requests-yTHMxhVa.js";import{r as C}from"./useTheme-BkPLyRl9.js";import{t as w}from"./context-BFOBKCJB.js";import{i as T}from"./numbers-BEfBaQtu.js";var E=v(`square-plus`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}],[`path`,{d:`M12 8v8`,key:`napkw2`}]]),D=l(),O=e(n(),1),k=d(),A=e=>{let t=(0,D.c)(53),{table:n,column:r,preview:i,onAddColumnChart:a,sqlTableContext:c}=e,{theme:l}=C(),{previewDatasetColumn:u}=S(),{locale:d}=w(),f;t[0]!==r.name||t[1]!==u||t[2]!==c||t[3]!==n.name||t[4]!==n.source||t[5]!==n.source_type?(f=()=>{u({source:n.source,tableName:n.name,columnName:r.name,sourceType:n.source_type,fullyQualifiedTableName:o(c,n.name)})},t[0]=r.name,t[1]=u,t[2]=c,t[3]=n.name,t[4]=n.source,t[5]=n.source_type,t[6]=f):f=t[6];let m=f,v;if(t[7]!==i||t[8]!==m||t[9]!==n.source_type?(v=()=>{i||n.source_type!==`connection`&&n.source_type!==`catalog`&&m()},t[7]=i,t[8]=m,t[9]=n.source_type,t[10]=v):v=t[10],y(v),n.source_type===`connection`){let e=r.name,i=r.external_type,o;t[11]!==r.name||t[12]!==a||t[13]!==c||t[14]!==n?(o=g.stopPropagation(()=>{a(s({table:n,columnName:r.name,sqlTableContext:c}))}),t[11]=r.name,t[12]=a,t[13]=c,t[14]=n,t[15]=o):o=t[15];let l;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,k.jsx)(E,{className:`h-3 w-3 mr-1`}),t[16]=l):l=t[16];let u;t[17]===o?u=t[18]:(u=(0,k.jsxs)(_,{variant:`outline`,size:`xs`,onClick:o,children:[l,` Add SQL cell`]}),t[17]=o,t[18]=u);let d;return t[19]!==r.external_type||t[20]!==r.name||t[21]!==u?(d=(0,k.jsxs)(`span`,{className:`text-xs text-muted-foreground gap-2 flex items-center justify-between pl-7`,children:[e,` (`,i,`)`,u]}),t[19]=r.external_type,t[20]=r.name,t[21]=u,t[22]=d):d=t[22],d}if(n.source_type===`catalog`){let e;return t[23]!==r.external_type||t[24]!==r.name?(e=(0,k.jsxs)(`span`,{className:`text-xs text-muted-foreground gap-2 flex items-center justify-between pl-7`,children:[r.name,` (`,r.external_type,`)`]}),t[23]=r.external_type,t[24]=r.name,t[25]=e):e=t[25],e}if(!i){let e;return t[26]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,k.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Loading...`}),t[26]=e):e=t[26],e}let b;t[27]!==i.error||t[28]!==i.missing_packages||t[29]!==m?(b=i.error&&j({error:i.error,missingPackages:i.missing_packages,refetchPreview:m}),t[27]=i.error,t[28]=i.missing_packages,t[29]=m,t[30]=b):b=t[30];let x=b,T;t[31]!==r.type||t[32]!==d||t[33]!==i.stats?(T=i.stats&&M({stats:i.stats,dataType:r.type,locale:d}),t[31]=r.type,t[32]=d,t[33]=i.stats,t[34]=T):T=t[34];let O=T,A;t[35]!==i.chart_spec||t[36]!==l?(A=i.chart_spec&&P(i.chart_spec,l),t[35]=i.chart_spec,t[36]=l,t[37]=A):A=t[37];let N=A,I;t[38]!==i.chart_code||t[39]!==n.source_type?(I=i.chart_code&&n.source_type===`local`&&(0,k.jsx)(F,{chartCode:i.chart_code}),t[38]=i.chart_code,t[39]=n.source_type,t[40]=I):I=t[40];let L=I,R;t[41]!==r.name||t[42]!==a||t[43]!==c||t[44]!==n?(R=n.source_type===`duckdb`&&(0,k.jsx)(h,{content:`Add SQL cell`,delayDuration:400,children:(0,k.jsx)(_,{variant:`outline`,size:`icon`,className:`z-10 bg-background absolute right-1 -top-1`,onClick:g.stopPropagation(()=>{a(s({table:n,columnName:r.name,sqlTableContext:c}))}),children:(0,k.jsx)(E,{className:`h-3 w-3`})})}),t[41]=r.name,t[42]=a,t[43]=c,t[44]=n,t[45]=R):R=t[45];let z=R;if(!x&&!O&&!N){let e;return t[46]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,k.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`No data`}),t[46]=e):e=t[46],e}let B;return t[47]!==L||t[48]!==z||t[49]!==N||t[50]!==x||t[51]!==O?(B=(0,k.jsxs)(p,{children:[x,L,z,N,O]}),t[47]=L,t[48]=z,t[49]=N,t[50]=x,t[51]=O,t[52]=B):B=t[52],B};function j({error:e,missingPackages:t,refetchPreview:n}){return(0,k.jsxs)(`div`,{className:`text-xs text-muted-foreground p-2 border border-border rounded flex items-center justify-between`,children:[(0,k.jsx)(`span`,{children:e}),t&&(0,k.jsx)(f,{packages:t,showMaxPackages:1,className:`w-32`,onInstall:n})]})}function M({stats:e,dataType:t,locale:n}){return(0,k.jsx)(`div`,{className:`gap-x-16 gap-y-1 grid grid-cols-2-fit border rounded p-2 empty:hidden`,children:Object.entries(e).map(([e,r])=>r==null?null:(0,k.jsxs)(`div`,{className:`flex items-center gap-1 group`,children:[(0,k.jsx)(`span`,{className:`text-xs min-w-[60px] capitalize`,children:i(e,t)}),(0,k.jsx)(`span`,{className:`text-xs font-bold text-muted-foreground tracking-wide`,children:T(r,n)}),(0,k.jsx)(x,{className:`h-3 w-3 invisible group-hover:visible`,value:String(r)})]},e))})}var N=(0,k.jsx)(`div`,{className:`flex justify-center`,children:(0,k.jsx)(b,{className:`size-4`})});function P(e,t){return(0,k.jsx)(O.Suspense,{fallback:N,children:(0,k.jsx)(m,{"data-container-width":`container`,spec:(e=>({...e,background:`transparent`,config:{...e.config,background:`transparent`}}))(JSON.parse(e)),options:{theme:t===`dark`?`dark`:`vox`,height:100,width:`container`,actions:!1,renderer:`canvas`}})})}var F=e=>{let n=(0,D.c)(10),{chartCode:i}=e,o=t(u),s=a(),{createNewCell:l}=r(),d;n[0]!==o||n[1]!==l||n[2]!==s?(d=e=>{e.includes(`alt`)&&c({autoInstantiate:o,createNewCell:l,fromCellId:s}),l({code:e,before:!1,cellId:s??`__end__`})},n[0]=o,n[1]=l,n[2]=s,n[3]=d):d=n[3];let f=d,p;n[4]!==i||n[5]!==f?(p=g.stopPropagation(()=>f(i)),n[4]=i,n[5]=f,n[6]=p):p=n[6];let m;n[7]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,k.jsx)(E,{className:`h-3 w-3`}),n[7]=m):m=n[7];let v;return n[8]===p?v=n[9]:(v=(0,k.jsx)(h,{content:`Add chart to notebook`,delayDuration:400,children:(0,k.jsx)(_,{variant:`outline`,size:`icon`,className:`z-10 bg-background absolute right-1 -top-0.5`,onClick:p,children:m})}),n[8]=p,n[9]=v),v};export{M as a,j as i,A as n,E as o,P as r,F as t};
|