@marimo-team/islands 0.25.3-dev10 → 0.25.3-dev13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/dist/{ErrorBoundary-BsqSMK9Y.js → ErrorBoundary-BWYjMPq8.js} +1 -1
  2. package/dist/{chat-ui-0lKdOoQ3.js → chat-ui-DaHynk8g.js} +4 -4
  3. package/dist/{code-visibility-CXQvUXHT.js → code-visibility-O0uJkFyz.js} +3 -3
  4. package/dist/{common-CuD-CAC-.js → common-PAvTWnXO.js} +5 -5
  5. package/dist/{data-grid-overlay-editor-DgeyYmC1.js → data-grid-overlay-editor-DeWySy0K.js} +1 -1
  6. package/dist/{error-entries-DSvFWT_M.js → error-entries-Bv6bZPF3.js} +1 -1
  7. package/dist/{feedback-button-DZMj9PF3.js → feedback-button-WbN_sdUE.js} +3 -3
  8. package/dist/{formats-CeOmU1MU.js → formats-27CW_UP4.js} +1 -1
  9. package/dist/{glide-data-editor-g_L8FLAC.js → glide-data-editor-_oc1WE9x.js} +3 -3
  10. package/dist/{globals-CYGlmBXb.js → globals-C-fUiztk.js} +1 -1
  11. package/dist/{html-to-image-B8s5SgGm.js → html-to-image-Bf8QMGi4.js} +2 -2
  12. package/dist/main.js +13 -13
  13. package/dist/{number-overlay-editor-9VRv-pdj.js → number-overlay-editor-DdPkN3h1.js} +1 -1
  14. package/dist/{process-output-CKRXyszb.js → process-output-BZg56CCb.js} +2 -2
  15. package/dist/{reveal-component-C87mv9Mn.js → reveal-component-Bs9X_N3n.js} +4 -4
  16. package/dist/{toDate-vIXljnsr.js → toDate-UtiwmnH2.js} +17 -16
  17. package/dist/{vega-component-DTG6zxaY.js → vega-component-BeF9dfyO.js} +2 -2
  18. package/package.json +1 -1
  19. package/src/__tests__/mount.test.ts +20 -0
  20. package/src/core/edit-app.tsx +2 -2
  21. package/src/core/host/__tests__/events.test.ts +46 -0
  22. package/src/core/host/__tests__/notebook-client.test.ts +191 -0
  23. package/src/core/host/connection.ts +81 -0
  24. package/src/core/host/events.ts +60 -0
  25. package/src/core/host/notebook-client.ts +226 -0
  26. package/src/core/run-app.tsx +2 -2
  27. package/src/core/runtime/__tests__/runtime.test.ts +55 -11
  28. package/src/core/runtime/runtime.ts +14 -1
  29. package/src/core/runtime/types.ts +2 -0
  30. package/src/core/websocket/__tests__/{useMarimoKernelConnection.test.ts → connection-state.test.ts} +15 -17
  31. package/src/core/websocket/__tests__/{useWebSocket.test.ts → createConnectionTransport.test.ts} +1 -1
  32. package/src/core/websocket/__tests__/useNotebookClient.hook.test.tsx +140 -0
  33. package/src/core/websocket/__tests__/{useMarimoKernelConnection.hook.test.tsx → useNotebookSession.hook.test.tsx} +227 -133
  34. package/src/core/websocket/connection-state.ts +70 -0
  35. package/src/core/websocket/transports/__tests__/sse.test.ts +1 -4
  36. package/src/core/websocket/transports/create.ts +31 -0
  37. package/src/core/websocket/transports/transport.ts +12 -23
  38. package/src/core/websocket/types.ts +9 -39
  39. package/src/core/websocket/useNotebookClient.ts +80 -0
  40. package/src/core/websocket/{useMarimoKernelConnection.tsx → useNotebookSession.tsx} +64 -231
  41. package/src/mount.tsx +4 -0
  42. package/src/core/websocket/useWebSocket.tsx +0 -88
@@ -135,7 +135,7 @@ function F(e) {
135
135
  }
136
136
  //#endregion
137
137
  //#region src/components/editor/boundary/ErrorBoundary.tsx
