@voltro/client 0.22.0 → 0.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/CHANGELOG.md +67 -0
  2. package/dist/index.js +429 -407
  3. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -19,21 +19,21 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
19
19
  emittedAt: void 0,
20
20
  error: void 0,
21
21
  pendingPatches: 0
22
- }), ee = 5e3, E = 0, te = () => `patch_${++E}`, D = (e, t) => {
22
+ }), ee = 5e3, te = 0, ne = () => `patch_${++te}`, E = (e, t) => {
23
23
  let n = e;
24
24
  for (let e of t.split(".")) {
25
25
  if (typeof n != "object" || !n) return;
26
26
  n = n[e];
27
27
  }
28
28
  return n;
29
- }, O = (e, t, n) => {
29
+ }, re = (e, t, n) => {
30
30
  let r = t.split("."), i = (e) => typeof e == "object" && e && !Array.isArray(e) ? { ...e } : {}, a = i(e), o = a;
31
31
  for (let e = 0; e < r.length - 1; e += 1) o[r[e]] = i(o[r[e]]), o = o[r[e]];
32
32
  return o[r[r.length - 1]] = n, a;
33
- }, k = (e, t) => {
33
+ }, ie = (e, t) => {
34
34
  let n = e.by ?? "id", r = e.identify ? e.identify(t) : typeof t[n] == "string" ? t[n] : typeof t.id == "string" ? t.id : void 0, i = r === void 0 ? [] : Array.isArray(r) ? r : [r];
35
35
  return i.length === 0 ? null : new Set(i);
36
- }, ne = (e, t, n) => {
36
+ }, ae = (e, t, n) => {
37
37
  let r = e.path, i = e.by ?? "id";
38
38
  if (e.op === "insert") {
39
39
  let a = e.shapeItem ?? e.shape, o = a ? {
@@ -46,11 +46,11 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
46
46
  optimistic: !0
47
47
  }, s = e.order ?? "append";
48
48
  return (e) => {
49
- let t = Array.isArray(D(e, r)) ? D(e, r) : [];
50
- return O(e ?? {}, r, s === "append" ? [...t, o] : [o, ...t]);
49
+ let t = Array.isArray(E(e, r)) ? E(e, r) : [];
50
+ return re(e ?? {}, r, s === "append" ? [...t, o] : [o, ...t]);
51
51
  };
52
52
  }
53
- let a = k(e, t);
53
+ let a = ie(e, t);
54
54
  if (a === null) return null;
55
55
  if (e.op === "update") {
56
56
  let n = e.shapeItem ?? e.shape, o = n ? (e) => ({
@@ -64,16 +64,16 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
64
64
  optimistic: !0
65
65
  });
66
66
  return (e) => {
67
- let t = Array.isArray(D(e, r)) ? D(e, r) : [];
68
- return O(e, r, t.map((e) => a.has(e[i]) ? o(e) : e));
67
+ let t = Array.isArray(E(e, r)) ? E(e, r) : [];
68
+ return re(e, r, t.map((e) => a.has(e[i]) ? o(e) : e));
69
69
  };
70
70
  }
71
71
  return (e) => {
72
- let t = Array.isArray(D(e, r)) ? D(e, r) : [];
73
- return O(e, r, t.filter((e) => !a.has(e[i])));
72
+ let t = Array.isArray(E(e, r)) ? E(e, r) : [];
73
+ return re(e, r, t.filter((e) => !a.has(e[i])));
74
74
  };
75
- }, re = (e, t, n) => {
76
- if (e.path !== void 0) return ne(e, t, n);
75
+ }, oe = (e, t, n) => {
76
+ if (e.path !== void 0) return ae(e, t, n);
77
77
  switch (e.op) {
78
78
  case "insert": {
79
79
  let r = e.shape ? {
@@ -91,7 +91,7 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
91
91
  };
92
92
  }
93
93
  case "update": {
94
- let n = k(e, t);
94
+ let n = ie(e, t);
95
95
  if (n === null) return null;
96
96
  let r = e.shape, i = r ? (e) => ({
97
97
  ...r(t, e),
@@ -108,17 +108,17 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
108
108
  });
109
109
  }
110
110
  case "delete": {
111
- let n = k(e, t);
111
+ let n = ie(e, t);
112
112
  return n === null ? null : (e) => (Array.isArray(e) ? e : []).filter((e) => !n.has(e.id));
113
113
  }
114
114
  }
115
- }, ie = 5e3, ae = class {
115
+ }, se = 5e3, ce = class {
116
116
  entries = /* @__PURE__ */ new Map();
117
117
  inactiveTtlMs;
118
118
  onChangeHook;
119
119
  errorBus;
120
120
  constructor(e = {}) {
121
- this.inactiveTtlMs = e.inactiveTtlMs ?? ie, this.onChangeHook = e.onChange, this.errorBus = e.errorBus;
121
+ this.inactiveTtlMs = e.inactiveTtlMs ?? se, this.onChangeHook = e.onChange, this.errorBus = e.errorBus;
122
122
  }
123
123
  subscribe(e, t, n, r, i = {}) {
124
124
  let a = w(e), o = typeof e[0] == "string" ? e[0] : void 0, s = this.entries.get(a);
@@ -131,7 +131,7 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
131
131
  let r = w(e), i = typeof e[0] == "string" ? e[0] : void 0, a = this.entries.get(r);
132
132
  a ||= this.createStub(r, i);
133
133
  let o = {
134
- id: te(),
134
+ id: ne(),
135
135
  mutationId: n,
136
136
  reducer: t
137
137
  };
@@ -145,7 +145,7 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
145
145
  for (let i of this.entries.values()) {
146
146
  if (i.tag !== e) continue;
147
147
  let a = {
148
- id: `forTag-${++E}`,
148
+ id: `forTag-${++te}`,
149
149
  mutationId: n,
150
150
  reducer: t
151
151
  };
@@ -165,7 +165,7 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
165
165
  t && setTimeout(() => this.revertByMutation(e), ee);
166
166
  }
167
167
  autoApply(e, t, n) {
168
- let r = `optimistic-${n}-${++E}`;
168
+ let r = `optimistic-${n}-${++te}`;
169
169
  for (let i of e) for (let e of this.entries.values()) {
170
170
  if (!(Array.isArray(e.source) ? e.source.includes(i.table) : e.source === i.table)) continue;
171
171
  if (i.match !== void 0) {
@@ -178,7 +178,7 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
178
178
  if (!n) continue;
179
179
  }
180
180
  if (e.computed && i.op === "insert" && i.path === void 0) continue;
181
- let a = re(i, t, r);
181
+ let a = oe(i, t, r);
182
182
  if (a === null) continue;
183
183
  let o = {
184
184
  id: `${r}-${e.key}`,
@@ -320,14 +320,14 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
320
320
  t && t.subscribers.size === 0 && (t.fiber && f.runFork(m.interrupt(t.fiber)), this.entries.delete(e));
321
321
  }, this.inactiveTtlMs)));
322
322
  }
323
- }, oe = class extends ae {
323
+ }, le = class extends ce {
324
324
  subscribe(e, t, n, r, i = {}) {
325
325
  return {
326
326
  getSnapshot: () => this.peek(e),
327
327
  unsubscribe: () => {}
328
328
  };
329
329
  }
330
- }, se = class {
330
+ }, ue = class {
331
331
  #e = /* @__PURE__ */ new Set();
332
332
  on(e) {
333
333
  return this.#e.add(e), () => {
@@ -339,30 +339,30 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
339
339
  t(e);
340
340
  } catch {}
341
341
  }
