@marimo-team/frontend 0.25.3-dev5 → 0.25.3-dev6

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 (58) hide show
  1. package/dist/assets/JsonOutput-CYB1yEoe.js +11 -0
  2. package/dist/assets/MarimoErrorOutput-BTy4MOzX.js +10 -0
  3. package/dist/assets/{add-cell-with-ai-C_SruRWS.js → add-cell-with-ai-f_MnLCwI.js} +1 -1
  4. package/dist/assets/{agent-panel-0b3k4QzJ.js → agent-panel-C5mZtUrU.js} +3 -3
  5. package/dist/assets/ai-model-dropdown-zm-2fXzf.js +13 -0
  6. package/dist/assets/{app-config-button-iXdCWvfC.js → app-config-button-BhU0ulYs.js} +1 -1
  7. package/dist/assets/{cell-editor-CR-tZNnc.js → cell-editor-CEiJJF6a.js} +1 -1
  8. package/dist/assets/{chat-display-luF7psRA.js → chat-display-BmEPmhDP.js} +1 -1
  9. package/dist/assets/{chat-panel-DDDTnLvB.js → chat-panel-Ce2Xh7dM.js} +1 -1
  10. package/dist/assets/{chat-ui-nV_m4Btr.js → chat-ui-DTy98rP3.js} +1 -1
  11. package/dist/assets/{column-preview-uosAAL4X.js → column-preview-o9xRdZTY.js} +1 -1
  12. package/dist/assets/{command-palette-BZ13RKDJ.js → command-palette-CSd1kEo3.js} +1 -1
  13. package/dist/assets/{components-S7ZwOrvO.js → components-Dvd1GnD6.js} +1 -1
  14. package/dist/assets/config-DJLAC21v.js +1 -0
  15. package/dist/assets/{datasource-V0-52XOh.js → datasource-Dr1xNKUn.js} +1 -1
  16. package/dist/assets/{edit-page-CGyjT-CQ.js → edit-page-C-u87GMH.js} +6 -6
  17. package/dist/assets/{error-panel-C-uxLOHF.js → error-panel-DpbNKSLs.js} +1 -1
  18. package/dist/assets/{file-explorer-panel-D3CphidS.js → file-explorer-panel-s9KTVUsc.js} +1 -1
  19. package/dist/assets/{home-page-B1M3X9Yf.js → home-page-KrhQ55Vg.js} +1 -1
  20. package/dist/assets/{hooks-Bj0C0zrZ.js → hooks-DUp5IAgD.js} +1 -1
  21. package/dist/assets/index-6b4mf8Ai.css +2 -0
  22. package/dist/assets/{index-DnIgeCyQ.js → index-T8B8EIDN.js} +5 -4
  23. package/dist/assets/{layout-DBuMeWh0.js → layout-SMSvAj_V.js} +3 -3
  24. package/dist/assets/{packages-panel-9Qs1npCZ.js → packages-panel-ClxOAEGy.js} +1 -1
  25. package/dist/assets/{panels-B9x935By.js → panels-B0xPudVP.js} +1 -1
  26. package/dist/assets/{reveal-component-B9FLjTg_.js → reveal-component-Dt9zvXLN.js} +1 -1
  27. package/dist/assets/{run-page-CjdGaic3.js → run-page-C9D267vr.js} +1 -1
  28. package/dist/assets/{scratchpad-panel-DtB0A8xj.js → scratchpad-panel-Y_PFOI4m.js} +1 -1
  29. package/dist/assets/{session-panel-B6tA28BD.js → session-panel-vO6eOEyz.js} +1 -1
  30. package/dist/assets/{state-BUsmcyaT.js → state-z3dlofZB.js} +1 -1
  31. package/dist/assets/{useNotebookActions-CupIPSlg.js → useNotebookActions-11Ni_ABm.js} +1 -1
  32. package/dist/index.html +8 -8
  33. package/package.json +1 -1
  34. package/src/__tests__/fixtures/{pair-preview.ts → pair-config.ts} +3 -2
  35. package/src/__tests__/mount.test.ts +8 -8
  36. package/src/components/editor/Output.tsx +5 -1
  37. package/src/components/editor/actions/__tests__/pair-with-agent-commands.test.ts +80 -252
  38. package/src/components/editor/actions/__tests__/pair-with-agent-modal.test.tsx +186 -34
  39. package/src/components/editor/actions/pair-with-agent-commands.ts +42 -51
  40. package/src/components/editor/actions/pair-with-agent-modal.tsx +96 -36
  41. package/src/components/editor/chrome/wrapper/__tests__/attachment-status.test.tsx +267 -62
  42. package/src/components/editor/chrome/wrapper/footer-items/attachment-status.tsx +196 -41
  43. package/src/components/editor/errors/__tests__/send-error-report-button.test.tsx +127 -13
  44. package/src/components/editor/errors/send-error-report-button.tsx +10 -7
  45. package/src/components/editor/output/MarimoTracebackOutput.tsx +27 -21
  46. package/src/core/attachments/__tests__/toast.test.tsx +58 -0
  47. package/src/core/attachments/toast.ts +15 -0
  48. package/src/core/cells/__tests__/error-report.test.ts +53 -3
  49. package/src/core/cells/__tests__/session.test.ts +18 -3
  50. package/src/core/cells/error-report.ts +14 -6
  51. package/src/core/cells/session.ts +19 -1
  52. package/src/core/config/pair.ts +5 -3
  53. package/src/mount.tsx +3 -3
  54. package/dist/assets/JsonOutput-d-k8v_17.js +0 -11
  55. package/dist/assets/MarimoErrorOutput-CLYUxiKW.js +0 -10
  56. package/dist/assets/ai-model-dropdown-C6GHHEdR.js +0 -5
  57. package/dist/assets/config-FzDtjF1-.js +0 -1
  58. package/dist/assets/index-CXIE-QEG.css +0 -2
