@marimo-team/frontend 0.23.6-dev13 → 0.23.6-dev16

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 (75) hide show
  1. package/dist/assets/{CellStatus-DKMrz26-.js → CellStatus-BasmzQBh.js} +1 -1
  2. package/dist/assets/{JsonOutput-02ehjjSC.js → JsonOutput-vLKwARbP.js} +1 -1
  3. package/dist/assets/{MarimoErrorOutput-Dbk0HqOA.js → MarimoErrorOutput-BV73ko7W.js} +1 -1
  4. package/dist/assets/RenderHTML-Cv8cr_an.js +1 -0
  5. package/dist/assets/{add-cell-with-ai-DfniMbLM.js → add-cell-with-ai-BqApEAcB.js} +1 -1
  6. package/dist/assets/{add-connection-dialog-8ChtH4mo.js → add-connection-dialog-C3cn-x1B.js} +1 -1
  7. package/dist/assets/{agent-panel-jsnbrvBR.js → agent-panel-C-5MUkzV.js} +1 -1
  8. package/dist/assets/{ai-model-dropdown-BFTnsrTP.js → ai-model-dropdown-DQ9Z4-uL.js} +4 -4
  9. package/dist/assets/{app-config-button-c_2rVezv.js → app-config-button-F1PfzgiC.js} +1 -1
  10. package/dist/assets/{cell-editor-WSoKgacR.js → cell-editor-C33HDTDM.js} +1 -1
  11. package/dist/assets/{cell-link-BRdZl0OJ.js → cell-link-8o8mCUzE.js} +1 -1
  12. package/dist/assets/{cells-CcBfzJ1Z.js → cells-Jdt48eTG.js} +47 -47
  13. package/dist/assets/{chat-display-NiFkPnNN.js → chat-display-YfE-PieK.js} +1 -1
  14. package/dist/assets/{chat-panel-C6V6gxrr.js → chat-panel-CGR5FQXH.js} +1 -1
  15. package/dist/assets/{chat-ui-BLiRBYhk.js → chat-ui-CzB2bGbZ.js} +1 -1
  16. package/dist/assets/{column-preview-rDM8Q-wn.js → column-preview-z4x0_KlJ.js} +1 -1
  17. package/dist/assets/{command-palette-CUYBVGPU.js → command-palette-Ft577HZi.js} +1 -1
  18. package/dist/assets/{common-CHmdPmWi.js → common-C6ZHulDM.js} +1 -1
  19. package/dist/assets/{components-HCInimq-.js → components-BiZUhizd.js} +1 -1
  20. package/dist/assets/{components-DVKf_7RU.js → components-Du9BBcZY.js} +1 -1
  21. package/dist/assets/{datasource-Czm_KBfK.js → datasource-BGCJgHn8.js} +1 -1
  22. package/dist/assets/{dependency-graph-panel-DPKylrlr.js → dependency-graph-panel-BFoJRcHv.js} +1 -1
  23. package/dist/assets/{documentation-panel-DZkIKuPv.js → documentation-panel-CL6z2pC-.js} +1 -1
  24. package/dist/assets/{download-YUQiaxS9.js → download-q17GDjRk.js} +1 -1
  25. package/dist/assets/{edit-page-BiwFohnL.js → edit-page-DTof11Ql.js} +3 -3
  26. package/dist/assets/{error-panel-C4UQHEjp.js → error-panel-CrL_-c65.js} +1 -1
  27. package/dist/assets/{file-explorer-panel-DEJtGGUp.js → file-explorer-panel-DxWjS8x0.js} +1 -1
  28. package/dist/assets/{file-icons-CMxkj_kV.js → file-icons-D1lzcliR.js} +1 -1
  29. package/dist/assets/{floating-outline-BtNnv2IX.js → floating-outline-DVqXePmL.js} +1 -1
  30. package/dist/assets/{focus-CXQpR65O.js → focus-Bz1PGBQ2.js} +1 -1
  31. package/dist/assets/{form-EgPmt17c.js → form-BeWsuyiN.js} +1 -1
  32. package/dist/assets/{home-page-CaIONOO0.js → home-page-B-NywDCP.js} +1 -1
  33. package/dist/assets/{hooks-CZcajTLZ.js → hooks-CenNRyn0.js} +1 -1
  34. package/dist/assets/{html-to-image-BHdf1t5J.js → html-to-image-BJDxFKbb.js} +1 -1
  35. package/dist/assets/{index-CL4WR8q8.js → index-CMy5rqL5.js} +4 -4
  36. package/dist/assets/{kiosk-mode-vHMq9vr1.js → kiosk-mode-DlJLa7MP.js} +1 -1
  37. package/dist/assets/layout-C0mYexWg.js +9 -0
  38. package/dist/assets/{logs-panel-DL9WeQsv.js → logs-panel--5x174b0.js} +1 -1
  39. package/dist/assets/{markdown-renderer-DmnGXdCp.js → markdown-renderer-9gIJjISB.js} +1 -1
  40. package/dist/assets/{name-cell-input-CHuLB3H7.js → name-cell-input-DUUJ7fdG.js} +1 -1
  41. package/dist/assets/{outline-panel-JaSUHnmD.js → outline-panel-B6y7CdzK.js} +1 -1
  42. package/dist/assets/{packages-panel-BB5_Iu2c.js → packages-panel-C973lbUg.js} +1 -1
  43. package/dist/assets/{panels-D4g3bUpO.js → panels-C-FuTmb5.js} +1 -1
  44. package/dist/assets/{process-output-hJso9ugZ.js → process-output-TR8koJYc.js} +1 -1
  45. package/dist/assets/{radio-group-6t7ozlnG.js → radio-group-B0jYgGRE.js} +1 -1
  46. package/dist/assets/{readonly-python-code-JBCsN3-9.js → readonly-python-code-BNCBnJYH.js} +1 -1
  47. package/dist/assets/{reveal-component-BKMB17JT.js → reveal-component-Dm1r-VqB.js} +1 -1
  48. package/dist/assets/{run-page-BPM6GfJo.js → run-page-Bg9tp_B4.js} +1 -1
  49. package/dist/assets/{scratchpad-panel-Cabu2odx.js → scratchpad-panel-BTCY4gJu.js} +1 -1
  50. package/dist/assets/{session-panel-BAiIHm0d.js → session-panel-CQ0WCDPM.js} +1 -1
  51. package/dist/assets/{snippets-panel-CQKr-OMs.js → snippets-panel-CYRWuEqZ.js} +1 -1
  52. package/dist/assets/{state-DGoUR-mM.js → state-B1sEnd95.js} +1 -1
  53. package/dist/assets/{state-DCT6JLba.js → state-Bhut5iLD.js} +1 -1
  54. package/dist/assets/{textarea-BI_mXP9w.js → textarea-DapfQSws.js} +1 -1
  55. package/dist/assets/{tracing-BF-ca60a.js → tracing-D3nIh6vh.js} +1 -1
  56. package/dist/assets/{tracing-panel-D1j7Fbvr.js → tracing-panel-B23uvwYc.js} +2 -2
  57. package/dist/assets/{useCellActionButton-CcXV09GQ.js → useCellActionButton-DrzG-_Bd.js} +1 -1
  58. package/dist/assets/{useDeleteCell-BVX9aH-t.js → useDeleteCell-CcnkgOq-.js} +1 -1
  59. package/dist/assets/{useDependencyPanelTab-CewdyAAy.js → useDependencyPanelTab-Dv04JzMr.js} +1 -1
  60. package/dist/assets/useNotebookActions-C0IbJuzO.js +1 -0
  61. package/dist/assets/{useRunCells-CgXnbA14.js → useRunCells-BeRcytF8.js} +1 -1
  62. package/dist/assets/{useSplitCell-_Q2wQXsQ.js → useSplitCell-DSLPh_8D.js} +1 -1
  63. package/dist/index.html +22 -22
  64. package/package.json +5 -5
  65. package/src/components/slides/slide-form.tsx +43 -0
  66. package/src/core/cells/__tests__/apply-transaction.test.ts +193 -27
  67. package/src/core/cells/__tests__/cells.test.ts +99 -0
  68. package/src/core/cells/__tests__/document-changes.test.ts +14 -0
  69. package/src/core/cells/cells.ts +14 -1
  70. package/src/core/cells/document-changes.ts +17 -14
  71. package/src/plugins/core/RenderHTML.tsx +49 -3
  72. package/src/plugins/core/__test__/RenderHTML.test.ts +54 -0
  73. package/dist/assets/RenderHTML-8cI8zL5y.js +0 -1
  74. package/dist/assets/layout-DNOqvNbP.js +0 -9
  75. package/dist/assets/useNotebookActions-CWpi-dx_.js +0 -1
