@scayle/storefront-devtools 0.2.0-alpha.1 → 0.2.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +113 -83
  3. package/dist/_chunks/coalesce-cmmfn4qq.mjs +1585 -0
  4. package/dist/group.d.ts +29 -21
  5. package/dist/group.d.ts.map +1 -1
  6. package/dist/index.d.ts +4 -1
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.mjs +40 -65
  9. package/dist/inertia/channel.d.ts +54 -0
  10. package/dist/inertia/channel.d.ts.map +1 -0
  11. package/dist/inertia/client/index.d.ts +1 -6
  12. package/dist/inertia/client/index.d.ts.map +1 -1
  13. package/dist/inertia/client/index.mjs +246 -109
  14. package/dist/inertia/client/publish.d.ts +24 -0
  15. package/dist/inertia/client/publish.d.ts.map +1 -0
  16. package/dist/inertia/core/network.d.ts +1 -1
  17. package/dist/inertia/core/network.d.ts.map +1 -1
  18. package/dist/inertia/core/response.d.ts +3 -3
  19. package/dist/inertia/core/response.d.ts.map +1 -1
  20. package/dist/inertia/plugin.d.ts +8 -6
  21. package/dist/inertia/plugin.d.ts.map +1 -1
  22. package/dist/orpc/channel.d.ts +29 -0
  23. package/dist/orpc/channel.d.ts.map +1 -0
  24. package/dist/orpc/client/index.d.ts +1 -6
  25. package/dist/orpc/client/index.d.ts.map +1 -1
  26. package/dist/orpc/client/index.mjs +152 -137
  27. package/dist/orpc/client/publish.d.ts +15 -0
  28. package/dist/orpc/client/publish.d.ts.map +1 -0
  29. package/dist/orpc/core/serialize.d.ts +1 -1
  30. package/dist/orpc/core/stats.d.ts +10 -0
  31. package/dist/orpc/core/stats.d.ts.map +1 -0
  32. package/dist/orpc/core/store.d.ts +1 -2
  33. package/dist/orpc/core/store.d.ts.map +1 -1
  34. package/dist/orpc/plugin.d.ts +8 -5
  35. package/dist/orpc/plugin.d.ts.map +1 -1
  36. package/dist/shared/clipboard.d.ts +2 -3
  37. package/dist/shared/clipboard.d.ts.map +1 -1
  38. package/dist/shared/coalesce.d.ts +14 -0
  39. package/dist/shared/coalesce.d.ts.map +1 -0
  40. package/dist/shared/panel-channel.d.ts +49 -0
  41. package/dist/shared/panel-channel.d.ts.map +1 -0
  42. package/dist/shared/publish-options.d.ts +13 -0
  43. package/dist/shared/publish-options.d.ts.map +1 -0
  44. package/dist/shared/safe-clone.d.ts +2 -1
  45. package/dist/shared/safe-clone.d.ts.map +1 -1
  46. package/dist/storefront/plugin.d.ts +6 -4
  47. package/dist/storefront/plugin.d.ts.map +1 -1
  48. package/dist/ui/assets/App-BlEKD1MK.js +4 -0
  49. package/dist/ui/assets/App-C1rr07m5.js +1 -0
  50. package/dist/ui/assets/App-C5-JscO0.css +1 -0
  51. package/dist/ui/assets/App-M0iU7c4p.css +1 -0
  52. package/dist/ui/assets/App-VElUrn9P.js +5 -0
  53. package/dist/ui/assets/App-jiQKInbo.css +1 -0
  54. package/dist/ui/assets/_plugin-vue_export-helper-BDNMzG2s.js +1 -0
  55. package/dist/ui/assets/channel-D7V7aU79.js +1 -0
  56. package/dist/ui/assets/clipboard-BnEeWyfh.css +1 -0
  57. package/dist/ui/assets/clipboard-n-T06WI3.js +1 -0
  58. package/dist/ui/assets/panel-channel-DjMENemf.js +2 -0
  59. package/dist/ui/assets/panels-B4LTsmli.css +1 -0
  60. package/dist/ui/assets/panels-BLV_p6Kz.js +2 -0
  61. package/dist/ui/assets/preload-helper-J6bGWMBq.js +2 -0
  62. package/dist/{vue-devtools/ui/assets/index-Dby9TIQH.js → ui/assets/vue-BAMMushd.js} +19 -20
  63. package/dist/{vue-devtools/ui/assets/index-sSkqWPzY.css → ui/assets/vue-Kq4tvBbL.css} +1 -1
  64. package/dist/ui/panels/index.html +15 -0
  65. package/dist/{vue-devtools/ui → ui/vue}/index.html +4 -2
  66. package/dist/vue-devtools/client/index.mjs +0 -1
  67. package/dist/vue-devtools/plugin.d.ts +10 -9
  68. package/dist/vue-devtools/plugin.d.ts.map +1 -1
  69. package/package.json +11 -29
  70. package/dist/_chunks/clipboard-DrVHc2QA.mjs +0 -61
  71. package/dist/_chunks/diff-DzJ5arJj.mjs +0 -169
  72. package/dist/_chunks/panel-uV5ITqhY.mjs +0 -51
  73. package/dist/_chunks/redact-DmIF-iyk.mjs +0 -96
  74. package/dist/_chunks/useStore-Db8RZW8T.mjs +0 -10
  75. package/dist/inertia/client/index.d.mts +0 -13
  76. package/dist/inertia/renderer/index.d.mts +0 -16
  77. package/dist/inertia/renderer/index.mjs +0 -771
  78. package/dist/orpc/client/index.d.mts +0 -13
  79. package/dist/orpc/renderer/index.d.mts +0 -16
  80. package/dist/orpc/renderer/index.mjs +0 -457
  81. package/dist/resource-center/client/index.mjs +0 -21
  82. package/dist/resource-center/client.d.ts +0 -3
  83. package/dist/resource-center/client.d.ts.map +0 -1
  84. package/dist/resource-center/plugin.d.ts +0 -12
  85. package/dist/resource-center/plugin.d.ts.map +0 -1
  86. package/dist/shared/use-window-store.d.ts +0 -18
  87. package/dist/shared/use-window-store.d.ts.map +0 -1
  88. package/dist/storefront/renderer/index.d.mts +0 -16
  89. package/dist/storefront/renderer/index.mjs +0 -124
  90. /package/dist/{vue-devtools/ui → ui}/assets/css-8QJvnqUH.js +0 -0
  91. /package/dist/{vue-devtools/ui → ui}/assets/css-CaJ9TzKE.js +0 -0
  92. /package/dist/{vue-devtools/ui → ui}/assets/diff-woXpYk--.js +0 -0
  93. /package/dist/{vue-devtools/ui → ui}/assets/html-BHDw6EPc.js +0 -0
  94. /package/dist/{vue-devtools/ui → ui}/assets/html-GueGcY0x.js +0 -0
  95. /package/dist/{vue-devtools/ui → ui}/assets/javascript-BzbQS41l.js +0 -0
  96. /package/dist/{vue-devtools/ui → ui}/assets/javascript-Yelw-5ZN.js +0 -0
  97. /package/dist/{vue-devtools/ui → ui}/assets/json-B88Oqtu5.js +0 -0
  98. /package/dist/{vue-devtools/ui → ui}/assets/json-CaljABEy.js +0 -0
  99. /package/dist/{vue-devtools/ui → ui}/assets/shellscript-CLZ0U2zV.js +0 -0
  100. /package/dist/{vue-devtools/ui → ui}/assets/typescript-Utq2Cl8c.js +0 -0
  101. /package/dist/{vue-devtools/ui → ui}/assets/typescript-j_1H8WHN.js +0 -0
  102. /package/dist/{vue-devtools/ui → ui}/assets/vitesse-dark-BZCL-v6S.js +0 -0
  103. /package/dist/{vue-devtools/ui → ui}/assets/vitesse-light-VbXTXTou.js +0 -0
  104. /package/dist/{vue-devtools/ui → ui}/assets/vue-B1Tf5CHw.js +0 -0
  105. /package/dist/{vue-devtools/ui → ui}/assets/vue-html-CGMs_6qn.js +0 -0
  106. /package/dist/{vue-devtools/ui → ui}/assets/yaml-rwi0_p6S.js +0 -0
