@voltro/client 0.23.0 → 0.25.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,36 +1,38 @@
1
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, Duration as d, Effect as f, Exit as p, Fiber as m, JSONSchema as h, Schema as g, Stream as _ } from "effect";
3
- import { applyRowPatch as v } from "@voltro/protocol";
4
- import { jsx as y } from "react/jsx-runtime";
5
- import { ArrayFormatter as b } from "effect/ParseResult";
2
+ import { Cause as u, Duration as d, Effect as f, Exit as p, Fiber as m, JSONSchema as h, Schedule as g, Schema as _, Stream as v } from "effect";
3
+ import { applyRowPatch as y } from "@voltro/protocol";
4
+ import { jsx as b } from "react/jsx-runtime";
5
+ import * as x from "@effect/platform/Headers";
6
+ import { RpcClient as S } from "@effect/rpc";
7
+ import { ArrayFormatter as C } from "effect/ParseResult";
6
8
  //#region src/traceBus.ts
7
- var x = /* @__PURE__ */ new Set(), S = (e) => {
8
- for (let t of x) try {
9
+ var w = /* @__PURE__ */ new Set(), T = (e) => {
10
+ for (let t of w) try {
9
11
  t(e);
10
12
  } catch {}
11
- }, C = (e) => (x.add(e), () => {
12
- x.delete(e);
13
- }), w = (e) => {
13
+ }, ee = (e) => (w.add(e), () => {
14
+ w.delete(e);
15
+ }), E = (e) => {
14
16
  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);
15
17
  return t(e);
16
- }, T = Object.freeze({
18
+ }, te = Object.freeze({
17
19
  data: void 0,
18
20
  revision: -1,
19
21
  emittedAt: void 0,
20
22
  error: void 0,
21
23
  pendingPatches: 0
22
- }), ee = 5e3, te = 0, ne = () => `patch_${++te}`, E = (e, t) => {
24
+ }), ne = 5e3, D = 0, re = () => `patch_${++D}`, O = (e, t) => {
23
25
  let n = e;
24
26
  for (let e of t.split(".")) {
25
27
  if (typeof n != "object" || !n) return;
26
28
  n = n[e];
27
29
  }
28
30
  return n;
29
- }, re = (e, t, n) => {
31
+ }, ie = (e, t, n) => {
30
32
  let r = t.split("."), i = (e) => typeof e == "object" && e && !Array.isArray(e) ? { ...e } : {}, a = i(e), o = a;
31
33
  for (let e = 0; e < r.length - 1; e += 1) o[r[e]] = i(o[r[e]]), o = o[r[e]];
32
34
  return o[r[r.length - 1]] = n, a;
33
- }, ie = (e, t) => {
35
+ }, k = (e, t) => {
34
36
  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];
35
37
  return i.length === 0 ? null : new Set(i);
36
38
  }, ae = (e, t, n) => {
@@ -46,11 +48,11 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
46
48
  optimistic: !0
47
49
  }, s = e.order ?? "append";
48
50
  return (e) => {
49
- let t = Array.isArray(E(e, r)) ? E(e, r) : [];
50
- return re(e ?? {}, r, s === "append" ? [...t, o] : [o, ...t]);
51
+ let t = Array.isArray(O(e, r)) ? O(e, r) : [];
52
+ return ie(e ?? {}, r, s === "append" ? [...t, o] : [o, ...t]);
51
53
  };
52
54
  }
53
- let a = ie(e, t);
55
+ let a = k(e, t);
54
56
  if (a === null) return null;
55
57
  if (e.op === "update") {
56
58
  let n = e.shapeItem ?? e.shape, o = n ? (e) => ({
@@ -64,13 +66,13 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
64
66
  optimistic: !0
65
67
  });
66
68
  return (e) => {
67
- let t = Array.isArray(E(e, r)) ? E(e, r) : [];
68
- return re(e, r, t.map((e) => a.has(e[i]) ? o(e) : e));
69
+ let t = Array.isArray(O(e, r)) ? O(e, r) : [];
70
+ return ie(e, r, t.map((e) => a.has(e[i]) ? o(e) : e));
69
71
  };
70
72
  }
71
73
  return (e) => {
72
- let t = Array.isArray(E(e, r)) ? E(e, r) : [];
73
- return re(e, r, t.filter((e) => !a.has(e[i])));
74
+ let t = Array.isArray(O(e, r)) ? O(e, r) : [];
75
+ return ie(e, r, t.filter((e) => !a.has(e[i])));
74
76
  };
75
77
  }, oe = (e, t, n) => {
76
78
  if (e.path !== void 0) return ae(e, t, n);
@@ -91,7 +93,7 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
91
93
  };
92
94
  }
93
95
  case "update": {
94
- let n = ie(e, t);
96
+ let n = k(e, t);
95
97
  if (n === null) return null;
96
98
  let r = e.shape, i = r ? (e) => ({
97
99
  ...r(t, e),
@@ -108,7 +110,7 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
108
110
  });
109
111
  }
110
112
  case "delete": {
111
- let n = ie(e, t);
113
+ let n = k(e, t);
112
114
  return n === null ? null : (e) => (Array.isArray(e) ? e : []).filter((e) => !n.has(e.id));
113
115
  }
114
116
  }
@@ -121,17 +123,17 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
121
123
  this.inactiveTtlMs = e.inactiveTtlMs ?? se, this.onChangeHook = e.onChange, this.errorBus = e.errorBus;
122
124
  }
