@marimo-team/frontend 0.24.1-dev20 → 0.24.1-dev21

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 (103) hide show
  1. package/dist/assets/{CellStatus-B_dBNTJO.js → CellStatus-DsvXjUsv.js} +1 -1
  2. package/dist/assets/{ConnectedDataExplorerComponent-DLvmqIcV.js → ConnectedDataExplorerComponent-WU7zjB7Z.js} +1 -1
  3. package/dist/assets/{JsonOutput-C5g_bqiZ.js → JsonOutput-D62UH4Ip.js} +7 -7
  4. package/dist/assets/{MarimoErrorOutput-Cb0evuEp.js → MarimoErrorOutput-B_IfCm1k.js} +7 -7
  5. package/dist/assets/{RenderHTML-BoN8Qu7U.js → RenderHTML-DY5kbf6q.js} +1 -1
  6. package/dist/assets/{RunButton-C3V3v58F.js → RunButton-BfHw11b3.js} +1 -1
  7. package/dist/assets/{add-cell-with-ai-C5JH9LS2.js → add-cell-with-ai-B25FLoLF.js} +12 -12
  8. package/dist/assets/{add-connection-dialog-DHyonb9T.js → add-connection-dialog-B05rbnef.js} +6 -6
  9. package/dist/assets/{agent-panel-D7DLUBam.js → agent-panel-CQobsqAS.js} +6 -6
  10. package/dist/assets/{ai-model-dropdown-DWDm50eM.js → ai-model-dropdown-CmDWOIkZ.js} +3 -3
  11. package/dist/assets/{app-config-button-DhZke6rt.js → app-config-button-BkwiW00-.js} +1 -1
  12. package/dist/assets/{blob-XD7AvCQ1.js → blob-BqDSSN5X.js} +1 -1
  13. package/dist/assets/{cell-editor-DZg8uKWr.js → cell-editor-CefMlZnX.js} +8 -8
  14. package/dist/assets/cell-link-CP4zF1rO.js +1 -0
  15. package/dist/assets/{cells-BvgwUKB9.js → cells-DD-zwhxi.js} +72 -72
  16. package/dist/assets/{chat-display-CR9X_gwB.js → chat-display-59QZ49m7.js} +1 -1
  17. package/dist/assets/{chat-panel-DnGBFlLk.js → chat-panel-CDZbG1OG.js} +2 -2
  18. package/dist/assets/{chat-ui-BVFULpKr.js → chat-ui-DoBTbTFY.js} +1 -1
  19. package/dist/assets/{column-preview-DMqGohE5.js → column-preview-BNg0hwmL.js} +1 -1
  20. package/dist/assets/{command-palette-fK5U3VCd.js → command-palette-gEcd355-.js} +1 -1
  21. package/dist/assets/{common-Dx_4ekWj.js → common-CcYiDLMe.js} +1 -1
  22. package/dist/assets/{components-DVs9Yu7X.js → components-B4D3PZ3j.js} +1 -1
  23. package/dist/assets/{datasource-Le540Ng6.js → datasource-DAM_bXu_.js} +2 -2
  24. package/dist/assets/dependency-graph-panel-01bZMvwS.js +5 -0
  25. package/dist/assets/{documentation-panel-RJNMjUK6.js → documentation-panel-BhruLk_O.js} +1 -1
  26. package/dist/assets/{download-B8NwKEtr.js → download-DT1x-ePG.js} +1 -1
  27. package/dist/assets/{edit-page-DUnHDaYA.js → edit-page-C8uQVdbi.js} +6 -6
  28. package/dist/assets/{error-entries-yYB8PZoo.js → error-entries-Dg9m5P8l.js} +3 -3
  29. package/dist/assets/{error-panel-Dr928gBs.js → error-panel-By_xNe1V.js} +1 -1
  30. package/dist/assets/{file-explorer-panel-Brf39GIG.js → file-explorer-panel-BzTVzCS7.js} +3 -3
  31. package/dist/assets/{file-icons-D39zbjsS.js → file-icons-Dop5RazI.js} +1 -1
  32. package/dist/assets/{file-name-input-BLH5fTEA.js → file-name-input-C5_fsJ6t.js} +1 -1
  33. package/dist/assets/{floating-outline-UPrDtFZF.js → floating-outline-Bt2aLttK.js} +1 -1
  34. package/dist/assets/{focus-BArgHYf8.js → focus-DCZbWsqm.js} +1 -1
  35. package/dist/assets/{form-BvzcNsxB.js → form-Cj3PfSUI.js} +1 -1
  36. package/dist/assets/{form-BN1AKD58.js → form-DHy5wB3F.js} +1 -1
  37. package/dist/assets/{glide-data-editor-BNZxtmKn.js → glide-data-editor-BPPCsS2s.js} +2 -2
  38. package/dist/assets/{home-page-Dwl_Carc.js → home-page-EsENjhWM.js} +2 -2
  39. package/dist/assets/{html-to-image-DKEUbBwc.js → html-to-image-CajdmeRM.js} +1 -1
  40. package/dist/assets/{index-Dqr3-dR1.js → index-BZ-HxYIU.js} +11 -11
  41. package/dist/assets/index-CxZ6uZaz.css +2 -0
  42. package/dist/assets/{layout-YbL5eg7A.js → layout-B73d8K81.js} +5 -5
  43. package/dist/assets/{logs-panel-DItocggZ.js → logs-panel-CYMHvjs-.js} +1 -1
  44. package/dist/assets/{markdown-renderer-D7RLn6TA.js → markdown-renderer-DM-Whfio.js} +1 -1
  45. package/dist/assets/{name-cell-input-jausH-CL.js → name-cell-input-DF8MnZDV.js} +1 -1
  46. package/dist/assets/{outline-panel-C_pASL6b.js → outline-panel-Q7h5hFfo.js} +1 -1
  47. package/dist/assets/{packages-panel-ItQn6qH4.js → packages-panel-BW4xGU0r.js} +1 -1
  48. package/dist/assets/panel-accordion-state-iff6EfKa.js +1 -0
  49. package/dist/assets/{panels-Bhzy-m2X.js → panels-BqKyRqOy.js} +2 -2
  50. package/dist/assets/{process-output-ClE9lj2U.js → process-output-B9grqmZC.js} +1 -1
  51. package/dist/assets/{radio-group-CSwRGU0A.js → radio-group-B8t5cIdU.js} +1 -1
  52. package/dist/assets/{readonly-code-display-kRUXu5aJ.js → readonly-code-display-CY-jDwQL.js} +1 -1
  53. package/dist/assets/{readonly-python-code-BCOkadQf.js → readonly-python-code-DFjpK9Hc.js} +1 -1
  54. package/dist/assets/{reveal-component-CnIgubBp.js → reveal-component-DWjuDjk-.js} +2 -2
  55. package/dist/assets/{run-page-Du8ylzny.js → run-page-DNJz4YBq.js} +1 -1
  56. package/dist/assets/{scratchpad-panel-BEn7TrAb.js → scratchpad-panel-BOQN7LjT.js} +1 -1
  57. package/dist/assets/{session-panel-CidCOM4_.js → session-panel-C9zMMa1x.js} +1 -1
  58. package/dist/assets/{skeleton-CL2xKYhl.js → skeleton-mj_3hAv8.js} +1 -1
  59. package/dist/assets/{snippets-panel-V4x4wLMQ.js → snippets-panel-C-VlGXwd.js} +1 -1
  60. package/dist/assets/spec-C_psFYbu.js +1 -0
  61. package/dist/assets/{state-C7arWhwL.js → state-BSVx1akM.js} +2 -2
  62. package/dist/assets/{state-m2zUPztG.js → state-C1e6in0R.js} +1 -1
  63. package/dist/assets/{tracing-Cmwuiwj9.js → tracing-D-L-9q2d.js} +1 -1
  64. package/dist/assets/{tracing-panel-CCXeYfOu.js → tracing-panel-DQzhu-hj.js} +2 -2
  65. package/dist/assets/{tree-actions-QMLf8Qhz.js → tree-actions-BBmIijvt.js} +1 -1
  66. package/dist/assets/{useCellActionButton-D8qyXNKv.js → useCellActionButton-COoOWq__.js} +1 -1
  67. package/dist/assets/{useDeleteCell-Ctnxl8AT.js → useDeleteCell-C802AuEJ.js} +1 -1
  68. package/dist/assets/{useDependencyPanelTab-CYSEZi6j.js → useDependencyPanelTab-DR6NOy5O.js} +1 -1
  69. package/dist/assets/{useNotebookActions-CblNR75b.js → useNotebookActions-BXVkcfqk.js} +4 -4
  70. package/dist/assets/{useRunCells-DjQN3XYP.js → useRunCells-DuxMdaXo.js} +1 -1
  71. package/dist/assets/{useSplitCell-BG8Zd4lw.js → useSplitCell-B1EAP5Nv.js} +1 -1
  72. package/dist/assets/{utils-Y4n-X10o.js → utils-Bp3MLwWq.js} +1 -1
  73. package/dist/assets/{vega-component-1VoQOWvU.js → vega-component-dzk5T-cc.js} +1 -1
  74. package/dist/assets/{vega-embed-container-CH1lX0V6.js → vega-embed-container-D0V0wn9T.js} +1 -1
  75. package/dist/index.html +26 -26
  76. package/package.json +1 -1
  77. package/src/components/data-table/__tests__/column_formatting.test.ts +7 -0
  78. package/src/components/data-table/charts/__tests__/schemas.test.ts +17 -2
  79. package/src/components/data-table/charts/chart-spec/types.ts +2 -0
  80. package/src/components/data-table/column-formatting/feature.ts +1 -0
  81. package/src/components/data-table/column-formatting/types.ts +1 -0
  82. package/src/components/data-table/column-summary/chart-spec-model.tsx +1 -0
  83. package/src/components/data-table/column-summary/column-summary.tsx +1 -0
  84. package/src/components/data-table/columns.tsx +4 -3
  85. package/src/components/datasets/__tests__/icons.test.ts +10 -2
  86. package/src/components/datasets/icons.tsx +4 -0
  87. package/src/components/datasources/__tests__/components.test.tsx +14 -1
  88. package/src/core/codemirror/language/languages/sql/__tests__/renderers.test.tsx +15 -4
  89. package/src/core/codemirror/language/languages/sql/renderers.tsx +1 -0
  90. package/src/core/kernel/messages.ts +1 -0
  91. package/src/plugins/impl/__tests__/DataEditorPlugin.test.ts +13 -1
  92. package/src/plugins/impl/data-editor/glide-data-editor.tsx +1 -0
  93. package/src/plugins/impl/data-editor/glide-utils.ts +1 -0
  94. package/src/plugins/impl/data-frames/__tests__/schema.test.ts +9 -1
  95. package/src/plugins/impl/data-frames/utils/__tests__/operators.test.ts +8 -0
  96. package/src/plugins/impl/data-frames/utils/operators.ts +1 -1
  97. package/src/plugins/impl/vega/__tests__/vega.test.ts +22 -4
  98. package/src/plugins/impl/vega/utils.ts +3 -0
  99. package/dist/assets/cell-link-WDIIwzUn.js +0 -1
  100. package/dist/assets/dependency-graph-panel-BsdBM_AS.js +0 -5
  101. package/dist/assets/index-n_AVX7aW.css +0 -2
  102. package/dist/assets/panel-accordion-state-DaMmC7UV.js +0 -1
  103. package/dist/assets/spec-NeCHOv2Z.js +0 -1
