@voltro/client 0.4.0 → 0.6.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
- }, te = (e, t) => {
33
+ }, k = (e, t) => {
34
34
  let n = e.by ?? "id", r = e.identify ? e.identify(t) : typeof t[n] == "string" ? t[n] : typeof t.id == "string" ? t.id : void 0, i = r === void 0 ? [] : Array.isArray(r) ? r : [r];
35
35
  return i.length === 0 ? null : new Set(i);
36
- }, ne = (e, t, n) => {
36
+ }, te = (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 = te(e, t);
53
+ let a = k(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
- }, re = (e, t, n) => {
76
- if (e.path !== void 0) return ne(e, t, n);
75
+ }, ne = (e, t, n) => {
76
+ if (e.path !== void 0) return te(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 = te(e, t);
94
+ let n = k(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 = te(e, t);
111
+ let n = k(e, t);
112
112
  return n === null ? null : (e) => (Array.isArray(e) ? e : []).filter((e) => !n.has(e.id));
113
113
  }
114
114
  }
115
- }, ie = 5e3, ae = class {
115
+ }, re = 5e3, ie = class {
116
116
  entries = /* @__PURE__ */ new Map();
117
117
  inactiveTtlMs;
118
118
  onChangeHook;
119
119
  errorBus;
120
120
  constructor(e = {}) {
121
- this.inactiveTtlMs = e.inactiveTtlMs ?? ie, this.onChangeHook = e.onChange, this.errorBus = e.errorBus;
121
+ this.inactiveTtlMs = e.inactiveTtlMs ?? re, 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 = re(i, t, r);
181
+ let a = ne(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
- }, oe = class extends ae {
323
+ }, ae = class extends ie {
324
324
  subscribe(e, t, n, r, i = {}) {
325
325
  return {
326
326
  getSnapshot: () => this.peek(e),
327
327
  unsubscribe: () => {}
328
328
  };
329
329
  }
330
- }, se = class {
330
+ }, oe = 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
- }, ce = (e) => {
342
+ }, se = (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
- }, le = e(null), ue = () => {
346
+ }, ce = e(null), le = () => {
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
- }, k = new Proxy(() => ue(), {
349
- get: (e, t) => k,
348
+ }, A = new Proxy(() => le(), {
349
+ get: (e, t) => A,
350
350
  has: () => !0,
351
- apply: () => ue()
352
- }), de = {
351
+ apply: () => le()
352
+ }), ue = {
353
353
  runtime: { runPromise: () => Promise.reject(/* @__PURE__ */ Error("Voltro: mutations are not invokable during SSR")) },
354
- cache: new oe(),
355
- client: k,
354
+ cache: new ae(),
355
+ client: A,
356
356
  descriptors: {},
357
357
  inspectBaseUrl: "",
358
- errorBus: new se()
359
- }, fe = {
360
- get: () => de,
358
+ errorBus: new oe()
359
+ }, de = {
360
+ get: () => ue,
361
361
  names: []
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 }) => {
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 }) => {
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(le.Provider, {
381
+ return /* @__PURE__ */ v(ce.Provider, {
382
382
  value: n,
383
383
  children: t
384
384
  });
385
- }, P = (e, t) => {
385
+ }, F = (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,56 +401,72 @@ 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
- }, ge = Object.freeze({
404
+ }, he = 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
- }), _e = () => ge, F = (e, t, r = {}, i = {}) => {
411
- let s = i.skip === !0, { runtime: l, cache: u, client: d, descriptors: f } = N(e), p = f[t]?.source, m = o(r);
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);
412
413
  m.current = r;
413
414
  let h = o(d);
414
415
  h.current = d;
415
- 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, [
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
417
  u,
417
418
  l,
418
419
  p,
419
420
  s,
420
421
  _
421
- ]), n(() => s ? ge : u.peek(_), [
422
+ ]), n(() => s ? he : u.peek(_), [
422
423
  u,
423
424
  s,
424
425
  _
425
- ]), _e), y = v.revision < 0, b = v.data === void 0 && i?.fallback !== void 0 ? i.fallback : v.data, x = !y && (Array.isArray(v.data) ? v.data.length === 0 : v.data === null || v.data === void 0);
426
- return {
427
- data: b,
426
+ ]), ge), y = v.data !== void 0, b = y && (Array.isArray(v.data) ? v.data.length === 0 : v.data === null), x = {
428
427
  revision: v.revision,
429
428
  emittedAt: v.emittedAt,
430
429
  error: v.error,
431
- pendingPatches: v.pendingPatches,
432
- loading: y,
433
- isEmpty: x
430
+ pendingPatches: v.pendingPatches
431
+ };
432
+ return i.fallback === void 0 ? y ? {
433
+ ...x,
434
+ data: v.data,
435
+ loading: !1,
436
+ isEmpty: b
437
+ } : {
438
+ ...x,
439
+ data: void 0,
440
+ loading: !0,
441
+ isEmpty: !1
442
+ } : {
443
+ ...x,
444
+ data: y ? v.data : i.fallback,
445
+ loading: !y,
446
+ isEmpty: b
434
447
  };
435
- }, ve = 100, I = [], L = /* @__PURE__ */ new Set(), ye = [], be = () => {
436
- ye = I.slice();
437
- }, R = () => {
438
- be();
439
- for (let e of L) try {
448
+ }
449
+ //#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 {
440
456
  e();
441
457
  } catch {}
