@voltro/client 0.9.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -30,10 +30,10 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
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
+ }, te = (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
- }, te = (e, t, n) => {
36
+ }, ne = (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 ? {
@@ -50,7 +50,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
50
50
  return O(e ?? {}, r, s === "append" ? [...t, o] : [o, ...t]);
51
51
  };
52
52
  }
53
- let a = k(e, t);
53
+ let a = te(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) => ({
@@ -72,8 +72,8 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
72
72
  let t = Array.isArray(D(e, r)) ? D(e, r) : [];
73
73
  return O(e, r, t.filter((e) => !a.has(e[i])));
74
74
  };
75
- }, ne = (e, t, n) => {
76
- if (e.path !== void 0) return te(e, t, n);
75
+ }, re = (e, t, n) => {
76
+ if (e.path !== void 0) return ne(e, t, n);
77
77
  switch (e.op) {
78
78
  case "insert": {
79
79
  let r = e.shape ? {
@@ -91,7 +91,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
91
91
  };
92
92
  }
93
93
  case "update": {
94
- let n = k(e, t);
94
+ let n = te(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 b = /* @__PURE__ */ new Set(), x = (e) => {
108
108
  });
109
109
  }
110
110
  case "delete": {
111
- let n = k(e, t);
111
+ let n = te(e, t);
112
112
  return n === null ? null : (e) => (Array.isArray(e) ? e : []).filter((e) => !n.has(e.id));
113
113
  }
114
114
  }
115
- }, re = 5e3, ie = class {
115
+ }, ie = 5e3, ae = 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 ?? re, this.onChangeHook = e.onChange, this.errorBus = e.errorBus;
121
+ this.inactiveTtlMs = e.inactiveTtlMs ?? ie, this.onChangeHook = e.onChange, this.errorBus = e.errorBus;
122
122
  }
123
123
  subscribe(e, t, n, r, i = {}) {
124
124
  let a = C(e), o = typeof e[0] == "string" ? e[0] : void 0, s = this.entries.get(a);
@@ -178,7 +178,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
178
178
  if (!n) continue;
179
179
  }
180
180
  if (e.computed && i.op === "insert" && i.path === void 0) continue;
181
- let a = ne(i, t, r);
181
+ let a = re(i, t, r);
182
182
  if (a === null) continue;
183
183
  let o = {
184
184
  id: `${r}-${e.key}`,
@@ -320,14 +320,14 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
320
320
  t && t.subscribers.size === 0 && (t.fiber && d.runFork(p.interrupt(t.fiber)), this.entries.delete(e));
321
321
  }, this.inactiveTtlMs)));
322
322
  }
323
- }, ae = class extends ie {
323
+ }, oe = class extends ae {
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
- }, oe = class {
330
+ }, se = class {
331
331
  #e = /* @__PURE__ */ new Set();
332
332
  on(e) {
333
333
  return this.#e.add(e), () => {
@@ -339,34 +339,34 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
339
339
  t(e);
340
340
  } catch {}
341
341
  }
