@fkn/lib 0.9.67 → 0.9.69
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/{account-Uh0-1Cbp.js → account-CAX5oCUD.js} +2 -2
- package/{account-DBagcNfd.d.ts → account-CXUwroRM.d.ts} +1 -1
- package/{account-m2iCmNui.cjs → account-aaD_dWUH.cjs} +1 -1
- package/{account-generation-BKHNe-jL.js → account-generation-BElgcQwo.js} +1 -1
- package/{account-generation-ACCBzaI-.cjs → account-generation-DwMcJFGc.cjs} +1 -1
- package/{account-storage-BmCVutNL.js → account-storage-C7Lyae5Q.js} +2 -2
- package/{account-storage-dYWDpqsr.cjs → account-storage-gOL0HE6i.cjs} +1 -1
- package/account.cjs +1 -1
- package/account.d.ts +2 -2
- package/account.js +1 -1
- package/api-BkoXMcoe.cjs +3 -0
- package/{api-DRglK7ft.js → api-DeGR_tzF.js} +62 -60
- package/{api-BlYVLNjo.d.ts → api-DhwJz0vo.d.ts} +35 -1
- package/api.cjs +1 -1
- package/api.d.ts +2 -2
- package/api.js +1 -1
- package/{broker-frame-vjSpBa8d.js → broker-frame-BClLp2ZV.js} +3 -1
- package/broker-frame-BKHtDSjv.cjs +11 -0
- package/broker-frame.cjs +1 -1
- package/broker-frame.d.ts +2 -1
- package/broker-frame.js +1 -1
- package/cloud/dgram.cjs +1 -1
- package/cloud/dgram.d.ts +1 -1
- package/cloud/dgram.js +1 -1
- package/cloud/dns.cjs +1 -1
- package/cloud/dns.d.ts +2 -2
- package/cloud/dns.js +1 -1
- package/cloud/fetch.cjs +1 -1
- package/cloud/fetch.d.ts +1 -1
- package/cloud/fetch.js +1 -1
- package/cloud/fs/promises.cjs +1 -1
- package/cloud/fs/promises.js +1 -1
- package/cloud/fs.cjs +1 -1
- package/cloud/fs.js +2 -2
- package/cloud/http.cjs +1 -1
- package/cloud/http.d.ts +1 -1
- package/cloud/http.js +1 -1
- package/cloud/net.cjs +1 -1
- package/cloud/net.d.ts +1 -1
- package/cloud/net.js +1 -1
- package/{cloud-CoHrHk6t.js → cloud-B3LylTk3.js} +9 -9
- package/{cloud-r8DsgB1W.cjs → cloud-BvRWgECW.cjs} +1 -1
- package/{cloud-BCRo1U9I.d.ts → cloud-P8d7GYmM.d.ts} +5 -5
- package/cloud.cjs +1 -1
- package/cloud.d.ts +6 -6
- package/cloud.js +7 -7
- package/{contract-CJk3vE9P.d.ts → contract-CDdIE_Es.d.ts} +49 -2
- package/contract.d.ts +1 -1
- package/{dgram-BBbLokVF.js → dgram-BMCYdn0Q.js} +1 -1
- package/{dgram-DSgktX7M.d.ts → dgram-CPQqam5Z.d.ts} +3 -3
- package/{dgram-D9ljiUFh.cjs → dgram-Xrt2rPrC.cjs} +1 -1
- package/dgram.cjs +1 -1
- package/dgram.d.ts +1 -1
- package/dgram.js +1 -1
- package/{dns-o8DLFjP1.js → dns-CxfA8mGU.js} +1 -1
- package/{dns-BwS2LM9b.d.ts → dns-_NCe2YLS.d.ts} +1 -1
- package/{dns-2v96zoEh.cjs → dns-ijWQw2NO.cjs} +1 -1
- package/dns.cjs +1 -1
- package/dns.d.ts +2 -2
- package/dns.js +1 -1
- package/{extension-Dn64NfoU.cjs → extension-gWkpzDKG.cjs} +1 -1
- package/{extension-CG7Qi3I0.js → extension-nTQBWRg6.js} +4 -4
- package/extension.cjs +1 -1
- package/extension.js +2 -2
- package/fs/promises.cjs +1 -1
- package/fs/promises.js +1 -1
- package/{fs-BX_ghRy0.cjs → fs-BVISC6T6.cjs} +1 -1
- package/{fs--MLHvMW-.cjs → fs-Cu7wH1Fo.cjs} +1 -1
- package/{fs-BnWXGRik.js → fs-D16P3dtE.js} +1 -1
- package/{fs-Cw7CcUhx.js → fs-DsHrUu0O.js} +3 -3
- package/fs.cjs +1 -1
- package/fs.js +2 -2
- package/{http-DIDjdm08.js → http-1ruN3pj9.js} +1 -1
- package/{http-BE3UBktN.cjs → http-CzMigExo.cjs} +1 -1
- package/{http-D8ulR5RD.d.ts → http-D3wvnIVo.d.ts} +1 -1
- package/http.cjs +1 -1
- package/http.d.ts +1 -1
- package/http.js +1 -1
- package/index.cjs +1 -1
- package/index.d.ts +11 -11
- package/index.js +13 -13
- package/{lib-D2uKjgLV.js → lib-6lykV0aT.js} +1 -1
- package/{lib-_WDKIXcj.cjs → lib-C1OPIW6F.cjs} +1 -1
- package/{net-COkJw8lV.js → net-Bj1vCk29.js} +1 -1
- package/{net-Dk2kqtgE.cjs → net-b250sYEx.cjs} +1 -1
- package/{net-BCEAHCZe.d.ts → net-v_6ythjK.d.ts} +3 -3
- package/net.cjs +1 -1
- package/net.d.ts +1 -1
- package/net.js +1 -1
- package/package.json +1 -1
- package/{packages-Cws_rcgf.js → packages-BqY5yoIM.js} +73 -70
- package/packages-Cb8FXQu1.cjs +1 -0
- package/{packages-BlJK4kSJ.d.ts → packages-SwO4CxMl.d.ts} +19 -6
- package/packages.cjs +1 -1
- package/packages.d.ts +3 -3
- package/packages.js +1 -1
- package/{proxy-DVgGp6A8.cjs → proxy-BFa0n5gx.cjs} +1 -1
- package/{proxy-CfgavvzR.d.ts → proxy-CzP07me0.d.ts} +2 -2
- package/{proxy-BBAQxJmP.js → proxy-FSgMUaD3.js} +2 -2
- package/{relay-choice-D5Jeevab.d.ts → relay-choice-DB1F7bcn.d.ts} +1 -1
- package/{rooms-0vp7HaAY.d.ts → rooms-3XplwXzb.d.ts} +1 -1
- package/{rooms-DHFS9cwA.cjs → rooms-CYP6g-p9.cjs} +1 -1
- package/{rooms-DP5stTEr.js → rooms-GZ798oSd.js} +1 -1
- package/rooms.cjs +1 -1
- package/rooms.d.ts +2 -2
- package/rooms.js +1 -1
- package/{storage-CidJUc0x.d.ts → storage-C38adB-z.d.ts} +1 -1
- package/{storage-BCjYihUO.cjs → storage-CoEDsbk2.cjs} +1 -1
- package/{storage-BhfImh_2.js → storage-sCdMPRVY.js} +3 -3
- package/storage.cjs +1 -1
- package/storage.d.ts +2 -2
- package/storage.js +1 -1
- package/api-DrvhPN56.cjs +0 -3
- package/broker-frame-CF4-yXtj.cjs +0 -9
- package/packages-DT8vPB5_.cjs +0 -1
|
@@ -1,22 +1,23 @@
|
|
|
1
1
|
import { t as e } from "./rolldown-runtime-CGnMp29N.js";
|
|
2
|
-
import { c as t, l as n, o as r, u as i } from "./api-
|
|
2
|
+
import { c as t, l as n, o as r, u as i } from "./api-DeGR_tzF.js";
|
|
3
3
|
import { i as a, t as o } from "./busy-C1JPjoZ_.js";
|
|
4
4
|
import { expose as s } from "osra";
|
|
5
5
|
// src/packages.ts
|
|
6
6
|
var c = /* @__PURE__ */ e({
|
|
7
|
-
attach: () =>
|
|
8
|
-
connect: () =>
|
|
9
|
-
hide: () =>
|
|
7
|
+
attach: () => L,
|
|
8
|
+
connect: () => j,
|
|
9
|
+
hide: () => A,
|
|
10
10
|
install: () => v,
|
|
11
|
-
isVisible: () =>
|
|
12
|
-
list: () =>
|
|
13
|
-
mount: () =>
|
|
14
|
-
onConnect: () =>
|
|
15
|
-
onVisibilityChange: () =>
|
|
11
|
+
isVisible: () => Z,
|
|
12
|
+
list: () => b,
|
|
13
|
+
mount: () => I,
|
|
14
|
+
onConnect: () => X,
|
|
15
|
+
onVisibilityChange: () => Q,
|
|
16
16
|
pick: () => _,
|
|
17
17
|
search: () => g,
|
|
18
|
-
show: () =>
|
|
19
|
-
|
|
18
|
+
show: () => k,
|
|
19
|
+
supportsTemporary: () => y,
|
|
20
|
+
uninstall: () => x
|
|
20
21
|
}), l = "fkn-packages-connection", u = "https://fkn.app", d = 3e4, f = (e, t) => Object.assign(Error(t), { code: e }), p = async () => {
|
|
21
22
|
if (!n) throw f("unavailable", "packages: no FKN transport in this realm - use relayWorker to bridge workers");
|
|
22
23
|
return r;
|
|
@@ -61,18 +62,20 @@ var c = /* @__PURE__ */ e({
|
|
|
61
62
|
if ("error" in n) throw f(n.error, n.message);
|
|
62
63
|
return "declined" in n ? [] : n.results;
|
|
63
64
|
}, v = async (e, t) => {
|
|
64
|
-
let n = await
|
|
65
|
-
if (
|
|
66
|
-
|
|
67
|
-
|
|
65
|
+
let { packages: n } = await p(), r = t?.temporary ? n.installTemporary : n.install;
|
|
66
|
+
if (!r) throw f("unsupported", "packages.install: this fkn.app cannot install a package temporarily");
|
|
67
|
+
let i = await r(e, t);
|
|
68
|
+
if ("error" in i) throw f(i.error, i.message);
|
|
69
|
+
return "declined" in i ? null : i.installed;
|
|
70
|
+
}, y = async () => typeof (await p()).packages.installTemporary == "function", b = async () => (await (await p()).packages.list()).results, x = async (e) => {
|
|
68
71
|
let t = await (await p()).packages.uninstall(e);
|
|
69
72
|
if ("error" in t) throw f(t.error, t.message);
|
|
70
|
-
},
|
|
73
|
+
}, S = ({ x: e, y: t, width: n, height: r }) => ({
|
|
71
74
|
x: Math.round(e),
|
|
72
75
|
y: Math.round(t),
|
|
73
76
|
width: Math.round(n),
|
|
74
77
|
height: Math.round(r)
|
|
75
|
-
}),
|
|
78
|
+
}), C = (e, t) => {
|
|
76
79
|
let n = Math.max(e.x, t.x), r = Math.max(e.y, t.y);
|
|
77
80
|
return {
|
|
78
81
|
x: n,
|
|
@@ -80,14 +83,14 @@ var c = /* @__PURE__ */ e({
|
|
|
80
83
|
width: Math.max(0, Math.min(e.x + e.width, t.x + t.width) - n),
|
|
81
84
|
height: Math.max(0, Math.min(e.y + e.height, t.y + t.height) - r)
|
|
82
85
|
};
|
|
83
|
-
},
|
|
86
|
+
}, w = (e, t) => {
|
|
84
87
|
let n = t;
|
|
85
88
|
for (let t = e.parentElement; t; t = t.parentElement) {
|
|
86
89
|
let e = getComputedStyle(t);
|
|
87
|
-
if ((e.overflowX !== "visible" || e.overflowY !== "visible") && (n =
|
|
90
|
+
if ((e.overflowX !== "visible" || e.overflowY !== "visible") && (n = C(n, S(t.getBoundingClientRect())), n.width === 0 || n.height === 0)) break;
|
|
88
91
|
}
|
|
89
92
|
return n;
|
|
90
|
-
},
|
|
93
|
+
}, T = (e) => {
|
|
91
94
|
let t = getComputedStyle(e), n = [
|
|
92
95
|
t.borderTopLeftRadius,
|
|
93
96
|
t.borderTopRightRadius,
|
|
@@ -100,31 +103,31 @@ var c = /* @__PURE__ */ e({
|
|
|
100
103
|
return Number.isFinite(t) && t > 0 ? t : 0;
|
|
101
104
|
});
|
|
102
105
|
return r.some((e) => e > 0) ? r : void 0;
|
|
103
|
-
},
|
|
106
|
+
}, E = (e, t) => {
|
|
104
107
|
if (!e) return !1;
|
|
105
108
|
let n = (e, t) => e === t || !!e && !!t && e.x === t.x && e.y === t.y && e.width === t.width && e.height === t.height;
|
|
106
109
|
return n(e.rect, t.rect) && n(e.clip, t.clip) && ((e, t) => e === t || !!e && !!t && e.every((e, n) => e === t[n]))(e.radius, t.radius);
|
|
107
|
-
},
|
|
108
|
-
a("package view", () =>
|
|
109
|
-
var
|
|
110
|
-
let n =
|
|
110
|
+
}, D = /* @__PURE__ */ new Map();
|
|
111
|
+
a("package view", () => D.size > 0);
|
|
112
|
+
var O = async (e, t) => {
|
|
113
|
+
let n = D.get(e);
|
|
111
114
|
if (n) {
|
|
112
115
|
for (let e of n) t && e.element !== t || (e.stop(), n.delete(e));
|
|
113
116
|
if (n.size > 0) return;
|
|
114
|
-
|
|
117
|
+
D.delete(e);
|
|
115
118
|
}
|
|
116
119
|
let r = await (await p()).packages.hide(e);
|
|
117
120
|
if ("error" in r) throw f(r.error, r.message);
|
|
118
|
-
},
|
|
121
|
+
}, k = async (e, t) => {
|
|
119
122
|
let { element: n, rect: r } = t;
|
|
120
123
|
if (!n && !r) throw f("invalid", "packages.show: pass an element or a rect");
|
|
121
124
|
let i = (await p()).packages, a = () => {
|
|
122
|
-
if (!n) return { rect:
|
|
123
|
-
let e =
|
|
125
|
+
if (!n) return { rect: S(r) };
|
|
126
|
+
let e = S(n.getBoundingClientRect());
|
|
124
127
|
return {
|
|
125
128
|
rect: e,
|
|
126
|
-
clip:
|
|
127
|
-
radius:
|
|
129
|
+
clip: w(n, e),
|
|
130
|
+
radius: T(n)
|
|
128
131
|
};
|
|
129
132
|
}, o = !0, s, c = 0, l = async (t) => {
|
|
130
133
|
s = t;
|
|
@@ -135,7 +138,7 @@ var D = async (e, t) => {
|
|
|
135
138
|
let u = () => {
|
|
136
139
|
if (!o) return;
|
|
137
140
|
let e = a();
|
|
138
|
-
|
|
141
|
+
E(s, e) || l(e).catch(() => {}), c = requestAnimationFrame(u);
|
|
139
142
|
};
|
|
140
143
|
n && (c = requestAnimationFrame(u));
|
|
141
144
|
let d = {
|
|
@@ -143,18 +146,18 @@ var D = async (e, t) => {
|
|
|
143
146
|
stop: () => {
|
|
144
147
|
o = !1, cancelAnimationFrame(c);
|
|
145
148
|
}
|
|
146
|
-
}, m =
|
|
147
|
-
return m.add(d),
|
|
149
|
+
}, m = D.get(e) ?? /* @__PURE__ */ new Set();
|
|
150
|
+
return m.add(d), D.set(e, m), {
|
|
148
151
|
hide: () => {
|
|
149
|
-
|
|
152
|
+
O(e, n).catch(() => {});
|
|
150
153
|
},
|
|
151
154
|
refresh: () => {
|
|
152
155
|
if (!o) return;
|
|
153
156
|
let e = a();
|
|
154
|
-
|
|
157
|
+
E(s, e) || l(e).catch(() => {});
|
|
155
158
|
}
|
|
156
159
|
};
|
|
157
|
-
},
|
|
160
|
+
}, A = async (e, t = {}) => O(e, t.element), j = (async (e, n = {}) => {
|
|
158
161
|
let r = await (await p()).packages.connect(e, {
|
|
159
162
|
protocol: n.protocol,
|
|
160
163
|
...n.path === void 0 ? {} : { path: n.path }
|
|
@@ -186,14 +189,14 @@ var D = async (e, t) => {
|
|
|
186
189
|
closed: u,
|
|
187
190
|
port: l
|
|
188
191
|
};
|
|
189
|
-
}),
|
|
192
|
+
}), M = ["allow-scripts", "allow-same-origin"], N = (e) => {
|
|
190
193
|
let t = e.getAttribute("sandbox");
|
|
191
194
|
if (t !== null) {
|
|
192
|
-
let e = new Set(t.toLowerCase().split(/\s+/).filter(Boolean)), n =
|
|
195
|
+
let e = new Set(t.toLowerCase().split(/\s+/).filter(Boolean)), n = M.filter((t) => !e.has(t));
|
|
193
196
|
if (n.length) throw f("invalid", `packages.mount: the iframe's sandbox attribute must include ${n.join(" and ")}, or the package cannot start`);
|
|
194
197
|
}
|
|
195
198
|
if (globalThis.crossOriginIsolated && !new Set((e.getAttribute("allow") ?? "").toLowerCase().split(";").map((e) => e.trim().split(/\s+/)[0]).filter(Boolean)).has("cross-origin-isolated")) throw f("invalid", "packages.mount: this page is cross-origin isolated, so the iframe's allow attribute must include 'cross-origin-isolated' to hand that down to the package");
|
|
196
|
-
},
|
|
199
|
+
}, P = 3e4, F = (e, t) => new Promise((n, r) => {
|
|
197
200
|
let i = (e) => {
|
|
198
201
|
clearTimeout(o), window.removeEventListener("message", a), e ? r(e) : n();
|
|
199
202
|
}, a = (n) => {
|
|
@@ -201,13 +204,13 @@ var D = async (e, t) => {
|
|
|
201
204
|
let r = n.data;
|
|
202
205
|
if (r?.type === "fkn-packages-ready") return i();
|
|
203
206
|
r?.type === "fkn-packages-failed" && i(f("unavailable", typeof r.message == "string" && r.message ? r.message : "packages.mount: the package failed to boot"));
|
|
204
|
-
}, o = setTimeout(() => i(f("timeout", "packages.mount: the package did not register a connection handler")),
|
|
207
|
+
}, o = setTimeout(() => i(f("timeout", "packages.mount: the package did not register a connection handler")), P);
|
|
205
208
|
window.addEventListener("message", a);
|
|
206
|
-
}),
|
|
209
|
+
}), I = async (e, t) => {
|
|
207
210
|
let { iframe: n } = t;
|
|
208
211
|
if (!(n instanceof HTMLIFrameElement)) throw f("invalid", "packages.mount: pass the iframe to load the package into");
|
|
209
212
|
if (!n.isConnected) throw f("invalid", "packages.mount: the iframe must be in the document before mounting into it");
|
|
210
|
-
|
|
213
|
+
N(n);
|
|
211
214
|
let r = await (await p()).packages.frame(e);
|
|
212
215
|
if ("error" in r) throw f(r.error, r.message);
|
|
213
216
|
n.src = r.url;
|
|
@@ -223,7 +226,7 @@ var D = async (e, t) => {
|
|
|
223
226
|
}
|
|
224
227
|
};
|
|
225
228
|
try {
|
|
226
|
-
await
|
|
229
|
+
await F(n, r.origin);
|
|
227
230
|
} catch (e) {
|
|
228
231
|
throw l(), e;
|
|
229
232
|
}
|
|
@@ -263,10 +266,10 @@ var D = async (e, t) => {
|
|
|
263
266
|
} catch (e) {
|
|
264
267
|
throw l(), e;
|
|
265
268
|
}
|
|
266
|
-
},
|
|
267
|
-
let t =
|
|
268
|
-
t && (
|
|
269
|
-
},
|
|
269
|
+
}, L = (e, t, n) => h(t, e, { signal: n?.signal }), R = null, z = !1, B = /* @__PURE__ */ new Set(), V = [], H = /* @__PURE__ */ new Map(), U = !1, W = !1, G = (e) => {
|
|
270
|
+
let t = H.get(e);
|
|
271
|
+
t && (H.delete(e), t());
|
|
272
|
+
}, K = (e, t) => {
|
|
270
273
|
try {
|
|
271
274
|
e.postMessage({
|
|
272
275
|
type: "fkn-packages-nack",
|
|
@@ -276,26 +279,26 @@ var D = async (e, t) => {
|
|
|
276
279
|
try {
|
|
277
280
|
e.close();
|
|
278
281
|
} catch {}
|
|
279
|
-
},
|
|
282
|
+
}, q = async (e, t) => {
|
|
280
283
|
let { port: n, ...r } = e;
|
|
281
284
|
e.port.addEventListener("message", (t) => {
|
|
282
|
-
t.data?.type === "fkn-packages-disconnect" &&
|
|
285
|
+
t.data?.type === "fkn-packages-disconnect" && G(e.port);
|
|
283
286
|
});
|
|
284
287
|
let i;
|
|
285
288
|
try {
|
|
286
289
|
i = await t.createPayload(r);
|
|
287
290
|
} catch (t) {
|
|
288
|
-
throw
|
|
291
|
+
throw K(e.port, t instanceof Error ? t.message : "the package failed to produce a connection"), t;
|
|
289
292
|
}
|
|
290
|
-
let a = new Promise((t) =>
|
|
293
|
+
let a = new Promise((t) => H.set(e.port, t)), o = await m(i, e.port);
|
|
291
294
|
t.handler?.({
|
|
292
295
|
...r,
|
|
293
296
|
remote: o,
|
|
294
297
|
closed: a,
|
|
295
298
|
port: e.port
|
|
296
299
|
});
|
|
297
|
-
},
|
|
298
|
-
|
|
300
|
+
}, J = () => {
|
|
301
|
+
U || typeof window > "u" || window.parent === window || (U = !0, window.addEventListener("message", (e) => {
|
|
299
302
|
if (e.source !== window.parent) return;
|
|
300
303
|
let t = e.data;
|
|
301
304
|
if (t?.type === "fkn-packages-port") {
|
|
@@ -310,37 +313,37 @@ var D = async (e, t) => {
|
|
|
310
313
|
name: typeof t.name == "string" ? t.name : "",
|
|
311
314
|
version: typeof t.version == "string" ? t.version : ""
|
|
312
315
|
};
|
|
313
|
-
|
|
316
|
+
R ? q(r, R).catch((e) => console.warn("packages.onConnect:", e)) : V.push(r);
|
|
314
317
|
}
|
|
315
|
-
if (t?.type === "fkn-packages-close") for (let e of [...
|
|
318
|
+
if (t?.type === "fkn-packages-close") for (let e of [...H.keys()]) G(e);
|
|
316
319
|
if (t?.type === "fkn-packages-visibility") {
|
|
317
|
-
|
|
318
|
-
for (let e of
|
|
319
|
-
e(
|
|
320
|
+
z = t.visible === !0;
|
|
321
|
+
for (let e of B) try {
|
|
322
|
+
e(z);
|
|
320
323
|
} catch {}
|
|
321
324
|
}
|
|
322
325
|
}));
|
|
323
|
-
},
|
|
324
|
-
|
|
325
|
-
},
|
|
326
|
+
}, Y = () => {
|
|
327
|
+
W || typeof window > "u" || window.parent === window || (W = !0, window.parent.postMessage({ type: "fkn-packages-ready" }, "*"));
|
|
328
|
+
}, X = (e, t) => {
|
|
326
329
|
if (typeof window > "u") return { unsubscribe: () => {} };
|
|
327
|
-
|
|
330
|
+
J();
|
|
328
331
|
let n = {
|
|
329
332
|
createPayload: e,
|
|
330
333
|
handler: t
|
|
331
334
|
};
|
|
332
|
-
for (
|
|
335
|
+
for (R = n, Y(); V.length && R === n;) q(V.shift(), n).catch((e) => console.warn("packages.onConnect:", e));
|
|
333
336
|
return { unsubscribe: () => {
|
|
334
|
-
|
|
337
|
+
R === n && (R = null);
|
|
335
338
|
} };
|
|
336
|
-
},
|
|
339
|
+
}, Z = () => z, Q = (e) => {
|
|
337
340
|
if (typeof window > "u") return { unsubscribe: () => {} };
|
|
338
|
-
|
|
341
|
+
J(), B.add(e);
|
|
339
342
|
try {
|
|
340
|
-
e(
|
|
343
|
+
e(z);
|
|
341
344
|
} catch {}
|
|
342
345
|
return { unsubscribe: () => {
|
|
343
|
-
|
|
346
|
+
B.delete(e);
|
|
344
347
|
} };
|
|
345
348
|
};
|
|
346
|
-
export {
|
|
349
|
+
export { Z as a, X as c, _ as d, g as f, x as h, v as i, Q as l, y as m, j as n, b as o, k as p, A as r, I as s, L as t, c as u };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./api-BkoXMcoe.cjs"),n=require("./busy-BXbVH595.cjs");let r=require("osra");var i=e.t({attach:()=>N,connect:()=>D,hide:()=>E,install:()=>m,isVisible:()=>q,list:()=>g,mount:()=>M,onConnect:()=>K,onVisibilityChange:()=>J,pick:()=>p,search:()=>f,show:()=>T,supportsTemporary:()=>h,uninstall:()=>_}),a=`fkn-packages-connection`,o=`https://fkn.app`,s=3e4,c=(e,t)=>Object.assign(Error(t),{code:e}),l=async()=>{if(!t.l)throw c(`unavailable`,`packages: no FKN transport in this realm - use relayWorker to bridge workers`);return t.o},u=(e,t,n)=>(0,r.expose)(e??{},{transport:t,key:a,unregisterSignal:n}),d=async(e,t,n={})=>{let{signal:r,closed:i}=n;if(r?.aborted)throw c(`unavailable`,`packages.connect: aborted before connecting`);let a=new AbortController;r&&r.addEventListener(`abort`,()=>a.abort(r.reason),{once:!0});let o=new AbortController,l=new Promise((e,n)=>{let a=setTimeout(()=>n(c(`timeout`,`packages.connect: the package did not complete the connection`)),s);o.signal.addEventListener(`abort`,()=>clearTimeout(a),{once:!0}),t.addEventListener(`message`,e=>{if(e.data?.type===`fkn-packages-nack`){let t=e.data.message;n(c(`unavailable`,typeof t==`string`&&t?t:`packages.connect: the package refused the connection`))}},{signal:o.signal}),t.start(),r&&r.addEventListener(`abort`,()=>n(c(`unavailable`,`packages.connect: aborted before connecting`)),{once:!0,signal:o.signal}),i?.then(()=>n(c(`unavailable`,`packages.connect: the package closed before connecting`)))});try{return await Promise.race([u(e,t,a.signal),l])}catch(e){a.abort(e);try{t.close()}catch{}throw e}finally{o.abort()}},f=async e=>{let t=await(await l()).packages.search(e);if(`error`in t)throw c(t.error,t.message);return t.results},p=async(e,t)=>{let n=await(await l()).packages.pick(e,t);if(`error`in n)throw c(n.error,n.message);return`declined`in n?[]:n.results},m=async(e,t)=>{let{packages:n}=await l(),r=t?.temporary?n.installTemporary:n.install;if(!r)throw c(`unsupported`,`packages.install: this fkn.app cannot install a package temporarily`);let i=await r(e,t);if(`error`in i)throw c(i.error,i.message);return`declined`in i?null:i.installed},h=async()=>typeof(await l()).packages.installTemporary==`function`,g=async()=>(await(await l()).packages.list()).results,_=async e=>{let t=await(await l()).packages.uninstall(e);if(`error`in t)throw c(t.error,t.message)},v=({x:e,y:t,width:n,height:r})=>({x:Math.round(e),y:Math.round(t),width:Math.round(n),height:Math.round(r)}),y=(e,t)=>{let n=Math.max(e.x,t.x),r=Math.max(e.y,t.y);return{x:n,y:r,width:Math.max(0,Math.min(e.x+e.width,t.x+t.width)-n),height:Math.max(0,Math.min(e.y+e.height,t.y+t.height)-r)}},b=(e,t)=>{let n=t;for(let t=e.parentElement;t;t=t.parentElement){let e=getComputedStyle(t);if((e.overflowX!==`visible`||e.overflowY!==`visible`)&&(n=y(n,v(t.getBoundingClientRect())),n.width===0||n.height===0))break}return n},x=e=>{let t=getComputedStyle(e),n=[t.borderTopLeftRadius,t.borderTopRightRadius,t.borderBottomRightRadius,t.borderBottomLeftRadius];if(n.some(e=>e.includes(`%`)||e.includes(` `)))return;let r=n.map(e=>{let t=Number.parseFloat(e);return Number.isFinite(t)&&t>0?t:0});return r.some(e=>e>0)?r:void 0},S=(e,t)=>{if(!e)return!1;let n=(e,t)=>e===t||!!e&&!!t&&e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height;return n(e.rect,t.rect)&&n(e.clip,t.clip)&&((e,t)=>e===t||!!e&&!!t&&e.every((e,n)=>e===t[n]))(e.radius,t.radius)},C=new Map;n.i(`package view`,()=>C.size>0);var w=async(e,t)=>{let n=C.get(e);if(n){for(let e of n)t&&e.element!==t||(e.stop(),n.delete(e));if(n.size>0)return;C.delete(e)}let r=await(await l()).packages.hide(e);if(`error`in r)throw c(r.error,r.message)},T=async(e,t)=>{let{element:n,rect:r}=t;if(!n&&!r)throw c(`invalid`,`packages.show: pass an element or a rect`);let i=(await l()).packages,a=()=>{if(!n)return{rect:v(r)};let e=v(n.getBoundingClientRect());return{rect:e,clip:b(n,e),radius:x(n)}},o=!0,s,u=0,d=async t=>{s=t;let n=await i.show(e,t);if(`error`in n)throw o=!1,c(n.error,n.message)};await d(a());let f=()=>{if(!o)return;let e=a();S(s,e)||d(e).catch(()=>{}),u=requestAnimationFrame(f)};n&&(u=requestAnimationFrame(f));let p={element:n,stop:()=>{o=!1,cancelAnimationFrame(u)}},m=C.get(e)??new Set;return m.add(p),C.set(e,m),{hide:()=>{w(e,n).catch(()=>{})},refresh:()=>{if(!o)return;let e=a();S(s,e)||d(e).catch(()=>{})}}},E=async(e,t={})=>w(e,t.element),D=(async(e,r={})=>{let i=await(await l()).packages.connect(e,{protocol:r.protocol,...r.path===void 0?{}:{path:r.path}});if(`error`in i)throw c(i.error,i.message);let a=n.t(`package connection`),o=t.c()?.epoch??0,s=t.u((e,t)=>{t!==o&&(a(),s())});Promise.resolve(i.closed).then(()=>{a(),s()},()=>{a(),s()});let{port:u,closed:f}=i;if(r.raw)return{closed:f,port:u};let p=await d(r.payload,u,{signal:r.signal,closed:f});return r.signal&&r.signal.addEventListener(`abort`,()=>{try{u.postMessage({type:`fkn-packages-disconnect`})}catch{}},{once:!0}),{remote:p,closed:f,port:u}}),O=[`allow-scripts`,`allow-same-origin`],k=e=>{let t=e.getAttribute(`sandbox`);if(t!==null){let e=new Set(t.toLowerCase().split(/\s+/).filter(Boolean)),n=O.filter(t=>!e.has(t));if(n.length)throw c(`invalid`,`packages.mount: the iframe's sandbox attribute must include ${n.join(` and `)}, or the package cannot start`)}if(globalThis.crossOriginIsolated&&!new Set((e.getAttribute(`allow`)??``).toLowerCase().split(`;`).map(e=>e.trim().split(/\s+/)[0]).filter(Boolean)).has(`cross-origin-isolated`))throw c(`invalid`,`packages.mount: this page is cross-origin isolated, so the iframe's allow attribute must include 'cross-origin-isolated' to hand that down to the package`)},A=3e4,j=(e,t)=>new Promise((n,r)=>{let i=e=>{clearTimeout(o),window.removeEventListener(`message`,a),e?r(e):n()},a=n=>{if(n.source!==e.contentWindow||n.origin!==t)return;let r=n.data;if(r?.type===`fkn-packages-ready`)return i();r?.type===`fkn-packages-failed`&&i(c(`unavailable`,typeof r.message==`string`&&r.message?r.message:`packages.mount: the package failed to boot`))},o=setTimeout(()=>i(c(`timeout`,`packages.mount: the package did not register a connection handler`)),A);window.addEventListener(`message`,a)}),M=async(e,t)=>{let{iframe:r}=t;if(!(r instanceof HTMLIFrameElement))throw c(`invalid`,`packages.mount: pass the iframe to load the package into`);if(!r.isConnected)throw c(`invalid`,`packages.mount: the iframe must be in the document before mounting into it`);k(r);let i=await(await l()).packages.frame(e);if(`error`in i)throw c(i.error,i.message);r.src=i.url;let a={done:!1},o=()=>{},s=new Promise(e=>{o=e}),u=n.t(`mounted package`),f=()=>{if(!a.done){a.done=!0,u();try{r.contentWindow?.postMessage({type:`fkn-packages-close`},i.origin)}catch{}r.src=`about:blank`,o()}};try{await j(r,i.origin)}catch(e){throw f(),e}let p=new MessageChannel,m=r.contentWindow;if(!m)throw f(),c(`unavailable`,`packages.mount: the frame was detached before it could connect`);m.postMessage({type:`fkn-packages-port`,from:i.from,protocol:t.protocol,uri:i.uri,name:i.name,version:i.version},i.origin,[p.port2]);try{m.postMessage({type:`fkn-packages-visibility`,visible:!0},i.origin)}catch{}if(t.raw)return{closed:s,port:p.port1,frame:r,unmount:f};try{return{remote:await d(t.payload,p.port1,{signal:t.signal,closed:s}),closed:s,port:p.port1,frame:r,unmount:f}}catch(e){throw f(),e}},N=(e,t,n)=>d(t,e,{signal:n?.signal}),P=null,F=!1,I=new Set,L=[],R=new Map,z=!1,B=!1,V=e=>{let t=R.get(e);t&&(R.delete(e),t())},H=(e,t)=>{try{e.postMessage({type:`fkn-packages-nack`,message:t})}catch{}try{e.close()}catch{}},U=async(e,t)=>{let{port:n,...r}=e;e.port.addEventListener(`message`,t=>{t.data?.type===`fkn-packages-disconnect`&&V(e.port)});let i;try{i=await t.createPayload(r)}catch(t){throw H(e.port,t instanceof Error?t.message:`the package failed to produce a connection`),t}let a=new Promise(t=>R.set(e.port,t)),o=await u(i,e.port);t.handler?.({...r,remote:o,closed:a,port:e.port})},W=()=>{z||typeof window>`u`||window.parent===window||(z=!0,window.addEventListener(`message`,e=>{if(e.source!==window.parent)return;let t=e.data;if(t?.type===`fkn-packages-port`){let n=e.ports[0];if(!n)return;let r={port:n,from:typeof t.from==`string`?t.from:``,brokered:e.origin===o,protocol:typeof t.protocol==`string`?t.protocol:null,uri:typeof t.uri==`string`?t.uri:``,name:typeof t.name==`string`?t.name:``,version:typeof t.version==`string`?t.version:``};P?U(r,P).catch(e=>console.warn(`packages.onConnect:`,e)):L.push(r)}if(t?.type===`fkn-packages-close`)for(let e of[...R.keys()])V(e);if(t?.type===`fkn-packages-visibility`){F=t.visible===!0;for(let e of I)try{e(F)}catch{}}}))},G=()=>{B||typeof window>`u`||window.parent===window||(B=!0,window.parent.postMessage({type:`fkn-packages-ready`},`*`))},K=(e,t)=>{if(typeof window>`u`)return{unsubscribe:()=>{}};W();let n={createPayload:e,handler:t};for(P=n,G();L.length&&P===n;)U(L.shift(),n).catch(e=>console.warn(`packages.onConnect:`,e));return{unsubscribe:()=>{P===n&&(P=null)}}},q=()=>F,J=e=>{if(typeof window>`u`)return{unsubscribe:()=>{}};W(),I.add(e);try{e(F)}catch{}return{unsubscribe:()=>{I.delete(e)}}};Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return i}});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { E as InstalledPackage, F as PackageResult, I as PackagesErrorCode, J as Radii, P as PackageQuery, R as PickOptions, Rt as SurfaceRect, T as InstallOptions, m as ConnectOptions, z as Placement } from "./contract-
|
|
1
|
+
import { E as InstalledPackage, F as PackageResult, I as PackagesErrorCode, J as Radii, P as PackageQuery, R as PickOptions, Rt as SurfaceRect, T as InstallOptions, m as ConnectOptions, z as Placement } from "./contract-CDdIE_Es.js";
|
|
2
2
|
import { Remote } from "osra";
|
|
3
3
|
declare namespace packages_d_exports {
|
|
4
|
-
export { AppConnectOptions, Connect, ConnectOptions, ConnectPayload, IncomingConnection, IncomingConnectionInfo, InstallOptions, InstalledPackage, MountOptions, MountedPackage, PackageConnection, PackageQuery, PackageResult, PackageView, PackagesError, PackagesErrorCode, PickOptions, Placement, Radii, RawPackageConnection, ShowOptions, SurfaceRect, attach, connect, hide, install, isVisible, list, mount, onConnect, onVisibilityChange, pick, search, show, uninstall };
|
|
4
|
+
export { AppConnectOptions, Connect, ConnectOptions, ConnectPayload, IncomingConnection, IncomingConnectionInfo, InstallOptions, InstalledPackage, MountOptions, MountedPackage, PackageConnection, PackageQuery, PackageResult, PackageView, PackagesError, PackagesErrorCode, PickOptions, Placement, Radii, RawPackageConnection, ShowOptions, SurfaceRect, attach, connect, hide, install, isVisible, list, mount, onConnect, onVisibilityChange, pick, search, show, supportsTemporary, uninstall };
|
|
5
5
|
}
|
|
6
6
|
type PackagesError = Error & {
|
|
7
7
|
code: PackagesErrorCode;
|
|
@@ -10,11 +10,24 @@ type PackagesError = Error & {
|
|
|
10
10
|
declare const search: (query: PackageQuery) => Promise<PackageResult[]>;
|
|
11
11
|
/** FKN-rendered picker over the same search; resolves the user's selection, already installed. [] on cancel. */
|
|
12
12
|
declare const pick: (query: PackageQuery, options?: PickOptions) => Promise<PackageResult[]>;
|
|
13
|
-
/**
|
|
13
|
+
/**
|
|
14
|
+
* Install a package for this app behind an FKN-rendered confirm, or with `{ noConfirm: true }` for a
|
|
15
|
+
* notice instead of a prompt. Resolves null when the user declines.
|
|
16
|
+
*
|
|
17
|
+
* `{ temporary: true }` installs it for this tab only, with no install record: see
|
|
18
|
+
* `InstallOptions.temporary`. Throws a PackagesError with code 'unsupported', having installed nothing,
|
|
19
|
+
* on an fkn.app too old to hold that, so an app never ends up keeping what it asked not to keep.
|
|
20
|
+
*/
|
|
14
21
|
declare const install: (uri: string, options?: InstallOptions) => Promise<InstalledPackage | null>;
|
|
15
|
-
/**
|
|
22
|
+
/**
|
|
23
|
+
* Whether fkn.app can install a package temporarily, asked with no install attempted. False on an
|
|
24
|
+
* fkn.app older than `InstallOptions.temporary`; on an @fkn/lib older than it this export is undefined,
|
|
25
|
+
* so `await packages.supportsTemporary?.() === true` holds for both.
|
|
26
|
+
*/
|
|
27
|
+
declare const supportsTemporary: () => Promise<boolean>;
|
|
28
|
+
/** The packages installed by this app, kept and temporary. A temporary one reads `temporary: true`. */
|
|
16
29
|
declare const list: () => Promise<InstalledPackage[]>;
|
|
17
|
-
/** Uninstall a package from this app; its frames and connections are torn down. */
|
|
30
|
+
/** Uninstall a package from this app, kept or temporary; its frames and connections are torn down. */
|
|
18
31
|
declare const uninstall: (uri: string) => Promise<void>;
|
|
19
32
|
type ShowOptions = {
|
|
20
33
|
/**
|
|
@@ -152,4 +165,4 @@ declare const isVisible: () => boolean;
|
|
|
152
165
|
declare const onVisibilityChange: (handler: (visible: boolean) => void) => {
|
|
153
166
|
unsubscribe: () => void;
|
|
154
167
|
};
|
|
155
|
-
export { pick as C, uninstall as E, packages_d_exports as S, show as T, isVisible as _, IncomingConnectionInfo as a, onConnect as b, PackageConnection as c, RawPackageConnection as d, ShowOptions as f, install as g, hide as h, IncomingConnection as i, PackageView as l, connect as m, Connect as n, MountOptions as o, attach as p, ConnectPayload as r, MountedPackage as s, AppConnectOptions as t, PackagesError as u, list as v, search as w, onVisibilityChange as x, mount as y };
|
|
168
|
+
export { pick as C, uninstall as D, supportsTemporary as E, packages_d_exports as S, show as T, isVisible as _, IncomingConnectionInfo as a, onConnect as b, PackageConnection as c, RawPackageConnection as d, ShowOptions as f, install as g, hide as h, IncomingConnection as i, PackageView as l, connect as m, Connect as n, MountOptions as o, attach as p, ConnectPayload as r, MountedPackage as s, AppConnectOptions as t, PackagesError as u, list as v, search as w, onVisibilityChange as x, mount as y };
|
package/packages.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./packages-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./packages-Cb8FXQu1.cjs");exports.attach=e.t,exports.connect=e.n,exports.hide=e.r,exports.install=e.i,exports.isVisible=e.a,exports.list=e.o,exports.mount=e.s,exports.onConnect=e.c,exports.onVisibilityChange=e.l,exports.pick=e.d,exports.search=e.f,exports.show=e.p,exports.supportsTemporary=e.m,exports.uninstall=e.h;
|
package/packages.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { E as InstalledPackage, F as PackageResult, I as PackagesErrorCode, J as Radii, P as PackageQuery, R as PickOptions, Rt as SurfaceRect, T as InstallOptions, m as ConnectOptions, z as Placement } from "./contract-
|
|
2
|
-
import { C as pick,
|
|
3
|
-
export { AppConnectOptions, Connect, type ConnectOptions, ConnectPayload, IncomingConnection, IncomingConnectionInfo, type InstallOptions, type InstalledPackage, MountOptions, MountedPackage, PackageConnection, type PackageQuery, type PackageResult, PackageView, PackagesError, type PackagesErrorCode, type PickOptions, type Placement, type Radii, RawPackageConnection, ShowOptions, type SurfaceRect, attach, connect, hide, install, isVisible, list, mount, onConnect, onVisibilityChange, pick, search, show, uninstall };
|
|
1
|
+
import { E as InstalledPackage, F as PackageResult, I as PackagesErrorCode, J as Radii, P as PackageQuery, R as PickOptions, Rt as SurfaceRect, T as InstallOptions, m as ConnectOptions, z as Placement } from "./contract-CDdIE_Es.js";
|
|
2
|
+
import { C as pick, D as uninstall, E as supportsTemporary, T as show, _ as isVisible, a as IncomingConnectionInfo, b as onConnect, c as PackageConnection, d as RawPackageConnection, f as ShowOptions, g as install, h as hide, i as IncomingConnection, l as PackageView, m as connect, n as Connect, o as MountOptions, p as attach, r as ConnectPayload, s as MountedPackage, t as AppConnectOptions, u as PackagesError, v as list, w as search, x as onVisibilityChange, y as mount } from "./packages-SwO4CxMl.js";
|
|
3
|
+
export { AppConnectOptions, Connect, type ConnectOptions, ConnectPayload, IncomingConnection, IncomingConnectionInfo, type InstallOptions, type InstalledPackage, MountOptions, MountedPackage, PackageConnection, type PackageQuery, type PackageResult, PackageView, PackagesError, type PackagesErrorCode, type PickOptions, type Placement, type Radii, RawPackageConnection, ShowOptions, type SurfaceRect, attach, connect, hide, install, isVisible, list, mount, onConnect, onVisibilityChange, pick, search, show, supportsTemporary, uninstall };
|
package/packages.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as attach, n as connect, r as hide, i as install, a as isVisible, o as list, s as mount, c as onConnect, l as onVisibilityChange, d as pick, f as search, p as show, m as uninstall } from "./packages-
|
|
1
|
+
export { t as attach, n as connect, r as hide, i as install, a as isVisible, o as list, s as mount, c as onConnect, l as onVisibilityChange, d as pick, f as search, p as show, m as supportsTemporary, h as uninstall } from "./packages-BqY5yoIM.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./broker-frame-
|
|
1
|
+
const e=require("./broker-frame-BKHtDSjv.cjs"),t=require("./api-BkoXMcoe.cjs"),n=require("./busy-BXbVH595.cjs"),r=require("./relay-choice-JC_JJY_M.cjs");var i=typeof FinalizationRegistry>`u`?void 0:new FinalizationRegistry(e=>e()),a=e=>{let t=e.body;if(!t)return e;let r=n.t(`streamed response`),a=t.getReader(),o=new ReadableStream({pull:async e=>{try{let{done:t,value:n}=await a.read();if(t){r(),e.close();return}e.enqueue(n)}catch(t){r(),e.error(t)}},cancel:async e=>{r(),await a.cancel(e).catch(()=>{})}}),s=new Response(o,{status:e.status,statusText:e.statusText,headers:e.headers});return i?.register(s,r),s},o=async e=>{if(e!=null)return typeof e==`string`||e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e:new Request(`https://body.invalid/`,{method:`POST`,body:e,duplex:`half`}).arrayBuffer()},s=async e=>{if(e.method===`GET`||e.method===`HEAD`)return;let t=await e.clone().arrayBuffer();return t.byteLength?t:void 0},c=(e,n)=>(n?.relay===void 0?t.o:t.s(`a relay choice`)).then(t=>(n?.relay!==void 0&&r.t(t,`cloud.fetch`),t.cloud.fetch(e,n))).then(a),l=async(t,n)=>{if(e.r(t),typeof t==`object`&&t&&!(t instanceof URL)&&typeof t.url==`string`){let e=t,r={};e.headers.forEach((e,t)=>{r[t]=e});let i=await o(n?.body===void 0?await s(e):n.body);return c(e.url,{...n,method:n?.method??e.method,headers:n?.headers??r,body:i})}let r=t instanceof URL?t.href:t,i=await o(n?.body);return c(r,n?.body===void 0?n:{...n,body:i})};Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return l}});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { X as Resolvers } from "./contract-
|
|
2
|
-
import "./api-
|
|
1
|
+
import { X as Resolvers } from "./contract-CDdIE_Es.js";
|
|
2
|
+
import "./api-DhwJz0vo.js";
|
|
3
3
|
type ProxyFetch = Resolvers['cloud']['fetch'];
|
|
4
4
|
type FetchParameters = Parameters<ProxyFetch>;
|
|
5
5
|
declare const cloudFetch: (input: FetchParameters[0], init?: FetchParameters[1]) => Promise<Response>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as e } from "./broker-frame-
|
|
2
|
-
import { o as t, s as n } from "./api-
|
|
1
|
+
import { r as e } from "./broker-frame-BClLp2ZV.js";
|
|
2
|
+
import { o as t, s as n } from "./api-DeGR_tzF.js";
|
|
3
3
|
import { t as r } from "./busy-C1JPjoZ_.js";
|
|
4
4
|
import { t as i } from "./relay-choice-Bb3oP2gw.js";
|
|
5
5
|
// src/proxy.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { D as RelayChoice, f as Frame } from "./index-HMfzm6dF.js";
|
|
2
|
-
import { K as RELAY_UNAVAILABLE } from "./contract-
|
|
2
|
+
import { K as RELAY_UNAVAILABLE } from "./contract-CDdIE_Es.js";
|
|
3
3
|
import { Server, Socket } from "net";
|
|
4
4
|
import { Socket as Socket$1 } from "dgram";
|
|
5
5
|
/** What `net.connect`, `net.createServer`, `dgram.createSocket` and `http.request` take beside Node's own options; Node ignores it. */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as RoomCreateOptions, Q as RoomClaimOptions, Z as RoomBacklog, at as RoomJoinOptions, ct as RoomMember, dt as RoomPermission, et as RoomDefaults, ft as RoomPermissions, ht as RoomsErrorCode, lt as RoomMessage, mt as RoomType, nt as RoomEnvelope, ot as RoomJson, pt as RoomSchema, rt as RoomEvent, st as RoomMailbox, tt as RoomEnd, ut as RoomOpenOptions } from "./contract-
|
|
1
|
+
import { $ as RoomCreateOptions, Q as RoomClaimOptions, Z as RoomBacklog, at as RoomJoinOptions, ct as RoomMember, dt as RoomPermission, et as RoomDefaults, ft as RoomPermissions, ht as RoomsErrorCode, lt as RoomMessage, mt as RoomType, nt as RoomEnvelope, ot as RoomJson, pt as RoomSchema, rt as RoomEvent, st as RoomMailbox, tt as RoomEnd, ut as RoomOpenOptions } from "./contract-CDdIE_Es.js";
|
|
2
2
|
declare namespace rooms_d_exports {
|
|
3
3
|
export { RoomClaimOptions as ClaimOptions, RoomCreateOptions as CreateOptions, RoomJoinOptions as JoinOptions, RoomOpenOptions as OpenOptions, Room, RoomBacklog, RoomDefaults, RoomEnd, RoomEnvelope, RoomEvent, RoomJson, RoomMailbox, RoomMember, RoomMessage, RoomPermission, RoomPermissions, RoomSchema, RoomType, RoomsError, RoomsErrorCode, available, create, join, open };
|
|
4
4
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./api-
|
|
1
|
+
const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./api-BkoXMcoe.cjs"),n=require("./busy-BXbVH595.cjs"),r=require("./contract.cjs");var i=e.t({available:()=>S,create:()=>T,join:()=>E,open:()=>w}),a={wrongKey:`rooms: wrong room key`,inviteNoKey:`rooms: the invite carries no key`,badName:`rooms: the name is not one a room can have`,badKeyOption:`rooms: the key is not 32 bytes base64url`,noSuchMember:`rooms: no such member`,noSuchMessage:`rooms: no such message`,roomFull:`rooms: the room is full`,tooManyConnections:`rooms: too many connections`,tooManyBlocks:`rooms: too many blocks`,tooManyClaims:`rooms: too many claims`,mailboxFull:`rooms: the mailbox is full`,outOfStorage:`rooms: the owner is out of storage`,outOfQuota:`rooms: out of daily bandwidth`,blocked:`rooms: you are blocked from this room`,cannotSend:`rooms: you cannot send here`,permissionDenied:`rooms: permission denied`,notOwner:`rooms: not the room owner`,ownerNotRemovable:`rooms: the owner cannot be removed`,ownerKeepsEvery:`rooms: the owner keeps every permission`,removeYourself:`rooms: you cannot remove yourself`,needsAccount:`rooms: claiming needs an account`,nameClaimed:`rooms: the name is claimed`,notClaimed:`rooms: the room is not claimed`,noMailbox:`rooms: the room keeps no messages`,badLimit:`rooms: the limit is out of range`,badDescription:`rooms: the description is not one a claim can carry`,notClaimer:`rooms: only the app that claimed the room can describe it`,notReleaser:`rooms: only the app that claimed the room can release it`,notClaimingApp:`rooms: only the app that claimed the room can change it`,badTemporary:`rooms: the temporary duration is not one a claim can carry`,notTemporaryClaimer:`rooms: only the app that claimed the room can set when it expires`,temporaryUnavailable:`rooms: temporary claims are not available`,mailboxUnavailable:`rooms: the mailbox switch is not available`,guestUnavailable:`rooms: guest joins are not available`,schemasUnavailable:`rooms: room schemas are not available`,badSchema:`rooms: the schema is not one a room can take`,newerSchema:`rooms: the room holds a newer schema`,noSchema:`rooms: the room has no schema`,misfit:`rooms: the message does not fit the room's schema`,ownerSends:`rooms: only the owner sends this type`,accountSends:`rooms: sending this needs an account`,perAccount:`rooms: you have as many of these here as the room allows`,tooFast:`rooms: sending too fast`,tooLarge:`rooms: the message is too large`,unavailable:`rooms: rooms are unavailable`,notEnabled:`rooms: rooms are not available`,alreadyJoined:`rooms: already joined`,notJoined:`rooms: not joined`,malformed:`rooms: malformed frame`,ended:`rooms: the room has ended`},o=(e,t)=>Object.assign(Error(t),{code:e}),s=e=>e instanceof Error&&typeof e.code==`string`,c={send:!0,receive:!0,maxMessageBytes:262144},l=2048,u=()=>({messages:0,bytes:0,cap:5e8,archived:!1}),d=async()=>{if(!t.l)return;let e=(await t.s(`a room`).catch(()=>void 0))?.rooms;return typeof e?.open==`function`?e:void 0},f=()=>{throw o(`unavailable`,a.unavailable)},p=e=>e===`blocked`?`blocked`:e===`not-found`?`ended`:`unavailable`,m=e=>{if(e!==void 0&&e!==!1)return e===!0?r.ROOM_TEMPORARY_MS.default:typeof e!=`number`||!Number.isInteger(e)?null:e>=r.ROOM_TEMPORARY_MS.min&&e<=r.ROOM_TEMPORARY_MS.max?e:null},h=(e,t)=>{let n=t?e?.guest:e;return typeof n?.join==`function`?n:void 0},g=e=>{let t;try{t=JSON.stringify(e)}catch{}let n=t===void 0?void 0:JSON.parse(t),r=typeof n==`object`&&!!n&&!Array.isArray(n)&&typeof n.type==`string`;if(t===void 0||!r||t.length>l)throw o(`invalid`,a.misfit);return t},_=e=>{let t;try{t=JSON.parse(JSON.stringify(e))}catch{}if(typeof t!=`object`||!t||Array.isArray(t))throw o(`invalid`,a.badSchema);return t},v=e=>e?.schema===void 0?e:{...e,schema:_(e.schema)},y=e=>{if(e.schemas!==!0)throw o(`unavailable`,a.schemasUnavailable);return e},b=e=>{let t=e?.guest;if(t!==void 0&&typeof t!=`boolean`)throw o(`invalid`,a.malformed);return t===!0},x=async(e,r)=>{let i=e.invite,l=e,d=0,f=e.self,v=e.owner,b=e.claimed,x=e.mailbox,S=0,C=await e.defaults().catch(()=>c),w=e.schemas===!0?await Promise.resolve(e.schema()).catch(()=>null):null,T=0,E=!1,D=new Set,O=new Set,k=n.t(`room`),A=()=>{},j=()=>{},M=new Promise(e=>{j=e}),N=e=>{let t=[...O];O.clear();for(let n of t)try{n(e)}catch{}},P=e=>{E||(E=!0,A(),D.clear(),k(),N(o(`closed`,a.ended)),j({reason:e}))},F=e=>{if(E)return;let t=e;if(t.type===`defaults`&&(C=t.defaults),t.type===`schema`&&(T+=1,w=t.schema),t.type===`message`||t.type===`edited`){let e={...t.message,envelope:t.message.envelope??null};t=t.type===`message`?{...t,message:e}:{type:`edited`,message:e}}if(t.type===`permissions`&&t.id===f.id&&(f={id:f.id,permissions:t.permissions,maxMessageBytes:t.maxMessageBytes}),t.type===`claim`){S+=1;let e=t.claimed&&t.mailbox!==!1;t={type:`claim`,claimed:t.claimed,owner:t.owner,mailbox:e},b=t.claimed,v=t.owner,x=e?u():null}for(let e of[...D])try{e(t)}catch{}},I=(e,t)=>{Promise.resolve(e.on(F)).catch(()=>{}),Promise.resolve(e.closed).then(e=>{t===d&&P(e.reason)},()=>{})},L=async(e,t)=>{let n=h(e,r);if(!n)return P(`unavailable`);let a=await n.join(i).catch(()=>void 0);if(E||t!==d)return;if(!a)return P(`unavailable`);if(`error`in a)return P(p(a.error));if(a.self.id!==f.id)return Promise.resolve(a.leave()).catch(()=>{}),P(`unavailable`);l=a,f=a.self,v=a.owner,b=a.claimed,x=a.mailbox,I(a,t);let o=await a.defaults().catch(()=>void 0);if(o&&!E&&t===d&&(C=o),a.schemas!==!0)return;let s=await Promise.resolve(a.schema()).catch(()=>void 0);s!==void 0&&!E&&t===d&&(w=s)};A=t.u((e,t)=>{let n=d;d=t,!(E||n===0||n===t)&&(N(o(`unavailable`,a.unavailable)),L(e.rooms,t))}),I(e,d);let R=async e=>{if(E)throw o(`closed`,a.ended);let t=()=>{},n=new Promise((e,n)=>{t=n});O.add(t);try{return await Promise.race([Promise.resolve(e(l)),n])}catch(e){throw s(e)?e:o(`unavailable`,a.unavailable)}finally{O.delete(t)}},z=async e=>{let t=await R(e);if(`error`in t)throw o(t.error,t.message)},B=async e=>{let t=await R(e);if(typeof t==`object`&&t&&`error`in t)throw o(t.error,t.message);return t};return{id:e.id,name:e.name,key:e.key,invite:i,get self(){return f},get owner(){return v},get claimed(){return b},get mailbox(){return x},defaults:()=>C,members:()=>R(e=>e.members()),schema:()=>w,send:async(e,t)=>{if(t===void 0)return z(t=>t.send(e));let n=g(t);return z(t=>y(t).send(e,n))},edit:async(e,t,n)=>{if(n===void 0)return z(n=>n.edit(e,t));let r=g(n);return z(n=>y(n).edit(e,t,r))},setSchema:async e=>{let t=_(e),n=T;await z(e=>y(e).setSchema(t)),T===n&&(w=t)},delete:(e,t)=>z(n=>n.delete(e,t)),backlog:(e,t)=>B(n=>n.backlog(e,t)),setDefault:(e,t)=>z(n=>n.setDefault(e,t)),limit:(e,t)=>z(n=>n.limit(e,t)),grant:(e,t)=>z(n=>n.grant(e,t)),revoke:(e,t)=>z(n=>n.revoke(e,t)),remove:e=>z(t=>t.remove(e)),block:e=>z(t=>t.block(e)),unblock:e=>z(t=>t.unblock(e)),claim:async e=>{let t=e?.description;if(t!==void 0&&typeof t!=`string`)throw o(`invalid`,a.badDescription);let n=m(e?.temporary);if(n===null)throw o(`invalid`,a.badTemporary);let r=e?.mailbox;if(r!==void 0&&typeof r!=`boolean`)throw o(`invalid`,a.malformed);let i={...t===void 0?{}:{description:t},...n===void 0?{}:{temporary:n},...r===void 0?{}:{mailbox:r}};return Object.keys(i).length===0?z(e=>e.claim()):z(e=>{if(n!==void 0&&e.temporaryClaims!==!0)throw o(`unavailable`,a.temporaryUnavailable);if(r===!1&&e.mailboxSwitch!==!0)throw o(`unavailable`,a.mailboxUnavailable);return e.claim(i)})},setMailbox:async e=>{if(typeof e!=`boolean`)throw o(`invalid`,a.malformed);let t=S;await z(t=>{if(t.mailboxSwitch!==!0)throw o(`unavailable`,a.mailboxUnavailable);return t.setMailbox(e)}),S===t&&(e?x===null&&(x=u()):x=null)},release:()=>z(e=>e.release()),usage:async()=>{let e=await B(e=>e.usage());return x=e,e},on:async e=>E?()=>{}:(D.add(e),()=>{D.delete(e)}),leave:async()=>{await Promise.resolve(l.leave()).catch(()=>{}),P(`left`)},closed:M}},S=async()=>{let e=await d();return e?e.available().catch(()=>!1):!1},C=async(e,t,n)=>{let r=await d();if(!r)throw o(`unavailable`,a.unavailable);let i=h(r,e);if(!i)throw o(`unavailable`,a.guestUnavailable);let s=await n(i).catch(f);if(`error`in s)throw o(s.error,s.message);if(t?.schema!==void 0&&s.schemas!==!0)throw await Promise.resolve(s.leave()).catch(()=>{}),o(`unavailable`,a.schemasUnavailable);return x(s,e)},w=async(e,t)=>{if(typeof e!=`string`||e.length===0||e.length>72)throw o(`invalid`,a.badName);let n=b(t),r=v(t);return C(n,r,t=>t.open(e,r))},T=async e=>{let t=b(e),n=v(e);return C(t,n,e=>e.create(n))},E=async(e,t)=>{let n=typeof e==`string`?e.indexOf(`.`):-1;if(n<=0||n===e.length-1)throw o(`invalid`,a.inviteNoKey);return C(b(t),void 0,n=>n.join(e,t))};Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return S}});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as e } from "./rolldown-runtime-CGnMp29N.js";
|
|
2
|
-
import { l as t, s as n, u as r } from "./api-
|
|
2
|
+
import { l as t, s as n, u as r } from "./api-DeGR_tzF.js";
|
|
3
3
|
import { t as i } from "./busy-C1JPjoZ_.js";
|
|
4
4
|
import { ROOM_TEMPORARY_MS as a } from "./contract.js";
|
|
5
5
|
// src/rooms.ts
|
package/rooms.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rooms-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rooms-CYP6g-p9.cjs");exports.available=e.t,exports.create=e.n,exports.join=e.r,exports.open=e.i;
|
package/rooms.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { $ as RoomCreateOptions, Q as RoomClaimOptions, Z as RoomBacklog, at as RoomJoinOptions, ct as RoomMember, dt as RoomPermission, et as RoomDefaults, ft as RoomPermissions, ht as RoomsErrorCode, lt as RoomMessage, mt as RoomType, nt as RoomEnvelope, ot as RoomJson, pt as RoomSchema, rt as RoomEvent, st as RoomMailbox, tt as RoomEnd, ut as RoomOpenOptions } from "./contract-
|
|
2
|
-
import { a as join, i as create, n as RoomsError, o as open, r as available, t as Room } from "./rooms-
|
|
1
|
+
import { $ as RoomCreateOptions, Q as RoomClaimOptions, Z as RoomBacklog, at as RoomJoinOptions, ct as RoomMember, dt as RoomPermission, et as RoomDefaults, ft as RoomPermissions, ht as RoomsErrorCode, lt as RoomMessage, mt as RoomType, nt as RoomEnvelope, ot as RoomJson, pt as RoomSchema, rt as RoomEvent, st as RoomMailbox, tt as RoomEnd, ut as RoomOpenOptions } from "./contract-CDdIE_Es.js";
|
|
2
|
+
import { a as join, i as create, n as RoomsError, o as open, r as available, t as Room } from "./rooms-3XplwXzb.js";
|
|
3
3
|
export { type RoomClaimOptions as ClaimOptions, type RoomCreateOptions as CreateOptions, type RoomJoinOptions as JoinOptions, type RoomOpenOptions as OpenOptions, Room, type RoomBacklog, type RoomDefaults, type RoomEnd, type RoomEnvelope, type RoomEvent, type RoomJson, type RoomMailbox, type RoomMember, type RoomMessage, type RoomPermission, type RoomPermissions, type RoomSchema, type RoomType, RoomsError, type RoomsErrorCode, available, create, join, open };
|
package/rooms.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as available, n as create, r as join, i as open } from "./rooms-
|
|
1
|
+
export { t as available, n as create, r as join, i as open } from "./rooms-GZ798oSd.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { It as StoredObject, Lt as StoredPage, Mt as StoragePutOptions, jt as StorageProgress, kt as StorageErrorCode } from "./contract-
|
|
1
|
+
import { It as StoredObject, Lt as StoredPage, Mt as StoragePutOptions, jt as StorageProgress, kt as StorageErrorCode } from "./contract-CDdIE_Es.js";
|
|
2
2
|
declare namespace storage_d_exports {
|
|
3
3
|
export { StorageError, StorageErrorCode, StorageProgress, StoragePutOptions, StoredBlob, StoredObject, StoredPage, available, remove as delete, get, list, put };
|
|
4
4
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./api-
|
|
1
|
+
const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./api-BkoXMcoe.cjs"),n=require("./contract.cjs"),r=require("./account-generation-DwMcJFGc.cjs"),i=require("./account-storage-gOL0HE6i.cjs");var a=e.t({available:()=>v,delete:()=>C,get:()=>x,list:()=>S,put:()=>y}),o=new Map(Object.values(n.STORAGE_REFUSALS).map(({code:e,message:t})=>[t,e])),s=new Set(o.values()),c=(e,t)=>Object.assign(Error(t),{code:e}),l=e=>c(n.STORAGE_REFUSALS[e].code,n.STORAGE_REFUSALS[e].message),u=e=>e instanceof Error&&s.has(e.code),d=e=>{if(u(e))return e;let t=e instanceof Error?e.message:``,n=o.get(t);return n?c(n,t):l(`unavailable`)},f=async()=>{if(!t.l)return;let e=(await t.s(`storage`).catch(()=>void 0))?.storage;return typeof e?.put==`function`?e:void 0},p=()=>{throw l(`unavailable`)},m=e=>typeof e==`object`&&!!e&&typeof e.error==`string`&&typeof e.message==`string`,h=(e,t,n)=>{throw e.error===`aborted`?t?.reason??new DOMException(`The operation was aborted.`,`AbortError`):(e.error===`account-changed`&&n&&r.r(n.generation),s.has(e.error)?c(e.error,e.message):l(`unavailable`))},g=async e=>{try{return await i.m(e)}catch(e){throw i.l(e)?l(`accountChanged`):e instanceof Error&&/not connected|not signed in/i.test(e.message)?l(`needsAccount`):l(`unavailable`)}},_=(e,t)=>(e.catch(()=>{}),t?Promise.race([e,new Promise((e,n)=>t.addEventListener(`abort`,()=>n(t.reason),{once:!0}))]):e),v=async()=>{let e=await f();return e?Promise.resolve(e.available()).catch(()=>!1):!1},y=async(e,t={})=>{let n=i.s(),{signal:r,onProgress:a,key:o}=t;r?.throwIfAborted();let s=typeof Blob<`u`&&e instanceof Blob,c=typeof ReadableStream<`u`&&e instanceof ReadableStream;if(!s&&!c)throw l(`notAFile`);let u=s?e.size:t.size;if(typeof u!=`number`||!Number.isSafeInteger(u)||u<0||s&&t.size!==void 0&&t.size!==u)throw l(`badSize`);let d=await f();if(!d)throw l(`unavailable`);let v=await g(n);r?.throwIfAborted();let y=await _(Promise.resolve(d.put(e,{size:u,...o===void 0?{}:{key:o},accountPin:v,...r?{signal:r}:{},...typeof a==`function`?{onProgress:e=>{try{a(e)}catch{}}}:{}})).catch(p),r);return m(y)?h(y,r,n):y},b=(e,t,n)=>{let r=(t,n)=>{if(t===void 0)return n;let r=Math.trunc(Number.isFinite(t)?t:t>0?e:-e);return r<0?Math.max(e+r,0):Math.min(r,e)},i=r(t,0);return{from:i,to:Math.max(i,r(n,e))}},x=async(e,n,r={})=>{if(typeof e!=`string`)throw l(`badUrl`);if(typeof n!=`string`)throw l(`badKey`);let{signal:i}=r;i?.throwIfAborted();let a=async()=>{let r=await f();if(!r)throw l(`unavailable`);let a=t.c()?.epoch,o=await _(Promise.resolve(r.get(e,n,i?{signal:i}:void 0)).catch(p),i);return m(o)?h(o,i):{handle:o,epoch:a}},o=await a(),s=async()=>{let e=t.c()?.epoch;return o.epoch!==void 0&&e!==void 0&&e!==o.epoch&&(o=await a()),o.handle},c=(e,t)=>{let n;return new ReadableStream({pull:async r=>{try{if(!n){let r=await s(),i=await Promise.resolve(r.read(e,t)).catch(p);if(m(i))return h(i);n=i.getReader()}let{value:i,done:a}=await n.read();a?r.close():r.enqueue(i)}catch(e){throw d(e)}},cancel:e=>n?.cancel(e)},{highWaterMark:0})},u=(e,t)=>({size:t-e,stream:()=>c(e,t),arrayBuffer:async()=>{let n=new Uint8Array(t-e),r=c(e,t).getReader(),i=0;for(;;){let{value:e,done:t}=await r.read();if(t)break;n.set(e,i),i+=e.length}return n.buffer},slice:(n,r)=>{let i=b(t-e,n,r);return u(e+i.from,e+i.to)}});return u(0,o.handle.size)},S=async(e={})=>{let t=i.s(),n=await f();if(!n)throw l(`unavailable`);let r=await g(t),{limit:a,cursor:o}=e,s=await Promise.resolve(n.list({accountPin:r,...a===void 0?{}:{limit:a},...o===void 0?{}:{cursor:o}})).catch(p);return m(s)?h(s,void 0,t):s},C=async e=>{let t=i.s();if(typeof e!=`string`)throw l(`badUrl`);let n=await f();if(!n)throw l(`unavailable`);let r=await g(t),a=await Promise.resolve(n.delete(e,{accountPin:r})).catch(p);m(a)&&h(a,void 0,t)};Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return v}});
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as e } from "./rolldown-runtime-CGnMp29N.js";
|
|
2
|
-
import { c as t, l as n, s as r } from "./api-
|
|
2
|
+
import { c as t, l as n, s as r } from "./api-DeGR_tzF.js";
|
|
3
3
|
import { STORAGE_REFUSALS as i } from "./contract.js";
|
|
4
|
-
import { r as a } from "./account-generation-
|
|
5
|
-
import { l as o, m as s, s as c } from "./account-storage-
|
|
4
|
+
import { r as a } from "./account-generation-BElgcQwo.js";
|
|
5
|
+
import { l as o, m as s, s as c } from "./account-storage-C7Lyae5Q.js";
|
|
6
6
|
// src/storage.ts
|
|
7
7
|
var l = /* @__PURE__ */ e({
|
|
8
8
|
available: () => S,
|
package/storage.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./storage-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./storage-CoEDsbk2.cjs");exports.available=e.t,exports.delete=e.a,exports.get=e.n,exports.list=e.r,exports.put=e.i;
|
package/storage.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { It as StoredObject, Lt as StoredPage, Mt as StoragePutOptions, jt as StorageProgress, kt as StorageErrorCode } from "./contract-
|
|
2
|
-
import { a as list, i as get, n as StoredBlob, o as put, r as available, s as remove, t as StorageError } from "./storage-
|
|
1
|
+
import { It as StoredObject, Lt as StoredPage, Mt as StoragePutOptions, jt as StorageProgress, kt as StorageErrorCode } from "./contract-CDdIE_Es.js";
|
|
2
|
+
import { a as list, i as get, n as StoredBlob, o as put, r as available, s as remove, t as StorageError } from "./storage-C38adB-z.js";
|
|
3
3
|
export { StorageError, type StorageErrorCode, type StorageProgress, type StoragePutOptions, StoredBlob, type StoredObject, type StoredPage, available, remove as delete, get, list, put };
|
package/storage.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as available, a as delete, n as get, r as list, i as put } from "./storage-
|
|
1
|
+
export { t as available, a as delete, n as get, r as list, i as put } from "./storage-sCdMPRVY.js";
|
package/api-DrvhPN56.cjs
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const e=require("./broker-frame-CF4-yXtj.cjs");let t=require("osra");var n=1e4,r=16,i=e=>{let t;try{t=e.contentWindow}catch{return!0}if(!t)return!0;try{let e=t.location.href;return e!==``&&e!==`about:blank`}catch{return!0}},a=(e,t=n)=>new Promise(n=>{if(i(e))return n();let a=()=>{clearInterval(o),clearTimeout(s),e.removeEventListener(`load`,a),n()},o=setInterval(()=>{i(e)&&a()},r),s=setTimeout(a,t);e.addEventListener(`load`,a)}),o=5e3,s=9e4,c=(e,t,r)=>{let a=1,c,l=e.ownerDocument.defaultView,u=()=>{clearTimeout(c),l?.removeEventListener(`message`,m),e.removeEventListener(`load`,p)},d=()=>{if(e.isConnected){if(a>=4)return u(),console.error(`FKN @fkn/lib: ${t} did not load in ${a} tries; reload the page`);a+=1,e.contentWindow?.location.replace(t),f(s)}},f=e=>{clearTimeout(c),c=setTimeout(d,e)},p=()=>f(o),m=t=>{t.source===e.contentWindow&&t.origin===r&&u()};if(l?.addEventListener(`message`,m),e.addEventListener(`load`,p),i(e))return f(o);c=setTimeout(()=>i(e)?f(8e4):d(),n)},l=32,u=8,d=120,f=typeof CSS<`u`&&CSS.supports(`clip-path`,`path('M0 0H1V1H0Z')`),p=typeof CSS<`u`&&CSS.supports(`clip-path`,`polygon(nonzero, 0px 0px, 1px 0px, 1px 1px)`),m=`light dark`,h=e=>{let t=e.style;t.setProperty(`display`,`block`,`important`),t.setProperty(`position`,`fixed`,`important`),t.setProperty(`top`,`0`,`important`),t.setProperty(`left`,`0`,`important`),t.setProperty(`width`,`100%`,`important`),t.setProperty(`height`,`100%`,`important`),t.setProperty(`border`,`none`,`important`),t.setProperty(`padding`,`0`,`important`),t.setProperty(`box-sizing`,`border-box`,`important`),t.setProperty(`clip-path`,`inset(100%)`,`important`),t.setProperty(`background`,`transparent`),t.setProperty(`color-scheme`,m),t.setProperty(`z-index`,`2147483647`),e.setAttribute(`title`,`FKN`)},g=({x:e,y:t,width:n,height:r,radius:i})=>{if(!i)return`M${e} ${t}h${n}v${r}h${-n}Z`;let a=Math.min(n,r)/2,[o,s,c,l]=i.map(e=>Math.max(0,Math.min(e,a)));return`M${e+o} ${t}h${n-o-s}a${s} ${s} 0 0 1 ${s} ${s}v${r-s-c}a${c} ${c} 0 0 1 ${-c} ${c}h${-(n-c-l)}a${l} ${l} 0 0 1 ${-l} ${-l}v${-(r-l-o)}a${o} ${o} 0 0 1 ${o} ${-o}Z`},ee=()=>f&&p,_=({x:e,y:t,width:n,height:r})=>[[e,t],[e+n,t],[e+n,t+r],[e,t+r],[e,t]],te=e=>{let t=e[0];if(!t)return[];let n=_(t)[0],r=[];return e.forEach((t,i)=>{r.push(..._(t)),i>0&&i<e.length-1&&r.push(n)}),r},ne=e=>`polygon(nonzero, ${te(e).map(([e,t])=>`${e}px ${t}px`).join(`, `)})`,re=({x:e,y:t,width:n,height:r,radius:i},a)=>{let o=`${t}px ${a.width-e-n}px ${a.height-t-r}px ${e}px`;return i?`inset(${o} round ${i.map(e=>`${e}px`).join(` `)})`:`inset(${o})`},ie=(e,t,n)=>{if(t)return`none`;if(e.length===0)return`inset(100%)`;let r=e.length===1?e[0]:void 0;return r?re(r,n):p&&e.length<=5&&!e.some(e=>e.radius)?ne(e):`path('${e.map(g).join(``)}')`},ae=e=>{if(e.length<2)return null;let t=Math.min(...e.map(e=>e.x)),n=Math.min(...e.map(e=>e.y));return{x:t,y:n,width:Math.max(...e.map(e=>e.x+e.width))-t,height:Math.max(...e.map(e=>e.y+e.height))-n}},oe=(e,t,n)=>t>=e.x&&t<e.x+e.width&&n>=e.y&&n<e.y+e.height,se=16,v=(e,t,n)=>t===1?e*se:t===2?e*n:e,ce=(e,t,n)=>{let r=getComputedStyle(e);return n!==0&&/auto|scroll/.test(r.overflowY)&&e.scrollHeight>e.clientHeight?!0:t!==0&&/auto|scroll/.test(r.overflowX)&&e.scrollWidth>e.clientWidth},le=(e,t,n)=>{for(let r=e;r;r=r.parentElement)if(ce(r,t,n))return r;return document.scrollingElement},y=null,b=null,x=e=>({width:e.offsetWidth||window.innerWidth,height:e.offsetHeight||window.innerHeight}),S=e=>{if(!b||!y||!oe(b,e.clientX,e.clientY))return;let t=document.elementFromPoint(e.clientX,e.clientY);if(!t||t===y)return;let n=v(e.deltaX,e.deltaMode,window.innerWidth),r=v(e.deltaY,e.deltaMode,window.innerHeight),i=le(t,n,r);i&&(i.scrollBy({left:n,top:r,behavior:`instant`}),e.cancelable&&e.preventDefault())},ue=e=>{let t=b!==null;b=e,t!==(e!==null)&&(e?window.addEventListener(`wheel`,S,{capture:!0,passive:!1}):window.removeEventListener(`wheel`,S,{capture:!0}))},C=0,de=e=>{if(e===C)return;C=e;let t=document.documentElement.style;e>0?(t.setProperty(`margin-top`,`${e}px`,`important`),t.setProperty(`--fkn-inset-top`,`${e}px`)):(t.removeProperty(`margin-top`),t.removeProperty(`--fkn-inset-top`))},w=(e,{modal:t,rects:n,inset:r},i)=>{if(de(r),!f){let r=t||n.length>0;e.style.setProperty(`pointer-events`,r?`auto`:`none`,`important`),e.style.setProperty(`visibility`,r?`visible`:`hidden`,`important`);return}let a=ie(n,t,i),o=a===`none`||CSS.supports(`clip-path`,a)?a:`inset(100%)`;e.style.setProperty(`clip-path`,o,`important`),ue(t||o!==a?null:ae(n))},fe=e=>{if(typeof e!=`object`||!e)return 0;let{top:t}=e;return typeof t!=`number`||!Number.isFinite(t)||t<=0?0:Math.min(Math.round(t),d)},pe=e=>{if(Array.isArray(e)&&e.length===4&&e.every(e=>typeof e==`number`&&Number.isFinite(e)&&e>=0))return e.some(e=>e>0)?e:void 0},me=(e,t)=>{if(typeof e!=`object`||!e)return null;let{x:n,y:r,width:i,height:a}=e;if(![n,r,i,a].every(e=>typeof e==`number`&&Number.isFinite(e)))return null;let o=t.width,s=t.height,c=Math.max(0,Math.min(Math.round(n),o)),l=Math.max(0,Math.min(Math.round(r),s)),u=Math.max(c,Math.min(Math.round(n+i),o)),d=Math.max(l,Math.min(Math.round(r+a),s)),f=pe(e.radius);return{x:c,y:l,width:u-c,height:d-l,...f?{radius:f}:{}}},T={"not-rendered":`this page is not painting it at all, so it or an ancestor is display:none, or the frame was moved out of the layout`,clipped:`it is clipped away or positioned outside the viewport`,"not-shown":`it is rendered but would not be seen, so either something is drawn over it, or it or an ancestor has opacity below 1, visibility:hidden, or a filter`},E=e=>Array.isArray(e)?e.slice(0,u).flatMap(e=>{if(typeof e!=`object`||!e)return[];let{kind:t,cause:n,level:r}=e;return typeof t!=`string`||t.length>40||typeof n!=`string`||!(n in T)||r!==`full`&&r!==`liveness`?[]:[{kind:t,cause:n,level:r}]}):[],D=new Set,he=e=>{for(let{kind:t,cause:n,level:r}of e)D.has(t)||(D.add(t),console.error(`[FKN] The FKN ${JSON.stringify(t)} is not visible on this page: ${T[n]}. Nobody using this page can see or answer it.
|
|
2
|
-
@fkn/lib draws its UI inside <iframe title="FKN"> and sets display, position, top, left, width, height, border, padding, box-sizing, clip-path and z-index on that element. Leave those as they are, then check for an ancestor with opacity, visibility, display or a clipping transform, and for an element stacked above it.`+(r===`liveness`?`
|
|
3
|
-
This browser reports limited detail, so the cause above is a best guess.`:``)))},O=(e,t)=>{if(typeof e!=`object`||!e)return null;let n=e,r=(Array.isArray(n.rects)?n.rects.slice(0,l):[]).map(e=>me(e,t)).filter(e=>e!==null&&e.width>0&&e.height>0);return{modal:n.modal===!0,rects:r,hidden:E(n.hidden),inset:fe(n.inset)}},ge=()=>y!==null,k=null,A=null,_e=()=>{if(!y||k===null)return;let e=x(y),t=O(k,e);t&&w(y,t,e)},ve=e=>{typeof ResizeObserver<`u`&&(A??=new ResizeObserver(_e),A.disconnect(),A.observe(e))},ye=e=>{h(e),w(e,{modal:!1,rects:[],hidden:[],inset:0},x(e)),y=e,ve(e)},be=e=>{if(!y)return;let t=x(y),n=O(e,t);n&&(k=e,w(y,n,t),he(n.hidden))},j=`https://fkn.app`,M=typeof globalThis<`u`&&globalThis.document?globalThis.document:void 0,N=typeof globalThis<`u`&&globalThis.crossOriginIsolated===!0,P=e.n(N),xe=`fkn-api-port`,Se=`fkn-api-port-ack`,Ce=2e3,F=()=>{if(!M||typeof window>`u`||window.parent===window)return Promise.resolve(void 0);let e;try{e=window.parent}catch{return Promise.resolve(void 0)}let t=new MessageChannel;return new Promise(n=>{let r=e=>{if(clearTimeout(a),t.port1.removeEventListener(`message`,i),!e)try{t.port1.close()}catch{}n(e)},i=e=>{e.data?.type===Se&&r(t.port1)},a=setTimeout(()=>r(void 0),Ce);t.port1.addEventListener(`message`,i),t.port1.start();try{e.postMessage({type:xe},j,[t.port2])}catch{r(void 0)}})},I,we=()=>{if(I||!M)return I;let t=M.querySelector(`iframe[src="${P}"]`);if(t)I=t;else{let t=M.createElement(`iframe`);t.setAttribute(`allow`,e.i(N)),t.src=P,M.body.appendChild(t),I=t}return c(I,P,j),ye(I),I},L=(async()=>{if(!M)return;let e=await F();if(e)return{receive:e,emit:e};let t=we();if(!t)return;await a(t);let n=t.contentWindow;return n?{receive:window,emit:n}:void 0})(),Te=(e,{boundRetired:t=e=>e}={})=>{let n,r=0,i=!1,a=()=>{},o=()=>new Promise(e=>{a=e}),s=o(),c=s,l=new Set,u=new Set,d=0,f=0,p=()=>{let e=[...u];u.clear();let t=Error(`FKN: the broker was replaced while this call was pending; retry it`);for(let n of e)try{n(t)}catch{}};(async()=>{for await(let t of e){let e=++r;n={remote:t,epoch:e};let i=a;s=o(),i(t),p();for(let n of[...l])try{n(t,e)}catch{}}})().catch(()=>{});let m=async(e,r)=>{let a=n?.remote??await(i?t(s):s);for(let t of e.slice(0,-1))a=a[t];let o=a[e[e.length-1]??``];d=Date.now(),f+=1;let c=()=>{},l=new Promise((e,t)=>{c=t});u.add(c);try{return await Promise.race([Promise.resolve(o.apply(a,r)),l])}finally{--f,u.delete(c),d=Date.now()}},h=new Map,g=e=>{let t=e.join(`\0`),r=h.get(t);if(r)return r;let i=new Proxy(function(){},{get:(t,r)=>{if(typeof r!=`string`||r===`then`)return;let i=n;if(i){let t=i.remote;for(let n of e)t=t?.[n];if(t?.[r]===void 0)return}return g([...e,r])},apply:(t,n,r)=>m(e,r)});return h.set(t,i),i};return{facade:g([]),first:c.then(()=>{}),current:()=>n,onEpoch:e=>{if(l.add(e),n)try{e(n.remote,n.epoch)}catch{}return()=>{l.delete(e)}},lastCall:()=>d,inFlight:()=>f,routable:()=>n?Promise.resolve():s.then(()=>{}),retire:()=>{i=!0,n=void 0,p()}}},R=!1,z=new Set,B=()=>R,Ee=()=>{if(!R){R=!0;for(let e of[...z])try{e()}catch{}z.clear()}},V=e=>{R?e():z.add(e)},De=typeof window<`u`||typeof self<`u`,H=async()=>{if(typeof window<`u`)return L;if(typeof self<`u`)return{receive:self,emit:self}},U=`fkn-api`,Oe=`fkn-api-window`,ke={async*[Symbol.asyncIterator](){let e=await H();if(!e)await new Promise(()=>{});else{if(!B()){let n=new AbortController;V(()=>n.abort());for await(let r of(0,t.expose)({},{key:U,transport:e,unregisterSignal:n.signal})){if(n.signal.aborted)break;yield r}}yield*(0,t.expose)({},{key:Oe,transport:e})}}},W=!1,G=H().then(e=>new Promise(n=>{if(!e)return;let{receive:r}=e,i=e=>{(0,t.checkOsraMessageKey)(e.data,U)&&(r.removeEventListener(`message`,i),W=!0,n())};r.addEventListener(`message`,i)})),K=Te(ke,{boundRetired:e=>Promise.race([e,G.then(()=>Q(e,()=>new Z))])});V(()=>K.retire());var q=Promise.race([K.first,new Promise(e=>V(e))]).then(()=>K.facade),J=8e3,Ae=1e3,Y=!1,X=class extends Error{constructor(e,t){super(`@fkn/lib: no broker connection within ${t}ms, so ${e} could not be requested`),this.name=`BrokerUnreachableError`}},Z=class extends Error{constructor(){super(`FKN @fkn/lib: this page relays its FKN channel to a worker, and the FKN page it reached predates a channel of the page's own; reload`),this.name=`OwnChannelUnavailableError`}},Q=(e,t)=>{let n=Y?Ae:J;return Promise.race([e,new Promise((e,r)=>setTimeout(()=>{Y=!0,r(t(n))},n))])},je=e=>B()?Q(K.routable().then(()=>K.facade),t=>W?new Z:new X(e,t)):Q(q,t=>new X(e,t));V(()=>{G.then(()=>{let e=setTimeout(()=>console.error(new Z),J);K.routable().then(()=>clearTimeout(e))})});var $=K.onEpoch,Me=K.current,Ne=K.lastCall,Pe=K.inFlight;$(e=>{ge()&&e.overlay.setHost(be,{exactClips:ee(),colorScheme:m}).catch(()=>{})}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return Ne}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return Me}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return Ee}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return Pe}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return De}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return je}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return $}});
|