@voltro/client 0.50.1 → 0.52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,28 +1,29 @@
1
- import { createContext as e, createElement as t, useCallback as n, useContext as r, useDebugValue as i, useEffect as a, useMemo as o, useRef as s, useState as c, useSyncExternalStore as l } from "react";
2
- import { Cause as u, Context as d, Duration as f, Effect as p, Exit as m, Fiber as h, JSONSchema as g, Layer as _, ManagedRuntime as v, Schedule as y, Schema as b, Stream as x } from "effect";
3
- import { applyRowPatch as S } from "@voltro/protocol";
4
- import * as C from "@effect/platform/Socket";
5
- import * as w from "@effect/platform/Headers";
6
- import { RpcClient as T, RpcSerialization as ee } from "@effect/rpc";
7
- import { jsx as te } from "react/jsx-runtime";
8
- import { ArrayFormatter as E } from "effect/ParseResult";
1
+ import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c } from "./formData-Bw07C0wr.js";
2
+ import { createContext as l, createElement as u, useCallback as d, useContext as f, useDebugValue as p, useEffect as m, useMemo as h, useRef as g, useState as _, useSyncExternalStore as v } from "react";
3
+ import { Cause as y, Context as b, Duration as x, Effect as S, Exit as C, Fiber as w, Layer as T, ManagedRuntime as E, Schedule as D, Schema as ee, Stream as O } from "effect";
4
+ import { applyRowPatch as te } from "@voltro/protocol";
5
+ import * as ne from "@effect/platform/Socket";
6
+ import * as re from "@effect/platform/Headers";
7
+ import { RpcClient as k, RpcSerialization as ie } from "@effect/rpc";
8
+ import { jsx as ae } from "react/jsx-runtime";
9
+ import { ArrayFormatter as oe } from "effect/ParseResult";
9
10
  //#region src/traceBus.ts