@@ -1 +1 @@
1
- import{o as $}from"./chunk-C4rtOYze.js";import{t as K}from"./react-C60yClUi.js";import{Fr as Q,Ir as U,Vr as X}from"./cells-BvgwUKB9.js";import{A as Y,C as F,L as z,T as ee}from"./zod-BIDX-mZr.js";import{t as S}from"./compiler-runtime-DnimoHo0.js";import{t as te}from"./isEmpty-C6LCYhSH.js";import{Z as re}from"./ai-model-dropdown-DWDm50eM.js";import{g as se}from"./useEventListener-DpNnLPuE.js";import{t as k}from"./cn-DCUzRj2J.js";import{t as ae}from"./jsx-runtime-3wZU7vFS.js";import{a as D,i as E,o as G,r as V}from"./config-DjP9S1hr.js";import{t as J}from"./button-W__YVea9.js";import{i as T}from"./strings-DmKKoXrM.js";import{t as M}from"./createLucideIcon-B8oVfJNp.js";import{t as le}from"./ban-4j7Lld5O.js";import{t as ne}from"./bot-message-square-CHGXChWr.js";import{r as ie}from"./x-4y-nyVDU.js";import{t as I}from"./markdown-renderer-D7RLn6TA.js";import{d as W,m as P}from"./add-cell-with-ai-C5JH9LS2.js";import{t as oe}from"./external-link-C8y9rFms.js";import{n as ce}from"./spinner-Cj3eM5bt.js";import{l as de}from"./datasource-Le540Ng6.js";import{t as ue}from"./RenderHTML-BoN8Qu7U.js";var me=M("circle-slash",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"9",x2:"15",y1:"15",y2:"9",key:"1dfufj"}]]),pe=M("shield-question-mark",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3",key:"mhlwft"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);function xe(o){if(o.type==="abort")return o.reason}function fe(o){return o.isAbort?o.streamReason||"user_cancelled":null}function he(o){switch(o){case"user_cancelled":return"Generation stopped";case"timeout":return"Generation stopped: timed out";default:return`Generation stopped: ${o}`}}var ve=S(),C=$(K(),1),r=$(ae(),1);const be=o=>{let e=(0,ve.c)(13),{reasoning:l,index:n,isStreaming:s}=o,i=n===void 0?0:n,t=s===void 0?!1:s,[a,u]=C.useState("");if(!l&&!t)return null;let f=t?"reasoning":a,p;e[0]===Symbol.for("react.memo_cache_sentinel")?(p=(0,r.jsx)(ne,{className:"h-3 w-3"}),e[0]=p):p=e[0];let v=t?"Thinking":"View reasoning",x=l.length>0&&` (${l.length} chars)`,d;e[1]!==v||e[2]!==x?(d=(0,r.jsx)(G,{className:"text-xs text-muted-foreground hover:bg-muted/50 px-2 py-1 h-auto rounded-sm [&[data-state=open]>svg]:rotate-180",children:(0,r.jsxs)("span",{className:"flex items-center gap-2",children:[p,v,x]})}),e[1]=v,e[2]=x,e[3]=d):d=e[3];let m;e[4]===l?m=e[5]:(m=(0,r.jsx)(E,{className:"pb-2 px-2",children:(0,r.jsx)("div",{className:"bg-muted/30 border border-muted/50 rounded-md p-3 italic text-muted-foreground/90 relative",children:(0,r.jsx)("div",{className:"pr-6",children:(0,r.jsx)(I,{content:l})})})}),e[4]=l,e[5]=m);let c;e[6]!==d||e[7]!==m?(c=(0,r.jsxs)(D,{value:"reasoning",className:"border-0",children:[d,m]}),e[6]=d,e[7]=m,e[8]=c):c=e[8];let h;return e[9]!==i||e[10]!==f||e[11]!==c?(h=(0,r.jsx)(V,{type:"single",collapsible:!0,className:"w-full mb-2",value:f,onValueChange:u,children:c},i),e[9]=i,e[10]=f,e[11]=c,e[12]=h):h=e[12],h};function L(o){return o.replace("tool-","")}var je=S();const q=o=>{let e=(0,je.c)(9),{input:l,label:n}=o,s=n===void 0?"Tool Request":n;if(l==null)return null;let i;e[0]===s?i=e[1]:(i=(0,r.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:s}),e[0]=s,e[1]=i);let t;e[2]===l?t=e[3]:(t=JSON.stringify(l,null,2),e[2]=l,e[3]=t);let a;e[4]===t?a=e[5]:(a=(0,r.jsx)("pre",{className:"bg-(--slate-2) p-2 text-muted-foreground border border-(--slate-4) rounded text-xs overflow-auto scrollbar-thin max-h-64",children:t}),e[4]=t,e[5]=a);let u;return e[6]!==i||e[7]!==a?(u=(0,r.jsxs)("div",{className:"space-y-2",children:[i,a]}),e[6]=i,e[7]=a,e[8]=u):u=e[8],u};var ge=S();const Ne=o=>{let e=(0,ge.c)(25),{toolName:l,input:n,approval:s,onApprove:i,className:t}=o,a;e[0]===t?a=e[1]:(a=k("rounded-md border border-(--amber-6) bg-(--amber-2) p-3 space-y-3",t),e[0]=t,e[1]=a);let u=`Approval required for ${L(l)}`,f;e[2]===Symbol.for("react.memo_cache_sentinel")?(f=(0,r.jsx)(pe,{className:"h-4 w-4 text-(--amber-11) mt-0.5 shrink-0"}),e[2]=f):f=e[2];let p;e[3]===Symbol.for("react.memo_cache_sentinel")?(p=(0,r.jsx)("span",{className:"font-semibold",children:"Approval required:"}),e[3]=p):p=e[3];let v;e[4]===l?v=e[5]:(v=L(l),e[4]=l,e[5]=v);let x;e[6]===v?x=e[7]:(x=(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[f,(0,r.jsxs)("div",{className:"text-xs text-(--amber-11) leading-relaxed",children:[p," ",(0,r.jsx)("code",{className:"font-mono",children:v})]})]}),e[6]=v,e[7]=x);let d;e[8]===n?d=e[9]:(d=(0,r.jsx)(q,{input:n}),e[8]=n,e[9]=d);let m;e[10]!==s.id||e[11]!==i?(m=(0,r.jsx)(J,{size:"xs",variant:"outline",onClick:()=>i({id:s.id,approved:!1}),children:"Deny"}),e[10]=s.id,e[11]=i,e[12]=m):m=e[12];let c;e[13]!==s.id||e[14]!==i?(c=(0,r.jsx)(J,{size:"xs",onClick:()=>i({id:s.id,approved:!0}),children:"Approve"}),e[13]=s.id,e[14]=i,e[15]=c):c=e[15];let h;e[16]!==m||e[17]!==c?(h=(0,r.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[m,c]}),e[16]=m,e[17]=c,e[18]=h):h=e[18];let b;return e[19]!==a||e[20]!==h||e[21]!==u||e[22]!==x||e[23]!==d?(b=(0,r.jsxs)("div",{className:a,role:"alertdialog","aria-label":u,children:[x,d,h]}),e[19]=a,e[20]=h,e[21]=u,e[22]=x,e[23]=d,e[24]=b):b=e[24],b};var ye=S();const we=o=>{let e=(0,ye.c)(28),{toolName:l,input:n,errorText:s,isLive:i,className:t}=o,[a,u]=C.useState(i),f=C.useRef(i),p,v;e[0]===i?(p=e[1],v=e[2]):(p=()=>{f.current&&!i&&u(!1),f.current=i},v=[i],e[0]=i,e[1]=p,e[2]=v),C.useEffect(p,v);let x;e[3]===t?x=e[4]:(x=k("rounded-md border border-(--red-6) bg-(--red-2)",t),e[3]=t,e[4]=x);let d;e[5]===Symbol.for("react.memo_cache_sentinel")?(d=()=>u(_e),e[5]=d):d=e[5];let m;e[6]===Symbol.for("react.memo_cache_sentinel")?(m=(0,r.jsx)(X,{className:"h-3.5 w-3.5 shrink-0"}),e[6]=m):m=e[6];let c;e[7]===Symbol.for("react.memo_cache_sentinel")?(c=(0,r.jsx)("span",{className:"font-semibold",children:"Failed:"}),e[7]=c):c=e[7];let h;e[8]===l?h=e[9]:(h=L(l),e[8]=l,e[9]=h);let b;e[10]===h?b=e[11]:(b=(0,r.jsxs)("span",{className:"flex-1 text-left",children:[c," ",(0,r.jsx)("code",{className:"font-mono",children:h})]}),e[10]=h,e[11]=b);let _=a&&"rotate-180",j;e[12]===_?j=e[13]:(j=k("h-3.5 w-3.5 shrink-0 transition-transform",_),e[12]=_,e[13]=j);let g;e[14]===j?g=e[15]:(g=(0,r.jsx)(ie,{className:j}),e[14]=j,e[15]=g);let N;e[16]!==a||e[17]!==g||e[18]!==b?(N=(0,r.jsxs)("button",{type:"button",onClick:d,className:"w-full flex items-center gap-2 px-3 py-2 text-xs text-(--red-11) hover:bg-(--red-3) rounded-md transition-colors","aria-expanded":a,children:[m,b,g]}),e[16]=a,e[17]=g,e[18]=b,e[19]=N):N=e[19];let y;e[20]!==s||e[21]!==n||e[22]!==a?(y=a&&(0,r.jsxs)("div",{className:"px-3 pb-3 space-y-3 border-t border-(--red-6)/40 pt-3",children:[(0,r.jsx)(q,{input:n}),s&&(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"text-xs font-semibold text-(--red-11) mb-1",children:"Error"}),(0,r.jsx)("pre",{className:"bg-(--red-2) border border-(--red-6) rounded p-2 text-xs text-(--red-11) leading-relaxed overflow-auto scrollbar-thin max-h-64 whitespace-pre-wrap",children:s})]})]}),e[20]=s,e[21]=n,e[22]=a,e[23]=y):y=e[23];let w;return e[24]!==N||e[25]!==y||e[26]!==x?(w=(0,r.jsxs)("div",{className:x,children:[N,y]}),e[24]=N,e[25]=y,e[26]=x,e[27]=w):w=e[27],w};function _e(o){return!o}var Z=S();function Se(o){return o==null?!0:typeof o=="object"?te(o):!1}var Ae=Y({status:z().default("success"),auth_required:ee().default(!1),action_url:F(),next_steps:F(),meta:F(),message:z().nullish()}),ke=o=>{let e=(0,Z.c)(12),{data:l}=o,n;if(e[0]!==l){let{status:s,auth_required:i,action_url:t,meta:a,next_steps:u,message:f,...p}=l,v;e[2]===Symbol.for("react.memo_cache_sentinel")?(v=(0,r.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Tool Result"}),e[2]=v):v=e[2];let x;e[3]===s?x=e[4]:(x=(0,r.jsx)("span",{className:"text-xs px-2 py-0.5 bg-(--grass-2) text-(--grass-11) rounded-full font-medium capitalize",children:s}),e[3]=s,e[4]=x);let d;e[5]===i?d=e[6]:(d=i&&(0,r.jsx)("span",{className:"text-xs px-2 py-0.5 bg-(--amber-2) text-(--amber-11) rounded-full",children:"Auth Required"}),e[5]=i,e[6]=d);let m;e[7]!==x||e[8]!==d?(m=(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[v,(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[x,d]})]}),e[7]=x,e[8]=d,e[9]=m):m=e[9];let c;e[10]===f?c=e[11]:(c=f&&(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[(0,r.jsx)(Q,{className:"h-3 w-3 text-(--blue-11) mt-0.5 shrink-0"}),(0,r.jsx)("div",{className:"text-xs text-foreground",children:f})]}),e[10]=f,e[11]=c),n=(0,r.jsxs)("div",{className:"flex flex-col gap-1.5",children:[m,c,p&&(0,r.jsx)("div",{className:"space-y-3",children:Object.entries(p).map(Ce)})]}),e[0]=l,e[1]=n}else n=e[1];return n};const Te=o=>{let e=(0,Z.c)(8),{result:l}=o,n;e[0]===l?n=e[1]:(n=Ae.safeParse(l),e[0]=l,e[1]=n);let s=n;if(s.success){let a;return e[2]===s.data?a=e[3]:(a=(0,r.jsx)(ke,{data:s.data}),e[2]=s.data,e[3]=a),a}let i;e[4]===l?i=e[5]:(i=typeof l=="string"?l:JSON.stringify(l,null,2),e[4]=l,e[5]=i);let t;return e[6]===i?t=e[7]:(t=(0,r.jsx)("div",{className:"text-xs font-medium text-muted-foreground mb-1 max-h-64 overflow-y-auto scrollbar-thin",children:i}),e[6]=i,e[7]=t),t};function Ce(o){let[e,l]=o;return Se(l)?null:(0,r.jsxs)("div",{className:"space-y-1.5",children:[(0,r.jsx)("span",{className:"text-xs text-muted-foreground",children:e}),(0,r.jsx)("pre",{className:"bg-(--slate-2) p-2 text-muted-foreground border border-(--slate-4) rounded text-xs overflow-auto scrollbar-thin max-h-64",children:JSON.stringify(l,null,2)})]},e)}var O=S(),qe={"input-streaming":"Generating","input-available":"Running","approval-responded":"Awaiting result","output-available":"Done","output-denied":"Denied"},Re=new Set(["input-streaming","input-available","approval-responded"]),Le=o=>{let e=(0,O.c)(5),{state:l,interrupted:n}=o;if(n){let s;return e[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(me,{className:"h-3 w-3 text-muted-foreground"}),e[0]=s):s=e[0],s}switch(l){case"input-streaming":case"input-available":case"approval-responded":{let s;return e[1]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(ce,{className:"h-3 w-3 animate-spin"}),e[1]=s):s=e[1],s}case"output-available":{let s;return e[2]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(re,{className:"h-3 w-3 text-(--grass-11)"}),e[2]=s):s=e[2],s}case"output-denied":{let s;return e[3]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(le,{className:"h-3 w-3 text-muted-foreground"}),e[3]=s):s=e[3],s}default:{T(l);let s;return e[4]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(de,{className:"h-3 w-3"}),e[4]=s):s=e[4],s}}};function Fe(o){switch(o){case"output-available":return"text-(--grass-11)/80";case"output-denied":return"text-muted-foreground";case"input-streaming":case"input-available":case"approval-responded":return"";default:return T(o),""}}const B=o=>{let e=(0,O.c)(34),{toolName:l,state:n,input:s,result:i,approval:t,index:a,className:u,isActive:f}=o,p=a===void 0?0:a,v=f===void 0?!0:f,x;e[0]!==v||e[1]!==n?(x=!v&&Re.has(n),e[0]=v,e[1]=n,e[2]=x):x=e[2];let d=x,m=`tool-${p}`,c;e[3]===u?c=e[4]:(c=k("w-full",u),e[3]=u,e[4]=c);let h;e[5]!==d||e[6]!==n?(h=k("h-6 text-xs border-border shadow-none! ring-0! bg-muted/60 hover:bg-muted py-0 px-2 gap-1 rounded-sm [&[data-state=open]>svg]:rotate-180 hover:no-underline",d?"text-muted-foreground":Fe(n)),e[5]=d,e[6]=n,e[7]=h):h=e[7];let b;e[8]!==d||e[9]!==n?(b=(0,r.jsx)(Le,{state:n,interrupted:d}),e[8]=d,e[9]=n,e[10]=b):b=e[10];let _=d?"Interrupted":qe[n],j;e[11]===l?j=e[12]:(j=L(l),e[11]=l,e[12]=j);let g;e[13]===j?g=e[14]:(g=(0,r.jsx)("code",{className:"font-mono text-xs",children:j}),e[13]=j,e[14]=g);let N;e[15]!==g||e[16]!==b||e[17]!==_?(N=(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[b,_,":",g]}),e[15]=g,e[16]=b,e[17]=_,e[18]=N):N=e[18];let y;e[19]!==N||e[20]!==h?(y=(0,r.jsx)(G,{className:h,children:N}),e[19]=N,e[20]=h,e[21]=y):y=e[21];let w;e[22]!==t||e[23]!==s||e[24]!==i||e[25]!==n?(w=(0,r.jsx)(E,{className:"py-2 px-2",children:(0,r.jsx)(Oe,{state:n,input:s,result:i,approval:t})}),e[22]=t,e[23]=s,e[24]=i,e[25]=n,e[26]=w):w=e[26];let A;e[27]!==y||e[28]!==w?(A=(0,r.jsxs)(D,{value:"tool-call",className:"border-0",children:[y,w]}),e[27]=y,e[28]=w,e[29]=A):A=e[29];let R;return e[30]!==A||e[31]!==m||e[32]!==c?(R=(0,r.jsx)(V,{type:"single",collapsible:!0,className:c,children:A},m),e[30]=A,e[31]=m,e[32]=c,e[33]=R):R=e[33],R};var Oe=o=>{let e=(0,O.c)(16),{state:l,input:n,result:s,approval:i}=o;switch(l){case"input-streaming":case"input-available":case"approval-responded":{let t;return e[0]===n?t=e[1]:(t=(0,r.jsx)(q,{input:n}),e[0]=n,e[1]=t),t}case"output-available":{let t;e[2]===n?t=e[3]:(t=(0,r.jsx)(q,{input:n}),e[2]=n,e[3]=t);let a;e[4]===s?a=e[5]:(a=s!=null&&(0,r.jsx)(Te,{result:s}),e[4]=s,e[5]=a);let u;return e[6]!==t||e[7]!==a?(u=(0,r.jsxs)("div",{className:"space-y-3",children:[t,a]}),e[6]=t,e[7]=a,e[8]=u):u=e[8],u}case"output-denied":{let t;e[9]===n?t=e[10]:(t=(0,r.jsx)(q,{input:n}),e[9]=n,e[10]=t);let a=i!=null&&i.reason?`: ${i.reason}`:".",u;e[11]===a?u=e[12]:(u=(0,r.jsxs)("div",{className:"bg-muted/40 border border-border rounded-md p-3 text-xs text-muted-foreground leading-relaxed",children:["Tool execution was denied",a]}),e[11]=a,e[12]=u);let f;return e[13]!==t||e[14]!==u?(f=(0,r.jsxs)("div",{className:"space-y-3",children:[t,u]}),e[13]=t,e[14]=u,e[15]=f):f=e[15],f}default:return T(l),null}},$e=S();const H=o=>{let e=(0,$e.c)(27),{toolName:l,state:n,result:s,errorText:i,input:t,approval:a,onApprove:u,index:f,className:p,isLive:v,isActive:x}=o,d=v===void 0?!0:v,m=x===void 0?!0:x;switch(n){case"approval-requested":{if(a!=null&&u!=null){let h;return e[0]!==a||e[1]!==p||e[2]!==t||e[3]!==u||e[4]!==l?(h=(0,r.jsx)(Ne,{toolName:l,input:t,approval:a,onApprove:u,className:p}),e[0]=a,e[1]=p,e[2]=t,e[3]=u,e[4]=l,e[5]=h):h=e[5],h}let c;return e[6]!==p||e[7]!==f||e[8]!==t||e[9]!==m||e[10]!==l?(c=(0,r.jsx)(B,{toolName:l,state:"input-available",input:t,index:f,className:p,isActive:m}),e[6]=p,e[7]=f,e[8]=t,e[9]=m,e[10]=l,e[11]=c):c=e[11],c}case"output-error":{let c;return e[12]!==p||e[13]!==i||e[14]!==t||e[15]!==d||e[16]!==l?(c=(0,r.jsx)(we,{toolName:l,input:t,errorText:i,isLive:d,className:p}),e[12]=p,e[13]=i,e[14]=t,e[15]=d,e[16]=l,e[17]=c):c=e[17],c}case"input-streaming":case"input-available":case"approval-responded":case"output-available":case"output-denied":{let c;return e[18]!==a||e[19]!==p||e[20]!==f||e[21]!==t||e[22]!==m||e[23]!==s||e[24]!==n||e[25]!==l?(c=(0,r.jsx)(B,{toolName:l,state:n,input:t,result:s,approval:a,index:f,className:p,isActive:m}),e[18]=a,e[19]=p,e[20]=f,e[21]=t,e[22]=m,e[23]=s,e[24]=n,e[25]=l,e[26]=c):c=e[26],c}default:return T(n),null}},ze=({message:o,isStreamingReasoning:e,isLast:l,isActive:n,addToolApprovalResponse:s})=>{return(0,r.jsx)(r.Fragment,{children:o.parts.map((t,a)=>i(t,a))});function i(t,a){if(De(t))return(0,r.jsx)(H,{index:a,toolName:t.type,result:t.output,errorText:t.state==="output-error"?t.errorText:void 0,className:"my-2",state:t.state,input:t.input,approval:t.approval,onApprove:s,isLive:l,isActive:n},a);if(Ee(t))return se.debug("Found data part",t),null;switch(t.type){case"text":return t.text.includes("<marimo-")?(0,r.jsx)(C.Fragment,{children:ue({html:t.text})},a):(0,r.jsx)(I,{content:t.text},a);case"reasoning":return(0,r.jsx)(be,{reasoning:t.text,index:a,isStreaming:e&&l&&a===(o.parts.length||0)-1},a);case"file":return(0,r.jsx)(W,{attachment:t},a);case"reasoning-file":return(0,r.jsx)(W,{attachment:{type:"file",mediaType:t.mediaType,url:t.url}},a);case"dynamic-tool":return(0,r.jsx)(H,{toolName:t.toolName,result:t.output,errorText:t.state==="output-error"?t.errorText:void 0,state:t.state,input:t.input,approval:t.approval,onApprove:s,isLive:l,isActive:n},a);case"source-document":return(0,r.jsx)(P,{icon:(0,r.jsx)(U,{className:"h-3 w-3 shrink-0"}),title:t.title,subtitle:t.filename},a);case"source-url":return(0,r.jsx)(P,{icon:(0,r.jsx)(oe,{className:"h-3 w-3 shrink-0"}),title:t.title??t.url,subtitle:t.title?t.url:void 0,href:t.url},a);case"custom":return(0,r.jsx)("div",{className:"text-sm text-muted-foreground",children:t.kind},a);case"step-start":return null;default:return T(t),null}}};function De(o){return o.type.startsWith("tool-")}function Ee(o){return o.type.startsWith("data-")}export{fe as i,he as n,xe as r,ze as t};
1
+ import{o as z}from"./chunk-C4rtOYze.js";import{t as K}from"./react-C60yClUi.js";import{Hr as Q,Ir as U,Lr as X}from"./cells-DD-zwhxi.js";import{A as Y,C as O,L as D,T as ee}from"./zod-BIDX-mZr.js";import{t as S}from"./compiler-runtime-DnimoHo0.js";import{t as te}from"./isEmpty-C6LCYhSH.js";import{Z as re}from"./ai-model-dropdown-CmDWOIkZ.js";import{g as se}from"./useEventListener-DpNnLPuE.js";import{t as k}from"./cn-DCUzRj2J.js";import{t as ae}from"./jsx-runtime-3wZU7vFS.js";import{a as E,i as F,o as G,r as J}from"./config-DjP9S1hr.js";import{t as M}from"./button-W__YVea9.js";import{i as T}from"./strings-DmKKoXrM.js";import{t as V}from"./createLucideIcon-B8oVfJNp.js";import{t as le}from"./ban-4j7Lld5O.js";import{t as ne}from"./bot-message-square-CHGXChWr.js";import{r as ie}from"./x-4y-nyVDU.js";import{t as I}from"./markdown-renderer-DM-Whfio.js";import{d as W,m as H}from"./add-cell-with-ai-B25FLoLF.js";import{t as oe}from"./external-link-C8y9rFms.js";import{n as ce}from"./spinner-Cj3eM5bt.js";import{l as de}from"./datasource-DAM_bXu_.js";import{t as ue}from"./RenderHTML-DY5kbf6q.js";var me=V("circle-slash",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"9",x2:"15",y1:"15",y2:"9",key:"1dfufj"}]]),pe=V("shield-question-mark",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3",key:"mhlwft"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);function xe(o){if(o.type==="abort")return o.reason}function fe(o){return o.isAbort?o.streamReason||"user_cancelled":null}function he(o){switch(o){case"user_cancelled":return"Generation stopped";case"timeout":return"Generation stopped: timed out";default:return`Generation stopped: ${o}`}}var ve=S(),C=z(K(),1),r=z(ae(),1);const be=o=>{let e=(0,ve.c)(13),{reasoning:l,index:n,isStreaming:s}=o,i=n===void 0?0:n,t=s===void 0?!1:s,[a,u]=C.useState("");if(!l&&!t)return null;let f=t?"reasoning":a,p;e[0]===Symbol.for("react.memo_cache_sentinel")?(p=(0,r.jsx)(ne,{className:"h-3 w-3"}),e[0]=p):p=e[0];let v=t?"Thinking":"View reasoning",x=l.length>0&&` (${l.length} chars)`,d;e[1]!==v||e[2]!==x?(d=(0,r.jsx)(G,{className:"text-xs text-muted-foreground hover:bg-muted/50 px-2 py-1 h-auto rounded-sm [&[data-state=open]>svg]:rotate-180",children:(0,r.jsxs)("span",{className:"flex items-center gap-2",children:[p,v,x]})}),e[1]=v,e[2]=x,e[3]=d):d=e[3];let m;e[4]===l?m=e[5]:(m=(0,r.jsx)(F,{className:"pb-2 px-2",children:(0,r.jsx)("div",{className:"bg-muted/30 border border-muted/50 rounded-md p-3 italic text-muted-foreground/90 relative",children:(0,r.jsx)("div",{className:"pr-6",children:(0,r.jsx)(I,{content:l})})})}),e[4]=l,e[5]=m);let c;e[6]!==d||e[7]!==m?(c=(0,r.jsxs)(E,{value:"reasoning",className:"border-0",children:[d,m]}),e[6]=d,e[7]=m,e[8]=c):c=e[8];let h;return e[9]!==i||e[10]!==f||e[11]!==c?(h=(0,r.jsx)(J,{type:"single",collapsible:!0,className:"w-full mb-2",value:f,onValueChange:u,children:c},i),e[9]=i,e[10]=f,e[11]=c,e[12]=h):h=e[12],h};function R(o){return o.replace("tool-","")}var je=S();const q=o=>{let e=(0,je.c)(9),{input:l,label:n}=o,s=n===void 0?"Tool Request":n;if(l==null)return null;let i;e[0]===s?i=e[1]:(i=(0,r.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:s}),e[0]=s,e[1]=i);let t;e[2]===l?t=e[3]:(t=JSON.stringify(l,null,2),e[2]=l,e[3]=t);let a;e[4]===t?a=e[5]:(a=(0,r.jsx)("pre",{className:"bg-(--slate-2) p-2 text-muted-foreground border border-(--slate-4) rounded text-xs overflow-auto scrollbar-thin max-h-64",children:t}),e[4]=t,e[5]=a);let u;return e[6]!==i||e[7]!==a?(u=(0,r.jsxs)("div",{className:"space-y-2",children:[i,a]}),e[6]=i,e[7]=a,e[8]=u):u=e[8],u};var ge=S();const Ne=o=>{let e=(0,ge.c)(25),{toolName:l,input:n,approval:s,onApprove:i,className:t}=o,a;e[0]===t?a=e[1]:(a=k("rounded-md border border-(--amber-6) bg-(--amber-2) p-3 space-y-3",t),e[0]=t,e[1]=a);let u=`Approval required for ${R(l)}`,f;e[2]===Symbol.for("react.memo_cache_sentinel")?(f=(0,r.jsx)(pe,{className:"h-4 w-4 text-(--amber-11) mt-0.5 shrink-0"}),e[2]=f):f=e[2];let p;e[3]===Symbol.for("react.memo_cache_sentinel")?(p=(0,r.jsx)("span",{className:"font-semibold",children:"Approval required:"}),e[3]=p):p=e[3];let v;e[4]===l?v=e[5]:(v=R(l),e[4]=l,e[5]=v);let x;e[6]===v?x=e[7]:(x=(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[f,(0,r.jsxs)("div",{className:"text-xs text-(--amber-11) leading-relaxed",children:[p," ",(0,r.jsx)("code",{className:"font-mono",children:v})]})]}),e[6]=v,e[7]=x);let d;e[8]===n?d=e[9]:(d=(0,r.jsx)(q,{input:n}),e[8]=n,e[9]=d);let m;e[10]!==s.id||e[11]!==i?(m=(0,r.jsx)(M,{size:"xs",variant:"outline",onClick:()=>i({id:s.id,approved:!1}),children:"Deny"}),e[10]=s.id,e[11]=i,e[12]=m):m=e[12];let c;e[13]!==s.id||e[14]!==i?(c=(0,r.jsx)(M,{size:"xs",onClick:()=>i({id:s.id,approved:!0}),children:"Approve"}),e[13]=s.id,e[14]=i,e[15]=c):c=e[15];let h;e[16]!==m||e[17]!==c?(h=(0,r.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[m,c]}),e[16]=m,e[17]=c,e[18]=h):h=e[18];let b;return e[19]!==a||e[20]!==h||e[21]!==u||e[22]!==x||e[23]!==d?(b=(0,r.jsxs)("div",{className:a,role:"alertdialog","aria-label":u,children:[x,d,h]}),e[19]=a,e[20]=h,e[21]=u,e[22]=x,e[23]=d,e[24]=b):b=e[24],b};var ye=S();const we=o=>{let e=(0,ye.c)(28),{toolName:l,input:n,errorText:s,isLive:i,className:t}=o,[a,u]=C.useState(i),f=C.useRef(i),p,v;e[0]===i?(p=e[1],v=e[2]):(p=()=>{f.current&&!i&&u(!1),f.current=i},v=[i],e[0]=i,e[1]=p,e[2]=v),C.useEffect(p,v);let x;e[3]===t?x=e[4]:(x=k("rounded-md border border-(--red-6) bg-(--red-2)",t),e[3]=t,e[4]=x);let d;e[5]===Symbol.for("react.memo_cache_sentinel")?(d=()=>u(_e),e[5]=d):d=e[5];let m;e[6]===Symbol.for("react.memo_cache_sentinel")?(m=(0,r.jsx)(Q,{className:"h-3.5 w-3.5 shrink-0"}),e[6]=m):m=e[6];let c;e[7]===Symbol.for("react.memo_cache_sentinel")?(c=(0,r.jsx)("span",{className:"font-semibold",children:"Failed:"}),e[7]=c):c=e[7];let h;e[8]===l?h=e[9]:(h=R(l),e[8]=l,e[9]=h);let b;e[10]===h?b=e[11]:(b=(0,r.jsxs)("span",{className:"flex-1 text-left",children:[c," ",(0,r.jsx)("code",{className:"font-mono",children:h})]}),e[10]=h,e[11]=b);let _=a&&"rotate-180",j;e[12]===_?j=e[13]:(j=k("h-3.5 w-3.5 shrink-0 transition-transform",_),e[12]=_,e[13]=j);let g;e[14]===j?g=e[15]:(g=(0,r.jsx)(ie,{className:j}),e[14]=j,e[15]=g);let N;e[16]!==a||e[17]!==g||e[18]!==b?(N=(0,r.jsxs)("button",{type:"button",onClick:d,className:"w-full flex items-center gap-2 px-3 py-2 text-xs text-(--red-11) hover:bg-(--red-3) rounded-md transition-colors","aria-expanded":a,children:[m,b,g]}),e[16]=a,e[17]=g,e[18]=b,e[19]=N):N=e[19];let y;e[20]!==s||e[21]!==n||e[22]!==a?(y=a&&(0,r.jsxs)("div",{className:"px-3 pb-3 space-y-3 border-t border-(--red-6)/40 pt-3",children:[(0,r.jsx)(q,{input:n}),s&&(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"text-xs font-semibold text-(--red-11) mb-1",children:"Error"}),(0,r.jsx)("pre",{className:"bg-(--red-2) border border-(--red-6) rounded p-2 text-xs text-(--red-11) leading-relaxed overflow-auto scrollbar-thin max-h-64 whitespace-pre-wrap",children:s})]})]}),e[20]=s,e[21]=n,e[22]=a,e[23]=y):y=e[23];let w;return e[24]!==N||e[25]!==y||e[26]!==x?(w=(0,r.jsxs)("div",{className:x,children:[N,y]}),e[24]=N,e[25]=y,e[26]=x,e[27]=w):w=e[27],w};function _e(o){return!o}var P=S();function Se(o){return o==null?!0:typeof o=="object"?te(o):!1}var Ae=Y({status:D().default("success"),auth_required:ee().default(!1),action_url:O(),next_steps:O(),meta:O(),message:D().nullish()}),ke=o=>{let e=(0,P.c)(12),{data:l}=o,n;if(e[0]!==l){let{status:s,auth_required:i,action_url:t,meta:a,next_steps:u,message:f,...p}=l,v;e[2]===Symbol.for("react.memo_cache_sentinel")?(v=(0,r.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Tool Result"}),e[2]=v):v=e[2];let x;e[3]===s?x=e[4]:(x=(0,r.jsx)("span",{className:"text-xs px-2 py-0.5 bg-(--grass-2) text-(--grass-11) rounded-full font-medium capitalize",children:s}),e[3]=s,e[4]=x);let d;e[5]===i?d=e[6]:(d=i&&(0,r.jsx)("span",{className:"text-xs px-2 py-0.5 bg-(--amber-2) text-(--amber-11) rounded-full",children:"Auth Required"}),e[5]=i,e[6]=d);let m;e[7]!==x||e[8]!==d?(m=(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[v,(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[x,d]})]}),e[7]=x,e[8]=d,e[9]=m):m=e[9];let c;e[10]===f?c=e[11]:(c=f&&(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[(0,r.jsx)(U,{className:"h-3 w-3 text-(--blue-11) mt-0.5 shrink-0"}),(0,r.jsx)("div",{className:"text-xs text-foreground",children:f})]}),e[10]=f,e[11]=c),n=(0,r.jsxs)("div",{className:"flex flex-col gap-1.5",children:[m,c,p&&(0,r.jsx)("div",{className:"space-y-3",children:Object.entries(p).map(Ce)})]}),e[0]=l,e[1]=n}else n=e[1];return n};const Te=o=>{let e=(0,P.c)(8),{result:l}=o,n;e[0]===l?n=e[1]:(n=Ae.safeParse(l),e[0]=l,e[1]=n);let s=n;if(s.success){let a;return e[2]===s.data?a=e[3]:(a=(0,r.jsx)(ke,{data:s.data}),e[2]=s.data,e[3]=a),a}let i;e[4]===l?i=e[5]:(i=typeof l=="string"?l:JSON.stringify(l,null,2),e[4]=l,e[5]=i);let t;return e[6]===i?t=e[7]:(t=(0,r.jsx)("div",{className:"text-xs font-medium text-muted-foreground mb-1 max-h-64 overflow-y-auto scrollbar-thin",children:i}),e[6]=i,e[7]=t),t};function Ce(o){let[e,l]=o;return Se(l)?null:(0,r.jsxs)("div",{className:"space-y-1.5",children:[(0,r.jsx)("span",{className:"text-xs text-muted-foreground",children:e}),(0,r.jsx)("pre",{className:"bg-(--slate-2) p-2 text-muted-foreground border border-(--slate-4) rounded text-xs overflow-auto scrollbar-thin max-h-64",children:JSON.stringify(l,null,2)})]},e)}var $=S(),qe={"input-streaming":"Generating","input-available":"Running","approval-responded":"Awaiting result","output-available":"Done","output-denied":"Denied"},Le=new Set(["input-streaming","input-available","approval-responded"]),Re=o=>{let e=(0,$.c)(5),{state:l,interrupted:n}=o;if(n){let s;return e[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(me,{className:"h-3 w-3 text-muted-foreground"}),e[0]=s):s=e[0],s}switch(l){case"input-streaming":case"input-available":case"approval-responded":{let s;return e[1]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(ce,{className:"h-3 w-3 animate-spin"}),e[1]=s):s=e[1],s}case"output-available":{let s;return e[2]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(re,{className:"h-3 w-3 text-(--grass-11)"}),e[2]=s):s=e[2],s}case"output-denied":{let s;return e[3]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(le,{className:"h-3 w-3 text-muted-foreground"}),e[3]=s):s=e[3],s}default:{T(l);let s;return e[4]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(de,{className:"h-3 w-3"}),e[4]=s):s=e[4],s}}};function Oe(o){switch(o){case"output-available":return"text-(--grass-11)/80";case"output-denied":return"text-muted-foreground";case"input-streaming":case"input-available":case"approval-responded":return"";default:return T(o),""}}const Z=o=>{let e=(0,$.c)(34),{toolName:l,state:n,input:s,result:i,approval:t,index:a,className:u,isActive:f}=o,p=a===void 0?0:a,v=f===void 0?!0:f,x;e[0]!==v||e[1]!==n?(x=!v&&Le.has(n),e[0]=v,e[1]=n,e[2]=x):x=e[2];let d=x,m=`tool-${p}`,c;e[3]===u?c=e[4]:(c=k("w-full",u),e[3]=u,e[4]=c);let h;e[5]!==d||e[6]!==n?(h=k("h-6 text-xs border-border shadow-none! ring-0! bg-muted/60 hover:bg-muted py-0 px-2 gap-1 rounded-sm [&[data-state=open]>svg]:rotate-180 hover:no-underline",d?"text-muted-foreground":Oe(n)),e[5]=d,e[6]=n,e[7]=h):h=e[7];let b;e[8]!==d||e[9]!==n?(b=(0,r.jsx)(Re,{state:n,interrupted:d}),e[8]=d,e[9]=n,e[10]=b):b=e[10];let _=d?"Interrupted":qe[n],j;e[11]===l?j=e[12]:(j=R(l),e[11]=l,e[12]=j);let g;e[13]===j?g=e[14]:(g=(0,r.jsx)("code",{className:"font-mono text-xs",children:j}),e[13]=j,e[14]=g);let N;e[15]!==g||e[16]!==b||e[17]!==_?(N=(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[b,_,":",g]}),e[15]=g,e[16]=b,e[17]=_,e[18]=N):N=e[18];let y;e[19]!==N||e[20]!==h?(y=(0,r.jsx)(G,{className:h,children:N}),e[19]=N,e[20]=h,e[21]=y):y=e[21];let w;e[22]!==t||e[23]!==s||e[24]!==i||e[25]!==n?(w=(0,r.jsx)(F,{className:"py-2 px-2",children:(0,r.jsx)($e,{state:n,input:s,result:i,approval:t})}),e[22]=t,e[23]=s,e[24]=i,e[25]=n,e[26]=w):w=e[26];let A;e[27]!==y||e[28]!==w?(A=(0,r.jsxs)(E,{value:"tool-call",className:"border-0",children:[y,w]}),e[27]=y,e[28]=w,e[29]=A):A=e[29];let L;return e[30]!==A||e[31]!==m||e[32]!==c?(L=(0,r.jsx)(J,{type:"single",collapsible:!0,className:c,children:A},m),e[30]=A,e[31]=m,e[32]=c,e[33]=L):L=e[33],L};var $e=o=>{let e=(0,$.c)(16),{state:l,input:n,result:s,approval:i}=o;switch(l){case"input-streaming":case"input-available":case"approval-responded":{let t;return e[0]===n?t=e[1]:(t=(0,r.jsx)(q,{input:n}),e[0]=n,e[1]=t),t}case"output-available":{let t;e[2]===n?t=e[3]:(t=(0,r.jsx)(q,{input:n}),e[2]=n,e[3]=t);let a;e[4]===s?a=e[5]:(a=s!=null&&(0,r.jsx)(Te,{result:s}),e[4]=s,e[5]=a);let u;return e[6]!==t||e[7]!==a?(u=(0,r.jsxs)("div",{className:"space-y-3",children:[t,a]}),e[6]=t,e[7]=a,e[8]=u):u=e[8],u}case"output-denied":{let t;e[9]===n?t=e[10]:(t=(0,r.jsx)(q,{input:n}),e[9]=n,e[10]=t);let a=i!=null&&i.reason?`: ${i.reason}`:".",u;e[11]===a?u=e[12]:(u=(0,r.jsxs)("div",{className:"bg-muted/40 border border-border rounded-md p-3 text-xs text-muted-foreground leading-relaxed",children:["Tool execution was denied",a]}),e[11]=a,e[12]=u);let f;return e[13]!==t||e[14]!==u?(f=(0,r.jsxs)("div",{className:"space-y-3",children:[t,u]}),e[13]=t,e[14]=u,e[15]=f):f=e[15],f}default:return T(l),null}},ze=S();const B=o=>{let e=(0,ze.c)(27),{toolName:l,state:n,result:s,errorText:i,input:t,approval:a,onApprove:u,index:f,className:p,isLive:v,isActive:x}=o,d=v===void 0?!0:v,m=x===void 0?!0:x;switch(n){case"approval-requested":{if(a!=null&&u!=null){let h;return e[0]!==a||e[1]!==p||e[2]!==t||e[3]!==u||e[4]!==l?(h=(0,r.jsx)(Ne,{toolName:l,input:t,approval:a,onApprove:u,className:p}),e[0]=a,e[1]=p,e[2]=t,e[3]=u,e[4]=l,e[5]=h):h=e[5],h}let c;return e[6]!==p||e[7]!==f||e[8]!==t||e[9]!==m||e[10]!==l?(c=(0,r.jsx)(Z,{toolName:l,state:"input-available",input:t,index:f,className:p,isActive:m}),e[6]=p,e[7]=f,e[8]=t,e[9]=m,e[10]=l,e[11]=c):c=e[11],c}case"output-error":{let c;return e[12]!==p||e[13]!==i||e[14]!==t||e[15]!==d||e[16]!==l?(c=(0,r.jsx)(we,{toolName:l,input:t,errorText:i,isLive:d,className:p}),e[12]=p,e[13]=i,e[14]=t,e[15]=d,e[16]=l,e[17]=c):c=e[17],c}case"input-streaming":case"input-available":case"approval-responded":case"output-available":case"output-denied":{let c;return e[18]!==a||e[19]!==p||e[20]!==f||e[21]!==t||e[22]!==m||e[23]!==s||e[24]!==n||e[25]!==l?(c=(0,r.jsx)(Z,{toolName:l,state:n,input:t,result:s,approval:a,index:f,className:p,isActive:m}),e[18]=a,e[19]=p,e[20]=f,e[21]=t,e[22]=m,e[23]=s,e[24]=n,e[25]=l,e[26]=c):c=e[26],c}default:return T(n),null}},De=({message:o,isStreamingReasoning:e,isLast:l,isActive:n,addToolApprovalResponse:s})=>{return(0,r.jsx)(r.Fragment,{children:o.parts.map((t,a)=>i(t,a))});function i(t,a){if(Ee(t))return(0,r.jsx)(B,{index:a,toolName:t.type,result:t.output,errorText:t.state==="output-error"?t.errorText:void 0,className:"my-2",state:t.state,input:t.input,approval:t.approval,onApprove:s,isLive:l,isActive:n},a);if(Fe(t))return se.debug("Found data part",t),null;switch(t.type){case"text":return t.text.includes("<marimo-")?(0,r.jsx)(C.Fragment,{children:ue({html:t.text})},a):(0,r.jsx)(I,{content:t.text},a);case"reasoning":return(0,r.jsx)(be,{reasoning:t.text,index:a,isStreaming:e&&l&&a===(o.parts.length||0)-1},a);case"file":return(0,r.jsx)(W,{attachment:t},a);case"reasoning-file":return(0,r.jsx)(W,{attachment:{type:"file",mediaType:t.mediaType,url:t.url}},a);case"dynamic-tool":return(0,r.jsx)(B,{toolName:t.toolName,result:t.output,errorText:t.state==="output-error"?t.errorText:void 0,state:t.state,input:t.input,approval:t.approval,onApprove:s,isLive:l,isActive:n},a);case"source-document":return(0,r.jsx)(H,{icon:(0,r.jsx)(X,{className:"h-3 w-3 shrink-0"}),title:t.title,subtitle:t.filename},a);case"source-url":return(0,r.jsx)(H,{icon:(0,r.jsx)(oe,{className:"h-3 w-3 shrink-0"}),title:t.title??t.url,subtitle:t.title?t.url:void 0,href:t.url},a);case"custom":return(0,r.jsx)("div",{className:"text-sm text-muted-foreground",children:t.kind},a);case"step-start":return null;default:return T(t),null}}};function Ee(o){return o.type.startsWith("tool-")}function Fe(o){return o.type.startsWith("data-")}export{fe as i,he as n,xe as r,De as t};
@@ -1,4 +1,4 @@
1
- import{o as ze}from"./chunk-C4rtOYze.js";import{d as Ut,f as Yt,l as ge,n as L,u as be}from"./useEvent-GCVIknuR.js";import{t as Xt}from"./react-C60yClUi.js";import{Br as qt,E as Vt,Wt as Bt,mn as Fe}from"./cells-BvgwUKB9.js";import"./react-dom-Ba2zmJWD.js";import{t as ne}from"./compiler-runtime-DnimoHo0.js";import{D as Kt,c as $t,r as He,t as Gt}from"./ai-model-dropdown-DWDm50eM.js";import{g as oe,o as ee}from"./useEventListener-DpNnLPuE.js";import{a as Qt,n as We}from"./utils-C8Yt16Y7.js";import{N as Zt,o as Jt}from"./config-DFK5eCC3.js";import{t as er}from"./switch-ulnbZFaI.js";import{t as K}from"./cn-DCUzRj2J.js";import{t as tr}from"./jsx-runtime-3wZU7vFS.js";import{C as rr,b as ar,g as $,v as ie,w as se,x as G}from"./fullscreen-CrevbcR_.js";import{u as or}from"./menu-items-B8lIBnFI.js";import{t as sr}from"./config-DjP9S1hr.js";import{i as Oe,r as Ue,t as Ye}from"./popover-B96fOqfH.js";import{a as lr,i as nr,n as ir,p as cr,r as dr,s as ur,t as mr}from"./select-CPo-KTTe.js";import{i as Xe,t as we}from"./tooltip-C9LWGQ7Y.js";import{t as B}from"./button-W__YVea9.js";import"./dist-CeF1Em5L.js";import"./cjs-DCKmcMBz.js";import"./useNonce-C2dwX-sI.js";import{r as hr}from"./requests-B9zEd_sW.js";import{t as qe}from"./createLucideIcon-B8oVfJNp.js";import{t as pr}from"./scroll-to-bottom-button-CfIjIyKn.js";import{t as fr}from"./arrow-right-Ct-E429w.js";import{t as Ve}from"./bot-message-square-CHGXChWr.js";import"./markdown-renderer-D7RLn6TA.js";import{i as xr,n as vr,r as gr,t as br}from"./chat-display-CR9X_gwB.js";import{A as wr,C as yr,D as jr,F as Be,I as Sr,M as Cr,N as ce,S as Nr,T as Ar,V as Rr,_ as Tr,b as _r,d as Ke,f as Er,g as $e,h as kr,l as Ir,n as Ge,p as Lr,r as Mr,u as Pr,v as Dr,w as zr,x as Fr,y as Qe}from"./add-cell-with-ai-C5JH9LS2.js";import{t as Hr}from"./code-DzY0vbKf.js";import{t as Wr}from"./hat-glasses-xLTnAC_n.js";import{n as Ze}from"./spinner-Cj3eM5bt.js";import{t as Or}from"./message-circle-DJwyqZtq.js";import{t as Ur}from"./plus-r1QITpsJ.js";import{dt as Yr,r as Xr}from"./input-BN98e517.js";import{t as qr}from"./settings-IZvUqDP4.js";import{t as Vr}from"./sparkles-DwqcWrJl.js";import"./dist-BPoMypmC.js";import"./dist-5bwTcyKs.js";import"./dist-BVNaV53g.js";import"./dist-BrqkjqDe.js";import"./dist-Bm9PT5P9.js";import{t as Br}from"./uuid-e9lSomwA.js";import"./session-D-SddyN0.js";import"./purify.es-Bwm8T4QC.js";import{s as Kr}from"./dates-CZTDC2tF.js";import{t as $r}from"./copy-icon-Cn8LzPNx.js";import{t as Gr}from"./context-BJMN4ll3.js";import{n as Qr}from"./ImperativeModal-Dxj31V4A.js";import{t as Zr}from"./links-BeU4kHTI.js";import{i as Je,o as Jr,r as et,t as ea}from"./state-m2zUPztG.js";import{n as ta}from"./error-banner-d0-XOKtd.js";import"./chunk-5FQGJX7Z-B4N_BMo6.js";import"./html-to-image-DKEUbBwc.js";import"./esm-RBKN8Dn2.js";import{t as ye}from"./empty-state-CBq3j1LH.js";import{t as ra}from"./pair-with-agent-modal-DiDLAjxV.js";var h=ze(Xt(),1),a=ze(tr(),1);function aa(t,e){return h.useReducer((r,l)=>e[r][l]??r,t)}var je="ScrollArea",[tt,Jo]=rr(je),[oa,z]=tt(je),rt=h.forwardRef((t,e)=>{let{__scopeScrollArea:r,type:l="hover",dir:o,scrollHideDelay:s=600,...n}=t,[i,u]=h.useState(null),[c,d]=h.useState(null),[m,f]=h.useState(null),[x,g]=h.useState(null),[b,A]=h.useState(null),[w,S]=h.useState(0),[T,C]=h.useState(0),[j,N]=h.useState(!1),[M,I]=h.useState(!1),y=ee(e,P=>u(P)),_=or(o);return(0,a.jsx)(oa,{scope:r,type:l,dir:_,scrollHideDelay:s,scrollArea:i,viewport:c,onViewportChange:d,content:m,onContentChange:f,scrollbarX:x,onScrollbarXChange:g,scrollbarXEnabled:j,onScrollbarXEnabledChange:N,scrollbarY:b,onScrollbarYChange:A,scrollbarYEnabled:M,onScrollbarYEnabledChange:I,onCornerWidthChange:S,onCornerHeightChange:C,children:(0,a.jsx)(se.div,{dir:_,...n,ref:y,style:{position:"relative","--radix-scroll-area-corner-width":w+"px","--radix-scroll-area-corner-height":T+"px",...t.style}})})});rt.displayName=je;var at="ScrollAreaViewport",ot=h.forwardRef((t,e)=>{let{__scopeScrollArea:r,children:l,nonce:o,...s}=t,n=z(at,r),i=ee(e,h.useRef(null),n.onViewportChange);return(0,a.jsxs)(a.Fragment,{children:[(0,a.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:o}),(0,a.jsx)(se.div,{"data-radix-scroll-area-viewport":"",...s,ref:i,style:{overflowX:n.scrollbarXEnabled?"scroll":"hidden",overflowY:n.scrollbarYEnabled?"scroll":"hidden",...t.style},children:(0,a.jsx)("div",{ref:n.onContentChange,style:{minWidth:"100%",display:"table"},children:l})})]})});ot.displayName=at;var W="ScrollAreaScrollbar",Se=h.forwardRef((t,e)=>{let{forceMount:r,...l}=t,o=z(W,t.__scopeScrollArea),{onScrollbarXEnabledChange:s,onScrollbarYEnabledChange:n}=o,i=t.orientation==="horizontal";return h.useEffect(()=>(i?s(!0):n(!0),()=>{i?s(!1):n(!1)}),[i,s,n]),o.type==="hover"?(0,a.jsx)(sa,{...l,ref:e,forceMount:r}):o.type==="scroll"?(0,a.jsx)(la,{...l,ref:e,forceMount:r}):o.type==="auto"?(0,a.jsx)(st,{...l,ref:e,forceMount:r}):o.type==="always"?(0,a.jsx)(Ce,{...l,ref:e}):null});Se.displayName=W;var sa=h.forwardRef((t,e)=>{let{forceMount:r,...l}=t,o=z(W,t.__scopeScrollArea),[s,n]=h.useState(!1);return h.useEffect(()=>{let i=o.scrollArea,u=0;if(i){let c=()=>{window.clearTimeout(u),n(!0)},d=()=>{u=window.setTimeout(()=>n(!1),o.scrollHideDelay)};return i.addEventListener("pointerenter",c),i.addEventListener("pointerleave",d),()=>{window.clearTimeout(u),i.removeEventListener("pointerenter",c),i.removeEventListener("pointerleave",d)}}},[o.scrollArea,o.scrollHideDelay]),(0,a.jsx)(ie,{present:r||s,children:(0,a.jsx)(st,{"data-state":s?"visible":"hidden",...l,ref:e})})}),la=h.forwardRef((t,e)=>{let{forceMount:r,...l}=t,o=z(W,t.__scopeScrollArea),s=t.orientation==="horizontal",n=he(()=>u("SCROLL_END"),100),[i,u]=aa("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 h.useEffect(()=>{if(i==="idle"){let c=window.setTimeout(()=>u("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(c)}},[i,o.scrollHideDelay,u]),h.useEffect(()=>{let c=o.viewport,d=s?"scrollLeft":"scrollTop";if(c){let m=c[d],f=()=>{let x=c[d];m!==x&&(u("SCROLL"),n()),m=x};return c.addEventListener("scroll",f),()=>c.removeEventListener("scroll",f)}},[o.viewport,s,u,n]),(0,a.jsx)(ie,{present:r||i!=="hidden",children:(0,a.jsx)(Ce,{"data-state":i==="hidden"?"hidden":"visible",...l,ref:e,onPointerEnter:G(t.onPointerEnter,()=>u("POINTER_ENTER")),onPointerLeave:G(t.onPointerLeave,()=>u("POINTER_LEAVE"))})})}),st=h.forwardRef((t,e)=>{let r=z(W,t.__scopeScrollArea),{forceMount:l,...o}=t,[s,n]=h.useState(!1),i=t.orientation==="horizontal",u=he(()=>{if(r.viewport){let c=r.viewport.offsetWidth<r.viewport.scrollWidth,d=r.viewport.offsetHeight<r.viewport.scrollHeight;n(i?c:d)}},10);return te(r.viewport,u),te(r.content,u),(0,a.jsx)(ie,{present:l||s,children:(0,a.jsx)(Ce,{"data-state":s?"visible":"hidden",...o,ref:e})})}),Ce=h.forwardRef((t,e)=>{let{orientation:r="vertical",...l}=t,o=z(W,t.__scopeScrollArea),s=h.useRef(null),n=h.useRef(0),[i,u]=h.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),c=dt(i.viewport,i.content),d={...l,sizes:i,onSizesChange:u,hasThumb:c>0&&c<1,onThumbChange:f=>s.current=f,onThumbPointerUp:()=>n.current=0,onThumbPointerDown:f=>n.current=f};function m(f,x){return ma(f,n.current,i,x)}return r==="horizontal"?(0,a.jsx)(na,{...d,ref:e,onThumbPositionChange:()=>{if(o.viewport&&s.current){let f=o.viewport.scrollLeft,x=ut(f,i,o.dir);s.current.style.transform=`translate3d(${x}px, 0, 0)`}},onWheelScroll:f=>{o.viewport&&(o.viewport.scrollLeft=f)},onDragScroll:f=>{o.viewport&&(o.viewport.scrollLeft=m(f,o.dir))}}):r==="vertical"?(0,a.jsx)(ia,{...d,ref:e,onThumbPositionChange:()=>{if(o.viewport&&s.current){let f=o.viewport.scrollTop,x=ut(f,i);s.current.style.transform=`translate3d(0, ${x}px, 0)`}},onWheelScroll:f=>{o.viewport&&(o.viewport.scrollTop=f)},onDragScroll:f=>{o.viewport&&(o.viewport.scrollTop=m(f))}}):null}),na=h.forwardRef((t,e)=>{let{sizes:r,onSizesChange:l,...o}=t,s=z(W,t.__scopeScrollArea),[n,i]=h.useState(),u=h.useRef(null),c=ee(e,u,s.onScrollbarXChange);return h.useEffect(()=>{u.current&&i(getComputedStyle(u.current))},[u]),(0,a.jsx)(nt,{"data-orientation":"horizontal",...o,ref:c,sizes:r,style:{bottom:0,left:s.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:s.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":me(r)+"px",...t.style},onThumbPointerDown:d=>t.onThumbPointerDown(d.x),onDragScroll:d=>t.onDragScroll(d.x),onWheelScroll:(d,m)=>{if(s.viewport){let f=s.viewport.scrollLeft+d.deltaX;t.onWheelScroll(f),ht(f,m)&&d.preventDefault()}},onResize:()=>{u.current&&s.viewport&&n&&l({content:s.viewport.scrollWidth,viewport:s.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:ue(n.paddingLeft),paddingEnd:ue(n.paddingRight)}})}})}),ia=h.forwardRef((t,e)=>{let{sizes:r,onSizesChange:l,...o}=t,s=z(W,t.__scopeScrollArea),[n,i]=h.useState(),u=h.useRef(null),c=ee(e,u,s.onScrollbarYChange);return h.useEffect(()=>{u.current&&i(getComputedStyle(u.current))},[u]),(0,a.jsx)(nt,{"data-orientation":"vertical",...o,ref:c,sizes:r,style:{top:0,right:s.dir==="ltr"?0:void 0,left:s.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":me(r)+"px",...t.style},onThumbPointerDown:d=>t.onThumbPointerDown(d.y),onDragScroll:d=>t.onDragScroll(d.y),onWheelScroll:(d,m)=>{if(s.viewport){let f=s.viewport.scrollTop+d.deltaY;t.onWheelScroll(f),ht(f,m)&&d.preventDefault()}},onResize:()=>{u.current&&s.viewport&&n&&l({content:s.viewport.scrollHeight,viewport:s.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:ue(n.paddingTop),paddingEnd:ue(n.paddingBottom)}})}})}),[ca,lt]=tt(W),nt=h.forwardRef((t,e)=>{let{__scopeScrollArea:r,sizes:l,hasThumb:o,onThumbChange:s,onThumbPointerUp:n,onThumbPointerDown:i,onThumbPositionChange:u,onDragScroll:c,onWheelScroll:d,onResize:m,...f}=t,x=z(W,r),[g,b]=h.useState(null),A=ee(e,y=>b(y)),w=h.useRef(null),S=h.useRef(""),T=x.viewport,C=l.content-l.viewport,j=$(d),N=$(u),M=he(m,10);function I(y){w.current&&c({x:y.clientX-w.current.left,y:y.clientY-w.current.top})}return h.useEffect(()=>{let y=_=>{let P=_.target;g!=null&&g.contains(P)&&j(_,C)};return document.addEventListener("wheel",y,{passive:!1}),()=>document.removeEventListener("wheel",y,{passive:!1})},[T,g,C,j]),h.useEffect(N,[l,N]),te(g,M),te(x.content,M),(0,a.jsx)(ca,{scope:r,scrollbar:g,hasThumb:o,onThumbChange:$(s),onThumbPointerUp:$(n),onThumbPositionChange:N,onThumbPointerDown:$(i),children:(0,a.jsx)(se.div,{...f,ref:A,style:{position:"absolute",...f.style},onPointerDown:G(t.onPointerDown,y=>{y.button===0&&(y.target.setPointerCapture(y.pointerId),w.current=g.getBoundingClientRect(),S.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",x.viewport&&(x.viewport.style.scrollBehavior="auto"),I(y))}),onPointerMove:G(t.onPointerMove,I),onPointerUp:G(t.onPointerUp,y=>{let _=y.target;_.hasPointerCapture(y.pointerId)&&_.releasePointerCapture(y.pointerId),document.body.style.webkitUserSelect=S.current,x.viewport&&(x.viewport.style.scrollBehavior=""),w.current=null})})})}),de="ScrollAreaThumb",it=h.forwardRef((t,e)=>{let{forceMount:r,...l}=t,o=lt(de,t.__scopeScrollArea);return(0,a.jsx)(ie,{present:r||o.hasThumb,children:(0,a.jsx)(da,{ref:e,...l})})}),da=h.forwardRef((t,e)=>{let{__scopeScrollArea:r,style:l,...o}=t,s=z(de,r),n=lt(de,r),{onThumbPositionChange:i}=n,u=ee(e,m=>n.onThumbChange(m)),c=h.useRef(void 0),d=he(()=>{c.current&&(c.current=(c.current(),void 0))},100);return h.useEffect(()=>{let m=s.viewport;if(m){let f=()=>{d(),c.current||(c.current=ha(m,i),i())};return i(),m.addEventListener("scroll",f),()=>m.removeEventListener("scroll",f)}},[s.viewport,d,i]),(0,a.jsx)(se.div,{"data-state":n.hasThumb?"visible":"hidden",...o,ref:u,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...l},onPointerDownCapture:G(t.onPointerDownCapture,m=>{let f=m.target.getBoundingClientRect(),x=m.clientX-f.left,g=m.clientY-f.top;n.onThumbPointerDown({x,y:g})}),onPointerUp:G(t.onPointerUp,n.onThumbPointerUp)})});it.displayName=de;var Ne="ScrollAreaCorner",ct=h.forwardRef((t,e)=>{let r=z(Ne,t.__scopeScrollArea),l=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&l?(0,a.jsx)(ua,{...t,ref:e}):null});ct.displayName=Ne;var ua=h.forwardRef((t,e)=>{let{__scopeScrollArea:r,...l}=t,o=z(Ne,r),[s,n]=h.useState(0),[i,u]=h.useState(0),c=!!(s&&i);return te(o.scrollbarX,()=>{var m;let d=((m=o.scrollbarX)==null?void 0:m.offsetHeight)||0;o.onCornerHeightChange(d),u(d)}),te(o.scrollbarY,()=>{var m;let d=((m=o.scrollbarY)==null?void 0:m.offsetWidth)||0;o.onCornerWidthChange(d),n(d)}),c?(0,a.jsx)(se.div,{...l,ref:e,style:{width:s,height:i,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...t.style}}):null});function ue(t){return t?parseInt(t,10):0}function dt(t,e){let r=t/e;return isNaN(r)?0:r}function me(t){let e=dt(t.viewport,t.content),r=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,l=(t.scrollbar.size-r)*e;return Math.max(l,18)}function ma(t,e,r,l="ltr"){let o=me(r),s=o/2,n=e||s,i=o-n,u=r.scrollbar.paddingStart+n,c=r.scrollbar.size-r.scrollbar.paddingEnd-i,d=r.content-r.viewport,m=l==="ltr"?[0,d]:[d*-1,0];return mt([u,c],m)(t)}function ut(t,e,r="ltr"){let l=me(e),o=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,s=e.scrollbar.size-o,n=e.content-e.viewport,i=s-l,u=cr(t,r==="ltr"?[0,n]:[n*-1,0]);return mt([0,n],[0,i])(u)}function mt(t,e){return r=>{if(t[0]===t[1]||e[0]===e[1])return e[0];let l=(e[1]-e[0])/(t[1]-t[0]);return e[0]+l*(r-t[0])}}function ht(t,e){return t>0&&t<e}var ha=(t,e=()=>{})=>{let r={left:t.scrollLeft,top:t.scrollTop},l=0;return(function o(){let s={left:t.scrollLeft,top:t.scrollTop},n=r.left!==s.left,i=r.top!==s.top;(n||i)&&e(),r=s,l=window.requestAnimationFrame(o)})(),()=>window.cancelAnimationFrame(l)};function he(t,e){let r=$(t),l=h.useRef(0);return h.useEffect(()=>()=>window.clearTimeout(l.current),[]),h.useCallback(()=>{window.clearTimeout(l.current),l.current=window.setTimeout(r,e)},[r,e])}function te(t,e){let r=$(e);ar(()=>{let l=0;if(t){let o=new ResizeObserver(()=>{cancelAnimationFrame(l),l=window.requestAnimationFrame(r)});return o.observe(t),()=>{window.cancelAnimationFrame(l),o.unobserve(t)}}},[t,r])}var pt=rt,pa=ot,fa=ct,xa=qe("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"}]]),va=qe("sliders-horizontal",[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]]),ft=ne();const ga=({chatState:t,chatId:e,messages:r})=>{if(!e)return oe.warn("No active chat"),t;let l=t.chats.get(e);if(!l)return oe.warn("No active chat"),t;let o=new Map(t.chats),s=Date.now();return o.set(l.id,{...l,messages:r,updatedAt:s}),{...t,chats:o}};var xt=h.forwardRef((t,e)=>{let r=(0,ft.c)(15),l,o,s;r[0]===t?(l=r[1],o=r[2],s=r[3]):({className:o,children:l,...s}=t,r[0]=t,r[1]=l,r[2]=o,r[3]=s);let n;r[4]===o?n=r[5]:(n=K("relative overflow-hidden",o),r[4]=o,r[5]=n);let i;r[6]===l?i=r[7]:(i=(0,a.jsx)(pa,{className:"h-full w-full rounded-[inherit]",children:l}),r[6]=l,r[7]=i);let u,c;r[8]===Symbol.for("react.memo_cache_sentinel")?(u=(0,a.jsx)(vt,{}),c=(0,a.jsx)(fa,{}),r[8]=u,r[9]=c):(u=r[8],c=r[9]);let d;return r[10]!==s||r[11]!==e||r[12]!==n||r[13]!==i?(d=(0,a.jsxs)(pt,{ref:e,className:n,...s,children:[i,u,c]}),r[10]=s,r[11]=e,r[12]=n,r[13]=i,r[14]=d):d=r[14],d});xt.displayName=pt.displayName;var vt=h.forwardRef((t,e)=>{let r=(0,ft.c)(14),l,o,s;r[0]===t?(l=r[1],o=r[2],s=r[3]):({className:l,orientation:s,...o}=t,r[0]=t,r[1]=l,r[2]=o,r[3]=s);let n=s===void 0?"vertical":s,i=n==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-px",u=n==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-px",c;r[4]!==l||r[5]!==i||r[6]!==u?(c=K("flex touch-none select-none transition-colors",i,u,l),r[4]=l,r[5]=i,r[6]=u,r[7]=c):c=r[7];let d;r[8]===Symbol.for("react.memo_cache_sentinel")?(d=(0,a.jsx)(it,{className:"relative flex-1 rounded-full bg-border"}),r[8]=d):d=r[8];let m;return r[9]!==n||r[10]!==o||r[11]!==e||r[12]!==c?(m=(0,a.jsx)(Se,{ref:e,orientation:n,className:c,...o,children:d}),r[9]=n,r[10]=o,r[11]=e,r[12]=c,r[13]=m):m=r[13],m});vt.displayName=Se.displayName;var ba=[{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 wa=t=>{let e=Date.now(),r=ba.map(s=>({...s,chats:[]})),l={label:"Older",days:1/0,chats:[]},o=s=>{switch(s){case 0:return r[0];case 1:return r[1];case 2:return r[2];case 3:return r[3];default:return s>=4&&s<=7?r[4]:s>=8&&s<=30?r[5]:l}};for(let s of t)o(Math.floor((e-s.updatedAt)/864e5)).chats.push(s);return[...r,l].filter(s=>s.chats.length>0)},ya=({activeChatId:t,setActiveChat:e})=>{let r=be(Je),{locale:l}=Gr(),[o,s]=(0,h.useState)(""),n=(0,h.useMemo)(()=>[...r.chats.values()].toSorted((c,d)=>d.updatedAt-c.updatedAt),[r.chats]),i=(0,h.useMemo)(()=>o.trim()?n.filter(c=>c.title.toLowerCase().includes(o.toLowerCase())):n,[n,o]),u=(0,h.useMemo)(()=>wa(i),[i]);return(0,a.jsxs)(Ye,{children:[(0,a.jsx)(we,{content:"Previous chats",children:(0,a.jsx)(Oe,{asChild:!0,children:(0,a.jsx)(B,{variant:"text",size:"icon",children:(0,a.jsx)(qt,{className:"h-4 w-4"})})})}),(0,a.jsxs)(Ue,{className:"w-[480px] p-0",align:"start",side:"right",children:[(0,a.jsx)("div",{className:"pt-3 px-3 w-full",children:(0,a.jsx)(Xr,{placeholder:"Search chat history...",value:o,onChange:c=>s(c.target.value),className:"text-xs"})}),(0,a.jsx)(xt,{className:"h-[450px] p-2",children:(0,a.jsxs)("div",{className:"space-y-3",children:[n.length===0&&(0,a.jsx)(ye,{title:"No chats yet",description:"Start a new chat to get started",icon:(0,a.jsx)(Ve,{})}),i.length===0&&o&&n.length>0&&(0,a.jsx)(ye,{title:"No chats found",description:`No chats match "${o}"`,icon:(0,a.jsx)(Yr,{})}),u.map((c,d)=>(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("div",{className:"text-xs px-1 text-muted-foreground/60",children:c.label}),(0,a.jsx)("div",{children:c.chats.map(m=>(0,a.jsxs)("button",{className:K("w-full p-1 rounded-md cursor-pointer text-left flex items-center justify-between",m.id===t&&"bg-accent",m.id!==t&&"hover:bg-muted/20"),onClick:()=>{e(m.id)},type:"button",children:[(0,a.jsx)("div",{className:"flex-1 min-w-0",children:(0,a.jsx)("div",{className:"text-sm truncate",children:m.title})}),(0,a.jsx)("div",{className:"text-xs text-muted-foreground/60 ml-2 shrink-0",children:Kr(m.updatedAt,l)})]},m.id))}),d!==u.length-1&&(0,a.jsx)("hr",{})]},c.label))]})})]})]})};var ja=ne();const Sa=()=>{let t=(0,ja.c)(17),[e,r]=ge(et),l=e.webSearch,o=l?"Capabilities (web search enabled)":"Capabilities",s=l||void 0,n=l&&"bg-primary/15 text-primary ring-1 ring-primary/30 opacity-100 hover:bg-primary/20",i;t[0]===n?i=t[1]:(i=K("h-6 w-6 shrink-0 bg-muted hover:bg-muted/30",n),t[0]=n,t[1]=i);let u;t[2]===Symbol.for("react.memo_cache_sentinel")?(u=(0,a.jsx)(va,{className:"h-3.5 w-3.5"}),t[2]=u):u=t[2];let c;t[3]!==o||t[4]!==s||t[5]!==i?(c=(0,a.jsx)(Oe,{asChild:!0,children:(0,a.jsx)(B,{"aria-label":"Capabilities",title:o,"data-active":s,variant:"text",size:"icon",className:i,children:u})}),t[3]=o,t[4]=s,t[5]=i,t[6]=c):c=t[6];let d;t[7]===Symbol.for("react.memo_cache_sentinel")?(d=(0,a.jsx)("span",{className:"text-sm font-semibold",children:"Web search"}),t[7]=d):d=t[7];let m;t[8]===Symbol.for("react.memo_cache_sentinel")?(m=(0,a.jsxs)("div",{className:"flex flex-col gap-0.5",children:[d,(0,a.jsxs)("span",{className:"text-xs text-muted-foreground",children:["Search the web when the model supports it."," ",(0,a.jsx)(Zr,{href:"https://docs.marimo.io/guides/editor_features/tools#web-search-and-fetch",children:"Learn more"})]})]}),t[8]=m):m=t[8];let f;t[9]===r?f=t[10]:(f=b=>r(A=>({...A,webSearch:b})),t[9]=r,t[10]=f);let x;t[11]!==f||t[12]!==l?(x=(0,a.jsx)(Ue,{className:"w-76 p-3",align:"start",side:"top",children:(0,a.jsxs)("label",{htmlFor:"web-search-toggle",className:"flex items-start justify-between gap-3 cursor-pointer",children:[m,(0,a.jsx)(er,{id:"web-search-toggle","aria-label":"Web search",size:"sm",checked:l,onCheckedChange:f})]})}),t[11]=f,t[12]=l,t[13]=x):x=t[13];let g;return t[14]!==c||t[15]!==x?(g=(0,a.jsxs)(Ye,{children:[c,x]}),t[14]=c,t[15]=x,t[16]=g):g=t[16],g};var Ca=ne();function gt(){return Br()}function Na(t){let e=(0,Ca.c)(4),[r,l]=(0,h.useState)(gt),o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=()=>l(gt()),e[0]=o):o=e[0];let s=L(o),n=t??r,i;return e[1]!==s||e[2]!==n?(i={chatControllerId:n,renewDraftChatId:s},e[1]=s,e[2]=n,e[3]=i):i=e[3],i}var Q=ne(),bt="manual",wt=(0,h.memo)(t=>{let e=(0,Q.c)(18),{message:r}=t,l;e[0]===r.parts?l=e[1]:(l=r.parts.filter(ka).map(Ia).join(`
1
+ import{o as ze}from"./chunk-C4rtOYze.js";import{d as Ut,f as Yt,l as ge,n as L,u as be}from"./useEvent-GCVIknuR.js";import{t as Xt}from"./react-C60yClUi.js";import{E as qt,Vr as Vt,Wt as Bt,mn as Fe}from"./cells-DD-zwhxi.js";import"./react-dom-Ba2zmJWD.js";import{t as ne}from"./compiler-runtime-DnimoHo0.js";import{D as Kt,c as $t,r as He,t as Gt}from"./ai-model-dropdown-CmDWOIkZ.js";import{g as oe,o as ee}from"./useEventListener-DpNnLPuE.js";import{a as Qt,n as We}from"./utils-C8Yt16Y7.js";import{N as Zt,o as Jt}from"./config-DFK5eCC3.js";import{t as er}from"./switch-ulnbZFaI.js";import{t as K}from"./cn-DCUzRj2J.js";import{t as tr}from"./jsx-runtime-3wZU7vFS.js";import{C as rr,b as ar,g as $,v as ie,w as se,x as G}from"./fullscreen-CrevbcR_.js";import{u as or}from"./menu-items-B8lIBnFI.js";import{t as sr}from"./config-DjP9S1hr.js";import{i as Oe,r as Ue,t as Ye}from"./popover-B96fOqfH.js";import{a as lr,i as nr,n as ir,p as cr,r as dr,s as ur,t as mr}from"./select-CPo-KTTe.js";import{i as Xe,t as we}from"./tooltip-C9LWGQ7Y.js";import{t as B}from"./button-W__YVea9.js";import"./dist-CeF1Em5L.js";import"./cjs-DCKmcMBz.js";import"./useNonce-C2dwX-sI.js";import{r as hr}from"./requests-B9zEd_sW.js";import{t as qe}from"./createLucideIcon-B8oVfJNp.js";import{t as pr}from"./scroll-to-bottom-button-CfIjIyKn.js";import{t as fr}from"./arrow-right-Ct-E429w.js";import{t as Ve}from"./bot-message-square-CHGXChWr.js";import"./markdown-renderer-DM-Whfio.js";import{i as xr,n as vr,r as gr,t as br}from"./chat-display-59QZ49m7.js";import{A as wr,C as yr,D as jr,F as Be,I as Sr,M as Cr,N as ce,S as Nr,T as Ar,V as Rr,_ as Tr,b as _r,d as Ke,f as Er,g as $e,h as kr,l as Ir,n as Ge,p as Lr,r as Mr,u as Pr,v as Dr,w as zr,x as Fr,y as Qe}from"./add-cell-with-ai-B25FLoLF.js";import{t as Hr}from"./code-DzY0vbKf.js";import{t as Wr}from"./hat-glasses-xLTnAC_n.js";import{n as Ze}from"./spinner-Cj3eM5bt.js";import{t as Or}from"./message-circle-DJwyqZtq.js";import{t as Ur}from"./plus-r1QITpsJ.js";import{dt as Yr,r as Xr}from"./input-BN98e517.js";import{t as qr}from"./settings-IZvUqDP4.js";import{t as Vr}from"./sparkles-DwqcWrJl.js";import"./dist-BPoMypmC.js";import"./dist-5bwTcyKs.js";import"./dist-BVNaV53g.js";import"./dist-BrqkjqDe.js";import"./dist-Bm9PT5P9.js";import{t as Br}from"./uuid-e9lSomwA.js";import"./session-D-SddyN0.js";import"./purify.es-Bwm8T4QC.js";import{s as Kr}from"./dates-CZTDC2tF.js";import{t as $r}from"./copy-icon-Cn8LzPNx.js";import{t as Gr}from"./context-BJMN4ll3.js";import{n as Qr}from"./ImperativeModal-Dxj31V4A.js";import{t as Zr}from"./links-BeU4kHTI.js";import{i as Je,o as Jr,r as et,t as ea}from"./state-C1e6in0R.js";import{n as ta}from"./error-banner-d0-XOKtd.js";import"./chunk-5FQGJX7Z-B4N_BMo6.js";import"./html-to-image-CajdmeRM.js";import"./esm-RBKN8Dn2.js";import{t as ye}from"./empty-state-CBq3j1LH.js";import{t as ra}from"./pair-with-agent-modal-DiDLAjxV.js";var h=ze(Xt(),1),a=ze(tr(),1);function aa(t,e){return h.useReducer((r,l)=>e[r][l]??r,t)}var je="ScrollArea",[tt,Jo]=rr(je),[oa,z]=tt(je),rt=h.forwardRef((t,e)=>{let{__scopeScrollArea:r,type:l="hover",dir:o,scrollHideDelay:s=600,...n}=t,[i,u]=h.useState(null),[c,d]=h.useState(null),[m,f]=h.useState(null),[x,g]=h.useState(null),[b,A]=h.useState(null),[w,S]=h.useState(0),[T,C]=h.useState(0),[j,N]=h.useState(!1),[M,I]=h.useState(!1),y=ee(e,P=>u(P)),_=or(o);return(0,a.jsx)(oa,{scope:r,type:l,dir:_,scrollHideDelay:s,scrollArea:i,viewport:c,onViewportChange:d,content:m,onContentChange:f,scrollbarX:x,onScrollbarXChange:g,scrollbarXEnabled:j,onScrollbarXEnabledChange:N,scrollbarY:b,onScrollbarYChange:A,scrollbarYEnabled:M,onScrollbarYEnabledChange:I,onCornerWidthChange:S,onCornerHeightChange:C,children:(0,a.jsx)(se.div,{dir:_,...n,ref:y,style:{position:"relative","--radix-scroll-area-corner-width":w+"px","--radix-scroll-area-corner-height":T+"px",...t.style}})})});rt.displayName=je;var at="ScrollAreaViewport",ot=h.forwardRef((t,e)=>{let{__scopeScrollArea:r,children:l,nonce:o,...s}=t,n=z(at,r),i=ee(e,h.useRef(null),n.onViewportChange);return(0,a.jsxs)(a.Fragment,{children:[(0,a.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:o}),(0,a.jsx)(se.div,{"data-radix-scroll-area-viewport":"",...s,ref:i,style:{overflowX:n.scrollbarXEnabled?"scroll":"hidden",overflowY:n.scrollbarYEnabled?"scroll":"hidden",...t.style},children:(0,a.jsx)("div",{ref:n.onContentChange,style:{minWidth:"100%",display:"table"},children:l})})]})});ot.displayName=at;var W="ScrollAreaScrollbar",Se=h.forwardRef((t,e)=>{let{forceMount:r,...l}=t,o=z(W,t.__scopeScrollArea),{onScrollbarXEnabledChange:s,onScrollbarYEnabledChange:n}=o,i=t.orientation==="horizontal";return h.useEffect(()=>(i?s(!0):n(!0),()=>{i?s(!1):n(!1)}),[i,s,n]),o.type==="hover"?(0,a.jsx)(sa,{...l,ref:e,forceMount:r}):o.type==="scroll"?(0,a.jsx)(la,{...l,ref:e,forceMount:r}):o.type==="auto"?(0,a.jsx)(st,{...l,ref:e,forceMount:r}):o.type==="always"?(0,a.jsx)(Ce,{...l,ref:e}):null});Se.displayName=W;var sa=h.forwardRef((t,e)=>{let{forceMount:r,...l}=t,o=z(W,t.__scopeScrollArea),[s,n]=h.useState(!1);return h.useEffect(()=>{let i=o.scrollArea,u=0;if(i){let c=()=>{window.clearTimeout(u),n(!0)},d=()=>{u=window.setTimeout(()=>n(!1),o.scrollHideDelay)};return i.addEventListener("pointerenter",c),i.addEventListener("pointerleave",d),()=>{window.clearTimeout(u),i.removeEventListener("pointerenter",c),i.removeEventListener("pointerleave",d)}}},[o.scrollArea,o.scrollHideDelay]),(0,a.jsx)(ie,{present:r||s,children:(0,a.jsx)(st,{"data-state":s?"visible":"hidden",...l,ref:e})})}),la=h.forwardRef((t,e)=>{let{forceMount:r,...l}=t,o=z(W,t.__scopeScrollArea),s=t.orientation==="horizontal",n=he(()=>u("SCROLL_END"),100),[i,u]=aa("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 h.useEffect(()=>{if(i==="idle"){let c=window.setTimeout(()=>u("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(c)}},[i,o.scrollHideDelay,u]),h.useEffect(()=>{let c=o.viewport,d=s?"scrollLeft":"scrollTop";if(c){let m=c[d],f=()=>{let x=c[d];m!==x&&(u("SCROLL"),n()),m=x};return c.addEventListener("scroll",f),()=>c.removeEventListener("scroll",f)}},[o.viewport,s,u,n]),(0,a.jsx)(ie,{present:r||i!=="hidden",children:(0,a.jsx)(Ce,{"data-state":i==="hidden"?"hidden":"visible",...l,ref:e,onPointerEnter:G(t.onPointerEnter,()=>u("POINTER_ENTER")),onPointerLeave:G(t.onPointerLeave,()=>u("POINTER_LEAVE"))})})}),st=h.forwardRef((t,e)=>{let r=z(W,t.__scopeScrollArea),{forceMount:l,...o}=t,[s,n]=h.useState(!1),i=t.orientation==="horizontal",u=he(()=>{if(r.viewport){let c=r.viewport.offsetWidth<r.viewport.scrollWidth,d=r.viewport.offsetHeight<r.viewport.scrollHeight;n(i?c:d)}},10);return te(r.viewport,u),te(r.content,u),(0,a.jsx)(ie,{present:l||s,children:(0,a.jsx)(Ce,{"data-state":s?"visible":"hidden",...o,ref:e})})}),Ce=h.forwardRef((t,e)=>{let{orientation:r="vertical",...l}=t,o=z(W,t.__scopeScrollArea),s=h.useRef(null),n=h.useRef(0),[i,u]=h.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),c=dt(i.viewport,i.content),d={...l,sizes:i,onSizesChange:u,hasThumb:c>0&&c<1,onThumbChange:f=>s.current=f,onThumbPointerUp:()=>n.current=0,onThumbPointerDown:f=>n.current=f};function m(f,x){return ma(f,n.current,i,x)}return r==="horizontal"?(0,a.jsx)(na,{...d,ref:e,onThumbPositionChange:()=>{if(o.viewport&&s.current){let f=o.viewport.scrollLeft,x=ut(f,i,o.dir);s.current.style.transform=`translate3d(${x}px, 0, 0)`}},onWheelScroll:f=>{o.viewport&&(o.viewport.scrollLeft=f)},onDragScroll:f=>{o.viewport&&(o.viewport.scrollLeft=m(f,o.dir))}}):r==="vertical"?(0,a.jsx)(ia,{...d,ref:e,onThumbPositionChange:()=>{if(o.viewport&&s.current){let f=o.viewport.scrollTop,x=ut(f,i);s.current.style.transform=`translate3d(0, ${x}px, 0)`}},onWheelScroll:f=>{o.viewport&&(o.viewport.scrollTop=f)},onDragScroll:f=>{o.viewport&&(o.viewport.scrollTop=m(f))}}):null}),na=h.forwardRef((t,e)=>{let{sizes:r,onSizesChange:l,...o}=t,s=z(W,t.__scopeScrollArea),[n,i]=h.useState(),u=h.useRef(null),c=ee(e,u,s.onScrollbarXChange);return h.useEffect(()=>{u.current&&i(getComputedStyle(u.current))},[u]),(0,a.jsx)(nt,{"data-orientation":"horizontal",...o,ref:c,sizes:r,style:{bottom:0,left:s.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:s.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":me(r)+"px",...t.style},onThumbPointerDown:d=>t.onThumbPointerDown(d.x),onDragScroll:d=>t.onDragScroll(d.x),onWheelScroll:(d,m)=>{if(s.viewport){let f=s.viewport.scrollLeft+d.deltaX;t.onWheelScroll(f),ht(f,m)&&d.preventDefault()}},onResize:()=>{u.current&&s.viewport&&n&&l({content:s.viewport.scrollWidth,viewport:s.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:ue(n.paddingLeft),paddingEnd:ue(n.paddingRight)}})}})}),ia=h.forwardRef((t,e)=>{let{sizes:r,onSizesChange:l,...o}=t,s=z(W,t.__scopeScrollArea),[n,i]=h.useState(),u=h.useRef(null),c=ee(e,u,s.onScrollbarYChange);return h.useEffect(()=>{u.current&&i(getComputedStyle(u.current))},[u]),(0,a.jsx)(nt,{"data-orientation":"vertical",...o,ref:c,sizes:r,style:{top:0,right:s.dir==="ltr"?0:void 0,left:s.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":me(r)+"px",...t.style},onThumbPointerDown:d=>t.onThumbPointerDown(d.y),onDragScroll:d=>t.onDragScroll(d.y),onWheelScroll:(d,m)=>{if(s.viewport){let f=s.viewport.scrollTop+d.deltaY;t.onWheelScroll(f),ht(f,m)&&d.preventDefault()}},onResize:()=>{u.current&&s.viewport&&n&&l({content:s.viewport.scrollHeight,viewport:s.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:ue(n.paddingTop),paddingEnd:ue(n.paddingBottom)}})}})}),[ca,lt]=tt(W),nt=h.forwardRef((t,e)=>{let{__scopeScrollArea:r,sizes:l,hasThumb:o,onThumbChange:s,onThumbPointerUp:n,onThumbPointerDown:i,onThumbPositionChange:u,onDragScroll:c,onWheelScroll:d,onResize:m,...f}=t,x=z(W,r),[g,b]=h.useState(null),A=ee(e,y=>b(y)),w=h.useRef(null),S=h.useRef(""),T=x.viewport,C=l.content-l.viewport,j=$(d),N=$(u),M=he(m,10);function I(y){w.current&&c({x:y.clientX-w.current.left,y:y.clientY-w.current.top})}return h.useEffect(()=>{let y=_=>{let P=_.target;g!=null&&g.contains(P)&&j(_,C)};return document.addEventListener("wheel",y,{passive:!1}),()=>document.removeEventListener("wheel",y,{passive:!1})},[T,g,C,j]),h.useEffect(N,[l,N]),te(g,M),te(x.content,M),(0,a.jsx)(ca,{scope:r,scrollbar:g,hasThumb:o,onThumbChange:$(s),onThumbPointerUp:$(n),onThumbPositionChange:N,onThumbPointerDown:$(i),children:(0,a.jsx)(se.div,{...f,ref:A,style:{position:"absolute",...f.style},onPointerDown:G(t.onPointerDown,y=>{y.button===0&&(y.target.setPointerCapture(y.pointerId),w.current=g.getBoundingClientRect(),S.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",x.viewport&&(x.viewport.style.scrollBehavior="auto"),I(y))}),onPointerMove:G(t.onPointerMove,I),onPointerUp:G(t.onPointerUp,y=>{let _=y.target;_.hasPointerCapture(y.pointerId)&&_.releasePointerCapture(y.pointerId),document.body.style.webkitUserSelect=S.current,x.viewport&&(x.viewport.style.scrollBehavior=""),w.current=null})})})}),de="ScrollAreaThumb",it=h.forwardRef((t,e)=>{let{forceMount:r,...l}=t,o=lt(de,t.__scopeScrollArea);return(0,a.jsx)(ie,{present:r||o.hasThumb,children:(0,a.jsx)(da,{ref:e,...l})})}),da=h.forwardRef((t,e)=>{let{__scopeScrollArea:r,style:l,...o}=t,s=z(de,r),n=lt(de,r),{onThumbPositionChange:i}=n,u=ee(e,m=>n.onThumbChange(m)),c=h.useRef(void 0),d=he(()=>{c.current&&(c.current=(c.current(),void 0))},100);return h.useEffect(()=>{let m=s.viewport;if(m){let f=()=>{d(),c.current||(c.current=ha(m,i),i())};return i(),m.addEventListener("scroll",f),()=>m.removeEventListener("scroll",f)}},[s.viewport,d,i]),(0,a.jsx)(se.div,{"data-state":n.hasThumb?"visible":"hidden",...o,ref:u,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...l},onPointerDownCapture:G(t.onPointerDownCapture,m=>{let f=m.target.getBoundingClientRect(),x=m.clientX-f.left,g=m.clientY-f.top;n.onThumbPointerDown({x,y:g})}),onPointerUp:G(t.onPointerUp,n.onThumbPointerUp)})});it.displayName=de;var Ne="ScrollAreaCorner",ct=h.forwardRef((t,e)=>{let r=z(Ne,t.__scopeScrollArea),l=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&l?(0,a.jsx)(ua,{...t,ref:e}):null});ct.displayName=Ne;var ua=h.forwardRef((t,e)=>{let{__scopeScrollArea:r,...l}=t,o=z(Ne,r),[s,n]=h.useState(0),[i,u]=h.useState(0),c=!!(s&&i);return te(o.scrollbarX,()=>{var m;let d=((m=o.scrollbarX)==null?void 0:m.offsetHeight)||0;o.onCornerHeightChange(d),u(d)}),te(o.scrollbarY,()=>{var m;let d=((m=o.scrollbarY)==null?void 0:m.offsetWidth)||0;o.onCornerWidthChange(d),n(d)}),c?(0,a.jsx)(se.div,{...l,ref:e,style:{width:s,height:i,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...t.style}}):null});function ue(t){return t?parseInt(t,10):0}function dt(t,e){let r=t/e;return isNaN(r)?0:r}function me(t){let e=dt(t.viewport,t.content),r=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,l=(t.scrollbar.size-r)*e;return Math.max(l,18)}function ma(t,e,r,l="ltr"){let o=me(r),s=o/2,n=e||s,i=o-n,u=r.scrollbar.paddingStart+n,c=r.scrollbar.size-r.scrollbar.paddingEnd-i,d=r.content-r.viewport,m=l==="ltr"?[0,d]:[d*-1,0];return mt([u,c],m)(t)}function ut(t,e,r="ltr"){let l=me(e),o=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,s=e.scrollbar.size-o,n=e.content-e.viewport,i=s-l,u=cr(t,r==="ltr"?[0,n]:[n*-1,0]);return mt([0,n],[0,i])(u)}function mt(t,e){return r=>{if(t[0]===t[1]||e[0]===e[1])return e[0];let l=(e[1]-e[0])/(t[1]-t[0]);return e[0]+l*(r-t[0])}}function ht(t,e){return t>0&&t<e}var ha=(t,e=()=>{})=>{let r={left:t.scrollLeft,top:t.scrollTop},l=0;return(function o(){let s={left:t.scrollLeft,top:t.scrollTop},n=r.left!==s.left,i=r.top!==s.top;(n||i)&&e(),r=s,l=window.requestAnimationFrame(o)})(),()=>window.cancelAnimationFrame(l)};function he(t,e){let r=$(t),l=h.useRef(0);return h.useEffect(()=>()=>window.clearTimeout(l.current),[]),h.useCallback(()=>{window.clearTimeout(l.current),l.current=window.setTimeout(r,e)},[r,e])}function te(t,e){let r=$(e);ar(()=>{let l=0;if(t){let o=new ResizeObserver(()=>{cancelAnimationFrame(l),l=window.requestAnimationFrame(r)});return o.observe(t),()=>{window.cancelAnimationFrame(l),o.unobserve(t)}}},[t,r])}var pt=rt,pa=ot,fa=ct,xa=qe("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"}]]),va=qe("sliders-horizontal",[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]]),ft=ne();const ga=({chatState:t,chatId:e,messages:r})=>{if(!e)return oe.warn("No active chat"),t;let l=t.chats.get(e);if(!l)return oe.warn("No active chat"),t;let o=new Map(t.chats),s=Date.now();return o.set(l.id,{...l,messages:r,updatedAt:s}),{...t,chats:o}};var xt=h.forwardRef((t,e)=>{let r=(0,ft.c)(15),l,o,s;r[0]===t?(l=r[1],o=r[2],s=r[3]):({className:o,children:l,...s}=t,r[0]=t,r[1]=l,r[2]=o,r[3]=s);let n;r[4]===o?n=r[5]:(n=K("relative overflow-hidden",o),r[4]=o,r[5]=n);let i;r[6]===l?i=r[7]:(i=(0,a.jsx)(pa,{className:"h-full w-full rounded-[inherit]",children:l}),r[6]=l,r[7]=i);let u,c;r[8]===Symbol.for("react.memo_cache_sentinel")?(u=(0,a.jsx)(vt,{}),c=(0,a.jsx)(fa,{}),r[8]=u,r[9]=c):(u=r[8],c=r[9]);let d;return r[10]!==s||r[11]!==e||r[12]!==n||r[13]!==i?(d=(0,a.jsxs)(pt,{ref:e,className:n,...s,children:[i,u,c]}),r[10]=s,r[11]=e,r[12]=n,r[13]=i,r[14]=d):d=r[14],d});xt.displayName=pt.displayName;var vt=h.forwardRef((t,e)=>{let r=(0,ft.c)(14),l,o,s;r[0]===t?(l=r[1],o=r[2],s=r[3]):({className:l,orientation:s,...o}=t,r[0]=t,r[1]=l,r[2]=o,r[3]=s);let n=s===void 0?"vertical":s,i=n==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-px",u=n==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-px",c;r[4]!==l||r[5]!==i||r[6]!==u?(c=K("flex touch-none select-none transition-colors",i,u,l),r[4]=l,r[5]=i,r[6]=u,r[7]=c):c=r[7];let d;r[8]===Symbol.for("react.memo_cache_sentinel")?(d=(0,a.jsx)(it,{className:"relative flex-1 rounded-full bg-border"}),r[8]=d):d=r[8];let m;return r[9]!==n||r[10]!==o||r[11]!==e||r[12]!==c?(m=(0,a.jsx)(Se,{ref:e,orientation:n,className:c,...o,children:d}),r[9]=n,r[10]=o,r[11]=e,r[12]=c,r[13]=m):m=r[13],m});vt.displayName=Se.displayName;var ba=[{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 wa=t=>{let e=Date.now(),r=ba.map(s=>({...s,chats:[]})),l={label:"Older",days:1/0,chats:[]},o=s=>{switch(s){case 0:return r[0];case 1:return r[1];case 2:return r[2];case 3:return r[3];default:return s>=4&&s<=7?r[4]:s>=8&&s<=30?r[5]:l}};for(let s of t)o(Math.floor((e-s.updatedAt)/864e5)).chats.push(s);return[...r,l].filter(s=>s.chats.length>0)},ya=({activeChatId:t,setActiveChat:e})=>{let r=be(Je),{locale:l}=Gr(),[o,s]=(0,h.useState)(""),n=(0,h.useMemo)(()=>[...r.chats.values()].toSorted((c,d)=>d.updatedAt-c.updatedAt),[r.chats]),i=(0,h.useMemo)(()=>o.trim()?n.filter(c=>c.title.toLowerCase().includes(o.toLowerCase())):n,[n,o]),u=(0,h.useMemo)(()=>wa(i),[i]);return(0,a.jsxs)(Ye,{children:[(0,a.jsx)(we,{content:"Previous chats",children:(0,a.jsx)(Oe,{asChild:!0,children:(0,a.jsx)(B,{variant:"text",size:"icon",children:(0,a.jsx)(Vt,{className:"h-4 w-4"})})})}),(0,a.jsxs)(Ue,{className:"w-[480px] p-0",align:"start",side:"right",children:[(0,a.jsx)("div",{className:"pt-3 px-3 w-full",children:(0,a.jsx)(Xr,{placeholder:"Search chat history...",value:o,onChange:c=>s(c.target.value),className:"text-xs"})}),(0,a.jsx)(xt,{className:"h-[450px] p-2",children:(0,a.jsxs)("div",{className:"space-y-3",children:[n.length===0&&(0,a.jsx)(ye,{title:"No chats yet",description:"Start a new chat to get started",icon:(0,a.jsx)(Ve,{})}),i.length===0&&o&&n.length>0&&(0,a.jsx)(ye,{title:"No chats found",description:`No chats match "${o}"`,icon:(0,a.jsx)(Yr,{})}),u.map((c,d)=>(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("div",{className:"text-xs px-1 text-muted-foreground/60",children:c.label}),(0,a.jsx)("div",{children:c.chats.map(m=>(0,a.jsxs)("button",{className:K("w-full p-1 rounded-md cursor-pointer text-left flex items-center justify-between",m.id===t&&"bg-accent",m.id!==t&&"hover:bg-muted/20"),onClick:()=>{e(m.id)},type:"button",children:[(0,a.jsx)("div",{className:"flex-1 min-w-0",children:(0,a.jsx)("div",{className:"text-sm truncate",children:m.title})}),(0,a.jsx)("div",{className:"text-xs text-muted-foreground/60 ml-2 shrink-0",children:Kr(m.updatedAt,l)})]},m.id))}),d!==u.length-1&&(0,a.jsx)("hr",{})]},c.label))]})})]})]})};var ja=ne();const Sa=()=>{let t=(0,ja.c)(17),[e,r]=ge(et),l=e.webSearch,o=l?"Capabilities (web search enabled)":"Capabilities",s=l||void 0,n=l&&"bg-primary/15 text-primary ring-1 ring-primary/30 opacity-100 hover:bg-primary/20",i;t[0]===n?i=t[1]:(i=K("h-6 w-6 shrink-0 bg-muted hover:bg-muted/30",n),t[0]=n,t[1]=i);let u;t[2]===Symbol.for("react.memo_cache_sentinel")?(u=(0,a.jsx)(va,{className:"h-3.5 w-3.5"}),t[2]=u):u=t[2];let c;t[3]!==o||t[4]!==s||t[5]!==i?(c=(0,a.jsx)(Oe,{asChild:!0,children:(0,a.jsx)(B,{"aria-label":"Capabilities",title:o,"data-active":s,variant:"text",size:"icon",className:i,children:u})}),t[3]=o,t[4]=s,t[5]=i,t[6]=c):c=t[6];let d;t[7]===Symbol.for("react.memo_cache_sentinel")?(d=(0,a.jsx)("span",{className:"text-sm font-semibold",children:"Web search"}),t[7]=d):d=t[7];let m;t[8]===Symbol.for("react.memo_cache_sentinel")?(m=(0,a.jsxs)("div",{className:"flex flex-col gap-0.5",children:[d,(0,a.jsxs)("span",{className:"text-xs text-muted-foreground",children:["Search the web when the model supports it."," ",(0,a.jsx)(Zr,{href:"https://docs.marimo.io/guides/editor_features/tools#web-search-and-fetch",children:"Learn more"})]})]}),t[8]=m):m=t[8];let f;t[9]===r?f=t[10]:(f=b=>r(A=>({...A,webSearch:b})),t[9]=r,t[10]=f);let x;t[11]!==f||t[12]!==l?(x=(0,a.jsx)(Ue,{className:"w-76 p-3",align:"start",side:"top",children:(0,a.jsxs)("label",{htmlFor:"web-search-toggle",className:"flex items-start justify-between gap-3 cursor-pointer",children:[m,(0,a.jsx)(er,{id:"web-search-toggle","aria-label":"Web search",size:"sm",checked:l,onCheckedChange:f})]})}),t[11]=f,t[12]=l,t[13]=x):x=t[13];let g;return t[14]!==c||t[15]!==x?(g=(0,a.jsxs)(Ye,{children:[c,x]}),t[14]=c,t[15]=x,t[16]=g):g=t[16],g};var Ca=ne();function gt(){return Br()}function Na(t){let e=(0,Ca.c)(4),[r,l]=(0,h.useState)(gt),o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=()=>l(gt()),e[0]=o):o=e[0];let s=L(o),n=t??r,i;return e[1]!==s||e[2]!==n?(i={chatControllerId:n,renewDraftChatId:s},e[1]=s,e[2]=n,e[3]=i):i=e[3],i}var Q=ne(),bt="manual",wt=(0,h.memo)(t=>{let e=(0,Q.c)(18),{message:r}=t,l;e[0]===r.parts?l=e[1]:(l=r.parts.filter(ka).map(Ia).join(`
2
2
  `),e[0]=r.parts,e[1]=l);let o=l,s,n,i;if(e[2]!==r.parts){let x=r.parts.filter(La);i="flex justify-end",s="w-[95%] bg-background border border-dashed p-2 rounded-sm opacity-70",n=x.map(Ma),e[2]=r.parts,e[3]=s,e[4]=n,e[5]=i}else s=e[3],n=e[4],i=e[5];let u;e[6]===o?u=e[7]:(u=(0,a.jsx)("span",{className:"wrap-break-word",children:o}),e[6]=o,e[7]=u);let c;e[8]===Symbol.for("react.memo_cache_sentinel")?(c=(0,a.jsx)(Ze,{className:"h-3.5 w-3.5 shrink-0 animate-spin"}),e[8]=c):c=e[8];let d;e[9]===u?d=e[10]:(d=(0,a.jsxs)("div",{className:"flex items-center justify-end gap-2 text-sm text-muted-foreground",children:[u,c]}),e[9]=u,e[10]=d);let m;e[11]!==s||e[12]!==n||e[13]!==d?(m=(0,a.jsxs)("div",{className:s,children:[n,d]}),e[11]=s,e[12]=n,e[13]=d,e[14]=m):m=e[14];let f;return e[15]!==i||e[16]!==m?(f=(0,a.jsx)("div",{className:i,children:m}),e[15]=i,e[16]=m,e[17]=f):f=e[17],f});wt.displayName="QueuedMessageDisplay";var Aa=t=>{let e=(0,Q.c)(18),{onNewChat:r,activeChatId:l,setActiveChat:o}=t,{handleClick:s}=He(),n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=(0,a.jsx)(Ur,{className:"h-4 w-4"}),e[0]=n):n=e[0];let i;e[1]===r?i=e[2]:(i=(0,a.jsx)(we,{content:"New chat",children:(0,a.jsx)(B,{variant:"text",size:"icon",onClick:r,children:n})}),e[1]=r,e[2]=i);let u;e[3]===Symbol.for("react.memo_cache_sentinel")?(u=(0,a.jsx)($t,{}),e[3]=u):u=e[3];let c;e[4]===s?c=e[5]:(c=()=>s("ai"),e[4]=s,e[5]=c);let d;e[6]===Symbol.for("react.memo_cache_sentinel")?(d=(0,a.jsx)(qr,{className:"h-4 w-4"}),e[6]=d):d=e[6];let m;e[7]===c?m=e[8]:(m=(0,a.jsx)(we,{content:"AI Settings",children:(0,a.jsx)(B,{variant:"text",size:"xs",className:"hover:bg-foreground/10 py-2",onClick:c,children:d})}),e[7]=c,e[8]=m);let f;e[9]!==l||e[10]!==o?(f=(0,a.jsx)(ya,{activeChatId:l,setActiveChat:o}),e[9]=l,e[10]=o,e[11]=f):f=e[11];let x;e[12]!==m||e[13]!==f?(x=(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[u,m,f]}),e[12]=m,e[13]=f,e[14]=x):x=e[14];let g;return e[15]!==i||e[16]!==x?(g=(0,a.jsxs)("div",{className:"flex border-b px-2 py-1 justify-between shrink-0 items-center",children:[i,x]}),e[15]=i,e[16]=x,e[17]=g):g=e[17],g},yt=(0,h.memo)(t=>{let e=(0,Q.c)(17),{message:r,index:l,onEdit:o,isStreamingReasoning:s,isLast:n,isActive:i,addToolApprovalResponse:u}=t,c;e[0]!==l||e[1]!==o?(c=w=>{var C,j,N;let S=(j=(C=w.parts)==null?void 0:C.filter(Pa))==null?void 0:j.map(Da).join(`
3
3
  `),T=(N=w.parts)==null?void 0:N.filter(za);return(0,a.jsxs)("div",{className:"w-[95%] bg-background border p-1 rounded-sm",children:[T==null?void 0:T.map(Fa),(0,a.jsx)(Ge,{value:S,placeholder:"Type your message...",onChange:Ha,onSubmit:(M,I)=>{I.trim()&&o(l,I)},onClose:Wa},w.id)]})},e[0]=l,e[1]=o,e[2]=c):c=e[2];let d=c,m;e[3]!==u||e[4]!==i||e[5]!==n||e[6]!==s?(m=w=>(0,a.jsxs)("div",{className:"w-[95%] wrap-break-word",children:[(0,a.jsx)("div",{className:"absolute right-1 top-1 opacity-0 group-hover:opacity-100 transition-opacity",children:(0,a.jsx)($r,{className:"h-3 w-3",value:w.parts.filter(Oa).map(Ua).join(`
4
- `)||""})}),br({message:w,isStreamingReasoning:s,isLast:n,isActive:i,addToolApprovalResponse:u})]}),e[3]=u,e[4]=i,e[5]=n,e[6]=s,e[7]=m):m=e[7];let f=m,x=r.role==="user"?"justify-end":"justify-start",g;e[8]===x?g=e[9]:(g=K("flex group relative",x),e[8]=x,e[9]=g);let b;e[10]!==r||e[11]!==f||e[12]!==d?(b=r.role==="user"?d(r):f(r),e[10]=r,e[11]=f,e[12]=d,e[13]=b):b=e[13];let A;return e[14]!==g||e[15]!==b?(A=(0,a.jsx)("div",{className:g,children:b}),e[14]=g,e[15]=b,e[16]=A):A=e[16],A});yt.displayName="ChatMessage";var jt=(0,h.memo)(t=>{var le;let e=(0,Q.c)(43),{isEmpty:r,onSendClick:l,isLoading:o,onStop:s,fileInputRef:n,onAddFiles:i,onAddContext:u}=t,c=be(We),d=(c==null?void 0:c.mode)||bt,m=((le=c==null?void 0:c.models)==null?void 0:le.chat_model)||"openai/gpt-4o",f=Kt.parse(m).providerId,{saveModeChange:x}=sr(),g;e[0]===Symbol.for("react.memo_cache_sentinel")?(g=[{value:"manual",label:"Manual",subtitle:"Pure chat, no tool usage",Icon:Or},{value:"ask",label:"Ask",subtitle:"AI with access to read-only tools like documentation search",Icon:xa},{value:"agent",label:"Agent",subtitle:"AI with access to read and write tools",Icon:Wr},{value:"code_mode",label:"Code Mode (beta)",subtitle:"AI with access to the notebook's kernel. Potentially destructive.",Icon:Hr}],e[0]=g):g=e[0];let b=g,A=kr.has(f),w;e[1]!==d||e[2]!==b?(w=b.find(re=>re.value===d),e[1]=d,e[2]=b,e[3]=w):w=e[3];let S=w,T=S==null?void 0:S.Icon,C=S==null?void 0:S.label,j;e[4]===T?j=e[5]:(j=T&&(0,a.jsx)(T,{className:"h-3 w-3"}),e[4]=T,e[5]=j);let N;e[6]===C?N=e[7]:(N=(0,a.jsx)("span",{className:"text-nowrap",children:C}),e[6]=C,e[7]=N);let M;e[8]!==j||e[9]!==N?(M=(0,a.jsxs)(ur,{className:"h-6 text-xs border-border shadow-none! ring-0! bg-muted hover:bg-muted/30 py-0 px-2 gap-1.5 shrink-0",children:[j,N]}),e[8]=j,e[9]=N,e[10]=M):M=e[10];let I;e[11]===Symbol.for("react.memo_cache_sentinel")?(I=(0,a.jsx)(lr,{className:"text-xs uppercase tracking-wider text-muted-foreground/70 font-medium",children:"AI Mode"}),e[11]=I):I=e[11];let y;e[12]===b?y=e[13]:(y=(0,a.jsx)(ir,{children:(0,a.jsxs)(dr,{children:[I,b.map(Ya)]})}),e[12]=b,e[13]=y);let _;e[14]!==d||e[15]!==x||e[16]!==M||e[17]!==y?(_=(0,a.jsxs)(mr,{value:d,onValueChange:x,children:[M,y]}),e[14]=d,e[15]=x,e[16]=M,e[17]=y,e[18]=_):_=e[18];let P,U;e[19]===Symbol.for("react.memo_cache_sentinel")?(U=(0,a.jsx)(Gt,{placeholder:"Model",triggerClassName:"h-6 text-xs shadow-none! ring-0! bg-muted hover:bg-muted/30 rounded-sm max-w-[200px]",iconSize:"small",showAddCustomModelDocs:!0,forRole:"chat"}),P=(0,a.jsx)(Sa,{}),e[19]=P,e[20]=U):(P=e[19],U=e[20]);let Y;e[21]===_?Y=e[22]:(Y=(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-1",children:[_,U,P]}),e[21]=_,e[22]=Y);let X;e[23]!==o||e[24]!==u?(X=(0,a.jsx)(Ir,{handleAddContext:u,isLoading:o}),e[23]=o,e[24]=u,e[25]=X):X=e[25];let q;e[26]!==n||e[27]!==A||e[28]!==o||e[29]!==i?(q=A&&(0,a.jsx)(Pr,{fileInputRef:n,isLoading:o,onAddFiles:i}),e[26]=n,e[27]=A,e[28]=o,e[29]=i,e[30]=q):q=e[30];let V;e[31]!==r||e[32]!==o||e[33]!==l||e[34]!==s?(V=(0,a.jsx)(Lr,{isLoading:o,onStop:s,onSendClick:l,isEmpty:r}),e[31]=r,e[32]=o,e[33]=l,e[34]=s,e[35]=V):V=e[35];let F;e[36]!==X||e[37]!==q||e[38]!==V?(F=(0,a.jsxs)("div",{className:"flex flex-row ml-auto",children:[X,q,V]}),e[36]=X,e[37]=q,e[38]=V,e[39]=F):F=e[39];let Z;return e[40]!==Y||e[41]!==F?(Z=(0,a.jsx)(Xe,{children:(0,a.jsxs)("div",{className:"px-3 py-2 border-t border-border/20 flex flex-wrap items-center gap-1",children:[Y,F]})}),e[40]=Y,e[41]=F,e[42]=Z):Z=e[42],Z});jt.displayName="ChatInputFooter";var Ae=(0,h.memo)(t=>{let e=(0,Q.c)(29),{placeholder:r,input:l,inputClassName:o,setInput:s,onSubmit:n,inputRef:i,isLoading:u,onStop:c,fileInputRef:d,onAddFiles:m,onClose:f}=t,x;e[0]!==l||e[1]!==n?(x=()=>{l.trim()&&n(void 0,l)},e[0]=l,e[1]=n,e[2]=x):x=e[2];let g=L(x),b;e[3]===o?b=e[4]:(b=K("px-2 py-1.5",o),e[3]=o,e[4]=b);let A=r||"Type your message...",w;e[5]!==l||e[6]!==i||e[7]!==m||e[8]!==f||e[9]!==n||e[10]!==s||e[11]!==A?(w=(0,a.jsx)(Ge,{className:"max-h-[400px]",inputRef:i,value:l,onChange:s,onSubmit:n,onClose:f,onAddFiles:m,placeholder:A}),e[5]=l,e[6]=i,e[7]=m,e[8]=f,e[9]=n,e[10]=s,e[11]=A,e[12]=w):w=e[12];let S;e[13]!==b||e[14]!==w?(S=(0,a.jsx)("div",{className:b,children:w}),e[13]=b,e[14]=w,e[15]=S):S=e[15];let T=!l.trim(),C;e[16]===i?C=e[17]:(C=()=>wr(i),e[16]=i,e[17]=C);let j;e[18]!==d||e[19]!==g||e[20]!==u||e[21]!==m||e[22]!==c||e[23]!==T||e[24]!==C?(j=(0,a.jsx)(jt,{isEmpty:T,onAddContext:C,onSendClick:g,isLoading:u,onStop:c,fileInputRef:d,onAddFiles:m}),e[18]=d,e[19]=g,e[20]=u,e[21]=m,e[22]=c,e[23]=T,e[24]=C,e[25]=j):j=e[25];let N;return e[26]!==S||e[27]!==j?(N=(0,a.jsxs)("div",{className:"relative shrink-0 flex flex-col border-t",children:[S,j]}),e[26]=S,e[27]=j,e[28]=N):N=e[28],N});Ae.displayName="ChatInput";var Ra=t=>{let e=(0,Q.c)(5),{onPairWithAgent:r}=t;if(Zt())return null;let l,o,s;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=(0,a.jsx)(Vr,{className:"h-3.5 w-3.5 shrink-0"}),o=(0,a.jsx)("span",{children:"Work on this notebook with your own agent"}),s=(0,a.jsx)(fr,{className:"h-3 w-3 shrink-0"}),e[0]=l,e[1]=o,e[2]=s):(l=e[0],o=e[1],s=e[2]);let n;return e[3]===r?n=e[4]:(n=(0,a.jsxs)(B,{variant:"text",className:"gap-1.5 text-sm text-link hover:underline",onClick:r,children:[l,o,s]}),e[3]=r,e[4]=n),n},Ta=()=>{let t=(0,Q.c)(6),e=be(Qt),{handleClick:r}=He();if(!e){let o;t[0]===r?o=t[1]:(o=(0,a.jsx)(B,{variant:"outline",size:"sm",onClick:()=>r("ai","ai-providers"),children:"Edit AI settings"}),t[0]=r,t[1]=o);let s;t[2]===Symbol.for("react.memo_cache_sentinel")?(s=(0,a.jsx)(Ve,{}),t[2]=s):s=t[2];let n;return t[3]===o?n=t[4]:(n=(0,a.jsx)(ye,{title:"Chat with AI",description:"No AI provider configured or Chat model not selected",action:o,icon:s}),t[3]=o,t[4]=n),n}let l;return t[5]===Symbol.for("react.memo_cache_sentinel")?(l=(0,a.jsx)(_a,{}),t[5]=l):l=t[5],l},_a=()=>{let t=Ut(Je),[e,r]=ge(ea),[l,o]=ge(Jr),[s,n]=(0,h.useState)(""),[i,u]=(0,h.useState)(""),[c,d]=(0,h.useState)(!0),{files:m,addFiles:f,clearFiles:x,removeFile:g}=yr(),{messages:b,enqueue:A,flushNext:w,clear:S,hasQueuedRef:T}=zr(),C=(0,h.useRef)(null),j=(0,h.useRef)(null),N=(0,h.useRef)(null),M=(0,h.useRef)(null),I=(0,h.useRef)(null),[y,_]=(0,h.useState)(null),P=L(()=>{I.current=null,_(null)}),U=Jt(),{invokeAiTool:Y,sendRun:X}=hr(),{openModal:q,closeModal:V}=Qr(),F=e==null?void 0:e.id,{chatControllerId:Z,renewDraftChatId:le}=Na(F),re=Yt(),{addStagedCell:St}=jr(),{createNewCell:Ct,prepareForRun:Nt}=Vt(),At={addStagedCell:St,createNewCell:Ct,prepareForRun:Nt,sendRun:X,store:re},{messages:H,sendMessage:pe,error:ae,status:Re,regenerate:Rt,stop:fe,addToolOutput:Tt,addToolApprovalResponse:_t,id:Et}=Sr({id:Z,throttle:100,sendAutomaticallyWhen:({messages:p})=>Qe(p),messages:(e==null?void 0:e.messages)||[],transport:new Mr({api:U.getAiURL("chat").toString(),headers:()=>U.headers(),prepareSendMessagesRequest:async p=>{var O;let v=await Rr({messages:p.messages});v.success||oe.debug("Outgoing chat messages failed AI SDK schema validation",v.error);let R={uiMessages:p.messages,includeOtherCode:Bt(""),options:re.get(et)},k=((O=re.get(We))==null?void 0:O.mode)||bt,E=Ar.getToolSchemas(k);return{api:U.getAiURL("chat").toString(),body:{tools:E,...p,...R}}}},p=>{let v=gr(p);v!==void 0&&(I.current=v)}),onFinish:({messages:p,isError:v,isAbort:R,finishReason:k})=>{if(t(E=>ga({chatState:E,chatId:E.activeChatId,messages:p})),R){let E=xr({isAbort:!0,streamReason:I.current});if(P(),E!=null){let O=vr(E);oe.debug("Chat stream aborted",{reason:E,finishReason:k}),_(O)}}else P();xe(p,{isError:v,isAbort:R})},onToolCall:async({toolCall:p})=>{await Dr({invokeAiTool:Y,addToolOutput:Tt,toolCall:{toolName:p.toolName,toolCallId:p.toolCallId,input:p.input},toolContext:At})},onError:p=>{oe.error("An error occurred:",p)}}),Te=L(p=>{P(),pe({role:"user",parts:p})}),xe=L((p,v)=>{T.current&&Nr({isError:v.isError,isAbort:v.isAbort,hasPendingToolCalls:Qe(p),hasUnresolvedToolCalls:_r(p)})&&w(Te)}),D=Re==="submitted"||Re==="streaming",_e=(0,h.useRef)(D);_e.current=D;let Ee=L(p=>{_e.current||T.current?A(p):Te(p)}),kt=L(()=>{let p=N.current;if(!p)return;let{scrollTop:v,scrollHeight:R,clientHeight:k}=p;d(R>k?Math.abs(R-k-v)<5:!0)}),ve=L((p=!1)=>{let v=N.current;v&&v.scrollTo({top:v.scrollHeight,behavior:p?"smooth":"auto"})}),It=D&&H.length>0&&Fr(H);(0,h.useEffect)(()=>{d(!0),S(),P()},[F,S,P]),(0,h.useEffect)(()=>{if(!c)return;let p=requestAnimationFrame(()=>{ve()});return()=>cancelAnimationFrame(p)},[H,b,D,c,ve]),(0,h.useEffect)(()=>{D||xe(H,{isError:ae!=null,isAbort:!1})},[H,D,ae,xe]);let ke=L(p=>{let v=Date.now(),R={id:Et,title:Tr(p),messages:[],createdAt:v,updatedAt:v};t(k=>{let E=new Map(k.chats);return E.set(R.id,R),{...k,chats:E,activeChatId:R.id}})}),Lt=L(async(p,v)=>{ke(p);let R=v&&v.length>0?await $e(v):void 0,{contextPart:k,attachments:E}=await ce(p);pe({role:"user",parts:[{type:"text",text:p},...k?[k]:[],...R??[],...E]}),x(),n("")}),Mt=L(()=>{le(),r(null),n(""),u(""),S(),x()}),Pt=L(()=>{q((0,a.jsx)(ra,{onClose:V}))}),Dt=L(async(p,v)=>{var Pe;let R=H[p],k=((Pe=R.parts)==null?void 0:Pe.filter(De=>De.type==="file"&&!Cr(De)))??[],{contextPart:E,attachments:O}=await ce(v),Ot=R.id;pe({messageId:Ot,role:"user",parts:[{type:"text",text:v},...E?[E]:[],...k,...O]})}),zt=L(async(p,v)=>{var O;if(!v.trim())return;(O=j.current)!=null&&O.view&&Be(j.current.view);let R=m?await $e(m):void 0,{contextPart:k,attachments:E}=await ce(v);p==null||p.preventDefault(),Ee([{type:"text",text:v},...k?[k]:[],...R??[],...E]),n(""),x()}),Ft=()=>{P(),Rt()},Ht=L(()=>{var p;i.trim()&&((p=C.current)!=null&&p.view&&Be(C.current.view),Lt(i.trim(),m))}),Wt=()=>{var p,v;return(v=(p=C.current)==null?void 0:p.editor)==null?void 0:v.blur()},Ie=L(async p=>{F??(ke(p),n(i));let{contextPart:v,attachments:R}=await ce(p);Ee([{type:"text",text:p},...v?[v]:[],...R])}),J=H.length===0;(0,h.useEffect)(()=>{if(!l)return;o(null);let{prompt:p,submit:v}=l;v?Ie(p):J?(u(p),Fe(C)):(n(p),Fe(j))},[l,o,J,Ie]);let Le=J?(0,a.jsx)(Ae,{placeholder:"Ask anything, @ to include context about tables or dataframes",input:i,inputRef:C,inputClassName:"px-1 py-0",setInput:u,onSubmit:Ht,isLoading:D,onStop:fe,fileInputRef:M,onAddFiles:f,onClose:Wt},"new-thread-input"):(0,a.jsx)(Ae,{input:s,setInput:n,onSubmit:zt,inputRef:j,isLoading:D,onStop:fe,onClose:()=>{var p,v;return(v=(p=j.current)==null?void 0:p.editor)==null?void 0:v.blur()},fileInputRef:M,onAddFiles:f}),Me=m&&m.length>0&&(0,a.jsx)("div",{className:K("flex flex-row gap-1 flex-wrap p-1",J&&"py-2 px-1"),children:m==null?void 0:m.map(p=>(0,a.jsx)(Er,{file:p,onRemove:()=>g(p)},p.name))});return(0,a.jsxs)("div",{className:"flex flex-col h-[calc(100%-53px)]",children:[(0,a.jsx)(Xe,{children:(0,a.jsx)(Aa,{onNewChat:Mt,activeChatId:e==null?void 0:e.id,setActiveChat:r})}),(0,a.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden relative min-h-0",children:[(0,a.jsxs)("div",{className:"flex-1 px-3 bg-(--slate-1) gap-4 py-3 flex flex-col overflow-y-auto",ref:N,onScroll:kt,children:[J&&(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsxs)("div",{className:"rounded-md border bg-background",children:[Me,Le]}),(0,a.jsx)(Ra,{onPairWithAgent:Pt})]}),H.map((p,v)=>(0,a.jsx)(yt,{message:p,index:v,onEdit:Dt,isStreamingReasoning:It,isLast:v===H.length-1,isActive:D,addToolApprovalResponse:_t},p.id)),b.map(p=>(0,a.jsx)(wt,{message:p},p.id)),D&&(0,a.jsx)("div",{className:"flex justify-center py-4",children:(0,a.jsx)(Ze,{className:"h-4 w-4 animate-spin"})}),ae&&(0,a.jsxs)("div",{className:"flex items-center justify-center space-x-2 mb-4",children:[(0,a.jsx)(ta,{error:ae||Error("Unknown error")}),(0,a.jsx)(B,{variant:"outline",size:"sm",onClick:Ft,children:"Retry"})]}),y&&!D&&!ae&&(0,a.jsx)("div",{className:"flex justify-center py-2",children:(0,a.jsx)("span",{className:"text-xs text-muted-foreground",children:y})})]}),(0,a.jsx)(pr,{isVisible:!c&&(H.length>0||b.length>0),onScrollToBottom:()=>ve(!0)})]}),D&&(0,a.jsx)("div",{className:"w-full flex justify-center items-center z-20 border-t",children:(0,a.jsx)(B,{variant:"linkDestructive",size:"sm",onClick:fe,children:"Stop"})}),!J&&(0,a.jsxs)(a.Fragment,{children:[Me,Le]})]})},Ea=Ta;function ka(t){return t.type==="text"}function Ia(t){return t.text}function La(t){return t.type==="file"}function Ma(t,e){return(0,a.jsx)(Ke,{attachment:t},e)}function Pa(t){return t.type==="text"}function Da(t){return t.text}function za(t){return t.type==="file"}function Fa(t,e){return(0,a.jsx)(Ke,{attachment:t},e)}function Ha(){}function Wa(){}function Oa(t){return t.type==="text"}function Ua(t){return t.text}function Ya(t){return(0,a.jsx)(nr,{value:t.value,className:"text-xs py-1",children:(0,a.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,a.jsx)("span",{className:"mt-1 text-muted-foreground",children:(0,a.jsx)(t.Icon,{className:"h-3 w-3"})}),(0,a.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,a.jsx)("span",{className:"font-semibold",children:t.label}),(0,a.jsx)("span",{className:"text-muted-foreground",children:t.subtitle})]})]})},t.value)}export{Ea as default};
4
+ `)||""})}),br({message:w,isStreamingReasoning:s,isLast:n,isActive:i,addToolApprovalResponse:u})]}),e[3]=u,e[4]=i,e[5]=n,e[6]=s,e[7]=m):m=e[7];let f=m,x=r.role==="user"?"justify-end":"justify-start",g;e[8]===x?g=e[9]:(g=K("flex group relative",x),e[8]=x,e[9]=g);let b;e[10]!==r||e[11]!==f||e[12]!==d?(b=r.role==="user"?d(r):f(r),e[10]=r,e[11]=f,e[12]=d,e[13]=b):b=e[13];let A;return e[14]!==g||e[15]!==b?(A=(0,a.jsx)("div",{className:g,children:b}),e[14]=g,e[15]=b,e[16]=A):A=e[16],A});yt.displayName="ChatMessage";var jt=(0,h.memo)(t=>{var le;let e=(0,Q.c)(43),{isEmpty:r,onSendClick:l,isLoading:o,onStop:s,fileInputRef:n,onAddFiles:i,onAddContext:u}=t,c=be(We),d=(c==null?void 0:c.mode)||bt,m=((le=c==null?void 0:c.models)==null?void 0:le.chat_model)||"openai/gpt-4o",f=Kt.parse(m).providerId,{saveModeChange:x}=sr(),g;e[0]===Symbol.for("react.memo_cache_sentinel")?(g=[{value:"manual",label:"Manual",subtitle:"Pure chat, no tool usage",Icon:Or},{value:"ask",label:"Ask",subtitle:"AI with access to read-only tools like documentation search",Icon:xa},{value:"agent",label:"Agent",subtitle:"AI with access to read and write tools",Icon:Wr},{value:"code_mode",label:"Code Mode (beta)",subtitle:"AI with access to the notebook's kernel. Potentially destructive.",Icon:Hr}],e[0]=g):g=e[0];let b=g,A=kr.has(f),w;e[1]!==d||e[2]!==b?(w=b.find(re=>re.value===d),e[1]=d,e[2]=b,e[3]=w):w=e[3];let S=w,T=S==null?void 0:S.Icon,C=S==null?void 0:S.label,j;e[4]===T?j=e[5]:(j=T&&(0,a.jsx)(T,{className:"h-3 w-3"}),e[4]=T,e[5]=j);let N;e[6]===C?N=e[7]:(N=(0,a.jsx)("span",{className:"text-nowrap",children:C}),e[6]=C,e[7]=N);let M;e[8]!==j||e[9]!==N?(M=(0,a.jsxs)(ur,{className:"h-6 text-xs border-border shadow-none! ring-0! bg-muted hover:bg-muted/30 py-0 px-2 gap-1.5 shrink-0",children:[j,N]}),e[8]=j,e[9]=N,e[10]=M):M=e[10];let I;e[11]===Symbol.for("react.memo_cache_sentinel")?(I=(0,a.jsx)(lr,{className:"text-xs uppercase tracking-wider text-muted-foreground/70 font-medium",children:"AI Mode"}),e[11]=I):I=e[11];let y;e[12]===b?y=e[13]:(y=(0,a.jsx)(ir,{children:(0,a.jsxs)(dr,{children:[I,b.map(Ya)]})}),e[12]=b,e[13]=y);let _;e[14]!==d||e[15]!==x||e[16]!==M||e[17]!==y?(_=(0,a.jsxs)(mr,{value:d,onValueChange:x,children:[M,y]}),e[14]=d,e[15]=x,e[16]=M,e[17]=y,e[18]=_):_=e[18];let P,U;e[19]===Symbol.for("react.memo_cache_sentinel")?(U=(0,a.jsx)(Gt,{placeholder:"Model",triggerClassName:"h-6 text-xs shadow-none! ring-0! bg-muted hover:bg-muted/30 rounded-sm max-w-[200px]",iconSize:"small",showAddCustomModelDocs:!0,forRole:"chat"}),P=(0,a.jsx)(Sa,{}),e[19]=P,e[20]=U):(P=e[19],U=e[20]);let Y;e[21]===_?Y=e[22]:(Y=(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-1",children:[_,U,P]}),e[21]=_,e[22]=Y);let X;e[23]!==o||e[24]!==u?(X=(0,a.jsx)(Ir,{handleAddContext:u,isLoading:o}),e[23]=o,e[24]=u,e[25]=X):X=e[25];let q;e[26]!==n||e[27]!==A||e[28]!==o||e[29]!==i?(q=A&&(0,a.jsx)(Pr,{fileInputRef:n,isLoading:o,onAddFiles:i}),e[26]=n,e[27]=A,e[28]=o,e[29]=i,e[30]=q):q=e[30];let V;e[31]!==r||e[32]!==o||e[33]!==l||e[34]!==s?(V=(0,a.jsx)(Lr,{isLoading:o,onStop:s,onSendClick:l,isEmpty:r}),e[31]=r,e[32]=o,e[33]=l,e[34]=s,e[35]=V):V=e[35];let F;e[36]!==X||e[37]!==q||e[38]!==V?(F=(0,a.jsxs)("div",{className:"flex flex-row ml-auto",children:[X,q,V]}),e[36]=X,e[37]=q,e[38]=V,e[39]=F):F=e[39];let Z;return e[40]!==Y||e[41]!==F?(Z=(0,a.jsx)(Xe,{children:(0,a.jsxs)("div",{className:"px-3 py-2 border-t border-border/20 flex flex-wrap items-center gap-1",children:[Y,F]})}),e[40]=Y,e[41]=F,e[42]=Z):Z=e[42],Z});jt.displayName="ChatInputFooter";var Ae=(0,h.memo)(t=>{let e=(0,Q.c)(29),{placeholder:r,input:l,inputClassName:o,setInput:s,onSubmit:n,inputRef:i,isLoading:u,onStop:c,fileInputRef:d,onAddFiles:m,onClose:f}=t,x;e[0]!==l||e[1]!==n?(x=()=>{l.trim()&&n(void 0,l)},e[0]=l,e[1]=n,e[2]=x):x=e[2];let g=L(x),b;e[3]===o?b=e[4]:(b=K("px-2 py-1.5",o),e[3]=o,e[4]=b);let A=r||"Type your message...",w;e[5]!==l||e[6]!==i||e[7]!==m||e[8]!==f||e[9]!==n||e[10]!==s||e[11]!==A?(w=(0,a.jsx)(Ge,{className:"max-h-[400px]",inputRef:i,value:l,onChange:s,onSubmit:n,onClose:f,onAddFiles:m,placeholder:A}),e[5]=l,e[6]=i,e[7]=m,e[8]=f,e[9]=n,e[10]=s,e[11]=A,e[12]=w):w=e[12];let S;e[13]!==b||e[14]!==w?(S=(0,a.jsx)("div",{className:b,children:w}),e[13]=b,e[14]=w,e[15]=S):S=e[15];let T=!l.trim(),C;e[16]===i?C=e[17]:(C=()=>wr(i),e[16]=i,e[17]=C);let j;e[18]!==d||e[19]!==g||e[20]!==u||e[21]!==m||e[22]!==c||e[23]!==T||e[24]!==C?(j=(0,a.jsx)(jt,{isEmpty:T,onAddContext:C,onSendClick:g,isLoading:u,onStop:c,fileInputRef:d,onAddFiles:m}),e[18]=d,e[19]=g,e[20]=u,e[21]=m,e[22]=c,e[23]=T,e[24]=C,e[25]=j):j=e[25];let N;return e[26]!==S||e[27]!==j?(N=(0,a.jsxs)("div",{className:"relative shrink-0 flex flex-col border-t",children:[S,j]}),e[26]=S,e[27]=j,e[28]=N):N=e[28],N});Ae.displayName="ChatInput";var Ra=t=>{let e=(0,Q.c)(5),{onPairWithAgent:r}=t;if(Zt())return null;let l,o,s;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=(0,a.jsx)(Vr,{className:"h-3.5 w-3.5 shrink-0"}),o=(0,a.jsx)("span",{children:"Work on this notebook with your own agent"}),s=(0,a.jsx)(fr,{className:"h-3 w-3 shrink-0"}),e[0]=l,e[1]=o,e[2]=s):(l=e[0],o=e[1],s=e[2]);let n;return e[3]===r?n=e[4]:(n=(0,a.jsxs)(B,{variant:"text",className:"gap-1.5 text-sm text-link hover:underline",onClick:r,children:[l,o,s]}),e[3]=r,e[4]=n),n},Ta=()=>{let t=(0,Q.c)(6),e=be(Qt),{handleClick:r}=He();if(!e){let o;t[0]===r?o=t[1]:(o=(0,a.jsx)(B,{variant:"outline",size:"sm",onClick:()=>r("ai","ai-providers"),children:"Edit AI settings"}),t[0]=r,t[1]=o);let s;t[2]===Symbol.for("react.memo_cache_sentinel")?(s=(0,a.jsx)(Ve,{}),t[2]=s):s=t[2];let n;return t[3]===o?n=t[4]:(n=(0,a.jsx)(ye,{title:"Chat with AI",description:"No AI provider configured or Chat model not selected",action:o,icon:s}),t[3]=o,t[4]=n),n}let l;return t[5]===Symbol.for("react.memo_cache_sentinel")?(l=(0,a.jsx)(_a,{}),t[5]=l):l=t[5],l},_a=()=>{let t=Ut(Je),[e,r]=ge(ea),[l,o]=ge(Jr),[s,n]=(0,h.useState)(""),[i,u]=(0,h.useState)(""),[c,d]=(0,h.useState)(!0),{files:m,addFiles:f,clearFiles:x,removeFile:g}=yr(),{messages:b,enqueue:A,flushNext:w,clear:S,hasQueuedRef:T}=zr(),C=(0,h.useRef)(null),j=(0,h.useRef)(null),N=(0,h.useRef)(null),M=(0,h.useRef)(null),I=(0,h.useRef)(null),[y,_]=(0,h.useState)(null),P=L(()=>{I.current=null,_(null)}),U=Jt(),{invokeAiTool:Y,sendRun:X}=hr(),{openModal:q,closeModal:V}=Qr(),F=e==null?void 0:e.id,{chatControllerId:Z,renewDraftChatId:le}=Na(F),re=Yt(),{addStagedCell:St}=jr(),{createNewCell:Ct,prepareForRun:Nt}=qt(),At={addStagedCell:St,createNewCell:Ct,prepareForRun:Nt,sendRun:X,store:re},{messages:H,sendMessage:pe,error:ae,status:Re,regenerate:Rt,stop:fe,addToolOutput:Tt,addToolApprovalResponse:_t,id:Et}=Sr({id:Z,throttle:100,sendAutomaticallyWhen:({messages:p})=>Qe(p),messages:(e==null?void 0:e.messages)||[],transport:new Mr({api:U.getAiURL("chat").toString(),headers:()=>U.headers(),prepareSendMessagesRequest:async p=>{var O;let v=await Rr({messages:p.messages});v.success||oe.debug("Outgoing chat messages failed AI SDK schema validation",v.error);let R={uiMessages:p.messages,includeOtherCode:Bt(""),options:re.get(et)},k=((O=re.get(We))==null?void 0:O.mode)||bt,E=Ar.getToolSchemas(k);return{api:U.getAiURL("chat").toString(),body:{tools:E,...p,...R}}}},p=>{let v=gr(p);v!==void 0&&(I.current=v)}),onFinish:({messages:p,isError:v,isAbort:R,finishReason:k})=>{if(t(E=>ga({chatState:E,chatId:E.activeChatId,messages:p})),R){let E=xr({isAbort:!0,streamReason:I.current});if(P(),E!=null){let O=vr(E);oe.debug("Chat stream aborted",{reason:E,finishReason:k}),_(O)}}else P();xe(p,{isError:v,isAbort:R})},onToolCall:async({toolCall:p})=>{await Dr({invokeAiTool:Y,addToolOutput:Tt,toolCall:{toolName:p.toolName,toolCallId:p.toolCallId,input:p.input},toolContext:At})},onError:p=>{oe.error("An error occurred:",p)}}),Te=L(p=>{P(),pe({role:"user",parts:p})}),xe=L((p,v)=>{T.current&&Nr({isError:v.isError,isAbort:v.isAbort,hasPendingToolCalls:Qe(p),hasUnresolvedToolCalls:_r(p)})&&w(Te)}),D=Re==="submitted"||Re==="streaming",_e=(0,h.useRef)(D);_e.current=D;let Ee=L(p=>{_e.current||T.current?A(p):Te(p)}),kt=L(()=>{let p=N.current;if(!p)return;let{scrollTop:v,scrollHeight:R,clientHeight:k}=p;d(R>k?Math.abs(R-k-v)<5:!0)}),ve=L((p=!1)=>{let v=N.current;v&&v.scrollTo({top:v.scrollHeight,behavior:p?"smooth":"auto"})}),It=D&&H.length>0&&Fr(H);(0,h.useEffect)(()=>{d(!0),S(),P()},[F,S,P]),(0,h.useEffect)(()=>{if(!c)return;let p=requestAnimationFrame(()=>{ve()});return()=>cancelAnimationFrame(p)},[H,b,D,c,ve]),(0,h.useEffect)(()=>{D||xe(H,{isError:ae!=null,isAbort:!1})},[H,D,ae,xe]);let ke=L(p=>{let v=Date.now(),R={id:Et,title:Tr(p),messages:[],createdAt:v,updatedAt:v};t(k=>{let E=new Map(k.chats);return E.set(R.id,R),{...k,chats:E,activeChatId:R.id}})}),Lt=L(async(p,v)=>{ke(p);let R=v&&v.length>0?await $e(v):void 0,{contextPart:k,attachments:E}=await ce(p);pe({role:"user",parts:[{type:"text",text:p},...k?[k]:[],...R??[],...E]}),x(),n("")}),Mt=L(()=>{le(),r(null),n(""),u(""),S(),x()}),Pt=L(()=>{q((0,a.jsx)(ra,{onClose:V}))}),Dt=L(async(p,v)=>{var Pe;let R=H[p],k=((Pe=R.parts)==null?void 0:Pe.filter(De=>De.type==="file"&&!Cr(De)))??[],{contextPart:E,attachments:O}=await ce(v),Ot=R.id;pe({messageId:Ot,role:"user",parts:[{type:"text",text:v},...E?[E]:[],...k,...O]})}),zt=L(async(p,v)=>{var O;if(!v.trim())return;(O=j.current)!=null&&O.view&&Be(j.current.view);let R=m?await $e(m):void 0,{contextPart:k,attachments:E}=await ce(v);p==null||p.preventDefault(),Ee([{type:"text",text:v},...k?[k]:[],...R??[],...E]),n(""),x()}),Ft=()=>{P(),Rt()},Ht=L(()=>{var p;i.trim()&&((p=C.current)!=null&&p.view&&Be(C.current.view),Lt(i.trim(),m))}),Wt=()=>{var p,v;return(v=(p=C.current)==null?void 0:p.editor)==null?void 0:v.blur()},Ie=L(async p=>{F??(ke(p),n(i));let{contextPart:v,attachments:R}=await ce(p);Ee([{type:"text",text:p},...v?[v]:[],...R])}),J=H.length===0;(0,h.useEffect)(()=>{if(!l)return;o(null);let{prompt:p,submit:v}=l;v?Ie(p):J?(u(p),Fe(C)):(n(p),Fe(j))},[l,o,J,Ie]);let Le=J?(0,a.jsx)(Ae,{placeholder:"Ask anything, @ to include context about tables or dataframes",input:i,inputRef:C,inputClassName:"px-1 py-0",setInput:u,onSubmit:Ht,isLoading:D,onStop:fe,fileInputRef:M,onAddFiles:f,onClose:Wt},"new-thread-input"):(0,a.jsx)(Ae,{input:s,setInput:n,onSubmit:zt,inputRef:j,isLoading:D,onStop:fe,onClose:()=>{var p,v;return(v=(p=j.current)==null?void 0:p.editor)==null?void 0:v.blur()},fileInputRef:M,onAddFiles:f}),Me=m&&m.length>0&&(0,a.jsx)("div",{className:K("flex flex-row gap-1 flex-wrap p-1",J&&"py-2 px-1"),children:m==null?void 0:m.map(p=>(0,a.jsx)(Er,{file:p,onRemove:()=>g(p)},p.name))});return(0,a.jsxs)("div",{className:"flex flex-col h-[calc(100%-53px)]",children:[(0,a.jsx)(Xe,{children:(0,a.jsx)(Aa,{onNewChat:Mt,activeChatId:e==null?void 0:e.id,setActiveChat:r})}),(0,a.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden relative min-h-0",children:[(0,a.jsxs)("div",{className:"flex-1 px-3 bg-(--slate-1) gap-4 py-3 flex flex-col overflow-y-auto",ref:N,onScroll:kt,children:[J&&(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsxs)("div",{className:"rounded-md border bg-background",children:[Me,Le]}),(0,a.jsx)(Ra,{onPairWithAgent:Pt})]}),H.map((p,v)=>(0,a.jsx)(yt,{message:p,index:v,onEdit:Dt,isStreamingReasoning:It,isLast:v===H.length-1,isActive:D,addToolApprovalResponse:_t},p.id)),b.map(p=>(0,a.jsx)(wt,{message:p},p.id)),D&&(0,a.jsx)("div",{className:"flex justify-center py-4",children:(0,a.jsx)(Ze,{className:"h-4 w-4 animate-spin"})}),ae&&(0,a.jsxs)("div",{className:"flex items-center justify-center space-x-2 mb-4",children:[(0,a.jsx)(ta,{error:ae||Error("Unknown error")}),(0,a.jsx)(B,{variant:"outline",size:"sm",onClick:Ft,children:"Retry"})]}),y&&!D&&!ae&&(0,a.jsx)("div",{className:"flex justify-center py-2",children:(0,a.jsx)("span",{className:"text-xs text-muted-foreground",children:y})})]}),(0,a.jsx)(pr,{isVisible:!c&&(H.length>0||b.length>0),onScrollToBottom:()=>ve(!0)})]}),D&&(0,a.jsx)("div",{className:"w-full flex justify-center items-center z-20 border-t",children:(0,a.jsx)(B,{variant:"linkDestructive",size:"sm",onClick:fe,children:"Stop"})}),!J&&(0,a.jsxs)(a.Fragment,{children:[Me,Le]})]})},Ea=Ta;function ka(t){return t.type==="text"}function Ia(t){return t.text}function La(t){return t.type==="file"}function Ma(t,e){return(0,a.jsx)(Ke,{attachment:t},e)}function Pa(t){return t.type==="text"}function Da(t){return t.text}function za(t){return t.type==="file"}function Fa(t,e){return(0,a.jsx)(Ke,{attachment:t},e)}function Ha(){}function Wa(){}function Oa(t){return t.type==="text"}function Ua(t){return t.text}function Ya(t){return(0,a.jsx)(nr,{value:t.value,className:"text-xs py-1",children:(0,a.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,a.jsx)("span",{className:"mt-1 text-muted-foreground",children:(0,a.jsx)(t.Icon,{className:"h-3 w-3"})}),(0,a.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,a.jsx)("span",{className:"font-semibold",children:t.label}),(0,a.jsx)("span",{className:"text-muted-foreground",children:t.subtitle})]})]})},t.value)}export{Ea as default};
@@ -1,4 +1,4 @@
1
- import{o as G}from"./chunk-C4rtOYze.js";import"./useEvent-GCVIknuR.js";import{t as me}from"./react-C60yClUi.js";import{yn as de}from"./cells-BvgwUKB9.js";import"./react-dom-Ba2zmJWD.js";import{C as ue,L as pe,P as he,T as fe,k as xe}from"./zod-BIDX-mZr.js";import{t as ge}from"./compiler-runtime-DnimoHo0.js";import{g as V,t as be}from"./useEventListener-DpNnLPuE.js";import{t as je}from"./objects-CrbstYTV.js";import{t as X}from"./cn-DCUzRj2J.js";import{t as ve}from"./jsx-runtime-3wZU7vFS.js";import"./fullscreen-CrevbcR_.js";import{i as ye,l as Ne,r as Z,t as Q}from"./popover-B96fOqfH.js";import{a as we,p as _e,r as Ce,t as ke}from"./dropdown-menu-DWGvf_Bw.js";import{t as U}from"./label-BOFHwHn7.js";import{t as J}from"./tooltip-C9LWGQ7Y.js";import{t as q}from"./button-W__YVea9.js";import"./dist-CeF1Em5L.js";import"./cjs-DCKmcMBz.js";import"./useNonce-C2dwX-sI.js";import{t as Se}from"./strings-DmKKoXrM.js";import{t as Re}from"./createLucideIcon-B8oVfJNp.js";import{t as Ae}from"./bot-message-square-CHGXChWr.js";import{t as qe}from"./x-4y-nyVDU.js";import"./markdown-renderer-D7RLn6TA.js";import{u as ze}from"./toDate-QOk09NqD.js";import{i as Ee,n as Te,r as De,t as Fe}from"./chat-display-CR9X_gwB.js";import{B as Me,G as Ie,I as Le,R as He,W as Oe,g as Ve,n as Pe,y as $e}from"./add-cell-with-ai-C5JH9LS2.js";import{t as Ke}from"./spinner-Cj3eM5bt.js";import{o as We,r as Je}from"./input-BN98e517.js";import{t as Ye}from"./settings-IZvUqDP4.js";import{t as Be}from"./square-DVd8Y612.js";import{t as Ge}from"./trash-2-BLxp8uxj.js";import"./dist-BPoMypmC.js";import"./dist-5bwTcyKs.js";import"./dist-BVNaV53g.js";import"./dist-BrqkjqDe.js";import"./dist-Bm9PT5P9.js";import{t as Xe}from"./uuid-e9lSomwA.js";import"./session-D-SddyN0.js";import"./purify.es-Bwm8T4QC.js";import{t as Ze}from"./copy-icon-Cn8LzPNx.js";import{r as Qe}from"./react-icons.esm-CsgEZOQ_.js";import{t as Ue}from"./events-CPoJAfgx.js";import{n as et}from"./error-banner-d0-XOKtd.js";import"./chunk-5FQGJX7Z-B4N_BMo6.js";import"./html-to-image-DKEUbBwc.js";import{n as tt}from"./useAsyncData-BcvSvTUt.js";import"./esm-RBKN8Dn2.js";var st=Re("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"}]]),Y=ge(),t=G(ve(),1),x=G(me(),1),rt=Ne,at=he({type:xe("stream_chunk"),message_id:pe(),content:ue().nullable().transform(s=>s),is_final:fe().optional()});function ee(s,e){let{controllerRef:o,activeRequestIdRef:h}=e,g=o.current;if(g===null)return"dropped-no-controller";let v=h.current;return v!==null&&s.message_id!==v?(V.debug("Dropping stale chat chunk",{chunkRequestId:s.message_id,activeRequestId:v}),"dropped-stale"):(s.content&&g.enqueue(s.content),s.is_final?(g.close(),o.current=null,h.current=null,"closed"):"enqueued")}const nt=s=>{var B;let[e,o]=(0,x.useState)(""),[h,g]=(0,x.useState)(s.config),[v,u]=(0,x.useState)(s.config),[i,b]=(0,x.useState)(void 0),f=(0,x.useRef)(null),y=(0,x.useRef)(null),N=(0,x.useRef)(null),c=(0,x.useRef)(null);Object.keys(s.config).some(r=>s.config[r]!==v[r])&&(g(s.config),u(s.config));let l=(0,x.useRef)(h);l.current=h;let m=(0,x.useRef)(null),a=(0,x.useRef)(null),d=(0,x.useRef)(null),[n,_]=(0,x.useState)(null),w=()=>{d.current=null,_(null)},{data:z}=tt(async()=>(await s.get_chat_history({})).messages,[]),E=s.value.length>0?s.value:z,{messages:S,sendMessage:A,setMessages:R,status:k,stop:I,error:D,regenerate:te,clearError:se,addToolApprovalResponse:re}=Le({sendAutomaticallyWhen:({messages:r})=>$e(r),transport:new He({fetch:async(r,p)=>{var H;if(p===void 0)return fetch(r);let j=JSON.parse(p.body),C=p.signal,L={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 P=j.messages.map(M=>{var T;return{...M,content:(T=M.parts)==null?void 0:T.map(O=>"text"in O?O.text:"").join(`
1
+ import{o as G}from"./chunk-C4rtOYze.js";import"./useEvent-GCVIknuR.js";import{t as me}from"./react-C60yClUi.js";import{yn as de}from"./cells-DD-zwhxi.js";import"./react-dom-Ba2zmJWD.js";import{C as ue,L as pe,P as he,T as fe,k as xe}from"./zod-BIDX-mZr.js";import{t as ge}from"./compiler-runtime-DnimoHo0.js";import{g as V,t as be}from"./useEventListener-DpNnLPuE.js";import{t as je}from"./objects-CrbstYTV.js";import{t as X}from"./cn-DCUzRj2J.js";import{t as ve}from"./jsx-runtime-3wZU7vFS.js";import"./fullscreen-CrevbcR_.js";import{i as ye,l as Ne,r as Z,t as Q}from"./popover-B96fOqfH.js";import{a as we,p as _e,r as Ce,t as ke}from"./dropdown-menu-DWGvf_Bw.js";import{t as U}from"./label-BOFHwHn7.js";import{t as J}from"./tooltip-C9LWGQ7Y.js";import{t as q}from"./button-W__YVea9.js";import"./dist-CeF1Em5L.js";import"./cjs-DCKmcMBz.js";import"./useNonce-C2dwX-sI.js";import{t as Se}from"./strings-DmKKoXrM.js";import{t as Re}from"./createLucideIcon-B8oVfJNp.js";import{t as Ae}from"./bot-message-square-CHGXChWr.js";import{t as qe}from"./x-4y-nyVDU.js";import"./markdown-renderer-DM-Whfio.js";import{u as ze}from"./toDate-QOk09NqD.js";import{i as Ee,n as Te,r as De,t as Fe}from"./chat-display-59QZ49m7.js";import{B as Me,G as Ie,I as Le,R as He,W as Oe,g as Ve,n as Pe,y as $e}from"./add-cell-with-ai-B25FLoLF.js";import{t as Ke}from"./spinner-Cj3eM5bt.js";import{o as We,r as Je}from"./input-BN98e517.js";import{t as Ye}from"./settings-IZvUqDP4.js";import{t as Be}from"./square-DVd8Y612.js";import{t as Ge}from"./trash-2-BLxp8uxj.js";import"./dist-BPoMypmC.js";import"./dist-5bwTcyKs.js";import"./dist-BVNaV53g.js";import"./dist-BrqkjqDe.js";import"./dist-Bm9PT5P9.js";import{t as Xe}from"./uuid-e9lSomwA.js";import"./session-D-SddyN0.js";import"./purify.es-Bwm8T4QC.js";import{t as Ze}from"./copy-icon-Cn8LzPNx.js";import{r as Qe}from"./react-icons.esm-CsgEZOQ_.js";import{t as Ue}from"./events-CPoJAfgx.js";import{n as et}from"./error-banner-d0-XOKtd.js";import"./chunk-5FQGJX7Z-B4N_BMo6.js";import"./html-to-image-CajdmeRM.js";import{n as tt}from"./useAsyncData-BcvSvTUt.js";import"./esm-RBKN8Dn2.js";var st=Re("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"}]]),Y=ge(),t=G(ve(),1),x=G(me(),1),rt=Ne,at=he({type:xe("stream_chunk"),message_id:pe(),content:ue().nullable().transform(s=>s),is_final:fe().optional()});function ee(s,e){let{controllerRef:o,activeRequestIdRef:h}=e,g=o.current;if(g===null)return"dropped-no-controller";let v=h.current;return v!==null&&s.message_id!==v?(V.debug("Dropping stale chat chunk",{chunkRequestId:s.message_id,activeRequestId:v}),"dropped-stale"):(s.content&&g.enqueue(s.content),s.is_final?(g.close(),o.current=null,h.current=null,"closed"):"enqueued")}const nt=s=>{var B;let[e,o]=(0,x.useState)(""),[h,g]=(0,x.useState)(s.config),[v,u]=(0,x.useState)(s.config),[i,b]=(0,x.useState)(void 0),f=(0,x.useRef)(null),y=(0,x.useRef)(null),N=(0,x.useRef)(null),c=(0,x.useRef)(null);Object.keys(s.config).some(r=>s.config[r]!==v[r])&&(g(s.config),u(s.config));let l=(0,x.useRef)(h);l.current=h;let m=(0,x.useRef)(null),a=(0,x.useRef)(null),d=(0,x.useRef)(null),[n,_]=(0,x.useState)(null),w=()=>{d.current=null,_(null)},{data:z}=tt(async()=>(await s.get_chat_history({})).messages,[]),E=s.value.length>0?s.value:z,{messages:S,sendMessage:A,setMessages:R,status:k,stop:I,error:D,regenerate:te,clearError:se,addToolApprovalResponse:re}=Le({sendAutomaticallyWhen:({messages:r})=>$e(r),transport:new He({fetch:async(r,p)=>{var H;if(p===void 0)return fetch(r);let j=JSON.parse(p.body),C=p.signal,L={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 P=j.messages.map(M=>{var T;return{...M,content:(T=M.parts)==null?void 0:T.map(O=>"text"in O?O.text:"").join(`
2
2
  `)}}),$=Xe();w();let ce=new ReadableStream({start(M){m.current=M,a.current=$;let T=()=>{try{M.close()}catch(O){V.debug("Controller may already be closed",{error:O})}m.current=null,a.current=null,s.cancel_prompt({request_id:$}).catch(O=>{V.debug("cancel_prompt failed",{error:O})})};return C==null||C.addEventListener("abort",T),()=>{C==null||C.removeEventListener("abort",T)}},cancel(){m.current=null,a.current=null}});return s.send_prompt({request_id:$,messages:P,config:L}).catch(M=>{var T;(T=m.current)==null||T.error(M),m.current=null,a.current=null}),Me({stream:ce})}catch(P){if(P instanceof Error&&P.name==="AbortError")return new Response("Aborted",{status:499});let $=(H=P.message)==null?void 0:H.split("failed with exception ").pop();return new Response($,{status:400})}}}),messages:E,onFinish:({messages:r,isAbort:p,finishReason:j})=>{if(b(void 0),f.current&&(f.current.value=""),V.debug("Finished streaming message:",{finishReason:j,isAbort:p}),p){let C=Ee({isAbort:!0,streamReason:d.current});if(w(),C!=null){let L=Te(C);V.debug("Chat stream aborted",{reason:C,finishReason:j}),_(L)}}else w();s.setValue(r)},onError:r=>{V.error("An error occurred:",r)}});be(s.host,Ue.TYPE,r=>{let p=at.safeParse(r.detail.message);if(p.success){if(p.data.content&&p.data.message_id===a.current){let j=De(p.data.content);j!==void 0&&(d.current=j)}ee(p.data,{controllerRef:m,activeRequestIdRef:a})}});let W=k==="submitted"||k==="streaming",ae=r=>{let p=S.findIndex(j=>j.id===r);if(p!==-1){let j=S.filter(C=>C.id!==r);s.delete_chat_message({index:p}),R(j),s.setValue(j),j.length===0&&w()}},ne=Array.isArray(s.allowAttachments)&&s.allowAttachments.length>0||s.allowAttachments===!0,le={triggerCompletionRegex:/^\/(\w+)?/,completions:s.prompts.map(r=>({label:`/${r}`,displayLabel:r,apply:r}))},oe=s.prompts.length>0?"Type your message here, / for prompts":"Type your message here...";(0,x.useEffect)(()=>{var r;(r=c.current)==null||r.scrollTo({top:c.current.scrollHeight,behavior:"smooth"})},[S.length,c]);let F=(B=N.current)==null?void 0:B.view,ie=()=>{if(F){let r=F.state.doc.length;F.dispatch({changes:{from:0,to:r,insert:""}})}o("")};return(0,t.jsxs)("div",{className:"flex flex-col h-full bg-(--slate-1) rounded-lg shadow border border-(--slate-6) overflow-hidden relative",style:{maxHeight:s.maxHeight},children:[(0,t.jsx)("div",{className:"absolute top-0 right-0 flex justify-end z-10 border border-(--slate-6) bg-inherit rounded-bl-lg",children:(0,t.jsx)(q,{variant:"text",size:"icon",disabled:S.length===0,onClick:()=>{R([]),s.setValue([]),s.delete_chat_history({}),se(),w()},children:(0,t.jsx)(st,{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:c,children:[S.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)(Ae,{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."})]}),S.map((r,p)=>{var L;let j=(L=r.parts)==null?void 0:L.filter(H=>H.type==="text").map(H=>H.text).join(`
3
3
  `),C=p===S.length-1;return(0,t.jsxs)("div",{className:X("flex flex-col group gap-2",r.role==="user"?"items-end":"items-start"),children:[(0,t.jsx)("div",{className:`max-w-[80%] p-3 rounded-lg ${r.role==="user"?"bg-(--sky-11) text-(--slate-1) whitespace-pre-wrap":"bg-(--slate-4) text-(--slate-12)"}`,children:Fe({message:r,isStreamingReasoning:k==="streaming",isLast:C,isActive:W,addToolApprovalResponse:C?re:void 0})}),(0,t.jsxs)("div",{className:"flex justify-end text-xs gap-2 invisible group-hover:visible",children:[(0,t.jsx)(Ze,{value:j,className:"h-3 w-3",buttonClassName:"text-xs text-(--slate-9) hover:text-(--slate-11)"}),(0,t.jsx)("button",{type:"button",onClick:()=>ae(r.id),className:"text-xs text-(--slate-9) hover:text-(--slate-11)",children:(0,t.jsx)(Ge,{className:"h-3 w-3 text-(--red-9)"})})]})]},`${r.id}-${p}`)}),W&&(0,t.jsx)("div",{className:"flex items-center justify-center mb-4",children:(0,t.jsx)(Ke,{size:"small"})}),D&&(0,t.jsxs)("div",{className:"flex items-center justify-center space-x-2 mb-4",children:[(0,t.jsx)(et,{error:D}),(0,t.jsx)(q,{variant:"outline",size:"sm",onClick:()=>te(),children:"Retry"})]}),n&&!W&&!D&&(0,t.jsx)("div",{className:"flex justify-center py-2",children:(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:n})})]}),(0,t.jsxs)("form",{onSubmit:async r=>{if(r.preventDefault(),s.disabled)return;let p=i?await Ve(i):void 0;A({role:"user",parts:[{type:"text",text:e},...p??[]]}),ie()},ref:y,inert:s.disabled||void 0,className:X("flex w-full border-t border-(--slate-6) px-2 py-1 items-center",s.disabled&&"opacity-50 cursor-not-allowed"),children:[s.showConfigurationControls&&(0,t.jsx)(lt,{config:h,onChange:g}),s.prompts.length>0&&(0,t.jsx)(ot,{prompts:s.prompts,onSelect:r=>{o(r),requestAnimationFrame(()=>{F==null||F.focus(),de(F)})}}),(0,t.jsx)(Pe,{className:"rounded-sm mr-2",placeholder:oe,value:e,inputRef:N,maxHeight:s.maxHeight?`${s.maxHeight/2}px`:void 0,onChange:o,onSubmit:(r,p)=>{var j;p.trim()&&((j=y.current)==null||j.requestSubmit())},onClose:()=>{},additionalCompletions:le}),i&&i.length===1&&(0,t.jsx)("span",{title:i[0].name,className:"text-sm text-(--slate-11) truncate shrink-0 w-fit max-w-24",children:i[0].name}),i&&i.length>1&&(0,t.jsxs)("span",{title:[...i].map(r=>r.name).join(`
4
4
  `),className:"text-sm text-(--slate-11) truncate shrink-0",children:[i.length," files"]}),i&&i.length>0&&(0,t.jsx)(q,{type:"button",variant:"text",size:"sm",onClick:()=>{b(void 0),f.current&&(f.current.value="")},children:(0,t.jsx)(qe,{className:"size-3"})}),ne&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(q,{type:"button",variant:"text",size:"sm",onClick:()=>{var r;return(r=f.current)==null?void 0:r.click()},children:(0,t.jsx)(Ie,{className:"h-4"})}),(0,t.jsx)("input",{type:"file",ref:f,className:"hidden",multiple:!0,accept:Array.isArray(s.allowAttachments)?s.allowAttachments.join(","):void 0,onChange:r=>{r.target.files&&b([...r.target.files])}})]}),W?(0,t.jsx)(J,{content:"Stop generating",children:(0,t.jsx)(q,{type:"button",variant:"link",size:"xs",onClick:()=>I(),className:"text-(--red-9) hover:text-(--red-11)",children:(0,t.jsx)(Be,{className:"h-4 w-4 fill-current"})})}):(0,t.jsx)(q,{type:"submit",disabled:!e,variant:"outline",size:"xs",className:"text-(--slate-11)","aria-label":"Send message",children:(0,t.jsx)(Oe,{className:"h-4 w-4"})})]})]})};var K={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)"}},lt=s=>{let e=(0,Y.c)(16),{config:o,onChange:h}=s,[g,v]=(0,x.useState)(!1),u;e[0]!==o||e[1]!==h?(u=(a,d)=>{let n=d===null||Number.isNaN(d)?null:d;if(n!==null){let{min:_,max:w}=K[a];n=Math.max(_,Math.min(w,n))}h({...o,[a]:n})},e[0]=o,e[1]=h,e[2]=u):u=e[2];let i=u,b;e[3]===Symbol.for("react.memo_cache_sentinel")?(b=a=>{a.key==="Enter"&&(a.preventDefault(),v(!1))},e[3]=b):b=e[3];let f=b,y;e[4]===Symbol.for("react.memo_cache_sentinel")?(y=(0,t.jsx)(J,{content:"Configuration",children:(0,t.jsx)(ye,{asChild:!0,children:(0,t.jsx)(q,{variant:"outline",size:"sm",className:"border-none shadow-none hover:bg-transparent",children:(0,t.jsx)(Ye,{className:"h-3 w-3"})})})}),e[4]=y):y=e[4];let N;e[5]===Symbol.for("react.memo_cache_sentinel")?(N=(0,t.jsx)("h4",{className:"font-bold leading-none",children:"Configuration"}),e[5]=N):N=e[5];let c;if(e[6]!==o||e[7]!==i){let a;e[9]===i?a=e[10]:(a=d=>{let[n,_]=d;return(0,t.jsxs)("div",{className:"grid grid-cols-3 items-center gap-1",children:[(0,t.jsxs)(U,{htmlFor:n,className:"flex w-full justify-between col-span-3 align-end",children:[Se.startCase(n),(0,t.jsx)(J,{delayDuration:200,side:"top",content:(0,t.jsx)("div",{className:"text-xs flex flex-col",children:K[n].description}),children:(0,t.jsx)(ze,{className:"h-3 w-3 cursor-help text-muted-foreground hover:text-foreground"})})]}),(0,t.jsx)(We,{id:n,"aria-label":n,value:_??NaN,placeholder:"null",minValue:K[n].min,maxValue:K[n].max,step:K[n].step??1,onChange:w=>i(n,w),onKeyDown:f,className:"col-span-3"})]},n)},e[9]=i,e[10]=a),c=je.entries(o).map(a),e[6]=o,e[7]=i,e[8]=c}else c=e[8];let l;e[11]===c?l=e[12]:(l=(0,t.jsx)(Z,{className:"w-70 border",children:(0,t.jsxs)("div",{className:"grid gap-3",children:[N,c]})}),e[11]=c,e[12]=l);let m;return e[13]!==g||e[14]!==l?(m=(0,t.jsxs)(Q,{open:g,onOpenChange:v,children:[y,l]}),e[13]=g,e[14]=l,e[15]=m):m=e[15],m},ot=s=>{let e=(0,Y.c)(18),{prompts:o,onSelect:h}=s,[g,v]=(0,x.useState)(!1),[u,i]=(0,x.useState)(""),b;e[0]===h?b=e[1]:(b=d=>{[...d.matchAll(/{{(\w+)}}/g)].length>0?(i(d),v(!0)):h(d)},e[0]=h,e[1]=b);let f=b,y;e[2]===Symbol.for("react.memo_cache_sentinel")?(y=(0,t.jsx)(J,{content:"Select a prompt",children:(0,t.jsx)(_e,{asChild:!0,children:(0,t.jsx)(q,{variant:"outline",size:"sm",className:"border-none shadow-none hover:bg-transparent",children:(0,t.jsx)(Qe,{className:"h-3 w-3"})})})}),e[2]=y):y=e[2];let N;if(e[3]!==f||e[4]!==o){let d;e[6]===f?d=e[7]:(d=(n,_)=>(0,t.jsx)(we,{onSelect:()=>f(n),className:"whitespace-normal text-left",children:n},_),e[6]=f,e[7]=d),N=o.map(d),e[3]=f,e[4]=o,e[5]=N}else N=e[5];let c;e[8]===N?c=e[9]:(c=(0,t.jsx)(rt,{children:(0,t.jsxs)(ke,{children:[y,(0,t.jsx)(Ce,{side:"right",align:"end",onCloseAutoFocus:ct,className:"w-64 max-h-96 overflow-y-auto",children:N})]})}),e[8]=N,e[9]=c);let l;e[10]===Symbol.for("react.memo_cache_sentinel")?(l=()=>v(!1),e[10]=l):l=e[10];let m;e[11]!==h||e[12]!==u?(m=(0,t.jsx)(Z,{side:"right",align:"end",className:"min-w-80 px-2",children:(0,t.jsx)(it,{prompt:u,onClose:l,onSelect:h})}),e[11]=h,e[12]=u,e[13]=m):m=e[13];let a;return e[14]!==g||e[15]!==c||e[16]!==m?(a=(0,t.jsxs)(Q,{open:g,onOpenChange:v,children:[c,m]}),e[14]=g,e[15]=c,e[16]=m,e[17]=a):a=e[17],a},it=s=>{let e=(0,Y.c)(32),{prompt:o,onClose:h,onSelect:g}=s,v;e[0]===Symbol.for("react.memo_cache_sentinel")?(v={},e[0]=v):v=e[0];let[u,i]=(0,x.useState)(v),b,f;e[1]===o?(b=e[2],f=e[3]):(b=()=>{i([...o.matchAll(/{{(\w+)}}/g)].reduce(mt,{}))},f=[o],e[1]=o,e[2]=b,e[3]=f),(0,x.useEffect)(b,f);let y;e[4]===Symbol.for("react.memo_cache_sentinel")?(y=(A,R)=>{i(k=>({...k,[A]:R}))},e[4]=y):y=e[4];let N=y,c;if(e[5]!==o||e[6]!==u){let A;e[8]===Symbol.for("react.memo_cache_sentinel")?(A=/{{(\w+)}}/g,e[8]=A):A=e[8];let R;e[9]===u?R=e[10]:(R=(k,I)=>u[I]||`{{${I}}}`,e[9]=u,e[10]=R),c=o.replaceAll(A,R),e[5]=o,e[6]=u,e[7]=c}else c=e[7];let l=c,m;e[11]===u?m=e[12]:(m=Object.values(u).some(dt),e[11]=u,e[12]=m);let a=m,d;e[13]!==h||e[14]!==g||e[15]!==l?(d=()=>{g(l),h()},e[13]=h,e[14]=g,e[15]=l,e[16]=d):d=e[16];let n=d,_;e[17]===u?_=e[18]:(_=Object.entries(u),e[17]=u,e[18]=_);let w;e[19]!==n||e[20]!==a||e[21]!==_?(w=_.map((A,R)=>{let[k,I]=A;return(0,t.jsxs)("div",{className:"grid grid-cols-4 items-center gap-2",children:[(0,t.jsx)(U,{htmlFor:k,className:"font-semibold text-base",children:k}),(0,t.jsx)(Je,{id:k,value:I,onChange:D=>N(k,D.target.value),rootClassName:"col-span-3 w-full",className:"m-0",placeholder:`Enter value for ${k}`,autoFocus:R===0,onKeyDown:D=>{D.key==="Enter"&&!a&&n()}})]},k)}),e[19]=n,e[20]=a,e[21]=_,e[22]=w):w=e[22];let z;e[23]===l?z=e[24]:(z=(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]=z);let E;e[25]!==n||e[26]!==a?(E=(0,t.jsx)(q,{onClick:n,size:"xs",disabled:a,children:"Submit"}),e[25]=n,e[26]=a,e[27]=E):E=e[27];let S;return e[28]!==z||e[29]!==E||e[30]!==w?(S=(0,t.jsxs)("div",{className:"grid gap-4",children:[w,z,E]}),e[28]=z,e[29]=E,e[30]=w,e[31]=S):S=e[31],S};function ct(s){return s.preventDefault()}function mt(s,e){return s[e[1]]="",s}function dt(s){return s==null||s.trim()===""}export{nt as Chatbot,ee as routeIncomingChatChunk};
@@ -1 +1 @@
1
- import{o as q}from"./chunk-C4rtOYze.js";import{u as J}from"./useEvent-GCVIknuR.js";import{t as R}from"./react-C60yClUi.js";import{E as G,di as D,fi as H,si as K}from"./cells-BvgwUKB9.js";import{t as U}from"./compiler-runtime-DnimoHo0.js";import{c as V}from"./utils-C8Yt16Y7.js";import{t as W}from"./jsx-runtime-3wZU7vFS.js";import{f as X,l as Y,yt as Z}from"./JsonOutput-C5g_bqiZ.js";import{t as L}from"./tooltip-C9LWGQ7Y.js";import{r as A,t as I}from"./button-W__YVea9.js";import{r as $}from"./requests-B9zEd_sW.js";import{t as ee}from"./createLucideIcon-B8oVfJNp.js";import{t as te}from"./useLifecycle-DDwuYzlC.js";import{t as ae}from"./spinner-Cj3eM5bt.js";import{r as re}from"./useTheme-CwCyrmDf.js";import{t as se}from"./copy-icon-Cn8LzPNx.js";import{t as oe}from"./context-BJMN4ll3.js";import{i as ne}from"./numbers-DtSpUdpO.js";import{n as ce}from"./html-to-image-DKEUbBwc.js";import{o as le}from"./focus-BArgHYf8.js";var P=ee("square-plus",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"M12 8v8",key:"napkw2"}]]),M=U(),ie=q(R(),1),s=q(W(),1);const me=i=>{let e=(0,M.c)(53),{table:t,column:a,preview:r,onAddColumnChart:c,sqlTableContext:n}=i,{theme:u}=re(),{previewDatasetColumn:l}=$(),{locale:d}=oe(),m;e[0]!==a.name||e[1]!==l||e[2]!==n||e[3]!==t.name||e[4]!==t.source||e[5]!==t.source_type?(m=()=>{l({source:t.source,tableName:t.name,columnName:a.name,sourceType:t.source_type,fullyQualifiedTableName:H(n,t.name)})},e[0]=a.name,e[1]=l,e[2]=n,e[3]=t.name,e[4]=t.source,e[5]=t.source_type,e[6]=m):m=e[6];let p=m,h;if(e[7]!==r||e[8]!==p||e[9]!==t.source_type?(h=()=>{r||t.source_type==="connection"||t.source_type==="catalog"||p()},e[7]=r,e[8]=p,e[9]=t.source_type,e[10]=h):h=e[10],te(h),t.source_type==="connection"){let o=a.name,F=a.external_type,x;e[11]!==a.name||e[12]!==c||e[13]!==n||e[14]!==t?(x=A.stopPropagation(()=>{c(D({table:t,columnName:a.name,sqlTableContext:n}))}),e[11]=a.name,e[12]=c,e[13]=n,e[14]=t,e[15]=x):x=e[15];let C;e[16]===Symbol.for("react.memo_cache_sentinel")?(C=(0,s.jsx)(P,{className:"h-3 w-3 mr-1"}),e[16]=C):C=e[16];let f;e[17]===x?f=e[18]:(f=(0,s.jsxs)(I,{variant:"outline",size:"xs",onClick:x,children:[C," Add SQL cell"]}),e[17]=x,e[18]=f);let S;return e[19]!==a.external_type||e[20]!==a.name||e[21]!==f?(S=(0,s.jsxs)("span",{className:"text-xs text-muted-foreground gap-2 flex items-center justify-between pl-7",children:[o," (",F,")",f]}),e[19]=a.external_type,e[20]=a.name,e[21]=f,e[22]=S):S=e[22],S}if(t.source_type==="catalog"){let o;return e[23]!==a.external_type||e[24]!==a.name?(o=(0,s.jsxs)("span",{className:"text-xs text-muted-foreground gap-2 flex items-center justify-between pl-7",children:[a.name," (",a.external_type,")"]}),e[23]=a.external_type,e[24]=a.name,e[25]=o):o=e[25],o}if(!r){let o;return e[26]===Symbol.for("react.memo_cache_sentinel")?(o=(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:"Loading..."}),e[26]=o):o=e[26],o}let g;e[27]!==r.error||e[28]!==r.missing_packages||e[29]!==p?(g=r.error&&O({error:r.error,missingPackages:r.missing_packages,refetchPreview:p}),e[27]=r.error,e[28]=r.missing_packages,e[29]=p,e[30]=g):g=e[30];let y=g,_;e[31]!==a.type||e[32]!==d||e[33]!==r.stats?(_=r.stats&&Q({stats:r.stats,dataType:a.type,locale:d}),e[31]=a.type,e[32]=d,e[33]=r.stats,e[34]=_):_=e[34];let b=_,j;e[35]!==r.chart_spec||e[36]!==u?(j=r.chart_spec&&E(r.chart_spec,u),e[35]=r.chart_spec,e[36]=u,e[37]=j):j=e[37];let N=j,k;e[38]!==r.chart_code||e[39]!==t.source_type?(k=r.chart_code&&t.source_type==="local"&&(0,s.jsx)(B,{chartCode:r.chart_code}),e[38]=r.chart_code,e[39]=t.source_type,e[40]=k):k=e[40];let T=k,w;e[41]!==a.name||e[42]!==c||e[43]!==n||e[44]!==t?(w=t.source_type==="duckdb"&&(0,s.jsx)(L,{content:"Add SQL cell",delayDuration:400,children:(0,s.jsx)(I,{variant:"outline",size:"icon",className:"z-10 bg-background absolute right-1 -top-1",onClick:A.stopPropagation(()=>{c(D({table:t,columnName:a.name,sqlTableContext:n}))}),children:(0,s.jsx)(P,{className:"h-3 w-3"})})}),e[41]=a.name,e[42]=c,e[43]=n,e[44]=t,e[45]=w):w=e[45];let z=w;if(!y&&!b&&!N){let o;return e[46]===Symbol.for("react.memo_cache_sentinel")?(o=(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:"No data"}),e[46]=o):o=e[46],o}let v;return e[47]!==T||e[48]!==z||e[49]!==N||e[50]!==y||e[51]!==b?(v=(0,s.jsxs)(X,{children:[y,T,z,N,b]}),e[47]=T,e[48]=z,e[49]=N,e[50]=y,e[51]=b,e[52]=v):v=e[52],v};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)(Y,{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:K(a,e)}),(0,s.jsx)("span",{className:"text-xs font-bold text-muted-foreground tracking-wide",children:ne(r,t)}),(0,s.jsx)(se,{className:"h-3 w-3 invisible group-hover:visible",value:String(r)})]},a))})}var pe=(0,s.jsx)("div",{className:"flex justify-center",children:(0,s.jsx)(ae,{className:"size-4"})});function E(i,e){let t=a=>({...a,background:"transparent",config:{...a.config,background:"transparent"}});return(0,s.jsx)(ie.Suspense,{fallback:pe,children:(0,s.jsx)(Z,{"data-container-width":"container",spec:t(JSON.parse(i)),options:{theme:e==="dark"?"dark":"vox",height:100,width:"container",actions:!1,renderer:"canvas"}})})}const B=i=>{let e=(0,M.c)(10),{chartCode:t}=i,a=J(V),r=le(),{createNewCell:c}=G(),n;e[0]!==a||e[1]!==c||e[2]!==r?(n=p=>{p.includes("alt")&&ce({autoInstantiate:a,createNewCell:c,fromCellId:r}),c({code:p,before:!1,cellId:r??"__end__"})},e[0]=a,e[1]=c,e[2]=r,e[3]=n):n=e[3];let u=n,l;e[4]!==t||e[5]!==u?(l=A.stopPropagation(()=>u(t)),e[4]=t,e[5]=u,e[6]=l):l=e[6];let d;e[7]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsx)(P,{className:"h-3 w-3"}),e[7]=d):d=e[7];let m;return e[8]===l?m=e[9]:(m=(0,s.jsx)(L,{content:"Add chart to notebook",delayDuration:400,children:(0,s.jsx)(I,{variant:"outline",size:"icon",className:"z-10 bg-background absolute right-1 -top-0.5",onClick:l,children:d})}),e[8]=l,e[9]=m),m};export{Q as a,O as i,me as n,P as o,E as r,B as t};
1
+ import{o as q}from"./chunk-C4rtOYze.js";import{u as J}from"./useEvent-GCVIknuR.js";import{t as R}from"./react-C60yClUi.js";import{E as G,ci as H,fi as D,pi as K}from"./cells-DD-zwhxi.js";import{t as U}from"./compiler-runtime-DnimoHo0.js";import{c as V}from"./utils-C8Yt16Y7.js";import{t as W}from"./jsx-runtime-3wZU7vFS.js";import{f as X,l as Y,yt as Z}from"./JsonOutput-D62UH4Ip.js";import{t as L}from"./tooltip-C9LWGQ7Y.js";import{r as A,t as I}from"./button-W__YVea9.js";import{r as $}from"./requests-B9zEd_sW.js";import{t as ee}from"./createLucideIcon-B8oVfJNp.js";import{t as te}from"./useLifecycle-DDwuYzlC.js";import{t as ae}from"./spinner-Cj3eM5bt.js";import{r as re}from"./useTheme-CwCyrmDf.js";import{t as se}from"./copy-icon-Cn8LzPNx.js";import{t as oe}from"./context-BJMN4ll3.js";import{i as ne}from"./numbers-DtSpUdpO.js";import{n as ce}from"./html-to-image-CajdmeRM.js";import{o as le}from"./focus-DCZbWsqm.js";var P=ee("square-plus",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"M12 8v8",key:"napkw2"}]]),M=U(),ie=q(R(),1),s=q(W(),1);const me=i=>{let e=(0,M.c)(53),{table:t,column:a,preview:r,onAddColumnChart:c,sqlTableContext:n}=i,{theme:u}=re(),{previewDatasetColumn:l}=$(),{locale:d}=oe(),m;e[0]!==a.name||e[1]!==l||e[2]!==n||e[3]!==t.name||e[4]!==t.source||e[5]!==t.source_type?(m=()=>{l({source:t.source,tableName:t.name,columnName:a.name,sourceType:t.source_type,fullyQualifiedTableName:K(n,t.name)})},e[0]=a.name,e[1]=l,e[2]=n,e[3]=t.name,e[4]=t.source,e[5]=t.source_type,e[6]=m):m=e[6];let p=m,h;if(e[7]!==r||e[8]!==p||e[9]!==t.source_type?(h=()=>{r||t.source_type==="connection"||t.source_type==="catalog"||p()},e[7]=r,e[8]=p,e[9]=t.source_type,e[10]=h):h=e[10],te(h),t.source_type==="connection"){let o=a.name,F=a.external_type,x;e[11]!==a.name||e[12]!==c||e[13]!==n||e[14]!==t?(x=A.stopPropagation(()=>{c(D({table:t,columnName:a.name,sqlTableContext:n}))}),e[11]=a.name,e[12]=c,e[13]=n,e[14]=t,e[15]=x):x=e[15];let C;e[16]===Symbol.for("react.memo_cache_sentinel")?(C=(0,s.jsx)(P,{className:"h-3 w-3 mr-1"}),e[16]=C):C=e[16];let f;e[17]===x?f=e[18]:(f=(0,s.jsxs)(I,{variant:"outline",size:"xs",onClick:x,children:[C," Add SQL cell"]}),e[17]=x,e[18]=f);let S;return e[19]!==a.external_type||e[20]!==a.name||e[21]!==f?(S=(0,s.jsxs)("span",{className:"text-xs text-muted-foreground gap-2 flex items-center justify-between pl-7",children:[o," (",F,")",f]}),e[19]=a.external_type,e[20]=a.name,e[21]=f,e[22]=S):S=e[22],S}if(t.source_type==="catalog"){let o;return e[23]!==a.external_type||e[24]!==a.name?(o=(0,s.jsxs)("span",{className:"text-xs text-muted-foreground gap-2 flex items-center justify-between pl-7",children:[a.name," (",a.external_type,")"]}),e[23]=a.external_type,e[24]=a.name,e[25]=o):o=e[25],o}if(!r){let o;return e[26]===Symbol.for("react.memo_cache_sentinel")?(o=(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:"Loading..."}),e[26]=o):o=e[26],o}let g;e[27]!==r.error||e[28]!==r.missing_packages||e[29]!==p?(g=r.error&&O({error:r.error,missingPackages:r.missing_packages,refetchPreview:p}),e[27]=r.error,e[28]=r.missing_packages,e[29]=p,e[30]=g):g=e[30];let y=g,_;e[31]!==a.type||e[32]!==d||e[33]!==r.stats?(_=r.stats&&Q({stats:r.stats,dataType:a.type,locale:d}),e[31]=a.type,e[32]=d,e[33]=r.stats,e[34]=_):_=e[34];let b=_,j;e[35]!==r.chart_spec||e[36]!==u?(j=r.chart_spec&&E(r.chart_spec,u),e[35]=r.chart_spec,e[36]=u,e[37]=j):j=e[37];let N=j,k;e[38]!==r.chart_code||e[39]!==t.source_type?(k=r.chart_code&&t.source_type==="local"&&(0,s.jsx)(B,{chartCode:r.chart_code}),e[38]=r.chart_code,e[39]=t.source_type,e[40]=k):k=e[40];let T=k,w;e[41]!==a.name||e[42]!==c||e[43]!==n||e[44]!==t?(w=t.source_type==="duckdb"&&(0,s.jsx)(L,{content:"Add SQL cell",delayDuration:400,children:(0,s.jsx)(I,{variant:"outline",size:"icon",className:"z-10 bg-background absolute right-1 -top-1",onClick:A.stopPropagation(()=>{c(D({table:t,columnName:a.name,sqlTableContext:n}))}),children:(0,s.jsx)(P,{className:"h-3 w-3"})})}),e[41]=a.name,e[42]=c,e[43]=n,e[44]=t,e[45]=w):w=e[45];let z=w;if(!y&&!b&&!N){let o;return e[46]===Symbol.for("react.memo_cache_sentinel")?(o=(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:"No data"}),e[46]=o):o=e[46],o}let v;return e[47]!==T||e[48]!==z||e[49]!==N||e[50]!==y||e[51]!==b?(v=(0,s.jsxs)(X,{children:[y,T,z,N,b]}),e[47]=T,e[48]=z,e[49]=N,e[50]=y,e[51]=b,e[52]=v):v=e[52],v};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)(Y,{packages:e,showMaxPackages:1,className:"w-32",onInstall:t})]})}function Q({stats:i,dataType:e,locale:t}){return(0,s.jsx)("div",{className:"gap-x-16 gap-y-1 grid grid-cols-2-fit border rounded p-2 empty:hidden",children:Object.entries(i).map(([a,r])=>r==null?null:(0,s.jsxs)("div",{className:"flex items-center gap-1 group",children:[(0,s.jsx)("span",{className:"text-xs min-w-[60px] capitalize",children:H(a,e)}),(0,s.jsx)("span",{className:"text-xs font-bold text-muted-foreground tracking-wide",children:ne(r,t)}),(0,s.jsx)(se,{className:"h-3 w-3 invisible group-hover:visible",value:String(r)})]},a))})}var pe=(0,s.jsx)("div",{className:"flex justify-center",children:(0,s.jsx)(ae,{className:"size-4"})});function E(i,e){let t=a=>({...a,background:"transparent",config:{...a.config,background:"transparent"}});return(0,s.jsx)(ie.Suspense,{fallback:pe,children:(0,s.jsx)(Z,{"data-container-width":"container",spec:t(JSON.parse(i)),options:{theme:e==="dark"?"dark":"vox",height:100,width:"container",actions:!1,renderer:"canvas"}})})}const B=i=>{let e=(0,M.c)(10),{chartCode:t}=i,a=J(V),r=le(),{createNewCell:c}=G(),n;e[0]!==a||e[1]!==c||e[2]!==r?(n=p=>{p.includes("alt")&&ce({autoInstantiate:a,createNewCell:c,fromCellId:r}),c({code:p,before:!1,cellId:r??"__end__"})},e[0]=a,e[1]=c,e[2]=r,e[3]=n):n=e[3];let u=n,l;e[4]!==t||e[5]!==u?(l=A.stopPropagation(()=>u(t)),e[4]=t,e[5]=u,e[6]=l):l=e[6];let d;e[7]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsx)(P,{className:"h-3 w-3"}),e[7]=d):d=e[7];let m;return e[8]===l?m=e[9]:(m=(0,s.jsx)(L,{content:"Add chart to notebook",delayDuration:400,children:(0,s.jsx)(I,{variant:"outline",size:"icon",className:"z-10 bg-background absolute right-1 -top-0.5",onClick:l,children:d})}),e[8]=l,e[9]=m),m};export{Q as a,O as i,me as n,P as o,E as r,B as t};
@@ -1 +1 @@
1
- import{o as te}from"./chunk-C4rtOYze.js";import{l as ie,u as W}from"./useEvent-GCVIknuR.js";import"./react-C60yClUi.js";import"./cells-BvgwUKB9.js";import"./react-dom-Ba2zmJWD.js";import{t as Q}from"./compiler-runtime-DnimoHo0.js";import{w as ae}from"./ai-model-dropdown-DWDm50eM.js";import{m as oe,t as ne,u as de}from"./useEventListener-DpNnLPuE.js";import{t as re}from"./objects-CrbstYTV.js";import{C as se,S as pe,g as me}from"./utils-C8Yt16Y7.js";import"./readonly-python-code-BCOkadQf.js";import{t as he}from"./jsx-runtime-3wZU7vFS.js";import"./fullscreen-CrevbcR_.js";import"./popover-B96fOqfH.js";import"./JsonOutput-C5g_bqiZ.js";import"./download-B8NwKEtr.js";import"./dist-CeF1Em5L.js";import"./cjs-DCKmcMBz.js";import"./useNonce-C2dwX-sI.js";import{r as ce}from"./requests-B9zEd_sW.js";import"./layout-YbL5eg7A.js";import{t as ye}from"./useCellActionButton-D8qyXNKv.js";import"./markdown-renderer-D7RLn6TA.js";import{a as fe,c as ue,t as be}from"./useNotebookActions-CblNR75b.js";import"./dist-BPoMypmC.js";import"./dist-5bwTcyKs.js";import"./dist-BVNaV53g.js";import"./dist-BrqkjqDe.js";import"./dist-Bm9PT5P9.js";import"./session-D-SddyN0.js";import"./purify.es-Bwm8T4QC.js";import"./dates-CZTDC2tF.js";import{n as ge}from"./useHotkey-cR1R36p-.js";import"./share-c5Zh8BM8.js";import"./tooltip-BUmTS76K.js";import"./vega-loader.browser-DLY285WP.js";import"./defaultLocale-CGJY8D9C.js";import"./defaultLocale-DzliDDTm.js";import"./chunk-5FQGJX7Z-B4N_BMo6.js";import"./html-to-image-DKEUbBwc.js";import{r as ke}from"./focus-BArgHYf8.js";import"./react-resizable-panels.browser.esm-CLaR27oP.js";import{a as we,c as Ce,i as X,l as Y,n as _e,o as Z,r as xe,s as je}from"./command-D5LtSvbN.js";import{t as ee}from"./renderShortcut-C6HKXhBl.js";import"./esm-RBKN8Dn2.js";import"./name-cell-input-jausH-CL.js";import"./multi-icon-C-boGjpw.js";import"./dist-iZqQ8eEZ.js";import"./dist-CqO2FBHV.js";import"./dist-5zzK1Bpl.js";import"./dist-SgSQKL07.js";import"./dist-DcguuZEe.js";import"./dist-Op2xySIC.js";import"./dist-ChJa98Av.js";import"./dist-VHnyClcl.js";import"./dist-C3YC038-.js";import"./esm-CpCa6w8Q.js";var Se=Q(),ve=3;function Ke(){let e=(0,Se.c)(7),l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=[],e[0]=l):l=e[0];let[o,r]=ue("marimo:commands",l),p;e[1]!==o||e[2]!==r?(p=u=>{r(He([u,...o]).slice(0,ve))},e[1]=o,e[2]=r,e[3]=p):p=e[3];let n;return e[4]!==o||e[5]!==p?(n={recentCommands:o,addRecentCommand:p},e[4]=o,e[5]=p,e[6]=n):n=e[6],n}function He(e){return[...new Set(e)]}function le(e){return e.dropdown!==void 0}function L(e,l=""){return e.flatMap(o=>o.label?le(o)?L(o.dropdown,`${l+o.label} > `):{...o,label:l+o.label,additionalKeywords:o.additionalKeywords}:[])}var Ae=Q();function De(){let e=(0,Ae.c)(87),[l,o]=se(),[r,p]=pe(),{saveAppConfig:n,saveUserConfig:u}=ce(),F;e[0]!==u||e[1]!==o?(F=async s=>{await u({config:s}).then(()=>{o(m=>({...m,...s}))})},e[0]=u,e[1]=o,e[2]=F):F=e[2];let t=F,M;e[3]!==n||e[4]!==p?(M=async s=>{await n({config:s}).then(()=>{p(s)})},e[3]=n,e[4]=p,e[5]=M):M=e[5];let E=M,V;if(e[6]!==r||e[7]!==l.completion||e[8]!==l.display||e[9]!==l.keymap||e[10]!==E||e[11]!==t){let s;e[13]===r?s=e[14]:(s=z=>z!==r.width,e[13]=r,e[14]=s);let m;e[15]!==r||e[16]!==E?(m=z=>({label:`App config > Set width=${z}`,handle:()=>{E({...r,width:z})}}),e[15]=r,e[16]=E,e[17]=m):m=e[17];let x;e[18]!==l.display||e[19]!==t?(x={label:"Config > Set theme: dark",handle:()=>{t({display:{...l.display,theme:"dark"}})}},e[18]=l.display,e[19]=t,e[20]=x):x=e[20];let b;e[21]!==l.display||e[22]!==t?(b={label:"Config > Set theme: light",handle:()=>{t({display:{...l.display,theme:"light"}})}},e[21]=l.display,e[22]=t,e[23]=b):b=e[23];let j;e[24]!==l.display||e[25]!==t?(j={label:"Config > Set theme: system",handle:()=>{t({display:{...l.display,theme:"system"}})}},e[24]=l.display,e[25]=t,e[26]=j):j=e[26];let N=l.keymap.preset==="vim",S;e[27]!==l.keymap||e[28]!==t?(S=()=>{t({keymap:{...l.keymap,preset:"vim"}})},e[27]=l.keymap,e[28]=t,e[29]=S):S=e[29];let v;e[30]!==N||e[31]!==S?(v={label:"Config > Switch keymap to VIM",hidden:N,handle:S},e[30]=N,e[31]=S,e[32]=v):v=e[32];let K=l.keymap.preset==="default",g;e[33]!==l.keymap||e[34]!==t?(g=()=>{t({keymap:{...l.keymap,preset:"default"}})},e[33]=l.keymap,e[34]=t,e[35]=g):g=e[35];let c;e[36]!==K||e[37]!==g?(c={label:"Config > Switch keymap to default (current: VIM)",hidden:K,handle:g},e[36]=K,e[37]=g,e[38]=c):c=e[38];let k;e[39]!==l.completion||e[40]!==t?(k=()=>{t({completion:{...l.completion,copilot:!1}})},e[39]=l.completion,e[40]=t,e[41]=k):k=e[41];let w=l.completion.copilot!=="github",R;e[42]!==k||e[43]!==w?(R={label:"Config > Disable GitHub Copilot",handle:k,hidden:w},e[42]=k,e[43]=w,e[44]=R):R=e[44];let C;e[45]!==l.completion||e[46]!==t?(C=()=>{t({completion:{...l.completion,copilot:"github"}})},e[45]=l.completion,e[46]=t,e[47]=C):C=e[47];let $=l.completion.copilot==="github",B;e[48]!==C||e[49]!==$?(B={label:"Config > Enable GitHub Copilot",handle:C,hidden:$},e[48]=C,e[49]=$,e[50]=B):B=e[50];let I=!l.display.reference_highlighting,_;e[51]!==l.display||e[52]!==t?(_=()=>{t({display:{...l.display,reference_highlighting:!1}})},e[51]=l.display,e[52]=t,e[53]=_):_=e[53];let y;e[54]!==I||e[55]!==_?(y={label:"Config > Disable reference highlighting",hidden:I,handle:_},e[54]=I,e[55]=_,e[56]=y):y=e[56];let h;e[57]!==l.display||e[58]!==t?(h=()=>{t({display:{...l.display,reference_highlighting:!0}})},e[57]=l.display,e[58]=t,e[59]=h):h=e[59];let H;e[60]!==l.display.reference_highlighting||e[61]!==h?(H={label:"Config > Enable reference highlighting",hidden:l.display.reference_highlighting,handle:h},e[60]=l.display.reference_highlighting,e[61]=h,e[62]=H):H=e[62];let i=!(l.display.code_lens??!0),a;e[63]!==l.display||e[64]!==t?(a=()=>{t({display:{...l.display,code_lens:!1}})},e[63]=l.display,e[64]=t,e[65]=a):a=e[65];let A;e[66]!==i||e[67]!==a?(A={label:"Config > Disable code lens",hidden:i,handle:a},e[66]=i,e[67]=a,e[68]=A):A=e[68];let f=l.display.code_lens??!0,D;e[69]!==l.display||e[70]!==t?(D=()=>{t({display:{...l.display,code_lens:!0}})},e[69]=l.display,e[70]=t,e[71]=D):D=e[71];let G;e[72]!==f||e[73]!==D?(G={label:"Config > Enable code lens",hidden:f,handle:D},e[72]=f,e[73]=D,e[74]=G):G=e[74];let q=l.display.cell_output==="above",O;e[75]!==l.display||e[76]!==t?(O=()=>{t({display:{...l.display,cell_output:"above"}})},e[75]=l.display,e[76]=t,e[77]=O):O=e[77];let T;e[78]!==q||e[79]!==O?(T={label:"Config > Set cell output area: above",hidden:q,handle:O},e[78]=q,e[79]=O,e[80]=T):T=e[80];let J=l.display.cell_output==="below",P;e[81]!==l.display||e[82]!==t?(P=()=>{t({display:{...l.display,cell_output:"below"}})},e[81]=l.display,e[82]=t,e[83]=P):P=e[83];let U;e[84]!==J||e[85]!==P?(U={label:"Config > Set cell output area: below",hidden:J,handle:P},e[84]=J,e[85]=P,e[86]=U):U=e[86],V=[...ae().filter(s).map(m),x,b,j,v,c,R,B,y,H,A,G,T,U].filter(Fe),e[6]=r,e[7]=l.completion,e[8]=l.display,e[9]=l.keymap,e[10]=E,e[11]=t,e[12]=V}else V=e[12];return V}function Fe(e){return!e.hidden}var Me=Q(),d=te(he(),1),Ee=()=>{let e=(0,Me.c)(37),[l,o]=ie(fe),r=ge(),p=W(ke),n=W(me),u;e[0]===p?u=e[1]:(u={cell:p},e[0]=p,e[1]=u);let F=ye(u).flat();F=L(F);let t=De(),M=be();M=[...L(M),...L(t)];let E=M.filter(Ne),V=re.keyBy(E,Re),{recentCommands:s,addRecentCommand:m}=Ke(),x;e[2]===s?x=e[3]:(x=new Set(s),e[2]=s,e[3]=x);let b=x,j;e[4]!==n||e[5]!==o?(j=i=>{oe(n.getHotkey("global.commandPalette").key)(i)&&(i.preventDefault(),o(Be))},e[4]=n,e[5]=o,e[6]=j):j=e[6],ne(document,"keydown",j);let N;e[7]!==m||e[8]!==n||e[9]!==r||e[10]!==o?(N=(i,a)=>{let A=r[i];if(!A)return null;let f=n.getHotkey(i);return(0,d.jsxs)(Z,{disabled:a.disabled,keywords:f.additionalKeywords,onSelect:()=>{m(i),o(!1),requestAnimationFrame(()=>{A()})},value:f.name,children:[(0,d.jsxs)("span",{children:[f.name,a.tooltip&&(0,d.jsx)("span",{className:"ml-2",children:a.tooltip})]}),(0,d.jsx)(Y,{children:(0,d.jsx)(ee,{shortcut:f.key})})]},i)},e[7]=m,e[8]=n,e[9]=r,e[10]=o,e[11]=N):N=e[11];let S=N,v;e[12]!==m||e[13]!==n||e[14]!==o?(v=i=>{let{label:a,handle:A,props:f,hotkey:D,additionalKeywords:G}=i,q=f===void 0?{}:f;return(0,d.jsxs)(Z,{disabled:q.disabled,keywords:G,onSelect:()=>{m(a),o(!1),requestAnimationFrame(()=>{A()})},value:a,children:[(0,d.jsxs)("span",{children:[a,q.tooltip&&(0,d.jsxs)("span",{className:"ml-2",children:["(",q.tooltip,")"]})]}),D&&(0,d.jsx)(Y,{children:(0,d.jsx)(ee,{shortcut:n.getHotkey(D).key})})]},a)},e[12]=m,e[13]=n,e[14]=o,e[15]=v):v=e[15];let K=v,g=_e,c;e[16]===Symbol.for("react.memo_cache_sentinel")?(c=(0,d.jsx)(we,{placeholder:"Type to search..."}),e[16]=c):c=e[16];let k=je,w;e[17]===Symbol.for("react.memo_cache_sentinel")?(w=(0,d.jsx)(xe,{children:"No results found."}),e[17]=w):w=e[17];let R=s.length>0&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(X,{heading:"Recently Used",children:s.map(i=>{let a=V[i];return de(i)?S(i,{disabled:a==null?void 0:a.disabled,tooltip:a==null?void 0:a.tooltip}):a&&!le(a)?K({label:a.label,handle:a.handleHeadless||a.handle,props:{disabled:a.disabled,tooltip:a.tooltip},additionalKeywords:a.additionalKeywords}):null})}),(0,d.jsx)(Ce,{})]}),C=X,$=n.iterate().map(i=>{if(b.has(i))return null;let a=V[i];return S(i,{disabled:a==null?void 0:a.disabled,tooltip:a==null?void 0:a.tooltip})}),B=E.map(i=>b.has(i.label)?null:K({label:i.label,handle:i.handleHeadless||i.handle,props:{disabled:i.disabled,tooltip:i.tooltip},additionalKeywords:i.additionalKeywords})),I;e[18]!==b||e[19]!==K?(I=i=>b.has(i.label)?null:K({label:`Cell > ${i.label}`,handle:i.handleHeadless||i.handle,props:{disabled:i.disabled,tooltip:i.tooltip},additionalKeywords:i.additionalKeywords}),e[18]=b,e[19]=K,e[20]=I):I=e[20];let _=F.map(I),y;e[21]!==C||e[22]!==B||e[23]!==_||e[24]!==$?(y=(0,d.jsxs)(C,{heading:"Commands",children:[$,B,_]}),e[21]=C,e[22]=B,e[23]=_,e[24]=$,e[25]=y):y=e[25];let h;e[26]!==k||e[27]!==y||e[28]!==w||e[29]!==R?(h=(0,d.jsxs)(k,{children:[w,R,y]}),e[26]=k,e[27]=y,e[28]=w,e[29]=R,e[30]=h):h=e[30];let H;return e[31]!==g||e[32]!==l||e[33]!==o||e[34]!==h||e[35]!==c?(H=(0,d.jsxs)(g,{open:l,onOpenChange:o,children:[c,h]}),e[31]=g,e[32]=l,e[33]=o,e[34]=h,e[35]=c,e[36]=H):H=e[36],H};function Ne(e){return!e.hotkey}function Re(e){return e.label}function Be(e){return!e}export{Ee as default};
1
+ import{o as te}from"./chunk-C4rtOYze.js";import{l as ie,u as W}from"./useEvent-GCVIknuR.js";import"./react-C60yClUi.js";import"./cells-DD-zwhxi.js";import"./react-dom-Ba2zmJWD.js";import{t as Q}from"./compiler-runtime-DnimoHo0.js";import{w as ae}from"./ai-model-dropdown-CmDWOIkZ.js";import{m as oe,t as ne,u as de}from"./useEventListener-DpNnLPuE.js";import{t as re}from"./objects-CrbstYTV.js";import{C as se,S as pe,g as me}from"./utils-C8Yt16Y7.js";import"./readonly-python-code-DFjpK9Hc.js";import{t as he}from"./jsx-runtime-3wZU7vFS.js";import"./fullscreen-CrevbcR_.js";import"./popover-B96fOqfH.js";import"./JsonOutput-D62UH4Ip.js";import"./download-DT1x-ePG.js";import"./dist-CeF1Em5L.js";import"./cjs-DCKmcMBz.js";import"./useNonce-C2dwX-sI.js";import{r as ce}from"./requests-B9zEd_sW.js";import"./layout-B73d8K81.js";import{t as ye}from"./useCellActionButton-COoOWq__.js";import"./markdown-renderer-DM-Whfio.js";import{a as fe,c as ue,t as be}from"./useNotebookActions-BXVkcfqk.js";import"./dist-BPoMypmC.js";import"./dist-5bwTcyKs.js";import"./dist-BVNaV53g.js";import"./dist-BrqkjqDe.js";import"./dist-Bm9PT5P9.js";import"./session-D-SddyN0.js";import"./purify.es-Bwm8T4QC.js";import"./dates-CZTDC2tF.js";import{n as ge}from"./useHotkey-cR1R36p-.js";import"./share-c5Zh8BM8.js";import"./tooltip-BUmTS76K.js";import"./vega-loader.browser-DLY285WP.js";import"./defaultLocale-CGJY8D9C.js";import"./defaultLocale-DzliDDTm.js";import"./chunk-5FQGJX7Z-B4N_BMo6.js";import"./html-to-image-CajdmeRM.js";import{r as ke}from"./focus-DCZbWsqm.js";import"./react-resizable-panels.browser.esm-CLaR27oP.js";import{a as we,c as Ce,i as X,l as Y,n as _e,o as Z,r as xe,s as je}from"./command-D5LtSvbN.js";import{t as ee}from"./renderShortcut-C6HKXhBl.js";import"./esm-RBKN8Dn2.js";import"./name-cell-input-DF8MnZDV.js";import"./multi-icon-C-boGjpw.js";import"./dist-iZqQ8eEZ.js";import"./dist-CqO2FBHV.js";import"./dist-5zzK1Bpl.js";import"./dist-SgSQKL07.js";import"./dist-DcguuZEe.js";import"./dist-Op2xySIC.js";import"./dist-ChJa98Av.js";import"./dist-VHnyClcl.js";import"./dist-C3YC038-.js";import"./esm-CpCa6w8Q.js";var Se=Q(),ve=3;function Ke(){let e=(0,Se.c)(7),l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=[],e[0]=l):l=e[0];let[o,r]=ue("marimo:commands",l),p;e[1]!==o||e[2]!==r?(p=u=>{r(He([u,...o]).slice(0,ve))},e[1]=o,e[2]=r,e[3]=p):p=e[3];let n;return e[4]!==o||e[5]!==p?(n={recentCommands:o,addRecentCommand:p},e[4]=o,e[5]=p,e[6]=n):n=e[6],n}function He(e){return[...new Set(e)]}function le(e){return e.dropdown!==void 0}function L(e,l=""){return e.flatMap(o=>o.label?le(o)?L(o.dropdown,`${l+o.label} > `):{...o,label:l+o.label,additionalKeywords:o.additionalKeywords}:[])}var Ae=Q();function De(){let e=(0,Ae.c)(87),[l,o]=se(),[r,p]=pe(),{saveAppConfig:n,saveUserConfig:u}=ce(),F;e[0]!==u||e[1]!==o?(F=async s=>{await u({config:s}).then(()=>{o(m=>({...m,...s}))})},e[0]=u,e[1]=o,e[2]=F):F=e[2];let t=F,M;e[3]!==n||e[4]!==p?(M=async s=>{await n({config:s}).then(()=>{p(s)})},e[3]=n,e[4]=p,e[5]=M):M=e[5];let E=M,V;if(e[6]!==r||e[7]!==l.completion||e[8]!==l.display||e[9]!==l.keymap||e[10]!==E||e[11]!==t){let s;e[13]===r?s=e[14]:(s=z=>z!==r.width,e[13]=r,e[14]=s);let m;e[15]!==r||e[16]!==E?(m=z=>({label:`App config > Set width=${z}`,handle:()=>{E({...r,width:z})}}),e[15]=r,e[16]=E,e[17]=m):m=e[17];let x;e[18]!==l.display||e[19]!==t?(x={label:"Config > Set theme: dark",handle:()=>{t({display:{...l.display,theme:"dark"}})}},e[18]=l.display,e[19]=t,e[20]=x):x=e[20];let b;e[21]!==l.display||e[22]!==t?(b={label:"Config > Set theme: light",handle:()=>{t({display:{...l.display,theme:"light"}})}},e[21]=l.display,e[22]=t,e[23]=b):b=e[23];let j;e[24]!==l.display||e[25]!==t?(j={label:"Config > Set theme: system",handle:()=>{t({display:{...l.display,theme:"system"}})}},e[24]=l.display,e[25]=t,e[26]=j):j=e[26];let N=l.keymap.preset==="vim",S;e[27]!==l.keymap||e[28]!==t?(S=()=>{t({keymap:{...l.keymap,preset:"vim"}})},e[27]=l.keymap,e[28]=t,e[29]=S):S=e[29];let v;e[30]!==N||e[31]!==S?(v={label:"Config > Switch keymap to VIM",hidden:N,handle:S},e[30]=N,e[31]=S,e[32]=v):v=e[32];let K=l.keymap.preset==="default",g;e[33]!==l.keymap||e[34]!==t?(g=()=>{t({keymap:{...l.keymap,preset:"default"}})},e[33]=l.keymap,e[34]=t,e[35]=g):g=e[35];let c;e[36]!==K||e[37]!==g?(c={label:"Config > Switch keymap to default (current: VIM)",hidden:K,handle:g},e[36]=K,e[37]=g,e[38]=c):c=e[38];let k;e[39]!==l.completion||e[40]!==t?(k=()=>{t({completion:{...l.completion,copilot:!1}})},e[39]=l.completion,e[40]=t,e[41]=k):k=e[41];let w=l.completion.copilot!=="github",R;e[42]!==k||e[43]!==w?(R={label:"Config > Disable GitHub Copilot",handle:k,hidden:w},e[42]=k,e[43]=w,e[44]=R):R=e[44];let C;e[45]!==l.completion||e[46]!==t?(C=()=>{t({completion:{...l.completion,copilot:"github"}})},e[45]=l.completion,e[46]=t,e[47]=C):C=e[47];let $=l.completion.copilot==="github",B;e[48]!==C||e[49]!==$?(B={label:"Config > Enable GitHub Copilot",handle:C,hidden:$},e[48]=C,e[49]=$,e[50]=B):B=e[50];let I=!l.display.reference_highlighting,_;e[51]!==l.display||e[52]!==t?(_=()=>{t({display:{...l.display,reference_highlighting:!1}})},e[51]=l.display,e[52]=t,e[53]=_):_=e[53];let y;e[54]!==I||e[55]!==_?(y={label:"Config > Disable reference highlighting",hidden:I,handle:_},e[54]=I,e[55]=_,e[56]=y):y=e[56];let h;e[57]!==l.display||e[58]!==t?(h=()=>{t({display:{...l.display,reference_highlighting:!0}})},e[57]=l.display,e[58]=t,e[59]=h):h=e[59];let H;e[60]!==l.display.reference_highlighting||e[61]!==h?(H={label:"Config > Enable reference highlighting",hidden:l.display.reference_highlighting,handle:h},e[60]=l.display.reference_highlighting,e[61]=h,e[62]=H):H=e[62];let i=!(l.display.code_lens??!0),a;e[63]!==l.display||e[64]!==t?(a=()=>{t({display:{...l.display,code_lens:!1}})},e[63]=l.display,e[64]=t,e[65]=a):a=e[65];let A;e[66]!==i||e[67]!==a?(A={label:"Config > Disable code lens",hidden:i,handle:a},e[66]=i,e[67]=a,e[68]=A):A=e[68];let f=l.display.code_lens??!0,D;e[69]!==l.display||e[70]!==t?(D=()=>{t({display:{...l.display,code_lens:!0}})},e[69]=l.display,e[70]=t,e[71]=D):D=e[71];let G;e[72]!==f||e[73]!==D?(G={label:"Config > Enable code lens",hidden:f,handle:D},e[72]=f,e[73]=D,e[74]=G):G=e[74];let q=l.display.cell_output==="above",O;e[75]!==l.display||e[76]!==t?(O=()=>{t({display:{...l.display,cell_output:"above"}})},e[75]=l.display,e[76]=t,e[77]=O):O=e[77];let T;e[78]!==q||e[79]!==O?(T={label:"Config > Set cell output area: above",hidden:q,handle:O},e[78]=q,e[79]=O,e[80]=T):T=e[80];let J=l.display.cell_output==="below",P;e[81]!==l.display||e[82]!==t?(P=()=>{t({display:{...l.display,cell_output:"below"}})},e[81]=l.display,e[82]=t,e[83]=P):P=e[83];let U;e[84]!==J||e[85]!==P?(U={label:"Config > Set cell output area: below",hidden:J,handle:P},e[84]=J,e[85]=P,e[86]=U):U=e[86],V=[...ae().filter(s).map(m),x,b,j,v,c,R,B,y,H,A,G,T,U].filter(Fe),e[6]=r,e[7]=l.completion,e[8]=l.display,e[9]=l.keymap,e[10]=E,e[11]=t,e[12]=V}else V=e[12];return V}function Fe(e){return!e.hidden}var Me=Q(),d=te(he(),1),Ee=()=>{let e=(0,Me.c)(37),[l,o]=ie(fe),r=ge(),p=W(ke),n=W(me),u;e[0]===p?u=e[1]:(u={cell:p},e[0]=p,e[1]=u);let F=ye(u).flat();F=L(F);let t=De(),M=be();M=[...L(M),...L(t)];let E=M.filter(Ne),V=re.keyBy(E,Re),{recentCommands:s,addRecentCommand:m}=Ke(),x;e[2]===s?x=e[3]:(x=new Set(s),e[2]=s,e[3]=x);let b=x,j;e[4]!==n||e[5]!==o?(j=i=>{oe(n.getHotkey("global.commandPalette").key)(i)&&(i.preventDefault(),o(Be))},e[4]=n,e[5]=o,e[6]=j):j=e[6],ne(document,"keydown",j);let N;e[7]!==m||e[8]!==n||e[9]!==r||e[10]!==o?(N=(i,a)=>{let A=r[i];if(!A)return null;let f=n.getHotkey(i);return(0,d.jsxs)(Z,{disabled:a.disabled,keywords:f.additionalKeywords,onSelect:()=>{m(i),o(!1),requestAnimationFrame(()=>{A()})},value:f.name,children:[(0,d.jsxs)("span",{children:[f.name,a.tooltip&&(0,d.jsx)("span",{className:"ml-2",children:a.tooltip})]}),(0,d.jsx)(Y,{children:(0,d.jsx)(ee,{shortcut:f.key})})]},i)},e[7]=m,e[8]=n,e[9]=r,e[10]=o,e[11]=N):N=e[11];let S=N,v;e[12]!==m||e[13]!==n||e[14]!==o?(v=i=>{let{label:a,handle:A,props:f,hotkey:D,additionalKeywords:G}=i,q=f===void 0?{}:f;return(0,d.jsxs)(Z,{disabled:q.disabled,keywords:G,onSelect:()=>{m(a),o(!1),requestAnimationFrame(()=>{A()})},value:a,children:[(0,d.jsxs)("span",{children:[a,q.tooltip&&(0,d.jsxs)("span",{className:"ml-2",children:["(",q.tooltip,")"]})]}),D&&(0,d.jsx)(Y,{children:(0,d.jsx)(ee,{shortcut:n.getHotkey(D).key})})]},a)},e[12]=m,e[13]=n,e[14]=o,e[15]=v):v=e[15];let K=v,g=_e,c;e[16]===Symbol.for("react.memo_cache_sentinel")?(c=(0,d.jsx)(we,{placeholder:"Type to search..."}),e[16]=c):c=e[16];let k=je,w;e[17]===Symbol.for("react.memo_cache_sentinel")?(w=(0,d.jsx)(xe,{children:"No results found."}),e[17]=w):w=e[17];let R=s.length>0&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(X,{heading:"Recently Used",children:s.map(i=>{let a=V[i];return de(i)?S(i,{disabled:a==null?void 0:a.disabled,tooltip:a==null?void 0:a.tooltip}):a&&!le(a)?K({label:a.label,handle:a.handleHeadless||a.handle,props:{disabled:a.disabled,tooltip:a.tooltip},additionalKeywords:a.additionalKeywords}):null})}),(0,d.jsx)(Ce,{})]}),C=X,$=n.iterate().map(i=>{if(b.has(i))return null;let a=V[i];return S(i,{disabled:a==null?void 0:a.disabled,tooltip:a==null?void 0:a.tooltip})}),B=E.map(i=>b.has(i.label)?null:K({label:i.label,handle:i.handleHeadless||i.handle,props:{disabled:i.disabled,tooltip:i.tooltip},additionalKeywords:i.additionalKeywords})),I;e[18]!==b||e[19]!==K?(I=i=>b.has(i.label)?null:K({label:`Cell > ${i.label}`,handle:i.handleHeadless||i.handle,props:{disabled:i.disabled,tooltip:i.tooltip},additionalKeywords:i.additionalKeywords}),e[18]=b,e[19]=K,e[20]=I):I=e[20];let _=F.map(I),y;e[21]!==C||e[22]!==B||e[23]!==_||e[24]!==$?(y=(0,d.jsxs)(C,{heading:"Commands",children:[$,B,_]}),e[21]=C,e[22]=B,e[23]=_,e[24]=$,e[25]=y):y=e[25];let h;e[26]!==k||e[27]!==y||e[28]!==w||e[29]!==R?(h=(0,d.jsxs)(k,{children:[w,R,y]}),e[26]=k,e[27]=y,e[28]=w,e[29]=R,e[30]=h):h=e[30];let H;return e[31]!==g||e[32]!==l||e[33]!==o||e[34]!==h||e[35]!==c?(H=(0,d.jsxs)(g,{open:l,onOpenChange:o,children:[c,h]}),e[31]=g,e[32]=l,e[33]=o,e[34]=h,e[35]=c,e[36]=H):H=e[36],H};function Ne(e){return!e.hotkey}function Re(e){return e.label}function Be(e){return!e}export{Ee as default};
@@ -1 +1 @@
1
- import{o as v}from"./chunk-C4rtOYze.js";import{t as w}from"./react-C60yClUi.js";import{j as k}from"./cells-BvgwUKB9.js";import{t as g}from"./compiler-runtime-DnimoHo0.js";import{t as N}from"./jsx-runtime-3wZU7vFS.js";import{i as y,r as C,t as _}from"./popover-B96fOqfH.js";import{t as b}from"./badge-D28DMr4y.js";import{t as S}from"./use-toast-DjpWVza6.js";import{n as I}from"./copy-HCSOwOwk.js";import{t as j}from"./cell-link-WDIIwzUn.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(),s,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=(l,x)=>m.inOrderIds.indexOf(l)-m.inOrderIds.indexOf(x),e[8]=m,e[9]=f);let u=r.toSorted(f);if(r.length===0){let l;e[10]===Symbol.for("react.memo_cache_sentinel")?(l=(0,i.jsx)("div",{className:"text-muted-foreground",children:"--"}),e[10]=l):l=e[10],c=l;break e}let h;e[11]!==r.length||e[12]!==t||e[13]!==o?(h=(l,x)=>(0,i.jsxs)("span",{className:"truncate",children:[(0,i.jsx)(j,{variant:"focus",cellId:l,skipScroll:o,className:"whitespace-nowrap",onClick:t?()=>t(l):void 0},l),x<r.length-1&&", "]},l),e[11]=r.length,e[12]=t,e[13]=o,e[14]=h):h=e[14],s=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(l=>(0,i.jsx)(j,{variant:"focus",cellId:l,className:"whitespace-nowrap",onClick:t?()=>t(l):void 0},l))})})]})}e[0]=r,e[1]=m,e[2]=n,e[3]=t,e[4]=o,e[5]=s,e[6]=a,e[7]=c}else s=e[5],a=e[6],c=e[7];if(c!==Symbol.for("react.early_return_sentinel"))return c;let d;return e[15]!==s||e[16]!==a?(d=(0,i.jsxs)(i.Fragment,{children:[s,a]}),e[15]=s,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",s;e[5]!==r||e[6]!==t?(s=async d=>{if(t){t(d);return}await I(r),S({title:"Copied to clipboard"})},e[5]=r,e[6]=t,e[7]=s):s=e[7];let a;e[8]!==r||e[9]!==m||e[10]!==s?(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:s,children:r}),e[8]=r,e[9]=m,e[10]=s,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{o as v}from"./chunk-C4rtOYze.js";import{t as w}from"./react-C60yClUi.js";import{j as k}from"./cells-DD-zwhxi.js";import{t as g}from"./compiler-runtime-DnimoHo0.js";import{t as N}from"./jsx-runtime-3wZU7vFS.js";import{i as y,r as C,t as _}from"./popover-B96fOqfH.js";import{t as b}from"./badge-D28DMr4y.js";import{t as S}from"./use-toast-DjpWVza6.js";import{n as I}from"./copy-HCSOwOwk.js";import{t as j}from"./cell-link-CP4zF1rO.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(),s,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=(l,x)=>m.inOrderIds.indexOf(l)-m.inOrderIds.indexOf(x),e[8]=m,e[9]=f);let u=r.toSorted(f);if(r.length===0){let l;e[10]===Symbol.for("react.memo_cache_sentinel")?(l=(0,i.jsx)("div",{className:"text-muted-foreground",children:"--"}),e[10]=l):l=e[10],c=l;break e}let h;e[11]!==r.length||e[12]!==t||e[13]!==o?(h=(l,x)=>(0,i.jsxs)("span",{className:"truncate",children:[(0,i.jsx)(j,{variant:"focus",cellId:l,skipScroll:o,className:"whitespace-nowrap",onClick:t?()=>t(l):void 0},l),x<r.length-1&&", "]},l),e[11]=r.length,e[12]=t,e[13]=o,e[14]=h):h=e[14],s=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(l=>(0,i.jsx)(j,{variant:"focus",cellId:l,className:"whitespace-nowrap",onClick:t?()=>t(l):void 0},l))})})]})}e[0]=r,e[1]=m,e[2]=n,e[3]=t,e[4]=o,e[5]=s,e[6]=a,e[7]=c}else s=e[5],a=e[6],c=e[7];if(c!==Symbol.for("react.early_return_sentinel"))return c;let d;return e[15]!==s||e[16]!==a?(d=(0,i.jsxs)(i.Fragment,{children:[s,a]}),e[15]=s,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",s;e[5]!==r||e[6]!==t?(s=async d=>{if(t){t(d);return}await I(r),S({title:"Copied to clipboard"})},e[5]=r,e[6]=t,e[7]=s):s=e[7];let a;e[8]!==r||e[9]!==m||e[10]!==s?(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:s,children:r}),e[8]=r,e[9]=m,e[10]=s,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{o as x}from"./chunk-C4rtOYze.js";import{i as b}from"./useEvent-GCVIknuR.js";import{t as j}from"./react-C60yClUi.js";import{Yn as w,d as P,pn as C}from"./cells-BvgwUKB9.js";import{t as N}from"./compiler-runtime-DnimoHo0.js";import{t as c}from"./cn-DCUzRj2J.js";import{t as k}from"./jsx-runtime-3wZU7vFS.js";import{a as A,i as R,o as B}from"./config-DjP9S1hr.js";import{t as I}from"./badge-D28DMr4y.js";var S=N(),m=x(k(),1);const T=o=>{let r=(0,S.c)(8),{variableName:a,className:e}=o,t;r[0]===a?t=r[1]:(t=i=>{i.stopPropagation();let f=Y(a);if(!f)return;let u=P(f);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 Y(o){let r=b.get(w)[o];if(r)return r.declaredBy[0]}var p=N(),d=x(j(),1),y=d.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)(A,{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=d.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)(B,{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=d.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)(R,{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{T as a,h as i,y as n,v as r,g as t};
1
+ import{o as x}from"./chunk-C4rtOYze.js";import{i as b}from"./useEvent-GCVIknuR.js";import{t as j}from"./react-C60yClUi.js";import{Yn as w,d as P,pn as C}from"./cells-DD-zwhxi.js";import{t as N}from"./compiler-runtime-DnimoHo0.js";import{t as c}from"./cn-DCUzRj2J.js";import{t as k}from"./jsx-runtime-3wZU7vFS.js";import{a as A,i as R,o as B}from"./config-DjP9S1hr.js";import{t as I}from"./badge-D28DMr4y.js";var S=N(),m=x(k(),1);const T=o=>{let r=(0,S.c)(8),{variableName:a,className:e}=o,t;r[0]===a?t=r[1]:(t=i=>{i.stopPropagation();let f=Y(a);if(!f)return;let u=P(f);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 Y(o){let r=b.get(w)[o];if(r)return r.declaredBy[0]}var p=N(),d=x(j(),1),y=d.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)(A,{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=d.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)(B,{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=d.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)(R,{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{T as a,h as i,y as n,v as r,g as t};
@@ -1,3 +1,3 @@
1
- var w=Object.defineProperty;var O=(t,e,n)=>e in t?w(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var c=(t,e,n)=>O(t,typeof e!="symbol"?e+"":e,n);import{Jr as L,Pt as M,Xr as d,Zr as P,gr as $,hi as u,n as U,na as R,wr as D,xa as S}from"./cells-BvgwUKB9.js";import{g as _}from"./useEventListener-DpNnLPuE.js";import{n as f}from"./config-DjP9S1hr.js";import{t as k}from"./createLucideIcon-B8oVfJNp.js";var z=k("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"}]]),h,m;function F(t,e,n,a,i){var r={};return Object.keys(a).forEach(function(s){r[s]=a[s]}),r.enumerable=!!r.enumerable,r.configurable=!!r.configurable,("value"in r||r.initializer)&&(r.writable=!0),r=n.slice().reverse().reduce(function(s,o){return o(t,e,s)||s},r),i&&r.initializer!==void 0&&(r.value=r.initializer?r.initializer.call(i):void 0,r.initializer=void 0),r.initializer===void 0?(Object.defineProperty(t,e,r),null):r}function g(t){let e=t.indexOf("://");if(e!==-1)return t.slice(0,e)}var y=class{async getAttachments(t){return[]}asURI(t){return`${this.contextType}://${t}`}parseContextIds(t){let e=RegExp(`${this.mentionPrefix}([\\w-]+):\\/\\/([\\w./-]+)`,"g"),n=[...t.matchAll(e)],a=r=>r.slice(1),i=n.filter(([,r])=>r===this.contextType).map(([r])=>a(r));return[...new Set(i)]}createBasicCompletion(t,e){return{label:`${this.mentionPrefix}${t.uri.split("://")[1]}`,displayLabel:t.name,detail:(e==null?void 0:e.detail)||t.description,boost:(e==null?void 0:e.boost)||1,type:(e==null?void 0:e.type)||this.contextType,apply:`${this.mentionPrefix}${t.uri}`,section:(e==null?void 0:e.section)||this.title}}};let j=(h=R(),m=class{constructor(){c(this,"providers",new Set)}register(t){return this.providers.add(t),this}getProviders(){return this.providers}getProvider(t){return[...this.providers].find(e=>e.contextType===t)}getAllItems(){return[...this.providers].flatMap(t=>t.getItems())}parseAllContextIds(t){return[...this.providers].flatMap(e=>e.parseContextIds(t))}findProviderForUri(t){let e=g(t);if(e)return[...this.providers].find(n=>n.contextType===e&&n.getItems().some(a=>a.uri===t))}resolveItems(t){if(t.length===0)return[];let e=new f;for(let i of t){let r=g(i);r&&e.add(r,i)}let n=new Map;for(let[i,r]of e.entries()){let s=[...this.providers].filter(o=>o.contextType===i);for(let o of s){let C=new Map(o.getItems().map(l=>[l.uri,l]));for(let l of r){let p=C.get(l);p&&n.set(l,p)}}}let a=[];for(let i of t){let r=n.get(i);r&&a.push(r)}return a}getContextInfo(t){return this.resolveItems(t)}formatContextForAI(t){let e=this.resolveItems(t);return e.length===0?"":e.map(n=>{var a;return((a=this.findProviderForUri(n.uri))==null?void 0:a.formatContext(n))||""}).join(`
1
+ var w=Object.defineProperty;var O=(t,e,n)=>e in t?w(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var c=(t,e,n)=>O(t,typeof e!="symbol"?e+"":e,n);import{Pt as L,Qr as M,Sa as P,Yr as $,Zr as d,gi as u,gr as U,n as R,ra as S,wr as D}from"./cells-DD-zwhxi.js";import{g as _}from"./useEventListener-DpNnLPuE.js";import{n as f}from"./config-DjP9S1hr.js";import{t as k}from"./createLucideIcon-B8oVfJNp.js";var z=k("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"}]]),h,m;function F(t,e,n,a,i){var r={};return Object.keys(a).forEach(function(o){r[o]=a[o]}),r.enumerable=!!r.enumerable,r.configurable=!!r.configurable,("value"in r||r.initializer)&&(r.writable=!0),r=n.slice().reverse().reduce(function(o,s){return s(t,e,o)||o},r),i&&r.initializer!==void 0&&(r.value=r.initializer?r.initializer.call(i):void 0,r.initializer=void 0),r.initializer===void 0?(Object.defineProperty(t,e,r),null):r}function g(t){let e=t.indexOf("://");if(e!==-1)return t.slice(0,e)}var y=class{async getAttachments(t){return[]}asURI(t){return`${this.contextType}://${t}`}parseContextIds(t){let e=RegExp(`${this.mentionPrefix}([\\w-]+):\\/\\/([\\w./-]+)`,"g"),n=[...t.matchAll(e)],a=r=>r.slice(1),i=n.filter(([,r])=>r===this.contextType).map(([r])=>a(r));return[...new Set(i)]}createBasicCompletion(t,e){return{label:`${this.mentionPrefix}${t.uri.split("://")[1]}`,displayLabel:t.name,detail:(e==null?void 0:e.detail)||t.description,boost:(e==null?void 0:e.boost)||1,type:(e==null?void 0:e.type)||this.contextType,apply:`${this.mentionPrefix}${t.uri}`,section:(e==null?void 0:e.section)||this.title}}};let j=(h=S(),m=class{constructor(){c(this,"providers",new Set)}register(t){return this.providers.add(t),this}getProviders(){return this.providers}getProvider(t){return[...this.providers].find(e=>e.contextType===t)}getAllItems(){return[...this.providers].flatMap(t=>t.getItems())}parseAllContextIds(t){return[...this.providers].flatMap(e=>e.parseContextIds(t))}findProviderForUri(t){let e=g(t);if(e)return[...this.providers].find(n=>n.contextType===e&&n.getItems().some(a=>a.uri===t))}resolveItems(t){if(t.length===0)return[];let e=new f;for(let i of t){let r=g(i);r&&e.add(r,i)}let n=new Map;for(let[i,r]of e.entries()){let o=[...this.providers].filter(s=>s.contextType===i);for(let s of o){let C=new Map(s.getItems().map(l=>[l.uri,l]));for(let l of r){let p=C.get(l);p&&n.set(l,p)}}}let a=[];for(let i of t){let r=n.get(i);r&&a.push(r)}return a}getContextInfo(t){return this.resolveItems(t)}formatContextForAI(t){let e=this.resolveItems(t);return e.length===0?"":e.map(n=>{var a;return((a=this.findProviderForUri(n.uri))==null?void 0:a.formatContext(n))||""}).join(`
2
2
 
3
- `)}async getAttachmentsForContext(t){let e=this.resolveItems(t);if(e.length===0)return[];let n=new f;for(let i of e){let r=this.findProviderForUri(i.uri);r&&n.add(r,i)}let a=[...n.entries()].map(async([i,r])=>{try{return await i.getAttachments(r)}catch(s){return _.error("Error getting attachments from provider",s),[]}});return(await Promise.all(a)).flat()}},F(m.prototype,"getAllItems",[h],Object.getOwnPropertyDescriptor(m.prototype,"getAllItems"),m.prototype),m);function v(t){return t.replaceAll("<","&lt;").replaceAll(">","&gt;")}function b(t){let{type:e,data:n,details:a}=t,i=`<${e}`;for(let[r,s]of Object.entries(n))if(s!==void 0){let o=v(typeof s=="object"&&s?JSON.stringify(s):String(s));i+=` ${r}="${o}"`}return i+=">",a&&(i+=v(a)),i+=`</${e}>`,i}const x={LOCAL_TABLE:7,REMOTE_TABLE:5,HIGH:4,MEDIUM:3,CELL_OUTPUT:2,LOW:2},I={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 B=S(),T="datasource",A=class extends y{constructor(e,n){super();c(this,"title","Datasource");c(this,"mentionPrefix","@");c(this,"contextType",T);this.connectionsMap=e,this.dataframes=[...n.values()].filter(a=>P(a)==="dataframe")}getItems(){return[...this.connectionsMap.values()].map(e=>{var i;let n="Database schema.",a={connection:e};return u.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:r,...s}=n.connection,o=s;return u.has(a)||(o={...s,engine_name:a}),b({type:this.contextType,data:{connection:o,tables:n.tables}})}formatCompletion(e){let n=e.data,a=n.connection,i=n.tables,r=a.name;return u.has(a.name)&&(r="In-Memory"),{label:`@${r}`,displayLabel:r,detail:D(a.dialect),boost:x.MEDIUM,type:this.contextType,section:I.DATA_SOURCES,info:()=>{let s=document.createElement("div");return s.classList.add("mo-cm-tooltip","docs-documentation"),(0,B.createRoot)(s).render($(a,i)),s}}}};function E(t,e){var o;let n=(o=e.get(U(t)))==null?void 0:o.code;if(!n||n.trim()==="")return null;let[a,i,r]=M.sql.transformIn(n),s=e.get(d).connectionsMap.get(r.engine);return s?`@${T}://${s.name}`:null}function q(t,e){let n=E(t,e);if(!n)return null;let a=e.get(d).connectionsMap,i=new A(a,e.get(L)),r=n.slice(1),s=i.getItems().find(o=>o.uri===r);return s?i.formatContext(s):null}export{I as a,j as c,x as i,z as l,q as n,b as o,E as r,y as s,A as t};
3
+ `)}async getAttachmentsForContext(t){let e=this.resolveItems(t);if(e.length===0)return[];let n=new f;for(let i of e){let r=this.findProviderForUri(i.uri);r&&n.add(r,i)}let a=[...n.entries()].map(async([i,r])=>{try{return await i.getAttachments(r)}catch(o){return _.error("Error getting attachments from provider",o),[]}});return(await Promise.all(a)).flat()}},F(m.prototype,"getAllItems",[h],Object.getOwnPropertyDescriptor(m.prototype,"getAllItems"),m.prototype),m);function v(t){return t.replaceAll("<","&lt;").replaceAll(">","&gt;")}function b(t){let{type:e,data:n,details:a}=t,i=`<${e}`;for(let[r,o]of Object.entries(n))if(o!==void 0){let s=v(typeof o=="object"&&o?JSON.stringify(o):String(o));i+=` ${r}="${s}"`}return i+=">",a&&(i+=v(a)),i+=`</${e}>`,i}const x={LOCAL_TABLE:7,REMOTE_TABLE:5,HIGH:4,MEDIUM:3,CELL_OUTPUT:2,LOW:2},I={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 B=P(),T="datasource",A=class extends y{constructor(e,n){super();c(this,"title","Datasource");c(this,"mentionPrefix","@");c(this,"contextType",T);this.connectionsMap=e,this.dataframes=[...n.values()].filter(a=>M(a)==="dataframe")}getItems(){return[...this.connectionsMap.values()].map(e=>{var i;let n="Database schema.",a={connection:e};return u.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:r,...o}=n.connection,s=o;return u.has(a)||(s={...o,engine_name:a}),b({type:this.contextType,data:{connection:s,tables:n.tables}})}formatCompletion(e){let n=e.data,a=n.connection,i=n.tables,r=a.name;return u.has(a.name)&&(r="In-Memory"),{label:`@${r}`,displayLabel:r,detail:D(a.dialect),boost:x.MEDIUM,type:this.contextType,section:I.DATA_SOURCES,info:()=>{let o=document.createElement("div");return o.classList.add("mo-cm-tooltip","docs-documentation"),(0,B.createRoot)(o).render(U(a,i)),o}}}};function E(t,e){var s;let n=(s=e.get(R(t)))==null?void 0:s.code;if(!n||n.trim()==="")return null;let[a,i,r]=L.sql.transformIn(n),o=e.get(d).connectionsMap.get(r.engine);return o?`@${T}://${o.name}`:null}function q(t,e){let n=E(t,e);if(!n)return null;let a=e.get(d).connectionsMap,i=new A(a,e.get($)),r=n.slice(1),o=i.getItems().find(s=>s.uri===r);return o?i.formatContext(o):null}export{I as a,j as c,x as i,z as l,q as n,b as o,E as r,y as s,A as t};