@marimo-team/frontend 0.23.14-dev2 → 0.23.14-dev5

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 (76) hide show
  1. package/dist/assets/{CellStatus-B43aF1fe.js → CellStatus-D3EKlB21.js} +1 -1
  2. package/dist/assets/{JsonOutput-DTeVFctC.js → JsonOutput-BfDKMXVF.js} +1 -1
  3. package/dist/assets/{MarimoErrorOutput-DcImOp4r.js → MarimoErrorOutput-C9ti-mu4.js} +1 -1
  4. package/dist/assets/{RenderHTML-BLBwT24G.js → RenderHTML-FBKVQ49x.js} +1 -1
  5. package/dist/assets/{RunButton-CYnmbljZ.js → RunButton-BRhOWu7V.js} +1 -1
  6. package/dist/assets/{add-cell-with-ai-C5iuH1Jb.js → add-cell-with-ai-nJKSBAPb.js} +1 -1
  7. package/dist/assets/{add-connection-dialog-CXW90r_2.js → add-connection-dialog-CMK4qx7X.js} +1 -1
  8. package/dist/assets/{agent-panel-4NHH_Sae.js → agent-panel-B1Sy_w9H.js} +1 -1
  9. package/dist/assets/{ai-model-dropdown-DVeTiOGS.js → ai-model-dropdown-Brz68_s8.js} +1 -1
  10. package/dist/assets/{app-config-button-DQSFx7vo.js → app-config-button-DP_s193w.js} +1 -1
  11. package/dist/assets/{cell-editor-BZ6ZrToN.js → cell-editor-Dc80BOci.js} +1 -1
  12. package/dist/assets/{cell-link-LArpBcY-.js → cell-link-CaBSvNu3.js} +1 -1
  13. package/dist/assets/{cells-DQ5n6Zef.js → cells-DZEvA3zb.js} +57 -57
  14. package/dist/assets/{chat-display-DegYbxcN.js → chat-display-C2X2R6le.js} +1 -1
  15. package/dist/assets/{chat-panel-CvC2TxDx.js → chat-panel-Mb3VYb6T.js} +1 -1
  16. package/dist/assets/{chat-ui-Ddt6mEIC.js → chat-ui-D5NiPbFP.js} +1 -1
  17. package/dist/assets/{column-preview-VcOeHtkt.js → column-preview-CtFTSUj4.js} +1 -1
  18. package/dist/assets/{command-palette-CGHj_h4K.js → command-palette-RBwjW3re.js} +1 -1
  19. package/dist/assets/{common-XGVukwY0.js → common-DbLcwSDP.js} +1 -1
  20. package/dist/assets/{components-C2HqGrL_.js → components-o-HZCs8Y.js} +1 -1
  21. package/dist/assets/{datasource-BT-L2LDD.js → datasource-C4XU40Hp.js} +1 -1
  22. package/dist/assets/{dependency-graph-panel-DGDP7vz5.js → dependency-graph-panel-BMAOsCZ-.js} +1 -1
  23. package/dist/assets/{documentation-panel-ODnRqsmJ.js → documentation-panel-CtvI61ug.js} +1 -1
  24. package/dist/assets/{download-rKGlekSQ.js → download-DlMo0yoI.js} +1 -1
  25. package/dist/assets/{edit-page-D4rGvN8u.js → edit-page-neW4rs_q.js} +4 -4
  26. package/dist/assets/{error-panel-BjCDBUEW.js → error-panel-Czh-8YVF.js} +1 -1
  27. package/dist/assets/{file-explorer-panel-UL0ND-sz.js → file-explorer-panel-BBIZ5Upt.js} +1 -1
  28. package/dist/assets/{file-icons-DBMviz_K.js → file-icons-C_azZLwC.js} +1 -1
  29. package/dist/assets/{file-name-input-C1PsBoII.js → file-name-input-BxTNV58f.js} +1 -1
  30. package/dist/assets/{floating-outline-CPTvLHMl.js → floating-outline-DWk90U4M.js} +1 -1
  31. package/dist/assets/{focus-Dol5ybck.js → focus-DHgSYMb6.js} +1 -1
  32. package/dist/assets/{form-B9I9mpZy.js → form-ClQGrP6i.js} +1 -1
  33. package/dist/assets/{home-page-MuT1rHVU.js → home-page-CJTghues.js} +1 -1
  34. package/dist/assets/{hooks-C7muIIiV.js → hooks-B_YOAMxc.js} +1 -1
  35. package/dist/assets/{html-to-image-CmK-WSPG.js → html-to-image-DY_stEj0.js} +1 -1
  36. package/dist/assets/{index-CeYXA02L.js → index-a3SXFqw7.js} +3 -3
  37. package/dist/assets/{kiosk-mode-CAa5-suK.js → kiosk-mode-BqSHurAE.js} +1 -1
  38. package/dist/assets/{layout-CRzOtEaD.js → layout-CPdBwJdJ.js} +3 -3
  39. package/dist/assets/{logs-panel-DJyCkydj.js → logs-panel-Z4miZLI5.js} +1 -1
  40. package/dist/assets/{markdown-renderer-f3mfGw8u.js → markdown-renderer-duAFwqLF.js} +1 -1
  41. package/dist/assets/{name-cell-input-DteS1CD8.js → name-cell-input-DulIaCIY.js} +1 -1
  42. package/dist/assets/{outline-panel-FvxWzBOw.js → outline-panel-BHR36Fu3.js} +1 -1
  43. package/dist/assets/{packages-panel-Cua7qm1T.js → packages-panel-wvuNuaJ7.js} +1 -1
  44. package/dist/assets/{panels-VjJvuO2e.js → panels-CUvqvTcK.js} +1 -1
  45. package/dist/assets/{process-output-Ll90qx0s.js → process-output-CNAM-uaM.js} +1 -1
  46. package/dist/assets/{radio-group-D7RG9Px_.js → radio-group-C03SYtE4.js} +1 -1
  47. package/dist/assets/{readonly-python-code-DHJTIc4H.js → readonly-python-code-Buc6Cpxg.js} +1 -1
  48. package/dist/assets/{reveal-component-DkKSevqs.js → reveal-component-DKV09ndk.js} +1 -1
  49. package/dist/assets/{run-page-39osLTG7.js → run-page-x5Gp_vjo.js} +1 -1
  50. package/dist/assets/{scratchpad-panel-Dfbdc2Bu.js → scratchpad-panel-DaT9P31r.js} +1 -1
  51. package/dist/assets/{session-panel-Dywriyca.js → session-panel-am6zkzg4.js} +1 -1
  52. package/dist/assets/snippets-panel-Br8drXb6.js +1 -0
  53. package/dist/assets/{state-D7fu7IC3.js → state-CV4SpBvo.js} +1 -1
  54. package/dist/assets/{state-VxOqftwq.js → state-CvarlPeY.js} +1 -1
  55. package/dist/assets/{textarea-DD5BwHTh.js → textarea-BaOwN3Me.js} +1 -1
  56. package/dist/assets/{tracing-Ckq9673r.js → tracing-DAzqwOSy.js} +1 -1
  57. package/dist/assets/{tracing-panel-7UPP4OM8.js → tracing-panel-DDISd3Mx.js} +2 -2
  58. package/dist/assets/{tree-actions-CjikjOBA.js → tree-actions-CNIHKi7f.js} +1 -1
  59. package/dist/assets/{useCellActionButton-TRa0-mam.js → useCellActionButton-CSYE6DW0.js} +1 -1
  60. package/dist/assets/{useDeleteCell-CICC5IPM.js → useDeleteCell-DeJTCYjE.js} +1 -1
  61. package/dist/assets/{useDependencyPanelTab-DUmpfdwT.js → useDependencyPanelTab-HcfMBFHT.js} +1 -1
  62. package/dist/assets/{useNotebookActions-CFivvltO.js → useNotebookActions-C1Ba1Deq.js} +1 -1
  63. package/dist/assets/{useRunCells-bcK6jTD2.js → useRunCells-CK2uMzyx.js} +1 -1
  64. package/dist/assets/{useSplitCell-CqcM6MQ1.js → useSplitCell-DIWUZzri.js} +1 -1
  65. package/dist/index.html +22 -22
  66. package/package.json +1 -1
  67. package/src/components/editor/chrome/panels/__tests__/snippet-display.test.ts +22 -0
  68. package/src/components/editor/chrome/panels/snippet-display.ts +27 -0
  69. package/src/components/editor/chrome/panels/snippets-panel.tsx +5 -2
  70. package/src/core/codemirror/completion/__tests__/signature-hint.test.ts +94 -0
  71. package/src/core/codemirror/completion/completer.ts +12 -1
  72. package/src/core/codemirror/completion/signature-hint.ts +68 -0
  73. package/src/core/codemirror/language/languages/python.ts +10 -4
  74. package/src/core/wasm/store.ts +1 -1
  75. package/dist/assets/snippets-panel-Ee_wUGYF.js +0 -1
  76. /package/dist/{files → export_demos}/wasm-intro.py +0 -0
