@voltro/client 0.57.0 → 0.59.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,31 +1,31 @@
1
1
  import { C as e, S as t, _ as n, a as r, b as i, c as a, d as o, f as s, g as c, h as l, i as u, l as d, m as f, n as p, o as m, p as h, r as g, s as _, t as v, u as y, v as b, w as x, x as S, y as ee } from "./formData-He_L4ozH.js";
2
- import { createContext as C, createElement as w, useCallback as T, useContext as te, useDebugValue as ne, useEffect as E, useMemo as D, useRef as O, useState as k, useSyncExternalStore as A } from "react";
3
- import { Cause as j, Context as re, Duration as ie, Effect as M, Exit as N, Fiber as P, Layer as F, ManagedRuntime as I, Schedule as L, Schema as ae, Stream as R } from "effect";
4
- import * as oe from "@effect/platform/Headers";
5
- import { RpcClient as z, RpcSerialization as se } from "@effect/rpc";
6
- import { applyRowPatch as ce, fieldIssuesOf as le, pluginTag as ue } from "@voltro/protocol";
7
- import * as B from "@effect/platform/Socket";
8
- import { jsx as de } from "react/jsx-runtime";
9
- import { FormApi as fe } from "@tanstack/form-core";
10
- import { useStore as pe } from "@tanstack/react-store";
11
- import { ArrayFormatter as me } from "effect/ParseResult";
2
+ import { createContext as C, createElement as w, useCallback as T, useContext as E, useDebugValue as te, useEffect as D, useMemo as O, useRef as k, useState as A, useSyncExternalStore as j } from "react";
3
+ import { Cause as M, Context as ne, Duration as re, Effect as N, Exit as P, Fiber as F, Layer as I, ManagedRuntime as L, Schedule as R, Schema as ie, Stream as z } from "effect";
4
+ import * as ae from "@effect/platform/Headers";
5
+ import { RpcClient as B, RpcSerialization as oe } from "@effect/rpc";
6
+ import { applyRowPatch as se, fieldIssuesOf as ce, pluginTag as le } from "@voltro/protocol";
7
+ import * as V from "@effect/platform/Socket";
8
+ import { jsx as ue } from "react/jsx-runtime";
9
+ import { FormApi as de } from "@tanstack/form-core";
10
+ import { useStore as fe } from "@tanstack/react-store";
11
+ import { ArrayFormatter as pe } from "effect/ParseResult";
12
12
  //#region src/traceBus.ts
13
- var V = /* @__PURE__ */ new Set(), he = (e) => {
14
- for (let t of V) try {
13
+ var H = /* @__PURE__ */ new Set(), me = (e) => {
14
+ for (let t of H) try {
15
15
  t(e);
16
16
  } catch {}
17
- }, ge = (e) => (V.add(e), () => {
18
- V.delete(e);
19
- }), H = (e) => {
17
+ }, he = (e) => (H.add(e), () => {
18
+ H.delete(e);
19
+ }), U = (e) => {
20
20
  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);
21
21
  return t(e);
22
- }, _e = Object.freeze({
22
+ }, ge = Object.freeze({
23
23
  data: void 0,
24
24
  revision: -1,
25
25
  emittedAt: void 0,
26
26
  error: void 0,
27
27
  pendingPatches: 0
28
- }), ve = 5e3, ye = (e, t, n) => {
28
+ }), _e = 5e3, ve = (e, t, n) => {
29
29
  if (e._tag === "error") return !1;
30
30
  if (e._tag === "delta") return !0;
31
31
  try {
@@ -33,21 +33,21 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
33
33
  } catch {
34
34
  return !1;
35
35
  }
36
- }, be = 0, xe = () => `patch_${++be}`, U = (e, t) => {
36
+ }, ye = 0, be = () => `patch_${++ye}`, W = (e, t) => {
37
37
  let n = e;
38
38
  for (let e of t.split(".")) {
39
39
  if (typeof n != "object" || !n) return;
40
40
  n = n[e];
41
41
  }
42
42
  return n;
43
- }, Se = (e, t, n) => {
43
+ }, xe = (e, t, n) => {
44
44
  let r = t.split("."), i = (e) => typeof e == "object" && e && !Array.isArray(e) ? { ...e } : {}, a = i(e), o = a;
45
45
  for (let e = 0; e < r.length - 1; e += 1) o[r[e]] = i(o[r[e]]), o = o[r[e]];
46
46
  return o[r[r.length - 1]] = n, a;
47
- }, Ce = (e, t) => {
47
+ }, Se = (e, t) => {
48
48
  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];
49
49
  return i.length === 0 ? null : new Set(i);
50
- }, we = (e, t, n) => {
50
+ }, Ce = (e, t, n) => {
51
51
  let r = e.path, i = e.by ?? "id";
52
52
  if (e.op === "insert") {
53
53
  let a = e.shapeItem ?? e.shape, o = a ? {
@@ -60,11 +60,11 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
60
60
  optimistic: !0
61
61
  }, s = e.order ?? "append";
62
62
  return (e) => {
63
- let t = Array.isArray(U(e, r)) ? U(e, r) : [];
64
- return Se(e ?? {}, r, s === "append" ? [...t, o] : [o, ...t]);
63
+ let t = Array.isArray(W(e, r)) ? W(e, r) : [];
64
+ return xe(e ?? {}, r, s === "append" ? [...t, o] : [o, ...t]);
65
65
  };
66
66
  }
67
- let a = Ce(e, t);
67
+ let a = Se(e, t);
68
68
  if (a === null) return null;
69
69
  if (e.op === "update") {
70
70
  let n = e.shapeItem ?? e.shape, o = n ? (e) => ({
@@ -78,24 +78,24 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
78
78
  optimistic: !0
79
79
  });
80
80
  return (e) => {
81
- let t = U(e, r);
81
+ let t = W(e, r);
82
82
  if (!Array.isArray(t)) {
83
83
  if (typeof t != "object" || !t) return e;
84
84
  let n = t;
85
- return a.has(n[i]) ? Se(e, r, o(n)) : e;
85
+ return a.has(n[i]) ? xe(e, r, o(n)) : e;
86
86
  }
87
- return Se(e, r, t.map((e) => a.has(e[i]) ? o(e) : e));
87
+ return xe(e, r, t.map((e) => a.has(e[i]) ? o(e) : e));
88
88
  };
89
89
  }
90
90
  return (e) => {
91
- let t = Array.isArray(U(e, r)) ? U(e, r) : [];
92
- return Se(e, r, t.filter((e) => !a.has(e[i])));
91
+ let t = Array.isArray(W(e, r)) ? W(e, r) : [];
92
+ return xe(e, r, t.filter((e) => !a.has(e[i])));
93
93
  };
94
- }, Te = (e, t, n) => {
94
+ }, we = (e, t, n) => {
95
95
  if (e.op === "insert") return n;
96
96
  let r = t.id;
97
97
  return typeof r == "string" && r.length > 0 ? r : null;
98
- }, Ee = (e, t, n, r) => {
98
+ }, Te = (e, t, n, r) => {
99
99
  let { anchorColumn: i, targetColumn: a } = e, o = new Set(n.map((e) => String(e)));
100
100
  return (e) => {
101
101
  if (!Array.isArray(e)) return e;
@@ -126,8 +126,8 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
126
126
  }));
127
127
  return c ? n : e;
128
128
  };