342
- }, ce = e(null), le = () => {
342
+ }, de = e(null), fe = () => {
343
343
  throw Error("Voltro: rpc / cache calls are not invokable on a not-yet-resolved api — either during SSR, or in the client boot window before the api client resolves");
344
- }, A = new Proxy(() => le(), {
345
- get: (e, t) => A,
344
+ }, D = new Proxy(() => fe(), {
345
+ get: (e, t) => D,
346
346
  has: () => !0,
347
- apply: () => le()
348
- }), ue = {
347
+ apply: () => fe()
348
+ }), pe = {
349
349
  runtime: { runPromise: () => Promise.reject(/* @__PURE__ */ Error("Voltro: mutations are not invokable during SSR")) },
350
- cache: new oe(),
351
- client: A,
350
+ cache: new le(),
351
+ client: D,
352
352
  descriptors: {},
353
353
  inspectBaseUrl: "",
354
- errorBus: new se()
355
- }, de = {
356
- get: () => ue,
354
+ errorBus: new ue()
355
+ }, me = {
356
+ get: () => pe,
357
357
  names: []
358
- }, j = !1, M = !1, N = null, fe = () => {
359
- j = !1, M = !1, N !== null && (clearTimeout(N), N = null);
360
- }, pe = () => {
361
- let e = r(ce);
362
- return e ? (M || (M = !0, N !== null && (clearTimeout(N), N = null)), e) : (typeof window < "u" && !j && !M && N === null && process.env.NODE_ENV !== "production" && (N = setTimeout(() => {
363
- N = null, !(j || M) && (j = !0, console.warn("useFrameworkRuntimes: no <FrameworkRuntimesProvider> in the tree — returning a loading baseline (subscriptions read `undefined`, mutations are no-ops). If this is not an intentional lazy/conditional mount, mount your app via @voltro/web mount() or wrap the subtree in <VoltroRuntimeProvider>."));
364
- }, 0)), de);
365
- }, P = (e) => pe().get(e), me = ({ apis: e, children: t }) => {
358
+ }, O = !1, k = !1, A = null, he = () => {
359
+ O = !1, k = !1, A !== null && (clearTimeout(A), A = null);
360
+ }, ge = () => {
361
+ let e = r(de);
362
+ return e ? (k || (k = !0, A !== null && (clearTimeout(A), A = null)), e) : (typeof window < "u" && !O && !k && A === null && process.env.NODE_ENV !== "production" && (A = setTimeout(() => {
363
+ A = null, !(O || k) && (O = !0, console.warn("useFrameworkRuntimes: no <FrameworkRuntimesProvider> in the tree — returning a loading baseline (subscriptions read `undefined`, mutations are no-ops). If this is not an intentional lazy/conditional mount, mount your app via @voltro/web mount() or wrap the subtree in <VoltroRuntimeProvider>."));
364
+ }, 0)), me);
365
+ }, j = (e) => ge().get(e), _e = ({ apis: e, children: t }) => {
366
366
  let n = o(() => ({
367
367
  get: (t) => {
368
368
  let n = e.get(t);
@@ -374,21 +374,21 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
374
374
  },
375
375
  names: Array.from(e.keys())
376
376
  }), [e]);
377
- return /* @__PURE__ */ y(ce.Provider, {
377
+ return /* @__PURE__ */ y(de.Provider, {
378
378
  value: n,
379
379
  children: t
380
380
  });
381
- }, F = (e, t) => {
381
+ }, M = (e, t) => {
382
382
  if (Object.is(e, t)) return !0;
383
383
  if (typeof e != "object" || typeof t != "object" || e === null || t === null || Array.isArray(e) !== Array.isArray(t)) return !1;
384
384
  let n = Object.keys(e), r = Object.keys(t);
385
385
  if (n.length !== r.length) return !1;
386
386
  for (let r of n) if (!Object.prototype.hasOwnProperty.call(t, r) || !Object.is(e[r], t[r])) return !1;
387
387
  return !0;
388
- }, he = 50, ge = /* @__PURE__ */ new Set(), _e = (e, t) => {
389
- ge.has(e) || (ge.add(e), console.warn(t));
390
- }, ve = "\0global", ye = null, be = (e, t, n) => {
391
- let r = ye?.() ?? null;
388
+ }, ve = 50, N = /* @__PURE__ */ new Set(), ye = (e, t) => {
389
+ N.has(e) || (N.add(e), console.warn(t));
390
+ }, P = "\0global", be = null, xe = (e, t, n) => {
391
+ let r = be?.() ?? null;
392
392
  if (r === null) return n;
393
393
  let i = n;
394
394
  for (let n of r.seeds) n.store !== e || n.key !== t || (i = {
@@ -396,9 +396,9 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
396
396
  ...n.value
397
397
  });
398
398
  return i;
399
- }, xe = (e, t) => {
399
+ }, Se = (e, t) => {
400
400
  let n = e(), r = /* @__PURE__ */ new Set(), i = 0, a = 0, o, s, c = () => {
401
- if (i >= he) throw i = 0, Error(`defineStore: notification depth exceeded ${he} — a subscriber writes a NEW value every time it is notified, so the store can never settle. Look for a listener calling set() with something derived from the current state without converging.`);
401
+ if (i >= ve) throw i = 0, Error(`defineStore: notification depth exceeded ${ve} — a subscriber writes a NEW value every time it is notified, so the store can never settle. Look for a listener calling set() with something derived from the current state without converging.`);
402
402
  i += 1;
403
403
  try {
404
404
  for (let e of [...r]) e();
@@ -419,20 +419,20 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
419
419
  if (typeof i?.then == "function") throw a === 1 && o !== void 0 && (n = o), --a, a === 0 && (o = void 0, s = void 0), Error(`defineStore: batch('${e}') was given an async function. A batch is synchronous — everything after the first await would land outside it. Await the work first, then batch the writes: \`const r = await load(); store.batch('${e}', () => { … })\`.`);
420
420
  if (--a, a > 0) return;
421
421
  let l = o, u = s;
422
- o = void 0, s = void 0, !F(l, n) && (t(l, n, u), c());
422
+ o = void 0, s = void 0, !M(l, n) && (t(l, n, u), c());
423
423
  },
424
424
  set: (e, r) => {
425
425
  let i = typeof e == "function" ? e(n) : {
426
426
  ...n,
427
427
  ...e
428
428
  };
429
- if (F(i, n)) return;
429
+ if (M(i, n)) return;
430
430
  let o = n;
431
431
  n = i, !(a > 0) && (t(o, i, r), c());
432
432
  },
433
433
  reset: () => {
434
434
  let r = e();
435
- if (F(r, n)) return;
435
+ if (M(r, n)) return;
436
436
  let i = n;
437
437
  n = r, !(a > 0) && (t(i, r, "reset"), c());
438
438
  },
@@ -440,41 +440,63 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
440
440
  r.delete(e);
441
441
  })
442
442
  };
443
- }, Se = 200, I = [], L = /* @__PURE__ */ new Set(), R = [], Ce = () => R, we = (e) => (L.add(e), () => {
444
- L.delete(e);
445
- }), Te = () => {
446
- I.length = 0, R = [];
447
- }, Ee = (e, t) => {
448
- let n = I[e];
443
+ }, Ce = 200, F = [], we = /* @__PURE__ */ new Set(), Te = [], Ee = () => Te, De = (e) => (we.add(e), () => {
444
+ we.delete(e);
445
+ }), Oe = () => {
446
+ F.length = 0, Te = [];
447
+ }, ke = (e, t) => {
448
+ let n = F[e];
449
449
  if (n === void 0) return !1;
450
- let r = V.get(n.store);
450
+ let r = R.get(n.store);
451
451
  if (r === void 0) return !1;
452
452
  let i = t === "before" ? n.prev : n.next;
453
- B = !0;
453
+ L = !0;
454
454
  try {
455
455
  r.set(() => i, n.key, `travel:${t}`);
456
456
  } finally {
457
- B = !1;
457
+ L = !1;
458
458
  }
459
459
  return !0;
460
- }, z = !1, B = !1, De = (e) => {
461
- I.push(e), I.length > Se && I.shift(), R = [...I];
462
- for (let e of [...L]) e();
463
- }, V = /* @__PURE__ */ new Map(), Oe = () => [...V.values()], ke = (e, t, r) => {
464
- if (V.has(e)) 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.`);
465
- let a = r?.persist, o = () => {
460
+ }, I = !1, L = !1, Ae = (e) => {
461
+ F.push(e), F.length > Ce && F.shift(), Te = [...F];
462
+ for (let e of [...we]) e();
463
+ }, R = /* @__PURE__ */ new Map(), je = /* @__PURE__ */ new Map(), Me = 0, Ne = !1, Pe = /* @__PURE__ */ new Map(), Fe = () => (Ne || (Ne = !0, queueMicrotask(() => {
464
+ Me += 1, Ne = !1;
465
+ })), Me), Ie = Le(((/* @__PURE__ */ Error()).stack ?? "").split("\n")[1] ?? "") ?? "";
466
+ function Le(e) {
467
+ let t = e.trim().replace(/^at\s+/, ""), n = /\(([^()]+)\)\s*$/.exec(t)?.[1] ?? t;
468
+ return n.length > 0 ? n : void 0;
469
+ }
470
+ var Re = () => {
471
+ let e = (/* @__PURE__ */ Error()).stack;
472
+ if (typeof e != "string") return "<unknown>";
473
+ for (let t of e.split("\n").slice(1)) {
474
+ let e = Le(t);
475
+ if (e === void 0) continue;
476
+ let n = e.replace(/:\d+:\d+$/, "");
477
+ if (!(Ie !== "" && n === Ie.replace(/:\d+:\d+$/, ""))) return n;
478
+ }
479
+ return "<unknown>";
480
+ }, ze = () => [...R.values()], Be = (e, t, r) => {
481
+ let a = Re(), o = Fe(), c = R.get(e);
482
+ if (c !== void 0) {
483
+ let t = je.get(e) ?? "<unknown>", n = Pe.get(e) === o;
484
+ if (a !== "<unknown>" && a === t && !n) return c;
485
+ throw Error(`defineStore: '${e}' is already defined. Store names are the devtools + seed key, so two stores sharing one name would silently share state. Rename one.\n first: ${t}\n second: ${a}`);
486
+ }
487
+ let u = r?.persist, d = () => {
466
488
  if (typeof window > "u") return null;
467
489
  try {
468
- return (a?.storage === "session" ? window.sessionStorage : window.localStorage) ?? null;
490
+ return (u?.storage === "session" ? window.sessionStorage : window.localStorage) ?? null;
469
491
  } catch {
470
492
  return null;
471
493
  }
472
- }, c = () => {
473
- let e = o();
474
- if (e === null || a === void 0) return;
494
+ }, f = () => {
495
+ let e = d();
496
+ if (e === null || u === void 0) return;
475
497
  let t;
476
498
  try {
477
- t = e.getItem(a.key);
499
+ t = e.getItem(u.key);
478
500
  } catch {
479
501
  return;
480
502
  }
@@ -485,66 +507,66 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
485
507
  } catch {
486
508
  return;
487
509
  }
488
- return a.migrate ? a.migrate(n) : n;
489
- }, u = (e) => {
490
- let t = o();
491
- if (t === null || a === void 0) return;
492
- let n = a.pick ? a.pick(e) : e;
510
+ return u.migrate ? u.migrate(n) : n;
511
+ }, p = (e) => {
512
+ let t = d();
513
+ if (t === null || u === void 0) return;
514
+ let n = u.pick ? u.pick(e) : e;
493
515
  try {
494
- t.setItem(a.key, JSON.stringify(n));
516
+ t.setItem(u.key, JSON.stringify(n));
495
517
  } catch {}
496
- }, d = /* @__PURE__ */ new Map(), f = (n) => {
497
- let r = n ?? ve, i = d.get(r);
518
+ }, m = /* @__PURE__ */ new Map(), h = (n) => {
519
+ let r = n ?? P, i = m.get(r);
498
520
  if (i === void 0) {
499
- let o = n;
500
- i = xe(a !== void 0 && n === void 0 ? () => {
521
+ let a = n;
522
+ i = Se(u !== void 0 && n === void 0 ? () => {
501
523
  let e = t();
502
- return p = e, {
524
+ return g = e, {
503
525
  ...e,
504
- ...c() ?? {}
526
+ ...f() ?? {}
505
527
  };
506
528
  } : t, (t, n, r) => {
507
- if (a !== void 0 && o === void 0 && u(n), !z && !B) {
508
- let e = h(o);
529
+ if (u !== void 0 && a === void 0 && p(n), !I && !L) {
530
+ let e = v(a);
509
531
  e.steps.length = e.cursor, e.steps.push({
510
532
  prev: t,
511
533
  next: n
512
- }), e.steps.length > g && e.steps.shift(), e.cursor = e.steps.length;
534
+ }), e.steps.length > y && e.steps.shift(), e.cursor = e.steps.length;
513
535
  }
514
- De({
536
+ Ae({
515
537
  store: e,
516
- ...o === void 0 ? {} : { key: o },
538
+ ...a === void 0 ? {} : { key: a },
517
539
  ...r === void 0 ? {} : { label: r },
518
- ...z || B ? { isUndo: !0 } : {},
540
+ ...I || L ? { isUndo: !0 } : {},
519
541
  prev: t,
520
542
  next: n,
521
543
  at: Date.now()
522
544
  });
523
- }), d.set(r, i);
545
+ }), m.set(r, i);
524
546
  }
525
547
  return i;
526
- }, p, m = /* @__PURE__ */ new Map(), h = (e) => {
527
- let t = e ?? ve, n = m.get(t);
548
+ }, g, _ = /* @__PURE__ */ new Map(), v = (e) => {
549
+ let t = e ?? P, n = _.get(t);
528
550
  return n === void 0 && (n = {
529
551
  steps: [],
530
552
  cursor: 0
531
- }, m.set(t, n)), n;
532
- }, g = 100, _ = /* @__PURE__ */ new Map(), v = /* @__PURE__ */ new Map(), y = (e) => {
533
- let t = v.get(e);
534
- t !== void 0 && (clearTimeout(t), v.delete(e)), _.set(e, (_.get(e) ?? 0) + 1);
535
- }, b = (e) => {
536
- let t = (_.get(e) ?? 1) - 1;
553
+ }, _.set(t, n)), n;
554
+ }, y = 100, b = /* @__PURE__ */ new Map(), x = /* @__PURE__ */ new Map(), S = (e) => {
555
+ let t = x.get(e);
556
+ t !== void 0 && (clearTimeout(t), x.delete(e)), b.set(e, (b.get(e) ?? 0) + 1);
557
+ }, C = (e) => {
558
+ let t = (b.get(e) ?? 1) - 1;
537
559
  if (t > 0) {
538
- _.set(e, t);
560
+ b.set(e, t);
539
561
  return;
540
562
  }
541
- _.delete(e), v.set(e, setTimeout(() => {
542
- v.delete(e), (_.get(e) ?? 0) === 0 && d.delete(e);
563
+ b.delete(e), x.set(e, setTimeout(() => {
564
+ x.delete(e), (b.get(e) ?? 0) === 0 && m.delete(e);
543
565
  }, 0));
544
- }, x = {
566
+ }, w = {
545
567
  name: e,
546
568
  use: (t, r) => {
547
- let a = f(r?.key), o = s(t);
569
+ let a = h(r?.key), o = s(t);
548
570
  o.current = t;
549
571
  let c = s(r?.equals);
550
572
  c.current = r?.equals;
@@ -556,89 +578,89 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
556
578
  let n = u.current;
557
579
  if (n.has && Object.is(n.state, t)) return n.value;
558
580
  let r = o.current(t), i = c.current, a = n.has && (i ? i(n.value, r) : Object.is(n.value, r));
559
- process.env.NODE_ENV !== "production" && i === void 0 && n.has && !a && typeof r == "object" && r && F(n.value, r) && _e(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.`);
581
+ process.env.NODE_ENV !== "production" && i === void 0 && n.has && !a && typeof r == "object" && r && M(n.value, r) && ye(e, `[@voltro/client] ${e}.use(): the selector returns a NEW object each call, so the default identity check never sees it as unchanged and this component re-renders on EVERY store change.\n Pass \`{ equals: shallow }\` (exported from @voltro/client), or select a primitive.`);
560
582
  let s = a ? n.value : r;
561
583
  return u.current = {
562
584
  state: t,
563
585
  value: s,
564
586
  has: !0
565
587
  }, s;
566
- }, []), m = r?.key, h = r?.retain === !0, g = l(n((e) => {
588
+ }, []), f = r?.key, p = r?.retain === !0, m = l(n((e) => {
567
589
  let t = a.subscribe(e);
568
- return m !== void 0 && !h && y(m), () => {
569
- t(), m !== void 0 && !h && b(m);
590
+ return f !== void 0 && !p && S(f), () => {
591
+ t(), f !== void 0 && !p && C(f);
570
592
  };
571
593
  }, [
572
594
  a,
573
- m,
574
- h
575
- ]), n(() => d(a.get()), [a, d]), n(() => d(be(e, r?.key, r?.key === void 0 && p !== void 0 ? p : a.get())), [
595
+ f,
596
+ p
597
+ ]), n(() => d(a.get()), [a, d]), n(() => d(xe(e, r?.key, r?.key === void 0 && g !== void 0 ? g : a.get())), [
576
598
  a,
577
599
  r?.key,
578
600
  d
579
601
  ]));
580
- return i(g), g;
602
+ return i(m), m;
581
603
  },
582
- instance: f,
583
- get: (e) => f(e).get(),
604
+ instance: h,
605
+ get: (e) => h(e).get(),
584
606
  set: (e, t, n) => {
585
- f(t).set(e, n);
607
+ h(t).set(e, n);
586
608
  },
587
609
  batch: (e, t, n) => {
588
- f(n).batch(e, t);
610
+ h(n).batch(e, t);
589
611
  },
590
612
  undo: (e) => {
591
- let t = h(e);
613
+ let t = v(e);
592
614
  if (t.cursor === 0) return !1;
593
- --t.cursor, z = !0;
615
+ --t.cursor, I = !0;
594
616
  try {
595
- f(e).set(() => t.steps[t.cursor].prev, "undo");
617
+ h(e).set(() => t.steps[t.cursor].prev, "undo");
596
618
  } finally {
597
- z = !1;
619
+ I = !1;
598
620
  }
599
621
  return !0;
600
622
  },
601
623
  redo: (e) => {
602
- let t = h(e);
624
+ let t = v(e);
603
625
  if (t.cursor >= t.steps.length) return !1;
604
626
  let n = t.steps[t.cursor];
605
- t.cursor += 1, z = !0;
627
+ t.cursor += 1, I = !0;
606
628
  try {
607
- f(e).set(() => n.next, "redo");
629
+ h(e).set(() => n.next, "redo");
608
630
  } finally {
609
- z = !1;
631
+ I = !1;
610
632
  }
611
633
  return !0;
612
634
  },
613
- canUndo: (e) => h(e).cursor > 0,
635
+ canUndo: (e) => v(e).cursor > 0,
614
636
  canRedo: (e) => {
615
- let t = h(e);
637
+ let t = v(e);
616
638
  return t.cursor < t.steps.length;
617
639
  },
618
640
  release: (e) => {
619
- d.delete(e), m.delete(e);
641
+ m.delete(e), _.delete(e);
620
642
  },
621
- keys: () => [...d.keys()].filter((e) => e !== ve)
643
+ keys: () => [...m.keys()].filter((e) => e !== P)
622
644
  };
