@marimo-team/frontend 0.24.1-dev41 → 0.24.1-dev43
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.
- package/dist/assets/{CellStatus-CfNQG_fZ.js → CellStatus-B6CWKORY.js} +1 -1
- package/dist/assets/ConnectedDataExplorerComponent-DZnvpjue.js +1 -0
- package/dist/assets/JsonOutput-BI2qFHVr.js +50 -0
- package/dist/assets/MarimoErrorOutput-BXh29HCp.js +6 -0
- package/dist/assets/RenderHTML-COTZYPO7.js +1 -0
- package/dist/assets/RunButton-DTUzITFm.js +1 -0
- package/dist/assets/VisuallyHidden-DurJ_JBW.js +1 -0
- package/dist/assets/{add-cell-with-ai-CGBEoX6T.js → add-cell-with-ai-B0RdHenk.js} +19 -19
- package/dist/assets/add-connection-dialog-CcnJ2LkX.js +166 -0
- package/dist/assets/agent-panel-PB0I1dIC.js +286 -0
- package/dist/assets/ai-model-dropdown-DjQy2bo-.js +3 -0
- package/dist/assets/app-config-button-COFLeJCU.js +1 -0
- package/dist/assets/{blob-ChElOQvm.js → blob-BBiZd3vX.js} +1 -1
- package/dist/assets/{cache-panel-CLfGxru6.js → cache-panel-MAXVmKkG.js} +1 -1
- package/dist/assets/cell-editor-5wcJHF0s.js +24 -0
- package/dist/assets/cell-link-BbAJokoX.js +1 -0
- package/dist/assets/cells-B1S_6FG3.js +227 -0
- package/dist/assets/chat-display-ClG9MRI_.js +1 -0
- package/dist/assets/chat-panel-BRoqCSCR.js +4 -0
- package/dist/assets/chat-ui-CNvkb287.js +4 -0
- package/dist/assets/circle--ysFeW9z.js +1 -0
- package/dist/assets/column-preview-D6cIOnWQ.js +1 -0
- package/dist/assets/command-palette-DtZy0Am-.js +1 -0
- package/dist/assets/common-BGLbVHCS.js +1 -0
- package/dist/assets/components-BAvTsivu.js +1 -0
- package/dist/assets/config-DcB2swfZ.js +1 -0
- package/dist/assets/context-Do8M9TDF.js +1 -0
- package/dist/assets/{datasource-C0_eJO-0.js → datasource-BrSYgi6C.js} +2 -2
- package/dist/assets/dependency-graph-panel-C13q-nga.js +5 -0
- package/dist/assets/{documentation-panel-CxjnCPq6.js → documentation-panel-CtQqNEQw.js} +1 -1
- package/dist/assets/{download-CxzOE8FX.js → download-CIdXYNHv.js} +1 -1
- package/dist/assets/dropdown-menu-CqNabM1f.js +1 -0
- package/dist/assets/edit-page-jAyDC21z.js +9 -0
- package/dist/assets/{error-entries-DCRQWi_N.js → error-entries-DEjvzkum.js} +1 -1
- package/dist/assets/{error-panel-Bx5cPw6N.js → error-panel-BvrDwUv8.js} +1 -1
- package/dist/assets/file-explorer-panel-DYujxxK-.js +1 -0
- package/dist/assets/{file-icons-DxXY84Jn.js → file-icons-Bo1Ewf1W.js} +1 -1
- package/dist/assets/file-name-input-BDGq0-ac.js +3 -0
- package/dist/assets/{floating-outline-gjfcwmyU.js → floating-outline-CNsG18LK.js} +1 -1
- package/dist/assets/{gallery-page-BI3aTl8u.js → gallery-page-4dZlIWMe.js} +1 -1
- package/dist/assets/{glide-data-editor-CrWGp7DP.js → glide-data-editor-BQNVc0zc.js} +2 -2
- package/dist/assets/home-page-CFAldshJ.js +4 -0
- package/dist/assets/html-to-image-DMn_7CCA.js +2 -0
- package/dist/assets/index-0VrRpta0.css +2 -0
- package/dist/assets/index-BBPHmHdW.js +29 -0
- package/dist/assets/input-DeyycFtq.js +7 -0
- package/dist/assets/{layout-BQjGHHu-.js → layout-Ddsz1eHh.js} +5 -5
- package/dist/assets/{logs-panel-D1RUMXL1.js → logs-panel-BSD1GETR.js} +1 -1
- package/dist/assets/markdown-renderer-DIXiKP4m.js +2 -0
- package/dist/assets/{mermaid-DtNubw9S.js → mermaid-CwvTqKGz.js} +2 -2
- package/dist/assets/{name-cell-input-DSKoNRk3.js → name-cell-input-zqypwqoZ.js} +1 -1
- package/dist/assets/{outline-panel-UIygpaO3.js → outline-panel-C5GAyqII.js} +1 -1
- package/dist/assets/packages-panel-CYLyGihe.js +1 -0
- package/dist/assets/{pair-with-agent-modal-Pl5cv7Gv.js → pair-with-agent-modal-CBIL9_6g.js} +2 -2
- package/dist/assets/panel-accordion-state-DmV3OgfX.js +1 -0
- package/dist/assets/panels-D53vWR00.js +4 -0
- package/dist/assets/{process-output-BWDSbk5d.js → process-output-DNhz9LLW.js} +1 -1
- package/dist/assets/{readonly-code-display-Bbnq-khe.js → readonly-code-display-CKT-gv1m.js} +1 -1
- package/dist/assets/readonly-python-code-De0vvuWh.js +1 -0
- package/dist/assets/{renderShortcut-Dj3NbkoC.js → renderShortcut-D9XYVNe3.js} +1 -1
- package/dist/assets/{reveal-component-Bgmfon3f.js → reveal-component-C0L5MU2W.js} +4 -4
- package/dist/assets/run-page-DXZapRtY.js +1 -0
- package/dist/assets/scratchpad-panel-ja6doGoa.js +1 -0
- package/dist/assets/secrets-panel-B7Rcwc2I.js +1 -0
- package/dist/assets/select-BUEX2Vfl.js +1 -0
- package/dist/assets/session-panel-ftyqfsYy.js +1 -0
- package/dist/assets/{skeleton-DGs-LrlZ.js → skeleton-CxFczTPo.js} +1 -1
- package/dist/assets/snippets-panel-BZ254lxN.js +1 -0
- package/dist/assets/{state-WVnIPIsw.js → state-MlBpc9qi.js} +3 -3
- package/dist/assets/{state-N_csMEH1.js → state-llVv0lIh.js} +1 -1
- package/dist/assets/switch-CBR-ykv3.js +1 -0
- package/dist/assets/tabs-c6mpccpH.js +1 -0
- package/dist/assets/{terminal-aLrVlOf6.js → terminal-OC_FnEas.js} +3 -3
- package/dist/assets/tracing-C0FGWieO.js +1 -0
- package/dist/assets/tracing-panel-LeIOi1Tv.js +2 -0
- package/dist/assets/{tree-actions-Ctf5W0DR.js → tree-actions-CrWpuExP.js} +1 -1
- package/dist/assets/useAddCell-DIdbaU70.js +1 -0
- package/dist/assets/useCellActionButton-DXyUqFdJ.js +1 -0
- package/dist/assets/{useDateFormatter-CfPcCT-J.js → useDateFormatter-BiqAQ-zI.js} +1 -1
- package/dist/assets/{useDeleteCell-6wcjnAMK.js → useDeleteCell-CSCMg7Up.js} +1 -1
- package/dist/assets/useDependencyPanelTab-Bt7aBDpS.js +1 -0
- package/dist/assets/useNotebookActions-ClT4GmnB.js +10 -0
- package/dist/assets/useNumberFormatter-DHJ9s6Vk.js +1 -0
- package/dist/assets/useRunCells-DHnbXALT.js +1 -0
- package/dist/assets/{useSplitCell-oIRu7Qlj.js → useSplitCell-CxlsGCB_.js} +1 -1
- package/dist/assets/{vega-component-D4OKyVdb.js → vega-component-CzgE5HEs.js} +1 -1
- package/dist/assets/write-secret-modal-BG_B6y1P.js +2 -0
- package/dist/index.html +57 -71
- package/package.json +1 -1
- package/src/components/chat/acp/agent-panel.tsx +4 -6
- package/src/components/data-table/columns.tsx +130 -132
- package/src/components/datasources/datasources.tsx +16 -17
- package/src/components/editor/actions/useNotebookActions.tsx +50 -0
- package/src/components/editor/chrome/panels/components.tsx +1 -1
- package/src/components/editor/connections/__tests__/add-connection-button.test.tsx +129 -0
- package/src/components/editor/connections/add-connection-button.tsx +132 -0
- package/src/components/editor/connections/components.tsx +11 -0
- package/src/components/editor/connections/quick-add-data-sources.tsx +11 -11
- package/src/components/editor/controls/__tests__/notebook-menu-dropdown.test.tsx +109 -1
- package/src/components/storage/storage-inspector.tsx +15 -17
- package/src/core/codemirror/language/panel/sql.test.tsx +69 -0
- package/src/core/codemirror/language/panel/sql.tsx +81 -4
- package/src/core/codemirror/markdown/commands.ts +1 -1
- package/src/core/codemirror/markdown/completions.ts +15 -17
- package/dist/assets/ConnectedDataExplorerComponent-88Ojqyhx.js +0 -1
- package/dist/assets/DeferredRequestRegistry-C-SpvRCH.js +0 -1
- package/dist/assets/ImperativeModal-68zj0lxy.js +0 -1
- package/dist/assets/JsonOutput-pCdkYz4X.js +0 -50
- package/dist/assets/MarimoErrorOutput-b7bFhjgD.js +0 -6
- package/dist/assets/RSPContexts-D2JcYZo2.js +0 -1
- package/dist/assets/RenderHTML-BUuDW4yZ.js +0 -1
- package/dist/assets/RunButton-4MKgVYXU.js +0 -1
- package/dist/assets/SSRProvider-C_WMmqnS.js +0 -1
- package/dist/assets/add-connection-dialog-BcLKuMHt.js +0 -166
- package/dist/assets/agent-panel-BVyaNGyG.js +0 -286
- package/dist/assets/ai-model-dropdown-C_IoSmhR.js +0 -3
- package/dist/assets/app-config-button-BvpunAmJ.js +0 -1
- package/dist/assets/cell-editor-pKuytlrm.js +0 -24
- package/dist/assets/cell-link-D9d1y67_.js +0 -1
- package/dist/assets/cells-BdoPd1mK.js +0 -226
- package/dist/assets/chat-display-CbsB82vm.js +0 -1
- package/dist/assets/chat-panel-DCPKH1gP.js +0 -4
- package/dist/assets/chat-ui-BwLG6iSS.js +0 -4
- package/dist/assets/circle-plus-cm-FRu9O.js +0 -1
- package/dist/assets/column-preview-fku2dKeP.js +0 -1
- package/dist/assets/command-Cvmdzx0n.js +0 -1
- package/dist/assets/command-palette-BJFR8wKv.js +0 -1
- package/dist/assets/common-CQ9OqrFS.js +0 -1
- package/dist/assets/components-CaOG3LOY.js +0 -1
- package/dist/assets/config-xlrIxOZJ.js +0 -1
- package/dist/assets/context-Bf2wPdef.js +0 -1
- package/dist/assets/data-source-discovery-BsrDlL04.js +0 -1
- package/dist/assets/dependency-graph-panel-CxZJ5e7D.js +0 -5
- package/dist/assets/dialog-EjSc4yoH.js +0 -1
- package/dist/assets/dropdown-menu-BpI5klSq.js +0 -1
- package/dist/assets/edit-page-DwKN7vIP.js +0 -9
- package/dist/assets/field-YoG_gQAY.js +0 -1
- package/dist/assets/file-explorer-panel-CRrPqu3s.js +0 -1
- package/dist/assets/file-name-input-uFNWUWCc.js +0 -3
- package/dist/assets/focus-DgNLvj0o.js +0 -1
- package/dist/assets/form-CD2uATFu.js +0 -2
- package/dist/assets/form-GIq5QCAI.js +0 -1
- package/dist/assets/home-page-CYg3rQCB.js +0 -4
- package/dist/assets/html-to-image-Bt7Ld74W.js +0 -2
- package/dist/assets/index-CrsPwq0f.js +0 -29
- package/dist/assets/index-H2TMW127.css +0 -2
- package/dist/assets/input-BuOxQ3Wy.js +0 -1
- package/dist/assets/label-B67m1YH7.js +0 -1
- package/dist/assets/links-C7oaxPJK.js +0 -1
- package/dist/assets/markdown-renderer-C8IbrNw3.js +0 -2
- package/dist/assets/packages-panel-CIwyYf45.js +0 -1
- package/dist/assets/panel-accordion-state-DAAi8MPY.js +0 -1
- package/dist/assets/panels-DcguQKjE.js +0 -4
- package/dist/assets/popover-CgOo22ko.js +0 -1
- package/dist/assets/radio-group-DZoEgN7k.js +0 -1
- package/dist/assets/readonly-python-code-CyfabMFb.js +0 -1
- package/dist/assets/refresh-ccw-DrVG5f2L.js +0 -1
- package/dist/assets/request-registry-mNu7sXOU.js +0 -1
- package/dist/assets/run-page-Buh6gERG.js +0 -1
- package/dist/assets/scratchpad-panel-soCf5igY.js +0 -1
- package/dist/assets/secrets-panel-CCb8F6PC.js +0 -1
- package/dist/assets/select-DwqnFsyg.js +0 -1
- package/dist/assets/session-panel-BO4lOJc-.js +0 -1
- package/dist/assets/snippets-panel-CulFiQ0V.js +0 -1
- package/dist/assets/sparkles-30wHhAF5.js +0 -1
- package/dist/assets/state-B-K0k6lb.js +0 -1
- package/dist/assets/switch-VzdUoXkf.js +0 -1
- package/dist/assets/textarea-mD3C73jw.js +0 -1
- package/dist/assets/tracing-B_Qlv38-.js +0 -1
- package/dist/assets/tracing-panel--KVMPYqh.js +0 -2
- package/dist/assets/useCellActionButton-BDVM-sW-.js +0 -1
- package/dist/assets/useDependencyPanelTab-D4TnSeLa.js +0 -1
- package/dist/assets/useNotebookActions-gEpi1TfO.js +0 -10
- package/dist/assets/useNumberFormatter-BmUQe2Pf.js +0 -1
- package/dist/assets/usePress-CwOqeEX3.js +0 -7
- package/dist/assets/useRunCells-DP6cAHq0.js +0 -1
- package/dist/assets/write-secret-modal-dplU5PG8.js +0 -2
- package/dist/assets/x-BgkoSHM-.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e,t}from"./rolldown-runtime-B0Z9INg1.js";import{a as n,c as r,d as i,l as a,r as o,t as s}from"./useEvent-xfs0Sn4r.js";import{t as c}from"./react-CBDbhulC.js";import{
|
|
1
|
+
import{a as e,t}from"./rolldown-runtime-B0Z9INg1.js";import{a as n,c as r,d as i,l as a,r as o,t as s}from"./useEvent-xfs0Sn4r.js";import{t as c}from"./react-CBDbhulC.js";import{Bi as l,Bn as u,E as d,Oo as f,Qi as p,Ua as m,Wt as h,Xi as g,Ya as _,ai as v,bo as y,co as b,cr as x,d as S,fa as C,fo as w,gt as T,ki as ee,ko as E,la as te,ni as ne,pa as re,rt as D,tr as ie,vo as ae,y as O}from"./cells-B1S_6FG3.js";import{Cn as k,Cr as oe,In as A,It as se,Jn as j,Sn as ce,Tt as M,Yn as N,bt as le,cn as ue,jn as de,kt as P,lc as fe,ln as F,mr as pe,un as I,vn as L,vt as me,xt as he,zt as ge}from"./schemas-aTUejmFi.js";import{t as _e}from"./compiler-runtime-CYIjoINj.js";import{k as ve,t as ye}from"./ai-model-dropdown-DjQy2bo-.js";import{f as be,g as R}from"./useEventListener-D27Dii_l.js";import{n as xe}from"./utils-R_pHe-RB.js";import{o as Se}from"./config-CUBl5qBg.js";import{t as Ce}from"./cn-ldLVeaqm.js";import{t as we}from"./jsx-runtime-B74pBk57.js";import{a as Te}from"./tabs-c6mpccpH.js";import{a as Ee,c as De,p as Oe,r as ke,t as Ae}from"./dropdown-menu-CqNabM1f.js";import{t as je}from"./tooltip-D7dq6bnc.js";import{t as Me}from"./button-BMBznEru.js";import{Gt as Ne,Qt as Pe,Tt as Fe,Wt as Ie,Zt as Le,at as Re,dt as ze,en as Be,qt as Ve,st as He,ut as Ue,wt as We}from"./dist-PIe1xcZo.js";import{t as Ge}from"./createReducer-Bq-nQJiK.js";import{h as Ke,n as qe,o as Je,r as Ye}from"./dist-Dz_04liz.js";import{i as Xe}from"./strings-CpYReX2Q.js";import{r as Ze,t as Qe}from"./requests-C6_IaFh7.js";import{t as $e}from"./createLucideIcon-B7HeEoG2.js";import{r as et,t as tt}from"./fileToBase64-NhpNrK5l.js";import{r as nt}from"./useNumberFormatter-DHJ9s6Vk.js";import{f as rt,n as it}from"./markdown-renderer-DIXiKP4m.js";import{t as at}from"./file-DF8n85RA.js";import{t as ot}from"./image-ab13yGv4.js";import{t as st}from"./spinner-Ck-Hgfvj.js";import{i as ct,t as lt}from"./useDeleteCell-CSCMg7Up.js";import{r as ut}from"./input-DeyycFtq.js";import{a as dt,c as ft,i as pt,n as mt,o as ht,s as gt,t as _t}from"./datasource-BrSYgi6C.js";import{a as vt}from"./dist-DCc0VfiO.js";import{t as yt}from"./uuid-k9DpjH68.js";import{t as bt}from"./use-toast-DpWHUGuF.js";import{a as xt}from"./session-CEdta5_Q.js";import{r as St}from"./useTheme-BRnykVDX.js";import{n as Ct}from"./useRunCells-DHnbXALT.js";import{n as wt}from"./blob-BBiZd3vX.js";import{a as Tt}from"./errors-DzO-nXy-.js";import{r as Et,t as Dt}from"./esm-Dw0vvSg2.js";import{i as Ot}from"./cell-link-BbAJokoX.js";import{t as kt}from"./html-to-image-DMn_7CCA.js";import{n as At}from"./renderShortcut-D9XYVNe3.js";import{n as jt}from"./icons-CjLa9BiH.js";import{t as Mt}from"./process-output-DNhz9LLW.js";import{i as Nt,r as Pt,t as Ft}from"./error-entries-DEjvzkum.js";var It=$e(`circle-stop`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`rect`,{x:`9`,y:`9`,width:`6`,height:`6`,rx:`1`,key:`1ssd4o`}]]),Lt=$e(`paperclip`,[[`path`,{d:`m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551`,key:`1miecu`}]]),Rt=$e(`send-horizontal`,[[`path`,{d:`M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z`,key:`117uat`}],[`path`,{d:`M6 12h16`,key:`s4cdu5`}]]),zt=_e(),Bt=`vercel.ai.error`,Vt=Symbol.for(Bt),Ht,Ut,Wt=class e extends (Ut=Error,Ht=Vt,Ut){constructor({name:e,message:t,cause:n}){super(t),this[Ht]=!0,this.name=e,this.cause=n}static isInstance(t){return e.hasMarker(t,Bt)}static hasMarker(e,t){let n=Symbol.for(t);return typeof e==`object`&&!!e&&n in e&&typeof e[n]==`boolean`&&e[n]===!0}};function Gt(e){return e==null?`unknown error`:typeof e==`string`?e:e instanceof Error?e.toString():JSON.stringify(e)}var Kt=`AI_InvalidArgumentError`,qt=`vercel.ai.error.${Kt}`,Jt=Symbol.for(qt),Yt,Xt,Zt=class extends (Xt=Wt,Yt=Jt,Xt){constructor({message:e,cause:t,argument:n}){super({name:Kt,message:e,cause:t}),this[Yt]=!0,this.argument=n}static isInstance(e){return Wt.hasMarker(e,qt)}},Qt=`AI_JSONParseError`,$t=`vercel.ai.error.${Qt}`,en=Symbol.for($t),tn,nn,rn=class extends (nn=Wt,tn=en,nn){constructor({text:e,cause:t}){super({name:Qt,message:`JSON parsing failed: Text: ${e}.
|
|
2
2
|
Error message: ${Gt(t)}`,cause:t}),this[tn]=!0,this.text=e}static isInstance(e){return Wt.hasMarker(e,$t)}},an=`AI_TypeValidationError`,on=`vercel.ai.error.${an}`,sn=Symbol.for(on),cn,ln,un=class e extends (ln=Wt,cn=sn,ln){constructor({value:e,cause:t,context:n}){let r=`Type validation failed`;if(n?.field&&(r+=` for ${n.field}`),n?.entityName||n?.entityId){r+=` (`;let e=[];n.entityName&&e.push(n.entityName),n.entityId&&e.push(`id: "${n.entityId}"`),r+=e.join(`, `),r+=`)`}super({name:an,message:`${r}: Value: ${JSON.stringify(e)}.
|
|
3
3
|
Error message: ${Gt(t)}`,cause:t}),this[cn]=!0,this.value=e,this.context=n}static isInstance(e){return Wt.hasMarker(e,on)}static wrap({value:t,cause:n,context:r}){return e.isInstance(n)&&n.value===t&&n.context?.field===r?.field&&n.context?.entityName===r?.entityName&&n.context?.entityId===r?.entityId?n:new e({value:t,cause:n,context:r})}},z;(function(e){e.assertEqual=e=>{};function t(e){}e.assertIs=t;function n(e){throw Error()}e.assertNever=n,e.arrayToEnum=e=>{let t={};for(let n of e)t[n]=n;return t},e.getValidEnumValues=t=>{let n=e.objectKeys(t).filter(e=>typeof t[t[e]]!=`number`),r={};for(let e of n)r[e]=t[e];return e.objectValues(r)},e.objectValues=t=>e.objectKeys(t).map(function(e){return t[e]}),e.objectKeys=typeof Object.keys==`function`?e=>Object.keys(e):e=>{let t=[];for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},e.find=(e,t)=>{for(let n of e)if(t(n))return n},e.isInteger=typeof Number.isInteger==`function`?e=>Number.isInteger(e):e=>typeof e==`number`&&Number.isFinite(e)&&Math.floor(e)===e;function r(e,t=` | `){return e.map(e=>typeof e==`string`?`'${e}'`:e).join(t)}e.joinValues=r,e.jsonStringifyReplacer=(e,t)=>typeof t==`bigint`?t.toString():t})(z||={});var dn;(function(e){e.mergeShapes=(e,t)=>({...e,...t})})(dn||={});var B=z.arrayToEnum([`string`,`nan`,`number`,`integer`,`float`,`boolean`,`date`,`bigint`,`symbol`,`function`,`undefined`,`null`,`array`,`object`,`unknown`,`promise`,`void`,`never`,`map`,`set`]),fn=e=>{switch(typeof e){case`undefined`:return B.undefined;case`string`:return B.string;case`number`:return Number.isNaN(e)?B.nan:B.number;case`boolean`:return B.boolean;case`function`:return B.function;case`bigint`:return B.bigint;case`symbol`:return B.symbol;case`object`:return Array.isArray(e)?B.array:e===null?B.null:e.then&&typeof e.then==`function`&&e.catch&&typeof e.catch==`function`?B.promise:typeof Map<`u`&&e instanceof Map?B.map:typeof Set<`u`&&e instanceof Set?B.set:typeof Date<`u`&&e instanceof Date?B.date:B.object;default:return B.unknown}},V=z.arrayToEnum([`invalid_type`,`invalid_literal`,`custom`,`invalid_union`,`invalid_union_discriminator`,`invalid_enum_value`,`unrecognized_keys`,`invalid_arguments`,`invalid_return_type`,`invalid_date`,`invalid_string`,`too_small`,`too_big`,`invalid_intersection_types`,`not_multiple_of`,`not_finite`]),pn=class e extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};let t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name=`ZodError`,this.issues=e}format(e){let t=e||function(e){return e.message},n={_errors:[]},r=e=>{for(let i of e.issues)if(i.code===`invalid_union`)i.unionErrors.map(r);else if(i.code===`invalid_return_type`)r(i.returnTypeError);else if(i.code===`invalid_arguments`)r(i.argumentsError);else if(i.path.length===0)n._errors.push(t(i));else{let e=n,r=0;for(;r<i.path.length;){let n=i.path[r];r===i.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(i))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(this),n}static assert(t){if(!(t instanceof e))throw Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,z.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=e=>e.message){let t=Object.create(null),n=[];for(let r of this.issues)if(r.path.length>0){let n=r.path[0];t[n]=t[n]||[],t[n].push(e(r))}else n.push(e(r));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}};pn.create=e=>new pn(e);var mn=(e,t)=>{let n;switch(e.code){case V.invalid_type:n=e.received===B.undefined?`Required`:`Expected ${e.expected}, received ${e.received}`;break;case V.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,z.jsonStringifyReplacer)}`;break;case V.unrecognized_keys:n=`Unrecognized key(s) in object: ${z.joinValues(e.keys,`, `)}`;break;case V.invalid_union:n=`Invalid input`;break;case V.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${z.joinValues(e.options)}`;break;case V.invalid_enum_value:n=`Invalid enum value. Expected ${z.joinValues(e.options)}, received '${e.received}'`;break;case V.invalid_arguments:n=`Invalid function arguments`;break;case V.invalid_return_type:n=`Invalid function return type`;break;case V.invalid_date:n=`Invalid date`;break;case V.invalid_string:typeof e.validation==`object`?`includes`in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position==`number`&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):`startsWith`in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:`endsWith`in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:z.assertNever(e.validation):n=e.validation===`regex`?`Invalid`:`Invalid ${e.validation}`;break;case V.too_small:n=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at least`:`more than`} ${e.minimum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at least`:`over`} ${e.minimum} character(s)`:e.type===`number`||e.type===`bigint`?`Number must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${e.minimum}`:e.type===`date`?`Date must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${new Date(Number(e.minimum))}`:`Invalid input`;break;case V.too_big:n=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at most`:`less than`} ${e.maximum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at most`:`under`} ${e.maximum} character(s)`:e.type===`number`?`Number must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`bigint`?`BigInt must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`date`?`Date must be ${e.exact?`exactly`:e.inclusive?`smaller than or equal to`:`smaller than`} ${new Date(Number(e.maximum))}`:`Invalid input`;break;case V.custom:n=`Invalid input`;break;case V.invalid_intersection_types:n=`Intersection results could not be merged`;break;case V.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case V.not_finite:n=`Number must be finite`;break;default:n=t.defaultError,z.assertNever(e)}return{message:n}},hn=mn;function gn(){return hn}var _n=e=>{let{data:t,path:n,errorMaps:r,issueData:i}=e,a=[...n,...i.path||[]],o={...i,path:a};if(i.message!==void 0)return{...i,path:a,message:i.message};let s=``,c=r.filter(e=>!!e).slice().reverse();for(let e of c)s=e(o,{data:t,defaultError:s}).message;return{...i,path:a,message:s}};function H(e,t){let n=gn(),r=_n({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===mn?void 0:mn].filter(e=>!!e)});e.common.issues.push(r)}var vn=class e{constructor(){this.value=`valid`}dirty(){this.value===`valid`&&(this.value=`dirty`)}abort(){this.value!==`aborted`&&(this.value=`aborted`)}static mergeArray(e,t){let n=[];for(let r of t){if(r.status===`aborted`)return U;r.status===`dirty`&&e.dirty(),n.push(r.value)}return{status:e.value,value:n}}static async mergeObjectAsync(t,n){let r=[];for(let e of n){let t=await e.key,n=await e.value;r.push({key:t,value:n})}return e.mergeObjectSync(t,r)}static mergeObjectSync(e,t){let n={};for(let r of t){let{key:t,value:i}=r;if(t.status===`aborted`||i.status===`aborted`)return U;t.status===`dirty`&&e.dirty(),i.status===`dirty`&&e.dirty(),t.value!==`__proto__`&&(i.value!==void 0||r.alwaysSet)&&(n[t.value]=i.value)}return{status:e.value,value:n}}},U=Object.freeze({status:`aborted`}),yn=e=>({status:`dirty`,value:e}),bn=e=>({status:`valid`,value:e}),xn=e=>e.status===`aborted`,Sn=e=>e.status===`dirty`,Cn=e=>e.status===`valid`,wn=e=>typeof Promise<`u`&&e instanceof Promise,W;(function(e){e.errToObj=e=>typeof e==`string`?{message:e}:e||{},e.toString=e=>typeof e==`string`?e:e?.message})(W||={});var Tn=class{constructor(e,t,n,r){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=r}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},En=(e,t)=>{if(Cn(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw Error(`Validation failed but no issues detected.`);return{success:!1,get error(){if(this._error)return this._error;let t=new pn(e.common.issues);return this._error=t,this._error}}};function G(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(t,i)=>{let{message:a}=e;return t.code===`invalid_enum_value`?{message:a??i.defaultError}:i.data===void 0?{message:a??r??i.defaultError}:t.code===`invalid_type`?{message:a??n??i.defaultError}:{message:i.defaultError}},description:i}}var K=class{get description(){return this._def.description}_getType(e){return fn(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:fn(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new vn,ctx:{common:e.parent.common,data:e.data,parsedType:fn(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(wn(t))throw Error(`Synchronous parse encountered promise.`);return t}_parseAsync(e){let t=this._parse(e);return Promise.resolve(t)}parse(e,t){let n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){let n={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:fn(e)};return En(n,this._parseSync({data:e,path:n.path,parent:n}))}"~validate"(e){let t={common:{issues:[],async:!!this[`~standard`].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:fn(e)};if(!this[`~standard`].async)try{let n=this._parseSync({data:e,path:[],parent:t});return Cn(n)?{value:n.value}:{issues:t.common.issues}}catch(e){e?.message?.toLowerCase()?.includes(`encountered`)&&(this[`~standard`].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(e=>Cn(e)?{value:e.value}:{issues:t.common.issues})}async parseAsync(e,t){let n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){let n={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:fn(e)},r=this._parse({data:e,path:n.path,parent:n});return En(n,await(wn(r)?r:Promise.resolve(r)))}refine(e,t){let n=e=>typeof t==`string`||t===void 0?{message:t}:typeof t==`function`?t(e):t;return this._refinement((t,r)=>{let i=e(t),a=()=>r.addIssue({code:V.custom,...n(t)});return typeof Promise<`u`&&i instanceof Promise?i.then(e=>e?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(e,t){return this._refinement((n,r)=>e(n)?!0:(r.addIssue(typeof t==`function`?t(n,r):t),!1))}_refinement(e){return new kr({schema:this,typeName:q.ZodEffects,effect:{type:`refinement`,refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this[`~standard`]={version:1,vendor:`zod`,validate:e=>this[`~validate`](e)}}optional(){return Ar.create(this,this._def)}nullable(){return jr.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ur.create(this)}promise(){return Or.create(this,this._def)}or(e){return pr.create([this,e],this._def)}and(e){return _r.create(this,e,this._def)}transform(e){return new kr({...G(this._def),schema:this,typeName:q.ZodEffects,effect:{type:`transform`,transform:e}})}default(e){let t=typeof e==`function`?e:()=>e;return new Mr({...G(this._def),innerType:this,defaultValue:t,typeName:q.ZodDefault})}brand(){return new Fr({typeName:q.ZodBranded,type:this,...G(this._def)})}catch(e){let t=typeof e==`function`?e:()=>e;return new Nr({...G(this._def),innerType:this,catchValue:t,typeName:q.ZodCatch})}describe(e){let t=this.constructor;return new t({...this._def,description:e})}pipe(e){return Ir.create(this,e)}readonly(){return Lr.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Dn=/^c[^\s-]{8,}$/i,On=/^[0-9a-z]+$/,kn=/^[0-9A-HJKMNP-TV-Z]{26}$/i,An=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,jn=/^[a-z0-9_-]{21}$/i,Mn=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Nn=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Pn=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Fn=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,In,Ln=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Rn=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,zn=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Bn=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Vn=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Hn=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Un=`((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))`,Wn=RegExp(`^${Un}$`);function Gn(e){let t=`[0-5]\\d`;e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision??(t=`${t}(\\.\\d+)?`);let n=e.precision?`+`:`?`;return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function Kn(e){return RegExp(`^${Gn(e)}$`)}function qn(e){let t=`${Un}T${Gn(e)}`,n=[];return n.push(e.local?`Z?`:`Z`),e.offset&&n.push(`([+-]\\d{2}:?\\d{2})`),t=`${t}(${n.join(`|`)})`,RegExp(`^${t}$`)}function Jn(e,t){return!!((t===`v4`||!t)&&Ln.test(e)||(t===`v6`||!t)&&zn.test(e))}function Yn(e,t){if(!Mn.test(e))return!1;try{let[n]=e.split(`.`);if(!n)return!1;let r=n.replace(/-/g,`+`).replace(/_/g,`/`).padEnd(n.length+(4-n.length%4)%4,`=`),i=JSON.parse(atob(r));return!(typeof i!=`object`||!i||`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&i.alg!==t)}catch{return!1}}function Xn(e,t){return!!((t===`v4`||!t)&&Rn.test(e)||(t===`v6`||!t)&&Bn.test(e))}var Zn=class e extends K{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==B.string){let t=this._getOrReturnCtx(e);return H(t,{code:V.invalid_type,expected:B.string,received:t.parsedType}),U}let t=new vn,n;for(let r of this._def.checks)if(r.kind===`min`)e.data.length<r.value&&(n=this._getOrReturnCtx(e,n),H(n,{code:V.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!1,message:r.message}),t.dirty());else if(r.kind===`max`)e.data.length>r.value&&(n=this._getOrReturnCtx(e,n),H(n,{code:V.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!1,message:r.message}),t.dirty());else if(r.kind===`length`){let i=e.data.length>r.value,a=e.data.length<r.value;(i||a)&&(n=this._getOrReturnCtx(e,n),i?H(n,{code:V.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}):a&&H(n,{code:V.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}),t.dirty())}else if(r.kind===`email`)Pn.test(e.data)||(n=this._getOrReturnCtx(e,n),H(n,{validation:`email`,code:V.invalid_string,message:r.message}),t.dirty());else if(r.kind===`emoji`)In||=new RegExp(Fn,`u`),In.test(e.data)||(n=this._getOrReturnCtx(e,n),H(n,{validation:`emoji`,code:V.invalid_string,message:r.message}),t.dirty());else if(r.kind===`uuid`)An.test(e.data)||(n=this._getOrReturnCtx(e,n),H(n,{validation:`uuid`,code:V.invalid_string,message:r.message}),t.dirty());else if(r.kind===`nanoid`)jn.test(e.data)||(n=this._getOrReturnCtx(e,n),H(n,{validation:`nanoid`,code:V.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid`)Dn.test(e.data)||(n=this._getOrReturnCtx(e,n),H(n,{validation:`cuid`,code:V.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid2`)On.test(e.data)||(n=this._getOrReturnCtx(e,n),H(n,{validation:`cuid2`,code:V.invalid_string,message:r.message}),t.dirty());else if(r.kind===`ulid`)kn.test(e.data)||(n=this._getOrReturnCtx(e,n),H(n,{validation:`ulid`,code:V.invalid_string,message:r.message}),t.dirty());else if(r.kind===`url`)try{new URL(e.data)}catch{n=this._getOrReturnCtx(e,n),H(n,{validation:`url`,code:V.invalid_string,message:r.message}),t.dirty()}else r.kind===`regex`?(r.regex.lastIndex=0,r.regex.test(e.data)||(n=this._getOrReturnCtx(e,n),H(n,{validation:`regex`,code:V.invalid_string,message:r.message}),t.dirty())):r.kind===`trim`?e.data=e.data.trim():r.kind===`includes`?e.data.includes(r.value,r.position)||(n=this._getOrReturnCtx(e,n),H(n,{code:V.invalid_string,validation:{includes:r.value,position:r.position},message:r.message}),t.dirty()):r.kind===`toLowerCase`?e.data=e.data.toLowerCase():r.kind===`toUpperCase`?e.data=e.data.toUpperCase():r.kind===`startsWith`?e.data.startsWith(r.value)||(n=this._getOrReturnCtx(e,n),H(n,{code:V.invalid_string,validation:{startsWith:r.value},message:r.message}),t.dirty()):r.kind===`endsWith`?e.data.endsWith(r.value)||(n=this._getOrReturnCtx(e,n),H(n,{code:V.invalid_string,validation:{endsWith:r.value},message:r.message}),t.dirty()):r.kind===`datetime`?qn(r).test(e.data)||(n=this._getOrReturnCtx(e,n),H(n,{code:V.invalid_string,validation:`datetime`,message:r.message}),t.dirty()):r.kind===`date`?Wn.test(e.data)||(n=this._getOrReturnCtx(e,n),H(n,{code:V.invalid_string,validation:`date`,message:r.message}),t.dirty()):r.kind===`time`?Kn(r).test(e.data)||(n=this._getOrReturnCtx(e,n),H(n,{code:V.invalid_string,validation:`time`,message:r.message}),t.dirty()):r.kind===`duration`?Nn.test(e.data)||(n=this._getOrReturnCtx(e,n),H(n,{validation:`duration`,code:V.invalid_string,message:r.message}),t.dirty()):r.kind===`ip`?Jn(e.data,r.version)||(n=this._getOrReturnCtx(e,n),H(n,{validation:`ip`,code:V.invalid_string,message:r.message}),t.dirty()):r.kind===`jwt`?Yn(e.data,r.alg)||(n=this._getOrReturnCtx(e,n),H(n,{validation:`jwt`,code:V.invalid_string,message:r.message}),t.dirty()):r.kind===`cidr`?Xn(e.data,r.version)||(n=this._getOrReturnCtx(e,n),H(n,{validation:`cidr`,code:V.invalid_string,message:r.message}),t.dirty()):r.kind===`base64`?Vn.test(e.data)||(n=this._getOrReturnCtx(e,n),H(n,{validation:`base64`,code:V.invalid_string,message:r.message}),t.dirty()):r.kind===`base64url`?Hn.test(e.data)||(n=this._getOrReturnCtx(e,n),H(n,{validation:`base64url`,code:V.invalid_string,message:r.message}),t.dirty()):z.assertNever(r);return{status:t.value,value:e.data}}_regex(e,t,n){return this.refinement(t=>e.test(t),{validation:t,code:V.invalid_string,...W.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(e){return this._addCheck({kind:`email`,...W.errToObj(e)})}url(e){return this._addCheck({kind:`url`,...W.errToObj(e)})}emoji(e){return this._addCheck({kind:`emoji`,...W.errToObj(e)})}uuid(e){return this._addCheck({kind:`uuid`,...W.errToObj(e)})}nanoid(e){return this._addCheck({kind:`nanoid`,...W.errToObj(e)})}cuid(e){return this._addCheck({kind:`cuid`,...W.errToObj(e)})}cuid2(e){return this._addCheck({kind:`cuid2`,...W.errToObj(e)})}ulid(e){return this._addCheck({kind:`ulid`,...W.errToObj(e)})}base64(e){return this._addCheck({kind:`base64`,...W.errToObj(e)})}base64url(e){return this._addCheck({kind:`base64url`,...W.errToObj(e)})}jwt(e){return this._addCheck({kind:`jwt`,...W.errToObj(e)})}ip(e){return this._addCheck({kind:`ip`,...W.errToObj(e)})}cidr(e){return this._addCheck({kind:`cidr`,...W.errToObj(e)})}datetime(e){return typeof e==`string`?this._addCheck({kind:`datetime`,precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:`datetime`,precision:e?.precision===void 0?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...W.errToObj(e?.message)})}date(e){return this._addCheck({kind:`date`,message:e})}time(e){return typeof e==`string`?this._addCheck({kind:`time`,precision:null,message:e}):this._addCheck({kind:`time`,precision:e?.precision===void 0?null:e?.precision,...W.errToObj(e?.message)})}duration(e){return this._addCheck({kind:`duration`,...W.errToObj(e)})}regex(e,t){return this._addCheck({kind:`regex`,regex:e,...W.errToObj(t)})}includes(e,t){return this._addCheck({kind:`includes`,value:e,position:t?.position,...W.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:`startsWith`,value:e,...W.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:`endsWith`,value:e,...W.errToObj(t)})}min(e,t){return this._addCheck({kind:`min`,value:e,...W.errToObj(t)})}max(e,t){return this._addCheck({kind:`max`,value:e,...W.errToObj(t)})}length(e,t){return this._addCheck({kind:`length`,value:e,...W.errToObj(t)})}nonempty(e){return this.min(1,W.errToObj(e))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:`trim`}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toLowerCase`}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toUpperCase`}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind===`datetime`)}get isDate(){return!!this._def.checks.find(e=>e.kind===`date`)}get isTime(){return!!this._def.checks.find(e=>e.kind===`time`)}get isDuration(){return!!this._def.checks.find(e=>e.kind===`duration`)}get isEmail(){return!!this._def.checks.find(e=>e.kind===`email`)}get isURL(){return!!this._def.checks.find(e=>e.kind===`url`)}get isEmoji(){return!!this._def.checks.find(e=>e.kind===`emoji`)}get isUUID(){return!!this._def.checks.find(e=>e.kind===`uuid`)}get isNANOID(){return!!this._def.checks.find(e=>e.kind===`nanoid`)}get isCUID(){return!!this._def.checks.find(e=>e.kind===`cuid`)}get isCUID2(){return!!this._def.checks.find(e=>e.kind===`cuid2`)}get isULID(){return!!this._def.checks.find(e=>e.kind===`ulid`)}get isIP(){return!!this._def.checks.find(e=>e.kind===`ip`)}get isCIDR(){return!!this._def.checks.find(e=>e.kind===`cidr`)}get isBase64(){return!!this._def.checks.find(e=>e.kind===`base64`)}get isBase64url(){return!!this._def.checks.find(e=>e.kind===`base64url`)}get minLength(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}};Zn.create=e=>new Zn({checks:[],typeName:q.ZodString,coerce:e?.coerce??!1,...G(e)});function Qn(e,t){let n=(e.toString().split(`.`)[1]||``).length,r=(t.toString().split(`.`)[1]||``).length,i=n>r?n:r;return Number.parseInt(e.toFixed(i).replace(`.`,``))%Number.parseInt(t.toFixed(i).replace(`.`,``))/10**i}var $n=class e extends K{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==B.number){let t=this._getOrReturnCtx(e);return H(t,{code:V.invalid_type,expected:B.number,received:t.parsedType}),U}let t,n=new vn;for(let r of this._def.checks)r.kind===`int`?z.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),H(t,{code:V.invalid_type,expected:`integer`,received:`float`,message:r.message}),n.dirty()):r.kind===`min`?(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),H(t,{code:V.too_small,minimum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty()):r.kind===`max`?(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),H(t,{code:V.too_big,maximum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty()):r.kind===`multipleOf`?Qn(e.data,r.value)!==0&&(t=this._getOrReturnCtx(e,t),H(t,{code:V.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):r.kind===`finite`?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),H(t,{code:V.not_finite,message:r.message}),n.dirty()):z.assertNever(r);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit(`min`,e,!0,W.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,W.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,W.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,W.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:W.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(e){return this._addCheck({kind:`int`,message:W.toString(e)})}positive(e){return this._addCheck({kind:`min`,value:0,inclusive:!1,message:W.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:0,inclusive:!1,message:W.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:0,inclusive:!0,message:W.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:0,inclusive:!0,message:W.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:W.toString(t)})}finite(e){return this._addCheck({kind:`finite`,message:W.toString(e)})}safe(e){return this._addCheck({kind:`min`,inclusive:!0,value:-(2**53-1),message:W.toString(e)})._addCheck({kind:`max`,inclusive:!0,value:2**53-1,message:W.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind===`int`||e.kind===`multipleOf`&&z.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let n of this._def.checks)if(n.kind===`finite`||n.kind===`int`||n.kind===`multipleOf`)return!0;else n.kind===`min`?(t===null||n.value>t)&&(t=n.value):n.kind===`max`&&(e===null||n.value<e)&&(e=n.value);return Number.isFinite(t)&&Number.isFinite(e)}};$n.create=e=>new $n({checks:[],typeName:q.ZodNumber,coerce:e?.coerce||!1,...G(e)});var er=class e extends K{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==B.bigint)return this._getInvalidInput(e);let t,n=new vn;for(let r of this._def.checks)r.kind===`min`?(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),H(t,{code:V.too_small,type:`bigint`,minimum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty()):r.kind===`max`?(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),H(t,{code:V.too_big,type:`bigint`,maximum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty()):r.kind===`multipleOf`?e.data%r.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),H(t,{code:V.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):z.assertNever(r);return{status:n.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return H(t,{code:V.invalid_type,expected:B.bigint,received:t.parsedType}),U}gte(e,t){return this.setLimit(`min`,e,!0,W.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,W.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,W.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,W.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:W.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!1,message:W.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!1,message:W.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!0,message:W.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!0,message:W.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:W.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}};er.create=e=>new er({checks:[],typeName:q.ZodBigInt,coerce:e?.coerce??!1,...G(e)});var tr=class extends K{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==B.boolean){let t=this._getOrReturnCtx(e);return H(t,{code:V.invalid_type,expected:B.boolean,received:t.parsedType}),U}return bn(e.data)}};tr.create=e=>new tr({typeName:q.ZodBoolean,coerce:e?.coerce||!1,...G(e)});var nr=class e extends K{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==B.date){let t=this._getOrReturnCtx(e);return H(t,{code:V.invalid_type,expected:B.date,received:t.parsedType}),U}if(Number.isNaN(e.data.getTime()))return H(this._getOrReturnCtx(e),{code:V.invalid_date}),U;let t=new vn,n;for(let r of this._def.checks)r.kind===`min`?e.data.getTime()<r.value&&(n=this._getOrReturnCtx(e,n),H(n,{code:V.too_small,message:r.message,inclusive:!0,exact:!1,minimum:r.value,type:`date`}),t.dirty()):r.kind===`max`?e.data.getTime()>r.value&&(n=this._getOrReturnCtx(e,n),H(n,{code:V.too_big,message:r.message,inclusive:!0,exact:!1,maximum:r.value,type:`date`}),t.dirty()):z.assertNever(r);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(e,t){return this._addCheck({kind:`min`,value:e.getTime(),message:W.toString(t)})}max(e,t){return this._addCheck({kind:`max`,value:e.getTime(),message:W.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e==null?null:new Date(e)}get maxDate(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e==null?null:new Date(e)}};nr.create=e=>new nr({checks:[],coerce:e?.coerce||!1,typeName:q.ZodDate,...G(e)});var rr=class extends K{_parse(e){if(this._getType(e)!==B.symbol){let t=this._getOrReturnCtx(e);return H(t,{code:V.invalid_type,expected:B.symbol,received:t.parsedType}),U}return bn(e.data)}};rr.create=e=>new rr({typeName:q.ZodSymbol,...G(e)});var ir=class extends K{_parse(e){if(this._getType(e)!==B.undefined){let t=this._getOrReturnCtx(e);return H(t,{code:V.invalid_type,expected:B.undefined,received:t.parsedType}),U}return bn(e.data)}};ir.create=e=>new ir({typeName:q.ZodUndefined,...G(e)});var ar=class extends K{_parse(e){if(this._getType(e)!==B.null){let t=this._getOrReturnCtx(e);return H(t,{code:V.invalid_type,expected:B.null,received:t.parsedType}),U}return bn(e.data)}};ar.create=e=>new ar({typeName:q.ZodNull,...G(e)});var or=class extends K{constructor(){super(...arguments),this._any=!0}_parse(e){return bn(e.data)}};or.create=e=>new or({typeName:q.ZodAny,...G(e)});var sr=class extends K{constructor(){super(...arguments),this._unknown=!0}_parse(e){return bn(e.data)}};sr.create=e=>new sr({typeName:q.ZodUnknown,...G(e)});var cr=class extends K{_parse(e){let t=this._getOrReturnCtx(e);return H(t,{code:V.invalid_type,expected:B.never,received:t.parsedType}),U}};cr.create=e=>new cr({typeName:q.ZodNever,...G(e)});var lr=class extends K{_parse(e){if(this._getType(e)!==B.undefined){let t=this._getOrReturnCtx(e);return H(t,{code:V.invalid_type,expected:B.void,received:t.parsedType}),U}return bn(e.data)}};lr.create=e=>new lr({typeName:q.ZodVoid,...G(e)});var ur=class e extends K{_parse(e){let{ctx:t,status:n}=this._processInputParams(e),r=this._def;if(t.parsedType!==B.array)return H(t,{code:V.invalid_type,expected:B.array,received:t.parsedType}),U;if(r.exactLength!==null){let e=t.data.length>r.exactLength.value,i=t.data.length<r.exactLength.value;(e||i)&&(H(t,{code:e?V.too_big:V.too_small,minimum:i?r.exactLength.value:void 0,maximum:e?r.exactLength.value:void 0,type:`array`,inclusive:!0,exact:!0,message:r.exactLength.message}),n.dirty())}if(r.minLength!==null&&t.data.length<r.minLength.value&&(H(t,{code:V.too_small,minimum:r.minLength.value,type:`array`,inclusive:!0,exact:!1,message:r.minLength.message}),n.dirty()),r.maxLength!==null&&t.data.length>r.maxLength.value&&(H(t,{code:V.too_big,maximum:r.maxLength.value,type:`array`,inclusive:!0,exact:!1,message:r.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((e,n)=>r.type._parseAsync(new Tn(t,e,t.path,n)))).then(e=>vn.mergeArray(n,e));let i=[...t.data].map((e,n)=>r.type._parseSync(new Tn(t,e,t.path,n)));return vn.mergeArray(n,i)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:W.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:W.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:W.toString(n)}})}nonempty(e){return this.min(1,e)}};ur.create=(e,t)=>new ur({type:e,minLength:null,maxLength:null,exactLength:null,typeName:q.ZodArray,...G(t)});function dr(e){if(e instanceof fr){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=Ar.create(dr(r))}return new fr({...e._def,shape:()=>t})}return e instanceof ur?new ur({...e._def,type:dr(e.element)}):e instanceof Ar?Ar.create(dr(e.unwrap())):e instanceof jr?jr.create(dr(e.unwrap())):e instanceof vr?vr.create(e.items.map(e=>dr(e))):e}var fr=class e extends K{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),t=z.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==B.object){let t=this._getOrReturnCtx(e);return H(t,{code:V.invalid_type,expected:B.object,received:t.parsedType}),U}let{status:t,ctx:n}=this._processInputParams(e),{shape:r,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof cr&&this._def.unknownKeys===`strip`))for(let e in n.data)i.includes(e)||a.push(e);let o=[];for(let e of i){let t=r[e],i=n.data[e];o.push({key:{status:`valid`,value:e},value:t._parse(new Tn(n,i,n.path,e)),alwaysSet:e in n.data})}if(this._def.catchall instanceof cr){let e=this._def.unknownKeys;if(e===`passthrough`)for(let e of a)o.push({key:{status:`valid`,value:e},value:{status:`valid`,value:n.data[e]}});else if(e===`strict`)a.length>0&&(H(n,{code:V.unrecognized_keys,keys:a}),t.dirty());else if(e!==`strip`)throw Error(`Internal ZodObject error: invalid unknownKeys value.`)}else{let e=this._def.catchall;for(let t of a){let r=n.data[t];o.push({key:{status:`valid`,value:t},value:e._parse(new Tn(n,r,n.path,t)),alwaysSet:t in n.data})}}return n.common.async?Promise.resolve().then(async()=>{let e=[];for(let t of o){let n=await t.key,r=await t.value;e.push({key:n,value:r,alwaysSet:t.alwaysSet})}return e}).then(e=>vn.mergeObjectSync(t,e)):vn.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(t){return W.errToObj,new e({...this._def,unknownKeys:`strict`,...t===void 0?{}:{errorMap:(e,n)=>{let r=this._def.errorMap?.(e,n).message??n.defaultError;return e.code===`unrecognized_keys`?{message:W.errToObj(t).message??r}:{message:r}}}})}strip(){return new e({...this._def,unknownKeys:`strip`})}passthrough(){return new e({...this._def,unknownKeys:`passthrough`})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:q.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let n={};for(let e of z.objectKeys(t))t[e]&&this.shape[e]&&(n[e]=this.shape[e]);return new e({...this._def,shape:()=>n})}omit(t){let n={};for(let e of z.objectKeys(this.shape))t[e]||(n[e]=this.shape[e]);return new e({...this._def,shape:()=>n})}deepPartial(){return dr(this)}partial(t){let n={};for(let e of z.objectKeys(this.shape)){let r=this.shape[e];n[e]=t&&!t[e]?r:r.optional()}return new e({...this._def,shape:()=>n})}required(t){let n={};for(let e of z.objectKeys(this.shape))if(t&&!t[e])n[e]=this.shape[e];else{let t=this.shape[e];for(;t instanceof Ar;)t=t._def.innerType;n[e]=t}return new e({...this._def,shape:()=>n})}keyof(){return Tr(z.objectKeys(this.shape))}};fr.create=(e,t)=>new fr({shape:()=>e,unknownKeys:`strip`,catchall:cr.create(),typeName:q.ZodObject,...G(t)}),fr.strictCreate=(e,t)=>new fr({shape:()=>e,unknownKeys:`strict`,catchall:cr.create(),typeName:q.ZodObject,...G(t)}),fr.lazycreate=(e,t)=>new fr({shape:e,unknownKeys:`strip`,catchall:cr.create(),typeName:q.ZodObject,...G(t)});var pr=class extends K{_parse(e){let{ctx:t}=this._processInputParams(e),n=this._def.options;function r(e){for(let t of e)if(t.result.status===`valid`)return t.result;for(let n of e)if(n.result.status===`dirty`)return t.common.issues.push(...n.ctx.common.issues),n.result;let n=e.map(e=>new pn(e.ctx.common.issues));return H(t,{code:V.invalid_union,unionErrors:n}),U}if(t.common.async)return Promise.all(n.map(async e=>{let n={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:n}),ctx:n}})).then(r);{let e,r=[];for(let i of n){let n={...t,common:{...t.common,issues:[]},parent:null},a=i._parseSync({data:t.data,path:t.path,parent:n});if(a.status===`valid`)return a;a.status===`dirty`&&!e&&(e={result:a,ctx:n}),n.common.issues.length&&r.push(n.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;let i=r.map(e=>new pn(e));return H(t,{code:V.invalid_union,unionErrors:i}),U}}get options(){return this._def.options}};pr.create=(e,t)=>new pr({options:e,typeName:q.ZodUnion,...G(t)});var mr=e=>e instanceof Cr?mr(e.schema):e instanceof kr?mr(e.innerType()):e instanceof wr?[e.value]:e instanceof Er?e.options:e instanceof Dr?z.objectValues(e.enum):e instanceof Mr?mr(e._def.innerType):e instanceof ir?[void 0]:e instanceof ar?[null]:e instanceof Ar?[void 0,...mr(e.unwrap())]:e instanceof jr?[null,...mr(e.unwrap())]:e instanceof Fr||e instanceof Lr?mr(e.unwrap()):e instanceof Nr?mr(e._def.innerType):[],hr=class e extends K{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==B.object)return H(t,{code:V.invalid_type,expected:B.object,received:t.parsedType}),U;let n=this.discriminator,r=t.data[n],i=this.optionsMap.get(r);return i?t.common.async?i._parseAsync({data:t.data,path:t.path,parent:t}):i._parseSync({data:t.data,path:t.path,parent:t}):(H(t,{code:V.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),U)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let i=new Map;for(let e of n){let n=mr(e.shape[t]);if(!n.length)throw Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let r of n){if(i.has(r))throw Error(`Discriminator property ${String(t)} has duplicate value ${String(r)}`);i.set(r,e)}}return new e({typeName:q.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...G(r)})}};function gr(e,t){let n=fn(e),r=fn(t);if(e===t)return{valid:!0,data:e};if(n===B.object&&r===B.object){let n=z.objectKeys(t),r=z.objectKeys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=gr(e[n],t[n]);if(!r.valid)return{valid:!1};i[n]=r.data}return{valid:!0,data:i}}if(n===B.array&&r===B.array){if(e.length!==t.length)return{valid:!1};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=gr(i,a);if(!o.valid)return{valid:!1};n.push(o.data)}return{valid:!0,data:n}}return n===B.date&&r===B.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var _r=class extends K{_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=(e,r)=>{if(xn(e)||xn(r))return U;let i=gr(e.value,r.value);return i.valid?((Sn(e)||Sn(r))&&t.dirty(),{status:t.value,value:i.data}):(H(n,{code:V.invalid_intersection_types}),U)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([e,t])=>r(e,t)):r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};_r.create=(e,t,n)=>new _r({left:e,right:t,typeName:q.ZodIntersection,...G(n)});var vr=class e extends K{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==B.array)return H(n,{code:V.invalid_type,expected:B.array,received:n.parsedType}),U;if(n.data.length<this._def.items.length)return H(n,{code:V.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),U;!this._def.rest&&n.data.length>this._def.items.length&&(H(n,{code:V.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),t.dirty());let r=[...n.data].map((e,t)=>{let r=this._def.items[t]||this._def.rest;return r?r._parse(new Tn(n,e,n.path,t)):null}).filter(e=>!!e);return n.common.async?Promise.all(r).then(e=>vn.mergeArray(t,e)):vn.mergeArray(t,r)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};vr.create=(e,t)=>{if(!Array.isArray(e))throw Error(`You must pass an array of schemas to z.tuple([ ... ])`);return new vr({items:e,typeName:q.ZodTuple,rest:null,...G(t)})};var yr=class e extends K{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==B.object)return H(n,{code:V.invalid_type,expected:B.object,received:n.parsedType}),U;let r=[],i=this._def.keyType,a=this._def.valueType;for(let e in n.data)r.push({key:i._parse(new Tn(n,e,n.path,e)),value:a._parse(new Tn(n,n.data[e],n.path,e)),alwaysSet:e in n.data});return n.common.async?vn.mergeObjectAsync(t,r):vn.mergeObjectSync(t,r)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof K?new e({keyType:t,valueType:n,typeName:q.ZodRecord,...G(r)}):new e({keyType:Zn.create(),valueType:t,typeName:q.ZodRecord,...G(n)})}},br=class extends K{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==B.map)return H(n,{code:V.invalid_type,expected:B.map,received:n.parsedType}),U;let r=this._def.keyType,i=this._def.valueType,a=[...n.data.entries()].map(([e,t],a)=>({key:r._parse(new Tn(n,e,n.path,[a,`key`])),value:i._parse(new Tn(n,t,n.path,[a,`value`]))}));if(n.common.async){let e=new Map;return Promise.resolve().then(async()=>{for(let n of a){let r=await n.key,i=await n.value;if(r.status===`aborted`||i.status===`aborted`)return U;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}})}{let e=new Map;for(let n of a){let r=n.key,i=n.value;if(r.status===`aborted`||i.status===`aborted`)return U;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}}}};br.create=(e,t,n)=>new br({valueType:t,keyType:e,typeName:q.ZodMap,...G(n)});var xr=class e extends K{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==B.set)return H(n,{code:V.invalid_type,expected:B.set,received:n.parsedType}),U;let r=this._def;r.minSize!==null&&n.data.size<r.minSize.value&&(H(n,{code:V.too_small,minimum:r.minSize.value,type:`set`,inclusive:!0,exact:!1,message:r.minSize.message}),t.dirty()),r.maxSize!==null&&n.data.size>r.maxSize.value&&(H(n,{code:V.too_big,maximum:r.maxSize.value,type:`set`,inclusive:!0,exact:!1,message:r.maxSize.message}),t.dirty());let i=this._def.valueType;function a(e){let n=new Set;for(let r of e){if(r.status===`aborted`)return U;r.status===`dirty`&&t.dirty(),n.add(r.value)}return{status:t.value,value:n}}let o=[...n.data.values()].map((e,t)=>i._parse(new Tn(n,e,n.path,t)));return n.common.async?Promise.all(o).then(e=>a(e)):a(o)}min(t,n){return new e({...this._def,minSize:{value:t,message:W.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:W.toString(n)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}};xr.create=(e,t)=>new xr({valueType:e,minSize:null,maxSize:null,typeName:q.ZodSet,...G(t)});var Sr=class e extends K{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==B.function)return H(t,{code:V.invalid_type,expected:B.function,received:t.parsedType}),U;function n(e,n){return _n({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,gn(),mn].filter(e=>!!e),issueData:{code:V.invalid_arguments,argumentsError:n}})}function r(e,n){return _n({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,gn(),mn].filter(e=>!!e),issueData:{code:V.invalid_return_type,returnTypeError:n}})}let i={errorMap:t.common.contextualErrorMap},a=t.data;if(this._def.returns instanceof Or){let e=this;return bn(async function(...t){let o=new pn([]),s=await e._def.args.parseAsync(t,i).catch(e=>{throw o.addIssue(n(t,e)),o}),c=await Reflect.apply(a,this,s);return await e._def.returns._def.type.parseAsync(c,i).catch(e=>{throw o.addIssue(r(c,e)),o})})}{let e=this;return bn(function(...t){let o=e._def.args.safeParse(t,i);if(!o.success)throw new pn([n(t,o.error)]);let s=Reflect.apply(a,this,o.data),c=e._def.returns.safeParse(s,i);if(!c.success)throw new pn([r(s,c.error)]);return c.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:vr.create(t).rest(sr.create())})}returns(t){return new e({...this._def,returns:t})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(t,n,r){return new e({args:t||vr.create([]).rest(sr.create()),returns:n||sr.create(),typeName:q.ZodFunction,...G(r)})}},Cr=class extends K{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}};Cr.create=(e,t)=>new Cr({getter:e,typeName:q.ZodLazy,...G(t)});var wr=class extends K{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return H(t,{received:t.data,code:V.invalid_literal,expected:this._def.value}),U}return{status:`valid`,value:e.data}}get value(){return this._def.value}};wr.create=(e,t)=>new wr({value:e,typeName:q.ZodLiteral,...G(t)});function Tr(e,t){return new Er({values:e,typeName:q.ZodEnum,...G(t)})}var Er=class e extends K{_parse(e){if(typeof e.data!=`string`){let t=this._getOrReturnCtx(e),n=this._def.values;return H(t,{expected:z.joinValues(n),received:t.parsedType,code:V.invalid_type}),U}if(this._cache||=new Set(this._def.values),!this._cache.has(e.data)){let t=this._getOrReturnCtx(e),n=this._def.values;return H(t,{received:t.data,code:V.invalid_enum_value,options:n}),U}return bn(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter(e=>!t.includes(e)),{...this._def,...n})}};Er.create=Tr;var Dr=class extends K{_parse(e){let t=z.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==B.string&&n.parsedType!==B.number){let e=z.objectValues(t);return H(n,{expected:z.joinValues(e),received:n.parsedType,code:V.invalid_type}),U}if(this._cache||=new Set(z.getValidEnumValues(this._def.values)),!this._cache.has(e.data)){let e=z.objectValues(t);return H(n,{received:n.data,code:V.invalid_enum_value,options:e}),U}return bn(e.data)}get enum(){return this._def.values}};Dr.create=(e,t)=>new Dr({values:e,typeName:q.ZodNativeEnum,...G(t)});var Or=class extends K{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);return t.parsedType!==B.promise&&t.common.async===!1?(H(t,{code:V.invalid_type,expected:B.promise,received:t.parsedType}),U):bn((t.parsedType===B.promise?t.data:Promise.resolve(t.data)).then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}};Or.create=(e,t)=>new Or({type:e,typeName:q.ZodPromise,...G(t)});var kr=class extends K{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===q.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=this._def.effect||null,i={addIssue:e=>{H(n,e),e.fatal?t.abort():t.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),r.type===`preprocess`){let e=r.transform(n.data,i);if(n.common.async)return Promise.resolve(e).then(async e=>{if(t.value===`aborted`)return U;let r=await this._def.schema._parseAsync({data:e,path:n.path,parent:n});return r.status===`aborted`?U:r.status===`dirty`||t.value===`dirty`?yn(r.value):r});{if(t.value===`aborted`)return U;let r=this._def.schema._parseSync({data:e,path:n.path,parent:n});return r.status===`aborted`?U:r.status===`dirty`||t.value===`dirty`?yn(r.value):r}}if(r.type===`refinement`){let e=e=>{let t=r.refinement(e,i);if(n.common.async)return Promise.resolve(t);if(t instanceof Promise)throw Error(`Async refinement encountered during synchronous parse operation. Use .parseAsync instead.`);return e};if(n.common.async===!1){let r=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return r.status===`aborted`?U:(r.status===`dirty`&&t.dirty(),e(r.value),{status:t.value,value:r.value})}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(n=>n.status===`aborted`?U:(n.status===`dirty`&&t.dirty(),e(n.value).then(()=>({status:t.value,value:n.value}))))}if(r.type===`transform`){if(n.common.async===!1){let e=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!Cn(e))return U;let a=r.transform(e.value,i);if(a instanceof Promise)throw Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);return{status:t.value,value:a}}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(e=>Cn(e)?Promise.resolve(r.transform(e.value,i)).then(e=>({status:t.value,value:e})):U)}z.assertNever(r)}};kr.create=(e,t,n)=>new kr({schema:e,typeName:q.ZodEffects,effect:t,...G(n)}),kr.createWithPreprocess=(e,t,n)=>new kr({schema:t,effect:{type:`preprocess`,transform:e},typeName:q.ZodEffects,...G(n)});var Ar=class extends K{_parse(e){return this._getType(e)===B.undefined?bn(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Ar.create=(e,t)=>new Ar({innerType:e,typeName:q.ZodOptional,...G(t)});var jr=class extends K{_parse(e){return this._getType(e)===B.null?bn(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};jr.create=(e,t)=>new jr({innerType:e,typeName:q.ZodNullable,...G(t)});var Mr=class extends K{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return t.parsedType===B.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};Mr.create=(e,t)=>new Mr({innerType:e,typeName:q.ZodDefault,defaultValue:typeof t.default==`function`?t.default:()=>t.default,...G(t)});var Nr=class extends K{_parse(e){let{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return wn(r)?r.then(e=>({status:`valid`,value:e.status===`valid`?e.value:this._def.catchValue({get error(){return new pn(n.common.issues)},input:n.data})})):{status:`valid`,value:r.status===`valid`?r.value:this._def.catchValue({get error(){return new pn(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Nr.create=(e,t)=>new Nr({innerType:e,typeName:q.ZodCatch,catchValue:typeof t.catch==`function`?t.catch:()=>t.catch,...G(t)});var Pr=class extends K{_parse(e){if(this._getType(e)!==B.nan){let t=this._getOrReturnCtx(e);return H(t,{code:V.invalid_type,expected:B.nan,received:t.parsedType}),U}return{status:`valid`,value:e.data}}};Pr.create=e=>new Pr({typeName:q.ZodNaN,...G(e)});var Fr=class extends K{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}},Ir=class e extends K{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let e=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?U:e.status===`dirty`?(t.dirty(),yn(e.value)):this._def.out._parseAsync({data:e.value,path:n.path,parent:n})})();{let e=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?U:e.status===`dirty`?(t.dirty(),{status:`dirty`,value:e.value}):this._def.out._parseSync({data:e.value,path:n.path,parent:n})}}static create(t,n){return new e({in:t,out:n,typeName:q.ZodPipeline})}},Lr=class extends K{_parse(e){let t=this._def.innerType._parse(e),n=e=>(Cn(e)&&(e.value=Object.freeze(e.value)),e);return wn(t)?t.then(e=>n(e)):n(t)}unwrap(){return this._def.innerType}};Lr.create=(e,t)=>new Lr({innerType:e,typeName:q.ZodReadonly,...G(t)}),fr.lazycreate;var q;(function(e){e.ZodString=`ZodString`,e.ZodNumber=`ZodNumber`,e.ZodNaN=`ZodNaN`,e.ZodBigInt=`ZodBigInt`,e.ZodBoolean=`ZodBoolean`,e.ZodDate=`ZodDate`,e.ZodSymbol=`ZodSymbol`,e.ZodUndefined=`ZodUndefined`,e.ZodNull=`ZodNull`,e.ZodAny=`ZodAny`,e.ZodUnknown=`ZodUnknown`,e.ZodNever=`ZodNever`,e.ZodVoid=`ZodVoid`,e.ZodArray=`ZodArray`,e.ZodObject=`ZodObject`,e.ZodUnion=`ZodUnion`,e.ZodDiscriminatedUnion=`ZodDiscriminatedUnion`,e.ZodIntersection=`ZodIntersection`,e.ZodTuple=`ZodTuple`,e.ZodRecord=`ZodRecord`,e.ZodMap=`ZodMap`,e.ZodSet=`ZodSet`,e.ZodFunction=`ZodFunction`,e.ZodLazy=`ZodLazy`,e.ZodLiteral=`ZodLiteral`,e.ZodEnum=`ZodEnum`,e.ZodEffects=`ZodEffects`,e.ZodNativeEnum=`ZodNativeEnum`,e.ZodOptional=`ZodOptional`,e.ZodNullable=`ZodNullable`,e.ZodDefault=`ZodDefault`,e.ZodCatch=`ZodCatch`,e.ZodPromise=`ZodPromise`,e.ZodBranded=`ZodBranded`,e.ZodPipeline=`ZodPipeline`,e.ZodReadonly=`ZodReadonly`})(q||={}),Zn.create,$n.create,Pr.create,er.create,tr.create,nr.create,rr.create,ir.create,ar.create,or.create,sr.create,cr.create,lr.create,ur.create,fr.create,fr.strictCreate,pr.create,hr.create,_r.create,vr.create,yr.create,br.create,xr.create,Sr.create,Cr.create,wr.create,Er.create,Dr.create,Or.create,kr.create,Ar.create,jr.create,kr.createWithPreprocess,Ir.create;var Rr=class extends Error{constructor(e,t){super(e),this.name=`ParseError`,this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}},zr=10,Br=13,Vr=32;function Hr(e){}function Ur(e){if(typeof e==`function`)throw TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");let{onEvent:t=Hr,onError:n=Hr,onRetry:r=Hr,onComment:i,maxBufferSize:a}=e,o=[],s=0,c=!0,l,u=``,d=0,f,p=!1;function m(e){if(p)throw Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(c&&(c=!1,e.charCodeAt(0)===239&&e.charCodeAt(1)===187&&e.charCodeAt(2)===191&&(e=e.slice(3))),o.length===0){let t=g(e);t!==``&&(o.push(t),s=t.length),h();return}if(e.indexOf(`
|
|
4
4
|
`)===-1&&e.indexOf(`\r`)===-1){o.push(e),s+=e.length,h();return}o.push(e);let t=o.join(``);o.length=0,s=0;let n=g(t);n!==``&&(o.push(n),s=n.length),h()}function h(){a!==void 0&&(s+u.length<=a||(p=!0,o.length=0,s=0,l=void 0,u=``,d=0,f=void 0,n(new Rr(`Buffered data exceeded max buffer size of ${a} characters`,{type:`max-buffer-size-exceeded`}))))}function g(e){let n=0;if(e.indexOf(`\r`)===-1){let r=e.indexOf(`
|
|
@@ -13,20 +13,20 @@ ${t}`,d++;break;case`id`:l=t.includes(`\0`)?void 0:t;break;case`retry`:/^\d+$/.t
|
|
|
13
13
|
]))`;continue}if(r[e]===`$`){i+=`($|(?=[\r
|
|
14
14
|
]))`;continue}}if(n.s&&r[e]===`.`){i+=o?`${r[e]}\r
|
|
15
15
|
`:`[${r[e]}\r
|
|
16
|
-
]`;continue}i+=r[e],r[e]===`\\`?a=!0:o&&r[e]===`]`?o=!1:!o&&r[e]===`[`&&(o=!0)}try{new RegExp(i)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join(`/`)} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return i}function Pi(e,t){let n={type:`object`,additionalProperties:J(e.valueType._def,{...t,currentPath:[...t.currentPath,`additionalProperties`]})??t.allowedAdditionalProperties};if(e.keyType?._def.typeName===q.ZodString&&e.keyType._def.checks?.length){let{type:r,...i}=Di(e.keyType._def,t);return{...n,propertyNames:i}}if(e.keyType?._def.typeName===q.ZodEnum)return{...n,propertyNames:{enum:e.keyType._def.values}};if(e.keyType?._def.typeName===q.ZodBranded&&e.keyType._def.type._def.typeName===q.ZodString&&e.keyType._def.type._def.checks?.length){let{type:r,...i}=hi(e.keyType._def,t);return{...n,propertyNames:i}}return n}function Fi(e,t){return t.mapStrategy===`record`?Pi(e,t):{type:`array`,maxItems:125,items:{type:`array`,items:[J(e.keyType._def,{...t,currentPath:[...t.currentPath,`items`,`items`,`0`]})||di(),J(e.valueType._def,{...t,currentPath:[...t.currentPath,`items`,`items`,`1`]})||di()],minItems:2,maxItems:2}}}function Ii(e){let t=e.values,n=Object.keys(e.values).filter(e=>typeof t[t[e]]!=`number`).map(e=>t[e]),r=Array.from(new Set(n.map(e=>typeof e)));return{type:r.length===1?r[0]===`string`?`string`:`number`:[`string`,`number`],enum:n}}function Li(){return{not:di()}}function Ri(){return{type:`null`}}var zi={ZodString:`string`,ZodNumber:`number`,ZodBigInt:`integer`,ZodBoolean:`boolean`,ZodNull:`null`};function Bi(e,t){let n=e.options instanceof Map?Array.from(e.options.values()):e.options;if(n.every(e=>e._def.typeName in zi&&(!e._def.checks||!e._def.checks.length))){let e=n.reduce((e,t)=>{let n=zi[t._def.typeName];return n&&!e.includes(n)?[...e,n]:e},[]);return{type:e.length>1?e:e[0]}}if(n.every(e=>e._def.typeName===`ZodLiteral`&&!e.description)){let e=n.reduce((e,t)=>{let n=typeof t._def.value;switch(n){case`string`:case`number`:case`boolean`:return[...e,n];case`bigint`:return[...e,`integer`];case`object`:if(t._def.value===null)return[...e,`null`];default:return e}},[]);if(e.length===n.length){let t=e.filter((e,t,n)=>n.indexOf(e)===t);return{type:t.length>1?t:t[0],enum:n.reduce((e,t)=>e.includes(t._def.value)?e:[...e,t._def.value],[])}}}else if(n.every(e=>e._def.typeName===`ZodEnum`))return{type:`string`,enum:n.reduce((e,t)=>[...e,...t._def.values.filter(t=>!e.includes(t))],[])};return Vi(e,t)}var Vi=(e,t)=>{let n=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((e,n)=>J(e._def,{...t,currentPath:[...t.currentPath,`anyOf`,`${n}`]})).filter(e=>!!e&&(!t.strictUnions||typeof e==`object`&&Object.keys(e).length>0));return n.length?{anyOf:n}:void 0};function Hi(e,t){if([`ZodString`,`ZodNumber`,`ZodBigInt`,`ZodBoolean`,`ZodNull`].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[zi[e.innerType._def.typeName],`null`]};let n=J(e.innerType._def,{...t,currentPath:[...t.currentPath,`anyOf`,`0`]});return n&&{anyOf:[n,{type:`null`}]}}function Ui(e){let t={type:`number`};if(!e.checks)return t;for(let n of e.checks)switch(n.kind){case`int`:t.type=`integer`;break;case`min`:n.inclusive?t.minimum=n.value:t.exclusiveMinimum=n.value;break;case`max`:n.inclusive?t.maximum=n.value:t.exclusiveMaximum=n.value;break;case`multipleOf`:t.multipleOf=n.value}return t}function Wi(e,t){let n={type:`object`,properties:{}},r=[],i=e.shape();for(let e in i){let a=i[e];if(a===void 0||a._def===void 0)continue;let o=Ki(a),s=J(a._def,{...t,currentPath:[...t.currentPath,`properties`,e],propertyPath:[...t.currentPath,`properties`,e]});s!==void 0&&(n.properties[e]=s,o||r.push(e))}r.length&&(n.required=r);let a=Gi(e,t);return a!==void 0&&(n.additionalProperties=a),n}function Gi(e,t){if(e.catchall._def.typeName!==`ZodNever`)return J(e.catchall._def,{...t,currentPath:[...t.currentPath,`additionalProperties`]});switch(e.unknownKeys){case`passthrough`:return t.allowedAdditionalProperties;case`strict`:return t.rejectedAdditionalProperties;case`strip`:return t.removeAdditionalStrategy===`strict`?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function Ki(e){try{return e.isOptional()}catch{return!0}}var qi=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString())return J(e.innerType._def,t);let n=J(e.innerType._def,{...t,currentPath:[...t.currentPath,`anyOf`,`1`]});return n?{anyOf:[{not:di()},n]}:di()},Ji=(e,t)=>{if(t.pipeStrategy===`input`)return J(e.in._def,t);if(t.pipeStrategy===`output`)return J(e.out._def,t);let n=J(e.in._def,{...t,currentPath:[...t.currentPath,`allOf`,`0`]});return{allOf:[n,J(e.out._def,{...t,currentPath:[...t.currentPath,`allOf`,n?`1`:`0`]})].filter(e=>e!==void 0)}};function Yi(e,t){return J(e.type._def,t)}function Xi(e,t){let n={type:`array`,uniqueItems:!0,items:J(e.valueType._def,{...t,currentPath:[...t.currentPath,`items`]})};return e.minSize&&(n.minItems=e.minSize.value),e.maxSize&&(n.maxItems=e.maxSize.value),n}function Zi(e,t){return e.rest?{type:`array`,minItems:e.items.length,items:e.items.map((e,n)=>J(e._def,{...t,currentPath:[...t.currentPath,`items`,`${n}`]})).reduce((e,t)=>t===void 0?e:[...e,t],[]),additionalItems:J(e.rest._def,{...t,currentPath:[...t.currentPath,`additionalItems`]})}:{type:`array`,minItems:e.items.length,maxItems:e.items.length,items:e.items.map((e,n)=>J(e._def,{...t,currentPath:[...t.currentPath,`items`,`${n}`]})).reduce((e,t)=>t===void 0?e:[...e,t],[])}}function Qi(){return{not:di()}}function $i(){return di()}var ea=(e,t)=>J(e.innerType._def,t),ta=(e,t,n)=>{switch(t){case q.ZodString:return Di(e,n);case q.ZodNumber:return Ui(e);case q.ZodObject:return Wi(e,n);case q.ZodBigInt:return pi(e);case q.ZodBoolean:return mi();case q.ZodDate:return _i(e,n);case q.ZodUndefined:return Qi();case q.ZodNull:return Ri();case q.ZodArray:return fi(e,n);case q.ZodUnion:case q.ZodDiscriminatedUnion:return Bi(e,n);case q.ZodIntersection:return Ci(e,n);case q.ZodTuple:return Zi(e,n);case q.ZodRecord:return Pi(e,n);case q.ZodLiteral:return wi(e);case q.ZodEnum:return xi(e);case q.ZodNativeEnum:return Ii(e);case q.ZodNullable:return Hi(e,n);case q.ZodOptional:return qi(e,n);case q.ZodMap:return Fi(e,n);case q.ZodSet:return Xi(e,n);case q.ZodLazy:return()=>e.getter()._def;case q.ZodPromise:return Yi(e,n);case q.ZodNaN:case q.ZodNever:return Li();case q.ZodEffects:return bi(e,n);case q.ZodAny:return di();case q.ZodUnknown:return $i();case q.ZodDefault:return yi(e,n);case q.ZodBranded:return hi(e,n);case q.ZodReadonly:return ea(e,n);case q.ZodCatch:return gi(e,n);case q.ZodPipeline:return Ji(e,n);case q.ZodFunction:case q.ZodVoid:case q.ZodSymbol:return;default:return(e=>void 0)(t)}},na=(e,t)=>{let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];n++);return[(e.length-n).toString(),...t.slice(n)].join(`/`)};function J(e,t,n=!1){let r=t.seen.get(e);if(t.override){let i=t.override?.call(t,e,t,r,n);if(i!==ci)return i}if(r&&!n){let e=ra(r,t);if(e!==void 0)return e}let i={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,i);let a=ta(e,e.typeName,t),o=typeof a==`function`?J(a(),t):a;if(o&&ia(e,t,o),t.postProcess){let n=t.postProcess(o,e,t);return i.jsonSchema=o,n}return i.jsonSchema=o,o}var ra=(e,t)=>{switch(t.$refStrategy){case`root`:return{$ref:e.path.join(`/`)};case`relative`:return{$ref:na(t.currentPath,e.path)};case`none`:case`seen`:return e.path.length<t.currentPath.length&&e.path.every((e,n)=>t.currentPath[n]===e)?(console.warn(`Recursive reference detected at ${t.currentPath.join(`/`)}! Defaulting to any`),di()):t.$refStrategy===`seen`?di():void 0}},ia=(e,t,n)=>(e.description&&(n.description=e.description),n),aa=e=>{let t=ui(e),n=t.name===void 0?t.basePath:[...t.basePath,t.definitionPath,t.name];return{...t,currentPath:n,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([e,n])=>[n._def,{def:n._def,path:[...t.basePath,t.definitionPath,e],jsonSchema:void 0}]))}},oa=(e,t)=>{let n=aa(t),r=typeof t==`object`&&t.definitions?Object.entries(t.definitions).reduce((e,[t,r])=>({...e,[t]:J(r._def,{...n,currentPath:[...n.basePath,n.definitionPath,t]},!0)??di()}),{}):void 0,i=typeof t==`string`?t:t?.nameStrategy===`title`?void 0:t?.name,a=J(e._def,i===void 0?n:{...n,currentPath:[...n.basePath,n.definitionPath,i]},!1)??di(),o=typeof t==`object`&&t.name!==void 0&&t.nameStrategy===`title`?t.name:void 0;o!==void 0&&(a.title=o);let s=i===void 0?r?{...a,[n.definitionPath]:r}:a:{$ref:[...n.$refStrategy===`relative`?[]:n.basePath,n.definitionPath,i].join(`/`),[n.definitionPath]:{...r,[i]:a}};return s.$schema=`http://json-schema.org/draft-07/schema#`,s},sa=Symbol.for(`vercel.ai.schema`);function ca(e){let t;return()=>(t??=e(),t)}function la(e,{validate:t}={}){return{[sa]:!0,_type:void 0,get jsonSchema(){return typeof e==`function`&&(e=e()),e},validate:t}}function ua(e){return typeof e==`object`&&!!e&&sa in e&&e[sa]===!0&&`jsonSchema`in e&&`validate`in e}function da(e){return e==null?la({type:`object`,properties:{},additionalProperties:!1}):ua(e)?e:`~standard`in e?e[`~standard`].vendor===`zod`?_a(e):fa(e):e()}function fa(e){return la(()=>{if(!pa(e))throw Error(`Standard schema vendor '${e[`~standard`].vendor}' does not support JSON Schema conversion.`);return oi(e[`~standard`].jsonSchema.input({target:`draft-07`}))},{validate:async t=>{let n=await e[`~standard`].validate(t);return`value`in n?{success:!0,value:n.value}:{success:!1,error:new un({value:t,cause:n.issues})}}})}function pa(e){return e[`~standard`].jsonSchema!=null}function ma(e,t){let n=t?.useReferences??!1;return la(()=>oa(e,{$refStrategy:n?`root`:`none`}),{validate:async t=>{let n=await e.safeParseAsync(t);return n.success?{success:!0,value:n.data}:{success:!1,error:n.error}}})}function ha(e,t){let n=t?.useReferences??!1;return la(()=>oi(ae(e,{target:`draft-7`,io:`input`,reused:n?`ref`:`inline`})),{validate:async t=>{let n=await de(e,t);return n.success?{success:!0,value:n.data}:{success:!1,error:n.error}}})}function ga(e){return`_zod`in e}function _a(e,t){return ga(e)?ha(e,t):ma(e,t)}async function va({value:e,schema:t,context:n}){let r=await ya({value:e,schema:t,context:n});if(!r.success)throw un.wrap({value:e,cause:r.error,context:n});return r.value}async function ya({value:e,schema:t,context:n}){let r=da(t);try{if(r.validate==null)return{success:!0,value:e,rawValue:e};let t=await r.validate(e);return t.success?{success:!0,value:t.value,rawValue:e}:{success:!1,error:un.wrap({value:e,cause:t.error,context:n}),rawValue:e}}catch(t){return{success:!1,error:un.wrap({value:e,cause:t,context:n}),rawValue:e}}}async function ba({text:e,schema:t}){try{let n=ai(e);return t==null?{success:!0,value:n,rawValue:n}:await ya({value:n,schema:t})}catch(t){return{success:!1,error:rn.isInstance(t)?t:new rn({text:e,cause:t}),rawValue:void 0}}}function xa({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new Kr).pipeThrough(new TransformStream({async transform({data:e},n){e!==`[DONE]`&&n.enqueue(await ba({text:e,schema:t}))}}))}async function Sa(e){return typeof e==`function`&&(e=e()),Promise.resolve(e)}new TextDecoder;var Ca=Object.defineProperty,wa=(e,t)=>{for(var n in t)Ca(e,n,{get:t[n],enumerable:!0})},Ta=`AI_InvalidArgumentError`,Ea=`vercel.ai.error.${Ta}`,Da=Symbol.for(Ea),Oa,ka=class extends Wt{constructor({parameter:e,value:t,message:n}){super({name:Ta,message:`Invalid argument for parameter ${e}: ${n}`}),this[Oa]=!0,this.parameter=e,this.value=t}static isInstance(e){return Wt.hasMarker(e,Ea)}};Oa=Da;var Aa=`AI_NoObjectGeneratedError`,ja=`vercel.ai.error.${Aa}`,Ma=Symbol.for(ja),Na,Pa=class extends Wt{constructor({message:e=`No object generated.`,cause:t,text:n,response:r,usage:i,finishReason:a}){super({name:Aa,message:e,cause:t}),this[Na]=!0,this.text=n,this.response=r,this.usage=i,this.finishReason=a}static isInstance(e){return Wt.hasMarker(e,ja)}};Na=Ma;var Fa=`AI_UIMessageStreamError`,Ia=`vercel.ai.error.${Fa}`,La=Symbol.for(Ia),Ra,za=class extends Wt{constructor({chunkType:e,chunkId:t,message:n}){super({name:Fa,message:n}),this[Ra]=!0,this.chunkType=e,this.chunkId=t}static isInstance(e){return Wt.hasMarker(e,Ia)}};Ra=La;var Ba=`7.0.37`;function Va(e,t){if(e===void 0&&t===void 0)return;if(e===void 0)return t;if(t===void 0)return e;let n={...e};for(let r in t)if(r!==`__proto__`&&r!==`constructor`&&r!==`prototype`&&Object.prototype.hasOwnProperty.call(t,r)){let i=t[r];if(i===void 0)continue;let a=r in e?e[r]:void 0,o=typeof i==`object`&&!!i&&!Array.isArray(i)&&!(i instanceof Date)&&!(i instanceof RegExp),s=typeof a==`object`&&!!a&&!Array.isArray(a)&&!(a instanceof Date)&&!(a instanceof RegExp);n[r]=o&&s?Va(a,i):i}return n}var Ha=le(()=>A([pe(),k(),se(),P(),N(k(),Ha.optional()),j(Ha)])),Y=N(k(),N(k(),Ha.optional())),Ua=A([k(),ce(Uint8Array),ce(ArrayBuffer),oe(ei,{message:`Must be a Buffer`})]),Wa=N(k(),k()),Ga=O({type:F(`text`),text:k(),providerOptions:Y.optional()}),Ka=O({type:F(`image`),image:A([Ua,ce(URL),Wa]),mediaType:k().optional(),providerOptions:Y.optional()}),qa=me(`type`,[O({type:F(`data`),data:Ua}),O({type:F(`url`),url:ce(URL)}),O({type:F(`reference`),reference:Wa}),O({type:F(`text`),text:k()})]),Ja=me(`type`,[O({type:F(`data`),data:Ua}),O({type:F(`url`),url:ce(URL)})]),Ya=O({type:F(`file`),data:A([qa,Ua,ce(URL),Wa]),filename:k().optional(),mediaType:k(),providerOptions:Y.optional()}),Xa=O({type:F(`reasoning`),text:k(),providerOptions:Y.optional()}),Za=O({type:F(`custom`),kind:k().transform(e=>e),providerOptions:Y.optional()}),Qa=O({type:F(`reasoning-file`),data:A([Ja,Ua,ce(URL)]),mediaType:k(),providerOptions:Y.optional()}),$a=O({type:F(`tool-call`),toolCallId:k(),toolName:k(),input:M(),providerOptions:Y.optional(),providerExecuted:P().optional()}),eo=me(`type`,[O({type:F(`text`),value:k(),providerOptions:Y.optional()}),O({type:F(`json`),value:Ha,providerOptions:Y.optional()}),O({type:F(`execution-denied`),reason:k().optional(),providerOptions:Y.optional()}),O({type:F(`error-text`),value:k(),providerOptions:Y.optional()}),O({type:F(`error-json`),value:Ha,providerOptions:Y.optional()}),O({type:F(`content`),value:j(A([O({type:F(`text`),text:k(),providerOptions:Y.optional()}),O({type:F(`file`),data:qa,mediaType:k(),filename:k().optional(),providerOptions:Y.optional()}),O({type:F(`file-data`),data:k(),mediaType:k(),filename:k().optional(),providerOptions:Y.optional()}),O({type:F(`file-url`),url:k(),mediaType:k().optional(),providerOptions:Y.optional()}),O({type:F(`file-id`),fileId:A([k(),N(k(),k())]),providerOptions:Y.optional()}),O({type:F(`file-reference`),providerReference:N(k(),k()),providerOptions:Y.optional()}),O({type:F(`image-data`),data:k(),mediaType:k(),providerOptions:Y.optional()}),O({type:F(`image-url`),url:k(),providerOptions:Y.optional()}),O({type:F(`image-file-id`),fileId:A([k(),N(k(),k())]),providerOptions:Y.optional()}),O({type:F(`image-file-reference`),providerReference:N(k(),k()),providerOptions:Y.optional()}),O({type:F(`custom`),providerOptions:Y.optional()})]))})]),to=O({type:F(`tool-result`),toolCallId:k(),toolName:k(),output:eo,providerOptions:Y.optional()}),no=O({type:F(`tool-approval-request`),approvalId:k(),toolCallId:k()}),ro=O({type:F(`tool-approval-response`),approvalId:k(),approved:P(),reason:k().optional()}),io=O({role:F(`system`),content:k(),providerOptions:Y.optional()}),ao=O({role:F(`user`),content:A([k(),j(A([Ga,Ka,Ya]))]),providerOptions:Y.optional()}),oo=O({role:F(`assistant`),content:A([k(),j(A([Ga,Za,Ya,Xa,Qa,$a,to,no]))]),providerOptions:Y.optional()}),so=O({role:F(`tool`),content:j(A([to,ro])),providerOptions:Y.optional()});A([io,ao,oo,so]);function co(e,t){return e!=null&&Object.hasOwn(e,t)?e[t]:void 0}wa({},{array:()=>mo,choice:()=>ho,json:()=>go,object:()=>po,text:()=>fo});function lo(e){let t=[`ROOT`],n=-1,r=null,i=0;function a(e){return e>=`0`&&e<=`9`||e>=`A`&&e<=`F`||e>=`a`&&e<=`f`}function o(e,i,a){switch(e){case`"`:n=i,t.pop(),t.push(a),t.push(`INSIDE_STRING`);break;case`f`:case`t`:case`n`:n=i,r=i,t.pop(),t.push(a),t.push(`INSIDE_LITERAL`);break;case`-`:t.pop(),t.push(a),t.push(`INSIDE_NUMBER`);break;case`0`:case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:n=i,t.pop(),t.push(a),t.push(`INSIDE_NUMBER`);break;case`{`:n=i,t.pop(),t.push(a),t.push(`INSIDE_OBJECT_START`);break;case`[`:n=i,t.pop(),t.push(a),t.push(`INSIDE_ARRAY_START`)}}function s(e,r){switch(e){case`,`:t.pop(),t.push(`INSIDE_OBJECT_AFTER_COMMA`);break;case`}`:n=r,t.pop()}}function c(e,r){switch(e){case`,`:t.pop(),t.push(`INSIDE_ARRAY_AFTER_COMMA`);break;case`]`:n=r,t.pop()}}for(let l=0;l<e.length;l++){let u=e[l];switch(t[t.length-1]){case`ROOT`:o(u,l,`FINISH`);break;case`INSIDE_OBJECT_START`:switch(u){case`"`:t.pop(),t.push(`INSIDE_OBJECT_KEY`);break;case`}`:n=l,t.pop()}break;case`INSIDE_OBJECT_AFTER_COMMA`:u===`"`&&(t.pop(),t.push(`INSIDE_OBJECT_KEY`));break;case`INSIDE_OBJECT_KEY`:u===`"`&&(t.pop(),t.push(`INSIDE_OBJECT_AFTER_KEY`));break;case`INSIDE_OBJECT_AFTER_KEY`:u===`:`&&(t.pop(),t.push(`INSIDE_OBJECT_BEFORE_VALUE`));break;case`INSIDE_OBJECT_BEFORE_VALUE`:o(u,l,`INSIDE_OBJECT_AFTER_VALUE`);break;case`INSIDE_OBJECT_AFTER_VALUE`:s(u,l);break;case`INSIDE_STRING`:switch(u){case`"`:t.pop(),n=l;break;case`\\`:t.push(`INSIDE_STRING_ESCAPE`);break;default:n=l}break;case`INSIDE_ARRAY_START`:switch(u){case`]`:n=l,t.pop();break;default:n=l,o(u,l,`INSIDE_ARRAY_AFTER_VALUE`)}break;case`INSIDE_ARRAY_AFTER_VALUE`:switch(u){case`,`:t.pop(),t.push(`INSIDE_ARRAY_AFTER_COMMA`);break;case`]`:n=l,t.pop();break;default:n=l}break;case`INSIDE_ARRAY_AFTER_COMMA`:o(u,l,`INSIDE_ARRAY_AFTER_VALUE`);break;case`INSIDE_STRING_ESCAPE`:t.pop(),u===`u`?(i=0,t.push(`INSIDE_STRING_UNICODE_ESCAPE`)):n=l;break;case`INSIDE_STRING_UNICODE_ESCAPE`:a(u)&&(i++,i===4&&(t.pop(),n=l));break;case`INSIDE_NUMBER`:switch(u){case`0`:case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:n=l;break;case`e`:case`E`:case`-`:case`.`:break;case`,`:t.pop(),t[t.length-1]===`INSIDE_ARRAY_AFTER_VALUE`&&c(u,l),t[t.length-1]===`INSIDE_OBJECT_AFTER_VALUE`&&s(u,l);break;case`}`:t.pop(),t[t.length-1]===`INSIDE_OBJECT_AFTER_VALUE`&&s(u,l);break;case`]`:t.pop(),t[t.length-1]===`INSIDE_ARRAY_AFTER_VALUE`&&c(u,l);break;default:t.pop()}break;case`INSIDE_LITERAL`:{let i=e.substring(r,l+1);!`false`.startsWith(i)&&!`true`.startsWith(i)&&!`null`.startsWith(i)?(t.pop(),t[t.length-1]===`INSIDE_OBJECT_AFTER_VALUE`?s(u,l):t[t.length-1]===`INSIDE_ARRAY_AFTER_VALUE`&&c(u,l)):n=l;break}}}let l=e.slice(0,n+1);for(let n=t.length-1;n>=0;n--)switch(t[n]){case`INSIDE_STRING`:l+=`"`;break;case`INSIDE_OBJECT_KEY`:case`INSIDE_OBJECT_AFTER_KEY`:case`INSIDE_OBJECT_AFTER_COMMA`:case`INSIDE_OBJECT_START`:case`INSIDE_OBJECT_BEFORE_VALUE`:case`INSIDE_OBJECT_AFTER_VALUE`:l+=`}`;break;case`INSIDE_ARRAY_START`:case`INSIDE_ARRAY_AFTER_COMMA`:case`INSIDE_ARRAY_AFTER_VALUE`:l+=`]`;break;case`INSIDE_LITERAL`:{let t=e.substring(r,e.length);`true`.startsWith(t)?l+=`true`.slice(t.length):`false`.startsWith(t)?l+=`false`.slice(t.length):`null`.startsWith(t)&&(l+=`null`.slice(t.length))}}return l}async function uo(e){if(e===void 0)return{value:void 0,state:`undefined-input`};let t=await ba({text:e});return t.success?{value:t.value,state:`successful-parse`}:(t=await ba({text:lo(e)}),t.success?{value:t.value,state:`repaired-parse`}:{value:void 0,state:`failed-parse`})}var fo=()=>({name:`text`,responseFormat:Promise.resolve({type:`text`}),async parseCompleteOutput({text:e}){return e},async parsePartialOutput({text:e}){return{partial:e}},createElementStreamTransform(){}}),po=({schema:e,name:t,description:n})=>{let r=da(e);return{name:`object`,responseFormat:Sa(r.jsonSchema).then(e=>({type:`json`,schema:e,...t!=null&&{name:t},...n!=null&&{description:n}})),async parseCompleteOutput({text:e},t){let n=await ba({text:e});if(!n.success)throw new Pa({message:`No object generated: could not parse the response.`,cause:n.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});let i=await ya({value:n.value,schema:r});if(!i.success)throw new Pa({message:`No object generated: response did not match schema.`,cause:i.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});return i.value},async parsePartialOutput({text:e}){let t=await uo(e);switch(t.state){case`failed-parse`:case`undefined-input`:return;case`repaired-parse`:case`successful-parse`:return{partial:t.value}}},createElementStreamTransform(){}}},mo=({element:e,name:t,description:n})=>{let r=da(e);return{name:`array`,responseFormat:Sa(r.jsonSchema).then(e=>{let{$schema:r,...i}=e;return{type:`json`,schema:{$schema:`http://json-schema.org/draft-07/schema#`,type:`object`,properties:{elements:{type:`array`,items:i}},required:[`elements`],additionalProperties:!1},...t!=null&&{name:t},...n!=null&&{description:n}}}),async parseCompleteOutput({text:e},t){let n=await ba({text:e});if(!n.success)throw new Pa({message:`No object generated: could not parse the response.`,cause:n.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});let i=n.value;if(typeof i!=`object`||!i||!(`elements`in i)||!Array.isArray(i.elements))throw new Pa({message:`No object generated: response did not match schema.`,cause:new un({value:i,cause:`response must be an object with an elements array`}),text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});let a=[];for(let n of i.elements){let i=await ya({value:n,schema:r});if(!i.success)throw new Pa({message:`No object generated: response did not match schema.`,cause:i.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});a.push(i.value)}return a},async parsePartialOutput({text:e}){let t=await uo(e);switch(t.state){case`failed-parse`:case`undefined-input`:return;case`repaired-parse`:case`successful-parse`:{let e=t.value;if(typeof e!=`object`||!e||!(`elements`in e)||!Array.isArray(e.elements))return;let n=t.state===`repaired-parse`&&e.elements.length>0?e.elements.slice(0,-1):e.elements,i=[];for(let e of n){let t=await ya({value:e,schema:r});t.success&&i.push(t.value)}return{partial:i}}}},createElementStreamTransform(){let e=0;return new TransformStream({transform({partialOutput:t},n){if(t!=null)for(;e<t.length;e++)n.enqueue(t[e])}})}}},ho=({options:e,name:t,description:n})=>({name:`choice`,responseFormat:Promise.resolve({type:`json`,schema:{$schema:`http://json-schema.org/draft-07/schema#`,type:`object`,properties:{result:{type:`string`,enum:e}},required:[`result`],additionalProperties:!1},...t!=null&&{name:t},...n!=null&&{description:n}}),async parseCompleteOutput({text:t},n){let r=await ba({text:t});if(!r.success)throw new Pa({message:`No object generated: could not parse the response.`,cause:r.error,text:t,response:n.response,usage:n.usage,finishReason:n.finishReason});let i=r.value;if(typeof i!=`object`||!i||!(`result`in i)||typeof i.result!=`string`||!e.includes(i.result))throw new Pa({message:`No object generated: response did not match schema.`,cause:new un({value:i,cause:`response must be an object that contains a choice value.`}),text:t,response:n.response,usage:n.usage,finishReason:n.finishReason});return i.result},async parsePartialOutput({text:t}){let n=await uo(t);switch(n.state){case`failed-parse`:case`undefined-input`:return;case`repaired-parse`:case`successful-parse`:{let t=n.value;if(typeof t!=`object`||!t||!(`result`in t)||typeof t.result!=`string`)return;let r=e.filter(e=>e.startsWith(t.result));return n.state===`successful-parse`?r.includes(t.result)?{partial:t.result}:void 0:r.length===1?{partial:r[0]}:void 0}}},createElementStreamTransform(){}}),go=({name:e,description:t}={})=>({name:`json`,responseFormat:Promise.resolve({type:`json`,...e!=null&&{name:e},...t!=null&&{description:t}}),async parseCompleteOutput({text:e},t){let n=await ba({text:e});if(!n.success)throw new Pa({message:`No object generated: could not parse the response.`,cause:n.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});return n.value},async parsePartialOutput({text:e}){let t=await uo(e);switch(t.state){case`failed-parse`:case`undefined-input`:return;case`repaired-parse`:case`successful-parse`:return t.value===void 0?void 0:{partial:t.value}}},createElementStreamTransform(){}});new TextEncoder,new TextEncoder,Yr({prefix:`aitxt`,size:24}),Yr({prefix:`call`,size:24});function _o(e,t){let n=new Headers(e??{});for(let[e,r]of Object.entries(t))n.has(e)||n.set(e,r);return n}var vo=class extends TransformStream{constructor(){super({transform(e,t){t.enqueue(`data: ${JSON.stringify(e)}
|
|
16
|
+
]`;continue}i+=r[e],r[e]===`\\`?a=!0:o&&r[e]===`]`?o=!1:!o&&r[e]===`[`&&(o=!0)}try{new RegExp(i)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join(`/`)} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return i}function Pi(e,t){let n={type:`object`,additionalProperties:J(e.valueType._def,{...t,currentPath:[...t.currentPath,`additionalProperties`]})??t.allowedAdditionalProperties};if(e.keyType?._def.typeName===q.ZodString&&e.keyType._def.checks?.length){let{type:r,...i}=Di(e.keyType._def,t);return{...n,propertyNames:i}}if(e.keyType?._def.typeName===q.ZodEnum)return{...n,propertyNames:{enum:e.keyType._def.values}};if(e.keyType?._def.typeName===q.ZodBranded&&e.keyType._def.type._def.typeName===q.ZodString&&e.keyType._def.type._def.checks?.length){let{type:r,...i}=hi(e.keyType._def,t);return{...n,propertyNames:i}}return n}function Fi(e,t){return t.mapStrategy===`record`?Pi(e,t):{type:`array`,maxItems:125,items:{type:`array`,items:[J(e.keyType._def,{...t,currentPath:[...t.currentPath,`items`,`items`,`0`]})||di(),J(e.valueType._def,{...t,currentPath:[...t.currentPath,`items`,`items`,`1`]})||di()],minItems:2,maxItems:2}}}function Ii(e){let t=e.values,n=Object.keys(e.values).filter(e=>typeof t[t[e]]!=`number`).map(e=>t[e]),r=Array.from(new Set(n.map(e=>typeof e)));return{type:r.length===1?r[0]===`string`?`string`:`number`:[`string`,`number`],enum:n}}function Li(){return{not:di()}}function Ri(){return{type:`null`}}var zi={ZodString:`string`,ZodNumber:`number`,ZodBigInt:`integer`,ZodBoolean:`boolean`,ZodNull:`null`};function Bi(e,t){let n=e.options instanceof Map?Array.from(e.options.values()):e.options;if(n.every(e=>e._def.typeName in zi&&(!e._def.checks||!e._def.checks.length))){let e=n.reduce((e,t)=>{let n=zi[t._def.typeName];return n&&!e.includes(n)?[...e,n]:e},[]);return{type:e.length>1?e:e[0]}}if(n.every(e=>e._def.typeName===`ZodLiteral`&&!e.description)){let e=n.reduce((e,t)=>{let n=typeof t._def.value;switch(n){case`string`:case`number`:case`boolean`:return[...e,n];case`bigint`:return[...e,`integer`];case`object`:if(t._def.value===null)return[...e,`null`];default:return e}},[]);if(e.length===n.length){let t=e.filter((e,t,n)=>n.indexOf(e)===t);return{type:t.length>1?t:t[0],enum:n.reduce((e,t)=>e.includes(t._def.value)?e:[...e,t._def.value],[])}}}else if(n.every(e=>e._def.typeName===`ZodEnum`))return{type:`string`,enum:n.reduce((e,t)=>[...e,...t._def.values.filter(t=>!e.includes(t))],[])};return Vi(e,t)}var Vi=(e,t)=>{let n=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((e,n)=>J(e._def,{...t,currentPath:[...t.currentPath,`anyOf`,`${n}`]})).filter(e=>!!e&&(!t.strictUnions||typeof e==`object`&&Object.keys(e).length>0));return n.length?{anyOf:n}:void 0};function Hi(e,t){if([`ZodString`,`ZodNumber`,`ZodBigInt`,`ZodBoolean`,`ZodNull`].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[zi[e.innerType._def.typeName],`null`]};let n=J(e.innerType._def,{...t,currentPath:[...t.currentPath,`anyOf`,`0`]});return n&&{anyOf:[n,{type:`null`}]}}function Ui(e){let t={type:`number`};if(!e.checks)return t;for(let n of e.checks)switch(n.kind){case`int`:t.type=`integer`;break;case`min`:n.inclusive?t.minimum=n.value:t.exclusiveMinimum=n.value;break;case`max`:n.inclusive?t.maximum=n.value:t.exclusiveMaximum=n.value;break;case`multipleOf`:t.multipleOf=n.value}return t}function Wi(e,t){let n={type:`object`,properties:{}},r=[],i=e.shape();for(let e in i){let a=i[e];if(a===void 0||a._def===void 0)continue;let o=Ki(a),s=J(a._def,{...t,currentPath:[...t.currentPath,`properties`,e],propertyPath:[...t.currentPath,`properties`,e]});s!==void 0&&(n.properties[e]=s,o||r.push(e))}r.length&&(n.required=r);let a=Gi(e,t);return a!==void 0&&(n.additionalProperties=a),n}function Gi(e,t){if(e.catchall._def.typeName!==`ZodNever`)return J(e.catchall._def,{...t,currentPath:[...t.currentPath,`additionalProperties`]});switch(e.unknownKeys){case`passthrough`:return t.allowedAdditionalProperties;case`strict`:return t.rejectedAdditionalProperties;case`strip`:return t.removeAdditionalStrategy===`strict`?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function Ki(e){try{return e.isOptional()}catch{return!0}}var qi=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString())return J(e.innerType._def,t);let n=J(e.innerType._def,{...t,currentPath:[...t.currentPath,`anyOf`,`1`]});return n?{anyOf:[{not:di()},n]}:di()},Ji=(e,t)=>{if(t.pipeStrategy===`input`)return J(e.in._def,t);if(t.pipeStrategy===`output`)return J(e.out._def,t);let n=J(e.in._def,{...t,currentPath:[...t.currentPath,`allOf`,`0`]});return{allOf:[n,J(e.out._def,{...t,currentPath:[...t.currentPath,`allOf`,n?`1`:`0`]})].filter(e=>e!==void 0)}};function Yi(e,t){return J(e.type._def,t)}function Xi(e,t){let n={type:`array`,uniqueItems:!0,items:J(e.valueType._def,{...t,currentPath:[...t.currentPath,`items`]})};return e.minSize&&(n.minItems=e.minSize.value),e.maxSize&&(n.maxItems=e.maxSize.value),n}function Zi(e,t){return e.rest?{type:`array`,minItems:e.items.length,items:e.items.map((e,n)=>J(e._def,{...t,currentPath:[...t.currentPath,`items`,`${n}`]})).reduce((e,t)=>t===void 0?e:[...e,t],[]),additionalItems:J(e.rest._def,{...t,currentPath:[...t.currentPath,`additionalItems`]})}:{type:`array`,minItems:e.items.length,maxItems:e.items.length,items:e.items.map((e,n)=>J(e._def,{...t,currentPath:[...t.currentPath,`items`,`${n}`]})).reduce((e,t)=>t===void 0?e:[...e,t],[])}}function Qi(){return{not:di()}}function $i(){return di()}var ea=(e,t)=>J(e.innerType._def,t),ta=(e,t,n)=>{switch(t){case q.ZodString:return Di(e,n);case q.ZodNumber:return Ui(e);case q.ZodObject:return Wi(e,n);case q.ZodBigInt:return pi(e);case q.ZodBoolean:return mi();case q.ZodDate:return _i(e,n);case q.ZodUndefined:return Qi();case q.ZodNull:return Ri();case q.ZodArray:return fi(e,n);case q.ZodUnion:case q.ZodDiscriminatedUnion:return Bi(e,n);case q.ZodIntersection:return Ci(e,n);case q.ZodTuple:return Zi(e,n);case q.ZodRecord:return Pi(e,n);case q.ZodLiteral:return wi(e);case q.ZodEnum:return xi(e);case q.ZodNativeEnum:return Ii(e);case q.ZodNullable:return Hi(e,n);case q.ZodOptional:return qi(e,n);case q.ZodMap:return Fi(e,n);case q.ZodSet:return Xi(e,n);case q.ZodLazy:return()=>e.getter()._def;case q.ZodPromise:return Yi(e,n);case q.ZodNaN:case q.ZodNever:return Li();case q.ZodEffects:return bi(e,n);case q.ZodAny:return di();case q.ZodUnknown:return $i();case q.ZodDefault:return yi(e,n);case q.ZodBranded:return hi(e,n);case q.ZodReadonly:return ea(e,n);case q.ZodCatch:return gi(e,n);case q.ZodPipeline:return Ji(e,n);case q.ZodFunction:case q.ZodVoid:case q.ZodSymbol:return;default:return(e=>void 0)(t)}},na=(e,t)=>{let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];n++);return[(e.length-n).toString(),...t.slice(n)].join(`/`)};function J(e,t,n=!1){let r=t.seen.get(e);if(t.override){let i=t.override?.call(t,e,t,r,n);if(i!==ci)return i}if(r&&!n){let e=ra(r,t);if(e!==void 0)return e}let i={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,i);let a=ta(e,e.typeName,t),o=typeof a==`function`?J(a(),t):a;if(o&&ia(e,t,o),t.postProcess){let n=t.postProcess(o,e,t);return i.jsonSchema=o,n}return i.jsonSchema=o,o}var ra=(e,t)=>{switch(t.$refStrategy){case`root`:return{$ref:e.path.join(`/`)};case`relative`:return{$ref:na(t.currentPath,e.path)};case`none`:case`seen`:return e.path.length<t.currentPath.length&&e.path.every((e,n)=>t.currentPath[n]===e)?(console.warn(`Recursive reference detected at ${t.currentPath.join(`/`)}! Defaulting to any`),di()):t.$refStrategy===`seen`?di():void 0}},ia=(e,t,n)=>(e.description&&(n.description=e.description),n),aa=e=>{let t=ui(e),n=t.name===void 0?t.basePath:[...t.basePath,t.definitionPath,t.name];return{...t,currentPath:n,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([e,n])=>[n._def,{def:n._def,path:[...t.basePath,t.definitionPath,e],jsonSchema:void 0}]))}},oa=(e,t)=>{let n=aa(t),r=typeof t==`object`&&t.definitions?Object.entries(t.definitions).reduce((e,[t,r])=>({...e,[t]:J(r._def,{...n,currentPath:[...n.basePath,n.definitionPath,t]},!0)??di()}),{}):void 0,i=typeof t==`string`?t:t?.nameStrategy===`title`?void 0:t?.name,a=J(e._def,i===void 0?n:{...n,currentPath:[...n.basePath,n.definitionPath,i]},!1)??di(),o=typeof t==`object`&&t.name!==void 0&&t.nameStrategy===`title`?t.name:void 0;o!==void 0&&(a.title=o);let s=i===void 0?r?{...a,[n.definitionPath]:r}:a:{$ref:[...n.$refStrategy===`relative`?[]:n.basePath,n.definitionPath,i].join(`/`),[n.definitionPath]:{...r,[i]:a}};return s.$schema=`http://json-schema.org/draft-07/schema#`,s},sa=Symbol.for(`vercel.ai.schema`);function ca(e){let t;return()=>(t??=e(),t)}function la(e,{validate:t}={}){return{[sa]:!0,_type:void 0,get jsonSchema(){return typeof e==`function`&&(e=e()),e},validate:t}}function ua(e){return typeof e==`object`&&!!e&&sa in e&&e[sa]===!0&&`jsonSchema`in e&&`validate`in e}function da(e){return e==null?la({type:`object`,properties:{},additionalProperties:!1}):ua(e)?e:`~standard`in e?e[`~standard`].vendor===`zod`?_a(e):fa(e):e()}function fa(e){return la(()=>{if(!pa(e))throw Error(`Standard schema vendor '${e[`~standard`].vendor}' does not support JSON Schema conversion.`);return oi(e[`~standard`].jsonSchema.input({target:`draft-07`}))},{validate:async t=>{let n=await e[`~standard`].validate(t);return`value`in n?{success:!0,value:n.value}:{success:!1,error:new un({value:t,cause:n.issues})}}})}function pa(e){return e[`~standard`].jsonSchema!=null}function ma(e,t){let n=t?.useReferences??!1;return la(()=>oa(e,{$refStrategy:n?`root`:`none`}),{validate:async t=>{let n=await e.safeParseAsync(t);return n.success?{success:!0,value:n.data}:{success:!1,error:n.error}}})}function ha(e,t){let n=t?.useReferences??!1;return la(()=>oi(oe(e,{target:`draft-7`,io:`input`,reused:n?`ref`:`inline`})),{validate:async t=>{let n=await pe(e,t);return n.success?{success:!0,value:n.data}:{success:!1,error:n.error}}})}function ga(e){return`_zod`in e}function _a(e,t){return ga(e)?ha(e,t):ma(e,t)}async function va({value:e,schema:t,context:n}){let r=await ya({value:e,schema:t,context:n});if(!r.success)throw un.wrap({value:e,cause:r.error,context:n});return r.value}async function ya({value:e,schema:t,context:n}){let r=da(t);try{if(r.validate==null)return{success:!0,value:e,rawValue:e};let t=await r.validate(e);return t.success?{success:!0,value:t.value,rawValue:e}:{success:!1,error:un.wrap({value:e,cause:t.error,context:n}),rawValue:e}}catch(t){return{success:!1,error:un.wrap({value:e,cause:t,context:n}),rawValue:e}}}async function ba({text:e,schema:t}){try{let n=ai(e);return t==null?{success:!0,value:n,rawValue:n}:await ya({value:n,schema:t})}catch(t){return{success:!1,error:rn.isInstance(t)?t:new rn({text:e,cause:t}),rawValue:void 0}}}function xa({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new Kr).pipeThrough(new TransformStream({async transform({data:e},n){e!==`[DONE]`&&n.enqueue(await ba({text:e,schema:t}))}}))}async function Sa(e){return typeof e==`function`&&(e=e()),Promise.resolve(e)}new TextDecoder;var Ca=Object.defineProperty,wa=(e,t)=>{for(var n in t)Ca(e,n,{get:t[n],enumerable:!0})},Ta=`AI_InvalidArgumentError`,Ea=`vercel.ai.error.${Ta}`,Da=Symbol.for(Ea),Oa,ka=class extends Wt{constructor({parameter:e,value:t,message:n}){super({name:Ta,message:`Invalid argument for parameter ${e}: ${n}`}),this[Oa]=!0,this.parameter=e,this.value=t}static isInstance(e){return Wt.hasMarker(e,Ea)}};Oa=Da;var Aa=`AI_NoObjectGeneratedError`,ja=`vercel.ai.error.${Aa}`,Ma=Symbol.for(ja),Na,Pa=class extends Wt{constructor({message:e=`No object generated.`,cause:t,text:n,response:r,usage:i,finishReason:a}){super({name:Aa,message:e,cause:t}),this[Na]=!0,this.text=n,this.response=r,this.usage=i,this.finishReason=a}static isInstance(e){return Wt.hasMarker(e,ja)}};Na=Ma;var Fa=`AI_UIMessageStreamError`,Ia=`vercel.ai.error.${Fa}`,La=Symbol.for(Ia),Ra,za=class extends Wt{constructor({chunkType:e,chunkId:t,message:n}){super({name:Fa,message:n}),this[Ra]=!0,this.chunkType=e,this.chunkId=t}static isInstance(e){return Wt.hasMarker(e,Ia)}};Ra=La;var Ba=`7.0.37`;function Va(e,t){if(e===void 0&&t===void 0)return;if(e===void 0)return t;if(t===void 0)return e;let n={...e};for(let r in t)if(r!==`__proto__`&&r!==`constructor`&&r!==`prototype`&&Object.prototype.hasOwnProperty.call(t,r)){let i=t[r];if(i===void 0)continue;let a=r in e?e[r]:void 0,o=typeof i==`object`&&!!i&&!Array.isArray(i)&&!(i instanceof Date)&&!(i instanceof RegExp),s=typeof a==`object`&&!!a&&!Array.isArray(a)&&!(a instanceof Date)&&!(a instanceof RegExp);n[r]=o&&s?Va(a,i):i}return n}var Ha=ue(()=>j([he(),A(),ce(),P(),de(A(),Ha.optional()),M(Ha)])),Y=de(A(),de(A(),Ha.optional())),Ua=j([A(),le(Uint8Array),le(ArrayBuffer),se(ei,{message:`Must be a Buffer`})]),Wa=de(A(),A()),Ga=k({type:F(`text`),text:A(),providerOptions:Y.optional()}),Ka=k({type:F(`image`),image:j([Ua,le(URL),Wa]),mediaType:A().optional(),providerOptions:Y.optional()}),qa=ge(`type`,[k({type:F(`data`),data:Ua}),k({type:F(`url`),url:le(URL)}),k({type:F(`reference`),reference:Wa}),k({type:F(`text`),text:A()})]),Ja=ge(`type`,[k({type:F(`data`),data:Ua}),k({type:F(`url`),url:le(URL)})]),Ya=k({type:F(`file`),data:j([qa,Ua,le(URL),Wa]),filename:A().optional(),mediaType:A(),providerOptions:Y.optional()}),Xa=k({type:F(`reasoning`),text:A(),providerOptions:Y.optional()}),Za=k({type:F(`custom`),kind:A().transform(e=>e),providerOptions:Y.optional()}),Qa=k({type:F(`reasoning-file`),data:j([Ja,Ua,le(URL)]),mediaType:A(),providerOptions:Y.optional()}),$a=k({type:F(`tool-call`),toolCallId:A(),toolName:A(),input:N(),providerOptions:Y.optional(),providerExecuted:P().optional()}),eo=ge(`type`,[k({type:F(`text`),value:A(),providerOptions:Y.optional()}),k({type:F(`json`),value:Ha,providerOptions:Y.optional()}),k({type:F(`execution-denied`),reason:A().optional(),providerOptions:Y.optional()}),k({type:F(`error-text`),value:A(),providerOptions:Y.optional()}),k({type:F(`error-json`),value:Ha,providerOptions:Y.optional()}),k({type:F(`content`),value:M(j([k({type:F(`text`),text:A(),providerOptions:Y.optional()}),k({type:F(`file`),data:qa,mediaType:A(),filename:A().optional(),providerOptions:Y.optional()}),k({type:F(`file-data`),data:A(),mediaType:A(),filename:A().optional(),providerOptions:Y.optional()}),k({type:F(`file-url`),url:A(),mediaType:A().optional(),providerOptions:Y.optional()}),k({type:F(`file-id`),fileId:j([A(),de(A(),A())]),providerOptions:Y.optional()}),k({type:F(`file-reference`),providerReference:de(A(),A()),providerOptions:Y.optional()}),k({type:F(`image-data`),data:A(),mediaType:A(),providerOptions:Y.optional()}),k({type:F(`image-url`),url:A(),providerOptions:Y.optional()}),k({type:F(`image-file-id`),fileId:j([A(),de(A(),A())]),providerOptions:Y.optional()}),k({type:F(`image-file-reference`),providerReference:de(A(),A()),providerOptions:Y.optional()}),k({type:F(`custom`),providerOptions:Y.optional()})]))})]),to=k({type:F(`tool-result`),toolCallId:A(),toolName:A(),output:eo,providerOptions:Y.optional()}),no=k({type:F(`tool-approval-request`),approvalId:A(),toolCallId:A()}),ro=k({type:F(`tool-approval-response`),approvalId:A(),approved:P(),reason:A().optional()}),io=k({role:F(`system`),content:A(),providerOptions:Y.optional()}),ao=k({role:F(`user`),content:j([A(),M(j([Ga,Ka,Ya]))]),providerOptions:Y.optional()}),oo=k({role:F(`assistant`),content:j([A(),M(j([Ga,Za,Ya,Xa,Qa,$a,to,no]))]),providerOptions:Y.optional()}),so=k({role:F(`tool`),content:M(j([to,ro])),providerOptions:Y.optional()});j([io,ao,oo,so]);function co(e,t){return e!=null&&Object.hasOwn(e,t)?e[t]:void 0}wa({},{array:()=>mo,choice:()=>ho,json:()=>go,object:()=>po,text:()=>fo});function lo(e){let t=[`ROOT`],n=-1,r=null,i=0;function a(e){return e>=`0`&&e<=`9`||e>=`A`&&e<=`F`||e>=`a`&&e<=`f`}function o(e,i,a){switch(e){case`"`:n=i,t.pop(),t.push(a),t.push(`INSIDE_STRING`);break;case`f`:case`t`:case`n`:n=i,r=i,t.pop(),t.push(a),t.push(`INSIDE_LITERAL`);break;case`-`:t.pop(),t.push(a),t.push(`INSIDE_NUMBER`);break;case`0`:case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:n=i,t.pop(),t.push(a),t.push(`INSIDE_NUMBER`);break;case`{`:n=i,t.pop(),t.push(a),t.push(`INSIDE_OBJECT_START`);break;case`[`:n=i,t.pop(),t.push(a),t.push(`INSIDE_ARRAY_START`)}}function s(e,r){switch(e){case`,`:t.pop(),t.push(`INSIDE_OBJECT_AFTER_COMMA`);break;case`}`:n=r,t.pop()}}function c(e,r){switch(e){case`,`:t.pop(),t.push(`INSIDE_ARRAY_AFTER_COMMA`);break;case`]`:n=r,t.pop()}}for(let l=0;l<e.length;l++){let u=e[l];switch(t[t.length-1]){case`ROOT`:o(u,l,`FINISH`);break;case`INSIDE_OBJECT_START`:switch(u){case`"`:t.pop(),t.push(`INSIDE_OBJECT_KEY`);break;case`}`:n=l,t.pop()}break;case`INSIDE_OBJECT_AFTER_COMMA`:u===`"`&&(t.pop(),t.push(`INSIDE_OBJECT_KEY`));break;case`INSIDE_OBJECT_KEY`:u===`"`&&(t.pop(),t.push(`INSIDE_OBJECT_AFTER_KEY`));break;case`INSIDE_OBJECT_AFTER_KEY`:u===`:`&&(t.pop(),t.push(`INSIDE_OBJECT_BEFORE_VALUE`));break;case`INSIDE_OBJECT_BEFORE_VALUE`:o(u,l,`INSIDE_OBJECT_AFTER_VALUE`);break;case`INSIDE_OBJECT_AFTER_VALUE`:s(u,l);break;case`INSIDE_STRING`:switch(u){case`"`:t.pop(),n=l;break;case`\\`:t.push(`INSIDE_STRING_ESCAPE`);break;default:n=l}break;case`INSIDE_ARRAY_START`:switch(u){case`]`:n=l,t.pop();break;default:n=l,o(u,l,`INSIDE_ARRAY_AFTER_VALUE`)}break;case`INSIDE_ARRAY_AFTER_VALUE`:switch(u){case`,`:t.pop(),t.push(`INSIDE_ARRAY_AFTER_COMMA`);break;case`]`:n=l,t.pop();break;default:n=l}break;case`INSIDE_ARRAY_AFTER_COMMA`:o(u,l,`INSIDE_ARRAY_AFTER_VALUE`);break;case`INSIDE_STRING_ESCAPE`:t.pop(),u===`u`?(i=0,t.push(`INSIDE_STRING_UNICODE_ESCAPE`)):n=l;break;case`INSIDE_STRING_UNICODE_ESCAPE`:a(u)&&(i++,i===4&&(t.pop(),n=l));break;case`INSIDE_NUMBER`:switch(u){case`0`:case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:n=l;break;case`e`:case`E`:case`-`:case`.`:break;case`,`:t.pop(),t[t.length-1]===`INSIDE_ARRAY_AFTER_VALUE`&&c(u,l),t[t.length-1]===`INSIDE_OBJECT_AFTER_VALUE`&&s(u,l);break;case`}`:t.pop(),t[t.length-1]===`INSIDE_OBJECT_AFTER_VALUE`&&s(u,l);break;case`]`:t.pop(),t[t.length-1]===`INSIDE_ARRAY_AFTER_VALUE`&&c(u,l);break;default:t.pop()}break;case`INSIDE_LITERAL`:{let i=e.substring(r,l+1);!`false`.startsWith(i)&&!`true`.startsWith(i)&&!`null`.startsWith(i)?(t.pop(),t[t.length-1]===`INSIDE_OBJECT_AFTER_VALUE`?s(u,l):t[t.length-1]===`INSIDE_ARRAY_AFTER_VALUE`&&c(u,l)):n=l;break}}}let l=e.slice(0,n+1);for(let n=t.length-1;n>=0;n--)switch(t[n]){case`INSIDE_STRING`:l+=`"`;break;case`INSIDE_OBJECT_KEY`:case`INSIDE_OBJECT_AFTER_KEY`:case`INSIDE_OBJECT_AFTER_COMMA`:case`INSIDE_OBJECT_START`:case`INSIDE_OBJECT_BEFORE_VALUE`:case`INSIDE_OBJECT_AFTER_VALUE`:l+=`}`;break;case`INSIDE_ARRAY_START`:case`INSIDE_ARRAY_AFTER_COMMA`:case`INSIDE_ARRAY_AFTER_VALUE`:l+=`]`;break;case`INSIDE_LITERAL`:{let t=e.substring(r,e.length);`true`.startsWith(t)?l+=`true`.slice(t.length):`false`.startsWith(t)?l+=`false`.slice(t.length):`null`.startsWith(t)&&(l+=`null`.slice(t.length))}}return l}async function uo(e){if(e===void 0)return{value:void 0,state:`undefined-input`};let t=await ba({text:e});return t.success?{value:t.value,state:`successful-parse`}:(t=await ba({text:lo(e)}),t.success?{value:t.value,state:`repaired-parse`}:{value:void 0,state:`failed-parse`})}var fo=()=>({name:`text`,responseFormat:Promise.resolve({type:`text`}),async parseCompleteOutput({text:e}){return e},async parsePartialOutput({text:e}){return{partial:e}},createElementStreamTransform(){}}),po=({schema:e,name:t,description:n})=>{let r=da(e);return{name:`object`,responseFormat:Sa(r.jsonSchema).then(e=>({type:`json`,schema:e,...t!=null&&{name:t},...n!=null&&{description:n}})),async parseCompleteOutput({text:e},t){let n=await ba({text:e});if(!n.success)throw new Pa({message:`No object generated: could not parse the response.`,cause:n.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});let i=await ya({value:n.value,schema:r});if(!i.success)throw new Pa({message:`No object generated: response did not match schema.`,cause:i.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});return i.value},async parsePartialOutput({text:e}){let t=await uo(e);switch(t.state){case`failed-parse`:case`undefined-input`:return;case`repaired-parse`:case`successful-parse`:return{partial:t.value}}},createElementStreamTransform(){}}},mo=({element:e,name:t,description:n})=>{let r=da(e);return{name:`array`,responseFormat:Sa(r.jsonSchema).then(e=>{let{$schema:r,...i}=e;return{type:`json`,schema:{$schema:`http://json-schema.org/draft-07/schema#`,type:`object`,properties:{elements:{type:`array`,items:i}},required:[`elements`],additionalProperties:!1},...t!=null&&{name:t},...n!=null&&{description:n}}}),async parseCompleteOutput({text:e},t){let n=await ba({text:e});if(!n.success)throw new Pa({message:`No object generated: could not parse the response.`,cause:n.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});let i=n.value;if(typeof i!=`object`||!i||!(`elements`in i)||!Array.isArray(i.elements))throw new Pa({message:`No object generated: response did not match schema.`,cause:new un({value:i,cause:`response must be an object with an elements array`}),text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});let a=[];for(let n of i.elements){let i=await ya({value:n,schema:r});if(!i.success)throw new Pa({message:`No object generated: response did not match schema.`,cause:i.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});a.push(i.value)}return a},async parsePartialOutput({text:e}){let t=await uo(e);switch(t.state){case`failed-parse`:case`undefined-input`:return;case`repaired-parse`:case`successful-parse`:{let e=t.value;if(typeof e!=`object`||!e||!(`elements`in e)||!Array.isArray(e.elements))return;let n=t.state===`repaired-parse`&&e.elements.length>0?e.elements.slice(0,-1):e.elements,i=[];for(let e of n){let t=await ya({value:e,schema:r});t.success&&i.push(t.value)}return{partial:i}}}},createElementStreamTransform(){let e=0;return new TransformStream({transform({partialOutput:t},n){if(t!=null)for(;e<t.length;e++)n.enqueue(t[e])}})}}},ho=({options:e,name:t,description:n})=>({name:`choice`,responseFormat:Promise.resolve({type:`json`,schema:{$schema:`http://json-schema.org/draft-07/schema#`,type:`object`,properties:{result:{type:`string`,enum:e}},required:[`result`],additionalProperties:!1},...t!=null&&{name:t},...n!=null&&{description:n}}),async parseCompleteOutput({text:t},n){let r=await ba({text:t});if(!r.success)throw new Pa({message:`No object generated: could not parse the response.`,cause:r.error,text:t,response:n.response,usage:n.usage,finishReason:n.finishReason});let i=r.value;if(typeof i!=`object`||!i||!(`result`in i)||typeof i.result!=`string`||!e.includes(i.result))throw new Pa({message:`No object generated: response did not match schema.`,cause:new un({value:i,cause:`response must be an object that contains a choice value.`}),text:t,response:n.response,usage:n.usage,finishReason:n.finishReason});return i.result},async parsePartialOutput({text:t}){let n=await uo(t);switch(n.state){case`failed-parse`:case`undefined-input`:return;case`repaired-parse`:case`successful-parse`:{let t=n.value;if(typeof t!=`object`||!t||!(`result`in t)||typeof t.result!=`string`)return;let r=e.filter(e=>e.startsWith(t.result));return n.state===`successful-parse`?r.includes(t.result)?{partial:t.result}:void 0:r.length===1?{partial:r[0]}:void 0}}},createElementStreamTransform(){}}),go=({name:e,description:t}={})=>({name:`json`,responseFormat:Promise.resolve({type:`json`,...e!=null&&{name:e},...t!=null&&{description:t}}),async parseCompleteOutput({text:e},t){let n=await ba({text:e});if(!n.success)throw new Pa({message:`No object generated: could not parse the response.`,cause:n.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});return n.value},async parsePartialOutput({text:e}){let t=await uo(e);switch(t.state){case`failed-parse`:case`undefined-input`:return;case`repaired-parse`:case`successful-parse`:return t.value===void 0?void 0:{partial:t.value}}},createElementStreamTransform(){}});new TextEncoder,new TextEncoder,Yr({prefix:`aitxt`,size:24}),Yr({prefix:`call`,size:24});function _o(e,t){let n=new Headers(e??{});for(let[e,r]of Object.entries(t))n.has(e)||n.set(e,r);return n}var vo=class extends TransformStream{constructor(){super({transform(e,t){t.enqueue(`data: ${JSON.stringify(e)}
|
|
17
17
|
|
|
18
18
|
`)},flush(e){e.enqueue(`data: [DONE]
|
|
19
19
|
|
|
20
|
-
`)}})}},yo={"content-type":`text/event-stream`,"cache-control":`no-cache`,connection:`keep-alive`,"x-vercel-ai-ui-message-stream":`v1`,"x-accel-buffering":`no`};function bo({status:e,statusText:t,headers:n,stream:r,consumeSseStream:i}){let a=r.pipeThrough(new vo);if(i){let[e,t]=a.tee();a=e,i({stream:t})}return new Response(a.pipeThrough(new TextEncoderStream),{status:e,statusText:t,headers:_o(n,yo)})}var xo=N(k(),Ha.optional()),So=ca(()=>_a(A([I({type:F(`text-start`),id:k(),providerMetadata:Y.optional()}),I({type:F(`text-delta`),id:k(),delta:k(),providerMetadata:Y.optional()}),I({type:F(`text-end`),id:k(),providerMetadata:Y.optional()}),I({type:F(`error`),errorText:k()}),I({type:F(`tool-input-start`),toolCallId:k(),toolName:k(),providerExecuted:P().optional(),providerMetadata:Y.optional(),toolMetadata:xo.optional(),dynamic:P().optional(),title:k().optional()}),I({type:F(`tool-input-delta`),toolCallId:k(),inputTextDelta:k()}),I({type:F(`tool-input-available`),toolCallId:k(),toolName:k(),input:M(),providerExecuted:P().optional(),providerMetadata:Y.optional(),toolMetadata:xo.optional(),dynamic:P().optional(),title:k().optional()}),I({type:F(`tool-input-error`),toolCallId:k(),toolName:k(),input:M(),providerExecuted:P().optional(),providerMetadata:Y.optional(),toolMetadata:xo.optional(),dynamic:P().optional(),errorText:k(),title:k().optional()}),I({type:F(`tool-approval-request`),approvalId:k(),toolCallId:k(),isAutomatic:P().optional(),signature:k().optional()}),I({type:F(`tool-approval-response`),approvalId:k(),approved:P(),reason:k().optional(),providerExecuted:P().optional(),providerMetadata:Y.optional()}),I({type:F(`tool-output-available`),toolCallId:k(),output:M(),providerExecuted:P().optional(),providerMetadata:Y.optional(),toolMetadata:xo.optional(),dynamic:P().optional(),preliminary:P().optional()}),I({type:F(`tool-output-error`),toolCallId:k(),errorText:k(),providerExecuted:P().optional(),providerMetadata:Y.optional(),toolMetadata:xo.optional(),dynamic:P().optional()}),I({type:F(`tool-output-denied`),toolCallId:k()}),I({type:F(`reasoning-start`),id:k(),providerMetadata:Y.optional()}),I({type:F(`reasoning-delta`),id:k(),delta:k(),providerMetadata:Y.optional()}),I({type:F(`reasoning-end`),id:k(),providerMetadata:Y.optional()}),I({type:F(`custom`),kind:k().transform(e=>e),providerMetadata:Y.optional()}),I({type:F(`source-url`),sourceId:k(),url:k(),title:k().optional(),providerMetadata:Y.optional()}),I({type:F(`source-document`),sourceId:k(),mediaType:k(),title:k(),filename:k().optional(),providerMetadata:Y.optional()}),I({type:F(`file`),url:k(),mediaType:k(),providerMetadata:Y.optional()}),I({type:F(`reasoning-file`),url:k(),mediaType:k(),providerMetadata:Y.optional()}),I({type:oe(e=>typeof e==`string`&&e.startsWith(`data-`),{message:`Type must start with "data-"`}),id:k().optional(),data:M(),transient:P().optional()}),I({type:F(`start-step`)}),I({type:F(`finish-step`)}),I({type:F(`start`),messageId:k().optional(),messageMetadata:M().optional()}),I({type:F(`finish`),finishReason:fe([`stop`,`length`,`content-filter`,`tool-calls`,`error`,`other`]).optional(),messageMetadata:M().optional()}),I({type:F(`abort`),reason:k().optional()}),I({type:F(`message-metadata`),messageMetadata:M()})])));function Co(e){return e.type.startsWith(`data-`)}function wo(){return Object.create(null)}function To(e){return e.type.startsWith(`tool-`)}function Eo(e){return e.type===`dynamic-tool`}function Do(e){return To(e)||Eo(e)}function Oo(e){return e.type.split(`-`).slice(1).join(`-`)}function ko({lastMessage:e,messageId:t}){return{message:e?.role===`assistant`?e:{id:t,metadata:void 0,role:`assistant`,parts:[]},activeTextParts:wo(),activeReasoningParts:wo(),partialToolCalls:wo()}}function Ao({stream:e,messageMetadataSchema:t,dataPartSchemas:n,runUpdateMessageJob:r,onError:i,onToolCall:a,onData:o}){return e.pipeThrough(new TransformStream({async transform(e,s){await r(async({state:r,write:c})=>{function l(){let e=r.message.parts,t=e.length-1;for(;t>=0&&e[t].type!==`step-start`;)t--;return e.slice(t+1)}function u(){return l().filter(Do)}function d(e){let t=u().find(t=>t.toolCallId===e);if(t==null){let n=r.message.parts;for(let r=n.length-1;r>=0;r--){let i=n[r];if(Do(i)&&i.toolCallId===e){t=i;break}}}if(t==null)throw new za({chunkType:`tool-invocation`,chunkId:e,message:`No tool invocation found for tool call ID "${e}".`});return t}function f(e){let t=r.message.parts.filter(Do).find(t=>t.approval?.id===e);if(t==null)throw new za({chunkType:`tool-approval-response`,chunkId:e,message:`No tool invocation found for approval ID "${e}".`});return t}function p(e,t){let n=t??l().find(t=>To(t)&&t.toolCallId===e.toolCallId),i=e,a=n;if(n!=null){n.state=e.state,a.input=i.input,a.output=i.output,a.errorText=i.errorText,a.rawInput=i.rawInput,a.preliminary=i.preliminary,e.title!==void 0&&(a.title=e.title),e.toolMetadata!==void 0&&(a.toolMetadata=e.toolMetadata),a.providerExecuted=i.providerExecuted??n.providerExecuted;let t=i.providerMetadata;if(t!=null){if(e.state===`output-available`||e.state===`output-error`){let e=n;e.resultProviderMetadata=t}else n.callProviderMetadata=t}}else r.message.parts.push({type:`tool-${e.toolName}`,toolCallId:e.toolCallId,state:e.state,title:e.title,...e.toolMetadata===void 0?{}:{toolMetadata:e.toolMetadata},input:i.input,output:i.output,rawInput:i.rawInput,errorText:i.errorText,providerExecuted:i.providerExecuted,preliminary:i.preliminary,...i.providerMetadata!=null&&(e.state===`output-available`||e.state===`output-error`)?{resultProviderMetadata:i.providerMetadata}:{},...i.providerMetadata!=null&&e.state!==`output-available`&&e.state!==`output-error`?{callProviderMetadata:i.providerMetadata}:{}})}function m(e,t){let n=t??l().find(t=>t.type===`dynamic-tool`&&t.toolCallId===e.toolCallId),i=e,a=n;if(n!=null){n.state=e.state,a.toolName=e.toolName,a.input=i.input,a.output=i.output,a.errorText=i.errorText,a.rawInput=i.rawInput??a.rawInput,a.preliminary=i.preliminary,e.title!==void 0&&(a.title=e.title),e.toolMetadata!==void 0&&(a.toolMetadata=e.toolMetadata),a.providerExecuted=i.providerExecuted??n.providerExecuted;let t=i.providerMetadata;if(t!=null){if(e.state===`output-available`||e.state===`output-error`){let e=n;e.resultProviderMetadata=t}else n.callProviderMetadata=t}}else r.message.parts.push({type:`dynamic-tool`,toolName:e.toolName,toolCallId:e.toolCallId,state:e.state,input:i.input,output:i.output,errorText:i.errorText,preliminary:i.preliminary,providerExecuted:i.providerExecuted,title:e.title,...e.toolMetadata===void 0?{}:{toolMetadata:e.toolMetadata},...i.providerMetadata!=null&&(e.state===`output-available`||e.state===`output-error`)?{resultProviderMetadata:i.providerMetadata}:{},...i.providerMetadata!=null&&e.state!==`output-available`&&e.state!==`output-error`?{callProviderMetadata:i.providerMetadata}:{}})}async function h(e){if(e!=null){let n=r.message.metadata==null?e:Va(r.message.metadata,e);t!=null&&await va({value:n,schema:t,context:{field:`message.metadata`,entityId:r.message.id}}),r.message.metadata=n}}switch(e.type){case`text-start`:{let t={type:`text`,text:``,providerMetadata:e.providerMetadata,state:`streaming`};r.activeTextParts[e.id]=t,r.message.parts.push(t),c();break}case`text-delta`:{let t=r.activeTextParts[e.id];if(t==null)throw new za({chunkType:`text-delta`,chunkId:e.id,message:`Received text-delta for missing text part with ID "${e.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});t.text+=e.delta,t.providerMetadata=e.providerMetadata??t.providerMetadata,c();break}case`text-end`:{let t=r.activeTextParts[e.id];if(t==null)throw new za({chunkType:`text-end`,chunkId:e.id,message:`Received text-end for missing text part with ID "${e.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});t.state=`done`,t.providerMetadata=e.providerMetadata??t.providerMetadata,delete r.activeTextParts[e.id],c();break}case`custom`:{let t={type:`custom`,kind:e.kind,providerMetadata:e.providerMetadata};r.message.parts.push(t),c();break}case`reasoning-start`:{let t={type:`reasoning`,text:``,providerMetadata:e.providerMetadata,state:`streaming`};r.activeReasoningParts[e.id]=t,r.message.parts.push(t),c();break}case`reasoning-delta`:{let t=r.activeReasoningParts[e.id];if(t==null)throw new za({chunkType:`reasoning-delta`,chunkId:e.id,message:`Received reasoning-delta for missing reasoning part with ID "${e.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});t.text+=e.delta,t.providerMetadata=e.providerMetadata??t.providerMetadata,c();break}case`reasoning-end`:{let t=r.activeReasoningParts[e.id];if(t==null)throw new za({chunkType:`reasoning-end`,chunkId:e.id,message:`Received reasoning-end for missing reasoning part with ID "${e.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});t.providerMetadata=e.providerMetadata??t.providerMetadata,t.state=`done`,delete r.activeReasoningParts[e.id],c();break}case`file`:case`reasoning-file`:r.message.parts.push({type:e.type,mediaType:e.mediaType,url:e.url,...e.providerMetadata==null?{}:{providerMetadata:e.providerMetadata}}),c();break;case`source-url`:r.message.parts.push({type:`source-url`,sourceId:e.sourceId,url:e.url,title:e.title,providerMetadata:e.providerMetadata}),c();break;case`source-document`:r.message.parts.push({type:`source-document`,sourceId:e.sourceId,mediaType:e.mediaType,title:e.title,filename:e.filename,providerMetadata:e.providerMetadata}),c();break;case`tool-input-start`:{let t=l().filter(To);r.partialToolCalls[e.toolCallId]={text:``,toolName:e.toolName,index:t.length,dynamic:e.dynamic,title:e.title,toolMetadata:e.toolMetadata},e.dynamic?m({toolCallId:e.toolCallId,toolName:e.toolName,state:`input-streaming`,input:void 0,providerExecuted:e.providerExecuted,title:e.title,toolMetadata:e.toolMetadata,providerMetadata:e.providerMetadata}):p({toolCallId:e.toolCallId,toolName:e.toolName,state:`input-streaming`,input:void 0,providerExecuted:e.providerExecuted,title:e.title,toolMetadata:e.toolMetadata,providerMetadata:e.providerMetadata}),c();break}case`tool-input-delta`:{let t=r.partialToolCalls[e.toolCallId];if(t==null)throw new za({chunkType:`tool-input-delta`,chunkId:e.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${e.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});t.text+=e.inputTextDelta;let{value:n}=await uo(t.text);t.dynamic?m({toolCallId:e.toolCallId,toolName:t.toolName,state:`input-streaming`,input:n,title:t.title,toolMetadata:t.toolMetadata}):p({toolCallId:e.toolCallId,toolName:t.toolName,state:`input-streaming`,input:n,title:t.title,toolMetadata:t.toolMetadata}),c();break}case`tool-input-available`:e.dynamic?m({toolCallId:e.toolCallId,toolName:e.toolName,state:`input-available`,input:e.input,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:e.title,toolMetadata:e.toolMetadata}):p({toolCallId:e.toolCallId,toolName:e.toolName,state:`input-available`,input:e.input,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:e.title,toolMetadata:e.toolMetadata}),c(),a&&!e.providerExecuted&&await a({toolCall:e});break;case`tool-input-error`:{let t=l().filter(Do).find(t=>t.toolCallId===e.toolCallId);(t==null?e.dynamic:t.type===`dynamic-tool`)?m({toolCallId:e.toolCallId,toolName:e.toolName,state:`output-error`,input:e.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,toolMetadata:e.toolMetadata}):p({toolCallId:e.toolCallId,toolName:e.toolName,state:`output-error`,input:void 0,rawInput:e.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,toolMetadata:e.toolMetadata}),c();break}case`tool-approval-request`:{let t=d(e.toolCallId);t.state=`approval-requested`,t.approval={id:e.approvalId,...e.isAutomatic===!0?{isAutomatic:!0}:{},...e.signature==null?{}:{signature:e.signature}},c();break}case`tool-approval-response`:{let t=f(e.approvalId),n=t.approval==null?{id:e.approvalId}:t.approval;t.state=`approval-responded`,t.approval={id:e.approvalId,approved:e.approved,...e.reason==null?{}:{reason:e.reason},...n.isAutomatic===!0?{isAutomatic:!0}:{},...n.signature==null?{}:{signature:n.signature}},e.providerExecuted!=null&&(t.providerExecuted=e.providerExecuted),e.providerMetadata!=null&&(t.callProviderMetadata=e.providerMetadata),c();break}case`tool-output-denied`:{let t=d(e.toolCallId);t.state=`output-denied`,c();break}case`tool-output-available`:{let t=d(e.toolCallId);t.type===`dynamic-tool`?m({toolCallId:e.toolCallId,toolName:t.toolName,state:`output-available`,input:t.input,output:e.output,preliminary:e.preliminary,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t):p({toolCallId:e.toolCallId,toolName:Oo(t),state:`output-available`,input:t.input,output:e.output,providerExecuted:e.providerExecuted,preliminary:e.preliminary,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t),c();break}case`tool-output-error`:{let t=d(e.toolCallId);t.type===`dynamic-tool`?m({toolCallId:e.toolCallId,toolName:t.toolName,state:`output-error`,input:t.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t):p({toolCallId:e.toolCallId,toolName:Oo(t),state:`output-error`,input:t.input,rawInput:t.rawInput,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t),c();break}case`start-step`:r.message.parts.push({type:`step-start`});break;case`finish-step`:r.activeTextParts=wo(),r.activeReasoningParts=wo();break;case`start`:e.messageId!=null&&(r.message.id=e.messageId),await h(e.messageMetadata),(e.messageId!=null||e.messageMetadata!=null)&&c();break;case`finish`:e.finishReason!=null&&(r.finishReason=e.finishReason),await h(e.messageMetadata),e.messageMetadata!=null&&c();break;case`message-metadata`:await h(e.messageMetadata),e.messageMetadata!=null&&c();break;case`error`:i?.(Error(e.errorText));break;default:if(Co(e)){if(n?.[e.type]!=null){let t=r.message.parts.findIndex(t=>`id`in t&&`data`in t&&t.id===e.id&&t.type===e.type),i=t>=0?t:r.message.parts.length;await va({value:e.data,schema:n[e.type],context:{field:`message.parts[${i}].data`,entityName:e.type,entityId:e.id}})}let t=e;if(t.transient){o?.(t);break}let i=t.id==null?void 0:r.message.parts.find(e=>t.type===e.type&&t.id===e.id);i==null?r.message.parts.push(t):i.data=t.data,o?.(t),c()}}s.enqueue(e)})}}))}async function jo({stream:e,onError:t}){let n=e.getReader();try{for(;;){let{done:e}=await n.read();if(e)break}}catch(e){t?.(e)}finally{n.releaseLock()}}Yr({prefix:`aitxt`,size:24}),Yr({prefix:`call`,size:24}),Yr({prefix:`aitxt`,size:24}),Yr({prefix:`call`,size:24});var Mo=N(k(),Ha.optional()),No=N(k(),k()),Po=ca(()=>_a(j(O({id:k(),role:fe([`system`,`user`,`assistant`]),metadata:M().optional(),parts:j(A([O({type:F(`text`),text:k(),state:fe([`streaming`,`done`]).optional(),providerMetadata:Y.optional()}),O({type:F(`reasoning`),text:k(),state:fe([`streaming`,`done`]).optional(),providerMetadata:Y.optional()}),O({type:F(`custom`),kind:k(),providerMetadata:Y.optional()}),O({type:F(`source-url`),sourceId:k(),url:k(),title:k().optional(),providerMetadata:Y.optional()}),O({type:F(`source-document`),sourceId:k(),mediaType:k(),title:k(),filename:k().optional(),providerMetadata:Y.optional()}),O({type:F(`file`),mediaType:k(),filename:k().optional(),url:k(),providerReference:No.optional(),providerMetadata:Y.optional()}),O({type:F(`reasoning-file`),mediaType:k(),url:k(),providerMetadata:Y.optional()}),O({type:F(`step-start`)}),O({type:k().startsWith(`data-`),id:k().optional(),data:M()}),O({type:F(`dynamic-tool`),toolName:k(),toolCallId:k(),toolMetadata:Mo.optional(),state:F(`input-streaming`),input:M().optional(),providerExecuted:P().optional(),callProviderMetadata:Y.optional(),output:L().optional(),errorText:L().optional(),approval:L().optional()}),O({type:F(`dynamic-tool`),toolName:k(),toolCallId:k(),toolMetadata:Mo.optional(),state:F(`input-available`),input:M(),providerExecuted:P().optional(),output:L().optional(),errorText:L().optional(),callProviderMetadata:Y.optional(),approval:L().optional()}),O({type:F(`dynamic-tool`),toolName:k(),toolCallId:k(),toolMetadata:Mo.optional(),state:F(`approval-requested`),input:M(),providerExecuted:P().optional(),output:L().optional(),errorText:L().optional(),callProviderMetadata:Y.optional(),approval:O({id:k(),approved:L().optional(),reason:L().optional(),isAutomatic:P().optional(),signature:k().optional()})}),O({type:F(`dynamic-tool`),toolName:k(),toolCallId:k(),toolMetadata:Mo.optional(),state:F(`approval-responded`),input:M(),providerExecuted:P().optional(),output:L().optional(),errorText:L().optional(),callProviderMetadata:Y.optional(),approval:O({id:k(),approved:P(),reason:k().optional(),isAutomatic:P().optional(),signature:k().optional()})}),O({type:F(`dynamic-tool`),toolName:k(),toolCallId:k(),toolMetadata:Mo.optional(),state:F(`output-available`),input:M(),providerExecuted:P().optional(),output:M(),errorText:L().optional(),callProviderMetadata:Y.optional(),resultProviderMetadata:Y.optional(),preliminary:P().optional(),approval:O({id:k(),approved:F(!0),reason:k().optional(),isAutomatic:P().optional(),signature:k().optional()}).optional()}),O({type:F(`dynamic-tool`),toolName:k(),toolCallId:k(),toolMetadata:Mo.optional(),state:F(`output-error`),input:M().optional(),rawInput:M().optional(),providerExecuted:P().optional(),output:L().optional(),errorText:k(),callProviderMetadata:Y.optional(),resultProviderMetadata:Y.optional(),approval:O({id:k(),approved:F(!0),reason:k().optional(),isAutomatic:P().optional(),signature:k().optional()}).optional()}),O({type:F(`dynamic-tool`),toolName:k(),toolCallId:k(),toolMetadata:Mo.optional(),state:F(`output-denied`),input:M(),providerExecuted:P().optional(),output:L().optional(),errorText:L().optional(),callProviderMetadata:Y.optional(),approval:O({id:k(),approved:F(!1),reason:k().optional(),isAutomatic:P().optional(),signature:k().optional()})}),O({type:k().startsWith(`tool-`),toolCallId:k(),toolMetadata:Mo.optional(),state:F(`input-streaming`),providerExecuted:P().optional(),callProviderMetadata:Y.optional(),input:M().optional(),output:L().optional(),errorText:L().optional(),approval:L().optional()}),O({type:k().startsWith(`tool-`),toolCallId:k(),toolMetadata:Mo.optional(),state:F(`input-available`),providerExecuted:P().optional(),input:M(),output:L().optional(),errorText:L().optional(),callProviderMetadata:Y.optional(),approval:L().optional()}),O({type:k().startsWith(`tool-`),toolCallId:k(),toolMetadata:Mo.optional(),state:F(`approval-requested`),input:M(),providerExecuted:P().optional(),output:L().optional(),errorText:L().optional(),callProviderMetadata:Y.optional(),approval:O({id:k(),approved:L().optional(),reason:L().optional(),isAutomatic:P().optional(),signature:k().optional()})}),O({type:k().startsWith(`tool-`),toolCallId:k(),toolMetadata:Mo.optional(),state:F(`approval-responded`),input:M(),providerExecuted:P().optional(),output:L().optional(),errorText:L().optional(),callProviderMetadata:Y.optional(),approval:O({id:k(),approved:P(),reason:k().optional(),isAutomatic:P().optional(),signature:k().optional()})}),O({type:k().startsWith(`tool-`),toolCallId:k(),toolMetadata:Mo.optional(),state:F(`output-available`),providerExecuted:P().optional(),input:M(),output:M(),errorText:L().optional(),callProviderMetadata:Y.optional(),resultProviderMetadata:Y.optional(),preliminary:P().optional(),approval:O({id:k(),approved:F(!0),reason:k().optional(),isAutomatic:P().optional(),signature:k().optional()}).optional()}),O({type:k().startsWith(`tool-`),toolCallId:k(),toolMetadata:Mo.optional(),state:F(`output-error`),providerExecuted:P().optional(),input:M().optional(),rawInput:M().optional(),output:L().optional(),errorText:k(),callProviderMetadata:Y.optional(),resultProviderMetadata:Y.optional(),approval:O({id:k(),approved:F(!0),reason:k().optional(),isAutomatic:P().optional(),signature:k().optional()}).optional()}),O({type:k().startsWith(`tool-`),toolCallId:k(),toolMetadata:Mo.optional(),state:F(`output-denied`),providerExecuted:P().optional(),input:M(),output:L().optional(),errorText:L().optional(),callProviderMetadata:Y.optional(),approval:O({id:k(),approved:F(!1),reason:k().optional(),isAutomatic:P().optional(),signature:k().optional()})})]))}).superRefine((e,t)=>{e.role!==`assistant`&&e.parts.length===0&&t.addIssue({origin:`array`,code:`too_small`,minimum:1,inclusive:!0,input:e.parts,path:[`parts`],message:`Message must contain at least one part`})})).nonempty(`Messages array must not be empty`)));async function Fo({messages:e,metadataSchema:t,dataSchemas:n,tools:r}){try{if(e==null)return{success:!1,error:new ka({parameter:`messages`,value:e,message:`messages parameter must be provided`})};let i=await va({value:e,schema:Po});if(t)for(let[e,n]of i.entries())await va({value:n.metadata,schema:t,context:{field:`messages[${e}].metadata`,entityId:n.id}});if(n||r)for(let[e,t]of i.entries())for(let[i,a]of t.parts.entries()){if(n&&a.type.startsWith(`data-`)){let t=a,r=t.type.slice(5),o=n[r];if(!o)return{success:!1,error:new un({value:t.data,cause:`No data schema found for data part ${r}`,context:{field:`messages[${e}].parts[${i}].data`,entityName:r,entityId:t.id}})};await va({value:t.data,schema:o,context:{field:`messages[${e}].parts[${i}].data`,entityName:r,entityId:t.id}})}if(r&&a.type.startsWith(`tool-`)){let t=a,n=t.type.slice(5),o=co(r,n);if(!o&&(t.state===`output-available`||t.state===`output-error`||t.state===`output-denied`))continue;if(!o)return{success:!1,error:new un({value:t.input,cause:`No tool schema found for tool part ${n}`,context:{field:`messages[${e}].parts[${i}].input`,entityName:n,entityId:t.toolCallId}})};(t.state===`input-available`||t.state===`output-available`)&&await va({value:t.input,schema:o.inputSchema,context:{field:`messages[${e}].parts[${i}].input`,entityName:n,entityId:t.toolCallId}}),t.state===`output-available`&&o.outputSchema&&await va({value:t.output,schema:o.outputSchema,context:{field:`messages[${e}].parts[${i}].output`,entityName:n,entityId:t.toolCallId}})}}return{success:!0,data:i}}catch(e){return{success:!1,error:e}}}Yr({prefix:`call`,size:24}),Yr({prefix:`call`,size:24}),Yr({prefix:`aiobj`,size:24});var Io=class{constructor(){this.queue=[],this.isProcessing=!1}async processQueue(){if(!this.isProcessing){for(this.isProcessing=!0;this.queue.length>0;)await this.queue[0](),this.queue.shift();this.isProcessing=!1}}async run(e){return new Promise((t,n)=>{this.queue.push(async()=>{try{await e(),t()}catch(e){n(e)}}),this.processQueue()})}};Yr({prefix:`aiobj`,size:24}),Yr({prefix:`call`,size:24});async function Lo({stream:e,onTextPart:t}){let n=e.pipeThrough(new TextDecoderStream).getReader();for(;;){let{done:e,value:r}=await n.read();if(e)break;await t(r)}}var Ro=()=>fetch;async function zo({api:e,prompt:t,credentials:n,headers:r,body:i,streamProtocol:a=`data`,setCompletion:o,setLoading:s,setError:c,setAbortController:l,onFinish:u,onError:d,fetch:f=Ro()}){try{s(!0),c(void 0);let d=new AbortController;l(d),o(``);let p=await f(e,{method:`POST`,body:JSON.stringify({prompt:t,...i}),credentials:n,headers:$r({"Content-Type":`application/json`,...r},`ai-sdk/${Ba}`,Zr()),signal:d.signal}).catch(e=>{throw e});if(!p.ok)throw Error(await p.text()??`Failed to fetch the chat response.`);if(!p.body)throw Error(`The response body is empty.`);let m=``;switch(a){case`text`:await Lo({stream:p.body,onTextPart:e=>{m+=e,o(m)}});break;case`data`:await jo({stream:xa({stream:p.body,schema:So}).pipeThrough(new TransformStream({async transform(e){if(!e.success)throw e.error;let t=e.value;if(t.type===`text-delta`)m+=t.delta,o(m);else if(t.type===`error`)throw Error(t.errorText)}})),onError:e=>{throw e}});break;default:throw Error(`Unknown stream protocol: ${a}`)}return u&&u(t,m),l(null),m}catch(e){if(e.name===`AbortError`)return l(null),null;e instanceof Error&&d&&d(e),c(e)}finally{s(!1)}}async function Bo(e){if(e==null)return[];if(!globalThis.FileList||!(e instanceof globalThis.FileList))throw Error(`FileList is not supported in the current environment`);return Promise.all(Array.from(e).map(async e=>{let{name:t,type:n}=e;return{type:`file`,mediaType:n,filename:t,url:await new Promise((t,n)=>{let r=new FileReader;r.onload=e=>{t(e.target?.result)},r.onerror=e=>n(e),r.readAsDataURL(e)})}}))}var Vo=class{constructor({api:e=`/api/chat`,credentials:t,headers:n,body:r,fetch:i,prepareSendMessagesRequest:a,prepareReconnectToStreamRequest:o}){this.api=e,this.credentials=t,this.headers=n,this.body=r,this.fetch=i,this.prepareSendMessagesRequest=a,this.prepareReconnectToStreamRequest=o}async sendMessages({abortSignal:e,...t}){let n=await Sa(this.body),r=await Sa(this.headers),i=await Sa(this.credentials),a={...Qr(r),...Qr(t.headers)},o=await this.prepareSendMessagesRequest?.call(this,{api:this.api,id:t.chatId,messages:t.messages,body:{...n,...t.body},headers:a,credentials:i,requestMetadata:t.metadata,trigger:t.trigger,messageId:t.messageId}),s=o?.api??this.api,c=o?.headers===void 0?a:Qr(o.headers),l=o?.body===void 0?{...n,...t.body,id:t.chatId,messages:t.messages,trigger:t.trigger,messageId:t.messageId}:o.body,u=o?.credentials??i,d=await(this.fetch??globalThis.fetch)(s,{method:`POST`,headers:{"Content-Type":`application/json`,...c},body:JSON.stringify(l),credentials:u,signal:e});if(!d.ok)throw Error(await d.text()??`Failed to fetch the chat response.`);if(!d.body)throw Error(`The response body is empty.`);return this.processResponseStream(d.body)}async reconnectToStream(e){let t=await Sa(this.body),n=await Sa(this.headers),r=await Sa(this.credentials),i={...Qr(n),...Qr(e.headers)},a=await this.prepareReconnectToStreamRequest?.call(this,{api:this.api,id:e.chatId,body:{...t,...e.body},headers:i,credentials:r,requestMetadata:e.metadata}),o=a?.api??`${this.api}/${e.chatId}/stream`,s=a?.headers===void 0?i:Qr(a.headers),c=a?.credentials??r,l=await(this.fetch??globalThis.fetch)(o,{method:`GET`,headers:s,credentials:c});if(l.status===204)return null;if(!l.ok)throw Error(await l.text()??`Failed to fetch the chat response.`);if(!l.body)throw Error(`The response body is empty.`);return this.processResponseStream(l.body)}},Ho=class extends Vo{constructor(e={}){super(e)}processResponseStream(e){return xa({stream:e,schema:So}).pipeThrough(new TransformStream({async transform(e,t){if(!e.success)throw e.error;t.enqueue(e.value)}}))}},Uo=class{constructor({generateId:e=Xr,id:t=e(),transport:n=new Ho,messageMetadataSchema:r,dataPartSchemas:i,state:a,onError:o,onToolCall:s,onFinish:c,onData:l,sendAutomaticallyWhen:u}){this.activeResponse=void 0,this.jobExecutor=new Io,this.sendMessage=async(e,t)=>{if(e==null){await this.makeRequest({trigger:`submit-message`,messageId:this.lastMessage?.id,...t});return}let n;if(n=`text`in e||`files`in e?{parts:[...Array.isArray(e.files)?e.files:await Bo(e.files),...`text`in e&&e.text!=null?[{type:`text`,text:e.text}]:[]]}:e,e.messageId!=null){let t=this.state.messages.findIndex(t=>t.id===e.messageId);if(t===-1)throw Error(`message with id ${e.messageId} not found`);if(this.state.messages[t].role!==`user`)throw Error(`message with id ${e.messageId} is not a user message`);this.state.messages=this.state.messages.slice(0,t+1),this.state.replaceMessage(t,{...n,id:e.messageId,role:n.role??`user`,metadata:e.metadata})}else this.state.pushMessage({...n,id:n.id??this.generateId(),role:n.role??`user`,metadata:e.metadata});await this.makeRequest({trigger:`submit-message`,messageId:e.messageId,...t})},this.regenerate=async({messageId:e,...t}={})=>{let n=e==null?this.state.messages.length-1:this.state.messages.findIndex(t=>t.id===e);if(n===-1)throw Error(`message ${e} not found`);this.state.messages=this.state.messages.slice(0,this.messages[n].role===`assistant`?n:n+1),await this.makeRequest({trigger:`regenerate-message`,messageId:e,...t})},this.resumeStream=async(e={})=>{await this.makeRequest({trigger:`resume-stream`,...e})},this.clearError=()=>{this.status===`error`&&(this.state.error=void 0,this.setStatus({status:`ready`}))},this.addToolApprovalResponse=async({id:e,approved:t,reason:n,options:r})=>this.jobExecutor.run(async()=>{let i=this.state.messages,a=i[i.length-1],o=r=>Do(r)&&r.state===`approval-requested`&&r.approval.id===e?{...r,state:`approval-responded`,approval:{...r.approval,id:e,approved:t,reason:n}}:r;this.state.replaceMessage(i.length-1,{...a,parts:a.parts.map(o)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(o)),this.status!==`streaming`&&this.status!==`submitted`&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(e=>{e&&this.makeRequest({trigger:`submit-message`,messageId:this.lastMessage?.id,...r})})}),this.addToolOutput=async({state:e=`output-available`,toolCallId:t,output:n,errorText:r,options:i})=>this.jobExecutor.run(async()=>{let a=this.state.messages,o=a[a.length-1],s=i=>Do(i)&&i.toolCallId===t?{...i,state:e,output:n,errorText:r}:i;this.state.replaceMessage(a.length-1,{...o,parts:o.parts.map(s)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(s)),this.status!==`streaming`&&this.status!==`submitted`&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(e=>{e&&this.makeRequest({trigger:`submit-message`,messageId:this.lastMessage?.id,...i})})}),this.addToolResult=this.addToolOutput,this.stop=async()=>{(this.status===`streaming`||this.status===`submitted`)&&this.activeResponse?.abortController&&this.activeResponse.abortController.abort()},this.id=t,this.transport=n,this.generateId=e,this.messageMetadataSchema=r,this.dataPartSchemas=i,this.state=a,this.onError=o,this.onToolCall=s,this.onFinish=c,this.onData=l,this.sendAutomaticallyWhen=u}get status(){return this.state.status}setStatus({status:e,error:t}){this.status!==e&&(this.state.status=e,this.state.error=t)}get error(){return this.state.error}get messages(){return this.state.messages}get lastMessage(){return this.state.messages[this.state.messages.length-1]}set messages(e){this.state.messages=e}async shouldSendAutomatically(){if(!this.sendAutomaticallyWhen)return!1;let e=this.sendAutomaticallyWhen({messages:this.state.messages});return e&&typeof e==`object`&&`then`in e?await e:e}async makeRequest({trigger:e,metadata:t,headers:n,body:r,messageId:i}){var a;let o;if(e===`resume-stream`)try{let e=await this.transport.reconnectToStream({chatId:this.id,metadata:t,headers:n,body:r});if(e==null)return;o=e}catch(e){this.onError&&e instanceof Error&&this.onError(e),this.setStatus({status:`error`,error:e});return}this.setStatus({status:`submitted`,error:void 0});let s=this.lastMessage,c=!1,l=!1,u=!1,d;try{let a={state:ko({lastMessage:this.state.snapshot(s),messageId:this.generateId()}),abortController:new AbortController};d=a,a.abortController.signal.addEventListener(`abort`,()=>{c=!0}),this.activeResponse=a;let l;l=e===`resume-stream`?o:await this.transport.sendMessages({chatId:this.id,messages:this.state.messages,abortSignal:a.abortController.signal,metadata:t,headers:n,body:r,trigger:e,messageId:i}),await jo({stream:Ao({stream:l,onToolCall:this.onToolCall,onData:this.onData,messageMetadataSchema:this.messageMetadataSchema,dataPartSchemas:this.dataPartSchemas,runUpdateMessageJob:e=>this.jobExecutor.run(()=>e({state:a.state,write:()=>{this.setStatus({status:`streaming`}),a.state.message.id===this.lastMessage?.id?this.state.replaceMessage(this.state.messages.length-1,a.state.message):this.state.pushMessage(a.state.message)}})),onError:e=>{throw e}}),onError:e=>{throw e}}),this.setStatus({status:`ready`})}catch(e){if(c||e.name===`AbortError`)return c=!0,this.setStatus({status:`ready`}),null;u=!0,e instanceof TypeError&&(e.message.toLowerCase().includes(`fetch`)||e.message.toLowerCase().includes(`network`))&&(l=!0),this.onError&&e instanceof Error&&this.onError(e),this.setStatus({status:`error`,error:e})}finally{try{d&&((a=this.onFinish)==null||a.call(this,{message:d.state.message,messages:this.state.messages,isAbort:c,isDisconnect:l,isError:u,finishReason:d.state.finishReason}))}catch(e){console.error(e)}this.activeResponse===d&&(this.activeResponse=void 0)}!u&&await this.shouldSendAutomatically()&&await this.makeRequest({trigger:`submit-message`,messageId:this.lastMessage?.id,metadata:t,headers:n,body:r})}};function Wo({messages:e}){let t=e[e.length-1];if(!t||t.role!==`assistant`)return!1;let n=t.parts.reduce((e,t,n)=>t.type===`step-start`?n:e,-1),r=t.parts.slice(n+1).filter(Do);return r.filter(e=>e.state===`approval-responded`).length>0&&r.every(e=>e.state===`output-available`||e.state===`output-error`||e.state===`approval-responded`)}function Go({messages:e}){let t=e[e.length-1];if(!t||t.role!==`assistant`)return!1;let n=t.parts.reduce((e,t,n)=>t.type===`step-start`?n:e,-1),r=t.parts.slice(n+1).filter(Do).filter(e=>!e.providerExecuted);return r.length>0&&r.every(e=>e.state===`output-available`||e.state===`output-error`)}var X=e(c(),1),Ko=Ce(),qo=Object.prototype.hasOwnProperty;function Jo(e,t){var n,r;if(e===t)return!0;if(e&&t&&(n=e.constructor)===t.constructor){if(n===Date)return e.getTime()===t.getTime();if(n===RegExp)return e.toString()===t.toString();if(n===Array){if((r=e.length)===t.length)for(;r--&&Jo(e[r],t[r]););return r===-1}if(!n||typeof e==`object`){for(n in r=0,e)if(qo.call(e,n)&&++r&&!qo.call(t,n)||!(n in t)||!Jo(e[n],t[n]))return!1;return Object.keys(t).length===r}}return e!==e&&t!==t}var Yo=new WeakMap,Xo=()=>{},Zo=Object,Z=e=>e===void 0,Qo=e=>typeof e==`function`,$o=(e,t)=>({...e,...t}),es=e=>Qo(e.then),ts={},ns={},rs=`undefined`,is=typeof window!=rs,as=typeof document!=rs,os=is&&`Deno`in window,ss=()=>is&&typeof window.requestAnimationFrame!=rs,cs=(e,t)=>{let n=Yo.get(e);return[()=>!Z(t)&&e.get(t)||ts,r=>{if(!Z(t)){let i=e.get(t);t in ns||(ns[t]=i),n[5](t,$o(i,r),i||ts)}},n[6],()=>!Z(t)&&t in ns?ns[t]:!Z(t)&&e.get(t)||ts]},ls=!0,us=()=>ls,[ds,fs]=is&&window.addEventListener?[window.addEventListener.bind(window),window.removeEventListener.bind(window)]:[Xo,Xo],ps=()=>{let e=as&&document.visibilityState;return Z(e)||e!==`hidden`},ms=e=>(as&&document.addEventListener(`visibilitychange`,e),ds(`focus`,e),()=>{as&&document.removeEventListener(`visibilitychange`,e),fs(`focus`,e)}),hs=e=>{let t=()=>{ls=!0,e()},n=()=>{ls=!1};return ds(`online`,t),ds(`offline`,n),()=>{fs(`online`,t),fs(`offline`,n)}},gs={isOnline:us,isVisible:ps},_s={initFocus:ms,initReconnect:hs},vs=!X.useId,ys=!is||os,bs=e=>ss()?window.requestAnimationFrame(e):setTimeout(e,1),xs=ys?X.useEffect:X.useLayoutEffect,Ss=typeof navigator<`u`&&navigator.connection,Cs=!ys&&Ss&&([`slow-2g`,`2g`].includes(Ss.effectiveType)||Ss.saveData),ws=new WeakMap,Ts=e=>Zo.prototype.toString.call(e),Es=(e,t)=>e===`[object ${t}]`,Ds=0,Os=e=>{let t=typeof e,n=Ts(e),r=Es(n,`Date`),i=Es(n,`RegExp`),a=Es(n,`Object`),o,s;if(Zo(e)===e&&!r&&!i){if(o=ws.get(e),o)return o;if(o=++Ds+`~`,ws.set(e,o),Array.isArray(e)){for(o=`@`,s=0;s<e.length;s++)o+=Os(e[s])+`,`;ws.set(e,o)}if(a){o=`#`;let t=Zo.keys(e).sort();for(;!Z(s=t.pop());)Z(e[s])||(o+=s+`:`+Os(e[s])+`,`);ws.set(e,o)}}else o=r?e.toJSON():t==`symbol`?e.toString():t==`string`?JSON.stringify(e):``+e;return o},ks=e=>{if(Qo(e))try{e=e()}catch{e=``}let t=e;return e=typeof e==`string`?e:(Array.isArray(e)?e.length:e)?Os(e):``,[e,t]},As=0,js=()=>++As;async function Ms(...e){let[t,n,r,i]=e,a=$o({populateCache:!0,throwOnError:!0},typeof i==`boolean`?{revalidate:i}:i||{}),o=a.populateCache,s=a.rollbackOnError,c=a.optimisticData,l=e=>typeof s==`function`?s(e):s!==!1,u=a.throwOnError;if(Qo(n)){let e=n,r=[],i=t.keys();for(let n of i)!/^\$(inf|sub)\$/.test(n)&&e(t.get(n)._k)&&r.push(n);return Promise.all(r.map(d))}return d(n);async function d(n){let[i]=ks(n);if(!i)return;let[s,d]=cs(t,i),[f,p,m,h]=Yo.get(t),g=()=>{let e=f[i];return(Qo(a.revalidate)?a.revalidate(s().data,n):a.revalidate!==!1)&&(delete m[i],delete h[i],e&&e[0])?e[0](2).then(()=>s().data):s().data};if(e.length<3)return g();let _=r,v,y=!1,b=js();p[i]=[b,0];let x=!Z(c),ee=s(),S=ee.data,C=ee._c,w=Z(C)?S:C;if(x&&(c=Qo(c)?c(w,S):c,d({data:c,_c:w})),Qo(_))try{_=_(w)}catch(e){v=e,y=!0}if(_&&es(_)){if(_=await _.catch(e=>{v=e,y=!0}),b!==p[i][0]){if(y)throw v;return _}y&&x&&l(v)&&(o=!0,d({data:w,_c:void 0}))}if(o&&(y||(Qo(o)?d({data:o(_,w),error:void 0,_c:void 0}):d({data:_,error:void 0,_c:void 0}))),p[i][1]=js(),Promise.resolve(g()).then(()=>{d({_c:void 0})}),y){if(u)throw v;return}return _}}var Ns=(e,t)=>{for(let n in e)e[n][0]&&e[n][0](t)},Ps=(e,t)=>{if(!Yo.has(e)){let n=$o(_s,t),r=Object.create(null),i=Ms.bind(void 0,e),a=Xo,o=Object.create(null),s=(e,t)=>{let n=o[e]||[];return o[e]=n,n.push(t),()=>{let e=n.indexOf(t);e>=0&&(n[e]=n[n.length-1],n.pop())}},c=(t,n,r)=>{e.set(t,n);let i=o[t];if(i)for(let e of i)e(n,r)},l=()=>{if(!Yo.has(e)&&(Yo.set(e,[r,Object.create(null),Object.create(null),Object.create(null),i,c,s]),!ys)){let t=n.initFocus(setTimeout.bind(void 0,Ns.bind(void 0,r,0))),i=n.initReconnect(setTimeout.bind(void 0,Ns.bind(void 0,r,1)));a=()=>{t&&t(),i&&i(),Yo.delete(e)}}};return l(),[e,i,l,a]}return[e,Yo.get(e)[4]]},Fs=(e,t,n,r,i)=>{let a=n.errorRetryCount,o=i.retryCount,s=~~((Math.random()+.5)*(1<<(o<8?o:8)))*n.errorRetryInterval;!Z(a)&&o>a||setTimeout(r,s,i)},Is=Jo,[Ls,Rs]=Ps(new Map),zs=$o({onLoadingSlow:Xo,onSuccess:Xo,onError:Xo,onErrorRetry:Fs,onDiscarded:Xo,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:Cs?1e4:5e3,focusThrottleInterval:5e3,dedupingInterval:2e3,loadingTimeout:Cs?5e3:3e3,compare:Is,isPaused:()=>!1,cache:Ls,mutate:Rs,fallback:{}},gs),Bs=(e,t)=>{let n=$o(e,t);if(t){let{use:r,fallback:i}=e,{use:a,fallback:o}=t;r&&a&&(n.use=r.concat(a)),i&&o&&(n.fallback=$o(i,o))}return n},Vs=(0,X.createContext)({}),Hs=e=>{let{value:t}=e,n=(0,X.useContext)(Vs),r=Qo(t),i=(0,X.useMemo)(()=>r?t(n):t,[r,n,t]),a=(0,X.useMemo)(()=>r?i:Bs(n,i),[r,n,i]),o=i&&i.provider,s=(0,X.useRef)(void 0);o&&!s.current&&(s.current=Ps(o(a.cache||Ls),i));let c=s.current;return c&&(a.cache=c[0],a.mutate=c[1]),xs(()=>{if(c)return c[2]&&c[2](),c[3]},[]),(0,X.createElement)(Vs.Provider,$o(e,{value:a}))},Us=is&&window.__SWR_DEVTOOLS_USE__,Ws=Us?window.__SWR_DEVTOOLS_USE__:[],Gs=()=>{Us&&(window.__SWR_DEVTOOLS_REACT__=X.default)},Ks=e=>Qo(e[1])?[e[0],e[1],e[2]||{}]:[e[0],null,(e[1]===null?e[2]:e[1])||{}],qs=()=>{let e=(0,X.useContext)(Vs);return(0,X.useMemo)(()=>$o(zs,e),[e])},Js=Ws.concat(e=>(t,n,r)=>e(t,n&&((...e)=>{let[r]=ks(t),[,,,i]=Yo.get(Ls);if(r.startsWith(`$inf$`))return n(...e);let a=i[r];return Z(a)?n(...e):(delete i[r],a)}),r)),Ys=e=>function(...t){let n=qs(),[r,i,a]=Ks(t),o=Bs(n,a),s=e,{use:c}=o,l=(c||[]).concat(Js);for(let e=l.length;e--;)s=l[e](s);return s(r,i||o.fetcher||null,o)},Xs=(e,t,n)=>{let r=t[e]||(t[e]=[]);return r.push(n),()=>{let e=r.indexOf(n);e>=0&&(r[e]=r[r.length-1],r.pop())}};Gs();var Zs=X.use||(e=>{switch(e.status){case`pending`:throw e;case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:throw e.status=`pending`,e.then(t=>{e.status=`fulfilled`,e.value=t},t=>{e.status=`rejected`,e.reason=t}),e}}),Qs={dedupe:!0},$s=Promise.resolve(void 0);$s.status=`fulfilled`,$s.value=void 0;var ec=()=>Xo,tc=(e,t,n)=>{let{cache:r,compare:i,suspense:a,fallbackData:o,revalidateOnMount:s,revalidateIfStale:c,refreshInterval:l,refreshWhenHidden:u,refreshWhenOffline:d,keepPreviousData:f,strictServerPrefetchWarning:p}=n,[m,h,g,_]=Yo.get(r),[v,y]=ks(e),b=(0,X.useRef)(!1),x=(0,X.useRef)(!1),ee=(0,X.useRef)(v),S=(0,X.useRef)(t),C=(0,X.useRef)(n),w=()=>C.current,te=()=>w().isVisible()&&w().isOnline(),[T,ne,re,ie]=cs(r,v),E=(0,X.useRef)({}).current,D=Z(o)?Z(n.fallback)?void 0:n.fallback[v]:o,O=(e,t)=>{for(let n in E){let r=n;if(r===`data`){if(!i(e[r],t[r])&&(!Z(e[r])||!i(le,t[r])))return!1}else if(t[r]!==e[r])return!1}return!0},ae=!b.current,k=(0,X.useMemo)(()=>{let e=T(),n=ie(),r=e=>{let n=$o(e);return delete n._k,!(!v||!t||w().isPaused())&&(ae&&!Z(s)?s:Z(Z(D)?n.data:D)||c)?{isValidating:!0,isLoading:!0,...n}:n},i=r(e),a=e===n?i:r(n),o=i;return[()=>{let e=r(T());return O(e,o)?(o.data=e.data,o.isLoading=e.isLoading,o.isValidating=e.isValidating,o.error=e.error,o):(o=e,e)},()=>a]},[r,v]),oe=(0,Ko.useSyncExternalStore)((0,X.useCallback)(e=>re(v,(t,n)=>{O(n,t)||e()}),[r,v]),k[0],k[1]),A=m[v]&&m[v].length>0,se=oe.data,j=Z(se)?D&&es(D)?Zs(D):D:se,M=oe.error,ce=(0,X.useRef)(j),le=f?Z(se)?Z(ce.current)?j:ce.current:se:j,N=v&&Z(j),P=(0,X.useRef)(null);!ys&&(0,Ko.useSyncExternalStore)(ec,()=>(P.current=!1,P),()=>(P.current=!0,P));let ue=P.current;p&&ue&&!a&&N&&console.warn(`Missing pre-initiated data for serialized key "${v}" during server-side rendering. Data fetching should be initiated on the server and provided to SWR via fallback data. You can set "strictServerPrefetchWarning: false" to disable this warning.`);let F=!v||!t||w().isPaused()||A&&!Z(M)?!1:ae&&!Z(s)?s:a?!Z(j)&&c:Z(j)||c,de=ae&&F,I=Z(oe.isValidating)?de:oe.isValidating,L=Z(oe.isLoading)?de:oe.isLoading,fe=(0,X.useCallback)(async e=>{let t=S.current;if(!v||!t||x.current||w().isPaused())return!1;let r,a,o=!0,s=e||{},c=!g[v]||!s.dedupe,l=()=>vs?!x.current&&v===ee.current&&b.current:v===ee.current,u={isValidating:!1,isLoading:!1},d=()=>{ne(u)},f=()=>{let e=g[v];e&&e[1]===a&&delete g[v]},p={isValidating:!0};Z(T().data)&&(p.isLoading=!0);try{if(c&&(ne(p),n.loadingTimeout&&Z(T().data)&&setTimeout(()=>{o&&l()&&w().onLoadingSlow(v,n)},n.loadingTimeout),g[v]=[t(y),js()]),[r,a]=g[v],r=await r,c&&setTimeout(f,n.dedupingInterval),!g[v]||g[v][1]!==a)return c&&l()&&w().onDiscarded(v),!1;u.error=void 0;let e=h[v];if(!Z(e)&&(a<=e[0]||a<=e[1]||e[1]===0))return d(),c&&l()&&w().onDiscarded(v),!1;let s=T().data;u.data=i(s,r)?s:r,c&&l()&&w().onSuccess(r,v,n)}catch(e){f();let t=w(),{shouldRetryOnError:n}=t;t.isPaused()||(u.error=e,c&&l()&&(t.onError(e,v,t),(n===!0||Qo(n)&&n(e))&&(!w().revalidateOnFocus||!w().revalidateOnReconnect||te())&&t.onErrorRetry(e,v,t,e=>{let t=m[v];t&&t[0]&&t[0](3,e)},{retryCount:(s.retryCount||0)+1,dedupe:!0})))}return o=!1,d(),!0},[v,r]),pe=(0,X.useCallback)((...e)=>Ms(r,ee.current,...e),[]);if(xs(()=>{S.current=t,C.current=n,Z(se)||(ce.current=se)}),xs(()=>{if(!v)return;let e=fe.bind(void 0,Qs),t=0;w().revalidateOnFocus&&(t=Date.now()+w().focusThrottleInterval);let n=Xs(v,m,(n,r={})=>{if(n==0){let n=Date.now();w().revalidateOnFocus&&n>t&&te()&&(t=n+w().focusThrottleInterval,e())}else if(n==1)w().revalidateOnReconnect&&te()&&e();else if(n==2)return fe();else if(n==3)return fe(r)});return x.current=!1,ee.current=v,b.current=!0,ne({_k:y}),F&&(g[v]||(Z(j)||ys?e():bs(e))),()=>{x.current=!0,n()}},[v]),xs(()=>{let e;function t(){let t=Qo(l)?l(T().data):l;t&&e!==-1&&(e=setTimeout(n,t))}function n(){!T().error&&(u||w().isVisible())&&(d||w().isOnline())?fe(Qs).then(t):t()}return t(),()=>{e&&=(clearTimeout(e),-1)}},[l,u,d,v]),(0,X.useDebugValue)(le),a){if(!vs&&ys&&N)throw Error(`Fallback data is required when using Suspense in SSR.`);N&&(S.current=t,C.current=n,x.current=!1);let e=_[v];if(Zs(!Z(e)&&N?pe(e):$s),!Z(M)&&N)throw M;let r=N?fe(Qs):$s;!Z(le)&&N&&(r.status=`fulfilled`,r.value=!0),Zs(r)}return{mutate:pe,get data(){return E.data=!0,le},get error(){return E.error=!0,M},get isValidating(){return E.isValidating=!0,I},get isLoading(){return E.isLoading=!0,L}}};Zo.defineProperty(Hs,`defaultValue`,{value:zs});var nc=Ys(tc),rc=e(t(((e,t)=>{function n(e,t){if(typeof e!=`function`)throw TypeError(`Expected the first argument to be a \`function\`, got \`${typeof e}\`.`);let n,r=0;return function(...i){clearTimeout(n);let a=Date.now(),o=t-(a-r);o<=0?(r=a,e.apply(this,i)):n=setTimeout(()=>{r=Date.now(),e.apply(this,i)},o)}}t.exports=n}))(),1),Q=Se(),ic=(e,t,n)=>{if(!t.has(e))throw TypeError(`Cannot `+n)},$=(e,t,n)=>(ic(e,t,`read from private field`),n?n.call(e):t.get(e)),ac=(e,t,n)=>{if(t.has(e))throw TypeError(`Cannot add the same private member more than once`);t instanceof WeakSet?t.add(e):t.set(e,n)},oc=(e,t,n,r)=>(ic(e,t,`write to private field`),r?r.call(e,n):t.set(e,n),n);function sc(e,t){return t==null?e:(0,rc.default)(e,t)}var cc,lc,uc,dc,fc,pc,mc,hc,gc,_c=class{constructor(e=[]){ac(this,cc,void 0),ac(this,lc,`ready`),ac(this,uc,void 0),ac(this,dc,new Set),ac(this,fc,new Set),ac(this,pc,new Set),this.pushMessage=e=>{oc(this,cc,$(this,cc).concat(e)),$(this,mc).call(this)},this.popMessage=()=>{oc(this,cc,$(this,cc).slice(0,-1)),$(this,mc).call(this)},this.replaceMessage=(e,t)=>{oc(this,cc,[...$(this,cc).slice(0,e),this.snapshot(t),...$(this,cc).slice(e+1)]),$(this,mc).call(this)},this.snapshot=e=>structuredClone(e),this[`~registerMessagesCallback`]=(e,t)=>{let n=t?sc(e,t):e;return $(this,dc).add(n),()=>{$(this,dc).delete(n)}},this[`~registerStatusCallback`]=e=>($(this,fc).add(e),()=>{$(this,fc).delete(e)}),this[`~registerErrorCallback`]=e=>($(this,pc).add(e),()=>{$(this,pc).delete(e)}),ac(this,mc,()=>{$(this,dc).forEach(e=>e())}),ac(this,hc,()=>{$(this,fc).forEach(e=>e())}),ac(this,gc,()=>{$(this,pc).forEach(e=>e())}),oc(this,cc,e)}get status(){return $(this,lc)}set status(e){oc(this,lc,e),$(this,hc).call(this)}get error(){return $(this,uc)}set error(e){oc(this,uc,e),$(this,gc).call(this)}get messages(){return $(this,cc)}set messages(e){oc(this,cc,[...e]),$(this,mc).call(this)}};cc=new WeakMap,lc=new WeakMap,uc=new WeakMap,dc=new WeakMap,fc=new WeakMap,pc=new WeakMap,mc=new WeakMap,hc=new WeakMap,gc=new WeakMap;var vc,yc=class extends Uo{constructor({messages:e,...t}){let n=new _c(e);super({...t,state:n}),ac(this,vc,void 0),this[`~registerMessagesCallback`]=(e,t)=>$(this,vc)[`~registerMessagesCallback`](e,t),this[`~registerStatusCallback`]=e=>$(this,vc)[`~registerStatusCallback`](e),this[`~registerErrorCallback`]=e=>$(this,vc)[`~registerErrorCallback`](e),oc(this,vc,n)}};vc=new WeakMap;function bc({throttle:e,experimental_throttle:t,resume:n=!1,...r}={}){let i=e??t,a=(0,X.useRef)({});`chat`in r||(a.current={onToolCall:r.onToolCall,onData:r.onData,onFinish:r.onFinish,onError:r.onError,sendAutomaticallyWhen:r.sendAutomaticallyWhen,transport:r.transport});let o,s=()=>a.current.transport??(o??=new Ho),c={...r,transport:{sendMessages:e=>s().sendMessages(e),reconnectToStream:e=>s().reconnectToStream(e)},onToolCall:e=>{var t;return(t=a.current).onToolCall?.call(t,e)},onData:e=>{var t;return(t=a.current).onData?.call(t,e)},onFinish:e=>{var t;return(t=a.current).onFinish?.call(t,e)},onError:e=>{var t;return(t=a.current).onError?.call(t,e)},sendAutomaticallyWhen:e=>{var t;return(t=a.current).sendAutomaticallyWhen?.call(t,e)??!1}},l=(0,X.useRef)(`chat`in r?r.chat:new yc(c));(`chat`in r&&r.chat!==l.current||`id`in r&&r.id!=null&&l.current.id!==r.id)&&(l.current=`chat`in r?r.chat:new yc(c));let u=(0,X.useCallback)(e=>l.current[`~registerMessagesCallback`](e,i),[i,l.current.id]),d=(0,X.useSyncExternalStore)(u,()=>l.current.messages,()=>l.current.messages),f=(0,X.useSyncExternalStore)(l.current[`~registerStatusCallback`],()=>l.current.status,()=>l.current.status),p=(0,X.useSyncExternalStore)(l.current[`~registerErrorCallback`],()=>l.current.error,()=>l.current.error),m=(0,X.useCallback)(e=>{typeof e==`function`&&(e=e(l.current.messages)),l.current.messages=e},[l]);return(0,X.useEffect)(()=>{n&&l.current.resumeStream()},[n,l]),{id:l.current.id,messages:d,setMessages:m,sendMessage:l.current.sendMessage,regenerate:l.current.regenerate,clearError:l.current.clearError,stop:l.current.stop,error:p,resumeStream:l.current.resumeStream,status:f,addToolResult:l.current.addToolOutput,addToolOutput:l.current.addToolOutput,addToolApprovalResponse:l.current.addToolApprovalResponse}}function xc({api:e=`/api/completion`,id:t,initialCompletion:n=``,initialInput:r=``,credentials:i,headers:a,body:o,streamProtocol:s=`data`,fetch:c,onFinish:l,onError:u,throttle:d,experimental_throttle:f}={}){let p=d??f,m=(0,X.useId)(),h=t||m,{data:g,mutate:_}=nc([e,h],null,{fallbackData:n}),{data:v=!1,mutate:y}=nc([h,`loading`],null),[b,x]=(0,X.useState)(void 0),ee=g,[S,C]=(0,X.useState)(null),w=(0,X.useRef)({credentials:i,headers:a,body:o});(0,X.useEffect)(()=>{w.current={credentials:i,headers:a,body:o}},[i,a,o]);let te=(0,X.useCallback)(async(t,n)=>zo({api:e,prompt:t,credentials:w.current.credentials,headers:{...w.current.headers,...n?.headers},body:{...w.current.body,...n?.body},streamProtocol:s,fetch:c,setCompletion:sc(e=>_(e,!1),p),setLoading:y,setError:x,setAbortController:C,onFinish:l,onError:u}),[_,y,e,w,C,l,u,x,s,c,p]),T=(0,X.useCallback)(()=>{S&&(S.abort(),C(null))},[S]),ne=(0,X.useCallback)(e=>{_(e,!1)},[_]),re=(0,X.useCallback)(async(e,t)=>te(e,t),[te]),[ie,E]=(0,X.useState)(r),D=(0,X.useCallback)(e=>{var t;return(t=e?.preventDefault)==null||t.call(e),ie?re(ie):void 0},[ie,re]);return{completion:ee,complete:re,error:b,setCompletion:ne,stop:T,input:ie,setInput:E,handleInputChange:(0,X.useCallback)(e=>{E(e.target.value)},[E]),handleSubmit:D,isLoading:v}}function Sc(e){return je.define({combine:t=>t[0]??e})}var Cc=Sc({}),wc=Fe.define(),Tc=Fe.define(),Ec=50,Dc=Me.define({create(){return{prompts:[],navigationIndex:-1,originalText:``}},update(e,t){let n={...e};t.docChanged&&e.navigationIndex!==-1&&(t.effects.some(e=>e.is(Tc)||e.is(wc))||(n.navigationIndex=-1,n.originalText=``));for(let r of t.effects)if(r.is(wc)){let i=r.value.trim();i&&(n.prompts=[i,...e.prompts.filter(e=>e!==i)].slice(0,Ec),t.state.facet(Cc).save?.(n.prompts)),n.navigationIndex=-1,n.originalText=``}else r.is(Tc)&&(n.navigationIndex=r.value.index,n.originalText=r.value.originalText);return n}}),Oc=e=>{let t=e.state.field(Dc),n=e.state.doc;if(t.prompts.length===0)return!1;let r,i=t.originalText;if(t.navigationIndex===-1){if(n.length>0)return!1;r=0,i=n.toString()}else if(r=Math.min(t.navigationIndex+1,t.prompts.length-1),r===t.navigationIndex)return!1;let a=t.prompts[r];return e.dispatch({changes:{from:0,to:e.state.doc.length,insert:a},effects:Tc.of({index:r,originalText:i})}),!0},kc=e=>{let t=e.state.field(Dc);if(t.navigationIndex===-1)return!1;let n,r;return t.navigationIndex===0?(n=t.originalText,r=-1):(r=t.navigationIndex-1,n=t.prompts[r]??``),e.dispatch({changes:{from:0,to:e.state.doc.length,insert:n},effects:Tc.of({index:r,originalText:t.originalText})}),!0},Ac=e=>{let t=e.state.doc.toString();return t.trim()?(e.dispatch({effects:wc.of(t)}),!0):!1};function jc(e={}){let{storage:t,defaultKeymap:n=!0}=e,r=[Dc.init(()=>({prompts:t?.load?.()??[],navigationIndex:-1,originalText:``})),Cc.of(t??{})];return n&&r.push(Ne.of([{key:`ArrowUp`,run:Oc},{key:`ArrowDown`,run:kc}])),r}var Mc=class extends Error{code;isRetryable;suggestedFix;meta;constructor(e,t=`TOOL_ERROR`,n=!1,r,i){super(e),this.name=`ToolExecutionError`,this.code=t,this.isRetryable=n,this.suggestedFix=r,this.meta=i}toStructuredString(){let e=JSON.stringify({message:this.message,code:this.code,is_retryable:this.isRetryable,...this.suggestedFix&&{suggested_fix:this.suggestedFix},...this.meta&&{meta:this.meta}});return`Error invoking tool ${this.name}: ${e}`}},Nc=O({status:fe([`success`,`error`,`warning`]).optional(),auth_required:P().optional(),next_steps:j(k()).optional(),action_url:k().optional(),message:k().optional(),meta:N(k(),M()).optional()});function Pc(e,t){return e?!!([`image/`,`video/`,`audio/`,`application/pdf`].some(t=>e.startsWith(t))||[`svg`,`vega`].some(t=>e.includes(t))||e===`text/html`&&[`<img`,`<video`,`<audio`,`<iframe`,`<canvas`,`<svg`,`<marimo-ui-element`].some(e=>t.includes(e))):!1}var Fc=class extends ht{title=`Cell Outputs`;mentionPrefix=`@`;contextType=`cell-output`;store;constructor(e){super(),this.store=e}getItems(){let e=this.store.get(D),t=[];for(let n of e.cellIds.inOrderIds){let r=Rc(n,e),i=r.cellOutput;if(!i)continue;let a=i.output.mimetype||`unknown`;t.push({uri:this.asURI(n),name:r.cellName,type:this.contextType,description:`Cell output (${a})`,data:{...r,cellOutput:i}})}return t}formatCompletion(e){let{cellOutput:t,cellName:n,cellCode:r}=e.data;return{label:`@${n}`,displayLabel:n,detail:`${t.outputType} output`,boost:t.outputType===`media`?ft.HIGH:ft.MEDIUM,type:this.contextType,section:ut.CELL_OUTPUT,apply:`@${n}`,info:()=>{let e=document.createElement(`div`);e.classList.add(`mo-cm-tooltip`,`docs-documentation`,`min-w-[300px]`,`max-w-[500px]`,`flex`,`flex-col`,`gap-2`);let i=document.createElement(`div`);i.classList.add(`flex`,`flex-col`,`gap-1`);let a=document.createElement(`div`);a.classList.add(`font-bold`,`text-base`),a.textContent=n,i.append(a);let o=document.createElement(`div`);if(o.classList.add(`text-sm`,`text-muted-foreground`),i.append(o),e.append(i),r){let t=document.createElement(`div`);t.classList.add(`text-xs`,`font-medium`,`text-muted-foreground`),t.textContent=`Code:`,e.append(t);let n=document.createElement(`div`);n.classList.add(`text-xs`,`font-mono`,`bg-muted`,`p-2`,`rounded`,`max-h-20`,`overflow-y-auto`),n.textContent=r.slice(0,200)+(r.length>200?`...`:``),e.append(n)}if(t.processedContent){let n=document.createElement(`div`);n.classList.add(`text-xs`,`font-medium`,`text-muted-foreground`,`mt-2`),n.textContent=`Output Preview:`,e.append(n);let r=document.createElement(`div`);r.classList.add(`text-xs`,`bg-muted`,`p-2`,`rounded`,`max-h-24`,`overflow-y-auto`,`mb-2`),r.textContent=t.processedContent.slice(0,300)+(t.processedContent.length>300?`...`:``),e.append(r)}if(t.outputType===`media`){let t=document.createElement(`div`);t.classList.add(`text-xs`,`text-muted-foreground`,`italic`,`mb-2`),t.textContent=`A screenshot of the output will be attached`,e.append(t)}return e}}}formatContext(e){let{cellOutput:t,cellName:n,cellId:r,cellCode:i}=e.data,a={name:n,cellId:r,outputType:t.outputType,mimetype:t.output.mimetype},o=`Cell Code:\n${i}\n\n`;return t.outputType===`text`&&t.processedContent?o+=`Output:\n${t.processedContent}`:t.outputType===`media`&&(o+=`Media Output: Contains ${t.output.mimetype} content`,t.imageUrl&&(o+=`\nImage URL: ${t.imageUrl}`)),mt({type:this.contextType,data:a,details:o})}async getAttachments(e){let t=e[0].data.cellId,n=e[0].data.cellName;return Ic(e.map(e=>e.data.cellOutput),t,n)}};async function Ic(e,t,n){let r=e.filter(e=>e.shouldDownloadImage&&e.outputType===`media`);if(r.length===0)return[];let i=r.flatMap(e=>{let r=document.getElementById(C.create(t));return r?{cellId:t,cellName:n,mimetype:e.output.mimetype,element:r}:(R.warn(`Output element not found for cell ${t}`),[])});try{return await Promise.all(i.map(async e=>({type:`file`,filename:`${n}-output-screenshot`,mediaType:`image/png`,url:await kt(e.element)})))}catch(e){return R.error(`Error downloading cell output images:`,e),[]}}function Lc(e){if(nt(e))return null;let t=e.mimetype,n=Pc(t,String(e.data))?`media`:`text`,r=Mt(e),i,a=!1;return n===`media`&&(typeof e.data==`string`&&e.data.startsWith(`data:`)||typeof e.data==`string`&&e.data.startsWith(`http`)?i=e.data:a=!0),{processedContent:r,imageUrl:i,shouldDownloadImage:a,outputType:n,output:e}}function Rc(e,t,n){let{includeConsoleOutput:r=!1}=n||{},i=t.cellRuntime[e],a=t.cellData[e],o=t.cellIds.inOrderIds.indexOf(e),s=h(a.name,o),c;r&&(c=i.consoleOutputs.map(e=>Lc(e)).filter(e=>e!==null));let l,u=i.output;return u&&!nt(u)&&(l=Lc(u)??void 0),{cellId:e,cellName:s,cellCode:a.code,cellOutput:l,consoleOutputs:c}}function zc(e,t){let n=[`Code:\n${e.cellCode}`];if(e.tracebackHtml&&n.push(`Traceback:\n${ie(e.tracebackHtml)}`),e.errorData.length>0&&n.push(e.errorData.map(e=>Pt(e)).join(`
|
|
20
|
+
`)}})}},yo={"content-type":`text/event-stream`,"cache-control":`no-cache`,connection:`keep-alive`,"x-vercel-ai-ui-message-stream":`v1`,"x-accel-buffering":`no`};function bo({status:e,statusText:t,headers:n,stream:r,consumeSseStream:i}){let a=r.pipeThrough(new vo);if(i){let[e,t]=a.tee();a=e,i({stream:t})}return new Response(a.pipeThrough(new TextEncoderStream),{status:e,statusText:t,headers:_o(n,yo)})}var xo=de(A(),Ha.optional()),So=ca(()=>_a(j([I({type:F(`text-start`),id:A(),providerMetadata:Y.optional()}),I({type:F(`text-delta`),id:A(),delta:A(),providerMetadata:Y.optional()}),I({type:F(`text-end`),id:A(),providerMetadata:Y.optional()}),I({type:F(`error`),errorText:A()}),I({type:F(`tool-input-start`),toolCallId:A(),toolName:A(),providerExecuted:P().optional(),providerMetadata:Y.optional(),toolMetadata:xo.optional(),dynamic:P().optional(),title:A().optional()}),I({type:F(`tool-input-delta`),toolCallId:A(),inputTextDelta:A()}),I({type:F(`tool-input-available`),toolCallId:A(),toolName:A(),input:N(),providerExecuted:P().optional(),providerMetadata:Y.optional(),toolMetadata:xo.optional(),dynamic:P().optional(),title:A().optional()}),I({type:F(`tool-input-error`),toolCallId:A(),toolName:A(),input:N(),providerExecuted:P().optional(),providerMetadata:Y.optional(),toolMetadata:xo.optional(),dynamic:P().optional(),errorText:A(),title:A().optional()}),I({type:F(`tool-approval-request`),approvalId:A(),toolCallId:A(),isAutomatic:P().optional(),signature:A().optional()}),I({type:F(`tool-approval-response`),approvalId:A(),approved:P(),reason:A().optional(),providerExecuted:P().optional(),providerMetadata:Y.optional()}),I({type:F(`tool-output-available`),toolCallId:A(),output:N(),providerExecuted:P().optional(),providerMetadata:Y.optional(),toolMetadata:xo.optional(),dynamic:P().optional(),preliminary:P().optional()}),I({type:F(`tool-output-error`),toolCallId:A(),errorText:A(),providerExecuted:P().optional(),providerMetadata:Y.optional(),toolMetadata:xo.optional(),dynamic:P().optional()}),I({type:F(`tool-output-denied`),toolCallId:A()}),I({type:F(`reasoning-start`),id:A(),providerMetadata:Y.optional()}),I({type:F(`reasoning-delta`),id:A(),delta:A(),providerMetadata:Y.optional()}),I({type:F(`reasoning-end`),id:A(),providerMetadata:Y.optional()}),I({type:F(`custom`),kind:A().transform(e=>e),providerMetadata:Y.optional()}),I({type:F(`source-url`),sourceId:A(),url:A(),title:A().optional(),providerMetadata:Y.optional()}),I({type:F(`source-document`),sourceId:A(),mediaType:A(),title:A(),filename:A().optional(),providerMetadata:Y.optional()}),I({type:F(`file`),url:A(),mediaType:A(),providerMetadata:Y.optional()}),I({type:F(`reasoning-file`),url:A(),mediaType:A(),providerMetadata:Y.optional()}),I({type:se(e=>typeof e==`string`&&e.startsWith(`data-`),{message:`Type must start with "data-"`}),id:A().optional(),data:N(),transient:P().optional()}),I({type:F(`start-step`)}),I({type:F(`finish-step`)}),I({type:F(`start`),messageId:A().optional(),messageMetadata:N().optional()}),I({type:F(`finish`),finishReason:me([`stop`,`length`,`content-filter`,`tool-calls`,`error`,`other`]).optional(),messageMetadata:N().optional()}),I({type:F(`abort`),reason:A().optional()}),I({type:F(`message-metadata`),messageMetadata:N()})])));function Co(e){return e.type.startsWith(`data-`)}function wo(){return Object.create(null)}function To(e){return e.type.startsWith(`tool-`)}function Eo(e){return e.type===`dynamic-tool`}function Do(e){return To(e)||Eo(e)}function Oo(e){return e.type.split(`-`).slice(1).join(`-`)}function ko({lastMessage:e,messageId:t}){return{message:e?.role===`assistant`?e:{id:t,metadata:void 0,role:`assistant`,parts:[]},activeTextParts:wo(),activeReasoningParts:wo(),partialToolCalls:wo()}}function Ao({stream:e,messageMetadataSchema:t,dataPartSchemas:n,runUpdateMessageJob:r,onError:i,onToolCall:a,onData:o}){return e.pipeThrough(new TransformStream({async transform(e,s){await r(async({state:r,write:c})=>{function l(){let e=r.message.parts,t=e.length-1;for(;t>=0&&e[t].type!==`step-start`;)t--;return e.slice(t+1)}function u(){return l().filter(Do)}function d(e){let t=u().find(t=>t.toolCallId===e);if(t==null){let n=r.message.parts;for(let r=n.length-1;r>=0;r--){let i=n[r];if(Do(i)&&i.toolCallId===e){t=i;break}}}if(t==null)throw new za({chunkType:`tool-invocation`,chunkId:e,message:`No tool invocation found for tool call ID "${e}".`});return t}function f(e){let t=r.message.parts.filter(Do).find(t=>t.approval?.id===e);if(t==null)throw new za({chunkType:`tool-approval-response`,chunkId:e,message:`No tool invocation found for approval ID "${e}".`});return t}function p(e,t){let n=t??l().find(t=>To(t)&&t.toolCallId===e.toolCallId),i=e,a=n;if(n!=null){n.state=e.state,a.input=i.input,a.output=i.output,a.errorText=i.errorText,a.rawInput=i.rawInput,a.preliminary=i.preliminary,e.title!==void 0&&(a.title=e.title),e.toolMetadata!==void 0&&(a.toolMetadata=e.toolMetadata),a.providerExecuted=i.providerExecuted??n.providerExecuted;let t=i.providerMetadata;if(t!=null){if(e.state===`output-available`||e.state===`output-error`){let e=n;e.resultProviderMetadata=t}else n.callProviderMetadata=t}}else r.message.parts.push({type:`tool-${e.toolName}`,toolCallId:e.toolCallId,state:e.state,title:e.title,...e.toolMetadata===void 0?{}:{toolMetadata:e.toolMetadata},input:i.input,output:i.output,rawInput:i.rawInput,errorText:i.errorText,providerExecuted:i.providerExecuted,preliminary:i.preliminary,...i.providerMetadata!=null&&(e.state===`output-available`||e.state===`output-error`)?{resultProviderMetadata:i.providerMetadata}:{},...i.providerMetadata!=null&&e.state!==`output-available`&&e.state!==`output-error`?{callProviderMetadata:i.providerMetadata}:{}})}function m(e,t){let n=t??l().find(t=>t.type===`dynamic-tool`&&t.toolCallId===e.toolCallId),i=e,a=n;if(n!=null){n.state=e.state,a.toolName=e.toolName,a.input=i.input,a.output=i.output,a.errorText=i.errorText,a.rawInput=i.rawInput??a.rawInput,a.preliminary=i.preliminary,e.title!==void 0&&(a.title=e.title),e.toolMetadata!==void 0&&(a.toolMetadata=e.toolMetadata),a.providerExecuted=i.providerExecuted??n.providerExecuted;let t=i.providerMetadata;if(t!=null){if(e.state===`output-available`||e.state===`output-error`){let e=n;e.resultProviderMetadata=t}else n.callProviderMetadata=t}}else r.message.parts.push({type:`dynamic-tool`,toolName:e.toolName,toolCallId:e.toolCallId,state:e.state,input:i.input,output:i.output,errorText:i.errorText,preliminary:i.preliminary,providerExecuted:i.providerExecuted,title:e.title,...e.toolMetadata===void 0?{}:{toolMetadata:e.toolMetadata},...i.providerMetadata!=null&&(e.state===`output-available`||e.state===`output-error`)?{resultProviderMetadata:i.providerMetadata}:{},...i.providerMetadata!=null&&e.state!==`output-available`&&e.state!==`output-error`?{callProviderMetadata:i.providerMetadata}:{}})}async function h(e){if(e!=null){let n=r.message.metadata==null?e:Va(r.message.metadata,e);t!=null&&await va({value:n,schema:t,context:{field:`message.metadata`,entityId:r.message.id}}),r.message.metadata=n}}switch(e.type){case`text-start`:{let t={type:`text`,text:``,providerMetadata:e.providerMetadata,state:`streaming`};r.activeTextParts[e.id]=t,r.message.parts.push(t),c();break}case`text-delta`:{let t=r.activeTextParts[e.id];if(t==null)throw new za({chunkType:`text-delta`,chunkId:e.id,message:`Received text-delta for missing text part with ID "${e.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});t.text+=e.delta,t.providerMetadata=e.providerMetadata??t.providerMetadata,c();break}case`text-end`:{let t=r.activeTextParts[e.id];if(t==null)throw new za({chunkType:`text-end`,chunkId:e.id,message:`Received text-end for missing text part with ID "${e.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});t.state=`done`,t.providerMetadata=e.providerMetadata??t.providerMetadata,delete r.activeTextParts[e.id],c();break}case`custom`:{let t={type:`custom`,kind:e.kind,providerMetadata:e.providerMetadata};r.message.parts.push(t),c();break}case`reasoning-start`:{let t={type:`reasoning`,text:``,providerMetadata:e.providerMetadata,state:`streaming`};r.activeReasoningParts[e.id]=t,r.message.parts.push(t),c();break}case`reasoning-delta`:{let t=r.activeReasoningParts[e.id];if(t==null)throw new za({chunkType:`reasoning-delta`,chunkId:e.id,message:`Received reasoning-delta for missing reasoning part with ID "${e.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});t.text+=e.delta,t.providerMetadata=e.providerMetadata??t.providerMetadata,c();break}case`reasoning-end`:{let t=r.activeReasoningParts[e.id];if(t==null)throw new za({chunkType:`reasoning-end`,chunkId:e.id,message:`Received reasoning-end for missing reasoning part with ID "${e.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});t.providerMetadata=e.providerMetadata??t.providerMetadata,t.state=`done`,delete r.activeReasoningParts[e.id],c();break}case`file`:case`reasoning-file`:r.message.parts.push({type:e.type,mediaType:e.mediaType,url:e.url,...e.providerMetadata==null?{}:{providerMetadata:e.providerMetadata}}),c();break;case`source-url`:r.message.parts.push({type:`source-url`,sourceId:e.sourceId,url:e.url,title:e.title,providerMetadata:e.providerMetadata}),c();break;case`source-document`:r.message.parts.push({type:`source-document`,sourceId:e.sourceId,mediaType:e.mediaType,title:e.title,filename:e.filename,providerMetadata:e.providerMetadata}),c();break;case`tool-input-start`:{let t=l().filter(To);r.partialToolCalls[e.toolCallId]={text:``,toolName:e.toolName,index:t.length,dynamic:e.dynamic,title:e.title,toolMetadata:e.toolMetadata},e.dynamic?m({toolCallId:e.toolCallId,toolName:e.toolName,state:`input-streaming`,input:void 0,providerExecuted:e.providerExecuted,title:e.title,toolMetadata:e.toolMetadata,providerMetadata:e.providerMetadata}):p({toolCallId:e.toolCallId,toolName:e.toolName,state:`input-streaming`,input:void 0,providerExecuted:e.providerExecuted,title:e.title,toolMetadata:e.toolMetadata,providerMetadata:e.providerMetadata}),c();break}case`tool-input-delta`:{let t=r.partialToolCalls[e.toolCallId];if(t==null)throw new za({chunkType:`tool-input-delta`,chunkId:e.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${e.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});t.text+=e.inputTextDelta;let{value:n}=await uo(t.text);t.dynamic?m({toolCallId:e.toolCallId,toolName:t.toolName,state:`input-streaming`,input:n,title:t.title,toolMetadata:t.toolMetadata}):p({toolCallId:e.toolCallId,toolName:t.toolName,state:`input-streaming`,input:n,title:t.title,toolMetadata:t.toolMetadata}),c();break}case`tool-input-available`:e.dynamic?m({toolCallId:e.toolCallId,toolName:e.toolName,state:`input-available`,input:e.input,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:e.title,toolMetadata:e.toolMetadata}):p({toolCallId:e.toolCallId,toolName:e.toolName,state:`input-available`,input:e.input,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:e.title,toolMetadata:e.toolMetadata}),c(),a&&!e.providerExecuted&&await a({toolCall:e});break;case`tool-input-error`:{let t=l().filter(Do).find(t=>t.toolCallId===e.toolCallId);(t==null?e.dynamic:t.type===`dynamic-tool`)?m({toolCallId:e.toolCallId,toolName:e.toolName,state:`output-error`,input:e.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,toolMetadata:e.toolMetadata}):p({toolCallId:e.toolCallId,toolName:e.toolName,state:`output-error`,input:void 0,rawInput:e.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,toolMetadata:e.toolMetadata}),c();break}case`tool-approval-request`:{let t=d(e.toolCallId);t.state=`approval-requested`,t.approval={id:e.approvalId,...e.isAutomatic===!0?{isAutomatic:!0}:{},...e.signature==null?{}:{signature:e.signature}},c();break}case`tool-approval-response`:{let t=f(e.approvalId),n=t.approval==null?{id:e.approvalId}:t.approval;t.state=`approval-responded`,t.approval={id:e.approvalId,approved:e.approved,...e.reason==null?{}:{reason:e.reason},...n.isAutomatic===!0?{isAutomatic:!0}:{},...n.signature==null?{}:{signature:n.signature}},e.providerExecuted!=null&&(t.providerExecuted=e.providerExecuted),e.providerMetadata!=null&&(t.callProviderMetadata=e.providerMetadata),c();break}case`tool-output-denied`:{let t=d(e.toolCallId);t.state=`output-denied`,c();break}case`tool-output-available`:{let t=d(e.toolCallId);t.type===`dynamic-tool`?m({toolCallId:e.toolCallId,toolName:t.toolName,state:`output-available`,input:t.input,output:e.output,preliminary:e.preliminary,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t):p({toolCallId:e.toolCallId,toolName:Oo(t),state:`output-available`,input:t.input,output:e.output,providerExecuted:e.providerExecuted,preliminary:e.preliminary,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t),c();break}case`tool-output-error`:{let t=d(e.toolCallId);t.type===`dynamic-tool`?m({toolCallId:e.toolCallId,toolName:t.toolName,state:`output-error`,input:t.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t):p({toolCallId:e.toolCallId,toolName:Oo(t),state:`output-error`,input:t.input,rawInput:t.rawInput,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t),c();break}case`start-step`:r.message.parts.push({type:`step-start`});break;case`finish-step`:r.activeTextParts=wo(),r.activeReasoningParts=wo();break;case`start`:e.messageId!=null&&(r.message.id=e.messageId),await h(e.messageMetadata),(e.messageId!=null||e.messageMetadata!=null)&&c();break;case`finish`:e.finishReason!=null&&(r.finishReason=e.finishReason),await h(e.messageMetadata),e.messageMetadata!=null&&c();break;case`message-metadata`:await h(e.messageMetadata),e.messageMetadata!=null&&c();break;case`error`:i?.(Error(e.errorText));break;default:if(Co(e)){if(n?.[e.type]!=null){let t=r.message.parts.findIndex(t=>`id`in t&&`data`in t&&t.id===e.id&&t.type===e.type),i=t>=0?t:r.message.parts.length;await va({value:e.data,schema:n[e.type],context:{field:`message.parts[${i}].data`,entityName:e.type,entityId:e.id}})}let t=e;if(t.transient){o?.(t);break}let i=t.id==null?void 0:r.message.parts.find(e=>t.type===e.type&&t.id===e.id);i==null?r.message.parts.push(t):i.data=t.data,o?.(t),c()}}s.enqueue(e)})}}))}async function jo({stream:e,onError:t}){let n=e.getReader();try{for(;;){let{done:e}=await n.read();if(e)break}}catch(e){t?.(e)}finally{n.releaseLock()}}Yr({prefix:`aitxt`,size:24}),Yr({prefix:`call`,size:24}),Yr({prefix:`aitxt`,size:24}),Yr({prefix:`call`,size:24});var Mo=de(A(),Ha.optional()),No=de(A(),A()),Po=ca(()=>_a(M(k({id:A(),role:me([`system`,`user`,`assistant`]),metadata:N().optional(),parts:M(j([k({type:F(`text`),text:A(),state:me([`streaming`,`done`]).optional(),providerMetadata:Y.optional()}),k({type:F(`reasoning`),text:A(),state:me([`streaming`,`done`]).optional(),providerMetadata:Y.optional()}),k({type:F(`custom`),kind:A(),providerMetadata:Y.optional()}),k({type:F(`source-url`),sourceId:A(),url:A(),title:A().optional(),providerMetadata:Y.optional()}),k({type:F(`source-document`),sourceId:A(),mediaType:A(),title:A(),filename:A().optional(),providerMetadata:Y.optional()}),k({type:F(`file`),mediaType:A(),filename:A().optional(),url:A(),providerReference:No.optional(),providerMetadata:Y.optional()}),k({type:F(`reasoning-file`),mediaType:A(),url:A(),providerMetadata:Y.optional()}),k({type:F(`step-start`)}),k({type:A().startsWith(`data-`),id:A().optional(),data:N()}),k({type:F(`dynamic-tool`),toolName:A(),toolCallId:A(),toolMetadata:Mo.optional(),state:F(`input-streaming`),input:N().optional(),providerExecuted:P().optional(),callProviderMetadata:Y.optional(),output:L().optional(),errorText:L().optional(),approval:L().optional()}),k({type:F(`dynamic-tool`),toolName:A(),toolCallId:A(),toolMetadata:Mo.optional(),state:F(`input-available`),input:N(),providerExecuted:P().optional(),output:L().optional(),errorText:L().optional(),callProviderMetadata:Y.optional(),approval:L().optional()}),k({type:F(`dynamic-tool`),toolName:A(),toolCallId:A(),toolMetadata:Mo.optional(),state:F(`approval-requested`),input:N(),providerExecuted:P().optional(),output:L().optional(),errorText:L().optional(),callProviderMetadata:Y.optional(),approval:k({id:A(),approved:L().optional(),reason:L().optional(),isAutomatic:P().optional(),signature:A().optional()})}),k({type:F(`dynamic-tool`),toolName:A(),toolCallId:A(),toolMetadata:Mo.optional(),state:F(`approval-responded`),input:N(),providerExecuted:P().optional(),output:L().optional(),errorText:L().optional(),callProviderMetadata:Y.optional(),approval:k({id:A(),approved:P(),reason:A().optional(),isAutomatic:P().optional(),signature:A().optional()})}),k({type:F(`dynamic-tool`),toolName:A(),toolCallId:A(),toolMetadata:Mo.optional(),state:F(`output-available`),input:N(),providerExecuted:P().optional(),output:N(),errorText:L().optional(),callProviderMetadata:Y.optional(),resultProviderMetadata:Y.optional(),preliminary:P().optional(),approval:k({id:A(),approved:F(!0),reason:A().optional(),isAutomatic:P().optional(),signature:A().optional()}).optional()}),k({type:F(`dynamic-tool`),toolName:A(),toolCallId:A(),toolMetadata:Mo.optional(),state:F(`output-error`),input:N().optional(),rawInput:N().optional(),providerExecuted:P().optional(),output:L().optional(),errorText:A(),callProviderMetadata:Y.optional(),resultProviderMetadata:Y.optional(),approval:k({id:A(),approved:F(!0),reason:A().optional(),isAutomatic:P().optional(),signature:A().optional()}).optional()}),k({type:F(`dynamic-tool`),toolName:A(),toolCallId:A(),toolMetadata:Mo.optional(),state:F(`output-denied`),input:N(),providerExecuted:P().optional(),output:L().optional(),errorText:L().optional(),callProviderMetadata:Y.optional(),approval:k({id:A(),approved:F(!1),reason:A().optional(),isAutomatic:P().optional(),signature:A().optional()})}),k({type:A().startsWith(`tool-`),toolCallId:A(),toolMetadata:Mo.optional(),state:F(`input-streaming`),providerExecuted:P().optional(),callProviderMetadata:Y.optional(),input:N().optional(),output:L().optional(),errorText:L().optional(),approval:L().optional()}),k({type:A().startsWith(`tool-`),toolCallId:A(),toolMetadata:Mo.optional(),state:F(`input-available`),providerExecuted:P().optional(),input:N(),output:L().optional(),errorText:L().optional(),callProviderMetadata:Y.optional(),approval:L().optional()}),k({type:A().startsWith(`tool-`),toolCallId:A(),toolMetadata:Mo.optional(),state:F(`approval-requested`),input:N(),providerExecuted:P().optional(),output:L().optional(),errorText:L().optional(),callProviderMetadata:Y.optional(),approval:k({id:A(),approved:L().optional(),reason:L().optional(),isAutomatic:P().optional(),signature:A().optional()})}),k({type:A().startsWith(`tool-`),toolCallId:A(),toolMetadata:Mo.optional(),state:F(`approval-responded`),input:N(),providerExecuted:P().optional(),output:L().optional(),errorText:L().optional(),callProviderMetadata:Y.optional(),approval:k({id:A(),approved:P(),reason:A().optional(),isAutomatic:P().optional(),signature:A().optional()})}),k({type:A().startsWith(`tool-`),toolCallId:A(),toolMetadata:Mo.optional(),state:F(`output-available`),providerExecuted:P().optional(),input:N(),output:N(),errorText:L().optional(),callProviderMetadata:Y.optional(),resultProviderMetadata:Y.optional(),preliminary:P().optional(),approval:k({id:A(),approved:F(!0),reason:A().optional(),isAutomatic:P().optional(),signature:A().optional()}).optional()}),k({type:A().startsWith(`tool-`),toolCallId:A(),toolMetadata:Mo.optional(),state:F(`output-error`),providerExecuted:P().optional(),input:N().optional(),rawInput:N().optional(),output:L().optional(),errorText:A(),callProviderMetadata:Y.optional(),resultProviderMetadata:Y.optional(),approval:k({id:A(),approved:F(!0),reason:A().optional(),isAutomatic:P().optional(),signature:A().optional()}).optional()}),k({type:A().startsWith(`tool-`),toolCallId:A(),toolMetadata:Mo.optional(),state:F(`output-denied`),providerExecuted:P().optional(),input:N(),output:L().optional(),errorText:L().optional(),callProviderMetadata:Y.optional(),approval:k({id:A(),approved:F(!1),reason:A().optional(),isAutomatic:P().optional(),signature:A().optional()})})]))}).superRefine((e,t)=>{e.role!==`assistant`&&e.parts.length===0&&t.addIssue({origin:`array`,code:`too_small`,minimum:1,inclusive:!0,input:e.parts,path:[`parts`],message:`Message must contain at least one part`})})).nonempty(`Messages array must not be empty`)));async function Fo({messages:e,metadataSchema:t,dataSchemas:n,tools:r}){try{if(e==null)return{success:!1,error:new ka({parameter:`messages`,value:e,message:`messages parameter must be provided`})};let i=await va({value:e,schema:Po});if(t)for(let[e,n]of i.entries())await va({value:n.metadata,schema:t,context:{field:`messages[${e}].metadata`,entityId:n.id}});if(n||r)for(let[e,t]of i.entries())for(let[i,a]of t.parts.entries()){if(n&&a.type.startsWith(`data-`)){let t=a,r=t.type.slice(5),o=n[r];if(!o)return{success:!1,error:new un({value:t.data,cause:`No data schema found for data part ${r}`,context:{field:`messages[${e}].parts[${i}].data`,entityName:r,entityId:t.id}})};await va({value:t.data,schema:o,context:{field:`messages[${e}].parts[${i}].data`,entityName:r,entityId:t.id}})}if(r&&a.type.startsWith(`tool-`)){let t=a,n=t.type.slice(5),o=co(r,n);if(!o&&(t.state===`output-available`||t.state===`output-error`||t.state===`output-denied`))continue;if(!o)return{success:!1,error:new un({value:t.input,cause:`No tool schema found for tool part ${n}`,context:{field:`messages[${e}].parts[${i}].input`,entityName:n,entityId:t.toolCallId}})};(t.state===`input-available`||t.state===`output-available`)&&await va({value:t.input,schema:o.inputSchema,context:{field:`messages[${e}].parts[${i}].input`,entityName:n,entityId:t.toolCallId}}),t.state===`output-available`&&o.outputSchema&&await va({value:t.output,schema:o.outputSchema,context:{field:`messages[${e}].parts[${i}].output`,entityName:n,entityId:t.toolCallId}})}}return{success:!0,data:i}}catch(e){return{success:!1,error:e}}}Yr({prefix:`call`,size:24}),Yr({prefix:`call`,size:24}),Yr({prefix:`aiobj`,size:24});var Io=class{constructor(){this.queue=[],this.isProcessing=!1}async processQueue(){if(!this.isProcessing){for(this.isProcessing=!0;this.queue.length>0;)await this.queue[0](),this.queue.shift();this.isProcessing=!1}}async run(e){return new Promise((t,n)=>{this.queue.push(async()=>{try{await e(),t()}catch(e){n(e)}}),this.processQueue()})}};Yr({prefix:`aiobj`,size:24}),Yr({prefix:`call`,size:24});async function Lo({stream:e,onTextPart:t}){let n=e.pipeThrough(new TextDecoderStream).getReader();for(;;){let{done:e,value:r}=await n.read();if(e)break;await t(r)}}var Ro=()=>fetch;async function zo({api:e,prompt:t,credentials:n,headers:r,body:i,streamProtocol:a=`data`,setCompletion:o,setLoading:s,setError:c,setAbortController:l,onFinish:u,onError:d,fetch:f=Ro()}){try{s(!0),c(void 0);let d=new AbortController;l(d),o(``);let p=await f(e,{method:`POST`,body:JSON.stringify({prompt:t,...i}),credentials:n,headers:$r({"Content-Type":`application/json`,...r},`ai-sdk/${Ba}`,Zr()),signal:d.signal}).catch(e=>{throw e});if(!p.ok)throw Error(await p.text()??`Failed to fetch the chat response.`);if(!p.body)throw Error(`The response body is empty.`);let m=``;switch(a){case`text`:await Lo({stream:p.body,onTextPart:e=>{m+=e,o(m)}});break;case`data`:await jo({stream:xa({stream:p.body,schema:So}).pipeThrough(new TransformStream({async transform(e){if(!e.success)throw e.error;let t=e.value;if(t.type===`text-delta`)m+=t.delta,o(m);else if(t.type===`error`)throw Error(t.errorText)}})),onError:e=>{throw e}});break;default:throw Error(`Unknown stream protocol: ${a}`)}return u&&u(t,m),l(null),m}catch(e){if(e.name===`AbortError`)return l(null),null;e instanceof Error&&d&&d(e),c(e)}finally{s(!1)}}async function Bo(e){if(e==null)return[];if(!globalThis.FileList||!(e instanceof globalThis.FileList))throw Error(`FileList is not supported in the current environment`);return Promise.all(Array.from(e).map(async e=>{let{name:t,type:n}=e;return{type:`file`,mediaType:n,filename:t,url:await new Promise((t,n)=>{let r=new FileReader;r.onload=e=>{t(e.target?.result)},r.onerror=e=>n(e),r.readAsDataURL(e)})}}))}var Vo=class{constructor({api:e=`/api/chat`,credentials:t,headers:n,body:r,fetch:i,prepareSendMessagesRequest:a,prepareReconnectToStreamRequest:o}){this.api=e,this.credentials=t,this.headers=n,this.body=r,this.fetch=i,this.prepareSendMessagesRequest=a,this.prepareReconnectToStreamRequest=o}async sendMessages({abortSignal:e,...t}){let n=await Sa(this.body),r=await Sa(this.headers),i=await Sa(this.credentials),a={...Qr(r),...Qr(t.headers)},o=await this.prepareSendMessagesRequest?.call(this,{api:this.api,id:t.chatId,messages:t.messages,body:{...n,...t.body},headers:a,credentials:i,requestMetadata:t.metadata,trigger:t.trigger,messageId:t.messageId}),s=o?.api??this.api,c=o?.headers===void 0?a:Qr(o.headers),l=o?.body===void 0?{...n,...t.body,id:t.chatId,messages:t.messages,trigger:t.trigger,messageId:t.messageId}:o.body,u=o?.credentials??i,d=await(this.fetch??globalThis.fetch)(s,{method:`POST`,headers:{"Content-Type":`application/json`,...c},body:JSON.stringify(l),credentials:u,signal:e});if(!d.ok)throw Error(await d.text()??`Failed to fetch the chat response.`);if(!d.body)throw Error(`The response body is empty.`);return this.processResponseStream(d.body)}async reconnectToStream(e){let t=await Sa(this.body),n=await Sa(this.headers),r=await Sa(this.credentials),i={...Qr(n),...Qr(e.headers)},a=await this.prepareReconnectToStreamRequest?.call(this,{api:this.api,id:e.chatId,body:{...t,...e.body},headers:i,credentials:r,requestMetadata:e.metadata}),o=a?.api??`${this.api}/${e.chatId}/stream`,s=a?.headers===void 0?i:Qr(a.headers),c=a?.credentials??r,l=await(this.fetch??globalThis.fetch)(o,{method:`GET`,headers:s,credentials:c});if(l.status===204)return null;if(!l.ok)throw Error(await l.text()??`Failed to fetch the chat response.`);if(!l.body)throw Error(`The response body is empty.`);return this.processResponseStream(l.body)}},Ho=class extends Vo{constructor(e={}){super(e)}processResponseStream(e){return xa({stream:e,schema:So}).pipeThrough(new TransformStream({async transform(e,t){if(!e.success)throw e.error;t.enqueue(e.value)}}))}},Uo=class{constructor({generateId:e=Xr,id:t=e(),transport:n=new Ho,messageMetadataSchema:r,dataPartSchemas:i,state:a,onError:o,onToolCall:s,onFinish:c,onData:l,sendAutomaticallyWhen:u}){this.activeResponse=void 0,this.jobExecutor=new Io,this.sendMessage=async(e,t)=>{if(e==null){await this.makeRequest({trigger:`submit-message`,messageId:this.lastMessage?.id,...t});return}let n;if(n=`text`in e||`files`in e?{parts:[...Array.isArray(e.files)?e.files:await Bo(e.files),...`text`in e&&e.text!=null?[{type:`text`,text:e.text}]:[]]}:e,e.messageId!=null){let t=this.state.messages.findIndex(t=>t.id===e.messageId);if(t===-1)throw Error(`message with id ${e.messageId} not found`);if(this.state.messages[t].role!==`user`)throw Error(`message with id ${e.messageId} is not a user message`);this.state.messages=this.state.messages.slice(0,t+1),this.state.replaceMessage(t,{...n,id:e.messageId,role:n.role??`user`,metadata:e.metadata})}else this.state.pushMessage({...n,id:n.id??this.generateId(),role:n.role??`user`,metadata:e.metadata});await this.makeRequest({trigger:`submit-message`,messageId:e.messageId,...t})},this.regenerate=async({messageId:e,...t}={})=>{let n=e==null?this.state.messages.length-1:this.state.messages.findIndex(t=>t.id===e);if(n===-1)throw Error(`message ${e} not found`);this.state.messages=this.state.messages.slice(0,this.messages[n].role===`assistant`?n:n+1),await this.makeRequest({trigger:`regenerate-message`,messageId:e,...t})},this.resumeStream=async(e={})=>{await this.makeRequest({trigger:`resume-stream`,...e})},this.clearError=()=>{this.status===`error`&&(this.state.error=void 0,this.setStatus({status:`ready`}))},this.addToolApprovalResponse=async({id:e,approved:t,reason:n,options:r})=>this.jobExecutor.run(async()=>{let i=this.state.messages,a=i[i.length-1],o=r=>Do(r)&&r.state===`approval-requested`&&r.approval.id===e?{...r,state:`approval-responded`,approval:{...r.approval,id:e,approved:t,reason:n}}:r;this.state.replaceMessage(i.length-1,{...a,parts:a.parts.map(o)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(o)),this.status!==`streaming`&&this.status!==`submitted`&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(e=>{e&&this.makeRequest({trigger:`submit-message`,messageId:this.lastMessage?.id,...r})})}),this.addToolOutput=async({state:e=`output-available`,toolCallId:t,output:n,errorText:r,options:i})=>this.jobExecutor.run(async()=>{let a=this.state.messages,o=a[a.length-1],s=i=>Do(i)&&i.toolCallId===t?{...i,state:e,output:n,errorText:r}:i;this.state.replaceMessage(a.length-1,{...o,parts:o.parts.map(s)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(s)),this.status!==`streaming`&&this.status!==`submitted`&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(e=>{e&&this.makeRequest({trigger:`submit-message`,messageId:this.lastMessage?.id,...i})})}),this.addToolResult=this.addToolOutput,this.stop=async()=>{(this.status===`streaming`||this.status===`submitted`)&&this.activeResponse?.abortController&&this.activeResponse.abortController.abort()},this.id=t,this.transport=n,this.generateId=e,this.messageMetadataSchema=r,this.dataPartSchemas=i,this.state=a,this.onError=o,this.onToolCall=s,this.onFinish=c,this.onData=l,this.sendAutomaticallyWhen=u}get status(){return this.state.status}setStatus({status:e,error:t}){this.status!==e&&(this.state.status=e,this.state.error=t)}get error(){return this.state.error}get messages(){return this.state.messages}get lastMessage(){return this.state.messages[this.state.messages.length-1]}set messages(e){this.state.messages=e}async shouldSendAutomatically(){if(!this.sendAutomaticallyWhen)return!1;let e=this.sendAutomaticallyWhen({messages:this.state.messages});return e&&typeof e==`object`&&`then`in e?await e:e}async makeRequest({trigger:e,metadata:t,headers:n,body:r,messageId:i}){var a;let o;if(e===`resume-stream`)try{let e=await this.transport.reconnectToStream({chatId:this.id,metadata:t,headers:n,body:r});if(e==null)return;o=e}catch(e){this.onError&&e instanceof Error&&this.onError(e),this.setStatus({status:`error`,error:e});return}this.setStatus({status:`submitted`,error:void 0});let s=this.lastMessage,c=!1,l=!1,u=!1,d;try{let a={state:ko({lastMessage:this.state.snapshot(s),messageId:this.generateId()}),abortController:new AbortController};d=a,a.abortController.signal.addEventListener(`abort`,()=>{c=!0}),this.activeResponse=a;let l;l=e===`resume-stream`?o:await this.transport.sendMessages({chatId:this.id,messages:this.state.messages,abortSignal:a.abortController.signal,metadata:t,headers:n,body:r,trigger:e,messageId:i}),await jo({stream:Ao({stream:l,onToolCall:this.onToolCall,onData:this.onData,messageMetadataSchema:this.messageMetadataSchema,dataPartSchemas:this.dataPartSchemas,runUpdateMessageJob:e=>this.jobExecutor.run(()=>e({state:a.state,write:()=>{this.setStatus({status:`streaming`}),a.state.message.id===this.lastMessage?.id?this.state.replaceMessage(this.state.messages.length-1,a.state.message):this.state.pushMessage(a.state.message)}})),onError:e=>{throw e}}),onError:e=>{throw e}}),this.setStatus({status:`ready`})}catch(e){if(c||e.name===`AbortError`)return c=!0,this.setStatus({status:`ready`}),null;u=!0,e instanceof TypeError&&(e.message.toLowerCase().includes(`fetch`)||e.message.toLowerCase().includes(`network`))&&(l=!0),this.onError&&e instanceof Error&&this.onError(e),this.setStatus({status:`error`,error:e})}finally{try{d&&((a=this.onFinish)==null||a.call(this,{message:d.state.message,messages:this.state.messages,isAbort:c,isDisconnect:l,isError:u,finishReason:d.state.finishReason}))}catch(e){console.error(e)}this.activeResponse===d&&(this.activeResponse=void 0)}!u&&await this.shouldSendAutomatically()&&await this.makeRequest({trigger:`submit-message`,messageId:this.lastMessage?.id,metadata:t,headers:n,body:r})}};function Wo({messages:e}){let t=e[e.length-1];if(!t||t.role!==`assistant`)return!1;let n=t.parts.reduce((e,t,n)=>t.type===`step-start`?n:e,-1),r=t.parts.slice(n+1).filter(Do);return r.filter(e=>e.state===`approval-responded`).length>0&&r.every(e=>e.state===`output-available`||e.state===`output-error`||e.state===`approval-responded`)}function Go({messages:e}){let t=e[e.length-1];if(!t||t.role!==`assistant`)return!1;let n=t.parts.reduce((e,t,n)=>t.type===`step-start`?n:e,-1),r=t.parts.slice(n+1).filter(Do).filter(e=>!e.providerExecuted);return r.length>0&&r.every(e=>e.state===`output-available`||e.state===`output-error`)}var X=e(c(),1),Ko=Te(),qo=Object.prototype.hasOwnProperty;function Jo(e,t){var n,r;if(e===t)return!0;if(e&&t&&(n=e.constructor)===t.constructor){if(n===Date)return e.getTime()===t.getTime();if(n===RegExp)return e.toString()===t.toString();if(n===Array){if((r=e.length)===t.length)for(;r--&&Jo(e[r],t[r]););return r===-1}if(!n||typeof e==`object`){for(n in r=0,e)if(qo.call(e,n)&&++r&&!qo.call(t,n)||!(n in t)||!Jo(e[n],t[n]))return!1;return Object.keys(t).length===r}}return e!==e&&t!==t}var Yo=new WeakMap,Xo=()=>{},Zo=Object,Z=e=>e===void 0,Qo=e=>typeof e==`function`,$o=(e,t)=>({...e,...t}),es=e=>Qo(e.then),ts={},ns={},rs=`undefined`,is=typeof window!=rs,as=typeof document!=rs,os=is&&`Deno`in window,ss=()=>is&&typeof window.requestAnimationFrame!=rs,cs=(e,t)=>{let n=Yo.get(e);return[()=>!Z(t)&&e.get(t)||ts,r=>{if(!Z(t)){let i=e.get(t);t in ns||(ns[t]=i),n[5](t,$o(i,r),i||ts)}},n[6],()=>!Z(t)&&t in ns?ns[t]:!Z(t)&&e.get(t)||ts]},ls=!0,us=()=>ls,[ds,fs]=is&&window.addEventListener?[window.addEventListener.bind(window),window.removeEventListener.bind(window)]:[Xo,Xo],ps=()=>{let e=as&&document.visibilityState;return Z(e)||e!==`hidden`},ms=e=>(as&&document.addEventListener(`visibilitychange`,e),ds(`focus`,e),()=>{as&&document.removeEventListener(`visibilitychange`,e),fs(`focus`,e)}),hs=e=>{let t=()=>{ls=!0,e()},n=()=>{ls=!1};return ds(`online`,t),ds(`offline`,n),()=>{fs(`online`,t),fs(`offline`,n)}},gs={isOnline:us,isVisible:ps},_s={initFocus:ms,initReconnect:hs},vs=!X.useId,ys=!is||os,bs=e=>ss()?window.requestAnimationFrame(e):setTimeout(e,1),xs=ys?X.useEffect:X.useLayoutEffect,Ss=typeof navigator<`u`&&navigator.connection,Cs=!ys&&Ss&&([`slow-2g`,`2g`].includes(Ss.effectiveType)||Ss.saveData),ws=new WeakMap,Ts=e=>Zo.prototype.toString.call(e),Es=(e,t)=>e===`[object ${t}]`,Ds=0,Os=e=>{let t=typeof e,n=Ts(e),r=Es(n,`Date`),i=Es(n,`RegExp`),a=Es(n,`Object`),o,s;if(Zo(e)===e&&!r&&!i){if(o=ws.get(e),o)return o;if(o=++Ds+`~`,ws.set(e,o),Array.isArray(e)){for(o=`@`,s=0;s<e.length;s++)o+=Os(e[s])+`,`;ws.set(e,o)}if(a){o=`#`;let t=Zo.keys(e).sort();for(;!Z(s=t.pop());)Z(e[s])||(o+=s+`:`+Os(e[s])+`,`);ws.set(e,o)}}else o=r?e.toJSON():t==`symbol`?e.toString():t==`string`?JSON.stringify(e):``+e;return o},ks=e=>{if(Qo(e))try{e=e()}catch{e=``}let t=e;return e=typeof e==`string`?e:(Array.isArray(e)?e.length:e)?Os(e):``,[e,t]},As=0,js=()=>++As;async function Ms(...e){let[t,n,r,i]=e,a=$o({populateCache:!0,throwOnError:!0},typeof i==`boolean`?{revalidate:i}:i||{}),o=a.populateCache,s=a.rollbackOnError,c=a.optimisticData,l=e=>typeof s==`function`?s(e):s!==!1,u=a.throwOnError;if(Qo(n)){let e=n,r=[],i=t.keys();for(let n of i)!/^\$(inf|sub)\$/.test(n)&&e(t.get(n)._k)&&r.push(n);return Promise.all(r.map(d))}return d(n);async function d(n){let[i]=ks(n);if(!i)return;let[s,d]=cs(t,i),[f,p,m,h]=Yo.get(t),g=()=>{let e=f[i];return(Qo(a.revalidate)?a.revalidate(s().data,n):a.revalidate!==!1)&&(delete m[i],delete h[i],e&&e[0])?e[0](2).then(()=>s().data):s().data};if(e.length<3)return g();let _=r,v,y=!1,b=js();p[i]=[b,0];let x=!Z(c),S=s(),C=S.data,w=S._c,T=Z(w)?C:w;if(x&&(c=Qo(c)?c(T,C):c,d({data:c,_c:T})),Qo(_))try{_=_(T)}catch(e){v=e,y=!0}if(_&&es(_)){if(_=await _.catch(e=>{v=e,y=!0}),b!==p[i][0]){if(y)throw v;return _}y&&x&&l(v)&&(o=!0,d({data:T,_c:void 0}))}if(o&&(y||(Qo(o)?d({data:o(_,T),error:void 0,_c:void 0}):d({data:_,error:void 0,_c:void 0}))),p[i][1]=js(),Promise.resolve(g()).then(()=>{d({_c:void 0})}),y){if(u)throw v;return}return _}}var Ns=(e,t)=>{for(let n in e)e[n][0]&&e[n][0](t)},Ps=(e,t)=>{if(!Yo.has(e)){let n=$o(_s,t),r=Object.create(null),i=Ms.bind(void 0,e),a=Xo,o=Object.create(null),s=(e,t)=>{let n=o[e]||[];return o[e]=n,n.push(t),()=>{let e=n.indexOf(t);e>=0&&(n[e]=n[n.length-1],n.pop())}},c=(t,n,r)=>{e.set(t,n);let i=o[t];if(i)for(let e of i)e(n,r)},l=()=>{if(!Yo.has(e)&&(Yo.set(e,[r,Object.create(null),Object.create(null),Object.create(null),i,c,s]),!ys)){let t=n.initFocus(setTimeout.bind(void 0,Ns.bind(void 0,r,0))),i=n.initReconnect(setTimeout.bind(void 0,Ns.bind(void 0,r,1)));a=()=>{t&&t(),i&&i(),Yo.delete(e)}}};return l(),[e,i,l,a]}return[e,Yo.get(e)[4]]},Fs=(e,t,n,r,i)=>{let a=n.errorRetryCount,o=i.retryCount,s=~~((Math.random()+.5)*(1<<(o<8?o:8)))*n.errorRetryInterval;!Z(a)&&o>a||setTimeout(r,s,i)},Is=Jo,[Ls,Rs]=Ps(new Map),zs=$o({onLoadingSlow:Xo,onSuccess:Xo,onError:Xo,onErrorRetry:Fs,onDiscarded:Xo,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:Cs?1e4:5e3,focusThrottleInterval:5e3,dedupingInterval:2e3,loadingTimeout:Cs?5e3:3e3,compare:Is,isPaused:()=>!1,cache:Ls,mutate:Rs,fallback:{}},gs),Bs=(e,t)=>{let n=$o(e,t);if(t){let{use:r,fallback:i}=e,{use:a,fallback:o}=t;r&&a&&(n.use=r.concat(a)),i&&o&&(n.fallback=$o(i,o))}return n},Vs=(0,X.createContext)({}),Hs=e=>{let{value:t}=e,n=(0,X.useContext)(Vs),r=Qo(t),i=(0,X.useMemo)(()=>r?t(n):t,[r,n,t]),a=(0,X.useMemo)(()=>r?i:Bs(n,i),[r,n,i]),o=i&&i.provider,s=(0,X.useRef)(void 0);o&&!s.current&&(s.current=Ps(o(a.cache||Ls),i));let c=s.current;return c&&(a.cache=c[0],a.mutate=c[1]),xs(()=>{if(c)return c[2]&&c[2](),c[3]},[]),(0,X.createElement)(Vs.Provider,$o(e,{value:a}))},Us=is&&window.__SWR_DEVTOOLS_USE__,Ws=Us?window.__SWR_DEVTOOLS_USE__:[],Gs=()=>{Us&&(window.__SWR_DEVTOOLS_REACT__=X.default)},Ks=e=>Qo(e[1])?[e[0],e[1],e[2]||{}]:[e[0],null,(e[1]===null?e[2]:e[1])||{}],qs=()=>{let e=(0,X.useContext)(Vs);return(0,X.useMemo)(()=>$o(zs,e),[e])},Js=Ws.concat(e=>(t,n,r)=>e(t,n&&((...e)=>{let[r]=ks(t),[,,,i]=Yo.get(Ls);if(r.startsWith(`$inf$`))return n(...e);let a=i[r];return Z(a)?n(...e):(delete i[r],a)}),r)),Ys=e=>function(...t){let n=qs(),[r,i,a]=Ks(t),o=Bs(n,a),s=e,{use:c}=o,l=(c||[]).concat(Js);for(let e=l.length;e--;)s=l[e](s);return s(r,i||o.fetcher||null,o)},Xs=(e,t,n)=>{let r=t[e]||(t[e]=[]);return r.push(n),()=>{let e=r.indexOf(n);e>=0&&(r[e]=r[r.length-1],r.pop())}};Gs();var Zs=X.use||(e=>{switch(e.status){case`pending`:throw e;case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:throw e.status=`pending`,e.then(t=>{e.status=`fulfilled`,e.value=t},t=>{e.status=`rejected`,e.reason=t}),e}}),Qs={dedupe:!0},$s=Promise.resolve(void 0);$s.status=`fulfilled`,$s.value=void 0;var ec=()=>Xo,tc=(e,t,n)=>{let{cache:r,compare:i,suspense:a,fallbackData:o,revalidateOnMount:s,revalidateIfStale:c,refreshInterval:l,refreshWhenHidden:u,refreshWhenOffline:d,keepPreviousData:f,strictServerPrefetchWarning:p}=n,[m,h,g,_]=Yo.get(r),[v,y]=ks(e),b=(0,X.useRef)(!1),x=(0,X.useRef)(!1),S=(0,X.useRef)(v),C=(0,X.useRef)(t),w=(0,X.useRef)(n),T=()=>w.current,ee=()=>T().isVisible()&&T().isOnline(),[E,te,ne,re]=cs(r,v),D=(0,X.useRef)({}).current,ie=Z(o)?Z(n.fallback)?void 0:n.fallback[v]:o,ae=(e,t)=>{for(let n in D){let r=n;if(r===`data`){if(!i(e[r],t[r])&&(!Z(e[r])||!i(N,t[r])))return!1}else if(t[r]!==e[r])return!1}return!0},O=!b.current,k=(0,X.useMemo)(()=>{let e=E(),n=re(),r=e=>{let n=$o(e);return delete n._k,!(!v||!t||T().isPaused())&&(O&&!Z(s)?s:Z(Z(ie)?n.data:ie)||c)?{isValidating:!0,isLoading:!0,...n}:n},i=r(e),a=e===n?i:r(n),o=i;return[()=>{let e=r(E());return ae(e,o)?(o.data=e.data,o.isLoading=e.isLoading,o.isValidating=e.isValidating,o.error=e.error,o):(o=e,e)},()=>a]},[r,v]),oe=(0,Ko.useSyncExternalStore)((0,X.useCallback)(e=>ne(v,(t,n)=>{ae(n,t)||e()}),[r,v]),k[0],k[1]),A=m[v]&&m[v].length>0,se=oe.data,j=Z(se)?ie&&es(ie)?Zs(ie):ie:se,ce=oe.error,M=(0,X.useRef)(j),N=f?Z(se)?Z(M.current)?j:M.current:se:j,le=v&&Z(j),ue=(0,X.useRef)(null);!ys&&(0,Ko.useSyncExternalStore)(ec,()=>(ue.current=!1,ue),()=>(ue.current=!0,ue));let de=ue.current;p&&de&&!a&&le&&console.warn(`Missing pre-initiated data for serialized key "${v}" during server-side rendering. Data fetching should be initiated on the server and provided to SWR via fallback data. You can set "strictServerPrefetchWarning: false" to disable this warning.`);let P=!v||!t||T().isPaused()||A&&!Z(ce)?!1:O&&!Z(s)?s:a?!Z(j)&&c:Z(j)||c,fe=O&&P,F=Z(oe.isValidating)?fe:oe.isValidating,pe=Z(oe.isLoading)?fe:oe.isLoading,I=(0,X.useCallback)(async e=>{let t=C.current;if(!v||!t||x.current||T().isPaused())return!1;let r,a,o=!0,s=e||{},c=!g[v]||!s.dedupe,l=()=>vs?!x.current&&v===S.current&&b.current:v===S.current,u={isValidating:!1,isLoading:!1},d=()=>{te(u)},f=()=>{let e=g[v];e&&e[1]===a&&delete g[v]},p={isValidating:!0};Z(E().data)&&(p.isLoading=!0);try{if(c&&(te(p),n.loadingTimeout&&Z(E().data)&&setTimeout(()=>{o&&l()&&T().onLoadingSlow(v,n)},n.loadingTimeout),g[v]=[t(y),js()]),[r,a]=g[v],r=await r,c&&setTimeout(f,n.dedupingInterval),!g[v]||g[v][1]!==a)return c&&l()&&T().onDiscarded(v),!1;u.error=void 0;let e=h[v];if(!Z(e)&&(a<=e[0]||a<=e[1]||e[1]===0))return d(),c&&l()&&T().onDiscarded(v),!1;let s=E().data;u.data=i(s,r)?s:r,c&&l()&&T().onSuccess(r,v,n)}catch(e){f();let t=T(),{shouldRetryOnError:n}=t;t.isPaused()||(u.error=e,c&&l()&&(t.onError(e,v,t),(n===!0||Qo(n)&&n(e))&&(!T().revalidateOnFocus||!T().revalidateOnReconnect||ee())&&t.onErrorRetry(e,v,t,e=>{let t=m[v];t&&t[0]&&t[0](3,e)},{retryCount:(s.retryCount||0)+1,dedupe:!0})))}return o=!1,d(),!0},[v,r]),L=(0,X.useCallback)((...e)=>Ms(r,S.current,...e),[]);if(xs(()=>{C.current=t,w.current=n,Z(se)||(M.current=se)}),xs(()=>{if(!v)return;let e=I.bind(void 0,Qs),t=0;T().revalidateOnFocus&&(t=Date.now()+T().focusThrottleInterval);let n=Xs(v,m,(n,r={})=>{if(n==0){let n=Date.now();T().revalidateOnFocus&&n>t&&ee()&&(t=n+T().focusThrottleInterval,e())}else if(n==1)T().revalidateOnReconnect&&ee()&&e();else if(n==2)return I();else if(n==3)return I(r)});return x.current=!1,S.current=v,b.current=!0,te({_k:y}),P&&(g[v]||(Z(j)||ys?e():bs(e))),()=>{x.current=!0,n()}},[v]),xs(()=>{let e;function t(){let t=Qo(l)?l(E().data):l;t&&e!==-1&&(e=setTimeout(n,t))}function n(){!E().error&&(u||T().isVisible())&&(d||T().isOnline())?I(Qs).then(t):t()}return t(),()=>{e&&=(clearTimeout(e),-1)}},[l,u,d,v]),(0,X.useDebugValue)(N),a){if(!vs&&ys&&le)throw Error(`Fallback data is required when using Suspense in SSR.`);le&&(C.current=t,w.current=n,x.current=!1);let e=_[v];if(Zs(!Z(e)&&le?L(e):$s),!Z(ce)&&le)throw ce;let r=le?I(Qs):$s;!Z(N)&&le&&(r.status=`fulfilled`,r.value=!0),Zs(r)}return{mutate:L,get data(){return D.data=!0,N},get error(){return D.error=!0,ce},get isValidating(){return D.isValidating=!0,F},get isLoading(){return D.isLoading=!0,pe}}};Zo.defineProperty(Hs,`defaultValue`,{value:zs});var nc=Ys(tc),rc=e(t(((e,t)=>{function n(e,t){if(typeof e!=`function`)throw TypeError(`Expected the first argument to be a \`function\`, got \`${typeof e}\`.`);let n,r=0;return function(...i){clearTimeout(n);let a=Date.now(),o=t-(a-r);o<=0?(r=a,e.apply(this,i)):n=setTimeout(()=>{r=Date.now(),e.apply(this,i)},o)}}t.exports=n}))(),1),Q=we(),ic=(e,t,n)=>{if(!t.has(e))throw TypeError(`Cannot `+n)},$=(e,t,n)=>(ic(e,t,`read from private field`),n?n.call(e):t.get(e)),ac=(e,t,n)=>{if(t.has(e))throw TypeError(`Cannot add the same private member more than once`);t instanceof WeakSet?t.add(e):t.set(e,n)},oc=(e,t,n,r)=>(ic(e,t,`write to private field`),r?r.call(e,n):t.set(e,n),n);function sc(e,t){return t==null?e:(0,rc.default)(e,t)}var cc,lc,uc,dc,fc,pc,mc,hc,gc,_c=class{constructor(e=[]){ac(this,cc,void 0),ac(this,lc,`ready`),ac(this,uc,void 0),ac(this,dc,new Set),ac(this,fc,new Set),ac(this,pc,new Set),this.pushMessage=e=>{oc(this,cc,$(this,cc).concat(e)),$(this,mc).call(this)},this.popMessage=()=>{oc(this,cc,$(this,cc).slice(0,-1)),$(this,mc).call(this)},this.replaceMessage=(e,t)=>{oc(this,cc,[...$(this,cc).slice(0,e),this.snapshot(t),...$(this,cc).slice(e+1)]),$(this,mc).call(this)},this.snapshot=e=>structuredClone(e),this[`~registerMessagesCallback`]=(e,t)=>{let n=t?sc(e,t):e;return $(this,dc).add(n),()=>{$(this,dc).delete(n)}},this[`~registerStatusCallback`]=e=>($(this,fc).add(e),()=>{$(this,fc).delete(e)}),this[`~registerErrorCallback`]=e=>($(this,pc).add(e),()=>{$(this,pc).delete(e)}),ac(this,mc,()=>{$(this,dc).forEach(e=>e())}),ac(this,hc,()=>{$(this,fc).forEach(e=>e())}),ac(this,gc,()=>{$(this,pc).forEach(e=>e())}),oc(this,cc,e)}get status(){return $(this,lc)}set status(e){oc(this,lc,e),$(this,hc).call(this)}get error(){return $(this,uc)}set error(e){oc(this,uc,e),$(this,gc).call(this)}get messages(){return $(this,cc)}set messages(e){oc(this,cc,[...e]),$(this,mc).call(this)}};cc=new WeakMap,lc=new WeakMap,uc=new WeakMap,dc=new WeakMap,fc=new WeakMap,pc=new WeakMap,mc=new WeakMap,hc=new WeakMap,gc=new WeakMap;var vc,yc=class extends Uo{constructor({messages:e,...t}){let n=new _c(e);super({...t,state:n}),ac(this,vc,void 0),this[`~registerMessagesCallback`]=(e,t)=>$(this,vc)[`~registerMessagesCallback`](e,t),this[`~registerStatusCallback`]=e=>$(this,vc)[`~registerStatusCallback`](e),this[`~registerErrorCallback`]=e=>$(this,vc)[`~registerErrorCallback`](e),oc(this,vc,n)}};vc=new WeakMap;function bc({throttle:e,experimental_throttle:t,resume:n=!1,...r}={}){let i=e??t,a=(0,X.useRef)({});`chat`in r||(a.current={onToolCall:r.onToolCall,onData:r.onData,onFinish:r.onFinish,onError:r.onError,sendAutomaticallyWhen:r.sendAutomaticallyWhen,transport:r.transport});let o,s=()=>a.current.transport??(o??=new Ho),c={...r,transport:{sendMessages:e=>s().sendMessages(e),reconnectToStream:e=>s().reconnectToStream(e)},onToolCall:e=>{var t;return(t=a.current).onToolCall?.call(t,e)},onData:e=>{var t;return(t=a.current).onData?.call(t,e)},onFinish:e=>{var t;return(t=a.current).onFinish?.call(t,e)},onError:e=>{var t;return(t=a.current).onError?.call(t,e)},sendAutomaticallyWhen:e=>{var t;return(t=a.current).sendAutomaticallyWhen?.call(t,e)??!1}},l=(0,X.useRef)(`chat`in r?r.chat:new yc(c));(`chat`in r&&r.chat!==l.current||`id`in r&&r.id!=null&&l.current.id!==r.id)&&(l.current=`chat`in r?r.chat:new yc(c));let u=(0,X.useCallback)(e=>l.current[`~registerMessagesCallback`](e,i),[i,l.current.id]),d=(0,X.useSyncExternalStore)(u,()=>l.current.messages,()=>l.current.messages),f=(0,X.useSyncExternalStore)(l.current[`~registerStatusCallback`],()=>l.current.status,()=>l.current.status),p=(0,X.useSyncExternalStore)(l.current[`~registerErrorCallback`],()=>l.current.error,()=>l.current.error),m=(0,X.useCallback)(e=>{typeof e==`function`&&(e=e(l.current.messages)),l.current.messages=e},[l]);return(0,X.useEffect)(()=>{n&&l.current.resumeStream()},[n,l]),{id:l.current.id,messages:d,setMessages:m,sendMessage:l.current.sendMessage,regenerate:l.current.regenerate,clearError:l.current.clearError,stop:l.current.stop,error:p,resumeStream:l.current.resumeStream,status:f,addToolResult:l.current.addToolOutput,addToolOutput:l.current.addToolOutput,addToolApprovalResponse:l.current.addToolApprovalResponse}}function xc({api:e=`/api/completion`,id:t,initialCompletion:n=``,initialInput:r=``,credentials:i,headers:a,body:o,streamProtocol:s=`data`,fetch:c,onFinish:l,onError:u,throttle:d,experimental_throttle:f}={}){let p=d??f,m=(0,X.useId)(),h=t||m,{data:g,mutate:_}=nc([e,h],null,{fallbackData:n}),{data:v=!1,mutate:y}=nc([h,`loading`],null),[b,x]=(0,X.useState)(void 0),S=g,[C,w]=(0,X.useState)(null),T=(0,X.useRef)({credentials:i,headers:a,body:o});(0,X.useEffect)(()=>{T.current={credentials:i,headers:a,body:o}},[i,a,o]);let ee=(0,X.useCallback)(async(t,n)=>zo({api:e,prompt:t,credentials:T.current.credentials,headers:{...T.current.headers,...n?.headers},body:{...T.current.body,...n?.body},streamProtocol:s,fetch:c,setCompletion:sc(e=>_(e,!1),p),setLoading:y,setError:x,setAbortController:w,onFinish:l,onError:u}),[_,y,e,T,w,l,u,x,s,c,p]),E=(0,X.useCallback)(()=>{C&&(C.abort(),w(null))},[C]),te=(0,X.useCallback)(e=>{_(e,!1)},[_]),ne=(0,X.useCallback)(async(e,t)=>ee(e,t),[ee]),[re,D]=(0,X.useState)(r),ie=(0,X.useCallback)(e=>{var t;return(t=e?.preventDefault)==null||t.call(e),re?ne(re):void 0},[re,ne]);return{completion:S,complete:ne,error:b,setCompletion:te,stop:E,input:re,setInput:D,handleInputChange:(0,X.useCallback)(e=>{D(e.target.value)},[D]),handleSubmit:ie,isLoading:v}}function Sc(e){return Ne.define({combine:t=>t[0]??e})}var Cc=Sc({}),wc=Le.define(),Tc=Le.define(),Ec=50,Dc=Pe.define({create(){return{prompts:[],navigationIndex:-1,originalText:``}},update(e,t){let n={...e};t.docChanged&&e.navigationIndex!==-1&&(t.effects.some(e=>e.is(Tc)||e.is(wc))||(n.navigationIndex=-1,n.originalText=``));for(let r of t.effects)if(r.is(wc)){let i=r.value.trim();i&&(n.prompts=[i,...e.prompts.filter(e=>e!==i)].slice(0,Ec),t.state.facet(Cc).save?.(n.prompts)),n.navigationIndex=-1,n.originalText=``}else r.is(Tc)&&(n.navigationIndex=r.value.index,n.originalText=r.value.originalText);return n}}),Oc=e=>{let t=e.state.field(Dc),n=e.state.doc;if(t.prompts.length===0)return!1;let r,i=t.originalText;if(t.navigationIndex===-1){if(n.length>0)return!1;r=0,i=n.toString()}else if(r=Math.min(t.navigationIndex+1,t.prompts.length-1),r===t.navigationIndex)return!1;let a=t.prompts[r];return e.dispatch({changes:{from:0,to:e.state.doc.length,insert:a},effects:Tc.of({index:r,originalText:i})}),!0},kc=e=>{let t=e.state.field(Dc);if(t.navigationIndex===-1)return!1;let n,r;return t.navigationIndex===0?(n=t.originalText,r=-1):(r=t.navigationIndex-1,n=t.prompts[r]??``),e.dispatch({changes:{from:0,to:e.state.doc.length,insert:n},effects:Tc.of({index:r,originalText:t.originalText})}),!0},Ac=e=>{let t=e.state.doc.toString();return t.trim()?(e.dispatch({effects:wc.of(t)}),!0):!1};function jc(e={}){let{storage:t,defaultKeymap:n=!0}=e,r=[Dc.init(()=>({prompts:t?.load?.()??[],navigationIndex:-1,originalText:``})),Cc.of(t??{})];return n&&r.push(Fe.of([{key:`ArrowUp`,run:Oc},{key:`ArrowDown`,run:kc}])),r}var Mc=class extends Error{code;isRetryable;suggestedFix;meta;constructor(e,t=`TOOL_ERROR`,n=!1,r,i){super(e),this.name=`ToolExecutionError`,this.code=t,this.isRetryable=n,this.suggestedFix=r,this.meta=i}toStructuredString(){let e=JSON.stringify({message:this.message,code:this.code,is_retryable:this.isRetryable,...this.suggestedFix&&{suggested_fix:this.suggestedFix},...this.meta&&{meta:this.meta}});return`Error invoking tool ${this.name}: ${e}`}},Nc=k({status:me([`success`,`error`,`warning`]).optional(),auth_required:P().optional(),next_steps:M(A()).optional(),action_url:A().optional(),message:A().optional(),meta:de(A(),N()).optional()});function Pc(e,t){return e?!!([`image/`,`video/`,`audio/`,`application/pdf`].some(t=>e.startsWith(t))||[`svg`,`vega`].some(t=>e.includes(t))||e===`text/html`&&[`<img`,`<video`,`<audio`,`<iframe`,`<canvas`,`<svg`,`<marimo-ui-element`].some(e=>t.includes(e))):!1}var Fc=class extends gt{title=`Cell Outputs`;mentionPrefix=`@`;contextType=`cell-output`;store;constructor(e){super(),this.store=e}getItems(){let e=this.store.get(O),t=[];for(let n of e.cellIds.inOrderIds){let r=Rc(n,e),i=r.cellOutput;if(!i)continue;let a=i.output.mimetype||`unknown`;t.push({uri:this.asURI(n),name:r.cellName,type:this.contextType,description:`Cell output (${a})`,data:{...r,cellOutput:i}})}return t}formatCompletion(e){let{cellOutput:t,cellName:n,cellCode:r}=e.data;return{label:`@${n}`,displayLabel:n,detail:`${t.outputType} output`,boost:t.outputType===`media`?pt.HIGH:pt.MEDIUM,type:this.contextType,section:dt.CELL_OUTPUT,apply:`@${n}`,info:()=>{let e=document.createElement(`div`);e.classList.add(`mo-cm-tooltip`,`docs-documentation`,`min-w-[300px]`,`max-w-[500px]`,`flex`,`flex-col`,`gap-2`);let i=document.createElement(`div`);i.classList.add(`flex`,`flex-col`,`gap-1`);let a=document.createElement(`div`);a.classList.add(`font-bold`,`text-base`),a.textContent=n,i.append(a);let o=document.createElement(`div`);if(o.classList.add(`text-sm`,`text-muted-foreground`),i.append(o),e.append(i),r){let t=document.createElement(`div`);t.classList.add(`text-xs`,`font-medium`,`text-muted-foreground`),t.textContent=`Code:`,e.append(t);let n=document.createElement(`div`);n.classList.add(`text-xs`,`font-mono`,`bg-muted`,`p-2`,`rounded`,`max-h-20`,`overflow-y-auto`),n.textContent=r.slice(0,200)+(r.length>200?`...`:``),e.append(n)}if(t.processedContent){let n=document.createElement(`div`);n.classList.add(`text-xs`,`font-medium`,`text-muted-foreground`,`mt-2`),n.textContent=`Output Preview:`,e.append(n);let r=document.createElement(`div`);r.classList.add(`text-xs`,`bg-muted`,`p-2`,`rounded`,`max-h-24`,`overflow-y-auto`,`mb-2`),r.textContent=t.processedContent.slice(0,300)+(t.processedContent.length>300?`...`:``),e.append(r)}if(t.outputType===`media`){let t=document.createElement(`div`);t.classList.add(`text-xs`,`text-muted-foreground`,`italic`,`mb-2`),t.textContent=`A screenshot of the output will be attached`,e.append(t)}return e}}}formatContext(e){let{cellOutput:t,cellName:n,cellId:r,cellCode:i}=e.data,a={name:n,cellId:r,outputType:t.outputType,mimetype:t.output.mimetype},o=`Cell Code:\n${i}\n\n`;return t.outputType===`text`&&t.processedContent?o+=`Output:\n${t.processedContent}`:t.outputType===`media`&&(o+=`Media Output: Contains ${t.output.mimetype} content`,t.imageUrl&&(o+=`\nImage URL: ${t.imageUrl}`)),ht({type:this.contextType,data:a,details:o})}async getAttachments(e){let t=e[0].data.cellId,n=e[0].data.cellName;return Ic(e.map(e=>e.data.cellOutput),t,n)}};async function Ic(e,t,n){let r=e.filter(e=>e.shouldDownloadImage&&e.outputType===`media`);if(r.length===0)return[];let i=r.flatMap(e=>{let r=document.getElementById(E.create(t));return r?{cellId:t,cellName:n,mimetype:e.output.mimetype,element:r}:(R.warn(`Output element not found for cell ${t}`),[])});try{return await Promise.all(i.map(async e=>({type:`file`,filename:`${n}-output-screenshot`,mediaType:`image/png`,url:await kt(e.element)})))}catch(e){return R.error(`Error downloading cell output images:`,e),[]}}function Lc(e){if(it(e))return null;let t=e.mimetype,n=Pc(t,String(e.data))?`media`:`text`,r=Mt(e),i,a=!1;return n===`media`&&(typeof e.data==`string`&&e.data.startsWith(`data:`)||typeof e.data==`string`&&e.data.startsWith(`http`)?i=e.data:a=!0),{processedContent:r,imageUrl:i,shouldDownloadImage:a,outputType:n,output:e}}function Rc(e,t,n){let{includeConsoleOutput:r=!1}=n||{},i=t.cellRuntime[e],a=t.cellData[e],o=t.cellIds.inOrderIds.indexOf(e),s=u(a.name,o),c;r&&(c=i.consoleOutputs.map(e=>Lc(e)).filter(e=>e!==null));let l,d=i.output;return d&&!it(d)&&(l=Lc(d)??void 0),{cellId:e,cellName:s,cellCode:a.code,cellOutput:l,consoleOutputs:c}}function zc(e,t){let n=[`Code:\n${e.cellCode}`];if(e.tracebackHtml&&n.push(`Traceback:\n${D(e.tracebackHtml)}`),e.errorData.length>0&&n.push(e.errorData.map(e=>Pt(e)).join(`
|
|
21
21
|
|
|
22
|
-
`)),e.errorData.some(e=>e.type===`sql-error`)){let r=
|
|
22
|
+
`)),e.errorData.some(e=>e.type===`sql-error`)){let r=mt(e.cellId,t);r&&n.push(`Database schema:\n${r}`)}return n.join(`
|
|
23
23
|
|
|
24
|
-
`)}function Bc(e,t){return
|
|
25
|
-
`).find(e=>e.trim())?.trim()||`traceback`:`error`}function Hc(e){return`Error: ${e.cellName||`Cell ${e.cellId}`}`}var Uc=new ee(`error`,`errors`),Wc=class extends
|
|
24
|
+
`)}function Bc(e,t){return ht({type:`error`,data:{name:e.cellName||`Cell ${e.cellId}`,cellId:e.cellId},details:zc(e,t)})}function Vc(e){return e.errorData.length===1?Ft(e.errorData[0]):e.errorData.length>1?`${e.errorData.length} errors`:e.tracebackHtml?D(e.tracebackHtml).trim().split(`
|
|
25
|
+
`).find(e=>e.trim())?.trim()||`traceback`:`error`}function Hc(e){return`Error: ${e.cellName||`Cell ${e.cellId}`}`}var Uc=new ee(`error`,`errors`),Wc=class extends gt{title=`Errors`;mentionPrefix=`@`;contextType=`error`;store;constructor(e){super(),this.store=e}getItems(){let e=Nt(this.store);if(e.length===0)return[];let t=[{uri:this.asURI(`all`),name:`Errors`,type:this.contextType,data:{type:`all-errors`,errors:e},description:`All errors in the notebook`}];for(let n of e)t.push({uri:this.asURI(n.cellId),name:Hc(n),type:this.contextType,data:{type:`cell-error`,error:n},description:Vc(n)});return t}formatCompletion(e){if(e.data.type===`all-errors`){let t=e.data.errors.length;return{label:`@Errors`,displayLabel:`Errors`,detail:`${t} ${Uc.pluralize(t)}`,type:`error`,apply:`@error://all`,section:dt.ERROR,info:()=>{let e=document.createElement(`div`);e.classList.add(`mo-cm-tooltip`,`docs-documentation`,`min-w-[200px]`,`flex`,`flex-col`,`gap-1`,`p-2`);let n=document.createElement(`div`);n.classList.add(`flex`,`flex-col`,`gap-1`);let r=document.createElement(`div`);r.classList.add(`font-bold`,`text-base`),r.textContent=`Errors`,n.append(r);let i=document.createElement(`div`);return i.classList.add(`text-sm`,`text-muted-foreground`),i.textContent=`${t} ${Uc.pluralize(t)}`,n.append(i),e.append(n),e}}}if(e.data.type===`cell-error`){let{error:t}=e.data;return{...this.createBasicCompletion(e,{detail:Vc(t),type:`error`}),section:dt.ERROR}}return{label:`Error`,displayLabel:`Error`,section:dt.ERROR}}formatContext(e){return(e.data.type===`all-errors`?e.data.errors:[e.data.error]).map(e=>Bc(e,this.store)).join(`
|
|
26
26
|
|
|
27
|
-
`)}},Gc=
|
|
28
|
-
`;for(let e of n){let t=` ${e.name} (${e.type})`;if(e.sample_values&&e.sample_values.length>0){let n=e.sample_values.slice(0,3).map(e=>e===null?`null`:String(e)).join(`, `);t+=` - samples: [${n}]`}l+=`${t}\n`}}return
|
|
29
|
-
`,r);if(i===-1){let n=e.slice(r+3),i=n.indexOf(` `),a=i===-1?n:n.slice(0,i),o=a===`markdown`?`markdown`:a===`sql`?`sql`:`python`,s=i===-1?``:n.slice(i+1);s.trim()&&t.push({language:o,code:s.trim()});break}let a=e.slice(r+3,i).trim()||``;a=a===`markdown`?`markdown`:a===`sql`?`sql`:`python`;let o=i+1,s=e.indexOf("```",o);if(s===-1){let n=e.slice(o).replace(/\n+$/,``);n.trim()&&t.push({language:a,code:n});break}let c=e.slice(o,s).replace(/\n+$/,``);c.trim()&&t.push({language:a,code:c}),n=s+3,r=e.indexOf("```",n)}return t.length===0&&t.push({language:`python`,code:e}),t}var ul=()=>new Map,{valueAtom:dl,useActions:fl,createActions:pl,reducer:ml}=
|
|
27
|
+
`)}},Gc=_(),Kc={maxDepth:3,maxResults:20,defaultResultsLimit:5,includeDirectories:!1},qc=class extends gt{title=`Files`;mentionPrefix=`#`;contextType=`file`;apiRequests;config;constructor(e,t=Kc){super(),this.apiRequests=e,this.config=t}createCompletionSource(){return async e=>{let t=e.matchBefore(/#[^\s#]*/);if(!t)return null;let n=t.text;if(!n.startsWith(`#`))return null;let r=n.slice(1);if(r.length===0)return this.getDefaultCompletions(t);try{let e=(await this.searchFiles(r)||[]).map(e=>{let t={uri:this.asURI(e.path),name:e.name,type:this.contextType,description:e.isDirectory?`Directory`:`File`,data:{path:e.path,isDirectory:e.isDirectory}};return this.formatCompletion(t)});return{from:t.from,options:e}}catch(e){return R.error(`Failed to search files:`,e),null}}}searchFiles=async(e,t={})=>{let{maxDepth:n,maxResults:r,includeDirectories:i}={...this.config,...t};return(await this.apiRequests.sendSearchFiles({query:e,includeFiles:!0,includeDirectories:i,depth:n,limit:r})).files};async getDefaultCompletions(e){try{for(let t of[`py`,`md`,`csv`])try{let n=await this.searchFiles(t,{maxDepth:1,maxResults:5});if(n&&n.length>0){let t=n.map(e=>{let t={uri:this.asURI(e.path),name:e.name,type:this.contextType,description:e.isDirectory?`Directory`:`File`,data:{path:e.path,isDirectory:e.isDirectory}};return this.formatCompletion(t)});return{from:e.from,options:t}}}catch(e){R.error(`Failed to get default file completions:`,e)}return{from:e.from,options:[]}}catch(e){return R.error(`Failed to get default file completions:`,e),null}}getItems(){return[]}formatCompletion(e){let{data:t,name:n}=e,r=t.isDirectory?`📁`:`📄`;return{...this.createBasicCompletion(e),type:`file`,section:dt.FILE,boost:t.isDirectory?pt.MEDIUM:pt.LOW,detail:t.path,displayLabel:`${r} ${n}`,apply:async(e,r,i,a)=>{let o=e.state.facet(Gc)?.addAttachment;if(!o){R.warn(`No addAttachment callback provided`);return}let s=await this.apiRequests.sendFileDetails({path:t.path}).catch(e=>(bt({title:`Failed to get file details`,description:e.message}),null));if(!s)return;let c=s.mimeType||`text/plain`,l=wt({contents:s.contents??``,mimeType:c,isBase64:s.isBase64??!1});o(new File([l],n,{type:c})),e.dispatch({changes:{from:i,to:a,insert:``}}),Je(e)},info:()=>{let e=document.createElement(`div`);e.classList.add(`flex`,`flex-col`,`gap-1`,`p-2`);let r=document.createElement(`div`);r.classList.add(`font-bold`),r.textContent=n,e.append(r);let i=document.createElement(`div`);return i.classList.add(`text-xs`,`text-muted-foreground`),i.textContent=t.path,e.append(i),e}}}formatContext(e){let{data:t,name:n}=e;return ht({type:this.contextType,data:{name:n,path:t.path,isDirectory:t.isDirectory},details:t.isDirectory?`Directory containing files and subdirectories`:`File`})}},Jc=class extends gt{title=`Tables`;mentionPrefix=`@`;contextType=`data`;tablesMap;constructor(e){super(),this.tablesMap=e}getItems(){return[...this.tablesMap.entries()].map(([e,t])=>({uri:this.asURI(e),name:e,type:this.contextType,description:t.source===`memory`?`in-memory`:t.source,data:t}))}formatContext(e){let{data:t}=e,{columns:n,source:r,num_rows:i,num_columns:a,name:o,variable_name:s}=t,c=[i==null?void 0:`${i} rows`,a==null?void 0:`${a} columns`].filter(Boolean).join(`, `),l=``;if(c&&(l+=`Shape: ${c}\n`),s&&(l+=`Variable: ${s}\n`),n&&n.length>0){l+=`Columns:
|
|
28
|
+
`;for(let e of n){let t=` ${e.name} (${e.type})`;if(e.sample_values&&e.sample_values.length>0){let n=e.sample_values.slice(0,3).map(e=>e===null?`null`:String(e)).join(`, `);t+=` - samples: [${n}]`}l+=`${t}\n`}}return ht({type:this.contextType,data:{name:o,source:r??`unknown`},details:l.trim()})}formatCompletion(e){let t=e.data.name,n=e.data;return{label:`@${t}`,displayLabel:t,detail:n.source===`memory`?`in-memory`:n.source,boost:n.source_type===`local`?pt.LOCAL_TABLE:pt.REMOTE_TABLE,type:re(n),apply:`@${t}`,section:{name:re(n)===`dataframe`?`Dataframe`:`Table`,rank:dt.TABLE.rank},info:()=>this.createTableInfoElement(t,n)}}createTableInfoElement(e,t){let n=document.createElement(`div`);n.classList.add(`mo-cm-tooltip`,`docs-documentation`,`min-w-[200px]`,`flex`,`flex-col`,`gap-1`,`p-2`);let r=document.createElement(`div`);r.classList.add(`flex`,`flex-col`,`gap-1`);let i=document.createElement(`div`);if(i.classList.add(`font-bold`,`text-base`),i.textContent=e,r.append(i),t.source){let e=document.createElement(`div`);e.classList.add(`text-xs`,`text-muted-foreground`),e.textContent=`Source: ${t.source}`,r.append(e)}n.append(r);let a=[t.num_rows==null?void 0:`${t.num_rows} rows`,t.num_columns==null?void 0:`${t.num_columns} columns`].filter(Boolean).join(`, `);if(a){let e=document.createElement(`div`);e.classList.add(`text-xs`,`bg-muted`,`px-2`,`py-1`,`rounded`),e.textContent=a,n.append(e)}if(t.columns&&t.columns.length>0){let e=document.createElement(`div`);e.classList.add(`overflow-auto`,`max-h-60`);let r=document.createElement(`table`);r.classList.add(`w-full`,`text-xs`,`border-collapse`);let i=r.insertRow();i.classList.add(`bg-muted`);let a=i.insertCell();a.classList.add(`p-2`,`font-medium`,`text-left`),a.textContent=`Column`;let o=i.insertCell();o.classList.add(`p-2`,`font-medium`,`text-left`),o.textContent=`Type`;let s=t.columns.some(e=>this.getItemMetadata(t,e)!==void 0),c;s&&(c=i.insertCell(),c.classList.add(`p-2`,`font-medium`,`text-left`),c.textContent=`Metadata`),t.columns.forEach((e,n)=>{let i=r.insertRow();i.classList.add(n%2==0?`bg-background`:`bg-muted/30`);let a=i.insertCell();a.classList.add(`p-2`,`font-mono`),a.textContent=e.name;let o=i.insertCell();if(o.classList.add(`p-2`,`text-muted-foreground`),o.textContent=e.type,s){let n=i.insertCell();n.classList.add(`p-2`);let r=this.getItemMetadata(t,e);r&&n.append(r)}}),e.append(r),n.append(e)}return n}getItemMetadata(e,t){let n=e.primary_keys?.includes(t.name),r=e.indexes?.includes(t.name);if(n||r){let e=document.createElement(`span`);e.textContent=n?`PK`:`IDX`;let t=n?`bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200`:`bg-amber-100 text-amber-800 dark:bg-amber-900 dark:text-amber-200`;return e.classList.add(`text-xs`,`px-1.5`,`py-0.5`,`rounded-full`,`font-medium`,...t.split(` `)),e}}},Yc=class extends gt{title=`Variables`;mentionPrefix=`@`;contextType=`variable`;variables;tablesMap;constructor(e,t){super(),this.variables=e,this.tablesMap=t}getItems(){let e=new Set(this.tablesMap.keys());return Object.entries(this.variables).flatMap(([t,n])=>e.has(t)?[]:[{uri:this.asURI(t),name:t,type:this.contextType,description:n.dataType??``,dataType:n.dataType,data:{variable:n}}])}formatCompletion(e){let{data:t}=e,{variable:n}=t;return{label:`@${n.name}`,displayLabel:n.name,detail:n.dataType??``,type:this.contextType,section:dt.VARIABLE,info:()=>x(n)}}formatContext(e){let{data:t}=e,{variable:n}=t;return ht({type:this.contextType,data:{name:n.name,dataType:n.dataType},details:n.value==null?void 0:JSON.stringify(n.value)})}};function Xc(e){let t=e.get(C),n=e.get(te),r=e.get(v);return new ft().register(new Jc(n)).register(new Yc(r,n)).register(new Wc(e)).register(new Fc(e)).register(new _t(t.connectionsMap,n))}function Zc(){return new qc(Qe())}function Qc({input:e}){let t=``;return e.includes(`@`)&&(t=ol(e),R.debug(`Included context`,t)),{includeOtherCode:ie(``),context:{plainText:t,schema:[],variables:[]}}}var $c=`data-marimo-context`,el={marimo:{source:`context`}};function tl(e){return e.type===`file`&&e.providerMetadata?.marimo?.source===el.marimo.source}function nl(e){return{...e,providerMetadata:{...e.providerMetadata,marimo:{...e.providerMetadata?.marimo,...el.marimo}}}}async function rl(e){if(!e.includes(`@`))return{plainText:``,contextIds:[],attachments:[]};let t=Xc(o),n=t.parseAllContextIds(e);if(n.length===0)return{plainText:``,contextIds:[],attachments:[]};let r=t.formatContextForAI(n),i=[];try{i=(await t.getAttachmentsForContext(n)).map(nl)}catch(e){R.error(`Error getting attachments:`,e)}return{plainText:r,contextIds:n,attachments:i}}async function il(e){let{plainText:t,contextIds:n,attachments:r}=await rl(e),i=null;return t.trim()&&(i={type:$c,data:{plainText:t,contextIds:n.map(String)}}),{contextPart:i,attachments:r}}async function al({input:e}){let{plainText:t,attachments:n}=await rl(e);return{body:{includeOtherCode:ie(``),context:{plainText:t,schema:[],variables:[]}},attachments:n}}function ol(e){let t=Xc(o),n=t.parseAllContextIds(e);return t.formatContextForAI(n)}function sl(e,t=[]){return n=>{let r=e.map(e=>n.matchBefore(e)).find(Boolean);return!r||r&&r.from===r.to&&!n.explicit?null:{from:r?.from,options:[...t]}}}function cl(e){if(e.current?.view){let t=e.current.view.state.selection.main.from;e.current.view.dispatch({changes:{from:t,to:t,insert:`@`},selection:{anchor:t+1,head:t+1}}),e.current.view.focus(),Ke(e.current.view)}}function ll(e){if(e.trim().length===0)return[];if(!e.includes("```"))return[{language:`python`,code:e}];let t=[],n=0,r=e.indexOf("```",n);for(;r!==-1;){let i=e.indexOf(`
|
|
29
|
+
`,r);if(i===-1){let n=e.slice(r+3),i=n.indexOf(` `),a=i===-1?n:n.slice(0,i),o=a===`markdown`?`markdown`:a===`sql`?`sql`:`python`,s=i===-1?``:n.slice(i+1);s.trim()&&t.push({language:o,code:s.trim()});break}let a=e.slice(r+3,i).trim()||``;a=a===`markdown`?`markdown`:a===`sql`?`sql`:`python`;let o=i+1,s=e.indexOf("```",o);if(s===-1){let n=e.slice(o).replace(/\n+$/,``);n.trim()&&t.push({language:a,code:n});break}let c=e.slice(o,s).replace(/\n+$/,``);c.trim()&&t.push({language:a,code:c}),n=s+3,r=e.indexOf("```",n)}return t.length===0&&t.push({language:`python`,code:e}),t}var ul=()=>new Map,{valueAtom:dl,useActions:fl,createActions:pl,reducer:ml}=Ge(ul,{addStagedCell:(e,t)=>{let{cellId:n,edit:r}=t;return new Map([...e,[n,r]])},removeStagedCell:(e,t)=>{let n=new Map(e);return n.delete(t),n},clearStagedCells:()=>ul()});function hl(e){let t=(0,zt.c)(27),{addStagedCell:n,removeStagedCell:r,clearStagedCells:i}=fl(),{createNewCell:a,updateCellCode:o}=d(),s=lt(),c=(0,X.useRef)(null),l;t[0]!==n||t[1]!==a?(l=e=>{let t=f.create();return n({cellId:t,edit:{type:`add_cell`}}),a({cellId:`__end__`,code:e,before:!1,newCellId:t}),t},t[0]=n,t[1]=a,t[2]=l):l=t[2];let u=l,p;t[3]!==e||t[4]!==o?(p=t=>{let{cellId:n,code:r}=t;if(!e.get(dl).has(n)){R.error(`Staged cell not found`,{cellId:n});return}let i=S(n);i?T(i,r):o({cellId:n,code:r,formattingChange:!1})},t[3]=e,t[4]=o,t[5]=p):p=t[5];let m=p,h;t[6]!==s||t[7]!==r?(h=e=>{r(e),s({cellId:e})},t[6]=s,t[7]=r,t[8]=h):h=t[8];let g=h,_;t[9]!==i||t[10]!==s||t[11]!==e?(_=()=>{let t=e.get(dl);for(let e of t.keys())s({cellId:e});i()},t[9]=i,t[10]=s,t[11]=e,t[12]=_):_=t[12];let v=_,y;t[13]!==n||t[14]!==a||t[15]!==u||t[16]!==m?(y=e=>{bb17:switch(e.type){case`text-start`:c.current=new gl(u,m,n,a);break bb17;case`text-delta`:if(!c.current){R.error(`Cell creation stream not found`);return}c.current.stream(e);break bb17;case`text-end`:case`finish`:if(!c.current){R.error(`Cell creation stream not found`);return}c.current.stop();break bb17;case`abort`:case`error`:case`tool-input-error`:case`tool-output-error`:R.error(`Error`,e.type,{chunk:e});break bb17;case`tool-approval-request`:R.log(`Tool approval request`,{chunk:e});break bb17;case`tool-output-denied`:R.error(`Tool output denied`,{chunk:e});break bb17;case`start`:case`start-step`:case`finish-step`:case`data-reasoning-signature`:break bb17;case`message-metadata`:case`tool-input-available`:case`tool-output-available`:case`tool-approval-response`:case`reasoning-start`:case`reasoning-delta`:case`reasoning-end`:case`file`:case`reasoning-file`:case`source-document`:case`source-url`:case`tool-input-start`:case`tool-input-delta`:case`custom`:R.debug(e.type,{chunk:e});break bb17;default:if(_l(e)){R.debug(`Data chunk`,{chunk:e});break bb17}Xe(e)}},t[13]=n,t[14]=a,t[15]=u,t[16]=m,t[17]=y):y=t[17];let b=y,x;return t[18]!==n||t[19]!==i||t[20]!==u||t[21]!==v||t[22]!==g||t[23]!==b||t[24]!==r||t[25]!==m?(x={createStagedCell:u,updateStagedCell:m,addStagedCell:n,removeStagedCell:r,clearStagedCells:i,deleteStagedCell:g,deleteAllStagedCells:v,onStream:b},t[18]=n,t[19]=i,t[20]=u,t[21]=v,t[22]=g,t[23]=b,t[24]=r,t[25]=m,t[26]=x):x=t[26],x}var gl=class{createdCells=[];buffer=``;onCreateCell;onUpdateCell;addStagedCell;createNewCell;hasMarimoImport=!1;constructor(e,t,n,r){this.onCreateCell=e,this.onUpdateCell=t,this.addStagedCell=n,this.createNewCell=r}stream(e){let t=e.delta;this.buffer+=t;let n=ll(this.buffer);for(let[e,t]of n.entries())if(e<this.createdCells.length){this.addMarimoImport(t.language);let n=this.createdCells[e];this.createdCells[e]={...n,cell:t},this.onUpdateCell({cellId:n.cellId,code:t.code,language:t.language})}else{let e=this.onCreateCell(t.code);this.createdCells.push({cellId:e,cell:t})}}addMarimoImport(e){if(this.hasMarimoImport||e===`python`)return;let t=h({autoInstantiate:!1,createNewCell:this.createNewCell,fromCellId:this.createdCells[0]?.cellId,before:!0});t&&this.addStagedCell({cellId:t,edit:{type:`add_cell`}}),this.hasMarimoImport=!0}stop(){this.buffer=``}};function _l(e){return e.type.startsWith(`data-`)}var vl={baseDescription:`Perform editing operations on the current notebook. You should prefer to create new cells unless you need to edit existing cells. Call this tool multiple times to perform multiple edits. Separate code into logical individual cells to take advantage of the notebook's reactive execution model.`,prerequisites:[`If you are updating existing cells, you need the cellIds. If they are not known, call the lightweight_cell_map_tool to find out.`],additionalInfo:`
|
|
30
30
|
Args:
|
|
31
31
|
edit (object): The editing operation to perform with the following structure:
|
|
32
32
|
- type: One of "update_cell", "add_cell", or "delete_cell"
|
|
@@ -50,28 +50,28 @@ ${t}`,d++;break;case`id`:l=t.includes(`\0`)?void 0:t;break;case`retry`:/^\d+$/.t
|
|
|
50
50
|
- SQL cells: use mo.sql(f"""{content}""") function to insert content. If a database engine is specified, use mo.sql(f"""{content}""", engine=engine) instead.
|
|
51
51
|
|
|
52
52
|
Returns:
|
|
53
|
-
- A result object containing standard tool metadata.`},yl=
|
|
54
|
-
`),o=this.truncateString(o,Cl),
|
|
53
|
+
- A result object containing standard tool metadata.`},yl=k({edit:k({type:me([`update_cell`,`add_cell`,`delete_cell`]),code:A().optional(),position:k({type:me([`relative`,`column_end`,`notebook_end`]).optional(),cellId:A().optional(),columnIndex:ce().optional(),before:P().optional()})})}),bl=class{name=`edit_notebook_tool`;description=vl;schema=yl;outputSchema=Nc;mode=[`agent`];handler=async({edit:e},t)=>{let{addStagedCell:n,createNewCell:r,store:i}=t;switch(e.type){case`update_cell`:{let{position:t,code:r}=e,a=t.cellId;if(!a)throw new Mc(`Cell ID is required for update_cell`,`CELL_ID_REQUIRED_FOR_UPDATE_CELL`,!0,`Provide a cell ID to update`);if(!r)throw new Mc(`Code is required for update_cell`,`CODE_REQUIRED_FOR_UPDATE_CELL`,!0,`Provide the new code to update the cell`);let o=i.get(O);this.validateCellIdExists(a,o);let s=this.getCellEditorView(a,o);Ot(a);let c=i.get(dl).get(a);if(c?.type===`add_cell`){T(s,r);break}let l=s.state.doc.toString(),u=c?.previousCode??l;if(r===u)break;n({cellId:a,edit:{type:`update_cell`,previousCode:u}}),T(s,r);break}case`add_cell`:{let{position:t,code:a}=e,o=`__end__`,s=!1,c=f.create(),l=i.get(O);switch(t.type){case`relative`:{let e=t.cellId;if(!e)throw new Mc(`Cell ID is required for add_cell with relative position`,`TOOL_ERROR`,!0,`Provide a cell ID to add the cell before`);if(t.before===void 0)throw new Mc(`Before is required for add_cell with relative position`,`TOOL_ERROR`,!0,`Provide a boolean value for before, true to add before cell ${e}, false to add after the cell`);this.validateCellIdExists(e,l),o=e,s=t.before;break}case`column_end`:if(!t.columnIndex)throw new Mc(`Column index is required for add_cell with column_end position`,`TOOL_ERROR`,!0,`Provide a column index to add the cell at the end of`);o={type:`__end__`,columnId:this.getColumnId(t.columnIndex,l)}}r({cellId:o,before:s,code:a,newCellId:c}),n({cellId:c,edit:{type:`add_cell`}}),Ot(c);break}case`delete_cell`:{let{position:t}=e,r=t.cellId;if(!r)throw new Mc(`Cell ID is required for delete_cell`,`CELL_ID_REQUIRED_FOR_DELETE_CELL`,!0,`Provide a cell ID to delete`);let a=i.get(O);this.validateCellIdExists(r,a),n({cellId:r,edit:{type:`delete_cell`,previousCode:this.getCellEditorView(r,a).state.doc.toString()}}),Ot(r);break}}return{status:`success`,next_steps:[`If you need to perform more edits, call this tool again.`,`You should use the lint notebook tool to check for errors and lint issues. Fix them by editing the notebook.`,`You should use the run stale cells tool to run the cells that have been edited or newly added. This allows you to see the output of the cells and fix any errors.`]}};validateCellIdExists(e,t){if(!t.cellIds.getColumns().some(t=>t.idSet.has(e)))throw new Mc(`Cell not found`,`CELL_NOT_FOUND`,!1,`Check which cells exist in the notebook`)}getColumnId(e,t){let n=t.cellIds.getColumns();if(e<0||e>=n.length)throw new Mc(`Column index is out of range`,`COLUMN_INDEX_OUT_OF_RANGE`,!0,`Choose a column index between 0 and the number of columns in the notebook (0-based)`);return n[e].id}getCellEditorView(e,t){let n=t.cellHandles[e].current;if(!n?.editorView)throw new Mc(`Cell editor not found`,`CELL_EDITOR_NOT_FOUND`,!1,`Internal error, ask the user to report this error`);return n.editorView}},xl=200,Sl=3e4,Cl=2e3,wl=3e3,Tl=4e4,El={baseDescription:`Run cells in the current notebook that are stale. Stale cells are cells that have been edited or newly added. You can run this tool after editing the notebook or when requested. The output of the ran cells will be returned alongside metadata.`},Dl=k({type:F(`file`),url:A(),mediaType:A()}),Ol=class{name=`run_stale_cells_tool`;description=El;schema=k({});outputSchema=Nc.extend({cellsToOutput:de(A(),k({consoleOutput:A().optional(),cellOutput:A().optional(),consoleAttachments:M(Dl).optional(),cellAttachments:M(Dl).optional()}).nullable()).optional()});mode=[`agent`];postExecutionDelay;constructor(e){this.postExecutionDelay=e?.postExecutionDelay??xl}handler=async(e,t)=>{let{prepareForRun:n,sendRun:r,store:i}=t,a=i.get(O),o=m(a);if(o.length===0)return{status:`success`,message:`No stale cells found.`};if(await Ct({cellIds:o,sendRun:r,prepareForRun:n,notebook:a}),!await this.waitForCellsToFinish(i,o,Sl,this.postExecutionDelay))return{status:`success`,message:`No output was returned because some cells have not finished executing`};let s=i.get(O),c=new Map,l=!1,u=!1,d=0;for(let e of o){let t=Rc(e,s,{includeConsoleOutput:!0}),n=t.cellOutput,r=t.consoleOutputs,i=r&&r.length>0;if((n&&this.outputHasErrors(n)||i&&r.some(e=>this.outputHasErrors(e)))&&(l=!0),!n&&!i){c.set(e,null);continue}if(d>=Tl){c.set(e,{cellOutput:`Cell executed (output omitted due to context limits).`});continue}let a,o;n&&(a=this.formatOutputString(n),d+=a.length),i&&(u=!0,o=r.map(e=>this.formatOutputString(e)).join(`
|
|
54
|
+
`),o=this.truncateString(o,Cl),d+=o.length),c.set(e,{cellOutput:a,consoleOutput:o})}if(c.size===0)return{status:`success`,message:`Stale cells have been run. No output was returned.`};let f=[`Review the output of the cells. The CellId is the key of the result object.`,l?`There are errors in the cells. Please fix them by using the edit notebook tool and the given CellIds.`:`You may edit the notebook further with the given CellIds.`];return{status:`success`,cellsToOutput:Object.fromEntries(c),message:u?`Console output represents the stdout or stderr of the cell (eg. print statements).`:void 0,next_steps:f}};outputHasErrors(e){return e.output.mimetype===`application/vnd.marimo+error`||e.output.mimetype===`application/vnd.marimo+traceback`}formatOutputString(e){let{outputType:t,processedContent:n,imageUrl:r,output:i}=e;if(t===`media`){let e=`Media Output: Contains ${i.mimetype} content`;return r?`${e}\nImage URL: ${r}`:e}if(i.mimetype===`text/html`)return`HTML Output: text/html content (${(typeof i.data==`string`?i.data.length:JSON.stringify(i.data).length).toLocaleString()} chars). Full output visible in notebook UI.`;let a=this.outputHasErrors(e)?wl:Cl,o=n;return o||=typeof i.data==`string`?i.data:JSON.stringify(i.data),`Output:\n${this.truncateString(o,a)}`}truncateString(e,t){return e.length<=t?e:`${e.slice(0,t)}\n\n[TRUNCATED: ${e.length.toLocaleString()} → ${t.toLocaleString()} chars. Full output visible in the notebook UI.]`}async waitForCellsToFinish(e,t,r,i){let a=e=>t.every(t=>{let n=e.cellRuntime[t];return n?.status!==`running`&&n?.status!==`queued`}),o=async()=>(i>0&&await new Promise(e=>setTimeout(e,i)),!0);if(a(e.get(O)))return await o();try{return await Promise.race([n(O,a),new Promise((e,t)=>setTimeout(()=>t(Error(`timeout`)),r))]),await o()}catch{return!1}}};function kl(e){let t=e.baseDescription;return e.whenToUse&&(t+=`\n\n## When to use:\n- ${e.whenToUse.join(`
|
|
55
55
|
- `)}`),e.avoidIf&&(t+=`\n\n## Avoid if:\n- ${e.avoidIf.join(`
|
|
56
56
|
- `)}`),e.prerequisites&&(t+=`\n\n## Prerequisites:\n- ${e.prerequisites.join(`
|
|
57
57
|
- `)}`),e.sideEffects&&(t+=`\n\n## Side effects:\n- ${e.sideEffects.join(`
|
|
58
|
-
- `)}`),e.additionalInfo&&(t+=`\n\n## Additional info:\n- ${e.additionalInfo}`),t}var Al=class{tools=new Map;constructor(e=[]){this.tools=new Map(e.map(e=>[e.name,e]))}has(e){return this.tools.has(e)}getToolOrThrow(e){let t=this.tools.get(e);if(!t)throw Error(`Tool ${e} not found`);return t}async invoke({toolName:e,rawArgs:t,toolContext:n}){let r=this.getToolOrThrow(e),i=r.handler,a=r.schema,o=r.outputSchema;try{let r=await a.safeParseAsync(t);if(r.error)throw new Mc(`Tool ${e} returned invalid input: ${
|
|
59
|
-
`)}async function zl(e){let t=await al({input:Rl(e.flatMap(e=>e.parts))});function n(e,n){return n?{...e,parts:[...e.parts,...t.attachments]}:e}return{...t.body,uiMessages:e.map((t,r)=>n(t,r===e.length-1))}}async function Bl({invokeAiTool:e,addToolOutput:t,toolCall:n,toolContext:r}){try{if(jl.has(n.toolName)){let e=await jl.invoke({toolName:n.toolName,rawArgs:n.input,toolContext:r});t({tool:n.toolName,toolCallId:n.toolCallId,output:e.result||e.error})}else{let r=await e({toolName:n.toolName,arguments:n.input??{}});t({tool:n.toolName,toolCallId:n.toolCallId,output:r.result||r.error})}}catch(e){R.error(`Tool call failed:`,e),t({tool:n.toolName,toolCallId:n.toolCallId,output:`Error: ${e instanceof Error?e.message:String(e)}`})}}function Vl(e){let t=e.at(-1);if(!t||t.role!==`assistant`)return!1;let n=t.parts.at(-1);return!n||!Do(n)?!1:Go({messages:e})||Wo({messages:e})||n.state===`output-denied`&&!n.providerExecuted}function Hl(e){let t=e.at(-1);return!t||t.role!==`assistant`?!1:t.parts.some(e=>Do(e)&&Ul(e.state))}function Ul(e){switch(e){case`approval-requested`:case`input-streaming`:case`input-available`:return!0;case`approval-responded`:case`output-available`:case`output-error`:case`output-denied`:return!1;default:return e}}function Wl(){let e=(0,zt.c)(7),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0];let[n,r]=(0,X.useState)(t),i;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=e=>{if(e.length!==0){if(e.reduce(Gl,0)>Pl){yt({title:`File size exceeded`,description:`Attachments must be under 50 MB`,variant:`danger`});return}r(t=>[...t,...e])}},e[1]=i):i=e[1];let a=s(i),o;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=()=>r([]),e[2]=o):o=e[2];let c=o,l;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(l=e=>r(t=>t.filter(t=>t!==e)),e[3]=l):l=e[3];let u=l,d;return e[4]!==a||e[5]!==n?(d={files:n,addFiles:a,clearFiles:c,removeFile:u},e[4]=a,e[5]=n,e[6]=d):d=e[6],d}function Gl(e,t){return e+t.size}function Kl(e){return e.isError?!1:e.isAbort?!0:!e.hasPendingToolCalls&&!e.hasUnresolvedToolCalls}function ql(){let[e,t]=(0,X.useState)([]),n=(0,X.useRef)([]),r=(0,X.useRef)(!1);return n.current=e,r.current=e.length>0,{messages:e,enqueue:s(e=>{t(t=>{let i=[...t,{id:vt(),parts:e}];return n.current=i,r.current=!0,i})}),flushNext:s(e=>{let i=n.current;if(i.length===0)return;let[a,...o]=i;n.current=o,r.current=o.length>0,t(o),e(a.parts)}),clear:s(()=>{n.current=[],r.current=!1,t([])}),hasQueuedRef:r}}var Jl=e=>{let t=(0,zt.c)(6),{attachment:n}=e;if(n.mediaType?.startsWith(`image/`)){let e=n.filename||`Attachment`,r;return t[0]!==n.url||t[1]!==e?(r=(0,Q.jsx)(`img`,{src:n.url,alt:e,className:`max-h-[100px] max-w-[100px] object-contain mb-1.5`}),t[0]=n.url,t[1]=e,t[2]=r):r=t[2],r}let r;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Q.jsx)(rt,{className:`h-3 w-3 mt-0.5`}),t[3]=r):r=t[3];let i=n.filename||`Attachment`,a;return t[4]===i?a=t[5]:(a=(0,Q.jsxs)(`div`,{className:`flex flex-row gap-1 items-center text-xs`,children:[r,i]}),t[4]=i,t[5]=a),a},Yl=e=>{let t=(0,zt.c)(12),{file:n,className:r,onRemove:i}=e,[a,o]=(0,X.useState)(!1),s;t[0]===r?s=t[1]:(s=xe(`py-1 px-1.5 bg-muted rounded-md cursor-pointer flex flex-row gap-1 items-center text-xs`,r),t[0]=r,t[1]=s);let c,l;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>o(!0),l=()=>o(!1),t[2]=c,t[3]=l):(c=t[2],l=t[3]);let u;t[4]!==n||t[5]!==a||t[6]!==i?(u=a?(0,Q.jsx)(et,{className:`h-3 w-3 mt-0.5`,onClick:i}):$l(n),t[4]=n,t[5]=a,t[6]=i,t[7]=u):u=t[7];let d;return t[8]!==n.name||t[9]!==s||t[10]!==u?(d=(0,Q.jsxs)(`div`,{className:s,onMouseEnter:c,onMouseLeave:l,children:[u,n.name]}),t[8]=n.name,t[9]=s,t[10]=u,t[11]=d):d=t[11],d},Xl=e=>{let t=(0,zt.c)(12),{isLoading:n,onStop:r,onSendClick:i,isEmpty:a,showStopLabel:o}=e,s=o!==void 0&&o,c;t[0]===s?c=t[1]:(c=s?(0,Q.jsxs)(`div`,{className:`flex flex-row items-center gap-1 px-1.5`,children:[(0,Q.jsx)(`span`,{className:`text-xs text-error`,children:`Stop`}),(0,Q.jsx)(at,{size:`small`})]}):(0,Q.jsx)(It,{className:`size-4 text-error`}),t[0]=s,t[1]=c);let l=c,u=n?`Stop`:`Submit`,d=n?r:i,f=!n&&a,p;t[2]!==n||t[3]!==l?(p=n?l:(0,Q.jsx)(Rt,{className:`h-3.5 w-3.5`}),t[2]=n,t[3]=l,t[4]=p):p=t[4];let m;t[5]!==d||t[6]!==f||t[7]!==p?(m=(0,Q.jsx)(Ae,{variant:`text`,size:`sm`,className:`h-6 min-w-6 p-0 hover:bg-muted/30 cursor-pointer`,onClick:d,disabled:f,children:p}),t[5]=d,t[6]=f,t[7]=p,t[8]=m):m=t[8];let h;return t[9]!==u||t[10]!==m?(h=(0,Q.jsx)(ke,{content:u,children:m}),t[9]=u,t[10]=m,t[11]=h):h=t[11],h},Zl=e=>{let t=(0,zt.c)(4),{handleAddContext:n,isLoading:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Q.jsx)(Qe,{className:`h-3.5 w-3.5`}),t[0]=i):i=t[0];let a;return t[1]!==n||t[2]!==r?(a=(0,Q.jsx)(ke,{content:`Add context`,children:(0,Q.jsx)(Ae,{variant:`text`,size:`icon`,onClick:n,disabled:r,children:i})}),t[1]=n,t[2]=r,t[3]=a):a=t[3],a},Ql=e=>{let t=(0,zt.c)(15),{fileInputRef:n,isLoading:r,onAddFiles:i}=e,a;t[0]===n?a=t[1]:(a=()=>n.current?.click(),t[0]=n,t[1]=a);let o;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,Q.jsx)(Lt,{className:`h-3.5 w-3.5`}),t[2]=o):o=t[2];let s;t[3]!==r||t[4]!==a?(s=(0,Q.jsx)(ke,{content:`Attach a file`,children:(0,Q.jsx)(Ae,{variant:`text`,size:`icon`,onClick:a,disabled:r,children:o})}),t[3]=r,t[4]=a,t[5]=s):s=t[5];let c;t[6]===i?c=t[7]:(c=e=>{e.target.files&&i([...e.target.files])},t[6]=i,t[7]=c);let l;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(l=Nl.join(`,`),t[8]=l):l=t[8];let u;t[9]!==n||t[10]!==c?(u=(0,Q.jsx)(ct,{ref:n,type:`file`,multiple:!0,hidden:!0,onChange:c,accept:l}),t[9]=n,t[10]=c,t[11]=u):u=t[11];let d;return t[12]!==s||t[13]!==u?(d=(0,Q.jsxs)(Q.Fragment,{children:[s,u]}),t[12]=s,t[13]=u,t[14]=d):d=t[14],d};function $l(e){let t=`h-3 w-3 mt-0.5`;return e.type.startsWith(`image/`)?(0,Q.jsx)(it,{className:t}):e.type.startsWith(`text/`)?(0,Q.jsx)(d,{className:t}):(0,Q.jsx)(rt,{className:t})}var eu=e=>{let t=(0,zt.c)(15),{icon:n,title:r,subtitle:i,href:a}=e,o;t[0]===r?o=t[1]:(o=(0,Q.jsx)(`span`,{className:`truncate font-medium`,children:r}),t[0]=r,t[1]=o);let s;t[2]===i?s=t[3]:(s=i&&(0,Q.jsxs)(`span`,{className:`truncate opacity-70`,children:[`(`,i,`)`]}),t[2]=i,t[3]=s);let c;t[4]!==n||t[5]!==o||t[6]!==s?(c=(0,Q.jsxs)(Q.Fragment,{children:[n,o,s]}),t[4]=n,t[5]=o,t[6]=s,t[7]=c):c=t[7];let l=c;if(a&&bt(a)){let e=i??r,n;return t[8]!==l||t[9]!==a||t[10]!==e?(n=(0,Q.jsx)(`a`,{href:a,target:`_blank`,rel:`noopener noreferrer`,title:e,className:`inline-flex max-w-full items-center gap-1.5 rounded-md border bg-muted/50 px-2 py-1 my-1 text-xs text-muted-foreground hover:bg-muted hover:text-foreground transition-colors`,children:l}),t[8]=l,t[9]=a,t[10]=e,t[11]=n):n=t[11],n}let u=i??r,d;return t[12]!==l||t[13]!==u?(d=(0,Q.jsx)(`div`,{className:`inline-flex max-w-full items-center gap-1.5 rounded-md border bg-muted/50 px-2 py-1 my-1 text-xs text-muted-foreground`,title:u,children:l}),t[12]=l,t[13]=u,t[14]=d):d=t[14],d},tu=Fe.define(),nu=Me.define({create(){return new Map},update(e,t){let n=!1,r=e;for(let i of t.effects)if(i.is(tu)){n||=(r=new Map(e),!0);for(let[e,t]of i.value)r.set(e,t)}return r}}),ru=Me.define({create(){return{onResourceClick:void 0,onResourceMouseOver:void 0,onResourceMouseOut:void 0,onPromptSubmit:void 0}},update(e){return e}}),iu=Fe.define();Me.define({create(){return new Map},update(e,t){let n=!1,r=e;for(let i of t.effects)if(i.is(iu)){n||=(r=new Map(e),!0);for(let[e,t]of i.value)r.set(e,t)}return r}});var au=(e,t)=>async n=>{let r=n.matchBefore(/@(\w+)?/);if(!r||r.from===r.to&&!n.explicit)return null;let i=await e();if(i.length===0)return null;let a=tu.of(new Map(i.map(e=>[e.uri,e])));n.view&&n.view.dispatch({effects:a});let o=i.map(e=>({label:`@${e.name}`,displayLabel:e.name,detail:e.uri,info:e.description||void 0,type:e.mimeType?`constant`:`variable`,boost:e.description?100:0,...t?.(e),apply:(t,n,r,i)=>{t.dispatch({changes:{from:r,to:i,insert:`@${e.uri} `}})}}));return{from:r.from,options:o}},ou=/@[\w-]+:\/\/(?!\/)[^\s]+/;function su(e){return e.matchAll(new RegExp(ou.source,`g`))}var cu=class extends Le{resource;view;constructor(e,t){super(),this.resource=e,this.view=t}eq(e){return e.resource.uri===this.resource.uri}toDOM(){let e=document.createElement(`span`);e.className=`cm-resource-widget`,e.textContent=`@${this.resource.name}`;let t=this.view.state.field(ru,!1),n=t?.onResourceClick,r=t?.onResourceMouseOver,i=t?.onResourceMouseOut;return n&&(e.style.cursor=`pointer`,e.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),n(this.resource)})),r&&e.addEventListener(`mouseover`,e=>{e.preventDefault(),e.stopPropagation(),r(this.resource)}),i&&e.addEventListener(`mouseout`,e=>{e.preventDefault(),e.stopPropagation(),i(this.resource)}),e}},lu=class extends Le{uri;view;constructor(e,t){super(),this.uri=e,this.view=t}eq(e){return e.uri===this.uri}toDOM(){let e=document.createElement(`span`);return e.className=`cm-not-found-resource-widget`,e.textContent=`@${this.uri.split(`://`)[1]??this.uri}`,e}};function uu(e){let t=e.state.field(nu),n=[];for(let{from:r,to:i}of e.visibleRanges){let a=e.state.doc.sliceString(r,i);for(let i of su(a)){let a=r+i.index,o=i[0].slice(1),s=t.get(o);s?n.push(Ie.replace({widget:new cu(s,e)}).range(a,a+i[0].length)):n.push(Ie.replace({widget:new lu(o,e)}).range(a,a+i[0].length))}}return Ie.set(n)}var du=Ve.fromClass(class{decorations;constructor(e){this.decorations=uu(e)}update(e){(e.docChanged||e.viewportChanged||e.transactions.some(e=>e.effects.some(e=>e.is(tu))))&&(this.decorations=uu(e.view))}},{decorations:e=>e.decorations});function fu(e){let t=document.createElement(`div`);t.className=`cm-tooltip-cursor`;let n=document.createElement(`div`);if(n.className=`cm-tooltip-cursor-title`,n.textContent=`${e.name} (${e.uri})`,t.appendChild(n),e.description){let n=document.createElement(`div`);n.className=`cm-tooltip-cursor-description`,n.textContent=e.description,t.appendChild(n)}if(e.mimeType){let n=document.createElement(`div`);n.className=`cm-tooltip-cursor-mimetype`,n.textContent=e.mimeType,t.appendChild(n)}return{dom:t}}function pu(e,t,n,r=0){for(let i of su(e)){let e=r+i.index,a=e+i[0].length;if(t>=e&&t<=a){let t=i[0].slice(1),r=n.get(t);if(r)return{resource:r,start:e,end:a}}}return null}function mu(e){return He((t,n)=>{let{from:r,text:i}=t.state.doc.lineAt(n),a=pu(i,n,t.state.field(nu),r);return a?{pos:a.start,end:a.end,above:!0,create(){return(e.createTooltip??fu)(a.resource)}}:null})}function hu(e,t){let n=e.field(nu),r=e.doc,i=r.lineAt(t),a=r.sliceString(i.from,i.to),o=Array.from(su(a));if(o.length===0)return null;for(let e of o){let r=i.from+e.index,a=r+e[0].length,o=e[0].slice(1);if(t===a&&n.has(o))return{from:r,to:a,uri:o}}return null}function gu(e,t){let n=e.field(nu),r=e.doc,i=r.lineAt(t).to,a=r.sliceString(t,i),o=Array.from(su(a));if(o.length===0)return null;let s=o[0];if(!s||s.index!==0)return null;let c=t,l=t+s[0].length,u=s[0].slice(1);return n.has(u)?{from:c,to:l,uri:u}:null}function _u(e,t){let n=e.field(nu),r=e.doc,i=r.lineAt(t),a=r.sliceString(i.from,i.to),o=Array.from(su(a));for(let e of o){let r=i.from+e.index,a=r+e[0].length,o=e[0].slice(1);if(t>r&&t<a&&n.has(o))return{from:r,to:a,uri:o}}return null}function vu(e,t){let n=e.field(nu),r=e.doc,i=r.lineAt(t),a=r.sliceString(i.from,t),o=Array.from(su(a)),s=null;for(let e of o){let r=i.from+e.index,a=r+e[0].length,o=e[0].slice(1);n.has(o)&&a<=t&&(t>a?s=a:t===a&&(s=r))}return s}function yu(e,t){let n=e.field(nu),r=e.doc,i=r.lineAt(t),a=r.sliceString(i.from,i.to),o=Array.from(su(a));for(let e of o){let r=i.from+e.index,a=r+e[0].length,o=e[0].slice(1);if(n.has(o)&&r>=t){if(t<r)return r;if(t===r)return a}}return null}var bu=Pe.transactionFilter.of(e=>{let t=e.annotation(Re.userEvent);if(!t)return e;let n=e.startState.selection.main;if(!n.empty)return e;if(t===`input.type`||t.startsWith(`input`)){if(e.changes.empty)return e;let t=e.startState.field(nu),n=e.startState.doc,r=!1,i=0,a=[];if(e.changes.iterChanges((e,o,s,c,l)=>{let u=l.toString(),d=e;if(/^\s+$/.test(u)){a.push({from:e,to:o,insert:u});return}let f=n.lineAt(d),p=n.sliceString(f.from,f.to),m=Array.from(su(p)),h=!1,g=!1;for(let e of m){let r=f.from+e.index,i=r+e[0].length,a=e[0].slice(1);if(t.has(a)){if(d===r){let e=d>0?n.sliceString(d-1,d):``;e!==``&&e!==` `&&e!==`
|
|
58
|
+
- `)}`),e.additionalInfo&&(t+=`\n\n## Additional info:\n- ${e.additionalInfo}`),t}var Al=class{tools=new Map;constructor(e=[]){this.tools=new Map(e.map(e=>[e.name,e]))}has(e){return this.tools.has(e)}getToolOrThrow(e){let t=this.tools.get(e);if(!t)throw Error(`Tool ${e} not found`);return t}async invoke({toolName:e,rawArgs:t,toolContext:n}){let r=this.getToolOrThrow(e),i=r.handler,a=r.schema,o=r.outputSchema;try{let r=await a.safeParseAsync(t);if(r.error)throw new Mc(`Tool ${e} returned invalid input: ${fe(r.error)}`,`INVALID_ARGUMENTS`,!0,`Please check the arguments and try again.`);let s=r.data,c=await i(s,n),l=await o.safeParseAsync(c);if(l.error){let t=fe(l.error);throw Error(`Tool ${e} returned invalid output: ${t}`)}return{tool_name:e,result:l.data,error:null}}catch(n){return n instanceof Mc?{tool_name:e,result:null,error:n.toStructuredString()}:{tool_name:e,result:null,error:new Mc(n instanceof Error?n.message:String(n),`TOOL_ERROR`,!1,`Check the error message and try again with valid arguments.`,{args:t,errorType:n?.constructor?.name??typeof n}).toStructuredString()}}}getToolSchemas(e){return[...this.tools.values()].filter(t=>t.mode.includes(e)).map(e=>({name:e.name,description:kl(e.description),parameters:oe(e.schema),source:`frontend`,mode:e.mode}))}};b([ae()],Al.prototype,`getToolSchemas`,null);var jl=new Al([new bl,new Ol]),Ml=new Set([`openai`,`google`,`anthropic`]),Nl=[`image/*`,`text/*`],Pl=52428800;function Fl(e){return e.length>50?`${e.slice(0,50)}...`:e}async function Il(e){return await Promise.all(e.map(async e=>({type:`file`,mediaType:e.type,filename:e.name,url:await tt(e,`dataUrl`)})))}function Ll(e){if(e.length===0)return!1;let t=e.at(-1);if(!t||t.role!==`assistant`||!t.parts)return!1;let n=t.parts;return n.length!==0&&n[n.length-1].type===`reasoning`}function Rl(e){return e.map(e=>e.type===`text`?e.text:``).join(`
|
|
59
|
+
`)}async function zl(e){let t=await al({input:Rl(e.flatMap(e=>e.parts))});function n(e,n){return n?{...e,parts:[...e.parts,...t.attachments]}:e}return{...t.body,uiMessages:e.map((t,r)=>n(t,r===e.length-1))}}async function Bl({invokeAiTool:e,addToolOutput:t,toolCall:n,toolContext:r}){try{if(jl.has(n.toolName)){let e=await jl.invoke({toolName:n.toolName,rawArgs:n.input,toolContext:r});t({tool:n.toolName,toolCallId:n.toolCallId,output:e.result||e.error})}else{let r=await e({toolName:n.toolName,arguments:n.input??{}});t({tool:n.toolName,toolCallId:n.toolCallId,output:r.result||r.error})}}catch(e){R.error(`Tool call failed:`,e),t({tool:n.toolName,toolCallId:n.toolCallId,output:`Error: ${e instanceof Error?e.message:String(e)}`})}}function Vl(e){let t=e.at(-1);if(!t||t.role!==`assistant`)return!1;let n=t.parts.at(-1);return!n||!Do(n)?!1:Go({messages:e})||Wo({messages:e})||n.state===`output-denied`&&!n.providerExecuted}function Hl(e){let t=e.at(-1);return!t||t.role!==`assistant`?!1:t.parts.some(e=>Do(e)&&Ul(e.state))}function Ul(e){switch(e){case`approval-requested`:case`input-streaming`:case`input-available`:return!0;case`approval-responded`:case`output-available`:case`output-error`:case`output-denied`:return!1;default:return e}}function Wl(){let e=(0,zt.c)(7),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0];let[n,r]=(0,X.useState)(t),i;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=e=>{if(e.length!==0){if(e.reduce(Gl,0)>Pl){bt({title:`File size exceeded`,description:`Attachments must be under 50 MB`,variant:`danger`});return}r(t=>[...t,...e])}},e[1]=i):i=e[1];let a=s(i),o;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=()=>r([]),e[2]=o):o=e[2];let c=o,l;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(l=e=>r(t=>t.filter(t=>t!==e)),e[3]=l):l=e[3];let u=l,d;return e[4]!==a||e[5]!==n?(d={files:n,addFiles:a,clearFiles:c,removeFile:u},e[4]=a,e[5]=n,e[6]=d):d=e[6],d}function Gl(e,t){return e+t.size}function Kl(e){return e.isError?!1:e.isAbort?!0:!e.hasPendingToolCalls&&!e.hasUnresolvedToolCalls}function ql(){let[e,t]=(0,X.useState)([]),n=(0,X.useRef)([]),r=(0,X.useRef)(!1);return n.current=e,r.current=e.length>0,{messages:e,enqueue:s(e=>{t(t=>{let i=[...t,{id:yt(),parts:e}];return n.current=i,r.current=!0,i})}),flushNext:s(e=>{let i=n.current;if(i.length===0)return;let[a,...o]=i;n.current=o,r.current=o.length>0,t(o),e(a.parts)}),clear:s(()=>{n.current=[],r.current=!1,t([])}),hasQueuedRef:r}}var Jl=e=>{let t=(0,zt.c)(6),{attachment:n}=e;if(n.mediaType?.startsWith(`image/`)){let e=n.filename||`Attachment`,r;return t[0]!==n.url||t[1]!==e?(r=(0,Q.jsx)(`img`,{src:n.url,alt:e,className:`max-h-[100px] max-w-[100px] object-contain mb-1.5`}),t[0]=n.url,t[1]=e,t[2]=r):r=t[2],r}let r;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Q.jsx)(at,{className:`h-3 w-3 mt-0.5`}),t[3]=r):r=t[3];let i=n.filename||`Attachment`,a;return t[4]===i?a=t[5]:(a=(0,Q.jsxs)(`div`,{className:`flex flex-row gap-1 items-center text-xs`,children:[r,i]}),t[4]=i,t[5]=a),a},Yl=e=>{let t=(0,zt.c)(12),{file:n,className:r,onRemove:i}=e,[a,o]=(0,X.useState)(!1),s;t[0]===r?s=t[1]:(s=Ce(`py-1 px-1.5 bg-muted rounded-md cursor-pointer flex flex-row gap-1 items-center text-xs`,r),t[0]=r,t[1]=s);let c,l;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>o(!0),l=()=>o(!1),t[2]=c,t[3]=l):(c=t[2],l=t[3]);let u;t[4]!==n||t[5]!==a||t[6]!==i?(u=a?(0,Q.jsx)(nt,{className:`h-3 w-3 mt-0.5`,onClick:i}):$l(n),t[4]=n,t[5]=a,t[6]=i,t[7]=u):u=t[7];let d;return t[8]!==n.name||t[9]!==s||t[10]!==u?(d=(0,Q.jsxs)(`div`,{className:s,onMouseEnter:c,onMouseLeave:l,children:[u,n.name]}),t[8]=n.name,t[9]=s,t[10]=u,t[11]=d):d=t[11],d},Xl=e=>{let t=(0,zt.c)(12),{isLoading:n,onStop:r,onSendClick:i,isEmpty:a,showStopLabel:o}=e,s=o!==void 0&&o,c;t[0]===s?c=t[1]:(c=s?(0,Q.jsxs)(`div`,{className:`flex flex-row items-center gap-1 px-1.5`,children:[(0,Q.jsx)(`span`,{className:`text-xs text-error`,children:`Stop`}),(0,Q.jsx)(st,{size:`small`})]}):(0,Q.jsx)(It,{className:`size-4 text-error`}),t[0]=s,t[1]=c);let l=c,u=n?`Stop`:`Submit`,d=n?r:i,f=!n&&a,p;t[2]!==n||t[3]!==l?(p=n?l:(0,Q.jsx)(Rt,{className:`h-3.5 w-3.5`}),t[2]=n,t[3]=l,t[4]=p):p=t[4];let m;t[5]!==d||t[6]!==f||t[7]!==p?(m=(0,Q.jsx)(Me,{variant:`text`,size:`sm`,className:`h-6 min-w-6 p-0 hover:bg-muted/30 cursor-pointer`,onClick:d,disabled:f,children:p}),t[5]=d,t[6]=f,t[7]=p,t[8]=m):m=t[8];let h;return t[9]!==u||t[10]!==m?(h=(0,Q.jsx)(je,{content:u,children:m}),t[9]=u,t[10]=m,t[11]=h):h=t[11],h},Zl=e=>{let t=(0,zt.c)(4),{handleAddContext:n,isLoading:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Q.jsx)(et,{className:`h-3.5 w-3.5`}),t[0]=i):i=t[0];let a;return t[1]!==n||t[2]!==r?(a=(0,Q.jsx)(je,{content:`Add context`,children:(0,Q.jsx)(Me,{variant:`text`,size:`icon`,onClick:n,disabled:r,children:i})}),t[1]=n,t[2]=r,t[3]=a):a=t[3],a},Ql=e=>{let t=(0,zt.c)(15),{fileInputRef:n,isLoading:r,onAddFiles:i}=e,a;t[0]===n?a=t[1]:(a=()=>n.current?.click(),t[0]=n,t[1]=a);let o;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,Q.jsx)(Lt,{className:`h-3.5 w-3.5`}),t[2]=o):o=t[2];let s;t[3]!==r||t[4]!==a?(s=(0,Q.jsx)(je,{content:`Attach a file`,children:(0,Q.jsx)(Me,{variant:`text`,size:`icon`,onClick:a,disabled:r,children:o})}),t[3]=r,t[4]=a,t[5]=s):s=t[5];let c;t[6]===i?c=t[7]:(c=e=>{e.target.files&&i([...e.target.files])},t[6]=i,t[7]=c);let l;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(l=Nl.join(`,`),t[8]=l):l=t[8];let u;t[9]!==n||t[10]!==c?(u=(0,Q.jsx)(ut,{ref:n,type:`file`,multiple:!0,hidden:!0,onChange:c,accept:l}),t[9]=n,t[10]=c,t[11]=u):u=t[11];let d;return t[12]!==s||t[13]!==u?(d=(0,Q.jsxs)(Q.Fragment,{children:[s,u]}),t[12]=s,t[13]=u,t[14]=d):d=t[14],d};function $l(e){let t=`h-3 w-3 mt-0.5`;return e.type.startsWith(`image/`)?(0,Q.jsx)(ot,{className:t}):e.type.startsWith(`text/`)?(0,Q.jsx)(g,{className:t}):(0,Q.jsx)(at,{className:t})}var eu=e=>{let t=(0,zt.c)(15),{icon:n,title:r,subtitle:i,href:a}=e,o;t[0]===r?o=t[1]:(o=(0,Q.jsx)(`span`,{className:`truncate font-medium`,children:r}),t[0]=r,t[1]=o);let s;t[2]===i?s=t[3]:(s=i&&(0,Q.jsxs)(`span`,{className:`truncate opacity-70`,children:[`(`,i,`)`]}),t[2]=i,t[3]=s);let c;t[4]!==n||t[5]!==o||t[6]!==s?(c=(0,Q.jsxs)(Q.Fragment,{children:[n,o,s]}),t[4]=n,t[5]=o,t[6]=s,t[7]=c):c=t[7];let l=c;if(a&&xt(a)){let e=i??r,n;return t[8]!==l||t[9]!==a||t[10]!==e?(n=(0,Q.jsx)(`a`,{href:a,target:`_blank`,rel:`noopener noreferrer`,title:e,className:`inline-flex max-w-full items-center gap-1.5 rounded-md border bg-muted/50 px-2 py-1 my-1 text-xs text-muted-foreground hover:bg-muted hover:text-foreground transition-colors`,children:l}),t[8]=l,t[9]=a,t[10]=e,t[11]=n):n=t[11],n}let u=i??r,d;return t[12]!==l||t[13]!==u?(d=(0,Q.jsx)(`div`,{className:`inline-flex max-w-full items-center gap-1.5 rounded-md border bg-muted/50 px-2 py-1 my-1 text-xs text-muted-foreground`,title:u,children:l}),t[12]=l,t[13]=u,t[14]=d):d=t[14],d},tu=Le.define(),nu=Pe.define({create(){return new Map},update(e,t){let n=!1,r=e;for(let i of t.effects)if(i.is(tu)){n||=(r=new Map(e),!0);for(let[e,t]of i.value)r.set(e,t)}return r}}),ru=Pe.define({create(){return{onResourceClick:void 0,onResourceMouseOver:void 0,onResourceMouseOut:void 0,onPromptSubmit:void 0}},update(e){return e}}),iu=Le.define();Pe.define({create(){return new Map},update(e,t){let n=!1,r=e;for(let i of t.effects)if(i.is(iu)){n||=(r=new Map(e),!0);for(let[e,t]of i.value)r.set(e,t)}return r}});var au=(e,t)=>async n=>{let r=n.matchBefore(/@(\w+)?/);if(!r||r.from===r.to&&!n.explicit)return null;let i=await e();if(i.length===0)return null;let a=tu.of(new Map(i.map(e=>[e.uri,e])));n.view&&n.view.dispatch({effects:a});let o=i.map(e=>({label:`@${e.name}`,displayLabel:e.name,detail:e.uri,info:e.description||void 0,type:e.mimeType?`constant`:`variable`,boost:e.description?100:0,...t?.(e),apply:(t,n,r,i)=>{t.dispatch({changes:{from:r,to:i,insert:`@${e.uri} `}})}}));return{from:r.from,options:o}},ou=/@[\w-]+:\/\/(?!\/)[^\s]+/;function su(e){return e.matchAll(new RegExp(ou.source,`g`))}var cu=class extends ze{resource;view;constructor(e,t){super(),this.resource=e,this.view=t}eq(e){return e.resource.uri===this.resource.uri}toDOM(){let e=document.createElement(`span`);e.className=`cm-resource-widget`,e.textContent=`@${this.resource.name}`;let t=this.view.state.field(ru,!1),n=t?.onResourceClick,r=t?.onResourceMouseOver,i=t?.onResourceMouseOut;return n&&(e.style.cursor=`pointer`,e.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),n(this.resource)})),r&&e.addEventListener(`mouseover`,e=>{e.preventDefault(),e.stopPropagation(),r(this.resource)}),i&&e.addEventListener(`mouseout`,e=>{e.preventDefault(),e.stopPropagation(),i(this.resource)}),e}},lu=class extends ze{uri;view;constructor(e,t){super(),this.uri=e,this.view=t}eq(e){return e.uri===this.uri}toDOM(){let e=document.createElement(`span`);return e.className=`cm-not-found-resource-widget`,e.textContent=`@${this.uri.split(`://`)[1]??this.uri}`,e}};function uu(e){let t=e.state.field(nu),n=[];for(let{from:r,to:i}of e.visibleRanges){let a=e.state.doc.sliceString(r,i);for(let i of su(a)){let a=r+i.index,o=i[0].slice(1),s=t.get(o);s?n.push(Re.replace({widget:new cu(s,e)}).range(a,a+i[0].length)):n.push(Re.replace({widget:new lu(o,e)}).range(a,a+i[0].length))}}return Re.set(n)}var du=Ue.fromClass(class{decorations;constructor(e){this.decorations=uu(e)}update(e){(e.docChanged||e.viewportChanged||e.transactions.some(e=>e.effects.some(e=>e.is(tu))))&&(this.decorations=uu(e.view))}},{decorations:e=>e.decorations});function fu(e){let t=document.createElement(`div`);t.className=`cm-tooltip-cursor`;let n=document.createElement(`div`);if(n.className=`cm-tooltip-cursor-title`,n.textContent=`${e.name} (${e.uri})`,t.appendChild(n),e.description){let n=document.createElement(`div`);n.className=`cm-tooltip-cursor-description`,n.textContent=e.description,t.appendChild(n)}if(e.mimeType){let n=document.createElement(`div`);n.className=`cm-tooltip-cursor-mimetype`,n.textContent=e.mimeType,t.appendChild(n)}return{dom:t}}function pu(e,t,n,r=0){for(let i of su(e)){let e=r+i.index,a=e+i[0].length;if(t>=e&&t<=a){let t=i[0].slice(1),r=n.get(t);if(r)return{resource:r,start:e,end:a}}}return null}function mu(e){return We((t,n)=>{let{from:r,text:i}=t.state.doc.lineAt(n),a=pu(i,n,t.state.field(nu),r);return a?{pos:a.start,end:a.end,above:!0,create(){return(e.createTooltip??fu)(a.resource)}}:null})}function hu(e,t){let n=e.field(nu),r=e.doc,i=r.lineAt(t),a=r.sliceString(i.from,i.to),o=Array.from(su(a));if(o.length===0)return null;for(let e of o){let r=i.from+e.index,a=r+e[0].length,o=e[0].slice(1);if(t===a&&n.has(o))return{from:r,to:a,uri:o}}return null}function gu(e,t){let n=e.field(nu),r=e.doc,i=r.lineAt(t).to,a=r.sliceString(t,i),o=Array.from(su(a));if(o.length===0)return null;let s=o[0];if(!s||s.index!==0)return null;let c=t,l=t+s[0].length,u=s[0].slice(1);return n.has(u)?{from:c,to:l,uri:u}:null}function _u(e,t){let n=e.field(nu),r=e.doc,i=r.lineAt(t),a=r.sliceString(i.from,i.to),o=Array.from(su(a));for(let e of o){let r=i.from+e.index,a=r+e[0].length,o=e[0].slice(1);if(t>r&&t<a&&n.has(o))return{from:r,to:a,uri:o}}return null}function vu(e,t){let n=e.field(nu),r=e.doc,i=r.lineAt(t),a=r.sliceString(i.from,t),o=Array.from(su(a)),s=null;for(let e of o){let r=i.from+e.index,a=r+e[0].length,o=e[0].slice(1);n.has(o)&&a<=t&&(t>a?s=a:t===a&&(s=r))}return s}function yu(e,t){let n=e.field(nu),r=e.doc,i=r.lineAt(t),a=r.sliceString(i.from,i.to),o=Array.from(su(a));for(let e of o){let r=i.from+e.index,a=r+e[0].length,o=e[0].slice(1);if(n.has(o)&&r>=t){if(t<r)return r;if(t===r)return a}}return null}var bu=Ie.transactionFilter.of(e=>{let t=e.annotation(Be.userEvent);if(!t)return e;let n=e.startState.selection.main;if(!n.empty)return e;if(t===`input.type`||t.startsWith(`input`)){if(e.changes.empty)return e;let t=e.startState.field(nu),n=e.startState.doc,r=!1,i=0,a=[];if(e.changes.iterChanges((e,o,s,c,l)=>{let u=l.toString(),d=e;if(/^\s+$/.test(u)){a.push({from:e,to:o,insert:u});return}let f=n.lineAt(d),p=n.sliceString(f.from,f.to),m=Array.from(su(p)),h=!1,g=!1;for(let e of m){let r=f.from+e.index,i=r+e[0].length,a=e[0].slice(1);if(t.has(a)){if(d===r){let e=d>0?n.sliceString(d-1,d):``;e!==``&&e!==` `&&e!==`
|
|
60
60
|
`&&e!==` `&&(h=!0)}if(d===i){let e=d<n.length?n.sliceString(d,d+1):``;(e===``||e!==` `&&e!==`
|
|
61
61
|
`&&e!==` `)&&(g=!0)}}}let _=u;h&&(_=` ${_}`,i+=1),g&&(_=` ${_}`,i+=1),_!==u&&(r=!0),a.push({from:e,to:o,insert:_})}),r)return[{changes:a,selection:e.selection?{anchor:e.selection.main.anchor+i,head:e.selection.main.head+i}:void 0,scrollIntoView:e.scrollIntoView}]}if(t===`delete.backward`||t===`delete.forward`){let r=null;return t===`delete.backward`?r=hu(e.startState,n.head):t===`delete.forward`&&(r=gu(e.startState,n.head)),r?[{changes:{from:r.from,to:r.to,insert:``},selection:{anchor:r.from},scrollIntoView:!0}]:e}if(e.selection?.main.empty&&n.empty&&!t.startsWith(`input`)&&t!==`input.type`){let t=n.head,r=e.selection.main.head,i=null;if(r<t){let n=_u(e.startState,t);i=n&&t>n.from?n.from:vu(e.startState,t)}else if(r>t){let n=_u(e.startState,t);i=n&&t<n.to?n.to:yu(e.startState,t)}if(i!==null&&i!==r)return[{selection:{anchor:i},scrollIntoView:!0}]}return e}),xu=150;function Su(e,t){let n=new Set;for(let r of su(e)){let e=r[0].slice(1);t.has(e)||n.add(e)}return[...n]}function Cu(e){return[...e].sort().join(`
|
|
62
62
|
`)}function wu(e){return!su(e).next().done}function Tu(e){let t=[],n=[];return e.changes.iterChanges((r,i,a,o)=>{let s=e.startState.doc.lineAt(r),c=e.startState.doc.lineAt(i===r?r:i-1);t.push(e.startState.doc.sliceString(s.from,c.to));let l=e.state.doc.lineAt(a),u=e.state.doc.lineAt(o===a?a:o-1);n.push(e.state.doc.sliceString(l.from,u.to))}),{before:t.join(`
|
|
63
63
|
`),after:n.join(`
|
|
64
|
-
`)}}function Eu(e,t){let n=t.debounceMs??xu,{logger:r,resolve:i}=t;return class{view;timer;running=!1;rerun=!1;lastKey=``;destroyed=!1;constructor(e){this.view=e,this.maybeSchedule(e)}update(e){if(e.docChanged){let t=Tu(e);if(wu(t.before)){this.maybeSchedule(e.view);return}this.maybeSchedule(e.view,t.after)}}destroy(){this.destroyed=!0,this.clearTimer()}maybeSchedule(e,t){let r=t??e.state.doc.toString();if(!wu(r)){t===void 0&&(this.lastKey=``,this.clearTimer());return}let i=Cu(Su(r,e.state.field(nu)));if(i===``){t===void 0&&(this.lastKey=``,this.clearTimer());return}if(i===this.lastKey){this.clearTimer();return}this.clearTimer(),this.timer=setTimeout(()=>{this.timer=void 0,this.run(e)},n)}clearTimer(){this.timer!==void 0&&(clearTimeout(this.timer),this.timer=void 0)}async run(t){if(!this.destroyed){if(this.running){this.rerun=!0;return}this.running=!0;try{do{this.rerun=!1;let n=Su(t.state.doc.toString(),t.state.field(nu));if(n.length===0){this.lastKey=``;break}this.lastKey=Cu(n);let r=i?await i(n):await e();if(this.destroyed)return;let a=new Set(n),o=r.filter(e=>a.has(e.uri));if(o.length===0){if(this.rerun)continue;break}t.dispatch({effects:tu.of(new Map(o.map(e=>[e.uri,e])))}),this.rerun=!0}while(this.rerun)}catch(e){this.lastKey=``,r?.error(`Failed to sync resources:`,e)}finally{this.running=!1}}}}}function Du(e,t={}){return
|
|
64
|
+
`)}}function Eu(e,t){let n=t.debounceMs??xu,{logger:r,resolve:i}=t;return class{view;timer;running=!1;rerun=!1;lastKey=``;destroyed=!1;constructor(e){this.view=e,this.maybeSchedule(e)}update(e){if(e.docChanged){let t=Tu(e);if(wu(t.before)){this.maybeSchedule(e.view);return}this.maybeSchedule(e.view,t.after)}}destroy(){this.destroyed=!0,this.clearTimer()}maybeSchedule(e,t){let r=t??e.state.doc.toString();if(!wu(r)){t===void 0&&(this.lastKey=``,this.clearTimer());return}let i=Cu(Su(r,e.state.field(nu)));if(i===``){t===void 0&&(this.lastKey=``,this.clearTimer());return}if(i===this.lastKey){this.clearTimer();return}this.clearTimer(),this.timer=setTimeout(()=>{this.timer=void 0,this.run(e)},n)}clearTimer(){this.timer!==void 0&&(clearTimeout(this.timer),this.timer=void 0)}async run(t){if(!this.destroyed){if(this.running){this.rerun=!0;return}this.running=!0;try{do{this.rerun=!1;let n=Su(t.state.doc.toString(),t.state.field(nu));if(n.length===0){this.lastKey=``;break}this.lastKey=Cu(n);let r=i?await i(n):await e();if(this.destroyed)return;let a=new Set(n),o=r.filter(e=>a.has(e.uri));if(o.length===0){if(this.rerun)continue;break}t.dispatch({effects:tu.of(new Map(o.map(e=>[e.uri,e])))}),this.rerun=!0}while(this.rerun)}catch(e){this.lastKey=``,r?.error(`Failed to sync resources:`,e)}finally{this.running=!1}}}}}function Du(e,t={}){return Ue.fromClass(Eu(e,t))}var Ou=He.baseTheme({".cm-resource-widget":{background:`light-dark(rgba(86,156,214,0.08),rgba(86,156,214,0.18))`,borderRadius:`4px`,padding:`2px 4px`,color:`light-dark(#2367a2,#7ecbff)`,fontWeight:`500`},".cm-resource-widget:hover":{background:`light-dark(rgba(86,156,214,0.18),rgba(86,156,214,0.28))`},".cm-not-found-resource-widget":{background:`light-dark(rgba(151,151,151,0.08),rgba(151,151,151,0.18))`,borderRadius:`4px`,padding:`2px 4px`,color:`light-dark(#b00020,#ff8080)`,fontWeight:`500`}}),ku=`_none_`,Au=[{uri:``,name:`No resources`,type:ku,data:{}}],ju={info:`Variables, dataframes, and tables will appear here.`,apply:()=>{}};function Mu(e){let t=Xc(e).getAllItems();return t.length===0?Au:t}function Nu(e){let{language:t,store:n,onAddFiles:r}=e,i=()=>Mu(n);return[t.data.of({autocomplete:au(async()=>i(),e=>e.type===ku?ju:Xc(n).getProvider(e.type)?.formatCompletion(e)||{})}),Ve.high(Fe.of([{key:`Tab`,preventDefault:!0,run:e=>qe(e)}])),Gc.of({addAttachment:e=>r?.([e])}),...r?[t.data.of({autocomplete:Zc().createCompletionSource()})]:[],du,bu,Du(i,{logger:R}),nu.init(()=>{let e=Mu(n);return new Map(e.map(e=>[e.uri,e]))}),Ou,mu({createTooltip:e=>{let t=Xc(n).getProvider(e.type);if(!t)return R.warn(`No provider found for resource`,e),Pu(e.description||e.name);let r=t.formatCompletion(e),i=e.description||e.name;if(!r?.info)return Pu(i);if(typeof r.info==`string`)return Pu(r.info);let a=r.info(r);return a?`dom`in a?{dom:a.dom}:`then`in a?(R.warn(`info is a promise. This is not supported`,a),Pu(i)):{dom:a}:Pu(i)}})]}function Pu(e){let t=document.createElement(`div`);return t.innerHTML=e,{dom:t}}var Fu=e=>{let{handleAcceptCompletion:t,handleDeclineCompletion:n,isLoading:r,hasCompletion:i}=e;return e=>{let a=be()?e.metaKey:e.ctrlKey;a&&e.key===`Enter`&&!r&&i&&t(),(e.key===`Delete`||e.key===`Backspace`)&&a&&e.shiftKey&&(n(),e.preventDefault(),e.stopPropagation())}},Iu=e=>{let t=(0,zt.c)(9),{isLoading:n,onAccept:r,onDecline:i,runCell:a}=e,o;t[0]!==n||t[1]!==r||t[2]!==a?(o=(0,Q.jsx)(Lu,{isLoading:n,onAccept:r,size:`xs`,runCell:a}),t[0]=n,t[1]=r,t[2]=a,t[3]=o):o=t[3];let s;t[4]===i?s=t[5]:(s=(0,Q.jsx)(Ru,{onDecline:i,size:`xs`}),t[4]=i,t[5]=s);let c;return t[6]!==o||t[7]!==s?(c=(0,Q.jsxs)(Q.Fragment,{children:[o,s]}),t[6]=o,t[7]=s,t[8]=c):c=t[8],c},Lu=e=>{let t=(0,zt.c)(33),{isLoading:n,onAccept:r,multipleCompletions:i,size:a,buttonStyles:o,acceptShortcut:s,runCell:c,playButtonStyles:l,borderless:u}=e,d=i!==void 0&&i,f=a===void 0?`sm`:a,p=u!==void 0&&u,m;t[0]!==r||t[1]!==c?(m=()=>{r(),c&&c()},t[0]=r,t[1]=c,t[2]=m):m=t[2];let h=m,g=d?`Accept all`:`Accept`;if(c){let e=`h-6 text-(--grass-11) bg-(--grass-3)/60
|
|
65
65
|
hover:bg-(--grass-3) dark:bg-(--grass-4)/80 dark:hover:bg-(--grass-3) font-semibold
|
|
66
66
|
active:bg-(--grass-5) dark:active:bg-(--grass-4)
|
|
67
|
-
border-(--green-6) border hover:shadow-xs rounded-r-none ${p&&`border-none rounded-md rounded-r-none`} ${o}`,i;t[3]===s?i=t[4]:(i=s&&(0,Q.jsx)(At,{className:`ml-1 inline`,shortcut:s}),t[3]=s,t[4]=i);let a;t[5]!==n||t[6]!==r||t[7]!==f||t[8]!==e||t[9]!==i||t[10]!==g?(a=(0,Q.jsxs)(
|
|
67
|
+
border-(--green-6) border hover:shadow-xs rounded-r-none ${p&&`border-none rounded-md rounded-r-none`} ${o}`,i;t[3]===s?i=t[4]:(i=s&&(0,Q.jsx)(At,{className:`ml-1 inline`,shortcut:s}),t[3]=s,t[4]=i);let a;t[5]!==n||t[6]!==r||t[7]!==f||t[8]!==e||t[9]!==i||t[10]!==g?(a=(0,Q.jsxs)(Me,{variant:`text`,size:f,disabled:n,onClick:r,className:e,children:[g,i]}),t[5]=n,t[6]=r,t[7]=f,t[8]=e,t[9]=i,t[10]=g,t[11]=a):a=t[11];let c=d?`Accept and run all cells`:`Accept and run cell`,u=`h-6 text-(--grass-11) bg-(--grass-3)/60
|
|
68
68
|
hover:bg-(--grass-3) dark:bg-(--grass-4)/80 dark:hover:bg-(--grass-3) font-semibold
|
|
69
69
|
active:bg-(--grass-5) dark:active:bg-(--grass-4)
|
|
70
|
-
border-(--green-6) border hover:shadow-xs rounded-l-none px-1.5 ${p&&`border-0 border-l`} ${l}`,m;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,Q.jsx)(
|
|
70
|
+
border-(--green-6) border hover:shadow-xs rounded-l-none px-1.5 ${p&&`border-0 border-l`} ${l}`,m;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,Q.jsx)(ct,{className:`h-2.5 w-2.5`}),t[12]=m):m=t[12];let _;t[13]!==h||t[14]!==n||t[15]!==f||t[16]!==u?(_=(0,Q.jsx)(Me,{variant:`text`,size:f,disabled:n,onClick:h,className:u,children:m}),t[13]=h,t[14]=n,t[15]=f,t[16]=u,t[17]=_):_=t[17];let v;t[18]!==_||t[19]!==c?(v=(0,Q.jsx)(je,{content:c,children:_}),t[18]=_,t[19]=c,t[20]=v):v=t[20];let y;return t[21]!==v||t[22]!==a?(y=(0,Q.jsxs)(`div`,{className:`flex`,children:[a,v]}),t[21]=v,t[22]=a,t[23]=y):y=t[23],y}let _=`h-6 text-(--grass-11) bg-(--grass-3)/60
|
|
71
71
|
hover:bg-(--grass-3) dark:bg-(--grass-4)/80 dark:hover:bg-(--grass-3) font-semibold
|
|
72
72
|
active:bg-(--grass-5) dark:active:bg-(--grass-4)
|
|
73
|
-
border-(--green-6) border hover:shadow-xs rounded px-3 ${o}`,v;t[24]===s?v=t[25]:(v=s&&(0,Q.jsx)(At,{className:`ml-1 inline`,shortcut:s}),t[24]=s,t[25]=v);let y;return t[26]!==n||t[27]!==r||t[28]!==f||t[29]!==_||t[30]!==v||t[31]!==g?(y=(0,Q.jsxs)(
|
|
73
|
+
border-(--green-6) border hover:shadow-xs rounded px-3 ${o}`,v;t[24]===s?v=t[25]:(v=s&&(0,Q.jsx)(At,{className:`ml-1 inline`,shortcut:s}),t[24]=s,t[25]=v);let y;return t[26]!==n||t[27]!==r||t[28]!==f||t[29]!==_||t[30]!==v||t[31]!==g?(y=(0,Q.jsxs)(Me,{variant:`text`,size:f,disabled:n,onClick:r,className:_,children:[g,v]}),t[26]=n,t[27]=r,t[28]=f,t[29]=_,t[30]=v,t[31]=g,t[32]=y):y=t[32],y},Ru=e=>{let t=(0,zt.c)(8),{onDecline:n,multipleCompletions:r,size:i,className:a,declineShortcut:o,borderless:s}=e,c=r!==void 0&&r,l=i===void 0?`sm`:i,u=`h-6 text-(--red-10) bg-(--red-3)/60 hover:bg-(--red-3)
|
|
74
74
|
dark:bg-(--red-4)/80 dark:hover:bg-(--red-3) rounded px-3 font-semibold
|
|
75
75
|
active:bg-(--red-5) dark:active:bg-(--red-4)
|
|
76
|
-
border-(--red-6) border hover:shadow-xs ${s!==void 0&&s&&`border-none rounded-md`} ${a}`,d=c&&` all`,f;t[0]===o?f=t[1]:(f=o&&(0,Q.jsx)(At,{className:`ml-1 inline`,shortcut:o}),t[0]=o,t[1]=f);let p;return t[2]!==n||t[3]!==l||t[4]!==u||t[5]!==d||t[6]!==f?(p=(0,Q.jsxs)(
|
|
77
|
-
`},selection:{anchor:n+1,head:n+1}}),t.preventDefault(),t.stopPropagation(),!0}return!1}}])),t[12]=h,t[13]=
|
|
76
|
+
border-(--red-6) border hover:shadow-xs ${s!==void 0&&s&&`border-none rounded-md`} ${a}`,d=c&&` all`,f;t[0]===o?f=t[1]:(f=o&&(0,Q.jsx)(At,{className:`ml-1 inline`,shortcut:o}),t[0]=o,t[1]=f);let p;return t[2]!==n||t[3]!==l||t[4]!==u||t[5]!==d||t[6]!==f?(p=(0,Q.jsxs)(Me,{variant:`text`,size:l,onClick:n,className:u,children:[`Reject`,d,f]}),t[2]=n,t[3]=l,t[4]=u,t[5]=d,t[6]=f,t[7]=p):p=t[7],p},zu=class extends Ho{onChunkReceived;constructor(e,t){super(e),this.onChunkReceived=t}processResponseStream(e){let t=this.onChunkReceived;return super.processResponseStream(e).pipeThrough(new TransformStream({async transform(e,n){t(e),n.enqueue(e)}}))}},Bu=y(`marimo:ai-language`,`python`,ne),Vu=`marimo:ai-prompt-history`,Hu=new w(M(A()),()=>[]),Uu=({onClose:e})=>{let t=i(),[n,o]=(0,X.useState)(``),{deleteAllStagedCells:s,clearStagedCells:c,onStream:u,addStagedCell:f}=hl(t),[m,h]=r(Bu),g=Se(),{invokeAiTool:_,sendRun:v}=Ze(),y=a(dl),b=(0,X.useRef)(null),x=(0,X.useRef)(null),{files:S,addFiles:C,removeFile:w}=Wl(),T=a(xe),{createNewCell:ee,prepareForRun:E}=d(),te={store:t,addStagedCell:f,createNewCell:ee,prepareForRun:E,sendRun:v},{sendMessage:ne,stop:re,status:D,addToolOutput:ie}=bc({throttle:100,transport:new zu({api:g.getAiURL(`completion`).toString(),headers:()=>g.headers(),prepareSendMessagesRequest:async e=>{let t=await zl(e.messages),n={...e,...t,code:``,prompt:``,language:m};return{api:g.getAiURL(`completion`).toString(),body:n}}},e=>{u(e)}),onToolCall:async({toolCall:e})=>{await Bl({invokeAiTool:_,addToolOutput:ie,toolCall:{toolName:e.toolName,toolCallId:e.toolCallId,input:e.input},toolContext:te})},onError:e=>{bt({title:`Generate with AI failed`,description:Tt(e)})}}),ae=D===`streaming`||D===`submitted`,O=y.size>0,k=T?.models?.edit_model||`openai/gpt-4o`,oe=ve.parse(k).providerId,A=Ml.has(oe),se=async()=>{if(!ae){b.current?.view&&Ac(b.current.view),s();let e=S?await Il(S):void 0;ne({text:n,files:e})}},j=(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(jt,{className:`size-4 mr-2`}),`Python`]}),ce=(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(p,{className:`size-4 mr-2`}),`SQL`]}),M=(0,Q.jsxs)(Ae,{modal:!1,children:[(0,Q.jsxs)(Oe,{className:`flex items-center justify-between h-7 text-xs px-2 py-0.5 border rounded-md hover:text-accent-foreground`,"data-testid":`language-button`,children:[m===`python`?j:ce,(0,Q.jsx)(rt,{className:`ml-1 h-3.5 w-3.5 text-muted-foreground/70`})]}),(0,Q.jsxs)(ke,{align:`center`,children:[(0,Q.jsx)(`div`,{className:`px-2 py-1 text-sm text-muted-foreground`,children:`Select language`}),(0,Q.jsx)(De,{}),(0,Q.jsx)(Ee,{onClick:()=>h(`python`),children:j}),(0,Q.jsx)(Ee,{onClick:()=>h(`sql`),children:ce})]})]}),N=()=>{c(),e()},le=()=>{s(),b.current?.view?.focus()},ue=()=>{s(),e()},de=(0,Q.jsxs)(`div`,{className:`flex items-center px-3`,children:[(0,Q.jsx)(l,{className:`size-4 text-(--blue-11) mr-2`}),(0,Q.jsx)(Wu,{inputRef:b,onClose:ue,value:n,onChange:e=>{o(e)},onSubmit:se,onKeyDown:Fu({handleAcceptCompletion:N,handleDeclineCompletion:le,isLoading:ae,hasCompletion:O})}),(0,Q.jsx)(Me,{variant:`text`,size:`sm`,className:`mb-0 px-1`,onClick:ue,children:(0,Q.jsx)(nt,{className:`size-4`})})]}),P=(0,Q.jsxs)(`div`,{className:`px-3 pt-1 flex flex-row items-center justify-between`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(ye,{triggerClassName:`h-7 text-xs max-w-64`,iconSize:`small`,forRole:`edit`,showAddCustomModelDocs:!0}),M]}),(0,Q.jsxs)(`div`,{className:`flex flex-row items-center`,children:[S.length>0&&(0,Q.jsx)(`div`,{className:`flex flex-row gap-1 flex-wrap pr-1`,children:S?.map((e,t)=>(0,Q.jsx)(Yl,{file:e,onRemove:()=>w(e)},`${e.name}-${t}`))}),(0,Q.jsx)(Zl,{handleAddContext:()=>cl(b),isLoading:ae}),A&&(0,Q.jsx)(Ql,{fileInputRef:x,isLoading:ae,onAddFiles:C}),(0,Q.jsx)(Xl,{isLoading:ae,onStop:re,onSendClick:se,isEmpty:!n.trim(),showStopLabel:!0})]})]});return(0,Q.jsxs)(`div`,{className:Ce(`flex flex-col w-full py-2`),children:[de,P]})},Wu=e=>{let t=(0,zt.c)(35),{value:n,placeholder:r,inputRef:a,className:o,onChange:c,onSubmit:l,onKeyDown:u,onClose:d,onAddFiles:f,additionalCompletions:p,maxHeight:m}=e,h=l,g=d,_=i(),{theme:v}=St(),y;t[0]===p?y=t[1]:(y=e=>p?sl([p.triggerCompletionRegex],p.completions)(e):null,t[0]=p,t[1]=y);let b=s(y),x,S,C,w;if(t[2]!==b||t[3]!==f||t[4]!==_){let e=vt();t[9]===Symbol.for(`react.memo_cache_sentinel`)?(x=Ye({}),t[9]=x):x=t[9],S=e,C=Nu({language:e.language,store:_,onAddFiles:f}),w=e.language.data.of({autocomplete:b}),t[2]=b,t[3]=f,t[4]=_,t[5]=x,t[6]=S,t[7]=C,t[8]=w}else x=t[5],S=t[6],C=t[7],w=t[8];let T;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(T=jc({storage:{load:Gu,save:Ku}}),t[10]=T):T=t[10];let ee;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(ee=Et(),t[11]=ee):ee=t[11];let E;t[12]===h?E=t[13]:(E=Ve.highest(Fe.of([{preventDefault:!0,stopPropagation:!0,any:(e,t)=>{let n=t.metaKey||t.ctrlKey||t.shiftKey;if(t.key===`Enter`&&!n)return h(t,e.state.doc.toString()),t.preventDefault(),t.stopPropagation(),!0;if(t.key===`Enter`&&t.shiftKey){let n=e.state.selection.main.from;return e.dispatch({changes:{from:n,to:n,insert:`
|
|
77
|
+
`},selection:{anchor:n+1,head:n+1}}),t.preventDefault(),t.stopPropagation(),!0}return!1}}])),t[12]=h,t[13]=E);let te;t[14]===g?te=t[15]:(te=Fe.of([{key:`Escape`,preventDefault:!0,stopPropagation:!0,run:()=>(g(),!0)}]),t[14]=g,t[15]=te);let ne;t[16]!==x||t[17]!==S||t[18]!==C||t[19]!==w||t[20]!==E||t[21]!==te?(ne=[x,S,C,w,T,He.lineWrapping,ee,E,te],t[16]=x,t[17]=S,t[18]=C,t[19]=w,t[20]=E,t[21]=te,t[22]=ne):ne=t[22];let re=ne,D;t[23]===o?D=t[24]:(D=Ce(`flex-1 font-sans overflow-auto my-1`,o),t[23]=o,t[24]=D);let ie=v===`dark`?`dark`:`light`,ae=r||`Generate with AI, @ to include context`,O;return t[25]!==re||t[26]!==a||t[27]!==m||t[28]!==c||t[29]!==u||t[30]!==D||t[31]!==ie||t[32]!==ae||t[33]!==n?(O=(0,Q.jsx)(Dt,{ref:a,className:D,width:`100%`,maxHeight:m,value:n,basicSetup:!1,extensions:re,onChange:c,onKeyDown:u,theme:ie,placeholder:ae}),t[25]=re,t[26]=a,t[27]=m,t[28]=c,t[29]=u,t[30]=D,t[31]=ie,t[32]=ae,t[33]=n,t[34]=O):O=t[34],O};function Gu(){return Hu.get(Vu)}function Ku(e){return Hu.set(Vu,e)}export{tl as A,So as B,ql as C,hl as D,fl as E,xc as F,Rt as H,Ho as I,jo as L,Xc as M,Ac as N,cl as O,bc as P,bo as R,Wl as S,dl as T,Lt as U,xa as V,It as W,Bl as _,Iu as a,Ll as b,Zl as c,Yl as d,Xl as f,Fl as g,Il as h,Lu as i,il as j,Qc as k,Ql as l,Ml as m,Wu as n,Ru as o,eu as p,zu as r,Fu as s,Uu as t,Jl as u,Vl as v,jl as w,Kl as x,Hl as y,Fo as z};
|