osra 0.5.8 → 0.6.1

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/build/index.js CHANGED
@@ -6,7 +6,7 @@ var e = Object.defineProperty, t = (t, n) => {
6
6
  enumerable: !0
7
7
  });
8
8
  return n || e(r, Symbol.toStringTag, { value: "Module" }), r;
9
- }, n = "__OSRA_KEY__", r = "__OSRA_DEFAULT_KEY__", i = "__OSRA_BOX__", a = () => globalThis.browser ?? globalThis.chrome, o = () => a()?.runtime, s = (e, t) => te(e) && e.__OSRA_KEY__ === t, c = (e, t) => {
9
+ }, n = "__OSRA_KEY__", r = "__OSRA_DEFAULT_KEY__", i = "__OSRA_BOX__", a = () => globalThis.browser ?? globalThis.chrome, o = () => a()?.runtime, s = (e, t) => ne(e) && e.__OSRA_KEY__ === t, c = (e, t) => {
10
10
  if (e) {
11
11
  if (e.aborted) {
12
12
  t();
@@ -16,7 +16,7 @@ var e = Object.defineProperty, t = (t, n) => {
16
16
  }
17
17
  }, l = ({ listener: e, transport: t, remoteName: n, key: i = r, origin: a = "*", unregisterSignal: o }) => {
18
18
  if (o?.aborted) return;
19
- let l = M(t) ? t.receive : t;
19
+ let l = j(t) ? t.receive : t;
20
20
  if (typeof l == "function") {
21
21
  let t = l((t, r) => {
22
22
  o?.aborted || s(t, i) && (n && t.name !== n || e(t, r));
@@ -24,7 +24,7 @@ var e = Object.defineProperty, t = (t, n) => {
24
24
  typeof t == "function" && c(o, t);
25
25
  return;
26
26
  }
27
- if (w(l) || T(l) || E(l) || D(l)) {
27
+ if (C(l) || w(l) || T(l) || E(l)) {
28
28
  let t = (t, r) => {
29
29
  let a = (t, a) => {
30
30
  s(t, i) && (n && t.name !== n || e(t, {
@@ -34,14 +34,14 @@ var e = Object.defineProperty, t = (t, n) => {
34
34
  };
35
35
  t.addListener(a), c(o, () => t.removeListener(a));
36
36
  };
37
- if (w(l)) t(l.onMessage);
38
- else if (E(l)) {
37
+ if (C(l)) t(l.onMessage);
38
+ else if (T(l)) {
39
39
  let e = (e) => t(e.onMessage, e);
40
40
  l.addListener(e), c(o, () => l.removeListener(e));
41
- } else D(l) ? t(l) : t(l.onMessage);
41
+ } else E(l) ? t(l) : t(l.onMessage);
42
42
  return;
43
43
  }
44
- let u = x(l) ? l.port : l, d = a !== "*" && O(l), f = (t) => {
44
+ let u = b(l) ? l.port : l, d = a !== "*" && D(l), f = (t) => {
45
45
  let r = t.data;
46
46
  if (typeof r == "string") try {
47
47
  r = JSON.parse(r);
@@ -56,15 +56,17 @@ var e = Object.defineProperty, t = (t, n) => {
56
56
  };
57
57
  u.addEventListener("message", f), u instanceof MessagePort && u.start(), c(o, () => u.removeEventListener("message", f));
58
58
  }, u = (e, t, n = "*", r = []) => {
59
- let i = M(e) ? e.emit : e;
59
+ let i = j(e) ? e.emit : e;
60
60
  if (typeof i == "function") i(t, r);
61
- else if (O(i)) i.postMessage(t, n, r);
62
- else if (T(i)) i.postMessage(t);
63
- else if (w(i)) i.sendMessage(t);
61
+ else if (D(i)) i.postMessage(t, n, r);
62
+ else if (w(i)) i.postMessage(t);
63
+ else if (C(i)) i.sendMessage(t)?.catch?.((e) => {
64
+ if (!String(e?.message).includes("Receiving end does not exist")) throw e;
65
+ });
64
66
  else if (g(i)) {
65
67
  let e = JSON.stringify(t);
66
68
  i.readyState === WebSocket.CONNECTING ? i.addEventListener("open", () => i.send(e), { once: !0 }) : i.send(e);
67
- } else x(i) ? i.port.postMessage(t, r) : i.postMessage(t, r);
69
+ } else b(i) ? i.port.postMessage(t, r) : i.postMessage(t, r);
68
70
  }, d = globalThis.Float16Array, f = {
69
71
  Int8Array,
70
72
  Uint8Array,
@@ -87,13 +89,13 @@ var e = Object.defineProperty, t = (t, n) => {
87
89
  let t = f[e];
88
90
  if (!t) throw Error("Unknown typed array type");
89
91
  return t;
90
- }, h = (e) => p.some((t) => !!t && e instanceof t), g = (e) => e instanceof WebSocket, _ = (e) => !!globalThis.ServiceWorkerContainer && e instanceof ServiceWorkerContainer, v = (e) => !!globalThis.ServiceWorker && e instanceof ServiceWorker, y = (e) => !!globalThis.Worker && e instanceof Worker, b = (e) => {
92
+ }, h = (e) => p.some((t) => !!t && e instanceof t), g = (e) => e instanceof WebSocket, te = (e) => !!globalThis.ServiceWorkerContainer && e instanceof ServiceWorkerContainer, _ = (e) => !!globalThis.ServiceWorker && e instanceof ServiceWorker, v = (e) => !!globalThis.Worker && e instanceof Worker, y = (e) => {
91
93
  let t = globalThis.DedicatedWorkerGlobalScope;
92
94
  return !!t && e instanceof t;
93
- }, x = (e) => !!globalThis.SharedWorker && e instanceof SharedWorker, S = (e) => e instanceof MessagePort, te = (e) => !!e && typeof e == "object" && "__OSRA_KEY__" in e && !!e.__OSRA_KEY__, C = (e, t) => {
95
+ }, b = (e) => !!globalThis.SharedWorker && e instanceof SharedWorker, x = (e) => e instanceof MessagePort, ne = (e) => !!e && typeof e == "object" && "__OSRA_KEY__" in e && !!e.__OSRA_KEY__, S = (e, t) => {
94
96
  for (let n of t) if (n && e instanceof n) return !0;
95
97
  return !1;
96
- }, ne = (e) => C(e, [globalThis.SharedArrayBuffer]), re = ne, ie = (e) => C(e, [
98
+ }, re = (e) => S(e, [globalThis.SharedArrayBuffer]), ie = re, ae = (e) => S(e, [
97
99
  globalThis.ArrayBuffer,
98
100
  globalThis.MessagePort,
99
101
  globalThis.ReadableStream,
@@ -109,13 +111,13 @@ var e = Object.defineProperty, t = (t, n) => {
109
111
  globalThis.RTCDataChannel,
110
112
  globalThis.WebTransportReceiveStream,
111
113
  globalThis.WebTransportSendStream
112
- ]), w = (e) => {
114
+ ]), C = (e) => {
113
115
  let t = o();
114
116
  return t ? e === t : !1;
115
- }, T = (e, t = !1) => !e || typeof e != "object" || O(e) || !("name" in e) || !("disconnect" in e) || !("postMessage" in e) ? !1 : t ? "sender" in e && "onMessage" in e && "onDisconnect" in e : !0, ae = (e) => !!e && typeof e == "object" && !O(e) && "addListener" in e && "hasListener" in e && "removeListener" in e, E = (e) => {
117
+ }, w = (e, t = !1) => !e || typeof e != "object" || D(e) || !("name" in e) || !("disconnect" in e) || !("postMessage" in e) ? !1 : t ? "sender" in e && "onMessage" in e && "onDisconnect" in e : !0, oe = (e) => !!e && typeof e == "object" && !D(e) && "addListener" in e && "hasListener" in e && "removeListener" in e, T = (e) => {
116
118
  let t = o();
117
119
  return t ? e === t.onConnect || e === t.onConnectExternal : !1;
118
- }, D = (e) => ae(e), O = (e) => {
120
+ }, E = (e) => oe(e), D = (e) => {
119
121
  if (!e || typeof e != "object") return !1;
120
122
  try {
121
123
  return "window" in e && e.window === e;
@@ -126,51 +128,51 @@ var e = Object.defineProperty, t = (t, n) => {
126
128
  return !1;
127
129
  }
128
130
  }
129
- }, oe = (e) => g(e) || T(e) || w(e), se = (e) => g(e) || T(e) || E(e) || D(e) || w(e), k = (e) => !!e && typeof e == "object" && !O(e) && "isJson" in e && e.isJson === !0 || oe(e) || se(e), A = (e) => O(e) || oe(e) || v(e) || y(e) || b(e) || x(e) || S(e) || de(e);
130
- function ce(e) {
131
- if (!A(e)) throw Error("Transport is not emitable");
132
- }
133
- var j = (e) => O(e) || se(e) || _(e) || y(e) || b(e) || x(e) || S(e) || fe(e);
131
+ }, se = (e) => g(e) || w(e) || C(e), ce = (e) => g(e) || w(e) || T(e) || E(e) || C(e), O = (e) => !!e && typeof e == "object" && !D(e) && "isJson" in e && e.isJson === !0 || se(e) || ce(e), k = (e) => D(e) || se(e) || _(e) || v(e) || y(e) || b(e) || x(e) || fe(e);
134
132
  function le(e) {
135
- if (!j(e)) throw Error("Transport is not receiveable");
133
+ if (!k(e)) throw Error("Transport is not emitable");
134
+ }
135
+ var A = (e) => D(e) || ce(e) || te(e) || v(e) || y(e) || b(e) || x(e) || pe(e);
136
+ function ue(e) {
137
+ if (!A(e)) throw Error("Transport is not receiveable");
136
138
  }
137
- var ue = (e) => {
138
- if (!e || typeof e != "object" || O(e)) return !1;
139
+ var de = (e) => {
140
+ if (!e || typeof e != "object" || D(e)) return !1;
139
141
  let t = Object.getPrototypeOf(e);
140
142
  return t === Object.prototype || t === null;
141
- }, de = (e) => !ue(e) || !("emit" in e) ? !1 : A(e.emit) || typeof e.emit == "function", fe = (e) => !ue(e) || !("receive" in e) ? !1 : j(e.receive) || typeof e.receive == "function", M = (e) => de(e) || fe(e), pe = (e) => A(e) || j(e) || M(e) || k(e), N = { [i]: "revivable" }, P = (e) => !!e && typeof e == "object" && "__OSRA_BOX__" in e && e.__OSRA_BOX__ === "revivable", me = (e, t) => k(t.transport) ? { base64Buffer: new Uint8Array(e).toBase64() } : { arrayBuffer: e }, F = (e) => "arrayBuffer" in e ? e.arrayBuffer : Uint8Array.fromBase64(e.base64Buffer).buffer, he = /* @__PURE__ */ t({
142
- box: () => ve,
143
- isType: () => _e,
144
- revive: () => ye,
145
- type: () => ge
146
- }), ge = "arrayBuffer", _e = (e) => e instanceof ArrayBuffer, ve = (e, t) => ({
147
- ...N,
148
- type: ge,
149
- ...me(e, t)
150
- }), ye = (e, t) => F(e), be = /* @__PURE__ */ t({
151
- box: () => Ce,
152
- isType: () => Se,
153
- revive: () => we,
154
- type: () => xe
155
- }), xe = "date", Se = (e) => e instanceof Date, Ce = (e, t) => ({
156
- ...N,
157
- type: xe,
143
+ }, fe = (e) => !de(e) || !("emit" in e) ? !1 : k(e.emit) || typeof e.emit == "function", pe = (e) => !de(e) || !("receive" in e) ? !1 : A(e.receive) || typeof e.receive == "function", j = (e) => fe(e) || pe(e), me = (e) => k(e) || A(e) || j(e) || O(e), M = { [i]: "revivable" }, N = (e) => !!e && typeof e == "object" && "__OSRA_BOX__" in e && e.__OSRA_BOX__ === "revivable", he = (e, t) => O(t.transport) ? { base64Buffer: new Uint8Array(e).toBase64() } : { arrayBuffer: e }, ge = (e) => "arrayBuffer" in e ? e.arrayBuffer : Uint8Array.fromBase64(e.base64Buffer).buffer, _e = /* @__PURE__ */ t({
144
+ box: () => be,
145
+ isType: () => ye,
146
+ revive: () => xe,
147
+ type: () => ve
148
+ }), ve = "arrayBuffer", ye = (e) => e instanceof ArrayBuffer, be = (e, t) => ({
149
+ ...M,
150
+ type: ve,
151
+ ...he(e, t)
152
+ }), xe = (e, t) => ge(e), Se = /* @__PURE__ */ t({
153
+ box: () => Te,
154
+ isType: () => we,
155
+ revive: () => Ee,
156
+ type: () => Ce
157
+ }), Ce = "date", we = (e) => e instanceof Date, Te = (e, t) => ({
158
+ ...M,
159
+ type: Ce,
158
160
  ISOString: e.toISOString()
159
- }), we = (e, t) => new Date(e.ISOString), Te = /* @__PURE__ */ t({
160
- box: () => Oe,
161
- isType: () => De,
162
- revive: () => ke,
163
- type: () => Ee
164
- }), Ee = "headers", De = (e) => e instanceof Headers, Oe = (e, t) => ({
165
- ...N,
166
- type: Ee,
161
+ }), Ee = (e, t) => new Date(e.ISOString), De = /* @__PURE__ */ t({
162
+ box: () => Ae,
163
+ isType: () => ke,
164
+ revive: () => je,
165
+ type: () => Oe
166
+ }), Oe = "headers", ke = (e) => e instanceof Headers, Ae = (e, t) => ({
167
+ ...M,
168
+ type: Oe,
167
169
  entries: [...e.entries()]
168
- }), ke = (e, t) => new Headers(e.entries), Ae = /* @__PURE__ */ t({
169
- box: () => Pe,
170
- isType: () => Ne,
171
- revive: () => Fe,
172
- type: () => je
173
- }), je = "error", Me = {
170
+ }), je = (e, t) => new Headers(e.entries), Me = /* @__PURE__ */ t({
171
+ box: () => Ie,
172
+ isType: () => Fe,
173
+ revive: () => Le,
174
+ type: () => Ne
175
+ }), Ne = "error", Pe = {
174
176
  Error,
175
177
  TypeError,
176
178
  RangeError,
@@ -178,11 +180,11 @@ var ue = (e) => {
178
180
  ReferenceError,
179
181
  EvalError,
180
182
  URIError
181
- }, Ne = (e) => e instanceof Error, Pe = (e, t) => {
183
+ }, Fe = (e) => e instanceof Error, Ie = (e, t) => {
182
184
  let n = "cause" in e && e.cause !== void 0, r = typeof AggregateError < "u" && e instanceof AggregateError, i = typeof DOMException < "u" && e instanceof DOMException;
183
185
  return {
184
- ...N,
185
- type: je,
186
+ ...M,
187
+ type: Ne,
186
188
  name: e.name,
187
189
  message: e.message,
188
190
  stack: e.stack || e.toString(),
@@ -190,7 +192,7 @@ var ue = (e) => {
190
192
  ...r ? { errors: X(e.errors, t) } : {},
191
193
  ...i ? { isDOMException: !0 } : {}
192
194
  };
193
- }, Fe = (e, t) => {
195
+ }, Le = (e, t) => {
194
196
  let n = e.cause === void 0 ? void 0 : Z(e.cause, t), r = n === void 0 ? void 0 : { cause: n };
195
197
  if (e.isDOMException && typeof DOMException < "u") {
196
198
  let t = new DOMException(e.message, e.name);
@@ -205,44 +207,44 @@ var ue = (e) => {
205
207
  let i;
206
208
  if (e.errors !== void 0 && typeof AggregateError < "u") i = AggregateError(Z(e.errors, t), e.message, r);
207
209
  else {
208
- let t = Me[e.name] ?? Error;
210
+ let t = Pe[e.name] ?? Error;
209
211
  i = r === void 0 ? new t(e.message) : new t(e.message, r);
210
212
  }
211
213
  return e.name && i.name !== e.name && (i.name = e.name), e.stack && (i.stack = e.stack), i;
212
- }, Ie = /* @__PURE__ */ t({
213
- box: () => ze,
214
- isType: () => Re,
215
- revive: () => Be,
216
- type: () => Le
217
- }), Le = "typedArray", Re = h, ze = (e, t) => {
214
+ }, Re = /* @__PURE__ */ t({
215
+ box: () => Ve,
216
+ isType: () => Be,
217
+ revive: () => He,
218
+ type: () => ze
219
+ }), ze = "typedArray", Be = h, Ve = (e, t) => {
218
220
  let n = e.byteOffset === 0 && e.byteLength === e.buffer.byteLength ? e.buffer : e.buffer.slice(e.byteOffset, e.byteOffset + e.byteLength);
219
221
  return {
220
- ...N,
221
- type: Le,
222
+ ...M,
223
+ type: ze,
222
224
  typedArrayType: m(e),
223
- ...me(n, t)
225
+ ...he(n, t)
224
226
  };
225
- }, Be = (e, t) => new (ee(e.typedArrayType))(F(e)), I = /* @__PURE__ */ new WeakMap(), Ve = /* @__PURE__ */ new WeakSet(), L = (e, t) => {
226
- if (Ve.has(e)) return t(), () => {};
227
- let n = I.get(e);
228
- return n || I.set(e, n = /* @__PURE__ */ new Set()), n.add(t), () => n.delete(t);
229
- }, He = (e) => {
230
- if (Ve.has(e)) return;
231
- Ve.add(e);
232
- let t = I.get(e);
227
+ }, He = (e, t) => new (ee(e.typedArrayType))(ge(e)), P = /* @__PURE__ */ new WeakMap(), Ue = /* @__PURE__ */ new WeakSet(), F = (e, t) => {
228
+ if (Ue.has(e)) return t(), () => {};
229
+ let n = P.get(e);
230
+ return n || P.set(e, n = /* @__PURE__ */ new Set()), n.add(t), () => n.delete(t);
231
+ }, We = (e) => {
232
+ if (Ue.has(e)) return;
233
+ Ue.add(e);
234
+ let t = P.get(e);
233
235
  if (t) {
234
- I.delete(e);
236
+ P.delete(e);
235
237
  for (let e of t) try {
236
238
  e();
237
239
  } catch {}
238
240
  }
239
- }, Ue = /* @__PURE__ */ t({
240
- box: () => Ze,
241
- isType: () => Xe,
242
- revive: () => Qe,
243
- transfer: () => Ye,
244
- type: () => We
245
- }), We = "transfer", Ge = Symbol.for("osra.transfer"), Ke = (e) => typeof e == "object" && !!e, qe = (e) => Ke(e) && Ge in e && e[Ge] === !0, Je = (e) => Ke(e) ? ArrayBuffer.isView(e) ? !0 : C(e, [
241
+ }, Ge = /* @__PURE__ */ t({
242
+ box: () => $e,
243
+ isType: () => Qe,
244
+ revive: () => et,
245
+ transfer: () => Ze,
246
+ type: () => Ke
247
+ }), Ke = "transfer", qe = Symbol.for("osra.transfer"), Je = (e) => typeof e == "object" && !!e, Ye = (e) => Je(e) && qe in e && e[qe] === !0, Xe = (e) => Je(e) ? ArrayBuffer.isView(e) ? !0 : S(e, [
246
248
  globalThis.ArrayBuffer,
247
249
  globalThis.MessagePort,
248
250
  globalThis.ReadableStream,
@@ -250,15 +252,15 @@ var ue = (e) => {
250
252
  globalThis.TransformStream,
251
253
  globalThis.ImageBitmap,
252
254
  globalThis.OffscreenCanvas
253
- ]) : !1, Ye = (e) => Je(e) ? {
254
- [Ge]: !0,
255
+ ]) : !1, Ze = (e) => Xe(e) ? {
256
+ [qe]: !0,
255
257
  value: e
256
- } : e, Xe = (e) => qe(e), Ze = (e, t) => ({
257
- ...N,
258
- type: We,
258
+ } : e, Qe = (e) => Ye(e), $e = (e, t) => ({
259
+ ...M,
260
+ type: Ke,
259
261
  inner: X(e.value, t),
260
- degraded: k(t.transport)
261
- }), Qe = (e, t) => Z(e.inner, t), $e = (e) => C(e, [
262
+ degraded: O(t.transport)
263
+ }), et = (e, t) => Z(e.inner, t), tt = (e) => S(e, [
262
264
  globalThis.MessagePort,
263
265
  globalThis.ReadableStream,
264
266
  globalThis.WritableStream,
@@ -270,18 +272,18 @@ var ue = (e) => {
270
272
  globalThis.RTCDataChannel,
271
273
  globalThis.WebTransportReceiveStream,
272
274
  globalThis.WebTransportSendStream
273
- ]), et = (e) => P(e) && e.type === "transfer", R = (e) => {
275
+ ]), nt = (e) => N(e) && e.type === "transfer", I = (e) => {
274
276
  let t = [], n = /* @__PURE__ */ new WeakSet(), r = (e, i) => {
275
- if (!(!e || typeof e != "object") && !n.has(e) && (n.add(e), !ne(e))) {
276
- if (et(e)) {
277
+ if (!(!e || typeof e != "object") && !n.has(e) && (n.add(e), !re(e))) {
278
+ if (nt(e)) {
277
279
  r(e.inner, i || !e.degraded);
278
280
  return;
279
281
  }
280
- if ($e(e)) {
282
+ if (tt(e)) {
281
283
  t.push(e);
282
284
  return;
283
285
  }
284
- if (ie(e)) {
286
+ if (ae(e)) {
285
287
  i && t.push(e);
286
288
  return;
287
289
  }
@@ -295,16 +297,15 @@ var ue = (e) => {
295
297
  }
296
298
  };
297
299
  return r(e, !1), t;
298
- }, z = class {
300
+ }, L = class {
299
301
  _listeners = /* @__PURE__ */ new Map();
300
- _onceListeners = /* @__PURE__ */ new WeakSet();
301
302
  addEventListener(e, t, n) {
302
303
  if (!t) return;
303
304
  let r = this._listeners.get(e);
304
- r || (r = /* @__PURE__ */ new Set(), this._listeners.set(e, r)), r.add(t), typeof n == "object" && n?.once && this._onceListeners.add(t);
305
+ r || (r = /* @__PURE__ */ new Map(), this._listeners.set(e, r)), r.has(t) || r.set(t, typeof n == "object" && !!n?.once);
305
306
  }
306
307
  removeEventListener(e, t, n) {
307
- t && (this._listeners.get(e)?.delete(t), this._onceListeners.delete(t));
308
+ t && this._listeners.get(e)?.delete(t);
308
309
  }
309
310
  _peer;
310
311
  _queue = [];
@@ -322,7 +323,7 @@ var ue = (e) => {
322
323
  dispatchEvent(e) {
323
324
  e.type === "message" ? this._onmessage?.call(this, e) : e.type === "messageerror" && this.onmessageerror?.call(this, e);
324
325
  let t = this._listeners.get(e.type);
325
- if (t) for (let n of [...t]) this._onceListeners.has(n) && (t.delete(n), this._onceListeners.delete(n)), typeof n == "function" ? n.call(this, e) : n.handleEvent(e);
326
+ if (t) for (let [n, r] of [...t]) r && t.delete(n), typeof n == "function" ? n.call(this, e) : n.handleEvent(e);
326
327
  return !0;
327
328
  }
328
329
  postMessage(e, t) {
@@ -347,94 +348,133 @@ var ue = (e) => {
347
348
  e._closed || e.dispatchEvent(new Event("close"));
348
349
  });
349
350
  }
350
- }, B = class {
351
+ }, R = class {
351
352
  port1;
352
353
  port2;
353
354
  constructor() {
354
- let e = new z(), t = new z();
355
+ let e = new L(), t = new L();
355
356
  e._peer = t, t._peer = e, this.port1 = e, this.port2 = t;
356
357
  }
357
- }, tt = new FinalizationRegistry((e) => {
358
+ }, rt = new FinalizationRegistry((e) => {
358
359
  try {
359
360
  e();
360
361
  } catch {}
361
- }), V = (e, t) => {
362
+ }), z = (e, t) => {
362
363
  let n = {};
363
- return tt.register(e, t, n), () => tt.unregister(n);
364
- }, nt = /* @__PURE__ */ t({
364
+ return rt.register(e, t, n), () => rt.unregister(n);
365
+ }, it = /* @__PURE__ */ t({
365
366
  box: () => U,
366
367
  createRevivableChannel: () => G,
367
- init: () => dt,
368
- isType: () => ft,
368
+ init: () => mt,
369
+ isType: () => ht,
369
370
  revive: () => W,
370
- type: () => rt
371
- }), rt = "messagePort", it = 2048, at = /* @__PURE__ */ new WeakMap(), ot = (e) => {
372
- let t = at.get(e);
371
+ type: () => at
372
+ }), at = "messagePort", ot = 2048, st = 128, ct = 1024, lt = /* @__PURE__ */ new WeakMap(), B = (e) => {
373
+ let t = lt.get(e);
373
374
  if (!t) throw Error("osra message-port: connection state missing; did init() run?");
374
375
  return t;
375
- }, st = (e, t) => {
376
+ }, ut = (e, t) => {
376
377
  let n = e.ports.get(t);
377
378
  return n || (n = {
378
379
  nextSeq: 0,
379
380
  buffer: /* @__PURE__ */ new Map(),
380
381
  outSeq: 0
381
- }, e.ports.set(t, n)), n;
382
- }, ct = (e) => {
383
- if (e.handler) for (let t = e.buffer.get(e.nextSeq); t !== void 0; t = e.buffer.get(e.nextSeq)) e.buffer.delete(e.nextSeq), e.nextSeq++, e.handler(t);
384
- }, lt = (e, t) => st(ot(e), t).outSeq++, ut = (e, t, n) => {
385
- let r = st(e, t);
386
- r.handler = n, ct(r);
382
+ }, e.ports.set(t, n), e.pendingPorts++), n;
383
+ }, V = (e, t) => {
384
+ let n = e.ports.get(t);
385
+ if (n && !n.handler && e.pendingPorts--, e.ports.delete(t), e.tombstones.size >= st) {
386
+ let t = e.tombstones.values().next().value;
387
+ t !== void 0 && e.tombstones.delete(t);
388
+ }
389
+ e.tombstones.add(t);
387
390
  }, dt = (e) => {
388
- let t = { ports: /* @__PURE__ */ new Map() };
389
- at.set(e, t), e.eventTarget.addEventListener("message", ({ detail: e }) => {
390
- if (e.type !== "message" && e.type !== "message-port-close") return;
391
- let n = st(t, e.portId);
392
- if (e.seq === void 0) {
393
- n.handler?.(e);
391
+ if (e.handler) for (let t = e.buffer.get(e.nextSeq); t !== void 0; t = e.buffer.get(e.nextSeq)) e.buffer.delete(e.nextSeq), e.nextSeq++, e.handler(t);
392
+ }, ft = (e, t) => ut(B(e), t).outSeq++, pt = (e, t, n) => {
393
+ let r = B(e);
394
+ if (r.tombstones.has(t)) {
395
+ setTimeout(() => n({
396
+ type: "message-port-close",
397
+ remoteUuid: e.remoteUuid,
398
+ portId: t
399
+ }));
400
+ return;
401
+ }
402
+ let i = ut(r, t);
403
+ i.handler || r.pendingPorts--, i.handler = n, dt(i);
404
+ }, mt = (e) => {
405
+ let t = {
406
+ ports: /* @__PURE__ */ new Map(),
407
+ tombstones: /* @__PURE__ */ new Set(),
408
+ pendingPorts: 0
409
+ };
410
+ lt.set(e, t), e.eventTarget.addEventListener("message", ({ detail: n }) => {
411
+ if (n.type !== "message" && n.type !== "message-port-close" || t.tombstones.has(n.portId)) return;
412
+ let r = t.ports.get(n.portId);
413
+ if (n.seq === void 0) {
414
+ r?.handler?.(n);
394
415
  return;
395
416
  }
396
- e.seq < n.nextSeq || n.buffer.size >= it || (n.buffer.set(e.seq, e), ct(n));
397
- }), L(e, () => {
417
+ if (!r) {
418
+ if (t.pendingPorts >= ct) return;
419
+ r = ut(t, n.portId);
420
+ }
421
+ if (!(n.seq < r.nextSeq)) {
422
+ if (r.buffer.size >= ot && !(n.seq === r.nextSeq && r.handler)) {
423
+ r.buffer.clear(), V(t, n.portId), r.handler?.({
424
+ type: "message-port-close",
425
+ remoteUuid: e.remoteUuid,
426
+ portId: n.portId
427
+ });
428
+ return;
429
+ }
430
+ r.buffer.set(n.seq, n), dt(r);
431
+ }
432
+ }), F(e, () => {
398
433
  for (let [n, r] of [...t.ports]) r.handler?.({
399
434
  type: "message-port-close",
400
435
  remoteUuid: e.remoteUuid,
401
436
  portId: n
402
437
  });
403
- t.ports.clear();
438
+ t.ports.clear(), t.tombstones.clear(), t.pendingPorts = 0;
404
439
  });
405
- }, ft = (e) => e instanceof MessagePort || e instanceof z, H = (e, t) => {
440
+ }, ht = (e) => e instanceof MessagePort || e instanceof L, H = (e, t) => {
406
441
  try {
442
+ let n = B(e).ports.get(t);
407
443
  e.sendMessage({
408
444
  type: "message-port-close",
409
445
  remoteUuid: e.remoteUuid,
410
446
  portId: t,
411
- seq: lt(e, t)
447
+ seq: n ? n.outSeq++ : 0
412
448
  });
413
449
  } catch {}
414
- }, pt = (e, t, n) => {
415
- n ? e.postMessage(t) : e.postMessage(t, R(t));
416
- }, mt = (e, t, n) => () => {
450
+ }, gt = (e, t, n) => {
451
+ n ? e.postMessage(t) : e.postMessage(t, I(t));
452
+ }, _t = (e, t, n) => () => {
417
453
  let r = e.deref();
418
- r && H(r, n), t.deref()?.delete(n);
454
+ r && H(r, n);
455
+ let i = t.deref();
456
+ i && V(i, n);
419
457
  }, U = (e, t, n) => {
420
- let r = e instanceof z;
421
- if (!r && !k(t.transport)) return {
422
- ...N,
423
- type: rt,
458
+ let r = e instanceof L;
459
+ if (!r && !O(t.transport)) return {
460
+ ...M,
461
+ type: at,
424
462
  port: e,
425
463
  ...n?.autoBox ? { autoBox: !0 } : {}
426
464
  };
427
- let i = ot(t), a = e, o = globalThis.crypto.randomUUID(), s = new WeakRef(a), c = new WeakRef(t), l = new WeakRef(i.ports), u = !1, d = () => {
465
+ let i = B(t), a = e, o = globalThis.crypto.randomUUID(), s = new WeakRef(a), c = new WeakRef(t), l = new WeakRef(i), u = !1, d = () => {
428
466
  if (u) return;
429
- u = !0, l.deref()?.delete(o), m?.();
430
- let e = s.deref();
431
- e?.removeEventListener("message", p), e instanceof z && (e._onClose = void 0);
467
+ u = !0;
468
+ let e = l.deref();
469
+ e && V(e, o), m?.();
470
+ let t = s.deref();
471
+ t?.removeEventListener("message", p), t instanceof L && (t._onClose = void 0);
432
472
  }, f = (e) => {
433
473
  if (e.type === "message-port-close") {
434
474
  d(), a.dispatchEvent(new Event("close")), a.close();
435
475
  return;
436
476
  }
437
- pt(a, Z(e.data, t), !1);
477
+ gt(a, Z(e.data, t), !1);
438
478
  };
439
479
  function p({ data: e }) {
440
480
  t.sendMessage({
@@ -442,33 +482,33 @@ var ue = (e) => {
442
482
  remoteUuid: t.remoteUuid,
443
483
  data: X(e, t),
444
484
  portId: o,
445
- seq: lt(t, o)
485
+ seq: ft(t, o)
446
486
  });
447
487
  }
448
- let m = V(a, mt(c, l, o));
449
- return a.addEventListener("message", p), a.start(), a instanceof z && (a._onClose = () => {
488
+ let m = z(a, _t(c, l, o));
489
+ return a.addEventListener("message", p), a.start(), a instanceof L && (a._onClose = () => {
450
490
  u || (H(t, o), d());
451
- }), ut(i, o, f), {
452
- ...N,
453
- type: rt,
491
+ }), pt(t, o, f), {
492
+ ...M,
493
+ type: at,
454
494
  portId: o,
455
495
  synthetic: r
456
496
  };
457
- }, W = (e, t) => "port" in e ? e.autoBox ? ht(e.port, t) : e.port : gt(e.portId, t, e.synthetic), ht = (e, t) => {
497
+ }, W = (e, t) => "port" in e ? e.autoBox ? vt(e.port, t) : e.port : yt(e.portId, t, e.synthetic), vt = (e, t) => {
458
498
  let n = new EventTarget(), r = ({ data: e }) => {
459
499
  n.dispatchEvent(new MessageEvent("message", { data: Z(e, t) }));
460
500
  }, i = () => {
461
501
  n.dispatchEvent(new Event("close"));
462
502
  };
463
503
  return e.addEventListener("message", r), e.addEventListener("close", i), n.postMessage = (n, r) => {
464
- let i = X(n, t), a = R(i), o = Array.isArray(r) ? r : [];
504
+ let i = X(n, t), a = I(i), o = Array.isArray(r) ? r : [];
465
505
  e.postMessage(i, o.length ? [...a, ...o] : a);
466
506
  }, n.start = () => e.start(), n.close = () => {
467
507
  e.removeEventListener("message", r), e.removeEventListener("close", i), e.close();
468
508
  }, n;
469
509
  }, G = (e) => {
470
- if (k(e.transport)) {
471
- let { port1: t, port2: n } = new B();
510
+ if (O(e.transport)) {
511
+ let { port1: t, port2: n } = new R();
472
512
  return {
473
513
  localPort: t,
474
514
  boxedRemote: U(n, e)
@@ -476,13 +516,13 @@ var ue = (e) => {
476
516
  }
477
517
  let { port1: t, port2: n } = new MessageChannel();
478
518
  return {
479
- localPort: ht(t, e),
519
+ localPort: vt(t, e),
480
520
  boxedRemote: U(n, e, { autoBox: !0 })
481
521
  };
482
- }, gt = (e, t, n) => {
483
- let r = ot(t), { port1: i, port2: a } = n ? new B() : new MessageChannel(), o = new WeakRef(i), s = new WeakRef(a), c = !1, l = () => {
522
+ }, yt = (e, t, n) => {
523
+ let r = B(t), { port1: i, port2: a } = n ? new R() : new MessageChannel(), o = new WeakRef(i), s = new WeakRef(a), c = !1, l = () => {
484
524
  if (c) return;
485
- c = !0, r.ports.delete(e);
525
+ c = !0, V(r, e);
486
526
  let t = s.deref();
487
527
  t?.removeEventListener("message", d), t?.close(), f?.();
488
528
  }, u = (e) => {
@@ -497,28 +537,28 @@ var ue = (e) => {
497
537
  return;
498
538
  }
499
539
  let r = s.deref();
500
- r && pt(r, Z(e.data, t), n);
540
+ r && gt(r, Z(e.data, t), n);
501
541
  }, d = ({ data: n }) => {
502
542
  t.sendMessage({
503
543
  type: "message",
504
544
  remoteUuid: t.remoteUuid,
505
545
  data: X(n, t),
506
546
  portId: e,
507
- seq: lt(t, e)
547
+ seq: ft(t, e)
508
548
  });
509
- }, f = V(i, () => {
549
+ }, f = z(i, () => {
510
550
  H(t, e), l();
511
551
  });
512
- return i instanceof z && (i._onClose = () => {
552
+ return i instanceof L && (i._onClose = () => {
513
553
  c || (H(t, e), l());
514
- }), a.addEventListener("message", d), a.start(), ut(r, e, u), i;
515
- }, _t = /* @__PURE__ */ t({
516
- box: () => St,
517
- isType: () => xt,
518
- revive: () => Ct,
519
- type: () => vt
520
- }), vt = "promise", yt = (e) => e instanceof Promise, bt = /* @__PURE__ */ new Set(), xt = (e) => e instanceof Promise, St = (e, t) => {
521
- if (!yt(e)) throw TypeError("Expected Promise");
554
+ }), a.addEventListener("message", d), a.start(), pt(t, e, u), i;
555
+ }, bt = /* @__PURE__ */ t({
556
+ box: () => Tt,
557
+ isType: () => wt,
558
+ revive: () => Et,
559
+ type: () => xt
560
+ }), xt = "promise", St = (e) => e instanceof Promise, Ct = /* @__PURE__ */ new Set(), wt = (e) => e instanceof Promise, Tt = (e, t) => {
561
+ if (!St(e)) throw TypeError("Expected Promise");
522
562
  let { localPort: n, boxedRemote: r } = G(t), i = (e) => {
523
563
  n.postMessage(e), n.close();
524
564
  };
@@ -529,31 +569,31 @@ var ue = (e) => {
529
569
  type: "reject",
530
570
  error: e
531
571
  })), {
532
- ...N,
533
- type: vt,
572
+ ...M,
573
+ type: xt,
534
574
  port: r
535
575
  };
536
- }, Ct = (e, t) => {
576
+ }, Et = (e, t) => {
537
577
  let n = W(e.port, t);
538
- bt.add(n);
578
+ Ct.add(n);
539
579
  let r = "portId" in e.port;
540
580
  return new Promise((e, i) => {
541
581
  let a = () => {
542
- n.close(), bt.delete(n), o();
543
- }, o = r ? L(t, () => {
582
+ n.close(), Ct.delete(n), o();
583
+ }, o = r ? F(t, () => {
544
584
  i(/* @__PURE__ */ Error("osra: connection closed")), a();
545
585
  }) : () => {};
546
586
  n.addEventListener("message", ({ data: t }) => {
547
587
  t.type === "resolve" ? e(t.data) : i(t.error), a();
548
588
  }, { once: !0 }), n.start();
549
589
  });
550
- }, wt = /* @__PURE__ */ t({
590
+ }, Dt = /* @__PURE__ */ t({
551
591
  box: () => K,
552
- isType: () => Dt,
592
+ isType: () => At,
553
593
  revive: () => q,
554
- type: () => Tt
555
- }), Tt = "function", Et = /* @__PURE__ */ new Set(), Dt = (e) => typeof e == "function", K = (e, t) => {
556
- let { port1: n, port2: r } = new B();
594
+ type: () => Ot
595
+ }), Ot = "function", kt = /* @__PURE__ */ new Set(), At = (e) => typeof e == "function", K = (e, t) => {
596
+ let { port1: n, port2: r } = new R();
557
597
  return n.addEventListener("message", ({ data: n }) => {
558
598
  let [r, i] = n;
559
599
  (async () => {
@@ -569,26 +609,35 @@ var ue = (e) => {
569
609
  error: e
570
610
  };
571
611
  }
572
- let a = X(n, t);
573
- r.postMessage(a, R(a)), queueMicrotask(() => {
612
+ let a = (() => {
613
+ try {
614
+ return X(n, t);
615
+ } catch (e) {
616
+ return X({
617
+ type: "throw",
618
+ error: e
619
+ }, t);
620
+ }
621
+ })();
622
+ r.postMessage(a, I(a)), queueMicrotask(() => {
574
623
  try {
575
624
  r.close();
576
625
  } catch {}
577
626
  });
578
627
  })();
579
628
  }), n.start(), {
580
- ...N,
581
- type: Tt,
629
+ ...M,
630
+ type: Ot,
582
631
  port: U(r, t)
583
632
  };
584
633
  }, q = (e, t) => {
585
634
  let n = W(e.port, t);
586
635
  return ((...e) => new Promise((r, i) => {
587
- let { port1: a, port2: o } = new B();
588
- Et.add(a);
636
+ let { port1: a, port2: o } = new R();
637
+ kt.add(a);
589
638
  let s = () => {
590
- a.close(), Et.delete(a), c();
591
- }, c = L(t, () => {
639
+ a.close(), kt.delete(a), c();
640
+ }, c = F(t, () => {
592
641
  i(/* @__PURE__ */ Error("osra: connection closed")), s();
593
642
  });
594
643
  a.addEventListener("message", ({ data: e }) => {
@@ -596,15 +645,15 @@ var ue = (e) => {
596
645
  t.type === "return" ? r(t.value) : i(t.error), s();
597
646
  }, { once: !0 }), a.start();
598
647
  let l = X([o, e], t);
599
- n.postMessage(l, R(l));
648
+ n.postMessage(l, I(l));
600
649
  }));
601
- }, Ot = /* @__PURE__ */ t({
650
+ }, jt = /* @__PURE__ */ t({
602
651
  MAX_CREDIT_WINDOW: () => 64,
603
- box: () => Pt,
604
- isType: () => At,
605
- revive: () => Rt,
606
- type: () => kt
607
- }), kt = "readableStream", At = (e) => e instanceof ReadableStream, jt = 2, Mt = 8, Nt = 4 * 1024 * 1024, Pt = (e, t) => {
652
+ box: () => Lt,
653
+ isType: () => Nt,
654
+ revive: () => Vt,
655
+ type: () => Mt
656
+ }), Mt = "readableStream", Nt = (e) => e instanceof ReadableStream, Pt = 2, Ft = 8, It = 4 * 1024 * 1024, Lt = (e, t) => {
608
657
  let { localPort: n, boxedRemote: r } = G(t), i = e.getReader(), a = 0, o = !1, s = !1, c = (e) => {
609
658
  s = !0;
610
659
  try {
@@ -651,13 +700,13 @@ var ue = (e) => {
651
700
  }), n.addEventListener("close", () => {
652
701
  s || (s = !0, i.cancel(/* @__PURE__ */ Error("osra: connection closed")).catch(() => {}));
653
702
  }, { once: !0 }), n.start(), {
654
- ...N,
655
- type: kt,
703
+ ...M,
704
+ type: Mt,
656
705
  credit: !0,
657
706
  port: r
658
707
  };
659
- }, Ft = (e) => ArrayBuffer.isView(e) || e instanceof ArrayBuffer ? e.byteLength : typeof e == "string" ? e.length * 2 : typeof Blob < "u" && e instanceof Blob ? e.size : void 0, It = (e) => {
660
- let t = !1, n = 0, r, i = [], a = !1, o = !1, s, c, l = () => r === void 0 ? Mt : Math.max(jt, Math.min(64, Math.floor(Nt / r))), u = () => {
708
+ }, Rt = (e) => ArrayBuffer.isView(e) || e instanceof ArrayBuffer ? e.byteLength : typeof e == "string" ? e.length * 2 : typeof Blob < "u" && e instanceof Blob ? e.size : void 0, zt = (e) => {
709
+ let t = !1, n = 0, r, i = [], a = !1, o = !1, s, c, l = () => r === void 0 ? Ft : Math.max(Pt, Math.min(64, Math.floor(It / r))), u = () => {
661
710
  let t = l(), r = n + i.length;
662
711
  if (r > t / 2) return;
663
712
  let a = t - r;
@@ -683,7 +732,7 @@ var ue = (e) => {
683
732
  return;
684
733
  }
685
734
  n--;
686
- let a = Ft(o.value);
735
+ let a = Rt(o.value);
687
736
  if (a !== void 0 && (r = r === void 0 ? a : r * .875 + a * .125), c) {
688
737
  let e = c;
689
738
  c = void 0, e.controller.enqueue(o.value), e.resolve();
@@ -729,7 +778,7 @@ var ue = (e) => {
729
778
  }), queueMicrotask(() => e.close());
730
779
  }
731
780
  });
732
- }, Lt = (e) => {
781
+ }, Bt = (e) => {
733
782
  let t = !1;
734
783
  return new ReadableStream({
735
784
  start: (n) => {
@@ -758,15 +807,15 @@ var ue = (e) => {
758
807
  }), queueMicrotask(() => e.close());
759
808
  }
760
809
  });
761
- }, Rt = (e, t) => {
810
+ }, Vt = (e, t) => {
762
811
  let n = W(e.port, t);
763
- return n.start(), e.credit ? It(n) : Lt(n);
764
- }, zt = /* @__PURE__ */ t({
765
- box: () => Ht,
766
- isType: () => Vt,
767
- revive: () => Ut,
768
- type: () => Bt
769
- }), Bt = "writableStream", Vt = (e) => e instanceof WritableStream, Ht = (e, t) => {
812
+ return n.start(), e.credit ? zt(n) : Bt(n);
813
+ }, Ht = /* @__PURE__ */ t({
814
+ box: () => Gt,
815
+ isType: () => Wt,
816
+ revive: () => Kt,
817
+ type: () => Ut
818
+ }), Ut = "writableStream", Wt = (e) => e instanceof WritableStream, Gt = (e, t) => {
770
819
  let { localPort: n, boxedRemote: r } = G(t), i = e.getWriter(), a = !1, o = (e, t) => e.then(() => n.postMessage({ type: "ack" })).catch((e) => n.postMessage({
771
820
  type: "err",
772
821
  error: e?.message ?? String(e)
@@ -778,11 +827,11 @@ var ue = (e) => {
778
827
  }), n.addEventListener("close", () => {
779
828
  a || (a = !0, i.abort(/* @__PURE__ */ Error("osra: connection closed")).catch(() => {}));
780
829
  }, { once: !0 }), n.start(), {
781
- ...N,
782
- type: Bt,
830
+ ...M,
831
+ type: Ut,
783
832
  port: r
784
833
  };
785
- }, Ut = (e, t) => {
834
+ }, Kt = (e, t) => {
786
835
  let n = W(e.port, t);
787
836
  n.start();
788
837
  let r = /* @__PURE__ */ new Set(), i = !1;
@@ -818,15 +867,15 @@ var ue = (e) => {
818
867
  reason: e
819
868
  })
820
869
  });
821
- }, Wt = /* @__PURE__ */ t({
822
- box: () => Jt,
823
- isType: () => Kt,
824
- revive: () => Yt,
825
- type: () => Gt
826
- }), Gt = "abortSignal", Kt = (e) => e instanceof AbortSignal, qt = /* @__PURE__ */ new WeakMap(), Jt = (e, t) => {
870
+ }, qt = /* @__PURE__ */ t({
871
+ box: () => Zt,
872
+ isType: () => Yt,
873
+ revive: () => Qt,
874
+ type: () => Jt
875
+ }), Jt = "abortSignal", Yt = (e) => e instanceof AbortSignal, Xt = /* @__PURE__ */ new WeakMap(), Zt = (e, t) => {
827
876
  if (e.aborted) return {
828
- ...N,
829
- type: Gt,
877
+ ...M,
878
+ type: Jt,
830
879
  aborted: !0,
831
880
  reason: X(e.reason, t)
832
881
  };
@@ -835,40 +884,40 @@ var ue = (e) => {
835
884
  type: "abort",
836
885
  reason: e.reason
837
886
  }), n.close(), a();
838
- }, a = L(t, () => {
887
+ }, a = F(t, () => {
839
888
  e.removeEventListener("abort", i), n.close();
840
889
  });
841
890
  return e.addEventListener("abort", i, { once: !0 }), {
842
- ...N,
843
- type: Gt,
891
+ ...M,
892
+ type: Jt,
844
893
  aborted: !1,
845
894
  reason: void 0,
846
895
  port: r
847
896
  };
848
- }, Yt = (e, t) => {
897
+ }, Qt = (e, t) => {
849
898
  let n = new AbortController();
850
899
  if (e.aborted || e.port === void 0) return n.abort(Z(e.reason, t)), n.signal;
851
900
  let r = W(e.port, t);
852
- return qt.set(n.signal, r), r.start(), r.addEventListener("message", ({ data: e }) => {
853
- e.type === "abort" && (n.abort(Z(e.reason, t)), qt.delete(n.signal), r.close());
901
+ return Xt.set(n.signal, r), r.start(), r.addEventListener("message", ({ data: e }) => {
902
+ e.type === "abort" && (n.abort(Z(e.reason, t)), Xt.delete(n.signal), r.close());
854
903
  }), n.signal;
855
- }, Xt = /* @__PURE__ */ t({
856
- box: () => $t,
857
- isType: () => Qt,
858
- revive: () => en,
859
- type: () => Zt
860
- }), Zt = "response", Qt = (e) => e instanceof Response, $t = (e, t) => ({
861
- ...N,
862
- type: Zt,
904
+ }, $t = /* @__PURE__ */ t({
905
+ box: () => nn,
906
+ isType: () => tn,
907
+ revive: () => rn,
908
+ type: () => en
909
+ }), en = "response", tn = (e) => e instanceof Response, nn = (e, t) => ({
910
+ ...M,
911
+ type: en,
863
912
  status: e.status,
864
913
  statusText: e.statusText,
865
- headers: Oe(e.headers, t),
866
- body: e.body ? Pt(e.body, t) : null,
914
+ headers: Ae(e.headers, t),
915
+ body: e.body ? Lt(e.body, t) : null,
867
916
  url: e.url,
868
917
  redirected: e.redirected
869
- }), en = (e, t) => {
918
+ }), rn = (e, t) => {
870
919
  if (e.status === 0) return Response.error();
871
- let n = ke(e.headers, t), r = e.body ? Rt(e.body, t) : null, i = e.status === 101 || e.status === 204 || e.status === 205 || e.status === 304;
920
+ let n = je(e.headers, t), r = e.body ? Vt(e.body, t) : null, i = e.status === 101 || e.status === 204 || e.status === 205 || e.status === 304;
872
921
  r && i && r.cancel().catch(() => {});
873
922
  let a = new Response(i ? null : r, {
874
923
  status: e.status,
@@ -882,18 +931,18 @@ var ue = (e) => {
882
931
  value: !0,
883
932
  configurable: !0
884
933
  }), a;
885
- }, tn = /* @__PURE__ */ t({
886
- box: () => an,
887
- isType: () => rn,
888
- revive: () => on,
889
- type: () => nn
890
- }), nn = "request", rn = (e) => e instanceof Request, an = (e, t) => ({
891
- ...N,
892
- type: nn,
934
+ }, an = /* @__PURE__ */ t({
935
+ box: () => cn,
936
+ isType: () => sn,
937
+ revive: () => ln,
938
+ type: () => on
939
+ }), on = "request", sn = (e) => e instanceof Request, cn = (e, t) => ({
940
+ ...M,
941
+ type: on,
893
942
  method: e.method,
894
943
  url: e.url,
895
- headers: Oe(e.headers, t),
896
- body: e.body ? Pt(e.body, t) : null,
944
+ headers: Ae(e.headers, t),
945
+ body: e.body ? Lt(e.body, t) : null,
897
946
  credentials: e.credentials,
898
947
  cache: e.cache,
899
948
  mode: e.mode,
@@ -902,9 +951,9 @@ var ue = (e) => {
902
951
  referrerPolicy: e.referrerPolicy,
903
952
  integrity: e.integrity,
904
953
  keepalive: e.keepalive,
905
- signal: Jt(e.signal, t)
906
- }), on = (e, t) => {
907
- let n = ke(e.headers, t), r = {
954
+ signal: Zt(e.signal, t)
955
+ }), ln = (e, t) => {
956
+ let n = je(e.headers, t), r = {
908
957
  method: e.method,
909
958
  headers: n,
910
959
  credentials: e.credentials,
@@ -914,31 +963,31 @@ var ue = (e) => {
914
963
  referrerPolicy: e.referrerPolicy,
915
964
  integrity: e.integrity,
916
965
  keepalive: e.keepalive,
917
- signal: Yt(e.signal, t)
966
+ signal: Qt(e.signal, t)
918
967
  };
919
- return e.mode !== "navigate" && (r.mode = e.mode), e.body && (r.body = Rt(e.body, t), r.duplex = "half"), new Request(e.url, r);
920
- }, sn = /* @__PURE__ */ t({
921
- box: () => yn,
922
- boxByReference: () => bn,
968
+ return e.mode !== "navigate" && (r.mode = e.mode), e.body && (r.body = Vt(e.body, t), r.duplex = "half"), new Request(e.url, r);
969
+ }, un = /* @__PURE__ */ t({
970
+ box: () => Sn,
971
+ boxByReference: () => Cn,
923
972
  identity: () => Y,
924
- isType: () => _n,
925
- revive: () => xn,
973
+ isType: () => bn,
974
+ revive: () => wn,
926
975
  type: () => J
927
- }), J = "identity", cn = Symbol.for("osra.identity"), ln = (e) => e !== null && (typeof e == "object" || typeof e == "function"), un = (e) => {
976
+ }), J = "identity", dn = Symbol.for("osra.identity"), fn = (e) => e !== null && (typeof e == "object" || typeof e == "function"), pn = (e) => {
928
977
  if (e === null) return !1;
929
978
  let t = typeof e;
930
979
  return t === "object" || t === "function" ? !0 : t === "symbol" ? Symbol.keyFor(e) === void 0 : !1;
931
- }, dn = (e) => ln(e) && cn in e && e[cn] === !0, fn = /* @__PURE__ */ new WeakMap(), pn = (e) => {
932
- if (dn(e)) return e;
933
- let t = fn.get(e);
980
+ }, mn = (e) => fn(e) && dn in e && e[dn] === !0, hn = /* @__PURE__ */ new WeakMap(), gn = (e) => {
981
+ if (mn(e)) return e;
982
+ let t = hn.get(e);
934
983
  if (t) return t;
935
984
  let n = {
936
- [cn]: !0,
985
+ [dn]: !0,
937
986
  value: e
938
987
  };
939
- return fn.set(e, n), n;
940
- }, Y = (e) => ln(e) ? pn(e) : e, mn = /* @__PURE__ */ new WeakMap(), hn = (e) => {
941
- let t = mn.get(e);
988
+ return hn.set(e, n), n;
989
+ }, Y = (e) => fn(e) ? gn(e) : e, _n = /* @__PURE__ */ new WeakMap(), vn = (e) => {
990
+ let t = _n.get(e);
942
991
  if (t) return t;
943
992
  let n = /* @__PURE__ */ new WeakMap(), r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new WeakMap(), o = {
944
993
  sendIds: n,
@@ -957,16 +1006,16 @@ var ue = (e) => {
957
1006
  revivedToId: a,
958
1007
  listenerInstalled: !1
959
1008
  };
960
- return mn.set(e, o), gn(e, o), L(e, () => {
1009
+ return _n.set(e, o), yn(e, o), F(e, () => {
961
1010
  o.receiveCache.clear(), o.idToSent.clear();
962
1011
  }), o;
963
- }, gn = (e, t) => {
1012
+ }, yn = (e, t) => {
964
1013
  t.listenerInstalled || (t.listenerInstalled = !0, e.eventTarget.addEventListener("message", ({ detail: e }) => {
965
1014
  if (e?.type !== "identity-dispose") return;
966
1015
  let n = t.receiveCache.get(e.id);
967
- t.receiveCache.delete(e.id), n !== void 0 && un(n) && t.revivedToId.delete(n);
1016
+ t.receiveCache.delete(e.id), n !== void 0 && pn(n) && t.revivedToId.delete(n);
968
1017
  }));
969
- }, _n = (e) => dn(e), vn = (e, t) => {
1018
+ }, bn = (e) => mn(e), xn = (e, t) => {
970
1019
  let n = t.sendIds.get(e);
971
1020
  if (n !== void 0) return {
972
1021
  id: n,
@@ -982,86 +1031,86 @@ var ue = (e) => {
982
1031
  id: i,
983
1032
  isExisting: !1
984
1033
  };
985
- }, yn = (e, t) => {
986
- let n = hn(t), r = e.value, i = X(r, t);
987
- if (!un(r)) return {
988
- ...N,
1034
+ }, Sn = (e, t) => {
1035
+ let n = vn(t), r = e.value, i = X(r, t);
1036
+ if (!pn(r)) return {
1037
+ ...M,
989
1038
  type: J,
990
1039
  id: globalThis.crypto.randomUUID(),
991
1040
  inner: i
992
1041
  };
993
- let { id: a, isExisting: o } = vn(r, n);
1042
+ let { id: a, isExisting: o } = xn(r, n);
994
1043
  return o ? {
995
- ...N,
1044
+ ...M,
996
1045
  type: J,
997
1046
  id: a
998
1047
  } : {
999
- ...N,
1048
+ ...M,
1000
1049
  type: J,
1001
1050
  id: a,
1002
1051
  inner: i
1003
1052
  };
1004
- }, bn = (e, t, n) => {
1005
- let { id: r, isExisting: i } = vn(e, hn(n));
1053
+ }, Cn = (e, t, n) => {
1054
+ let { id: r, isExisting: i } = xn(e, vn(n));
1006
1055
  return i ? {
1007
- ...N,
1056
+ ...M,
1008
1057
  type: J,
1009
1058
  id: r
1010
1059
  } : {
1011
- ...N,
1060
+ ...M,
1012
1061
  type: J,
1013
1062
  id: r,
1014
1063
  inner: t
1015
1064
  };
1016
- }, xn = (e, t) => {
1017
- let n = hn(t), r = n.receiveCache.get(e.id);
1065
+ }, wn = (e, t) => {
1066
+ let n = vn(t), r = n.receiveCache.get(e.id);
1018
1067
  if (r !== void 0) return r;
1019
1068
  let i = n.idToSent.get(e.id)?.deref();
1020
1069
  if (i !== void 0) return i;
1021
1070
  if (!("inner" in e) || e.inner === void 0) throw Error(`osra identity: received id=${e.id} with no inner payload and no cached value`);
1022
1071
  let a = Z(e.inner, t);
1023
- return n.receiveCache.set(e.id, a), un(a) && n.revivedToId.set(a, e.id), a;
1024
- }, Sn = /* @__PURE__ */ t({
1025
- box: () => wn,
1026
- isType: () => Cn,
1027
- revive: () => Tn,
1072
+ return n.receiveCache.set(e.id, a), pn(a) && n.revivedToId.set(a, e.id), a;
1073
+ }, Tn = /* @__PURE__ */ t({
1074
+ box: () => Dn,
1075
+ isType: () => En,
1076
+ revive: () => On,
1028
1077
  type: () => "map"
1029
- }), Cn = (e) => e instanceof Map, wn = (e, t) => ({
1030
- ...N,
1078
+ }), En = (e) => e instanceof Map, Dn = (e, t) => ({
1079
+ ...M,
1031
1080
  type: "map",
1032
1081
  entries: Array.from(e, ([e, n]) => [X(e, t), X(n, t)])
1033
- }), Tn = (e, t) => new Map(e.entries.map(([e, n]) => [Z(e, t), Z(n, t)])), En = /* @__PURE__ */ t({
1034
- box: () => On,
1035
- isType: () => Dn,
1036
- revive: () => kn,
1082
+ }), On = (e, t) => new Map(e.entries.map(([e, n]) => [Z(e, t), Z(n, t)])), kn = /* @__PURE__ */ t({
1083
+ box: () => jn,
1084
+ isType: () => An,
1085
+ revive: () => Mn,
1037
1086
  type: () => "set"
1038
- }), Dn = (e) => e instanceof Set, On = (e, t) => ({
1039
- ...N,
1087
+ }), An = (e) => e instanceof Set, jn = (e, t) => ({
1088
+ ...M,
1040
1089
  type: "set",
1041
1090
  values: Array.from(e, (e) => X(e, t))
1042
- }), kn = (e, t) => new Set(e.values.map((e) => Z(e, t))), An = /* @__PURE__ */ t({
1043
- box: () => Nn,
1044
- isType: () => Mn,
1045
- revive: () => Pn,
1046
- type: () => jn
1047
- }), jn = "bigint", Mn = (e) => typeof e == "bigint", Nn = (e, t) => ({
1048
- ...N,
1049
- type: jn,
1091
+ }), Mn = (e, t) => new Set(e.values.map((e) => Z(e, t))), Nn = /* @__PURE__ */ t({
1092
+ box: () => In,
1093
+ isType: () => Fn,
1094
+ revive: () => Ln,
1095
+ type: () => Pn
1096
+ }), Pn = "bigint", Fn = (e) => typeof e == "bigint", In = (e, t) => ({
1097
+ ...M,
1098
+ type: Pn,
1050
1099
  value: e.toString()
1051
- }), Pn = (e, t) => BigInt(e.value), Fn = /* @__PURE__ */ t({
1052
- box: () => Rn,
1053
- isType: () => Ln,
1054
- revive: () => zn,
1055
- type: () => In
1056
- }), In = "event", Ln = (e) => e instanceof Event, Rn = (e, t) => ({
1057
- ...N,
1058
- type: In,
1100
+ }), Ln = (e, t) => BigInt(e.value), Rn = /* @__PURE__ */ t({
1101
+ box: () => Vn,
1102
+ isType: () => Bn,
1103
+ revive: () => Hn,
1104
+ type: () => zn
1105
+ }), zn = "event", Bn = (e) => e instanceof Event, Vn = (e, t) => ({
1106
+ ...M,
1107
+ type: zn,
1059
1108
  eventType: e.type,
1060
1109
  bubbles: e.bubbles,
1061
1110
  cancelable: e.cancelable,
1062
1111
  composed: e.composed,
1063
1112
  ...e instanceof CustomEvent ? { detail: X(e.detail, t) } : {}
1064
- }), zn = (e, t) => {
1113
+ }), Hn = (e, t) => {
1065
1114
  let n = {
1066
1115
  bubbles: e.bubbles,
1067
1116
  cancelable: e.cancelable,
@@ -1071,16 +1120,16 @@ var ue = (e) => {
1071
1120
  ...n,
1072
1121
  detail: Z(e.detail, t)
1073
1122
  }) : new Event(e.eventType, n);
1074
- }, Bn = /* @__PURE__ */ t({
1075
- box: () => Un,
1076
- isType: () => Hn,
1077
- revive: () => qn,
1078
- type: () => Vn
1079
- }), Vn = "eventTarget", Hn = (e) => e instanceof EventTarget, Un = (e, t) => {
1123
+ }, Un = /* @__PURE__ */ t({
1124
+ box: () => Kn,
1125
+ isType: () => Gn,
1126
+ revive: () => Xn,
1127
+ type: () => Wn
1128
+ }), Wn = "eventTarget", Gn = (e) => e instanceof EventTarget, Kn = (e, t) => {
1080
1129
  let n = [], r = (e) => typeof e == "boolean" ? e : !!e?.capture;
1081
1130
  return {
1082
- ...N,
1083
- type: Vn,
1131
+ ...M,
1132
+ type: Wn,
1084
1133
  addListener: K((t, i, a) => {
1085
1134
  n.push({
1086
1135
  eventType: t,
@@ -1096,19 +1145,19 @@ var ue = (e) => {
1096
1145
  for (let { eventType: t, listener: r, capture: i } of n.splice(0)) e.removeEventListener(t, r, { capture: i });
1097
1146
  }, t)
1098
1147
  };
1099
- }, Wn = /* @__PURE__ */ new WeakMap(), Gn = (e) => {
1148
+ }, qn = /* @__PURE__ */ new WeakMap(), Jn = (e) => {
1100
1149
  if (typeof e == "function") return e;
1101
- let t = Wn.get(e);
1102
- return t || Wn.set(e, t = (t) => e.handleEvent(t)), t;
1103
- }, Kn = (e, t, n, r) => e.find((e) => e.eventType === t && e.listener === n && e.capture === r), qn = (e, t) => {
1150
+ let t = qn.get(e);
1151
+ return t || qn.set(e, t = (t) => e.handleEvent(t)), t;
1152
+ }, Yn = (e, t, n, r) => e.find((e) => e.eventType === t && e.listener === n && e.capture === r), Xn = (e, t) => {
1104
1153
  let n = q(e.addListener, t), r = q(e.removeListener, t), i = q(e.removeAllListeners, t), a = new EventTarget(), o = [], s = (e) => {
1105
1154
  let t = o.indexOf(e);
1106
1155
  t !== -1 && o.splice(t, 1);
1107
1156
  };
1108
1157
  return Object.defineProperty(a, "addEventListener", { value: (e, t, r) => {
1109
1158
  if (t === null) return;
1110
- let i = Gn(t), a = typeof r == "boolean" ? r : !!r?.capture;
1111
- if (Kn(o, e, i, a)) return;
1159
+ let i = Jn(t), a = typeof r == "boolean" ? r : !!r?.capture;
1160
+ if (Yn(o, e, i, a)) return;
1112
1161
  let c = typeof r == "object" && r?.once ? (e) => (s(l), i(e)) : i, l = {
1113
1162
  eventType: e,
1114
1163
  listener: i,
@@ -1118,54 +1167,37 @@ var ue = (e) => {
1118
1167
  o.push(l), (typeof r == "object" ? r?.signal : void 0)?.addEventListener("abort", () => s(l), { once: !0 }), n(e, Y(c), r).catch(() => {});
1119
1168
  } }), Object.defineProperty(a, "removeEventListener", { value: (e, t, n) => {
1120
1169
  if (t === null) return;
1121
- let i = Gn(t), a = typeof n == "boolean" ? n : !!n?.capture, c = Kn(o, e, i, a);
1170
+ let i = Jn(t), a = typeof n == "boolean" ? n : !!n?.capture, c = Yn(o, e, i, a);
1122
1171
  c && (s(c), r(e, Y(c.wire), { capture: a }).catch(() => {}));
1123
- } }), V(a, () => {
1172
+ } }), z(a, () => {
1124
1173
  i().catch(() => {});
1125
1174
  }), a;
1126
- }, Jn = /* @__PURE__ */ t({
1127
- box: () => Qn,
1128
- isType: () => Xn,
1129
- revive: () => $n,
1130
- type: () => Yn
1131
- }), Yn = "blob", Xn = (e) => e instanceof Blob, Zn = (e) => typeof File < "u" && e instanceof File, Qn = (e, t) => ({
1132
- ...N,
1133
- type: Yn,
1134
- mimeType: e.type,
1135
- buffer: St(e.arrayBuffer(), t),
1136
- ...Zn(e) ? {
1137
- fileName: e.name,
1138
- lastModified: e.lastModified
1139
- } : {}
1140
- }), $n = (e, t) => Ct(e.buffer, t).then((t) => e.fileName !== void 0 && typeof File < "u" ? new File([t], e.fileName, {
1141
- type: e.mimeType,
1142
- lastModified: e.lastModified
1143
- }) : new Blob([t], { type: e.mimeType })), er = /* @__PURE__ */ t({
1144
- box: () => rr,
1145
- isType: () => nr,
1146
- revive: () => ir,
1147
- type: () => tr
1148
- }), tr = "symbol", nr = (e) => typeof e == "symbol", rr = (e, t) => {
1175
+ }, Zn = /* @__PURE__ */ t({
1176
+ box: () => er,
1177
+ isType: () => $n,
1178
+ revive: () => tr,
1179
+ type: () => Qn
1180
+ }), Qn = "symbol", $n = (e) => typeof e == "symbol", er = (e, t) => {
1149
1181
  let n = Symbol.keyFor(e);
1150
- return n === void 0 ? bn(e, {
1151
- ...N,
1152
- type: tr,
1182
+ return n === void 0 ? Cn(e, {
1183
+ ...M,
1184
+ type: Qn,
1153
1185
  description: e.description
1154
1186
  }, t) : {
1155
- ...N,
1156
- type: tr,
1187
+ ...M,
1188
+ type: Qn,
1157
1189
  registryKey: n
1158
1190
  };
1159
- }, ir = (e, t) => "registryKey" in e ? Symbol.for(e.registryKey) : Symbol(e.description), ar = /* @__PURE__ */ t({
1160
- box: () => cr,
1161
- isType: () => sr,
1162
- revive: () => lr,
1163
- type: () => or
1164
- }), or = "asyncIterator", sr = (e) => !e || typeof e != "object" || typeof ReadableStream < "u" && e instanceof ReadableStream ? !1 : typeof e[Symbol.asyncIterator] == "function", cr = (e, t) => {
1191
+ }, tr = (e, t) => "registryKey" in e ? Symbol.for(e.registryKey) : Symbol(e.description), nr = /* @__PURE__ */ t({
1192
+ box: () => ar,
1193
+ isType: () => ir,
1194
+ revive: () => or,
1195
+ type: () => rr
1196
+ }), rr = "asyncIterator", ir = (e) => !e || typeof e != "object" || typeof ReadableStream < "u" && e instanceof ReadableStream ? !1 : typeof e[Symbol.asyncIterator] == "function", ar = (e, t) => {
1165
1197
  let n = e[Symbol.asyncIterator]();
1166
1198
  return {
1167
- ...N,
1168
- type: or,
1199
+ ...M,
1200
+ type: rr,
1169
1201
  next: K(((e) => n.next(e)), t),
1170
1202
  return: K(((e) => n.return?.(e) ?? Promise.resolve({
1171
1203
  done: !0,
@@ -1173,7 +1205,7 @@ var ue = (e) => {
1173
1205
  })), t),
1174
1206
  throw: K(((e) => n.throw?.(e) ?? Promise.reject(e)), t)
1175
1207
  };
1176
- }, lr = (e, t) => {
1208
+ }, or = (e, t) => {
1177
1209
  let n = q(e.next, t), r = q(e.return, t), i = q(e.throw, t), a = {
1178
1210
  next: (...e) => n(...e),
1179
1211
  return: (e) => r(e),
@@ -1181,7 +1213,7 @@ var ue = (e) => {
1181
1213
  [Symbol.asyncIterator]: () => a
1182
1214
  };
1183
1215
  return a;
1184
- }, ur = [
1216
+ }, sr = [
1185
1217
  globalThis.File,
1186
1218
  globalThis.FileList,
1187
1219
  globalThis.RegExp,
@@ -1201,7 +1233,7 @@ var ue = (e) => {
1201
1233
  globalThis.FileSystemFileHandle,
1202
1234
  globalThis.FileSystemDirectoryHandle,
1203
1235
  globalThis.RTCCertificate
1204
- ], dr = [
1236
+ ], cr = [
1205
1237
  globalThis.CropTarget,
1206
1238
  globalThis.EncodedAudioChunk,
1207
1239
  globalThis.EncodedVideoChunk,
@@ -1212,64 +1244,71 @@ var ue = (e) => {
1212
1244
  globalThis.RTCEncodedAudioFrame,
1213
1245
  globalThis.RTCEncodedVideoFrame,
1214
1246
  globalThis.WebTransportError
1215
- ], fr = {
1247
+ ], lr = {
1216
1248
  type: "clonable",
1217
1249
  capableOnly: !0,
1218
- isType: (e) => C(e, ur) || C(e, dr),
1250
+ isType: (e) => S(e, sr) || S(e, cr),
1219
1251
  box: (e, t) => e,
1220
1252
  revive: (e, t) => e
1221
- }, pr = [
1253
+ }, ur = [
1222
1254
  globalThis.ImageBitmap,
1223
1255
  globalThis.OffscreenCanvas,
1224
1256
  globalThis.WritableStream,
1225
1257
  globalThis.TransformStream,
1226
1258
  globalThis.MediaStreamTrack,
1227
1259
  globalThis.RTCDataChannel
1228
- ], mr = [
1260
+ ], dr = [
1229
1261
  globalThis.AudioData,
1230
1262
  globalThis.VideoFrame,
1231
1263
  globalThis.MediaSourceHandle,
1232
1264
  globalThis.MIDIAccess,
1233
1265
  globalThis.WebTransportReceiveStream,
1234
1266
  globalThis.WebTransportSendStream
1235
- ], hr = {
1267
+ ], fr = {
1236
1268
  type: "transferable",
1237
1269
  capableOnly: !0,
1238
- isType: (e) => C(e, pr) || C(e, mr),
1270
+ isType: (e) => S(e, ur) || S(e, dr),
1239
1271
  box: (e, t) => e,
1240
1272
  revive: (e, t) => e
1241
- }, gr = (e) => {
1273
+ }, pr = {
1274
+ type: "blobGuard",
1275
+ isType: ((e) => typeof Blob < "u" && e instanceof Blob),
1276
+ box: (e, t) => {
1277
+ if (O(t.transport)) throw TypeError("osra: Blob support was removed in 0.6.0, send an ArrayBuffer or Uint8Array instead");
1278
+ return e;
1279
+ },
1280
+ revive: (e, t) => e
1281
+ }, mr = (e) => {
1242
1282
  if (typeof e != "object" || !e) return !1;
1243
1283
  let t = Object.getPrototypeOf(e);
1244
1284
  return t === Object.prototype || t === null;
1245
- }, _r = [
1246
- Ue,
1247
- sn,
1248
- he,
1249
- be,
1250
- Te,
1251
- Ae,
1252
- Ie,
1253
- Jn,
1254
- _t,
1255
- wt,
1256
- nt,
1257
- Ot,
1258
- zt,
1259
- Wt,
1260
- Xt,
1261
- tn,
1262
- Sn,
1263
- En,
1264
- An,
1265
- er,
1266
- Fn,
1267
- ar,
1285
+ }, hr = [
1286
+ Ge,
1287
+ un,
1288
+ _e,
1289
+ Se,
1290
+ De,
1291
+ Me,
1292
+ Re,
1293
+ bt,
1294
+ Dt,
1295
+ it,
1296
+ jt,
1297
+ Ht,
1298
+ qt,
1299
+ $t,
1300
+ an,
1301
+ Tn,
1302
+ kn,
1303
+ Nn,
1304
+ Zn,
1305
+ Rn,
1306
+ nr,
1268
1307
  {
1269
1308
  type: "nonFiniteNumber",
1270
1309
  isType: (e) => typeof e == "number" && !Number.isFinite(e),
1271
- box: (e, t) => k(t.transport) ? {
1272
- ...N,
1310
+ box: (e, t) => O(t.transport) ? {
1311
+ ...M,
1273
1312
  type: "nonFiniteNumber",
1274
1313
  value: String(e)
1275
1314
  } : e,
@@ -1278,19 +1317,20 @@ var ue = (e) => {
1278
1317
  {
1279
1318
  type: "undefined",
1280
1319
  isType: (e) => e === void 0,
1281
- box: (e, t) => k(t.transport) ? {
1282
- ...N,
1320
+ box: (e, t) => O(t.transport) ? {
1321
+ ...M,
1283
1322
  type: "undefined"
1284
1323
  } : e,
1285
1324
  revive: (e, t) => void 0
1286
1325
  },
1326
+ lr,
1287
1327
  fr,
1288
- hr,
1289
- Bn,
1328
+ pr,
1329
+ Un,
1290
1330
  {
1291
1331
  type: "unclonable",
1292
1332
  isType: (e) => {
1293
- if (typeof e != "object" || !e || Array.isArray(e) || gr(e)) return !1;
1333
+ if (typeof e != "object" || !e || Array.isArray(e) || mr(e)) return !1;
1294
1334
  try {
1295
1335
  return structuredClone(e), !1;
1296
1336
  } catch {
@@ -1298,44 +1338,44 @@ var ue = (e) => {
1298
1338
  }
1299
1339
  },
1300
1340
  box: (e, t) => ({
1301
- ...N,
1341
+ ...M,
1302
1342
  type: "unclonable"
1303
1343
  }),
1304
1344
  revive: (e, t) => ({})
1305
1345
  }
1306
- ], vr = (e, t) => t.find((t) => t.isType(e)), yr = (e, t) => t.find((t) => t.type === e.type), br = (e) => !!e && typeof e == "object" && Object.getPrototypeOf(e) === Object.prototype, xr = (e, t) => Array.isArray(e) ? e.map((e) => t(e)) : br(e) ? Object.fromEntries(Object.entries(e).map(([e, n]) => [e, t(n)])) : e, Sr = /* @__PURE__ */ new WeakSet(), Cr = /* @__PURE__ */ new WeakSet(), wr = (e) => e !== null && (typeof e == "object" || typeof e == "function"), X = (e, t) => {
1307
- if (P(e)) return e;
1308
- let n = wr(e);
1346
+ ], gr = (e, t) => t.find((t) => t.isType(e)), _r = (e, t) => t.find((t) => t.type === e.type), vr = (e) => !!e && typeof e == "object" && Object.getPrototypeOf(e) === Object.prototype, yr = (e, t) => Array.isArray(e) ? e.map((e) => t(e)) : vr(e) ? Object.fromEntries(Object.entries(e).map(([e, n]) => [e, t(n)])) : e, br = /* @__PURE__ */ new WeakSet(), xr = /* @__PURE__ */ new WeakSet(), Sr = (e) => e !== null && (typeof e == "object" || typeof e == "function"), X = (e, t) => {
1347
+ if (N(e)) return e;
1348
+ let n = Sr(e);
1309
1349
  if (n) {
1310
- if (Sr.has(e)) throw TypeError("osra: cannot serialize a circular structure - break the cycle or send the container by reference");
1311
- Sr.add(e);
1350
+ if (br.has(e)) throw TypeError("osra: cannot serialize a circular structure - break the cycle or send the container by reference");
1351
+ br.add(e);
1312
1352
  }
1313
1353
  try {
1314
- let n = vr(e, t.revivableModules);
1315
- return n ? n.box(e, t) : xr(e, (e) => X(e, t));
1354
+ let n = gr(e, t.revivableModules);
1355
+ return n ? n.box(e, t) : yr(e, (e) => X(e, t));
1316
1356
  } finally {
1317
- n && Sr.delete(e);
1357
+ n && br.delete(e);
1318
1358
  }
1319
1359
  }, Z = (e, t) => {
1320
- let n = wr(e);
1360
+ let n = Sr(e);
1321
1361
  if (n) {
1322
- if (Cr.has(e)) throw TypeError("osra: cannot revive a circular structure");
1323
- Cr.add(e);
1362
+ if (xr.has(e)) throw TypeError("osra: cannot revive a circular structure");
1363
+ xr.add(e);
1324
1364
  }
1325
1365
  try {
1326
- if (P(e)) {
1327
- let n = yr(e, t.revivableModules);
1366
+ if (N(e)) {
1367
+ let n = _r(e, t.revivableModules);
1328
1368
  if (n) return n.revive(e, t);
1329
1369
  }
1330
- return xr(e, (e) => Z(e, t));
1370
+ return yr(e, (e) => Z(e, t));
1331
1371
  } finally {
1332
- n && Cr.delete(e);
1372
+ n && xr.delete(e);
1333
1373
  }
1334
- }, Tr = /* @__PURE__ */ t({
1335
- init: () => Dr,
1374
+ }, Cr = /* @__PURE__ */ t({
1375
+ init: () => Tr,
1336
1376
  startBidirectionalConnection: () => Q,
1337
- type: () => Er
1338
- }), Er = "bidirectional", Q = ({ transport: e, value: t, remoteUuid: n, eventTarget: r, send: i, revivableModules: a }) => {
1377
+ type: () => wr
1378
+ }), wr = "bidirectional", Q = ({ transport: e, value: t, remoteUuid: n, eventTarget: r, send: i, revivableModules: a }) => {
1339
1379
  let o = {
1340
1380
  transport: e,
1341
1381
  remoteUuid: n,
@@ -1355,8 +1395,8 @@ var ue = (e) => {
1355
1395
  revivableContext: o,
1356
1396
  remoteValue: s.then((e) => Z(e, o))
1357
1397
  };
1358
- }, Dr = (e) => {
1359
- if (!(A(e.transport) && j(e.transport))) return;
1398
+ }, Tr = (e) => {
1399
+ if (!(k(e.transport) && A(e.transport))) return;
1360
1400
  if (e.protocolEventTarget.addEventListener("message", ({ detail: t }) => {
1361
1401
  if (t.type === "announce") {
1362
1402
  if (!t.remoteUuid) {
@@ -1397,7 +1437,7 @@ var ue = (e) => {
1397
1437
  if (t.remoteUuid !== e.getUuid()) return;
1398
1438
  let n = e.connectionContexts.get(t.uuid);
1399
1439
  if (!n) return;
1400
- e.connectionContexts.delete(t.uuid), He(n.connection.revivableContext), e.rejectRemoteValue(/* @__PURE__ */ Error("osra: peer closed the connection"));
1440
+ e.connectionContexts.delete(t.uuid), We(n.connection.revivableContext), e.rejectRemoteValue(/* @__PURE__ */ Error("osra: peer closed the connection"));
1401
1441
  return;
1402
1442
  }
1403
1443
  if (t.remoteUuid !== e.getUuid()) return;
@@ -1427,62 +1467,67 @@ var ue = (e) => {
1427
1467
  return;
1428
1468
  }
1429
1469
  let t = 50, n, r = () => {
1430
- e.unregisterSignal?.aborted || e.connectionContexts.size > 0 || (e.sendMessage({ type: "announce" }), n = setTimeout(r, t), t = Math.min(t * 2, 1e3));
1470
+ if (!(e.unregisterSignal?.aborted || e.connectionContexts.size > 0)) {
1471
+ try {
1472
+ e.sendMessage({ type: "announce" });
1473
+ } catch {}
1474
+ n = setTimeout(r, t), t = Math.min(t * 2, 1e3);
1475
+ }
1431
1476
  };
1432
1477
  e.unregisterSignal?.addEventListener("abort", () => clearTimeout(n), { once: !0 }), r();
1433
- }, Or = () => new EventTarget(), $ = (e) => {
1434
- let t = M(e), n = t ? e.emit : e, r = t ? e.receive : e;
1478
+ }, Er = () => new EventTarget(), $ = (e) => {
1479
+ let t = j(e), n = t ? e.emit : e, r = t ? e.receive : e;
1435
1480
  return {
1436
- isJson: t && "isJson" in e && e.isJson !== void 0 ? e.isJson : n !== void 0 && k(n) || r !== void 0 && k(r),
1481
+ isJson: t && "isJson" in e && e.isJson !== void 0 ? e.isJson : n !== void 0 && O(n) || r !== void 0 && O(r),
1437
1482
  ...n === void 0 ? {} : { emit: n },
1438
1483
  ...r === void 0 ? {} : { receive: r }
1439
1484
  };
1440
- }, kr = (e) => e ? e(_r) : _r, Ar = (e, t, { key: n = r, origin: i = "*", originA: a = i, originB: o = i, nameA: s, nameB: c, unregisterSignal: d } = {}) => {
1485
+ }, Dr = (e) => e ? e(hr) : hr, Or = (e, t, { key: n = r, origin: i = "*", originA: a = i, originB: o = i, nameA: s, nameB: c, unregisterSignal: d } = {}) => {
1441
1486
  let f = $(e), p = $(t), m = (e, t, r, i, a) => {
1442
- !j(e) || !A(t) || l({
1487
+ !A(e) || !k(t) || l({
1443
1488
  transport: e,
1444
1489
  key: n,
1445
1490
  remoteName: a,
1446
1491
  origin: r,
1447
1492
  unregisterSignal: d,
1448
1493
  listener: (e) => {
1449
- u(t, e, i, R(e));
1494
+ u(t, e, i, I(e));
1450
1495
  }
1451
1496
  });
1452
1497
  };
1453
1498
  m(f, p, a, o, s), m(p, f, o, a, c);
1454
- }, jr = [Tr], Mr = (e, { transport: t, name: i, remoteName: a, key: o = r, origin: s = "*", unregisterSignal: c, revivableModules: d, uuid: f, remoteUuid: p }) => {
1499
+ }, kr = [Cr], Ar = (e, { transport: t, name: i, remoteName: a, key: o = r, origin: s = "*", unregisterSignal: c, revivableModules: d, uuid: f, remoteUuid: p }) => {
1455
1500
  let m = $(t);
1456
- if (!(A(m) && j(m))) throw Error("osra: transport must be able to both emit and receive to establish a connection; pass a bidirectional platform transport or a custom { emit, receive } pair");
1457
- let ee = kr(d), h = /* @__PURE__ */ new Map(), { promise: g, resolve: _, reject: v } = Promise.withResolvers();
1501
+ if (!(k(m) && A(m))) throw Error("osra: transport must be able to both emit and receive to establish a connection; pass a bidirectional platform transport or a custom { emit, receive } pair");
1502
+ let ee = Dr(d), h = /* @__PURE__ */ new Map(), { promise: g, resolve: te, reject: _ } = Promise.withResolvers();
1458
1503
  g.catch(() => {});
1459
- let y = f ?? globalThis.crypto.randomUUID(), b = (e) => {
1504
+ let v = f ?? globalThis.crypto.randomUUID(), y = (e) => {
1460
1505
  let t = {
1461
1506
  [n]: o,
1462
1507
  name: i,
1463
- uuid: y,
1508
+ uuid: v,
1464
1509
  ...e
1465
1510
  };
1466
- u(m, t, s, R(t));
1467
- }, x = (e) => {
1468
- c?.aborted || b(e);
1469
- }, S = Or(), te = {
1511
+ u(m, t, s, I(t));
1512
+ }, b = (e) => {
1513
+ c?.aborted || y(e);
1514
+ }, x = Er(), ne = {
1470
1515
  transport: m,
1471
1516
  value: e,
1472
1517
  revivableModules: ee,
1473
1518
  connectionContexts: h,
1474
- getUuid: () => y,
1519
+ getUuid: () => v,
1475
1520
  presetRemoteUuid: p,
1476
- sendMessage: x,
1477
- protocolEventTarget: S,
1478
- resolveRemoteValue: _,
1479
- rejectRemoteValue: v,
1480
- createConnectionEventTarget: Or,
1521
+ sendMessage: b,
1522
+ protocolEventTarget: x,
1523
+ resolveRemoteValue: te,
1524
+ rejectRemoteValue: _,
1525
+ createConnectionEventTarget: Er,
1481
1526
  unregisterSignal: c
1482
1527
  };
1483
1528
  l({
1484
1529
  listener: (e, t) => {
1485
- e.uuid !== y && S.dispatchEvent(new CustomEvent("message", { detail: e }));
1530
+ e.uuid !== v && x.dispatchEvent(new CustomEvent("message", { detail: e }));
1486
1531
  },
1487
1532
  transport: m,
1488
1533
  remoteName: a,
@@ -1490,16 +1535,16 @@ var ue = (e) => {
1490
1535
  origin: s,
1491
1536
  unregisterSignal: c
1492
1537
  }), c?.addEventListener("abort", () => {
1493
- for (let [e, t] of h) b({
1538
+ for (let [e, t] of h) y({
1494
1539
  type: "close",
1495
1540
  remoteUuid: e
1496
- }), He(t.connection.revivableContext);
1497
- h.clear(), v(c.reason);
1541
+ }), We(t.connection.revivableContext);
1542
+ h.clear(), _(c.reason);
1498
1543
  }, { once: !0 });
1499
- for (let e of jr) e.init(te);
1544
+ for (let e of kr) e.init(ne);
1500
1545
  return g;
1501
- }, Nr = async (e, t) => Mr(e, t);
1546
+ }, jr = async (e, t) => Ar(e, t);
1502
1547
  //#endregion
1503
- export { N as BoxBase, B as EventChannel, z as EventPort, i as OSRA_BOX, r as OSRA_DEFAULT_KEY, n as OSRA_KEY, ce as assertEmitTransport, le as assertReceiveTransport, me as boxBuffer, s as checkOsraMessageKey, jr as connections, Or as createTypedEventTarget, _r as defaultRevivableModules, Nr as expose, R as getTransferableObjects, a as getWebExtensionGlobal, o as getWebExtensionRuntime, Y as identity, Dr as init, C as instanceOfAny, re as isClonable, de as isCustomEmitTransport, fe as isCustomReceiveTransport, M as isCustomTransport, b as isDedicatedWorker, oe as isEmitJsonOnlyTransport, A as isEmitTransport, k as isJsonOnlyTransport, te as isOsraMessage, se as isReceiveJsonOnlyTransport, j as isReceiveTransport, P as isRevivableBox, v as isServiceWorker, _ as isServiceWorkerContainer, ne as isSharedArrayBuffer, x as isSharedWorker, ie as isTransferable, pe as isTransport, h as isTypedArray, E as isWebExtensionOnConnect, D as isWebExtensionOnMessage, T as isWebExtensionPort, w as isWebExtensionRuntime, g as isWebSocket, O as isWindow, y as isWorker, kr as mergeRevivableModules, $ as normalizeTransport, L as onTeardown, X as recursiveBox, Z as recursiveRevive, l as registerOsraMessageListener, Ar as relay, F as reviveBuffer, He as runTeardown, u as sendOsraMessage, Q as startBidirectionalConnection, Mr as startConnections, V as trackGc, Ye as transfer, Er as type, m as typedArrayToType, ee as typedArrayTypeToTypedArrayConstructor };
1548
+ export { M as BoxBase, R as EventChannel, L as EventPort, i as OSRA_BOX, r as OSRA_DEFAULT_KEY, n as OSRA_KEY, le as assertEmitTransport, ue as assertReceiveTransport, he as boxBuffer, s as checkOsraMessageKey, kr as connections, Er as createTypedEventTarget, hr as defaultRevivableModules, jr as expose, I as getTransferableObjects, a as getWebExtensionGlobal, o as getWebExtensionRuntime, Y as identity, Tr as init, S as instanceOfAny, ie as isClonable, fe as isCustomEmitTransport, pe as isCustomReceiveTransport, j as isCustomTransport, y as isDedicatedWorker, se as isEmitJsonOnlyTransport, k as isEmitTransport, O as isJsonOnlyTransport, ne as isOsraMessage, ce as isReceiveJsonOnlyTransport, A as isReceiveTransport, N as isRevivableBox, _ as isServiceWorker, te as isServiceWorkerContainer, re as isSharedArrayBuffer, b as isSharedWorker, ae as isTransferable, me as isTransport, h as isTypedArray, T as isWebExtensionOnConnect, E as isWebExtensionOnMessage, w as isWebExtensionPort, C as isWebExtensionRuntime, g as isWebSocket, D as isWindow, v as isWorker, Dr as mergeRevivableModules, $ as normalizeTransport, F as onTeardown, X as recursiveBox, Z as recursiveRevive, l as registerOsraMessageListener, Or as relay, ge as reviveBuffer, We as runTeardown, u as sendOsraMessage, Q as startBidirectionalConnection, Ar as startConnections, z as trackGc, Ze as transfer, wr as type, m as typedArrayToType, ee as typedArrayTypeToTypedArrayConstructor };
1504
1549
 
1505
1550
  //# sourceMappingURL=index.js.map