623
- return V.set(e, x), x;
624
- }, Ae = () => {
625
- V.clear(), ge.clear();
626
- }, je = () => ({ seeds: [] }), Me = (e) => {
627
- ye = e;
628
- }, Ne = (e, t, n) => {
629
- let r = ye?.() ?? null;
645
+ return R.set(e, w), je.set(e, a), Pe.set(e, o), w;
646
+ }, Ve = () => {
647
+ R.clear(), je.clear(), Pe.clear(), N.clear();
648
+ }, He = () => ({ seeds: [] }), Ue = (e) => {
649
+ be = e;
650
+ }, We = (e, t, n) => {
651
+ let r = be?.() ?? null;
630
652
  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.)`);
631
653
  r.seeds.push({
632
654
  store: e.name,
633
655
  ...n?.key === void 0 ? {} : { key: n.key },
634
656
  value: t
635
657
  });
636
- }, Pe = (e) => {
658
+ }, Ge = (e) => {
637
659
  if (e !== void 0) for (let t of e) {
638
- let e = V.get(t.store);
660
+ let e = R.get(t.store);
639
661
  e !== void 0 && e.set(t.value, t.key);
640
662
  }
641
- }, H = (e, t) => {
663
+ }, z = (e, t) => {
642
664
  let n = t.split("."), r = e;
643
665
  for (let e = 0; e < n.length; e++) {
644
666
  let i = n[e];
@@ -657,29 +679,29 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
657
679
  }
658
680
  if (typeof r != "function") throw Error(`@voltro/client: rpc tag ${JSON.stringify(t)} did not resolve to a callable method.`);
659
681
  return r;
660
- }, Fe = Object.freeze({
682
+ }, Ke = Object.freeze({
661
683
  data: void 0,
662
684
  revision: -1,
663
685
  emittedAt: void 0,
664
686
  error: void 0,
665
687
  pendingPatches: 0
666
- }), Ie = () => Fe;
667
- function U(e, t, r = {}, i = {}) {
668
- let a = i.skip === !0, { runtime: c, cache: u, client: d, descriptors: f } = P(e), p = f[t]?.source, m = s(r);
688
+ }), qe = () => Ke;
689
+ function B(e, t, r = {}, i = {}) {
690
+ let a = i.skip === !0, { runtime: c, cache: u, client: d, descriptors: f } = j(e), p = f[t]?.source, m = s(r);
669
691
  m.current = r;
670
692
  let h = s(d);
671
693
  h.current = d;
672
- let g = s(() => H(h.current, t)(m.current)), _ = o(() => [t, m.current], [t, o(() => JSON.stringify(Object.entries(r).sort(([e], [t]) => e.localeCompare(t))), [r])]), v = l(n((e) => a ? () => {} : u.subscribe(_, g.current, c, e, p === void 0 ? {} : { source: p }).unsubscribe, [
694
+ let g = s(() => z(h.current, t)(m.current)), _ = o(() => [t, m.current], [t, o(() => JSON.stringify(Object.entries(r).sort(([e], [t]) => e.localeCompare(t))), [r])]), v = l(n((e) => a ? () => {} : u.subscribe(_, g.current, c, e, p === void 0 ? {} : { source: p }).unsubscribe, [
673
695
  u,
674
696
  c,
675
697
  p,
676
698
  a,
677
699
  _
678
- ]), n(() => a ? Fe : u.peek(_), [
700
+ ]), n(() => a ? Ke : u.peek(_), [
679
701
  u,
680
702
  a,
681
703
  _
682
- ]), Ie), y = v.data !== void 0, b = y && (Array.isArray(v.data) ? v.data.length === 0 : v.data === null), x = {
704
+ ]), qe), y = v.data !== void 0, b = y && (Array.isArray(v.data) ? v.data.length === 0 : v.data === null), x = {
683
705
  revision: v.revision,
684
706
  emittedAt: v.emittedAt,
685
707
  error: v.error,
@@ -723,7 +745,7 @@ function U(e, t, r = {}, i = {}) {
723
745
  }
724
746
  //#endregion
725
747
  //#region src/sequence.ts
726
- var Le = () => {
748
+ var Je = () => {
727
749
  let e = (t) => ({
728
750
  steps: t,
729
751
  step: ((n, r, i) => e([...t, {
@@ -735,7 +757,7 @@ var Le = () => {
735
757
  }]))
736
758
  });
737
759
  return e([]);
738
- }, Re = async (e, t = {}) => {
760
+ }, Ye = async (e, t = {}) => {
739
761
  let n = {}, r = [];
740
762
  for (let i of e.steps) {
741
763
  if (i.when !== void 0 && !i.when(n)) {
@@ -795,13 +817,13 @@ var Le = () => {
795
817
  ok: !0,
796
818
  data: n
797
819
  };
798
- }, ze = (e = {}) => {
820
+ }, Xe = (e = {}) => {
799
821
  let [t, r] = c(!1), [i, a] = c(void 0), [o, l] = c(void 0), u = s(e);
800
822
  return u.current = e, {
801
823
  run: n(async (e, t = {}) => {
802
824
  r(!0), a(void 0), l(void 0);
803
825
  try {
804
- let n = await Re(e, {
826
+ let n = await Ye(e, {
805
827
  ...u.current,
806
828
  ...t
807
829
  });
@@ -814,25 +836,25 @@ var Le = () => {
814
836
  error: i,
815
837
  failedStep: o
816
838
  };
817
- }, Be = 100, W = [], G = /* @__PURE__ */ new Set(), Ve = [], He = () => {
818
- Ve = W.slice();
819
- }, Ue = () => {
820
- He();
821
- for (let e of G) try {
839
+ }, Ze = 100, V = [], H = /* @__PURE__ */ new Set(), Qe = [], $e = () => {
840
+ Qe = V.slice();
841
+ }, U = () => {
842
+ $e();
843
+ for (let e of H) try {
822
844
  e();
823
845
  } catch {}
824
- }, We = (e) => {
846
+ }, W = (e) => {
825
847
  let t = {
826
848
  ...e,
827
849
  status: "pending",
828
850
  startedAt: Date.now()
829
851
  };
830
- W.unshift(t), W.length > Be && (W.length = Be), Ue();
831
- }, K = (e, t) => {
832
- let n = W.findIndex((t) => t.id === e);
852
+ V.unshift(t), V.length > Ze && (V.length = Ze), U();
853
+ }, G = (e, t) => {
854
+ let n = V.findIndex((t) => t.id === e);
833
855
  if (n === -1) return;
834
- let r = W[n], i = Date.now();
835
- W[n] = t.status === "success" ? {
856
+ let r = V[n], i = Date.now();
857
+ V[n] = t.status === "success" ? {
836
858
  ...r,
837
859
  status: "success",
838
860
  output: t.output,
@@ -844,12 +866,12 @@ var Le = () => {
844
866
  error: t.error,
845
867
  settledAt: i,
846
868
  durationMs: i - r.startedAt
847
- }, Ue();
848
- }, Ge = () => Ve, Ke = (e) => (G.add(e), () => {
849
- G.delete(e);
850
- }), qe = () => {
851
- W.length !== 0 && (W.length = 0, Ue());
852
- }, Je = (e, t) => {
869
+ }, U();
870
+ }, et = () => Qe, tt = (e) => (H.add(e), () => {
871
+ H.delete(e);
872
+ }), nt = () => {
873
+ V.length !== 0 && (V.length = 0, U());
874
+ }, rt = (e, t) => {
853
875
  if (t === void 0 || typeof e != "object" || !e) return e;
854
876
  try {
855
877
  Object.defineProperty(e, "__voltroTraceId", {
@@ -859,15 +881,15 @@ var Le = () => {
859
881
  });
860
882
  } catch {}
861
883
  return e;
862
- }, q, Ye = (e) => {
863
- q = e;
864
- }, Xe = () => q, Ze = (e, t, n) => typeof e == "function" ? e(t, n) : e, Qe = 0, $e = () => `mut_${++Qe}`, et = (e, t) => ({
884
+ }, K, it = (e) => {
885
+ K = e;
886
+ }, at = () => K, ot = (e, t, n) => typeof e == "function" ? e(t, n) : e, st = 0, ct = () => `mut_${++st}`, lt = (e, t) => ({
865
887
  update: (n, r) => {
866
888
  e.update(n, r, t);
867
889
  },
868
890
  forTag: (n, r) => e.forTag(n, r, t)
869
- }), J = (e, t) => {
870
- let { runtime: r, cache: i, client: a, descriptors: l, errorBus: u } = P(e), d = l[t], p = d?.targets;
891
+ }), q = (e, t) => {
892
+ let { runtime: r, cache: i, client: a, descriptors: l, errorBus: u } = j(e), d = l[t], p = d?.targets;
871
893
  if (process.env.NODE_ENV !== "production") {
872
894
  let n = d?.kind;
873
895
  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.`);
