@voltro/client 0.57.0 → 0.59.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 +256 -0
- package/dist/index.d.ts +67 -3
- package/dist/index.js +772 -720
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
import { C as e, S as t, _ as n, a as r, b as i, c as a, d as o, f as s, g as c, h as l, i as u, l as d, m as f, n as p, o as m, p as h, r as g, s as _, t as v, u as y, v as b, w as x, x as S, y as ee } from "./formData-He_L4ozH.js";
|
|
2
|
-
import { createContext as C, createElement as w, useCallback as T, useContext as
|
|
3
|
-
import { Cause as
|
|
4
|
-
import * as
|
|
5
|
-
import { RpcClient as
|
|
6
|
-
import { applyRowPatch as
|
|
7
|
-
import * as
|
|
8
|
-
import { jsx as
|
|
9
|
-
import { FormApi as
|
|
10
|
-
import { useStore as
|
|
11
|
-
import { ArrayFormatter as
|
|
2
|
+
import { createContext as C, createElement as w, useCallback as T, useContext as E, useDebugValue as te, useEffect as D, useMemo as O, useRef as k, useState as A, useSyncExternalStore as j } from "react";
|
|
3
|
+
import { Cause as M, Context as ne, Duration as re, Effect as N, Exit as P, Fiber as F, Layer as I, ManagedRuntime as L, Schedule as R, Schema as ie, Stream as z } from "effect";
|
|
4
|
+
import * as ae from "@effect/platform/Headers";
|
|
5
|
+
import { RpcClient as B, RpcSerialization as oe } from "@effect/rpc";
|
|
6
|
+
import { applyRowPatch as se, fieldIssuesOf as ce, pluginTag as le } from "@voltro/protocol";
|
|
7
|
+
import * as V from "@effect/platform/Socket";
|
|
8
|
+
import { jsx as ue } from "react/jsx-runtime";
|
|
9
|
+
import { FormApi as de } from "@tanstack/form-core";
|
|
10
|
+
import { useStore as fe } from "@tanstack/react-store";
|
|
11
|
+
import { ArrayFormatter as pe } from "effect/ParseResult";
|
|
12
12
|
//#region src/traceBus.ts
|
|
13
|
-
var
|
|
14
|
-
for (let t of
|
|
13
|
+
var H = /* @__PURE__ */ new Set(), me = (e) => {
|
|
14
|
+
for (let t of H) try {
|
|
15
15
|
t(e);
|
|
16
16
|
} catch {}
|
|
17
|
-
},
|
|
18
|
-
|
|
19
|
-
}),
|
|
17
|
+
}, he = (e) => (H.add(e), () => {
|
|
18
|
+
H.delete(e);
|
|
19
|
+
}), U = (e) => {
|
|
20
20
|
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);
|
|
21
21
|
return t(e);
|
|
22
|
-
},
|
|
22
|
+
}, ge = Object.freeze({
|
|
23
23
|
data: void 0,
|
|
24
24
|
revision: -1,
|
|
25
25
|
emittedAt: void 0,
|
|
26
26
|
error: void 0,
|
|
27
27
|
pendingPatches: 0
|
|
28
|
-
}),
|
|
28
|
+
}), _e = 5e3, ve = (e, t, n) => {
|
|
29
29
|
if (e._tag === "error") return !1;
|
|
30
30
|
if (e._tag === "delta") return !0;
|
|
31
31
|
try {
|
|
@@ -33,21 +33,21 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
|
|
|
33
33
|
} catch {
|
|
34
34
|
return !1;
|
|
35
35
|
}
|
|
36
|
-
},
|
|
36
|
+
}, ye = 0, be = () => `patch_${++ye}`, W = (e, t) => {
|
|
37
37
|
let n = e;
|
|
38
38
|
for (let e of t.split(".")) {
|
|
39
39
|
if (typeof n != "object" || !n) return;
|
|
40
40
|
n = n[e];
|
|
41
41
|
}
|
|
42
42
|
return n;
|
|
43
|
-
},
|
|
43
|
+
}, xe = (e, t, n) => {
|
|
44
44
|
let r = t.split("."), i = (e) => typeof e == "object" && e && !Array.isArray(e) ? { ...e } : {}, a = i(e), o = a;
|
|
45
45
|
for (let e = 0; e < r.length - 1; e += 1) o[r[e]] = i(o[r[e]]), o = o[r[e]];
|
|
46
46
|
return o[r[r.length - 1]] = n, a;
|
|
47
|
-
},
|
|
47
|
+
}, Se = (e, t) => {
|
|
48
48
|
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];
|
|
49
49
|
return i.length === 0 ? null : new Set(i);
|
|
50
|
-
},
|
|
50
|
+
}, Ce = (e, t, n) => {
|
|
51
51
|
let r = e.path, i = e.by ?? "id";
|
|
52
52
|
if (e.op === "insert") {
|
|
53
53
|
let a = e.shapeItem ?? e.shape, o = a ? {
|
|
@@ -60,11 +60,11 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
|
|
|
60
60
|
optimistic: !0
|
|
61
61
|
}, s = e.order ?? "append";
|
|
62
62
|
return (e) => {
|
|
63
|
-
let t = Array.isArray(
|
|
64
|
-
return
|
|
63
|
+
let t = Array.isArray(W(e, r)) ? W(e, r) : [];
|
|
64
|
+
return xe(e ?? {}, r, s === "append" ? [...t, o] : [o, ...t]);
|
|
65
65
|
};
|
|
66
66
|
}
|
|
67
|
-
let a =
|
|
67
|
+
let a = Se(e, t);
|
|
68
68
|
if (a === null) return null;
|
|
69
69
|
if (e.op === "update") {
|
|
70
70
|
let n = e.shapeItem ?? e.shape, o = n ? (e) => ({
|
|
@@ -78,24 +78,24 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
|
|
|
78
78
|
optimistic: !0
|
|
79
79
|
});
|
|
80
80
|
return (e) => {
|
|
81
|
-
let t =
|
|
81
|
+
let t = W(e, r);
|
|
82
82
|
if (!Array.isArray(t)) {
|
|
83
83
|
if (typeof t != "object" || !t) return e;
|
|
84
84
|
let n = t;
|
|
85
|
-
return a.has(n[i]) ?
|
|
85
|
+
return a.has(n[i]) ? xe(e, r, o(n)) : e;
|
|
86
86
|
}
|
|
87
|
-
return
|
|
87
|
+
return xe(e, r, t.map((e) => a.has(e[i]) ? o(e) : e));
|
|
88
88
|
};
|
|
89
89
|
}
|
|
90
90
|
return (e) => {
|
|
91
|
-
let t = Array.isArray(
|
|
92
|
-
return
|
|
91
|
+
let t = Array.isArray(W(e, r)) ? W(e, r) : [];
|
|
92
|
+
return xe(e, r, t.filter((e) => !a.has(e[i])));
|
|
93
93
|
};
|
|
94
|
-
},
|
|
94
|
+
}, we = (e, t, n) => {
|
|
95
95
|
if (e.op === "insert") return n;
|
|
96
96
|
let r = t.id;
|
|
97
97
|
return typeof r == "string" && r.length > 0 ? r : null;
|
|
98
|
-
},
|
|
98
|
+
}, Te = (e, t, n, r) => {
|
|
99
99
|
let { anchorColumn: i, targetColumn: a } = e, o = new Set(n.map((e) => String(e)));
|
|
100
100
|
return (e) => {
|
|
101
101
|
if (!Array.isArray(e)) return e;
|
|
@@ -126,8 +126,8 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
|
|
|
126
126
|
}));
|
|
127
127
|
return c ? n : e;
|
|
128
128
|
};
|
|
129
|
-
},
|
|
130
|
-
if (e.path !== void 0) return
|
|
129
|
+
}, Ee = (e, t, n) => {
|
|
130
|
+
if (e.path !== void 0) return Ce(e, t, n);
|
|
131
131
|
switch (e.op) {
|
|
132
132
|
case "insert": {
|
|
133
133
|
let r = e.shape ? {
|
|
@@ -145,7 +145,7 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
|
|
|
145
145
|
};
|
|
146
146
|
}
|
|
147
147
|
case "update": {
|
|
148
|
-
let n =
|
|
148
|
+
let n = Se(e, t);
|
|
149
149
|
if (n === null) return null;
|
|
150
150
|
let r = e.shape, i = r ? (e) => ({
|
|
151
151
|
...r(t, e),
|
|
@@ -168,7 +168,7 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
|
|
|
168
168
|
};
|
|
169
169
|
}
|
|
170
170
|
case "delete": {
|
|
171
|
-
let n =
|
|
171
|
+
let n = Se(e, t);
|
|
172
172
|
return n === null ? null : (e) => {
|
|
173
173
|
if (!Array.isArray(e)) {
|
|
174
174
|
let t = e;
|
|
@@ -178,7 +178,7 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
|
|
|
178
178
|
};
|
|
179
179
|
}
|
|
180
180
|
}
|
|
181
|
-
},
|
|
181
|
+
}, De = 5e3, Oe = class {
|
|
182
182
|
entries = /* @__PURE__ */ new Map();
|
|
183
183
|
inactiveTtlMs;
|
|
184
184
|
onChangeHook;
|
|
@@ -186,20 +186,20 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
|
|
|
186
186
|
mirror;
|
|
187
187
|
mergeCell;
|
|
188
188
|
constructor(e = {}) {
|
|
189
|
-
this.inactiveTtlMs = e.inactiveTtlMs ??
|
|
189
|
+
this.inactiveTtlMs = e.inactiveTtlMs ?? De, this.onChangeHook = e.onChange, this.errorBus = e.errorBus, this.mirror = e.mirror, this.mergeCell = e.mergeCell;
|
|
190
190
|
}
|
|
191
191
|
subscribe(e, t, n, r, i = {}) {
|
|
192
|
-
let a =
|
|
192
|
+
let a = U(e), o = typeof e[0] == "string" ? e[0] : void 0, s = this.entries.get(a);
|
|
193
193
|
return s && s.evictionTimer !== null && (clearTimeout(s.evictionTimer), s.evictionTimer = null), s ? (s.fiber === null && (s.fetch = t, s.runtime = n, 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), {
|
|
194
194
|
getSnapshot: () => this.getSnapshot(a),
|
|
195
195
|
unsubscribe: () => this.unsubscribe(a, r)
|
|
196
196
|
};
|
|
197
197
|
}
|
|
198
198
|
update(e, t, n) {
|
|
199
|
-
let r =
|
|
199
|
+
let r = U(e), i = typeof e[0] == "string" ? e[0] : void 0, a = this.entries.get(r);
|
|
200
200
|
a ||= this.createStub(r, i);
|
|
201
201
|
let o = {
|
|
202
|
-
id:
|
|
202
|
+
id: be(),
|
|
203
203
|
mutationId: n,
|
|
204
204
|
reducer: t
|
|
205
205
|
};
|
|
@@ -213,7 +213,7 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
|
|
|
213
213
|
for (let i of this.entries.values()) {
|
|
214
214
|
if (i.tag !== e) continue;
|
|
215
215
|
let a = {
|
|
216
|
-
id: `forTag-${++
|
|
216
|
+
id: `forTag-${++ye}`,
|
|
217
217
|
mutationId: n,
|
|
218
218
|
reducer: t
|
|
219
219
|
};
|
|
@@ -230,12 +230,12 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
|
|
|
230
230
|
confirmByMutation(e) {
|
|
231
231
|
let t = !1;
|
|
232
232
|
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);
|
|
233
|
-
t && setTimeout(() => this.resyncUnechoedMutation(e),
|
|
233
|
+
t && setTimeout(() => this.resyncUnechoedMutation(e), _e);
|
|
234
234
|
}
|
|
235
235
|
resyncUnechoedMutation(e) {
|
|
236
236
|
for (let t of this.entries.values()) {
|
|
237
237
|
if (!t.state.patches.some((t) => t.mutationId === e && t.confirmed === !0)) continue;
|
|
238
|
-
let n = t.tag ?? t.key, r = `optimistic patch for ${n} got no superseding server event within ${
|
|
238
|
+
let n = t.tag ?? t.key, r = `optimistic patch for ${n} got no superseding server event within ${_e}ms — the write is confirmed, so the preview is KEPT. Check reactivity for this query's source table.`;
|
|
239
239
|
this.errorBus?.emit({
|
|
240
240
|
source: "subscription",
|
|
241
241
|
tag: n,
|
|
@@ -248,7 +248,7 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
|
|
|
248
248
|
}
|
|
249
249
|
}
|
|
250
250
|
autoApply(e, t, n) {
|
|
251
|
-
let r = `optimistic-${n}-${++
|
|
251
|
+
let r = `optimistic-${n}-${++ye}`;
|
|
252
252
|
for (let i of e) {
|
|
253
253
|
for (let e of this.entries.values()) {
|
|
254
254
|
if (!(Array.isArray(e.source) ? e.source.includes(i.table) : e.source === i.table)) continue;
|
|
@@ -262,7 +262,7 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
|
|
|
262
262
|
if (!n) continue;
|
|
263
263
|
}
|
|
264
264
|
if (e.computed && i.op === "insert" && i.path === void 0) continue;
|
|
265
|
-
let a =
|
|
265
|
+
let a = Ee(i, t, r);
|
|
266
266
|
if (a === null) continue;
|
|
267
267
|
let o = {
|
|
268
268
|
id: `${r}-${e.key}`,
|
|
@@ -275,10 +275,10 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
|
|
|
275
275
|
if (e !== void 0) for (let [a, o] of Object.entries(e)) {
|
|
276
276
|
let e = t[a];
|
|
277
277
|
if (!Array.isArray(e)) continue;
|
|
278
|
-
let s =
|
|
278
|
+
let s = we(i, t, r);
|
|
279
279
|
if (s !== null) for (let t of this.entries.values()) {
|
|
280
280
|
if (!(Array.isArray(t.source) ? t.source.includes(o.junction) : t.source === o.junction) || t.computed) continue;
|
|
281
|
-
let i =
|
|
281
|
+
let i = Te(o, s, e.map((e) => String(e)), `${r}-${a}`);
|
|
282
282
|
t.state.patches.push({
|
|
283
283
|
id: `${r}-${a}-${t.key}`,
|
|
284
284
|
mutationId: n,
|
|
@@ -295,10 +295,10 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
|
|
|
295
295
|
n.state.patches = n.state.patches.filter((e) => e.id !== t), n.state.patches.length !== r && this.invalidate(n);
|
|
296
296
|
}
|
|
297
297
|
peek(e) {
|
|
298
|
-
return this.getSnapshot(
|
|
298
|
+
return this.getSnapshot(U(e));
|
|
299
299
|
}
|
|
300
300
|
getEntry(e) {
|
|
301
|
-
return this.entries.get(
|
|
301
|
+
return this.entries.get(U(e));
|
|
302
302
|
}
|
|
303
303
|
size() {
|
|
304
304
|
return this.entries.size;
|
|
@@ -317,7 +317,7 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
|
|
|
317
317
|
return e;
|
|
318
318
|
}
|
|
319
319
|
destroy(e) {
|
|
320
|
-
for (let t of this.entries.values()) t.evictionTimer !== null && clearTimeout(t.evictionTimer), t.fiber && e.runFork(
|
|
320
|
+
for (let t of this.entries.values()) t.evictionTimer !== null && clearTimeout(t.evictionTimer), t.fiber && e.runFork(F.interrupt(t.fiber));
|
|
321
321
|
this.entries.clear();
|
|
322
322
|
}
|
|
323
323
|
refreshAll(e) {
|
|
@@ -325,7 +325,7 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
|
|
|
325
325
|
}
|
|
326
326
|
reissue(e, t, n = !0) {
|
|
327
327
|
if (!e.fetch) return;
|
|
328
|
-
e.fiber && t.runFork(
|
|
328
|
+
e.fiber && t.runFork(F.interrupt(e.fiber)), e.fiber = null;
|
|
329
329
|
let r = e.state.patches, i = e.state.base, a = e.state.baseRevision;
|
|
330
330
|
e.state = this.freshState(), e.state.patches = r, n || (e.state.base = i, e.state.baseRevision = a), this.startFiber(e, e.fetch, t);
|
|
331
331
|
}
|
|
@@ -399,31 +399,31 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
|
|
|
399
399
|
};
|
|
400
400
|
}
|
|
401
401
|
startFiber(e, t, n) {
|
|
402
|
-
let r = e.tag ?? e.key, i = t(), a =
|
|
402
|
+
let r = e.tag ?? e.key, i = t(), a = z.unwrapScoped(N.currentSpan.pipe(N.catchAll(() => N.succeed(void 0)), N.map((t) => (t && (e.traceId = t.traceId, me({
|
|
403
403
|
traceId: t.traceId,
|
|
404
404
|
spanId: t.spanId,
|
|
405
405
|
source: "subscription",
|
|
406
406
|
tag: r
|
|
407
|
-
})), i)))).pipe(
|
|
407
|
+
})), i)))).pipe(z.withSpan(`client.subscription.${r}`, { attributes: { "rpc.tag": r } })), o = e.state.baseRevision >= 0 ? e.state.baseRevision : void 0, s = a.pipe(z.runForEach((t) => N.sync(() => {
|
|
408
408
|
let n = e.state.base;
|
|
409
409
|
if (t._tag === "snapshot") e.state.base = t.data, e.state.baseRevision = t.revision, e.state.baseEmittedAt = void 0, e.state.baseError = void 0, this.errorBus?.emitSuccess({
|
|
410
410
|
source: "subscription",
|
|
411
411
|
tag: e.tag ?? e.key
|
|
412
412
|
}), t.computed === !0 && (e.computed = !0);
|
|
413
|
-
else if (t._tag === "error") e.state.baseError =
|
|
413
|
+
else if (t._tag === "error") e.state.baseError = M.fail(t.error), typeof t.revision == "number" && (e.state.baseRevision = t.revision);
|
|
414
414
|
else {
|
|
415
415
|
let n = e.state.base;
|
|
416
|
-
Array.isArray(n) && (e.state.base =
|
|
416
|
+
Array.isArray(n) && (e.state.base = se(n, t.patch, this.mergeCell === void 0 ? {} : { mergeCell: this.mergeCell })), e.state.baseRevision = t.revision, e.state.baseEmittedAt = t.emittedAt, e.state.baseError = void 0;
|
|
417
417
|
}
|
|
418
|
-
e.state.patches.some((e) => e.confirmed === !0) &&
|
|
418
|
+
e.state.patches.some((e) => e.confirmed === !0) && ve(t, n, e.state.base) && (e.state.patches = e.state.patches.filter((e) => e.confirmed !== !0)), this.mirror !== void 0 && t._tag !== "error" && this.mirror.save(e.key, {
|
|
419
419
|
tag: e.tag,
|
|
420
420
|
data: e.state.base,
|
|
421
421
|
revision: e.state.baseRevision
|
|
422
422
|
}).catch(() => {}), this.invalidate(e);
|
|
423
423
|
})));
|
|
424
|
-
e.fiber = n.runFork(o === void 0 ? s : s.pipe(
|
|
425
|
-
if (
|
|
426
|
-
let n =
|
|
424
|
+
e.fiber = n.runFork(o === void 0 ? s : s.pipe(N.locallyWith(B.currentHeaders, (e) => ae.set(e, "voltro-resume-from", String(o))))), e.fiber.addObserver((t) => {
|
|
425
|
+
if (P.isFailure(t) && !P.isInterrupted(t) && (e.state.baseRevision === -1 && (e.state.baseError = t.cause, this.invalidate(e)), this.errorBus)) {
|
|
426
|
+
let n = M.squash(t.cause);
|
|
427
427
|
this.errorBus.emit({
|
|
428
428
|
source: "subscription",
|
|
429
429
|
tag: e.tag ?? e.key,
|
|
@@ -440,7 +440,7 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
|
|
|
440
440
|
}
|
|
441
441
|
getSnapshot(e) {
|
|
442
442
|
let t = this.entries.get(e);
|
|
443
|
-
if (!t) return
|
|
443
|
+
if (!t) return ge;
|
|
444
444
|
if (t.state.cachedSnapshot !== null) return t.state.cachedSnapshot;
|
|
445
445
|
let n = t.state.base;
|
|
446
446
|
if (n !== void 0 && t.state.patches.length > 0) for (let e of t.state.patches) n = e.reducer(n);
|
|
@@ -460,17 +460,29 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
|
|
|
460
460
|
scheduleEviction(e) {
|
|
461
461
|
e.evictionTimer !== null && clearTimeout(e.evictionTimer), e.evictionTimer = setTimeout(() => {
|
|
462
462
|
let t = this.entries.get(e.key);
|
|
463
|
-
t && t.subscribers.size === 0 && (t.fiber &&
|
|
463
|
+
t && t.subscribers.size === 0 && (t.fiber && N.runFork(F.interrupt(t.fiber)), this.entries.delete(e.key));
|
|
464
464
|
}, this.inactiveTtlMs);
|
|
465
465
|
}
|
|
466
|
-
},
|
|
466
|
+
}, ke = class extends Oe {
|
|
467
467
|
subscribe(e, t, n, r, i = {}) {
|
|
468
468
|
return {
|
|
469
469
|
getSnapshot: () => this.peek(e),
|
|
470
470
|
unsubscribe: () => {}
|
|
471
471
|
};
|
|
472
472
|
}
|
|
473
|
-
}, je =
|
|
473
|
+
}, Ae = /* @__PURE__ */ new Set(), je = (e) => {
|
|
474
|
+
for (let t of Ae) try {
|
|
475
|
+
t(e);
|
|
476
|
+
} catch {}
|
|
477
|
+
}, Me = (e) => (Ae.add(e), () => {
|
|
478
|
+
Ae.delete(e);
|
|
479
|
+
}), Ne = (e, t) => {
|
|
480
|
+
je({
|
|
481
|
+
error: e,
|
|
482
|
+
source: "manual",
|
|
483
|
+
...t ? { context: t } : {}
|
|
484
|
+
});
|
|
485
|
+
}, Pe = class {
|
|
474
486
|
#e = /* @__PURE__ */ new Set();
|
|
475
487
|
#t = /* @__PURE__ */ new Set();
|
|
476
488
|
on(e) {
|
|
@@ -482,6 +494,14 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
|
|
|
482
494
|
for (let t of this.#e) try {
|
|
483
495
|
t(e);
|
|
484
496
|
} catch {}
|
|
497
|
+
je({
|
|
498
|
+
error: e.error,
|
|
499
|
+
source: `rpc.${e.source}`,
|
|
500
|
+
context: {
|
|
501
|
+
rpcTag: e.tag,
|
|
502
|
+
...e.traceId === void 0 ? {} : { traceId: e.traceId }
|
|
503
|
+
}
|
|
504
|
+
});
|
|
485
505
|
}
|
|
486
506
|
onSuccess(e) {
|
|
487
507
|
return this.#t.add(e), () => {
|
|
@@ -493,60 +513,60 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
|
|
|
493
513
|
t(e);
|
|
494
514
|
} catch {}
|
|
495
515
|
}
|
|
496
|
-
},
|
|
516
|
+
}, Fe = C(null), Ie = () => {
|
|
497
517
|
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");
|
|
498
|
-
},
|
|
499
|
-
get: (e, t) =>
|
|
518
|
+
}, Le = new Proxy(() => Ie(), {
|
|
519
|
+
get: (e, t) => Le,
|
|
500
520
|
has: () => !0,
|
|
501
|
-
apply: () =>
|
|
502
|
-
}),
|
|
503
|
-
|
|
504
|
-
},
|
|
505
|
-
|
|
506
|
-
},
|
|
507
|
-
runtime: { runPromiseExit: () => Promise.resolve(
|
|
508
|
-
cache: new
|
|
509
|
-
client:
|
|
521
|
+
apply: () => Ie()
|
|
522
|
+
}), Re = Symbol.for("@voltro/client/ssrDescriptors"), ze = globalThis, Be = ze[Re] ?? (ze[Re] = { byApi: /* @__PURE__ */ new Map() }), Ve = (e, t) => {
|
|
523
|
+
Be.byApi.set(e, t);
|
|
524
|
+
}, He = (e) => Be.byApi.get(e), Ue = () => {
|
|
525
|
+
Be.byApi.clear();
|
|
526
|
+
}, We = {
|
|
527
|
+
runtime: { runPromiseExit: () => Promise.resolve(P.die(/* @__PURE__ */ Error("Voltro: mutations are not invokable during SSR"))) },
|
|
528
|
+
cache: new ke(),
|
|
529
|
+
client: Le,
|
|
510
530
|
descriptors: {},
|
|
511
531
|
inspectBaseUrl: "",
|
|
512
|
-
errorBus: new
|
|
513
|
-
},
|
|
532
|
+
errorBus: new Pe()
|
|
533
|
+
}, Ge = {
|
|
514
534
|
get: (e) => {
|
|
515
|
-
let t =
|
|
516
|
-
return t === void 0 ?
|
|
517
|
-
...
|
|
535
|
+
let t = He(e);
|
|
536
|
+
return t === void 0 ? We : {
|
|
537
|
+
...We,
|
|
518
538
|
descriptors: t
|
|
519
539
|
};
|
|
520
540
|
},
|
|
521
541
|
names: []
|
|
522
|
-
},
|
|
523
|
-
|
|
524
|
-
},
|
|
525
|
-
let e =
|
|
526
|
-
return e ? (
|
|
527
|
-
|
|
528
|
-
}, 0)),
|
|
529
|
-
},
|
|
530
|
-
let t =
|
|
531
|
-
return
|
|
542
|
+
}, Ke = !1, qe = !1, G = null, Je = () => {
|
|
543
|
+
Ke = !1, qe = !1, G !== null && (clearTimeout(G), G = null);
|
|
544
|
+
}, Ye = () => {
|
|
545
|
+
let e = E(Fe);
|
|
546
|
+
return e ? (qe || (qe = !0, G !== null && (clearTimeout(G), G = null)), e) : (typeof window < "u" && !Ke && !qe && G === null && process.env.NODE_ENV !== "production" && (G = setTimeout(() => {
|
|
547
|
+
G = null, !(Ke || qe) && (Ke = !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>."));
|
|
548
|
+
}, 0)), Ge);
|
|
549
|
+
}, K = (e) => {
|
|
550
|
+
let t = Ye(), n = t.demand;
|
|
551
|
+
return D(() => {
|
|
532
552
|
n?.(e);
|
|
533
553
|
}, [n, e]), t.get(e);
|
|
534
|
-
},
|
|
554
|
+
}, Xe = (e) => typeof e.runtime?.runFork != "function", Ze = async (e) => {
|
|
535
555
|
let { name: t, wsUrl: n, group: r, headers: i, webSocketConstructor: a } = e;
|
|
536
|
-
class o extends
|
|
537
|
-
let s =
|
|
556
|
+
class o extends ne.Tag(`@voltro/client/AppClient/${t}`)() {}
|
|
557
|
+
let s = I.succeed(V.WebSocketConstructor, (e, t) => a(e, t)), c = B.layerProtocolSocket().pipe(I.provide(oe.layerJson), I.provide(V.layerWebSocket(n)), I.provide(s)), l = typeof i == "function" ? await i() : i, u = I.scoped(o, B.make(r)).pipe(I.provide(c)), d = l ? I.locallyScoped(B.currentHeaders, ae.fromInput(l)) : I.empty, f = L.make(I.merge(u, d));
|
|
538
558
|
try {
|
|
539
|
-
let e = await f.runPromise(o), t = new
|
|
559
|
+
let e = await f.runPromise(o), t = new Pe();
|
|
540
560
|
return {
|
|
541
561
|
runtime: f,
|
|
542
562
|
client: e,
|
|
543
|
-
cache: new
|
|
563
|
+
cache: new Oe({ errorBus: t }),
|
|
544
564
|
errorBus: t
|
|
545
565
|
};
|
|
546
566
|
} catch (e) {
|
|
547
567
|
throw f.dispose(), e;
|
|
548
568
|
}
|
|
549
|
-
},
|
|
569
|
+
}, Qe = (e) => Math.min(500 * 2 ** Math.min(e - 1, 4), 5e3), $e = () => ({
|
|
550
570
|
resolved: null,
|
|
551
571
|
retryToken: 0,
|
|
552
572
|
failureCount: 0,
|
|
@@ -555,15 +575,15 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
|
|
|
555
575
|
everOpened: !1,
|
|
556
576
|
wedgeStop: null,
|
|
557
577
|
subjectMayHaveChanged: !1
|
|
558
|
-
}),
|
|
578
|
+
}), et = (e) => {
|
|
559
579
|
e.wedgeStop !== null && (e.wedgeStop(), e.wedgeStop = null);
|
|
560
|
-
},
|
|
580
|
+
}, tt = (e) => {
|
|
561
581
|
e.cache.destroy(e.runtime), e.runtime.dispose();
|
|
562
|
-
},
|
|
563
|
-
let t = e.apis, n = e.buildClient, r = e.onChange, i = e.retryDelayMs ??
|
|
582
|
+
}, nt = (e) => {
|
|
583
|
+
let t = e.apis, n = e.buildClient, r = e.onChange, i = e.retryDelayMs ?? Qe, a = e.stableWindowMs ?? 5e3, o = e.scheduler?.setTimeout ?? ((e, t) => setTimeout(e, t)), s = e.scheduler?.clearTimeout ?? ((e) => {
|
|
564
584
|
clearTimeout(e);
|
|
565
585
|
}), c = e.scheduler?.queueMicrotask ?? queueMicrotask, l = e.onReconnecting, u = e.wedgeBackstop, d = /* @__PURE__ */ new Map();
|
|
566
|
-
for (let e of t) d.set(e.name,
|
|
586
|
+
for (let e of t) d.set(e.name, $e());
|
|
567
587
|
let f = !1, p = /* @__PURE__ */ new Set(), m = (e, t) => {
|
|
568
588
|
let n = o(() => {
|
|
569
589
|
p.delete(n), e();
|
|
@@ -589,7 +609,7 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
|
|
|
589
609
|
if (!t) return;
|
|
590
610
|
let r = t.generation, i = () => {
|
|
591
611
|
if (f || t.generation !== r) return;
|
|
592
|
-
t.everOpened = !0,
|
|
612
|
+
t.everOpened = !0, et(t), t.retryToken++;
|
|
593
613
|
let e = t.failureCount;
|
|
594
614
|
m(() => {
|
|
595
615
|
f || t.failureCount === e && (t.failureCount = 0);
|
|
@@ -600,11 +620,11 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
|
|
|
600
620
|
try {
|
|
601
621
|
let a = await n(e, r, i, o);
|
|
602
622
|
if (f || t.generation !== r) {
|
|
603
|
-
|
|
623
|
+
tt(a);
|
|
604
624
|
return;
|
|
605
625
|
}
|
|
606
626
|
let s = t.resolved;
|
|
607
|
-
s && !t.subjectMayHaveChanged && a.cache.seedStaleFrom(s.cache), t.subjectMayHaveChanged = !1, t.resolved = a, t.reconnectStatusDispose &&= (t.reconnectStatusDispose(), null), h(), s &&
|
|
627
|
+
s && !t.subjectMayHaveChanged && a.cache.seedStaleFrom(s.cache), t.subjectMayHaveChanged = !1, t.resolved = a, t.reconnectStatusDispose &&= (t.reconnectStatusDispose(), null), h(), s && tt(s);
|
|
608
628
|
} catch {
|
|
609
629
|
if (f || t.generation !== r) return;
|
|
610
630
|
g(e);
|
|
@@ -612,7 +632,7 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
|
|
|
612
632
|
}, v = (e) => {
|
|
613
633
|
if (!f) for (let n of t) {
|
|
614
634
|
let t = d.get(n.name);
|
|
615
|
-
t && (e && (t.subjectMayHaveChanged = !0), t.retryToken += 1, t.generation += 1, t.failureCount = 0,
|
|
635
|
+
t && (e && (t.subjectMayHaveChanged = !0), t.retryToken += 1, t.generation += 1, t.failureCount = 0, et(t), _(n));
|
|
616
636
|
}
|
|
617
637
|
};
|
|
618
638
|
return t.length === 0 ? (r(/* @__PURE__ */ new Map(), !0), {
|
|
@@ -629,7 +649,7 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
|
|
|
629
649
|
f = !0;
|
|
630
650
|
for (let e of p) s(e);
|
|
631
651
|
p.clear();
|
|
632
|
-
for (let [, e] of d) e.resolved &&
|
|
652
|
+
for (let [, e] of d) e.resolved && tt(e.resolved), e.reconnectStatusDispose && e.reconnectStatusDispose(), et(e);
|
|
633
653
|
d.clear();
|
|
634
654
|
}
|
|
635
655
|
},
|
|
@@ -640,8 +660,8 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
|
|
|
640
660
|
v(!1);
|
|
641
661
|
}
|
|
642
662
|
});
|
|
643
|
-
},
|
|
644
|
-
let r =
|
|
663
|
+
}, rt = ({ apis: e, children: t, demand: n }) => {
|
|
664
|
+
let r = O(() => ({
|
|
645
665
|
get: (t) => {
|
|
646
666
|
let n = e.get(t);
|
|
647
667
|
if (!n) {
|
|
@@ -653,45 +673,45 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
|
|
|
653
673
|
names: Array.from(e.keys()),
|
|
654
674
|
...n === void 0 ? {} : { demand: n }
|
|
655
675
|
}), [e]);
|
|
656
|
-
return /* @__PURE__ */
|
|
676
|
+
return /* @__PURE__ */ ue(Fe.Provider, {
|
|
657
677
|
value: r,
|
|
658
678
|
children: t
|
|
659
679
|
});
|
|
660
|
-
},
|
|
661
|
-
let e = globalThis, t = e[
|
|
680
|
+
}, it = Symbol.for("@voltro/client/storeStorageProvider"), at = () => {
|
|
681
|
+
let e = globalThis, t = e[it];
|
|
662
682
|
if (t !== void 0) return t;
|
|
663
683
|
let n = {
|
|
664
684
|
provider: void 0,
|
|
665
685
|
used: !1
|
|
666
686
|
};
|
|
667
|
-
return e[
|
|
668
|
-
},
|
|
687
|
+
return e[it] = n, n;
|
|
688
|
+
}, ot = (e) => {
|
|
669
689
|
if (typeof window > "u") return null;
|
|
670
690
|
try {
|
|
671
691
|
return (e === "session" ? window.sessionStorage : window.localStorage) ?? null;
|
|
672
692
|
} catch {
|
|
673
693
|
return null;
|
|
674
694
|
}
|
|
675
|
-
},
|
|
676
|
-
let t =
|
|
695
|
+
}, st = (e) => {
|
|
696
|
+
let t = at();
|
|
677
697
|
t.used && e !== null && console.warn("[voltro] setStoreStorage() was called after a persisted store had already read. That store booted against the previous backing store and will not be re-read. Install storage before the first render — on React Native, after awaiting hydrate()."), t.provider = e ?? void 0;
|
|
678
|
-
},
|
|
679
|
-
let t =
|
|
680
|
-
return t.used = !0, (t.provider ??
|
|
681
|
-
},
|
|
682
|
-
let e =
|
|
698
|
+
}, ct = (e) => {
|
|
699
|
+
let t = at();
|
|
700
|
+
return t.used = !0, (t.provider ?? ot)(e);
|
|
701
|
+
}, lt = () => {
|
|
702
|
+
let e = at();
|
|
683
703
|
e.provider = void 0, e.used = !1;
|
|
684
|
-
},
|
|
704
|
+
}, ut = (e, t) => {
|
|
685
705
|
if (Object.is(e, t)) return !0;
|
|
686
706
|
if (typeof e != "object" || typeof t != "object" || e === null || t === null || Array.isArray(e) !== Array.isArray(t)) return !1;
|
|
687
707
|
let n = Object.keys(e), r = Object.keys(t);
|
|
688
708
|
if (n.length !== r.length) return !1;
|
|
689
709
|
for (let r of n) if (!Object.prototype.hasOwnProperty.call(t, r) || !Object.is(e[r], t[r])) return !1;
|
|
690
710
|
return !0;
|
|
691
|
-
},
|
|
692
|
-
|
|
693
|
-
},
|
|
694
|
-
let r =
|
|
711
|
+
}, dt = 50, ft = /* @__PURE__ */ new Set(), pt = (e, t) => {
|
|
712
|
+
ft.has(e) || (ft.add(e), console.warn(t));
|
|
713
|
+
}, mt = "\0global", ht = null, gt = (e, t, n) => {
|
|
714
|
+
let r = ht?.() ?? null;
|
|
695
715
|
if (r === null) return n;
|
|
696
716
|
let i = n;
|
|
697
717
|
for (let n of r.seeds) n.store === e && n.key === t && (i = {
|
|
@@ -699,9 +719,9 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
|
|
|
699
719
|
...n.value
|
|
700
720
|
});
|
|
701
721
|
return i;
|
|
702
|
-
},
|
|
722
|
+
}, _t = (e, t) => {
|
|
703
723
|
let n = e(), r = /* @__PURE__ */ new Set(), i = 0, a = 0, o, s, c = () => {
|
|
704
|
-
if (i >=
|
|
724
|
+
if (i >= dt) throw i = 0, Error(`defineStore: notification depth exceeded ${dt} — 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.`);
|
|
705
725
|
i += 1;
|
|
706
726
|
try {
|
|
707
727
|
for (let e of [...r]) e();
|
|
@@ -722,20 +742,20 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
|
|
|
722
742
|
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}', () => { … })\`.`);
|
|
723
743
|
if (--a, a > 0) return;
|
|
724
744
|
let l = o, u = s;
|
|
725
|
-
o = void 0, s = void 0, !
|
|
745
|
+
o = void 0, s = void 0, !ut(l, n) && (t(l, n, u), c());
|
|
726
746
|
},
|
|
727
747
|
set: (e, r) => {
|
|
728
748
|
let i = typeof e == "function" ? e(n) : {
|
|
729
749
|
...n,
|
|
730
750
|
...e
|
|
731
751
|
};
|
|
732
|
-
if (
|
|
752
|
+
if (ut(i, n)) return;
|
|
733
753
|
let o = n;
|
|
734
754
|
n = i, !(a > 0) && (t(o, i, r), c());
|
|
735
755
|
},
|
|
736
756
|
reset: () => {
|
|
737
757
|
let r = e();
|
|
738
|
-
if (
|
|
758
|
+
if (ut(r, n)) return;
|
|
739
759
|
let i = n;
|
|
740
760
|
n = r, !(a > 0) && (t(i, r, "reset"), c());
|
|
741
761
|
},
|
|
@@ -743,51 +763,51 @@ var V = /* @__PURE__ */ new Set(), he = (e) => {
|
|
|
743
763
|
r.delete(e);
|
|
744
764
|
})
|
|
745
765
|
};
|
|
746
|
-
},
|
|
747
|
-
|
|
748
|
-
}),
|
|
749
|
-
|
|
750
|
-
},
|
|
751
|
-
let n =
|
|
766
|
+
}, vt = 200, yt = [], bt = /* @__PURE__ */ new Set(), xt = [], St = () => xt, Ct = (e) => (bt.add(e), () => {
|
|
767
|
+
bt.delete(e);
|
|
768
|
+
}), wt = () => {
|
|
769
|
+
yt.length = 0, xt = [];
|
|
770
|
+
}, Tt = (e, t) => {
|
|
771
|
+
let n = yt[e];
|
|
752
772
|
if (n === void 0) return !1;
|
|
753
|
-
let r =
|
|
773
|
+
let r = kt.get(n.store);
|
|
754
774
|
if (r === void 0) return !1;
|
|
755
775
|
let i = t === "before" ? n.prev : n.next;
|
|
756
|
-
|
|
776
|
+
Dt = !0;
|
|
757
777
|
try {
|
|
758
778
|
r.set(() => i, n.key, `travel:${t}`);
|
|
759
779
|
} finally {
|
|
760
|
-
|
|
780
|
+
Dt = !1;
|
|
761
781
|
}
|
|
762
782
|
return !0;
|
|
763
|
-
},
|
|
764
|
-
|
|
765
|
-
for (let e of [...
|
|
766
|
-
},
|
|
767
|
-
|
|
768
|
-
})),
|
|
769
|
-
function
|
|
783
|
+
}, Et = !1, Dt = !1, Ot = (e) => {
|
|
784
|
+
yt.push(e), yt.length > vt && yt.shift(), xt = [...yt];
|
|
785
|
+
for (let e of [...bt]) e();
|
|
786
|
+
}, kt = /* @__PURE__ */ new Map(), At = /* @__PURE__ */ new Map(), jt = 0, Mt = !1, Nt = /* @__PURE__ */ new Map(), Pt = () => (Mt || (Mt = !0, queueMicrotask(() => {
|
|
787
|
+
jt += 1, Mt = !1;
|
|
788
|
+
})), jt), Ft = It(((/* @__PURE__ */ Error()).stack ?? "").split("\n")[1] ?? "") ?? "";
|
|
789
|
+
function It(e) {
|
|
770
790
|
let t = e.trim().replace(/^at\s+/, ""), n = /\(([^()]+)\)\s*$/.exec(t)?.[1] ?? t;
|
|
771
791
|
return n.length > 0 ? n : void 0;
|
|
772
792
|
}
|
|
773
|
-
var
|
|
793
|
+
var Lt = () => {
|
|
774
794
|
let e = (/* @__PURE__ */ Error()).stack;
|
|
775
795
|
if (typeof e != "string") return "<unknown>";
|
|
776
796
|
for (let t of e.split("\n").slice(1)) {
|
|
777
|
-
let e =
|
|
797
|
+
let e = It(t);
|
|
778
798
|
if (e === void 0) continue;
|
|
779
799
|
let n = e.replace(/:\d+:\d+$/, "");
|
|
780
|
-
if (
|
|
800
|
+
if (Ft === "" || n !== Ft.replace(/:\d+:\d+$/, "")) return n;
|
|
781
801
|
}
|
|
782
802
|
return "<unknown>";
|
|
783
|
-
},
|
|
784
|
-
let r =
|
|
803
|
+
}, Rt = () => [...kt.values()], zt = (e, t, n) => {
|
|
804
|
+
let r = Lt(), i = Pt(), a = kt.get(e);
|
|
785
805
|
if (a !== void 0) {
|
|
786
|
-
let t =
|
|
806
|
+
let t = At.get(e) ?? "<unknown>", n = Nt.get(e) === i;
|
|
787
807
|
if (r !== "<unknown>" && r === t && !n) return a;
|
|
788
808
|
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: ${r}`);
|
|
789
809
|
}
|
|
790
|
-
let o = n?.persist, s = () =>
|
|
810
|
+
let o = n?.persist, s = () => ct(o?.storage === "session" ? "session" : "local"), c = () => {
|
|
791
811
|
let e = s();
|
|
792
812
|
if (e === null || o === void 0) return;
|
|
793
813
|
let t;
|
|
@@ -812,28 +832,28 @@ var Pt = () => {
|
|
|
812
832
|
t.setItem(o.key, JSON.stringify(n));
|
|
813
833
|
} catch {}
|
|
814
834
|
}, u = /* @__PURE__ */ new Map(), d = (n) => {
|
|
815
|
-
let r = n ??
|
|
835
|
+
let r = n ?? mt, i = u.get(r);
|
|
816
836
|
if (i === void 0) {
|
|
817
837
|
let a = n;
|
|
818
|
-
i =
|
|
838
|
+
i = _t(o !== void 0 && n === void 0 ? () => {
|
|
819
839
|
let e = t();
|
|
820
840
|
return f = e, {
|
|
821
841
|
...e,
|
|
822
842
|
...c() ?? {}
|
|
823
843
|
};
|
|
824
844
|
} : t, (t, n, r) => {
|
|
825
|
-
if (o !== void 0 && a === void 0 && l(n), !
|
|
845
|
+
if (o !== void 0 && a === void 0 && l(n), !Et && !Dt) {
|
|
826
846
|
let e = m(a);
|
|
827
847
|
e.steps.length = e.cursor, e.steps.push({
|
|
828
848
|
prev: t,
|
|
829
849
|
next: n
|
|
830
850
|
}), e.steps.length > h && e.steps.shift(), e.cursor = e.steps.length;
|
|
831
851
|
}
|
|
832
|
-
|
|
852
|
+
Ot({
|
|
833
853
|
store: e,
|
|
834
854
|
...a === void 0 ? {} : { key: a },
|
|
835
855
|
...r === void 0 ? {} : { label: r },
|
|
836
|
-
...
|
|
856
|
+
...Et || Dt ? { isUndo: !0 } : {},
|
|
837
857
|
prev: t,
|
|
838
858
|
next: n,
|
|
839
859
|
at: Date.now()
|
|
@@ -842,7 +862,7 @@ var Pt = () => {
|
|
|
842
862
|
}
|
|
843
863
|
return i;
|
|
844
864
|
}, f, p = /* @__PURE__ */ new Map(), m = (e) => {
|
|
845
|
-
let t = e ??
|
|
865
|
+
let t = e ?? mt, n = p.get(t);
|
|
846
866
|
return n === void 0 && (n = {
|
|
847
867
|
steps: [],
|
|
848
868
|
cursor: 0
|
|
@@ -862,11 +882,11 @@ var Pt = () => {
|
|
|
862
882
|
}, b = {
|
|
863
883
|
name: e,
|
|
864
884
|
use: (t, n) => {
|
|
865
|
-
let r = d(n?.key), i =
|
|
885
|
+
let r = d(n?.key), i = k(t);
|
|
866
886
|
i.current = t;
|
|
867
|
-
let a =
|
|
887
|
+
let a = k(n?.equals);
|
|
868
888
|
a.current = n?.equals;
|
|
869
|
-
let o =
|
|
889
|
+
let o = k({
|
|
870
890
|
state: void 0,
|
|
871
891
|
value: void 0,
|
|
872
892
|
has: !1
|
|
@@ -874,12 +894,12 @@ var Pt = () => {
|
|
|
874
894
|
let n = o.current;
|
|
875
895
|
if (n.has && Object.is(n.state, t)) return n.value;
|
|
876
896
|
let r = i.current(t), s = a.current, c = n.has && (s ? s(n.value, r) : Object.is(n.value, r));
|
|
877
|
-
if (process.env.NODE_ENV !== "production" && s === void 0 && n.has && !c && typeof r == "object" && r &&
|
|
897
|
+
if (process.env.NODE_ENV !== "production" && s === void 0 && n.has && !c && typeof r == "object" && r && ut(n.value, r)) {
|
|
878
898
|
let t = !0;
|
|
879
899
|
try {
|
|
880
900
|
t = !Object.is(i.current(n.state), n.value);
|
|
881
901
|
} catch {}
|
|
882
|
-
|
|
902
|
+
pt(e, t ? `[@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.` : `[@voltro/client] ${e}.use(): this component re-renders on store changes that do not change what it selects. The selector is stable — it returns the same reference for the same state — and the STORE is writing a new value that is equal one level deep (a fresh \`[]\` or \`{}\`, say).\n Pass \`{ equals: shallow }\` (exported from @voltro/client), or stop writing an equal value.`);
|
|
883
903
|
}
|
|
884
904
|
let l = c ? n.value : r;
|
|
885
905
|
return o.current = {
|
|
@@ -896,12 +916,12 @@ var Pt = () => {
|
|
|
896
916
|
r,
|
|
897
917
|
c,
|
|
898
918
|
l
|
|
899
|
-
]), p = T(() => s(r.get()), [r, s]), m = T(() => s(
|
|
919
|
+
]), p = T(() => s(r.get()), [r, s]), m = T(() => s(gt(e, n?.key, n?.key === void 0 && f !== void 0 ? f : r.get())), [
|
|
900
920
|
r,
|
|
901
921
|
n?.key,
|
|
902
922
|
s
|
|
903
|
-
]), h =
|
|
904
|
-
return
|
|
923
|
+
]), h = j(u, p, m);
|
|
924
|
+
return te(h), h;
|
|
905
925
|
},
|
|
906
926
|
instance: d,
|
|
907
927
|
get: (e) => d(e).get(),
|
|
@@ -914,11 +934,11 @@ var Pt = () => {
|
|
|
914
934
|
undo: (e) => {
|
|
915
935
|
let t = m(e);
|
|
916
936
|
if (t.cursor === 0) return !1;
|
|
917
|
-
--t.cursor,
|
|
937
|
+
--t.cursor, Et = !0;
|
|
918
938
|
try {
|
|
919
939
|
d(e).set(() => t.steps[t.cursor].prev, "undo");
|
|
920
940
|
} finally {
|
|
921
|
-
|
|
941
|
+
Et = !1;
|
|
922
942
|
}
|
|
923
943
|
return !0;
|
|
924
944
|
},
|
|
@@ -926,11 +946,11 @@ var Pt = () => {
|
|
|
926
946
|
let t = m(e);
|
|
927
947
|
if (t.cursor >= t.steps.length) return !1;
|
|
928
948
|
let n = t.steps[t.cursor];
|
|
929
|
-
t.cursor += 1,
|
|
949
|
+
t.cursor += 1, Et = !0;
|
|
930
950
|
try {
|
|
931
951
|
d(e).set(() => n.next, "redo");
|
|
932
952
|
} finally {
|
|
933
|
-
|
|
953
|
+
Et = !1;
|
|
934
954
|
}
|
|
935
955
|
return !0;
|
|
936
956
|
},
|
|
@@ -942,27 +962,27 @@ var Pt = () => {
|
|
|
942
962
|
release: (e) => {
|
|
943
963
|
u.delete(e), p.delete(e);
|
|
944
964
|
},
|
|
945
|
-
keys: () => [...u.keys()].filter((e) => e !==
|
|
965
|
+
keys: () => [...u.keys()].filter((e) => e !== mt)
|
|
946
966
|
};
|
|
947
|
-
return
|
|
948
|
-
},
|
|
949
|
-
|
|
950
|
-
},
|
|
951
|
-
|
|
952
|
-
},
|
|
953
|
-
let r =
|
|
967
|
+
return kt.set(e, b), At.set(e, r), Nt.set(e, i), b;
|
|
968
|
+
}, Bt = () => {
|
|
969
|
+
kt.clear(), At.clear(), Nt.clear(), ft.clear();
|
|
970
|
+
}, Vt = () => ({ seeds: [] }), Ht = (e) => {
|
|
971
|
+
ht = e;
|
|
972
|
+
}, Ut = (e, t, n) => {
|
|
973
|
+
let r = ht?.() ?? null;
|
|
954
974
|
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.)`);
|
|
955
975
|
r.seeds.push({
|
|
956
976
|
store: e.name,
|
|
957
977
|
...n?.key === void 0 ? {} : { key: n.key },
|
|
958
978
|
value: t
|
|
959
979
|
});
|
|
960
|
-
},
|
|
980
|
+
}, Wt = (e) => {
|
|
961
981
|
if (e !== void 0) for (let t of e) {
|
|
962
|
-
let e =
|
|
982
|
+
let e = kt.get(t.store);
|
|
963
983
|
e !== void 0 && e.set(t.value, t.key);
|
|
964
984
|
}
|
|
965
|
-
},
|
|
985
|
+
}, q = (e, t) => {
|
|
966
986
|
let n = t.split("."), r = e;
|
|
967
987
|
for (let e = 0; e < n.length; e++) {
|
|
968
988
|
let i = n[e];
|
|
@@ -981,23 +1001,23 @@ var Pt = () => {
|
|
|
981
1001
|
}
|
|
982
1002
|
if (typeof r != "function") throw Error(`@voltro/client: rpc tag ${JSON.stringify(t)} did not resolve to a callable method.`);
|
|
983
1003
|
return r;
|
|
984
|
-
},
|
|
1004
|
+
}, Gt = Object.freeze({
|
|
985
1005
|
data: void 0,
|
|
986
1006
|
revision: -1,
|
|
987
1007
|
emittedAt: void 0,
|
|
988
1008
|
error: void 0,
|
|
989
1009
|
pendingPatches: 0
|
|
990
|
-
}),
|
|
991
|
-
function
|
|
992
|
-
let i = r.skip === !0, { runtime: a, cache: o, client: s, descriptors: c } =
|
|
1010
|
+
}), Kt = () => Gt;
|
|
1011
|
+
function J(e, t, n = {}, r = {}) {
|
|
1012
|
+
let i = r.skip === !0, { runtime: a, cache: o, client: s, descriptors: c } = K(e), l = c[t]?.source, u = k(n);
|
|
993
1013
|
u.current = n;
|
|
994
|
-
let d =
|
|
1014
|
+
let d = k(s);
|
|
995
1015
|
d.current = s;
|
|
996
|
-
let f =
|
|
1016
|
+
let f = O(() => JSON.stringify(Object.entries(n).sort(([e], [t]) => e.localeCompare(t))), [n]), p = O(() => {
|
|
997
1017
|
let e = u.current;
|
|
998
1018
|
return {
|
|
999
1019
|
queryKey: [t, e],
|
|
1000
|
-
fetch: () =>
|
|
1020
|
+
fetch: () => q(d.current, t)(e)
|
|
1001
1021
|
};
|
|
1002
1022
|
}, [t, f]), m = p.queryKey, h = T((e) => i ? () => {} : o.subscribe(p.queryKey, p.fetch, a, e, l === void 0 ? {} : { source: l }).unsubscribe, [
|
|
1003
1023
|
o,
|
|
@@ -1005,11 +1025,11 @@ function q(e, t, n = {}, r = {}) {
|
|
|
1005
1025
|
l,
|
|
1006
1026
|
i,
|
|
1007
1027
|
p
|
|
1008
|
-
]), g = T(() => i ?
|
|
1028
|
+
]), g = T(() => i ? Gt : o.peek(m), [
|
|
1009
1029
|
o,
|
|
1010
1030
|
i,
|
|
1011
1031
|
m
|
|
1012
|
-
]), _ =
|
|
1032
|
+
]), _ = j(h, g, Kt), v = _.data !== void 0, y = v && (Array.isArray(_.data) ? _.data.length === 0 : _.data === null), b = {
|
|
1013
1033
|
revision: _.revision,
|
|
1014
1034
|
emittedAt: _.emittedAt,
|
|
1015
1035
|
error: _.error,
|
|
@@ -1066,34 +1086,34 @@ function q(e, t, n = {}, r = {}) {
|
|
|
1066
1086
|
}
|
|
1067
1087
|
//#endregion
|
|
1068
1088
|
//#region src/awaitResolvedApi.ts
|
|
1069
|
-
var
|
|
1070
|
-
if (!
|
|
1071
|
-
let r = Date.now() +
|
|
1072
|
-
for (; Date.now() < r;) if (await new Promise((e) => setTimeout(e, 16)), !
|
|
1073
|
-
throw Error(`Voltro: the api "${t}" did not resolve within ${
|
|
1074
|
-
},
|
|
1089
|
+
var qt = 15e3, Y = async (e, t, n) => {
|
|
1090
|
+
if (!Xe(e.current)) return e.current;
|
|
1091
|
+
let r = Date.now() + qt;
|
|
1092
|
+
for (; Date.now() < r;) if (await new Promise((e) => setTimeout(e, 16)), !Xe(e.current)) return e.current;
|
|
1093
|
+
throw Error(`Voltro: the api "${t}" did not resolve within ${qt}ms, so ${n} was never sent. This is not the boot window — that is waited out. Check that "${t}" is a configured api name and that its client could connect.`);
|
|
1094
|
+
}, X = async (e, t) => {
|
|
1075
1095
|
let n = await e.runPromiseExit(t);
|
|
1076
|
-
if (
|
|
1077
|
-
throw
|
|
1078
|
-
},
|
|
1079
|
-
|
|
1080
|
-
},
|
|
1081
|
-
|
|
1082
|
-
for (let e of
|
|
1096
|
+
if (P.isSuccess(n)) return n.value;
|
|
1097
|
+
throw M.squash(n.cause);
|
|
1098
|
+
}, Jt = 100, Z = [], Yt = /* @__PURE__ */ new Set(), Xt = [], Zt = () => {
|
|
1099
|
+
Xt = Z.slice();
|
|
1100
|
+
}, Qt = () => {
|
|
1101
|
+
Zt();
|
|
1102
|
+
for (let e of Yt) try {
|
|
1083
1103
|
e();
|
|
1084
1104
|
} catch {}
|
|
1085
|
-
},
|
|
1105
|
+
}, $t = (e) => {
|
|
1086
1106
|
let t = {
|
|
1087
1107
|
...e,
|
|
1088
1108
|
status: "pending",
|
|
1089
1109
|
startedAt: Date.now()
|
|
1090
1110
|
};
|
|
1091
|
-
|
|
1092
|
-
},
|
|
1093
|
-
let n =
|
|
1111
|
+
Z.unshift(t), Z.length > Jt && (Z.length = Jt), Qt();
|
|
1112
|
+
}, en = (e, t) => {
|
|
1113
|
+
let n = Z.findIndex((t) => t.id === e);
|
|
1094
1114
|
if (n === -1) return;
|
|
1095
|
-
let r =
|
|
1096
|
-
|
|
1115
|
+
let r = Z[n], i = Date.now();
|
|
1116
|
+
Z[n] = t.status === "success" ? {
|
|
1097
1117
|
...r,
|
|
1098
1118
|
status: "success",
|
|
1099
1119
|
output: t.output,
|
|
@@ -1105,12 +1125,12 @@ var Wt = 15e3, J = async (e, t, n) => {
|
|
|
1105
1125
|
error: t.error,
|
|
1106
1126
|
settledAt: i,
|
|
1107
1127
|
durationMs: i - r.startedAt
|
|
1108
|
-
},
|
|
1109
|
-
},
|
|
1110
|
-
|
|
1111
|
-
}),
|
|
1112
|
-
|
|
1113
|
-
},
|
|
1128
|
+
}, Qt();
|
|
1129
|
+
}, tn = () => Xt, nn = (e) => (Yt.add(e), () => {
|
|
1130
|
+
Yt.delete(e);
|
|
1131
|
+
}), rn = () => {
|
|
1132
|
+
Z.length !== 0 && (Z.length = 0, Qt());
|
|
1133
|
+
}, an = (e, t) => {
|
|
1114
1134
|
if (t === void 0 || typeof e != "object" || !e) return e;
|
|
1115
1135
|
try {
|
|
1116
1136
|
Object.defineProperty(e, "__voltroTraceId", {
|
|
@@ -1120,40 +1140,40 @@ var Wt = 15e3, J = async (e, t, n) => {
|
|
|
1120
1140
|
});
|
|
1121
1141
|
} catch {}
|
|
1122
1142
|
return e;
|
|
1123
|
-
},
|
|
1124
|
-
|
|
1125
|
-
},
|
|
1143
|
+
}, on, sn = (e) => {
|
|
1144
|
+
on = e;
|
|
1145
|
+
}, cn = () => on, ln = (e, t, n) => typeof e == "function" ? e(t, n) : e, un = 0, dn = () => `mut_${++un}`, fn = 0, pn = () => {
|
|
1126
1146
|
let e = typeof crypto < "u" ? crypto : void 0;
|
|
1127
|
-
return e && typeof e.randomUUID == "function" ? e.randomUUID() : `idem_${Date.now().toString(36)}_${
|
|
1128
|
-
},
|
|
1147
|
+
return e && typeof e.randomUUID == "function" ? e.randomUUID() : `idem_${Date.now().toString(36)}_${fn += 1}`;
|
|
1148
|
+
}, mn = (e, t) => e.pipe(N.locallyWith(B.currentHeaders, (e) => ae.set(e, "idempotency-key", t))), hn = (e, t) => ({
|
|
1129
1149
|
update: (n, r) => {
|
|
1130
1150
|
e.update(n, r, t);
|
|
1131
1151
|
},
|
|
1132
1152
|
forTag: (n, r) => e.forTag(n, r, t)
|
|
1133
|
-
}),
|
|
1134
|
-
let n =
|
|
1153
|
+
}), Q = (e, t) => {
|
|
1154
|
+
let n = K(e), { descriptors: r, errorBus: i } = n, a = k(n);
|
|
1135
1155
|
a.current = n;
|
|
1136
1156
|
let o = r[t], s = o?.targets;
|
|
1137
1157
|
if (process.env.NODE_ENV !== "production") {
|
|
1138
1158
|
let n = o?.kind;
|
|
1139
1159
|
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.`);
|
|
1140
1160
|
}
|
|
1141
|
-
let [c, l] =
|
|
1161
|
+
let [c, l] = A(!1), [u, d] = A(void 0), [f, p] = A(void 0), m = k(null), h = k(!1), g = T(async (n, r) => {
|
|
1142
1162
|
let o = r?.onError !== void 0 || r?.notify?.error !== void 0, c = (e) => {
|
|
1143
1163
|
r?.onError?.(e, n);
|
|
1144
|
-
let t =
|
|
1145
|
-
t !== void 0 &&
|
|
1164
|
+
let t = ln(r?.notify?.error, e, n);
|
|
1165
|
+
t !== void 0 && on?.error(t);
|
|
1146
1166
|
};
|
|
1147
1167
|
l(!0), d(void 0);
|
|
1148
1168
|
let u, f, g;
|
|
1149
1169
|
try {
|
|
1150
|
-
({runtime: u, cache: f, client: g} = await
|
|
1170
|
+
({runtime: u, cache: f, client: g} = await Y(a, e, t));
|
|
1151
1171
|
} catch (e) {
|
|
1152
1172
|
if (l(!1), d(e), o) return c(e);
|
|
1153
1173
|
throw e;
|
|
1154
1174
|
}
|
|
1155
|
-
let _ =
|
|
1156
|
-
|
|
1175
|
+
let _ = dn(), v = r?.idempotencyKey ?? pn();
|
|
1176
|
+
$t({
|
|
1157
1177
|
id: _,
|
|
1158
1178
|
apiName: e,
|
|
1159
1179
|
tag: t,
|
|
@@ -1161,9 +1181,9 @@ var Wt = 15e3, J = async (e, t, n) => {
|
|
|
1161
1181
|
});
|
|
1162
1182
|
let y = m.current, b = h.current;
|
|
1163
1183
|
if (y) try {
|
|
1164
|
-
y(
|
|
1184
|
+
y(hn(f, _), n);
|
|
1165
1185
|
} catch (e) {
|
|
1166
|
-
if (d(e), l(!1), f.revertByMutation(_),
|
|
1186
|
+
if (d(e), l(!1), f.revertByMutation(_), en(_, {
|
|
1167
1187
|
status: "error",
|
|
1168
1188
|
error: e
|
|
1169
1189
|
}), o) return c(e);
|
|
@@ -1172,30 +1192,30 @@ var Wt = 15e3, J = async (e, t, n) => {
|
|
|
1172
1192
|
else !b && s && s.length > 0 && f.autoApply(s, n, _);
|
|
1173
1193
|
let x;
|
|
1174
1194
|
try {
|
|
1175
|
-
let a =
|
|
1176
|
-
x = e.traceId,
|
|
1195
|
+
let a = q(g, t), o = N.currentSpan.pipe(N.tap((e) => N.sync(() => {
|
|
1196
|
+
x = e.traceId, me({
|
|
1177
1197
|
traceId: e.traceId,
|
|
1178
1198
|
spanId: e.spanId,
|
|
1179
1199
|
source: "mutation",
|
|
1180
1200
|
tag: t
|
|
1181
1201
|
});
|
|
1182
|
-
})),
|
|
1202
|
+
})), N.catchAll(() => N.void), N.zipRight(mn(a(n), v))).pipe(N.withSpan(`client.mutation.${t}`, { attributes: {
|
|
1183
1203
|
"voltro.api": e,
|
|
1184
1204
|
"voltro.mutationId": _,
|
|
1185
1205
|
"rpc.tag": t
|
|
1186
|
-
} })), s = await
|
|
1187
|
-
p(s),
|
|
1206
|
+
} })), s = await X(u, o);
|
|
1207
|
+
p(s), en(_, {
|
|
1188
1208
|
status: "success",
|
|
1189
1209
|
output: s
|
|
1190
1210
|
}), i.emitSuccess({
|
|
1191
1211
|
source: "mutation",
|
|
1192
1212
|
tag: t
|
|
1193
1213
|
}), f.confirmByMutation(_), r?.onSuccess?.(s, n);
|
|
1194
|
-
let c =
|
|
1195
|
-
return c !== void 0 &&
|
|
1214
|
+
let c = ln(r?.notify?.success, s, n);
|
|
1215
|
+
return c !== void 0 && on?.success(c), s;
|
|
1196
1216
|
} catch (e) {
|
|
1197
|
-
let n =
|
|
1198
|
-
if (d(n),
|
|
1217
|
+
let n = an(e, x);
|
|
1218
|
+
if (d(n), en(_, {
|
|
1199
1219
|
status: "error",
|
|
1200
1220
|
error: n
|
|
1201
1221
|
}), f.revertByMutation(_), i.emit({
|
|
@@ -1214,7 +1234,7 @@ var Wt = 15e3, J = async (e, t, n) => {
|
|
|
1214
1234
|
s,
|
|
1215
1235
|
i
|
|
1216
1236
|
]);
|
|
1217
|
-
return
|
|
1237
|
+
return O(() => {
|
|
1218
1238
|
let e = {
|
|
1219
1239
|
mutate: g,
|
|
1220
1240
|
pending: c,
|
|
@@ -1230,7 +1250,7 @@ var Wt = 15e3, J = async (e, t, n) => {
|
|
|
1230
1250
|
u,
|
|
1231
1251
|
f
|
|
1232
1252
|
]);
|
|
1233
|
-
},
|
|
1253
|
+
}, gn = (e, t) => {
|
|
1234
1254
|
if (t === void 0 || typeof e != "object" || !e) return e;
|
|
1235
1255
|
try {
|
|
1236
1256
|
Object.defineProperty(e, "__voltroTraceId", {
|
|
@@ -1240,17 +1260,17 @@ var Wt = 15e3, J = async (e, t, n) => {
|
|
|
1240
1260
|
});
|
|
1241
1261
|
} catch {}
|
|
1242
1262
|
return e;
|
|
1243
|
-
},
|
|
1244
|
-
let n =
|
|
1263
|
+
}, _n = (e, t, n) => typeof e == "function" ? e(t, n) : e, vn = 0, yn = () => `act_${++vn}`, bn = (e, t) => {
|
|
1264
|
+
let n = K(e), { descriptors: r, errorBus: i } = n, a = k(n);
|
|
1245
1265
|
if (a.current = n, process.env.NODE_ENV !== "production") {
|
|
1246
1266
|
let n = r[t]?.kind;
|
|
1247
1267
|
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.`);
|
|
1248
1268
|
}
|
|
1249
|
-
let [o, s] =
|
|
1269
|
+
let [o, s] = A(!1), [c, l] = A(void 0), [u, d] = A(void 0), f = T(async (n, r) => {
|
|
1250
1270
|
let o = r?.onError !== void 0 || r?.notify?.error !== void 0;
|
|
1251
1271
|
s(!0), l(void 0);
|
|
1252
|
-
let c =
|
|
1253
|
-
|
|
1272
|
+
let c = yn(), u = r?.idempotencyKey ?? pn();
|
|
1273
|
+
$t({
|
|
1254
1274
|
id: c,
|
|
1255
1275
|
apiName: e,
|
|
1256
1276
|
tag: t,
|
|
@@ -1258,30 +1278,30 @@ var Wt = 15e3, J = async (e, t, n) => {
|
|
|
1258
1278
|
});
|
|
1259
1279
|
let f;
|
|
1260
1280
|
try {
|
|
1261
|
-
let { runtime: o, client: s } = await
|
|
1262
|
-
f = e.traceId,
|
|
1281
|
+
let { runtime: o, client: s } = await Y(a, e, t), l = q(s, t), p = await X(o, N.currentSpan.pipe(N.tap((e) => N.sync(() => {
|
|
1282
|
+
f = e.traceId, me({
|
|
1263
1283
|
traceId: e.traceId,
|
|
1264
1284
|
spanId: e.spanId,
|
|
1265
1285
|
source: "action",
|
|
1266
1286
|
tag: t
|
|
1267
1287
|
});
|
|
1268
|
-
})),
|
|
1288
|
+
})), N.catchAll(() => N.void), N.zipRight(mn(l(n), u))).pipe(N.withSpan(`client.action.${t}`, { attributes: {
|
|
1269
1289
|
"voltro.api": e,
|
|
1270
1290
|
"voltro.actionId": c,
|
|
1271
1291
|
"rpc.tag": t
|
|
1272
1292
|
} })));
|
|
1273
|
-
d(p),
|
|
1293
|
+
d(p), en(c, {
|
|
1274
1294
|
status: "success",
|
|
1275
1295
|
output: p
|
|
1276
1296
|
}), i.emitSuccess({
|
|
1277
1297
|
source: "action",
|
|
1278
1298
|
tag: t
|
|
1279
1299
|
}), r?.onSuccess?.(p, n);
|
|
1280
|
-
let m =
|
|
1281
|
-
return m !== void 0 &&
|
|
1300
|
+
let m = _n(r?.notify?.success, p, n);
|
|
1301
|
+
return m !== void 0 && cn()?.success(m), p;
|
|
1282
1302
|
} catch (e) {
|
|
1283
|
-
let a =
|
|
1284
|
-
if (l(a),
|
|
1303
|
+
let a = gn(e, f);
|
|
1304
|
+
if (l(a), en(c, {
|
|
1285
1305
|
status: "error",
|
|
1286
1306
|
error: a
|
|
1287
1307
|
}), i.emit({
|
|
@@ -1291,8 +1311,8 @@ var Wt = 15e3, J = async (e, t, n) => {
|
|
|
1291
1311
|
...f === void 0 ? {} : { traceId: f }
|
|
1292
1312
|
}), o) {
|
|
1293
1313
|
r?.onError?.(a, n);
|
|
1294
|
-
let e =
|
|
1295
|
-
e !== void 0 &&
|
|
1314
|
+
let e = _n(r?.notify?.error, a, n);
|
|
1315
|
+
e !== void 0 && cn()?.error(e);
|
|
1296
1316
|
return;
|
|
1297
1317
|
}
|
|
1298
1318
|
throw a;
|
|
@@ -1304,7 +1324,7 @@ var Wt = 15e3, J = async (e, t, n) => {
|
|
|
1304
1324
|
t,
|
|
1305
1325
|
i
|
|
1306
1326
|
]);
|
|
1307
|
-
return
|
|
1327
|
+
return O(() => ({
|
|
1308
1328
|
run: f,
|
|
1309
1329
|
pending: o,
|
|
1310
1330
|
error: c,
|
|
@@ -1315,14 +1335,14 @@ var Wt = 15e3, J = async (e, t, n) => {
|
|
|
1315
1335
|
c,
|
|
1316
1336
|
u
|
|
1317
1337
|
]);
|
|
1318
|
-
},
|
|
1338
|
+
}, xn = C(void 0), Sn = (e) => w(xn.Provider, { value: e.messages }, e.children), Cn = () => E(xn), wn = Symbol.for("voltro.client.formEngine"), Tn = C(void 0), En = (e, t) => {
|
|
1319
1339
|
let n = e;
|
|
1320
1340
|
for (let e of t.split(".")) {
|
|
1321
1341
|
if (typeof n != "object" || !n) return;
|
|
1322
1342
|
n = n[e];
|
|
1323
1343
|
}
|
|
1324
1344
|
return n;
|
|
1325
|
-
},
|
|
1345
|
+
}, Dn = (e, t, n) => `vf-${e}-${t}-${n}`.replace(/[^a-zA-Z0-9_-]/g, "-"), On = {
|
|
1326
1346
|
isTouched: !1,
|
|
1327
1347
|
isBlurred: !1,
|
|
1328
1348
|
isDirty: !1,
|
|
@@ -1331,28 +1351,28 @@ var Wt = 15e3, J = async (e, t, n) => {
|
|
|
1331
1351
|
isValidating: !1,
|
|
1332
1352
|
errorMap: {},
|
|
1333
1353
|
errorSourceMap: {}
|
|
1334
|
-
},
|
|
1354
|
+
}, kn = (e, t) => {
|
|
1335
1355
|
let n = e.find((e) => e.name === t);
|
|
1336
1356
|
if (n !== void 0) return n;
|
|
1337
1357
|
let r = /^(.+?)\.\d+\.(.+)$/.exec(t);
|
|
1338
1358
|
if (r !== null) return e.find((e) => e.name === r[1] && e.widget === "array")?.item?.find((e) => e.name === r[2]);
|
|
1339
|
-
},
|
|
1340
|
-
let r =
|
|
1359
|
+
}, An = (e, t, n) => {
|
|
1360
|
+
let r = K(e), a = k(void 0), o = typeof t == "function" ? t(a.current?.state?.values ?? n.defaults ?? {}) : t, s = k(o).current, c = Q(e, o), l = n.schema ?? r.descriptors[o]?.input;
|
|
1341
1361
|
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.`);
|
|
1342
|
-
let u =
|
|
1362
|
+
let u = O(() => l ? x(l) : [], [l]), d = Cn(), f = n.messages ?? d, p = O(() => ({
|
|
1343
1363
|
...n.locale === void 0 ? {} : { locale: n.locale },
|
|
1344
1364
|
...f === void 0 ? {} : { messages: f }
|
|
1345
|
-
}), [n.locale, f]), m =
|
|
1365
|
+
}), [n.locale, f]), m = k(n.asyncFields);
|
|
1346
1366
|
m.current = n.asyncFields;
|
|
1347
|
-
let h =
|
|
1367
|
+
let h = k(n);
|
|
1348
1368
|
h.current = n;
|
|
1349
|
-
let g =
|
|
1369
|
+
let g = k(c);
|
|
1350
1370
|
g.current = c;
|
|
1351
|
-
let _ =
|
|
1371
|
+
let _ = k(p);
|
|
1352
1372
|
_.current = p;
|
|
1353
|
-
let v =
|
|
1373
|
+
let v = k(l);
|
|
1354
1374
|
v.current = l;
|
|
1355
|
-
let [y, S] =
|
|
1375
|
+
let [y, S] = A(() => n.flash?.errors ?? {}), [C, w] = A(n.flash?.formError), [E, te] = A(void 0), j = k(void 0), M = T((e) => {
|
|
1356
1376
|
let t = v.current;
|
|
1357
1377
|
if (t === void 0) return [];
|
|
1358
1378
|
let n = h.current, r = e;
|
|
@@ -1366,26 +1386,26 @@ var Wt = 15e3, J = async (e, t, n) => {
|
|
|
1366
1386
|
let o = n.errorPath ?? {};
|
|
1367
1387
|
return a.map((t) => {
|
|
1368
1388
|
let n = o[t.path];
|
|
1369
|
-
return n === void 0 ? (
|
|
1389
|
+
return n === void 0 ? (En(e, t.path) !== void 0 || t.path.includes("."), t) : {
|
|
1370
1390
|
...t,
|
|
1371
1391
|
path: n
|
|
1372
1392
|
};
|
|
1373
1393
|
});
|
|
1374
|
-
}, []),
|
|
1394
|
+
}, []), ne = T((e) => {
|
|
1375
1395
|
let t = { ...e ?? {} }, n = v.current;
|
|
1376
1396
|
if (n !== void 0) for (let e of x(n)) (e.widget === "checkbox" || e.widget === "switch") && !(e.name in t) && (t[e.name] = !1);
|
|
1377
1397
|
return t;
|
|
1378
|
-
}, []),
|
|
1398
|
+
}, []), re = k(() => Promise.resolve());
|
|
1379
1399
|
if (a.current === void 0) {
|
|
1380
|
-
let e = n.flash, t = e === void 0 ?
|
|
1381
|
-
...
|
|
1400
|
+
let e = n.flash, t = e === void 0 ? ne(n.defaults) : {
|
|
1401
|
+
...ne(n.defaults),
|
|
1382
1402
|
...e.values
|
|
1383
1403
|
};
|
|
1384
|
-
a.current = new
|
|
1385
|
-
onSubmit: ({ value: e }) =>
|
|
1404
|
+
a.current = new de({
|
|
1405
|
+
onSubmit: ({ value: e }) => re.current(e),
|
|
1386
1406
|
defaultValues: t,
|
|
1387
1407
|
validators: { onChange: ({ value: e }) => {
|
|
1388
|
-
let t =
|
|
1408
|
+
let t = M(e);
|
|
1389
1409
|
if (t.length === 0) return;
|
|
1390
1410
|
let n = {};
|
|
1391
1411
|
for (let e of t) e.path !== "" && !(e.path in n) && (n[e.path] = b(e, _.current));
|
|
@@ -1393,23 +1413,23 @@ var Wt = 15e3, J = async (e, t, n) => {
|
|
|
1393
1413
|
} }
|
|
1394
1414
|
});
|
|
1395
1415
|
}
|
|
1396
|
-
let
|
|
1397
|
-
|
|
1398
|
-
let
|
|
1399
|
-
|
|
1400
|
-
let
|
|
1401
|
-
if (
|
|
1402
|
-
if (
|
|
1403
|
-
if (
|
|
1404
|
-
let t =
|
|
1405
|
-
return t === void 0 ? !1 :
|
|
1416
|
+
let N = a.current, P = N;
|
|
1417
|
+
D(() => P.mount(), [P]);
|
|
1418
|
+
let F = n.subscribe ?? "all";
|
|
1419
|
+
fe(N.store, (e) => F === "all" ? e : `${e.submissionAttempts}|${String(e.isSubmitting)}|${String(e.isDirty)}|${String(e.isTouched)}`);
|
|
1420
|
+
let I = N.store.state.values, L = N.store.state, R = O(() => M(I), [M, I]), ie = n.isLoading === !0, z = n.validate, ae = z?.onChange ?? "afterTouched", B = z?.onBlur ?? !0, oe = L.submissionAttempts, se = L.fieldMetaBase ?? {}, le = T((e) => {
|
|
1421
|
+
if (ie) return !1;
|
|
1422
|
+
if (oe > 0 || ae === "always") return !0;
|
|
1423
|
+
if (ae === "never") return !1;
|
|
1424
|
+
let t = se[e];
|
|
1425
|
+
return t === void 0 ? !1 : B ? t.isBlurred === !0 : t.isTouched === !0;
|
|
1406
1426
|
}, [
|
|
1427
|
+
oe,
|
|
1407
1428
|
se,
|
|
1408
|
-
|
|
1429
|
+
ie,
|
|
1409
1430
|
ae,
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
]), B = T((e) => {
|
|
1431
|
+
B
|
|
1432
|
+
]), V = T((e) => {
|
|
1413
1433
|
let t = y[e];
|
|
1414
1434
|
if (t !== void 0) return t;
|
|
1415
1435
|
let n = m.current?.[e];
|
|
@@ -1417,41 +1437,41 @@ var Wt = 15e3, J = async (e, t, n) => {
|
|
|
1417
1437
|
id: "validation.invalid",
|
|
1418
1438
|
fallback: "Invalid value"
|
|
1419
1439
|
}, _.current);
|
|
1420
|
-
if (!
|
|
1421
|
-
let r =
|
|
1440
|
+
if (!le(e)) return;
|
|
1441
|
+
let r = R.find((t) => t.path === e);
|
|
1422
1442
|
return r === void 0 ? void 0 : b(r, _.current);
|
|
1423
1443
|
}, [
|
|
1424
1444
|
y,
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
]),
|
|
1428
|
-
let e = {}, t = /* @__PURE__ */ new Set([...
|
|
1445
|
+
le,
|
|
1446
|
+
R
|
|
1447
|
+
]), ue = O(() => {
|
|
1448
|
+
let e = {}, t = /* @__PURE__ */ new Set([...R.map((e) => e.path).filter((e) => e !== ""), ...Object.keys(y)]);
|
|
1429
1449
|
for (let [e, n] of Object.entries(m.current ?? {})) n.status === "invalid" && t.add(e);
|
|
1430
1450
|
for (let n of t) {
|
|
1431
|
-
let t =
|
|
1451
|
+
let t = V(n);
|
|
1432
1452
|
t !== void 0 && (e[n] = t);
|
|
1433
1453
|
}
|
|
1434
1454
|
return e;
|
|
1435
1455
|
}, [
|
|
1436
|
-
|
|
1456
|
+
R,
|
|
1437
1457
|
y,
|
|
1438
|
-
|
|
1439
|
-
]),
|
|
1458
|
+
V
|
|
1459
|
+
]), pe = T((e) => {
|
|
1440
1460
|
S((t) => {
|
|
1441
1461
|
if (!(e in t)) return t;
|
|
1442
1462
|
let n = { ...t };
|
|
1443
1463
|
return delete n[e], n;
|
|
1444
1464
|
});
|
|
1445
|
-
}, []),
|
|
1446
|
-
let n =
|
|
1465
|
+
}, []), H = T((t) => {
|
|
1466
|
+
let n = kn(u, t), r = P.getFieldMeta(t), i = V(t), a = Dn(e, s, t), o = m.current?.[t], c = [i === void 0 ? void 0 : `${a}-error`, n?.description === void 0 ? void 0 : `${a}-help`].filter((e) => e !== void 0);
|
|
1447
1467
|
return {
|
|
1448
|
-
value:
|
|
1468
|
+
value: P.getFieldValue(t),
|
|
1449
1469
|
setValue: (e) => {
|
|
1450
|
-
|
|
1470
|
+
pe(t), !Object.is(P.getFieldValue(t), e) && P.setFieldValue(t, e);
|
|
1451
1471
|
},
|
|
1452
1472
|
onBlur: () => {
|
|
1453
|
-
|
|
1454
|
-
...
|
|
1473
|
+
P.setFieldMeta(t, (e) => ({
|
|
1474
|
+
...On,
|
|
1455
1475
|
...e ?? {},
|
|
1456
1476
|
isTouched: !0,
|
|
1457
1477
|
isBlurred: !0
|
|
@@ -1478,36 +1498,36 @@ var Wt = 15e3, J = async (e, t, n) => {
|
|
|
1478
1498
|
}, [
|
|
1479
1499
|
e,
|
|
1480
1500
|
s,
|
|
1481
|
-
|
|
1482
|
-
|
|
1501
|
+
pe,
|
|
1502
|
+
P,
|
|
1483
1503
|
u,
|
|
1484
1504
|
y,
|
|
1485
|
-
|
|
1486
|
-
]),
|
|
1487
|
-
items:
|
|
1505
|
+
V
|
|
1506
|
+
]), me = T((e) => ({
|
|
1507
|
+
items: P.getFieldValue(e) ?? [],
|
|
1488
1508
|
push: (t) => {
|
|
1489
|
-
|
|
1509
|
+
P.pushFieldValue(e, t);
|
|
1490
1510
|
},
|
|
1491
1511
|
insert: (t, n) => {
|
|
1492
|
-
|
|
1512
|
+
P.insertFieldValue(e, t, n);
|
|
1493
1513
|
},
|
|
1494
1514
|
remove: (t) => {
|
|
1495
|
-
|
|
1515
|
+
P.removeFieldValue(e, t);
|
|
1496
1516
|
},
|
|
1497
1517
|
move: (t, n) => {
|
|
1498
|
-
|
|
1518
|
+
P.moveFieldValues(e, t, n);
|
|
1499
1519
|
},
|
|
1500
1520
|
swap: (t, n) => {
|
|
1501
|
-
|
|
1521
|
+
P.swapFieldValues(e, t, n);
|
|
1502
1522
|
},
|
|
1503
|
-
field: (t, n) =>
|
|
1504
|
-
}), [
|
|
1505
|
-
|
|
1506
|
-
}, [
|
|
1507
|
-
for (let [t, n] of Object.entries(e))
|
|
1508
|
-
}, [
|
|
1509
|
-
S({}), w(void 0),
|
|
1510
|
-
}, [
|
|
1523
|
+
field: (t, n) => H(`${e}.${t}.${n}`)
|
|
1524
|
+
}), [P, H]), he = T((e) => u.filter((t) => t.section === e), [u]), U = T((e, t) => {
|
|
1525
|
+
pe(e), !Object.is(P.getFieldValue(e), t) && P.setFieldValue(e, t);
|
|
1526
|
+
}, [pe, P]), ge = T((e) => {
|
|
1527
|
+
for (let [t, n] of Object.entries(e)) P.setFieldValue(t, n);
|
|
1528
|
+
}, [P]), _e = T((e) => {
|
|
1529
|
+
S({}), w(void 0), te(void 0), j.current = void 0, e === void 0 ? P.reset() : P.reset(ne(e));
|
|
1530
|
+
}, [P, ne]), ve = n.asyncTimeoutMs ?? 5e3, ye = T(async () => {
|
|
1511
1531
|
let e = Date.now();
|
|
1512
1532
|
for (;;) {
|
|
1513
1533
|
let t = m.current;
|
|
@@ -1520,18 +1540,18 @@ var Wt = 15e3, J = async (e, t, n) => {
|
|
|
1520
1540
|
fallback: "Invalid value"
|
|
1521
1541
|
}, _.current)]));
|
|
1522
1542
|
}
|
|
1523
|
-
if (Date.now() - e >
|
|
1543
|
+
if (Date.now() - e > ve) return Object.fromEntries(r.map(([e]) => [e, b({
|
|
1524
1544
|
id: "validation.checking",
|
|
1525
1545
|
fallback: "Still checking…"
|
|
1526
1546
|
}, _.current)]));
|
|
1527
1547
|
await new Promise((e) => setTimeout(e, 50));
|
|
1528
1548
|
}
|
|
1529
|
-
}, [
|
|
1549
|
+
}, [ve]), be = T(() => {
|
|
1530
1550
|
let t = globalThis.document;
|
|
1531
1551
|
if (t?.getElementById === void 0) return;
|
|
1532
1552
|
let n = [...u.map((e) => e.name), ...Object.keys(y).filter((e) => !u.some((t) => t.name === e))];
|
|
1533
|
-
for (let r of n) if (
|
|
1534
|
-
t.getElementById(
|
|
1553
|
+
for (let r of n) if (V(r) !== void 0) {
|
|
1554
|
+
t.getElementById(Dn(e, s, r))?.focus?.();
|
|
1535
1555
|
return;
|
|
1536
1556
|
}
|
|
1537
1557
|
}, [
|
|
@@ -1539,20 +1559,20 @@ var Wt = 15e3, J = async (e, t, n) => {
|
|
|
1539
1559
|
s,
|
|
1540
1560
|
u,
|
|
1541
1561
|
y,
|
|
1542
|
-
|
|
1543
|
-
]),
|
|
1544
|
-
|
|
1545
|
-
let
|
|
1546
|
-
w(void 0), S({}),
|
|
1562
|
+
V
|
|
1563
|
+
]), W = k(be);
|
|
1564
|
+
W.current = be;
|
|
1565
|
+
let xe = T(async () => {
|
|
1566
|
+
w(void 0), S({}), te(void 0), j.current = void 0;
|
|
1547
1567
|
let e, t = !1;
|
|
1548
|
-
if (await
|
|
1568
|
+
if (await P.handleSubmit().catch((n) => {
|
|
1549
1569
|
t = !0, e = n;
|
|
1550
1570
|
}), t) throw e;
|
|
1551
|
-
return
|
|
1552
|
-
|
|
1553
|
-
}),
|
|
1554
|
-
}, [
|
|
1555
|
-
|
|
1571
|
+
return j.current === void 0 && queueMicrotask(() => {
|
|
1572
|
+
W.current();
|
|
1573
|
+
}), j.current;
|
|
1574
|
+
}, [P]);
|
|
1575
|
+
re.current = (async (e) => {
|
|
1556
1576
|
let t = h.current, n = e, r = n;
|
|
1557
1577
|
if (t.toInput !== void 0) try {
|
|
1558
1578
|
r = t.toInput(n);
|
|
@@ -1560,9 +1580,9 @@ var Wt = 15e3, J = async (e, t, n) => {
|
|
|
1560
1580
|
w(e instanceof Error ? e.message : String(e));
|
|
1561
1581
|
return;
|
|
1562
1582
|
}
|
|
1563
|
-
if (
|
|
1583
|
+
if (M(n).length > 0) {
|
|
1564
1584
|
queueMicrotask(() => {
|
|
1565
|
-
|
|
1585
|
+
W.current();
|
|
1566
1586
|
});
|
|
1567
1587
|
return;
|
|
1568
1588
|
}
|
|
@@ -1571,13 +1591,13 @@ var Wt = 15e3, J = async (e, t, n) => {
|
|
|
1571
1591
|
let e = ee(i, r);
|
|
1572
1592
|
e.dropped.length > 0 && process.env.NODE_ENV !== "production" && console.warn(`[@voltro/client] useFormBinding: dropped ${e.dropped.length} value(s) the mutation's input does not declare (${e.dropped.join(", ")}). The server refuses undeclared fields, so they are not sent. Map them with \`toInput\` if they belong in the write; ignore this if they are form-only state.`), r = e.input;
|
|
1573
1593
|
}
|
|
1574
|
-
let a = await
|
|
1594
|
+
let a = await ye();
|
|
1575
1595
|
if (a !== void 0) {
|
|
1576
1596
|
S((e) => ({
|
|
1577
1597
|
...e,
|
|
1578
1598
|
...a
|
|
1579
1599
|
})), queueMicrotask(() => {
|
|
1580
|
-
|
|
1600
|
+
W.current();
|
|
1581
1601
|
});
|
|
1582
1602
|
return;
|
|
1583
1603
|
}
|
|
@@ -1588,11 +1608,11 @@ var Wt = 15e3, J = async (e, t, n) => {
|
|
|
1588
1608
|
values: n,
|
|
1589
1609
|
mutate: o
|
|
1590
1610
|
});
|
|
1591
|
-
|
|
1611
|
+
j.current = e, t.onSuccess?.(e);
|
|
1592
1612
|
} catch (e) {
|
|
1593
|
-
let t =
|
|
1613
|
+
let t = ce(e);
|
|
1594
1614
|
if (t.length === 0) {
|
|
1595
|
-
|
|
1615
|
+
te(e), h.current.onError?.(e);
|
|
1596
1616
|
return;
|
|
1597
1617
|
}
|
|
1598
1618
|
let n = {};
|
|
@@ -1605,151 +1625,151 @@ var Wt = 15e3, J = async (e, t, n) => {
|
|
|
1605
1625
|
...e,
|
|
1606
1626
|
...n
|
|
1607
1627
|
})), queueMicrotask(() => {
|
|
1608
|
-
|
|
1628
|
+
W.current();
|
|
1609
1629
|
});
|
|
1610
1630
|
}
|
|
1611
1631
|
});
|
|
1612
|
-
let
|
|
1613
|
-
for (let e of u) if (
|
|
1614
|
-
let e = Object.keys(
|
|
1632
|
+
let Se = R.length === 0, Ce = Object.values(m.current ?? {}).some((e) => e.status === "checking"), we = E ?? c.error, Te = we !== void 0 && ce(we).length > 0 ? void 0 : we, Ee = Object.keys(ue).length, De = (() => {
|
|
1633
|
+
for (let e of u) if (ue[e.name] !== void 0) return e.name;
|
|
1634
|
+
let e = Object.keys(ue);
|
|
1615
1635
|
return e.length > 0 ? e[0] : void 0;
|
|
1616
|
-
})(),
|
|
1617
|
-
isDirty: !
|
|
1618
|
-
isPristine:
|
|
1619
|
-
isTouched:
|
|
1620
|
-
isValid:
|
|
1621
|
-
isValidating:
|
|
1622
|
-
canSubmit:
|
|
1623
|
-
isSubmitting:
|
|
1624
|
-
isSubmitted:
|
|
1625
|
-
isSubmitSuccessful:
|
|
1626
|
-
submissionAttempts:
|
|
1627
|
-
errorCount:
|
|
1628
|
-
firstInvalidPath:
|
|
1636
|
+
})(), Oe = {
|
|
1637
|
+
isDirty: !ie && L.isDirty,
|
|
1638
|
+
isPristine: L.isPristine,
|
|
1639
|
+
isTouched: L.isTouched,
|
|
1640
|
+
isValid: Se,
|
|
1641
|
+
isValidating: Ce,
|
|
1642
|
+
canSubmit: Se && !Ce && !L.isSubmitting && !ie,
|
|
1643
|
+
isSubmitting: L.isSubmitting,
|
|
1644
|
+
isSubmitted: L.isSubmitted,
|
|
1645
|
+
isSubmitSuccessful: L.isSubmitSuccessful && j.current !== void 0,
|
|
1646
|
+
submissionAttempts: L.submissionAttempts,
|
|
1647
|
+
errorCount: Ee,
|
|
1648
|
+
firstInvalidPath: De,
|
|
1629
1649
|
pending: c.pending,
|
|
1630
|
-
isLoading:
|
|
1631
|
-
submitError:
|
|
1650
|
+
isLoading: ie,
|
|
1651
|
+
submitError: Te,
|
|
1632
1652
|
data: c.data
|
|
1633
|
-
},
|
|
1653
|
+
}, ke = {
|
|
1634
1654
|
fields: u,
|
|
1635
|
-
values:
|
|
1636
|
-
errors:
|
|
1637
|
-
issues:
|
|
1638
|
-
isValid:
|
|
1655
|
+
values: I,
|
|
1656
|
+
errors: ue,
|
|
1657
|
+
issues: R,
|
|
1658
|
+
isValid: Se,
|
|
1639
1659
|
pending: c.pending,
|
|
1640
|
-
submitError:
|
|
1660
|
+
submitError: Te,
|
|
1641
1661
|
formError: C,
|
|
1642
1662
|
data: c.data,
|
|
1643
|
-
setValue:
|
|
1644
|
-
setValues:
|
|
1645
|
-
reset:
|
|
1646
|
-
submit:
|
|
1647
|
-
field:
|
|
1648
|
-
array:
|
|
1649
|
-
section:
|
|
1650
|
-
state:
|
|
1651
|
-
focusFirstInvalid:
|
|
1663
|
+
setValue: U,
|
|
1664
|
+
setValues: ge,
|
|
1665
|
+
reset: _e,
|
|
1666
|
+
submit: xe,
|
|
1667
|
+
field: H,
|
|
1668
|
+
array: me,
|
|
1669
|
+
section: he,
|
|
1670
|
+
state: Oe,
|
|
1671
|
+
focusFirstInvalid: be
|
|
1652
1672
|
};
|
|
1653
|
-
return Object.defineProperty(
|
|
1673
|
+
return Object.defineProperty(ke, wn, {
|
|
1654
1674
|
value: {
|
|
1655
|
-
store:
|
|
1656
|
-
field:
|
|
1675
|
+
store: N.store,
|
|
1676
|
+
field: H
|
|
1657
1677
|
},
|
|
1658
1678
|
enumerable: !1
|
|
1659
|
-
}),
|
|
1660
|
-
},
|
|
1661
|
-
function
|
|
1662
|
-
let n =
|
|
1679
|
+
}), ke;
|
|
1680
|
+
}, jn = (e) => w(Tn.Provider, { value: e.binding }, e.children), Mn = () => E(Tn);
|
|
1681
|
+
function Nn(e, t) {
|
|
1682
|
+
let n = E(Tn), r = typeof e == "string" ? void 0 : e, i = typeof e == "string" ? e : t, a = r ?? n;
|
|
1663
1683
|
if (a === void 0) throw Error("useFormField(path) found no form binding — mount <FormBindingProvider binding={form}> above this field, or call useFormField(form, path) with the binding in hand.");
|
|
1664
|
-
let o = a[
|
|
1684
|
+
let o = a[wn];
|
|
1665
1685
|
if (o === void 0) throw Error("useFormField: not a useFormBinding result");
|
|
1666
|
-
return
|
|
1686
|
+
return fe(o.store, (e) => {
|
|
1667
1687
|
let t = e.fieldMetaBase[i];
|
|
1668
|
-
return `${JSON.stringify(
|
|
1688
|
+
return `${JSON.stringify(En(e.values, i))}|${t === void 0 ? "" : `${String(t.isTouched)}${String(t.isBlurred)}${JSON.stringify(t.errorMap)}`}|${e.submissionAttempts}`;
|
|
1669
1689
|
}), o.field(i);
|
|
1670
1690
|
}
|
|
1671
1691
|
//#endregion
|
|
1672
1692
|
//#region src/createHooks.ts
|
|
1673
|
-
var
|
|
1674
|
-
useSubscription: (t, n, r) =>
|
|
1675
|
-
useMutation: (t) =>
|
|
1676
|
-
useAction: (t) =>
|
|
1677
|
-
useFormBinding: (t, n) =>
|
|
1678
|
-
}),
|
|
1679
|
-
|
|
1680
|
-
},
|
|
1681
|
-
let i =
|
|
1693
|
+
var Pn = J, Fn = (e) => ({
|
|
1694
|
+
useSubscription: (t, n, r) => Pn(e, t, n, r),
|
|
1695
|
+
useMutation: (t) => Q(e, t),
|
|
1696
|
+
useAction: (t) => bn(e, t),
|
|
1697
|
+
useFormBinding: (t, n) => An(e, t, n ?? {})
|
|
1698
|
+
}), In = () => ({ seeds: [] }), Ln = null, Rn = (e) => {
|
|
1699
|
+
Ln = e;
|
|
1700
|
+
}, zn = /* @__PURE__ */ new Map(), Bn = (e, t) => `${e}\u0000${t}`, Vn = (e, t, n, r) => {
|
|
1701
|
+
let i = Ln?.() ?? null;
|
|
1682
1702
|
if (i === null) throw Error(`seedPreloadedSubscription('${e}', '${t}') was called outside a server render. Preload seeds exist to put a subscription's first value into the SSR hydration payload; on the client the live subscription already provides it. (If this IS server code, the render did not install a seed bag — that is a framework bug.)`);
|
|
1683
1703
|
i.seeds.push({
|
|
1684
1704
|
api: e,
|
|
1685
|
-
key:
|
|
1705
|
+
key: U([t, n]),
|
|
1686
1706
|
value: r
|
|
1687
1707
|
});
|
|
1688
|
-
},
|
|
1689
|
-
let r =
|
|
1708
|
+
}, Hn = (e, t, n) => {
|
|
1709
|
+
let r = Ln?.() ?? null;
|
|
1690
1710
|
r !== null && r.seeds.push({
|
|
1691
1711
|
api: e,
|
|
1692
|
-
key:
|
|
1712
|
+
key: U([t, n]),
|
|
1693
1713
|
value: void 0,
|
|
1694
1714
|
failed: !0
|
|
1695
1715
|
});
|
|
1696
|
-
},
|
|
1697
|
-
if (e !== void 0) for (let t of e)
|
|
1716
|
+
}, Un = (e) => {
|
|
1717
|
+
if (e !== void 0) for (let t of e) zn.set(Bn(t.api, t.key), {
|
|
1698
1718
|
value: t.value,
|
|
1699
1719
|
failed: t.failed === !0
|
|
1700
1720
|
});
|
|
1701
|
-
},
|
|
1702
|
-
let r =
|
|
1721
|
+
}, Wn = (e, t, n) => {
|
|
1722
|
+
let r = U([t, n]), i = Ln?.() ?? null;
|
|
1703
1723
|
if (i !== null) {
|
|
1704
1724
|
for (let t of i.seeds) if (t.api === e && t.key === r) return t.failed === !0 ? void 0 : t.value;
|
|
1705
1725
|
return;
|
|
1706
1726
|
}
|
|
1707
|
-
let a =
|
|
1727
|
+
let a = zn.get(Bn(e, r));
|
|
1708
1728
|
return a === void 0 || a.failed ? void 0 : a.value;
|
|
1709
|
-
},
|
|
1710
|
-
let r =
|
|
1729
|
+
}, Gn = (e, t, n) => {
|
|
1730
|
+
let r = U([t, n]), i = Ln?.() ?? null;
|
|
1711
1731
|
if (i !== null) {
|
|
1712
1732
|
for (let t of i.seeds) if (t.api === e && t.key === r) return t.failed === !0 ? "failed" : "seeded";
|
|
1713
1733
|
return "absent";
|
|
1714
1734
|
}
|
|
1715
|
-
let a =
|
|
1735
|
+
let a = zn.get(Bn(e, r));
|
|
1716
1736
|
return a === void 0 ? "absent" : a.failed ? "failed" : "seeded";
|
|
1717
|
-
},
|
|
1718
|
-
|
|
1737
|
+
}, Kn = () => {
|
|
1738
|
+
zn.clear();
|
|
1719
1739
|
};
|
|
1720
1740
|
//#endregion
|
|
1721
1741
|
//#region src/usePreloadedSubscription.ts
|
|
1722
|
-
function
|
|
1723
|
-
let i =
|
|
1742
|
+
function qn(e, t, n = {}, r = {}) {
|
|
1743
|
+
let i = Wn(e, t, n), a = J(e, t, n, i === void 0 ? r : {
|
|
1724
1744
|
...r,
|
|
1725
1745
|
initialSnapshot: i
|
|
1726
1746
|
});
|
|
1727
|
-
return
|
|
1747
|
+
return Gn(e, t, n) === "failed" ? {
|
|
1728
1748
|
...a,
|
|
1729
1749
|
preloadFailed: !0
|
|
1730
1750
|
} : a;
|
|
1731
1751
|
}
|
|
1732
1752
|
//#endregion
|
|
1733
1753
|
//#region src/useEvent.ts
|
|
1734
|
-
var
|
|
1754
|
+
var Jn = {
|
|
1735
1755
|
status: "idle",
|
|
1736
1756
|
missed: 0,
|
|
1737
1757
|
lastMiss: void 0
|
|
1738
|
-
},
|
|
1758
|
+
}, Yn = class {
|
|
1739
1759
|
_tag = "EventStreamClosed";
|
|
1740
1760
|
};
|
|
1741
|
-
function
|
|
1742
|
-
let { skip: i = !1, apiName: a = "app", onMissed: o } = r, s =
|
|
1761
|
+
function Xn(e, t, n, r = {}) {
|
|
1762
|
+
let { skip: i = !1, apiName: a = "app", onMissed: o } = r, s = K(a), { runtime: c, client: l } = s, [u, d] = A(Jn), f = k(n);
|
|
1743
1763
|
f.current = n;
|
|
1744
|
-
let p =
|
|
1764
|
+
let p = k(o);
|
|
1745
1765
|
p.current = o;
|
|
1746
|
-
let m =
|
|
1766
|
+
let m = k(l);
|
|
1747
1767
|
m.current = l;
|
|
1748
|
-
let h =
|
|
1768
|
+
let h = k(c);
|
|
1749
1769
|
h.current = c;
|
|
1750
|
-
let g =
|
|
1770
|
+
let g = k(/* @__PURE__ */ new Map()), _ = t === null ? null : JSON.stringify(Object.entries(t).sort(([e], [t]) => e < t ? -1 : 1)), v = k(t);
|
|
1751
1771
|
v.current = t;
|
|
1752
|
-
let y =
|
|
1772
|
+
let y = k(null);
|
|
1753
1773
|
y.current !== _ && (y.current = _, g.current = /* @__PURE__ */ new Map());
|
|
1754
1774
|
let b = T((e, t) => {
|
|
1755
1775
|
e <= 0 || (d((n) => ({
|
|
@@ -1763,33 +1783,33 @@ function qn(e, t, n, r = {}) {
|
|
|
1763
1783
|
count: e,
|
|
1764
1784
|
reason: t
|
|
1765
1785
|
}));
|
|
1766
|
-
}, []), x = !i && _ !== null && !
|
|
1767
|
-
return
|
|
1786
|
+
}, []), x = !i && _ !== null && !Xe(s);
|
|
1787
|
+
return D(() => {
|
|
1768
1788
|
if (!x) {
|
|
1769
|
-
d(
|
|
1789
|
+
d(Jn);
|
|
1770
1790
|
return;
|
|
1771
1791
|
}
|
|
1772
1792
|
d((e) => ({
|
|
1773
1793
|
...e,
|
|
1774
1794
|
status: "connecting"
|
|
1775
1795
|
}));
|
|
1776
|
-
let t = 0, n =
|
|
1796
|
+
let t = 0, n = N.sync(() => {
|
|
1777
1797
|
let t = [...g.current].map(([e, t]) => ({
|
|
1778
1798
|
origin: e,
|
|
1779
1799
|
n: t
|
|
1780
1800
|
}));
|
|
1781
|
-
return
|
|
1801
|
+
return q(m.current, e.name)({
|
|
1782
1802
|
key: v.current,
|
|
1783
1803
|
...t.length > 0 ? { resume: t } : {}
|
|
1784
1804
|
});
|
|
1785
|
-
}), r =
|
|
1805
|
+
}), r = z.unwrap(n).pipe(z.tap(() => N.sync(() => {
|
|
1786
1806
|
t = 0;
|
|
1787
|
-
})),
|
|
1807
|
+
})), z.concat(z.fail(new Yn())), z.retry(R.exponential("250 millis", 2).pipe(R.either(R.spaced("30 seconds")), R.jittered, R.tapOutput(() => N.sync(() => {
|
|
1788
1808
|
t += 1, d((e) => ({
|
|
1789
1809
|
...e,
|
|
1790
1810
|
status: "connecting"
|
|
1791
1811
|
}));
|
|
1792
|
-
}))))), i = h.current.runFork(
|
|
1812
|
+
}))))), i = h.current.runFork(z.runForEach(r, (e) => N.sync(() => {
|
|
1793
1813
|
if (e._tag === "attached") {
|
|
1794
1814
|
d((e) => ({
|
|
1795
1815
|
...e,
|
|
@@ -1811,11 +1831,11 @@ function qn(e, t, n, r = {}) {
|
|
|
1811
1831
|
_,
|
|
1812
1832
|
e.name,
|
|
1813
1833
|
b
|
|
1814
|
-
]), x ? u :
|
|
1834
|
+
]), x ? u : Jn;
|
|
1815
1835
|
}
|
|
1816
1836
|
//#endregion
|
|
1817
1837
|
//#region src/sequence.ts
|
|
1818
|
-
var
|
|
1838
|
+
var Zn = () => {
|
|
1819
1839
|
let e = (t) => ({
|
|
1820
1840
|
steps: t,
|
|
1821
1841
|
step: ((n, r, i) => e([...t, {
|
|
@@ -1827,7 +1847,7 @@ var Jn = () => {
|
|
|
1827
1847
|
}]))
|
|
1828
1848
|
});
|
|
1829
1849
|
return e([]);
|
|
1830
|
-
},
|
|
1850
|
+
}, Qn = async (e, t = {}) => {
|
|
1831
1851
|
let n = {}, r = [];
|
|
1832
1852
|
for (let i of e.steps) {
|
|
1833
1853
|
if (i.when !== void 0 && !i.when(n)) {
|
|
@@ -1887,13 +1907,13 @@ var Jn = () => {
|
|
|
1887
1907
|
ok: !0,
|
|
1888
1908
|
data: n
|
|
1889
1909
|
};
|
|
1890
|
-
},
|
|
1891
|
-
let [t, n] =
|
|
1910
|
+
}, $n = (e = {}) => {
|
|
1911
|
+
let [t, n] = A(!1), [r, i] = A(void 0), [a, o] = A(void 0), s = k(e);
|
|
1892
1912
|
return s.current = e, {
|
|
1893
1913
|
run: T(async (e, t = {}) => {
|
|
1894
1914
|
n(!0), i(void 0), o(void 0);
|
|
1895
1915
|
try {
|
|
1896
|
-
let n = await
|
|
1916
|
+
let n = await Qn(e, {
|
|
1897
1917
|
...s.current,
|
|
1898
1918
|
...t
|
|
1899
1919
|
});
|
|
@@ -1906,7 +1926,7 @@ var Jn = () => {
|
|
|
1906
1926
|
error: r,
|
|
1907
1927
|
failedStep: a
|
|
1908
1928
|
};
|
|
1909
|
-
},
|
|
1929
|
+
}, er = "@voltro/plugin-storage", $ = (e) => le(er, e), tr = (e, t, n, r) => new Promise((i, a) => {
|
|
1910
1930
|
let o = new XMLHttpRequest();
|
|
1911
1931
|
if (o.open("PUT", e), o.upload.onprogress = (e) => {
|
|
1912
1932
|
e.lengthComputable && n(e.loaded / e.total);
|
|
@@ -1920,7 +1940,7 @@ var Jn = () => {
|
|
|
1920
1940
|
return;
|
|
1921
1941
|
}
|
|
1922
1942
|
r.addEventListener("abort", () => o.abort(), { once: !0 }), o.send(t);
|
|
1923
|
-
}),
|
|
1943
|
+
}), nr = (e, t, n, r, i, a) => new Promise((o, s) => {
|
|
1924
1944
|
let c = new XMLHttpRequest();
|
|
1925
1945
|
if (c.open("POST", e), c.setRequestHeader("content-type", t), c.upload.onprogress = (e) => {
|
|
1926
1946
|
e.lengthComputable && r(e.loaded / e.total);
|
|
@@ -1938,7 +1958,7 @@ var Jn = () => {
|
|
|
1938
1958
|
return;
|
|
1939
1959
|
}
|
|
1940
1960
|
i.addEventListener("abort", () => c.abort(), { once: !0 }), c.send(n);
|
|
1941
|
-
}),
|
|
1961
|
+
}), rr = (e, t, n, r, i) => new Promise((a, o) => {
|
|
1942
1962
|
let s = new XMLHttpRequest();
|
|
1943
1963
|
if (s.open("PUT", e), s.setRequestHeader("content-type", t), s.upload.onprogress = (e) => {
|
|
1944
1964
|
e.lengthComputable && r(e.loaded / e.total);
|
|
@@ -1949,7 +1969,7 @@ var Jn = () => {
|
|
|
1949
1969
|
return;
|
|
1950
1970
|
}
|
|
1951
1971
|
i.addEventListener("abort", () => s.abort(), { once: !0 }), s.send(n);
|
|
1952
|
-
}),
|
|
1972
|
+
}), ir = (e, t, n, r, i) => new Promise((a, o) => {
|
|
1953
1973
|
let s = new XMLHttpRequest();
|
|
1954
1974
|
if (s.open("POST", e), s.setRequestHeader("content-type", t), s.upload.onprogress = (e) => {
|
|
1955
1975
|
e.lengthComputable && r(e.loaded / e.total);
|
|
@@ -1965,15 +1985,15 @@ var Jn = () => {
|
|
|
1965
1985
|
return;
|
|
1966
1986
|
}
|
|
1967
1987
|
i.addEventListener("abort", () => s.abort(), { once: !0 }), s.send(n);
|
|
1968
|
-
}),
|
|
1969
|
-
let n =
|
|
1988
|
+
}), ar = (e, t = {}) => {
|
|
1989
|
+
let n = K(e), { inspectBaseUrl: r, errorBus: i } = n, a = k(n);
|
|
1970
1990
|
a.current = n;
|
|
1971
|
-
let [o, s] =
|
|
1991
|
+
let [o, s] = A(0), [c, l] = A("idle"), [u, d] = A(void 0), f = k(null), p = T(() => {
|
|
1972
1992
|
s(0), l("idle"), d(void 0);
|
|
1973
1993
|
}, []), m = T(() => {
|
|
1974
1994
|
f.current?.abort();
|
|
1975
1995
|
}, []), h = T((e) => /^https?:\/\//.test(e) ? e : `${r}${e}`, [r]), g = T(async (n, r, i, o) => {
|
|
1976
|
-
let { runtime: s, client: c } = await
|
|
1996
|
+
let { runtime: s, client: c } = await Y(a, e, "storage.upload"), l = Math.max(0, r.retries ?? t.retries ?? 1), u = (n instanceof File, n.type || "application/octet-stream"), d = n instanceof File ? n.name : "blob", f = r.visibility ?? t.visibility, p = r.key ?? t.key, m = r.folder ?? t.folder, g = r.tags ?? t.tags, _ = {
|
|
1977
1997
|
...f ? { visibility: f } : {},
|
|
1978
1998
|
...m ? { folder: m } : {},
|
|
1979
1999
|
...g ? { tags: g } : {},
|
|
@@ -1988,28 +2008,28 @@ var Jn = () => {
|
|
|
1988
2008
|
...e.width === void 0 ? {} : { width: e.width },
|
|
1989
2009
|
...e.height === void 0 ? {} : { height: e.height }
|
|
1990
2010
|
}), y = async () => {
|
|
1991
|
-
let e = r.mintTag ?? t.mintTag ??
|
|
2011
|
+
let e = r.mintTag ?? t.mintTag ?? $("mintUploadTicket"), a = q(c, e), l = await X(s, a({
|
|
1992
2012
|
contentType: u,
|
|
1993
2013
|
..._,
|
|
1994
2014
|
...p ? { key: p } : {}
|
|
1995
|
-
})), d = await
|
|
2015
|
+
})), d = await ir(h(l.uploadUrl), u, n, o, i);
|
|
1996
2016
|
return v(d);
|
|
1997
2017
|
}, b = async () => {
|
|
1998
|
-
let e = r.presignMintTag ?? t.presignMintTag ??
|
|
2018
|
+
let e = r.presignMintTag ?? t.presignMintTag ?? $("mintPresignedUpload"), a = r.finalizeTag ?? t.finalizeTag ?? $("finalizeUpload"), l;
|
|
1999
2019
|
try {
|
|
2000
|
-
let t =
|
|
2001
|
-
l = await
|
|
2020
|
+
let t = q(c, e);
|
|
2021
|
+
l = await X(s, t({
|
|
2002
2022
|
contentType: u,
|
|
2003
2023
|
..._
|
|
2004
2024
|
}));
|
|
2005
2025
|
} catch {
|
|
2006
2026
|
return null;
|
|
2007
2027
|
}
|
|
2008
|
-
await
|
|
2009
|
-
let d =
|
|
2028
|
+
await rr(l.uploadUrl, u, n, o, i);
|
|
2029
|
+
let d = q(c, a), f = await X(s, d({ finalizeToken: l.finalizeToken }));
|
|
2010
2030
|
return v(f);
|
|
2011
2031
|
}, x = async () => {
|
|
2012
|
-
let e = r.beginResumableTag ?? t.beginResumableTag ??
|
|
2032
|
+
let e = r.beginResumableTag ?? t.beginResumableTag ?? $("beginResumableUpload"), a = q(c, e), l = n.size, d = r.chunkSize ?? t.chunkSize, f = await X(s, a({
|
|
2013
2033
|
contentType: u,
|
|
2014
2034
|
size: l,
|
|
2015
2035
|
..._,
|
|
@@ -2020,7 +2040,7 @@ var Jn = () => {
|
|
|
2020
2040
|
for (;;) {
|
|
2021
2041
|
if (i.aborted) throw new DOMException("upload aborted", "AbortError");
|
|
2022
2042
|
try {
|
|
2023
|
-
let t = await
|
|
2043
|
+
let t = await nr(`${p}?${`token=${encodeURIComponent(f.resumableToken)}&index=${e}${s ? "&final=1" : ""}`}`, u, a, (e) => o((b + e * c) / l), i, s);
|
|
2024
2044
|
s && (x = t);
|
|
2025
2045
|
break;
|
|
2026
2046
|
} catch (e) {
|
|
@@ -2032,10 +2052,10 @@ var Jn = () => {
|
|
|
2032
2052
|
if (!x) throw Error("resumable upload produced no final reply");
|
|
2033
2053
|
return v(x);
|
|
2034
2054
|
}, S = async () => {
|
|
2035
|
-
let e = r.multipartBeginTag ?? t.multipartBeginTag ??
|
|
2055
|
+
let e = r.multipartBeginTag ?? t.multipartBeginTag ?? $("beginMultipartUpload"), a = r.multipartSignTag ?? t.multipartSignTag ?? $("signMultipartPart"), l = r.multipartCompleteTag ?? t.multipartCompleteTag ?? $("completeMultipartUpload"), f = r.multipartAbortTag ?? t.multipartAbortTag ?? $("abortMultipartUpload"), p = n.size, m = r.chunkSize ?? t.chunkSize, g;
|
|
2036
2056
|
try {
|
|
2037
|
-
let t =
|
|
2038
|
-
g = await
|
|
2057
|
+
let t = q(c, e);
|
|
2058
|
+
g = await X(s, t({
|
|
2039
2059
|
contentType: u,
|
|
2040
2060
|
size: p,
|
|
2041
2061
|
..._,
|
|
@@ -2044,17 +2064,17 @@ var Jn = () => {
|
|
|
2044
2064
|
} catch {
|
|
2045
2065
|
return null;
|
|
2046
2066
|
}
|
|
2047
|
-
let v =
|
|
2067
|
+
let v = q(c, a), y = q(c, l), b = q(c, f), x = Math.max(1, g.partSize), S = Math.max(1, Math.ceil(p / x)), ee = Math.max(0, r.retries ?? t.retries ?? 1), C = [], w = 0;
|
|
2048
2068
|
try {
|
|
2049
2069
|
for (let e = 0; e < S; e++) {
|
|
2050
2070
|
let t = e * x, r = Math.min(p, t + x), a = n.slice(t, r), c = e + 1, l = r - t, u = 0;
|
|
2051
2071
|
for (;;) {
|
|
2052
2072
|
if (i.aborted) throw new DOMException("upload aborted", "AbortError");
|
|
2053
2073
|
try {
|
|
2054
|
-
let { url: e } = await
|
|
2074
|
+
let { url: e } = await X(s, v({
|
|
2055
2075
|
multipartToken: g.multipartToken,
|
|
2056
2076
|
partNumber: c
|
|
2057
|
-
})), t = await
|
|
2077
|
+
})), t = await tr(e, a, (e) => o((w + e * l) / p), i);
|
|
2058
2078
|
C.push({
|
|
2059
2079
|
partNumber: c,
|
|
2060
2080
|
etag: t
|
|
@@ -2066,7 +2086,7 @@ var Jn = () => {
|
|
|
2066
2086
|
}
|
|
2067
2087
|
w += l, o(w / p);
|
|
2068
2088
|
}
|
|
2069
|
-
let e = await
|
|
2089
|
+
let e = await X(s, y({
|
|
2070
2090
|
multipartToken: g.multipartToken,
|
|
2071
2091
|
parts: C
|
|
2072
2092
|
}));
|
|
@@ -2079,7 +2099,7 @@ var Jn = () => {
|
|
|
2079
2099
|
};
|
|
2080
2100
|
} catch (e) {
|
|
2081
2101
|
try {
|
|
2082
|
-
await
|
|
2102
|
+
await X(s, b({ multipartToken: g.multipartToken }));
|
|
2083
2103
|
} catch {}
|
|
2084
2104
|
throw e;
|
|
2085
2105
|
}
|
|
@@ -2127,7 +2147,7 @@ var Jn = () => {
|
|
|
2127
2147
|
} catch (e) {
|
|
2128
2148
|
throw l("error"), d(e), e instanceof DOMException && e.name === "AbortError" || i.emit({
|
|
2129
2149
|
source: "action",
|
|
2130
|
-
tag: n.mintTag ?? t.mintTag ??
|
|
2150
|
+
tag: n.mintTag ?? t.mintTag ?? $("mintUploadTicket"),
|
|
2131
2151
|
error: e
|
|
2132
2152
|
}), e;
|
|
2133
2153
|
}
|
|
@@ -2153,7 +2173,7 @@ var Jn = () => {
|
|
|
2153
2173
|
} catch (e) {
|
|
2154
2174
|
throw r.abort(), l("error"), d(e), e instanceof DOMException && e.name === "AbortError" || i.emit({
|
|
2155
2175
|
source: "action",
|
|
2156
|
-
tag: n.mintTag ?? t.mintTag ??
|
|
2176
|
+
tag: n.mintTag ?? t.mintTag ?? $("mintUploadTicket"),
|
|
2157
2177
|
error: e
|
|
2158
2178
|
}), e;
|
|
2159
2179
|
}
|
|
@@ -2169,13 +2189,13 @@ var Jn = () => {
|
|
|
2169
2189
|
}, [v]), b = T((e, t = {}) => {
|
|
2170
2190
|
let n = e.clipboardData ? Array.from(e.clipboardData.files) : [];
|
|
2171
2191
|
return n.length ? v(n, t) : Promise.resolve([]);
|
|
2172
|
-
}, [v]), x =
|
|
2192
|
+
}, [v]), x = O(() => ({
|
|
2173
2193
|
onDragOver: (e) => e.preventDefault(),
|
|
2174
2194
|
onDrop: (e) => {
|
|
2175
2195
|
y(e);
|
|
2176
2196
|
}
|
|
2177
2197
|
}), [y]);
|
|
2178
|
-
return
|
|
2198
|
+
return O(() => ({
|
|
2179
2199
|
upload: _,
|
|
2180
2200
|
uploadMany: v,
|
|
2181
2201
|
progress: o,
|
|
@@ -2198,29 +2218,73 @@ var Jn = () => {
|
|
|
2198
2218
|
b,
|
|
2199
2219
|
x
|
|
2200
2220
|
]);
|
|
2201
|
-
},
|
|
2202
|
-
let
|
|
2203
|
-
|
|
2221
|
+
}, or = (e, t) => {
|
|
2222
|
+
let n = ar(e), r = bn(e, t.action), [i, a] = A("idle"), [o, s] = A(void 0), [c, l] = A(void 0), u = k(t.extra);
|
|
2223
|
+
u.current = t.extra;
|
|
2224
|
+
let d = T(async (e) => {
|
|
2225
|
+
l(void 0), s(void 0), a("uploading");
|
|
2226
|
+
let t;
|
|
2227
|
+
try {
|
|
2228
|
+
t = await n.upload(e);
|
|
2229
|
+
} catch (e) {
|
|
2230
|
+
throw a("error"), l(e), e;
|
|
2231
|
+
}
|
|
2232
|
+
a("transcribing");
|
|
2233
|
+
try {
|
|
2234
|
+
let e = await r.run({
|
|
2235
|
+
storageRef: t.id,
|
|
2236
|
+
...u.current ?? {}
|
|
2237
|
+
});
|
|
2238
|
+
return s(e), a("done"), e;
|
|
2239
|
+
} catch (e) {
|
|
2240
|
+
throw a("error"), l(e), e;
|
|
2241
|
+
}
|
|
2242
|
+
}, [n, r]), f = T(() => {
|
|
2243
|
+
n.cancel(), a("idle");
|
|
2244
|
+
}, [n]), p = T(() => {
|
|
2245
|
+
n.reset(), a("idle"), s(void 0), l(void 0);
|
|
2246
|
+
}, [n]);
|
|
2247
|
+
return O(() => ({
|
|
2248
|
+
phase: i,
|
|
2249
|
+
progress: i === "uploading" ? n.progress : void 0,
|
|
2250
|
+
result: o,
|
|
2251
|
+
error: c ?? n.error,
|
|
2252
|
+
transcribe: d,
|
|
2253
|
+
cancel: f,
|
|
2254
|
+
reset: p
|
|
2255
|
+
}), [
|
|
2256
|
+
i,
|
|
2257
|
+
n.progress,
|
|
2258
|
+
n.error,
|
|
2259
|
+
o,
|
|
2260
|
+
c,
|
|
2261
|
+
d,
|
|
2262
|
+
f,
|
|
2263
|
+
p
|
|
2264
|
+
]);
|
|
2265
|
+
}, sr = async (e) => {
|
|
2266
|
+
let t = q(e.client, e.tag), n = N.currentSpan.pipe(N.tap((t) => N.sync(() => {
|
|
2267
|
+
me({
|
|
2204
2268
|
traceId: t.traceId,
|
|
2205
2269
|
spanId: t.spanId,
|
|
2206
2270
|
source: "mutation",
|
|
2207
2271
|
tag: e.tag
|
|
2208
2272
|
});
|
|
2209
|
-
})),
|
|
2273
|
+
})), N.catchAll(() => N.void), N.zipRight(t(e.input)), N.withSpan(`${e.spanPrefix}.${e.tag}`, { attributes: {
|
|
2210
2274
|
"voltro.api": e.apiName,
|
|
2211
2275
|
"rpc.tag": e.tag
|
|
2212
2276
|
} }));
|
|
2213
|
-
return
|
|
2214
|
-
},
|
|
2215
|
-
let n =
|
|
2277
|
+
return X(e.runtime, n);
|
|
2278
|
+
}, cr = (e, t) => {
|
|
2279
|
+
let n = K(e), { descriptors: r } = n, i = k(n);
|
|
2216
2280
|
if (i.current = n, process.env.NODE_ENV !== "production") {
|
|
2217
2281
|
let n = r[t]?.kind;
|
|
2218
2282
|
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.`);
|
|
2219
2283
|
}
|
|
2220
|
-
let [a, o] =
|
|
2284
|
+
let [a, o] = A(!1), [s, c] = A(void 0), [l, u] = A(void 0), d = T(async (n) => {
|
|
2221
2285
|
o(!0), c(void 0);
|
|
2222
2286
|
try {
|
|
2223
|
-
let { runtime: r, client: a } = await
|
|
2287
|
+
let { runtime: r, client: a } = await Y(i, e, t), o = await sr({
|
|
2224
2288
|
apiName: e,
|
|
2225
2289
|
runtime: r,
|
|
2226
2290
|
client: a,
|
|
@@ -2235,8 +2299,8 @@ var Jn = () => {
|
|
|
2235
2299
|
o(!1);
|
|
2236
2300
|
}
|
|
2237
2301
|
}, [e, t]), f = T(async (t) => {
|
|
2238
|
-
let { runtime: n, client: r } = await
|
|
2239
|
-
await
|
|
2302
|
+
let { runtime: n, client: r } = await Y(i, e, "__voltro.workflow.cancel");
|
|
2303
|
+
await sr({
|
|
2240
2304
|
apiName: e,
|
|
2241
2305
|
runtime: n,
|
|
2242
2306
|
client: r,
|
|
@@ -2245,8 +2309,8 @@ var Jn = () => {
|
|
|
2245
2309
|
spanPrefix: "client.workflow.cancel"
|
|
2246
2310
|
});
|
|
2247
2311
|
}, [e]), p = T(async (t) => {
|
|
2248
|
-
let { runtime: n, client: r } = await
|
|
2249
|
-
await
|
|
2312
|
+
let { runtime: n, client: r } = await Y(i, e, "__voltro.workflow.resume");
|
|
2313
|
+
await sr({
|
|
2250
2314
|
apiName: e,
|
|
2251
2315
|
runtime: n,
|
|
2252
2316
|
client: r,
|
|
@@ -2255,8 +2319,8 @@ var Jn = () => {
|
|
|
2255
2319
|
spanPrefix: "client.workflow.resume"
|
|
2256
2320
|
});
|
|
2257
2321
|
}, [e]), m = T(async (t, n, r) => {
|
|
2258
|
-
let { runtime: a, client: o } = await
|
|
2259
|
-
return
|
|
2322
|
+
let { runtime: a, client: o } = await Y(i, e, "__voltro.workflow.signal");
|
|
2323
|
+
return sr({
|
|
2260
2324
|
apiName: e,
|
|
2261
2325
|
runtime: a,
|
|
2262
2326
|
client: o,
|
|
@@ -2269,8 +2333,8 @@ var Jn = () => {
|
|
|
2269
2333
|
spanPrefix: "client.workflow.signal"
|
|
2270
2334
|
});
|
|
2271
2335
|
}, [e]), h = T(async (t, n, r, a) => {
|
|
2272
|
-
let { runtime: o, client: s } = await
|
|
2273
|
-
return
|
|
2336
|
+
let { runtime: o, client: s } = await Y(i, e, "__voltro.workflow.update");
|
|
2337
|
+
return sr({
|
|
2274
2338
|
apiName: e,
|
|
2275
2339
|
runtime: o,
|
|
2276
2340
|
client: s,
|
|
@@ -2284,7 +2348,7 @@ var Jn = () => {
|
|
|
2284
2348
|
spanPrefix: "client.workflow.update"
|
|
2285
2349
|
});
|
|
2286
2350
|
}, [e]);
|
|
2287
|
-
return
|
|
2351
|
+
return O(() => ({
|
|
2288
2352
|
start: d,
|
|
2289
2353
|
cancel: f,
|
|
2290
2354
|
resume: p,
|
|
@@ -2303,13 +2367,13 @@ var Jn = () => {
|
|
|
2303
2367
|
s,
|
|
2304
2368
|
l
|
|
2305
2369
|
]);
|
|
2306
|
-
},
|
|
2307
|
-
let t =
|
|
2370
|
+
}, lr = (e) => {
|
|
2371
|
+
let t = K(e), n = k(t);
|
|
2308
2372
|
n.current = t;
|
|
2309
|
-
let [r, i] =
|
|
2373
|
+
let [r, i] = A(!1), [a, o] = A(void 0), [s, c] = A(void 0), l = T(async (t, r, a) => {
|
|
2310
2374
|
i(!0), o(void 0);
|
|
2311
2375
|
try {
|
|
2312
|
-
let { runtime: i, client: o } = await
|
|
2376
|
+
let { runtime: i, client: o } = await Y(n, e, "__voltro.workflow.signal"), s = await sr({
|
|
2313
2377
|
apiName: e,
|
|
2314
2378
|
runtime: i,
|
|
2315
2379
|
client: o,
|
|
@@ -2328,7 +2392,7 @@ var Jn = () => {
|
|
|
2328
2392
|
i(!1);
|
|
2329
2393
|
}
|
|
2330
2394
|
}, [e]);
|
|
2331
|
-
return
|
|
2395
|
+
return O(() => ({
|
|
2332
2396
|
signal: l,
|
|
2333
2397
|
pending: r,
|
|
2334
2398
|
error: a,
|
|
@@ -2339,13 +2403,13 @@ var Jn = () => {
|
|
|
2339
2403
|
a,
|
|
2340
2404
|
s
|
|
2341
2405
|
]);
|
|
2342
|
-
},
|
|
2343
|
-
let t =
|
|
2406
|
+
}, ur = (e) => {
|
|
2407
|
+
let t = K(e), n = k(t);
|
|
2344
2408
|
n.current = t;
|
|
2345
|
-
let [r, i] =
|
|
2409
|
+
let [r, i] = A(!1), [a, o] = A(void 0), [s, c] = A(void 0), l = T(async (t, r, a, s) => {
|
|
2346
2410
|
i(!0), o(void 0);
|
|
2347
2411
|
try {
|
|
2348
|
-
let { runtime: i, client: o } = await
|
|
2412
|
+
let { runtime: i, client: o } = await Y(n, e, "__voltro.workflow.update"), l = await sr({
|
|
2349
2413
|
apiName: e,
|
|
2350
2414
|
runtime: i,
|
|
2351
2415
|
client: o,
|
|
@@ -2365,7 +2429,7 @@ var Jn = () => {
|
|
|
2365
2429
|
i(!1);
|
|
2366
2430
|
}
|
|
2367
2431
|
}, [e]);
|
|
2368
|
-
return
|
|
2432
|
+
return O(() => ({
|
|
2369
2433
|
update: l,
|
|
2370
2434
|
pending: r,
|
|
2371
2435
|
error: a,
|
|
@@ -2376,8 +2440,8 @@ var Jn = () => {
|
|
|
2376
2440
|
a,
|
|
2377
2441
|
s
|
|
2378
2442
|
]);
|
|
2379
|
-
},
|
|
2380
|
-
let n =
|
|
2443
|
+
}, dr = (e, t) => {
|
|
2444
|
+
let n = J(e, "__voltro.workflow.run", t ? { id: t } : {}, { skip: t === void 0 });
|
|
2381
2445
|
return n.loading || n.idle || n.failed ? {
|
|
2382
2446
|
...n,
|
|
2383
2447
|
run: void 0
|
|
@@ -2385,8 +2449,8 @@ var Jn = () => {
|
|
|
2385
2449
|
...n,
|
|
2386
2450
|
run: n.data[0]
|
|
2387
2451
|
};
|
|
2388
|
-
},
|
|
2389
|
-
let r =
|
|
2452
|
+
}, fr = (e, t = {}, n = {}) => {
|
|
2453
|
+
let r = J(e, "__voltro.workflow.runs", t, n);
|
|
2390
2454
|
return r.loading || r.idle || r.failed ? {
|
|
2391
2455
|
...r,
|
|
2392
2456
|
runs: []
|
|
@@ -2394,8 +2458,8 @@ var Jn = () => {
|
|
|
2394
2458
|
...r,
|
|
2395
2459
|
runs: r.data
|
|
2396
2460
|
};
|
|
2397
|
-
},
|
|
2398
|
-
let n =
|
|
2461
|
+
}, pr = (e, t) => {
|
|
2462
|
+
let n = J(e, "__voltro.workflow.run.steps", t ? { runId: t } : {}, { skip: t === void 0 });
|
|
2399
2463
|
return n.loading || n.idle || n.failed ? {
|
|
2400
2464
|
...n,
|
|
2401
2465
|
steps: []
|
|
@@ -2403,8 +2467,8 @@ var Jn = () => {
|
|
|
2403
2467
|
...n,
|
|
2404
2468
|
steps: n.data
|
|
2405
2469
|
};
|
|
2406
|
-
},
|
|
2407
|
-
let n =
|
|
2470
|
+
}, mr = (e, t) => {
|
|
2471
|
+
let n = J(e, "__voltro.workflow.run.events", t ? { runId: t } : {}, { skip: t === void 0 });
|
|
2408
2472
|
return n.loading || n.idle || n.failed ? {
|
|
2409
2473
|
...n,
|
|
2410
2474
|
events: []
|
|
@@ -2412,8 +2476,8 @@ var Jn = () => {
|
|
|
2412
2476
|
...n,
|
|
2413
2477
|
events: n.data
|
|
2414
2478
|
};
|
|
2415
|
-
},
|
|
2416
|
-
let r =
|
|
2479
|
+
}, hr = mr, gr = (e, t = {}, n = {}) => {
|
|
2480
|
+
let r = J(e, "__voltro.workflow.domainEvents", t, n);
|
|
2417
2481
|
return r.loading || r.idle || r.failed ? {
|
|
2418
2482
|
...r,
|
|
2419
2483
|
events: []
|
|
@@ -2421,8 +2485,8 @@ var Jn = () => {
|
|
|
2421
2485
|
...r,
|
|
2422
2486
|
events: r.data
|
|
2423
2487
|
};
|
|
2424
|
-
},
|
|
2425
|
-
let n =
|
|
2488
|
+
}, _r = (e, t) => {
|
|
2489
|
+
let n = J(e, "__voltro.workflow.event.deliveries", t ? { eventId: t } : {}, { skip: t === void 0 });
|
|
2426
2490
|
return n.loading || n.idle || n.failed ? {
|
|
2427
2491
|
...n,
|
|
2428
2492
|
deliveries: []
|
|
@@ -2430,42 +2494,42 @@ var Jn = () => {
|
|
|
2430
2494
|
...n,
|
|
2431
2495
|
deliveries: n.data
|
|
2432
2496
|
};
|
|
2433
|
-
},
|
|
2497
|
+
}, vr = (e, t) => {
|
|
2434
2498
|
let n = e.payload;
|
|
2435
2499
|
if (!n || typeof n != "object") return;
|
|
2436
2500
|
let r = n[t];
|
|
2437
2501
|
return typeof r == "string" ? r : void 0;
|
|
2438
|
-
},
|
|
2502
|
+
}, yr = (e) => {
|
|
2439
2503
|
let t = e.payload;
|
|
2440
2504
|
if (!t || typeof t != "object") return;
|
|
2441
2505
|
let n = t.updateId;
|
|
2442
2506
|
return typeof n == "string" ? n : void 0;
|
|
2443
|
-
},
|
|
2507
|
+
}, br = (e) => {
|
|
2444
2508
|
let t = /* @__PURE__ */ new Set(), n = /* @__PURE__ */ new Set();
|
|
2445
2509
|
for (let r of e) if (r.eventType === "signal-received") {
|
|
2446
|
-
let e =
|
|
2510
|
+
let e = vr(r, "signalName");
|
|
2447
2511
|
e && t.add(e);
|
|
2448
2512
|
} else if (r.eventType === "update-completed" || r.eventType === "update-failed") {
|
|
2449
|
-
let e =
|
|
2513
|
+
let e = yr(r);
|
|
2450
2514
|
e && n.add(e);
|
|
2451
2515
|
}
|
|
2452
2516
|
for (let r = e.length - 1; r >= 0; --r) {
|
|
2453
2517
|
let i = e[r];
|
|
2454
2518
|
if (i.eventType === "signal-awaited") {
|
|
2455
|
-
let e =
|
|
2519
|
+
let e = vr(i, "signalName");
|
|
2456
2520
|
if (e && !t.has(e)) return {
|
|
2457
2521
|
name: e,
|
|
2458
2522
|
kind: "signal"
|
|
2459
2523
|
};
|
|
2460
2524
|
} else if (i.eventType === "update-requested") {
|
|
2461
|
-
let e =
|
|
2525
|
+
let e = yr(i), t = vr(i, "updateName");
|
|
2462
2526
|
if (t && (!e || !n.has(e))) return {
|
|
2463
2527
|
name: t,
|
|
2464
2528
|
kind: "update"
|
|
2465
2529
|
};
|
|
2466
2530
|
}
|
|
2467
2531
|
}
|
|
2468
|
-
},
|
|
2532
|
+
}, xr = (e) => e.find((e) => e.status === "running") || (e.length > 0 ? e[e.length - 1] : void 0), Sr = (e, t) => {
|
|
2469
2533
|
if (!e || e.status !== "failed") return;
|
|
2470
2534
|
let n = t.find((e) => e.status === "failed");
|
|
2471
2535
|
return {
|
|
@@ -2473,8 +2537,8 @@ var Jn = () => {
|
|
|
2473
2537
|
message: e.errorMessage,
|
|
2474
2538
|
step: n?.stepName
|
|
2475
2539
|
};
|
|
2476
|
-
},
|
|
2477
|
-
let n =
|
|
2540
|
+
}, Cr = (e, t) => {
|
|
2541
|
+
let n = dr(e, t), r = pr(e, t), i = mr(e, t), a = cr(e, n.run?.tag ?? ""), o = n.run, s = r.steps, c = i.events, l = T(async () => {
|
|
2478
2542
|
if (!o) throw Error("useWorkflowRunState: no run loaded — cannot cancel");
|
|
2479
2543
|
await a.cancel({
|
|
2480
2544
|
workflowName: o.tag,
|
|
@@ -2493,14 +2557,14 @@ var Jn = () => {
|
|
|
2493
2557
|
if (t === void 0) throw Error("useWorkflowRunState: no run id — cannot update");
|
|
2494
2558
|
return a.update({ id: t }, e, n, r);
|
|
2495
2559
|
}, [a, t]);
|
|
2496
|
-
return
|
|
2560
|
+
return O(() => ({
|
|
2497
2561
|
run: o,
|
|
2498
2562
|
status: o?.status,
|
|
2499
2563
|
steps: s,
|
|
2500
2564
|
events: c,
|
|
2501
|
-
currentStep:
|
|
2502
|
-
waitingFor: o?.status === "suspended" ?
|
|
2503
|
-
error:
|
|
2565
|
+
currentStep: xr(s),
|
|
2566
|
+
waitingFor: o?.status === "suspended" ? br(c) : void 0,
|
|
2567
|
+
error: Sr(o, s),
|
|
2504
2568
|
traceId: o?.traceId,
|
|
2505
2569
|
loading: n.data === void 0,
|
|
2506
2570
|
cancel: l,
|
|
@@ -2517,10 +2581,10 @@ var Jn = () => {
|
|
|
2517
2581
|
d,
|
|
2518
2582
|
f
|
|
2519
2583
|
]);
|
|
2520
|
-
},
|
|
2521
|
-
let { runtime: n, client: r } =
|
|
2584
|
+
}, wr = (e, t) => {
|
|
2585
|
+
let { runtime: n, client: r } = K(e), [i, a] = A([]), [o, s] = A("idle"), [c, l] = A(void 0), u = k(null), d = T(() => {
|
|
2522
2586
|
let e = u.current;
|
|
2523
|
-
e && (u.current = null, n.runFork(
|
|
2587
|
+
e && (u.current = null, n.runFork(F.interrupt(e)), s((e) => e === "streaming" ? "idle" : e));
|
|
2524
2588
|
}, [n]);
|
|
2525
2589
|
return {
|
|
2526
2590
|
events: i,
|
|
@@ -2528,13 +2592,13 @@ var Jn = () => {
|
|
|
2528
2592
|
error: c,
|
|
2529
2593
|
start: T((e = {}) => {
|
|
2530
2594
|
let i = u.current;
|
|
2531
|
-
i && n.runFork(
|
|
2532
|
-
let o =
|
|
2595
|
+
i && n.runFork(F.interrupt(i)), a([]), l(void 0), s("streaming");
|
|
2596
|
+
let o = q(r, t)(e), c = z.runForEach(o, (e) => N.sync(() => a((t) => [...t, e]))).pipe(N.matchCause({
|
|
2533
2597
|
onSuccess: () => {
|
|
2534
2598
|
s("done");
|
|
2535
2599
|
},
|
|
2536
2600
|
onFailure: (e) => {
|
|
2537
|
-
|
|
2601
|
+
M.isInterruptedOnly(e) || (l(M.squash(e)), s("error"));
|
|
2538
2602
|
}
|
|
2539
2603
|
}));
|
|
2540
2604
|
u.current = n.runFork(c);
|
|
@@ -2545,8 +2609,8 @@ var Jn = () => {
|
|
|
2545
2609
|
]),
|
|
2546
2610
|
cancel: d
|
|
2547
2611
|
};
|
|
2548
|
-
},
|
|
2549
|
-
let i = 0, a = !1, o = (e) =>
|
|
2612
|
+
}, Tr = (e, t, n, r) => {
|
|
2613
|
+
let i = 0, a = !1, o = (e) => N.sync(() => {
|
|
2550
2614
|
e.seq <= i || (i = e.seq, n.onEvent(e.event), r.isTerminal(e.event) && (a = !0));
|
|
2551
2615
|
}), s = (e) => {
|
|
2552
2616
|
if (typeof e != "object" || !e) return;
|
|
@@ -2554,36 +2618,36 @@ var Jn = () => {
|
|
|
2554
2618
|
if (typeof t == "string" || typeof n == "string") return `${typeof t == "string" ? t : ""}::${typeof n == "string" ? n : ""}`;
|
|
2555
2619
|
}, c, l = (e, t, a) => {
|
|
2556
2620
|
let o = i > t, l = o ? 0 : e + 1, d = a === void 0 ? void 0 : s(a), f = d !== void 0 && d === c && !o;
|
|
2557
|
-
if (c = o ? void 0 : d, f || l > r.maxReconnects) return
|
|
2621
|
+
if (c = o ? void 0 : d, f || l > r.maxReconnects) return N.sync(() => {
|
|
2558
2622
|
n.onError(a ?? /* @__PURE__ */ Error("stream connection lost")), n.onStatus("error");
|
|
2559
2623
|
});
|
|
2560
2624
|
let p = Math.min(r.maxBackoffMs, r.backoffMs * 2 ** Math.max(0, l - 1));
|
|
2561
|
-
return
|
|
2625
|
+
return N.sync(() => {
|
|
2562
2626
|
n.onStatus("reconnecting"), n.onReconnect();
|
|
2563
|
-
}).pipe(
|
|
2564
|
-
}, u = (r) =>
|
|
2627
|
+
}).pipe(N.zipRight(N.sleep(re.millis(p))), N.zipRight(N.sync(() => n.onStatus("streaming"))), N.zipRight(u(l)));
|
|
2628
|
+
}, u = (r) => N.suspend(() => {
|
|
2565
2629
|
let s = i, c = e({
|
|
2566
2630
|
...t,
|
|
2567
2631
|
fromSeq: s
|
|
2568
2632
|
});
|
|
2569
|
-
return
|
|
2570
|
-
onSuccess: () => a ?
|
|
2571
|
-
onFailure: (e) =>
|
|
2633
|
+
return z.runForEach(c, o).pipe(N.matchCauseEffect({
|
|
2634
|
+
onSuccess: () => a ? N.sync(() => n.onStatus("done")) : l(r, s, void 0),
|
|
2635
|
+
onFailure: (e) => M.isInterruptedOnly(e) ? N.void : a ? N.sync(() => n.onStatus("done")) : l(r, s, M.squash(e))
|
|
2572
2636
|
}));
|
|
2573
2637
|
});
|
|
2574
2638
|
return u(0);
|
|
2575
|
-
},
|
|
2639
|
+
}, Er = (e) => {
|
|
2576
2640
|
let t = e?._tag;
|
|
2577
2641
|
return t === "done" || t === "error";
|
|
2578
|
-
},
|
|
2579
|
-
let { runtime: r, client: i } =
|
|
2642
|
+
}, Dr = (e, t, n = {}) => {
|
|
2643
|
+
let { runtime: r, client: i } = K(e), [a, o] = A([]), [s, c] = A("idle"), [l, u] = A(0), [d, f] = A(void 0), p = k(null), m = {
|
|
2580
2644
|
maxReconnects: n.maxReconnects ?? 6,
|
|
2581
2645
|
backoffMs: n.backoffMs ?? 400,
|
|
2582
2646
|
maxBackoffMs: n.maxBackoffMs ?? 8e3,
|
|
2583
|
-
isTerminal: n.isTerminal ??
|
|
2647
|
+
isTerminal: n.isTerminal ?? Er
|
|
2584
2648
|
}, h = T(() => {
|
|
2585
2649
|
let e = p.current;
|
|
2586
|
-
e && (p.current = null, r.runFork(
|
|
2650
|
+
e && (p.current = null, r.runFork(F.interrupt(e)), c((e) => e === "streaming" || e === "reconnecting" ? "idle" : e));
|
|
2587
2651
|
}, [r]);
|
|
2588
2652
|
return {
|
|
2589
2653
|
events: a,
|
|
@@ -2592,14 +2656,14 @@ var Jn = () => {
|
|
|
2592
2656
|
error: d,
|
|
2593
2657
|
start: T((e = {}) => {
|
|
2594
2658
|
let n = p.current;
|
|
2595
|
-
n && r.runFork(
|
|
2596
|
-
let a =
|
|
2659
|
+
n && r.runFork(F.interrupt(n)), o([]), f(void 0), u(0), c("streaming");
|
|
2660
|
+
let a = q(i, t), s = {
|
|
2597
2661
|
onEvent: (e) => o((t) => [...t, e]),
|
|
2598
2662
|
onStatus: c,
|
|
2599
2663
|
onReconnect: () => u((e) => e + 1),
|
|
2600
2664
|
onError: f
|
|
2601
2665
|
};
|
|
2602
|
-
p.current = r.runFork(
|
|
2666
|
+
p.current = r.runFork(Tr(a, e, s, m));
|
|
2603
2667
|
}, [
|
|
2604
2668
|
r,
|
|
2605
2669
|
i,
|
|
@@ -2611,13 +2675,13 @@ var Jn = () => {
|
|
|
2611
2675
|
]),
|
|
2612
2676
|
cancel: h
|
|
2613
2677
|
};
|
|
2614
|
-
},
|
|
2678
|
+
}, Or = (e, t) => e.order - t.order || (e.stepOrder ?? 0) - (t.stepOrder ?? 0), kr = (e) => {
|
|
2615
2679
|
for (let t = e.length - 1; t >= 0; --t) {
|
|
2616
2680
|
let n = e[t];
|
|
2617
2681
|
if (n.role === "user" && n.content) return n.content;
|
|
2618
2682
|
}
|
|
2619
|
-
},
|
|
2620
|
-
let { threadId: r } = n, i =
|
|
2683
|
+
}, Ar = (e, t, n) => {
|
|
2684
|
+
let { threadId: r } = n, i = J(e, `${t}.messages`, { threadId: r }), a = bn(e, `${t}.send`), o = O(() => [...i.data ?? []].sort(Or), [i.data]), s = T((e, t = {}) => a.run({
|
|
2621
2685
|
threadId: r,
|
|
2622
2686
|
order: i.data?.length ?? 0,
|
|
2623
2687
|
prompt: e,
|
|
@@ -2627,10 +2691,10 @@ var Jn = () => {
|
|
|
2627
2691
|
r,
|
|
2628
2692
|
i.data
|
|
2629
2693
|
]), c = T(() => {
|
|
2630
|
-
let e =
|
|
2694
|
+
let e = kr(o);
|
|
2631
2695
|
return e === void 0 ? void 0 : s(e);
|
|
2632
2696
|
}, [o, s]);
|
|
2633
|
-
return
|
|
2697
|
+
return O(() => ({
|
|
2634
2698
|
messages: o,
|
|
2635
2699
|
streaming: o.some((e) => e.streaming),
|
|
2636
2700
|
loading: i.data === void 0,
|
|
@@ -2647,9 +2711,9 @@ var Jn = () => {
|
|
|
2647
2711
|
s,
|
|
2648
2712
|
c
|
|
2649
2713
|
]);
|
|
2650
|
-
},
|
|
2651
|
-
let { events: n, status: r, error: i, start: a, cancel: o } =
|
|
2652
|
-
return
|
|
2714
|
+
}, jr = (e, t) => {
|
|
2715
|
+
let { events: n, status: r, error: i, start: a, cancel: o } = wr(e, t), [s, c] = A([]), l = k(null), u = O(() => n.filter((e) => e._tag === "token").map((e) => e.text ?? "").join(""), [n]);
|
|
2716
|
+
return D(() => {
|
|
2653
2717
|
if (r !== "done" || l.current === null) return;
|
|
2654
2718
|
let e = l.current;
|
|
2655
2719
|
l.current = null, c((t) => [
|
|
@@ -2674,12 +2738,12 @@ var Jn = () => {
|
|
|
2674
2738
|
}, [a]),
|
|
2675
2739
|
cancel: o
|
|
2676
2740
|
};
|
|
2677
|
-
},
|
|
2678
|
-
let n =
|
|
2741
|
+
}, Mr = (e, t) => {
|
|
2742
|
+
let n = bn(e, t), [r, i] = A(void 0), a = T(async (e) => {
|
|
2679
2743
|
let t = await n.run({ question: e });
|
|
2680
2744
|
return i(t), t;
|
|
2681
2745
|
}, [n]), o = T(() => i(void 0), []);
|
|
2682
|
-
return
|
|
2746
|
+
return O(() => ({
|
|
2683
2747
|
ask: a,
|
|
2684
2748
|
answer: r,
|
|
2685
2749
|
pending: n.pending,
|
|
@@ -2692,14 +2756,14 @@ var Jn = () => {
|
|
|
2692
2756
|
n.error,
|
|
2693
2757
|
o
|
|
2694
2758
|
]);
|
|
2695
|
-
},
|
|
2696
|
-
let { cache: t, runtime: n } =
|
|
2759
|
+
}, Nr = (e) => {
|
|
2760
|
+
let { cache: t, runtime: n } = K(e);
|
|
2697
2761
|
return T(() => {
|
|
2698
2762
|
t.refreshAll(n);
|
|
2699
2763
|
}, [t, n]);
|
|
2700
|
-
},
|
|
2764
|
+
}, Pr = (e) => e?._tag === "Unauthenticated", Fr = (e, t, n = {}) => {
|
|
2701
2765
|
let r = n.cooldownMs ?? 15e3, i = n.maxConsecutive ?? 3, a = n.now ?? (() => Date.now()), o = -Infinity, s = 0, c = e.on((e) => {
|
|
2702
|
-
if (!
|
|
2766
|
+
if (!Pr(e.error) || s >= i) return;
|
|
2703
2767
|
let n = a();
|
|
2704
2768
|
n - o < r || (o = n, s += 1, t());
|
|
2705
2769
|
}), l = e.onSuccess(() => {
|
|
@@ -2713,30 +2777,18 @@ var Jn = () => {
|
|
|
2713
2777
|
s = 0;
|
|
2714
2778
|
}
|
|
2715
2779
|
};
|
|
2716
|
-
},
|
|
2717
|
-
|
|
2718
|
-
|
|
2719
|
-
|
|
2720
|
-
}, Nr = (e) => (jr.add(e), () => {
|
|
2721
|
-
jr.delete(e);
|
|
2722
|
-
}), Pr = (e, t) => {
|
|
2723
|
-
Mr({
|
|
2724
|
-
error: e,
|
|
2725
|
-
source: "manual",
|
|
2726
|
-
...t ? { context: t } : {}
|
|
2727
|
-
});
|
|
2728
|
-
}, Fr = (e, t) => {
|
|
2729
|
-
let { errorBus: n } = G(e);
|
|
2730
|
-
E(() => n.on(t), [n, t]);
|
|
2731
|
-
}, Ir = {
|
|
2780
|
+
}, Ir = (e, t) => {
|
|
2781
|
+
let { errorBus: n } = K(e);
|
|
2782
|
+
D(() => n.on(t), [n, t]);
|
|
2783
|
+
}, Lr = {
|
|
2732
2784
|
failed: [],
|
|
2733
2785
|
healthy: !0
|
|
2734
|
-
},
|
|
2735
|
-
let { errorBus: t } =
|
|
2736
|
-
return
|
|
2786
|
+
}, Rr = (e) => {
|
|
2787
|
+
let { errorBus: t } = K(e), [n, r] = A(Lr);
|
|
2788
|
+
return D(() => {
|
|
2737
2789
|
let e = /* @__PURE__ */ new Map(), n = () => {
|
|
2738
2790
|
let t = [...e.values()].sort((e, t) => t.at - e.at);
|
|
2739
|
-
r(t.length === 0 ?
|
|
2791
|
+
r(t.length === 0 ? Lr : {
|
|
2740
2792
|
failed: t,
|
|
2741
2793
|
healthy: !1
|
|
2742
2794
|
});
|
|
@@ -2754,17 +2806,17 @@ var Jn = () => {
|
|
|
2754
2806
|
i(), a();
|
|
2755
2807
|
};
|
|
2756
2808
|
}, [t]), n;
|
|
2757
|
-
},
|
|
2809
|
+
}, zr = (e, t) => {
|
|
2758
2810
|
let n = globalThis, r = Symbol.for(`@voltro/web/context:${e}`), i = n[r];
|
|
2759
2811
|
if (i) return i;
|
|
2760
2812
|
let a = C(t);
|
|
2761
2813
|
return n[r] = a, a;
|
|
2762
|
-
},
|
|
2814
|
+
}, Br = zr("serverRequest", null), Vr = () => E(Br), Hr = ({ value: e, children: t }) => /* @__PURE__ */ ue(Br.Provider, {
|
|
2763
2815
|
value: e,
|
|
2764
2816
|
children: t
|
|
2765
|
-
}),
|
|
2766
|
-
let t =
|
|
2767
|
-
return
|
|
2817
|
+
}), Ur = (e) => {
|
|
2818
|
+
let t = Vr();
|
|
2819
|
+
return O(() => {
|
|
2768
2820
|
if (t !== null) return t.formFlash?.formKey === e ? t.formFlash : void 0;
|
|
2769
2821
|
if (typeof document > "u") return;
|
|
2770
2822
|
let n = document.getElementById(v);
|
|
@@ -2775,15 +2827,15 @@ var Jn = () => {
|
|
|
2775
2827
|
return;
|
|
2776
2828
|
}
|
|
2777
2829
|
}, [t, e]);
|
|
2778
|
-
},
|
|
2830
|
+
}, Wr = (e, t, n) => e.map((e) => {
|
|
2779
2831
|
let r = String(e[n] ?? ""), i = e[t];
|
|
2780
2832
|
return {
|
|
2781
2833
|
value: r,
|
|
2782
2834
|
label: i == null ? r : String(i)
|
|
2783
2835
|
};
|
|
2784
|
-
}),
|
|
2785
|
-
let r = n.debounceMs ?? 200, i = n.labelField ?? "name", a = n.valueField ?? "id", o = n.input ?? ((e) => ({ q: e })), [s, c] =
|
|
2786
|
-
|
|
2836
|
+
}), Gr = (e, t, n = {}) => {
|
|
2837
|
+
let r = n.debounceMs ?? 200, i = n.labelField ?? "name", a = n.valueField ?? "id", o = n.input ?? ((e) => ({ q: e })), [s, c] = A(n.initialTerm ?? ""), [l, u] = A(s);
|
|
2838
|
+
D(() => {
|
|
2787
2839
|
if (s === l) return;
|
|
2788
2840
|
let e = setTimeout(() => u(s), r);
|
|
2789
2841
|
return () => clearTimeout(e);
|
|
@@ -2792,7 +2844,7 @@ var Jn = () => {
|
|
|
2792
2844
|
l,
|
|
2793
2845
|
r
|
|
2794
2846
|
]);
|
|
2795
|
-
let d = n.skipUntilTerm === !0 && l.trim() === "", f =
|
|
2847
|
+
let d = n.skipUntilTerm === !0 && l.trim() === "", f = J(e, t, O(() => o(l), [o, l]), { skip: d }), p = O(() => Wr(f.data ?? [], i, a), [
|
|
2796
2848
|
f.data,
|
|
2797
2849
|
i,
|
|
2798
2850
|
a
|
|
@@ -2803,13 +2855,13 @@ var Jn = () => {
|
|
|
2803
2855
|
term: s,
|
|
2804
2856
|
search: m
|
|
2805
2857
|
};
|
|
2806
|
-
},
|
|
2807
|
-
let i =
|
|
2858
|
+
}, Kr = (e, t) => e === t ? 0 : e == null ? 1 : t == null || e < t ? -1 : 1, qr = (t, n, r = {}) => {
|
|
2859
|
+
let i = K(t), [a, o] = A(r.pageSize), s = J(t, n, O(() => a === void 0 ? r.input ?? {} : {
|
|
2808
2860
|
...r.input,
|
|
2809
2861
|
limit: a
|
|
2810
2862
|
}, [r.input, a])), c = i.descriptors[n]?.output, l = T(() => {
|
|
2811
2863
|
r.pageSize !== void 0 && o((e) => (e ?? r.pageSize) + r.pageSize);
|
|
2812
|
-
}, [r.pageSize]), u =
|
|
2864
|
+
}, [r.pageSize]), u = O(() => r.columns ?? (c === void 0 ? [] : e(c)), [r.columns, c]), [d, f] = A(r.initialSort), p = T((e) => {
|
|
2813
2865
|
f((t) => t?.column === e ? {
|
|
2814
2866
|
column: e,
|
|
2815
2867
|
direction: t.direction === "asc" ? "desc" : "asc"
|
|
@@ -2820,11 +2872,11 @@ var Jn = () => {
|
|
|
2820
2872
|
}, []);
|
|
2821
2873
|
return {
|
|
2822
2874
|
columns: u,
|
|
2823
|
-
rows:
|
|
2875
|
+
rows: O(() => {
|
|
2824
2876
|
let e = s.data ?? [];
|
|
2825
2877
|
if (d === void 0) return e;
|
|
2826
2878
|
let t = d.direction === "asc" ? 1 : -1;
|
|
2827
|
-
return [...e].sort((e, n) =>
|
|
2879
|
+
return [...e].sort((e, n) => Kr(e[d.column], n[d.column]) * t);
|
|
2828
2880
|
}, [s.data, d]),
|
|
2829
2881
|
loading: s.data === void 0,
|
|
2830
2882
|
error: s.error,
|
|
@@ -2833,26 +2885,26 @@ var Jn = () => {
|
|
|
2833
2885
|
loadMore: l,
|
|
2834
2886
|
hasMore: a !== void 0 && (s.data?.length ?? 0) >= a
|
|
2835
2887
|
};
|
|
2836
|
-
},
|
|
2888
|
+
}, Jr = (e, t, n, r) => {
|
|
2837
2889
|
let i = e.replace(/\/$/, ""), a = new URLSearchParams({
|
|
2838
2890
|
table: t,
|
|
2839
2891
|
id: n
|
|
2840
2892
|
});
|
|
2841
2893
|
return r !== void 0 && a.set("column", r), `${i}/_voltro/inspect/provenance?${a.toString()}`;
|
|
2842
|
-
},
|
|
2843
|
-
let { inspectBaseUrl: i } =
|
|
2894
|
+
}, Yr = Jr, Xr = (e, t, n, r) => {
|
|
2895
|
+
let { inspectBaseUrl: i } = K(e), [a, o] = A({
|
|
2844
2896
|
data: void 0,
|
|
2845
2897
|
loading: !0,
|
|
2846
2898
|
error: void 0
|
|
2847
2899
|
});
|
|
2848
|
-
return
|
|
2900
|
+
return D(() => {
|
|
2849
2901
|
let e = !1;
|
|
2850
2902
|
o({
|
|
2851
2903
|
data: void 0,
|
|
2852
2904
|
loading: !0,
|
|
2853
2905
|
error: void 0
|
|
2854
2906
|
});
|
|
2855
|
-
let a =
|
|
2907
|
+
let a = Jr(i ?? "", t, n, r);
|
|
2856
2908
|
return fetch(a).then(async (e) => {
|
|
2857
2909
|
if (!e.ok) throw Error(`provenance fetch failed: HTTP ${e.status}`);
|
|
2858
2910
|
return await e.json();
|
|
@@ -2878,23 +2930,23 @@ var Jn = () => {
|
|
|
2878
2930
|
n,
|
|
2879
2931
|
r
|
|
2880
2932
|
]), a;
|
|
2881
|
-
},
|
|
2882
|
-
function
|
|
2883
|
-
return w(
|
|
2933
|
+
}, Zr = "admin:full", Qr = (e, t) => e.includes("admin:full") ? !0 : (typeof t == "string" ? [t] : t).every((t) => e.includes(t)), $r = (e, t) => t.length === 0 || e.includes("admin:full") ? !0 : t.some((t) => e.includes(t)), ei = C({ scopes: [] });
|
|
2934
|
+
function ti(e) {
|
|
2935
|
+
return w(ei.Provider, { value: { scopes: e.scopes } }, e.children);
|
|
2884
2936
|
}
|
|
2885
|
-
var
|
|
2886
|
-
let { inspectBaseUrl: t } =
|
|
2937
|
+
var ni = () => E(ei), ri = (e) => Qr(ni().scopes, e), ii = (e) => $r(ni().scopes, e), ai = (e) => `${e.replace(/\/$/, "")}/_voltro/inspect/manifest`, oi = (e) => {
|
|
2938
|
+
let { inspectBaseUrl: t } = K(e), [n, r] = A({
|
|
2887
2939
|
manifest: void 0,
|
|
2888
2940
|
loading: !0,
|
|
2889
2941
|
error: void 0
|
|
2890
2942
|
});
|
|
2891
|
-
return
|
|
2943
|
+
return D(() => {
|
|
2892
2944
|
let e = !1;
|
|
2893
2945
|
return r({
|
|
2894
2946
|
manifest: void 0,
|
|
2895
2947
|
loading: !0,
|
|
2896
2948
|
error: void 0
|
|
2897
|
-
}), fetch(
|
|
2949
|
+
}), fetch(ai(t ?? "")).then(async (e) => {
|
|
2898
2950
|
if (!e.ok) throw Error(`manifest fetch failed: HTTP ${e.status}`);
|
|
2899
2951
|
return await e.json();
|
|
2900
2952
|
}).then((t) => {
|
|
@@ -2913,7 +2965,7 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
|
|
|
2913
2965
|
e = !0;
|
|
2914
2966
|
};
|
|
2915
2967
|
}, [e, t]), n;
|
|
2916
|
-
},
|
|
2968
|
+
}, si = (e, t) => t.scope.length === 0 || (t.mode === "any" ? t.scope.some((t) => e.includes(t)) : t.scope.every((t) => e.includes(t))), ci = (e, t) => {
|
|
2917
2969
|
if (e === void 0) return "unknown";
|
|
2918
2970
|
if (t.includes("admin:full") || e.length === 0) return "allowed";
|
|
2919
2971
|
let n = !1;
|
|
@@ -2922,7 +2974,7 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
|
|
|
2922
2974
|
n = !0;
|
|
2923
2975
|
continue;
|
|
2924
2976
|
}
|
|
2925
|
-
if (!
|
|
2977
|
+
if (!si(t, r)) {
|
|
2926
2978
|
if (r.resourceScoped) {
|
|
2927
2979
|
n = !0;
|
|
2928
2980
|
continue;
|
|
@@ -2931,13 +2983,13 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
|
|
|
2931
2983
|
}
|
|
2932
2984
|
}
|
|
2933
2985
|
return n ? "unknown" : "allowed";
|
|
2934
|
-
},
|
|
2986
|
+
}, li = (e) => (e ?? []).flatMap((e) => e.kind === "scope" ? [...e.scope] : []), ui = (e) => {
|
|
2935
2987
|
for (let t of e ?? []) if (t.kind === "open") return t.reason;
|
|
2936
|
-
},
|
|
2988
|
+
}, di = (e) => ci(e, ni().scopes), fi = (e, t) => Array.isArray(e) ? e.includes(t) : e === t, pi = (e, t, n) => e.targets?.some((e) => e.table === t && e.op === n) ?? !1, mi = (e) => e === void 0 ? {} : {
|
|
2937
2989
|
tag: e.tag,
|
|
2938
2990
|
...e.guards === void 0 ? {} : { guards: e.guards }
|
|
2939
|
-
},
|
|
2940
|
-
let n = e.procedures.find((e) => e.kind === "query" &&
|
|
2991
|
+
}, hi = (e) => e.tables.filter((e) => !e.framework).map((t) => {
|
|
2992
|
+
let n = e.procedures.find((e) => e.kind === "query" && fi(e.source, t.name)), r = e.procedures.find((e) => e.kind === "mutation" && pi(e, t.name, "insert")), i = e.procedures.find((e) => e.kind === "mutation" && pi(e, t.name, "update")), a = e.procedures.find((e) => e.kind === "mutation" && pi(e, t.name, "delete")), o = t.pkColumn ?? (t.columns.some((e) => e.name === "id") ? "id" : void 0);
|
|
2941
2993
|
return {
|
|
2942
2994
|
table: t.name,
|
|
2943
2995
|
columns: t.columns.filter((e) => e.serverOnly !== !0),
|
|
@@ -2946,13 +2998,13 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
|
|
|
2946
2998
|
reactive: t.reactive,
|
|
2947
2999
|
...o === void 0 ? {} : { pkColumn: o },
|
|
2948
3000
|
editable: (t.editable ?? !0) && o !== void 0,
|
|
2949
|
-
list:
|
|
2950
|
-
create:
|
|
2951
|
-
update:
|
|
2952
|
-
delete:
|
|
3001
|
+
list: mi(n),
|
|
3002
|
+
create: mi(r),
|
|
3003
|
+
update: mi(i),
|
|
3004
|
+
delete: mi(a)
|
|
2953
3005
|
};
|
|
2954
|
-
}),
|
|
2955
|
-
let [t, n] =
|
|
3006
|
+
}), gi = (e) => {
|
|
3007
|
+
let [t, n] = A([]), [r, i] = A([]), a = T((e) => {
|
|
2956
3008
|
n((t) => [...t, e]), i([]);
|
|
2957
3009
|
}, []), o = T(async () => {
|
|
2958
3010
|
let r = t[t.length - 1];
|
|
@@ -2961,7 +3013,7 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
|
|
|
2961
3013
|
let t = r[r.length - 1];
|
|
2962
3014
|
t !== void 0 && (await e.onRedo(t.invocationId), i((e) => e.slice(0, -1)), n((e) => [...e, t]));
|
|
2963
3015
|
}, [r, e]);
|
|
2964
|
-
return
|
|
3016
|
+
return O(() => {
|
|
2965
3017
|
let e = t[t.length - 1];
|
|
2966
3018
|
return {
|
|
2967
3019
|
record: a,
|
|
@@ -2979,8 +3031,8 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
|
|
|
2979
3031
|
o,
|
|
2980
3032
|
s
|
|
2981
3033
|
]);
|
|
2982
|
-
},
|
|
2983
|
-
let n = t?.limit, { data: r } =
|
|
3034
|
+
}, _i = "__voltro.undo.log", vi = "__voltro.undo.apply", yi = "__voltro.undo.redo", bi = (e, t) => {
|
|
3035
|
+
let n = t?.limit, { data: r } = J(e, _i, n === void 0 ? {} : { limit: n }), i = Q(e, vi), a = Q(e, yi), o = r ?? [], s = o.find((e) => !e.undone && !e.crossesAction), c = o.find((e) => e.undone), l = T(async (e) => {
|
|
2984
3036
|
await i.mutate({ invocationId: e });
|
|
2985
3037
|
}, [i]), u = T(async (e) => {
|
|
2986
3038
|
await a.mutate({ invocationId: e });
|
|
@@ -2999,22 +3051,22 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
|
|
|
2999
3051
|
undoLast: d,
|
|
3000
3052
|
redoLast: f
|
|
3001
3053
|
};
|
|
3002
|
-
},
|
|
3054
|
+
}, xi = (e, t) => ({
|
|
3003
3055
|
name: e,
|
|
3004
3056
|
map: t
|
|
3005
|
-
}),
|
|
3057
|
+
}), Si = (e, t) => e === void 0 ? null : typeof e == "string" ? { event: e } : e(t), Ci = /* @__PURE__ */ new Set(["onMount", "onUnmount"]), wi = (e, t, n) => {
|
|
3006
3058
|
let r = { ...t };
|
|
3007
3059
|
for (let [i, a] of Object.entries(e.map)) {
|
|
3008
|
-
if (
|
|
3060
|
+
if (Ci.has(i) || a === void 0) continue;
|
|
3009
3061
|
let e = t[i];
|
|
3010
3062
|
r[i] = (...r) => {
|
|
3011
|
-
let i =
|
|
3063
|
+
let i = Si(a, t);
|
|
3012
3064
|
if (i !== null && n(i), typeof e == "function") return e(...r);
|
|
3013
3065
|
};
|
|
3014
3066
|
}
|
|
3015
3067
|
return r;
|
|
3016
|
-
},
|
|
3017
|
-
let r =
|
|
3068
|
+
}, Ti = (e, t, n) => {
|
|
3069
|
+
let r = k({
|
|
3018
3070
|
spec: e,
|
|
3019
3071
|
props: t,
|
|
3020
3072
|
sink: n
|
|
@@ -3023,47 +3075,47 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
|
|
|
3023
3075
|
spec: e,
|
|
3024
3076
|
props: t,
|
|
3025
3077
|
sink: n
|
|
3026
|
-
},
|
|
3027
|
-
let e = r.current, t =
|
|
3078
|
+
}, D(() => {
|
|
3079
|
+
let e = r.current, t = Si(e.spec.map.onMount, e.props);
|
|
3028
3080
|
return t !== null && e.sink(t), () => {
|
|
3029
|
-
let e = r.current, t =
|
|
3081
|
+
let e = r.current, t = Si(e.spec.map.onUnmount, e.props);
|
|
3030
3082
|
t !== null && e.sink(t);
|
|
3031
3083
|
};
|
|
3032
|
-
}, []),
|
|
3084
|
+
}, []), O(() => wi(e, t, n), [
|
|
3033
3085
|
e,
|
|
3034
3086
|
t,
|
|
3035
3087
|
n
|
|
3036
3088
|
]);
|
|
3037
|
-
},
|
|
3038
|
-
let n =
|
|
3039
|
-
return
|
|
3040
|
-
},
|
|
3041
|
-
let r =
|
|
3042
|
-
return
|
|
3043
|
-
},
|
|
3089
|
+
}, Ei = (e, t) => {
|
|
3090
|
+
let n = K(e).descriptors[t]?.input;
|
|
3091
|
+
return O(() => n === void 0 ? [] : x(n), [n]);
|
|
3092
|
+
}, Di = (t, n) => {
|
|
3093
|
+
let r = K(t).descriptors[n]?.output;
|
|
3094
|
+
return O(() => r === void 0 ? [] : e(r), [r]);
|
|
3095
|
+
}, Oi = (e, t) => {
|
|
3044
3096
|
if (e === t) return !0;
|
|
3045
3097
|
if (e.length !== t.length) return !1;
|
|
3046
3098
|
for (let n = 0; n < e.length; n += 1) if (!Object.is(e[n], t[n])) return !1;
|
|
3047
3099
|
return !0;
|
|
3048
|
-
},
|
|
3049
|
-
let n =
|
|
3050
|
-
return (n.current === null || !
|
|
3100
|
+
}, ki = (e) => Object.keys(e).sort().map((t) => e[t]), Ai = (e, t) => {
|
|
3101
|
+
let n = k(null), r = ki(e);
|
|
3102
|
+
return (n.current === null || !Oi(n.current.key, r)) && (n.current = {
|
|
3051
3103
|
key: r,
|
|
3052
3104
|
value: t(e)
|
|
3053
3105
|
}), n.current.value;
|
|
3054
|
-
},
|
|
3055
|
-
let i =
|
|
3056
|
-
return
|
|
3106
|
+
}, ji = (e, t, n, r = {}) => {
|
|
3107
|
+
let i = J(e, t, { ...n }, r);
|
|
3108
|
+
return O(() => ({
|
|
3057
3109
|
allowed: i.data?.allowed === !0,
|
|
3058
3110
|
pending: i.data === void 0
|
|
3059
3111
|
}), [i.data]);
|
|
3060
|
-
},
|
|
3061
|
-
let i =
|
|
3062
|
-
return
|
|
3112
|
+
}, Mi = (e, t, n, r = {}) => {
|
|
3113
|
+
let i = J(e, t, { ...n }, r);
|
|
3114
|
+
return O(() => ({
|
|
3063
3115
|
allowedIds: new Set(i.data?.allowedIds ?? []),
|
|
3064
3116
|
pending: i.data === void 0
|
|
3065
3117
|
}), [i.data]);
|
|
3066
|
-
},
|
|
3118
|
+
}, Ni = (e) => {
|
|
3067
3119
|
switch (e) {
|
|
3068
3120
|
case "select":
|
|
3069
3121
|
case "radio":
|
|
@@ -3079,26 +3131,26 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
|
|
|
3079
3131
|
case "switch": return "boolean";
|
|
3080
3132
|
default: return null;
|
|
3081
3133
|
}
|
|
3082
|
-
},
|
|
3134
|
+
}, Pi = (e) => x(e).map((e) => {
|
|
3083
3135
|
if (e.name.includes(".")) return null;
|
|
3084
|
-
let t =
|
|
3136
|
+
let t = Ni(e.widget);
|
|
3085
3137
|
return t === null ? null : {
|
|
3086
3138
|
name: e.name,
|
|
3087
3139
|
label: e.label,
|
|
3088
3140
|
kind: t,
|
|
3089
3141
|
...e.options ? { options: e.options } : {}
|
|
3090
3142
|
};
|
|
3091
|
-
}).filter((e) => e !== null),
|
|
3143
|
+
}).filter((e) => e !== null), Fi = (e) => {
|
|
3092
3144
|
let t = {};
|
|
3093
3145
|
for (let [n, r] of Object.entries(e)) r === void 0 || r === "" || Array.isArray(r) && r.length === 0 || (t[n] = r);
|
|
3094
3146
|
return t;
|
|
3095
|
-
},
|
|
3096
|
-
let r =
|
|
3097
|
-
o((n) =>
|
|
3147
|
+
}, Ii = (e, t, n = {}) => {
|
|
3148
|
+
let r = K(e).descriptors[t]?.input, i = O(() => r === void 0 ? [] : Pi(r), [r]), [a, o] = A(n.initial ?? {}), s = T((e, t) => {
|
|
3149
|
+
o((n) => Fi({
|
|
3098
3150
|
...n,
|
|
3099
3151
|
[e]: t
|
|
3100
3152
|
}));
|
|
3101
|
-
}, []), c = T(() => o({}), []), l =
|
|
3153
|
+
}, []), c = T(() => o({}), []), l = J(e, t, O(() => Fi(a), [a]));
|
|
3102
3154
|
return {
|
|
3103
3155
|
filters: i,
|
|
3104
3156
|
values: a,
|
|
@@ -3109,20 +3161,20 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
|
|
|
3109
3161
|
loading: l.data === void 0,
|
|
3110
3162
|
error: l.error
|
|
3111
3163
|
};
|
|
3112
|
-
},
|
|
3113
|
-
let r =
|
|
3164
|
+
}, Li = (e, t, n = {}) => {
|
|
3165
|
+
let r = J(e, t, n), i = r.data;
|
|
3114
3166
|
return {
|
|
3115
3167
|
record: Array.isArray(i) ? i[0] : i,
|
|
3116
3168
|
loading: i === void 0,
|
|
3117
3169
|
error: r.error
|
|
3118
3170
|
};
|
|
3119
|
-
},
|
|
3120
|
-
let [n, r] =
|
|
3121
|
-
return
|
|
3171
|
+
}, Ri = (e, t = 300) => {
|
|
3172
|
+
let [n, r] = A(e);
|
|
3173
|
+
return D(() => {
|
|
3122
3174
|
let n = setTimeout(() => r(e), t);
|
|
3123
3175
|
return () => clearTimeout(n);
|
|
3124
3176
|
}, [e, t]), n;
|
|
3125
|
-
},
|
|
3177
|
+
}, zi = (e) => {
|
|
3126
3178
|
let { value: t, debouncedValue: n, data: r, interpret: i, skipEmpty: a = !0 } = e;
|
|
3127
3179
|
if (a && t.trim() === "") return {
|
|
3128
3180
|
status: "idle",
|
|
@@ -3140,39 +3192,39 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
|
|
|
3140
3192
|
valid: o.valid,
|
|
3141
3193
|
message: o.message
|
|
3142
3194
|
};
|
|
3143
|
-
},
|
|
3144
|
-
let { input: i, interpret: a, debounceMs: o = 300, skipEmpty: s = !0 } = r, c =
|
|
3145
|
-
return
|
|
3195
|
+
}, Bi = (e, t, n, r) => {
|
|
3196
|
+
let { input: i, interpret: a, debounceMs: o = 300, skipEmpty: s = !0 } = r, c = Ri(n, o), l = s && c.trim() === "", u = J(e, t, O(() => i ? i(c) : { value: c }, [i, c]), { skip: l });
|
|
3197
|
+
return zi({
|
|
3146
3198
|
value: n,
|
|
3147
3199
|
debouncedValue: c,
|
|
3148
3200
|
data: l ? null : u.data,
|
|
3149
3201
|
interpret: a,
|
|
3150
3202
|
skipEmpty: s
|
|
3151
3203
|
});
|
|
3152
|
-
},
|
|
3204
|
+
}, Vi = (e, t) => ({
|
|
3153
3205
|
name: e,
|
|
3154
3206
|
payload: t
|
|
3155
|
-
}),
|
|
3156
|
-
let n =
|
|
3207
|
+
}), Hi = (e, t) => {
|
|
3208
|
+
let n = ie.decodeUnknownEither(e.payload, { errors: "all" })(t);
|
|
3157
3209
|
if (n._tag === "Right") return {
|
|
3158
3210
|
valid: !0,
|
|
3159
3211
|
errors: {}
|
|
3160
3212
|
};
|
|
3161
3213
|
let r = {};
|
|
3162
|
-
for (let e of
|
|
3214
|
+
for (let e of pe.formatErrorSync(n.left)) r[e.path.join(".") || "(root)"] = e.message;
|
|
3163
3215
|
return {
|
|
3164
3216
|
valid: !1,
|
|
3165
3217
|
errors: r
|
|
3166
3218
|
};
|
|
3167
|
-
},
|
|
3219
|
+
}, Ui = (e) => {
|
|
3168
3220
|
let t = new Map(e.map((e) => [e.name, e]));
|
|
3169
3221
|
return {
|
|
3170
3222
|
names: [...t.keys()].sort(),
|
|
3171
3223
|
get: (e) => t.get(e),
|
|
3172
3224
|
events: e
|
|
3173
3225
|
};
|
|
3174
|
-
},
|
|
3175
|
-
let n =
|
|
3226
|
+
}, Wi = (e, t) => {
|
|
3227
|
+
let n = Ui(e);
|
|
3176
3228
|
return {
|
|
3177
3229
|
track: (e, r) => {
|
|
3178
3230
|
let i = n.get(e);
|
|
@@ -3181,7 +3233,7 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
|
|
|
3181
3233
|
return;
|
|
3182
3234
|
}
|
|
3183
3235
|
if (process.env.NODE_ENV !== "production") {
|
|
3184
|
-
let t =
|
|
3236
|
+
let t = Hi(i, r);
|
|
3185
3237
|
t.valid || console.error(`[@voltro/client] analytics.track('${e}'): payload failed its schema`, t.errors);
|
|
3186
3238
|
}
|
|
3187
3239
|
t({
|
|
@@ -3192,49 +3244,49 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
|
|
|
3192
3244
|
names: n.names,
|
|
3193
3245
|
catalog: n
|
|
3194
3246
|
};
|
|
3195
|
-
},
|
|
3196
|
-
let n =
|
|
3247
|
+
}, Gi = (e, t) => {
|
|
3248
|
+
let n = bn(e, t);
|
|
3197
3249
|
return {
|
|
3198
3250
|
preview: T((e) => n.run(e), [n]),
|
|
3199
3251
|
diff: n.lastResult,
|
|
3200
3252
|
pending: n.pending,
|
|
3201
3253
|
error: n.error
|
|
3202
3254
|
};
|
|
3203
|
-
},
|
|
3255
|
+
}, Ki = (e, t, n, r) => [...e, {
|
|
3204
3256
|
id: t,
|
|
3205
3257
|
tag: n,
|
|
3206
3258
|
input: r,
|
|
3207
3259
|
status: "pending",
|
|
3208
3260
|
attempts: 0
|
|
3209
|
-
}],
|
|
3261
|
+
}], qi = (e, t, n) => e.map((e) => e.id === t ? {
|
|
3210
3262
|
...e,
|
|
3211
3263
|
...n
|
|
3212
|
-
} : e),
|
|
3264
|
+
} : e), Ji = (e, t) => qi(e, t, { status: "sent" }), Yi = (e, t, n) => e.map((e) => e.id === t ? {
|
|
3213
3265
|
...e,
|
|
3214
3266
|
status: "failed",
|
|
3215
3267
|
error: n,
|
|
3216
3268
|
attempts: e.attempts + 1
|
|
3217
|
-
} : e),
|
|
3269
|
+
} : e), Xi = (e, t, n) => qi(e, t, {
|
|
3218
3270
|
status: "conflict",
|
|
3219
3271
|
error: n
|
|
3220
|
-
}),
|
|
3272
|
+
}), Zi = (e, t, n) => e.map((e) => e.id === t && e.status === "conflict" ? {
|
|
3221
3273
|
...e,
|
|
3222
3274
|
input: n,
|
|
3223
3275
|
status: "pending",
|
|
3224
3276
|
error: void 0
|
|
3225
|
-
} : e),
|
|
3277
|
+
} : e), Qi = (e) => e.filter((e) => e.status !== "sent"), $i = (e) => {
|
|
3226
3278
|
let t = [];
|
|
3227
3279
|
for (let n of e) {
|
|
3228
3280
|
if (n.status === "conflict") break;
|
|
3229
3281
|
(n.status === "pending" || n.status === "failed") && t.push(n);
|
|
3230
3282
|
}
|
|
3231
3283
|
return t;
|
|
3232
|
-
},
|
|
3284
|
+
}, ea = (e) => {
|
|
3233
3285
|
let t = e;
|
|
3234
3286
|
return t?.conflict === !0 || t?._tag === "UndoBoundaryError" && t?.boundary === "conflict";
|
|
3235
|
-
},
|
|
3236
|
-
let [t, n] =
|
|
3237
|
-
return
|
|
3287
|
+
}, ta = (e) => {
|
|
3288
|
+
let [t, n] = A(e ?? (typeof navigator < "u" ? navigator.onLine : !0));
|
|
3289
|
+
return D(() => {
|
|
3238
3290
|
if (e !== void 0) {
|
|
3239
3291
|
n(e);
|
|
3240
3292
|
return;
|
|
@@ -3245,11 +3297,11 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
|
|
|
3245
3297
|
window.removeEventListener("online", t), window.removeEventListener("offline", r);
|
|
3246
3298
|
};
|
|
3247
3299
|
}, [e]), t;
|
|
3248
|
-
},
|
|
3249
|
-
let { send: t, persistence: n, isConflict: r =
|
|
3300
|
+
}, na = (e) => {
|
|
3301
|
+
let { send: t, persistence: n, isConflict: r = ea, idFor: i } = e, [a, o] = A([]), s = ta(e.online), c = k(a);
|
|
3250
3302
|
c.current = a;
|
|
3251
|
-
let l =
|
|
3252
|
-
|
|
3303
|
+
let l = k(0), u = k(Math.random().toString(36).slice(2, 8)), d = k(n === void 0);
|
|
3304
|
+
D(() => {
|
|
3253
3305
|
if (n === void 0 || d.current) return;
|
|
3254
3306
|
let e = !1;
|
|
3255
3307
|
return n.load().then((t) => {
|
|
@@ -3259,28 +3311,28 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
|
|
|
3259
3311
|
}), () => {
|
|
3260
3312
|
e = !0;
|
|
3261
3313
|
};
|
|
3262
|
-
}, [n]),
|
|
3263
|
-
n === void 0 || !d.current || n.save(
|
|
3314
|
+
}, [n]), D(() => {
|
|
3315
|
+
n === void 0 || !d.current || n.save(Qi(a)).catch(() => {});
|
|
3264
3316
|
}, [n, a]);
|
|
3265
3317
|
let f = T((e, t) => {
|
|
3266
3318
|
let n = i?.() ?? `obx_${u.current}_${l.current++}_${e}`;
|
|
3267
|
-
o((r) =>
|
|
3319
|
+
o((r) => Ki(r, n, e, t));
|
|
3268
3320
|
}, [i]), p = T(async () => {
|
|
3269
|
-
for (let e of
|
|
3270
|
-
await t(e), o((t) =>
|
|
3321
|
+
for (let e of $i(c.current)) try {
|
|
3322
|
+
await t(e), o((t) => Ji(t, e.id));
|
|
3271
3323
|
} catch (t) {
|
|
3272
3324
|
if (r(t)) {
|
|
3273
|
-
o((n) =>
|
|
3325
|
+
o((n) => Xi(n, e.id, t));
|
|
3274
3326
|
break;
|
|
3275
3327
|
}
|
|
3276
|
-
o((n) =>
|
|
3328
|
+
o((n) => Yi(n, e.id, t));
|
|
3277
3329
|
}
|
|
3278
3330
|
}, [t, r]);
|
|
3279
|
-
|
|
3331
|
+
D(() => {
|
|
3280
3332
|
s && p();
|
|
3281
3333
|
}, [s, p]);
|
|
3282
3334
|
let m = T((e, t) => {
|
|
3283
|
-
let n =
|
|
3335
|
+
let n = Zi(c.current, e, t);
|
|
3284
3336
|
c.current = n, o(n), s && p();
|
|
3285
3337
|
}, [s, p]);
|
|
3286
3338
|
return {
|
|
@@ -3292,7 +3344,7 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
|
|
|
3292
3344
|
conflicts: a.filter((e) => e.status === "conflict"),
|
|
3293
3345
|
resolveConflict: m
|
|
3294
3346
|
};
|
|
3295
|
-
},
|
|
3347
|
+
}, ra = (e) => {
|
|
3296
3348
|
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);
|
|
3297
3349
|
return {
|
|
3298
3350
|
startIndex: l,
|
|
@@ -3302,8 +3354,8 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
|
|
|
3302
3354
|
topSpacer: l * r,
|
|
3303
3355
|
bottomSpacer: a === void 0 ? 0 : Math.max(0, (a - d) * r)
|
|
3304
3356
|
};
|
|
3305
|
-
},
|
|
3306
|
-
let { rowHeight: r, viewportHeight: i, overscan: a, total: o, input: s } = n, [c, l] =
|
|
3357
|
+
}, ia = (e, t, n) => {
|
|
3358
|
+
let { rowHeight: r, viewportHeight: i, overscan: a, total: o, input: s } = n, [c, l] = A(0), u = O(() => ra({
|
|
3307
3359
|
scrollTop: c,
|
|
3308
3360
|
viewportHeight: i,
|
|
3309
3361
|
rowHeight: r,
|
|
@@ -3315,7 +3367,7 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
|
|
|
3315
3367
|
r,
|
|
3316
3368
|
a,
|
|
3317
3369
|
o
|
|
3318
|
-
]), d =
|
|
3370
|
+
]), d = J(e, t, O(() => ({
|
|
3319
3371
|
...s,
|
|
3320
3372
|
offset: u.offset,
|
|
3321
3373
|
limit: u.limit
|
|
@@ -3335,11 +3387,11 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
|
|
|
3335
3387
|
loading: d.data === void 0,
|
|
3336
3388
|
error: d.error
|
|
3337
3389
|
};
|
|
3338
|
-
},
|
|
3339
|
-
let { errorBus: t } =
|
|
3340
|
-
|
|
3390
|
+
}, aa = () => typeof navigator > "u" || navigator.onLine, oa = (e) => {
|
|
3391
|
+
let { errorBus: t } = K(e), [n, r] = A(aa), [i, a] = A(0), [o, s] = A(void 0), c = k(!0);
|
|
3392
|
+
D(() => (c.current = !0, () => {
|
|
3341
3393
|
c.current = !1;
|
|
3342
|
-
}), []),
|
|
3394
|
+
}), []), D(() => {
|
|
3343
3395
|
if (typeof window > "u") return;
|
|
3344
3396
|
let e = () => {
|
|
3345
3397
|
r(!0), a(0);
|
|
@@ -3347,7 +3399,7 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
|
|
|
3347
3399
|
return window.addEventListener("online", e), window.addEventListener("offline", t), () => {
|
|
3348
3400
|
window.removeEventListener("online", e), window.removeEventListener("offline", t);
|
|
3349
3401
|
};
|
|
3350
|
-
}, []),
|
|
3402
|
+
}, []), D(() => {
|
|
3351
3403
|
if (t?.on) return t.on(() => {
|
|
3352
3404
|
c.current && (a((e) => e + 1), s(Date.now()));
|
|
3353
3405
|
});
|
|
@@ -3362,7 +3414,7 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
|
|
|
3362
3414
|
lastFailureAt: o,
|
|
3363
3415
|
reportSuccess: l
|
|
3364
3416
|
};
|
|
3365
|
-
},
|
|
3417
|
+
}, sa = "__voltro.connections.list", ca = "__voltro.connections.start", la = "__voltro.connections.submitToken", ua = "__voltro.connections.disconnect", da = {
|
|
3366
3418
|
connectionId: "",
|
|
3367
3419
|
kind: "oauth2",
|
|
3368
3420
|
label: "",
|
|
@@ -3373,14 +3425,14 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
|
|
|
3373
3425
|
expiresAt: null,
|
|
3374
3426
|
lastError: null,
|
|
3375
3427
|
connectedAt: null
|
|
3376
|
-
},
|
|
3428
|
+
}, fa = (e, t) => {
|
|
3377
3429
|
if (t === "redirect") {
|
|
3378
3430
|
globalThis.location.assign(e);
|
|
3379
3431
|
return;
|
|
3380
3432
|
}
|
|
3381
3433
|
globalThis.open(e, "voltro-connect", "width=620,height=760,menubar=no,toolbar=no") === null && globalThis.location.assign(e);
|
|
3382
|
-
},
|
|
3383
|
-
let { data: t } =
|
|
3434
|
+
}, pa = (e) => {
|
|
3435
|
+
let { data: t } = J(e, sa, {}), n = bn(e, ca), r = Q(e, la), i = Q(e, ua), a = t ?? [], o = n.pending || r.pending || i.pending, s = T((e) => ({
|
|
3384
3436
|
...e,
|
|
3385
3437
|
connected: e.status === "connected",
|
|
3386
3438
|
needsAttention: e.status === "expired" || e.status === "revoked" || e.status === "error",
|
|
@@ -3388,7 +3440,7 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
|
|
|
3388
3440
|
connect: async (t) => {
|
|
3389
3441
|
if (e.kind !== "oauth2") throw Error(`connection "${e.connectionId}" is a personal-access-token connection — call submitToken(token), not connect().`);
|
|
3390
3442
|
let r = t?.redirectTo ?? `${globalThis.location.pathname}${globalThis.location.search}`;
|
|
3391
|
-
|
|
3443
|
+
fa((await n.run({
|
|
3392
3444
|
connectionId: e.connectionId,
|
|
3393
3445
|
redirectTo: r
|
|
3394
3446
|
})).authorizeUrl, t?.mode);
|
|
@@ -3418,10 +3470,10 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
|
|
|
3418
3470
|
get: c,
|
|
3419
3471
|
pending: o
|
|
3420
3472
|
};
|
|
3421
|
-
},
|
|
3422
|
-
let n =
|
|
3423
|
-
return
|
|
3424
|
-
...
|
|
3473
|
+
}, ma = (e, t) => {
|
|
3474
|
+
let n = pa(e), r = n.get(t);
|
|
3475
|
+
return O(() => r === void 0 ? {
|
|
3476
|
+
...da,
|
|
3425
3477
|
connectionId: t,
|
|
3426
3478
|
label: t,
|
|
3427
3479
|
connected: !1,
|
|
@@ -3446,6 +3498,6 @@ var ti = () => te($r), ni = (e) => Zr(ti().scopes, e), ri = (e) => Qr(ti().scope
|
|
|
3446
3498
|
n.loading,
|
|
3447
3499
|
n.pending
|
|
3448
3500
|
]);
|
|
3449
|
-
},
|
|
3501
|
+
}, ha = "framework-client";
|
|
3450
3502
|
//#endregion
|
|
3451
|
-
export {
|
|
3503
|
+
export { Zr as ADMIN_SCOPE, ha as CLIENT_NAME, sa as CONNECTIONS_LIST_TAG, ua as CONNECTION_DISCONNECT_TAG, ca as CONNECTION_START_TAG, la as CONNECTION_SUBMIT_TOKEN_TAG, v as FORM_FLASH_SCRIPT_ID, p as FORM_KEY_FIELD, g as FORM_PATH_PREFIX, u as FORM_REDIRECT_FIELD, jn as FormBindingProvider, Fe as FrameworkRuntimesContext, rt as FrameworkRuntimesProvider, ke as LoadingSubscriptionCache, ti as PermissionProvider, _ as RICH_TEXT_MARKS, a as RICH_TEXT_MAX_NODES, d as RichTextDocument, Pe as RpcErrorBus, Br as ServerRequestContext, Hr as ServerRequestProvider, Oe as SubscriptionCache, vi as UNDO_APPLY_TAG, _i as UNDO_LOG_TAG, yi as UNDO_REDO_TAG, Sn as ValidationMessagesProvider, Je as _resetFrameworkRuntimesWarning, Ue as _resetSsrDescriptors, Un as applyPreloadSeeds, Wt as applyStoreSeeds, Ze as buildApiRuntime, Qr as canCall, $r as canCallAny, rn as clearMutations, Qi as clearSent, wt as clearStoreHistory, ra as computeWindow, Wi as createAnalytics, Fn as createHooks, ci as decideAccess, c as decodeFieldIssues, Vi as defineEvent, zt as defineStore, xi as defineTracking, Rt as definedStores, hi as deriveEntityAdmins, n as documentLocale, y as emptyRichTextDocument, Ki as enqueueEntry, Ui as eventCatalog, Pi as filtersFromSchema, r as formActionPath, m as formDataToInput, S as formField, t as formSections, pn as freshIdempotencyKey, cn as getMutationNotifier, tn as getMutations, zr as globalContext, o as isRichTextDocument, s as isSafeHref, Pr as isUnauthenticated, Xe as isUnresolvedApi, In as makePreloadSeedBag, Vt as makeStoreSeedBag, ai as manifestUrl, Xi as markConflict, Yi as markFailed, Ji as markSent, ui as openAccessReason, h as parseRichText, Yr as provenanceUrl, je as publishClientError, me as publishClientTrace, Gn as readPreloadedSeedOutcome, Wn as readPreloadedSnapshot, Ve as registerSsrDescriptors, $i as replayable, Ne as reportClientError, li as requiredScopes, Kn as resetPreloadSeeds, Bt as resetStoreRegistryForTests, lt as resetStoreStorageForTest, q as resolveByTag, Zi as resolveConflictEntry, ct as resolveStoreStorage, Si as resolveTrackingEvent, b as resolveValidationMessage, ee as restrictToSchema, Tr as resumableConsumeProgram, f as richTextToPlainText, Wr as rowsToOptions, Qn as runSequence, e as schemaToColumns, x as schemaToFields, Vn as seedPreloadedSubscription, Hn as seedPreloadedSubscriptionFailure, Ut as seedStore, Zn as sequence, l as serializeRichText, sn as setMutationNotifier, Rn as setPreloadSeedResolver, Ht as setStoreSeedResolver, st as setStoreStorage, en as settleMutation, ut as shallow, Oi as shallowArrayEqual, ki as sourceValues, Le as ssrClientProxy, He as ssrDescriptorsFor, We as ssrStubHandle, U as stableKey, nt as startApiSupervisor, $t as startMutation, St as storeHistory, Me as subscribeClientErrors, he as subscribeClientTraces, nn as subscribeMutations, Ct as subscribeStoreHistory, ve as supersedesConfirmedPatches, Tt as travelToStoreState, di as useAccessDecision, bn as useAction, jr as useAgent, Ar as useAgentChat, wr as useAgentStream, Bi as useAsyncValidation, ri as useCan, ii as useCanAny, oi as useCapabilityManifest, ma as useConnection, oa as useConnectionStatus, pa as useConnections, Mr as useDataCopilot, qr as useDataTable, Ri as useDebounced, Ai as useDerived, Xn as useEvent, An as useFormBinding, Mn as useFormBindingContext, Nn as useFormField, Ur as useFormFlash, Ei as useFormSkeleton, K as useFrameworkApi, Ye as useFrameworkRuntimes, Q as useMutation, Ir as useOnRpcError, na as useOutbox, ni as usePermissions, qn as usePreloadedSubscription, Gi as usePreview, Xr as useProvenance, Gr as useQueryField, Ii as useQueryFilters, Li as useRecord, Nr as useRefreshSubscriptions, ji as useResourceCan, Mi as useResourceCans, Dr as useResumableAgentStream, $n as useSequence, Vr as useServerRequest, J as useSubscription, Rr as useSubscriptionHealth, Di as useTableSkeleton, Ti as useTracking, or as useTranscription, gi as useUndo, bi as useUndoLog, ar as useUpload, Cn as useValidationMessages, ia as useWindowedSubscription, cr as useWorkflow, gr as useWorkflowDomainEvents, _r as useWorkflowEventDeliveries, hr as useWorkflowEvents, dr as useWorkflowRun, mr as useWorkflowRunEvents, Cr as useWorkflowRunState, pr as useWorkflowRunSteps, fr as useWorkflowRuns, lr as useWorkflowSignal, ur as useWorkflowUpdate, Hi as validateEventPayload, i as validateFields, zi as validationStatus, Fr as wireAuthRefresh, mn as withIdempotencyKey, wi as wrapTrackedCallbacks };
|