129
- }, De = (e, t, n) => {
130
- if (e.path !== void 0) return we(e, t, n);
129
+ }, Ee = (e, t, n) => {
130
+ if (e.path !== void 0) return Ce(e, t, n);
131
131
  switch (e.op) {
132
132
  case "insert": {
133
133
  let r = e.shape ? {
@@ -145,7 +145,7 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
145
145
  };
146
146
  }
147
147
  case "update": {
148
- let n = Ce(e, t);
148
+ let n = Se(e, t);
149
149
  if (n === null) return null;
150
150
  let r = e.shape, i = r ? (e) => ({
151
151
  ...r(t, e),
@@ -168,7 +168,7 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
168
168
  };
169
169
  }
170
170
  case "delete": {
171
- let n = Ce(e, t);
171
+ let n = Se(e, t);
172
172
  return n === null ? null : (e) => {
173
173
  if (!Array.isArray(e)) {
174
174
  let t = e;
@@ -178,7 +178,7 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
178
178
  };
179
179
  }
180
180
  }
181
- }, Oe = 5e3, ke = class {
181
+ }, De = 5e3, Oe = class {
182
182
  entries = /* @__PURE__ */ new Map();
183
183
  inactiveTtlMs;
184
184
  onChangeHook;
@@ -186,20 +186,20 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
186
186
  mirror;
187
187
  mergeCell;
188
188
  constructor(e = {}) {
189
- this.inactiveTtlMs = e.inactiveTtlMs ?? Oe, this.onChangeHook = e.onChange, this.errorBus = e.errorBus, this.mirror = e.mirror, this.mergeCell = e.mergeCell;
189
+ this.inactiveTtlMs = e.inactiveTtlMs ?? De, this.onChangeHook = e.onChange, this.errorBus = e.errorBus, this.mirror = e.mirror, this.mergeCell = e.mergeCell;
190
190
  }
191
191
  subscribe(e, t, n, r, i = {}) {
192
- let a = H(e), o = typeof e[0] == "string" ? e[0] : void 0, s = this.entries.get(a);
192
+ let a = U(e), o = typeof e[0] == "string" ? e[0] : void 0, s = this.entries.get(a);
193
193
  return s && s.evictionTimer !== null && (clearTimeout(s.evictionTimer), s.evictionTimer = null), s ? (s.fiber === null && (s.fetch = t, s.runtime = n, this.startFiber(s, t, n)), s.source === void 0 && i.source !== void 0 && (s.source = i.source)) : s = this.create(a, o, t, n, i.source), s.subscribers.add(r), {
194
194
  getSnapshot: () => this.getSnapshot(a),
195
195
  unsubscribe: () => this.unsubscribe(a, r)
196
196
  };
197
197
  }
198
198
  update(e, t, n) {
199
- let r = H(e), i = typeof e[0] == "string" ? e[0] : void 0, a = this.entries.get(r);
199
+ let r = U(e), i = typeof e[0] == "string" ? e[0] : void 0, a = this.entries.get(r);
200
200
  a ||= this.createStub(r, i);
201
201
  let o = {
202
- id: xe(),
202
+ id: be(),
203
203
  mutationId: n,
204
204
  reducer: t
205
205
  };
@@ -213,7 +213,7 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
213
213
  for (let i of this.entries.values()) {
214
214
  if (i.tag !== e) continue;
215
215
  let a = {
216
- id: `forTag-${++be}`,
216
+ id: `forTag-${++ye}`,
217
217
  mutationId: n,
218
218
  reducer: t
219
219
  };
@@ -230,12 +230,12 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
230
230
  confirmByMutation(e) {
231
231
  let t = !1;
232
232
  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);
233
- t && setTimeout(() => this.resyncUnechoedMutation(e), ve);
233
+ t && setTimeout(() => this.resyncUnechoedMutation(e), _e);
234
234
  }
235
235
  resyncUnechoedMutation(e) {
236
236
  for (let t of this.entries.values()) {
237
237
  if (!t.state.patches.some((t) => t.mutationId === e && t.confirmed === !0)) continue;
238
- let n = t.tag ?? t.key, r = `optimistic patch for ${n} got no superseding server event within ${ve}ms — the write is confirmed, so the preview is KEPT. Check reactivity for this query's source table.`;
238
+ let n = t.tag ?? t.key, r = `optimistic patch for ${n} got no superseding server event within ${_e}ms — the write is confirmed, so the preview is KEPT. Check reactivity for this query's source table.`;
239
239
  this.errorBus?.emit({
240
240
  source: "subscription",
241
241
  tag: n,
@@ -248,7 +248,7 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
248
248
  }
249
249
  }
250
250
  autoApply(e, t, n) {
251
- let r = `optimistic-${n}-${++be}`;
251
+ let r = `optimistic-${n}-${++ye}`;
252
252
  for (let i of e) {
253
253
  for (let e of this.entries.values()) {
254
254
  if (!(Array.isArray(e.source) ? e.source.includes(i.table) : e.source === i.table)) continue;
@@ -262,7 +262,7 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
262
262
  if (!n) continue;
263
263
  }
264
264
  if (e.computed && i.op === "insert" && i.path === void 0) continue;
265
- let a = De(i, t, r);
265
+ let a = Ee(i, t, r);
266
266
  if (a === null) continue;
267
267
  let o = {
268
268
  id: `${r}-${e.key}`,
@@ -275,10 +275,10 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
275
275
  if (e !== void 0) for (let [a, o] of Object.entries(e)) {
276
276
  let e = t[a];
277
277
  if (!Array.isArray(e)) continue;
278
- let s = Te(i, t, r);
278
+ let s = we(i, t, r);
279
279
  if (s !== null) for (let t of this.entries.values()) {
280
280
  if (!(Array.isArray(t.source) ? t.source.includes(o.junction) : t.source === o.junction) || t.computed) continue;
281
- let i = Ee(o, s, e.map((e) => String(e)), `${r}-${a}`);
281
+ let i = Te(o, s, e.map((e) => String(e)), `${r}-${a}`);
282
282
  t.state.patches.push({
283
283
  id: `${r}-${a}-${t.key}`,
284
284
  mutationId: n,
@@ -295,10 +295,10 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
295
295
  n.state.patches = n.state.patches.filter((e) => e.id !== t), n.state.patches.length !== r && this.invalidate(n);
296
296
  }
297
297
  peek(e) {
298
- return this.getSnapshot(H(e));
298
+ return this.getSnapshot(U(e));
299
299
  }
300
300
  getEntry(e) {
301
- return this.entries.get(H(e));
301
+ return this.entries.get(U(e));
302
302
  }
303
303
  size() {
304
304
  return this.entries.size;
@@ -317,7 +317,7 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
317
317
  return e;
318
318
  }
319
319
  destroy(e) {
320
- for (let t of this.entries.values()) t.evictionTimer !== null && clearTimeout(t.evictionTimer), t.fiber && e.runFork(P.interrupt(t.fiber));
320
+ for (let t of this.entries.values()) t.evictionTimer !== null && clearTimeout(t.evictionTimer), t.fiber && e.runFork(F.interrupt(t.fiber));
321
321
  this.entries.clear();
322
322
  }
323
323
  refreshAll(e) {
@@ -325,7 +325,7 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
325
325
  }
326
326
  reissue(e, t, n = !0) {
327
327
  if (!e.fetch) return;
328
- e.fiber && t.runFork(P.interrupt(e.fiber)), e.fiber = null;
328
+ e.fiber && t.runFork(F.interrupt(e.fiber)), e.fiber = null;
329
329
  let r = e.state.patches, i = e.state.base, a = e.state.baseRevision;
330
330
  e.state = this.freshState(), e.state.patches = r, n || (e.state.base = i, e.state.baseRevision = a), this.startFiber(e, e.fetch, t);
331
331
  }
@@ -399,31 +399,31 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
399
399
  };
400
400
  }
401
401
  startFiber(e, t, n) {
402
- let r = e.tag ?? e.key, i = t(), a = R.unwrapScoped(M.currentSpan.pipe(M.catchAll(() => M.succeed(void 0)), M.map((t) => (t && (e.traceId = t.traceId, he({
402
+ let r = e.tag ?? e.key, i = t(), a = z.unwrapScoped(N.currentSpan.pipe(N.catchAll(() => N.succeed(void 0)), N.map((t) => (t && (e.traceId = t.traceId, me({
403
403
  traceId: t.traceId,
404
404
  spanId: t.spanId,
405
405
  source: "subscription",
406
406
  tag: r
407
- })), i)))).pipe(R.withSpan(`client.subscription.${r}`, { attributes: { "rpc.tag": r } })), o = e.state.baseRevision >= 0 ? e.state.baseRevision : void 0, s = a.pipe(R.runForEach((t) => M.sync(() => {
407
+ })), i)))).pipe(z.withSpan(`client.subscription.${r}`, { attributes: { "rpc.tag": r } })), o = e.state.baseRevision >= 0 ? e.state.baseRevision : void 0, s = a.pipe(z.runForEach((t) => N.sync(() => {
408
408
  let n = e.state.base;
409
409
  if (t._tag === "snapshot") e.state.base = t.data, e.state.baseRevision = t.revision, e.state.baseEmittedAt = void 0, e.state.baseError = void 0, this.errorBus?.emitSuccess({
410
410
  source: "subscription",
411
411
  tag: e.tag ?? e.key
412
412
  }), t.computed === !0 && (e.computed = !0);
413
- else if (t._tag === "error") e.state.baseError = j.fail(t.error), typeof t.revision == "number" && (e.state.baseRevision = t.revision);
413
+ else if (t._tag === "error") e.state.baseError = M.fail(t.error), typeof t.revision == "number" && (e.state.baseRevision = t.revision);
414
414
  else {
415
415
  let n = e.state.base;
416
- Array.isArray(n) && (e.state.base = ce(n, t.patch, this.mergeCell === void 0 ? {} : { mergeCell: this.mergeCell })), e.state.baseRevision = t.revision, e.state.baseEmittedAt = t.emittedAt, e.state.baseError = void 0;
416
+ Array.isArray(n) && (e.state.base = se(n, t.patch, this.mergeCell === void 0 ? {} : { mergeCell: this.mergeCell })), e.state.baseRevision = t.revision, e.state.baseEmittedAt = t.emittedAt, e.state.baseError = void 0;
417
417
  }
418
- e.state.patches.some((e) => e.confirmed === !0) && ye(t, n, e.state.base) && (e.state.patches = e.state.patches.filter((e) => e.confirmed !== !0)), this.mirror !== void 0 && t._tag !== "error" && this.mirror.save(e.key, {
418
+ e.state.patches.some((e) => e.confirmed === !0) && ve(t, n, e.state.base) && (e.state.patches = e.state.patches.filter((e) => e.confirmed !== !0)), this.mirror !== void 0 && t._tag !== "error" && this.mirror.save(e.key, {
419
419
  tag: e.tag,
420
420
  data: e.state.base,
421
421
  revision: e.state.baseRevision
422
422
  }).catch(() => {}), this.invalidate(e);
423
423
  })));
424
- e.fiber = n.runFork(o === void 0 ? s : s.pipe(M.locallyWith(z.currentHeaders, (e) => oe.set(e, "voltro-resume-from", String(o))))), e.fiber.addObserver((t) => {
425
- if (N.isFailure(t) && !N.isInterrupted(t) && (e.state.baseRevision === -1 && (e.state.baseError = t.cause, this.invalidate(e)), this.errorBus)) {
426
- let n = j.squash(t.cause);
424
+ e.fiber = n.runFork(o === void 0 ? s : s.pipe(N.locallyWith(B.currentHeaders, (e) => ae.set(e, "voltro-resume-from", String(o))))), e.fiber.addObserver((t) => {
425
+ if (P.isFailure(t) && !P.isInterrupted(t) && (e.state.baseRevision === -1 && (e.state.baseError = t.cause, this.invalidate(e)), this.errorBus)) {
426
+ let n = M.squash(t.cause);
427
427
  this.errorBus.emit({
428
428
  source: "subscription",
429
429
  tag: e.tag ?? e.key,
@@ -440,7 +440,7 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
440
440
  }
441
441
  getSnapshot(e) {
442
442
  let t = this.entries.get(e);
443
- if (!t) return _e;
443
+ if (!t) return ge;
444
444
  if (t.state.cachedSnapshot !== null) return t.state.cachedSnapshot;
445
445
  let n = t.state.base;
446
446
  if (n !== void 0 && t.state.patches.length > 0) for (let e of t.state.patches) n = e.reducer(n);
@@ -460,17 +460,29 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
460
460
  scheduleEviction(e) {
461
461
  e.evictionTimer !== null && clearTimeout(e.evictionTimer), e.evictionTimer = setTimeout(() => {
462
462
  let t = this.entries.get(e.key);
463
- t && t.subscribers.size === 0 && (t.fiber && M.runFork(P.interrupt(t.fiber)), this.entries.delete(e.key));
463
+ t && t.subscribers.size === 0 && (t.fiber && N.runFork(F.interrupt(t.fiber)), this.entries.delete(e.key));
464
464
  }, this.inactiveTtlMs);
465
465
  }
466
- }, Ae = class extends ke {
466
+ }, ke = class extends Oe {
467
467
  subscribe(e, t, n, r, i = {}) {
468
468
  return {
469
469
  getSnapshot: () => this.peek(e),
470
470
  unsubscribe: () => {}
471
471
  };
472
472
  }
473
- }, je = class {
473
+ }, Ae = /* @__PURE__ */ new Set(), je = (e) => {
474
+ for (let t of Ae) try {
475
+ t(e);
476
+ } catch {}
477
+ }, Me = (e) => (Ae.add(e), () => {
478
+ Ae.delete(e);
479
+ }), Ne = (e, t) => {
480
+ je({
481
+ error: e,
482
+ source: "manual",
483
+ ...t ? { context: t } : {}
484
+ });
485
+ }, Pe = class {
474
486
  #e = /* @__PURE__ */ new Set();
475
487
  #t = /* @__PURE__ */ new Set();
476
488
  on(e) {
@@ -482,6 +494,14 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
482
494
  for (let t of this.#e) try {
483
495
  t(e);
484
496
  } catch {}
497
+ je({
498
+ error: e.error,
499
+ source: `rpc.${e.source}`,
500
+ context: {
501
+ rpcTag: e.tag,
502
+ ...e.traceId === void 0 ? {} : { traceId: e.traceId }
503
+ }
504
+ });
485
505
  }
486
506
  onSuccess(e) {
487
507
  return this.#t.add(e), () => {
@@ -493,60 +513,60 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
493
513
  t(e);
494
514
  } catch {}
495
515
  }
496
- }, Me = C(null), Ne = () => {
516
+ }, Fe = C(null), Ie = () => {
497
517
  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");
498
- }, Pe = new Proxy(() => Ne(), {
499
- get: (e, t) => Pe,
518
+ }, Le = new Proxy(() => Ie(), {
519
+ get: (e, t) => Le,
500
520
  has: () => !0,
501
- apply: () => Ne()
502
- }), Fe = Symbol.for("@voltro/client/ssrDescriptors"), Ie = globalThis, Le = Ie[Fe] ?? (Ie[Fe] = { byApi: /* @__PURE__ */ new Map() }), Re = (e, t) => {
503
- Le.byApi.set(e, t);
504
- }, ze = (e) => Le.byApi.get(e), Be = () => {
505
- Le.byApi.clear();
506
- }, Ve = {
507
- runtime: { runPromiseExit: () => Promise.resolve(N.die(/* @__PURE__ */ Error("Voltro: mutations are not invokable during SSR"))) },
508
- cache: new Ae(),
509
- client: Pe,
521
+ apply: () => Ie()
522
+ }), Re = Symbol.for("@voltro/client/ssrDescriptors"), ze = globalThis, Be = ze[Re] ?? (ze[Re] = { byApi: /* @__PURE__ */ new Map() }), Ve = (e, t) => {
523
+ Be.byApi.set(e, t);
524
+ }, He = (e) => Be.byApi.get(e), Ue = () => {
525
+ Be.byApi.clear();
526
+ }, We = {
527
+ runtime: { runPromiseExit: () => Promise.resolve(P.die(/* @__PURE__ */ Error("Voltro: mutations are not invokable during SSR"))) },
528
+ cache: new ke(),
529
+ client: Le,
510
530
  descriptors: {},
511
531
  inspectBaseUrl: "",
512
- errorBus: new je()
513
- }, He = {
532
+ errorBus: new Pe()
533
+ }, Ge = {
514
534
  get: (e) => {
515
- let t = ze(e);
516
- return t === void 0 ? Ve : {
517
- ...Ve,
535
+ let t = He(e);
536
+ return t === void 0 ? We : {
537
+ ...We,
518
538
  descriptors: t
519
539
  };
520
540
  },
521
541
  names: []
522
- }, Ue = !1, We = !1, W = null, Ge = () => {
523
- Ue = !1, We = !1, W !== null && (clearTimeout(W), W = null);
524
- }, Ke = () => {
525
- let e = te(Me);
526
- return e ? (We || (We = !0, W !== null && (clearTimeout(W), W = null)), e) : (typeof window < "u" && !Ue && !We && W === null && process.env.NODE_ENV !== "production" && (W = setTimeout(() => {
527
- W = null, !(Ue || We) && (Ue = !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>."));
528
- }, 0)), He);
529
- }, G = (e) => {
530
- let t = Ke(), n = t.demand;
531
- return E(() => {
542
+ }, Ke = !1, qe = !1, G = null, Je = () => {
543
+ Ke = !1, qe = !1, G !== null && (clearTimeout(G), G = null);
544
+ }, Ye = () => {
545
+ let e = E(Fe);
546
+ return e ? (qe || (qe = !0, G !== null && (clearTimeout(G), G = null)), e) : (typeof window < "u" && !Ke && !qe && G === null && process.env.NODE_ENV !== "production" && (G = setTimeout(() => {
547
+ G = null, !(Ke || qe) && (Ke = !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>."));
548
+ }, 0)), Ge);
549
+ }, K = (e) => {
550
+ let t = Ye(), n = t.demand;
551
+ return D(() => {
532
552
  n?.(e);
533
553
  }, [n, e]), t.get(e);
534
- }, qe = (e) => typeof e.runtime?.runFork != "function", Je = async (e) => {
554
+ }, Xe = (e) => typeof e.runtime?.runFork != "function", Ze = async (e) => {
535
555
  let { name: t, wsUrl: n, group: r, headers: i, webSocketConstructor: a } = e;
536
- class o extends re.Tag(`@voltro/client/AppClient/${t}`)() {}
537
- let s = F.succeed(B.WebSocketConstructor, (e, t) => a(e, t)), c = z.layerProtocolSocket().pipe(F.provide(se.layerJson), F.provide(B.layerWebSocket(n)), F.provide(s)), l = typeof i == "function" ? await i() : i, u = F.scoped(o, z.make(r)).pipe(F.provide(c)), d = l ? F.locallyScoped(z.currentHeaders, oe.fromInput(l)) : F.empty, f = I.make(F.merge(u, d));
556
+ class o extends ne.Tag(`@voltro/client/AppClient/${t}`)() {}
557
+ let s = I.succeed(V.WebSocketConstructor, (e, t) => a(e, t)), c = B.layerProtocolSocket().pipe(I.provide(oe.layerJson), I.provide(V.layerWebSocket(n)), I.provide(s)), l = typeof i == "function" ? await i() : i, u = I.scoped(o, B.make(r)).pipe(I.provide(c)), d = l ? I.locallyScoped(B.currentHeaders, ae.fromInput(l)) : I.empty, f = L.make(I.merge(u, d));
538
558
  try {
539
- let e = await f.runPromise(o), t = new je();
559
+ let e = await f.runPromise(o), t = new Pe();
540
560
  return {
541
561
  runtime: f,
542
562
  client: e,
543
- cache: new ke({ errorBus: t }),
563
+ cache: new Oe({ errorBus: t }),
544
564
  errorBus: t
545
565
  };
546
566
  } catch (e) {
547
567
  throw f.dispose(), e;
548
568
  }
549
- }, Ye = (e) => Math.min(500 * 2 ** Math.min(e - 1, 4), 5e3), Xe = () => ({
569
+ }, Qe = (e) => Math.min(500 * 2 ** Math.min(e - 1, 4), 5e3), $e = () => ({
550
570
  resolved: null,
551
571
  retryToken: 0,
552
572
  failureCount: 0,
@@ -555,15 +575,15 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
555
575
  everOpened: !1,
556
576
  wedgeStop: null,
557
577
  subjectMayHaveChanged: !1
558
- }), Ze = (e) => {
578
+ }), et = (e) => {
559
579
  e.wedgeStop !== null && (e.wedgeStop(), e.wedgeStop = null);
560
- }, Qe = (e) => {
580
+ }, tt = (e) => {
561
581
  e.cache.destroy(e.runtime), e.runtime.dispose();
562
- }, $e = (e) => {
563
- let t = e.apis, n = e.buildClient, r = e.onChange, i = e.retryDelayMs ?? Ye, a = e.stableWindowMs ?? 5e3, o = e.scheduler?.setTimeout ?? ((e, t) => setTimeout(e, t)), s = e.scheduler?.clearTimeout ?? ((e) => {
582
+ }, nt = (e) => {
583
+ let t = e.apis, n = e.buildClient, r = e.onChange, i = e.retryDelayMs ?? Qe, a = e.stableWindowMs ?? 5e3, o = e.scheduler?.setTimeout ?? ((e, t) => setTimeout(e, t)), s = e.scheduler?.clearTimeout ?? ((e) => {
564
584
  clearTimeout(e);
565
585
  }), c = e.scheduler?.queueMicrotask ?? queueMicrotask, l = e.onReconnecting, u = e.wedgeBackstop, d = /* @__PURE__ */ new Map();
566
- for (let e of t) d.set(e.name, Xe());
586
+ for (let e of t) d.set(e.name, $e());
567
587
  let f = !1, p = /* @__PURE__ */ new Set(), m = (e, t) => {
568
588
  let n = o(() => {
569
589
  p.delete(n), e();
@@ -589,7 +609,7 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
589
609
  if (!t) return;
590
610
  let r = t.generation, i = () => {
591
611
  if (f || t.generation !== r) return;
592
- t.everOpened = !0, Ze(t), t.retryToken++;
612
+ t.everOpened = !0, et(t), t.retryToken++;
593
613
  let e = t.failureCount;
594
614
  m(() => {
595
615
  f || t.failureCount === e && (t.failureCount = 0);
@@ -600,11 +620,11 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
600
620
  try {
601
621
  let a = await n(e, r, i, o);
602
622
  if (f || t.generation !== r) {
603
- Qe(a);
623
+ tt(a);
604
624
  return;
605
625
  }
606
626
  let s = t.resolved;
607
- s && !t.subjectMayHaveChanged && a.cache.seedStaleFrom(s.cache), t.subjectMayHaveChanged = !1, t.resolved = a, t.reconnectStatusDispose &&= (t.reconnectStatusDispose(), null), h(), s && Qe(s);
627
+ s && !t.subjectMayHaveChanged && a.cache.seedStaleFrom(s.cache), t.subjectMayHaveChanged = !1, t.resolved = a, t.reconnectStatusDispose &&= (t.reconnectStatusDispose(), null), h(), s && tt(s);
608
628
  } catch {
609
629
  if (f || t.generation !== r) return;
610
630
  g(e);
@@ -612,7 +632,7 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
612
632
  }, v = (e) => {
613
633
  if (!f) for (let n of t) {
614
634
  let t = d.get(n.name);
615
- t && (e && (t.subjectMayHaveChanged = !0), t.retryToken += 1, t.generation += 1, t.failureCount = 0, Ze(t), _(n));
635
+ t && (e && (t.subjectMayHaveChanged = !0), t.retryToken += 1, t.generation += 1, t.failureCount = 0, et(t), _(n));
616
636
  }
617
637
  };
618
638
  return t.length === 0 ? (r(/* @__PURE__ */ new Map(), !0), {
@@ -629,7 +649,7 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
629
649
  f = !0;
630
650
  for (let e of p) s(e);
631
651
  p.clear();
632
- for (let [, e] of d) e.resolved && Qe(e.resolved), e.reconnectStatusDispose && e.reconnectStatusDispose(), Ze(e);
652
+ for (let [, e] of d) e.resolved && tt(e.resolved), e.reconnectStatusDispose && e.reconnectStatusDispose(), et(e);
633
653
  d.clear();
634
654
  }
635
655
  },
@@ -640,8 +660,8 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
640
660
  v(!1);
641
661
  }
642
662
  });
643
- }, et = ({ apis: e, children: t, demand: n }) => {
644
- let r = D(() => ({
663
+ }, rt = ({ apis: e, children: t, demand: n }) => {
664
+ let r = O(() => ({
645
665
  get: (t) => {
646
666
  let n = e.get(t);
647
667
  if (!n) {
@@ -653,45 +673,45 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
653
673
  names: Array.from(e.keys()),
654
674
  ...n === void 0 ? {} : { demand: n }
655
675
  }), [e]);
656
- return /* @__PURE__ */ de(Me.Provider, {
676
+ return /* @__PURE__ */ ue(Fe.Provider, {
657
677
  value: r,
658
678
  children: t
659
679
  });
660
- }, tt = Symbol.for("@voltro/client/storeStorageProvider"), nt = () => {
661
- let e = globalThis, t = e[tt];
680
+ }, it = Symbol.for("@voltro/client/storeStorageProvider"), at = () => {
681
+ let e = globalThis, t = e[it];
662
682
  if (t !== void 0) return t;
663
683
  let n = {
664
684
  provider: void 0,
665
685
  used: !1
666
686
  };
667
- return e[tt] = n, n;
668
- }, rt = (e) => {
687
+ return e[it] = n, n;
688
+ }, ot = (e) => {
669
689
  if (typeof window > "u") return null;
670
690
  try {
671
691
  return (e === "session" ? window.sessionStorage : window.localStorage) ?? null;
672
692
  } catch {
673
693
  return null;
674
694
  }
675
- }, it = (e) => {
676
- let t = nt();
695
+ }, st = (e) => {
696
+ let t = at();
677
697
  t.used && e !== null && console.warn("[voltro] setStoreStorage() was called after a persisted store had already read. That store booted against the previous backing store and will not be re-read. Install storage before the first render — on React Native, after awaiting hydrate()."), t.provider = e ?? void 0;
678
- }, at = (e) => {
679
- let t = nt();
680
- return t.used = !0, (t.provider ?? rt)(e);
681
- }, ot = () => {
682
- let e = nt();
698
+ }, ct = (e) => {
699
+ let t = at();
700
+ return t.used = !0, (t.provider ?? ot)(e);
701
+ }, lt = () => {
702
+ let e = at();
683
703
  e.provider = void 0, e.used = !1;
684
- }, st = (e, t) => {
704
+ }, ut = (e, t) => {
685
705
  if (Object.is(e, t)) return !0;
686
706
  if (typeof e != "object" || typeof t != "object" || e === null || t === null || Array.isArray(e) !== Array.isArray(t)) return !1;
687
707
  let n = Object.keys(e), r = Object.keys(t);
688
708
  if (n.length !== r.length) return !1;
689
709
  for (let r of n) if (!Object.prototype.hasOwnProperty.call(t, r) || !Object.is(e[r], t[r])) return !1;
690
710
  return !0;
691
- }, ct = 50, lt = /* @__PURE__ */ new Set(), ut = (e, t) => {
692
- lt.has(e) || (lt.add(e), console.warn(t));
693
- }, dt = "\0global", ft = null, pt = (e, t, n) => {
694
- let r = ft?.() ?? null;
711
+ }, dt = 50, ft = /* @__PURE__ */ new Set(), pt = (e, t) => {
712
+ ft.has(e) || (ft.add(e), console.warn(t));
713
+ }, mt = "\0global", ht = null, gt = (e, t, n) => {
714
+ let r = ht?.() ?? null;
695
715
  if (r === null) return n;
696
716
  let i = n;
697
717
  for (let n of r.seeds) n.store === e && n.key === t && (i = {
@@ -699,9 +719,9 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
699
719
  ...n.value
700
720
  });
701
721
  return i;
702
- }, mt = (e, t) => {
722
+ }, _t = (e, t) => {
703
723
  let n = e(), r = /* @__PURE__ */ new Set(), i = 0, a = 0, o, s, c = () => {
704
- if (i >= ct) throw i = 0, Error(`defineStore: notification depth exceeded ${ct} — 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.`);
724
+ if (i >= dt) throw i = 0, Error(`defineStore: notification depth exceeded ${dt} — 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.`);
705
725
  i += 1;
706
726
  try {
707
727
  for (let e of [...r]) e();
@@ -722,20 +742,20 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
722
742
  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}', () => { … })\`.`);
723
743
  if (--a, a > 0) return;
724
744
  let l = o, u = s;
725
- o = void 0, s = void 0, !st(l, n) && (t(l, n, u), c());
745
+ o = void 0, s = void 0, !ut(l, n) && (t(l, n, u), c());
726
746
  },
727
747
  set: (e, r) => {
728
748
  let i = typeof e == "function" ? e(n) : {
729
749
  ...n,
730
750
  ...e
731
751
  };
732
- if (st(i, n)) return;
752
+ if (ut(i, n)) return;
733
753
  let o = n;
734
754
  n = i, !(a > 0) && (t(o, i, r), c());
735
755
  },
736
756
  reset: () => {
737
757
  let r = e();
738
- if (st(r, n)) return;
758
+ if (ut(r, n)) return;
739
759
  let i = n;
740
760
  n = r, !(a > 0) && (t(i, r, "reset"), c());
741
761
  },
@@ -743,51 +763,51 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
743
763
  r.delete(e);
744
764
  })
745
765
  };
746
- }, ht = 200, gt = [], _t = /* @__PURE__ */ new Set(), vt = [], yt = () => vt, bt = (e) => (_t.add(e), () => {
747
- _t.delete(e);
748
- }), xt = () => {
749
- gt.length = 0, vt = [];
750
- }, St = (e, t) => {
751
- let n = gt[e];
766
+ }, vt = 200, yt = [], bt = /* @__PURE__ */ new Set(), xt = [], St = () => xt, Ct = (e) => (bt.add(e), () => {
767
+ bt.delete(e);
768
+ }), wt = () => {
769
+ yt.length = 0, xt = [];
770
+ }, Tt = (e, t) => {
771
+ let n = yt[e];
752
772
  if (n === void 0) return !1;
753
- let r = Et.get(n.store);
773
+ let r = kt.get(n.store);
754
774
  if (r === void 0) return !1;
755
775
  let i = t === "before" ? n.prev : n.next;
756
- wt = !0;
776
+ Dt = !0;
757
777
  try {
758
778
  r.set(() => i, n.key, `travel:${t}`);
759
779
  } finally {
760
- wt = !1;
780
+ Dt = !1;
761
781
  }
762
782
  return !0;
763
- }, Ct = !1, wt = !1, Tt = (e) => {
764
- gt.push(e), gt.length > ht && gt.shift(), vt = [...gt];
765
- for (let e of [..._t]) e();
766
- }, Et = /* @__PURE__ */ new Map(), Dt = /* @__PURE__ */ new Map(), Ot = 0, kt = !1, At = /* @__PURE__ */ new Map(), jt = () => (kt || (kt = !0, queueMicrotask(() => {
767
- Ot += 1, kt = !1;
768
- })), Ot), Mt = Nt(((/* @__PURE__ */ Error()).stack ?? "").split("\n")[1] ?? "") ?? "";
769
- function Nt(e) {
783
+ }, Et = !1, Dt = !1, Ot = (e) => {
784
+ yt.push(e), yt.length > vt && yt.shift(), xt = [...yt];
785
+ for (let e of [...bt]) e();
786
+ }, kt = /* @__PURE__ */ new Map(), At = /* @__PURE__ */ new Map(), jt = 0, Mt = !1, Nt = /* @__PURE__ */ new Map(), Pt = () => (Mt || (Mt = !0, queueMicrotask(() => {
787
+ jt += 1, Mt = !1;
788
+ })), jt), Ft = It(((/* @__PURE__ */ Error()).stack ?? "").split("\n")[1] ?? "") ?? "";
789
+ function It(e) {
770
790
  let t = e.trim().replace(/^at\s+/, ""), n = /\(([^()]+)\)\s*$/.exec(t)?.[1] ?? t;
771
791
  return n.length > 0 ? n : void 0;
772
792
  }
773
- var Pt = () => {
793
+ var Lt = () => {
774
794
  let e = (/* @__PURE__ */ Error()).stack;
775
795
  if (typeof e != "string") return "<unknown>";
776
796
  for (let t of e.split("\n").slice(1)) {
777
- let e = Nt(t);
797
+ let e = It(t);
778
798
  if (e === void 0) continue;
779
799
  let n = e.replace(/:\d+:\d+$/, "");
780
- if (Mt === "" || n !== Mt.replace(/:\d+:\d+$/, "")) return n;
800
+ if (Ft === "" || n !== Ft.replace(/:\d+:\d+$/, "")) return n;
781
801
  }
782
802
  return "<unknown>";
783
- }, Ft = () => [...Et.values()], It = (e, t, n) => {
784
- let r = Pt(), i = jt(), a = Et.get(e);
803
+ }, Rt = () => [...kt.values()], zt = (e, t, n) => {
804
+ let r = Lt(), i = Pt(), a = kt.get(e);
785
805
  if (a !== void 0) {
786
- let t = Dt.get(e) ?? "<unknown>", n = At.get(e) === i;
806
+ let t = At.get(e) ?? "<unknown>", n = Nt.get(e) === i;
787
807
  if (r !== "<unknown>" && r === t && !n) return a;
788
808
  throw Error(`defineStore: '${e}' is already defined. Store names are the devtools + seed key, so two stores sharing one name would silently share state. Rename one.\n first: ${t}\n second: ${r}`);
789
809
  }
790
- let o = n?.persist, s = () => at(o?.storage === "session" ? "session" : "local"), c = () => {
810
+ let o = n?.persist, s = () => ct(o?.storage === "session" ? "session" : "local"), c = () => {
791
811
  let e = s();
792
812
  if (e === null || o === void 0) return;
793
813
  let t;
@@ -812,28 +832,28 @@ var Pt = () => {
812
832
  t.setItem(o.key, JSON.stringify(n));
813
833
  } catch {}
814
834
  }, u = /* @__PURE__ */ new Map(), d = (n) => {
815
- let r = n ?? dt, i = u.get(r);
835
+ let r = n ?? mt, i = u.get(r);
816
836
  if (i === void 0) {
817
837
  let a = n;
818
- i = mt(o !== void 0 && n === void 0 ? () => {
838
+ i = _t(o !== void 0 && n === void 0 ? () => {
819
839
  let e = t();
820
840
  return f = e, {
821
841
  ...e,
822
842
  ...c() ?? {}
823
843
  };
824
844
  } : t, (t, n, r) => {
825
- if (o !== void 0 && a === void 0 && l(n), !Ct && !wt) {
845
+ if (o !== void 0 && a === void 0 && l(n), !Et && !Dt) {
826
846
  let e = m(a);
827
847
  e.steps.length = e.cursor, e.steps.push({
828
848
  prev: t,
829
849
  next: n
830
850
  }), e.steps.length > h && e.steps.shift(), e.cursor = e.steps.length;
831
851
  }
832
- Tt({
852
+ Ot({
833
853
  store: e,
834
854
  ...a === void 0 ? {} : { key: a },
835
855
  ...r === void 0 ? {} : { label: r },
836
- ...Ct || wt ? { isUndo: !0 } : {},
856
+ ...Et || Dt ? { isUndo: !0 } : {},
837
857
  prev: t,
838
858
  next: n,
839
859
  at: Date.now()
@@ -842,7 +862,7 @@ var Pt = () => {
842
862
  }
843
863
  return i;
844
864
  }, f, p = /* @__PURE__ */ new Map(), m = (e) => {
845
- let t = e ?? dt, n = p.get(t);
865
+ let t = e ?? mt, n = p.get(t);
846
866
  return n === void 0 && (n = {
847
867
  steps: [],
848
868
  cursor: 0
@@ -862,11 +882,11 @@ var Pt = () => {
862
882
  }, b = {
863
883
  name: e,
864
884
  use: (t, n) => {
865
- let r = d(n?.key), i = O(t);
885
+ let r = d(n?.key), i = k(t);
866
886
  i.current = t;
867
- let a = O(n?.equals);
887
+ let a = k(n?.equals);
868
888
  a.current = n?.equals;
869
- let o = O({
889
+ let o = k({
870
890
  state: void 0,
871
891
  value: void 0,
872
892
  has: !1
@@ -874,12 +894,12 @@ var Pt = () => {
874
894
  let n = o.current;
875
895
  if (n.has && Object.is(n.state, t)) return n.value;
876
896
  let r = i.current(t), s = a.current, c = n.has && (s ? s(n.value, r) : Object.is(n.value, r));
877
- if (process.env.NODE_ENV !== "production" && s === void 0 && n.has && !c && typeof r == "object" && r && st(n.value, r)) {
897
+ if (process.env.NODE_ENV !== "production" && s === void 0 && n.has && !c && typeof r == "object" && r && ut(n.value, r)) {
878
898
  let t = !0;
879
899
  try {
880
900
  t = !Object.is(i.current(n.state), n.value);
881
901
  } catch {}
882
- ut(e, t ? `[@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.` : `[@voltro/client] ${e}.use(): this component re-renders on store changes that do not change what it selects. The selector is stable — it returns the same reference for the same state — and the STORE is writing a new value that is equal one level deep (a fresh \`[]\` or \`{}\`, say).\n Pass \`{ equals: shallow }\` (exported from @voltro/client), or stop writing an equal value.`);
902
+ pt(e, t ? `[@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.` : `[@voltro/client] ${e}.use(): this component re-renders on store changes that do not change what it selects. The selector is stable — it returns the same reference for the same state — and the STORE is writing a new value that is equal one level deep (a fresh \`[]\` or \`{}\`, say).\n Pass \`{ equals: shallow }\` (exported from @voltro/client), or stop writing an equal value.`);
883
903
  }
884
904
  let l = c ? n.value : r;
885
905
  return o.current = {
@@ -896,12 +916,12 @@ var Pt = () => {
896
916
  r,
897
917
  c,
898
918
  l
899
- ]), p = T(() => s(r.get()), [r, s]), m = T(() => s(pt(e, n?.key, n?.key === void 0 && f !== void 0 ? f : r.get())), [
919
+ ]), p = T(() => s(r.get()), [r, s]), m = T(() => s(gt(e, n?.key, n?.key === void 0 && f !== void 0 ? f : r.get())), [
900
920
  r,
901
921
  n?.key,
902
922
  s
903
- ]), h = A(u, p, m);
904
- return ne(h), h;
923
+ ]), h = j(u, p, m);
924
+ return te(h), h;
905
925
  },
906
926
  instance: d,
907
927
  get: (e) => d(e).get(),
@@ -914,11 +934,11 @@ var Pt = () => {
914
934
  undo: (e) => {
915
935
  let t = m(e);
916
936
  if (t.cursor === 0) return !1;
917
- --t.cursor, Ct = !0;
937
+ --t.cursor, Et = !0;
918
938
  try {
919
939
  d(e).set(() => t.steps[t.cursor].prev, "undo");
920
940
  } finally {
921
- Ct = !1;
941
+ Et = !1;
922
942
  }
923
943
  return !0;
924
944
  },
@@ -926,11 +946,11 @@ var Pt = () => {
926
946
  let t = m(e);
927
947
  if (t.cursor >= t.steps.length) return !1;
928
948
  let n = t.steps[t.cursor];
929
- t.cursor += 1, Ct = !0;
949
+ t.cursor += 1, Et = !0;
930
950
  try {
931
951
  d(e).set(() => n.next, "redo");
932
952
  } finally {
933
- Ct = !1;
953
+ Et = !1;
934
954
  }
935
955
  return !0;
936
956
  },
@@ -942,27 +962,27 @@ var Pt = () => {
942
962
  release: (e) => {
943
963
  u.delete(e), p.delete(e);
944
964
  },
945
- keys: () => [...u.keys()].filter((e) => e !== dt)
965
+ keys: () => [...u.keys()].filter((e) => e !== mt)
946
966
  };
947
- return Et.set(e, b), Dt.set(e, r), At.set(e, i), b;
948
- }, Lt = () => {
949
- Et.clear(), Dt.clear(), At.clear(), lt.clear();
950
- }, Rt = () => ({ seeds: [] }), zt = (e) => {
951
- ft = e;
952
- }, Bt = (e, t, n) => {
953
- let r = ft?.() ?? null;
967
+ return kt.set(e, b), At.set(e, r), Nt.set(e, i), b;
968
+ }, Bt = () => {
969
+ kt.clear(), At.clear(), Nt.clear(), ft.clear();
970
+ }, Vt = () => ({ seeds: [] }), Ht = (e) => {
971
+ ht = e;
972
+ }, Ut = (e, t, n) => {
973
+ let r = ht?.() ?? null;
954
974
  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.)`);
955
975
  r.seeds.push({
956
976
  store: e.name,
957
977
  ...n?.key === void 0 ? {} : { key: n.key },
958
978
  value: t
959
979
  });
960
- }, Vt = (e) => {
980
+ }, Wt = (e) => {
961
981
  if (e !== void 0) for (let t of e) {
962
- let e = Et.get(t.store);
982
+ let e = kt.get(t.store);
963
983
  e !== void 0 && e.set(t.value, t.key);
964
984
  }
965
- }, K = (e, t) => {
985
+ }, q = (e, t) => {
966
986
  let n = t.split("."), r = e;
967
987
  for (let e = 0; e < n.length; e++) {
968
988
  let i = n[e];
@@ -981,23 +1001,23 @@ var Pt = () => {
981
1001
  }
982
1002
  if (typeof r != "function") throw Error(`@voltro/client: rpc tag ${JSON.stringify(t)} did not resolve to a callable method.`);
983
1003
  return r;
984
- }, Ht = Object.freeze({
1004
+ }, Gt = Object.freeze({
985
1005
  data: void 0,
986
1006
  revision: -1,
987
1007
  emittedAt: void 0,
988
1008
  error: void 0,
989
1009
  pendingPatches: 0
990
- }), Ut = () => Ht;
991
- function q(e, t, n = {}, r = {}) {
992
- let i = r.skip === !0, { runtime: a, cache: o, client: s, descriptors: c } = G(e), l = c[t]?.source, u = O(n);
1010
+ }), Kt = () => Gt;
1011
+ function J(e, t, n = {}, r = {}) {
1012
+ let i = r.skip === !0, { runtime: a, cache: o, client: s, descriptors: c } = K(e), l = c[t]?.source, u = k(n);
993
1013
  u.current = n;
994
- let d = O(s);
1014
+ let d = k(s);
995
1015
  d.current = s;
996
- let f = D(() => JSON.stringify(Object.entries(n).sort(([e], [t]) => e.localeCompare(t))), [n]), p = D(() => {
1016
+ let f = O(() => JSON.stringify(Object.entries(n).sort(([e], [t]) => e.localeCompare(t))), [n]), p = O(() => {
997
1017
  let e = u.current;
998
1018
  return {
999
1019
  queryKey: [t, e],
1000
- fetch: () => K(d.current, t)(e)
1020
+ fetch: () => q(d.current, t)(e)
1001
1021
  };
1002
1022
  }, [t, f]), m = p.queryKey, h = T((e) => i ? () => {} : o.subscribe(p.queryKey, p.fetch, a, e, l === void 0 ? {} : { source: l }).unsubscribe, [
1003
1023
  o,
@@ -1005,11 +1025,11 @@ function q(e, t, n = {}, r = {}) {
1005
1025
  l,
1006
1026
  i,
1007
1027
  p
1008
- ]), g = T(() => i ? Ht : o.peek(m), [
1028
+ ]), g = T(() => i ? Gt : o.peek(m), [
1009
1029
  o,
1010
1030
  i,
1011
1031
  m
1012
- ]), _ = A(h, g, Ut), v = _.data !== void 0, y = v && (Array.isArray(_.data) ? _.data.length === 0 : _.data === null), b = {
1032
+ ]), _ = j(h, g, Kt), v = _.data !== void 0, y = v && (Array.isArray(_.data) ? _.data.length === 0 : _.data === null), b = {
1013
1033
  revision: _.revision,
1014
1034
  emittedAt: _.emittedAt,
1015
1035
  error: _.error,
@@ -1066,34 +1086,34 @@ function q(e, t, n = {}, r = {}) {
1066
1086
  }
1067
1087
  //#endregion
1068
1088
  //#region src/awaitResolvedApi.ts
1069
- var Wt = 15e3, J = async (e, t, n) => {
1070
- if (!qe(e.current)) return e.current;
1071
- let r = Date.now() + Wt;
1072
- for (; Date.now() < r;) if (await new Promise((e) => setTimeout(e, 16)), !qe(e.current)) return e.current;
1073
- throw Error(`Voltro: the api "${t}" did not resolve within ${Wt}ms, so ${n} was never sent. This is not the boot window — that is waited out. Check that "${t}" is a configured api name and that its client could connect.`);
1074
- }, Y = async (e, t) => {
1089
+ var qt = 15e3, Y = async (e, t, n) => {
1090
+ if (!Xe(e.current)) return e.current;
1091
+ let r = Date.now() + qt;
1092
+ for (; Date.now() < r;) if (await new Promise((e) => setTimeout(e, 16)), !Xe(e.current)) return e.current;
1093
+ throw Error(`Voltro: the api "${t}" did not resolve within ${qt}ms, so ${n} was never sent. This is not the boot window — that is waited out. Check that "${t}" is a configured api name and that its client could connect.`);
1094
+ }, X = async (e, t) => {
1075
1095
  let n = await e.runPromiseExit(t);
1076
- if (N.isSuccess(n)) return n.value;
1077
- throw j.squash(n.cause);
1078
- }, Gt = 100, X = [], Kt = /* @__PURE__ */ new Set(), qt = [], Jt = () => {
1079
- qt = X.slice();
1080
- }, Yt = () => {
1081
- Jt();
1082
- for (let e of Kt) try {
1096
+ if (P.isSuccess(n)) return n.value;
1097
+ throw M.squash(n.cause);
1098
+ }, Jt = 100, Z = [], Yt = /* @__PURE__ */ new Set(), Xt = [], Zt = () => {
1099
+ Xt = Z.slice();
1100
+ }, Qt = () => {
1101
+ Zt();
1102
+ for (let e of Yt) try {
1083
1103
  e();
1084
1104
  } catch {}
1085
- }, Xt = (e) => {
1105
+ }, $t = (e) => {
1086
1106
  let t = {
1087
1107
  ...e,
1088
1108
  status: "pending",
1089
1109
  startedAt: Date.now()
1090
1110
  };
1091
- X.unshift(t), X.length > Gt && (X.length = Gt), Yt();
1092
- }, Zt = (e, t) => {
1093
- let n = X.findIndex((t) => t.id === e);
1111
+ Z.unshift(t), Z.length > Jt && (Z.length = Jt), Qt();
1112
+ }, en = (e, t) => {
1113
+ let n = Z.findIndex((t) => t.id === e);
1094
1114
  if (n === -1) return;
1095
- let r = X[n], i = Date.now();
1096
- X[n] = t.status === "success" ? {
1115
+ let r = Z[n], i = Date.now();
1116
+ Z[n] = t.status === "success" ? {
1097
1117
  ...r,
1098
1118
  status: "success",
1099
1119
  output: t.output,
@@ -1105,12 +1125,12 @@ var Wt = 15e3, J = async (e, t, n) => {
1105
1125
  error: t.error,
1106
1126
  settledAt: i,
1107
1127
  durationMs: i - r.startedAt
1108
- }, Yt();
1109
- }, Qt = () => qt, $t = (e) => (Kt.add(e), () => {
1110
- Kt.delete(e);
1111
- }), en = () => {
1112
- X.length !== 0 && (X.length = 0, Yt());
1113
- }, tn = (e, t) => {
1128
+ }, Qt();
1129
+ }, tn = () => Xt, nn = (e) => (Yt.add(e), () => {
1130
+ Yt.delete(e);
1131
+ }), rn = () => {
1132
+ Z.length !== 0 && (Z.length = 0, Qt());
1133
+ }, an = (e, t) => {
1114
1134
  if (t === void 0 || typeof e != "object" || !e) return e;
1115
1135
  try {
1116
1136
  Object.defineProperty(e, "__voltroTraceId", {
@@ -1120,40 +1140,40 @@ var Wt = 15e3, J = async (e, t, n) => {
1120
1140
  });
1121
1141
  } catch {}
1122
1142
  return e;
1123
- }, nn, rn = (e) => {
1124
- nn = e;
1125
- }, an = () => nn, on = (e, t, n) => typeof e == "function" ? e(t, n) : e, sn = 0, cn = () => `mut_${++sn}`, ln = 0, un = () => {
1143
+ }, on, sn = (e) => {
1144
+ on = e;
1145
+ }, cn = () => on, ln = (e, t, n) => typeof e == "function" ? e(t, n) : e, un = 0, dn = () => `mut_${++un}`, fn = 0, pn = () => {
1126
1146
  let e = typeof crypto < "u" ? crypto : void 0;
1127
- return e && typeof e.randomUUID == "function" ? e.randomUUID() : `idem_${Date.now().toString(36)}_${ln += 1}`;
1128
- }, dn = (e, t) => e.pipe(M.locallyWith(z.currentHeaders, (e) => oe.set(e, "idempotency-key", t))), fn = (e, t) => ({
1147
+ return e && typeof e.randomUUID == "function" ? e.randomUUID() : `idem_${Date.now().toString(36)}_${fn += 1}`;
1148
+ }, mn = (e, t) => e.pipe(N.locallyWith(B.currentHeaders, (e) => ae.set(e, "idempotency-key", t))), hn = (e, t) => ({
1129
1149
  update: (n, r) => {
1130
1150
  e.update(n, r, t);
1131
1151
  },
1132
1152
  forTag: (n, r) => e.forTag(n, r, t)
1133
- }), Z = (e, t) => {
1134
- let n = G(e), { descriptors: r, errorBus: i } = n, a = O(n);
1153
+ }), Q = (e, t) => {
1154
+ let n = K(e), { descriptors: r, errorBus: i } = n, a = k(n);
1135
1155
  a.current = n;
1136
1156
  let o = r[t], s = o?.targets;
1137
1157
  if (process.env.NODE_ENV !== "production") {
1138
1158
  let n = o?.kind;
1139
1159
  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.`);
1140
1160
  }
1141
- let [c, l] = k(!1), [u, d] = k(void 0), [f, p] = k(void 0), m = O(null), h = O(!1), g = T(async (n, r) => {
1161
+ let [c, l] = A(!1), [u, d] = A(void 0), [f, p] = A(void 0), m = k(null), h = k(!1), g = T(async (n, r) => {
1142
1162
  let o = r?.onError !== void 0 || r?.notify?.error !== void 0, c = (e) => {
1143
1163
  r?.onError?.(e, n);
1144
- let t = on(r?.notify?.error, e, n);
1145
- t !== void 0 && nn?.error(t);
1164
+ let t = ln(r?.notify?.error, e, n);
1165
+ t !== void 0 && on?.error(t);
1146
1166
  };
1147
1167
  l(!0), d(void 0);
1148
1168
  let u, f, g;
1149
1169
  try {
1150
- ({runtime: u, cache: f, client: g} = await J(a, e, t));
1170
+ ({runtime: u, cache: f, client: g} = await Y(a, e, t));
1151
1171
  } catch (e) {
1152
1172
  if (l(!1), d(e), o) return c(e);
1153
1173
  throw e;
1154
1174
  }
1155
- let _ = cn(), v = r?.idempotencyKey ?? un();
1156
- Xt({
1175
+ let _ = dn(), v = r?.idempotencyKey ?? pn();
1176
+ $t({
1157
1177
  id: _,
1158
1178
  apiName: e,
1159
1179
  tag: t,
@@ -1161,9 +1181,9 @@ var Wt = 15e3, J = async (e, t, n) => {
1161
1181
  });
1162
1182
  let y = m.current, b = h.current;
1163
1183
  if (y) try {
1164
- y(fn(f, _), n);
1184
+ y(hn(f, _), n);
1165
1185
  } catch (e) {
1166
- if (d(e), l(!1), f.revertByMutation(_), Zt(_, {
1186
+ if (d(e), l(!1), f.revertByMutation(_), en(_, {
1167
1187
  status: "error",
1168
1188
  error: e
1169
1189
  }), o) return c(e);
@@ -1172,30 +1192,30 @@ var Wt = 15e3, J = async (e, t, n) => {
1172
1192
  else !b && s && s.length > 0 && f.autoApply(s, n, _);
1173
1193
  let x;
1174
1194
  try {
1175
- let a = K(g, t), o = M.currentSpan.pipe(M.tap((e) => M.sync(() => {
1176
- x = e.traceId, he({
1195
+ let a = q(g, t), o = N.currentSpan.pipe(N.tap((e) => N.sync(() => {
1196
+ x = e.traceId, me({
1177
1197
  traceId: e.traceId,
1178
1198
  spanId: e.spanId,
1179
1199
  source: "mutation",
1180
1200
  tag: t
1181
1201
  });
1182
- })), M.catchAll(() => M.void), M.zipRight(dn(a(n), v))).pipe(M.withSpan(`client.mutation.${t}`, { attributes: {
1202
+ })), N.catchAll(() => N.void), N.zipRight(mn(a(n), v))).pipe(N.withSpan(`client.mutation.${t}`, { attributes: {
1183
1203
  "voltro.api": e,
1184
1204
  "voltro.mutationId": _,
1185
1205
  "rpc.tag": t
1186
- } })), s = await Y(u, o);
1187
- p(s), Zt(_, {
1206
+ } })), s = await X(u, o);
1207
+ p(s), en(_, {
1188
1208
  status: "success",
1189
1209
  output: s
1190
1210
  }), i.emitSuccess({
1191
1211
  source: "mutation",
1192
1212
  tag: t
1193
1213
  }), f.confirmByMutation(_), r?.onSuccess?.(s, n);
1194
- let c = on(r?.notify?.success, s, n);
1195
- return c !== void 0 && nn?.success(c), s;
1214
+ let c = ln(r?.notify?.success, s, n);
1215
+ return c !== void 0 && on?.success(c), s;
1196
1216
  } catch (e) {
1197
- let n = tn(e, x);
1198
- if (d(n), Zt(_, {
1217
+ let n = an(e, x);
1218
+ if (d(n), en(_, {
1199
1219
  status: "error",
1200
1220
  error: n
1201
1221
  }), f.revertByMutation(_), i.emit({
@@ -1214,7 +1234,7 @@ var Wt = 15e3, J = async (e, t, n) => {
1214
1234
  s,
1215
1235
  i
1216
1236
  ]);
1217
- return D(() => {
1237
+ return O(() => {
1218
1238
  let e = {
1219
1239
  mutate: g,
1220
1240
  pending: c,
@@ -1230,7 +1250,7 @@ var Wt = 15e3, J = async (e, t, n) => {
1230
1250
  u,
1231
1251
  f
1232
1252
  ]);
1233
- }, pn = (e, t) => {
1253
+ }, gn = (e, t) => {
1234
1254
  if (t === void 0 || typeof e != "object" || !e) return e;
1235
1255
  try {
1236
1256
  Object.defineProperty(e, "__voltroTraceId", {
@@ -1240,17 +1260,17 @@ var Wt = 15e3, J = async (e, t, n) => {
1240
1260
  });
1241
1261
  } catch {}
1242
1262
  return e;
1243
- }, mn = (e, t, n) => typeof e == "function" ? e(t, n) : e, hn = 0, gn = () => `act_${++hn}`, _n = (e, t) => {
1244
- let n = G(e), { descriptors: r, errorBus: i } = n, a = O(n);
1263
+ }, _n = (e, t, n) => typeof e == "function" ? e(t, n) : e, vn = 0, yn = () => `act_${++vn}`, bn = (e, t) => {
1264
+ let n = K(e), { descriptors: r, errorBus: i } = n, a = k(n);
1245
1265
  if (a.current = n, process.env.NODE_ENV !== "production") {
1246
1266
  let n = r[t]?.kind;
1247
1267
  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.`);
1248
1268
  }
1249
- let [o, s] = k(!1), [c, l] = k(void 0), [u, d] = k(void 0), f = T(async (n, r) => {
1269
+ let [o, s] = A(!1), [c, l] = A(void 0), [u, d] = A(void 0), f = T(async (n, r) => {
1250
1270
  let o = r?.onError !== void 0 || r?.notify?.error !== void 0;
1251
1271
  s(!0), l(void 0);
1252
- let c = gn(), u = r?.idempotencyKey ?? un();
1253
- Xt({
1272
+ let c = yn(), u = r?.idempotencyKey ?? pn();
1273
+ $t({
1254
1274
  id: c,
1255
1275
  apiName: e,
1256
1276
  tag: t,
@@ -1258,30 +1278,30 @@ var Wt = 15e3, J = async (e, t, n) => {
1258
1278
  });
1259
1279
  let f;
1260
1280
  try {
1261
- let { runtime: o, client: s } = await J(a, e, t), l = K(s, t), p = await Y(o, M.currentSpan.pipe(M.tap((e) => M.sync(() => {
1262
- f = e.traceId, he({
1281
+ let { runtime: o, client: s } = await Y(a, e, t), l = q(s, t), p = await X(o, N.currentSpan.pipe(N.tap((e) => N.sync(() => {
1282
+ f = e.traceId, me({
1263
1283
  traceId: e.traceId,
1264
1284
  spanId: e.spanId,
1265
1285
  source: "action",
1266
1286
  tag: t
1267
1287
  });
1268
- })), M.catchAll(() => M.void), M.zipRight(dn(l(n), u))).pipe(M.withSpan(`client.action.${t}`, { attributes: {
1288
+ })), N.catchAll(() => N.void), N.zipRight(mn(l(n), u))).pipe(N.withSpan(`client.action.${t}`, { attributes: {
1269
1289
  "voltro.api": e,
1270
1290
  "voltro.actionId": c,
1271
1291
  "rpc.tag": t
1272
1292
  } })));
1273
- d(p), Zt(c, {
1293
+ d(p), en(c, {
1274
1294
  status: "success",
1275
1295
  output: p
1276
1296
  }), i.emitSuccess({
1277
1297
  source: "action",
1278
1298
  tag: t
1279
1299
  }), r?.onSuccess?.(p, n);
1280
- let m = mn(r?.notify?.success, p, n);
1281
- return m !== void 0 && an()?.success(m), p;
1300
+ let m = _n(r?.notify?.success, p, n);
1301
+ return m !== void 0 && cn()?.success(m), p;
1282
1302
  } catch (e) {
1283
- let a = pn(e, f);
1284
- if (l(a), Zt(c, {
1303
+ let a = gn(e, f);
1304
+ if (l(a), en(c, {
1285
1305
  status: "error",
1286
1306
  error: a
1287
1307
  }), i.emit({
@@ -1291,8 +1311,8 @@ var Wt = 15e3, J = async (e, t, n) => {
1291
1311
  ...f === void 0 ? {} : { traceId: f }
1292
1312
  }), o) {
1293
1313
  r?.onError?.(a, n);
1294
- let e = mn(r?.notify?.error, a, n);
1295
- e !== void 0 && an()?.error(e);
1314
+ let e = _n(r?.notify?.error, a, n);
1315
+ e !== void 0 && cn()?.error(e);
1296
1316
  return;
1297
1317
  }
1298
1318
  throw a;
@@ -1304,7 +1324,7 @@ var Wt = 15e3, J = async (e, t, n) => {
1304
1324
  t,
1305
1325
  i
1306
1326
  ]);
1307
- return D(() => ({
1327
+ return O(() => ({
1308
1328
  run: f,
1309
1329
  pending: o,
1310
1330
  error: c,
@@ -1315,14 +1335,14 @@ var Wt = 15e3, J = async (e, t, n) => {
1315
1335
  c,
1316
1336
  u
1317
1337
  ]);
1318
- }, vn = C(void 0), yn = (e) => w(vn.Provider, { value: e.messages }, e.children), bn = () => te(vn), xn = Symbol.for("voltro.client.formEngine"), Sn = C(void 0), Cn = (e, t) => {
1338
+ }, xn = C(void 0), Sn = (e) => w(xn.Provider, { value: e.messages }, e.children), Cn = () => E(xn), wn = Symbol.for("voltro.client.formEngine"), Tn = C(void 0), En = (e, t) => {
1319
1339
  let n = e;
1320
1340
  for (let e of t.split(".")) {
1321
1341
  if (typeof n != "object" || !n) return;
1322
1342
  n = n[e];
1323
1343
  }
1324
1344
  return n;
1325
- }, wn = (e, t, n) => `vf-${e}-${t}-${n}`.replace(/[^a-zA-Z0-9_-]/g, "-"), Tn = {
1345
+ }, Dn = (e, t, n) => `vf-${e}-${t}-${n}`.replace(/[^a-zA-Z0-9_-]/g, "-"), On = {
1326
1346
  isTouched: !1,
1327
1347
  isBlurred: !1,
1328
1348
  isDirty: !1,
@@ -1331,28 +1351,28 @@ var Wt = 15e3, J = async (e, t, n) => {
1331
1351
  isValidating: !1,
1332
1352
  errorMap: {},
1333
1353
  errorSourceMap: {}
1334
- }, En = (e, t) => {
1354
+ }, kn = (e, t) => {
1335
1355
  let n = e.find((e) => e.name === t);
1336
1356
  if (n !== void 0) return n;
1337
1357
  let r = /^(.+?)\.\d+\.(.+)$/.exec(t);
1338
1358
  if (r !== null) return e.find((e) => e.name === r[1] && e.widget === "array")?.item?.find((e) => e.name === r[2]);
1339
- }, Dn = (e, t, n) => {
1340
- let r = G(e), a = O(void 0), o = typeof t == "function" ? t(a.current?.state?.values ?? n.defaults ?? {}) : t, s = O(o).current, c = Z(e, o), l = n.schema ?? r.descriptors[o]?.input;
1359
+ }, An = (e, t, n) => {
1360
+ let r = K(e), a = k(void 0), o = typeof t == "function" ? t(a.current?.state?.values ?? n.defaults ?? {}) : t, s = k(o).current, c = Q(e, o), l = n.schema ?? r.descriptors[o]?.input;
1341
1361
  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.`);
1342
- let u = D(() => l ? x(l) : [], [l]), d = bn(), f = n.messages ?? d, p = D(() => ({
1362
+ let u = O(() => l ? x(l) : [], [l]), d = Cn(), f = n.messages ?? d, p = O(() => ({
1343
1363
  ...n.locale === void 0 ? {} : { locale: n.locale },
1344
1364
  ...f === void 0 ? {} : { messages: f }
1345
- }), [n.locale, f]), m = O(n.asyncFields);
1365
+ }), [n.locale, f]), m = k(n.asyncFields);
1346
1366
  m.current = n.asyncFields;
1347
- let h = O(n);
1367
+ let h = k(n);
1348
1368
  h.current = n;
1349
- let g = O(c);
1369
+ let g = k(c);
1350
1370
  g.current = c;
1351
- let _ = O(p);
1371
+ let _ = k(p);
1352
1372
  _.current = p;
1353
- let v = O(l);
1373
+ let v = k(l);
1354
1374
  v.current = l;
1355
- let [y, S] = k(() => n.flash?.errors ?? {}), [C, w] = k(n.flash?.formError), [te, ne] = k(void 0), A = O(void 0), j = T((e) => {
1375
+ let [y, S] = A(() => n.flash?.errors ?? {}), [C, w] = A(n.flash?.formError), [E, te] = A(void 0), j = k(void 0), M = T((e) => {
1356
1376
  let t = v.current;
1357
1377
  if (t === void 0) return [];
1358
1378
  let n = h.current, r = e;
@@ -1366,26 +1386,26 @@ var Wt = 15e3, J = async (e, t, n) => {
1366
1386
  let o = n.errorPath ?? {};
1367
1387
  return a.map((t) => {
1368
1388
  let n = o[t.path];
1369
- return n === void 0 ? (Cn(e, t.path) !== void 0 || t.path.includes("."), t) : {
1389
+ return n === void 0 ? (En(e, t.path) !== void 0 || t.path.includes("."), t) : {
1370
1390
  ...t,
1371
1391
  path: n
1372
1392
  };
1373
1393
  });
1374
- }, []), re = T((e) => {
1394
+ }, []), ne = T((e) => {
1375
1395
  let t = { ...e ?? {} }, n = v.current;
1376
1396
  if (n !== void 0) for (let e of x(n)) (e.widget === "checkbox" || e.widget === "switch") && !(e.name in t) && (t[e.name] = !1);
1377
1397
  return t;
1378
- }, []), ie = O(() => Promise.resolve());
1398
+ }, []), re = k(() => Promise.resolve());
1379
1399
  if (a.current === void 0) {
1380
- let e = n.flash, t = e === void 0 ? re(n.defaults) : {
1381
- ...re(n.defaults),
1400
+ let e = n.flash, t = e === void 0 ? ne(n.defaults) : {
1401
+ ...ne(n.defaults),
1382
1402
  ...e.values
1383
1403
  };
1384
- a.current = new fe({
1385
- onSubmit: ({ value: e }) => ie.current(e),
1404
+ a.current = new de({
1405
+ onSubmit: ({ value: e }) => re.current(e),
1386
1406
  defaultValues: t,
1387
1407
  validators: { onChange: ({ value: e }) => {
1388
- let t = j(e);
1408
+ let t = M(e);
1389
1409
  if (t.length === 0) return;
1390
1410
  let n = {};
1391
1411
  for (let e of t) e.path !== "" && !(e.path in n) && (n[e.path] = b(e, _.current));
@@ -1393,23 +1413,23 @@ var Wt = 15e3, J = async (e, t, n) => {
1393
1413
  } }
1394
1414
  });
1395
1415
  }
1396
- let M = a.current, N = M;
1397
- E(() => N.mount(), [N]);
1398
- let P = n.subscribe ?? "all";
1399
- pe(M.store, (e) => P === "all" ? e : `${e.submissionAttempts}|${String(e.isSubmitting)}|${String(e.isDirty)}|${String(e.isTouched)}`);
1400
- let F = M.store.state.values, I = M.store.state, L = D(() => j(F), [j, F]), ae = n.isLoading === !0, R = n.validate, oe = R?.onChange ?? "afterTouched", z = R?.onBlur ?? !0, se = I.submissionAttempts, ce = I.fieldMetaBase ?? {}, ue = T((e) => {
1401
- if (ae) return !1;
1402
- if (se > 0 || oe === "always") return !0;
1403
- if (oe === "never") return !1;
1404
- let t = ce[e];
1405
- return t === void 0 ? !1 : z ? t.isBlurred === !0 : t.isTouched === !0;
1416
+ let N = a.current, P = N;
1417
+ D(() => P.mount(), [P]);
1418
+ let F = n.subscribe ?? "all";
1419
+ fe(N.store, (e) => F === "all" ? e : `${e.submissionAttempts}|${String(e.isSubmitting)}|${String(e.isDirty)}|${String(e.isTouched)}`);
1420
+ let I = N.store.state.values, L = N.store.state, R = O(() => M(I), [M, I]), ie = n.isLoading === !0, z = n.validate, ae = z?.onChange ?? "afterTouched", B = z?.onBlur ?? !0, oe = L.submissionAttempts, se = L.fieldMetaBase ?? {}, le = T((e) => {
1421
+ if (ie) return !1;
1422
+ if (oe > 0 || ae === "always") return !0;
1423
+ if (ae === "never") return !1;
1424
+ let t = se[e];
1425
+ return t === void 0 ? !1 : B ? t.isBlurred === !0 : t.isTouched === !0;
1406
1426
  }, [
1427
+ oe,
1407
1428
  se,
1408
- ce,
1429
+ ie,
1409
1430
  ae,
1410
- oe,
1411
- z
1412
- ]), B = T((e) => {
1431
+ B
1432
+ ]), V = T((e) => {
1413
1433
  let t = y[e];
1414
1434
  if (t !== void 0) return t;
1415
1435
  let n = m.current?.[e];
@@ -1417,41 +1437,41 @@ var Wt = 15e3, J = async (e, t, n) => {
1417
1437
  id: "validation.invalid",
1418
1438
  fallback: "Invalid value"
1419
1439
  }, _.current);
1420
- if (!ue(e)) return;
1421
- let r = L.find((t) => t.path === e);
1440
+ if (!le(e)) return;
1441
+ let r = R.find((t) => t.path === e);
1422
1442
  return r === void 0 ? void 0 : b(r, _.current);
1423
1443
  }, [
1424
1444
  y,
1425
- ue,
1426
- L
1427
- ]), de = D(() => {
1428
- let e = {}, t = /* @__PURE__ */ new Set([...L.map((e) => e.path).filter((e) => e !== ""), ...Object.keys(y)]);
1445
+ le,
1446
+ R
1447
+ ]), ue = O(() => {
1448
+ let e = {}, t = /* @__PURE__ */ new Set([...R.map((e) => e.path).filter((e) => e !== ""), ...Object.keys(y)]);
1429
1449
  for (let [e, n] of Object.entries(m.current ?? {})) n.status === "invalid" && t.add(e);
1430
1450
  for (let n of t) {
1431
- let t = B(n);
1451
+ let t = V(n);
1432
1452
  t !== void 0 && (e[n] = t);
1433
1453
  }
1434
1454
  return e;
1435
1455
  }, [
1436
- L,
1456
+ R,
1437
1457
  y,
1438
- B
1439
- ]), me = T((e) => {
1458
+ V
1459
+ ]), pe = T((e) => {
1440
1460
  S((t) => {
1441
1461
  if (!(e in t)) return t;
1442
1462
  let n = { ...t };
1443
1463
  return delete n[e], n;
1444
1464
  });
1445
- }, []), V = T((t) => {
1446
- let n = En(u, t), r = N.getFieldMeta(t), i = B(t), a = wn(e, s, t), o = m.current?.[t], c = [i === void 0 ? void 0 : `${a}-error`, n?.description === void 0 ? void 0 : `${a}-help`].filter((e) => e !== void 0);
1465
+ }, []), H = T((t) => {
1466
+ let n = kn(u, t), r = P.getFieldMeta(t), i = V(t), a = Dn(e, s, t), o = m.current?.[t], c = [i === void 0 ? void 0 : `${a}-error`, n?.description === void 0 ? void 0 : `${a}-help`].filter((e) => e !== void 0);
1447
1467
  return {
1448
- value: N.getFieldValue(t),
1468
+ value: P.getFieldValue(t),
1449
1469
  setValue: (e) => {
1450
- me(t), !Object.is(N.getFieldValue(t), e) && N.setFieldValue(t, e);
1470
+ pe(t), !Object.is(P.getFieldValue(t), e) && P.setFieldValue(t, e);
1451
1471
  },
1452
1472
  onBlur: () => {
1453
- N.setFieldMeta(t, (e) => ({
1454
- ...Tn,
1473
+ P.setFieldMeta(t, (e) => ({
1474
+ ...On,
1455
1475
  ...e ?? {},
1456
1476
  isTouched: !0,
1457
1477
  isBlurred: !0
@@ -1478,36 +1498,36 @@ var Wt = 15e3, J = async (e, t, n) => {
1478
1498
  }, [
1479
1499
  e,
1480
1500
  s,
1481
- me,
1482
- N,
1501
+ pe,
1502
+ P,
1483
1503
  u,
1484
1504
  y,
1485
- B
1486
- ]), he = T((e) => ({
1487
- items: N.getFieldValue(e) ?? [],
1505
+ V
1506
+ ]), me = T((e) => ({
1507
+ items: P.getFieldValue(e) ?? [],
1488
1508
  push: (t) => {
1489
- N.pushFieldValue(e, t);
1509
+ P.pushFieldValue(e, t);
1490
1510
  },
1491
1511
  insert: (t, n) => {
1492
- N.insertFieldValue(e, t, n);
1512
+ P.insertFieldValue(e, t, n);
1493
1513
  },
1494
1514
  remove: (t) => {
1495
- N.removeFieldValue(e, t);
1515
+ P.removeFieldValue(e, t);
1496
1516
  },
1497
1517
  move: (t, n) => {
1498
- N.moveFieldValues(e, t, n);
1518
+ P.moveFieldValues(e, t, n);
1499
1519
  },
1500
1520
  swap: (t, n) => {
1501
- N.swapFieldValues(e, t, n);
1521
+ P.swapFieldValues(e, t, n);
1502
1522
  },
1503
- field: (t, n) => V(`${e}.${t}.${n}`)
1504
- }), [N, V]), ge = T((e) => u.filter((t) => t.section === e), [u]), H = T((e, t) => {
1505
- me(e), !Object.is(N.getFieldValue(e), t) && N.setFieldValue(e, t);
1506
- }, [me, N]), _e = T((e) => {
1507
- for (let [t, n] of Object.entries(e)) N.setFieldValue(t, n);
1508
- }, [N]), ve = T((e) => {
1509
- S({}), w(void 0), ne(void 0), A.current = void 0, e === void 0 ? N.reset() : N.reset(re(e));
1510
- }, [N, re]), ye = n.asyncTimeoutMs ?? 5e3, be = T(async () => {
1523
+ field: (t, n) => H(`${e}.${t}.${n}`)
1524
+ }), [P, H]), he = T((e) => u.filter((t) => t.section === e), [u]), U = T((e, t) => {
1525
+ pe(e), !Object.is(P.getFieldValue(e), t) && P.setFieldValue(e, t);
1526
+ }, [pe, P]), ge = T((e) => {
1527
+ for (let [t, n] of Object.entries(e)) P.setFieldValue(t, n);
1528
+ }, [P]), _e = T((e) => {
1529
+ S({}), w(void 0), te(void 0), j.current = void 0, e === void 0 ? P.reset() : P.reset(ne(e));
1530
+ }, [P, ne]), ve = n.asyncTimeoutMs ?? 5e3, ye = T(async () => {
1511
1531
  let e = Date.now();
1512
1532
  for (;;) {
1513
1533
  let t = m.current;
@@ -1520,18 +1540,18 @@ var Wt = 15e3, J = async (e, t, n) => {
1520
1540
  fallback: "Invalid value"
1521
1541
  }, _.current)]));
1522
1542
  }
1523
- if (Date.now() - e > ye) return Object.fromEntries(r.map(([e]) => [e, b({
1543
+ if (Date.now() - e > ve) return Object.fromEntries(r.map(([e]) => [e, b({
1524
1544
  id: "validation.checking",
1525
1545
  fallback: "Still checking…"
1526
1546
  }, _.current)]));
1527
1547
  await new Promise((e) => setTimeout(e, 50));
1528
1548
  }
1529
- }, [ye]), xe = T(() => {
1549
+ }, [ve]), be = T(() => {
1530
1550
  let t = globalThis.document;
1531
1551
  if (t?.getElementById === void 0) return;
1532
1552
  let n = [...u.map((e) => e.name), ...Object.keys(y).filter((e) => !u.some((t) => t.name === e))];
1533
- for (let r of n) if (B(r) !== void 0) {
1534
- t.getElementById(wn(e, s, r))?.focus?.();
1553
+ for (let r of n) if (V(r) !== void 0) {
1554
+ t.getElementById(Dn(e, s, r))?.focus?.();
1535
1555
  return;
1536
1556
  }
1537
1557
  }, [
@@ -1539,20 +1559,20 @@ var Wt = 15e3, J = async (e, t, n) => {
1539
1559
  s,
1540
1560
  u,
1541
1561
  y,
1542
- B
1543
- ]), U = O(xe);
1544
- U.current = xe;
1545
- let Se = T(async () => {
1546
- w(void 0), S({}), ne(void 0), A.current = void 0;
1562
+ V
1563
+ ]), W = k(be);
1564
+ W.current = be;
1565
+ let xe = T(async () => {
1566
+ w(void 0), S({}), te(void 0), j.current = void 0;
1547
1567
  let e, t = !1;
1548
- if (await N.handleSubmit().catch((n) => {
1568
+ if (await P.handleSubmit().catch((n) => {
1549
1569
  t = !0, e = n;
1550
1570
  }), t) throw e;
1551
- return A.current === void 0 && queueMicrotask(() => {
1552
- U.current();
1553
- }), A.current;
1554
- }, [N]);
1555
- ie.current = (async (e) => {
1571
+ return j.current === void 0 && queueMicrotask(() => {
1572
+ W.current();
1573
+ }), j.current;
1574
+ }, [P]);
1575
+ re.current = (async (e) => {
1556
1576
  let t = h.current, n = e, r = n;
1557
1577
  if (t.toInput !== void 0) try {
1558
1578
  r = t.toInput(n);
@@ -1560,9 +1580,9 @@ var Wt = 15e3, J = async (e, t, n) => {
1560
1580
  w(e instanceof Error ? e.message : String(e));
1561
1581
  return;
1562
1582
  }
1563
- if (j(n).length > 0) {
1583
+ if (M(n).length > 0) {
1564
1584
  queueMicrotask(() => {
1565
- U.current();
1585
+ W.current();
1566
1586
  });
1567
1587
  return;
1568
1588
  }
@@ -1571,13 +1591,13 @@ var Wt = 15e3, J = async (e, t, n) => {
1571
1591
  let e = ee(i, r);
1572
1592
  e.dropped.length > 0 && process.env.NODE_ENV !== "production" && console.warn(`[@voltro/client] useFormBinding: dropped ${e.dropped.length} value(s) the mutation's input does not declare (${e.dropped.join(", ")}). The server refuses undeclared fields, so they are not sent. Map them with \`toInput\` if they belong in the write; ignore this if they are form-only state.`), r = e.input;
1573
1593
  }
1574
- let a = await be();
1594
+ let a = await ye();
1575
1595
  if (a !== void 0) {
1576
1596
  S((e) => ({
1577
1597
  ...e,
1578
1598
  ...a
1579
1599
  })), queueMicrotask(() => {
1580
- U.current();
1600
+ W.current();
1581
1601
  });
1582
1602
  return;
1583
1603
  }
@@ -1588,11 +1608,11 @@ var Wt = 15e3, J = async (e, t, n) => {
1588
1608
  values: n,
1589
1609
  mutate: o
1590
1610
  });
1591
- A.current = e, t.onSuccess?.(e);
1611
+ j.current = e, t.onSuccess?.(e);
1592
1612
  } catch (e) {
1593
- let t = le(e);
1613
+ let t = ce(e);
1594
1614
  if (t.length === 0) {
1595
- ne(e), h.current.onError?.(e);
1615
+ te(e), h.current.onError?.(e);
1596
1616
  return;
1597
1617
  }
1598
1618
  let n = {};
@@ -1605,151 +1625,151 @@ var Wt = 15e3, J = async (e, t, n) => {
1605
1625
  ...e,
1606
1626
  ...n
1607
1627
  })), queueMicrotask(() => {
1608
- U.current();
1628
+ W.current();
1609
1629
  });
1610
1630
  }
1611
1631
  });
1612
- let Ce = L.length === 0, we = Object.values(m.current ?? {}).some((e) => e.status === "checking"), Te = te ?? c.error, Ee = Te !== void 0 && le(Te).length > 0 ? void 0 : Te, De = Object.keys(de).length, Oe = (() => {
1613
- for (let e of u) if (de[e.name] !== void 0) return e.name;
1614
- let e = Object.keys(de);
1632
+ let Se = R.length === 0, Ce = Object.values(m.current ?? {}).some((e) => e.status === "checking"), we = E ?? c.error, Te = we !== void 0 && ce(we).length > 0 ? void 0 : we, Ee = Object.keys(ue).length, De = (() => {
1633
+ for (let e of u) if (ue[e.name] !== void 0) return e.name;
1634
+ let e = Object.keys(ue);
1615
1635
  return e.length > 0 ? e[0] : void 0;
1616
- })(), ke = {
1617
- isDirty: !ae && I.isDirty,
1618
- isPristine: I.isPristine,
1619
- isTouched: I.isTouched,
1620
- isValid: Ce,
1621
- isValidating: we,
1622
- canSubmit: Ce && !we && !I.isSubmitting && !ae,
1623
- isSubmitting: I.isSubmitting,
1624
- isSubmitted: I.isSubmitted,
1625
- isSubmitSuccessful: I.isSubmitSuccessful && A.current !== void 0,
1626
- submissionAttempts: I.submissionAttempts,
1627
- errorCount: De,
1628
- firstInvalidPath: Oe,
1636
+ })(), Oe = {
1637
+ isDirty: !ie && L.isDirty,
1638
+ isPristine: L.isPristine,
1639
+ isTouched: L.isTouched,
1640
+ isValid: Se,
1641
+ isValidating: Ce,
1642
+ canSubmit: Se && !Ce && !L.isSubmitting && !ie,
1643
+ isSubmitting: L.isSubmitting,
1644
+ isSubmitted: L.isSubmitted,
1645
+ isSubmitSuccessful: L.isSubmitSuccessful && j.current !== void 0,
1646
+ submissionAttempts: L.submissionAttempts,
1647
+ errorCount: Ee,
1648
+ firstInvalidPath: De,
1629
1649
  pending: c.pending,
1630
- isLoading: ae,
1631
- submitError: Ee,
1650
+ isLoading: ie,
1651
+ submitError: Te,
1632
1652
  data: c.data
1633
- }, Ae = {
1653
+ }, ke = {
1634
1654
  fields: u,
1635
- values: F,
1636
- errors: de,
1637
- issues: L,
1638
- isValid: Ce,
1655
+ values: I,
1656
+ errors: ue,
1657
+ issues: R,
1658
+ isValid: Se,
1639
1659
  pending: c.pending,
1640
- submitError: Ee,
1660
+ submitError: Te,
1641
1661
  formError: C,
1642
1662
  data: c.data,
1643
- setValue: H,
1644
- setValues: _e,
1645
- reset: ve,
1646
- submit: Se,
1647
- field: V,
1648
- array: he,
1649
- section: ge,
1650
- state: ke,
1651
- focusFirstInvalid: xe
1663
+ setValue: U,
1664
+ setValues: ge,
1665
+ reset: _e,
1666
+ submit: xe,
1667
+ field: H,
1668
+ array: me,
1669
+ section: he,
1670
+ state: Oe,
1671
+ focusFirstInvalid: be
1652
1672
  };
1653
- return Object.defineProperty(Ae, xn, {
1673
+ return Object.defineProperty(ke, wn, {
1654
1674
  value: {
1655
- store: M.store,
1656
- field: V
1675
+ store: N.store,
1676
+ field: H
1657
1677
  },
1658
1678
  enumerable: !1
1659
- }), Ae;
1660
- }, On = (e) => w(Sn.Provider, { value: e.binding }, e.children), kn = () => te(Sn);
1661
- function An(e, t) {
1662
- let n = te(Sn), r = typeof e == "string" ? void 0 : e, i = typeof e == "string" ? e : t, a = r ?? n;
1679
+ }), ke;
1680
+ }, jn = (e) => w(Tn.Provider, { value: e.binding }, e.children), Mn = () => E(Tn);
1681
+ function Nn(e, t) {
1682
+ let n = E(Tn), r = typeof e == "string" ? void 0 : e, i = typeof e == "string" ? e : t, a = r ?? n;
1663
1683
  if (a === void 0) throw Error("useFormField(path) found no form binding — mount <FormBindingProvider binding={form}> above this field, or call useFormField(form, path) with the binding in hand.");
1664
- let o = a[xn];
1684
+ let o = a[wn];
1665
1685
  if (o === void 0) throw Error("useFormField: not a useFormBinding result");
1666
- return pe(o.store, (e) => {
1686
+ return fe(o.store, (e) => {
1667
1687
  let t = e.fieldMetaBase[i];
1668
- return `${JSON.stringify(Cn(e.values, i))}|${t === void 0 ? "" : `${String(t.isTouched)}${String(t.isBlurred)}${JSON.stringify(t.errorMap)}`}|${e.submissionAttempts}`;
1688
+ return `${JSON.stringify(En(e.values, i))}|${t === void 0 ? "" : `${String(t.isTouched)}${String(t.isBlurred)}${JSON.stringify(t.errorMap)}`}|${e.submissionAttempts}`;
1669
1689
  }), o.field(i);
1670
1690
  }
1671
1691
  //#endregion
1672
1692
  //#region src/createHooks.ts
1673
- var jn = q, Mn = (e) => ({
1674
- useSubscription: (t, n, r) => jn(e, t, n, r),
1675
- useMutation: (t) => Z(e, t),
1676
- useAction: (t) => _n(e, t),
1677
- useFormBinding: (t, n) => Dn(e, t, n ?? {})
1678
- }), Nn = () => ({ seeds: [] }), Pn = null, Fn = (e) => {
1679
- Pn = e;
1680
- }, In = /* @__PURE__ */ new Map(), Ln = (e, t) => `${e}\u0000${t}`, Rn = (e, t, n, r) => {
1681
- let i = Pn?.() ?? null;
1693
+ var Pn = J, Fn = (e) => ({
1694
+ useSubscription: (t, n, r) => Pn(e, t, n, r),
1695
+ useMutation: (t) => Q(e, t),
1696
+ useAction: (t) => bn(e, t),
1697
+ useFormBinding: (t, n) => An(e, t, n ?? {})
1698
+ }), In = () => ({ seeds: [] }), Ln = null, Rn = (e) => {
1699
+ Ln = e;
1700
+ }, zn = /* @__PURE__ */ new Map(), Bn = (e, t) => `${e}\u0000${t}`, Vn = (e, t, n, r) => {
1701
+ let i = Ln?.() ?? null;
1682
1702
  if (i === null) throw Error(`seedPreloadedSubscription('${e}', '${t}') was called outside a server render. Preload seeds exist to put a subscription's first value into the SSR hydration payload; on the client the live subscription already provides it. (If this IS server code, the render did not install a seed bag — that is a framework bug.)`);
1683
1703
  i.seeds.push({
1684
1704
  api: e,
1685
- key: H([t, n]),
1705
+ key: U([t, n]),
1686
1706
  value: r
1687
1707
  });
1688
- }, zn = (e, t, n) => {
1689
- let r = Pn?.() ?? null;
1708
+ }, Hn = (e, t, n) => {
1709
+ let r = Ln?.() ?? null;
1690
1710
  r !== null && r.seeds.push({
1691
1711
  api: e,
1692
- key: H([t, n]),
1712
+ key: U([t, n]),
1693
1713
  value: void 0,
1694
1714
  failed: !0
1695
1715
  });
1696
- }, Bn = (e) => {
1697
- if (e !== void 0) for (let t of e) In.set(Ln(t.api, t.key), {
1716
+ }, Un = (e) => {
1717
+ if (e !== void 0) for (let t of e) zn.set(Bn(t.api, t.key), {
1698
1718
  value: t.value,
1699
1719
  failed: t.failed === !0
1700
1720
  });
1701
- }, Vn = (e, t, n) => {
1702
- let r = H([t, n]), i = Pn?.() ?? null;
1721
+ }, Wn = (e, t, n) => {
1722
+ let r = U([t, n]), i = Ln?.() ?? null;
1703
1723
  if (i !== null) {
1704
1724
  for (let t of i.seeds) if (t.api === e && t.key === r) return t.failed === !0 ? void 0 : t.value;
1705
1725
  return;
1706
1726
  }
1707
- let a = In.get(Ln(e, r));
1727
+ let a = zn.get(Bn(e, r));
1708
1728
  return a === void 0 || a.failed ? void 0 : a.value;
1709
- }, Hn = (e, t, n) => {
1710
- let r = H([t, n]), i = Pn?.() ?? null;
1729
+ }, Gn = (e, t, n) => {
1730
+ let r = U([t, n]), i = Ln?.() ?? null;
1711
1731
  if (i !== null) {
1712
1732
  for (let t of i.seeds) if (t.api === e && t.key === r) return t.failed === !0 ? "failed" : "seeded";
1713
1733
  return "absent";
1714
1734
  }
1715
- let a = In.get(Ln(e, r));
1735
+ let a = zn.get(Bn(e, r));
1716
1736
  return a === void 0 ? "absent" : a.failed ? "failed" : "seeded";
1717
- }, Un = () => {
1718
- In.clear();
1737
+ }, Kn = () => {
1738
+ zn.clear();
1719
1739
  };
1720
1740
  //#endregion
1721
1741
  //#region src/usePreloadedSubscription.ts
1722
- function Wn(e, t, n = {}, r = {}) {
1723
- let i = Vn(e, t, n), a = q(e, t, n, i === void 0 ? r : {
1742
+ function qn(e, t, n = {}, r = {}) {
1743
+ let i = Wn(e, t, n), a = J(e, t, n, i === void 0 ? r : {
1724
1744
  ...r,
1725
1745
  initialSnapshot: i
1726
1746
  });
1727
- return Hn(e, t, n) === "failed" ? {
1747
+ return Gn(e, t, n) === "failed" ? {
1728
1748
  ...a,
1729
1749
  preloadFailed: !0
1730
1750
  } : a;
1731
1751
  }
1732
1752
  //#endregion
1733
1753
  //#region src/useEvent.ts
1734
- var Gn = {
1754
+ var Jn = {
1735
1755
  status: "idle",
1736
1756
  missed: 0,
1737
1757
  lastMiss: void 0
1738
- }, Kn = class {
1758
+ }, Yn = class {
1739
1759
  _tag = "EventStreamClosed";
1740
1760
  };
1741
- function qn(e, t, n, r = {}) {
1742
- let { skip: i = !1, apiName: a = "app", onMissed: o } = r, s = G(a), { runtime: c, client: l } = s, [u, d] = k(Gn), f = O(n);
1761
+ function Xn(e, t, n, r = {}) {
1762
+ let { skip: i = !1, apiName: a = "app", onMissed: o } = r, s = K(a), { runtime: c, client: l } = s, [u, d] = A(Jn), f = k(n);
1743
1763
  f.current = n;
1744
- let p = O(o);
1764
+ let p = k(o);
1745
1765
  p.current = o;
1746
- let m = O(l);
1766
+ let m = k(l);
1747
1767
  m.current = l;
1748
- let h = O(c);
1768
+ let h = k(c);
1749
1769
  h.current = c;
1750
- let g = O(/* @__PURE__ */ new Map()), _ = t === null ? null : JSON.stringify(Object.entries(t).sort(([e], [t]) => e < t ? -1 : 1)), v = O(t);
1770
+ let g = k(/* @__PURE__ */ new Map()), _ = t === null ? null : JSON.stringify(Object.entries(t).sort(([e], [t]) => e < t ? -1 : 1)), v = k(t);
1751
1771
  v.current = t;
1752
- let y = O(null);
1772
+ let y = k(null);
1753
1773
  y.current !== _ && (y.current = _, g.current = /* @__PURE__ */ new Map());
1754
1774
  let b = T((e, t) => {
1755
1775
  e <= 0 || (d((n) => ({
@@ -1763,33 +1783,33 @@ function qn(e, t, n, r = {}) {
1763
1783
  count: e,
1764
1784
  reason: t
1765
1785
  }));
1766
- }, []), x = !i && _ !== null && !qe(s);
1767
- return E(() => {
1786
+ }, []), x = !i && _ !== null && !Xe(s);
1787
+ return D(() => {
1768
1788
  if (!x) {
1769
- d(Gn);
1789
+ d(Jn);
1770
1790
  return;
1771
1791
  }
1772
1792
  d((e) => ({
1773
1793
  ...e,
1774
1794
  status: "connecting"
1775
1795
  }));
1776
- let t = 0, n = M.sync(() => {
1796
+ let t = 0, n = N.sync(() => {
1777
1797
  let t = [...g.current].map(([e, t]) => ({
1778
1798
  origin: e,
1779
1799
  n: t
1780
1800
  }));
1781
- return K(m.current, e.name)({
1801
+ return q(m.current, e.name)({
1782
1802
  key: v.current,
1783
1803
  ...t.length > 0 ? { resume: t } : {}
1784
1804
  });
1785
- }), r = R.unwrap(n).pipe(R.tap(() => M.sync(() => {
1805
+ }), r = z.unwrap(n).pipe(z.tap(() => N.sync(() => {
1786
1806
  t = 0;
1787
- })), R.concat(R.fail(new Kn())), R.retry(L.exponential("250 millis", 2).pipe(L.either(L.spaced("30 seconds")), L.jittered, L.tapOutput(() => M.sync(() => {
1807
+ })), z.concat(z.fail(new Yn())), z.retry(R.exponential("250 millis", 2).pipe(R.either(R.spaced("30 seconds")), R.jittered, R.tapOutput(() => N.sync(() => {
1788
1808
  t += 1, d((e) => ({
1789
1809
  ...e,
1790
1810
  status: "connecting"
1791
1811
  }));
1792
- }))))), i = h.current.runFork(R.runForEach(r, (e) => M.sync(() => {
1812
+ }))))), i = h.current.runFork(z.runForEach(r, (e) => N.sync(() => {
1793
1813
  if (e._tag === "attached") {
1794
1814
  d((e) => ({
1795
1815
  ...e,
@@ -1811,11 +1831,11 @@ function qn(e, t, n, r = {}) {
1811
1831
  _,
1812
1832
  e.name,
1813
1833
  b
1814
- ]), x ? u : Gn;
1834
+ ]), x ? u : Jn;
1815
1835
  }
1816
1836
  //#endregion
1817
1837
  //#region src/sequence.ts
1818
- var Jn = () => {
1838
+ var Zn = () => {
1819
1839
  let e = (t) => ({
1820
1840
  steps: t,
1821
1841
  step: ((n, r, i) => e([...t, {
@@ -1827,7 +1847,7 @@ var Jn = () => {
1827
1847
  }]))
1828
1848
  });
1829
1849
  return e([]);
1830
- }, Yn = async (e, t = {}) => {
1850
+ }, Qn = async (e, t = {}) => {
1831
1851
  let n = {}, r = [];
1832
1852
  for (let i of e.steps) {
1833
1853
  if (i.when !== void 0 && !i.when(n)) {
@@ -1887,13 +1907,13 @@ var Jn = () => {
1887
1907
  ok: !0,
1888
1908
  data: n
1889
1909
  };
1890
- }, Xn = (e = {}) => {
1891
- let [t, n] = k(!1), [r, i] = k(void 0), [a, o] = k(void 0), s = O(e);
1910
+ }, $n = (e = {}) => {
1911
+ let [t, n] = A(!1), [r, i] = A(void 0), [a, o] = A(void 0), s = k(e);
1892
1912
  return s.current = e, {
1893
1913
  run: T(async (e, t = {}) => {
1894
1914
  n(!0), i(void 0), o(void 0);
1895
1915
  try {
1896
- let n = await Yn(e, {
1916
+ let n = await Qn(e, {
1897
1917
  ...s.current,
1898
1918
  ...t
1899
1919
  });
@@ -1906,7 +1926,7 @@ var Jn = () => {
1906
1926
  error: r,
1907
1927
  failedStep: a
1908
1928
  };
1909
- }, Zn = "@voltro/plugin-storage", Q = (e) => ue(Zn, e), Qn = (e, t, n, r) => new Promise((i, a) => {
1929
+ }, er = "@voltro/plugin-storage", $ = (e) => le(er, e), tr = (e, t, n, r) => new Promise((i, a) => {
1910
1930
  let o = new XMLHttpRequest();
1911
1931
  if (o.open("PUT", e), o.upload.onprogress = (e) => {
1912
1932
  e.lengthComputable && n(e.loaded / e.total);
@@ -1920,7 +1940,7 @@ var Jn = () => {
1920
1940
  return;
1921
1941
  }
1922
1942
  r.addEventListener("abort", () => o.abort(), { once: !0 }), o.send(t);
1923
- }), $n = (e, t, n, r, i, a) => new Promise((o, s) => {
1943
+ }), nr = (e, t, n, r, i, a) => new Promise((o, s) => {
1924
1944
  let c = new XMLHttpRequest();
1925
1945
  if (c.open("POST", e), c.setRequestHeader("content-type", t), c.upload.onprogress = (e) => {
1926
1946
  e.lengthComputable && r(e.loaded / e.total);
@@ -1938,7 +1958,7 @@ var Jn = () => {
1938
1958
  return;
1939
1959
  }
1940
1960
  i.addEventListener("abort", () => c.abort(), { once: !0 }), c.send(n);
1941
- }), er = (e, t, n, r, i) => new Promise((a, o) => {
1961
+ }), rr = (e, t, n, r, i) => new Promise((a, o) => {
1942
1962
  let s = new XMLHttpRequest();
1943
1963
  if (s.open("PUT", e), s.setRequestHeader("content-type", t), s.upload.onprogress = (e) => {
1944
1964
  e.lengthComputable && r(e.loaded / e.total);
@@ -1949,7 +1969,7 @@ var Jn = () => {
1949
1969
  return;
1950
1970
  }
1951
1971
  i.addEventListener("abort", () => s.abort(), { once: !0 }), s.send(n);
1952
- }), tr = (e, t, n, r, i) => new Promise((a, o) => {
1972
+ }), ir = (e, t, n, r, i) => new Promise((a, o) => {
1953
1973
  let s = new XMLHttpRequest();
1954
1974
  if (s.open("POST", e), s.setRequestHeader("content-type", t), s.upload.onprogress = (e) => {
1955
1975
  e.lengthComputable && r(e.loaded / e.total);
@@ -1965,15 +1985,15 @@ var Jn = () => {
1965
1985
  return;
1966
1986
  }
1967
1987
  i.addEventListener("abort", () => s.abort(), { once: !0 }), s.send(n);
1968
- }), nr = (e, t = {}) => {
1969
- let n = G(e), { inspectBaseUrl: r, errorBus: i } = n, a = O(n);
1988
+ }), ar = (e, t = {}) => {
1989
+ let n = K(e), { inspectBaseUrl: r, errorBus: i } = n, a = k(n);
1970
1990
  a.current = n;
1971
- let [o, s] = k(0), [c, l] = k("idle"), [u, d] = k(void 0), f = O(null), p = T(() => {
1991
+ let [o, s] = A(0), [c, l] = A("idle"), [u, d] = A(void 0), f = k(null), p = T(() => {
1972
1992
  s(0), l("idle"), d(void 0);
1973
1993
  }, []), m = T(() => {
1974
1994
  f.current?.abort();
1975
1995
  }, []), h = T((e) => /^https?:\/\//.test(e) ? e : `${r}${e}`, [r]), g = T(async (n, r, i, o) => {
1976
- let { runtime: s, client: c } = await J(a, e, "storage.upload"), l = Math.max(0, r.retries ?? t.retries ?? 1), u = (n instanceof File, n.type || "application/octet-stream"), d = n instanceof File ? n.name : "blob", f = r.visibility ?? t.visibility, p = r.key ?? t.key, m = r.folder ?? t.folder, g = r.tags ?? t.tags, _ = {
1996
+ let { runtime: s, client: c } = await Y(a, e, "storage.upload"), l = Math.max(0, r.retries ?? t.retries ?? 1), u = (n instanceof File, n.type || "application/octet-stream"), d = n instanceof File ? n.name : "blob", f = r.visibility ?? t.visibility, p = r.key ?? t.key, m = r.folder ?? t.folder, g = r.tags ?? t.tags, _ = {
1977
1997
  ...f ? { visibility: f } : {},
1978
1998
  ...m ? { folder: m } : {},
1979
1999
  ...g ? { tags: g } : {},
@@ -1988,28 +2008,28 @@ var Jn = () => {
1988
2008
  ...e.width === void 0 ? {} : { width: e.width },
1989
2009
  ...e.height === void 0 ? {} : { height: e.height }
1990
2010
  }), y = async () => {
1991
- let e = r.mintTag ?? t.mintTag ?? Q("mintUploadTicket"), a = K(c, e), l = await Y(s, a({
2011
+ let e = r.mintTag ?? t.mintTag ?? $("mintUploadTicket"), a = q(c, e), l = await X(s, a({
1992
2012
  contentType: u,
1993
2013
  ..._,
1994
2014
  ...p ? { key: p } : {}
1995
- })), d = await tr(h(l.uploadUrl), u, n, o, i);
2015
+ })), d = await ir(h(l.uploadUrl), u, n, o, i);
1996
2016
  return v(d);
1997
2017
  }, b = async () => {
1998
- let e = r.presignMintTag ?? t.presignMintTag ?? Q("mintPresignedUpload"), a = r.finalizeTag ?? t.finalizeTag ?? Q("finalizeUpload"), l;
2018
+ let e = r.presignMintTag ?? t.presignMintTag ?? $("mintPresignedUpload"), a = r.finalizeTag ?? t.finalizeTag ?? $("finalizeUpload"), l;
1999
2019
  try {
2000
- let t = K(c, e);
2001
- l = await Y(s, t({
2020
+ let t = q(c, e);
2021
+ l = await X(s, t({
2002
2022
  contentType: u,
2003
2023
  ..._
2004
2024
  }));
2005
2025
  } catch {
2006
2026
  return null;
2007
2027
  }
2008
- await er(l.uploadUrl, u, n, o, i);
2009
- let d = K(c, a), f = await Y(s, d({ finalizeToken: l.finalizeToken }));
2028
+ await rr(l.uploadUrl, u, n, o, i);
2029
+ let d = q(c, a), f = await X(s, d({ finalizeToken: l.finalizeToken }));
2010
2030
  return v(f);
2011
2031
  }, x = async () => {
2012
- let e = r.beginResumableTag ?? t.beginResumableTag ?? Q("beginResumableUpload"), a = K(c, e), l = n.size, d = r.chunkSize ?? t.chunkSize, f = await Y(s, a({
2032
+ let e = r.beginResumableTag ?? t.beginResumableTag ?? $("beginResumableUpload"), a = q(c, e), l = n.size, d = r.chunkSize ?? t.chunkSize, f = await X(s, a({
2013
2033
  contentType: u,
2014
2034
  size: l,
2015
2035
  ..._,
@@ -2020,7 +2040,7 @@ var Jn = () => {
2020
2040
  for (;;) {
2021
2041
  if (i.aborted) throw new DOMException("upload aborted", "AbortError");
2022
2042
  try {
2023
- let t = await $n(`${p}?${`token=${encodeURIComponent(f.resumableToken)}&index=${e}${s ? "&final=1" : ""}`}`, u, a, (e) => o((b + e * c) / l), i, s);
2043
+ let t = await nr(`${p}?${`token=${encodeURIComponent(f.resumableToken)}&index=${e}${s ? "&final=1" : ""}`}`, u, a, (e) => o((b + e * c) / l), i, s);
2024
2044
  s && (x = t);
2025
2045
  break;
2026
2046
  } catch (e) {
@@ -2032,10 +2052,10 @@ var Jn = () => {
2032
2052
  if (!x) throw Error("resumable upload produced no final reply");
2033
2053
  return v(x);
2034
2054
  }, S = async () => {
2035
- let e = r.multipartBeginTag ?? t.multipartBeginTag ?? Q("beginMultipartUpload"), a = r.multipartSignTag ?? t.multipartSignTag ?? Q("signMultipartPart"), l = r.multipartCompleteTag ?? t.multipartCompleteTag ?? Q("completeMultipartUpload"), f = r.multipartAbortTag ?? t.multipartAbortTag ?? Q("abortMultipartUpload"), p = n.size, m = r.chunkSize ?? t.chunkSize, g;
2055
+ let e = r.multipartBeginTag ?? t.multipartBeginTag ?? $("beginMultipartUpload"), a = r.multipartSignTag ?? t.multipartSignTag ?? $("signMultipartPart"), l = r.multipartCompleteTag ?? t.multipartCompleteTag ?? $("completeMultipartUpload"), f = r.multipartAbortTag ?? t.multipartAbortTag ?? $("abortMultipartUpload"), p = n.size, m = r.chunkSize ?? t.chunkSize, g;
2036
2056
  try {
2037
- let t = K(c, e);
2038
- g = await Y(s, t({
2057
+ let t = q(c, e);
2058
+ g = await X(s, t({
2039
2059
  contentType: u,
2040
2060
  size: p,
2041
2061
  ..._,
@@ -2044,17 +2064,17 @@ var Jn = () => {
2044
2064
  } catch {
2045
2065
  return null;
2046
2066
  }
2047
- let v = K(c, a), y = K(c, l), b = K(c, f), x = Math.max(1, g.partSize), S = Math.max(1, Math.ceil(p / x)), ee = Math.max(0, r.retries ?? t.retries ?? 1), C = [], w = 0;
2067
+ let v = q(c, a), y = q(c, l), b = q(c, f), x = Math.max(1, g.partSize), S = Math.max(1, Math.ceil(p / x)), ee = Math.max(0, r.retries ?? t.retries ?? 1), C = [], w = 0;
2048
2068
  try {
2049
2069
  for (let e = 0; e < S; e++) {
2050
2070
  let t = e * x, r = Math.min(p, t + x), a = n.slice(t, r), c = e + 1, l = r - t, u = 0;
2051
2071
  for (;;) {
2052
2072
  if (i.aborted) throw new DOMException("upload aborted", "AbortError");
2053
2073
  try {
2054
- let { url: e } = await Y(s, v({
2074
+ let { url: e } = await X(s, v({
2055
2075
  multipartToken: g.multipartToken,
2056
2076
  partNumber: c
2057
- })), t = await Qn(e, a, (e) => o((w + e * l) / p), i);
2077
+ })), t = await tr(e, a, (e) => o((w + e * l) / p), i);
2058
2078
  C.push({
2059
2079
  partNumber: c,
2060
2080
  etag: t
@@ -2066,7 +2086,7 @@ var Jn = () => {
2066
2086
  }
2067
2087
  w += l, o(w / p);
2068
2088
  }
2069
- let e = await Y(s, y({
2089
+ let e = await X(s, y({
2070
2090
  multipartToken: g.multipartToken,
2071
2091
  parts: C
2072
2092
  }));
@@ -2079,7 +2099,7 @@ var Jn = () => {
2079
2099
  };
2080
2100
  } catch (e) {
2081
2101
  try {
2082
- await Y(s, b({ multipartToken: g.multipartToken }));
2102
+ await X(s, b({ multipartToken: g.multipartToken }));
2083
2103
  } catch {}
2084
2104
  throw e;
2085
2105
  }
@@ -2127,7 +2147,7 @@ var Jn = () => {
2127
2147
  } catch (e) {
2128
2148
  throw l("error"), d(e), e instanceof DOMException && e.name === "AbortError" || i.emit({
2129
2149
  source: "action",
2130
- tag: n.mintTag ?? t.mintTag ?? Q("mintUploadTicket"),
2150
+ tag: n.mintTag ?? t.mintTag ?? $("mintUploadTicket"),
2131
2151
  error: e
2132
2152
  }), e;
2133
2153
  }
@@ -2153,7 +2173,7 @@ var Jn = () => {
2153
2173
  } catch (e) {
2154
2174
  throw r.abort(), l("error"), d(e), e instanceof DOMException && e.name === "AbortError" || i.emit({
2155
2175
  source: "action",
2156
- tag: n.mintTag ?? t.mintTag ?? Q("mintUploadTicket"),
2176
+ tag: n.mintTag ?? t.mintTag ?? $("mintUploadTicket"),
2157
2177
  error: e
2158
2178
  }), e;
2159
2179
  }
@@ -2169,13 +2189,13 @@ var Jn = () => {
2169
2189
  }, [v]), b = T((e, t = {}) => {
2170
2190
  let n = e.clipboardData ? Array.from(e.clipboardData.files) : [];
2171
2191
  return n.length ? v(n, t) : Promise.resolve([]);
2172
- }, [v]), x = D(() => ({
2192
+ }, [v]), x = O(() => ({
2173
2193
  onDragOver: (e) => e.preventDefault(),
2174
2194
  onDrop: (e) => {
2175
2195
  y(e);
2176
2196
  }
2177
2197
  }), [y]);
2178
- return D(() => ({
2198
+ return O(() => ({
2179
2199
  upload: _,
2180
2200
  uploadMany: v,
2181
2201
  progress: o,
@@ -2198,29 +2218,73 @@ var Jn = () => {
2198
2218
  b,
2199
2219
  x
2200
2220
  ]);
2201
- }, $ = async (e) => {
2202
- let t = K(e.client, e.tag), n = M.currentSpan.pipe(M.tap((t) => M.sync(() => {
2203
- he({
2221
+ }, or = (e, t) => {
2222
+ let n = ar(e), r = bn(e, t.action), [i, a] = A("idle"), [o, s] = A(void 0), [c, l] = A(void 0), u = k(t.extra);
2223
+ u.current = t.extra;
2224
+ let d = T(async (e) => {
2225
+ l(void 0), s(void 0), a("uploading");
2226
+ let t;
2227
+ try {
2228
+ t = await n.upload(e);
2229
+ } catch (e) {
2230
+ throw a("error"), l(e), e;
2231
+ }
2232
+ a("transcribing");
2233
+ try {
2234
+ let e = await r.run({
2235
+ storageRef: t.id,
2236
+ ...u.current ?? {}
2237
+ });
2238
+ return s(e), a("done"), e;
2239
+ } catch (e) {
2240
+ throw a("error"), l(e), e;
2241
+ }
2242
+ }, [n, r]), f = T(() => {
2243
+ n.cancel(), a("idle");
2244
+ }, [n]), p = T(() => {
2245
+ n.reset(), a("idle"), s(void 0), l(void 0);
2246
+ }, [n]);
2247
+ return O(() => ({
2248
+ phase: i,
2249
+ progress: i === "uploading" ? n.progress : void 0,
2250
+ result: o,
2251
+ error: c ?? n.error,
2252
+ transcribe: d,
2253
+ cancel: f,
2254
+ reset: p
2255
+ }), [
2256
+ i,
2257
+ n.progress,
2258
+ n.error,
2259
+ o,
2260
+ c,
2261
+ d,
2262
+ f,
2263
+ p
2264
+ ]);
2265
+ }, sr = async (e) => {
2266
+ let t = q(e.client, e.tag), n = N.currentSpan.pipe(N.tap((t) => N.sync(() => {
2267
+ me({
2204
2268
  traceId: t.traceId,
2205
2269
  spanId: t.spanId,
2206
2270
  source: "mutation",
2207
2271
  tag: e.tag
2208
2272
  });
2209
- })), M.catchAll(() => M.void), M.zipRight(t(e.input)), M.withSpan(`${e.spanPrefix}.${e.tag}`, { attributes: {
2273
+ })), N.catchAll(() => N.void), N.zipRight(t(e.input)), N.withSpan(`${e.spanPrefix}.${e.tag}`, { attributes: {
2210
2274
  "voltro.api": e.apiName,
2211
2275
  "rpc.tag": e.tag
2212
2276
  } }));
2213
- return Y(e.runtime, n);
2214
- }, rr = (e, t) => {
2215
- let n = G(e), { descriptors: r } = n, i = O(n);
2277
+ return X(e.runtime, n);
2278
+ }, cr = (e, t) => {
2279
+ let n = K(e), { descriptors: r } = n, i = k(n);
2216
2280
  if (i.current = n, process.env.NODE_ENV !== "production") {
2217
2281
  let n = r[t]?.kind;
2218
2282
  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.`);
2219
2283
  }
2220
- let [a, o] = k(!1), [s, c] = k(void 0), [l, u] = k(void 0), d = T(async (n) => {
2284
+ let [a, o] = A(!1), [s, c] = A(void 0), [l, u] = A(void 0), d = T(async (n) => {
2221
2285
  o(!0), c(void 0);
2222
2286
  try {
2223
- let { runtime: r, client: a } = await J(i, e, t), o = await $({
2287
+ let { runtime: r, client: a } = await Y(i, e, t), o = await sr({
2224
2288
  apiName: e,
2225
2289
  runtime: r,
2226
2290
  client: a,
@@ -2235,8 +2299,8 @@ var Jn = () => {
2235
2299
  o(!1);
2236
2300
  }
2237
2301
  }, [e, t]), f = T(async (t) => {
2238
- let { runtime: n, client: r } = await J(i, e, "__voltro.workflow.cancel");
2239
- await $({
2302
+ let { runtime: n, client: r } = await Y(i, e, "__voltro.workflow.cancel");
2303
+ await sr({
2240
2304
  apiName: e,
2241
2305
  runtime: n,
2242
2306
  client: r,
@@ -2245,8 +2309,8 @@ var Jn = () => {
2245
2309
  spanPrefix: "client.workflow.cancel"
2246
2310
  });
2247
2311
  }, [e]), p = T(async (t) => {
2248
- let { runtime: n, client: r } = await J(i, e, "__voltro.workflow.resume");
2249
- await $({
2312
+ let { runtime: n, client: r } = await Y(i, e, "__voltro.workflow.resume");
2313
+ await sr({
2250
2314
  apiName: e,
2251
2315
  runtime: n,
2252
2316
  client: r,
@@ -2255,8 +2319,8 @@ var Jn = () => {
2255
2319
  spanPrefix: "client.workflow.resume"
2256
2320
  });
2257
2321
  }, [e]), m = T(async (t, n, r) => {
2258
- let { runtime: a, client: o } = await J(i, e, "__voltro.workflow.signal");
2259
- return $({
2322
+ let { runtime: a, client: o } = await Y(i, e, "__voltro.workflow.signal");
2323
+ return sr({
2260
2324
  apiName: e,
2261
2325
  runtime: a,
2262
2326
  client: o,
@@ -2269,8 +2333,8 @@ var Jn = () => {
2269
2333
  spanPrefix: "client.workflow.signal"
2270
2334
  });
2271
2335
  }, [e]), h = T(async (t, n, r, a) => {
2272
- let { runtime: o, client: s } = await J(i, e, "__voltro.workflow.update");
2273
- return $({
2336
+ let { runtime: o, client: s } = await Y(i, e, "__voltro.workflow.update");
2337
+ return sr({
2274
2338
  apiName: e,
2275
2339
  runtime: o,
2276
2340
  client: s,
@@ -2284,7 +2348,7 @@ var Jn = () => {
2284
2348
  spanPrefix: "client.workflow.update"
2285
2349
  });
2286
2350
  }, [e]);
2287
- return D(() => ({
2351
+ return O(() => ({
2288
2352
  start: d,
2289
2353
  cancel: f,
2290
2354
  resume: p,
@@ -2303,13 +2367,13 @@ var Jn = () => {
2303
2367
  s,
2304
2368
  l
2305
2369
  ]);
2306
- }, ir = (e) => {
2307
- let t = G(e), n = O(t);
2370
+ }, lr = (e) => {
2371
+ let t = K(e), n = k(t);
2308
2372
  n.current = t;
2309
- let [r, i] = k(!1), [a, o] = k(void 0), [s, c] = k(void 0), l = T(async (t, r, a) => {
2373
+ let [r, i] = A(!1), [a, o] = A(void 0), [s, c] = A(void 0), l = T(async (t, r, a) => {
2310
2374
  i(!0), o(void 0);
2311
2375
  try {
2312
- let { runtime: i, client: o } = await J(n, e, "__voltro.workflow.signal"), s = await $({
2376
+ let { runtime: i, client: o } = await Y(n, e, "__voltro.workflow.signal"), s = await sr({
2313
2377
  apiName: e,
2314
2378
  runtime: i,
2315
2379
  client: o,
@@ -2328,7 +2392,7 @@ var Jn = () => {
2328
2392
  i(!1);
2329
2393
  }
2330
2394
  }, [e]);
2331
- return D(() => ({
2395
+ return O(() => ({
2332
2396
  signal: l,
2333
2397
  pending: r,
2334
2398
  error: a,
@@ -2339,13 +2403,13 @@ var Jn = () => {
2339
2403
  a,
2340
2404
  s
2341
2405
  ]);
2342
- }, ar = (e) => {
2343
- let t = G(e), n = O(t);
2406
+ }, ur = (e) => {
2407
+ let t = K(e), n = k(t);
2344
2408
  n.current = t;
2345
- let [r, i] = k(!1), [a, o] = k(void 0), [s, c] = k(void 0), l = T(async (t, r, a, s) => {
2409
+ let [r, i] = A(!1), [a, o] = A(void 0), [s, c] = A(void 0), l = T(async (t, r, a, s) => {
2346
2410
  i(!0), o(void 0);
2347
2411
  try {
2348
- let { runtime: i, client: o } = await J(n, e, "__voltro.workflow.update"), l = await $({
2412
+ let { runtime: i, client: o } = await Y(n, e, "__voltro.workflow.update"), l = await sr({
2349
2413
  apiName: e,
2350
2414
  runtime: i,
2351
2415
  client: o,
@@ -2365,7 +2429,7 @@ var Jn = () => {
2365
2429
  i(!1);
2366
2430
  }
2367
2431
  }, [e]);
2368
- return D(() => ({
2432
+ return O(() => ({
2369
2433
  update: l,
2370
2434
  pending: r,
2371
2435
  error: a,
@@ -2376,8 +2440,8 @@ var Jn = () => {
2376
2440
  a,
2377
2441
  s
2378
2442
  ]);
2379
- }, or = (e, t) => {
2380
- let n = q(e, "__voltro.workflow.run", t ? { id: t } : {}, { skip: t === void 0 });
2443
+ }, dr = (e, t) => {
2444
+ let n = J(e, "__voltro.workflow.run", t ? { id: t } : {}, { skip: t === void 0 });
2381
2445
  return n.loading || n.idle || n.failed ? {
2382
2446
  ...n,
2383
2447
  run: void 0
@@ -2385,8 +2449,8 @@ var Jn = () => {
2385
2449
  ...n,
2386
2450
  run: n.data[0]
2387
2451
  };
2388
- }, sr = (e, t = {}, n = {}) => {
2389
- let r = q(e, "__voltro.workflow.runs", t, n);
2452
+ }, fr = (e, t = {}, n = {}) => {
2453
+ let r = J(e, "__voltro.workflow.runs", t, n);
2390
2454
  return r.loading || r.idle || r.failed ? {
2391
2455
  ...r,
2392
2456
  runs: []
@@ -2394,8 +2458,8 @@ var Jn = () => {
2394
2458
  ...r,
2395
2459
  runs: r.data
2396
2460
  };
2397
- }, cr = (e, t) => {
2398
- let n = q(e, "__voltro.workflow.run.steps", t ? { runId: t } : {}, { skip: t === void 0 });
2461
+ }, pr = (e, t) => {
2462
+ let n = J(e, "__voltro.workflow.run.steps", t ? { runId: t } : {}, { skip: t === void 0 });
2399
2463
  return n.loading || n.idle || n.failed ? {
2400
2464
  ...n,
2401
2465
  steps: []
@@ -2403,8 +2467,8 @@ var Jn = () => {
2403
2467
  ...n,
2404
2468
  steps: n.data
2405
2469
  };
2406
- }, lr = (e, t) => {
2407
- let n = q(e, "__voltro.workflow.run.events", t ? { runId: t } : {}, { skip: t === void 0 });
2470
+ }, mr = (e, t) => {
2471
+ let n = J(e, "__voltro.workflow.run.events", t ? { runId: t } : {}, { skip: t === void 0 });
2408
2472
  return n.loading || n.idle || n.failed ? {
2409
2473
  ...n,
2410
2474
  events: []
@@ -2412,8 +2476,8 @@ var Jn = () => {
2412
2476
  ...n,
2413
2477
  events: n.data
2414
2478
  };
2415
- }, ur = lr, dr = (e, t = {}, n = {}) => {
2416
- let r = q(e, "__voltro.workflow.domainEvents", t, n);
2479
+ }, hr = mr, gr = (e, t = {}, n = {}) => {
2480
+ let r = J(e, "__voltro.workflow.domainEvents", t, n);
2417
2481
  return r.loading || r.idle || r.failed ? {
2418
2482
  ...r,
2419
2483
  events: []
@@ -2421,8 +2485,8 @@ var Jn = () => {
2421
2485
  ...r,
2422
2486
  events: r.data
2423
2487
  };
2424
- }, fr = (e, t) => {
2425
- let n = q(e, "__voltro.workflow.event.deliveries", t ? { eventId: t } : {}, { skip: t === void 0 });
2488
+ }, _r = (e, t) => {
2489
+ let n = J(e, "__voltro.workflow.event.deliveries", t ? { eventId: t } : {}, { skip: t === void 0 });
2426
2490
  return n.loading || n.idle || n.failed ? {
2427
2491
  ...n,
2428
2492
  deliveries: []
@@ -2430,42 +2494,42 @@ var Jn = () => {
2430
2494
  ...n,
2431
2495
  deliveries: n.data
2432
2496
  };
2433
- }, pr = (e, t) => {
2497
+ }, vr = (e, t) => {
2434
2498
  let n = e.payload;
2435
2499
  if (!n || typeof n != "object") return;
2436
2500
  let r = n[t];
2437
2501
  return typeof r == "string" ? r : void 0;
2438
- }, mr = (e) => {
2502
+ }, yr = (e) => {
2439
2503
  let t = e.payload;
2440
2504
  if (!t || typeof t != "object") return;
2441
2505
  let n = t.updateId;
2442
2506
  return typeof n == "string" ? n : void 0;
2443
- }, hr = (e) => {
2507
+ }, br = (e) => {
2444
2508
  let t = /* @__PURE__ */ new Set(), n = /* @__PURE__ */ new Set();
2445
2509
  for (let r of e) if (r.eventType === "signal-received") {
2446
- let e = pr(r, "signalName");
2510
+ let e = vr(r, "signalName");
2447
2511
  e && t.add(e);
2448
2512
  } else if (r.eventType === "update-completed" || r.eventType === "update-failed") {
2449
- let e = mr(r);
2513
+ let e = yr(r);
2450
2514
  e && n.add(e);
2451
2515
  }
2452
2516
  for (let r = e.length - 1; r >= 0; --r) {
2453
2517
  let i = e[r];
2454
2518
  if (i.eventType === "signal-awaited") {
2455
- let e = pr(i, "signalName");
2519
+ let e = vr(i, "signalName");
2456
2520
  if (e && !t.has(e)) return {
2457
2521
  name: e,
2458
2522
  kind: "signal"
2459
2523
  };
2460
2524
  } else if (i.eventType === "update-requested") {
2461
- let e = mr(i), t = pr(i, "updateName");
2525
+ let e = yr(i), t = vr(i, "updateName");
2462
2526
  if (t && (!e || !n.has(e))) return {
2463
2527
  name: t,
2464
2528
  kind: "update"
2465
2529
  };
2466
2530
  }
2467
2531
  }
2468
- }, gr = (e) => e.find((e) => e.status === "running") || (e.length > 0 ? e[e.length - 1] : void 0), _r = (e, t) => {
2532
+ }, xr = (e) => e.find((e) => e.status === "running") || (e.length > 0 ? e[e.length - 1] : void 0), Sr = (e, t) => {
2469
2533
  if (!e || e.status !== "failed") return;
2470
2534
  let n = t.find((e) => e.status === "failed");
2471
2535
  return {
@@ -2473,8 +2537,8 @@ var Jn = () => {
2473
2537
  message: e.errorMessage,
2474
2538
  step: n?.stepName
2475
2539
  };
2476
- }, vr = (e, t) => {
2477
- let n = or(e, t), r = cr(e, t), i = lr(e, t), a = rr(e, n.run?.tag ?? ""), o = n.run, s = r.steps, c = i.events, l = T(async () => {
2540
+ }, Cr = (e, t) => {
2541
+ let n = dr(e, t), r = pr(e, t), i = mr(e, t), a = cr(e, n.run?.tag ?? ""), o = n.run, s = r.steps, c = i.events, l = T(async () => {
2478
2542
  if (!o) throw Error("useWorkflowRunState: no run loaded — cannot cancel");
2479
2543
  await a.cancel({
2480
2544
  workflowName: o.tag,
@@ -2493,14 +2557,14 @@ var Jn = () => {
2493
2557
  if (t === void 0) throw Error("useWorkflowRunState: no run id — cannot update");
2494
2558
  return a.update({ id: t }, e, n, r);
2495
2559
  }, [a, t]);
2496
- return D(() => ({
2560
+ return O(() => ({
2497
2561
  run: o,
2498
2562
  status: o?.status,
2499
2563
  steps: s,
2500
2564
  events: c,
2501
- currentStep: gr(s),
2502
- waitingFor: o?.status === "suspended" ? hr(c) : void 0,
2503
- error: _r(o, s),
2565
+ currentStep: xr(s),
2566
+ waitingFor: o?.status === "suspended" ? br(c) : void 0,
2567
+ error: Sr(o, s),
2504
2568
  traceId: o?.traceId,
2505
2569
  loading: n.data === void 0,
2506
2570
  cancel: l,
@@ -2517,10 +2581,10 @@ var Jn = () => {
2517
2581
  d,
2518
2582
  f
2519
2583
  ]);
2520
- }, yr = (e, t) => {
2521
- let { runtime: n, client: r } = G(e), [i, a] = k([]), [o, s] = k("idle"), [c, l] = k(void 0), u = O(null), d = T(() => {
2584
+ }, wr = (e, t) => {
2585
+ let { runtime: n, client: r } = K(e), [i, a] = A([]), [o, s] = A("idle"), [c, l] = A(void 0), u = k(null), d = T(() => {
2522
2586
  let e = u.current;
2523
- e && (u.current = null, n.runFork(P.interrupt(e)), s((e) => e === "streaming" ? "idle" : e));
2587
+ e && (u.current = null, n.runFork(F.interrupt(e)), s((e) => e === "streaming" ? "idle" : e));
2524
2588
  }, [n]);
2525
2589
  return {
2526
2590
  events: i,
@@ -2528,13 +2592,13 @@ var Jn = () => {
2528
2592
  error: c,
2529
2593
  start: T((e = {}) => {
2530
2594
  let i = u.current;
2531
- i && n.runFork(P.interrupt(i)), a([]), l(void 0), s("streaming");
2532
- let o = K(r, t)(e), c = R.runForEach(o, (e) => M.sync(() => a((t) => [...t, e]))).pipe(M.matchCause({
2595
+ i && n.runFork(F.interrupt(i)), a([]), l(void 0), s("streaming");
2596
+ let o = q(r, t)(e), c = z.runForEach(o, (e) => N.sync(() => a((t) => [...t, e]))).pipe(N.matchCause({
2533
2597
  onSuccess: () => {
2534
2598
  s("done");
2535
2599
  },
2536
2600
  onFailure: (e) => {
2537
- j.isInterruptedOnly(e) || (l(j.squash(e)), s("error"));
2601
+ M.isInterruptedOnly(e) || (l(M.squash(e)), s("error"));
2538
2602
  }
2539
2603
  }));
2540
2604
  u.current = n.runFork(c);
@@ -2545,8 +2609,8 @@ var Jn = () => {
2545
2609
  ]),
2546
2610
  cancel: d
2547
2611
  };
2548
- }, br = (e, t, n, r) => {
2549
- let i = 0, a = !1, o = (e) => M.sync(() => {
2612
+ }, Tr = (e, t, n, r) => {
2613
+ let i = 0, a = !1, o = (e) => N.sync(() => {
2550
2614
  e.seq <= i || (i = e.seq, n.onEvent(e.event), r.isTerminal(e.event) && (a = !0));
2551
2615
  }), s = (e) => {
2552
2616
  if (typeof e != "object" || !e) return;
@@ -2554,36 +2618,36 @@ var Jn = () => {
2554
2618
  if (typeof t == "string" || typeof n == "string") return `${typeof t == "string" ? t : ""}::${typeof n == "string" ? n : ""}`;
2555
2619
  }, c, l = (e, t, a) => {
2556
2620
  let o = i > t, l = o ? 0 : e + 1, d = a === void 0 ? void 0 : s(a), f = d !== void 0 && d === c && !o;
2557
- if (c = o ? void 0 : d, f || l > r.maxReconnects) return M.sync(() => {
2621
+ if (c = o ? void 0 : d, f || l > r.maxReconnects) return N.sync(() => {
2558
2622
  n.onError(a ?? /* @__PURE__ */ Error("stream connection lost")), n.onStatus("error");
2559
2623
  });
2560
2624
  let p = Math.min(r.maxBackoffMs, r.backoffMs * 2 ** Math.max(0, l - 1));
2561
- return M.sync(() => {
2625
+ return N.sync(() => {
2562
2626
  n.onStatus("reconnecting"), n.onReconnect();
2563
- }).pipe(M.zipRight(M.sleep(ie.millis(p))), M.zipRight(M.sync(() => n.onStatus("streaming"))), M.zipRight(u(l)));
2564
- }, u = (r) => M.suspend(() => {
2627
+ }).pipe(N.zipRight(N.sleep(re.millis(p))), N.zipRight(N.sync(() => n.onStatus("streaming"))), N.zipRight(u(l)));
2628
+ }, u = (r) => N.suspend(() => {
2565
2629
  let s = i, c = e({
2566
2630
  ...t,
2567
2631
  fromSeq: s
2568
2632
  });
2569
- return R.runForEach(c, o).pipe(M.matchCauseEffect({
2570
- onSuccess: () => a ? M.sync(() => n.onStatus("done")) : l(r, s, void 0),
2571
- onFailure: (e) => j.isInterruptedOnly(e) ? M.void : a ? M.sync(() => n.onStatus("done")) : l(r, s, j.squash(e))
2633
+ return z.runForEach(c, o).pipe(N.matchCauseEffect({
2634
+ onSuccess: () => a ? N.sync(() => n.onStatus("done")) : l(r, s, void 0),
2635
+ onFailure: (e) => M.isInterruptedOnly(e) ? N.void : a ? N.sync(() => n.onStatus("done")) : l(r, s, M.squash(e))
2572
2636
  }));
2573
2637
  });
2574
2638
  return u(0);
2575
- }, xr = (e) => {
2639
+ }, Er = (e) => {
2576
2640
  let t = e?._tag;
2577
2641
  return t === "done" || t === "error";
2578
- }, Sr = (e, t, n = {}) => {
2579
- let { runtime: r, client: i } = G(e), [a, o] = k([]), [s, c] = k("idle"), [l, u] = k(0), [d, f] = k(void 0), p = O(null), m = {
2642
+ }, Dr = (e, t, n = {}) => {
2643
+ let { runtime: r, client: i } = K(e), [a, o] = A([]), [s, c] = A("idle"), [l, u] = A(0), [d, f] = A(void 0), p = k(null), m = {
2580
2644
  maxReconnects: n.maxReconnects ?? 6,
2581
2645
  backoffMs: n.backoffMs ?? 400,
2582
2646
  maxBackoffMs: n.maxBackoffMs ?? 8e3,
2583
- isTerminal: n.isTerminal ?? xr
2647
+ isTerminal: n.isTerminal ?? Er
2584
2648
  }, h = T(() => {
2585
2649
  let e = p.current;
2586
- e && (p.current = null, r.runFork(P.interrupt(e)), c((e) => e === "streaming" || e === "reconnecting" ? "idle" : e));
2650
+ e && (p.current = null, r.runFork(F.interrupt(e)), c((e) => e === "streaming" || e === "reconnecting" ? "idle" : e));
2587
2651
  }, [r]);
2588
2652
  return {
2589
2653
  events: a,
@@ -2592,14 +2656,14 @@ var Jn = () => {
2592
2656
  error: d,
2593
2657
  start: T((e = {}) => {
2594
2658
  let n = p.current;
2595
- n && r.runFork(P.interrupt(n)), o([]), f(void 0), u(0), c("streaming");
2596
- let a = K(i, t), s = {
2659
+ n && r.runFork(F.interrupt(n)), o([]), f(void 0), u(0), c("streaming");
2660
+ let a = q(i, t), s = {
2597
2661
  onEvent: (e) => o((t) => [...t, e]),
2598
2662
  onStatus: c,
2599
2663
  onReconnect: () => u((e) => e + 1),
2600
2664
  onError: f
2601
2665
  };
2602
- p.current = r.runFork(br(a, e, s, m));
2666
+ p.current = r.runFork(Tr(a, e, s, m));
2603
2667
  }, [
2604
2668
  r,
2605
2669
  i,
@@ -2611,13 +2675,13 @@ var Jn = () => {
2611
2675
  ]),
2612
2676
  cancel: h
2613
2677
  };
2614
- }, Cr = (e, t) => e.order - t.order || (e.stepOrder ?? 0) - (t.stepOrder ?? 0), wr = (e) => {
2678
+ }, Or = (e, t) => e.order - t.order || (e.stepOrder ?? 0) - (t.stepOrder ?? 0), kr = (e) => {
2615
2679
  for (let t = e.length - 1; t >= 0; --t) {
2616
2680
  let n = e[t];
2617
2681
  if (n.role === "user" && n.content) return n.content;
2618
2682
  }
2619
- }, Tr = (e, t, n) => {
2620
- let { threadId: r } = n, i = q(e, `${t}.messages`, { threadId: r }), a = _n(e, `${t}.send`), o = D(() => [...i.data ?? []].sort(Cr), [i.data]), s = T((e, t = {}) => a.run({
2683
+ }, Ar = (e, t, n) => {
2684
+ let { threadId: r } = n, i = J(e, `${t}.messages`, { threadId: r }), a = bn(e, `${t}.send`), o = O(() => [...i.data ?? []].sort(Or), [i.data]), s = T((e, t = {}) => a.run({
2621
2685
  threadId: r,
2622
2686
  order: i.data?.length ?? 0,
2623
2687
  prompt: e,
@@ -2627,10 +2691,10 @@ var Jn = () => {
2627
2691
  r,
2628
2692
  i.data
2629
2693
  ]), c = T(() => {
2630
- let e = wr(o);
2694
+ let e = kr(o);
2631
2695
  return e === void 0 ? void 0 : s(e);
2632
2696
  }, [o, s]);
2633
- return D(() => ({
2697
+ return O(() => ({
2634
2698
  messages: o,
2635
2699
  streaming: o.some((e) => e.streaming),
2636
2700
  loading: i.data === void 0,
@@ -2647,9 +2711,9 @@ var Jn = () => {
2647
2711
  s,
2648
2712
  c
2649
2713
  ]);
2650
- }, Er = (e, t) => {
2651
- let { events: n, status: r, error: i, start: a, cancel: o } = yr(e, t), [s, c] = k([]), l = O(null), u = D(() => n.filter((e) => e._tag === "token").map((e) => e.text ?? "").join(""), [n]);
2652
- return E(() => {
2714
+ }, jr = (e, t) => {
2715
+ let { events: n, status: r, error: i, start: a, cancel: o } = wr(e, t), [s, c] = A([]), l = k(null), u = O(() => n.filter((e) => e._tag === "token").map((e) => e.text ?? "").join(""), [n]);
2716
+ return D(() => {
2653
2717
  if (r !== "done" || l.current === null) return;
2654
2718
  let e = l.current;
2655
2719
  l.current = null, c((t) => [
@@ -2674,12 +2738,12 @@ var Jn = () => {
2674
2738
  }, [a]),
2675
2739
  cancel: o
2676
2740
  };
2677
- }, Dr = (e, t) => {
2678
- let n = _n(e, t), [r, i] = k(void 0), a = T(async (e) => {
2741
+ }, Mr = (e, t) => {
2742
+ let n = bn(e, t), [r, i] = A(void 0), a = T(async (e) => {
2679
2743
  let t = await n.run({ question: e });
2680
2744
  return i(t), t;
2681
2745
  }, [n]), o = T(() => i(void 0), []);
2682
- return D(() => ({
2746
+ return O(() => ({
2683
2747
  ask: a,
2684
2748
  answer: r,
2685
2749
  pending: n.pending,
@@ -2692,14 +2756,14 @@ var Jn = () => {
2692
2756
  n.error,
2693
2757
  o
2694
2758
  ]);
2695
- }, Or = (e) => {
2696
- let { cache: t, runtime: n } = G(e);
2759
+ }, Nr = (e) => {
2760
+ let { cache: t, runtime: n } = K(e);
2697
2761
  return T(() => {
2698
2762
  t.refreshAll(n);
2699
2763
  }, [t, n]);
2700
- }, kr = (e) => e?._tag === "Unauthenticated", Ar = (e, t, n = {}) => {
2764
+ }, Pr = (e) => e?._tag === "Unauthenticated", Fr = (e, t, n = {}) => {
2701
2765
  let r = n.cooldownMs ?? 15e3, i = n.maxConsecutive ?? 3, a = n.now ?? (() => Date.now()), o = -Infinity, s = 0, c = e.on((e) => {
2702
- if (!kr(e.error) || s >= i) return;
2766
+ if (!Pr(e.error) || s >= i) return;
2703
2767
  let n = a();
2704
2768
  n - o < r || (o = n, s += 1, t());
2705
2769
  }), l = e.onSuccess(() => {
@@ -2713,30 +2777,18 @@ var Jn = () => {
2713
2777
  s = 0;
2714
2778
  }
2715
2779
  };
2716
- }, jr = /* @__PURE__ */ new Set(), Mr = (e) => {
2717
- for (let t of jr) try {
2718
- t(e);
2719
- } catch {}
2720
- }, Nr = (e) => (jr.add(e), () => {
2721
- jr.delete(e);
2722
- }), Pr = (e, t) => {
2723
- Mr({
2724
- error: e,
2725
- source: "manual",
2726
- ...t ? { context: t } : {}
2727
- });
2728
- }, Fr = (e, t) => {
2729
- let { errorBus: n } = G(e);
2730
- E(() => n.on(t), [n, t]);
2731
- }, Ir = {
2780
+ }, Ir = (e, t) => {
2781
+ let { errorBus: n } = K(e);
2782
+ D(() => n.on(t), [n, t]);
2783
+ }, Lr = {
2732
2784
  failed: [],
2733
2785
  healthy: !0
2734
- }, Lr = (e) => {
2735
- let { errorBus: t } = G(e), [n, r] = k(Ir);
2736
- return E(() => {
2786
+ }, Rr = (e) => {
2787
+ let { errorBus: t } = K(e), [n, r] = A(Lr);
2788
+ return D(() => {
2737
2789
  let e = /* @__PURE__ */ new Map(), n = () => {
2738
2790
  let t = [...e.values()].sort((e, t) => t.at - e.at);
2739
- r(t.length === 0 ? Ir : {
2791
+ r(t.length === 0 ? Lr : {
2740
2792
  failed: t,
2741
2793
  healthy: !1
2742
2794
  });
@@ -2754,17 +2806,17 @@ var Jn = () => {
2754
2806
  i(), a();
2755
2807
  };
2756
2808
  }, [t]), n;
2757
- }, Rr = (e, t) => {
2809
+ }, zr = (e, t) => {
2758
2810
  let n = globalThis, r = Symbol.for(`@voltro/web/context:${e}`), i = n[r];
2759
2811
  if (i) return i;
2760
2812
  let a = C(t);
2761
2813
  return n[r] = a, a;
2762
- }, zr = Rr("serverRequest", null), Br = () => te(zr), Vr = ({ value: e, children: t }) => /* @__PURE__ */ de(zr.Provider, {
2814
+ }, Br = zr("serverRequest", null), Vr = () => E(Br), Hr = ({ value: e, children: t }) => /* @__PURE__ */ ue(Br.Provider, {
2763
2815
  value: e,
2764
2816
  children: t
2765
- }), Hr = (e) => {
2766
- let t = Br();
2767
- return D(() => {
2817
+ }), Ur = (e) => {
2818
+ let t = Vr();
2819
+ return O(() => {
2768
2820
  if (t !== null) return t.formFlash?.formKey === e ? t.formFlash : void 0;
2769
2821
  if (typeof document > "u") return;
2770
2822
  let n = document.getElementById(v);
@@ -2775,15 +2827,15 @@ var Jn = () => {
2775
2827
  return;
2776
2828
  }
2777
2829
  }, [t, e]);
2778
- }, Ur = (e, t, n) => e.map((e) => {
2830
+ }, Wr = (e, t, n) => e.map((e) => {
2779
2831
  let r = String(e[n] ?? ""), i = e[t];
2780
2832
  return {
2781
2833
  value: r,
2782
2834
  label: i == null ? r : String(i)
2783
2835
  };
2784
- }), Wr = (e, t, n = {}) => {
2785
- let r = n.debounceMs ?? 200, i = n.labelField ?? "name", a = n.valueField ?? "id", o = n.input ?? ((e) => ({ q: e })), [s, c] = k(n.initialTerm ?? ""), [l, u] = k(s);
2786
- E(() => {
2836
+ }), Gr = (e, t, n = {}) => {
2837
+ let r = n.debounceMs ?? 200, i = n.labelField ?? "name", a = n.valueField ?? "id", o = n.input ?? ((e) => ({ q: e })), [s, c] = A(n.initialTerm ?? ""), [l, u] = A(s);
2838
+ D(() => {
2787
2839
  if (s === l) return;
2788
2840
  let e = setTimeout(() => u(s), r);
2789
2841
  return () => clearTimeout(e);
@@ -2792,7 +2844,7 @@ var Jn = () => {
2792
2844
  l,
2793
2845
  r
2794
2846
  ]);
2795
- let d = n.skipUntilTerm === !0 && l.trim() === "", f = q(e, t, D(() => o(l), [o, l]), { skip: d }), p = D(() => Ur(f.data ?? [], i, a), [
2847
+ let d = n.skipUntilTerm === !0 && l.trim() === "", f = J(e, t, O(() => o(l), [o, l]), { skip: d }), p = O(() => Wr(f.data ?? [], i, a), [
2796
2848
  f.data,
2797
2849
  i,
2798
2850
  a
@@ -2803,13 +2855,13 @@ var Jn = () => {
2803
2855
  term: s,
2804
2856
  search: m
2805
2857
  };
2806
- }, Gr = (e, t) => e === t ? 0 : e == null ? 1 : t == null || e < t ? -1 : 1, Kr = (t, n, r = {}) => {
2807
- let i = G(t), [a, o] = k(r.pageSize), s = q(t, n, D(() => a === void 0 ? r.input ?? {} : {
2858
+ }, Kr = (e, t) => e === t ? 0 : e == null ? 1 : t == null || e < t ? -1 : 1, qr = (t, n, r = {}) => {
2859
+ let i = K(t), [a, o] = A(r.pageSize), s = J(t, n, O(() => a === void 0 ? r.input ?? {} : {
2808
2860
  ...r.input,
2809
2861
  limit: a
2810
2862
  }, [r.input, a])), c = i.descriptors[n]?.output, l = T(() => {
2811
2863
  r.pageSize !== void 0 && o((e) => (e ?? r.pageSize) + r.pageSize);
2812
- }, [r.pageSize]), u = D(() => r.columns ?? (c === void 0 ? [] : e(c)), [r.columns, c]), [d, f] = k(r.initialSort), p = T((e) => {
2864
+ }, [r.pageSize]), u = O(() => r.columns ?? (c === void 0 ? [] : e(c)), [r.columns, c]), [d, f] = A(r.initialSort), p = T((e) => {
2813
2865
  f((t) => t?.column === e ? {
2814
2866
  column: e,
2815
2867
  direction: t.direction === "asc" ? "desc" : "asc"
@@ -2820,11 +2872,11 @@ var Jn = () => {
2820
2872
  }, []);
2821
2873
  return {
2822
2874
  columns: u,
2823
- rows: D(() => {
2875
+ rows: O(() => {
2824
2876
  let e = s.data ?? [];
2825
2877
  if (d === void 0) return e;
2826
2878
  let t = d.direction === "asc" ? 1 : -1;
2827
- return [...e].sort((e, n) => Gr(e[d.column], n[d.column]) * t);
2879
+ return [...e].sort((e, n) => Kr(e[d.column], n[d.column]) * t);
2828
2880
  }, [s.data, d]),
2829
2881
  loading: s.data === void 0,
2830
2882
  error: s.error,
@@ -2833,26 +2885,26 @@ var Jn = () => {
2833
2885
  loadMore: l,
2834
2886
  hasMore: a !== void 0 && (s.data?.length ?? 0) >= a
2835
2887
  };
2836
- }, qr = (e, t, n, r) => {
2888
+ }, Jr = (e, t, n, r) => {
2837
2889
  let i = e.replace(/\/$/, ""), a = new URLSearchParams({
2838
2890
  table: t,
2839
2891
  id: n
2840
2892
  });
2841
2893
  return r !== void 0 && a.set("column", r), `${i}/_voltro/inspect/provenance?${a.toString()}`;
2842
- }, Jr = qr, Yr = (e, t, n, r) => {
2843
- let { inspectBaseUrl: i } = G(e), [a, o] = k({
2894
+ }, Yr = Jr, Xr = (e, t, n, r) => {
2895
+ let { inspectBaseUrl: i } = K(e), [a, o] = A({
2844
2896
  data: void 0,
2845
2897
  loading: !0,
2846
2898
  error: void 0
2847
2899
  });
2848
- return E(() => {
2900
+ return D(() => {
2849
2901
  let e = !1;
2850
2902
  o({
2851
2903
  data: void 0,
2852
2904
  loading: !0,
2853
2905
  error: void 0
2854
2906
  });
2855
- let a = qr(i ?? "", t, n, r);
2907
+ let a = Jr(i ?? "", t, n, r);
2856
2908
  return fetch(a).then(async (e) => {
2857
2909
  if (!e.ok) throw Error(`provenance fetch failed: HTTP ${e.status}`);
2858
2910
  return await e.json();
@@ -2878,23 +2930,23 @@ var Jn = () => {
2878
2930
  n,
2879
2931
  r
2880
2932
  ]), a;
2881
- }, Xr = "admin:full", Zr = (e, t) => e.includes("admin:full") ? !0 : (typeof t == "string" ? [t] : t).every((t) => e.includes(t)), Qr = (e, t) => t.length === 0 || e.includes("admin:full") ? !0 : t.some((t) => e.includes(t)), $r = C({ scopes: [] });
2882
- function ei(e) {
2883
- return w($r.Provider, { value: { scopes: e.scopes } }, e.children);
2933
+ }, Zr = "admin:full", Qr = (e, t) => e.includes("admin:full") ? !0 : (typeof t == "string" ? [t] : t).every((t) => e.includes(t)), $r = (e, t) => t.length === 0 || e.includes("admin:full") ? !0 : t.some((t) => e.includes(t)), ei = C({ scopes: [] });
2934
+ function ti(e) {
2935
+ return w(ei.Provider, { value: { scopes: e.scopes } }, e.children);
2884
2936
  }
2885
- var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scopes, e), ii = (e) => `${e.replace(/\/$/, "")}/_voltro/inspect/manifest`, ai = (e) => {
2886
- let { inspectBaseUrl: t } = G(e), [n, r] = k({
2937
+ var ni = () => E(ei), ri = (e) => Qr(ni().scopes, e), ii = (e) => $r(ni().scopes, e), ai = (e) => `${e.replace(/\/$/, "")}/_voltro/inspect/manifest`, oi = (e) => {
2938
+ let { inspectBaseUrl: t } = K(e), [n, r] = A({
2887
2939
  manifest: void 0,
2888
2940
  loading: !0,
2889
2941
  error: void 0
2890
2942
  });
2891
- return E(() => {
2943
+ return D(() => {
2892
2944
  let e = !1;
2893
2945
  return r({
2894
2946
  manifest: void 0,
2895
2947
  loading: !0,
2896
2948
  error: void 0
2897
- }), fetch(ii(t ?? "")).then(async (e) => {
2949
+ }), fetch(ai(t ?? "")).then(async (e) => {
2898
2950
  if (!e.ok) throw Error(`manifest fetch failed: HTTP ${e.status}`);
2899
2951
  return await e.json();
2900
2952
  }).then((t) => {
@@ -2913,7 +2965,7 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
2913
2965
  e = !0;
2914
2966
  };
2915
2967
  }, [e, t]), n;
2916
- }, oi = (e, t) => t.scope.length === 0 || (t.mode === "any" ? t.scope.some((t) => e.includes(t)) : t.scope.every((t) => e.includes(t))), si = (e, t) => {
2968
+ }, si = (e, t) => t.scope.length === 0 || (t.mode === "any" ? t.scope.some((t) => e.includes(t)) : t.scope.every((t) => e.includes(t))), ci = (e, t) => {
2917
2969
  if (e === void 0) return "unknown";
2918
2970
  if (t.includes("admin:full") || e.length === 0) return "allowed";
2919
2971
  let n = !1;
@@ -2922,7 +2974,7 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
2922
2974
  n = !0;
2923
2975
  continue;
2924
2976
  }
2925
- if (!oi(t, r)) {
2977
+ if (!si(t, r)) {
2926
2978
  if (r.resourceScoped) {
2927
2979
  n = !0;
2928
2980
  continue;
@@ -2931,13 +2983,13 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
2931
2983
  }
2932
2984
  }
2933
2985
  return n ? "unknown" : "allowed";
2934
- }, ci = (e) => (e ?? []).flatMap((e) => e.kind === "scope" ? [...e.scope] : []), li = (e) => {
2986
+ }, li = (e) => (e ?? []).flatMap((e) => e.kind === "scope" ? [...e.scope] : []), ui = (e) => {
2935
2987
  for (let t of e ?? []) if (t.kind === "open") return t.reason;
2936
- }, ui = (e) => si(e, ti().scopes), di = (e, t) => Array.isArray(e) ? e.includes(t) : e === t, fi = (e, t, n) => e.targets?.some((e) => e.table === t && e.op === n) ?? !1, pi = (e) => e === void 0 ? {} : {
2988
+ }, di = (e) => ci(e, ni().scopes), fi = (e, t) => Array.isArray(e) ? e.includes(t) : e === t, pi = (e, t, n) => e.targets?.some((e) => e.table === t && e.op === n) ?? !1, mi = (e) => e === void 0 ? {} : {
2937
2989
  tag: e.tag,
2938
2990
  ...e.guards === void 0 ? {} : { guards: e.guards }
2939
- }, mi = (e) => e.tables.filter((e) => !e.framework).map((t) => {
2940
- let n = e.procedures.find((e) => e.kind === "query" && di(e.source, t.name)), r = e.procedures.find((e) => e.kind === "mutation" && fi(e, t.name, "insert")), i = e.procedures.find((e) => e.kind === "mutation" && fi(e, t.name, "update")), a = e.procedures.find((e) => e.kind === "mutation" && fi(e, t.name, "delete")), o = t.pkColumn ?? (t.columns.some((e) => e.name === "id") ? "id" : void 0);
2991
+ }, hi = (e) => e.tables.filter((e) => !e.framework).map((t) => {
2992
+ let n = e.procedures.find((e) => e.kind === "query" && fi(e.source, t.name)), r = e.procedures.find((e) => e.kind === "mutation" && pi(e, t.name, "insert")), i = e.procedures.find((e) => e.kind === "mutation" && pi(e, t.name, "update")), a = e.procedures.find((e) => e.kind === "mutation" && pi(e, t.name, "delete")), o = t.pkColumn ?? (t.columns.some((e) => e.name === "id") ? "id" : void 0);
2941
2993
  return {
2942
2994
  table: t.name,
2943
2995
  columns: t.columns.filter((e) => e.serverOnly !== !0),
@@ -2946,13 +2998,13 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
2946
2998
  reactive: t.reactive,
2947
2999
  ...o === void 0 ? {} : { pkColumn: o },
2948
3000
  editable: (t.editable ?? !0) && o !== void 0,
2949
- list: pi(n),
2950
- create: pi(r),
2951
- update: pi(i),
2952
- delete: pi(a)
3001
+ list: mi(n),
3002
+ create: mi(r),
3003
+ update: mi(i),
3004
+ delete: mi(a)
2953
3005
  };
2954
- }), hi = (e) => {
2955
- let [t, n] = k([]), [r, i] = k([]), a = T((e) => {
3006
+ }), gi = (e) => {
3007
+ let [t, n] = A([]), [r, i] = A([]), a = T((e) => {
2956
3008
  n((t) => [...t, e]), i([]);
2957
3009
  }, []), o = T(async () => {
2958
3010
  let r = t[t.length - 1];
@@ -2961,7 +3013,7 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
2961
3013
  let t = r[r.length - 1];
2962
3014
  t !== void 0 && (await e.onRedo(t.invocationId), i((e) => e.slice(0, -1)), n((e) => [...e, t]));
2963
3015
  }, [r, e]);
2964
- return D(() => {
3016
+ return O(() => {
2965
3017
  let e = t[t.length - 1];
2966
3018
  return {
2967
3019
  record: a,
@@ -2979,8 +3031,8 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
2979
3031
  o,
2980
3032
  s
2981
3033
  ]);
2982
- }, gi = "__voltro.undo.log", _i = "__voltro.undo.apply", vi = "__voltro.undo.redo", yi = (e, t) => {
2983
- let n = t?.limit, { data: r } = q(e, gi, n === void 0 ? {} : { limit: n }), i = Z(e, _i), a = Z(e, vi), o = r ?? [], s = o.find((e) => !e.undone && !e.crossesAction), c = o.find((e) => e.undone), l = T(async (e) => {
3034
+ }, _i = "__voltro.undo.log", vi = "__voltro.undo.apply", yi = "__voltro.undo.redo", bi = (e, t) => {
3035
+ let n = t?.limit, { data: r } = J(e, _i, n === void 0 ? {} : { limit: n }), i = Q(e, vi), a = Q(e, yi), o = r ?? [], s = o.find((e) => !e.undone && !e.crossesAction), c = o.find((e) => e.undone), l = T(async (e) => {
2984
3036
  await i.mutate({ invocationId: e });
2985
3037
  }, [i]), u = T(async (e) => {
2986
3038
  await a.mutate({ invocationId: e });
@@ -2999,22 +3051,22 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
2999
3051
  undoLast: d,
3000
3052
  redoLast: f
3001
3053
  };
3002
- }, bi = (e, t) => ({
3054
+ }, xi = (e, t) => ({
3003
3055
  name: e,
3004
3056
  map: t
3005
- }), xi = (e, t) => e === void 0 ? null : typeof e == "string" ? { event: e } : e(t), Si = /* @__PURE__ */ new Set(["onMount", "onUnmount"]), Ci = (e, t, n) => {
3057
+ }), Si = (e, t) => e === void 0 ? null : typeof e == "string" ? { event: e } : e(t), Ci = /* @__PURE__ */ new Set(["onMount", "onUnmount"]), wi = (e, t, n) => {
3006
3058
  let r = { ...t };
3007
3059
  for (let [i, a] of Object.entries(e.map)) {
3008
- if (Si.has(i) || a === void 0) continue;
3060
+ if (Ci.has(i) || a === void 0) continue;
3009
3061
  let e = t[i];
3010
3062
  r[i] = (...r) => {
3011
- let i = xi(a, t);
3063
+ let i = Si(a, t);
3012
3064
  if (i !== null && n(i), typeof e == "function") return e(...r);
3013
3065
  };
3014
3066
  }
3015
3067
  return r;
3016
- }, wi = (e, t, n) => {
3017
- let r = O({
3068
+ }, Ti = (e, t, n) => {
3069
+ let r = k({
3018
3070
  spec: e,
3019
3071
  props: t,
3020
3072
  sink: n
@@ -3023,47 +3075,47 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
3023
3075
  spec: e,
3024
3076
  props: t,
3025
3077
  sink: n
3026
- }, E(() => {
3027
- let e = r.current, t = xi(e.spec.map.onMount, e.props);
3078
+ }, D(() => {
3079
+ let e = r.current, t = Si(e.spec.map.onMount, e.props);
3028
3080
  return t !== null && e.sink(t), () => {
3029
- let e = r.current, t = xi(e.spec.map.onUnmount, e.props);
3081
+ let e = r.current, t = Si(e.spec.map.onUnmount, e.props);
3030
3082
  t !== null && e.sink(t);
3031
3083
  };
3032
- }, []), D(() => Ci(e, t, n), [
3084
+ }, []), O(() => wi(e, t, n), [
3033
3085
  e,
3034
3086
  t,
3035
3087
  n
3036
3088
  ]);
3037
- }, Ti = (e, t) => {
3038
- let n = G(e).descriptors[t]?.input;
3039
- return D(() => n === void 0 ? [] : x(n), [n]);
3040
- }, Ei = (t, n) => {
3041
- let r = G(t).descriptors[n]?.output;
3042
- return D(() => r === void 0 ? [] : e(r), [r]);
3043
- }, Di = (e, t) => {
3089
+ }, Ei = (e, t) => {
3090
+ let n = K(e).descriptors[t]?.input;
3091
+ return O(() => n === void 0 ? [] : x(n), [n]);
3092
+ }, Di = (t, n) => {
3093
+ let r = K(t).descriptors[n]?.output;
3094
+ return O(() => r === void 0 ? [] : e(r), [r]);
3095
+ }, Oi = (e, t) => {
3044
3096
  if (e === t) return !0;
3045
3097
  if (e.length !== t.length) return !1;
3046
3098
  for (let n = 0; n < e.length; n += 1) if (!Object.is(e[n], t[n])) return !1;
3047
3099
  return !0;
3048
- }, Oi = (e) => Object.keys(e).sort().map((t) => e[t]), ki = (e, t) => {
3049
- let n = O(null), r = Oi(e);
3050
- return (n.current === null || !Di(n.current.key, r)) && (n.current = {
3100
+ }, ki = (e) => Object.keys(e).sort().map((t) => e[t]), Ai = (e, t) => {
3101
+ let n = k(null), r = ki(e);
3102
+ return (n.current === null || !Oi(n.current.key, r)) && (n.current = {
3051
3103
  key: r,
3052
3104
  value: t(e)
3053
3105
  }), n.current.value;
3054
- }, Ai = (e, t, n, r = {}) => {
3055
- let i = q(e, t, { ...n }, r);
3056
- return D(() => ({
3106
+ }, ji = (e, t, n, r = {}) => {
3107
+ let i = J(e, t, { ...n }, r);
3108
+ return O(() => ({
3057
3109
  allowed: i.data?.allowed === !0,
3058
3110
  pending: i.data === void 0
3059
3111
  }), [i.data]);
3060
- }, ji = (e, t, n, r = {}) => {
3061
- let i = q(e, t, { ...n }, r);
3062
- return D(() => ({
3112
+ }, Mi = (e, t, n, r = {}) => {
3113
+ let i = J(e, t, { ...n }, r);
3114
+ return O(() => ({
3063
3115
  allowedIds: new Set(i.data?.allowedIds ?? []),
3064
3116
  pending: i.data === void 0
3065
3117
  }), [i.data]);
3066
- }, Mi = (e) => {
3118
+ }, Ni = (e) => {
3067
3119
  switch (e) {
3068
3120
  case "select":
3069
3121
  case "radio":
@@ -3079,26 +3131,26 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
3079
3131
  case "switch": return "boolean";
3080
3132
  default: return null;
3081
3133
  }
3082
- }, Ni = (e) => x(e).map((e) => {
3134
+ }, Pi = (e) => x(e).map((e) => {
3083
3135
  if (e.name.includes(".")) return null;
3084
- let t = Mi(e.widget);
3136
+ let t = Ni(e.widget);
3085
3137
  return t === null ? null : {
3086
3138
  name: e.name,
3087
3139
  label: e.label,
3088
3140
  kind: t,
3089
3141
  ...e.options ? { options: e.options } : {}
3090
3142
  };
3091
- }).filter((e) => e !== null), Pi = (e) => {
3143
+ }).filter((e) => e !== null), Fi = (e) => {
3092
3144
  let t = {};
3093
3145
  for (let [n, r] of Object.entries(e)) r === void 0 || r === "" || Array.isArray(r) && r.length === 0 || (t[n] = r);
3094
3146
  return t;
3095
- }, Fi = (e, t, n = {}) => {
3096
- let r = G(e).descriptors[t]?.input, i = D(() => r === void 0 ? [] : Ni(r), [r]), [a, o] = k(n.initial ?? {}), s = T((e, t) => {
3097
- o((n) => Pi({
3147
+ }, Ii = (e, t, n = {}) => {
3148
+ let r = K(e).descriptors[t]?.input, i = O(() => r === void 0 ? [] : Pi(r), [r]), [a, o] = A(n.initial ?? {}), s = T((e, t) => {
3149
+ o((n) => Fi({
3098
3150
  ...n,
3099
3151
  [e]: t
3100
3152
  }));
3101
- }, []), c = T(() => o({}), []), l = q(e, t, D(() => Pi(a), [a]));
3153
+ }, []), c = T(() => o({}), []), l = J(e, t, O(() => Fi(a), [a]));
3102
3154
  return {
3103
3155
  filters: i,
3104
3156
  values: a,
@@ -3109,20 +3161,20 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
3109
3161
  loading: l.data === void 0,
3110
3162
  error: l.error
3111
3163
  };
3112
- }, Ii = (e, t, n = {}) => {
3113
- let r = q(e, t, n), i = r.data;
3164
+ }, Li = (e, t, n = {}) => {
3165
+ let r = J(e, t, n), i = r.data;
3114
3166
  return {
3115
3167
  record: Array.isArray(i) ? i[0] : i,
3116
3168
  loading: i === void 0,
3117
3169
  error: r.error
3118
3170
  };
3119
- }, Li = (e, t = 300) => {
3120
- let [n, r] = k(e);
3121
- return E(() => {
3171
+ }, Ri = (e, t = 300) => {
3172
+ let [n, r] = A(e);
3173
+ return D(() => {
3122
3174
  let n = setTimeout(() => r(e), t);
3123
3175
  return () => clearTimeout(n);
3124
3176
  }, [e, t]), n;
3125
- }, Ri = (e) => {
3177
+ }, zi = (e) => {
3126
3178
  let { value: t, debouncedValue: n, data: r, interpret: i, skipEmpty: a = !0 } = e;
3127
3179
  if (a && t.trim() === "") return {
3128
3180
  status: "idle",
@@ -3140,39 +3192,39 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
3140
3192
  valid: o.valid,
3141
3193
  message: o.message
3142
3194
  };
3143
- }, zi = (e, t, n, r) => {
3144
- let { input: i, interpret: a, debounceMs: o = 300, skipEmpty: s = !0 } = r, c = Li(n, o), l = s && c.trim() === "", u = q(e, t, D(() => i ? i(c) : { value: c }, [i, c]), { skip: l });
3145
- return Ri({
3195
+ }, Bi = (e, t, n, r) => {
3196
+ let { input: i, interpret: a, debounceMs: o = 300, skipEmpty: s = !0 } = r, c = Ri(n, o), l = s && c.trim() === "", u = J(e, t, O(() => i ? i(c) : { value: c }, [i, c]), { skip: l });
3197
+ return zi({
3146
3198
  value: n,
3147
3199
  debouncedValue: c,
3148
3200
  data: l ? null : u.data,
3149
3201
  interpret: a,
3150
3202
  skipEmpty: s
3151
3203
  });
3152
- }, Bi = (e, t) => ({
3204
+ }, Vi = (e, t) => ({
3153
3205
  name: e,
3154
3206
  payload: t
3155
- }), Vi = (e, t) => {
3156
- let n = ae.decodeUnknownEither(e.payload, { errors: "all" })(t);
3207
+ }), Hi = (e, t) => {
3208
+ let n = ie.decodeUnknownEither(e.payload, { errors: "all" })(t);
3157
3209
  if (n._tag === "Right") return {
3158
3210
  valid: !0,
3159
3211
  errors: {}
3160
3212
  };
3161
3213
  let r = {};
3162
- for (let e of me.formatErrorSync(n.left)) r[e.path.join(".") || "(root)"] = e.message;
3214
+ for (let e of pe.formatErrorSync(n.left)) r[e.path.join(".") || "(root)"] = e.message;
3163
3215
  return {
3164
3216
  valid: !1,
3165
3217
  errors: r
3166
3218
  };
3167
- }, Hi = (e) => {
3219
+ }, Ui = (e) => {
3168
3220
  let t = new Map(e.map((e) => [e.name, e]));
3169
3221
  return {
3170
3222
  names: [...t.keys()].sort(),
3171
3223
  get: (e) => t.get(e),
3172
3224
  events: e
3173
3225
  };
3174
- }, Ui = (e, t) => {
3175
- let n = Hi(e);
3226
+ }, Wi = (e, t) => {
3227
+ let n = Ui(e);
3176
3228
  return {
3177
3229
  track: (e, r) => {
3178
3230
  let i = n.get(e);
@@ -3181,7 +3233,7 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
3181
3233
  return;
3182
3234
  }
3183
3235
  if (process.env.NODE_ENV !== "production") {
3184
- let t = Vi(i, r);
3236
+ let t = Hi(i, r);
3185
3237
  t.valid || console.error(`[@voltro/client] analytics.track('${e}'): payload failed its schema`, t.errors);
3186
3238
  }
3187
3239
  t({
@@ -3192,49 +3244,49 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
3192
3244
  names: n.names,
3193
3245
  catalog: n
3194
3246
  };
3195
- }, Wi = (e, t) => {
3196
- let n = _n(e, t);
3247
+ }, Gi = (e, t) => {
3248
+ let n = bn(e, t);
3197
3249
  return {
3198
3250
  preview: T((e) => n.run(e), [n]),
3199
3251
  diff: n.lastResult,
3200
3252
  pending: n.pending,
3201
3253
  error: n.error
3202
3254
  };
3203
- }, Gi = (e, t, n, r) => [...e, {
3255
+ }, Ki = (e, t, n, r) => [...e, {
3204
3256
  id: t,
3205
3257
  tag: n,
3206
3258
  input: r,
3207
3259
  status: "pending",
3208
3260
  attempts: 0
3209
- }], Ki = (e, t, n) => e.map((e) => e.id === t ? {
3261
+ }], qi = (e, t, n) => e.map((e) => e.id === t ? {
3210
3262
  ...e,
3211
3263
  ...n
3212
- } : e), qi = (e, t) => Ki(e, t, { status: "sent" }), Ji = (e, t, n) => e.map((e) => e.id === t ? {
3264
+ } : e), Ji = (e, t) => qi(e, t, { status: "sent" }), Yi = (e, t, n) => e.map((e) => e.id === t ? {
3213
3265
  ...e,
3214
3266
  status: "failed",
3215
3267
  error: n,
3216
3268
  attempts: e.attempts + 1
3217
- } : e), Yi = (e, t, n) => Ki(e, t, {
3269
+ } : e), Xi = (e, t, n) => qi(e, t, {
3218
3270
  status: "conflict",
3219
3271
  error: n
3220
- }), Xi = (e, t, n) => e.map((e) => e.id === t && e.status === "conflict" ? {
3272
+ }), Zi = (e, t, n) => e.map((e) => e.id === t && e.status === "conflict" ? {
3221
3273
  ...e,
3222
3274
  input: n,
3223
3275
  status: "pending",
3224
3276
  error: void 0
3225
- } : e), Zi = (e) => e.filter((e) => e.status !== "sent"), Qi = (e) => {
3277
+ } : e), Qi = (e) => e.filter((e) => e.status !== "sent"), $i = (e) => {
3226
3278
  let t = [];
3227
3279
  for (let n of e) {
3228
3280
  if (n.status === "conflict") break;
3229
3281
  (n.status === "pending" || n.status === "failed") && t.push(n);
3230
3282
  }
3231
3283
  return t;
3232
- }, $i = (e) => {
3284
+ }, ea = (e) => {
3233
3285
  let t = e;
3234
3286
  return t?.conflict === !0 || t?._tag === "UndoBoundaryError" && t?.boundary === "conflict";
3235
- }, ea = (e) => {
3236
- let [t, n] = k(e ?? (typeof navigator < "u" ? navigator.onLine : !0));
3237
- return E(() => {
3287
+ }, ta = (e) => {
3288
+ let [t, n] = A(e ?? (typeof navigator < "u" ? navigator.onLine : !0));
3289
+ return D(() => {
3238
3290
  if (e !== void 0) {
3239
3291
  n(e);
3240
3292
  return;
@@ -3245,11 +3297,11 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
3245
3297
  window.removeEventListener("online", t), window.removeEventListener("offline", r);
3246
3298
  };
3247
3299
  }, [e]), t;
3248
- }, ta = (e) => {
3249
- let { send: t, persistence: n, isConflict: r = $i, idFor: i } = e, [a, o] = k([]), s = ea(e.online), c = O(a);
3300
+ }, na = (e) => {
3301
+ let { send: t, persistence: n, isConflict: r = ea, idFor: i } = e, [a, o] = A([]), s = ta(e.online), c = k(a);
3250
3302
  c.current = a;
3251
- let l = O(0), u = O(Math.random().toString(36).slice(2, 8)), d = O(n === void 0);
3252
- E(() => {
3303
+ let l = k(0), u = k(Math.random().toString(36).slice(2, 8)), d = k(n === void 0);
3304
+ D(() => {
3253
3305
  if (n === void 0 || d.current) return;
3254
3306
  let e = !1;
3255
3307
  return n.load().then((t) => {
@@ -3259,28 +3311,28 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
3259
3311
  }), () => {
3260
3312
  e = !0;
3261
3313
  };
3262
- }, [n]), E(() => {
3263
- n === void 0 || !d.current || n.save(Zi(a)).catch(() => {});
3314
+ }, [n]), D(() => {
3315
+ n === void 0 || !d.current || n.save(Qi(a)).catch(() => {});
3264
3316
  }, [n, a]);
3265
3317
  let f = T((e, t) => {
3266
3318
  let n = i?.() ?? `obx_${u.current}_${l.current++}_${e}`;
3267
- o((r) => Gi(r, n, e, t));
3319
+ o((r) => Ki(r, n, e, t));
3268
3320
  }, [i]), p = T(async () => {
3269
- for (let e of Qi(c.current)) try {
3270
- await t(e), o((t) => qi(t, e.id));
3321
+ for (let e of $i(c.current)) try {
3322
+ await t(e), o((t) => Ji(t, e.id));
3271
3323
  } catch (t) {
3272
3324
  if (r(t)) {
3273
- o((n) => Yi(n, e.id, t));
3325
+ o((n) => Xi(n, e.id, t));
3274
3326
  break;
3275
3327
  }
3276
- o((n) => Ji(n, e.id, t));
3328
+ o((n) => Yi(n, e.id, t));
3277
3329
  }
3278
3330
  }, [t, r]);
3279
- E(() => {
3331
+ D(() => {
3280
3332
  s && p();
3281
3333
  }, [s, p]);
3282
3334
  let m = T((e, t) => {
3283
- let n = Xi(c.current, e, t);
3335
+ let n = Zi(c.current, e, t);
3284
3336
  c.current = n, o(n), s && p();
3285
3337
  }, [s, p]);
3286
3338
  return {
@@ -3292,7 +3344,7 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
3292
3344
  conflicts: a.filter((e) => e.status === "conflict"),
3293
3345
  resolveConflict: m
3294
3346
  };
3295
- }, na = (e) => {
3347
+ }, ra = (e) => {
3296
3348
  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);
3297
3349
  return {
3298
3350
  startIndex: l,
@@ -3302,8 +3354,8 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
3302
3354
  topSpacer: l * r,
3303
3355
  bottomSpacer: a === void 0 ? 0 : Math.max(0, (a - d) * r)
3304
3356
  };
3305
- }, ra = (e, t, n) => {
3306
- let { rowHeight: r, viewportHeight: i, overscan: a, total: o, input: s } = n, [c, l] = k(0), u = D(() => na({
3357
+ }, ia = (e, t, n) => {
3358
+ let { rowHeight: r, viewportHeight: i, overscan: a, total: o, input: s } = n, [c, l] = A(0), u = O(() => ra({
3307
3359
  scrollTop: c,
3308
3360
  viewportHeight: i,
3309
3361
  rowHeight: r,
@@ -3315,7 +3367,7 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
3315
3367
  r,
3316
3368
  a,
3317
3369
  o
3318
- ]), d = q(e, t, D(() => ({
3370
+ ]), d = J(e, t, O(() => ({
3319
3371
  ...s,
3320
3372
  offset: u.offset,
3321
3373
  limit: u.limit
@@ -3335,11 +3387,11 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
3335
3387
  loading: d.data === void 0,
3336
3388
  error: d.error
3337
3389
  };
3338
- }, ia = () => typeof navigator > "u" || navigator.onLine, aa = (e) => {
3339
- let { errorBus: t } = G(e), [n, r] = k(ia), [i, a] = k(0), [o, s] = k(void 0), c = O(!0);
3340
- E(() => (c.current = !0, () => {
3390
+ }, aa = () => typeof navigator > "u" || navigator.onLine, oa = (e) => {
3391
+ let { errorBus: t } = K(e), [n, r] = A(aa), [i, a] = A(0), [o, s] = A(void 0), c = k(!0);
3392
+ D(() => (c.current = !0, () => {
3341
3393
  c.current = !1;
3342
- }), []), E(() => {
3394
+ }), []), D(() => {
3343
3395
  if (typeof window > "u") return;
3344
3396
  let e = () => {
3345
3397
  r(!0), a(0);
@@ -3347,7 +3399,7 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
3347
3399
  return window.addEventListener("online", e), window.addEventListener("offline", t), () => {
3348
3400
  window.removeEventListener("online", e), window.removeEventListener("offline", t);
3349
3401
  };
3350
- }, []), E(() => {
3402
+ }, []), D(() => {
3351
3403
  if (t?.on) return t.on(() => {
3352
3404
  c.current && (a((e) => e + 1), s(Date.now()));
3353
3405
  });
@@ -3362,7 +3414,7 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
3362
3414
  lastFailureAt: o,
3363
3415
  reportSuccess: l
3364
3416
  };
3365
- }, oa = "__voltro.connections.list", sa = "__voltro.connections.start", ca = "__voltro.connections.submitToken", la = "__voltro.connections.disconnect", ua = {
3417
+ }, sa = "__voltro.connections.list", ca = "__voltro.connections.start", la = "__voltro.connections.submitToken", ua = "__voltro.connections.disconnect", da = {
3366
3418
  connectionId: "",
3367
3419
  kind: "oauth2",
3368
3420
  label: "",
@@ -3373,14 +3425,14 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
3373
3425
  expiresAt: null,
3374
3426
  lastError: null,
3375
3427
  connectedAt: null
3376
- }, da = (e, t) => {
3428
+ }, fa = (e, t) => {
3377
3429
  if (t === "redirect") {
3378
3430
  globalThis.location.assign(e);
3379
3431
  return;
3380
3432
  }
3381
3433
  globalThis.open(e, "voltro-connect", "width=620,height=760,menubar=no,toolbar=no") === null && globalThis.location.assign(e);
3382
- }, fa = (e) => {
3383
- let { data: t } = q(e, oa, {}), n = _n(e, sa), r = Z(e, ca), i = Z(e, la), a = t ?? [], o = n.pending || r.pending || i.pending, s = T((e) => ({
3434
+ }, pa = (e) => {
3435
+ let { data: t } = J(e, sa, {}), n = bn(e, ca), r = Q(e, la), i = Q(e, ua), a = t ?? [], o = n.pending || r.pending || i.pending, s = T((e) => ({
3384
3436
  ...e,
3385
3437
  connected: e.status === "connected",
3386
3438
  needsAttention: e.status === "expired" || e.status === "revoked" || e.status === "error",
@@ -3388,7 +3440,7 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
3388
3440
  connect: async (t) => {
3389
3441
  if (e.kind !== "oauth2") throw Error(`connection "${e.connectionId}" is a personal-access-token connection — call submitToken(token), not connect().`);
3390
3442
  let r = t?.redirectTo ?? `${globalThis.location.pathname}${globalThis.location.search}`;
3391
- da((await n.run({
3443
+ fa((await n.run({
3392
3444
  connectionId: e.connectionId,
3393
3445
  redirectTo: r
3394
3446
  })).authorizeUrl, t?.mode);
@@ -3418,10 +3470,10 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
3418
3470
  get: c,
3419
3471
  pending: o
3420
3472
  };
3421
- }, pa = (e, t) => {
3422
- let n = fa(e), r = n.get(t);
3423
- return D(() => r === void 0 ? {
3424
- ...ua,
3473
+ }, ma = (e, t) => {
3474
+ let n = pa(e), r = n.get(t);
3475
+ return O(() => r === void 0 ? {
3476
+ ...da,
3425
3477
  connectionId: t,
3426
3478
  label: t,
3427
3479
  connected: !1,
@@ -3446,6 +3498,6 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
3446
3498
  n.loading,
3447
3499
  n.pending
3448
3500
  ]);
3449
- }, ma = "framework-client";
3501
+ }, ha = "framework-client";
3450
3502
  //#endregion
3451
- export { Xr as ADMIN_SCOPE, ma as CLIENT_NAME, oa as CONNECTIONS_LIST_TAG, la as CONNECTION_DISCONNECT_TAG, sa as CONNECTION_START_TAG, ca as CONNECTION_SUBMIT_TOKEN_TAG, v as FORM_FLASH_SCRIPT_ID, p as FORM_KEY_FIELD, g as FORM_PATH_PREFIX, u as FORM_REDIRECT_FIELD, On as FormBindingProvider, Me as FrameworkRuntimesContext, et as FrameworkRuntimesProvider, Ae as LoadingSubscriptionCache, ei as PermissionProvider, _ as RICH_TEXT_MARKS, a as RICH_TEXT_MAX_NODES, d as RichTextDocument, je as RpcErrorBus, zr as ServerRequestContext, Vr as ServerRequestProvider, ke as SubscriptionCache, _i as UNDO_APPLY_TAG, gi as UNDO_LOG_TAG, vi as UNDO_REDO_TAG, yn as ValidationMessagesProvider, Ge as _resetFrameworkRuntimesWarning, Be as _resetSsrDescriptors, Bn as applyPreloadSeeds, Vt as applyStoreSeeds, Je as buildApiRuntime, Zr as canCall, Qr as canCallAny, en as clearMutations, Zi as clearSent, xt as clearStoreHistory, na as computeWindow, Ui as createAnalytics, Mn as createHooks, si as decideAccess, c as decodeFieldIssues, Bi as defineEvent, It as defineStore, bi as defineTracking, Ft as definedStores, mi as deriveEntityAdmins, n as documentLocale, y as emptyRichTextDocument, Gi as enqueueEntry, Hi as eventCatalog, Ni as filtersFromSchema, r as formActionPath, m as formDataToInput, S as formField, t as formSections, un as freshIdempotencyKey, an as getMutationNotifier, Qt as getMutations, Rr as globalContext, o as isRichTextDocument, s as isSafeHref, kr as isUnauthenticated, qe as isUnresolvedApi, Nn as makePreloadSeedBag, Rt as makeStoreSeedBag, ii as manifestUrl, Yi as markConflict, Ji as markFailed, qi as markSent, li as openAccessReason, h as parseRichText, Jr as provenanceUrl, Mr as publishClientError, he as publishClientTrace, Hn as readPreloadedSeedOutcome, Vn as readPreloadedSnapshot, Re as registerSsrDescriptors, Qi as replayable, Pr as reportClientError, ci as requiredScopes, Un as resetPreloadSeeds, Lt as resetStoreRegistryForTests, ot as resetStoreStorageForTest, K as resolveByTag, Xi as resolveConflictEntry, at as resolveStoreStorage, xi as resolveTrackingEvent, b as resolveValidationMessage, ee as restrictToSchema, br as resumableConsumeProgram, f as richTextToPlainText, Ur as rowsToOptions, Yn as runSequence, e as schemaToColumns, x as schemaToFields, Rn as seedPreloadedSubscription, zn as seedPreloadedSubscriptionFailure, Bt as seedStore, Jn as sequence, l as serializeRichText, rn as setMutationNotifier, Fn as setPreloadSeedResolver, zt as setStoreSeedResolver, it as setStoreStorage, Zt as settleMutation, st as shallow, Di as shallowArrayEqual, Oi as sourceValues, Pe as ssrClientProxy, ze as ssrDescriptorsFor, Ve as ssrStubHandle, H as stableKey, $e as startApiSupervisor, Xt as startMutation, yt as storeHistory, Nr as subscribeClientErrors, ge as subscribeClientTraces, $t as subscribeMutations, bt as subscribeStoreHistory, ye as supersedesConfirmedPatches, St as travelToStoreState, ui as useAccessDecision, _n as useAction, Er as useAgent, Tr as useAgentChat, yr as useAgentStream, zi as useAsyncValidation, ni as useCan, ri as useCanAny, ai as useCapabilityManifest, pa as useConnection, aa as useConnectionStatus, fa as useConnections, Dr as useDataCopilot, Kr as useDataTable, Li as useDebounced, ki as useDerived, qn as useEvent, Dn as useFormBinding, kn as useFormBindingContext, An as useFormField, Hr as useFormFlash, Ti as useFormSkeleton, G as useFrameworkApi, Ke as useFrameworkRuntimes, Z as useMutation, Fr as useOnRpcError, ta as useOutbox, ti as usePermissions, Wn as usePreloadedSubscription, Wi as usePreview, Yr as useProvenance, Wr as useQueryField, Fi as useQueryFilters, Ii as useRecord, Or as useRefreshSubscriptions, Ai as useResourceCan, ji as useResourceCans, Sr as useResumableAgentStream, Xn as useSequence, Br as useServerRequest, q as useSubscription, Lr as useSubscriptionHealth, Ei as useTableSkeleton, wi as useTracking, hi as useUndo, yi as useUndoLog, nr as useUpload, bn as useValidationMessages, ra as useWindowedSubscription, rr as useWorkflow, dr as useWorkflowDomainEvents, fr as useWorkflowEventDeliveries, ur as useWorkflowEvents, or as useWorkflowRun, lr as useWorkflowRunEvents, vr as useWorkflowRunState, cr as useWorkflowRunSteps, sr as useWorkflowRuns, ir as useWorkflowSignal, ar as useWorkflowUpdate, Vi as validateEventPayload, i as validateFields, Ri as validationStatus, Ar as wireAuthRefresh, dn as withIdempotencyKey, Ci as wrapTrackedCallbacks };
3503
+ export { Zr as ADMIN_SCOPE, ha as CLIENT_NAME, sa as CONNECTIONS_LIST_TAG, ua as CONNECTION_DISCONNECT_TAG, ca as CONNECTION_START_TAG, la as CONNECTION_SUBMIT_TOKEN_TAG, v as FORM_FLASH_SCRIPT_ID, p as FORM_KEY_FIELD, g as FORM_PATH_PREFIX, u as FORM_REDIRECT_FIELD, jn as FormBindingProvider, Fe as FrameworkRuntimesContext, rt as FrameworkRuntimesProvider, ke as LoadingSubscriptionCache, ti as PermissionProvider, _ as RICH_TEXT_MARKS, a as RICH_TEXT_MAX_NODES, d as RichTextDocument, Pe as RpcErrorBus, Br as ServerRequestContext, Hr as ServerRequestProvider, Oe as SubscriptionCache, vi as UNDO_APPLY_TAG, _i as UNDO_LOG_TAG, yi as UNDO_REDO_TAG, Sn as ValidationMessagesProvider, Je as _resetFrameworkRuntimesWarning, Ue as _resetSsrDescriptors, Un as applyPreloadSeeds, Wt as applyStoreSeeds, Ze as buildApiRuntime, Qr as canCall, $r as canCallAny, rn as clearMutations, Qi as clearSent, wt as clearStoreHistory, ra as computeWindow, Wi as createAnalytics, Fn as createHooks, ci as decideAccess, c as decodeFieldIssues, Vi as defineEvent, zt as defineStore, xi as defineTracking, Rt as definedStores, hi as deriveEntityAdmins, n as documentLocale, y as emptyRichTextDocument, Ki as enqueueEntry, Ui as eventCatalog, Pi as filtersFromSchema, r as formActionPath, m as formDataToInput, S as formField, t as formSections, pn as freshIdempotencyKey, cn as getMutationNotifier, tn as getMutations, zr as globalContext, o as isRichTextDocument, s as isSafeHref, Pr as isUnauthenticated, Xe as isUnresolvedApi, In as makePreloadSeedBag, Vt as makeStoreSeedBag, ai as manifestUrl, Xi as markConflict, Yi as markFailed, Ji as markSent, ui as openAccessReason, h as parseRichText, Yr as provenanceUrl, je as publishClientError, me as publishClientTrace, Gn as readPreloadedSeedOutcome, Wn as readPreloadedSnapshot, Ve as registerSsrDescriptors, $i as replayable, Ne as reportClientError, li as requiredScopes, Kn as resetPreloadSeeds, Bt as resetStoreRegistryForTests, lt as resetStoreStorageForTest, q as resolveByTag, Zi as resolveConflictEntry, ct as resolveStoreStorage, Si as resolveTrackingEvent, b as resolveValidationMessage, ee as restrictToSchema, Tr as resumableConsumeProgram, f as richTextToPlainText, Wr as rowsToOptions, Qn as runSequence, e as schemaToColumns, x as schemaToFields, Vn as seedPreloadedSubscription, Hn as seedPreloadedSubscriptionFailure, Ut as seedStore, Zn as sequence, l as serializeRichText, sn as setMutationNotifier, Rn as setPreloadSeedResolver, Ht as setStoreSeedResolver, st as setStoreStorage, en as settleMutation, ut as shallow, Oi as shallowArrayEqual, ki as sourceValues, Le as ssrClientProxy, He as ssrDescriptorsFor, We as ssrStubHandle, U as stableKey, nt as startApiSupervisor, $t as startMutation, St as storeHistory, Me as subscribeClientErrors, he as subscribeClientTraces, nn as subscribeMutations, Ct as subscribeStoreHistory, ve as supersedesConfirmedPatches, Tt as travelToStoreState, di as useAccessDecision, bn as useAction, jr as useAgent, Ar as useAgentChat, wr as useAgentStream, Bi as useAsyncValidation, ri as useCan, ii as useCanAny, oi as useCapabilityManifest, ma as useConnection, oa as useConnectionStatus, pa as useConnections, Mr as useDataCopilot, qr as useDataTable, Ri as useDebounced, Ai as useDerived, Xn as useEvent, An as useFormBinding, Mn as useFormBindingContext, Nn as useFormField, Ur as useFormFlash, Ei as useFormSkeleton, K as useFrameworkApi, Ye as useFrameworkRuntimes, Q as useMutation, Ir as useOnRpcError, na as useOutbox, ni as usePermissions, qn as usePreloadedSubscription, Gi as usePreview, Xr as useProvenance, Gr as useQueryField, Ii as useQueryFilters, Li as useRecord, Nr as useRefreshSubscriptions, ji as useResourceCan, Mi as useResourceCans, Dr as useResumableAgentStream, $n as useSequence, Vr as useServerRequest, J as useSubscription, Rr as useSubscriptionHealth, Di as useTableSkeleton, Ti as useTracking, or as useTranscription, gi as useUndo, bi as useUndoLog, ar as useUpload, Cn as useValidationMessages, ia as useWindowedSubscription, cr as useWorkflow, gr as useWorkflowDomainEvents, _r as useWorkflowEventDeliveries, hr as useWorkflowEvents, dr as useWorkflowRun, mr as useWorkflowRunEvents, Cr as useWorkflowRunState, pr as useWorkflowRunSteps, fr as useWorkflowRuns, lr as useWorkflowSignal, ur as useWorkflowUpdate, Hi as validateEventPayload, i as validateFields, zi as validationStatus, Fr as wireAuthRefresh, mn as withIdempotencyKey, wi as wrapTrackedCallbacks };