@@ -1 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{f as t,u as n}from"./useEvent-Dfcbgjhg.js";import{t as r}from"./react-DVplv7_D.js";import{P as i,j as a}from"./schemas-Dv42wLFq.js";import{t as o}from"./compiler-runtime-BrajqUja.js";import{E as s,y as c}from"./config-VPSq73n8.js";import{g as l,o as u}from"./useEventListener-D9cftcHj.js";import{r as d}from"./config-DX8Y2WbJ.js";import{t as f}from"./cn-ldLVeaqm.js";import{t as p}from"./jsx-runtime-B74pBk57.js";import{C as m,S as h,T as g,b as _,w as v,x as y,y as b}from"./fullscreen-B9tHcfpV.js";import{d as x,u as ee}from"./menu-items-BrwnTgyK.js";import{a as te}from"./useNumberFormatter-D7O_26UI.js";import{t as S}from"./strings-B2vv-ENv.js";import{r as ne}from"./requests-lt0JK8Jt.js";import{r as C}from"./errors-DCrsa1nH.js";var re=a({command:i(),templates:a({prompt:i(),session:i(),token_file:i(),token:i()})}),ie=t(void 0),w=e(r(),1),T=p(),ae=Object.defineProperty,E=(e,t)=>ae(e,`name`,{value:t,configurable:!0}),D=`Collapsible`,[oe,O]=v(D),[se,k]=oe(D),ce=w.forwardRef(E(function(e,t){let{__scopeCollapsible:n,open:r,defaultOpen:i,disabled:a,onOpenChange:o,...s}=e,[c,l]=y({prop:r,defaultProp:i??!1,onChange:o,caller:D});return(0,T.jsx)(se,{scope:n,disabled:a,contentId:b(),open:c,onOpenToggle:w.useCallback(()=>l(e=>!e),[l]),children:(0,T.jsx)(g.div,{"data-state":A(c),"data-disabled":a?``:void 0,...s,ref:t})})},`Collapsible`)),le=`CollapsibleTrigger`,ue=w.forwardRef(E(function(e,t){let{__scopeCollapsible:n,...r}=e,i=k(le,n);return(0,T.jsx)(g.button,{type:`button`,"aria-controls":i.open?i.contentId:void 0,"aria-expanded":i.open||!1,"data-state":A(i.open),"data-disabled":i.disabled?``:void 0,disabled:i.disabled,...r,ref:t,onClick:m(e.onClick,i.onOpenToggle)})},`CollapsibleTrigger`)),de=`CollapsibleContent`,fe=w.forwardRef(E(function(e,t){let{forceMount:n,...r}=e,i=k(de,e.__scopeCollapsible);return(0,T.jsx)(_,{present:n||i.open,children:({present:e})=>(0,T.jsx)(pe,{...r,ref:t,present:e})})},`CollapsibleContent`)),pe=w.forwardRef(E(function(e,t){let{__scopeCollapsible:n,present:r,children:i,...a}=e,o=k(de,n),[s,c]=w.useState(r),l=w.useRef(null),d=u(t,l),f=w.useRef(0),p=f.current,m=w.useRef(0),_=m.current,v=o.open||s,y=w.useRef(v),b=w.useRef(void 0);return w.useEffect(()=>{let e=requestAnimationFrame(()=>y.current=!1);return()=>cancelAnimationFrame(e)},[]),h(()=>{let e=l.current;if(e){b.current=b.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration=`0s`,e.style.animationName=`none`;let t=e.getBoundingClientRect();f.current=t.height,m.current=t.width,y.current||(e.style.transitionDuration=b.current.transitionDuration,e.style.animationName=b.current.animationName),c(r)}},[o.open,r]),(0,T.jsx)(g.div,{"data-state":A(o.open),"data-disabled":o.disabled?``:void 0,id:o.contentId,hidden:!v,...a,ref:d,style:{"--radix-collapsible-content-height":p?`${p}px`:void 0,"--radix-collapsible-content-width":_?`${_}px`:void 0,...e.style},children:v&&i})},`CollapsibleContentImpl`));function A(e){return e?`open`:`closed`}E(A,`getState`);var me=ce,he=ue,ge=fe,_e=Object.defineProperty,j=(e,t)=>_e(e,`name`,{value:t,configurable:!0}),M=`Accordion`,ve=[`Home`,`End`,`ArrowDown`,`ArrowUp`,`ArrowLeft`,`ArrowRight`],[N,ye,be]=x(M),[P,xe]=v(M,[be,O]),F=O(),Se=w.forwardRef(j(function(e,t){let{type:n,...r}=e,i=r,a=r;return(0,T.jsx)(N.Provider,{scope:e.__scopeAccordion,children:n===`multiple`?(0,T.jsx)(Ee,{...a,ref:t}):(0,T.jsx)(Te,{...i,ref:t})})},`Accordion`)),[I,Ce]=P(M),[L,we]=P(M,{collapsible:!1}),Te=w.forwardRef(j(function(e,t){let{value:n,defaultValue:r,onValueChange:i=j(()=>{},`onValueChange`),collapsible:a=!1,...o}=e,[s,c]=y({prop:n,defaultProp:r??``,onChange:i,caller:M});return(0,T.jsx)(I,{scope:e.__scopeAccordion,value:w.useMemo(()=>s?[s]:[],[s]),onItemOpen:c,onItemClose:w.useCallback(()=>a&&c(``),[a,c]),children:(0,T.jsx)(L,{scope:e.__scopeAccordion,collapsible:a,children:(0,T.jsx)(z,{...o,ref:t})})})},`AccordionImplSingle`)),Ee=w.forwardRef(j(function(e,t){let{value:n,defaultValue:r,onValueChange:i=j(()=>{},`onValueChange`),...a}=e,[o,s]=y({prop:n,defaultProp:r??[],onChange:i,caller:M}),c=w.useCallback(e=>s((t=[])=>[...t,e]),[s]),l=w.useCallback(e=>s((t=[])=>t.filter(t=>t!==e)),[s]);return(0,T.jsx)(I,{scope:e.__scopeAccordion,value:o,onItemOpen:c,onItemClose:l,children:(0,T.jsx)(L,{scope:e.__scopeAccordion,collapsible:!0,children:(0,T.jsx)(z,{...a,ref:t})})})},`AccordionImplMultiple`)),[De,R]=P(M),z=w.forwardRef(j(function(e,t){let{__scopeAccordion:n,disabled:r,dir:i,orientation:a=`vertical`,...o}=e,s=w.useRef(null),c=u(s,t),l=ye(n),d=ee(i)===`ltr`,f=m(e.onKeyDown,e=>{if(!ve.includes(e.key))return;let t=e.target,n=l().filter(e=>!e.ref.current?.disabled),r=n.findIndex(e=>e.ref.current===t),i=n.length;if(r===-1)return;e.preventDefault();let o=r,s=i-1,c=j(()=>{o=r+1,o>s&&(o=0)},`moveNext`),u=j(()=>{o=r-1,o<0&&(o=s)},`movePrev`);switch(e.key){case`Home`:o=0;break;case`End`:o=s;break;case`ArrowRight`:a===`horizontal`&&(d?c():u());break;case`ArrowDown`:a===`vertical`&&c();break;case`ArrowLeft`:a===`horizontal`&&(d?u():c());break;case`ArrowUp`:a===`vertical`&&u()}n[o%i].ref.current?.focus()});return(0,T.jsx)(De,{scope:n,disabled:r,direction:i,orientation:a,children:(0,T.jsx)(N.Slot,{scope:n,children:(0,T.jsx)(g.div,{...o,"data-orientation":a,ref:c,onKeyDown:r?void 0:f})})})},`AccordionImpl`)),B=`AccordionItem`,[Oe,V]=P(B),ke=w.forwardRef(j(function(e,t){let{__scopeAccordion:n,value:r,...i}=e,a=R(B,n),o=Ce(B,n),s=F(n),c=b(),l=r&&o.value.includes(r)||!1,u=a.disabled||e.disabled;return(0,T.jsx)(Oe,{scope:n,open:l,disabled:u,triggerId:c,children:(0,T.jsx)(me,{"data-orientation":a.orientation,"data-state":U(l),...s,...i,ref:t,disabled:u,open:l,onOpenChange:e=>{e?o.onItemOpen(r):o.onItemClose(r)}})})},`AccordionItem`)),Ae=`AccordionHeader`,je=w.forwardRef(j(function(e,t){let{__scopeAccordion:n,...r}=e,i=R(M,n),a=V(Ae,n);return(0,T.jsx)(g.h3,{"data-orientation":i.orientation,"data-state":U(a.open),"data-disabled":a.disabled?``:void 0,...r,ref:t})},`AccordionHeader`)),H=`AccordionTrigger`,Me=w.forwardRef(j(function(e,t){let{__scopeAccordion:n,...r}=e,i=R(M,n),a=V(H,n),o=we(H,n),s=F(n);return(0,T.jsx)(N.ItemSlot,{scope:n,children:(0,T.jsx)(he,{"aria-disabled":a.open&&!o.collapsible||void 0,"data-orientation":i.orientation,id:a.triggerId,...s,...r,ref:t})})},`AccordionTrigger`)),Ne=`AccordionContent`,Pe=w.forwardRef(j(function(e,t){let{__scopeAccordion:n,...r}=e,i=R(M,n),a=V(Ne,n),o=F(n);return(0,T.jsx)(ge,{role:`region`,"aria-labelledby":a.triggerId,"data-orientation":i.orientation,...o,...r,ref:t,style:{"--radix-accordion-content-height":`var(--radix-collapsible-content-height)`,"--radix-accordion-content-width":`var(--radix-collapsible-content-width)`,...e.style}})},`AccordionContent`));function U(e){return e?`open`:`closed`}j(U,`getState`);var W=Se,G=ke,Fe=je,K=Me,q=Pe,Ie={"Content-Type":`application/json`},Le=/\{[^{}]+\}/g,Re=class extends Request{constructor(e,t){super(e,t);for(let e in t)e in this||(this[e]=t[e])}};function ze(e){let{baseUrl:t=``,fetch:n=globalThis.fetch,querySerializer:r,bodySerializer:i,headers:a,...o}={...e};t.endsWith(`/`)&&(t=t.substring(0,t.length-1)),a=We(Ie,a);let s=[];async function c(e,c){let{fetch:l=n,headers:u,params:d={},parseAs:f=`json`,querySerializer:p,bodySerializer:m=i??He,...h}=c||{},g=typeof r==`function`?r:X(r);p&&(g=typeof p==`function`?p:X({...typeof r==`object`?r:{},...p}));let _={redirect:`follow`,...o,...h,headers:We(a,u,d.header)};_.body&&=m(_.body),_.body instanceof FormData&&_.headers.delete(`Content-Type`);let v=new Re(Ue(e,{baseUrl:t,params:d,querySerializer:g}),_),y={baseUrl:t,fetch:l,parseAs:f,querySerializer:g,bodySerializer:m};for(let t of s)if(t&&typeof t==`object`&&typeof t.onRequest==`function`){v.schemaPath=e,v.params=d;let n=await t.onRequest(v,y);if(n){if(!(n instanceof Request))throw Error(`Middleware must return new Request() when modifying the request`);v=n}}let b=await l(v);for(let e=s.length-1;e>=0;e--){let t=s[e];if(t&&typeof t==`object`&&typeof t.onResponse==`function`){let e=await t.onResponse(b,y);if(e){if(!(e instanceof Response))throw Error(`Middleware must return new Response() when modifying the response`);b=e}}}if(b.status===204||b.headers.get(`Content-Length`)===`0`)return b.ok?{data:{},response:b}:{error:{},response:b};if(b.ok)return f===`stream`?{data:b.body,response:b}:{data:await b[f](),response:b};let x=await b.text();try{x=JSON.parse(x)}catch{}return{error:x,response:b}}return{async GET(e,t){return c(e,{...t,method:`GET`})},async PUT(e,t){return c(e,{...t,method:`PUT`})},async POST(e,t){return c(e,{...t,method:`POST`})},async DELETE(e,t){return c(e,{...t,method:`DELETE`})},async OPTIONS(e,t){return c(e,{...t,method:`OPTIONS`})},async HEAD(e,t){return c(e,{...t,method:`HEAD`})},async PATCH(e,t){return c(e,{...t,method:`PATCH`})},async TRACE(e,t){return c(e,{...t,method:`TRACE`})},use(...e){for(let t of e)if(t){if(typeof t!=`object`||!(`onRequest`in t||`onResponse`in t))throw Error("Middleware must be an object with one of `onRequest()` or `onResponse()`");s.push(t)}},eject(...e){for(let t of e){let e=s.indexOf(t);e!==-1&&s.splice(e,1)}}}}function J(e,t,n){if(t==null)return``;if(typeof t==`object`)throw Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${e}=${n?.allowReserved===!0?t:encodeURIComponent(t)}`}function Y(e,t,n){if(!t||typeof t!=`object`)return``;let r=[],i={simple:`,`,label:`.`,matrix:`;`}[n.style]||`&`;if(n.style!==`deepObject`&&n.explode===!1){for(let e in t)r.push(e,n.allowReserved===!0?t[e]:encodeURIComponent(t[e]));let i=r.join(`,`);switch(n.style){case`form`:return`${e}=${i}`;case`label`:return`.${i}`;case`matrix`:return`;${e}=${i}`;default:return i}}for(let i in t){let a=n.style===`deepObject`?`${e}[${i}]`:i;r.push(J(a,t[i],n))}let a=r.join(i);return n.style===`label`||n.style===`matrix`?`${i}${a}`:a}function Be(e,t,n){if(!Array.isArray(t))return``;if(n.explode===!1){let r={form:`,`,spaceDelimited:`%20`,pipeDelimited:`|`}[n.style]||`,`,i=(n.allowReserved===!0?t:t.map(e=>encodeURIComponent(e))).join(r);switch(n.style){case`simple`:return i;case`label`:return`.${i}`;case`matrix`:return`;${e}=${i}`;default:return`${e}=${i}`}}let r={simple:`,`,label:`.`,matrix:`;`}[n.style]||`&`,i=[];for(let r of t)n.style===`simple`||n.style===`label`?i.push(n.allowReserved===!0?r:encodeURIComponent(r)):i.push(J(e,r,n));return n.style===`label`||n.style===`matrix`?`${r}${i.join(r)}`:i.join(r)}function X(e){return function(t){let n=[];if(t&&typeof t==`object`)for(let r in t){let i=t[r];if(i!=null){if(Array.isArray(i)){n.push(Be(r,i,{style:`form`,explode:!0,...e?.array,allowReserved:e?.allowReserved||!1}));continue}if(typeof i==`object`){n.push(Y(r,i,{style:`deepObject`,explode:!0,...e?.object,allowReserved:e?.allowReserved||!1}));continue}n.push(J(r,i,e))}}return n.join(`&`)}}function Ve(e,t){let n=e;for(let r of e.match(Le)??[]){let e=r.substring(1,r.length-1),i=!1,a=`simple`;if(e.endsWith(`*`)&&(i=!0,e=e.substring(0,e.length-1)),e.startsWith(`.`)?(a=`label`,e=e.substring(1)):e.startsWith(`;`)&&(a=`matrix`,e=e.substring(1)),!t||t[e]===void 0||t[e]===null)continue;let o=t[e];if(Array.isArray(o)){n=n.replace(r,Be(e,o,{style:a,explode:i}));continue}if(typeof o==`object`){n=n.replace(r,Y(e,o,{style:a,explode:i}));continue}if(a===`matrix`){n=n.replace(r,`;${J(e,o)}`);continue}n=n.replace(r,a===`label`?`.${o}`:o)}return n}function He(e){return JSON.stringify(e)}function Ue(e,t){let n=`${t.baseUrl}${e}`;t.params?.path&&(n=Ve(n,t.params.path));let r=t.querySerializer(t.params.query??{});return r.startsWith(`?`)&&(r=r.substring(1)),r&&(n+=`?${r}`),n}function We(...e){let t=new Headers;for(let n of e){if(!n||typeof n!=`object`)continue;let e=n instanceof Headers?n.entries():Object.entries(n);for(let[n,r]of e)if(r===null)t.delete(n);else if(Array.isArray(r))for(let e of r)t.append(n,e);else r!==void 0&&t.set(n,r)}return t}function Ge(e){return ze(e)}function Ke(){let e=d().httpURL;return e.search=``,e.hash=``,e.toString()}function qe(e){if(!e)return;let t=e.match(/filename\*=UTF-8''([^;]+)/i);if(t)try{return decodeURIComponent(t[1])}catch{return}let n=e.match(/filename="([^"]+)"/i);if(n)return n[1];let r=e.match(/filename=([^;]+)/i);if(r)return r[1].trim()}function Je(e){let t=qe(e.headers.get(`Content-Disposition`));return t||l.warn(`Export response is missing a readable Content-Disposition filename`),t}var Z={post(e,t,n={}){let r=`${S.withTrailingSlash(n.baseUrl??Ke())}api${e}`;return fetch(r,{method:`POST`,headers:{"Content-Type":`application/json`,...Z.headers(),...n.headers},body:JSON.stringify(t),signal:n.signal}).then(async e=>{let t=e.headers.get(`Content-Type`)?.startsWith(`application/json`);if(!e.ok){let n=t?await e.json():await e.text();throw new C(e.status,e.statusText,n)}return t?e.json():e.text()}).catch(e=>{throw e?.name!==`AbortError`&&l.error(`Error requesting ${r}`,e),e})},get(e,t={}){let n=`${S.withTrailingSlash(t.baseUrl??Ke())}api${e}`;return fetch(n,{method:`GET`,headers:{...Z.headers(),...t.headers}}).then(e=>{if(!e.ok)throw new C(e.status,e.statusText);return e.headers.get(`Content-Type`)?.startsWith(`application/json`)?e.json():null}).catch(e=>{throw l.error(`Error requesting ${n}`,e),e})},headers(){return d().headers()},handleResponse:e=>e.error?Promise.reject(new C(e.response.status,e.response.statusText,e.error)):Promise.resolve(e.data),handleExportResponse:async(e,t)=>{let n=await Z.handleResponse(e),r=e.response.headers.get(`Content-Type`);if(!r)throw Error(`Export response is missing a media type`);return{contents:n,filename:Je(e.response)??t.defaultFilename,mediaType:r}},handleResponseReturnNull:e=>e.error?Promise.reject(new C(e.response.status,e.response.statusText,e.error)):Promise.resolve(null)};function Ye(e){let t=Ge({baseUrl:e.httpURL.toString()});return t.use({onRequest:t=>{let n=e.headers();for(let[e,r]of Object.entries(n))t.headers.set(e,r);return t}}),t}var Q=o(),Xe=W,Ze=w.forwardRef((e,t)=>{let n=(0,Q.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=f(`border-b`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,T.jsx)(G,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});Ze.displayName=`AccordionItem`;var Qe=w.forwardRef((e,t)=>{let n=(0,Q.c)(12),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:i,children:r,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o;n[4]===i?o=n[5]:(o=f(`flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180 text-start`,i),n[4]=i,n[5]=o);let s;n[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,T.jsx)(te,{className:`h-4 w-4 transition-transform duration-200`}),n[6]=s):s=n[6];let c;return n[7]!==r||n[8]!==a||n[9]!==t||n[10]!==o?(c=(0,T.jsx)(Fe,{className:`flex`,children:(0,T.jsxs)(K,{ref:t,className:o,...a,children:[r,s]})}),n[7]=r,n[8]=a,n[9]=t,n[10]=o,n[11]=c):c=n[11],c});Qe.displayName=K.displayName;var $=w.forwardRef((e,t)=>{let n=(0,Q.c)(17),r,i,a,o;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4]):({className:i,children:r,wrapperClassName:o,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o);let s;n[5]===i?s=n[6]:(s=f(`overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down`,i),n[5]=i,n[6]=s);let c;n[7]===o?c=n[8]:(c=f(`pb-4 pt-0`,o),n[7]=o,n[8]=c);let l;n[9]!==r||n[10]!==c?(l=(0,T.jsx)(`div`,{className:c,children:r}),n[9]=r,n[10]=c,n[11]=l):l=n[11];let u;return n[12]!==a||n[13]!==t||n[14]!==s||n[15]!==l?(u=(0,T.jsx)(q,{ref:t,className:s,...a,children:l}),n[12]=a,n[13]=t,n[14]=s,n[15]=l,n[16]=u):u=n[16],u});$.displayName=q.displayName;var $e=class{map=new Map;get(e){return this.map.get(e)??[]}set(e,t){this.map.set(e,t)}add(e,t){this.map.has(e)?this.map.get(e).push(t):this.map.set(e,[t])}has(e){return this.map.has(e)}delete(e){return this.map.delete(e)}clear(){this.map.clear()}keys(){return this.map.keys()}values(){return this.map.values()}entries(){return this.map.entries()}forEach(e){this.map.forEach(e)}flatValues(){let e=[];for(let t of this.map.values())e.push(...t);return e}get size(){return this.map.size}},et=e=>{switch(e){case`chat`:return`chat_model`;case`autocomplete`:return`autocomplete_model`;case`edit`:return`edit_model`}},tt=()=>{let e=(0,Q.c)(10),t=n(s),{saveUserConfig:r}=ne(),i;e[0]!==r||e[1]!==t?(i=async e=>{let n={ai:e};await r({config:n}).then(()=>{t(e=>c(e,n))})},e[0]=r,e[1]=t,e[2]=i):i=e[2];let a=i,o;e[3]===a?o=e[4]:(o=async(e,t)=>{let n=et(t);n&&await a({models:{[n]:e}})},e[3]=a,e[4]=o);let l=o,u;e[5]===a?u=e[6]:(u=async e=>{await a({mode:e})},e[5]=a,e[6]=u);let d=u,f;return e[7]!==d||e[8]!==l?(f={saveModelChange:l,saveModeChange:d},e[7]=d,e[8]=l,e[9]=f):f=e[9],f};export{Ze as a,Ye as c,W as d,K as f,$ as i,q as l,re as m,$e as n,Qe as o,ie as p,Xe as r,Z as s,tt as t,G as u};