@marimo-team/islands 0.25.3-dev81 → 0.25.3-dev82
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/{ErrorBoundary-CRhA6ihv.js → ErrorBoundary-Dh-VaAao.js} +1 -1
- package/dist/{code-visibility-Bh47dZxU.js → code-visibility-BwTJAT1U.js} +1 -1
- package/dist/{common-C0RwQCH0.js → common-BTpcnvZO.js} +1 -1
- package/dist/{data-grid-overlay-editor-BVMxTI0f.js → data-grid-overlay-editor-C95q5QIf.js} +1 -1
- package/dist/{feedback-button-B_XNkruv.js → feedback-button-sOLkDWYm.js} +2 -2
- package/dist/{glide-data-editor-Bk8CGhkL.js → glide-data-editor-D6GkY0Z2.js} +3 -3
- package/dist/{globals-CFPR5UsC.js → globals-rH_9s1xB.js} +1 -1
- package/dist/main.js +6 -6
- package/dist/{number-overlay-editor-DJUv51cZ.js → number-overlay-editor-BjJttHms.js} +1 -1
- package/dist/{reveal-component-BbakmqEi.js → reveal-component-Ckn4ABk3.js} +2 -2
- package/package.json +1 -1
- package/src/core/host/AGENTS.md +6 -5
- package/src/core/host/connection.ts +1 -40
- package/src/core/wasm/bridge.ts +0 -8
- package/src/core/websocket/__tests__/connection-state.test.ts +0 -12
- package/src/core/websocket/connection-state.ts +0 -10
- package/src/core/host/__tests__/events.test.ts +0 -49
- package/src/core/host/events.ts +0 -68
- package/src/core/websocket/__tests__/createConnectionTransport.test.ts +0 -49
- package/src/core/websocket/transports/__tests__/basic.test.ts +0 -275
- package/src/core/websocket/transports/__tests__/sse.test.ts +0 -352
- package/src/core/websocket/transports/__tests__/transport.test.ts +0 -308
- package/src/core/websocket/transports/__tests__/ws.test.ts +0 -125
- package/src/core/websocket/transports/basic.ts +0 -102
- package/src/core/websocket/transports/create.ts +0 -31
- package/src/core/websocket/transports/sse.ts +0 -320
- package/src/core/websocket/transports/transport.ts +0 -50
- package/src/core/websocket/transports/ws.ts +0 -98
|
@@ -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-
|
|
138
|
+
var I = (0, T.lazy)(() => import("./feedback-button-sOLkDWYm.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,
|
|
@@ -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-
|
|
21
|
+
var S = x() || "0.25.3-dev82", C = u(S), w = u(!0);
|
|
22
22
|
u(null);
|
|
23
23
|
//#endregion
|
|
24
24
|
//#region src/core/wasm/state.ts
|
|
@@ -12,7 +12,7 @@ import { t as ut } from "./check-P35dc2dH.js";
|
|
|
12
12
|
import { A as dt, C as ft, M as pt, O as mt, S as ht, _ as gt, b as _t, c as vt, d as yt, g as bt, h as xt, i as St, l as Ct, m as wt, n as Tt, p as Et, s as Dt, t as Ot, u as kt, v as At, y as jt } from "./select-B0LRDH0g.js";
|
|
13
13
|
import { $ as Mt, $t as Nt, A as Pt, At as Ft, B as It, Bt as Lt, Ct as Rt, D as zt, Dt as Bt, E as Vt, Et as Ht, F as Ut, Ft as Wt, G as Gt, Gt as Kt, H as qt, Ht as Jt, I as Yt, It as Xt, J as Zt, Jt as Qt, Kt as $t, L as en, Lt as tn, M as nn, Mt as rn, N as an, Nt as on, O as sn, Ot as cn, P as ln, Pt as un, Q as dn, Qt as fn, R as pn, Rt as mn, S as hn, St as gn, T as _n, Tt as vn, U as yn, Ut as bn, V as xn, Vt as Sn, W as Cn, Wt as wn, X as Tn, Xt as En, Y as Dn, Yt as On, Z as kn, Zt as An, _ as jn, _n as Mn, _t as Nn, a as Pn, an as Fn, at as In, b as Ln, bt as Rn, cn as zn, ct as Bn, d as Vn, dn as Hn, en 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, ln as sr, lt as cr, mn as lr, mt as ur, n as dr, nn as fr, nt as pr, o 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, tt as Tr, u as Er, ut as Dr, vn as Or, vt as kr, w as Ar, wt as jr, x as Mr, xt as Nr, y as Pr, yn as Fr, yt as Ir, z as Lr, zt as Rr } from "./dropdown-menu-B3eUiVJB.js";
|
|
14
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-CjPuEPou.js";
|
|
15
|
-
import { n as Zr, t as Qr } from "./ErrorBoundary-
|
|
15
|
+
import { n as Zr, t as Qr } from "./ErrorBoundary-Dh-VaAao.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";
|
|
@@ -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-0PJ-9N5n.js";
|
|
5
|
-
import { a as o, i as s, n as c, r as l } from "./glide-data-editor-
|
|
5
|
+
import { a as o, i as s, n as c, r as l } from "./glide-data-editor-D6GkY0Z2.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_27cffe7f1bc30287d59ac27db3240c5b/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",
|
|
@@ -5,12 +5,12 @@ import { t as i } from "./compiler-runtime-CldRdSsv.js";
|
|
|
5
5
|
import { t as a } from "./copy-icon-CPoxUG7G.js";
|
|
6
6
|
import { Dt as o, G as s, It as c, K as l, Rt as u, V as d, dn as f, h as p, i as m, n as h } from "./error-entries-CMNtA8NK.js";
|
|
7
7
|
import { b as g } from "./select-B0LRDH0g.js";
|
|
8
|
-
import { n as ee, t as te } from "./globals-
|
|
8
|
+
import { n as ee, t as te } from "./globals-rH_9s1xB.js";
|
|
9
9
|
import { t as _ } from "./jsx-runtime-3BD1kT0s.js";
|
|
10
10
|
import { C as v, _ as ne, i as y } from "./useTheme-DympCsQg.js";
|
|
11
11
|
import { a as re, i as ie, n as ae, r as oe } from "./dialog-C1PcpCqX.js";
|
|
12
12
|
import { t as se } from "./useAsyncData-ChgNtdmE.js";
|
|
13
|
-
import { t as ce } from "./code-visibility-
|
|
13
|
+
import { t as ce } from "./code-visibility-BwTJAT1U.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;
|
|
@@ -6,7 +6,7 @@ import { i as s, n as c, r as l } from "./copy-icon-CPoxUG7G.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-B0LRDH0g.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-B3eUiVJB.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-Bt8_pBa2.js";
|
|
9
|
-
import { n as ne, t as re } from "./ErrorBoundary-
|
|
9
|
+
import { n as ne, t as re } from "./ErrorBoundary-Dh-VaAao.js";
|
|
10
10
|
import { t as ie } from "./react-dom-DUmH0GXv.js";
|
|
11
11
|
import { t as M } from "./jsx-runtime-3BD1kT0s.js";
|
|
12
12
|
import { t as N } from "./label-BRnUC0NX.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_27cffe7f1bc30287d59ac27db3240c5b/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-
|
|
7065
|
+
var is = /* @__PURE__ */ e(_r(), 1), as = /* @__PURE__ */ e(xr(), 1), os = K.lazy(async () => await import("./data-grid-overlay-editor-C95q5QIf.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_27cffe7f1bc30287d59ac27db3240c5b/node_modules/@glideapps/glide-data-grid/dist/esm/cells/number-cell.js
|
|
9296
|
-
var Hs = K.lazy(async () => await import("./number-overlay-editor-
|
|
9296
|
+
var Hs = K.lazy(async () => await import("./number-overlay-editor-BjJttHms.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-CKO1pHJo.js";
|
|
2
2
|
import { _ as t } from "./useTheme-DympCsQg.js";
|
|
3
|
-
import { r as n } from "./code-visibility-
|
|
3
|
+
import { r as n } from "./code-visibility-BwTJAT1U.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",
|
package/dist/main.js
CHANGED
|
@@ -7,7 +7,7 @@ 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,
|
|
|
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-CKO1pHJo.js";
|
|
8
8
|
import { $t as me, At as he, B as ge, Bt as _e, D as ve, Dt as ye, E as be, Et as xe, Ft as Se, Gt as Ce, J as we, Jt as Te, Kt as Ee, M as De, Mt as Oe, N as ke, O as Ae, Ot as je, Q as Me, R as Ne, S as Pe, Ut as Fe, V as Ie, Vt as Le, W as Re, Y as ze, Yt as Be, Z as Ve, _ as He, b as Ue, bt as We, cn as Ge, dt as Ke, en as qe, f as Je, fn as Ye, ft as Xe, g as Ze, gn as Qe, gt as $e, h as et, hn as tt, ht as nt, in as rt, j as it, jt as at, k as ot, kt as st, ln as ct, m as lt, nn as ut, nt as dt, o as ft, p as pt, pn as mt, q as ht, qt as gt, rt as _t, s as vt, sn as yt, st as bt, tn as xt, u as St, un as Ct, ut as wt, v as Tt, wt as Et, y as Dt, z as Ot, zt as kt } from "./error-entries-CMNtA8NK.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-C-LRKGtT.js";
|
|
10
|
-
import { $ as nn, $t as rn, A as an, At as on, B as sn, Bt as cn, C as ln, Ct as un, D as dn, Dt as fn, E as pn, Et as mn, F as hn, Ft as gn, G as _n, Gt as vn, H as yn, Ht as bn, I as xn, It as Sn, J as Cn, Jt as wn, K as Tn, Kt as En, L as Dn, Lt as On, M as kn, Mt as An, N as jn, Nt as Mn, O as Nn, Ot as Pn, P as Fn, Pt as In, Qt as Ln, R as Rn, Rt as zn, S as Bn, St as Vn, T as Hn, Tt as Un, U as Wn, Ut as Gn, V as Kn, Vt as qn, W as Jn, Wt as Yn, Xt as Xn, Y as Zn, Yt as Qn, Zt as $n, _ as er, _t as tr, at as nr, b as rr, c as ir, cn as ar, ct as or, d as sr, dn as cr, dt as lr, en as ur, et as dr, f as fr, fn as pr, ft as mr, g as hr, gt as gr, h as _r, ht as vr, in as yr, it as br, j as xr, jt as Sr, k as Cr, kt as wr, ln as Tr, lt as Er, m as Dr, mn as Or, mt as kr, nn as Ar, nt as jr, on as Mr, ot as Nr, p as Pr, pn as Fr, pt as Ir, q as Lr, qt as Rr, r as zr, rn as Br, rt as Vr, sn as Hr, st as Ur, t as Wr, tn as Gr, tt as Kr, u as qr, un as Jr, ut as Yr, v as Xr, vt as Zr, w as Qr, wt as $r, x as ei, xt as ti, y as ni, z as ri, zt as ii } from "./common-
|
|
10
|
+
import { $ as nn, $t as rn, A as an, At as on, B as sn, Bt as cn, C as ln, Ct as un, D as dn, Dt as fn, E as pn, Et as mn, F as hn, Ft as gn, G as _n, Gt as vn, H as yn, Ht as bn, I as xn, It as Sn, J as Cn, Jt as wn, K as Tn, Kt as En, L as Dn, Lt as On, M as kn, Mt as An, N as jn, Nt as Mn, O as Nn, Ot as Pn, P as Fn, Pt as In, Qt as Ln, R as Rn, Rt as zn, S as Bn, St as Vn, T as Hn, Tt as Un, U as Wn, Ut as Gn, V as Kn, Vt as qn, W as Jn, Wt as Yn, Xt as Xn, Y as Zn, Yt as Qn, Zt as $n, _ as er, _t as tr, at as nr, b as rr, c as ir, cn as ar, ct as or, d as sr, dn as cr, dt as lr, en as ur, et as dr, f as fr, fn as pr, ft as mr, g as hr, gt as gr, h as _r, ht as vr, in as yr, it as br, j as xr, jt as Sr, k as Cr, kt as wr, ln as Tr, lt as Er, m as Dr, mn as Or, mt as kr, nn as Ar, nt as jr, on as Mr, ot as Nr, p as Pr, pn as Fr, pt as Ir, q as Lr, qt as Rr, r as zr, rn as Br, rt as Vr, sn as Hr, st as Ur, t as Wr, tn as Gr, tt as Kr, u as qr, un as Jr, ut as Yr, v as Xr, vt as Zr, w as Qr, wt as $r, x as ei, xt as ti, y as ni, z as ri, zt as ii } from "./common-BTpcnvZO.js";
|
|
11
11
|
import { c as ai, i as oi, n as si, o as ci, t as li } from "./useLifecycle-VVmz_24o.js";
|
|
12
12
|
import { t as ui } from "./check-P35dc2dH.js";
|
|
13
13
|
import { A as di, C as fi, D as pi, E as mi, M as hi, O as gi, S as _i, T as vi, a as yi, b as bi, c as xi, i as Si, k as Ci, l as wi, n as Ti, o as Ei, r as Di, s as Oi, t as ki, w as Ai, x as ji } from "./select-B0LRDH0g.js";
|
|
@@ -15,8 +15,8 @@ import { At as Mi, C as Ni, Dt as Pi, J as Fi, K as Ii, R as Li, S as Ri, U as z
|
|
|
15
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-CjPuEPou.js";
|
|
16
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-BJRJFobf.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-Bt8_pBa2.js";
|
|
18
|
-
import { n as Va, t as Ha } from "./ErrorBoundary-
|
|
19
|
-
import { n as Ua, t as Wa } from "./globals-
|
|
18
|
+
import { n as Va, t as Ha } from "./ErrorBoundary-Dh-VaAao.js";
|
|
19
|
+
import { n as Ua, t as Wa } from "./globals-rH_9s1xB.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-DBCITLeF.js";
|
|
@@ -39,7 +39,7 @@ import { t as Ms } from "./useAsyncData-ChgNtdmE.js";
|
|
|
39
39
|
import { i as Ns, n as Ps, r as Fs } from "./formats-6pLWWrY2.js";
|
|
40
40
|
import { D as Is, O as Ls } from "./vega-loader.browser-B9Pz0EGP.js";
|
|
41
41
|
import { a as Rs, n as zs } from "./loader-Bm8cy3e8.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-
|
|
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-BwTJAT1U.js";
|
|
43
43
|
import { t as Js } from "./useDeepCompareMemoize-Bet7kSsI.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
|
|
@@ -10578,7 +10578,7 @@ function VC(e, t) {
|
|
|
10578
10578
|
}
|
|
10579
10579
|
//#endregion
|
|
10580
10580
|
//#region src/plugins/impl/DataEditorPlugin.tsx
|
|
10581
|
-
var HC = J.lazy(() => import("./glide-data-editor-
|
|
10581
|
+
var HC = J.lazy(() => import("./glide-data-editor-D6GkY0Z2.js").then((e) => e.t)), UC = wS("marimo-data-editor", { cssStyles: [qS] }).withData(W({
|
|
10582
10582
|
initialValue: W({ edits: G(W({
|
|
10583
10583
|
rowIdx: K(),
|
|
10584
10584
|
columnId: U(),
|
|
@@ -30291,7 +30291,7 @@ function BR(e) {
|
|
|
30291
30291
|
}
|
|
30292
30292
|
//#endregion
|
|
30293
30293
|
//#region src/components/editor/renderers/slides-layout/slides-layout.tsx
|
|
30294
|
-
var VR = J.lazy(() => import("./reveal-component-
|
|
30294
|
+
var VR = J.lazy(() => import("./reveal-component-Ckn4ABk3.js")), HR = (e) => {
|
|
30295
30295
|
let t = (0, X.c)(33), { layout: n, setLayout: r, cells: i, mode: a } = e, o = ns(da), s = a === "read" || o, c = ns(He) > 1, [l, u] = (0, J.useState)(null), d;
|
|
30296
30296
|
t[0] !== i || t[1] !== n ? (d = RP(i, n), t[0] = i, t[1] = n, t[2] = d) : d = t[2];
|
|
30297
30297
|
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-
|
|
3
|
+
import { a as n } from "./glide-data-editor-D6GkY0Z2.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_27cffe7f1bc30287d59ac27db3240c5b/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",
|
|
@@ -4,14 +4,14 @@ 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-CKO1pHJo.js";
|
|
6
6
|
import { O as u } from "./error-entries-CMNtA8NK.js";
|
|
7
|
-
import { Q as d, X as f, Z as p, an as m, cn as h, i as g, in as _, l as v, n as y, r as b, t as x, u as S } from "./common-
|
|
7
|
+
import { Q as d, X as f, Z as p, an as m, cn as h, i as g, in as _, l as v, n as y, r as b, t as x, u as S } from "./common-BTpcnvZO.js";
|
|
8
8
|
import { M as C } from "./select-B0LRDH0g.js";
|
|
9
9
|
import { q as ee } from "./dropdown-menu-B3eUiVJB.js";
|
|
10
10
|
import { _ as w } from "./toDate-CjPuEPou.js";
|
|
11
11
|
import { t as T } from "./jsx-runtime-3BD1kT0s.js";
|
|
12
12
|
import { q as E } from "./use-restore-focus-DBCITLeF.js";
|
|
13
13
|
import { A as D, C as O, b as k } from "./useTheme-DympCsQg.js";
|
|
14
|
-
import { a as A, n as te, t as ne } from "./code-visibility-
|
|
14
|
+
import { a as A, n as te, t as ne } from "./code-visibility-BwTJAT1U.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",
|
package/package.json
CHANGED
package/src/core/host/AGENTS.md
CHANGED
|
@@ -5,11 +5,12 @@ Production code may import host modules, `@marimo-team/client`,
|
|
|
5
5
|
`marimo/host-imports`. Tests are exempt.
|
|
6
6
|
|
|
7
7
|
The protocol schemas and types live in `@marimo-team/client/protocol`.
|
|
8
|
-
The native `marimo` event is a marimo extension and is defined in `events.ts`.
|
|
9
8
|
|
|
10
9
|
Define interfaces here and inject application behavior through adapters.
|
|
11
10
|
|
|
12
|
-
`
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
`notebook-client.ts` follows the notebook with `NotebookEvents` from
|
|
12
|
+
`@marimo-team/client`, over a `NotebookTransport` the editor supplies. The
|
|
13
|
+
editor's transports for its session routes live in
|
|
14
|
+
`core/websocket/transports/notebook.ts`. Each kind of object is a `NotebookResource`
|
|
15
|
+
in `resources/` with pure handlers keyed by event name, composed with
|
|
16
|
+
`createNotebookReducer`. The client holds one state atom and exposes derived atoms.
|
|
@@ -37,45 +37,6 @@ export type ConnectionStatus =
|
|
|
37
37
|
|
|
38
38
|
/** The recovery policy for a closed connection. */
|
|
39
39
|
export interface CloseDecision {
|
|
40
|
-
kind: "terminal" | "
|
|
40
|
+
kind: "terminal" | "retry";
|
|
41
41
|
status: ConnectionStatus;
|
|
42
42
|
}
|
|
43
|
-
|
|
44
|
-
export type ConnectionEvent = "open" | "close" | "message" | "error";
|
|
45
|
-
|
|
46
|
-
export interface IConnectionTransportMap {
|
|
47
|
-
open: WebSocketEventMap["open"];
|
|
48
|
-
message: WebSocketEventMap["message"];
|
|
49
|
-
close: WebSocketEventMap["close"];
|
|
50
|
-
error: WebSocketEventMap["error"];
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
export type ConnectionTransportCallback<T extends ConnectionEvent> = (
|
|
54
|
-
data: IConnectionTransportMap[T],
|
|
55
|
-
) => void;
|
|
56
|
-
|
|
57
|
-
/** Transport readiness, using the WebSocket readyState values. */
|
|
58
|
-
export const TransportReadyState = {
|
|
59
|
-
CONNECTING: 0,
|
|
60
|
-
OPEN: 1,
|
|
61
|
-
CLOSING: 2,
|
|
62
|
-
CLOSED: 3,
|
|
63
|
-
} as const;
|
|
64
|
-
|
|
65
|
-
export type TransportReadyState =
|
|
66
|
-
(typeof TransportReadyState)[keyof typeof TransportReadyState];
|
|
67
|
-
|
|
68
|
-
/** A reconnectable source of notebook messages. */
|
|
69
|
-
export interface NotebookTransport {
|
|
70
|
-
reconnect(code?: number | undefined, reason?: string | undefined): void;
|
|
71
|
-
close(): void;
|
|
72
|
-
addEventListener<T extends ConnectionEvent>(
|
|
73
|
-
event: T,
|
|
74
|
-
callback: ConnectionTransportCallback<T>,
|
|
75
|
-
): void;
|
|
76
|
-
removeEventListener<T extends ConnectionEvent>(
|
|
77
|
-
event: T,
|
|
78
|
-
callback: ConnectionTransportCallback<T>,
|
|
79
|
-
): void;
|
|
80
|
-
readyState: TransportReadyState;
|
|
81
|
-
}
|
package/src/core/wasm/bridge.ts
CHANGED
|
@@ -38,8 +38,6 @@ import type {
|
|
|
38
38
|
} from "../network/types";
|
|
39
39
|
import { filenameAtom } from "../saving/file-state";
|
|
40
40
|
import { store } from "../state/jotai";
|
|
41
|
-
import { BasicTransport } from "../websocket/transports/basic";
|
|
42
|
-
import type { IConnectionTransport } from "../websocket/transports/transport";
|
|
43
41
|
import { PyodideRouter } from "./router";
|
|
44
42
|
import { getWorkerRPC } from "./rpc";
|
|
45
43
|
import { getWasmRuntimeConfig } from "./runtime-config";
|
|
@@ -719,12 +717,6 @@ export class PyodideBridge implements RunRequests, EditRequests {
|
|
|
719
717
|
}
|
|
720
718
|
}
|
|
721
719
|
|
|
722
|
-
export function createPyodideConnection(): IConnectionTransport {
|
|
723
|
-
return BasicTransport.withProducerCallback((callback) => {
|
|
724
|
-
PyodideBridge.INSTANCE.attachMessageConsumer(callback);
|
|
725
|
-
});
|
|
726
|
-
}
|
|
727
|
-
|
|
728
720
|
// Compose the worker name. The optional "::controller" suffix tells
|
|
729
721
|
// getController.ts that the host page provides a custom /wasm/controller.js
|
|
730
722
|
// and that the dynamic import should be attempted. Hosts opt in by setting
|
|
@@ -64,16 +64,4 @@ describe("classifyCloseEvent", () => {
|
|
|
64
64
|
});
|
|
65
65
|
});
|
|
66
66
|
});
|
|
67
|
-
|
|
68
|
-
describe("transport exhaustion", () => {
|
|
69
|
-
it("MARIMO_TRANSPORT_EXHAUSTED → gave-up with KERNEL_DISCONNECTED", () => {
|
|
70
|
-
const decision = classify("MARIMO_TRANSPORT_EXHAUSTED");
|
|
71
|
-
expect(decision.kind).toBe("gave-up");
|
|
72
|
-
expect(decision.status).toEqual({
|
|
73
|
-
state: ConnectionState.CLOSED,
|
|
74
|
-
code: WebSocketClosedReason.KERNEL_DISCONNECTED,
|
|
75
|
-
reason: "kernel not found",
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
});
|
|
79
67
|
});
|
|
@@ -2,22 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
import type { CloseDecision } from "../host/connection";
|
|
4
4
|
import { Logger } from "@/utils/Logger";
|
|
5
|
-
import { TRANSPORT_EXHAUSTED_REASON } from "./transports/ws";
|
|
6
5
|
import { ConnectionState, WebSocketClosedReason } from "./types";
|
|
7
6
|
|
|
8
7
|
// Keep server reasons in sync with ws_endpoint.py and ws/*.py.
|
|
9
8
|
// SSE carries the same reasons in close events. Unclassified reasons retry.
|
|
10
9
|
export function classifyCloseEvent(event: { reason?: string }): CloseDecision {
|
|
11
10
|
switch (event.reason) {
|
|
12
|
-
case TRANSPORT_EXHAUSTED_REASON:
|
|
13
|
-
return {
|
|
14
|
-
kind: "gave-up",
|
|
15
|
-
status: {
|
|
16
|
-
state: ConnectionState.CLOSED,
|
|
17
|
-
code: WebSocketClosedReason.KERNEL_DISCONNECTED,
|
|
18
|
-
reason: "kernel not found",
|
|
19
|
-
},
|
|
20
|
-
};
|
|
21
11
|
case "MARIMO_NO_FILE_KEY":
|
|
22
12
|
case "MARIMO_NO_SESSION_ID":
|
|
23
13
|
case "MARIMO_NO_SESSION":
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/* Copyright 2026 Marimo. All rights reserved. */
|
|
2
|
-
|
|
3
|
-
import { describe, expect, expectTypeOf, it } from "vitest";
|
|
4
|
-
import { z } from "zod";
|
|
5
|
-
import { type NotebookEvent, 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
|
-
expectTypeOf<
|
|
14
|
-
Extract<NotebookEvent, { event: "marimo" }>["data"]["marimo"]
|
|
15
|
-
>().toBeUnknown();
|
|
16
|
-
const host = { event: "marimo", data: { marimo: notification } };
|
|
17
|
-
expect(parseNotebookEvent({ data: notification })).toEqual(host);
|
|
18
|
-
expect(parseNotebookEvent({ ...host, id: "42" })).toEqual({
|
|
19
|
-
...host,
|
|
20
|
-
id: "42",
|
|
21
|
-
});
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
it("retains unknown event cursors without interpreting their payloads", () => {
|
|
25
|
-
expect(
|
|
26
|
-
parseNotebookEvent({ event: "future", id: "42", data: null }),
|
|
27
|
-
).toEqual({ event: "unknown", name: "future", id: "42" });
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
it("decodes known events outside the client's subscription filters", () => {
|
|
31
|
-
const event = {
|
|
32
|
-
event: "run.removed",
|
|
33
|
-
id: "42",
|
|
34
|
-
data: { id: "r1", time: "2026-10-19T12:00:00Z" },
|
|
35
|
-
};
|
|
36
|
-
expect(parseNotebookEvent(event)).toEqual(event);
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
it.each([
|
|
40
|
-
{ event: "cell", id: "42", data: { cell: { id: "c1" } } },
|
|
41
|
-
{ event: "run.removed", id: "42", data: {} },
|
|
42
|
-
{ event: "ready", data: {} },
|
|
43
|
-
{ event: "marimo", data: {} },
|
|
44
|
-
{},
|
|
45
|
-
null,
|
|
46
|
-
])("rejects malformed known messages: %j", (message) => {
|
|
47
|
-
expect(() => parseNotebookEvent(message)).toThrow(z.ZodError);
|
|
48
|
-
});
|
|
49
|
-
});
|
package/src/core/host/events.ts
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
/* Copyright 2026 Marimo. All rights reserved. */
|
|
2
|
-
|
|
3
|
-
import { z } from "zod";
|
|
4
|
-
import * as Protocol from "@marimo-team/client/protocol";
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Notebook stream events, including native marimo notifications.
|
|
8
|
-
*
|
|
9
|
-
* Known events follow the generated protocol. Unknown events retain their name
|
|
10
|
-
* and cursor so clients can skip them without losing their place in the stream.
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
const envelope = z.object({
|
|
14
|
-
event: z.string().min(1),
|
|
15
|
-
data: z.unknown(),
|
|
16
|
-
id: z.string().min(1).optional(),
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
const knownNames = new Set<string>(
|
|
20
|
-
Protocol.Event.options.flatMap((schema) => schema.shape.event.options),
|
|
21
|
-
);
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* A native marimo message carried by a host stream.
|
|
25
|
-
*
|
|
26
|
-
* The protocol leaves extension events to their producer. The payload is
|
|
27
|
-
* passed through for the session handler to interpret.
|
|
28
|
-
*/
|
|
29
|
-
const MarimoEvent = z.object({
|
|
30
|
-
event: z.literal("marimo"),
|
|
31
|
-
id: z.string().min(1).optional(),
|
|
32
|
-
data: z.object({ marimo: z.unknown() }),
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
/** A decoded event, or the name and cursor of an unrecognized event. */
|
|
36
|
-
export type NotebookEvent =
|
|
37
|
-
| Protocol.EventOutput
|
|
38
|
-
| z.output<typeof MarimoEvent>
|
|
39
|
-
| {
|
|
40
|
-
readonly event: "unknown";
|
|
41
|
-
readonly name: string;
|
|
42
|
-
readonly id?: string;
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
const sessionEnvelope = z.object({ data: z.unknown() });
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Decode a host event or an in-process WASM `{ data: notification }` message.
|
|
49
|
-
*
|
|
50
|
-
* Throws if the envelope or a known event is malformed. Native notification
|
|
51
|
-
* payloads are passed through for the session handler to interpret.
|
|
52
|
-
*/
|
|
53
|
-
export function parseNotebookEvent(value: unknown): NotebookEvent {
|
|
54
|
-
if (typeof value === "object" && value !== null && !("event" in value)) {
|
|
55
|
-
return {
|
|
56
|
-
event: "marimo",
|
|
57
|
-
data: { marimo: sessionEnvelope.parse(value).data },
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
const parsed = envelope.parse(value);
|
|
61
|
-
if (parsed.event === "marimo") {
|
|
62
|
-
return MarimoEvent.parse(parsed);
|
|
63
|
-
}
|
|
64
|
-
if (knownNames.has(parsed.event)) {
|
|
65
|
-
return Protocol.Event.parse(parsed);
|
|
66
|
-
}
|
|
67
|
-
return { event: "unknown", name: parsed.event, id: parsed.id };
|
|
68
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/* Copyright 2026 Marimo. All rights reserved. */
|
|
2
|
-
|
|
3
|
-
import { afterEach, describe, expect, it, vi } from "vitest";
|
|
4
|
-
import { BasicTransport } from "../transports/basic";
|
|
5
|
-
import { SseTransport } from "../transports/sse";
|
|
6
|
-
import { WsTransport } from "../transports/ws";
|
|
7
|
-
import { createConnectionTransport } from "../transports/create";
|
|
8
|
-
|
|
9
|
-
vi.mock("../../wasm/utils", () => ({
|
|
10
|
-
isWasm: () => false,
|
|
11
|
-
}));
|
|
12
|
-
|
|
13
|
-
describe("createConnectionTransport", () => {
|
|
14
|
-
afterEach(() => {
|
|
15
|
-
vi.restoreAllMocks();
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
const options = {
|
|
19
|
-
url: () => "http://localhost/ws",
|
|
20
|
-
headers: () => ({}),
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
it("uses BasicTransport for static notebooks", () => {
|
|
24
|
-
const transport = createConnectionTransport({
|
|
25
|
-
...options,
|
|
26
|
-
static: true,
|
|
27
|
-
transportType: "websocket",
|
|
28
|
-
});
|
|
29
|
-
expect(transport).toBeInstanceOf(BasicTransport);
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
it("uses WsTransport by default", () => {
|
|
33
|
-
const transport = createConnectionTransport({
|
|
34
|
-
...options,
|
|
35
|
-
static: false,
|
|
36
|
-
transportType: "websocket",
|
|
37
|
-
});
|
|
38
|
-
expect(transport).toBeInstanceOf(WsTransport);
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
it("uses SseTransport when the transport type is sse", () => {
|
|
42
|
-
const transport = createConnectionTransport({
|
|
43
|
-
...options,
|
|
44
|
-
static: false,
|
|
45
|
-
transportType: "sse",
|
|
46
|
-
});
|
|
47
|
-
expect(transport).toBeInstanceOf(SseTransport);
|
|
48
|
-
});
|
|
49
|
-
});
|