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