123
125
  subscribe(e, t, n, r, i = {}) {
124
- let a = w(e), o = typeof e[0] == "string" ? e[0] : void 0, s = this.entries.get(a);
126
+ let a = E(e), o = typeof e[0] == "string" ? e[0] : void 0, s = this.entries.get(a);
125
127
  return s && s.evictionTimer !== null && (clearTimeout(s.evictionTimer), s.evictionTimer = null), s ? (s.fiber === null && (s.fetch = t, 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), {
126
128
  getSnapshot: () => this.getSnapshot(a),
127
129
  unsubscribe: () => this.unsubscribe(a, r)
128
130
  };
129
131
  }
130
132
  update(e, t, n) {
131
- let r = w(e), i = typeof e[0] == "string" ? e[0] : void 0, a = this.entries.get(r);
133
+ let r = E(e), i = typeof e[0] == "string" ? e[0] : void 0, a = this.entries.get(r);
132
134
  a ||= this.createStub(r, i);
133
135
  let o = {
134
- id: ne(),
136
+ id: re(),
135
137
  mutationId: n,
136
138
  reducer: t
137
139
  };
@@ -145,7 +147,7 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
145
147
  for (let i of this.entries.values()) {
146
148
  if (i.tag !== e) continue;
147
149
  let a = {
148
- id: `forTag-${++te}`,
150
+ id: `forTag-${++D}`,
149
151
  mutationId: n,
150
152
  reducer: t
151
153
  };
@@ -162,10 +164,10 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
162
164
  confirmByMutation(e) {
163
165
  let t = !1;
164
166
  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);
165
- t && setTimeout(() => this.revertByMutation(e), ee);
167
+ t && setTimeout(() => this.revertByMutation(e), ne);
166
168
  }
167
169
  autoApply(e, t, n) {
168
- let r = `optimistic-${n}-${++te}`;
170
+ let r = `optimistic-${n}-${++D}`;
169
171
  for (let i of e) for (let e of this.entries.values()) {
170
172
  if (!(Array.isArray(e.source) ? e.source.includes(i.table) : e.source === i.table)) continue;
171
173
  if (i.match !== void 0) {
@@ -195,10 +197,10 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
195
197
  n.state.patches = n.state.patches.filter((e) => e.id !== t), n.state.patches.length !== r && this.invalidate(n);
196
198
  }
197
199
  peek(e) {
198
- return this.getSnapshot(w(e));
200
+ return this.getSnapshot(E(e));
199
201
  }
200
202
  getEntry(e) {
201
- return this.entries.get(w(e));
203
+ return this.entries.get(E(e));
202
204
  }
203
205
  size() {
204
206
  return this.entries.size;
@@ -267,18 +269,18 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
267
269
  };
268
270
  }
269
271
  startFiber(e, t, n) {
270
- let r = e.tag ?? e.key, i = t(), a = _.unwrapScoped(f.currentSpan.pipe(f.catchAll(() => f.succeed(void 0)), f.map((t) => (t && (e.traceId = t.traceId, S({
272
+ let r = e.tag ?? e.key, i = t(), a = v.unwrapScoped(f.currentSpan.pipe(f.catchAll(() => f.succeed(void 0)), f.map((t) => (t && (e.traceId = t.traceId, T({
271
273
  traceId: t.traceId,
272
274
  spanId: t.spanId,
273
275
  source: "subscription",
274
276
  tag: r
275
- })), i)))).pipe(_.withSpan(`client.subscription.${r}`, { attributes: { "rpc.tag": r } }));
276
- e.fiber = n.runFork(a.pipe(_.runForEach((t) => f.sync(() => {
277
+ })), i)))).pipe(v.withSpan(`client.subscription.${r}`, { attributes: { "rpc.tag": r } }));
278
+ e.fiber = n.runFork(a.pipe(v.runForEach((t) => f.sync(() => {
277
279
  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);
278
280
  else if (t._tag === "error") e.state.baseError = u.fail(t.error), typeof t.revision == "number" && (e.state.baseRevision = t.revision);
279
281
  else {
280
282
  let n = e.state.base;
281
- Array.isArray(n) && (e.state.base = v(n, t.patch)), e.state.baseRevision = t.revision, e.state.baseEmittedAt = t.emittedAt, e.state.baseError = void 0;
283
+ Array.isArray(n) && (e.state.base = y(n, t.patch)), e.state.baseRevision = t.revision, e.state.baseEmittedAt = t.emittedAt, e.state.baseError = void 0;
282
284
  }
283
285
  e.state.patches.some((e) => e.confirmed === !0) && (e.state.patches = e.state.patches.filter((e) => e.confirmed !== !0)), this.invalidate(e);
284
286
  })))), e.fiber.addObserver((t) => {
@@ -300,7 +302,7 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
300
302
  }
301
303
  getSnapshot(e) {
302
304
  let t = this.entries.get(e);
303
- if (!t) return T;
305
+ if (!t) return te;
304
306
  if (t.state.cachedSnapshot !== null) return t.state.cachedSnapshot;
305
307
  let n = t.state.base;
306
308
  if (n !== void 0 && t.state.patches.length > 0) for (let e of t.state.patches) n = e.reducer(n);
@@ -339,30 +341,30 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
339
341
  t(e);
340
342
  } catch {}
341
343
  }
342
- }, de = e(null), fe = () => {
344
+ }, A = e(null), de = () => {
343
345
  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");
344
- }, D = new Proxy(() => fe(), {
345
- get: (e, t) => D,
346
+ }, fe = new Proxy(() => de(), {
347
+ get: (e, t) => fe,
346
348
  has: () => !0,
347
- apply: () => fe()
349
+ apply: () => de()
348
350
  }), pe = {
349
351
  runtime: { runPromise: () => Promise.reject(/* @__PURE__ */ Error("Voltro: mutations are not invokable during SSR")) },
350
352
  cache: new le(),
351
- client: D,
353
+ client: fe,
352
354
  descriptors: {},
353
355
  inspectBaseUrl: "",
354
356
  errorBus: new ue()
355
357
  }, me = {
356
358
  get: () => pe,
357
359
  names: []
358
- }, O = !1, k = !1, A = null, he = () => {
359
- O = !1, k = !1, A !== null && (clearTimeout(A), A = null);
360
+ }, j = !1, M = !1, N = null, he = () => {
361
+ j = !1, M = !1, N !== null && (clearTimeout(N), N = null);
360
362
  }, ge = () => {
361
- let e = r(de);
362
- return e ? (k || (k = !0, A !== null && (clearTimeout(A), A = null)), e) : (typeof window < "u" && !O && !k && A === null && process.env.NODE_ENV !== "production" && (A = setTimeout(() => {
363
- A = null, !(O || k) && (O = !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>."));
363
+ let e = r(A);
364
+ return e ? (M || (M = !0, N !== null && (clearTimeout(N), N = null)), e) : (typeof window < "u" && !j && !M && N === null && process.env.NODE_ENV !== "production" && (N = setTimeout(() => {
365
+ N = null, !(j || M) && (j = !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>."));
364
366
  }, 0)), me);
365
- }, j = (e) => ge().get(e), _e = ({ apis: e, children: t }) => {
367
+ }, P = (e) => ge().get(e), _e = ({ apis: e, children: t }) => {
366
368
  let n = o(() => ({
367
369
  get: (t) => {
368
370
  let n = e.get(t);
@@ -374,21 +376,21 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
374
376
  },
375
377
  names: Array.from(e.keys())
376
378
  }), [e]);
377
- return /* @__PURE__ */ y(de.Provider, {
379
+ return /* @__PURE__ */ b(A.Provider, {
378
380
  value: n,
379
381
  children: t
380
382
  });
381
- }, M = (e, t) => {
383
+ }, F = (e, t) => {
382
384
  if (Object.is(e, t)) return !0;
383
385
  if (typeof e != "object" || typeof t != "object" || e === null || t === null || Array.isArray(e) !== Array.isArray(t)) return !1;
384
386
  let n = Object.keys(e), r = Object.keys(t);
385
387
  if (n.length !== r.length) return !1;
386
388
  for (let r of n) if (!Object.prototype.hasOwnProperty.call(t, r) || !Object.is(e[r], t[r])) return !1;
387
389
  return !0;
388
- }, ve = 50, N = /* @__PURE__ */ new Set(), ye = (e, t) => {
389
- N.has(e) || (N.add(e), console.warn(t));
390
- }, P = "\0global", be = null, xe = (e, t, n) => {
391
- let r = be?.() ?? null;
390
+ }, ve = 50, ye = /* @__PURE__ */ new Set(), be = (e, t) => {
391
+ ye.has(e) || (ye.add(e), console.warn(t));
392
+ }, xe = "\0global", Se = null, Ce = (e, t, n) => {
393
+ let r = Se?.() ?? null;
392
394
  if (r === null) return n;
393
395
  let i = n;
394
396
  for (let n of r.seeds) n.store !== e || n.key !== t || (i = {
@@ -396,7 +398,7 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
396
398
  ...n.value
397
399
  });
398
400
  return i;
399
- }, Se = (e, t) => {
401
+ }, we = (e, t) => {
400
402
  let n = e(), r = /* @__PURE__ */ new Set(), i = 0, a = 0, o, s, c = () => {
401
403
  if (i >= ve) throw i = 0, Error(`defineStore: notification depth exceeded ${ve} — 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.`);
402
404
  i += 1;
@@ -419,20 +421,20 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
419
421
  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}', () => { … })\`.`);
420
422
  if (--a, a > 0) return;
421
423
  let l = o, u = s;
422
- o = void 0, s = void 0, !M(l, n) && (t(l, n, u), c());
424
+ o = void 0, s = void 0, !F(l, n) && (t(l, n, u), c());
423
425
  },
424
426
  set: (e, r) => {
425
427
  let i = typeof e == "function" ? e(n) : {
426
428
  ...n,
427
429
  ...e
428
430
  };
429
- if (M(i, n)) return;
431
+ if (F(i, n)) return;
430
432
  let o = n;
431
433
  n = i, !(a > 0) && (t(o, i, r), c());
432
434
  },
433
435
  reset: () => {
434
436
  let r = e();
435
- if (M(r, n)) return;
437
+ if (F(r, n)) return;
436
438
  let i = n;
437
439
  n = r, !(a > 0) && (t(i, r, "reset"), c());
438
440
  },
@@ -440,47 +442,47 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
440
442
  r.delete(e);
441
443
  })
442
444
  };
443
- }, Ce = 200, F = [], we = /* @__PURE__ */ new Set(), Te = [], Ee = () => Te, De = (e) => (we.add(e), () => {
444
- we.delete(e);
445
- }), Oe = () => {
446
- F.length = 0, Te = [];
447
- }, ke = (e, t) => {
448
- let n = F[e];
445
+ }, Te = 200, I = [], Ee = /* @__PURE__ */ new Set(), De = [], Oe = () => De, ke = (e) => (Ee.add(e), () => {
446
+ Ee.delete(e);
447
+ }), Ae = () => {
448
+ I.length = 0, De = [];
449
+ }, je = (e, t) => {
450
+ let n = I[e];
449
451
  if (n === void 0) return !1;
450
- let r = R.get(n.store);
452
+ let r = z.get(n.store);
451
453
  if (r === void 0) return !1;
452
454
  let i = t === "before" ? n.prev : n.next;
453
- L = !0;
455
+ R = !0;
454
456
  try {
455
457
  r.set(() => i, n.key, `travel:${t}`);
456
458
  } finally {
457
- L = !1;
459
+ R = !1;
458
460
  }
459
461
  return !0;
460
- }, I = !1, L = !1, Ae = (e) => {
461
- F.push(e), F.length > Ce && F.shift(), Te = [...F];
462
- for (let e of [...we]) e();
463
- }, R = /* @__PURE__ */ new Map(), je = /* @__PURE__ */ new Map(), Me = 0, Ne = !1, Pe = /* @__PURE__ */ new Map(), Fe = () => (Ne || (Ne = !0, queueMicrotask(() => {
464
- Me += 1, Ne = !1;
465
- })), Me), Ie = Le(((/* @__PURE__ */ Error()).stack ?? "").split("\n")[1] ?? "") ?? "";
466
- function Le(e) {
462
+ }, L = !1, R = !1, Me = (e) => {
463
+ I.push(e), I.length > Te && I.shift(), De = [...I];
464
+ for (let e of [...Ee]) e();
465
+ }, z = /* @__PURE__ */ new Map(), Ne = /* @__PURE__ */ new Map(), Pe = 0, Fe = !1, Ie = /* @__PURE__ */ new Map(), Le = () => (Fe || (Fe = !0, queueMicrotask(() => {
466
+ Pe += 1, Fe = !1;
467
+ })), Pe), Re = ze(((/* @__PURE__ */ Error()).stack ?? "").split("\n")[1] ?? "") ?? "";
468
+ function ze(e) {
467
469
  let t = e.trim().replace(/^at\s+/, ""), n = /\(([^()]+)\)\s*$/.exec(t)?.[1] ?? t;
468
470
  return n.length > 0 ? n : void 0;
469
471
  }
470
- var Re = () => {
472
+ var Be = () => {
471
473
  let e = (/* @__PURE__ */ Error()).stack;
472
474
  if (typeof e != "string") return "<unknown>";
473
475
  for (let t of e.split("\n").slice(1)) {
474
- let e = Le(t);
476
+ let e = ze(t);
475
477
  if (e === void 0) continue;
476
478
  let n = e.replace(/:\d+:\d+$/, "");
477
- if (!(Ie !== "" && n === Ie.replace(/:\d+:\d+$/, ""))) return n;
479
+ if (!(Re !== "" && n === Re.replace(/:\d+:\d+$/, ""))) return n;
478
480
  }
479
481
  return "<unknown>";
480
- }, ze = () => [...R.values()], Be = (e, t, r) => {
481
- let a = Re(), o = Fe(), c = R.get(e);
482
+ }, Ve = () => [...z.values()], He = (e, t, r) => {
483
+ let a = Be(), o = Le(), c = z.get(e);
482
484
  if (c !== void 0) {
483
- let t = je.get(e) ?? "<unknown>", n = Pe.get(e) === o;
485
+ let t = Ne.get(e) ?? "<unknown>", n = Ie.get(e) === o;
484
486
  if (a !== "<unknown>" && a === t && !n) return c;
485
487
  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}`);
486
488
  }
@@ -516,28 +518,28 @@ var Re = () => {
516
518
  t.setItem(u.key, JSON.stringify(n));
517
519
  } catch {}
518
520
  }, m = /* @__PURE__ */ new Map(), h = (n) => {
519
- let r = n ?? P, i = m.get(r);
521
+ let r = n ?? xe, i = m.get(r);
520
522
  if (i === void 0) {
521
523
  let a = n;
522
- i = Se(u !== void 0 && n === void 0 ? () => {
524
+ i = we(u !== void 0 && n === void 0 ? () => {
523
525
  let e = t();
524
526
  return g = e, {
525
527
  ...e,
526
528
  ...f() ?? {}
527
529
  };
528
530
  } : t, (t, n, r) => {
529
- if (u !== void 0 && a === void 0 && p(n), !I && !L) {
531
+ if (u !== void 0 && a === void 0 && p(n), !L && !R) {
530
532
  let e = v(a);
531
533
  e.steps.length = e.cursor, e.steps.push({
532
534
  prev: t,
533
535
  next: n
534
536
  }), e.steps.length > y && e.steps.shift(), e.cursor = e.steps.length;
535
537
  }
536
- Ae({
538
+ Me({
537
539
  store: e,
538
540
  ...a === void 0 ? {} : { key: a },
539
541
  ...r === void 0 ? {} : { label: r },
540
- ...I || L ? { isUndo: !0 } : {},
542
+ ...L || R ? { isUndo: !0 } : {},
541
543
  prev: t,
542
544
  next: n,
543
545
  at: Date.now()
@@ -546,7 +548,7 @@ var Re = () => {
546
548
  }
547
549
  return i;
548
550
  }, g, _ = /* @__PURE__ */ new Map(), v = (e) => {
549
- let t = e ?? P, n = _.get(t);
551
+ let t = e ?? xe, n = _.get(t);
550
552
  return n === void 0 && (n = {
551
553
  steps: [],
552
554
  cursor: 0
@@ -578,7 +580,7 @@ var Re = () => {
578
580
  let n = u.current;
579
581
  if (n.has && Object.is(n.state, t)) return n.value;
580
582
  let r = o.current(t), i = c.current, a = n.has && (i ? i(n.value, r) : Object.is(n.value, r));
581
- process.env.NODE_ENV !== "production" && i === void 0 && n.has && !a && typeof r == "object" && r && M(n.value, r) && ye(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.`);
583
+ process.env.NODE_ENV !== "production" && i === void 0 && n.has && !a && typeof r == "object" && r && F(n.value, r) && be(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.`);
582
584
  let s = a ? n.value : r;
583
585
  return u.current = {
584
586
  state: t,
@@ -594,7 +596,7 @@ var Re = () => {
594
596
  a,
595
597
  f,
596
598
  p
597
- ]), n(() => d(a.get()), [a, d]), n(() => d(xe(e, r?.key, r?.key === void 0 && g !== void 0 ? g : a.get())), [
599
+ ]), n(() => d(a.get()), [a, d]), n(() => d(Ce(e, r?.key, r?.key === void 0 && g !== void 0 ? g : a.get())), [
598
600
  a,
599
601
  r?.key,
600
602
  d
@@ -612,11 +614,11 @@ var Re = () => {
612
614
  undo: (e) => {
613
615
  let t = v(e);
614
616
  if (t.cursor === 0) return !1;
615
- --t.cursor, I = !0;
617
+ --t.cursor, L = !0;
616
618
  try {
617
619
  h(e).set(() => t.steps[t.cursor].prev, "undo");
618
620
  } finally {
619
- I = !1;
621
+ L = !1;
620
622
  }
621
623
  return !0;
622
624
  },
@@ -624,11 +626,11 @@ var Re = () => {
624
626
  let t = v(e);
625
627
  if (t.cursor >= t.steps.length) return !1;
626
628
  let n = t.steps[t.cursor];
627
- t.cursor += 1, I = !0;
629
+ t.cursor += 1, L = !0;
628
630
  try {
629
631
  h(e).set(() => n.next, "redo");
630
632
  } finally {
631
- I = !1;
633
+ L = !1;
632
634
  }
633
635
  return !0;
634
636
  },
@@ -640,27 +642,27 @@ var Re = () => {
640
642
  release: (e) => {
641
643
  m.delete(e), _.delete(e);
642
644
  },
643
- keys: () => [...m.keys()].filter((e) => e !== P)
645
+ keys: () => [...m.keys()].filter((e) => e !== xe)
644
646
  };
645
- return R.set(e, w), je.set(e, a), Pe.set(e, o), w;
646
- }, Ve = () => {
647
- R.clear(), je.clear(), Pe.clear(), N.clear();
648
- }, He = () => ({ seeds: [] }), Ue = (e) => {
649
- be = e;
650
- }, We = (e, t, n) => {
651
- let r = be?.() ?? null;
647
+ return z.set(e, w), Ne.set(e, a), Ie.set(e, o), w;
648
+ }, Ue = () => {
649
+ z.clear(), Ne.clear(), Ie.clear(), ye.clear();
650
+ }, We = () => ({ seeds: [] }), Ge = (e) => {
651
+ Se = e;
652
+ }, Ke = (e, t, n) => {
653
+ let r = Se?.() ?? null;
652
654
  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.)`);
653
655
  r.seeds.push({
654
656
  store: e.name,
655
657
  ...n?.key === void 0 ? {} : { key: n.key },
656
658
  value: t
657
659
  });
658
- }, Ge = (e) => {
660
+ }, qe = (e) => {
659
661
  if (e !== void 0) for (let t of e) {
660
- let e = R.get(t.store);
662
+ let e = z.get(t.store);
661
663
  e !== void 0 && e.set(t.value, t.key);
662
664
  }
663
- }, z = (e, t) => {
665
+ }, B = (e, t) => {
664
666
  let n = t.split("."), r = e;
665
667
  for (let e = 0; e < n.length; e++) {
666
668
  let i = n[e];
@@ -679,29 +681,29 @@ var Re = () => {
679
681
  }
680
682
  if (typeof r != "function") throw Error(`@voltro/client: rpc tag ${JSON.stringify(t)} did not resolve to a callable method.`);
681
683
  return r;
682
- }, Ke = Object.freeze({
684
+ }, Je = Object.freeze({
683
685
  data: void 0,
684
686
  revision: -1,
685
687
  emittedAt: void 0,
686
688
  error: void 0,
687
689
  pendingPatches: 0
688
- }), qe = () => Ke;
689
- function B(e, t, r = {}, i = {}) {
690
- let a = i.skip === !0, { runtime: c, cache: u, client: d, descriptors: f } = j(e), p = f[t]?.source, m = s(r);
690
+ }), Ye = () => Je;
691
+ function V(e, t, r = {}, i = {}) {
692
+ let a = i.skip === !0, { runtime: c, cache: u, client: d, descriptors: f } = P(e), p = f[t]?.source, m = s(r);
691
693
  m.current = r;
692
694
  let h = s(d);
693
695
  h.current = d;
694
- let g = s(() => z(h.current, t)(m.current)), _ = o(() => [t, m.current], [t, o(() => JSON.stringify(Object.entries(r).sort(([e], [t]) => e.localeCompare(t))), [r])]), v = l(n((e) => a ? () => {} : u.subscribe(_, g.current, c, e, p === void 0 ? {} : { source: p }).unsubscribe, [
696
+ let g = s(() => B(h.current, t)(m.current)), _ = o(() => [t, m.current], [t, o(() => JSON.stringify(Object.entries(r).sort(([e], [t]) => e.localeCompare(t))), [r])]), v = l(n((e) => a ? () => {} : u.subscribe(_, g.current, c, e, p === void 0 ? {} : { source: p }).unsubscribe, [
695
697
  u,
696
698
  c,
697
699
  p,
698
700
  a,
699
701
  _
700
- ]), n(() => a ? Ke : u.peek(_), [
702
+ ]), n(() => a ? Je : u.peek(_), [
701
703
  u,
702
704
  a,
703
705
  _
704
- ]), qe), y = v.data !== void 0, b = y && (Array.isArray(v.data) ? v.data.length === 0 : v.data === null), x = {
706
+ ]), Ye), y = v.data !== void 0, b = y && (Array.isArray(v.data) ? v.data.length === 0 : v.data === null), x = {
705
707
  revision: v.revision,
706
708
  emittedAt: v.emittedAt,
707
709
  error: v.error,
@@ -744,8 +746,92 @@ function B(e, t, r = {}, i = {}) {
744
746
  };
745
747
  }
746
748
  //#endregion
749
+ //#region src/useEvent.ts
750
+ var H = {
751
+ status: "idle",
752
+ missed: 0,
753
+ lastMiss: void 0
754
+ }, Xe = class {
755
+ _tag = "EventStreamClosed";
756
+ };
757
+ function Ze(e, t, r, i = {}) {
758
+ let { skip: o = !1, apiName: l = "app", onMissed: u } = i, { runtime: d, client: p } = P(l), [m, h] = c(H), _ = s(r);
759
+ _.current = r;
760
+ let y = s(u);
761
+ y.current = u;
762
+ let b = s(p);
763
+ b.current = p;
764
+ let x = s(d);
765
+ x.current = d;
766
+ let S = s(/* @__PURE__ */ new Map()), C = t === null ? null : JSON.stringify(Object.entries(t).sort(([e], [t]) => e < t ? -1 : 1)), w = s(t);
767
+ w.current = t;
768
+ let T = s(null);
769
+ T.current !== C && (T.current = C, S.current = /* @__PURE__ */ new Map());
770
+ let ee = n((e, t) => {
771
+ e <= 0 || (h((n) => ({
772
+ ...n,
773
+ missed: n.missed + e,
774
+ lastMiss: {
775
+ count: e,
776
+ reason: t
777
+ }
778
+ })), y.current?.({
779
+ count: e,
780
+ reason: t
781
+ }));
782
+ }, []), E = !o && C !== null;
783
+ return a(() => {
784
+ if (!E) {
785
+ h(H);
786
+ return;
787
+ }
788
+ h((e) => ({
789
+ ...e,
790
+ status: "connecting"
791
+ }));
792
+ let t = 0, n = f.sync(() => {
793
+ let t = [...S.current].map(([e, t]) => ({
794
+ origin: e,
795
+ n: t
796
+ }));
797
+ return B(b.current, e.name)({
798
+ key: w.current,
799
+ ...t.length > 0 ? { resume: t } : {}
800
+ });
801
+ }), r = v.unwrap(n).pipe(v.tap(() => f.sync(() => {
802
+ t = 0;
803
+ })), v.concat(v.fail(new Xe())), v.retry(g.exponential("250 millis", 2).pipe(g.either(g.spaced("30 seconds")), g.jittered, g.tapOutput(() => f.sync(() => {
804
+ t += 1, h((e) => ({
805
+ ...e,
806
+ status: "connecting"
807
+ }));
808
+ }))))), i = x.current.runFork(v.runForEach(r, (e) => f.sync(() => {
809
+ if (e._tag === "attached") {
810
+ h((e) => ({
811
+ ...e,
812
+ status: "live"
813
+ }));
814
+ return;
815
+ }
816
+ if (e._tag === "gap") {
817
+ ee(e.missed, e.reason);
818
+ return;
819
+ }
820
+ S.current.set(e.origin, Math.max(S.current.get(e.origin) ?? 0, e.n)), _.current(e.payload);
821
+ })));
822
+ return () => {
823
+ x.current.runFork(i.interruptAsFork(i.id()));
824
+ };
825
+ }, [
826
+ E,
827
+ C,
828
+ e.name,
829
+ ee
830
+ ]), E ? m : H;
831
+ }
832
+ //#endregion
747
833
  //#region src/sequence.ts
748
- var Je = () => {
834
+ var Qe = () => {
749
835
  let e = (t) => ({
750
836
  steps: t,
751
837
  step: ((n, r, i) => e([...t, {
@@ -757,7 +843,7 @@ var Je = () => {
757
843
  }]))
758
844
  });
759
845
  return e([]);
760
- }, Ye = async (e, t = {}) => {
846
+ }, $e = async (e, t = {}) => {
761
847
  let n = {}, r = [];
762
848
  for (let i of e.steps) {
763
849
  if (i.when !== void 0 && !i.when(n)) {
@@ -817,13 +903,13 @@ var Je = () => {
817
903
  ok: !0,
818
904
  data: n
819
905
  };
820
- }, Xe = (e = {}) => {
906
+ }, et = (e = {}) => {
821
907
  let [t, r] = c(!1), [i, a] = c(void 0), [o, l] = c(void 0), u = s(e);
822
908
  return u.current = e, {
823
909
  run: n(async (e, t = {}) => {
824
910
  r(!0), a(void 0), l(void 0);
825
911
  try {
826
- let n = await Ye(e, {
912
+ let n = await $e(e, {
827
913
  ...u.current,
828
914
  ...t
829
915
  });
@@ -836,25 +922,25 @@ var Je = () => {
836
922
  error: i,
837
923
  failedStep: o
838
924
  };
839
- }, Ze = 100, V = [], H = /* @__PURE__ */ new Set(), Qe = [], $e = () => {
840
- Qe = V.slice();
841
- }, U = () => {
842
- $e();
843
- for (let e of H) try {
925
+ }, tt = 100, U = [], W = /* @__PURE__ */ new Set(), nt = [], rt = () => {
926
+ nt = U.slice();
927
+ }, G = () => {
928
+ rt();
929
+ for (let e of W) try {
844
930
  e();
845
931
  } catch {}
846
- }, W = (e) => {
932
+ }, it = (e) => {
847
933
  let t = {
848
934
  ...e,
849
935
  status: "pending",
850
936
  startedAt: Date.now()
851
937
  };
852
- V.unshift(t), V.length > Ze && (V.length = Ze), U();
853
- }, G = (e, t) => {
854
- let n = V.findIndex((t) => t.id === e);
938
+ U.unshift(t), U.length > tt && (U.length = tt), G();
939
+ }, K = (e, t) => {
940
+ let n = U.findIndex((t) => t.id === e);
855
941
  if (n === -1) return;
856
- let r = V[n], i = Date.now();
857
- V[n] = t.status === "success" ? {
942
+ let r = U[n], i = Date.now();
943
+ U[n] = t.status === "success" ? {
858
944
  ...r,
859
945
  status: "success",
860
946
  output: t.output,
@@ -866,12 +952,12 @@ var Je = () => {
866
952
  error: t.error,
867
953
  settledAt: i,
868
954
  durationMs: i - r.startedAt
869
- }, U();
870
- }, et = () => Qe, tt = (e) => (H.add(e), () => {
871
- H.delete(e);
872
- }), nt = () => {
873
- V.length !== 0 && (V.length = 0, U());
874
- }, rt = (e, t) => {
955
+ }, G();
956
+ }, at = () => nt, ot = (e) => (W.add(e), () => {
957
+ W.delete(e);
958
+ }), st = () => {
959
+ U.length !== 0 && (U.length = 0, G());
960
+ }, ct = (e, t) => {
875
961
  if (t === void 0 || typeof e != "object" || !e) return e;
876
962
  try {
877
963
  Object.defineProperty(e, "__voltroTraceId", {
@@ -881,74 +967,77 @@ var Je = () => {
881
967
  });
882
968
  } catch {}
883
969
  return e;
884
- }, K, it = (e) => {
885
- K = e;
886
- }, at = () => K, ot = (e, t, n) => typeof e == "function" ? e(t, n) : e, st = 0, ct = () => `mut_${++st}`, lt = (e, t) => ({
970
+ }, q, lt = (e) => {
971
+ q = e;
972
+ }, ut = () => q, dt = (e, t, n) => typeof e == "function" ? e(t, n) : e, ft = 0, pt = () => `mut_${++ft}`, mt = 0, ht = () => {
973
+ let e = typeof crypto < "u" ? crypto : void 0;
974
+ return e && typeof e.randomUUID == "function" ? e.randomUUID() : `idem_${Date.now().toString(36)}_${mt += 1}`;
975
+ }, gt = (e, t) => e.pipe(f.locallyWith(S.currentHeaders, (e) => x.set(e, "idempotency-key", t))), _t = (e, t) => ({
887
976
  update: (n, r) => {
888
977
  e.update(n, r, t);
889
978
  },
890
979
  forTag: (n, r) => e.forTag(n, r, t)
891
- }), q = (e, t) => {
892
- let { runtime: r, cache: i, client: a, descriptors: l, errorBus: u } = j(e), d = l[t], p = d?.targets;
980
+ }), J = (e, t) => {
981
+ let { runtime: r, cache: i, client: a, descriptors: l, errorBus: u } = P(e), d = l[t], p = d?.targets;
893
982
  if (process.env.NODE_ENV !== "production") {
894
983
  let n = d?.kind;
895
984
  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.`);
896
985
  }
897
- let [m, h] = c(!1), [g, _] = c(void 0), [v, y] = c(void 0), b = s(null), x = s(!1), C = n(async (n, o) => {
986
+ 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) => {
898
987
  let s = o?.onError !== void 0 || o?.notify?.error !== void 0, c = (e) => {
899
988
  o?.onError?.(e, n);
900
- let t = ot(o?.notify?.error, e, n);
901
- t !== void 0 && K?.error(t);
989
+ let t = dt(o?.notify?.error, e, n);
990
+ t !== void 0 && q?.error(t);
902
991
  };
903
992
  h(!0), _(void 0);
904
- let l = ct();
905
- W({
993
+ let l = pt(), d = o?.idempotencyKey ?? ht();
994
+ it({
906
995
  id: l,
907
996
  apiName: e,
908
997
  tag: t,
909
998
  input: n
910
999
  });
911
- let d = b.current, m = x.current;
912
- if (d) try {
913
- d(lt(i, l), n);
1000
+ let m = b.current, g = x.current;
1001
+ if (m) try {
1002
+ m(_t(i, l), n);
914
1003
  } catch (e) {
915
- if (_(e), h(!1), i.revertByMutation(l), G(l, {
1004
+ if (_(e), h(!1), i.revertByMutation(l), K(l, {
916
1005
  status: "error",
917
1006
  error: e
918
1007
  }), s) return c(e);
919
1008
  throw e;
920
1009
  }
921
- else !m && p && p.length > 0 && i.autoApply(p, n, l);
922
- let g;
1010
+ else !g && p && p.length > 0 && i.autoApply(p, n, l);
1011
+ let v;
923
1012
  try {
924
- let s = z(a, t), c = f.currentSpan.pipe(f.tap((e) => f.sync(() => {
925
- g = e.traceId, S({
1013
+ let s = B(a, t), c = f.currentSpan.pipe(f.tap((e) => f.sync(() => {
1014
+ v = e.traceId, T({
926
1015
  traceId: e.traceId,
927
1016
  spanId: e.spanId,
928
1017
  source: "mutation",
929
1018
  tag: t
930
1019
  });
931
- })), f.catchAll(() => f.void), f.zipRight(s(n))).pipe(f.withSpan(`client.mutation.${t}`, { attributes: {
1020
+ })), f.catchAll(() => f.void), f.zipRight(gt(s(n), d))).pipe(f.withSpan(`client.mutation.${t}`, { attributes: {
932
1021
  "voltro.api": e,
933
1022
  "voltro.mutationId": l,
934
1023
  "rpc.tag": t
935
1024
  } })), u = await r.runPromise(c);
936
- y(u), G(l, {
1025
+ y(u), K(l, {
937
1026
  status: "success",
938
1027
  output: u
939
1028
  }), i.confirmByMutation(l), o?.onSuccess?.(u, n);
940
- let d = ot(o?.notify?.success, u, n);
941
- return d !== void 0 && K?.success(d), u;
1029
+ let p = dt(o?.notify?.success, u, n);
1030
+ return p !== void 0 && q?.success(p), u;
942
1031
  } catch (e) {
943
- let n = rt(e, g);
944
- if (_(n), G(l, {
1032
+ let n = ct(e, v);
1033
+ if (_(n), K(l, {
945
1034
  status: "error",
946
1035
  error: n
947
1036
  }), i.revertByMutation(l), u.emit({
948
1037
  source: "mutation",
949
1038
  tag: t,
950
1039
  error: n,
951
- ...g === void 0 ? {} : { traceId: g }
1040
+ ...v === void 0 ? {} : { traceId: v }
952
1041
  }), s) return c(n);
953
1042
  throw n;
954
1043
  } finally {
@@ -964,7 +1053,7 @@ var Je = () => {
964
1053
  ]);
965
1054
  return o(() => {
966
1055
  let e = {
967
- mutate: C,
1056
+ mutate: S,
968
1057
  pending: m,
969
1058
  error: g,
970
1059
  data: v,
@@ -973,12 +1062,12 @@ var Je = () => {
973
1062
  };
974
1063
  return e;
975
1064
  }, [
976
- C,
1065
+ S,
977
1066
  m,
978
1067
  g,
979
1068
  v
980
1069
  ]);
981
- }, ut = (e, t) => {
1070
+ }, vt = (e, t) => {
982
1071
  if (t === void 0 || typeof e != "object" || !e) return e;
983
1072
  try {
984
1073
  Object.defineProperty(e, "__voltroTraceId", {
@@ -988,8 +1077,8 @@ var Je = () => {
988
1077
  });
989
1078
  } catch {}
990
1079
  return e;
991
- }, dt = (e, t, n) => typeof e == "function" ? e(t, n) : e, ft = 0, pt = () => `act_${++ft}`, J = (e, t) => {
992
- let { runtime: r, client: i, descriptors: a, errorBus: s } = j(e);
1080
+ }, yt = (e, t, n) => typeof e == "function" ? e(t, n) : e, bt = 0, xt = () => `act_${++bt}`, Y = (e, t) => {
1081
+ let { runtime: r, client: i, descriptors: a, errorBus: s } = P(e);
993
1082
  if (process.env.NODE_ENV !== "production") {
994
1083
  let n = a[t]?.kind;
995
1084
  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.`);
@@ -997,47 +1086,47 @@ var Je = () => {
997
1086
  let [l, u] = c(!1), [d, p] = c(void 0), [m, h] = c(void 0), g = n(async (n, a) => {
998
1087
  let o = a?.onError !== void 0 || a?.notify?.error !== void 0;
999
1088
  u(!0), p(void 0);
1000
- let c = pt();
1001
- W({
1089
+ let c = xt(), l = a?.idempotencyKey ?? ht();
1090
+ it({
1002
1091
  id: c,
1003
1092
  apiName: e,
1004
1093
  tag: t,
1005
1094
  input: n
1006
1095
  });
1007
- let l;
1096
+ let d;
1008
1097
  try {
1009
- let o = z(i, t), s = f.currentSpan.pipe(f.tap((e) => f.sync(() => {
1010
- l = e.traceId, S({
1098
+ let o = B(i, t), s = f.currentSpan.pipe(f.tap((e) => f.sync(() => {
1099
+ d = e.traceId, T({
1011
1100
  traceId: e.traceId,
1012
1101
  spanId: e.spanId,
1013
1102
  source: "action",
1014
1103
  tag: t
1015
1104
  });
1016
- })), f.catchAll(() => f.void), f.zipRight(o(n))).pipe(f.withSpan(`client.action.${t}`, { attributes: {
1105
+ })), f.catchAll(() => f.void), f.zipRight(gt(o(n), l))).pipe(f.withSpan(`client.action.${t}`, { attributes: {
1017
1106
  "voltro.api": e,
1018
1107
  "voltro.actionId": c,
1019
1108
  "rpc.tag": t
1020
1109
  } })), u = await r.runPromise(s);
1021
- h(u), G(c, {
1110
+ h(u), K(c, {
1022
1111
  status: "success",
1023
1112
  output: u
1024
1113
  }), a?.onSuccess?.(u, n);
1025
- let d = dt(a?.notify?.success, u, n);
1026
- return d !== void 0 && at()?.success(d), u;
1114
+ let p = yt(a?.notify?.success, u, n);
1115
+ return p !== void 0 && ut()?.success(p), u;
1027
1116
  } catch (e) {
1028
- let r = ut(e, l);
1029
- if (p(r), G(c, {
1117
+ let r = vt(e, d);
1118
+ if (p(r), K(c, {
1030
1119
  status: "error",
1031
1120
  error: r
1032
1121
  }), s.emit({
1033
1122
  source: "action",
1034
1123
  tag: t,
1035
1124
  error: r,
1036
- ...l === void 0 ? {} : { traceId: l }
1125
+ ...d === void 0 ? {} : { traceId: d }
1037
1126
  }), o) {
1038
1127
  a?.onError?.(r, n);
1039
- let e = dt(a?.notify?.error, r, n);
1040
- e !== void 0 && at()?.error(e);
1128
+ let e = yt(a?.notify?.error, r, n);
1129
+ e !== void 0 && ut()?.error(e);
1041
1130
  return;
1042
1131
  }
1043
1132
  throw r;
@@ -1062,7 +1151,7 @@ var Je = () => {
1062
1151
  d,
1063
1152
  m
1064
1153
  ]);
1065
- }, mt = "storage.mintUploadTicket", ht = "storage.mintPresignedUpload", gt = "storage.finalizeUpload", _t = "storage.beginResumableUpload", vt = "storage.beginMultipartUpload", yt = "storage.signMultipartPart", bt = "storage.completeMultipartUpload", xt = "storage.abortMultipartUpload", St = (e, t, n, r) => new Promise((i, a) => {
1154
+ }, St = "storage.mintUploadTicket", Ct = "storage.mintPresignedUpload", wt = "storage.finalizeUpload", Tt = "storage.beginResumableUpload", Et = "storage.beginMultipartUpload", Dt = "storage.signMultipartPart", Ot = "storage.completeMultipartUpload", kt = "storage.abortMultipartUpload", At = (e, t, n, r) => new Promise((i, a) => {
1066
1155
  let o = new XMLHttpRequest();
1067
1156
  if (o.open("PUT", e), o.upload.onprogress = (e) => {
1068
1157
  e.lengthComputable && n(e.loaded / e.total);
@@ -1076,7 +1165,7 @@ var Je = () => {
1076
1165
  return;
1077
1166
  }
1078
1167
  r.addEventListener("abort", () => o.abort(), { once: !0 }), o.send(t);
1079
- }), Ct = (e, t, n, r, i, a) => new Promise((o, s) => {
1168
+ }), jt = (e, t, n, r, i, a) => new Promise((o, s) => {
1080
1169
  let c = new XMLHttpRequest();
1081
1170
  if (c.open("POST", e), c.setRequestHeader("content-type", t), c.upload.onprogress = (e) => {
1082
1171
  e.lengthComputable && r(e.loaded / e.total);
@@ -1094,7 +1183,7 @@ var Je = () => {
1094
1183
  return;
1095
1184
  }
1096
1185
  i.addEventListener("abort", () => c.abort(), { once: !0 }), c.send(n);
1097
- }), wt = (e, t, n, r, i) => new Promise((a, o) => {
1186
+ }), Mt = (e, t, n, r, i) => new Promise((a, o) => {
1098
1187
  let s = new XMLHttpRequest();
1099
1188
  if (s.open("PUT", e), s.setRequestHeader("content-type", t), s.upload.onprogress = (e) => {
1100
1189
  e.lengthComputable && r(e.loaded / e.total);
@@ -1105,7 +1194,7 @@ var Je = () => {
1105
1194
  return;
1106
1195
  }
1107
1196
  i.addEventListener("abort", () => s.abort(), { once: !0 }), s.send(n);
1108
- }), Tt = (e, t, n, r, i) => new Promise((a, o) => {
1197
+ }), Nt = (e, t, n, r, i) => new Promise((a, o) => {
1109
1198
  let s = new XMLHttpRequest();
1110
1199
  if (s.open("POST", e), s.setRequestHeader("content-type", t), s.upload.onprogress = (e) => {
1111
1200
  e.lengthComputable && r(e.loaded / e.total);
@@ -1121,8 +1210,8 @@ var Je = () => {
1121
1210
  return;
1122
1211
  }
1123
1212
  i.addEventListener("abort", () => s.abort(), { once: !0 }), s.send(n);
1124
- }), Et = (e, t = {}) => {
1125
- let { runtime: r, client: i, inspectBaseUrl: a, errorBus: l } = j(e), [u, d] = c(0), [f, p] = c("idle"), [m, h] = c(void 0), g = s(null), _ = n(() => {
1213
+ }), Pt = (e, t = {}) => {
1214
+ let { runtime: r, client: i, inspectBaseUrl: a, errorBus: l } = P(e), [u, d] = c(0), [f, p] = c("idle"), [m, h] = c(void 0), g = s(null), _ = n(() => {
1126
1215
  d(0), p("idle"), h(void 0);
1127
1216
  }, []), v = n(() => {
1128
1217
  g.current?.abort();
@@ -1142,16 +1231,16 @@ var Je = () => {
1142
1231
  ...e.width === void 0 ? {} : { width: e.width },
1143
1232
  ...e.height === void 0 ? {} : { height: e.height }
1144
1233
  }), g = async () => {
1145
- let s = n.mintTag ?? t.mintTag ?? mt, l = z(i, s), u = await r.runPromise(l({
1234
+ let s = n.mintTag ?? t.mintTag ?? St, l = B(i, s), u = await r.runPromise(l({
1146
1235
  contentType: c,
1147
1236
  ...m,
1148
1237
  ...d ? { key: d } : {}
1149
- })), f = await Tt(y(u.uploadUrl), c, e, o, a);
1238
+ })), f = await Nt(y(u.uploadUrl), c, e, o, a);
1150
1239
  return h(f);
1151
1240
  }, _ = async () => {
1152
- let s = n.presignMintTag ?? t.presignMintTag ?? ht, l = n.finalizeTag ?? t.finalizeTag ?? gt, u;
1241
+ let s = n.presignMintTag ?? t.presignMintTag ?? Ct, l = n.finalizeTag ?? t.finalizeTag ?? wt, u;
1153
1242
  try {
1154
- let e = z(i, s);
1243
+ let e = B(i, s);
1155
1244
  u = await r.runPromise(e({
1156
1245
  contentType: c,
1157
1246
  ...m
@@ -1159,11 +1248,11 @@ var Je = () => {
1159
1248
  } catch {
1160
1249
  return null;
1161
1250
  }
1162
- await wt(u.uploadUrl, c, e, o, a);
1163
- let d = z(i, l), f = await r.runPromise(d({ finalizeToken: u.finalizeToken }));
1251
+ await Mt(u.uploadUrl, c, e, o, a);
1252
+ let d = B(i, l), f = await r.runPromise(d({ finalizeToken: u.finalizeToken }));
1164
1253
  return h(f);
1165
1254
  }, v = async () => {
1166
- let s = n.beginResumableTag ?? t.beginResumableTag ?? _t, l = z(i, s), u = e.size, d = n.chunkSize ?? t.chunkSize, f = await r.runPromise(l({
1255
+ let s = n.beginResumableTag ?? t.beginResumableTag ?? Tt, l = B(i, s), u = e.size, d = n.chunkSize ?? t.chunkSize, f = await r.runPromise(l({
1167
1256
  contentType: c,
1168
1257
  size: u,
1169
1258
  ...m,
@@ -1174,7 +1263,7 @@ var Je = () => {
1174
1263
  for (;;) {
1175
1264
  if (a.aborted) throw new DOMException("upload aborted", "AbortError");
1176
1265
  try {
1177
- let e = await Ct(`${p}?${`token=${encodeURIComponent(f.resumableToken)}&index=${t}${s ? "&final=1" : ""}`}`, c, i, (e) => o((b + e * l) / u), a, s);
1266
+ let e = await jt(`${p}?${`token=${encodeURIComponent(f.resumableToken)}&index=${t}${s ? "&final=1" : ""}`}`, c, i, (e) => o((b + e * l) / u), a, s);
1178
1267
  s && (x = e);
1179
1268
  break;
1180
1269
  } catch (e) {
@@ -1186,9 +1275,9 @@ var Je = () => {
1186
1275
  if (!x) throw Error("resumable upload produced no final reply");
1187
1276
  return h(x);
1188
1277
  }, b = async () => {
1189
- let s = n.multipartBeginTag ?? t.multipartBeginTag ?? vt, u = n.multipartSignTag ?? t.multipartSignTag ?? yt, d = n.multipartCompleteTag ?? t.multipartCompleteTag ?? bt, f = n.multipartAbortTag ?? t.multipartAbortTag ?? xt, p = e.size, h = n.chunkSize ?? t.chunkSize, g;
1278
+ let s = n.multipartBeginTag ?? t.multipartBeginTag ?? Et, u = n.multipartSignTag ?? t.multipartSignTag ?? Dt, d = n.multipartCompleteTag ?? t.multipartCompleteTag ?? Ot, f = n.multipartAbortTag ?? t.multipartAbortTag ?? kt, p = e.size, h = n.chunkSize ?? t.chunkSize, g;
1190
1279
  try {
1191
- let e = z(i, s);
1280
+ let e = B(i, s);
1192
1281
  g = await r.runPromise(e({
1193
1282
  contentType: c,
1194
1283
  size: p,
@@ -1198,7 +1287,7 @@ var Je = () => {
1198
1287
  } catch {
1199
1288
  return null;
1200
1289
  }
1201
- let _ = z(i, u), v = z(i, d), b = z(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;
1290
+ 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;
1202
1291
  try {
1203
1292
  for (let t = 0; t < S; t++) {
1204
1293
  let n = t * x, i = Math.min(p, n + x), s = e.slice(n, i), c = t + 1, l = i - n, u = 0;
@@ -1208,7 +1297,7 @@ var Je = () => {
1208
1297
  let { url: e } = await r.runPromise(_({
1209
1298
  multipartToken: g.multipartToken,
1210
1299
  partNumber: c
1211
- })), t = await St(e, s, (e) => o((T + e * l) / p), a);
1300
+ })), t = await At(e, s, (e) => o((T + e * l) / p), a);
1212
1301
  w.push({
1213
1302
  partNumber: c,
1214
1303
  etag: t
@@ -1282,7 +1371,7 @@ var Je = () => {
1282
1371
  } catch (e) {
1283
1372
  throw p("error"), h(e), e instanceof DOMException && e.name === "AbortError" || l.emit({
1284
1373
  source: "action",
1285
- tag: n.mintTag ?? t.mintTag ?? mt,
1374
+ tag: n.mintTag ?? t.mintTag ?? St,
1286
1375
  error: e
1287
1376
  }), e;
1288
1377
  }
@@ -1308,7 +1397,7 @@ var Je = () => {
1308
1397
  } catch (e) {
1309
1398
  throw r.abort(), p("error"), h(e), e instanceof DOMException && e.name === "AbortError" || l.emit({
1310
1399
  source: "action",
1311
- tag: n.mintTag ?? t.mintTag ?? mt,
1400
+ tag: n.mintTag ?? t.mintTag ?? St,
1312
1401
  error: e
1313
1402
  }), e;
1314
1403
  }
@@ -1353,9 +1442,9 @@ var Je = () => {
1353
1442
  w,
1354
1443
  T
1355
1444
  ]);
1356
- }, Y = async (e) => {
1357
- let t = z(e.client, e.tag), n = f.currentSpan.pipe(f.tap((t) => f.sync(() => {
1358
- S({
1445
+ }, X = async (e) => {
1446
+ let t = B(e.client, e.tag), n = f.currentSpan.pipe(f.tap((t) => f.sync(() => {
1447
+ T({
1359
1448
  traceId: t.traceId,
1360
1449
  spanId: t.spanId,
1361
1450
  source: "mutation",
@@ -1366,8 +1455,8 @@ var Je = () => {
1366
1455
  "rpc.tag": e.tag
1367
1456
  } }));
1368
1457
  return e.runtime.runPromise(n);
1369
- }, Dt = (e, t) => {
1370
- let { runtime: r, client: i, descriptors: a } = j(e);
1458
+ }, Ft = (e, t) => {
1459
+ let { runtime: r, client: i, descriptors: a } = P(e);
1371
1460
  if (process.env.NODE_ENV !== "production") {
1372
1461
  let n = a[t]?.kind;
1373
1462
  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.`);
@@ -1375,7 +1464,7 @@ var Je = () => {
1375
1464
  let [s, l] = c(!1), [u, d] = c(void 0), [f, p] = c(void 0), m = n(async (n) => {
1376
1465
  l(!0), d(void 0);
1377
1466
  try {
1378
- let a = await Y({
1467
+ let a = await X({
1379
1468
  apiName: e,
1380
1469
  runtime: r,
1381
1470
  client: i,
@@ -1395,7 +1484,7 @@ var Je = () => {
1395
1484
  i,
1396
1485
  t
1397
1486
  ]), h = n(async (t) => {
1398
- await Y({
1487
+ await X({
1399
1488
  apiName: e,
1400
1489
  runtime: r,
1401
1490
  client: i,
@@ -1408,7 +1497,7 @@ var Je = () => {
1408
1497
  r,
1409
1498
  i
1410
1499
  ]), g = n(async (t) => {
1411
- await Y({
1500
+ await X({
1412
1501
  apiName: e,
1413
1502
  runtime: r,
1414
1503
  client: i,
@@ -1420,7 +1509,7 @@ var Je = () => {
1420
1509
  e,
1421
1510
  r,
1422
1511
  i
1423
- ]), _ = n(async (t, n, a) => Y({
1512
+ ]), _ = n(async (t, n, a) => X({
1424
1513
  apiName: e,
1425
1514
  runtime: r,
1426
1515
  client: i,
@@ -1435,7 +1524,7 @@ var Je = () => {
1435
1524
  e,
1436
1525
  r,
1437
1526
  i
1438
- ]), v = n(async (t, n, a, o) => Y({
1527
+ ]), v = n(async (t, n, a, o) => X({
1439
1528
  apiName: e,
1440
1529
  runtime: r,
1441
1530
  client: i,
@@ -1471,11 +1560,11 @@ var Je = () => {
1471
1560
  u,
1472
1561
  f
1473
1562
  ]);
1474
- }, Ot = (e) => {
1475
- let { runtime: t, client: r } = j(e), [i, a] = c(!1), [s, l] = c(void 0), [u, d] = c(void 0), f = n(async (n, i, o) => {
1563
+ }, It = (e) => {
1564
+ let { runtime: t, client: r } = P(e), [i, a] = c(!1), [s, l] = c(void 0), [u, d] = c(void 0), f = n(async (n, i, o) => {
1476
1565
  a(!0), l(void 0);
1477
1566
  try {
1478
- let a = await Y({
1567
+ let a = await X({
1479
1568
  apiName: e,
1480
1569
  runtime: t,
1481
1570
  client: r,
@@ -1509,11 +1598,11 @@ var Je = () => {
1509
1598
  s,
1510
1599
  u
1511
1600
  ]);
1512
- }, kt = (e) => {
1513
- let { runtime: t, client: r } = j(e), [i, a] = c(!1), [s, l] = c(void 0), [u, d] = c(void 0), f = n(async (n, i, o, s) => {
1601
+ }, Lt = (e) => {
1602
+ let { runtime: t, client: r } = P(e), [i, a] = c(!1), [s, l] = c(void 0), [u, d] = c(void 0), f = n(async (n, i, o, s) => {
1514
1603
  a(!0), l(void 0);
1515
1604
  try {
1516
- let a = await Y({
1605
+ let a = await X({
1517
1606
  apiName: e,
1518
1607
  runtime: t,
1519
1608
  client: r,
@@ -1548,8 +1637,8 @@ var Je = () => {
1548
1637
  s,
1549
1638
  u
1550
1639
  ]);
1551
- }, At = (e, t) => {
1552
- let n = B(e, "__voltro.workflow.run", t ? { id: t } : {}, { skip: t === void 0 });
1640
+ }, Rt = (e, t) => {
1641
+ let n = V(e, "__voltro.workflow.run", t ? { id: t } : {}, { skip: t === void 0 });
1553
1642
  return n.loading || n.idle ? {
1554
1643
  ...n,
1555
1644
  run: void 0
@@ -1557,8 +1646,8 @@ var Je = () => {
1557
1646
  ...n,
1558
1647
  run: n.data[0]
1559
1648
  };
1560
- }, jt = (e, t = {}, n = {}) => {
1561
- let r = B(e, "__voltro.workflow.runs", t, n);
1649
+ }, zt = (e, t = {}, n = {}) => {
1650
+ let r = V(e, "__voltro.workflow.runs", t, n);
1562
1651
  return r.loading || r.idle ? {
1563
1652
  ...r,
1564
1653
  runs: []
@@ -1566,8 +1655,8 @@ var Je = () => {
1566
1655
  ...r,
1567
1656
  runs: r.data
1568
1657
  };
1569
- }, Mt = (e, t) => {
1570
- let n = B(e, "__voltro.workflow.run.steps", t ? { runId: t } : {}, { skip: t === void 0 });
1658
+ }, Bt = (e, t) => {
1659
+ let n = V(e, "__voltro.workflow.run.steps", t ? { runId: t } : {}, { skip: t === void 0 });
1571
1660
  return n.loading || n.idle ? {
1572
1661
  ...n,
1573
1662
  steps: []
@@ -1575,8 +1664,8 @@ var Je = () => {
1575
1664
  ...n,
1576
1665
  steps: n.data
1577
1666
  };
1578
- }, Nt = (e, t) => {
1579
- let n = B(e, "__voltro.workflow.run.events", t ? { runId: t } : {}, { skip: t === void 0 });
1667
+ }, Vt = (e, t) => {
1668
+ let n = V(e, "__voltro.workflow.run.events", t ? { runId: t } : {}, { skip: t === void 0 });
1580
1669
  return n.loading || n.idle ? {
1581
1670
  ...n,
1582
1671
  events: []
@@ -1584,8 +1673,8 @@ var Je = () => {
1584
1673
  ...n,
1585
1674
  events: n.data
1586
1675
  };
1587
- }, Pt = Nt, Ft = (e, t = {}, n = {}) => {
1588
- let r = B(e, "__voltro.workflow.domainEvents", t, n);
1676
+ }, Ht = Vt, Ut = (e, t = {}, n = {}) => {
1677
+ let r = V(e, "__voltro.workflow.domainEvents", t, n);
1589
1678
  return r.loading || r.idle ? {
1590
1679
  ...r,
1591
1680
  events: []
@@ -1593,8 +1682,8 @@ var Je = () => {
1593
1682
  ...r,
1594
1683
  events: r.data
1595
1684
  };
1596
- }, It = (e, t) => {
1597
- let n = B(e, "__voltro.workflow.event.deliveries", t ? { eventId: t } : {}, { skip: t === void 0 });
1685
+ }, Wt = (e, t) => {
1686
+ let n = V(e, "__voltro.workflow.event.deliveries", t ? { eventId: t } : {}, { skip: t === void 0 });
1598
1687
  return n.loading || n.idle ? {
1599
1688
  ...n,
1600
1689
  deliveries: []
@@ -1602,42 +1691,42 @@ var Je = () => {
1602
1691
  ...n,
1603
1692
  deliveries: n.data
1604
1693
  };
1605
- }, Lt = (e, t) => {
1694
+ }, Gt = (e, t) => {
1606
1695
  let n = e.payload;
1607
1696
  if (!n || typeof n != "object") return;
1608
1697
  let r = n[t];
1609
1698
  return typeof r == "string" ? r : void 0;
1610
- }, Rt = (e) => {
1699
+ }, Kt = (e) => {
1611
1700
  let t = e.payload;
1612
1701
  if (!t || typeof t != "object") return;
1613
1702
  let n = t.updateId;
1614
1703
  return typeof n == "string" ? n : void 0;
1615
- }, zt = (e) => {
1704
+ }, qt = (e) => {
1616
1705
  let t = /* @__PURE__ */ new Set(), n = /* @__PURE__ */ new Set();
1617
1706
  for (let r of e) if (r.eventType === "signal-received") {
1618
- let e = Lt(r, "signalName");
1707
+ let e = Gt(r, "signalName");
1619
1708
  e && t.add(e);
1620
1709
  } else if (r.eventType === "update-completed" || r.eventType === "update-failed") {
1621
- let e = Rt(r);
1710
+ let e = Kt(r);
1622
1711
  e && n.add(e);
1623
1712
  }
1624
1713
  for (let r = e.length - 1; r >= 0; --r) {
1625
1714
  let i = e[r];
1626
1715
  if (i.eventType === "signal-awaited") {
1627
- let e = Lt(i, "signalName");
1716
+ let e = Gt(i, "signalName");
1628
1717
  if (e && !t.has(e)) return {
1629
1718
  name: e,
1630
1719
  kind: "signal"
1631
1720
  };
1632
1721
  } else if (i.eventType === "update-requested") {
1633
- let e = Rt(i), t = Lt(i, "updateName");
1722
+ let e = Kt(i), t = Gt(i, "updateName");
1634
1723
  if (t && (!e || !n.has(e))) return {
1635
1724
  name: t,
1636
1725
  kind: "update"
1637
1726
  };
1638
1727
  }
1639
1728
  }
1640
- }, Bt = (e) => e.find((e) => e.status === "running") || (e.length > 0 ? e[e.length - 1] : void 0), Vt = (e, t) => {
1729
+ }, Jt = (e) => e.find((e) => e.status === "running") || (e.length > 0 ? e[e.length - 1] : void 0), Yt = (e, t) => {
1641
1730
  if (!e || e.status !== "failed") return;
1642
1731
  let n = t.find((e) => e.status === "failed");
1643
1732
  return {
@@ -1645,8 +1734,8 @@ var Je = () => {
1645
1734
  message: e.errorMessage,
1646
1735
  step: n?.stepName
1647
1736
  };
1648
- }, Ht = (e, t) => {
1649
- let r = At(e, t), i = Mt(e, t), a = Nt(e, t), s = Dt(e, r.run?.tag ?? ""), c = r.run, l = i.steps, u = a.events, d = n(async () => {
1737
+ }, Xt = (e, t) => {
1738
+ let r = Rt(e, t), i = Bt(e, t), a = Vt(e, t), s = Ft(e, r.run?.tag ?? ""), c = r.run, l = i.steps, u = a.events, d = n(async () => {
1650
1739
  if (!c) throw Error("useWorkflowRunState: no run loaded — cannot cancel");
1651
1740
  await s.cancel({
1652
1741
  workflowName: c.tag,
@@ -1670,9 +1759,9 @@ var Je = () => {
1670
1759
  status: c?.status,
1671
1760
  steps: l,
1672
1761
  events: u,
1673
- currentStep: Bt(l),
1674
- waitingFor: c?.status === "suspended" ? zt(u) : void 0,
1675
- error: Vt(c, l),
1762
+ currentStep: Jt(l),
1763
+ waitingFor: c?.status === "suspended" ? qt(u) : void 0,
1764
+ error: Yt(c, l),
1676
1765
  traceId: c?.traceId,
1677
1766
  loading: r.data === void 0,
1678
1767
  cancel: d,
@@ -1689,8 +1778,8 @@ var Je = () => {
1689
1778
  p,
1690
1779
  m
1691
1780
  ]);
1692
- }, Ut = (e, t) => {
1693
- let { runtime: r, client: i } = j(e), [a, o] = c([]), [l, d] = c("idle"), [p, h] = c(void 0), g = s(null), v = n(() => {
1781
+ }, Zt = (e, t) => {
1782
+ let { runtime: r, client: i } = P(e), [a, o] = c([]), [l, d] = c("idle"), [p, h] = c(void 0), g = s(null), _ = n(() => {
1694
1783
  let e = g.current;
1695
1784
  e && (g.current = null, r.runFork(m.interrupt(e)), d((e) => e === "streaming" ? "idle" : e));
1696
1785
  }, [r]);
@@ -1701,7 +1790,7 @@ var Je = () => {
1701
1790
  start: n((e = {}) => {
1702
1791
  let n = g.current;
1703
1792
  n && r.runFork(m.interrupt(n)), o([]), h(void 0), d("streaming");
1704
- let a = z(i, t)(e), s = _.runForEach(a, (e) => f.sync(() => o((t) => [...t, e]))).pipe(f.matchCause({
1793
+ let a = B(i, t)(e), s = v.runForEach(a, (e) => f.sync(() => o((t) => [...t, e]))).pipe(f.matchCause({
1705
1794
  onSuccess: () => {
1706
1795
  d("done");
1707
1796
  },
@@ -1715,9 +1804,9 @@ var Je = () => {
1715
1804
  i,
1716
1805
  t
1717
1806
  ]),
1718
- cancel: v
1807
+ cancel: _
1719
1808
  };
1720
- }, Wt = (e, t, n, r) => {
1809
+ }, Qt = (e, t, n, r) => {
1721
1810
  let i = 0, a = !1, o = (e) => f.sync(() => {
1722
1811
  e.seq <= i || (i = e.seq, n.onEvent(e.event), r.isTerminal(e.event) && (a = !0));
1723
1812
  }), s = (e, t, a) => {
@@ -1734,21 +1823,21 @@ var Je = () => {
1734
1823
  ...t,
1735
1824
  fromSeq: c
1736
1825
  });
1737
- return _.runForEach(l, o).pipe(f.matchCauseEffect({
1826
+ return v.runForEach(l, o).pipe(f.matchCauseEffect({
1738
1827
  onSuccess: () => a ? f.sync(() => n.onStatus("done")) : s(r, c, void 0),
1739
1828
  onFailure: (e) => u.isInterruptedOnly(e) ? f.void : a ? f.sync(() => n.onStatus("done")) : s(r, c, u.squash(e))
1740
1829
  }));
1741
1830
  });
1742
1831
  return c(0);
1743
- }, Gt = (e) => {
1832
+ }, $t = (e) => {
1744
1833
  let t = e?._tag;
1745
1834
  return t === "done" || t === "error";
1746
- }, Kt = (e, t, r = {}) => {
1747
- let { runtime: i, client: a } = j(e), [o, l] = c([]), [u, d] = c("idle"), [f, p] = c(0), [h, g] = c(void 0), _ = s(null), v = {
1835
+ }, en = (e, t, r = {}) => {
1836
+ let { runtime: i, client: a } = P(e), [o, l] = c([]), [u, d] = c("idle"), [f, p] = c(0), [h, g] = c(void 0), _ = s(null), v = {
1748
1837
  maxReconnects: r.maxReconnects ?? 6,
1749
1838
  backoffMs: r.backoffMs ?? 400,
1750
1839
  maxBackoffMs: r.maxBackoffMs ?? 8e3,
1751
- isTerminal: r.isTerminal ?? Gt
1840
+ isTerminal: r.isTerminal ?? $t
1752
1841
  }, y = n(() => {
1753
1842
  let e = _.current;
1754
1843
  e && (_.current = null, i.runFork(m.interrupt(e)), d((e) => e === "streaming" || e === "reconnecting" ? "idle" : e));
@@ -1761,13 +1850,13 @@ var Je = () => {
1761
1850
  start: n((e = {}) => {
1762
1851
  let n = _.current;
1763
1852
  n && i.runFork(m.interrupt(n)), l([]), g(void 0), p(0), d("streaming");
1764
- let r = z(a, t), o = {
1853
+ let r = B(a, t), o = {
1765
1854
  onEvent: (e) => l((t) => [...t, e]),
1766
1855
  onStatus: d,
1767
1856
  onReconnect: () => p((e) => e + 1),
1768
1857
  onError: g
1769
1858
  };
1770
- _.current = i.runFork(Wt(r, e, o, v));
1859
+ _.current = i.runFork(Qt(r, e, o, v));
1771
1860
  }, [
1772
1861
  i,
1773
1862
  a,
@@ -1779,13 +1868,13 @@ var Je = () => {
1779
1868
  ]),
1780
1869
  cancel: y
1781
1870
  };
1782
- }, qt = (e, t) => e.order - t.order || (e.stepOrder ?? 0) - (t.stepOrder ?? 0), Jt = (e) => {
1871
+ }, tn = (e, t) => e.order - t.order || (e.stepOrder ?? 0) - (t.stepOrder ?? 0), nn = (e) => {
1783
1872
  for (let t = e.length - 1; t >= 0; --t) {
1784
1873
  let n = e[t];
1785
1874
  if (n.role === "user" && n.content) return n.content;
1786
1875
  }
1787
- }, Yt = (e, t, r) => {
1788
- let { threadId: i } = r, a = B(e, `${t}.messages`, { threadId: i }), s = J(e, `${t}.send`), c = o(() => [...a.data ?? []].sort(qt), [a.data]), l = n((e, t = {}) => s.run({
1876
+ }, rn = (e, t, r) => {
1877
+ let { threadId: i } = r, a = V(e, `${t}.messages`, { threadId: i }), s = Y(e, `${t}.send`), c = o(() => [...a.data ?? []].sort(tn), [a.data]), l = n((e, t = {}) => s.run({
1789
1878
  threadId: i,
1790
1879
  order: a.data?.length ?? 0,
1791
1880
  prompt: e,
@@ -1795,7 +1884,7 @@ var Je = () => {
1795
1884
  i,
1796
1885
  a.data
1797
1886
  ]), u = n(() => {
1798
- let e = Jt(c);
1887
+ let e = nn(c);
1799
1888
  return e === void 0 ? void 0 : l(e);
1800
1889
  }, [c, l]);
1801
1890
  return o(() => ({
@@ -1815,8 +1904,8 @@ var Je = () => {
1815
1904
  l,
1816
1905
  u
1817
1906
  ]);
1818
- }, Xt = (e, t) => {
1819
- let { events: r, status: i, error: l, start: u, cancel: d } = Ut(e, t), [f, p] = c([]), m = s(null), h = o(() => r.filter((e) => e._tag === "token").map((e) => e.text ?? "").join(""), [r]);
1907
+ }, an = (e, t) => {
1908
+ let { events: r, status: i, error: l, start: u, cancel: d } = Zt(e, t), [f, p] = c([]), m = s(null), h = o(() => r.filter((e) => e._tag === "token").map((e) => e.text ?? "").join(""), [r]);
1820
1909
  return a(() => {
1821
1910
  if (i !== "done" || m.current === null) return;
1822
1911
  let e = m.current;
@@ -1842,8 +1931,8 @@ var Je = () => {
1842
1931
  }, [u]),
1843
1932
  cancel: d
1844
1933
  };
1845
- }, Zt = (e, t) => {
1846
- let r = J(e, t), [i, a] = c(void 0), s = n(async (e) => {
1934
+ }, on = (e, t) => {
1935
+ let r = Y(e, t), [i, a] = c(void 0), s = n(async (e) => {
1847
1936
  let t = await r.run({ question: e });
1848
1937
  return a(t), t;
1849
1938
  }, [r]), l = n(() => a(void 0), []);
@@ -1860,43 +1949,43 @@ var Je = () => {
1860
1949
  r.error,
1861
1950
  l
1862
1951
  ]);
1863
- }, Qt = (e) => {
1864
- let { cache: t, runtime: r } = j(e);
1952
+ }, sn = (e) => {
1953
+ let { cache: t, runtime: r } = P(e);
1865
1954
  return n(() => {
1866
1955
  t.refreshAll(r);
1867
1956
  }, [t, r]);
1868
- }, $t = /* @__PURE__ */ new Set(), en = (e) => {
1869
- for (let t of $t) try {
1957
+ }, cn = /* @__PURE__ */ new Set(), ln = (e) => {
1958
+ for (let t of cn) try {
1870
1959
  t(e);
1871
1960
  } catch {}
1872
- }, tn = (e) => ($t.add(e), () => {
1873
- $t.delete(e);
1874
- }), nn = (e, t) => {
1875
- en({
1961
+ }, un = (e) => (cn.add(e), () => {
1962
+ cn.delete(e);
1963
+ }), dn = (e, t) => {
1964
+ ln({
1876
1965
  error: e,
1877
1966
  source: "manual",
1878
1967
  ...t ? { context: t } : {}
1879
1968
  });
1880
- }, rn = (e, t) => {
1881
- let { errorBus: n } = j(e);
1969
+ }, fn = (e, t) => {
1970
+ let { errorBus: n } = P(e);
1882
1971
  a(() => n.on(t), [n, t]);
1883
- }, an = "#/$defs/", on = (e) => e.replace(/[_-]+/g, " ").replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/\s+/g, " ").trim().replace(/^./, (e) => e.toUpperCase()), X = (e, t) => {
1972
+ }, pn = "#/$defs/", mn = (e) => e.replace(/[_-]+/g, " ").replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/\s+/g, " ").trim().replace(/^./, (e) => e.toUpperCase()), Z = (e, t) => {
1884
1973
  let n = e;
1885
1974
  for (let e = 0; e < 8; e += 1) {
1886
1975
  let e = n.$ref;
1887
- if (typeof e != "string" || !e.startsWith(an)) return n;
1976
+ if (typeof e != "string" || !e.startsWith(pn)) return n;
1888
1977
  let r = t[e.slice(8)];
1889
1978
  if (!r || typeof r != "object") return n;
1890
1979
  n = r;
1891
1980
  }
1892
1981
  return n;
1893
- }, sn = (e) => {
1982
+ }, hn = (e) => {
1894
1983
  if (!e || typeof e != "object") return !1;
1895
1984
  let t = e;
1896
1985
  if (t.type === "null" || t.const === null) return !0;
1897
1986
  let n = t.enum;
1898
1987
  return Array.isArray(n) && n.length === 1 && n[0] === null;
1899
- }, cn = (e, t) => {
1988
+ }, gn = (e, t) => {
1900
1989
  let n = e.type;
1901
1990
  if (Array.isArray(n) && n.includes("null")) {
1902
1991
  let t = n.filter((e) => e !== "null");
@@ -1911,9 +2000,9 @@ var Je = () => {
1911
2000
  for (let n of ["anyOf", "oneOf"]) {
1912
2001
  let r = e[n];
1913
2002
  if (!Array.isArray(r)) continue;
1914
- let i = r.filter((e) => !sn(e));
2003
+ let i = r.filter((e) => !hn(e));
1915
2004
  if (i.length !== r.length) return i.length === 1 ? {
1916
- node: X(i[0], t),
2005
+ node: Z(i[0], t),
1917
2006
  nullable: !0
1918
2007
  } : {
1919
2008
  node: {
@@ -1927,14 +2016,14 @@ var Je = () => {
1927
2016
  node: e,
1928
2017
  nullable: !1
1929
2018
  };
1930
- }, ln = (e) => e.map((e) => ({
2019
+ }, _n = (e) => e.map((e) => ({
1931
2020
  value: String(e),
1932
- label: on(String(e))
1933
- })), un = (e) => {
2021
+ label: mn(String(e))
2022
+ })), vn = (e) => {
1934
2023
  let t = e.enum;
1935
2024
  if (Array.isArray(t) && t.length > 0) return {
1936
2025
  widget: "select",
1937
- options: ln(t)
2026
+ options: _n(t)
1938
2027
  };
1939
2028
  let n = e.type, r = Array.isArray(n) ? n.find((e) => e !== "null") : n, i = e.format;
1940
2029
  switch (r) {
@@ -1945,45 +2034,45 @@ var Je = () => {
1945
2034
  case "array": return { widget: "multi-select" };
1946
2035
  default: return { widget: "custom" };
1947
2036
  }
1948
- }, dn = (e, t, n) => Object.entries(e).map(([e, r]) => {
1949
- let { node: i, nullable: a } = cn(X(r, n), n), o = X(i, n), { widget: s, options: c } = un(o);
2037
+ }, yn = (e, t, n) => Object.entries(e).map(([e, r]) => {
2038
+ let { node: i, nullable: a } = gn(Z(r, n), n), o = Z(i, n), { widget: s, options: c } = vn(o);
1950
2039
  return {
1951
2040
  name: e,
1952
- label: on(e),
2041
+ label: mn(e),
1953
2042
  widget: s,
1954
2043
  required: t.has(e),
1955
2044
  nullable: a,
1956
2045
  ...c ? { options: c } : {},
1957
2046
  jsonSchema: o
1958
2047
  };
1959
- }), fn = (e) => {
2048
+ }), bn = (e) => {
1960
2049
  try {
1961
2050
  return h.make(e);
1962
2051
  } catch {
1963
2052
  return;
1964
2053
  }
1965
- }, Z = (e) => {
1966
- let t = fn(e);
2054
+ }, Q = (e) => {
2055
+ let t = bn(e);
1967
2056
  if (t === void 0) return [];
1968
- let n = t.$defs ?? {}, r = X(t, n), i = r.properties;
1969
- return i ? dn(i, new Set(Array.isArray(r.required) ? r.required : []), n) : [];
1970
- }, pn = (e) => {
1971
- let t = fn(e);
2057
+ let n = t.$defs ?? {}, r = Z(t, n), i = r.properties;
2058
+ return i ? yn(i, new Set(Array.isArray(r.required) ? r.required : []), n) : [];
2059
+ }, xn = (e) => {
2060
+ let t = bn(e);
1972
2061
  if (t === void 0) return [];
1973
- let n = t.$defs ?? {}, r = X(t, n);
2062
+ let n = t.$defs ?? {}, r = Z(t, n);
1974
2063
  if (r.type !== "array") return [];
1975
2064
  let i = r.items;
1976
2065
  if (!i || typeof i != "object") return [];
1977
- let a = X(i, n), o = a.properties;
1978
- return o ? dn(o, new Set(Array.isArray(a.required) ? a.required : []), n) : [];
1979
- }, Q = (e, t) => {
1980
- let n = g.decodeUnknownEither(e, { errors: "all" })(t);
2066
+ let a = Z(i, n), o = a.properties;
2067
+ return o ? yn(o, new Set(Array.isArray(a.required) ? a.required : []), n) : [];
2068
+ }, Sn = (e, t) => {
2069
+ let n = _.decodeUnknownEither(e, { errors: "all" })(t);
1981
2070
  if (n._tag === "Right") return {
1982
2071
  valid: !0,
1983
2072
  errors: {}
1984
2073
  };
1985
2074
  let r = {};
1986
- for (let e of b.formatErrorSync(n.left)) {
2075
+ for (let e of C.formatErrorSync(n.left)) {
1987
2076
  let t = e.path.length === 0 ? "" : String(e.path[0]);
1988
2077
  t !== "" && !(t in r) && (r[t] = e.message);
1989
2078
  }
@@ -1991,10 +2080,10 @@ var Je = () => {
1991
2080
  valid: !1,
1992
2081
  errors: r
1993
2082
  };
1994
- }, mn = (e, t, r) => {
1995
- let i = j(e), a = q(e, t), l = r.schema ?? i.descriptors[t]?.input;
2083
+ }, Cn = (e, t, r) => {
2084
+ let i = P(e), a = J(e, t), l = r.schema ?? i.descriptors[t]?.input;
1996
2085
  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.`);
1997
- let u = o(() => l ? Z(l) : [], [l]), d = s(r.defaults ?? {}), [f, p] = c(d.current), [m, h] = c({}), g = n((e, t) => {
2086
+ let u = o(() => l ? Q(l) : [], [l]), d = s(r.defaults ?? {}), [f, p] = c(d.current), [m, h] = c({}), g = n((e, t) => {
1998
2087
  p((n) => ({
1999
2088
  ...n,
2000
2089
  [e]: t
@@ -2008,7 +2097,7 @@ var Je = () => {
2008
2097
  p(d.current), h({});
2009
2098
  }, []), y = n(async () => {
2010
2099
  if (l !== void 0) {
2011
- let e = Q(l, f);
2100
+ let e = Sn(l, f);
2012
2101
  if (h(e.errors), !e.valid) return;
2013
2102
  }
2014
2103
  return a.mutate(f);
@@ -2021,7 +2110,7 @@ var Je = () => {
2021
2110
  fields: u,
2022
2111
  values: f,
2023
2112
  errors: m,
2024
- isValid: o(() => l === void 0 || Q(l, f).valid, [l, f]),
2113
+ isValid: o(() => l === void 0 || Sn(l, f).valid, [l, f]),
2025
2114
  pending: a.pending,
2026
2115
  submitError: a.error,
2027
2116
  data: a.data,
@@ -2030,13 +2119,13 @@ var Je = () => {
2030
2119
  reset: v,
2031
2120
  submit: y
2032
2121
  };
2033
- }, hn = (e, t, n) => e.map((e) => {
2122
+ }, wn = (e, t, n) => e.map((e) => {
2034
2123
  let r = String(e[n] ?? ""), i = e[t];
2035
2124
  return {
2036
2125
  value: r,
2037
2126
  label: i == null ? r : String(i)
2038
2127
  };
2039
- }), gn = (e, t, r = {}) => {
2128
+ }), Tn = (e, t, r = {}) => {
2040
2129
  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);
2041
2130
  a(() => {
2042
2131
  if (d === p) return;
@@ -2047,7 +2136,7 @@ var Je = () => {
2047
2136
  p,
2048
2137
  i
2049
2138
  ]);
2050
- let h = r.skipUntilTerm === !0 && p.trim() === "", g = B(e, t, o(() => u(p), [u, p]), { skip: h }), _ = o(() => hn(g.data ?? [], s, l), [
2139
+ let h = r.skipUntilTerm === !0 && p.trim() === "", g = V(e, t, o(() => u(p), [u, p]), { skip: h }), _ = o(() => wn(g.data ?? [], s, l), [
2051
2140
  g.data,
2052
2141
  s,
2053
2142
  l
@@ -2058,13 +2147,13 @@ var Je = () => {
2058
2147
  term: d,
2059
2148
  search: v
2060
2149
  };
2061
- }, _n = (e, t) => e === t ? 0 : e == null ? 1 : t == null || e < t ? -1 : 1, vn = (e, t, r = {}) => {
2062
- let i = j(e), [a, s] = c(r.pageSize), l = B(e, t, o(() => a === void 0 ? r.input ?? {} : {
2150
+ }, En = (e, t) => e === t ? 0 : e == null ? 1 : t == null || e < t ? -1 : 1, Dn = (e, t, r = {}) => {
2151
+ let i = P(e), [a, s] = c(r.pageSize), l = V(e, t, o(() => a === void 0 ? r.input ?? {} : {
2063
2152
  ...r.input,
2064
2153
  limit: a
2065
2154
  }, [r.input, a])), u = i.descriptors[t]?.output, d = n(() => {
2066
2155
  r.pageSize !== void 0 && s((e) => (e ?? r.pageSize) + r.pageSize);
2067
- }, [r.pageSize]), f = o(() => r.columns ?? (u === void 0 ? [] : pn(u)), [r.columns, u]), [p, m] = c(r.initialSort), h = n((e) => {
2156
+ }, [r.pageSize]), f = o(() => r.columns ?? (u === void 0 ? [] : xn(u)), [r.columns, u]), [p, m] = c(r.initialSort), h = n((e) => {
2068
2157
  m((t) => t?.column === e ? {
2069
2158
  column: e,
2070
2159
  direction: t.direction === "asc" ? "desc" : "asc"
@@ -2079,7 +2168,7 @@ var Je = () => {
2079
2168
  let e = l.data ?? [];
2080
2169
  if (p === void 0) return e;
2081
2170
  let t = p.direction === "asc" ? 1 : -1;
2082
- return [...e].sort((e, n) => _n(e[p.column], n[p.column]) * t);
2171
+ return [...e].sort((e, n) => En(e[p.column], n[p.column]) * t);
2083
2172
  }, [l.data, p]),
2084
2173
  loading: l.data === void 0,
2085
2174
  error: l.error,
@@ -2088,14 +2177,14 @@ var Je = () => {
2088
2177
  loadMore: d,
2089
2178
  hasMore: a !== void 0 && (l.data?.length ?? 0) >= a
2090
2179
  };
2091
- }, yn = (e, t, n, r) => {
2180
+ }, On = (e, t, n, r) => {
2092
2181
  let i = e.replace(/\/$/, ""), a = new URLSearchParams({
2093
2182
  table: t,
2094
2183
  id: n
2095
2184
  });
2096
2185
  return r !== void 0 && a.set("column", r), `${i}/_voltro/inspect/provenance?${a.toString()}`;
2097
- }, bn = yn, xn = (e, t, n, r) => {
2098
- let { inspectBaseUrl: i } = j(e), [o, s] = c({
2186
+ }, kn = On, An = (e, t, n, r) => {
2187
+ let { inspectBaseUrl: i } = P(e), [o, s] = c({
2099
2188
  data: void 0,
2100
2189
  loading: !0,
2101
2190
  error: void 0
@@ -2107,7 +2196,7 @@ var Je = () => {
2107
2196
  loading: !0,
2108
2197
  error: void 0
2109
2198
  });
2110
- let a = yn(i ?? "", t, n, r);
2199
+ let a = On(i ?? "", t, n, r);
2111
2200
  return fetch(a).then(async (e) => {
2112
2201
  if (!e.ok) throw Error(`provenance fetch failed: HTTP ${e.status}`);
2113
2202
  return await e.json();
@@ -2133,8 +2222,8 @@ var Je = () => {
2133
2222
  n,
2134
2223
  r
2135
2224
  ]), o;
2136
- }, Sn = (e) => `${e.replace(/\/$/, "")}/_voltro/inspect/manifest`, Cn = (e) => {
2137
- let { inspectBaseUrl: t } = j(e), [n, r] = c({
2225
+ }, jn = (e) => `${e.replace(/\/$/, "")}/_voltro/inspect/manifest`, Mn = (e) => {
2226
+ let { inspectBaseUrl: t } = P(e), [n, r] = c({
2138
2227
  manifest: void 0,
2139
2228
  loading: !0,
2140
2229
  error: void 0
@@ -2145,7 +2234,7 @@ var Je = () => {
2145
2234
  manifest: void 0,
2146
2235
  loading: !0,
2147
2236
  error: void 0
2148
- }), fetch(Sn(t ?? "")).then(async (e) => {
2237
+ }), fetch(jn(t ?? "")).then(async (e) => {
2149
2238
  if (!e.ok) throw Error(`manifest fetch failed: HTTP ${e.status}`);
2150
2239
  return await e.json();
2151
2240
  }).then((t) => {
@@ -2164,8 +2253,8 @@ var Je = () => {
2164
2253
  e = !0;
2165
2254
  };
2166
2255
  }, [e, t]), n;
2167
- }, wn = (e, t) => Array.isArray(e) ? e.includes(t) : e === t, Tn = (e, t, n) => e.targets?.some((e) => e.table === t && e.op === n) ?? !1, En = (e) => e.tables.filter((e) => !e.framework).map((t) => {
2168
- let n = e.procedures.find((e) => e.kind === "query" && wn(e.source, t.name)), r = e.procedures.find((e) => e.kind === "mutation" && Tn(e, t.name, "insert")), i = e.procedures.find((e) => e.kind === "mutation" && Tn(e, t.name, "update")), a = e.procedures.find((e) => e.kind === "mutation" && Tn(e, t.name, "delete"));
2256
+ }, Nn = (e, t) => Array.isArray(e) ? e.includes(t) : e === t, Pn = (e, t, n) => e.targets?.some((e) => e.table === t && e.op === n) ?? !1, Fn = (e) => e.tables.filter((e) => !e.framework).map((t) => {
2257
+ let n = e.procedures.find((e) => e.kind === "query" && Nn(e.source, t.name)), r = e.procedures.find((e) => e.kind === "mutation" && Pn(e, t.name, "insert")), i = e.procedures.find((e) => e.kind === "mutation" && Pn(e, t.name, "update")), a = e.procedures.find((e) => e.kind === "mutation" && Pn(e, t.name, "delete"));
2169
2258
  return {
2170
2259
  table: t.name,
2171
2260
  columns: t.columns,
@@ -2178,7 +2267,7 @@ var Je = () => {
2178
2267
  writeScope: `${t.name}:write`,
2179
2268
  deleteScope: `${t.name}:delete`
2180
2269
  };
2181
- }), Dn = (e) => {
2270
+ }), In = (e) => {
2182
2271
  let [t, r] = c([]), [i, a] = c([]), s = n((e) => {
2183
2272
  r((t) => [...t, e]), a([]);
2184
2273
  }, []), l = n(async () => {
@@ -2206,8 +2295,8 @@ var Je = () => {
2206
2295
  l,
2207
2296
  u
2208
2297
  ]);
2209
- }, On = "__voltro.undo.log", kn = "__voltro.undo.apply", An = "__voltro.undo.redo", jn = (e, t) => {
2210
- let r = t?.limit, { data: i } = B(e, On, r === void 0 ? {} : { limit: r }), a = q(e, kn), o = q(e, An), s = i ?? [], c = s.find((e) => !e.undone && !e.crossesAction), l = s.find((e) => e.undone), u = n(async (e) => {
2298
+ }, Ln = "__voltro.undo.log", Rn = "__voltro.undo.apply", zn = "__voltro.undo.redo", Bn = (e, t) => {
2299
+ let r = t?.limit, { data: i } = V(e, Ln, r === void 0 ? {} : { limit: r }), a = J(e, Rn), o = J(e, zn), s = i ?? [], c = s.find((e) => !e.undone && !e.crossesAction), l = s.find((e) => e.undone), u = n(async (e) => {
2211
2300
  await a.mutate({ invocationId: e });
2212
2301
  }, [a]), d = n(async (e) => {
2213
2302
  await o.mutate({ invocationId: e });
@@ -2226,13 +2315,13 @@ var Je = () => {
2226
2315
  undoLast: f,
2227
2316
  redoLast: p
2228
2317
  };
2229
- }, Mn = (e, t) => ({
2318
+ }, Vn = (e, t) => ({
2230
2319
  name: e,
2231
2320
  map: t
2232
- }), $ = (e, t) => e === void 0 ? null : typeof e == "string" ? { event: e } : e(t), Nn = /* @__PURE__ */ new Set(["onMount", "onUnmount"]), Pn = (e, t, n) => {
2321
+ }), $ = (e, t) => e === void 0 ? null : typeof e == "string" ? { event: e } : e(t), Hn = /* @__PURE__ */ new Set(["onMount", "onUnmount"]), Un = (e, t, n) => {
2233
2322
  let r = { ...t };
2234
2323
  for (let [i, a] of Object.entries(e.map)) {
2235
- if (Nn.has(i) || a === void 0) continue;
2324
+ if (Hn.has(i) || a === void 0) continue;
2236
2325
  let e = t[i];
2237
2326
  r[i] = (...r) => {
2238
2327
  let i = $(a, t);
@@ -2240,7 +2329,7 @@ var Je = () => {
2240
2329
  };
2241
2330
  }
2242
2331
  return r;
2243
- }, Fn = (e, t, n) => {
2332
+ }, Wn = (e, t, n) => {
2244
2333
  let r = s({
2245
2334
  spec: e,
2246
2335
  props: t,
@@ -2256,45 +2345,45 @@ var Je = () => {
2256
2345
  let e = r.current, t = $(e.spec.map.onUnmount, e.props);
2257
2346
  t !== null && e.sink(t);
2258
2347
  };
2259
- }, []), o(() => Pn(e, t, n), [
2348
+ }, []), o(() => Un(e, t, n), [
2260
2349
  e,
2261
2350
  t,
2262
2351
  n
2263
2352
  ]);
2264
- }, In = (e, t) => {
2265
- let n = j(e).descriptors[t]?.input;
2266
- return o(() => n === void 0 ? [] : Z(n), [n]);
2267
- }, Ln = (e, t) => {
2268
- let n = j(e).descriptors[t]?.output;
2269
- return o(() => n === void 0 ? [] : pn(n), [n]);
2270
- }, Rn = (e, t) => {
2353
+ }, Gn = (e, t) => {
2354
+ let n = P(e).descriptors[t]?.input;
2355
+ return o(() => n === void 0 ? [] : Q(n), [n]);
2356
+ }, Kn = (e, t) => {
2357
+ let n = P(e).descriptors[t]?.output;
2358
+ return o(() => n === void 0 ? [] : xn(n), [n]);
2359
+ }, qn = (e, t) => {
2271
2360
  if (e === t) return !0;
2272
2361
  if (e.length !== t.length) return !1;
2273
2362
  for (let n = 0; n < e.length; n += 1) if (!Object.is(e[n], t[n])) return !1;
2274
2363
  return !0;
2275
- }, zn = (e) => Object.keys(e).sort().map((t) => e[t]), Bn = (e, t) => {
2276
- let n = s(null), r = zn(e);
2277
- return (n.current === null || !Rn(n.current.key, r)) && (n.current = {
2364
+ }, Jn = (e) => Object.keys(e).sort().map((t) => e[t]), Yn = (e, t) => {
2365
+ let n = s(null), r = Jn(e);
2366
+ return (n.current === null || !qn(n.current.key, r)) && (n.current = {
2278
2367
  key: r,
2279
2368
  value: t(e)
2280
2369
  }), n.current.value;
2281
- }, Vn = "admin:full", Hn = (e, t) => e.includes("admin:full") ? !0 : (typeof t == "string" ? [t] : t).every((t) => e.includes(t)), Un = (e, t) => t.length === 0 || e.includes("admin:full") ? !0 : t.some((t) => e.includes(t)), Wn = e({ scopes: [] });
2282
- function Gn(e) {
2283
- return t(Wn.Provider, { value: { scopes: e.scopes } }, e.children);
2370
+ }, Xn = "admin:full", Zn = (e, t) => e.includes("admin:full") ? !0 : (typeof t == "string" ? [t] : t).every((t) => e.includes(t)), Qn = (e, t) => t.length === 0 || e.includes("admin:full") ? !0 : t.some((t) => e.includes(t)), $n = e({ scopes: [] });
2371
+ function er(e) {
2372
+ return t($n.Provider, { value: { scopes: e.scopes } }, e.children);
2284
2373
  }
2285
- var Kn = () => r(Wn), qn = (e) => Hn(Kn().scopes, e), Jn = (e) => Un(Kn().scopes, e), Yn = (e, t, n, r = {}) => {
2286
- let i = B(e, t, { ...n }, r);
2374
+ var tr = () => r($n), nr = (e) => Zn(tr().scopes, e), rr = (e) => Qn(tr().scopes, e), ir = (e, t, n, r = {}) => {
2375
+ let i = V(e, t, { ...n }, r);
2287
2376
  return o(() => ({
2288
2377
  allowed: i.data?.allowed === !0,
2289
2378
  pending: i.data === void 0
2290
2379
  }), [i.data]);
2291
- }, Xn = (e, t, n, r = {}) => {
2292
- let i = B(e, t, { ...n }, r);
2380
+ }, ar = (e, t, n, r = {}) => {
2381
+ let i = V(e, t, { ...n }, r);
2293
2382
  return o(() => ({
2294
2383
  allowedIds: new Set(i.data?.allowedIds ?? []),
2295
2384
  pending: i.data === void 0
2296
2385
  }), [i.data]);
2297
- }, Zn = (e) => {
2386
+ }, or = (e) => {
2298
2387
  switch (e) {
2299
2388
  case "select":
2300
2389
  case "radio":
@@ -2310,25 +2399,25 @@ var Kn = () => r(Wn), qn = (e) => Hn(Kn().scopes, e), Jn = (e) => Un(Kn().scopes
2310
2399
  case "switch": return "boolean";
2311
2400
  default: return null;
2312
2401
  }
2313
- }, Qn = (e) => Z(e).map((e) => {
2314
- let t = Zn(e.widget);
2402
+ }, sr = (e) => Q(e).map((e) => {
2403
+ let t = or(e.widget);
2315
2404
  return t === null ? null : {
2316
2405
  name: e.name,
2317
2406
  label: e.label,
2318
2407
  kind: t,
2319
2408
  ...e.options ? { options: e.options } : {}
2320
2409
  };
2321
- }).filter((e) => e !== null), $n = (e) => {
2410
+ }).filter((e) => e !== null), cr = (e) => {
2322
2411
  let t = {};
2323
2412
  for (let [n, r] of Object.entries(e)) r === void 0 || r === "" || Array.isArray(r) && r.length === 0 || (t[n] = r);
2324
2413
  return t;
2325
- }, er = (e, t, r = {}) => {
2326
- let i = j(e).descriptors[t]?.input, a = o(() => i === void 0 ? [] : Qn(i), [i]), [s, l] = c(r.initial ?? {}), u = n((e, t) => {
2327
- l((n) => $n({
2414
+ }, lr = (e, t, r = {}) => {
2415
+ let i = P(e).descriptors[t]?.input, a = o(() => i === void 0 ? [] : sr(i), [i]), [s, l] = c(r.initial ?? {}), u = n((e, t) => {
2416
+ l((n) => cr({
2328
2417
  ...n,
2329
2418
  [e]: t
2330
2419
  }));
2331
- }, []), d = n(() => l({}), []), f = B(e, t, o(() => $n(s), [s]));
2420
+ }, []), d = n(() => l({}), []), f = V(e, t, o(() => cr(s), [s]));
2332
2421
  return {
2333
2422
  filters: a,
2334
2423
  values: s,
@@ -2339,20 +2428,20 @@ var Kn = () => r(Wn), qn = (e) => Hn(Kn().scopes, e), Jn = (e) => Un(Kn().scopes
2339
2428
  loading: f.data === void 0,
2340
2429
  error: f.error
2341
2430
  };
2342
- }, tr = (e, t, n = {}) => {
2343
- let r = B(e, t, n), i = r.data;
2431
+ }, ur = (e, t, n = {}) => {
2432
+ let r = V(e, t, n), i = r.data;
2344
2433
  return {
2345
2434
  record: Array.isArray(i) ? i[0] : i,
2346
2435
  loading: i === void 0,
2347
2436
  error: r.error
2348
2437
  };
2349
- }, nr = (e, t = 300) => {
2438
+ }, dr = (e, t = 300) => {
2350
2439
  let [n, r] = c(e);
2351
2440
  return a(() => {
2352
2441
  let n = setTimeout(() => r(e), t);
2353
2442
  return () => clearTimeout(n);
2354
2443
  }, [e, t]), n;
2355
- }, rr = (e) => {
2444
+ }, fr = (e) => {
2356
2445
  let { value: t, debouncedValue: n, data: r, interpret: i, skipEmpty: a = !0 } = e;
2357
2446
  if (a && t.trim() === "") return {
2358
2447
  status: "idle",
@@ -2370,39 +2459,39 @@ var Kn = () => r(Wn), qn = (e) => Hn(Kn().scopes, e), Jn = (e) => Un(Kn().scopes
2370
2459
  valid: o.valid,
2371
2460
  message: o.message
2372
2461
  };
2373
- }, ir = (e, t, n, r) => {
2374
- let { input: i, interpret: a, debounceMs: s = 300, skipEmpty: c = !0 } = r, l = nr(n, s), u = c && l.trim() === "", d = B(e, t, o(() => i ? i(l) : { value: l }, [i, l]), { skip: u });
2375
- return rr({
2462
+ }, pr = (e, t, n, r) => {
2463
+ let { input: i, interpret: a, debounceMs: s = 300, skipEmpty: c = !0 } = r, l = dr(n, s), u = c && l.trim() === "", d = V(e, t, o(() => i ? i(l) : { value: l }, [i, l]), { skip: u });
2464
+ return fr({
2376
2465
  value: n,
2377
2466
  debouncedValue: l,
2378
2467
  data: u ? null : d.data,
2379
2468
  interpret: a,
2380
2469
  skipEmpty: c
2381
2470
  });
2382
- }, ar = (e, t) => ({
2471
+ }, mr = (e, t) => ({
2383
2472
  name: e,
2384
2473
  payload: t
2385
- }), or = (e, t) => {
2386
- let n = g.decodeUnknownEither(e.payload, { errors: "all" })(t);
2474
+ }), hr = (e, t) => {
2475
+ let n = _.decodeUnknownEither(e.payload, { errors: "all" })(t);
2387
2476
  if (n._tag === "Right") return {
2388
2477
  valid: !0,
2389
2478
  errors: {}
2390
2479
  };
2391
2480
  let r = {};
2392
- for (let e of b.formatErrorSync(n.left)) r[e.path.join(".") || "(root)"] = e.message;
2481
+ for (let e of C.formatErrorSync(n.left)) r[e.path.join(".") || "(root)"] = e.message;
2393
2482
  return {
2394
2483
  valid: !1,
2395
2484
  errors: r
2396
2485
  };
2397
- }, sr = (e) => {
2486
+ }, gr = (e) => {
2398
2487
  let t = new Map(e.map((e) => [e.name, e]));
2399
2488
  return {
2400
2489
  names: [...t.keys()].sort(),
2401
2490
  get: (e) => t.get(e),
2402
2491
  events: e
2403
2492
  };
2404
- }, cr = (e, t) => {
2405
- let n = sr(e);
2493
+ }, _r = (e, t) => {
2494
+ let n = gr(e);
2406
2495
  return {
2407
2496
  track: (e, r) => {
2408
2497
  let i = n.get(e);
@@ -2411,7 +2500,7 @@ var Kn = () => r(Wn), qn = (e) => Hn(Kn().scopes, e), Jn = (e) => Un(Kn().scopes
2411
2500
  return;
2412
2501
  }
2413
2502
  if (process.env.NODE_ENV !== "production") {
2414
- let t = or(i, r);
2503
+ let t = hr(i, r);
2415
2504
  t.valid || console.error(`[@voltro/client] analytics.track('${e}'): payload failed its schema`, t.errors);
2416
2505
  }
2417
2506
  t({
@@ -2422,42 +2511,42 @@ var Kn = () => r(Wn), qn = (e) => Hn(Kn().scopes, e), Jn = (e) => Un(Kn().scopes
2422
2511
  names: n.names,
2423
2512
  catalog: n
2424
2513
  };
2425
- }, lr = (e, t) => {
2426
- let r = J(e, t);
2514
+ }, vr = (e, t) => {
2515
+ let r = Y(e, t);
2427
2516
  return {
2428
2517
  preview: n((e) => r.run(e), [r]),
2429
2518
  diff: r.lastResult,
2430
2519
  pending: r.pending,
2431
2520
  error: r.error
2432
2521
  };
2433
- }, ur = (e, t, n, r) => [...e, {
2522
+ }, yr = (e, t, n, r) => [...e, {
2434
2523
  id: t,
2435
2524
  tag: n,
2436
2525
  input: r,
2437
2526
  status: "pending",
2438
2527
  attempts: 0
2439
- }], dr = (e, t, n) => e.map((e) => e.id === t ? {
2528
+ }], br = (e, t, n) => e.map((e) => e.id === t ? {
2440
2529
  ...e,
2441
2530
  ...n
2442
- } : e), fr = (e, t) => dr(e, t, { status: "sent" }), pr = (e, t, n) => e.map((e) => e.id === t ? {
2531
+ } : e), xr = (e, t) => br(e, t, { status: "sent" }), Sr = (e, t, n) => e.map((e) => e.id === t ? {
2443
2532
  ...e,
2444
2533
  status: "failed",
2445
2534
  error: n,
2446
2535
  attempts: e.attempts + 1
2447
- } : e), mr = (e, t, n) => dr(e, t, {
2536
+ } : e), Cr = (e, t, n) => br(e, t, {
2448
2537
  status: "conflict",
2449
2538
  error: n
2450
- }), hr = (e) => e.filter((e) => e.status !== "sent"), gr = (e) => {
2539
+ }), wr = (e) => e.filter((e) => e.status !== "sent"), Tr = (e) => {
2451
2540
  let t = [];
2452
2541
  for (let n of e) {
2453
2542
  if (n.status === "conflict") break;
2454
2543
  (n.status === "pending" || n.status === "failed") && t.push(n);
2455
2544
  }
2456
2545
  return t;
2457
- }, _r = (e) => {
2546
+ }, Er = (e) => {
2458
2547
  let t = e;
2459
2548
  return t?.conflict === !0 || t?._tag === "UndoBoundaryError" && t?.boundary === "conflict";
2460
- }, vr = (e) => {
2549
+ }, Dr = (e) => {
2461
2550
  let [t, n] = c(e ?? (typeof navigator < "u" ? navigator.onLine : !0));
2462
2551
  return a(() => {
2463
2552
  if (e !== void 0) {
@@ -2470,21 +2559,21 @@ var Kn = () => r(Wn), qn = (e) => Hn(Kn().scopes, e), Jn = (e) => Un(Kn().scopes
2470
2559
  window.removeEventListener("online", t), window.removeEventListener("offline", r);
2471
2560
  };
2472
2561
  }, [e]), t;
2473
- }, yr = (e) => {
2474
- let { send: t, isConflict: r = _r, idFor: i } = e, [o, l] = c([]), u = vr(e.online), d = s(o);
2562
+ }, Or = (e) => {
2563
+ let { send: t, isConflict: r = Er, idFor: i } = e, [o, l] = c([]), u = Dr(e.online), d = s(o);
2475
2564
  d.current = o;
2476
2565
  let f = s(0), p = n((e, t) => {
2477
2566
  let n = i?.() ?? `obx_${f.current++}_${e}`;
2478
- l((r) => ur(r, n, e, t));
2567
+ l((r) => yr(r, n, e, t));
2479
2568
  }, [i]), m = n(async () => {
2480
- for (let e of gr(d.current)) try {
2481
- await t(e), l((t) => fr(t, e.id));
2569
+ for (let e of Tr(d.current)) try {
2570
+ await t(e), l((t) => xr(t, e.id));
2482
2571
  } catch (t) {
2483
2572
  if (r(t)) {
2484
- l((n) => mr(n, e.id, t));
2573
+ l((n) => Cr(n, e.id, t));
2485
2574
  break;
2486
2575
  }
2487
- l((n) => pr(n, e.id, t));
2576
+ l((n) => Sr(n, e.id, t));
2488
2577
  }
2489
2578
  }, [t, r]);
2490
2579
  return a(() => {
@@ -2497,7 +2586,7 @@ var Kn = () => r(Wn), qn = (e) => Hn(Kn().scopes, e), Jn = (e) => Un(Kn().scopes
2497
2586
  pending: o.filter((e) => e.status === "pending" || e.status === "failed").length,
2498
2587
  conflicts: o.filter((e) => e.status === "conflict")
2499
2588
  };
2500
- }, br = (e) => {
2589
+ }, kr = (e) => {
2501
2590
  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);
2502
2591
  return {
2503
2592
  startIndex: l,
@@ -2507,8 +2596,8 @@ var Kn = () => r(Wn), qn = (e) => Hn(Kn().scopes, e), Jn = (e) => Un(Kn().scopes
2507
2596
  topSpacer: l * r,
2508
2597
  bottomSpacer: a === void 0 ? 0 : Math.max(0, (a - d) * r)
2509
2598
  };
2510
- }, xr = (e, t, r) => {
2511
- let { rowHeight: i, viewportHeight: a, overscan: s, total: l, input: u } = r, [d, f] = c(0), p = o(() => br({
2599
+ }, Ar = (e, t, r) => {
2600
+ let { rowHeight: i, viewportHeight: a, overscan: s, total: l, input: u } = r, [d, f] = c(0), p = o(() => kr({
2512
2601
  scrollTop: d,
2513
2602
  viewportHeight: a,
2514
2603
  rowHeight: i,
@@ -2520,7 +2609,7 @@ var Kn = () => r(Wn), qn = (e) => Hn(Kn().scopes, e), Jn = (e) => Un(Kn().scopes
2520
2609
  i,
2521
2610
  s,
2522
2611
  l
2523
- ]), m = B(e, t, o(() => ({
2612
+ ]), m = V(e, t, o(() => ({
2524
2613
  ...u,
2525
2614
  offset: p.offset,
2526
2615
  limit: p.limit
@@ -2540,8 +2629,8 @@ var Kn = () => r(Wn), qn = (e) => Hn(Kn().scopes, e), Jn = (e) => Un(Kn().scopes
2540
2629
  loading: m.data === void 0,
2541
2630
  error: m.error
2542
2631
  };
2543
- }, Sr = () => typeof navigator > "u" || navigator.onLine, Cr = (e) => {
2544
- let { errorBus: t } = j(e), [r, i] = c(Sr), [o, l] = c(0), [u, d] = c(void 0), f = s(!0);
2632
+ }, jr = () => typeof navigator > "u" || navigator.onLine, Mr = (e) => {
2633
+ let { errorBus: t } = P(e), [r, i] = c(jr), [o, l] = c(0), [u, d] = c(void 0), f = s(!0);
2545
2634
  a(() => (f.current = !0, () => {
2546
2635
  f.current = !1;
2547
2636
  }), []), a(() => {
@@ -2567,7 +2656,7 @@ var Kn = () => r(Wn), qn = (e) => Hn(Kn().scopes, e), Jn = (e) => Un(Kn().scopes
2567
2656
  lastFailureAt: u,
2568
2657
  reportSuccess: p
2569
2658
  };
2570
- }, wr = "__voltro.connections.list", Tr = "__voltro.connections.start", Er = "__voltro.connections.submitToken", Dr = "__voltro.connections.disconnect", Or = {
2659
+ }, Nr = "__voltro.connections.list", Pr = "__voltro.connections.start", Fr = "__voltro.connections.submitToken", Ir = "__voltro.connections.disconnect", Lr = {
2571
2660
  connectionId: "",
2572
2661
  kind: "oauth2",
2573
2662
  label: "",
@@ -2578,14 +2667,14 @@ var Kn = () => r(Wn), qn = (e) => Hn(Kn().scopes, e), Jn = (e) => Un(Kn().scopes
2578
2667
  expiresAt: null,
2579
2668
  lastError: null,
2580
2669
  connectedAt: null
2581
- }, kr = (e, t) => {
2670
+ }, Rr = (e, t) => {
2582
2671
  if (t === "redirect") {
2583
2672
  globalThis.location.assign(e);
2584
2673
  return;
2585
2674
  }
2586
2675
  globalThis.open(e, "voltro-connect", "width=620,height=760,menubar=no,toolbar=no") === null && globalThis.location.assign(e);
2587
- }, Ar = (e) => {
2588
- let { data: t } = B(e, wr, {}), r = J(e, Tr), i = q(e, Er), a = q(e, Dr), o = t ?? [], s = r.pending || i.pending || a.pending, c = n((e) => ({
2676
+ }, zr = (e) => {
2677
+ let { data: t } = V(e, Nr, {}), r = Y(e, Pr), i = J(e, Fr), a = J(e, Ir), o = t ?? [], s = r.pending || i.pending || a.pending, c = n((e) => ({
2589
2678
  ...e,
2590
2679
  connected: e.status === "connected",
2591
2680
  needsAttention: e.status === "expired" || e.status === "revoked" || e.status === "error",
@@ -2593,7 +2682,7 @@ var Kn = () => r(Wn), qn = (e) => Hn(Kn().scopes, e), Jn = (e) => Un(Kn().scopes
2593
2682
  connect: async (t) => {
2594
2683
  if (e.kind !== "oauth2") throw Error(`connection "${e.connectionId}" is a personal-access-token connection — call submitToken(token), not connect().`);
2595
2684
  let n = t?.redirectTo ?? `${globalThis.location.pathname}${globalThis.location.search}`;
2596
- kr((await r.run({
2685
+ Rr((await r.run({
2597
2686
  connectionId: e.connectionId,
2598
2687
  redirectTo: n
2599
2688
  })).authorizeUrl, t?.mode);
@@ -2623,10 +2712,10 @@ var Kn = () => r(Wn), qn = (e) => Hn(Kn().scopes, e), Jn = (e) => Un(Kn().scopes
2623
2712
  get: l,
2624
2713
  pending: s
2625
2714
  };
2626
- }, jr = (e, t) => {
2627
- let n = Ar(e), r = n.get(t);
2715
+ }, Br = (e, t) => {
2716
+ let n = zr(e), r = n.get(t);
2628
2717
  return o(() => r === void 0 ? {
2629
- ...Or,
2718
+ ...Lr,
2630
2719
  connectionId: t,
2631
2720
  label: t,
2632
2721
  connected: !1,
@@ -2651,6 +2740,6 @@ var Kn = () => r(Wn), qn = (e) => Hn(Kn().scopes, e), Jn = (e) => Un(Kn().scopes
2651
2740
  n.loading,
2652
2741
  n.pending
2653
2742
  ]);
2654
- }, Mr = "framework-client";
2743
+ }, Vr = "framework-client";
2655
2744
  //#endregion
2656
- export { Vn as ADMIN_SCOPE, Mr as CLIENT_NAME, wr as CONNECTIONS_LIST_TAG, Dr as CONNECTION_DISCONNECT_TAG, Tr as CONNECTION_START_TAG, Er as CONNECTION_SUBMIT_TOKEN_TAG, de as FrameworkRuntimesContext, _e as FrameworkRuntimesProvider, le as LoadingSubscriptionCache, Gn as PermissionProvider, ue as RpcErrorBus, ce as SubscriptionCache, kn as UNDO_APPLY_TAG, On as UNDO_LOG_TAG, An as UNDO_REDO_TAG, he as _resetFrameworkRuntimesWarning, Ge as applyStoreSeeds, Hn as canCall, Un as canCallAny, nt as clearMutations, hr as clearSent, Oe as clearStoreHistory, br as computeWindow, cr as createAnalytics, ar as defineEvent, Be as defineStore, Mn as defineTracking, ze as definedStores, En as deriveEntityAdmins, ur as enqueueEntry, sr as eventCatalog, Qn as filtersFromSchema, at as getMutationNotifier, et as getMutations, He as makeStoreSeedBag, Sn as manifestUrl, mr as markConflict, pr as markFailed, fr as markSent, bn as provenanceUrl, en as publishClientError, S as publishClientTrace, gr as replayable, nn as reportClientError, Ve as resetStoreRegistryForTests, z as resolveByTag, $ as resolveTrackingEvent, Wt as resumableConsumeProgram, hn as rowsToOptions, Ye as runSequence, pn as schemaToColumns, Z as schemaToFields, We as seedStore, Je as sequence, it as setMutationNotifier, Ue as setStoreSeedResolver, G as settleMutation, M as shallow, Rn as shallowArrayEqual, zn as sourceValues, D as ssrClientProxy, pe as ssrStubHandle, w as stableKey, W as startMutation, Ee as storeHistory, tn as subscribeClientErrors, C as subscribeClientTraces, tt as subscribeMutations, De as subscribeStoreHistory, ke as travelToStoreState, J as useAction, Xt as useAgent, Yt as useAgentChat, Ut as useAgentStream, ir as useAsyncValidation, qn as useCan, Jn as useCanAny, Cn as useCapabilityManifest, jr as useConnection, Cr as useConnectionStatus, Ar as useConnections, Zt as useDataCopilot, vn as useDataTable, nr as useDebounced, Bn as useDerived, mn as useFormBinding, In as useFormSkeleton, j as useFrameworkApi, ge as useFrameworkRuntimes, q as useMutation, rn as useOnRpcError, yr as useOutbox, Kn as usePermissions, lr as usePreview, xn as useProvenance, gn as useQueryField, er as useQueryFilters, tr as useRecord, Qt as useRefreshSubscriptions, Yn as useResourceCan, Xn as useResourceCans, Kt as useResumableAgentStream, Xe as useSequence, B as useSubscription, Ln as useTableSkeleton, Fn as useTracking, Dn as useUndo, jn as useUndoLog, Et as useUpload, xr as useWindowedSubscription, Dt as useWorkflow, Ft as useWorkflowDomainEvents, It as useWorkflowEventDeliveries, Pt as useWorkflowEvents, At as useWorkflowRun, Nt as useWorkflowRunEvents, Ht as useWorkflowRunState, Mt as useWorkflowRunSteps, jt as useWorkflowRuns, Ot as useWorkflowSignal, kt as useWorkflowUpdate, or as validateEventPayload, Q as validateFields, rr as validationStatus, Pn as wrapTrackedCallbacks };
2745
+ export { Xn as ADMIN_SCOPE, Vr as CLIENT_NAME, Nr as CONNECTIONS_LIST_TAG, Ir as CONNECTION_DISCONNECT_TAG, Pr as CONNECTION_START_TAG, Fr as CONNECTION_SUBMIT_TOKEN_TAG, A as FrameworkRuntimesContext, _e as FrameworkRuntimesProvider, le as LoadingSubscriptionCache, er as PermissionProvider, ue as RpcErrorBus, ce as SubscriptionCache, Rn as UNDO_APPLY_TAG, Ln as UNDO_LOG_TAG, zn as UNDO_REDO_TAG, he as _resetFrameworkRuntimesWarning, qe as applyStoreSeeds, Zn as canCall, Qn as canCallAny, st as clearMutations, wr as clearSent, Ae as clearStoreHistory, kr as computeWindow, _r as createAnalytics, mr as defineEvent, He as defineStore, Vn as defineTracking, Ve as definedStores, Fn as deriveEntityAdmins, yr as enqueueEntry, gr as eventCatalog, sr as filtersFromSchema, ht as freshIdempotencyKey, ut as getMutationNotifier, at as getMutations, We as makeStoreSeedBag, jn as manifestUrl, Cr as markConflict, Sr as markFailed, xr as markSent, kn as provenanceUrl, ln as publishClientError, T as publishClientTrace, Tr as replayable, dn as reportClientError, Ue as resetStoreRegistryForTests, B as resolveByTag, $ as resolveTrackingEvent, Qt as resumableConsumeProgram, wn as rowsToOptions, $e as runSequence, xn as schemaToColumns, Q as schemaToFields, Ke as seedStore, Qe as sequence, lt as setMutationNotifier, Ge as setStoreSeedResolver, K as settleMutation, F as shallow, qn as shallowArrayEqual, Jn as sourceValues, fe as ssrClientProxy, pe as ssrStubHandle, E as stableKey, it as startMutation, Oe as storeHistory, un as subscribeClientErrors, ee as subscribeClientTraces, ot as subscribeMutations, ke as subscribeStoreHistory, je as travelToStoreState, Y as useAction, an as useAgent, rn as useAgentChat, Zt as useAgentStream, pr as useAsyncValidation, nr as useCan, rr as useCanAny, Mn as useCapabilityManifest, Br as useConnection, Mr as useConnectionStatus, zr as useConnections, on as useDataCopilot, Dn as useDataTable, dr as useDebounced, Yn as useDerived, Ze as useEvent, Cn as useFormBinding, Gn as useFormSkeleton, P as useFrameworkApi, ge as useFrameworkRuntimes, J as useMutation, fn as useOnRpcError, Or as useOutbox, tr as usePermissions, vr as usePreview, An as useProvenance, Tn as useQueryField, lr as useQueryFilters, ur as useRecord, sn as useRefreshSubscriptions, ir as useResourceCan, ar as useResourceCans, en as useResumableAgentStream, et as useSequence, V as useSubscription, Kn as useTableSkeleton, Wn as useTracking, In as useUndo, Bn as useUndoLog, Pt as useUpload, Ar as useWindowedSubscription, Ft as useWorkflow, Ut as useWorkflowDomainEvents, Wt as useWorkflowEventDeliveries, Ht as useWorkflowEvents, Rt as useWorkflowRun, Vt as useWorkflowRunEvents, Xt as useWorkflowRunState, Bt as useWorkflowRunSteps, zt as useWorkflowRuns, It as useWorkflowSignal, Lt as useWorkflowUpdate, hr as validateEventPayload, Sn as validateFields, fr as validationStatus, gt as withIdempotencyKey, Un as wrapTrackedCallbacks };