@marimo-team/frontend 0.25.3-dev96 → 0.25.3-dev97

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.
Files changed (90) hide show
  1. package/dist/assets/{CellStatus-Dc8AR1al.js → CellStatus-fK4n2NPc.js} +1 -1
  2. package/dist/assets/{ErrorBoundary-DBQW23V4.js → ErrorBoundary-CAEGdoFW.js} +2 -2
  3. package/dist/assets/{JsonOutput-nLzWQ-0V.js → JsonOutput-CyAKmZDD.js} +1 -1
  4. package/dist/assets/{MarimoErrorOutput-DAFgeK_G.js → MarimoErrorOutput-CgZvP0p0.js} +1 -1
  5. package/dist/assets/{RenderHTML-DwolbpuI.js → RenderHTML-DQvxDDNS.js} +1 -1
  6. package/dist/assets/{RunButton-BN3_mnoU.js → RunButton-BBDnDL6G.js} +1 -1
  7. package/dist/assets/{add-cell-with-ai-CRbG5cTT.js → add-cell-with-ai-Clg5FELx.js} +1 -1
  8. package/dist/assets/{add-connection-dialog-CzCmVM_b.js → add-connection-dialog-BqdWmD-7.js} +1 -1
  9. package/dist/assets/{agent-panel-zpTxANfi.js → agent-panel-5RxG5Y82.js} +3 -3
  10. package/dist/assets/{ai-model-dropdown-DL56ImUU.js → ai-model-dropdown-Bvl1ktQq.js} +1 -1
  11. package/dist/assets/{app-config-button-BRBtaFi_.js → app-config-button-0QTeQ2Mv.js} +1 -1
  12. package/dist/assets/{blob-CuL-H1JC.js → blob-5VcB8K_t.js} +1 -1
  13. package/dist/assets/{cell-editor-C6QIY1Q-.js → cell-editor-Byw5y-oI.js} +1 -1
  14. package/dist/assets/{cell-link-C9tkvy6x.js → cell-link-C5yYyzuF.js} +1 -1
  15. package/dist/assets/{cells-B23_t5uX.js → cells-D_11MjVB.js} +13 -13
  16. package/dist/assets/{chat-display-DSezZ1qo.js → chat-display-BCR_ySiV.js} +1 -1
  17. package/dist/assets/{chat-panel-CocbwA2Q.js → chat-panel-RPRvBsaU.js} +1 -1
  18. package/dist/assets/{chat-ui-DXvDBccG.js → chat-ui-CGviVaRA.js} +2 -2
  19. package/dist/assets/{column-preview-BUQ_YMaE.js → column-preview-xe533-Cn.js} +1 -1
  20. package/dist/assets/{command-palette-HbIlNTLD.js → command-palette-BB9bWdWp.js} +1 -1
  21. package/dist/assets/{common-XXWicvmo.js → common-CaeItbcI.js} +1 -1
  22. package/dist/assets/{components-D1a5GeNf.js → components-G6frbw0c.js} +1 -1
  23. package/dist/assets/{datasource-Qo_t5PqI.js → datasource-deuXnlU-.js} +1 -1
  24. package/dist/assets/{dependency-graph-panel-DHrm4LUL.js → dependency-graph-panel-CIykLnJe.js} +1 -1
  25. package/dist/assets/{documentation-panel-BoNI3vXT.js → documentation-panel-2PQ8kQLa.js} +1 -1
  26. package/dist/assets/{download-Cm3InGht.js → download-dK52bLxZ.js} +1 -1
  27. package/dist/assets/{edit-page-BVkC2MyU.js → edit-page-C2phWLKH.js} +5 -5
  28. package/dist/assets/{error-entries-DEkB-8EY.js → error-entries-3GVk2KjS.js} +1 -1
  29. package/dist/assets/{error-panel-D7GInT--.js → error-panel-CzDRGPeC.js} +1 -1
  30. package/dist/assets/{feedback-button-sC38i-D1.js → feedback-button-C5NgWpFg.js} +1 -1
  31. package/dist/assets/feedback-button-CONwLFpw.js +1 -0
  32. package/dist/assets/{file-explorer-panel-2XFMubVM.js → file-explorer-panel-B50xDnTZ.js} +1 -1
  33. package/dist/assets/{file-name-input-DPs3KKM-.js → file-name-input-DqwMSgGU.js} +1 -1
  34. package/dist/assets/{floating-outline-C7MSAu6q.js → floating-outline-ChmAuvxz.js} +1 -1
  35. package/dist/assets/{gallery-page-B3fJlerH.js → gallery-page-CiL8aMS1.js} +1 -1
  36. package/dist/assets/{glide-data-editor-DrhzXms_.js → glide-data-editor-CqRclBkp.js} +1 -1
  37. package/dist/assets/{home-page-CajAhF9Q.js → home-page-BgZVl4dP.js} +1 -1
  38. package/dist/assets/{hooks-DteA-neM.js → hooks-DM5n7Osw.js} +1 -1
  39. package/dist/assets/{index-YQHSwyF3.js → index-vCxv6WVQ.js} +18 -18
  40. package/dist/assets/{layout-DEFRD3k3.js → layout-BpP8nTjb.js} +4 -4
  41. package/dist/assets/{logs-panel-BpM3pLdf.js → logs-panel-B5eVAZtH.js} +1 -1
  42. package/dist/assets/{markdown-renderer-C5aIPuRT.js → markdown-renderer-BWUzqkJM.js} +1 -1
  43. package/dist/assets/{name-cell-input-Dd8oSXnd.js → name-cell-input-DXW68gRW.js} +1 -1
  44. package/dist/assets/{outline-panel-kFr3Fo2d.js → outline-panel-DPxJhJ_A.js} +1 -1
  45. package/dist/assets/{packages-panel-Ce_wBuIJ.js → packages-panel-gBE2FWQr.js} +1 -1
  46. package/dist/assets/{panel-accordion-state-BO2rN4A5.js → panel-accordion-state-CCF5Gxnc.js} +1 -1
  47. package/dist/assets/{panels-Cy18qaTN.js → panels-BQYMF6p_.js} +1 -1
  48. package/dist/assets/{process-output-CDhnnF3f.js → process-output-Cw9IDcKQ.js} +1 -1
  49. package/dist/assets/{readonly-code-display-ChOK6mhE.js → readonly-code-display-DYcZQ28T.js} +1 -1
  50. package/dist/assets/{readonly-python-code-CVwB1OHZ.js → readonly-python-code-RFuQP50v.js} +1 -1
  51. package/dist/assets/{reveal-component-DE-4w0ik.js → reveal-component-yRrDmCQz.js} +2 -2
  52. package/dist/assets/{run-page-C6qwGqj6.js → run-page-CY65WUOu.js} +1 -1
  53. package/dist/assets/{runtime-details-state-BRSVs8um.js → runtime-details-state-pobtu6TO.js} +1 -1
  54. package/dist/assets/scratchpad-panel-H44_pvb_.js +1 -0
  55. package/dist/assets/{session-panel-B0CkZ3wl.js → session-panel-Bnd1iXkO.js} +1 -1
  56. package/dist/assets/{snippets-panel-CN-U1niV.js → snippets-panel-DKApxKx9.js} +1 -1
  57. package/dist/assets/{state-BRL89qqy.js → state-Bl9BiY_s.js} +1 -1
  58. package/dist/assets/{state-BoRCcWOg.js → state-Dv059B3A.js} +1 -1
  59. package/dist/assets/{tracing-CqxmObxN.js → tracing-Clwy4SlW.js} +1 -1
  60. package/dist/assets/{tracing-panel-Bn8xJSPi.js → tracing-panel-BwjLG_aC.js} +2 -2
  61. package/dist/assets/{tree-actions-DoPCJTpj.js → tree-actions-BZNTQ12N.js} +1 -1
  62. package/dist/assets/{useAddCell-DKb7o70l.js → useAddCell-Cjuqk2YR.js} +1 -1
  63. package/dist/assets/{useCellActionButton-CSNFulkR.js → useCellActionButton-MoWLvuGe.js} +1 -1
  64. package/dist/assets/{useDeleteCell-BPQ6Xcbj.js → useDeleteCell-BC-MW7d1.js} +1 -1
  65. package/dist/assets/{useDependencyPanelTab-4SMlwjEg.js → useDependencyPanelTab-CZU7i-B3.js} +1 -1
  66. package/dist/assets/{useNotebookActions-B4kq9-P4.js → useNotebookActions-wFxVdRXQ.js} +1 -1
  67. package/dist/assets/{useRunCells-BV6nl_Ok.js → useRunCells-ByaWxoIt.js} +1 -1
  68. package/dist/assets/{useSplitCell-Ca364Rrx.js → useSplitCell-YJIystwv.js} +1 -1
  69. package/dist/index.html +20 -20
  70. package/package.json +1 -1
  71. package/src/components/chat/acp/blocks.tsx +2 -2
  72. package/src/components/data-table/charts/__tests__/chart-panel.test.tsx +74 -1
  73. package/src/components/data-table/charts/__tests__/storage.test.ts +4 -1
  74. package/src/components/data-table/charts/charts.tsx +21 -6
  75. package/src/components/data-table/charts/storage.ts +16 -5
  76. package/src/components/editor/output/ansi-reduce.ts +6 -0
  77. package/src/components/editor/output/console/ConsoleOutput.tsx +11 -7
  78. package/src/components/editor/package-alert.tsx +4 -4
  79. package/src/components/scratchpad/scratchpad.tsx +2 -2
  80. package/src/components/slides/reveal-component.tsx +4 -2
  81. package/src/core/cells/__tests__/__snapshots__/cells.test.ts.snap +4 -0
  82. package/src/core/cells/__tests__/cell.test.ts +39 -0
  83. package/src/core/cells/__tests__/cells.test.ts +3 -1
  84. package/src/core/cells/__tests__/collapseConsoleOutputs.test.ts +54 -0
  85. package/src/core/cells/cell.ts +14 -3
  86. package/src/core/cells/cells.ts +1 -0
  87. package/src/core/cells/types.ts +10 -1
  88. package/src/plugins/impl/chat/chat-ui.tsx +1 -1
  89. package/dist/assets/feedback-button-Cz9BdS49.js +0 -1
  90. package/dist/assets/scratchpad-panel--SxH2dnk.js +0 -1
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./react-DVplv7_D.js";import{no as n,oo as r}from"./cells-B23_t5uX.js";import{C as i,I as a,k as o,x as s}from"./schemas-ChRqMOTL.js";import{t as c}from"./compiler-runtime-BrajqUja.js";import{t as l}from"./isEmpty-BJso7_X0.js";import{g as u}from"./useEventListener-CjDeLqFC.js";import{a as d,i as f,o as p,r as m}from"./config-DMz7oN0r.js";import{t as h}from"./cn-ldLVeaqm.js";import{t as g}from"./jsx-runtime-B74pBk57.js";import{t as _}from"./button-D8gVKwe-.js";import{t as v}from"./createLucideIcon-DfJ2oMlA.js";import{r as y}from"./paths-bkIFVj8h.js";import{t as b}from"./ban-YzvUro5I.js";import{t as x}from"./bot-message-square-8xmbrehG.js";import{rt as S}from"./ai-model-dropdown-DL56ImUU.js";import{a as C}from"./useNumberFormatter-D7O_26UI.js";import{t as w}from"./markdown-renderer-C5aIPuRT.js";import{p as T,u as E}from"./add-cell-with-ai-CRbG5cTT.js";import{t as D}from"./external-link-UrX9KO36.js";import{n as O}from"./spinner-DyNE-o8o.js";import{l as k}from"./datasource-Qo_t5PqI.js";import{i as A}from"./strings-C25fhMR_.js";import{t as j}from"./RenderHTML-DwolbpuI.js";var M=v(`circle-slash`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`9`,x2:`15`,y1:`15`,y2:`9`,key:`1dfufj`}]]),N=v(`shield-question-mark`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3`,key:`mhlwft`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),P=`user_cancelled`;function F(e){if(e.type===`abort`)return e.reason}function I(e){return e.isAbort?e.streamReason||`user_cancelled`:null}function L(e){switch(e){case P:return`Generation stopped`;case`timeout`:return`Generation stopped: timed out`;default:return`Generation stopped: ${e}`}}var R=c(),z=e(t(),1),B=g(),V=e=>{let t=(0,R.c)(13),{reasoning:n,index:r,isStreaming:i}=e,a=r===void 0?0:r,o=i!==void 0&&i,[s,c]=z.useState(``);if(!n&&!o)return null;let l=o?`reasoning`:s,u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,B.jsx)(x,{className:`h-3 w-3`}),t[0]=u):u=t[0];let h=o?`Thinking`:`View reasoning`,g=n.length>0&&` (${n.length} chars)`,_;t[1]!==h||t[2]!==g?(_=(0,B.jsx)(p,{className:`text-xs text-muted-foreground hover:bg-muted/50 px-2 py-1 h-auto rounded-sm [&[data-state=open]>svg]:rotate-180`,children:(0,B.jsxs)(`span`,{className:`flex items-center gap-2`,children:[u,h,g]})}),t[1]=h,t[2]=g,t[3]=_):_=t[3];let v;t[4]===n?v=t[5]:(v=(0,B.jsx)(f,{className:`pb-2 px-2`,children:(0,B.jsx)(`div`,{className:`bg-muted/30 border border-muted/50 rounded-md p-3 italic text-muted-foreground/90 relative`,children:(0,B.jsx)(`div`,{className:`pr-6`,children:(0,B.jsx)(w,{content:n})})})}),t[4]=n,t[5]=v);let y;t[6]!==_||t[7]!==v?(y=(0,B.jsxs)(d,{value:`reasoning`,className:`border-0`,children:[_,v]}),t[6]=_,t[7]=v,t[8]=y):y=t[8];let b;return t[9]!==a||t[10]!==l||t[11]!==y?(b=(0,B.jsx)(m,{type:`single`,collapsible:!0,className:`w-full mb-2`,value:l,onValueChange:c,children:y},a),t[9]=a,t[10]=l,t[11]=y,t[12]=b):b=t[12],b};function H(e){return e.replace(`tool-`,``)}var U=e=>{let t=(0,R.c)(9),{input:n,label:r}=e,i=r===void 0?`Tool Request`:r;if(n==null)return null;let a;t[0]===i?a=t[1]:(a=(0,B.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground`,children:i}),t[0]=i,t[1]=a);let o;t[2]===n?o=t[3]:(o=JSON.stringify(n,null,2),t[2]=n,t[3]=o);let s;t[4]===o?s=t[5]:(s=(0,B.jsx)(`pre`,{className:`bg-(--slate-2) p-2 text-muted-foreground border border-(--slate-4) rounded text-xs overflow-auto scrollbar-thin max-h-64`,children:o}),t[4]=o,t[5]=s);let c;return t[6]!==a||t[7]!==s?(c=(0,B.jsxs)(`div`,{className:`space-y-2`,children:[a,s]}),t[6]=a,t[7]=s,t[8]=c):c=t[8],c},W=e=>{let t=(0,R.c)(27),{toolName:n,input:r,approval:i,onApprove:a,className:o}=e,s;t[0]===o?s=t[1]:(s=h(`rounded-md border border-(--amber-6) bg-(--amber-2) p-3 space-y-3`,o),t[0]=o,t[1]=s);let c;t[2]===n?c=t[3]:(c=H(n),t[2]=n,t[3]=c);let l=`Approval required for ${c}`,u;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,B.jsx)(N,{className:`h-4 w-4 text-(--amber-11) mt-0.5 shrink-0`}),t[4]=u):u=t[4];let d;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,B.jsx)(`span`,{className:`font-semibold`,children:`Approval required:`}),t[5]=d):d=t[5];let f;t[6]===n?f=t[7]:(f=H(n),t[6]=n,t[7]=f);let p;t[8]===f?p=t[9]:(p=(0,B.jsxs)(`div`,{className:`flex items-start gap-2`,children:[u,(0,B.jsxs)(`div`,{className:`text-xs text-(--amber-11) leading-relaxed`,children:[d,` `,(0,B.jsx)(`code`,{className:`font-mono`,children:f})]})]}),t[8]=f,t[9]=p);let m;t[10]===r?m=t[11]:(m=(0,B.jsx)(U,{input:r}),t[10]=r,t[11]=m);let g;t[12]!==i.id||t[13]!==a?(g=(0,B.jsx)(_,{size:`xs`,variant:`outline`,onClick:()=>a({id:i.id,approved:!1}),children:`Deny`}),t[12]=i.id,t[13]=a,t[14]=g):g=t[14];let v;t[15]!==i.id||t[16]!==a?(v=(0,B.jsx)(_,{size:`xs`,onClick:()=>a({id:i.id,approved:!0}),children:`Approve`}),t[15]=i.id,t[16]=a,t[17]=v):v=t[17];let y;t[18]!==v||t[19]!==g?(y=(0,B.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[g,v]}),t[18]=v,t[19]=g,t[20]=y):y=t[20];let b;return t[21]!==s||t[22]!==y||t[23]!==l||t[24]!==p||t[25]!==m?(b=(0,B.jsxs)(`div`,{className:s,role:`alertdialog`,"aria-label":l,children:[p,m,y]}),t[21]=s,t[22]=y,t[23]=l,t[24]=p,t[25]=m,t[26]=b):b=t[26],b},G=e=>{let t=(0,R.c)(28),{toolName:n,input:i,errorText:a,isLive:o,className:s}=e,[c,l]=z.useState(o),u=z.useRef(o),d,f;t[0]===o?(d=t[1],f=t[2]):(d=()=>{u.current&&!o&&l(!1),u.current=o},f=[o],t[0]=o,t[1]=d,t[2]=f),z.useEffect(d,f);let p;t[3]===s?p=t[4]:(p=h(`rounded-md border border-(--red-6) bg-(--red-2)`,s),t[3]=s,t[4]=p);let m;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>l(K),t[5]=m):m=t[5];let g;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,B.jsx)(r,{className:`h-3.5 w-3.5 shrink-0`}),t[6]=g):g=t[6];let _;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,B.jsx)(`span`,{className:`font-semibold`,children:`Failed:`}),t[7]=_):_=t[7];let v;t[8]===n?v=t[9]:(v=H(n),t[8]=n,t[9]=v);let y;t[10]===v?y=t[11]:(y=(0,B.jsxs)(`span`,{className:`flex-1 text-left`,children:[_,` `,(0,B.jsx)(`code`,{className:`font-mono`,children:v})]}),t[10]=v,t[11]=y);let b=c&&`rotate-180`,x;t[12]===b?x=t[13]:(x=h(`h-3.5 w-3.5 shrink-0 transition-transform`,b),t[12]=b,t[13]=x);let S;t[14]===x?S=t[15]:(S=(0,B.jsx)(C,{className:x}),t[14]=x,t[15]=S);let w;t[16]!==c||t[17]!==S||t[18]!==y?(w=(0,B.jsxs)(`button`,{type:`button`,onClick:m,className:`w-full flex items-center gap-2 px-3 py-2 text-xs text-(--red-11) hover:bg-(--red-3) rounded-md transition-colors`,"aria-expanded":c,children:[g,y,S]}),t[16]=c,t[17]=S,t[18]=y,t[19]=w):w=t[19];let T;t[20]!==a||t[21]!==i||t[22]!==c?(T=c&&(0,B.jsxs)(`div`,{className:`px-3 pb-3 space-y-3 border-t border-(--red-6)/40 pt-3`,children:[(0,B.jsx)(U,{input:i}),a&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h3`,{className:`text-xs font-semibold text-(--red-11) mb-1`,children:`Error`}),(0,B.jsx)(`pre`,{className:`bg-(--red-2) border border-(--red-6) rounded p-2 text-xs text-(--red-11) leading-relaxed overflow-auto scrollbar-thin max-h-64 whitespace-pre-wrap`,children:a})]})]}),t[20]=a,t[21]=i,t[22]=c,t[23]=T):T=t[23];let E;return t[24]!==w||t[25]!==T||t[26]!==p?(E=(0,B.jsxs)(`div`,{className:p,children:[w,T]}),t[24]=w,t[25]=T,t[26]=p,t[27]=E):E=t[27],E};function K(e){return!e}function q(e){return e==null||typeof e==`object`&&l(e)}var J=o({status:a().default(`success`),auth_required:i().default(!1),action_url:s().optional(),next_steps:s().optional(),meta:s().optional(),message:a().nullish()}),Y=e=>{let t=(0,R.c)(12),{data:r}=e,i;if(t[0]!==r){let{status:e,auth_required:a,action_url:o,meta:s,next_steps:c,message:l,...u}=r,d;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,B.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground`,children:`Tool Result`}),t[2]=d):d=t[2];let f;t[3]===e?f=t[4]:(f=(0,B.jsx)(`span`,{className:`text-xs px-2 py-0.5 bg-(--grass-2) text-(--grass-11) rounded-full font-medium capitalize`,children:e}),t[3]=e,t[4]=f);let p;t[5]===a?p=t[6]:(p=a&&(0,B.jsx)(`span`,{className:`text-xs px-2 py-0.5 bg-(--amber-2) text-(--amber-11) rounded-full`,children:`Auth Required`}),t[5]=a,t[6]=p);let m;t[7]!==f||t[8]!==p?(m=(0,B.jsxs)(`div`,{className:`flex items-center justify-between`,children:[d,(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[f,p]})]}),t[7]=f,t[8]=p,t[9]=m):m=t[9];let h;t[10]===l?h=t[11]:(h=l&&(0,B.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,B.jsx)(n,{className:`h-3 w-3 text-(--blue-11) mt-0.5 shrink-0`}),(0,B.jsx)(`div`,{className:`text-xs text-foreground`,children:l})]}),t[10]=l,t[11]=h),i=(0,B.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[m,h,u&&(0,B.jsx)(`div`,{className:`space-y-3`,children:Object.entries(u).map(Z)})]}),t[0]=r,t[1]=i}else i=t[1];return i},X=e=>{let t=(0,R.c)(8),{result:n}=e,r;t[0]===n?r=t[1]:(r=J.safeParse(n),t[0]=n,t[1]=r);let i=r;if(i.success){let e;return t[2]===i.data?e=t[3]:(e=(0,B.jsx)(Y,{data:i.data}),t[2]=i.data,t[3]=e),e}let a;t[4]===n?a=t[5]:(a=typeof n==`string`?n:JSON.stringify(n,null,2),t[4]=n,t[5]=a);let o;return t[6]===a?o=t[7]:(o=(0,B.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground mb-1 max-h-64 overflow-y-auto scrollbar-thin`,children:a}),t[6]=a,t[7]=o),o};function Z(e){let[t,n]=e;return q(n)?null:(0,B.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,B.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:t}),(0,B.jsx)(`pre`,{className:`bg-(--slate-2) p-2 text-muted-foreground border border-(--slate-4) rounded text-xs overflow-auto scrollbar-thin max-h-64`,children:JSON.stringify(n,null,2)})]},t)}var ee={"input-streaming":`Generating`,"input-available":`Running`,"approval-responded":`Awaiting result`,"output-available":`Done`,"output-denied":`Denied`},te=new Set([`input-streaming`,`input-available`,`approval-responded`]),ne=e=>{let t=(0,R.c)(5),{state:n,interrupted:r}=e;if(r){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(M,{className:`h-3 w-3 text-muted-foreground`}),t[0]=e):e=t[0],e}switch(n){case`input-streaming`:case`input-available`:case`approval-responded`:{let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(O,{className:`h-3 w-3 animate-spin`}),t[1]=e):e=t[1],e}case`output-available`:{let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(S,{className:`h-3 w-3 text-(--grass-11)`}),t[2]=e):e=t[2],e}case`output-denied`:{let e;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(b,{className:`h-3 w-3 text-muted-foreground`}),t[3]=e):e=t[3],e}default:{A(n);let e;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(k,{className:`h-3 w-3`}),t[4]=e):e=t[4],e}}};function re(e){switch(e){case`output-available`:return`text-(--grass-11)/80`;case`output-denied`:return`text-muted-foreground`;case`input-streaming`:case`input-available`:case`approval-responded`:return``;default:return A(e),``}}var Q=e=>{let t=(0,R.c)(34),{toolName:n,state:r,input:i,result:a,approval:o,index:s,className:c,isActive:l}=e,u=s===void 0?0:s,g=l===void 0||l,_;t[0]!==g||t[1]!==r?(_=!g&&te.has(r),t[0]=g,t[1]=r,t[2]=_):_=t[2];let v=_,y=`tool-${u}`,b;t[3]===c?b=t[4]:(b=h(`w-full`,c),t[3]=c,t[4]=b);let x;t[5]!==v||t[6]!==r?(x=h(`h-6 text-xs border-border shadow-none! ring-0! bg-muted/60 hover:bg-muted py-0 px-2 gap-1 rounded-sm [&[data-state=open]>svg]:rotate-180 hover:no-underline`,v?`text-muted-foreground`:re(r)),t[5]=v,t[6]=r,t[7]=x):x=t[7];let S;t[8]!==v||t[9]!==r?(S=(0,B.jsx)(ne,{state:r,interrupted:v}),t[8]=v,t[9]=r,t[10]=S):S=t[10];let C=v?`Interrupted`:ee[r],w;t[11]===n?w=t[12]:(w=H(n),t[11]=n,t[12]=w);let T;t[13]===w?T=t[14]:(T=(0,B.jsx)(`code`,{className:`font-mono text-xs`,children:w}),t[13]=w,t[14]=T);let E;t[15]!==T||t[16]!==S||t[17]!==C?(E=(0,B.jsxs)(`span`,{className:`flex items-center gap-1`,children:[S,C,`:`,T]}),t[15]=T,t[16]=S,t[17]=C,t[18]=E):E=t[18];let D;t[19]!==E||t[20]!==x?(D=(0,B.jsx)(p,{className:x,children:E}),t[19]=E,t[20]=x,t[21]=D):D=t[21];let O;t[22]!==o||t[23]!==i||t[24]!==a||t[25]!==r?(O=(0,B.jsx)(f,{className:`py-2 px-2`,children:(0,B.jsx)(ie,{state:r,input:i,result:a,approval:o})}),t[22]=o,t[23]=i,t[24]=a,t[25]=r,t[26]=O):O=t[26];let k;t[27]!==D||t[28]!==O?(k=(0,B.jsxs)(d,{value:`tool-call`,className:`border-0`,children:[D,O]}),t[27]=D,t[28]=O,t[29]=k):k=t[29];let A;return t[30]!==k||t[31]!==y||t[32]!==b?(A=(0,B.jsx)(m,{type:`single`,collapsible:!0,className:b,children:k},y),t[30]=k,t[31]=y,t[32]=b,t[33]=A):A=t[33],A},ie=e=>{let t=(0,R.c)(16),{state:n,input:r,result:i,approval:a}=e;switch(n){case`input-streaming`:case`input-available`:case`approval-responded`:{let e;return t[0]===r?e=t[1]:(e=(0,B.jsx)(U,{input:r}),t[0]=r,t[1]=e),e}case`output-available`:{let e;t[2]===r?e=t[3]:(e=(0,B.jsx)(U,{input:r}),t[2]=r,t[3]=e);let n;t[4]===i?n=t[5]:(n=i!=null&&(0,B.jsx)(X,{result:i}),t[4]=i,t[5]=n);let a;return t[6]!==e||t[7]!==n?(a=(0,B.jsxs)(`div`,{className:`space-y-3`,children:[e,n]}),t[6]=e,t[7]=n,t[8]=a):a=t[8],a}case`output-denied`:{let e;t[9]===r?e=t[10]:(e=(0,B.jsx)(U,{input:r}),t[9]=r,t[10]=e);let n=a?.reason?`: ${a.reason}`:`.`,i;t[11]===n?i=t[12]:(i=(0,B.jsxs)(`div`,{className:`bg-muted/40 border border-border rounded-md p-3 text-xs text-muted-foreground leading-relaxed`,children:[`Tool execution was denied`,n]}),t[11]=n,t[12]=i);let o;return t[13]!==e||t[14]!==i?(o=(0,B.jsxs)(`div`,{className:`space-y-3`,children:[e,i]}),t[13]=e,t[14]=i,t[15]=o):o=t[15],o}default:return A(n),null}},$=e=>{let t=(0,R.c)(27),{toolName:n,state:r,result:i,errorText:a,input:o,approval:s,onApprove:c,index:l,className:u,isLive:d,isActive:f}=e,p=d===void 0||d,m=f===void 0||f;switch(r){case`approval-requested`:{if(s!=null&&c!=null){let e;return t[0]!==s||t[1]!==u||t[2]!==o||t[3]!==c||t[4]!==n?(e=(0,B.jsx)(W,{toolName:n,input:o,approval:s,onApprove:c,className:u}),t[0]=s,t[1]=u,t[2]=o,t[3]=c,t[4]=n,t[5]=e):e=t[5],e}let e;return t[6]!==u||t[7]!==l||t[8]!==o||t[9]!==m||t[10]!==n?(e=(0,B.jsx)(Q,{toolName:n,state:`input-available`,input:o,index:l,className:u,isActive:m}),t[6]=u,t[7]=l,t[8]=o,t[9]=m,t[10]=n,t[11]=e):e=t[11],e}case`output-error`:{let e;return t[12]!==u||t[13]!==a||t[14]!==o||t[15]!==p||t[16]!==n?(e=(0,B.jsx)(G,{toolName:n,input:o,errorText:a,isLive:p,className:u}),t[12]=u,t[13]=a,t[14]=o,t[15]=p,t[16]=n,t[17]=e):e=t[17],e}case`input-streaming`:case`input-available`:case`approval-responded`:case`output-available`:case`output-denied`:{let e;return t[18]!==s||t[19]!==u||t[20]!==l||t[21]!==o||t[22]!==m||t[23]!==i||t[24]!==r||t[25]!==n?(e=(0,B.jsx)(Q,{toolName:n,state:r,input:o,result:i,approval:s,index:l,className:u,isActive:m}),t[18]=s,t[19]=u,t[20]=l,t[21]=o,t[22]=m,t[23]=i,t[24]=r,t[25]=n,t[26]=e):e=t[26],e}default:return A(r),null}},ae=({message:e,isStreamingReasoning:t,isLast:n,isActive:r,addToolApprovalResponse:i})=>{return(0,B.jsx)(B.Fragment,{children:e.parts.map((e,t)=>a(e,t))});function a(a,o){if(oe(a))return(0,B.jsx)($,{index:o,toolName:a.type,result:a.output,errorText:a.state===`output-error`?a.errorText:void 0,className:`my-2`,state:a.state,input:a.input,approval:a.approval,onApprove:i,isLive:n,isActive:r},o);if(se(a))return u.debug(`Found data part`,a),null;switch(a.type){case`text`:return a.text.includes(`<marimo-`)?(0,B.jsx)(z.Fragment,{children:j({html:a.text})},o):(0,B.jsx)(w,{content:a.text},o);case`reasoning`:return(0,B.jsx)(V,{reasoning:a.text,index:o,isStreaming:t&&n&&o===(e.parts.length||0)-1},o);case`file`:return(0,B.jsx)(E,{attachment:a},o);case`reasoning-file`:return(0,B.jsx)(E,{attachment:{type:`file`,mediaType:a.mediaType,url:a.url}},o);case`dynamic-tool`:return(0,B.jsx)($,{toolName:a.toolName,result:a.output,errorText:a.state===`output-error`?a.errorText:void 0,state:a.state,input:a.input,approval:a.approval,onApprove:i,isLive:n,isActive:r},o);case`source-document`:return(0,B.jsx)(T,{icon:(0,B.jsx)(y,{className:`h-3 w-3 shrink-0`}),title:a.title,subtitle:a.filename},o);case`source-url`:return(0,B.jsx)(T,{icon:(0,B.jsx)(D,{className:`h-3 w-3 shrink-0`}),title:a.title??a.url,subtitle:a.title?a.url:void 0,href:a.url},o);case`custom`:return(0,B.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:a.kind},o);case`step-start`:return null;default:return A(a),null}}};function oe(e){return e.type.startsWith(`tool-`)}function se(e){return e.type.startsWith(`data-`)}export{I as i,L as n,F as r,ae as t};
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./react-DVplv7_D.js";import{no as n,oo as r}from"./cells-D_11MjVB.js";import{C as i,I as a,k as o,x as s}from"./schemas-ChRqMOTL.js";import{t as c}from"./compiler-runtime-BrajqUja.js";import{t as l}from"./isEmpty-BJso7_X0.js";import{g as u}from"./useEventListener-CjDeLqFC.js";import{a as d,i as f,o as p,r as m}from"./config-DMz7oN0r.js";import{t as h}from"./cn-ldLVeaqm.js";import{t as g}from"./jsx-runtime-B74pBk57.js";import{t as _}from"./button-D8gVKwe-.js";import{t as v}from"./createLucideIcon-DfJ2oMlA.js";import{r as y}from"./paths-bkIFVj8h.js";import{t as b}from"./ban-YzvUro5I.js";import{t as x}from"./bot-message-square-8xmbrehG.js";import{rt as S}from"./ai-model-dropdown-Bvl1ktQq.js";import{a as C}from"./useNumberFormatter-D7O_26UI.js";import{t as w}from"./markdown-renderer-BWUzqkJM.js";import{p as T,u as E}from"./add-cell-with-ai-Clg5FELx.js";import{t as D}from"./external-link-UrX9KO36.js";import{n as O}from"./spinner-DyNE-o8o.js";import{l as k}from"./datasource-deuXnlU-.js";import{i as A}from"./strings-C25fhMR_.js";import{t as j}from"./RenderHTML-DQvxDDNS.js";var M=v(`circle-slash`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`9`,x2:`15`,y1:`15`,y2:`9`,key:`1dfufj`}]]),N=v(`shield-question-mark`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3`,key:`mhlwft`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),P=`user_cancelled`;function F(e){if(e.type===`abort`)return e.reason}function I(e){return e.isAbort?e.streamReason||`user_cancelled`:null}function L(e){switch(e){case P:return`Generation stopped`;case`timeout`:return`Generation stopped: timed out`;default:return`Generation stopped: ${e}`}}var R=c(),z=e(t(),1),B=g(),V=e=>{let t=(0,R.c)(13),{reasoning:n,index:r,isStreaming:i}=e,a=r===void 0?0:r,o=i!==void 0&&i,[s,c]=z.useState(``);if(!n&&!o)return null;let l=o?`reasoning`:s,u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,B.jsx)(x,{className:`h-3 w-3`}),t[0]=u):u=t[0];let h=o?`Thinking`:`View reasoning`,g=n.length>0&&` (${n.length} chars)`,_;t[1]!==h||t[2]!==g?(_=(0,B.jsx)(p,{className:`text-xs text-muted-foreground hover:bg-muted/50 px-2 py-1 h-auto rounded-sm [&[data-state=open]>svg]:rotate-180`,children:(0,B.jsxs)(`span`,{className:`flex items-center gap-2`,children:[u,h,g]})}),t[1]=h,t[2]=g,t[3]=_):_=t[3];let v;t[4]===n?v=t[5]:(v=(0,B.jsx)(f,{className:`pb-2 px-2`,children:(0,B.jsx)(`div`,{className:`bg-muted/30 border border-muted/50 rounded-md p-3 italic text-muted-foreground/90 relative`,children:(0,B.jsx)(`div`,{className:`pr-6`,children:(0,B.jsx)(w,{content:n})})})}),t[4]=n,t[5]=v);let y;t[6]!==_||t[7]!==v?(y=(0,B.jsxs)(d,{value:`reasoning`,className:`border-0`,children:[_,v]}),t[6]=_,t[7]=v,t[8]=y):y=t[8];let b;return t[9]!==a||t[10]!==l||t[11]!==y?(b=(0,B.jsx)(m,{type:`single`,collapsible:!0,className:`w-full mb-2`,value:l,onValueChange:c,children:y},a),t[9]=a,t[10]=l,t[11]=y,t[12]=b):b=t[12],b};function H(e){return e.replace(`tool-`,``)}var U=e=>{let t=(0,R.c)(9),{input:n,label:r}=e,i=r===void 0?`Tool Request`:r;if(n==null)return null;let a;t[0]===i?a=t[1]:(a=(0,B.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground`,children:i}),t[0]=i,t[1]=a);let o;t[2]===n?o=t[3]:(o=JSON.stringify(n,null,2),t[2]=n,t[3]=o);let s;t[4]===o?s=t[5]:(s=(0,B.jsx)(`pre`,{className:`bg-(--slate-2) p-2 text-muted-foreground border border-(--slate-4) rounded text-xs overflow-auto scrollbar-thin max-h-64`,children:o}),t[4]=o,t[5]=s);let c;return t[6]!==a||t[7]!==s?(c=(0,B.jsxs)(`div`,{className:`space-y-2`,children:[a,s]}),t[6]=a,t[7]=s,t[8]=c):c=t[8],c},W=e=>{let t=(0,R.c)(27),{toolName:n,input:r,approval:i,onApprove:a,className:o}=e,s;t[0]===o?s=t[1]:(s=h(`rounded-md border border-(--amber-6) bg-(--amber-2) p-3 space-y-3`,o),t[0]=o,t[1]=s);let c;t[2]===n?c=t[3]:(c=H(n),t[2]=n,t[3]=c);let l=`Approval required for ${c}`,u;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,B.jsx)(N,{className:`h-4 w-4 text-(--amber-11) mt-0.5 shrink-0`}),t[4]=u):u=t[4];let d;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,B.jsx)(`span`,{className:`font-semibold`,children:`Approval required:`}),t[5]=d):d=t[5];let f;t[6]===n?f=t[7]:(f=H(n),t[6]=n,t[7]=f);let p;t[8]===f?p=t[9]:(p=(0,B.jsxs)(`div`,{className:`flex items-start gap-2`,children:[u,(0,B.jsxs)(`div`,{className:`text-xs text-(--amber-11) leading-relaxed`,children:[d,` `,(0,B.jsx)(`code`,{className:`font-mono`,children:f})]})]}),t[8]=f,t[9]=p);let m;t[10]===r?m=t[11]:(m=(0,B.jsx)(U,{input:r}),t[10]=r,t[11]=m);let g;t[12]!==i.id||t[13]!==a?(g=(0,B.jsx)(_,{size:`xs`,variant:`outline`,onClick:()=>a({id:i.id,approved:!1}),children:`Deny`}),t[12]=i.id,t[13]=a,t[14]=g):g=t[14];let v;t[15]!==i.id||t[16]!==a?(v=(0,B.jsx)(_,{size:`xs`,onClick:()=>a({id:i.id,approved:!0}),children:`Approve`}),t[15]=i.id,t[16]=a,t[17]=v):v=t[17];let y;t[18]!==v||t[19]!==g?(y=(0,B.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[g,v]}),t[18]=v,t[19]=g,t[20]=y):y=t[20];let b;return t[21]!==s||t[22]!==y||t[23]!==l||t[24]!==p||t[25]!==m?(b=(0,B.jsxs)(`div`,{className:s,role:`alertdialog`,"aria-label":l,children:[p,m,y]}),t[21]=s,t[22]=y,t[23]=l,t[24]=p,t[25]=m,t[26]=b):b=t[26],b},G=e=>{let t=(0,R.c)(28),{toolName:n,input:i,errorText:a,isLive:o,className:s}=e,[c,l]=z.useState(o),u=z.useRef(o),d,f;t[0]===o?(d=t[1],f=t[2]):(d=()=>{u.current&&!o&&l(!1),u.current=o},f=[o],t[0]=o,t[1]=d,t[2]=f),z.useEffect(d,f);let p;t[3]===s?p=t[4]:(p=h(`rounded-md border border-(--red-6) bg-(--red-2)`,s),t[3]=s,t[4]=p);let m;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>l(K),t[5]=m):m=t[5];let g;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,B.jsx)(r,{className:`h-3.5 w-3.5 shrink-0`}),t[6]=g):g=t[6];let _;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,B.jsx)(`span`,{className:`font-semibold`,children:`Failed:`}),t[7]=_):_=t[7];let v;t[8]===n?v=t[9]:(v=H(n),t[8]=n,t[9]=v);let y;t[10]===v?y=t[11]:(y=(0,B.jsxs)(`span`,{className:`flex-1 text-left`,children:[_,` `,(0,B.jsx)(`code`,{className:`font-mono`,children:v})]}),t[10]=v,t[11]=y);let b=c&&`rotate-180`,x;t[12]===b?x=t[13]:(x=h(`h-3.5 w-3.5 shrink-0 transition-transform`,b),t[12]=b,t[13]=x);let S;t[14]===x?S=t[15]:(S=(0,B.jsx)(C,{className:x}),t[14]=x,t[15]=S);let w;t[16]!==c||t[17]!==S||t[18]!==y?(w=(0,B.jsxs)(`button`,{type:`button`,onClick:m,className:`w-full flex items-center gap-2 px-3 py-2 text-xs text-(--red-11) hover:bg-(--red-3) rounded-md transition-colors`,"aria-expanded":c,children:[g,y,S]}),t[16]=c,t[17]=S,t[18]=y,t[19]=w):w=t[19];let T;t[20]!==a||t[21]!==i||t[22]!==c?(T=c&&(0,B.jsxs)(`div`,{className:`px-3 pb-3 space-y-3 border-t border-(--red-6)/40 pt-3`,children:[(0,B.jsx)(U,{input:i}),a&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h3`,{className:`text-xs font-semibold text-(--red-11) mb-1`,children:`Error`}),(0,B.jsx)(`pre`,{className:`bg-(--red-2) border border-(--red-6) rounded p-2 text-xs text-(--red-11) leading-relaxed overflow-auto scrollbar-thin max-h-64 whitespace-pre-wrap`,children:a})]})]}),t[20]=a,t[21]=i,t[22]=c,t[23]=T):T=t[23];let E;return t[24]!==w||t[25]!==T||t[26]!==p?(E=(0,B.jsxs)(`div`,{className:p,children:[w,T]}),t[24]=w,t[25]=T,t[26]=p,t[27]=E):E=t[27],E};function K(e){return!e}function q(e){return e==null||typeof e==`object`&&l(e)}var J=o({status:a().default(`success`),auth_required:i().default(!1),action_url:s().optional(),next_steps:s().optional(),meta:s().optional(),message:a().nullish()}),Y=e=>{let t=(0,R.c)(12),{data:r}=e,i;if(t[0]!==r){let{status:e,auth_required:a,action_url:o,meta:s,next_steps:c,message:l,...u}=r,d;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,B.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground`,children:`Tool Result`}),t[2]=d):d=t[2];let f;t[3]===e?f=t[4]:(f=(0,B.jsx)(`span`,{className:`text-xs px-2 py-0.5 bg-(--grass-2) text-(--grass-11) rounded-full font-medium capitalize`,children:e}),t[3]=e,t[4]=f);let p;t[5]===a?p=t[6]:(p=a&&(0,B.jsx)(`span`,{className:`text-xs px-2 py-0.5 bg-(--amber-2) text-(--amber-11) rounded-full`,children:`Auth Required`}),t[5]=a,t[6]=p);let m;t[7]!==f||t[8]!==p?(m=(0,B.jsxs)(`div`,{className:`flex items-center justify-between`,children:[d,(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[f,p]})]}),t[7]=f,t[8]=p,t[9]=m):m=t[9];let h;t[10]===l?h=t[11]:(h=l&&(0,B.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,B.jsx)(n,{className:`h-3 w-3 text-(--blue-11) mt-0.5 shrink-0`}),(0,B.jsx)(`div`,{className:`text-xs text-foreground`,children:l})]}),t[10]=l,t[11]=h),i=(0,B.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[m,h,u&&(0,B.jsx)(`div`,{className:`space-y-3`,children:Object.entries(u).map(Z)})]}),t[0]=r,t[1]=i}else i=t[1];return i},X=e=>{let t=(0,R.c)(8),{result:n}=e,r;t[0]===n?r=t[1]:(r=J.safeParse(n),t[0]=n,t[1]=r);let i=r;if(i.success){let e;return t[2]===i.data?e=t[3]:(e=(0,B.jsx)(Y,{data:i.data}),t[2]=i.data,t[3]=e),e}let a;t[4]===n?a=t[5]:(a=typeof n==`string`?n:JSON.stringify(n,null,2),t[4]=n,t[5]=a);let o;return t[6]===a?o=t[7]:(o=(0,B.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground mb-1 max-h-64 overflow-y-auto scrollbar-thin`,children:a}),t[6]=a,t[7]=o),o};function Z(e){let[t,n]=e;return q(n)?null:(0,B.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,B.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:t}),(0,B.jsx)(`pre`,{className:`bg-(--slate-2) p-2 text-muted-foreground border border-(--slate-4) rounded text-xs overflow-auto scrollbar-thin max-h-64`,children:JSON.stringify(n,null,2)})]},t)}var ee={"input-streaming":`Generating`,"input-available":`Running`,"approval-responded":`Awaiting result`,"output-available":`Done`,"output-denied":`Denied`},te=new Set([`input-streaming`,`input-available`,`approval-responded`]),ne=e=>{let t=(0,R.c)(5),{state:n,interrupted:r}=e;if(r){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(M,{className:`h-3 w-3 text-muted-foreground`}),t[0]=e):e=t[0],e}switch(n){case`input-streaming`:case`input-available`:case`approval-responded`:{let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(O,{className:`h-3 w-3 animate-spin`}),t[1]=e):e=t[1],e}case`output-available`:{let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(S,{className:`h-3 w-3 text-(--grass-11)`}),t[2]=e):e=t[2],e}case`output-denied`:{let e;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(b,{className:`h-3 w-3 text-muted-foreground`}),t[3]=e):e=t[3],e}default:{A(n);let e;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(k,{className:`h-3 w-3`}),t[4]=e):e=t[4],e}}};function re(e){switch(e){case`output-available`:return`text-(--grass-11)/80`;case`output-denied`:return`text-muted-foreground`;case`input-streaming`:case`input-available`:case`approval-responded`:return``;default:return A(e),``}}var Q=e=>{let t=(0,R.c)(34),{toolName:n,state:r,input:i,result:a,approval:o,index:s,className:c,isActive:l}=e,u=s===void 0?0:s,g=l===void 0||l,_;t[0]!==g||t[1]!==r?(_=!g&&te.has(r),t[0]=g,t[1]=r,t[2]=_):_=t[2];let v=_,y=`tool-${u}`,b;t[3]===c?b=t[4]:(b=h(`w-full`,c),t[3]=c,t[4]=b);let x;t[5]!==v||t[6]!==r?(x=h(`h-6 text-xs border-border shadow-none! ring-0! bg-muted/60 hover:bg-muted py-0 px-2 gap-1 rounded-sm [&[data-state=open]>svg]:rotate-180 hover:no-underline`,v?`text-muted-foreground`:re(r)),t[5]=v,t[6]=r,t[7]=x):x=t[7];let S;t[8]!==v||t[9]!==r?(S=(0,B.jsx)(ne,{state:r,interrupted:v}),t[8]=v,t[9]=r,t[10]=S):S=t[10];let C=v?`Interrupted`:ee[r],w;t[11]===n?w=t[12]:(w=H(n),t[11]=n,t[12]=w);let T;t[13]===w?T=t[14]:(T=(0,B.jsx)(`code`,{className:`font-mono text-xs`,children:w}),t[13]=w,t[14]=T);let E;t[15]!==T||t[16]!==S||t[17]!==C?(E=(0,B.jsxs)(`span`,{className:`flex items-center gap-1`,children:[S,C,`:`,T]}),t[15]=T,t[16]=S,t[17]=C,t[18]=E):E=t[18];let D;t[19]!==E||t[20]!==x?(D=(0,B.jsx)(p,{className:x,children:E}),t[19]=E,t[20]=x,t[21]=D):D=t[21];let O;t[22]!==o||t[23]!==i||t[24]!==a||t[25]!==r?(O=(0,B.jsx)(f,{className:`py-2 px-2`,children:(0,B.jsx)(ie,{state:r,input:i,result:a,approval:o})}),t[22]=o,t[23]=i,t[24]=a,t[25]=r,t[26]=O):O=t[26];let k;t[27]!==D||t[28]!==O?(k=(0,B.jsxs)(d,{value:`tool-call`,className:`border-0`,children:[D,O]}),t[27]=D,t[28]=O,t[29]=k):k=t[29];let A;return t[30]!==k||t[31]!==y||t[32]!==b?(A=(0,B.jsx)(m,{type:`single`,collapsible:!0,className:b,children:k},y),t[30]=k,t[31]=y,t[32]=b,t[33]=A):A=t[33],A},ie=e=>{let t=(0,R.c)(16),{state:n,input:r,result:i,approval:a}=e;switch(n){case`input-streaming`:case`input-available`:case`approval-responded`:{let e;return t[0]===r?e=t[1]:(e=(0,B.jsx)(U,{input:r}),t[0]=r,t[1]=e),e}case`output-available`:{let e;t[2]===r?e=t[3]:(e=(0,B.jsx)(U,{input:r}),t[2]=r,t[3]=e);let n;t[4]===i?n=t[5]:(n=i!=null&&(0,B.jsx)(X,{result:i}),t[4]=i,t[5]=n);let a;return t[6]!==e||t[7]!==n?(a=(0,B.jsxs)(`div`,{className:`space-y-3`,children:[e,n]}),t[6]=e,t[7]=n,t[8]=a):a=t[8],a}case`output-denied`:{let e;t[9]===r?e=t[10]:(e=(0,B.jsx)(U,{input:r}),t[9]=r,t[10]=e);let n=a?.reason?`: ${a.reason}`:`.`,i;t[11]===n?i=t[12]:(i=(0,B.jsxs)(`div`,{className:`bg-muted/40 border border-border rounded-md p-3 text-xs text-muted-foreground leading-relaxed`,children:[`Tool execution was denied`,n]}),t[11]=n,t[12]=i);let o;return t[13]!==e||t[14]!==i?(o=(0,B.jsxs)(`div`,{className:`space-y-3`,children:[e,i]}),t[13]=e,t[14]=i,t[15]=o):o=t[15],o}default:return A(n),null}},$=e=>{let t=(0,R.c)(27),{toolName:n,state:r,result:i,errorText:a,input:o,approval:s,onApprove:c,index:l,className:u,isLive:d,isActive:f}=e,p=d===void 0||d,m=f===void 0||f;switch(r){case`approval-requested`:{if(s!=null&&c!=null){let e;return t[0]!==s||t[1]!==u||t[2]!==o||t[3]!==c||t[4]!==n?(e=(0,B.jsx)(W,{toolName:n,input:o,approval:s,onApprove:c,className:u}),t[0]=s,t[1]=u,t[2]=o,t[3]=c,t[4]=n,t[5]=e):e=t[5],e}let e;return t[6]!==u||t[7]!==l||t[8]!==o||t[9]!==m||t[10]!==n?(e=(0,B.jsx)(Q,{toolName:n,state:`input-available`,input:o,index:l,className:u,isActive:m}),t[6]=u,t[7]=l,t[8]=o,t[9]=m,t[10]=n,t[11]=e):e=t[11],e}case`output-error`:{let e;return t[12]!==u||t[13]!==a||t[14]!==o||t[15]!==p||t[16]!==n?(e=(0,B.jsx)(G,{toolName:n,input:o,errorText:a,isLive:p,className:u}),t[12]=u,t[13]=a,t[14]=o,t[15]=p,t[16]=n,t[17]=e):e=t[17],e}case`input-streaming`:case`input-available`:case`approval-responded`:case`output-available`:case`output-denied`:{let e;return t[18]!==s||t[19]!==u||t[20]!==l||t[21]!==o||t[22]!==m||t[23]!==i||t[24]!==r||t[25]!==n?(e=(0,B.jsx)(Q,{toolName:n,state:r,input:o,result:i,approval:s,index:l,className:u,isActive:m}),t[18]=s,t[19]=u,t[20]=l,t[21]=o,t[22]=m,t[23]=i,t[24]=r,t[25]=n,t[26]=e):e=t[26],e}default:return A(r),null}},ae=({message:e,isStreamingReasoning:t,isLast:n,isActive:r,addToolApprovalResponse:i})=>{return(0,B.jsx)(B.Fragment,{children:e.parts.map((e,t)=>a(e,t))});function a(a,o){if(oe(a))return(0,B.jsx)($,{index:o,toolName:a.type,result:a.output,errorText:a.state===`output-error`?a.errorText:void 0,className:`my-2`,state:a.state,input:a.input,approval:a.approval,onApprove:i,isLive:n,isActive:r},o);if(se(a))return u.debug(`Found data part`,a),null;switch(a.type){case`text`:return a.text.includes(`<marimo-`)?(0,B.jsx)(z.Fragment,{children:j({html:a.text})},o):(0,B.jsx)(w,{content:a.text},o);case`reasoning`:return(0,B.jsx)(V,{reasoning:a.text,index:o,isStreaming:t&&n&&o===(e.parts.length||0)-1},o);case`file`:return(0,B.jsx)(E,{attachment:a},o);case`reasoning-file`:return(0,B.jsx)(E,{attachment:{type:`file`,mediaType:a.mediaType,url:a.url}},o);case`dynamic-tool`:return(0,B.jsx)($,{toolName:a.toolName,result:a.output,errorText:a.state===`output-error`?a.errorText:void 0,state:a.state,input:a.input,approval:a.approval,onApprove:i,isLive:n,isActive:r},o);case`source-document`:return(0,B.jsx)(T,{icon:(0,B.jsx)(y,{className:`h-3 w-3 shrink-0`}),title:a.title,subtitle:a.filename},o);case`source-url`:return(0,B.jsx)(T,{icon:(0,B.jsx)(D,{className:`h-3 w-3 shrink-0`}),title:a.title??a.url,subtitle:a.title?a.url:void 0,href:a.url},o);case`custom`:return(0,B.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:a.kind},o);case`step-start`:return null;default:return A(a),null}}};function oe(e){return e.type.startsWith(`tool-`)}function se(e){return e.type.startsWith(`data-`)}export{I as i,L as n,F as r,ae as t};
@@ -1,4 +1,4 @@
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-BDjgaBtz.js";import{t as o}from"./react-DVplv7_D.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-B23_t5uX.js";import{t as h}from"./compiler-runtime-BrajqUja.js";import{i as g,t as _}from"./config-DpY86_Yq.js";import{g as v,o as y}from"./useEventListener-CjDeLqFC.js";import{t as b}from"./config-DMz7oN0r.js";import{M as x,o as S}from"./config-CD1IuZFJ.js";import{t as C}from"./cn-ldLVeaqm.js";import{t as w}from"./jsx-runtime-B74pBk57.js";import{C as T,S as E,T as D,b as O,v as k,w as A}from"./fullscreen-BWTs8pYZ.js";import{u as j}from"./menu-items-BgUyNUpu.js";import{o as M}from"./alert-dialog-C-sWmKva.js";import{a as N,i as P,m as F,n as I,r as L,s as R,t as z}from"./select-3CVGlYrC.js";import{t as B}from"./switch-DYjBfpNJ.js";import{i as ee,t as V}from"./tooltip-CkGm8X7m.js";import{t as H}from"./button-D8gVKwe-.js";import{t as te}from"./createLucideIcon-DfJ2oMlA.js";import{t as ne}from"./arrow-right-Cgit4Nk2.js";import{t as U}from"./bot-message-square-8xmbrehG.js";import{M as re,c as ie,h as ae,m as oe,p as se,r as ce,t as le}from"./ai-model-dropdown-DL56ImUU.js";import{i as ue,n as de,r as fe,t as pe}from"./chat-display-DSezZ1qo.js";import{B as W,C as me,D as he,E as ge,N as _e,R as ve,S as ye,U as be,_ as xe,b as Se,c as Ce,d as we,f as G,g as Te,h as Ee,k as De,l as Oe,m as ke,n as Ae,u as je,v as Me,w as Ne,x as Pe,y as Fe,z as Ie}from"./add-cell-with-ai-CRbG5cTT.js";import{t as Le}from"./code-BEiQP4pS.js";import{t as Re}from"./hat-glasses-C8RhSVii.js";import{b as ze,p as Be}from"./write-secret-modal-BEx-EUlh.js";import{n as Ve}from"./spinner-DyNE-o8o.js";import{t as K}from"./message-circle-C3rKm8_a.js";import{t as He}from"./plus-C5silF6g.js";import{r as Ue,rn as We}from"./input-DmHMEZGh.js";import{t as Ge}from"./settings-BpdQZRgT.js";import{t as Ke}from"./trash-2-DcgaW8fn.js";import{t as qe}from"./copy-icon-8-a5vovc.js";import{r as Je}from"./requests-BIFR-h4M.js";import{t as Ye}from"./uuid-k9DpjH68.js";import{t as Xe}from"./I18nProvider-Cg2I_s1_.js";import{l as Ze}from"./dates-CQMwFko2.js";import{i as Qe,o as $e,r as et,t as tt}from"./state-BoRCcWOg.js";import{n as nt}from"./error-banner-B5kzVf_0.js";import{t as rt}from"./empty-state-BaCKb7o3.js";import{t as it}from"./scroll-to-bottom-button-CIkON2WJ.js";var q=e(o(),1),J=w(),at=Object.defineProperty,Y=(e,t)=>at(e,`name`,{value:t,configurable:!0});function ot(e,t){return q.useReducer((e,n)=>t[e][n]??e,e)}Y(ot,`useStateMachine`);var st=`ScrollArea`,[ct,lt]=A(st),[ut,X]=ct(st),dt=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),[b,x]=q.useState(0),[S,C]=q.useState(!1),[w,T]=q.useState(!1),E=y(t,c),O=j(i);return(0,J.jsx)(ut,{scope:n,type:r,dir:O,scrollHideDelay:a,scrollArea:s,viewport:l,onViewportChange:u,content:d,onContentChange:f,scrollbarX:p,onScrollbarXChange:m,scrollbarXEnabled:S,onScrollbarXEnabledChange:C,scrollbarY:h,onScrollbarYChange:g,scrollbarYEnabled:w,onScrollbarYEnabledChange:T,onCornerWidthChange:v,onCornerHeightChange:x,children:(0,J.jsx)(D.div,{dir:O,...o,ref:E,style:{position:`relative`,"--radix-scroll-area-corner-width":_+`px`,"--radix-scroll-area-corner-height":b+`px`,...e.style}})})},`ScrollArea`)),ft=`ScrollAreaViewport`,pt=q.forwardRef(Y(function(e,t){let{__scopeScrollArea:n,children:r,nonce:i,...a}=e,o=X(ft,n),s=q.useRef(null),c=y(t,s,o.onViewportChange);return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(mt,{nonce:i}),(0,J.jsx)(D.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`)),mt=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`,ht=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)(gt,{...r,ref:t,forceMount:n}):i.type===`scroll`?(0,J.jsx)(_t,{...r,ref:t,forceMount:n}):i.type===`auto`?(0,J.jsx)(vt,{...r,ref:t,forceMount:n}):i.type===`always`?(0,J.jsx)(yt,{...r,ref:t,"data-state":`visible`}):null},`ScrollAreaScrollbar`)),gt=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)(O,{present:n||a,children:(0,J.jsx)(vt,{"data-state":a?`visible`:`hidden`,...r,ref:t})})},`ScrollAreaScrollbarHover`)),_t=q.forwardRef(Y(function(e,t){let{forceMount:n,...r}=e,i=X(Z,e.__scopeScrollArea),a=e.orientation===`horizontal`,o=zt(()=>c(`SCROLL_END`),100),[s,c]=ot(`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)(O,{present:n||s!==`hidden`,children:(0,J.jsx)(yt,{"data-state":s===`hidden`?`hidden`:`visible`,...r,ref:t,onPointerEnter:T(e.onPointerEnter,()=>c(`POINTER_ENTER`)),onPointerLeave:T(e.onPointerLeave,()=>c(`POINTER_LEAVE`))})})},`ScrollAreaScrollbarScroll`)),vt=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=zt(()=>{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)(O,{present:r||a,children:(0,J.jsx)(yt,{"data-state":a?`visible`:`hidden`,...i,ref:t})})},`ScrollAreaScrollbarAuto`)),yt=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=Mt(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 Pt(e,o.current,s,t)}return Y(d,`getScrollPosition`),n===`horizontal`?(0,J.jsx)(bt,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollLeft,t=Ft(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)(xt,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollTop,t=Ft(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`)),bt=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=y(t,c,a.onScrollbarXChange);return q.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,J.jsx)(wt,{"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":Nt(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),Lt(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:jt(o.paddingLeft),paddingEnd:jt(o.paddingRight)}})}})},`ScrollAreaScrollbarX`)),xt=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=y(t,c,a.onScrollbarYChange);return q.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,J.jsx)(wt,{"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":Nt(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),Lt(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:jt(o.paddingTop),paddingEnd:jt(o.paddingBottom)}})}})},`ScrollAreaScrollbarY`)),[St,Ct]=ct(Z),wt=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=y(t,h),_=q.useRef(null),v=q.useRef(``),b=p.viewport,x=r.content-r.viewport,S=k(u),C=k(c),w=zt(d,10);function E(e){if(_.current){let t=e.clientX-_.current.left,n=e.clientY-_.current.top;l({x:t,y:n})}}return Y(E,`handleDragScroll`),q.useEffect(()=>{let e=Y(e=>{let t=e.target;m?.contains(t)&&S(e,x)},`handleWheel`);return document.addEventListener(`wheel`,e,{passive:!1}),()=>document.removeEventListener(`wheel`,e,{passive:!1})},[b,m,x,S]),q.useEffect(C,[r,C]),Q(m,w),Q(p.content,w),(0,J.jsx)(St,{scope:n,scrollbar:m,hasThumb:i,onThumbChange:k(a),onThumbPointerUp:k(o),onThumbPositionChange:C,onThumbPointerDown:k(s),children:(0,J.jsx)(D.div,{...f,ref:g,style:{position:`absolute`,...f.style},onPointerDown:T(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`),E(e))}),onPointerMove:T(e.onPointerMove,E),onPointerUp:T(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`)),Tt=`ScrollAreaThumb`,Et=q.forwardRef(Y(function(e,t){let{forceMount:n,...r}=e,i=Ct(Tt,e.__scopeScrollArea);return(0,J.jsx)(O,{present:n||i.hasThumb,children:(0,J.jsx)(Dt,{ref:t,...r})})},`ScrollAreaThumb`)),Dt=q.forwardRef(Y(function(e,t){let{__scopeScrollArea:n,style:r,...i}=e,a=X(Tt,n),o=Ct(Tt,n),{onThumbPositionChange:s}=o,c=y(t,o.onThumbChange),l=q.useRef(void 0),u=zt(()=>{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=Rt(e,s);l.current=t,s()}},`handleScroll`);return s(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[a.viewport,u,s]),(0,J.jsx)(D.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:T(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:T(e.onPointerUp,o.onThumbPointerUp)})},`ScrollAreaThumbImpl`)),Ot=`ScrollAreaCorner`,kt=q.forwardRef(Y(function(e,t){let n=X(Ot,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!==`scroll`&&r?(0,J.jsx)(At,{...e,ref:t}):null},`ScrollAreaCorner`)),At=q.forwardRef(Y(function(e,t){let{__scopeScrollArea:n,...r}=e,i=X(Ot,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)(D.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 jt(e){return e?parseInt(e,10):0}Y(jt,`toInt`);function Mt(e,t){let n=e/t;return isNaN(n)?0:n}Y(Mt,`getThumbRatio`);function Nt(e){let t=Mt(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}Y(Nt,`getThumbSize`);function Pt(e,t,n,r=`ltr`){let i=Nt(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 It([c,l],d)(e)}Y(Pt,`getScrollPositionFromPointer`);function Ft(e,t,n=`ltr`){let r=Nt(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=F(e,c);return It([0,o],[0,s])(l)}Y(Ft,`getThumbOffsetFromScroll`);function It(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(It,`linearScale`);function Lt(e,t){return e>0&&e<t}Y(Lt,`isScrollingWithinScrollbarBounds`);var Rt=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 zt(e,t){let n=k(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(zt,`useDebounceCallback`);function Q(e,t){let n=k(t);E(()=>{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 Bt=dt,Vt=pt,Ht=kt,Ut=te(`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`}]]),Wt=te(`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(),Gt=({chatState:e,chatId:t,messages:n})=>{if(!t)return v.warn(`No active chat`),e;let r=e.chats.get(t);if(!r)return v.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}},Kt=class extends W{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)}}))}},qt=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=C(`relative overflow-hidden`,i),n[4]=i,n[5]=o);let s;n[6]===r?s=n[7]:(s=(0,J.jsx)(Vt,{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)(Jt,{}),l=(0,J.jsx)(Ht,{}),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)(Bt,{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});qt.displayName=Bt.displayName;var Jt=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=C(`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)(Et,{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)(ht,{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});Jt.displayName=ht.displayName;var Yt=[{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}],Xt=e=>{let t=Date.now(),n=Yt.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)},Zt=50,Qt=e=>{let t=(0,$.c)(45),{activeChatId:n,setActiveChat:i,onDeleteChats:a,isLoading:o}=e,s=r(Qe),{locale:c}=Xe(),[u,p]=(0,q.useState)(``),h=(0,q.useRef)(null),[g,_]=(0,q.useState)(!1),{openConfirm:v,closeModal:y}=ze(),b;t[0]!==y||t[1]!==a||t[2]!==v?(b=()=>{_(!1),v({title:`Delete all chats?`,description:`This will permanently delete all chat history for all notebooks on this site in this browser. This cannot be undone.`,variant:`destructive`,confirmAction:(0,J.jsx)(M,{onClick:()=>{a(null),y()},children:`Delete all chats`})})},t[0]=y,t[1]=a,t[2]=v,t[3]=b):b=t[3];let x=b,S;t[4]===s.chats?S=t[5]:(S=[...s.chats.values()].toSorted($t),t[4]=s.chats,t[5]=S);let w=S,T;bb0:{if(!u.trim()){T=w;break bb0}let e;if(t[6]!==w||t[7]!==u){let n;t[9]===u?n=t[10]:(n=e=>e.title.toLowerCase().includes(u.toLowerCase()),t[9]=u,t[10]=n),e=w.filter(n),t[6]=w,t[7]=u,t[8]=e}else e=t[8];T=e}let E=T,D;t[11]===E?D=t[12]:(D=Xt(E),t[11]=E,t[12]=D);let O=D,k;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,J.jsx)(V,{content:`Previous chats`,children:(0,J.jsx)(f,{asChild:!0,children:(0,J.jsx)(H,{variant:`text`,size:`icon`,"aria-label":`Previous chats`,children:(0,J.jsx)(l,{className:`h-4 w-4`})})})}),t[13]=k):k=t[13];let A;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(A=e=>p(e.target.value),t[14]=A):A=t[14];let j;t[15]===u?j=t[16]:(j=(0,J.jsx)(`div`,{className:`pt-3 px-3 w-full`,children:(0,J.jsx)(Ue,{ref:h,placeholder:`Search chat history...`,value:u,onChange:A,className:`text-xs`})}),t[15]=u,t[16]=j);let N;t[17]===w.length?N=t[18]:(N=w.length===0&&(0,J.jsx)(rt,{title:`No chats yet`,description:`Start a new chat to get started`,icon:(0,J.jsx)(U,{})}),t[17]=w.length,t[18]=N);let P;t[19]!==w.length||t[20]!==E.length||t[21]!==u?(P=E.length===0&&u&&w.length>0&&(0,J.jsx)(rt,{title:`No chats found`,description:`No chats match "${u}"`,icon:(0,J.jsx)(We,{})}),t[19]=w.length,t[20]=E.length,t[21]=u,t[22]=P):P=t[22];let F;t[23]!==n||t[24]!==O||t[25]!==o||t[26]!==c||t[27]!==a||t[28]!==i?(F=O.map((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)(`div`,{className:C(`w-full rounded-md flex items-center justify-between`,e.id===n&&`bg-accent`,e.id!==n&&`hover:bg-muted/20`),children:[(0,J.jsxs)(`button`,{className:`flex flex-1 min-w-0 items-center justify-between p-1 text-left cursor-pointer`,onClick:()=>i(e.id),type:`button`,children:[(0,J.jsx)(`span`,{className:`text-sm truncate`,children:e.title}),(0,J.jsx)(`span`,{className:`text-xs text-muted-foreground/60 ml-2 shrink-0`,children:Ze(e.updatedAt,c)})]}),(0,J.jsx)(V,{content:o&&e.id===n?`Stop the response before deleting this chat`:`Delete chat`,children:(0,J.jsx)(H,{variant:`text`,size:`icon`,className:`text-muted-foreground/90 hover:text-destructive transition-colors ml-px`,"aria-label":`Delete chat: ${e.title}`,disabled:o&&e.id===n,onClick:()=>{h.current?.focus(),a(e.id)},children:(0,J.jsx)(Ke,{className:`h-3.5 w-3.5`})})})]},e.id))}),t!==O.length-1&&(0,J.jsx)(`hr`,{})]},e.label)),t[23]=n,t[24]=O,t[25]=o,t[26]=c,t[27]=a,t[28]=i,t[29]=F):F=t[29];let I;t[30]!==F||t[31]!==N||t[32]!==P?(I=(0,J.jsx)(qt,{className:`h-[450px] p-2`,children:(0,J.jsxs)(`div`,{className:`space-y-3`,children:[N,P,F]})}),t[30]=F,t[31]=N,t[32]=P,t[33]=I):I=t[33];let L;t[34]!==w.length||t[35]!==x||t[36]!==o?(L=w.length>0&&(0,J.jsxs)(`div`,{className:`border-t p-2 flex items-center justify-between gap-2`,children:[w.length>Zt?(0,J.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`You have over `,(0,J.jsx)(`b`,{children:Zt}),` chats. Delete old chats to free up browser storage.`]}):(0,J.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Chats are shared across notebooks.`}),(0,J.jsx)(H,{variant:`linkDestructive`,size:`xs`,disabled:o,onClick:x,children:`Delete all chats`})]}),t[34]=w.length,t[35]=x,t[36]=o,t[37]=L):L=t[37];let R;t[38]!==I||t[39]!==L||t[40]!==j?(R=(0,J.jsxs)(m,{className:`w-[480px] p-0`,align:`start`,side:`right`,children:[j,I,L]}),t[38]=I,t[39]=L,t[40]=j,t[41]=R):R=t[41];let z;return t[42]!==g||t[43]!==R?(z=(0,J.jsxs)(d,{open:g,onOpenChange:_,children:[k,R]}),t[42]=g,t[43]=R,t[44]=z):z=t[44],z};function $t(e,t){return t.updatedAt-e.updatedAt}var en=()=>{let e=(0,$.c)(17),[n,r]=t(et),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=C(`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)(Wt,{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)(H,{"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)(Be,{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)(B,{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 tn(){return Ye()}function nn(e){let t=(0,$.c)(4),[n,r]=(0,q.useState)(tn),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=()=>r(tn()),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 rn=`manual`,an=(0,q.memo)(e=>{let t=(0,$.c)(18),{message:n}=e,r;t[0]===n.parts?r=t[1]:(r=n.parts.filter(pn).map(mn).join(`
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-BDjgaBtz.js";import{t as o}from"./react-DVplv7_D.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-D_11MjVB.js";import{t as h}from"./compiler-runtime-BrajqUja.js";import{i as g,t as _}from"./config-DpY86_Yq.js";import{g as v,o as y}from"./useEventListener-CjDeLqFC.js";import{t as b}from"./config-DMz7oN0r.js";import{M as x,o as S}from"./config-CD1IuZFJ.js";import{t as C}from"./cn-ldLVeaqm.js";import{t as w}from"./jsx-runtime-B74pBk57.js";import{C as T,S as E,T as D,b as O,v as k,w as A}from"./fullscreen-BWTs8pYZ.js";import{u as j}from"./menu-items-BgUyNUpu.js";import{o as M}from"./alert-dialog-C-sWmKva.js";import{a as N,i as P,m as F,n as I,r as L,s as R,t as z}from"./select-3CVGlYrC.js";import{t as B}from"./switch-DYjBfpNJ.js";import{i as ee,t as V}from"./tooltip-CkGm8X7m.js";import{t as H}from"./button-D8gVKwe-.js";import{t as te}from"./createLucideIcon-DfJ2oMlA.js";import{t as ne}from"./arrow-right-Cgit4Nk2.js";import{t as U}from"./bot-message-square-8xmbrehG.js";import{M as re,c as ie,h as ae,m as oe,p as se,r as ce,t as le}from"./ai-model-dropdown-Bvl1ktQq.js";import{i as ue,n as de,r as fe,t as pe}from"./chat-display-BCR_ySiV.js";import{B as W,C as me,D as he,E as ge,N as _e,R as ve,S as ye,U as be,_ as xe,b as Se,c as Ce,d as we,f as G,g as Te,h as Ee,k as De,l as Oe,m as ke,n as Ae,u as je,v as Me,w as Ne,x as Pe,y as Fe,z as Ie}from"./add-cell-with-ai-Clg5FELx.js";import{t as Le}from"./code-BEiQP4pS.js";import{t as Re}from"./hat-glasses-C8RhSVii.js";import{b as ze,p as Be}from"./write-secret-modal-BEx-EUlh.js";import{n as Ve}from"./spinner-DyNE-o8o.js";import{t as K}from"./message-circle-C3rKm8_a.js";import{t as He}from"./plus-C5silF6g.js";import{r as Ue,rn as We}from"./input-DmHMEZGh.js";import{t as Ge}from"./settings-BpdQZRgT.js";import{t as Ke}from"./trash-2-DcgaW8fn.js";import{t as qe}from"./copy-icon-8-a5vovc.js";import{r as Je}from"./requests-BIFR-h4M.js";import{t as Ye}from"./uuid-k9DpjH68.js";import{t as Xe}from"./I18nProvider-Cg2I_s1_.js";import{l as Ze}from"./dates-CQMwFko2.js";import{i as Qe,o as $e,r as et,t as tt}from"./state-Dv059B3A.js";import{n as nt}from"./error-banner-B5kzVf_0.js";import{t as rt}from"./empty-state-BaCKb7o3.js";import{t as it}from"./scroll-to-bottom-button-CIkON2WJ.js";var q=e(o(),1),J=w(),at=Object.defineProperty,Y=(e,t)=>at(e,`name`,{value:t,configurable:!0});function ot(e,t){return q.useReducer((e,n)=>t[e][n]??e,e)}Y(ot,`useStateMachine`);var st=`ScrollArea`,[ct,lt]=A(st),[ut,X]=ct(st),dt=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),[b,x]=q.useState(0),[S,C]=q.useState(!1),[w,T]=q.useState(!1),E=y(t,c),O=j(i);return(0,J.jsx)(ut,{scope:n,type:r,dir:O,scrollHideDelay:a,scrollArea:s,viewport:l,onViewportChange:u,content:d,onContentChange:f,scrollbarX:p,onScrollbarXChange:m,scrollbarXEnabled:S,onScrollbarXEnabledChange:C,scrollbarY:h,onScrollbarYChange:g,scrollbarYEnabled:w,onScrollbarYEnabledChange:T,onCornerWidthChange:v,onCornerHeightChange:x,children:(0,J.jsx)(D.div,{dir:O,...o,ref:E,style:{position:`relative`,"--radix-scroll-area-corner-width":_+`px`,"--radix-scroll-area-corner-height":b+`px`,...e.style}})})},`ScrollArea`)),ft=`ScrollAreaViewport`,pt=q.forwardRef(Y(function(e,t){let{__scopeScrollArea:n,children:r,nonce:i,...a}=e,o=X(ft,n),s=q.useRef(null),c=y(t,s,o.onViewportChange);return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(mt,{nonce:i}),(0,J.jsx)(D.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`)),mt=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`,ht=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)(gt,{...r,ref:t,forceMount:n}):i.type===`scroll`?(0,J.jsx)(_t,{...r,ref:t,forceMount:n}):i.type===`auto`?(0,J.jsx)(vt,{...r,ref:t,forceMount:n}):i.type===`always`?(0,J.jsx)(yt,{...r,ref:t,"data-state":`visible`}):null},`ScrollAreaScrollbar`)),gt=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)(O,{present:n||a,children:(0,J.jsx)(vt,{"data-state":a?`visible`:`hidden`,...r,ref:t})})},`ScrollAreaScrollbarHover`)),_t=q.forwardRef(Y(function(e,t){let{forceMount:n,...r}=e,i=X(Z,e.__scopeScrollArea),a=e.orientation===`horizontal`,o=zt(()=>c(`SCROLL_END`),100),[s,c]=ot(`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)(O,{present:n||s!==`hidden`,children:(0,J.jsx)(yt,{"data-state":s===`hidden`?`hidden`:`visible`,...r,ref:t,onPointerEnter:T(e.onPointerEnter,()=>c(`POINTER_ENTER`)),onPointerLeave:T(e.onPointerLeave,()=>c(`POINTER_LEAVE`))})})},`ScrollAreaScrollbarScroll`)),vt=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=zt(()=>{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)(O,{present:r||a,children:(0,J.jsx)(yt,{"data-state":a?`visible`:`hidden`,...i,ref:t})})},`ScrollAreaScrollbarAuto`)),yt=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=Mt(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 Pt(e,o.current,s,t)}return Y(d,`getScrollPosition`),n===`horizontal`?(0,J.jsx)(bt,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollLeft,t=Ft(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)(xt,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollTop,t=Ft(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`)),bt=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=y(t,c,a.onScrollbarXChange);return q.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,J.jsx)(wt,{"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":Nt(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),Lt(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:jt(o.paddingLeft),paddingEnd:jt(o.paddingRight)}})}})},`ScrollAreaScrollbarX`)),xt=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=y(t,c,a.onScrollbarYChange);return q.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,J.jsx)(wt,{"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":Nt(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),Lt(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:jt(o.paddingTop),paddingEnd:jt(o.paddingBottom)}})}})},`ScrollAreaScrollbarY`)),[St,Ct]=ct(Z),wt=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=y(t,h),_=q.useRef(null),v=q.useRef(``),b=p.viewport,x=r.content-r.viewport,S=k(u),C=k(c),w=zt(d,10);function E(e){if(_.current){let t=e.clientX-_.current.left,n=e.clientY-_.current.top;l({x:t,y:n})}}return Y(E,`handleDragScroll`),q.useEffect(()=>{let e=Y(e=>{let t=e.target;m?.contains(t)&&S(e,x)},`handleWheel`);return document.addEventListener(`wheel`,e,{passive:!1}),()=>document.removeEventListener(`wheel`,e,{passive:!1})},[b,m,x,S]),q.useEffect(C,[r,C]),Q(m,w),Q(p.content,w),(0,J.jsx)(St,{scope:n,scrollbar:m,hasThumb:i,onThumbChange:k(a),onThumbPointerUp:k(o),onThumbPositionChange:C,onThumbPointerDown:k(s),children:(0,J.jsx)(D.div,{...f,ref:g,style:{position:`absolute`,...f.style},onPointerDown:T(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`),E(e))}),onPointerMove:T(e.onPointerMove,E),onPointerUp:T(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`)),Tt=`ScrollAreaThumb`,Et=q.forwardRef(Y(function(e,t){let{forceMount:n,...r}=e,i=Ct(Tt,e.__scopeScrollArea);return(0,J.jsx)(O,{present:n||i.hasThumb,children:(0,J.jsx)(Dt,{ref:t,...r})})},`ScrollAreaThumb`)),Dt=q.forwardRef(Y(function(e,t){let{__scopeScrollArea:n,style:r,...i}=e,a=X(Tt,n),o=Ct(Tt,n),{onThumbPositionChange:s}=o,c=y(t,o.onThumbChange),l=q.useRef(void 0),u=zt(()=>{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=Rt(e,s);l.current=t,s()}},`handleScroll`);return s(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[a.viewport,u,s]),(0,J.jsx)(D.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:T(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:T(e.onPointerUp,o.onThumbPointerUp)})},`ScrollAreaThumbImpl`)),Ot=`ScrollAreaCorner`,kt=q.forwardRef(Y(function(e,t){let n=X(Ot,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!==`scroll`&&r?(0,J.jsx)(At,{...e,ref:t}):null},`ScrollAreaCorner`)),At=q.forwardRef(Y(function(e,t){let{__scopeScrollArea:n,...r}=e,i=X(Ot,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)(D.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 jt(e){return e?parseInt(e,10):0}Y(jt,`toInt`);function Mt(e,t){let n=e/t;return isNaN(n)?0:n}Y(Mt,`getThumbRatio`);function Nt(e){let t=Mt(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}Y(Nt,`getThumbSize`);function Pt(e,t,n,r=`ltr`){let i=Nt(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 It([c,l],d)(e)}Y(Pt,`getScrollPositionFromPointer`);function Ft(e,t,n=`ltr`){let r=Nt(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=F(e,c);return It([0,o],[0,s])(l)}Y(Ft,`getThumbOffsetFromScroll`);function It(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(It,`linearScale`);function Lt(e,t){return e>0&&e<t}Y(Lt,`isScrollingWithinScrollbarBounds`);var Rt=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 zt(e,t){let n=k(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(zt,`useDebounceCallback`);function Q(e,t){let n=k(t);E(()=>{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 Bt=dt,Vt=pt,Ht=kt,Ut=te(`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`}]]),Wt=te(`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(),Gt=({chatState:e,chatId:t,messages:n})=>{if(!t)return v.warn(`No active chat`),e;let r=e.chats.get(t);if(!r)return v.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}},Kt=class extends W{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)}}))}},qt=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=C(`relative overflow-hidden`,i),n[4]=i,n[5]=o);let s;n[6]===r?s=n[7]:(s=(0,J.jsx)(Vt,{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)(Jt,{}),l=(0,J.jsx)(Ht,{}),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)(Bt,{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});qt.displayName=Bt.displayName;var Jt=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=C(`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)(Et,{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)(ht,{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});Jt.displayName=ht.displayName;var Yt=[{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}],Xt=e=>{let t=Date.now(),n=Yt.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)},Zt=50,Qt=e=>{let t=(0,$.c)(45),{activeChatId:n,setActiveChat:i,onDeleteChats:a,isLoading:o}=e,s=r(Qe),{locale:c}=Xe(),[u,p]=(0,q.useState)(``),h=(0,q.useRef)(null),[g,_]=(0,q.useState)(!1),{openConfirm:v,closeModal:y}=ze(),b;t[0]!==y||t[1]!==a||t[2]!==v?(b=()=>{_(!1),v({title:`Delete all chats?`,description:`This will permanently delete all chat history for all notebooks on this site in this browser. This cannot be undone.`,variant:`destructive`,confirmAction:(0,J.jsx)(M,{onClick:()=>{a(null),y()},children:`Delete all chats`})})},t[0]=y,t[1]=a,t[2]=v,t[3]=b):b=t[3];let x=b,S;t[4]===s.chats?S=t[5]:(S=[...s.chats.values()].toSorted($t),t[4]=s.chats,t[5]=S);let w=S,T;bb0:{if(!u.trim()){T=w;break bb0}let e;if(t[6]!==w||t[7]!==u){let n;t[9]===u?n=t[10]:(n=e=>e.title.toLowerCase().includes(u.toLowerCase()),t[9]=u,t[10]=n),e=w.filter(n),t[6]=w,t[7]=u,t[8]=e}else e=t[8];T=e}let E=T,D;t[11]===E?D=t[12]:(D=Xt(E),t[11]=E,t[12]=D);let O=D,k;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,J.jsx)(V,{content:`Previous chats`,children:(0,J.jsx)(f,{asChild:!0,children:(0,J.jsx)(H,{variant:`text`,size:`icon`,"aria-label":`Previous chats`,children:(0,J.jsx)(l,{className:`h-4 w-4`})})})}),t[13]=k):k=t[13];let A;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(A=e=>p(e.target.value),t[14]=A):A=t[14];let j;t[15]===u?j=t[16]:(j=(0,J.jsx)(`div`,{className:`pt-3 px-3 w-full`,children:(0,J.jsx)(Ue,{ref:h,placeholder:`Search chat history...`,value:u,onChange:A,className:`text-xs`})}),t[15]=u,t[16]=j);let N;t[17]===w.length?N=t[18]:(N=w.length===0&&(0,J.jsx)(rt,{title:`No chats yet`,description:`Start a new chat to get started`,icon:(0,J.jsx)(U,{})}),t[17]=w.length,t[18]=N);let P;t[19]!==w.length||t[20]!==E.length||t[21]!==u?(P=E.length===0&&u&&w.length>0&&(0,J.jsx)(rt,{title:`No chats found`,description:`No chats match "${u}"`,icon:(0,J.jsx)(We,{})}),t[19]=w.length,t[20]=E.length,t[21]=u,t[22]=P):P=t[22];let F;t[23]!==n||t[24]!==O||t[25]!==o||t[26]!==c||t[27]!==a||t[28]!==i?(F=O.map((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)(`div`,{className:C(`w-full rounded-md flex items-center justify-between`,e.id===n&&`bg-accent`,e.id!==n&&`hover:bg-muted/20`),children:[(0,J.jsxs)(`button`,{className:`flex flex-1 min-w-0 items-center justify-between p-1 text-left cursor-pointer`,onClick:()=>i(e.id),type:`button`,children:[(0,J.jsx)(`span`,{className:`text-sm truncate`,children:e.title}),(0,J.jsx)(`span`,{className:`text-xs text-muted-foreground/60 ml-2 shrink-0`,children:Ze(e.updatedAt,c)})]}),(0,J.jsx)(V,{content:o&&e.id===n?`Stop the response before deleting this chat`:`Delete chat`,children:(0,J.jsx)(H,{variant:`text`,size:`icon`,className:`text-muted-foreground/90 hover:text-destructive transition-colors ml-px`,"aria-label":`Delete chat: ${e.title}`,disabled:o&&e.id===n,onClick:()=>{h.current?.focus(),a(e.id)},children:(0,J.jsx)(Ke,{className:`h-3.5 w-3.5`})})})]},e.id))}),t!==O.length-1&&(0,J.jsx)(`hr`,{})]},e.label)),t[23]=n,t[24]=O,t[25]=o,t[26]=c,t[27]=a,t[28]=i,t[29]=F):F=t[29];let I;t[30]!==F||t[31]!==N||t[32]!==P?(I=(0,J.jsx)(qt,{className:`h-[450px] p-2`,children:(0,J.jsxs)(`div`,{className:`space-y-3`,children:[N,P,F]})}),t[30]=F,t[31]=N,t[32]=P,t[33]=I):I=t[33];let L;t[34]!==w.length||t[35]!==x||t[36]!==o?(L=w.length>0&&(0,J.jsxs)(`div`,{className:`border-t p-2 flex items-center justify-between gap-2`,children:[w.length>Zt?(0,J.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`You have over `,(0,J.jsx)(`b`,{children:Zt}),` chats. Delete old chats to free up browser storage.`]}):(0,J.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Chats are shared across notebooks.`}),(0,J.jsx)(H,{variant:`linkDestructive`,size:`xs`,disabled:o,onClick:x,children:`Delete all chats`})]}),t[34]=w.length,t[35]=x,t[36]=o,t[37]=L):L=t[37];let R;t[38]!==I||t[39]!==L||t[40]!==j?(R=(0,J.jsxs)(m,{className:`w-[480px] p-0`,align:`start`,side:`right`,children:[j,I,L]}),t[38]=I,t[39]=L,t[40]=j,t[41]=R):R=t[41];let z;return t[42]!==g||t[43]!==R?(z=(0,J.jsxs)(d,{open:g,onOpenChange:_,children:[k,R]}),t[42]=g,t[43]=R,t[44]=z):z=t[44],z};function $t(e,t){return t.updatedAt-e.updatedAt}var en=()=>{let e=(0,$.c)(17),[n,r]=t(et),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=C(`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)(Wt,{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)(H,{"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)(Be,{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)(B,{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 tn(){return Ye()}function nn(e){let t=(0,$.c)(4),[n,r]=(0,q.useState)(tn),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=()=>r(tn()),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 rn=`manual`,an=(0,q.memo)(e=>{let t=(0,$.c)(18),{message:n}=e,r;t[0]===n.parts?r=t[1]:(r=n.parts.filter(pn).map(mn).join(`
2
2
  `),t[0]=n.parts,t[1]=r);let i=r,a,o,s;if(t[2]!==n.parts){let e=n.parts.filter(hn);s=`flex justify-end`,a=`w-[95%] bg-background border border-dashed p-2 rounded-sm opacity-70`,o=e.map(gn),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)(Ve,{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});an.displayName=`QueuedMessageDisplay`;var on=e=>{let t=(0,$.c)(21),{onNewChat:n,activeChatId:r,setActiveChat:i,onDeleteChats:a,isLoading:o}=e,{handleClick:s}=ce(),c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,J.jsx)(He,{className:`h-4 w-4`}),t[0]=c):c=t[0];let l;t[1]===n?l=t[2]:(l=(0,J.jsx)(V,{content:`New chat`,children:(0,J.jsx)(H,{"aria-label":`New chat`,variant:`text`,size:`icon`,onClick:n,children:c})}),t[1]=n,t[2]=l);let u,d;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,J.jsx)(V,{content:`Connect your agent`,children:(0,J.jsx)(oe,{className:`mr-1`,label:`Connect`})}),d=(0,J.jsx)(ie,{}),t[3]=u,t[4]=d):(u=t[3],d=t[4]);let f;t[5]===s?f=t[6]:(f=()=>s(`ai`),t[5]=s,t[6]=f);let p;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,J.jsx)(Ge,{className:`h-4 w-4`}),t[7]=p):p=t[7];let m;t[8]===f?m=t[9]:(m=(0,J.jsx)(V,{content:`AI Settings`,children:(0,J.jsx)(H,{variant:`text`,size:`xs`,className:`hover:bg-foreground/10 py-2`,onClick:f,children:p})}),t[8]=f,t[9]=m);let h;t[10]!==r||t[11]!==o||t[12]!==a||t[13]!==i?(h=(0,J.jsx)(Qt,{activeChatId:r,setActiveChat:i,onDeleteChats:a,isLoading:o}),t[10]=r,t[11]=o,t[12]=a,t[13]=i,t[14]=h):h=t[14];let g;t[15]!==m||t[16]!==h?(g=(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[u,d,m,h]}),t[15]=m,t[16]=h,t[17]=g):g=t[17];let _;return t[18]!==l||t[19]!==g?(_=(0,J.jsxs)(`div`,{className:`flex border-b px-2 py-1 justify-between shrink-0 items-center`,children:[l,g]}),t[18]=l,t[19]=g,t[20]=_):_=t[20],_},sn=(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(_n))?.map(vn).join(`
3
3
  `),n=e.parts?.filter(yn);return(0,J.jsxs)(`div`,{className:`w-[95%] bg-background border p-1 rounded-sm`,children:[n?.map(bn),(0,J.jsx)(Ae,{value:t,placeholder:`Type your message...`,onChange:xn,onSubmit:(e,t)=>{t.trim()&&i(r,t)},onClose:Sn},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(Cn).map(wn).join(`
4
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)(qe,{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=C(`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});sn.displayName=`ChatMessage`;var cn=(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||rn,f=u?.models?.chat_model||`openai/gpt-4o`,p=re.parse(f).providerId,{saveModeChange:m}=b(),h;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=[{value:`manual`,label:`Manual`,subtitle:`Pure chat, no tool usage`,Icon:K},{value:`ask`,label:`Ask`,subtitle:`AI with access to read-only tools like documentation search`,Icon:Ut},{value:`agent`,label:`Agent`,subtitle:`AI with access to read and write tools`,Icon:Re},{value:`code_mode`,label:`Code Mode (beta)`,subtitle:`AI with access to the notebook's kernel. Potentially destructive.`,Icon:Le}],t[0]=h):h=t[0];let g=h,v=ke.has(p),y;t[1]!==d||t[2]!==g?(y=g.find(e=>e.value===d),t[1]=d,t[2]=g,t[3]=y):y=t[3];let x=y,S=x?.Icon,C=x?.label,w;t[4]===S?w=t[5]:(w=S&&(0,J.jsx)(S,{className:`h-3 w-3`}),t[4]=S,t[5]=w);let T;t[6]===C?T=t[7]:(T=(0,J.jsx)(`span`,{className:`text-nowrap`,children:C}),t[6]=C,t[7]=T);let E;t[8]!==w||t[9]!==T?(E=(0,J.jsxs)(R,{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:[w,T]}),t[8]=w,t[9]=T,t[10]=E):E=t[10];let D;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,J.jsx)(N,{className:`text-xs uppercase tracking-wider text-muted-foreground/70 font-medium`,children:`AI Mode`}),t[11]=D):D=t[11];let O;t[12]===g?O=t[13]:(O=(0,J.jsx)(I,{children:(0,J.jsxs)(L,{children:[D,g.map(Tn)]})}),t[12]=g,t[13]=O);let k;t[14]!==d||t[15]!==m||t[16]!==E||t[17]!==O?(k=(0,J.jsxs)(z,{value:d,onValueChange:m,children:[E,O]}),t[14]=d,t[15]=m,t[16]=E,t[17]=O,t[18]=k):k=t[18];let A,j;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,J.jsx)(le,{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`}),A=(0,J.jsx)(en,{}),t[19]=A,t[20]=j):(A=t[19],j=t[20]);let M;t[21]===k?M=t[22]:(M=(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1`,children:[k,j,A]}),t[21]=k,t[22]=M);let P;t[23]!==a||t[24]!==l?(P=(0,J.jsx)(Ce,{handleAddContext:l,isLoading:a}),t[23]=a,t[24]=l,t[25]=P):P=t[25];let F;t[26]!==s||t[27]!==v||t[28]!==a||t[29]!==c?(F=v&&(0,J.jsx)(Oe,{fileInputRef:s,isLoading:a,onAddFiles:c}),t[26]=s,t[27]=v,t[28]=a,t[29]=c,t[30]=F):F=t[30];let B;t[31]!==n||t[32]!==a||t[33]!==i||t[34]!==o?(B=(0,J.jsx)(G,{isLoading:a,onStop:o,onSendClick:i,isEmpty:n}),t[31]=n,t[32]=a,t[33]=i,t[34]=o,t[35]=B):B=t[35];let V;t[36]!==P||t[37]!==F||t[38]!==B?(V=(0,J.jsxs)(`div`,{className:`flex flex-row ml-auto`,children:[P,F,B]}),t[36]=P,t[37]=F,t[38]=B,t[39]=V):V=t[39];let H;return t[40]!==M||t[41]!==V?(H=(0,J.jsx)(ee,{children:(0,J.jsxs)(`div`,{className:`px-3 py-2 border-t border-border/20 flex flex-wrap items-center gap-1`,children:[M,V]})}),t[40]=M,t[41]=V,t[42]=H):H=t[42],H});cn.displayName=`ChatInputFooter`;var ln=(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=C(`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=()=>Ne(c),t[18]=c,t[19]=S);let w;t[20]!==d||t[21]!==h||t[22]!==l||t[23]!==f||t[24]!==u||t[25]!==x||t[26]!==S?(w=(0,J.jsx)(cn,{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]=w):w=t[27];let T;return t[28]!==y||t[29]!==w?(T=(0,J.jsxs)(`div`,{className:`relative shrink-0 flex flex-col border-t`,children:[y,w]}),t[28]=y,t[29]=w,t[30]=T):T=t[30],T});ln.displayName=`ChatInput`;var un=e=>{let t=(0,$.c)(5),{onPairWithAgent:n}=e;if(x())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)(ne,{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)(H,{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},dn=()=>{let e=(0,$.c)(9),t=r(g),{handleClick:n}=ce();if(!t){let t;e[0]===n?t=e[1]:(t=(0,J.jsx)(H,{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)(se,{}),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)(U,{}),e[5]=a):a=e[5];let o;return e[6]===i?o=e[7]:(o=(0,J.jsx)(rt,{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)(fn,{}),e[8]=i):i=e[8],i},fn=()=>{let e=a(Qe),[r,o]=t(tt),[l,d]=t($e),[f,p]=(0,q.useState)(``),[m,h]=(0,q.useState)(``),[g,y]=(0,q.useState)(!0),{files:b,addFiles:x,clearFiles:w,removeFile:T}=ye(),{messages:E,enqueue:D,flushNext:O,clear:k,hasQueuedRef:A}=me(),j=(0,q.useRef)(null),M=(0,q.useRef)(null),N=(0,q.useRef)(null),P=(0,q.useRef)(null),F=(0,q.useRef)(null),[I,L]=(0,q.useState)(null),R=i(()=>{F.current=null,L(null)}),z=S(),{invokeAiTool:B,sendRun:V}=Je(),{openModal:te,closeModal:ne}=ze(),U=r?.id,{chatControllerId:re,renewDraftChatId:ie}=nn(U),oe=n(),{addStagedCell:se}=_e(),{createNewCell:ce,prepareForRun:le}=s(),pe={addStagedCell:se,createNewCell:ce,prepareForRun:le,sendRun:V,store:oe},{messages:W,sendMessage:Ce,error:G,status:Oe,regenerate:ke,stop:Ae,addToolOutput:je,addToolApprovalResponse:Ne,id:Le}=Ie({id:re,throttle:100,sendAutomaticallyWhen:({messages:e})=>Me(e),messages:r?.messages||[],transport:new Kt({api:z.getAiURL(`chat`).toString(),headers:()=>z.headers(),prepareSendMessagesRequest:async e=>{let t=await be({messages:e.messages});t.success||v.debug(`Outgoing chat messages failed AI SDK schema validation`,t.error);let n={uiMessages:e.messages,includeOtherCode:c(``),options:oe.get(et)},r=oe.get(_)?.mode||rn,i=De.getToolSchemas(r);return{api:z.getAiURL(`chat`).toString(),body:{tools:i,...e,...n}}}},e=>{let t=fe(e);t!==void 0&&(F.current=t)}),onFinish:({messages:t,isError:n,isAbort:r,finishReason:i})=>{if(e(e=>Gt({chatState:e,chatId:e.activeChatId,messages:t})),r){let e=ue({isAbort:!0,streamReason:F.current});if(R(),e!=null){let t=de(e);v.debug(`Chat stream aborted`,{reason:e,finishReason:i}),L(t)}}else R();Be(t,{isError:n,isAbort:r})},onToolCall:async({toolCall:e})=>{await xe({invokeAiTool:B,addToolOutput:je,toolCall:{toolName:e.toolName,toolCallId:e.toolCallId,input:e.input},toolContext:pe})},onError:e=>{v.error(`An error occurred:`,e)}}),Re=i(e=>{R(),Ce({role:`user`,parts:e})}),Be=i((e,t)=>{A.current&&Pe({isError:t.isError,isAbort:t.isAbort,hasPendingToolCalls:Me(e),hasUnresolvedToolCalls:Fe(e)})&&O(Re)}),K=Oe===`submitted`||Oe===`streaming`,He=i(e=>{K||A.current?D(e):Re(e)}),Ue=i(()=>{let e=N.current;if(!e)return;let{scrollTop:t,scrollHeight:n,clientHeight:r}=e,i=n>r?Math.abs(n-r-t)<5:!0;y(i)}),We=i((e=!1)=>{let t=N.current;t&&t.scrollTo({top:t.scrollHeight,behavior:e?`smooth`:`auto`})}),Ge=K&&W.length>0&&Se(W);(0,q.useEffect)(()=>{y(!0),k(),R()},[U,k,R]),(0,q.useEffect)(()=>{if(!g)return;let e=requestAnimationFrame(()=>{We()});return()=>cancelAnimationFrame(e)},[W,E,K,g,We]),(0,q.useEffect)(()=>{K||Be(W,{isError:G!=null,isAbort:!1})},[W,K,G,Be]);let Ke=i(t=>{let n=Date.now(),r={id:Le,title:Te(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}})}),qe=i(async(e,t)=>{Ke(e);let n=t&&t.length>0?await Ee(t):void 0,{contextPart:r,attachments:i}=await he(e);Ce({role:`user`,parts:[{type:`text`,text:e},...r?[r]:[],...n??[],...i]}),w(),p(``)}),Ye=i(()=>{ie(),o(null),p(``),h(``),k(),w()}),Xe=i(t=>{(t===null||t===U)&&Ye(),e(e=>{let n=new Map(e.chats);return t===null?n.clear():n.delete(t),{chats:n,activeChatId:e.activeChatId&&n.has(e.activeChatId)?e.activeChatId:null}})}),Ze=i(()=>{te((0,J.jsx)(ae,{onClose:ne}))}),rt=i(async(e,t)=>{let n=W[e],r=n.parts?.filter(e=>e.type===`file`&&!ge(e))??[],{contextPart:i,attachments:a}=await he(t),o=n.id;Ce({messageId:o,role:`user`,parts:[{type:`text`,text:t},...i?[i]:[],...r,...a]})}),at=i(async(e,t)=>{if(!t.trim())return;M.current?.view&&ve(M.current.view);let n=b?await Ee(b):void 0,{contextPart:r,attachments:i}=await he(t);e?.preventDefault(),He([{type:`text`,text:t},...r?[r]:[],...n??[],...i]),p(``),w()}),Y=()=>{R(),ke()},ot=i(()=>{m.trim()&&(j.current?.view&&ve(j.current.view),qe(m.trim(),b))}),st=()=>j.current?.editor?.blur(),ct=i(async e=>{U??(Ke(e),p(m));let{contextPart:t,attachments:n}=await he(e);He([{type:`text`,text:e},...t?[t]:[],...n])}),lt=W.length===0;(0,q.useEffect)(()=>{if(!l)return;d(null);let{prompt:e,submit:t}=l;t?ct(e):lt?(h(e),u(j)):(p(e),u(M))},[l,d,lt,ct]);let ut=lt?(0,J.jsx)(ln,{placeholder:`Ask anything, @ to include context about tables or dataframes`,input:m,inputRef:j,inputClassName:`px-1 py-0`,setInput:h,onSubmit:ot,isLoading:K,onStop:Ae,fileInputRef:P,onAddFiles:x,onClose:st},`new-thread-input`):(0,J.jsx)(ln,{input:f,setInput:p,onSubmit:at,inputRef:M,isLoading:K,onStop:Ae,onClose:()=>M.current?.editor?.blur(),fileInputRef:P,onAddFiles:x}),X=b&&b.length>0&&(0,J.jsx)(`div`,{className:C(`flex flex-row gap-1 flex-wrap p-1`,lt&&`py-2 px-1`),children:b?.map(e=>(0,J.jsx)(we,{file:e,onRemove:()=>T(e)},e.name))});return(0,J.jsxs)(`div`,{className:`flex flex-col h-[calc(100%-53px)]`,children:[(0,J.jsx)(ee,{children:(0,J.jsx)(on,{onNewChat:Ye,activeChatId:r?.id,setActiveChat:o,onDeleteChats:Xe,isLoading:K})}),(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:N,onScroll:Ue,children:[lt&&(0,J.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,J.jsxs)(`div`,{className:`rounded-md border bg-background`,children:[X,ut]}),(0,J.jsx)(un,{onPairWithAgent:Ze})]}),W.map((e,t)=>(0,J.jsx)(sn,{message:e,index:t,onEdit:rt,isStreamingReasoning:Ge,isLast:t===W.length-1,isActive:K,addToolApprovalResponse:Ne},e.id)),E.map(e=>(0,J.jsx)(an,{message:e},e.id)),K&&(0,J.jsx)(`div`,{className:`flex justify-center py-4`,children:(0,J.jsx)(Ve,{className:`h-4 w-4 animate-spin`})}),G&&(0,J.jsxs)(`div`,{className:`flex items-center justify-center space-x-2 mb-4`,children:[(0,J.jsx)(nt,{error:G||Error(`Unknown error`)}),(0,J.jsx)(H,{variant:`outline`,size:`sm`,onClick:Y,children:`Retry`})]}),I&&!K&&!G&&(0,J.jsx)(`div`,{className:`flex justify-center py-2`,children:(0,J.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:I})})]}),(0,J.jsx)(it,{isVisible:!g&&(W.length>0||E.length>0),onScrollToBottom:()=>We(!0)})]}),K&&(0,J.jsx)(`div`,{className:`w-full flex justify-center items-center z-20 border-t`,children:(0,J.jsx)(H,{variant:`linkDestructive`,size:`sm`,onClick:Ae,children:`Stop`})}),!lt&&(0,J.jsxs)(J.Fragment,{children:[X,ut]})]})};function pn(e){return e.type===`text`}function mn(e){return e.text}function hn(e){return e.type===`file`}function gn(e,t){return(0,J.jsx)(je,{attachment:e},t)}function _n(e){return e.type===`text`}function vn(e){return e.text}function yn(e){return e.type===`file`}function bn(e,t){return(0,J.jsx)(je,{attachment:e},t)}function xn(){}function Sn(){}function Cn(e){return e.type===`text`}function wn(e){return e.text}function Tn(e){return(0,J.jsx)(P,{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{dn as default};
@@ -1,4 +1,4 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./react-DVplv7_D.js";import{Tr as n,cn as r,dn as i,fo as a,un as o}from"./cells-B23_t5uX.js";import{C as s,I as c,N as l,O as u,x as d}from"./schemas-ChRqMOTL.js";import{t as f}from"./compiler-runtime-BrajqUja.js";import{g as p,t as m}from"./useEventListener-CjDeLqFC.js";import{t as h}from"./objects-rLPlQ3X_.js";import{t as g}from"./cn-ldLVeaqm.js";import{t as _}from"./jsx-runtime-B74pBk57.js";import{a as v,p as y,r as b,t as x}from"./dropdown-menu-DS6umAnH.js";import{d as S}from"./select-3CVGlYrC.js";import{t as C}from"./tooltip-CkGm8X7m.js";import{t as w}from"./button-D8gVKwe-.js";import{t as T}from"./bot-message-square-8xmbrehG.js";import{r as E}from"./useNumberFormatter-D7O_26UI.js";import{s as D}from"./toDate-DOj9Q6uC.js";import{i as O,n as k,r as A,t as ee}from"./chat-display-DSezZ1qo.js";import{B as te,H as ne,K as re,h as ie,n as ae,q as oe,v as se,z as ce}from"./add-cell-with-ai-CRbG5cTT.js";import{t as le}from"./spinner-DyNE-o8o.js";import{t as ue}from"./rotate-cw-CZ2syZTu.js";import{o as j,r as M}from"./input-DmHMEZGh.js";import{t as N}from"./settings-BpdQZRgT.js";import{t as P}from"./square-BPmgQFnh.js";import{t as F}from"./trash-2-DcgaW8fn.js";import{t as I}from"./copy-icon-8-a5vovc.js";import{t as L}from"./strings-C25fhMR_.js";import{t as R}from"./uuid-k9DpjH68.js";import{n as z}from"./useAsyncData-qvoPYHtx.js";import{r as B}from"./react-icons.esm-D6tfmvq8.js";import{t as V}from"./events-CbeVJ6OD.js";import{n as H}from"./error-banner-B5kzVf_0.js";var U=f(),W=_(),G=e(t(),1),K=a,de=l({type:u(`stream_chunk`),message_id:c(),content:d().nullable().transform(e=>e),is_final:s().optional()});function fe(e,t){let{controllerRef:n,activeRequestIdRef:r}=t,i=n.current;if(i===null)return`dropped-no-controller`;let a=r.current;return a!==null&&e.message_id!==a?(p.debug(`Dropping stale chat chunk`,{chunkRequestId:e.message_id,activeRequestId:a}),`dropped-stale`):(e.content&&i.enqueue(e.content),e.is_final?(i.close(),n.current=null,r.current=null,`closed`):`enqueued`)}var q=e=>{let[t,r]=(0,G.useState)(``),[i,a]=(0,G.useState)(e.config),[o,s]=(0,G.useState)(e.config),[c,l]=(0,G.useState)(void 0),u=(0,G.useRef)(null),d=(0,G.useRef)(null),f=(0,G.useRef)(null),h=(0,G.useRef)(null);Object.keys(e.config).some(t=>e.config[t]!==o[t])&&(a(e.config),s(e.config));let _=(0,G.useRef)(i);(0,G.useLayoutEffect)(()=>{_.current=i},[i]);let v=(0,G.useRef)(null),y=(0,G.useRef)(null),b=(0,G.useRef)(null),[x,S]=(0,G.useState)(null),D=()=>{b.current=null,S(null)},{data:j}=z(async()=>(await e.get_chat_history({})).messages,[]),M=e.value.length>0?e.value:j,{messages:N,sendMessage:L,setMessages:B,status:U,stop:K,error:q,regenerate:J,clearError:Y,addToolApprovalResponse:X}=ce({sendAutomaticallyWhen:({messages:e})=>se(e),transport:new te({fetch:async(t,n)=>{if(n===void 0)return fetch(t);let r=JSON.parse(n.body),i=n.signal,a={max_tokens:_.current.max_tokens,temperature:_.current.temperature,top_p:_.current.top_p,top_k:_.current.top_k,frequency_penalty:_.current.frequency_penalty,presence_penalty:_.current.presence_penalty};try{let t=r.messages.map(e=>({...e,content:e.parts?.map(e=>`text`in e?e.text:``).join(`
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./react-DVplv7_D.js";import{Tr as n,cn as r,dn as i,fo as a,un as o}from"./cells-D_11MjVB.js";import{C as s,I as c,N as l,O as u,x as d}from"./schemas-ChRqMOTL.js";import{t as f}from"./compiler-runtime-BrajqUja.js";import{g as p,t as m}from"./useEventListener-CjDeLqFC.js";import{t as h}from"./objects-rLPlQ3X_.js";import{t as g}from"./cn-ldLVeaqm.js";import{t as _}from"./jsx-runtime-B74pBk57.js";import{a as v,p as y,r as b,t as x}from"./dropdown-menu-DS6umAnH.js";import{d as S}from"./select-3CVGlYrC.js";import{t as C}from"./tooltip-CkGm8X7m.js";import{t as w}from"./button-D8gVKwe-.js";import{t as T}from"./bot-message-square-8xmbrehG.js";import{r as E}from"./useNumberFormatter-D7O_26UI.js";import{s as D}from"./toDate-DOj9Q6uC.js";import{i as O,n as k,r as A,t as ee}from"./chat-display-BCR_ySiV.js";import{B as te,H as ne,K as re,h as ie,n as ae,q as oe,v as se,z as ce}from"./add-cell-with-ai-Clg5FELx.js";import{t as le}from"./spinner-DyNE-o8o.js";import{t as ue}from"./rotate-cw-CZ2syZTu.js";import{o as j,r as M}from"./input-DmHMEZGh.js";import{t as N}from"./settings-BpdQZRgT.js";import{t as P}from"./square-BPmgQFnh.js";import{t as F}from"./trash-2-DcgaW8fn.js";import{t as I}from"./copy-icon-8-a5vovc.js";import{t as L}from"./strings-C25fhMR_.js";import{t as R}from"./uuid-k9DpjH68.js";import{n as z}from"./useAsyncData-qvoPYHtx.js";import{r as B}from"./react-icons.esm-D6tfmvq8.js";import{t as V}from"./events-CbeVJ6OD.js";import{n as H}from"./error-banner-B5kzVf_0.js";var U=f(),W=_(),G=e(t(),1),K=a,de=l({type:u(`stream_chunk`),message_id:c(),content:d().nullable().transform(e=>e),is_final:s().optional()});function fe(e,t){let{controllerRef:n,activeRequestIdRef:r}=t,i=n.current;if(i===null)return`dropped-no-controller`;let a=r.current;return a!==null&&e.message_id!==a?(p.debug(`Dropping stale chat chunk`,{chunkRequestId:e.message_id,activeRequestId:a}),`dropped-stale`):(e.content&&i.enqueue(e.content),e.is_final?(i.close(),n.current=null,r.current=null,`closed`):`enqueued`)}var q=e=>{let[t,r]=(0,G.useState)(``),[i,a]=(0,G.useState)(e.config),[o,s]=(0,G.useState)(e.config),[c,l]=(0,G.useState)(void 0),u=(0,G.useRef)(null),d=(0,G.useRef)(null),f=(0,G.useRef)(null),h=(0,G.useRef)(null);Object.keys(e.config).some(t=>e.config[t]!==o[t])&&(a(e.config),s(e.config));let _=(0,G.useRef)(i);(0,G.useLayoutEffect)(()=>{_.current=i},[i]);let v=(0,G.useRef)(null),y=(0,G.useRef)(null),b=(0,G.useRef)(null),[x,S]=(0,G.useState)(null),D=()=>{b.current=null,S(null)},{data:j}=z(async()=>(await e.get_chat_history({})).messages,[]),M=e.value.length>0?e.value:j,{messages:N,sendMessage:L,setMessages:B,status:U,stop:K,error:q,regenerate:J,clearError:Y,addToolApprovalResponse:X}=ce({sendAutomaticallyWhen:({messages:e})=>se(e),transport:new te({fetch:async(t,n)=>{if(n===void 0)return fetch(t);let r=JSON.parse(n.body),i=n.signal,a={max_tokens:_.current.max_tokens,temperature:_.current.temperature,top_p:_.current.top_p,top_k:_.current.top_k,frequency_penalty:_.current.frequency_penalty,presence_penalty:_.current.presence_penalty};try{let t=r.messages.map(e=>({...e,content:e.parts?.map(e=>`text`in e?e.text:``).join(`
2
2
  `)})),n=R();D();let o=new ReadableStream({start(t){v.current=t,y.current=n;let r=()=>{try{t.close()}catch(e){p.debug(`Controller may already be closed`,{error:e})}v.current=null,y.current=null,e.cancel_prompt({request_id:n}).catch(e=>{p.debug(`cancel_prompt failed`,{error:e})})};return i?.addEventListener(`abort`,r),()=>{i?.removeEventListener(`abort`,r)}},cancel(){v.current=null,y.current=null}});return e.send_prompt({request_id:n,messages:t,config:a}).catch(e=>{v.current?.error(e),v.current=null,y.current=null}),ne({stream:o})}catch(e){if(e instanceof Error&&e.name===`AbortError`)return new Response(`Aborted`,{status:499});let t=e.message?.split(`failed with exception `).pop();return new Response(t,{status:400})}}}),messages:M,onFinish:({messages:t,isAbort:n,finishReason:r})=>{if(l(void 0),u.current&&(u.current.value=``),p.debug(`Finished streaming message:`,{finishReason:r,isAbort:n}),n){let e=O({isAbort:!0,streamReason:b.current});if(D(),e!=null){let t=k(e);p.debug(`Chat stream aborted`,{reason:e,finishReason:r}),S(t)}}else D();e.setValue(t)},onError:e=>{p.error(`An error occurred:`,e)}});m(e.host,V.TYPE,e=>{let t=de.safeParse(e.detail.message);if(t.success){if(t.data.content&&t.data.message_id===y.current){let e=A(t.data.content);e!==void 0&&(b.current=e)}fe(t.data,{controllerRef:v,activeRequestIdRef:y})}});let Z=U===`submitted`||U===`streaming`,Q=t=>{let n=N.findIndex(e=>e.id===t);if(n!==-1){let r=N.filter(e=>e.id!==t);e.delete_chat_message({index:n}),B(r),e.setValue(r),r.length===0&&D()}},he=Array.isArray(e.allowAttachments)&&e.allowAttachments.length>0||e.allowAttachments===!0,ge={triggerCompletionRegex:/^\/(\w+)?/,completions:e.prompts.map(e=>({label:`/${e}`,displayLabel:e,apply:e}))},$=e.prompts.length>0?`Type your message here, / for prompts`:`Type your message here...`;(0,G.useEffect)(()=>{h.current?.scrollTo({top:h.current.scrollHeight,behavior:`smooth`})},[N.length,h]);let _e=()=>{let e=f.current?.view;if(e){let t=e.state.doc.length;e.dispatch({changes:{from:0,to:t,insert:``}})}r(``)};return(0,W.jsxs)(`div`,{className:`flex flex-col h-full bg-(--slate-1) rounded-lg shadow border border-(--slate-6) overflow-hidden relative`,style:{maxHeight:e.maxHeight},children:[(0,W.jsx)(`div`,{className:`absolute top-0 right-0 flex justify-end z-10 border border-(--slate-6) bg-inherit rounded-bl-lg`,children:(0,W.jsx)(w,{"aria-label":`Reset chat`,variant:`text`,size:`icon`,disabled:N.length===0,onClick:()=>{B([]),e.setValue([]),e.delete_chat_history({}),Y(),D()},children:(0,W.jsx)(ue,{className:`h-3 w-3`})})}),(0,W.jsxs)(`div`,{className:`grow overflow-y-auto gap-4 pt-8 pb-4 px-2 flex flex-col`,ref:h,children:[N.length===0&&(0,W.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full text-muted-foreground text-center p-4`,children:[(0,W.jsx)(T,{className:`h-12 w-12 mb-4`}),(0,W.jsx)(`h3`,{className:`text-lg font-semibold mb-2`,children:`No messages yet`}),(0,W.jsx)(`p`,{className:`text-sm`,children:`Start a conversation by typing a message below.`})]}),N.map((e,t)=>{let n=e.parts?.filter(e=>e.type===`text`).map(e=>e.text).join(`
3
- `),r=t===N.length-1;return(0,W.jsxs)(`div`,{className:g(`flex flex-col group gap-2`,e.role===`user`?`items-end`:`items-start`),children:[(0,W.jsx)(`div`,{className:`max-w-[80%] p-3 rounded-lg ${e.role===`user`?`bg-(--sky-11) text-(--slate-1) whitespace-pre-wrap`:`bg-(--slate-4) text-(--slate-12)`}`,children:ee({message:e,isStreamingReasoning:U===`streaming`,isLast:r,isActive:Z,addToolApprovalResponse:r?X:void 0})}),(0,W.jsxs)(`div`,{className:`flex justify-end text-xs gap-2 invisible group-hover:visible`,children:[(0,W.jsx)(I,{value:n,className:`h-3 w-3`,buttonClassName:`text-xs text-(--slate-9) hover:text-(--slate-11)`}),(0,W.jsx)(`button`,{type:`button`,onClick:()=>Q(e.id),className:`text-xs text-(--slate-9) hover:text-(--slate-11)`,children:(0,W.jsx)(F,{className:`h-3 w-3 text-(--red-9)`})})]})]},`${e.id}-${t}`)}),Z&&(0,W.jsx)(`div`,{className:`flex items-center justify-center mb-4`,children:(0,W.jsx)(le,{size:`small`})}),q&&(0,W.jsxs)(`div`,{className:`flex items-center justify-center space-x-2 mb-4`,children:[(0,W.jsx)(H,{error:q}),(0,W.jsx)(w,{variant:`outline`,size:`sm`,onClick:()=>J(),children:`Retry`})]}),x&&!Z&&!q&&(0,W.jsx)(`div`,{className:`flex justify-center py-2`,children:(0,W.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:x})})]}),(0,W.jsxs)(`form`,{onSubmit:async n=>{if(n.preventDefault(),e.disabled)return;let r=c?await ie(c):void 0;L({role:`user`,parts:[{type:`text`,text:t},...r??[]]}),_e()},ref:d,inert:e.disabled||void 0,className:g(`flex w-full border-t border-(--slate-6) px-2 py-1 items-center`,e.disabled&&`opacity-50 cursor-not-allowed`),children:[e.showConfigurationControls&&(0,W.jsx)(pe,{config:i,onChange:a}),e.prompts.length>0&&(0,W.jsx)(me,{prompts:e.prompts,onSelect:e=>{r(e),requestAnimationFrame(()=>{let e=f.current?.view;e?.focus(),n(e)})}}),(0,W.jsx)(ae,{className:`rounded-sm mr-2`,placeholder:$,value:t,inputRef:f,maxHeight:e.maxHeight?`${e.maxHeight/2}px`:void 0,onChange:r,onSubmit:(e,t)=>{t.trim()&&d.current?.requestSubmit()},onClose:()=>{},additionalCompletions:ge}),c&&c.length===1&&(0,W.jsx)(`span`,{title:c[0].name,className:`text-sm text-(--slate-11) truncate shrink-0 w-fit max-w-24`,children:c[0].name}),c&&c.length>1&&(0,W.jsxs)(`span`,{title:[...c].map(e=>e.name).join(`
3
+ `),r=t===N.length-1;return(0,W.jsxs)(`div`,{className:g(`flex flex-col group gap-2`,e.role===`user`?`items-end`:`items-start`),children:[(0,W.jsx)(`div`,{className:`max-w-[80%] p-3 rounded-lg ${e.role===`user`?`bg-(--sky-11) text-(--slate-1) whitespace-pre-wrap`:`bg-(--slate-4) text-(--slate-12)`}`,children:ee({message:e,isStreamingReasoning:U===`streaming`,isLast:r,isActive:Z,addToolApprovalResponse:r?X:void 0})}),(0,W.jsxs)(`div`,{className:`flex justify-end text-xs gap-2 invisible group-hover:visible`,children:[(0,W.jsx)(I,{value:n,className:`h-3 w-3`,buttonClassName:`text-xs text-(--slate-9) hover:text-(--slate-11)`}),(0,W.jsx)(`button`,{type:`button`,onClick:()=>Q(e.id),className:`text-xs text-(--slate-9) hover:text-(--slate-11)`,children:(0,W.jsx)(F,{className:`h-3 w-3 text-(--red-9)`})})]})]},e.id)}),Z&&(0,W.jsx)(`div`,{className:`flex items-center justify-center mb-4`,children:(0,W.jsx)(le,{size:`small`})}),q&&(0,W.jsxs)(`div`,{className:`flex items-center justify-center space-x-2 mb-4`,children:[(0,W.jsx)(H,{error:q}),(0,W.jsx)(w,{variant:`outline`,size:`sm`,onClick:()=>J(),children:`Retry`})]}),x&&!Z&&!q&&(0,W.jsx)(`div`,{className:`flex justify-center py-2`,children:(0,W.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:x})})]}),(0,W.jsxs)(`form`,{onSubmit:async n=>{if(n.preventDefault(),e.disabled)return;let r=c?await ie(c):void 0;L({role:`user`,parts:[{type:`text`,text:t},...r??[]]}),_e()},ref:d,inert:e.disabled||void 0,className:g(`flex w-full border-t border-(--slate-6) px-2 py-1 items-center`,e.disabled&&`opacity-50 cursor-not-allowed`),children:[e.showConfigurationControls&&(0,W.jsx)(pe,{config:i,onChange:a}),e.prompts.length>0&&(0,W.jsx)(me,{prompts:e.prompts,onSelect:e=>{r(e),requestAnimationFrame(()=>{let e=f.current?.view;e?.focus(),n(e)})}}),(0,W.jsx)(ae,{className:`rounded-sm mr-2`,placeholder:$,value:t,inputRef:f,maxHeight:e.maxHeight?`${e.maxHeight/2}px`:void 0,onChange:r,onSubmit:(e,t)=>{t.trim()&&d.current?.requestSubmit()},onClose:()=>{},additionalCompletions:ge}),c&&c.length===1&&(0,W.jsx)(`span`,{title:c[0].name,className:`text-sm text-(--slate-11) truncate shrink-0 w-fit max-w-24`,children:c[0].name}),c&&c.length>1&&(0,W.jsxs)(`span`,{title:[...c].map(e=>e.name).join(`
4
4
  `),className:`text-sm text-(--slate-11) truncate shrink-0`,children:[c.length,` files`]}),c&&c.length>0&&(0,W.jsx)(w,{type:`button`,variant:`text`,size:`sm`,onClick:()=>{l(void 0),u.current&&(u.current.value=``)},children:(0,W.jsx)(E,{className:`size-3`})}),he&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(w,{type:`button`,variant:`text`,size:`sm`,onClick:()=>u.current?.click(),children:(0,W.jsx)(oe,{className:`h-4`})}),(0,W.jsx)(`input`,{type:`file`,ref:u,className:`hidden`,multiple:!0,accept:Array.isArray(e.allowAttachments)?e.allowAttachments.join(`,`):void 0,onChange:e=>{e.target.files&&l([...e.target.files])}})]}),Z?(0,W.jsx)(C,{content:`Stop generating`,children:(0,W.jsx)(w,{type:`button`,variant:`link`,size:`xs`,onClick:()=>K(),className:`text-(--red-9) hover:text-(--red-11)`,children:(0,W.jsx)(P,{className:`h-4 w-4 fill-current`})})}):(0,W.jsx)(w,{type:`submit`,disabled:!t,variant:`outline`,size:`xs`,className:`text-(--slate-11)`,"aria-label":`Send message`,children:(0,W.jsx)(re,{className:`h-4 w-4`})})]})]})},J={max_tokens:{min:1,max:4096,description:`Maximum number of tokens to generate`},temperature:{min:0,max:2,step:.1,description:`Controls randomness (0: deterministic, 2: very random)`},top_p:{min:0,max:1,step:.1,description:`Nucleus sampling: probability mass to consider`},top_k:{min:1,max:100,description:`Top-k sampling: number of highest probability tokens to consider`},frequency_penalty:{min:-2,max:2,description:`Penalizes frequent tokens (-2: favor, 2: avoid)`},presence_penalty:{min:-2,max:2,description:`Penalizes new tokens (-2: favor, 2: avoid)`}},pe=e=>{let t=(0,U.c)(16),{config:n,onChange:a}=e,[s,c]=(0,G.useState)(!1),l;t[0]!==n||t[1]!==a?(l=(e,t)=>{let r=t===null||Number.isNaN(t)?null:t;if(r!==null){let{min:t,max:n}=J[e];r=Math.max(t,Math.min(n,r))}let i={...n,[e]:r};a(i)},t[0]=n,t[1]=a,t[2]=l):l=t[2];let u=l,d;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(d=e=>{e.key===`Enter`&&(e.preventDefault(),c(!1))},t[3]=d):d=t[3];let f=d,p;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,W.jsx)(C,{content:`Configuration`,children:(0,W.jsx)(i,{asChild:!0,children:(0,W.jsx)(w,{variant:`outline`,size:`sm`,className:`border-none shadow-none hover:bg-transparent`,children:(0,W.jsx)(N,{className:`h-3 w-3`})})})}),t[4]=p):p=t[4];let m;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,W.jsx)(`h4`,{className:`font-bold leading-none`,children:`Configuration`}),t[5]=m):m=t[5];let g;if(t[6]!==n||t[7]!==u){let e;t[9]===u?e=t[10]:(e=e=>{let[t,n]=e;return(0,W.jsxs)(`div`,{className:`grid grid-cols-3 items-center gap-1`,children:[(0,W.jsxs)(S,{htmlFor:t,className:`flex w-full justify-between col-span-3 align-end`,children:[L.startCase(t),(0,W.jsx)(C,{delayDuration:200,side:`top`,content:(0,W.jsx)(`div`,{className:`text-xs flex flex-col`,children:J[t].description}),children:(0,W.jsx)(D,{className:`h-3 w-3 cursor-help text-muted-foreground hover:text-foreground`})})]}),(0,W.jsx)(j,{id:t,"aria-label":t,value:n??NaN,placeholder:`null`,minValue:J[t].min,maxValue:J[t].max,step:J[t].step??1,onChange:e=>u(t,e),onKeyDown:f,className:`col-span-3`})]},t)},t[9]=u,t[10]=e),g=h.entries(n).map(e),t[6]=n,t[7]=u,t[8]=g}else g=t[8];let _;t[11]===g?_=t[12]:(_=(0,W.jsx)(o,{className:`w-70 border`,children:(0,W.jsxs)(`div`,{className:`grid gap-3`,children:[m,g]})}),t[11]=g,t[12]=_);let v;return t[13]!==s||t[14]!==_?(v=(0,W.jsxs)(r,{open:s,onOpenChange:c,children:[p,_]}),t[13]=s,t[14]=_,t[15]=v):v=t[15],v},me=e=>{let t=(0,U.c)(18),{prompts:n,onSelect:i}=e,[a,s]=(0,G.useState)(!1),[c,l]=(0,G.useState)(``),u;t[0]===i?u=t[1]:(u=e=>{[...e.matchAll(/{{(\w+)}}/g)].length>0?(l(e),s(!0)):i(e)},t[0]=i,t[1]=u);let d=u,f;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,W.jsx)(C,{content:`Select a prompt`,children:(0,W.jsx)(y,{asChild:!0,children:(0,W.jsx)(w,{variant:`outline`,size:`sm`,className:`border-none shadow-none hover:bg-transparent`,children:(0,W.jsx)(B,{className:`h-3 w-3`})})})}),t[2]=f):f=t[2];let p;if(t[3]!==d||t[4]!==n){let e;t[6]===d?e=t[7]:(e=(e,t)=>(0,W.jsx)(v,{onSelect:()=>d(e),className:`whitespace-normal text-left`,children:e},t),t[6]=d,t[7]=e),p=n.map(e),t[3]=d,t[4]=n,t[5]=p}else p=t[5];let m;t[8]===p?m=t[9]:(m=(0,W.jsx)(K,{children:(0,W.jsxs)(x,{children:[f,(0,W.jsx)(b,{side:`right`,align:`end`,onCloseAutoFocus:X,className:`w-64 max-h-96 overflow-y-auto`,children:p})]})}),t[8]=p,t[9]=m);let h;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>s(!1),t[10]=h):h=t[10];let g;t[11]!==i||t[12]!==c?(g=(0,W.jsx)(o,{side:`right`,align:`end`,className:`min-w-80 px-2`,children:(0,W.jsx)(Y,{prompt:c,onClose:h,onSelect:i},c)}),t[11]=i,t[12]=c,t[13]=g):g=t[13];let _;return t[14]!==a||t[15]!==m||t[16]!==g?(_=(0,W.jsxs)(r,{open:a,onOpenChange:s,children:[m,g]}),t[14]=a,t[15]=m,t[16]=g,t[17]=_):_=t[17],_},Y=e=>{let t=(0,U.c)(30),{prompt:n,onClose:r,onSelect:i}=e,a;t[0]===n?a=t[1]:(a=()=>[...n.matchAll(/{{(\w+)}}/g)].reduce(Z,{}),t[0]=n,t[1]=a);let[o,s]=(0,G.useState)(a),c;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(c=(e,t)=>{s(n=>({...n,[e]:t}))},t[2]=c):c=t[2];let l=c,u;if(t[3]!==n||t[4]!==o){let e;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(e=/{{(\w+)}}/g,t[6]=e):e=t[6];let r;t[7]===o?r=t[8]:(r=(e,t)=>o[t]||`{{${t}}}`,t[7]=o,t[8]=r),u=n.replaceAll(e,r),t[3]=n,t[4]=o,t[5]=u}else u=t[5];let d=u,f;t[9]===o?f=t[10]:(f=Object.values(o).some(Q),t[9]=o,t[10]=f);let p=f,m;t[11]!==r||t[12]!==i||t[13]!==d?(m=()=>{i(d),r()},t[11]=r,t[12]=i,t[13]=d,t[14]=m):m=t[14];let h=m,g;t[15]===o?g=t[16]:(g=Object.entries(o),t[15]=o,t[16]=g);let _;t[17]!==h||t[18]!==p||t[19]!==g?(_=g.map((e,t)=>{let[n,r]=e;return(0,W.jsxs)(`div`,{className:`grid grid-cols-4 items-center gap-2`,children:[(0,W.jsx)(S,{htmlFor:n,className:`font-semibold text-base`,children:n}),(0,W.jsx)(M,{id:n,value:r,onChange:e=>l(n,e.target.value),rootClassName:`col-span-3 w-full`,className:`m-0`,placeholder:`Enter value for ${n}`,autoFocus:t===0,onKeyDown:e=>{e.key===`Enter`&&!p&&h()}})]},n)}),t[17]=h,t[18]=p,t[19]=g,t[20]=_):_=t[20];let v;t[21]===d?v=t[22]:(v=(0,W.jsx)(`div`,{className:`grid gap-2 prose dark:prose-invert`,children:(0,W.jsx)(`blockquote`,{className:`text-sm`,children:d})}),t[21]=d,t[22]=v);let y;t[23]!==h||t[24]!==p?(y=(0,W.jsx)(w,{onClick:h,size:`xs`,disabled:p,children:`Submit`}),t[23]=h,t[24]=p,t[25]=y):y=t[25];let b;return t[26]!==_||t[27]!==v||t[28]!==y?(b=(0,W.jsxs)(`div`,{className:`grid gap-4`,children:[_,v,y]}),t[26]=_,t[27]=v,t[28]=y,t[29]=b):b=t[29],b};function X(e){return e.preventDefault()}function Z(e,t){return e[t[1]]=``,e}function Q(e){return e==null||e.trim()===``}export{q as Chatbot};
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{l as t}from"./useEvent-BDjgaBtz.js";import{t as n}from"./react-DVplv7_D.js";import{D as r,Gi as i,Rt as a,Xi as o,Yi as s,zt as c}from"./cells-B23_t5uX.js";import{t as l}from"./compiler-runtime-BrajqUja.js";import{s as u}from"./config-DpY86_Yq.js";import{t as d}from"./jsx-runtime-B74pBk57.js";import{l as f,p,vt as m}from"./JsonOutput-nLzWQ-0V.js";import{t as h}from"./tooltip-CkGm8X7m.js";import{r as g,t as _}from"./button-D8gVKwe-.js";import{t as v}from"./createLucideIcon-DfJ2oMlA.js";import{t as y}from"./useLifecycle-Mq4gc5kS.js";import{t as b}from"./spinner-DyNE-o8o.js";import{t as x}from"./copy-icon-8-a5vovc.js";import{r as S}from"./requests-BIFR-h4M.js";import{r as C}from"./useTheme-BAA27lh7.js";import{t as w}from"./I18nProvider-Cg2I_s1_.js";import{i as T}from"./numbers-CsZVw3Dc.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)(54),{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]!==r.name||t[39]!==i.chart_code||t[40]!==n.source_type?(I=i.chart_code&&n.source_type===`local`&&(0,k.jsx)(F,{chartCode:i.chart_code,columnName:r.name}),t[38]=r.name,t[39]=i.chart_code,t[40]=n.source_type,t[41]=I):I=t[41];let L=I,R;t[42]!==r.name||t[43]!==a||t[44]!==c||t[45]!==n?(R=n.source_type===`duckdb`&&(0,k.jsx)(h,{content:`Add SQL cell`,delayDuration:400,children:(0,k.jsx)(_,{"aria-label":`Add SQL cell for ${r.name}`,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[42]=r.name,t[43]=a,t[44]=c,t[45]=n,t[46]=R):R=t[46];let z=R;if(!x&&!O&&!N){let e;return t[47]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,k.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`No data`}),t[47]=e):e=t[47],e}let B;return t[48]!==L||t[49]!==z||t[50]!==N||t[51]!==x||t[52]!==O?(B=(0,k.jsxs)(p,{children:[x,L,z,N,O]}),t[48]=L,t[49]=z,t[50]=N,t[51]=x,t[52]=O,t[53]=B):B=t[53],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)(11),{chartCode:i,columnName:o}=e,s=t(u),l=a(),{createNewCell:d}=r(),f;n[0]!==s||n[1]!==d||n[2]!==l?(f=e=>{e.includes(`alt`)&&c({autoInstantiate:s,createNewCell:d,fromCellId:l}),d({code:e,before:!1,cellId:l??`__end__`})},n[0]=s,n[1]=d,n[2]=l,n[3]=f):f=n[3];let p=f,m=`Add chart to notebook for ${o}`,v;n[4]!==i||n[5]!==p?(v=g.stopPropagation(()=>p(i)),n[4]=i,n[5]=p,n[6]=v):v=n[6];let y;n[7]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,k.jsx)(E,{className:`h-3 w-3`}),n[7]=y):y=n[7];let b;return n[8]!==m||n[9]!==v?(b=(0,k.jsx)(h,{content:`Add chart to notebook`,delayDuration:400,children:(0,k.jsx)(_,{"aria-label":m,variant:`outline`,size:`icon`,className:`z-10 bg-background absolute right-1 -top-0.5`,onClick:v,children:y})}),n[8]=m,n[9]=v,n[10]=b):b=n[10],b};export{M as a,j as i,A as n,E as o,P as r,F as t};
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{l as t}from"./useEvent-BDjgaBtz.js";import{t as n}from"./react-DVplv7_D.js";import{D as r,Gi as i,Rt as a,Xi as o,Yi as s,zt as c}from"./cells-D_11MjVB.js";import{t as l}from"./compiler-runtime-BrajqUja.js";import{s as u}from"./config-DpY86_Yq.js";import{t as d}from"./jsx-runtime-B74pBk57.js";import{l as f,p,vt as m}from"./JsonOutput-CyAKmZDD.js";import{t as h}from"./tooltip-CkGm8X7m.js";import{r as g,t as _}from"./button-D8gVKwe-.js";import{t as v}from"./createLucideIcon-DfJ2oMlA.js";import{t as y}from"./useLifecycle-Mq4gc5kS.js";import{t as b}from"./spinner-DyNE-o8o.js";import{t as x}from"./copy-icon-8-a5vovc.js";import{r as S}from"./requests-BIFR-h4M.js";import{r as C}from"./useTheme-BAA27lh7.js";import{t as w}from"./I18nProvider-Cg2I_s1_.js";import{i as T}from"./numbers-CsZVw3Dc.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)(54),{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]!==r.name||t[39]!==i.chart_code||t[40]!==n.source_type?(I=i.chart_code&&n.source_type===`local`&&(0,k.jsx)(F,{chartCode:i.chart_code,columnName:r.name}),t[38]=r.name,t[39]=i.chart_code,t[40]=n.source_type,t[41]=I):I=t[41];let L=I,R;t[42]!==r.name||t[43]!==a||t[44]!==c||t[45]!==n?(R=n.source_type===`duckdb`&&(0,k.jsx)(h,{content:`Add SQL cell`,delayDuration:400,children:(0,k.jsx)(_,{"aria-label":`Add SQL cell for ${r.name}`,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[42]=r.name,t[43]=a,t[44]=c,t[45]=n,t[46]=R):R=t[46];let z=R;if(!x&&!O&&!N){let e;return t[47]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,k.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`No data`}),t[47]=e):e=t[47],e}let B;return t[48]!==L||t[49]!==z||t[50]!==N||t[51]!==x||t[52]!==O?(B=(0,k.jsxs)(p,{children:[x,L,z,N,O]}),t[48]=L,t[49]=z,t[50]=N,t[51]=x,t[52]=O,t[53]=B):B=t[53],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)(11),{chartCode:i,columnName:o}=e,s=t(u),l=a(),{createNewCell:d}=r(),f;n[0]!==s||n[1]!==d||n[2]!==l?(f=e=>{e.includes(`alt`)&&c({autoInstantiate:s,createNewCell:d,fromCellId:l}),d({code:e,before:!1,cellId:l??`__end__`})},n[0]=s,n[1]=d,n[2]=l,n[3]=f):f=n[3];let p=f,m=`Add chart to notebook for ${o}`,v;n[4]!==i||n[5]!==p?(v=g.stopPropagation(()=>p(i)),n[4]=i,n[5]=p,n[6]=v):v=n[6];let y;n[7]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,k.jsx)(E,{className:`h-3 w-3`}),n[7]=y):y=n[7];let b;return n[8]!==m||n[9]!==v?(b=(0,k.jsx)(h,{content:`Add chart to notebook`,delayDuration:400,children:(0,k.jsx)(_,{"aria-label":m,variant:`outline`,size:`icon`,className:`z-10 bg-background absolute right-1 -top-0.5`,onClick:v,children:y})}),n[8]=m,n[9]=v,n[10]=b):b=n[10],b};export{M as a,j as i,A as n,E as o,P as r,F as t};
@@ -1 +1 @@
1
- import{c as e,l as t,u as n}from"./useEvent-BDjgaBtz.js";import{Ft as r,_n as i,bn as a,gn as o,hn as s,mn as c,pn as l,vn as u,yn as d}from"./cells-B23_t5uX.js";import{t as f}from"./compiler-runtime-BrajqUja.js";import{C as p,S as m,h}from"./config-DpY86_Yq.js";import{m as g,t as _,u as v}from"./useEventListener-CjDeLqFC.js";import{t as y}from"./objects-rLPlQ3X_.js";import{t as b}from"./jsx-runtime-B74pBk57.js";import{O as x,k as S}from"./ai-model-dropdown-DL56ImUU.js";import{t as C}from"./useCellActionButton-CSNFulkR.js";import{a as w,t as T}from"./useNotebookActions-B4kq9-P4.js";import{r as E}from"./requests-BIFR-h4M.js";import{t as D}from"./renderShortcut-rUwGqKgC.js";import{r as O}from"./feedback-button-sC38i-D1.js";var k=f(),A=3;function j(){let e=(0,k.c)(7),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0];let[n,r]=O(`marimo:commands`,t),i;e[1]!==n||e[2]!==r?(i=e=>{let t=M([e,...n]);r(t.slice(0,A))},e[1]=n,e[2]=r,e[3]=i):i=e[3];let a;return e[4]!==n||e[5]!==i?(a={recentCommands:n,addRecentCommand:i},e[4]=n,e[5]=i,e[6]=a):a=e[6],a}function M(e){return[...new Set(e)]}function N(e){return e.dropdown!==void 0}function P(e,t=``){return e.flatMap(e=>!e.label||e.hidden?[]:N(e)?P(e.dropdown,`${t+e.label} > `):{...e,label:t+e.label,additionalKeywords:e.additionalKeywords})}function F(){let e=(0,k.c)(87),[t,n]=p(),[r,i]=m(),{saveAppConfig:a,saveUserConfig:o}=E(),s;e[0]!==o||e[1]!==n?(s=async e=>{await o({config:e}).then(()=>{n(t=>({...t,...e}))})},e[0]=o,e[1]=n,e[2]=s):s=e[2];let c=s,l;e[3]!==a||e[4]!==i?(l=async e=>{await a({config:e}).then(()=>{i(e)})},e[3]=a,e[4]=i,e[5]=l):l=e[5];let u=l,d;if(e[6]!==r||e[7]!==t.completion||e[8]!==t.display||e[9]!==t.keymap||e[10]!==u||e[11]!==c){let n;e[13]===r?n=e[14]:(n=e=>e!==r.width,e[13]=r,e[14]=n);let i;e[15]!==r||e[16]!==u?(i=e=>({label:`App config > Set width=${e}`,handle:()=>{u({...r,width:e})}}),e[15]=r,e[16]=u,e[17]=i):i=e[17];let a;e[18]!==t.display||e[19]!==c?(a={label:`Config > Set theme: dark`,handle:()=>{c({display:{...t.display,theme:`dark`}})}},e[18]=t.display,e[19]=c,e[20]=a):a=e[20];let o;e[21]!==t.display||e[22]!==c?(o={label:`Config > Set theme: light`,handle:()=>{c({display:{...t.display,theme:`light`}})}},e[21]=t.display,e[22]=c,e[23]=o):o=e[23];let s;e[24]!==t.display||e[25]!==c?(s={label:`Config > Set theme: system`,handle:()=>{c({display:{...t.display,theme:`system`}})}},e[24]=t.display,e[25]=c,e[26]=s):s=e[26];let l=t.keymap.preset===`vim`,f;e[27]!==t.keymap||e[28]!==c?(f=()=>{c({keymap:{...t.keymap,preset:`vim`}})},e[27]=t.keymap,e[28]=c,e[29]=f):f=e[29];let p;e[30]!==l||e[31]!==f?(p={label:`Config > Switch keymap to VIM`,hidden:l,handle:f},e[30]=l,e[31]=f,e[32]=p):p=e[32];let m=t.keymap.preset==="default",h;e[33]!==t.keymap||e[34]!==c?(h=()=>{c({keymap:{...t.keymap,preset:`default`}})},e[33]=t.keymap,e[34]=c,e[35]=h):h=e[35];let g;e[36]!==m||e[37]!==h?(g={label:`Config > Switch keymap to default (current: VIM)`,hidden:m,handle:h},e[36]=m,e[37]=h,e[38]=g):g=e[38];let _;e[39]!==t.completion||e[40]!==c?(_=()=>{c({completion:{...t.completion,copilot:!1}})},e[39]=t.completion,e[40]=c,e[41]=_):_=e[41];let v=t.completion.copilot!==`github`,y;e[42]!==_||e[43]!==v?(y={label:`Config > Disable GitHub Copilot`,handle:_,hidden:v},e[42]=_,e[43]=v,e[44]=y):y=e[44];let b;e[45]!==t.completion||e[46]!==c?(b=()=>{c({completion:{...t.completion,copilot:`github`}})},e[45]=t.completion,e[46]=c,e[47]=b):b=e[47];let x=t.completion.copilot===`github`,C;e[48]!==b||e[49]!==x?(C={label:`Config > Enable GitHub Copilot`,handle:b,hidden:x},e[48]=b,e[49]=x,e[50]=C):C=e[50];let w=!t.display.reference_highlighting,T;e[51]!==t.display||e[52]!==c?(T=()=>{c({display:{...t.display,reference_highlighting:!1}})},e[51]=t.display,e[52]=c,e[53]=T):T=e[53];let E;e[54]!==w||e[55]!==T?(E={label:`Config > Disable reference highlighting`,hidden:w,handle:T},e[54]=w,e[55]=T,e[56]=E):E=e[56];let D;e[57]!==t.display||e[58]!==c?(D=()=>{c({display:{...t.display,reference_highlighting:!0}})},e[57]=t.display,e[58]=c,e[59]=D):D=e[59];let O;e[60]!==t.display.reference_highlighting||e[61]!==D?(O={label:`Config > Enable reference highlighting`,hidden:t.display.reference_highlighting,handle:D},e[60]=t.display.reference_highlighting,e[61]=D,e[62]=O):O=e[62];let k=!(t.display.code_lens??!0),A;e[63]!==t.display||e[64]!==c?(A=()=>{c({display:{...t.display,code_lens:!1}})},e[63]=t.display,e[64]=c,e[65]=A):A=e[65];let j;e[66]!==k||e[67]!==A?(j={label:`Config > Disable code lens`,hidden:k,handle:A},e[66]=k,e[67]=A,e[68]=j):j=e[68];let M=t.display.code_lens??!0,N;e[69]!==t.display||e[70]!==c?(N=()=>{c({display:{...t.display,code_lens:!0}})},e[69]=t.display,e[70]=c,e[71]=N):N=e[71];let P;e[72]!==M||e[73]!==N?(P={label:`Config > Enable code lens`,hidden:M,handle:N},e[72]=M,e[73]=N,e[74]=P):P=e[74];let F=t.display.cell_output===`above`,L;e[75]!==t.display||e[76]!==c?(L=()=>{c({display:{...t.display,cell_output:`above`}})},e[75]=t.display,e[76]=c,e[77]=L):L=e[77];let R;e[78]!==F||e[79]!==L?(R={label:`Config > Set cell output area: above`,hidden:F,handle:L},e[78]=F,e[79]=L,e[80]=R):R=e[80];let z=t.display.cell_output===`below`,B;e[81]!==t.display||e[82]!==c?(B=()=>{c({display:{...t.display,cell_output:`below`}})},e[81]=t.display,e[82]=c,e[83]=B):B=e[83];let V;e[84]!==z||e[85]!==B?(V={label:`Config > Set cell output area: below`,hidden:z,handle:B},e[84]=z,e[85]=B,e[86]=V):V=e[86],d=[...S().filter(n).map(i),a,o,s,p,g,y,C,E,O,j,P,R,V].filter(I),e[6]=r,e[7]=t.completion,e[8]=t.display,e[9]=t.keymap,e[10]=u,e[11]=c,e[12]=d}else d=e[12];return d}function I(e){return!e.hidden}var L=b(),R=()=>{let n=(0,k.c)(7),[r,i]=e(w),a=t(h),o;n[0]!==a||n[1]!==i?(o=e=>{g(a.getHotkey(`global.commandPalette`).key)(e)&&(e.preventDefault(),i(B))},n[0]=a,n[1]=i,n[2]=o):o=n[2],_(document,`keydown`,o);let s;n[3]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,L.jsx)(z,{}),n[3]=s):s=n[3];let c;return n[4]!==r||n[5]!==i?(c=(0,L.jsx)(l,{open:r,onOpenChange:i,children:s}),n[4]=r,n[5]=i,n[6]=c):c=n[6],c},z=()=>{let e=(0,k.c)(31),l=n(w),f=x(),p=t(r),m=t(h),g;e[0]===p?g=e[1]:(g={cell:p},e[0]=p,e[1]=g);let _=C(g).flat();_=P(_);let b=F(),S=T();S=[...P(S),...P(b)];let E=S.filter(V),O=y.keyBy(E,ee),{recentCommands:A,addRecentCommand:M}=j(),I;e[2]===A?I=e[3]:(I=new Set(A),e[2]=A,e[3]=I);let R=I,z;e[4]!==M||e[5]!==m||e[6]!==f||e[7]!==l?(z=(e,t)=>{let n=f[e];if(!n)return null;let r=m.getHotkey(e);return(0,L.jsxs)(i,{disabled:t.disabled,keywords:r.additionalKeywords,onSelect:()=>{M(e),l(!1),requestAnimationFrame(()=>{n()})},value:r.name,children:[(0,L.jsxs)(`span`,{children:[r.name,t.tooltip&&(0,L.jsx)(`span`,{className:`ml-2`,children:t.tooltip})]}),(0,L.jsx)(a,{children:(0,L.jsx)(D,{shortcut:r.key})})]},e)},e[4]=M,e[5]=m,e[6]=f,e[7]=l,e[8]=z):z=e[8];let B=z,H;e[9]!==M||e[10]!==m||e[11]!==l?(H=e=>{let{label:t,handle:n,props:r,hotkey:o,additionalKeywords:s}=e,c=r===void 0?{}:r;return(0,L.jsxs)(i,{disabled:c.disabled,keywords:s,onSelect:()=>{M(t),l(!1),requestAnimationFrame(()=>{n()})},value:t,children:[(0,L.jsxs)(`span`,{children:[t,c.tooltip&&(0,L.jsxs)(`span`,{className:`ml-2`,children:[`(`,c.tooltip,`)`]})]}),o&&(0,L.jsx)(a,{children:(0,L.jsx)(D,{shortcut:m.getHotkey(o).key})})]},t)},e[9]=M,e[10]=m,e[11]=l,e[12]=H):H=e[12];let U=H,W;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,L.jsx)(o,{placeholder:`Type to search...`}),e[13]=W):W=e[13];let G=u,K;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,L.jsx)(c,{children:`No results found.`}),e[14]=K):K=e[14];let q=A.length>0&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(s,{heading:`Recently Used`,children:A.map(e=>{let t=O[e];return v(e)?B(e,{disabled:t?.disabled,tooltip:t?.tooltip}):t&&!N(t)?U({label:t.label,handle:t.handleHeadless||t.handle,props:{disabled:t.disabled,tooltip:t.tooltip},additionalKeywords:t.additionalKeywords}):null})}),(0,L.jsx)(d,{})]}),J=s,Y=m.iterate().map(e=>{if(R.has(e))return null;let t=O[e];return B(e,{disabled:t?.disabled,tooltip:t?.tooltip})}),te=E.map(e=>R.has(e.label)?null:U({label:e.label,handle:e.handleHeadless||e.handle,props:{disabled:e.disabled,tooltip:e.tooltip},additionalKeywords:e.additionalKeywords})),X;e[15]!==R||e[16]!==U?(X=e=>R.has(e.label)?null:U({label:`Cell > ${e.label}`,handle:e.handleHeadless||e.handle,props:{disabled:e.disabled,tooltip:e.tooltip},additionalKeywords:e.additionalKeywords}),e[15]=R,e[16]=U,e[17]=X):X=e[17];let ne=_.map(X),Z;e[18]!==J||e[19]!==ne||e[20]!==Y||e[21]!==te?(Z=(0,L.jsxs)(J,{heading:`Commands`,children:[Y,te,ne]}),e[18]=J,e[19]=ne,e[20]=Y,e[21]=te,e[22]=Z):Z=e[22];let Q;e[23]!==G||e[24]!==Z||e[25]!==K||e[26]!==q?(Q=(0,L.jsxs)(G,{children:[K,q,Z]}),e[23]=G,e[24]=Z,e[25]=K,e[26]=q,e[27]=Q):Q=e[27];let $;return e[28]!==Q||e[29]!==W?($=(0,L.jsxs)(L.Fragment,{children:[W,Q]}),e[28]=Q,e[29]=W,e[30]=$):$=e[30],$};function B(e){return!e}function V(e){return!e.hotkey}function ee(e){return e.label}export{R as default};
1
+ import{c as e,l as t,u as n}from"./useEvent-BDjgaBtz.js";import{Ft as r,_n as i,bn as a,gn as o,hn as s,mn as c,pn as l,vn as u,yn as d}from"./cells-D_11MjVB.js";import{t as f}from"./compiler-runtime-BrajqUja.js";import{C as p,S as m,h}from"./config-DpY86_Yq.js";import{m as g,t as _,u as v}from"./useEventListener-CjDeLqFC.js";import{t as y}from"./objects-rLPlQ3X_.js";import{t as b}from"./jsx-runtime-B74pBk57.js";import{O as x,k as S}from"./ai-model-dropdown-Bvl1ktQq.js";import{t as C}from"./useCellActionButton-MoWLvuGe.js";import{a as w,t as T}from"./useNotebookActions-wFxVdRXQ.js";import{r as E}from"./requests-BIFR-h4M.js";import{t as D}from"./renderShortcut-rUwGqKgC.js";import{r as O}from"./feedback-button-C5NgWpFg.js";var k=f(),A=3;function j(){let e=(0,k.c)(7),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0];let[n,r]=O(`marimo:commands`,t),i;e[1]!==n||e[2]!==r?(i=e=>{let t=M([e,...n]);r(t.slice(0,A))},e[1]=n,e[2]=r,e[3]=i):i=e[3];let a;return e[4]!==n||e[5]!==i?(a={recentCommands:n,addRecentCommand:i},e[4]=n,e[5]=i,e[6]=a):a=e[6],a}function M(e){return[...new Set(e)]}function N(e){return e.dropdown!==void 0}function P(e,t=``){return e.flatMap(e=>!e.label||e.hidden?[]:N(e)?P(e.dropdown,`${t+e.label} > `):{...e,label:t+e.label,additionalKeywords:e.additionalKeywords})}function F(){let e=(0,k.c)(87),[t,n]=p(),[r,i]=m(),{saveAppConfig:a,saveUserConfig:o}=E(),s;e[0]!==o||e[1]!==n?(s=async e=>{await o({config:e}).then(()=>{n(t=>({...t,...e}))})},e[0]=o,e[1]=n,e[2]=s):s=e[2];let c=s,l;e[3]!==a||e[4]!==i?(l=async e=>{await a({config:e}).then(()=>{i(e)})},e[3]=a,e[4]=i,e[5]=l):l=e[5];let u=l,d;if(e[6]!==r||e[7]!==t.completion||e[8]!==t.display||e[9]!==t.keymap||e[10]!==u||e[11]!==c){let n;e[13]===r?n=e[14]:(n=e=>e!==r.width,e[13]=r,e[14]=n);let i;e[15]!==r||e[16]!==u?(i=e=>({label:`App config > Set width=${e}`,handle:()=>{u({...r,width:e})}}),e[15]=r,e[16]=u,e[17]=i):i=e[17];let a;e[18]!==t.display||e[19]!==c?(a={label:`Config > Set theme: dark`,handle:()=>{c({display:{...t.display,theme:`dark`}})}},e[18]=t.display,e[19]=c,e[20]=a):a=e[20];let o;e[21]!==t.display||e[22]!==c?(o={label:`Config > Set theme: light`,handle:()=>{c({display:{...t.display,theme:`light`}})}},e[21]=t.display,e[22]=c,e[23]=o):o=e[23];let s;e[24]!==t.display||e[25]!==c?(s={label:`Config > Set theme: system`,handle:()=>{c({display:{...t.display,theme:`system`}})}},e[24]=t.display,e[25]=c,e[26]=s):s=e[26];let l=t.keymap.preset===`vim`,f;e[27]!==t.keymap||e[28]!==c?(f=()=>{c({keymap:{...t.keymap,preset:`vim`}})},e[27]=t.keymap,e[28]=c,e[29]=f):f=e[29];let p;e[30]!==l||e[31]!==f?(p={label:`Config > Switch keymap to VIM`,hidden:l,handle:f},e[30]=l,e[31]=f,e[32]=p):p=e[32];let m=t.keymap.preset==="default",h;e[33]!==t.keymap||e[34]!==c?(h=()=>{c({keymap:{...t.keymap,preset:`default`}})},e[33]=t.keymap,e[34]=c,e[35]=h):h=e[35];let g;e[36]!==m||e[37]!==h?(g={label:`Config > Switch keymap to default (current: VIM)`,hidden:m,handle:h},e[36]=m,e[37]=h,e[38]=g):g=e[38];let _;e[39]!==t.completion||e[40]!==c?(_=()=>{c({completion:{...t.completion,copilot:!1}})},e[39]=t.completion,e[40]=c,e[41]=_):_=e[41];let v=t.completion.copilot!==`github`,y;e[42]!==_||e[43]!==v?(y={label:`Config > Disable GitHub Copilot`,handle:_,hidden:v},e[42]=_,e[43]=v,e[44]=y):y=e[44];let b;e[45]!==t.completion||e[46]!==c?(b=()=>{c({completion:{...t.completion,copilot:`github`}})},e[45]=t.completion,e[46]=c,e[47]=b):b=e[47];let x=t.completion.copilot===`github`,C;e[48]!==b||e[49]!==x?(C={label:`Config > Enable GitHub Copilot`,handle:b,hidden:x},e[48]=b,e[49]=x,e[50]=C):C=e[50];let w=!t.display.reference_highlighting,T;e[51]!==t.display||e[52]!==c?(T=()=>{c({display:{...t.display,reference_highlighting:!1}})},e[51]=t.display,e[52]=c,e[53]=T):T=e[53];let E;e[54]!==w||e[55]!==T?(E={label:`Config > Disable reference highlighting`,hidden:w,handle:T},e[54]=w,e[55]=T,e[56]=E):E=e[56];let D;e[57]!==t.display||e[58]!==c?(D=()=>{c({display:{...t.display,reference_highlighting:!0}})},e[57]=t.display,e[58]=c,e[59]=D):D=e[59];let O;e[60]!==t.display.reference_highlighting||e[61]!==D?(O={label:`Config > Enable reference highlighting`,hidden:t.display.reference_highlighting,handle:D},e[60]=t.display.reference_highlighting,e[61]=D,e[62]=O):O=e[62];let k=!(t.display.code_lens??!0),A;e[63]!==t.display||e[64]!==c?(A=()=>{c({display:{...t.display,code_lens:!1}})},e[63]=t.display,e[64]=c,e[65]=A):A=e[65];let j;e[66]!==k||e[67]!==A?(j={label:`Config > Disable code lens`,hidden:k,handle:A},e[66]=k,e[67]=A,e[68]=j):j=e[68];let M=t.display.code_lens??!0,N;e[69]!==t.display||e[70]!==c?(N=()=>{c({display:{...t.display,code_lens:!0}})},e[69]=t.display,e[70]=c,e[71]=N):N=e[71];let P;e[72]!==M||e[73]!==N?(P={label:`Config > Enable code lens`,hidden:M,handle:N},e[72]=M,e[73]=N,e[74]=P):P=e[74];let F=t.display.cell_output===`above`,L;e[75]!==t.display||e[76]!==c?(L=()=>{c({display:{...t.display,cell_output:`above`}})},e[75]=t.display,e[76]=c,e[77]=L):L=e[77];let R;e[78]!==F||e[79]!==L?(R={label:`Config > Set cell output area: above`,hidden:F,handle:L},e[78]=F,e[79]=L,e[80]=R):R=e[80];let z=t.display.cell_output===`below`,B;e[81]!==t.display||e[82]!==c?(B=()=>{c({display:{...t.display,cell_output:`below`}})},e[81]=t.display,e[82]=c,e[83]=B):B=e[83];let V;e[84]!==z||e[85]!==B?(V={label:`Config > Set cell output area: below`,hidden:z,handle:B},e[84]=z,e[85]=B,e[86]=V):V=e[86],d=[...S().filter(n).map(i),a,o,s,p,g,y,C,E,O,j,P,R,V].filter(I),e[6]=r,e[7]=t.completion,e[8]=t.display,e[9]=t.keymap,e[10]=u,e[11]=c,e[12]=d}else d=e[12];return d}function I(e){return!e.hidden}var L=b(),R=()=>{let n=(0,k.c)(7),[r,i]=e(w),a=t(h),o;n[0]!==a||n[1]!==i?(o=e=>{g(a.getHotkey(`global.commandPalette`).key)(e)&&(e.preventDefault(),i(B))},n[0]=a,n[1]=i,n[2]=o):o=n[2],_(document,`keydown`,o);let s;n[3]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,L.jsx)(z,{}),n[3]=s):s=n[3];let c;return n[4]!==r||n[5]!==i?(c=(0,L.jsx)(l,{open:r,onOpenChange:i,children:s}),n[4]=r,n[5]=i,n[6]=c):c=n[6],c},z=()=>{let e=(0,k.c)(31),l=n(w),f=x(),p=t(r),m=t(h),g;e[0]===p?g=e[1]:(g={cell:p},e[0]=p,e[1]=g);let _=C(g).flat();_=P(_);let b=F(),S=T();S=[...P(S),...P(b)];let E=S.filter(V),O=y.keyBy(E,ee),{recentCommands:A,addRecentCommand:M}=j(),I;e[2]===A?I=e[3]:(I=new Set(A),e[2]=A,e[3]=I);let R=I,z;e[4]!==M||e[5]!==m||e[6]!==f||e[7]!==l?(z=(e,t)=>{let n=f[e];if(!n)return null;let r=m.getHotkey(e);return(0,L.jsxs)(i,{disabled:t.disabled,keywords:r.additionalKeywords,onSelect:()=>{M(e),l(!1),requestAnimationFrame(()=>{n()})},value:r.name,children:[(0,L.jsxs)(`span`,{children:[r.name,t.tooltip&&(0,L.jsx)(`span`,{className:`ml-2`,children:t.tooltip})]}),(0,L.jsx)(a,{children:(0,L.jsx)(D,{shortcut:r.key})})]},e)},e[4]=M,e[5]=m,e[6]=f,e[7]=l,e[8]=z):z=e[8];let B=z,H;e[9]!==M||e[10]!==m||e[11]!==l?(H=e=>{let{label:t,handle:n,props:r,hotkey:o,additionalKeywords:s}=e,c=r===void 0?{}:r;return(0,L.jsxs)(i,{disabled:c.disabled,keywords:s,onSelect:()=>{M(t),l(!1),requestAnimationFrame(()=>{n()})},value:t,children:[(0,L.jsxs)(`span`,{children:[t,c.tooltip&&(0,L.jsxs)(`span`,{className:`ml-2`,children:[`(`,c.tooltip,`)`]})]}),o&&(0,L.jsx)(a,{children:(0,L.jsx)(D,{shortcut:m.getHotkey(o).key})})]},t)},e[9]=M,e[10]=m,e[11]=l,e[12]=H):H=e[12];let U=H,W;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,L.jsx)(o,{placeholder:`Type to search...`}),e[13]=W):W=e[13];let G=u,K;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,L.jsx)(c,{children:`No results found.`}),e[14]=K):K=e[14];let q=A.length>0&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(s,{heading:`Recently Used`,children:A.map(e=>{let t=O[e];return v(e)?B(e,{disabled:t?.disabled,tooltip:t?.tooltip}):t&&!N(t)?U({label:t.label,handle:t.handleHeadless||t.handle,props:{disabled:t.disabled,tooltip:t.tooltip},additionalKeywords:t.additionalKeywords}):null})}),(0,L.jsx)(d,{})]}),J=s,Y=m.iterate().map(e=>{if(R.has(e))return null;let t=O[e];return B(e,{disabled:t?.disabled,tooltip:t?.tooltip})}),te=E.map(e=>R.has(e.label)?null:U({label:e.label,handle:e.handleHeadless||e.handle,props:{disabled:e.disabled,tooltip:e.tooltip},additionalKeywords:e.additionalKeywords})),X;e[15]!==R||e[16]!==U?(X=e=>R.has(e.label)?null:U({label:`Cell > ${e.label}`,handle:e.handleHeadless||e.handle,props:{disabled:e.disabled,tooltip:e.tooltip},additionalKeywords:e.additionalKeywords}),e[15]=R,e[16]=U,e[17]=X):X=e[17];let ne=_.map(X),Z;e[18]!==J||e[19]!==ne||e[20]!==Y||e[21]!==te?(Z=(0,L.jsxs)(J,{heading:`Commands`,children:[Y,te,ne]}),e[18]=J,e[19]=ne,e[20]=Y,e[21]=te,e[22]=Z):Z=e[22];let Q;e[23]!==G||e[24]!==Z||e[25]!==K||e[26]!==q?(Q=(0,L.jsxs)(G,{children:[K,q,Z]}),e[23]=G,e[24]=Z,e[25]=K,e[26]=q,e[27]=Q):Q=e[27];let $;return e[28]!==Q||e[29]!==W?($=(0,L.jsxs)(L.Fragment,{children:[W,Q]}),e[28]=Q,e[29]=W,e[30]=$):$=e[30],$};function B(e){return!e}function V(e){return!e.hotkey}function ee(e){return e.label}export{R as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime-B0Z9INg1.js";import{t as e}from"./react-DVplv7_D.js";import{M as t,cn as n,dn as r,un as i}from"./cells-B23_t5uX.js";import{t as a}from"./compiler-runtime-BrajqUja.js";import{t as o}from"./jsx-runtime-B74pBk57.js";import{n as s}from"./copy-KlhazlhB.js";import{t as c}from"./use-toast-Wu434mLr.js";import{t as l}from"./badge-crT3E0Rm.js";import{t as u}from"./cell-link-C9tkvy6x.js";var d=a(),f=o(),p=e=>{let a=(0,d.c)(18),{maxCount:o,cellIds:s,onClick:c,skipScroll:l}=e,p=t(),m,h,g;if(a[0]!==s||a[1]!==p||a[2]!==o||a[3]!==c||a[4]!==l){g=Symbol.for(`react.early_return_sentinel`);bb0:{let e;a[8]===p?e=a[9]:(e=(e,t)=>p.inOrderIds.indexOf(e)-p.inOrderIds.indexOf(t),a[8]=p,a[9]=e);let t=s.toSorted(e);if(s.length===0){let e;a[10]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,f.jsx)(`div`,{className:`text-muted-foreground`,children:`--`}),a[10]=e):e=a[10],g=e;break bb0}let d;a[11]!==s.length||a[12]!==c||a[13]!==l?(d=(e,t)=>(0,f.jsxs)(`span`,{className:`truncate`,children:[(0,f.jsx)(u,{variant:`focus`,cellId:e,skipScroll:l,className:`whitespace-nowrap`,onClick:c?()=>c(e):void 0},e),t<s.length-1&&`, `]},e),a[11]=s.length,a[12]=c,a[13]=l,a[14]=d):d=a[14],m=t.slice(0,o).map(d),h=s.length>o&&(0,f.jsxs)(n,{children:[(0,f.jsx)(r,{asChild:!0,children:(0,f.jsxs)(`span`,{className:`whitespace-nowrap text-muted-foreground text-xs hover:underline cursor-pointer`,children:[`+`,s.length-o,` more`]})}),(0,f.jsx)(i,{className:`w-auto`,children:(0,f.jsx)(`div`,{className:`flex flex-col gap-1 py-1`,children:t.slice(o).map(e=>(0,f.jsx)(u,{variant:`focus`,cellId:e,className:`whitespace-nowrap`,onClick:c?()=>c(e):void 0},e))})})]})}a[0]=s,a[1]=p,a[2]=o,a[3]=c,a[4]=l,a[5]=m,a[6]=h,a[7]=g}else m=a[5],h=a[6],g=a[7];if(g!==Symbol.for(`react.early_return_sentinel`))return g;let _;return a[15]!==m||a[16]!==h?(_=(0,f.jsxs)(f.Fragment,{children:[m,h]}),a[15]=m,a[16]=h,a[17]=_):_=a[17],_};e();var m=e=>{let t=(0,d.c)(15),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({name:r,declaredBy:n,onClick:i,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let o=n.length>1?`destructive`:`outline`,u;t[5]!==r||t[6]!==i?(u=async e=>{if(i){i(e);return}await s(r),c({title:`Copied to clipboard`})},t[5]=r,t[6]=i,t[7]=u):u=t[7];let p;t[8]!==r||t[9]!==o||t[10]!==u?(p=(0,f.jsx)(l,{title:r,variant:o,className:`rounded-sm text-ellipsis block overflow-hidden max-w-fit cursor-pointer font-medium`,onClick:u,children:r}),t[8]=r,t[9]=o,t[10]=u,t[11]=p):p=t[11];let m;return t[12]!==a||t[13]!==p?(m=(0,f.jsx)(`div`,{className:`max-w-[130px]`,...a,children:p}),t[12]=a,t[13]=p,t[14]=m):m=t[14],m};export{p as n,m as t};
1
+ import"./rolldown-runtime-B0Z9INg1.js";import{t as e}from"./react-DVplv7_D.js";import{M as t,cn as n,dn as r,un as i}from"./cells-D_11MjVB.js";import{t as a}from"./compiler-runtime-BrajqUja.js";import{t as o}from"./jsx-runtime-B74pBk57.js";import{n as s}from"./copy-KlhazlhB.js";import{t as c}from"./use-toast-Wu434mLr.js";import{t as l}from"./badge-crT3E0Rm.js";import{t as u}from"./cell-link-C5yYyzuF.js";var d=a(),f=o(),p=e=>{let a=(0,d.c)(18),{maxCount:o,cellIds:s,onClick:c,skipScroll:l}=e,p=t(),m,h,g;if(a[0]!==s||a[1]!==p||a[2]!==o||a[3]!==c||a[4]!==l){g=Symbol.for(`react.early_return_sentinel`);bb0:{let e;a[8]===p?e=a[9]:(e=(e,t)=>p.inOrderIds.indexOf(e)-p.inOrderIds.indexOf(t),a[8]=p,a[9]=e);let t=s.toSorted(e);if(s.length===0){let e;a[10]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,f.jsx)(`div`,{className:`text-muted-foreground`,children:`--`}),a[10]=e):e=a[10],g=e;break bb0}let d;a[11]!==s.length||a[12]!==c||a[13]!==l?(d=(e,t)=>(0,f.jsxs)(`span`,{className:`truncate`,children:[(0,f.jsx)(u,{variant:`focus`,cellId:e,skipScroll:l,className:`whitespace-nowrap`,onClick:c?()=>c(e):void 0},e),t<s.length-1&&`, `]},e),a[11]=s.length,a[12]=c,a[13]=l,a[14]=d):d=a[14],m=t.slice(0,o).map(d),h=s.length>o&&(0,f.jsxs)(n,{children:[(0,f.jsx)(r,{asChild:!0,children:(0,f.jsxs)(`span`,{className:`whitespace-nowrap text-muted-foreground text-xs hover:underline cursor-pointer`,children:[`+`,s.length-o,` more`]})}),(0,f.jsx)(i,{className:`w-auto`,children:(0,f.jsx)(`div`,{className:`flex flex-col gap-1 py-1`,children:t.slice(o).map(e=>(0,f.jsx)(u,{variant:`focus`,cellId:e,className:`whitespace-nowrap`,onClick:c?()=>c(e):void 0},e))})})]})}a[0]=s,a[1]=p,a[2]=o,a[3]=c,a[4]=l,a[5]=m,a[6]=h,a[7]=g}else m=a[5],h=a[6],g=a[7];if(g!==Symbol.for(`react.early_return_sentinel`))return g;let _;return a[15]!==m||a[16]!==h?(_=(0,f.jsxs)(f.Fragment,{children:[m,h]}),a[15]=m,a[16]=h,a[17]=_):_=a[17],_};e();var m=e=>{let t=(0,d.c)(15),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({name:r,declaredBy:n,onClick:i,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let o=n.length>1?`destructive`:`outline`,u;t[5]!==r||t[6]!==i?(u=async e=>{if(i){i(e);return}await s(r),c({title:`Copied to clipboard`})},t[5]=r,t[6]=i,t[7]=u):u=t[7];let p;t[8]!==r||t[9]!==o||t[10]!==u?(p=(0,f.jsx)(l,{title:r,variant:o,className:`rounded-sm text-ellipsis block overflow-hidden max-w-fit cursor-pointer font-medium`,onClick:u,children:r}),t[8]=r,t[9]=o,t[10]=u,t[11]=p):p=t[11];let m;return t[12]!==a||t[13]!==p?(m=(0,f.jsx)(`div`,{className:`max-w-[130px]`,...a,children:p}),t[12]=a,t[13]=p,t[14]=m):m=t[14],m};export{p as n,m as t};
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{r as t}from"./useEvent-BDjgaBtz.js";import{t as n}from"./react-DVplv7_D.js";import{Mt as r,f as i,qa as a,ti as o,yr as s,yt as c}from"./cells-B23_t5uX.js";import{t as l}from"./compiler-runtime-BrajqUja.js";import{a as u,i as d,o as f}from"./config-DMz7oN0r.js";import{t as p}from"./cn-ldLVeaqm.js";import{t as m}from"./jsx-runtime-B74pBk57.js";import{a as h,c as g,p as ee,r as te,t as ne}from"./dropdown-menu-DS6umAnH.js";import{t as _}from"./tooltip-CkGm8X7m.js";import{t as v}from"./button-D8gVKwe-.js";import{i as re}from"./paths-bkIFVj8h.js";import{n as ie}from"./components-DCo7mAWO.js";import{b as ae}from"./write-secret-modal-BEx-EUlh.js";import{t as oe}from"./plus-C5silF6g.js";import{t as y}from"./badge-crT3E0Rm.js";import{n as se,t as b}from"./add-connection-dialog-CzCmVM_b.js";var x=l(),S=m(),C=e=>{let t=(0,x.c)(8),{variableName:n,className:r}=e,a;t[0]===n?a=t[1]:(a=e=>{e.stopPropagation();let t=w(n);if(!t)return;let r=i(t);r&&s(r,n)},t[0]=n,t[1]=a);let o=a,c;t[2]===r?c=t[3]:(c=p(`text-link opacity-80 hover:opacity-100 hover:underline`,r),t[2]=r,t[3]=c);let l;return t[4]!==o||t[5]!==c||t[6]!==n?(l=(0,S.jsx)(`button`,{type:`button`,onClick:o,className:c,children:n}),t[4]=o,t[5]=c,t[6]=n,t[7]=l):l=t[7],l};function w(e){let n=t.get(o)[e];if(n)return n.declaredBy[0]}var T=e=>{let t=(0,x.c)(58),n,i,o,s,l;t[0]===e?(n=t[1],i=t[2],o=t[3],s=t[4],l=t[5]):({group:o,label:s,compact:l,className:i,...n}=e,t[0]=e,t[1]=n,t[2]=i,t[3]=o,t[4]=s,t[5]=l);let u=l!==void 0&&l,d=c(o),f=r(),{openModal:m,closeModal:y}=ae(),C=d.length>0,w=o===`storage`?`storage`:`databases`,T=C&&!u&&`rounded-r-none`,E;t[6]!==i||t[7]!==T?(E=p(i,T),t[6]=i,t[7]=T,t[8]=E):E=t[8];let D=u?s:n[`aria-label`],O=!u&&s,k=!u&&`ml-2`,A;t[9]===k?A=t[10]:(A=p(`h-4 w-4`,k),t[9]=k,t[10]=A);let j;t[11]===A?j=t[12]:(j=(0,S.jsx)(oe,{className:A}),t[11]=A,t[12]=j);let M;t[13]!==n||t[14]!==E||t[15]!==D||t[16]!==O||t[17]!==j?(M=(0,S.jsxs)(v,{...n,className:E,"aria-label":D,children:[O,j]}),t[13]=n,t[14]=E,t[15]=D,t[16]=O,t[17]=j,t[18]=M):M=t[18];let N=M,P;t[19]!==w||t[20]!==N?(P=(0,S.jsx)(b,{defaultTab:w,children:N}),t[19]=w,t[20]=N,t[21]=P):P=t[21];let F=P;if(!C)return F;let I=o===`storage`?ie:re,L=o===`storage`?`View detected remote storage connections`:`View detected database connections`,R=n.variant,z=n.size,B=n.disabled,V=u&&`rounded-none`,H;t[22]===V?H=t[23]:(H=p(`rounded-l-none border-l-0 px-2 text-(--blue-10) hover:bg-(--blue-3)`,V),t[22]=V,t[23]=H);let U;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,S.jsx)(a,{className:`h-4 w-4`}),t[24]=U):U=t[24];let W;t[25]!==n.disabled||t[26]!==n.size||t[27]!==n.variant||t[28]!==L||t[29]!==H?(W=(0,S.jsx)(`span`,{className:`inline-flex`,children:(0,S.jsx)(ee,{asChild:!0,children:(0,S.jsx)(v,{variant:R,size:z,disabled:B,className:H,"aria-label":L,children:U})})}),t[25]=n.disabled,t[26]=n.size,t[27]=n.variant,t[28]=L,t[29]=H,t[30]=W):W=t[30];let G;t[31]!==L||t[32]!==W?(G=(0,S.jsx)(_,{content:L,children:W}),t[31]=L,t[32]=W,t[33]=G):G=t[33];let K;if(t[34]!==f||t[35]!==d){let e;t[37]===f?e=t[38]:(e=e=>(0,S.jsxs)(h,{onSelect:()=>f(e),children:[(0,S.jsx)(a,{className:`mr-2 h-4 w-4 text-(--blue-9)`}),`Add `,e.displayName]},e.id),t[37]=f,t[38]=e),K=d.map(e),t[34]=f,t[35]=d,t[36]=K}else K=t[36];let q;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,S.jsx)(g,{}),t[39]=q):q=t[39];let J;t[40]!==y||t[41]!==w||t[42]!==m?(J=()=>m((0,S.jsx)(se,{defaultTab:w,onClose:y})),t[40]=y,t[41]=w,t[42]=m,t[43]=J):J=t[43];let Y;t[44]===I?Y=t[45]:(Y=(0,S.jsx)(I,{className:`mr-2 h-4 w-4`}),t[44]=I,t[45]=Y);let X;t[46]!==J||t[47]!==Y?(X=(0,S.jsxs)(h,{onSelect:J,children:[Y,`Browse all connections`]}),t[46]=J,t[47]=Y,t[48]=X):X=t[48];let Z;t[49]!==K||t[50]!==X?(Z=(0,S.jsxs)(te,{align:`end`,children:[K,q,X]}),t[49]=K,t[50]=X,t[51]=Z):Z=t[51];let Q;t[52]!==G||t[53]!==Z?(Q=(0,S.jsxs)(ne,{children:[G,Z]}),t[52]=G,t[53]=Z,t[54]=Q):Q=t[54];let $;return t[55]!==F||t[56]!==Q?($=(0,S.jsxs)(`div`,{className:`inline-flex`,children:[F,Q]}),t[55]=F,t[56]=Q,t[57]=$):$=t[57],$},E=e(n(),1),D=E.forwardRef((e,t)=>{let n=(0,x.c)(11),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,lastItem:i,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o=i&&`border-b-0`,s;n[4]!==r||n[5]!==o?(s=p(o,r),n[4]=r,n[5]=o,n[6]=s):s=n[6];let c;return n[7]!==a||n[8]!==t||n[9]!==s?(c=(0,S.jsx)(u,{ref:t,className:s,...a}),n[7]=a,n[8]=t,n[9]=s,n[10]=c):c=n[10],c});D.displayName=`PanelAccordionItem`;var O=E.forwardRef((e,t)=>{let n=(0,x.c)(13),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=p(`px-3 py-2 text-xs font-semibold uppercase tracking-wide hover:no-underline`,i),n[4]=i,n[5]=o);let s;n[6]===r?s=n[7]:(s=(0,S.jsx)(`span`,{className:`flex items-center gap-2`,children:r}),n[6]=r,n[7]=s);let c;return n[8]!==a||n[9]!==t||n[10]!==o||n[11]!==s?(c=(0,S.jsx)(f,{ref:t,className:o,...a,children:s}),n[8]=a,n[9]=t,n[10]=o,n[11]=s,n[12]=c):c=n[12],c});O.displayName=`PanelAccordionTrigger`;var k=E.forwardRef((e,t)=>{let n=(0,x.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({wrapperClassName:i,...r}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===i?a=n[4]:(a=p(`p-0`,i),n[3]=i,n[4]=a);let o;return n[5]!==r||n[6]!==t||n[7]!==a?(o=(0,S.jsx)(d,{ref:t,wrapperClassName:a,...r}),n[5]=r,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});k.displayName=`PanelAccordionContent`;var A=e=>{let t=(0,x.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=p(`py-0 px-1.5 text-[10px]`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,S.jsx)(y,{variant:`secondary`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a};A.displayName=`PanelBadge`;var j=e=>{let t=(0,x.c)(6),{count:n,type:r}=e;if(n===0)return null;let i;i=r===`database`?n===1?`database`:`databases`:n===1?`remote storage`:`remote storages`;let o=`${n} ${i} detected in your environment, ready to quick-add`,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,S.jsx)(a,{className:`h-2.5 w-2.5`}),t[0]=s):s=t[0];let c;t[1]===n?c=t[2]:(c=(0,S.jsx)(`span`,{children:(0,S.jsxs)(A,{className:`gap-0.5 border-(--blue-6) bg-(--blue-3) text-(--blue-11) hover:bg-(--blue-4) dark:border-(--blue-8) dark:bg-(--blue-3) dark:hover:bg-(--blue-4)`,children:[s,n]})}),t[1]=n,t[2]=c);let l;return t[3]!==o||t[4]!==c?(l=(0,S.jsx)(_,{content:o,children:c}),t[3]=o,t[4]=c,t[5]=l):l=t[5],l};export{A as a,O as i,k as n,T as o,D as r,C as s,j as t};
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{r as t}from"./useEvent-BDjgaBtz.js";import{t as n}from"./react-DVplv7_D.js";import{Mt as r,f as i,qa as a,ti as o,yr as s,yt as c}from"./cells-D_11MjVB.js";import{t as l}from"./compiler-runtime-BrajqUja.js";import{a as u,i as d,o as f}from"./config-DMz7oN0r.js";import{t as p}from"./cn-ldLVeaqm.js";import{t as m}from"./jsx-runtime-B74pBk57.js";import{a as h,c as g,p as ee,r as te,t as ne}from"./dropdown-menu-DS6umAnH.js";import{t as _}from"./tooltip-CkGm8X7m.js";import{t as v}from"./button-D8gVKwe-.js";import{i as re}from"./paths-bkIFVj8h.js";import{n as ie}from"./components-DCo7mAWO.js";import{b as ae}from"./write-secret-modal-BEx-EUlh.js";import{t as oe}from"./plus-C5silF6g.js";import{t as y}from"./badge-crT3E0Rm.js";import{n as se,t as b}from"./add-connection-dialog-BqdWmD-7.js";var x=l(),S=m(),C=e=>{let t=(0,x.c)(8),{variableName:n,className:r}=e,a;t[0]===n?a=t[1]:(a=e=>{e.stopPropagation();let t=w(n);if(!t)return;let r=i(t);r&&s(r,n)},t[0]=n,t[1]=a);let o=a,c;t[2]===r?c=t[3]:(c=p(`text-link opacity-80 hover:opacity-100 hover:underline`,r),t[2]=r,t[3]=c);let l;return t[4]!==o||t[5]!==c||t[6]!==n?(l=(0,S.jsx)(`button`,{type:`button`,onClick:o,className:c,children:n}),t[4]=o,t[5]=c,t[6]=n,t[7]=l):l=t[7],l};function w(e){let n=t.get(o)[e];if(n)return n.declaredBy[0]}var T=e=>{let t=(0,x.c)(58),n,i,o,s,l;t[0]===e?(n=t[1],i=t[2],o=t[3],s=t[4],l=t[5]):({group:o,label:s,compact:l,className:i,...n}=e,t[0]=e,t[1]=n,t[2]=i,t[3]=o,t[4]=s,t[5]=l);let u=l!==void 0&&l,d=c(o),f=r(),{openModal:m,closeModal:y}=ae(),C=d.length>0,w=o===`storage`?`storage`:`databases`,T=C&&!u&&`rounded-r-none`,E;t[6]!==i||t[7]!==T?(E=p(i,T),t[6]=i,t[7]=T,t[8]=E):E=t[8];let D=u?s:n[`aria-label`],O=!u&&s,k=!u&&`ml-2`,A;t[9]===k?A=t[10]:(A=p(`h-4 w-4`,k),t[9]=k,t[10]=A);let j;t[11]===A?j=t[12]:(j=(0,S.jsx)(oe,{className:A}),t[11]=A,t[12]=j);let M;t[13]!==n||t[14]!==E||t[15]!==D||t[16]!==O||t[17]!==j?(M=(0,S.jsxs)(v,{...n,className:E,"aria-label":D,children:[O,j]}),t[13]=n,t[14]=E,t[15]=D,t[16]=O,t[17]=j,t[18]=M):M=t[18];let N=M,P;t[19]!==w||t[20]!==N?(P=(0,S.jsx)(b,{defaultTab:w,children:N}),t[19]=w,t[20]=N,t[21]=P):P=t[21];let F=P;if(!C)return F;let I=o===`storage`?ie:re,L=o===`storage`?`View detected remote storage connections`:`View detected database connections`,R=n.variant,z=n.size,B=n.disabled,V=u&&`rounded-none`,H;t[22]===V?H=t[23]:(H=p(`rounded-l-none border-l-0 px-2 text-(--blue-10) hover:bg-(--blue-3)`,V),t[22]=V,t[23]=H);let U;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,S.jsx)(a,{className:`h-4 w-4`}),t[24]=U):U=t[24];let W;t[25]!==n.disabled||t[26]!==n.size||t[27]!==n.variant||t[28]!==L||t[29]!==H?(W=(0,S.jsx)(`span`,{className:`inline-flex`,children:(0,S.jsx)(ee,{asChild:!0,children:(0,S.jsx)(v,{variant:R,size:z,disabled:B,className:H,"aria-label":L,children:U})})}),t[25]=n.disabled,t[26]=n.size,t[27]=n.variant,t[28]=L,t[29]=H,t[30]=W):W=t[30];let G;t[31]!==L||t[32]!==W?(G=(0,S.jsx)(_,{content:L,children:W}),t[31]=L,t[32]=W,t[33]=G):G=t[33];let K;if(t[34]!==f||t[35]!==d){let e;t[37]===f?e=t[38]:(e=e=>(0,S.jsxs)(h,{onSelect:()=>f(e),children:[(0,S.jsx)(a,{className:`mr-2 h-4 w-4 text-(--blue-9)`}),`Add `,e.displayName]},e.id),t[37]=f,t[38]=e),K=d.map(e),t[34]=f,t[35]=d,t[36]=K}else K=t[36];let q;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,S.jsx)(g,{}),t[39]=q):q=t[39];let J;t[40]!==y||t[41]!==w||t[42]!==m?(J=()=>m((0,S.jsx)(se,{defaultTab:w,onClose:y})),t[40]=y,t[41]=w,t[42]=m,t[43]=J):J=t[43];let Y;t[44]===I?Y=t[45]:(Y=(0,S.jsx)(I,{className:`mr-2 h-4 w-4`}),t[44]=I,t[45]=Y);let X;t[46]!==J||t[47]!==Y?(X=(0,S.jsxs)(h,{onSelect:J,children:[Y,`Browse all connections`]}),t[46]=J,t[47]=Y,t[48]=X):X=t[48];let Z;t[49]!==K||t[50]!==X?(Z=(0,S.jsxs)(te,{align:`end`,children:[K,q,X]}),t[49]=K,t[50]=X,t[51]=Z):Z=t[51];let Q;t[52]!==G||t[53]!==Z?(Q=(0,S.jsxs)(ne,{children:[G,Z]}),t[52]=G,t[53]=Z,t[54]=Q):Q=t[54];let $;return t[55]!==F||t[56]!==Q?($=(0,S.jsxs)(`div`,{className:`inline-flex`,children:[F,Q]}),t[55]=F,t[56]=Q,t[57]=$):$=t[57],$},E=e(n(),1),D=E.forwardRef((e,t)=>{let n=(0,x.c)(11),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,lastItem:i,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o=i&&`border-b-0`,s;n[4]!==r||n[5]!==o?(s=p(o,r),n[4]=r,n[5]=o,n[6]=s):s=n[6];let c;return n[7]!==a||n[8]!==t||n[9]!==s?(c=(0,S.jsx)(u,{ref:t,className:s,...a}),n[7]=a,n[8]=t,n[9]=s,n[10]=c):c=n[10],c});D.displayName=`PanelAccordionItem`;var O=E.forwardRef((e,t)=>{let n=(0,x.c)(13),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=p(`px-3 py-2 text-xs font-semibold uppercase tracking-wide hover:no-underline`,i),n[4]=i,n[5]=o);let s;n[6]===r?s=n[7]:(s=(0,S.jsx)(`span`,{className:`flex items-center gap-2`,children:r}),n[6]=r,n[7]=s);let c;return n[8]!==a||n[9]!==t||n[10]!==o||n[11]!==s?(c=(0,S.jsx)(f,{ref:t,className:o,...a,children:s}),n[8]=a,n[9]=t,n[10]=o,n[11]=s,n[12]=c):c=n[12],c});O.displayName=`PanelAccordionTrigger`;var k=E.forwardRef((e,t)=>{let n=(0,x.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({wrapperClassName:i,...r}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===i?a=n[4]:(a=p(`p-0`,i),n[3]=i,n[4]=a);let o;return n[5]!==r||n[6]!==t||n[7]!==a?(o=(0,S.jsx)(d,{ref:t,wrapperClassName:a,...r}),n[5]=r,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});k.displayName=`PanelAccordionContent`;var A=e=>{let t=(0,x.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=p(`py-0 px-1.5 text-[10px]`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,S.jsx)(y,{variant:`secondary`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a};A.displayName=`PanelBadge`;var j=e=>{let t=(0,x.c)(6),{count:n,type:r}=e;if(n===0)return null;let i;i=r===`database`?n===1?`database`:`databases`:n===1?`remote storage`:`remote storages`;let o=`${n} ${i} detected in your environment, ready to quick-add`,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,S.jsx)(a,{className:`h-2.5 w-2.5`}),t[0]=s):s=t[0];let c;t[1]===n?c=t[2]:(c=(0,S.jsx)(`span`,{children:(0,S.jsxs)(A,{className:`gap-0.5 border-(--blue-6) bg-(--blue-3) text-(--blue-11) hover:bg-(--blue-4) dark:border-(--blue-8) dark:bg-(--blue-3) dark:hover:bg-(--blue-4)`,children:[s,n]})}),t[1]=n,t[2]=c);let l;return t[3]!==o||t[4]!==c?(l=(0,S.jsx)(_,{content:o,children:c}),t[3]=o,t[4]=c,t[5]=l):l=t[5],l};export{A as a,O as i,k as n,T as o,D as r,C as s,j as t};
@@ -1,3 +1,3 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{Ai as t,Fi as n,Pi as r,Qi as i,Si as a,Va as o,Vn as s,ja as c,ji as l,jo as u,n as d}from"./cells-B23_t5uX.js";import{g as f}from"./useEventListener-CjDeLqFC.js";import{n as p}from"./config-DMz7oN0r.js";import{t as m}from"./createLucideIcon-DfJ2oMlA.js";var h=m(`wrench`,[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`,key:`1ngwbx`}]]),g=e(u(),1);function _(e){let t=e.indexOf(`://`);if(t!==-1)return e.slice(0,t)}var v=class{async getAttachments(e){return[]}asURI(e){return`${this.contextType}://${e}`}parseContextIds(e){let t=RegExp(`${this.mentionPrefix}([\\w-]+):\\/\\/([\\w./-]+)`,`g`),n=[...e.matchAll(t)],r=e=>e.slice(1),i=n.filter(([,e])=>e===this.contextType).map(([e])=>r(e));return[...new Set(i)]}createBasicCompletion(e,t){return{label:`${this.mentionPrefix}${e.uri.split(`://`)[1]}`,displayLabel:e.name,detail:t?.detail||e.description,boost:t?.boost||1,type:t?.type||this.contextType,apply:`${this.mentionPrefix}${e.uri}`,section:t?.section||this.title}}},y=class{providers=new Set;register(e){return this.providers.add(e),this}getProviders(){return this.providers}getProvider(e){return[...this.providers].find(t=>t.contextType===e)}getAllItems(){return[...this.providers].flatMap(e=>e.getItems())}parseAllContextIds(e){return[...this.providers].flatMap(t=>t.parseContextIds(e))}findProviderForUri(e){let t=_(e);if(t)return[...this.providers].find(n=>n.contextType===t&&n.getItems().some(t=>t.uri===e))}resolveItems(e){if(e.length===0)return[];let t=new p;for(let n of e){let e=_(n);e&&t.add(e,n)}let n=new Map;for(let[e,r]of t.entries()){let t=[...this.providers].filter(t=>t.contextType===e);for(let e of t){let t=new Map(e.getItems().map(e=>[e.uri,e]));for(let e of r){let r=t.get(e);r&&n.set(e,r)}}}let r=[];for(let t of e){let e=n.get(t);e&&r.push(e)}return r}getContextInfo(e){return this.resolveItems(e)}formatContextForAI(e){let t=this.resolveItems(e);return t.length===0?``:t.map(e=>this.findProviderForUri(e.uri)?.formatContext(e)||``).join(`
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{Ai as t,Fi as n,Pi as r,Qi as i,Si as a,Va as o,Vn as s,ja as c,ji as l,jo as u,n as d}from"./cells-D_11MjVB.js";import{g as f}from"./useEventListener-CjDeLqFC.js";import{n as p}from"./config-DMz7oN0r.js";import{t as m}from"./createLucideIcon-DfJ2oMlA.js";var h=m(`wrench`,[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`,key:`1ngwbx`}]]),g=e(u(),1);function _(e){let t=e.indexOf(`://`);if(t!==-1)return e.slice(0,t)}var v=class{async getAttachments(e){return[]}asURI(e){return`${this.contextType}://${e}`}parseContextIds(e){let t=RegExp(`${this.mentionPrefix}([\\w-]+):\\/\\/([\\w./-]+)`,`g`),n=[...e.matchAll(t)],r=e=>e.slice(1),i=n.filter(([,e])=>e===this.contextType).map(([e])=>r(e));return[...new Set(i)]}createBasicCompletion(e,t){return{label:`${this.mentionPrefix}${e.uri.split(`://`)[1]}`,displayLabel:e.name,detail:t?.detail||e.description,boost:t?.boost||1,type:t?.type||this.contextType,apply:`${this.mentionPrefix}${e.uri}`,section:t?.section||this.title}}},y=class{providers=new Set;register(e){return this.providers.add(e),this}getProviders(){return this.providers}getProvider(e){return[...this.providers].find(t=>t.contextType===e)}getAllItems(){return[...this.providers].flatMap(e=>e.getItems())}parseAllContextIds(e){return[...this.providers].flatMap(t=>t.parseContextIds(e))}findProviderForUri(e){let t=_(e);if(t)return[...this.providers].find(n=>n.contextType===t&&n.getItems().some(t=>t.uri===e))}resolveItems(e){if(e.length===0)return[];let t=new p;for(let n of e){let e=_(n);e&&t.add(e,n)}let n=new Map;for(let[e,r]of t.entries()){let t=[...this.providers].filter(t=>t.contextType===e);for(let e of t){let t=new Map(e.getItems().map(e=>[e.uri,e]));for(let e of r){let r=t.get(e);r&&n.set(e,r)}}}let r=[];for(let t of e){let e=n.get(t);e&&r.push(e)}return r}getContextInfo(e){return this.resolveItems(e)}formatContextForAI(e){let t=this.resolveItems(e);return t.length===0?``:t.map(e=>this.findProviderForUri(e.uri)?.formatContext(e)||``).join(`
2
2
 
3
3
  `)}async getAttachmentsForContext(e){let t=this.resolveItems(e);if(t.length===0)return[];let n=new p;for(let e of t){let t=this.findProviderForUri(e.uri);t&&n.add(t,e)}let r=[...n.entries()].map(async([e,t])=>{try{return await e.getAttachments(t)}catch(e){return f.error(`Error getting attachments from provider`,e),[]}});return(await Promise.all(r)).flat()}};c([o()],y.prototype,`getAllItems`,null);function b(e){return e.replaceAll(`<`,`&lt;`).replaceAll(`>`,`&gt;`)}function x(e){let{type:t,data:n,details:r}=e,i=`<${t}`;for(let[e,t]of Object.entries(n))if(t!==void 0){let n=b(typeof t==`object`&&t?JSON.stringify(t):String(t));i+=` ${e}="${n}"`}return i+=`>`,r&&(i+=b(r)),i+=`</${t}>`,i}var S={LOCAL_TABLE:7,REMOTE_TABLE:5,HIGH:4,MEDIUM:3,CELL_OUTPUT:2,LOW:2},C={ERROR:{name:`Error`,rank:1},TABLE:{name:`Table`,rank:2},DATA_SOURCES:{name:`Data Sources`,rank:3},VARIABLE:{name:`Variable`,rank:4},CELL_OUTPUT:{name:`Cell Output`,rank:5},FILE:{name:`File`,rank:6}},w=`datasource`,T=class extends v{title=`Datasource`;mentionPrefix=`@`;contextType=w;connectionsMap;dataframes;constructor(e,t){super(),this.connectionsMap=e,this.dataframes=[...t.values()].filter(e=>n(e)===`dataframe`)}getItems(){return[...this.connectionsMap.values()].map(e=>{let t=`Database schema.`,n={connection:e};return i.has(e.name)&&(n.tables=this.dataframes,t=`Database schema and the dataframes that can be queried`),e.databases.length===0&&(n.tables?.length??0)===0?null:{uri:this.asURI(e.name),name:e.name,description:t,type:this.contextType,data:n}}).filter(Boolean)}formatContext(e){let t=e.data,{name:n,display_name:r,source:a,...o}=t.connection,s=o;return i.has(n)||(s={...o,engine_name:n}),x({type:this.contextType,data:{connection:s,tables:t.tables}})}formatCompletion(e){let n=e.data,r=n.connection,o=n.tables,s=r.name;return i.has(r.name)&&(s=`In-Memory`),{label:`@${s}`,displayLabel:s,detail:t(r.dialect),boost:S.MEDIUM,type:this.contextType,section:C.DATA_SOURCES,info:()=>{let e=document.createElement(`div`);return e.classList.add(`mo-cm-tooltip`,`docs-documentation`),(0,g.createRoot)(e).render(a(r,o)),e}}}};function E(e,t){let n=t.get(d(e))?.code;if(!n||n.trim()===``)return null;let[i,a,o]=s.sql.transformIn(n),c=t.get(r).connectionsMap.get(o.engine);return c?`@${w}://${c.name}`:null}function D(e,t){let n=E(e,t);if(!n)return null;let i=t.get(r).connectionsMap,a=new T(i,t.get(l)),o=n.slice(1),s=a.getItems().find(e=>e.uri===o);return s?a.formatContext(s):null}export{C as a,y as c,S as i,h as l,D as n,x as o,E as r,v as s,T as t};