@@ -1 +1 @@
1
- import{s as P}from"./chunk-LvLJmgfZ.js";import{t as U}from"./react-Bj1aDYRI.js";import{gr as X,ur as $}from"./cells-CcBfzJ1Z.js";import{C as z,P as G,R as E,T as K}from"./zod-H_cgTO0M.js";import{t as J}from"./compiler-runtime-B3qBwwSJ.js";import{t as L}from"./isEmpty-CXeoXbuc.js";import{X as Q}from"./ai-model-dropdown-BFTnsrTP.js";import{_ as W}from"./useEventListener-BR0C1MaI.js";import{t as C}from"./cn-DCUzRj2J.js";import{t as Y}from"./jsx-runtime-BqBOg78p.js";import{a as D,i as I,n as V,r as B}from"./multi-map-rafH3cg3.js";import{i as Z}from"./strings-md4mFbOQ.js";import{t as ee}from"./bot-message-square-DrbHk31W.js";import{t as H}from"./markdown-renderer-DmnGXdCp.js";import{l as te}from"./add-cell-with-ai-DfniMbLM.js";import{n as se}from"./spinner-Bhir8k53.js";import{c as ae}from"./datasource-Czm_KBfK.js";import{t as re}from"./RenderHTML-8cI8zL5y.js";var le=J(),ne=P(U(),1),t=P(Y(),1);const oe=n=>{let e=(0,le.c)(13),{reasoning:a,index:l,isStreaming:s}=n,r=l===void 0?0:l,m=s===void 0?!1:s,o=m?"reasoning":void 0,x;e[0]===Symbol.for("react.memo_cache_sentinel")?(x=(0,t.jsx)(ee,{className:"h-3 w-3"}),e[0]=x):x=e[0];let p=m?"Thinking":"View reasoning",c;e[1]!==a.length||e[2]!==p?(c=(0,t.jsx)(D,{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,t.jsxs)("span",{className:"flex items-center gap-2",children:[x,p," (",a.length," ","chars)"]})}),e[1]=a.length,e[2]=p,e[3]=c):c=e[3];let i;e[4]===a?i=e[5]:(i=(0,t.jsx)(B,{className:"pb-2 px-2",children:(0,t.jsx)("div",{className:"bg-muted/30 border border-muted/50 rounded-md p-3 italic text-muted-foreground/90 relative",children:(0,t.jsx)("div",{className:"pr-6",children:(0,t.jsx)(H,{content:a})})})}),e[4]=a,e[5]=i);let d;e[6]!==c||e[7]!==i?(d=(0,t.jsxs)(I,{value:"reasoning",className:"border-0",children:[c,i]}),e[6]=c,e[7]=i,e[8]=d):d=e[8];let u;return e[9]!==r||e[10]!==o||e[11]!==d?(u=(0,t.jsx)(V,{type:"single",collapsible:!0,className:"w-full mb-2",value:o,children:d},r),e[9]=r,e[10]=o,e[11]=d,e[12]=u):u=e[12],u};var T=J(),ie=G({status:E().default("success"),auth_required:K().default(!1),action_url:z(),next_steps:z(),meta:z(),message:E().nullish()}).passthrough(),de=n=>{let e=(0,T.c)(12),{data:a}=n,l;if(e[0]!==a){let{status:s,auth_required:r,action_url:m,meta:o,next_steps:x,message:p,...c}=a,i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=(0,t.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Tool Result"}),e[2]=i):i=e[2];let d;e[3]===s?d=e[4]:(d=(0,t.jsx)("span",{className:"text-xs px-2 py-0.5 bg-[var(--grass-2)] text-[var(--grass-11)] rounded-full font-medium capitalize",children:s}),e[3]=s,e[4]=d);let u;e[5]===r?u=e[6]:(u=r&&(0,t.jsx)("span",{className:"text-xs px-2 py-0.5 bg-[var(--amber-2)] text-[var(--amber-11)] rounded-full",children:"Auth Required"}),e[5]=r,e[6]=u);let h;e[7]!==d||e[8]!==u?(h=(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[i,(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[d,u]})]}),e[7]=d,e[8]=u,e[9]=h):h=e[9];let f;e[10]===p?f=e[11]:(f=p&&(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[(0,t.jsx)($,{className:"h-3 w-3 text-[var(--blue-11)] mt-0.5 flex-shrink-0"}),(0,t.jsx)("div",{className:"text-xs text-foreground",children:p})]}),e[10]=p,e[11]=f),l=(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[h,f,c&&(0,t.jsx)("div",{className:"space-y-3",children:Object.entries(c).map(xe)})]}),e[0]=a,e[1]=l}else l=e[1];return l},ce=n=>{let e=(0,T.c)(8),{result:a}=n,l;e[0]===a?l=e[1]:(l=ie.safeParse(a),e[0]=a,e[1]=l);let s=l;if(s.success){let o;return e[2]===s.data?o=e[3]:(o=(0,t.jsx)(de,{data:s.data}),e[2]=s.data,e[3]=o),o}let r;e[4]===a?r=e[5]:(r=typeof a=="string"?a:JSON.stringify(a,null,2),e[4]=a,e[5]=r);let m;return e[6]===r?m=e[7]:(m=(0,t.jsx)("div",{className:"text-xs font-medium text-muted-foreground mb-1 max-h-64 overflow-y-auto scrollbar-thin",children:r}),e[6]=r,e[7]=m),m},me=n=>{let e=(0,T.c)(9),{input:a}=n;if(!(a&&a!==null))return null;let l;e[0]===a?l=e[1]:(l=L(a),e[0]=a,e[1]=l);let s=l,r=typeof a=="object"&&!Array.isArray(a)&&Object.keys(a).length>0,m;e[2]===Symbol.for("react.memo_cache_sentinel")?(m=(0,t.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Tool Request"}),e[2]=m):m=e[2];let o;e[3]!==a||e[4]!==s||e[5]!==r?(o=s?"{}":r?JSON.stringify(a,null,2):String(a),e[3]=a,e[4]=s,e[5]=r,e[6]=o):o=e[6];let x;return e[7]===o?x=e[8]:(x=(0,t.jsxs)("div",{className:"space-y-2",children:[m,(0,t.jsx)("pre",{className:"bg-[var(--slate-2)] p-2 text-muted-foreground border border-[var(--slate-4)] rounded text-xs overflow-auto scrollbar-thin max-h-64",children:o})]}),e[7]=o,e[8]=x),x};const M=n=>{let e=(0,T.c)(38),{toolName:a,result:l,error:s,index:r,state:m,className:o,input:x}=n,p=r===void 0?0:r,c=m==="output-available"&&(l||s),i=s?"error":c?"success":"loading",d;e[0]===i?d=e[1]:(d=()=>{switch(i){case"loading":return(0,t.jsx)(se,{className:"h-3 w-3 animate-spin"});case"error":return(0,t.jsx)(X,{className:"h-3 w-3 text-[var(--red-11)]"});case"success":return(0,t.jsx)(Q,{className:"h-3 w-3 text-[var(--grass-11)]"});default:return(0,t.jsx)(ae,{className:"h-3 w-3"})}},e[0]=i,e[1]=d);let u=d,h;e[2]!==s||e[3]!==c||e[4]!==i?(h=()=>i==="loading"?"Running":s?"Failed":c?"Done":"Tool call",e[2]=s,e[3]=c,e[4]=i,e[5]=h):h=e[5];let f=h,F=`tool-${p}`,g;e[6]===o?g=e[7]:(g=C("w-full",o),e[6]=o,e[7]=g);let A=i==="error"&&"text-[var(--red-11)]/80",k=i==="success"&&"text-[var(--grass-11)]/80",j;e[8]!==A||e[9]!==k?(j=C("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",A,k),e[8]=A,e[9]=k,e[10]=j):j=e[10];let v;e[11]===u?v=e[12]:(v=u(),e[11]=u,e[12]=v);let q=f(),b;e[13]===a?b=e[14]:(b=ue(a),e[13]=a,e[14]=b);let N;e[15]===b?N=e[16]:(N=(0,t.jsx)("code",{className:"font-mono text-xs",children:b}),e[15]=b,e[16]=N);let y;e[17]!==q||e[18]!==N||e[19]!==v?(y=(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[v,q,":",N]}),e[17]=q,e[18]=N,e[19]=v,e[20]=y):y=e[20];let w;e[21]!==y||e[22]!==j?(w=(0,t.jsx)(D,{className:j,children:y}),e[21]=y,e[22]=j,e[23]=w):w=e[23];let _;e[24]!==s||e[25]!==c||e[26]!==x||e[27]!==l?(_=c&&(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)(me,{input:x}),l!=null&&(0,t.jsx)(ce,{result:l}),s&&(0,t.jsxs)("div",{className:"bg-[var(--red-2)] border border-[var(--red-6)] rounded-lg p-3",children:[(0,t.jsxs)("div",{className:"text-xs font-semibold text-[var(--red-11)] mb-2 flex items-center gap-2",children:[(0,t.jsx)("div",{className:"w-1.5 h-1.5 bg-[var(--red-9)] rounded-full"}),"Error"]}),(0,t.jsx)("div",{className:"text-sm text-[var(--red-11)] leading-relaxed",children:s})]})]}),e[24]=s,e[25]=c,e[26]=x,e[27]=l,e[28]=_):_=e[28];let S;e[29]===_?S=e[30]:(S=(0,t.jsx)(B,{className:"py-2 px-2",children:_}),e[29]=_,e[30]=S);let R;e[31]!==w||e[32]!==S?(R=(0,t.jsxs)(I,{value:"tool-call",className:"border-0",children:[w,S]}),e[31]=w,e[32]=S,e[33]=R):R=e[33];let O;return e[34]!==R||e[35]!==F||e[36]!==g?(O=(0,t.jsx)(V,{type:"single",collapsible:!0,className:g,children:R},F),e[34]=R,e[35]=F,e[36]=g,e[37]=O):O=e[37],O};function ue(n){return n.replace("tool-","")}function xe(n){let[e,a]=n;return L(a)?null:(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsxs)("div",{className:"text-xs font-medium text-muted-foreground capitalize flex items-center gap-2",children:[(0,t.jsx)("div",{className:"w-1.5 h-1.5 bg-[var(--blue-9)] rounded-full"}),e]}),(0,t.jsx)("pre",{className:"bg-[var(--slate-2)] p-2 text-muted-foreground border border-[var(--slate-4)] rounded text-xs overflow-auto scrollbar-thin max-h-64",children:JSON.stringify(a,null,2)})]},e)}const pe=({message:n,isStreamingReasoning:e,isLast:a})=>{return(0,t.jsx)(t.Fragment,{children:n.parts.map((s,r)=>l(s,r))});function l(s,r){if(he(s))return(0,t.jsx)(M,{index:r,toolName:s.type,result:s.output,className:"my-2",state:s.state,input:s.input},r);if(fe(s))return W.debug("Found data part",s),null;switch(s.type){case"text":return s.text.includes("<marimo-")?(0,t.jsx)(ne.Fragment,{children:re({html:s.text})},r):(0,t.jsx)(H,{content:s.text},r);case"reasoning":return(0,t.jsx)(oe,{reasoning:s.text,index:r,isStreaming:e&&a&&r===(n.parts.length||0)-1},r);case"file":return(0,t.jsx)(te,{attachment:s},r);case"dynamic-tool":return(0,t.jsx)(M,{toolName:s.toolName,result:s.output,state:s.state,input:s.input},r);case"source-document":case"source-url":case"step-start":return W.debug("Found non-renderable part",s),null;default:return Z(s),null}}};function he(n){return n.type.startsWith("tool-")}function fe(n){return n.type.startsWith("data-")}export{pe as t};
1
+ import{s as P}from"./chunk-LvLJmgfZ.js";import{t as U}from"./react-Bj1aDYRI.js";import{gr as X,ur as $}from"./cells-Jdt48eTG.js";import{C as z,P as G,R as E,T as K}from"./zod-H_cgTO0M.js";import{t as J}from"./compiler-runtime-B3qBwwSJ.js";import{t as L}from"./isEmpty-CXeoXbuc.js";import{X as Q}from"./ai-model-dropdown-DQ9Z4-uL.js";import{_ as W}from"./useEventListener-BR0C1MaI.js";import{t as C}from"./cn-DCUzRj2J.js";import{t as Y}from"./jsx-runtime-BqBOg78p.js";import{a as D,i as I,n as V,r as B}from"./multi-map-rafH3cg3.js";import{i as Z}from"./strings-md4mFbOQ.js";import{t as ee}from"./bot-message-square-DrbHk31W.js";import{t as H}from"./markdown-renderer-9gIJjISB.js";import{l as te}from"./add-cell-with-ai-BqApEAcB.js";import{n as se}from"./spinner-Bhir8k53.js";import{c as ae}from"./datasource-BGCJgHn8.js";import{t as re}from"./RenderHTML-Cv8cr_an.js";var le=J(),ne=P(U(),1),t=P(Y(),1);const oe=n=>{let e=(0,le.c)(13),{reasoning:a,index:l,isStreaming:s}=n,r=l===void 0?0:l,m=s===void 0?!1:s,o=m?"reasoning":void 0,x;e[0]===Symbol.for("react.memo_cache_sentinel")?(x=(0,t.jsx)(ee,{className:"h-3 w-3"}),e[0]=x):x=e[0];let p=m?"Thinking":"View reasoning",c;e[1]!==a.length||e[2]!==p?(c=(0,t.jsx)(D,{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,t.jsxs)("span",{className:"flex items-center gap-2",children:[x,p," (",a.length," ","chars)"]})}),e[1]=a.length,e[2]=p,e[3]=c):c=e[3];let i;e[4]===a?i=e[5]:(i=(0,t.jsx)(B,{className:"pb-2 px-2",children:(0,t.jsx)("div",{className:"bg-muted/30 border border-muted/50 rounded-md p-3 italic text-muted-foreground/90 relative",children:(0,t.jsx)("div",{className:"pr-6",children:(0,t.jsx)(H,{content:a})})})}),e[4]=a,e[5]=i);let d;e[6]!==c||e[7]!==i?(d=(0,t.jsxs)(I,{value:"reasoning",className:"border-0",children:[c,i]}),e[6]=c,e[7]=i,e[8]=d):d=e[8];let u;return e[9]!==r||e[10]!==o||e[11]!==d?(u=(0,t.jsx)(V,{type:"single",collapsible:!0,className:"w-full mb-2",value:o,children:d},r),e[9]=r,e[10]=o,e[11]=d,e[12]=u):u=e[12],u};var T=J(),ie=G({status:E().default("success"),auth_required:K().default(!1),action_url:z(),next_steps:z(),meta:z(),message:E().nullish()}).passthrough(),de=n=>{let e=(0,T.c)(12),{data:a}=n,l;if(e[0]!==a){let{status:s,auth_required:r,action_url:m,meta:o,next_steps:x,message:p,...c}=a,i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=(0,t.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Tool Result"}),e[2]=i):i=e[2];let d;e[3]===s?d=e[4]:(d=(0,t.jsx)("span",{className:"text-xs px-2 py-0.5 bg-[var(--grass-2)] text-[var(--grass-11)] rounded-full font-medium capitalize",children:s}),e[3]=s,e[4]=d);let u;e[5]===r?u=e[6]:(u=r&&(0,t.jsx)("span",{className:"text-xs px-2 py-0.5 bg-[var(--amber-2)] text-[var(--amber-11)] rounded-full",children:"Auth Required"}),e[5]=r,e[6]=u);let h;e[7]!==d||e[8]!==u?(h=(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[i,(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[d,u]})]}),e[7]=d,e[8]=u,e[9]=h):h=e[9];let f;e[10]===p?f=e[11]:(f=p&&(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[(0,t.jsx)($,{className:"h-3 w-3 text-[var(--blue-11)] mt-0.5 flex-shrink-0"}),(0,t.jsx)("div",{className:"text-xs text-foreground",children:p})]}),e[10]=p,e[11]=f),l=(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[h,f,c&&(0,t.jsx)("div",{className:"space-y-3",children:Object.entries(c).map(xe)})]}),e[0]=a,e[1]=l}else l=e[1];return l},ce=n=>{let e=(0,T.c)(8),{result:a}=n,l;e[0]===a?l=e[1]:(l=ie.safeParse(a),e[0]=a,e[1]=l);let s=l;if(s.success){let o;return e[2]===s.data?o=e[3]:(o=(0,t.jsx)(de,{data:s.data}),e[2]=s.data,e[3]=o),o}let r;e[4]===a?r=e[5]:(r=typeof a=="string"?a:JSON.stringify(a,null,2),e[4]=a,e[5]=r);let m;return e[6]===r?m=e[7]:(m=(0,t.jsx)("div",{className:"text-xs font-medium text-muted-foreground mb-1 max-h-64 overflow-y-auto scrollbar-thin",children:r}),e[6]=r,e[7]=m),m},me=n=>{let e=(0,T.c)(9),{input:a}=n;if(!(a&&a!==null))return null;let l;e[0]===a?l=e[1]:(l=L(a),e[0]=a,e[1]=l);let s=l,r=typeof a=="object"&&!Array.isArray(a)&&Object.keys(a).length>0,m;e[2]===Symbol.for("react.memo_cache_sentinel")?(m=(0,t.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Tool Request"}),e[2]=m):m=e[2];let o;e[3]!==a||e[4]!==s||e[5]!==r?(o=s?"{}":r?JSON.stringify(a,null,2):String(a),e[3]=a,e[4]=s,e[5]=r,e[6]=o):o=e[6];let x;return e[7]===o?x=e[8]:(x=(0,t.jsxs)("div",{className:"space-y-2",children:[m,(0,t.jsx)("pre",{className:"bg-[var(--slate-2)] p-2 text-muted-foreground border border-[var(--slate-4)] rounded text-xs overflow-auto scrollbar-thin max-h-64",children:o})]}),e[7]=o,e[8]=x),x};const M=n=>{let e=(0,T.c)(38),{toolName:a,result:l,error:s,index:r,state:m,className:o,input:x}=n,p=r===void 0?0:r,c=m==="output-available"&&(l||s),i=s?"error":c?"success":"loading",d;e[0]===i?d=e[1]:(d=()=>{switch(i){case"loading":return(0,t.jsx)(se,{className:"h-3 w-3 animate-spin"});case"error":return(0,t.jsx)(X,{className:"h-3 w-3 text-[var(--red-11)]"});case"success":return(0,t.jsx)(Q,{className:"h-3 w-3 text-[var(--grass-11)]"});default:return(0,t.jsx)(ae,{className:"h-3 w-3"})}},e[0]=i,e[1]=d);let u=d,h;e[2]!==s||e[3]!==c||e[4]!==i?(h=()=>i==="loading"?"Running":s?"Failed":c?"Done":"Tool call",e[2]=s,e[3]=c,e[4]=i,e[5]=h):h=e[5];let f=h,F=`tool-${p}`,g;e[6]===o?g=e[7]:(g=C("w-full",o),e[6]=o,e[7]=g);let A=i==="error"&&"text-[var(--red-11)]/80",k=i==="success"&&"text-[var(--grass-11)]/80",j;e[8]!==A||e[9]!==k?(j=C("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",A,k),e[8]=A,e[9]=k,e[10]=j):j=e[10];let v;e[11]===u?v=e[12]:(v=u(),e[11]=u,e[12]=v);let q=f(),b;e[13]===a?b=e[14]:(b=ue(a),e[13]=a,e[14]=b);let N;e[15]===b?N=e[16]:(N=(0,t.jsx)("code",{className:"font-mono text-xs",children:b}),e[15]=b,e[16]=N);let y;e[17]!==q||e[18]!==N||e[19]!==v?(y=(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[v,q,":",N]}),e[17]=q,e[18]=N,e[19]=v,e[20]=y):y=e[20];let w;e[21]!==y||e[22]!==j?(w=(0,t.jsx)(D,{className:j,children:y}),e[21]=y,e[22]=j,e[23]=w):w=e[23];let _;e[24]!==s||e[25]!==c||e[26]!==x||e[27]!==l?(_=c&&(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)(me,{input:x}),l!=null&&(0,t.jsx)(ce,{result:l}),s&&(0,t.jsxs)("div",{className:"bg-[var(--red-2)] border border-[var(--red-6)] rounded-lg p-3",children:[(0,t.jsxs)("div",{className:"text-xs font-semibold text-[var(--red-11)] mb-2 flex items-center gap-2",children:[(0,t.jsx)("div",{className:"w-1.5 h-1.5 bg-[var(--red-9)] rounded-full"}),"Error"]}),(0,t.jsx)("div",{className:"text-sm text-[var(--red-11)] leading-relaxed",children:s})]})]}),e[24]=s,e[25]=c,e[26]=x,e[27]=l,e[28]=_):_=e[28];let S;e[29]===_?S=e[30]:(S=(0,t.jsx)(B,{className:"py-2 px-2",children:_}),e[29]=_,e[30]=S);let R;e[31]!==w||e[32]!==S?(R=(0,t.jsxs)(I,{value:"tool-call",className:"border-0",children:[w,S]}),e[31]=w,e[32]=S,e[33]=R):R=e[33];let O;return e[34]!==R||e[35]!==F||e[36]!==g?(O=(0,t.jsx)(V,{type:"single",collapsible:!0,className:g,children:R},F),e[34]=R,e[35]=F,e[36]=g,e[37]=O):O=e[37],O};function ue(n){return n.replace("tool-","")}function xe(n){let[e,a]=n;return L(a)?null:(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsxs)("div",{className:"text-xs font-medium text-muted-foreground capitalize flex items-center gap-2",children:[(0,t.jsx)("div",{className:"w-1.5 h-1.5 bg-[var(--blue-9)] rounded-full"}),e]}),(0,t.jsx)("pre",{className:"bg-[var(--slate-2)] p-2 text-muted-foreground border border-[var(--slate-4)] rounded text-xs overflow-auto scrollbar-thin max-h-64",children:JSON.stringify(a,null,2)})]},e)}const pe=({message:n,isStreamingReasoning:e,isLast:a})=>{return(0,t.jsx)(t.Fragment,{children:n.parts.map((s,r)=>l(s,r))});function l(s,r){if(he(s))return(0,t.jsx)(M,{index:r,toolName:s.type,result:s.output,className:"my-2",state:s.state,input:s.input},r);if(fe(s))return W.debug("Found data part",s),null;switch(s.type){case"text":return s.text.includes("<marimo-")?(0,t.jsx)(ne.Fragment,{children:re({html:s.text})},r):(0,t.jsx)(H,{content:s.text},r);case"reasoning":return(0,t.jsx)(oe,{reasoning:s.text,index:r,isStreaming:e&&a&&r===(n.parts.length||0)-1},r);case"file":return(0,t.jsx)(te,{attachment:s},r);case"dynamic-tool":return(0,t.jsx)(M,{toolName:s.toolName,result:s.output,state:s.state,input:s.input},r);case"source-document":case"source-url":case"step-start":return W.debug("Found non-renderable part",s),null;default:return Z(s),null}}};function he(n){return n.type.startsWith("tool-")}function fe(n){return n.type.startsWith("data-")}export{pe as t};
@@ -1,3 +1,3 @@
1
- import{s as Ke}from"./chunk-LvLJmgfZ.js";import{d as kt,f as Lt,l as It,n as ue,u as We}from"./useEvent-D91BmmQi.js";import{t as Pt}from"./react-Bj1aDYRI.js";import{E as Dt,hr as Mt}from"./cells-CcBfzJ1Z.js";import"./react-dom-CSu739Rf.js";import{t as Qe}from"./compiler-runtime-B3qBwwSJ.js";import{E as zt,T as Ft,o as Ht,r as Ze,t as Ot}from"./ai-model-dropdown-BFTnsrTP.js";import{_ as _e,o as le}from"./useEventListener-BR0C1MaI.js";import{n as et,r as Ut}from"./utils-DIGrmLDO.js";import{o as Wt}from"./config-DczIUz0b.js";import{t as oe}from"./cn-DCUzRj2J.js";import{t as Yt}from"./jsx-runtime-BqBOg78p.js";import{C as pe,S as Xt,_ as Te,b as V,h as q,y as Vt}from"./fullscreen-BDxedMYP.js";import{u as qt}from"./menu-items-CwUpDHG7.js";import{i as Bt,r as $t,t as Gt}from"./popover-UExmgBsf.js";import{a as Jt,i as Kt,n as Qt,p as Zt,r as er,s as tr,t as rr}from"./select-5i7URBEn.js";import{i as tt,t as Ye}from"./tooltip-Gcwqb_SK.js";import{t as ae}from"./button-D9nb17Rw.js";import"./dist-BrR4M-k3.js";import"./cjs-BRGiG41H.js";import"./main-B0OX4z33.js";import"./useNonce-DfoVjkkH.js";import{r as lr}from"./requests-DIwGYs0l.js";import{t as rt}from"./createLucideIcon-D5guW7EU.js";import{t as lt}from"./bot-message-square-DrbHk31W.js";import"./markdown-renderer-DmnGXdCp.js";import{O as ot,S as or,T as ar,_ as nr,b as sr,c as ir,d as cr,f as dr,g as ur,h as pr,j as mr,k as hr,l as fr,m as at,n as nt,p as xr,s as vr,u as gr,v as wr,y as br}from"./add-cell-with-ai-DfniMbLM.js";import{n as yr}from"./spinner-Bhir8k53.js";import{t as jr}from"./message-circle-CWm2KnSx.js";import{t as Sr}from"./plus-BgB18UzY.js";import{dt as Cr,r as Nr}from"./input-BX98vgAu.js";import{t as Rr}from"./settings-DfFe0dWD.js";import"./dist-DQOq2Tf-.js";import"./dist-DBiqbYe-.js";import"./dist-VjDnmGCZ.js";import"./dist-E6ttb8td.js";import"./dist-B324sPca.js";import"./session-VtovaFBS.js";import"./purify.es-DBmVz-Wl.js";import{i as Ar}from"./dates-CAlnO9QB.js";import{t as _r}from"./copy-icon-BYNydU7b.js";import{t as Tr}from"./context-B3MsQb-b.js";import{r as st,t as Er}from"./state-DCT6JLba.js";import{n as kr}from"./error-banner-C6aBa98y.js";import"./chunk-5FQGJX7Z-e_arGD4o.js";import"./html-to-image-BHdf1t5J.js";import"./esm-BmrwxxCo.js";import{t as Xe}from"./empty-state-CsVQSqKA.js";import{t as Lr}from"./chat-display-NiFkPnNN.js";var p=Ke(Pt(),1),o=Ke(Yt(),1);function Ir(e,t){return p.useReducer((r,n)=>t[r][n]??r,e)}var Ve="ScrollArea",[it,po]=Xt(Ve),[Pr,z]=it(Ve),ct=p.forwardRef((e,t)=>{let{__scopeScrollArea:r,type:n="hover",dir:l,scrollHideDelay:a=600,...s}=e,[i,c]=p.useState(null),[u,d]=p.useState(null),[m,h]=p.useState(null),[f,v]=p.useState(null),[j,T]=p.useState(null),[g,N]=p.useState(0),[R,y]=p.useState(0),[S,C]=p.useState(!1),[E,I]=p.useState(!1),w=le(t,k=>c(k)),_=qt(l);return(0,o.jsx)(Pr,{scope:r,type:n,dir:_,scrollHideDelay:a,scrollArea:i,viewport:u,onViewportChange:d,content:m,onContentChange:h,scrollbarX:f,onScrollbarXChange:v,scrollbarXEnabled:S,onScrollbarXEnabledChange:C,scrollbarY:j,onScrollbarYChange:T,scrollbarYEnabled:E,onScrollbarYEnabledChange:I,onCornerWidthChange:N,onCornerHeightChange:y,children:(0,o.jsx)(pe.div,{dir:_,...s,ref:w,style:{position:"relative","--radix-scroll-area-corner-width":g+"px","--radix-scroll-area-corner-height":R+"px",...e.style}})})});ct.displayName=Ve;var dt="ScrollAreaViewport",ut=p.forwardRef((e,t)=>{let{__scopeScrollArea:r,children:n,nonce:l,...a}=e,s=z(dt,r),i=le(t,p.useRef(null),s.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)(pe.div,{"data-radix-scroll-area-viewport":"",...a,ref:i,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,o.jsx)("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"},children:n})})]})});ut.displayName=dt;var U="ScrollAreaScrollbar",qe=p.forwardRef((e,t)=>{let{forceMount:r,...n}=e,l=z(U,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:s}=l,i=e.orientation==="horizontal";return p.useEffect(()=>(i?a(!0):s(!0),()=>{i?a(!1):s(!1)}),[i,a,s]),l.type==="hover"?(0,o.jsx)(Dr,{...n,ref:t,forceMount:r}):l.type==="scroll"?(0,o.jsx)(Mr,{...n,ref:t,forceMount:r}):l.type==="auto"?(0,o.jsx)(pt,{...n,ref:t,forceMount:r}):l.type==="always"?(0,o.jsx)(Be,{...n,ref:t}):null});qe.displayName=U;var Dr=p.forwardRef((e,t)=>{let{forceMount:r,...n}=e,l=z(U,e.__scopeScrollArea),[a,s]=p.useState(!1);return p.useEffect(()=>{let i=l.scrollArea,c=0;if(i){let u=()=>{window.clearTimeout(c),s(!0)},d=()=>{c=window.setTimeout(()=>s(!1),l.scrollHideDelay)};return i.addEventListener("pointerenter",u),i.addEventListener("pointerleave",d),()=>{window.clearTimeout(c),i.removeEventListener("pointerenter",u),i.removeEventListener("pointerleave",d)}}},[l.scrollArea,l.scrollHideDelay]),(0,o.jsx)(Te,{present:r||a,children:(0,o.jsx)(pt,{"data-state":a?"visible":"hidden",...n,ref:t})})}),Mr=p.forwardRef((e,t)=>{let{forceMount:r,...n}=e,l=z(U,e.__scopeScrollArea),a=e.orientation==="horizontal",s=Ie(()=>c("SCROLL_END"),100),[i,c]=Ir("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 p.useEffect(()=>{if(i==="idle"){let u=window.setTimeout(()=>c("HIDE"),l.scrollHideDelay);return()=>window.clearTimeout(u)}},[i,l.scrollHideDelay,c]),p.useEffect(()=>{let u=l.viewport,d=a?"scrollLeft":"scrollTop";if(u){let m=u[d],h=()=>{let f=u[d];m!==f&&(c("SCROLL"),s()),m=f};return u.addEventListener("scroll",h),()=>u.removeEventListener("scroll",h)}},[l.viewport,a,c,s]),(0,o.jsx)(Te,{present:r||i!=="hidden",children:(0,o.jsx)(Be,{"data-state":i==="hidden"?"hidden":"visible",...n,ref:t,onPointerEnter:V(e.onPointerEnter,()=>c("POINTER_ENTER")),onPointerLeave:V(e.onPointerLeave,()=>c("POINTER_LEAVE"))})})}),pt=p.forwardRef((e,t)=>{let r=z(U,e.__scopeScrollArea),{forceMount:n,...l}=e,[a,s]=p.useState(!1),i=e.orientation==="horizontal",c=Ie(()=>{if(r.viewport){let u=r.viewport.offsetWidth<r.viewport.scrollWidth,d=r.viewport.offsetHeight<r.viewport.scrollHeight;s(i?u:d)}},10);return ne(r.viewport,c),ne(r.content,c),(0,o.jsx)(Te,{present:n||a,children:(0,o.jsx)(Be,{"data-state":a?"visible":"hidden",...l,ref:t})})}),Be=p.forwardRef((e,t)=>{let{orientation:r="vertical",...n}=e,l=z(U,e.__scopeScrollArea),a=p.useRef(null),s=p.useRef(0),[i,c]=p.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=vt(i.viewport,i.content),d={...n,sizes:i,onSizesChange:c,hasThumb:u>0&&u<1,onThumbChange:h=>a.current=h,onThumbPointerUp:()=>s.current=0,onThumbPointerDown:h=>s.current=h};function m(h,f){return Wr(h,s.current,i,f)}return r==="horizontal"?(0,o.jsx)(zr,{...d,ref:t,onThumbPositionChange:()=>{if(l.viewport&&a.current){let h=l.viewport.scrollLeft,f=gt(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=m(h,l.dir))}}):r==="vertical"?(0,o.jsx)(Fr,{...d,ref:t,onThumbPositionChange:()=>{if(l.viewport&&a.current){let h=l.viewport.scrollTop,f=gt(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=m(h))}}):null}),zr=p.forwardRef((e,t)=>{let{sizes:r,onSizesChange:n,...l}=e,a=z(U,e.__scopeScrollArea),[s,i]=p.useState(),c=p.useRef(null),u=le(t,c,a.onScrollbarXChange);return p.useEffect(()=>{c.current&&i(getComputedStyle(c.current))},[c]),(0,o.jsx)(ht,{"data-orientation":"horizontal",...l,ref:u,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":Le(r)+"px",...e.style},onThumbPointerDown:d=>e.onThumbPointerDown(d.x),onDragScroll:d=>e.onDragScroll(d.x),onWheelScroll:(d,m)=>{if(a.viewport){let h=a.viewport.scrollLeft+d.deltaX;e.onWheelScroll(h),bt(h,m)&&d.preventDefault()}},onResize:()=>{c.current&&a.viewport&&s&&n({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:ke(s.paddingLeft),paddingEnd:ke(s.paddingRight)}})}})}),Fr=p.forwardRef((e,t)=>{let{sizes:r,onSizesChange:n,...l}=e,a=z(U,e.__scopeScrollArea),[s,i]=p.useState(),c=p.useRef(null),u=le(t,c,a.onScrollbarYChange);return p.useEffect(()=>{c.current&&i(getComputedStyle(c.current))},[c]),(0,o.jsx)(ht,{"data-orientation":"vertical",...l,ref:u,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":Le(r)+"px",...e.style},onThumbPointerDown:d=>e.onThumbPointerDown(d.y),onDragScroll:d=>e.onDragScroll(d.y),onWheelScroll:(d,m)=>{if(a.viewport){let h=a.viewport.scrollTop+d.deltaY;e.onWheelScroll(h),bt(h,m)&&d.preventDefault()}},onResize:()=>{c.current&&a.viewport&&s&&n({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:ke(s.paddingTop),paddingEnd:ke(s.paddingBottom)}})}})}),[Hr,mt]=it(U),ht=p.forwardRef((e,t)=>{let{__scopeScrollArea:r,sizes:n,hasThumb:l,onThumbChange:a,onThumbPointerUp:s,onThumbPointerDown:i,onThumbPositionChange:c,onDragScroll:u,onWheelScroll:d,onResize:m,...h}=e,f=z(U,r),[v,j]=p.useState(null),T=le(t,w=>j(w)),g=p.useRef(null),N=p.useRef(""),R=f.viewport,y=n.content-n.viewport,S=q(d),C=q(c),E=Ie(m,10);function I(w){g.current&&u({x:w.clientX-g.current.left,y:w.clientY-g.current.top})}return p.useEffect(()=>{let w=_=>{let k=_.target;v!=null&&v.contains(k)&&S(_,y)};return document.addEventListener("wheel",w,{passive:!1}),()=>document.removeEventListener("wheel",w,{passive:!1})},[R,v,y,S]),p.useEffect(C,[n,C]),ne(v,E),ne(f.content,E),(0,o.jsx)(Hr,{scope:r,scrollbar:v,hasThumb:l,onThumbChange:q(a),onThumbPointerUp:q(s),onThumbPositionChange:C,onThumbPointerDown:q(i),children:(0,o.jsx)(pe.div,{...h,ref:T,style:{position:"absolute",...h.style},onPointerDown:V(e.onPointerDown,w=>{w.button===0&&(w.target.setPointerCapture(w.pointerId),g.current=v.getBoundingClientRect(),N.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",f.viewport&&(f.viewport.style.scrollBehavior="auto"),I(w))}),onPointerMove:V(e.onPointerMove,I),onPointerUp:V(e.onPointerUp,w=>{let _=w.target;_.hasPointerCapture(w.pointerId)&&_.releasePointerCapture(w.pointerId),document.body.style.webkitUserSelect=N.current,f.viewport&&(f.viewport.style.scrollBehavior=""),g.current=null})})})}),Ee="ScrollAreaThumb",ft=p.forwardRef((e,t)=>{let{forceMount:r,...n}=e,l=mt(Ee,e.__scopeScrollArea);return(0,o.jsx)(Te,{present:r||l.hasThumb,children:(0,o.jsx)(Or,{ref:t,...n})})}),Or=p.forwardRef((e,t)=>{let{__scopeScrollArea:r,style:n,...l}=e,a=z(Ee,r),s=mt(Ee,r),{onThumbPositionChange:i}=s,c=le(t,m=>s.onThumbChange(m)),u=p.useRef(void 0),d=Ie(()=>{u.current&&(u.current=(u.current(),void 0))},100);return p.useEffect(()=>{let m=a.viewport;if(m){let h=()=>{d(),u.current||(u.current=Yr(m,i),i())};return i(),m.addEventListener("scroll",h),()=>m.removeEventListener("scroll",h)}},[a.viewport,d,i]),(0,o.jsx)(pe.div,{"data-state":s.hasThumb?"visible":"hidden",...l,ref:c,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...n},onPointerDownCapture:V(e.onPointerDownCapture,m=>{let h=m.target.getBoundingClientRect(),f=m.clientX-h.left,v=m.clientY-h.top;s.onThumbPointerDown({x:f,y:v})}),onPointerUp:V(e.onPointerUp,s.onThumbPointerUp)})});ft.displayName=Ee;var $e="ScrollAreaCorner",xt=p.forwardRef((e,t)=>{let r=z($e,e.__scopeScrollArea),n=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&n?(0,o.jsx)(Ur,{...e,ref:t}):null});xt.displayName=$e;var Ur=p.forwardRef((e,t)=>{let{__scopeScrollArea:r,...n}=e,l=z($e,r),[a,s]=p.useState(0),[i,c]=p.useState(0),u=!!(a&&i);return ne(l.scrollbarX,()=>{var m;let d=((m=l.scrollbarX)==null?void 0:m.offsetHeight)||0;l.onCornerHeightChange(d),c(d)}),ne(l.scrollbarY,()=>{var m;let d=((m=l.scrollbarY)==null?void 0:m.offsetWidth)||0;l.onCornerWidthChange(d),s(d)}),u?(0,o.jsx)(pe.div,{...n,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 ke(e){return e?parseInt(e,10):0}function vt(e,t){let r=e/t;return isNaN(r)?0:r}function Le(e){let t=vt(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,n=(e.scrollbar.size-r)*t;return Math.max(n,18)}function Wr(e,t,r,n="ltr"){let l=Le(r),a=l/2,s=t||a,i=l-s,c=r.scrollbar.paddingStart+s,u=r.scrollbar.size-r.scrollbar.paddingEnd-i,d=r.content-r.viewport,m=n==="ltr"?[0,d]:[d*-1,0];return wt([c,u],m)(e)}function gt(e,t,r="ltr"){let n=Le(t),l=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-l,s=t.content-t.viewport,i=a-n,c=Zt(e,r==="ltr"?[0,s]:[s*-1,0]);return wt([0,s],[0,i])(c)}function wt(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(r-e[0])}}function bt(e,t){return e>0&&e<t}var Yr=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},n=0;return(function l(){let a={left:e.scrollLeft,top:e.scrollTop},s=r.left!==a.left,i=r.top!==a.top;(s||i)&&t(),r=a,n=window.requestAnimationFrame(l)})(),()=>window.cancelAnimationFrame(n)};function Ie(e,t){let r=q(e),n=p.useRef(0);return p.useEffect(()=>()=>window.clearTimeout(n.current),[]),p.useCallback(()=>{window.clearTimeout(n.current),n.current=window.setTimeout(r,t)},[r,t])}function ne(e,t){let r=q(t);Vt(()=>{let n=0;if(e){let l=new ResizeObserver(()=>{cancelAnimationFrame(n),n=window.requestAnimationFrame(r)});return l.observe(e),()=>{window.cancelAnimationFrame(n),l.unobserve(e)}}},[e,r])}var yt=ct,Xr=ut,Vr=xt,qr=rt("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"}]]),Br=rt("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"}]]),jt=Qe();const $r=({chatState:e,chatId:t,messages:r})=>{if(!t)return _e.warn("No active chat"),e;let n=e.chats.get(t);if(!n)return _e.warn("No active chat"),e;let l=new Map(e.chats),a=Date.now();return l.set(n.id,{...n,messages:r,updatedAt:a}),{...e,chats:l}};var St=p.forwardRef((e,t)=>{let r=(0,jt.c)(15),n,l,a;r[0]===e?(n=r[1],l=r[2],a=r[3]):({className:l,children:n,...a}=e,r[0]=e,r[1]=n,r[2]=l,r[3]=a);let s;r[4]===l?s=r[5]:(s=oe("relative overflow-hidden",l),r[4]=l,r[5]=s);let i;r[6]===n?i=r[7]:(i=(0,o.jsx)(Xr,{className:"h-full w-full rounded-[inherit]",children:n}),r[6]=n,r[7]=i);let c,u;r[8]===Symbol.for("react.memo_cache_sentinel")?(c=(0,o.jsx)(Ct,{}),u=(0,o.jsx)(Vr,{}),r[8]=c,r[9]=u):(c=r[8],u=r[9]);let d;return r[10]!==a||r[11]!==t||r[12]!==s||r[13]!==i?(d=(0,o.jsxs)(yt,{ref:t,className:s,...a,children:[i,c,u]}),r[10]=a,r[11]=t,r[12]=s,r[13]=i,r[14]=d):d=r[14],d});St.displayName=yt.displayName;var Ct=p.forwardRef((e,t)=>{let r=(0,jt.c)(14),n,l,a;r[0]===e?(n=r[1],l=r[2],a=r[3]):({className:n,orientation:a,...l}=e,r[0]=e,r[1]=n,r[2]=l,r[3]=a);let s=a===void 0?"vertical":a,i=s==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-px",c=s==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-px",u;r[4]!==n||r[5]!==i||r[6]!==c?(u=oe("flex touch-none select-none transition-colors",i,c,n),r[4]=n,r[5]=i,r[6]=c,r[7]=u):u=r[7];let d;r[8]===Symbol.for("react.memo_cache_sentinel")?(d=(0,o.jsx)(ft,{className:"relative flex-1 rounded-full bg-border"}),r[8]=d):d=r[8];let m;return r[9]!==s||r[10]!==l||r[11]!==t||r[12]!==u?(m=(0,o.jsx)(qe,{ref:t,orientation:s,className:u,...l,children:d}),r[9]=s,r[10]=l,r[11]=t,r[12]=u,r[13]=m):m=r[13],m});Ct.displayName=qe.displayName;var Gr=[{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 Jr=e=>{let t=Date.now(),r=Gr.map(a=>({...a,chats:[]})),n={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]:n}};for(let a of e)l(Math.floor((t-a.updatedAt)/864e5)).chats.push(a);return[...r,n].filter(a=>a.chats.length>0)},Kr=({activeChatId:e,setActiveChat:t})=>{let r=We(st),{locale:n}=Tr(),[l,a]=(0,p.useState)(""),s=(0,p.useMemo)(()=>[...r.chats.values()].toSorted((u,d)=>d.updatedAt-u.updatedAt),[r.chats]),i=(0,p.useMemo)(()=>l.trim()?s.filter(u=>u.title.toLowerCase().includes(l.toLowerCase())):s,[s,l]),c=(0,p.useMemo)(()=>Jr(i),[i]);return(0,o.jsxs)(Gt,{children:[(0,o.jsx)(Ye,{content:"Previous chats",children:(0,o.jsx)(Bt,{asChild:!0,children:(0,o.jsx)(ae,{variant:"text",size:"icon",children:(0,o.jsx)(Mt,{className:"h-4 w-4"})})})}),(0,o.jsxs)($t,{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)(Nr,{placeholder:"Search chat history...",value:l,onChange:u=>a(u.target.value),className:"text-xs"})}),(0,o.jsx)(St,{className:"h-[450px] p-2",children:(0,o.jsxs)("div",{className:"space-y-3",children:[s.length===0&&(0,o.jsx)(Xe,{title:"No chats yet",description:"Start a new chat to get started",icon:(0,o.jsx)(lt,{})}),i.length===0&&l&&s.length>0&&(0,o.jsx)(Xe,{title:"No chats found",description:`No chats match "${l}"`,icon:(0,o.jsx)(Cr,{})}),c.map((u,d)=>(0,o.jsxs)("div",{className:"space-y-2",children:[(0,o.jsx)("div",{className:"text-xs px-1 text-muted-foreground/60",children:u.label}),(0,o.jsx)("div",{children:u.chats.map(m=>(0,o.jsxs)("button",{className:oe("w-full p-1 rounded-md cursor-pointer text-left flex items-center justify-between",m.id===e&&"bg-accent",m.id!==e&&"hover:bg-muted/20"),onClick:()=>{t(m.id)},type:"button",children:[(0,o.jsx)("div",{className:"flex-1 min-w-0",children:(0,o.jsx)("div",{className:"text-sm truncate",children:m.title})}),(0,o.jsx)("div",{className:"text-xs text-muted-foreground/60 ml-2 flex-shrink-0",children:Ar(m.updatedAt,n)})]},m.id))}),d!==c.length-1&&(0,o.jsx)("hr",{})]},u.label))]})})]})]})};var se=Qe(),Nt="manual",Qr=e=>{let t=(0,se.c)(18),{onNewChat:r,activeChatId:n,setActiveChat:l}=e,{handleClick:a}=Ze(),s;t[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,o.jsx)(Sr,{className:"h-4 w-4"}),t[0]=s):s=t[0];let i;t[1]===r?i=t[2]:(i=(0,o.jsx)(Ye,{content:"New chat",children:(0,o.jsx)(ae,{variant:"text",size:"icon",onClick:r,children:s})}),t[1]=r,t[2]=i);let c;t[3]===Symbol.for("react.memo_cache_sentinel")?(c=(0,o.jsx)(Ht,{}),t[3]=c):c=t[3];let u;t[4]===a?u=t[5]:(u=()=>a("ai"),t[4]=a,t[5]=u);let d;t[6]===Symbol.for("react.memo_cache_sentinel")?(d=(0,o.jsx)(Rr,{className:"h-4 w-4"}),t[6]=d):d=t[6];let m;t[7]===u?m=t[8]:(m=(0,o.jsx)(Ye,{content:"AI Settings",children:(0,o.jsx)(ae,{variant:"text",size:"xs",className:"hover:bg-foreground/10 py-2",onClick:u,children:d})}),t[7]=u,t[8]=m);let h;t[9]!==n||t[10]!==l?(h=(0,o.jsx)(Kr,{activeChatId:n,setActiveChat:l}),t[9]=n,t[10]=l,t[11]=h):h=t[11];let f;t[12]!==m||t[13]!==h?(f=(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[c,m,h]}),t[12]=m,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},Rt=(0,p.memo)(e=>{let t=(0,se.c)(15),{message:r,index:n,onEdit:l,isStreamingReasoning:a,isLast:s}=e,i;t[0]!==n||t[1]!==l?(i=j=>{var N,R,y;let T=(R=(N=j.parts)==null?void 0:N.filter(rl))==null?void 0:R.map(ll).join(`
1
+ import{s as Ke}from"./chunk-LvLJmgfZ.js";import{d as kt,f as Lt,l as It,n as ue,u as We}from"./useEvent-D91BmmQi.js";import{t as Pt}from"./react-Bj1aDYRI.js";import{E as Dt,hr as Mt}from"./cells-Jdt48eTG.js";import"./react-dom-CSu739Rf.js";import{t as Qe}from"./compiler-runtime-B3qBwwSJ.js";import{E as zt,T as Ft,o as Ht,r as Ze,t as Ot}from"./ai-model-dropdown-DQ9Z4-uL.js";import{_ as _e,o as le}from"./useEventListener-BR0C1MaI.js";import{n as et,r as Ut}from"./utils-DIGrmLDO.js";import{o as Wt}from"./config-DczIUz0b.js";import{t as oe}from"./cn-DCUzRj2J.js";import{t as Yt}from"./jsx-runtime-BqBOg78p.js";import{C as pe,S as Xt,_ as Te,b as V,h as q,y as Vt}from"./fullscreen-BDxedMYP.js";import{u as qt}from"./menu-items-CwUpDHG7.js";import{i as Bt,r as $t,t as Gt}from"./popover-UExmgBsf.js";import{a as Jt,i as Kt,n as Qt,p as Zt,r as er,s as tr,t as rr}from"./select-5i7URBEn.js";import{i as tt,t as Ye}from"./tooltip-Gcwqb_SK.js";import{t as ae}from"./button-D9nb17Rw.js";import"./dist-BrR4M-k3.js";import"./cjs-BRGiG41H.js";import"./main-B0OX4z33.js";import"./useNonce-DfoVjkkH.js";import{r as lr}from"./requests-DIwGYs0l.js";import{t as rt}from"./createLucideIcon-D5guW7EU.js";import{t as lt}from"./bot-message-square-DrbHk31W.js";import"./markdown-renderer-9gIJjISB.js";import{O as ot,S as or,T as ar,_ as nr,b as sr,c as ir,d as cr,f as dr,g as ur,h as pr,j as mr,k as hr,l as fr,m as at,n as nt,p as xr,s as vr,u as gr,v as wr,y as br}from"./add-cell-with-ai-BqApEAcB.js";import{n as yr}from"./spinner-Bhir8k53.js";import{t as jr}from"./message-circle-CWm2KnSx.js";import{t as Sr}from"./plus-BgB18UzY.js";import{dt as Cr,r as Nr}from"./input-BX98vgAu.js";import{t as Rr}from"./settings-DfFe0dWD.js";import"./dist-DQOq2Tf-.js";import"./dist-DBiqbYe-.js";import"./dist-VjDnmGCZ.js";import"./dist-E6ttb8td.js";import"./dist-B324sPca.js";import"./session-VtovaFBS.js";import"./purify.es-DBmVz-Wl.js";import{i as Ar}from"./dates-CAlnO9QB.js";import{t as _r}from"./copy-icon-BYNydU7b.js";import{t as Tr}from"./context-B3MsQb-b.js";import{r as st,t as Er}from"./state-Bhut5iLD.js";import{n as kr}from"./error-banner-C6aBa98y.js";import"./chunk-5FQGJX7Z-e_arGD4o.js";import"./html-to-image-BJDxFKbb.js";import"./esm-BmrwxxCo.js";import{t as Xe}from"./empty-state-CsVQSqKA.js";import{t as Lr}from"./chat-display-YfE-PieK.js";var p=Ke(Pt(),1),o=Ke(Yt(),1);function Ir(e,t){return p.useReducer((r,n)=>t[r][n]??r,e)}var Ve="ScrollArea",[it,po]=Xt(Ve),[Pr,z]=it(Ve),ct=p.forwardRef((e,t)=>{let{__scopeScrollArea:r,type:n="hover",dir:l,scrollHideDelay:a=600,...s}=e,[i,c]=p.useState(null),[u,d]=p.useState(null),[m,h]=p.useState(null),[f,v]=p.useState(null),[j,T]=p.useState(null),[g,N]=p.useState(0),[R,y]=p.useState(0),[S,C]=p.useState(!1),[E,I]=p.useState(!1),w=le(t,k=>c(k)),_=qt(l);return(0,o.jsx)(Pr,{scope:r,type:n,dir:_,scrollHideDelay:a,scrollArea:i,viewport:u,onViewportChange:d,content:m,onContentChange:h,scrollbarX:f,onScrollbarXChange:v,scrollbarXEnabled:S,onScrollbarXEnabledChange:C,scrollbarY:j,onScrollbarYChange:T,scrollbarYEnabled:E,onScrollbarYEnabledChange:I,onCornerWidthChange:N,onCornerHeightChange:y,children:(0,o.jsx)(pe.div,{dir:_,...s,ref:w,style:{position:"relative","--radix-scroll-area-corner-width":g+"px","--radix-scroll-area-corner-height":R+"px",...e.style}})})});ct.displayName=Ve;var dt="ScrollAreaViewport",ut=p.forwardRef((e,t)=>{let{__scopeScrollArea:r,children:n,nonce:l,...a}=e,s=z(dt,r),i=le(t,p.useRef(null),s.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)(pe.div,{"data-radix-scroll-area-viewport":"",...a,ref:i,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,o.jsx)("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"},children:n})})]})});ut.displayName=dt;var U="ScrollAreaScrollbar",qe=p.forwardRef((e,t)=>{let{forceMount:r,...n}=e,l=z(U,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:s}=l,i=e.orientation==="horizontal";return p.useEffect(()=>(i?a(!0):s(!0),()=>{i?a(!1):s(!1)}),[i,a,s]),l.type==="hover"?(0,o.jsx)(Dr,{...n,ref:t,forceMount:r}):l.type==="scroll"?(0,o.jsx)(Mr,{...n,ref:t,forceMount:r}):l.type==="auto"?(0,o.jsx)(pt,{...n,ref:t,forceMount:r}):l.type==="always"?(0,o.jsx)(Be,{...n,ref:t}):null});qe.displayName=U;var Dr=p.forwardRef((e,t)=>{let{forceMount:r,...n}=e,l=z(U,e.__scopeScrollArea),[a,s]=p.useState(!1);return p.useEffect(()=>{let i=l.scrollArea,c=0;if(i){let u=()=>{window.clearTimeout(c),s(!0)},d=()=>{c=window.setTimeout(()=>s(!1),l.scrollHideDelay)};return i.addEventListener("pointerenter",u),i.addEventListener("pointerleave",d),()=>{window.clearTimeout(c),i.removeEventListener("pointerenter",u),i.removeEventListener("pointerleave",d)}}},[l.scrollArea,l.scrollHideDelay]),(0,o.jsx)(Te,{present:r||a,children:(0,o.jsx)(pt,{"data-state":a?"visible":"hidden",...n,ref:t})})}),Mr=p.forwardRef((e,t)=>{let{forceMount:r,...n}=e,l=z(U,e.__scopeScrollArea),a=e.orientation==="horizontal",s=Ie(()=>c("SCROLL_END"),100),[i,c]=Ir("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 p.useEffect(()=>{if(i==="idle"){let u=window.setTimeout(()=>c("HIDE"),l.scrollHideDelay);return()=>window.clearTimeout(u)}},[i,l.scrollHideDelay,c]),p.useEffect(()=>{let u=l.viewport,d=a?"scrollLeft":"scrollTop";if(u){let m=u[d],h=()=>{let f=u[d];m!==f&&(c("SCROLL"),s()),m=f};return u.addEventListener("scroll",h),()=>u.removeEventListener("scroll",h)}},[l.viewport,a,c,s]),(0,o.jsx)(Te,{present:r||i!=="hidden",children:(0,o.jsx)(Be,{"data-state":i==="hidden"?"hidden":"visible",...n,ref:t,onPointerEnter:V(e.onPointerEnter,()=>c("POINTER_ENTER")),onPointerLeave:V(e.onPointerLeave,()=>c("POINTER_LEAVE"))})})}),pt=p.forwardRef((e,t)=>{let r=z(U,e.__scopeScrollArea),{forceMount:n,...l}=e,[a,s]=p.useState(!1),i=e.orientation==="horizontal",c=Ie(()=>{if(r.viewport){let u=r.viewport.offsetWidth<r.viewport.scrollWidth,d=r.viewport.offsetHeight<r.viewport.scrollHeight;s(i?u:d)}},10);return ne(r.viewport,c),ne(r.content,c),(0,o.jsx)(Te,{present:n||a,children:(0,o.jsx)(Be,{"data-state":a?"visible":"hidden",...l,ref:t})})}),Be=p.forwardRef((e,t)=>{let{orientation:r="vertical",...n}=e,l=z(U,e.__scopeScrollArea),a=p.useRef(null),s=p.useRef(0),[i,c]=p.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=vt(i.viewport,i.content),d={...n,sizes:i,onSizesChange:c,hasThumb:u>0&&u<1,onThumbChange:h=>a.current=h,onThumbPointerUp:()=>s.current=0,onThumbPointerDown:h=>s.current=h};function m(h,f){return Wr(h,s.current,i,f)}return r==="horizontal"?(0,o.jsx)(zr,{...d,ref:t,onThumbPositionChange:()=>{if(l.viewport&&a.current){let h=l.viewport.scrollLeft,f=gt(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=m(h,l.dir))}}):r==="vertical"?(0,o.jsx)(Fr,{...d,ref:t,onThumbPositionChange:()=>{if(l.viewport&&a.current){let h=l.viewport.scrollTop,f=gt(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=m(h))}}):null}),zr=p.forwardRef((e,t)=>{let{sizes:r,onSizesChange:n,...l}=e,a=z(U,e.__scopeScrollArea),[s,i]=p.useState(),c=p.useRef(null),u=le(t,c,a.onScrollbarXChange);return p.useEffect(()=>{c.current&&i(getComputedStyle(c.current))},[c]),(0,o.jsx)(ht,{"data-orientation":"horizontal",...l,ref:u,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":Le(r)+"px",...e.style},onThumbPointerDown:d=>e.onThumbPointerDown(d.x),onDragScroll:d=>e.onDragScroll(d.x),onWheelScroll:(d,m)=>{if(a.viewport){let h=a.viewport.scrollLeft+d.deltaX;e.onWheelScroll(h),bt(h,m)&&d.preventDefault()}},onResize:()=>{c.current&&a.viewport&&s&&n({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:ke(s.paddingLeft),paddingEnd:ke(s.paddingRight)}})}})}),Fr=p.forwardRef((e,t)=>{let{sizes:r,onSizesChange:n,...l}=e,a=z(U,e.__scopeScrollArea),[s,i]=p.useState(),c=p.useRef(null),u=le(t,c,a.onScrollbarYChange);return p.useEffect(()=>{c.current&&i(getComputedStyle(c.current))},[c]),(0,o.jsx)(ht,{"data-orientation":"vertical",...l,ref:u,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":Le(r)+"px",...e.style},onThumbPointerDown:d=>e.onThumbPointerDown(d.y),onDragScroll:d=>e.onDragScroll(d.y),onWheelScroll:(d,m)=>{if(a.viewport){let h=a.viewport.scrollTop+d.deltaY;e.onWheelScroll(h),bt(h,m)&&d.preventDefault()}},onResize:()=>{c.current&&a.viewport&&s&&n({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:ke(s.paddingTop),paddingEnd:ke(s.paddingBottom)}})}})}),[Hr,mt]=it(U),ht=p.forwardRef((e,t)=>{let{__scopeScrollArea:r,sizes:n,hasThumb:l,onThumbChange:a,onThumbPointerUp:s,onThumbPointerDown:i,onThumbPositionChange:c,onDragScroll:u,onWheelScroll:d,onResize:m,...h}=e,f=z(U,r),[v,j]=p.useState(null),T=le(t,w=>j(w)),g=p.useRef(null),N=p.useRef(""),R=f.viewport,y=n.content-n.viewport,S=q(d),C=q(c),E=Ie(m,10);function I(w){g.current&&u({x:w.clientX-g.current.left,y:w.clientY-g.current.top})}return p.useEffect(()=>{let w=_=>{let k=_.target;v!=null&&v.contains(k)&&S(_,y)};return document.addEventListener("wheel",w,{passive:!1}),()=>document.removeEventListener("wheel",w,{passive:!1})},[R,v,y,S]),p.useEffect(C,[n,C]),ne(v,E),ne(f.content,E),(0,o.jsx)(Hr,{scope:r,scrollbar:v,hasThumb:l,onThumbChange:q(a),onThumbPointerUp:q(s),onThumbPositionChange:C,onThumbPointerDown:q(i),children:(0,o.jsx)(pe.div,{...h,ref:T,style:{position:"absolute",...h.style},onPointerDown:V(e.onPointerDown,w=>{w.button===0&&(w.target.setPointerCapture(w.pointerId),g.current=v.getBoundingClientRect(),N.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",f.viewport&&(f.viewport.style.scrollBehavior="auto"),I(w))}),onPointerMove:V(e.onPointerMove,I),onPointerUp:V(e.onPointerUp,w=>{let _=w.target;_.hasPointerCapture(w.pointerId)&&_.releasePointerCapture(w.pointerId),document.body.style.webkitUserSelect=N.current,f.viewport&&(f.viewport.style.scrollBehavior=""),g.current=null})})})}),Ee="ScrollAreaThumb",ft=p.forwardRef((e,t)=>{let{forceMount:r,...n}=e,l=mt(Ee,e.__scopeScrollArea);return(0,o.jsx)(Te,{present:r||l.hasThumb,children:(0,o.jsx)(Or,{ref:t,...n})})}),Or=p.forwardRef((e,t)=>{let{__scopeScrollArea:r,style:n,...l}=e,a=z(Ee,r),s=mt(Ee,r),{onThumbPositionChange:i}=s,c=le(t,m=>s.onThumbChange(m)),u=p.useRef(void 0),d=Ie(()=>{u.current&&(u.current=(u.current(),void 0))},100);return p.useEffect(()=>{let m=a.viewport;if(m){let h=()=>{d(),u.current||(u.current=Yr(m,i),i())};return i(),m.addEventListener("scroll",h),()=>m.removeEventListener("scroll",h)}},[a.viewport,d,i]),(0,o.jsx)(pe.div,{"data-state":s.hasThumb?"visible":"hidden",...l,ref:c,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...n},onPointerDownCapture:V(e.onPointerDownCapture,m=>{let h=m.target.getBoundingClientRect(),f=m.clientX-h.left,v=m.clientY-h.top;s.onThumbPointerDown({x:f,y:v})}),onPointerUp:V(e.onPointerUp,s.onThumbPointerUp)})});ft.displayName=Ee;var $e="ScrollAreaCorner",xt=p.forwardRef((e,t)=>{let r=z($e,e.__scopeScrollArea),n=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&n?(0,o.jsx)(Ur,{...e,ref:t}):null});xt.displayName=$e;var Ur=p.forwardRef((e,t)=>{let{__scopeScrollArea:r,...n}=e,l=z($e,r),[a,s]=p.useState(0),[i,c]=p.useState(0),u=!!(a&&i);return ne(l.scrollbarX,()=>{var m;let d=((m=l.scrollbarX)==null?void 0:m.offsetHeight)||0;l.onCornerHeightChange(d),c(d)}),ne(l.scrollbarY,()=>{var m;let d=((m=l.scrollbarY)==null?void 0:m.offsetWidth)||0;l.onCornerWidthChange(d),s(d)}),u?(0,o.jsx)(pe.div,{...n,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 ke(e){return e?parseInt(e,10):0}function vt(e,t){let r=e/t;return isNaN(r)?0:r}function Le(e){let t=vt(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,n=(e.scrollbar.size-r)*t;return Math.max(n,18)}function Wr(e,t,r,n="ltr"){let l=Le(r),a=l/2,s=t||a,i=l-s,c=r.scrollbar.paddingStart+s,u=r.scrollbar.size-r.scrollbar.paddingEnd-i,d=r.content-r.viewport,m=n==="ltr"?[0,d]:[d*-1,0];return wt([c,u],m)(e)}function gt(e,t,r="ltr"){let n=Le(t),l=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-l,s=t.content-t.viewport,i=a-n,c=Zt(e,r==="ltr"?[0,s]:[s*-1,0]);return wt([0,s],[0,i])(c)}function wt(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(r-e[0])}}function bt(e,t){return e>0&&e<t}var Yr=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},n=0;return(function l(){let a={left:e.scrollLeft,top:e.scrollTop},s=r.left!==a.left,i=r.top!==a.top;(s||i)&&t(),r=a,n=window.requestAnimationFrame(l)})(),()=>window.cancelAnimationFrame(n)};function Ie(e,t){let r=q(e),n=p.useRef(0);return p.useEffect(()=>()=>window.clearTimeout(n.current),[]),p.useCallback(()=>{window.clearTimeout(n.current),n.current=window.setTimeout(r,t)},[r,t])}function ne(e,t){let r=q(t);Vt(()=>{let n=0;if(e){let l=new ResizeObserver(()=>{cancelAnimationFrame(n),n=window.requestAnimationFrame(r)});return l.observe(e),()=>{window.cancelAnimationFrame(n),l.unobserve(e)}}},[e,r])}var yt=ct,Xr=ut,Vr=xt,qr=rt("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"}]]),Br=rt("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"}]]),jt=Qe();const $r=({chatState:e,chatId:t,messages:r})=>{if(!t)return _e.warn("No active chat"),e;let n=e.chats.get(t);if(!n)return _e.warn("No active chat"),e;let l=new Map(e.chats),a=Date.now();return l.set(n.id,{...n,messages:r,updatedAt:a}),{...e,chats:l}};var St=p.forwardRef((e,t)=>{let r=(0,jt.c)(15),n,l,a;r[0]===e?(n=r[1],l=r[2],a=r[3]):({className:l,children:n,...a}=e,r[0]=e,r[1]=n,r[2]=l,r[3]=a);let s;r[4]===l?s=r[5]:(s=oe("relative overflow-hidden",l),r[4]=l,r[5]=s);let i;r[6]===n?i=r[7]:(i=(0,o.jsx)(Xr,{className:"h-full w-full rounded-[inherit]",children:n}),r[6]=n,r[7]=i);let c,u;r[8]===Symbol.for("react.memo_cache_sentinel")?(c=(0,o.jsx)(Ct,{}),u=(0,o.jsx)(Vr,{}),r[8]=c,r[9]=u):(c=r[8],u=r[9]);let d;return r[10]!==a||r[11]!==t||r[12]!==s||r[13]!==i?(d=(0,o.jsxs)(yt,{ref:t,className:s,...a,children:[i,c,u]}),r[10]=a,r[11]=t,r[12]=s,r[13]=i,r[14]=d):d=r[14],d});St.displayName=yt.displayName;var Ct=p.forwardRef((e,t)=>{let r=(0,jt.c)(14),n,l,a;r[0]===e?(n=r[1],l=r[2],a=r[3]):({className:n,orientation:a,...l}=e,r[0]=e,r[1]=n,r[2]=l,r[3]=a);let s=a===void 0?"vertical":a,i=s==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-px",c=s==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-px",u;r[4]!==n||r[5]!==i||r[6]!==c?(u=oe("flex touch-none select-none transition-colors",i,c,n),r[4]=n,r[5]=i,r[6]=c,r[7]=u):u=r[7];let d;r[8]===Symbol.for("react.memo_cache_sentinel")?(d=(0,o.jsx)(ft,{className:"relative flex-1 rounded-full bg-border"}),r[8]=d):d=r[8];let m;return r[9]!==s||r[10]!==l||r[11]!==t||r[12]!==u?(m=(0,o.jsx)(qe,{ref:t,orientation:s,className:u,...l,children:d}),r[9]=s,r[10]=l,r[11]=t,r[12]=u,r[13]=m):m=r[13],m});Ct.displayName=qe.displayName;var Gr=[{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 Jr=e=>{let t=Date.now(),r=Gr.map(a=>({...a,chats:[]})),n={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]:n}};for(let a of e)l(Math.floor((t-a.updatedAt)/864e5)).chats.push(a);return[...r,n].filter(a=>a.chats.length>0)},Kr=({activeChatId:e,setActiveChat:t})=>{let r=We(st),{locale:n}=Tr(),[l,a]=(0,p.useState)(""),s=(0,p.useMemo)(()=>[...r.chats.values()].toSorted((u,d)=>d.updatedAt-u.updatedAt),[r.chats]),i=(0,p.useMemo)(()=>l.trim()?s.filter(u=>u.title.toLowerCase().includes(l.toLowerCase())):s,[s,l]),c=(0,p.useMemo)(()=>Jr(i),[i]);return(0,o.jsxs)(Gt,{children:[(0,o.jsx)(Ye,{content:"Previous chats",children:(0,o.jsx)(Bt,{asChild:!0,children:(0,o.jsx)(ae,{variant:"text",size:"icon",children:(0,o.jsx)(Mt,{className:"h-4 w-4"})})})}),(0,o.jsxs)($t,{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)(Nr,{placeholder:"Search chat history...",value:l,onChange:u=>a(u.target.value),className:"text-xs"})}),(0,o.jsx)(St,{className:"h-[450px] p-2",children:(0,o.jsxs)("div",{className:"space-y-3",children:[s.length===0&&(0,o.jsx)(Xe,{title:"No chats yet",description:"Start a new chat to get started",icon:(0,o.jsx)(lt,{})}),i.length===0&&l&&s.length>0&&(0,o.jsx)(Xe,{title:"No chats found",description:`No chats match "${l}"`,icon:(0,o.jsx)(Cr,{})}),c.map((u,d)=>(0,o.jsxs)("div",{className:"space-y-2",children:[(0,o.jsx)("div",{className:"text-xs px-1 text-muted-foreground/60",children:u.label}),(0,o.jsx)("div",{children:u.chats.map(m=>(0,o.jsxs)("button",{className:oe("w-full p-1 rounded-md cursor-pointer text-left flex items-center justify-between",m.id===e&&"bg-accent",m.id!==e&&"hover:bg-muted/20"),onClick:()=>{t(m.id)},type:"button",children:[(0,o.jsx)("div",{className:"flex-1 min-w-0",children:(0,o.jsx)("div",{className:"text-sm truncate",children:m.title})}),(0,o.jsx)("div",{className:"text-xs text-muted-foreground/60 ml-2 flex-shrink-0",children:Ar(m.updatedAt,n)})]},m.id))}),d!==c.length-1&&(0,o.jsx)("hr",{})]},u.label))]})})]})]})};var se=Qe(),Nt="manual",Qr=e=>{let t=(0,se.c)(18),{onNewChat:r,activeChatId:n,setActiveChat:l}=e,{handleClick:a}=Ze(),s;t[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,o.jsx)(Sr,{className:"h-4 w-4"}),t[0]=s):s=t[0];let i;t[1]===r?i=t[2]:(i=(0,o.jsx)(Ye,{content:"New chat",children:(0,o.jsx)(ae,{variant:"text",size:"icon",onClick:r,children:s})}),t[1]=r,t[2]=i);let c;t[3]===Symbol.for("react.memo_cache_sentinel")?(c=(0,o.jsx)(Ht,{}),t[3]=c):c=t[3];let u;t[4]===a?u=t[5]:(u=()=>a("ai"),t[4]=a,t[5]=u);let d;t[6]===Symbol.for("react.memo_cache_sentinel")?(d=(0,o.jsx)(Rr,{className:"h-4 w-4"}),t[6]=d):d=t[6];let m;t[7]===u?m=t[8]:(m=(0,o.jsx)(Ye,{content:"AI Settings",children:(0,o.jsx)(ae,{variant:"text",size:"xs",className:"hover:bg-foreground/10 py-2",onClick:u,children:d})}),t[7]=u,t[8]=m);let h;t[9]!==n||t[10]!==l?(h=(0,o.jsx)(Kr,{activeChatId:n,setActiveChat:l}),t[9]=n,t[10]=l,t[11]=h):h=t[11];let f;t[12]!==m||t[13]!==h?(f=(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[c,m,h]}),t[12]=m,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},Rt=(0,p.memo)(e=>{let t=(0,se.c)(15),{message:r,index:n,onEdit:l,isStreamingReasoning:a,isLast:s}=e,i;t[0]!==n||t[1]!==l?(i=j=>{var N,R,y;let T=(R=(N=j.parts)==null?void 0:N.filter(rl))==null?void 0:R.map(ll).join(`
2
2
  `),g=(y=j.parts)==null?void 0:y.filter(ol);return(0,o.jsxs)("div",{className:"w-[95%] bg-background border p-1 rounded-sm",children:[g==null?void 0:g.map(al),(0,o.jsx)(nt,{value:T,placeholder:"Type your message...",onChange:nl,onSubmit:(S,C)=>{C.trim()&&l(n,C)},onClose:sl},j.id)]})},t[0]=n,t[1]=l,t[2]=i):i=t[2];let c=i,u;t[3]!==s||t[4]!==a?(u=j=>(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)(_r,{className:"h-3 w-3",value:j.parts.filter(il).map(cl).join(`
3
3
  `)||""})}),Lr({message:j,isStreamingReasoning:a,isLast:s})]}),t[3]=s,t[4]=a,t[5]=u):u=t[5];let d=u,m=r.role==="user"?"justify-end":"justify-start",h;t[6]===m?h=t[7]:(h=oe("flex group relative",m),t[6]=m,t[7]=h);let f;t[8]!==r||t[9]!==d||t[10]!==c?(f=r.role==="user"?c(r):d(r),t[8]=r,t[9]=d,t[10]=c,t[11]=f):f=t[11];let v;return t[12]!==h||t[13]!==f?(v=(0,o.jsx)("div",{className:h,children:f}),t[12]=h,t[13]=f,t[14]=v):v=t[14],v});Rt.displayName="ChatMessage";var At=(0,p.memo)(e=>{var D,Y;let t=(0,se.c)(39),{isEmpty:r,onSendClick:n,isLoading:l,onStop:a,fileInputRef:s,onAddFiles:i,onAddContext:c}=e,u=We(et),d=(u==null?void 0:u.mode)||Nt,m=((D=u==null?void 0:u.models)==null?void 0:D.chat_model)||"openai/gpt-4o",h=Ft.parse(m).providerId,{saveModeChange:f}=zt(),v;t[0]===Symbol.for("react.memo_cache_sentinel")?(v=[{value:"manual",label:"Manual",subtitle:"Pure chat, no tool usage",Icon:jr},{value:"ask",label:"Ask",subtitle:"Use AI with access to read-only tools like documentation search",Icon:Br},{value:"agent",label:"Agent (beta)",subtitle:"Use AI with access to read and write tools",Icon:qr}],t[0]=v):v=t[0];let j=v,T=dr.has(h),g=(Y=j.find(me=>me.value===d))==null?void 0:Y.Icon,N;t[1]===g?N=t[2]:(N=g&&(0,o.jsx)(g,{className:"h-3 w-3"}),t[1]=g,t[2]=N);let R;t[3]===d?R=t[4]:(R=(0,o.jsx)("span",{className:"capitalize",children:d}),t[3]=d,t[4]=R);let y;t[5]!==N||t[6]!==R?(y=(0,o.jsxs)(tr,{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:[N,R]}),t[5]=N,t[6]=R,t[7]=y):y=t[7];let S;t[8]===Symbol.for("react.memo_cache_sentinel")?(S=(0,o.jsx)(Jt,{className:"text-xs uppercase tracking-wider text-muted-foreground/70 font-medium",children:"AI Mode"}),t[8]=S):S=t[8];let C;t[9]===j?C=t[10]:(C=(0,o.jsx)(Qt,{children:(0,o.jsxs)(er,{children:[S,j.map(dl)]})}),t[9]=j,t[10]=C);let E;t[11]!==d||t[12]!==f||t[13]!==y||t[14]!==C?(E=(0,o.jsxs)(rr,{value:d,onValueChange:f,children:[y,C]}),t[11]=d,t[12]=f,t[13]=y,t[14]=C,t[15]=E):E=t[15];let I;t[16]===Symbol.for("react.memo_cache_sentinel")?(I=(0,o.jsx)(Ot,{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[16]=I):I=t[16];let w;t[17]===E?w=t[18]:(w=(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[E,I]}),t[17]=E,t[18]=w);let _;t[19]!==l||t[20]!==c?(_=(0,o.jsx)(vr,{handleAddContext:c,isLoading:l}),t[19]=l,t[20]=c,t[21]=_):_=t[21];let k;t[22]!==s||t[23]!==T||t[24]!==l||t[25]!==i?(k=T&&(0,o.jsx)(ir,{fileInputRef:s,isLoading:l,onAddFiles:i}),t[22]=s,t[23]=T,t[24]=l,t[25]=i,t[26]=k):k=t[26];let F;t[27]!==r||t[28]!==l||t[29]!==n||t[30]!==a?(F=(0,o.jsx)(cr,{isLoading:l,onStop:a,onSendClick:n,isEmpty:r}),t[27]=r,t[28]=l,t[29]=n,t[30]=a,t[31]=F):F=t[31];let H;t[32]!==_||t[33]!==k||t[34]!==F?(H=(0,o.jsxs)("div",{className:"flex flex-row",children:[_,k,F]}),t[32]=_,t[33]=k,t[34]=F,t[35]=H):H=t[35];let A;return t[36]!==H||t[37]!==w?(A=(0,o.jsx)(tt,{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:[w,H]})}),t[36]=H,t[37]=w,t[38]=A):A=t[38],A});At.displayName="ChatInputFooter";var Ge=(0,p.memo)(e=>{let t=(0,se.c)(29),{placeholder:r,input:n,inputClassName:l,setInput:a,onSubmit:s,inputRef:i,isLoading:c,onStop:u,fileInputRef:d,onAddFiles:m,onClose:h}=e,f;t[0]!==n||t[1]!==s?(f=()=>{n.trim()&&s(void 0,n)},t[0]=n,t[1]=s,t[2]=f):f=t[2];let v=ue(f),j;t[3]===l?j=t[4]:(j=oe("px-2 py-3 flex-1",l),t[3]=l,t[4]=j);let T=r||"Type your message...",g;t[5]!==n||t[6]!==i||t[7]!==m||t[8]!==h||t[9]!==s||t[10]!==a||t[11]!==T?(g=(0,o.jsx)(nt,{inputRef:i,value:n,onChange:a,onSubmit:s,onClose:h,onAddFiles:m,placeholder:T}),t[5]=n,t[6]=i,t[7]=m,t[8]=h,t[9]=s,t[10]=a,t[11]=T,t[12]=g):g=t[12];let N;t[13]!==j||t[14]!==g?(N=(0,o.jsx)("div",{className:j,children:g}),t[13]=j,t[14]=g,t[15]=N):N=t[15];let R=!n.trim(),y;t[16]===i?y=t[17]:(y=()=>ar(i),t[16]=i,t[17]=y);let S;t[18]!==d||t[19]!==v||t[20]!==c||t[21]!==m||t[22]!==u||t[23]!==R||t[24]!==y?(S=(0,o.jsx)(At,{isEmpty:R,onAddContext:y,onSendClick:v,isLoading:c,onStop:u,fileInputRef:d,onAddFiles:m}),t[18]=d,t[19]=v,t[20]=c,t[21]=m,t[22]=u,t[23]=R,t[24]=y,t[25]=S):S=t[25];let C;return t[26]!==N||t[27]!==S?(C=(0,o.jsxs)("div",{className:"relative shrink-0 min-h-[80px] flex flex-col border-t",children:[N,S]}),t[26]=N,t[27]=S,t[28]=C):C=t[28],C});Ge.displayName="ChatInput";var Zr=()=>{let e=(0,se.c)(6),t=We(Ut),{handleClick:r}=Ze();if(!t){let l;e[0]===r?l=e[1]:(l=(0,o.jsx)(ae,{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)(lt,{}),e[2]=a):a=e[2];let s;return e[3]===l?s=e[4]:(s=(0,o.jsx)(Xe,{title:"Chat with AI",description:"No AI provider configured or Chat model not selected",action:l,icon:a}),e[3]=l,e[4]=s),s}let n;return e[5]===Symbol.for("react.memo_cache_sentinel")?(n=(0,o.jsx)(el,{}),e[5]=n):n=e[5],n},el=()=>{let e=(0,se.c)(95),t=kt(st),[r,n]=It(Er),[l,a]=(0,p.useState)(""),[s,i]=(0,p.useState)(""),{files:c,addFiles:u,clearFiles:d,removeFile:m}=br(),h=(0,p.useRef)(null),f=(0,p.useRef)(null),v=(0,p.useRef)(null),j=(0,p.useRef)(null),T=(0,p.useRef)(null),g=Wt(),{invokeAiTool:N,sendRun:R}=lr(),y=r==null?void 0:r.id,S=Lt(),{addStagedCell:C}=or(),{createNewCell:E,prepareForRun:I}=Dt(),w;e[0]!==C||e[1]!==E||e[2]!==I||e[3]!==R||e[4]!==S?(w={addStagedCell:C,createNewCell:E,prepareForRun:I,sendRun:R,store:S},e[0]=C,e[1]=E,e[2]=I,e[3]=R,e[4]=S,e[5]=w):w=e[5];let _=w,k;e[6]===(r==null?void 0:r.messages)?k=e[7]:(k=(r==null?void 0:r.messages)||[],e[6]=r==null?void 0:r.messages,e[7]=k);let F;if(e[8]!==g||e[9]!==S){let x;e[11]===g?x=e[12]:(x=()=>g.headers(),e[11]=g,e[12]=x),F=new mr({api:g.getAiURL("chat").toString(),headers:x,prepareSendMessagesRequest:async b=>{var W;let L=await xr(b.messages),O=((W=S.get(et))==null?void 0:W.mode)||Nt,de=sr.getToolSchemas(O);return{api:g.getAiURL("chat").toString(),body:{tools:de,...b,...L}}}}),e[8]=g,e[9]=S,e[10]=F}else F=e[10];let H;e[13]===t?H=e[14]:(H=x=>{let{messages:b}=x;t(L=>$r({chatState:L,chatId:L.activeChatId,messages:b}))},e[13]=t,e[14]=H);let{messages:A,sendMessage:D,error:Y,status:me,regenerate:Pe,stop:X,addToolOutput:_t,id:De}=hr({id:y,sendAutomaticallyWhen:ul,messages:k,transport:F,onFinish:H,onToolCall:async x=>{let{toolCall:b}=x;if(b.dynamic){_e.debug("Skipping dynamic tool call",b);return}await ur({invokeAiTool:N,addToolOutput:Tt,toolCall:{toolName:b.toolName,toolCallId:b.toolCallId,input:b.input},toolContext:_})},onError:pl}),Tt=_t,P=me==="submitted"||me==="streaming",he;e[15]!==P||e[16]!==A?(he=P&&A.length>0&&wr(A),e[15]=P,e[16]=A,e[17]=he):he=e[17];let ie=he,fe;e[18]===Symbol.for("react.memo_cache_sentinel")?(fe=()=>{requestAnimationFrame(()=>{if(v.current){let x=v.current;x.scrollTop=x.scrollHeight}})},e[18]=fe):fe=e[18];let xe;e[19]===y?xe=e[20]:(xe=[y],e[19]=y,e[20]=xe),(0,p.useEffect)(fe,xe);let ve;e[21]!==De||e[22]!==d||e[23]!==D||e[24]!==t?(ve=async(x,b)=>{let L=Date.now(),O={id:De,title:pr(x),messages:[],createdAt:L,updatedAt:L};t(W=>{let Je=new Map(W.chats);return Je.set(O.id,O),{...W,chats:Je,activeChatId:O.id}});let de=b&&b.length>0?await at(b):void 0;D({role:"user",parts:[{type:"text",text:x},...de??[]]}),d(),a("")},e[21]=De,e[22]=d,e[23]=D,e[24]=t,e[25]=ve):ve=e[25];let Me=ve,ge;e[26]!==d||e[27]!==n?(ge=()=>{n(null),a(""),i(""),d()},e[26]=d,e[27]=n,e[28]=ge):ge=e[28];let ze=ue(ge),we;e[29]!==A||e[30]!==D?(we=(x,b)=>{var W;let L=A[x],O=(W=L.parts)==null?void 0:W.filter(ml),de=L.id;D({messageId:de,role:"user",parts:[{type:"text",text:b},...O]})},e[29]=A,e[30]=D,e[31]=we):we=e[31];let ce=ue(we),be;e[32]!==d||e[33]!==c||e[34]!==D?(be=async(x,b)=>{var O;if(!b.trim())return;(O=f.current)!=null&&O.view&&ot(f.current.view);let L=c?await at(c):void 0;x==null||x.preventDefault(),D({text:b,files:L}),a(""),d()},e[32]=d,e[33]=c,e[34]=D,e[35]=be):be=e[35];let Fe=ue(be),ye;e[36]===Pe?ye=e[37]:(ye=()=>{Pe()},e[36]=Pe,e[37]=ye);let He=ye,je;e[38]!==Me||e[39]!==c||e[40]!==s?(je=()=>{var x;s.trim()&&((x=h.current)!=null&&x.view&&ot(h.current.view),Me(s.trim(),c))},e[38]=Me,e[39]=c,e[40]=s,e[41]=je):je=e[41];let Oe=ue(je),Se;e[42]===Symbol.for("react.memo_cache_sentinel")?(Se=()=>{var x,b;return(b=(x=h.current)==null?void 0:x.editor)==null?void 0:b.blur()},e[42]=Se):Se=e[42];let Et=Se,M=A.length===0,Ce;e[43]!==u||e[44]!==Fe||e[45]!==Oe||e[46]!==l||e[47]!==P||e[48]!==M||e[49]!==s||e[50]!==X?(Ce=M?(0,o.jsx)(Ge,{placeholder:"Ask anything, @ to include context about tables or dataframes",input:s,inputRef:h,inputClassName:"px-1 py-0",setInput:i,onSubmit:Oe,isLoading:P,onStop:X,fileInputRef:j,onAddFiles:u,onClose:Et},"new-thread-input"):(0,o.jsx)(Ge,{input:l,setInput:a,onSubmit:Fe,inputRef:f,isLoading:P,onStop:X,onClose:()=>{var x,b;return(b=(x=f.current)==null?void 0:x.editor)==null?void 0:b.blur()},fileInputRef:j,onAddFiles:u}),e[43]=u,e[44]=Fe,e[45]=Oe,e[46]=l,e[47]=P,e[48]=M,e[49]=s,e[50]=X,e[51]=Ce):Ce=e[51];let B=Ce,Ne;e[52]!==c||e[53]!==M||e[54]!==m?(Ne=c&&c.length>0&&(0,o.jsx)("div",{className:oe("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)(gr,{file:x,onRemove:()=>m(x)},x.name))}),e[52]=c,e[53]=M,e[54]=m,e[55]=Ne):Ne=e[55];let $=Ne,Ue=r==null?void 0:r.id,G;e[56]!==ze||e[57]!==n||e[58]!==Ue?(G=(0,o.jsx)(tt,{children:(0,o.jsx)(Qr,{onNewChat:ze,activeChatId:Ue,setActiveChat:n})}),e[56]=ze,e[57]=n,e[58]=Ue,e[59]=G):G=e[59];let J;e[60]!==B||e[61]!==$||e[62]!==M?(J=M&&(0,o.jsxs)("div",{className:"rounded-md border bg-background",children:[$,B]}),e[60]=B,e[61]=$,e[62]=M,e[63]=J):J=e[63];let K;if(e[64]!==ce||e[65]!==ie||e[66]!==A){let x;e[68]!==ce||e[69]!==ie||e[70]!==A.length?(x=(b,L)=>(0,o.jsx)(Rt,{message:b,index:L,onEdit:ce,isStreamingReasoning:ie,isLast:L===A.length-1},b.id),e[68]=ce,e[69]=ie,e[70]=A.length,e[71]=x):x=e[71],K=A.map(x),e[64]=ce,e[65]=ie,e[66]=A,e[67]=K}else K=e[67];let Q;e[72]===P?Q=e[73]:(Q=P&&(0,o.jsx)("div",{className:"flex justify-center py-4",children:(0,o.jsx)(yr,{className:"h-4 w-4 animate-spin"})}),e[72]=P,e[73]=Q);let Z;e[74]!==Y||e[75]!==He?(Z=Y&&(0,o.jsxs)("div",{className:"flex items-center justify-center space-x-2 mb-4",children:[(0,o.jsx)(kr,{error:Y||Error("Unknown error")}),(0,o.jsx)(ae,{variant:"outline",size:"sm",onClick:He,children:"Retry"})]}),e[74]=Y,e[75]=He,e[76]=Z):Z=e[76];let Re;e[77]===Symbol.for("react.memo_cache_sentinel")?(Re=(0,o.jsx)("div",{ref:T}),e[77]=Re):Re=e[77];let ee;e[78]!==J||e[79]!==K||e[80]!==Q||e[81]!==Z?(ee=(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:[J,K,Q,Z,Re]}),e[78]=J,e[79]=K,e[80]=Q,e[81]=Z,e[82]=ee):ee=e[82];let te;e[83]!==P||e[84]!==X?(te=P&&(0,o.jsx)("div",{className:"w-full flex justify-center items-center z-20 border-t",children:(0,o.jsx)(ae,{variant:"linkDestructive",size:"sm",onClick:X,children:"Stop"})}),e[83]=P,e[84]=X,e[85]=te):te=e[85];let re;e[86]!==B||e[87]!==$||e[88]!==M?(re=!M&&(0,o.jsxs)(o.Fragment,{children:[$,B]}),e[86]=B,e[87]=$,e[88]=M,e[89]=re):re=e[89];let Ae;return e[90]!==G||e[91]!==ee||e[92]!==te||e[93]!==re?(Ae=(0,o.jsxs)("div",{className:"flex flex-col h-[calc(100%-53px)]",children:[G,ee,te,re]}),e[90]=G,e[91]=ee,e[92]=te,e[93]=re,e[94]=Ae):Ae=e[94],Ae},tl=Zr;function rl(e){return e.type==="text"}function ll(e){return e.text}function ol(e){return e.type==="file"}function al(e,t){return(0,o.jsx)(fr,{attachment:e},t)}function nl(){}function sl(){}function il(e){return e.type==="text"}function cl(e){return e.text}function dl(e){return(0,o.jsx)(Kt,{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 ul(e){let{messages:t}=e;return nr(t)}function pl(e){_e.error("An error occurred:",e)}function ml(e){return e.type==="file"}export{tl as default};
@@ -1,4 +1,4 @@
1
- import{s as Z}from"./chunk-LvLJmgfZ.js";import"./useEvent-D91BmmQi.js";import{t as re}from"./react-Bj1aDYRI.js";import{cn as ae}from"./cells-CcBfzJ1Z.js";import"./react-dom-CSu739Rf.js";import{C as ne,P as le,R as oe,T as ie,k as me}from"./zod-H_cgTO0M.js";import{t as ce}from"./compiler-runtime-B3qBwwSJ.js";import{_ as K,d as de,t as pe}from"./useEventListener-BR0C1MaI.js";import{t as B}from"./cn-DCUzRj2J.js";import{t as ue}from"./jsx-runtime-BqBOg78p.js";import"./fullscreen-BDxedMYP.js";import{i as he,l as xe,r as G,t as U}from"./popover-UExmgBsf.js";import{a as fe,p as ge,r as be,t as je}from"./dropdown-menu-D1A3cFC8.js";import{t as W}from"./label-DTR8T0AE.js";import{t as Y}from"./tooltip-Gcwqb_SK.js";import{t as z}from"./button-D9nb17Rw.js";import"./dist-BrR4M-k3.js";import"./cjs-BRGiG41H.js";import"./main-B0OX4z33.js";import"./useNonce-DfoVjkkH.js";import{t as ve}from"./strings-md4mFbOQ.js";import{t as ye}from"./createLucideIcon-D5guW7EU.js";import{t as Ne}from"./bot-message-square-DrbHk31W.js";import{t as we}from"./x-C-6liIBr.js";import"./markdown-renderer-DmnGXdCp.js";import{u as _e}from"./toDate-B5A0DFEz.js";import{M as ke,N as Ce,P as Se,j as Ae,k as Me,m as Re,n as ze}from"./add-cell-with-ai-DfniMbLM.js";import{t as Ee}from"./spinner-Bhir8k53.js";import{o as Ie,r as qe}from"./input-BX98vgAu.js";import{t as Fe}from"./settings-DfFe0dWD.js";import{t as $e}from"./trash-2-CKlZA04n.js";import"./dist-DQOq2Tf-.js";import"./dist-DBiqbYe-.js";import"./dist-VjDnmGCZ.js";import"./dist-E6ttb8td.js";import"./dist-B324sPca.js";import"./session-VtovaFBS.js";import"./purify.es-DBmVz-Wl.js";import{t as De}from"./copy-icon-BYNydU7b.js";import{r as Te}from"./react-icons.esm-D9xfKaPZ.js";import{t as He}from"./events-BRAWQiYK.js";import{n as Le}from"./error-banner-C6aBa98y.js";import{n as Oe}from"./useAsyncData-BFC6lWG9.js";import"./chunk-5FQGJX7Z-e_arGD4o.js";import"./html-to-image-BHdf1t5J.js";import"./esm-BmrwxxCo.js";import{t as Pe}from"./chat-display-NiFkPnNN.js";var Ve=ye("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"}]]),J=ce(),t=Z(ue(),1),b=Z(re(),1),Ke=xe,Ye=le({type:me("stream_chunk"),message_id:oe(),content:ne().nullable().transform(s=>s),is_final:ie().optional()});const Je=s=>{var X;let[e,m]=(0,b.useState)(""),[x,N]=(0,b.useState)(s.config),[_,c]=(0,b.useState)(s.config),[o,f]=(0,b.useState)(void 0),h=(0,b.useRef)(null),g=(0,b.useRef)(null),j=(0,b.useRef)(null),i=(0,b.useRef)(null);Object.keys(s.config).some(r=>s.config[r]!==_[r])&&(N(s.config),c(s.config));let l=(0,b.useRef)(x);l.current=x;let p=(0,b.useRef)({backendMessageId:null,frontendMessageIndex:null}),a=(0,b.useRef)(null),{data:d}=Oe(async()=>(await s.get_chat_history({})).messages,[]),n=s.value.length>0?s.value:d,{messages:u,sendMessage:k,setMessages:R,status:A,stop:$,error:C,regenerate:M,clearError:S}=Me({transport:new Ae({fetch:async(r,v)=>{var D;if(v===void 0)return fetch(r);let y=JSON.parse(v.body),w=v.signal,O={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 H=y.messages.map(F=>{var E;return{...F,content:(E=F.parts)==null?void 0:E.map(P=>"text"in P?P.text:"").join(`
1
+ import{s as Z}from"./chunk-LvLJmgfZ.js";import"./useEvent-D91BmmQi.js";import{t as re}from"./react-Bj1aDYRI.js";import{cn as ae}from"./cells-Jdt48eTG.js";import"./react-dom-CSu739Rf.js";import{C as ne,P as le,R as oe,T as ie,k as me}from"./zod-H_cgTO0M.js";import{t as ce}from"./compiler-runtime-B3qBwwSJ.js";import{_ as K,d as de,t as pe}from"./useEventListener-BR0C1MaI.js";import{t as B}from"./cn-DCUzRj2J.js";import{t as ue}from"./jsx-runtime-BqBOg78p.js";import"./fullscreen-BDxedMYP.js";import{i as he,l as xe,r as G,t as U}from"./popover-UExmgBsf.js";import{a as fe,p as ge,r as be,t as je}from"./dropdown-menu-D1A3cFC8.js";import{t as W}from"./label-DTR8T0AE.js";import{t as Y}from"./tooltip-Gcwqb_SK.js";import{t as z}from"./button-D9nb17Rw.js";import"./dist-BrR4M-k3.js";import"./cjs-BRGiG41H.js";import"./main-B0OX4z33.js";import"./useNonce-DfoVjkkH.js";import{t as ve}from"./strings-md4mFbOQ.js";import{t as ye}from"./createLucideIcon-D5guW7EU.js";import{t as Ne}from"./bot-message-square-DrbHk31W.js";import{t as we}from"./x-C-6liIBr.js";import"./markdown-renderer-9gIJjISB.js";import{u as _e}from"./toDate-B5A0DFEz.js";import{M as ke,N as Ce,P as Se,j as Ae,k as Me,m as Re,n as ze}from"./add-cell-with-ai-BqApEAcB.js";import{t as Ee}from"./spinner-Bhir8k53.js";import{o as Ie,r as qe}from"./input-BX98vgAu.js";import{t as Fe}from"./settings-DfFe0dWD.js";import{t as $e}from"./trash-2-CKlZA04n.js";import"./dist-DQOq2Tf-.js";import"./dist-DBiqbYe-.js";import"./dist-VjDnmGCZ.js";import"./dist-E6ttb8td.js";import"./dist-B324sPca.js";import"./session-VtovaFBS.js";import"./purify.es-DBmVz-Wl.js";import{t as De}from"./copy-icon-BYNydU7b.js";import{r as Te}from"./react-icons.esm-D9xfKaPZ.js";import{t as He}from"./events-BRAWQiYK.js";import{n as Le}from"./error-banner-C6aBa98y.js";import{n as Oe}from"./useAsyncData-BFC6lWG9.js";import"./chunk-5FQGJX7Z-e_arGD4o.js";import"./html-to-image-BJDxFKbb.js";import"./esm-BmrwxxCo.js";import{t as Pe}from"./chat-display-YfE-PieK.js";var Ve=ye("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"}]]),J=ce(),t=Z(ue(),1),b=Z(re(),1),Ke=xe,Ye=le({type:me("stream_chunk"),message_id:oe(),content:ne().nullable().transform(s=>s),is_final:ie().optional()});const Je=s=>{var X;let[e,m]=(0,b.useState)(""),[x,N]=(0,b.useState)(s.config),[_,c]=(0,b.useState)(s.config),[o,f]=(0,b.useState)(void 0),h=(0,b.useRef)(null),g=(0,b.useRef)(null),j=(0,b.useRef)(null),i=(0,b.useRef)(null);Object.keys(s.config).some(r=>s.config[r]!==_[r])&&(N(s.config),c(s.config));let l=(0,b.useRef)(x);l.current=x;let p=(0,b.useRef)({backendMessageId:null,frontendMessageIndex:null}),a=(0,b.useRef)(null),{data:d}=Oe(async()=>(await s.get_chat_history({})).messages,[]),n=s.value.length>0?s.value:d,{messages:u,sendMessage:k,setMessages:R,status:A,stop:$,error:C,regenerate:M,clearError:S}=Me({transport:new Ae({fetch:async(r,v)=>{var D;if(v===void 0)return fetch(r);let y=JSON.parse(v.body),w=v.signal,O={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 H=y.messages.map(F=>{var E;return{...F,content:(E=F.parts)==null?void 0:E.map(P=>"text"in P?P.text:"").join(`
2
2
  `)}}),V=new ReadableStream({start(F){a.current=F;let E=()=>{try{F.close()}catch(P){K.debug("Controller may already be closed",{error:P})}a.current=null};return w==null||w.addEventListener("abort",E),()=>{w==null||w.removeEventListener("abort",E)}},cancel(){a.current=null}});return s.send_prompt({messages:H,config:O}).catch(F=>{var E;(E=a.current)==null||E.error(F),a.current=null}),ke({stream:V})}catch(H){if(p.current={backendMessageId:null,frontendMessageIndex:null},H instanceof Error&&H.name==="AbortError")return new Response("Aborted",{status:499});let V=(D=H.message)==null?void 0:D.split("failed with exception ").pop();return new Response(V,{status:400})}}}),messages:n,onFinish:r=>{f(void 0),h.current&&(h.current.value=""),K.debug("Finished streaming message:",r),p.current={backendMessageId:null,frontendMessageIndex:null},s.setValue(r.messages)},onError:r=>{K.error("An error occurred:",r),p.current={backendMessageId:null,frontendMessageIndex:null}}});pe(s.host,He.TYPE,r=>{let v=Ye.safeParse(r.detail.message);if(!v.success)return;let y=v.data,w=a.current;w&&(y.content&&w.enqueue(y.content),y.is_final&&(w.close(),a.current=null))});let I=A==="submitted"||A==="streaming",T=r=>{let v=u.findIndex(y=>y.id===r);if(v!==-1){let y=u.filter(w=>w.id!==r);s.delete_chat_message({index:v}),R(y),s.setValue(y)}},Q=Array.isArray(s.allowAttachments)&&s.allowAttachments.length>0||s.allowAttachments===!0,ee={triggerCompletionRegex:/^\/(\w+)?/,completions:s.prompts.map(r=>({label:`/${r}`,displayLabel:r,apply:r}))},te=s.prompts.length>0?"Type your message here, / for prompts":"Type your message here...";(0,b.useEffect)(()=>{var r;(r=i.current)==null||r.scrollTo({top:i.current.scrollHeight,behavior:"smooth"})},[u.length,i]);let q=(X=j.current)==null?void 0:X.view,se=()=>{if(q){let r=q.state.doc.length;q.dispatch({changes:{from:0,to:r,insert:""}})}m("")};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:u.length===0,onClick:()=>{R([]),s.setValue([]),s.delete_chat_history({}),S()},children:(0,t.jsx)(Ve,{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:i,children:[u.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)(Ne,{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."})]}),u.map((r,v)=>{var O;let y=(O=r.parts)==null?void 0:O.filter(D=>D.type==="text").map(D=>D.text).join(`
3
3
  `),w=v===u.length-1;return(0,t.jsxs)("div",{className:B("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:Pe({message:r,isStreamingReasoning:A==="streaming",isLast:w})}),(0,t.jsxs)("div",{className:"flex justify-end text-xs gap-2 invisible group-hover:visible",children:[(0,t.jsx)(De,{value:y,className:"h-3 w-3",buttonClassName:"text-xs text-(--slate-9) hover:text-(--slate-11)"}),(0,t.jsx)("button",{type:"button",onClick:()=>T(r.id),className:"text-xs text-(--slate-9) hover:text-(--slate-11)",children:(0,t.jsx)($e,{className:"h-3 w-3 text-(--red-9)"})})]})]},`${r.id}-${v}`)}),I&&(0,t.jsxs)("div",{className:"flex items-center justify-center space-x-2 mb-4",children:[(0,t.jsx)(Ee,{size:"small"}),(0,t.jsx)(z,{variant:"link",size:"sm",onClick:()=>$(),className:"text-(--red-9) hover:text-(--red-11)",children:"Stop"})]}),C&&(0,t.jsxs)("div",{className:"flex items-center justify-center space-x-2 mb-4",children:[(0,t.jsx)(Le,{error:C}),(0,t.jsx)(z,{variant:"outline",size:"sm",onClick:()=>M(),children:"Retry"})]})]}),(0,t.jsxs)("form",{onSubmit:async r=>{if(r.preventDefault(),s.disabled)return;let v=o?await Re(o):void 0;k({role:"user",parts:[{type:"text",text:e},...v??[]]}),se()},ref:g,inert:s.disabled||void 0,className:B("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)(Xe,{config:x,onChange:N}),s.prompts.length>0&&(0,t.jsx)(Ze,{prompts:s.prompts,onSelect:r=>{m(r),requestAnimationFrame(()=>{q==null||q.focus(),ae(q)})}}),(0,t.jsx)(ze,{className:"rounded-sm mr-2",placeholder:te,value:e,inputRef:j,maxHeight:s.maxHeight?`${s.maxHeight/2}px`:void 0,onChange:m,onSubmit:(r,v)=>{var y;v.trim()&&((y=g.current)==null||y.requestSubmit())},onClose:()=>{},additionalCompletions:ee}),o&&o.length===1&&(0,t.jsx)("span",{title:o[0].name,className:"text-sm text-(--slate-11) truncate shrink-0 w-fit max-w-24",children:o[0].name}),o&&o.length>1&&(0,t.jsxs)("span",{title:[...o].map(r=>r.name).join(`
4
4
  `),className:"text-sm text-(--slate-11) truncate shrink-0",children:[o.length," files"]}),o&&o.length>0&&(0,t.jsx)(z,{type:"button",variant:"text",size:"sm",onClick:()=>{f(void 0),h.current&&(h.current.value="")},children:(0,t.jsx)(we,{className:"size-3"})}),Q&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(z,{type:"button",variant:"text",size:"sm",onClick:()=>{var r;return(r=h.current)==null?void 0:r.click()},children:(0,t.jsx)(Se,{className:"h-4"})}),(0,t.jsx)("input",{type:"file",ref:h,className:"hidden",multiple:!0,accept:Array.isArray(s.allowAttachments)?s.allowAttachments.join(","):void 0,onChange:r=>{r.target.files&&f([...r.target.files])}})]}),(0,t.jsx)(z,{type:"submit",disabled:I||!e,variant:"outline",size:"xs",className:"text-(--slate-11)",children:(0,t.jsx)(Ce,{className:"h-4 w-4"})})]})]})};var L={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)"}},Xe=s=>{let e=(0,J.c)(16),{config:m,onChange:x}=s,[N,_]=(0,b.useState)(!1),c;e[0]!==m||e[1]!==x?(c=(a,d)=>{let n=d===null||Number.isNaN(d)?null:d;if(n!==null){let{min:u,max:k}=L[a];n=Math.max(u,Math.min(k,n))}x({...m,[a]:n})},e[0]=m,e[1]=x,e[2]=c):c=e[2];let o=c,f;e[3]===Symbol.for("react.memo_cache_sentinel")?(f=a=>{a.key==="Enter"&&(a.preventDefault(),_(!1))},e[3]=f):f=e[3];let h=f,g;e[4]===Symbol.for("react.memo_cache_sentinel")?(g=(0,t.jsx)(Y,{content:"Configuration",children:(0,t.jsx)(he,{asChild:!0,children:(0,t.jsx)(z,{variant:"outline",size:"sm",className:"border-none shadow-none hover:bg-transparent",children:(0,t.jsx)(Fe,{className:"h-3 w-3"})})})}),e[4]=g):g=e[4];let j;e[5]===Symbol.for("react.memo_cache_sentinel")?(j=(0,t.jsx)("h4",{className:"font-bold leading-none",children:"Configuration"}),e[5]=j):j=e[5];let i;if(e[6]!==m||e[7]!==o){let a;e[9]===o?a=e[10]:(a=d=>{let[n,u]=d;return(0,t.jsxs)("div",{className:"grid grid-cols-3 items-center gap-1",children:[(0,t.jsxs)(W,{htmlFor:n,className:"flex w-full justify-between col-span-3 align-end",children:[ve.startCase(n),(0,t.jsx)(Y,{delayDuration:200,side:"top",content:(0,t.jsx)("div",{className:"text-xs flex flex-col",children:L[n].description}),children:(0,t.jsx)(_e,{className:"h-3 w-3 cursor-help text-muted-foreground hover:text-foreground"})})]}),(0,t.jsx)(Ie,{id:n,"aria-label":n,value:u??NaN,placeholder:"null",minValue:L[n].min,maxValue:L[n].max,step:L[n].step??1,onChange:k=>o(n,k),onKeyDown:h,className:"col-span-3"})]},n)},e[9]=o,e[10]=a),i=de.entries(m).map(a),e[6]=m,e[7]=o,e[8]=i}else i=e[8];let l;e[11]===i?l=e[12]:(l=(0,t.jsx)(G,{className:"w-70 border",children:(0,t.jsxs)("div",{className:"grid gap-3",children:[j,i]})}),e[11]=i,e[12]=l);let p;return e[13]!==N||e[14]!==l?(p=(0,t.jsxs)(U,{open:N,onOpenChange:_,children:[g,l]}),e[13]=N,e[14]=l,e[15]=p):p=e[15],p},Ze=s=>{let e=(0,J.c)(18),{prompts:m,onSelect:x}=s,[N,_]=(0,b.useState)(!1),[c,o]=(0,b.useState)(""),f;e[0]===x?f=e[1]:(f=d=>{[...d.matchAll(/{{(\w+)}}/g)].length>0?(o(d),_(!0)):x(d)},e[0]=x,e[1]=f);let h=f,g;e[2]===Symbol.for("react.memo_cache_sentinel")?(g=(0,t.jsx)(Y,{content:"Select a prompt",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)(Te,{className:"h-3 w-3"})})})}),e[2]=g):g=e[2];let j;if(e[3]!==h||e[4]!==m){let d;e[6]===h?d=e[7]:(d=(n,u)=>(0,t.jsx)(fe,{onSelect:()=>h(n),className:"whitespace-normal text-left",children:n},u),e[6]=h,e[7]=d),j=m.map(d),e[3]=h,e[4]=m,e[5]=j}else j=e[5];let i;e[8]===j?i=e[9]:(i=(0,t.jsx)(Ke,{children:(0,t.jsxs)(je,{children:[g,(0,t.jsx)(be,{side:"right",align:"end",onCloseAutoFocus:Ge,className:"w-64 max-h-96 overflow-y-auto",children:j})]})}),e[8]=j,e[9]=i);let l;e[10]===Symbol.for("react.memo_cache_sentinel")?(l=()=>_(!1),e[10]=l):l=e[10];let p;e[11]!==x||e[12]!==c?(p=(0,t.jsx)(G,{side:"right",align:"end",className:"min-w-80 px-2",children:(0,t.jsx)(Be,{prompt:c,onClose:l,onSelect:x})}),e[11]=x,e[12]=c,e[13]=p):p=e[13];let a;return e[14]!==N||e[15]!==i||e[16]!==p?(a=(0,t.jsxs)(U,{open:N,onOpenChange:_,children:[i,p]}),e[14]=N,e[15]=i,e[16]=p,e[17]=a):a=e[17],a},Be=s=>{let e=(0,J.c)(32),{prompt:m,onClose:x,onSelect:N}=s,_;e[0]===Symbol.for("react.memo_cache_sentinel")?(_={},e[0]=_):_=e[0];let[c,o]=(0,b.useState)(_),f,h;e[1]===m?(f=e[2],h=e[3]):(f=()=>{o([...m.matchAll(/{{(\w+)}}/g)].reduce(Ue,{}))},h=[m],e[1]=m,e[2]=f,e[3]=h),(0,b.useEffect)(f,h);let g;e[4]===Symbol.for("react.memo_cache_sentinel")?(g=(C,M)=>{o(S=>({...S,[C]:M}))},e[4]=g):g=e[4];let j=g,i;if(e[5]!==m||e[6]!==c){let C;e[8]===Symbol.for("react.memo_cache_sentinel")?(C=/{{(\w+)}}/g,e[8]=C):C=e[8];let M;e[9]===c?M=e[10]:(M=(S,I)=>c[I]||`{{${I}}}`,e[9]=c,e[10]=M),i=m.replaceAll(C,M),e[5]=m,e[6]=c,e[7]=i}else i=e[7];let l=i,p;e[11]===c?p=e[12]:(p=Object.values(c).some(We),e[11]=c,e[12]=p);let a=p,d;e[13]!==x||e[14]!==N||e[15]!==l?(d=()=>{N(l),x()},e[13]=x,e[14]=N,e[15]=l,e[16]=d):d=e[16];let n=d,u;e[17]===c?u=e[18]:(u=Object.entries(c),e[17]=c,e[18]=u);let k;e[19]!==n||e[20]!==a||e[21]!==u?(k=u.map((C,M)=>{let[S,I]=C;return(0,t.jsxs)("div",{className:"grid grid-cols-4 items-center gap-2",children:[(0,t.jsx)(W,{htmlFor:S,className:"font-semibold text-base",children:S}),(0,t.jsx)(qe,{id:S,value:I,onChange:T=>j(S,T.target.value),rootClassName:"col-span-3 w-full",className:"m-0",placeholder:`Enter value for ${S}`,autoFocus:M===0,onKeyDown:T=>{T.key==="Enter"&&!a&&n()}})]},S)}),e[19]=n,e[20]=a,e[21]=u,e[22]=k):k=e[22];let R;e[23]===l?R=e[24]:(R=(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]=R);let A;e[25]!==n||e[26]!==a?(A=(0,t.jsx)(z,{onClick:n,size:"xs",disabled:a,children:"Submit"}),e[25]=n,e[26]=a,e[27]=A):A=e[27];let $;return e[28]!==R||e[29]!==A||e[30]!==k?($=(0,t.jsxs)("div",{className:"grid gap-4",children:[k,R,A]}),e[28]=R,e[29]=A,e[30]=k,e[31]=$):$=e[31],$};function Ge(s){return s.preventDefault()}function Ue(s,e){return s[e[1]]="",s}function We(s){return s==null||s.trim()===""}export{Je as Chatbot};
@@ -1 +1 @@
1
- import{s as I}from"./chunk-LvLJmgfZ.js";import{u as J}from"./useEvent-D91BmmQi.js";import{t as R}from"./react-Bj1aDYRI.js";import{E as B,Fr as M,Nr as G}from"./cells-CcBfzJ1Z.js";import{t as H}from"./compiler-runtime-B3qBwwSJ.js";import{o as K}from"./utils-DIGrmLDO.js";import{t as U}from"./jsx-runtime-BqBOg78p.js";import{c as V,rt as W}from"./JsonOutput-02ehjjSC.js";import{t as q}from"./tooltip-Gcwqb_SK.js";import{r as A,t as D}from"./button-D9nb17Rw.js";import{r as X}from"./requests-DIwGYs0l.js";import{t as Y}from"./createLucideIcon-D5guW7EU.js";import{t as Z}from"./useLifecycle-DieWOfXE.js";import{t as ee}from"./spinner-Bhir8k53.js";import{r as te}from"./useTheme-Cb4Wekek.js";import{t as ae}from"./copy-icon-BYNydU7b.js";import{t as re}from"./context-B3MsQb-b.js";import{r as se}from"./numbers-CAW8yjzj.js";import{n as oe}from"./html-to-image-BHdf1t5J.js";import{o as ne}from"./focus-CXQpR65O.js";import{n as ce}from"./components-DVKf_7RU.js";var P=Y("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"}]]),L=H(),le=I(R(),1),s=I(U(),1);const ie=i=>{let e=(0,L.c)(53),{table:t,column:a,preview:r,onAddColumnChart:c,sqlTableContext:o}=i,{theme:u}=te(),{previewDatasetColumn:l}=X(),{locale:d}=re(),m;e[0]!==a.name||e[1]!==l||e[2]!==o||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:o?`${o.database}.${o.schema}.${t.name}`:t.name})},e[0]=a.name,e[1]=l,e[2]=o,e[3]=t.name,e[4]=t.source,e[5]=t.source_type,e[6]=m):m=e[6];let p=m,f;if(e[7]!==r||e[8]!==p||e[9]!==t.source_type?(f=()=>{r||t.source_type==="connection"||t.source_type==="catalog"||p()},e[7]=r,e[8]=p,e[9]=t.source_type,e[10]=f):f=e[10],Z(f),t.source_type==="connection"){let n=a.name,F=a.external_type,x;e[11]!==a.name||e[12]!==c||e[13]!==o||e[14]!==t?(x=A.stopPropagation(()=>{c(M({table:t,columnName:a.name,sqlTableContext:o}))}),e[11]=a.name,e[12]=c,e[13]=o,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 h;e[17]===x?h=e[18]:(h=(0,s.jsxs)(D,{variant:"outline",size:"xs",onClick:x,children:[C," Add SQL cell"]}),e[17]=x,e[18]=h);let S;return e[19]!==a.external_type||e[20]!==a.name||e[21]!==h?(S=(0,s.jsxs)("span",{className:"text-xs text-muted-foreground gap-2 flex items-center justify-between pl-7",children:[n," (",F,")",h]}),e[19]=a.external_type,e[20]=a.name,e[21]=h,e[22]=S):S=e[22],S}if(t.source_type==="catalog"){let n;return e[23]!==a.external_type||e[24]!==a.name?(n=(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]=n):n=e[25],n}if(!r){let n;return e[26]===Symbol.for("react.memo_cache_sentinel")?(n=(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:"Loading..."}),e[26]=n):n=e[26],n}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&&$(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)(E,{chartCode:r.chart_code}),e[38]=r.chart_code,e[39]=t.source_type,e[40]=k):k=e[40];let z=k,v;e[41]!==a.name||e[42]!==c||e[43]!==o||e[44]!==t?(v=t.source_type==="duckdb"&&(0,s.jsx)(q,{content:"Add SQL cell",delayDuration:400,children:(0,s.jsx)(D,{variant:"outline",size:"icon",className:"z-10 bg-background absolute right-1 -top-1",onClick:A.stopPropagation(()=>{c(M({table:t,columnName:a.name,sqlTableContext:o}))}),children:(0,s.jsx)(P,{className:"h-3 w-3"})})}),e[41]=a.name,e[42]=c,e[43]=o,e[44]=t,e[45]=v):v=e[45];let T=v;if(!y&&!b&&!N){let n;return e[46]===Symbol.for("react.memo_cache_sentinel")?(n=(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:"No data"}),e[46]=n):n=e[46],n}let w;return e[47]!==z||e[48]!==T||e[49]!==N||e[50]!==y||e[51]!==b?(w=(0,s.jsxs)(ce,{children:[y,z,T,N,b]}),e[47]=z,e[48]=T,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)(V,{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:G(a,e)}),(0,s.jsx)("span",{className:"text-xs font-bold text-muted-foreground tracking-wide",children:se(r,t)}),(0,s.jsx)(ae,{className:"h-3 w-3 invisible group-hover:visible",value:String(r)})]},a))})}var me=(0,s.jsx)("div",{className:"flex justify-center",children:(0,s.jsx)(ee,{className:"size-4"})});function $(i,e){let t=a=>({...a,background:"transparent",config:{...a.config,background:"transparent"}});return(0,s.jsx)(le.Suspense,{fallback:me,children:(0,s.jsx)(W,{"data-container-width":"container",spec:t(JSON.parse(i)),options:{theme:e==="dark"?"dark":"vox",height:100,width:"container",actions:!1,renderer:"canvas"}})})}const E=i=>{let e=(0,L.c)(10),{chartCode:t}=i,a=J(K),r=ne(),{createNewCell:c}=B(),o;e[0]!==a||e[1]!==c||e[2]!==r?(o=p=>{p.includes("alt")&&oe({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]=o):o=e[3];let u=o,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)(q,{content:"Add chart to notebook",delayDuration:400,children:(0,s.jsx)(D,{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,ie as n,P as o,$ as r,E as t};
1
+ import{s as I}from"./chunk-LvLJmgfZ.js";import{u as J}from"./useEvent-D91BmmQi.js";import{t as R}from"./react-Bj1aDYRI.js";import{E as B,Fr as M,Nr as G}from"./cells-Jdt48eTG.js";import{t as H}from"./compiler-runtime-B3qBwwSJ.js";import{o as K}from"./utils-DIGrmLDO.js";import{t as U}from"./jsx-runtime-BqBOg78p.js";import{c as V,rt as W}from"./JsonOutput-vLKwARbP.js";import{t as q}from"./tooltip-Gcwqb_SK.js";import{r as A,t as D}from"./button-D9nb17Rw.js";import{r as X}from"./requests-DIwGYs0l.js";import{t as Y}from"./createLucideIcon-D5guW7EU.js";import{t as Z}from"./useLifecycle-DieWOfXE.js";import{t as ee}from"./spinner-Bhir8k53.js";import{r as te}from"./useTheme-Cb4Wekek.js";import{t as ae}from"./copy-icon-BYNydU7b.js";import{t as re}from"./context-B3MsQb-b.js";import{r as se}from"./numbers-CAW8yjzj.js";import{n as oe}from"./html-to-image-BJDxFKbb.js";import{o as ne}from"./focus-Bz1PGBQ2.js";import{n as ce}from"./components-Du9BBcZY.js";var P=Y("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"}]]),L=H(),le=I(R(),1),s=I(U(),1);const ie=i=>{let e=(0,L.c)(53),{table:t,column:a,preview:r,onAddColumnChart:c,sqlTableContext:o}=i,{theme:u}=te(),{previewDatasetColumn:l}=X(),{locale:d}=re(),m;e[0]!==a.name||e[1]!==l||e[2]!==o||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:o?`${o.database}.${o.schema}.${t.name}`:t.name})},e[0]=a.name,e[1]=l,e[2]=o,e[3]=t.name,e[4]=t.source,e[5]=t.source_type,e[6]=m):m=e[6];let p=m,f;if(e[7]!==r||e[8]!==p||e[9]!==t.source_type?(f=()=>{r||t.source_type==="connection"||t.source_type==="catalog"||p()},e[7]=r,e[8]=p,e[9]=t.source_type,e[10]=f):f=e[10],Z(f),t.source_type==="connection"){let n=a.name,F=a.external_type,x;e[11]!==a.name||e[12]!==c||e[13]!==o||e[14]!==t?(x=A.stopPropagation(()=>{c(M({table:t,columnName:a.name,sqlTableContext:o}))}),e[11]=a.name,e[12]=c,e[13]=o,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 h;e[17]===x?h=e[18]:(h=(0,s.jsxs)(D,{variant:"outline",size:"xs",onClick:x,children:[C," Add SQL cell"]}),e[17]=x,e[18]=h);let S;return e[19]!==a.external_type||e[20]!==a.name||e[21]!==h?(S=(0,s.jsxs)("span",{className:"text-xs text-muted-foreground gap-2 flex items-center justify-between pl-7",children:[n," (",F,")",h]}),e[19]=a.external_type,e[20]=a.name,e[21]=h,e[22]=S):S=e[22],S}if(t.source_type==="catalog"){let n;return e[23]!==a.external_type||e[24]!==a.name?(n=(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]=n):n=e[25],n}if(!r){let n;return e[26]===Symbol.for("react.memo_cache_sentinel")?(n=(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:"Loading..."}),e[26]=n):n=e[26],n}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&&$(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)(E,{chartCode:r.chart_code}),e[38]=r.chart_code,e[39]=t.source_type,e[40]=k):k=e[40];let z=k,v;e[41]!==a.name||e[42]!==c||e[43]!==o||e[44]!==t?(v=t.source_type==="duckdb"&&(0,s.jsx)(q,{content:"Add SQL cell",delayDuration:400,children:(0,s.jsx)(D,{variant:"outline",size:"icon",className:"z-10 bg-background absolute right-1 -top-1",onClick:A.stopPropagation(()=>{c(M({table:t,columnName:a.name,sqlTableContext:o}))}),children:(0,s.jsx)(P,{className:"h-3 w-3"})})}),e[41]=a.name,e[42]=c,e[43]=o,e[44]=t,e[45]=v):v=e[45];let T=v;if(!y&&!b&&!N){let n;return e[46]===Symbol.for("react.memo_cache_sentinel")?(n=(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:"No data"}),e[46]=n):n=e[46],n}let w;return e[47]!==z||e[48]!==T||e[49]!==N||e[50]!==y||e[51]!==b?(w=(0,s.jsxs)(ce,{children:[y,z,T,N,b]}),e[47]=z,e[48]=T,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)(V,{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:G(a,e)}),(0,s.jsx)("span",{className:"text-xs font-bold text-muted-foreground tracking-wide",children:se(r,t)}),(0,s.jsx)(ae,{className:"h-3 w-3 invisible group-hover:visible",value:String(r)})]},a))})}var me=(0,s.jsx)("div",{className:"flex justify-center",children:(0,s.jsx)(ee,{className:"size-4"})});function $(i,e){let t=a=>({...a,background:"transparent",config:{...a.config,background:"transparent"}});return(0,s.jsx)(le.Suspense,{fallback:me,children:(0,s.jsx)(W,{"data-container-width":"container",spec:t(JSON.parse(i)),options:{theme:e==="dark"?"dark":"vox",height:100,width:"container",actions:!1,renderer:"canvas"}})})}const E=i=>{let e=(0,L.c)(10),{chartCode:t}=i,a=J(K),r=ne(),{createNewCell:c}=B(),o;e[0]!==a||e[1]!==c||e[2]!==r?(o=p=>{p.includes("alt")&&oe({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]=o):o=e[3];let u=o,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)(q,{content:"Add chart to notebook",delayDuration:400,children:(0,s.jsx)(D,{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,ie as n,P as o,$ as r,E 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{pi as Z}from"./cells-CcBfzJ1Z.js";import"./react-dom-CSu739Rf.js";import{t as O}from"./compiler-runtime-B3qBwwSJ.js";import{S as ee}from"./ai-model-dropdown-BFTnsrTP.js";import{d as le,h as te,t as ie,u as ae}from"./useEventListener-BR0C1MaI.js";import{p as oe,v as ne,y as re}from"./utils-DIGrmLDO.js";import{t as de}from"./jsx-runtime-BqBOg78p.js";import"./fullscreen-BDxedMYP.js";import"./popover-UExmgBsf.js";import"./JsonOutput-02ehjjSC.js";import"./download-YUQiaxS9.js";import"./dist-BrR4M-k3.js";import"./cjs-BRGiG41H.js";import"./main-B0OX4z33.js";import"./useNonce-DfoVjkkH.js";import{r as pe}from"./requests-DIwGYs0l.js";import"./layout-DNOqvNbP.js";import{t as se}from"./useCellActionButton-CcXV09GQ.js";import"./markdown-renderer-DmnGXdCp.js";import{i as me,t as he}from"./useNotebookActions-CWpi-dx_.js";import"./dist-DQOq2Tf-.js";import"./dist-DBiqbYe-.js";import"./dist-VjDnmGCZ.js";import"./dist-E6ttb8td.js";import"./dist-B324sPca.js";import"./session-VtovaFBS.js";import"./purify.es-DBmVz-Wl.js";import"./dates-CAlnO9QB.js";import{n as ce}from"./useHotkey-Cm0DaHEJ.js";import"./share-DIVpiHPe.js";import"./utils-CGtUbqcR.js";import"./vega-loader.browser-BegSZk0G.js";import"./defaultLocale-YteS-k_t.js";import"./defaultLocale-B6z1Qyqt.js";import{a as ye,c as fe,i as L,l as z,n as ue,o as J,r as be,s as ge}from"./command-CBCkexpx.js";import"./chunk-5FQGJX7Z-e_arGD4o.js";import"./html-to-image-BHdf1t5J.js";import{r as ke}from"./focus-CXQpR65O.js";import"./react-resizable-panels.browser.esm-BUNcfKXO.js";import{t as Q}from"./renderShortcut-DZpkrZaP.js";import"./esm-BmrwxxCo.js";import"./name-cell-input-CHuLB3H7.js";import"./multi-icon-DQxqgfM2.js";import"./dist-DS5RCKZO.js";import"./dist-9g-_Ln9y.js";import"./dist-DBBYmRY4.js";import"./dist-DggusHaA.js";import"./dist-CGDn0y-i.js";import"./dist-CsEqrZxx.js";import"./dist-_XomGjg6.js";import"./dist-ooLAQ9IK.js";import"./dist-HW7R98td.js";import"./esm-BRNC35J6.js";var we=O(),Ce=U(Y(),1);function je(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 f=i,h;return t[8]!==f||t[9]!==m?(h=[m,f],t[8]=f,t[9]=m,t[10]=h):h=t[10],h}var xe=O(),ve=3;function Se(){let e=(0,xe.c)(7),l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=[],e[0]=l):l=e[0];let[t,r]=je("marimo:commands",l),d;e[1]!==t||e[2]!==r?(d=m=>{r(_e([m,...t]).slice(0,ve))},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]=ne(),{saveAppConfig:n,saveUserConfig:m}=pe(),k;e[0]!==m||e[1]!==t?(k=async s=>{await m({config:s}).then(()=>{t(c=>({...c,...s}))})},e[0]=m,e[1]=t,e[2]=k):k=e[2];let i=k,f;e[3]!==n||e[4]!==d?(f=async s=>{await n({config:s}).then(()=>{d(s)})},e[3]=n,e[4]=d,e[5]=f):f=e[5];let h=f,w;if(e[6]!==r||e[7]!==l.completion||e[8]!==l.display||e[9]!==l.keymap||e[10]!==h||e[11]!==i){let s;e[13]===r?s=e[14]:(s=B=>B!==r.width,e[13]=r,e[14]=s);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 M;e[30]!==E||e[31]!==A?(M={label:"Config > Switch keymap to VIM",hidden:E,handle:A},e[30]=E,e[31]=A,e[32]=M):M=e[32];let N=l.keymap.preset==="default",j;e[33]!==l.keymap||e[34]!==i?(j=()=>{i({keymap:{...l.keymap,preset:"default"}})},e[33]=l.keymap,e[34]=i,e[35]=j):j=e[35];let u;e[36]!==N||e[37]!==j?(u={label:"Config > Switch keymap to default (current: VIM)",hidden:N,handle:j},e[36]=N,e[37]=j,e[38]=u):u=e[38];let x;e[39]!==l.completion||e[40]!==i?(x=()=>{i({completion:{...l.completion,copilot:!1}})},e[39]=l.completion,e[40]=i,e[41]=x):x=e[41];let v=l.completion.copilot!=="github",P;e[42]!==x||e[43]!==v?(P={label:"Config > Disable GitHub Copilot",handle:x,hidden:v},e[42]=x,e[43]=v,e[44]=P):P=e[44];let S;e[45]!==l.completion||e[46]!==i?(S=()=>{i({completion:{...l.completion,copilot:"github"}})},e[45]=l.completion,e[46]=i,e[47]=S):S=e[47];let G=l.completion.copilot==="github",$;e[48]!==S||e[49]!==G?($={label:"Config > Enable GitHub Copilot",handle:S,hidden:G},e[48]=S,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 D;e[60]!==l.display.reference_highlighting||e[61]!==y?(D={label:"Config > Enable reference highlighting",hidden:l.display.reference_highlighting,handle:y},e[60]=l.display.reference_highlighting,e[61]=y,e[62]=D):D=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(s).map(c),K,C,H,M,u,P,$,b,D,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 Me=O(),p=U(de(),1),Ne=()=>{let e=(0,Me.c)(37),[l,t]=X(me),r=ce(),d=V(ke),n=V(oe),m;e[0]===d?m=e[1]:(m={cell:d},e[0]=d,e[1]=m);let k=se(m).flat();k=T(k);let i=He(),f=he();f=[...T(f),...T(i)];let h=f.filter(De),w=le.keyBy(h,Fe),{recentCommands:s,addRecentCommand:c}=Se(),K;e[2]===s?K=e[3]:(K=new Set(s),e[2]=s,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,p.jsxs)(J,{disabled:o.disabled,keywords:g.additionalKeywords,onSelect:()=>{c(a),t(!1),requestAnimationFrame(()=>{F()})},value:g.name,children:[(0,p.jsxs)("span",{children:[g.name,o.tooltip&&(0,p.jsx)("span",{className:"ml-2",children:o.tooltip})]}),(0,p.jsx)(z,{children:(0,p.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,M;e[12]!==c||e[13]!==n||e[14]!==t?(M=a=>{let{label:o,handle:F,props:g,hotkey:R,additionalKeywords:I}=a,B=g===void 0?{}:g;return(0,p.jsxs)(J,{disabled:B.disabled,keywords:I,onSelect:()=>{c(o),t(!1),requestAnimationFrame(()=>{F()})},value:o,children:[(0,p.jsxs)("span",{children:[o,B.tooltip&&(0,p.jsxs)("span",{className:"ml-2",children:["(",B.tooltip,")"]})]}),R&&(0,p.jsx)(z,{children:(0,p.jsx)(Q,{shortcut:n.getHotkey(R).key})})]},o)},e[12]=c,e[13]=n,e[14]=t,e[15]=M):M=e[15];let N=M,j=ue,u;e[16]===Symbol.for("react.memo_cache_sentinel")?(u=(0,p.jsx)(ye,{placeholder:"Type to search..."}),e[16]=u):u=e[16];let x=ge,v;e[17]===Symbol.for("react.memo_cache_sentinel")?(v=(0,p.jsx)(be,{children:"No results found."}),e[17]=v):v=e[17];let P=s.length>0&&(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(L,{heading:"Recently Used",children:s.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)?N({label:o.label,handle:o.handleHeadless||o.handle,props:{disabled:o.disabled,tooltip:o.tooltip},additionalKeywords:o.additionalKeywords}):null})}),(0,p.jsx)(fe,{})]}),S=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:N({label:a.label,handle:a.handleHeadless||a.handle,props:{disabled:a.disabled,tooltip:a.tooltip},additionalKeywords:a.additionalKeywords})),q;e[18]!==C||e[19]!==N?(q=a=>C.has(a.label)?null:N({label:`Cell > ${a.label}`,handle:a.handleHeadless||a.handle,props:{disabled:a.disabled,tooltip:a.tooltip},additionalKeywords:a.additionalKeywords}),e[18]=C,e[19]=N,e[20]=q):q=e[20];let _=k.map(q),b;e[21]!==S||e[22]!==$||e[23]!==_||e[24]!==G?(b=(0,p.jsxs)(S,{heading:"Commands",children:[G,$,_]}),e[21]=S,e[22]=$,e[23]=_,e[24]=G,e[25]=b):b=e[25];let y;e[26]!==x||e[27]!==b||e[28]!==v||e[29]!==P?(y=(0,p.jsxs)(x,{children:[v,P,b]}),e[26]=x,e[27]=b,e[28]=v,e[29]=P,e[30]=y):y=e[30];let D;return e[31]!==j||e[32]!==l||e[33]!==t||e[34]!==y||e[35]!==u?(D=(0,p.jsxs)(j,{open:l,onOpenChange:t,children:[u,y]}),e[31]=j,e[32]=l,e[33]=t,e[34]=y,e[35]=u,e[36]=D):D=e[36],D};function De(e){return!e.hotkey}function Fe(e){return e.label}function Re(e){return!e}export{Ne 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{pi as Z}from"./cells-Jdt48eTG.js";import"./react-dom-CSu739Rf.js";import{t as O}from"./compiler-runtime-B3qBwwSJ.js";import{S as ee}from"./ai-model-dropdown-DQ9Z4-uL.js";import{d as le,h as te,t as ie,u as ae}from"./useEventListener-BR0C1MaI.js";import{p as oe,v as ne,y as re}from"./utils-DIGrmLDO.js";import{t as de}from"./jsx-runtime-BqBOg78p.js";import"./fullscreen-BDxedMYP.js";import"./popover-UExmgBsf.js";import"./JsonOutput-vLKwARbP.js";import"./download-q17GDjRk.js";import"./dist-BrR4M-k3.js";import"./cjs-BRGiG41H.js";import"./main-B0OX4z33.js";import"./useNonce-DfoVjkkH.js";import{r as pe}from"./requests-DIwGYs0l.js";import"./layout-C0mYexWg.js";import{t as se}from"./useCellActionButton-DrzG-_Bd.js";import"./markdown-renderer-9gIJjISB.js";import{i as me,t as he}from"./useNotebookActions-C0IbJuzO.js";import"./dist-DQOq2Tf-.js";import"./dist-DBiqbYe-.js";import"./dist-VjDnmGCZ.js";import"./dist-E6ttb8td.js";import"./dist-B324sPca.js";import"./session-VtovaFBS.js";import"./purify.es-DBmVz-Wl.js";import"./dates-CAlnO9QB.js";import{n as ce}from"./useHotkey-Cm0DaHEJ.js";import"./share-DIVpiHPe.js";import"./utils-CGtUbqcR.js";import"./vega-loader.browser-BegSZk0G.js";import"./defaultLocale-YteS-k_t.js";import"./defaultLocale-B6z1Qyqt.js";import{a as ye,c as fe,i as L,l as z,n as ue,o as J,r as be,s as ge}from"./command-CBCkexpx.js";import"./chunk-5FQGJX7Z-e_arGD4o.js";import"./html-to-image-BJDxFKbb.js";import{r as ke}from"./focus-Bz1PGBQ2.js";import"./react-resizable-panels.browser.esm-BUNcfKXO.js";import{t as Q}from"./renderShortcut-DZpkrZaP.js";import"./esm-BmrwxxCo.js";import"./name-cell-input-DUUJ7fdG.js";import"./multi-icon-DQxqgfM2.js";import"./dist-DS5RCKZO.js";import"./dist-9g-_Ln9y.js";import"./dist-DBBYmRY4.js";import"./dist-DggusHaA.js";import"./dist-CGDn0y-i.js";import"./dist-CsEqrZxx.js";import"./dist-_XomGjg6.js";import"./dist-ooLAQ9IK.js";import"./dist-HW7R98td.js";import"./esm-BRNC35J6.js";var we=O(),Ce=U(Y(),1);function je(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 f=i,h;return t[8]!==f||t[9]!==m?(h=[m,f],t[8]=f,t[9]=m,t[10]=h):h=t[10],h}var xe=O(),ve=3;function Se(){let e=(0,xe.c)(7),l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=[],e[0]=l):l=e[0];let[t,r]=je("marimo:commands",l),d;e[1]!==t||e[2]!==r?(d=m=>{r(_e([m,...t]).slice(0,ve))},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]=ne(),{saveAppConfig:n,saveUserConfig:m}=pe(),k;e[0]!==m||e[1]!==t?(k=async s=>{await m({config:s}).then(()=>{t(c=>({...c,...s}))})},e[0]=m,e[1]=t,e[2]=k):k=e[2];let i=k,f;e[3]!==n||e[4]!==d?(f=async s=>{await n({config:s}).then(()=>{d(s)})},e[3]=n,e[4]=d,e[5]=f):f=e[5];let h=f,w;if(e[6]!==r||e[7]!==l.completion||e[8]!==l.display||e[9]!==l.keymap||e[10]!==h||e[11]!==i){let s;e[13]===r?s=e[14]:(s=B=>B!==r.width,e[13]=r,e[14]=s);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 M;e[30]!==E||e[31]!==A?(M={label:"Config > Switch keymap to VIM",hidden:E,handle:A},e[30]=E,e[31]=A,e[32]=M):M=e[32];let N=l.keymap.preset==="default",j;e[33]!==l.keymap||e[34]!==i?(j=()=>{i({keymap:{...l.keymap,preset:"default"}})},e[33]=l.keymap,e[34]=i,e[35]=j):j=e[35];let u;e[36]!==N||e[37]!==j?(u={label:"Config > Switch keymap to default (current: VIM)",hidden:N,handle:j},e[36]=N,e[37]=j,e[38]=u):u=e[38];let x;e[39]!==l.completion||e[40]!==i?(x=()=>{i({completion:{...l.completion,copilot:!1}})},e[39]=l.completion,e[40]=i,e[41]=x):x=e[41];let v=l.completion.copilot!=="github",P;e[42]!==x||e[43]!==v?(P={label:"Config > Disable GitHub Copilot",handle:x,hidden:v},e[42]=x,e[43]=v,e[44]=P):P=e[44];let S;e[45]!==l.completion||e[46]!==i?(S=()=>{i({completion:{...l.completion,copilot:"github"}})},e[45]=l.completion,e[46]=i,e[47]=S):S=e[47];let G=l.completion.copilot==="github",$;e[48]!==S||e[49]!==G?($={label:"Config > Enable GitHub Copilot",handle:S,hidden:G},e[48]=S,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 D;e[60]!==l.display.reference_highlighting||e[61]!==y?(D={label:"Config > Enable reference highlighting",hidden:l.display.reference_highlighting,handle:y},e[60]=l.display.reference_highlighting,e[61]=y,e[62]=D):D=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(s).map(c),K,C,H,M,u,P,$,b,D,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 Me=O(),p=U(de(),1),Ne=()=>{let e=(0,Me.c)(37),[l,t]=X(me),r=ce(),d=V(ke),n=V(oe),m;e[0]===d?m=e[1]:(m={cell:d},e[0]=d,e[1]=m);let k=se(m).flat();k=T(k);let i=He(),f=he();f=[...T(f),...T(i)];let h=f.filter(De),w=le.keyBy(h,Fe),{recentCommands:s,addRecentCommand:c}=Se(),K;e[2]===s?K=e[3]:(K=new Set(s),e[2]=s,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,p.jsxs)(J,{disabled:o.disabled,keywords:g.additionalKeywords,onSelect:()=>{c(a),t(!1),requestAnimationFrame(()=>{F()})},value:g.name,children:[(0,p.jsxs)("span",{children:[g.name,o.tooltip&&(0,p.jsx)("span",{className:"ml-2",children:o.tooltip})]}),(0,p.jsx)(z,{children:(0,p.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,M;e[12]!==c||e[13]!==n||e[14]!==t?(M=a=>{let{label:o,handle:F,props:g,hotkey:R,additionalKeywords:I}=a,B=g===void 0?{}:g;return(0,p.jsxs)(J,{disabled:B.disabled,keywords:I,onSelect:()=>{c(o),t(!1),requestAnimationFrame(()=>{F()})},value:o,children:[(0,p.jsxs)("span",{children:[o,B.tooltip&&(0,p.jsxs)("span",{className:"ml-2",children:["(",B.tooltip,")"]})]}),R&&(0,p.jsx)(z,{children:(0,p.jsx)(Q,{shortcut:n.getHotkey(R).key})})]},o)},e[12]=c,e[13]=n,e[14]=t,e[15]=M):M=e[15];let N=M,j=ue,u;e[16]===Symbol.for("react.memo_cache_sentinel")?(u=(0,p.jsx)(ye,{placeholder:"Type to search..."}),e[16]=u):u=e[16];let x=ge,v;e[17]===Symbol.for("react.memo_cache_sentinel")?(v=(0,p.jsx)(be,{children:"No results found."}),e[17]=v):v=e[17];let P=s.length>0&&(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(L,{heading:"Recently Used",children:s.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)?N({label:o.label,handle:o.handleHeadless||o.handle,props:{disabled:o.disabled,tooltip:o.tooltip},additionalKeywords:o.additionalKeywords}):null})}),(0,p.jsx)(fe,{})]}),S=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:N({label:a.label,handle:a.handleHeadless||a.handle,props:{disabled:a.disabled,tooltip:a.tooltip},additionalKeywords:a.additionalKeywords})),q;e[18]!==C||e[19]!==N?(q=a=>C.has(a.label)?null:N({label:`Cell > ${a.label}`,handle:a.handleHeadless||a.handle,props:{disabled:a.disabled,tooltip:a.tooltip},additionalKeywords:a.additionalKeywords}),e[18]=C,e[19]=N,e[20]=q):q=e[20];let _=k.map(q),b;e[21]!==S||e[22]!==$||e[23]!==_||e[24]!==G?(b=(0,p.jsxs)(S,{heading:"Commands",children:[G,$,_]}),e[21]=S,e[22]=$,e[23]=_,e[24]=G,e[25]=b):b=e[25];let y;e[26]!==x||e[27]!==b||e[28]!==v||e[29]!==P?(y=(0,p.jsxs)(x,{children:[v,P,b]}),e[26]=x,e[27]=b,e[28]=v,e[29]=P,e[30]=y):y=e[30];let D;return e[31]!==j||e[32]!==l||e[33]!==t||e[34]!==y||e[35]!==u?(D=(0,p.jsxs)(j,{open:l,onOpenChange:t,children:[u,y]}),e[31]=j,e[32]=l,e[33]=t,e[34]=y,e[35]=u,e[36]=D):D=e[36],D};function De(e){return!e.hotkey}function Fe(e){return e.label}function Re(e){return!e}export{Ne as default};
@@ -1 +1 @@
1
- import{s as v}from"./chunk-LvLJmgfZ.js";import{t as w}from"./react-Bj1aDYRI.js";import{j as k}from"./cells-CcBfzJ1Z.js";import{t as g}from"./compiler-runtime-B3qBwwSJ.js";import{t as N}from"./jsx-runtime-BqBOg78p.js";import{i as y,r as C,t as _}from"./popover-UExmgBsf.js";import{t as b}from"./badge-C7-HR1IO.js";import{t as S}from"./use-toast-T0_cQDma.js";import{n as I}from"./copy-BCF-tANo.js";import{t as j}from"./cell-link-BRdZl0OJ.js";var O=g(),i=v(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)(j,{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)(j,{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 q=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,q as t};
1
+ import{s as v}from"./chunk-LvLJmgfZ.js";import{t as w}from"./react-Bj1aDYRI.js";import{j as k}from"./cells-Jdt48eTG.js";import{t as g}from"./compiler-runtime-B3qBwwSJ.js";import{t as N}from"./jsx-runtime-BqBOg78p.js";import{i as y,r as C,t as _}from"./popover-UExmgBsf.js";import{t as b}from"./badge-C7-HR1IO.js";import{t as S}from"./use-toast-T0_cQDma.js";import{n as I}from"./copy-BCF-tANo.js";import{t as j}from"./cell-link-8o8mCUzE.js";var O=g(),i=v(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)(j,{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)(j,{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 q=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,q 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{Ln as w,f as P,gn as C}from"./cells-CcBfzJ1Z.js";import{t as N}from"./compiler-runtime-B3qBwwSJ.js";import{t as c}from"./cn-DCUzRj2J.js";import{t as k}from"./jsx-runtime-BqBOg78p.js";import{a as A,i as R,r as B}from"./multi-map-rafH3cg3.js";import{t as I}from"./badge-C7-HR1IO.js";var L=N(),m=x(k(),1);const S=o=>{let r=(0,L.c)(8),{variableName:a,className:e}=o,t;r[0]===a?t=r[1]:(t=i=>{i.stopPropagation();let d=T(a);if(!d)return;let u=P(d);u&&C(u,a)},r[0]=a,r[1]=t);let s=t,l;r[2]===e?l=r[3]:(l=c("text-link opacity-80 hover:opacity-100 hover:underline",e),r[2]=e,r[3]=l);let n;return r[4]!==s||r[5]!==l||r[6]!==a?(n=(0,m.jsx)("button",{type:"button",onClick:s,className:l,children:a}),r[4]=s,r[5]=l,r[6]=a,r[7]=n):n=r[7],n};function T(o){let r=b.get(w)[o];if(r)return r.declaredBy[0]}var p=N(),f=x(j(),1),y=f.forwardRef((o,r)=>{let a=(0,p.c)(11),e,t,s;a[0]===o?(e=a[1],t=a[2],s=a[3]):({className:e,lastItem:t,...s}=o,a[0]=o,a[1]=e,a[2]=t,a[3]=s);let l=t&&"border-b-0",n;a[4]!==e||a[5]!==l?(n=c(l,e),a[4]=e,a[5]=l,a[6]=n):n=a[6];let i;return a[7]!==s||a[8]!==r||a[9]!==n?(i=(0,m.jsx)(R,{ref:r,className:n,...s}),a[7]=s,a[8]=r,a[9]=n,a[10]=i):i=a[10],i});y.displayName="PanelAccordionItem";var v=f.forwardRef((o,r)=>{let a=(0,p.c)(13),e,t,s;a[0]===o?(e=a[1],t=a[2],s=a[3]):({className:t,children:e,...s}=o,a[0]=o,a[1]=e,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]===e?n=a[7]:(n=(0,m.jsx)("span",{className:"flex items-center gap-2",children:e}),a[6]=e,a[7]=n);let i;return a[8]!==s||a[9]!==r||a[10]!==l||a[11]!==n?(i=(0,m.jsx)(A,{ref:r,className:l,...s,children:n}),a[8]=s,a[9]=r,a[10]=l,a[11]=n,a[12]=i):i=a[12],i});v.displayName="PanelAccordionTrigger";var g=f.forwardRef((o,r)=>{let a=(0,p.c)(9),e,t;a[0]===o?(e=a[1],t=a[2]):({wrapperClassName:t,...e}=o,a[0]=o,a[1]=e,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]!==e||a[6]!==r||a[7]!==s?(l=(0,m.jsx)(B,{ref:r,wrapperClassName:s,...e}),a[5]=e,a[6]=r,a[7]=s,a[8]=l):l=a[8],l});g.displayName="PanelAccordionContent";var h=o=>{let r=(0,p.c)(8),a,e;r[0]===o?(a=r[1],e=r[2]):({className:a,...e}=o,r[0]=o,r[1]=a,r[2]=e);let t;r[3]===a?t=r[4]:(t=c("py-0 px-1.5 text-[10px]",a),r[3]=a,r[4]=t);let s;return r[5]!==e||r[6]!==t?(s=(0,m.jsx)(I,{variant:"secondary",className:t,...e}),r[5]=e,r[6]=t,r[7]=s):s=r[7],s};h.displayName="PanelBadge";export{S as a,h as i,y as n,v 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{Ln as w,f as P,gn as C}from"./cells-Jdt48eTG.js";import{t as N}from"./compiler-runtime-B3qBwwSJ.js";import{t as c}from"./cn-DCUzRj2J.js";import{t as k}from"./jsx-runtime-BqBOg78p.js";import{a as A,i as R,r as B}from"./multi-map-rafH3cg3.js";import{t as I}from"./badge-C7-HR1IO.js";var L=N(),m=x(k(),1);const S=o=>{let r=(0,L.c)(8),{variableName:a,className:e}=o,t;r[0]===a?t=r[1]:(t=i=>{i.stopPropagation();let d=T(a);if(!d)return;let u=P(d);u&&C(u,a)},r[0]=a,r[1]=t);let s=t,l;r[2]===e?l=r[3]:(l=c("text-link opacity-80 hover:opacity-100 hover:underline",e),r[2]=e,r[3]=l);let n;return r[4]!==s||r[5]!==l||r[6]!==a?(n=(0,m.jsx)("button",{type:"button",onClick:s,className:l,children:a}),r[4]=s,r[5]=l,r[6]=a,r[7]=n):n=r[7],n};function T(o){let r=b.get(w)[o];if(r)return r.declaredBy[0]}var p=N(),f=x(j(),1),y=f.forwardRef((o,r)=>{let a=(0,p.c)(11),e,t,s;a[0]===o?(e=a[1],t=a[2],s=a[3]):({className:e,lastItem:t,...s}=o,a[0]=o,a[1]=e,a[2]=t,a[3]=s);let l=t&&"border-b-0",n;a[4]!==e||a[5]!==l?(n=c(l,e),a[4]=e,a[5]=l,a[6]=n):n=a[6];let i;return a[7]!==s||a[8]!==r||a[9]!==n?(i=(0,m.jsx)(R,{ref:r,className:n,...s}),a[7]=s,a[8]=r,a[9]=n,a[10]=i):i=a[10],i});y.displayName="PanelAccordionItem";var v=f.forwardRef((o,r)=>{let a=(0,p.c)(13),e,t,s;a[0]===o?(e=a[1],t=a[2],s=a[3]):({className:t,children:e,...s}=o,a[0]=o,a[1]=e,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]===e?n=a[7]:(n=(0,m.jsx)("span",{className:"flex items-center gap-2",children:e}),a[6]=e,a[7]=n);let i;return a[8]!==s||a[9]!==r||a[10]!==l||a[11]!==n?(i=(0,m.jsx)(A,{ref:r,className:l,...s,children:n}),a[8]=s,a[9]=r,a[10]=l,a[11]=n,a[12]=i):i=a[12],i});v.displayName="PanelAccordionTrigger";var g=f.forwardRef((o,r)=>{let a=(0,p.c)(9),e,t;a[0]===o?(e=a[1],t=a[2]):({wrapperClassName:t,...e}=o,a[0]=o,a[1]=e,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]!==e||a[6]!==r||a[7]!==s?(l=(0,m.jsx)(B,{ref:r,wrapperClassName:s,...e}),a[5]=e,a[6]=r,a[7]=s,a[8]=l):l=a[8],l});g.displayName="PanelAccordionContent";var h=o=>{let r=(0,p.c)(8),a,e;r[0]===o?(a=r[1],e=r[2]):({className:a,...e}=o,r[0]=o,r[1]=a,r[2]=e);let t;r[3]===a?t=r[4]:(t=c("py-0 px-1.5 text-[10px]",a),r[3]=a,r[4]=t);let s;return r[5]!==e||r[6]!==t?(s=(0,m.jsx)(I,{variant:"secondary",className:t,...e}),r[5]=e,r[6]=t,r[7]=s):s=r[7],s};h.displayName="PanelBadge";export{S as a,h as i,y as n,v as r,g as t};
@@ -1 +1 @@
1
- import{s as p}from"./chunk-LvLJmgfZ.js";import{Qn as f,Zn as g}from"./cells-CcBfzJ1Z.js";import{t as u}from"./compiler-runtime-B3qBwwSJ.js";import{t as i}from"./cn-DCUzRj2J.js";import{t as h}from"./jsx-runtime-BqBOg78p.js";import{t as N}from"./x-C-6liIBr.js";import{n as b}from"./spinner-Bhir8k53.js";import{i as j}from"./tree-actions-Ci3CV3hN.js";var o=u(),n=p(h(),1);const v=m=>{let e=(0,o.c)(2),{isExpanded:t}=m,a;return e[0]===t?a=e[1]:(a=(0,n.jsx)(j,{isExpanded:t,className:"h-3 w-3"}),e[0]=t,e[1]=a),a},w=m=>{let e=(0,o.c)(5),{children:t,className:a}=m,s;e[0]===a?s=e[1]:(s=i("flex gap-1.5 items-center font-bold py-1.5 text-muted-foreground bg-(--slate-2) text-sm",a),e[0]=a,e[1]=s);let r;return e[2]!==t||e[3]!==s?(r=(0,n.jsx)("div",{className:s,children:t}),e[2]=t,e[3]=s,e[4]=r):r=e[4],r},y=m=>{let e=(0,o.c)(5),{content:t,className:a}=m,s;e[0]===a?s=e[1]:(s=i("text-sm text-muted-foreground py-1",a),e[0]=a,e[1]=s);let r;return e[2]!==t||e[3]!==s?(r=(0,n.jsx)("div",{className:s,children:t}),e[2]=t,e[3]=s,e[4]=r):r=e[4],r},k=m=>{let e=(0,o.c)(9),{error:t,style:a,className:s,showIcon:r}=m,l=r===void 0?!0:r,c;e[0]===s?c=e[1]:(c=i("text-sm bg-red-50 dark:bg-red-900 text-red-600 dark:text-red-50 flex items-center gap-2 p-2 h-8",s),e[0]=s,e[1]=c);let d;e[2]===l?d=e[3]:(d=l&&(0,n.jsx)(N,{className:"h-4 w-4 mt-0.5"}),e[2]=l,e[3]=d);let x;return e[4]!==t.message||e[5]!==a||e[6]!==c||e[7]!==d?(x=(0,n.jsxs)("div",{className:c,style:a,children:[d,t.message]}),e[4]=t.message,e[5]=a,e[6]=c,e[7]=d,e[8]=x):x=e[8],x},_=m=>{let e=(0,o.c)(6),{message:t,className:a}=m,s;e[0]===a?s=e[1]:(s=i("text-sm bg-blue-50 dark:bg-(--accent) text-blue-500 dark:text-blue-50 flex items-center gap-2 p-2 h-8",a),e[0]=a,e[1]=s);let r;e[2]===Symbol.for("react.memo_cache_sentinel")?(r=(0,n.jsx)(b,{className:"h-4 w-4 animate-spin"}),e[2]=r):r=e[2];let l;return e[3]!==t||e[4]!==s?(l=(0,n.jsxs)("div",{className:s,children:[r,t]}),e[3]=t,e[4]=s,e[5]=l):l=e[5],l},E=m=>{let e=(0,o.c)(5),{children:t,className:a}=m,s;e[0]===a?s=e[1]:(s=i("flex flex-col gap-2 relative",a),e[0]=a,e[1]=s);let r;return e[2]!==t||e[3]!==s?(r=(0,n.jsx)("div",{className:s,children:t}),e[2]=t,e[3]=s,e[4]=r):r=e[4],r},I=m=>{let e=(0,o.c)(6),{columnName:t,dataType:a}=m,s=g[a],r=`w-4 h-4 p-0.5 rounded-sm stroke-card-foreground ${f(a)}`,l;e[0]!==s||e[1]!==r?(l=(0,n.jsx)(s,{className:r}),e[0]=s,e[1]=r,e[2]=l):l=e[2];let c;return e[3]!==t||e[4]!==l?(c=(0,n.jsxs)("div",{className:"flex flex-row items-center gap-1.5",children:[l,t]}),e[3]=t,e[4]=l,e[5]=c):c=e[5],c};export{k as a,y as i,E as n,_ as o,w as r,v as s,I as t};
1
+ import{s as p}from"./chunk-LvLJmgfZ.js";import{Qn as f,Zn as g}from"./cells-Jdt48eTG.js";import{t as u}from"./compiler-runtime-B3qBwwSJ.js";import{t as i}from"./cn-DCUzRj2J.js";import{t as h}from"./jsx-runtime-BqBOg78p.js";import{t as N}from"./x-C-6liIBr.js";import{n as b}from"./spinner-Bhir8k53.js";import{i as j}from"./tree-actions-Ci3CV3hN.js";var o=u(),n=p(h(),1);const v=m=>{let e=(0,o.c)(2),{isExpanded:t}=m,a;return e[0]===t?a=e[1]:(a=(0,n.jsx)(j,{isExpanded:t,className:"h-3 w-3"}),e[0]=t,e[1]=a),a},w=m=>{let e=(0,o.c)(5),{children:t,className:a}=m,s;e[0]===a?s=e[1]:(s=i("flex gap-1.5 items-center font-bold py-1.5 text-muted-foreground bg-(--slate-2) text-sm",a),e[0]=a,e[1]=s);let r;return e[2]!==t||e[3]!==s?(r=(0,n.jsx)("div",{className:s,children:t}),e[2]=t,e[3]=s,e[4]=r):r=e[4],r},y=m=>{let e=(0,o.c)(5),{content:t,className:a}=m,s;e[0]===a?s=e[1]:(s=i("text-sm text-muted-foreground py-1",a),e[0]=a,e[1]=s);let r;return e[2]!==t||e[3]!==s?(r=(0,n.jsx)("div",{className:s,children:t}),e[2]=t,e[3]=s,e[4]=r):r=e[4],r},k=m=>{let e=(0,o.c)(9),{error:t,style:a,className:s,showIcon:r}=m,l=r===void 0?!0:r,c;e[0]===s?c=e[1]:(c=i("text-sm bg-red-50 dark:bg-red-900 text-red-600 dark:text-red-50 flex items-center gap-2 p-2 h-8",s),e[0]=s,e[1]=c);let d;e[2]===l?d=e[3]:(d=l&&(0,n.jsx)(N,{className:"h-4 w-4 mt-0.5"}),e[2]=l,e[3]=d);let x;return e[4]!==t.message||e[5]!==a||e[6]!==c||e[7]!==d?(x=(0,n.jsxs)("div",{className:c,style:a,children:[d,t.message]}),e[4]=t.message,e[5]=a,e[6]=c,e[7]=d,e[8]=x):x=e[8],x},_=m=>{let e=(0,o.c)(6),{message:t,className:a}=m,s;e[0]===a?s=e[1]:(s=i("text-sm bg-blue-50 dark:bg-(--accent) text-blue-500 dark:text-blue-50 flex items-center gap-2 p-2 h-8",a),e[0]=a,e[1]=s);let r;e[2]===Symbol.for("react.memo_cache_sentinel")?(r=(0,n.jsx)(b,{className:"h-4 w-4 animate-spin"}),e[2]=r):r=e[2];let l;return e[3]!==t||e[4]!==s?(l=(0,n.jsxs)("div",{className:s,children:[r,t]}),e[3]=t,e[4]=s,e[5]=l):l=e[5],l},E=m=>{let e=(0,o.c)(5),{children:t,className:a}=m,s;e[0]===a?s=e[1]:(s=i("flex flex-col gap-2 relative",a),e[0]=a,e[1]=s);let r;return e[2]!==t||e[3]!==s?(r=(0,n.jsx)("div",{className:s,children:t}),e[2]=t,e[3]=s,e[4]=r):r=e[4],r},I=m=>{let e=(0,o.c)(6),{columnName:t,dataType:a}=m,s=g[a],r=`w-4 h-4 p-0.5 rounded-sm stroke-card-foreground ${f(a)}`,l;e[0]!==s||e[1]!==r?(l=(0,n.jsx)(s,{className:r}),e[0]=s,e[1]=r,e[2]=l):l=e[2];let c;return e[3]!==t||e[4]!==l?(c=(0,n.jsxs)("div",{className:"flex flex-row items-center gap-1.5",children:[l,t]}),e[3]=t,e[4]=l,e[5]=c):c=e[5],c};export{k as a,y as i,E as n,_ as o,w as r,v as s,I 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{$n as I,Bt as E,Er as T,Jn as C,Rr as p,Tr as w,Vi as L,bi as M,n as O}from"./cells-CcBfzJ1Z.js";import{_ as $}from"./useEventListener-BR0C1MaI.js";import{t as P}from"./multi-map-rafH3cg3.js";import{t as R}from"./createLucideIcon-D5guW7EU.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=M(),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{$n as I,Bt as E,Er as T,Jn as C,Rr as p,Tr as w,Vi as L,bi as M,n as O}from"./cells-Jdt48eTG.js";import{_ as $}from"./useEventListener-BR0C1MaI.js";import{t as P}from"./multi-map-rafH3cg3.js";import{t as R}from"./createLucideIcon-D5guW7EU.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=M(),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 P;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 $.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=L(),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:I(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(C(a,i)),s}}}};function z(r){var s;let e=(s=m.get(O(r)))==null?void 0:s.code;if(!e||e.trim()==="")return null;let[n,a,i]=E.sql.transformIn(e),t=m.get(w).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};