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