@@ -1 +1 @@
1
- import{s as D}from"./chunk-LvLJmgfZ.js";import{t as H}from"./react-Bj1aDYRI.js";import{Cr as K,_r as Q,vr as U}from"./cells-DQ5n6Zef.js";import{A as Y,C as O,R as E,T as Z}from"./zod-H_cgTO0M.js";import{t as S}from"./compiler-runtime-B3qBwwSJ.js";import{t as ee}from"./isEmpty-CXeoXbuc.js";import{X as te}from"./ai-model-dropdown-DVeTiOGS.js";import{_ as re}from"./useEventListener-BakX-tnw.js";import{t as k}from"./cn-X2M2usMq.js";import{t as se}from"./jsx-runtime-PbYoItBR.js";import{a as F,i as $,n as J,r as M}from"./multi-map-9ogswH46.js";import{t as V}from"./button-BF7GSjhW.js";import{i as T}from"./strings-DvZlHYnD.js";import{t as W}from"./createLucideIcon-BTp1tQDO.js";import{t as ae}from"./ban-CttLZK8l.js";import{t as le}from"./bot-message-square-AslRbAeb.js";import{r as ne}from"./x-9vLEgLY6.js";import{t as G}from"./markdown-renderer-f3mfGw8u.js";import{f as I,l as ie}from"./add-cell-with-ai-C5iuH1Jb.js";import{t as oe}from"./external-link-BktyywYg.js";import{n as ce}from"./spinner-DTBVbtl-.js";import{c as de}from"./datasource-BT-L2LDD.js";import{t as ue}from"./RenderHTML-BLBwT24G.js";var me=W("circle-slash",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"9",x2:"15",y1:"15",y2:"9",key:"1dfufj"}]]),pe=W("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"}]]),xe=S(),C=D(H(),1),r=D(se(),1);const he=c=>{let e=(0,xe.c)(13),{reasoning:l,index:n,isStreaming:s}=c,i=n===void 0?0:n,t=s===void 0?!1:s,[a,u]=C.useState("");if(!l&&!t)return null;let h=t?"reasoning":a,p;e[0]===Symbol.for("react.memo_cache_sentinel")?(p=(0,r.jsx)(le,{className:"h-3 w-3"}),e[0]=p):p=e[0];let v=t?"Thinking":"View reasoning",x=l.length>0&&` (${l.length} chars)`,d;e[1]!==v||e[2]!==x?(d=(0,r.jsx)(F,{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,r.jsxs)("span",{className:"flex items-center gap-2",children:[p,v,x]})}),e[1]=v,e[2]=x,e[3]=d):d=e[3];let m;e[4]===l?m=e[5]:(m=(0,r.jsx)(M,{className:"pb-2 px-2",children:(0,r.jsx)("div",{className:"bg-muted/30 border border-muted/50 rounded-md p-3 italic text-muted-foreground/90 relative",children:(0,r.jsx)("div",{className:"pr-6",children:(0,r.jsx)(G,{content:l})})})}),e[4]=l,e[5]=m);let o;e[6]!==d||e[7]!==m?(o=(0,r.jsxs)($,{value:"reasoning",className:"border-0",children:[d,m]}),e[6]=d,e[7]=m,e[8]=o):o=e[8];let f;return e[9]!==i||e[10]!==h||e[11]!==o?(f=(0,r.jsx)(J,{type:"single",collapsible:!0,className:"w-full mb-2",value:h,onValueChange:u,children:o},i),e[9]=i,e[10]=h,e[11]=o,e[12]=f):f=e[12],f};function L(c){return c.replace("tool-","")}var fe=S();const q=c=>{let e=(0,fe.c)(9),{input:l,label:n}=c,s=n===void 0?"Tool Request":n;if(l==null)return null;let i;e[0]===s?i=e[1]:(i=(0,r.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:s}),e[0]=s,e[1]=i);let t;e[2]===l?t=e[3]:(t=JSON.stringify(l,null,2),e[2]=l,e[3]=t);let a;e[4]===t?a=e[5]:(a=(0,r.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:t}),e[4]=t,e[5]=a);let u;return e[6]!==i||e[7]!==a?(u=(0,r.jsxs)("div",{className:"space-y-2",children:[i,a]}),e[6]=i,e[7]=a,e[8]=u):u=e[8],u};var ve=S();const be=c=>{let e=(0,ve.c)(25),{toolName:l,input:n,approval:s,onApprove:i,className:t}=c,a;e[0]===t?a=e[1]:(a=k("rounded-md border border-(--amber-6) bg-(--amber-2) p-3 space-y-3",t),e[0]=t,e[1]=a);let u=`Approval required for ${L(l)}`,h;e[2]===Symbol.for("react.memo_cache_sentinel")?(h=(0,r.jsx)(pe,{className:"h-4 w-4 text-(--amber-11) mt-0.5 shrink-0"}),e[2]=h):h=e[2];let p;e[3]===Symbol.for("react.memo_cache_sentinel")?(p=(0,r.jsx)("span",{className:"font-semibold",children:"Approval required:"}),e[3]=p):p=e[3];let v;e[4]===l?v=e[5]:(v=L(l),e[4]=l,e[5]=v);let x;e[6]===v?x=e[7]:(x=(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[h,(0,r.jsxs)("div",{className:"text-xs text-(--amber-11) leading-relaxed",children:[p," ",(0,r.jsx)("code",{className:"font-mono",children:v})]})]}),e[6]=v,e[7]=x);let d;e[8]===n?d=e[9]:(d=(0,r.jsx)(q,{input:n}),e[8]=n,e[9]=d);let m;e[10]!==s.id||e[11]!==i?(m=(0,r.jsx)(V,{size:"xs",variant:"outline",onClick:()=>i({id:s.id,approved:!1}),children:"Deny"}),e[10]=s.id,e[11]=i,e[12]=m):m=e[12];let o;e[13]!==s.id||e[14]!==i?(o=(0,r.jsx)(V,{size:"xs",onClick:()=>i({id:s.id,approved:!0}),children:"Approve"}),e[13]=s.id,e[14]=i,e[15]=o):o=e[15];let f;e[16]!==m||e[17]!==o?(f=(0,r.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[m,o]}),e[16]=m,e[17]=o,e[18]=f):f=e[18];let b;return e[19]!==a||e[20]!==f||e[21]!==u||e[22]!==x||e[23]!==d?(b=(0,r.jsxs)("div",{className:a,role:"alertdialog","aria-label":u,children:[x,d,f]}),e[19]=a,e[20]=f,e[21]=u,e[22]=x,e[23]=d,e[24]=b):b=e[24],b};var je=S();const ge=c=>{let e=(0,je.c)(28),{toolName:l,input:n,errorText:s,isLive:i,className:t}=c,[a,u]=C.useState(i),h=C.useRef(i),p,v;e[0]===i?(p=e[1],v=e[2]):(p=()=>{h.current&&!i&&u(!1),h.current=i},v=[i],e[0]=i,e[1]=p,e[2]=v),C.useEffect(p,v);let x;e[3]===t?x=e[4]:(x=k("rounded-md border border-(--red-6) bg-(--red-2)",t),e[3]=t,e[4]=x);let d;e[5]===Symbol.for("react.memo_cache_sentinel")?(d=()=>u(Ne),e[5]=d):d=e[5];let m;e[6]===Symbol.for("react.memo_cache_sentinel")?(m=(0,r.jsx)(K,{className:"h-3.5 w-3.5 shrink-0"}),e[6]=m):m=e[6];let o;e[7]===Symbol.for("react.memo_cache_sentinel")?(o=(0,r.jsx)("span",{className:"font-semibold",children:"Failed:"}),e[7]=o):o=e[7];let f;e[8]===l?f=e[9]:(f=L(l),e[8]=l,e[9]=f);let b;e[10]===f?b=e[11]:(b=(0,r.jsxs)("span",{className:"flex-1 text-left",children:[o," ",(0,r.jsx)("code",{className:"font-mono",children:f})]}),e[10]=f,e[11]=b);let _=a&&"rotate-180",j;e[12]===_?j=e[13]:(j=k("h-3.5 w-3.5 shrink-0 transition-transform",_),e[12]=_,e[13]=j);let g;e[14]===j?g=e[15]:(g=(0,r.jsx)(ne,{className:j}),e[14]=j,e[15]=g);let N;e[16]!==a||e[17]!==g||e[18]!==b?(N=(0,r.jsxs)("button",{type:"button",onClick:d,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":a,children:[m,b,g]}),e[16]=a,e[17]=g,e[18]=b,e[19]=N):N=e[19];let y;e[20]!==s||e[21]!==n||e[22]!==a?(y=a&&(0,r.jsxs)("div",{className:"px-3 pb-3 space-y-3 border-t border-(--red-6)/40 pt-3",children:[(0,r.jsx)(q,{input:n}),s&&(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"text-xs font-semibold text-(--red-11) mb-1",children:"Error"}),(0,r.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:s})]})]}),e[20]=s,e[21]=n,e[22]=a,e[23]=y):y=e[23];let w;return e[24]!==N||e[25]!==y||e[26]!==x?(w=(0,r.jsxs)("div",{className:x,children:[N,y]}),e[24]=N,e[25]=y,e[26]=x,e[27]=w):w=e[27],w};function Ne(c){return!c}var P=S();function ye(c){return c==null?!0:typeof c=="object"?ee(c):!1}var we=Y({status:E().default("success"),auth_required:Z().default(!1),action_url:O(),next_steps:O(),meta:O(),message:E().nullish()}),_e=c=>{let e=(0,P.c)(12),{data:l}=c,n;if(e[0]!==l){let{status:s,auth_required:i,action_url:t,meta:a,next_steps:u,message:h,...p}=l,v;e[2]===Symbol.for("react.memo_cache_sentinel")?(v=(0,r.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Tool Result"}),e[2]=v):v=e[2];let x;e[3]===s?x=e[4]:(x=(0,r.jsx)("span",{className:"text-xs px-2 py-0.5 bg-(--grass-2) text-(--grass-11) rounded-full font-medium capitalize",children:s}),e[3]=s,e[4]=x);let d;e[5]===i?d=e[6]:(d=i&&(0,r.jsx)("span",{className:"text-xs px-2 py-0.5 bg-(--amber-2) text-(--amber-11) rounded-full",children:"Auth Required"}),e[5]=i,e[6]=d);let m;e[7]!==x||e[8]!==d?(m=(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[v,(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[x,d]})]}),e[7]=x,e[8]=d,e[9]=m):m=e[9];let o;e[10]===h?o=e[11]:(o=h&&(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[(0,r.jsx)(Q,{className:"h-3 w-3 text-(--blue-11) mt-0.5 shrink-0"}),(0,r.jsx)("div",{className:"text-xs text-foreground",children:h})]}),e[10]=h,e[11]=o),n=(0,r.jsxs)("div",{className:"flex flex-col gap-1.5",children:[m,o,p&&(0,r.jsx)("div",{className:"space-y-3",children:Object.entries(p).map(Ae)})]}),e[0]=l,e[1]=n}else n=e[1];return n};const Se=c=>{let e=(0,P.c)(8),{result:l}=c,n;e[0]===l?n=e[1]:(n=we.safeParse(l),e[0]=l,e[1]=n);let s=n;if(s.success){let a;return e[2]===s.data?a=e[3]:(a=(0,r.jsx)(_e,{data:s.data}),e[2]=s.data,e[3]=a),a}let i;e[4]===l?i=e[5]:(i=typeof l=="string"?l:JSON.stringify(l,null,2),e[4]=l,e[5]=i);let t;return e[6]===i?t=e[7]:(t=(0,r.jsx)("div",{className:"text-xs font-medium text-muted-foreground mb-1 max-h-64 overflow-y-auto scrollbar-thin",children:i}),e[6]=i,e[7]=t),t};function Ae(c){let[e,l]=c;return ye(l)?null:(0,r.jsxs)("div",{className:"space-y-1.5",children:[(0,r.jsx)("span",{className:"text-xs text-muted-foreground",children:e}),(0,r.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(l,null,2)})]},e)}var z=S(),ke={"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"]),Ce=c=>{let e=(0,z.c)(5),{state:l,interrupted:n}=c;if(n){let s;return e[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(me,{className:"h-3 w-3 text-muted-foreground"}),e[0]=s):s=e[0],s}switch(l){case"input-streaming":case"input-available":case"approval-responded":{let s;return e[1]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(ce,{className:"h-3 w-3 animate-spin"}),e[1]=s):s=e[1],s}case"output-available":{let s;return e[2]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(te,{className:"h-3 w-3 text-(--grass-11)"}),e[2]=s):s=e[2],s}case"output-denied":{let s;return e[3]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(ae,{className:"h-3 w-3 text-muted-foreground"}),e[3]=s):s=e[3],s}default:{T(l);let s;return e[4]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(de,{className:"h-3 w-3"}),e[4]=s):s=e[4],s}}};function qe(c){switch(c){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 T(c),""}}const X=c=>{let e=(0,z.c)(34),{toolName:l,state:n,input:s,result:i,approval:t,index:a,className:u,isActive:h}=c,p=a===void 0?0:a,v=h===void 0?!0:h,x;e[0]!==v||e[1]!==n?(x=!v&&Te.has(n),e[0]=v,e[1]=n,e[2]=x):x=e[2];let d=x,m=`tool-${p}`,o;e[3]===u?o=e[4]:(o=k("w-full",u),e[3]=u,e[4]=o);let f;e[5]!==d||e[6]!==n?(f=k("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",d?"text-muted-foreground":qe(n)),e[5]=d,e[6]=n,e[7]=f):f=e[7];let b;e[8]!==d||e[9]!==n?(b=(0,r.jsx)(Ce,{state:n,interrupted:d}),e[8]=d,e[9]=n,e[10]=b):b=e[10];let _=d?"Interrupted":ke[n],j;e[11]===l?j=e[12]:(j=L(l),e[11]=l,e[12]=j);let g;e[13]===j?g=e[14]:(g=(0,r.jsx)("code",{className:"font-mono text-xs",children:j}),e[13]=j,e[14]=g);let N;e[15]!==g||e[16]!==b||e[17]!==_?(N=(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[b,_,":",g]}),e[15]=g,e[16]=b,e[17]=_,e[18]=N):N=e[18];let y;e[19]!==N||e[20]!==f?(y=(0,r.jsx)(F,{className:f,children:N}),e[19]=N,e[20]=f,e[21]=y):y=e[21];let w;e[22]!==t||e[23]!==s||e[24]!==i||e[25]!==n?(w=(0,r.jsx)(M,{className:"py-2 px-2",children:(0,r.jsx)(Re,{state:n,input:s,result:i,approval:t})}),e[22]=t,e[23]=s,e[24]=i,e[25]=n,e[26]=w):w=e[26];let A;e[27]!==y||e[28]!==w?(A=(0,r.jsxs)($,{value:"tool-call",className:"border-0",children:[y,w]}),e[27]=y,e[28]=w,e[29]=A):A=e[29];let R;return e[30]!==A||e[31]!==m||e[32]!==o?(R=(0,r.jsx)(J,{type:"single",collapsible:!0,className:o,children:A},m),e[30]=A,e[31]=m,e[32]=o,e[33]=R):R=e[33],R};var Re=c=>{let e=(0,z.c)(16),{state:l,input:n,result:s,approval:i}=c;switch(l){case"input-streaming":case"input-available":case"approval-responded":{let t;return e[0]===n?t=e[1]:(t=(0,r.jsx)(q,{input:n}),e[0]=n,e[1]=t),t}case"output-available":{let t;e[2]===n?t=e[3]:(t=(0,r.jsx)(q,{input:n}),e[2]=n,e[3]=t);let a;e[4]===s?a=e[5]:(a=s!=null&&(0,r.jsx)(Se,{result:s}),e[4]=s,e[5]=a);let u;return e[6]!==t||e[7]!==a?(u=(0,r.jsxs)("div",{className:"space-y-3",children:[t,a]}),e[6]=t,e[7]=a,e[8]=u):u=e[8],u}case"output-denied":{let t;e[9]===n?t=e[10]:(t=(0,r.jsx)(q,{input:n}),e[9]=n,e[10]=t);let a=i!=null&&i.reason?`: ${i.reason}`:".",u;e[11]===a?u=e[12]:(u=(0,r.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",a]}),e[11]=a,e[12]=u);let h;return e[13]!==t||e[14]!==u?(h=(0,r.jsxs)("div",{className:"space-y-3",children:[t,u]}),e[13]=t,e[14]=u,e[15]=h):h=e[15],h}default:return T(l),null}},Le=S();const B=c=>{let e=(0,Le.c)(27),{toolName:l,state:n,result:s,errorText:i,input:t,approval:a,onApprove:u,index:h,className:p,isLive:v,isActive:x}=c,d=v===void 0?!0:v,m=x===void 0?!0:x;switch(n){case"approval-requested":{if(a!=null&&u!=null){let f;return e[0]!==a||e[1]!==p||e[2]!==t||e[3]!==u||e[4]!==l?(f=(0,r.jsx)(be,{toolName:l,input:t,approval:a,onApprove:u,className:p}),e[0]=a,e[1]=p,e[2]=t,e[3]=u,e[4]=l,e[5]=f):f=e[5],f}let o;return e[6]!==p||e[7]!==h||e[8]!==t||e[9]!==m||e[10]!==l?(o=(0,r.jsx)(X,{toolName:l,state:"input-available",input:t,index:h,className:p,isActive:m}),e[6]=p,e[7]=h,e[8]=t,e[9]=m,e[10]=l,e[11]=o):o=e[11],o}case"output-error":{let o;return e[12]!==p||e[13]!==i||e[14]!==t||e[15]!==d||e[16]!==l?(o=(0,r.jsx)(ge,{toolName:l,input:t,errorText:i,isLive:d,className:p}),e[12]=p,e[13]=i,e[14]=t,e[15]=d,e[16]=l,e[17]=o):o=e[17],o}case"input-streaming":case"input-available":case"approval-responded":case"output-available":case"output-denied":{let o;return e[18]!==a||e[19]!==p||e[20]!==h||e[21]!==t||e[22]!==m||e[23]!==s||e[24]!==n||e[25]!==l?(o=(0,r.jsx)(X,{toolName:l,state:n,input:t,result:s,approval:a,index:h,className:p,isActive:m}),e[18]=a,e[19]=p,e[20]=h,e[21]=t,e[22]=m,e[23]=s,e[24]=n,e[25]=l,e[26]=o):o=e[26],o}default:return T(n),null}},Oe=({message:c,isStreamingReasoning:e,isLast:l,isActive:n,addToolApprovalResponse:s})=>{return(0,r.jsx)(r.Fragment,{children:c.parts.map((t,a)=>i(t,a))});function i(t,a){if(ze(t))return(0,r.jsx)(B,{index:a,toolName:t.type,result:t.output,errorText:t.state==="output-error"?t.errorText:void 0,className:"my-2",state:t.state,input:t.input,approval:t.approval,onApprove:s,isLive:l,isActive:n},a);if(De(t))return re.debug("Found data part",t),null;switch(t.type){case"text":return t.text.includes("<marimo-")?(0,r.jsx)(C.Fragment,{children:ue({html:t.text})},a):(0,r.jsx)(G,{content:t.text},a);case"reasoning":return(0,r.jsx)(he,{reasoning:t.text,index:a,isStreaming:e&&l&&a===(c.parts.length||0)-1},a);case"file":return(0,r.jsx)(ie,{attachment:t},a);case"dynamic-tool":return(0,r.jsx)(B,{toolName:t.toolName,result:t.output,errorText:t.state==="output-error"?t.errorText:void 0,state:t.state,input:t.input,approval:t.approval,onApprove:s,isLive:l,isActive:n},a);case"source-document":return(0,r.jsx)(I,{icon:(0,r.jsx)(U,{className:"h-3 w-3 shrink-0"}),title:t.title,subtitle:t.filename},a);case"source-url":return(0,r.jsx)(I,{icon:(0,r.jsx)(oe,{className:"h-3 w-3 shrink-0"}),title:t.title??t.url,subtitle:t.title?t.url:void 0,href:t.url},a);case"step-start":return null;default:return T(t),null}}};function ze(c){return c.type.startsWith("tool-")}function De(c){return c.type.startsWith("data-")}export{Oe as t};
1
+ import{s as D}from"./chunk-LvLJmgfZ.js";import{t as H}from"./react-Bj1aDYRI.js";import{Cr as K,_r as Q,vr as U}from"./cells-DZEvA3zb.js";import{A as Y,C as O,R as E,T as Z}from"./zod-H_cgTO0M.js";import{t as S}from"./compiler-runtime-B3qBwwSJ.js";import{t as ee}from"./isEmpty-CXeoXbuc.js";import{X as te}from"./ai-model-dropdown-Brz68_s8.js";import{_ as re}from"./useEventListener-BakX-tnw.js";import{t as k}from"./cn-X2M2usMq.js";import{t as se}from"./jsx-runtime-PbYoItBR.js";import{a as F,i as $,n as J,r as M}from"./multi-map-9ogswH46.js";import{t as V}from"./button-BF7GSjhW.js";import{i as T}from"./strings-DvZlHYnD.js";import{t as W}from"./createLucideIcon-BTp1tQDO.js";import{t as ae}from"./ban-CttLZK8l.js";import{t as le}from"./bot-message-square-AslRbAeb.js";import{r as ne}from"./x-9vLEgLY6.js";import{t as G}from"./markdown-renderer-duAFwqLF.js";import{f as I,l as ie}from"./add-cell-with-ai-nJKSBAPb.js";import{t as oe}from"./external-link-BktyywYg.js";import{n as ce}from"./spinner-DTBVbtl-.js";import{c as de}from"./datasource-C4XU40Hp.js";import{t as ue}from"./RenderHTML-FBKVQ49x.js";var me=W("circle-slash",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"9",x2:"15",y1:"15",y2:"9",key:"1dfufj"}]]),pe=W("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"}]]),xe=S(),C=D(H(),1),r=D(se(),1);const he=c=>{let e=(0,xe.c)(13),{reasoning:l,index:n,isStreaming:s}=c,i=n===void 0?0:n,t=s===void 0?!1:s,[a,u]=C.useState("");if(!l&&!t)return null;let h=t?"reasoning":a,p;e[0]===Symbol.for("react.memo_cache_sentinel")?(p=(0,r.jsx)(le,{className:"h-3 w-3"}),e[0]=p):p=e[0];let v=t?"Thinking":"View reasoning",x=l.length>0&&` (${l.length} chars)`,d;e[1]!==v||e[2]!==x?(d=(0,r.jsx)(F,{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,r.jsxs)("span",{className:"flex items-center gap-2",children:[p,v,x]})}),e[1]=v,e[2]=x,e[3]=d):d=e[3];let m;e[4]===l?m=e[5]:(m=(0,r.jsx)(M,{className:"pb-2 px-2",children:(0,r.jsx)("div",{className:"bg-muted/30 border border-muted/50 rounded-md p-3 italic text-muted-foreground/90 relative",children:(0,r.jsx)("div",{className:"pr-6",children:(0,r.jsx)(G,{content:l})})})}),e[4]=l,e[5]=m);let o;e[6]!==d||e[7]!==m?(o=(0,r.jsxs)($,{value:"reasoning",className:"border-0",children:[d,m]}),e[6]=d,e[7]=m,e[8]=o):o=e[8];let f;return e[9]!==i||e[10]!==h||e[11]!==o?(f=(0,r.jsx)(J,{type:"single",collapsible:!0,className:"w-full mb-2",value:h,onValueChange:u,children:o},i),e[9]=i,e[10]=h,e[11]=o,e[12]=f):f=e[12],f};function L(c){return c.replace("tool-","")}var fe=S();const q=c=>{let e=(0,fe.c)(9),{input:l,label:n}=c,s=n===void 0?"Tool Request":n;if(l==null)return null;let i;e[0]===s?i=e[1]:(i=(0,r.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:s}),e[0]=s,e[1]=i);let t;e[2]===l?t=e[3]:(t=JSON.stringify(l,null,2),e[2]=l,e[3]=t);let a;e[4]===t?a=e[5]:(a=(0,r.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:t}),e[4]=t,e[5]=a);let u;return e[6]!==i||e[7]!==a?(u=(0,r.jsxs)("div",{className:"space-y-2",children:[i,a]}),e[6]=i,e[7]=a,e[8]=u):u=e[8],u};var ve=S();const be=c=>{let e=(0,ve.c)(25),{toolName:l,input:n,approval:s,onApprove:i,className:t}=c,a;e[0]===t?a=e[1]:(a=k("rounded-md border border-(--amber-6) bg-(--amber-2) p-3 space-y-3",t),e[0]=t,e[1]=a);let u=`Approval required for ${L(l)}`,h;e[2]===Symbol.for("react.memo_cache_sentinel")?(h=(0,r.jsx)(pe,{className:"h-4 w-4 text-(--amber-11) mt-0.5 shrink-0"}),e[2]=h):h=e[2];let p;e[3]===Symbol.for("react.memo_cache_sentinel")?(p=(0,r.jsx)("span",{className:"font-semibold",children:"Approval required:"}),e[3]=p):p=e[3];let v;e[4]===l?v=e[5]:(v=L(l),e[4]=l,e[5]=v);let x;e[6]===v?x=e[7]:(x=(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[h,(0,r.jsxs)("div",{className:"text-xs text-(--amber-11) leading-relaxed",children:[p," ",(0,r.jsx)("code",{className:"font-mono",children:v})]})]}),e[6]=v,e[7]=x);let d;e[8]===n?d=e[9]:(d=(0,r.jsx)(q,{input:n}),e[8]=n,e[9]=d);let m;e[10]!==s.id||e[11]!==i?(m=(0,r.jsx)(V,{size:"xs",variant:"outline",onClick:()=>i({id:s.id,approved:!1}),children:"Deny"}),e[10]=s.id,e[11]=i,e[12]=m):m=e[12];let o;e[13]!==s.id||e[14]!==i?(o=(0,r.jsx)(V,{size:"xs",onClick:()=>i({id:s.id,approved:!0}),children:"Approve"}),e[13]=s.id,e[14]=i,e[15]=o):o=e[15];let f;e[16]!==m||e[17]!==o?(f=(0,r.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[m,o]}),e[16]=m,e[17]=o,e[18]=f):f=e[18];let b;return e[19]!==a||e[20]!==f||e[21]!==u||e[22]!==x||e[23]!==d?(b=(0,r.jsxs)("div",{className:a,role:"alertdialog","aria-label":u,children:[x,d,f]}),e[19]=a,e[20]=f,e[21]=u,e[22]=x,e[23]=d,e[24]=b):b=e[24],b};var je=S();const ge=c=>{let e=(0,je.c)(28),{toolName:l,input:n,errorText:s,isLive:i,className:t}=c,[a,u]=C.useState(i),h=C.useRef(i),p,v;e[0]===i?(p=e[1],v=e[2]):(p=()=>{h.current&&!i&&u(!1),h.current=i},v=[i],e[0]=i,e[1]=p,e[2]=v),C.useEffect(p,v);let x;e[3]===t?x=e[4]:(x=k("rounded-md border border-(--red-6) bg-(--red-2)",t),e[3]=t,e[4]=x);let d;e[5]===Symbol.for("react.memo_cache_sentinel")?(d=()=>u(Ne),e[5]=d):d=e[5];let m;e[6]===Symbol.for("react.memo_cache_sentinel")?(m=(0,r.jsx)(K,{className:"h-3.5 w-3.5 shrink-0"}),e[6]=m):m=e[6];let o;e[7]===Symbol.for("react.memo_cache_sentinel")?(o=(0,r.jsx)("span",{className:"font-semibold",children:"Failed:"}),e[7]=o):o=e[7];let f;e[8]===l?f=e[9]:(f=L(l),e[8]=l,e[9]=f);let b;e[10]===f?b=e[11]:(b=(0,r.jsxs)("span",{className:"flex-1 text-left",children:[o," ",(0,r.jsx)("code",{className:"font-mono",children:f})]}),e[10]=f,e[11]=b);let _=a&&"rotate-180",j;e[12]===_?j=e[13]:(j=k("h-3.5 w-3.5 shrink-0 transition-transform",_),e[12]=_,e[13]=j);let g;e[14]===j?g=e[15]:(g=(0,r.jsx)(ne,{className:j}),e[14]=j,e[15]=g);let N;e[16]!==a||e[17]!==g||e[18]!==b?(N=(0,r.jsxs)("button",{type:"button",onClick:d,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":a,children:[m,b,g]}),e[16]=a,e[17]=g,e[18]=b,e[19]=N):N=e[19];let y;e[20]!==s||e[21]!==n||e[22]!==a?(y=a&&(0,r.jsxs)("div",{className:"px-3 pb-3 space-y-3 border-t border-(--red-6)/40 pt-3",children:[(0,r.jsx)(q,{input:n}),s&&(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"text-xs font-semibold text-(--red-11) mb-1",children:"Error"}),(0,r.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:s})]})]}),e[20]=s,e[21]=n,e[22]=a,e[23]=y):y=e[23];let w;return e[24]!==N||e[25]!==y||e[26]!==x?(w=(0,r.jsxs)("div",{className:x,children:[N,y]}),e[24]=N,e[25]=y,e[26]=x,e[27]=w):w=e[27],w};function Ne(c){return!c}var P=S();function ye(c){return c==null?!0:typeof c=="object"?ee(c):!1}var we=Y({status:E().default("success"),auth_required:Z().default(!1),action_url:O(),next_steps:O(),meta:O(),message:E().nullish()}),_e=c=>{let e=(0,P.c)(12),{data:l}=c,n;if(e[0]!==l){let{status:s,auth_required:i,action_url:t,meta:a,next_steps:u,message:h,...p}=l,v;e[2]===Symbol.for("react.memo_cache_sentinel")?(v=(0,r.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Tool Result"}),e[2]=v):v=e[2];let x;e[3]===s?x=e[4]:(x=(0,r.jsx)("span",{className:"text-xs px-2 py-0.5 bg-(--grass-2) text-(--grass-11) rounded-full font-medium capitalize",children:s}),e[3]=s,e[4]=x);let d;e[5]===i?d=e[6]:(d=i&&(0,r.jsx)("span",{className:"text-xs px-2 py-0.5 bg-(--amber-2) text-(--amber-11) rounded-full",children:"Auth Required"}),e[5]=i,e[6]=d);let m;e[7]!==x||e[8]!==d?(m=(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[v,(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[x,d]})]}),e[7]=x,e[8]=d,e[9]=m):m=e[9];let o;e[10]===h?o=e[11]:(o=h&&(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[(0,r.jsx)(Q,{className:"h-3 w-3 text-(--blue-11) mt-0.5 shrink-0"}),(0,r.jsx)("div",{className:"text-xs text-foreground",children:h})]}),e[10]=h,e[11]=o),n=(0,r.jsxs)("div",{className:"flex flex-col gap-1.5",children:[m,o,p&&(0,r.jsx)("div",{className:"space-y-3",children:Object.entries(p).map(Ae)})]}),e[0]=l,e[1]=n}else n=e[1];return n};const Se=c=>{let e=(0,P.c)(8),{result:l}=c,n;e[0]===l?n=e[1]:(n=we.safeParse(l),e[0]=l,e[1]=n);let s=n;if(s.success){let a;return e[2]===s.data?a=e[3]:(a=(0,r.jsx)(_e,{data:s.data}),e[2]=s.data,e[3]=a),a}let i;e[4]===l?i=e[5]:(i=typeof l=="string"?l:JSON.stringify(l,null,2),e[4]=l,e[5]=i);let t;return e[6]===i?t=e[7]:(t=(0,r.jsx)("div",{className:"text-xs font-medium text-muted-foreground mb-1 max-h-64 overflow-y-auto scrollbar-thin",children:i}),e[6]=i,e[7]=t),t};function Ae(c){let[e,l]=c;return ye(l)?null:(0,r.jsxs)("div",{className:"space-y-1.5",children:[(0,r.jsx)("span",{className:"text-xs text-muted-foreground",children:e}),(0,r.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(l,null,2)})]},e)}var z=S(),ke={"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"]),Ce=c=>{let e=(0,z.c)(5),{state:l,interrupted:n}=c;if(n){let s;return e[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(me,{className:"h-3 w-3 text-muted-foreground"}),e[0]=s):s=e[0],s}switch(l){case"input-streaming":case"input-available":case"approval-responded":{let s;return e[1]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(ce,{className:"h-3 w-3 animate-spin"}),e[1]=s):s=e[1],s}case"output-available":{let s;return e[2]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(te,{className:"h-3 w-3 text-(--grass-11)"}),e[2]=s):s=e[2],s}case"output-denied":{let s;return e[3]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(ae,{className:"h-3 w-3 text-muted-foreground"}),e[3]=s):s=e[3],s}default:{T(l);let s;return e[4]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(de,{className:"h-3 w-3"}),e[4]=s):s=e[4],s}}};function qe(c){switch(c){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 T(c),""}}const X=c=>{let e=(0,z.c)(34),{toolName:l,state:n,input:s,result:i,approval:t,index:a,className:u,isActive:h}=c,p=a===void 0?0:a,v=h===void 0?!0:h,x;e[0]!==v||e[1]!==n?(x=!v&&Te.has(n),e[0]=v,e[1]=n,e[2]=x):x=e[2];let d=x,m=`tool-${p}`,o;e[3]===u?o=e[4]:(o=k("w-full",u),e[3]=u,e[4]=o);let f;e[5]!==d||e[6]!==n?(f=k("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",d?"text-muted-foreground":qe(n)),e[5]=d,e[6]=n,e[7]=f):f=e[7];let b;e[8]!==d||e[9]!==n?(b=(0,r.jsx)(Ce,{state:n,interrupted:d}),e[8]=d,e[9]=n,e[10]=b):b=e[10];let _=d?"Interrupted":ke[n],j;e[11]===l?j=e[12]:(j=L(l),e[11]=l,e[12]=j);let g;e[13]===j?g=e[14]:(g=(0,r.jsx)("code",{className:"font-mono text-xs",children:j}),e[13]=j,e[14]=g);let N;e[15]!==g||e[16]!==b||e[17]!==_?(N=(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[b,_,":",g]}),e[15]=g,e[16]=b,e[17]=_,e[18]=N):N=e[18];let y;e[19]!==N||e[20]!==f?(y=(0,r.jsx)(F,{className:f,children:N}),e[19]=N,e[20]=f,e[21]=y):y=e[21];let w;e[22]!==t||e[23]!==s||e[24]!==i||e[25]!==n?(w=(0,r.jsx)(M,{className:"py-2 px-2",children:(0,r.jsx)(Re,{state:n,input:s,result:i,approval:t})}),e[22]=t,e[23]=s,e[24]=i,e[25]=n,e[26]=w):w=e[26];let A;e[27]!==y||e[28]!==w?(A=(0,r.jsxs)($,{value:"tool-call",className:"border-0",children:[y,w]}),e[27]=y,e[28]=w,e[29]=A):A=e[29];let R;return e[30]!==A||e[31]!==m||e[32]!==o?(R=(0,r.jsx)(J,{type:"single",collapsible:!0,className:o,children:A},m),e[30]=A,e[31]=m,e[32]=o,e[33]=R):R=e[33],R};var Re=c=>{let e=(0,z.c)(16),{state:l,input:n,result:s,approval:i}=c;switch(l){case"input-streaming":case"input-available":case"approval-responded":{let t;return e[0]===n?t=e[1]:(t=(0,r.jsx)(q,{input:n}),e[0]=n,e[1]=t),t}case"output-available":{let t;e[2]===n?t=e[3]:(t=(0,r.jsx)(q,{input:n}),e[2]=n,e[3]=t);let a;e[4]===s?a=e[5]:(a=s!=null&&(0,r.jsx)(Se,{result:s}),e[4]=s,e[5]=a);let u;return e[6]!==t||e[7]!==a?(u=(0,r.jsxs)("div",{className:"space-y-3",children:[t,a]}),e[6]=t,e[7]=a,e[8]=u):u=e[8],u}case"output-denied":{let t;e[9]===n?t=e[10]:(t=(0,r.jsx)(q,{input:n}),e[9]=n,e[10]=t);let a=i!=null&&i.reason?`: ${i.reason}`:".",u;e[11]===a?u=e[12]:(u=(0,r.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",a]}),e[11]=a,e[12]=u);let h;return e[13]!==t||e[14]!==u?(h=(0,r.jsxs)("div",{className:"space-y-3",children:[t,u]}),e[13]=t,e[14]=u,e[15]=h):h=e[15],h}default:return T(l),null}},Le=S();const B=c=>{let e=(0,Le.c)(27),{toolName:l,state:n,result:s,errorText:i,input:t,approval:a,onApprove:u,index:h,className:p,isLive:v,isActive:x}=c,d=v===void 0?!0:v,m=x===void 0?!0:x;switch(n){case"approval-requested":{if(a!=null&&u!=null){let f;return e[0]!==a||e[1]!==p||e[2]!==t||e[3]!==u||e[4]!==l?(f=(0,r.jsx)(be,{toolName:l,input:t,approval:a,onApprove:u,className:p}),e[0]=a,e[1]=p,e[2]=t,e[3]=u,e[4]=l,e[5]=f):f=e[5],f}let o;return e[6]!==p||e[7]!==h||e[8]!==t||e[9]!==m||e[10]!==l?(o=(0,r.jsx)(X,{toolName:l,state:"input-available",input:t,index:h,className:p,isActive:m}),e[6]=p,e[7]=h,e[8]=t,e[9]=m,e[10]=l,e[11]=o):o=e[11],o}case"output-error":{let o;return e[12]!==p||e[13]!==i||e[14]!==t||e[15]!==d||e[16]!==l?(o=(0,r.jsx)(ge,{toolName:l,input:t,errorText:i,isLive:d,className:p}),e[12]=p,e[13]=i,e[14]=t,e[15]=d,e[16]=l,e[17]=o):o=e[17],o}case"input-streaming":case"input-available":case"approval-responded":case"output-available":case"output-denied":{let o;return e[18]!==a||e[19]!==p||e[20]!==h||e[21]!==t||e[22]!==m||e[23]!==s||e[24]!==n||e[25]!==l?(o=(0,r.jsx)(X,{toolName:l,state:n,input:t,result:s,approval:a,index:h,className:p,isActive:m}),e[18]=a,e[19]=p,e[20]=h,e[21]=t,e[22]=m,e[23]=s,e[24]=n,e[25]=l,e[26]=o):o=e[26],o}default:return T(n),null}},Oe=({message:c,isStreamingReasoning:e,isLast:l,isActive:n,addToolApprovalResponse:s})=>{return(0,r.jsx)(r.Fragment,{children:c.parts.map((t,a)=>i(t,a))});function i(t,a){if(ze(t))return(0,r.jsx)(B,{index:a,toolName:t.type,result:t.output,errorText:t.state==="output-error"?t.errorText:void 0,className:"my-2",state:t.state,input:t.input,approval:t.approval,onApprove:s,isLive:l,isActive:n},a);if(De(t))return re.debug("Found data part",t),null;switch(t.type){case"text":return t.text.includes("<marimo-")?(0,r.jsx)(C.Fragment,{children:ue({html:t.text})},a):(0,r.jsx)(G,{content:t.text},a);case"reasoning":return(0,r.jsx)(he,{reasoning:t.text,index:a,isStreaming:e&&l&&a===(c.parts.length||0)-1},a);case"file":return(0,r.jsx)(ie,{attachment:t},a);case"dynamic-tool":return(0,r.jsx)(B,{toolName:t.toolName,result:t.output,errorText:t.state==="output-error"?t.errorText:void 0,state:t.state,input:t.input,approval:t.approval,onApprove:s,isLive:l,isActive:n},a);case"source-document":return(0,r.jsx)(I,{icon:(0,r.jsx)(U,{className:"h-3 w-3 shrink-0"}),title:t.title,subtitle:t.filename},a);case"source-url":return(0,r.jsx)(I,{icon:(0,r.jsx)(oe,{className:"h-3 w-3 shrink-0"}),title:t.title??t.url,subtitle:t.title?t.url:void 0,href:t.url},a);case"step-start":return null;default:return T(t),null}}};function ze(c){return c.type.startsWith("tool-")}function De(c){return c.type.startsWith("data-")}export{Oe as t};
@@ -1,3 +1,3 @@
1
- import{s as at}from"./chunk-LvLJmgfZ.js";import{d as Ht,f as Wt,l as Ot,n as ce,u as Je}from"./useEvent-D91BmmQi.js";import{t as Xt}from"./react-Bj1aDYRI.js";import{D as Yt,Sr as Ut,Xt as Vt}from"./cells-DQ5n6Zef.js";import"./react-dom-CSu739Rf.js";import{t as st}from"./compiler-runtime-B3qBwwSJ.js";import{E as Bt,T as qt,o as $t,r as nt,t as Jt}from"./ai-model-dropdown-DVeTiOGS.js";import{_ as Pe,o as de}from"./useEventListener-BakX-tnw.js";import{a as Kt,n as it}from"./utils-Dev6I_Kv.js";import{T as Qt,o as Zt}from"./config-BE150fVL.js";import{t as ue}from"./cn-X2M2usMq.js";import{t as Gt}from"./jsx-runtime-PbYoItBR.js";import{C as er,b as tr,g as $,v as De,w as ve,x as J}from"./fullscreen-BXI8V5i6.js";import{u as rr}from"./menu-items-CQMqwayA.js";import{i as or,r as lr,t as ar}from"./popover-DMNO6Poc.js";import{a as sr,i as nr,n as ir,p as cr,r as dr,s as ur,t as pr}from"./select-Cjly7tmx.js";import{i as ct,t as Ke}from"./tooltip-CgQpRVyN.js";import{t as K}from"./button-BF7GSjhW.js";import"./dist-Dez1I5M9.js";import"./cjs-DXo9vDEJ.js";import"./main-DmhaVp6Y.js";import"./useNonce-0SWz6w4W.js";import{r as mr}from"./requests-KshNNAOp.js";import{t as dt}from"./createLucideIcon-BTp1tQDO.js";import{t as hr}from"./arrow-right-DFk7kYqp.js";import{t as ut}from"./bot-message-square-AslRbAeb.js";import"./markdown-renderer-f3mfGw8u.js";import{t as fr}from"./chat-display-DegYbxcN.js";import{A as pt,D as xr,I as vr,N as gr,O as Qe,S as wr,T as br,_ as yr,b as jr,c as Sr,d as Cr,g as Nr,h as Ar,j as Rr,l as Tr,m as mt,n as ht,p as _r,s as Er,u as kr,v as Ir,y as Lr}from"./add-cell-with-ai-C5iuH1Jb.js";import{t as Pr}from"./code-DP40S9ln.js";import{n as Dr}from"./spinner-DTBVbtl-.js";import{t as Mr}from"./message-circle-D_YIPPZo.js";import{t as zr}from"./plus-CExKUszm.js";import{dt as Fr,r as Hr}from"./input-b2KTOk0X.js";import{t as Wr}from"./settings-Cn43l_vx.js";import{t as Or}from"./sparkles-DctOjjEz.js";import"./dist-DHMtQYxT.js";import"./dist-Bj9Iedc0.js";import"./dist-D-o1OXc9.js";import"./dist-BZhJ1bTM.js";import"./dist-DnIl7RU-.js";import"./session-B6_8umQX.js";import"./purify.es-DdxMtdqK.js";import{s as Xr}from"./dates-CnrjjcMO.js";import{t as Yr}from"./copy-icon-BCIGtBo0.js";import{t as Ur}from"./context-DE_5rdOV.js";import{n as Vr}from"./ImperativeModal-MQnbMIO2.js";import{r as ft,t as Br}from"./state-VxOqftwq.js";import{n as qr}from"./error-banner-C4DZksWV.js";import"./chunk-5FQGJX7Z-C6VN0dQj.js";import"./html-to-image-CmK-WSPG.js";import"./esm-DSv-aO_T.js";import{t as Ze}from"./empty-state-vKu4k0Y4.js";import{t as $r}from"./pair-with-agent-modal-BONZmBdh.js";var m=at(Xt(),1),o=at(Gt(),1);function Jr(e,t){return m.useReducer((r,s)=>t[r][s]??r,e)}var Ge="ScrollArea",[xt,Pl]=er(Ge),[Kr,z]=xt(Ge),vt=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,type:s="hover",dir:l,scrollHideDelay:a=600,...n}=e,[i,c]=m.useState(null),[d,u]=m.useState(null),[p,h]=m.useState(null),[f,v]=m.useState(null),[y,E]=m.useState(null),[g,C]=m.useState(0),[R,N]=m.useState(0),[j,S]=m.useState(!1),[T,I]=m.useState(!1),w=de(t,D=>c(D)),_=rr(l);return(0,o.jsx)(Kr,{scope:r,type:s,dir:_,scrollHideDelay:a,scrollArea:i,viewport:d,onViewportChange:u,content:p,onContentChange:h,scrollbarX:f,onScrollbarXChange:v,scrollbarXEnabled:j,onScrollbarXEnabledChange:S,scrollbarY:y,onScrollbarYChange:E,scrollbarYEnabled:T,onScrollbarYEnabledChange:I,onCornerWidthChange:C,onCornerHeightChange:N,children:(0,o.jsx)(ve.div,{dir:_,...n,ref:w,style:{position:"relative","--radix-scroll-area-corner-width":g+"px","--radix-scroll-area-corner-height":R+"px",...e.style}})})});vt.displayName=Ge;var gt="ScrollAreaViewport",wt=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,children:s,nonce:l,...a}=e,n=z(gt,r),i=de(t,m.useRef(null),n.onViewportChange);return(0,o.jsxs)(o.Fragment,{children:[(0,o.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:l}),(0,o.jsx)(ve.div,{"data-radix-scroll-area-viewport":"",...a,ref:i,style:{overflowX:n.scrollbarXEnabled?"scroll":"hidden",overflowY:n.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,o.jsx)("div",{ref:n.onContentChange,style:{minWidth:"100%",display:"table"},children:s})})]})});wt.displayName=gt;var X="ScrollAreaScrollbar",et=m.forwardRef((e,t)=>{let{forceMount:r,...s}=e,l=z(X,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:n}=l,i=e.orientation==="horizontal";return m.useEffect(()=>(i?a(!0):n(!0),()=>{i?a(!1):n(!1)}),[i,a,n]),l.type==="hover"?(0,o.jsx)(Qr,{...s,ref:t,forceMount:r}):l.type==="scroll"?(0,o.jsx)(Zr,{...s,ref:t,forceMount:r}):l.type==="auto"?(0,o.jsx)(bt,{...s,ref:t,forceMount:r}):l.type==="always"?(0,o.jsx)(tt,{...s,ref:t}):null});et.displayName=X;var Qr=m.forwardRef((e,t)=>{let{forceMount:r,...s}=e,l=z(X,e.__scopeScrollArea),[a,n]=m.useState(!1);return m.useEffect(()=>{let i=l.scrollArea,c=0;if(i){let d=()=>{window.clearTimeout(c),n(!0)},u=()=>{c=window.setTimeout(()=>n(!1),l.scrollHideDelay)};return i.addEventListener("pointerenter",d),i.addEventListener("pointerleave",u),()=>{window.clearTimeout(c),i.removeEventListener("pointerenter",d),i.removeEventListener("pointerleave",u)}}},[l.scrollArea,l.scrollHideDelay]),(0,o.jsx)(De,{present:r||a,children:(0,o.jsx)(bt,{"data-state":a?"visible":"hidden",...s,ref:t})})}),Zr=m.forwardRef((e,t)=>{let{forceMount:r,...s}=e,l=z(X,e.__scopeScrollArea),a=e.orientation==="horizontal",n=He(()=>c("SCROLL_END"),100),[i,c]=Jr("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 m.useEffect(()=>{if(i==="idle"){let d=window.setTimeout(()=>c("HIDE"),l.scrollHideDelay);return()=>window.clearTimeout(d)}},[i,l.scrollHideDelay,c]),m.useEffect(()=>{let d=l.viewport,u=a?"scrollLeft":"scrollTop";if(d){let p=d[u],h=()=>{let f=d[u];p!==f&&(c("SCROLL"),n()),p=f};return d.addEventListener("scroll",h),()=>d.removeEventListener("scroll",h)}},[l.viewport,a,c,n]),(0,o.jsx)(De,{present:r||i!=="hidden",children:(0,o.jsx)(tt,{"data-state":i==="hidden"?"hidden":"visible",...s,ref:t,onPointerEnter:J(e.onPointerEnter,()=>c("POINTER_ENTER")),onPointerLeave:J(e.onPointerLeave,()=>c("POINTER_LEAVE"))})})}),bt=m.forwardRef((e,t)=>{let r=z(X,e.__scopeScrollArea),{forceMount:s,...l}=e,[a,n]=m.useState(!1),i=e.orientation==="horizontal",c=He(()=>{if(r.viewport){let d=r.viewport.offsetWidth<r.viewport.scrollWidth,u=r.viewport.offsetHeight<r.viewport.scrollHeight;n(i?d:u)}},10);return pe(r.viewport,c),pe(r.content,c),(0,o.jsx)(De,{present:s||a,children:(0,o.jsx)(tt,{"data-state":a?"visible":"hidden",...l,ref:t})})}),tt=m.forwardRef((e,t)=>{let{orientation:r="vertical",...s}=e,l=z(X,e.__scopeScrollArea),a=m.useRef(null),n=m.useRef(0),[i,c]=m.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),d=Nt(i.viewport,i.content),u={...s,sizes:i,onSizesChange:c,hasThumb:d>0&&d<1,onThumbChange:h=>a.current=h,onThumbPointerUp:()=>n.current=0,onThumbPointerDown:h=>n.current=h};function p(h,f){return lo(h,n.current,i,f)}return r==="horizontal"?(0,o.jsx)(Gr,{...u,ref:t,onThumbPositionChange:()=>{if(l.viewport&&a.current){let h=l.viewport.scrollLeft,f=At(h,i,l.dir);a.current.style.transform=`translate3d(${f}px, 0, 0)`}},onWheelScroll:h=>{l.viewport&&(l.viewport.scrollLeft=h)},onDragScroll:h=>{l.viewport&&(l.viewport.scrollLeft=p(h,l.dir))}}):r==="vertical"?(0,o.jsx)(eo,{...u,ref:t,onThumbPositionChange:()=>{if(l.viewport&&a.current){let h=l.viewport.scrollTop,f=At(h,i);a.current.style.transform=`translate3d(0, ${f}px, 0)`}},onWheelScroll:h=>{l.viewport&&(l.viewport.scrollTop=h)},onDragScroll:h=>{l.viewport&&(l.viewport.scrollTop=p(h))}}):null}),Gr=m.forwardRef((e,t)=>{let{sizes:r,onSizesChange:s,...l}=e,a=z(X,e.__scopeScrollArea),[n,i]=m.useState(),c=m.useRef(null),d=de(t,c,a.onScrollbarXChange);return m.useEffect(()=>{c.current&&i(getComputedStyle(c.current))},[c]),(0,o.jsx)(jt,{"data-orientation":"horizontal",...l,ref:d,sizes:r,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":Fe(r)+"px",...e.style},onThumbPointerDown:u=>e.onThumbPointerDown(u.x),onDragScroll:u=>e.onDragScroll(u.x),onWheelScroll:(u,p)=>{if(a.viewport){let h=a.viewport.scrollLeft+u.deltaX;e.onWheelScroll(h),Tt(h,p)&&u.preventDefault()}},onResize:()=>{c.current&&a.viewport&&n&&s({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:ze(n.paddingLeft),paddingEnd:ze(n.paddingRight)}})}})}),eo=m.forwardRef((e,t)=>{let{sizes:r,onSizesChange:s,...l}=e,a=z(X,e.__scopeScrollArea),[n,i]=m.useState(),c=m.useRef(null),d=de(t,c,a.onScrollbarYChange);return m.useEffect(()=>{c.current&&i(getComputedStyle(c.current))},[c]),(0,o.jsx)(jt,{"data-orientation":"vertical",...l,ref:d,sizes:r,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":Fe(r)+"px",...e.style},onThumbPointerDown:u=>e.onThumbPointerDown(u.y),onDragScroll:u=>e.onDragScroll(u.y),onWheelScroll:(u,p)=>{if(a.viewport){let h=a.viewport.scrollTop+u.deltaY;e.onWheelScroll(h),Tt(h,p)&&u.preventDefault()}},onResize:()=>{c.current&&a.viewport&&n&&s({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:ze(n.paddingTop),paddingEnd:ze(n.paddingBottom)}})}})}),[to,yt]=xt(X),jt=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,sizes:s,hasThumb:l,onThumbChange:a,onThumbPointerUp:n,onThumbPointerDown:i,onThumbPositionChange:c,onDragScroll:d,onWheelScroll:u,onResize:p,...h}=e,f=z(X,r),[v,y]=m.useState(null),E=de(t,w=>y(w)),g=m.useRef(null),C=m.useRef(""),R=f.viewport,N=s.content-s.viewport,j=$(u),S=$(c),T=He(p,10);function I(w){g.current&&d({x:w.clientX-g.current.left,y:w.clientY-g.current.top})}return m.useEffect(()=>{let w=_=>{let D=_.target;v!=null&&v.contains(D)&&j(_,N)};return document.addEventListener("wheel",w,{passive:!1}),()=>document.removeEventListener("wheel",w,{passive:!1})},[R,v,N,j]),m.useEffect(S,[s,S]),pe(v,T),pe(f.content,T),(0,o.jsx)(to,{scope:r,scrollbar:v,hasThumb:l,onThumbChange:$(a),onThumbPointerUp:$(n),onThumbPositionChange:S,onThumbPointerDown:$(i),children:(0,o.jsx)(ve.div,{...h,ref:E,style:{position:"absolute",...h.style},onPointerDown:J(e.onPointerDown,w=>{w.button===0&&(w.target.setPointerCapture(w.pointerId),g.current=v.getBoundingClientRect(),C.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",f.viewport&&(f.viewport.style.scrollBehavior="auto"),I(w))}),onPointerMove:J(e.onPointerMove,I),onPointerUp:J(e.onPointerUp,w=>{let _=w.target;_.hasPointerCapture(w.pointerId)&&_.releasePointerCapture(w.pointerId),document.body.style.webkitUserSelect=C.current,f.viewport&&(f.viewport.style.scrollBehavior=""),g.current=null})})})}),Me="ScrollAreaThumb",St=m.forwardRef((e,t)=>{let{forceMount:r,...s}=e,l=yt(Me,e.__scopeScrollArea);return(0,o.jsx)(De,{present:r||l.hasThumb,children:(0,o.jsx)(ro,{ref:t,...s})})}),ro=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,style:s,...l}=e,a=z(Me,r),n=yt(Me,r),{onThumbPositionChange:i}=n,c=de(t,p=>n.onThumbChange(p)),d=m.useRef(void 0),u=He(()=>{d.current&&(d.current=(d.current(),void 0))},100);return m.useEffect(()=>{let p=a.viewport;if(p){let h=()=>{u(),d.current||(d.current=ao(p,i),i())};return i(),p.addEventListener("scroll",h),()=>p.removeEventListener("scroll",h)}},[a.viewport,u,i]),(0,o.jsx)(ve.div,{"data-state":n.hasThumb?"visible":"hidden",...l,ref:c,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...s},onPointerDownCapture:J(e.onPointerDownCapture,p=>{let h=p.target.getBoundingClientRect(),f=p.clientX-h.left,v=p.clientY-h.top;n.onThumbPointerDown({x:f,y:v})}),onPointerUp:J(e.onPointerUp,n.onThumbPointerUp)})});St.displayName=Me;var rt="ScrollAreaCorner",Ct=m.forwardRef((e,t)=>{let r=z(rt,e.__scopeScrollArea),s=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&s?(0,o.jsx)(oo,{...e,ref:t}):null});Ct.displayName=rt;var oo=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,...s}=e,l=z(rt,r),[a,n]=m.useState(0),[i,c]=m.useState(0),d=!!(a&&i);return pe(l.scrollbarX,()=>{var p;let u=((p=l.scrollbarX)==null?void 0:p.offsetHeight)||0;l.onCornerHeightChange(u),c(u)}),pe(l.scrollbarY,()=>{var p;let u=((p=l.scrollbarY)==null?void 0:p.offsetWidth)||0;l.onCornerWidthChange(u),n(u)}),d?(0,o.jsx)(ve.div,{...s,ref:t,style:{width:a,height:i,position:"absolute",right:l.dir==="ltr"?0:void 0,left:l.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function ze(e){return e?parseInt(e,10):0}function Nt(e,t){let r=e/t;return isNaN(r)?0:r}function Fe(e){let t=Nt(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,s=(e.scrollbar.size-r)*t;return Math.max(s,18)}function lo(e,t,r,s="ltr"){let l=Fe(r),a=l/2,n=t||a,i=l-n,c=r.scrollbar.paddingStart+n,d=r.scrollbar.size-r.scrollbar.paddingEnd-i,u=r.content-r.viewport,p=s==="ltr"?[0,u]:[u*-1,0];return Rt([c,d],p)(e)}function At(e,t,r="ltr"){let s=Fe(t),l=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-l,n=t.content-t.viewport,i=a-s,c=cr(e,r==="ltr"?[0,n]:[n*-1,0]);return Rt([0,n],[0,i])(c)}function Rt(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let s=(t[1]-t[0])/(e[1]-e[0]);return t[0]+s*(r-e[0])}}function Tt(e,t){return e>0&&e<t}var ao=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},s=0;return(function l(){let a={left:e.scrollLeft,top:e.scrollTop},n=r.left!==a.left,i=r.top!==a.top;(n||i)&&t(),r=a,s=window.requestAnimationFrame(l)})(),()=>window.cancelAnimationFrame(s)};function He(e,t){let r=$(e),s=m.useRef(0);return m.useEffect(()=>()=>window.clearTimeout(s.current),[]),m.useCallback(()=>{window.clearTimeout(s.current),s.current=window.setTimeout(r,t)},[r,t])}function pe(e,t){let r=$(t);tr(()=>{let s=0;if(e){let l=new ResizeObserver(()=>{cancelAnimationFrame(s),s=window.requestAnimationFrame(r)});return l.observe(e),()=>{window.cancelAnimationFrame(s),l.unobserve(e)}}},[e,r])}var _t=vt,so=wt,no=Ct,io=dt("hat-glasses",[["path",{d:"M14 18a2 2 0 0 0-4 0",key:"1v8fkw"}],["path",{d:"m19 11-2.11-6.657a2 2 0 0 0-2.752-1.148l-1.276.61A2 2 0 0 1 12 4H8.5a2 2 0 0 0-1.925 1.456L5 11",key:"1fkr7p"}],["path",{d:"M2 11h20",key:"3eubbj"}],["circle",{cx:"17",cy:"18",r:"3",key:"82mm0e"}],["circle",{cx:"7",cy:"18",r:"3",key:"lvkj7j"}]]),co=dt("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"}]]),Et=st();const uo=({chatState:e,chatId:t,messages:r})=>{if(!t)return Pe.warn("No active chat"),e;let s=e.chats.get(t);if(!s)return Pe.warn("No active chat"),e;let l=new Map(e.chats),a=Date.now();return l.set(s.id,{...s,messages:r,updatedAt:a}),{...e,chats:l}};var kt=m.forwardRef((e,t)=>{let r=(0,Et.c)(15),s,l,a;r[0]===e?(s=r[1],l=r[2],a=r[3]):({className:l,children:s,...a}=e,r[0]=e,r[1]=s,r[2]=l,r[3]=a);let n;r[4]===l?n=r[5]:(n=ue("relative overflow-hidden",l),r[4]=l,r[5]=n);let i;r[6]===s?i=r[7]:(i=(0,o.jsx)(so,{className:"h-full w-full rounded-[inherit]",children:s}),r[6]=s,r[7]=i);let c,d;r[8]===Symbol.for("react.memo_cache_sentinel")?(c=(0,o.jsx)(It,{}),d=(0,o.jsx)(no,{}),r[8]=c,r[9]=d):(c=r[8],d=r[9]);let u;return r[10]!==a||r[11]!==t||r[12]!==n||r[13]!==i?(u=(0,o.jsxs)(_t,{ref:t,className:n,...a,children:[i,c,d]}),r[10]=a,r[11]=t,r[12]=n,r[13]=i,r[14]=u):u=r[14],u});kt.displayName=_t.displayName;var It=m.forwardRef((e,t)=>{let r=(0,Et.c)(14),s,l,a;r[0]===e?(s=r[1],l=r[2],a=r[3]):({className:s,orientation:a,...l}=e,r[0]=e,r[1]=s,r[2]=l,r[3]=a);let n=a===void 0?"vertical":a,i=n==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-px",c=n==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-px",d;r[4]!==s||r[5]!==i||r[6]!==c?(d=ue("flex touch-none select-none transition-colors",i,c,s),r[4]=s,r[5]=i,r[6]=c,r[7]=d):d=r[7];let u;r[8]===Symbol.for("react.memo_cache_sentinel")?(u=(0,o.jsx)(St,{className:"relative flex-1 rounded-full bg-border"}),r[8]=u):u=r[8];let p;return r[9]!==n||r[10]!==l||r[11]!==t||r[12]!==d?(p=(0,o.jsx)(et,{ref:t,orientation:n,className:d,...l,children:u}),r[9]=n,r[10]=l,r[11]=t,r[12]=d,r[13]=p):p=r[13],p});It.displayName=et.displayName;var po=[{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}];const mo=e=>{let t=Date.now(),r=po.map(a=>({...a,chats:[]})),s={label:"Older",days:1/0,chats:[]},l=a=>{switch(a){case 0:return r[0];case 1:return r[1];case 2:return r[2];case 3:return r[3];default:return a>=4&&a<=7?r[4]:a>=8&&a<=30?r[5]:s}};for(let a of e)l(Math.floor((t-a.updatedAt)/864e5)).chats.push(a);return[...r,s].filter(a=>a.chats.length>0)},ho=({activeChatId:e,setActiveChat:t})=>{let r=Je(ft),{locale:s}=Ur(),[l,a]=(0,m.useState)(""),n=(0,m.useMemo)(()=>[...r.chats.values()].toSorted((d,u)=>u.updatedAt-d.updatedAt),[r.chats]),i=(0,m.useMemo)(()=>l.trim()?n.filter(d=>d.title.toLowerCase().includes(l.toLowerCase())):n,[n,l]),c=(0,m.useMemo)(()=>mo(i),[i]);return(0,o.jsxs)(ar,{children:[(0,o.jsx)(Ke,{content:"Previous chats",children:(0,o.jsx)(or,{asChild:!0,children:(0,o.jsx)(K,{variant:"text",size:"icon",children:(0,o.jsx)(Ut,{className:"h-4 w-4"})})})}),(0,o.jsxs)(lr,{className:"w-[480px] p-0",align:"start",side:"right",children:[(0,o.jsx)("div",{className:"pt-3 px-3 w-full",children:(0,o.jsx)(Hr,{placeholder:"Search chat history...",value:l,onChange:d=>a(d.target.value),className:"text-xs"})}),(0,o.jsx)(kt,{className:"h-[450px] p-2",children:(0,o.jsxs)("div",{className:"space-y-3",children:[n.length===0&&(0,o.jsx)(Ze,{title:"No chats yet",description:"Start a new chat to get started",icon:(0,o.jsx)(ut,{})}),i.length===0&&l&&n.length>0&&(0,o.jsx)(Ze,{title:"No chats found",description:`No chats match "${l}"`,icon:(0,o.jsx)(Fr,{})}),c.map((d,u)=>(0,o.jsxs)("div",{className:"space-y-2",children:[(0,o.jsx)("div",{className:"text-xs px-1 text-muted-foreground/60",children:d.label}),(0,o.jsx)("div",{children:d.chats.map(p=>(0,o.jsxs)("button",{className:ue("w-full p-1 rounded-md cursor-pointer text-left flex items-center justify-between",p.id===e&&"bg-accent",p.id!==e&&"hover:bg-muted/20"),onClick:()=>{t(p.id)},type:"button",children:[(0,o.jsx)("div",{className:"flex-1 min-w-0",children:(0,o.jsx)("div",{className:"text-sm truncate",children:p.title})}),(0,o.jsx)("div",{className:"text-xs text-muted-foreground/60 ml-2 shrink-0",children:Xr(p.updatedAt,s)})]},p.id))}),u!==c.length-1&&(0,o.jsx)("hr",{})]},d.label))]})})]})]})};var Q=st(),Lt="manual",fo=e=>{let t=(0,Q.c)(18),{onNewChat:r,activeChatId:s,setActiveChat:l}=e,{handleClick:a}=nt(),n;t[0]===Symbol.for("react.memo_cache_sentinel")?(n=(0,o.jsx)(zr,{className:"h-4 w-4"}),t[0]=n):n=t[0];let i;t[1]===r?i=t[2]:(i=(0,o.jsx)(Ke,{content:"New chat",children:(0,o.jsx)(K,{variant:"text",size:"icon",onClick:r,children:n})}),t[1]=r,t[2]=i);let c;t[3]===Symbol.for("react.memo_cache_sentinel")?(c=(0,o.jsx)($t,{}),t[3]=c):c=t[3];let d;t[4]===a?d=t[5]:(d=()=>a("ai"),t[4]=a,t[5]=d);let u;t[6]===Symbol.for("react.memo_cache_sentinel")?(u=(0,o.jsx)(Wr,{className:"h-4 w-4"}),t[6]=u):u=t[6];let p;t[7]===d?p=t[8]:(p=(0,o.jsx)(Ke,{content:"AI Settings",children:(0,o.jsx)(K,{variant:"text",size:"xs",className:"hover:bg-foreground/10 py-2",onClick:d,children:u})}),t[7]=d,t[8]=p);let h;t[9]!==s||t[10]!==l?(h=(0,o.jsx)(ho,{activeChatId:s,setActiveChat:l}),t[9]=s,t[10]=l,t[11]=h):h=t[11];let f;t[12]!==p||t[13]!==h?(f=(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[c,p,h]}),t[12]=p,t[13]=h,t[14]=f):f=t[14];let v;return t[15]!==i||t[16]!==f?(v=(0,o.jsxs)("div",{className:"flex border-b px-2 py-1 justify-between shrink-0 items-center",children:[i,f]}),t[15]=i,t[16]=f,t[17]=v):v=t[17],v},Pt=(0,m.memo)(e=>{let t=(0,Q.c)(17),{message:r,index:s,onEdit:l,isStreamingReasoning:a,isLast:n,isActive:i,addToolApprovalResponse:c}=e,d;t[0]!==s||t[1]!==l?(d=g=>{var N,j,S;let C=(j=(N=g.parts)==null?void 0:N.filter(bo))==null?void 0:j.map(yo).join(`
1
+ import{s as at}from"./chunk-LvLJmgfZ.js";import{d as Ht,f as Wt,l as Ot,n as ce,u as Je}from"./useEvent-D91BmmQi.js";import{t as Xt}from"./react-Bj1aDYRI.js";import{D as Yt,Sr as Ut,Xt as Vt}from"./cells-DZEvA3zb.js";import"./react-dom-CSu739Rf.js";import{t as st}from"./compiler-runtime-B3qBwwSJ.js";import{E as Bt,T as qt,o as $t,r as nt,t as Jt}from"./ai-model-dropdown-Brz68_s8.js";import{_ as Pe,o as de}from"./useEventListener-BakX-tnw.js";import{a as Kt,n as it}from"./utils-Dev6I_Kv.js";import{T as Qt,o as Zt}from"./config-BE150fVL.js";import{t as ue}from"./cn-X2M2usMq.js";import{t as Gt}from"./jsx-runtime-PbYoItBR.js";import{C as er,b as tr,g as $,v as De,w as ve,x as J}from"./fullscreen-BXI8V5i6.js";import{u as rr}from"./menu-items-CQMqwayA.js";import{i as or,r as lr,t as ar}from"./popover-DMNO6Poc.js";import{a as sr,i as nr,n as ir,p as cr,r as dr,s as ur,t as pr}from"./select-Cjly7tmx.js";import{i as ct,t as Ke}from"./tooltip-CgQpRVyN.js";import{t as K}from"./button-BF7GSjhW.js";import"./dist-Dez1I5M9.js";import"./cjs-DXo9vDEJ.js";import"./main-DmhaVp6Y.js";import"./useNonce-0SWz6w4W.js";import{r as mr}from"./requests-KshNNAOp.js";import{t as dt}from"./createLucideIcon-BTp1tQDO.js";import{t as hr}from"./arrow-right-DFk7kYqp.js";import{t as ut}from"./bot-message-square-AslRbAeb.js";import"./markdown-renderer-duAFwqLF.js";import{t as fr}from"./chat-display-C2X2R6le.js";import{A as pt,D as xr,I as vr,N as gr,O as Qe,S as wr,T as br,_ as yr,b as jr,c as Sr,d as Cr,g as Nr,h as Ar,j as Rr,l as Tr,m as mt,n as ht,p as _r,s as Er,u as kr,v as Ir,y as Lr}from"./add-cell-with-ai-nJKSBAPb.js";import{t as Pr}from"./code-DP40S9ln.js";import{n as Dr}from"./spinner-DTBVbtl-.js";import{t as Mr}from"./message-circle-D_YIPPZo.js";import{t as zr}from"./plus-CExKUszm.js";import{dt as Fr,r as Hr}from"./input-b2KTOk0X.js";import{t as Wr}from"./settings-Cn43l_vx.js";import{t as Or}from"./sparkles-DctOjjEz.js";import"./dist-DHMtQYxT.js";import"./dist-Bj9Iedc0.js";import"./dist-D-o1OXc9.js";import"./dist-BZhJ1bTM.js";import"./dist-DnIl7RU-.js";import"./session-B6_8umQX.js";import"./purify.es-DdxMtdqK.js";import{s as Xr}from"./dates-CnrjjcMO.js";import{t as Yr}from"./copy-icon-BCIGtBo0.js";import{t as Ur}from"./context-DE_5rdOV.js";import{n as Vr}from"./ImperativeModal-MQnbMIO2.js";import{r as ft,t as Br}from"./state-CvarlPeY.js";import{n as qr}from"./error-banner-C4DZksWV.js";import"./chunk-5FQGJX7Z-C6VN0dQj.js";import"./html-to-image-DY_stEj0.js";import"./esm-DSv-aO_T.js";import{t as Ze}from"./empty-state-vKu4k0Y4.js";import{t as $r}from"./pair-with-agent-modal-BONZmBdh.js";var m=at(Xt(),1),o=at(Gt(),1);function Jr(e,t){return m.useReducer((r,s)=>t[r][s]??r,e)}var Ge="ScrollArea",[xt,Pl]=er(Ge),[Kr,z]=xt(Ge),vt=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,type:s="hover",dir:l,scrollHideDelay:a=600,...n}=e,[i,c]=m.useState(null),[d,u]=m.useState(null),[p,h]=m.useState(null),[f,v]=m.useState(null),[y,E]=m.useState(null),[g,C]=m.useState(0),[R,N]=m.useState(0),[j,S]=m.useState(!1),[T,I]=m.useState(!1),w=de(t,D=>c(D)),_=rr(l);return(0,o.jsx)(Kr,{scope:r,type:s,dir:_,scrollHideDelay:a,scrollArea:i,viewport:d,onViewportChange:u,content:p,onContentChange:h,scrollbarX:f,onScrollbarXChange:v,scrollbarXEnabled:j,onScrollbarXEnabledChange:S,scrollbarY:y,onScrollbarYChange:E,scrollbarYEnabled:T,onScrollbarYEnabledChange:I,onCornerWidthChange:C,onCornerHeightChange:N,children:(0,o.jsx)(ve.div,{dir:_,...n,ref:w,style:{position:"relative","--radix-scroll-area-corner-width":g+"px","--radix-scroll-area-corner-height":R+"px",...e.style}})})});vt.displayName=Ge;var gt="ScrollAreaViewport",wt=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,children:s,nonce:l,...a}=e,n=z(gt,r),i=de(t,m.useRef(null),n.onViewportChange);return(0,o.jsxs)(o.Fragment,{children:[(0,o.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:l}),(0,o.jsx)(ve.div,{"data-radix-scroll-area-viewport":"",...a,ref:i,style:{overflowX:n.scrollbarXEnabled?"scroll":"hidden",overflowY:n.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,o.jsx)("div",{ref:n.onContentChange,style:{minWidth:"100%",display:"table"},children:s})})]})});wt.displayName=gt;var X="ScrollAreaScrollbar",et=m.forwardRef((e,t)=>{let{forceMount:r,...s}=e,l=z(X,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:n}=l,i=e.orientation==="horizontal";return m.useEffect(()=>(i?a(!0):n(!0),()=>{i?a(!1):n(!1)}),[i,a,n]),l.type==="hover"?(0,o.jsx)(Qr,{...s,ref:t,forceMount:r}):l.type==="scroll"?(0,o.jsx)(Zr,{...s,ref:t,forceMount:r}):l.type==="auto"?(0,o.jsx)(bt,{...s,ref:t,forceMount:r}):l.type==="always"?(0,o.jsx)(tt,{...s,ref:t}):null});et.displayName=X;var Qr=m.forwardRef((e,t)=>{let{forceMount:r,...s}=e,l=z(X,e.__scopeScrollArea),[a,n]=m.useState(!1);return m.useEffect(()=>{let i=l.scrollArea,c=0;if(i){let d=()=>{window.clearTimeout(c),n(!0)},u=()=>{c=window.setTimeout(()=>n(!1),l.scrollHideDelay)};return i.addEventListener("pointerenter",d),i.addEventListener("pointerleave",u),()=>{window.clearTimeout(c),i.removeEventListener("pointerenter",d),i.removeEventListener("pointerleave",u)}}},[l.scrollArea,l.scrollHideDelay]),(0,o.jsx)(De,{present:r||a,children:(0,o.jsx)(bt,{"data-state":a?"visible":"hidden",...s,ref:t})})}),Zr=m.forwardRef((e,t)=>{let{forceMount:r,...s}=e,l=z(X,e.__scopeScrollArea),a=e.orientation==="horizontal",n=He(()=>c("SCROLL_END"),100),[i,c]=Jr("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 m.useEffect(()=>{if(i==="idle"){let d=window.setTimeout(()=>c("HIDE"),l.scrollHideDelay);return()=>window.clearTimeout(d)}},[i,l.scrollHideDelay,c]),m.useEffect(()=>{let d=l.viewport,u=a?"scrollLeft":"scrollTop";if(d){let p=d[u],h=()=>{let f=d[u];p!==f&&(c("SCROLL"),n()),p=f};return d.addEventListener("scroll",h),()=>d.removeEventListener("scroll",h)}},[l.viewport,a,c,n]),(0,o.jsx)(De,{present:r||i!=="hidden",children:(0,o.jsx)(tt,{"data-state":i==="hidden"?"hidden":"visible",...s,ref:t,onPointerEnter:J(e.onPointerEnter,()=>c("POINTER_ENTER")),onPointerLeave:J(e.onPointerLeave,()=>c("POINTER_LEAVE"))})})}),bt=m.forwardRef((e,t)=>{let r=z(X,e.__scopeScrollArea),{forceMount:s,...l}=e,[a,n]=m.useState(!1),i=e.orientation==="horizontal",c=He(()=>{if(r.viewport){let d=r.viewport.offsetWidth<r.viewport.scrollWidth,u=r.viewport.offsetHeight<r.viewport.scrollHeight;n(i?d:u)}},10);return pe(r.viewport,c),pe(r.content,c),(0,o.jsx)(De,{present:s||a,children:(0,o.jsx)(tt,{"data-state":a?"visible":"hidden",...l,ref:t})})}),tt=m.forwardRef((e,t)=>{let{orientation:r="vertical",...s}=e,l=z(X,e.__scopeScrollArea),a=m.useRef(null),n=m.useRef(0),[i,c]=m.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),d=Nt(i.viewport,i.content),u={...s,sizes:i,onSizesChange:c,hasThumb:d>0&&d<1,onThumbChange:h=>a.current=h,onThumbPointerUp:()=>n.current=0,onThumbPointerDown:h=>n.current=h};function p(h,f){return lo(h,n.current,i,f)}return r==="horizontal"?(0,o.jsx)(Gr,{...u,ref:t,onThumbPositionChange:()=>{if(l.viewport&&a.current){let h=l.viewport.scrollLeft,f=At(h,i,l.dir);a.current.style.transform=`translate3d(${f}px, 0, 0)`}},onWheelScroll:h=>{l.viewport&&(l.viewport.scrollLeft=h)},onDragScroll:h=>{l.viewport&&(l.viewport.scrollLeft=p(h,l.dir))}}):r==="vertical"?(0,o.jsx)(eo,{...u,ref:t,onThumbPositionChange:()=>{if(l.viewport&&a.current){let h=l.viewport.scrollTop,f=At(h,i);a.current.style.transform=`translate3d(0, ${f}px, 0)`}},onWheelScroll:h=>{l.viewport&&(l.viewport.scrollTop=h)},onDragScroll:h=>{l.viewport&&(l.viewport.scrollTop=p(h))}}):null}),Gr=m.forwardRef((e,t)=>{let{sizes:r,onSizesChange:s,...l}=e,a=z(X,e.__scopeScrollArea),[n,i]=m.useState(),c=m.useRef(null),d=de(t,c,a.onScrollbarXChange);return m.useEffect(()=>{c.current&&i(getComputedStyle(c.current))},[c]),(0,o.jsx)(jt,{"data-orientation":"horizontal",...l,ref:d,sizes:r,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":Fe(r)+"px",...e.style},onThumbPointerDown:u=>e.onThumbPointerDown(u.x),onDragScroll:u=>e.onDragScroll(u.x),onWheelScroll:(u,p)=>{if(a.viewport){let h=a.viewport.scrollLeft+u.deltaX;e.onWheelScroll(h),Tt(h,p)&&u.preventDefault()}},onResize:()=>{c.current&&a.viewport&&n&&s({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:ze(n.paddingLeft),paddingEnd:ze(n.paddingRight)}})}})}),eo=m.forwardRef((e,t)=>{let{sizes:r,onSizesChange:s,...l}=e,a=z(X,e.__scopeScrollArea),[n,i]=m.useState(),c=m.useRef(null),d=de(t,c,a.onScrollbarYChange);return m.useEffect(()=>{c.current&&i(getComputedStyle(c.current))},[c]),(0,o.jsx)(jt,{"data-orientation":"vertical",...l,ref:d,sizes:r,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":Fe(r)+"px",...e.style},onThumbPointerDown:u=>e.onThumbPointerDown(u.y),onDragScroll:u=>e.onDragScroll(u.y),onWheelScroll:(u,p)=>{if(a.viewport){let h=a.viewport.scrollTop+u.deltaY;e.onWheelScroll(h),Tt(h,p)&&u.preventDefault()}},onResize:()=>{c.current&&a.viewport&&n&&s({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:ze(n.paddingTop),paddingEnd:ze(n.paddingBottom)}})}})}),[to,yt]=xt(X),jt=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,sizes:s,hasThumb:l,onThumbChange:a,onThumbPointerUp:n,onThumbPointerDown:i,onThumbPositionChange:c,onDragScroll:d,onWheelScroll:u,onResize:p,...h}=e,f=z(X,r),[v,y]=m.useState(null),E=de(t,w=>y(w)),g=m.useRef(null),C=m.useRef(""),R=f.viewport,N=s.content-s.viewport,j=$(u),S=$(c),T=He(p,10);function I(w){g.current&&d({x:w.clientX-g.current.left,y:w.clientY-g.current.top})}return m.useEffect(()=>{let w=_=>{let D=_.target;v!=null&&v.contains(D)&&j(_,N)};return document.addEventListener("wheel",w,{passive:!1}),()=>document.removeEventListener("wheel",w,{passive:!1})},[R,v,N,j]),m.useEffect(S,[s,S]),pe(v,T),pe(f.content,T),(0,o.jsx)(to,{scope:r,scrollbar:v,hasThumb:l,onThumbChange:$(a),onThumbPointerUp:$(n),onThumbPositionChange:S,onThumbPointerDown:$(i),children:(0,o.jsx)(ve.div,{...h,ref:E,style:{position:"absolute",...h.style},onPointerDown:J(e.onPointerDown,w=>{w.button===0&&(w.target.setPointerCapture(w.pointerId),g.current=v.getBoundingClientRect(),C.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",f.viewport&&(f.viewport.style.scrollBehavior="auto"),I(w))}),onPointerMove:J(e.onPointerMove,I),onPointerUp:J(e.onPointerUp,w=>{let _=w.target;_.hasPointerCapture(w.pointerId)&&_.releasePointerCapture(w.pointerId),document.body.style.webkitUserSelect=C.current,f.viewport&&(f.viewport.style.scrollBehavior=""),g.current=null})})})}),Me="ScrollAreaThumb",St=m.forwardRef((e,t)=>{let{forceMount:r,...s}=e,l=yt(Me,e.__scopeScrollArea);return(0,o.jsx)(De,{present:r||l.hasThumb,children:(0,o.jsx)(ro,{ref:t,...s})})}),ro=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,style:s,...l}=e,a=z(Me,r),n=yt(Me,r),{onThumbPositionChange:i}=n,c=de(t,p=>n.onThumbChange(p)),d=m.useRef(void 0),u=He(()=>{d.current&&(d.current=(d.current(),void 0))},100);return m.useEffect(()=>{let p=a.viewport;if(p){let h=()=>{u(),d.current||(d.current=ao(p,i),i())};return i(),p.addEventListener("scroll",h),()=>p.removeEventListener("scroll",h)}},[a.viewport,u,i]),(0,o.jsx)(ve.div,{"data-state":n.hasThumb?"visible":"hidden",...l,ref:c,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...s},onPointerDownCapture:J(e.onPointerDownCapture,p=>{let h=p.target.getBoundingClientRect(),f=p.clientX-h.left,v=p.clientY-h.top;n.onThumbPointerDown({x:f,y:v})}),onPointerUp:J(e.onPointerUp,n.onThumbPointerUp)})});St.displayName=Me;var rt="ScrollAreaCorner",Ct=m.forwardRef((e,t)=>{let r=z(rt,e.__scopeScrollArea),s=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&s?(0,o.jsx)(oo,{...e,ref:t}):null});Ct.displayName=rt;var oo=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,...s}=e,l=z(rt,r),[a,n]=m.useState(0),[i,c]=m.useState(0),d=!!(a&&i);return pe(l.scrollbarX,()=>{var p;let u=((p=l.scrollbarX)==null?void 0:p.offsetHeight)||0;l.onCornerHeightChange(u),c(u)}),pe(l.scrollbarY,()=>{var p;let u=((p=l.scrollbarY)==null?void 0:p.offsetWidth)||0;l.onCornerWidthChange(u),n(u)}),d?(0,o.jsx)(ve.div,{...s,ref:t,style:{width:a,height:i,position:"absolute",right:l.dir==="ltr"?0:void 0,left:l.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function ze(e){return e?parseInt(e,10):0}function Nt(e,t){let r=e/t;return isNaN(r)?0:r}function Fe(e){let t=Nt(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,s=(e.scrollbar.size-r)*t;return Math.max(s,18)}function lo(e,t,r,s="ltr"){let l=Fe(r),a=l/2,n=t||a,i=l-n,c=r.scrollbar.paddingStart+n,d=r.scrollbar.size-r.scrollbar.paddingEnd-i,u=r.content-r.viewport,p=s==="ltr"?[0,u]:[u*-1,0];return Rt([c,d],p)(e)}function At(e,t,r="ltr"){let s=Fe(t),l=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-l,n=t.content-t.viewport,i=a-s,c=cr(e,r==="ltr"?[0,n]:[n*-1,0]);return Rt([0,n],[0,i])(c)}function Rt(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let s=(t[1]-t[0])/(e[1]-e[0]);return t[0]+s*(r-e[0])}}function Tt(e,t){return e>0&&e<t}var ao=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},s=0;return(function l(){let a={left:e.scrollLeft,top:e.scrollTop},n=r.left!==a.left,i=r.top!==a.top;(n||i)&&t(),r=a,s=window.requestAnimationFrame(l)})(),()=>window.cancelAnimationFrame(s)};function He(e,t){let r=$(e),s=m.useRef(0);return m.useEffect(()=>()=>window.clearTimeout(s.current),[]),m.useCallback(()=>{window.clearTimeout(s.current),s.current=window.setTimeout(r,t)},[r,t])}function pe(e,t){let r=$(t);tr(()=>{let s=0;if(e){let l=new ResizeObserver(()=>{cancelAnimationFrame(s),s=window.requestAnimationFrame(r)});return l.observe(e),()=>{window.cancelAnimationFrame(s),l.unobserve(e)}}},[e,r])}var _t=vt,so=wt,no=Ct,io=dt("hat-glasses",[["path",{d:"M14 18a2 2 0 0 0-4 0",key:"1v8fkw"}],["path",{d:"m19 11-2.11-6.657a2 2 0 0 0-2.752-1.148l-1.276.61A2 2 0 0 1 12 4H8.5a2 2 0 0 0-1.925 1.456L5 11",key:"1fkr7p"}],["path",{d:"M2 11h20",key:"3eubbj"}],["circle",{cx:"17",cy:"18",r:"3",key:"82mm0e"}],["circle",{cx:"7",cy:"18",r:"3",key:"lvkj7j"}]]),co=dt("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"}]]),Et=st();const uo=({chatState:e,chatId:t,messages:r})=>{if(!t)return Pe.warn("No active chat"),e;let s=e.chats.get(t);if(!s)return Pe.warn("No active chat"),e;let l=new Map(e.chats),a=Date.now();return l.set(s.id,{...s,messages:r,updatedAt:a}),{...e,chats:l}};var kt=m.forwardRef((e,t)=>{let r=(0,Et.c)(15),s,l,a;r[0]===e?(s=r[1],l=r[2],a=r[3]):({className:l,children:s,...a}=e,r[0]=e,r[1]=s,r[2]=l,r[3]=a);let n;r[4]===l?n=r[5]:(n=ue("relative overflow-hidden",l),r[4]=l,r[5]=n);let i;r[6]===s?i=r[7]:(i=(0,o.jsx)(so,{className:"h-full w-full rounded-[inherit]",children:s}),r[6]=s,r[7]=i);let c,d;r[8]===Symbol.for("react.memo_cache_sentinel")?(c=(0,o.jsx)(It,{}),d=(0,o.jsx)(no,{}),r[8]=c,r[9]=d):(c=r[8],d=r[9]);let u;return r[10]!==a||r[11]!==t||r[12]!==n||r[13]!==i?(u=(0,o.jsxs)(_t,{ref:t,className:n,...a,children:[i,c,d]}),r[10]=a,r[11]=t,r[12]=n,r[13]=i,r[14]=u):u=r[14],u});kt.displayName=_t.displayName;var It=m.forwardRef((e,t)=>{let r=(0,Et.c)(14),s,l,a;r[0]===e?(s=r[1],l=r[2],a=r[3]):({className:s,orientation:a,...l}=e,r[0]=e,r[1]=s,r[2]=l,r[3]=a);let n=a===void 0?"vertical":a,i=n==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-px",c=n==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-px",d;r[4]!==s||r[5]!==i||r[6]!==c?(d=ue("flex touch-none select-none transition-colors",i,c,s),r[4]=s,r[5]=i,r[6]=c,r[7]=d):d=r[7];let u;r[8]===Symbol.for("react.memo_cache_sentinel")?(u=(0,o.jsx)(St,{className:"relative flex-1 rounded-full bg-border"}),r[8]=u):u=r[8];let p;return r[9]!==n||r[10]!==l||r[11]!==t||r[12]!==d?(p=(0,o.jsx)(et,{ref:t,orientation:n,className:d,...l,children:u}),r[9]=n,r[10]=l,r[11]=t,r[12]=d,r[13]=p):p=r[13],p});It.displayName=et.displayName;var po=[{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}];const mo=e=>{let t=Date.now(),r=po.map(a=>({...a,chats:[]})),s={label:"Older",days:1/0,chats:[]},l=a=>{switch(a){case 0:return r[0];case 1:return r[1];case 2:return r[2];case 3:return r[3];default:return a>=4&&a<=7?r[4]:a>=8&&a<=30?r[5]:s}};for(let a of e)l(Math.floor((t-a.updatedAt)/864e5)).chats.push(a);return[...r,s].filter(a=>a.chats.length>0)},ho=({activeChatId:e,setActiveChat:t})=>{let r=Je(ft),{locale:s}=Ur(),[l,a]=(0,m.useState)(""),n=(0,m.useMemo)(()=>[...r.chats.values()].toSorted((d,u)=>u.updatedAt-d.updatedAt),[r.chats]),i=(0,m.useMemo)(()=>l.trim()?n.filter(d=>d.title.toLowerCase().includes(l.toLowerCase())):n,[n,l]),c=(0,m.useMemo)(()=>mo(i),[i]);return(0,o.jsxs)(ar,{children:[(0,o.jsx)(Ke,{content:"Previous chats",children:(0,o.jsx)(or,{asChild:!0,children:(0,o.jsx)(K,{variant:"text",size:"icon",children:(0,o.jsx)(Ut,{className:"h-4 w-4"})})})}),(0,o.jsxs)(lr,{className:"w-[480px] p-0",align:"start",side:"right",children:[(0,o.jsx)("div",{className:"pt-3 px-3 w-full",children:(0,o.jsx)(Hr,{placeholder:"Search chat history...",value:l,onChange:d=>a(d.target.value),className:"text-xs"})}),(0,o.jsx)(kt,{className:"h-[450px] p-2",children:(0,o.jsxs)("div",{className:"space-y-3",children:[n.length===0&&(0,o.jsx)(Ze,{title:"No chats yet",description:"Start a new chat to get started",icon:(0,o.jsx)(ut,{})}),i.length===0&&l&&n.length>0&&(0,o.jsx)(Ze,{title:"No chats found",description:`No chats match "${l}"`,icon:(0,o.jsx)(Fr,{})}),c.map((d,u)=>(0,o.jsxs)("div",{className:"space-y-2",children:[(0,o.jsx)("div",{className:"text-xs px-1 text-muted-foreground/60",children:d.label}),(0,o.jsx)("div",{children:d.chats.map(p=>(0,o.jsxs)("button",{className:ue("w-full p-1 rounded-md cursor-pointer text-left flex items-center justify-between",p.id===e&&"bg-accent",p.id!==e&&"hover:bg-muted/20"),onClick:()=>{t(p.id)},type:"button",children:[(0,o.jsx)("div",{className:"flex-1 min-w-0",children:(0,o.jsx)("div",{className:"text-sm truncate",children:p.title})}),(0,o.jsx)("div",{className:"text-xs text-muted-foreground/60 ml-2 shrink-0",children:Xr(p.updatedAt,s)})]},p.id))}),u!==c.length-1&&(0,o.jsx)("hr",{})]},d.label))]})})]})]})};var Q=st(),Lt="manual",fo=e=>{let t=(0,Q.c)(18),{onNewChat:r,activeChatId:s,setActiveChat:l}=e,{handleClick:a}=nt(),n;t[0]===Symbol.for("react.memo_cache_sentinel")?(n=(0,o.jsx)(zr,{className:"h-4 w-4"}),t[0]=n):n=t[0];let i;t[1]===r?i=t[2]:(i=(0,o.jsx)(Ke,{content:"New chat",children:(0,o.jsx)(K,{variant:"text",size:"icon",onClick:r,children:n})}),t[1]=r,t[2]=i);let c;t[3]===Symbol.for("react.memo_cache_sentinel")?(c=(0,o.jsx)($t,{}),t[3]=c):c=t[3];let d;t[4]===a?d=t[5]:(d=()=>a("ai"),t[4]=a,t[5]=d);let u;t[6]===Symbol.for("react.memo_cache_sentinel")?(u=(0,o.jsx)(Wr,{className:"h-4 w-4"}),t[6]=u):u=t[6];let p;t[7]===d?p=t[8]:(p=(0,o.jsx)(Ke,{content:"AI Settings",children:(0,o.jsx)(K,{variant:"text",size:"xs",className:"hover:bg-foreground/10 py-2",onClick:d,children:u})}),t[7]=d,t[8]=p);let h;t[9]!==s||t[10]!==l?(h=(0,o.jsx)(ho,{activeChatId:s,setActiveChat:l}),t[9]=s,t[10]=l,t[11]=h):h=t[11];let f;t[12]!==p||t[13]!==h?(f=(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[c,p,h]}),t[12]=p,t[13]=h,t[14]=f):f=t[14];let v;return t[15]!==i||t[16]!==f?(v=(0,o.jsxs)("div",{className:"flex border-b px-2 py-1 justify-between shrink-0 items-center",children:[i,f]}),t[15]=i,t[16]=f,t[17]=v):v=t[17],v},Pt=(0,m.memo)(e=>{let t=(0,Q.c)(17),{message:r,index:s,onEdit:l,isStreamingReasoning:a,isLast:n,isActive:i,addToolApprovalResponse:c}=e,d;t[0]!==s||t[1]!==l?(d=g=>{var N,j,S;let C=(j=(N=g.parts)==null?void 0:N.filter(bo))==null?void 0:j.map(yo).join(`
2
2
  `),R=(S=g.parts)==null?void 0:S.filter(jo);return(0,o.jsxs)("div",{className:"w-[95%] bg-background border p-1 rounded-sm",children:[R==null?void 0:R.map(So),(0,o.jsx)(ht,{value:C,placeholder:"Type your message...",onChange:Co,onSubmit:(T,I)=>{I.trim()&&l(s,I)},onClose:No},g.id)]})},t[0]=s,t[1]=l,t[2]=d):d=t[2];let u=d,p;t[3]!==c||t[4]!==i||t[5]!==n||t[6]!==a?(p=g=>(0,o.jsxs)("div",{className:"w-[95%] wrap-break-word",children:[(0,o.jsx)("div",{className:"absolute right-1 top-1 opacity-0 group-hover:opacity-100 transition-opacity",children:(0,o.jsx)(Yr,{className:"h-3 w-3",value:g.parts.filter(Ao).map(Ro).join(`
3
3
  `)||""})}),fr({message:g,isStreamingReasoning:a,isLast:n,isActive:i,addToolApprovalResponse:c})]}),t[3]=c,t[4]=i,t[5]=n,t[6]=a,t[7]=p):p=t[7];let h=p,f=r.role==="user"?"justify-end":"justify-start",v;t[8]===f?v=t[9]:(v=ue("flex group relative",f),t[8]=f,t[9]=v);let y;t[10]!==r||t[11]!==h||t[12]!==u?(y=r.role==="user"?u(r):h(r),t[10]=r,t[11]=h,t[12]=u,t[13]=y):y=t[13];let E;return t[14]!==v||t[15]!==y?(E=(0,o.jsx)("div",{className:v,children:y}),t[14]=v,t[15]=y,t[16]=E):E=t[16],E});Pt.displayName="ChatMessage";var Dt=(0,m.memo)(e=>{var B;let t=(0,Q.c)(42),{isEmpty:r,onSendClick:s,isLoading:l,onStop:a,fileInputRef:n,onAddFiles:i,onAddContext:c}=e,d=Je(it),u=(d==null?void 0:d.mode)||Lt,p=((B=d==null?void 0:d.models)==null?void 0:B.chat_model)||"openai/gpt-4o",h=qt.parse(p).providerId,{saveModeChange:f}=Bt(),v;t[0]===Symbol.for("react.memo_cache_sentinel")?(v=[{value:"manual",label:"Manual",subtitle:"Pure chat, no tool usage",Icon:Mr},{value:"ask",label:"Ask",subtitle:"AI with access to read-only tools like documentation search",Icon:co},{value:"agent",label:"Agent",subtitle:"AI with access to read and write tools",Icon:io},{value:"code_mode",label:"Code Mode (experimental)",subtitle:"AI with access to the notebook's kernel. Use with caution.",Icon:Pr}],t[0]=v):v=t[0];let y=v,E=_r.has(h),g;t[1]!==u||t[2]!==y?(g=y.find(ge=>ge.value===u),t[1]=u,t[2]=y,t[3]=g):g=t[3];let C=g,R=C==null?void 0:C.Icon,N=C==null?void 0:C.label,j;t[4]===R?j=t[5]:(j=R&&(0,o.jsx)(R,{className:"h-3 w-3"}),t[4]=R,t[5]=j);let S;t[6]===N?S=t[7]:(S=(0,o.jsx)("span",{children:N}),t[6]=N,t[7]=S);let T;t[8]!==j||t[9]!==S?(T=(0,o.jsxs)(ur,{className:"h-6 text-xs border-border shadow-none! ring-0! bg-muted hover:bg-muted/30 py-0 px-2 gap-1.5",children:[j,S]}),t[8]=j,t[9]=S,t[10]=T):T=t[10];let I;t[11]===Symbol.for("react.memo_cache_sentinel")?(I=(0,o.jsx)(sr,{className:"text-xs uppercase tracking-wider text-muted-foreground/70 font-medium",children:"AI Mode"}),t[11]=I):I=t[11];let w;t[12]===y?w=t[13]:(w=(0,o.jsx)(ir,{children:(0,o.jsxs)(dr,{children:[I,y.map(To)]})}),t[12]=y,t[13]=w);let _;t[14]!==u||t[15]!==f||t[16]!==T||t[17]!==w?(_=(0,o.jsxs)(pr,{value:u,onValueChange:f,children:[T,w]}),t[14]=u,t[15]=f,t[16]=T,t[17]=w,t[18]=_):_=t[18];let D;t[19]===Symbol.for("react.memo_cache_sentinel")?(D=(0,o.jsx)(Jt,{placeholder:"Model",triggerClassName:"h-6 text-xs shadow-none! ring-0! bg-muted hover:bg-muted/30 rounded-sm",iconSize:"small",showAddCustomModelDocs:!0,forRole:"chat"}),t[19]=D):D=t[19];let U;t[20]===_?U=t[21]:(U=(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[_,D]}),t[20]=_,t[21]=U);let F;t[22]!==l||t[23]!==c?(F=(0,o.jsx)(Er,{handleAddContext:c,isLoading:l}),t[22]=l,t[23]=c,t[24]=F):F=t[24];let H;t[25]!==n||t[26]!==E||t[27]!==l||t[28]!==i?(H=E&&(0,o.jsx)(Sr,{fileInputRef:n,isLoading:l,onAddFiles:i}),t[25]=n,t[26]=E,t[27]=l,t[28]=i,t[29]=H):H=t[29];let W;t[30]!==r||t[31]!==l||t[32]!==s||t[33]!==a?(W=(0,o.jsx)(Cr,{isLoading:l,onStop:a,onSendClick:s,isEmpty:r}),t[30]=r,t[31]=l,t[32]=s,t[33]=a,t[34]=W):W=t[34];let A;t[35]!==F||t[36]!==H||t[37]!==W?(A=(0,o.jsxs)("div",{className:"flex flex-row",children:[F,H,W]}),t[35]=F,t[36]=H,t[37]=W,t[38]=A):A=t[38];let P;return t[39]!==U||t[40]!==A?(P=(0,o.jsx)(ct,{children:(0,o.jsxs)("div",{className:"px-3 py-2 border-t border-border/20 flex flex-row flex-wrap items-center justify-between gap-1",children:[U,A]})}),t[39]=U,t[40]=A,t[41]=P):P=t[41],P});Dt.displayName="ChatInputFooter";var ot=(0,m.memo)(e=>{let t=(0,Q.c)(29),{placeholder:r,input:s,inputClassName:l,setInput:a,onSubmit:n,inputRef:i,isLoading:c,onStop:d,fileInputRef:u,onAddFiles:p,onClose:h}=e,f;t[0]!==s||t[1]!==n?(f=()=>{s.trim()&&n(void 0,s)},t[0]=s,t[1]=n,t[2]=f):f=t[2];let v=ce(f),y;t[3]===l?y=t[4]:(y=ue("px-2 py-3 flex-1",l),t[3]=l,t[4]=y);let E=r||"Type your message...",g;t[5]!==s||t[6]!==i||t[7]!==p||t[8]!==h||t[9]!==n||t[10]!==a||t[11]!==E?(g=(0,o.jsx)(ht,{inputRef:i,value:s,onChange:a,onSubmit:n,onClose:h,onAddFiles:p,placeholder:E}),t[5]=s,t[6]=i,t[7]=p,t[8]=h,t[9]=n,t[10]=a,t[11]=E,t[12]=g):g=t[12];let C;t[13]!==y||t[14]!==g?(C=(0,o.jsx)("div",{className:y,children:g}),t[13]=y,t[14]=g,t[15]=C):C=t[15];let R=!s.trim(),N;t[16]===i?N=t[17]:(N=()=>br(i),t[16]=i,t[17]=N);let j;t[18]!==u||t[19]!==v||t[20]!==c||t[21]!==p||t[22]!==d||t[23]!==R||t[24]!==N?(j=(0,o.jsx)(Dt,{isEmpty:R,onAddContext:N,onSendClick:v,isLoading:c,onStop:d,fileInputRef:u,onAddFiles:p}),t[18]=u,t[19]=v,t[20]=c,t[21]=p,t[22]=d,t[23]=R,t[24]=N,t[25]=j):j=t[25];let S;return t[26]!==C||t[27]!==j?(S=(0,o.jsxs)("div",{className:"relative shrink-0 min-h-[80px] flex flex-col border-t",children:[C,j]}),t[26]=C,t[27]=j,t[28]=S):S=t[28],S});ot.displayName="ChatInput";var xo=e=>{let t=(0,Q.c)(5),{onPairWithAgent:r}=e;if(Qt())return null;let s,l,a;t[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,o.jsx)(Or,{className:"h-3.5 w-3.5 shrink-0"}),l=(0,o.jsx)("span",{children:"Work on this notebook with your own agent"}),a=(0,o.jsx)(hr,{className:"h-3 w-3 shrink-0"}),t[0]=s,t[1]=l,t[2]=a):(s=t[0],l=t[1],a=t[2]);let n;return t[3]===r?n=t[4]:(n=(0,o.jsxs)(K,{variant:"text",className:"gap-1.5 text-sm text-link hover:underline",onClick:r,children:[s,l,a]}),t[3]=r,t[4]=n),n},vo=()=>{let e=(0,Q.c)(6),t=Je(Kt),{handleClick:r}=nt();if(!t){let l;e[0]===r?l=e[1]:(l=(0,o.jsx)(K,{variant:"outline",size:"sm",onClick:()=>r("ai","ai-providers"),children:"Edit AI settings"}),e[0]=r,e[1]=l);let a;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=(0,o.jsx)(ut,{}),e[2]=a):a=e[2];let n;return e[3]===l?n=e[4]:(n=(0,o.jsx)(Ze,{title:"Chat with AI",description:"No AI provider configured or Chat model not selected",action:l,icon:a}),e[3]=l,e[4]=n),n}let s;return e[5]===Symbol.for("react.memo_cache_sentinel")?(s=(0,o.jsx)(go,{}),e[5]=s):s=e[5],s},go=()=>{let e=(0,Q.c)(103),t=Ht(ft),[r,s]=Ot(Br),[l,a]=(0,m.useState)(""),[n,i]=(0,m.useState)(""),{files:c,addFiles:d,clearFiles:u,removeFile:p}=Lr(),h=(0,m.useRef)(null),f=(0,m.useRef)(null),v=(0,m.useRef)(null),y=(0,m.useRef)(null),E=(0,m.useRef)(null),g=Zt(),{invokeAiTool:C,sendRun:R}=mr(),{openModal:N,closeModal:j}=Vr(),S=r==null?void 0:r.id,T=Wt(),{addStagedCell:I}=wr(),{createNewCell:w,prepareForRun:_}=Yt(),D;e[0]!==I||e[1]!==w||e[2]!==_||e[3]!==R||e[4]!==T?(D={addStagedCell:I,createNewCell:w,prepareForRun:_,sendRun:R,store:T},e[0]=I,e[1]=w,e[2]=_,e[3]=R,e[4]=T,e[5]=D):D=e[5];let U=D,F;e[6]===(r==null?void 0:r.messages)?F=e[7]:(F=(r==null?void 0:r.messages)||[],e[6]=r==null?void 0:r.messages,e[7]=F);let H;if(e[8]!==g||e[9]!==T){let x;e[11]===g?x=e[12]:(x=()=>g.headers(),e[11]=g,e[12]=x),H=new gr({api:g.getAiURL("chat").toString(),headers:x,prepareSendMessagesRequest:async b=>{var ie;let L=await vr({messages:b.messages});L.success||Pe.debug("Outgoing chat messages failed AI SDK schema validation",L.error);let O={uiMessages:b.messages,includeOtherCode:Vt("")},V=((ie=T.get(it))==null?void 0:ie.mode)||Lt,Y=jr.getToolSchemas(V);return{api:g.getAiURL("chat").toString(),body:{tools:Y,...b,...O}}}}),e[8]=g,e[9]=T,e[10]=H}else H=e[10];let W;e[13]===t?W=e[14]:(W=x=>{let{messages:b}=x;t(L=>uo({chatState:L,chatId:L.activeChatId,messages:b}))},e[13]=t,e[14]=W);let{messages:A,sendMessage:P,error:B,status:ge,regenerate:We,stop:q,addToolOutput:Mt,addToolApprovalResponse:me,id:Oe}=Rr({id:S,sendAutomaticallyWhen:_o,messages:F,transport:H,onFinish:W,onToolCall:async x=>{let{toolCall:b}=x;await Nr({invokeAiTool:C,addToolOutput:zt,toolCall:{toolName:b.toolName,toolCallId:b.toolCallId,input:b.input},toolContext:U})},onError:Eo}),zt=Mt,k=ge==="submitted"||ge==="streaming",we;e[15]!==k||e[16]!==A?(we=k&&A.length>0&&Ir(A),e[15]=k,e[16]=A,e[17]=we):we=e[17];let he=we,be;e[18]===Symbol.for("react.memo_cache_sentinel")?(be=()=>{requestAnimationFrame(()=>{if(v.current){let x=v.current;x.scrollTop=x.scrollHeight}})},e[18]=be):be=e[18];let ye;e[19]===S?ye=e[20]:(ye=[S],e[19]=S,e[20]=ye),(0,m.useEffect)(be,ye);let je;e[21]!==Oe||e[22]!==u||e[23]!==P||e[24]!==t?(je=async(x,b)=>{let L=Date.now(),O={id:Oe,title:Ar(x),messages:[],createdAt:L,updatedAt:L};t(xe=>{let lt=new Map(xe.chats);return lt.set(O.id,O),{...xe,chats:lt,activeChatId:O.id}});let V=b&&b.length>0?await mt(b):void 0,{contextPart:Y,attachments:ie}=await Qe(x);P({role:"user",parts:[{type:"text",text:x},...Y?[Y]:[],...V??[],...ie]}),u(),a("")},e[21]=Oe,e[22]=u,e[23]=P,e[24]=t,e[25]=je):je=e[25];let Xe=je,Se;e[26]!==u||e[27]!==s?(Se=()=>{s(null),a(""),i(""),u()},e[26]=u,e[27]=s,e[28]=Se):Se=e[28];let Ye=ce(Se),Ce;e[29]!==j||e[30]!==N?(Ce=()=>{N((0,o.jsx)($r,{onClose:j}))},e[29]=j,e[30]=N,e[31]=Ce):Ce=e[31];let Ue=ce(Ce),Ne;e[32]!==A||e[33]!==P?(Ne=async(x,b)=>{var xe;let L=A[x],O=((xe=L.parts)==null?void 0:xe.filter(ko))??[],{contextPart:V,attachments:Y}=await Qe(b),ie=L.id;P({messageId:ie,role:"user",parts:[{type:"text",text:b},...V?[V]:[],...O,...Y]})},e[32]=A,e[33]=P,e[34]=Ne):Ne=e[34];let fe=ce(Ne),Ae;e[35]!==u||e[36]!==c||e[37]!==P?(Ae=async(x,b)=>{var Y;if(!b.trim())return;(Y=f.current)!=null&&Y.view&&pt(f.current.view);let L=c?await mt(c):void 0,{contextPart:O,attachments:V}=await Qe(b);x==null||x.preventDefault(),P({role:"user",parts:[{type:"text",text:b},...O?[O]:[],...L??[],...V]}),a(""),u()},e[35]=u,e[36]=c,e[37]=P,e[38]=Ae):Ae=e[38];let Ve=ce(Ae),Re;e[39]===We?Re=e[40]:(Re=()=>{We()},e[39]=We,e[40]=Re);let Be=Re,Te;e[41]!==Xe||e[42]!==c||e[43]!==n?(Te=()=>{var x;n.trim()&&((x=h.current)!=null&&x.view&&pt(h.current.view),Xe(n.trim(),c))},e[41]=Xe,e[42]=c,e[43]=n,e[44]=Te):Te=e[44];let qe=ce(Te),_e;e[45]===Symbol.for("react.memo_cache_sentinel")?(_e=()=>{var x,b;return(b=(x=h.current)==null?void 0:x.editor)==null?void 0:b.blur()},e[45]=_e):_e=e[45];let Ft=_e,M=A.length===0,Ee;e[46]!==d||e[47]!==Ve||e[48]!==qe||e[49]!==l||e[50]!==k||e[51]!==M||e[52]!==n||e[53]!==q?(Ee=M?(0,o.jsx)(ot,{placeholder:"Ask anything, @ to include context about tables or dataframes",input:n,inputRef:h,inputClassName:"px-1 py-0",setInput:i,onSubmit:qe,isLoading:k,onStop:q,fileInputRef:y,onAddFiles:d,onClose:Ft},"new-thread-input"):(0,o.jsx)(ot,{input:l,setInput:a,onSubmit:Ve,inputRef:f,isLoading:k,onStop:q,onClose:()=>{var x,b;return(b=(x=f.current)==null?void 0:x.editor)==null?void 0:b.blur()},fileInputRef:y,onAddFiles:d}),e[46]=d,e[47]=Ve,e[48]=qe,e[49]=l,e[50]=k,e[51]=M,e[52]=n,e[53]=q,e[54]=Ee):Ee=e[54];let Z=Ee,ke;e[55]!==c||e[56]!==M||e[57]!==p?(ke=c&&c.length>0&&(0,o.jsx)("div",{className:ue("flex flex-row gap-1 flex-wrap p-1",M&&"py-2 px-1"),children:c==null?void 0:c.map(x=>(0,o.jsx)(kr,{file:x,onRemove:()=>p(x)},x.name))}),e[55]=c,e[56]=M,e[57]=p,e[58]=ke):ke=e[58];let G=ke,$e=r==null?void 0:r.id,ee;e[59]!==Ye||e[60]!==s||e[61]!==$e?(ee=(0,o.jsx)(ct,{children:(0,o.jsx)(fo,{onNewChat:Ye,activeChatId:$e,setActiveChat:s})}),e[59]=Ye,e[60]=s,e[61]=$e,e[62]=ee):ee=e[62];let te;e[63]!==Z||e[64]!==G||e[65]!==Ue||e[66]!==M?(te=M&&(0,o.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,o.jsxs)("div",{className:"rounded-md border bg-background",children:[G,Z]}),(0,o.jsx)(xo,{onPairWithAgent:Ue})]}),e[63]=Z,e[64]=G,e[65]=Ue,e[66]=M,e[67]=te):te=e[67];let re;if(e[68]!==me||e[69]!==fe||e[70]!==k||e[71]!==he||e[72]!==A){let x;e[74]!==me||e[75]!==fe||e[76]!==k||e[77]!==he||e[78]!==A.length?(x=(b,L)=>(0,o.jsx)(Pt,{message:b,index:L,onEdit:fe,isStreamingReasoning:he,isLast:L===A.length-1,isActive:k,addToolApprovalResponse:me},b.id),e[74]=me,e[75]=fe,e[76]=k,e[77]=he,e[78]=A.length,e[79]=x):x=e[79],re=A.map(x),e[68]=me,e[69]=fe,e[70]=k,e[71]=he,e[72]=A,e[73]=re}else re=e[73];let oe;e[80]===k?oe=e[81]:(oe=k&&(0,o.jsx)("div",{className:"flex justify-center py-4",children:(0,o.jsx)(Dr,{className:"h-4 w-4 animate-spin"})}),e[80]=k,e[81]=oe);let le;e[82]!==B||e[83]!==Be?(le=B&&(0,o.jsxs)("div",{className:"flex items-center justify-center space-x-2 mb-4",children:[(0,o.jsx)(qr,{error:B||Error("Unknown error")}),(0,o.jsx)(K,{variant:"outline",size:"sm",onClick:Be,children:"Retry"})]}),e[82]=B,e[83]=Be,e[84]=le):le=e[84];let Ie;e[85]===Symbol.for("react.memo_cache_sentinel")?(Ie=(0,o.jsx)("div",{ref:E}),e[85]=Ie):Ie=e[85];let ae;e[86]!==te||e[87]!==re||e[88]!==oe||e[89]!==le?(ae=(0,o.jsxs)("div",{className:"flex-1 px-3 bg-(--slate-1) gap-4 py-3 flex flex-col overflow-y-auto",ref:v,children:[te,re,oe,le,Ie]}),e[86]=te,e[87]=re,e[88]=oe,e[89]=le,e[90]=ae):ae=e[90];let se;e[91]!==k||e[92]!==q?(se=k&&(0,o.jsx)("div",{className:"w-full flex justify-center items-center z-20 border-t",children:(0,o.jsx)(K,{variant:"linkDestructive",size:"sm",onClick:q,children:"Stop"})}),e[91]=k,e[92]=q,e[93]=se):se=e[93];let ne;e[94]!==Z||e[95]!==G||e[96]!==M?(ne=!M&&(0,o.jsxs)(o.Fragment,{children:[G,Z]}),e[94]=Z,e[95]=G,e[96]=M,e[97]=ne):ne=e[97];let Le;return e[98]!==ee||e[99]!==ae||e[100]!==se||e[101]!==ne?(Le=(0,o.jsxs)("div",{className:"flex flex-col h-[calc(100%-53px)]",children:[ee,ae,se,ne]}),e[98]=ee,e[99]=ae,e[100]=se,e[101]=ne,e[102]=Le):Le=e[102],Le},wo=vo;function bo(e){return e.type==="text"}function yo(e){return e.text}function jo(e){return e.type==="file"}function So(e,t){return(0,o.jsx)(Tr,{attachment:e},t)}function Co(){}function No(){}function Ao(e){return e.type==="text"}function Ro(e){return e.text}function To(e){return(0,o.jsx)(nr,{value:e.value,className:"text-xs py-1",children:(0,o.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,o.jsx)("span",{className:"mt-1 text-muted-foreground",children:(0,o.jsx)(e.Icon,{className:"h-3 w-3"})}),(0,o.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,o.jsx)("span",{className:"font-semibold",children:e.label}),(0,o.jsx)("span",{className:"text-muted-foreground",children:e.subtitle})]})]})},e.value)}function _o(e){let{messages:t}=e;return yr(t)}function Eo(e){Pe.error("An error occurred:",e)}function ko(e){return e.type==="file"&&!xr(e)}export{wo as default};
@@ -1,4 +1,4 @@
1
- import{s as W}from"./chunk-LvLJmgfZ.js";import"./useEvent-D91BmmQi.js";import{t as le}from"./react-Bj1aDYRI.js";import{un as oe}from"./cells-DQ5n6Zef.js";import"./react-dom-CSu739Rf.js";import{C as ie,P as me,R as ce,T as pe,k as de}from"./zod-H_cgTO0M.js";import{t as ue}from"./compiler-runtime-B3qBwwSJ.js";import{_ as P,d as he,t as xe}from"./useEventListener-BakX-tnw.js";import{t as X}from"./cn-X2M2usMq.js";import{t as fe}from"./jsx-runtime-PbYoItBR.js";import"./fullscreen-BXI8V5i6.js";import{i as ge,l as be,r as Y,t as Z}from"./popover-DMNO6Poc.js";import{a as je,p as ve,r as ye,t as Ne}from"./dropdown-menu-DfGLyCbP.js";import{t as U}from"./label-CFvCMYuj.js";import{t as K}from"./tooltip-CgQpRVyN.js";import{t as z}from"./button-BF7GSjhW.js";import"./dist-Dez1I5M9.js";import"./cjs-DXo9vDEJ.js";import"./main-DmhaVp6Y.js";import"./useNonce-0SWz6w4W.js";import{t as we}from"./strings-DvZlHYnD.js";import{t as _e}from"./createLucideIcon-BTp1tQDO.js";import{t as Ce}from"./bot-message-square-AslRbAeb.js";import{t as ke}from"./x-9vLEgLY6.js";import"./markdown-renderer-f3mfGw8u.js";import{u as Se}from"./toDate-DCE7d2fN.js";import{t as Re}from"./chat-display-DegYbxcN.js";import{B as Ae,F as qe,N as ze,_ as Ee,j as Fe,m as Te,n as De,z as Me}from"./add-cell-with-ai-C5iuH1Jb.js";import{t as $e}from"./spinner-DTBVbtl-.js";import{o as He,r as Ie}from"./input-b2KTOk0X.js";import{t as Le}from"./settings-Cn43l_vx.js";import{t as Oe}from"./square-DPWHdF_-.js";import{t as Pe}from"./trash-2-CjPoUZCP.js";import"./dist-DHMtQYxT.js";import"./dist-Bj9Iedc0.js";import"./dist-D-o1OXc9.js";import"./dist-BZhJ1bTM.js";import"./dist-DnIl7RU-.js";import{t as Ve}from"./uuid-BukULOeS.js";import"./session-B6_8umQX.js";import"./purify.es-DdxMtdqK.js";import{t as Je}from"./copy-icon-BCIGtBo0.js";import{r as Ke}from"./react-icons.esm-C2u-_EAQ.js";import{t as Be}from"./events-BRbNg7Li.js";import{n as Ge}from"./error-banner-C4DZksWV.js";import"./chunk-5FQGJX7Z-C6VN0dQj.js";import"./html-to-image-CmK-WSPG.js";import{n as We}from"./useAsyncData-CT1LpOBD.js";import"./esm-DSv-aO_T.js";var Xe=_e("rotate-cw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]),B=ue(),t=W(fe(),1),v=W(le(),1),Ye=be,Ze=me({type:de("stream_chunk"),message_id:ce(),content:ie().nullable().transform(s=>s),is_final:pe().optional()});function Q(s,e){let{controllerRef:o,activeRequestIdRef:d}=e,f=o.current;if(f===null)return"dropped-no-controller";let b=d.current;return b!==null&&s.message_id!==b?(P.debug("Dropping stale chat chunk",{chunkRequestId:s.message_id,activeRequestId:b}),"dropped-stale"):(s.content&&f.enqueue(s.content),s.is_final?(f.close(),o.current=null,d.current=null,"closed"):"enqueued")}const Ue=s=>{var G;let[e,o]=(0,v.useState)(""),[d,f]=(0,v.useState)(s.config),[b,p]=(0,v.useState)(s.config),[i,g]=(0,v.useState)(void 0),x=(0,v.useRef)(null),j=(0,v.useRef)(null),y=(0,v.useRef)(null),m=(0,v.useRef)(null);Object.keys(s.config).some(r=>s.config[r]!==b[r])&&(f(s.config),p(s.config));let l=(0,v.useRef)(d);l.current=d;let c=(0,v.useRef)(null),a=(0,v.useRef)(null),{data:u}=We(async()=>(await s.get_chat_history({})).messages,[]),n=s.value.length>0?s.value:u,{messages:h,sendMessage:w,setMessages:q,status:R,stop:M,error:_,regenerate:A,clearError:C,addToolApprovalResponse:$}=Fe({sendAutomaticallyWhen:({messages:r})=>Ee(r),transport:new ze({fetch:async(r,N)=>{var H;if(N===void 0)return fetch(r);let k=JSON.parse(N.body),S=N.signal,J={max_tokens:l.current.max_tokens,temperature:l.current.temperature,top_p:l.current.top_p,top_k:l.current.top_k,frequency_penalty:l.current.frequency_penalty,presence_penalty:l.current.presence_penalty};try{let L=k.messages.map(D=>{var E;return{...D,content:(E=D.parts)==null?void 0:E.map(I=>"text"in I?I.text:"").join(`
1
+ import{s as W}from"./chunk-LvLJmgfZ.js";import"./useEvent-D91BmmQi.js";import{t as le}from"./react-Bj1aDYRI.js";import{un as oe}from"./cells-DZEvA3zb.js";import"./react-dom-CSu739Rf.js";import{C as ie,P as me,R as ce,T as pe,k as de}from"./zod-H_cgTO0M.js";import{t as ue}from"./compiler-runtime-B3qBwwSJ.js";import{_ as P,d as he,t as xe}from"./useEventListener-BakX-tnw.js";import{t as X}from"./cn-X2M2usMq.js";import{t as fe}from"./jsx-runtime-PbYoItBR.js";import"./fullscreen-BXI8V5i6.js";import{i as ge,l as be,r as Y,t as Z}from"./popover-DMNO6Poc.js";import{a as je,p as ve,r as ye,t as Ne}from"./dropdown-menu-DfGLyCbP.js";import{t as U}from"./label-CFvCMYuj.js";import{t as K}from"./tooltip-CgQpRVyN.js";import{t as z}from"./button-BF7GSjhW.js";import"./dist-Dez1I5M9.js";import"./cjs-DXo9vDEJ.js";import"./main-DmhaVp6Y.js";import"./useNonce-0SWz6w4W.js";import{t as we}from"./strings-DvZlHYnD.js";import{t as _e}from"./createLucideIcon-BTp1tQDO.js";import{t as Ce}from"./bot-message-square-AslRbAeb.js";import{t as ke}from"./x-9vLEgLY6.js";import"./markdown-renderer-duAFwqLF.js";import{u as Se}from"./toDate-DCE7d2fN.js";import{t as Re}from"./chat-display-C2X2R6le.js";import{B as Ae,F as qe,N as ze,_ as Ee,j as Fe,m as Te,n as De,z as Me}from"./add-cell-with-ai-nJKSBAPb.js";import{t as $e}from"./spinner-DTBVbtl-.js";import{o as He,r as Ie}from"./input-b2KTOk0X.js";import{t as Le}from"./settings-Cn43l_vx.js";import{t as Oe}from"./square-DPWHdF_-.js";import{t as Pe}from"./trash-2-CjPoUZCP.js";import"./dist-DHMtQYxT.js";import"./dist-Bj9Iedc0.js";import"./dist-D-o1OXc9.js";import"./dist-BZhJ1bTM.js";import"./dist-DnIl7RU-.js";import{t as Ve}from"./uuid-BukULOeS.js";import"./session-B6_8umQX.js";import"./purify.es-DdxMtdqK.js";import{t as Je}from"./copy-icon-BCIGtBo0.js";import{r as Ke}from"./react-icons.esm-C2u-_EAQ.js";import{t as Be}from"./events-BRbNg7Li.js";import{n as Ge}from"./error-banner-C4DZksWV.js";import"./chunk-5FQGJX7Z-C6VN0dQj.js";import"./html-to-image-DY_stEj0.js";import{n as We}from"./useAsyncData-CT1LpOBD.js";import"./esm-DSv-aO_T.js";var Xe=_e("rotate-cw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]),B=ue(),t=W(fe(),1),v=W(le(),1),Ye=be,Ze=me({type:de("stream_chunk"),message_id:ce(),content:ie().nullable().transform(s=>s),is_final:pe().optional()});function Q(s,e){let{controllerRef:o,activeRequestIdRef:d}=e,f=o.current;if(f===null)return"dropped-no-controller";let b=d.current;return b!==null&&s.message_id!==b?(P.debug("Dropping stale chat chunk",{chunkRequestId:s.message_id,activeRequestId:b}),"dropped-stale"):(s.content&&f.enqueue(s.content),s.is_final?(f.close(),o.current=null,d.current=null,"closed"):"enqueued")}const Ue=s=>{var G;let[e,o]=(0,v.useState)(""),[d,f]=(0,v.useState)(s.config),[b,p]=(0,v.useState)(s.config),[i,g]=(0,v.useState)(void 0),x=(0,v.useRef)(null),j=(0,v.useRef)(null),y=(0,v.useRef)(null),m=(0,v.useRef)(null);Object.keys(s.config).some(r=>s.config[r]!==b[r])&&(f(s.config),p(s.config));let l=(0,v.useRef)(d);l.current=d;let c=(0,v.useRef)(null),a=(0,v.useRef)(null),{data:u}=We(async()=>(await s.get_chat_history({})).messages,[]),n=s.value.length>0?s.value:u,{messages:h,sendMessage:w,setMessages:q,status:R,stop:M,error:_,regenerate:A,clearError:C,addToolApprovalResponse:$}=Fe({sendAutomaticallyWhen:({messages:r})=>Ee(r),transport:new ze({fetch:async(r,N)=>{var H;if(N===void 0)return fetch(r);let k=JSON.parse(N.body),S=N.signal,J={max_tokens:l.current.max_tokens,temperature:l.current.temperature,top_p:l.current.top_p,top_k:l.current.top_k,frequency_penalty:l.current.frequency_penalty,presence_penalty:l.current.presence_penalty};try{let L=k.messages.map(D=>{var E;return{...D,content:(E=D.parts)==null?void 0:E.map(I=>"text"in I?I.text:"").join(`
2
2
  `)}}),O=Ve(),ne=new ReadableStream({start(D){c.current=D,a.current=O;let E=()=>{try{D.close()}catch(I){P.debug("Controller may already be closed",{error:I})}c.current=null,a.current=null,s.cancel_prompt({request_id:O}).catch(I=>{P.debug("cancel_prompt failed",{error:I})})};return S==null||S.addEventListener("abort",E),()=>{S==null||S.removeEventListener("abort",E)}},cancel(){c.current=null,a.current=null}});return s.send_prompt({request_id:O,messages:L,config:J}).catch(D=>{var E;(E=c.current)==null||E.error(D),c.current=null,a.current=null}),qe({stream:ne})}catch(L){if(L instanceof Error&&L.name==="AbortError")return new Response("Aborted",{status:499});let O=(H=L.message)==null?void 0:H.split("failed with exception ").pop();return new Response(O,{status:400})}}}),messages:n,onFinish:r=>{g(void 0),x.current&&(x.current.value=""),P.debug("Finished streaming message:",r),s.setValue(r.messages)},onError:r=>{P.error("An error occurred:",r)}});xe(s.host,Be.TYPE,r=>{let N=Ze.safeParse(r.detail.message);N.success&&Q(N.data,{controllerRef:c,activeRequestIdRef:a})});let F=R==="submitted"||R==="streaming",ee=r=>{let N=h.findIndex(k=>k.id===r);if(N!==-1){let k=h.filter(S=>S.id!==r);s.delete_chat_message({index:N}),q(k),s.setValue(k)}},te=Array.isArray(s.allowAttachments)&&s.allowAttachments.length>0||s.allowAttachments===!0,se={triggerCompletionRegex:/^\/(\w+)?/,completions:s.prompts.map(r=>({label:`/${r}`,displayLabel:r,apply:r}))},re=s.prompts.length>0?"Type your message here, / for prompts":"Type your message here...";(0,v.useEffect)(()=>{var r;(r=m.current)==null||r.scrollTo({top:m.current.scrollHeight,behavior:"smooth"})},[h.length,m]);let T=(G=y.current)==null?void 0:G.view,ae=()=>{if(T){let r=T.state.doc.length;T.dispatch({changes:{from:0,to:r,insert:""}})}o("")};return(0,t.jsxs)("div",{className:"flex flex-col h-full bg-(--slate-1) rounded-lg shadow border border-(--slate-6) overflow-hidden relative",style:{maxHeight:s.maxHeight},children:[(0,t.jsx)("div",{className:"absolute top-0 right-0 flex justify-end z-10 border border-(--slate-6) bg-inherit rounded-bl-lg",children:(0,t.jsx)(z,{variant:"text",size:"icon",disabled:h.length===0,onClick:()=>{q([]),s.setValue([]),s.delete_chat_history({}),C()},children:(0,t.jsx)(Xe,{className:"h-3 w-3"})})}),(0,t.jsxs)("div",{className:"grow overflow-y-auto gap-4 pt-8 pb-4 px-2 flex flex-col",ref:m,children:[h.length===0&&(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground text-center p-4",children:[(0,t.jsx)(Ce,{className:"h-12 w-12 mb-4"}),(0,t.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"No messages yet"}),(0,t.jsx)("p",{className:"text-sm",children:"Start a conversation by typing a message below."})]}),h.map((r,N)=>{var J;let k=(J=r.parts)==null?void 0:J.filter(H=>H.type==="text").map(H=>H.text).join(`
3
3
  `),S=N===h.length-1;return(0,t.jsxs)("div",{className:X("flex flex-col group gap-2",r.role==="user"?"items-end":"items-start"),children:[(0,t.jsx)("div",{className:`max-w-[80%] p-3 rounded-lg ${r.role==="user"?"bg-(--sky-11) text-(--slate-1) whitespace-pre-wrap":"bg-(--slate-4) text-(--slate-12)"}`,children:Re({message:r,isStreamingReasoning:R==="streaming",isLast:S,isActive:F,addToolApprovalResponse:S?$:void 0})}),(0,t.jsxs)("div",{className:"flex justify-end text-xs gap-2 invisible group-hover:visible",children:[(0,t.jsx)(Je,{value:k,className:"h-3 w-3",buttonClassName:"text-xs text-(--slate-9) hover:text-(--slate-11)"}),(0,t.jsx)("button",{type:"button",onClick:()=>ee(r.id),className:"text-xs text-(--slate-9) hover:text-(--slate-11)",children:(0,t.jsx)(Pe,{className:"h-3 w-3 text-(--red-9)"})})]})]},`${r.id}-${N}`)}),F&&(0,t.jsx)("div",{className:"flex items-center justify-center mb-4",children:(0,t.jsx)($e,{size:"small"})}),_&&(0,t.jsxs)("div",{className:"flex items-center justify-center space-x-2 mb-4",children:[(0,t.jsx)(Ge,{error:_}),(0,t.jsx)(z,{variant:"outline",size:"sm",onClick:()=>A(),children:"Retry"})]})]}),(0,t.jsxs)("form",{onSubmit:async r=>{if(r.preventDefault(),s.disabled)return;let N=i?await Te(i):void 0;w({role:"user",parts:[{type:"text",text:e},...N??[]]}),ae()},ref:j,inert:s.disabled||void 0,className:X("flex w-full border-t border-(--slate-6) px-2 py-1 items-center",s.disabled&&"opacity-50 cursor-not-allowed"),children:[s.showConfigurationControls&&(0,t.jsx)(Qe,{config:d,onChange:f}),s.prompts.length>0&&(0,t.jsx)(et,{prompts:s.prompts,onSelect:r=>{o(r),requestAnimationFrame(()=>{T==null||T.focus(),oe(T)})}}),(0,t.jsx)(De,{className:"rounded-sm mr-2",placeholder:re,value:e,inputRef:y,maxHeight:s.maxHeight?`${s.maxHeight/2}px`:void 0,onChange:o,onSubmit:(r,N)=>{var k;N.trim()&&((k=j.current)==null||k.requestSubmit())},onClose:()=>{},additionalCompletions:se}),i&&i.length===1&&(0,t.jsx)("span",{title:i[0].name,className:"text-sm text-(--slate-11) truncate shrink-0 w-fit max-w-24",children:i[0].name}),i&&i.length>1&&(0,t.jsxs)("span",{title:[...i].map(r=>r.name).join(`
4
4
  `),className:"text-sm text-(--slate-11) truncate shrink-0",children:[i.length," files"]}),i&&i.length>0&&(0,t.jsx)(z,{type:"button",variant:"text",size:"sm",onClick:()=>{g(void 0),x.current&&(x.current.value="")},children:(0,t.jsx)(ke,{className:"size-3"})}),te&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(z,{type:"button",variant:"text",size:"sm",onClick:()=>{var r;return(r=x.current)==null?void 0:r.click()},children:(0,t.jsx)(Ae,{className:"h-4"})}),(0,t.jsx)("input",{type:"file",ref:x,className:"hidden",multiple:!0,accept:Array.isArray(s.allowAttachments)?s.allowAttachments.join(","):void 0,onChange:r=>{r.target.files&&g([...r.target.files])}})]}),F?(0,t.jsx)(K,{content:"Stop generating",children:(0,t.jsx)(z,{type:"button",variant:"link",size:"xs",onClick:()=>M(),className:"text-(--red-9) hover:text-(--red-11)",children:(0,t.jsx)(Oe,{className:"h-4 w-4 fill-current"})})}):(0,t.jsx)(z,{type:"submit",disabled:!e,variant:"outline",size:"xs",className:"text-(--slate-11)","aria-label":"Send message",children:(0,t.jsx)(Me,{className:"h-4 w-4"})})]})]})};var V={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)"}},Qe=s=>{let e=(0,B.c)(16),{config:o,onChange:d}=s,[f,b]=(0,v.useState)(!1),p;e[0]!==o||e[1]!==d?(p=(a,u)=>{let n=u===null||Number.isNaN(u)?null:u;if(n!==null){let{min:h,max:w}=V[a];n=Math.max(h,Math.min(w,n))}d({...o,[a]:n})},e[0]=o,e[1]=d,e[2]=p):p=e[2];let i=p,g;e[3]===Symbol.for("react.memo_cache_sentinel")?(g=a=>{a.key==="Enter"&&(a.preventDefault(),b(!1))},e[3]=g):g=e[3];let x=g,j;e[4]===Symbol.for("react.memo_cache_sentinel")?(j=(0,t.jsx)(K,{content:"Configuration",children:(0,t.jsx)(ge,{asChild:!0,children:(0,t.jsx)(z,{variant:"outline",size:"sm",className:"border-none shadow-none hover:bg-transparent",children:(0,t.jsx)(Le,{className:"h-3 w-3"})})})}),e[4]=j):j=e[4];let y;e[5]===Symbol.for("react.memo_cache_sentinel")?(y=(0,t.jsx)("h4",{className:"font-bold leading-none",children:"Configuration"}),e[5]=y):y=e[5];let m;if(e[6]!==o||e[7]!==i){let a;e[9]===i?a=e[10]:(a=u=>{let[n,h]=u;return(0,t.jsxs)("div",{className:"grid grid-cols-3 items-center gap-1",children:[(0,t.jsxs)(U,{htmlFor:n,className:"flex w-full justify-between col-span-3 align-end",children:[we.startCase(n),(0,t.jsx)(K,{delayDuration:200,side:"top",content:(0,t.jsx)("div",{className:"text-xs flex flex-col",children:V[n].description}),children:(0,t.jsx)(Se,{className:"h-3 w-3 cursor-help text-muted-foreground hover:text-foreground"})})]}),(0,t.jsx)(He,{id:n,"aria-label":n,value:h??NaN,placeholder:"null",minValue:V[n].min,maxValue:V[n].max,step:V[n].step??1,onChange:w=>i(n,w),onKeyDown:x,className:"col-span-3"})]},n)},e[9]=i,e[10]=a),m=he.entries(o).map(a),e[6]=o,e[7]=i,e[8]=m}else m=e[8];let l;e[11]===m?l=e[12]:(l=(0,t.jsx)(Y,{className:"w-70 border",children:(0,t.jsxs)("div",{className:"grid gap-3",children:[y,m]})}),e[11]=m,e[12]=l);let c;return e[13]!==f||e[14]!==l?(c=(0,t.jsxs)(Z,{open:f,onOpenChange:b,children:[j,l]}),e[13]=f,e[14]=l,e[15]=c):c=e[15],c},et=s=>{let e=(0,B.c)(18),{prompts:o,onSelect:d}=s,[f,b]=(0,v.useState)(!1),[p,i]=(0,v.useState)(""),g;e[0]===d?g=e[1]:(g=u=>{[...u.matchAll(/{{(\w+)}}/g)].length>0?(i(u),b(!0)):d(u)},e[0]=d,e[1]=g);let x=g,j;e[2]===Symbol.for("react.memo_cache_sentinel")?(j=(0,t.jsx)(K,{content:"Select a prompt",children:(0,t.jsx)(ve,{asChild:!0,children:(0,t.jsx)(z,{variant:"outline",size:"sm",className:"border-none shadow-none hover:bg-transparent",children:(0,t.jsx)(Ke,{className:"h-3 w-3"})})})}),e[2]=j):j=e[2];let y;if(e[3]!==x||e[4]!==o){let u;e[6]===x?u=e[7]:(u=(n,h)=>(0,t.jsx)(je,{onSelect:()=>x(n),className:"whitespace-normal text-left",children:n},h),e[6]=x,e[7]=u),y=o.map(u),e[3]=x,e[4]=o,e[5]=y}else y=e[5];let m;e[8]===y?m=e[9]:(m=(0,t.jsx)(Ye,{children:(0,t.jsxs)(Ne,{children:[j,(0,t.jsx)(ye,{side:"right",align:"end",onCloseAutoFocus:st,className:"w-64 max-h-96 overflow-y-auto",children:y})]})}),e[8]=y,e[9]=m);let l;e[10]===Symbol.for("react.memo_cache_sentinel")?(l=()=>b(!1),e[10]=l):l=e[10];let c;e[11]!==d||e[12]!==p?(c=(0,t.jsx)(Y,{side:"right",align:"end",className:"min-w-80 px-2",children:(0,t.jsx)(tt,{prompt:p,onClose:l,onSelect:d})}),e[11]=d,e[12]=p,e[13]=c):c=e[13];let a;return e[14]!==f||e[15]!==m||e[16]!==c?(a=(0,t.jsxs)(Z,{open:f,onOpenChange:b,children:[m,c]}),e[14]=f,e[15]=m,e[16]=c,e[17]=a):a=e[17],a},tt=s=>{let e=(0,B.c)(32),{prompt:o,onClose:d,onSelect:f}=s,b;e[0]===Symbol.for("react.memo_cache_sentinel")?(b={},e[0]=b):b=e[0];let[p,i]=(0,v.useState)(b),g,x;e[1]===o?(g=e[2],x=e[3]):(g=()=>{i([...o.matchAll(/{{(\w+)}}/g)].reduce(rt,{}))},x=[o],e[1]=o,e[2]=g,e[3]=x),(0,v.useEffect)(g,x);let j;e[4]===Symbol.for("react.memo_cache_sentinel")?(j=(_,A)=>{i(C=>({...C,[_]:A}))},e[4]=j):j=e[4];let y=j,m;if(e[5]!==o||e[6]!==p){let _;e[8]===Symbol.for("react.memo_cache_sentinel")?(_=/{{(\w+)}}/g,e[8]=_):_=e[8];let A;e[9]===p?A=e[10]:(A=(C,$)=>p[$]||`{{${$}}}`,e[9]=p,e[10]=A),m=o.replaceAll(_,A),e[5]=o,e[6]=p,e[7]=m}else m=e[7];let l=m,c;e[11]===p?c=e[12]:(c=Object.values(p).some(at),e[11]=p,e[12]=c);let a=c,u;e[13]!==d||e[14]!==f||e[15]!==l?(u=()=>{f(l),d()},e[13]=d,e[14]=f,e[15]=l,e[16]=u):u=e[16];let n=u,h;e[17]===p?h=e[18]:(h=Object.entries(p),e[17]=p,e[18]=h);let w;e[19]!==n||e[20]!==a||e[21]!==h?(w=h.map((_,A)=>{let[C,$]=_;return(0,t.jsxs)("div",{className:"grid grid-cols-4 items-center gap-2",children:[(0,t.jsx)(U,{htmlFor:C,className:"font-semibold text-base",children:C}),(0,t.jsx)(Ie,{id:C,value:$,onChange:F=>y(C,F.target.value),rootClassName:"col-span-3 w-full",className:"m-0",placeholder:`Enter value for ${C}`,autoFocus:A===0,onKeyDown:F=>{F.key==="Enter"&&!a&&n()}})]},C)}),e[19]=n,e[20]=a,e[21]=h,e[22]=w):w=e[22];let q;e[23]===l?q=e[24]:(q=(0,t.jsx)("div",{className:"grid gap-2 prose dark:prose-invert",children:(0,t.jsx)("blockquote",{className:"text-sm",children:l})}),e[23]=l,e[24]=q);let R;e[25]!==n||e[26]!==a?(R=(0,t.jsx)(z,{onClick:n,size:"xs",disabled:a,children:"Submit"}),e[25]=n,e[26]=a,e[27]=R):R=e[27];let M;return e[28]!==q||e[29]!==R||e[30]!==w?(M=(0,t.jsxs)("div",{className:"grid gap-4",children:[w,q,R]}),e[28]=q,e[29]=R,e[30]=w,e[31]=M):M=e[31],M};function st(s){return s.preventDefault()}function rt(s,e){return s[e[1]]="",s}function at(s){return s==null||s.trim()===""}export{Ue as Chatbot,Q as routeIncomingChatChunk};
@@ -1 +1 @@
1
- import{s as D}from"./chunk-LvLJmgfZ.js";import{u as F}from"./useEvent-D91BmmQi.js";import{t as R}from"./react-Bj1aDYRI.js";import{D as U,Jr as G,Ur as H,qr as I}from"./cells-DQ5n6Zef.js";import{t as K}from"./compiler-runtime-B3qBwwSJ.js";import{c as V}from"./utils-Dev6I_Kv.js";import{t as W}from"./jsx-runtime-PbYoItBR.js";import{c as X,d as Y,vt as Z}from"./JsonOutput-DTeVFctC.js";import{t as L}from"./tooltip-CgQpRVyN.js";import{r as A,t as q}from"./button-BF7GSjhW.js";import{r as $}from"./requests-KshNNAOp.js";import{t as ee}from"./createLucideIcon-BTp1tQDO.js";import{t as te}from"./useLifecycle-Baf35rp4.js";import{t as ae}from"./spinner-DTBVbtl-.js";import{r as re}from"./useTheme-CWoNQwFz.js";import{t as se}from"./copy-icon-BCIGtBo0.js";import{t as oe}from"./context-DE_5rdOV.js";import{i as ne}from"./numbers-BKZTJMZ6.js";import{n as ce}from"./html-to-image-CmK-WSPG.js";import{o as le}from"./focus-Dol5ybck.js";var P=ee("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"}]]),M=K(),ie=D(R(),1),s=D(W(),1);const me=i=>{let e=(0,M.c)(53),{table:t,column:a,preview:r,onAddColumnChart:c,sqlTableContext:n}=i,{theme:u}=re(),{previewDatasetColumn:l}=$(),{locale:d}=oe(),m;e[0]!==a.name||e[1]!==l||e[2]!==n||e[3]!==t.name||e[4]!==t.source||e[5]!==t.source_type?(m=()=>{l({source:t.source,tableName:t.name,columnName:a.name,sourceType:t.source_type,fullyQualifiedTableName:G(n,t.name)})},e[0]=a.name,e[1]=l,e[2]=n,e[3]=t.name,e[4]=t.source,e[5]=t.source_type,e[6]=m):m=e[6];let p=m,h;if(e[7]!==r||e[8]!==p||e[9]!==t.source_type?(h=()=>{r||t.source_type==="connection"||t.source_type==="catalog"||p()},e[7]=r,e[8]=p,e[9]=t.source_type,e[10]=h):h=e[10],te(h),t.source_type==="connection"){let o=a.name,E=a.external_type,x;e[11]!==a.name||e[12]!==c||e[13]!==n||e[14]!==t?(x=A.stopPropagation(()=>{c(I({table:t,columnName:a.name,sqlTableContext:n}))}),e[11]=a.name,e[12]=c,e[13]=n,e[14]=t,e[15]=x):x=e[15];let C;e[16]===Symbol.for("react.memo_cache_sentinel")?(C=(0,s.jsx)(P,{className:"h-3 w-3 mr-1"}),e[16]=C):C=e[16];let f;e[17]===x?f=e[18]:(f=(0,s.jsxs)(q,{variant:"outline",size:"xs",onClick:x,children:[C," Add SQL cell"]}),e[17]=x,e[18]=f);let S;return e[19]!==a.external_type||e[20]!==a.name||e[21]!==f?(S=(0,s.jsxs)("span",{className:"text-xs text-muted-foreground gap-2 flex items-center justify-between pl-7",children:[o," (",E,")",f]}),e[19]=a.external_type,e[20]=a.name,e[21]=f,e[22]=S):S=e[22],S}if(t.source_type==="catalog"){let o;return e[23]!==a.external_type||e[24]!==a.name?(o=(0,s.jsxs)("span",{className:"text-xs text-muted-foreground gap-2 flex items-center justify-between pl-7",children:[a.name," (",a.external_type,")"]}),e[23]=a.external_type,e[24]=a.name,e[25]=o):o=e[25],o}if(!r){let o;return e[26]===Symbol.for("react.memo_cache_sentinel")?(o=(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:"Loading..."}),e[26]=o):o=e[26],o}let g;e[27]!==r.error||e[28]!==r.missing_packages||e[29]!==p?(g=r.error&&O({error:r.error,missingPackages:r.missing_packages,refetchPreview:p}),e[27]=r.error,e[28]=r.missing_packages,e[29]=p,e[30]=g):g=e[30];let y=g,_;e[31]!==a.type||e[32]!==d||e[33]!==r.stats?(_=r.stats&&Q({stats:r.stats,dataType:a.type,locale:d}),e[31]=a.type,e[32]=d,e[33]=r.stats,e[34]=_):_=e[34];let b=_,j;e[35]!==r.chart_spec||e[36]!==u?(j=r.chart_spec&&J(r.chart_spec,u),e[35]=r.chart_spec,e[36]=u,e[37]=j):j=e[37];let N=j,k;e[38]!==r.chart_code||e[39]!==t.source_type?(k=r.chart_code&&t.source_type==="local"&&(0,s.jsx)(B,{chartCode:r.chart_code}),e[38]=r.chart_code,e[39]=t.source_type,e[40]=k):k=e[40];let T=k,v;e[41]!==a.name||e[42]!==c||e[43]!==n||e[44]!==t?(v=t.source_type==="duckdb"&&(0,s.jsx)(L,{content:"Add SQL cell",delayDuration:400,children:(0,s.jsx)(q,{variant:"outline",size:"icon",className:"z-10 bg-background absolute right-1 -top-1",onClick:A.stopPropagation(()=>{c(I({table:t,columnName:a.name,sqlTableContext:n}))}),children:(0,s.jsx)(P,{className:"h-3 w-3"})})}),e[41]=a.name,e[42]=c,e[43]=n,e[44]=t,e[45]=v):v=e[45];let z=v;if(!y&&!b&&!N){let o;return e[46]===Symbol.for("react.memo_cache_sentinel")?(o=(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:"No data"}),e[46]=o):o=e[46],o}let w;return e[47]!==T||e[48]!==z||e[49]!==N||e[50]!==y||e[51]!==b?(w=(0,s.jsxs)(Y,{children:[y,T,z,N,b]}),e[47]=T,e[48]=z,e[49]=N,e[50]=y,e[51]=b,e[52]=w):w=e[52],w};function O({error:i,missingPackages:e,refetchPreview:t}){return(0,s.jsxs)("div",{className:"text-xs text-muted-foreground p-2 border border-border rounded flex items-center justify-between",children:[(0,s.jsx)("span",{children:i}),e&&(0,s.jsx)(X,{packages:e,showMaxPackages:1,className:"w-32",onInstall:t})]})}function Q({stats:i,dataType:e,locale:t}){return(0,s.jsx)("div",{className:"gap-x-16 gap-y-1 grid grid-cols-2-fit border rounded p-2 empty:hidden",children:Object.entries(i).map(([a,r])=>r==null?null:(0,s.jsxs)("div",{className:"flex items-center gap-1 group",children:[(0,s.jsx)("span",{className:"text-xs min-w-[60px] capitalize",children:H(a,e)}),(0,s.jsx)("span",{className:"text-xs font-bold text-muted-foreground tracking-wide",children:ne(r,t)}),(0,s.jsx)(se,{className:"h-3 w-3 invisible group-hover:visible",value:String(r)})]},a))})}var pe=(0,s.jsx)("div",{className:"flex justify-center",children:(0,s.jsx)(ae,{className:"size-4"})});function J(i,e){let t=a=>({...a,background:"transparent",config:{...a.config,background:"transparent"}});return(0,s.jsx)(ie.Suspense,{fallback:pe,children:(0,s.jsx)(Z,{"data-container-width":"container",spec:t(JSON.parse(i)),options:{theme:e==="dark"?"dark":"vox",height:100,width:"container",actions:!1,renderer:"canvas"}})})}const B=i=>{let e=(0,M.c)(10),{chartCode:t}=i,a=F(V),r=le(),{createNewCell:c}=U(),n;e[0]!==a||e[1]!==c||e[2]!==r?(n=p=>{p.includes("alt")&&ce({autoInstantiate:a,createNewCell:c,fromCellId:r}),c({code:p,before:!1,cellId:r??"__end__"})},e[0]=a,e[1]=c,e[2]=r,e[3]=n):n=e[3];let u=n,l;e[4]!==t||e[5]!==u?(l=A.stopPropagation(()=>u(t)),e[4]=t,e[5]=u,e[6]=l):l=e[6];let d;e[7]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsx)(P,{className:"h-3 w-3"}),e[7]=d):d=e[7];let m;return e[8]===l?m=e[9]:(m=(0,s.jsx)(L,{content:"Add chart to notebook",delayDuration:400,children:(0,s.jsx)(q,{variant:"outline",size:"icon",className:"z-10 bg-background absolute right-1 -top-0.5",onClick:l,children:d})}),e[8]=l,e[9]=m),m};export{Q as a,O as i,me as n,P as o,J as r,B as t};
1
+ import{s as D}from"./chunk-LvLJmgfZ.js";import{u as F}from"./useEvent-D91BmmQi.js";import{t as R}from"./react-Bj1aDYRI.js";import{D as U,Jr as G,Ur as H,qr as I}from"./cells-DZEvA3zb.js";import{t as K}from"./compiler-runtime-B3qBwwSJ.js";import{c as V}from"./utils-Dev6I_Kv.js";import{t as W}from"./jsx-runtime-PbYoItBR.js";import{c as X,d as Y,vt as Z}from"./JsonOutput-BfDKMXVF.js";import{t as L}from"./tooltip-CgQpRVyN.js";import{r as A,t as q}from"./button-BF7GSjhW.js";import{r as $}from"./requests-KshNNAOp.js";import{t as ee}from"./createLucideIcon-BTp1tQDO.js";import{t as te}from"./useLifecycle-Baf35rp4.js";import{t as ae}from"./spinner-DTBVbtl-.js";import{r as re}from"./useTheme-CWoNQwFz.js";import{t as se}from"./copy-icon-BCIGtBo0.js";import{t as oe}from"./context-DE_5rdOV.js";import{i as ne}from"./numbers-BKZTJMZ6.js";import{n as ce}from"./html-to-image-DY_stEj0.js";import{o as le}from"./focus-DHgSYMb6.js";var P=ee("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"}]]),M=K(),ie=D(R(),1),s=D(W(),1);const me=i=>{let e=(0,M.c)(53),{table:t,column:a,preview:r,onAddColumnChart:c,sqlTableContext:n}=i,{theme:u}=re(),{previewDatasetColumn:l}=$(),{locale:d}=oe(),m;e[0]!==a.name||e[1]!==l||e[2]!==n||e[3]!==t.name||e[4]!==t.source||e[5]!==t.source_type?(m=()=>{l({source:t.source,tableName:t.name,columnName:a.name,sourceType:t.source_type,fullyQualifiedTableName:G(n,t.name)})},e[0]=a.name,e[1]=l,e[2]=n,e[3]=t.name,e[4]=t.source,e[5]=t.source_type,e[6]=m):m=e[6];let p=m,h;if(e[7]!==r||e[8]!==p||e[9]!==t.source_type?(h=()=>{r||t.source_type==="connection"||t.source_type==="catalog"||p()},e[7]=r,e[8]=p,e[9]=t.source_type,e[10]=h):h=e[10],te(h),t.source_type==="connection"){let o=a.name,E=a.external_type,x;e[11]!==a.name||e[12]!==c||e[13]!==n||e[14]!==t?(x=A.stopPropagation(()=>{c(I({table:t,columnName:a.name,sqlTableContext:n}))}),e[11]=a.name,e[12]=c,e[13]=n,e[14]=t,e[15]=x):x=e[15];let C;e[16]===Symbol.for("react.memo_cache_sentinel")?(C=(0,s.jsx)(P,{className:"h-3 w-3 mr-1"}),e[16]=C):C=e[16];let f;e[17]===x?f=e[18]:(f=(0,s.jsxs)(q,{variant:"outline",size:"xs",onClick:x,children:[C," Add SQL cell"]}),e[17]=x,e[18]=f);let S;return e[19]!==a.external_type||e[20]!==a.name||e[21]!==f?(S=(0,s.jsxs)("span",{className:"text-xs text-muted-foreground gap-2 flex items-center justify-between pl-7",children:[o," (",E,")",f]}),e[19]=a.external_type,e[20]=a.name,e[21]=f,e[22]=S):S=e[22],S}if(t.source_type==="catalog"){let o;return e[23]!==a.external_type||e[24]!==a.name?(o=(0,s.jsxs)("span",{className:"text-xs text-muted-foreground gap-2 flex items-center justify-between pl-7",children:[a.name," (",a.external_type,")"]}),e[23]=a.external_type,e[24]=a.name,e[25]=o):o=e[25],o}if(!r){let o;return e[26]===Symbol.for("react.memo_cache_sentinel")?(o=(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:"Loading..."}),e[26]=o):o=e[26],o}let g;e[27]!==r.error||e[28]!==r.missing_packages||e[29]!==p?(g=r.error&&O({error:r.error,missingPackages:r.missing_packages,refetchPreview:p}),e[27]=r.error,e[28]=r.missing_packages,e[29]=p,e[30]=g):g=e[30];let y=g,_;e[31]!==a.type||e[32]!==d||e[33]!==r.stats?(_=r.stats&&Q({stats:r.stats,dataType:a.type,locale:d}),e[31]=a.type,e[32]=d,e[33]=r.stats,e[34]=_):_=e[34];let b=_,j;e[35]!==r.chart_spec||e[36]!==u?(j=r.chart_spec&&J(r.chart_spec,u),e[35]=r.chart_spec,e[36]=u,e[37]=j):j=e[37];let N=j,k;e[38]!==r.chart_code||e[39]!==t.source_type?(k=r.chart_code&&t.source_type==="local"&&(0,s.jsx)(B,{chartCode:r.chart_code}),e[38]=r.chart_code,e[39]=t.source_type,e[40]=k):k=e[40];let T=k,v;e[41]!==a.name||e[42]!==c||e[43]!==n||e[44]!==t?(v=t.source_type==="duckdb"&&(0,s.jsx)(L,{content:"Add SQL cell",delayDuration:400,children:(0,s.jsx)(q,{variant:"outline",size:"icon",className:"z-10 bg-background absolute right-1 -top-1",onClick:A.stopPropagation(()=>{c(I({table:t,columnName:a.name,sqlTableContext:n}))}),children:(0,s.jsx)(P,{className:"h-3 w-3"})})}),e[41]=a.name,e[42]=c,e[43]=n,e[44]=t,e[45]=v):v=e[45];let z=v;if(!y&&!b&&!N){let o;return e[46]===Symbol.for("react.memo_cache_sentinel")?(o=(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:"No data"}),e[46]=o):o=e[46],o}let w;return e[47]!==T||e[48]!==z||e[49]!==N||e[50]!==y||e[51]!==b?(w=(0,s.jsxs)(Y,{children:[y,T,z,N,b]}),e[47]=T,e[48]=z,e[49]=N,e[50]=y,e[51]=b,e[52]=w):w=e[52],w};function O({error:i,missingPackages:e,refetchPreview:t}){return(0,s.jsxs)("div",{className:"text-xs text-muted-foreground p-2 border border-border rounded flex items-center justify-between",children:[(0,s.jsx)("span",{children:i}),e&&(0,s.jsx)(X,{packages:e,showMaxPackages:1,className:"w-32",onInstall:t})]})}function Q({stats:i,dataType:e,locale:t}){return(0,s.jsx)("div",{className:"gap-x-16 gap-y-1 grid grid-cols-2-fit border rounded p-2 empty:hidden",children:Object.entries(i).map(([a,r])=>r==null?null:(0,s.jsxs)("div",{className:"flex items-center gap-1 group",children:[(0,s.jsx)("span",{className:"text-xs min-w-[60px] capitalize",children:H(a,e)}),(0,s.jsx)("span",{className:"text-xs font-bold text-muted-foreground tracking-wide",children:ne(r,t)}),(0,s.jsx)(se,{className:"h-3 w-3 invisible group-hover:visible",value:String(r)})]},a))})}var pe=(0,s.jsx)("div",{className:"flex justify-center",children:(0,s.jsx)(ae,{className:"size-4"})});function J(i,e){let t=a=>({...a,background:"transparent",config:{...a.config,background:"transparent"}});return(0,s.jsx)(ie.Suspense,{fallback:pe,children:(0,s.jsx)(Z,{"data-container-width":"container",spec:t(JSON.parse(i)),options:{theme:e==="dark"?"dark":"vox",height:100,width:"container",actions:!1,renderer:"canvas"}})})}const B=i=>{let e=(0,M.c)(10),{chartCode:t}=i,a=F(V),r=le(),{createNewCell:c}=U(),n;e[0]!==a||e[1]!==c||e[2]!==r?(n=p=>{p.includes("alt")&&ce({autoInstantiate:a,createNewCell:c,fromCellId:r}),c({code:p,before:!1,cellId:r??"__end__"})},e[0]=a,e[1]=c,e[2]=r,e[3]=n):n=e[3];let u=n,l;e[4]!==t||e[5]!==u?(l=A.stopPropagation(()=>u(t)),e[4]=t,e[5]=u,e[6]=l):l=e[6];let d;e[7]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsx)(P,{className:"h-3 w-3"}),e[7]=d):d=e[7];let m;return e[8]===l?m=e[9]:(m=(0,s.jsx)(L,{content:"Add chart to notebook",delayDuration:400,children:(0,s.jsx)(q,{variant:"outline",size:"icon",className:"z-10 bg-background absolute right-1 -top-0.5",onClick:l,children:d})}),e[8]=l,e[9]=m),m};export{Q as a,O as i,me as n,P as o,J as r,B as t};
@@ -1 +1 @@
1
- import{s as U}from"./chunk-LvLJmgfZ.js";import{l as X,u as V}from"./useEvent-D91BmmQi.js";import{t as Y}from"./react-Bj1aDYRI.js";import{Di as Z}from"./cells-DQ5n6Zef.js";import"./react-dom-CSu739Rf.js";import{t as O}from"./compiler-runtime-B3qBwwSJ.js";import{S as ee}from"./ai-model-dropdown-DVeTiOGS.js";import{d as le,h as te,t as ie,u as ae}from"./useEventListener-BakX-tnw.js";import{b as oe,h as ne,x as re}from"./utils-Dev6I_Kv.js";import{t as de}from"./jsx-runtime-PbYoItBR.js";import"./fullscreen-BXI8V5i6.js";import"./popover-DMNO6Poc.js";import"./JsonOutput-DTeVFctC.js";import"./download-rKGlekSQ.js";import"./dist-Dez1I5M9.js";import"./cjs-DXo9vDEJ.js";import"./main-DmhaVp6Y.js";import"./useNonce-0SWz6w4W.js";import{r as se}from"./requests-KshNNAOp.js";import"./layout-CRzOtEaD.js";import{t as pe}from"./useCellActionButton-TRa0-mam.js";import"./markdown-renderer-f3mfGw8u.js";import{a as me,t as he}from"./useNotebookActions-CFivvltO.js";import"./dist-DHMtQYxT.js";import"./dist-Bj9Iedc0.js";import"./dist-D-o1OXc9.js";import"./dist-BZhJ1bTM.js";import"./dist-DnIl7RU-.js";import"./session-B6_8umQX.js";import"./purify.es-DdxMtdqK.js";import"./dates-CnrjjcMO.js";import{n as ce}from"./useHotkey-C-blZ3Z8.js";import"./share-vrPro738.js";import"./utils-BIlJBJIu.js";import"./vega-loader.browser-BJ9oKrvH.js";import"./defaultLocale-CuYNS33t.js";import"./defaultLocale-CGfP-Ye3.js";import"./chunk-5FQGJX7Z-C6VN0dQj.js";import"./html-to-image-CmK-WSPG.js";import{r as ye}from"./focus-Dol5ybck.js";import"./react-resizable-panels.browser.esm-CgWOEYeG.js";import{a as ue,c as fe,i as L,l as z,n as be,o as J,r as ge,s as ke}from"./command-CsbsBLBw.js";import{t as Q}from"./renderShortcut-CKbqJyj4.js";import"./esm-DSv-aO_T.js";import"./name-cell-input-DteS1CD8.js";import"./multi-icon-CGXdgpE4.js";import"./dist-DQlrXcW2.js";import"./dist-B_4mXtvJ.js";import"./dist-BRRMCoI_.js";import"./dist-BzGK1_vc.js";import"./dist-d_9Qt_7_.js";import"./dist-DoxplNOD.js";import"./dist-Cq98Ix9k.js";import"./dist-npZrjkCf.js";import"./dist-CkHYcq4S.js";import"./esm-BqXnk7X6.js";var we=O(),Ce=U(Y(),1);function xe(e,l){let t=(0,we.c)(11),r;t[0]===l?r=t[1]:(r=new Z(l),t[0]=l,t[1]=r);let d=r,n;t[2]!==e||t[3]!==d?(n=()=>d.get(e),t[2]=e,t[3]=d,t[4]=n):n=t[4];let[m,k]=(0,Ce.useState)(n),i;t[5]!==e||t[6]!==d?(i=w=>{k(w),d.set(e,w)},t[5]=e,t[6]=d,t[7]=i):i=t[7];let u=i,h;return t[8]!==u||t[9]!==m?(h=[m,u],t[8]=u,t[9]=m,t[10]=h):h=t[10],h}var je=O(),Se=3;function ve(){let e=(0,je.c)(7),l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=[],e[0]=l):l=e[0];let[t,r]=xe("marimo:commands",l),d;e[1]!==t||e[2]!==r?(d=m=>{r(_e([m,...t]).slice(0,Se))},e[1]=t,e[2]=r,e[3]=d):d=e[3];let n;return e[4]!==t||e[5]!==d?(n={recentCommands:t,addRecentCommand:d},e[4]=t,e[5]=d,e[6]=n):n=e[6],n}function _e(e){return[...new Set(e)]}function W(e){return e.dropdown!==void 0}function T(e,l=""){return e.flatMap(t=>t.label?W(t)?T(t.dropdown,`${l+t.label} > `):{...t,label:l+t.label,additionalKeywords:t.additionalKeywords}:[])}var Ke=O();function He(){let e=(0,Ke.c)(75),[l,t]=re(),[r,d]=oe(),{saveAppConfig:n,saveUserConfig:m}=se(),k;e[0]!==m||e[1]!==t?(k=async p=>{await m({config:p}).then(()=>{t(c=>({...c,...p}))})},e[0]=m,e[1]=t,e[2]=k):k=e[2];let i=k,u;e[3]!==n||e[4]!==d?(u=async p=>{await n({config:p}).then(()=>{d(p)})},e[3]=n,e[4]=d,e[5]=u):u=e[5];let h=u,w;if(e[6]!==r||e[7]!==l.completion||e[8]!==l.display||e[9]!==l.keymap||e[10]!==h||e[11]!==i){let p;e[13]===r?p=e[14]:(p=B=>B!==r.width,e[13]=r,e[14]=p);let c;e[15]!==r||e[16]!==h?(c=B=>({label:`App config > Set width=${B}`,handle:()=>{h({...r,width:B})}}),e[15]=r,e[16]=h,e[17]=c):c=e[17];let K;e[18]!==l.display||e[19]!==i?(K={label:"Config > Set theme: dark",handle:()=>{i({display:{...l.display,theme:"dark"}})}},e[18]=l.display,e[19]=i,e[20]=K):K=e[20];let C;e[21]!==l.display||e[22]!==i?(C={label:"Config > Set theme: light",handle:()=>{i({display:{...l.display,theme:"light"}})}},e[21]=l.display,e[22]=i,e[23]=C):C=e[23];let H;e[24]!==l.display||e[25]!==i?(H={label:"Config > Set theme: system",handle:()=>{i({display:{...l.display,theme:"system"}})}},e[24]=l.display,e[25]=i,e[26]=H):H=e[26];let E=l.keymap.preset==="vim",A;e[27]!==l.keymap||e[28]!==i?(A=()=>{i({keymap:{...l.keymap,preset:"vim"}})},e[27]=l.keymap,e[28]=i,e[29]=A):A=e[29];let D;e[30]!==E||e[31]!==A?(D={label:"Config > Switch keymap to VIM",hidden:E,handle:A},e[30]=E,e[31]=A,e[32]=D):D=e[32];let M=l.keymap.preset==="default",x;e[33]!==l.keymap||e[34]!==i?(x=()=>{i({keymap:{...l.keymap,preset:"default"}})},e[33]=l.keymap,e[34]=i,e[35]=x):x=e[35];let f;e[36]!==M||e[37]!==x?(f={label:"Config > Switch keymap to default (current: VIM)",hidden:M,handle:x},e[36]=M,e[37]=x,e[38]=f):f=e[38];let j;e[39]!==l.completion||e[40]!==i?(j=()=>{i({completion:{...l.completion,copilot:!1}})},e[39]=l.completion,e[40]=i,e[41]=j):j=e[41];let S=l.completion.copilot!=="github",P;e[42]!==j||e[43]!==S?(P={label:"Config > Disable GitHub Copilot",handle:j,hidden:S},e[42]=j,e[43]=S,e[44]=P):P=e[44];let v;e[45]!==l.completion||e[46]!==i?(v=()=>{i({completion:{...l.completion,copilot:"github"}})},e[45]=l.completion,e[46]=i,e[47]=v):v=e[47];let G=l.completion.copilot==="github",$;e[48]!==v||e[49]!==G?($={label:"Config > Enable GitHub Copilot",handle:v,hidden:G},e[48]=v,e[49]=G,e[50]=$):$=e[50];let q=!l.display.reference_highlighting,_;e[51]!==l.display||e[52]!==i?(_=()=>{i({display:{...l.display,reference_highlighting:!1}})},e[51]=l.display,e[52]=i,e[53]=_):_=e[53];let b;e[54]!==q||e[55]!==_?(b={label:"Config > Disable reference highlighting",hidden:q,handle:_},e[54]=q,e[55]=_,e[56]=b):b=e[56];let y;e[57]!==l.display||e[58]!==i?(y=()=>{i({display:{...l.display,reference_highlighting:!0}})},e[57]=l.display,e[58]=i,e[59]=y):y=e[59];let N;e[60]!==l.display.reference_highlighting||e[61]!==y?(N={label:"Config > Enable reference highlighting",hidden:l.display.reference_highlighting,handle:y},e[60]=l.display.reference_highlighting,e[61]=y,e[62]=N):N=e[62];let a=l.display.cell_output==="above",o;e[63]!==l.display||e[64]!==i?(o=()=>{i({display:{...l.display,cell_output:"above"}})},e[63]=l.display,e[64]=i,e[65]=o):o=e[65];let F;e[66]!==a||e[67]!==o?(F={label:"Config > Set cell output area: above",hidden:a,handle:o},e[66]=a,e[67]=o,e[68]=F):F=e[68];let g=l.display.cell_output==="below",R;e[69]!==l.display||e[70]!==i?(R=()=>{i({display:{...l.display,cell_output:"below"}})},e[69]=l.display,e[70]=i,e[71]=R):R=e[71];let I;e[72]!==g||e[73]!==R?(I={label:"Config > Set cell output area: below",hidden:g,handle:R},e[72]=g,e[73]=R,e[74]=I):I=e[74],w=[...ee().filter(p).map(c),K,C,H,D,f,P,$,b,N,F,I].filter(Ae),e[6]=r,e[7]=l.completion,e[8]=l.display,e[9]=l.keymap,e[10]=h,e[11]=i,e[12]=w}else w=e[12];return w}function Ae(e){return!e.hidden}var De=O(),s=U(de(),1),Me=()=>{let e=(0,De.c)(37),[l,t]=X(me),r=ce(),d=V(ye),n=V(ne),m;e[0]===d?m=e[1]:(m={cell:d},e[0]=d,e[1]=m);let k=pe(m).flat();k=T(k);let i=He(),u=he();u=[...T(u),...T(i)];let h=u.filter(Ne),w=le.keyBy(h,Fe),{recentCommands:p,addRecentCommand:c}=ve(),K;e[2]===p?K=e[3]:(K=new Set(p),e[2]=p,e[3]=K);let C=K,H;e[4]!==n||e[5]!==t?(H=a=>{te(n.getHotkey("global.commandPalette").key)(a)&&(a.preventDefault(),t(Re))},e[4]=n,e[5]=t,e[6]=H):H=e[6],ie(document,"keydown",H);let E;e[7]!==c||e[8]!==n||e[9]!==r||e[10]!==t?(E=(a,o)=>{let F=r[a];if(!F)return null;let g=n.getHotkey(a);return(0,s.jsxs)(J,{disabled:o.disabled,keywords:g.additionalKeywords,onSelect:()=>{c(a),t(!1),requestAnimationFrame(()=>{F()})},value:g.name,children:[(0,s.jsxs)("span",{children:[g.name,o.tooltip&&(0,s.jsx)("span",{className:"ml-2",children:o.tooltip})]}),(0,s.jsx)(z,{children:(0,s.jsx)(Q,{shortcut:g.key})})]},a)},e[7]=c,e[8]=n,e[9]=r,e[10]=t,e[11]=E):E=e[11];let A=E,D;e[12]!==c||e[13]!==n||e[14]!==t?(D=a=>{let{label:o,handle:F,props:g,hotkey:R,additionalKeywords:I}=a,B=g===void 0?{}:g;return(0,s.jsxs)(J,{disabled:B.disabled,keywords:I,onSelect:()=>{c(o),t(!1),requestAnimationFrame(()=>{F()})},value:o,children:[(0,s.jsxs)("span",{children:[o,B.tooltip&&(0,s.jsxs)("span",{className:"ml-2",children:["(",B.tooltip,")"]})]}),R&&(0,s.jsx)(z,{children:(0,s.jsx)(Q,{shortcut:n.getHotkey(R).key})})]},o)},e[12]=c,e[13]=n,e[14]=t,e[15]=D):D=e[15];let M=D,x=be,f;e[16]===Symbol.for("react.memo_cache_sentinel")?(f=(0,s.jsx)(ue,{placeholder:"Type to search..."}),e[16]=f):f=e[16];let j=ke,S;e[17]===Symbol.for("react.memo_cache_sentinel")?(S=(0,s.jsx)(ge,{children:"No results found."}),e[17]=S):S=e[17];let P=p.length>0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(L,{heading:"Recently Used",children:p.map(a=>{let o=w[a];return ae(a)?A(a,{disabled:o==null?void 0:o.disabled,tooltip:o==null?void 0:o.tooltip}):o&&!W(o)?M({label:o.label,handle:o.handleHeadless||o.handle,props:{disabled:o.disabled,tooltip:o.tooltip},additionalKeywords:o.additionalKeywords}):null})}),(0,s.jsx)(fe,{})]}),v=L,G=n.iterate().map(a=>{if(C.has(a))return null;let o=w[a];return A(a,{disabled:o==null?void 0:o.disabled,tooltip:o==null?void 0:o.tooltip})}),$=h.map(a=>C.has(a.label)?null:M({label:a.label,handle:a.handleHeadless||a.handle,props:{disabled:a.disabled,tooltip:a.tooltip},additionalKeywords:a.additionalKeywords})),q;e[18]!==C||e[19]!==M?(q=a=>C.has(a.label)?null:M({label:`Cell > ${a.label}`,handle:a.handleHeadless||a.handle,props:{disabled:a.disabled,tooltip:a.tooltip},additionalKeywords:a.additionalKeywords}),e[18]=C,e[19]=M,e[20]=q):q=e[20];let _=k.map(q),b;e[21]!==v||e[22]!==$||e[23]!==_||e[24]!==G?(b=(0,s.jsxs)(v,{heading:"Commands",children:[G,$,_]}),e[21]=v,e[22]=$,e[23]=_,e[24]=G,e[25]=b):b=e[25];let y;e[26]!==j||e[27]!==b||e[28]!==S||e[29]!==P?(y=(0,s.jsxs)(j,{children:[S,P,b]}),e[26]=j,e[27]=b,e[28]=S,e[29]=P,e[30]=y):y=e[30];let N;return e[31]!==x||e[32]!==l||e[33]!==t||e[34]!==y||e[35]!==f?(N=(0,s.jsxs)(x,{open:l,onOpenChange:t,children:[f,y]}),e[31]=x,e[32]=l,e[33]=t,e[34]=y,e[35]=f,e[36]=N):N=e[36],N};function Ne(e){return!e.hotkey}function Fe(e){return e.label}function Re(e){return!e}export{Me as default};
1
+ import{s as U}from"./chunk-LvLJmgfZ.js";import{l as X,u as V}from"./useEvent-D91BmmQi.js";import{t as Y}from"./react-Bj1aDYRI.js";import{Di as Z}from"./cells-DZEvA3zb.js";import"./react-dom-CSu739Rf.js";import{t as O}from"./compiler-runtime-B3qBwwSJ.js";import{S as ee}from"./ai-model-dropdown-Brz68_s8.js";import{d as le,h as te,t as ie,u as ae}from"./useEventListener-BakX-tnw.js";import{b as oe,h as ne,x as re}from"./utils-Dev6I_Kv.js";import{t as de}from"./jsx-runtime-PbYoItBR.js";import"./fullscreen-BXI8V5i6.js";import"./popover-DMNO6Poc.js";import"./JsonOutput-BfDKMXVF.js";import"./download-DlMo0yoI.js";import"./dist-Dez1I5M9.js";import"./cjs-DXo9vDEJ.js";import"./main-DmhaVp6Y.js";import"./useNonce-0SWz6w4W.js";import{r as se}from"./requests-KshNNAOp.js";import"./layout-CPdBwJdJ.js";import{t as pe}from"./useCellActionButton-CSYE6DW0.js";import"./markdown-renderer-duAFwqLF.js";import{a as me,t as he}from"./useNotebookActions-C1Ba1Deq.js";import"./dist-DHMtQYxT.js";import"./dist-Bj9Iedc0.js";import"./dist-D-o1OXc9.js";import"./dist-BZhJ1bTM.js";import"./dist-DnIl7RU-.js";import"./session-B6_8umQX.js";import"./purify.es-DdxMtdqK.js";import"./dates-CnrjjcMO.js";import{n as ce}from"./useHotkey-C-blZ3Z8.js";import"./share-vrPro738.js";import"./utils-BIlJBJIu.js";import"./vega-loader.browser-BJ9oKrvH.js";import"./defaultLocale-CuYNS33t.js";import"./defaultLocale-CGfP-Ye3.js";import"./chunk-5FQGJX7Z-C6VN0dQj.js";import"./html-to-image-DY_stEj0.js";import{r as ye}from"./focus-DHgSYMb6.js";import"./react-resizable-panels.browser.esm-CgWOEYeG.js";import{a as ue,c as fe,i as L,l as z,n as be,o as J,r as ge,s as ke}from"./command-CsbsBLBw.js";import{t as Q}from"./renderShortcut-CKbqJyj4.js";import"./esm-DSv-aO_T.js";import"./name-cell-input-DulIaCIY.js";import"./multi-icon-CGXdgpE4.js";import"./dist-DQlrXcW2.js";import"./dist-B_4mXtvJ.js";import"./dist-BRRMCoI_.js";import"./dist-BzGK1_vc.js";import"./dist-d_9Qt_7_.js";import"./dist-DoxplNOD.js";import"./dist-Cq98Ix9k.js";import"./dist-npZrjkCf.js";import"./dist-CkHYcq4S.js";import"./esm-BqXnk7X6.js";var we=O(),Ce=U(Y(),1);function xe(e,l){let t=(0,we.c)(11),r;t[0]===l?r=t[1]:(r=new Z(l),t[0]=l,t[1]=r);let d=r,n;t[2]!==e||t[3]!==d?(n=()=>d.get(e),t[2]=e,t[3]=d,t[4]=n):n=t[4];let[m,k]=(0,Ce.useState)(n),i;t[5]!==e||t[6]!==d?(i=w=>{k(w),d.set(e,w)},t[5]=e,t[6]=d,t[7]=i):i=t[7];let u=i,h;return t[8]!==u||t[9]!==m?(h=[m,u],t[8]=u,t[9]=m,t[10]=h):h=t[10],h}var je=O(),Se=3;function ve(){let e=(0,je.c)(7),l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=[],e[0]=l):l=e[0];let[t,r]=xe("marimo:commands",l),d;e[1]!==t||e[2]!==r?(d=m=>{r(_e([m,...t]).slice(0,Se))},e[1]=t,e[2]=r,e[3]=d):d=e[3];let n;return e[4]!==t||e[5]!==d?(n={recentCommands:t,addRecentCommand:d},e[4]=t,e[5]=d,e[6]=n):n=e[6],n}function _e(e){return[...new Set(e)]}function W(e){return e.dropdown!==void 0}function T(e,l=""){return e.flatMap(t=>t.label?W(t)?T(t.dropdown,`${l+t.label} > `):{...t,label:l+t.label,additionalKeywords:t.additionalKeywords}:[])}var Ke=O();function He(){let e=(0,Ke.c)(75),[l,t]=re(),[r,d]=oe(),{saveAppConfig:n,saveUserConfig:m}=se(),k;e[0]!==m||e[1]!==t?(k=async p=>{await m({config:p}).then(()=>{t(c=>({...c,...p}))})},e[0]=m,e[1]=t,e[2]=k):k=e[2];let i=k,u;e[3]!==n||e[4]!==d?(u=async p=>{await n({config:p}).then(()=>{d(p)})},e[3]=n,e[4]=d,e[5]=u):u=e[5];let h=u,w;if(e[6]!==r||e[7]!==l.completion||e[8]!==l.display||e[9]!==l.keymap||e[10]!==h||e[11]!==i){let p;e[13]===r?p=e[14]:(p=B=>B!==r.width,e[13]=r,e[14]=p);let c;e[15]!==r||e[16]!==h?(c=B=>({label:`App config > Set width=${B}`,handle:()=>{h({...r,width:B})}}),e[15]=r,e[16]=h,e[17]=c):c=e[17];let K;e[18]!==l.display||e[19]!==i?(K={label:"Config > Set theme: dark",handle:()=>{i({display:{...l.display,theme:"dark"}})}},e[18]=l.display,e[19]=i,e[20]=K):K=e[20];let C;e[21]!==l.display||e[22]!==i?(C={label:"Config > Set theme: light",handle:()=>{i({display:{...l.display,theme:"light"}})}},e[21]=l.display,e[22]=i,e[23]=C):C=e[23];let H;e[24]!==l.display||e[25]!==i?(H={label:"Config > Set theme: system",handle:()=>{i({display:{...l.display,theme:"system"}})}},e[24]=l.display,e[25]=i,e[26]=H):H=e[26];let E=l.keymap.preset==="vim",A;e[27]!==l.keymap||e[28]!==i?(A=()=>{i({keymap:{...l.keymap,preset:"vim"}})},e[27]=l.keymap,e[28]=i,e[29]=A):A=e[29];let D;e[30]!==E||e[31]!==A?(D={label:"Config > Switch keymap to VIM",hidden:E,handle:A},e[30]=E,e[31]=A,e[32]=D):D=e[32];let M=l.keymap.preset==="default",x;e[33]!==l.keymap||e[34]!==i?(x=()=>{i({keymap:{...l.keymap,preset:"default"}})},e[33]=l.keymap,e[34]=i,e[35]=x):x=e[35];let f;e[36]!==M||e[37]!==x?(f={label:"Config > Switch keymap to default (current: VIM)",hidden:M,handle:x},e[36]=M,e[37]=x,e[38]=f):f=e[38];let j;e[39]!==l.completion||e[40]!==i?(j=()=>{i({completion:{...l.completion,copilot:!1}})},e[39]=l.completion,e[40]=i,e[41]=j):j=e[41];let S=l.completion.copilot!=="github",P;e[42]!==j||e[43]!==S?(P={label:"Config > Disable GitHub Copilot",handle:j,hidden:S},e[42]=j,e[43]=S,e[44]=P):P=e[44];let v;e[45]!==l.completion||e[46]!==i?(v=()=>{i({completion:{...l.completion,copilot:"github"}})},e[45]=l.completion,e[46]=i,e[47]=v):v=e[47];let G=l.completion.copilot==="github",$;e[48]!==v||e[49]!==G?($={label:"Config > Enable GitHub Copilot",handle:v,hidden:G},e[48]=v,e[49]=G,e[50]=$):$=e[50];let q=!l.display.reference_highlighting,_;e[51]!==l.display||e[52]!==i?(_=()=>{i({display:{...l.display,reference_highlighting:!1}})},e[51]=l.display,e[52]=i,e[53]=_):_=e[53];let b;e[54]!==q||e[55]!==_?(b={label:"Config > Disable reference highlighting",hidden:q,handle:_},e[54]=q,e[55]=_,e[56]=b):b=e[56];let y;e[57]!==l.display||e[58]!==i?(y=()=>{i({display:{...l.display,reference_highlighting:!0}})},e[57]=l.display,e[58]=i,e[59]=y):y=e[59];let N;e[60]!==l.display.reference_highlighting||e[61]!==y?(N={label:"Config > Enable reference highlighting",hidden:l.display.reference_highlighting,handle:y},e[60]=l.display.reference_highlighting,e[61]=y,e[62]=N):N=e[62];let a=l.display.cell_output==="above",o;e[63]!==l.display||e[64]!==i?(o=()=>{i({display:{...l.display,cell_output:"above"}})},e[63]=l.display,e[64]=i,e[65]=o):o=e[65];let F;e[66]!==a||e[67]!==o?(F={label:"Config > Set cell output area: above",hidden:a,handle:o},e[66]=a,e[67]=o,e[68]=F):F=e[68];let g=l.display.cell_output==="below",R;e[69]!==l.display||e[70]!==i?(R=()=>{i({display:{...l.display,cell_output:"below"}})},e[69]=l.display,e[70]=i,e[71]=R):R=e[71];let I;e[72]!==g||e[73]!==R?(I={label:"Config > Set cell output area: below",hidden:g,handle:R},e[72]=g,e[73]=R,e[74]=I):I=e[74],w=[...ee().filter(p).map(c),K,C,H,D,f,P,$,b,N,F,I].filter(Ae),e[6]=r,e[7]=l.completion,e[8]=l.display,e[9]=l.keymap,e[10]=h,e[11]=i,e[12]=w}else w=e[12];return w}function Ae(e){return!e.hidden}var De=O(),s=U(de(),1),Me=()=>{let e=(0,De.c)(37),[l,t]=X(me),r=ce(),d=V(ye),n=V(ne),m;e[0]===d?m=e[1]:(m={cell:d},e[0]=d,e[1]=m);let k=pe(m).flat();k=T(k);let i=He(),u=he();u=[...T(u),...T(i)];let h=u.filter(Ne),w=le.keyBy(h,Fe),{recentCommands:p,addRecentCommand:c}=ve(),K;e[2]===p?K=e[3]:(K=new Set(p),e[2]=p,e[3]=K);let C=K,H;e[4]!==n||e[5]!==t?(H=a=>{te(n.getHotkey("global.commandPalette").key)(a)&&(a.preventDefault(),t(Re))},e[4]=n,e[5]=t,e[6]=H):H=e[6],ie(document,"keydown",H);let E;e[7]!==c||e[8]!==n||e[9]!==r||e[10]!==t?(E=(a,o)=>{let F=r[a];if(!F)return null;let g=n.getHotkey(a);return(0,s.jsxs)(J,{disabled:o.disabled,keywords:g.additionalKeywords,onSelect:()=>{c(a),t(!1),requestAnimationFrame(()=>{F()})},value:g.name,children:[(0,s.jsxs)("span",{children:[g.name,o.tooltip&&(0,s.jsx)("span",{className:"ml-2",children:o.tooltip})]}),(0,s.jsx)(z,{children:(0,s.jsx)(Q,{shortcut:g.key})})]},a)},e[7]=c,e[8]=n,e[9]=r,e[10]=t,e[11]=E):E=e[11];let A=E,D;e[12]!==c||e[13]!==n||e[14]!==t?(D=a=>{let{label:o,handle:F,props:g,hotkey:R,additionalKeywords:I}=a,B=g===void 0?{}:g;return(0,s.jsxs)(J,{disabled:B.disabled,keywords:I,onSelect:()=>{c(o),t(!1),requestAnimationFrame(()=>{F()})},value:o,children:[(0,s.jsxs)("span",{children:[o,B.tooltip&&(0,s.jsxs)("span",{className:"ml-2",children:["(",B.tooltip,")"]})]}),R&&(0,s.jsx)(z,{children:(0,s.jsx)(Q,{shortcut:n.getHotkey(R).key})})]},o)},e[12]=c,e[13]=n,e[14]=t,e[15]=D):D=e[15];let M=D,x=be,f;e[16]===Symbol.for("react.memo_cache_sentinel")?(f=(0,s.jsx)(ue,{placeholder:"Type to search..."}),e[16]=f):f=e[16];let j=ke,S;e[17]===Symbol.for("react.memo_cache_sentinel")?(S=(0,s.jsx)(ge,{children:"No results found."}),e[17]=S):S=e[17];let P=p.length>0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(L,{heading:"Recently Used",children:p.map(a=>{let o=w[a];return ae(a)?A(a,{disabled:o==null?void 0:o.disabled,tooltip:o==null?void 0:o.tooltip}):o&&!W(o)?M({label:o.label,handle:o.handleHeadless||o.handle,props:{disabled:o.disabled,tooltip:o.tooltip},additionalKeywords:o.additionalKeywords}):null})}),(0,s.jsx)(fe,{})]}),v=L,G=n.iterate().map(a=>{if(C.has(a))return null;let o=w[a];return A(a,{disabled:o==null?void 0:o.disabled,tooltip:o==null?void 0:o.tooltip})}),$=h.map(a=>C.has(a.label)?null:M({label:a.label,handle:a.handleHeadless||a.handle,props:{disabled:a.disabled,tooltip:a.tooltip},additionalKeywords:a.additionalKeywords})),q;e[18]!==C||e[19]!==M?(q=a=>C.has(a.label)?null:M({label:`Cell > ${a.label}`,handle:a.handleHeadless||a.handle,props:{disabled:a.disabled,tooltip:a.tooltip},additionalKeywords:a.additionalKeywords}),e[18]=C,e[19]=M,e[20]=q):q=e[20];let _=k.map(q),b;e[21]!==v||e[22]!==$||e[23]!==_||e[24]!==G?(b=(0,s.jsxs)(v,{heading:"Commands",children:[G,$,_]}),e[21]=v,e[22]=$,e[23]=_,e[24]=G,e[25]=b):b=e[25];let y;e[26]!==j||e[27]!==b||e[28]!==S||e[29]!==P?(y=(0,s.jsxs)(j,{children:[S,P,b]}),e[26]=j,e[27]=b,e[28]=S,e[29]=P,e[30]=y):y=e[30];let N;return e[31]!==x||e[32]!==l||e[33]!==t||e[34]!==y||e[35]!==f?(N=(0,s.jsxs)(x,{open:l,onOpenChange:t,children:[f,y]}),e[31]=x,e[32]=l,e[33]=t,e[34]=y,e[35]=f,e[36]=N):N=e[36],N};function Ne(e){return!e.hotkey}function Fe(e){return e.label}function Re(e){return!e}export{Me as default};
@@ -1 +1 @@
1
- import{s as j}from"./chunk-LvLJmgfZ.js";import{t as w}from"./react-Bj1aDYRI.js";import{M as k}from"./cells-DQ5n6Zef.js";import{t as g}from"./compiler-runtime-B3qBwwSJ.js";import{t as N}from"./jsx-runtime-PbYoItBR.js";import{i as y,r as C,t as _}from"./popover-DMNO6Poc.js";import{t as b}from"./badge-CFAaMy0O.js";import{t as S}from"./use-toast-BH8bU9Xf.js";import{n as I}from"./copy-CyasABTK.js";import{t as v}from"./cell-link-LArpBcY-.js";var O=g(),i=j(N(),1);const B=p=>{let e=(0,O.c)(18),{maxCount:n,cellIds:r,onClick:t,skipScroll:o}=p,m=k(),l,a,c;if(e[0]!==r||e[1]!==m||e[2]!==n||e[3]!==t||e[4]!==o){c=Symbol.for("react.early_return_sentinel");e:{let f;e[8]===m?f=e[9]:(f=(s,x)=>m.inOrderIds.indexOf(s)-m.inOrderIds.indexOf(x),e[8]=m,e[9]=f);let u=r.toSorted(f);if(r.length===0){let s;e[10]===Symbol.for("react.memo_cache_sentinel")?(s=(0,i.jsx)("div",{className:"text-muted-foreground",children:"--"}),e[10]=s):s=e[10],c=s;break e}let h;e[11]!==r.length||e[12]!==t||e[13]!==o?(h=(s,x)=>(0,i.jsxs)("span",{className:"truncate",children:[(0,i.jsx)(v,{variant:"focus",cellId:s,skipScroll:o,className:"whitespace-nowrap",onClick:t?()=>t(s):void 0},s),x<r.length-1&&", "]},s),e[11]=r.length,e[12]=t,e[13]=o,e[14]=h):h=e[14],l=u.slice(0,n).map(h),a=r.length>n&&(0,i.jsxs)(_,{children:[(0,i.jsx)(y,{asChild:!0,children:(0,i.jsxs)("span",{className:"whitespace-nowrap text-muted-foreground text-xs hover:underline cursor-pointer",children:["+",r.length-n," more"]})}),(0,i.jsx)(C,{className:"w-auto",children:(0,i.jsx)("div",{className:"flex flex-col gap-1 py-1",children:u.slice(n).map(s=>(0,i.jsx)(v,{variant:"focus",cellId:s,className:"whitespace-nowrap",onClick:t?()=>t(s):void 0},s))})})]})}e[0]=r,e[1]=m,e[2]=n,e[3]=t,e[4]=o,e[5]=l,e[6]=a,e[7]=c}else l=e[5],a=e[6],c=e[7];if(c!==Symbol.for("react.early_return_sentinel"))return c;let d;return e[15]!==l||e[16]!==a?(d=(0,i.jsxs)(i.Fragment,{children:[l,a]}),e[15]=l,e[16]=a,e[17]=d):d=e[17],d};var F=g();w();const M=p=>{let e=(0,F.c)(15),n,r,t,o;e[0]===p?(n=e[1],r=e[2],t=e[3],o=e[4]):({name:r,declaredBy:n,onClick:t,...o}=p,e[0]=p,e[1]=n,e[2]=r,e[3]=t,e[4]=o);let m=n.length>1?"destructive":"outline",l;e[5]!==r||e[6]!==t?(l=async d=>{if(t){t(d);return}await I(r),S({title:"Copied to clipboard"})},e[5]=r,e[6]=t,e[7]=l):l=e[7];let a;e[8]!==r||e[9]!==m||e[10]!==l?(a=(0,i.jsx)(b,{title:r,variant:m,className:"rounded-sm text-ellipsis block overflow-hidden max-w-fit cursor-pointer font-medium",onClick:l,children:r}),e[8]=r,e[9]=m,e[10]=l,e[11]=a):a=e[11];let c;return e[12]!==o||e[13]!==a?(c=(0,i.jsx)("div",{className:"max-w-[130px]",...o,children:a}),e[12]=o,e[13]=a,e[14]=c):c=e[14],c};export{B as n,M as t};
1
+ import{s as j}from"./chunk-LvLJmgfZ.js";import{t as w}from"./react-Bj1aDYRI.js";import{M as k}from"./cells-DZEvA3zb.js";import{t as g}from"./compiler-runtime-B3qBwwSJ.js";import{t as N}from"./jsx-runtime-PbYoItBR.js";import{i as y,r as C,t as _}from"./popover-DMNO6Poc.js";import{t as b}from"./badge-CFAaMy0O.js";import{t as S}from"./use-toast-BH8bU9Xf.js";import{n as I}from"./copy-CyasABTK.js";import{t as v}from"./cell-link-CaBSvNu3.js";var O=g(),i=j(N(),1);const B=p=>{let e=(0,O.c)(18),{maxCount:n,cellIds:r,onClick:t,skipScroll:o}=p,m=k(),l,a,c;if(e[0]!==r||e[1]!==m||e[2]!==n||e[3]!==t||e[4]!==o){c=Symbol.for("react.early_return_sentinel");e:{let f;e[8]===m?f=e[9]:(f=(s,x)=>m.inOrderIds.indexOf(s)-m.inOrderIds.indexOf(x),e[8]=m,e[9]=f);let u=r.toSorted(f);if(r.length===0){let s;e[10]===Symbol.for("react.memo_cache_sentinel")?(s=(0,i.jsx)("div",{className:"text-muted-foreground",children:"--"}),e[10]=s):s=e[10],c=s;break e}let h;e[11]!==r.length||e[12]!==t||e[13]!==o?(h=(s,x)=>(0,i.jsxs)("span",{className:"truncate",children:[(0,i.jsx)(v,{variant:"focus",cellId:s,skipScroll:o,className:"whitespace-nowrap",onClick:t?()=>t(s):void 0},s),x<r.length-1&&", "]},s),e[11]=r.length,e[12]=t,e[13]=o,e[14]=h):h=e[14],l=u.slice(0,n).map(h),a=r.length>n&&(0,i.jsxs)(_,{children:[(0,i.jsx)(y,{asChild:!0,children:(0,i.jsxs)("span",{className:"whitespace-nowrap text-muted-foreground text-xs hover:underline cursor-pointer",children:["+",r.length-n," more"]})}),(0,i.jsx)(C,{className:"w-auto",children:(0,i.jsx)("div",{className:"flex flex-col gap-1 py-1",children:u.slice(n).map(s=>(0,i.jsx)(v,{variant:"focus",cellId:s,className:"whitespace-nowrap",onClick:t?()=>t(s):void 0},s))})})]})}e[0]=r,e[1]=m,e[2]=n,e[3]=t,e[4]=o,e[5]=l,e[6]=a,e[7]=c}else l=e[5],a=e[6],c=e[7];if(c!==Symbol.for("react.early_return_sentinel"))return c;let d;return e[15]!==l||e[16]!==a?(d=(0,i.jsxs)(i.Fragment,{children:[l,a]}),e[15]=l,e[16]=a,e[17]=d):d=e[17],d};var F=g();w();const M=p=>{let e=(0,F.c)(15),n,r,t,o;e[0]===p?(n=e[1],r=e[2],t=e[3],o=e[4]):({name:r,declaredBy:n,onClick:t,...o}=p,e[0]=p,e[1]=n,e[2]=r,e[3]=t,e[4]=o);let m=n.length>1?"destructive":"outline",l;e[5]!==r||e[6]!==t?(l=async d=>{if(t){t(d);return}await I(r),S({title:"Copied to clipboard"})},e[5]=r,e[6]=t,e[7]=l):l=e[7];let a;e[8]!==r||e[9]!==m||e[10]!==l?(a=(0,i.jsx)(b,{title:r,variant:m,className:"rounded-sm text-ellipsis block overflow-hidden max-w-fit cursor-pointer font-medium",onClick:l,children:r}),e[8]=r,e[9]=m,e[10]=l,e[11]=a):a=e[11];let c;return e[12]!==o||e[13]!==a?(c=(0,i.jsx)("div",{className:"max-w-[130px]",...o,children:a}),e[12]=o,e[13]=a,e[14]=c):c=e[14],c};export{B as n,M as t};
@@ -1 +1 @@
1
- import{s as x}from"./chunk-LvLJmgfZ.js";import{i as b}from"./useEvent-D91BmmQi.js";import{t as j}from"./react-Bj1aDYRI.js";import{f as w,vn as P,zn as C}from"./cells-DQ5n6Zef.js";import{t as N}from"./compiler-runtime-B3qBwwSJ.js";import{t as c}from"./cn-X2M2usMq.js";import{t as k}from"./jsx-runtime-PbYoItBR.js";import{a as A,i as R,r as B}from"./multi-map-9ogswH46.js";import{t as I}from"./badge-CFAaMy0O.js";var z=N(),m=x(k(),1);const S=o=>{let e=(0,z.c)(8),{variableName:a,className:r}=o,t;e[0]===a?t=e[1]:(t=i=>{i.stopPropagation();let d=T(a);if(!d)return;let u=w(d);u&&P(u,a)},e[0]=a,e[1]=t);let s=t,l;e[2]===r?l=e[3]:(l=c("text-link opacity-80 hover:opacity-100 hover:underline",r),e[2]=r,e[3]=l);let n;return e[4]!==s||e[5]!==l||e[6]!==a?(n=(0,m.jsx)("button",{type:"button",onClick:s,className:l,children:a}),e[4]=s,e[5]=l,e[6]=a,e[7]=n):n=e[7],n};function T(o){let e=b.get(C)[o];if(e)return e.declaredBy[0]}var p=N(),f=x(j(),1),v=f.forwardRef((o,e)=>{let a=(0,p.c)(11),r,t,s;a[0]===o?(r=a[1],t=a[2],s=a[3]):({className:r,lastItem:t,...s}=o,a[0]=o,a[1]=r,a[2]=t,a[3]=s);let l=t&&"border-b-0",n;a[4]!==r||a[5]!==l?(n=c(l,r),a[4]=r,a[5]=l,a[6]=n):n=a[6];let i;return a[7]!==s||a[8]!==e||a[9]!==n?(i=(0,m.jsx)(R,{ref:e,className:n,...s}),a[7]=s,a[8]=e,a[9]=n,a[10]=i):i=a[10],i});v.displayName="PanelAccordionItem";var y=f.forwardRef((o,e)=>{let a=(0,p.c)(13),r,t,s;a[0]===o?(r=a[1],t=a[2],s=a[3]):({className:t,children:r,...s}=o,a[0]=o,a[1]=r,a[2]=t,a[3]=s);let l;a[4]===t?l=a[5]:(l=c("px-3 py-2 text-xs font-semibold uppercase tracking-wide hover:no-underline",t),a[4]=t,a[5]=l);let n;a[6]===r?n=a[7]:(n=(0,m.jsx)("span",{className:"flex items-center gap-2",children:r}),a[6]=r,a[7]=n);let i;return a[8]!==s||a[9]!==e||a[10]!==l||a[11]!==n?(i=(0,m.jsx)(A,{ref:e,className:l,...s,children:n}),a[8]=s,a[9]=e,a[10]=l,a[11]=n,a[12]=i):i=a[12],i});y.displayName="PanelAccordionTrigger";var g=f.forwardRef((o,e)=>{let a=(0,p.c)(9),r,t;a[0]===o?(r=a[1],t=a[2]):({wrapperClassName:t,...r}=o,a[0]=o,a[1]=r,a[2]=t);let s;a[3]===t?s=a[4]:(s=c("p-0",t),a[3]=t,a[4]=s);let l;return a[5]!==r||a[6]!==e||a[7]!==s?(l=(0,m.jsx)(B,{ref:e,wrapperClassName:s,...r}),a[5]=r,a[6]=e,a[7]=s,a[8]=l):l=a[8],l});g.displayName="PanelAccordionContent";var h=o=>{let e=(0,p.c)(8),a,r;e[0]===o?(a=e[1],r=e[2]):({className:a,...r}=o,e[0]=o,e[1]=a,e[2]=r);let t;e[3]===a?t=e[4]:(t=c("py-0 px-1.5 text-[10px]",a),e[3]=a,e[4]=t);let s;return e[5]!==r||e[6]!==t?(s=(0,m.jsx)(I,{variant:"secondary",className:t,...r}),e[5]=r,e[6]=t,e[7]=s):s=e[7],s};h.displayName="PanelBadge";export{S as a,h as i,v as n,y as r,g as t};
1
+ import{s as x}from"./chunk-LvLJmgfZ.js";import{i as b}from"./useEvent-D91BmmQi.js";import{t as j}from"./react-Bj1aDYRI.js";import{f as w,vn as P,zn as C}from"./cells-DZEvA3zb.js";import{t as N}from"./compiler-runtime-B3qBwwSJ.js";import{t as c}from"./cn-X2M2usMq.js";import{t as k}from"./jsx-runtime-PbYoItBR.js";import{a as A,i as R,r as B}from"./multi-map-9ogswH46.js";import{t as I}from"./badge-CFAaMy0O.js";var z=N(),m=x(k(),1);const S=o=>{let e=(0,z.c)(8),{variableName:a,className:r}=o,t;e[0]===a?t=e[1]:(t=i=>{i.stopPropagation();let d=T(a);if(!d)return;let u=w(d);u&&P(u,a)},e[0]=a,e[1]=t);let s=t,l;e[2]===r?l=e[3]:(l=c("text-link opacity-80 hover:opacity-100 hover:underline",r),e[2]=r,e[3]=l);let n;return e[4]!==s||e[5]!==l||e[6]!==a?(n=(0,m.jsx)("button",{type:"button",onClick:s,className:l,children:a}),e[4]=s,e[5]=l,e[6]=a,e[7]=n):n=e[7],n};function T(o){let e=b.get(C)[o];if(e)return e.declaredBy[0]}var p=N(),f=x(j(),1),v=f.forwardRef((o,e)=>{let a=(0,p.c)(11),r,t,s;a[0]===o?(r=a[1],t=a[2],s=a[3]):({className:r,lastItem:t,...s}=o,a[0]=o,a[1]=r,a[2]=t,a[3]=s);let l=t&&"border-b-0",n;a[4]!==r||a[5]!==l?(n=c(l,r),a[4]=r,a[5]=l,a[6]=n):n=a[6];let i;return a[7]!==s||a[8]!==e||a[9]!==n?(i=(0,m.jsx)(R,{ref:e,className:n,...s}),a[7]=s,a[8]=e,a[9]=n,a[10]=i):i=a[10],i});v.displayName="PanelAccordionItem";var y=f.forwardRef((o,e)=>{let a=(0,p.c)(13),r,t,s;a[0]===o?(r=a[1],t=a[2],s=a[3]):({className:t,children:r,...s}=o,a[0]=o,a[1]=r,a[2]=t,a[3]=s);let l;a[4]===t?l=a[5]:(l=c("px-3 py-2 text-xs font-semibold uppercase tracking-wide hover:no-underline",t),a[4]=t,a[5]=l);let n;a[6]===r?n=a[7]:(n=(0,m.jsx)("span",{className:"flex items-center gap-2",children:r}),a[6]=r,a[7]=n);let i;return a[8]!==s||a[9]!==e||a[10]!==l||a[11]!==n?(i=(0,m.jsx)(A,{ref:e,className:l,...s,children:n}),a[8]=s,a[9]=e,a[10]=l,a[11]=n,a[12]=i):i=a[12],i});y.displayName="PanelAccordionTrigger";var g=f.forwardRef((o,e)=>{let a=(0,p.c)(9),r,t;a[0]===o?(r=a[1],t=a[2]):({wrapperClassName:t,...r}=o,a[0]=o,a[1]=r,a[2]=t);let s;a[3]===t?s=a[4]:(s=c("p-0",t),a[3]=t,a[4]=s);let l;return a[5]!==r||a[6]!==e||a[7]!==s?(l=(0,m.jsx)(B,{ref:e,wrapperClassName:s,...r}),a[5]=r,a[6]=e,a[7]=s,a[8]=l):l=a[8],l});g.displayName="PanelAccordionContent";var h=o=>{let e=(0,p.c)(8),a,r;e[0]===o?(a=e[1],r=e[2]):({className:a,...r}=o,e[0]=o,e[1]=a,e[2]=r);let t;e[3]===a?t=e[4]:(t=c("py-0 px-1.5 text-[10px]",a),e[3]=a,e[4]=t);let s;return e[5]!==r||e[6]!==t?(s=(0,m.jsx)(I,{variant:"secondary",className:t,...r}),e[5]=r,e[6]=t,e[7]=s):s=e[7],s};h.displayName="PanelBadge";export{S as a,h as i,v as n,y as r,g as t};
@@ -1,3 +1,3 @@
1
- var x=Object.defineProperty;var A=(r,e,n)=>e in r?x(r,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):r[e]=n;var l=(r,e,n)=>A(r,typeof e!="symbol"?e+"":e,n);import{i as m}from"./useEvent-D91BmmQi.js";import{Ht as I,Mr as E,Nr as T,Pi as C,Zr as p,ea as M,n as w,or as L,tr as O}from"./cells-DQ5n6Zef.js";import{_ as P}from"./useEventListener-BakX-tnw.js";import{t as $}from"./multi-map-9ogswH46.js";import{t as R}from"./createLucideIcon-BTp1tQDO.js";var S=R("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"}]]),u,c;function U(r,e,n,a,i){var t={};return Object.keys(a).forEach(function(s){t[s]=a[s]}),t.enumerable=!!t.enumerable,t.configurable=!!t.configurable,("value"in t||t.initializer)&&(t.writable=!0),t=n.slice().reverse().reduce(function(s,o){return o(r,e,s)||s},t),i&&t.initializer!==void 0&&(t.value=t.initializer?t.initializer.call(i):void 0,t.initializer=void 0),t.initializer===void 0?(Object.defineProperty(r,e,t),null):t}var d=class{async getAttachments(r){return[]}asURI(r){return`${this.contextType}://${r}`}parseContextIds(r){let e=RegExp(`${this.mentionPrefix}([\\w-]+):\\/\\/([\\w./-]+)`,"g"),n=[...r.matchAll(e)],a=t=>t.slice(1),i=n.filter(([,t])=>t===this.contextType).map(([t])=>a(t));return[...new Set(i)]}createBasicCompletion(r,e){return{label:`${this.mentionPrefix}${r.uri.split("://")[1]}`,displayLabel:r.name,detail:(e==null?void 0:e.detail)||r.description,boost:(e==null?void 0:e.boost)||1,type:(e==null?void 0:e.type)||this.contextType,apply:`${this.mentionPrefix}${r.uri}`,section:(e==null?void 0:e.section)||this.title}}};let _=(u=C(),c=class{constructor(){l(this,"providers",new Set)}register(r){return this.providers.add(r),this}getProviders(){return this.providers}getProvider(r){return[...this.providers].find(e=>e.contextType===r)}getAllItems(){return[...this.providers].flatMap(r=>r.getItems())}parseAllContextIds(r){return[...this.providers].flatMap(e=>e.parseContextIds(r))}getContextInfo(r){let e=[],n=new Map(this.getAllItems().map(a=>[a.uri,a]));for(let a of r){let i=n.get(a);i&&e.push(i)}return e}formatContextForAI(r){let e=new Map(this.getAllItems().map(a=>[a.uri,a])),n=[];for(let a of r){let i=e.get(a);i&&n.push(i)}return n.length===0?"":n.map(a=>{var i;return((i=this.getProvider(a.type))==null?void 0:i.formatContext(a))||""}).join(`
1
+ var x=Object.defineProperty;var A=(r,e,n)=>e in r?x(r,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):r[e]=n;var l=(r,e,n)=>A(r,typeof e!="symbol"?e+"":e,n);import{i as m}from"./useEvent-D91BmmQi.js";import{Ht as I,Mr as E,Nr as T,Pi as C,Zr as p,ea as M,n as w,or as L,tr as O}from"./cells-DZEvA3zb.js";import{_ as P}from"./useEventListener-BakX-tnw.js";import{t as $}from"./multi-map-9ogswH46.js";import{t as R}from"./createLucideIcon-BTp1tQDO.js";var S=R("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"}]]),u,c;function U(r,e,n,a,i){var t={};return Object.keys(a).forEach(function(s){t[s]=a[s]}),t.enumerable=!!t.enumerable,t.configurable=!!t.configurable,("value"in t||t.initializer)&&(t.writable=!0),t=n.slice().reverse().reduce(function(s,o){return o(r,e,s)||s},t),i&&t.initializer!==void 0&&(t.value=t.initializer?t.initializer.call(i):void 0,t.initializer=void 0),t.initializer===void 0?(Object.defineProperty(r,e,t),null):t}var d=class{async getAttachments(r){return[]}asURI(r){return`${this.contextType}://${r}`}parseContextIds(r){let e=RegExp(`${this.mentionPrefix}([\\w-]+):\\/\\/([\\w./-]+)`,"g"),n=[...r.matchAll(e)],a=t=>t.slice(1),i=n.filter(([,t])=>t===this.contextType).map(([t])=>a(t));return[...new Set(i)]}createBasicCompletion(r,e){return{label:`${this.mentionPrefix}${r.uri.split("://")[1]}`,displayLabel:r.name,detail:(e==null?void 0:e.detail)||r.description,boost:(e==null?void 0:e.boost)||1,type:(e==null?void 0:e.type)||this.contextType,apply:`${this.mentionPrefix}${r.uri}`,section:(e==null?void 0:e.section)||this.title}}};let _=(u=C(),c=class{constructor(){l(this,"providers",new Set)}register(r){return this.providers.add(r),this}getProviders(){return this.providers}getProvider(r){return[...this.providers].find(e=>e.contextType===r)}getAllItems(){return[...this.providers].flatMap(r=>r.getItems())}parseAllContextIds(r){return[...this.providers].flatMap(e=>e.parseContextIds(r))}getContextInfo(r){let e=[],n=new Map(this.getAllItems().map(a=>[a.uri,a]));for(let a of r){let i=n.get(a);i&&e.push(i)}return e}formatContextForAI(r){let e=new Map(this.getAllItems().map(a=>[a.uri,a])),n=[];for(let a of r){let i=e.get(a);i&&n.push(i)}return n.length===0?"":n.map(a=>{var i;return((i=this.getProvider(a.type))==null?void 0:i.formatContext(a))||""}).join(`
2
2
 
3
3
  `)}async getAttachmentsForContext(r){let e=new Map(this.getAllItems().map(t=>[t.uri,t])),n=[];for(let t of r){let s=e.get(t);s&&n.push(s)}if(n.length===0)return[];let a=new $;for(let t of n){let s=t.type;a.add(s,t)}let i=[...a.entries()].map(async([t,s])=>{let o=this.getProvider(t);if(!o)return[];try{return await o.getAttachments(s)}catch(v){return P.error("Error getting attachments from provider",v),[]}});return(await Promise.all(i)).flat()}},U(c.prototype,"getAllItems",[u],Object.getOwnPropertyDescriptor(c.prototype,"getAllItems"),c.prototype),c);function f(r){return r.replaceAll("<","&lt;").replaceAll(">","&gt;")}function h(r){let{type:e,data:n,details:a}=r,i=`<${e}`;for(let[t,s]of Object.entries(n))if(s!==void 0){let o=f(typeof s=="object"&&s?JSON.stringify(s):String(s));i+=` ${t}="${o}"`}return i+=">",a&&(i+=f(a)),i+=`</${e}>`,i}const g={LOCAL_TABLE:7,REMOTE_TABLE:5,HIGH:4,MEDIUM:3,CELL_OUTPUT:2,LOW:2},y={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}};var D=M(),b="datasource",k=class extends d{constructor(e,n){super();l(this,"title","Datasource");l(this,"mentionPrefix","@");l(this,"contextType",b);this.connectionsMap=e,this.dataframes=[...n.values()].filter(a=>T(a)==="dataframe")}getItems(){return[...this.connectionsMap.values()].map(e=>{var i;let n="Database schema.",a={connection:e};return p.has(e.name)&&(a.tables=this.dataframes,n="Database schema and the dataframes that can be queried"),e.databases.length===0&&(((i=a.tables)==null?void 0:i.length)??0)===0?null:{uri:this.asURI(e.name),name:e.name,description:n,type:this.contextType,data:a}}).filter(Boolean)}formatContext(e){let n=e.data,{name:a,display_name:i,source:t,...s}=n.connection,o=s;return p.has(a)||(o={...s,engine_name:a}),h({type:this.contextType,data:{connection:o,tables:n.tables}})}formatCompletion(e){let n=e.data,a=n.connection,i=n.tables,t=a.name;return p.has(a.name)&&(t="In-Memory"),{label:`@${t}`,displayLabel:t,detail:L(a.dialect),boost:g.MEDIUM,type:this.contextType,section:y.DATA_SOURCES,info:()=>{let s=document.createElement("div");return s.classList.add("mo-cm-tooltip","docs-documentation"),(0,D.createRoot)(s).render(O(a,i)),s}}}};function z(r){var s;let e=(s=m.get(w(r)))==null?void 0:s.code;if(!e||e.trim()==="")return null;let[n,a,i]=I.sql.transformIn(e),t=m.get(E).connectionsMap.get(i.engine);return t?`@${b}://${t.name}`:null}export{h as a,S as c,y as i,z as n,d as o,g as r,_ as s,k as t};