@voltro/client 0.9.0 → 0.11.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,172 @@ 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
+ covers: i?.covers ?? [],
468
+ when: i?.when
469
+ }]))
470
+ });
471
+ return e([]);
472
+ }, ye = async (e, t = {}) => {
473
+ let n = {}, r = [];
474
+ for (let i of e.steps) {
475
+ if (i.when !== void 0 && !i.when(n)) {
476
+ n[i.name] = void 0;
477
+ continue;
478
+ }
479
+ try {
480
+ let e = await i.run(n);
481
+ n[i.name] = e, r.push({
482
+ step: i,
483
+ result: e
484
+ });
485
+ } catch (e) {
486
+ let n = [], a = [], o = [], s = [];
487
+ if (t.compensate !== !1) {
488
+ let e = /* @__PURE__ */ new Map(), t = /* @__PURE__ */ new Map();
489
+ for (let i = r.length - 1; i >= 0; i--) {
490
+ let c = r[i], l = c.step.name;
491
+ if (t.has(l)) {
492
+ s.push({
493
+ step: l,
494
+ coveredBy: t.get(l)
495
+ });
496
+ continue;
497
+ }
498
+ if (e.has(l)) {
499
+ o.push(l);
500
+ continue;
501
+ }
502
+ if (c.step.undo !== void 0) try {
503
+ await c.step.undo(c.result), n.push(l);
504
+ for (let t of c.step.covers) e.set(t, l);
505
+ } catch (e) {
506
+ a.push({
507
+ step: l,
508
+ error: e
509
+ });
510
+ for (let e of c.step.covers) t.set(e, l);
511
+ }
512
+ }
513
+ }
514
+ let c = {
515
+ failedStep: i.name,
516
+ compensated: n,
517
+ compensationFailures: a,
518
+ compensationCovered: o,
519
+ compensationUncertain: s
520
+ };
521
+ return t.onError?.(e, c), {
522
+ ok: !1,
523
+ error: e,
524
+ ...c
525
+ };
526
+ }
527
+ }
528
+ return {
529
+ ok: !0,
530
+ data: n
531
+ };
532
+ }, be = (e = {}) => {
533
+ let [t, r] = s(!1), [i, a] = s(void 0), [c, l] = s(void 0), u = o(e);
534
+ return u.current = e, {
535
+ run: n(async (e, t = {}) => {
536
+ r(!0), a(void 0), l(void 0);
537
+ try {
538
+ let n = await ye(e, {
539
+ ...u.current,
540
+ ...t
541
+ });
542
+ return n.ok || (a(n.error), l(n.failedStep)), n;
543
+ } finally {
544
+ r(!1);
545
+ }
546
+ }, []),
547
+ pending: t,
548
+ error: i,
549
+ failedStep: c
550
+ };
551
+ }, xe = 100, I = [], L = /* @__PURE__ */ new Set(), Se = [], Ce = () => {
552
+ Se = I.slice();
553
+ }, R = () => {
554
+ Ce();
555
+ for (let e of L) try {
456
556
  e();
457
557
  } catch {}
458
- }, B = (e) => {
558
+ }, z = (e) => {
459
559
  let t = {
460
560
  ...e,
461
561
  status: "pending",
462
562
  startedAt: Date.now()
463
563
  };
464
- L.unshift(t), L.length > _e && (L.length = _e), z();
465
- }, V = (e, t) => {
466
- let n = L.findIndex((t) => t.id === e);
564
+ I.unshift(t), I.length > xe && (I.length = xe), R();
565
+ }, B = (e, t) => {
566
+ let n = I.findIndex((t) => t.id === e);
467
567
  if (n === -1) return;
468
- let r = L[n], i = Date.now();
469
- L[n] = t.status === "success" ? {
568
+ let r = I[n], i = Date.now();
569
+ I[n] = t.status === "success" ? {
470
570
  ...r,
471
571
  status: "success",
472
572
  output: t.output,
@@ -478,12 +578,12 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
478
578
  error: t.error,
479
579
  settledAt: i,
480
580
  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) => {
581
+ }, R();
582
+ }, we = () => Se, Te = (e) => (L.add(e), () => {
583
+ L.delete(e);
584
+ }), Ee = () => {
585
+ I.length !== 0 && (I.length = 0, R());
586
+ }, De = (e, t) => {
487
587
  if (t === void 0 || typeof e != "object" || !e) return e;
488
588
  try {
489
589
  Object.defineProperty(e, "__voltroTraceId", {
@@ -493,15 +593,15 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
493
593
  });
494
594
  } catch {}
495
595
  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) => ({
596
+ }, V, Oe = (e) => {
597
+ V = e;
598
+ }, H = () => V, ke = (e, t, n) => typeof e == "function" ? e(t, n) : e, Ae = 0, je = () => `mut_${++Ae}`, Me = (e, t) => ({
499
599
  update: (n, r) => {
500
600
  e.update(n, r, t);
501
601
  },
502
602
  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;
603
+ }), U = (e, t) => {
604
+ let { runtime: r, cache: i, client: c, descriptors: l, errorBus: u } = N(e), f = l[t], p = f?.targets;
505
605
  if (process.env.NODE_ENV !== "production") {
506
606
  let n = f?.kind;
507
607
  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 +609,12 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
509
609
  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
610
  let o = a?.onError !== void 0 || a?.notify?.error !== void 0, s = (e) => {
511
611
  a?.onError?.(e, n);
512
- let t = Te(a?.notify?.error, e, n);
513
- t !== void 0 && H?.error(t);
612
+ let t = ke(a?.notify?.error, e, n);
613
+ t !== void 0 && V?.error(t);
514
614
  };
515
615
  h(!0), _(void 0);
516
- let l = De();
517
- B({
616
+ let l = je();
617
+ z({
518
618
  id: l,
519
619
  apiName: e,
520
620
  tag: t,
@@ -522,9 +622,9 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
522
622
  });
523
623
  let f = b.current, m = S.current;
524
624
  if (f) try {
525
- f(Oe(i, l), n);
625
+ f(Me(i, l), n);
526
626
  } catch (e) {
527
- if (_(e), h(!1), i.revertByMutation(l), V(l, {
627
+ if (_(e), h(!1), i.revertByMutation(l), B(l, {
528
628
  status: "error",
529
629
  error: e
530
630
  }), o) return s(e);
@@ -533,7 +633,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
533
633
  else !m && p && p.length > 0 && i.autoApply(p, n, l);
534
634
  let g;
535
635
  try {
536
- let o = F(c, t), s = d.currentSpan.pipe(d.tap((e) => d.sync(() => {
636
+ let o = P(c, t), s = d.currentSpan.pipe(d.tap((e) => d.sync(() => {
537
637
  g = e.traceId, x({
538
638
  traceId: e.traceId,
539
639
  spanId: e.spanId,
@@ -545,15 +645,15 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
545
645
  "voltro.mutationId": l,
546
646
  "rpc.tag": t
547
647
  } })), u = await r.runPromise(s);
548
- y(u), V(l, {
648
+ y(u), B(l, {
549
649
  status: "success",
550
650
  output: u
551
651
  }), 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;
652
+ let f = ke(a?.notify?.success, u, n);
653
+ return f !== void 0 && V?.success(f), u;
554
654
  } catch (e) {
555
- let n = Ce(e, g);
556
- if (_(n), V(l, {
655
+ let n = De(e, g);
656
+ if (_(n), B(l, {
557
657
  status: "error",
558
658
  error: n
559
659
  }), i.revertByMutation(l), u.emit({
@@ -590,7 +690,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
590
690
  g,
591
691
  v
592
692
  ]);
593
- }, ke = (e, t) => {
693
+ }, Ne = (e, t) => {
594
694
  if (t === void 0 || typeof e != "object" || !e) return e;
595
695
  try {
596
696
  Object.defineProperty(e, "__voltroTraceId", {
@@ -600,8 +700,8 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
600
700
  });
601
701
  } catch {}
602
702
  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);
703
+ }, Pe = (e, t, n) => typeof e == "function" ? e(t, n) : e, Fe = 0, Ie = () => `act_${++Fe}`, W = (e, t) => {
704
+ let { runtime: r, client: i, descriptors: o, errorBus: c } = N(e);
605
705
  if (process.env.NODE_ENV !== "production") {
606
706
  let n = o[t]?.kind;
607
707
  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 +709,8 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
609
709
  let [l, u] = s(!1), [f, p] = s(void 0), [m, h] = s(void 0), g = n(async (n, a) => {
610
710
  let o = a?.onError !== void 0 || a?.notify?.error !== void 0;
611
711
  u(!0), p(void 0);
612
- let s = Me();
613
- B({
712
+ let s = Ie();
713
+ z({
614
714
  id: s,
615
715
  apiName: e,
616
716
  tag: t,
@@ -618,7 +718,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
618
718
  });
619
719
  let l;
620
720
  try {
621
- let o = F(i, t), c = d.currentSpan.pipe(d.tap((e) => d.sync(() => {
721
+ let o = P(i, t), c = d.currentSpan.pipe(d.tap((e) => d.sync(() => {
622
722
  l = e.traceId, x({
623
723
  traceId: e.traceId,
624
724
  spanId: e.spanId,
@@ -630,15 +730,15 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
630
730
  "voltro.actionId": s,
631
731
  "rpc.tag": t
632
732
  } })), u = await r.runPromise(c);
633
- h(u), V(s, {
733
+ h(u), B(s, {
634
734
  status: "success",
635
735
  output: u
636
736
  }), a?.onSuccess?.(u, n);
637
- let f = Ae(a?.notify?.success, u, n);
638
- return f !== void 0 && U()?.success(f), u;
737
+ let f = Pe(a?.notify?.success, u, n);
738
+ return f !== void 0 && H()?.success(f), u;
639
739
  } catch (e) {
640
- let r = ke(e, l);
641
- if (p(r), V(s, {
740
+ let r = Ne(e, l);
741
+ if (p(r), B(s, {
642
742
  status: "error",
643
743
  error: r
644
744
  }), c.emit({
@@ -648,8 +748,8 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
648
748
  ...l === void 0 ? {} : { traceId: l }
649
749
  }), o) {
650
750
  a?.onError?.(r, n);
651
- let e = Ae(a?.notify?.error, r, n);
652
- e !== void 0 && U()?.error(e);
751
+ let e = Pe(a?.notify?.error, r, n);
752
+ e !== void 0 && H()?.error(e);
653
753
  return;
654
754
  }
655
755
  throw r;
@@ -674,7 +774,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
674
774
  f,
675
775
  m
676
776
  ]);
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) => {
777
+ }, 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
778
  let o = new XMLHttpRequest();
679
779
  if (o.open("PUT", e), o.upload.onprogress = (e) => {
680
780
  e.lengthComputable && n(e.loaded / e.total);
@@ -688,7 +788,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
688
788
  return;
689
789
  }
690
790
  r.addEventListener("abort", () => o.abort(), { once: !0 }), o.send(t);
691
- }), Ve = (e, t, n, r, i, a) => new Promise((o, s) => {
791
+ }), Ge = (e, t, n, r, i, a) => new Promise((o, s) => {
692
792
  let c = new XMLHttpRequest();
693
793
  if (c.open("POST", e), c.setRequestHeader("content-type", t), c.upload.onprogress = (e) => {
694
794
  e.lengthComputable && r(e.loaded / e.total);
@@ -706,7 +806,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
706
806
  return;
707
807
  }
708
808
  i.addEventListener("abort", () => c.abort(), { once: !0 }), c.send(n);
709
- }), He = (e, t, n, r, i) => new Promise((a, o) => {
809
+ }), Ke = (e, t, n, r, i) => new Promise((a, o) => {
710
810
  let s = new XMLHttpRequest();
711
811
  if (s.open("PUT", e), s.setRequestHeader("content-type", t), s.upload.onprogress = (e) => {
712
812
  e.lengthComputable && r(e.loaded / e.total);
@@ -717,7 +817,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
717
817
  return;
718
818
  }
719
819
  i.addEventListener("abort", () => s.abort(), { once: !0 }), s.send(n);
720
- }), Ue = (e, t, n, r, i) => new Promise((a, o) => {
820
+ }), qe = (e, t, n, r, i) => new Promise((a, o) => {
721
821
  let s = new XMLHttpRequest();
722
822
  if (s.open("POST", e), s.setRequestHeader("content-type", t), s.upload.onprogress = (e) => {
723
823
  e.lengthComputable && r(e.loaded / e.total);
@@ -733,8 +833,8 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
733
833
  return;
734
834
  }
735
835
  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(() => {
836
+ }), Je = (e, t = {}) => {
837
+ 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
838
  d(0), p("idle"), h(void 0);
739
839
  }, []), v = n(() => {
740
840
  g.current?.abort();
@@ -754,16 +854,16 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
754
854
  ...e.width === void 0 ? {} : { width: e.width },
755
855
  ...e.height === void 0 ? {} : { height: e.height }
756
856
  }), g = async () => {
757
- let s = n.mintTag ?? t.mintTag ?? K, l = F(i, s), u = await r.runPromise(l({
857
+ let s = n.mintTag ?? t.mintTag ?? G, l = P(i, s), u = await r.runPromise(l({
758
858
  contentType: c,
759
859
  ...m,
760
860
  ...d ? { key: d } : {}
761
- })), f = await Ue(y(u.uploadUrl), c, e, o, a);
861
+ })), f = await qe(y(u.uploadUrl), c, e, o, a);
762
862
  return h(f);
763
863
  }, _ = async () => {
764
- let s = n.presignMintTag ?? t.presignMintTag ?? Ne, l = n.finalizeTag ?? t.finalizeTag ?? Pe, u;
864
+ let s = n.presignMintTag ?? t.presignMintTag ?? Le, l = n.finalizeTag ?? t.finalizeTag ?? Re, u;
765
865
  try {
766
- let e = F(i, s);
866
+ let e = P(i, s);
767
867
  u = await r.runPromise(e({
768
868
  contentType: c,
769
869
  ...m
@@ -771,11 +871,11 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
771
871
  } catch {
772
872
  return null;
773
873
  }
774
- await He(u.uploadUrl, c, e, o, a);
775
- let d = F(i, l), f = await r.runPromise(d({ finalizeToken: u.finalizeToken }));
874
+ await Ke(u.uploadUrl, c, e, o, a);
875
+ let d = P(i, l), f = await r.runPromise(d({ finalizeToken: u.finalizeToken }));
776
876
  return h(f);
777
877
  }, 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({
878
+ 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
879
  contentType: c,
780
880
  size: u,
781
881
  ...m,
@@ -786,7 +886,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
786
886
  for (;;) {
787
887
  if (a.aborted) throw new DOMException("upload aborted", "AbortError");
788
888
  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);
889
+ 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
890
  s && (x = e);
791
891
  break;
792
892
  } catch (e) {
@@ -798,9 +898,9 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
798
898
  if (!x) throw Error("resumable upload produced no final reply");
799
899
  return h(x);
800
900
  }, 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;
901
+ 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
902
  try {
803
- let e = F(i, s);
903
+ let e = P(i, s);
804
904
  g = await r.runPromise(e({
805
905
  contentType: c,
806
906
  size: p,
@@ -810,7 +910,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
810
910
  } catch {
811
911
  return null;
812
912
  }
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;
913
+ 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
914
  try {
815
915
  for (let t = 0; t < S; t++) {
816
916
  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 +920,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
820
920
  let { url: e } = await r.runPromise(_({
821
921
  multipartToken: g.multipartToken,
822
922
  partNumber: c
823
- })), t = await Be(e, s, (e) => o((T + e * l) / p), a);
923
+ })), t = await We(e, s, (e) => o((T + e * l) / p), a);
824
924
  w.push({
825
925
  partNumber: c,
826
926
  etag: t
@@ -894,7 +994,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
894
994
  } catch (e) {
895
995
  throw p("error"), h(e), e instanceof DOMException && e.name === "AbortError" || l.emit({
896
996
  source: "action",
897
- tag: n.mintTag ?? t.mintTag ?? K,
997
+ tag: n.mintTag ?? t.mintTag ?? G,
898
998
  error: e
899
999
  }), e;
900
1000
  }
@@ -920,7 +1020,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
920
1020
  } catch (e) {
921
1021
  throw r.abort(), p("error"), h(e), e instanceof DOMException && e.name === "AbortError" || l.emit({
922
1022
  source: "action",
923
- tag: n.mintTag ?? t.mintTag ?? K,
1023
+ tag: n.mintTag ?? t.mintTag ?? G,
924
1024
  error: e
925
1025
  }), e;
926
1026
  }
@@ -965,8 +1065,8 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
965
1065
  w,
966
1066
  T
967
1067
  ]);
968
- }, q = async (e) => {
969
- let t = F(e.client, e.tag), n = d.currentSpan.pipe(d.tap((t) => d.sync(() => {
1068
+ }, K = async (e) => {
1069
+ let t = P(e.client, e.tag), n = d.currentSpan.pipe(d.tap((t) => d.sync(() => {
970
1070
  x({
971
1071
  traceId: t.traceId,
972
1072
  spanId: t.spanId,
@@ -978,8 +1078,8 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
978
1078
  "rpc.tag": e.tag
979
1079
  } }));
980
1080
  return e.runtime.runPromise(n);
981
- }, Ge = (e, t) => {
982
- let { runtime: r, client: i, descriptors: o } = P(e);
1081
+ }, Ye = (e, t) => {
1082
+ let { runtime: r, client: i, descriptors: o } = N(e);
983
1083
  if (process.env.NODE_ENV !== "production") {
984
1084
  let n = o[t]?.kind;
985
1085
  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 +1087,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
987
1087
  let [c, l] = s(!1), [u, d] = s(void 0), [f, p] = s(void 0), m = n(async (n) => {
988
1088
  l(!0), d(void 0);
989
1089
  try {
990
- let a = await q({
1090
+ let a = await K({
991
1091
  apiName: e,
992
1092
  runtime: r,
993
1093
  client: i,
@@ -1007,7 +1107,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1007
1107
  i,
1008
1108
  t
1009
1109
  ]), h = n(async (t) => {
1010
- await q({
1110
+ await K({
1011
1111
  apiName: e,
1012
1112
  runtime: r,
1013
1113
  client: i,
@@ -1020,7 +1120,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1020
1120
  r,
1021
1121
  i
1022
1122
  ]), g = n(async (t) => {
1023
- await q({
1123
+ await K({
1024
1124
  apiName: e,
1025
1125
  runtime: r,
1026
1126
  client: i,
@@ -1032,7 +1132,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1032
1132
  e,
1033
1133
  r,
1034
1134
  i
1035
- ]), _ = n(async (t, n, a) => q({
1135
+ ]), _ = n(async (t, n, a) => K({
1036
1136
  apiName: e,
1037
1137
  runtime: r,
1038
1138
  client: i,
@@ -1047,7 +1147,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1047
1147
  e,
1048
1148
  r,
1049
1149
  i
1050
- ]), v = n(async (t, n, a, o) => q({
1150
+ ]), v = n(async (t, n, a, o) => K({
1051
1151
  apiName: e,
1052
1152
  runtime: r,
1053
1153
  client: i,
@@ -1083,11 +1183,11 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1083
1183
  u,
1084
1184
  f
1085
1185
  ]);
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) => {
1186
+ }, Xe = (e) => {
1187
+ 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
1188
  o(!0), l(void 0);
1089
1189
  try {
1090
- let o = await q({
1190
+ let o = await K({
1091
1191
  apiName: e,
1092
1192
  runtime: t,
1093
1193
  client: r,
@@ -1121,11 +1221,11 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1121
1221
  c,
1122
1222
  u
1123
1223
  ]);
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) => {
1224
+ }, Ze = (e) => {
1225
+ 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
1226
  o(!0), l(void 0);
1127
1227
  try {
1128
- let o = await q({
1228
+ let o = await K({
1129
1229
  apiName: e,
1130
1230
  runtime: t,
1131
1231
  client: r,
@@ -1160,96 +1260,96 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1160
1260
  c,
1161
1261
  u
1162
1262
  ]);
1163
- }, Je = (e, t) => {
1164
- let n = I(e, "__voltro.workflow.run", t ? { id: t } : {}, { skip: t === void 0 });
1165
- return n.loading ? {
1263
+ }, Qe = (e, t) => {
1264
+ let n = F(e, "__voltro.workflow.run", t ? { id: t } : {}, { skip: t === void 0 });
1265
+ return n.loading || n.idle ? {
1166
1266
  ...n,
1167
1267
  run: void 0
1168
1268
  } : {
1169
1269
  ...n,
1170
1270
  run: n.data[0]
1171
1271
  };
1172
- }, Ye = (e, t = {}, n = {}) => {
1173
- let r = I(e, "__voltro.workflow.runs", t, n);
1174
- return r.loading ? {
1272
+ }, $e = (e, t = {}, n = {}) => {
1273
+ let r = F(e, "__voltro.workflow.runs", t, n);
1274
+ return r.loading || r.idle ? {
1175
1275
  ...r,
1176
1276
  runs: []
1177
1277
  } : {
1178
1278
  ...r,
1179
1279
  runs: r.data
1180
1280
  };
1181
- }, Xe = (e, t) => {
1182
- let n = I(e, "__voltro.workflow.run.steps", t ? { runId: t } : {}, { skip: t === void 0 });
1183
- return n.loading ? {
1281
+ }, et = (e, t) => {
1282
+ let n = F(e, "__voltro.workflow.run.steps", t ? { runId: t } : {}, { skip: t === void 0 });
1283
+ return n.loading || n.idle ? {
1184
1284
  ...n,
1185
1285
  steps: []
1186
1286
  } : {
1187
1287
  ...n,
1188
1288
  steps: n.data
1189
1289
  };
1190
- }, J = (e, t) => {
1191
- let n = I(e, "__voltro.workflow.run.events", t ? { runId: t } : {}, { skip: t === void 0 });
1192
- return n.loading ? {
1290
+ }, q = (e, t) => {
1291
+ let n = F(e, "__voltro.workflow.run.events", t ? { runId: t } : {}, { skip: t === void 0 });
1292
+ return n.loading || n.idle ? {
1193
1293
  ...n,
1194
1294
  events: []
1195
1295
  } : {
1196
1296
  ...n,
1197
1297
  events: n.data
1198
1298
  };
1199
- }, Ze = J, Qe = (e, t = {}, n = {}) => {
1200
- let r = I(e, "__voltro.workflow.domainEvents", t, n);
1201
- return r.loading ? {
1299
+ }, tt = q, nt = (e, t = {}, n = {}) => {
1300
+ let r = F(e, "__voltro.workflow.domainEvents", t, n);
1301
+ return r.loading || r.idle ? {
1202
1302
  ...r,
1203
1303
  events: []
1204
1304
  } : {
1205
1305
  ...r,
1206
1306
  events: r.data
1207
1307
  };
1208
- }, $e = (e, t) => {
1209
- let n = I(e, "__voltro.workflow.event.deliveries", t ? { eventId: t } : {}, { skip: t === void 0 });
1210
- return n.loading ? {
1308
+ }, rt = (e, t) => {
1309
+ let n = F(e, "__voltro.workflow.event.deliveries", t ? { eventId: t } : {}, { skip: t === void 0 });
1310
+ return n.loading || n.idle ? {
1211
1311
  ...n,
1212
1312
  deliveries: []
1213
1313
  } : {
1214
1314
  ...n,
1215
1315
  deliveries: n.data
1216
1316
  };
1217
- }, Y = (e, t) => {
1317
+ }, J = (e, t) => {
1218
1318
  let n = e.payload;
1219
1319
  if (!n || typeof n != "object") return;
1220
1320
  let r = n[t];
1221
1321
  return typeof r == "string" ? r : void 0;
1222
- }, et = (e) => {
1322
+ }, it = (e) => {
1223
1323
  let t = e.payload;
1224
1324
  if (!t || typeof t != "object") return;
1225
1325
  let n = t.updateId;
1226
1326
  return typeof n == "string" ? n : void 0;
1227
- }, tt = (e) => {
1327
+ }, at = (e) => {
1228
1328
  let t = /* @__PURE__ */ new Set(), n = /* @__PURE__ */ new Set();
1229
1329
  for (let r of e) if (r.eventType === "signal-received") {
1230
- let e = Y(r, "signalName");
1330
+ let e = J(r, "signalName");
1231
1331
  e && t.add(e);
1232
1332
  } else if (r.eventType === "update-completed" || r.eventType === "update-failed") {
1233
- let e = et(r);
1333
+ let e = it(r);
1234
1334
  e && n.add(e);
1235
1335
  }
1236
1336
  for (let r = e.length - 1; r >= 0; --r) {
1237
1337
  let i = e[r];
1238
1338
  if (i.eventType === "signal-awaited") {
1239
- let e = Y(i, "signalName");
1339
+ let e = J(i, "signalName");
1240
1340
  if (e && !t.has(e)) return {
1241
1341
  name: e,
1242
1342
  kind: "signal"
1243
1343
  };
1244
1344
  } else if (i.eventType === "update-requested") {
1245
- let e = et(i), t = Y(i, "updateName");
1345
+ let e = it(i), t = J(i, "updateName");
1246
1346
  if (t && (!e || !n.has(e))) return {
1247
1347
  name: t,
1248
1348
  kind: "update"
1249
1349
  };
1250
1350
  }
1251
1351
  }
1252
- }, nt = (e) => e.find((e) => e.status === "running") || (e.length > 0 ? e[e.length - 1] : void 0), rt = (e, t) => {
1352
+ }, ot = (e) => e.find((e) => e.status === "running") || (e.length > 0 ? e[e.length - 1] : void 0), st = (e, t) => {
1253
1353
  if (!e || e.status !== "failed") return;
1254
1354
  let n = t.find((e) => e.status === "failed");
1255
1355
  return {
@@ -1257,8 +1357,8 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1257
1357
  message: e.errorMessage,
1258
1358
  step: n?.stepName
1259
1359
  };
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 () => {
1360
+ }, ct = (e, t) => {
1361
+ 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
1362
  if (!c) throw Error("useWorkflowRunState: no run loaded — cannot cancel");
1263
1363
  await s.cancel({
1264
1364
  workflowName: c.tag,
@@ -1282,9 +1382,9 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1282
1382
  status: c?.status,
1283
1383
  steps: l,
1284
1384
  events: u,
1285
- currentStep: nt(l),
1286
- waitingFor: c?.status === "suspended" ? tt(u) : void 0,
1287
- error: rt(c, l),
1385
+ currentStep: ot(l),
1386
+ waitingFor: c?.status === "suspended" ? at(u) : void 0,
1387
+ error: st(c, l),
1288
1388
  traceId: c?.traceId,
1289
1389
  loading: r.data === void 0,
1290
1390
  cancel: d,
@@ -1301,8 +1401,8 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1301
1401
  p,
1302
1402
  m
1303
1403
  ]);
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(() => {
1404
+ }, lt = (e, t) => {
1405
+ let { runtime: r, client: i } = N(e), [a, c] = s([]), [u, f] = s("idle"), [m, h] = s(void 0), _ = o(null), v = n(() => {
1306
1406
  let e = _.current;
1307
1407
  e && (_.current = null, r.runFork(p.interrupt(e)), f((e) => e === "streaming" ? "idle" : e));
1308
1408
  }, [r]);
@@ -1313,7 +1413,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1313
1413
  start: n((e = {}) => {
1314
1414
  let n = _.current;
1315
1415
  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({
1416
+ let a = P(i, t)(e), o = g.runForEach(a, (e) => d.sync(() => c((t) => [...t, e]))).pipe(d.matchCause({
1317
1417
  onSuccess: () => {
1318
1418
  f("done");
1319
1419
  },
@@ -1329,7 +1429,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1329
1429
  ]),
1330
1430
  cancel: v
1331
1431
  };
1332
- }, ot = (e, t, n, r) => {
1432
+ }, ut = (e, t, n, r) => {
1333
1433
  let i = 0, a = !1, o = (e) => d.sync(() => {
1334
1434
  e.seq <= i || (i = e.seq, n.onEvent(e.event), r.isTerminal(e.event) && (a = !0));
1335
1435
  }), s = (e, t, a) => {
@@ -1352,15 +1452,15 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1352
1452
  }));
1353
1453
  });
1354
1454
  return c(0);
1355
- }, st = (e) => {
1455
+ }, dt = (e) => {
1356
1456
  let t = e?._tag;
1357
1457
  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 = {
1458
+ }, ft = (e, t, r = {}) => {
1459
+ 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
1460
  maxReconnects: r.maxReconnects ?? 6,
1361
1461
  backoffMs: r.backoffMs ?? 400,
1362
1462
  maxBackoffMs: r.maxBackoffMs ?? 8e3,
1363
- isTerminal: r.isTerminal ?? st
1463
+ isTerminal: r.isTerminal ?? dt
1364
1464
  }, y = n(() => {
1365
1465
  let e = _.current;
1366
1466
  e && (_.current = null, i.runFork(p.interrupt(e)), d((e) => e === "streaming" || e === "reconnecting" ? "idle" : e));
@@ -1373,13 +1473,13 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1373
1473
  start: n((e = {}) => {
1374
1474
  let n = _.current;
1375
1475
  n && i.runFork(p.interrupt(n)), l([]), g(void 0), m(0), d("streaming");
1376
- let r = F(a, t), o = {
1476
+ let r = P(a, t), o = {
1377
1477
  onEvent: (e) => l((t) => [...t, e]),
1378
1478
  onStatus: d,
1379
1479
  onReconnect: () => m((e) => e + 1),
1380
1480
  onError: g
1381
1481
  };
1382
- _.current = i.runFork(ot(r, e, o, v));
1482
+ _.current = i.runFork(ut(r, e, o, v));
1383
1483
  }, [
1384
1484
  i,
1385
1485
  a,
@@ -1391,13 +1491,13 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1391
1491
  ]),
1392
1492
  cancel: y
1393
1493
  };
1394
- }, lt = (e, t) => e.order - t.order || (e.stepOrder ?? 0) - (t.stepOrder ?? 0), ut = (e) => {
1494
+ }, pt = (e, t) => e.order - t.order || (e.stepOrder ?? 0) - (t.stepOrder ?? 0), mt = (e) => {
1395
1495
  for (let t = e.length - 1; t >= 0; --t) {
1396
1496
  let n = e[t];
1397
1497
  if (n.role === "user" && n.content) return n.content;
1398
1498
  }
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({
1499
+ }, ht = (e, t, r) => {
1500
+ 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
1501
  threadId: i,
1402
1502
  order: o.data?.length ?? 0,
1403
1503
  prompt: e,
@@ -1407,7 +1507,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1407
1507
  i,
1408
1508
  o.data
1409
1509
  ]), u = n(() => {
1410
- let e = ut(c);
1510
+ let e = mt(c);
1411
1511
  return e === void 0 ? void 0 : l(e);
1412
1512
  }, [c, l]);
1413
1513
  return a(() => ({
@@ -1427,8 +1527,8 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1427
1527
  l,
1428
1528
  u
1429
1529
  ]);
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]);
1530
+ }, gt = (e, t) => {
1531
+ 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
1532
  return i(() => {
1433
1533
  if (c !== "done" || m.current === null) return;
1434
1534
  let e = m.current;
@@ -1454,8 +1554,8 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1454
1554
  }, [u]),
1455
1555
  cancel: d
1456
1556
  };
1457
- }, pt = (e, t) => {
1458
- let r = G(e, t), [i, o] = s(void 0), c = n(async (e) => {
1557
+ }, _t = (e, t) => {
1558
+ let r = W(e, t), [i, o] = s(void 0), c = n(async (e) => {
1459
1559
  let t = await r.run({ question: e });
1460
1560
  return o(t), t;
1461
1561
  }, [r]), l = n(() => o(void 0), []);
@@ -1472,43 +1572,43 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1472
1572
  r.error,
1473
1573
  l
1474
1574
  ]);
1475
- }, mt = (e) => {
1476
- let { cache: t, runtime: r } = P(e);
1575
+ }, vt = (e) => {
1576
+ let { cache: t, runtime: r } = N(e);
1477
1577
  return n(() => {
1478
1578
  t.refreshAll(r);
1479
1579
  }, [t, r]);
1480
- }, X = /* @__PURE__ */ new Set(), ht = (e) => {
1481
- for (let t of X) try {
1580
+ }, Y = /* @__PURE__ */ new Set(), yt = (e) => {
1581
+ for (let t of Y) try {
1482
1582
  t(e);
1483
1583
  } catch {}
1484
- }, gt = (e) => (X.add(e), () => {
1485
- X.delete(e);
1486
- }), _t = (e, t) => {
1487
- ht({
1584
+ }, bt = (e) => (Y.add(e), () => {
1585
+ Y.delete(e);
1586
+ }), xt = (e, t) => {
1587
+ yt({
1488
1588
  error: e,
1489
1589
  source: "manual",
1490
1590
  ...t ? { context: t } : {}
1491
1591
  });
1492
- }, vt = (e, t) => {
1493
- let { errorBus: n } = P(e);
1592
+ }, St = (e, t) => {
1593
+ let { errorBus: n } = N(e);
1494
1594
  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) => {
1595
+ }, 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
1596
  let n = e;
1497
1597
  for (let e = 0; e < 8; e += 1) {
1498
1598
  let e = n.$ref;
1499
- if (typeof e != "string" || !e.startsWith(yt)) return n;
1599
+ if (typeof e != "string" || !e.startsWith(Ct)) return n;
1500
1600
  let r = t[e.slice(8)];
1501
1601
  if (!r || typeof r != "object") return n;
1502
1602
  n = r;
1503
1603
  }
1504
1604
  return n;
1505
- }, xt = (e) => {
1605
+ }, Tt = (e) => {
1506
1606
  if (!e || typeof e != "object") return !1;
1507
1607
  let t = e;
1508
1608
  if (t.type === "null" || t.const === null) return !0;
1509
1609
  let n = t.enum;
1510
1610
  return Array.isArray(n) && n.length === 1 && n[0] === null;
1511
- }, St = (e, t) => {
1611
+ }, Et = (e, t) => {
1512
1612
  let n = e.type;
1513
1613
  if (Array.isArray(n) && n.includes("null")) {
1514
1614
  let t = n.filter((e) => e !== "null");
@@ -1523,9 +1623,9 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1523
1623
  for (let n of ["anyOf", "oneOf"]) {
1524
1624
  let r = e[n];
1525
1625
  if (!Array.isArray(r)) continue;
1526
- let i = r.filter((e) => !xt(e));
1626
+ let i = r.filter((e) => !Tt(e));
1527
1627
  if (i.length !== r.length) return i.length === 1 ? {
1528
- node: Z(i[0], t),
1628
+ node: X(i[0], t),
1529
1629
  nullable: !0
1530
1630
  } : {
1531
1631
  node: {
@@ -1539,14 +1639,14 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1539
1639
  node: e,
1540
1640
  nullable: !1
1541
1641
  };
1542
- }, Ct = (e) => e.map((e) => ({
1642
+ }, Dt = (e) => e.map((e) => ({
1543
1643
  value: String(e),
1544
- label: bt(String(e))
1545
- })), wt = (e) => {
1644
+ label: wt(String(e))
1645
+ })), Ot = (e) => {
1546
1646
  let t = e.enum;
1547
1647
  if (Array.isArray(t) && t.length > 0) return {
1548
1648
  widget: "select",
1549
- options: Ct(t)
1649
+ options: Dt(t)
1550
1650
  };
1551
1651
  let n = e.type, r = Array.isArray(n) ? n.find((e) => e !== "null") : n, i = e.format;
1552
1652
  switch (r) {
@@ -1557,38 +1657,38 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1557
1657
  case "array": return { widget: "multi-select" };
1558
1658
  default: return { widget: "custom" };
1559
1659
  }
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);
1660
+ }, kt = (e, t, n) => Object.entries(e).map(([e, r]) => {
1661
+ let { node: i, nullable: a } = Et(X(r, n), n), o = X(i, n), { widget: s, options: c } = Ot(o);
1562
1662
  return {
1563
1663
  name: e,
1564
- label: bt(e),
1664
+ label: wt(e),
1565
1665
  widget: s,
1566
1666
  required: t.has(e),
1567
1667
  nullable: a,
1568
1668
  ...c ? { options: c } : {},
1569
1669
  jsonSchema: o
1570
1670
  };
1571
- }), Et = (e) => {
1671
+ }), At = (e) => {
1572
1672
  try {
1573
1673
  return m.make(e);
1574
1674
  } catch {
1575
1675
  return;
1576
1676
  }
1577
- }, Q = (e) => {
1578
- let t = Et(e);
1677
+ }, Z = (e) => {
1678
+ let t = At(e);
1579
1679
  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);
1680
+ let n = t.$defs ?? {}, r = X(t, n), i = r.properties;
1681
+ return i ? kt(i, new Set(Array.isArray(r.required) ? r.required : []), n) : [];
1682
+ }, Q = (e) => {
1683
+ let t = At(e);
1584
1684
  if (t === void 0) return [];
1585
- let n = t.$defs ?? {}, r = Z(t, n);
1685
+ let n = t.$defs ?? {}, r = X(t, n);
1586
1686
  if (r.type !== "array") return [];
1587
1687
  let i = r.items;
1588
1688
  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) => {
1689
+ let a = X(i, n), o = a.properties;
1690
+ return o ? kt(o, new Set(Array.isArray(a.required) ? a.required : []), n) : [];
1691
+ }, jt = (e, t) => {
1592
1692
  let n = h.decodeUnknownEither(e, { errors: "all" })(t);
1593
1693
  if (n._tag === "Right") return {
1594
1694
  valid: !0,
@@ -1603,10 +1703,10 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1603
1703
  valid: !1,
1604
1704
  errors: r
1605
1705
  };
1606
- }, kt = (e, t, r) => {
1607
- let i = P(e), c = W(e, t), l = r.schema ?? i.descriptors[t]?.input;
1706
+ }, Mt = (e, t, r) => {
1707
+ let i = N(e), c = U(e, t), l = r.schema ?? i.descriptors[t]?.input;
1608
1708
  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) => {
1709
+ let u = a(() => l ? Z(l) : [], [l]), d = o(r.defaults ?? {}), [f, p] = s(d.current), [m, h] = s({}), g = n((e, t) => {
1610
1710
  p((n) => ({
1611
1711
  ...n,
1612
1712
  [e]: t
@@ -1620,7 +1720,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1620
1720
  p(d.current), h({});
1621
1721
  }, []), y = n(async () => {
1622
1722
  if (l !== void 0) {
1623
- let e = Ot(l, f);
1723
+ let e = jt(l, f);
1624
1724
  if (h(e.errors), !e.valid) return;
1625
1725
  }
1626
1726
  return c.mutate(f);
@@ -1633,7 +1733,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1633
1733
  fields: u,
1634
1734
  values: f,
1635
1735
  errors: m,
1636
- isValid: a(() => l === void 0 || Ot(l, f).valid, [l, f]),
1736
+ isValid: a(() => l === void 0 || jt(l, f).valid, [l, f]),
1637
1737
  pending: c.pending,
1638
1738
  submitError: c.error,
1639
1739
  data: c.data,
@@ -1642,13 +1742,13 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1642
1742
  reset: v,
1643
1743
  submit: y
1644
1744
  };
1645
- }, At = (e, t, n) => e.map((e) => {
1745
+ }, Nt = (e, t, n) => e.map((e) => {
1646
1746
  let r = String(e[n] ?? ""), i = e[t];
1647
1747
  return {
1648
1748
  value: r,
1649
1749
  label: i == null ? r : String(i)
1650
1750
  };
1651
- }), jt = (e, t, r = {}) => {
1751
+ }), Pt = (e, t, r = {}) => {
1652
1752
  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
1753
  i(() => {
1654
1754
  if (d === p) return;
@@ -1659,7 +1759,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1659
1759
  p,
1660
1760
  o
1661
1761
  ]);
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), [
1762
+ 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
1763
  g.data,
1664
1764
  c,
1665
1765
  l
@@ -1670,13 +1770,13 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1670
1770
  term: d,
1671
1771
  search: v
1672
1772
  };
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 ?? {} : {
1773
+ }, Ft = (e, t) => e === t ? 0 : e == null ? 1 : t == null || e < t ? -1 : 1, It = (e, t, r = {}) => {
1774
+ let i = N(e), [o, c] = s(r.pageSize), l = F(e, t, a(() => o === void 0 ? r.input ?? {} : {
1675
1775
  ...r.input,
1676
1776
  limit: o
1677
1777
  }, [r.input, o])), u = i.descriptors[t]?.output, d = n(() => {
1678
1778
  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) => {
1779
+ }, [r.pageSize]), f = a(() => r.columns ?? (u === void 0 ? [] : Q(u)), [r.columns, u]), [p, m] = s(r.initialSort), h = n((e) => {
1680
1780
  m((t) => t?.column === e ? {
1681
1781
  column: e,
1682
1782
  direction: t.direction === "asc" ? "desc" : "asc"
@@ -1691,7 +1791,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1691
1791
  let e = l.data ?? [];
1692
1792
  if (p === void 0) return e;
1693
1793
  let t = p.direction === "asc" ? 1 : -1;
1694
- return [...e].sort((e, n) => Mt(e[p.column], n[p.column]) * t);
1794
+ return [...e].sort((e, n) => Ft(e[p.column], n[p.column]) * t);
1695
1795
  }, [l.data, p]),
1696
1796
  loading: l.data === void 0,
1697
1797
  error: l.error,
@@ -1700,14 +1800,14 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1700
1800
  loadMore: d,
1701
1801
  hasMore: o !== void 0 && (l.data?.length ?? 0) >= o
1702
1802
  };
1703
- }, Pt = (e, t, n, r) => {
1803
+ }, Lt = (e, t, n, r) => {
1704
1804
  let i = e.replace(/\/$/, ""), a = new URLSearchParams({
1705
1805
  table: t,
1706
1806
  id: n
1707
1807
  });
1708
1808
  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({
1809
+ }, Rt = Lt, zt = (e, t, n, r) => {
1810
+ let { inspectBaseUrl: a } = N(e), [o, c] = s({
1711
1811
  data: void 0,
1712
1812
  loading: !0,
1713
1813
  error: void 0
@@ -1719,7 +1819,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1719
1819
  loading: !0,
1720
1820
  error: void 0
1721
1821
  });
1722
- let i = Pt(a ?? "", t, n, r);
1822
+ let i = Lt(a ?? "", t, n, r);
1723
1823
  return fetch(i).then(async (e) => {
1724
1824
  if (!e.ok) throw Error(`provenance fetch failed: HTTP ${e.status}`);
1725
1825
  return await e.json();
@@ -1745,8 +1845,8 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1745
1845
  n,
1746
1846
  r
1747
1847
  ]), o;
1748
- }, Lt = (e) => `${e.replace(/\/$/, "")}/_voltro/inspect/manifest`, Rt = (e) => {
1749
- let { inspectBaseUrl: t } = P(e), [n, r] = s({
1848
+ }, Bt = (e) => `${e.replace(/\/$/, "")}/_voltro/inspect/manifest`, Vt = (e) => {
1849
+ let { inspectBaseUrl: t } = N(e), [n, r] = s({
1750
1850
  manifest: void 0,
1751
1851
  loading: !0,
1752
1852
  error: void 0
@@ -1757,7 +1857,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1757
1857
  manifest: void 0,
1758
1858
  loading: !0,
1759
1859
  error: void 0
1760
- }), fetch(Lt(t ?? "")).then(async (e) => {
1860
+ }), fetch(Bt(t ?? "")).then(async (e) => {
1761
1861
  if (!e.ok) throw Error(`manifest fetch failed: HTTP ${e.status}`);
1762
1862
  return await e.json();
1763
1863
  }).then((t) => {
@@ -1776,8 +1876,8 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1776
1876
  e = !0;
1777
1877
  };
1778
1878
  }, [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"));
1879
+ }, 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) => {
1880
+ 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
1881
  return {
1782
1882
  table: t.name,
1783
1883
  columns: t.columns,
@@ -1790,7 +1890,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1790
1890
  writeScope: `${t.name}:write`,
1791
1891
  deleteScope: `${t.name}:delete`
1792
1892
  };
1793
- }), Ht = (e) => {
1893
+ }), Gt = (e) => {
1794
1894
  let [t, r] = s([]), [i, o] = s([]), c = n((e) => {
1795
1895
  r((t) => [...t, e]), o([]);
1796
1896
  }, []), l = n(async () => {
@@ -1818,8 +1918,8 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1818
1918
  l,
1819
1919
  u
1820
1920
  ]);
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) => {
1921
+ }, Kt = "__voltro.undo.log", qt = "__voltro.undo.apply", Jt = "__voltro.undo.redo", Yt = (e, t) => {
1922
+ 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
1923
  await a.mutate({ invocationId: e });
1824
1924
  }, [a]), d = n(async (e) => {
1825
1925
  await o.mutate({ invocationId: e });
@@ -1838,13 +1938,13 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1838
1938
  undoLast: f,
1839
1939
  redoLast: p
1840
1940
  };
1841
- }, qt = (e, t) => ({
1941
+ }, Xt = (e, t) => ({
1842
1942
  name: e,
1843
1943
  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) => {
1944
+ }), $ = (e, t) => e === void 0 ? null : typeof e == "string" ? { event: e } : e(t), Zt = /* @__PURE__ */ new Set(["onMount", "onUnmount"]), Qt = (e, t, n) => {
1845
1945
  let r = { ...t };
1846
1946
  for (let [i, a] of Object.entries(e.map)) {
1847
- if (Jt.has(i) || a === void 0) continue;
1947
+ if (Zt.has(i) || a === void 0) continue;
1848
1948
  let e = t[i];
1849
1949
  r[i] = (...r) => {
1850
1950
  let i = $(a, t);
@@ -1852,7 +1952,7 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1852
1952
  };
1853
1953
  }
1854
1954
  return r;
1855
- }, Xt = (e, t, n) => {
1955
+ }, $t = (e, t, n) => {
1856
1956
  let r = o({
1857
1957
  spec: e,
1858
1958
  props: t,
@@ -1868,45 +1968,45 @@ var _e = 100, L = [], R = /* @__PURE__ */ new Set(), ve = [], ye = () => {
1868
1968
  let e = r.current, t = $(e.spec.map.onUnmount, e.props);
1869
1969
  t !== null && e.sink(t);
1870
1970
  };
1871
- }, []), a(() => Yt(e, t, n), [
1971
+ }, []), a(() => Qt(e, t, n), [
1872
1972
  e,
1873
1973
  t,
1874
1974
  n
1875
1975
  ]);
1876
- }, Zt = (e, t) => {
1877
- let n = P(e).descriptors[t]?.input;
1976
+ }, en = (e, t) => {
1977
+ let n = N(e).descriptors[t]?.input;
1978
+ return a(() => n === void 0 ? [] : Z(n), [n]);
1979
+ }, tn = (e, t) => {
1980
+ let n = N(e).descriptors[t]?.output;
1878
1981
  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) => {
1982
+ }, nn = (e, t) => {
1883
1983
  if (e === t) return !0;
1884
1984
  if (e.length !== t.length) return !1;
1885
1985
  for (let n = 0; n < e.length; n += 1) if (!Object.is(e[n], t[n])) return !1;
1886
1986
  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 = {
1987
+ }, rn = (e) => Object.keys(e).sort().map((t) => e[t]), an = (e, t) => {
1988
+ let n = o(null), r = rn(e);
1989
+ return (n.current === null || !nn(n.current.key, r)) && (n.current = {
1890
1990
  key: r,
1891
1991
  value: t(e)
1892
1992
  }), 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);
1993
+ }, 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: [] });
1994
+ function un(e) {
1995
+ return t(ln.Provider, { value: { scopes: e.scopes } }, e.children);
1896
1996
  }
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);
1997
+ var dn = () => r(ln), fn = (e) => sn(dn().scopes, e), pn = (e) => cn(dn().scopes, e), mn = (e, t, n, r = {}) => {
1998
+ let i = F(e, t, { ...n }, r);
1899
1999
  return a(() => ({
1900
2000
  allowed: i.data?.allowed === !0,
1901
2001
  pending: i.data === void 0
1902
2002
  }), [i.data]);
1903
- }, fn = (e, t, n, r = {}) => {
1904
- let i = I(e, t, { ...n }, r);
2003
+ }, hn = (e, t, n, r = {}) => {
2004
+ let i = F(e, t, { ...n }, r);
1905
2005
  return a(() => ({
1906
2006
  allowedIds: new Set(i.data?.allowedIds ?? []),
1907
2007
  pending: i.data === void 0
1908
2008
  }), [i.data]);
1909
- }, pn = (e) => {
2009
+ }, gn = (e) => {
1910
2010
  switch (e) {
1911
2011
  case "select":
1912
2012
  case "radio":
@@ -1922,25 +2022,25 @@ var cn = () => r(on), ln = (e) => rn(cn().scopes, e), un = (e) => an(cn().scopes
1922
2022
  case "switch": return "boolean";
1923
2023
  default: return null;
1924
2024
  }
1925
- }, mn = (e) => Q(e).map((e) => {
1926
- let t = pn(e.widget);
2025
+ }, _n = (e) => Z(e).map((e) => {
2026
+ let t = gn(e.widget);
1927
2027
  return t === null ? null : {
1928
2028
  name: e.name,
1929
2029
  label: e.label,
1930
2030
  kind: t,
1931
2031
  ...e.options ? { options: e.options } : {}
1932
2032
  };
1933
- }).filter((e) => e !== null), hn = (e) => {
2033
+ }).filter((e) => e !== null), vn = (e) => {
1934
2034
  let t = {};
1935
2035
  for (let [n, r] of Object.entries(e)) r === void 0 || r === "" || Array.isArray(r) && r.length === 0 || (t[n] = r);
1936
2036
  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({
2037
+ }, yn = (e, t, r = {}) => {
2038
+ let i = N(e).descriptors[t]?.input, o = a(() => i === void 0 ? [] : _n(i), [i]), [c, l] = s(r.initial ?? {}), u = n((e, t) => {
2039
+ l((n) => vn({
1940
2040
  ...n,
1941
2041
  [e]: t
1942
2042
  }));
1943
- }, []), d = n(() => l({}), []), f = I(e, t, a(() => hn(c), [c]));
2043
+ }, []), d = n(() => l({}), []), f = F(e, t, a(() => vn(c), [c]));
1944
2044
  return {
1945
2045
  filters: o,
1946
2046
  values: c,
@@ -1951,20 +2051,20 @@ var cn = () => r(on), ln = (e) => rn(cn().scopes, e), un = (e) => an(cn().scopes
1951
2051
  loading: f.data === void 0,
1952
2052
  error: f.error
1953
2053
  };
1954
- }, _n = (e, t, n = {}) => {
1955
- let r = I(e, t, n), i = r.data;
2054
+ }, bn = (e, t, n = {}) => {
2055
+ let r = F(e, t, n), i = r.data;
1956
2056
  return {
1957
2057
  record: Array.isArray(i) ? i[0] : i,
1958
2058
  loading: i === void 0,
1959
2059
  error: r.error
1960
2060
  };
1961
- }, vn = (e, t = 300) => {
2061
+ }, xn = (e, t = 300) => {
1962
2062
  let [n, r] = s(e);
1963
2063
  return i(() => {
1964
2064
  let n = setTimeout(() => r(e), t);
1965
2065
  return () => clearTimeout(n);
1966
2066
  }, [e, t]), n;
1967
- }, yn = (e) => {
2067
+ }, Sn = (e) => {
1968
2068
  let { value: t, debouncedValue: n, data: r, interpret: i, skipEmpty: a = !0 } = e;
1969
2069
  if (a && t.trim() === "") return {
1970
2070
  status: "idle",
@@ -1982,19 +2082,19 @@ var cn = () => r(on), ln = (e) => rn(cn().scopes, e), un = (e) => an(cn().scopes
1982
2082
  valid: o.valid,
1983
2083
  message: o.message
1984
2084
  };
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({
2085
+ }, Cn = (e, t, n, r) => {
2086
+ 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 });
2087
+ return Sn({
1988
2088
  value: n,
1989
2089
  debouncedValue: l,
1990
2090
  data: u ? null : d.data,
1991
2091
  interpret: o,
1992
2092
  skipEmpty: c
1993
2093
  });
1994
- }, xn = (e, t) => ({
2094
+ }, wn = (e, t) => ({
1995
2095
  name: e,
1996
2096
  payload: t
1997
- }), Sn = (e, t) => {
2097
+ }), Tn = (e, t) => {
1998
2098
  let n = h.decodeUnknownEither(e.payload, { errors: "all" })(t);
1999
2099
  if (n._tag === "Right") return {
2000
2100
  valid: !0,
@@ -2006,15 +2106,15 @@ var cn = () => r(on), ln = (e) => rn(cn().scopes, e), un = (e) => an(cn().scopes
2006
2106
  valid: !1,
2007
2107
  errors: r
2008
2108
  };
2009
- }, Cn = (e) => {
2109
+ }, En = (e) => {
2010
2110
  let t = new Map(e.map((e) => [e.name, e]));
2011
2111
  return {
2012
2112
  names: [...t.keys()].sort(),
2013
2113
  get: (e) => t.get(e),
2014
2114
  events: e
2015
2115
  };
2016
- }, wn = (e, t) => {
2017
- let n = Cn(e);
2116
+ }, Dn = (e, t) => {
2117
+ let n = En(e);
2018
2118
  return {
2019
2119
  track: (e, r) => {
2020
2120
  let i = n.get(e);
@@ -2023,7 +2123,7 @@ var cn = () => r(on), ln = (e) => rn(cn().scopes, e), un = (e) => an(cn().scopes
2023
2123
  return;
2024
2124
  }
2025
2125
  if (process.env.NODE_ENV !== "production") {
2026
- let t = Sn(i, r);
2126
+ let t = Tn(i, r);
2027
2127
  t.valid || console.error(`[@voltro/client] analytics.track('${e}'): payload failed its schema`, t.errors);
2028
2128
  }
2029
2129
  t({
@@ -2034,42 +2134,42 @@ var cn = () => r(on), ln = (e) => rn(cn().scopes, e), un = (e) => an(cn().scopes
2034
2134
  names: n.names,
2035
2135
  catalog: n
2036
2136
  };
2037
- }, Tn = (e, t) => {
2038
- let r = G(e, t);
2137
+ }, On = (e, t) => {
2138
+ let r = W(e, t);
2039
2139
  return {
2040
2140
  preview: n((e) => r.run(e), [r]),
2041
2141
  diff: r.lastResult,
2042
2142
  pending: r.pending,
2043
2143
  error: r.error
2044
2144
  };
2045
- }, En = (e, t, n, r) => [...e, {
2145
+ }, kn = (e, t, n, r) => [...e, {
2046
2146
  id: t,
2047
2147
  tag: n,
2048
2148
  input: r,
2049
2149
  status: "pending",
2050
2150
  attempts: 0
2051
- }], Dn = (e, t, n) => e.map((e) => e.id === t ? {
2151
+ }], An = (e, t, n) => e.map((e) => e.id === t ? {
2052
2152
  ...e,
2053
2153
  ...n
2054
- } : e), On = (e, t) => Dn(e, t, { status: "sent" }), kn = (e, t, n) => e.map((e) => e.id === t ? {
2154
+ } : e), jn = (e, t) => An(e, t, { status: "sent" }), Mn = (e, t, n) => e.map((e) => e.id === t ? {
2055
2155
  ...e,
2056
2156
  status: "failed",
2057
2157
  error: n,
2058
2158
  attempts: e.attempts + 1
2059
- } : e), An = (e, t, n) => Dn(e, t, {
2159
+ } : e), Nn = (e, t, n) => An(e, t, {
2060
2160
  status: "conflict",
2061
2161
  error: n
2062
- }), jn = (e) => e.filter((e) => e.status !== "sent"), Mn = (e) => {
2162
+ }), Pn = (e) => e.filter((e) => e.status !== "sent"), Fn = (e) => {
2063
2163
  let t = [];
2064
2164
  for (let n of e) {
2065
2165
  if (n.status === "conflict") break;
2066
2166
  (n.status === "pending" || n.status === "failed") && t.push(n);
2067
2167
  }
2068
2168
  return t;
2069
- }, Nn = (e) => {
2169
+ }, In = (e) => {
2070
2170
  let t = e;
2071
2171
  return t?.conflict === !0 || t?._tag === "UndoBoundaryError" && t?.boundary === "conflict";
2072
- }, Pn = (e) => {
2172
+ }, Ln = (e) => {
2073
2173
  let [t, n] = s(e ?? (typeof navigator < "u" ? navigator.onLine : !0));
2074
2174
  return i(() => {
2075
2175
  if (e !== void 0) {
@@ -2082,21 +2182,21 @@ var cn = () => r(on), ln = (e) => rn(cn().scopes, e), un = (e) => an(cn().scopes
2082
2182
  window.removeEventListener("online", t), window.removeEventListener("offline", r);
2083
2183
  };
2084
2184
  }, [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);
2185
+ }, Rn = (e) => {
2186
+ let { send: t, isConflict: r = In, idFor: a } = e, [c, l] = s([]), u = Ln(e.online), d = o(c);
2087
2187
  d.current = c;
2088
2188
  let f = o(0), p = n((e, t) => {
2089
2189
  let n = a?.() ?? `obx_${f.current++}_${e}`;
2090
- l((r) => En(r, n, e, t));
2190
+ l((r) => kn(r, n, e, t));
2091
2191
  }, [a]), m = n(async () => {
2092
- for (let e of Mn(d.current)) try {
2093
- await t(e), l((t) => On(t, e.id));
2192
+ for (let e of Fn(d.current)) try {
2193
+ await t(e), l((t) => jn(t, e.id));
2094
2194
  } catch (t) {
2095
2195
  if (r(t)) {
2096
- l((n) => An(n, e.id, t));
2196
+ l((n) => Nn(n, e.id, t));
2097
2197
  break;
2098
2198
  }
2099
- l((n) => kn(n, e.id, t));
2199
+ l((n) => Mn(n, e.id, t));
2100
2200
  }
2101
2201
  }, [t, r]);
2102
2202
  return i(() => {
@@ -2109,7 +2209,7 @@ var cn = () => r(on), ln = (e) => rn(cn().scopes, e), un = (e) => an(cn().scopes
2109
2209
  pending: c.filter((e) => e.status === "pending" || e.status === "failed").length,
2110
2210
  conflicts: c.filter((e) => e.status === "conflict")
2111
2211
  };
2112
- }, In = (e) => {
2212
+ }, zn = (e) => {
2113
2213
  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
2214
  return {
2115
2215
  startIndex: l,
@@ -2119,8 +2219,8 @@ var cn = () => r(on), ln = (e) => rn(cn().scopes, e), un = (e) => an(cn().scopes
2119
2219
  topSpacer: l * r,
2120
2220
  bottomSpacer: a === void 0 ? 0 : Math.max(0, (a - d) * r)
2121
2221
  };
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({
2222
+ }, Bn = (e, t, r) => {
2223
+ let { rowHeight: i, viewportHeight: o, overscan: c, total: l, input: u } = r, [d, f] = s(0), p = a(() => zn({
2124
2224
  scrollTop: d,
2125
2225
  viewportHeight: o,
2126
2226
  rowHeight: i,
@@ -2132,7 +2232,7 @@ var cn = () => r(on), ln = (e) => rn(cn().scopes, e), un = (e) => an(cn().scopes
2132
2232
  i,
2133
2233
  c,
2134
2234
  l
2135
- ]), m = I(e, t, a(() => ({
2235
+ ]), m = F(e, t, a(() => ({
2136
2236
  ...u,
2137
2237
  offset: p.offset,
2138
2238
  limit: p.limit
@@ -2152,8 +2252,8 @@ var cn = () => r(on), ln = (e) => rn(cn().scopes, e), un = (e) => an(cn().scopes
2152
2252
  loading: m.data === void 0,
2153
2253
  error: m.error
2154
2254
  };
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);
2255
+ }, Vn = () => typeof navigator > "u" || navigator.onLine, Hn = (e) => {
2256
+ let { errorBus: t } = N(e), [r, a] = s(Vn), [c, l] = s(0), [u, d] = s(void 0), f = o(!0);
2157
2257
  i(() => (f.current = !0, () => {
2158
2258
  f.current = !1;
2159
2259
  }), []), i(() => {
@@ -2179,7 +2279,7 @@ var cn = () => r(on), ln = (e) => rn(cn().scopes, e), un = (e) => an(cn().scopes
2179
2279
  lastFailureAt: u,
2180
2280
  reportSuccess: p
2181
2281
  };
2182
- }, Bn = "__voltro.connections.list", Vn = "__voltro.connections.start", Hn = "__voltro.connections.submitToken", Un = "__voltro.connections.disconnect", Wn = {
2282
+ }, Un = "__voltro.connections.list", Wn = "__voltro.connections.start", Gn = "__voltro.connections.submitToken", Kn = "__voltro.connections.disconnect", qn = {
2183
2283
  connectionId: "",
2184
2284
  kind: "oauth2",
2185
2285
  label: "",
@@ -2190,14 +2290,14 @@ var cn = () => r(on), ln = (e) => rn(cn().scopes, e), un = (e) => an(cn().scopes
2190
2290
  expiresAt: null,
2191
2291
  lastError: null,
2192
2292
  connectedAt: null
2193
- }, Gn = (e, t) => {
2293
+ }, Jn = (e, t) => {
2194
2294
  if (t === "redirect") {
2195
2295
  globalThis.location.assign(e);
2196
2296
  return;
2197
2297
  }
2198
2298
  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) => ({
2299
+ }, Yn = (e) => {
2300
+ 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
2301
  ...e,
2202
2302
  connected: e.status === "connected",
2203
2303
  needsAttention: e.status === "expired" || e.status === "revoked" || e.status === "error",
@@ -2205,7 +2305,7 @@ var cn = () => r(on), ln = (e) => rn(cn().scopes, e), un = (e) => an(cn().scopes
2205
2305
  connect: async (t) => {
2206
2306
  if (e.kind !== "oauth2") throw Error(`connection "${e.connectionId}" is a personal-access-token connection — call submitToken(token), not connect().`);
2207
2307
  let n = t?.redirectTo ?? `${globalThis.location.pathname}${globalThis.location.search}`;
2208
- Gn((await r.run({
2308
+ Jn((await r.run({
2209
2309
  connectionId: e.connectionId,
2210
2310
  redirectTo: n
2211
2311
  })).authorizeUrl, t?.mode);
@@ -2235,10 +2335,10 @@ var cn = () => r(on), ln = (e) => rn(cn().scopes, e), un = (e) => an(cn().scopes
2235
2335
  get: l,
2236
2336
  pending: s
2237
2337
  };
2238
- }, qn = (e, t) => {
2239
- let n = Kn(e), r = n.get(t);
2338
+ }, Xn = (e, t) => {
2339
+ let n = Yn(e), r = n.get(t);
2240
2340
  return a(() => r === void 0 ? {
2241
- ...Wn,
2341
+ ...qn,
2242
2342
  connectionId: t,
2243
2343
  label: t,
2244
2344
  connected: !1,
@@ -2263,6 +2363,6 @@ var cn = () => r(on), ln = (e) => rn(cn().scopes, e), un = (e) => an(cn().scopes
2263
2363
  n.loading,
2264
2364
  n.pending
2265
2365
  ]);
2266
- }, Jn = "framework-client";
2366
+ }, Zn = "framework-client";
2267
2367
  //#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 };
2368
+ 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 };