@@ -875,12 +897,12 @@ var Le = () => {
875
897
  let [m, h] = c(!1), [g, _] = c(void 0), [v, y] = c(void 0), b = s(null), x = s(!1), C = n(async (n, o) => {
876
898
  let s = o?.onError !== void 0 || o?.notify?.error !== void 0, c = (e) => {
877
899
  o?.onError?.(e, n);
878
- let t = Ze(o?.notify?.error, e, n);
879
- t !== void 0 && q?.error(t);
900
+ let t = ot(o?.notify?.error, e, n);
901
+ t !== void 0 && K?.error(t);
880
902
  };
881
903
  h(!0), _(void 0);
882
- let l = $e();
883
- We({
904
+ let l = ct();
905
+ W({
884
906
  id: l,
885
907
  apiName: e,
886
908
  tag: t,
@@ -888,9 +910,9 @@ var Le = () => {
888
910
  });
889
911
  let d = b.current, m = x.current;
890
912
  if (d) try {
891
- d(et(i, l), n);
913
+ d(lt(i, l), n);
892
914
  } catch (e) {
893
- if (_(e), h(!1), i.revertByMutation(l), K(l, {
915
+ if (_(e), h(!1), i.revertByMutation(l), G(l, {
894
916
  status: "error",
895
917
  error: e
896
918
  }), s) return c(e);
@@ -899,7 +921,7 @@ var Le = () => {
899
921
  else !m && p && p.length > 0 && i.autoApply(p, n, l);
900
922
  let g;
901
923
  try {
902
- let s = H(a, t), c = f.currentSpan.pipe(f.tap((e) => f.sync(() => {
924
+ let s = z(a, t), c = f.currentSpan.pipe(f.tap((e) => f.sync(() => {
903
925
  g = e.traceId, S({
904
926
  traceId: e.traceId,
905
927
  spanId: e.spanId,
@@ -911,15 +933,15 @@ var Le = () => {
911
933
  "voltro.mutationId": l,
912
934
  "rpc.tag": t
913
935
  } })), u = await r.runPromise(c);
914
- y(u), K(l, {
936
+ y(u), G(l, {
915
937
  status: "success",
916
938
  output: u
917
939
  }), i.confirmByMutation(l), o?.onSuccess?.(u, n);
918
- let d = Ze(o?.notify?.success, u, n);
919
- return d !== void 0 && q?.success(d), u;
940
+ let d = ot(o?.notify?.success, u, n);
941
+ return d !== void 0 && K?.success(d), u;
920
942
  } catch (e) {
921
- let n = Je(e, g);
922
- if (_(n), K(l, {
943
+ let n = rt(e, g);
944
+ if (_(n), G(l, {
923
945
  status: "error",
924
946
  error: n
925
947
  }), i.revertByMutation(l), u.emit({
@@ -956,7 +978,7 @@ var Le = () => {
956
978
  g,
957
979
  v
958
980
  ]);
959
- }, tt = (e, t) => {
981
+ }, ut = (e, t) => {
960
982
  if (t === void 0 || typeof e != "object" || !e) return e;
961
983
  try {
962
984
  Object.defineProperty(e, "__voltroTraceId", {
@@ -966,8 +988,8 @@ var Le = () => {
966
988
  });
967
989
  } catch {}
968
990
  return e;
969
- }, nt = (e, t, n) => typeof e == "function" ? e(t, n) : e, rt = 0, it = () => `act_${++rt}`, Y = (e, t) => {
970
- let { runtime: r, client: i, descriptors: a, errorBus: s } = P(e);
991
+ }, dt = (e, t, n) => typeof e == "function" ? e(t, n) : e, ft = 0, pt = () => `act_${++ft}`, J = (e, t) => {
992
+ let { runtime: r, client: i, descriptors: a, errorBus: s } = j(e);
971
993
  if (process.env.NODE_ENV !== "production") {
972
994
  let n = a[t]?.kind;
973
995
  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.`);
@@ -975,8 +997,8 @@ var Le = () => {
975
997
  let [l, u] = c(!1), [d, p] = c(void 0), [m, h] = c(void 0), g = n(async (n, a) => {
976
998
  let o = a?.onError !== void 0 || a?.notify?.error !== void 0;
977
999
  u(!0), p(void 0);
978
- let c = it();
979
- We({
1000
+ let c = pt();
1001
+ W({
980
1002
  id: c,
981
1003
  apiName: e,
982
1004
  tag: t,
@@ -984,7 +1006,7 @@ var Le = () => {
984
1006
  });
985
1007
  let l;
986
1008
  try {
987
- let o = H(i, t), s = f.currentSpan.pipe(f.tap((e) => f.sync(() => {
1009
+ let o = z(i, t), s = f.currentSpan.pipe(f.tap((e) => f.sync(() => {
988
1010
  l = e.traceId, S({
989
1011
  traceId: e.traceId,
990
1012
  spanId: e.spanId,
@@ -996,15 +1018,15 @@ var Le = () => {
996
1018
  "voltro.actionId": c,
997
1019
  "rpc.tag": t
998
1020
  } })), u = await r.runPromise(s);
999
- h(u), K(c, {
1021
+ h(u), G(c, {
1000
1022
  status: "success",
1001
1023
  output: u
1002
1024
  }), a?.onSuccess?.(u, n);
1003
- let d = nt(a?.notify?.success, u, n);
1004
- return d !== void 0 && Xe()?.success(d), u;
1025
+ let d = dt(a?.notify?.success, u, n);
1026
+ return d !== void 0 && at()?.success(d), u;
1005
1027
  } catch (e) {
1006
- let r = tt(e, l);
1007
- if (p(r), K(c, {
1028
+ let r = ut(e, l);
1029
+ if (p(r), G(c, {
1008
1030
  status: "error",
1009
1031
  error: r
1010
1032
  }), s.emit({
@@ -1014,8 +1036,8 @@ var Le = () => {
1014
1036
  ...l === void 0 ? {} : { traceId: l }
1015
1037
  }), o) {
1016
1038
  a?.onError?.(r, n);
1017
- let e = nt(a?.notify?.error, r, n);
1018
- e !== void 0 && Xe()?.error(e);
1039
+ let e = dt(a?.notify?.error, r, n);
1040
+ e !== void 0 && at()?.error(e);
1019
1041
  return;
1020
1042
  }
1021
1043
  throw r;
@@ -1040,7 +1062,7 @@ var Le = () => {
1040
1062
  d,
1041
1063
  m
1042
1064
  ]);
1043
- }, at = "storage.mintUploadTicket", ot = "storage.mintPresignedUpload", st = "storage.finalizeUpload", ct = "storage.beginResumableUpload", lt = "storage.beginMultipartUpload", ut = "storage.signMultipartPart", dt = "storage.completeMultipartUpload", ft = "storage.abortMultipartUpload", pt = (e, t, n, r) => new Promise((i, a) => {
1065
+ }, mt = "storage.mintUploadTicket", ht = "storage.mintPresignedUpload", gt = "storage.finalizeUpload", _t = "storage.beginResumableUpload", vt = "storage.beginMultipartUpload", yt = "storage.signMultipartPart", bt = "storage.completeMultipartUpload", xt = "storage.abortMultipartUpload", St = (e, t, n, r) => new Promise((i, a) => {
1044
1066
  let o = new XMLHttpRequest();
1045
1067
  if (o.open("PUT", e), o.upload.onprogress = (e) => {
1046
1068
  e.lengthComputable && n(e.loaded / e.total);
@@ -1054,7 +1076,7 @@ var Le = () => {
1054
1076
  return;
1055
1077
  }
1056
1078
  r.addEventListener("abort", () => o.abort(), { once: !0 }), o.send(t);
1057
- }), mt = (e, t, n, r, i, a) => new Promise((o, s) => {
1079
+ }), Ct = (e, t, n, r, i, a) => new Promise((o, s) => {
1058
1080
  let c = new XMLHttpRequest();
1059
1081
  if (c.open("POST", e), c.setRequestHeader("content-type", t), c.upload.onprogress = (e) => {
1060
1082
  e.lengthComputable && r(e.loaded / e.total);
@@ -1072,7 +1094,7 @@ var Le = () => {
1072
1094
  return;
1073
1095
  }
1074
1096
  i.addEventListener("abort", () => c.abort(), { once: !0 }), c.send(n);
1075
- }), ht = (e, t, n, r, i) => new Promise((a, o) => {
1097
+ }), wt = (e, t, n, r, i) => new Promise((a, o) => {
1076
1098
  let s = new XMLHttpRequest();
1077
1099
  if (s.open("PUT", e), s.setRequestHeader("content-type", t), s.upload.onprogress = (e) => {
1078
1100
  e.lengthComputable && r(e.loaded / e.total);
@@ -1083,7 +1105,7 @@ var Le = () => {
1083
1105
  return;
1084
1106
  }
1085
1107
  i.addEventListener("abort", () => s.abort(), { once: !0 }), s.send(n);
1086
- }), gt = (e, t, n, r, i) => new Promise((a, o) => {
1108
+ }), Tt = (e, t, n, r, i) => new Promise((a, o) => {
1087
1109
  let s = new XMLHttpRequest();
1088
1110
  if (s.open("POST", e), s.setRequestHeader("content-type", t), s.upload.onprogress = (e) => {
1089
1111
  e.lengthComputable && r(e.loaded / e.total);
@@ -1099,8 +1121,8 @@ var Le = () => {
1099
1121
  return;
1100
1122
  }
1101
1123
  i.addEventListener("abort", () => s.abort(), { once: !0 }), s.send(n);
1102
- }), _t = (e, t = {}) => {
1103
- let { runtime: r, client: i, inspectBaseUrl: a, errorBus: l } = P(e), [u, d] = c(0), [f, p] = c("idle"), [m, h] = c(void 0), g = s(null), _ = n(() => {
1124
+ }), Et = (e, t = {}) => {
1125
+ let { runtime: r, client: i, inspectBaseUrl: a, errorBus: l } = j(e), [u, d] = c(0), [f, p] = c("idle"), [m, h] = c(void 0), g = s(null), _ = n(() => {
1104
1126
  d(0), p("idle"), h(void 0);
1105
1127
  }, []), v = n(() => {
1106
1128
  g.current?.abort();
@@ -1120,16 +1142,16 @@ var Le = () => {
1120
1142
  ...e.width === void 0 ? {} : { width: e.width },
1121
1143
  ...e.height === void 0 ? {} : { height: e.height }
1122
1144
  }), g = async () => {
1123
- let s = n.mintTag ?? t.mintTag ?? at, l = H(i, s), u = await r.runPromise(l({
1145
+ let s = n.mintTag ?? t.mintTag ?? mt, l = z(i, s), u = await r.runPromise(l({
1124
1146
  contentType: c,
1125
1147
  ...m,
1126
1148
  ...d ? { key: d } : {}
1127
- })), f = await gt(y(u.uploadUrl), c, e, o, a);
1149
+ })), f = await Tt(y(u.uploadUrl), c, e, o, a);
1128
1150
  return h(f);
1129
1151
  }, _ = async () => {
1130
- let s = n.presignMintTag ?? t.presignMintTag ?? ot, l = n.finalizeTag ?? t.finalizeTag ?? st, u;
1152
+ let s = n.presignMintTag ?? t.presignMintTag ?? ht, l = n.finalizeTag ?? t.finalizeTag ?? gt, u;
1131
1153
  try {
1132
- let e = H(i, s);
1154
+ let e = z(i, s);
1133
1155
  u = await r.runPromise(e({
1134
1156
  contentType: c,
1135
1157
  ...m
@@ -1137,11 +1159,11 @@ var Le = () => {
1137
1159
  } catch {
1138
1160
  return null;
1139
1161
  }
1140
- await ht(u.uploadUrl, c, e, o, a);
1141
- let d = H(i, l), f = await r.runPromise(d({ finalizeToken: u.finalizeToken }));
1162
+ await wt(u.uploadUrl, c, e, o, a);
1163
+ let d = z(i, l), f = await r.runPromise(d({ finalizeToken: u.finalizeToken }));
1142
1164
  return h(f);
1143
1165
  }, v = async () => {
1144
- let s = n.beginResumableTag ?? t.beginResumableTag ?? ct, l = H(i, s), u = e.size, d = n.chunkSize ?? t.chunkSize, f = await r.runPromise(l({
1166
+ let s = n.beginResumableTag ?? t.beginResumableTag ?? _t, l = z(i, s), u = e.size, d = n.chunkSize ?? t.chunkSize, f = await r.runPromise(l({
1145
1167
  contentType: c,
1146
1168
  size: u,
1147
1169
  ...m,
@@ -1152,7 +1174,7 @@ var Le = () => {
1152
1174
  for (;;) {
1153
1175
  if (a.aborted) throw new DOMException("upload aborted", "AbortError");
1154
1176
  try {
1155
- let e = await mt(`${p}?${`token=${encodeURIComponent(f.resumableToken)}&index=${t}${s ? "&final=1" : ""}`}`, c, i, (e) => o((b + e * l) / u), a, s);
1177
+ let e = await Ct(`${p}?${`token=${encodeURIComponent(f.resumableToken)}&index=${t}${s ? "&final=1" : ""}`}`, c, i, (e) => o((b + e * l) / u), a, s);
1156
1178
  s && (x = e);
1157
1179
  break;
1158
1180
  } catch (e) {
@@ -1164,9 +1186,9 @@ var Le = () => {
1164
1186
  if (!x) throw Error("resumable upload produced no final reply");
1165
1187
  return h(x);
1166
1188
  }, b = async () => {
1167
- let s = n.multipartBeginTag ?? t.multipartBeginTag ?? lt, u = n.multipartSignTag ?? t.multipartSignTag ?? ut, d = n.multipartCompleteTag ?? t.multipartCompleteTag ?? dt, f = n.multipartAbortTag ?? t.multipartAbortTag ?? ft, p = e.size, h = n.chunkSize ?? t.chunkSize, g;
1189
+ let s = n.multipartBeginTag ?? t.multipartBeginTag ?? vt, u = n.multipartSignTag ?? t.multipartSignTag ?? yt, d = n.multipartCompleteTag ?? t.multipartCompleteTag ?? bt, f = n.multipartAbortTag ?? t.multipartAbortTag ?? xt, p = e.size, h = n.chunkSize ?? t.chunkSize, g;
1168
1190
  try {
1169
- let e = H(i, s);
1191
+ let e = z(i, s);
1170
1192
  g = await r.runPromise(e({
1171
1193
  contentType: c,
1172
1194
  size: p,
@@ -1176,7 +1198,7 @@ var Le = () => {
1176
1198
  } catch {
1177
1199
  return null;
1178
1200
  }
1179
- let _ = H(i, u), v = H(i, d), b = H(i, f), x = Math.max(1, g.partSize), S = Math.max(1, Math.ceil(p / x)), C = Math.max(0, n.retries ?? t.retries ?? 1), w = [], T = 0;
1201
+ let _ = z(i, u), v = z(i, d), b = z(i, f), x = Math.max(1, g.partSize), S = Math.max(1, Math.ceil(p / x)), C = Math.max(0, n.retries ?? t.retries ?? 1), w = [], T = 0;
1180
1202
  try {
1181
1203
  for (let t = 0; t < S; t++) {
1182
1204
  let n = t * x, i = Math.min(p, n + x), s = e.slice(n, i), c = t + 1, l = i - n, u = 0;
@@ -1186,7 +1208,7 @@ var Le = () => {
1186
1208
  let { url: e } = await r.runPromise(_({
1187
1209
  multipartToken: g.multipartToken,
1188
1210
  partNumber: c
1189
- })), t = await pt(e, s, (e) => o((T + e * l) / p), a);
1211
+ })), t = await St(e, s, (e) => o((T + e * l) / p), a);
1190
1212
  w.push({
1191
1213
  partNumber: c,
1192
1214
  etag: t
@@ -1260,7 +1282,7 @@ var Le = () => {
1260
1282
  } catch (e) {
1261
1283
  throw p("error"), h(e), e instanceof DOMException && e.name === "AbortError" || l.emit({
1262
1284
  source: "action",
1263
- tag: n.mintTag ?? t.mintTag ?? at,
1285
+ tag: n.mintTag ?? t.mintTag ?? mt,
1264
1286
  error: e
1265
1287
  }), e;
1266
1288
  }
@@ -1286,7 +1308,7 @@ var Le = () => {
1286
1308
  } catch (e) {
1287
1309
  throw r.abort(), p("error"), h(e), e instanceof DOMException && e.name === "AbortError" || l.emit({
1288
1310
  source: "action",
1289
- tag: n.mintTag ?? t.mintTag ?? at,
1311
+ tag: n.mintTag ?? t.mintTag ?? mt,
1290
1312
  error: e
1291
1313
  }), e;
1292
1314
  }
@@ -1331,8 +1353,8 @@ var Le = () => {
1331
1353
  w,
1332
1354
  T
1333
1355
  ]);
1334
- }, X = async (e) => {
1335
- let t = H(e.client, e.tag), n = f.currentSpan.pipe(f.tap((t) => f.sync(() => {
1356
+ }, Y = async (e) => {
1357
+ let t = z(e.client, e.tag), n = f.currentSpan.pipe(f.tap((t) => f.sync(() => {
1336
1358
  S({
1337
1359
  traceId: t.traceId,
1338
1360
  spanId: t.spanId,
@@ -1344,8 +1366,8 @@ var Le = () => {
1344
1366
  "rpc.tag": e.tag
1345
1367
  } }));
1346
1368
  return e.runtime.runPromise(n);
1347
- }, vt = (e, t) => {
1348
- let { runtime: r, client: i, descriptors: a } = P(e);
1369
+ }, Dt = (e, t) => {
1370
+ let { runtime: r, client: i, descriptors: a } = j(e);
1349
1371
  if (process.env.NODE_ENV !== "production") {
1350
1372
  let n = a[t]?.kind;
1351
1373
  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.`);
@@ -1353,7 +1375,7 @@ var Le = () => {
1353
1375
  let [s, l] = c(!1), [u, d] = c(void 0), [f, p] = c(void 0), m = n(async (n) => {
1354
1376
  l(!0), d(void 0);
1355
1377
  try {
1356
- let a = await X({
1378
+ let a = await Y({
1357
1379
  apiName: e,
1358
1380
  runtime: r,
1359
1381
  client: i,
@@ -1373,7 +1395,7 @@ var Le = () => {
1373
1395
  i,
1374
1396
  t
1375
1397
  ]), h = n(async (t) => {
1376
- await X({
1398
+ await Y({
1377
1399
  apiName: e,
1378
1400
  runtime: r,
1379
1401
  client: i,
@@ -1386,7 +1408,7 @@ var Le = () => {
1386
1408
  r,
1387
1409
  i
1388
1410
  ]), g = n(async (t) => {
1389
- await X({
1411
+ await Y({
1390
1412
  apiName: e,
1391
1413
  runtime: r,
1392
1414
  client: i,
@@ -1398,7 +1420,7 @@ var Le = () => {
1398
1420
  e,
1399
1421
  r,
1400
1422
  i
1401
- ]), _ = n(async (t, n, a) => X({
1423
+ ]), _ = n(async (t, n, a) => Y({
1402
1424
  apiName: e,
1403
1425
  runtime: r,
1404
1426
  client: i,
@@ -1413,7 +1435,7 @@ var Le = () => {
1413
1435
  e,
1414
1436
  r,
1415
1437
  i
1416
- ]), v = n(async (t, n, a, o) => X({
1438
+ ]), v = n(async (t, n, a, o) => Y({
1417
1439
  apiName: e,
1418
1440
  runtime: r,
1419
1441
  client: i,
@@ -1449,11 +1471,11 @@ var Le = () => {
1449
1471
  u,
1450
1472
  f
1451
1473
  ]);
1452
- }, yt = (e) => {
1453
- let { runtime: t, client: r } = P(e), [i, a] = c(!1), [s, l] = c(void 0), [u, d] = c(void 0), f = n(async (n, i, o) => {
1474
+ }, Ot = (e) => {
1475
+ let { runtime: t, client: r } = j(e), [i, a] = c(!1), [s, l] = c(void 0), [u, d] = c(void 0), f = n(async (n, i, o) => {
1454
1476
  a(!0), l(void 0);
1455
1477
  try {
1456
- let a = await X({
1478
+ let a = await Y({
1457
1479
  apiName: e,
1458
1480
  runtime: t,
1459
1481
  client: r,
@@ -1487,11 +1509,11 @@ var Le = () => {
1487
1509
  s,
1488
1510
  u
1489
1511
  ]);
1490
- }, bt = (e) => {
1491
- let { runtime: t, client: r } = P(e), [i, a] = c(!1), [s, l] = c(void 0), [u, d] = c(void 0), f = n(async (n, i, o, s) => {
1512
+ }, kt = (e) => {
1513
+ let { runtime: t, client: r } = j(e), [i, a] = c(!1), [s, l] = c(void 0), [u, d] = c(void 0), f = n(async (n, i, o, s) => {
1492
1514
  a(!0), l(void 0);
1493
1515
  try {
1494
- let a = await X({
1516
+ let a = await Y({
1495
1517
  apiName: e,
1496
1518
  runtime: t,
1497
1519
  client: r,
@@ -1526,8 +1548,8 @@ var Le = () => {
1526
1548
  s,
1527
1549
  u
1528
1550
  ]);
1529
- }, xt = (e, t) => {
1530
- let n = U(e, "__voltro.workflow.run", t ? { id: t } : {}, { skip: t === void 0 });
1551
+ }, At = (e, t) => {
1552
+ let n = B(e, "__voltro.workflow.run", t ? { id: t } : {}, { skip: t === void 0 });
1531
1553
  return n.loading || n.idle ? {
1532
1554
  ...n,
1533
1555
  run: void 0
@@ -1535,8 +1557,8 @@ var Le = () => {
1535
1557
  ...n,
1536
1558
  run: n.data[0]
1537
1559
  };
1538
- }, St = (e, t = {}, n = {}) => {
1539
- let r = U(e, "__voltro.workflow.runs", t, n);
1560
+ }, jt = (e, t = {}, n = {}) => {
1561
+ let r = B(e, "__voltro.workflow.runs", t, n);
1540
1562
  return r.loading || r.idle ? {
1541
1563
  ...r,
1542
1564
  runs: []
@@ -1544,8 +1566,8 @@ var Le = () => {
1544
1566
  ...r,
1545
1567
  runs: r.data
1546
1568
  };
1547
- }, Ct = (e, t) => {
1548
- let n = U(e, "__voltro.workflow.run.steps", t ? { runId: t } : {}, { skip: t === void 0 });
1569
+ }, Mt = (e, t) => {
1570
+ let n = B(e, "__voltro.workflow.run.steps", t ? { runId: t } : {}, { skip: t === void 0 });
1549
1571
  return n.loading || n.idle ? {
1550
1572
  ...n,
1551
1573
  steps: []
@@ -1553,8 +1575,8 @@ var Le = () => {
1553
1575
  ...n,
1554
1576
  steps: n.data
1555
1577
  };
1556
- }, wt = (e, t) => {
1557
- let n = U(e, "__voltro.workflow.run.events", t ? { runId: t } : {}, { skip: t === void 0 });
1578
+ }, Nt = (e, t) => {
1579
+ let n = B(e, "__voltro.workflow.run.events", t ? { runId: t } : {}, { skip: t === void 0 });
1558
1580
  return n.loading || n.idle ? {
1559
1581
  ...n,
1560
1582
  events: []
@@ -1562,8 +1584,8 @@ var Le = () => {
1562
1584
  ...n,
1563
1585
  events: n.data
1564
1586
  };
1565
- }, Tt = wt, Et = (e, t = {}, n = {}) => {
1566
- let r = U(e, "__voltro.workflow.domainEvents", t, n);
1587
+ }, Pt = Nt, Ft = (e, t = {}, n = {}) => {
1588
+ let r = B(e, "__voltro.workflow.domainEvents", t, n);
1567
1589
  return r.loading || r.idle ? {
1568
1590
  ...r,
1569
1591
  events: []
@@ -1571,8 +1593,8 @@ var Le = () => {
1571
1593
  ...r,
1572
1594
  events: r.data
1573
1595
  };
1574
- }, Dt = (e, t) => {
1575
- let n = U(e, "__voltro.workflow.event.deliveries", t ? { eventId: t } : {}, { skip: t === void 0 });
1596
+ }, It = (e, t) => {
1597
+ let n = B(e, "__voltro.workflow.event.deliveries", t ? { eventId: t } : {}, { skip: t === void 0 });
1576
1598
  return n.loading || n.idle ? {
1577
1599
  ...n,
1578
1600
  deliveries: []
@@ -1580,42 +1602,42 @@ var Le = () => {
1580
1602
  ...n,
1581
1603
  deliveries: n.data
1582
1604
  };
1583
- }, Ot = (e, t) => {
1605
+ }, Lt = (e, t) => {
1584
1606
  let n = e.payload;
1585
1607
  if (!n || typeof n != "object") return;
1586
1608
  let r = n[t];
1587
1609
  return typeof r == "string" ? r : void 0;
1588
- }, kt = (e) => {
1610
+ }, Rt = (e) => {
1589
1611
  let t = e.payload;
1590
1612
  if (!t || typeof t != "object") return;
1591
1613
  let n = t.updateId;
1592
1614
  return typeof n == "string" ? n : void 0;
1593
- }, At = (e) => {
1615
+ }, zt = (e) => {
1594
1616
  let t = /* @__PURE__ */ new Set(), n = /* @__PURE__ */ new Set();
1595
1617
  for (let r of e) if (r.eventType === "signal-received") {
1596
- let e = Ot(r, "signalName");
1618
+ let e = Lt(r, "signalName");
1597
1619
  e && t.add(e);
1598
1620
  } else if (r.eventType === "update-completed" || r.eventType === "update-failed") {
1599
- let e = kt(r);
1621
+ let e = Rt(r);
1600
1622
  e && n.add(e);
1601
1623
  }
1602
1624
  for (let r = e.length - 1; r >= 0; --r) {
1603
1625
  let i = e[r];
1604
1626
  if (i.eventType === "signal-awaited") {
1605
- let e = Ot(i, "signalName");
1627
+ let e = Lt(i, "signalName");
1606
1628
  if (e && !t.has(e)) return {
1607
1629
  name: e,
1608
1630
  kind: "signal"
1609
1631
  };
1610
1632
  } else if (i.eventType === "update-requested") {
1611
- let e = kt(i), t = Ot(i, "updateName");
1633
+ let e = Rt(i), t = Lt(i, "updateName");
1612
1634
  if (t && (!e || !n.has(e))) return {
1613
1635
  name: t,
1614
1636
  kind: "update"
1615
1637
  };
1616
1638
  }
1617
1639
  }
1618
- }, jt = (e) => e.find((e) => e.status === "running") || (e.length > 0 ? e[e.length - 1] : void 0), Mt = (e, t) => {
1640
+ }, Bt = (e) => e.find((e) => e.status === "running") || (e.length > 0 ? e[e.length - 1] : void 0), Vt = (e, t) => {
1619
1641
  if (!e || e.status !== "failed") return;
1620
1642
  let n = t.find((e) => e.status === "failed");
1621
1643
  return {
@@ -1623,8 +1645,8 @@ var Le = () => {
1623
1645
  message: e.errorMessage,
1624
1646
  step: n?.stepName
1625
1647
  };
1626
- }, Nt = (e, t) => {
1627
- let r = xt(e, t), i = Ct(e, t), a = wt(e, t), s = vt(e, r.run?.tag ?? ""), c = r.run, l = i.steps, u = a.events, d = n(async () => {
1648
+ }, Ht = (e, t) => {
1649
+ let r = At(e, t), i = Mt(e, t), a = Nt(e, t), s = Dt(e, r.run?.tag ?? ""), c = r.run, l = i.steps, u = a.events, d = n(async () => {
1628
1650
  if (!c) throw Error("useWorkflowRunState: no run loaded — cannot cancel");
1629
1651
  await s.cancel({
1630
1652
  workflowName: c.tag,
@@ -1648,9 +1670,9 @@ var Le = () => {
1648
1670
  status: c?.status,
1649
1671
  steps: l,
1650
1672
  events: u,
1651
- currentStep: jt(l),
1652
- waitingFor: c?.status === "suspended" ? At(u) : void 0,
1653
- error: Mt(c, l),
1673
+ currentStep: Bt(l),
1674
+ waitingFor: c?.status === "suspended" ? zt(u) : void 0,
1675
+ error: Vt(c, l),
1654
1676
  traceId: c?.traceId,
1655
1677
  loading: r.data === void 0,
1656
1678
  cancel: d,
@@ -1667,8 +1689,8 @@ var Le = () => {
1667
1689
  p,
1668
1690
  m
1669
1691
  ]);
1670
- }, Pt = (e, t) => {
1671
- let { runtime: r, client: i } = P(e), [a, o] = c([]), [l, d] = c("idle"), [p, h] = c(void 0), g = s(null), v = n(() => {
1692
+ }, Ut = (e, t) => {
1693
+ let { runtime: r, client: i } = j(e), [a, o] = c([]), [l, d] = c("idle"), [p, h] = c(void 0), g = s(null), v = n(() => {
1672
1694
  let e = g.current;
1673
1695
  e && (g.current = null, r.runFork(m.interrupt(e)), d((e) => e === "streaming" ? "idle" : e));
1674
1696
  }, [r]);
@@ -1679,7 +1701,7 @@ var Le = () => {
1679
1701
  start: n((e = {}) => {
1680
1702
  let n = g.current;
1681
1703
  n && r.runFork(m.interrupt(n)), o([]), h(void 0), d("streaming");
1682
- let a = H(i, t)(e), s = _.runForEach(a, (e) => f.sync(() => o((t) => [...t, e]))).pipe(f.matchCause({
1704
+ let a = z(i, t)(e), s = _.runForEach(a, (e) => f.sync(() => o((t) => [...t, e]))).pipe(f.matchCause({
1683
1705
  onSuccess: () => {
1684
1706
  d("done");
1685
1707
  },
@@ -1695,7 +1717,7 @@ var Le = () => {
1695
1717
  ]),
1696
1718
  cancel: v
1697
1719
  };
1698
- }, Ft = (e, t, n, r) => {
1720
+ }, Wt = (e, t, n, r) => {
1699
1721
  let i = 0, a = !1, o = (e) => f.sync(() => {
1700
1722
  e.seq <= i || (i = e.seq, n.onEvent(e.event), r.isTerminal(e.event) && (a = !0));
1701
1723
  }), s = (e, t, a) => {
@@ -1718,15 +1740,15 @@ var Le = () => {
1718
1740
  }));
1719
1741
  });
1720
1742
  return c(0);
1721
- }, It = (e) => {
1743
+ }, Gt = (e) => {
1722
1744
  let t = e?._tag;
1723
1745
  return t === "done" || t === "error";
1724
- }, Lt = (e, t, r = {}) => {
1725
- let { runtime: i, client: a } = P(e), [o, l] = c([]), [u, d] = c("idle"), [f, p] = c(0), [h, g] = c(void 0), _ = s(null), v = {
1746
+ }, Kt = (e, t, r = {}) => {
1747
+ let { runtime: i, client: a } = j(e), [o, l] = c([]), [u, d] = c("idle"), [f, p] = c(0), [h, g] = c(void 0), _ = s(null), v = {
1726
1748
  maxReconnects: r.maxReconnects ?? 6,
1727
1749
  backoffMs: r.backoffMs ?? 400,
1728
1750
  maxBackoffMs: r.maxBackoffMs ?? 8e3,
1729
- isTerminal: r.isTerminal ?? It
1751
+ isTerminal: r.isTerminal ?? Gt
1730
1752
  }, y = n(() => {
1731
1753
  let e = _.current;
1732
1754
  e && (_.current = null, i.runFork(m.interrupt(e)), d((e) => e === "streaming" || e === "reconnecting" ? "idle" : e));
@@ -1739,13 +1761,13 @@ var Le = () => {
1739
1761
  start: n((e = {}) => {
1740
1762
  let n = _.current;
1741
1763
  n && i.runFork(m.interrupt(n)), l([]), g(void 0), p(0), d("streaming");
1742
- let r = H(a, t), o = {
1764
+ let r = z(a, t), o = {
1743
1765
  onEvent: (e) => l((t) => [...t, e]),
1744
1766
  onStatus: d,
1745
1767
  onReconnect: () => p((e) => e + 1),
1746
1768
  onError: g
1747
1769
  };
1748
- _.current = i.runFork(Ft(r, e, o, v));
1770
+ _.current = i.runFork(Wt(r, e, o, v));
1749
1771
  }, [
1750
1772
  i,
1751
1773
  a,
@@ -1757,13 +1779,13 @@ var Le = () => {
1757
1779
  ]),
1758
1780
  cancel: y
1759
1781
  };
1760
- }, Rt = (e, t) => e.order - t.order || (e.stepOrder ?? 0) - (t.stepOrder ?? 0), zt = (e) => {
1782
+ }, qt = (e, t) => e.order - t.order || (e.stepOrder ?? 0) - (t.stepOrder ?? 0), Jt = (e) => {
1761
1783
  for (let t = e.length - 1; t >= 0; --t) {
1762
1784
  let n = e[t];
1763
1785
  if (n.role === "user" && n.content) return n.content;
1764
1786
  }
1765
- }, Bt = (e, t, r) => {
1766
- let { threadId: i } = r, a = U(e, `${t}.messages`, { threadId: i }), s = Y(e, `${t}.send`), c = o(() => [...a.data ?? []].sort(Rt), [a.data]), l = n((e, t = {}) => s.run({
1787
+ }, Yt = (e, t, r) => {
1788
+ let { threadId: i } = r, a = B(e, `${t}.messages`, { threadId: i }), s = J(e, `${t}.send`), c = o(() => [...a.data ?? []].sort(qt), [a.data]), l = n((e, t = {}) => s.run({
1767
1789
  threadId: i,
1768
1790
  order: a.data?.length ?? 0,
1769
1791
  prompt: e,
@@ -1773,7 +1795,7 @@ var Le = () => {
1773
1795
  i,
1774
1796
  a.data
1775
1797
  ]), u = n(() => {
1776
- let e = zt(c);
1798
+ let e = Jt(c);
1777
1799
  return e === void 0 ? void 0 : l(e);
1778
1800
  }, [c, l]);
1779
1801
  return o(() => ({
@@ -1793,8 +1815,8 @@ var Le = () => {
1793
1815
  l,
1794
1816
  u
1795
1817
  ]);
1796
- }, Vt = (e, t) => {
1797
- let { events: r, status: i, error: l, start: u, cancel: d } = Pt(e, t), [f, p] = c([]), m = s(null), h = o(() => r.filter((e) => e._tag === "token").map((e) => e.text ?? "").join(""), [r]);
1818
+ }, Xt = (e, t) => {
1819
+ let { events: r, status: i, error: l, start: u, cancel: d } = Ut(e, t), [f, p] = c([]), m = s(null), h = o(() => r.filter((e) => e._tag === "token").map((e) => e.text ?? "").join(""), [r]);
1798
1820
  return a(() => {
1799
1821
  if (i !== "done" || m.current === null) return;
1800
1822
  let e = m.current;
@@ -1820,8 +1842,8 @@ var Le = () => {
1820
1842
  }, [u]),
1821
1843
  cancel: d
1822
1844
  };
1823
- }, Ht = (e, t) => {
1824
- let r = Y(e, t), [i, a] = c(void 0), s = n(async (e) => {
1845
+ }, Zt = (e, t) => {
1846
+ let r = J(e, t), [i, a] = c(void 0), s = n(async (e) => {
1825
1847
  let t = await r.run({ question: e });
1826
1848
  return a(t), t;
1827
1849
  }, [r]), l = n(() => a(void 0), []);
@@ -1838,43 +1860,43 @@ var Le = () => {
1838
1860
  r.error,
1839
1861
  l
1840
1862
  ]);
1841
- }, Ut = (e) => {
1842
- let { cache: t, runtime: r } = P(e);
1863
+ }, Qt = (e) => {
1864
+ let { cache: t, runtime: r } = j(e);
1843
1865
  return n(() => {
1844
1866
  t.refreshAll(r);
1845
1867
  }, [t, r]);
1846
- }, Wt = /* @__PURE__ */ new Set(), Gt = (e) => {
1847
- for (let t of Wt) try {
1868
+ }, $t = /* @__PURE__ */ new Set(), en = (e) => {
1869
+ for (let t of $t) try {
1848
1870
  t(e);
1849
1871
  } catch {}
1850
- }, Kt = (e) => (Wt.add(e), () => {
1851
- Wt.delete(e);
1852
- }), qt = (e, t) => {
1853
- Gt({
1872
+ }, tn = (e) => ($t.add(e), () => {
1873
+ $t.delete(e);
1874
+ }), nn = (e, t) => {
1875
+ en({
1854
1876
  error: e,
1855
1877
  source: "manual",
1856
1878
  ...t ? { context: t } : {}
1857
1879
  });
1858
- }, Jt = (e, t) => {
1859
- let { errorBus: n } = P(e);
1880
+ }, rn = (e, t) => {
1881
+ let { errorBus: n } = j(e);
1860
1882
  a(() => n.on(t), [n, t]);
1861
- }, Yt = "#/$defs/", Xt = (e) => e.replace(/[_-]+/g, " ").replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/\s+/g, " ").trim().replace(/^./, (e) => e.toUpperCase()), Z = (e, t) => {
1883
+ }, an = "#/$defs/", on = (e) => e.replace(/[_-]+/g, " ").replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/\s+/g, " ").trim().replace(/^./, (e) => e.toUpperCase()), X = (e, t) => {
1862
1884
  let n = e;
1863
1885
  for (let e = 0; e < 8; e += 1) {
1864
1886
  let e = n.$ref;
1865
- if (typeof e != "string" || !e.startsWith(Yt)) return n;
1887
+ if (typeof e != "string" || !e.startsWith(an)) return n;
1866
1888
  let r = t[e.slice(8)];
1867
1889
  if (!r || typeof r != "object") return n;
1868
1890
  n = r;
1869
1891
  }
1870
1892
  return n;
1871
- }, Zt = (e) => {
1893
+ }, sn = (e) => {
1872
1894
  if (!e || typeof e != "object") return !1;
1873
1895
  let t = e;
1874
1896
  if (t.type === "null" || t.const === null) return !0;
1875
1897
  let n = t.enum;
1876
1898
  return Array.isArray(n) && n.length === 1 && n[0] === null;
1877
- }, Qt = (e, t) => {
1899
+ }, cn = (e, t) => {
1878
1900
  let n = e.type;
1879
1901
  if (Array.isArray(n) && n.includes("null")) {
1880
1902
  let t = n.filter((e) => e !== "null");
@@ -1889,9 +1911,9 @@ var Le = () => {
1889
1911
  for (let n of ["anyOf", "oneOf"]) {
1890
1912
  let r = e[n];
1891
1913
  if (!Array.isArray(r)) continue;
1892
- let i = r.filter((e) => !Zt(e));
1914
+ let i = r.filter((e) => !sn(e));
1893
1915
  if (i.length !== r.length) return i.length === 1 ? {
1894
- node: Z(i[0], t),
1916
+ node: X(i[0], t),
1895
1917
  nullable: !0
1896
1918
  } : {
1897
1919
  node: {
@@ -1905,14 +1927,14 @@ var Le = () => {
1905
1927
  node: e,
1906
1928
  nullable: !1
1907
1929
  };
1908
- }, $t = (e) => e.map((e) => ({
1930
+ }, ln = (e) => e.map((e) => ({
1909
1931
  value: String(e),
1910
- label: Xt(String(e))
1911
- })), en = (e) => {
1932
+ label: on(String(e))
1933
+ })), un = (e) => {
1912
1934
  let t = e.enum;
1913
1935
  if (Array.isArray(t) && t.length > 0) return {
1914
1936
  widget: "select",
1915
- options: $t(t)
1937
+ options: ln(t)
1916
1938
  };
1917
1939
  let n = e.type, r = Array.isArray(n) ? n.find((e) => e !== "null") : n, i = e.format;
1918
1940
  switch (r) {
@@ -1923,38 +1945,38 @@ var Le = () => {
1923
1945
  case "array": return { widget: "multi-select" };
1924
1946
  default: return { widget: "custom" };
1925
1947
  }
1926
- }, tn = (e, t, n) => Object.entries(e).map(([e, r]) => {
1927
- let { node: i, nullable: a } = Qt(Z(r, n), n), o = Z(i, n), { widget: s, options: c } = en(o);
1948
+ }, dn = (e, t, n) => Object.entries(e).map(([e, r]) => {
1949
+ let { node: i, nullable: a } = cn(X(r, n), n), o = X(i, n), { widget: s, options: c } = un(o);
1928
1950
  return {
1929
1951
  name: e,
1930
- label: Xt(e),
1952
+ label: on(e),
1931
1953
  widget: s,
1932
1954
  required: t.has(e),
1933
1955
  nullable: a,
1934
1956
  ...c ? { options: c } : {},
1935
1957
  jsonSchema: o
1936
1958
  };
1937
- }), nn = (e) => {
1959
+ }), fn = (e) => {
1938
1960
  try {
1939
1961
  return h.make(e);
1940
1962
  } catch {
1941
1963
  return;
1942
1964
  }
1943
- }, Q = (e) => {
1944
- let t = nn(e);
1965
+ }, Z = (e) => {
1966
+ let t = fn(e);
1945
1967
  if (t === void 0) return [];
1946
- let n = t.$defs ?? {}, r = Z(t, n), i = r.properties;
1947
- return i ? tn(i, new Set(Array.isArray(r.required) ? r.required : []), n) : [];
1948
- }, rn = (e) => {
1949
- let t = nn(e);
1968
+ let n = t.$defs ?? {}, r = X(t, n), i = r.properties;
1969
+ return i ? dn(i, new Set(Array.isArray(r.required) ? r.required : []), n) : [];
1970
+ }, pn = (e) => {
1971
+ let t = fn(e);
1950
1972
  if (t === void 0) return [];
1951
- let n = t.$defs ?? {}, r = Z(t, n);
1973
+ let n = t.$defs ?? {}, r = X(t, n);
1952
1974
  if (r.type !== "array") return [];
1953
1975
  let i = r.items;
1954
1976
  if (!i || typeof i != "object") return [];
1955
- let a = Z(i, n), o = a.properties;
1956
- return o ? tn(o, new Set(Array.isArray(a.required) ? a.required : []), n) : [];
1957
- }, an = (e, t) => {
1977
+ let a = X(i, n), o = a.properties;
1978
+ return o ? dn(o, new Set(Array.isArray(a.required) ? a.required : []), n) : [];
1979
+ }, Q = (e, t) => {
1958
1980
  let n = g.decodeUnknownEither(e, { errors: "all" })(t);
1959
1981
  if (n._tag === "Right") return {
1960
1982
  valid: !0,
@@ -1969,10 +1991,10 @@ var Le = () => {
1969
1991
  valid: !1,
1970
1992
  errors: r
1971
1993
  };
1972
- }, on = (e, t, r) => {
1973
- let i = P(e), a = J(e, t), l = r.schema ?? i.descriptors[t]?.input;
1994
+ }, mn = (e, t, r) => {
1995
+ let i = j(e), a = q(e, t), l = r.schema ?? i.descriptors[t]?.input;
1974
1996
  process.env.NODE_ENV !== "production" && l === void 0 && console.error(`[@voltro/client] useFormBinding('${e}', '${t}'): no input schema. Pass options.schema, or mount the descriptor so its input reaches the client. Rendering no fields; submit skips client-side validation.`);
1975
- let u = o(() => l ? Q(l) : [], [l]), d = s(r.defaults ?? {}), [f, p] = c(d.current), [m, h] = c({}), g = n((e, t) => {
1997
+ let u = o(() => l ? Z(l) : [], [l]), d = s(r.defaults ?? {}), [f, p] = c(d.current), [m, h] = c({}), g = n((e, t) => {
1976
1998
  p((n) => ({
1977
1999
  ...n,
1978
2000
  [e]: t
@@ -1986,7 +2008,7 @@ var Le = () => {
1986
2008
  p(d.current), h({});
1987
2009
  }, []), y = n(async () => {
1988
2010
  if (l !== void 0) {
1989
- let e = an(l, f);
2011
+ let e = Q(l, f);
1990
2012
  if (h(e.errors), !e.valid) return;
1991
2013
  }
1992
2014
  return a.mutate(f);
@@ -1999,7 +2021,7 @@ var Le = () => {
1999
2021
  fields: u,
2000
2022
  values: f,
2001
2023
  errors: m,
2002
- isValid: o(() => l === void 0 || an(l, f).valid, [l, f]),
2024
+ isValid: o(() => l === void 0 || Q(l, f).valid, [l, f]),
2003
2025
  pending: a.pending,
2004
2026
  submitError: a.error,
2005
2027
  data: a.data,
@@ -2008,13 +2030,13 @@ var Le = () => {
2008
2030
  reset: v,
2009
2031
  submit: y
2010
2032
  };
2011
- }, sn = (e, t, n) => e.map((e) => {
2033
+ }, hn = (e, t, n) => e.map((e) => {
2012
2034
  let r = String(e[n] ?? ""), i = e[t];
2013
2035
  return {
2014
2036
  value: r,
2015
2037
  label: i == null ? r : String(i)
2016
2038
  };
2017
- }), cn = (e, t, r = {}) => {
2039
+ }), gn = (e, t, r = {}) => {
2018
2040
  let i = r.debounceMs ?? 200, s = r.labelField ?? "name", l = r.valueField ?? "id", u = r.input ?? ((e) => ({ q: e })), [d, f] = c(r.initialTerm ?? ""), [p, m] = c(d);
2019
2041
  a(() => {
2020
2042
  if (d === p) return;
@@ -2025,7 +2047,7 @@ var Le = () => {
2025
2047
  p,
2026
2048
  i
2027
2049
  ]);
2028
- let h = r.skipUntilTerm === !0 && p.trim() === "", g = U(e, t, o(() => u(p), [u, p]), { skip: h }), _ = o(() => sn(g.data ?? [], s, l), [
2050
+ let h = r.skipUntilTerm === !0 && p.trim() === "", g = B(e, t, o(() => u(p), [u, p]), { skip: h }), _ = o(() => hn(g.data ?? [], s, l), [
2029
2051
  g.data,
2030
2052
  s,
2031
2053
  l
@@ -2036,13 +2058,13 @@ var Le = () => {
2036
2058
  term: d,
2037
2059
  search: v
2038
2060
  };
2039
- }, ln = (e, t) => e === t ? 0 : e == null ? 1 : t == null || e < t ? -1 : 1, un = (e, t, r = {}) => {
2040
- let i = P(e), [a, s] = c(r.pageSize), l = U(e, t, o(() => a === void 0 ? r.input ?? {} : {
2061
+ }, _n = (e, t) => e === t ? 0 : e == null ? 1 : t == null || e < t ? -1 : 1, vn = (e, t, r = {}) => {
2062
+ let i = j(e), [a, s] = c(r.pageSize), l = B(e, t, o(() => a === void 0 ? r.input ?? {} : {
2041
2063
  ...r.input,
2042
2064
  limit: a
2043
2065
  }, [r.input, a])), u = i.descriptors[t]?.output, d = n(() => {
2044
2066
  r.pageSize !== void 0 && s((e) => (e ?? r.pageSize) + r.pageSize);
2045
- }, [r.pageSize]), f = o(() => r.columns ?? (u === void 0 ? [] : rn(u)), [r.columns, u]), [p, m] = c(r.initialSort), h = n((e) => {
2067
+ }, [r.pageSize]), f = o(() => r.columns ?? (u === void 0 ? [] : pn(u)), [r.columns, u]), [p, m] = c(r.initialSort), h = n((e) => {
2046
2068
  m((t) => t?.column === e ? {
2047
2069
  column: e,
2048
2070
  direction: t.direction === "asc" ? "desc" : "asc"
@@ -2057,7 +2079,7 @@ var Le = () => {
2057
2079
  let e = l.data ?? [];
2058
2080
  if (p === void 0) return e;
2059
2081
  let t = p.direction === "asc" ? 1 : -1;
2060
- return [...e].sort((e, n) => ln(e[p.column], n[p.column]) * t);
2082
+ return [...e].sort((e, n) => _n(e[p.column], n[p.column]) * t);
2061
2083
  }, [l.data, p]),
2062
2084
  loading: l.data === void 0,
2063
2085
  error: l.error,
@@ -2066,14 +2088,14 @@ var Le = () => {
2066
2088
  loadMore: d,
2067
2089
  hasMore: a !== void 0 && (l.data?.length ?? 0) >= a
2068
2090
  };
2069
- }, dn = (e, t, n, r) => {
2091
+ }, yn = (e, t, n, r) => {
2070
2092
  let i = e.replace(/\/$/, ""), a = new URLSearchParams({
2071
2093
  table: t,
2072
2094
  id: n
2073
2095
  });
2074
2096
  return r !== void 0 && a.set("column", r), `${i}/_voltro/inspect/provenance?${a.toString()}`;
2075
- }, fn = dn, pn = (e, t, n, r) => {
2076
- let { inspectBaseUrl: i } = P(e), [o, s] = c({
2097
+ }, bn = yn, xn = (e, t, n, r) => {
2098
+ let { inspectBaseUrl: i } = j(e), [o, s] = c({
2077
2099
  data: void 0,
2078
2100
  loading: !0,
2079
2101
  error: void 0
@@ -2085,7 +2107,7 @@ var Le = () => {
2085
2107
  loading: !0,
2086
2108
  error: void 0
2087
2109
  });
2088
- let a = dn(i ?? "", t, n, r);
2110
+ let a = yn(i ?? "", t, n, r);
2089
2111
  return fetch(a).then(async (e) => {
2090
2112
  if (!e.ok) throw Error(`provenance fetch failed: HTTP ${e.status}`);
2091
2113
  return await e.json();
@@ -2111,8 +2133,8 @@ var Le = () => {
2111
2133
  n,
2112
2134
  r
2113
2135
  ]), o;
2114
- }, mn = (e) => `${e.replace(/\/$/, "")}/_voltro/inspect/manifest`, hn = (e) => {
2115
- let { inspectBaseUrl: t } = P(e), [n, r] = c({
2136
+ }, Sn = (e) => `${e.replace(/\/$/, "")}/_voltro/inspect/manifest`, Cn = (e) => {
2137
+ let { inspectBaseUrl: t } = j(e), [n, r] = c({
2116
2138
  manifest: void 0,
2117
2139
  loading: !0,
2118
2140
  error: void 0
@@ -2123,7 +2145,7 @@ var Le = () => {
2123
2145
  manifest: void 0,
2124
2146
  loading: !0,
2125
2147
  error: void 0
2126
- }), fetch(mn(t ?? "")).then(async (e) => {
2148
+ }), fetch(Sn(t ?? "")).then(async (e) => {
2127
2149
  if (!e.ok) throw Error(`manifest fetch failed: HTTP ${e.status}`);
2128
2150
  return await e.json();
2129
2151
  }).then((t) => {
@@ -2142,8 +2164,8 @@ var Le = () => {
2142
2164
  e = !0;
2143
2165
  };
2144
2166
  }, [e, t]), n;
2145
- }, gn = (e, t) => Array.isArray(e) ? e.includes(t) : e === t, _n = (e, t, n) => e.targets?.some((e) => e.table === t && e.op === n) ?? !1, vn = (e) => e.tables.filter((e) => !e.framework).map((t) => {
2146
- let n = e.procedures.find((e) => e.kind === "query" && gn(e.source, t.name)), r = e.procedures.find((e) => e.kind === "mutation" && _n(e, t.name, "insert")), i = e.procedures.find((e) => e.kind === "mutation" && _n(e, t.name, "update")), a = e.procedures.find((e) => e.kind === "mutation" && _n(e, t.name, "delete"));
2167
+ }, wn = (e, t) => Array.isArray(e) ? e.includes(t) : e === t, Tn = (e, t, n) => e.targets?.some((e) => e.table === t && e.op === n) ?? !1, En = (e) => e.tables.filter((e) => !e.framework).map((t) => {
2168
+ let n = e.procedures.find((e) => e.kind === "query" && wn(e.source, t.name)), r = e.procedures.find((e) => e.kind === "mutation" && Tn(e, t.name, "insert")), i = e.procedures.find((e) => e.kind === "mutation" && Tn(e, t.name, "update")), a = e.procedures.find((e) => e.kind === "mutation" && Tn(e, t.name, "delete"));
2147
2169
  return {
2148
2170
  table: t.name,
2149
2171
  columns: t.columns,
@@ -2156,7 +2178,7 @@ var Le = () => {
2156
2178
  writeScope: `${t.name}:write`,
2157
2179
  deleteScope: `${t.name}:delete`
2158
2180
  };
2159
- }), yn = (e) => {
2181
+ }), Dn = (e) => {
2160
2182
  let [t, r] = c([]), [i, a] = c([]), s = n((e) => {
2161
2183
  r((t) => [...t, e]), a([]);
2162
2184
  }, []), l = n(async () => {
@@ -2184,8 +2206,8 @@ var Le = () => {
2184
2206
  l,
2185
2207
  u
2186
2208
  ]);
2187
- }, bn = "__voltro.undo.log", xn = "__voltro.undo.apply", Sn = "__voltro.undo.redo", Cn = (e, t) => {
2188
- let r = t?.limit, { data: i } = U(e, bn, r === void 0 ? {} : { limit: r }), a = J(e, xn), o = J(e, Sn), s = i ?? [], c = s.find((e) => !e.undone && !e.crossesAction), l = s.find((e) => e.undone), u = n(async (e) => {
2209
+ }, On = "__voltro.undo.log", kn = "__voltro.undo.apply", An = "__voltro.undo.redo", jn = (e, t) => {
2210
+ let r = t?.limit, { data: i } = B(e, On, r === void 0 ? {} : { limit: r }), a = q(e, kn), o = q(e, An), s = i ?? [], c = s.find((e) => !e.undone && !e.crossesAction), l = s.find((e) => e.undone), u = n(async (e) => {
2189
2211
  await a.mutate({ invocationId: e });
2190
2212
  }, [a]), d = n(async (e) => {
2191
2213
  await o.mutate({ invocationId: e });
@@ -2204,13 +2226,13 @@ var Le = () => {
2204
2226
  undoLast: f,
2205
2227
  redoLast: p
2206
2228
  };
2207
- }, wn = (e, t) => ({
2229
+ }, Mn = (e, t) => ({
2208
2230
  name: e,
2209
2231
  map: t
2210
- }), $ = (e, t) => e === void 0 ? null : typeof e == "string" ? { event: e } : e(t), Tn = /* @__PURE__ */ new Set(["onMount", "onUnmount"]), En = (e, t, n) => {
2232
+ }), $ = (e, t) => e === void 0 ? null : typeof e == "string" ? { event: e } : e(t), Nn = /* @__PURE__ */ new Set(["onMount", "onUnmount"]), Pn = (e, t, n) => {
2211
2233
  let r = { ...t };
2212
2234
  for (let [i, a] of Object.entries(e.map)) {
2213
- if (Tn.has(i) || a === void 0) continue;
2235
+ if (Nn.has(i) || a === void 0) continue;
2214
2236
  let e = t[i];
2215
2237
  r[i] = (...r) => {
2216
2238
  let i = $(a, t);
@@ -2218,7 +2240,7 @@ var Le = () => {
2218
2240
  };
2219
2241
  }
2220
2242
  return r;
2221
- }, Dn = (e, t, n) => {
2243
+ }, Fn = (e, t, n) => {
2222
2244
  let r = s({
2223
2245
  spec: e,
2224
2246
  props: t,
@@ -2234,45 +2256,45 @@ var Le = () => {
2234
2256
  let e = r.current, t = $(e.spec.map.onUnmount, e.props);
2235
2257
  t !== null && e.sink(t);
2236
2258
  };
2237
- }, []), o(() => En(e, t, n), [
2259
+ }, []), o(() => Pn(e, t, n), [
2238
2260
  e,
2239
2261
  t,
2240
2262
  n
2241
2263
  ]);
2242
- }, On = (e, t) => {
2243
- let n = P(e).descriptors[t]?.input;
2244
- return o(() => n === void 0 ? [] : Q(n), [n]);
2245
- }, kn = (e, t) => {
2246
- let n = P(e).descriptors[t]?.output;
2247
- return o(() => n === void 0 ? [] : rn(n), [n]);
2248
- }, An = (e, t) => {
2264
+ }, In = (e, t) => {
2265
+ let n = j(e).descriptors[t]?.input;
2266
+ return o(() => n === void 0 ? [] : Z(n), [n]);
2267
+ }, Ln = (e, t) => {
2268
+ let n = j(e).descriptors[t]?.output;
2269
+ return o(() => n === void 0 ? [] : pn(n), [n]);
2270
+ }, Rn = (e, t) => {
2249
2271
  if (e === t) return !0;
2250
2272
  if (e.length !== t.length) return !1;
2251
2273
  for (let n = 0; n < e.length; n += 1) if (!Object.is(e[n], t[n])) return !1;
2252
2274
  return !0;
2253
- }, jn = (e) => Object.keys(e).sort().map((t) => e[t]), Mn = (e, t) => {
2254
- let n = s(null), r = jn(e);
2255
- return (n.current === null || !An(n.current.key, r)) && (n.current = {
2275
+ }, zn = (e) => Object.keys(e).sort().map((t) => e[t]), Bn = (e, t) => {
2276
+ let n = s(null), r = zn(e);
2277
+ return (n.current === null || !Rn(n.current.key, r)) && (n.current = {
2256
2278
  key: r,
2257
2279
  value: t(e)
2258
2280
  }), n.current.value;
2259
- }, Nn = "admin:full", Pn = (e, t) => e.includes("admin:full") ? !0 : (typeof t == "string" ? [t] : t).every((t) => e.includes(t)), Fn = (e, t) => t.length === 0 || e.includes("admin:full") ? !0 : t.some((t) => e.includes(t)), In = e({ scopes: [] });
2260
- function Ln(e) {
2261
- return t(In.Provider, { value: { scopes: e.scopes } }, e.children);
2281
+ }, Vn = "admin:full", Hn = (e, t) => e.includes("admin:full") ? !0 : (typeof t == "string" ? [t] : t).every((t) => e.includes(t)), Un = (e, t) => t.length === 0 || e.includes("admin:full") ? !0 : t.some((t) => e.includes(t)), Wn = e({ scopes: [] });
2282
+ function Gn(e) {
2283
+ return t(Wn.Provider, { value: { scopes: e.scopes } }, e.children);
2262
2284
  }
2263
- var Rn = () => r(In), zn = (e) => Pn(Rn().scopes, e), Bn = (e) => Fn(Rn().scopes, e), Vn = (e, t, n, r = {}) => {
2264
- let i = U(e, t, { ...n }, r);
2285
+ var Kn = () => r(Wn), qn = (e) => Hn(Kn().scopes, e), Jn = (e) => Un(Kn().scopes, e), Yn = (e, t, n, r = {}) => {
2286
+ let i = B(e, t, { ...n }, r);
2265
2287
  return o(() => ({
2266
2288
  allowed: i.data?.allowed === !0,
2267
2289
  pending: i.data === void 0
2268
2290
  }), [i.data]);
2269
- }, Hn = (e, t, n, r = {}) => {
2270
- let i = U(e, t, { ...n }, r);
2291
+ }, Xn = (e, t, n, r = {}) => {
2292
+ let i = B(e, t, { ...n }, r);
2271
2293
  return o(() => ({
2272
2294
  allowedIds: new Set(i.data?.allowedIds ?? []),
2273
2295
  pending: i.data === void 0
2274
2296
  }), [i.data]);
2275
- }, Un = (e) => {
2297
+ }, Zn = (e) => {
2276
2298
  switch (e) {
2277
2299
  case "select":
2278
2300
  case "radio":
@@ -2288,25 +2310,25 @@ var Rn = () => r(In), zn = (e) => Pn(Rn().scopes, e), Bn = (e) => Fn(Rn().scopes
2288
2310
  case "switch": return "boolean";
2289
2311
  default: return null;
2290
2312
  }
2291
- }, Wn = (e) => Q(e).map((e) => {
2292
- let t = Un(e.widget);
2313
+ }, Qn = (e) => Z(e).map((e) => {
2314
+ let t = Zn(e.widget);
2293
2315
  return t === null ? null : {
2294
2316
  name: e.name,
2295
2317
  label: e.label,
2296
2318
  kind: t,
2297
2319
  ...e.options ? { options: e.options } : {}
2298
2320
  };
2299
- }).filter((e) => e !== null), Gn = (e) => {
2321
+ }).filter((e) => e !== null), $n = (e) => {
2300
2322
  let t = {};
2301
2323
  for (let [n, r] of Object.entries(e)) r === void 0 || r === "" || Array.isArray(r) && r.length === 0 || (t[n] = r);
2302
2324
  return t;
2303
- }, Kn = (e, t, r = {}) => {
2304
- let i = P(e).descriptors[t]?.input, a = o(() => i === void 0 ? [] : Wn(i), [i]), [s, l] = c(r.initial ?? {}), u = n((e, t) => {
2305
- l((n) => Gn({
2325
+ }, er = (e, t, r = {}) => {
2326
+ let i = j(e).descriptors[t]?.input, a = o(() => i === void 0 ? [] : Qn(i), [i]), [s, l] = c(r.initial ?? {}), u = n((e, t) => {
2327
+ l((n) => $n({
2306
2328
  ...n,
2307
2329
  [e]: t
2308
2330
  }));
2309
- }, []), d = n(() => l({}), []), f = U(e, t, o(() => Gn(s), [s]));
2331
+ }, []), d = n(() => l({}), []), f = B(e, t, o(() => $n(s), [s]));
2310
2332
  return {
2311
2333
  filters: a,
2312
2334
  values: s,
@@ -2317,20 +2339,20 @@ var Rn = () => r(In), zn = (e) => Pn(Rn().scopes, e), Bn = (e) => Fn(Rn().scopes
2317
2339
  loading: f.data === void 0,
2318
2340
  error: f.error
2319
2341
  };
2320
- }, qn = (e, t, n = {}) => {
2321
- let r = U(e, t, n), i = r.data;
2342
+ }, tr = (e, t, n = {}) => {
2343
+ let r = B(e, t, n), i = r.data;
2322
2344
  return {
2323
2345
  record: Array.isArray(i) ? i[0] : i,
2324
2346
  loading: i === void 0,
2325
2347
  error: r.error
2326
2348
  };
2327
- }, Jn = (e, t = 300) => {
2349
+ }, nr = (e, t = 300) => {
2328
2350
  let [n, r] = c(e);
2329
2351
  return a(() => {
2330
2352
  let n = setTimeout(() => r(e), t);
2331
2353
  return () => clearTimeout(n);
2332
2354
  }, [e, t]), n;
2333
- }, Yn = (e) => {
2355
+ }, rr = (e) => {
2334
2356
  let { value: t, debouncedValue: n, data: r, interpret: i, skipEmpty: a = !0 } = e;
2335
2357
  if (a && t.trim() === "") return {
2336
2358
  status: "idle",
@@ -2348,19 +2370,19 @@ var Rn = () => r(In), zn = (e) => Pn(Rn().scopes, e), Bn = (e) => Fn(Rn().scopes
2348
2370
  valid: o.valid,
2349
2371
  message: o.message
2350
2372
  };
2351
- }, Xn = (e, t, n, r) => {
2352
- let { input: i, interpret: a, debounceMs: s = 300, skipEmpty: c = !0 } = r, l = Jn(n, s), u = c && l.trim() === "", d = U(e, t, o(() => i ? i(l) : { value: l }, [i, l]), { skip: u });
2353
- return Yn({
2373
+ }, ir = (e, t, n, r) => {
2374
+ let { input: i, interpret: a, debounceMs: s = 300, skipEmpty: c = !0 } = r, l = nr(n, s), u = c && l.trim() === "", d = B(e, t, o(() => i ? i(l) : { value: l }, [i, l]), { skip: u });
2375
+ return rr({
2354
2376
  value: n,
2355
2377
  debouncedValue: l,
2356
2378
  data: u ? null : d.data,
2357
2379
  interpret: a,
2358
2380
  skipEmpty: c
2359
2381
  });
2360
- }, Zn = (e, t) => ({
2382
+ }, ar = (e, t) => ({
2361
2383
  name: e,
2362
2384
  payload: t
2363
- }), Qn = (e, t) => {
2385
+ }), or = (e, t) => {
2364
2386
  let n = g.decodeUnknownEither(e.payload, { errors: "all" })(t);
2365
2387
  if (n._tag === "Right") return {
2366
2388
  valid: !0,
@@ -2372,15 +2394,15 @@ var Rn = () => r(In), zn = (e) => Pn(Rn().scopes, e), Bn = (e) => Fn(Rn().scopes
2372
2394
  valid: !1,
2373
2395
  errors: r
2374
2396
  };
2375
- }, $n = (e) => {
2397
+ }, sr = (e) => {
2376
2398
  let t = new Map(e.map((e) => [e.name, e]));
2377
2399
  return {
2378
2400
  names: [...t.keys()].sort(),
2379
2401
  get: (e) => t.get(e),
2380
2402
  events: e
2381
2403
  };
2382
- }, er = (e, t) => {
2383
- let n = $n(e);
2404
+ }, cr = (e, t) => {
2405
+ let n = sr(e);
2384
2406
  return {
2385
2407
  track: (e, r) => {
2386
2408
  let i = n.get(e);
@@ -2389,7 +2411,7 @@ var Rn = () => r(In), zn = (e) => Pn(Rn().scopes, e), Bn = (e) => Fn(Rn().scopes
2389
2411
  return;
2390
2412
  }
2391
2413
  if (process.env.NODE_ENV !== "production") {
2392
- let t = Qn(i, r);
2414
+ let t = or(i, r);
2393
2415
  t.valid || console.error(`[@voltro/client] analytics.track('${e}'): payload failed its schema`, t.errors);
2394
2416
  }
2395
2417
  t({
@@ -2400,42 +2422,42 @@ var Rn = () => r(In), zn = (e) => Pn(Rn().scopes, e), Bn = (e) => Fn(Rn().scopes
2400
2422
  names: n.names,
2401
2423
  catalog: n
2402
2424
  };
2403
- }, tr = (e, t) => {
2404
- let r = Y(e, t);
2425
+ }, lr = (e, t) => {
2426
+ let r = J(e, t);
2405
2427
  return {
2406
2428
  preview: n((e) => r.run(e), [r]),
2407
2429
  diff: r.lastResult,
2408
2430
  pending: r.pending,
2409
2431
  error: r.error
2410
2432
  };
2411
- }, nr = (e, t, n, r) => [...e, {
2433
+ }, ur = (e, t, n, r) => [...e, {
2412
2434
  id: t,
2413
2435
  tag: n,
2414
2436
  input: r,
2415
2437
  status: "pending",
2416
2438
  attempts: 0
2417
- }], rr = (e, t, n) => e.map((e) => e.id === t ? {
2439
+ }], dr = (e, t, n) => e.map((e) => e.id === t ? {
2418
2440
  ...e,
2419
2441
  ...n
2420
- } : e), ir = (e, t) => rr(e, t, { status: "sent" }), ar = (e, t, n) => e.map((e) => e.id === t ? {
2442
+ } : e), fr = (e, t) => dr(e, t, { status: "sent" }), pr = (e, t, n) => e.map((e) => e.id === t ? {
2421
2443
  ...e,
2422
2444
  status: "failed",
2423
2445
  error: n,
2424
2446
  attempts: e.attempts + 1
2425
- } : e), or = (e, t, n) => rr(e, t, {
2447
+ } : e), mr = (e, t, n) => dr(e, t, {
2426
2448
  status: "conflict",
2427
2449
  error: n
2428
- }), sr = (e) => e.filter((e) => e.status !== "sent"), cr = (e) => {
2450
+ }), hr = (e) => e.filter((e) => e.status !== "sent"), gr = (e) => {
2429
2451
  let t = [];
2430
2452
  for (let n of e) {
2431
2453
  if (n.status === "conflict") break;
2432
2454
  (n.status === "pending" || n.status === "failed") && t.push(n);
2433
2455
  }
2434
2456
  return t;
2435
- }, lr = (e) => {
2457
+ }, _r = (e) => {
2436
2458
  let t = e;
2437
2459
  return t?.conflict === !0 || t?._tag === "UndoBoundaryError" && t?.boundary === "conflict";
2438
- }, ur = (e) => {
2460
+ }, vr = (e) => {
2439
2461
  let [t, n] = c(e ?? (typeof navigator < "u" ? navigator.onLine : !0));
2440
2462
  return a(() => {
2441
2463
  if (e !== void 0) {
@@ -2448,21 +2470,21 @@ var Rn = () => r(In), zn = (e) => Pn(Rn().scopes, e), Bn = (e) => Fn(Rn().scopes
2448
2470
  window.removeEventListener("online", t), window.removeEventListener("offline", r);
2449
2471
  };
2450
2472
  }, [e]), t;
2451
- }, dr = (e) => {
2452
- let { send: t, isConflict: r = lr, idFor: i } = e, [o, l] = c([]), u = ur(e.online), d = s(o);
2473
+ }, yr = (e) => {
2474
+ let { send: t, isConflict: r = _r, idFor: i } = e, [o, l] = c([]), u = vr(e.online), d = s(o);
2453
2475
  d.current = o;
2454
2476
  let f = s(0), p = n((e, t) => {
2455
2477
  let n = i?.() ?? `obx_${f.current++}_${e}`;
2456
- l((r) => nr(r, n, e, t));
2478
+ l((r) => ur(r, n, e, t));
2457
2479
  }, [i]), m = n(async () => {
2458
- for (let e of cr(d.current)) try {
2459
- await t(e), l((t) => ir(t, e.id));
2480
+ for (let e of gr(d.current)) try {
2481
+ await t(e), l((t) => fr(t, e.id));
2460
2482
  } catch (t) {
2461
2483
  if (r(t)) {
2462
- l((n) => or(n, e.id, t));
2484
+ l((n) => mr(n, e.id, t));
2463
2485
  break;
2464
2486
  }
2465
- l((n) => ar(n, e.id, t));
2487
+ l((n) => pr(n, e.id, t));
2466
2488
  }
2467
2489
  }, [t, r]);
2468
2490
  return a(() => {
@@ -2475,7 +2497,7 @@ var Rn = () => r(In), zn = (e) => Pn(Rn().scopes, e), Bn = (e) => Fn(Rn().scopes
2475
2497
  pending: o.filter((e) => e.status === "pending" || e.status === "failed").length,
2476
2498
  conflicts: o.filter((e) => e.status === "conflict")
2477
2499
  };
2478
- }, fr = (e) => {
2500
+ }, br = (e) => {
2479
2501
  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);
2480
2502
  return {
2481
2503
  startIndex: l,
@@ -2485,8 +2507,8 @@ var Rn = () => r(In), zn = (e) => Pn(Rn().scopes, e), Bn = (e) => Fn(Rn().scopes
2485
2507
  topSpacer: l * r,
2486
2508
  bottomSpacer: a === void 0 ? 0 : Math.max(0, (a - d) * r)
2487
2509
  };
2488
- }, pr = (e, t, r) => {
2489
- let { rowHeight: i, viewportHeight: a, overscan: s, total: l, input: u } = r, [d, f] = c(0), p = o(() => fr({
2510
+ }, xr = (e, t, r) => {
2511
+ let { rowHeight: i, viewportHeight: a, overscan: s, total: l, input: u } = r, [d, f] = c(0), p = o(() => br({
2490
2512
  scrollTop: d,
2491
2513
  viewportHeight: a,
2492
2514
  rowHeight: i,
@@ -2498,7 +2520,7 @@ var Rn = () => r(In), zn = (e) => Pn(Rn().scopes, e), Bn = (e) => Fn(Rn().scopes
2498
2520
  i,
2499
2521
  s,
2500
2522
  l
2501
- ]), m = U(e, t, o(() => ({
2523
+ ]), m = B(e, t, o(() => ({
2502
2524
  ...u,
2503
2525
  offset: p.offset,
2504
2526
  limit: p.limit
@@ -2518,8 +2540,8 @@ var Rn = () => r(In), zn = (e) => Pn(Rn().scopes, e), Bn = (e) => Fn(Rn().scopes
2518
2540
  loading: m.data === void 0,
2519
2541
  error: m.error
2520
2542
  };
2521
- }, mr = () => typeof navigator > "u" || navigator.onLine, hr = (e) => {
2522
- let { errorBus: t } = P(e), [r, i] = c(mr), [o, l] = c(0), [u, d] = c(void 0), f = s(!0);
2543
+ }, Sr = () => typeof navigator > "u" || navigator.onLine, Cr = (e) => {
2544
+ let { errorBus: t } = j(e), [r, i] = c(Sr), [o, l] = c(0), [u, d] = c(void 0), f = s(!0);
2523
2545
  a(() => (f.current = !0, () => {
2524
2546
  f.current = !1;
2525
2547
  }), []), a(() => {
@@ -2545,7 +2567,7 @@ var Rn = () => r(In), zn = (e) => Pn(Rn().scopes, e), Bn = (e) => Fn(Rn().scopes
2545
2567
  lastFailureAt: u,
2546
2568
  reportSuccess: p
2547
2569
  };
2548
- }, gr = "__voltro.connections.list", _r = "__voltro.connections.start", vr = "__voltro.connections.submitToken", yr = "__voltro.connections.disconnect", br = {
2570
+ }, wr = "__voltro.connections.list", Tr = "__voltro.connections.start", Er = "__voltro.connections.submitToken", Dr = "__voltro.connections.disconnect", Or = {
2549
2571
  connectionId: "",
2550
2572
  kind: "oauth2",
2551
2573
  label: "",
@@ -2556,14 +2578,14 @@ var Rn = () => r(In), zn = (e) => Pn(Rn().scopes, e), Bn = (e) => Fn(Rn().scopes
2556
2578
  expiresAt: null,
2557
2579
  lastError: null,
2558
2580
  connectedAt: null
2559
- }, xr = (e, t) => {
2581
+ }, kr = (e, t) => {
2560
2582
  if (t === "redirect") {
2561
2583
  globalThis.location.assign(e);
2562
2584
  return;
2563
2585
  }
2564
2586
  globalThis.open(e, "voltro-connect", "width=620,height=760,menubar=no,toolbar=no") === null && globalThis.location.assign(e);
2565
- }, Sr = (e) => {
2566
- let { data: t } = U(e, gr, {}), r = Y(e, _r), i = J(e, vr), a = J(e, yr), o = t ?? [], s = r.pending || i.pending || a.pending, c = n((e) => ({
2587
+ }, Ar = (e) => {
2588
+ let { data: t } = B(e, wr, {}), r = J(e, Tr), i = q(e, Er), a = q(e, Dr), o = t ?? [], s = r.pending || i.pending || a.pending, c = n((e) => ({
2567
2589
  ...e,
2568
2590
  connected: e.status === "connected",
2569
2591
  needsAttention: e.status === "expired" || e.status === "revoked" || e.status === "error",
@@ -2571,7 +2593,7 @@ var Rn = () => r(In), zn = (e) => Pn(Rn().scopes, e), Bn = (e) => Fn(Rn().scopes
2571
2593
  connect: async (t) => {
2572
2594
  if (e.kind !== "oauth2") throw Error(`connection "${e.connectionId}" is a personal-access-token connection — call submitToken(token), not connect().`);
2573
2595
  let n = t?.redirectTo ?? `${globalThis.location.pathname}${globalThis.location.search}`;
2574
- xr((await r.run({
2596
+ kr((await r.run({
2575
2597
  connectionId: e.connectionId,
2576
2598
  redirectTo: n
2577
2599
  })).authorizeUrl, t?.mode);
@@ -2601,10 +2623,10 @@ var Rn = () => r(In), zn = (e) => Pn(Rn().scopes, e), Bn = (e) => Fn(Rn().scopes
2601
2623
  get: l,
2602
2624
  pending: s
2603
2625
  };
2604
- }, Cr = (e, t) => {
2605
- let n = Sr(e), r = n.get(t);
2626
+ }, jr = (e, t) => {
2627
+ let n = Ar(e), r = n.get(t);
2606
2628
  return o(() => r === void 0 ? {
2607
- ...br,
2629
+ ...Or,
2608
2630
  connectionId: t,
2609
2631
  label: t,
2610
2632
  connected: !1,
@@ -2629,6 +2651,6 @@ var Rn = () => r(In), zn = (e) => Pn(Rn().scopes, e), Bn = (e) => Fn(Rn().scopes
2629
2651
  n.loading,
2630
2652
  n.pending
2631
2653
  ]);
2632
- }, wr = "framework-client";
2654
+ }, Mr = "framework-client";
2633
2655
  //#endregion
2634
- export { Nn as ADMIN_SCOPE, wr as CLIENT_NAME, gr as CONNECTIONS_LIST_TAG, yr as CONNECTION_DISCONNECT_TAG, _r as CONNECTION_START_TAG, vr as CONNECTION_SUBMIT_TOKEN_TAG, ce as FrameworkRuntimesContext, me as FrameworkRuntimesProvider, oe as LoadingSubscriptionCache, Ln as PermissionProvider, se as RpcErrorBus, ae as SubscriptionCache, xn as UNDO_APPLY_TAG, bn as UNDO_LOG_TAG, Sn as UNDO_REDO_TAG, fe as _resetFrameworkRuntimesWarning, Pe as applyStoreSeeds, Pn as canCall, Fn as canCallAny, qe as clearMutations, sr as clearSent, Te as clearStoreHistory, fr as computeWindow, er as createAnalytics, Zn as defineEvent, ke as defineStore, wn as defineTracking, Oe as definedStores, vn as deriveEntityAdmins, nr as enqueueEntry, $n as eventCatalog, Wn as filtersFromSchema, Xe as getMutationNotifier, Ge as getMutations, je as makeStoreSeedBag, mn as manifestUrl, or as markConflict, ar as markFailed, ir as markSent, fn as provenanceUrl, Gt as publishClientError, S as publishClientTrace, cr as replayable, qt as reportClientError, Ae as resetStoreRegistryForTests, H as resolveByTag, $ as resolveTrackingEvent, Ft as resumableConsumeProgram, sn as rowsToOptions, Re as runSequence, rn as schemaToColumns, Q as schemaToFields, Ne as seedStore, Le as sequence, Ye as setMutationNotifier, Me as setStoreSeedResolver, K as settleMutation, F as shallow, An as shallowArrayEqual, jn as sourceValues, A as ssrClientProxy, ue as ssrStubHandle, w as stableKey, We as startMutation, Ce as storeHistory, Kt as subscribeClientErrors, C as subscribeClientTraces, Ke as subscribeMutations, we as subscribeStoreHistory, Ee as travelToStoreState, Y as useAction, Vt as useAgent, Bt as useAgentChat, Pt as useAgentStream, Xn as useAsyncValidation, zn as useCan, Bn as useCanAny, hn as useCapabilityManifest, Cr as useConnection, hr as useConnectionStatus, Sr as useConnections, Ht as useDataCopilot, un as useDataTable, Jn as useDebounced, Mn as useDerived, on as useFormBinding, On as useFormSkeleton, P as useFrameworkApi, pe as useFrameworkRuntimes, J as useMutation, Jt as useOnRpcError, dr as useOutbox, Rn as usePermissions, tr as usePreview, pn as useProvenance, cn as useQueryField, Kn as useQueryFilters, qn as useRecord, Ut as useRefreshSubscriptions, Vn as useResourceCan, Hn as useResourceCans, Lt as useResumableAgentStream, ze as useSequence, U as useSubscription, kn as useTableSkeleton, Dn as useTracking, yn as useUndo, Cn as useUndoLog, _t as useUpload, pr as useWindowedSubscription, vt as useWorkflow, Et as useWorkflowDomainEvents, Dt as useWorkflowEventDeliveries, Tt as useWorkflowEvents, xt as useWorkflowRun, wt as useWorkflowRunEvents, Nt as useWorkflowRunState, Ct as useWorkflowRunSteps, St as useWorkflowRuns, yt as useWorkflowSignal, bt as useWorkflowUpdate, Qn as validateEventPayload, an as validateFields, Yn as validationStatus, En as wrapTrackedCallbacks };
2656
+ export { Vn as ADMIN_SCOPE, Mr as CLIENT_NAME, wr as CONNECTIONS_LIST_TAG, Dr as CONNECTION_DISCONNECT_TAG, Tr as CONNECTION_START_TAG, Er as CONNECTION_SUBMIT_TOKEN_TAG, de as FrameworkRuntimesContext, _e as FrameworkRuntimesProvider, le as LoadingSubscriptionCache, Gn as PermissionProvider, ue as RpcErrorBus, ce as SubscriptionCache, kn as UNDO_APPLY_TAG, On as UNDO_LOG_TAG, An as UNDO_REDO_TAG, he as _resetFrameworkRuntimesWarning, Ge as applyStoreSeeds, Hn as canCall, Un as canCallAny, nt as clearMutations, hr as clearSent, Oe as clearStoreHistory, br as computeWindow, cr as createAnalytics, ar as defineEvent, Be as defineStore, Mn as defineTracking, ze as definedStores, En as deriveEntityAdmins, ur as enqueueEntry, sr as eventCatalog, Qn as filtersFromSchema, at as getMutationNotifier, et as getMutations, He as makeStoreSeedBag, Sn as manifestUrl, mr as markConflict, pr as markFailed, fr as markSent, bn as provenanceUrl, en as publishClientError, S as publishClientTrace, gr as replayable, nn as reportClientError, Ve as resetStoreRegistryForTests, z as resolveByTag, $ as resolveTrackingEvent, Wt as resumableConsumeProgram, hn as rowsToOptions, Ye as runSequence, pn as schemaToColumns, Z as schemaToFields, We as seedStore, Je as sequence, it as setMutationNotifier, Ue as setStoreSeedResolver, G as settleMutation, M as shallow, Rn as shallowArrayEqual, zn as sourceValues, D as ssrClientProxy, pe as ssrStubHandle, w as stableKey, W as startMutation, Ee as storeHistory, tn as subscribeClientErrors, C as subscribeClientTraces, tt as subscribeMutations, De as subscribeStoreHistory, ke as travelToStoreState, J as useAction, Xt as useAgent, Yt as useAgentChat, Ut as useAgentStream, ir as useAsyncValidation, qn as useCan, Jn as useCanAny, Cn as useCapabilityManifest, jr as useConnection, Cr as useConnectionStatus, Ar as useConnections, Zt as useDataCopilot, vn as useDataTable, nr as useDebounced, Bn as useDerived, mn as useFormBinding, In as useFormSkeleton, j as useFrameworkApi, ge as useFrameworkRuntimes, q as useMutation, rn as useOnRpcError, yr as useOutbox, Kn as usePermissions, lr as usePreview, xn as useProvenance, gn as useQueryField, er as useQueryFilters, tr as useRecord, Qt as useRefreshSubscriptions, Yn as useResourceCan, Xn as useResourceCans, Kt as useResumableAgentStream, Xe as useSequence, B as useSubscription, Ln as useTableSkeleton, Fn as useTracking, Dn as useUndo, jn as useUndoLog, Et as useUpload, xr as useWindowedSubscription, Dt as useWorkflow, Ft as useWorkflowDomainEvents, It as useWorkflowEventDeliveries, Pt as useWorkflowEvents, At as useWorkflowRun, Nt as useWorkflowRunEvents, Ht as useWorkflowRunState, Mt as useWorkflowRunSteps, jt as useWorkflowRuns, Ot as useWorkflowSignal, kt as useWorkflowUpdate, or as validateEventPayload, Q as validateFields, rr as validationStatus, Pn as wrapTrackedCallbacks };