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