@voltro/client 0.3.0 → 0.5.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/CHANGELOG.md +50 -0
- package/dist/index.d.ts +100 -4
- package/dist/index.js +317 -274
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -30,47 +30,50 @@ 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
|
+
}, te = (e, t) => {
|
|
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
|
+
return i.length === 0 ? null : new Set(i);
|
|
36
|
+
}, ne = (e, t, n) => {
|
|
34
37
|
let r = e.path, i = e.by ?? "id";
|
|
35
38
|
if (e.op === "insert") {
|
|
36
|
-
let a = e.shape ? {
|
|
39
|
+
let a = e.shapeItem ?? e.shape, o = a ? {
|
|
37
40
|
[i]: n,
|
|
38
|
-
...
|
|
41
|
+
...a(t, n),
|
|
39
42
|
optimistic: !0
|
|
40
43
|
} : {
|
|
41
44
|
[i]: n,
|
|
42
45
|
...t,
|
|
43
46
|
optimistic: !0
|
|
44
|
-
},
|
|
47
|
+
}, s = e.order ?? "append";
|
|
45
48
|
return (e) => {
|
|
46
49
|
let t = Array.isArray(D(e, r)) ? D(e, r) : [];
|
|
47
|
-
return O(e ?? {}, r,
|
|
50
|
+
return O(e ?? {}, r, s === "append" ? [...t, o] : [o, ...t]);
|
|
48
51
|
};
|
|
49
52
|
}
|
|
50
|
-
let a = e
|
|
51
|
-
if (a ===
|
|
53
|
+
let a = te(e, t);
|
|
54
|
+
if (a === null) return null;
|
|
52
55
|
if (e.op === "update") {
|
|
53
|
-
let n = e.shape ? (
|
|
54
|
-
...
|
|
55
|
-
[i]:
|
|
56
|
+
let n = e.shapeItem ?? e.shape, o = n ? (e) => ({
|
|
57
|
+
...n(t, e),
|
|
58
|
+
[i]: e[i],
|
|
56
59
|
optimistic: !0
|
|
57
60
|
}) : (e) => ({
|
|
58
61
|
...e,
|
|
59
62
|
...t,
|
|
60
|
-
[i]:
|
|
63
|
+
[i]: e[i],
|
|
61
64
|
optimistic: !0
|
|
62
65
|
});
|
|
63
66
|
return (e) => {
|
|
64
67
|
let t = Array.isArray(D(e, r)) ? D(e, r) : [];
|
|
65
|
-
return O(e, r, t.map((e) => e[i]
|
|
68
|
+
return O(e, r, t.map((e) => a.has(e[i]) ? o(e) : e));
|
|
66
69
|
};
|
|
67
70
|
}
|
|
68
71
|
return (e) => {
|
|
69
72
|
let t = Array.isArray(D(e, r)) ? D(e, r) : [];
|
|
70
|
-
return O(e, r, t.filter((e) => e[i]
|
|
73
|
+
return O(e, r, t.filter((e) => !a.has(e[i])));
|
|
71
74
|
};
|
|
72
|
-
},
|
|
73
|
-
if (e.path !== void 0) return
|
|
75
|
+
}, re = (e, t, n) => {
|
|
76
|
+
if (e.path !== void 0) return ne(e, t, n);
|
|
74
77
|
switch (e.op) {
|
|
75
78
|
case "insert": {
|
|
76
79
|
let r = e.shape ? {
|
|
@@ -88,11 +91,11 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
88
91
|
};
|
|
89
92
|
}
|
|
90
93
|
case "update": {
|
|
91
|
-
let n = e
|
|
92
|
-
if (n ===
|
|
94
|
+
let n = te(e, t);
|
|
95
|
+
if (n === null) return null;
|
|
93
96
|
let r = e.shape, i = r ? (e) => ({
|
|
94
97
|
...r(t, e),
|
|
95
|
-
id:
|
|
98
|
+
id: e.id,
|
|
96
99
|
optimistic: !0
|
|
97
100
|
}) : (e) => ({
|
|
98
101
|
...e,
|
|
@@ -101,21 +104,21 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
101
104
|
});
|
|
102
105
|
return (e) => (Array.isArray(e) ? e : []).map((e) => {
|
|
103
106
|
let t = e;
|
|
104
|
-
return t.id
|
|
107
|
+
return n.has(t.id) ? i(t) : t;
|
|
105
108
|
});
|
|
106
109
|
}
|
|
107
110
|
case "delete": {
|
|
108
|
-
let n = e
|
|
109
|
-
return n ===
|
|
111
|
+
let n = te(e, t);
|
|
112
|
+
return n === null ? null : (e) => (Array.isArray(e) ? e : []).filter((e) => !n.has(e.id));
|
|
110
113
|
}
|
|
111
114
|
}
|
|
112
|
-
},
|
|
115
|
+
}, ie = 5e3, ae = class {
|
|
113
116
|
entries = /* @__PURE__ */ new Map();
|
|
114
117
|
inactiveTtlMs;
|
|
115
118
|
onChangeHook;
|
|
116
119
|
errorBus;
|
|
117
120
|
constructor(e = {}) {
|
|
118
|
-
this.inactiveTtlMs = e.inactiveTtlMs ??
|
|
121
|
+
this.inactiveTtlMs = e.inactiveTtlMs ?? ie, this.onChangeHook = e.onChange, this.errorBus = e.errorBus;
|
|
119
122
|
}
|
|
120
123
|
subscribe(e, t, n, r, i = {}) {
|
|
121
124
|
let a = C(e), o = typeof e[0] == "string" ? e[0] : void 0, s = this.entries.get(a);
|
|
@@ -175,7 +178,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
175
178
|
if (!n) continue;
|
|
176
179
|
}
|
|
177
180
|
if (e.computed && i.op === "insert" && i.path === void 0) continue;
|
|
178
|
-
let a =
|
|
181
|
+
let a = re(i, t, r);
|
|
179
182
|
if (a === null) continue;
|
|
180
183
|
let o = {
|
|
181
184
|
id: `${r}-${e.key}`,
|
|
@@ -317,14 +320,14 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
317
320
|
t && t.subscribers.size === 0 && (t.fiber && d.runFork(p.interrupt(t.fiber)), this.entries.delete(e));
|
|
318
321
|
}, this.inactiveTtlMs)));
|
|
319
322
|
}
|
|
320
|
-
},
|
|
323
|
+
}, oe = class extends ae {
|
|
321
324
|
subscribe(e, t, n, r, i = {}) {
|
|
322
325
|
return {
|
|
323
326
|
getSnapshot: () => this.peek(e),
|
|
324
327
|
unsubscribe: () => {}
|
|
325
328
|
};
|
|
326
329
|
}
|
|
327
|
-
},
|
|
330
|
+
}, se = class {
|
|
328
331
|
#e = /* @__PURE__ */ new Set();
|
|
329
332
|
on(e) {
|
|
330
333
|
return this.#e.add(e), () => {
|
|
@@ -336,34 +339,34 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
336
339
|
t(e);
|
|
337
340
|
} catch {}
|
|
338
341
|
}
|
|
339
|
-
},
|
|
342
|
+
}, ce = (e) => {
|
|
340
343
|
if (typeof e != "object" || !e) return;
|
|
341
344
|
let t = e._tag;
|
|
342
345
|
return typeof t == "string" ? t : void 0;
|
|
343
|
-
},
|
|
346
|
+
}, le = e(null), ue = () => {
|
|
344
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");
|
|
345
|
-
},
|
|
346
|
-
get: (e, t) =>
|
|
348
|
+
}, k = new Proxy(() => ue(), {
|
|
349
|
+
get: (e, t) => k,
|
|
347
350
|
has: () => !0,
|
|
348
|
-
apply: () =>
|
|
349
|
-
}),
|
|
351
|
+
apply: () => ue()
|
|
352
|
+
}), de = {
|
|
350
353
|
runtime: { runPromise: () => Promise.reject(/* @__PURE__ */ Error("Voltro: mutations are not invokable during SSR")) },
|
|
351
|
-
cache: new
|
|
352
|
-
client:
|
|
354
|
+
cache: new oe(),
|
|
355
|
+
client: k,
|
|
353
356
|
descriptors: {},
|
|
354
357
|
inspectBaseUrl: "",
|
|
355
|
-
errorBus: new
|
|
356
|
-
},
|
|
357
|
-
get: () =>
|
|
358
|
+
errorBus: new se()
|
|
359
|
+
}, fe = {
|
|
360
|
+
get: () => de,
|
|
358
361
|
names: []
|
|
359
|
-
},
|
|
360
|
-
|
|
361
|
-
},
|
|
362
|
-
let e = r(
|
|
363
|
-
return e ? (
|
|
364
|
-
|
|
365
|
-
}, 0)),
|
|
366
|
-
},
|
|
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 }) => {
|
|
367
370
|
let n = a(() => ({
|
|
368
371
|
get: (t) => {
|
|
369
372
|
let n = e.get(t);
|
|
@@ -375,11 +378,11 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
375
378
|
},
|
|
376
379
|
names: Array.from(e.keys())
|
|
377
380
|
}), [e]);
|
|
378
|
-
return /* @__PURE__ */ v(
|
|
381
|
+
return /* @__PURE__ */ v(le.Provider, {
|
|
379
382
|
value: n,
|
|
380
383
|
children: t
|
|
381
384
|
});
|
|
382
|
-
},
|
|
385
|
+
}, P = (e, t) => {
|
|
383
386
|
let n = t.split("."), r = e;
|
|
384
387
|
for (let e = 0; e < n.length; e++) {
|
|
385
388
|
let i = n[e];
|
|
@@ -398,54 +401,56 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
398
401
|
}
|
|
399
402
|
if (typeof r != "function") throw Error(`@voltro/client: rpc tag ${JSON.stringify(t)} did not resolve to a callable method.`);
|
|
400
403
|
return r;
|
|
401
|
-
},
|
|
404
|
+
}, ge = Object.freeze({
|
|
402
405
|
data: void 0,
|
|
403
406
|
revision: -1,
|
|
404
407
|
emittedAt: void 0,
|
|
405
408
|
error: void 0,
|
|
406
409
|
pendingPatches: 0
|
|
407
|
-
}),
|
|
408
|
-
let s = i.skip === !0, { runtime: l, cache: u, client: d, descriptors: f } =
|
|
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);
|
|
409
412
|
m.current = r;
|
|
410
413
|
let h = o(d);
|
|
411
414
|
h.current = d;
|
|
412
|
-
let g = o(() =>
|
|
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, [
|
|
413
416
|
u,
|
|
414
417
|
l,
|
|
415
418
|
p,
|
|
416
419
|
s,
|
|
417
420
|
_
|
|
418
|
-
]), n(() => s ?
|
|
421
|
+
]), n(() => s ? ge : u.peek(_), [
|
|
419
422
|
u,
|
|
420
423
|
s,
|
|
421
424
|
_
|
|
422
|
-
]),
|
|
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);
|
|
423
426
|
return {
|
|
424
|
-
data:
|
|
427
|
+
data: b,
|
|
425
428
|
revision: v.revision,
|
|
426
429
|
emittedAt: v.emittedAt,
|
|
427
430
|
error: v.error,
|
|
428
|
-
pendingPatches: v.pendingPatches
|
|
431
|
+
pendingPatches: v.pendingPatches,
|
|
432
|
+
loading: y,
|
|
433
|
+
isEmpty: x
|
|
429
434
|
};
|
|
430
|
-
},
|
|
431
|
-
|
|
432
|
-
},
|
|
433
|
-
|
|
434
|
-
for (let e of
|
|
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 {
|
|
435
440
|
e();
|
|
436
441
|
} catch {}
|
|
437
|
-
},
|
|
442
|
+
}, z = (e) => {
|
|
438
443
|
let t = {
|
|
439
444
|
...e,
|
|
440
445
|
status: "pending",
|
|
441
446
|
startedAt: Date.now()
|
|
442
447
|
};
|
|
443
|
-
|
|
444
|
-
},
|
|
445
|
-
let n =
|
|
448
|
+
I.unshift(t), I.length > ve && (I.length = ve), R();
|
|
449
|
+
}, B = (e, t) => {
|
|
450
|
+
let n = I.findIndex((t) => t.id === e);
|
|
446
451
|
if (n === -1) return;
|
|
447
|
-
let r =
|
|
448
|
-
|
|
452
|
+
let r = I[n], i = Date.now();
|
|
453
|
+
I[n] = t.status === "success" ? {
|
|
449
454
|
...r,
|
|
450
455
|
status: "success",
|
|
451
456
|
output: t.output,
|
|
@@ -457,12 +462,12 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
457
462
|
error: t.error,
|
|
458
463
|
settledAt: i,
|
|
459
464
|
durationMs: i - r.startedAt
|
|
460
|
-
},
|
|
461
|
-
},
|
|
462
|
-
|
|
463
|
-
}),
|
|
464
|
-
|
|
465
|
-
},
|
|
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) => {
|
|
466
471
|
if (t === void 0 || typeof e != "object" || !e) return e;
|
|
467
472
|
try {
|
|
468
473
|
Object.defineProperty(e, "__voltroTraceId", {
|
|
@@ -472,40 +477,48 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
472
477
|
});
|
|
473
478
|
} catch {}
|
|
474
479
|
return e;
|
|
475
|
-
},
|
|
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) => ({
|
|
476
483
|
update: (n, r) => {
|
|
477
484
|
e.update(n, r, t);
|
|
478
485
|
},
|
|
479
486
|
forTag: (n, r) => e.forTag(n, r, t)
|
|
480
487
|
}), H = (e, t) => {
|
|
481
|
-
let { runtime: r, cache: i, client: c, descriptors: l, errorBus: u } =
|
|
488
|
+
let { runtime: r, cache: i, client: c, descriptors: l, errorBus: u } = N(e), f = l[t], p = f?.targets;
|
|
482
489
|
if (process.env.NODE_ENV !== "production") {
|
|
483
490
|
let n = f?.kind;
|
|
484
491
|
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.`);
|
|
485
492
|
}
|
|
486
|
-
let [m, h] = s(!1), [g, _] = s(void 0), [v, y] = s(void 0), b = o(null), S = o(!1), C = n(async (n) => {
|
|
493
|
+
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
|
+
let o = a?.onError !== void 0 || a?.notify?.error !== void 0, s = (e) => {
|
|
495
|
+
a?.onError?.(e, n);
|
|
496
|
+
let t = De(a?.notify?.error, e, n);
|
|
497
|
+
t !== void 0 && V?.error(t);
|
|
498
|
+
};
|
|
487
499
|
h(!0), _(void 0);
|
|
488
|
-
let
|
|
489
|
-
|
|
490
|
-
id:
|
|
500
|
+
let l = ke();
|
|
501
|
+
z({
|
|
502
|
+
id: l,
|
|
491
503
|
apiName: e,
|
|
492
504
|
tag: t,
|
|
493
505
|
input: n
|
|
494
506
|
});
|
|
495
|
-
let
|
|
496
|
-
if (
|
|
497
|
-
|
|
507
|
+
let f = b.current, m = S.current;
|
|
508
|
+
if (f) try {
|
|
509
|
+
f(Ae(i, l), n);
|
|
498
510
|
} catch (e) {
|
|
499
|
-
|
|
511
|
+
if (_(e), h(!1), i.revertByMutation(l), B(l, {
|
|
500
512
|
status: "error",
|
|
501
513
|
error: e
|
|
502
|
-
}), e;
|
|
514
|
+
}), o) return s(e);
|
|
515
|
+
throw e;
|
|
503
516
|
}
|
|
504
|
-
else !
|
|
505
|
-
let
|
|
517
|
+
else !m && p && p.length > 0 && i.autoApply(p, n, l);
|
|
518
|
+
let g;
|
|
506
519
|
try {
|
|
507
|
-
let o =
|
|
508
|
-
|
|
520
|
+
let o = P(c, t), s = d.currentSpan.pipe(d.tap((e) => d.sync(() => {
|
|
521
|
+
g = e.traceId, x({
|
|
509
522
|
traceId: e.traceId,
|
|
510
523
|
spanId: e.spanId,
|
|
511
524
|
source: "mutation",
|
|
@@ -513,24 +526,27 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
513
526
|
});
|
|
514
527
|
})), d.catchAll(() => d.void), d.zipRight(o(n))).pipe(d.withSpan(`client.mutation.${t}`, { attributes: {
|
|
515
528
|
"voltro.api": e,
|
|
516
|
-
"voltro.mutationId":
|
|
529
|
+
"voltro.mutationId": l,
|
|
517
530
|
"rpc.tag": t
|
|
518
531
|
} })), u = await r.runPromise(s);
|
|
519
|
-
|
|
532
|
+
y(u), B(l, {
|
|
520
533
|
status: "success",
|
|
521
534
|
output: u
|
|
522
|
-
}), i.confirmByMutation(
|
|
535
|
+
}), 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;
|
|
523
538
|
} catch (e) {
|
|
524
|
-
let n =
|
|
525
|
-
|
|
539
|
+
let n = we(e, g);
|
|
540
|
+
if (_(n), B(l, {
|
|
526
541
|
status: "error",
|
|
527
542
|
error: n
|
|
528
|
-
}), i.revertByMutation(
|
|
543
|
+
}), i.revertByMutation(l), u.emit({
|
|
529
544
|
source: "mutation",
|
|
530
545
|
tag: t,
|
|
531
546
|
error: n,
|
|
532
|
-
...
|
|
533
|
-
}), n;
|
|
547
|
+
...g === void 0 ? {} : { traceId: g }
|
|
548
|
+
}), o) return s(n);
|
|
549
|
+
throw n;
|
|
534
550
|
} finally {
|
|
535
551
|
h(!1);
|
|
536
552
|
}
|
|
@@ -558,7 +574,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
558
574
|
g,
|
|
559
575
|
v
|
|
560
576
|
]);
|
|
561
|
-
},
|
|
577
|
+
}, je = (e, t) => {
|
|
562
578
|
if (t === void 0 || typeof e != "object" || !e) return e;
|
|
563
579
|
try {
|
|
564
580
|
Object.defineProperty(e, "__voltroTraceId", {
|
|
@@ -568,16 +584,16 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
568
584
|
});
|
|
569
585
|
} catch {}
|
|
570
586
|
return e;
|
|
571
|
-
},
|
|
572
|
-
let { runtime: r, client: i, descriptors: o, errorBus: c } =
|
|
587
|
+
}, Me = 0, Ne = () => `act_${++Me}`, U = (e, t) => {
|
|
588
|
+
let { runtime: r, client: i, descriptors: o, errorBus: c } = N(e);
|
|
573
589
|
if (process.env.NODE_ENV !== "production") {
|
|
574
590
|
let n = o[t]?.kind;
|
|
575
591
|
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.`);
|
|
576
592
|
}
|
|
577
593
|
let [l, u] = s(!1), [f, p] = s(void 0), [m, h] = s(void 0), g = n(async (n) => {
|
|
578
594
|
u(!0), p(void 0);
|
|
579
|
-
let a =
|
|
580
|
-
|
|
595
|
+
let a = Ne();
|
|
596
|
+
z({
|
|
581
597
|
id: a,
|
|
582
598
|
apiName: e,
|
|
583
599
|
tag: t,
|
|
@@ -585,7 +601,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
585
601
|
});
|
|
586
602
|
let o;
|
|
587
603
|
try {
|
|
588
|
-
let s =
|
|
604
|
+
let s = P(i, t), c = d.currentSpan.pipe(d.tap((e) => d.sync(() => {
|
|
589
605
|
o = e.traceId, x({
|
|
590
606
|
traceId: e.traceId,
|
|
591
607
|
spanId: e.spanId,
|
|
@@ -597,13 +613,13 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
597
613
|
"voltro.actionId": a,
|
|
598
614
|
"rpc.tag": t
|
|
599
615
|
} })), l = await r.runPromise(c);
|
|
600
|
-
return h(l),
|
|
616
|
+
return h(l), B(a, {
|
|
601
617
|
status: "success",
|
|
602
618
|
output: l
|
|
603
619
|
}), l;
|
|
604
620
|
} catch (e) {
|
|
605
|
-
let n =
|
|
606
|
-
throw p(n),
|
|
621
|
+
let n = je(e, o);
|
|
622
|
+
throw p(n), B(a, {
|
|
607
623
|
status: "error",
|
|
608
624
|
error: n
|
|
609
625
|
}), c.emit({
|
|
@@ -633,7 +649,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
633
649
|
f,
|
|
634
650
|
m
|
|
635
651
|
]);
|
|
636
|
-
}, W = "storage.mintUploadTicket",
|
|
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) => {
|
|
637
653
|
let o = new XMLHttpRequest();
|
|
638
654
|
if (o.open("PUT", e), o.upload.onprogress = (e) => {
|
|
639
655
|
e.lengthComputable && n(e.loaded / e.total);
|
|
@@ -647,7 +663,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
647
663
|
return;
|
|
648
664
|
}
|
|
649
665
|
r.addEventListener("abort", () => o.abort(), { once: !0 }), o.send(t);
|
|
650
|
-
}),
|
|
666
|
+
}), He = (e, t, n, r, i, a) => new Promise((o, s) => {
|
|
651
667
|
let c = new XMLHttpRequest();
|
|
652
668
|
if (c.open("POST", e), c.setRequestHeader("content-type", t), c.upload.onprogress = (e) => {
|
|
653
669
|
e.lengthComputable && r(e.loaded / e.total);
|
|
@@ -665,7 +681,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
665
681
|
return;
|
|
666
682
|
}
|
|
667
683
|
i.addEventListener("abort", () => c.abort(), { once: !0 }), c.send(n);
|
|
668
|
-
}),
|
|
684
|
+
}), Ue = (e, t, n, r, i) => new Promise((a, o) => {
|
|
669
685
|
let s = new XMLHttpRequest();
|
|
670
686
|
if (s.open("PUT", e), s.setRequestHeader("content-type", t), s.upload.onprogress = (e) => {
|
|
671
687
|
e.lengthComputable && r(e.loaded / e.total);
|
|
@@ -676,7 +692,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
676
692
|
return;
|
|
677
693
|
}
|
|
678
694
|
i.addEventListener("abort", () => s.abort(), { once: !0 }), s.send(n);
|
|
679
|
-
}),
|
|
695
|
+
}), We = (e, t, n, r, i) => new Promise((a, o) => {
|
|
680
696
|
let s = new XMLHttpRequest();
|
|
681
697
|
if (s.open("POST", e), s.setRequestHeader("content-type", t), s.upload.onprogress = (e) => {
|
|
682
698
|
e.lengthComputable && r(e.loaded / e.total);
|
|
@@ -692,8 +708,8 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
692
708
|
return;
|
|
693
709
|
}
|
|
694
710
|
i.addEventListener("abort", () => s.abort(), { once: !0 }), s.send(n);
|
|
695
|
-
}),
|
|
696
|
-
let { runtime: r, client: i, inspectBaseUrl: c, errorBus: l } =
|
|
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(() => {
|
|
697
713
|
d(0), p("idle"), h(void 0);
|
|
698
714
|
}, []), v = n(() => {
|
|
699
715
|
g.current?.abort();
|
|
@@ -713,16 +729,16 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
713
729
|
...e.width === void 0 ? {} : { width: e.width },
|
|
714
730
|
...e.height === void 0 ? {} : { height: e.height }
|
|
715
731
|
}), g = async () => {
|
|
716
|
-
let s = n.mintTag ?? t.mintTag ?? W, l =
|
|
732
|
+
let s = n.mintTag ?? t.mintTag ?? W, l = P(i, s), u = await r.runPromise(l({
|
|
717
733
|
contentType: c,
|
|
718
734
|
...m,
|
|
719
735
|
...d ? { key: d } : {}
|
|
720
|
-
})), f = await
|
|
736
|
+
})), f = await We(y(u.uploadUrl), c, e, o, a);
|
|
721
737
|
return h(f);
|
|
722
738
|
}, _ = async () => {
|
|
723
|
-
let s = n.presignMintTag ?? t.presignMintTag ??
|
|
739
|
+
let s = n.presignMintTag ?? t.presignMintTag ?? Pe, l = n.finalizeTag ?? t.finalizeTag ?? Fe, u;
|
|
724
740
|
try {
|
|
725
|
-
let e =
|
|
741
|
+
let e = P(i, s);
|
|
726
742
|
u = await r.runPromise(e({
|
|
727
743
|
contentType: c,
|
|
728
744
|
...m
|
|
@@ -730,11 +746,11 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
730
746
|
} catch {
|
|
731
747
|
return null;
|
|
732
748
|
}
|
|
733
|
-
await
|
|
734
|
-
let d =
|
|
749
|
+
await Ue(u.uploadUrl, c, e, o, a);
|
|
750
|
+
let d = P(i, l), f = await r.runPromise(d({ finalizeToken: u.finalizeToken }));
|
|
735
751
|
return h(f);
|
|
736
752
|
}, v = async () => {
|
|
737
|
-
let s = n.beginResumableTag ?? t.beginResumableTag ??
|
|
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({
|
|
738
754
|
contentType: c,
|
|
739
755
|
size: u,
|
|
740
756
|
...m,
|
|
@@ -745,7 +761,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
745
761
|
for (;;) {
|
|
746
762
|
if (a.aborted) throw new DOMException("upload aborted", "AbortError");
|
|
747
763
|
try {
|
|
748
|
-
let e = await
|
|
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);
|
|
749
765
|
s && (x = e);
|
|
750
766
|
break;
|
|
751
767
|
} catch (e) {
|
|
@@ -757,9 +773,9 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
757
773
|
if (!x) throw Error("resumable upload produced no final reply");
|
|
758
774
|
return h(x);
|
|
759
775
|
}, b = async () => {
|
|
760
|
-
let s = n.multipartBeginTag ?? t.multipartBeginTag ??
|
|
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;
|
|
761
777
|
try {
|
|
762
|
-
let e =
|
|
778
|
+
let e = P(i, s);
|
|
763
779
|
g = await r.runPromise(e({
|
|
764
780
|
contentType: c,
|
|
765
781
|
size: p,
|
|
@@ -769,7 +785,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
769
785
|
} catch {
|
|
770
786
|
return null;
|
|
771
787
|
}
|
|
772
|
-
let _ =
|
|
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;
|
|
773
789
|
try {
|
|
774
790
|
for (let t = 0; t < S; t++) {
|
|
775
791
|
let n = t * x, i = Math.min(p, n + x), s = e.slice(n, i), c = t + 1, l = i - n, u = 0;
|
|
@@ -779,7 +795,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
779
795
|
let { url: e } = await r.runPromise(_({
|
|
780
796
|
multipartToken: g.multipartToken,
|
|
781
797
|
partNumber: c
|
|
782
|
-
})), t = await
|
|
798
|
+
})), t = await Ve(e, s, (e) => o((T + e * l) / p), a);
|
|
783
799
|
w.push({
|
|
784
800
|
partNumber: c,
|
|
785
801
|
etag: t
|
|
@@ -925,7 +941,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
925
941
|
T
|
|
926
942
|
]);
|
|
927
943
|
}, G = async (e) => {
|
|
928
|
-
let t =
|
|
944
|
+
let t = P(e.client, e.tag), n = d.currentSpan.pipe(d.tap((t) => d.sync(() => {
|
|
929
945
|
x({
|
|
930
946
|
traceId: t.traceId,
|
|
931
947
|
spanId: t.spanId,
|
|
@@ -937,8 +953,8 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
937
953
|
"rpc.tag": e.tag
|
|
938
954
|
} }));
|
|
939
955
|
return e.runtime.runPromise(n);
|
|
940
|
-
},
|
|
941
|
-
let { runtime: r, client: i, descriptors: o } =
|
|
956
|
+
}, Ke = (e, t) => {
|
|
957
|
+
let { runtime: r, client: i, descriptors: o } = N(e);
|
|
942
958
|
if (process.env.NODE_ENV !== "production") {
|
|
943
959
|
let n = o[t]?.kind;
|
|
944
960
|
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.`);
|
|
@@ -1042,8 +1058,8 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1042
1058
|
u,
|
|
1043
1059
|
f
|
|
1044
1060
|
]);
|
|
1045
|
-
},
|
|
1046
|
-
let { runtime: t, client: r } =
|
|
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) => {
|
|
1047
1063
|
o(!0), l(void 0);
|
|
1048
1064
|
try {
|
|
1049
1065
|
let o = await G({
|
|
@@ -1080,8 +1096,8 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1080
1096
|
c,
|
|
1081
1097
|
u
|
|
1082
1098
|
]);
|
|
1083
|
-
},
|
|
1084
|
-
let { runtime: t, client: r } =
|
|
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) => {
|
|
1085
1101
|
o(!0), l(void 0);
|
|
1086
1102
|
try {
|
|
1087
1103
|
let o = await G({
|
|
@@ -1119,38 +1135,38 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1119
1135
|
c,
|
|
1120
1136
|
u
|
|
1121
1137
|
]);
|
|
1122
|
-
},
|
|
1123
|
-
let n =
|
|
1138
|
+
}, Ye = (e, t) => {
|
|
1139
|
+
let n = F(e, "__voltro.workflow.run", t ? { id: t } : {}, { skip: t === void 0 });
|
|
1124
1140
|
return {
|
|
1125
1141
|
...n,
|
|
1126
1142
|
run: n.data?.[0]
|
|
1127
1143
|
};
|
|
1128
|
-
},
|
|
1129
|
-
let r =
|
|
1144
|
+
}, Xe = (e, t = {}, n = {}) => {
|
|
1145
|
+
let r = F(e, "__voltro.workflow.runs", t, n);
|
|
1130
1146
|
return {
|
|
1131
1147
|
...r,
|
|
1132
1148
|
runs: r.data ?? []
|
|
1133
1149
|
};
|
|
1134
|
-
},
|
|
1135
|
-
let n =
|
|
1150
|
+
}, Ze = (e, t) => {
|
|
1151
|
+
let n = F(e, "__voltro.workflow.run.steps", t ? { runId: t } : {}, { skip: t === void 0 });
|
|
1136
1152
|
return {
|
|
1137
1153
|
...n,
|
|
1138
1154
|
steps: n.data ?? []
|
|
1139
1155
|
};
|
|
1140
1156
|
}, K = (e, t) => {
|
|
1141
|
-
let n =
|
|
1157
|
+
let n = F(e, "__voltro.workflow.run.events", t ? { runId: t } : {}, { skip: t === void 0 });
|
|
1142
1158
|
return {
|
|
1143
1159
|
...n,
|
|
1144
1160
|
events: n.data ?? []
|
|
1145
1161
|
};
|
|
1146
|
-
},
|
|
1147
|
-
let r =
|
|
1162
|
+
}, Qe = K, $e = (e, t = {}, n = {}) => {
|
|
1163
|
+
let r = F(e, "__voltro.workflow.domainEvents", t, n);
|
|
1148
1164
|
return {
|
|
1149
1165
|
...r,
|
|
1150
1166
|
events: r.data ?? []
|
|
1151
1167
|
};
|
|
1152
|
-
},
|
|
1153
|
-
let n =
|
|
1168
|
+
}, et = (e, t) => {
|
|
1169
|
+
let n = F(e, "__voltro.workflow.event.deliveries", t ? { eventId: t } : {}, { skip: t === void 0 });
|
|
1154
1170
|
return {
|
|
1155
1171
|
...n,
|
|
1156
1172
|
deliveries: n.data ?? []
|
|
@@ -1160,18 +1176,18 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1160
1176
|
if (!n || typeof n != "object") return;
|
|
1161
1177
|
let r = n[t];
|
|
1162
1178
|
return typeof r == "string" ? r : void 0;
|
|
1163
|
-
},
|
|
1179
|
+
}, tt = (e) => {
|
|
1164
1180
|
let t = e.payload;
|
|
1165
1181
|
if (!t || typeof t != "object") return;
|
|
1166
1182
|
let n = t.updateId;
|
|
1167
1183
|
return typeof n == "string" ? n : void 0;
|
|
1168
|
-
},
|
|
1184
|
+
}, nt = (e) => {
|
|
1169
1185
|
let t = /* @__PURE__ */ new Set(), n = /* @__PURE__ */ new Set();
|
|
1170
1186
|
for (let r of e) if (r.eventType === "signal-received") {
|
|
1171
1187
|
let e = q(r, "signalName");
|
|
1172
1188
|
e && t.add(e);
|
|
1173
1189
|
} else if (r.eventType === "update-completed" || r.eventType === "update-failed") {
|
|
1174
|
-
let e =
|
|
1190
|
+
let e = tt(r);
|
|
1175
1191
|
e && n.add(e);
|
|
1176
1192
|
}
|
|
1177
1193
|
for (let r = e.length - 1; r >= 0; --r) {
|
|
@@ -1183,14 +1199,14 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1183
1199
|
kind: "signal"
|
|
1184
1200
|
};
|
|
1185
1201
|
} else if (i.eventType === "update-requested") {
|
|
1186
|
-
let e =
|
|
1202
|
+
let e = tt(i), t = q(i, "updateName");
|
|
1187
1203
|
if (t && (!e || !n.has(e))) return {
|
|
1188
1204
|
name: t,
|
|
1189
1205
|
kind: "update"
|
|
1190
1206
|
};
|
|
1191
1207
|
}
|
|
1192
1208
|
}
|
|
1193
|
-
},
|
|
1209
|
+
}, rt = (e) => e.find((e) => e.status === "running") || (e.length > 0 ? e[e.length - 1] : void 0), it = (e, t) => {
|
|
1194
1210
|
if (!e || e.status !== "failed") return;
|
|
1195
1211
|
let n = t.find((e) => e.status === "failed");
|
|
1196
1212
|
return {
|
|
@@ -1198,8 +1214,8 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1198
1214
|
message: e.errorMessage,
|
|
1199
1215
|
step: n?.stepName
|
|
1200
1216
|
};
|
|
1201
|
-
},
|
|
1202
|
-
let r =
|
|
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 () => {
|
|
1203
1219
|
if (!c) throw Error("useWorkflowRunState: no run loaded — cannot cancel");
|
|
1204
1220
|
await s.cancel({
|
|
1205
1221
|
workflowName: c.tag,
|
|
@@ -1223,9 +1239,9 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1223
1239
|
status: c?.status,
|
|
1224
1240
|
steps: l,
|
|
1225
1241
|
events: u,
|
|
1226
|
-
currentStep:
|
|
1227
|
-
waitingFor: c?.status === "suspended" ?
|
|
1228
|
-
error:
|
|
1242
|
+
currentStep: rt(l),
|
|
1243
|
+
waitingFor: c?.status === "suspended" ? nt(u) : void 0,
|
|
1244
|
+
error: it(c, l),
|
|
1229
1245
|
traceId: c?.traceId,
|
|
1230
1246
|
loading: r.data === void 0,
|
|
1231
1247
|
cancel: d,
|
|
@@ -1242,8 +1258,8 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1242
1258
|
p,
|
|
1243
1259
|
m
|
|
1244
1260
|
]);
|
|
1245
|
-
},
|
|
1246
|
-
let { runtime: r, client: i } =
|
|
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(() => {
|
|
1247
1263
|
let e = _.current;
|
|
1248
1264
|
e && (_.current = null, r.runFork(p.interrupt(e)), f((e) => e === "streaming" ? "idle" : e));
|
|
1249
1265
|
}, [r]);
|
|
@@ -1254,7 +1270,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1254
1270
|
start: n((e = {}) => {
|
|
1255
1271
|
let n = _.current;
|
|
1256
1272
|
n && r.runFork(p.interrupt(n)), c([]), h(void 0), f("streaming");
|
|
1257
|
-
let a =
|
|
1273
|
+
let a = P(i, t)(e), o = g.runForEach(a, (e) => d.sync(() => c((t) => [...t, e]))).pipe(d.matchCause({
|
|
1258
1274
|
onSuccess: () => {
|
|
1259
1275
|
f("done");
|
|
1260
1276
|
},
|
|
@@ -1270,7 +1286,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1270
1286
|
]),
|
|
1271
1287
|
cancel: v
|
|
1272
1288
|
};
|
|
1273
|
-
},
|
|
1289
|
+
}, st = (e, t, n, r) => {
|
|
1274
1290
|
let i = 0, a = !1, o = (e) => d.sync(() => {
|
|
1275
1291
|
e.seq <= i || (i = e.seq, n.onEvent(e.event), r.isTerminal(e.event) && (a = !0));
|
|
1276
1292
|
}), s = (e, t, a) => {
|
|
@@ -1293,15 +1309,15 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1293
1309
|
}));
|
|
1294
1310
|
});
|
|
1295
1311
|
return c(0);
|
|
1296
|
-
},
|
|
1312
|
+
}, ct = (e) => {
|
|
1297
1313
|
let t = e?._tag;
|
|
1298
1314
|
return t === "done" || t === "error";
|
|
1299
|
-
},
|
|
1300
|
-
let { runtime: i, client: a } =
|
|
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 = {
|
|
1301
1317
|
maxReconnects: r.maxReconnects ?? 6,
|
|
1302
1318
|
backoffMs: r.backoffMs ?? 400,
|
|
1303
1319
|
maxBackoffMs: r.maxBackoffMs ?? 8e3,
|
|
1304
|
-
isTerminal: r.isTerminal ??
|
|
1320
|
+
isTerminal: r.isTerminal ?? ct
|
|
1305
1321
|
}, y = n(() => {
|
|
1306
1322
|
let e = _.current;
|
|
1307
1323
|
e && (_.current = null, i.runFork(p.interrupt(e)), d((e) => e === "streaming" || e === "reconnecting" ? "idle" : e));
|
|
@@ -1314,13 +1330,13 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1314
1330
|
start: n((e = {}) => {
|
|
1315
1331
|
let n = _.current;
|
|
1316
1332
|
n && i.runFork(p.interrupt(n)), l([]), g(void 0), m(0), d("streaming");
|
|
1317
|
-
let r =
|
|
1333
|
+
let r = P(a, t), o = {
|
|
1318
1334
|
onEvent: (e) => l((t) => [...t, e]),
|
|
1319
1335
|
onStatus: d,
|
|
1320
1336
|
onReconnect: () => m((e) => e + 1),
|
|
1321
1337
|
onError: g
|
|
1322
1338
|
};
|
|
1323
|
-
_.current = i.runFork(
|
|
1339
|
+
_.current = i.runFork(st(r, e, o, v));
|
|
1324
1340
|
}, [
|
|
1325
1341
|
i,
|
|
1326
1342
|
a,
|
|
@@ -1332,13 +1348,13 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1332
1348
|
]),
|
|
1333
1349
|
cancel: y
|
|
1334
1350
|
};
|
|
1335
|
-
},
|
|
1351
|
+
}, ut = (e, t) => e.order - t.order || (e.stepOrder ?? 0) - (t.stepOrder ?? 0), dt = (e) => {
|
|
1336
1352
|
for (let t = e.length - 1; t >= 0; --t) {
|
|
1337
1353
|
let n = e[t];
|
|
1338
1354
|
if (n.role === "user" && n.content) return n.content;
|
|
1339
1355
|
}
|
|
1340
|
-
},
|
|
1341
|
-
let { threadId: i } = r, o =
|
|
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({
|
|
1342
1358
|
threadId: i,
|
|
1343
1359
|
order: o.data?.length ?? 0,
|
|
1344
1360
|
prompt: e,
|
|
@@ -1348,7 +1364,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1348
1364
|
i,
|
|
1349
1365
|
o.data
|
|
1350
1366
|
]), u = n(() => {
|
|
1351
|
-
let e =
|
|
1367
|
+
let e = dt(c);
|
|
1352
1368
|
return e === void 0 ? void 0 : l(e);
|
|
1353
1369
|
}, [c, l]);
|
|
1354
1370
|
return a(() => ({
|
|
@@ -1368,8 +1384,8 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1368
1384
|
l,
|
|
1369
1385
|
u
|
|
1370
1386
|
]);
|
|
1371
|
-
},
|
|
1372
|
-
let { events: r, status: c, error: l, start: u, cancel: d } =
|
|
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]);
|
|
1373
1389
|
return i(() => {
|
|
1374
1390
|
if (c !== "done" || m.current === null) return;
|
|
1375
1391
|
let e = m.current;
|
|
@@ -1395,7 +1411,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1395
1411
|
}, [u]),
|
|
1396
1412
|
cancel: d
|
|
1397
1413
|
};
|
|
1398
|
-
},
|
|
1414
|
+
}, mt = (e, t) => {
|
|
1399
1415
|
let r = U(e, t), [i, o] = s(void 0), c = n(async (e) => {
|
|
1400
1416
|
let t = await r.run({ question: e });
|
|
1401
1417
|
return o(t), t;
|
|
@@ -1413,43 +1429,43 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1413
1429
|
r.error,
|
|
1414
1430
|
l
|
|
1415
1431
|
]);
|
|
1416
|
-
},
|
|
1417
|
-
let { cache: t, runtime: r } =
|
|
1432
|
+
}, ht = (e) => {
|
|
1433
|
+
let { cache: t, runtime: r } = N(e);
|
|
1418
1434
|
return n(() => {
|
|
1419
1435
|
t.refreshAll(r);
|
|
1420
1436
|
}, [t, r]);
|
|
1421
|
-
}, J = /* @__PURE__ */ new Set(),
|
|
1437
|
+
}, J = /* @__PURE__ */ new Set(), gt = (e) => {
|
|
1422
1438
|
for (let t of J) try {
|
|
1423
1439
|
t(e);
|
|
1424
1440
|
} catch {}
|
|
1425
|
-
},
|
|
1441
|
+
}, _t = (e) => (J.add(e), () => {
|
|
1426
1442
|
J.delete(e);
|
|
1427
|
-
}),
|
|
1428
|
-
|
|
1443
|
+
}), vt = (e, t) => {
|
|
1444
|
+
gt({
|
|
1429
1445
|
error: e,
|
|
1430
1446
|
source: "manual",
|
|
1431
1447
|
...t ? { context: t } : {}
|
|
1432
1448
|
});
|
|
1433
|
-
},
|
|
1434
|
-
let { errorBus: n } =
|
|
1449
|
+
}, yt = (e, t) => {
|
|
1450
|
+
let { errorBus: n } = N(e);
|
|
1435
1451
|
i(() => n.on(t), [n, t]);
|
|
1436
|
-
},
|
|
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) => {
|
|
1437
1453
|
let n = e;
|
|
1438
1454
|
for (let e = 0; e < 8; e += 1) {
|
|
1439
1455
|
let e = n.$ref;
|
|
1440
|
-
if (typeof e != "string" || !e.startsWith(
|
|
1456
|
+
if (typeof e != "string" || !e.startsWith(bt)) return n;
|
|
1441
1457
|
let r = t[e.slice(8)];
|
|
1442
1458
|
if (!r || typeof r != "object") return n;
|
|
1443
1459
|
n = r;
|
|
1444
1460
|
}
|
|
1445
1461
|
return n;
|
|
1446
|
-
},
|
|
1462
|
+
}, St = (e) => {
|
|
1447
1463
|
if (!e || typeof e != "object") return !1;
|
|
1448
1464
|
let t = e;
|
|
1449
1465
|
if (t.type === "null" || t.const === null) return !0;
|
|
1450
1466
|
let n = t.enum;
|
|
1451
1467
|
return Array.isArray(n) && n.length === 1 && n[0] === null;
|
|
1452
|
-
},
|
|
1468
|
+
}, Ct = (e, t) => {
|
|
1453
1469
|
let n = e.type;
|
|
1454
1470
|
if (Array.isArray(n) && n.includes("null")) {
|
|
1455
1471
|
let t = n.filter((e) => e !== "null");
|
|
@@ -1464,7 +1480,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1464
1480
|
for (let n of ["anyOf", "oneOf"]) {
|
|
1465
1481
|
let r = e[n];
|
|
1466
1482
|
if (!Array.isArray(r)) continue;
|
|
1467
|
-
let i = r.filter((e) => !
|
|
1483
|
+
let i = r.filter((e) => !St(e));
|
|
1468
1484
|
if (i.length !== r.length) return i.length === 1 ? {
|
|
1469
1485
|
node: Y(i[0], t),
|
|
1470
1486
|
nullable: !0
|
|
@@ -1480,14 +1496,14 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1480
1496
|
node: e,
|
|
1481
1497
|
nullable: !1
|
|
1482
1498
|
};
|
|
1483
|
-
},
|
|
1499
|
+
}, wt = (e) => e.map((e) => ({
|
|
1484
1500
|
value: String(e),
|
|
1485
|
-
label:
|
|
1486
|
-
})),
|
|
1501
|
+
label: xt(String(e))
|
|
1502
|
+
})), Tt = (e) => {
|
|
1487
1503
|
let t = e.enum;
|
|
1488
1504
|
if (Array.isArray(t) && t.length > 0) return {
|
|
1489
1505
|
widget: "select",
|
|
1490
|
-
options:
|
|
1506
|
+
options: wt(t)
|
|
1491
1507
|
};
|
|
1492
1508
|
let n = e.type, r = Array.isArray(n) ? n.find((e) => e !== "null") : n, i = e.format;
|
|
1493
1509
|
switch (r) {
|
|
@@ -1498,37 +1514,37 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1498
1514
|
case "array": return { widget: "multi-select" };
|
|
1499
1515
|
default: return { widget: "custom" };
|
|
1500
1516
|
}
|
|
1501
|
-
},
|
|
1502
|
-
let { node: i, nullable: a } =
|
|
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);
|
|
1503
1519
|
return {
|
|
1504
1520
|
name: e,
|
|
1505
|
-
label:
|
|
1521
|
+
label: xt(e),
|
|
1506
1522
|
widget: s,
|
|
1507
1523
|
required: t.has(e),
|
|
1508
1524
|
nullable: a,
|
|
1509
1525
|
...c ? { options: c } : {},
|
|
1510
1526
|
jsonSchema: o
|
|
1511
1527
|
};
|
|
1512
|
-
}),
|
|
1528
|
+
}), Dt = (e) => {
|
|
1513
1529
|
try {
|
|
1514
1530
|
return m.make(e);
|
|
1515
1531
|
} catch {
|
|
1516
1532
|
return;
|
|
1517
1533
|
}
|
|
1518
1534
|
}, X = (e) => {
|
|
1519
|
-
let t =
|
|
1535
|
+
let t = Dt(e);
|
|
1520
1536
|
if (t === void 0) return [];
|
|
1521
1537
|
let n = t.$defs ?? {}, r = Y(t, n), i = r.properties;
|
|
1522
|
-
return i ?
|
|
1538
|
+
return i ? Et(i, new Set(Array.isArray(r.required) ? r.required : []), n) : [];
|
|
1523
1539
|
}, Z = (e) => {
|
|
1524
|
-
let t =
|
|
1540
|
+
let t = Dt(e);
|
|
1525
1541
|
if (t === void 0) return [];
|
|
1526
1542
|
let n = t.$defs ?? {}, r = Y(t, n);
|
|
1527
1543
|
if (r.type !== "array") return [];
|
|
1528
1544
|
let i = r.items;
|
|
1529
1545
|
if (!i || typeof i != "object") return [];
|
|
1530
1546
|
let a = Y(i, n), o = a.properties;
|
|
1531
|
-
return o ?
|
|
1547
|
+
return o ? Et(o, new Set(Array.isArray(a.required) ? a.required : []), n) : [];
|
|
1532
1548
|
}, Q = (e, t) => {
|
|
1533
1549
|
let n = h.decodeUnknownEither(e, { errors: "all" })(t);
|
|
1534
1550
|
if (n._tag === "Right") return {
|
|
@@ -1544,8 +1560,8 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1544
1560
|
valid: !1,
|
|
1545
1561
|
errors: r
|
|
1546
1562
|
};
|
|
1547
|
-
},
|
|
1548
|
-
let i =
|
|
1563
|
+
}, Ot = (e, t, r) => {
|
|
1564
|
+
let i = N(e), c = H(e, t), l = r.schema ?? i.descriptors[t]?.input;
|
|
1549
1565
|
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.`);
|
|
1550
1566
|
let u = a(() => l ? X(l) : [], [l]), d = o(r.defaults ?? {}), [f, p] = s(d.current), [m, h] = s({}), g = n((e, t) => {
|
|
1551
1567
|
p((n) => ({
|
|
@@ -1583,13 +1599,13 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1583
1599
|
reset: v,
|
|
1584
1600
|
submit: y
|
|
1585
1601
|
};
|
|
1586
|
-
},
|
|
1602
|
+
}, kt = (e, t, n) => e.map((e) => {
|
|
1587
1603
|
let r = String(e[n] ?? ""), i = e[t];
|
|
1588
1604
|
return {
|
|
1589
1605
|
value: r,
|
|
1590
1606
|
label: i == null ? r : String(i)
|
|
1591
1607
|
};
|
|
1592
|
-
}),
|
|
1608
|
+
}), At = (e, t, r = {}) => {
|
|
1593
1609
|
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);
|
|
1594
1610
|
i(() => {
|
|
1595
1611
|
if (d === p) return;
|
|
@@ -1600,7 +1616,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1600
1616
|
p,
|
|
1601
1617
|
o
|
|
1602
1618
|
]);
|
|
1603
|
-
let h = r.skipUntilTerm === !0 && p.trim() === "", g =
|
|
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), [
|
|
1604
1620
|
g.data,
|
|
1605
1621
|
c,
|
|
1606
1622
|
l
|
|
@@ -1611,8 +1627,8 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1611
1627
|
term: d,
|
|
1612
1628
|
search: v
|
|
1613
1629
|
};
|
|
1614
|
-
},
|
|
1615
|
-
let i =
|
|
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 ?? {} : {
|
|
1616
1632
|
...r.input,
|
|
1617
1633
|
limit: o
|
|
1618
1634
|
}, [r.input, o])), u = i.descriptors[t]?.output, d = n(() => {
|
|
@@ -1632,7 +1648,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1632
1648
|
let e = l.data ?? [];
|
|
1633
1649
|
if (p === void 0) return e;
|
|
1634
1650
|
let t = p.direction === "asc" ? 1 : -1;
|
|
1635
|
-
return [...e].sort((e, n) =>
|
|
1651
|
+
return [...e].sort((e, n) => jt(e[p.column], n[p.column]) * t);
|
|
1636
1652
|
}, [l.data, p]),
|
|
1637
1653
|
loading: l.data === void 0,
|
|
1638
1654
|
error: l.error,
|
|
@@ -1641,14 +1657,14 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1641
1657
|
loadMore: d,
|
|
1642
1658
|
hasMore: o !== void 0 && (l.data?.length ?? 0) >= o
|
|
1643
1659
|
};
|
|
1644
|
-
},
|
|
1660
|
+
}, Nt = (e, t, n, r) => {
|
|
1645
1661
|
let i = e.replace(/\/$/, ""), a = new URLSearchParams({
|
|
1646
1662
|
table: t,
|
|
1647
1663
|
id: n
|
|
1648
1664
|
});
|
|
1649
1665
|
return r !== void 0 && a.set("column", r), `${i}/_voltro/inspect/provenance?${a.toString()}`;
|
|
1650
|
-
},
|
|
1651
|
-
let { inspectBaseUrl: a } =
|
|
1666
|
+
}, Pt = Nt, Ft = (e, t, n, r) => {
|
|
1667
|
+
let { inspectBaseUrl: a } = N(e), [o, c] = s({
|
|
1652
1668
|
data: void 0,
|
|
1653
1669
|
loading: !0,
|
|
1654
1670
|
error: void 0
|
|
@@ -1660,7 +1676,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1660
1676
|
loading: !0,
|
|
1661
1677
|
error: void 0
|
|
1662
1678
|
});
|
|
1663
|
-
let i =
|
|
1679
|
+
let i = Nt(a ?? "", t, n, r);
|
|
1664
1680
|
return fetch(i).then(async (e) => {
|
|
1665
1681
|
if (!e.ok) throw Error(`provenance fetch failed: HTTP ${e.status}`);
|
|
1666
1682
|
return await e.json();
|
|
@@ -1686,8 +1702,8 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1686
1702
|
n,
|
|
1687
1703
|
r
|
|
1688
1704
|
]), o;
|
|
1689
|
-
},
|
|
1690
|
-
let { inspectBaseUrl: t } =
|
|
1705
|
+
}, It = (e) => `${e.replace(/\/$/, "")}/_voltro/inspect/manifest`, Lt = (e) => {
|
|
1706
|
+
let { inspectBaseUrl: t } = N(e), [n, r] = s({
|
|
1691
1707
|
manifest: void 0,
|
|
1692
1708
|
loading: !0,
|
|
1693
1709
|
error: void 0
|
|
@@ -1698,7 +1714,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1698
1714
|
manifest: void 0,
|
|
1699
1715
|
loading: !0,
|
|
1700
1716
|
error: void 0
|
|
1701
|
-
}), fetch(
|
|
1717
|
+
}), fetch(It(t ?? "")).then(async (e) => {
|
|
1702
1718
|
if (!e.ok) throw Error(`manifest fetch failed: HTTP ${e.status}`);
|
|
1703
1719
|
return await e.json();
|
|
1704
1720
|
}).then((t) => {
|
|
@@ -1717,8 +1733,8 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1717
1733
|
e = !0;
|
|
1718
1734
|
};
|
|
1719
1735
|
}, [e, t]), n;
|
|
1720
|
-
},
|
|
1721
|
-
let n = e.procedures.find((e) => e.kind === "query" &&
|
|
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"));
|
|
1722
1738
|
return {
|
|
1723
1739
|
table: t.name,
|
|
1724
1740
|
columns: t.columns,
|
|
@@ -1731,7 +1747,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1731
1747
|
writeScope: `${t.name}:write`,
|
|
1732
1748
|
deleteScope: `${t.name}:delete`
|
|
1733
1749
|
};
|
|
1734
|
-
}),
|
|
1750
|
+
}), Vt = (e) => {
|
|
1735
1751
|
let [t, r] = s([]), [i, o] = s([]), c = n((e) => {
|
|
1736
1752
|
r((t) => [...t, e]), o([]);
|
|
1737
1753
|
}, []), l = n(async () => {
|
|
@@ -1759,8 +1775,8 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1759
1775
|
l,
|
|
1760
1776
|
u
|
|
1761
1777
|
]);
|
|
1762
|
-
},
|
|
1763
|
-
let r = t?.limit, { data: i } =
|
|
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) => {
|
|
1764
1780
|
await a.mutate({ invocationId: e });
|
|
1765
1781
|
}, [a]), d = n(async (e) => {
|
|
1766
1782
|
await o.mutate({ invocationId: e });
|
|
@@ -1779,13 +1795,13 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1779
1795
|
undoLast: f,
|
|
1780
1796
|
redoLast: p
|
|
1781
1797
|
};
|
|
1782
|
-
},
|
|
1798
|
+
}, Kt = (e, t) => ({
|
|
1783
1799
|
name: e,
|
|
1784
1800
|
map: t
|
|
1785
|
-
}), $ = (e, t) => e === void 0 ? null : typeof e == "string" ? { event: e } : e(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) => {
|
|
1786
1802
|
let r = { ...t };
|
|
1787
1803
|
for (let [i, a] of Object.entries(e.map)) {
|
|
1788
|
-
if (
|
|
1804
|
+
if (qt.has(i) || a === void 0) continue;
|
|
1789
1805
|
let e = t[i];
|
|
1790
1806
|
r[i] = (...r) => {
|
|
1791
1807
|
let i = $(a, t);
|
|
@@ -1793,7 +1809,7 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1793
1809
|
};
|
|
1794
1810
|
}
|
|
1795
1811
|
return r;
|
|
1796
|
-
},
|
|
1812
|
+
}, Yt = (e, t, n) => {
|
|
1797
1813
|
let r = o({
|
|
1798
1814
|
spec: e,
|
|
1799
1815
|
props: t,
|
|
@@ -1809,45 +1825,45 @@ var b = /* @__PURE__ */ new Set(), x = (e) => {
|
|
|
1809
1825
|
let e = r.current, t = $(e.spec.map.onUnmount, e.props);
|
|
1810
1826
|
t !== null && e.sink(t);
|
|
1811
1827
|
};
|
|
1812
|
-
}, []), a(() =>
|
|
1828
|
+
}, []), a(() => Jt(e, t, n), [
|
|
1813
1829
|
e,
|
|
1814
1830
|
t,
|
|
1815
1831
|
n
|
|
1816
1832
|
]);
|
|
1817
|
-
},
|
|
1818
|
-
let n =
|
|
1833
|
+
}, Xt = (e, t) => {
|
|
1834
|
+
let n = N(e).descriptors[t]?.input;
|
|
1819
1835
|
return a(() => n === void 0 ? [] : X(n), [n]);
|
|
1820
|
-
},
|
|
1821
|
-
let n =
|
|
1836
|
+
}, Zt = (e, t) => {
|
|
1837
|
+
let n = N(e).descriptors[t]?.output;
|
|
1822
1838
|
return a(() => n === void 0 ? [] : Z(n), [n]);
|
|
1823
|
-
},
|
|
1839
|
+
}, Qt = (e, t) => {
|
|
1824
1840
|
if (e === t) return !0;
|
|
1825
1841
|
if (e.length !== t.length) return !1;
|
|
1826
1842
|
for (let n = 0; n < e.length; n += 1) if (!Object.is(e[n], t[n])) return !1;
|
|
1827
1843
|
return !0;
|
|
1828
|
-
},
|
|
1829
|
-
let n = o(null), r =
|
|
1830
|
-
return (n.current === null || !
|
|
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 = {
|
|
1831
1847
|
key: r,
|
|
1832
1848
|
value: t(e)
|
|
1833
1849
|
}), n.current.value;
|
|
1834
|
-
},
|
|
1835
|
-
function
|
|
1836
|
-
return t(
|
|
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);
|
|
1837
1853
|
}
|
|
1838
|
-
var
|
|
1839
|
-
let i =
|
|
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);
|
|
1840
1856
|
return a(() => ({
|
|
1841
1857
|
allowed: i.data?.allowed === !0,
|
|
1842
1858
|
pending: i.data === void 0
|
|
1843
1859
|
}), [i.data]);
|
|
1844
|
-
},
|
|
1845
|
-
let i =
|
|
1860
|
+
}, dn = (e, t, n, r = {}) => {
|
|
1861
|
+
let i = F(e, t, { ...n }, r);
|
|
1846
1862
|
return a(() => ({
|
|
1847
1863
|
allowedIds: new Set(i.data?.allowedIds ?? []),
|
|
1848
1864
|
pending: i.data === void 0
|
|
1849
1865
|
}), [i.data]);
|
|
1850
|
-
},
|
|
1866
|
+
}, fn = (e) => {
|
|
1851
1867
|
switch (e) {
|
|
1852
1868
|
case "select":
|
|
1853
1869
|
case "radio":
|
|
@@ -1863,25 +1879,25 @@ var en = () => r(Qt), tn = (e) => Zt(en().scopes, e), nn = (e, t, n, r = {}) =>
|
|
|
1863
1879
|
case "switch": return "boolean";
|
|
1864
1880
|
default: return null;
|
|
1865
1881
|
}
|
|
1866
|
-
},
|
|
1867
|
-
let t =
|
|
1882
|
+
}, pn = (e) => X(e).map((e) => {
|
|
1883
|
+
let t = fn(e.widget);
|
|
1868
1884
|
return t === null ? null : {
|
|
1869
1885
|
name: e.name,
|
|
1870
1886
|
label: e.label,
|
|
1871
1887
|
kind: t,
|
|
1872
1888
|
...e.options ? { options: e.options } : {}
|
|
1873
1889
|
};
|
|
1874
|
-
}).filter((e) => e !== null),
|
|
1890
|
+
}).filter((e) => e !== null), mn = (e) => {
|
|
1875
1891
|
let t = {};
|
|
1876
1892
|
for (let [n, r] of Object.entries(e)) r === void 0 || r === "" || Array.isArray(r) && r.length === 0 || (t[n] = r);
|
|
1877
1893
|
return t;
|
|
1878
|
-
},
|
|
1879
|
-
let i =
|
|
1880
|
-
l((n) =>
|
|
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({
|
|
1881
1897
|
...n,
|
|
1882
1898
|
[e]: t
|
|
1883
1899
|
}));
|
|
1884
|
-
}, []), d = n(() => l({}), []), f =
|
|
1900
|
+
}, []), d = n(() => l({}), []), f = F(e, t, a(() => mn(c), [c]));
|
|
1885
1901
|
return {
|
|
1886
1902
|
filters: o,
|
|
1887
1903
|
values: c,
|
|
@@ -1892,20 +1908,20 @@ var en = () => r(Qt), tn = (e) => Zt(en().scopes, e), nn = (e, t, n, r = {}) =>
|
|
|
1892
1908
|
loading: f.data === void 0,
|
|
1893
1909
|
error: f.error
|
|
1894
1910
|
};
|
|
1895
|
-
},
|
|
1896
|
-
let r =
|
|
1911
|
+
}, gn = (e, t, n = {}) => {
|
|
1912
|
+
let r = F(e, t, n), i = r.data;
|
|
1897
1913
|
return {
|
|
1898
1914
|
record: Array.isArray(i) ? i[0] : i,
|
|
1899
1915
|
loading: i === void 0,
|
|
1900
1916
|
error: r.error
|
|
1901
1917
|
};
|
|
1902
|
-
},
|
|
1918
|
+
}, _n = (e, t = 300) => {
|
|
1903
1919
|
let [n, r] = s(e);
|
|
1904
1920
|
return i(() => {
|
|
1905
1921
|
let n = setTimeout(() => r(e), t);
|
|
1906
1922
|
return () => clearTimeout(n);
|
|
1907
1923
|
}, [e, t]), n;
|
|
1908
|
-
},
|
|
1924
|
+
}, vn = (e) => {
|
|
1909
1925
|
let { value: t, debouncedValue: n, data: r, interpret: i, skipEmpty: a = !0 } = e;
|
|
1910
1926
|
if (a && t.trim() === "") return {
|
|
1911
1927
|
status: "idle",
|
|
@@ -1923,19 +1939,19 @@ var en = () => r(Qt), tn = (e) => Zt(en().scopes, e), nn = (e, t, n, r = {}) =>
|
|
|
1923
1939
|
valid: o.valid,
|
|
1924
1940
|
message: o.message
|
|
1925
1941
|
};
|
|
1926
|
-
},
|
|
1927
|
-
let { input: i, interpret: o, debounceMs: s = 300, skipEmpty: c = !0 } = r, l =
|
|
1928
|
-
return
|
|
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({
|
|
1929
1945
|
value: n,
|
|
1930
1946
|
debouncedValue: l,
|
|
1931
1947
|
data: u ? null : d.data,
|
|
1932
1948
|
interpret: o,
|
|
1933
1949
|
skipEmpty: c
|
|
1934
1950
|
});
|
|
1935
|
-
},
|
|
1951
|
+
}, bn = (e, t) => ({
|
|
1936
1952
|
name: e,
|
|
1937
1953
|
payload: t
|
|
1938
|
-
}),
|
|
1954
|
+
}), xn = (e, t) => {
|
|
1939
1955
|
let n = h.decodeUnknownEither(e.payload, { errors: "all" })(t);
|
|
1940
1956
|
if (n._tag === "Right") return {
|
|
1941
1957
|
valid: !0,
|
|
@@ -1947,15 +1963,15 @@ var en = () => r(Qt), tn = (e) => Zt(en().scopes, e), nn = (e, t, n, r = {}) =>
|
|
|
1947
1963
|
valid: !1,
|
|
1948
1964
|
errors: r
|
|
1949
1965
|
};
|
|
1950
|
-
},
|
|
1966
|
+
}, Sn = (e) => {
|
|
1951
1967
|
let t = new Map(e.map((e) => [e.name, e]));
|
|
1952
1968
|
return {
|
|
1953
1969
|
names: [...t.keys()].sort(),
|
|
1954
1970
|
get: (e) => t.get(e),
|
|
1955
1971
|
events: e
|
|
1956
1972
|
};
|
|
1957
|
-
},
|
|
1958
|
-
let n =
|
|
1973
|
+
}, Cn = (e, t) => {
|
|
1974
|
+
let n = Sn(e);
|
|
1959
1975
|
return {
|
|
1960
1976
|
track: (e, r) => {
|
|
1961
1977
|
let i = n.get(e);
|
|
@@ -1964,7 +1980,7 @@ var en = () => r(Qt), tn = (e) => Zt(en().scopes, e), nn = (e, t, n, r = {}) =>
|
|
|
1964
1980
|
return;
|
|
1965
1981
|
}
|
|
1966
1982
|
if (process.env.NODE_ENV !== "production") {
|
|
1967
|
-
let t =
|
|
1983
|
+
let t = xn(i, r);
|
|
1968
1984
|
t.valid || console.error(`[@voltro/client] analytics.track('${e}'): payload failed its schema`, t.errors);
|
|
1969
1985
|
}
|
|
1970
1986
|
t({
|
|
@@ -1975,7 +1991,7 @@ var en = () => r(Qt), tn = (e) => Zt(en().scopes, e), nn = (e, t, n, r = {}) =>
|
|
|
1975
1991
|
names: n.names,
|
|
1976
1992
|
catalog: n
|
|
1977
1993
|
};
|
|
1978
|
-
},
|
|
1994
|
+
}, wn = (e, t) => {
|
|
1979
1995
|
let r = U(e, t);
|
|
1980
1996
|
return {
|
|
1981
1997
|
preview: n((e) => r.run(e), [r]),
|
|
@@ -1983,34 +1999,34 @@ var en = () => r(Qt), tn = (e) => Zt(en().scopes, e), nn = (e, t, n, r = {}) =>
|
|
|
1983
1999
|
pending: r.pending,
|
|
1984
2000
|
error: r.error
|
|
1985
2001
|
};
|
|
1986
|
-
},
|
|
2002
|
+
}, Tn = (e, t, n, r) => [...e, {
|
|
1987
2003
|
id: t,
|
|
1988
2004
|
tag: n,
|
|
1989
2005
|
input: r,
|
|
1990
2006
|
status: "pending",
|
|
1991
2007
|
attempts: 0
|
|
1992
|
-
}],
|
|
2008
|
+
}], En = (e, t, n) => e.map((e) => e.id === t ? {
|
|
1993
2009
|
...e,
|
|
1994
2010
|
...n
|
|
1995
|
-
} : e),
|
|
2011
|
+
} : e), Dn = (e, t) => En(e, t, { status: "sent" }), On = (e, t, n) => e.map((e) => e.id === t ? {
|
|
1996
2012
|
...e,
|
|
1997
2013
|
status: "failed",
|
|
1998
2014
|
error: n,
|
|
1999
2015
|
attempts: e.attempts + 1
|
|
2000
|
-
} : e),
|
|
2016
|
+
} : e), kn = (e, t, n) => En(e, t, {
|
|
2001
2017
|
status: "conflict",
|
|
2002
2018
|
error: n
|
|
2003
|
-
}),
|
|
2019
|
+
}), An = (e) => e.filter((e) => e.status !== "sent"), jn = (e) => {
|
|
2004
2020
|
let t = [];
|
|
2005
2021
|
for (let n of e) {
|
|
2006
2022
|
if (n.status === "conflict") break;
|
|
2007
2023
|
(n.status === "pending" || n.status === "failed") && t.push(n);
|
|
2008
2024
|
}
|
|
2009
2025
|
return t;
|
|
2010
|
-
},
|
|
2026
|
+
}, Mn = (e) => {
|
|
2011
2027
|
let t = e;
|
|
2012
2028
|
return t?.conflict === !0 || t?._tag === "UndoBoundaryError" && t?.boundary === "conflict";
|
|
2013
|
-
},
|
|
2029
|
+
}, Nn = (e) => {
|
|
2014
2030
|
let [t, n] = s(e ?? (typeof navigator < "u" ? navigator.onLine : !0));
|
|
2015
2031
|
return i(() => {
|
|
2016
2032
|
if (e !== void 0) {
|
|
@@ -2023,21 +2039,21 @@ var en = () => r(Qt), tn = (e) => Zt(en().scopes, e), nn = (e, t, n, r = {}) =>
|
|
|
2023
2039
|
window.removeEventListener("online", t), window.removeEventListener("offline", r);
|
|
2024
2040
|
};
|
|
2025
2041
|
}, [e]), t;
|
|
2026
|
-
},
|
|
2027
|
-
let { send: t, isConflict: r =
|
|
2042
|
+
}, Pn = (e) => {
|
|
2043
|
+
let { send: t, isConflict: r = Mn, idFor: a } = e, [c, l] = s([]), u = Nn(e.online), d = o(c);
|
|
2028
2044
|
d.current = c;
|
|
2029
2045
|
let f = o(0), p = n((e, t) => {
|
|
2030
2046
|
let n = a?.() ?? `obx_${f.current++}_${e}`;
|
|
2031
|
-
l((r) =>
|
|
2047
|
+
l((r) => Tn(r, n, e, t));
|
|
2032
2048
|
}, [a]), m = n(async () => {
|
|
2033
|
-
for (let e of
|
|
2034
|
-
await t(e), l((t) =>
|
|
2049
|
+
for (let e of jn(d.current)) try {
|
|
2050
|
+
await t(e), l((t) => Dn(t, e.id));
|
|
2035
2051
|
} catch (t) {
|
|
2036
2052
|
if (r(t)) {
|
|
2037
|
-
l((n) =>
|
|
2053
|
+
l((n) => kn(n, e.id, t));
|
|
2038
2054
|
break;
|
|
2039
2055
|
}
|
|
2040
|
-
l((n) =>
|
|
2056
|
+
l((n) => On(n, e.id, t));
|
|
2041
2057
|
}
|
|
2042
2058
|
}, [t, r]);
|
|
2043
2059
|
return i(() => {
|
|
@@ -2050,7 +2066,7 @@ var en = () => r(Qt), tn = (e) => Zt(en().scopes, e), nn = (e, t, n, r = {}) =>
|
|
|
2050
2066
|
pending: c.filter((e) => e.status === "pending" || e.status === "failed").length,
|
|
2051
2067
|
conflicts: c.filter((e) => e.status === "conflict")
|
|
2052
2068
|
};
|
|
2053
|
-
},
|
|
2069
|
+
}, Fn = (e) => {
|
|
2054
2070
|
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);
|
|
2055
2071
|
return {
|
|
2056
2072
|
startIndex: l,
|
|
@@ -2060,8 +2076,8 @@ var en = () => r(Qt), tn = (e) => Zt(en().scopes, e), nn = (e, t, n, r = {}) =>
|
|
|
2060
2076
|
topSpacer: l * r,
|
|
2061
2077
|
bottomSpacer: a === void 0 ? 0 : Math.max(0, (a - d) * r)
|
|
2062
2078
|
};
|
|
2063
|
-
},
|
|
2064
|
-
let { rowHeight: i, viewportHeight: o, overscan: c, total: l, input: u } = r, [d, f] = s(0), p = a(() =>
|
|
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({
|
|
2065
2081
|
scrollTop: d,
|
|
2066
2082
|
viewportHeight: o,
|
|
2067
2083
|
rowHeight: i,
|
|
@@ -2073,7 +2089,7 @@ var en = () => r(Qt), tn = (e) => Zt(en().scopes, e), nn = (e, t, n, r = {}) =>
|
|
|
2073
2089
|
i,
|
|
2074
2090
|
c,
|
|
2075
2091
|
l
|
|
2076
|
-
]), m =
|
|
2092
|
+
]), m = F(e, t, a(() => ({
|
|
2077
2093
|
...u,
|
|
2078
2094
|
offset: p.offset,
|
|
2079
2095
|
limit: p.limit
|
|
@@ -2093,6 +2109,33 @@ var en = () => r(Qt), tn = (e) => Zt(en().scopes, e), nn = (e, t, n, r = {}) =>
|
|
|
2093
2109
|
loading: m.data === void 0,
|
|
2094
2110
|
error: m.error
|
|
2095
2111
|
};
|
|
2096
|
-
},
|
|
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);
|
|
2114
|
+
i(() => (f.current = !0, () => {
|
|
2115
|
+
f.current = !1;
|
|
2116
|
+
}), []), i(() => {
|
|
2117
|
+
if (typeof window > "u") return;
|
|
2118
|
+
let e = () => {
|
|
2119
|
+
a(!0), l(0);
|
|
2120
|
+
}, t = () => a(!1);
|
|
2121
|
+
return window.addEventListener("online", e), window.addEventListener("offline", t), () => {
|
|
2122
|
+
window.removeEventListener("online", e), window.removeEventListener("offline", t);
|
|
2123
|
+
};
|
|
2124
|
+
}, []), i(() => {
|
|
2125
|
+
if (t?.on) return t.on(() => {
|
|
2126
|
+
f.current && (l((e) => e + 1), d(Date.now()));
|
|
2127
|
+
});
|
|
2128
|
+
}, [t]);
|
|
2129
|
+
let p = n(() => {
|
|
2130
|
+
l(0);
|
|
2131
|
+
}, []);
|
|
2132
|
+
return {
|
|
2133
|
+
status: r ? c > 0 ? "degraded" : "connected" : "offline",
|
|
2134
|
+
online: r,
|
|
2135
|
+
failureCount: c,
|
|
2136
|
+
lastFailureAt: u,
|
|
2137
|
+
reportSuccess: p
|
|
2138
|
+
};
|
|
2139
|
+
}, zn = "framework-client";
|
|
2097
2140
|
//#endregion
|
|
2098
|
-
export {
|
|
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 };
|