138
- var I = (0, T.lazy)(() => import("./feedback-button-DZMj9PF3.js").then((e) => ({ default: e.FeedbackModal }))), L = (e) => {
138
+ var I = (0, T.lazy)(() => import("./feedback-button-WbN_sdUE.js").then((e) => ({ default: e.FeedbackModal }))), L = (e) => {
139
139
  let t = (0, w.c)(2), n;
140
140
  return t[0] === e.children ? n = t[1] : (n = /* @__PURE__ */ (0, j.jsx)(O, {
141
141
  FallbackComponent: R,
@@ -3,13 +3,13 @@ import { c as n, g as r, h as i, t as a } from "./button-CvjkwdSk.js";
3
3
  import { t as o } from "./react-sHtZdjeP.js";
4
4
  import { t as s } from "./compiler-runtime-CldRdSsv.js";
5
5
  import { i as c, t as l } from "./copy-icon-Ft7t9bqz.js";
6
- import { F as u, H as d, U as f, V as p, X as m, Y as h, Z as g, _, a as v, c as y, d as b, f as x, g as S, h as C, l as w, m as T, n as E, p as D, r as O, t as k, v as A, x as ee, y as j, z as te } from "./html-to-image-B8s5SgGm.js";
6
+ import { F as u, H as d, U as f, V as p, X as m, Y as h, Z as g, _, a as v, c as y, d as b, f as x, g as S, h as C, l as w, m as T, n as E, p as D, r as O, t as k, v as A, x as ee, y as j, z as te } from "./html-to-image-Bf8QMGi4.js";
7
7
  import { h as M, t as ne } from "./tooltip-BO1REbqs.js";
8
- import { Ct as re, Dt as ie, L as ae, Pt as oe, Rt as se, St as ce, Ut as le, Z as ue, ct as de, fn as fe, h as pe, hn as me, ht as he, i as ge, it as _e, ln as ve, lt as ye, r as be, t as xe, tn as Se, tt as Ce, un as we, w as Te, wt as Ee } from "./error-entries-DSvFWT_M.js";
8
+ import { Ct as re, Dt as ie, L as ae, Pt as oe, Rt as se, St as ce, Ut as le, Z as ue, ct as de, fn as fe, h as pe, hn as me, ht as he, i as ge, it as _e, ln as ve, lt as ye, r as be, t as xe, tn as Se, tt as Ce, un as we, w as Te, wt as Ee } from "./error-entries-Bv6bZPF3.js";
9
9
  import { A as De, C as Oe, M as ke, b as Ae } from "./select-BButFi-d.js";
10
10
  import { _ as je, f as Me, h as Ne, i as Pe, n as Fe, t as Ie } from "./dropdown-menu-CP_qCYHC.js";
11
- import { C as Le, d as Re } from "./toDate-vIXljnsr.js";
12
- import { d as ze, f as Be, i as Ve, n as He, t as Ue, u as We } from "./process-output-CKRXyszb.js";
11
+ import { C as Le, d as Re } from "./toDate-UtiwmnH2.js";
12
+ import { d as ze, f as Be, i as Ve, n as He, t as Ue, u as We } from "./process-output-BZg56CCb.js";
13
13
  import { t as Ge } from "./jsx-runtime-3BD1kT0s.js";
14
14
  import { A as Ke, C as qe, D as Je, E as Ye, F as Xe, L as Ze, M as Qe, O as $e, P as et, R as tt, S as nt, T as rt, V as it, b as at, j as ot, v as st, w as ct, x as lt, y as ut, z as dt } from "./use-restore-focus-BEM7sFWl.js";
15
15
  import { n as ft } from "./error-banner-D-WCIiMt.js";
@@ -1,8 +1,8 @@
1
1
  import { g as e } from "./button-CvjkwdSk.js";
2
2
  import { t } from "./compiler-runtime-CldRdSsv.js";
3
- import { G as n, q as r } from "./error-entries-DSvFWT_M.js";
3
+ import { G as n, q as r } from "./error-entries-Bv6bZPF3.js";
4
4
  import { C as i } from "./select-BButFi-d.js";
5
- import { _ as a, c as o, x as s, y as c } from "./toDate-vIXljnsr.js";
5
+ import { _ as a, c as o, x as s, y as c } from "./toDate-UtiwmnH2.js";
6
6
  import { C as l, E as u, a as d, b as f } from "./useTheme-CRnjkku0.js";
7
7
  //#region src/core/islands/state.ts
8
8
  var p = t(), m = u(!1), h = u(/* @__PURE__ */ new Set()), g = u((e) => e(h)?.size === 0), _ = u(!1), v = u((e) => e(_) && e(m) === !1), y = u({
@@ -18,7 +18,7 @@ function x() {
18
18
  return e.warn("Failed to get version from mount config"), null;
19
19
  }
20
20
  }
21
- var S = x() || "0.25.3-dev10", C = u(S), w = u(!0);
21
+ var S = x() || "0.25.3-dev13", C = u(S), w = u(!0);
22
22
  u(null);
23
23
  //#endregion
24
24
  //#region src/core/wasm/state.ts
@@ -3,16 +3,16 @@ import { _ as t, c as n, f as r, g as i, h as a, m as o, n as s, p as c, r as l,
3
3
  import { t as d } from "./react-sHtZdjeP.js";
4
4
  import { t as f } from "./compiler-runtime-CldRdSsv.js";
5
5
  import { i as p, n as m, r as h, t as g } from "./copy-icon-Ft7t9bqz.js";
6
- import { $ as _, A as v, B as y, D as b, E as x, F as S, H as C, M as w, N as T, Q as E, S as D, T as O, V as k, W as A, X as j, Y as M, Z as N, _ as P, g as F, n as I, r as L, s as R, t as z, u as ee, v as te, w as B, y as ne, z as re } from "./html-to-image-B8s5SgGm.js";
6
+ import { $ as _, A as v, B as y, D as b, E as x, F as S, H as C, M as w, N as T, Q as E, S as D, T as O, V as k, W as A, X as j, Y as M, Z as N, _ as P, g as F, n as I, r as L, s as R, t as z, u as ee, v as te, w as B, y as ne, z as re } from "./html-to-image-Bf8QMGi4.js";
7
7
  import { a as ie, d as ae, h as V, n as oe, o as se, r as ce, t as H } from "./tooltip-BO1REbqs.js";
8
- import { A as le, D as ue, Dt as de, F as fe, G as pe, I as me, K as he, L as ge, Qt as _e, T as ve, Ut as ye, V as be, Wt as xe, Xt as Se, Y as Ce, Zt as we, _n as Te, _t as Ee, b as De, c as Oe, ct as ke, dn as Ae, et as je, fn as Me, gn as Ne, h as Pe, hn as Fe, ht as Ie, in as Le, kt as Re, l as ze, ln as Be, on as Ve, ot as He, q as Ue, sn as We, st as Ge, t as Ke, tn as qe, un as Je, ut as Ye, vt as Xe, w as Ze, x as Qe, y as $e, yt as et, zt as tt } from "./error-entries-DSvFWT_M.js";
8
+ import { A as le, D as ue, Dt as de, F as fe, G as pe, I as me, K as he, L as ge, Qt as _e, T as ve, Ut as ye, V as be, Wt as xe, Xt as Se, Y as Ce, Zt as we, _n as Te, _t as Ee, b as De, c as Oe, ct as ke, dn as Ae, et as je, fn as Me, gn as Ne, h as Pe, hn as Fe, ht as Ie, in as Le, kt as Re, l as ze, ln as Be, on as Ve, ot as He, q as Ue, sn as We, st as Ge, t as Ke, tn as qe, un as Je, ut as Ye, vt as Xe, w as Ze, x as Qe, y as $e, yt as et, zt as tt } from "./error-entries-Bv6bZPF3.js";
9
9
  import { c as nt, i as rt, r as it } from "./useLifecycle-j7D9uD1o.js";
10
10
  import { a as at, i as ot, n as st, o as ct, r as lt, t as ut } from "./useDateFormatter-D8XruNGG.js";
11
11
  import { t as dt } from "./check-EDwSwP89.js";
12
12
  import { A as ft, C as pt, M as mt, O as ht, S as gt, _ as _t, b as vt, c as yt, d as bt, g as xt, h as St, i as Ct, l as wt, m as Tt, n as Et, p as Dt, s as Ot, t as kt, u as At, v as jt, y as Mt } from "./select-BButFi-d.js";
13
13
  import { $ as Nt, $t as Pt, A as Ft, At as It, B as Lt, Bt as Rt, Ct as zt, D as Bt, Dt as Vt, E as Ht, Et as Ut, F as Wt, Ft as Gt, G as Kt, Gt as qt, H as Jt, Ht as Yt, I as Xt, It as Zt, J as Qt, Jt as $t, Kt as en, L as tn, Lt as nn, M as rn, Mt as an, N as on, Nt as sn, O as cn, Ot as ln, P as un, Pt as dn, Q as fn, Qt as pn, R as mn, Rt as hn, S as gn, St as _n, T as vn, Tt as yn, U as bn, Ut as xn, V as Sn, Vt as Cn, W as wn, Wt as Tn, X as En, Xt as Dn, Y as On, Yt as kn, Z as An, Zt as jn, _ as Mn, _n as Nn, _t as Pn, a as Fn, at as In, b as Ln, bt as Rn, cn as zn, ct as Bn, d as Vn, dn as Hn, dt as Un, et as Wn, f as Gn, fn as Kn, ft as qn, gn as Jn, gt as Yn, h as Xn, hn as Zn, ht as Qn, i as $n, in as er, it as tr, j as nr, jt as rr, k as ir, kt as ar, l as or, lt as sr, mn as cr, mt as lr, n as ur, nn as dr, nt as fr, o as pr, on as mr, ot as hr, pn as gr, pt as _r, qt as vr, rn as yr, rt as br, s as xr, sn as Sr, st as Cr, t as wr, tn as Tr, tt as Er, u as Dr, un as Or, vn as kr, vt as Ar, w as jr, wt as Mr, x as Nr, xt as Pr, y as Fr, yt as Ir, z as Lr, zt as Rr } from "./dropdown-menu-CP_qCYHC.js";
14
- import { a as zr, c as Br, d as Vr, i as Hr, l as Ur, n as Wr, o as Gr, r as Kr, t as qr, v as Jr, x as Yr, y as Xr } from "./toDate-vIXljnsr.js";
15
- import { n as Zr, t as Qr } from "./ErrorBoundary-BsqSMK9Y.js";
14
+ import { a as zr, c as Br, d as Vr, i as Hr, l as Ur, n as Wr, o as Gr, r as Kr, t as qr, v as Jr, x as Yr, y as Xr } from "./toDate-UtiwmnH2.js";
15
+ import { n as Zr, t as Qr } from "./ErrorBoundary-BWYjMPq8.js";
16
16
  import { t as $r } from "./clsx-CoeGtWvn.js";
17
17
  import { t as ei } from "./react-dom-DUmH0GXv.js";
18
18
  import { t as ti } from "./jsx-runtime-3BD1kT0s.js";
@@ -30,7 +30,7 @@ import { n as la, t as ua } from "./once-BtE-wKRL.js";
30
30
  import { o as da } from "./dist-BorMD-uX.js";
31
31
  import { a as fa, i as pa, n as ma, o as ha, r as ga, t as _a } from "./dialog-CEBFZNyc.js";
32
32
  import { t as va } from "./useAsyncData-Deh5kszT.js";
33
- import { a as ya, i as ba, n as xa, r as Sa, t as Ca } from "./formats-CeOmU1MU.js";
33
+ import { a as ya, i as ba, n as xa, r as Sa, t as Ca } from "./formats-27CW_UP4.js";
34
34
  import { n as U, t as W } from "./objectWithoutPropertiesLoose-BRDcTsfB.js";
35
35
  import { M as wa, n as Ta } from "./vega-loader.browser-DNST6uVf.js";
36
36
  import { a as Ea, n as Da, r as Oa, t as ka } from "./loader-BQOfjTIJ.js";
@@ -2,7 +2,7 @@ import { a as e } from "./rolldown-runtime-Cb76FRpK.js";
2
2
  import { t } from "./react-sHtZdjeP.js";
3
3
  import { t as n } from "./react-dom-DUmH0GXv.js";
4
4
  import { c as r, l as i, u as a } from "./data-grid-types-BH_r7g7l.js";
5
- import { a as o, i as s, n as c, r as l } from "./glide-data-editor-g_L8FLAC.js";
5
+ import { a as o, i as s, n as c, r as l } from "./glide-data-editor-_oc1WE9x.js";
6
6
  //#region ../node_modules/.pnpm/@glideapps+glide-data-grid@6.0.4-alpha24_lodash@4.17.21_marked@15.0.12_react-dom@19.3.0_aca11a353ce3b112922852200b9c160f/node_modules/@glideapps/glide-data-grid/dist/esm/internal/data-grid-overlay-editor/data-grid-overlay-editor-style.js
7
7
  var u = /* @__PURE__ */ e(t(), 1), d = /* @__PURE__ */ e(n(), 1), f = /*#__PURE__*/ o("div")({
8
8
  name: "DataGridOverlayEditorStyle",
@@ -7,7 +7,7 @@ import { d as p, h as m, i as h, t as g } from "./tooltip-BO1REbqs.js";
7
7
  import { a as _, c as v, i as y, o as b, r as x, s as S, t as C } from "./useLifecycle-j7D9uD1o.js";
8
8
  import { t as w } from "./check-EDwSwP89.js";
9
9
  import { C as T, S as ee, a as te, b as ne, c as re, i as ie, n as ae, o as oe, r as se, s as ce, t as le } from "./select-BButFi-d.js";
10
- import { C as ue, S as de, _ as fe, b as pe, g as me, h as E, o as he, t as ge, x as _e } from "./toDate-vIXljnsr.js";
10
+ import { C as ue, S as de, _ as fe, b as pe, g as me, h as E, o as he, t as ge, x as _e } from "./toDate-UtiwmnH2.js";
11
11
  import { t as ve } from "./react-dom-DUmH0GXv.js";
12
12
  import { t as ye } from "./jsx-runtime-3BD1kT0s.js";
13
13
  import { C as be, Ct as xe, D as Se, F as D, L as O, M as Ce, S as we, St as Te, bt as Ee, j as De, wt as k, yt as Oe } from "./use-restore-focus-BEM7sFWl.js";
@@ -3,14 +3,14 @@ import { h as t, t as n } from "./button-CvjkwdSk.js";
3
3
  import { t as r } from "./react-sHtZdjeP.js";
4
4
  import { t as i } from "./compiler-runtime-CldRdSsv.js";
5
5
  import { t as a } from "./copy-icon-Ft7t9bqz.js";
6
- import { G as o, Lt as s, Ot as c, V as l, fn as u, h as d, i as f, n as p, q as m, zt as h } from "./error-entries-DSvFWT_M.js";
6
+ import { G as o, Lt as s, Ot as c, V as l, fn as u, h as d, i as f, n as p, q as m, zt as h } from "./error-entries-Bv6bZPF3.js";
7
7
  import { b as g } from "./select-BButFi-d.js";
8
- import { n as ee, t as te } from "./globals-CYGlmBXb.js";
8
+ import { n as ee, t as te } from "./globals-C-fUiztk.js";
9
9
  import { t as _ } from "./jsx-runtime-3BD1kT0s.js";
10
10
  import { C as v, _ as ne, i as y } from "./useTheme-CRnjkku0.js";
11
11
  import { a as re, i as ie, n as ae, r as oe } from "./dialog-CEBFZNyc.js";
12
12
  import { t as se } from "./useAsyncData-Deh5kszT.js";
13
- import { t as ce } from "./code-visibility-CXQvUXHT.js";
13
+ import { t as ce } from "./code-visibility-O0uJkFyz.js";
14
14
  //#region src/components/ui/skeleton.tsx
15
15
  var b = /* @__PURE__ */ e(r(), 1), x = i(), S = _(), le = (e) => {
16
16
  let n = (0, x.c)(8), r, i;
@@ -2,7 +2,7 @@ import { a as e } from "./rolldown-runtime-Cb76FRpK.js";
2
2
  import { h as t, r as n } from "./button-CvjkwdSk.js";
3
3
  import { t as r } from "./react-sHtZdjeP.js";
4
4
  import { t as i } from "./compiler-runtime-CldRdSsv.js";
5
- import { t as a } from "./toDate-vIXljnsr.js";
5
+ import { t as a } from "./toDate-UtiwmnH2.js";
6
6
  import { t as o } from "./jsx-runtime-3BD1kT0s.js";
7
7
  import { i as s } from "./loader-BQOfjTIJ.js";
8
8
  //#region ../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/isDate.js
@@ -6,7 +6,7 @@ import { i as s, n as c, r as l } from "./copy-icon-Ft7t9bqz.js";
6
6
  import { C as u, c as d, i as f, n as p, s as m, t as h, x as g } from "./select-BButFi-d.js";
7
7
  import { d as _, h as v, i as y, l as b, n as x, o as S, s as C, t as w, u as T } from "./dropdown-menu-CP_qCYHC.js";
8
8
  import { c as E, d as D, l as O, n as k, o as A, s as ee, t as j, u as te } from "./glide-utils-DJyqh0EM.js";
9
- import { n as ne, t as re } from "./ErrorBoundary-BsqSMK9Y.js";
9
+ import { n as ne, t as re } from "./ErrorBoundary-BWYjMPq8.js";
10
10
  import { t as M } from "./react-dom-DUmH0GXv.js";
11
11
  import { t as N } from "./jsx-runtime-3BD1kT0s.js";
12
12
  import { t as ie } from "./label-BDKF3Afc.js";
@@ -7062,7 +7062,7 @@ function rs(e, t, n, r, i) {
7062
7062
  }
7063
7063
  //#endregion
7064
7064
  //#region ../node_modules/.pnpm/@glideapps+glide-data-grid@6.0.4-alpha24_lodash@4.17.21_marked@15.0.12_react-dom@19.3.0_aca11a353ce3b112922852200b9c160f/node_modules/@glideapps/glide-data-grid/dist/esm/data-editor/data-editor.js
7065
- var is = /* @__PURE__ */ e(_r(), 1), as = /* @__PURE__ */ e(xr(), 1), os = K.lazy(async () => await import("./data-grid-overlay-editor-DgeyYmC1.js")), ss = 0;
7065
+ var is = /* @__PURE__ */ e(_r(), 1), as = /* @__PURE__ */ e(xr(), 1), os = K.lazy(async () => await import("./data-grid-overlay-editor-DeWySy0K.js")), ss = 0;
7066
7066
  function cs(e) {
7067
7067
  return (0, is.default)((0, as.default)((0, as.default)(e).filter((e) => e.span !== void 0).map((e) => (0, Za.default)((e.span?.[0] ?? 0) + 1, (e.span?.[1] ?? 0) + 1))));
7068
7068
  }
@@ -9293,7 +9293,7 @@ function Vs(e, t, n, r, i) {
9293
9293
  }
9294
9294
  //#endregion
9295
9295
  //#region ../node_modules/.pnpm/@glideapps+glide-data-grid@6.0.4-alpha24_lodash@4.17.21_marked@15.0.12_react-dom@19.3.0_aca11a353ce3b112922852200b9c160f/node_modules/@glideapps/glide-data-grid/dist/esm/cells/number-cell.js
9296
- var Hs = K.lazy(async () => await import("./number-overlay-editor-9VRv-pdj.js")), Us = {
9296
+ var Hs = K.lazy(async () => await import("./number-overlay-editor-DdPkN3h1.js")), Us = {
9297
9297
  getAccessibilityString: (e) => e.data?.toString() ?? "",
9298
9298
  kind: W.Number,
9299
9299
  needsHover: (e) => e.hoverEffect === !0,
@@ -1,6 +1,6 @@
1
1
  import { h as e } from "./tooltip-BO1REbqs.js";
2
2
  import { _ as t } from "./useTheme-CRnjkku0.js";
3
- import { r as n } from "./code-visibility-CXQvUXHT.js";
3
+ import { r as n } from "./code-visibility-O0uJkFyz.js";
4
4
  var r = e("triangle-alert", [
5
5
  ["path", {
6
6
  d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",
@@ -5,10 +5,10 @@ import { t as l } from "./compiler-runtime-CldRdSsv.js";
5
5
  import { n as u, t as d } from "./copy-icon-Ft7t9bqz.js";
6
6
  import { a as f, c as p, l as m, s as h, t as g } from "./chunk-YOKDWASO-DPZk8vhS.js";
7
7
  import { c as _, h as v, l as y, s as b, t as x, u as ee } from "./tooltip-BO1REbqs.js";
8
- import { $t as te, A as ne, Ct as re, Dt as ie, Et as ae, Ft as oe, H as se, M as ce, P as le, St as ue, U as de, X as fe, a as pe, at as me, bt as he, d as ge, mt as _e, nn as ve, nt as ye, wt as be, xt as xe, y as Se } from "./error-entries-DSvFWT_M.js";
8
+ import { $t as te, A as ne, Ct as re, Dt as ie, Et as ae, Ft as oe, H as se, M as ce, P as le, St as ue, U as de, X as fe, a as pe, at as me, bt as he, d as ge, mt as _e, nn as ve, nt as ye, wt as be, xt as xe, y as Se } from "./error-entries-Bv6bZPF3.js";
9
9
  import { M as Ce, O as we, k as Te } from "./select-BButFi-d.js";
10
10
  import { dt as Ee, q as De } from "./dropdown-menu-CP_qCYHC.js";
11
- import { m as Oe, y as ke } from "./toDate-vIXljnsr.js";
11
+ import { m as Oe, y as ke } from "./toDate-UtiwmnH2.js";
12
12
  import { t as Ae } from "./jsx-runtime-3BD1kT0s.js";
13
13
  import { Ct as je, K as Me, Q as Ne, St as S, X as Pe, Y as Fe, bt as C, ct as Ie, dt as Le, ft as Re, ht as ze, lt as Be, pt as Ve, vt as He, wt as w, xt as Ue, yt as We } from "./use-restore-focus-BEM7sFWl.js";
14
14
  import { A as Ge, C as T, E as Ke, _ as E, c as qe, n as Je } from "./useTheme-CRnjkku0.js";
package/dist/main.js CHANGED
@@ -3,20 +3,20 @@ import { _ as a, c as o, g as s, h as c, i as l, l as u, m as d, n as f, o as p,
3
3
  import { t as v } from "./react-sHtZdjeP.js";
4
4
  import { t as y } from "./compiler-runtime-CldRdSsv.js";
5
5
  import { i as b, n as x, r as S, t as C } from "./copy-icon-Ft7t9bqz.js";
6
- import { C as w, F as T, G as E, I as D, J as O, K as k, L as A, P as j, R as M, X as N, Z as P, _ as F, a as I, b as L, g as R, i as z, j as B, k as ee, n as te, o as ne, q as re, v as ie, y as ae } from "./html-to-image-B8s5SgGm.js";
6
+ import { C as w, F as T, G as E, I as D, J as O, K as k, L as A, P as j, R as M, X as N, Z as P, _ as F, a as I, b as L, g as R, i as z, j as B, k as ee, n as te, o as ne, q as re, v as ie, y as ae } from "./html-to-image-Bf8QMGi4.js";
7
7
  import { a as oe, d as se, f as ce, h as V, i as le, n as ue, o as de, r as fe, t as pe } from "./tooltip-BO1REbqs.js";
8
- import { $ as me, At as he, B as ge, Bt as _e, D as ve, Dt as ye, E as be, Ht as xe, It as Se, J as Ce, Jt as we, Kt as Te, M as Ee, Mt as De, N as Oe, Nt as ke, O as Ae, Ot as je, Q as Me, R as Ne, S as Pe, Tt as Fe, V as Ie, Vt as Le, W as Re, Wt as ze, X as Be, Xt as Ve, Y as He, Yt as Ue, _ as We, _n as Ge, _t as Ke, an as qe, b as Je, cn as Ye, ct as Xe, dn as Ze, dt as Qe, en as $e, f as et, ft as tt, g as nt, gn as rt, gt as it, h as at, it as ot, j as st, jt as ct, k as lt, kt as ut, ln as dt, m as ft, mn as pt, nn as mt, o as ht, p as gt, pn as _t, pt as vt, qt as yt, rn as bt, rt as xt, s as St, tn as Ct, u as wt, un as Tt, v as Et, xt as Dt, y as Ot, z as kt } from "./error-entries-DSvFWT_M.js";
8
+ import { $ as me, At as he, B as ge, Bt as _e, D as ve, Dt as ye, E as be, Ht as xe, It as Se, J as Ce, Jt as we, Kt as Te, M as Ee, Mt as De, N as Oe, Nt as ke, O as Ae, Ot as je, Q as Me, R as Ne, S as Pe, Tt as Fe, V as Ie, Vt as Le, W as Re, Wt as ze, X as Be, Xt as Ve, Y as He, Yt as Ue, _ as We, _n as Ge, _t as Ke, an as qe, b as Je, cn as Ye, ct as Xe, dn as Ze, dt as Qe, en as $e, f as et, ft as tt, g as nt, gn as rt, gt as it, h as at, it as ot, j as st, jt as ct, k as lt, kt as ut, ln as dt, m as ft, mn as pt, nn as mt, o as ht, p as gt, pn as _t, pt as vt, qt as yt, rn as bt, rt as xt, s as St, tn as Ct, u as wt, un as Tt, v as Et, xt as Dt, y as Ot, z as kt } from "./error-entries-Bv6bZPF3.js";
9
9
  import { D as At, E as jt, O as Mt, S as Nt, T as Pt, _ as Ft, a as It, c as Lt, d as Rt, f as zt, g as Bt, h as Vt, i as Ht, l as Ut, m as Wt, n as Gt, o as Kt, p as qt, r as Jt, s as Yt, t as Xt, u as Zt, v as Qt, w as $t, x as en, y as tn } from "./spec-BwarBpUJ.js";
10
- import { $t as nn, A as rn, At as an, B as on, Bt as sn, C as cn, Ct as ln, D as un, Dt as dn, E as fn, Et as pn, F as mn, Ft as hn, G as gn, Gt as _n, H as vn, Ht as yn, I as bn, It as xn, J as Sn, Jt as Cn, K as wn, Kt as Tn, L as En, Lt as Dn, M as On, Mt as kn, N as An, Nt as jn, O as Mn, Ot as Nn, P as Pn, Pt as Fn, Qt as In, R as Ln, Rt as Rn, S as zn, St as Bn, T as Vn, Tt as Hn, U as Un, Ut as Wn, V as Gn, Vt as Kn, W as qn, Wt as Jn, X as Yn, Xt as Xn, Y as Zn, Yt as Qn, Zt as $n, _ as er, _t as tr, an as nr, at as rr, b as ir, c as ar, cn as or, ct as sr, d as cr, dn as lr, dt as ur, en as dr, et as fr, f as pr, fn as mr, ft as hr, g as gr, gt as _r, h as vr, hn as yr, ht as br, in as xr, it as Sr, j as Cr, jt as wr, k as Tr, kt as Er, ln as Dr, lt as Or, m as kr, mn as Ar, mt as jr, nn as Mr, nt as Nr, ot as Pr, p as Fr, pn as Ir, pt as Lr, q as Rr, qt as zr, r as Br, rn as Vr, rt as Hr, sn as Ur, st as Wr, t as Gr, tn as Kr, tt as qr, u as Jr, un as Yr, ut as Xr, v as Zr, vt as Qr, w as $r, wt as ei, x as ti, y as ni, yt as ri, z as ii, zt as ai } from "./common-CuD-CAC-.js";
10
+ import { $t as nn, A as rn, At as an, B as on, Bt as sn, C as cn, Ct as ln, D as un, Dt as dn, E as fn, Et as pn, F as mn, Ft as hn, G as gn, Gt as _n, H as vn, Ht as yn, I as bn, It as xn, J as Sn, Jt as Cn, K as wn, Kt as Tn, L as En, Lt as Dn, M as On, Mt as kn, N as An, Nt as jn, O as Mn, Ot as Nn, P as Pn, Pt as Fn, Qt as In, R as Ln, Rt as Rn, S as zn, St as Bn, T as Vn, Tt as Hn, U as Un, Ut as Wn, V as Gn, Vt as Kn, W as qn, Wt as Jn, X as Yn, Xt as Xn, Y as Zn, Yt as Qn, Zt as $n, _ as er, _t as tr, an as nr, at as rr, b as ir, c as ar, cn as or, ct as sr, d as cr, dn as lr, dt as ur, en as dr, et as fr, f as pr, fn as mr, ft as hr, g as gr, gt as _r, h as vr, hn as yr, ht as br, in as xr, it as Sr, j as Cr, jt as wr, k as Tr, kt as Er, ln as Dr, lt as Or, m as kr, mn as Ar, mt as jr, nn as Mr, nt as Nr, ot as Pr, p as Fr, pn as Ir, pt as Lr, q as Rr, qt as zr, r as Br, rn as Vr, rt as Hr, sn as Ur, st as Wr, t as Gr, tn as Kr, tt as qr, u as Jr, un as Yr, ut as Xr, v as Zr, vt as Qr, w as $r, wt as ei, x as ti, y as ni, yt as ri, z as ii, zt as ai } from "./common-PAvTWnXO.js";
11
11
  import { c as oi, i as si, n as ci, o as li, t as ui } from "./useLifecycle-j7D9uD1o.js";
12
12
  import { t as di } from "./check-EDwSwP89.js";
13
13
  import { A as fi, C as pi, D as mi, E as hi, M as gi, O as _i, S as vi, T as yi, a as bi, b as xi, c as Si, i as Ci, k as wi, l as Ti, n as Ei, o as Di, r as Oi, s as ki, t as Ai, w as ji, x as Mi } from "./select-BButFi-d.js";
14
14
  import { $ as Ni, C as Pi, Et as Fi, J as Ii, K as Li, R as Ri, S as zi, U as Bi, Y as Vi, _ as Hi, _n as Ui, a as Wi, c as Gi, f as Ki, g as qi, h as Ji, i as Yi, kt as Xi, m as Zi, mt as Qi, n as $i, p as ea, q as ta, r as na, s as ra, t as ia, ut as aa, v as oa, vn as sa, x as ca, z as la } from "./dropdown-menu-CP_qCYHC.js";
15
- import { C as ua, _ as da, a as fa, b as pa, c as ma, f as ha, h as ga, m as _a, p as va, s as ya, u as ba, x as xa, y as Sa } from "./toDate-vIXljnsr.js";
16
- import { a as Ca, c as wa, d as Ta, f as Ea, i as Da, l as Oa, n as ka, o as Aa, r as ja, s as Ma, t as Na } from "./process-output-CKRXyszb.js";
15
+ import { C as ua, _ as da, a as fa, b as pa, c as ma, f as ha, h as ga, m as _a, p as va, s as ya, u as ba, x as xa, y as Sa } from "./toDate-UtiwmnH2.js";
16
+ import { a as Ca, c as wa, d as Ta, f as Ea, i as Da, l as Oa, n as ka, o as Aa, r as ja, s as Ma, t as Na } from "./process-output-BZg56CCb.js";
17
17
  import { a as Pa, c as Fa, d as Ia, i as La, l as Ra, r as za, u as Ba } from "./glide-utils-DJyqh0EM.js";
18
- import { n as Va, t as Ha } from "./ErrorBoundary-BsqSMK9Y.js";
19
- import { n as Ua, t as Wa } from "./globals-CYGlmBXb.js";
18
+ import { n as Va, t as Ha } from "./ErrorBoundary-BWYjMPq8.js";
19
+ import { n as Ua, t as Wa } from "./globals-C-fUiztk.js";
20
20
  import { t as Ga } from "./react-dom-DUmH0GXv.js";
21
21
  import { t as Ka } from "./jsx-runtime-3BD1kT0s.js";
22
22
  import { B as qa, C as H, Ct as Ja, D as Ya, E as Xa, F as U, G as Za, H as Qa, I as $a, L as eo, M as W, N as to, O as no, P as ro, Q as io, R as ao, S as G, St as oo, Tt as so, U as co, W as lo, Y as uo, Z as fo, _ as po, _t as mo, a as ho, b as go, bt as _o, c as vo, d as yo, f as bo, g as xo, h as So, ht as Co, i as wo, j as K, k as To, l as Eo, m as Do, n as Oo, o as ko, p as Ao, r as jo, s as Mo, u as No, ut as Po, v as Fo, vt as Io, w as Lo, wt as Ro, x as zo, xt as Bo, y as Vo, yt as Ho } from "./use-restore-focus-BEM7sFWl.js";
@@ -36,10 +36,10 @@ import { n as Os } from "./dist-CrSP_H1M.js";
36
36
  import { i as ks } from "./dist-BorMD-uX.js";
37
37
  import { n as As, t as js } from "./esm-AMFssoNp.js";
38
38
  import { t as Ms } from "./useAsyncData-Deh5kszT.js";
39
- import { i as Ns, n as Ps, r as Fs } from "./formats-CeOmU1MU.js";
39
+ import { i as Ns, n as Ps, r as Fs } from "./formats-27CW_UP4.js";
40
40
  import { M as Is, N as Ls } from "./vega-loader.browser-DNST6uVf.js";
41
41
  import { a as Rs, n as zs } from "./loader-BQOfjTIJ.js";
42
- import { c as Bs, d as Vs, i as Hs, l as Us, o as Ws, s as Gs, t as Ks, u as qs } from "./code-visibility-CXQvUXHT.js";
42
+ import { c as Bs, d as Vs, i as Hs, l as Us, o as Ws, s as Gs, t as Ks, u as qs } from "./code-visibility-O0uJkFyz.js";
43
43
  import { t as Js } from "./useDeepCompareMemoize-DXwzRINI.js";
44
44
  import { t as Ys } from "./esm-D2gTsXEV.js";
45
45
  //#region ../node_modules/.pnpm/iconify-icon@2.3.0/node_modules/iconify-icon/dist/iconify-icon.mjs
@@ -10067,7 +10067,7 @@ var LS = (e) => {
10067
10067
  output: t
10068
10068
  };
10069
10069
  } };
10070
- } }, US = J.lazy(() => import("./chat-ui-0lKdOoQ3.js").then((e) => ({ default: e.Chatbot }))), WS = G(W({
10070
+ } }, US = J.lazy(() => import("./chat-ui-DaHynk8g.js").then((e) => ({ default: e.Chatbot }))), WS = G(W({
10071
10071
  id: U(),
10072
10072
  role: Fo([
10073
10073
  "system",
@@ -10533,7 +10533,7 @@ function VC(e, t) {
10533
10533
  }
10534
10534
  //#endregion
10535
10535
  //#region src/plugins/impl/DataEditorPlugin.tsx
10536
- var HC = J.lazy(() => import("./glide-data-editor-g_L8FLAC.js").then((e) => e.t)), UC = wS("marimo-data-editor", { cssStyles: [qS] }).withData(W({
10536
+ var HC = J.lazy(() => import("./glide-data-editor-_oc1WE9x.js").then((e) => e.t)), UC = wS("marimo-data-editor", { cssStyles: [qS] }).withData(W({
10537
10537
  initialValue: W({ edits: G(W({
10538
10538
  rowIdx: K(),
10539
10539
  columnId: U(),
@@ -21832,7 +21832,7 @@ function $j(e, t) {
21832
21832
  }
21833
21833
  //#endregion
21834
21834
  //#region src/plugins/impl/vega/VegaPlugin.tsx
21835
- var eM = J.lazy(() => import("./vega-component-DTG6zxaY.js")), tM = class {
21835
+ var eM = J.lazy(() => import("./vega-component-BeF9dfyO.js")), tM = class {
21836
21836
  tagName = "marimo-vega";
21837
21837
  validator = W({
21838
21838
  spec: W({}).passthrough().transform((e) => e),
@@ -30107,7 +30107,7 @@ function OR(e) {
30107
30107
  }
30108
30108
  //#endregion
30109
30109
  //#region src/components/editor/renderers/slides-layout/slides-layout.tsx
30110
- var kR = J.lazy(() => import("./reveal-component-C87mv9Mn.js")), AR = (e) => {
30110
+ var kR = J.lazy(() => import("./reveal-component-Bs9X_N3n.js")), AR = (e) => {
30111
30111
  let t = (0, X.c)(33), { layout: n, setLayout: r, cells: i, mode: a } = e, o = ns(da), s = a === "read" || o, c = ns(We) > 1, [l, u] = (0, J.useState)(null), d;
30112
30112
  t[0] !== i || t[1] !== n ? (d = EP(i, n), t[0] = i, t[1] = n, t[2] = d) : d = t[2];
30113
30113
  let { slideCells: f, skippedIds: p, noOutputIds: m, slideTypes: h, startCellIndex: g } = d, _;
@@ -1,6 +1,6 @@
1
1
  import { a as e } from "./rolldown-runtime-Cb76FRpK.js";
2
2
  import { t } from "./react-sHtZdjeP.js";
3
- import { a as n } from "./glide-data-editor-g_L8FLAC.js";
3
+ import { a as n } from "./glide-data-editor-_oc1WE9x.js";
4
4
  //#region ../node_modules/.pnpm/@glideapps+glide-data-grid@6.0.4-alpha24_lodash@4.17.21_marked@15.0.12_react-dom@19.3.0_aca11a353ce3b112922852200b9c160f/node_modules/@glideapps/glide-data-grid/dist/esm/internal/data-grid-overlay-editor/private/number-overlay-editor-style.js
5
5
  var r = /* @__PURE__ */ e(t()), i = /*#__PURE__*/ n("div")({
6
6
  name: "NumberOverlayEditorStyle",
@@ -1,6 +1,6 @@
1
- import { O as e } from "./html-to-image-B8s5SgGm.js";
1
+ import { O as e } from "./html-to-image-Bf8QMGi4.js";
2
2
  import { h as t } from "./tooltip-BO1REbqs.js";
3
- import { C as n, w as r } from "./error-entries-DSvFWT_M.js";
3
+ import { C as n, w as r } from "./error-entries-Bv6bZPF3.js";
4
4
  import { b as i } from "./select-BButFi-d.js";
5
5
  import { n as a } from "./semaphore-89jsoHtS.js";
6
6
  var o = t("file", [["path", {
@@ -3,15 +3,15 @@ import { c as t, g as n, h as r, m as i, t as a } from "./button-CvjkwdSk.js";
3
3
  import { t as o } from "./react-sHtZdjeP.js";
4
4
  import { t as s } from "./compiler-runtime-CldRdSsv.js";
5
5
  import { h as c, t as l } from "./tooltip-BO1REbqs.js";
6
- import { O as u } from "./error-entries-DSvFWT_M.js";
7
- import { $ as d, Q as f, Z as p, an as m, i as h, l as g, ln as _, n as v, on as y, r as b, t as x, u as S } from "./common-CuD-CAC-.js";
6
+ import { O as u } from "./error-entries-Bv6bZPF3.js";
7
+ import { $ as d, Q as f, Z as p, an as m, i as h, l as g, ln as _, n as v, on as y, r as b, t as x, u as S } from "./common-PAvTWnXO.js";
8
8
  import { M as C } from "./select-BButFi-d.js";
9
9
  import { q as ee } from "./dropdown-menu-CP_qCYHC.js";
10
- import { _ as w } from "./toDate-vIXljnsr.js";
10
+ import { _ as w } from "./toDate-UtiwmnH2.js";
11
11
  import { t as T } from "./jsx-runtime-3BD1kT0s.js";
12
12
  import { q as E } from "./use-restore-focus-BEM7sFWl.js";
13
13
  import { A as D, C as O, b as k } from "./useTheme-CRnjkku0.js";
14
- import { a as A, n as te, t as ne } from "./code-visibility-CXQvUXHT.js";
14
+ import { a as A, n as te, t as ne } from "./code-visibility-O0uJkFyz.js";
15
15
  /* empty css */
16
16
  var j = c("sticky-note", [["path", {
17
17
  d: "M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z",
@@ -513,7 +513,7 @@ function W() {
513
513
  }
514
514
  //#endregion
515
515
  //#region src/core/runtime/runtime.ts
516
- var G = class {
516
+ var G = ["marimo"], K = class {
517
517
  initialHealthyCheck = new m();
518
518
  config;
519
519
  lazy;
@@ -560,7 +560,7 @@ var G = class {
560
560
  searchParams: t,
561
561
  restrictToKnownQueryParams: !1
562
562
  });
563
- return K(this.appendCrossOriginAuth(n).toString());
563
+ return q(this.appendCrossOriginAuth(n).toString());
564
564
  }
565
565
  getSessionSearchParams(e) {
566
566
  let t = new URL(this.config.url), n = new URLSearchParams(t.search);
@@ -569,7 +569,8 @@ var G = class {
569
569
  }), n.set(s.sessionId, e), n;
570
570
  }
571
571
  getWsURL(e) {
572
- return this.formatWsURL("/ws", this.getSessionSearchParams(e));
572
+ let t = this.getSessionSearchParams(e), n = this.config.notebookId, r = n ? `/api/marimo/v1/notebooks/${encodeURIComponent(n)}/events/ws` : "/ws", i = this.formatWsURL(r, t);
573
+ return n && i.searchParams.set("types", G.join(",")), i;
573
574
  }
574
575
  getSseURL(e) {
575
576
  let t = this.formatHttpURL({
@@ -656,7 +657,7 @@ var G = class {
656
657
  return { "Marimo-Session-Id": z() };
657
658
  }
658
659
  };
659
- function K(e) {
660
+ function q(e) {
660
661
  if (!e.startsWith("http")) {
661
662
  t.warn(`URL must start with http: ${e}`);
662
663
  let n = new URL(e);
@@ -666,29 +667,29 @@ function K(e) {
666
667
  }
667
668
  //#endregion
668
669
  //#region src/core/runtime/config.ts
669
- function q() {
670
+ function J() {
670
671
  let e = new URL(document.baseURI);
671
672
  return e.search = "", e.hash = "", e.toString();
672
673
  }
673
- var J = {
674
+ var Y = {
674
675
  lazy: !0,
675
- url: q()
676
- }, Y = a(J), ee = a((e) => {
677
- let t = e(Y);
678
- return new G(t, t.lazy);
676
+ url: J()
677
+ }, ee = a(Y), te = a((e) => {
678
+ let t = e(ee);
679
+ return new K(t, t.lazy);
679
680
  });
680
681
  function X() {
681
- return o.get(ee);
682
+ return o.get(te);
682
683
  }
683
- function te(e) {
684
+ function ne(e) {
684
685
  if (e.startsWith("http")) return new URL(e);
685
686
  let t = X().httpURL.toString();
686
687
  return t.startsWith("blob:") && (t = t.replace("blob:", "")), new URL(e, t);
687
688
  }
688
689
  //#endregion
689
690
  //#region ../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/constants.js
690
- var ne = 365.2425, re = 6048e5, ie = 864e5, Z = 86400;
691
- Z * 7, Z * ne / 12 * 3;
691
+ var re = 365.2425, ie = 6048e5, ae = 864e5, Z = 86400;
692
+ Z * 7, Z * re / 12 * 3;
692
693
  var Q = Symbol.for("constructDateFrom");
693
694
  //#endregion
694
695
  //#region ../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/constructFrom.js
@@ -697,8 +698,8 @@ function $(e, t) {
697
698
  }
698
699
  //#endregion
699
700
  //#region ../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/toDate.js
700
- function ae(e, t) {
701
+ function oe(e, t) {
701
702
  return $(t || e, e);
702
703
  }
703
704
  //#endregion
704
- export { u as C, f as S, b as _, te as a, m as b, U as c, j as d, k as f, y as g, v as h, re as i, N as l, g as m, $ as n, X as o, D as p, ie as r, W as s, ae as t, M as u, x as v, p as x, _ as y };
705
+ export { u as C, f as S, b as _, ne as a, m as b, U as c, j as d, k as f, y as g, v as h, ie as i, N as l, g as m, $ as n, X as o, D as p, ae as r, W as s, oe as t, M as u, x as v, p as x, _ as y };
@@ -3,7 +3,7 @@ import { g as t, h as n, m as r, o as i } from "./button-CvjkwdSk.js";
3
3
  import { t as a } from "./react-sHtZdjeP.js";
4
4
  import { t as o } from "./compiler-runtime-CldRdSsv.js";
5
5
  import { t as s } from "./tooltip-BO1REbqs.js";
6
- import { C as c, a as l } from "./toDate-vIXljnsr.js";
6
+ import { C as c, a as l } from "./toDate-UtiwmnH2.js";
7
7
  import { t as u } from "./jsx-runtime-3BD1kT0s.js";
8
8
  import { n as d } from "./error-banner-D-WCIiMt.js";
9
9
  import { t as f } from "./debounce-C3jyATpc.js";
@@ -11,7 +11,7 @@ import { A as p, n as ee } from "./useTheme-CRnjkku0.js";
11
11
  import { c as m } from "./arrays-CN1djC4k.js";
12
12
  import { t as te } from "./objects-CzUgoMIF.js";
13
13
  import { t as h } from "./useAsyncData-Deh5kszT.js";
14
- import { a as ne, i as re, n as ie, t as g } from "./formats-CeOmU1MU.js";
14
+ import { a as ne, i as re, n as ie, t as g } from "./formats-27CW_UP4.js";
15
15
  import { M as ae, n as oe } from "./vega-loader.browser-DNST6uVf.js";
16
16
  import { t as se } from "./react-vega-BED0DjiB.js";
17
17
  import { a as ce, n as _ } from "./loader-BQOfjTIJ.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marimo-team/islands",
3
- "version": "0.25.3-dev10",
3
+ "version": "0.25.3-dev13",
4
4
  "main": "dist/main.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "type": "module",
@@ -6,6 +6,7 @@ import { initialLayoutState, layoutStateAtom } from "@/core/layout/state";
6
6
  import { kioskModeAtom } from "@/core/mode";
7
7
  import { connectionAtom } from "@/core/network/connection";
8
8
  import { store } from "@/core/state/jotai";
9
+ import { runtimeConfigAtom } from "@/core/runtime/config";
9
10
  import { isStaticNotebook } from "@/core/static/static-state";
10
11
  import { ConnectionState } from "@/core/websocket/types";
11
12
  import { pairConfigAtom } from "@/core/config/pair";
@@ -101,6 +102,25 @@ describe("mount", () => {
101
102
  });
102
103
 
103
104
  describe("connection state initialization", () => {
105
+ it("passes the host notebook identity to the local runtime", () => {
106
+ mount({ ...baseOptions, notebookId: "nb_local" }, mockElement);
107
+ expect(store.get(runtimeConfigAtom).notebookId).toBe("nb_local");
108
+ });
109
+
110
+ it("uses a remote runtime's own notebook identity", () => {
111
+ mount(
112
+ {
113
+ ...baseOptions,
114
+ notebookId: "nb_local",
115
+ runtimeConfig: [
116
+ { url: "https://remote.example", notebookId: "nb_remote" },
117
+ ],
118
+ },
119
+ mockElement,
120
+ );
121
+ expect(store.get(runtimeConfigAtom).notebookId).toBe("nb_remote");
122
+ });
123
+
104
124
  it("should set connection to CONNECTING when runtimeConfig has lazy=false", () => {
105
125
  mount(
106
126
  {
@@ -41,7 +41,7 @@ import { viewStateAtom } from "./mode";
41
41
  import { useRequestClient } from "./network/requests";
42
42
  import { useFilename } from "./saving/filename";
43
43
  import { lastSavedNotebookAtom } from "./saving/state";
44
- import { useMarimoKernelConnection } from "./websocket/useMarimoKernelConnection";
44
+ import { useNotebookSession } from "./websocket/useNotebookSession";
45
45
 
46
46
  interface AppProps {
47
47
  /**
@@ -83,7 +83,7 @@ export const EditApp: React.FC<AppProps> = ({
83
83
  };
84
84
  }, []);
85
85
 
86
- const { connection, reconnect } = useMarimoKernelConnection({
86
+ const { connection, reconnect } = useNotebookSession({
87
87
  autoInstantiate: userConfig.runtime.auto_instantiate,
88
88
  setCells: (cells, layout) => {
89
89
  setCells(cells);
@@ -0,0 +1,46 @@
1
+ /* Copyright 2026 Marimo. All rights reserved. */
2
+
3
+ import { describe, expect, it } from "vitest";
4
+ import { z } from "zod";
5
+ import { parseNotebookEvent } from "../events";
6
+
7
+ describe("notebook messages", () => {
8
+ it("normalizes session and host envelopes for native marimo messages", () => {
9
+ const notification = {
10
+ op: "variables",
11
+ variables: [{ name: "x", value: Number.NaN }],
12
+ };
13
+ const host = { event: "marimo", data: { marimo: notification } };
14
+ expect(parseNotebookEvent({ data: notification })).toEqual(host);
15
+ expect(parseNotebookEvent({ ...host, id: "42" })).toEqual({
16
+ ...host,
17
+ id: "42",
18
+ });
19
+ });
20
+
21
+ it("retains unknown event cursors without interpreting their payloads", () => {
22
+ expect(
23
+ parseNotebookEvent({ event: "future", id: "42", data: null }),
24
+ ).toEqual({ event: "unknown", name: "future", id: "42" });
25
+ });
26
+
27
+ it("decodes known events outside the client's subscription filters", () => {
28
+ const event = {
29
+ event: "run.removed",
30
+ id: "42",
31
+ data: { id: "r1", time: "2026-10-19T12:00:00Z" },
32
+ };
33
+ expect(parseNotebookEvent(event)).toEqual(event);
34
+ });
35
+
36
+ it.each([
37
+ { event: "cell", id: "42", data: { cell: { id: "c1" } } },
38
+ { event: "run.removed", id: "42", data: {} },
39
+ { event: "ready", data: {} },
40
+ { event: "marimo", data: {} },
41
+ {},
42
+ null,
43
+ ])("rejects malformed known messages: %j", (message) => {
44
+ expect(() => parseNotebookEvent(message)).toThrow(z.ZodError);
45
+ });
46
+ });