442
- }, z = (e) => {
458
+ }, B = (e) => {
443
459
  let t = {
444
460
  ...e,
445
461
  status: "pending",
446
462
  startedAt: Date.now()
447
463
  };
448
- I.unshift(t), I.length > ve && (I.length = ve), R();
449
- }, B = (e, t) => {
450
- let n = I.findIndex((t) => t.id === e);
464
+ L.unshift(t), L.length > _e && (L.length = _e), z();
465
+ }, V = (e, t) => {
466
+ let n = L.findIndex((t) => t.id === e);
451
467
  if (n === -1) return;
452
- let r = I[n], i = Date.now();
453
- I[n] = t.status === "success" ? {
468
+ let r = L[n], i = Date.now();
469
+ L[n] = t.status === "success" ? {
454
470
  ...r,
455
471
  status: "success",
456
472
  output: t.output,
@@ -462,12 +478,12 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
462
478
  error: t.error,
463
479
  settledAt: i,
464
480
  durationMs: i - r.startedAt
465
- }, R();
466
- }, xe = () => ye, Se = (e) => (L.add(e), () => {
467
- L.delete(e);
468
- }), Ce = () => {
469
- I.length !== 0 && (I.length = 0, R());
470
- }, we = (e, t) => {
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) => {
471
487
  if (t === void 0 || typeof e != "object" || !e) return e;
472
488
  try {
473
489
  Object.defineProperty(e, "__voltroTraceId", {
@@ -477,15 +493,15 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
477
493
  });
478
494
  } catch {}
479
495
  return e;
480
- }, V, Te = (e) => {
481
- V = e;
482
- }, Ee = () => V, De = (e, t, n) => typeof e == "function" ? e(t, n) : e, Oe = 0, ke = () => `mut_${++Oe}`, Ae = (e, t) => ({
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) => ({
483
499
  update: (n, r) => {
484
500
  e.update(n, r, t);
485
501
  },
486
502
  forTag: (n, r) => e.forTag(n, r, t)
487
- }), H = (e, t) => {
488
- let { runtime: r, cache: i, client: c, descriptors: l, errorBus: u } = N(e), f = l[t], p = f?.targets;
503
+ }), W = (e, t) => {
504
+ let { runtime: r, cache: i, client: c, descriptors: l, errorBus: u } = P(e), f = l[t], p = f?.targets;
489
505
  if (process.env.NODE_ENV !== "production") {
490
506
  let n = f?.kind;
491
507
  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.`);
@@ -493,12 +509,12 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
493
509
  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) => {
494
510
  let o = a?.onError !== void 0 || a?.notify?.error !== void 0, s = (e) => {
495
511
  a?.onError?.(e, n);
496
- let t = De(a?.notify?.error, e, n);
497
- t !== void 0 && V?.error(t);
512
+ let t = Te(a?.notify?.error, e, n);
513
+ t !== void 0 && H?.error(t);
498
514
  };
499
515
  h(!0), _(void 0);
500
- let l = ke();
501
- z({
516
+ let l = De();
517
+ B({
502
518
  id: l,
503
519
  apiName: e,
504
520
  tag: t,
@@ -506,9 +522,9 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
506
522
  });
507
523
  let f = b.current, m = S.current;
508
524
  if (f) try {
509
- f(Ae(i, l), n);
525
+ f(Oe(i, l), n);
510
526
  } catch (e) {
511
- if (_(e), h(!1), i.revertByMutation(l), B(l, {
527
+ if (_(e), h(!1), i.revertByMutation(l), V(l, {
512
528
  status: "error",
513
529
  error: e
514
530
  }), o) return s(e);
@@ -517,7 +533,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
517
533
  else !m && p && p.length > 0 && i.autoApply(p, n, l);
518
534
  let g;
519
535
  try {
520
- let o = P(c, t), s = d.currentSpan.pipe(d.tap((e) => d.sync(() => {
536
+ let o = F(c, t), s = d.currentSpan.pipe(d.tap((e) => d.sync(() => {
521
537
  g = e.traceId, x({
522
538
  traceId: e.traceId,
523
539
  spanId: e.spanId,
@@ -529,15 +545,15 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
529
545
  "voltro.mutationId": l,
530
546
  "rpc.tag": t
531
547
  } })), u = await r.runPromise(s);
532
- y(u), B(l, {
548
+ y(u), V(l, {
533
549
  status: "success",
534
550
  output: u
535
551
  }), i.confirmByMutation(l), a?.onSuccess?.(u, n);
536
- let f = De(a?.notify?.success, u, n);
537
- return f !== void 0 && V?.success(f), u;
552
+ let f = Te(a?.notify?.success, u, n);
553
+ return f !== void 0 && H?.success(f), u;
538
554
  } catch (e) {
539
- let n = we(e, g);
540
- if (_(n), B(l, {
555
+ let n = Ce(e, g);
556
+ if (_(n), V(l, {
541
557
  status: "error",
542
558
  error: n
543
559
  }), i.revertByMutation(l), u.emit({
@@ -574,7 +590,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
574
590
  g,
575
591
  v
576
592
  ]);
577
- }, je = (e, t) => {
593
+ }, ke = (e, t) => {
578
594
  if (t === void 0 || typeof e != "object" || !e) return e;
579
595
  try {
580
596
  Object.defineProperty(e, "__voltroTraceId", {
@@ -584,50 +600,59 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
584
600
  });
585
601
  } catch {}
586
602
  return e;
587
- }, Me = 0, Ne = () => `act_${++Me}`, U = (e, t) => {
588
- let { runtime: r, client: i, descriptors: o, errorBus: c } = N(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);
589
605
  if (process.env.NODE_ENV !== "production") {
590
606
  let n = o[t]?.kind;
591
607
  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.`);
592
608
  }
593
- let [l, u] = s(!1), [f, p] = s(void 0), [m, h] = s(void 0), g = n(async (n) => {
609
+ let [l, u] = s(!1), [f, p] = s(void 0), [m, h] = s(void 0), g = n(async (n, a) => {
610
+ let o = a?.onError !== void 0 || a?.notify?.error !== void 0;
594
611
  u(!0), p(void 0);
595
- let a = Ne();
596
- z({
597
- id: a,
612
+ let s = Me();
613
+ B({
614
+ id: s,
598
615
  apiName: e,
599
616
  tag: t,
600
617
  input: n
601
618
  });
602
- let o;
619
+ let l;
603
620
  try {
604
- let s = P(i, t), c = d.currentSpan.pipe(d.tap((e) => d.sync(() => {
605
- o = e.traceId, x({
621
+ let o = F(i, t), c = d.currentSpan.pipe(d.tap((e) => d.sync(() => {
622
+ l = e.traceId, x({
606
623
  traceId: e.traceId,
607
624
  spanId: e.spanId,
608
625
  source: "action",
609
626
  tag: t
610
627
  });
611
- })), d.catchAll(() => d.void), d.zipRight(s(n))).pipe(d.withSpan(`client.action.${t}`, { attributes: {
628
+ })), d.catchAll(() => d.void), d.zipRight(o(n))).pipe(d.withSpan(`client.action.${t}`, { attributes: {
612
629
  "voltro.api": e,
613
- "voltro.actionId": a,
630
+ "voltro.actionId": s,
614
631
  "rpc.tag": t
615
- } })), l = await r.runPromise(c);
616
- return h(l), B(a, {
632
+ } })), u = await r.runPromise(c);
633
+ h(u), V(s, {
617
634
  status: "success",
618
- output: l
619
- }), l;
635
+ output: u
636
+ }), a?.onSuccess?.(u, n);
637
+ let f = Ae(a?.notify?.success, u, n);
638
+ return f !== void 0 && U()?.success(f), u;
620
639
  } catch (e) {
621
- let n = je(e, o);
622
- throw p(n), B(a, {
640
+ let r = ke(e, l);
641
+ if (p(r), V(s, {
623
642
  status: "error",
624
- error: n
643
+ error: r
625
644
  }), c.emit({
626
645
  source: "action",
627
646
  tag: t,
628
- error: n,
629
- ...o === void 0 ? {} : { traceId: o }
630
- }), n;
647
+ error: r,
648
+ ...l === void 0 ? {} : { traceId: l }
649
+ }), o) {
650
+ a?.onError?.(r, n);
651
+ let e = Ae(a?.notify?.error, r, n);
652
+ e !== void 0 && U()?.error(e);
653
+ return;
654
+ }
655
+ throw r;
631
656
  } finally {
632
657
  u(!1);
633
658
  }
@@ -649,7 +674,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
649
674
  f,
650
675
  m
651
676
  ]);
652
- }, W = "storage.mintUploadTicket", Pe = "storage.mintPresignedUpload", Fe = "storage.finalizeUpload", Ie = "storage.beginResumableUpload", Le = "storage.beginMultipartUpload", Re = "storage.signMultipartPart", ze = "storage.completeMultipartUpload", Be = "storage.abortMultipartUpload", Ve = (e, t, n, r) => new Promise((i, a) => {
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) => {
653
678
  let o = new XMLHttpRequest();
654
679
  if (o.open("PUT", e), o.upload.onprogress = (e) => {
655
680
  e.lengthComputable && n(e.loaded / e.total);
@@ -663,7 +688,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
663
688
  return;
664
689
  }
665
690
  r.addEventListener("abort", () => o.abort(), { once: !0 }), o.send(t);
666
- }), He = (e, t, n, r, i, a) => new Promise((o, s) => {
691
+ }), Ve = (e, t, n, r, i, a) => new Promise((o, s) => {
667
692
  let c = new XMLHttpRequest();
668
693
  if (c.open("POST", e), c.setRequestHeader("content-type", t), c.upload.onprogress = (e) => {
669
694
  e.lengthComputable && r(e.loaded / e.total);
@@ -681,7 +706,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
681
706
  return;
682
707
  }
683
708
  i.addEventListener("abort", () => c.abort(), { once: !0 }), c.send(n);
684
- }), Ue = (e, t, n, r, i) => new Promise((a, o) => {
709
+ }), He = (e, t, n, r, i) => new Promise((a, o) => {
685
710
  let s = new XMLHttpRequest();
686
711
  if (s.open("PUT", e), s.setRequestHeader("content-type", t), s.upload.onprogress = (e) => {
687
712
  e.lengthComputable && r(e.loaded / e.total);
@@ -692,7 +717,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
692
717
  return;
693
718
  }
694
719
  i.addEventListener("abort", () => s.abort(), { once: !0 }), s.send(n);
695
- }), We = (e, t, n, r, i) => new Promise((a, o) => {
720
+ }), Ue = (e, t, n, r, i) => new Promise((a, o) => {
696
721
  let s = new XMLHttpRequest();
697
722
  if (s.open("POST", e), s.setRequestHeader("content-type", t), s.upload.onprogress = (e) => {
698
723
  e.lengthComputable && r(e.loaded / e.total);
@@ -708,8 +733,8 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
708
733
  return;
709
734
  }
710
735
  i.addEventListener("abort", () => s.abort(), { once: !0 }), s.send(n);
711
- }), Ge = (e, t = {}) => {
712
- 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(() => {
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(() => {
713
738
  d(0), p("idle"), h(void 0);
714
739
  }, []), v = n(() => {
715
740
  g.current?.abort();
@@ -729,16 +754,16 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
729
754
  ...e.width === void 0 ? {} : { width: e.width },
730
755
  ...e.height === void 0 ? {} : { height: e.height }
731
756
  }), g = async () => {
732
- let s = n.mintTag ?? t.mintTag ?? W, l = P(i, s), u = await r.runPromise(l({
757
+ let s = n.mintTag ?? t.mintTag ?? K, l = F(i, s), u = await r.runPromise(l({
733
758
  contentType: c,
734
759
  ...m,
735
760
  ...d ? { key: d } : {}
736
- })), f = await We(y(u.uploadUrl), c, e, o, a);
761
+ })), f = await Ue(y(u.uploadUrl), c, e, o, a);
737
762
  return h(f);
738
763
  }, _ = async () => {
739
- let s = n.presignMintTag ?? t.presignMintTag ?? Pe, l = n.finalizeTag ?? t.finalizeTag ?? Fe, u;
764
+ let s = n.presignMintTag ?? t.presignMintTag ?? Ne, l = n.finalizeTag ?? t.finalizeTag ?? Pe, u;
740
765
  try {
741
- let e = P(i, s);
766
+ let e = F(i, s);
742
767
  u = await r.runPromise(e({
743
768
  contentType: c,
744
769
  ...m
@@ -746,11 +771,11 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
746
771
  } catch {
747
772
  return null;
748
773
  }
749
- await Ue(u.uploadUrl, c, e, o, a);
750
- let d = P(i, l), f = await r.runPromise(d({ finalizeToken: u.finalizeToken }));
774
+ await He(u.uploadUrl, c, e, o, a);
775
+ let d = F(i, l), f = await r.runPromise(d({ finalizeToken: u.finalizeToken }));
751
776
  return h(f);
752
777
  }, v = async () => {
753
- let s = n.beginResumableTag ?? t.beginResumableTag ?? Ie, l = P(i, s), u = e.size, d = n.chunkSize ?? t.chunkSize, f = await r.runPromise(l({
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({
754
779
  contentType: c,
755
780
  size: u,
756
781
  ...m,
@@ -761,7 +786,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
761
786
  for (;;) {
762
787
  if (a.aborted) throw new DOMException("upload aborted", "AbortError");
763
788
  try {
764
- let e = await He(`${p}?${`token=${encodeURIComponent(f.resumableToken)}&index=${t}${s ? "&final=1" : ""}`}`, c, i, (e) => o((b + e * l) / u), a, s);
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);
765
790
  s && (x = e);
766
791
  break;
767
792
  } catch (e) {
@@ -773,9 +798,9 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
773
798
  if (!x) throw Error("resumable upload produced no final reply");
774
799
  return h(x);
775
800
  }, b = async () => {
776
- let s = n.multipartBeginTag ?? t.multipartBeginTag ?? Le, u = n.multipartSignTag ?? t.multipartSignTag ?? Re, d = n.multipartCompleteTag ?? t.multipartCompleteTag ?? ze, f = n.multipartAbortTag ?? t.multipartAbortTag ?? Be, p = e.size, h = n.chunkSize ?? t.chunkSize, g;
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;
777
802
  try {
778
- let e = P(i, s);
803
+ let e = F(i, s);
779
804
  g = await r.runPromise(e({
780
805
  contentType: c,
781
806
  size: p,
@@ -785,7 +810,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
785
810
  } catch {
786
811
  return null;
787
812
  }
788
- 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;
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;
789
814
  try {
790
815
  for (let t = 0; t < S; t++) {
791
816
  let n = t * x, i = Math.min(p, n + x), s = e.slice(n, i), c = t + 1, l = i - n, u = 0;
@@ -795,7 +820,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
795
820
  let { url: e } = await r.runPromise(_({
796
821
  multipartToken: g.multipartToken,
797
822
  partNumber: c
798
- })), t = await Ve(e, s, (e) => o((T + e * l) / p), a);
823
+ })), t = await Be(e, s, (e) => o((T + e * l) / p), a);
799
824
  w.push({
800
825
  partNumber: c,
801
826
  etag: t
@@ -869,7 +894,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
869
894
  } catch (e) {
870
895
  throw p("error"), h(e), e instanceof DOMException && e.name === "AbortError" || l.emit({
871
896
  source: "action",
872
- tag: n.mintTag ?? t.mintTag ?? W,
897
+ tag: n.mintTag ?? t.mintTag ?? K,
873
898
  error: e
874
899
  }), e;
875
900
  }
@@ -895,7 +920,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
895
920
  } catch (e) {
896
921
  throw r.abort(), p("error"), h(e), e instanceof DOMException && e.name === "AbortError" || l.emit({
897
922
  source: "action",
898
- tag: n.mintTag ?? t.mintTag ?? W,
923
+ tag: n.mintTag ?? t.mintTag ?? K,
899
924
  error: e
900
925
  }), e;
901
926
  }
@@ -940,8 +965,8 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
940
965
  w,
941
966
  T
942
967
  ]);
943
- }, G = async (e) => {
944
- let t = P(e.client, e.tag), n = d.currentSpan.pipe(d.tap((t) => d.sync(() => {
968
+ }, q = async (e) => {
969
+ let t = F(e.client, e.tag), n = d.currentSpan.pipe(d.tap((t) => d.sync(() => {
945
970
  x({
946
971
  traceId: t.traceId,
947
972
  spanId: t.spanId,
@@ -953,8 +978,8 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
953
978
  "rpc.tag": e.tag
954
979
  } }));
955
980
  return e.runtime.runPromise(n);
956
- }, Ke = (e, t) => {
957
- let { runtime: r, client: i, descriptors: o } = N(e);
981
+ }, Ge = (e, t) => {
982
+ let { runtime: r, client: i, descriptors: o } = P(e);
958
983
  if (process.env.NODE_ENV !== "production") {
959
984
  let n = o[t]?.kind;
960
985
  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.`);
@@ -962,7 +987,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
962
987
  let [c, l] = s(!1), [u, d] = s(void 0), [f, p] = s(void 0), m = n(async (n) => {
963
988
  l(!0), d(void 0);
964
989
  try {
965
- let a = await G({
990
+ let a = await q({
966
991
  apiName: e,
967
992
  runtime: r,
968
993
  client: i,
@@ -982,7 +1007,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
982
1007
  i,
983
1008
  t
984
1009
  ]), h = n(async (t) => {
985
- await G({
1010
+ await q({
986
1011
  apiName: e,
987
1012
  runtime: r,
988
1013
  client: i,
@@ -995,7 +1020,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
995
1020
  r,
996
1021
  i
997
1022
  ]), g = n(async (t) => {
998
- await G({
1023
+ await q({
999
1024
  apiName: e,
1000
1025
  runtime: r,
1001
1026
  client: i,
@@ -1007,7 +1032,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1007
1032
  e,
1008
1033
  r,
1009
1034
  i
1010
- ]), _ = n(async (t, n, a) => G({
1035
+ ]), _ = n(async (t, n, a) => q({
1011
1036
  apiName: e,
1012
1037
  runtime: r,
1013
1038
  client: i,
@@ -1022,7 +1047,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1022
1047
  e,
1023
1048
  r,
1024
1049
  i
1025
- ]), v = n(async (t, n, a, o) => G({
1050
+ ]), v = n(async (t, n, a, o) => q({
1026
1051
  apiName: e,
1027
1052
  runtime: r,
1028
1053
  client: i,
@@ -1058,11 +1083,11 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1058
1083
  u,
1059
1084
  f
1060
1085
  ]);
1061
- }, qe = (e) => {
1062
- 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) => {
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) => {
1063
1088
  o(!0), l(void 0);
1064
1089
  try {
1065
- let o = await G({
1090
+ let o = await q({
1066
1091
  apiName: e,
1067
1092
  runtime: t,
1068
1093
  client: r,
@@ -1096,11 +1121,11 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1096
1121
  c,
1097
1122
  u
1098
1123
  ]);
1099
- }, Je = (e) => {
1100
- 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) => {
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) => {
1101
1126
  o(!0), l(void 0);
1102
1127
  try {
1103
- let o = await G({
1128
+ let o = await q({
1104
1129
  apiName: e,
1105
1130
  runtime: t,
1106
1131
  client: r,
@@ -1135,78 +1160,96 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1135
1160
  c,
1136
1161
  u
1137
1162
  ]);
1138
- }, Ye = (e, t) => {
1139
- let n = F(e, "__voltro.workflow.run", t ? { id: t } : {}, { skip: t === void 0 });
1140
- return {
1163
+ }, Je = (e, t) => {
1164
+ let n = I(e, "__voltro.workflow.run", t ? { id: t } : {}, { skip: t === void 0 });
1165
+ return n.loading ? {
1166
+ ...n,
1167
+ run: void 0
1168
+ } : {
1141
1169
  ...n,
1142
- run: n.data?.[0]
1170
+ run: n.data[0]
1143
1171
  };
1144
- }, Xe = (e, t = {}, n = {}) => {
1145
- let r = F(e, "__voltro.workflow.runs", t, n);
1146
- return {
1172
+ }, Ye = (e, t = {}, n = {}) => {
1173
+ let r = I(e, "__voltro.workflow.runs", t, n);
1174
+ return r.loading ? {
1147
1175
  ...r,
1148
- runs: r.data ?? []
1176
+ runs: []
1177
+ } : {
1178
+ ...r,
1179
+ runs: r.data
1149
1180
  };
1150
- }, Ze = (e, t) => {
1151
- let n = F(e, "__voltro.workflow.run.steps", t ? { runId: t } : {}, { skip: t === void 0 });
1152
- return {
1181
+ }, Xe = (e, t) => {
1182
+ let n = I(e, "__voltro.workflow.run.steps", t ? { runId: t } : {}, { skip: t === void 0 });
1183
+ return n.loading ? {
1184
+ ...n,
1185
+ steps: []
1186
+ } : {
1153
1187
  ...n,
1154
- steps: n.data ?? []
1188
+ steps: n.data
1155
1189
  };
1156
- }, K = (e, t) => {
1157
- let n = F(e, "__voltro.workflow.run.events", t ? { runId: t } : {}, { skip: t === void 0 });
1158
- return {
1190
+ }, J = (e, t) => {
1191
+ let n = I(e, "__voltro.workflow.run.events", t ? { runId: t } : {}, { skip: t === void 0 });
1192
+ return n.loading ? {
1193
+ ...n,
1194
+ events: []
1195
+ } : {
1159
1196
  ...n,
1160
- events: n.data ?? []
1197
+ events: n.data
1161
1198
  };
1162
- }, Qe = K, $e = (e, t = {}, n = {}) => {
1163
- let r = F(e, "__voltro.workflow.domainEvents", t, n);
1164
- return {
1199
+ }, Ze = J, Qe = (e, t = {}, n = {}) => {
1200
+ let r = I(e, "__voltro.workflow.domainEvents", t, n);
1201
+ return r.loading ? {
1165
1202
  ...r,
1166
- events: r.data ?? []
1203
+ events: []
1204
+ } : {
1205
+ ...r,
1206
+ events: r.data
1167
1207
  };
1168
- }, et = (e, t) => {
1169
- let n = F(e, "__voltro.workflow.event.deliveries", t ? { eventId: t } : {}, { skip: t === void 0 });
1170
- return {
1208
+ }, $e = (e, t) => {
1209
+ let n = I(e, "__voltro.workflow.event.deliveries", t ? { eventId: t } : {}, { skip: t === void 0 });
1210
+ return n.loading ? {
1211
+ ...n,
1212
+ deliveries: []
1213
+ } : {
1171
1214
  ...n,
1172
- deliveries: n.data ?? []
1215
+ deliveries: n.data
1173
1216
  };
1174
- }, q = (e, t) => {
1217
+ }, Y = (e, t) => {
1175
1218
  let n = e.payload;
1176
1219
  if (!n || typeof n != "object") return;
1177
1220
  let r = n[t];
1178
1221
  return typeof r == "string" ? r : void 0;
1179
- }, tt = (e) => {
1222
+ }, et = (e) => {
1180
1223
  let t = e.payload;
1181
1224
  if (!t || typeof t != "object") return;
1182
1225
  let n = t.updateId;
1183
1226
  return typeof n == "string" ? n : void 0;
1184
- }, nt = (e) => {
1227
+ }, tt = (e) => {
1185
1228
  let t = /* @__PURE__ */ new Set(), n = /* @__PURE__ */ new Set();
1186
1229
  for (let r of e) if (r.eventType === "signal-received") {
1187
- let e = q(r, "signalName");
1230
+ let e = Y(r, "signalName");
1188
1231
  e && t.add(e);
1189
1232
  } else if (r.eventType === "update-completed" || r.eventType === "update-failed") {
1190
- let e = tt(r);
1233
+ let e = et(r);
1191
1234
  e && n.add(e);
1192
1235
  }
1193
1236
  for (let r = e.length - 1; r >= 0; --r) {
1194
1237
  let i = e[r];
1195
1238
  if (i.eventType === "signal-awaited") {
1196
- let e = q(i, "signalName");
1239
+ let e = Y(i, "signalName");
1197
1240
  if (e && !t.has(e)) return {
1198
1241
  name: e,
1199
1242
  kind: "signal"
1200
1243
  };
1201
1244
  } else if (i.eventType === "update-requested") {
1202
- let e = tt(i), t = q(i, "updateName");
1245
+ let e = et(i), t = Y(i, "updateName");
1203
1246
  if (t && (!e || !n.has(e))) return {
1204
1247
  name: t,
1205
1248
  kind: "update"
1206
1249
  };
1207
1250
  }
1208
1251
  }
1209
- }, rt = (e) => e.find((e) => e.status === "running") || (e.length > 0 ? e[e.length - 1] : void 0), it = (e, t) => {
1252
+ }, nt = (e) => e.find((e) => e.status === "running") || (e.length > 0 ? e[e.length - 1] : void 0), rt = (e, t) => {
1210
1253
  if (!e || e.status !== "failed") return;
1211
1254
  let n = t.find((e) => e.status === "failed");
1212
1255
  return {
@@ -1214,8 +1257,8 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1214
1257
  message: e.errorMessage,
1215
1258
  step: n?.stepName
1216
1259
  };
1217
- }, at = (e, t) => {
1218
- let r = Ye(e, t), i = Ze(e, t), o = K(e, t), s = Ke(e, r.run?.tag ?? ""), c = r.run, l = i.steps, u = o.events, d = n(async () => {
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 () => {
1219
1262
  if (!c) throw Error("useWorkflowRunState: no run loaded — cannot cancel");
1220
1263
  await s.cancel({
1221
1264
  workflowName: c.tag,
@@ -1239,9 +1282,9 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1239
1282
  status: c?.status,
1240
1283
  steps: l,
1241
1284
  events: u,
1242
- currentStep: rt(l),
1243
- waitingFor: c?.status === "suspended" ? nt(u) : void 0,
1244
- error: it(c, l),
1285
+ currentStep: nt(l),
1286
+ waitingFor: c?.status === "suspended" ? tt(u) : void 0,
1287
+ error: rt(c, l),
1245
1288
  traceId: c?.traceId,
1246
1289
  loading: r.data === void 0,
1247
1290
  cancel: d,
@@ -1258,8 +1301,8 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1258
1301
  p,
1259
1302
  m
1260
1303
  ]);
1261
- }, ot = (e, t) => {
1262
- let { runtime: r, client: i } = N(e), [a, c] = s([]), [u, f] = s("idle"), [m, h] = s(void 0), _ = o(null), v = n(() => {
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(() => {
1263
1306
  let e = _.current;
1264
1307
  e && (_.current = null, r.runFork(p.interrupt(e)), f((e) => e === "streaming" ? "idle" : e));
1265
1308
  }, [r]);
@@ -1270,7 +1313,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1270
1313
  start: n((e = {}) => {
1271
1314
  let n = _.current;
1272
1315
  n && r.runFork(p.interrupt(n)), c([]), h(void 0), f("streaming");
1273
- let a = P(i, t)(e), o = g.runForEach(a, (e) => d.sync(() => c((t) => [...t, e]))).pipe(d.matchCause({
1316
+ let a = F(i, t)(e), o = g.runForEach(a, (e) => d.sync(() => c((t) => [...t, e]))).pipe(d.matchCause({
1274
1317
  onSuccess: () => {
1275
1318
  f("done");
1276
1319
  },
@@ -1286,7 +1329,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1286
1329
  ]),
1287
1330
  cancel: v
1288
1331
  };
1289
- }, st = (e, t, n, r) => {
1332
+ }, ot = (e, t, n, r) => {
1290
1333
  let i = 0, a = !1, o = (e) => d.sync(() => {
1291
1334
  e.seq <= i || (i = e.seq, n.onEvent(e.event), r.isTerminal(e.event) && (a = !0));
1292
1335
  }), s = (e, t, a) => {
@@ -1309,15 +1352,15 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1309
1352
  }));
1310
1353
  });
1311
1354
  return c(0);
1312
- }, ct = (e) => {
1355
+ }, st = (e) => {
1313
1356
  let t = e?._tag;
1314
1357
  return t === "done" || t === "error";
1315
- }, lt = (e, t, r = {}) => {
1316
- 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 = {
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 = {
1317
1360
  maxReconnects: r.maxReconnects ?? 6,
1318
1361
  backoffMs: r.backoffMs ?? 400,
1319
1362
  maxBackoffMs: r.maxBackoffMs ?? 8e3,
1320
- isTerminal: r.isTerminal ?? ct
1363
+ isTerminal: r.isTerminal ?? st
1321
1364
  }, y = n(() => {
1322
1365
  let e = _.current;
1323
1366
  e && (_.current = null, i.runFork(p.interrupt(e)), d((e) => e === "streaming" || e === "reconnecting" ? "idle" : e));
@@ -1330,13 +1373,13 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1330
1373
  start: n((e = {}) => {
1331
1374
  let n = _.current;
1332
1375
  n && i.runFork(p.interrupt(n)), l([]), g(void 0), m(0), d("streaming");
1333
- let r = P(a, t), o = {
1376
+ let r = F(a, t), o = {
1334
1377
  onEvent: (e) => l((t) => [...t, e]),
1335
1378
  onStatus: d,
1336
1379
  onReconnect: () => m((e) => e + 1),
1337
1380
  onError: g
1338
1381
  };
1339
- _.current = i.runFork(st(r, e, o, v));
1382
+ _.current = i.runFork(ot(r, e, o, v));
1340
1383
  }, [
1341
1384
  i,
1342
1385
  a,
@@ -1348,13 +1391,13 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1348
1391
  ]),
1349
1392
  cancel: y
1350
1393
  };
1351
- }, ut = (e, t) => e.order - t.order || (e.stepOrder ?? 0) - (t.stepOrder ?? 0), dt = (e) => {
1394
+ }, lt = (e, t) => e.order - t.order || (e.stepOrder ?? 0) - (t.stepOrder ?? 0), ut = (e) => {
1352
1395
  for (let t = e.length - 1; t >= 0; --t) {
1353
1396
  let n = e[t];
1354
1397
  if (n.role === "user" && n.content) return n.content;
1355
1398
  }
1356
- }, ft = (e, t, r) => {
1357
- let { threadId: i } = r, o = F(e, `${t}.messages`, { threadId: i }), s = U(e, `${t}.send`), c = a(() => [...o.data ?? []].sort(ut), [o.data]), l = n((e, t = {}) => s.run({
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({
1358
1401
  threadId: i,
1359
1402
  order: o.data?.length ?? 0,
1360
1403
  prompt: e,
@@ -1364,7 +1407,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1364
1407
  i,
1365
1408
  o.data
1366
1409
  ]), u = n(() => {
1367
- let e = dt(c);
1410
+ let e = ut(c);
1368
1411
  return e === void 0 ? void 0 : l(e);
1369
1412
  }, [c, l]);
1370
1413
  return a(() => ({
@@ -1384,8 +1427,8 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1384
1427
  l,
1385
1428
  u
1386
1429
  ]);
1387
- }, pt = (e, t) => {
1388
- let { events: r, status: c, error: l, start: u, cancel: d } = ot(e, t), [f, p] = s([]), m = o(null), h = a(() => r.filter((e) => e._tag === "token").map((e) => e.text ?? "").join(""), [r]);
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]);
1389
1432
  return i(() => {
1390
1433
  if (c !== "done" || m.current === null) return;
1391
1434
  let e = m.current;
@@ -1411,8 +1454,8 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1411
1454
  }, [u]),
1412
1455
  cancel: d
1413
1456
  };
1414
- }, mt = (e, t) => {
1415
- let r = U(e, t), [i, o] = s(void 0), c = n(async (e) => {
1457
+ }, pt = (e, t) => {
1458
+ let r = G(e, t), [i, o] = s(void 0), c = n(async (e) => {
1416
1459
  let t = await r.run({ question: e });
1417
1460
  return o(t), t;
1418
1461
  }, [r]), l = n(() => o(void 0), []);
@@ -1429,43 +1472,43 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1429
1472
  r.error,
1430
1473
  l
1431
1474
  ]);
1432
- }, ht = (e) => {
1433
- let { cache: t, runtime: r } = N(e);
1475
+ }, mt = (e) => {
1476
+ let { cache: t, runtime: r } = P(e);
1434
1477
  return n(() => {
1435
1478
  t.refreshAll(r);
1436
1479
  }, [t, r]);
1437
- }, J = /* @__PURE__ */ new Set(), gt = (e) => {
1438
- for (let t of J) try {
1480
+ }, X = /* @__PURE__ */ new Set(), ht = (e) => {
1481
+ for (let t of X) try {
1439
1482
  t(e);
1440
1483
  } catch {}
1441
- }, _t = (e) => (J.add(e), () => {
1442
- J.delete(e);
1443
- }), vt = (e, t) => {
1444
- gt({
1484
+ }, gt = (e) => (X.add(e), () => {
1485
+ X.delete(e);
1486
+ }), _t = (e, t) => {
1487
+ ht({
1445
1488
  error: e,
1446
1489
  source: "manual",
1447
1490
  ...t ? { context: t } : {}
1448
1491
  });
1449
- }, yt = (e, t) => {
1450
- let { errorBus: n } = N(e);
1492
+ }, vt = (e, t) => {
1493
+ let { errorBus: n } = P(e);
1451
1494
  i(() => n.on(t), [n, t]);
1452
- }, bt = "#/$defs/", xt = (e) => e.replace(/[_-]+/g, " ").replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/\s+/g, " ").trim().replace(/^./, (e) => e.toUpperCase()), Y = (e, 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) => {
1453
1496
  let n = e;
1454
1497
  for (let e = 0; e < 8; e += 1) {
1455
1498
  let e = n.$ref;
1456
- if (typeof e != "string" || !e.startsWith(bt)) return n;
1499
+ if (typeof e != "string" || !e.startsWith(yt)) return n;
1457
1500
  let r = t[e.slice(8)];
1458
1501
  if (!r || typeof r != "object") return n;
1459
1502
  n = r;
1460
1503
  }
1461
1504
  return n;
1462
- }, St = (e) => {
1505
+ }, xt = (e) => {
1463
1506
  if (!e || typeof e != "object") return !1;
1464
1507
  let t = e;
1465
1508
  if (t.type === "null" || t.const === null) return !0;
1466
1509
  let n = t.enum;
1467
1510
  return Array.isArray(n) && n.length === 1 && n[0] === null;
1468
- }, Ct = (e, t) => {
1511
+ }, St = (e, t) => {
1469
1512
  let n = e.type;
1470
1513
  if (Array.isArray(n) && n.includes("null")) {
1471
1514
  let t = n.filter((e) => e !== "null");
@@ -1480,9 +1523,9 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1480
1523
  for (let n of ["anyOf", "oneOf"]) {
1481
1524
  let r = e[n];
1482
1525
  if (!Array.isArray(r)) continue;
1483
- let i = r.filter((e) => !St(e));
1526
+ let i = r.filter((e) => !xt(e));
1484
1527
  if (i.length !== r.length) return i.length === 1 ? {
1485
- node: Y(i[0], t),
1528
+ node: Z(i[0], t),
1486
1529
  nullable: !0
1487
1530
  } : {
1488
1531
  node: {
@@ -1496,14 +1539,14 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1496
1539
  node: e,
1497
1540
  nullable: !1
1498
1541
  };
1499
- }, wt = (e) => e.map((e) => ({
1542
+ }, Ct = (e) => e.map((e) => ({
1500
1543
  value: String(e),
1501
- label: xt(String(e))
1502
- })), Tt = (e) => {
1544
+ label: bt(String(e))
1545
+ })), wt = (e) => {
1503
1546
  let t = e.enum;
1504
1547
  if (Array.isArray(t) && t.length > 0) return {
1505
1548
  widget: "select",
1506
- options: wt(t)
1549
+ options: Ct(t)
1507
1550
  };
1508
1551
  let n = e.type, r = Array.isArray(n) ? n.find((e) => e !== "null") : n, i = e.format;
1509
1552
  switch (r) {
@@ -1514,38 +1557,38 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1514
1557
  case "array": return { widget: "multi-select" };
1515
1558
  default: return { widget: "custom" };
1516
1559
  }
1517
- }, Et = (e, t, n) => Object.entries(e).map(([e, r]) => {
1518
- let { node: i, nullable: a } = Ct(Y(r, n), n), o = Y(i, n), { widget: s, options: c } = Tt(o);
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);
1519
1562
  return {
1520
1563
  name: e,
1521
- label: xt(e),
1564
+ label: bt(e),
1522
1565
  widget: s,
1523
1566
  required: t.has(e),
1524
1567
  nullable: a,
1525
1568
  ...c ? { options: c } : {},
1526
1569
  jsonSchema: o
1527
1570
  };
1528
- }), Dt = (e) => {
1571
+ }), Et = (e) => {
1529
1572
  try {
1530
1573
  return m.make(e);
1531
1574
  } catch {
1532
1575
  return;
1533
1576
  }
1534
- }, X = (e) => {
1535
- let t = Dt(e);
1577
+ }, Q = (e) => {
1578
+ let t = Et(e);
1536
1579
  if (t === void 0) return [];
1537
- let n = t.$defs ?? {}, r = Y(t, n), i = r.properties;
1538
- return i ? Et(i, new Set(Array.isArray(r.required) ? r.required : []), n) : [];
1539
- }, Z = (e) => {
1540
- let t = Dt(e);
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);
1541
1584
  if (t === void 0) return [];
1542
- let n = t.$defs ?? {}, r = Y(t, n);
1585
+ let n = t.$defs ?? {}, r = Z(t, n);
1543
1586
  if (r.type !== "array") return [];
1544
1587
  let i = r.items;
1545
1588
  if (!i || typeof i != "object") return [];
1546
- let a = Y(i, n), o = a.properties;
1547
- return o ? Et(o, new Set(Array.isArray(a.required) ? a.required : []), n) : [];
1548
- }, Q = (e, t) => {
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) => {
1549
1592
  let n = h.decodeUnknownEither(e, { errors: "all" })(t);
1550
1593
  if (n._tag === "Right") return {
1551
1594
  valid: !0,
@@ -1560,10 +1603,10 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1560
1603
  valid: !1,
1561
1604
  errors: r
1562
1605
  };
1563
- }, Ot = (e, t, r) => {
1564
- let i = N(e), c = H(e, t), l = r.schema ?? i.descriptors[t]?.input;
1606
+ }, kt = (e, t, r) => {
1607
+ let i = P(e), c = W(e, t), l = r.schema ?? i.descriptors[t]?.input;
1565
1608
  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.`);
1566
- let u = a(() => l ? X(l) : [], [l]), d = o(r.defaults ?? {}), [f, p] = s(d.current), [m, h] = s({}), g = n((e, t) => {
1609
+ let u = a(() => l ? Q(l) : [], [l]), d = o(r.defaults ?? {}), [f, p] = s(d.current), [m, h] = s({}), g = n((e, t) => {
1567
1610
  p((n) => ({
1568
1611
  ...n,
1569
1612
  [e]: t
@@ -1577,7 +1620,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1577
1620
  p(d.current), h({});
1578
1621
  }, []), y = n(async () => {
1579
1622
  if (l !== void 0) {
1580
- let e = Q(l, f);
1623
+ let e = Ot(l, f);
1581
1624
  if (h(e.errors), !e.valid) return;
1582
1625
  }
1583
1626
  return c.mutate(f);
@@ -1590,7 +1633,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1590
1633
  fields: u,
1591
1634
  values: f,
1592
1635
  errors: m,
1593
- isValid: a(() => l === void 0 || Q(l, f).valid, [l, f]),
1636
+ isValid: a(() => l === void 0 || Ot(l, f).valid, [l, f]),
1594
1637
  pending: c.pending,
1595
1638
  submitError: c.error,
1596
1639
  data: c.data,
@@ -1599,13 +1642,13 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1599
1642
  reset: v,
1600
1643
  submit: y
1601
1644
  };
1602
- }, kt = (e, t, n) => e.map((e) => {
1645
+ }, At = (e, t, n) => e.map((e) => {
1603
1646
  let r = String(e[n] ?? ""), i = e[t];
1604
1647
  return {
1605
1648
  value: r,
1606
1649
  label: i == null ? r : String(i)
1607
1650
  };
1608
- }), At = (e, t, r = {}) => {
1651
+ }), jt = (e, t, r = {}) => {
1609
1652
  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);
1610
1653
  i(() => {
1611
1654
  if (d === p) return;
@@ -1616,7 +1659,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1616
1659
  p,
1617
1660
  o
1618
1661
  ]);
1619
- let h = r.skipUntilTerm === !0 && p.trim() === "", g = F(e, t, a(() => u(p), [u, p]), { skip: h }), _ = a(() => kt(g.data ?? [], c, l), [
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), [
1620
1663
  g.data,
1621
1664
  c,
1622
1665
  l
@@ -1627,13 +1670,13 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1627
1670
  term: d,
1628
1671
  search: v
1629
1672
  };
1630
- }, jt = (e, t) => e === t ? 0 : e == null ? 1 : t == null || e < t ? -1 : 1, Mt = (e, t, r = {}) => {
1631
- let i = N(e), [o, c] = s(r.pageSize), l = F(e, t, a(() => o === void 0 ? r.input ?? {} : {
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 ?? {} : {
1632
1675
  ...r.input,
1633
1676
  limit: o
1634
1677
  }, [r.input, o])), u = i.descriptors[t]?.output, d = n(() => {
1635
1678
  r.pageSize !== void 0 && c((e) => (e ?? r.pageSize) + r.pageSize);
1636
- }, [r.pageSize]), f = a(() => r.columns ?? (u === void 0 ? [] : Z(u)), [r.columns, u]), [p, m] = s(r.initialSort), h = n((e) => {
1679
+ }, [r.pageSize]), f = a(() => r.columns ?? (u === void 0 ? [] : Dt(u)), [r.columns, u]), [p, m] = s(r.initialSort), h = n((e) => {
1637
1680
  m((t) => t?.column === e ? {
1638
1681
  column: e,
1639
1682
  direction: t.direction === "asc" ? "desc" : "asc"
@@ -1648,7 +1691,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1648
1691
  let e = l.data ?? [];
1649
1692
  if (p === void 0) return e;
1650
1693
  let t = p.direction === "asc" ? 1 : -1;
1651
- return [...e].sort((e, n) => jt(e[p.column], n[p.column]) * t);
1694
+ return [...e].sort((e, n) => Mt(e[p.column], n[p.column]) * t);
1652
1695
  }, [l.data, p]),
1653
1696
  loading: l.data === void 0,
1654
1697
  error: l.error,
@@ -1657,14 +1700,14 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1657
1700
  loadMore: d,
1658
1701
  hasMore: o !== void 0 && (l.data?.length ?? 0) >= o
1659
1702
  };
1660
- }, Nt = (e, t, n, r) => {
1703
+ }, Pt = (e, t, n, r) => {
1661
1704
  let i = e.replace(/\/$/, ""), a = new URLSearchParams({
1662
1705
  table: t,
1663
1706
  id: n
1664
1707
  });
1665
1708
  return r !== void 0 && a.set("column", r), `${i}/_voltro/inspect/provenance?${a.toString()}`;
1666
- }, Pt = Nt, Ft = (e, t, n, r) => {
1667
- let { inspectBaseUrl: a } = N(e), [o, c] = s({
1709
+ }, Ft = Pt, It = (e, t, n, r) => {
1710
+ let { inspectBaseUrl: a } = P(e), [o, c] = s({
1668
1711
  data: void 0,
1669
1712
  loading: !0,
1670
1713
  error: void 0
@@ -1676,7 +1719,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1676
1719
  loading: !0,
1677
1720
  error: void 0
1678
1721
  });
1679
- let i = Nt(a ?? "", t, n, r);
1722
+ let i = Pt(a ?? "", t, n, r);
1680
1723
  return fetch(i).then(async (e) => {
1681
1724
  if (!e.ok) throw Error(`provenance fetch failed: HTTP ${e.status}`);
1682
1725
  return await e.json();
@@ -1702,8 +1745,8 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1702
1745
  n,
1703
1746
  r
1704
1747
  ]), o;
1705
- }, It = (e) => `${e.replace(/\/$/, "")}/_voltro/inspect/manifest`, Lt = (e) => {
1706
- let { inspectBaseUrl: t } = N(e), [n, r] = s({
1748
+ }, Lt = (e) => `${e.replace(/\/$/, "")}/_voltro/inspect/manifest`, Rt = (e) => {
1749
+ let { inspectBaseUrl: t } = P(e), [n, r] = s({
1707
1750
  manifest: void 0,
1708
1751
  loading: !0,
1709
1752
  error: void 0
@@ -1714,7 +1757,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1714
1757
  manifest: void 0,
1715
1758
  loading: !0,
1716
1759
  error: void 0
1717
- }), fetch(It(t ?? "")).then(async (e) => {
1760
+ }), fetch(Lt(t ?? "")).then(async (e) => {
1718
1761
  if (!e.ok) throw Error(`manifest fetch failed: HTTP ${e.status}`);
1719
1762
  return await e.json();
1720
1763
  }).then((t) => {
@@ -1733,8 +1776,8 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1733
1776
  e = !0;
1734
1777
  };
1735
1778
  }, [e, t]), n;
1736
- }, Rt = (e, t) => Array.isArray(e) ? e.includes(t) : e === t, zt = (e, t, n) => e.targets?.some((e) => e.table === t && e.op === n) ?? !1, Bt = (e) => e.tables.filter((e) => !e.framework).map((t) => {
1737
- let n = e.procedures.find((e) => e.kind === "query" && Rt(e.source, t.name)), r = e.procedures.find((e) => e.kind === "mutation" && zt(e, t.name, "insert")), i = e.procedures.find((e) => e.kind === "mutation" && zt(e, t.name, "update")), a = e.procedures.find((e) => e.kind === "mutation" && zt(e, t.name, "delete"));
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"));
1738
1781
  return {
1739
1782
  table: t.name,
1740
1783
  columns: t.columns,
@@ -1747,7 +1790,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1747
1790
  writeScope: `${t.name}:write`,
1748
1791
  deleteScope: `${t.name}:delete`
1749
1792
  };
1750
- }), Vt = (e) => {
1793
+ }), Ht = (e) => {
1751
1794
  let [t, r] = s([]), [i, o] = s([]), c = n((e) => {
1752
1795
  r((t) => [...t, e]), o([]);
1753
1796
  }, []), l = n(async () => {
@@ -1775,8 +1818,8 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1775
1818
  l,
1776
1819
  u
1777
1820
  ]);
1778
- }, Ht = "__voltro.undo.log", Ut = "__voltro.undo.apply", Wt = "__voltro.undo.redo", Gt = (e, t) => {
1779
- let r = t?.limit, { data: i } = F(e, Ht, r === void 0 ? {} : { limit: r }), a = H(e, Ut), o = H(e, Wt), s = i ?? [], c = s.find((e) => !e.undone && !e.crossesAction), l = s.find((e) => e.undone), u = n(async (e) => {
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) => {
1780
1823
  await a.mutate({ invocationId: e });
1781
1824
  }, [a]), d = n(async (e) => {
1782
1825
  await o.mutate({ invocationId: e });
@@ -1795,13 +1838,13 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1795
1838
  undoLast: f,
1796
1839
  redoLast: p
1797
1840
  };
1798
- }, Kt = (e, t) => ({
1841
+ }, qt = (e, t) => ({
1799
1842
  name: e,
1800
1843
  map: t
1801
- }), $ = (e, t) => e === void 0 ? null : typeof e == "string" ? { event: e } : e(t), qt = /* @__PURE__ */ new Set(["onMount", "onUnmount"]), Jt = (e, t, n) => {
1844
+ }), $ = (e, t) => e === void 0 ? null : typeof e == "string" ? { event: e } : e(t), Jt = /* @__PURE__ */ new Set(["onMount", "onUnmount"]), Yt = (e, t, n) => {
1802
1845
  let r = { ...t };
1803
1846
  for (let [i, a] of Object.entries(e.map)) {
1804
- if (qt.has(i) || a === void 0) continue;
1847
+ if (Jt.has(i) || a === void 0) continue;
1805
1848
  let e = t[i];
1806
1849
  r[i] = (...r) => {
1807
1850
  let i = $(a, t);
@@ -1809,7 +1852,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1809
1852
  };
1810
1853
  }
1811
1854
  return r;
1812
- }, Yt = (e, t, n) => {
1855
+ }, Xt = (e, t, n) => {
1813
1856
  let r = o({
1814
1857
  spec: e,
1815
1858
  props: t,
@@ -1825,45 +1868,45 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
1825
1868
  let e = r.current, t = $(e.spec.map.onUnmount, e.props);
1826
1869
  t !== null && e.sink(t);
1827
1870
  };
1828
- }, []), a(() => Jt(e, t, n), [
1871
+ }, []), a(() => Yt(e, t, n), [
1829
1872
  e,
1830
1873
  t,
1831
1874
  n
1832
1875
  ]);
1833
- }, Xt = (e, t) => {
1834
- let n = N(e).descriptors[t]?.input;
1835
- return a(() => n === void 0 ? [] : X(n), [n]);
1836
1876
  }, Zt = (e, t) => {
1837
- let n = N(e).descriptors[t]?.output;
1838
- return a(() => n === void 0 ? [] : Z(n), [n]);
1877
+ let n = P(e).descriptors[t]?.input;
1878
+ return a(() => n === void 0 ? [] : Q(n), [n]);
1839
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) => {
1840
1883
  if (e === t) return !0;
1841
1884
  if (e.length !== t.length) return !1;
1842
1885
  for (let n = 0; n < e.length; n += 1) if (!Object.is(e[n], t[n])) return !1;
1843
1886
  return !0;
1844
- }, $t = (e) => Object.keys(e).sort().map((t) => e[t]), en = (e, t) => {
1845
- let n = o(null), r = $t(e);
1846
- return (n.current === null || !Qt(n.current.key, r)) && (n.current = {
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 = {
1847
1890
  key: r,
1848
1891
  value: t(e)
1849
1892
  }), n.current.value;
1850
- }, tn = "admin:full", nn = (e, t) => e.includes("admin:full") ? !0 : (typeof t == "string" ? [t] : t).every((t) => e.includes(t)), rn = (e, t) => t.length === 0 || e.includes("admin:full") ? !0 : t.some((t) => e.includes(t)), an = e({ scopes: [] });
1851
- function on(e) {
1852
- return t(an.Provider, { value: { scopes: e.scopes } }, e.children);
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);
1853
1896
  }
1854
- var sn = () => r(an), cn = (e) => nn(sn().scopes, e), ln = (e) => rn(sn().scopes, e), un = (e, t, n, r = {}) => {
1855
- let i = F(e, t, { ...n }, r);
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);
1856
1899
  return a(() => ({
1857
1900
  allowed: i.data?.allowed === !0,
1858
1901
  pending: i.data === void 0
1859
1902
  }), [i.data]);
1860
- }, dn = (e, t, n, r = {}) => {
1861
- let i = F(e, t, { ...n }, r);
1903
+ }, fn = (e, t, n, r = {}) => {
1904
+ let i = I(e, t, { ...n }, r);
1862
1905
  return a(() => ({
1863
1906
  allowedIds: new Set(i.data?.allowedIds ?? []),
1864
1907
  pending: i.data === void 0
1865
1908
  }), [i.data]);
1866
- }, fn = (e) => {
1909
+ }, pn = (e) => {
1867
1910
  switch (e) {
1868
1911
  case "select":
1869
1912
  case "radio":
@@ -1879,25 +1922,25 @@ var sn = () => r(an), cn = (e) => nn(sn().scopes, e), ln = (e) => rn(sn().scopes
1879
1922
  case "switch": return "boolean";
1880
1923
  default: return null;
1881
1924
  }
1882
- }, pn = (e) => X(e).map((e) => {
1883
- let t = fn(e.widget);
1925
+ }, mn = (e) => Q(e).map((e) => {
1926
+ let t = pn(e.widget);
1884
1927
  return t === null ? null : {
1885
1928
  name: e.name,
1886
1929
  label: e.label,
1887
1930
  kind: t,
1888
1931
  ...e.options ? { options: e.options } : {}
1889
1932
  };
1890
- }).filter((e) => e !== null), mn = (e) => {
1933
+ }).filter((e) => e !== null), hn = (e) => {
1891
1934
  let t = {};
1892
1935
  for (let [n, r] of Object.entries(e)) r === void 0 || r === "" || Array.isArray(r) && r.length === 0 || (t[n] = r);
1893
1936
  return t;
1894
- }, hn = (e, t, r = {}) => {
1895
- let i = N(e).descriptors[t]?.input, o = a(() => i === void 0 ? [] : pn(i), [i]), [c, l] = s(r.initial ?? {}), u = n((e, t) => {
1896
- l((n) => mn({
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({
1897
1940
  ...n,
1898
1941
  [e]: t
1899
1942
  }));
1900
- }, []), d = n(() => l({}), []), f = F(e, t, a(() => mn(c), [c]));
1943
+ }, []), d = n(() => l({}), []), f = I(e, t, a(() => hn(c), [c]));
1901
1944
  return {
1902
1945
  filters: o,
1903
1946
  values: c,
@@ -1908,20 +1951,20 @@ var sn = () => r(an), cn = (e) => nn(sn().scopes, e), ln = (e) => rn(sn().scopes
1908
1951
  loading: f.data === void 0,
1909
1952
  error: f.error
1910
1953
  };
1911
- }, gn = (e, t, n = {}) => {
1912
- let r = F(e, t, n), i = r.data;
1954
+ }, _n = (e, t, n = {}) => {
1955
+ let r = I(e, t, n), i = r.data;
1913
1956
  return {
1914
1957
  record: Array.isArray(i) ? i[0] : i,
1915
1958
  loading: i === void 0,
1916
1959
  error: r.error
1917
1960
  };
1918
- }, _n = (e, t = 300) => {
1961
+ }, vn = (e, t = 300) => {
1919
1962
  let [n, r] = s(e);
1920
1963
  return i(() => {
1921
1964
  let n = setTimeout(() => r(e), t);
1922
1965
  return () => clearTimeout(n);
1923
1966
  }, [e, t]), n;
1924
- }, vn = (e) => {
1967
+ }, yn = (e) => {
1925
1968
  let { value: t, debouncedValue: n, data: r, interpret: i, skipEmpty: a = !0 } = e;
1926
1969
  if (a && t.trim() === "") return {
1927
1970
  status: "idle",
@@ -1939,19 +1982,19 @@ var sn = () => r(an), cn = (e) => nn(sn().scopes, e), ln = (e) => rn(sn().scopes
1939
1982
  valid: o.valid,
1940
1983
  message: o.message
1941
1984
  };
1942
- }, yn = (e, t, n, r) => {
1943
- let { input: i, interpret: o, debounceMs: s = 300, skipEmpty: c = !0 } = r, l = _n(n, s), u = c && l.trim() === "", d = F(e, t, a(() => i ? i(l) : { value: l }, [i, l]), { skip: u });
1944
- return vn({
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({
1945
1988
  value: n,
1946
1989
  debouncedValue: l,
1947
1990
  data: u ? null : d.data,
1948
1991
  interpret: o,
1949
1992
  skipEmpty: c
1950
1993
  });
1951
- }, bn = (e, t) => ({
1994
+ }, xn = (e, t) => ({
1952
1995
  name: e,
1953
1996
  payload: t
1954
- }), xn = (e, t) => {
1997
+ }), Sn = (e, t) => {
1955
1998
  let n = h.decodeUnknownEither(e.payload, { errors: "all" })(t);
1956
1999
  if (n._tag === "Right") return {
1957
2000
  valid: !0,
@@ -1963,15 +2006,15 @@ var sn = () => r(an), cn = (e) => nn(sn().scopes, e), ln = (e) => rn(sn().scopes
1963
2006
  valid: !1,
1964
2007
  errors: r
1965
2008
  };
1966
- }, Sn = (e) => {
2009
+ }, Cn = (e) => {
1967
2010
  let t = new Map(e.map((e) => [e.name, e]));
1968
2011
  return {
1969
2012
  names: [...t.keys()].sort(),
1970
2013
  get: (e) => t.get(e),
1971
2014
  events: e
1972
2015
  };
1973
- }, Cn = (e, t) => {
1974
- let n = Sn(e);
2016
+ }, wn = (e, t) => {
2017
+ let n = Cn(e);
1975
2018
  return {
1976
2019
  track: (e, r) => {
1977
2020
  let i = n.get(e);
@@ -1980,7 +2023,7 @@ var sn = () => r(an), cn = (e) => nn(sn().scopes, e), ln = (e) => rn(sn().scopes
1980
2023
  return;
1981
2024
  }
1982
2025
  if (process.env.NODE_ENV !== "production") {
1983
- let t = xn(i, r);
2026
+ let t = Sn(i, r);
1984
2027
  t.valid || console.error(`[@voltro/client] analytics.track('${e}'): payload failed its schema`, t.errors);
1985
2028
  }
1986
2029
  t({
@@ -1991,42 +2034,42 @@ var sn = () => r(an), cn = (e) => nn(sn().scopes, e), ln = (e) => rn(sn().scopes
1991
2034
  names: n.names,
1992
2035
  catalog: n
1993
2036
  };
1994
- }, wn = (e, t) => {
1995
- let r = U(e, t);
2037
+ }, Tn = (e, t) => {
2038
+ let r = G(e, t);
1996
2039
  return {
1997
2040
  preview: n((e) => r.run(e), [r]),
1998
2041
  diff: r.lastResult,
1999
2042
  pending: r.pending,
2000
2043
  error: r.error
2001
2044
  };
2002
- }, Tn = (e, t, n, r) => [...e, {
2045
+ }, En = (e, t, n, r) => [...e, {
2003
2046
  id: t,
2004
2047
  tag: n,
2005
2048
  input: r,
2006
2049
  status: "pending",
2007
2050
  attempts: 0
2008
- }], En = (e, t, n) => e.map((e) => e.id === t ? {
2051
+ }], Dn = (e, t, n) => e.map((e) => e.id === t ? {
2009
2052
  ...e,
2010
2053
  ...n
2011
- } : e), Dn = (e, t) => En(e, t, { status: "sent" }), On = (e, t, n) => e.map((e) => e.id === t ? {
2054
+ } : e), On = (e, t) => Dn(e, t, { status: "sent" }), kn = (e, t, n) => e.map((e) => e.id === t ? {
2012
2055
  ...e,
2013
2056
  status: "failed",
2014
2057
  error: n,
2015
2058
  attempts: e.attempts + 1
2016
- } : e), kn = (e, t, n) => En(e, t, {
2059
+ } : e), An = (e, t, n) => Dn(e, t, {
2017
2060
  status: "conflict",
2018
2061
  error: n
2019
- }), An = (e) => e.filter((e) => e.status !== "sent"), jn = (e) => {
2062
+ }), jn = (e) => e.filter((e) => e.status !== "sent"), Mn = (e) => {
2020
2063
  let t = [];
2021
2064
  for (let n of e) {
2022
2065
  if (n.status === "conflict") break;
2023
2066
  (n.status === "pending" || n.status === "failed") && t.push(n);
2024
2067
  }
2025
2068
  return t;
2026
- }, Mn = (e) => {
2069
+ }, Nn = (e) => {
2027
2070
  let t = e;
2028
2071
  return t?.conflict === !0 || t?._tag === "UndoBoundaryError" && t?.boundary === "conflict";
2029
- }, Nn = (e) => {
2072
+ }, Pn = (e) => {
2030
2073
  let [t, n] = s(e ?? (typeof navigator < "u" ? navigator.onLine : !0));
2031
2074
  return i(() => {
2032
2075
  if (e !== void 0) {
@@ -2039,21 +2082,21 @@ var sn = () => r(an), cn = (e) => nn(sn().scopes, e), ln = (e) => rn(sn().scopes
2039
2082
  window.removeEventListener("online", t), window.removeEventListener("offline", r);
2040
2083
  };
2041
2084
  }, [e]), t;
2042
- }, Pn = (e) => {
2043
- let { send: t, isConflict: r = Mn, idFor: a } = e, [c, l] = s([]), u = Nn(e.online), d = o(c);
2085
+ }, Fn = (e) => {
2086
+ let { send: t, isConflict: r = Nn, idFor: a } = e, [c, l] = s([]), u = Pn(e.online), d = o(c);
2044
2087
  d.current = c;
2045
2088
  let f = o(0), p = n((e, t) => {
2046
2089
  let n = a?.() ?? `obx_${f.current++}_${e}`;
2047
- l((r) => Tn(r, n, e, t));
2090
+ l((r) => En(r, n, e, t));
2048
2091
  }, [a]), m = n(async () => {
2049
- for (let e of jn(d.current)) try {
2050
- await t(e), l((t) => Dn(t, e.id));
2092
+ for (let e of Mn(d.current)) try {
2093
+ await t(e), l((t) => On(t, e.id));
2051
2094
  } catch (t) {
2052
2095
  if (r(t)) {
2053
- l((n) => kn(n, e.id, t));
2096
+ l((n) => An(n, e.id, t));
2054
2097
  break;
2055
2098
  }
2056
- l((n) => On(n, e.id, t));
2099
+ l((n) => kn(n, e.id, t));
2057
2100
  }
2058
2101
  }, [t, r]);
2059
2102
  return i(() => {
@@ -2066,7 +2109,7 @@ var sn = () => r(an), cn = (e) => nn(sn().scopes, e), ln = (e) => rn(sn().scopes
2066
2109
  pending: c.filter((e) => e.status === "pending" || e.status === "failed").length,
2067
2110
  conflicts: c.filter((e) => e.status === "conflict")
2068
2111
  };
2069
- }, Fn = (e) => {
2112
+ }, In = (e) => {
2070
2113
  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);
2071
2114
  return {
2072
2115
  startIndex: l,
@@ -2076,8 +2119,8 @@ var sn = () => r(an), cn = (e) => nn(sn().scopes, e), ln = (e) => rn(sn().scopes
2076
2119
  topSpacer: l * r,
2077
2120
  bottomSpacer: a === void 0 ? 0 : Math.max(0, (a - d) * r)
2078
2121
  };
2079
- }, In = (e, t, r) => {
2080
- let { rowHeight: i, viewportHeight: o, overscan: c, total: l, input: u } = r, [d, f] = s(0), p = a(() => Fn({
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({
2081
2124
  scrollTop: d,
2082
2125
  viewportHeight: o,
2083
2126
  rowHeight: i,
@@ -2089,7 +2132,7 @@ var sn = () => r(an), cn = (e) => nn(sn().scopes, e), ln = (e) => rn(sn().scopes
2089
2132
  i,
2090
2133
  c,
2091
2134
  l
2092
- ]), m = F(e, t, a(() => ({
2135
+ ]), m = I(e, t, a(() => ({
2093
2136
  ...u,
2094
2137
  offset: p.offset,
2095
2138
  limit: p.limit
@@ -2109,8 +2152,8 @@ var sn = () => r(an), cn = (e) => nn(sn().scopes, e), ln = (e) => rn(sn().scopes
2109
2152
  loading: m.data === void 0,
2110
2153
  error: m.error
2111
2154
  };
2112
- }, Ln = () => typeof navigator > "u" || navigator.onLine, Rn = (e) => {
2113
- let { errorBus: t } = N(e), [r, a] = s(Ln), [c, l] = s(0), [u, d] = s(void 0), f = o(!0);
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);
2114
2157
  i(() => (f.current = !0, () => {
2115
2158
  f.current = !1;
2116
2159
  }), []), i(() => {
@@ -2136,6 +2179,90 @@ var sn = () => r(an), cn = (e) => nn(sn().scopes, e), ln = (e) => rn(sn().scopes
2136
2179
  lastFailureAt: u,
2137
2180
  reportSuccess: p
2138
2181
  };
2139
- }, zn = "framework-client";
2182
+ }, Bn = "__voltro.connections.list", Vn = "__voltro.connections.start", Hn = "__voltro.connections.submitToken", Un = "__voltro.connections.disconnect", Wn = {
2183
+ connectionId: "",
2184
+ kind: "oauth2",
2185
+ label: "",
2186
+ status: "disconnected",
2187
+ accountId: null,
2188
+ accountLabel: null,
2189
+ scopes: [],
2190
+ expiresAt: null,
2191
+ lastError: null,
2192
+ connectedAt: null
2193
+ }, Gn = (e, t) => {
2194
+ if (t === "redirect") {
2195
+ globalThis.location.assign(e);
2196
+ return;
2197
+ }
2198
+ 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) => ({
2201
+ ...e,
2202
+ connected: e.status === "connected",
2203
+ needsAttention: e.status === "expired" || e.status === "revoked" || e.status === "error",
2204
+ pending: s,
2205
+ connect: async (t) => {
2206
+ if (e.kind !== "oauth2") throw Error(`connection "${e.connectionId}" is a personal-access-token connection — call submitToken(token), not connect().`);
2207
+ let n = t?.redirectTo ?? `${globalThis.location.pathname}${globalThis.location.search}`;
2208
+ Gn((await r.run({
2209
+ connectionId: e.connectionId,
2210
+ redirectTo: n
2211
+ })).authorizeUrl, t?.mode);
2212
+ },
2213
+ submitToken: async (t) => {
2214
+ if (e.kind !== "pat") throw Error(`connection "${e.connectionId}" uses OAuth — call connect(), not submitToken().`);
2215
+ await i.mutate({
2216
+ connectionId: e.connectionId,
2217
+ token: t
2218
+ });
2219
+ },
2220
+ disconnect: async () => {
2221
+ await a.mutate({ connectionId: e.connectionId });
2222
+ }
2223
+ }), [
2224
+ s,
2225
+ r,
2226
+ i,
2227
+ a
2228
+ ]), l = n((e) => {
2229
+ let t = o.find((t) => t.connectionId === e);
2230
+ return t === void 0 ? void 0 : c(t);
2231
+ }, [o, c]);
2232
+ return {
2233
+ connections: o,
2234
+ loading: t === void 0,
2235
+ get: l,
2236
+ pending: s
2237
+ };
2238
+ }, qn = (e, t) => {
2239
+ let n = Kn(e), r = n.get(t);
2240
+ return a(() => r === void 0 ? {
2241
+ ...Wn,
2242
+ connectionId: t,
2243
+ label: t,
2244
+ connected: !1,
2245
+ needsAttention: !1,
2246
+ pending: n.pending,
2247
+ loading: n.loading,
2248
+ connect: async () => {
2249
+ throw Error(`connection "${t}" is not declared by this app.`);
2250
+ },
2251
+ submitToken: async () => {
2252
+ throw Error(`connection "${t}" is not declared by this app.`);
2253
+ },
2254
+ disconnect: async () => {
2255
+ throw Error(`connection "${t}" is not declared by this app.`);
2256
+ }
2257
+ } : {
2258
+ ...r,
2259
+ loading: n.loading
2260
+ }, [
2261
+ r,
2262
+ t,
2263
+ n.loading,
2264
+ n.pending
2265
+ ]);
2266
+ }, Jn = "framework-client";
2140
2267
  //#endregion
2141
- export { tn as ADMIN_SCOPE, zn as CLIENT_NAME, le as FrameworkRuntimesContext, he as FrameworkRuntimesProvider, oe as LoadingSubscriptionCache, on as PermissionProvider, se as RpcErrorBus, ae as SubscriptionCache, Ut as UNDO_APPLY_TAG, Ht as UNDO_LOG_TAG, Wt as UNDO_REDO_TAG, pe as _resetFrameworkRuntimesWarning, nn as canCall, rn as canCallAny, Ce as clearMutations, An as clearSent, Fn as computeWindow, Cn as createAnalytics, bn as defineEvent, Kt as defineTracking, Bt as deriveEntityAdmins, Tn as enqueueEntry, ce as errorTag, Sn as eventCatalog, pn as filtersFromSchema, Ee as getMutationNotifier, xe as getMutations, It as manifestUrl, kn as markConflict, On as markFailed, Dn as markSent, Pt as provenanceUrl, gt as publishClientError, x as publishClientTrace, jn as replayable, vt as reportClientError, P as resolveByTag, $ as resolveTrackingEvent, st as resumableConsumeProgram, kt as rowsToOptions, Z as schemaToColumns, X as schemaToFields, Te as setMutationNotifier, B as settleMutation, Qt as shallowArrayEqual, $t as sourceValues, k as ssrClientProxy, de as ssrStubHandle, C as stableKey, z as startMutation, _t as subscribeClientErrors, S as subscribeClientTraces, Se as subscribeMutations, U as useAction, pt as useAgent, ft as useAgentChat, ot as useAgentStream, yn as useAsyncValidation, cn as useCan, ln as useCanAny, Lt as useCapabilityManifest, Rn as useConnectionStatus, mt as useDataCopilot, Mt as useDataTable, _n as useDebounced, en as useDerived, Ot as useFormBinding, Xt as useFormSkeleton, N as useFrameworkApi, me as useFrameworkRuntimes, H as useMutation, yt as useOnRpcError, Pn as useOutbox, sn as usePermissions, wn as usePreview, Ft as useProvenance, At as useQueryField, hn as useQueryFilters, gn as useRecord, ht as useRefreshSubscriptions, un as useResourceCan, dn as useResourceCans, lt as useResumableAgentStream, F as useSubscription, Zt as useTableSkeleton, Yt as useTracking, Vt as useUndo, Gt as useUndoLog, Ge as useUpload, In as useWindowedSubscription, Ke as useWorkflow, $e as useWorkflowDomainEvents, et as useWorkflowEventDeliveries, Qe as useWorkflowEvents, Ye as useWorkflowRun, K as useWorkflowRunEvents, at as useWorkflowRunState, Ze as useWorkflowRunSteps, Xe as useWorkflowRuns, qe as useWorkflowSignal, Je as useWorkflowUpdate, xn as validateEventPayload, Q as validateFields, vn as validationStatus, Jt as wrapTrackedCallbacks };
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 };