342
- }, se = (e) => {
342
+ }, ce = (e) => {
343
343
  if (typeof e != "object" || !e) return;
344
344
  let t = e._tag;
345
345
  return typeof t == "string" ? t : void 0;
346
- }, ce = e(null), le = () => {
346
+ }, le = e(null), ue = () => {
347
347
  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");
348
- }, A = new Proxy(() => le(), {
349
- get: (e, t) => A,
348
+ }, k = new Proxy(() => ue(), {
349
+ get: (e, t) => k,
350
350
  has: () => !0,
351
- apply: () => le()
352
- }), ue = {
351
+ apply: () => ue()
352
+ }), de = {
353
353
  runtime: { runPromise: () => Promise.reject(/* @__PURE__ */ Error("Voltro: mutations are not invokable during SSR")) },
354
- cache: new ae(),
355
- client: A,
354
+ cache: new oe(),
355
+ client: k,
356
356
  descriptors: {},
357
357
  inspectBaseUrl: "",
358
- errorBus: new oe()
359
- }, de = {
360
- get: () => ue,
358
+ errorBus: new se()
359
+ }, fe = {
360
+ get: () => de,
361
361
  names: []
362
- }, j = !1, M = !1, N = null, fe = () => {
363
- j = !1, M = !1, N !== null && (clearTimeout(N), N = null);
364
- }, pe = () => {
365
- let e = r(ce);
366
- 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(() => {
367
- 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>."));
368
- }, 0)), de);
369
- }, P = (e) => pe().get(e), me = ({ apis: e, children: t }) => {
362
+ }, A = !1, j = !1, M = null, pe = () => {
363
+ A = !1, j = !1, M !== null && (clearTimeout(M), M = null);
364
+ }, me = () => {
365
+ let e = r(le);
366
+ return e ? (j || (j = !0, M !== null && (clearTimeout(M), M = null)), e) : (typeof window < "u" && !A && !j && M === null && process.env.NODE_ENV !== "production" && (M = setTimeout(() => {
367
+ M = null, !(A || j) && (A = !0, console.warn("useFrameworkRuntimes: no <FrameworkRuntimesProvider> in the tree — returning a loading baseline (subscriptions read `undefined`, mutations are no-ops). If this is not an intentional lazy/conditional mount, mount your app via @voltro/web mount() or wrap the subtree in <VoltroRuntimeProvider>."));
368
+ }, 0)), fe);
369
+ }, N = (e) => me().get(e), he = ({ apis: e, children: t }) => {
370
370
  let n = a(() => ({
371
371
  get: (t) => {
372
372
  let n = e.get(t);
@@ -378,11 +378,11 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
378
378
  },
379
379
  names: Array.from(e.keys())
380
380
  }), [e]);
381
- return /* @__PURE__ */ v(ce.Provider, {
381
+ return /* @__PURE__ */ v(le.Provider, {
382
382
  value: n,
383
383
  children: t
384
384
  });
385
- }, F = (e, t) => {
385
+ }, P = (e, t) => {
386
386
  let n = t.split("."), r = e;
387
387
  for (let e = 0; e < n.length; e++) {
388
388
  let i = n[e];
@@ -401,72 +401,147 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
401
401
  }
402
402
  if (typeof r != "function") throw Error(`@voltro/client: rpc tag ${JSON.stringify(t)} did not resolve to a callable method.`);
403
403
  return r;
404
- }, he = Object.freeze({
404
+ }, ge = Object.freeze({
405
405
  data: void 0,
406
406
  revision: -1,
407
407
  emittedAt: void 0,
408
408
  error: void 0,
409
409
  pendingPatches: 0
410
- }), ge = () => he;
411
- function I(e, t, r = {}, i = {}) {
412
- let s = i.skip === !0, { runtime: l, cache: u, client: d, descriptors: f } = P(e), p = f[t]?.source, m = o(r);
410
+ }), _e = () => ge;
411
+ function F(e, t, r = {}, i = {}) {
412
+ let s = i.skip === !0, { runtime: l, cache: u, client: d, descriptors: f } = N(e), p = f[t]?.source, m = o(r);
413
413
  m.current = r;
414
414
  let h = o(d);
415
415
  h.current = d;
416
- let g = o(() => F(h.current, t)(m.current)), _ = a(() => [t, m.current], [t, a(() => JSON.stringify(Object.entries(r).sort(([e], [t]) => e.localeCompare(t))), [r])]), v = c(n((e) => s ? () => {} : u.subscribe(_, g.current, l, e, p === void 0 ? {} : { source: p }).unsubscribe, [
416
+ let g = o(() => P(h.current, t)(m.current)), _ = a(() => [t, m.current], [t, a(() => JSON.stringify(Object.entries(r).sort(([e], [t]) => e.localeCompare(t))), [r])]), v = c(n((e) => s ? () => {} : u.subscribe(_, g.current, l, e, p === void 0 ? {} : { source: p }).unsubscribe, [
417
417
  u,
418
418
  l,
419
419
  p,
420
420
  s,
421
421
  _
422
- ]), n(() => s ? he : u.peek(_), [
422
+ ]), n(() => s ? ge : u.peek(_), [
423
423
  u,
424
424
  s,
425
425
  _
426
- ]), ge), y = v.data !== void 0, b = y && (Array.isArray(v.data) ? v.data.length === 0 : v.data === null), x = {
426
+ ]), _e), y = v.data !== void 0, b = y && (Array.isArray(v.data) ? v.data.length === 0 : v.data === null), x = {
427
427
  revision: v.revision,
428
428
  emittedAt: v.emittedAt,
429
429
  error: v.error,
430
430
  pendingPatches: v.pendingPatches
431
431
  };
432
- return i.fallback === void 0 ? y ? {
432
+ return i.fallback === void 0 ? s ? {
433
+ ...x,
434
+ data: void 0,
435
+ loading: !1,
436
+ isEmpty: !1,
437
+ idle: !0
438
+ } : y ? {
433
439
  ...x,
434
440
  data: v.data,
435
441
  loading: !1,
436
- isEmpty: b
442
+ isEmpty: b,
443
+ idle: !1
437
444
  } : {
438
445
  ...x,
439
446
  data: void 0,
440
447
  loading: !0,
441
- isEmpty: !1
448
+ isEmpty: !1,
449
+ idle: !1
442
450
  } : {
443
451
  ...x,
444
452
  data: y ? v.data : i.fallback,
445
- loading: !y,
453
+ loading: !y && !s,
454
+ idle: s,
446
455
  isEmpty: b
447
456
  };
448
457
  }
449
458
  //#endregion
450
- //#region src/mutationsBus.ts
451
- var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
452
- ve = L.slice();
453
- }, z = () => {
454
- ye();
455
- for (let e of R) try {
459
+ //#region src/sequence.ts
460
+ var ve = () => {
461
+ let e = (t) => ({
462
+ steps: t,
463
+ step: (n, r, i) => e([...t, {
464
+ name: n,
465
+ run: r,
466
+ undo: i?.undo
467
+ }])
468
+ });
469
+ return e([]);
470
+ }, ye = async (e, t = {}) => {
471
+ let n = {}, r = [];
472
+ for (let i of e.steps) try {
473
+ let e = await i.run(n);
474
+ n[i.name] = e, r.push({
475
+ step: i,
476
+ result: e
477
+ });
478
+ } catch (e) {
479
+ let n = [], a = [];
480
+ if (t.compensate !== !1) for (let e = r.length - 1; e >= 0; e--) {
481
+ let t = r[e];
482
+ if (t.step.undo !== void 0) try {
483
+ await t.step.undo(t.result), n.push(t.step.name);
484
+ } catch (e) {
485
+ a.push({
486
+ step: t.step.name,
487
+ error: e
488
+ });
489
+ }
490
+ }
491
+ return t.onError?.(e, {
492
+ failedStep: i.name,
493
+ compensated: n,
494
+ compensationFailures: a
495
+ }), {
496
+ ok: !1,
497
+ failedStep: i.name,
498
+ error: e,
499
+ compensated: n,
500
+ compensationFailures: a
501
+ };
502
+ }
503
+ return {
504
+ ok: !0,
505
+ data: n
506
+ };
507
+ }, be = (e = {}) => {
508
+ let [t, r] = s(!1), [i, a] = s(void 0), [c, l] = s(void 0), u = o(e);
509
+ return u.current = e, {
510
+ run: n(async (e, t = {}) => {
511
+ r(!0), a(void 0), l(void 0);
512
+ try {
513
+ let n = await ye(e, {
514
+ ...u.current,
515
+ ...t
516
+ });
517
+ return n.ok || (a(n.error), l(n.failedStep)), n;
518
+ } finally {
519
+ r(!1);
520
+ }
521
+ }, []),
522
+ pending: t,
523
+ error: i,
524
+ failedStep: c
525
+ };
526
+ }, xe = 100, I = [], L = /* @__PURE__ */ new Set(), Se = [], Ce = () => {
527
+ Se = I.slice();
528
+ }, R = () => {
529
+ Ce();
530
+ for (let e of L) try {
456
531
  e();
457
532
  } catch {}
458
- }, B = (e) => {
533
+ }, z = (e) => {
459
534
  let t = {
460
535
  ...e,
461
536
  status: "pending",
462
537
  startedAt: Date.now()
463
538
  };
464
- L.unshift(t), L.length > _e && (L.length = _e), z();
465
- }, V = (e, t) => {
466
- let n = L.findIndex((t) => t.id === e);
539
+ I.unshift(t), I.length > xe && (I.length = xe), R();
540
+ }, B = (e, t) => {
541
+ let n = I.findIndex((t) => t.id === e);
467
542
  if (n === -1) return;
468
- let r = L[n], i = Date.now();
469
- L[n] = t.status === "success" ? {
543
+ let r = I[n], i = Date.now();
544
+ I[n] = t.status === "success" ? {
470
545
  ...r,
471
546
  status: "success",
472
547
  output: t.output,
@@ -478,12 +553,12 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
478
553
  error: t.error,
479
554
  settledAt: i,
480
555
  durationMs: i - r.startedAt
481
- }, z();
482
- }, be = () => ve, xe = (e) => (R.add(e), () => {
483
- R.delete(e);
484
- }), Se = () => {
485
- L.length !== 0 && (L.length = 0, z());
486
- }, Ce = (e, t) => {
556
+ }, R();
557
+ }, we = () => Se, Te = (e) => (L.add(e), () => {
558
+ L.delete(e);
559
+ }), Ee = () => {
560
+ I.length !== 0 && (I.length = 0, R());
561
+ }, De = (e, t) => {
487
562
  if (t === void 0 || typeof e != "object" || !e) return e;
488
563
  try {
489
564
  Object.defineProperty(e, "__voltroTraceId", {
@@ -493,15 +568,15 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
493
568
  });
494
569
  } catch {}
495
570
  return e;
496
- }, H, we = (e) => {
497
- H = e;
498
- }, U = () => H, Te = (e, t, n) => typeof e == "function" ? e(t, n) : e, Ee = 0, De = () => `mut_${++Ee}`, Oe = (e, t) => ({
571
+ }, V, Oe = (e) => {
572
+ V = e;
573
+ }, H = () => V, ke = (e, t, n) => typeof e == "function" ? e(t, n) : e, Ae = 0, je = () => `mut_${++Ae}`, Me = (e, t) => ({
499
574
  update: (n, r) => {
500
575
  e.update(n, r, t);
501
576
  },
502
577
  forTag: (n, r) => e.forTag(n, r, t)
503
- }), W = (e, t) => {
504
- let { runtime: r, cache: i, client: c, descriptors: l, errorBus: u } = P(e), f = l[t], p = f?.targets;
578
+ }), U = (e, t) => {
579
+ let { runtime: r, cache: i, client: c, descriptors: l, errorBus: u } = N(e), f = l[t], p = f?.targets;
505
580
  if (process.env.NODE_ENV !== "production") {
506
581
  let n = f?.kind;
507
582
  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.`);
@@ -509,12 +584,12 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
509
584
  let [m, h] = s(!1), [g, _] = s(void 0), [v, y] = s(void 0), b = o(null), S = o(!1), C = n(async (n, a) => {
510
585
  let o = a?.onError !== void 0 || a?.notify?.error !== void 0, s = (e) => {
511
586
  a?.onError?.(e, n);
512
- let t = Te(a?.notify?.error, e, n);
513
- t !== void 0 && H?.error(t);
587
+ let t = ke(a?.notify?.error, e, n);
588
+ t !== void 0 && V?.error(t);
514
589
  };
515
590
  h(!0), _(void 0);
516
- let l = De();
517
- B({
591
+ let l = je();
592
+ z({
518
593
  id: l,
519
594
  apiName: e,
520
595
  tag: t,
@@ -522,9 +597,9 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
522
597
  });
523
598
  let f = b.current, m = S.current;
524
599
  if (f) try {
525
- f(Oe(i, l), n);
600
+ f(Me(i, l), n);
526
601
  } catch (e) {
527
- if (_(e), h(!1), i.revertByMutation(l), V(l, {
602
+ if (_(e), h(!1), i.revertByMutation(l), B(l, {
528
603
  status: "error",
529
604
  error: e
530
605
  }), o) return s(e);
@@ -533,7 +608,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
533
608
  else !m && p && p.length > 0 && i.autoApply(p, n, l);
534
609
  let g;
535
610
  try {
536
- let o = F(c, t), s = d.currentSpan.pipe(d.tap((e) => d.sync(() => {
611
+ let o = P(c, t), s = d.currentSpan.pipe(d.tap((e) => d.sync(() => {
537
612
  g = e.traceId, x({
538
613
  traceId: e.traceId,
539
614
  spanId: e.spanId,
@@ -545,15 +620,15 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
545
620
  "voltro.mutationId": l,
546
621
  "rpc.tag": t
547
622
  } })), u = await r.runPromise(s);
548
- y(u), V(l, {
623
+ y(u), B(l, {
549
624
  status: "success",
550
625
  output: u
551
626
  }), i.confirmByMutation(l), a?.onSuccess?.(u, n);
552
- let f = Te(a?.notify?.success, u, n);
553
- return f !== void 0 && H?.success(f), u;
627
+ let f = ke(a?.notify?.success, u, n);
628
+ return f !== void 0 && V?.success(f), u;
554
629
  } catch (e) {
555
- let n = Ce(e, g);
556
- if (_(n), V(l, {
630
+ let n = De(e, g);
631
+ if (_(n), B(l, {
557
632
  status: "error",
558
633
  error: n
559
634
  }), i.revertByMutation(l), u.emit({
@@ -590,7 +665,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
590
665
  g,
591
666
  v
592
667
  ]);
593
- }, ke = (e, t) => {
668
+ }, Ne = (e, t) => {
594
669
  if (t === void 0 || typeof e != "object" || !e) return e;
595
670
  try {
596
671
  Object.defineProperty(e, "__voltroTraceId", {
@@ -600,8 +675,8 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
600
675
  });
601
676
  } catch {}
602
677
  return e;
603
- }, Ae = (e, t, n) => typeof e == "function" ? e(t, n) : e, je = 0, Me = () => `act_${++je}`, G = (e, t) => {
604
- let { runtime: r, client: i, descriptors: o, errorBus: c } = P(e);
678
+ }, Pe = (e, t, n) => typeof e == "function" ? e(t, n) : e, Fe = 0, Ie = () => `act_${++Fe}`, W = (e, t) => {
679
+ let { runtime: r, client: i, descriptors: o, errorBus: c } = N(e);
605
680
  if (process.env.NODE_ENV !== "production") {
606
681
  let n = o[t]?.kind;
607
682
  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.`);
@@ -609,8 +684,8 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
609
684
  let [l, u] = s(!1), [f, p] = s(void 0), [m, h] = s(void 0), g = n(async (n, a) => {
610
685
  let o = a?.onError !== void 0 || a?.notify?.error !== void 0;
611
686
  u(!0), p(void 0);
612
- let s = Me();
613
- B({
687
+ let s = Ie();
688
+ z({
614
689
  id: s,
615
690
  apiName: e,
616
691
  tag: t,
@@ -618,7 +693,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
618
693
  });
619
694
  let l;
620
695
  try {
621
- let o = F(i, t), c = d.currentSpan.pipe(d.tap((e) => d.sync(() => {
696
+ let o = P(i, t), c = d.currentSpan.pipe(d.tap((e) => d.sync(() => {
622
697
  l = e.traceId, x({
623
698
  traceId: e.traceId,
624
699
  spanId: e.spanId,
@@ -630,15 +705,15 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
630
705
  "voltro.actionId": s,
631
706
  "rpc.tag": t
632
707
  } })), u = await r.runPromise(c);
633
- h(u), V(s, {
708
+ h(u), B(s, {
634
709
  status: "success",
635
710
  output: u
636
711
  }), a?.onSuccess?.(u, n);
637
- let f = Ae(a?.notify?.success, u, n);
638
- return f !== void 0 && U()?.success(f), u;
712
+ let f = Pe(a?.notify?.success, u, n);
713
+ return f !== void 0 && H()?.success(f), u;
639
714
  } catch (e) {
640
- let r = ke(e, l);
641
- if (p(r), V(s, {
715
+ let r = Ne(e, l);
716
+ if (p(r), B(s, {
642
717
  status: "error",
643
718
  error: r
644
719
  }), c.emit({
@@ -648,8 +723,8 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
648
723
  ...l === void 0 ? {} : { traceId: l }
649
724
  }), o) {
650
725
  a?.onError?.(r, n);
651
- let e = Ae(a?.notify?.error, r, n);
652
- e !== void 0 && U()?.error(e);
726
+ let e = Pe(a?.notify?.error, r, n);
727
+ e !== void 0 && H()?.error(e);
653
728
  return;
654
729
  }
655
730
  throw r;
@@ -674,7 +749,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
674
749
  f,
675
750
  m
676
751
  ]);
677
- }, K = "storage.mintUploadTicket", Ne = "storage.mintPresignedUpload", Pe = "storage.finalizeUpload", Fe = "storage.beginResumableUpload", Ie = "storage.beginMultipartUpload", Le = "storage.signMultipartPart", Re = "storage.completeMultipartUpload", ze = "storage.abortMultipartUpload", Be = (e, t, n, r) => new Promise((i, a) => {
752
+ }, G = "storage.mintUploadTicket", Le = "storage.mintPresignedUpload", Re = "storage.finalizeUpload", ze = "storage.beginResumableUpload", Be = "storage.beginMultipartUpload", Ve = "storage.signMultipartPart", He = "storage.completeMultipartUpload", Ue = "storage.abortMultipartUpload", We = (e, t, n, r) => new Promise((i, a) => {
678
753
  let o = new XMLHttpRequest();
679
754
  if (o.open("PUT", e), o.upload.onprogress = (e) => {
680
755
  e.lengthComputable && n(e.loaded / e.total);
@@ -688,7 +763,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
688
763
  return;
689
764
  }
690
765
  r.addEventListener("abort", () => o.abort(), { once: !0 }), o.send(t);
691
- }), Ve = (e, t, n, r, i, a) => new Promise((o, s) => {
766
+ }), Ge = (e, t, n, r, i, a) => new Promise((o, s) => {
692
767
  let c = new XMLHttpRequest();
693
768
  if (c.open("POST", e), c.setRequestHeader("content-type", t), c.upload.onprogress = (e) => {
694
769
  e.lengthComputable && r(e.loaded / e.total);
@@ -706,7 +781,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
706
781
  return;
707
782
  }
708
783
  i.addEventListener("abort", () => c.abort(), { once: !0 }), c.send(n);
709
- }), He = (e, t, n, r, i) => new Promise((a, o) => {
784
+ }), Ke = (e, t, n, r, i) => new Promise((a, o) => {
710
785
  let s = new XMLHttpRequest();
711
786
  if (s.open("PUT", e), s.setRequestHeader("content-type", t), s.upload.onprogress = (e) => {
712
787
  e.lengthComputable && r(e.loaded / e.total);
@@ -717,7 +792,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
717
792
  return;
718
793
  }
719
794
  i.addEventListener("abort", () => s.abort(), { once: !0 }), s.send(n);
720
- }), Ue = (e, t, n, r, i) => new Promise((a, o) => {
795
+ }), qe = (e, t, n, r, i) => new Promise((a, o) => {
721
796
  let s = new XMLHttpRequest();
722
797
  if (s.open("POST", e), s.setRequestHeader("content-type", t), s.upload.onprogress = (e) => {
723
798
  e.lengthComputable && r(e.loaded / e.total);
@@ -733,8 +808,8 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
733
808
  return;
734
809
  }
735
810
  i.addEventListener("abort", () => s.abort(), { once: !0 }), s.send(n);
736
- }), We = (e, t = {}) => {
737
- let { runtime: r, client: i, inspectBaseUrl: c, errorBus: l } = P(e), [u, d] = s(0), [f, p] = s("idle"), [m, h] = s(void 0), g = o(null), _ = n(() => {
811
+ }), Je = (e, t = {}) => {
812
+ let { runtime: r, client: i, inspectBaseUrl: c, errorBus: l } = N(e), [u, d] = s(0), [f, p] = s("idle"), [m, h] = s(void 0), g = o(null), _ = n(() => {
738
813
  d(0), p("idle"), h(void 0);
739
814
  }, []), v = n(() => {
740
815
  g.current?.abort();
@@ -754,16 +829,16 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
754
829
  ...e.width === void 0 ? {} : { width: e.width },
755
830
  ...e.height === void 0 ? {} : { height: e.height }
756
831
  }), g = async () => {
757
- let s = n.mintTag ?? t.mintTag ?? K, l = F(i, s), u = await r.runPromise(l({
832
+ let s = n.mintTag ?? t.mintTag ?? G, l = P(i, s), u = await r.runPromise(l({
758
833
  contentType: c,
759
834
  ...m,
760
835
  ...d ? { key: d } : {}
761
- })), f = await Ue(y(u.uploadUrl), c, e, o, a);
836
+ })), f = await qe(y(u.uploadUrl), c, e, o, a);
762
837
  return h(f);
763
838
  }, _ = async () => {
764
- let s = n.presignMintTag ?? t.presignMintTag ?? Ne, l = n.finalizeTag ?? t.finalizeTag ?? Pe, u;
839
+ let s = n.presignMintTag ?? t.presignMintTag ?? Le, l = n.finalizeTag ?? t.finalizeTag ?? Re, u;
765
840
  try {
766
- let e = F(i, s);
841
+ let e = P(i, s);
767
842
  u = await r.runPromise(e({
768
843
  contentType: c,
769
844
  ...m
@@ -771,11 +846,11 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
771
846
  } catch {
772
847
  return null;
773
848
  }
774
- await He(u.uploadUrl, c, e, o, a);
775
- let d = F(i, l), f = await r.runPromise(d({ finalizeToken: u.finalizeToken }));
849
+ await Ke(u.uploadUrl, c, e, o, a);
850
+ let d = P(i, l), f = await r.runPromise(d({ finalizeToken: u.finalizeToken }));
776
851
  return h(f);
777
852
  }, v = async () => {
778
- let s = n.beginResumableTag ?? t.beginResumableTag ?? Fe, l = F(i, s), u = e.size, d = n.chunkSize ?? t.chunkSize, f = await r.runPromise(l({
853
+ let s = n.beginResumableTag ?? t.beginResumableTag ?? ze, l = P(i, s), u = e.size, d = n.chunkSize ?? t.chunkSize, f = await r.runPromise(l({
779
854
  contentType: c,
780
855
  size: u,
781
856
  ...m,
@@ -786,7 +861,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
786
861
  for (;;) {
787
862
  if (a.aborted) throw new DOMException("upload aborted", "AbortError");
788
863
  try {
789
- let e = await Ve(`${p}?${`token=${encodeURIComponent(f.resumableToken)}&index=${t}${s ? "&final=1" : ""}`}`, c, i, (e) => o((b + e * l) / u), a, s);
864
+ let e = await Ge(`${p}?${`token=${encodeURIComponent(f.resumableToken)}&index=${t}${s ? "&final=1" : ""}`}`, c, i, (e) => o((b + e * l) / u), a, s);
790
865
  s && (x = e);
791
866
  break;
792
867
  } catch (e) {
@@ -798,9 +873,9 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
798
873
  if (!x) throw Error("resumable upload produced no final reply");
799
874
  return h(x);
800
875
  }, b = async () => {
801
- let s = n.multipartBeginTag ?? t.multipartBeginTag ?? Ie, u = n.multipartSignTag ?? t.multipartSignTag ?? Le, d = n.multipartCompleteTag ?? t.multipartCompleteTag ?? Re, f = n.multipartAbortTag ?? t.multipartAbortTag ?? ze, p = e.size, h = n.chunkSize ?? t.chunkSize, g;
876
+ let s = n.multipartBeginTag ?? t.multipartBeginTag ?? Be, u = n.multipartSignTag ?? t.multipartSignTag ?? Ve, d = n.multipartCompleteTag ?? t.multipartCompleteTag ?? He, f = n.multipartAbortTag ?? t.multipartAbortTag ?? Ue, p = e.size, h = n.chunkSize ?? t.chunkSize, g;
802
877
  try {
803
- let e = F(i, s);
878
+ let e = P(i, s);
804
879
  g = await r.runPromise(e({
805
880
  contentType: c,
806
881
  size: p,
@@ -810,7 +885,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
810
885
  } catch {
811
886
  return null;
812
887
  }
813
- let _ = F(i, u), v = F(i, d), b = F(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;
888
+ let _ = P(i, u), v = P(i, d), b = P(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;
814
889
  try {
815
890
  for (let t = 0; t < S; t++) {
816
891
  let n = t * x, i = Math.min(p, n + x), s = e.slice(n, i), c = t + 1, l = i - n, u = 0;
@@ -820,7 +895,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
820
895
  let { url: e } = await r.runPromise(_({
821
896
  multipartToken: g.multipartToken,
822
897
  partNumber: c
823
- })), t = await Be(e, s, (e) => o((T + e * l) / p), a);
898
+ })), t = await We(e, s, (e) => o((T + e * l) / p), a);
824
899
  w.push({
825
900
  partNumber: c,
826
901
  etag: t
@@ -894,7 +969,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
894
969
  } catch (e) {
895
970
  throw p("error"), h(e), e instanceof DOMException && e.name === "AbortError" || l.emit({
896
971
  source: "action",
897
- tag: n.mintTag ?? t.mintTag ?? K,
972
+ tag: n.mintTag ?? t.mintTag ?? G,
898
973
  error: e
899
974
  }), e;
900
975
  }
@@ -920,7 +995,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
920
995
  } catch (e) {
921
996
  throw r.abort(), p("error"), h(e), e instanceof DOMException && e.name === "AbortError" || l.emit({
922
997
  source: "action",
923
- tag: n.mintTag ?? t.mintTag ?? K,
998
+ tag: n.mintTag ?? t.mintTag ?? G,
924
999
  error: e
925
1000
  }), e;
926
1001
  }
@@ -965,8 +1040,8 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
965
1040
  w,
966
1041
  T
967
1042
  ]);
968
- }, q = async (e) => {
969
- let t = F(e.client, e.tag), n = d.currentSpan.pipe(d.tap((t) => d.sync(() => {
1043
+ }, K = async (e) => {
1044
+ let t = P(e.client, e.tag), n = d.currentSpan.pipe(d.tap((t) => d.sync(() => {
970
1045
  x({
971
1046
  traceId: t.traceId,
972
1047
  spanId: t.spanId,
@@ -978,8 +1053,8 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
978
1053
  "rpc.tag": e.tag
979
1054
  } }));
980
1055
  return e.runtime.runPromise(n);
981
- }, Ge = (e, t) => {
982
- let { runtime: r, client: i, descriptors: o } = P(e);
1056
+ }, Ye = (e, t) => {
1057
+ let { runtime: r, client: i, descriptors: o } = N(e);
983
1058
  if (process.env.NODE_ENV !== "production") {
984
1059
  let n = o[t]?.kind;
985
1060
  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.`);
@@ -987,7 +1062,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
987
1062
  let [c, l] = s(!1), [u, d] = s(void 0), [f, p] = s(void 0), m = n(async (n) => {
988
1063
  l(!0), d(void 0);
989
1064
  try {
990
- let a = await q({
1065
+ let a = await K({
991
1066
  apiName: e,
992
1067
  runtime: r,
993
1068
  client: i,
@@ -1007,7 +1082,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1007
1082
  i,
1008
1083
  t
1009
1084
  ]), h = n(async (t) => {
1010
- await q({
1085
+ await K({
1011
1086
  apiName: e,
1012
1087
  runtime: r,
1013
1088
  client: i,
@@ -1020,7 +1095,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1020
1095
  r,
1021
1096
  i
1022
1097
  ]), g = n(async (t) => {
1023
- await q({
1098
+ await K({
1024
1099
  apiName: e,
1025
1100
  runtime: r,
1026
1101
  client: i,
@@ -1032,7 +1107,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1032
1107
  e,
1033
1108
  r,
1034
1109
  i
1035
- ]), _ = n(async (t, n, a) => q({
1110
+ ]), _ = n(async (t, n, a) => K({
1036
1111
  apiName: e,
1037
1112
  runtime: r,
1038
1113
  client: i,
@@ -1047,7 +1122,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1047
1122
  e,
1048
1123
  r,
1049
1124
  i
1050
- ]), v = n(async (t, n, a, o) => q({
1125
+ ]), v = n(async (t, n, a, o) => K({
1051
1126
  apiName: e,
1052
1127
  runtime: r,
1053
1128
  client: i,
@@ -1083,11 +1158,11 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1083
1158
  u,
1084
1159
  f
1085
1160
  ]);
1086
- }, Ke = (e) => {
1087
- let { runtime: t, client: r } = P(e), [i, o] = s(!1), [c, l] = s(void 0), [u, d] = s(void 0), f = n(async (n, i, a) => {
1161
+ }, Xe = (e) => {
1162
+ let { runtime: t, client: r } = N(e), [i, o] = s(!1), [c, l] = s(void 0), [u, d] = s(void 0), f = n(async (n, i, a) => {
1088
1163
  o(!0), l(void 0);
1089
1164
  try {
1090
- let o = await q({
1165
+ let o = await K({
1091
1166
  apiName: e,
1092
1167
  runtime: t,
1093
1168
  client: r,
@@ -1121,11 +1196,11 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1121
1196
  c,
1122
1197
  u
1123
1198
  ]);
1124
- }, qe = (e) => {
1125
- let { runtime: t, client: r } = P(e), [i, o] = s(!1), [c, l] = s(void 0), [u, d] = s(void 0), f = n(async (n, i, a, s) => {
1199
+ }, Ze = (e) => {
1200
+ let { runtime: t, client: r } = N(e), [i, o] = s(!1), [c, l] = s(void 0), [u, d] = s(void 0), f = n(async (n, i, a, s) => {
1126
1201
  o(!0), l(void 0);
1127
1202
  try {
1128
- let o = await q({
1203
+ let o = await K({
1129
1204
  apiName: e,
1130
1205
  runtime: t,
1131
1206
  client: r,
@@ -1160,96 +1235,96 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1160
1235
  c,
1161
1236
  u
1162
1237
  ]);
1163
- }, Je = (e, t) => {
1164
- let n = I(e, "__voltro.workflow.run", t ? { id: t } : {}, { skip: t === void 0 });
1165
- return n.loading ? {
1238
+ }, Qe = (e, t) => {
1239
+ let n = F(e, "__voltro.workflow.run", t ? { id: t } : {}, { skip: t === void 0 });
1240
+ return n.loading || n.idle ? {
1166
1241
  ...n,
1167
1242
  run: void 0
1168
1243
  } : {
1169
1244
  ...n,
1170
1245
  run: n.data[0]
1171
1246
  };
1172
- }, Ye = (e, t = {}, n = {}) => {
1173
- let r = I(e, "__voltro.workflow.runs", t, n);
1174
- return r.loading ? {
1247
+ }, $e = (e, t = {}, n = {}) => {
1248
+ let r = F(e, "__voltro.workflow.runs", t, n);
1249
+ return r.loading || r.idle ? {
1175
1250
  ...r,
1176
1251
  runs: []
1177
1252
  } : {
1178
1253
  ...r,
1179
1254
  runs: r.data
1180
1255
  };
1181
- }, Xe = (e, t) => {
1182
- let n = I(e, "__voltro.workflow.run.steps", t ? { runId: t } : {}, { skip: t === void 0 });
1183
- return n.loading ? {
1256
+ }, et = (e, t) => {
1257
+ let n = F(e, "__voltro.workflow.run.steps", t ? { runId: t } : {}, { skip: t === void 0 });
1258
+ return n.loading || n.idle ? {
1184
1259
  ...n,
1185
1260
  steps: []
1186
1261
  } : {
1187
1262
  ...n,
1188
1263
  steps: n.data
1189
1264
  };
1190
- }, J = (e, t) => {
1191
- let n = I(e, "__voltro.workflow.run.events", t ? { runId: t } : {}, { skip: t === void 0 });
1192
- return n.loading ? {
1265
+ }, q = (e, t) => {
1266
+ let n = F(e, "__voltro.workflow.run.events", t ? { runId: t } : {}, { skip: t === void 0 });
1267
+ return n.loading || n.idle ? {
1193
1268
  ...n,
1194
1269
  events: []
1195
1270
  } : {
1196
1271
  ...n,
1197
1272
  events: n.data
1198
1273
  };
1199
- }, Ze = J, Qe = (e, t = {}, n = {}) => {
1200
- let r = I(e, "__voltro.workflow.domainEvents", t, n);
1201
- return r.loading ? {
1274
+ }, tt = q, nt = (e, t = {}, n = {}) => {
1275
+ let r = F(e, "__voltro.workflow.domainEvents", t, n);
1276
+ return r.loading || r.idle ? {
1202
1277
  ...r,
1203
1278
  events: []
1204
1279
  } : {
1205
1280
  ...r,
1206
1281
  events: r.data
1207
1282
  };
1208
- }, $e = (e, t) => {
1209
- let n = I(e, "__voltro.workflow.event.deliveries", t ? { eventId: t } : {}, { skip: t === void 0 });
1210
- return n.loading ? {
1283
+ }, rt = (e, t) => {
1284
+ let n = F(e, "__voltro.workflow.event.deliveries", t ? { eventId: t } : {}, { skip: t === void 0 });
1285
+ return n.loading || n.idle ? {
1211
1286
  ...n,
1212
1287
  deliveries: []
1213
1288
  } : {
1214
1289
  ...n,
1215
1290
  deliveries: n.data
1216
1291
  };
1217
- }, Y = (e, t) => {
1292
+ }, J = (e, t) => {
1218
1293
  let n = e.payload;
1219
1294
  if (!n || typeof n != "object") return;
1220
1295
  let r = n[t];
1221
1296
  return typeof r == "string" ? r : void 0;
1222
- }, et = (e) => {
1297
+ }, it = (e) => {
1223
1298
  let t = e.payload;
1224
1299
  if (!t || typeof t != "object") return;
1225
1300
  let n = t.updateId;
1226
1301
  return typeof n == "string" ? n : void 0;
1227
- }, tt = (e) => {
1302
+ }, at = (e) => {
1228
1303
  let t = /* @__PURE__ */ new Set(), n = /* @__PURE__ */ new Set();
1229
1304
  for (let r of e) if (r.eventType === "signal-received") {
1230
- let e = Y(r, "signalName");
1305
+ let e = J(r, "signalName");
1231
1306
  e && t.add(e);
1232
1307
  } else if (r.eventType === "update-completed" || r.eventType === "update-failed") {
1233
- let e = et(r);
1308
+ let e = it(r);
1234
1309
  e && n.add(e);
1235
1310
  }
1236
1311
  for (let r = e.length - 1; r >= 0; --r) {
1237
1312
  let i = e[r];
1238
1313
  if (i.eventType === "signal-awaited") {
1239
- let e = Y(i, "signalName");
1314
+ let e = J(i, "signalName");
1240
1315
  if (e && !t.has(e)) return {
1241
1316
  name: e,
1242
1317
  kind: "signal"
1243
1318
  };
1244
1319
  } else if (i.eventType === "update-requested") {
1245
- let e = et(i), t = Y(i, "updateName");
1320
+ let e = it(i), t = J(i, "updateName");
1246
1321
  if (t && (!e || !n.has(e))) return {
1247
1322
  name: t,
1248
1323
  kind: "update"
1249
1324
  };
1250
1325
  }
1251
1326
  }
1252
- }, nt = (e) => e.find((e) => e.status === "running") || (e.length > 0 ? e[e.length - 1] : void 0), rt = (e, t) => {
1327
+ }, ot = (e) => e.find((e) => e.status === "running") || (e.length > 0 ? e[e.length - 1] : void 0), st = (e, t) => {
1253
1328
  if (!e || e.status !== "failed") return;
1254
1329
  let n = t.find((e) => e.status === "failed");
1255
1330
  return {
@@ -1257,8 +1332,8 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1257
1332
  message: e.errorMessage,
1258
1333
  step: n?.stepName
1259
1334
  };
1260
- }, it = (e, t) => {
1261
- let r = Je(e, t), i = Xe(e, t), o = J(e, t), s = Ge(e, r.run?.tag ?? ""), c = r.run, l = i.steps, u = o.events, d = n(async () => {
1335
+ }, ct = (e, t) => {
1336
+ let r = Qe(e, t), i = et(e, t), o = q(e, t), s = Ye(e, r.run?.tag ?? ""), c = r.run, l = i.steps, u = o.events, d = n(async () => {
1262
1337
  if (!c) throw Error("useWorkflowRunState: no run loaded — cannot cancel");
1263
1338
  await s.cancel({
1264
1339
  workflowName: c.tag,
@@ -1282,9 +1357,9 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1282
1357
  status: c?.status,
1283
1358
  steps: l,
1284
1359
  events: u,
1285
- currentStep: nt(l),
1286
- waitingFor: c?.status === "suspended" ? tt(u) : void 0,
1287
- error: rt(c, l),
1360
+ currentStep: ot(l),
1361
+ waitingFor: c?.status === "suspended" ? at(u) : void 0,
1362
+ error: st(c, l),
1288
1363
  traceId: c?.traceId,
1289
1364
  loading: r.data === void 0,
1290
1365
  cancel: d,
@@ -1301,8 +1376,8 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1301
1376
  p,
1302
1377
  m
1303
1378
  ]);
1304
- }, at = (e, t) => {
1305
- let { runtime: r, client: i } = P(e), [a, c] = s([]), [u, f] = s("idle"), [m, h] = s(void 0), _ = o(null), v = n(() => {
1379
+ }, lt = (e, t) => {
1380
+ let { runtime: r, client: i } = N(e), [a, c] = s([]), [u, f] = s("idle"), [m, h] = s(void 0), _ = o(null), v = n(() => {
1306
1381
  let e = _.current;
1307
1382
  e && (_.current = null, r.runFork(p.interrupt(e)), f((e) => e === "streaming" ? "idle" : e));
1308
1383
  }, [r]);
@@ -1313,7 +1388,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1313
1388
  start: n((e = {}) => {
1314
1389
  let n = _.current;
1315
1390
  n && r.runFork(p.interrupt(n)), c([]), h(void 0), f("streaming");
1316
- let a = F(i, t)(e), o = g.runForEach(a, (e) => d.sync(() => c((t) => [...t, e]))).pipe(d.matchCause({
1391
+ let a = P(i, t)(e), o = g.runForEach(a, (e) => d.sync(() => c((t) => [...t, e]))).pipe(d.matchCause({
1317
1392
  onSuccess: () => {
1318
1393
  f("done");
1319
1394
  },
@@ -1329,7 +1404,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1329
1404
  ]),
1330
1405
  cancel: v
1331
1406
  };
1332
- }, ot = (e, t, n, r) => {
1407
+ }, ut = (e, t, n, r) => {
1333
1408
  let i = 0, a = !1, o = (e) => d.sync(() => {
1334
1409
  e.seq <= i || (i = e.seq, n.onEvent(e.event), r.isTerminal(e.event) && (a = !0));
1335
1410
  }), s = (e, t, a) => {
@@ -1352,15 +1427,15 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1352
1427
  }));
1353
1428
  });
1354
1429
  return c(0);
1355
- }, st = (e) => {
1430
+ }, dt = (e) => {
1356
1431
  let t = e?._tag;
1357
1432
  return t === "done" || t === "error";
1358
- }, ct = (e, t, r = {}) => {
1359
- let { runtime: i, client: a } = P(e), [c, l] = s([]), [u, d] = s("idle"), [f, m] = s(0), [h, g] = s(void 0), _ = o(null), v = {
1433
+ }, ft = (e, t, r = {}) => {
1434
+ let { runtime: i, client: a } = N(e), [c, l] = s([]), [u, d] = s("idle"), [f, m] = s(0), [h, g] = s(void 0), _ = o(null), v = {
1360
1435
  maxReconnects: r.maxReconnects ?? 6,
1361
1436
  backoffMs: r.backoffMs ?? 400,
1362
1437
  maxBackoffMs: r.maxBackoffMs ?? 8e3,
1363
- isTerminal: r.isTerminal ?? st
1438
+ isTerminal: r.isTerminal ?? dt
1364
1439
  }, y = n(() => {
1365
1440
  let e = _.current;
1366
1441
  e && (_.current = null, i.runFork(p.interrupt(e)), d((e) => e === "streaming" || e === "reconnecting" ? "idle" : e));
@@ -1373,13 +1448,13 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1373
1448
  start: n((e = {}) => {
1374
1449
  let n = _.current;
1375
1450
  n && i.runFork(p.interrupt(n)), l([]), g(void 0), m(0), d("streaming");
1376
- let r = F(a, t), o = {
1451
+ let r = P(a, t), o = {
1377
1452
  onEvent: (e) => l((t) => [...t, e]),
1378
1453
  onStatus: d,
1379
1454
  onReconnect: () => m((e) => e + 1),
1380
1455
  onError: g
1381
1456
  };
1382
- _.current = i.runFork(ot(r, e, o, v));
1457
+ _.current = i.runFork(ut(r, e, o, v));
1383
1458
  }, [
1384
1459
  i,
1385
1460
  a,
@@ -1391,13 +1466,13 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1391
1466
  ]),
1392
1467
  cancel: y
1393
1468
  };
1394
- }, lt = (e, t) => e.order - t.order || (e.stepOrder ?? 0) - (t.stepOrder ?? 0), ut = (e) => {
1469
+ }, pt = (e, t) => e.order - t.order || (e.stepOrder ?? 0) - (t.stepOrder ?? 0), mt = (e) => {
1395
1470
  for (let t = e.length - 1; t >= 0; --t) {
1396
1471
  let n = e[t];
1397
1472
  if (n.role === "user" && n.content) return n.content;
1398
1473
  }
1399
- }, dt = (e, t, r) => {
1400
- let { threadId: i } = r, o = I(e, `${t}.messages`, { threadId: i }), s = G(e, `${t}.send`), c = a(() => [...o.data ?? []].sort(lt), [o.data]), l = n((e, t = {}) => s.run({
1474
+ }, ht = (e, t, r) => {
1475
+ let { threadId: i } = r, o = F(e, `${t}.messages`, { threadId: i }), s = W(e, `${t}.send`), c = a(() => [...o.data ?? []].sort(pt), [o.data]), l = n((e, t = {}) => s.run({
1401
1476
  threadId: i,
1402
1477
  order: o.data?.length ?? 0,
1403
1478
  prompt: e,
@@ -1407,7 +1482,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1407
1482
  i,
1408
1483
  o.data
1409
1484
  ]), u = n(() => {
1410
- let e = ut(c);
1485
+ let e = mt(c);
1411
1486
  return e === void 0 ? void 0 : l(e);
1412
1487
  }, [c, l]);
1413
1488
  return a(() => ({
@@ -1427,8 +1502,8 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1427
1502
  l,
1428
1503
  u
1429
1504
  ]);
1430
- }, ft = (e, t) => {
1431
- let { events: r, status: c, error: l, start: u, cancel: d } = at(e, t), [f, p] = s([]), m = o(null), h = a(() => r.filter((e) => e._tag === "token").map((e) => e.text ?? "").join(""), [r]);
1505
+ }, gt = (e, t) => {
1506
+ let { events: r, status: c, error: l, start: u, cancel: d } = lt(e, t), [f, p] = s([]), m = o(null), h = a(() => r.filter((e) => e._tag === "token").map((e) => e.text ?? "").join(""), [r]);
1432
1507
  return i(() => {
1433
1508
  if (c !== "done" || m.current === null) return;
1434
1509
  let e = m.current;
@@ -1454,8 +1529,8 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1454
1529
  }, [u]),
1455
1530
  cancel: d
1456
1531
  };
1457
- }, pt = (e, t) => {
1458
- let r = G(e, t), [i, o] = s(void 0), c = n(async (e) => {
1532
+ }, _t = (e, t) => {
1533
+ let r = W(e, t), [i, o] = s(void 0), c = n(async (e) => {
1459
1534
  let t = await r.run({ question: e });
1460
1535
  return o(t), t;
1461
1536
  }, [r]), l = n(() => o(void 0), []);
@@ -1472,43 +1547,43 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1472
1547
  r.error,
1473
1548
  l
1474
1549
  ]);
1475
- }, mt = (e) => {
1476
- let { cache: t, runtime: r } = P(e);
1550
+ }, vt = (e) => {
1551
+ let { cache: t, runtime: r } = N(e);
1477
1552
  return n(() => {
1478
1553
  t.refreshAll(r);
1479
1554
  }, [t, r]);
1480
- }, X = /* @__PURE__ */ new Set(), ht = (e) => {
1481
- for (let t of X) try {
1555
+ }, Y = /* @__PURE__ */ new Set(), yt = (e) => {
1556
+ for (let t of Y) try {
1482
1557
  t(e);
1483
1558
  } catch {}
1484
- }, gt = (e) => (X.add(e), () => {
1485
- X.delete(e);
1486
- }), _t = (e, t) => {
1487
- ht({
1559
+ }, bt = (e) => (Y.add(e), () => {
1560
+ Y.delete(e);
1561
+ }), xt = (e, t) => {
1562
+ yt({
1488
1563
  error: e,
1489
1564
  source: "manual",
1490
1565
  ...t ? { context: t } : {}
1491
1566
  });
1492
- }, vt = (e, t) => {
1493
- let { errorBus: n } = P(e);
1567
+ }, St = (e, t) => {
1568
+ let { errorBus: n } = N(e);
1494
1569
  i(() => n.on(t), [n, t]);
1495
- }, yt = "#/$defs/", bt = (e) => e.replace(/[_-]+/g, " ").replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/\s+/g, " ").trim().replace(/^./, (e) => e.toUpperCase()), Z = (e, t) => {
1570
+ }, Ct = "#/$defs/", wt = (e) => e.replace(/[_-]+/g, " ").replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/\s+/g, " ").trim().replace(/^./, (e) => e.toUpperCase()), X = (e, t) => {
1496
1571
  let n = e;
1497
1572
  for (let e = 0; e < 8; e += 1) {
1498
1573
  let e = n.$ref;
1499
- if (typeof e != "string" || !e.startsWith(yt)) return n;
1574
+ if (typeof e != "string" || !e.startsWith(Ct)) return n;
1500
1575
  let r = t[e.slice(8)];
1501
1576
  if (!r || typeof r != "object") return n;
1502
1577
  n = r;
1503
1578
  }
1504
1579
  return n;
1505
- }, xt = (e) => {
1580
+ }, Tt = (e) => {
1506
1581
  if (!e || typeof e != "object") return !1;
1507
1582
  let t = e;
1508
1583
  if (t.type === "null" || t.const === null) return !0;
1509
1584
  let n = t.enum;
1510
1585
  return Array.isArray(n) && n.length === 1 && n[0] === null;
1511
- }, St = (e, t) => {
1586
+ }, Et = (e, t) => {
1512
1587
  let n = e.type;
1513
1588
  if (Array.isArray(n) && n.includes("null")) {
1514
1589
  let t = n.filter((e) => e !== "null");
@@ -1523,9 +1598,9 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1523
1598
  for (let n of ["anyOf", "oneOf"]) {
1524
1599
  let r = e[n];
1525
1600
  if (!Array.isArray(r)) continue;
1526
- let i = r.filter((e) => !xt(e));
1601
+ let i = r.filter((e) => !Tt(e));
1527
1602
  if (i.length !== r.length) return i.length === 1 ? {
1528
- node: Z(i[0], t),
1603
+ node: X(i[0], t),
1529
1604
  nullable: !0
1530
1605
  } : {
1531
1606
  node: {
@@ -1539,14 +1614,14 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1539
1614
  node: e,
1540
1615
  nullable: !1
1541
1616
  };
1542
- }, Ct = (e) => e.map((e) => ({
1617
+ }, Dt = (e) => e.map((e) => ({
1543
1618
  value: String(e),
1544
- label: bt(String(e))
1545
- })), wt = (e) => {
1619
+ label: wt(String(e))
1620
+ })), Ot = (e) => {
1546
1621
  let t = e.enum;
1547
1622
  if (Array.isArray(t) && t.length > 0) return {
1548
1623
  widget: "select",
1549
- options: Ct(t)
1624
+ options: Dt(t)
1550
1625
  };
1551
1626
  let n = e.type, r = Array.isArray(n) ? n.find((e) => e !== "null") : n, i = e.format;
1552
1627
  switch (r) {
@@ -1557,38 +1632,38 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1557
1632
  case "array": return { widget: "multi-select" };
1558
1633
  default: return { widget: "custom" };
1559
1634
  }
1560
- }, Tt = (e, t, n) => Object.entries(e).map(([e, r]) => {
1561
- let { node: i, nullable: a } = St(Z(r, n), n), o = Z(i, n), { widget: s, options: c } = wt(o);
1635
+ }, kt = (e, t, n) => Object.entries(e).map(([e, r]) => {
1636
+ let { node: i, nullable: a } = Et(X(r, n), n), o = X(i, n), { widget: s, options: c } = Ot(o);
1562
1637
  return {
1563
1638
  name: e,
1564
- label: bt(e),
1639
+ label: wt(e),
1565
1640
  widget: s,
1566
1641
  required: t.has(e),
1567
1642
  nullable: a,
1568
1643
  ...c ? { options: c } : {},
1569
1644
  jsonSchema: o
1570
1645
  };
1571
- }), Et = (e) => {
1646
+ }), At = (e) => {
1572
1647
  try {
1573
1648
  return m.make(e);
1574
1649
  } catch {
1575
1650
  return;
1576
1651
  }
1577
- }, Q = (e) => {
1578
- let t = Et(e);
1652
+ }, Z = (e) => {
1653
+ let t = At(e);
1579
1654
  if (t === void 0) return [];
1580
- let n = t.$defs ?? {}, r = Z(t, n), i = r.properties;
1581
- return i ? Tt(i, new Set(Array.isArray(r.required) ? r.required : []), n) : [];
1582
- }, Dt = (e) => {
1583
- let t = Et(e);
1655
+ let n = t.$defs ?? {}, r = X(t, n), i = r.properties;
1656
+ return i ? kt(i, new Set(Array.isArray(r.required) ? r.required : []), n) : [];
1657
+ }, Q = (e) => {
1658
+ let t = At(e);
1584
1659
  if (t === void 0) return [];
1585
- let n = t.$defs ?? {}, r = Z(t, n);
1660
+ let n = t.$defs ?? {}, r = X(t, n);
1586
1661
  if (r.type !== "array") return [];
1587
1662
  let i = r.items;
1588
1663
  if (!i || typeof i != "object") return [];
1589
- let a = Z(i, n), o = a.properties;
1590
- return o ? Tt(o, new Set(Array.isArray(a.required) ? a.required : []), n) : [];
1591
- }, Ot = (e, t) => {
1664
+ let a = X(i, n), o = a.properties;
1665
+ return o ? kt(o, new Set(Array.isArray(a.required) ? a.required : []), n) : [];
1666
+ }, jt = (e, t) => {
1592
1667
  let n = h.decodeUnknownEither(e, { errors: "all" })(t);
1593
1668
  if (n._tag === "Right") return {
1594
1669
  valid: !0,
@@ -1603,10 +1678,10 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1603
1678
  valid: !1,
1604
1679
  errors: r
1605
1680
  };
1606
- }, kt = (e, t, r) => {
1607
- let i = P(e), c = W(e, t), l = r.schema ?? i.descriptors[t]?.input;
1681
+ }, Mt = (e, t, r) => {
1682
+ let i = N(e), c = U(e, t), l = r.schema ?? i.descriptors[t]?.input;
1608
1683
  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.`);
1609
- let u = a(() => l ? Q(l) : [], [l]), d = o(r.defaults ?? {}), [f, p] = s(d.current), [m, h] = s({}), g = n((e, t) => {
1684
+ let u = a(() => l ? Z(l) : [], [l]), d = o(r.defaults ?? {}), [f, p] = s(d.current), [m, h] = s({}), g = n((e, t) => {
1610
1685
  p((n) => ({
1611
1686
  ...n,
1612
1687
  [e]: t
@@ -1620,7 +1695,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1620
1695
  p(d.current), h({});
1621
1696
  }, []), y = n(async () => {
1622
1697
  if (l !== void 0) {
1623
- let e = Ot(l, f);
1698
+ let e = jt(l, f);
1624
1699
  if (h(e.errors), !e.valid) return;
1625
1700
  }
1626
1701
  return c.mutate(f);
@@ -1633,7 +1708,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1633
1708
  fields: u,
1634
1709
  values: f,
1635
1710
  errors: m,
1636
- isValid: a(() => l === void 0 || Ot(l, f).valid, [l, f]),
1711
+ isValid: a(() => l === void 0 || jt(l, f).valid, [l, f]),
1637
1712
  pending: c.pending,
1638
1713
  submitError: c.error,
1639
1714
  data: c.data,
@@ -1642,13 +1717,13 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1642
1717
  reset: v,
1643
1718
  submit: y
1644
1719
  };
1645
- }, At = (e, t, n) => e.map((e) => {
1720
+ }, Nt = (e, t, n) => e.map((e) => {
1646
1721
  let r = String(e[n] ?? ""), i = e[t];
1647
1722
  return {
1648
1723
  value: r,
1649
1724
  label: i == null ? r : String(i)
1650
1725
  };
1651
- }), jt = (e, t, r = {}) => {
1726
+ }), Pt = (e, t, r = {}) => {
1652
1727
  let o = r.debounceMs ?? 200, c = r.labelField ?? "name", l = r.valueField ?? "id", u = r.input ?? ((e) => ({ q: e })), [d, f] = s(r.initialTerm ?? ""), [p, m] = s(d);
1653
1728
  i(() => {
1654
1729
  if (d === p) return;
@@ -1659,7 +1734,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1659
1734
  p,
1660
1735
  o
1661
1736
  ]);
1662
- let h = r.skipUntilTerm === !0 && p.trim() === "", g = I(e, t, a(() => u(p), [u, p]), { skip: h }), _ = a(() => At(g.data ?? [], c, l), [
1737
+ let h = r.skipUntilTerm === !0 && p.trim() === "", g = F(e, t, a(() => u(p), [u, p]), { skip: h }), _ = a(() => Nt(g.data ?? [], c, l), [
1663
1738
  g.data,
1664
1739
  c,
1665
1740
  l
@@ -1670,13 +1745,13 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1670
1745
  term: d,
1671
1746
  search: v
1672
1747
  };
1673
- }, Mt = (e, t) => e === t ? 0 : e == null ? 1 : t == null || e < t ? -1 : 1, Nt = (e, t, r = {}) => {
1674
- let i = P(e), [o, c] = s(r.pageSize), l = I(e, t, a(() => o === void 0 ? r.input ?? {} : {
1748
+ }, Ft = (e, t) => e === t ? 0 : e == null ? 1 : t == null || e < t ? -1 : 1, It = (e, t, r = {}) => {
1749
+ let i = N(e), [o, c] = s(r.pageSize), l = F(e, t, a(() => o === void 0 ? r.input ?? {} : {
1675
1750
  ...r.input,
1676
1751
  limit: o
1677
1752
  }, [r.input, o])), u = i.descriptors[t]?.output, d = n(() => {
1678
1753
  r.pageSize !== void 0 && c((e) => (e ?? r.pageSize) + r.pageSize);
1679
- }, [r.pageSize]), f = a(() => r.columns ?? (u === void 0 ? [] : Dt(u)), [r.columns, u]), [p, m] = s(r.initialSort), h = n((e) => {
1754
+ }, [r.pageSize]), f = a(() => r.columns ?? (u === void 0 ? [] : Q(u)), [r.columns, u]), [p, m] = s(r.initialSort), h = n((e) => {
1680
1755
  m((t) => t?.column === e ? {
1681
1756
  column: e,
1682
1757
  direction: t.direction === "asc" ? "desc" : "asc"
@@ -1691,7 +1766,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1691
1766
  let e = l.data ?? [];
1692
1767
  if (p === void 0) return e;
1693
1768
  let t = p.direction === "asc" ? 1 : -1;
1694
- return [...e].sort((e, n) => Mt(e[p.column], n[p.column]) * t);
1769
+ return [...e].sort((e, n) => Ft(e[p.column], n[p.column]) * t);
1695
1770
  }, [l.data, p]),
1696
1771
  loading: l.data === void 0,
1697
1772
  error: l.error,
@@ -1700,14 +1775,14 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1700
1775
  loadMore: d,
1701
1776
  hasMore: o !== void 0 && (l.data?.length ?? 0) >= o
1702
1777
  };
1703
- }, Pt = (e, t, n, r) => {
1778
+ }, Lt = (e, t, n, r) => {
1704
1779
  let i = e.replace(/\/$/, ""), a = new URLSearchParams({
1705
1780
  table: t,
1706
1781
  id: n
1707
1782
  });
1708
1783
  return r !== void 0 && a.set("column", r), `${i}/_voltro/inspect/provenance?${a.toString()}`;
1709
- }, Ft = Pt, It = (e, t, n, r) => {
1710
- let { inspectBaseUrl: a } = P(e), [o, c] = s({
1784
+ }, Rt = Lt, zt = (e, t, n, r) => {
1785
+ let { inspectBaseUrl: a } = N(e), [o, c] = s({
1711
1786
  data: void 0,
1712
1787
  loading: !0,
1713
1788
  error: void 0
@@ -1719,7 +1794,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1719
1794
  loading: !0,
1720
1795
  error: void 0
1721
1796
  });
1722
- let i = Pt(a ?? "", t, n, r);
1797
+ let i = Lt(a ?? "", t, n, r);
1723
1798
  return fetch(i).then(async (e) => {
1724
1799
  if (!e.ok) throw Error(`provenance fetch failed: HTTP ${e.status}`);
1725
1800
  return await e.json();
@@ -1745,8 +1820,8 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1745
1820
  n,
1746
1821
  r
1747
1822
  ]), o;
1748
- }, Lt = (e) => `${e.replace(/\/$/, "")}/_voltro/inspect/manifest`, Rt = (e) => {
1749
- let { inspectBaseUrl: t } = P(e), [n, r] = s({
1823
+ }, Bt = (e) => `${e.replace(/\/$/, "")}/_voltro/inspect/manifest`, Vt = (e) => {
1824
+ let { inspectBaseUrl: t } = N(e), [n, r] = s({
1750
1825
  manifest: void 0,
1751
1826
  loading: !0,
1752
1827
  error: void 0
@@ -1757,7 +1832,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1757
1832
  manifest: void 0,
1758
1833
  loading: !0,
1759
1834
  error: void 0
1760
- }), fetch(Lt(t ?? "")).then(async (e) => {
1835
+ }), fetch(Bt(t ?? "")).then(async (e) => {
1761
1836
  if (!e.ok) throw Error(`manifest fetch failed: HTTP ${e.status}`);
1762
1837
  return await e.json();
1763
1838
  }).then((t) => {
@@ -1776,8 +1851,8 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1776
1851
  e = !0;
1777
1852
  };
1778
1853
  }, [e, t]), n;
1779
- }, zt = (e, t) => Array.isArray(e) ? e.includes(t) : e === t, Bt = (e, t, n) => e.targets?.some((e) => e.table === t && e.op === n) ?? !1, Vt = (e) => e.tables.filter((e) => !e.framework).map((t) => {
1780
- let n = e.procedures.find((e) => e.kind === "query" && zt(e.source, t.name)), r = e.procedures.find((e) => e.kind === "mutation" && Bt(e, t.name, "insert")), i = e.procedures.find((e) => e.kind === "mutation" && Bt(e, t.name, "update")), a = e.procedures.find((e) => e.kind === "mutation" && Bt(e, t.name, "delete"));
1854
+ }, Ht = (e, t) => Array.isArray(e) ? e.includes(t) : e === t, Ut = (e, t, n) => e.targets?.some((e) => e.table === t && e.op === n) ?? !1, Wt = (e) => e.tables.filter((e) => !e.framework).map((t) => {
1855
+ let n = e.procedures.find((e) => e.kind === "query" && Ht(e.source, t.name)), r = e.procedures.find((e) => e.kind === "mutation" && Ut(e, t.name, "insert")), i = e.procedures.find((e) => e.kind === "mutation" && Ut(e, t.name, "update")), a = e.procedures.find((e) => e.kind === "mutation" && Ut(e, t.name, "delete"));
1781
1856
  return {
1782
1857
  table: t.name,
1783
1858
  columns: t.columns,
@@ -1790,7 +1865,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1790
1865
  writeScope: `${t.name}:write`,
1791
1866
  deleteScope: `${t.name}:delete`
1792
1867
  };
1793
- }), Ht = (e) => {
1868
+ }), Gt = (e) => {
1794
1869
  let [t, r] = s([]), [i, o] = s([]), c = n((e) => {
1795
1870
  r((t) => [...t, e]), o([]);
1796
1871
  }, []), l = n(async () => {
@@ -1818,8 +1893,8 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1818
1893
  l,
1819
1894
  u
1820
1895
  ]);
1821
- }, Ut = "__voltro.undo.log", Wt = "__voltro.undo.apply", Gt = "__voltro.undo.redo", Kt = (e, t) => {
1822
- let r = t?.limit, { data: i } = I(e, Ut, r === void 0 ? {} : { limit: r }), a = W(e, Wt), o = W(e, Gt), s = i ?? [], c = s.find((e) => !e.undone && !e.crossesAction), l = s.find((e) => e.undone), u = n(async (e) => {
1896
+ }, Kt = "__voltro.undo.log", qt = "__voltro.undo.apply", Jt = "__voltro.undo.redo", Yt = (e, t) => {
1897
+ let r = t?.limit, { data: i } = F(e, Kt, r === void 0 ? {} : { limit: r }), a = U(e, qt), o = U(e, Jt), s = i ?? [], c = s.find((e) => !e.undone && !e.crossesAction), l = s.find((e) => e.undone), u = n(async (e) => {
1823
1898
  await a.mutate({ invocationId: e });
1824
1899
  }, [a]), d = n(async (e) => {
1825
1900
  await o.mutate({ invocationId: e });
@@ -1838,13 +1913,13 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1838
1913
  undoLast: f,
1839
1914
  redoLast: p
1840
1915
  };
1841
- }, qt = (e, t) => ({
1916
+ }, Xt = (e, t) => ({
1842
1917
  name: e,
1843
1918
  map: t
1844
- }), $ = (e, t) => e === void 0 ? null : typeof e == "string" ? { event: e } : e(t), Jt = /* @__PURE__ */ new Set(["onMount", "onUnmount"]), Yt = (e, t, n) => {
1919
+ }), $ = (e, t) => e === void 0 ? null : typeof e == "string" ? { event: e } : e(t), Zt = /* @__PURE__ */ new Set(["onMount", "onUnmount"]), Qt = (e, t, n) => {
1845
1920
  let r = { ...t };
1846
1921
  for (let [i, a] of Object.entries(e.map)) {
1847
- if (Jt.has(i) || a === void 0) continue;
1922
+ if (Zt.has(i) || a === void 0) continue;
1848
1923
  let e = t[i];
1849
1924
  r[i] = (...r) => {
1850
1925
  let i = $(a, t);
@@ -1852,7 +1927,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1852
1927
  };
1853
1928
  }
1854
1929
  return r;
1855
- }, Xt = (e, t, n) => {
1930
+ }, $t = (e, t, n) => {
1856
1931
  let r = o({
1857
1932
  spec: e,
1858
1933
  props: t,
@@ -1868,45 +1943,45 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1868
1943
  let e = r.current, t = $(e.spec.map.onUnmount, e.props);
1869
1944
  t !== null && e.sink(t);
1870
1945
  };
1871
- }, []), a(() => Yt(e, t, n), [
1946
+ }, []), a(() => Qt(e, t, n), [
1872
1947
  e,
1873
1948
  t,
1874
1949
  n
1875
1950
  ]);
1876
- }, Zt = (e, t) => {
1877
- let n = P(e).descriptors[t]?.input;
1951
+ }, en = (e, t) => {
1952
+ let n = N(e).descriptors[t]?.input;
1953
+ return a(() => n === void 0 ? [] : Z(n), [n]);
1954
+ }, tn = (e, t) => {
1955
+ let n = N(e).descriptors[t]?.output;
1878
1956
  return a(() => n === void 0 ? [] : Q(n), [n]);
1879
- }, Qt = (e, t) => {
1880
- let n = P(e).descriptors[t]?.output;
1881
- return a(() => n === void 0 ? [] : Dt(n), [n]);
1882
- }, $t = (e, t) => {
1957
+ }, nn = (e, t) => {
1883
1958
  if (e === t) return !0;
1884
1959
  if (e.length !== t.length) return !1;
1885
1960
  for (let n = 0; n < e.length; n += 1) if (!Object.is(e[n], t[n])) return !1;
1886
1961
  return !0;
1887
- }, en = (e) => Object.keys(e).sort().map((t) => e[t]), tn = (e, t) => {
1888
- let n = o(null), r = en(e);
1889
- return (n.current === null || !$t(n.current.key, r)) && (n.current = {
1962
+ }, rn = (e) => Object.keys(e).sort().map((t) => e[t]), an = (e, t) => {
1963
+ let n = o(null), r = rn(e);
1964
+ return (n.current === null || !nn(n.current.key, r)) && (n.current = {
1890
1965
  key: r,
1891
1966
  value: t(e)
1892
1967
  }), n.current.value;
1893
- }, nn = "admin:full", rn = (e, t) => e.includes("admin:full") ? !0 : (typeof t == "string" ? [t] : t).every((t) => e.includes(t)), an = (e, t) => t.length === 0 || e.includes("admin:full") ? !0 : t.some((t) => e.includes(t)), on = e({ scopes: [] });
1894
- function sn(e) {
1895
- return t(on.Provider, { value: { scopes: e.scopes } }, e.children);
1968
+ }, on = "admin:full", sn = (e, t) => e.includes("admin:full") ? !0 : (typeof t == "string" ? [t] : t).every((t) => e.includes(t)), cn = (e, t) => t.length === 0 || e.includes("admin:full") ? !0 : t.some((t) => e.includes(t)), ln = e({ scopes: [] });
1969
+ function un(e) {
1970
+ return t(ln.Provider, { value: { scopes: e.scopes } }, e.children);
1896
1971
  }
1897
- var cn = () => r(on), ln = (e) => rn(cn().scopes, e), un = (e) => an(cn().scopes, e), dn = (e, t, n, r = {}) => {
1898
- let i = I(e, t, { ...n }, r);
1972
+ var dn = () => r(ln), fn = (e) => sn(dn().scopes, e), pn = (e) => cn(dn().scopes, e), mn = (e, t, n, r = {}) => {
1973
+ let i = F(e, t, { ...n }, r);
1899
1974
  return a(() => ({
1900
1975
  allowed: i.data?.allowed === !0,
1901
1976
  pending: i.data === void 0
1902
1977
  }), [i.data]);
1903
- }, fn = (e, t, n, r = {}) => {
1904
- let i = I(e, t, { ...n }, r);
1978
+ }, hn = (e, t, n, r = {}) => {
1979
+ let i = F(e, t, { ...n }, r);
1905
1980
  return a(() => ({
1906
1981
  allowedIds: new Set(i.data?.allowedIds ?? []),
1907
1982
  pending: i.data === void 0
1908
1983
  }), [i.data]);
1909
- }, pn = (e) => {
1984
+ }, gn = (e) => {
1910
1985
  switch (e) {
1911
1986
  case "select":
1912
1987
  case "radio":
@@ -1922,25 +1997,25 @@ var cn = () => r(on), ln = (e) => rn(cn().scopes, e), un = (e) => an(cn().scopes
1922
1997
  case "switch": return "boolean";
1923
1998
  default: return null;
1924
1999
  }
1925
- }, mn = (e) => Q(e).map((e) => {
1926
- let t = pn(e.widget);
2000
+ }, _n = (e) => Z(e).map((e) => {
2001
+ let t = gn(e.widget);
1927
2002
  return t === null ? null : {
1928
2003
  name: e.name,
1929
2004
  label: e.label,
1930
2005
  kind: t,
1931
2006
  ...e.options ? { options: e.options } : {}
1932
2007
  };
1933
- }).filter((e) => e !== null), hn = (e) => {
2008
+ }).filter((e) => e !== null), vn = (e) => {
1934
2009
  let t = {};
1935
2010
  for (let [n, r] of Object.entries(e)) r === void 0 || r === "" || Array.isArray(r) && r.length === 0 || (t[n] = r);
1936
2011
  return t;
1937
- }, gn = (e, t, r = {}) => {
1938
- let i = P(e).descriptors[t]?.input, o = a(() => i === void 0 ? [] : mn(i), [i]), [c, l] = s(r.initial ?? {}), u = n((e, t) => {
1939
- l((n) => hn({
2012
+ }, yn = (e, t, r = {}) => {
2013
+ let i = N(e).descriptors[t]?.input, o = a(() => i === void 0 ? [] : _n(i), [i]), [c, l] = s(r.initial ?? {}), u = n((e, t) => {
2014
+ l((n) => vn({
1940
2015
  ...n,
1941
2016
  [e]: t
1942
2017
  }));
1943
- }, []), d = n(() => l({}), []), f = I(e, t, a(() => hn(c), [c]));
2018
+ }, []), d = n(() => l({}), []), f = F(e, t, a(() => vn(c), [c]));
1944
2019
  return {
1945
2020
  filters: o,
1946
2021
  values: c,
@@ -1951,20 +2026,20 @@ var cn = () => r(on), ln = (e) => rn(cn().scopes, e), un = (e) => an(cn().scopes
1951
2026
  loading: f.data === void 0,
1952
2027
  error: f.error
1953
2028
  };
1954
- }, _n = (e, t, n = {}) => {
1955
- let r = I(e, t, n), i = r.data;
2029
+ }, bn = (e, t, n = {}) => {
2030
+ let r = F(e, t, n), i = r.data;
1956
2031
  return {
1957
2032
  record: Array.isArray(i) ? i[0] : i,
1958
2033
  loading: i === void 0,
1959
2034
  error: r.error
1960
2035
  };
1961
- }, vn = (e, t = 300) => {
2036
+ }, xn = (e, t = 300) => {
1962
2037
  let [n, r] = s(e);
1963
2038
  return i(() => {
1964
2039
  let n = setTimeout(() => r(e), t);
1965
2040
  return () => clearTimeout(n);
1966
2041
  }, [e, t]), n;
1967
- }, yn = (e) => {
2042
+ }, Sn = (e) => {
1968
2043
  let { value: t, debouncedValue: n, data: r, interpret: i, skipEmpty: a = !0 } = e;
1969
2044
  if (a && t.trim() === "") return {
1970
2045
  status: "idle",
@@ -1982,19 +2057,19 @@ var cn = () => r(on), ln = (e) => rn(cn().scopes, e), un = (e) => an(cn().scopes
1982
2057
  valid: o.valid,
1983
2058
  message: o.message
1984
2059
  };
1985
- }, bn = (e, t, n, r) => {
1986
- let { input: i, interpret: o, debounceMs: s = 300, skipEmpty: c = !0 } = r, l = vn(n, s), u = c && l.trim() === "", d = I(e, t, a(() => i ? i(l) : { value: l }, [i, l]), { skip: u });
1987
- return yn({
2060
+ }, Cn = (e, t, n, r) => {
2061
+ let { input: i, interpret: o, debounceMs: s = 300, skipEmpty: c = !0 } = r, l = xn(n, s), u = c && l.trim() === "", d = F(e, t, a(() => i ? i(l) : { value: l }, [i, l]), { skip: u });
2062
+ return Sn({
1988
2063
  value: n,
1989
2064
  debouncedValue: l,
1990
2065
  data: u ? null : d.data,
1991
2066
  interpret: o,
1992
2067
  skipEmpty: c
1993
2068
  });
1994
- }, xn = (e, t) => ({
2069
+ }, wn = (e, t) => ({
1995
2070
  name: e,
1996
2071
  payload: t
1997
- }), Sn = (e, t) => {
2072
+ }), Tn = (e, t) => {
1998
2073
  let n = h.decodeUnknownEither(e.payload, { errors: "all" })(t);
1999
2074
  if (n._tag === "Right") return {
2000
2075
  valid: !0,
@@ -2006,15 +2081,15 @@ var cn = () => r(on), ln = (e) => rn(cn().scopes, e), un = (e) => an(cn().scopes
2006
2081
  valid: !1,
2007
2082
  errors: r
2008
2083
  };
2009
- }, Cn = (e) => {
2084
+ }, En = (e) => {
2010
2085
  let t = new Map(e.map((e) => [e.name, e]));
2011
2086
  return {
2012
2087
  names: [...t.keys()].sort(),
2013
2088
  get: (e) => t.get(e),
2014
2089
  events: e
2015
2090
  };
2016
- }, wn = (e, t) => {
2017
- let n = Cn(e);
2091
+ }, Dn = (e, t) => {
2092
+ let n = En(e);
2018
2093
  return {
2019
2094
  track: (e, r) => {
2020
2095
  let i = n.get(e);
@@ -2023,7 +2098,7 @@ var cn = () => r(on), ln = (e) => rn(cn().scopes, e), un = (e) => an(cn().scopes
2023
2098
  return;
2024
2099
  }
2025
2100
  if (process.env.NODE_ENV !== "production") {
2026
- let t = Sn(i, r);
2101
+ let t = Tn(i, r);
2027
2102
  t.valid || console.error(`[@voltro/client] analytics.track('${e}'): payload failed its schema`, t.errors);
2028
2103
  }
2029
2104
  t({
@@ -2034,42 +2109,42 @@ var cn = () => r(on), ln = (e) => rn(cn().scopes, e), un = (e) => an(cn().scopes
2034
2109
  names: n.names,
2035
2110
  catalog: n
2036
2111
  };
2037
- }, Tn = (e, t) => {
2038
- let r = G(e, t);
2112
+ }, On = (e, t) => {
2113
+ let r = W(e, t);
2039
2114
  return {
2040
2115
  preview: n((e) => r.run(e), [r]),
2041
2116
  diff: r.lastResult,
2042
2117
  pending: r.pending,
2043
2118
  error: r.error
2044
2119
  };
2045
- }, En = (e, t, n, r) => [...e, {
2120
+ }, kn = (e, t, n, r) => [...e, {
2046
2121
  id: t,
2047
2122
  tag: n,
2048
2123
  input: r,
2049
2124
  status: "pending",
2050
2125
  attempts: 0
2051
- }], Dn = (e, t, n) => e.map((e) => e.id === t ? {
2126
+ }], An = (e, t, n) => e.map((e) => e.id === t ? {
2052
2127
  ...e,
2053
2128
  ...n
2054
- } : e), On = (e, t) => Dn(e, t, { status: "sent" }), kn = (e, t, n) => e.map((e) => e.id === t ? {
2129
+ } : e), jn = (e, t) => An(e, t, { status: "sent" }), Mn = (e, t, n) => e.map((e) => e.id === t ? {
2055
2130
  ...e,
2056
2131
  status: "failed",
2057
2132
  error: n,
2058
2133
  attempts: e.attempts + 1
2059
- } : e), An = (e, t, n) => Dn(e, t, {
2134
+ } : e), Nn = (e, t, n) => An(e, t, {
2060
2135
  status: "conflict",
2061
2136
  error: n
2062
- }), jn = (e) => e.filter((e) => e.status !== "sent"), Mn = (e) => {
2137
+ }), Pn = (e) => e.filter((e) => e.status !== "sent"), Fn = (e) => {
2063
2138
  let t = [];
2064
2139
  for (let n of e) {
2065
2140
  if (n.status === "conflict") break;
2066
2141
  (n.status === "pending" || n.status === "failed") && t.push(n);
2067
2142
  }
2068
2143
  return t;
2069
- }, Nn = (e) => {
2144
+ }, In = (e) => {
2070
2145
  let t = e;
2071
2146
  return t?.conflict === !0 || t?._tag === "UndoBoundaryError" && t?.boundary === "conflict";
2072
- }, Pn = (e) => {
2147
+ }, Ln = (e) => {
2073
2148
  let [t, n] = s(e ?? (typeof navigator < "u" ? navigator.onLine : !0));
2074
2149
  return i(() => {
2075
2150
  if (e !== void 0) {
@@ -2082,21 +2157,21 @@ var cn = () => r(on), ln = (e) => rn(cn().scopes, e), un = (e) => an(cn().scopes
2082
2157
  window.removeEventListener("online", t), window.removeEventListener("offline", r);
2083
2158
  };
2084
2159
  }, [e]), t;
2085
- }, Fn = (e) => {
2086
- let { send: t, isConflict: r = Nn, idFor: a } = e, [c, l] = s([]), u = Pn(e.online), d = o(c);
2160
+ }, Rn = (e) => {
2161
+ let { send: t, isConflict: r = In, idFor: a } = e, [c, l] = s([]), u = Ln(e.online), d = o(c);
2087
2162
  d.current = c;
2088
2163
  let f = o(0), p = n((e, t) => {
2089
2164
  let n = a?.() ?? `obx_${f.current++}_${e}`;
2090
- l((r) => En(r, n, e, t));
2165
+ l((r) => kn(r, n, e, t));
2091
2166
  }, [a]), m = n(async () => {
2092
- for (let e of Mn(d.current)) try {
2093
- await t(e), l((t) => On(t, e.id));
2167
+ for (let e of Fn(d.current)) try {
2168
+ await t(e), l((t) => jn(t, e.id));
2094
2169
  } catch (t) {
2095
2170
  if (r(t)) {
2096
- l((n) => An(n, e.id, t));
2171
+ l((n) => Nn(n, e.id, t));
2097
2172
  break;
2098
2173
  }
2099
- l((n) => kn(n, e.id, t));
2174
+ l((n) => Mn(n, e.id, t));
2100
2175
  }
2101
2176
  }, [t, r]);
2102
2177
  return i(() => {
@@ -2109,7 +2184,7 @@ var cn = () => r(on), ln = (e) => rn(cn().scopes, e), un = (e) => an(cn().scopes
2109
2184
  pending: c.filter((e) => e.status === "pending" || e.status === "failed").length,
2110
2185
  conflicts: c.filter((e) => e.status === "conflict")
2111
2186
  };
2112
- }, In = (e) => {
2187
+ }, zn = (e) => {
2113
2188
  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);
2114
2189
  return {
2115
2190
  startIndex: l,
@@ -2119,8 +2194,8 @@ var cn = () => r(on), ln = (e) => rn(cn().scopes, e), un = (e) => an(cn().scopes
2119
2194
  topSpacer: l * r,
2120
2195
  bottomSpacer: a === void 0 ? 0 : Math.max(0, (a - d) * r)
2121
2196
  };
2122
- }, Ln = (e, t, r) => {
2123
- let { rowHeight: i, viewportHeight: o, overscan: c, total: l, input: u } = r, [d, f] = s(0), p = a(() => In({
2197
+ }, Bn = (e, t, r) => {
2198
+ let { rowHeight: i, viewportHeight: o, overscan: c, total: l, input: u } = r, [d, f] = s(0), p = a(() => zn({
2124
2199
  scrollTop: d,
2125
2200
  viewportHeight: o,
2126
2201
  rowHeight: i,
@@ -2132,7 +2207,7 @@ var cn = () => r(on), ln = (e) => rn(cn().scopes, e), un = (e) => an(cn().scopes
2132
2207
  i,
2133
2208
  c,
2134
2209
  l
2135
- ]), m = I(e, t, a(() => ({
2210
+ ]), m = F(e, t, a(() => ({
2136
2211
  ...u,
2137
2212
  offset: p.offset,
2138
2213
  limit: p.limit
@@ -2152,8 +2227,8 @@ var cn = () => r(on), ln = (e) => rn(cn().scopes, e), un = (e) => an(cn().scopes
2152
2227
  loading: m.data === void 0,
2153
2228
  error: m.error
2154
2229
  };
2155
- }, Rn = () => typeof navigator > "u" || navigator.onLine, zn = (e) => {
2156
- let { errorBus: t } = P(e), [r, a] = s(Rn), [c, l] = s(0), [u, d] = s(void 0), f = o(!0);
2230
+ }, Vn = () => typeof navigator > "u" || navigator.onLine, Hn = (e) => {
2231
+ let { errorBus: t } = N(e), [r, a] = s(Vn), [c, l] = s(0), [u, d] = s(void 0), f = o(!0);
2157
2232
  i(() => (f.current = !0, () => {
2158
2233
  f.current = !1;
2159
2234
  }), []), i(() => {
@@ -2179,7 +2254,7 @@ var cn = () => r(on), ln = (e) => rn(cn().scopes, e), un = (e) => an(cn().scopes
2179
2254
  lastFailureAt: u,
2180
2255
  reportSuccess: p
2181
2256
  };
2182
- }, Bn = "__voltro.connections.list", Vn = "__voltro.connections.start", Hn = "__voltro.connections.submitToken", Un = "__voltro.connections.disconnect", Wn = {
2257
+ }, Un = "__voltro.connections.list", Wn = "__voltro.connections.start", Gn = "__voltro.connections.submitToken", Kn = "__voltro.connections.disconnect", qn = {
2183
2258
  connectionId: "",
2184
2259
  kind: "oauth2",
2185
2260
  label: "",
@@ -2190,14 +2265,14 @@ var cn = () => r(on), ln = (e) => rn(cn().scopes, e), un = (e) => an(cn().scopes
2190
2265
  expiresAt: null,
2191
2266
  lastError: null,
2192
2267
  connectedAt: null
2193
- }, Gn = (e, t) => {
2268
+ }, Jn = (e, t) => {
2194
2269
  if (t === "redirect") {
2195
2270
  globalThis.location.assign(e);
2196
2271
  return;
2197
2272
  }
2198
2273
  globalThis.open(e, "voltro-connect", "width=620,height=760,menubar=no,toolbar=no") === null && globalThis.location.assign(e);
2199
- }, Kn = (e) => {
2200
- let { data: t } = I(e, Bn, {}), r = G(e, Vn), i = W(e, Hn), a = W(e, Un), o = t ?? [], s = r.pending || i.pending || a.pending, c = n((e) => ({
2274
+ }, Yn = (e) => {
2275
+ let { data: t } = F(e, Un, {}), r = W(e, Wn), i = U(e, Gn), a = U(e, Kn), o = t ?? [], s = r.pending || i.pending || a.pending, c = n((e) => ({
2201
2276
  ...e,
2202
2277
  connected: e.status === "connected",
2203
2278
  needsAttention: e.status === "expired" || e.status === "revoked" || e.status === "error",
@@ -2205,7 +2280,7 @@ var cn = () => r(on), ln = (e) => rn(cn().scopes, e), un = (e) => an(cn().scopes
2205
2280
  connect: async (t) => {
2206
2281
  if (e.kind !== "oauth2") throw Error(`connection "${e.connectionId}" is a personal-access-token connection — call submitToken(token), not connect().`);
2207
2282
  let n = t?.redirectTo ?? `${globalThis.location.pathname}${globalThis.location.search}`;
2208
- Gn((await r.run({
2283
+ Jn((await r.run({
2209
2284
  connectionId: e.connectionId,
2210
2285
  redirectTo: n
2211
2286
  })).authorizeUrl, t?.mode);
@@ -2235,10 +2310,10 @@ var cn = () => r(on), ln = (e) => rn(cn().scopes, e), un = (e) => an(cn().scopes
2235
2310
  get: l,
2236
2311
  pending: s
2237
2312
  };
2238
- }, qn = (e, t) => {
2239
- let n = Kn(e), r = n.get(t);
2313
+ }, Xn = (e, t) => {
2314
+ let n = Yn(e), r = n.get(t);
2240
2315
  return a(() => r === void 0 ? {
2241
- ...Wn,
2316
+ ...qn,
2242
2317
  connectionId: t,
2243
2318
  label: t,
2244
2319
  connected: !1,
@@ -2263,6 +2338,6 @@ var cn = () => r(on), ln = (e) => rn(cn().scopes, e), un = (e) => an(cn().scopes
2263
2338
  n.loading,
2264
2339
  n.pending
2265
2340
  ]);
2266
- }, Jn = "framework-client";
2341
+ }, Zn = "framework-client";
2267
2342
  //#endregion
2268
- export { nn as ADMIN_SCOPE, Jn as CLIENT_NAME, Bn as CONNECTIONS_LIST_TAG, Un as CONNECTION_DISCONNECT_TAG, Vn as CONNECTION_START_TAG, Hn as CONNECTION_SUBMIT_TOKEN_TAG, ce as FrameworkRuntimesContext, me as FrameworkRuntimesProvider, ae as LoadingSubscriptionCache, sn as PermissionProvider, oe as RpcErrorBus, ie as SubscriptionCache, Wt as UNDO_APPLY_TAG, Ut as UNDO_LOG_TAG, Gt as UNDO_REDO_TAG, fe as _resetFrameworkRuntimesWarning, rn as canCall, an as canCallAny, Se as clearMutations, jn as clearSent, In as computeWindow, wn as createAnalytics, xn as defineEvent, qt as defineTracking, Vt as deriveEntityAdmins, En as enqueueEntry, se as errorTag, Cn as eventCatalog, mn as filtersFromSchema, U as getMutationNotifier, be as getMutations, Lt as manifestUrl, An as markConflict, kn as markFailed, On as markSent, Ft as provenanceUrl, ht as publishClientError, x as publishClientTrace, Mn as replayable, _t as reportClientError, F as resolveByTag, $ as resolveTrackingEvent, ot as resumableConsumeProgram, At as rowsToOptions, Dt as schemaToColumns, Q as schemaToFields, we as setMutationNotifier, V as settleMutation, $t as shallowArrayEqual, en as sourceValues, A as ssrClientProxy, ue as ssrStubHandle, C as stableKey, B as startMutation, gt as subscribeClientErrors, S as subscribeClientTraces, xe as subscribeMutations, G as useAction, ft as useAgent, dt as useAgentChat, at as useAgentStream, bn as useAsyncValidation, ln as useCan, un as useCanAny, Rt as useCapabilityManifest, qn as useConnection, zn as useConnectionStatus, Kn as useConnections, pt as useDataCopilot, Nt as useDataTable, vn as useDebounced, tn as useDerived, kt as useFormBinding, Zt as useFormSkeleton, P as useFrameworkApi, pe as useFrameworkRuntimes, W as useMutation, vt as useOnRpcError, Fn as useOutbox, cn as usePermissions, Tn as usePreview, It as useProvenance, jt as useQueryField, gn as useQueryFilters, _n as useRecord, mt as useRefreshSubscriptions, dn as useResourceCan, fn as useResourceCans, ct as useResumableAgentStream, I as useSubscription, Qt as useTableSkeleton, Xt as useTracking, Ht as useUndo, Kt as useUndoLog, We as useUpload, Ln as useWindowedSubscription, Ge as useWorkflow, Qe as useWorkflowDomainEvents, $e as useWorkflowEventDeliveries, Ze as useWorkflowEvents, Je as useWorkflowRun, J as useWorkflowRunEvents, it as useWorkflowRunState, Xe as useWorkflowRunSteps, Ye as useWorkflowRuns, Ke as useWorkflowSignal, qe as useWorkflowUpdate, Sn as validateEventPayload, Ot as validateFields, yn as validationStatus, Yt as wrapTrackedCallbacks };
2343
+ export { on as ADMIN_SCOPE, Zn as CLIENT_NAME, Un as CONNECTIONS_LIST_TAG, Kn as CONNECTION_DISCONNECT_TAG, Wn as CONNECTION_START_TAG, Gn as CONNECTION_SUBMIT_TOKEN_TAG, le as FrameworkRuntimesContext, he as FrameworkRuntimesProvider, oe as LoadingSubscriptionCache, un as PermissionProvider, se as RpcErrorBus, ae as SubscriptionCache, qt as UNDO_APPLY_TAG, Kt as UNDO_LOG_TAG, Jt as UNDO_REDO_TAG, pe as _resetFrameworkRuntimesWarning, sn as canCall, cn as canCallAny, Ee as clearMutations, Pn as clearSent, zn as computeWindow, Dn as createAnalytics, wn as defineEvent, Xt as defineTracking, Wt as deriveEntityAdmins, kn as enqueueEntry, ce as errorTag, En as eventCatalog, _n as filtersFromSchema, H as getMutationNotifier, we as getMutations, Bt as manifestUrl, Nn as markConflict, Mn as markFailed, jn as markSent, Rt as provenanceUrl, yt as publishClientError, x as publishClientTrace, Fn as replayable, xt as reportClientError, P as resolveByTag, $ as resolveTrackingEvent, ut as resumableConsumeProgram, Nt as rowsToOptions, ye as runSequence, Q as schemaToColumns, Z as schemaToFields, ve as sequence, Oe as setMutationNotifier, B as settleMutation, nn as shallowArrayEqual, rn as sourceValues, k as ssrClientProxy, de as ssrStubHandle, C as stableKey, z as startMutation, bt as subscribeClientErrors, S as subscribeClientTraces, Te as subscribeMutations, W as useAction, gt as useAgent, ht as useAgentChat, lt as useAgentStream, Cn as useAsyncValidation, fn as useCan, pn as useCanAny, Vt as useCapabilityManifest, Xn as useConnection, Hn as useConnectionStatus, Yn as useConnections, _t as useDataCopilot, It as useDataTable, xn as useDebounced, an as useDerived, Mt as useFormBinding, en as useFormSkeleton, N as useFrameworkApi, me as useFrameworkRuntimes, U as useMutation, St as useOnRpcError, Rn as useOutbox, dn as usePermissions, On as usePreview, zt as useProvenance, Pt as useQueryField, yn as useQueryFilters, bn as useRecord, vt as useRefreshSubscriptions, mn as useResourceCan, hn as useResourceCans, ft as useResumableAgentStream, be as useSequence, F as useSubscription, tn as useTableSkeleton, $t as useTracking, Gt as useUndo, Yt as useUndoLog, Je as useUpload, Bn as useWindowedSubscription, Ye as useWorkflow, nt as useWorkflowDomainEvents, rt as useWorkflowEventDeliveries, tt as useWorkflowEvents, Qe as useWorkflowRun, q as useWorkflowRunEvents, ct as useWorkflowRunState, et as useWorkflowRunSteps, $e as useWorkflowRuns, Xe as useWorkflowSignal, Ze as useWorkflowUpdate, Tn as validateEventPayload, jt as validateFields, Sn as validationStatus, Qt as wrapTrackedCallbacks };