@marimo-team/frontend 0.25.3-dev2 → 0.25.3-dev21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{CellStatus-BP2mavAq.js → CellStatus-O0rU3_5j.js} +1 -1
- package/dist/assets/{ConnectedDataExplorerComponent-t8fH_TNc.js → ConnectedDataExplorerComponent-TprnxZeJ.js} +1 -1
- package/dist/assets/{ErrorBoundary-Gl5nCA8C.js → ErrorBoundary-BkSCfv3B.js} +2 -2
- package/dist/assets/JsonOutput-Dq6MGIMV.js +11 -0
- package/dist/assets/{LazyAnyLanguageCodeMirror-CKcCbG2G.js → LazyAnyLanguageCodeMirror-B4fCknq1.js} +2 -2
- package/dist/assets/MarimoErrorOutput-BLtCVffa.js +10 -0
- package/dist/assets/{RenderHTML-BbOqmHy3.js → RenderHTML-PtQ99V0D.js} +1 -1
- package/dist/assets/{RunButton-CK3LhnP5.js → RunButton-B8KRdPZ-.js} +1 -1
- package/dist/assets/{add-cell-with-ai-8UBC0xwR.js → add-cell-with-ai-BOBZjUxI.js} +13 -13
- package/dist/assets/{add-connection-dialog-DXQnd6eB.js → add-connection-dialog-DP62zXw2.js} +2 -2
- package/dist/assets/{agent-panel-D7kMZLG-.js → agent-panel-BFul7UiF.js} +5 -5
- package/dist/assets/ai-model-dropdown-sTKkdrbX.js +13 -0
- package/dist/assets/{any-language-editor-BLCAD3yx.js → any-language-editor-BdTWdMCI.js} +1 -1
- package/dist/assets/{app-config-button-BKEG4x9u.js → app-config-button-Bp44UZdD.js} +1 -1
- package/dist/assets/{blob-D5nfNHOo.js → blob-ykpU69Lk.js} +1 -1
- package/dist/assets/{cell-editor-ADVfycpN.js → cell-editor-B7YlotyH.js} +9 -9
- package/dist/assets/{cell-link-LSth_8hT.js → cell-link-CmO9D2a2.js} +1 -1
- package/dist/assets/{cells-BRkCaSsh.js → cells-BMs-CYDt.js} +31 -31
- package/dist/assets/{chat-display-Dnagy4Nv.js → chat-display-Dw8HQAAY.js} +1 -1
- package/dist/assets/{chat-panel-DQ6HkWEF.js → chat-panel-DPDZrfoJ.js} +2 -2
- package/dist/assets/{chat-ui-Df8Vcj6n.js → chat-ui-BxnFw9Za.js} +1 -1
- package/dist/assets/code-visibility-CGVmpSdE.js +1 -0
- package/dist/assets/coerce-DWjFeXOY.js +1 -0
- package/dist/assets/{column-preview-Cm2D6vyX.js → column-preview-BQ4k86Lv.js} +1 -1
- package/dist/assets/{command-palette-DTSQ7gOC.js → command-palette-BfxYnBUD.js} +1 -1
- package/dist/assets/{common-Cu6CDbuw.js → common-CzWTWhcY.js} +1 -1
- package/dist/assets/{components-CGw16R_N.js → components-C-p2nJ78.js} +1 -1
- package/dist/assets/{components-CP_UoFtT.js → components-CskjK6xZ.js} +1 -1
- package/dist/assets/{components-CXfO-F47.js → components-YBmtV0p6.js} +1 -1
- package/dist/assets/config-BtRLgrlt.js +104 -0
- package/dist/assets/{config-VPSq73n8.js → config-CA1V-wjh.js} +1 -1
- package/dist/assets/config-CMUeR8Wr.js +1 -0
- package/dist/assets/{datasource-Cq6x_5ML.js → datasource-CEDUN47W.js} +1 -1
- package/dist/assets/{dates-BbFQ2oE4.js → dates-CfmdTL6B.js} +1 -1
- package/dist/assets/{dependency-graph-panel--Kgtktcw.js → dependency-graph-panel-KWuUrABU.js} +1 -1
- package/dist/assets/{documentation-panel-BHmbeznw.js → documentation-panel-T1wYs9YS.js} +1 -1
- package/dist/assets/{download-DCJXy66H.js → download-Bt4rM2gS.js} +1 -1
- package/dist/assets/edit-page-DIxL37jf.js +9 -0
- package/dist/assets/{error-banner-Cd69vvyX.js → error-banner-COZ7SfYV.js} +1 -1
- package/dist/assets/{error-entries-Dk3VZ-OK.js → error-entries-CQTemuon.js} +1 -1
- package/dist/assets/{error-panel-BPRYmC5J.js → error-panel-BmlN965r.js} +1 -1
- package/dist/assets/{errors-DCrsa1nH.js → errors-CNsgAw6m.js} +1 -1
- package/dist/assets/{feedback-button-Bik2-e33.js → feedback-button-CO89l9HJ.js} +2 -2
- package/dist/assets/feedback-button-QWfd9e1X.js +1 -0
- package/dist/assets/{file-explorer-panel-BEEK5lcl.js → file-explorer-panel-Bs25Xwng.js} +1 -1
- package/dist/assets/{file-name-input-Cdc-TVqO.js → file-name-input-DgR3ynbz.js} +1 -1
- package/dist/assets/{floating-outline-XD9FAV-f.js → floating-outline-kOJ_XOxZ.js} +1 -1
- package/dist/assets/{gallery-page-Dm6mGwBi.js → gallery-page--AiS7R2S.js} +1 -1
- package/dist/assets/{glide-data-editor-J9CAb70d.js → glide-data-editor-FopeFe04.js} +1 -1
- package/dist/assets/{home-page-DMHnsRxm.js → home-page-DEUEDKZQ.js} +1 -1
- package/dist/assets/hooks-CsCHI0xl.js +1 -0
- package/dist/assets/index-6b4mf8Ai.css +2 -0
- package/dist/assets/index-BXheV3uz.js +30 -0
- package/dist/assets/{layout-DmcNEu3P.js → layout-CcQIAduN.js} +5 -5
- package/dist/assets/{logs-panel-ABM16htT.js → logs-panel-Cj-mRfbP.js} +1 -1
- package/dist/assets/{markdown-renderer-BG3sp2rs.js → markdown-renderer-Dg2Tj8xg.js} +1 -1
- package/dist/assets/{mermaid-a3xYymTy.js → mermaid-C4EiVqcd.js} +1 -1
- package/dist/assets/{name-cell-input-BgEBmqyL.js → name-cell-input-DhWcLBL9.js} +1 -1
- package/dist/assets/{outline-panel-DCXQ3_F6.js → outline-panel-DCCN7CCz.js} +1 -1
- package/dist/assets/{packages-panel-BMGOmZkR.js → packages-panel-cI3VRnI0.js} +1 -1
- package/dist/assets/{panel-accordion-state-C1sdPp0m.js → panel-accordion-state-CrUAB8rV.js} +1 -1
- package/dist/assets/panels-DeK2CjCU.js +4 -0
- package/dist/assets/{process-output-D0KGq04R.js → process-output-C0AVlTcL.js} +1 -1
- package/dist/assets/{readonly-code-display-Do50PHI8.js → readonly-code-display-CEGKPKlf.js} +1 -1
- package/dist/assets/{readonly-python-code-DCSMIsTX.js → readonly-python-code-kOLuuvuL.js} +1 -1
- package/dist/assets/{renderShortcut-BkVJQ_Zh.js → renderShortcut-C1JwYcqW.js} +1 -1
- package/dist/assets/{reveal-component-ltaepAqw.js → reveal-component-m_Q_Dhsa.js} +3 -3
- package/dist/assets/{run-page-DF3c5cDk.js → run-page-ZPnT0tT8.js} +1 -1
- package/dist/assets/{runtime-details-state-CSPobEdR.js → runtime-details-state-DRpKx1d7.js} +1 -1
- package/dist/assets/{schemas-Dv42wLFq.js → schemas-ChRqMOTL.js} +1 -1
- package/dist/assets/{scratchpad-panel-Dwd6W5PE.js → scratchpad-panel-4r5I7_4T.js} +1 -1
- package/dist/assets/{secrets-panel-Bctbtkrp.js → secrets-panel-D7KN4tVs.js} +1 -1
- package/dist/assets/session-panel-B-fUHivk.js +1 -0
- package/dist/assets/{snippets-panel-Bh1oTw4m.js → snippets-panel-QqliOy2l.js} +1 -1
- package/dist/assets/state-BAKG3nB6.js +3 -0
- package/dist/assets/{state-XsPO8hNi.js → state-BiuybHTd.js} +1 -1
- package/dist/assets/{terminal-Ck_vK-34.js → terminal-CP30at9D.js} +3 -3
- package/dist/assets/{tracing-Di6pUmX8.js → tracing-Cg6nJ9oa.js} +1 -1
- package/dist/assets/{tracing-panel-PeRXHD8_.js → tracing-panel-_OkwL3ST.js} +2 -2
- package/dist/assets/{tree-actions-GM5E_bUs.js → tree-actions-D5U7Yym8.js} +1 -1
- package/dist/assets/{useAddCell-GR7eEQrT.js → useAddCell-C3jdhSc9.js} +1 -1
- package/dist/assets/{useBoolean-BDD6_xQQ.js → useBoolean-BHCcNH_F.js} +1 -1
- package/dist/assets/{useCellActionButton-B-9eG5z_.js → useCellActionButton-Db-2kvJ0.js} +1 -1
- package/dist/assets/{useDeleteCell-2_bMClHd.js → useDeleteCell-D0dwhgwH.js} +1 -1
- package/dist/assets/{useDependencyPanelTab-k3C3M18S.js → useDependencyPanelTab-BjQVPzm0.js} +1 -1
- package/dist/assets/{useInstallPackage-iX1eufdl.js → useInstallPackage-B-krIeGp.js} +1 -1
- package/dist/assets/useNotebookActions-CY_gTNzg.js +1 -0
- package/dist/assets/{useRunCells-B2vUhREg.js → useRunCells-Dyf_vzJl.js} +1 -1
- package/dist/assets/{useSplitCell-DEb03htp.js → useSplitCell-DA8ujlOv.js} +1 -1
- package/dist/assets/{useTheme-COhSHkCj.js → useTheme-n8Dj1zH7.js} +1 -1
- package/dist/assets/{vega-component-CnadTgoE.js → vega-component-CaZvZfgt.js} +1 -1
- package/dist/index.html +40 -41
- package/package.json +1 -1
- package/src/__tests__/fixtures/{pair-preview.ts → pair-config.ts} +3 -2
- package/src/__tests__/mount.test.ts +28 -8
- package/src/components/data-table/__tests__/context-menu.test.ts +176 -0
- package/src/components/data-table/__tests__/date-filter-inputs.test.tsx +24 -1
- package/src/components/data-table/__tests__/export-actions.test.tsx +329 -6
- package/src/components/data-table/context-menu.tsx +125 -26
- package/src/components/data-table/date-filter-inputs.tsx +15 -42
- package/src/components/data-table/export-actions.tsx +192 -116
- package/src/components/data-table/schemas.ts +14 -36
- package/src/components/data-table/utils.ts +18 -0
- package/src/components/editor/Output.tsx +9 -2
- package/src/components/editor/actions/__tests__/pair-with-agent-commands.test.ts +80 -252
- package/src/components/editor/actions/__tests__/pair-with-agent-modal.test.tsx +186 -34
- package/src/components/editor/actions/pair-with-agent-commands.ts +42 -51
- package/src/components/editor/actions/pair-with-agent-modal.tsx +96 -36
- package/src/components/editor/chrome/panels/error-panel.tsx +1 -0
- package/src/components/editor/chrome/wrapper/__tests__/attachment-status.test.tsx +366 -0
- package/src/components/editor/chrome/wrapper/footer-item.tsx +32 -24
- package/src/components/editor/chrome/wrapper/footer-items/attachment-status.tsx +237 -0
- package/src/components/editor/chrome/wrapper/footer.tsx +2 -0
- package/src/components/editor/errors/__tests__/send-error-report-button.test.tsx +537 -0
- package/src/components/editor/errors/send-error-report-button.tsx +69 -0
- package/src/components/editor/output/MarimoErrorOutput.tsx +21 -5
- package/src/components/editor/output/MarimoTracebackOutput.tsx +35 -20
- package/src/components/editor/output/__tests__/ansi-reduce.test.ts +18 -0
- package/src/components/editor/output/ansi-reduce.ts +6 -0
- package/src/core/attachments/__tests__/toast.test.tsx +58 -0
- package/src/core/attachments/state.ts +18 -0
- package/src/core/attachments/toast.ts +15 -0
- package/src/core/cells/__tests__/cells.test.ts +52 -0
- package/src/core/cells/__tests__/error-report.test.ts +139 -0
- package/src/core/cells/__tests__/session.test.ts +50 -1
- package/src/core/cells/error-report.ts +63 -0
- package/src/core/cells/session.ts +28 -1
- package/src/core/config/pair.ts +5 -3
- package/src/core/edit-app.tsx +2 -2
- package/src/core/host/AGENTS.md +5 -0
- package/src/core/host/__tests__/attachments.test.ts +57 -0
- package/src/core/host/__tests__/document.test.ts +124 -0
- package/src/core/host/__tests__/events.test.ts +46 -0
- package/src/core/host/__tests__/fixtures.ts +39 -0
- package/src/core/host/__tests__/notebook-client.test.ts +433 -0
- package/src/core/host/__tests__/stream.test.ts +211 -0
- package/src/core/host/connection.ts +81 -0
- package/src/core/host/events.ts +61 -0
- package/src/core/host/notebook-client.ts +290 -0
- package/src/core/host/resources/attachments.ts +19 -0
- package/src/core/host/resources/document.ts +101 -0
- package/src/core/host/resources/resource.ts +59 -0
- package/src/core/host/stream.ts +213 -0
- package/src/core/network/connection.ts +4 -2
- package/src/core/run-app.tsx +2 -2
- package/src/core/runtime/__tests__/runtime.test.ts +55 -11
- package/src/core/runtime/runtime.ts +15 -1
- package/src/core/runtime/types.ts +2 -0
- package/src/core/websocket/__tests__/{useMarimoKernelConnection.test.ts → connection-state.test.ts} +15 -17
- package/src/core/websocket/__tests__/{useWebSocket.test.ts → createConnectionTransport.test.ts} +1 -1
- package/src/core/websocket/__tests__/useNotebookClient.hook.test.tsx +170 -0
- package/src/core/websocket/__tests__/{useMarimoKernelConnection.hook.test.tsx → useNotebookSession.hook.test.tsx} +181 -65
- package/src/core/websocket/connection-state.ts +70 -0
- package/src/core/websocket/state.ts +7 -0
- package/src/core/websocket/transports/__tests__/sse.test.ts +1 -4
- package/src/core/websocket/transports/create.ts +31 -0
- package/src/core/websocket/transports/transport.ts +12 -23
- package/src/core/websocket/types.ts +9 -39
- package/src/core/websocket/useNotebookClient.ts +88 -0
- package/src/core/websocket/{useMarimoKernelConnection.tsx → useNotebookSession.tsx} +59 -225
- package/src/mount.tsx +7 -3
- package/src/plugins/impl/__tests__/DataTablePlugin.test.tsx +84 -0
- package/src/utils/__tests__/dates.test.ts +116 -0
- package/src/utils/dates.ts +94 -0
- package/dist/assets/JsonOutput-D6HIIsCb.js +0 -11
- package/dist/assets/MarimoErrorOutput-D60XkCny.js +0 -6
- package/dist/assets/ai-model-dropdown-B0z6-zhp.js +0 -5
- package/dist/assets/api-BeC_VSGv.js +0 -1
- package/dist/assets/code-visibility-B-_GvwR5.js +0 -1
- package/dist/assets/coerce-CpE6kUdX.js +0 -1
- package/dist/assets/config-BOKzA3tF.js +0 -1
- package/dist/assets/config-DX8Y2WbJ.js +0 -1
- package/dist/assets/edit-page-ChcSgpke.js +0 -9
- package/dist/assets/feedback-button-B2gKC5cn.js +0 -1
- package/dist/assets/hooks-93IwHd2u.js +0 -1
- package/dist/assets/index-Bcdzex-3.css +0 -2
- package/dist/assets/index-s-M1OXjs.js +0 -29
- package/dist/assets/pair-CaQyK6En.js +0 -1
- package/dist/assets/panels-CxVG8-v2.js +0 -4
- package/dist/assets/session-panel-VdDhEBa-.js +0 -1
- package/dist/assets/state-_Qai_QyX.js +0 -3
- package/dist/assets/useNotebookActions-NHN6A-cN.js +0 -1
- package/src/core/websocket/useWebSocket.tsx +0 -88
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g as e}from"./useEventListener-D9cftcHj.js";import{r as t}from"./config-DX8Y2WbJ.js";import{t as n}from"./strings-B2vv-ENv.js";import{r}from"./errors-DCrsa1nH.js";var i={"Content-Type":`application/json`},a=/\{[^{}]+\}/g,o=class extends Request{constructor(e,t){super(e,t);for(let e in t)e in this||(this[e]=t[e])}};function s(e){let{baseUrl:t=``,fetch:n=globalThis.fetch,querySerializer:r,bodySerializer:a,headers:s,...c}={...e};t.endsWith(`/`)&&(t=t.substring(0,t.length-1)),s=h(i,s);let l=[];async function u(e,i){let{fetch:u=n,headers:f,params:g={},parseAs:_=`json`,querySerializer:v,bodySerializer:y=a??p,...b}=i||{},x=typeof r==`function`?r:d(r);v&&(x=typeof v==`function`?v:d({...typeof r==`object`?r:{},...v}));let S={redirect:`follow`,...c,...b,headers:h(s,f,g.header)};S.body&&=y(S.body),S.body instanceof FormData&&S.headers.delete(`Content-Type`);let C=new o(m(e,{baseUrl:t,params:g,querySerializer:x}),S),w={baseUrl:t,fetch:u,parseAs:_,querySerializer:x,bodySerializer:y};for(let t of l)if(t&&typeof t==`object`&&typeof t.onRequest==`function`){C.schemaPath=e,C.params=g;let n=await t.onRequest(C,w);if(n){if(!(n instanceof Request))throw Error(`Middleware must return new Request() when modifying the request`);C=n}}let T=await u(C);for(let e=l.length-1;e>=0;e--){let t=l[e];if(t&&typeof t==`object`&&typeof t.onResponse==`function`){let e=await t.onResponse(T,w);if(e){if(!(e instanceof Response))throw Error(`Middleware must return new Response() when modifying the response`);T=e}}}if(T.status===204||T.headers.get(`Content-Length`)===`0`)return T.ok?{data:{},response:T}:{error:{},response:T};if(T.ok)return _===`stream`?{data:T.body,response:T}:{data:await T[_](),response:T};let E=await T.text();try{E=JSON.parse(E)}catch{}return{error:E,response:T}}return{async GET(e,t){return u(e,{...t,method:`GET`})},async PUT(e,t){return u(e,{...t,method:`PUT`})},async POST(e,t){return u(e,{...t,method:`POST`})},async DELETE(e,t){return u(e,{...t,method:`DELETE`})},async OPTIONS(e,t){return u(e,{...t,method:`OPTIONS`})},async HEAD(e,t){return u(e,{...t,method:`HEAD`})},async PATCH(e,t){return u(e,{...t,method:`PATCH`})},async TRACE(e,t){return u(e,{...t,method:`TRACE`})},use(...e){for(let t of e)if(t){if(typeof t!=`object`||!(`onRequest`in t||`onResponse`in t))throw Error("Middleware must be an object with one of `onRequest()` or `onResponse()`");l.push(t)}},eject(...e){for(let t of e){let e=l.indexOf(t);e!==-1&&l.splice(e,1)}}}}function c(e,t,n){if(t==null)return``;if(typeof t==`object`)throw Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${e}=${n?.allowReserved===!0?t:encodeURIComponent(t)}`}function l(e,t,n){if(!t||typeof t!=`object`)return``;let r=[],i={simple:`,`,label:`.`,matrix:`;`}[n.style]||`&`;if(n.style!==`deepObject`&&n.explode===!1){for(let e in t)r.push(e,n.allowReserved===!0?t[e]:encodeURIComponent(t[e]));let i=r.join(`,`);switch(n.style){case`form`:return`${e}=${i}`;case`label`:return`.${i}`;case`matrix`:return`;${e}=${i}`;default:return i}}for(let i in t){let a=n.style===`deepObject`?`${e}[${i}]`:i;r.push(c(a,t[i],n))}let a=r.join(i);return n.style===`label`||n.style===`matrix`?`${i}${a}`:a}function u(e,t,n){if(!Array.isArray(t))return``;if(n.explode===!1){let r={form:`,`,spaceDelimited:`%20`,pipeDelimited:`|`}[n.style]||`,`,i=(n.allowReserved===!0?t:t.map(e=>encodeURIComponent(e))).join(r);switch(n.style){case`simple`:return i;case`label`:return`.${i}`;case`matrix`:return`;${e}=${i}`;default:return`${e}=${i}`}}let r={simple:`,`,label:`.`,matrix:`;`}[n.style]||`&`,i=[];for(let r of t)n.style===`simple`||n.style===`label`?i.push(n.allowReserved===!0?r:encodeURIComponent(r)):i.push(c(e,r,n));return n.style===`label`||n.style===`matrix`?`${r}${i.join(r)}`:i.join(r)}function d(e){return function(t){let n=[];if(t&&typeof t==`object`)for(let r in t){let i=t[r];if(i!=null){if(Array.isArray(i)){n.push(u(r,i,{style:`form`,explode:!0,...e?.array,allowReserved:e?.allowReserved||!1}));continue}if(typeof i==`object`){n.push(l(r,i,{style:`deepObject`,explode:!0,...e?.object,allowReserved:e?.allowReserved||!1}));continue}n.push(c(r,i,e))}}return n.join(`&`)}}function f(e,t){let n=e;for(let r of e.match(a)??[]){let e=r.substring(1,r.length-1),i=!1,a=`simple`;if(e.endsWith(`*`)&&(i=!0,e=e.substring(0,e.length-1)),e.startsWith(`.`)?(a=`label`,e=e.substring(1)):e.startsWith(`;`)&&(a=`matrix`,e=e.substring(1)),!t||t[e]===void 0||t[e]===null)continue;let o=t[e];if(Array.isArray(o)){n=n.replace(r,u(e,o,{style:a,explode:i}));continue}if(typeof o==`object`){n=n.replace(r,l(e,o,{style:a,explode:i}));continue}if(a===`matrix`){n=n.replace(r,`;${c(e,o)}`);continue}n=n.replace(r,a===`label`?`.${o}`:o)}return n}function p(e){return JSON.stringify(e)}function m(e,t){let n=`${t.baseUrl}${e}`;t.params?.path&&(n=f(n,t.params.path));let r=t.querySerializer(t.params.query??{});return r.startsWith(`?`)&&(r=r.substring(1)),r&&(n+=`?${r}`),n}function h(...e){let t=new Headers;for(let n of e){if(!n||typeof n!=`object`)continue;let e=n instanceof Headers?n.entries():Object.entries(n);for(let[n,r]of e)if(r===null)t.delete(n);else if(Array.isArray(r))for(let e of r)t.append(n,e);else r!==void 0&&t.set(n,r)}return t}function g(e){return s(e)}function _(){let e=t().httpURL;return e.search=``,e.hash=``,e.toString()}function v(e){if(!e)return;let t=e.match(/filename\*=UTF-8''([^;]+)/i);if(t)try{return decodeURIComponent(t[1])}catch{return}let n=e.match(/filename="([^"]+)"/i);if(n)return n[1];let r=e.match(/filename=([^;]+)/i);if(r)return r[1].trim()}function y(t){let n=v(t.headers.get(`Content-Disposition`));return n||e.warn(`Export response is missing a readable Content-Disposition filename`),n}var b={post(t,i,a={}){let o=`${n.withTrailingSlash(a.baseUrl??_())}api${t}`;return fetch(o,{method:`POST`,headers:{"Content-Type":`application/json`,...b.headers(),...a.headers},body:JSON.stringify(i),signal:a.signal}).then(async e=>{let t=e.headers.get(`Content-Type`)?.startsWith(`application/json`);if(!e.ok){let n=t?await e.json():await e.text();throw new r(e.status,e.statusText,n)}return t?e.json():e.text()}).catch(t=>{throw t?.name!==`AbortError`&&e.error(`Error requesting ${o}`,t),t})},get(t,i={}){let a=`${n.withTrailingSlash(i.baseUrl??_())}api${t}`;return fetch(a,{method:`GET`,headers:{...b.headers(),...i.headers}}).then(e=>{if(!e.ok)throw new r(e.status,e.statusText);return e.headers.get(`Content-Type`)?.startsWith(`application/json`)?e.json():null}).catch(t=>{throw e.error(`Error requesting ${a}`,t),t})},headers(){return t().headers()},handleResponse:e=>e.error?Promise.reject(new r(e.response.status,e.response.statusText,e.error)):Promise.resolve(e.data),handleExportResponse:async(e,t)=>{let n=await b.handleResponse(e),r=e.response.headers.get(`Content-Type`);if(!r)throw Error(`Export response is missing a media type`);return{contents:n,filename:y(e.response)??t.defaultFilename,mediaType:r}},handleResponseReturnNull:e=>e.error?Promise.reject(new r(e.response.status,e.response.statusText,e.error)):Promise.resolve(null)};function x(e){let t=g({baseUrl:e.httpURL.toString()});return t.use({onRequest:t=>{let n=e.headers();for(let[e,r]of Object.entries(n))t.headers.set(e,r);return t}}),t}export{x as n,b as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{f as e,l as t}from"./useEvent-Dfcbgjhg.js";import{t as n}from"./compiler-runtime-BrajqUja.js";import{i as r,t as i}from"./utils-B4K466FK.js";import{m as a,v as o}from"./session-DqoWmb7X.js";import{M as s,_ as c,l,w as u}from"./config-DX8Y2WbJ.js";import{r as d}from"./state-BAJYRhmO.js";import{i as f,n as p,o as m}from"./state-C3oDoyFe.js";import{i as h}from"./strings-B2vv-ENv.js";var g=n(),_={canHealthCheck:!1,canShutdown:!1,canRestart:!1,supportsLsp:!1},v={kind:`wasm`,label:`Pyodide`,capabilities:_,state:e(e=>{let t=e(m);switch(t.kind){case`loading`:return{kind:`connecting`,progress:{label:t.message}};case`ready`:return{kind:`ready`};case`error`:return{kind:`failed`,error:{message:t.message,errorKind:`init`}}}})},y={kind:`remote`,label:`Kernel`,capabilities:{canHealthCheck:!0,canShutdown:!0,canRestart:!0,supportsLsp:!0},state:e(e=>{let t=e(c);switch(t.state){case u.OPEN:return{kind:`ready`};case u.CONNECTING:return{kind:`connecting`,progress:{label:`Connecting…`}};case u.NOT_STARTED:return{kind:`connecting`,progress:{label:`Not connected`}};case u.CLOSING:case u.CLOSED:return{kind:`failed`,error:{message:t.state===u.CLOSED?t.reason:`Disconnecting`,errorKind:`runtime`}}}})},b={kind:`static`,label:`Static`,capabilities:_,state:e({kind:`ready`})},x={kind:`islands`,label:`Islands`,capabilities:_,state:e(e=>{let t=e(p);return t===!0?{kind:`ready`}:typeof t==`string`?{kind:`failed`,error:{message:t,errorKind:`init`}}:{kind:`connecting`,progress:{label:`Initializing islands…`}}})};function S(){return l()?b:i()?x:s()?v:y}var C=e(S());e(e=>{let t=e(C);return e(t.state).kind!==`ready`||t.kind===`static`?!1:t.kind!==`remote`||e(f).isInstantiated});function w(e){let n=(0,g.c)(2),i=t(a),{mode:s}=t(o),c=t(d),l=t(C).kind;if(i&&l===`remote`)return!0;switch(s){case`edit`:case`present`:return!0;case`home`:case`gallery`:return!1;case`read`:{if(!c||new URLSearchParams(window.location.search).get(r.includeCode)===`false`)return!1;let t;return n[0]===e?t=n[1]:(t=e.some(T),n[0]=e,n[1]=t),t}default:return h(s),!1}}function T(e){return!!e.code}export{C as n,w as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{H as e,U as t,V as n,i as r,l as i,p as a}from"./schemas-Dv42wLFq.js";function o(e){return t(a,e)}function s(t){return e(i,t)}function c(e){return n(r,e)}export{s as n,o as r,c as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{u as t}from"./useEvent-Dfcbgjhg.js";import{t as n}from"./react-DVplv7_D.js";import{t as r}from"./compiler-runtime-BrajqUja.js";import{E as i,y as a}from"./config-VPSq73n8.js";import{o}from"./useEventListener-D9cftcHj.js";import{t as s}from"./cn-ldLVeaqm.js";import{t as c}from"./jsx-runtime-B74pBk57.js";import{C as l,S as u,T as d,b as f,w as p,x as m,y as h}from"./fullscreen-B9tHcfpV.js";import{d as g,u as _}from"./menu-items-BrwnTgyK.js";import{a as v}from"./useNumberFormatter-D7O_26UI.js";import{r as y}from"./requests-lt0JK8Jt.js";var b=e(n(),1),x=c(),S=Object.defineProperty,C=(e,t)=>S(e,`name`,{value:t,configurable:!0}),w=`Collapsible`,[T,E]=p(w),[ee,D]=T(w),O=b.forwardRef(C(function(e,t){let{__scopeCollapsible:n,open:r,defaultOpen:i,disabled:a,onOpenChange:o,...s}=e,[c,l]=m({prop:r,defaultProp:i??!1,onChange:o,caller:w});return(0,x.jsx)(ee,{scope:n,disabled:a,contentId:h(),open:c,onOpenToggle:b.useCallback(()=>l(e=>!e),[l]),children:(0,x.jsx)(d.div,{"data-state":A(c),"data-disabled":a?``:void 0,...s,ref:t})})},`Collapsible`)),te=`CollapsibleTrigger`,ne=b.forwardRef(C(function(e,t){let{__scopeCollapsible:n,...r}=e,i=D(te,n);return(0,x.jsx)(d.button,{type:`button`,"aria-controls":i.open?i.contentId:void 0,"aria-expanded":i.open||!1,"data-state":A(i.open),"data-disabled":i.disabled?``:void 0,disabled:i.disabled,...r,ref:t,onClick:l(e.onClick,i.onOpenToggle)})},`CollapsibleTrigger`)),k=`CollapsibleContent`,re=b.forwardRef(C(function(e,t){let{forceMount:n,...r}=e,i=D(k,e.__scopeCollapsible);return(0,x.jsx)(f,{present:n||i.open,children:({present:e})=>(0,x.jsx)(ie,{...r,ref:t,present:e})})},`CollapsibleContent`)),ie=b.forwardRef(C(function(e,t){let{__scopeCollapsible:n,present:r,children:i,...a}=e,s=D(k,n),[c,l]=b.useState(r),f=b.useRef(null),p=o(t,f),m=b.useRef(0),h=m.current,g=b.useRef(0),_=g.current,v=s.open||c,y=b.useRef(v),S=b.useRef(void 0);return b.useEffect(()=>{let e=requestAnimationFrame(()=>y.current=!1);return()=>cancelAnimationFrame(e)},[]),u(()=>{let e=f.current;if(e){S.current=S.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration=`0s`,e.style.animationName=`none`;let t=e.getBoundingClientRect();m.current=t.height,g.current=t.width,y.current||(e.style.transitionDuration=S.current.transitionDuration,e.style.animationName=S.current.animationName),l(r)}},[s.open,r]),(0,x.jsx)(d.div,{"data-state":A(s.open),"data-disabled":s.disabled?``:void 0,id:s.contentId,hidden:!v,...a,ref:p,style:{"--radix-collapsible-content-height":h?`${h}px`:void 0,"--radix-collapsible-content-width":_?`${_}px`:void 0,...e.style},children:v&&i})},`CollapsibleContentImpl`));function A(e){return e?`open`:`closed`}C(A,`getState`);var ae=O,oe=ne,se=re,ce=Object.defineProperty,j=(e,t)=>ce(e,`name`,{value:t,configurable:!0}),M=`Accordion`,le=[`Home`,`End`,`ArrowDown`,`ArrowUp`,`ArrowLeft`,`ArrowRight`],[N,ue,de]=g(M),[P,fe]=p(M,[de,E]),F=E(),pe=b.forwardRef(j(function(e,t){let{type:n,...r}=e,i=r,a=r;return(0,x.jsx)(N.Provider,{scope:e.__scopeAccordion,children:n===`multiple`?(0,x.jsx)(ge,{...a,ref:t}):(0,x.jsx)(he,{...i,ref:t})})},`Accordion`)),[I,me]=P(M),[L,R]=P(M,{collapsible:!1}),he=b.forwardRef(j(function(e,t){let{value:n,defaultValue:r,onValueChange:i=j(()=>{},`onValueChange`),collapsible:a=!1,...o}=e,[s,c]=m({prop:n,defaultProp:r??``,onChange:i,caller:M});return(0,x.jsx)(I,{scope:e.__scopeAccordion,value:b.useMemo(()=>s?[s]:[],[s]),onItemOpen:c,onItemClose:b.useCallback(()=>a&&c(``),[a,c]),children:(0,x.jsx)(L,{scope:e.__scopeAccordion,collapsible:a,children:(0,x.jsx)(B,{...o,ref:t})})})},`AccordionImplSingle`)),ge=b.forwardRef(j(function(e,t){let{value:n,defaultValue:r,onValueChange:i=j(()=>{},`onValueChange`),...a}=e,[o,s]=m({prop:n,defaultProp:r??[],onChange:i,caller:M}),c=b.useCallback(e=>s((t=[])=>[...t,e]),[s]),l=b.useCallback(e=>s((t=[])=>t.filter(t=>t!==e)),[s]);return(0,x.jsx)(I,{scope:e.__scopeAccordion,value:o,onItemOpen:c,onItemClose:l,children:(0,x.jsx)(L,{scope:e.__scopeAccordion,collapsible:!0,children:(0,x.jsx)(B,{...a,ref:t})})})},`AccordionImplMultiple`)),[_e,z]=P(M),B=b.forwardRef(j(function(e,t){let{__scopeAccordion:n,disabled:r,dir:i,orientation:a=`vertical`,...s}=e,c=b.useRef(null),u=o(c,t),f=ue(n),p=_(i)===`ltr`,m=l(e.onKeyDown,e=>{if(!le.includes(e.key))return;let t=e.target,n=f().filter(e=>!e.ref.current?.disabled),r=n.findIndex(e=>e.ref.current===t),i=n.length;if(r===-1)return;e.preventDefault();let o=r,s=i-1,c=j(()=>{o=r+1,o>s&&(o=0)},`moveNext`),l=j(()=>{o=r-1,o<0&&(o=s)},`movePrev`);switch(e.key){case`Home`:o=0;break;case`End`:o=s;break;case`ArrowRight`:a===`horizontal`&&(p?c():l());break;case`ArrowDown`:a===`vertical`&&c();break;case`ArrowLeft`:a===`horizontal`&&(p?l():c());break;case`ArrowUp`:a===`vertical`&&l()}n[o%i].ref.current?.focus()});return(0,x.jsx)(_e,{scope:n,disabled:r,direction:i,orientation:a,children:(0,x.jsx)(N.Slot,{scope:n,children:(0,x.jsx)(d.div,{...s,"data-orientation":a,ref:u,onKeyDown:r?void 0:m})})})},`AccordionImpl`)),V=`AccordionItem`,[H,U]=P(V),ve=b.forwardRef(j(function(e,t){let{__scopeAccordion:n,value:r,...i}=e,a=z(V,n),o=me(V,n),s=F(n),c=h(),l=r&&o.value.includes(r)||!1,u=a.disabled||e.disabled;return(0,x.jsx)(H,{scope:n,open:l,disabled:u,triggerId:c,children:(0,x.jsx)(ae,{"data-orientation":a.orientation,"data-state":G(l),...s,...i,ref:t,disabled:u,open:l,onOpenChange:e=>{e?o.onItemOpen(r):o.onItemClose(r)}})})},`AccordionItem`)),ye=`AccordionHeader`,be=b.forwardRef(j(function(e,t){let{__scopeAccordion:n,...r}=e,i=z(M,n),a=U(ye,n);return(0,x.jsx)(d.h3,{"data-orientation":i.orientation,"data-state":G(a.open),"data-disabled":a.disabled?``:void 0,...r,ref:t})},`AccordionHeader`)),W=`AccordionTrigger`,xe=b.forwardRef(j(function(e,t){let{__scopeAccordion:n,...r}=e,i=z(M,n),a=U(W,n),o=R(W,n),s=F(n);return(0,x.jsx)(N.ItemSlot,{scope:n,children:(0,x.jsx)(oe,{"aria-disabled":a.open&&!o.collapsible||void 0,"data-orientation":i.orientation,id:a.triggerId,...s,...r,ref:t})})},`AccordionTrigger`)),Se=`AccordionContent`,Ce=b.forwardRef(j(function(e,t){let{__scopeAccordion:n,...r}=e,i=z(M,n),a=U(Se,n),o=F(n);return(0,x.jsx)(se,{role:`region`,"aria-labelledby":a.triggerId,"data-orientation":i.orientation,...o,...r,ref:t,style:{"--radix-accordion-content-height":`var(--radix-collapsible-content-height)`,"--radix-accordion-content-width":`var(--radix-collapsible-content-width)`,...e.style}})},`AccordionContent`));function G(e){return e?`open`:`closed`}j(G,`getState`);var K=pe,q=ve,we=be,J=xe,Y=Ce,X=r(),Te=K,Z=b.forwardRef((e,t)=>{let n=(0,X.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=s(`border-b`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,x.jsx)(q,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});Z.displayName=`AccordionItem`;var Q=b.forwardRef((e,t)=>{let n=(0,X.c)(12),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:i,children:r,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o;n[4]===i?o=n[5]:(o=s(`flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180 text-start`,i),n[4]=i,n[5]=o);let c;n[6]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,x.jsx)(v,{className:`h-4 w-4 transition-transform duration-200`}),n[6]=c):c=n[6];let l;return n[7]!==r||n[8]!==a||n[9]!==t||n[10]!==o?(l=(0,x.jsx)(we,{className:`flex`,children:(0,x.jsxs)(J,{ref:t,className:o,...a,children:[r,c]})}),n[7]=r,n[8]=a,n[9]=t,n[10]=o,n[11]=l):l=n[11],l});Q.displayName=J.displayName;var $=b.forwardRef((e,t)=>{let n=(0,X.c)(17),r,i,a,o;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4]):({className:i,children:r,wrapperClassName:o,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o);let c;n[5]===i?c=n[6]:(c=s(`overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down`,i),n[5]=i,n[6]=c);let l;n[7]===o?l=n[8]:(l=s(`pb-4 pt-0`,o),n[7]=o,n[8]=l);let u;n[9]!==r||n[10]!==l?(u=(0,x.jsx)(`div`,{className:l,children:r}),n[9]=r,n[10]=l,n[11]=u):u=n[11];let d;return n[12]!==a||n[13]!==t||n[14]!==c||n[15]!==u?(d=(0,x.jsx)(Y,{ref:t,className:c,...a,children:u}),n[12]=a,n[13]=t,n[14]=c,n[15]=u,n[16]=d):d=n[16],d});$.displayName=Y.displayName;var Ee=class{map=new Map;get(e){return this.map.get(e)??[]}set(e,t){this.map.set(e,t)}add(e,t){this.map.has(e)?this.map.get(e).push(t):this.map.set(e,[t])}has(e){return this.map.has(e)}delete(e){return this.map.delete(e)}clear(){this.map.clear()}keys(){return this.map.keys()}values(){return this.map.values()}entries(){return this.map.entries()}forEach(e){this.map.forEach(e)}flatValues(){let e=[];for(let t of this.map.values())e.push(...t);return e}get size(){return this.map.size}},De=e=>{switch(e){case`chat`:return`chat_model`;case`autocomplete`:return`autocomplete_model`;case`edit`:return`edit_model`}},Oe=()=>{let e=(0,X.c)(10),n=t(i),{saveUserConfig:r}=y(),o;e[0]!==r||e[1]!==n?(o=async e=>{let t={ai:e};await r({config:t}).then(()=>{n(e=>a(e,t))})},e[0]=r,e[1]=n,e[2]=o):o=e[2];let s=o,c;e[3]===s?c=e[4]:(c=async(e,t)=>{let n=De(t);n&&await s({models:{[n]:e}})},e[3]=s,e[4]=c);let l=c,u;e[5]===s?u=e[6]:(u=async e=>{await s({mode:e})},e[5]=s,e[6]=u);let d=u,f;return e[7]!==d||e[8]!==l?(f={saveModelChange:l,saveModeChange:d},e[7]=d,e[8]=l,e[9]=f):f=e[9],f};export{Z as a,q as c,$ as i,K as l,Ee as n,Q as o,Te as r,Y as s,Oe as t,J as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,c as t,f as n,l as r,r as i,t as a}from"./useEvent-Dfcbgjhg.js";import{t as o}from"./compiler-runtime-BrajqUja.js";import{g as s}from"./useEventListener-D9cftcHj.js";import{t as c}from"./invariant-Ci2dTZ72.js";import{i as l,t as u}from"./utils-B4K466FK.js";import{p as d,t as f}from"./session-DqoWmb7X.js";import{t as p}from"./Deferred-CrTnjj37.js";var m=o();function h(){return typeof document<`u`&&document.querySelector(`marimo-wasm`)!==null}var ee=Symbol(``);function g(e,t){return n(e,function(e,n,r){n(this,t(e(this),r))})}function te(e,t){let n=null,r=new Map,i=new Set,a=i=>{let s;if(t===void 0)s=r.get(i);else for(let[e,n]of r)if(t(e,i)){s=n;break}if(s!==void 0){if(n?.(s[1],i))a.remove(i);else return s[0]}let c=e(i);return r.set(i,[c,Date.now()]),o(`CREATE`,i,c),c},o=(e,t,n)=>{for(let r of i)r({type:e,param:t,atom:n})};return a.unstable_listen=e=>(i.add(e),()=>{i.delete(e)}),a.getParams=()=>r.keys(),a.remove=e=>{if(t===void 0){if(!r.has(e))return;let[t]=r.get(e);r.delete(e),o(`REMOVE`,e,t)}else for(let[n,[i]]of r)if(t(n,e)){r.delete(n),o(`REMOVE`,n,i);break}},a.setShouldRemove=e=>{if(n=e,n)for(let[e,[t,i]]of r)n(i,e)&&(r.delete(e),o(`REMOVE`,e,t))},a}var _=(e,t,n)=>(t.has(n)?t:t.set(n,e())).get(n),ne=new WeakMap,v=(e,t,n,r)=>_(e,_(()=>new WeakMap,_(()=>new WeakMap,ne,t),n),r);function y(e,t,r=Object.is){return v(()=>{let i=Symbol(),a=([e,n])=>{if(n===i)return t(e);let a=t(e,n);return r(n,a)?n:a},o=n(t=>{let n=t(o),r=t(e);return a([r,n])});return o.init=i,o},e,t,r)}var b=(e,t,n)=>(t.has(n)?t:t.set(n,e())).get(n),x=new WeakMap,S=(e,t,n)=>b(e,b(()=>new WeakMap,x,t),n),C={},w=e=>!!e.write,re=e=>typeof e==`function`;function ie(e,t){return S(()=>{let r=new WeakMap,i=(o,s)=>{let c=r.get(o);if(c)return c;let l=s&&r.get(s),u=[],d=[];return o.forEach((r,s)=>{let c=t?t(r):s;d[s]=c;let f=l&&l.atomList[l.keyList.indexOf(c)];if(f){u[s]=f;return}let p=t=>{let n=t(a),r=t(e),s=i(r,n?.arr).keyList.indexOf(c);if(s<0||s>=r.length){let e=o[i(o).keyList.indexOf(c)];if(e)return e;throw Error(`splitAtom: index out of bounds for read`)}return r[s]};u[s]=w(e)?n(p,(t,n,r)=>{let o=t(a),s=t(e),l=i(s,o?.arr).keyList.indexOf(c);if(l<0||l>=s.length)throw Error(`splitAtom: index out of bounds for write`);let u=re(r)?r(s[l]):r;Object.is(s[l],u)||n(e,[...s.slice(0,l),u,...s.slice(l+1)])}):n(p)}),c=l&&l.keyList.length===d.length&&l.keyList.every((e,t)=>e===d[t])?l:{arr:o,atomList:u,keyList:d},r.set(o,c),c},a=n(t=>{let n=t(a),r=t(e);return i(r,n?.arr)});a.init=void 0;let o=w(e)?n(e=>e(a).atomList,(t,n,r)=>{switch(r.type){case`remove`:{let i=t(o).indexOf(r.atom);if(i>=0){let r=t(e);n(e,[...r.slice(0,i),...r.slice(i+1)])}break}case`insert`:{let i=r.before?t(o).indexOf(r.before):t(o).length;if(i>=0){let a=t(e);n(e,[...a.slice(0,i),r.value,...a.slice(i)])}break}case`move`:{let i=t(o).indexOf(r.atom),a=r.before?t(o).indexOf(r.before):t(o).length;if(i>=0&&a>=0){let r=t(e);i<a?n(e,[...r.slice(0,i),...r.slice(i+1,a),r[i],...r.slice(a)]):n(e,[...r.slice(0,a),r[i],...r.slice(a,i),...r.slice(i+1)])}break}}}):n(e=>e(a).atomList);return o},e,t||C)}var T=e=>typeof e?.then==`function`;function E(e=()=>{try{return window.localStorage}catch{return}},t){let n,r,i={getItem:(i,a)=>{let o=e=>{if(e||=``,n!==e){try{r=JSON.parse(e,t?.reviver)}catch{return a}n=e}return r},s=e()?.getItem(i)??null;return T(s)?s.then(o):o(s)},setItem:(n,r)=>e()?.setItem(n,JSON.stringify(r,t?.replacer)),removeItem:t=>e()?.removeItem(t)},a=e=>(n,r,i)=>e(n,e=>{let n;try{n=JSON.parse(e||``,t?.reviver)}catch{n=i}r(n)}),o;try{o=e()?.subscribe}catch{}return!o&&typeof window<`u`&&typeof window.addEventListener==`function`&&window.Storage&&(o=(t,n)=>{if(!(e()instanceof window.Storage))return()=>{};let r=r=>{r.storageArea===e()&&r.key===t&&n(r.newValue)};return window.addEventListener(`storage`,r),()=>{window.removeEventListener(`storage`,r)}}),o&&(i.subscribe=a(o)),i}var ae=E();function D(e,t,r=ae,i){let a=i?.getOnInit,o=n(a?r.getItem(e,t):t);return o.onMount=n=>(n(r.getItem(e,t)),r.subscribe?.call(r,e,n,t)),n(e=>e(o),(n,i,a)=>{let s=typeof a==`function`?a(n(o)):a;return s===ee?(i(o,t),r.removeItem(e)):T(s)?s.then(t=>(i(o,t),r.setItem(e,t))):(i(o,s),r.setItem(e,s))})}var O={NOT_STARTED:`NOT_STARTED`,CONNECTING:`CONNECTING`,OPEN:`OPEN`,CLOSING:`CLOSING`,CLOSED:`CLOSED`},k={KERNEL_DISCONNECTED:`KERNEL_DISCONNECTED`,KERNEL_STARTUP_ERROR:`KERNEL_STARTUP_ERROR`},A=n({state:O.NOT_STARTED}),j=g(null,(e,t)=>t===null?null:{phase:t.phase,logs:t.log_mode===`append`&&e?.phase===t.phase?e.logs+t.logs:t.logs});function M(){return e(A,e=>e.state===O.OPEN)}function N(){return d()?M():Promise.resolve()}var P=n(e=>e(A).state===O.CONNECTING),F=n(e=>e(A).state===O.OPEN),I=n(e=>{let t=e(A);return t.state===O.OPEN||t.state===O.NOT_STARTED});n(e=>e(A).state===O.CLOSED);var L=n(e=>e(A).state===O.NOT_STARTED);function R(e){return e===O.CONNECTING}function z(e){return e===O.OPEN}function B(e){return e===O.CLOSING}function V(e){return e===O.NOT_STARTED}function H(e){return e===O.CLOSED||e===O.CLOSING||e===O.CONNECTING}function oe(e){switch(e){case O.CLOSED:return`App disconnected`;case O.CONNECTING:return`Connecting to a runtime ...`;case O.CLOSING:return`App disconnecting...`;case O.OPEN:return``;case O.NOT_STARTED:return`Click to connect to a runtime`;default:return``}}function U(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;for(let t of Object.values(e))if(typeof t!=`string`)return!1;return!0}function W(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=e;return!(!U(t.files)||t.modelNotifications!==void 0&&!Array.isArray(t.modelNotifications))}function G(){let e=typeof window>`u`?void 0:window.__MARIMO_STATIC__;return W(e)?e:void 0}function K(){return G()!==void 0}function q(){let e=G();return c(e!==void 0,`Not a static notebook`),e.files}function se(){return G()?.modelNotifications}var ce=class{initialHealthyCheck=new p;config;lazy;constructor(e,t=!1){this.config=e,this.lazy=t;try{new URL(this.config.url)}catch(e){throw Error(`Invalid runtime URL: ${this.config.url}. ${e instanceof Error?e.message:`Unknown error`}`,{cause:e})}this.lazy||this.init()}get isLazy(){return this.lazy}get httpURL(){return new URL(this.config.url)}get isSameOrigin(){return this.httpURL.origin===window.location.origin}get isServerless(){return h()||u()||K()}formatHttpURL({path:e=``,searchParams:t,restrictToKnownQueryParams:n=!0}){let r=this.httpURL,i=new URLSearchParams(window.location.search);if(t)for(let[e,n]of t.entries())r.searchParams.set(e,n);for(let[e,t]of i.entries())n&&!Object.values(l).includes(e)||r.searchParams.set(e,t);return r.pathname=`${r.pathname.replace(/\/$/,``)}/${e.replace(/^\//,``)}`,r.hash=``,r}appendCrossOriginAuth(e){return!this.isSameOrigin&&this.config.authToken&&e.searchParams.set(l.accessToken,this.config.authToken),e}formatNavigableHttpURL(e,t){let n=this.formatHttpURL({path:e,searchParams:t});return n.searchParams.delete(l.accessToken),this.appendCrossOriginAuth(n)}formatWsURL(e,t){let n=this.formatHttpURL({path:e,searchParams:t,restrictToKnownQueryParams:!1});return le(this.appendCrossOriginAuth(n).toString())}getSessionSearchParams(e){let t=new URL(this.config.url),n=new URLSearchParams(t.search);return new URLSearchParams(window.location.search).forEach((e,t)=>{n.has(t)||n.set(t,e)}),n.set(l.sessionId,e),n}getWsURL(e){return this.formatWsURL(`/ws`,this.getSessionSearchParams(e))}getSseURL(e){let t=this.formatHttpURL({path:`/sse`,searchParams:this.getSessionSearchParams(e),restrictToKnownQueryParams:!1});return t.searchParams.delete(l.accessToken),t}getWsSyncURL(e){return this.formatWsURL(`/ws_sync`,this.getSessionSearchParams(e))}getTerminalWsURL(e){let t=this.formatWsURL(`/terminal/ws`);return e&&(t.searchParams.set(`rows`,String(e.rows)),t.searchParams.set(`cols`,String(e.cols))),t}getLSPURL(e){if(e===`copilot`){let t=this.formatWsURL(`/lsp/${e}`),n=t.searchParams.get(l.accessToken);return t.search=``,n&&t.searchParams.set(l.accessToken,n),t}return this.formatWsURL(`/lsp/${e}`)}getAiURL(e){return this.formatHttpURL({path:`/api/ai/${e}`})}healthURL(){return this.formatHttpURL({path:`/health`})}async fetchHealth(){try{return await fetch(this.healthURL().toString())}catch(e){return s.error(`Failed to check health: ${e instanceof Error?e.message:`Unknown error`}`,{cause:e}),null}}async reconcileFromHealth(){if(this.isServerless)return!0;let e=await this.fetchHealth();if(!e)return!1;if(e.redirected){s.debug(`Runtime redirected to ${e.url}`);let t=new URL(e.url);t.pathname=t.pathname.replace(/\/health$/,``),this.config.url=t.toString()}return e.ok&&this.setDOMBaseUri(this.config.url),e.ok}async probeHealth(){return this.isServerless?!0:(await this.fetchHealth())?.ok??!1}setDOMBaseUri(e){e=e.split(`?`,1)[0],e.endsWith(`/`)||(e+=`/`);let t=document.querySelector(`base`);t?t.setAttribute(`href`,e):(t=document.createElement(`base`),t.setAttribute(`href`,e),document.head.append(t))}async init(e){s.debug(`Initializing runtime...`);let t=0;for(;!await this.reconcileFromHealth();){if(t>=25){s.error(`Failed to connect after 25 retries`),this.initialHealthyCheck.reject(Error(`Failed to connect after 25 retries`));return}if(!e?.disableRetryDelay){let e=Math.min(100*1.2**t,2e3);await new Promise(t=>setTimeout(t,e))}t++}s.debug(`Runtime is healthy`),this.initialHealthyCheck.resolve()}async waitForHealthy(){return this.initialHealthyCheck.promise}headers(){let e={"Marimo-Session-Id":f(),"Marimo-Server-Token":this.config.serverToken??``,"x-runtime-url":this.httpURL.toString()};return this.config.authToken&&(e.Authorization=`Bearer ${this.config.authToken}`),e}sessionHeaders(){return{"Marimo-Session-Id":f()}}};function le(e){if(!e.startsWith(`http`)){s.warn(`URL must start with http: ${e}`);let t=new URL(e);return t.protocol=`ws`,t}return new URL(e.replace(/^http/,`ws`))}function ue(){let e=new URL(document.baseURI);return e.search=``,e.hash=``,e.toString()}var J={lazy:!0,url:ue()},Y=n(J),X=n(e=>{let t=e(Y);return new ce(t,t.lazy)});function Z(){return r(X)}function Q(){let e=(0,m.c)(4),n=Z(),[r,i]=t(A),o;return e[0]!==r.state||e[1]!==n||e[2]!==i?(o=async()=>{V(r.state)?(i({state:O.CONNECTING}),await n.init()):s.log(`Runtime already started or starting...`)},e[0]=r.state,e[1]=n,e[2]=i,e[3]=o):o=e[3],a(o)}function $(){return i.get(X)}function de(e){if(e.startsWith(`http`))return new URL(e);let t=$().httpURL.toString();return t.startsWith(`blob:`)&&(t=t.replace(`blob:`,``)),new URL(e,t)}export{y as A,N as C,g as D,te as E,h as M,D as O,M as S,k as T,A as _,Q as a,L as b,q as c,B as d,z as f,I as g,V as h,Y as i,ie as j,E as k,K as l,H as m,de as n,Z as o,R as p,$ as r,se as s,J as t,oe as u,F as v,O as w,j as x,P as y};
|