@voltro/client 0.23.0 → 0.25.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 +537 -0
- package/dist/index.d.ts +73 -0
- package/dist/index.js +480 -391
- package/package.json +4 -2
package/dist/index.js
CHANGED
|
@@ -1,36 +1,38 @@
|
|
|
1
1
|
import { createContext as e, createElement as t, useCallback as n, useContext as r, useDebugValue as i, useEffect as a, useMemo as o, useRef as s, useState as c, useSyncExternalStore as l } from "react";
|
|
2
|
-
import { Cause as u, Duration as d, Effect as f, Exit as p, Fiber as m, JSONSchema as h,
|
|
3
|
-
import { applyRowPatch as
|
|
4
|
-
import { jsx as
|
|
5
|
-
import
|
|
2
|
+
import { Cause as u, Duration as d, Effect as f, Exit as p, Fiber as m, JSONSchema as h, Schedule as g, Schema as _, Stream as v } from "effect";
|
|
3
|
+
import { applyRowPatch as y } from "@voltro/protocol";
|
|
4
|
+
import { jsx as b } from "react/jsx-runtime";
|
|
5
|
+
import * as x from "@effect/platform/Headers";
|
|
6
|
+
import { RpcClient as S } from "@effect/rpc";
|
|
7
|
+
import { ArrayFormatter as C } from "effect/ParseResult";
|
|
6
8
|
//#region src/traceBus.ts
|
|
7
|
-
var
|
|
8
|
-
for (let t of
|
|
9
|
+
var w = /* @__PURE__ */ new Set(), T = (e) => {
|
|
10
|
+
for (let t of w) try {
|
|
9
11
|
t(e);
|
|
10
12
|
} catch {}
|
|
11
|
-
},
|
|
12
|
-
|
|
13
|
-
}),
|
|
13
|
+
}, ee = (e) => (w.add(e), () => {
|
|
14
|
+
w.delete(e);
|
|
15
|
+
}), E = (e) => {
|
|
14
16
|
let t = (e) => e == null ? "null" : typeof e == "string" ? JSON.stringify(e) : typeof e == "number" || typeof e == "boolean" ? String(e) : Array.isArray(e) ? `[${e.map(t).join(",")}]` : typeof e == "object" ? `{${Object.keys(e).sort().map((n) => `${JSON.stringify(n)}:${t(e[n])}`).join(",")}}` : String(e);
|
|
15
17
|
return t(e);
|
|
16
|
-
},
|
|
18
|
+
}, te = Object.freeze({
|
|
17
19
|
data: void 0,
|
|
18
20
|
revision: -1,
|
|
19
21
|
emittedAt: void 0,
|
|
20
22
|
error: void 0,
|
|
21
23
|
pendingPatches: 0
|
|
22
|
-
}),
|
|
24
|
+
}), ne = 5e3, D = 0, re = () => `patch_${++D}`, O = (e, t) => {
|
|
23
25
|
let n = e;
|
|
24
26
|
for (let e of t.split(".")) {
|
|
25
27
|
if (typeof n != "object" || !n) return;
|
|
26
28
|
n = n[e];
|
|
27
29
|
}
|
|
28
30
|
return n;
|
|
29
|
-
},
|
|
31
|
+
}, ie = (e, t, n) => {
|
|
30
32
|
let r = t.split("."), i = (e) => typeof e == "object" && e && !Array.isArray(e) ? { ...e } : {}, a = i(e), o = a;
|
|
31
33
|
for (let e = 0; e < r.length - 1; e += 1) o[r[e]] = i(o[r[e]]), o = o[r[e]];
|
|
32
34
|
return o[r[r.length - 1]] = n, a;
|
|
33
|
-
},
|
|
35
|
+
}, k = (e, t) => {
|
|
34
36
|
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
37
|
return i.length === 0 ? null : new Set(i);
|
|
36
38
|
}, ae = (e, t, n) => {
|
|
@@ -46,11 +48,11 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
|
|
|
46
48
|
optimistic: !0
|
|
47
49
|
}, s = e.order ?? "append";
|
|
48
50
|
return (e) => {
|
|
49
|
-
let t = Array.isArray(
|
|
50
|
-
return
|
|
51
|
+
let t = Array.isArray(O(e, r)) ? O(e, r) : [];
|
|
52
|
+
return ie(e ?? {}, r, s === "append" ? [...t, o] : [o, ...t]);
|
|
51
53
|
};
|
|
52
54
|
}
|
|
53
|
-
let a =
|
|
55
|
+
let a = k(e, t);
|
|
54
56
|
if (a === null) return null;
|
|
55
57
|
if (e.op === "update") {
|
|
56
58
|
let n = e.shapeItem ?? e.shape, o = n ? (e) => ({
|
|
@@ -64,13 +66,13 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
|
|
|
64
66
|
optimistic: !0
|
|
65
67
|
});
|
|
66
68
|
return (e) => {
|
|
67
|
-
let t = Array.isArray(
|
|
68
|
-
return
|
|
69
|
+
let t = Array.isArray(O(e, r)) ? O(e, r) : [];
|
|
70
|
+
return ie(e, r, t.map((e) => a.has(e[i]) ? o(e) : e));
|
|
69
71
|
};
|
|
70
72
|
}
|
|
71
73
|
return (e) => {
|
|
72
|
-
let t = Array.isArray(
|
|
73
|
-
return
|
|
74
|
+
let t = Array.isArray(O(e, r)) ? O(e, r) : [];
|
|
75
|
+
return ie(e, r, t.filter((e) => !a.has(e[i])));
|
|
74
76
|
};
|
|
75
77
|
}, oe = (e, t, n) => {
|
|
76
78
|
if (e.path !== void 0) return ae(e, t, n);
|
|
@@ -91,7 +93,7 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
|
|
|
91
93
|
};
|
|
92
94
|
}
|
|
93
95
|
case "update": {
|
|
94
|
-
let n =
|
|
96
|
+
let n = k(e, t);
|
|
95
97
|
if (n === null) return null;
|
|
96
98
|
let r = e.shape, i = r ? (e) => ({
|
|
97
99
|
...r(t, e),
|
|
@@ -108,7 +110,7 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
|
|
|
108
110
|
});
|
|
109
111
|
}
|
|
110
112
|
case "delete": {
|
|
111
|
-
let n =
|
|
113
|
+
let n = k(e, t);
|
|
112
114
|
return n === null ? null : (e) => (Array.isArray(e) ? e : []).filter((e) => !n.has(e.id));
|
|
113
115
|
}
|
|
114
116
|
}
|
|
@@ -121,17 +123,17 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
|
|
|
121
123
|
this.inactiveTtlMs = e.inactiveTtlMs ?? se, this.onChangeHook = e.onChange, this.errorBus = e.errorBus;
|
|
122
124
|
}
|
|
123
125
|
subscribe(e, t, n, r, i = {}) {
|
|
124
|
-
let a =
|
|
126
|
+
let a = E(e), o = typeof e[0] == "string" ? e[0] : void 0, s = this.entries.get(a);
|
|
125
127
|
return s && s.evictionTimer !== null && (clearTimeout(s.evictionTimer), s.evictionTimer = null), s ? (s.fiber === null && (s.fetch = t, this.startFiber(s, t, n)), s.source === void 0 && i.source !== void 0 && (s.source = i.source)) : s = this.create(a, o, t, n, i.source), s.subscribers.add(r), {
|
|
126
128
|
getSnapshot: () => this.getSnapshot(a),
|
|
127
129
|
unsubscribe: () => this.unsubscribe(a, r)
|
|
128
130
|
};
|
|
129
131
|
}
|
|
130
132
|
update(e, t, n) {
|
|
131
|
-
let r =
|
|
133
|
+
let r = E(e), i = typeof e[0] == "string" ? e[0] : void 0, a = this.entries.get(r);
|
|
132
134
|
a ||= this.createStub(r, i);
|
|
133
135
|
let o = {
|
|
134
|
-
id:
|
|
136
|
+
id: re(),
|
|
135
137
|
mutationId: n,
|
|
136
138
|
reducer: t
|
|
137
139
|
};
|
|
@@ -145,7 +147,7 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
|
|
|
145
147
|
for (let i of this.entries.values()) {
|
|
146
148
|
if (i.tag !== e) continue;
|
|
147
149
|
let a = {
|
|
148
|
-
id: `forTag-${++
|
|
150
|
+
id: `forTag-${++D}`,
|
|
149
151
|
mutationId: n,
|
|
150
152
|
reducer: t
|
|
151
153
|
};
|
|
@@ -162,10 +164,10 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
|
|
|
162
164
|
confirmByMutation(e) {
|
|
163
165
|
let t = !1;
|
|
164
166
|
for (let n of this.entries.values()) for (let r of n.state.patches) r.mutationId === e && r.confirmed !== !0 && (r.confirmed = !0, t = !0);
|
|
165
|
-
t && setTimeout(() => this.revertByMutation(e),
|
|
167
|
+
t && setTimeout(() => this.revertByMutation(e), ne);
|
|
166
168
|
}
|
|
167
169
|
autoApply(e, t, n) {
|
|
168
|
-
let r = `optimistic-${n}-${++
|
|
170
|
+
let r = `optimistic-${n}-${++D}`;
|
|
169
171
|
for (let i of e) for (let e of this.entries.values()) {
|
|
170
172
|
if (!(Array.isArray(e.source) ? e.source.includes(i.table) : e.source === i.table)) continue;
|
|
171
173
|
if (i.match !== void 0) {
|
|
@@ -195,10 +197,10 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
|
|
|
195
197
|
n.state.patches = n.state.patches.filter((e) => e.id !== t), n.state.patches.length !== r && this.invalidate(n);
|
|
196
198
|
}
|
|
197
199
|
peek(e) {
|
|
198
|
-
return this.getSnapshot(
|
|
200
|
+
return this.getSnapshot(E(e));
|
|
199
201
|
}
|
|
200
202
|
getEntry(e) {
|
|
201
|
-
return this.entries.get(
|
|
203
|
+
return this.entries.get(E(e));
|
|
202
204
|
}
|
|
203
205
|
size() {
|
|
204
206
|
return this.entries.size;
|
|
@@ -267,18 +269,18 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
|
|
|
267
269
|
};
|
|
268
270
|
}
|
|
269
271
|
startFiber(e, t, n) {
|
|
270
|
-
let r = e.tag ?? e.key, i = t(), a =
|
|
272
|
+
let r = e.tag ?? e.key, i = t(), a = v.unwrapScoped(f.currentSpan.pipe(f.catchAll(() => f.succeed(void 0)), f.map((t) => (t && (e.traceId = t.traceId, T({
|
|
271
273
|
traceId: t.traceId,
|
|
272
274
|
spanId: t.spanId,
|
|
273
275
|
source: "subscription",
|
|
274
276
|
tag: r
|
|
275
|
-
})), i)))).pipe(
|
|
276
|
-
e.fiber = n.runFork(a.pipe(
|
|
277
|
+
})), i)))).pipe(v.withSpan(`client.subscription.${r}`, { attributes: { "rpc.tag": r } }));
|
|
278
|
+
e.fiber = n.runFork(a.pipe(v.runForEach((t) => f.sync(() => {
|
|
277
279
|
if (t._tag === "snapshot") e.state.base = t.data, e.state.baseRevision = t.revision, e.state.baseEmittedAt = void 0, e.state.baseError = void 0, t.computed === !0 && (e.computed = !0);
|
|
278
280
|
else if (t._tag === "error") e.state.baseError = u.fail(t.error), typeof t.revision == "number" && (e.state.baseRevision = t.revision);
|
|
279
281
|
else {
|
|
280
282
|
let n = e.state.base;
|
|
281
|
-
Array.isArray(n) && (e.state.base =
|
|
283
|
+
Array.isArray(n) && (e.state.base = y(n, t.patch)), e.state.baseRevision = t.revision, e.state.baseEmittedAt = t.emittedAt, e.state.baseError = void 0;
|
|
282
284
|
}
|
|
283
285
|
e.state.patches.some((e) => e.confirmed === !0) && (e.state.patches = e.state.patches.filter((e) => e.confirmed !== !0)), this.invalidate(e);
|
|
284
286
|
})))), e.fiber.addObserver((t) => {
|
|
@@ -300,7 +302,7 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
|
|
|
300
302
|
}
|
|
301
303
|
getSnapshot(e) {
|
|
302
304
|
let t = this.entries.get(e);
|
|
303
|
-
if (!t) return
|
|
305
|
+
if (!t) return te;
|
|
304
306
|
if (t.state.cachedSnapshot !== null) return t.state.cachedSnapshot;
|
|
305
307
|
let n = t.state.base;
|
|
306
308
|
if (n !== void 0 && t.state.patches.length > 0) for (let e of t.state.patches) n = e.reducer(n);
|
|
@@ -339,30 +341,30 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
|
|
|
339
341
|
t(e);
|
|
340
342
|
} catch {}
|
|
341
343
|
}
|
|
342
|
-
},
|
|
344
|
+
}, A = e(null), de = () => {
|
|
343
345
|
throw Error("Voltro: rpc / cache calls are not invokable on a not-yet-resolved api — either during SSR, or in the client boot window before the api client resolves");
|
|
344
|
-
},
|
|
345
|
-
get: (e, t) =>
|
|
346
|
+
}, fe = new Proxy(() => de(), {
|
|
347
|
+
get: (e, t) => fe,
|
|
346
348
|
has: () => !0,
|
|
347
|
-
apply: () =>
|
|
349
|
+
apply: () => de()
|
|
348
350
|
}), pe = {
|
|
349
351
|
runtime: { runPromise: () => Promise.reject(/* @__PURE__ */ Error("Voltro: mutations are not invokable during SSR")) },
|
|
350
352
|
cache: new le(),
|
|
351
|
-
client:
|
|
353
|
+
client: fe,
|
|
352
354
|
descriptors: {},
|
|
353
355
|
inspectBaseUrl: "",
|
|
354
356
|
errorBus: new ue()
|
|
355
357
|
}, me = {
|
|
356
358
|
get: () => pe,
|
|
357
359
|
names: []
|
|
358
|
-
},
|
|
359
|
-
|
|
360
|
+
}, j = !1, M = !1, N = null, he = () => {
|
|
361
|
+
j = !1, M = !1, N !== null && (clearTimeout(N), N = null);
|
|
360
362
|
}, ge = () => {
|
|
361
|
-
let e = r(
|
|
362
|
-
return e ? (
|
|
363
|
-
|
|
363
|
+
let e = r(A);
|
|
364
|
+
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(() => {
|
|
365
|
+
N = null, !(j || M) && (j = !0, console.warn("useFrameworkRuntimes: no <FrameworkRuntimesProvider> in the tree — returning a loading baseline (subscriptions read `undefined`, mutations are no-ops). If this is not an intentional lazy/conditional mount, mount your app via @voltro/web mount() or wrap the subtree in <VoltroRuntimeProvider>."));
|
|
364
366
|
}, 0)), me);
|
|
365
|
-
},
|
|
367
|
+
}, P = (e) => ge().get(e), _e = ({ apis: e, children: t }) => {
|
|
366
368
|
let n = o(() => ({
|
|
367
369
|
get: (t) => {
|
|
368
370
|
let n = e.get(t);
|
|
@@ -374,21 +376,21 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
|
|
|
374
376
|
},
|
|
375
377
|
names: Array.from(e.keys())
|
|
376
378
|
}), [e]);
|
|
377
|
-
return /* @__PURE__ */
|
|
379
|
+
return /* @__PURE__ */ b(A.Provider, {
|
|
378
380
|
value: n,
|
|
379
381
|
children: t
|
|
380
382
|
});
|
|
381
|
-
},
|
|
383
|
+
}, F = (e, t) => {
|
|
382
384
|
if (Object.is(e, t)) return !0;
|
|
383
385
|
if (typeof e != "object" || typeof t != "object" || e === null || t === null || Array.isArray(e) !== Array.isArray(t)) return !1;
|
|
384
386
|
let n = Object.keys(e), r = Object.keys(t);
|
|
385
387
|
if (n.length !== r.length) return !1;
|
|
386
388
|
for (let r of n) if (!Object.prototype.hasOwnProperty.call(t, r) || !Object.is(e[r], t[r])) return !1;
|
|
387
389
|
return !0;
|
|
388
|
-
}, ve = 50,
|
|
389
|
-
|
|
390
|
-
},
|
|
391
|
-
let r =
|
|
390
|
+
}, ve = 50, ye = /* @__PURE__ */ new Set(), be = (e, t) => {
|
|
391
|
+
ye.has(e) || (ye.add(e), console.warn(t));
|
|
392
|
+
}, xe = "\0global", Se = null, Ce = (e, t, n) => {
|
|
393
|
+
let r = Se?.() ?? null;
|
|
392
394
|
if (r === null) return n;
|
|
393
395
|
let i = n;
|
|
394
396
|
for (let n of r.seeds) n.store !== e || n.key !== t || (i = {
|
|
@@ -396,7 +398,7 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
|
|
|
396
398
|
...n.value
|
|
397
399
|
});
|
|
398
400
|
return i;
|
|
399
|
-
},
|
|
401
|
+
}, we = (e, t) => {
|
|
400
402
|
let n = e(), r = /* @__PURE__ */ new Set(), i = 0, a = 0, o, s, c = () => {
|
|
401
403
|
if (i >= ve) throw i = 0, Error(`defineStore: notification depth exceeded ${ve} — a subscriber writes a NEW value every time it is notified, so the store can never settle. Look for a listener calling set() with something derived from the current state without converging.`);
|
|
402
404
|
i += 1;
|
|
@@ -419,20 +421,20 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
|
|
|
419
421
|
if (typeof i?.then == "function") throw a === 1 && o !== void 0 && (n = o), --a, a === 0 && (o = void 0, s = void 0), Error(`defineStore: batch('${e}') was given an async function. A batch is synchronous — everything after the first await would land outside it. Await the work first, then batch the writes: \`const r = await load(); store.batch('${e}', () => { … })\`.`);
|
|
420
422
|
if (--a, a > 0) return;
|
|
421
423
|
let l = o, u = s;
|
|
422
|
-
o = void 0, s = void 0, !
|
|
424
|
+
o = void 0, s = void 0, !F(l, n) && (t(l, n, u), c());
|
|
423
425
|
},
|
|
424
426
|
set: (e, r) => {
|
|
425
427
|
let i = typeof e == "function" ? e(n) : {
|
|
426
428
|
...n,
|
|
427
429
|
...e
|
|
428
430
|
};
|
|
429
|
-
if (
|
|
431
|
+
if (F(i, n)) return;
|
|
430
432
|
let o = n;
|
|
431
433
|
n = i, !(a > 0) && (t(o, i, r), c());
|
|
432
434
|
},
|
|
433
435
|
reset: () => {
|
|
434
436
|
let r = e();
|
|
435
|
-
if (
|
|
437
|
+
if (F(r, n)) return;
|
|
436
438
|
let i = n;
|
|
437
439
|
n = r, !(a > 0) && (t(i, r, "reset"), c());
|
|
438
440
|
},
|
|
@@ -440,47 +442,47 @@ var x = /* @__PURE__ */ new Set(), S = (e) => {
|
|
|
440
442
|
r.delete(e);
|
|
441
443
|
})
|
|
442
444
|
};
|
|
443
|
-
},
|
|
444
|
-
|
|
445
|
-
}),
|
|
446
|
-
|
|
447
|
-
},
|
|
448
|
-
let n =
|
|
445
|
+
}, Te = 200, I = [], Ee = /* @__PURE__ */ new Set(), De = [], Oe = () => De, ke = (e) => (Ee.add(e), () => {
|
|
446
|
+
Ee.delete(e);
|
|
447
|
+
}), Ae = () => {
|
|
448
|
+
I.length = 0, De = [];
|
|
449
|
+
}, je = (e, t) => {
|
|
450
|
+
let n = I[e];
|
|
449
451
|
if (n === void 0) return !1;
|
|
450
|
-
let r =
|
|
452
|
+
let r = z.get(n.store);
|
|
451
453
|
if (r === void 0) return !1;
|
|
452
454
|
let i = t === "before" ? n.prev : n.next;
|
|
453
|
-
|
|
455
|
+
R = !0;
|
|
454
456
|
try {
|
|
455
457
|
r.set(() => i, n.key, `travel:${t}`);
|
|
456
458
|
} finally {
|
|
457
|
-
|
|
459
|
+
R = !1;
|
|
458
460
|
}
|
|
459
461
|
return !0;
|
|
460
|
-
},
|
|
461
|
-
|
|
462
|
-
for (let e of [...
|
|
463
|
-
},
|
|
464
|
-
|
|
465
|
-
})),
|
|
466
|
-
function
|
|
462
|
+
}, L = !1, R = !1, Me = (e) => {
|
|
463
|
+
I.push(e), I.length > Te && I.shift(), De = [...I];
|
|
464
|
+
for (let e of [...Ee]) e();
|
|
465
|
+
}, z = /* @__PURE__ */ new Map(), Ne = /* @__PURE__ */ new Map(), Pe = 0, Fe = !1, Ie = /* @__PURE__ */ new Map(), Le = () => (Fe || (Fe = !0, queueMicrotask(() => {
|
|
466
|
+
Pe += 1, Fe = !1;
|
|
467
|
+
})), Pe), Re = ze(((/* @__PURE__ */ Error()).stack ?? "").split("\n")[1] ?? "") ?? "";
|
|
468
|
+
function ze(e) {
|
|
467
469
|
let t = e.trim().replace(/^at\s+/, ""), n = /\(([^()]+)\)\s*$/.exec(t)?.[1] ?? t;
|
|
468
470
|
return n.length > 0 ? n : void 0;
|
|
469
471
|
}
|
|
470
|
-
var
|
|
472
|
+
var Be = () => {
|
|
471
473
|
let e = (/* @__PURE__ */ Error()).stack;
|
|
472
474
|
if (typeof e != "string") return "<unknown>";
|
|
473
475
|
for (let t of e.split("\n").slice(1)) {
|
|
474
|
-
let e =
|
|
476
|
+
let e = ze(t);
|
|
475
477
|
if (e === void 0) continue;
|
|
476
478
|
let n = e.replace(/:\d+:\d+$/, "");
|
|
477
|
-
if (!(
|
|
479
|
+
if (!(Re !== "" && n === Re.replace(/:\d+:\d+$/, ""))) return n;
|
|
478
480
|
}
|
|
479
481
|
return "<unknown>";
|
|
480
|
-
},
|
|
481
|
-
let a =
|
|
482
|
+
}, Ve = () => [...z.values()], He = (e, t, r) => {
|
|
483
|
+
let a = Be(), o = Le(), c = z.get(e);
|
|
482
484
|
if (c !== void 0) {
|
|
483
|
-
let t =
|
|
485
|
+
let t = Ne.get(e) ?? "<unknown>", n = Ie.get(e) === o;
|
|
484
486
|
if (a !== "<unknown>" && a === t && !n) return c;
|
|
485
487
|
throw Error(`defineStore: '${e}' is already defined. Store names are the devtools + seed key, so two stores sharing one name would silently share state. Rename one.\n first: ${t}\n second: ${a}`);
|
|
486
488
|
}
|
|
@@ -516,28 +518,28 @@ var Re = () => {
|
|
|
516
518
|
t.setItem(u.key, JSON.stringify(n));
|
|
517
519
|
} catch {}
|
|
518
520
|
}, m = /* @__PURE__ */ new Map(), h = (n) => {
|
|
519
|
-
let r = n ??
|
|
521
|
+
let r = n ?? xe, i = m.get(r);
|
|
520
522
|
if (i === void 0) {
|
|
521
523
|
let a = n;
|
|
522
|
-
i =
|
|
524
|
+
i = we(u !== void 0 && n === void 0 ? () => {
|
|
523
525
|
let e = t();
|
|
524
526
|
return g = e, {
|
|
525
527
|
...e,
|
|
526
528
|
...f() ?? {}
|
|
527
529
|
};
|
|
528
530
|
} : t, (t, n, r) => {
|
|
529
|
-
if (u !== void 0 && a === void 0 && p(n), !
|
|
531
|
+
if (u !== void 0 && a === void 0 && p(n), !L && !R) {
|
|
530
532
|
let e = v(a);
|
|
531
533
|
e.steps.length = e.cursor, e.steps.push({
|
|
532
534
|
prev: t,
|
|
533
535
|
next: n
|
|
534
536
|
}), e.steps.length > y && e.steps.shift(), e.cursor = e.steps.length;
|
|
535
537
|
}
|
|
536
|
-
|
|
538
|
+
Me({
|
|
537
539
|
store: e,
|
|
538
540
|
...a === void 0 ? {} : { key: a },
|
|
539
541
|
...r === void 0 ? {} : { label: r },
|
|
540
|
-
...
|
|
542
|
+
...L || R ? { isUndo: !0 } : {},
|
|
541
543
|
prev: t,
|
|
542
544
|
next: n,
|
|
543
545
|
at: Date.now()
|
|
@@ -546,7 +548,7 @@ var Re = () => {
|
|
|
546
548
|
}
|
|
547
549
|
return i;
|
|
548
550
|
}, g, _ = /* @__PURE__ */ new Map(), v = (e) => {
|
|
549
|
-
let t = e ??
|
|
551
|
+
let t = e ?? xe, n = _.get(t);
|
|
550
552
|
return n === void 0 && (n = {
|
|
551
553
|
steps: [],
|
|
552
554
|
cursor: 0
|
|
@@ -578,7 +580,7 @@ var Re = () => {
|
|
|
578
580
|
let n = u.current;
|
|
579
581
|
if (n.has && Object.is(n.state, t)) return n.value;
|
|
580
582
|
let r = o.current(t), i = c.current, a = n.has && (i ? i(n.value, r) : Object.is(n.value, r));
|
|
581
|
-
process.env.NODE_ENV !== "production" && i === void 0 && n.has && !a && typeof r == "object" && r &&
|
|
583
|
+
process.env.NODE_ENV !== "production" && i === void 0 && n.has && !a && typeof r == "object" && r && F(n.value, r) && be(e, `[@voltro/client] ${e}.use(): the selector returns a NEW object each call, so the default identity check never sees it as unchanged and this component re-renders on EVERY store change.\n Pass \`{ equals: shallow }\` (exported from @voltro/client), or select a primitive.`);
|
|
582
584
|
let s = a ? n.value : r;
|
|
583
585
|
return u.current = {
|
|
584
586
|
state: t,
|
|
@@ -594,7 +596,7 @@ var Re = () => {
|
|
|
594
596
|
a,
|
|
595
597
|
f,
|
|
596
598
|
p
|
|
597
|
-
]), n(() => d(a.get()), [a, d]), n(() => d(
|
|
599
|
+
]), n(() => d(a.get()), [a, d]), n(() => d(Ce(e, r?.key, r?.key === void 0 && g !== void 0 ? g : a.get())), [
|
|
598
600
|
a,
|
|
599
601
|
r?.key,
|
|
600
602
|
d
|
|
@@ -612,11 +614,11 @@ var Re = () => {
|
|
|
612
614
|
undo: (e) => {
|
|
613
615
|
let t = v(e);
|
|
614
616
|
if (t.cursor === 0) return !1;
|
|
615
|
-
--t.cursor,
|
|
617
|
+
--t.cursor, L = !0;
|
|
616
618
|
try {
|
|
617
619
|
h(e).set(() => t.steps[t.cursor].prev, "undo");
|
|
618
620
|
} finally {
|
|
619
|
-
|
|
621
|
+
L = !1;
|
|
620
622
|
}
|
|
621
623
|
return !0;
|
|
622
624
|
},
|
|
@@ -624,11 +626,11 @@ var Re = () => {
|
|
|
624
626
|
let t = v(e);
|
|
625
627
|
if (t.cursor >= t.steps.length) return !1;
|
|
626
628
|
let n = t.steps[t.cursor];
|
|
627
|
-
t.cursor += 1,
|
|
629
|
+
t.cursor += 1, L = !0;
|
|
628
630
|
try {
|
|
629
631
|
h(e).set(() => n.next, "redo");
|
|
630
632
|
} finally {
|
|
631
|
-
|
|
633
|
+
L = !1;
|
|
632
634
|
}
|
|
633
635
|
return !0;
|
|
634
636
|
},
|
|
@@ -640,27 +642,27 @@ var Re = () => {
|
|
|
640
642
|
release: (e) => {
|
|
641
643
|
m.delete(e), _.delete(e);
|
|
642
644
|
},
|
|
643
|
-
keys: () => [...m.keys()].filter((e) => e !==
|
|
645
|
+
keys: () => [...m.keys()].filter((e) => e !== xe)
|
|
644
646
|
};
|
|
645
|
-
return
|
|
646
|
-
},
|
|
647
|
-
|
|
648
|
-
},
|
|
649
|
-
|
|
650
|
-
},
|
|
651
|
-
let r =
|
|
647
|
+
return z.set(e, w), Ne.set(e, a), Ie.set(e, o), w;
|
|
648
|
+
}, Ue = () => {
|
|
649
|
+
z.clear(), Ne.clear(), Ie.clear(), ye.clear();
|
|
650
|
+
}, We = () => ({ seeds: [] }), Ge = (e) => {
|
|
651
|
+
Se = e;
|
|
652
|
+
}, Ke = (e, t, n) => {
|
|
653
|
+
let r = Se?.() ?? null;
|
|
652
654
|
if (r === null) throw Error(`seedStore('${e.name}') was called outside a server render. Seeding exists to put a value into the SSR hydration payload; on the client, set the store directly instead. (If this IS server code, the render did not install a seed bag — that is a framework bug.)`);
|
|
653
655
|
r.seeds.push({
|
|
654
656
|
store: e.name,
|
|
655
657
|
...n?.key === void 0 ? {} : { key: n.key },
|
|
656
658
|
value: t
|
|
657
659
|
});
|
|
658
|
-
},
|
|
660
|
+
}, qe = (e) => {
|
|
659
661
|
if (e !== void 0) for (let t of e) {
|
|
660
|
-
let e =
|
|
662
|
+
let e = z.get(t.store);
|
|
661
663
|
e !== void 0 && e.set(t.value, t.key);
|
|
662
664
|
}
|
|
663
|
-
},
|
|
665
|
+
}, B = (e, t) => {
|
|
664
666
|
let n = t.split("."), r = e;
|
|
665
667
|
for (let e = 0; e < n.length; e++) {
|
|
666
668
|
let i = n[e];
|
|
@@ -679,29 +681,29 @@ var Re = () => {
|
|
|
679
681
|
}
|
|
680
682
|
if (typeof r != "function") throw Error(`@voltro/client: rpc tag ${JSON.stringify(t)} did not resolve to a callable method.`);
|
|
681
683
|
return r;
|
|
682
|
-
},
|
|
684
|
+
}, Je = Object.freeze({
|
|
683
685
|
data: void 0,
|
|
684
686
|
revision: -1,
|
|
685
687
|
emittedAt: void 0,
|
|
686
688
|
error: void 0,
|
|
687
689
|
pendingPatches: 0
|
|
688
|
-
}),
|
|
689
|
-
function
|
|
690
|
-
let a = i.skip === !0, { runtime: c, cache: u, client: d, descriptors: f } =
|
|
690
|
+
}), Ye = () => Je;
|
|
691
|
+
function V(e, t, r = {}, i = {}) {
|
|
692
|
+
let a = i.skip === !0, { runtime: c, cache: u, client: d, descriptors: f } = P(e), p = f[t]?.source, m = s(r);
|
|
691
693
|
m.current = r;
|
|
692
694
|
let h = s(d);
|
|
693
695
|
h.current = d;
|
|
694
|
-
let g = s(() =>
|
|
696
|
+
let g = s(() => B(h.current, t)(m.current)), _ = o(() => [t, m.current], [t, o(() => JSON.stringify(Object.entries(r).sort(([e], [t]) => e.localeCompare(t))), [r])]), v = l(n((e) => a ? () => {} : u.subscribe(_, g.current, c, e, p === void 0 ? {} : { source: p }).unsubscribe, [
|
|
695
697
|
u,
|
|
696
698
|
c,
|
|
697
699
|
p,
|
|
698
700
|
a,
|
|
699
701
|
_
|
|
700
|
-
]), n(() => a ?
|
|
702
|
+
]), n(() => a ? Je : u.peek(_), [
|
|
701
703
|
u,
|
|
702
704
|
a,
|
|
703
705
|
_
|
|
704
|
-
]),
|
|
706
|
+
]), Ye), y = v.data !== void 0, b = y && (Array.isArray(v.data) ? v.data.length === 0 : v.data === null), x = {
|
|
705
707
|
revision: v.revision,
|
|
706
708
|
emittedAt: v.emittedAt,
|
|
707
709
|
error: v.error,
|
|
@@ -744,8 +746,92 @@ function B(e, t, r = {}, i = {}) {
|
|
|
744
746
|
};
|
|
745
747
|
}
|
|
746
748
|
//#endregion
|
|
749
|
+
//#region src/useEvent.ts
|
|
750
|
+
var H = {
|
|
751
|
+
status: "idle",
|
|
752
|
+
missed: 0,
|
|
753
|
+
lastMiss: void 0
|
|
754
|
+
}, Xe = class {
|
|
755
|
+
_tag = "EventStreamClosed";
|
|
756
|
+
};
|
|
757
|
+
function Ze(e, t, r, i = {}) {
|
|
758
|
+
let { skip: o = !1, apiName: l = "app", onMissed: u } = i, { runtime: d, client: p } = P(l), [m, h] = c(H), _ = s(r);
|
|
759
|
+
_.current = r;
|
|
760
|
+
let y = s(u);
|
|
761
|
+
y.current = u;
|
|
762
|
+
let b = s(p);
|
|
763
|
+
b.current = p;
|
|
764
|
+
let x = s(d);
|
|
765
|
+
x.current = d;
|
|
766
|
+
let S = s(/* @__PURE__ */ new Map()), C = t === null ? null : JSON.stringify(Object.entries(t).sort(([e], [t]) => e < t ? -1 : 1)), w = s(t);
|
|
767
|
+
w.current = t;
|
|
768
|
+
let T = s(null);
|
|
769
|
+
T.current !== C && (T.current = C, S.current = /* @__PURE__ */ new Map());
|
|
770
|
+
let ee = n((e, t) => {
|
|
771
|
+
e <= 0 || (h((n) => ({
|
|
772
|
+
...n,
|
|
773
|
+
missed: n.missed + e,
|
|
774
|
+
lastMiss: {
|
|
775
|
+
count: e,
|
|
776
|
+
reason: t
|
|
777
|
+
}
|
|
778
|
+
})), y.current?.({
|
|
779
|
+
count: e,
|
|
780
|
+
reason: t
|
|
781
|
+
}));
|
|
782
|
+
}, []), E = !o && C !== null;
|
|
783
|
+
return a(() => {
|
|
784
|
+
if (!E) {
|
|
785
|
+
h(H);
|
|
786
|
+
return;
|
|
787
|
+
}
|
|
788
|
+
h((e) => ({
|
|
789
|
+
...e,
|
|
790
|
+
status: "connecting"
|
|
791
|
+
}));
|
|
792
|
+
let t = 0, n = f.sync(() => {
|
|
793
|
+
let t = [...S.current].map(([e, t]) => ({
|
|
794
|
+
origin: e,
|
|
795
|
+
n: t
|
|
796
|
+
}));
|
|
797
|
+
return B(b.current, e.name)({
|
|
798
|
+
key: w.current,
|
|
799
|
+
...t.length > 0 ? { resume: t } : {}
|
|
800
|
+
});
|
|
801
|
+
}), r = v.unwrap(n).pipe(v.tap(() => f.sync(() => {
|
|
802
|
+
t = 0;
|
|
803
|
+
})), v.concat(v.fail(new Xe())), v.retry(g.exponential("250 millis", 2).pipe(g.either(g.spaced("30 seconds")), g.jittered, g.tapOutput(() => f.sync(() => {
|
|
804
|
+
t += 1, h((e) => ({
|
|
805
|
+
...e,
|
|
806
|
+
status: "connecting"
|
|
807
|
+
}));
|
|
808
|
+
}))))), i = x.current.runFork(v.runForEach(r, (e) => f.sync(() => {
|
|
809
|
+
if (e._tag === "attached") {
|
|
810
|
+
h((e) => ({
|
|
811
|
+
...e,
|
|
812
|
+
status: "live"
|
|
813
|
+
}));
|
|
814
|
+
return;
|
|
815
|
+
}
|
|
816
|
+
if (e._tag === "gap") {
|
|
817
|
+
ee(e.missed, e.reason);
|
|
818
|
+
return;
|
|
819
|
+
}
|
|
820
|
+
S.current.set(e.origin, Math.max(S.current.get(e.origin) ?? 0, e.n)), _.current(e.payload);
|
|
821
|
+
})));
|
|
822
|
+
return () => {
|
|
823
|
+
x.current.runFork(i.interruptAsFork(i.id()));
|
|
824
|
+
};
|
|
825
|
+
}, [
|
|
826
|
+
E,
|
|
827
|
+
C,
|
|
828
|
+
e.name,
|
|
829
|
+
ee
|
|
830
|
+
]), E ? m : H;
|
|
831
|
+
}
|
|
832
|
+
//#endregion
|
|
747
833
|
//#region src/sequence.ts
|
|
748
|
-
var
|
|
834
|
+
var Qe = () => {
|
|
749
835
|
let e = (t) => ({
|
|
750
836
|
steps: t,
|
|
751
837
|
step: ((n, r, i) => e([...t, {
|
|
@@ -757,7 +843,7 @@ var Je = () => {
|
|
|
757
843
|
}]))
|
|
758
844
|
});
|
|
759
845
|
return e([]);
|
|
760
|
-
},
|
|
846
|
+
}, $e = async (e, t = {}) => {
|
|
761
847
|
let n = {}, r = [];
|
|
762
848
|
for (let i of e.steps) {
|
|
763
849
|
if (i.when !== void 0 && !i.when(n)) {
|
|
@@ -817,13 +903,13 @@ var Je = () => {
|
|
|
817
903
|
ok: !0,
|
|
818
904
|
data: n
|
|
819
905
|
};
|
|
820
|
-
},
|
|
906
|
+
}, et = (e = {}) => {
|
|
821
907
|
let [t, r] = c(!1), [i, a] = c(void 0), [o, l] = c(void 0), u = s(e);
|
|
822
908
|
return u.current = e, {
|
|
823
909
|
run: n(async (e, t = {}) => {
|
|
824
910
|
r(!0), a(void 0), l(void 0);
|
|
825
911
|
try {
|
|
826
|
-
let n = await
|
|
912
|
+
let n = await $e(e, {
|
|
827
913
|
...u.current,
|
|
828
914
|
...t
|
|
829
915
|
});
|
|
@@ -836,25 +922,25 @@ var Je = () => {
|
|
|
836
922
|
error: i,
|
|
837
923
|
failedStep: o
|
|
838
924
|
};
|
|
839
|
-
},
|
|
840
|
-
|
|
841
|
-
},
|
|
842
|
-
|
|
843
|
-
for (let e of
|
|
925
|
+
}, tt = 100, U = [], W = /* @__PURE__ */ new Set(), nt = [], rt = () => {
|
|
926
|
+
nt = U.slice();
|
|
927
|
+
}, G = () => {
|
|
928
|
+
rt();
|
|
929
|
+
for (let e of W) try {
|
|
844
930
|
e();
|
|
845
931
|
} catch {}
|
|
846
|
-
},
|
|
932
|
+
}, it = (e) => {
|
|
847
933
|
let t = {
|
|
848
934
|
...e,
|
|
849
935
|
status: "pending",
|
|
850
936
|
startedAt: Date.now()
|
|
851
937
|
};
|
|
852
|
-
|
|
853
|
-
},
|
|
854
|
-
let n =
|
|
938
|
+
U.unshift(t), U.length > tt && (U.length = tt), G();
|
|
939
|
+
}, K = (e, t) => {
|
|
940
|
+
let n = U.findIndex((t) => t.id === e);
|
|
855
941
|
if (n === -1) return;
|
|
856
|
-
let r =
|
|
857
|
-
|
|
942
|
+
let r = U[n], i = Date.now();
|
|
943
|
+
U[n] = t.status === "success" ? {
|
|
858
944
|
...r,
|
|
859
945
|
status: "success",
|
|
860
946
|
output: t.output,
|
|
@@ -866,12 +952,12 @@ var Je = () => {
|
|
|
866
952
|
error: t.error,
|
|
867
953
|
settledAt: i,
|
|
868
954
|
durationMs: i - r.startedAt
|
|
869
|
-
},
|
|
870
|
-
},
|
|
871
|
-
|
|
872
|
-
}),
|
|
873
|
-
|
|
874
|
-
},
|
|
955
|
+
}, G();
|
|
956
|
+
}, at = () => nt, ot = (e) => (W.add(e), () => {
|
|
957
|
+
W.delete(e);
|
|
958
|
+
}), st = () => {
|
|
959
|
+
U.length !== 0 && (U.length = 0, G());
|
|
960
|
+
}, ct = (e, t) => {
|
|
875
961
|
if (t === void 0 || typeof e != "object" || !e) return e;
|
|
876
962
|
try {
|
|
877
963
|
Object.defineProperty(e, "__voltroTraceId", {
|
|
@@ -881,74 +967,77 @@ var Je = () => {
|
|
|
881
967
|
});
|
|
882
968
|
} catch {}
|
|
883
969
|
return e;
|
|
884
|
-
},
|
|
885
|
-
|
|
886
|
-
},
|
|
970
|
+
}, q, lt = (e) => {
|
|
971
|
+
q = e;
|
|
972
|
+
}, ut = () => q, dt = (e, t, n) => typeof e == "function" ? e(t, n) : e, ft = 0, pt = () => `mut_${++ft}`, mt = 0, ht = () => {
|
|
973
|
+
let e = typeof crypto < "u" ? crypto : void 0;
|
|
974
|
+
return e && typeof e.randomUUID == "function" ? e.randomUUID() : `idem_${Date.now().toString(36)}_${mt += 1}`;
|
|
975
|
+
}, gt = (e, t) => e.pipe(f.locallyWith(S.currentHeaders, (e) => x.set(e, "idempotency-key", t))), _t = (e, t) => ({
|
|
887
976
|
update: (n, r) => {
|
|
888
977
|
e.update(n, r, t);
|
|
889
978
|
},
|
|
890
979
|
forTag: (n, r) => e.forTag(n, r, t)
|
|
891
|
-
}),
|
|
892
|
-
let { runtime: r, cache: i, client: a, descriptors: l, errorBus: u } =
|
|
980
|
+
}), J = (e, t) => {
|
|
981
|
+
let { runtime: r, cache: i, client: a, descriptors: l, errorBus: u } = P(e), d = l[t], p = d?.targets;
|
|
893
982
|
if (process.env.NODE_ENV !== "production") {
|
|
894
983
|
let n = d?.kind;
|
|
895
984
|
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.`);
|
|
896
985
|
}
|
|
897
|
-
let [m, h] = c(!1), [g, _] = c(void 0), [v, y] = c(void 0), b = s(null), x = s(!1),
|
|
986
|
+
let [m, h] = c(!1), [g, _] = c(void 0), [v, y] = c(void 0), b = s(null), x = s(!1), S = n(async (n, o) => {
|
|
898
987
|
let s = o?.onError !== void 0 || o?.notify?.error !== void 0, c = (e) => {
|
|
899
988
|
o?.onError?.(e, n);
|
|
900
|
-
let t =
|
|
901
|
-
t !== void 0 &&
|
|
989
|
+
let t = dt(o?.notify?.error, e, n);
|
|
990
|
+
t !== void 0 && q?.error(t);
|
|
902
991
|
};
|
|
903
992
|
h(!0), _(void 0);
|
|
904
|
-
let l =
|
|
905
|
-
|
|
993
|
+
let l = pt(), d = o?.idempotencyKey ?? ht();
|
|
994
|
+
it({
|
|
906
995
|
id: l,
|
|
907
996
|
apiName: e,
|
|
908
997
|
tag: t,
|
|
909
998
|
input: n
|
|
910
999
|
});
|
|
911
|
-
let
|
|
912
|
-
if (
|
|
913
|
-
|
|
1000
|
+
let m = b.current, g = x.current;
|
|
1001
|
+
if (m) try {
|
|
1002
|
+
m(_t(i, l), n);
|
|
914
1003
|
} catch (e) {
|
|
915
|
-
if (_(e), h(!1), i.revertByMutation(l),
|
|
1004
|
+
if (_(e), h(!1), i.revertByMutation(l), K(l, {
|
|
916
1005
|
status: "error",
|
|
917
1006
|
error: e
|
|
918
1007
|
}), s) return c(e);
|
|
919
1008
|
throw e;
|
|
920
1009
|
}
|
|
921
|
-
else !
|
|
922
|
-
let
|
|
1010
|
+
else !g && p && p.length > 0 && i.autoApply(p, n, l);
|
|
1011
|
+
let v;
|
|
923
1012
|
try {
|
|
924
|
-
let s =
|
|
925
|
-
|
|
1013
|
+
let s = B(a, t), c = f.currentSpan.pipe(f.tap((e) => f.sync(() => {
|
|
1014
|
+
v = e.traceId, T({
|
|
926
1015
|
traceId: e.traceId,
|
|
927
1016
|
spanId: e.spanId,
|
|
928
1017
|
source: "mutation",
|
|
929
1018
|
tag: t
|
|
930
1019
|
});
|
|
931
|
-
})), f.catchAll(() => f.void), f.zipRight(s(n))).pipe(f.withSpan(`client.mutation.${t}`, { attributes: {
|
|
1020
|
+
})), f.catchAll(() => f.void), f.zipRight(gt(s(n), d))).pipe(f.withSpan(`client.mutation.${t}`, { attributes: {
|
|
932
1021
|
"voltro.api": e,
|
|
933
1022
|
"voltro.mutationId": l,
|
|
934
1023
|
"rpc.tag": t
|
|
935
1024
|
} })), u = await r.runPromise(c);
|
|
936
|
-
y(u),
|
|
1025
|
+
y(u), K(l, {
|
|
937
1026
|
status: "success",
|
|
938
1027
|
output: u
|
|
939
1028
|
}), i.confirmByMutation(l), o?.onSuccess?.(u, n);
|
|
940
|
-
let
|
|
941
|
-
return
|
|
1029
|
+
let p = dt(o?.notify?.success, u, n);
|
|
1030
|
+
return p !== void 0 && q?.success(p), u;
|
|
942
1031
|
} catch (e) {
|
|
943
|
-
let n =
|
|
944
|
-
if (_(n),
|
|
1032
|
+
let n = ct(e, v);
|
|
1033
|
+
if (_(n), K(l, {
|
|
945
1034
|
status: "error",
|
|
946
1035
|
error: n
|
|
947
1036
|
}), i.revertByMutation(l), u.emit({
|
|
948
1037
|
source: "mutation",
|
|
949
1038
|
tag: t,
|
|
950
1039
|
error: n,
|
|
951
|
-
...
|
|
1040
|
+
...v === void 0 ? {} : { traceId: v }
|
|
952
1041
|
}), s) return c(n);
|
|
953
1042
|
throw n;
|
|
954
1043
|
} finally {
|
|
@@ -964,7 +1053,7 @@ var Je = () => {
|
|
|
964
1053
|
]);
|
|
965
1054
|
return o(() => {
|
|
966
1055
|
let e = {
|
|
967
|
-
mutate:
|
|
1056
|
+
mutate: S,
|
|
968
1057
|
pending: m,
|
|
969
1058
|
error: g,
|
|
970
1059
|
data: v,
|
|
@@ -973,12 +1062,12 @@ var Je = () => {
|
|
|
973
1062
|
};
|
|
974
1063
|
return e;
|
|
975
1064
|
}, [
|
|
976
|
-
|
|
1065
|
+
S,
|
|
977
1066
|
m,
|
|
978
1067
|
g,
|
|
979
1068
|
v
|
|
980
1069
|
]);
|
|
981
|
-
},
|
|
1070
|
+
}, vt = (e, t) => {
|
|
982
1071
|
if (t === void 0 || typeof e != "object" || !e) return e;
|
|
983
1072
|
try {
|
|
984
1073
|
Object.defineProperty(e, "__voltroTraceId", {
|
|
@@ -988,8 +1077,8 @@ var Je = () => {
|
|
|
988
1077
|
});
|
|
989
1078
|
} catch {}
|
|
990
1079
|
return e;
|
|
991
|
-
},
|
|
992
|
-
let { runtime: r, client: i, descriptors: a, errorBus: s } =
|
|
1080
|
+
}, yt = (e, t, n) => typeof e == "function" ? e(t, n) : e, bt = 0, xt = () => `act_${++bt}`, Y = (e, t) => {
|
|
1081
|
+
let { runtime: r, client: i, descriptors: a, errorBus: s } = P(e);
|
|
993
1082
|
if (process.env.NODE_ENV !== "production") {
|
|
994
1083
|
let n = a[t]?.kind;
|
|
995
1084
|
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.`);
|
|
@@ -997,47 +1086,47 @@ var Je = () => {
|
|
|
997
1086
|
let [l, u] = c(!1), [d, p] = c(void 0), [m, h] = c(void 0), g = n(async (n, a) => {
|
|
998
1087
|
let o = a?.onError !== void 0 || a?.notify?.error !== void 0;
|
|
999
1088
|
u(!0), p(void 0);
|
|
1000
|
-
let c =
|
|
1001
|
-
|
|
1089
|
+
let c = xt(), l = a?.idempotencyKey ?? ht();
|
|
1090
|
+
it({
|
|
1002
1091
|
id: c,
|
|
1003
1092
|
apiName: e,
|
|
1004
1093
|
tag: t,
|
|
1005
1094
|
input: n
|
|
1006
1095
|
});
|
|
1007
|
-
let
|
|
1096
|
+
let d;
|
|
1008
1097
|
try {
|
|
1009
|
-
let o =
|
|
1010
|
-
|
|
1098
|
+
let o = B(i, t), s = f.currentSpan.pipe(f.tap((e) => f.sync(() => {
|
|
1099
|
+
d = e.traceId, T({
|
|
1011
1100
|
traceId: e.traceId,
|
|
1012
1101
|
spanId: e.spanId,
|
|
1013
1102
|
source: "action",
|
|
1014
1103
|
tag: t
|
|
1015
1104
|
});
|
|
1016
|
-
})), f.catchAll(() => f.void), f.zipRight(o(n))).pipe(f.withSpan(`client.action.${t}`, { attributes: {
|
|
1105
|
+
})), f.catchAll(() => f.void), f.zipRight(gt(o(n), l))).pipe(f.withSpan(`client.action.${t}`, { attributes: {
|
|
1017
1106
|
"voltro.api": e,
|
|
1018
1107
|
"voltro.actionId": c,
|
|
1019
1108
|
"rpc.tag": t
|
|
1020
1109
|
} })), u = await r.runPromise(s);
|
|
1021
|
-
h(u),
|
|
1110
|
+
h(u), K(c, {
|
|
1022
1111
|
status: "success",
|
|
1023
1112
|
output: u
|
|
1024
1113
|
}), a?.onSuccess?.(u, n);
|
|
1025
|
-
let
|
|
1026
|
-
return
|
|
1114
|
+
let p = yt(a?.notify?.success, u, n);
|
|
1115
|
+
return p !== void 0 && ut()?.success(p), u;
|
|
1027
1116
|
} catch (e) {
|
|
1028
|
-
let r =
|
|
1029
|
-
if (p(r),
|
|
1117
|
+
let r = vt(e, d);
|
|
1118
|
+
if (p(r), K(c, {
|
|
1030
1119
|
status: "error",
|
|
1031
1120
|
error: r
|
|
1032
1121
|
}), s.emit({
|
|
1033
1122
|
source: "action",
|
|
1034
1123
|
tag: t,
|
|
1035
1124
|
error: r,
|
|
1036
|
-
...
|
|
1125
|
+
...d === void 0 ? {} : { traceId: d }
|
|
1037
1126
|
}), o) {
|
|
1038
1127
|
a?.onError?.(r, n);
|
|
1039
|
-
let e =
|
|
1040
|
-
e !== void 0 &&
|
|
1128
|
+
let e = yt(a?.notify?.error, r, n);
|
|
1129
|
+
e !== void 0 && ut()?.error(e);
|
|
1041
1130
|
return;
|
|
1042
1131
|
}
|
|
1043
1132
|
throw r;
|
|
@@ -1062,7 +1151,7 @@ var Je = () => {
|
|
|
1062
1151
|
d,
|
|
1063
1152
|
m
|
|
1064
1153
|
]);
|
|
1065
|
-
},
|
|
1154
|
+
}, St = "storage.mintUploadTicket", Ct = "storage.mintPresignedUpload", wt = "storage.finalizeUpload", Tt = "storage.beginResumableUpload", Et = "storage.beginMultipartUpload", Dt = "storage.signMultipartPart", Ot = "storage.completeMultipartUpload", kt = "storage.abortMultipartUpload", At = (e, t, n, r) => new Promise((i, a) => {
|
|
1066
1155
|
let o = new XMLHttpRequest();
|
|
1067
1156
|
if (o.open("PUT", e), o.upload.onprogress = (e) => {
|
|
1068
1157
|
e.lengthComputable && n(e.loaded / e.total);
|
|
@@ -1076,7 +1165,7 @@ var Je = () => {
|
|
|
1076
1165
|
return;
|
|
1077
1166
|
}
|
|
1078
1167
|
r.addEventListener("abort", () => o.abort(), { once: !0 }), o.send(t);
|
|
1079
|
-
}),
|
|
1168
|
+
}), jt = (e, t, n, r, i, a) => new Promise((o, s) => {
|
|
1080
1169
|
let c = new XMLHttpRequest();
|
|
1081
1170
|
if (c.open("POST", e), c.setRequestHeader("content-type", t), c.upload.onprogress = (e) => {
|
|
1082
1171
|
e.lengthComputable && r(e.loaded / e.total);
|
|
@@ -1094,7 +1183,7 @@ var Je = () => {
|
|
|
1094
1183
|
return;
|
|
1095
1184
|
}
|
|
1096
1185
|
i.addEventListener("abort", () => c.abort(), { once: !0 }), c.send(n);
|
|
1097
|
-
}),
|
|
1186
|
+
}), Mt = (e, t, n, r, i) => new Promise((a, o) => {
|
|
1098
1187
|
let s = new XMLHttpRequest();
|
|
1099
1188
|
if (s.open("PUT", e), s.setRequestHeader("content-type", t), s.upload.onprogress = (e) => {
|
|
1100
1189
|
e.lengthComputable && r(e.loaded / e.total);
|
|
@@ -1105,7 +1194,7 @@ var Je = () => {
|
|
|
1105
1194
|
return;
|
|
1106
1195
|
}
|
|
1107
1196
|
i.addEventListener("abort", () => s.abort(), { once: !0 }), s.send(n);
|
|
1108
|
-
}),
|
|
1197
|
+
}), Nt = (e, t, n, r, i) => new Promise((a, o) => {
|
|
1109
1198
|
let s = new XMLHttpRequest();
|
|
1110
1199
|
if (s.open("POST", e), s.setRequestHeader("content-type", t), s.upload.onprogress = (e) => {
|
|
1111
1200
|
e.lengthComputable && r(e.loaded / e.total);
|
|
@@ -1121,8 +1210,8 @@ var Je = () => {
|
|
|
1121
1210
|
return;
|
|
1122
1211
|
}
|
|
1123
1212
|
i.addEventListener("abort", () => s.abort(), { once: !0 }), s.send(n);
|
|
1124
|
-
}),
|
|
1125
|
-
let { runtime: r, client: i, inspectBaseUrl: a, errorBus: l } =
|
|
1213
|
+
}), Pt = (e, t = {}) => {
|
|
1214
|
+
let { runtime: r, client: i, inspectBaseUrl: a, errorBus: l } = P(e), [u, d] = c(0), [f, p] = c("idle"), [m, h] = c(void 0), g = s(null), _ = n(() => {
|
|
1126
1215
|
d(0), p("idle"), h(void 0);
|
|
1127
1216
|
}, []), v = n(() => {
|
|
1128
1217
|
g.current?.abort();
|
|
@@ -1142,16 +1231,16 @@ var Je = () => {
|
|
|
1142
1231
|
...e.width === void 0 ? {} : { width: e.width },
|
|
1143
1232
|
...e.height === void 0 ? {} : { height: e.height }
|
|
1144
1233
|
}), g = async () => {
|
|
1145
|
-
let s = n.mintTag ?? t.mintTag ??
|
|
1234
|
+
let s = n.mintTag ?? t.mintTag ?? St, l = B(i, s), u = await r.runPromise(l({
|
|
1146
1235
|
contentType: c,
|
|
1147
1236
|
...m,
|
|
1148
1237
|
...d ? { key: d } : {}
|
|
1149
|
-
})), f = await
|
|
1238
|
+
})), f = await Nt(y(u.uploadUrl), c, e, o, a);
|
|
1150
1239
|
return h(f);
|
|
1151
1240
|
}, _ = async () => {
|
|
1152
|
-
let s = n.presignMintTag ?? t.presignMintTag ??
|
|
1241
|
+
let s = n.presignMintTag ?? t.presignMintTag ?? Ct, l = n.finalizeTag ?? t.finalizeTag ?? wt, u;
|
|
1153
1242
|
try {
|
|
1154
|
-
let e =
|
|
1243
|
+
let e = B(i, s);
|
|
1155
1244
|
u = await r.runPromise(e({
|
|
1156
1245
|
contentType: c,
|
|
1157
1246
|
...m
|
|
@@ -1159,11 +1248,11 @@ var Je = () => {
|
|
|
1159
1248
|
} catch {
|
|
1160
1249
|
return null;
|
|
1161
1250
|
}
|
|
1162
|
-
await
|
|
1163
|
-
let d =
|
|
1251
|
+
await Mt(u.uploadUrl, c, e, o, a);
|
|
1252
|
+
let d = B(i, l), f = await r.runPromise(d({ finalizeToken: u.finalizeToken }));
|
|
1164
1253
|
return h(f);
|
|
1165
1254
|
}, v = async () => {
|
|
1166
|
-
let s = n.beginResumableTag ?? t.beginResumableTag ??
|
|
1255
|
+
let s = n.beginResumableTag ?? t.beginResumableTag ?? Tt, l = B(i, s), u = e.size, d = n.chunkSize ?? t.chunkSize, f = await r.runPromise(l({
|
|
1167
1256
|
contentType: c,
|
|
1168
1257
|
size: u,
|
|
1169
1258
|
...m,
|
|
@@ -1174,7 +1263,7 @@ var Je = () => {
|
|
|
1174
1263
|
for (;;) {
|
|
1175
1264
|
if (a.aborted) throw new DOMException("upload aborted", "AbortError");
|
|
1176
1265
|
try {
|
|
1177
|
-
let e = await
|
|
1266
|
+
let e = await jt(`${p}?${`token=${encodeURIComponent(f.resumableToken)}&index=${t}${s ? "&final=1" : ""}`}`, c, i, (e) => o((b + e * l) / u), a, s);
|
|
1178
1267
|
s && (x = e);
|
|
1179
1268
|
break;
|
|
1180
1269
|
} catch (e) {
|
|
@@ -1186,9 +1275,9 @@ var Je = () => {
|
|
|
1186
1275
|
if (!x) throw Error("resumable upload produced no final reply");
|
|
1187
1276
|
return h(x);
|
|
1188
1277
|
}, b = async () => {
|
|
1189
|
-
let s = n.multipartBeginTag ?? t.multipartBeginTag ??
|
|
1278
|
+
let s = n.multipartBeginTag ?? t.multipartBeginTag ?? Et, u = n.multipartSignTag ?? t.multipartSignTag ?? Dt, d = n.multipartCompleteTag ?? t.multipartCompleteTag ?? Ot, f = n.multipartAbortTag ?? t.multipartAbortTag ?? kt, p = e.size, h = n.chunkSize ?? t.chunkSize, g;
|
|
1190
1279
|
try {
|
|
1191
|
-
let e =
|
|
1280
|
+
let e = B(i, s);
|
|
1192
1281
|
g = await r.runPromise(e({
|
|
1193
1282
|
contentType: c,
|
|
1194
1283
|
size: p,
|
|
@@ -1198,7 +1287,7 @@ var Je = () => {
|
|
|
1198
1287
|
} catch {
|
|
1199
1288
|
return null;
|
|
1200
1289
|
}
|
|
1201
|
-
let _ =
|
|
1290
|
+
let _ = B(i, u), v = B(i, d), b = B(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;
|
|
1202
1291
|
try {
|
|
1203
1292
|
for (let t = 0; t < S; t++) {
|
|
1204
1293
|
let n = t * x, i = Math.min(p, n + x), s = e.slice(n, i), c = t + 1, l = i - n, u = 0;
|
|
@@ -1208,7 +1297,7 @@ var Je = () => {
|
|
|
1208
1297
|
let { url: e } = await r.runPromise(_({
|
|
1209
1298
|
multipartToken: g.multipartToken,
|
|
1210
1299
|
partNumber: c
|
|
1211
|
-
})), t = await
|
|
1300
|
+
})), t = await At(e, s, (e) => o((T + e * l) / p), a);
|
|
1212
1301
|
w.push({
|
|
1213
1302
|
partNumber: c,
|
|
1214
1303
|
etag: t
|
|
@@ -1282,7 +1371,7 @@ var Je = () => {
|
|
|
1282
1371
|
} catch (e) {
|
|
1283
1372
|
throw p("error"), h(e), e instanceof DOMException && e.name === "AbortError" || l.emit({
|
|
1284
1373
|
source: "action",
|
|
1285
|
-
tag: n.mintTag ?? t.mintTag ??
|
|
1374
|
+
tag: n.mintTag ?? t.mintTag ?? St,
|
|
1286
1375
|
error: e
|
|
1287
1376
|
}), e;
|
|
1288
1377
|
}
|
|
@@ -1308,7 +1397,7 @@ var Je = () => {
|
|
|
1308
1397
|
} catch (e) {
|
|
1309
1398
|
throw r.abort(), p("error"), h(e), e instanceof DOMException && e.name === "AbortError" || l.emit({
|
|
1310
1399
|
source: "action",
|
|
1311
|
-
tag: n.mintTag ?? t.mintTag ??
|
|
1400
|
+
tag: n.mintTag ?? t.mintTag ?? St,
|
|
1312
1401
|
error: e
|
|
1313
1402
|
}), e;
|
|
1314
1403
|
}
|
|
@@ -1353,9 +1442,9 @@ var Je = () => {
|
|
|
1353
1442
|
w,
|
|
1354
1443
|
T
|
|
1355
1444
|
]);
|
|
1356
|
-
},
|
|
1357
|
-
let t =
|
|
1358
|
-
|
|
1445
|
+
}, X = async (e) => {
|
|
1446
|
+
let t = B(e.client, e.tag), n = f.currentSpan.pipe(f.tap((t) => f.sync(() => {
|
|
1447
|
+
T({
|
|
1359
1448
|
traceId: t.traceId,
|
|
1360
1449
|
spanId: t.spanId,
|
|
1361
1450
|
source: "mutation",
|
|
@@ -1366,8 +1455,8 @@ var Je = () => {
|
|
|
1366
1455
|
"rpc.tag": e.tag
|
|
1367
1456
|
} }));
|
|
1368
1457
|
return e.runtime.runPromise(n);
|
|
1369
|
-
},
|
|
1370
|
-
let { runtime: r, client: i, descriptors: a } =
|
|
1458
|
+
}, Ft = (e, t) => {
|
|
1459
|
+
let { runtime: r, client: i, descriptors: a } = P(e);
|
|
1371
1460
|
if (process.env.NODE_ENV !== "production") {
|
|
1372
1461
|
let n = a[t]?.kind;
|
|
1373
1462
|
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.`);
|
|
@@ -1375,7 +1464,7 @@ var Je = () => {
|
|
|
1375
1464
|
let [s, l] = c(!1), [u, d] = c(void 0), [f, p] = c(void 0), m = n(async (n) => {
|
|
1376
1465
|
l(!0), d(void 0);
|
|
1377
1466
|
try {
|
|
1378
|
-
let a = await
|
|
1467
|
+
let a = await X({
|
|
1379
1468
|
apiName: e,
|
|
1380
1469
|
runtime: r,
|
|
1381
1470
|
client: i,
|
|
@@ -1395,7 +1484,7 @@ var Je = () => {
|
|
|
1395
1484
|
i,
|
|
1396
1485
|
t
|
|
1397
1486
|
]), h = n(async (t) => {
|
|
1398
|
-
await
|
|
1487
|
+
await X({
|
|
1399
1488
|
apiName: e,
|
|
1400
1489
|
runtime: r,
|
|
1401
1490
|
client: i,
|
|
@@ -1408,7 +1497,7 @@ var Je = () => {
|
|
|
1408
1497
|
r,
|
|
1409
1498
|
i
|
|
1410
1499
|
]), g = n(async (t) => {
|
|
1411
|
-
await
|
|
1500
|
+
await X({
|
|
1412
1501
|
apiName: e,
|
|
1413
1502
|
runtime: r,
|
|
1414
1503
|
client: i,
|
|
@@ -1420,7 +1509,7 @@ var Je = () => {
|
|
|
1420
1509
|
e,
|
|
1421
1510
|
r,
|
|
1422
1511
|
i
|
|
1423
|
-
]), _ = n(async (t, n, a) =>
|
|
1512
|
+
]), _ = n(async (t, n, a) => X({
|
|
1424
1513
|
apiName: e,
|
|
1425
1514
|
runtime: r,
|
|
1426
1515
|
client: i,
|
|
@@ -1435,7 +1524,7 @@ var Je = () => {
|
|
|
1435
1524
|
e,
|
|
1436
1525
|
r,
|
|
1437
1526
|
i
|
|
1438
|
-
]), v = n(async (t, n, a, o) =>
|
|
1527
|
+
]), v = n(async (t, n, a, o) => X({
|
|
1439
1528
|
apiName: e,
|
|
1440
1529
|
runtime: r,
|
|
1441
1530
|
client: i,
|
|
@@ -1471,11 +1560,11 @@ var Je = () => {
|
|
|
1471
1560
|
u,
|
|
1472
1561
|
f
|
|
1473
1562
|
]);
|
|
1474
|
-
},
|
|
1475
|
-
let { runtime: t, client: r } =
|
|
1563
|
+
}, It = (e) => {
|
|
1564
|
+
let { runtime: t, client: r } = P(e), [i, a] = c(!1), [s, l] = c(void 0), [u, d] = c(void 0), f = n(async (n, i, o) => {
|
|
1476
1565
|
a(!0), l(void 0);
|
|
1477
1566
|
try {
|
|
1478
|
-
let a = await
|
|
1567
|
+
let a = await X({
|
|
1479
1568
|
apiName: e,
|
|
1480
1569
|
runtime: t,
|
|
1481
1570
|
client: r,
|
|
@@ -1509,11 +1598,11 @@ var Je = () => {
|
|
|
1509
1598
|
s,
|
|
1510
1599
|
u
|
|
1511
1600
|
]);
|
|
1512
|
-
},
|
|
1513
|
-
let { runtime: t, client: r } =
|
|
1601
|
+
}, Lt = (e) => {
|
|
1602
|
+
let { runtime: t, client: r } = P(e), [i, a] = c(!1), [s, l] = c(void 0), [u, d] = c(void 0), f = n(async (n, i, o, s) => {
|
|
1514
1603
|
a(!0), l(void 0);
|
|
1515
1604
|
try {
|
|
1516
|
-
let a = await
|
|
1605
|
+
let a = await X({
|
|
1517
1606
|
apiName: e,
|
|
1518
1607
|
runtime: t,
|
|
1519
1608
|
client: r,
|
|
@@ -1548,8 +1637,8 @@ var Je = () => {
|
|
|
1548
1637
|
s,
|
|
1549
1638
|
u
|
|
1550
1639
|
]);
|
|
1551
|
-
},
|
|
1552
|
-
let n =
|
|
1640
|
+
}, Rt = (e, t) => {
|
|
1641
|
+
let n = V(e, "__voltro.workflow.run", t ? { id: t } : {}, { skip: t === void 0 });
|
|
1553
1642
|
return n.loading || n.idle ? {
|
|
1554
1643
|
...n,
|
|
1555
1644
|
run: void 0
|
|
@@ -1557,8 +1646,8 @@ var Je = () => {
|
|
|
1557
1646
|
...n,
|
|
1558
1647
|
run: n.data[0]
|
|
1559
1648
|
};
|
|
1560
|
-
},
|
|
1561
|
-
let r =
|
|
1649
|
+
}, zt = (e, t = {}, n = {}) => {
|
|
1650
|
+
let r = V(e, "__voltro.workflow.runs", t, n);
|
|
1562
1651
|
return r.loading || r.idle ? {
|
|
1563
1652
|
...r,
|
|
1564
1653
|
runs: []
|
|
@@ -1566,8 +1655,8 @@ var Je = () => {
|
|
|
1566
1655
|
...r,
|
|
1567
1656
|
runs: r.data
|
|
1568
1657
|
};
|
|
1569
|
-
},
|
|
1570
|
-
let n =
|
|
1658
|
+
}, Bt = (e, t) => {
|
|
1659
|
+
let n = V(e, "__voltro.workflow.run.steps", t ? { runId: t } : {}, { skip: t === void 0 });
|
|
1571
1660
|
return n.loading || n.idle ? {
|
|
1572
1661
|
...n,
|
|
1573
1662
|
steps: []
|
|
@@ -1575,8 +1664,8 @@ var Je = () => {
|
|
|
1575
1664
|
...n,
|
|
1576
1665
|
steps: n.data
|
|
1577
1666
|
};
|
|
1578
|
-
},
|
|
1579
|
-
let n =
|
|
1667
|
+
}, Vt = (e, t) => {
|
|
1668
|
+
let n = V(e, "__voltro.workflow.run.events", t ? { runId: t } : {}, { skip: t === void 0 });
|
|
1580
1669
|
return n.loading || n.idle ? {
|
|
1581
1670
|
...n,
|
|
1582
1671
|
events: []
|
|
@@ -1584,8 +1673,8 @@ var Je = () => {
|
|
|
1584
1673
|
...n,
|
|
1585
1674
|
events: n.data
|
|
1586
1675
|
};
|
|
1587
|
-
},
|
|
1588
|
-
let r =
|
|
1676
|
+
}, Ht = Vt, Ut = (e, t = {}, n = {}) => {
|
|
1677
|
+
let r = V(e, "__voltro.workflow.domainEvents", t, n);
|
|
1589
1678
|
return r.loading || r.idle ? {
|
|
1590
1679
|
...r,
|
|
1591
1680
|
events: []
|
|
@@ -1593,8 +1682,8 @@ var Je = () => {
|
|
|
1593
1682
|
...r,
|
|
1594
1683
|
events: r.data
|
|
1595
1684
|
};
|
|
1596
|
-
},
|
|
1597
|
-
let n =
|
|
1685
|
+
}, Wt = (e, t) => {
|
|
1686
|
+
let n = V(e, "__voltro.workflow.event.deliveries", t ? { eventId: t } : {}, { skip: t === void 0 });
|
|
1598
1687
|
return n.loading || n.idle ? {
|
|
1599
1688
|
...n,
|
|
1600
1689
|
deliveries: []
|
|
@@ -1602,42 +1691,42 @@ var Je = () => {
|
|
|
1602
1691
|
...n,
|
|
1603
1692
|
deliveries: n.data
|
|
1604
1693
|
};
|
|
1605
|
-
},
|
|
1694
|
+
}, Gt = (e, t) => {
|
|
1606
1695
|
let n = e.payload;
|
|
1607
1696
|
if (!n || typeof n != "object") return;
|
|
1608
1697
|
let r = n[t];
|
|
1609
1698
|
return typeof r == "string" ? r : void 0;
|
|
1610
|
-
},
|
|
1699
|
+
}, Kt = (e) => {
|
|
1611
1700
|
let t = e.payload;
|
|
1612
1701
|
if (!t || typeof t != "object") return;
|
|
1613
1702
|
let n = t.updateId;
|
|
1614
1703
|
return typeof n == "string" ? n : void 0;
|
|
1615
|
-
},
|
|
1704
|
+
}, qt = (e) => {
|
|
1616
1705
|
let t = /* @__PURE__ */ new Set(), n = /* @__PURE__ */ new Set();
|
|
1617
1706
|
for (let r of e) if (r.eventType === "signal-received") {
|
|
1618
|
-
let e =
|
|
1707
|
+
let e = Gt(r, "signalName");
|
|
1619
1708
|
e && t.add(e);
|
|
1620
1709
|
} else if (r.eventType === "update-completed" || r.eventType === "update-failed") {
|
|
1621
|
-
let e =
|
|
1710
|
+
let e = Kt(r);
|
|
1622
1711
|
e && n.add(e);
|
|
1623
1712
|
}
|
|
1624
1713
|
for (let r = e.length - 1; r >= 0; --r) {
|
|
1625
1714
|
let i = e[r];
|
|
1626
1715
|
if (i.eventType === "signal-awaited") {
|
|
1627
|
-
let e =
|
|
1716
|
+
let e = Gt(i, "signalName");
|
|
1628
1717
|
if (e && !t.has(e)) return {
|
|
1629
1718
|
name: e,
|
|
1630
1719
|
kind: "signal"
|
|
1631
1720
|
};
|
|
1632
1721
|
} else if (i.eventType === "update-requested") {
|
|
1633
|
-
let e =
|
|
1722
|
+
let e = Kt(i), t = Gt(i, "updateName");
|
|
1634
1723
|
if (t && (!e || !n.has(e))) return {
|
|
1635
1724
|
name: t,
|
|
1636
1725
|
kind: "update"
|
|
1637
1726
|
};
|
|
1638
1727
|
}
|
|
1639
1728
|
}
|
|
1640
|
-
},
|
|
1729
|
+
}, Jt = (e) => e.find((e) => e.status === "running") || (e.length > 0 ? e[e.length - 1] : void 0), Yt = (e, t) => {
|
|
1641
1730
|
if (!e || e.status !== "failed") return;
|
|
1642
1731
|
let n = t.find((e) => e.status === "failed");
|
|
1643
1732
|
return {
|
|
@@ -1645,8 +1734,8 @@ var Je = () => {
|
|
|
1645
1734
|
message: e.errorMessage,
|
|
1646
1735
|
step: n?.stepName
|
|
1647
1736
|
};
|
|
1648
|
-
},
|
|
1649
|
-
let r =
|
|
1737
|
+
}, Xt = (e, t) => {
|
|
1738
|
+
let r = Rt(e, t), i = Bt(e, t), a = Vt(e, t), s = Ft(e, r.run?.tag ?? ""), c = r.run, l = i.steps, u = a.events, d = n(async () => {
|
|
1650
1739
|
if (!c) throw Error("useWorkflowRunState: no run loaded — cannot cancel");
|
|
1651
1740
|
await s.cancel({
|
|
1652
1741
|
workflowName: c.tag,
|
|
@@ -1670,9 +1759,9 @@ var Je = () => {
|
|
|
1670
1759
|
status: c?.status,
|
|
1671
1760
|
steps: l,
|
|
1672
1761
|
events: u,
|
|
1673
|
-
currentStep:
|
|
1674
|
-
waitingFor: c?.status === "suspended" ?
|
|
1675
|
-
error:
|
|
1762
|
+
currentStep: Jt(l),
|
|
1763
|
+
waitingFor: c?.status === "suspended" ? qt(u) : void 0,
|
|
1764
|
+
error: Yt(c, l),
|
|
1676
1765
|
traceId: c?.traceId,
|
|
1677
1766
|
loading: r.data === void 0,
|
|
1678
1767
|
cancel: d,
|
|
@@ -1689,8 +1778,8 @@ var Je = () => {
|
|
|
1689
1778
|
p,
|
|
1690
1779
|
m
|
|
1691
1780
|
]);
|
|
1692
|
-
},
|
|
1693
|
-
let { runtime: r, client: i } =
|
|
1781
|
+
}, Zt = (e, t) => {
|
|
1782
|
+
let { runtime: r, client: i } = P(e), [a, o] = c([]), [l, d] = c("idle"), [p, h] = c(void 0), g = s(null), _ = n(() => {
|
|
1694
1783
|
let e = g.current;
|
|
1695
1784
|
e && (g.current = null, r.runFork(m.interrupt(e)), d((e) => e === "streaming" ? "idle" : e));
|
|
1696
1785
|
}, [r]);
|
|
@@ -1701,7 +1790,7 @@ var Je = () => {
|
|
|
1701
1790
|
start: n((e = {}) => {
|
|
1702
1791
|
let n = g.current;
|
|
1703
1792
|
n && r.runFork(m.interrupt(n)), o([]), h(void 0), d("streaming");
|
|
1704
|
-
let a =
|
|
1793
|
+
let a = B(i, t)(e), s = v.runForEach(a, (e) => f.sync(() => o((t) => [...t, e]))).pipe(f.matchCause({
|
|
1705
1794
|
onSuccess: () => {
|
|
1706
1795
|
d("done");
|
|
1707
1796
|
},
|
|
@@ -1715,9 +1804,9 @@ var Je = () => {
|
|
|
1715
1804
|
i,
|
|
1716
1805
|
t
|
|
1717
1806
|
]),
|
|
1718
|
-
cancel:
|
|
1807
|
+
cancel: _
|
|
1719
1808
|
};
|
|
1720
|
-
},
|
|
1809
|
+
}, Qt = (e, t, n, r) => {
|
|
1721
1810
|
let i = 0, a = !1, o = (e) => f.sync(() => {
|
|
1722
1811
|
e.seq <= i || (i = e.seq, n.onEvent(e.event), r.isTerminal(e.event) && (a = !0));
|
|
1723
1812
|
}), s = (e, t, a) => {
|
|
@@ -1734,21 +1823,21 @@ var Je = () => {
|
|
|
1734
1823
|
...t,
|
|
1735
1824
|
fromSeq: c
|
|
1736
1825
|
});
|
|
1737
|
-
return
|
|
1826
|
+
return v.runForEach(l, o).pipe(f.matchCauseEffect({
|
|
1738
1827
|
onSuccess: () => a ? f.sync(() => n.onStatus("done")) : s(r, c, void 0),
|
|
1739
1828
|
onFailure: (e) => u.isInterruptedOnly(e) ? f.void : a ? f.sync(() => n.onStatus("done")) : s(r, c, u.squash(e))
|
|
1740
1829
|
}));
|
|
1741
1830
|
});
|
|
1742
1831
|
return c(0);
|
|
1743
|
-
},
|
|
1832
|
+
}, $t = (e) => {
|
|
1744
1833
|
let t = e?._tag;
|
|
1745
1834
|
return t === "done" || t === "error";
|
|
1746
|
-
},
|
|
1747
|
-
let { runtime: i, client: a } =
|
|
1835
|
+
}, en = (e, t, r = {}) => {
|
|
1836
|
+
let { runtime: i, client: a } = P(e), [o, l] = c([]), [u, d] = c("idle"), [f, p] = c(0), [h, g] = c(void 0), _ = s(null), v = {
|
|
1748
1837
|
maxReconnects: r.maxReconnects ?? 6,
|
|
1749
1838
|
backoffMs: r.backoffMs ?? 400,
|
|
1750
1839
|
maxBackoffMs: r.maxBackoffMs ?? 8e3,
|
|
1751
|
-
isTerminal: r.isTerminal ??
|
|
1840
|
+
isTerminal: r.isTerminal ?? $t
|
|
1752
1841
|
}, y = n(() => {
|
|
1753
1842
|
let e = _.current;
|
|
1754
1843
|
e && (_.current = null, i.runFork(m.interrupt(e)), d((e) => e === "streaming" || e === "reconnecting" ? "idle" : e));
|
|
@@ -1761,13 +1850,13 @@ var Je = () => {
|
|
|
1761
1850
|
start: n((e = {}) => {
|
|
1762
1851
|
let n = _.current;
|
|
1763
1852
|
n && i.runFork(m.interrupt(n)), l([]), g(void 0), p(0), d("streaming");
|
|
1764
|
-
let r =
|
|
1853
|
+
let r = B(a, t), o = {
|
|
1765
1854
|
onEvent: (e) => l((t) => [...t, e]),
|
|
1766
1855
|
onStatus: d,
|
|
1767
1856
|
onReconnect: () => p((e) => e + 1),
|
|
1768
1857
|
onError: g
|
|
1769
1858
|
};
|
|
1770
|
-
_.current = i.runFork(
|
|
1859
|
+
_.current = i.runFork(Qt(r, e, o, v));
|
|
1771
1860
|
}, [
|
|
1772
1861
|
i,
|
|
1773
1862
|
a,
|
|
@@ -1779,13 +1868,13 @@ var Je = () => {
|
|
|
1779
1868
|
]),
|
|
1780
1869
|
cancel: y
|
|
1781
1870
|
};
|
|
1782
|
-
},
|
|
1871
|
+
}, tn = (e, t) => e.order - t.order || (e.stepOrder ?? 0) - (t.stepOrder ?? 0), nn = (e) => {
|
|
1783
1872
|
for (let t = e.length - 1; t >= 0; --t) {
|
|
1784
1873
|
let n = e[t];
|
|
1785
1874
|
if (n.role === "user" && n.content) return n.content;
|
|
1786
1875
|
}
|
|
1787
|
-
},
|
|
1788
|
-
let { threadId: i } = r, a =
|
|
1876
|
+
}, rn = (e, t, r) => {
|
|
1877
|
+
let { threadId: i } = r, a = V(e, `${t}.messages`, { threadId: i }), s = Y(e, `${t}.send`), c = o(() => [...a.data ?? []].sort(tn), [a.data]), l = n((e, t = {}) => s.run({
|
|
1789
1878
|
threadId: i,
|
|
1790
1879
|
order: a.data?.length ?? 0,
|
|
1791
1880
|
prompt: e,
|
|
@@ -1795,7 +1884,7 @@ var Je = () => {
|
|
|
1795
1884
|
i,
|
|
1796
1885
|
a.data
|
|
1797
1886
|
]), u = n(() => {
|
|
1798
|
-
let e =
|
|
1887
|
+
let e = nn(c);
|
|
1799
1888
|
return e === void 0 ? void 0 : l(e);
|
|
1800
1889
|
}, [c, l]);
|
|
1801
1890
|
return o(() => ({
|
|
@@ -1815,8 +1904,8 @@ var Je = () => {
|
|
|
1815
1904
|
l,
|
|
1816
1905
|
u
|
|
1817
1906
|
]);
|
|
1818
|
-
},
|
|
1819
|
-
let { events: r, status: i, error: l, start: u, cancel: d } =
|
|
1907
|
+
}, an = (e, t) => {
|
|
1908
|
+
let { events: r, status: i, error: l, start: u, cancel: d } = Zt(e, t), [f, p] = c([]), m = s(null), h = o(() => r.filter((e) => e._tag === "token").map((e) => e.text ?? "").join(""), [r]);
|
|
1820
1909
|
return a(() => {
|
|
1821
1910
|
if (i !== "done" || m.current === null) return;
|
|
1822
1911
|
let e = m.current;
|
|
@@ -1842,8 +1931,8 @@ var Je = () => {
|
|
|
1842
1931
|
}, [u]),
|
|
1843
1932
|
cancel: d
|
|
1844
1933
|
};
|
|
1845
|
-
},
|
|
1846
|
-
let r =
|
|
1934
|
+
}, on = (e, t) => {
|
|
1935
|
+
let r = Y(e, t), [i, a] = c(void 0), s = n(async (e) => {
|
|
1847
1936
|
let t = await r.run({ question: e });
|
|
1848
1937
|
return a(t), t;
|
|
1849
1938
|
}, [r]), l = n(() => a(void 0), []);
|
|
@@ -1860,43 +1949,43 @@ var Je = () => {
|
|
|
1860
1949
|
r.error,
|
|
1861
1950
|
l
|
|
1862
1951
|
]);
|
|
1863
|
-
},
|
|
1864
|
-
let { cache: t, runtime: r } =
|
|
1952
|
+
}, sn = (e) => {
|
|
1953
|
+
let { cache: t, runtime: r } = P(e);
|
|
1865
1954
|
return n(() => {
|
|
1866
1955
|
t.refreshAll(r);
|
|
1867
1956
|
}, [t, r]);
|
|
1868
|
-
},
|
|
1869
|
-
for (let t of
|
|
1957
|
+
}, cn = /* @__PURE__ */ new Set(), ln = (e) => {
|
|
1958
|
+
for (let t of cn) try {
|
|
1870
1959
|
t(e);
|
|
1871
1960
|
} catch {}
|
|
1872
|
-
},
|
|
1873
|
-
|
|
1874
|
-
}),
|
|
1875
|
-
|
|
1961
|
+
}, un = (e) => (cn.add(e), () => {
|
|
1962
|
+
cn.delete(e);
|
|
1963
|
+
}), dn = (e, t) => {
|
|
1964
|
+
ln({
|
|
1876
1965
|
error: e,
|
|
1877
1966
|
source: "manual",
|
|
1878
1967
|
...t ? { context: t } : {}
|
|
1879
1968
|
});
|
|
1880
|
-
},
|
|
1881
|
-
let { errorBus: n } =
|
|
1969
|
+
}, fn = (e, t) => {
|
|
1970
|
+
let { errorBus: n } = P(e);
|
|
1882
1971
|
a(() => n.on(t), [n, t]);
|
|
1883
|
-
},
|
|
1972
|
+
}, pn = "#/$defs/", mn = (e) => e.replace(/[_-]+/g, " ").replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/\s+/g, " ").trim().replace(/^./, (e) => e.toUpperCase()), Z = (e, t) => {
|
|
1884
1973
|
let n = e;
|
|
1885
1974
|
for (let e = 0; e < 8; e += 1) {
|
|
1886
1975
|
let e = n.$ref;
|
|
1887
|
-
if (typeof e != "string" || !e.startsWith(
|
|
1976
|
+
if (typeof e != "string" || !e.startsWith(pn)) return n;
|
|
1888
1977
|
let r = t[e.slice(8)];
|
|
1889
1978
|
if (!r || typeof r != "object") return n;
|
|
1890
1979
|
n = r;
|
|
1891
1980
|
}
|
|
1892
1981
|
return n;
|
|
1893
|
-
},
|
|
1982
|
+
}, hn = (e) => {
|
|
1894
1983
|
if (!e || typeof e != "object") return !1;
|
|
1895
1984
|
let t = e;
|
|
1896
1985
|
if (t.type === "null" || t.const === null) return !0;
|
|
1897
1986
|
let n = t.enum;
|
|
1898
1987
|
return Array.isArray(n) && n.length === 1 && n[0] === null;
|
|
1899
|
-
},
|
|
1988
|
+
}, gn = (e, t) => {
|
|
1900
1989
|
let n = e.type;
|
|
1901
1990
|
if (Array.isArray(n) && n.includes("null")) {
|
|
1902
1991
|
let t = n.filter((e) => e !== "null");
|
|
@@ -1911,9 +2000,9 @@ var Je = () => {
|
|
|
1911
2000
|
for (let n of ["anyOf", "oneOf"]) {
|
|
1912
2001
|
let r = e[n];
|
|
1913
2002
|
if (!Array.isArray(r)) continue;
|
|
1914
|
-
let i = r.filter((e) => !
|
|
2003
|
+
let i = r.filter((e) => !hn(e));
|
|
1915
2004
|
if (i.length !== r.length) return i.length === 1 ? {
|
|
1916
|
-
node:
|
|
2005
|
+
node: Z(i[0], t),
|
|
1917
2006
|
nullable: !0
|
|
1918
2007
|
} : {
|
|
1919
2008
|
node: {
|
|
@@ -1927,14 +2016,14 @@ var Je = () => {
|
|
|
1927
2016
|
node: e,
|
|
1928
2017
|
nullable: !1
|
|
1929
2018
|
};
|
|
1930
|
-
},
|
|
2019
|
+
}, _n = (e) => e.map((e) => ({
|
|
1931
2020
|
value: String(e),
|
|
1932
|
-
label:
|
|
1933
|
-
})),
|
|
2021
|
+
label: mn(String(e))
|
|
2022
|
+
})), vn = (e) => {
|
|
1934
2023
|
let t = e.enum;
|
|
1935
2024
|
if (Array.isArray(t) && t.length > 0) return {
|
|
1936
2025
|
widget: "select",
|
|
1937
|
-
options:
|
|
2026
|
+
options: _n(t)
|
|
1938
2027
|
};
|
|
1939
2028
|
let n = e.type, r = Array.isArray(n) ? n.find((e) => e !== "null") : n, i = e.format;
|
|
1940
2029
|
switch (r) {
|
|
@@ -1945,45 +2034,45 @@ var Je = () => {
|
|
|
1945
2034
|
case "array": return { widget: "multi-select" };
|
|
1946
2035
|
default: return { widget: "custom" };
|
|
1947
2036
|
}
|
|
1948
|
-
},
|
|
1949
|
-
let { node: i, nullable: a } =
|
|
2037
|
+
}, yn = (e, t, n) => Object.entries(e).map(([e, r]) => {
|
|
2038
|
+
let { node: i, nullable: a } = gn(Z(r, n), n), o = Z(i, n), { widget: s, options: c } = vn(o);
|
|
1950
2039
|
return {
|
|
1951
2040
|
name: e,
|
|
1952
|
-
label:
|
|
2041
|
+
label: mn(e),
|
|
1953
2042
|
widget: s,
|
|
1954
2043
|
required: t.has(e),
|
|
1955
2044
|
nullable: a,
|
|
1956
2045
|
...c ? { options: c } : {},
|
|
1957
2046
|
jsonSchema: o
|
|
1958
2047
|
};
|
|
1959
|
-
}),
|
|
2048
|
+
}), bn = (e) => {
|
|
1960
2049
|
try {
|
|
1961
2050
|
return h.make(e);
|
|
1962
2051
|
} catch {
|
|
1963
2052
|
return;
|
|
1964
2053
|
}
|
|
1965
|
-
},
|
|
1966
|
-
let t =
|
|
2054
|
+
}, Q = (e) => {
|
|
2055
|
+
let t = bn(e);
|
|
1967
2056
|
if (t === void 0) return [];
|
|
1968
|
-
let n = t.$defs ?? {}, r =
|
|
1969
|
-
return i ?
|
|
1970
|
-
},
|
|
1971
|
-
let t =
|
|
2057
|
+
let n = t.$defs ?? {}, r = Z(t, n), i = r.properties;
|
|
2058
|
+
return i ? yn(i, new Set(Array.isArray(r.required) ? r.required : []), n) : [];
|
|
2059
|
+
}, xn = (e) => {
|
|
2060
|
+
let t = bn(e);
|
|
1972
2061
|
if (t === void 0) return [];
|
|
1973
|
-
let n = t.$defs ?? {}, r =
|
|
2062
|
+
let n = t.$defs ?? {}, r = Z(t, n);
|
|
1974
2063
|
if (r.type !== "array") return [];
|
|
1975
2064
|
let i = r.items;
|
|
1976
2065
|
if (!i || typeof i != "object") return [];
|
|
1977
|
-
let a =
|
|
1978
|
-
return o ?
|
|
1979
|
-
},
|
|
1980
|
-
let n =
|
|
2066
|
+
let a = Z(i, n), o = a.properties;
|
|
2067
|
+
return o ? yn(o, new Set(Array.isArray(a.required) ? a.required : []), n) : [];
|
|
2068
|
+
}, Sn = (e, t) => {
|
|
2069
|
+
let n = _.decodeUnknownEither(e, { errors: "all" })(t);
|
|
1981
2070
|
if (n._tag === "Right") return {
|
|
1982
2071
|
valid: !0,
|
|
1983
2072
|
errors: {}
|
|
1984
2073
|
};
|
|
1985
2074
|
let r = {};
|
|
1986
|
-
for (let e of
|
|
2075
|
+
for (let e of C.formatErrorSync(n.left)) {
|
|
1987
2076
|
let t = e.path.length === 0 ? "" : String(e.path[0]);
|
|
1988
2077
|
t !== "" && !(t in r) && (r[t] = e.message);
|
|
1989
2078
|
}
|
|
@@ -1991,10 +2080,10 @@ var Je = () => {
|
|
|
1991
2080
|
valid: !1,
|
|
1992
2081
|
errors: r
|
|
1993
2082
|
};
|
|
1994
|
-
},
|
|
1995
|
-
let i =
|
|
2083
|
+
}, Cn = (e, t, r) => {
|
|
2084
|
+
let i = P(e), a = J(e, t), l = r.schema ?? i.descriptors[t]?.input;
|
|
1996
2085
|
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.`);
|
|
1997
|
-
let u = o(() => l ?
|
|
2086
|
+
let u = o(() => l ? Q(l) : [], [l]), d = s(r.defaults ?? {}), [f, p] = c(d.current), [m, h] = c({}), g = n((e, t) => {
|
|
1998
2087
|
p((n) => ({
|
|
1999
2088
|
...n,
|
|
2000
2089
|
[e]: t
|
|
@@ -2008,7 +2097,7 @@ var Je = () => {
|
|
|
2008
2097
|
p(d.current), h({});
|
|
2009
2098
|
}, []), y = n(async () => {
|
|
2010
2099
|
if (l !== void 0) {
|
|
2011
|
-
let e =
|
|
2100
|
+
let e = Sn(l, f);
|
|
2012
2101
|
if (h(e.errors), !e.valid) return;
|
|
2013
2102
|
}
|
|
2014
2103
|
return a.mutate(f);
|
|
@@ -2021,7 +2110,7 @@ var Je = () => {
|
|
|
2021
2110
|
fields: u,
|
|
2022
2111
|
values: f,
|
|
2023
2112
|
errors: m,
|
|
2024
|
-
isValid: o(() => l === void 0 ||
|
|
2113
|
+
isValid: o(() => l === void 0 || Sn(l, f).valid, [l, f]),
|
|
2025
2114
|
pending: a.pending,
|
|
2026
2115
|
submitError: a.error,
|
|
2027
2116
|
data: a.data,
|
|
@@ -2030,13 +2119,13 @@ var Je = () => {
|
|
|
2030
2119
|
reset: v,
|
|
2031
2120
|
submit: y
|
|
2032
2121
|
};
|
|
2033
|
-
},
|
|
2122
|
+
}, wn = (e, t, n) => e.map((e) => {
|
|
2034
2123
|
let r = String(e[n] ?? ""), i = e[t];
|
|
2035
2124
|
return {
|
|
2036
2125
|
value: r,
|
|
2037
2126
|
label: i == null ? r : String(i)
|
|
2038
2127
|
};
|
|
2039
|
-
}),
|
|
2128
|
+
}), Tn = (e, t, r = {}) => {
|
|
2040
2129
|
let i = r.debounceMs ?? 200, s = r.labelField ?? "name", l = r.valueField ?? "id", u = r.input ?? ((e) => ({ q: e })), [d, f] = c(r.initialTerm ?? ""), [p, m] = c(d);
|
|
2041
2130
|
a(() => {
|
|
2042
2131
|
if (d === p) return;
|
|
@@ -2047,7 +2136,7 @@ var Je = () => {
|
|
|
2047
2136
|
p,
|
|
2048
2137
|
i
|
|
2049
2138
|
]);
|
|
2050
|
-
let h = r.skipUntilTerm === !0 && p.trim() === "", g =
|
|
2139
|
+
let h = r.skipUntilTerm === !0 && p.trim() === "", g = V(e, t, o(() => u(p), [u, p]), { skip: h }), _ = o(() => wn(g.data ?? [], s, l), [
|
|
2051
2140
|
g.data,
|
|
2052
2141
|
s,
|
|
2053
2142
|
l
|
|
@@ -2058,13 +2147,13 @@ var Je = () => {
|
|
|
2058
2147
|
term: d,
|
|
2059
2148
|
search: v
|
|
2060
2149
|
};
|
|
2061
|
-
},
|
|
2062
|
-
let i =
|
|
2150
|
+
}, En = (e, t) => e === t ? 0 : e == null ? 1 : t == null || e < t ? -1 : 1, Dn = (e, t, r = {}) => {
|
|
2151
|
+
let i = P(e), [a, s] = c(r.pageSize), l = V(e, t, o(() => a === void 0 ? r.input ?? {} : {
|
|
2063
2152
|
...r.input,
|
|
2064
2153
|
limit: a
|
|
2065
2154
|
}, [r.input, a])), u = i.descriptors[t]?.output, d = n(() => {
|
|
2066
2155
|
r.pageSize !== void 0 && s((e) => (e ?? r.pageSize) + r.pageSize);
|
|
2067
|
-
}, [r.pageSize]), f = o(() => r.columns ?? (u === void 0 ? [] :
|
|
2156
|
+
}, [r.pageSize]), f = o(() => r.columns ?? (u === void 0 ? [] : xn(u)), [r.columns, u]), [p, m] = c(r.initialSort), h = n((e) => {
|
|
2068
2157
|
m((t) => t?.column === e ? {
|
|
2069
2158
|
column: e,
|
|
2070
2159
|
direction: t.direction === "asc" ? "desc" : "asc"
|
|
@@ -2079,7 +2168,7 @@ var Je = () => {
|
|
|
2079
2168
|
let e = l.data ?? [];
|
|
2080
2169
|
if (p === void 0) return e;
|
|
2081
2170
|
let t = p.direction === "asc" ? 1 : -1;
|
|
2082
|
-
return [...e].sort((e, n) =>
|
|
2171
|
+
return [...e].sort((e, n) => En(e[p.column], n[p.column]) * t);
|
|
2083
2172
|
}, [l.data, p]),
|
|
2084
2173
|
loading: l.data === void 0,
|
|
2085
2174
|
error: l.error,
|
|
@@ -2088,14 +2177,14 @@ var Je = () => {
|
|
|
2088
2177
|
loadMore: d,
|
|
2089
2178
|
hasMore: a !== void 0 && (l.data?.length ?? 0) >= a
|
|
2090
2179
|
};
|
|
2091
|
-
},
|
|
2180
|
+
}, On = (e, t, n, r) => {
|
|
2092
2181
|
let i = e.replace(/\/$/, ""), a = new URLSearchParams({
|
|
2093
2182
|
table: t,
|
|
2094
2183
|
id: n
|
|
2095
2184
|
});
|
|
2096
2185
|
return r !== void 0 && a.set("column", r), `${i}/_voltro/inspect/provenance?${a.toString()}`;
|
|
2097
|
-
},
|
|
2098
|
-
let { inspectBaseUrl: i } =
|
|
2186
|
+
}, kn = On, An = (e, t, n, r) => {
|
|
2187
|
+
let { inspectBaseUrl: i } = P(e), [o, s] = c({
|
|
2099
2188
|
data: void 0,
|
|
2100
2189
|
loading: !0,
|
|
2101
2190
|
error: void 0
|
|
@@ -2107,7 +2196,7 @@ var Je = () => {
|
|
|
2107
2196
|
loading: !0,
|
|
2108
2197
|
error: void 0
|
|
2109
2198
|
});
|
|
2110
|
-
let a =
|
|
2199
|
+
let a = On(i ?? "", t, n, r);
|
|
2111
2200
|
return fetch(a).then(async (e) => {
|
|
2112
2201
|
if (!e.ok) throw Error(`provenance fetch failed: HTTP ${e.status}`);
|
|
2113
2202
|
return await e.json();
|
|
@@ -2133,8 +2222,8 @@ var Je = () => {
|
|
|
2133
2222
|
n,
|
|
2134
2223
|
r
|
|
2135
2224
|
]), o;
|
|
2136
|
-
},
|
|
2137
|
-
let { inspectBaseUrl: t } =
|
|
2225
|
+
}, jn = (e) => `${e.replace(/\/$/, "")}/_voltro/inspect/manifest`, Mn = (e) => {
|
|
2226
|
+
let { inspectBaseUrl: t } = P(e), [n, r] = c({
|
|
2138
2227
|
manifest: void 0,
|
|
2139
2228
|
loading: !0,
|
|
2140
2229
|
error: void 0
|
|
@@ -2145,7 +2234,7 @@ var Je = () => {
|
|
|
2145
2234
|
manifest: void 0,
|
|
2146
2235
|
loading: !0,
|
|
2147
2236
|
error: void 0
|
|
2148
|
-
}), fetch(
|
|
2237
|
+
}), fetch(jn(t ?? "")).then(async (e) => {
|
|
2149
2238
|
if (!e.ok) throw Error(`manifest fetch failed: HTTP ${e.status}`);
|
|
2150
2239
|
return await e.json();
|
|
2151
2240
|
}).then((t) => {
|
|
@@ -2164,8 +2253,8 @@ var Je = () => {
|
|
|
2164
2253
|
e = !0;
|
|
2165
2254
|
};
|
|
2166
2255
|
}, [e, t]), n;
|
|
2167
|
-
},
|
|
2168
|
-
let n = e.procedures.find((e) => e.kind === "query" &&
|
|
2256
|
+
}, Nn = (e, t) => Array.isArray(e) ? e.includes(t) : e === t, Pn = (e, t, n) => e.targets?.some((e) => e.table === t && e.op === n) ?? !1, Fn = (e) => e.tables.filter((e) => !e.framework).map((t) => {
|
|
2257
|
+
let n = e.procedures.find((e) => e.kind === "query" && Nn(e.source, t.name)), r = e.procedures.find((e) => e.kind === "mutation" && Pn(e, t.name, "insert")), i = e.procedures.find((e) => e.kind === "mutation" && Pn(e, t.name, "update")), a = e.procedures.find((e) => e.kind === "mutation" && Pn(e, t.name, "delete"));
|
|
2169
2258
|
return {
|
|
2170
2259
|
table: t.name,
|
|
2171
2260
|
columns: t.columns,
|
|
@@ -2178,7 +2267,7 @@ var Je = () => {
|
|
|
2178
2267
|
writeScope: `${t.name}:write`,
|
|
2179
2268
|
deleteScope: `${t.name}:delete`
|
|
2180
2269
|
};
|
|
2181
|
-
}),
|
|
2270
|
+
}), In = (e) => {
|
|
2182
2271
|
let [t, r] = c([]), [i, a] = c([]), s = n((e) => {
|
|
2183
2272
|
r((t) => [...t, e]), a([]);
|
|
2184
2273
|
}, []), l = n(async () => {
|
|
@@ -2206,8 +2295,8 @@ var Je = () => {
|
|
|
2206
2295
|
l,
|
|
2207
2296
|
u
|
|
2208
2297
|
]);
|
|
2209
|
-
},
|
|
2210
|
-
let r = t?.limit, { data: i } =
|
|
2298
|
+
}, Ln = "__voltro.undo.log", Rn = "__voltro.undo.apply", zn = "__voltro.undo.redo", Bn = (e, t) => {
|
|
2299
|
+
let r = t?.limit, { data: i } = V(e, Ln, r === void 0 ? {} : { limit: r }), a = J(e, Rn), o = J(e, zn), s = i ?? [], c = s.find((e) => !e.undone && !e.crossesAction), l = s.find((e) => e.undone), u = n(async (e) => {
|
|
2211
2300
|
await a.mutate({ invocationId: e });
|
|
2212
2301
|
}, [a]), d = n(async (e) => {
|
|
2213
2302
|
await o.mutate({ invocationId: e });
|
|
@@ -2226,13 +2315,13 @@ var Je = () => {
|
|
|
2226
2315
|
undoLast: f,
|
|
2227
2316
|
redoLast: p
|
|
2228
2317
|
};
|
|
2229
|
-
},
|
|
2318
|
+
}, Vn = (e, t) => ({
|
|
2230
2319
|
name: e,
|
|
2231
2320
|
map: t
|
|
2232
|
-
}), $ = (e, t) => e === void 0 ? null : typeof e == "string" ? { event: e } : e(t),
|
|
2321
|
+
}), $ = (e, t) => e === void 0 ? null : typeof e == "string" ? { event: e } : e(t), Hn = /* @__PURE__ */ new Set(["onMount", "onUnmount"]), Un = (e, t, n) => {
|
|
2233
2322
|
let r = { ...t };
|
|
2234
2323
|
for (let [i, a] of Object.entries(e.map)) {
|
|
2235
|
-
if (
|
|
2324
|
+
if (Hn.has(i) || a === void 0) continue;
|
|
2236
2325
|
let e = t[i];
|
|
2237
2326
|
r[i] = (...r) => {
|
|
2238
2327
|
let i = $(a, t);
|
|
@@ -2240,7 +2329,7 @@ var Je = () => {
|
|
|
2240
2329
|
};
|
|
2241
2330
|
}
|
|
2242
2331
|
return r;
|
|
2243
|
-
},
|
|
2332
|
+
}, Wn = (e, t, n) => {
|
|
2244
2333
|
let r = s({
|
|
2245
2334
|
spec: e,
|
|
2246
2335
|
props: t,
|
|
@@ -2256,45 +2345,45 @@ var Je = () => {
|
|
|
2256
2345
|
let e = r.current, t = $(e.spec.map.onUnmount, e.props);
|
|
2257
2346
|
t !== null && e.sink(t);
|
|
2258
2347
|
};
|
|
2259
|
-
}, []), o(() =>
|
|
2348
|
+
}, []), o(() => Un(e, t, n), [
|
|
2260
2349
|
e,
|
|
2261
2350
|
t,
|
|
2262
2351
|
n
|
|
2263
2352
|
]);
|
|
2264
|
-
},
|
|
2265
|
-
let n =
|
|
2266
|
-
return o(() => n === void 0 ? [] :
|
|
2267
|
-
},
|
|
2268
|
-
let n =
|
|
2269
|
-
return o(() => n === void 0 ? [] :
|
|
2270
|
-
},
|
|
2353
|
+
}, Gn = (e, t) => {
|
|
2354
|
+
let n = P(e).descriptors[t]?.input;
|
|
2355
|
+
return o(() => n === void 0 ? [] : Q(n), [n]);
|
|
2356
|
+
}, Kn = (e, t) => {
|
|
2357
|
+
let n = P(e).descriptors[t]?.output;
|
|
2358
|
+
return o(() => n === void 0 ? [] : xn(n), [n]);
|
|
2359
|
+
}, qn = (e, t) => {
|
|
2271
2360
|
if (e === t) return !0;
|
|
2272
2361
|
if (e.length !== t.length) return !1;
|
|
2273
2362
|
for (let n = 0; n < e.length; n += 1) if (!Object.is(e[n], t[n])) return !1;
|
|
2274
2363
|
return !0;
|
|
2275
|
-
},
|
|
2276
|
-
let n = s(null), r =
|
|
2277
|
-
return (n.current === null || !
|
|
2364
|
+
}, Jn = (e) => Object.keys(e).sort().map((t) => e[t]), Yn = (e, t) => {
|
|
2365
|
+
let n = s(null), r = Jn(e);
|
|
2366
|
+
return (n.current === null || !qn(n.current.key, r)) && (n.current = {
|
|
2278
2367
|
key: r,
|
|
2279
2368
|
value: t(e)
|
|
2280
2369
|
}), n.current.value;
|
|
2281
|
-
},
|
|
2282
|
-
function
|
|
2283
|
-
return t(
|
|
2370
|
+
}, Xn = "admin:full", Zn = (e, t) => e.includes("admin:full") ? !0 : (typeof t == "string" ? [t] : t).every((t) => e.includes(t)), Qn = (e, t) => t.length === 0 || e.includes("admin:full") ? !0 : t.some((t) => e.includes(t)), $n = e({ scopes: [] });
|
|
2371
|
+
function er(e) {
|
|
2372
|
+
return t($n.Provider, { value: { scopes: e.scopes } }, e.children);
|
|
2284
2373
|
}
|
|
2285
|
-
var
|
|
2286
|
-
let i =
|
|
2374
|
+
var tr = () => r($n), nr = (e) => Zn(tr().scopes, e), rr = (e) => Qn(tr().scopes, e), ir = (e, t, n, r = {}) => {
|
|
2375
|
+
let i = V(e, t, { ...n }, r);
|
|
2287
2376
|
return o(() => ({
|
|
2288
2377
|
allowed: i.data?.allowed === !0,
|
|
2289
2378
|
pending: i.data === void 0
|
|
2290
2379
|
}), [i.data]);
|
|
2291
|
-
},
|
|
2292
|
-
let i =
|
|
2380
|
+
}, ar = (e, t, n, r = {}) => {
|
|
2381
|
+
let i = V(e, t, { ...n }, r);
|
|
2293
2382
|
return o(() => ({
|
|
2294
2383
|
allowedIds: new Set(i.data?.allowedIds ?? []),
|
|
2295
2384
|
pending: i.data === void 0
|
|
2296
2385
|
}), [i.data]);
|
|
2297
|
-
},
|
|
2386
|
+
}, or = (e) => {
|
|
2298
2387
|
switch (e) {
|
|
2299
2388
|
case "select":
|
|
2300
2389
|
case "radio":
|
|
@@ -2310,25 +2399,25 @@ var Kn = () => r(Wn), qn = (e) => Hn(Kn().scopes, e), Jn = (e) => Un(Kn().scopes
|
|
|
2310
2399
|
case "switch": return "boolean";
|
|
2311
2400
|
default: return null;
|
|
2312
2401
|
}
|
|
2313
|
-
},
|
|
2314
|
-
let t =
|
|
2402
|
+
}, sr = (e) => Q(e).map((e) => {
|
|
2403
|
+
let t = or(e.widget);
|
|
2315
2404
|
return t === null ? null : {
|
|
2316
2405
|
name: e.name,
|
|
2317
2406
|
label: e.label,
|
|
2318
2407
|
kind: t,
|
|
2319
2408
|
...e.options ? { options: e.options } : {}
|
|
2320
2409
|
};
|
|
2321
|
-
}).filter((e) => e !== null),
|
|
2410
|
+
}).filter((e) => e !== null), cr = (e) => {
|
|
2322
2411
|
let t = {};
|
|
2323
2412
|
for (let [n, r] of Object.entries(e)) r === void 0 || r === "" || Array.isArray(r) && r.length === 0 || (t[n] = r);
|
|
2324
2413
|
return t;
|
|
2325
|
-
},
|
|
2326
|
-
let i =
|
|
2327
|
-
l((n) =>
|
|
2414
|
+
}, lr = (e, t, r = {}) => {
|
|
2415
|
+
let i = P(e).descriptors[t]?.input, a = o(() => i === void 0 ? [] : sr(i), [i]), [s, l] = c(r.initial ?? {}), u = n((e, t) => {
|
|
2416
|
+
l((n) => cr({
|
|
2328
2417
|
...n,
|
|
2329
2418
|
[e]: t
|
|
2330
2419
|
}));
|
|
2331
|
-
}, []), d = n(() => l({}), []), f =
|
|
2420
|
+
}, []), d = n(() => l({}), []), f = V(e, t, o(() => cr(s), [s]));
|
|
2332
2421
|
return {
|
|
2333
2422
|
filters: a,
|
|
2334
2423
|
values: s,
|
|
@@ -2339,20 +2428,20 @@ var Kn = () => r(Wn), qn = (e) => Hn(Kn().scopes, e), Jn = (e) => Un(Kn().scopes
|
|
|
2339
2428
|
loading: f.data === void 0,
|
|
2340
2429
|
error: f.error
|
|
2341
2430
|
};
|
|
2342
|
-
},
|
|
2343
|
-
let r =
|
|
2431
|
+
}, ur = (e, t, n = {}) => {
|
|
2432
|
+
let r = V(e, t, n), i = r.data;
|
|
2344
2433
|
return {
|
|
2345
2434
|
record: Array.isArray(i) ? i[0] : i,
|
|
2346
2435
|
loading: i === void 0,
|
|
2347
2436
|
error: r.error
|
|
2348
2437
|
};
|
|
2349
|
-
},
|
|
2438
|
+
}, dr = (e, t = 300) => {
|
|
2350
2439
|
let [n, r] = c(e);
|
|
2351
2440
|
return a(() => {
|
|
2352
2441
|
let n = setTimeout(() => r(e), t);
|
|
2353
2442
|
return () => clearTimeout(n);
|
|
2354
2443
|
}, [e, t]), n;
|
|
2355
|
-
},
|
|
2444
|
+
}, fr = (e) => {
|
|
2356
2445
|
let { value: t, debouncedValue: n, data: r, interpret: i, skipEmpty: a = !0 } = e;
|
|
2357
2446
|
if (a && t.trim() === "") return {
|
|
2358
2447
|
status: "idle",
|
|
@@ -2370,39 +2459,39 @@ var Kn = () => r(Wn), qn = (e) => Hn(Kn().scopes, e), Jn = (e) => Un(Kn().scopes
|
|
|
2370
2459
|
valid: o.valid,
|
|
2371
2460
|
message: o.message
|
|
2372
2461
|
};
|
|
2373
|
-
},
|
|
2374
|
-
let { input: i, interpret: a, debounceMs: s = 300, skipEmpty: c = !0 } = r, l =
|
|
2375
|
-
return
|
|
2462
|
+
}, pr = (e, t, n, r) => {
|
|
2463
|
+
let { input: i, interpret: a, debounceMs: s = 300, skipEmpty: c = !0 } = r, l = dr(n, s), u = c && l.trim() === "", d = V(e, t, o(() => i ? i(l) : { value: l }, [i, l]), { skip: u });
|
|
2464
|
+
return fr({
|
|
2376
2465
|
value: n,
|
|
2377
2466
|
debouncedValue: l,
|
|
2378
2467
|
data: u ? null : d.data,
|
|
2379
2468
|
interpret: a,
|
|
2380
2469
|
skipEmpty: c
|
|
2381
2470
|
});
|
|
2382
|
-
},
|
|
2471
|
+
}, mr = (e, t) => ({
|
|
2383
2472
|
name: e,
|
|
2384
2473
|
payload: t
|
|
2385
|
-
}),
|
|
2386
|
-
let n =
|
|
2474
|
+
}), hr = (e, t) => {
|
|
2475
|
+
let n = _.decodeUnknownEither(e.payload, { errors: "all" })(t);
|
|
2387
2476
|
if (n._tag === "Right") return {
|
|
2388
2477
|
valid: !0,
|
|
2389
2478
|
errors: {}
|
|
2390
2479
|
};
|
|
2391
2480
|
let r = {};
|
|
2392
|
-
for (let e of
|
|
2481
|
+
for (let e of C.formatErrorSync(n.left)) r[e.path.join(".") || "(root)"] = e.message;
|
|
2393
2482
|
return {
|
|
2394
2483
|
valid: !1,
|
|
2395
2484
|
errors: r
|
|
2396
2485
|
};
|
|
2397
|
-
},
|
|
2486
|
+
}, gr = (e) => {
|
|
2398
2487
|
let t = new Map(e.map((e) => [e.name, e]));
|
|
2399
2488
|
return {
|
|
2400
2489
|
names: [...t.keys()].sort(),
|
|
2401
2490
|
get: (e) => t.get(e),
|
|
2402
2491
|
events: e
|
|
2403
2492
|
};
|
|
2404
|
-
},
|
|
2405
|
-
let n =
|
|
2493
|
+
}, _r = (e, t) => {
|
|
2494
|
+
let n = gr(e);
|
|
2406
2495
|
return {
|
|
2407
2496
|
track: (e, r) => {
|
|
2408
2497
|
let i = n.get(e);
|
|
@@ -2411,7 +2500,7 @@ var Kn = () => r(Wn), qn = (e) => Hn(Kn().scopes, e), Jn = (e) => Un(Kn().scopes
|
|
|
2411
2500
|
return;
|
|
2412
2501
|
}
|
|
2413
2502
|
if (process.env.NODE_ENV !== "production") {
|
|
2414
|
-
let t =
|
|
2503
|
+
let t = hr(i, r);
|
|
2415
2504
|
t.valid || console.error(`[@voltro/client] analytics.track('${e}'): payload failed its schema`, t.errors);
|
|
2416
2505
|
}
|
|
2417
2506
|
t({
|
|
@@ -2422,42 +2511,42 @@ var Kn = () => r(Wn), qn = (e) => Hn(Kn().scopes, e), Jn = (e) => Un(Kn().scopes
|
|
|
2422
2511
|
names: n.names,
|
|
2423
2512
|
catalog: n
|
|
2424
2513
|
};
|
|
2425
|
-
},
|
|
2426
|
-
let r =
|
|
2514
|
+
}, vr = (e, t) => {
|
|
2515
|
+
let r = Y(e, t);
|
|
2427
2516
|
return {
|
|
2428
2517
|
preview: n((e) => r.run(e), [r]),
|
|
2429
2518
|
diff: r.lastResult,
|
|
2430
2519
|
pending: r.pending,
|
|
2431
2520
|
error: r.error
|
|
2432
2521
|
};
|
|
2433
|
-
},
|
|
2522
|
+
}, yr = (e, t, n, r) => [...e, {
|
|
2434
2523
|
id: t,
|
|
2435
2524
|
tag: n,
|
|
2436
2525
|
input: r,
|
|
2437
2526
|
status: "pending",
|
|
2438
2527
|
attempts: 0
|
|
2439
|
-
}],
|
|
2528
|
+
}], br = (e, t, n) => e.map((e) => e.id === t ? {
|
|
2440
2529
|
...e,
|
|
2441
2530
|
...n
|
|
2442
|
-
} : e),
|
|
2531
|
+
} : e), xr = (e, t) => br(e, t, { status: "sent" }), Sr = (e, t, n) => e.map((e) => e.id === t ? {
|
|
2443
2532
|
...e,
|
|
2444
2533
|
status: "failed",
|
|
2445
2534
|
error: n,
|
|
2446
2535
|
attempts: e.attempts + 1
|
|
2447
|
-
} : e),
|
|
2536
|
+
} : e), Cr = (e, t, n) => br(e, t, {
|
|
2448
2537
|
status: "conflict",
|
|
2449
2538
|
error: n
|
|
2450
|
-
}),
|
|
2539
|
+
}), wr = (e) => e.filter((e) => e.status !== "sent"), Tr = (e) => {
|
|
2451
2540
|
let t = [];
|
|
2452
2541
|
for (let n of e) {
|
|
2453
2542
|
if (n.status === "conflict") break;
|
|
2454
2543
|
(n.status === "pending" || n.status === "failed") && t.push(n);
|
|
2455
2544
|
}
|
|
2456
2545
|
return t;
|
|
2457
|
-
},
|
|
2546
|
+
}, Er = (e) => {
|
|
2458
2547
|
let t = e;
|
|
2459
2548
|
return t?.conflict === !0 || t?._tag === "UndoBoundaryError" && t?.boundary === "conflict";
|
|
2460
|
-
},
|
|
2549
|
+
}, Dr = (e) => {
|
|
2461
2550
|
let [t, n] = c(e ?? (typeof navigator < "u" ? navigator.onLine : !0));
|
|
2462
2551
|
return a(() => {
|
|
2463
2552
|
if (e !== void 0) {
|
|
@@ -2470,21 +2559,21 @@ var Kn = () => r(Wn), qn = (e) => Hn(Kn().scopes, e), Jn = (e) => Un(Kn().scopes
|
|
|
2470
2559
|
window.removeEventListener("online", t), window.removeEventListener("offline", r);
|
|
2471
2560
|
};
|
|
2472
2561
|
}, [e]), t;
|
|
2473
|
-
},
|
|
2474
|
-
let { send: t, isConflict: r =
|
|
2562
|
+
}, Or = (e) => {
|
|
2563
|
+
let { send: t, isConflict: r = Er, idFor: i } = e, [o, l] = c([]), u = Dr(e.online), d = s(o);
|
|
2475
2564
|
d.current = o;
|
|
2476
2565
|
let f = s(0), p = n((e, t) => {
|
|
2477
2566
|
let n = i?.() ?? `obx_${f.current++}_${e}`;
|
|
2478
|
-
l((r) =>
|
|
2567
|
+
l((r) => yr(r, n, e, t));
|
|
2479
2568
|
}, [i]), m = n(async () => {
|
|
2480
|
-
for (let e of
|
|
2481
|
-
await t(e), l((t) =>
|
|
2569
|
+
for (let e of Tr(d.current)) try {
|
|
2570
|
+
await t(e), l((t) => xr(t, e.id));
|
|
2482
2571
|
} catch (t) {
|
|
2483
2572
|
if (r(t)) {
|
|
2484
|
-
l((n) =>
|
|
2573
|
+
l((n) => Cr(n, e.id, t));
|
|
2485
2574
|
break;
|
|
2486
2575
|
}
|
|
2487
|
-
l((n) =>
|
|
2576
|
+
l((n) => Sr(n, e.id, t));
|
|
2488
2577
|
}
|
|
2489
2578
|
}, [t, r]);
|
|
2490
2579
|
return a(() => {
|
|
@@ -2497,7 +2586,7 @@ var Kn = () => r(Wn), qn = (e) => Hn(Kn().scopes, e), Jn = (e) => Un(Kn().scopes
|
|
|
2497
2586
|
pending: o.filter((e) => e.status === "pending" || e.status === "failed").length,
|
|
2498
2587
|
conflicts: o.filter((e) => e.status === "conflict")
|
|
2499
2588
|
};
|
|
2500
|
-
},
|
|
2589
|
+
}, kr = (e) => {
|
|
2501
2590
|
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);
|
|
2502
2591
|
return {
|
|
2503
2592
|
startIndex: l,
|
|
@@ -2507,8 +2596,8 @@ var Kn = () => r(Wn), qn = (e) => Hn(Kn().scopes, e), Jn = (e) => Un(Kn().scopes
|
|
|
2507
2596
|
topSpacer: l * r,
|
|
2508
2597
|
bottomSpacer: a === void 0 ? 0 : Math.max(0, (a - d) * r)
|
|
2509
2598
|
};
|
|
2510
|
-
},
|
|
2511
|
-
let { rowHeight: i, viewportHeight: a, overscan: s, total: l, input: u } = r, [d, f] = c(0), p = o(() =>
|
|
2599
|
+
}, Ar = (e, t, r) => {
|
|
2600
|
+
let { rowHeight: i, viewportHeight: a, overscan: s, total: l, input: u } = r, [d, f] = c(0), p = o(() => kr({
|
|
2512
2601
|
scrollTop: d,
|
|
2513
2602
|
viewportHeight: a,
|
|
2514
2603
|
rowHeight: i,
|
|
@@ -2520,7 +2609,7 @@ var Kn = () => r(Wn), qn = (e) => Hn(Kn().scopes, e), Jn = (e) => Un(Kn().scopes
|
|
|
2520
2609
|
i,
|
|
2521
2610
|
s,
|
|
2522
2611
|
l
|
|
2523
|
-
]), m =
|
|
2612
|
+
]), m = V(e, t, o(() => ({
|
|
2524
2613
|
...u,
|
|
2525
2614
|
offset: p.offset,
|
|
2526
2615
|
limit: p.limit
|
|
@@ -2540,8 +2629,8 @@ var Kn = () => r(Wn), qn = (e) => Hn(Kn().scopes, e), Jn = (e) => Un(Kn().scopes
|
|
|
2540
2629
|
loading: m.data === void 0,
|
|
2541
2630
|
error: m.error
|
|
2542
2631
|
};
|
|
2543
|
-
},
|
|
2544
|
-
let { errorBus: t } =
|
|
2632
|
+
}, jr = () => typeof navigator > "u" || navigator.onLine, Mr = (e) => {
|
|
2633
|
+
let { errorBus: t } = P(e), [r, i] = c(jr), [o, l] = c(0), [u, d] = c(void 0), f = s(!0);
|
|
2545
2634
|
a(() => (f.current = !0, () => {
|
|
2546
2635
|
f.current = !1;
|
|
2547
2636
|
}), []), a(() => {
|
|
@@ -2567,7 +2656,7 @@ var Kn = () => r(Wn), qn = (e) => Hn(Kn().scopes, e), Jn = (e) => Un(Kn().scopes
|
|
|
2567
2656
|
lastFailureAt: u,
|
|
2568
2657
|
reportSuccess: p
|
|
2569
2658
|
};
|
|
2570
|
-
},
|
|
2659
|
+
}, Nr = "__voltro.connections.list", Pr = "__voltro.connections.start", Fr = "__voltro.connections.submitToken", Ir = "__voltro.connections.disconnect", Lr = {
|
|
2571
2660
|
connectionId: "",
|
|
2572
2661
|
kind: "oauth2",
|
|
2573
2662
|
label: "",
|
|
@@ -2578,14 +2667,14 @@ var Kn = () => r(Wn), qn = (e) => Hn(Kn().scopes, e), Jn = (e) => Un(Kn().scopes
|
|
|
2578
2667
|
expiresAt: null,
|
|
2579
2668
|
lastError: null,
|
|
2580
2669
|
connectedAt: null
|
|
2581
|
-
},
|
|
2670
|
+
}, Rr = (e, t) => {
|
|
2582
2671
|
if (t === "redirect") {
|
|
2583
2672
|
globalThis.location.assign(e);
|
|
2584
2673
|
return;
|
|
2585
2674
|
}
|
|
2586
2675
|
globalThis.open(e, "voltro-connect", "width=620,height=760,menubar=no,toolbar=no") === null && globalThis.location.assign(e);
|
|
2587
|
-
},
|
|
2588
|
-
let { data: t } =
|
|
2676
|
+
}, zr = (e) => {
|
|
2677
|
+
let { data: t } = V(e, Nr, {}), r = Y(e, Pr), i = J(e, Fr), a = J(e, Ir), o = t ?? [], s = r.pending || i.pending || a.pending, c = n((e) => ({
|
|
2589
2678
|
...e,
|
|
2590
2679
|
connected: e.status === "connected",
|
|
2591
2680
|
needsAttention: e.status === "expired" || e.status === "revoked" || e.status === "error",
|
|
@@ -2593,7 +2682,7 @@ var Kn = () => r(Wn), qn = (e) => Hn(Kn().scopes, e), Jn = (e) => Un(Kn().scopes
|
|
|
2593
2682
|
connect: async (t) => {
|
|
2594
2683
|
if (e.kind !== "oauth2") throw Error(`connection "${e.connectionId}" is a personal-access-token connection — call submitToken(token), not connect().`);
|
|
2595
2684
|
let n = t?.redirectTo ?? `${globalThis.location.pathname}${globalThis.location.search}`;
|
|
2596
|
-
|
|
2685
|
+
Rr((await r.run({
|
|
2597
2686
|
connectionId: e.connectionId,
|
|
2598
2687
|
redirectTo: n
|
|
2599
2688
|
})).authorizeUrl, t?.mode);
|
|
@@ -2623,10 +2712,10 @@ var Kn = () => r(Wn), qn = (e) => Hn(Kn().scopes, e), Jn = (e) => Un(Kn().scopes
|
|
|
2623
2712
|
get: l,
|
|
2624
2713
|
pending: s
|
|
2625
2714
|
};
|
|
2626
|
-
},
|
|
2627
|
-
let n =
|
|
2715
|
+
}, Br = (e, t) => {
|
|
2716
|
+
let n = zr(e), r = n.get(t);
|
|
2628
2717
|
return o(() => r === void 0 ? {
|
|
2629
|
-
...
|
|
2718
|
+
...Lr,
|
|
2630
2719
|
connectionId: t,
|
|
2631
2720
|
label: t,
|
|
2632
2721
|
connected: !1,
|
|
@@ -2651,6 +2740,6 @@ var Kn = () => r(Wn), qn = (e) => Hn(Kn().scopes, e), Jn = (e) => Un(Kn().scopes
|
|
|
2651
2740
|
n.loading,
|
|
2652
2741
|
n.pending
|
|
2653
2742
|
]);
|
|
2654
|
-
},
|
|
2743
|
+
}, Vr = "framework-client";
|
|
2655
2744
|
//#endregion
|
|
2656
|
-
export {
|
|
2745
|
+
export { Xn as ADMIN_SCOPE, Vr as CLIENT_NAME, Nr as CONNECTIONS_LIST_TAG, Ir as CONNECTION_DISCONNECT_TAG, Pr as CONNECTION_START_TAG, Fr as CONNECTION_SUBMIT_TOKEN_TAG, A as FrameworkRuntimesContext, _e as FrameworkRuntimesProvider, le as LoadingSubscriptionCache, er as PermissionProvider, ue as RpcErrorBus, ce as SubscriptionCache, Rn as UNDO_APPLY_TAG, Ln as UNDO_LOG_TAG, zn as UNDO_REDO_TAG, he as _resetFrameworkRuntimesWarning, qe as applyStoreSeeds, Zn as canCall, Qn as canCallAny, st as clearMutations, wr as clearSent, Ae as clearStoreHistory, kr as computeWindow, _r as createAnalytics, mr as defineEvent, He as defineStore, Vn as defineTracking, Ve as definedStores, Fn as deriveEntityAdmins, yr as enqueueEntry, gr as eventCatalog, sr as filtersFromSchema, ht as freshIdempotencyKey, ut as getMutationNotifier, at as getMutations, We as makeStoreSeedBag, jn as manifestUrl, Cr as markConflict, Sr as markFailed, xr as markSent, kn as provenanceUrl, ln as publishClientError, T as publishClientTrace, Tr as replayable, dn as reportClientError, Ue as resetStoreRegistryForTests, B as resolveByTag, $ as resolveTrackingEvent, Qt as resumableConsumeProgram, wn as rowsToOptions, $e as runSequence, xn as schemaToColumns, Q as schemaToFields, Ke as seedStore, Qe as sequence, lt as setMutationNotifier, Ge as setStoreSeedResolver, K as settleMutation, F as shallow, qn as shallowArrayEqual, Jn as sourceValues, fe as ssrClientProxy, pe as ssrStubHandle, E as stableKey, it as startMutation, Oe as storeHistory, un as subscribeClientErrors, ee as subscribeClientTraces, ot as subscribeMutations, ke as subscribeStoreHistory, je as travelToStoreState, Y as useAction, an as useAgent, rn as useAgentChat, Zt as useAgentStream, pr as useAsyncValidation, nr as useCan, rr as useCanAny, Mn as useCapabilityManifest, Br as useConnection, Mr as useConnectionStatus, zr as useConnections, on as useDataCopilot, Dn as useDataTable, dr as useDebounced, Yn as useDerived, Ze as useEvent, Cn as useFormBinding, Gn as useFormSkeleton, P as useFrameworkApi, ge as useFrameworkRuntimes, J as useMutation, fn as useOnRpcError, Or as useOutbox, tr as usePermissions, vr as usePreview, An as useProvenance, Tn as useQueryField, lr as useQueryFilters, ur as useRecord, sn as useRefreshSubscriptions, ir as useResourceCan, ar as useResourceCans, en as useResumableAgentStream, et as useSequence, V as useSubscription, Kn as useTableSkeleton, Wn as useTracking, In as useUndo, Bn as useUndoLog, Pt as useUpload, Ar as useWindowedSubscription, Ft as useWorkflow, Ut as useWorkflowDomainEvents, Wt as useWorkflowEventDeliveries, Ht as useWorkflowEvents, Rt as useWorkflowRun, Vt as useWorkflowRunEvents, Xt as useWorkflowRunState, Bt as useWorkflowRunSteps, zt as useWorkflowRuns, It as useWorkflowSignal, Lt as useWorkflowUpdate, hr as validateEventPayload, Sn as validateFields, fr as validationStatus, gt as withIdempotencyKey, Un as wrapTrackedCallbacks };
|