10
- var ne = /* @__PURE__ */ new Set(), D = (e) => {
11
- for (let t of ne) try {
11
+ var se = /* @__PURE__ */ new Set(), A = (e) => {
12
+ for (let t of se) try {
12
13
  t(e);
13
14
  } catch {}
14
- }, re = (e) => (ne.add(e), () => {
15
- ne.delete(e);
16
- }), O = (e) => {
15
+ }, ce = (e) => (se.add(e), () => {
16
+ se.delete(e);
17
+ }), j = (e) => {
17
18
  let t = (e) => e == null ? "null" : typeof e == "string" ? JSON.stringify(e) : typeof e == "number" || typeof e == "boolean" ? String(e) : Array.isArray(e) ? `[${e.map(t).join(",")}]` : typeof e == "object" ? `{${Object.keys(e).sort().map((n) => `${JSON.stringify(n)}:${t(e[n])}`).join(",")}}` : String(e);
18
19
  return t(e);
19
- }, ie = Object.freeze({
20
+ }, le = Object.freeze({
20
21
  data: void 0,
21
22
  revision: -1,
22
23
  emittedAt: void 0,
23
24
  error: void 0,
24
25
  pendingPatches: 0
25
- }), ae = 5e3, oe = (e, t, n) => {
26
+ }), ue = 5e3, de = (e, t, n) => {
26
27
  if (e._tag === "error") return !1;
27
28
  if (e._tag === "delta") return !0;
28
29
  try {
@@ -30,21 +31,21 @@ var ne = /* @__PURE__ */ new Set(), D = (e) => {
30
31
  } catch {
31
32
  return !1;
32
33
  }
33
- }, se = 0, ce = () => `patch_${++se}`, k = (e, t) => {
34
+ }, fe = 0, pe = () => `patch_${++fe}`, M = (e, t) => {
34
35
  let n = e;
35
36
  for (let e of t.split(".")) {
36
37
  if (typeof n != "object" || !n) return;
37
38
  n = n[e];
38
39
  }
39
40
  return n;
40
- }, le = (e, t, n) => {
41
+ }, me = (e, t, n) => {
41
42
  let r = t.split("."), i = (e) => typeof e == "object" && e && !Array.isArray(e) ? { ...e } : {}, a = i(e), o = a;
42
43
  for (let e = 0; e < r.length - 1; e += 1) o[r[e]] = i(o[r[e]]), o = o[r[e]];
43
44
  return o[r[r.length - 1]] = n, a;
44
- }, ue = (e, t) => {
45
+ }, he = (e, t) => {
45
46
  let n = e.by ?? "id", r = e.identify ? e.identify(t) : typeof t[n] == "string" ? t[n] : typeof t.id == "string" ? t.id : void 0, i = r === void 0 ? [] : Array.isArray(r) ? r : [r];
46
47
  return i.length === 0 ? null : new Set(i);
47
- }, de = (e, t, n) => {
48
+ }, ge = (e, t, n) => {
48
49
  let r = e.path, i = e.by ?? "id";
49
50
  if (e.op === "insert") {
50
51
  let a = e.shapeItem ?? e.shape, o = a ? {
@@ -57,11 +58,11 @@ var ne = /* @__PURE__ */ new Set(), D = (e) => {
57
58
  optimistic: !0
58
59
  }, s = e.order ?? "append";
59
60
  return (e) => {
60
- let t = Array.isArray(k(e, r)) ? k(e, r) : [];
61
- return le(e ?? {}, r, s === "append" ? [...t, o] : [o, ...t]);
61
+ let t = Array.isArray(M(e, r)) ? M(e, r) : [];
62
+ return me(e ?? {}, r, s === "append" ? [...t, o] : [o, ...t]);
62
63
  };
63
64
  }
64
- let a = ue(e, t);
65
+ let a = he(e, t);
65
66
  if (a === null) return null;
66
67
  if (e.op === "update") {
67
68
  let n = e.shapeItem ?? e.shape, o = n ? (e) => ({
@@ -75,16 +76,16 @@ var ne = /* @__PURE__ */ new Set(), D = (e) => {
75
76
  optimistic: !0
76
77
  });
77
78
  return (e) => {
78
- let t = Array.isArray(k(e, r)) ? k(e, r) : [];
79
- return le(e, r, t.map((e) => a.has(e[i]) ? o(e) : e));
79
+ let t = Array.isArray(M(e, r)) ? M(e, r) : [];
80
+ return me(e, r, t.map((e) => a.has(e[i]) ? o(e) : e));
80
81
  };
81
82
  }
82
83
  return (e) => {
83
- let t = Array.isArray(k(e, r)) ? k(e, r) : [];
84
- return le(e, r, t.filter((e) => !a.has(e[i])));
84
+ let t = Array.isArray(M(e, r)) ? M(e, r) : [];
85
+ return me(e, r, t.filter((e) => !a.has(e[i])));
85
86
  };
86
- }, fe = (e, t, n) => {
87
- if (e.path !== void 0) return de(e, t, n);
87
+ }, _e = (e, t, n) => {
88
+ if (e.path !== void 0) return ge(e, t, n);
88
89
  switch (e.op) {
89
90
  case "insert": {
90
91
  let r = e.shape ? {
@@ -102,7 +103,7 @@ var ne = /* @__PURE__ */ new Set(), D = (e) => {
102
103
  };
103
104
  }
104
105
  case "update": {
105
- let n = ue(e, t);
106
+ let n = he(e, t);
106
107
  if (n === null) return null;
107
108
  let r = e.shape, i = r ? (e) => ({
108
109
  ...r(t, e),
@@ -119,30 +120,30 @@ var ne = /* @__PURE__ */ new Set(), D = (e) => {
119
120
  });
120
121
  }
121
122
  case "delete": {
122
- let n = ue(e, t);
123
+ let n = he(e, t);
123
124
  return n === null ? null : (e) => (Array.isArray(e) ? e : []).filter((e) => !n.has(e.id));
124
125
  }
125
126
  }
126
- }, pe = 5e3, me = class {
127
+ }, ve = 5e3, ye = class {
127
128
  entries = /* @__PURE__ */ new Map();
128
129
  inactiveTtlMs;
129
130
  onChangeHook;
130
131
  errorBus;
131
132
  constructor(e = {}) {
132
- this.inactiveTtlMs = e.inactiveTtlMs ?? pe, this.onChangeHook = e.onChange, this.errorBus = e.errorBus;
133
+ this.inactiveTtlMs = e.inactiveTtlMs ?? ve, this.onChangeHook = e.onChange, this.errorBus = e.errorBus;
133
134
  }
134
135
  subscribe(e, t, n, r, i = {}) {
135
- let a = O(e), o = typeof e[0] == "string" ? e[0] : void 0, s = this.entries.get(a);
136
+ let a = j(e), o = typeof e[0] == "string" ? e[0] : void 0, s = this.entries.get(a);
136
137
  return s && s.evictionTimer !== null && (clearTimeout(s.evictionTimer), s.evictionTimer = null), s ? (s.fiber === null && (s.fetch = t, s.runtime = n, this.startFiber(s, t, n)), s.source === void 0 && i.source !== void 0 && (s.source = i.source)) : s = this.create(a, o, t, n, i.source), s.subscribers.add(r), {
137
138
  getSnapshot: () => this.getSnapshot(a),
138
139
  unsubscribe: () => this.unsubscribe(a, r)
139
140
  };
140
141
  }
141
142
  update(e, t, n) {
142
- let r = O(e), i = typeof e[0] == "string" ? e[0] : void 0, a = this.entries.get(r);
143
+ let r = j(e), i = typeof e[0] == "string" ? e[0] : void 0, a = this.entries.get(r);
143
144
  a ||= this.createStub(r, i);
144
145
  let o = {
145
- id: ce(),
146
+ id: pe(),
146
147
  mutationId: n,
147
148
  reducer: t
148
149
  };
@@ -156,7 +157,7 @@ var ne = /* @__PURE__ */ new Set(), D = (e) => {
156
157
  for (let i of this.entries.values()) {
157
158
  if (i.tag !== e) continue;
158
159
  let a = {
159
- id: `forTag-${++se}`,
160
+ id: `forTag-${++fe}`,
160
161
  mutationId: n,
161
162
  reducer: t
162
163
  };
@@ -173,12 +174,12 @@ var ne = /* @__PURE__ */ new Set(), D = (e) => {
173
174
  confirmByMutation(e) {
174
175
  let t = !1;
175
176
  for (let n of this.entries.values()) for (let r of n.state.patches) r.mutationId === e && r.confirmed !== !0 && (r.confirmed = !0, t = !0);
176
- t && setTimeout(() => this.resyncUnechoedMutation(e), ae);
177
+ t && setTimeout(() => this.resyncUnechoedMutation(e), ue);
177
178
  }
178
179
  resyncUnechoedMutation(e) {
179
180
  for (let t of this.entries.values()) {
180
181
  if (!t.state.patches.some((t) => t.mutationId === e && t.confirmed === !0)) continue;
181
- let n = t.tag ?? t.key, r = `optimistic patch for ${n} got no superseding server event within ${ae}ms — the write is confirmed, so the preview is KEPT. Check reactivity for this query's source table.`;
182
+ let n = t.tag ?? t.key, r = `optimistic patch for ${n} got no superseding server event within ${ue}ms — the write is confirmed, so the preview is KEPT. Check reactivity for this query's source table.`;
182
183
  this.errorBus?.emit({
183
184
  source: "subscription",
184
185
  tag: n,
@@ -191,7 +192,7 @@ var ne = /* @__PURE__ */ new Set(), D = (e) => {
191
192
  }
192
193
  }
193
194
  autoApply(e, t, n) {
194
- let r = `optimistic-${n}-${++se}`;
195
+ let r = `optimistic-${n}-${++fe}`;
195
196
  for (let i of e) for (let e of this.entries.values()) {
196
197
  if (!(Array.isArray(e.source) ? e.source.includes(i.table) : e.source === i.table)) continue;
197
198
  if (i.match !== void 0) {
@@ -204,7 +205,7 @@ var ne = /* @__PURE__ */ new Set(), D = (e) => {
204
205
  if (!n) continue;
205
206
  }
206
207
  if (e.computed && i.op === "insert" && i.path === void 0) continue;
207
- let a = fe(i, t, r);
208
+ let a = _e(i, t, r);
208
209
  if (a === null) continue;
209
210
  let o = {
210
211
  id: `${r}-${e.key}`,
@@ -221,10 +222,10 @@ var ne = /* @__PURE__ */ new Set(), D = (e) => {
221
222
  n.state.patches = n.state.patches.filter((e) => e.id !== t), n.state.patches.length !== r && this.invalidate(n);
222
223
  }
223
224
  peek(e) {
224
- return this.getSnapshot(O(e));
225
+ return this.getSnapshot(j(e));
225
226
  }
226
227
  getEntry(e) {
227
- return this.entries.get(O(e));
228
+ return this.entries.get(j(e));
228
229
  }
229
230
  size() {
230
231
  return this.entries.size;
@@ -243,7 +244,7 @@ var ne = /* @__PURE__ */ new Set(), D = (e) => {
243
244
  return e;
244
245
  }
245
246
  destroy(e) {
246
- for (let t of this.entries.values()) t.evictionTimer !== null && clearTimeout(t.evictionTimer), t.fiber && e.runFork(h.interrupt(t.fiber));
247
+ for (let t of this.entries.values()) t.evictionTimer !== null && clearTimeout(t.evictionTimer), t.fiber && e.runFork(w.interrupt(t.fiber));
247
248
  this.entries.clear();
248
249
  }
249
250
  refreshAll(e) {
@@ -251,7 +252,7 @@ var ne = /* @__PURE__ */ new Set(), D = (e) => {
251
252
  }
252
253
  reissue(e, t, n = !0) {
253
254
  if (!e.fetch) return;
254
- e.fiber && t.runFork(h.interrupt(e.fiber)), e.fiber = null;
255
+ e.fiber && t.runFork(w.interrupt(e.fiber)), e.fiber = null;
255
256
  let r = e.state.patches, i = e.state.base, a = e.state.baseRevision;
256
257
  e.state = this.freshState(), e.state.patches = r, n || (e.state.base = i, e.state.baseRevision = a), this.startFiber(e, e.fetch, t);
257
258
  }
@@ -323,24 +324,24 @@ var ne = /* @__PURE__ */ new Set(), D = (e) => {
323
324
  };
324
325
  }
325
326
  startFiber(e, t, n) {
326
- let r = e.tag ?? e.key, i = t(), a = x.unwrapScoped(p.currentSpan.pipe(p.catchAll(() => p.succeed(void 0)), p.map((t) => (t && (e.traceId = t.traceId, D({
327
+ let r = e.tag ?? e.key, i = t(), a = O.unwrapScoped(S.currentSpan.pipe(S.catchAll(() => S.succeed(void 0)), S.map((t) => (t && (e.traceId = t.traceId, A({
327
328
  traceId: t.traceId,
328
329
  spanId: t.spanId,
329
330
  source: "subscription",
330
331
  tag: r
331
- })), i)))).pipe(x.withSpan(`client.subscription.${r}`, { attributes: { "rpc.tag": r } }));
332
- e.fiber = n.runFork(a.pipe(x.runForEach((t) => p.sync(() => {
332
+ })), i)))).pipe(O.withSpan(`client.subscription.${r}`, { attributes: { "rpc.tag": r } }));
333
+ e.fiber = n.runFork(a.pipe(O.runForEach((t) => S.sync(() => {
333
334
  let n = e.state.base;
334
335
  if (t._tag === "snapshot") e.state.base = t.data, e.state.baseRevision = t.revision, e.state.baseEmittedAt = void 0, e.state.baseError = void 0, t.computed === !0 && (e.computed = !0);
335
- else if (t._tag === "error") e.state.baseError = u.fail(t.error), typeof t.revision == "number" && (e.state.baseRevision = t.revision);
336
+ else if (t._tag === "error") e.state.baseError = y.fail(t.error), typeof t.revision == "number" && (e.state.baseRevision = t.revision);
336
337
  else {
337
338
  let n = e.state.base;
338
- Array.isArray(n) && (e.state.base = S(n, t.patch)), e.state.baseRevision = t.revision, e.state.baseEmittedAt = t.emittedAt, e.state.baseError = void 0;
339
+ Array.isArray(n) && (e.state.base = te(n, t.patch)), e.state.baseRevision = t.revision, e.state.baseEmittedAt = t.emittedAt, e.state.baseError = void 0;
339
340
  }
340
- e.state.patches.some((e) => e.confirmed === !0) && oe(t, n, e.state.base) && (e.state.patches = e.state.patches.filter((e) => e.confirmed !== !0)), this.invalidate(e);
341
+ e.state.patches.some((e) => e.confirmed === !0) && de(t, n, e.state.base) && (e.state.patches = e.state.patches.filter((e) => e.confirmed !== !0)), this.invalidate(e);
341
342
  })))), e.fiber.addObserver((t) => {
342
- if (m.isFailure(t) && !m.isInterrupted(t) && (e.state.baseRevision === -1 && (e.state.baseError = t.cause, this.invalidate(e)), this.errorBus)) {
343
- let n = u.squash(t.cause);
343
+ if (C.isFailure(t) && !C.isInterrupted(t) && (e.state.baseRevision === -1 && (e.state.baseError = t.cause, this.invalidate(e)), this.errorBus)) {
344
+ let n = y.squash(t.cause);
344
345
  this.errorBus.emit({
345
346
  source: "subscription",
346
347
  tag: e.tag ?? e.key,
@@ -357,7 +358,7 @@ var ne = /* @__PURE__ */ new Set(), D = (e) => {
357
358
  }
358
359
  getSnapshot(e) {
359
360
  let t = this.entries.get(e);
360
- if (!t) return ie;
361
+ if (!t) return le;
361
362
  if (t.state.cachedSnapshot !== null) return t.state.cachedSnapshot;
362
363
  let n = t.state.base;
363
364
  if (n !== void 0 && t.state.patches.length > 0) for (let e of t.state.patches) n = e.reducer(n);
@@ -377,17 +378,17 @@ var ne = /* @__PURE__ */ new Set(), D = (e) => {
377
378
  scheduleEviction(e) {
378
379
  e.evictionTimer !== null && clearTimeout(e.evictionTimer), e.evictionTimer = setTimeout(() => {
379
380
  let t = this.entries.get(e.key);
380
- t && t.subscribers.size === 0 && (t.fiber && p.runFork(h.interrupt(t.fiber)), this.entries.delete(e.key));
381
+ t && t.subscribers.size === 0 && (t.fiber && S.runFork(w.interrupt(t.fiber)), this.entries.delete(e.key));
381
382
  }, this.inactiveTtlMs);
382
383
  }
383
- }, he = class extends me {
384
+ }, be = class extends ye {
384
385
  subscribe(e, t, n, r, i = {}) {
385
386
  return {
386
387
  getSnapshot: () => this.peek(e),
387
388
  unsubscribe: () => {}
388
389
  };
389
390
  }
390
- }, ge = class {
391
+ }, xe = class {
391
392
  #e = /* @__PURE__ */ new Set();
392
393
  on(e) {
393
394
  return this.#e.add(e), () => {
@@ -399,45 +400,45 @@ var ne = /* @__PURE__ */ new Set(), D = (e) => {
399
400
  t(e);
400
401
  } catch {}
401
402
  }
402
- }, _e = e(null), ve = () => {
403
+ }, Se = l(null), Ce = () => {
403
404
  throw Error("Voltro: rpc / cache calls are not invokable on a not-yet-resolved api — either during SSR, or in the client boot window before the api client resolves");
404
- }, ye = new Proxy(() => ve(), {
405
- get: (e, t) => ye,
405
+ }, we = new Proxy(() => Ce(), {
406
+ get: (e, t) => we,
406
407
  has: () => !0,
407
- apply: () => ve()
408
- }), be = {
409
- runtime: { runPromiseExit: () => Promise.resolve(m.die(/* @__PURE__ */ Error("Voltro: mutations are not invokable during SSR"))) },
410
- cache: new he(),
411
- client: ye,
408
+ apply: () => Ce()
409
+ }), Te = {
410
+ runtime: { runPromiseExit: () => Promise.resolve(C.die(/* @__PURE__ */ Error("Voltro: mutations are not invokable during SSR"))) },
411
+ cache: new be(),
412
+ client: we,
412
413
  descriptors: {},
413
414
  inspectBaseUrl: "",
414
- errorBus: new ge()
415
- }, xe = {
416
- get: () => be,
415
+ errorBus: new xe()
416
+ }, Ee = {
417
+ get: () => Te,
417
418
  names: []
418
- }, A = !1, j = !1, M = null, Se = () => {
419
- A = !1, j = !1, M !== null && (clearTimeout(M), M = null);
420
- }, Ce = () => {
421
- let e = r(_e);
422
- return e ? (j || (j = !0, M !== null && (clearTimeout(M), M = null)), e) : (typeof window < "u" && !A && !j && M === null && process.env.NODE_ENV !== "production" && (M = setTimeout(() => {
423
- M = null, !(A || j) && (A = !0, console.warn("useFrameworkRuntimes: no <FrameworkRuntimesProvider> in the tree — returning a loading baseline (subscriptions read `undefined`, mutations are no-ops). If this is not an intentional lazy/conditional mount, mount your app via @voltro/web mount() or wrap the subtree in <VoltroRuntimeProvider>."));
424
- }, 0)), xe);
425
- }, N = (e) => Ce().get(e), P = (e) => typeof e.runtime?.runFork != "function", we = async (e) => {
419
+ }, N = !1, P = !1, F = null, De = () => {
420
+ N = !1, P = !1, F !== null && (clearTimeout(F), F = null);
421
+ }, Oe = () => {
422
+ let e = f(Se);
423
+ return e ? (P || (P = !0, F !== null && (clearTimeout(F), F = null)), e) : (typeof window < "u" && !N && !P && F === null && process.env.NODE_ENV !== "production" && (F = setTimeout(() => {
424
+ F = null, !(N || P) && (N = !0, console.warn("useFrameworkRuntimes: no <FrameworkRuntimesProvider> in the tree — returning a loading baseline (subscriptions read `undefined`, mutations are no-ops). If this is not an intentional lazy/conditional mount, mount your app via @voltro/web mount() or wrap the subtree in <VoltroRuntimeProvider>."));
425
+ }, 0)), Ee);
426
+ }, I = (e) => Oe().get(e), L = (e) => typeof e.runtime?.runFork != "function", ke = async (e) => {
426
427
  let { name: t, wsUrl: n, group: r, headers: i, webSocketConstructor: a } = e;
427
- class o extends d.Tag(`@voltro/client/AppClient/${t}`)() {}
428
- let s = _.succeed(C.WebSocketConstructor, (e, t) => a(e, t)), c = T.layerProtocolSocket().pipe(_.provide(ee.layerJson), _.provide(C.layerWebSocket(n)), _.provide(s)), l = typeof i == "function" ? await i() : i, u = _.scoped(o, T.make(r)).pipe(_.provide(c)), f = l ? _.locallyScoped(T.currentHeaders, w.fromInput(l)) : _.empty, p = v.make(_.merge(u, f));
428
+ class o extends b.Tag(`@voltro/client/AppClient/${t}`)() {}
429
+ let s = T.succeed(ne.WebSocketConstructor, (e, t) => a(e, t)), c = k.layerProtocolSocket().pipe(T.provide(ie.layerJson), T.provide(ne.layerWebSocket(n)), T.provide(s)), l = typeof i == "function" ? await i() : i, u = T.scoped(o, k.make(r)).pipe(T.provide(c)), d = l ? T.locallyScoped(k.currentHeaders, re.fromInput(l)) : T.empty, f = E.make(T.merge(u, d));
429
430
  try {
430
- let e = await p.runPromise(o), t = new ge();
431
+ let e = await f.runPromise(o), t = new xe();
431
432
  return {
432
- runtime: p,
433
+ runtime: f,
433
434
  client: e,
434
- cache: new me({ errorBus: t }),
435
+ cache: new ye({ errorBus: t }),
435
436
  errorBus: t
436
437
  };
437
438
  } catch (e) {
438
- throw p.dispose(), e;
439
+ throw f.dispose(), e;
439
440
  }
440
- }, Te = (e) => Math.min(500 * 2 ** Math.min(e - 1, 4), 5e3), Ee = () => ({
441
+ }, Ae = (e) => Math.min(500 * 2 ** Math.min(e - 1, 4), 5e3), je = () => ({
441
442
  resolved: null,
442
443
  retryToken: 0,
443
444
  failureCount: 0,
@@ -446,15 +447,15 @@ var ne = /* @__PURE__ */ new Set(), D = (e) => {
446
447
  everOpened: !1,
447
448
  wedgeStop: null,
448
449
  subjectMayHaveChanged: !1
449
- }), De = (e) => {
450
+ }), Me = (e) => {
450
451
  e.wedgeStop !== null && (e.wedgeStop(), e.wedgeStop = null);
451
- }, Oe = (e) => {
452
+ }, Ne = (e) => {
452
453
  e.cache.destroy(e.runtime), e.runtime.dispose();
453
- }, ke = (e) => {
454
- let t = e.apis, n = e.buildClient, r = e.onChange, i = e.retryDelayMs ?? Te, a = e.stableWindowMs ?? 5e3, o = e.scheduler?.setTimeout ?? ((e, t) => setTimeout(e, t)), s = e.scheduler?.clearTimeout ?? ((e) => {
454
+ }, Pe = (e) => {
455
+ let t = e.apis, n = e.buildClient, r = e.onChange, i = e.retryDelayMs ?? Ae, a = e.stableWindowMs ?? 5e3, o = e.scheduler?.setTimeout ?? ((e, t) => setTimeout(e, t)), s = e.scheduler?.clearTimeout ?? ((e) => {
455
456
  clearTimeout(e);
456
457
  }), c = e.scheduler?.queueMicrotask ?? queueMicrotask, l = e.onReconnecting, u = e.wedgeBackstop, d = /* @__PURE__ */ new Map();
457
- for (let e of t) d.set(e.name, Ee());
458
+ for (let e of t) d.set(e.name, je());
458
459
  let f = !1, p = /* @__PURE__ */ new Set(), m = (e, t) => {
459
460
  let n = o(() => {
460
461
  p.delete(n), e();
@@ -480,7 +481,7 @@ var ne = /* @__PURE__ */ new Set(), D = (e) => {
480
481
  if (!t) return;
481
482
  let r = t.generation, i = () => {
482
483
  if (f || t.generation !== r) return;
483
- t.everOpened = !0, De(t), t.retryToken++;
484
+ t.everOpened = !0, Me(t), t.retryToken++;
484
485
  let e = t.failureCount;
485
486
  m(() => {
486
487
  f || t.failureCount === e && (t.failureCount = 0);
@@ -491,11 +492,11 @@ var ne = /* @__PURE__ */ new Set(), D = (e) => {
491
492
  try {
492
493
  let a = await n(e, r, i, o);
493
494
  if (f || t.generation !== r) {
494
- Oe(a);
495
+ Ne(a);
495
496
  return;
496
497
  }
497
498
  let s = t.resolved;
498
- s && !t.subjectMayHaveChanged && a.cache.seedStaleFrom(s.cache), t.subjectMayHaveChanged = !1, t.resolved = a, t.reconnectStatusDispose &&= (t.reconnectStatusDispose(), null), h(), s && Oe(s);
499
+ s && !t.subjectMayHaveChanged && a.cache.seedStaleFrom(s.cache), t.subjectMayHaveChanged = !1, t.resolved = a, t.reconnectStatusDispose &&= (t.reconnectStatusDispose(), null), h(), s && Ne(s);
499
500
  } catch {
500
501
  if (f || t.generation !== r) return;
501
502
  g(e);
@@ -503,7 +504,7 @@ var ne = /* @__PURE__ */ new Set(), D = (e) => {
503
504
  }, v = (e) => {
504
505
  if (!f) for (let n of t) {
505
506
  let t = d.get(n.name);
506
- t && (e && (t.subjectMayHaveChanged = !0), t.retryToken += 1, t.generation += 1, t.failureCount = 0, De(t), _(n));
507
+ t && (e && (t.subjectMayHaveChanged = !0), t.retryToken += 1, t.generation += 1, t.failureCount = 0, Me(t), _(n));
507
508
  }
508
509
  };
509
510
  return t.length === 0 ? (r(/* @__PURE__ */ new Map(), !0), {
@@ -520,7 +521,7 @@ var ne = /* @__PURE__ */ new Set(), D = (e) => {
520
521
  f = !0;
521
522
  for (let e of p) s(e);
522
523
  p.clear();
523
- for (let [, e] of d) e.resolved && Oe(e.resolved), e.reconnectStatusDispose && e.reconnectStatusDispose(), De(e);
524
+ for (let [, e] of d) e.resolved && Ne(e.resolved), e.reconnectStatusDispose && e.reconnectStatusDispose(), Me(e);
524
525
  d.clear();
525
526
  }
526
527
  },
@@ -531,8 +532,8 @@ var ne = /* @__PURE__ */ new Set(), D = (e) => {
531
532
  v(!1);
532
533
  }
533
534
  });
534
- }, Ae = ({ apis: e, children: t }) => {
535
- let n = o(() => ({
535
+ }, Fe = ({ apis: e, children: t }) => {
536
+ let n = h(() => ({
536
537
  get: (t) => {
537
538
  let n = e.get(t);
538
539
  if (!n) {
@@ -543,45 +544,45 @@ var ne = /* @__PURE__ */ new Set(), D = (e) => {
543
544
  },
544
545
  names: Array.from(e.keys())
545
546
  }), [e]);
546
- return /* @__PURE__ */ te(_e.Provider, {
547
+ return /* @__PURE__ */ ae(Se.Provider, {
547
548
  value: n,
548
549
  children: t
549
550
  });
550
- }, je = Symbol.for("@voltro/client/storeStorageProvider"), Me = () => {
551
- let e = globalThis, t = e[je];
551
+ }, Ie = Symbol.for("@voltro/client/storeStorageProvider"), Le = () => {
552
+ let e = globalThis, t = e[Ie];
552
553
  if (t !== void 0) return t;
553
554
  let n = {
554
555
  provider: void 0,
555
556
  used: !1
556
557
  };
557
- return e[je] = n, n;
558
- }, Ne = (e) => {
558
+ return e[Ie] = n, n;
559
+ }, Re = (e) => {
559
560
  if (typeof window > "u") return null;
560
561
  try {
561
562
  return (e === "session" ? window.sessionStorage : window.localStorage) ?? null;
562
563
  } catch {
563
564
  return null;
564
565
  }
565
- }, Pe = (e) => {
566
- let t = Me();
566
+ }, ze = (e) => {
567
+ let t = Le();
567
568
  t.used && e !== null && console.warn("[voltro] setStoreStorage() was called after a persisted store had already read. That store booted against the previous backing store and will not be re-read. Install storage before the first render — on React Native, after awaiting hydrate()."), t.provider = e ?? void 0;
568
- }, Fe = (e) => {
569
- let t = Me();
570
- return t.used = !0, (t.provider ?? Ne)(e);
571
- }, Ie = () => {
572
- let e = Me();
569
+ }, Be = (e) => {
570
+ let t = Le();
571
+ return t.used = !0, (t.provider ?? Re)(e);
572
+ }, Ve = () => {
573
+ let e = Le();
573
574
  e.provider = void 0, e.used = !1;
574
- }, F = (e, t) => {
575
+ }, R = (e, t) => {
575
576
  if (Object.is(e, t)) return !0;
576
577
  if (typeof e != "object" || typeof t != "object" || e === null || t === null || Array.isArray(e) !== Array.isArray(t)) return !1;
577
578
  let n = Object.keys(e), r = Object.keys(t);
578
579
  if (n.length !== r.length) return !1;
579
580
  for (let r of n) if (!Object.prototype.hasOwnProperty.call(t, r) || !Object.is(e[r], t[r])) return !1;
580
581
  return !0;
581
- }, Le = 50, Re = /* @__PURE__ */ new Set(), ze = (e, t) => {
582
- Re.has(e) || (Re.add(e), console.warn(t));
583
- }, Be = "\0global", Ve = null, He = (e, t, n) => {
584
- let r = Ve?.() ?? null;
582
+ }, He = 50, Ue = /* @__PURE__ */ new Set(), We = (e, t) => {
583
+ Ue.has(e) || (Ue.add(e), console.warn(t));
584
+ }, Ge = "\0global", Ke = null, qe = (e, t, n) => {
585
+ let r = Ke?.() ?? null;
585
586
  if (r === null) return n;
586
587
  let i = n;
587
588
  for (let n of r.seeds) n.store === e && n.key === t && (i = {
@@ -589,9 +590,9 @@ var ne = /* @__PURE__ */ new Set(), D = (e) => {
589
590
  ...n.value
590
591
  });
591
592
  return i;
592
- }, Ue = (e, t) => {
593
+ }, Je = (e, t) => {
593
594
  let n = e(), r = /* @__PURE__ */ new Set(), i = 0, a = 0, o, s, c = () => {
594
- if (i >= Le) throw i = 0, Error(`defineStore: notification depth exceeded ${Le} — a subscriber writes a NEW value every time it is notified, so the store can never settle. Look for a listener calling set() with something derived from the current state without converging.`);
595
+ if (i >= He) throw i = 0, Error(`defineStore: notification depth exceeded ${He} — a subscriber writes a NEW value every time it is notified, so the store can never settle. Look for a listener calling set() with something derived from the current state without converging.`);
595
596
  i += 1;
596
597
  try {
597
598
  for (let e of [...r]) e();
@@ -612,20 +613,20 @@ var ne = /* @__PURE__ */ new Set(), D = (e) => {
612
613
  if (typeof i?.then == "function") throw a === 1 && o !== void 0 && (n = o), --a, a === 0 && (o = void 0, s = void 0), Error(`defineStore: batch('${e}') was given an async function. A batch is synchronous — everything after the first await would land outside it. Await the work first, then batch the writes: \`const r = await load(); store.batch('${e}', () => { … })\`.`);
613
614
  if (--a, a > 0) return;
614
615
  let l = o, u = s;
615
- o = void 0, s = void 0, !F(l, n) && (t(l, n, u), c());
616
+ o = void 0, s = void 0, !R(l, n) && (t(l, n, u), c());
616
617
  },
617
618
  set: (e, r) => {
618
619
  let i = typeof e == "function" ? e(n) : {
619
620
  ...n,
620
621
  ...e
621
622
  };
622
- if (F(i, n)) return;
623
+ if (R(i, n)) return;
623
624
  let o = n;
624
625
  n = i, !(a > 0) && (t(o, i, r), c());
625
626
  },
626
627
  reset: () => {
627
628
  let r = e();
628
- if (F(r, n)) return;
629
+ if (R(r, n)) return;
629
630
  let i = n;
630
631
  n = r, !(a > 0) && (t(i, r, "reset"), c());
631
632
  },
@@ -633,56 +634,56 @@ var ne = /* @__PURE__ */ new Set(), D = (e) => {
633
634
  r.delete(e);
634
635
  })
635
636
  };
636
- }, We = 200, I = [], Ge = /* @__PURE__ */ new Set(), Ke = [], qe = () => Ke, Je = (e) => (Ge.add(e), () => {
637
- Ge.delete(e);
638
- }), Ye = () => {
639
- I.length = 0, Ke = [];
640
- }, Xe = (e, t) => {
641
- let n = I[e];
637
+ }, Ye = 200, z = [], Xe = /* @__PURE__ */ new Set(), Ze = [], Qe = () => Ze, $e = (e) => (Xe.add(e), () => {
638
+ Xe.delete(e);
639
+ }), et = () => {
640
+ z.length = 0, Ze = [];
641
+ }, tt = (e, t) => {
642
+ let n = z[e];
642
643
  if (n === void 0) return !1;
643
- let r = z.get(n.store);
644
+ let r = H.get(n.store);
644
645
  if (r === void 0) return !1;
645
646
  let i = t === "before" ? n.prev : n.next;
646
- R = !0;
647
+ V = !0;
647
648
  try {
648
649
  r.set(() => i, n.key, `travel:${t}`);
649
650
  } finally {
650
- R = !1;
651
+ V = !1;
651
652
  }
652
653
  return !0;
653
- }, L = !1, R = !1, Ze = (e) => {
654
- I.push(e), I.length > We && I.shift(), Ke = [...I];
655
- for (let e of [...Ge]) e();
656
- }, z = /* @__PURE__ */ new Map(), Qe = /* @__PURE__ */ new Map(), $e = 0, et = !1, tt = /* @__PURE__ */ new Map(), nt = () => (et || (et = !0, queueMicrotask(() => {
657
- $e += 1, et = !1;
658
- })), $e), rt = it(((/* @__PURE__ */ Error()).stack ?? "").split("\n")[1] ?? "") ?? "";
659
- function it(e) {
654
+ }, B = !1, V = !1, nt = (e) => {
655
+ z.push(e), z.length > Ye && z.shift(), Ze = [...z];
656
+ for (let e of [...Xe]) e();
657
+ }, H = /* @__PURE__ */ new Map(), rt = /* @__PURE__ */ new Map(), it = 0, at = !1, ot = /* @__PURE__ */ new Map(), st = () => (at || (at = !0, queueMicrotask(() => {
658
+ it += 1, at = !1;
659
+ })), it), ct = lt(((/* @__PURE__ */ Error()).stack ?? "").split("\n")[1] ?? "") ?? "";
660
+ function lt(e) {
660
661
  let t = e.trim().replace(/^at\s+/, ""), n = /\(([^()]+)\)\s*$/.exec(t)?.[1] ?? t;
661
662
  return n.length > 0 ? n : void 0;
662
663
  }
663
- var at = () => {
664
+ var ut = () => {
664
665
  let e = (/* @__PURE__ */ Error()).stack;
665
666
  if (typeof e != "string") return "<unknown>";
666
667
  for (let t of e.split("\n").slice(1)) {
667
- let e = it(t);
668
+ let e = lt(t);
668
669
  if (e === void 0) continue;
669
670
  let n = e.replace(/:\d+:\d+$/, "");
670
- if (rt === "" || n !== rt.replace(/:\d+:\d+$/, "")) return n;
671
+ if (ct === "" || n !== ct.replace(/:\d+:\d+$/, "")) return n;
671
672
  }
672
673
  return "<unknown>";
673
- }, ot = () => [...z.values()], st = (e, t, r) => {
674
- let a = at(), o = nt(), c = z.get(e);
675
- if (c !== void 0) {
676
- let t = Qe.get(e) ?? "<unknown>", n = tt.get(e) === o;
677
- if (a !== "<unknown>" && a === t && !n) return c;
678
- throw Error(`defineStore: '${e}' is already defined. Store names are the devtools + seed key, so two stores sharing one name would silently share state. Rename one.\n first: ${t}\n second: ${a}`);
679
- }
680
- let u = r?.persist, d = () => Fe(u?.storage === "session" ? "session" : "local"), f = () => {
681
- let e = d();
682
- if (e === null || u === void 0) return;
674
+ }, dt = () => [...H.values()], ft = (e, t, n) => {
675
+ let r = ut(), i = st(), a = H.get(e);
676
+ if (a !== void 0) {
677
+ let t = rt.get(e) ?? "<unknown>", n = ot.get(e) === i;
678
+ if (r !== "<unknown>" && r === t && !n) return a;
679
+ throw Error(`defineStore: '${e}' is already defined. Store names are the devtools + seed key, so two stores sharing one name would silently share state. Rename one.\n first: ${t}\n second: ${r}`);
680
+ }
681
+ let o = n?.persist, s = () => Be(o?.storage === "session" ? "session" : "local"), c = () => {
682
+ let e = s();
683
+ if (e === null || o === void 0) return;
683
684
  let t;
684
685
  try {
685
- t = e.getItem(u.key);
686
+ t = e.getItem(o.key);
686
687
  } catch {
687
688
  return;
688
689
  }
@@ -693,50 +694,50 @@ var at = () => {
693
694
  } catch {
694
695
  return;
695
696
  }
696
- return u.migrate ? u.migrate(n) : n;
697
- }, p = (e) => {
698
- let t = d();
699
- if (t === null || u === void 0) return;
700
- let n = u.pick ? u.pick(e) : e;
697
+ return o.migrate ? o.migrate(n) : n;
698
+ }, l = (e) => {
699
+ let t = s();
700
+ if (t === null || o === void 0) return;
701
+ let n = o.pick ? o.pick(e) : e;
701
702
  try {
702
- t.setItem(u.key, JSON.stringify(n));
703
+ t.setItem(o.key, JSON.stringify(n));
703
704
  } catch {}
704
- }, m = /* @__PURE__ */ new Map(), h = (n) => {
705
- let r = n ?? Be, i = m.get(r);
705
+ }, u = /* @__PURE__ */ new Map(), f = (n) => {
706
+ let r = n ?? Ge, i = u.get(r);
706
707
  if (i === void 0) {
707
708
  let a = n;
708
- i = Ue(u !== void 0 && n === void 0 ? () => {
709
+ i = Je(o !== void 0 && n === void 0 ? () => {
709
710
  let e = t();
710
- return g = e, {
711
+ return m = e, {
711
712
  ...e,
712
- ...f() ?? {}
713
+ ...c() ?? {}
713
714
  };
714
715
  } : t, (t, n, r) => {
715
- if (u !== void 0 && a === void 0 && p(n), !L && !R) {
716
- let e = v(a);
716
+ if (o !== void 0 && a === void 0 && l(n), !B && !V) {
717
+ let e = _(a);
717
718
  e.steps.length = e.cursor, e.steps.push({
718
719
  prev: t,
719
720
  next: n
720
721
  }), e.steps.length > y && e.steps.shift(), e.cursor = e.steps.length;
721
722
  }
722
- Ze({
723
+ nt({
723
724
  store: e,
724
725
  ...a === void 0 ? {} : { key: a },
725
726
  ...r === void 0 ? {} : { label: r },
726
- ...L || R ? { isUndo: !0 } : {},
727
+ ...B || V ? { isUndo: !0 } : {},
727
728
  prev: t,
728
729
  next: n,
729
730
  at: Date.now()
730
731
  });
731
- }), m.set(r, i);
732
+ }), u.set(r, i);
732
733
  }
733
734
  return i;
734
- }, g, _ = /* @__PURE__ */ new Map(), v = (e) => {
735
- let t = e ?? Be, n = _.get(t);
735
+ }, m, h = /* @__PURE__ */ new Map(), _ = (e) => {
736
+ let t = e ?? Ge, n = h.get(t);
736
737
  return n === void 0 && (n = {
737
738
  steps: [],
738
739
  cursor: 0
739
- }, _.set(t, n)), n;
740
+ }, h.set(t, n)), n;
740
741
  }, y = 100, b = /* @__PURE__ */ new Map(), x = /* @__PURE__ */ new Map(), S = (e) => {
741
742
  let t = x.get(e);
742
743
  t !== void 0 && (clearTimeout(t), x.delete(e)), b.set(e, (b.get(e) ?? 0) + 1);
@@ -747,106 +748,106 @@ var at = () => {
747
748
  return;
748
749
  }
749
750
  b.delete(e), x.set(e, setTimeout(() => {
750
- x.delete(e), (b.get(e) ?? 0) === 0 && m.delete(e);
751
+ x.delete(e), (b.get(e) ?? 0) === 0 && u.delete(e);
751
752
  }, 0));
752
753
  }, w = {
753
754
  name: e,
754
- use: (t, r) => {
755
- let a = h(r?.key), o = s(t);
756
- o.current = t;
757
- let c = s(r?.equals);
758
- c.current = r?.equals;
759
- let u = s({
755
+ use: (t, n) => {
756
+ let r = f(n?.key), i = g(t);
757
+ i.current = t;
758
+ let a = g(n?.equals);
759
+ a.current = n?.equals;
760
+ let o = g({
760
761
  state: void 0,
761
762
  value: void 0,
762
763
  has: !1
763
- }), d = n((t) => {
764
- let n = u.current;
764
+ }), s = d((t) => {
765
+ let n = o.current;
765
766
  if (n.has && Object.is(n.state, t)) return n.value;
766
- let r = o.current(t), i = c.current, a = n.has && (i ? i(n.value, r) : Object.is(n.value, r));
767
- process.env.NODE_ENV !== "production" && i === void 0 && n.has && !a && typeof r == "object" && r && F(n.value, r) && ze(e, `[@voltro/client] ${e}.use(): the selector returns a NEW object each call, so the default identity check never sees it as unchanged and this component re-renders on EVERY store change.\n Pass \`{ equals: shallow }\` (exported from @voltro/client), or select a primitive.`);
768
- let s = a ? n.value : r;
769
- return u.current = {
767
+ let r = i.current(t), s = a.current, c = n.has && (s ? s(n.value, r) : Object.is(n.value, r));
768
+ process.env.NODE_ENV !== "production" && s === void 0 && n.has && !c && typeof r == "object" && r && R(n.value, r) && We(e, `[@voltro/client] ${e}.use(): the selector returns a NEW object each call, so the default identity check never sees it as unchanged and this component re-renders on EVERY store change.\n Pass \`{ equals: shallow }\` (exported from @voltro/client), or select a primitive.`);
769
+ let l = c ? n.value : r;
770
+ return o.current = {
770
771
  state: t,
771
- value: s,
772
+ value: l,
772
773
  has: !0
773
- }, s;
774
- }, []), f = r?.key, p = r?.retain === !0, m = n((e) => {
775
- let t = a.subscribe(e);
776
- return f !== void 0 && !p && S(f), () => {
777
- t(), f !== void 0 && !p && C(f);
774
+ }, l;
775
+ }, []), c = n?.key, l = n?.retain === !0, u = d((e) => {
776
+ let t = r.subscribe(e);
777
+ return c !== void 0 && !l && S(c), () => {
778
+ t(), c !== void 0 && !l && C(c);
778
779
  };
779
780
  }, [
780
- a,
781
- f,
782
- p
783
- ]), _ = n(() => d(a.get()), [a, d]), v = n(() => d(He(e, r?.key, r?.key === void 0 && g !== void 0 ? g : a.get())), [
784
- a,
785
- r?.key,
786
- d
787
- ]), y = l(m, _, v);
788
- return i(y), y;
781
+ r,
782
+ c,
783
+ l
784
+ ]), h = d(() => s(r.get()), [r, s]), _ = d(() => s(qe(e, n?.key, n?.key === void 0 && m !== void 0 ? m : r.get())), [
785
+ r,
786
+ n?.key,
787
+ s
788
+ ]), y = v(u, h, _);
789
+ return p(y), y;
789
790
  },
790
- instance: h,
791
- get: (e) => h(e).get(),
791
+ instance: f,
792
+ get: (e) => f(e).get(),
792
793
  set: (e, t, n) => {
793
- h(t).set(e, n);
794
+ f(t).set(e, n);
794
795
  },
795
796
  batch: (e, t, n) => {
796
- h(n).batch(e, t);
797
+ f(n).batch(e, t);
797
798
  },
798
799
  undo: (e) => {
799
- let t = v(e);
800
+ let t = _(e);
800
801
  if (t.cursor === 0) return !1;
801
- --t.cursor, L = !0;
802
+ --t.cursor, B = !0;
802
803
  try {
803
- h(e).set(() => t.steps[t.cursor].prev, "undo");
804
+ f(e).set(() => t.steps[t.cursor].prev, "undo");
804
805
  } finally {
805
- L = !1;
806
+ B = !1;
806
807
  }
807
808
  return !0;
808
809
  },
809
810
  redo: (e) => {
810
- let t = v(e);
811
+ let t = _(e);
811
812
  if (t.cursor >= t.steps.length) return !1;
812
813
  let n = t.steps[t.cursor];
813
- t.cursor += 1, L = !0;
814
+ t.cursor += 1, B = !0;
814
815
  try {
815
- h(e).set(() => n.next, "redo");
816
+ f(e).set(() => n.next, "redo");
816
817
  } finally {
817
- L = !1;
818
+ B = !1;
818
819
  }
819
820
  return !0;
820
821
  },
821
- canUndo: (e) => v(e).cursor > 0,
822
+ canUndo: (e) => _(e).cursor > 0,
822
823
  canRedo: (e) => {
823
- let t = v(e);
824
+ let t = _(e);
824
825
  return t.cursor < t.steps.length;
825
826
  },
826
827
  release: (e) => {
827
- m.delete(e), _.delete(e);
828
+ u.delete(e), h.delete(e);
828
829
  },
829
- keys: () => [...m.keys()].filter((e) => e !== Be)
830
+ keys: () => [...u.keys()].filter((e) => e !== Ge)
830
831
  };
831
- return z.set(e, w), Qe.set(e, a), tt.set(e, o), w;
832
- }, ct = () => {
833
- z.clear(), Qe.clear(), tt.clear(), Re.clear();
834
- }, lt = () => ({ seeds: [] }), ut = (e) => {
835
- Ve = e;
836
- }, dt = (e, t, n) => {
837
- let r = Ve?.() ?? null;
832
+ return H.set(e, w), rt.set(e, r), ot.set(e, i), w;
833
+ }, pt = () => {
834
+ H.clear(), rt.clear(), ot.clear(), Ue.clear();
835
+ }, mt = () => ({ seeds: [] }), ht = (e) => {
836
+ Ke = e;
837
+ }, gt = (e, t, n) => {
838
+ let r = Ke?.() ?? null;
838
839
  if (r === null) throw Error(`seedStore('${e.name}') was called outside a server render. Seeding exists to put a value into the SSR hydration payload; on the client, set the store directly instead. (If this IS server code, the render did not install a seed bag — that is a framework bug.)`);
839
840
  r.seeds.push({
840
841
  store: e.name,
841
842
  ...n?.key === void 0 ? {} : { key: n.key },
842
843
  value: t
843
844
  });
844
- }, ft = (e) => {
845
+ }, _t = (e) => {
845
846
  if (e !== void 0) for (let t of e) {
846
- let e = z.get(t.store);
847
+ let e = H.get(t.store);
847
848
  e !== void 0 && e.set(t.value, t.key);
848
849
  }
849
- }, B = (e, t) => {
850
+ }, U = (e, t) => {
850
851
  let n = t.split("."), r = e;
851
852
  for (let e = 0; e < n.length; e++) {
852
853
  let i = n[e];
@@ -865,52 +866,52 @@ var at = () => {
865
866
  }
866
867
  if (typeof r != "function") throw Error(`@voltro/client: rpc tag ${JSON.stringify(t)} did not resolve to a callable method.`);
867
868
  return r;
868
- }, pt = Object.freeze({
869
+ }, vt = Object.freeze({
869
870
  data: void 0,
870
871
  revision: -1,
871
872
  emittedAt: void 0,
872
873
  error: void 0,
873
874
  pendingPatches: 0
874
- }), mt = () => pt;
875
- function V(e, t, r = {}, i = {}) {
876
- let a = i.skip === !0, { runtime: c, cache: u, client: d, descriptors: f } = N(e), p = f[t]?.source, m = s(r);
877
- m.current = r;
878
- let h = s(d);
879
- h.current = d;
880
- let g = o(() => JSON.stringify(Object.entries(r).sort(([e], [t]) => e.localeCompare(t))), [r]), _ = o(() => {
881
- let e = m.current;
875
+ }), yt = () => vt;
876
+ function W(e, t, n = {}, r = {}) {
877
+ let i = r.skip === !0, { runtime: a, cache: o, client: s, descriptors: c } = I(e), l = c[t]?.source, u = g(n);
878
+ u.current = n;
879
+ let f = g(s);
880
+ f.current = s;
881
+ let p = h(() => JSON.stringify(Object.entries(n).sort(([e], [t]) => e.localeCompare(t))), [n]), m = h(() => {
882
+ let e = u.current;
882
883
  return {
883
884
  queryKey: [t, e],
884
- fetch: () => B(h.current, t)(e)
885
+ fetch: () => U(f.current, t)(e)
885
886
  };
886
- }, [t, g]), v = _.queryKey, y = n((e) => a ? () => {} : u.subscribe(_.queryKey, _.fetch, c, e, p === void 0 ? {} : { source: p }).unsubscribe, [
887
- u,
888
- c,
889
- p,
887
+ }, [t, p]), _ = m.queryKey, y = d((e) => i ? () => {} : o.subscribe(m.queryKey, m.fetch, a, e, l === void 0 ? {} : { source: l }).unsubscribe, [
888
+ o,
890
889
  a,
890
+ l,
891
+ i,
892
+ m
893
+ ]), b = d(() => i ? vt : o.peek(_), [
894
+ o,
895
+ i,
891
896
  _
892
- ]), b = n(() => a ? pt : u.peek(v), [
893
- u,
894
- a,
895
- v
896
- ]), x = l(y, b, mt), S = x.data !== void 0, C = S && (Array.isArray(x.data) ? x.data.length === 0 : x.data === null), w = {
897
+ ]), x = v(y, b, yt), S = x.data !== void 0, C = S && (Array.isArray(x.data) ? x.data.length === 0 : x.data === null), w = {
897
898
  revision: x.revision,
898
899
  emittedAt: x.emittedAt,
899
900
  error: x.error,
900
901
  pendingPatches: x.pendingPatches
901
902
  };
902
- if (i.initialSnapshot !== void 0) {
903
- let e = Array.isArray(i.initialSnapshot) ? i.initialSnapshot.length === 0 : i.initialSnapshot === null;
903
+ if (r.initialSnapshot !== void 0) {
904
+ let e = Array.isArray(r.initialSnapshot) ? r.initialSnapshot.length === 0 : r.initialSnapshot === null;
904
905
  return {
905
906
  ...w,
906
- data: S ? x.data : i.initialSnapshot,
907
+ data: S ? x.data : r.initialSnapshot,
907
908
  loading: !1,
908
- idle: a,
909
+ idle: i,
909
910
  isEmpty: S ? C : e,
910
911
  failed: !1
911
912
  };
912
913
  }
913
- return i.fallback === void 0 ? a ? {
914
+ return r.fallback === void 0 ? i ? {
914
915
  ...w,
915
916
  data: void 0,
916
917
  loading: !1,
@@ -941,38 +942,38 @@ function V(e, t, r = {}, i = {}) {
941
942
  error: w.error
942
943
  } : {
943
944
  ...w,
944
- data: S ? x.data : i.fallback,
945
- loading: !S && !a,
946
- idle: a,
945
+ data: S ? x.data : r.fallback,
946
+ loading: !S && !i,
947
+ idle: i,
947
948
  isEmpty: C,
948
949
  failed: !S && w.error !== void 0
949
950
  };
950
951
  }
951
952
  //#endregion
952
953
  //#region src/runRpc.ts
953
- var H = async (e, t) => {
954
+ var G = async (e, t) => {
954
955
  let n = await e.runPromiseExit(t);
955
- if (m.isSuccess(n)) return n.value;
956
- throw u.squash(n.cause);
957
- }, ht = 100, U = [], gt = /* @__PURE__ */ new Set(), _t = [], vt = () => {
958
- _t = U.slice();
959
- }, yt = () => {
960
- vt();
961
- for (let e of gt) try {
956
+ if (C.isSuccess(n)) return n.value;
957
+ throw y.squash(n.cause);
958
+ }, bt = 100, K = [], xt = /* @__PURE__ */ new Set(), St = [], Ct = () => {
959
+ St = K.slice();
960
+ }, wt = () => {
961
+ Ct();
962
+ for (let e of xt) try {
962
963
  e();
963
964
  } catch {}
964
- }, bt = (e) => {
965
+ }, Tt = (e) => {
965
966
  let t = {
966
967
  ...e,
967
968
  status: "pending",
968
969
  startedAt: Date.now()
969
970
  };
970
- U.unshift(t), U.length > ht && (U.length = ht), yt();
971
- }, W = (e, t) => {
972
- let n = U.findIndex((t) => t.id === e);
971
+ K.unshift(t), K.length > bt && (K.length = bt), wt();
972
+ }, q = (e, t) => {
973
+ let n = K.findIndex((t) => t.id === e);
973
974
  if (n === -1) return;
974
- let r = U[n], i = Date.now();
975
- U[n] = t.status === "success" ? {
975
+ let r = K[n], i = Date.now();
976
+ K[n] = t.status === "success" ? {
976
977
  ...r,
977
978
  status: "success",
978
979
  output: t.output,
@@ -984,12 +985,12 @@ var H = async (e, t) => {
984
985
  error: t.error,
985
986
  settledAt: i,
986
987
  durationMs: i - r.startedAt
987
- }, yt();
988
- }, xt = () => _t, St = (e) => (gt.add(e), () => {
989
- gt.delete(e);
990
- }), Ct = () => {
991
- U.length !== 0 && (U.length = 0, yt());
992
- }, wt = (e, t) => {
988
+ }, wt();
989
+ }, Et = () => St, Dt = (e) => (xt.add(e), () => {
990
+ xt.delete(e);
991
+ }), Ot = () => {
992
+ K.length !== 0 && (K.length = 0, wt());
993
+ }, kt = (e, t) => {
993
994
  if (t === void 0 || typeof e != "object" || !e) return e;
994
995
  try {
995
996
  Object.defineProperty(e, "__voltroTraceId", {
@@ -999,107 +1000,107 @@ var H = async (e, t) => {
999
1000
  });
1000
1001
  } catch {}
1001
1002
  return e;
1002
- }, G, Tt = (e) => {
1003
- G = e;
1004
- }, Et = () => G, Dt = (e, t, n) => typeof e == "function" ? e(t, n) : e, Ot = 0, kt = () => `mut_${++Ot}`, At = 0, jt = () => {
1003
+ }, J, At = (e) => {
1004
+ J = e;
1005
+ }, jt = () => J, Mt = (e, t, n) => typeof e == "function" ? e(t, n) : e, Nt = 0, Pt = () => `mut_${++Nt}`, Ft = 0, It = () => {
1005
1006
  let e = typeof crypto < "u" ? crypto : void 0;
1006
- return e && typeof e.randomUUID == "function" ? e.randomUUID() : `idem_${Date.now().toString(36)}_${At += 1}`;
1007
- }, Mt = (e, t) => e.pipe(p.locallyWith(T.currentHeaders, (e) => w.set(e, "idempotency-key", t))), Nt = (e, t) => ({
1007
+ return e && typeof e.randomUUID == "function" ? e.randomUUID() : `idem_${Date.now().toString(36)}_${Ft += 1}`;
1008
+ }, Lt = (e, t) => e.pipe(S.locallyWith(k.currentHeaders, (e) => re.set(e, "idempotency-key", t))), Rt = (e, t) => ({
1008
1009
  update: (n, r) => {
1009
1010
  e.update(n, r, t);
1010
1011
  },
1011
1012
  forTag: (n, r) => e.forTag(n, r, t)
1012
- }), K = (e, t) => {
1013
- let { runtime: r, cache: i, client: a, descriptors: l, errorBus: u } = N(e), d = l[t], f = d?.targets;
1013
+ }), Y = (e, t) => {
1014
+ let { runtime: n, cache: r, client: i, descriptors: a, errorBus: o } = I(e), s = a[t], c = s?.targets;
1014
1015
  if (process.env.NODE_ENV !== "production") {
1015
- let n = d?.kind;
1016
+ let n = s?.kind;
1016
1017
  n !== void 0 && n !== "mutation" && console.error(`[@voltro/client] useMutation('${e}', '${t}') targets a ${n}, not a mutation. Use ${n === "action" ? "useAction" : n === "workflow" ? "useWorkflow" : `the ${n} hook`} instead.`);
1017
1018
  }
1018
- let [m, h] = c(!1), [g, _] = c(void 0), [v, y] = c(void 0), b = s(null), x = s(!1), S = n(async (n, o) => {
1019
- let s = o?.onError !== void 0 || o?.notify?.error !== void 0, c = (e) => {
1020
- o?.onError?.(e, n);
1021
- let t = Dt(o?.notify?.error, e, n);
1022
- t !== void 0 && G?.error(t);
1019
+ let [l, u] = _(!1), [f, p] = _(void 0), [m, v] = _(void 0), y = g(null), b = g(!1), x = d(async (a, s) => {
1020
+ let l = s?.onError !== void 0 || s?.notify?.error !== void 0, d = (e) => {
1021
+ s?.onError?.(e, a);
1022
+ let t = Mt(s?.notify?.error, e, a);
1023
+ t !== void 0 && J?.error(t);
1023
1024
  };
1024
- h(!0), _(void 0);
1025
- let l = kt(), d = o?.idempotencyKey ?? jt();
1026
- bt({
1027
- id: l,
1025
+ u(!0), p(void 0);
1026
+ let f = Pt(), m = s?.idempotencyKey ?? It();
1027
+ Tt({
1028
+ id: f,
1028
1029
  apiName: e,
1029
1030
  tag: t,
1030
- input: n
1031
+ input: a
1031
1032
  });
1032
- let m = b.current, g = x.current;
1033
- if (m) try {
1034
- m(Nt(i, l), n);
1033
+ let h = y.current, g = b.current;
1034
+ if (h) try {
1035
+ h(Rt(r, f), a);
1035
1036
  } catch (e) {
1036
- if (_(e), h(!1), i.revertByMutation(l), W(l, {
1037
+ if (p(e), u(!1), r.revertByMutation(f), q(f, {
1037
1038
  status: "error",
1038
1039
  error: e
1039
- }), s) return c(e);
1040
+ }), l) return d(e);
1040
1041
  throw e;
1041
1042
  }
1042
- else !g && f && f.length > 0 && i.autoApply(f, n, l);
1043
- let v;
1043
+ else !g && c && c.length > 0 && r.autoApply(c, a, f);
1044
+ let _;
1044
1045
  try {
1045
- let s = B(a, t), c = p.currentSpan.pipe(p.tap((e) => p.sync(() => {
1046
- v = e.traceId, D({
1046
+ let o = U(i, t), c = S.currentSpan.pipe(S.tap((e) => S.sync(() => {
1047
+ _ = e.traceId, A({
1047
1048
  traceId: e.traceId,
1048
1049
  spanId: e.spanId,
1049
1050
  source: "mutation",
1050
1051
  tag: t
1051
1052
  });
1052
- })), p.catchAll(() => p.void), p.zipRight(Mt(s(n), d))).pipe(p.withSpan(`client.mutation.${t}`, { attributes: {
1053
+ })), S.catchAll(() => S.void), S.zipRight(Lt(o(a), m))).pipe(S.withSpan(`client.mutation.${t}`, { attributes: {
1053
1054
  "voltro.api": e,
1054
- "voltro.mutationId": l,
1055
+ "voltro.mutationId": f,
1055
1056
  "rpc.tag": t
1056
- } })), u = await H(r, c);
1057
- y(u), W(l, {
1057
+ } })), l = await G(n, c);
1058
+ v(l), q(f, {
1058
1059
  status: "success",
1059
- output: u
1060
- }), i.confirmByMutation(l), o?.onSuccess?.(u, n);
1061
- let f = Dt(o?.notify?.success, u, n);
1062
- return f !== void 0 && G?.success(f), u;
1060
+ output: l
1061
+ }), r.confirmByMutation(f), s?.onSuccess?.(l, a);
1062
+ let u = Mt(s?.notify?.success, l, a);
1063
+ return u !== void 0 && J?.success(u), l;
1063
1064
  } catch (e) {
1064
- let n = wt(e, v);
1065
- if (_(n), W(l, {
1065
+ let n = kt(e, _);
1066
+ if (p(n), q(f, {
1066
1067
  status: "error",
1067
1068
  error: n
1068
- }), i.revertByMutation(l), u.emit({
1069
+ }), r.revertByMutation(f), o.emit({
1069
1070
  source: "mutation",
1070
1071
  tag: t,
1071
1072
  error: n,
1072
- ...v === void 0 ? {} : { traceId: v }
1073
- }), s) return c(n);
1073
+ ..._ === void 0 ? {} : { traceId: _ }
1074
+ }), l) return d(n);
1074
1075
  throw n;
1075
1076
  } finally {
1076
- h(!1);
1077
+ u(!1);
1077
1078
  }
1078
1079
  }, [
1080
+ n,
1079
1081
  r,
1080
1082
  i,
1081
- a,
1082
1083
  e,
1083
1084
  t,
1084
- f
1085
+ c
1085
1086
  ]);
1086
- return o(() => {
1087
+ return h(() => {
1087
1088
  let e = {
1088
- mutate: S,
1089
- pending: m,
1090
- error: g,
1091
- data: v,
1092
- withOptimistic: (t) => (b.current = t, e),
1093
- withoutOptimistic: () => (x.current = !0, e)
1089
+ mutate: x,
1090
+ pending: l,
1091
+ error: f,
1092
+ data: m,
1093
+ withOptimistic: (t) => (y.current = t, e),
1094
+ withoutOptimistic: () => (b.current = !0, e)
1094
1095
  };
1095
1096
  return e;
1096
1097
  }, [
1097
- S,
1098
- m,
1099
- g,
1100
- v
1098
+ x,
1099
+ l,
1100
+ f,
1101
+ m
1101
1102
  ]);
1102
- }, Pt = (e, t) => {
1103
+ }, zt = (e, t) => {
1103
1104
  if (t === void 0 || typeof e != "object" || !e) return e;
1104
1105
  try {
1105
1106
  Object.defineProperty(e, "__voltroTraceId", {
@@ -1109,228 +1110,228 @@ var H = async (e, t) => {
1109
1110
  });
1110
1111
  } catch {}
1111
1112
  return e;
1112
- }, Ft = (e, t, n) => typeof e == "function" ? e(t, n) : e, It = 0, Lt = () => `act_${++It}`, Rt = 15e3, zt = async (e, t, n) => {
1113
- if (!P(e.current)) return e.current;
1114
- let r = Date.now() + Rt;
1115
- for (; Date.now() < r;) if (await new Promise((e) => setTimeout(e, 16)), !P(e.current)) return e.current;
1116
- throw Error(`Voltro: the api "${t}" did not resolve within ${Rt}ms, so ${n} was never sent. This is not the boot window — that is waited out. Check that "${t}" is a configured api name and that its client could connect.`);
1117
- }, q = (e, t) => {
1118
- let r = N(e), { descriptors: i, errorBus: a } = r, l = s(r);
1119
- if (l.current = r, process.env.NODE_ENV !== "production") {
1120
- let n = i[t]?.kind;
1113
+ }, Bt = (e, t, n) => typeof e == "function" ? e(t, n) : e, Vt = 0, Ht = () => `act_${++Vt}`, Ut = 15e3, Wt = async (e, t, n) => {
1114
+ if (!L(e.current)) return e.current;
1115
+ let r = Date.now() + Ut;
1116
+ for (; Date.now() < r;) if (await new Promise((e) => setTimeout(e, 16)), !L(e.current)) return e.current;
1117
+ throw Error(`Voltro: the api "${t}" did not resolve within ${Ut}ms, so ${n} was never sent. This is not the boot window — that is waited out. Check that "${t}" is a configured api name and that its client could connect.`);
1118
+ }, X = (e, t) => {
1119
+ let n = I(e), { descriptors: r, errorBus: i } = n, a = g(n);
1120
+ if (a.current = n, process.env.NODE_ENV !== "production") {
1121
+ let n = r[t]?.kind;
1121
1122
  n !== void 0 && n !== "action" && console.error(`[@voltro/client] useAction('${e}', '${t}') targets a ${n}, not an action. Use ${n === "mutation" ? "useMutation" : n === "workflow" ? "useWorkflow" : `the ${n} hook`} instead.`);
1122
1123
  }
1123
- let [u, d] = c(!1), [f, m] = c(void 0), [h, g] = c(void 0), _ = n(async (n, r) => {
1124
- let i = r?.onError !== void 0 || r?.notify?.error !== void 0;
1125
- d(!0), m(void 0);
1126
- let o = Lt(), s = r?.idempotencyKey ?? jt();
1127
- bt({
1128
- id: o,
1124
+ let [o, s] = _(!1), [c, l] = _(void 0), [u, f] = _(void 0), p = d(async (n, r) => {
1125
+ let o = r?.onError !== void 0 || r?.notify?.error !== void 0;
1126
+ s(!0), l(void 0);
1127
+ let c = Ht(), u = r?.idempotencyKey ?? It();
1128
+ Tt({
1129
+ id: c,
1129
1130
  apiName: e,
1130
1131
  tag: t,
1131
1132
  input: n
1132
1133
  });
1133
- let c;
1134
+ let d;
1134
1135
  try {
1135
- let { runtime: i, client: a } = await zt(l, e, t), u = B(a, t), d = await H(i, p.currentSpan.pipe(p.tap((e) => p.sync(() => {
1136
- c = e.traceId, D({
1136
+ let { runtime: i, client: o } = await Wt(a, e, t), s = U(o, t), l = await G(i, S.currentSpan.pipe(S.tap((e) => S.sync(() => {
1137
+ d = e.traceId, A({
1137
1138
  traceId: e.traceId,
1138
1139
  spanId: e.spanId,
1139
1140
  source: "action",
1140
1141
  tag: t
1141
1142
  });
1142
- })), p.catchAll(() => p.void), p.zipRight(Mt(u(n), s))).pipe(p.withSpan(`client.action.${t}`, { attributes: {
1143
+ })), S.catchAll(() => S.void), S.zipRight(Lt(s(n), u))).pipe(S.withSpan(`client.action.${t}`, { attributes: {
1143
1144
  "voltro.api": e,
1144
- "voltro.actionId": o,
1145
+ "voltro.actionId": c,
1145
1146
  "rpc.tag": t
1146
1147
  } })));
1147
- g(d), W(o, {
1148
+ f(l), q(c, {
1148
1149
  status: "success",
1149
- output: d
1150
- }), r?.onSuccess?.(d, n);
1151
- let f = Ft(r?.notify?.success, d, n);
1152
- return f !== void 0 && Et()?.success(f), d;
1150
+ output: l
1151
+ }), r?.onSuccess?.(l, n);
1152
+ let p = Bt(r?.notify?.success, l, n);
1153
+ return p !== void 0 && jt()?.success(p), l;
1153
1154
  } catch (e) {
1154
- let s = Pt(e, c);
1155
- if (m(s), W(o, {
1155
+ let a = zt(e, d);
1156
+ if (l(a), q(c, {
1156
1157
  status: "error",
1157
- error: s
1158
- }), a.emit({
1158
+ error: a
1159
+ }), i.emit({
1159
1160
  source: "action",
1160
1161
  tag: t,
1161
- error: s,
1162
- ...c === void 0 ? {} : { traceId: c }
1163
- }), i) {
1164
- r?.onError?.(s, n);
1165
- let e = Ft(r?.notify?.error, s, n);
1166
- e !== void 0 && Et()?.error(e);
1162
+ error: a,
1163
+ ...d === void 0 ? {} : { traceId: d }
1164
+ }), o) {
1165
+ r?.onError?.(a, n);
1166
+ let e = Bt(r?.notify?.error, a, n);
1167
+ e !== void 0 && jt()?.error(e);
1167
1168
  return;
1168
1169
  }
1169
- throw s;
1170
+ throw a;
1170
1171
  } finally {
1171
- d(!1);
1172
+ s(!1);
1172
1173
  }
1173
1174
  }, [
1174
1175
  e,
1175
1176
  t,
1176
- a
1177
+ i
1177
1178
  ]);
1178
- return o(() => ({
1179
- run: _,
1180
- pending: u,
1181
- error: f,
1182
- lastResult: h
1179
+ return h(() => ({
1180
+ run: p,
1181
+ pending: o,
1182
+ error: c,
1183
+ lastResult: u
1183
1184
  }), [
1184
- _,
1185
- u,
1186
- f,
1187
- h
1185
+ p,
1186
+ o,
1187
+ c,
1188
+ u
1188
1189
  ]);
1189
- }, Bt = V, Vt = (e) => ({
1190
- useSubscription: (t, n, r) => Bt(e, t, n, r),
1191
- useMutation: (t) => K(e, t),
1192
- useAction: (t) => q(e, t)
1193
- }), Ht = () => ({ seeds: [] }), J = null, Ut = (e) => {
1194
- J = e;
1195
- }, Y = /* @__PURE__ */ new Map(), Wt = (e, t) => `${e}\u0000${t}`, Gt = (e, t, n, r) => {
1196
- let i = J?.() ?? null;
1190
+ }, Gt = W, Kt = (e) => ({
1191
+ useSubscription: (t, n, r) => Gt(e, t, n, r),
1192
+ useMutation: (t) => Y(e, t),
1193
+ useAction: (t) => X(e, t)
1194
+ }), qt = () => ({ seeds: [] }), Z = null, Jt = (e) => {
1195
+ Z = e;
1196
+ }, Q = /* @__PURE__ */ new Map(), Yt = (e, t) => `${e}\u0000${t}`, Xt = (e, t, n, r) => {
1197
+ let i = Z?.() ?? null;
1197
1198
  if (i === null) throw Error(`seedPreloadedSubscription('${e}', '${t}') was called outside a server render. Preload seeds exist to put a subscription's first value into the SSR hydration payload; on the client the live subscription already provides it. (If this IS server code, the render did not install a seed bag — that is a framework bug.)`);
1198
1199
  i.seeds.push({
1199
1200
  api: e,
1200
- key: O([t, n]),
1201
+ key: j([t, n]),
1201
1202
  value: r
1202
1203
  });
1203
- }, Kt = (e, t, n) => {
1204
- let r = J?.() ?? null;
1204
+ }, Zt = (e, t, n) => {
1205
+ let r = Z?.() ?? null;
1205
1206
  r !== null && r.seeds.push({
1206
1207
  api: e,
1207
- key: O([t, n]),
1208
+ key: j([t, n]),
1208
1209
  value: void 0,
1209
1210
  failed: !0
1210
1211
  });
1211
- }, qt = (e) => {
1212
- if (e !== void 0) for (let t of e) Y.set(Wt(t.api, t.key), {
1212
+ }, Qt = (e) => {
1213
+ if (e !== void 0) for (let t of e) Q.set(Yt(t.api, t.key), {
1213
1214
  value: t.value,
1214
1215
  failed: t.failed === !0
1215
1216
  });
1216
- }, Jt = (e, t, n) => {
1217
- let r = O([t, n]), i = J?.() ?? null;
1217
+ }, $t = (e, t, n) => {
1218
+ let r = j([t, n]), i = Z?.() ?? null;
1218
1219
  if (i !== null) {
1219
1220
  for (let t of i.seeds) if (t.api === e && t.key === r) return t.failed === !0 ? void 0 : t.value;
1220
1221
  return;
1221
1222
  }
1222
- let a = Y.get(Wt(e, r));
1223
+ let a = Q.get(Yt(e, r));
1223
1224
  return a === void 0 || a.failed ? void 0 : a.value;
1224
- }, Yt = (e, t, n) => {
1225
- let r = O([t, n]), i = J?.() ?? null;
1225
+ }, en = (e, t, n) => {
1226
+ let r = j([t, n]), i = Z?.() ?? null;
1226
1227
  if (i !== null) {
1227
1228
  for (let t of i.seeds) if (t.api === e && t.key === r) return t.failed === !0 ? "failed" : "seeded";
1228
1229
  return "absent";
1229
1230
  }
1230
- let a = Y.get(Wt(e, r));
1231
+ let a = Q.get(Yt(e, r));
1231
1232
  return a === void 0 ? "absent" : a.failed ? "failed" : "seeded";
1232
- }, Xt = () => {
1233
- Y.clear();
1233
+ }, tn = () => {
1234
+ Q.clear();
1234
1235
  };
1235
1236
  //#endregion
1236
1237
  //#region src/usePreloadedSubscription.ts
1237
- function Zt(e, t, n = {}, r = {}) {
1238
- let i = Jt(e, t, n), a = V(e, t, n, i === void 0 ? r : {
1238
+ function nn(e, t, n = {}, r = {}) {
1239
+ let i = $t(e, t, n), a = W(e, t, n, i === void 0 ? r : {
1239
1240
  ...r,
1240
1241
  initialSnapshot: i
1241
1242
  });
1242
- return Yt(e, t, n) === "failed" ? {
1243
+ return en(e, t, n) === "failed" ? {
1243
1244
  ...a,
1244
1245
  preloadFailed: !0
1245
1246
  } : a;
1246
1247
  }
1247
1248
  //#endregion
1248
1249
  //#region src/useEvent.ts
1249
- var Qt = {
1250
+ var rn = {
1250
1251
  status: "idle",
1251
1252
  missed: 0,
1252
1253
  lastMiss: void 0
1253
- }, $t = class {
1254
+ }, an = class {
1254
1255
  _tag = "EventStreamClosed";
1255
1256
  };
1256
- function en(e, t, r, i = {}) {
1257
- let { skip: o = !1, apiName: l = "app", onMissed: u } = i, d = N(l), { runtime: f, client: m } = d, [h, g] = c(Qt), _ = s(r);
1258
- _.current = r;
1259
- let v = s(u);
1260
- v.current = u;
1261
- let b = s(m);
1262
- b.current = m;
1263
- let S = s(f);
1264
- S.current = f;
1265
- let C = s(/* @__PURE__ */ new Map()), w = t === null ? null : JSON.stringify(Object.entries(t).sort(([e], [t]) => e < t ? -1 : 1)), T = s(t);
1266
- T.current = t;
1267
- let ee = s(null);
1268
- ee.current !== w && (ee.current = w, C.current = /* @__PURE__ */ new Map());
1269
- let te = n((e, t) => {
1270
- e <= 0 || (g((n) => ({
1257
+ function on(e, t, n, r = {}) {
1258
+ let { skip: i = !1, apiName: a = "app", onMissed: o } = r, s = I(a), { runtime: c, client: l } = s, [u, f] = _(rn), p = g(n);
1259
+ p.current = n;
1260
+ let h = g(o);
1261
+ h.current = o;
1262
+ let v = g(l);
1263
+ v.current = l;
1264
+ let y = g(c);
1265
+ y.current = c;
1266
+ let b = g(/* @__PURE__ */ new Map()), x = t === null ? null : JSON.stringify(Object.entries(t).sort(([e], [t]) => e < t ? -1 : 1)), C = g(t);
1267
+ C.current = t;
1268
+ let w = g(null);
1269
+ w.current !== x && (w.current = x, b.current = /* @__PURE__ */ new Map());
1270
+ let T = d((e, t) => {
1271
+ e <= 0 || (f((n) => ({
1271
1272
  ...n,
1272
1273
  missed: n.missed + e,
1273
1274
  lastMiss: {
1274
1275
  count: e,
1275
1276
  reason: t
1276
1277
  }
1277
- })), v.current?.({
1278
+ })), h.current?.({
1278
1279
  count: e,
1279
1280
  reason: t
1280
1281
  }));
1281
- }, []), E = !o && w !== null && !P(d);
1282
- return a(() => {
1282
+ }, []), E = !i && x !== null && !L(s);
1283
+ return m(() => {
1283
1284
  if (!E) {
1284
- g(Qt);
1285
+ f(rn);
1285
1286
  return;
1286
1287
  }
1287
- g((e) => ({
1288
+ f((e) => ({
1288
1289
  ...e,
1289
1290
  status: "connecting"
1290
1291
  }));
1291
- let t = 0, n = p.sync(() => {
1292
- let t = [...C.current].map(([e, t]) => ({
1292
+ let t = 0, n = S.sync(() => {
1293
+ let t = [...b.current].map(([e, t]) => ({
1293
1294
  origin: e,
1294
1295
  n: t
1295
1296
  }));
1296
- return B(b.current, e.name)({
1297
- key: T.current,
1297
+ return U(v.current, e.name)({
1298
+ key: C.current,
1298
1299
  ...t.length > 0 ? { resume: t } : {}
1299
1300
  });
1300
- }), r = x.unwrap(n).pipe(x.tap(() => p.sync(() => {
1301
+ }), r = O.unwrap(n).pipe(O.tap(() => S.sync(() => {
1301
1302
  t = 0;
1302
- })), x.concat(x.fail(new $t())), x.retry(y.exponential("250 millis", 2).pipe(y.either(y.spaced("30 seconds")), y.jittered, y.tapOutput(() => p.sync(() => {
1303
- t += 1, g((e) => ({
1303
+ })), O.concat(O.fail(new an())), O.retry(D.exponential("250 millis", 2).pipe(D.either(D.spaced("30 seconds")), D.jittered, D.tapOutput(() => S.sync(() => {
1304
+ t += 1, f((e) => ({
1304
1305
  ...e,
1305
1306
  status: "connecting"
1306
1307
  }));
1307
- }))))), i = S.current.runFork(x.runForEach(r, (e) => p.sync(() => {
1308
+ }))))), i = y.current.runFork(O.runForEach(r, (e) => S.sync(() => {
1308
1309
  if (e._tag === "attached") {
1309
- g((e) => ({
1310
+ f((e) => ({
1310
1311
  ...e,
1311
1312
  status: "live"
1312
1313
  }));
1313
1314
  return;
1314
1315
  }
1315
1316
  if (e._tag === "gap") {
1316
- te(e.missed, e.reason);
1317
+ T(e.missed, e.reason);
1317
1318
  return;
1318
1319
  }
1319
- C.current.set(e.origin, Math.max(C.current.get(e.origin) ?? 0, e.n)), _.current(e.payload);
1320
+ b.current.set(e.origin, Math.max(b.current.get(e.origin) ?? 0, e.n)), p.current(e.payload);
1320
1321
  })));
1321
1322
  return () => {
1322
- S.current.runFork(i.interruptAsFork(i.id()));
1323
+ y.current.runFork(i.interruptAsFork(i.id()));
1323
1324
  };
1324
1325
  }, [
1325
1326
  E,
1326
- w,
1327
+ x,
1327
1328
  e.name,
1328
- te
1329
- ]), E ? h : Qt;
1329
+ T
1330
+ ]), E ? u : rn;
1330
1331
  }
1331
1332
  //#endregion
1332
1333
  //#region src/sequence.ts
1333
- var tn = () => {
1334
+ var sn = () => {
1334
1335
  let e = (t) => ({
1335
1336
  steps: t,
1336
1337
  step: ((n, r, i) => e([...t, {
@@ -1342,7 +1343,7 @@ var tn = () => {
1342
1343
  }]))
1343
1344
  });
1344
1345
  return e([]);
1345
- }, nn = async (e, t = {}) => {
1346
+ }, cn = async (e, t = {}) => {
1346
1347
  let n = {}, r = [];
1347
1348
  for (let i of e.steps) {
1348
1349
  if (i.when !== void 0 && !i.when(n)) {
@@ -1402,26 +1403,26 @@ var tn = () => {
1402
1403
  ok: !0,
1403
1404
  data: n
1404
1405
  };
1405
- }, rn = (e = {}) => {
1406
- let [t, r] = c(!1), [i, a] = c(void 0), [o, l] = c(void 0), u = s(e);
1407
- return u.current = e, {
1408
- run: n(async (e, t = {}) => {
1409
- r(!0), a(void 0), l(void 0);
1406
+ }, ln = (e = {}) => {
1407
+ let [t, n] = _(!1), [r, i] = _(void 0), [a, o] = _(void 0), s = g(e);
1408
+ return s.current = e, {
1409
+ run: d(async (e, t = {}) => {
1410
+ n(!0), i(void 0), o(void 0);
1410
1411
  try {
1411
- let n = await nn(e, {
1412
- ...u.current,
1412
+ let n = await cn(e, {
1413
+ ...s.current,
1413
1414
  ...t
1414
1415
  });
1415
- return n.ok || (a(n.error), l(n.failedStep)), n;
1416
+ return n.ok || (i(n.error), o(n.failedStep)), n;
1416
1417
  } finally {
1417
- r(!1);
1418
+ n(!1);
1418
1419
  }
1419
1420
  }, []),
1420
1421
  pending: t,
1421
- error: i,
1422
- failedStep: o
1422
+ error: r,
1423
+ failedStep: a
1423
1424
  };
1424
- }, an = "storage.mintUploadTicket", on = "storage.mintPresignedUpload", sn = "storage.finalizeUpload", cn = "storage.beginResumableUpload", ln = "storage.beginMultipartUpload", un = "storage.signMultipartPart", dn = "storage.completeMultipartUpload", fn = "storage.abortMultipartUpload", pn = (e, t, n, r) => new Promise((i, a) => {
1425
+ }, un = "storage.mintUploadTicket", dn = "storage.mintPresignedUpload", fn = "storage.finalizeUpload", pn = "storage.beginResumableUpload", mn = "storage.beginMultipartUpload", hn = "storage.signMultipartPart", gn = "storage.completeMultipartUpload", _n = "storage.abortMultipartUpload", vn = (e, t, n, r) => new Promise((i, a) => {
1425
1426
  let o = new XMLHttpRequest();
1426
1427
  if (o.open("PUT", e), o.upload.onprogress = (e) => {
1427
1428
  e.lengthComputable && n(e.loaded / e.total);
@@ -1435,7 +1436,7 @@ var tn = () => {
1435
1436
  return;
1436
1437
  }
1437
1438
  r.addEventListener("abort", () => o.abort(), { once: !0 }), o.send(t);
1438
- }), mn = (e, t, n, r, i, a) => new Promise((o, s) => {
1439
+ }), yn = (e, t, n, r, i, a) => new Promise((o, s) => {
1439
1440
  let c = new XMLHttpRequest();
1440
1441
  if (c.open("POST", e), c.setRequestHeader("content-type", t), c.upload.onprogress = (e) => {
1441
1442
  e.lengthComputable && r(e.loaded / e.total);
@@ -1453,7 +1454,7 @@ var tn = () => {
1453
1454
  return;
1454
1455
  }
1455
1456
  i.addEventListener("abort", () => c.abort(), { once: !0 }), c.send(n);
1456
- }), hn = (e, t, n, r, i) => new Promise((a, o) => {
1457
+ }), bn = (e, t, n, r, i) => new Promise((a, o) => {
1457
1458
  let s = new XMLHttpRequest();
1458
1459
  if (s.open("PUT", e), s.setRequestHeader("content-type", t), s.upload.onprogress = (e) => {
1459
1460
  e.lengthComputable && r(e.loaded / e.total);
@@ -1464,7 +1465,7 @@ var tn = () => {
1464
1465
  return;
1465
1466
  }
1466
1467
  i.addEventListener("abort", () => s.abort(), { once: !0 }), s.send(n);
1467
- }), gn = (e, t, n, r, i) => new Promise((a, o) => {
1468
+ }), xn = (e, t, n, r, i) => new Promise((a, o) => {
1468
1469
  let s = new XMLHttpRequest();
1469
1470
  if (s.open("POST", e), s.setRequestHeader("content-type", t), s.upload.onprogress = (e) => {
1470
1471
  e.lengthComputable && r(e.loaded / e.total);
@@ -1480,18 +1481,18 @@ var tn = () => {
1480
1481
  return;
1481
1482
  }
1482
1483
  i.addEventListener("abort", () => s.abort(), { once: !0 }), s.send(n);
1483
- }), _n = (e, t = {}) => {
1484
- let { runtime: r, client: i, inspectBaseUrl: a, errorBus: l } = N(e), [u, d] = c(0), [f, p] = c("idle"), [m, h] = c(void 0), g = s(null), _ = n(() => {
1485
- d(0), p("idle"), h(void 0);
1486
- }, []), v = n(() => {
1487
- g.current?.abort();
1488
- }, []), y = n((e) => /^https?:\/\//.test(e) ? e : `${a}${e}`, [a]), b = n(async (e, n, a, o) => {
1489
- let s = Math.max(0, n.retries ?? t.retries ?? 1), c = (e instanceof File, e.type || "application/octet-stream"), l = e instanceof File ? e.name : "blob", u = n.visibility ?? t.visibility, d = n.key ?? t.key, f = n.folder ?? t.folder, p = n.tags ?? t.tags, m = {
1484
+ }), Sn = (e, t = {}) => {
1485
+ let { runtime: n, client: r, inspectBaseUrl: i, errorBus: a } = I(e), [o, s] = _(0), [c, l] = _("idle"), [u, f] = _(void 0), p = g(null), m = d(() => {
1486
+ s(0), l("idle"), f(void 0);
1487
+ }, []), v = d(() => {
1488
+ p.current?.abort();
1489
+ }, []), y = d((e) => /^https?:\/\//.test(e) ? e : `${i}${e}`, [i]), b = d(async (e, i, a, o) => {
1490
+ let s = Math.max(0, i.retries ?? t.retries ?? 1), c = (e instanceof File, e.type || "application/octet-stream"), l = e instanceof File ? e.name : "blob", u = i.visibility ?? t.visibility, d = i.key ?? t.key, f = i.folder ?? t.folder, p = i.tags ?? t.tags, m = {
1490
1491
  ...u ? { visibility: u } : {},
1491
1492
  ...f ? { folder: f } : {},
1492
1493
  ...p ? { tags: p } : {},
1493
- ...n.alt ? { alt: n.alt } : {},
1494
- ...n.caption ? { caption: n.caption } : {}
1494
+ ...i.alt ? { alt: i.alt } : {},
1495
+ ...i.caption ? { caption: i.caption } : {}
1495
1496
  }, h = (e) => ({
1496
1497
  id: e.id,
1497
1498
  url: y(e.url),
@@ -1501,39 +1502,39 @@ var tn = () => {
1501
1502
  ...e.width === void 0 ? {} : { width: e.width },
1502
1503
  ...e.height === void 0 ? {} : { height: e.height }
1503
1504
  }), g = async () => {
1504
- let s = n.mintTag ?? t.mintTag ?? an, l = B(i, s), u = await H(r, l({
1505
+ let s = i.mintTag ?? t.mintTag ?? un, l = U(r, s), u = await G(n, l({
1505
1506
  contentType: c,
1506
1507
  ...m,
1507
1508
  ...d ? { key: d } : {}
1508
- })), f = await gn(y(u.uploadUrl), c, e, o, a);
1509
+ })), f = await xn(y(u.uploadUrl), c, e, o, a);
1509
1510
  return h(f);
1510
1511
  }, _ = async () => {
1511
- let s = n.presignMintTag ?? t.presignMintTag ?? on, l = n.finalizeTag ?? t.finalizeTag ?? sn, u;
1512
+ let s = i.presignMintTag ?? t.presignMintTag ?? dn, l = i.finalizeTag ?? t.finalizeTag ?? fn, u;
1512
1513
  try {
1513
- let e = B(i, s);
1514
- u = await H(r, e({
1514
+ let e = U(r, s);
1515
+ u = await G(n, e({
1515
1516
  contentType: c,
1516
1517
  ...m
1517
1518
  }));
1518
1519
  } catch {
1519
1520
  return null;
1520
1521
  }
1521
- await hn(u.uploadUrl, c, e, o, a);
1522
- let d = B(i, l), f = await H(r, d({ finalizeToken: u.finalizeToken }));
1522
+ await bn(u.uploadUrl, c, e, o, a);
1523
+ let d = U(r, l), f = await G(n, d({ finalizeToken: u.finalizeToken }));
1523
1524
  return h(f);
1524
1525
  }, v = async () => {
1525
- let s = n.beginResumableTag ?? t.beginResumableTag ?? cn, l = B(i, s), u = e.size, d = n.chunkSize ?? t.chunkSize, f = await H(r, l({
1526
+ let s = i.beginResumableTag ?? t.beginResumableTag ?? pn, l = U(r, s), u = e.size, d = i.chunkSize ?? t.chunkSize, f = await G(n, l({
1526
1527
  contentType: c,
1527
1528
  size: u,
1528
1529
  ...m,
1529
1530
  ...d ? { chunkSize: d } : {}
1530
- })), p = y(f.uploadUrl), g = Math.max(1, f.chunkSize), _ = Math.max(1, Math.ceil(u / g)), v = Math.max(0, n.retries ?? t.retries ?? 1), b = 0, x = null;
1531
+ })), p = y(f.uploadUrl), g = Math.max(1, f.chunkSize), _ = Math.max(1, Math.ceil(u / g)), v = Math.max(0, i.retries ?? t.retries ?? 1), b = 0, x = null;
1531
1532
  for (let t = 0; t < _; t++) {
1532
1533
  let n = t * g, r = Math.min(u, n + g), i = e.slice(n, r), s = t === _ - 1, l = r - n, d = 0;
1533
1534
  for (;;) {
1534
1535
  if (a.aborted) throw new DOMException("upload aborted", "AbortError");
1535
1536
  try {
1536
- let e = await mn(`${p}?${`token=${encodeURIComponent(f.resumableToken)}&index=${t}${s ? "&final=1" : ""}`}`, c, i, (e) => o((b + e * l) / u), a, s);
1537
+ let e = await yn(`${p}?${`token=${encodeURIComponent(f.resumableToken)}&index=${t}${s ? "&final=1" : ""}`}`, c, i, (e) => o((b + e * l) / u), a, s);
1537
1538
  s && (x = e);
1538
1539
  break;
1539
1540
  } catch (e) {
@@ -1545,10 +1546,10 @@ var tn = () => {
1545
1546
  if (!x) throw Error("resumable upload produced no final reply");
1546
1547
  return h(x);
1547
1548
  }, b = async () => {
1548
- let s = n.multipartBeginTag ?? t.multipartBeginTag ?? ln, u = n.multipartSignTag ?? t.multipartSignTag ?? un, d = n.multipartCompleteTag ?? t.multipartCompleteTag ?? dn, f = n.multipartAbortTag ?? t.multipartAbortTag ?? fn, p = e.size, h = n.chunkSize ?? t.chunkSize, g;
1549
+ let s = i.multipartBeginTag ?? t.multipartBeginTag ?? mn, u = i.multipartSignTag ?? t.multipartSignTag ?? hn, d = i.multipartCompleteTag ?? t.multipartCompleteTag ?? gn, f = i.multipartAbortTag ?? t.multipartAbortTag ?? _n, p = e.size, h = i.chunkSize ?? t.chunkSize, g;
1549
1550
  try {
1550
- let e = B(i, s);
1551
- g = await H(r, e({
1551
+ let e = U(r, s);
1552
+ g = await G(n, e({
1552
1553
  contentType: c,
1553
1554
  size: p,
1554
1555
  ...m,
@@ -1557,17 +1558,17 @@ var tn = () => {
1557
1558
  } catch {
1558
1559
  return null;
1559
1560
  }
1560
- let _ = B(i, u), v = B(i, d), b = B(i, f), x = Math.max(1, g.partSize), S = Math.max(1, Math.ceil(p / x)), C = Math.max(0, n.retries ?? t.retries ?? 1), w = [], T = 0;
1561
+ let _ = U(r, u), v = U(r, d), b = U(r, f), x = Math.max(1, g.partSize), S = Math.max(1, Math.ceil(p / x)), C = Math.max(0, i.retries ?? t.retries ?? 1), w = [], T = 0;
1561
1562
  try {
1562
1563
  for (let t = 0; t < S; t++) {
1563
- let n = t * x, i = Math.min(p, n + x), s = e.slice(n, i), c = t + 1, l = i - n, u = 0;
1564
+ let r = t * x, i = Math.min(p, r + x), s = e.slice(r, i), c = t + 1, l = i - r, u = 0;
1564
1565
  for (;;) {
1565
1566
  if (a.aborted) throw new DOMException("upload aborted", "AbortError");
1566
1567
  try {
1567
- let { url: e } = await H(r, _({
1568
+ let { url: e } = await G(n, _({
1568
1569
  multipartToken: g.multipartToken,
1569
1570
  partNumber: c
1570
- })), t = await pn(e, s, (e) => o((T + e * l) / p), a);
1571
+ })), t = await vn(e, s, (e) => o((T + e * l) / p), a);
1571
1572
  w.push({
1572
1573
  partNumber: c,
1573
1574
  etag: t
@@ -1579,7 +1580,7 @@ var tn = () => {
1579
1580
  }
1580
1581
  T += l, o(T / p);
1581
1582
  }
1582
- let t = await H(r, v({
1583
+ let t = await G(n, v({
1583
1584
  multipartToken: g.multipartToken,
1584
1585
  parts: w
1585
1586
  }));
@@ -1592,14 +1593,14 @@ var tn = () => {
1592
1593
  };
1593
1594
  } catch (e) {
1594
1595
  try {
1595
- await H(r, b({ multipartToken: g.multipartToken }));
1596
+ await G(n, b({ multipartToken: g.multipartToken }));
1596
1597
  } catch {}
1597
1598
  throw e;
1598
1599
  }
1599
1600
  };
1600
- if ((n.prefer ?? t.prefer) === "multipart") return await b() || await v();
1601
- if ((n.prefer ?? t.prefer) === "resumable") return await v();
1602
- let x = (n.prefer ?? t.prefer) === "presign", S;
1601
+ if ((i.prefer ?? t.prefer) === "multipart") return await b() || await v();
1602
+ if ((i.prefer ?? t.prefer) === "resumable") return await v();
1603
+ let x = (i.prefer ?? t.prefer) === "presign", S;
1603
1604
  for (let e = 0; e <= s; e++) {
1604
1605
  if (a.aborted) throw new DOMException("upload aborted", "AbortError");
1605
1606
  try {
@@ -1614,8 +1615,8 @@ var tn = () => {
1614
1615
  }
1615
1616
  throw S;
1616
1617
  }, [
1618
+ n,
1617
1619
  r,
1618
- i,
1619
1620
  y,
1620
1621
  t.mintTag,
1621
1622
  t.presignMintTag,
@@ -1632,283 +1633,283 @@ var tn = () => {
1632
1633
  t.folder,
1633
1634
  t.tags,
1634
1635
  t.retries
1635
- ]), x = n(async (e, n = {}) => {
1636
+ ]), x = d(async (e, n = {}) => {
1636
1637
  let r = new AbortController();
1637
- g.current = r, p("uploading"), h(void 0), d(0);
1638
+ p.current = r, l("uploading"), f(void 0), s(0);
1638
1639
  try {
1639
- let t = await b(e, n, r.signal, d);
1640
- return d(1), p("success"), t;
1640
+ let t = await b(e, n, r.signal, s);
1641
+ return s(1), l("success"), t;
1641
1642
  } catch (e) {
1642
- throw p("error"), h(e), e instanceof DOMException && e.name === "AbortError" || l.emit({
1643
+ throw l("error"), f(e), e instanceof DOMException && e.name === "AbortError" || a.emit({
1643
1644
  source: "action",
1644
- tag: n.mintTag ?? t.mintTag ?? an,
1645
+ tag: n.mintTag ?? t.mintTag ?? un,
1645
1646
  error: e
1646
1647
  }), e;
1647
1648
  }
1648
1649
  }, [
1649
1650
  b,
1650
- l,
1651
+ a,
1651
1652
  t.mintTag
1652
- ]), S = n(async (e, n = {}) => {
1653
+ ]), S = d(async (e, n = {}) => {
1653
1654
  if (e.length === 0) return [];
1654
1655
  let r = new AbortController();
1655
- g.current = r, p("uploading"), h(void 0), d(0);
1656
- let i = Math.max(1, n.concurrency ?? t.concurrency ?? 3), a = Array(e.length), o = Array(e.length).fill(0), s = () => d(o.reduce((e, t) => e + t, 0) / e.length), c = 0, u = async () => {
1656
+ p.current = r, l("uploading"), f(void 0), s(0);
1657
+ let i = Math.max(1, n.concurrency ?? t.concurrency ?? 3), o = Array(e.length), c = Array(e.length).fill(0), u = () => s(c.reduce((e, t) => e + t, 0) / e.length), d = 0, m = async () => {
1657
1658
  for (;;) {
1658
- let t = c++;
1659
+ let t = d++;
1659
1660
  if (t >= e.length) return;
1660
- a[t] = await b(e[t], n, r.signal, (e) => {
1661
- o[t] = e, s();
1662
- }), o[t] = 1, s();
1661
+ o[t] = await b(e[t], n, r.signal, (e) => {
1662
+ c[t] = e, u();
1663
+ }), c[t] = 1, u();
1663
1664
  }
1664
1665
  };
1665
1666
  try {
1666
- return await Promise.all(Array.from({ length: Math.min(i, e.length) }, () => u())), d(1), p("success"), a;
1667
+ return await Promise.all(Array.from({ length: Math.min(i, e.length) }, () => m())), s(1), l("success"), o;
1667
1668
  } catch (e) {
1668
- throw r.abort(), p("error"), h(e), e instanceof DOMException && e.name === "AbortError" || l.emit({
1669
+ throw r.abort(), l("error"), f(e), e instanceof DOMException && e.name === "AbortError" || a.emit({
1669
1670
  source: "action",
1670
- tag: n.mintTag ?? t.mintTag ?? an,
1671
+ tag: n.mintTag ?? t.mintTag ?? un,
1671
1672
  error: e
1672
1673
  }), e;
1673
1674
  }
1674
1675
  }, [
1675
1676
  b,
1676
- l,
1677
+ a,
1677
1678
  t.concurrency,
1678
1679
  t.mintTag
1679
- ]), C = n((e, t = {}) => {
1680
+ ]), C = d((e, t = {}) => {
1680
1681
  e.preventDefault();
1681
1682
  let n = e.dataTransfer ? Array.from(e.dataTransfer.files) : [];
1682
1683
  return n.length ? S(n, t) : Promise.resolve([]);
1683
- }, [S]), w = n((e, t = {}) => {
1684
+ }, [S]), w = d((e, t = {}) => {
1684
1685
  let n = e.clipboardData ? Array.from(e.clipboardData.files) : [];
1685
1686
  return n.length ? S(n, t) : Promise.resolve([]);
1686
- }, [S]), T = o(() => ({
1687
+ }, [S]), T = h(() => ({
1687
1688
  onDragOver: (e) => e.preventDefault(),
1688
1689
  onDrop: (e) => {
1689
1690
  C(e);
1690
1691
  }
1691
1692
  }), [C]);
1692
- return o(() => ({
1693
+ return h(() => ({
1693
1694
  upload: x,
1694
1695
  uploadMany: S,
1695
- progress: u,
1696
- status: f,
1697
- error: m,
1696
+ progress: o,
1697
+ status: c,
1698
+ error: u,
1698
1699
  cancel: v,
1699
- reset: _,
1700
+ reset: m,
1700
1701
  onDrop: C,
1701
1702
  onPaste: w,
1702
1703
  dropzoneProps: T
1703
1704
  }), [
1704
1705
  x,
1705
1706
  S,
1707
+ o,
1708
+ c,
1706
1709
  u,
1707
- f,
1708
- m,
1709
1710
  v,
1710
- _,
1711
+ m,
1711
1712
  C,
1712
1713
  w,
1713
1714
  T
1714
1715
  ]);
1715
- }, X = async (e) => {
1716
- let t = B(e.client, e.tag), n = p.currentSpan.pipe(p.tap((t) => p.sync(() => {
1717
- D({
1716
+ }, $ = async (e) => {
1717
+ let t = U(e.client, e.tag), n = S.currentSpan.pipe(S.tap((t) => S.sync(() => {
1718
+ A({
1718
1719
  traceId: t.traceId,
1719
1720
  spanId: t.spanId,
1720
1721
  source: "mutation",
1721
1722
  tag: e.tag
1722
1723
  });
1723
- })), p.catchAll(() => p.void), p.zipRight(t(e.input)), p.withSpan(`${e.spanPrefix}.${e.tag}`, { attributes: {
1724
+ })), S.catchAll(() => S.void), S.zipRight(t(e.input)), S.withSpan(`${e.spanPrefix}.${e.tag}`, { attributes: {
1724
1725
  "voltro.api": e.apiName,
1725
1726
  "rpc.tag": e.tag
1726
1727
  } }));
1727
- return H(e.runtime, n);
1728
- }, vn = (e, t) => {
1729
- let { runtime: r, client: i, descriptors: a } = N(e);
1728
+ return G(e.runtime, n);
1729
+ }, Cn = (e, t) => {
1730
+ let { runtime: n, client: r, descriptors: i } = I(e);
1730
1731
  if (process.env.NODE_ENV !== "production") {
1731
- let n = a[t]?.kind;
1732
+ let n = i[t]?.kind;
1732
1733
  n !== void 0 && n !== "workflow" && console.error(`[@voltro/client] useWorkflow('${e}', '${t}') targets a ${n}, not a workflow. Use ${n === "mutation" ? "useMutation" : n === "action" ? "useAction" : `the ${n} hook`} instead.`);
1733
1734
  }
1734
- let [s, l] = c(!1), [u, d] = c(void 0), [f, p] = c(void 0), m = n(async (n) => {
1735
- l(!0), d(void 0);
1735
+ let [a, o] = _(!1), [s, c] = _(void 0), [l, u] = _(void 0), f = d(async (i) => {
1736
+ o(!0), c(void 0);
1736
1737
  try {
1737
- let a = await X({
1738
+ let a = await $({
1738
1739
  apiName: e,
1739
- runtime: r,
1740
- client: i,
1740
+ runtime: n,
1741
+ client: r,
1741
1742
  tag: t,
1742
- input: n,
1743
+ input: i,
1743
1744
  spanPrefix: "client.workflow.start"
1744
1745
  });
1745
- return p(a), a;
1746
+ return u(a), a;
1746
1747
  } catch (e) {
1747
- throw d(e), e;
1748
+ throw c(e), e;
1748
1749
  } finally {
1749
- l(!1);
1750
+ o(!1);
1750
1751
  }
1751
1752
  }, [
1752
1753
  e,
1754
+ n,
1753
1755
  r,
1754
- i,
1755
1756
  t
1756
- ]), h = n(async (t) => {
1757
- await X({
1757
+ ]), p = d(async (t) => {
1758
+ await $({
1758
1759
  apiName: e,
1759
- runtime: r,
1760
- client: i,
1760
+ runtime: n,
1761
+ client: r,
1761
1762
  tag: "__voltro.workflow.cancel",
1762
1763
  input: t,
1763
1764
  spanPrefix: "client.workflow.cancel"
1764
1765
  });
1765
1766
  }, [
1766
1767
  e,
1767
- r,
1768
- i
1769
- ]), g = n(async (t) => {
1770
- await X({
1768
+ n,
1769
+ r
1770
+ ]), m = d(async (t) => {
1771
+ await $({
1771
1772
  apiName: e,
1772
- runtime: r,
1773
- client: i,
1773
+ runtime: n,
1774
+ client: r,
1774
1775
  tag: "__voltro.workflow.resume",
1775
1776
  input: t,
1776
1777
  spanPrefix: "client.workflow.resume"
1777
1778
  });
1778
1779
  }, [
1779
1780
  e,
1780
- r,
1781
- i
1782
- ]), _ = n(async (t, n, a) => X({
1781
+ n,
1782
+ r
1783
+ ]), g = d(async (t, i, a) => $({
1783
1784
  apiName: e,
1784
- runtime: r,
1785
- client: i,
1785
+ runtime: n,
1786
+ client: r,
1786
1787
  tag: "__voltro.workflow.signal",
1787
1788
  input: {
1788
1789
  id: t.id,
1789
- signalName: n,
1790
+ signalName: i,
1790
1791
  ...a === void 0 ? {} : { payload: a }
1791
1792
  },
1792
1793
  spanPrefix: "client.workflow.signal"
1793
1794
  }), [
1794
1795
  e,
1795
- r,
1796
- i
1797
- ]), v = n(async (t, n, a, o) => X({
1796
+ n,
1797
+ r
1798
+ ]), v = d(async (t, i, a, o) => $({
1798
1799
  apiName: e,
1799
- runtime: r,
1800
- client: i,
1800
+ runtime: n,
1801
+ client: r,
1801
1802
  tag: "__voltro.workflow.update",
1802
1803
  input: {
1803
1804
  id: t.id,
1804
- updateName: n,
1805
+ updateName: i,
1805
1806
  ...a === void 0 ? {} : { payload: a },
1806
1807
  ...o?.timeoutMs === void 0 ? {} : { timeoutMs: o.timeoutMs }
1807
1808
  },
1808
1809
  spanPrefix: "client.workflow.update"
1809
1810
  }), [
1810
1811
  e,
1811
- r,
1812
- i
1812
+ n,
1813
+ r
1813
1814
  ]);
1814
- return o(() => ({
1815
- start: m,
1816
- cancel: h,
1817
- resume: g,
1818
- signal: _,
1815
+ return h(() => ({
1816
+ start: f,
1817
+ cancel: p,
1818
+ resume: m,
1819
+ signal: g,
1819
1820
  update: v,
1820
- pending: s,
1821
- error: u,
1822
- data: f
1821
+ pending: a,
1822
+ error: s,
1823
+ data: l
1823
1824
  }), [
1825
+ f,
1826
+ p,
1824
1827
  m,
1825
- h,
1826
1828
  g,
1827
- _,
1828
1829
  v,
1830
+ a,
1829
1831
  s,
1830
- u,
1831
- f
1832
+ l
1832
1833
  ]);
1833
- }, yn = (e) => {
1834
- let { runtime: t, client: r } = N(e), [i, a] = c(!1), [s, l] = c(void 0), [u, d] = c(void 0), f = n(async (n, i, o) => {
1835
- a(!0), l(void 0);
1834
+ }, wn = (e) => {
1835
+ let { runtime: t, client: n } = I(e), [r, i] = _(!1), [a, o] = _(void 0), [s, c] = _(void 0), l = d(async (r, a, s) => {
1836
+ i(!0), o(void 0);
1836
1837
  try {
1837
- let a = await X({
1838
+ let i = await $({
1838
1839
  apiName: e,
1839
1840
  runtime: t,
1840
- client: r,
1841
+ client: n,
1841
1842
  tag: "__voltro.workflow.signal",
1842
1843
  input: {
1843
- id: n.id,
1844
- signalName: i,
1845
- ...o === void 0 ? {} : { payload: o }
1844
+ id: r.id,
1845
+ signalName: a,
1846
+ ...s === void 0 ? {} : { payload: s }
1846
1847
  },
1847
1848
  spanPrefix: "client.workflow.signal"
1848
1849
  });
1849
- return d(a), a;
1850
+ return c(i), i;
1850
1851
  } catch (e) {
1851
- throw l(e), e;
1852
+ throw o(e), e;
1852
1853
  } finally {
1853
- a(!1);
1854
+ i(!1);
1854
1855
  }
1855
1856
  }, [
1856
1857
  e,
1857
1858
  t,
1858
- r
1859
+ n
1859
1860
  ]);
1860
- return o(() => ({
1861
- signal: f,
1862
- pending: i,
1863
- error: s,
1864
- data: u
1861
+ return h(() => ({
1862
+ signal: l,
1863
+ pending: r,
1864
+ error: a,
1865
+ data: s
1865
1866
  }), [
1866
- f,
1867
- i,
1868
- s,
1869
- u
1867
+ l,
1868
+ r,
1869
+ a,
1870
+ s
1870
1871
  ]);
1871
- }, bn = (e) => {
1872
- let { runtime: t, client: r } = N(e), [i, a] = c(!1), [s, l] = c(void 0), [u, d] = c(void 0), f = n(async (n, i, o, s) => {
1873
- a(!0), l(void 0);
1872
+ }, Tn = (e) => {
1873
+ let { runtime: t, client: n } = I(e), [r, i] = _(!1), [a, o] = _(void 0), [s, c] = _(void 0), l = d(async (r, a, s, l) => {
1874
+ i(!0), o(void 0);
1874
1875
  try {
1875
- let a = await X({
1876
+ let i = await $({
1876
1877
  apiName: e,
1877
1878
  runtime: t,
1878
- client: r,
1879
+ client: n,
1879
1880
  tag: "__voltro.workflow.update",
1880
1881
  input: {
1881
- id: n.id,
1882
- updateName: i,
1883
- ...o === void 0 ? {} : { payload: o },
1884
- ...s?.timeoutMs === void 0 ? {} : { timeoutMs: s.timeoutMs }
1882
+ id: r.id,
1883
+ updateName: a,
1884
+ ...s === void 0 ? {} : { payload: s },
1885
+ ...l?.timeoutMs === void 0 ? {} : { timeoutMs: l.timeoutMs }
1885
1886
  },
1886
1887
  spanPrefix: "client.workflow.update"
1887
1888
  });
1888
- return d(a), a;
1889
+ return c(i), i;
1889
1890
  } catch (e) {
1890
- throw l(e), e;
1891
+ throw o(e), e;
1891
1892
  } finally {
1892
- a(!1);
1893
+ i(!1);
1893
1894
  }
1894
1895
  }, [
1895
1896
  e,
1896
1897
  t,
1897
- r
1898
+ n
1898
1899
  ]);
1899
- return o(() => ({
1900
- update: f,
1901
- pending: i,
1902
- error: s,
1903
- data: u
1900
+ return h(() => ({
1901
+ update: l,
1902
+ pending: r,
1903
+ error: a,
1904
+ data: s
1904
1905
  }), [
1905
- f,
1906
- i,
1907
- s,
1908
- u
1906
+ l,
1907
+ r,
1908
+ a,
1909
+ s
1909
1910
  ]);
1910
- }, xn = (e, t) => {
1911
- let n = V(e, "__voltro.workflow.run", t ? { id: t } : {}, { skip: t === void 0 });
1911
+ }, En = (e, t) => {
1912
+ let n = W(e, "__voltro.workflow.run", t ? { id: t } : {}, { skip: t === void 0 });
1912
1913
  return n.loading || n.idle || n.failed ? {
1913
1914
  ...n,
1914
1915
  run: void 0
@@ -1916,8 +1917,8 @@ var tn = () => {
1916
1917
  ...n,
1917
1918
  run: n.data[0]
1918
1919
  };
1919
- }, Sn = (e, t = {}, n = {}) => {
1920
- let r = V(e, "__voltro.workflow.runs", t, n);
1920
+ }, Dn = (e, t = {}, n = {}) => {
1921
+ let r = W(e, "__voltro.workflow.runs", t, n);
1921
1922
  return r.loading || r.idle || r.failed ? {
1922
1923
  ...r,
1923
1924
  runs: []
@@ -1925,8 +1926,8 @@ var tn = () => {
1925
1926
  ...r,
1926
1927
  runs: r.data
1927
1928
  };
1928
- }, Cn = (e, t) => {
1929
- let n = V(e, "__voltro.workflow.run.steps", t ? { runId: t } : {}, { skip: t === void 0 });
1929
+ }, On = (e, t) => {
1930
+ let n = W(e, "__voltro.workflow.run.steps", t ? { runId: t } : {}, { skip: t === void 0 });
1930
1931
  return n.loading || n.idle || n.failed ? {
1931
1932
  ...n,
1932
1933
  steps: []
@@ -1934,8 +1935,8 @@ var tn = () => {
1934
1935
  ...n,
1935
1936
  steps: n.data
1936
1937
  };
1937
- }, wn = (e, t) => {
1938
- let n = V(e, "__voltro.workflow.run.events", t ? { runId: t } : {}, { skip: t === void 0 });
1938
+ }, kn = (e, t) => {
1939
+ let n = W(e, "__voltro.workflow.run.events", t ? { runId: t } : {}, { skip: t === void 0 });
1939
1940
  return n.loading || n.idle || n.failed ? {
1940
1941
  ...n,
1941
1942
  events: []
@@ -1943,8 +1944,8 @@ var tn = () => {
1943
1944
  ...n,
1944
1945
  events: n.data
1945
1946
  };
1946
- }, Tn = wn, En = (e, t = {}, n = {}) => {
1947
- let r = V(e, "__voltro.workflow.domainEvents", t, n);
1947
+ }, An = kn, jn = (e, t = {}, n = {}) => {
1948
+ let r = W(e, "__voltro.workflow.domainEvents", t, n);
1948
1949
  return r.loading || r.idle || r.failed ? {
1949
1950
  ...r,
1950
1951
  events: []
@@ -1952,8 +1953,8 @@ var tn = () => {
1952
1953
  ...r,
1953
1954
  events: r.data
1954
1955
  };
1955
- }, Dn = (e, t) => {
1956
- let n = V(e, "__voltro.workflow.event.deliveries", t ? { eventId: t } : {}, { skip: t === void 0 });
1956
+ }, Mn = (e, t) => {
1957
+ let n = W(e, "__voltro.workflow.event.deliveries", t ? { eventId: t } : {}, { skip: t === void 0 });
1957
1958
  return n.loading || n.idle || n.failed ? {
1958
1959
  ...n,
1959
1960
  deliveries: []
@@ -1961,42 +1962,42 @@ var tn = () => {
1961
1962
  ...n,
1962
1963
  deliveries: n.data
1963
1964
  };
1964
- }, On = (e, t) => {
1965
+ }, Nn = (e, t) => {
1965
1966
  let n = e.payload;
1966
1967
  if (!n || typeof n != "object") return;
1967
1968
  let r = n[t];
1968
1969
  return typeof r == "string" ? r : void 0;
1969
- }, kn = (e) => {
1970
+ }, Pn = (e) => {
1970
1971
  let t = e.payload;
1971
1972
  if (!t || typeof t != "object") return;
1972
1973
  let n = t.updateId;
1973
1974
  return typeof n == "string" ? n : void 0;
1974
- }, An = (e) => {
1975
+ }, Fn = (e) => {
1975
1976
  let t = /* @__PURE__ */ new Set(), n = /* @__PURE__ */ new Set();
1976
1977
  for (let r of e) if (r.eventType === "signal-received") {
1977
- let e = On(r, "signalName");
1978
+ let e = Nn(r, "signalName");
1978
1979
  e && t.add(e);
1979
1980
  } else if (r.eventType === "update-completed" || r.eventType === "update-failed") {
1980
- let e = kn(r);
1981
+ let e = Pn(r);
1981
1982
  e && n.add(e);
1982
1983
  }
1983
1984
  for (let r = e.length - 1; r >= 0; --r) {
1984
1985
  let i = e[r];
1985
1986
  if (i.eventType === "signal-awaited") {
1986
- let e = On(i, "signalName");
1987
+ let e = Nn(i, "signalName");
1987
1988
  if (e && !t.has(e)) return {
1988
1989
  name: e,
1989
1990
  kind: "signal"
1990
1991
  };
1991
1992
  } else if (i.eventType === "update-requested") {
1992
- let e = kn(i), t = On(i, "updateName");
1993
+ let e = Pn(i), t = Nn(i, "updateName");
1993
1994
  if (t && (!e || !n.has(e))) return {
1994
1995
  name: t,
1995
1996
  kind: "update"
1996
1997
  };
1997
1998
  }
1998
1999
  }
1999
- }, jn = (e) => e.find((e) => e.status === "running") || (e.length > 0 ? e[e.length - 1] : void 0), Mn = (e, t) => {
2000
+ }, In = (e) => e.find((e) => e.status === "running") || (e.length > 0 ? e[e.length - 1] : void 0), Ln = (e, t) => {
2000
2001
  if (!e || e.status !== "failed") return;
2001
2002
  let n = t.find((e) => e.status === "failed");
2002
2003
  return {
@@ -2004,182 +2005,182 @@ var tn = () => {
2004
2005
  message: e.errorMessage,
2005
2006
  step: n?.stepName
2006
2007
  };
2007
- }, Nn = (e, t) => {
2008
- let r = xn(e, t), i = Cn(e, t), a = wn(e, t), s = vn(e, r.run?.tag ?? ""), c = r.run, l = i.steps, u = a.events, d = n(async () => {
2009
- if (!c) throw Error("useWorkflowRunState: no run loaded — cannot cancel");
2010
- await s.cancel({
2011
- workflowName: c.tag,
2012
- executionId: c.executionId
2008
+ }, Rn = (e, t) => {
2009
+ let n = En(e, t), r = On(e, t), i = kn(e, t), a = Cn(e, n.run?.tag ?? ""), o = n.run, s = r.steps, c = i.events, l = d(async () => {
2010
+ if (!o) throw Error("useWorkflowRunState: no run loaded — cannot cancel");
2011
+ await a.cancel({
2012
+ workflowName: o.tag,
2013
+ executionId: o.executionId
2013
2014
  });
2014
- }, [s, c]), f = n(async () => {
2015
- if (!c) throw Error("useWorkflowRunState: no run loaded — cannot resume");
2016
- await s.resume({
2017
- workflowName: c.tag,
2018
- executionId: c.executionId
2015
+ }, [a, o]), u = d(async () => {
2016
+ if (!o) throw Error("useWorkflowRunState: no run loaded — cannot resume");
2017
+ await a.resume({
2018
+ workflowName: o.tag,
2019
+ executionId: o.executionId
2019
2020
  });
2020
- }, [s, c]), p = n((e, n) => {
2021
+ }, [a, o]), f = d((e, n) => {
2021
2022
  if (t === void 0) throw Error("useWorkflowRunState: no run id — cannot signal");
2022
- return s.signal({ id: t }, e, n);
2023
- }, [s, t]), m = n((e, n, r) => {
2023
+ return a.signal({ id: t }, e, n);
2024
+ }, [a, t]), p = d((e, n, r) => {
2024
2025
  if (t === void 0) throw Error("useWorkflowRunState: no run id — cannot update");
2025
- return s.update({ id: t }, e, n, r);
2026
- }, [s, t]);
2027
- return o(() => ({
2028
- run: c,
2029
- status: c?.status,
2030
- steps: l,
2031
- events: u,
2032
- currentStep: jn(l),
2033
- waitingFor: c?.status === "suspended" ? An(u) : void 0,
2034
- error: Mn(c, l),
2035
- traceId: c?.traceId,
2036
- loading: r.data === void 0,
2037
- cancel: d,
2038
- resume: f,
2039
- signal: p,
2040
- update: m
2026
+ return a.update({ id: t }, e, n, r);
2027
+ }, [a, t]);
2028
+ return h(() => ({
2029
+ run: o,
2030
+ status: o?.status,
2031
+ steps: s,
2032
+ events: c,
2033
+ currentStep: In(s),
2034
+ waitingFor: o?.status === "suspended" ? Fn(c) : void 0,
2035
+ error: Ln(o, s),
2036
+ traceId: o?.traceId,
2037
+ loading: n.data === void 0,
2038
+ cancel: l,
2039
+ resume: u,
2040
+ signal: f,
2041
+ update: p
2041
2042
  }), [
2043
+ o,
2044
+ s,
2042
2045
  c,
2046
+ n.data,
2043
2047
  l,
2044
2048
  u,
2045
- r.data,
2046
- d,
2047
2049
  f,
2048
- p,
2049
- m
2050
+ p
2050
2051
  ]);
2051
- }, Pn = (e, t) => {
2052
- let { runtime: r, client: i } = N(e), [a, o] = c([]), [l, d] = c("idle"), [f, m] = c(void 0), g = s(null), _ = n(() => {
2053
- let e = g.current;
2054
- e && (g.current = null, r.runFork(h.interrupt(e)), d((e) => e === "streaming" ? "idle" : e));
2055
- }, [r]);
2052
+ }, zn = (e, t) => {
2053
+ let { runtime: n, client: r } = I(e), [i, a] = _([]), [o, s] = _("idle"), [c, l] = _(void 0), u = g(null), f = d(() => {
2054
+ let e = u.current;
2055
+ e && (u.current = null, n.runFork(w.interrupt(e)), s((e) => e === "streaming" ? "idle" : e));
2056
+ }, [n]);
2056
2057
  return {
2057
- events: a,
2058
- status: l,
2059
- error: f,
2060
- start: n((e = {}) => {
2061
- let n = g.current;
2062
- n && r.runFork(h.interrupt(n)), o([]), m(void 0), d("streaming");
2063
- let a = B(i, t)(e), s = x.runForEach(a, (e) => p.sync(() => o((t) => [...t, e]))).pipe(p.matchCause({
2058
+ events: i,
2059
+ status: o,
2060
+ error: c,
2061
+ start: d((e = {}) => {
2062
+ let i = u.current;
2063
+ i && n.runFork(w.interrupt(i)), a([]), l(void 0), s("streaming");
2064
+ let o = U(r, t)(e), c = O.runForEach(o, (e) => S.sync(() => a((t) => [...t, e]))).pipe(S.matchCause({
2064
2065
  onSuccess: () => {
2065
- d("done");
2066
+ s("done");
2066
2067
  },
2067
2068
  onFailure: (e) => {
2068
- u.isInterruptedOnly(e) || (m(u.squash(e)), d("error"));
2069
+ y.isInterruptedOnly(e) || (l(y.squash(e)), s("error"));
2069
2070
  }
2070
2071
  }));
2071
- g.current = r.runFork(s);
2072
+ u.current = n.runFork(c);
2072
2073
  }, [
2074
+ n,
2073
2075
  r,
2074
- i,
2075
2076
  t
2076
2077
  ]),
2077
- cancel: _
2078
+ cancel: f
2078
2079
  };
2079
- }, Fn = (e, t, n, r) => {
2080
- let i = 0, a = !1, o = (e) => p.sync(() => {
2080
+ }, Bn = (e, t, n, r) => {
2081
+ let i = 0, a = !1, o = (e) => S.sync(() => {
2081
2082
  e.seq <= i || (i = e.seq, n.onEvent(e.event), r.isTerminal(e.event) && (a = !0));
2082
2083
  }), s = (e, t, a) => {
2083
2084
  let o = i > t ? 0 : e + 1;
2084
- if (o > r.maxReconnects) return p.sync(() => {
2085
+ if (o > r.maxReconnects) return S.sync(() => {
2085
2086
  n.onError(a ?? /* @__PURE__ */ Error("stream connection lost")), n.onStatus("error");
2086
2087
  });
2087
2088
  let s = Math.min(r.maxBackoffMs, r.backoffMs * 2 ** Math.max(0, o - 1));
2088
- return p.sync(() => {
2089
+ return S.sync(() => {
2089
2090
  n.onStatus("reconnecting"), n.onReconnect();
2090
- }).pipe(p.zipRight(p.sleep(f.millis(s))), p.zipRight(p.sync(() => n.onStatus("streaming"))), p.zipRight(c(o)));
2091
- }, c = (r) => p.suspend(() => {
2091
+ }).pipe(S.zipRight(S.sleep(x.millis(s))), S.zipRight(S.sync(() => n.onStatus("streaming"))), S.zipRight(c(o)));
2092
+ }, c = (r) => S.suspend(() => {
2092
2093
  let c = i, l = e({
2093
2094
  ...t,
2094
2095
  fromSeq: c
2095
2096
  });
2096
- return x.runForEach(l, o).pipe(p.matchCauseEffect({
2097
- onSuccess: () => a ? p.sync(() => n.onStatus("done")) : s(r, c, void 0),
2098
- onFailure: (e) => u.isInterruptedOnly(e) ? p.void : a ? p.sync(() => n.onStatus("done")) : s(r, c, u.squash(e))
2097
+ return O.runForEach(l, o).pipe(S.matchCauseEffect({
2098
+ onSuccess: () => a ? S.sync(() => n.onStatus("done")) : s(r, c, void 0),
2099
+ onFailure: (e) => y.isInterruptedOnly(e) ? S.void : a ? S.sync(() => n.onStatus("done")) : s(r, c, y.squash(e))
2099
2100
  }));
2100
2101
  });
2101
2102
  return c(0);
2102
- }, In = (e) => {
2103
+ }, Vn = (e) => {
2103
2104
  let t = e?._tag;
2104
2105
  return t === "done" || t === "error";
2105
- }, Ln = (e, t, r = {}) => {
2106
- let { runtime: i, client: a } = N(e), [o, l] = c([]), [u, d] = c("idle"), [f, p] = c(0), [m, g] = c(void 0), _ = s(null), v = {
2107
- maxReconnects: r.maxReconnects ?? 6,
2108
- backoffMs: r.backoffMs ?? 400,
2109
- maxBackoffMs: r.maxBackoffMs ?? 8e3,
2110
- isTerminal: r.isTerminal ?? In
2111
- }, y = n(() => {
2112
- let e = _.current;
2113
- e && (_.current = null, i.runFork(h.interrupt(e)), d((e) => e === "streaming" || e === "reconnecting" ? "idle" : e));
2114
- }, [i]);
2106
+ }, Hn = (e, t, n = {}) => {
2107
+ let { runtime: r, client: i } = I(e), [a, o] = _([]), [s, c] = _("idle"), [l, u] = _(0), [f, p] = _(void 0), m = g(null), h = {
2108
+ maxReconnects: n.maxReconnects ?? 6,
2109
+ backoffMs: n.backoffMs ?? 400,
2110
+ maxBackoffMs: n.maxBackoffMs ?? 8e3,
2111
+ isTerminal: n.isTerminal ?? Vn
2112
+ }, v = d(() => {
2113
+ let e = m.current;
2114
+ e && (m.current = null, r.runFork(w.interrupt(e)), c((e) => e === "streaming" || e === "reconnecting" ? "idle" : e));
2115
+ }, [r]);
2115
2116
  return {
2116
- events: o,
2117
- status: u,
2118
- reconnects: f,
2119
- error: m,
2120
- start: n((e = {}) => {
2121
- let n = _.current;
2122
- n && i.runFork(h.interrupt(n)), l([]), g(void 0), p(0), d("streaming");
2123
- let r = B(a, t), o = {
2124
- onEvent: (e) => l((t) => [...t, e]),
2125
- onStatus: d,
2126
- onReconnect: () => p((e) => e + 1),
2127
- onError: g
2117
+ events: a,
2118
+ status: s,
2119
+ reconnects: l,
2120
+ error: f,
2121
+ start: d((e = {}) => {
2122
+ let n = m.current;
2123
+ n && r.runFork(w.interrupt(n)), o([]), p(void 0), u(0), c("streaming");
2124
+ let a = U(i, t), s = {
2125
+ onEvent: (e) => o((t) => [...t, e]),
2126
+ onStatus: c,
2127
+ onReconnect: () => u((e) => e + 1),
2128
+ onError: p
2128
2129
  };
2129
- _.current = i.runFork(Fn(r, e, o, v));
2130
+ m.current = r.runFork(Bn(a, e, s, h));
2130
2131
  }, [
2132
+ r,
2131
2133
  i,
2132
- a,
2133
2134
  t,
2134
- v.maxReconnects,
2135
- v.backoffMs,
2136
- v.maxBackoffMs,
2137
- v.isTerminal
2135
+ h.maxReconnects,
2136
+ h.backoffMs,
2137
+ h.maxBackoffMs,
2138
+ h.isTerminal
2138
2139
  ]),
2139
- cancel: y
2140
+ cancel: v
2140
2141
  };
2141
- }, Rn = (e, t) => e.order - t.order || (e.stepOrder ?? 0) - (t.stepOrder ?? 0), zn = (e) => {
2142
+ }, Un = (e, t) => e.order - t.order || (e.stepOrder ?? 0) - (t.stepOrder ?? 0), Wn = (e) => {
2142
2143
  for (let t = e.length - 1; t >= 0; --t) {
2143
2144
  let n = e[t];
2144
2145
  if (n.role === "user" && n.content) return n.content;
2145
2146
  }
2146
- }, Bn = (e, t, r) => {
2147
- let { threadId: i } = r, a = V(e, `${t}.messages`, { threadId: i }), s = q(e, `${t}.send`), c = o(() => [...a.data ?? []].sort(Rn), [a.data]), l = n((e, t = {}) => s.run({
2148
- threadId: i,
2149
- order: a.data?.length ?? 0,
2147
+ }, Gn = (e, t, n) => {
2148
+ let { threadId: r } = n, i = W(e, `${t}.messages`, { threadId: r }), a = X(e, `${t}.send`), o = h(() => [...i.data ?? []].sort(Un), [i.data]), s = d((e, t = {}) => a.run({
2149
+ threadId: r,
2150
+ order: i.data?.length ?? 0,
2150
2151
  prompt: e,
2151
2152
  ...t
2152
2153
  }), [
2153
- s,
2154
- i,
2155
- a.data
2156
- ]), u = n(() => {
2157
- let e = zn(c);
2158
- return e === void 0 ? void 0 : l(e);
2159
- }, [c, l]);
2160
- return o(() => ({
2161
- messages: c,
2162
- streaming: c.some((e) => e.streaming),
2163
- loading: a.data === void 0,
2164
- error: a.error ?? s.error,
2165
- send: l,
2166
- regenerate: u,
2167
- sending: s.pending
2154
+ a,
2155
+ r,
2156
+ i.data
2157
+ ]), c = d(() => {
2158
+ let e = Wn(o);
2159
+ return e === void 0 ? void 0 : s(e);
2160
+ }, [o, s]);
2161
+ return h(() => ({
2162
+ messages: o,
2163
+ streaming: o.some((e) => e.streaming),
2164
+ loading: i.data === void 0,
2165
+ error: i.error ?? a.error,
2166
+ send: s,
2167
+ regenerate: c,
2168
+ sending: a.pending
2168
2169
  }), [
2169
- c,
2170
- a.data,
2170
+ o,
2171
+ i.data,
2172
+ i.error,
2171
2173
  a.error,
2172
- s.error,
2173
- s.pending,
2174
- l,
2175
- u
2174
+ a.pending,
2175
+ s,
2176
+ c
2176
2177
  ]);
2177
- }, Vn = (e, t) => {
2178
- let { events: r, status: i, error: l, start: u, cancel: d } = Pn(e, t), [f, p] = c([]), m = s(null), h = o(() => r.filter((e) => e._tag === "token").map((e) => e.text ?? "").join(""), [r]);
2179
- return a(() => {
2180
- if (i !== "done" || m.current === null) return;
2181
- let e = m.current;
2182
- m.current = null, p((t) => [
2178
+ }, Kn = (e, t) => {
2179
+ let { events: n, status: r, error: i, start: a, cancel: o } = zn(e, t), [s, c] = _([]), l = g(null), u = h(() => n.filter((e) => e._tag === "token").map((e) => e.text ?? "").join(""), [n]);
2180
+ return m(() => {
2181
+ if (r !== "done" || l.current === null) return;
2182
+ let e = l.current;
2183
+ l.current = null, c((t) => [
2183
2184
  ...t,
2184
2185
  {
2185
2186
  role: "user",
@@ -2187,48 +2188,48 @@ var tn = () => {
2187
2188
  },
2188
2189
  {
2189
2190
  role: "assistant",
2190
- content: h
2191
+ content: u
2191
2192
  }
2192
2193
  ]);
2193
- }, [i, h]), {
2194
- tokens: h,
2195
- history: f,
2196
- status: i,
2197
- error: l,
2198
- send: n((e = {}) => {
2194
+ }, [r, u]), {
2195
+ tokens: u,
2196
+ history: s,
2197
+ status: r,
2198
+ error: i,
2199
+ send: d((e = {}) => {
2199
2200
  let t = e.message;
2200
- m.current = typeof t == "string" ? t : "", u(e);
2201
- }, [u]),
2202
- cancel: d
2201
+ l.current = typeof t == "string" ? t : "", a(e);
2202
+ }, [a]),
2203
+ cancel: o
2203
2204
  };
2204
- }, Hn = (e, t) => {
2205
- let r = q(e, t), [i, a] = c(void 0), s = n(async (e) => {
2206
- let t = await r.run({ question: e });
2207
- return a(t), t;
2208
- }, [r]), l = n(() => a(void 0), []);
2209
- return o(() => ({
2210
- ask: s,
2211
- answer: i,
2212
- pending: r.pending,
2213
- error: r.error,
2214
- reset: l
2205
+ }, qn = (e, t) => {
2206
+ let n = X(e, t), [r, i] = _(void 0), a = d(async (e) => {
2207
+ let t = await n.run({ question: e });
2208
+ return i(t), t;
2209
+ }, [n]), o = d(() => i(void 0), []);
2210
+ return h(() => ({
2211
+ ask: a,
2212
+ answer: r,
2213
+ pending: n.pending,
2214
+ error: n.error,
2215
+ reset: o
2215
2216
  }), [
2216
- s,
2217
- i,
2218
- r.pending,
2219
- r.error,
2220
- l
2217
+ a,
2218
+ r,
2219
+ n.pending,
2220
+ n.error,
2221
+ o
2221
2222
  ]);
2222
- }, Un = (e) => {
2223
- let { cache: t, runtime: r } = N(e);
2224
- return n(() => {
2225
- t.refreshAll(r);
2226
- }, [t, r]);
2227
- }, Wn = (e) => e?._tag === "Unauthenticated", Gn = (e, t, n = {}) => {
2223
+ }, Jn = (e) => {
2224
+ let { cache: t, runtime: n } = I(e);
2225
+ return d(() => {
2226
+ t.refreshAll(n);
2227
+ }, [t, n]);
2228
+ }, Yn = (e) => e?._tag === "Unauthenticated", Xn = (e, t, n = {}) => {
2228
2229
  let r = n.cooldownMs ?? 15e3, i = n.maxConsecutive ?? 3, a = n.now ?? (() => Date.now()), o = -Infinity, s = 0;
2229
2230
  return {
2230
2231
  dispose: e.on((e) => {
2231
- if (!Wn(e.error) || s >= i) return;
2232
+ if (!Yn(e.error) || s >= i) return;
2232
2233
  let n = a();
2233
2234
  n - o < r || (o = n, s += 1, t());
2234
2235
  }),
@@ -2236,170 +2237,88 @@ var tn = () => {
2236
2237
  s = 0;
2237
2238
  }
2238
2239
  };
2239
- }, Kn = /* @__PURE__ */ new Set(), qn = (e) => {
2240
- for (let t of Kn) try {
2240
+ }, Zn = /* @__PURE__ */ new Set(), Qn = (e) => {
2241
+ for (let t of Zn) try {
2241
2242
  t(e);
2242
2243
  } catch {}
2243
- }, Jn = (e) => (Kn.add(e), () => {
2244
- Kn.delete(e);
2245
- }), Yn = (e, t) => {
2246
- qn({
2244
+ }, $n = (e) => (Zn.add(e), () => {
2245
+ Zn.delete(e);
2246
+ }), er = (e, t) => {
2247
+ Qn({
2247
2248
  error: e,
2248
2249
  source: "manual",
2249
2250
  ...t ? { context: t } : {}
2250
2251
  });
2251
- }, Xn = (e, t) => {
2252
- let { errorBus: n } = N(e);
2253
- a(() => n.on(t), [n, t]);
2254
- }, Zn = "#/$defs/", Qn = (e) => e.replace(/[_-]+/g, " ").replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/\s+/g, " ").trim().replace(/^./, (e) => e.toUpperCase()), Z = (e, t) => {
2255
- let n = e;
2256
- for (let e = 0; e < 8; e += 1) {
2257
- let e = n.$ref;
2258
- if (typeof e != "string" || !e.startsWith(Zn)) return n;
2259
- let r = t[e.slice(8)];
2260
- if (!r || typeof r != "object") return n;
2261
- n = r;
2262
- }
2263
- return n;
2264
- }, $n = (e) => {
2265
- if (!e || typeof e != "object") return !1;
2266
- let t = e;
2267
- if (t.type === "null" || t.const === null) return !0;
2268
- let n = t.enum;
2269
- return Array.isArray(n) && n.length === 1 && n[0] === null;
2270
- }, er = (e, t) => {
2271
- let n = e.type;
2272
- if (Array.isArray(n) && n.includes("null")) {
2273
- let t = n.filter((e) => e !== "null");
2274
- return {
2275
- node: {
2276
- ...e,
2277
- type: t.length === 1 ? t[0] : t
2278
- },
2279
- nullable: !0
2280
- };
2281
- }
2282
- for (let n of ["anyOf", "oneOf"]) {
2283
- let r = e[n];
2284
- if (!Array.isArray(r)) continue;
2285
- let i = r.filter((e) => !$n(e));
2286
- if (i.length !== r.length) return i.length === 1 ? {
2287
- node: Z(i[0], t),
2288
- nullable: !0
2289
- } : {
2290
- node: {
2291
- ...e,
2292
- [n]: i
2293
- },
2294
- nullable: !0
2295
- };
2296
- }
2297
- return {
2298
- node: e,
2299
- nullable: !1
2300
- };
2301
- }, tr = (e) => e.map((e) => ({
2302
- value: String(e),
2303
- label: Qn(String(e))
2304
- })), nr = (e) => {
2305
- let t = e.enum;
2306
- if (Array.isArray(t) && t.length > 0) return {
2307
- widget: "select",
2308
- options: tr(t)
2309
- };
2310
- let n = e.type, r = Array.isArray(n) ? n.find((e) => e !== "null") : n, i = e.format;
2311
- switch (r) {
2312
- case "string": return i === "date" ? { widget: "date" } : i === "date-time" ? { widget: "datetime" } : { widget: "text" };
2313
- case "integer":
2314
- case "number": return { widget: "number" };
2315
- case "boolean": return { widget: "checkbox" };
2316
- case "array": return { widget: "multi-select" };
2317
- default: return { widget: "custom" };
2318
- }
2319
- }, rr = (e, t, n) => Object.entries(e).map(([e, r]) => {
2320
- let { node: i, nullable: a } = er(Z(r, n), n), o = Z(i, n), { widget: s, options: c } = nr(o);
2321
- return {
2322
- name: e,
2323
- label: Qn(e),
2324
- widget: s,
2325
- required: t.has(e),
2326
- nullable: a,
2327
- ...c ? { options: c } : {},
2328
- jsonSchema: o
2329
- };
2330
- }), ir = (e) => {
2331
- try {
2332
- return g.make(e);
2333
- } catch {
2334
- return;
2335
- }
2336
- }, Q = (e) => {
2337
- let t = ir(e);
2338
- if (t === void 0) return [];
2339
- let n = t.$defs ?? {}, r = Z(t, n), i = r.properties;
2340
- return i ? rr(i, new Set(Array.isArray(r.required) ? r.required : []), n) : [];
2341
- }, ar = (e) => {
2342
- let t = ir(e);
2343
- if (t === void 0) return [];
2344
- let n = t.$defs ?? {}, r = Z(t, n);
2345
- if (r.type !== "array") return [];
2346
- let i = r.items;
2347
- if (!i || typeof i != "object") return [];
2348
- let a = Z(i, n), o = a.properties;
2349
- return o ? rr(o, new Set(Array.isArray(a.required) ? a.required : []), n) : [];
2350
- }, or = (e, t) => {
2351
- let n = b.decodeUnknownEither(e, { errors: "all" })(t);
2352
- if (n._tag === "Right") return {
2353
- valid: !0,
2354
- errors: {}
2355
- };
2356
- let r = {};
2357
- for (let e of E.formatErrorSync(n.left)) {
2358
- let t = e.path.length === 0 ? "" : String(e.path[0]);
2359
- t !== "" && !(t in r) && (r[t] = e.message);
2360
- }
2361
- return {
2362
- valid: !1,
2363
- errors: r
2364
- };
2365
- }, sr = (e, t, r) => {
2366
- let i = N(e), a = K(e, t), l = r.schema ?? i.descriptors[t]?.input;
2367
- process.env.NODE_ENV !== "production" && l === void 0 && console.error(`[@voltro/client] useFormBinding('${e}', '${t}'): no input schema. Pass options.schema, or mount the descriptor so its input reaches the client. Rendering no fields; submit skips client-side validation.`);
2368
- let u = o(() => l ? Q(l) : [], [l]), d = s(r.defaults ?? {}), [f, p] = c(d.current), [m, h] = c({}), g = n((e, t) => {
2252
+ }, tr = (e, t) => {
2253
+ let { errorBus: n } = I(e);
2254
+ m(() => n.on(t), [n, t]);
2255
+ }, nr = (e, t) => {
2256
+ let n = globalThis, r = Symbol.for(`@voltro/web/context:${e}`), i = n[r];
2257
+ if (i) return i;
2258
+ let a = l(t);
2259
+ return n[r] = a, a;
2260
+ }, rr = nr("serverRequest", null), ir = () => f(rr), ar = ({ value: e, children: t }) => /* @__PURE__ */ ae(rr.Provider, {
2261
+ value: e,
2262
+ children: t
2263
+ }), or = (e) => {
2264
+ let t = ir();
2265
+ return h(() => {
2266
+ if (t !== null) return t.formFlash?.formKey === e ? t.formFlash : void 0;
2267
+ if (typeof document > "u") return;
2268
+ let n = document.getElementById(c);
2269
+ if (n !== null && n.textContent !== null && n.textContent !== "") try {
2270
+ let t = JSON.parse(n.textContent);
2271
+ return t.formKey === e ? t : void 0;
2272
+ } catch {
2273
+ return;
2274
+ }
2275
+ }, [t, e]);
2276
+ }, sr = (e, t, n) => {
2277
+ let i = I(e), a = Y(e, t), o = n.schema ?? i.descriptors[t]?.input;
2278
+ process.env.NODE_ENV !== "production" && o === void 0 && console.error(`[@voltro/client] useFormBinding('${e}', '${t}'): no input schema. Pass options.schema, or mount the descriptor so its input reaches the client. Rendering no fields; submit skips client-side validation.`);
2279
+ let c = h(() => o ? r(o) : [], [o]), l = g((() => {
2280
+ let e = { ...n.defaults ?? {} };
2281
+ if (o !== void 0) for (let t of r(o)) (t.widget === "checkbox" || t.widget === "switch") && !(t.name in e) && (e[t.name] = !1);
2282
+ return e;
2283
+ })()), u = g(n.flash), [f, p] = _(u.current === void 0 ? l.current : {
2284
+ ...l.current,
2285
+ ...u.current.values
2286
+ }), [m, v] = _(u.current?.errors ?? {}), [y, b] = _(u.current?.formError), x = d((e, t) => {
2369
2287
  p((n) => ({
2370
2288
  ...n,
2371
2289
  [e]: t
2372
2290
  }));
2373
- }, []), _ = n((e) => {
2291
+ }, []), S = d((e) => {
2374
2292
  p((t) => ({
2375
2293
  ...t,
2376
2294
  ...e
2377
2295
  }));
2378
- }, []), v = n(() => {
2379
- p(d.current), h({});
2380
- }, []), y = n(async () => {
2381
- if (l !== void 0) {
2382
- let e = or(l, f);
2383
- if (h(e.errors), !e.valid) return;
2296
+ }, []), C = d(() => {
2297
+ p(l.current), v({}), b(void 0);
2298
+ }, []), w = d(async () => {
2299
+ if (b(void 0), o !== void 0) {
2300
+ let e = s(o, f);
2301
+ if (v(e.errors), !e.valid) return;
2384
2302
  }
2385
2303
  return a.mutate(f);
2386
2304
  }, [
2387
- l,
2305
+ o,
2388
2306
  f,
2389
2307
  a
2390
2308
  ]);
2391
2309
  return {
2392
- fields: u,
2310
+ fields: c,
2393
2311
  values: f,
2394
2312
  errors: m,
2395
- isValid: o(() => l === void 0 || or(l, f).valid, [l, f]),
2313
+ isValid: h(() => o === void 0 || s(o, f).valid, [o, f]),
2396
2314
  pending: a.pending,
2397
2315
  submitError: a.error,
2316
+ formError: y,
2398
2317
  data: a.data,
2399
- setValue: g,
2400
- setValues: _,
2401
- reset: v,
2402
- submit: y
2318
+ setValue: x,
2319
+ setValues: S,
2320
+ reset: C,
2321
+ submit: w
2403
2322
  };
2404
2323
  }, cr = (e, t, n) => e.map((e) => {
2405
2324
  let r = String(e[n] ?? ""), i = e[t];
@@ -2407,36 +2326,36 @@ var tn = () => {
2407
2326
  value: r,
2408
2327
  label: i == null ? r : String(i)
2409
2328
  };
2410
- }), lr = (e, t, r = {}) => {
2411
- let i = r.debounceMs ?? 200, s = r.labelField ?? "name", l = r.valueField ?? "id", u = r.input ?? ((e) => ({ q: e })), [d, f] = c(r.initialTerm ?? ""), [p, m] = c(d);
2412
- a(() => {
2413
- if (d === p) return;
2414
- let e = setTimeout(() => m(d), i);
2329
+ }), lr = (e, t, n = {}) => {
2330
+ let r = n.debounceMs ?? 200, i = n.labelField ?? "name", a = n.valueField ?? "id", o = n.input ?? ((e) => ({ q: e })), [s, c] = _(n.initialTerm ?? ""), [l, u] = _(s);
2331
+ m(() => {
2332
+ if (s === l) return;
2333
+ let e = setTimeout(() => u(s), r);
2415
2334
  return () => clearTimeout(e);
2416
2335
  }, [
2417
- d,
2418
- p,
2419
- i
2420
- ]);
2421
- let h = r.skipUntilTerm === !0 && p.trim() === "", g = V(e, t, o(() => u(p), [u, p]), { skip: h }), _ = o(() => cr(g.data ?? [], s, l), [
2422
- g.data,
2423
2336
  s,
2424
- l
2425
- ]), v = n((e) => f(e), []);
2337
+ l,
2338
+ r
2339
+ ]);
2340
+ let f = n.skipUntilTerm === !0 && l.trim() === "", p = W(e, t, h(() => o(l), [o, l]), { skip: f }), g = h(() => cr(p.data ?? [], i, a), [
2341
+ p.data,
2342
+ i,
2343
+ a
2344
+ ]), v = d((e) => c(e), []);
2426
2345
  return {
2427
- options: _,
2428
- loading: !h && g.data === void 0,
2429
- term: d,
2346
+ options: g,
2347
+ loading: !f && p.data === void 0,
2348
+ term: s,
2430
2349
  search: v
2431
2350
  };
2432
- }, ur = (e, t) => e === t ? 0 : e == null ? 1 : t == null || e < t ? -1 : 1, dr = (e, t, r = {}) => {
2433
- let i = N(e), [a, s] = c(r.pageSize), l = V(e, t, o(() => a === void 0 ? r.input ?? {} : {
2351
+ }, ur = (e, t) => e === t ? 0 : e == null ? 1 : t == null || e < t ? -1 : 1, dr = (e, n, r = {}) => {
2352
+ let i = I(e), [a, o] = _(r.pageSize), s = W(e, n, h(() => a === void 0 ? r.input ?? {} : {
2434
2353
  ...r.input,
2435
2354
  limit: a
2436
- }, [r.input, a])), u = i.descriptors[t]?.output, d = n(() => {
2437
- r.pageSize !== void 0 && s((e) => (e ?? r.pageSize) + r.pageSize);
2438
- }, [r.pageSize]), f = o(() => r.columns ?? (u === void 0 ? [] : ar(u)), [r.columns, u]), [p, m] = c(r.initialSort), h = n((e) => {
2439
- m((t) => t?.column === e ? {
2355
+ }, [r.input, a])), c = i.descriptors[n]?.output, l = d(() => {
2356
+ r.pageSize !== void 0 && o((e) => (e ?? r.pageSize) + r.pageSize);
2357
+ }, [r.pageSize]), u = h(() => r.columns ?? (c === void 0 ? [] : t(c)), [r.columns, c]), [f, p] = _(r.initialSort), m = d((e) => {
2358
+ p((t) => t?.column === e ? {
2440
2359
  column: e,
2441
2360
  direction: t.direction === "asc" ? "desc" : "asc"
2442
2361
  } : {
@@ -2445,19 +2364,19 @@ var tn = () => {
2445
2364
  });
2446
2365
  }, []);
2447
2366
  return {
2448
- columns: f,
2449
- rows: o(() => {
2450
- let e = l.data ?? [];
2451
- if (p === void 0) return e;
2452
- let t = p.direction === "asc" ? 1 : -1;
2453
- return [...e].sort((e, n) => ur(e[p.column], n[p.column]) * t);
2454
- }, [l.data, p]),
2455
- loading: l.data === void 0,
2456
- error: l.error,
2457
- sort: p,
2458
- toggleSort: h,
2459
- loadMore: d,
2460
- hasMore: a !== void 0 && (l.data?.length ?? 0) >= a
2367
+ columns: u,
2368
+ rows: h(() => {
2369
+ let e = s.data ?? [];
2370
+ if (f === void 0) return e;
2371
+ let t = f.direction === "asc" ? 1 : -1;
2372
+ return [...e].sort((e, n) => ur(e[f.column], n[f.column]) * t);
2373
+ }, [s.data, f]),
2374
+ loading: s.data === void 0,
2375
+ error: s.error,
2376
+ sort: f,
2377
+ toggleSort: m,
2378
+ loadMore: l,
2379
+ hasMore: a !== void 0 && (s.data?.length ?? 0) >= a
2461
2380
  };
2462
2381
  }, fr = (e, t, n, r) => {
2463
2382
  let i = e.replace(/\/$/, ""), a = new URLSearchParams({
@@ -2466,14 +2385,14 @@ var tn = () => {
2466
2385
  });
2467
2386
  return r !== void 0 && a.set("column", r), `${i}/_voltro/inspect/provenance?${a.toString()}`;
2468
2387
  }, pr = fr, mr = (e, t, n, r) => {
2469
- let { inspectBaseUrl: i } = N(e), [o, s] = c({
2388
+ let { inspectBaseUrl: i } = I(e), [a, o] = _({
2470
2389
  data: void 0,
2471
2390
  loading: !0,
2472
2391
  error: void 0
2473
2392
  });
2474
- return a(() => {
2393
+ return m(() => {
2475
2394
  let e = !1;
2476
- s({
2395
+ o({
2477
2396
  data: void 0,
2478
2397
  loading: !0,
2479
2398
  error: void 0
@@ -2483,13 +2402,13 @@ var tn = () => {
2483
2402
  if (!e.ok) throw Error(`provenance fetch failed: HTTP ${e.status}`);
2484
2403
  return await e.json();
2485
2404
  }).then((t) => {
2486
- e || s({
2405
+ e || o({
2487
2406
  data: t,
2488
2407
  loading: !1,
2489
2408
  error: void 0
2490
2409
  });
2491
2410
  }).catch((t) => {
2492
- e || s({
2411
+ e || o({
2493
2412
  data: void 0,
2494
2413
  loading: !1,
2495
2414
  error: t
@@ -2503,24 +2422,24 @@ var tn = () => {
2503
2422
  t,
2504
2423
  n,
2505
2424
  r
2506
- ]), o;
2507
- }, hr = "admin:full", gr = (e, t) => e.includes("admin:full") ? !0 : (typeof t == "string" ? [t] : t).every((t) => e.includes(t)), _r = (e, t) => t.length === 0 || e.includes("admin:full") ? !0 : t.some((t) => e.includes(t)), vr = e({ scopes: [] });
2425
+ ]), a;
2426
+ }, hr = "admin:full", gr = (e, t) => e.includes("admin:full") ? !0 : (typeof t == "string" ? [t] : t).every((t) => e.includes(t)), _r = (e, t) => t.length === 0 || e.includes("admin:full") ? !0 : t.some((t) => e.includes(t)), vr = l({ scopes: [] });
2508
2427
  function yr(e) {
2509
- return t(vr.Provider, { value: { scopes: e.scopes } }, e.children);
2428
+ return u(vr.Provider, { value: { scopes: e.scopes } }, e.children);
2510
2429
  }
2511
- var $ = () => r(vr), br = (e) => gr($().scopes, e), xr = (e) => _r($().scopes, e), Sr = (e) => `${e.replace(/\/$/, "")}/_voltro/inspect/manifest`, Cr = (e) => {
2512
- let { inspectBaseUrl: t } = N(e), [n, r] = c({
2430
+ var br = () => f(vr), xr = (e) => gr(br().scopes, e), Sr = (e) => _r(br().scopes, e), Cr = (e) => `${e.replace(/\/$/, "")}/_voltro/inspect/manifest`, wr = (e) => {
2431
+ let { inspectBaseUrl: t } = I(e), [n, r] = _({
2513
2432
  manifest: void 0,
2514
2433
  loading: !0,
2515
2434
  error: void 0
2516
2435
  });
2517
- return a(() => {
2436
+ return m(() => {
2518
2437
  let e = !1;
2519
2438
  return r({
2520
2439
  manifest: void 0,
2521
2440
  loading: !0,
2522
2441
  error: void 0
2523
- }), fetch(Sr(t ?? "")).then(async (e) => {
2442
+ }), fetch(Cr(t ?? "")).then(async (e) => {
2524
2443
  if (!e.ok) throw Error(`manifest fetch failed: HTTP ${e.status}`);
2525
2444
  return await e.json();
2526
2445
  }).then((t) => {
@@ -2539,7 +2458,7 @@ var $ = () => r(vr), br = (e) => gr($().scopes, e), xr = (e) => _r($().scopes, e
2539
2458
  e = !0;
2540
2459
  };
2541
2460
  }, [e, t]), n;
2542
- }, wr = (e, t) => t.scope.length === 0 || (t.mode === "any" ? t.scope.some((t) => e.includes(t)) : t.scope.every((t) => e.includes(t))), Tr = (e, t) => {
2461
+ }, Tr = (e, t) => t.scope.length === 0 || (t.mode === "any" ? t.scope.some((t) => e.includes(t)) : t.scope.every((t) => e.includes(t))), Er = (e, t) => {
2543
2462
  if (e === void 0) return "unknown";
2544
2463
  if (t.includes("admin:full") || e.length === 0) return "allowed";
2545
2464
  let n = !1;
@@ -2548,7 +2467,7 @@ var $ = () => r(vr), br = (e) => gr($().scopes, e), xr = (e) => _r($().scopes, e
2548
2467
  n = !0;
2549
2468
  continue;
2550
2469
  }
2551
- if (!wr(t, r)) {
2470
+ if (!Tr(t, r)) {
2552
2471
  if (r.resourceScoped) {
2553
2472
  n = !0;
2554
2473
  continue;
@@ -2557,13 +2476,13 @@ var $ = () => r(vr), br = (e) => gr($().scopes, e), xr = (e) => _r($().scopes, e
2557
2476
  }
2558
2477
  }
2559
2478
  return n ? "unknown" : "allowed";
2560
- }, Er = (e) => (e ?? []).flatMap((e) => e.kind === "scope" ? [...e.scope] : []), Dr = (e) => {
2479
+ }, Dr = (e) => (e ?? []).flatMap((e) => e.kind === "scope" ? [...e.scope] : []), Or = (e) => {
2561
2480
  for (let t of e ?? []) if (t.kind === "open") return t.reason;
2562
- }, Or = (e) => Tr(e, $().scopes), kr = (e, t) => Array.isArray(e) ? e.includes(t) : e === t, Ar = (e, t, n) => e.targets?.some((e) => e.table === t && e.op === n) ?? !1, jr = (e) => e === void 0 ? {} : {
2481
+ }, kr = (e) => Er(e, br().scopes), Ar = (e, t) => Array.isArray(e) ? e.includes(t) : e === t, jr = (e, t, n) => e.targets?.some((e) => e.table === t && e.op === n) ?? !1, Mr = (e) => e === void 0 ? {} : {
2563
2482
  tag: e.tag,
2564
2483
  ...e.guards === void 0 ? {} : { guards: e.guards }
2565
- }, Mr = (e) => e.tables.filter((e) => !e.framework).map((t) => {
2566
- let n = e.procedures.find((e) => e.kind === "query" && kr(e.source, t.name)), r = e.procedures.find((e) => e.kind === "mutation" && Ar(e, t.name, "insert")), i = e.procedures.find((e) => e.kind === "mutation" && Ar(e, t.name, "update")), a = e.procedures.find((e) => e.kind === "mutation" && Ar(e, t.name, "delete")), o = t.pkColumn ?? (t.columns.some((e) => e.name === "id") ? "id" : void 0);
2484
+ }, Nr = (e) => e.tables.filter((e) => !e.framework).map((t) => {
2485
+ let n = e.procedures.find((e) => e.kind === "query" && Ar(e.source, t.name)), r = e.procedures.find((e) => e.kind === "mutation" && jr(e, t.name, "insert")), i = e.procedures.find((e) => e.kind === "mutation" && jr(e, t.name, "update")), a = e.procedures.find((e) => e.kind === "mutation" && jr(e, t.name, "delete")), o = t.pkColumn ?? (t.columns.some((e) => e.name === "id") ? "id" : void 0);
2567
2486
  return {
2568
2487
  table: t.name,
2569
2488
  columns: t.columns.filter((e) => e.serverOnly !== !0),
@@ -2572,75 +2491,75 @@ var $ = () => r(vr), br = (e) => gr($().scopes, e), xr = (e) => _r($().scopes, e
2572
2491
  reactive: t.reactive,
2573
2492
  ...o === void 0 ? {} : { pkColumn: o },
2574
2493
  editable: (t.editable ?? !0) && o !== void 0,
2575
- list: jr(n),
2576
- create: jr(r),
2577
- update: jr(i),
2578
- delete: jr(a)
2494
+ list: Mr(n),
2495
+ create: Mr(r),
2496
+ update: Mr(i),
2497
+ delete: Mr(a)
2579
2498
  };
2580
- }), Nr = (e) => {
2581
- let [t, r] = c([]), [i, a] = c([]), s = n((e) => {
2582
- r((t) => [...t, e]), a([]);
2583
- }, []), l = n(async () => {
2584
- let n = t[t.length - 1];
2585
- n !== void 0 && n.blockedBy === void 0 && (await e.onUndo(n.invocationId), r((e) => e.slice(0, -1)), a((e) => [...e, n]));
2586
- }, [t, e]), u = n(async () => {
2587
- let t = i[i.length - 1];
2588
- t !== void 0 && (await e.onRedo(t.invocationId), a((e) => e.slice(0, -1)), r((e) => [...e, t]));
2589
- }, [i, e]);
2590
- return o(() => {
2499
+ }), Pr = (e) => {
2500
+ let [t, n] = _([]), [r, i] = _([]), a = d((e) => {
2501
+ n((t) => [...t, e]), i([]);
2502
+ }, []), o = d(async () => {
2503
+ let r = t[t.length - 1];
2504
+ r !== void 0 && r.blockedBy === void 0 && (await e.onUndo(r.invocationId), n((e) => e.slice(0, -1)), i((e) => [...e, r]));
2505
+ }, [t, e]), s = d(async () => {
2506
+ let t = r[r.length - 1];
2507
+ t !== void 0 && (await e.onRedo(t.invocationId), i((e) => e.slice(0, -1)), n((e) => [...e, t]));
2508
+ }, [r, e]);
2509
+ return h(() => {
2591
2510
  let e = t[t.length - 1];
2592
2511
  return {
2593
- record: s,
2594
- undo: l,
2595
- redo: u,
2512
+ record: a,
2513
+ undo: o,
2514
+ redo: s,
2596
2515
  canUndo: t.length > 0 && e?.blockedBy === void 0,
2597
- canRedo: i.length > 0,
2516
+ canRedo: r.length > 0,
2598
2517
  stack: t,
2599
2518
  nextBlockedBy: e?.blockedBy
2600
2519
  };
2601
2520
  }, [
2602
2521
  t,
2603
- i,
2604
- s,
2605
- l,
2606
- u
2522
+ r,
2523
+ a,
2524
+ o,
2525
+ s
2607
2526
  ]);
2608
- }, Pr = "__voltro.undo.log", Fr = "__voltro.undo.apply", Ir = "__voltro.undo.redo", Lr = (e, t) => {
2609
- let r = t?.limit, { data: i } = V(e, Pr, r === void 0 ? {} : { limit: r }), a = K(e, Fr), o = K(e, Ir), s = i ?? [], c = s.find((e) => !e.undone && !e.crossesAction), l = s.find((e) => e.undone), u = n(async (e) => {
2527
+ }, Fr = "__voltro.undo.log", Ir = "__voltro.undo.apply", Lr = "__voltro.undo.redo", Rr = (e, t) => {
2528
+ let n = t?.limit, { data: r } = W(e, Fr, n === void 0 ? {} : { limit: n }), i = Y(e, Ir), a = Y(e, Lr), o = r ?? [], s = o.find((e) => !e.undone && !e.crossesAction), c = o.find((e) => e.undone), l = d(async (e) => {
2529
+ await i.mutate({ invocationId: e });
2530
+ }, [i]), u = d(async (e) => {
2610
2531
  await a.mutate({ invocationId: e });
2611
- }, [a]), d = n(async (e) => {
2612
- await o.mutate({ invocationId: e });
2613
- }, [o]), f = n(async () => {
2532
+ }, [a]), f = d(async () => {
2533
+ s && await l(s.id);
2534
+ }, [s, l]), p = d(async () => {
2614
2535
  c && await u(c.id);
2615
- }, [c, u]), p = n(async () => {
2616
- l && await d(l.id);
2617
- }, [l, d]);
2536
+ }, [c, u]);
2618
2537
  return {
2619
- entries: s,
2620
- loading: i === void 0,
2621
- canUndo: c !== void 0,
2622
- canRedo: l !== void 0,
2623
- undo: u,
2624
- redo: d,
2538
+ entries: o,
2539
+ loading: r === void 0,
2540
+ canUndo: s !== void 0,
2541
+ canRedo: c !== void 0,
2542
+ undo: l,
2543
+ redo: u,
2625
2544
  undoLast: f,
2626
2545
  redoLast: p
2627
2546
  };
2628
- }, Rr = (e, t) => ({
2547
+ }, zr = (e, t) => ({
2629
2548
  name: e,
2630
2549
  map: t
2631
- }), zr = (e, t) => e === void 0 ? null : typeof e == "string" ? { event: e } : e(t), Br = /* @__PURE__ */ new Set(["onMount", "onUnmount"]), Vr = (e, t, n) => {
2550
+ }), Br = (e, t) => e === void 0 ? null : typeof e == "string" ? { event: e } : e(t), Vr = /* @__PURE__ */ new Set(["onMount", "onUnmount"]), Hr = (e, t, n) => {
2632
2551
  let r = { ...t };
2633
2552
  for (let [i, a] of Object.entries(e.map)) {
2634
- if (Br.has(i) || a === void 0) continue;
2553
+ if (Vr.has(i) || a === void 0) continue;
2635
2554
  let e = t[i];
2636
2555
  r[i] = (...r) => {
2637
- let i = zr(a, t);
2556
+ let i = Br(a, t);
2638
2557
  if (i !== null && n(i), typeof e == "function") return e(...r);
2639
2558
  };
2640
2559
  }
2641
2560
  return r;
2642
- }, Hr = (e, t, n) => {
2643
- let r = s({
2561
+ }, Ur = (e, t, n) => {
2562
+ let r = g({
2644
2563
  spec: e,
2645
2564
  props: t,
2646
2565
  sink: n
@@ -2649,47 +2568,47 @@ var $ = () => r(vr), br = (e) => gr($().scopes, e), xr = (e) => _r($().scopes, e
2649
2568
  spec: e,
2650
2569
  props: t,
2651
2570
  sink: n
2652
- }, a(() => {
2653
- let e = r.current, t = zr(e.spec.map.onMount, e.props);
2571
+ }, m(() => {
2572
+ let e = r.current, t = Br(e.spec.map.onMount, e.props);
2654
2573
  return t !== null && e.sink(t), () => {
2655
- let e = r.current, t = zr(e.spec.map.onUnmount, e.props);
2574
+ let e = r.current, t = Br(e.spec.map.onUnmount, e.props);
2656
2575
  t !== null && e.sink(t);
2657
2576
  };
2658
- }, []), o(() => Vr(e, t, n), [
2577
+ }, []), h(() => Hr(e, t, n), [
2659
2578
  e,
2660
2579
  t,
2661
2580
  n
2662
2581
  ]);
2663
- }, Ur = (e, t) => {
2664
- let n = N(e).descriptors[t]?.input;
2665
- return o(() => n === void 0 ? [] : Q(n), [n]);
2666
2582
  }, Wr = (e, t) => {
2667
- let n = N(e).descriptors[t]?.output;
2668
- return o(() => n === void 0 ? [] : ar(n), [n]);
2669
- }, Gr = (e, t) => {
2583
+ let n = I(e).descriptors[t]?.input;
2584
+ return h(() => n === void 0 ? [] : r(n), [n]);
2585
+ }, Gr = (e, n) => {
2586
+ let r = I(e).descriptors[n]?.output;
2587
+ return h(() => r === void 0 ? [] : t(r), [r]);
2588
+ }, Kr = (e, t) => {
2670
2589
  if (e === t) return !0;
2671
2590
  if (e.length !== t.length) return !1;
2672
2591
  for (let n = 0; n < e.length; n += 1) if (!Object.is(e[n], t[n])) return !1;
2673
2592
  return !0;
2674
- }, Kr = (e) => Object.keys(e).sort().map((t) => e[t]), qr = (e, t) => {
2675
- let n = s(null), r = Kr(e);
2676
- return (n.current === null || !Gr(n.current.key, r)) && (n.current = {
2593
+ }, qr = (e) => Object.keys(e).sort().map((t) => e[t]), Jr = (e, t) => {
2594
+ let n = g(null), r = qr(e);
2595
+ return (n.current === null || !Kr(n.current.key, r)) && (n.current = {
2677
2596
  key: r,
2678
2597
  value: t(e)
2679
2598
  }), n.current.value;
2680
- }, Jr = (e, t, n, r = {}) => {
2681
- let i = V(e, t, { ...n }, r);
2682
- return o(() => ({
2599
+ }, Yr = (e, t, n, r = {}) => {
2600
+ let i = W(e, t, { ...n }, r);
2601
+ return h(() => ({
2683
2602
  allowed: i.data?.allowed === !0,
2684
2603
  pending: i.data === void 0
2685
2604
  }), [i.data]);
2686
- }, Yr = (e, t, n, r = {}) => {
2687
- let i = V(e, t, { ...n }, r);
2688
- return o(() => ({
2605
+ }, Xr = (e, t, n, r = {}) => {
2606
+ let i = W(e, t, { ...n }, r);
2607
+ return h(() => ({
2689
2608
  allowedIds: new Set(i.data?.allowedIds ?? []),
2690
2609
  pending: i.data === void 0
2691
2610
  }), [i.data]);
2692
- }, Xr = (e) => {
2611
+ }, Zr = (e) => {
2693
2612
  switch (e) {
2694
2613
  case "select":
2695
2614
  case "radio":
@@ -2705,49 +2624,49 @@ var $ = () => r(vr), br = (e) => gr($().scopes, e), xr = (e) => _r($().scopes, e
2705
2624
  case "switch": return "boolean";
2706
2625
  default: return null;
2707
2626
  }
2708
- }, Zr = (e) => Q(e).map((e) => {
2709
- let t = Xr(e.widget);
2627
+ }, Qr = (e) => r(e).map((e) => {
2628
+ let t = Zr(e.widget);
2710
2629
  return t === null ? null : {
2711
2630
  name: e.name,
2712
2631
  label: e.label,
2713
2632
  kind: t,
2714
2633
  ...e.options ? { options: e.options } : {}
2715
2634
  };
2716
- }).filter((e) => e !== null), Qr = (e) => {
2635
+ }).filter((e) => e !== null), $r = (e) => {
2717
2636
  let t = {};
2718
2637
  for (let [n, r] of Object.entries(e)) r === void 0 || r === "" || Array.isArray(r) && r.length === 0 || (t[n] = r);
2719
2638
  return t;
2720
- }, $r = (e, t, r = {}) => {
2721
- let i = N(e).descriptors[t]?.input, a = o(() => i === void 0 ? [] : Zr(i), [i]), [s, l] = c(r.initial ?? {}), u = n((e, t) => {
2722
- l((n) => Qr({
2639
+ }, ei = (e, t, n = {}) => {
2640
+ let r = I(e).descriptors[t]?.input, i = h(() => r === void 0 ? [] : Qr(r), [r]), [a, o] = _(n.initial ?? {}), s = d((e, t) => {
2641
+ o((n) => $r({
2723
2642
  ...n,
2724
2643
  [e]: t
2725
2644
  }));
2726
- }, []), d = n(() => l({}), []), f = V(e, t, o(() => Qr(s), [s]));
2645
+ }, []), c = d(() => o({}), []), l = W(e, t, h(() => $r(a), [a]));
2727
2646
  return {
2728
- filters: a,
2729
- values: s,
2730
- setFilter: u,
2731
- clear: d,
2732
- rows: f.data ?? [],
2733
- count: f.data?.length,
2734
- loading: f.data === void 0,
2735
- error: f.error
2647
+ filters: i,
2648
+ values: a,
2649
+ setFilter: s,
2650
+ clear: c,
2651
+ rows: l.data ?? [],
2652
+ count: l.data?.length,
2653
+ loading: l.data === void 0,
2654
+ error: l.error
2736
2655
  };
2737
- }, ei = (e, t, n = {}) => {
2738
- let r = V(e, t, n), i = r.data;
2656
+ }, ti = (e, t, n = {}) => {
2657
+ let r = W(e, t, n), i = r.data;
2739
2658
  return {
2740
2659
  record: Array.isArray(i) ? i[0] : i,
2741
2660
  loading: i === void 0,
2742
2661
  error: r.error
2743
2662
  };
2744
- }, ti = (e, t = 300) => {
2745
- let [n, r] = c(e);
2746
- return a(() => {
2663
+ }, ni = (e, t = 300) => {
2664
+ let [n, r] = _(e);
2665
+ return m(() => {
2747
2666
  let n = setTimeout(() => r(e), t);
2748
2667
  return () => clearTimeout(n);
2749
2668
  }, [e, t]), n;
2750
- }, ni = (e) => {
2669
+ }, ri = (e) => {
2751
2670
  let { value: t, debouncedValue: n, data: r, interpret: i, skipEmpty: a = !0 } = e;
2752
2671
  if (a && t.trim() === "") return {
2753
2672
  status: "idle",
@@ -2765,39 +2684,39 @@ var $ = () => r(vr), br = (e) => gr($().scopes, e), xr = (e) => _r($().scopes, e
2765
2684
  valid: o.valid,
2766
2685
  message: o.message
2767
2686
  };
2768
- }, ri = (e, t, n, r) => {
2769
- let { input: i, interpret: a, debounceMs: s = 300, skipEmpty: c = !0 } = r, l = ti(n, s), u = c && l.trim() === "", d = V(e, t, o(() => i ? i(l) : { value: l }, [i, l]), { skip: u });
2770
- return ni({
2687
+ }, ii = (e, t, n, r) => {
2688
+ let { input: i, interpret: a, debounceMs: o = 300, skipEmpty: s = !0 } = r, c = ni(n, o), l = s && c.trim() === "", u = W(e, t, h(() => i ? i(c) : { value: c }, [i, c]), { skip: l });
2689
+ return ri({
2771
2690
  value: n,
2772
- debouncedValue: l,
2773
- data: u ? null : d.data,
2691
+ debouncedValue: c,
2692
+ data: l ? null : u.data,
2774
2693
  interpret: a,
2775
- skipEmpty: c
2694
+ skipEmpty: s
2776
2695
  });
2777
- }, ii = (e, t) => ({
2696
+ }, ai = (e, t) => ({
2778
2697
  name: e,
2779
2698
  payload: t
2780
- }), ai = (e, t) => {
2781
- let n = b.decodeUnknownEither(e.payload, { errors: "all" })(t);
2699
+ }), oi = (e, t) => {
2700
+ let n = ee.decodeUnknownEither(e.payload, { errors: "all" })(t);
2782
2701
  if (n._tag === "Right") return {
2783
2702
  valid: !0,
2784
2703
  errors: {}
2785
2704
  };
2786
2705
  let r = {};
2787
- for (let e of E.formatErrorSync(n.left)) r[e.path.join(".") || "(root)"] = e.message;
2706
+ for (let e of oe.formatErrorSync(n.left)) r[e.path.join(".") || "(root)"] = e.message;
2788
2707
  return {
2789
2708
  valid: !1,
2790
2709
  errors: r
2791
2710
  };
2792
- }, oi = (e) => {
2711
+ }, si = (e) => {
2793
2712
  let t = new Map(e.map((e) => [e.name, e]));
2794
2713
  return {
2795
2714
  names: [...t.keys()].sort(),
2796
2715
  get: (e) => t.get(e),
2797
2716
  events: e
2798
2717
  };
2799
- }, si = (e, t) => {
2800
- let n = oi(e);
2718
+ }, ci = (e, t) => {
2719
+ let n = si(e);
2801
2720
  return {
2802
2721
  track: (e, r) => {
2803
2722
  let i = n.get(e);
@@ -2806,7 +2725,7 @@ var $ = () => r(vr), br = (e) => gr($().scopes, e), xr = (e) => _r($().scopes, e
2806
2725
  return;
2807
2726
  }
2808
2727
  if (process.env.NODE_ENV !== "production") {
2809
- let t = ai(i, r);
2728
+ let t = oi(i, r);
2810
2729
  t.valid || console.error(`[@voltro/client] analytics.track('${e}'): payload failed its schema`, t.errors);
2811
2730
  }
2812
2731
  t({
@@ -2817,44 +2736,44 @@ var $ = () => r(vr), br = (e) => gr($().scopes, e), xr = (e) => _r($().scopes, e
2817
2736
  names: n.names,
2818
2737
  catalog: n
2819
2738
  };
2820
- }, ci = (e, t) => {
2821
- let r = q(e, t);
2739
+ }, li = (e, t) => {
2740
+ let n = X(e, t);
2822
2741
  return {
2823
- preview: n((e) => r.run(e), [r]),
2824
- diff: r.lastResult,
2825
- pending: r.pending,
2826
- error: r.error
2742
+ preview: d((e) => n.run(e), [n]),
2743
+ diff: n.lastResult,
2744
+ pending: n.pending,
2745
+ error: n.error
2827
2746
  };
2828
- }, li = (e, t, n, r) => [...e, {
2747
+ }, ui = (e, t, n, r) => [...e, {
2829
2748
  id: t,
2830
2749
  tag: n,
2831
2750
  input: r,
2832
2751
  status: "pending",
2833
2752
  attempts: 0
2834
- }], ui = (e, t, n) => e.map((e) => e.id === t ? {
2753
+ }], di = (e, t, n) => e.map((e) => e.id === t ? {
2835
2754
  ...e,
2836
2755
  ...n
2837
- } : e), di = (e, t) => ui(e, t, { status: "sent" }), fi = (e, t, n) => e.map((e) => e.id === t ? {
2756
+ } : e), fi = (e, t) => di(e, t, { status: "sent" }), pi = (e, t, n) => e.map((e) => e.id === t ? {
2838
2757
  ...e,
2839
2758
  status: "failed",
2840
2759
  error: n,
2841
2760
  attempts: e.attempts + 1
2842
- } : e), pi = (e, t, n) => ui(e, t, {
2761
+ } : e), mi = (e, t, n) => di(e, t, {
2843
2762
  status: "conflict",
2844
2763
  error: n
2845
- }), mi = (e) => e.filter((e) => e.status !== "sent"), hi = (e) => {
2764
+ }), hi = (e) => e.filter((e) => e.status !== "sent"), gi = (e) => {
2846
2765
  let t = [];
2847
2766
  for (let n of e) {
2848
2767
  if (n.status === "conflict") break;
2849
2768
  (n.status === "pending" || n.status === "failed") && t.push(n);
2850
2769
  }
2851
2770
  return t;
2852
- }, gi = (e) => {
2771
+ }, _i = (e) => {
2853
2772
  let t = e;
2854
2773
  return t?.conflict === !0 || t?._tag === "UndoBoundaryError" && t?.boundary === "conflict";
2855
- }, _i = (e) => {
2856
- let [t, n] = c(e ?? (typeof navigator < "u" ? navigator.onLine : !0));
2857
- return a(() => {
2774
+ }, vi = (e) => {
2775
+ let [t, n] = _(e ?? (typeof navigator < "u" ? navigator.onLine : !0));
2776
+ return m(() => {
2858
2777
  if (e !== void 0) {
2859
2778
  n(e);
2860
2779
  return;
@@ -2865,34 +2784,34 @@ var $ = () => r(vr), br = (e) => gr($().scopes, e), xr = (e) => _r($().scopes, e
2865
2784
  window.removeEventListener("online", t), window.removeEventListener("offline", r);
2866
2785
  };
2867
2786
  }, [e]), t;
2868
- }, vi = (e) => {
2869
- let { send: t, isConflict: r = gi, idFor: i } = e, [o, l] = c([]), u = _i(e.online), d = s(o);
2870
- d.current = o;
2871
- let f = s(0), p = n((e, t) => {
2872
- let n = i?.() ?? `obx_${f.current++}_${e}`;
2873
- l((r) => li(r, n, e, t));
2874
- }, [i]), m = n(async () => {
2875
- for (let e of hi(d.current)) try {
2876
- await t(e), l((t) => di(t, e.id));
2787
+ }, yi = (e) => {
2788
+ let { send: t, isConflict: n = _i, idFor: r } = e, [i, a] = _([]), o = vi(e.online), s = g(i);
2789
+ s.current = i;
2790
+ let c = g(0), l = d((e, t) => {
2791
+ let n = r?.() ?? `obx_${c.current++}_${e}`;
2792
+ a((r) => ui(r, n, e, t));
2793
+ }, [r]), u = d(async () => {
2794
+ for (let e of gi(s.current)) try {
2795
+ await t(e), a((t) => fi(t, e.id));
2877
2796
  } catch (t) {
2878
- if (r(t)) {
2879
- l((n) => pi(n, e.id, t));
2797
+ if (n(t)) {
2798
+ a((n) => mi(n, e.id, t));
2880
2799
  break;
2881
2800
  }
2882
- l((n) => fi(n, e.id, t));
2801
+ a((n) => pi(n, e.id, t));
2883
2802
  }
2884
- }, [t, r]);
2885
- return a(() => {
2886
- u && m();
2887
- }, [u, m]), {
2888
- queue: o,
2889
- enqueue: p,
2890
- replay: m,
2891
- online: u,
2892
- pending: o.filter((e) => e.status === "pending" || e.status === "failed").length,
2893
- conflicts: o.filter((e) => e.status === "conflict")
2803
+ }, [t, n]);
2804
+ return m(() => {
2805
+ o && u();
2806
+ }, [o, u]), {
2807
+ queue: i,
2808
+ enqueue: l,
2809
+ replay: u,
2810
+ online: o,
2811
+ pending: i.filter((e) => e.status === "pending" || e.status === "failed").length,
2812
+ conflicts: i.filter((e) => e.status === "conflict")
2894
2813
  };
2895
- }, yi = (e) => {
2814
+ }, bi = (e) => {
2896
2815
  let { scrollTop: t, viewportHeight: n, rowHeight: r, overscan: i = 5, total: a } = e, o = r > 0 ? r : 1, s = Math.max(0, Math.floor(t / o)), c = Math.ceil(n / o), l = Math.max(0, s - i), u = s + c + i, d = a === void 0 ? u : Math.min(u, a);
2897
2816
  return {
2898
2817
  startIndex: l,
@@ -2902,67 +2821,67 @@ var $ = () => r(vr), br = (e) => gr($().scopes, e), xr = (e) => _r($().scopes, e
2902
2821
  topSpacer: l * r,
2903
2822
  bottomSpacer: a === void 0 ? 0 : Math.max(0, (a - d) * r)
2904
2823
  };
2905
- }, bi = (e, t, r) => {
2906
- let { rowHeight: i, viewportHeight: a, overscan: s, total: l, input: u } = r, [d, f] = c(0), p = o(() => yi({
2907
- scrollTop: d,
2908
- viewportHeight: a,
2909
- rowHeight: i,
2910
- ...s === void 0 ? {} : { overscan: s },
2911
- ...l === void 0 ? {} : { total: l }
2824
+ }, xi = (e, t, n) => {
2825
+ let { rowHeight: r, viewportHeight: i, overscan: a, total: o, input: s } = n, [c, l] = _(0), u = h(() => bi({
2826
+ scrollTop: c,
2827
+ viewportHeight: i,
2828
+ rowHeight: r,
2829
+ ...a === void 0 ? {} : { overscan: a },
2830
+ ...o === void 0 ? {} : { total: o }
2912
2831
  }), [
2913
- d,
2914
- a,
2832
+ c,
2915
2833
  i,
2916
- s,
2917
- l
2918
- ]), m = V(e, t, o(() => ({
2919
- ...u,
2920
- offset: p.offset,
2921
- limit: p.limit
2834
+ r,
2835
+ a,
2836
+ o
2837
+ ]), f = W(e, t, h(() => ({
2838
+ ...s,
2839
+ offset: u.offset,
2840
+ limit: u.limit
2922
2841
  }), [
2923
- u,
2924
- p.offset,
2925
- p.limit
2926
- ])), h = n((e) => {
2927
- f(e.currentTarget.scrollTop);
2842
+ s,
2843
+ u.offset,
2844
+ u.limit
2845
+ ])), p = d((e) => {
2846
+ l(e.currentTarget.scrollTop);
2928
2847
  }, []);
2929
2848
  return {
2930
- rows: m.data ?? [],
2931
- window: p,
2932
- onScroll: h,
2933
- topSpacer: p.topSpacer,
2934
- bottomSpacer: p.bottomSpacer,
2935
- loading: m.data === void 0,
2936
- error: m.error
2849
+ rows: f.data ?? [],
2850
+ window: u,
2851
+ onScroll: p,
2852
+ topSpacer: u.topSpacer,
2853
+ bottomSpacer: u.bottomSpacer,
2854
+ loading: f.data === void 0,
2855
+ error: f.error
2937
2856
  };
2938
- }, xi = () => typeof navigator > "u" || navigator.onLine, Si = (e) => {
2939
- let { errorBus: t } = N(e), [r, i] = c(xi), [o, l] = c(0), [u, d] = c(void 0), f = s(!0);
2940
- a(() => (f.current = !0, () => {
2941
- f.current = !1;
2942
- }), []), a(() => {
2857
+ }, Si = () => typeof navigator > "u" || navigator.onLine, Ci = (e) => {
2858
+ let { errorBus: t } = I(e), [n, r] = _(Si), [i, a] = _(0), [o, s] = _(void 0), c = g(!0);
2859
+ m(() => (c.current = !0, () => {
2860
+ c.current = !1;
2861
+ }), []), m(() => {
2943
2862
  if (typeof window > "u") return;
2944
2863
  let e = () => {
2945
- i(!0), l(0);
2946
- }, t = () => i(!1);
2864
+ r(!0), a(0);
2865
+ }, t = () => r(!1);
2947
2866
  return window.addEventListener("online", e), window.addEventListener("offline", t), () => {
2948
2867
  window.removeEventListener("online", e), window.removeEventListener("offline", t);
2949
2868
  };
2950
- }, []), a(() => {
2869
+ }, []), m(() => {
2951
2870
  if (t?.on) return t.on(() => {
2952
- f.current && (l((e) => e + 1), d(Date.now()));
2871
+ c.current && (a((e) => e + 1), s(Date.now()));
2953
2872
  });
2954
2873
  }, [t]);
2955
- let p = n(() => {
2956
- l(0);
2874
+ let l = d(() => {
2875
+ a(0);
2957
2876
  }, []);
2958
2877
  return {
2959
- status: r ? o > 0 ? "degraded" : "connected" : "offline",
2960
- online: r,
2961
- failureCount: o,
2962
- lastFailureAt: u,
2963
- reportSuccess: p
2878
+ status: n ? i > 0 ? "degraded" : "connected" : "offline",
2879
+ online: n,
2880
+ failureCount: i,
2881
+ lastFailureAt: o,
2882
+ reportSuccess: l
2964
2883
  };
2965
- }, Ci = "__voltro.connections.list", wi = "__voltro.connections.start", Ti = "__voltro.connections.submitToken", Ei = "__voltro.connections.disconnect", Di = {
2884
+ }, wi = "__voltro.connections.list", Ti = "__voltro.connections.start", Ei = "__voltro.connections.submitToken", Di = "__voltro.connections.disconnect", Oi = {
2966
2885
  connectionId: "",
2967
2886
  kind: "oauth2",
2968
2887
  label: "",
@@ -2973,55 +2892,55 @@ var $ = () => r(vr), br = (e) => gr($().scopes, e), xr = (e) => _r($().scopes, e
2973
2892
  expiresAt: null,
2974
2893
  lastError: null,
2975
2894
  connectedAt: null
2976
- }, Oi = (e, t) => {
2895
+ }, ki = (e, t) => {
2977
2896
  if (t === "redirect") {
2978
2897
  globalThis.location.assign(e);
2979
2898
  return;
2980
2899
  }
2981
2900
  globalThis.open(e, "voltro-connect", "width=620,height=760,menubar=no,toolbar=no") === null && globalThis.location.assign(e);
2982
- }, ki = (e) => {
2983
- let { data: t } = V(e, Ci, {}), r = q(e, wi), i = K(e, Ti), a = K(e, Ei), o = t ?? [], s = r.pending || i.pending || a.pending, c = n((e) => ({
2901
+ }, Ai = (e) => {
2902
+ let { data: t } = W(e, wi, {}), n = X(e, Ti), r = Y(e, Ei), i = Y(e, Di), a = t ?? [], o = n.pending || r.pending || i.pending, s = d((e) => ({
2984
2903
  ...e,
2985
2904
  connected: e.status === "connected",
2986
2905
  needsAttention: e.status === "expired" || e.status === "revoked" || e.status === "error",
2987
- pending: s,
2906
+ pending: o,
2988
2907
  connect: async (t) => {
2989
2908
  if (e.kind !== "oauth2") throw Error(`connection "${e.connectionId}" is a personal-access-token connection — call submitToken(token), not connect().`);
2990
- let n = t?.redirectTo ?? `${globalThis.location.pathname}${globalThis.location.search}`;
2991
- Oi((await r.run({
2909
+ let r = t?.redirectTo ?? `${globalThis.location.pathname}${globalThis.location.search}`;
2910
+ ki((await n.run({
2992
2911
  connectionId: e.connectionId,
2993
- redirectTo: n
2912
+ redirectTo: r
2994
2913
  })).authorizeUrl, t?.mode);
2995
2914
  },
2996
2915
  submitToken: async (t) => {
2997
2916
  if (e.kind !== "pat") throw Error(`connection "${e.connectionId}" uses OAuth — call connect(), not submitToken().`);
2998
- await i.mutate({
2917
+ await r.mutate({
2999
2918
  connectionId: e.connectionId,
3000
2919
  token: t
3001
2920
  });
3002
2921
  },
3003
2922
  disconnect: async () => {
3004
- await a.mutate({ connectionId: e.connectionId });
2923
+ await i.mutate({ connectionId: e.connectionId });
3005
2924
  }
3006
2925
  }), [
3007
- s,
2926
+ o,
2927
+ n,
3008
2928
  r,
3009
- i,
3010
- a
3011
- ]), l = n((e) => {
3012
- let t = o.find((t) => t.connectionId === e);
3013
- return t === void 0 ? void 0 : c(t);
3014
- }, [o, c]);
2929
+ i
2930
+ ]), c = d((e) => {
2931
+ let t = a.find((t) => t.connectionId === e);
2932
+ return t === void 0 ? void 0 : s(t);
2933
+ }, [a, s]);
3015
2934
  return {
3016
- connections: o,
2935
+ connections: a,
3017
2936
  loading: t === void 0,
3018
- get: l,
3019
- pending: s
2937
+ get: c,
2938
+ pending: o
3020
2939
  };
3021
- }, Ai = (e, t) => {
3022
- let n = ki(e), r = n.get(t);
3023
- return o(() => r === void 0 ? {
3024
- ...Di,
2940
+ }, ji = (e, t) => {
2941
+ let n = Ai(e), r = n.get(t);
2942
+ return h(() => r === void 0 ? {
2943
+ ...Oi,
3025
2944
  connectionId: t,
3026
2945
  label: t,
3027
2946
  connected: !1,
@@ -3046,6 +2965,6 @@ var $ = () => r(vr), br = (e) => gr($().scopes, e), xr = (e) => _r($().scopes, e
3046
2965
  n.loading,
3047
2966
  n.pending
3048
2967
  ]);
3049
- }, ji = "framework-client";
2968
+ }, Mi = "framework-client";
3050
2969
  //#endregion
3051
- export { hr as ADMIN_SCOPE, ji as CLIENT_NAME, Ci as CONNECTIONS_LIST_TAG, Ei as CONNECTION_DISCONNECT_TAG, wi as CONNECTION_START_TAG, Ti as CONNECTION_SUBMIT_TOKEN_TAG, _e as FrameworkRuntimesContext, Ae as FrameworkRuntimesProvider, he as LoadingSubscriptionCache, yr as PermissionProvider, ge as RpcErrorBus, me as SubscriptionCache, Fr as UNDO_APPLY_TAG, Pr as UNDO_LOG_TAG, Ir as UNDO_REDO_TAG, Se as _resetFrameworkRuntimesWarning, qt as applyPreloadSeeds, ft as applyStoreSeeds, we as buildApiRuntime, gr as canCall, _r as canCallAny, Ct as clearMutations, mi as clearSent, Ye as clearStoreHistory, yi as computeWindow, si as createAnalytics, Vt as createHooks, Tr as decideAccess, ii as defineEvent, st as defineStore, Rr as defineTracking, ot as definedStores, Mr as deriveEntityAdmins, li as enqueueEntry, oi as eventCatalog, Zr as filtersFromSchema, jt as freshIdempotencyKey, Et as getMutationNotifier, xt as getMutations, Wn as isUnauthenticated, P as isUnresolvedApi, Ht as makePreloadSeedBag, lt as makeStoreSeedBag, Sr as manifestUrl, pi as markConflict, fi as markFailed, di as markSent, Dr as openAccessReason, pr as provenanceUrl, qn as publishClientError, D as publishClientTrace, Yt as readPreloadedSeedOutcome, Jt as readPreloadedSnapshot, hi as replayable, Yn as reportClientError, Er as requiredScopes, Xt as resetPreloadSeeds, ct as resetStoreRegistryForTests, Ie as resetStoreStorageForTest, B as resolveByTag, Fe as resolveStoreStorage, zr as resolveTrackingEvent, Fn as resumableConsumeProgram, cr as rowsToOptions, nn as runSequence, ar as schemaToColumns, Q as schemaToFields, Gt as seedPreloadedSubscription, Kt as seedPreloadedSubscriptionFailure, dt as seedStore, tn as sequence, Tt as setMutationNotifier, Ut as setPreloadSeedResolver, ut as setStoreSeedResolver, Pe as setStoreStorage, W as settleMutation, F as shallow, Gr as shallowArrayEqual, Kr as sourceValues, ye as ssrClientProxy, be as ssrStubHandle, O as stableKey, ke as startApiSupervisor, bt as startMutation, qe as storeHistory, Jn as subscribeClientErrors, re as subscribeClientTraces, St as subscribeMutations, Je as subscribeStoreHistory, oe as supersedesConfirmedPatches, Xe as travelToStoreState, Or as useAccessDecision, q as useAction, Vn as useAgent, Bn as useAgentChat, Pn as useAgentStream, ri as useAsyncValidation, br as useCan, xr as useCanAny, Cr as useCapabilityManifest, Ai as useConnection, Si as useConnectionStatus, ki as useConnections, Hn as useDataCopilot, dr as useDataTable, ti as useDebounced, qr as useDerived, en as useEvent, sr as useFormBinding, Ur as useFormSkeleton, N as useFrameworkApi, Ce as useFrameworkRuntimes, K as useMutation, Xn as useOnRpcError, vi as useOutbox, $ as usePermissions, Zt as usePreloadedSubscription, ci as usePreview, mr as useProvenance, lr as useQueryField, $r as useQueryFilters, ei as useRecord, Un as useRefreshSubscriptions, Jr as useResourceCan, Yr as useResourceCans, Ln as useResumableAgentStream, rn as useSequence, V as useSubscription, Wr as useTableSkeleton, Hr as useTracking, Nr as useUndo, Lr as useUndoLog, _n as useUpload, bi as useWindowedSubscription, vn as useWorkflow, En as useWorkflowDomainEvents, Dn as useWorkflowEventDeliveries, Tn as useWorkflowEvents, xn as useWorkflowRun, wn as useWorkflowRunEvents, Nn as useWorkflowRunState, Cn as useWorkflowRunSteps, Sn as useWorkflowRuns, yn as useWorkflowSignal, bn as useWorkflowUpdate, ai as validateEventPayload, or as validateFields, ni as validationStatus, Gn as wireAuthRefresh, Mt as withIdempotencyKey, Vr as wrapTrackedCallbacks };
2970
+ export { hr as ADMIN_SCOPE, Mi as CLIENT_NAME, wi as CONNECTIONS_LIST_TAG, Di as CONNECTION_DISCONNECT_TAG, Ti as CONNECTION_START_TAG, Ei as CONNECTION_SUBMIT_TOKEN_TAG, c as FORM_FLASH_SCRIPT_ID, i as FORM_KEY_FIELD, o as FORM_PATH_PREFIX, n as FORM_REDIRECT_FIELD, Se as FrameworkRuntimesContext, Fe as FrameworkRuntimesProvider, be as LoadingSubscriptionCache, yr as PermissionProvider, xe as RpcErrorBus, rr as ServerRequestContext, ar as ServerRequestProvider, ye as SubscriptionCache, Ir as UNDO_APPLY_TAG, Fr as UNDO_LOG_TAG, Lr as UNDO_REDO_TAG, De as _resetFrameworkRuntimesWarning, Qt as applyPreloadSeeds, _t as applyStoreSeeds, ke as buildApiRuntime, gr as canCall, _r as canCallAny, Ot as clearMutations, hi as clearSent, et as clearStoreHistory, bi as computeWindow, ci as createAnalytics, Kt as createHooks, Er as decideAccess, ai as defineEvent, ft as defineStore, zr as defineTracking, dt as definedStores, Nr as deriveEntityAdmins, ui as enqueueEntry, si as eventCatalog, Qr as filtersFromSchema, e as formActionPath, a as formDataToInput, It as freshIdempotencyKey, jt as getMutationNotifier, Et as getMutations, nr as globalContext, Yn as isUnauthenticated, L as isUnresolvedApi, qt as makePreloadSeedBag, mt as makeStoreSeedBag, Cr as manifestUrl, mi as markConflict, pi as markFailed, fi as markSent, Or as openAccessReason, pr as provenanceUrl, Qn as publishClientError, A as publishClientTrace, en as readPreloadedSeedOutcome, $t as readPreloadedSnapshot, gi as replayable, er as reportClientError, Dr as requiredScopes, tn as resetPreloadSeeds, pt as resetStoreRegistryForTests, Ve as resetStoreStorageForTest, U as resolveByTag, Be as resolveStoreStorage, Br as resolveTrackingEvent, Bn as resumableConsumeProgram, cr as rowsToOptions, cn as runSequence, t as schemaToColumns, r as schemaToFields, Xt as seedPreloadedSubscription, Zt as seedPreloadedSubscriptionFailure, gt as seedStore, sn as sequence, At as setMutationNotifier, Jt as setPreloadSeedResolver, ht as setStoreSeedResolver, ze as setStoreStorage, q as settleMutation, R as shallow, Kr as shallowArrayEqual, qr as sourceValues, we as ssrClientProxy, Te as ssrStubHandle, j as stableKey, Pe as startApiSupervisor, Tt as startMutation, Qe as storeHistory, $n as subscribeClientErrors, ce as subscribeClientTraces, Dt as subscribeMutations, $e as subscribeStoreHistory, de as supersedesConfirmedPatches, tt as travelToStoreState, kr as useAccessDecision, X as useAction, Kn as useAgent, Gn as useAgentChat, zn as useAgentStream, ii as useAsyncValidation, xr as useCan, Sr as useCanAny, wr as useCapabilityManifest, ji as useConnection, Ci as useConnectionStatus, Ai as useConnections, qn as useDataCopilot, dr as useDataTable, ni as useDebounced, Jr as useDerived, on as useEvent, sr as useFormBinding, or as useFormFlash, Wr as useFormSkeleton, I as useFrameworkApi, Oe as useFrameworkRuntimes, Y as useMutation, tr as useOnRpcError, yi as useOutbox, br as usePermissions, nn as usePreloadedSubscription, li as usePreview, mr as useProvenance, lr as useQueryField, ei as useQueryFilters, ti as useRecord, Jn as useRefreshSubscriptions, Yr as useResourceCan, Xr as useResourceCans, Hn as useResumableAgentStream, ln as useSequence, ir as useServerRequest, W as useSubscription, Gr as useTableSkeleton, Ur as useTracking, Pr as useUndo, Rr as useUndoLog, Sn as useUpload, xi as useWindowedSubscription, Cn as useWorkflow, jn as useWorkflowDomainEvents, Mn as useWorkflowEventDeliveries, An as useWorkflowEvents, En as useWorkflowRun, kn as useWorkflowRunEvents, Rn as useWorkflowRunState, On as useWorkflowRunSteps, Dn as useWorkflowRuns, wn as useWorkflowSignal, Tn as useWorkflowUpdate, oi as validateEventPayload, s as validateFields, ri as validationStatus, Xn as wireAuthRefresh, Lt as withIdempotencyKey, Hr as wrapTrackedCallbacks };