@@ -0,0 +1,1585 @@
1
+ function e(e) {
2
+ return {
3
+ save(t) {
4
+ if (typeof sessionStorage < "u") try {
5
+ sessionStorage.setItem(e, JSON.stringify(t));
6
+ } catch {}
7
+ },
8
+ load() {
9
+ if (typeof sessionStorage > "u") return null;
10
+ try {
11
+ let t = sessionStorage.getItem(e);
12
+ if (!t) return null;
13
+ let n = JSON.parse(t);
14
+ return Date.now() - n.savedAt > 3e5 ? (sessionStorage.removeItem(e), null) : n;
15
+ } catch {
16
+ return null;
17
+ }
18
+ },
19
+ clear() {
20
+ typeof sessionStorage < "u" && sessionStorage.removeItem(e);
21
+ }
22
+ };
23
+ }
24
+ var t = /* @__PURE__ */ new Set(["cancelToken", "signal"]);
25
+ function n(e) {
26
+ if (e instanceof Date) return e.toISOString();
27
+ if (e instanceof URL || e instanceof RegExp) return e.toString();
28
+ if (e instanceof Error) return {
29
+ message: e.message,
30
+ name: e.name,
31
+ stack: e.stack
32
+ };
33
+ }
34
+ function r(e, n, r, a) {
35
+ if (Array.isArray(e)) return e.map((e) => i(e, a, n - 1, r));
36
+ if (e instanceof Set) return Array.from(e, (e) => i(e, a, n - 1, r));
37
+ if (e instanceof Map) {
38
+ let t = {};
39
+ for (let [o, s] of e) t[String(o)] = i(s, a, n - 1, r);
40
+ return t;
41
+ }
42
+ try {
43
+ let o = {};
44
+ for (let [s, c] of Object.entries(e)) typeof c == "function" || t.has(s) || (o[s] = a.redactKey?.(s) ? "[redacted]" : i(c, a, n - 1, r));
45
+ return o;
46
+ } catch {
47
+ return String(e);
48
+ }
49
+ }
50
+ function i(e, t = {}, i = 10, a = /* @__PURE__ */ new Set()) {
51
+ if (typeof e == "function") return;
52
+ if (typeof e == "symbol") return e.toString();
53
+ if (typeof e != "object" || !e) return e;
54
+ if (i <= 0) return "[too deep]";
55
+ if (a.has(e)) return "[circular]";
56
+ let o = n(e);
57
+ if (o !== void 0) return o;
58
+ a.add(e);
59
+ try {
60
+ return r(e, i, a, t);
61
+ } finally {
62
+ a.delete(e);
63
+ }
64
+ }
65
+ function a(e) {
66
+ if (e == null) return {};
67
+ if (typeof e != "object") return { value: e };
68
+ try {
69
+ let t = {};
70
+ for (let [n, r] of Object.entries(e)) t[n] = i(r);
71
+ return t;
72
+ } catch {
73
+ return {};
74
+ }
75
+ }
76
+ //#endregion
77
+ //#region src/shared/redact.ts
78
+ var o = /password|passphrase|secret|token|credential|authorization|apikey|api_key/i, s = { "auth.exchangeAuthCode": /* @__PURE__ */ new Set(["code"]) }, c = /* @__PURE__ */ new Set([
79
+ "authorization",
80
+ "cookie",
81
+ "proxy-authorization",
82
+ "x-api-key",
83
+ "x-auth-token"
84
+ ]);
85
+ function l(e) {
86
+ return o.test(e);
87
+ }
88
+ function u(e) {
89
+ let t = s[e];
90
+ return (e) => l(e) || (t?.has(e) ?? !1);
91
+ }
92
+ function d(e) {
93
+ let t = {};
94
+ for (let [n, r] of Object.entries(e)) c.has(n) || l(n) || (t[n] = r);
95
+ return t;
96
+ }
97
+ //#endregion
98
+ //#region ../../../node_modules/.pnpm/devframe@1.1.0_@devframes+agentic@1.0.0_cac@7.0.0_srvx@1.0.5/node_modules/devframe/dist/utils/colors.mjs
99
+ function f(e, t) {
100
+ let n = `\x1B[${e}m`, r = `\x1B[${t}m`;
101
+ return ((e, ...t) => {
102
+ if (Array.isArray(e) && "raw" in e) {
103
+ let i = e, a = "";
104
+ for (let e = 0; e < i.length; e++) a += i[e], e < t.length && (a += String(t[e]));
105
+ return `${n}${a}${r}`;
106
+ }
107
+ return `${n}${String(e)}${r}`;
108
+ });
109
+ }
110
+ var p = {
111
+ blue: f(34, 39),
112
+ cyan: f(36, 39),
113
+ gray: f(90, 39),
114
+ green: f(32, 39),
115
+ red: f(31, 39),
116
+ yellow: f(33, 39),
117
+ bold: f(1, 22),
118
+ dim: f(2, 22),
119
+ reset: f(0, 0),
120
+ underline: f(4, 24)
121
+ };
122
+ //#endregion
123
+ //#region ../../../node_modules/.pnpm/nostics@1.3.0/node_modules/nostics/dist/index.mjs
124
+ function m(e, ...t) {
125
+ return typeof e == "function" ? e(...t) : e;
126
+ }
127
+ var h = Error.captureStackTrace, g = class e extends Error {
128
+ name;
129
+ code;
130
+ docs;
131
+ fix;
132
+ sources;
133
+ data;
134
+ get why() {
135
+ return this.message;
136
+ }
137
+ constructor(t, n = e) {
138
+ super(t.why, { cause: t.cause }), this.code = this.name = t.code, this.fix = t.fix, this.docs = t.docs, this.sources = t.sources, this.data = t.data, h?.(this, n);
139
+ }
140
+ toJSON() {
141
+ return {
142
+ name: this.name,
143
+ why: this.why,
144
+ fix: this.fix,
145
+ docs: this.docs,
146
+ sources: this.sources,
147
+ cause: this.cause,
148
+ data: this.data,
149
+ stack: this.stack
150
+ };
151
+ }
152
+ };
153
+ function _(e, t) {
154
+ return typeof e == "string" ? `${e}/${t.toLowerCase()}` : e?.(t);
155
+ }
156
+ /* @__NO_SIDE_EFFECTS__ */
157
+ function v(e) {
158
+ let t = e.reporters ?? [], n = {}, { docsBase: r } = e;
159
+ for (let i of Object.keys(e.codes)) {
160
+ let a = e.codes[i], o = a.docs === !1 ? void 0 : a.docs || _(r, i), s = (e = {}, n = {}) => {
161
+ let r = new g({
162
+ code: i,
163
+ why: m(a.why, e),
164
+ fix: m(a.fix, e),
165
+ docs: o,
166
+ cause: e.cause,
167
+ sources: e.sources,
168
+ data: m(a.data, e)
169
+ }, s);
170
+ for (let e of t) e(r, n);
171
+ return r;
172
+ };
173
+ n[i] = s;
174
+ }
175
+ return n;
176
+ }
177
+ //#endregion
178
+ //#region ../../../node_modules/.pnpm/nostics@1.3.0/node_modules/nostics/dist/formatters/ansi.mjs
179
+ /* @__NO_SIDE_EFFECTS__ */
180
+ function y(e) {
181
+ return (t) => {
182
+ let n = `${e.bold(e.red(`[${t.name}]`))} ${t.message}`, r = [];
183
+ return t.fix && r.push(`${e.dim("fix:")} ${t.fix}`), t.sources?.length && r.push(`${e.dim("sources:")} ${t.sources.join(", ")}`), t.docs && r.push(`${e.dim("see:")} ${e.cyan(t.docs)}`), r.length === 0 ? n : [n, ...r.map((t, n) => `${e.dim(n < r.length - 1 ? "├▶" : "╰▶")} ${t}`)].join("\n");
184
+ };
185
+ }
186
+ //#endregion
187
+ //#region ../../../node_modules/.pnpm/devframe@1.1.0_@devframes+agentic@1.0.0_cac@7.0.0_srvx@1.0.5/node_modules/devframe/dist/tool-input-BAQXvvqL.mjs
188
+ var b = {
189
+ bus: {
190
+ agentManifestChanged: "agent:manifest:changed",
191
+ agentToolRegistered: "agent:tool:registered",
192
+ agentToolUnregistered: "agent:tool:unregistered",
193
+ agentResourceRegistered: "agent:resource:registered",
194
+ agentResourceUnregistered: "agent:resource:unregistered"
195
+ },
196
+ client: {
197
+ isTrustedUpdated: "rpc:is-trusted:updated",
198
+ error: "rpc:error",
199
+ connectionStatus: "connection:status",
200
+ connectionError: "connection:error"
201
+ },
202
+ broadcast: {
203
+ authRevoked: "devframe:auth:revoked",
204
+ clientStateUpdated: "devframe:rpc:client-state:updated",
205
+ clientStatePatch: "devframe:rpc:client-state:patch",
206
+ streamingChunk: "devframe:streaming:chunk",
207
+ streamingEnd: "devframe:streaming:end",
208
+ streamingUploadCancel: "devframe:streaming:upload-cancel"
209
+ },
210
+ inPageChannel: {
211
+ panelStateUpdated: "devframe:in-page:panel-state:updated",
212
+ panelStatePatch: "devframe:in-page:panel-state:patch"
213
+ },
214
+ postMessage: {
215
+ remoteAssetsError: "devframe:remote-assets-error",
216
+ inPageChannel: "devframe:in-page-channel"
217
+ }
218
+ }, ee = /* @__PURE__ */ y(p);
219
+ function te(e, { method: t = "warn" } = {}) {
220
+ console[t](ee(e));
221
+ }
222
+ function ne(e) {
223
+ return /* @__PURE__ */ v({
224
+ ...e,
225
+ reporters: [te, ...e.reporters ?? []]
226
+ });
227
+ }
228
+ function re() {
229
+ let e, t;
230
+ return {
231
+ promise: new Promise((n, r) => {
232
+ e = n, t = r;
233
+ }),
234
+ resolve: e,
235
+ reject: t
236
+ };
237
+ }
238
+ var ie = Math.random.bind(Math), ae = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
239
+ function oe(e = 21) {
240
+ let t = "", n = e;
241
+ for (; n--;) t += ae[ie() * 64 | 0];
242
+ return t;
243
+ }
244
+ var se = 6e4, ce = (e) => e, le = ce, { clearTimeout: ue, setTimeout: de } = globalThis;
245
+ function fe(e, t) {
246
+ let { post: n, on: r, off: i = () => {}, eventNames: a = [], serialize: o = ce, deserialize: s = le, resolver: c, bind: l = "rpc", timeout: u = se, proxify: d = !0 } = t, f = !1, p = /* @__PURE__ */ new Map(), m, h;
247
+ async function g(e, r, i, a) {
248
+ if (f) throw Error(`[birpc] rpc is closed, cannot call "${e}"`);
249
+ let s = {
250
+ m: e,
251
+ a: r,
252
+ t: "q"
253
+ };
254
+ a && (s.o = !0);
255
+ let c = async (e) => n(o(e));
256
+ if (i) {
257
+ await c(s);
258
+ return;
259
+ }
260
+ if (m) try {
261
+ await m;
262
+ } finally {
263
+ m = void 0;
264
+ }
265
+ let { promise: l, resolve: d, reject: g } = re(), _ = oe();
266
+ s.i = _;
267
+ let v;
268
+ async function y(n = s) {
269
+ return u >= 0 && (v = de(() => {
270
+ try {
271
+ if (t.onTimeoutError?.call(h, e, r) !== !0) throw Error(`[birpc] timeout on calling "${e}"`);
272
+ } catch (e) {
273
+ g(e);
274
+ }
275
+ p.delete(_);
276
+ }, u), typeof v == "object" && (v = v.unref?.())), p.set(_, {
277
+ resolve: d,
278
+ reject: g,
279
+ timeoutId: v,
280
+ method: e
281
+ }), await c(n), l;
282
+ }
283
+ try {
284
+ t.onRequest ? await t.onRequest.call(h, s, y, d) : await y();
285
+ } catch (e) {
286
+ if (t.onGeneralError?.call(h, e) !== !0) throw e;
287
+ return;
288
+ } finally {
289
+ ue(v), p.delete(_);
290
+ }
291
+ return l;
292
+ }
293
+ let _ = {
294
+ $call: (e, ...t) => g(e, t, !1),
295
+ $callOptional: (e, ...t) => g(e, t, !1, !0),
296
+ $callEvent: (e, ...t) => g(e, t, !0),
297
+ $callRaw: (e) => g(e.method, e.args, e.event, e.optional),
298
+ $rejectPendingCalls: y,
299
+ get $closed() {
300
+ return f;
301
+ },
302
+ get $meta() {
303
+ return t.meta;
304
+ },
305
+ $close: v,
306
+ $functions: e
307
+ };
308
+ h = d ? new Proxy({}, { get(t, n) {
309
+ if (Object.hasOwn(_, n)) return _[n];
310
+ if (n === "then" && !a.includes("then") && !("then" in e)) return;
311
+ let r = (...e) => g(n, e, !0);
312
+ if (a.includes(n)) return r.asEvent = r, r;
313
+ let i = (...e) => g(n, e, !1);
314
+ return i.asEvent = r, i;
315
+ } }) : _;
316
+ function v(e) {
317
+ f = !0, p.forEach(({ reject: t, method: n }) => {
318
+ let r = /* @__PURE__ */ Error(`[birpc] rpc is closed, cannot call "${n}"`);
319
+ if (e) return e.cause ??= r, t(e);
320
+ t(r);
321
+ }), p.clear(), i(b);
322
+ }
323
+ function y(e) {
324
+ let t = Array.from(p.values()).map(({ method: t, reject: n }) => e ? e({
325
+ method: t,
326
+ reject: n
327
+ }) : n(/* @__PURE__ */ Error(`[birpc]: rejected pending call "${t}".`)));
328
+ return p.clear(), t;
329
+ }
330
+ async function b(r, ...i) {
331
+ let a;
332
+ try {
333
+ a = s(r);
334
+ } catch (e) {
335
+ if (t.onGeneralError?.call(h, e) !== !0) throw e;
336
+ return;
337
+ }
338
+ if (a.t === "q") {
339
+ let { m: r, a: s, o: u } = a, d, f, p = await (c ? c.call(h, r, e[r]) : e[r]);
340
+ if (u && (p ||= () => void 0), !p) f = /* @__PURE__ */ Error(`[birpc] function "${r}" not found`);
341
+ else try {
342
+ d = await p.apply(l === "rpc" ? h : e, s);
343
+ } catch (e) {
344
+ f = e;
345
+ }
346
+ if (a.i) {
347
+ if (f && t.onFunctionError && t.onFunctionError.call(h, f, r, s) === !0) return;
348
+ if (!f) try {
349
+ await n(o({
350
+ t: "s",
351
+ i: a.i,
352
+ r: d
353
+ }), ...i);
354
+ return;
355
+ } catch (e) {
356
+ if (f = e, t.onGeneralError?.call(h, e, r, s) !== !0) throw e;
357
+ }
358
+ try {
359
+ await n(o({
360
+ t: "s",
361
+ i: a.i,
362
+ e: f
363
+ }), ...i);
364
+ } catch (e) {
365
+ if (t.onGeneralError?.call(h, e, r, s) !== !0) throw e;
366
+ }
367
+ }
368
+ } else {
369
+ let { i: e, r: t, e: n } = a, r = p.get(e);
370
+ r && (ue(r.timeoutId), n ? r.reject(n) : r.resolve(t)), p.delete(e);
371
+ }
372
+ }
373
+ return m = r(b), h;
374
+ }
375
+ function pe(e, t) {
376
+ return t.safety ? t.safety : e === "static" || e === "query" || e == null ? "read" : "action";
377
+ }
378
+ var me = Object.freeze({
379
+ type: "object",
380
+ additionalProperties: !0
381
+ });
382
+ function he(e) {
383
+ let t = e["~standard"];
384
+ if (t.jsonSchema) try {
385
+ return t.jsonSchema.input({ target: "draft-2020-12" });
386
+ } catch {
387
+ return me;
388
+ }
389
+ return me;
390
+ }
391
+ function ge(e) {
392
+ if (!e || e.length === 0) return {
393
+ type: "object",
394
+ properties: {}
395
+ };
396
+ let t = {}, n = [];
397
+ for (let r = 0; r < e.length; r++) {
398
+ let i = `arg${r}`;
399
+ t[i] = he(e[r]), n.push(i);
400
+ }
401
+ return {
402
+ type: "object",
403
+ properties: t,
404
+ required: n,
405
+ additionalProperties: !1
406
+ };
407
+ }
408
+ function _e(e, t) {
409
+ if (Array.isArray(e)) return e;
410
+ if (e == null) return [];
411
+ if (typeof e != "object") return;
412
+ let n = e;
413
+ if (t != null) return Array.from({ length: t }, (e, t) => n[`arg${t}`]);
414
+ if ("arg0" in n) {
415
+ let e = [];
416
+ for (; `arg${e.length}` in n;) e.push(n[`arg${e.length}`]);
417
+ return e;
418
+ }
419
+ return Object.keys(n).length === 0 ? [] : void 0;
420
+ }
421
+ function ve(e, t) {
422
+ return _e(e, t) ?? [e];
423
+ }
424
+ //#endregion
425
+ //#region ../../../node_modules/.pnpm/devframe@1.1.0_@devframes+agentic@1.0.0_cac@7.0.0_srvx@1.0.5/node_modules/devframe/dist/utils/events.mjs
426
+ function ye() {
427
+ let e = {};
428
+ function t(t, ...n) {
429
+ let r = e[t] || [];
430
+ for (let e = 0, t = r.length; e < t; e++) {
431
+ let t = r[e];
432
+ t && t(...n);
433
+ }
434
+ }
435
+ function n(n, ...r) {
436
+ t(n, ...r), delete e[n];
437
+ }
438
+ function r(t, n) {
439
+ return (e[t] ||= []).push(n), () => {
440
+ e[t] = e[t]?.filter((e) => n !== e);
441
+ };
442
+ }
443
+ function i(e, t) {
444
+ let n = r(e, ((...e) => (n(), t(...e))));
445
+ return n;
446
+ }
447
+ return {
448
+ _listeners: e,
449
+ emit: t,
450
+ emitOnce: n,
451
+ on: r,
452
+ once: i
453
+ };
454
+ }
455
+ //#endregion
456
+ //#region ../../../node_modules/.pnpm/devframe@1.1.0_@devframes+agentic@1.0.0_cac@7.0.0_srvx@1.0.5/node_modules/devframe/dist/utils/nanoid.mjs
457
+ var be = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
458
+ function x(e = 21) {
459
+ let t = "", n = e;
460
+ for (; n--;) t += be[Math.random() * 64 | 0];
461
+ return t;
462
+ }
463
+ //#endregion
464
+ //#region ../../../node_modules/.pnpm/devframe@1.1.0_@devframes+agentic@1.0.0_cac@7.0.0_srvx@1.0.5/node_modules/devframe/dist/shared-state-eQVYHNqA.mjs
465
+ var xe = Symbol.for("immer-nothing"), S = Symbol.for("immer-draftable"), C = Symbol.for("immer-state"), Se = [
466
+ function(e) {
467
+ return `The plugin for '${e}' has not been loaded into Immer. To enable the plugin, import and call \`enable${e}()\` when initializing your application.`;
468
+ },
469
+ function(e) {
470
+ return `produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${e}'`;
471
+ },
472
+ "This object has been frozen and should not be mutated",
473
+ function(e) {
474
+ return "Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? " + e;
475
+ },
476
+ "An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.",
477
+ "Immer forbids circular references",
478
+ "The first or second argument to `produce` must be a function",
479
+ "The third argument to `produce` must be a function or undefined",
480
+ "First argument to `createDraft` must be a plain object, an array, or an immerable object",
481
+ "First argument to `finishDraft` must be a draft returned by `createDraft`",
482
+ function(e) {
483
+ return `'current' expects a draft, got: ${e}`;
484
+ },
485
+ "Object.defineProperty() cannot be used on an Immer draft",
486
+ "Object.setPrototypeOf() cannot be used on an Immer draft",
487
+ "Immer only supports deleting array indices",
488
+ "Immer only supports setting array indices and the 'length' property",
489
+ function(e) {
490
+ return `'original' expects a draft, got: ${e}`;
491
+ }
492
+ ];
493
+ function w(e, ...t) {
494
+ {
495
+ let n = Se[e], r = U(n) ? n.apply(null, t) : n;
496
+ throw Error(`[Immer] ${r}`);
497
+ }
498
+ }
499
+ var T = Object, E = T.getPrototypeOf, D = "constructor", O = "prototype", Ce = "configurable", k = "enumerable", A = "writable", j = "value", M = (e) => !!e && !!e[C];
500
+ function N(e) {
501
+ return e ? Ee(e) || z(e) || !!e[S] || !!e[D]?.[S] || B(e) || V(e) : !1;
502
+ }
503
+ var we = T[O][D].toString(), Te = /* @__PURE__ */ new WeakMap();
504
+ function Ee(e) {
505
+ if (!e || !H(e)) return !1;
506
+ let t = E(e);
507
+ if (t === null || t === T[O]) return !0;
508
+ let n = T.hasOwnProperty.call(t, D) && t[D];
509
+ if (n === Object) return !0;
510
+ if (!U(n)) return !1;
511
+ let r = Te.get(n);
512
+ return r === void 0 && (r = Function.toString.call(n), Te.set(n, r)), r === we;
513
+ }
514
+ function P(e, t, n = !0) {
515
+ F(e) === 0 ? (n ? Reflect.ownKeys(e) : T.keys(e)).forEach((n) => {
516
+ t(n, e[n], e);
517
+ }) : e.forEach((n, r) => t(r, n, e));
518
+ }
519
+ function F(e) {
520
+ let t = e[C];
521
+ return t ? t.type_ : z(e) ? 1 : B(e) ? 2 : V(e) ? 3 : 0;
522
+ }
523
+ var I = (e, t, n = F(e)) => n === 2 ? e.has(t) : T[O].hasOwnProperty.call(e, t), L = (e, t, n = F(e)) => n === 2 ? e.get(t) : e[t], R = (e, t, n, r = F(e)) => {
524
+ r === 2 ? e.set(t, n) : r === 3 ? e.add(n) : e[t] = n;
525
+ };
526
+ function De(e, t) {
527
+ return e === t ? e !== 0 || 1 / e == 1 / t : e !== e && t !== t;
528
+ }
529
+ var z = Array.isArray, B = (e) => e instanceof Map, V = (e) => e instanceof Set, H = (e) => typeof e == "object", U = (e) => typeof e == "function", Oe = (e) => typeof e == "boolean";
530
+ function ke(e) {
531
+ let t = +e;
532
+ return Number.isInteger(t) && String(t) === e;
533
+ }
534
+ var Ae = (e) => H(e) ? e?.[C] : null, W = (e) => e.copy_ || e.base_, je = (e) => e.modified_ ? e.copy_ : e.base_;
535
+ function Me(e, t) {
536
+ if (B(e)) return new Map(e);
537
+ if (V(e)) return new Set(e);
538
+ if (z(e)) return Array[O].slice.call(e);
539
+ let n = Ee(e);
540
+ if (t === !0 || t === "class_only" && !n) {
541
+ let t = T.getOwnPropertyDescriptors(e);
542
+ delete t[C];
543
+ let n = Reflect.ownKeys(t);
544
+ for (let r = 0; r < n.length; r++) {
545
+ let i = n[r], a = t[i];
546
+ a[A] === !1 && (a[A] = !0, a[Ce] = !0), (a.get || a.set) && (t[i] = {
547
+ [Ce]: !0,
548
+ [A]: !0,
549
+ [k]: a[k],
550
+ [j]: e[i]
551
+ });
552
+ }
553
+ return T.create(E(e), t);
554
+ }
555
+ {
556
+ let t = E(e);
557
+ if (t !== null && n) return { ...e };
558
+ let r = T.create(t);
559
+ return T.assign(r, e);
560
+ }
561
+ }
562
+ function Ne(e, t = !1) {
563
+ return Fe(e) || M(e) || !N(e) ? e : (F(e) > 1 && T.defineProperties(e, {
564
+ set: G,
565
+ add: G,
566
+ clear: G,
567
+ delete: G
568
+ }), T.freeze(e), t && P(e, (e, t) => {
569
+ Ne(t, !0);
570
+ }, !1), e);
571
+ }
572
+ function Pe() {
573
+ w(2);
574
+ }
575
+ var G = { [j]: Pe };
576
+ function Fe(e) {
577
+ return e === null || !H(e) || T.isFrozen(e);
578
+ }
579
+ var Ie = "MapSet", Le = "Patches", Re = "ArrayMethods", ze = {};
580
+ function K(e) {
581
+ let t = ze[e];
582
+ return t || w(0, e), t;
583
+ }
584
+ var Be = (e) => !!ze[e];
585
+ function Ve(e, t) {
586
+ ze[e] || (ze[e] = t);
587
+ }
588
+ var q, He = () => q, Ue = (e, t) => ({
589
+ drafts_: [],
590
+ parent_: e,
591
+ immer_: t,
592
+ canAutoFreeze_: !0,
593
+ unfinalizedDrafts_: 0,
594
+ handledSet_: /* @__PURE__ */ new Set(),
595
+ processedForPatches_: /* @__PURE__ */ new Set(),
596
+ mapSetPlugin_: Be(Ie) ? K(Ie) : void 0,
597
+ arrayMethodsPlugin_: Be(Re) ? K(Re) : void 0
598
+ });
599
+ function We(e, t) {
600
+ t && (e.patchPlugin_ = K(Le), e.patches_ = [], e.inversePatches_ = [], e.patchListener_ = t);
601
+ }
602
+ function Ge(e) {
603
+ Ke(e), e.drafts_.forEach(Je), e.drafts_ = null;
604
+ }
605
+ function Ke(e) {
606
+ e === q && (q = e.parent_);
607
+ }
608
+ var qe = (e) => q = Ue(q, e);
609
+ function Je(e) {
610
+ let t = e[C];
611
+ t.type_ === 0 || t.type_ === 1 ? t.revoke_() : t.revoked_ = !0;
612
+ }
613
+ function Ye(e, t) {
614
+ t.unfinalizedDrafts_ = t.drafts_.length;
615
+ let n = t.drafts_[0];
616
+ if (e !== void 0 && e !== n) {
617
+ n[C].modified_ && (Ge(t), w(4)), N(e) && (e = Xe(t, e));
618
+ let { patchPlugin_: r } = t;
619
+ r && r.generateReplacementPatches_(n[C].base_, e, t);
620
+ } else e = Xe(t, n);
621
+ return Ze(t, e, !0), Ge(t), t.patches_ && t.patchListener_(t.patches_, t.inversePatches_), e === xe ? void 0 : e;
622
+ }
623
+ function Xe(e, t) {
624
+ if (Fe(t)) return t;
625
+ let n = t[C];
626
+ if (!n) return Y(t, e.handledSet_, e);
627
+ if (!J(n, e)) return t;
628
+ if (!n.modified_) return n.base_;
629
+ if (!n.finalized_) {
630
+ let { callbacks_: t } = n;
631
+ if (t) for (; t.length > 0;) t.pop()(e);
632
+ nt(n, e);
633
+ }
634
+ return n.copy_;
635
+ }
636
+ function Ze(e, t, n = !1) {
637
+ !e.parent_ && e.immer_.autoFreeze_ && e.canAutoFreeze_ && Ne(t, n);
638
+ }
639
+ function Qe(e) {
640
+ e.finalized_ = !0, e.scope_.unfinalizedDrafts_--;
641
+ }
642
+ var J = (e, t) => e.scope_ === t, $e = [];
643
+ function et(e, t, n, r) {
644
+ let i = W(e), a = e.type_;
645
+ if (r !== void 0 && L(i, r, a) === t) {
646
+ R(i, r, n, a);
647
+ return;
648
+ }
649
+ if (!e.draftLocations_) {
650
+ let t = e.draftLocations_ = /* @__PURE__ */ new Map();
651
+ P(i, (e, n) => {
652
+ if (M(n)) {
653
+ let r = t.get(n) || [];
654
+ r.push(e), t.set(n, r);
655
+ }
656
+ });
657
+ }
658
+ let o = e.draftLocations_.get(t) ?? $e;
659
+ for (let e of o) R(i, e, n, a);
660
+ }
661
+ function tt(e, t, n) {
662
+ e.callbacks_.push(function(r) {
663
+ let i = t;
664
+ if (!i || !J(i, r)) return;
665
+ r.mapSetPlugin_?.fixSetContents(i);
666
+ let a = je(i);
667
+ et(e, i.draft_ ?? i, a, n), nt(i, r);
668
+ });
669
+ }
670
+ function nt(e, t) {
671
+ if (e.modified_ && !e.finalized_ && (e.type_ === 3 || e.type_ === 1 && e.allIndicesReassigned_ || (e.assigned_?.size ?? 0) > 0)) {
672
+ let { patchPlugin_: n } = t;
673
+ if (n) {
674
+ let r = n.getPath(e);
675
+ r && n.generatePatches_(e, r, t);
676
+ }
677
+ Qe(e);
678
+ }
679
+ }
680
+ function rt(e, t, n) {
681
+ let { scope_: r } = e;
682
+ if (M(n)) {
683
+ let i = n[C];
684
+ J(i, r) && i.callbacks_.push(function() {
685
+ dt(e), et(e, n, je(i), t);
686
+ });
687
+ } else N(n) && e.callbacks_.push(function() {
688
+ let i = W(e);
689
+ e.type_ === 3 ? i.has(n) && Y(n, r.handledSet_, r) : L(i, t, e.type_) === n && r.drafts_.length > 1 && (e.assigned_.get(t) ?? !1) === !0 && e.copy_ && Y(L(e.copy_, t, e.type_), r.handledSet_, r);
690
+ });
691
+ }
692
+ function Y(e, t, n) {
693
+ return !n.immer_.autoFreeze_ && n.unfinalizedDrafts_ < 1 || M(e) || t.has(e) || !N(e) || Fe(e) ? e : (t.add(e), P(e, (r, i) => {
694
+ if (M(i)) {
695
+ let t = i[C];
696
+ J(t, n) && (R(e, r, je(t), e.type_), Qe(t));
697
+ } else N(i) && Y(i, t, n);
698
+ }), e);
699
+ }
700
+ function it(e, t) {
701
+ let n = z(e), r = {
702
+ type_: +!!n,
703
+ scope_: t ? t.scope_ : He(),
704
+ modified_: !1,
705
+ finalized_: !1,
706
+ assigned_: void 0,
707
+ parent_: t,
708
+ base_: e,
709
+ draft_: null,
710
+ copy_: null,
711
+ revoke_: null,
712
+ isManual_: !1,
713
+ callbacks_: void 0
714
+ }, i = r, a = at;
715
+ n && (i = [r], a = X);
716
+ let { revoke: o, proxy: s } = Proxy.revocable(i, a);
717
+ return r.draft_ = s, r.revoke_ = o, [s, r];
718
+ }
719
+ var at = {
720
+ get(e, t) {
721
+ if (t === C) return e;
722
+ let n = e.scope_.arrayMethodsPlugin_, r = e.type_ === 1 && typeof t == "string";
723
+ if (r && n?.isArrayOperationMethod(t)) return n.createMethodInterceptor(e, t);
724
+ let i = W(e);
725
+ if (!I(i, t, e.type_)) return ct(e, i, t);
726
+ let a = i[t];
727
+ if (e.finalized_ || !N(a) || r && e.operationMethod && n?.isMutatingArrayMethod(e.operationMethod) && ke(t)) return a;
728
+ if (a === ot(e.base_, t) || st(e, t, a)) {
729
+ dt(e);
730
+ let n = e.type_ === 1 ? +t : t, r = pt(e.scope_, a, e, n);
731
+ return e.copy_[n] = r;
732
+ }
733
+ return a;
734
+ },
735
+ has(e, t) {
736
+ return t in W(e);
737
+ },
738
+ ownKeys(e) {
739
+ return Reflect.ownKeys(W(e));
740
+ },
741
+ set(e, t, n) {
742
+ let r = lt(W(e), t);
743
+ if (r?.set) return r.set.call(e.draft_, n), !0;
744
+ if (!e.modified_) {
745
+ let r = ot(W(e), t), i = r?.[C];
746
+ if (i && i.base_ === n) return e.copy_[t] = n, e.assigned_.set(t, !1), !0;
747
+ if (De(n, r) && (n !== void 0 || I(e.base_, t, e.type_))) return !0;
748
+ dt(e), ut(e);
749
+ }
750
+ return e.copy_[t] === n && (n !== void 0 || I(e.copy_, t, e.type_)) || Number.isNaN(n) && Number.isNaN(e.copy_[t]) ? !0 : (e.copy_[t] = n, e.assigned_.set(t, !0), rt(e, t, n), !0);
751
+ },
752
+ deleteProperty(e, t) {
753
+ return dt(e), ot(e.base_, t) !== void 0 || t in e.base_ ? (e.assigned_.set(t, !1), ut(e)) : e.assigned_.delete(t), e.copy_ && delete e.copy_[t], !0;
754
+ },
755
+ getOwnPropertyDescriptor(e, t) {
756
+ let n = W(e), r = Reflect.getOwnPropertyDescriptor(n, t);
757
+ return r && {
758
+ [A]: !0,
759
+ [Ce]: e.type_ !== 1 || t !== "length",
760
+ [k]: r[k],
761
+ [j]: n[t]
762
+ };
763
+ },
764
+ defineProperty() {
765
+ w(11);
766
+ },
767
+ getPrototypeOf(e) {
768
+ return E(e.base_);
769
+ },
770
+ setPrototypeOf() {
771
+ w(12);
772
+ }
773
+ }, X = {};
774
+ for (let e in at) {
775
+ let t = at[e];
776
+ X[e] = function() {
777
+ let e = arguments;
778
+ return e[0] = e[0][0], t.apply(this, e);
779
+ };
780
+ }
781
+ X.deleteProperty = function(e, t) {
782
+ return isNaN(parseInt(t)) && w(13), X.set.call(this, e, t, void 0);
783
+ }, X.set = function(e, t, n) {
784
+ return t !== "length" && isNaN(parseInt(t)) && w(14), at.set.call(this, e[0], t, n, e[0]);
785
+ };
786
+ function ot(e, t) {
787
+ let n = e[C];
788
+ return (n ? W(n) : e)[t];
789
+ }
790
+ function st(e, t, n) {
791
+ return e.type_ !== 1 || !e.allIndicesReassigned_ || e.assigned_?.get(t) || !N(n) || n[C] ? !1 : e.baseRefs_.has(n);
792
+ }
793
+ function ct(e, t, n) {
794
+ let r = lt(t, n);
795
+ return r ? j in r ? r[j] : r.get?.call(e.draft_) : void 0;
796
+ }
797
+ function lt(e, t) {
798
+ if (!(t in e)) return;
799
+ let n = E(e);
800
+ for (; n;) {
801
+ let e = Object.getOwnPropertyDescriptor(n, t);
802
+ if (e) return e;
803
+ n = E(n);
804
+ }
805
+ }
806
+ function ut(e) {
807
+ e.modified_ || (e.modified_ = !0, e.parent_ && ut(e.parent_));
808
+ }
809
+ function dt(e) {
810
+ e.copy_ ||= (e.assigned_ = /* @__PURE__ */ new Map(), Me(e.base_, e.scope_.immer_.useStrictShallowCopy_));
811
+ }
812
+ var ft = class {
813
+ constructor(e) {
814
+ this.autoFreeze_ = !0, this.useStrictShallowCopy_ = !1, this.useStrictIteration_ = !1, this.produce = (e, t, n) => {
815
+ if (U(e) && !U(t)) {
816
+ let n = t;
817
+ t = e;
818
+ let r = this;
819
+ return function(e = n, ...i) {
820
+ return r.produce(e, (e) => t.call(this, e, ...i));
821
+ };
822
+ }
823
+ U(t) || w(6), n !== void 0 && !U(n) && w(7);
824
+ let r;
825
+ if (N(e)) {
826
+ let i = qe(this), a = pt(i, e, void 0), o = !0;
827
+ try {
828
+ r = t(a), o = !1;
829
+ } finally {
830
+ o ? Ge(i) : Ke(i);
831
+ }
832
+ return We(i, n), Ye(r, i);
833
+ }
834
+ if (!e || !H(e)) {
835
+ if (r = t(e), r === void 0 && (r = e), r === xe && (r = void 0), this.autoFreeze_ && Ne(r, !0), n) {
836
+ let t = [], i = [];
837
+ K(Le).generateReplacementPatches_(e, r, {
838
+ patches_: t,
839
+ inversePatches_: i
840
+ }), n(t, i);
841
+ }
842
+ return r;
843
+ }
844
+ w(1, e);
845
+ }, this.produceWithPatches = (e, t) => {
846
+ if (U(e)) return (t, ...n) => this.produceWithPatches(t, (t) => e(t, ...n));
847
+ let n, r;
848
+ return [
849
+ this.produce(e, t, (e, t) => {
850
+ n = e, r = t;
851
+ }),
852
+ n,
853
+ r
854
+ ];
855
+ }, Oe(e?.autoFreeze) && this.setAutoFreeze(e.autoFreeze), Oe(e?.useStrictShallowCopy) && this.setUseStrictShallowCopy(e.useStrictShallowCopy), Oe(e?.useStrictIteration) && this.setUseStrictIteration(e.useStrictIteration);
856
+ }
857
+ createDraft(e) {
858
+ N(e) || w(8), M(e) && (e = mt(e));
859
+ let t = qe(this), n = pt(t, e, void 0);
860
+ return n[C].isManual_ = !0, Ke(t), n;
861
+ }
862
+ finishDraft(e, t) {
863
+ let n = e && e[C];
864
+ (!n || !n.isManual_) && w(9);
865
+ let { scope_: r } = n;
866
+ return We(r, t), Ye(void 0, r);
867
+ }
868
+ setAutoFreeze(e) {
869
+ this.autoFreeze_ = e;
870
+ }
871
+ setUseStrictShallowCopy(e) {
872
+ this.useStrictShallowCopy_ = e;
873
+ }
874
+ setUseStrictIteration(e) {
875
+ this.useStrictIteration_ = e;
876
+ }
877
+ shouldUseStrictIteration() {
878
+ return this.useStrictIteration_;
879
+ }
880
+ applyPatches(e, t) {
881
+ let n;
882
+ for (n = t.length - 1; n >= 0; n--) {
883
+ let r = t[n];
884
+ if (r.path.length === 0 && r.op === "replace") {
885
+ e = r.value;
886
+ break;
887
+ }
888
+ }
889
+ n > -1 && (t = t.slice(n + 1));
890
+ let r = K(Le).applyPatches_;
891
+ return M(e) ? r(e, t) : this.produce(e, (e) => r(e, t));
892
+ }
893
+ };
894
+ function pt(e, t, n, r) {
895
+ let [i, a] = B(t) ? K(Ie).proxyMap_(t, n) : V(t) ? K(Ie).proxySet_(t, n) : it(t, n);
896
+ return (n?.scope_ ?? He()).drafts_.push(i), a.callbacks_ = n?.callbacks_ ?? [], a.key_ = r, n && r !== void 0 ? tt(n, a, r) : a.callbacks_.push(function(e) {
897
+ e.mapSetPlugin_?.fixSetContents(a);
898
+ let { patchPlugin_: t } = e;
899
+ a.modified_ && t && t.generatePatches_(a, [], e);
900
+ }), i;
901
+ }
902
+ function mt(e) {
903
+ return M(e) || w(10, e), ht(e);
904
+ }
905
+ function ht(e) {
906
+ if (!N(e) || Fe(e)) return e;
907
+ let t = e[C], n, r = !0;
908
+ if (t) {
909
+ if (!t.modified_) return t.base_;
910
+ t.finalized_ = !0, n = Me(e, t.scope_.immer_.useStrictShallowCopy_), r = t.scope_.immer_.shouldUseStrictIteration();
911
+ } else n = Me(e, !0);
912
+ return P(n, (e, t) => {
913
+ R(n, e, ht(t));
914
+ }, r), t && (t.finalized_ = !1), n;
915
+ }
916
+ function gt() {
917
+ Se.push("Sets cannot have \"replace\" patches.", function(e) {
918
+ return "Unsupported patch operation: " + e;
919
+ }, function(e) {
920
+ return "Cannot apply patch, path doesn't resolve: " + e;
921
+ }, "Patching reserved attributes like __proto__, prototype and constructor is not allowed");
922
+ function e(n, r = []) {
923
+ if (n.key_ !== void 0) {
924
+ let e = n.parent_.copy_ ?? n.parent_.base_, t = Ae(L(e, n.key_)), i = L(e, n.key_);
925
+ if (i === void 0 || i !== n.draft_ && i !== n.base_ && i !== n.copy_ || t != null && t.base_ !== n.base_) return null;
926
+ let a = n.parent_.type_ === 3, o;
927
+ if (a) {
928
+ let e = n.parent_;
929
+ o = Array.from(e.drafts_.keys()).indexOf(n.key_);
930
+ } else o = n.key_;
931
+ if (!(a && e.size > o || I(e, o))) return null;
932
+ r.push(o);
933
+ }
934
+ if (n.parent_) return e(n.parent_, r);
935
+ r.reverse();
936
+ try {
937
+ t(n.copy_, r);
938
+ } catch {
939
+ return null;
940
+ }
941
+ return r;
942
+ }
943
+ function t(e, t) {
944
+ let n = e;
945
+ for (let e = 0; e < t.length - 1; e++) {
946
+ let r = t[e];
947
+ if (n = L(n, r), !H(n) || n === null) throw Error(`Cannot resolve path at '${t.join("/")}'`);
948
+ }
949
+ return n;
950
+ }
951
+ let n = "replace", r = "remove";
952
+ function i(e, t, n) {
953
+ if (e.scope_.processedForPatches_.has(e)) return;
954
+ e.scope_.processedForPatches_.add(e);
955
+ let { patches_: r, inversePatches_: i } = n;
956
+ switch (e.type_) {
957
+ case 0:
958
+ case 2: return o(e, t, r, i);
959
+ case 1: return a(e, t, r, i);
960
+ case 3: return s(e, t, r, i);
961
+ }
962
+ }
963
+ function a(e, t, i, a) {
964
+ let { base_: o, assigned_: s } = e, c = e.copy_;
965
+ c.length < o.length && ([o, c] = [c, o], [i, a] = [a, i]);
966
+ let l = e.allIndicesReassigned_ === !0;
967
+ for (let e = 0; e < o.length; e++) {
968
+ let r = c[e], u = o[e];
969
+ if ((l || s?.get(e.toString())) && r !== u) {
970
+ let o = r?.[C];
971
+ if (o && o.modified_) continue;
972
+ let s = t.concat([e]);
973
+ i.push({
974
+ op: n,
975
+ path: s,
976
+ value: d(r)
977
+ }), a.push({
978
+ op: n,
979
+ path: s,
980
+ value: d(u)
981
+ });
982
+ }
983
+ }
984
+ for (let e = o.length; e < c.length; e++) {
985
+ let n = t.concat([e]);
986
+ i.push({
987
+ op: "add",
988
+ path: n,
989
+ value: d(c[e])
990
+ });
991
+ }
992
+ for (let e = c.length - 1; o.length <= e; --e) {
993
+ let n = t.concat([e]);
994
+ a.push({
995
+ op: r,
996
+ path: n
997
+ });
998
+ }
999
+ }
1000
+ function o(e, t, i, a) {
1001
+ let { base_: o, copy_: s, type_: c } = e;
1002
+ P(e.assigned_, (e, l) => {
1003
+ let u = L(o, e, c), f = L(s, e, c), p = l ? I(o, e) ? n : "add" : r;
1004
+ if (u === f && p === n) return;
1005
+ let m = t.concat(e);
1006
+ i.push(p === r ? {
1007
+ op: p,
1008
+ path: m
1009
+ } : {
1010
+ op: p,
1011
+ path: m,
1012
+ value: d(f)
1013
+ }), a.push(p === "add" ? {
1014
+ op: r,
1015
+ path: m
1016
+ } : p === r ? {
1017
+ op: "add",
1018
+ path: m,
1019
+ value: d(u)
1020
+ } : {
1021
+ op: n,
1022
+ path: m,
1023
+ value: d(u)
1024
+ });
1025
+ });
1026
+ }
1027
+ function s(e, t, n, i) {
1028
+ let { base_: a, copy_: o } = e, s = 0;
1029
+ a.forEach((e) => {
1030
+ if (!o.has(e)) {
1031
+ let a = t.concat([s]);
1032
+ n.push({
1033
+ op: r,
1034
+ path: a,
1035
+ value: e
1036
+ }), i.unshift({
1037
+ op: "add",
1038
+ path: a,
1039
+ value: e
1040
+ });
1041
+ }
1042
+ s++;
1043
+ }), s = 0, o.forEach((e) => {
1044
+ if (!a.has(e)) {
1045
+ let a = t.concat([s]);
1046
+ n.push({
1047
+ op: "add",
1048
+ path: a,
1049
+ value: e
1050
+ }), i.unshift({
1051
+ op: r,
1052
+ path: a,
1053
+ value: e
1054
+ });
1055
+ }
1056
+ s++;
1057
+ });
1058
+ }
1059
+ function c(e, t, r) {
1060
+ let { patches_: i, inversePatches_: a } = r;
1061
+ i.push({
1062
+ op: n,
1063
+ path: [],
1064
+ value: t === xe ? void 0 : t
1065
+ }), a.push({
1066
+ op: n,
1067
+ path: [],
1068
+ value: e
1069
+ });
1070
+ }
1071
+ function l(e, t) {
1072
+ return t.forEach((t) => {
1073
+ let { path: i, op: a } = t, o = e;
1074
+ for (let e = 0; e < i.length - 1; e++) {
1075
+ let t = F(o), n = i[e];
1076
+ typeof n != "string" && typeof n != "number" && (n = "" + n), (t === 0 || t === 1) && (n === "__proto__" || n === D) && w(19), U(o) && n === O && w(19), o = L(o, n), (o === null || !H(o)) && w(18, i.join("/"));
1077
+ }
1078
+ let s = F(o), c = u(t.value), l = i[i.length - 1];
1079
+ switch (a) {
1080
+ case n: switch (s) {
1081
+ case 2: return o.set(l, c);
1082
+ case 3: w(16);
1083
+ default: return o[l] = c;
1084
+ }
1085
+ case "add": switch (s) {
1086
+ case 1: return l === "-" ? o.push(c) : o.splice(l, 0, c);
1087
+ case 2: return o.set(l, c);
1088
+ case 3: return o.add(c);
1089
+ default: return o[l] = c;
1090
+ }
1091
+ case r: switch (s) {
1092
+ case 1: return o.splice(l, 1);
1093
+ case 2: return o.delete(l);
1094
+ case 3: return o.delete(t.value);
1095
+ default: return delete o[l];
1096
+ }
1097
+ default: w(17, a);
1098
+ }
1099
+ }), e;
1100
+ }
1101
+ function u(e) {
1102
+ if (!N(e)) return e;
1103
+ if (z(e)) return e.map(u);
1104
+ if (B(e)) return new Map(Array.from(e.entries()).map(([e, t]) => [e, u(t)]));
1105
+ if (V(e)) return new Set(Array.from(e).map(u));
1106
+ let t = Object.create(E(e));
1107
+ for (let n in e) t[n] = u(e[n]);
1108
+ return I(e, S) && (t[S] = e[S]), t;
1109
+ }
1110
+ function d(e) {
1111
+ return M(e) ? u(e) : e;
1112
+ }
1113
+ Ve(Le, {
1114
+ applyPatches_: l,
1115
+ generatePatches_: i,
1116
+ generateReplacementPatches_: c,
1117
+ getPath: e
1118
+ });
1119
+ }
1120
+ globalThis.Iterator?.from;
1121
+ var Z = new ft(), _t = Z.produce, vt = /* @__PURE__ */ Z.produceWithPatches.bind(Z), yt = /* @__PURE__ */ Z.applyPatches.bind(Z), bt = 1e3;
1122
+ function xt(e, t) {
1123
+ if (e.add(t), e.size > bt) {
1124
+ let t = e.values().next().value;
1125
+ t !== void 0 && e.delete(t);
1126
+ }
1127
+ }
1128
+ function St(e) {
1129
+ let { enablePatches: t = !1 } = e;
1130
+ t && gt();
1131
+ let n = ye(), r = e.initialValue, i = /* @__PURE__ */ new Set();
1132
+ return {
1133
+ on: n.on,
1134
+ value: () => r,
1135
+ patch: (e, t = x()) => {
1136
+ i.has(t) || (gt(), r = yt(r, e), xt(i, t), n.emit("updated", r, void 0, t));
1137
+ },
1138
+ mutate: (e, a = x()) => {
1139
+ if (!i.has(a)) {
1140
+ if (xt(i, a), t) {
1141
+ let [t, i] = vt(r, e);
1142
+ if (t === r) return;
1143
+ r = t, n.emit("updated", r, i, a);
1144
+ } else {
1145
+ let t = _t(r, e);
1146
+ if (t === r) return;
1147
+ r = t, n.emit("updated", r, void 0, a);
1148
+ }
1149
+ }
1150
+ },
1151
+ syncIds: i
1152
+ };
1153
+ }
1154
+ //#endregion
1155
+ //#region ../../../node_modules/.pnpm/devframe@1.1.0_@devframes+agentic@1.0.0_cac@7.0.0_srvx@1.0.5/node_modules/devframe/dist/browser-agent-Pu-FLk6I.mjs
1156
+ var Ct = Symbol.for("devframe:browser-agent-registry"), { tools: wt, listeners: Tt } = globalThis[Ct] ??= {
1157
+ tools: /* @__PURE__ */ new Map(),
1158
+ listeners: /* @__PURE__ */ new Set()
1159
+ };
1160
+ function Et() {
1161
+ for (let e of Tt) e();
1162
+ }
1163
+ function Dt(e) {
1164
+ let t = Symbol(e.id);
1165
+ return wt.set(t, e), Et(), () => {
1166
+ wt.delete(t) && Et();
1167
+ };
1168
+ }
1169
+ //#endregion
1170
+ //#region ../../../node_modules/.pnpm/devframe@1.1.0_@devframes+agentic@1.0.0_cac@7.0.0_srvx@1.0.5/node_modules/devframe/dist/in-page-channel/index.mjs
1171
+ var Ot = /* #__PURE__ */ ne({
1172
+ docsBase: "https://devfra.me/errors",
1173
+ codes: {
1174
+ DF0077: {
1175
+ why: (e) => `In-page channel function "${e.name}" is not registered on this endpoint.`,
1176
+ fix: "Declare the function in this endpoint's `functions` option."
1177
+ },
1178
+ DF0080: {
1179
+ why: (e) => `In-page channel function "${e.name}" has \`agent\` set but \`jsonSerializable\` is \`false\`; MCP requires JSON-serializable data.`,
1180
+ fix: "Remove `jsonSerializable: false`, or remove `agent` to keep it channel-only."
1181
+ }
1182
+ }
1183
+ }), kt = b.postMessage.inPageChannel;
1184
+ function At(e) {
1185
+ return !!e && typeof e == "object" && "__dfIpc" in e;
1186
+ }
1187
+ function jt(e) {
1188
+ if (!e || typeof e != "object") return !1;
1189
+ let t = e;
1190
+ return t.channel === kt && typeof t.name == "string" && typeof t.panelId == "string" && (t.kind === "hello" || t.kind === "grant");
1191
+ }
1192
+ var Mt = "devframe:in-page-channel:instance", Nt;
1193
+ function Pt(e) {
1194
+ try {
1195
+ let t = e?.sessionStorage;
1196
+ if (t) {
1197
+ let e = t.getItem(Mt);
1198
+ return e || (e = x(), t.setItem(Mt, e)), e;
1199
+ }
1200
+ } catch {}
1201
+ return Nt ??= x(), Nt;
1202
+ }
1203
+ function Ft(e, t) {
1204
+ if (e?.length) return e;
1205
+ let n = t?.location?.origin;
1206
+ return n && n !== "null" ? [n] : ["*"];
1207
+ }
1208
+ var It = {
1209
+ intervalMs: 5e3,
1210
+ timeoutMs: 12e3
1211
+ };
1212
+ function Lt(e) {
1213
+ return e === !1 ? void 0 : {
1214
+ ...It,
1215
+ ...e
1216
+ };
1217
+ }
1218
+ var Q = class extends Error {
1219
+ code;
1220
+ name = "InPageChannelError";
1221
+ constructor(e, t, n) {
1222
+ super(t, n), this.code = e;
1223
+ }
1224
+ }, Rt = /* @__PURE__ */ new Set();
1225
+ function zt(e) {
1226
+ Rt.has(e) || (Rt.add(e), console.warn(`[devframe] ${e}`));
1227
+ }
1228
+ function Bt(e, t, n) {
1229
+ for (let r = 0; r < e.length; r++) {
1230
+ let i = Ht(e[r], `${t}[${r}]`, n);
1231
+ if (i) return i;
1232
+ }
1233
+ }
1234
+ function Vt(e, t, n) {
1235
+ let r = Object.getPrototypeOf(e);
1236
+ if (r !== Object.prototype && r !== null) return `${t} is an instance of ${e.constructor?.name ?? "an exotic class"}`;
1237
+ for (let [r, i] of Object.entries(e)) {
1238
+ let e = Ht(i, `${t}.${r}`, n);
1239
+ if (e) return e;
1240
+ }
1241
+ }
1242
+ function Ht(e, t, n) {
1243
+ if (e !== null && typeof e != "boolean" && typeof e != "string") return typeof e == "number" ? Number.isFinite(e) ? void 0 : `${t} is ${e}` : typeof e == "object" ? n.has(e) ? `${t} is circular` : (n.add(e), Array.isArray(e) ? Bt(e, t, n) : Vt(e, t, n)) : `${t} is ${e === void 0 ? "`undefined`" : `a ${typeof e}`}`;
1244
+ }
1245
+ function Ut(e, t, n) {
1246
+ let r = Ht(e, t, /* @__PURE__ */ new Set());
1247
+ if (r) throw new Q("not-serializable", `in-page function "${n}" is declared jsonSerializable, but ${r}`);
1248
+ }
1249
+ function Wt(e) {
1250
+ return e.map((e) => {
1251
+ let t = e.path?.map((e) => typeof e == "object" ? e.key : e).join(".");
1252
+ return t ? `${t}: ${e.message}` : e.message;
1253
+ }).join("; ");
1254
+ }
1255
+ async function Gt(e, t, n) {
1256
+ for (let r = 0; r < t.length; r++) {
1257
+ let i = t[r];
1258
+ if (!i) continue;
1259
+ let a = await i["~standard"].validate(n[r]);
1260
+ if (a.issues) throw new Q("invalid-args", `in-page function "${e}" rejected argument ${r}: ${Wt(a.issues)}`);
1261
+ }
1262
+ }
1263
+ function Kt(e, t) {
1264
+ return e.serialize ? t.map(e.serialize) : t;
1265
+ }
1266
+ function qt(e, t) {
1267
+ return e.deserialize && t !== void 0 ? e.deserialize(t) : t;
1268
+ }
1269
+ function $(e, t) {
1270
+ return `devframe:in-page:${e === "event" ? "event" : "function"}:${t}`;
1271
+ }
1272
+ var Jt = $("function", "");
1273
+ function Yt(e) {
1274
+ let t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
1275
+ return {
1276
+ definitions: t,
1277
+ register(e) {
1278
+ if ("agent" in e && e.agent) {
1279
+ if (e.jsonSerializable === !1) throw Ot.DF0080({ name: e.name });
1280
+ e.jsonSerializable = !0;
1281
+ }
1282
+ t.set($(e.type, e.name), e);
1283
+ },
1284
+ registerInternal(e, n) {
1285
+ t.set(e, {
1286
+ name: e,
1287
+ handler: n
1288
+ });
1289
+ },
1290
+ on(e, t) {
1291
+ let r = $("event", e), i = n.get(r);
1292
+ return i || (i = /* @__PURE__ */ new Set(), n.set(r, i)), i.add(t), () => {
1293
+ i.delete(t), i.size === 0 && n.delete(r);
1294
+ };
1295
+ },
1296
+ resolve(r) {
1297
+ let i = t.get(r), a = n.get(r);
1298
+ if (i || a?.size) return async (...t) => {
1299
+ let a = e.deserialize ? t.map(e.deserialize) : t;
1300
+ i?.jsonSerializable && Ut(a, "its arguments", i.name), i?.args?.length && await Gt(i.name, i.args, a);
1301
+ let o = await i?.handler?.(...a);
1302
+ for (let e of [...n.get(r) ?? []]) e(...a);
1303
+ if (i?.type !== "event") return i?.jsonSerializable && o !== void 0 && Ut(o, "its return value", i.name), e.serialize && o !== void 0 ? e.serialize(o) : o;
1304
+ };
1305
+ }
1306
+ };
1307
+ }
1308
+ function Xt(e, t) {
1309
+ for (let n of t) {
1310
+ let t = n(e);
1311
+ if (t) return t;
1312
+ }
1313
+ if (e.startsWith(Jt)) return () => {
1314
+ throw Ot.DF0077({ name: e.slice(Jt.length) });
1315
+ };
1316
+ }
1317
+ function Zt(e, t) {
1318
+ let n = [];
1319
+ for (let r of t.definitions.values()) {
1320
+ if (r.type === "event" || !("agent" in r) || !r.agent) continue;
1321
+ let i = r.agent;
1322
+ n.push(Dt({
1323
+ id: `${e}:${r.name}`,
1324
+ title: i.title ?? r.name,
1325
+ description: i.description,
1326
+ safety: pe(r.type, i),
1327
+ tags: i.tags,
1328
+ inputSchema: ge(r.args),
1329
+ invoke: (e) => {
1330
+ let n = ve(e, r.args?.length);
1331
+ return t.resolve($(r.type, r.name))(...n);
1332
+ }
1333
+ }));
1334
+ }
1335
+ return () => n.forEach((e) => e());
1336
+ }
1337
+ function Qt(e) {
1338
+ return e instanceof DOMException && e.name === "DataCloneError" ? new Q("not-cloneable", `a payload could not be structured-cloned across the in-page channel: ${e.message}. Strip non-cloneable values (functions, DOM nodes, framework reactivity proxies) before sending: declare the function \`jsonSerializable: true\` for a precise error, or provide a \`serialize\` hook.`, { cause: e }) : e;
1339
+ }
1340
+ function $t(e, t) {
1341
+ let n, r = !1, i = {
1342
+ rpc: fe({}, {
1343
+ post: (t) => {
1344
+ try {
1345
+ e.postMessage(t);
1346
+ } catch (e) {
1347
+ throw Qt(e);
1348
+ }
1349
+ },
1350
+ on: (e) => {
1351
+ n = e;
1352
+ },
1353
+ off: () => {
1354
+ n = void 0;
1355
+ },
1356
+ timeout: -1,
1357
+ proxify: !1,
1358
+ resolver: (e, n) => n ?? t.resolveLocal(e)
1359
+ }),
1360
+ lastActivity: Date.now(),
1361
+ postControl(t) {
1362
+ try {
1363
+ e.postMessage({ __dfIpc: t });
1364
+ } catch {}
1365
+ },
1366
+ dispose(t) {
1367
+ if (r) return;
1368
+ r = !0, t?.bye && i.postControl("bye");
1369
+ let n = new Q("closed", `in-page channel call dropped: ${t?.reason ?? "the in-page channel port was closed"}`);
1370
+ i.rpc.$rejectPendingCalls(({ reject: e }) => e(n)), i.rpc.$close(), e.removeEventListener("message", a), e.removeEventListener("close", o);
1371
+ try {
1372
+ e.close();
1373
+ } catch {}
1374
+ }
1375
+ };
1376
+ function a(e) {
1377
+ i.lastActivity = Date.now();
1378
+ let r = e.data;
1379
+ if (At(r)) {
1380
+ r.__dfIpc === "bye" ? t.onPeerClosed() : t.onControl(r.__dfIpc);
1381
+ return;
1382
+ }
1383
+ n?.(r);
1384
+ }
1385
+ function o() {
1386
+ t.onPeerClosed();
1387
+ }
1388
+ return e.addEventListener("message", a), e.addEventListener("close", o), e.start?.(), i;
1389
+ }
1390
+ function en(e, t, n) {
1391
+ return t <= 0 ? e : new Promise((r, i) => {
1392
+ let a = setTimeout(() => i(new Q("timeout", n())), t);
1393
+ e.then((e) => {
1394
+ clearTimeout(a), r(e);
1395
+ }, (e) => {
1396
+ clearTimeout(a), i(e);
1397
+ });
1398
+ });
1399
+ }
1400
+ var tn = {
1401
+ subscribe: "devframe:in-page:page-state:subscribe",
1402
+ set: "devframe:in-page:page-state:set",
1403
+ patch: "devframe:in-page:page-state:patch"
1404
+ };
1405
+ function nn(e) {
1406
+ let t = /* @__PURE__ */ new Map();
1407
+ return {
1408
+ get: async (n, r) => {
1409
+ let i = t.get(n);
1410
+ if (i) return i;
1411
+ if (r?.initialValue === void 0) throw new Q("state-uninitialized", `in-page shared state "${n}" was accessed before initialization; the page script is the authority, so its first \`sharedState.get("${n}")\` must provide \`initialValue\``);
1412
+ let a = St({
1413
+ initialValue: r.initialValue,
1414
+ enablePatches: !0
1415
+ });
1416
+ return t.set(n, a), a.on("updated", (t, r, i) => {
1417
+ for (let a of e()) a.subscribedStates.has(n) && (r ? a.callEventRaw(b.inPageChannel.panelStatePatch, [
1418
+ n,
1419
+ r,
1420
+ i
1421
+ ]) : a.callEventRaw(b.inPageChannel.panelStateUpdated, [
1422
+ n,
1423
+ t,
1424
+ i
1425
+ ]));
1426
+ }), a;
1427
+ },
1428
+ createPeerHandlers(e) {
1429
+ return {
1430
+ [tn.subscribe]: (n) => (e.subscribedStates.add(n), t.get(n)?.value()),
1431
+ [tn.set]: (e, n, r) => {
1432
+ let i = t.get(e);
1433
+ i && !i.syncIds.has(r) && i.mutate(() => n, r);
1434
+ },
1435
+ [tn.patch]: (e, n, r) => {
1436
+ t.get(e)?.patch(n, r);
1437
+ }
1438
+ };
1439
+ }
1440
+ };
1441
+ }
1442
+ function rn(e) {
1443
+ let { name: t } = e, n = e.callTimeoutMs ?? 15e3, r = e.window === !1 ? void 0 : e.window ?? (typeof window > "u" ? void 0 : window), i = Ft(e.allowedOrigins, r), a = Pt(r), o = Lt(e.heartbeat), s = {
1444
+ serialize: e.serialize,
1445
+ deserialize: e.deserialize
1446
+ }, c = ye(), l = /* @__PURE__ */ new Map(), u = !1, d, f = Yt(s);
1447
+ for (let [t, n] of Object.entries(e.functions)) f.register({
1448
+ ...n,
1449
+ name: t
1450
+ });
1451
+ for (let [t, n] of Object.entries(e.events ?? {})) f.register({
1452
+ ...n,
1453
+ name: t,
1454
+ type: "event"
1455
+ });
1456
+ let p = Zt(t, f), m = nn(function* () {
1457
+ for (let e of l.values()) yield {
1458
+ subscribedStates: e.subscribedStates,
1459
+ callEventRaw: (t, n) => {
1460
+ e.attached.rpc.$callRaw({
1461
+ method: t,
1462
+ args: Kt(s, n),
1463
+ event: !0,
1464
+ optional: !0
1465
+ }).catch(() => {});
1466
+ }
1467
+ };
1468
+ });
1469
+ function h(e, t) {
1470
+ let n = l.get(e);
1471
+ n && (l.delete(e), n.attached.dispose(t), l.size === 0 && d && (clearInterval(d), d = void 0), c.emit("panel:disconnected", n.peer));
1472
+ }
1473
+ function g(e, r) {
1474
+ h(r, { reason: "the panel re-connected" });
1475
+ let i = {
1476
+ id: r,
1477
+ subscribedStates: /* @__PURE__ */ new Set()
1478
+ };
1479
+ i.internalHandlers = m.createPeerHandlers({
1480
+ subscribedStates: i.subscribedStates,
1481
+ callEventRaw: (e, t) => {
1482
+ i.attached.rpc.$callRaw({
1483
+ method: e,
1484
+ args: Kt(s, t),
1485
+ event: !0,
1486
+ optional: !0
1487
+ }).catch(() => {});
1488
+ }
1489
+ });
1490
+ let a = Yt(s);
1491
+ for (let [e, t] of Object.entries(i.internalHandlers)) a.registerInternal(e, t);
1492
+ return i.attached = $t(e, {
1493
+ resolveLocal: (e) => Xt(e, [a.resolve, f.resolve]),
1494
+ onControl: (e) => {
1495
+ e === "ping" && i.attached.postControl("pong");
1496
+ },
1497
+ onPeerClosed: () => h(r, { reason: "the panel disconnected" })
1498
+ }), i.peer = {
1499
+ id: r,
1500
+ call: (e, ...a) => en(i.attached.rpc.$call($("function", e), ...Kt(s, a)).then((e) => qt(s, e)), n, () => `in-page channel "${t}": call "${e}" to panel "${r}" timed out after ${n}ms`),
1501
+ close: () => h(r, {
1502
+ bye: !0,
1503
+ reason: "the page script closed this panel"
1504
+ })
1505
+ }, l.set(r, i), o && !d && (d = setInterval(() => {
1506
+ let e = Date.now();
1507
+ for (let t of [...l.values()]) e - t.attached.lastActivity > o.timeoutMs && h(t.id, { reason: "the panel went silent (heartbeat timeout)" });
1508
+ }, o.intervalMs)), c.emit("panel:connected", i.peer), i.peer;
1509
+ }
1510
+ let _ = (e) => {
1511
+ if (u) return;
1512
+ let n = e.data;
1513
+ if (!jt(n) || n.kind !== "hello" || n.name !== t) return;
1514
+ if (n.v !== 2) {
1515
+ zt(`in-page channel "${t}": ignoring a hello with protocol version ${n.v} (this side speaks 2); align the devframe versions of the page script and the panel`);
1516
+ return;
1517
+ }
1518
+ if (!i.includes("*") && !i.includes(e.origin)) {
1519
+ zt(`in-page channel "${t}": ignoring a hello from disallowed origin "${e.origin}"`);
1520
+ return;
1521
+ }
1522
+ if (n.instanceId && n.instanceId !== a) return;
1523
+ let r = e.source;
1524
+ if (!r || typeof r.postMessage != "function") return;
1525
+ let o = new MessageChannel();
1526
+ g(o.port1, n.panelId);
1527
+ let s = {
1528
+ channel: kt,
1529
+ v: 2,
1530
+ kind: "grant",
1531
+ name: t,
1532
+ panelId: n.panelId,
1533
+ instanceId: a
1534
+ };
1535
+ try {
1536
+ r.postMessage(s, i.includes("*") ? "*" : e.origin, [o.port2]);
1537
+ } catch (e) {
1538
+ console.warn(`[devframe] in-page channel "${t}": failed to grant a port`, e), h(n.panelId, { reason: "the grant could not be delivered" });
1539
+ }
1540
+ };
1541
+ return r?.addEventListener("message", _), {
1542
+ name: t,
1543
+ instanceId: a,
1544
+ get panels() {
1545
+ return [...l.values()].map((e) => e.peer);
1546
+ },
1547
+ events: {
1548
+ on: c.on,
1549
+ once: c.once
1550
+ },
1551
+ emit: (e, ...t) => {
1552
+ let n = Kt(s, t);
1553
+ for (let t of l.values()) t.attached.rpc.$callRaw({
1554
+ method: $("event", e),
1555
+ args: n,
1556
+ event: !0,
1557
+ optional: !0
1558
+ }).catch(() => {});
1559
+ },
1560
+ on: (e, t) => f.on(e, t),
1561
+ sharedState: m,
1562
+ addPanelPort: (e) => g(e, `transport:${x(8)}`),
1563
+ close: () => {
1564
+ if (!u) {
1565
+ u = !0, p(), r?.removeEventListener("message", _);
1566
+ for (let e of [...l.keys()]) h(e, {
1567
+ bye: !0,
1568
+ reason: "the page script closed the channel"
1569
+ });
1570
+ }
1571
+ }
1572
+ };
1573
+ }
1574
+ //#endregion
1575
+ //#region src/shared/coalesce.ts
1576
+ function an(e, t) {
1577
+ let n;
1578
+ return () => {
1579
+ n === void 0 && (n = setTimeout(() => {
1580
+ n = void 0, e();
1581
+ }, t));
1582
+ };
1583
+ }
1584
+ //#endregion
1585
+ export { d as a, e as c, l as i, rn as n, i as o, u as r, a as s, an as t };