@voltro/client 0.54.0 → 0.56.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 +639 -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 +483 -6
- package/dist/index.js +942 -860
- 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,60 @@ 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) => {
|
|
516
|
+
let t = Ge(), n = t.demand;
|
|
517
|
+
return E(() => {
|
|
518
|
+
n?.(e);
|
|
519
|
+
}, [n, e]), t.get(e);
|
|
520
|
+
}, Ke = (e) => typeof e.runtime?.runFork != "function", qe = async (e) => {
|
|
454
521
|
let { name: t, wsUrl: n, group: r, headers: i, webSocketConstructor: a } = e;
|
|
455
|
-
class o extends
|
|
456
|
-
let s =
|
|
522
|
+
class o extends ie.Tag(`@voltro/client/AppClient/${t}`)() {}
|
|
523
|
+
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
524
|
try {
|
|
458
|
-
let e = await f.runPromise(o), t = new
|
|
525
|
+
let e = await f.runPromise(o), t = new Ae();
|
|
459
526
|
return {
|
|
460
527
|
runtime: f,
|
|
461
528
|
client: e,
|
|
462
|
-
cache: new
|
|
529
|
+
cache: new Oe({ errorBus: t }),
|
|
463
530
|
errorBus: t
|
|
464
531
|
};
|
|
465
532
|
} catch (e) {
|
|
466
533
|
throw f.dispose(), e;
|
|
467
534
|
}
|
|
468
|
-
},
|
|
535
|
+
}, Je = (e) => Math.min(500 * 2 ** Math.min(e - 1, 4), 5e3), Ye = () => ({
|
|
469
536
|
resolved: null,
|
|
470
537
|
retryToken: 0,
|
|
471
538
|
failureCount: 0,
|
|
@@ -474,15 +541,15 @@ var le = /* @__PURE__ */ new Set(), I = (e) => {
|
|
|
474
541
|
everOpened: !1,
|
|
475
542
|
wedgeStop: null,
|
|
476
543
|
subjectMayHaveChanged: !1
|
|
477
|
-
}),
|
|
544
|
+
}), Xe = (e) => {
|
|
478
545
|
e.wedgeStop !== null && (e.wedgeStop(), e.wedgeStop = null);
|
|
479
|
-
},
|
|
546
|
+
}, Ze = (e) => {
|
|
480
547
|
e.cache.destroy(e.runtime), e.runtime.dispose();
|
|
481
|
-
},
|
|
482
|
-
let t = e.apis, n = e.buildClient, r = e.onChange, i = e.retryDelayMs ??
|
|
548
|
+
}, Qe = (e) => {
|
|
549
|
+
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
550
|
clearTimeout(e);
|
|
484
551
|
}), 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,
|
|
552
|
+
for (let e of t) d.set(e.name, Ye());
|
|
486
553
|
let f = !1, p = /* @__PURE__ */ new Set(), m = (e, t) => {
|
|
487
554
|
let n = o(() => {
|
|
488
555
|
p.delete(n), e();
|
|
@@ -508,7 +575,7 @@ var le = /* @__PURE__ */ new Set(), I = (e) => {
|
|
|
508
575
|
if (!t) return;
|
|
509
576
|
let r = t.generation, i = () => {
|
|
510
577
|
if (f || t.generation !== r) return;
|
|
511
|
-
t.everOpened = !0,
|
|
578
|
+
t.everOpened = !0, Xe(t), t.retryToken++;
|
|
512
579
|
let e = t.failureCount;
|
|
513
580
|
m(() => {
|
|
514
581
|
f || t.failureCount === e && (t.failureCount = 0);
|
|
@@ -519,11 +586,11 @@ var le = /* @__PURE__ */ new Set(), I = (e) => {
|
|
|
519
586
|
try {
|
|
520
587
|
let a = await n(e, r, i, o);
|
|
521
588
|
if (f || t.generation !== r) {
|
|
522
|
-
|
|
589
|
+
Ze(a);
|
|
523
590
|
return;
|
|
524
591
|
}
|
|
525
592
|
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 &&
|
|
593
|
+
s && !t.subjectMayHaveChanged && a.cache.seedStaleFrom(s.cache), t.subjectMayHaveChanged = !1, t.resolved = a, t.reconnectStatusDispose &&= (t.reconnectStatusDispose(), null), h(), s && Ze(s);
|
|
527
594
|
} catch {
|
|
528
595
|
if (f || t.generation !== r) return;
|
|
529
596
|
g(e);
|
|
@@ -531,7 +598,7 @@ var le = /* @__PURE__ */ new Set(), I = (e) => {
|
|
|
531
598
|
}, v = (e) => {
|
|
532
599
|
if (!f) for (let n of t) {
|
|
533
600
|
let t = d.get(n.name);
|
|
534
|
-
t && (e && (t.subjectMayHaveChanged = !0), t.retryToken += 1, t.generation += 1, t.failureCount = 0,
|
|
601
|
+
t && (e && (t.subjectMayHaveChanged = !0), t.retryToken += 1, t.generation += 1, t.failureCount = 0, Xe(t), _(n));
|
|
535
602
|
}
|
|
536
603
|
};
|
|
537
604
|
return t.length === 0 ? (r(/* @__PURE__ */ new Map(), !0), {
|
|
@@ -548,7 +615,7 @@ var le = /* @__PURE__ */ new Set(), I = (e) => {
|
|
|
548
615
|
f = !0;
|
|
549
616
|
for (let e of p) s(e);
|
|
550
617
|
p.clear();
|
|
551
|
-
for (let [, e] of d) e.resolved &&
|
|
618
|
+
for (let [, e] of d) e.resolved && Ze(e.resolved), e.reconnectStatusDispose && e.reconnectStatusDispose(), Xe(e);
|
|
552
619
|
d.clear();
|
|
553
620
|
}
|
|
554
621
|
},
|
|
@@ -559,8 +626,8 @@ var le = /* @__PURE__ */ new Set(), I = (e) => {
|
|
|
559
626
|
v(!1);
|
|
560
627
|
}
|
|
561
628
|
});
|
|
562
|
-
},
|
|
563
|
-
let
|
|
629
|
+
}, $e = ({ apis: e, children: t, demand: n }) => {
|
|
630
|
+
let r = D(() => ({
|
|
564
631
|
get: (t) => {
|
|
565
632
|
let n = e.get(t);
|
|
566
633
|
if (!n) {
|
|
@@ -569,47 +636,48 @@ var le = /* @__PURE__ */ new Set(), I = (e) => {
|
|
|
569
636
|
}
|
|
570
637
|
return n;
|
|
571
638
|
},
|
|
572
|
-
names: Array.from(e.keys())
|
|
639
|
+
names: Array.from(e.keys()),
|
|
640
|
+
...n === void 0 ? {} : { demand: n }
|
|
573
641
|
}), [e]);
|
|
574
|
-
return /* @__PURE__ */
|
|
575
|
-
value:
|
|
642
|
+
return /* @__PURE__ */ fe(je.Provider, {
|
|
643
|
+
value: r,
|
|
576
644
|
children: t
|
|
577
645
|
});
|
|
578
|
-
},
|
|
579
|
-
let e = globalThis, t = e[
|
|
646
|
+
}, et = Symbol.for("@voltro/client/storeStorageProvider"), tt = () => {
|
|
647
|
+
let e = globalThis, t = e[et];
|
|
580
648
|
if (t !== void 0) return t;
|
|
581
649
|
let n = {
|
|
582
650
|
provider: void 0,
|
|
583
651
|
used: !1
|
|
584
652
|
};
|
|
585
|
-
return e[
|
|
586
|
-
},
|
|
653
|
+
return e[et] = n, n;
|
|
654
|
+
}, nt = (e) => {
|
|
587
655
|
if (typeof window > "u") return null;
|
|
588
656
|
try {
|
|
589
657
|
return (e === "session" ? window.sessionStorage : window.localStorage) ?? null;
|
|
590
658
|
} catch {
|
|
591
659
|
return null;
|
|
592
660
|
}
|
|
593
|
-
},
|
|
594
|
-
let t =
|
|
661
|
+
}, rt = (e) => {
|
|
662
|
+
let t = tt();
|
|
595
663
|
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 =
|
|
664
|
+
}, it = (e) => {
|
|
665
|
+
let t = tt();
|
|
666
|
+
return t.used = !0, (t.provider ?? nt)(e);
|
|
667
|
+
}, at = () => {
|
|
668
|
+
let e = tt();
|
|
601
669
|
e.provider = void 0, e.used = !1;
|
|
602
|
-
},
|
|
670
|
+
}, ot = (e, t) => {
|
|
603
671
|
if (Object.is(e, t)) return !0;
|
|
604
672
|
if (typeof e != "object" || typeof t != "object" || e === null || t === null || Array.isArray(e) !== Array.isArray(t)) return !1;
|
|
605
673
|
let n = Object.keys(e), r = Object.keys(t);
|
|
606
674
|
if (n.length !== r.length) return !1;
|
|
607
675
|
for (let r of n) if (!Object.prototype.hasOwnProperty.call(t, r) || !Object.is(e[r], t[r])) return !1;
|
|
608
676
|
return !0;
|
|
609
|
-
},
|
|
610
|
-
|
|
611
|
-
},
|
|
612
|
-
let r =
|
|
677
|
+
}, st = 50, ct = /* @__PURE__ */ new Set(), lt = (e, t) => {
|
|
678
|
+
ct.has(e) || (ct.add(e), console.warn(t));
|
|
679
|
+
}, ut = "\0global", dt = null, ft = (e, t, n) => {
|
|
680
|
+
let r = dt?.() ?? null;
|
|
613
681
|
if (r === null) return n;
|
|
614
682
|
let i = n;
|
|
615
683
|
for (let n of r.seeds) n.store === e && n.key === t && (i = {
|
|
@@ -617,9 +685,9 @@ var le = /* @__PURE__ */ new Set(), I = (e) => {
|
|
|
617
685
|
...n.value
|
|
618
686
|
});
|
|
619
687
|
return i;
|
|
620
|
-
},
|
|
688
|
+
}, pt = (e, t) => {
|
|
621
689
|
let n = e(), r = /* @__PURE__ */ new Set(), i = 0, a = 0, o, s, c = () => {
|
|
622
|
-
if (i >=
|
|
690
|
+
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
691
|
i += 1;
|
|
624
692
|
try {
|
|
625
693
|
for (let e of [...r]) e();
|
|
@@ -640,20 +708,20 @@ var le = /* @__PURE__ */ new Set(), I = (e) => {
|
|
|
640
708
|
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
709
|
if (--a, a > 0) return;
|
|
642
710
|
let l = o, u = s;
|
|
643
|
-
o = void 0, s = void 0, !
|
|
711
|
+
o = void 0, s = void 0, !ot(l, n) && (t(l, n, u), c());
|
|
644
712
|
},
|
|
645
713
|
set: (e, r) => {
|
|
646
714
|
let i = typeof e == "function" ? e(n) : {
|
|
647
715
|
...n,
|
|
648
716
|
...e
|
|
649
717
|
};
|
|
650
|
-
if (
|
|
718
|
+
if (ot(i, n)) return;
|
|
651
719
|
let o = n;
|
|
652
720
|
n = i, !(a > 0) && (t(o, i, r), c());
|
|
653
721
|
},
|
|
654
722
|
reset: () => {
|
|
655
723
|
let r = e();
|
|
656
|
-
if (
|
|
724
|
+
if (ot(r, n)) return;
|
|
657
725
|
let i = n;
|
|
658
726
|
n = r, !(a > 0) && (t(i, r, "reset"), c());
|
|
659
727
|
},
|
|
@@ -661,51 +729,51 @@ var le = /* @__PURE__ */ new Set(), I = (e) => {
|
|
|
661
729
|
r.delete(e);
|
|
662
730
|
})
|
|
663
731
|
};
|
|
664
|
-
},
|
|
665
|
-
|
|
666
|
-
}),
|
|
667
|
-
|
|
668
|
-
},
|
|
669
|
-
let n =
|
|
732
|
+
}, mt = 200, ht = [], gt = /* @__PURE__ */ new Set(), _t = [], vt = () => _t, yt = (e) => (gt.add(e), () => {
|
|
733
|
+
gt.delete(e);
|
|
734
|
+
}), bt = () => {
|
|
735
|
+
ht.length = 0, _t = [];
|
|
736
|
+
}, xt = (e, t) => {
|
|
737
|
+
let n = ht[e];
|
|
670
738
|
if (n === void 0) return !1;
|
|
671
|
-
let r =
|
|
739
|
+
let r = Tt.get(n.store);
|
|
672
740
|
if (r === void 0) return !1;
|
|
673
741
|
let i = t === "before" ? n.prev : n.next;
|
|
674
|
-
|
|
742
|
+
Ct = !0;
|
|
675
743
|
try {
|
|
676
744
|
r.set(() => i, n.key, `travel:${t}`);
|
|
677
745
|
} finally {
|
|
678
|
-
|
|
746
|
+
Ct = !1;
|
|
679
747
|
}
|
|
680
748
|
return !0;
|
|
681
|
-
},
|
|
682
|
-
|
|
683
|
-
for (let e of [...
|
|
684
|
-
},
|
|
685
|
-
|
|
686
|
-
})),
|
|
687
|
-
function
|
|
749
|
+
}, St = !1, Ct = !1, wt = (e) => {
|
|
750
|
+
ht.push(e), ht.length > mt && ht.shift(), _t = [...ht];
|
|
751
|
+
for (let e of [...gt]) e();
|
|
752
|
+
}, Tt = /* @__PURE__ */ new Map(), Et = /* @__PURE__ */ new Map(), Dt = 0, Ot = !1, kt = /* @__PURE__ */ new Map(), At = () => (Ot || (Ot = !0, queueMicrotask(() => {
|
|
753
|
+
Dt += 1, Ot = !1;
|
|
754
|
+
})), Dt), jt = Mt(((/* @__PURE__ */ Error()).stack ?? "").split("\n")[1] ?? "") ?? "";
|
|
755
|
+
function Mt(e) {
|
|
688
756
|
let t = e.trim().replace(/^at\s+/, ""), n = /\(([^()]+)\)\s*$/.exec(t)?.[1] ?? t;
|
|
689
757
|
return n.length > 0 ? n : void 0;
|
|
690
758
|
}
|
|
691
|
-
var
|
|
759
|
+
var Nt = () => {
|
|
692
760
|
let e = (/* @__PURE__ */ Error()).stack;
|
|
693
761
|
if (typeof e != "string") return "<unknown>";
|
|
694
762
|
for (let t of e.split("\n").slice(1)) {
|
|
695
|
-
let e =
|
|
763
|
+
let e = Mt(t);
|
|
696
764
|
if (e === void 0) continue;
|
|
697
765
|
let n = e.replace(/:\d+:\d+$/, "");
|
|
698
|
-
if (
|
|
766
|
+
if (jt === "" || n !== jt.replace(/:\d+:\d+$/, "")) return n;
|
|
699
767
|
}
|
|
700
768
|
return "<unknown>";
|
|
701
|
-
},
|
|
702
|
-
let r =
|
|
769
|
+
}, Pt = () => [...Tt.values()], Ft = (e, t, n) => {
|
|
770
|
+
let r = Nt(), i = At(), a = Tt.get(e);
|
|
703
771
|
if (a !== void 0) {
|
|
704
|
-
let t =
|
|
772
|
+
let t = Et.get(e) ?? "<unknown>", n = kt.get(e) === i;
|
|
705
773
|
if (r !== "<unknown>" && r === t && !n) return a;
|
|
706
774
|
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
775
|
}
|
|
708
|
-
let o = n?.persist, s = () =>
|
|
776
|
+
let o = n?.persist, s = () => it(o?.storage === "session" ? "session" : "local"), c = () => {
|
|
709
777
|
let e = s();
|
|
710
778
|
if (e === null || o === void 0) return;
|
|
711
779
|
let t;
|
|
@@ -730,28 +798,28 @@ var pt = () => {
|
|
|
730
798
|
t.setItem(o.key, JSON.stringify(n));
|
|
731
799
|
} catch {}
|
|
732
800
|
}, u = /* @__PURE__ */ new Map(), d = (n) => {
|
|
733
|
-
let r = n ??
|
|
801
|
+
let r = n ?? ut, i = u.get(r);
|
|
734
802
|
if (i === void 0) {
|
|
735
803
|
let a = n;
|
|
736
|
-
i =
|
|
804
|
+
i = pt(o !== void 0 && n === void 0 ? () => {
|
|
737
805
|
let e = t();
|
|
738
806
|
return f = e, {
|
|
739
807
|
...e,
|
|
740
808
|
...c() ?? {}
|
|
741
809
|
};
|
|
742
810
|
} : t, (t, n, r) => {
|
|
743
|
-
if (o !== void 0 && a === void 0 && l(n), !
|
|
811
|
+
if (o !== void 0 && a === void 0 && l(n), !St && !Ct) {
|
|
744
812
|
let e = m(a);
|
|
745
813
|
e.steps.length = e.cursor, e.steps.push({
|
|
746
814
|
prev: t,
|
|
747
815
|
next: n
|
|
748
816
|
}), e.steps.length > h && e.steps.shift(), e.cursor = e.steps.length;
|
|
749
817
|
}
|
|
750
|
-
|
|
818
|
+
wt({
|
|
751
819
|
store: e,
|
|
752
820
|
...a === void 0 ? {} : { key: a },
|
|
753
821
|
...r === void 0 ? {} : { label: r },
|
|
754
|
-
...
|
|
822
|
+
...St || Ct ? { isUndo: !0 } : {},
|
|
755
823
|
prev: t,
|
|
756
824
|
next: n,
|
|
757
825
|
at: Date.now()
|
|
@@ -760,60 +828,60 @@ var pt = () => {
|
|
|
760
828
|
}
|
|
761
829
|
return i;
|
|
762
830
|
}, f, p = /* @__PURE__ */ new Map(), m = (e) => {
|
|
763
|
-
let t = e ??
|
|
831
|
+
let t = e ?? ut, n = p.get(t);
|
|
764
832
|
return n === void 0 && (n = {
|
|
765
833
|
steps: [],
|
|
766
834
|
cursor: 0
|
|
767
835
|
}, p.set(t, n)), n;
|
|
768
|
-
}, h = 100,
|
|
769
|
-
let t =
|
|
770
|
-
t !== void 0 && (clearTimeout(t),
|
|
771
|
-
},
|
|
772
|
-
let t = (
|
|
836
|
+
}, h = 100, g = /* @__PURE__ */ new Map(), _ = /* @__PURE__ */ new Map(), v = (e) => {
|
|
837
|
+
let t = _.get(e);
|
|
838
|
+
t !== void 0 && (clearTimeout(t), _.delete(e)), g.set(e, (g.get(e) ?? 0) + 1);
|
|
839
|
+
}, y = (e) => {
|
|
840
|
+
let t = (g.get(e) ?? 1) - 1;
|
|
773
841
|
if (t > 0) {
|
|
774
|
-
|
|
842
|
+
g.set(e, t);
|
|
775
843
|
return;
|
|
776
844
|
}
|
|
777
|
-
|
|
778
|
-
|
|
845
|
+
g.delete(e), _.set(e, setTimeout(() => {
|
|
846
|
+
_.delete(e), (g.get(e) ?? 0) === 0 && u.delete(e);
|
|
779
847
|
}, 0));
|
|
780
|
-
},
|
|
848
|
+
}, b = {
|
|
781
849
|
name: e,
|
|
782
850
|
use: (t, n) => {
|
|
783
|
-
let r = d(n?.key), i =
|
|
851
|
+
let r = d(n?.key), i = O(t);
|
|
784
852
|
i.current = t;
|
|
785
|
-
let a =
|
|
853
|
+
let a = O(n?.equals);
|
|
786
854
|
a.current = n?.equals;
|
|
787
|
-
let o =
|
|
855
|
+
let o = O({
|
|
788
856
|
state: void 0,
|
|
789
857
|
value: void 0,
|
|
790
858
|
has: !1
|
|
791
|
-
}), s =
|
|
859
|
+
}), s = w((t) => {
|
|
792
860
|
let n = o.current;
|
|
793
861
|
if (n.has && Object.is(n.state, t)) return n.value;
|
|
794
862
|
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 &&
|
|
863
|
+
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
864
|
let l = c ? n.value : r;
|
|
797
865
|
return o.current = {
|
|
798
866
|
state: t,
|
|
799
867
|
value: l,
|
|
800
868
|
has: !0
|
|
801
869
|
}, l;
|
|
802
|
-
}, []), c = n?.key, l = n?.retain === !0, u =
|
|
870
|
+
}, []), c = n?.key, l = n?.retain === !0, u = w((e) => {
|
|
803
871
|
let t = r.subscribe(e);
|
|
804
|
-
return c !== void 0 && !l &&
|
|
805
|
-
t(), c !== void 0 && !l &&
|
|
872
|
+
return c !== void 0 && !l && v(c), () => {
|
|
873
|
+
t(), c !== void 0 && !l && y(c);
|
|
806
874
|
};
|
|
807
875
|
}, [
|
|
808
876
|
r,
|
|
809
877
|
c,
|
|
810
878
|
l
|
|
811
|
-
]), p =
|
|
879
|
+
]), 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
880
|
r,
|
|
813
881
|
n?.key,
|
|
814
882
|
s
|
|
815
|
-
]), h =
|
|
816
|
-
return
|
|
883
|
+
]), h = re(u, p, m);
|
|
884
|
+
return ne(h), h;
|
|
817
885
|
},
|
|
818
886
|
instance: d,
|
|
819
887
|
get: (e) => d(e).get(),
|
|
@@ -826,11 +894,11 @@ var pt = () => {
|
|
|
826
894
|
undo: (e) => {
|
|
827
895
|
let t = m(e);
|
|
828
896
|
if (t.cursor === 0) return !1;
|
|
829
|
-
--t.cursor,
|
|
897
|
+
--t.cursor, St = !0;
|
|
830
898
|
try {
|
|
831
899
|
d(e).set(() => t.steps[t.cursor].prev, "undo");
|
|
832
900
|
} finally {
|
|
833
|
-
|
|
901
|
+
St = !1;
|
|
834
902
|
}
|
|
835
903
|
return !0;
|
|
836
904
|
},
|
|
@@ -838,11 +906,11 @@ var pt = () => {
|
|
|
838
906
|
let t = m(e);
|
|
839
907
|
if (t.cursor >= t.steps.length) return !1;
|
|
840
908
|
let n = t.steps[t.cursor];
|
|
841
|
-
t.cursor += 1,
|
|
909
|
+
t.cursor += 1, St = !0;
|
|
842
910
|
try {
|
|
843
911
|
d(e).set(() => n.next, "redo");
|
|
844
912
|
} finally {
|
|
845
|
-
|
|
913
|
+
St = !1;
|
|
846
914
|
}
|
|
847
915
|
return !0;
|
|
848
916
|
},
|
|
@@ -854,27 +922,27 @@ var pt = () => {
|
|
|
854
922
|
release: (e) => {
|
|
855
923
|
u.delete(e), p.delete(e);
|
|
856
924
|
},
|
|
857
|
-
keys: () => [...u.keys()].filter((e) => e !==
|
|
925
|
+
keys: () => [...u.keys()].filter((e) => e !== ut)
|
|
858
926
|
};
|
|
859
|
-
return
|
|
860
|
-
},
|
|
861
|
-
|
|
862
|
-
},
|
|
863
|
-
|
|
864
|
-
},
|
|
865
|
-
let r =
|
|
927
|
+
return Tt.set(e, b), Et.set(e, r), kt.set(e, i), b;
|
|
928
|
+
}, It = () => {
|
|
929
|
+
Tt.clear(), Et.clear(), kt.clear(), ct.clear();
|
|
930
|
+
}, Lt = () => ({ seeds: [] }), Rt = (e) => {
|
|
931
|
+
dt = e;
|
|
932
|
+
}, zt = (e, t, n) => {
|
|
933
|
+
let r = dt?.() ?? null;
|
|
866
934
|
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
935
|
r.seeds.push({
|
|
868
936
|
store: e.name,
|
|
869
937
|
...n?.key === void 0 ? {} : { key: n.key },
|
|
870
938
|
value: t
|
|
871
939
|
});
|
|
872
|
-
},
|
|
940
|
+
}, Bt = (e) => {
|
|
873
941
|
if (e !== void 0) for (let t of e) {
|
|
874
|
-
let e =
|
|
942
|
+
let e = Tt.get(t.store);
|
|
875
943
|
e !== void 0 && e.set(t.value, t.key);
|
|
876
944
|
}
|
|
877
|
-
},
|
|
945
|
+
}, q = (e, t) => {
|
|
878
946
|
let n = t.split("."), r = e;
|
|
879
947
|
for (let e = 0; e < n.length; e++) {
|
|
880
948
|
let i = n[e];
|
|
@@ -893,114 +961,114 @@ var pt = () => {
|
|
|
893
961
|
}
|
|
894
962
|
if (typeof r != "function") throw Error(`@voltro/client: rpc tag ${JSON.stringify(t)} did not resolve to a callable method.`);
|
|
895
963
|
return r;
|
|
896
|
-
},
|
|
964
|
+
}, Vt = Object.freeze({
|
|
897
965
|
data: void 0,
|
|
898
966
|
revision: -1,
|
|
899
967
|
emittedAt: void 0,
|
|
900
968
|
error: void 0,
|
|
901
969
|
pendingPatches: 0
|
|
902
|
-
}),
|
|
903
|
-
function
|
|
904
|
-
let i = r.skip === !0, { runtime: a, cache: o, client: s, descriptors: c } =
|
|
970
|
+
}), Ht = () => Vt;
|
|
971
|
+
function J(e, t, n = {}, r = {}) {
|
|
972
|
+
let i = r.skip === !0, { runtime: a, cache: o, client: s, descriptors: c } = K(e), l = c[t]?.source, u = O(n);
|
|
905
973
|
u.current = n;
|
|
906
|
-
let d =
|
|
974
|
+
let d = O(s);
|
|
907
975
|
d.current = s;
|
|
908
|
-
let f =
|
|
976
|
+
let f = D(() => JSON.stringify(Object.entries(n).sort(([e], [t]) => e.localeCompare(t))), [n]), p = D(() => {
|
|
909
977
|
let e = u.current;
|
|
910
978
|
return {
|
|
911
979
|
queryKey: [t, e],
|
|
912
|
-
fetch: () =>
|
|
980
|
+
fetch: () => q(d.current, t)(e)
|
|
913
981
|
};
|
|
914
|
-
}, [t, f]), m = p.queryKey, h =
|
|
982
|
+
}, [t, f]), m = p.queryKey, h = w((e) => i ? () => {} : o.subscribe(p.queryKey, p.fetch, a, e, l === void 0 ? {} : { source: l }).unsubscribe, [
|
|
915
983
|
o,
|
|
916
984
|
a,
|
|
917
985
|
l,
|
|
918
986
|
i,
|
|
919
987
|
p
|
|
920
|
-
]),
|
|
988
|
+
]), g = w(() => i ? Vt : o.peek(m), [
|
|
921
989
|
o,
|
|
922
990
|
i,
|
|
923
991
|
m
|
|
924
|
-
]),
|
|
925
|
-
revision:
|
|
926
|
-
emittedAt:
|
|
927
|
-
error:
|
|
928
|
-
pendingPatches:
|
|
992
|
+
]), _ = re(h, g, Ht), v = _.data !== void 0, y = v && (Array.isArray(_.data) ? _.data.length === 0 : _.data === null), b = {
|
|
993
|
+
revision: _.revision,
|
|
994
|
+
emittedAt: _.emittedAt,
|
|
995
|
+
error: _.error,
|
|
996
|
+
pendingPatches: _.pendingPatches
|
|
929
997
|
};
|
|
930
998
|
if (r.initialSnapshot !== void 0) {
|
|
931
999
|
let e = Array.isArray(r.initialSnapshot) ? r.initialSnapshot.length === 0 : r.initialSnapshot === null;
|
|
932
1000
|
return {
|
|
933
|
-
...
|
|
934
|
-
data:
|
|
1001
|
+
...b,
|
|
1002
|
+
data: v ? _.data : r.initialSnapshot,
|
|
935
1003
|
loading: !1,
|
|
936
1004
|
idle: i,
|
|
937
|
-
isEmpty:
|
|
1005
|
+
isEmpty: v ? y : e,
|
|
938
1006
|
failed: !1
|
|
939
1007
|
};
|
|
940
1008
|
}
|
|
941
1009
|
return r.fallback === void 0 ? i ? {
|
|
942
|
-
...
|
|
1010
|
+
...b,
|
|
943
1011
|
data: void 0,
|
|
944
1012
|
loading: !1,
|
|
945
1013
|
isEmpty: !1,
|
|
946
1014
|
idle: !0,
|
|
947
1015
|
failed: !1
|
|
948
|
-
} :
|
|
949
|
-
...
|
|
950
|
-
data:
|
|
1016
|
+
} : v ? {
|
|
1017
|
+
...b,
|
|
1018
|
+
data: _.data,
|
|
951
1019
|
loading: !1,
|
|
952
|
-
isEmpty:
|
|
1020
|
+
isEmpty: y,
|
|
953
1021
|
idle: !1,
|
|
954
1022
|
failed: !1
|
|
955
|
-
} :
|
|
956
|
-
...
|
|
1023
|
+
} : b.error === void 0 ? {
|
|
1024
|
+
...b,
|
|
957
1025
|
data: void 0,
|
|
958
1026
|
loading: !0,
|
|
959
1027
|
isEmpty: !1,
|
|
960
1028
|
idle: !1,
|
|
961
1029
|
failed: !1
|
|
962
1030
|
} : {
|
|
963
|
-
...
|
|
1031
|
+
...b,
|
|
964
1032
|
data: void 0,
|
|
965
1033
|
loading: !1,
|
|
966
1034
|
isEmpty: !1,
|
|
967
1035
|
idle: !1,
|
|
968
1036
|
failed: !0,
|
|
969
|
-
error:
|
|
1037
|
+
error: b.error
|
|
970
1038
|
} : {
|
|
971
|
-
...
|
|
972
|
-
data:
|
|
973
|
-
loading: !
|
|
1039
|
+
...b,
|
|
1040
|
+
data: v ? _.data : r.fallback,
|
|
1041
|
+
loading: !v && !i,
|
|
974
1042
|
idle: i,
|
|
975
|
-
isEmpty:
|
|
976
|
-
failed: !
|
|
1043
|
+
isEmpty: y,
|
|
1044
|
+
failed: !v && b.error !== void 0
|
|
977
1045
|
};
|
|
978
1046
|
}
|
|
979
1047
|
//#endregion
|
|
980
1048
|
//#region src/runRpc.ts
|
|
981
|
-
var
|
|
1049
|
+
var Y = async (e, t) => {
|
|
982
1050
|
let n = await e.runPromiseExit(t);
|
|
983
|
-
if (
|
|
984
|
-
throw
|
|
985
|
-
},
|
|
986
|
-
|
|
987
|
-
},
|
|
988
|
-
|
|
989
|
-
for (let e of
|
|
1051
|
+
if (N.isSuccess(n)) return n.value;
|
|
1052
|
+
throw A.squash(n.cause);
|
|
1053
|
+
}, Ut = 100, X = [], Wt = /* @__PURE__ */ new Set(), Gt = [], Kt = () => {
|
|
1054
|
+
Gt = X.slice();
|
|
1055
|
+
}, qt = () => {
|
|
1056
|
+
Kt();
|
|
1057
|
+
for (let e of Wt) try {
|
|
990
1058
|
e();
|
|
991
1059
|
} catch {}
|
|
992
|
-
},
|
|
1060
|
+
}, Jt = (e) => {
|
|
993
1061
|
let t = {
|
|
994
1062
|
...e,
|
|
995
1063
|
status: "pending",
|
|
996
1064
|
startedAt: Date.now()
|
|
997
1065
|
};
|
|
998
|
-
|
|
999
|
-
},
|
|
1000
|
-
let n =
|
|
1066
|
+
X.unshift(t), X.length > Ut && (X.length = Ut), qt();
|
|
1067
|
+
}, Yt = (e, t) => {
|
|
1068
|
+
let n = X.findIndex((t) => t.id === e);
|
|
1001
1069
|
if (n === -1) return;
|
|
1002
|
-
let r =
|
|
1003
|
-
|
|
1070
|
+
let r = X[n], i = Date.now();
|
|
1071
|
+
X[n] = t.status === "success" ? {
|
|
1004
1072
|
...r,
|
|
1005
1073
|
status: "success",
|
|
1006
1074
|
output: t.output,
|
|
@@ -1012,12 +1080,12 @@ var X = async (e, t) => {
|
|
|
1012
1080
|
error: t.error,
|
|
1013
1081
|
settledAt: i,
|
|
1014
1082
|
durationMs: i - r.startedAt
|
|
1015
|
-
},
|
|
1016
|
-
},
|
|
1017
|
-
|
|
1018
|
-
}),
|
|
1019
|
-
|
|
1020
|
-
},
|
|
1083
|
+
}, qt();
|
|
1084
|
+
}, Xt = () => Gt, Zt = (e) => (Wt.add(e), () => {
|
|
1085
|
+
Wt.delete(e);
|
|
1086
|
+
}), Qt = () => {
|
|
1087
|
+
X.length !== 0 && (X.length = 0, qt());
|
|
1088
|
+
}, $t = (e, t) => {
|
|
1021
1089
|
if (t === void 0 || typeof e != "object" || !e) return e;
|
|
1022
1090
|
try {
|
|
1023
1091
|
Object.defineProperty(e, "__voltroTraceId", {
|
|
@@ -1027,41 +1095,41 @@ var X = async (e, t) => {
|
|
|
1027
1095
|
});
|
|
1028
1096
|
} catch {}
|
|
1029
1097
|
return e;
|
|
1030
|
-
},
|
|
1031
|
-
|
|
1032
|
-
},
|
|
1098
|
+
}, en, tn = (e) => {
|
|
1099
|
+
en = e;
|
|
1100
|
+
}, nn = () => en, rn = (e, t, n) => typeof e == "function" ? e(t, n) : e, an = 0, on = () => `mut_${++an}`, sn = 0, cn = () => {
|
|
1033
1101
|
let e = typeof crypto < "u" ? crypto : void 0;
|
|
1034
|
-
return e && typeof e.randomUUID == "function" ? e.randomUUID() : `idem_${Date.now().toString(36)}_${
|
|
1035
|
-
},
|
|
1102
|
+
return e && typeof e.randomUUID == "function" ? e.randomUUID() : `idem_${Date.now().toString(36)}_${sn += 1}`;
|
|
1103
|
+
}, ln = (e, t) => e.pipe(M.locallyWith(R.currentHeaders, (e) => se.set(e, "idempotency-key", t))), un = (e, t) => ({
|
|
1036
1104
|
update: (n, r) => {
|
|
1037
1105
|
e.update(n, r, t);
|
|
1038
1106
|
},
|
|
1039
1107
|
forTag: (n, r) => e.forTag(n, r, t)
|
|
1040
|
-
}),
|
|
1041
|
-
let { runtime: n, cache: r, client: i, descriptors: a, errorBus: o } =
|
|
1108
|
+
}), Z = (e, t) => {
|
|
1109
|
+
let { runtime: n, cache: r, client: i, descriptors: a, errorBus: o } = K(e), s = a[t], c = s?.targets;
|
|
1042
1110
|
if (process.env.NODE_ENV !== "production") {
|
|
1043
1111
|
let n = s?.kind;
|
|
1044
1112
|
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
1113
|
}
|
|
1046
|
-
let [l, u] =
|
|
1114
|
+
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
1115
|
let l = s?.onError !== void 0 || s?.notify?.error !== void 0, d = (e) => {
|
|
1048
1116
|
s?.onError?.(e, a);
|
|
1049
|
-
let t =
|
|
1050
|
-
t !== void 0 &&
|
|
1117
|
+
let t = rn(s?.notify?.error, e, a);
|
|
1118
|
+
t !== void 0 && en?.error(t);
|
|
1051
1119
|
};
|
|
1052
1120
|
u(!0), f(void 0);
|
|
1053
|
-
let p =
|
|
1054
|
-
|
|
1121
|
+
let p = on(), _ = s?.idempotencyKey ?? cn();
|
|
1122
|
+
Jt({
|
|
1055
1123
|
id: p,
|
|
1056
1124
|
apiName: e,
|
|
1057
1125
|
tag: t,
|
|
1058
1126
|
input: a
|
|
1059
1127
|
});
|
|
1060
|
-
let v = h.current, y =
|
|
1128
|
+
let v = h.current, y = g.current;
|
|
1061
1129
|
if (v) try {
|
|
1062
|
-
v(
|
|
1130
|
+
v(un(r, p), a);
|
|
1063
1131
|
} catch (e) {
|
|
1064
|
-
if (f(e), u(!1), r.revertByMutation(p),
|
|
1132
|
+
if (f(e), u(!1), r.revertByMutation(p), Yt(p, {
|
|
1065
1133
|
status: "error",
|
|
1066
1134
|
error: e
|
|
1067
1135
|
}), l) return d(e);
|
|
@@ -1070,27 +1138,27 @@ var X = async (e, t) => {
|
|
|
1070
1138
|
else !y && c && c.length > 0 && r.autoApply(c, a, p);
|
|
1071
1139
|
let b;
|
|
1072
1140
|
try {
|
|
1073
|
-
let o =
|
|
1074
|
-
b = e.traceId,
|
|
1141
|
+
let o = q(i, t), c = M.currentSpan.pipe(M.tap((e) => M.sync(() => {
|
|
1142
|
+
b = e.traceId, _e({
|
|
1075
1143
|
traceId: e.traceId,
|
|
1076
1144
|
spanId: e.spanId,
|
|
1077
1145
|
source: "mutation",
|
|
1078
1146
|
tag: t
|
|
1079
1147
|
});
|
|
1080
|
-
})),
|
|
1148
|
+
})), M.catchAll(() => M.void), M.zipRight(ln(o(a), _))).pipe(M.withSpan(`client.mutation.${t}`, { attributes: {
|
|
1081
1149
|
"voltro.api": e,
|
|
1082
1150
|
"voltro.mutationId": p,
|
|
1083
1151
|
"rpc.tag": t
|
|
1084
|
-
} })), l = await
|
|
1085
|
-
m(l),
|
|
1152
|
+
} })), l = await Y(n, c);
|
|
1153
|
+
m(l), Yt(p, {
|
|
1086
1154
|
status: "success",
|
|
1087
1155
|
output: l
|
|
1088
1156
|
}), r.confirmByMutation(p), s?.onSuccess?.(l, a);
|
|
1089
|
-
let u =
|
|
1090
|
-
return u !== void 0 &&
|
|
1157
|
+
let u = rn(s?.notify?.success, l, a);
|
|
1158
|
+
return u !== void 0 && en?.success(u), l;
|
|
1091
1159
|
} catch (e) {
|
|
1092
|
-
let n =
|
|
1093
|
-
if (f(n),
|
|
1160
|
+
let n = $t(e, b);
|
|
1161
|
+
if (f(n), Yt(p, {
|
|
1094
1162
|
status: "error",
|
|
1095
1163
|
error: n
|
|
1096
1164
|
}), r.revertByMutation(p), o.emit({
|
|
@@ -1111,23 +1179,23 @@ var X = async (e, t) => {
|
|
|
1111
1179
|
t,
|
|
1112
1180
|
c
|
|
1113
1181
|
]);
|
|
1114
|
-
return
|
|
1182
|
+
return D(() => {
|
|
1115
1183
|
let e = {
|
|
1116
|
-
mutate:
|
|
1184
|
+
mutate: _,
|
|
1117
1185
|
pending: l,
|
|
1118
1186
|
error: d,
|
|
1119
1187
|
data: p,
|
|
1120
1188
|
withOptimistic: (t) => (h.current = t, e),
|
|
1121
|
-
withoutOptimistic: () => (
|
|
1189
|
+
withoutOptimistic: () => (g.current = !0, e)
|
|
1122
1190
|
};
|
|
1123
1191
|
return e;
|
|
1124
1192
|
}, [
|
|
1125
|
-
|
|
1193
|
+
_,
|
|
1126
1194
|
l,
|
|
1127
1195
|
d,
|
|
1128
1196
|
p
|
|
1129
1197
|
]);
|
|
1130
|
-
},
|
|
1198
|
+
}, dn = (e, t) => {
|
|
1131
1199
|
if (t === void 0 || typeof e != "object" || !e) return e;
|
|
1132
1200
|
try {
|
|
1133
1201
|
Object.defineProperty(e, "__voltroTraceId", {
|
|
@@ -1137,22 +1205,22 @@ var X = async (e, t) => {
|
|
|
1137
1205
|
});
|
|
1138
1206
|
} catch {}
|
|
1139
1207
|
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 =
|
|
1208
|
+
}, fn = (e, t, n) => typeof e == "function" ? e(t, n) : e, pn = 0, mn = () => `act_${++pn}`, hn = 15e3, gn = async (e, t, n) => {
|
|
1209
|
+
if (!Ke(e.current)) return e.current;
|
|
1210
|
+
let r = Date.now() + hn;
|
|
1211
|
+
for (; Date.now() < r;) if (await new Promise((e) => setTimeout(e, 16)), !Ke(e.current)) return e.current;
|
|
1212
|
+
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.`);
|
|
1213
|
+
}, _n = (e, t) => {
|
|
1214
|
+
let n = K(e), { descriptors: r, errorBus: i } = n, a = O(n);
|
|
1147
1215
|
if (a.current = n, process.env.NODE_ENV !== "production") {
|
|
1148
1216
|
let n = r[t]?.kind;
|
|
1149
1217
|
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
1218
|
}
|
|
1151
|
-
let [o, s] =
|
|
1219
|
+
let [o, s] = k(!1), [c, l] = k(void 0), [u, d] = k(void 0), f = w(async (n, r) => {
|
|
1152
1220
|
let o = r?.onError !== void 0 || r?.notify?.error !== void 0;
|
|
1153
1221
|
s(!0), l(void 0);
|
|
1154
|
-
let c =
|
|
1155
|
-
|
|
1222
|
+
let c = mn(), u = r?.idempotencyKey ?? cn();
|
|
1223
|
+
Jt({
|
|
1156
1224
|
id: c,
|
|
1157
1225
|
apiName: e,
|
|
1158
1226
|
tag: t,
|
|
@@ -1160,27 +1228,27 @@ var X = async (e, t) => {
|
|
|
1160
1228
|
});
|
|
1161
1229
|
let f;
|
|
1162
1230
|
try {
|
|
1163
|
-
let { runtime: i, client: o } = await
|
|
1164
|
-
f = e.traceId,
|
|
1231
|
+
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(() => {
|
|
1232
|
+
f = e.traceId, _e({
|
|
1165
1233
|
traceId: e.traceId,
|
|
1166
1234
|
spanId: e.spanId,
|
|
1167
1235
|
source: "action",
|
|
1168
1236
|
tag: t
|
|
1169
1237
|
});
|
|
1170
|
-
})),
|
|
1238
|
+
})), M.catchAll(() => M.void), M.zipRight(ln(s(n), u))).pipe(M.withSpan(`client.action.${t}`, { attributes: {
|
|
1171
1239
|
"voltro.api": e,
|
|
1172
1240
|
"voltro.actionId": c,
|
|
1173
1241
|
"rpc.tag": t
|
|
1174
1242
|
} })));
|
|
1175
|
-
d(l),
|
|
1243
|
+
d(l), Yt(c, {
|
|
1176
1244
|
status: "success",
|
|
1177
1245
|
output: l
|
|
1178
1246
|
}), r?.onSuccess?.(l, n);
|
|
1179
|
-
let p =
|
|
1180
|
-
return p !== void 0 &&
|
|
1247
|
+
let p = fn(r?.notify?.success, l, n);
|
|
1248
|
+
return p !== void 0 && nn()?.success(p), l;
|
|
1181
1249
|
} catch (e) {
|
|
1182
|
-
let a =
|
|
1183
|
-
if (l(a),
|
|
1250
|
+
let a = dn(e, f);
|
|
1251
|
+
if (l(a), Yt(c, {
|
|
1184
1252
|
status: "error",
|
|
1185
1253
|
error: a
|
|
1186
1254
|
}), i.emit({
|
|
@@ -1190,8 +1258,8 @@ var X = async (e, t) => {
|
|
|
1190
1258
|
...f === void 0 ? {} : { traceId: f }
|
|
1191
1259
|
}), o) {
|
|
1192
1260
|
r?.onError?.(a, n);
|
|
1193
|
-
let e =
|
|
1194
|
-
e !== void 0 &&
|
|
1261
|
+
let e = fn(r?.notify?.error, a, n);
|
|
1262
|
+
e !== void 0 && nn()?.error(e);
|
|
1195
1263
|
return;
|
|
1196
1264
|
}
|
|
1197
1265
|
throw a;
|
|
@@ -1203,7 +1271,7 @@ var X = async (e, t) => {
|
|
|
1203
1271
|
t,
|
|
1204
1272
|
i
|
|
1205
1273
|
]);
|
|
1206
|
-
return
|
|
1274
|
+
return D(() => ({
|
|
1207
1275
|
run: f,
|
|
1208
1276
|
pending: o,
|
|
1209
1277
|
error: c,
|
|
@@ -1214,14 +1282,14 @@ var X = async (e, t) => {
|
|
|
1214
1282
|
c,
|
|
1215
1283
|
u
|
|
1216
1284
|
]);
|
|
1217
|
-
},
|
|
1285
|
+
}, 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
1286
|
let n = e;
|
|
1219
1287
|
for (let e of t.split(".")) {
|
|
1220
1288
|
if (typeof n != "object" || !n) return;
|
|
1221
1289
|
n = n[e];
|
|
1222
1290
|
}
|
|
1223
1291
|
return n;
|
|
1224
|
-
},
|
|
1292
|
+
}, wn = (e, t, n) => `vf-${e}-${t}-${n}`.replace(/[^a-zA-Z0-9_-]/g, "-"), Tn = {
|
|
1225
1293
|
isTouched: !1,
|
|
1226
1294
|
isBlurred: !1,
|
|
1227
1295
|
isDirty: !1,
|
|
@@ -1230,134 +1298,134 @@ var X = async (e, t) => {
|
|
|
1230
1298
|
isValidating: !1,
|
|
1231
1299
|
errorMap: {},
|
|
1232
1300
|
errorSourceMap: {}
|
|
1233
|
-
},
|
|
1301
|
+
}, En = (e, t) => {
|
|
1234
1302
|
let n = e.find((e) => e.name === t);
|
|
1235
1303
|
if (n !== void 0) return n;
|
|
1236
1304
|
let r = /^(.+?)\.\d+\.(.+)$/.exec(t);
|
|
1237
1305
|
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
|
|
1306
|
+
}, Dn = (e, t, n) => {
|
|
1307
|
+
let r = K(e), a = Z(e, t), o = n.schema ?? r.descriptors[t]?.input;
|
|
1308
|
+
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.`);
|
|
1309
|
+
let s = D(() => o ? x(o) : [], [o]), c = bn(), l = n.messages ?? c, u = D(() => ({
|
|
1242
1310
|
...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 =
|
|
1311
|
+
...l === void 0 ? {} : { messages: l }
|
|
1312
|
+
}), [n.locale, l]), d = O(n.asyncFields);
|
|
1313
|
+
d.current = n.asyncFields;
|
|
1314
|
+
let f = O(n);
|
|
1315
|
+
f.current = n;
|
|
1316
|
+
let p = O(a);
|
|
1317
|
+
p.current = a;
|
|
1318
|
+
let m = O(u);
|
|
1319
|
+
m.current = u;
|
|
1320
|
+
let h = O(o);
|
|
1321
|
+
h.current = o;
|
|
1322
|
+
let [g, _] = k(() => n.flash?.errors ?? {}), [v, y] = k(n.flash?.formError), [ee, S] = k(void 0), C = O(void 0), T = w((e) => {
|
|
1323
|
+
let t = h.current;
|
|
1256
1324
|
if (t === void 0) return [];
|
|
1257
|
-
let n =
|
|
1325
|
+
let n = f.current, r = e;
|
|
1258
1326
|
if (n.toInput !== void 0) try {
|
|
1259
1327
|
r = n.toInput(e);
|
|
1260
1328
|
} catch {
|
|
1261
1329
|
r = e;
|
|
1262
1330
|
}
|
|
1263
|
-
let
|
|
1264
|
-
if (n.toInput === void 0) return
|
|
1265
|
-
let
|
|
1266
|
-
return
|
|
1267
|
-
let n =
|
|
1268
|
-
return n === void 0 ? (
|
|
1331
|
+
let a = i(t, r, m.current).issues;
|
|
1332
|
+
if (n.toInput === void 0) return a;
|
|
1333
|
+
let o = n.errorPath ?? {};
|
|
1334
|
+
return a.map((t) => {
|
|
1335
|
+
let n = o[t.path];
|
|
1336
|
+
return n === void 0 ? (Cn(e, t.path) !== void 0 || t.path.includes("."), t) : {
|
|
1269
1337
|
...t,
|
|
1270
1338
|
path: n
|
|
1271
1339
|
};
|
|
1272
1340
|
});
|
|
1273
|
-
}, []),
|
|
1274
|
-
let t = { ...e ?? {} }, n =
|
|
1275
|
-
if (n !== void 0) for (let e of
|
|
1341
|
+
}, []), ne = w((e) => {
|
|
1342
|
+
let t = { ...e ?? {} }, n = h.current;
|
|
1343
|
+
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
1344
|
return t;
|
|
1277
|
-
}, []),
|
|
1278
|
-
if (
|
|
1279
|
-
let e = n.flash, t = e === void 0 ?
|
|
1280
|
-
...
|
|
1345
|
+
}, []), re = O(() => Promise.resolve()), A = O(void 0);
|
|
1346
|
+
if (A.current === void 0) {
|
|
1347
|
+
let e = n.flash, t = e === void 0 ? ne(n.defaults) : {
|
|
1348
|
+
...ne(n.defaults),
|
|
1281
1349
|
...e.values
|
|
1282
1350
|
};
|
|
1283
|
-
|
|
1284
|
-
onSubmit: ({ value: e }) =>
|
|
1351
|
+
A.current = new pe({
|
|
1352
|
+
onSubmit: ({ value: e }) => re.current(e),
|
|
1285
1353
|
defaultValues: t,
|
|
1286
1354
|
validators: { onChange: ({ value: e }) => {
|
|
1287
|
-
let t =
|
|
1355
|
+
let t = T(e);
|
|
1288
1356
|
if (t.length === 0) return;
|
|
1289
1357
|
let n = {};
|
|
1290
|
-
for (let e of t) e.path !== "" && !(e.path in n) && (n[e.path] =
|
|
1358
|
+
for (let e of t) e.path !== "" && !(e.path in n) && (n[e.path] = b(e, m.current));
|
|
1291
1359
|
return { fields: n };
|
|
1292
1360
|
} }
|
|
1293
1361
|
});
|
|
1294
1362
|
}
|
|
1295
|
-
let
|
|
1296
|
-
|
|
1363
|
+
let ie = A.current, j = ie;
|
|
1364
|
+
E(() => j.mount(), [j]);
|
|
1297
1365
|
let M = n.subscribe ?? "all";
|
|
1298
|
-
|
|
1299
|
-
let
|
|
1300
|
-
if (
|
|
1301
|
-
if (
|
|
1302
|
-
if (
|
|
1303
|
-
let t =
|
|
1304
|
-
return t === void 0 ? !1 :
|
|
1366
|
+
me(ie.store, (e) => M === "all" ? e : `${e.submissionAttempts}|${String(e.isSubmitting)}|${String(e.isDirty)}|${String(e.isTouched)}`);
|
|
1367
|
+
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) => {
|
|
1368
|
+
if (ae) return !1;
|
|
1369
|
+
if (se > 0 || oe === "always") return !0;
|
|
1370
|
+
if (oe === "never") return !1;
|
|
1371
|
+
let t = R[e];
|
|
1372
|
+
return t === void 0 ? !1 : L ? t.isBlurred === !0 : t.isTouched === !0;
|
|
1305
1373
|
}, [
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
F,
|
|
1374
|
+
se,
|
|
1375
|
+
R,
|
|
1309
1376
|
ae,
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1377
|
+
oe,
|
|
1378
|
+
L
|
|
1379
|
+
]), z = w((e) => {
|
|
1380
|
+
let t = g[e];
|
|
1313
1381
|
if (t !== void 0) return t;
|
|
1314
|
-
let n =
|
|
1315
|
-
if (n !== void 0 && n.status === "invalid") return n.message ??
|
|
1382
|
+
let n = d.current?.[e];
|
|
1383
|
+
if (n !== void 0 && n.status === "invalid") return n.message ?? b({
|
|
1316
1384
|
id: "validation.invalid",
|
|
1317
1385
|
fallback: "Invalid value"
|
|
1318
|
-
},
|
|
1319
|
-
if (!
|
|
1320
|
-
let r =
|
|
1321
|
-
return r === void 0 ? void 0 :
|
|
1386
|
+
}, m.current);
|
|
1387
|
+
if (!ce(e)) return;
|
|
1388
|
+
let r = F.find((t) => t.path === e);
|
|
1389
|
+
return r === void 0 ? void 0 : b(r, m.current);
|
|
1322
1390
|
}, [
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
]),
|
|
1327
|
-
let e = {}, t = /* @__PURE__ */ new Set([...
|
|
1328
|
-
for (let [e, n] of Object.entries(
|
|
1391
|
+
g,
|
|
1392
|
+
ce,
|
|
1393
|
+
F
|
|
1394
|
+
]), ue = D(() => {
|
|
1395
|
+
let e = {}, t = /* @__PURE__ */ new Set([...F.map((e) => e.path).filter((e) => e !== ""), ...Object.keys(g)]);
|
|
1396
|
+
for (let [e, n] of Object.entries(d.current ?? {})) n.status === "invalid" && t.add(e);
|
|
1329
1397
|
for (let n of t) {
|
|
1330
|
-
let t =
|
|
1398
|
+
let t = z(n);
|
|
1331
1399
|
t !== void 0 && (e[n] = t);
|
|
1332
1400
|
}
|
|
1333
1401
|
return e;
|
|
1334
1402
|
}, [
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
]),
|
|
1339
|
-
|
|
1403
|
+
F,
|
|
1404
|
+
g,
|
|
1405
|
+
z
|
|
1406
|
+
]), de = w((e) => {
|
|
1407
|
+
_((t) => {
|
|
1340
1408
|
if (!(e in t)) return t;
|
|
1341
1409
|
let n = { ...t };
|
|
1342
1410
|
return delete n[e], n;
|
|
1343
1411
|
});
|
|
1344
|
-
}, []),
|
|
1345
|
-
let r =
|
|
1412
|
+
}, []), fe = w((n) => {
|
|
1413
|
+
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
1414
|
return {
|
|
1347
1415
|
value: j.getFieldValue(n),
|
|
1348
1416
|
setValue: (e) => {
|
|
1349
|
-
|
|
1417
|
+
de(n), !Object.is(j.getFieldValue(n), e) && j.setFieldValue(n, e);
|
|
1350
1418
|
},
|
|
1351
1419
|
onBlur: () => {
|
|
1352
1420
|
j.setFieldMeta(n, (e) => ({
|
|
1353
|
-
...
|
|
1421
|
+
...Tn,
|
|
1354
1422
|
...e ?? {},
|
|
1355
1423
|
isTouched: !0,
|
|
1356
1424
|
isBlurred: !0
|
|
1357
1425
|
}));
|
|
1358
1426
|
},
|
|
1359
1427
|
error: a,
|
|
1360
|
-
serverError:
|
|
1428
|
+
serverError: g[n],
|
|
1361
1429
|
touched: i?.isTouched === !0,
|
|
1362
1430
|
blurred: i?.isBlurred === !0,
|
|
1363
1431
|
dirty: i?.isDirty === !0,
|
|
@@ -1366,7 +1434,7 @@ var X = async (e, t) => {
|
|
|
1366
1434
|
widget: r?.widget ?? "text",
|
|
1367
1435
|
options: r?.options,
|
|
1368
1436
|
description: r?.description,
|
|
1369
|
-
asyncStatus:
|
|
1437
|
+
asyncStatus: c?.status ?? "idle",
|
|
1370
1438
|
a11y: {
|
|
1371
1439
|
id: o,
|
|
1372
1440
|
"aria-invalid": a !== void 0 || void 0,
|
|
@@ -1376,13 +1444,13 @@ var X = async (e, t) => {
|
|
|
1376
1444
|
};
|
|
1377
1445
|
}, [
|
|
1378
1446
|
e,
|
|
1379
|
-
|
|
1447
|
+
de,
|
|
1380
1448
|
j,
|
|
1381
|
-
|
|
1449
|
+
s,
|
|
1382
1450
|
t,
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
]),
|
|
1451
|
+
g,
|
|
1452
|
+
z
|
|
1453
|
+
]), he = w((e) => ({
|
|
1386
1454
|
items: j.getFieldValue(e) ?? [],
|
|
1387
1455
|
push: (t) => {
|
|
1388
1456
|
j.pushFieldValue(e, t);
|
|
@@ -1399,244 +1467,258 @@ var X = async (e, t) => {
|
|
|
1399
1467
|
swap: (t, n) => {
|
|
1400
1468
|
j.swapFieldValues(e, t, n);
|
|
1401
1469
|
},
|
|
1402
|
-
field: (t, n) =>
|
|
1403
|
-
}), [j,
|
|
1404
|
-
|
|
1405
|
-
}, [
|
|
1470
|
+
field: (t, n) => fe(`${e}.${t}.${n}`)
|
|
1471
|
+
}), [j, fe]), ge = w((e) => s.filter((t) => t.section === e), [s]), _e = w((e, t) => {
|
|
1472
|
+
de(e), !Object.is(j.getFieldValue(e), t) && j.setFieldValue(e, t);
|
|
1473
|
+
}, [de, j]), ve = w((e) => {
|
|
1406
1474
|
for (let [t, n] of Object.entries(e)) j.setFieldValue(t, n);
|
|
1407
|
-
}, [j]),
|
|
1408
|
-
|
|
1409
|
-
}, [j,
|
|
1475
|
+
}, [j]), B = w((e) => {
|
|
1476
|
+
_({}), y(void 0), S(void 0), C.current = void 0, e === void 0 ? j.reset() : j.reset(ne(e));
|
|
1477
|
+
}, [j, ne]), ye = n.asyncTimeoutMs ?? 5e3, be = w(async () => {
|
|
1410
1478
|
let e = Date.now();
|
|
1411
1479
|
for (;;) {
|
|
1412
|
-
let t =
|
|
1480
|
+
let t = d.current;
|
|
1413
1481
|
if (t === void 0) return;
|
|
1414
1482
|
let n = Object.entries(t), r = n.filter(([, e]) => e.status === "checking");
|
|
1415
1483
|
if (r.length === 0) {
|
|
1416
1484
|
let e = n.filter(([, e]) => e.status === "invalid");
|
|
1417
|
-
return e.length === 0 ? void 0 : Object.fromEntries(e.map(([e, t]) => [e, t.message ??
|
|
1485
|
+
return e.length === 0 ? void 0 : Object.fromEntries(e.map(([e, t]) => [e, t.message ?? b({
|
|
1418
1486
|
id: "validation.invalid",
|
|
1419
1487
|
fallback: "Invalid value"
|
|
1420
|
-
},
|
|
1488
|
+
}, m.current)]));
|
|
1421
1489
|
}
|
|
1422
|
-
if (Date.now() - e >
|
|
1490
|
+
if (Date.now() - e > ye) return Object.fromEntries(r.map(([e]) => [e, b({
|
|
1423
1491
|
id: "validation.checking",
|
|
1424
1492
|
fallback: "Still checking…"
|
|
1425
|
-
},
|
|
1493
|
+
}, m.current)]));
|
|
1426
1494
|
await new Promise((e) => setTimeout(e, 50));
|
|
1427
1495
|
}
|
|
1428
|
-
}, [
|
|
1496
|
+
}, [ye]), xe = w(() => {
|
|
1429
1497
|
let n = globalThis.document;
|
|
1430
1498
|
if (n?.getElementById === void 0) return;
|
|
1431
|
-
let r = [...
|
|
1432
|
-
for (let i of r) if (
|
|
1433
|
-
n.getElementById(
|
|
1499
|
+
let r = [...s.map((e) => e.name), ...Object.keys(g).filter((e) => !s.some((t) => t.name === e))];
|
|
1500
|
+
for (let i of r) if (z(i) !== void 0) {
|
|
1501
|
+
n.getElementById(wn(e, t, i))?.focus?.();
|
|
1434
1502
|
return;
|
|
1435
1503
|
}
|
|
1436
1504
|
}, [
|
|
1437
1505
|
e,
|
|
1438
|
-
|
|
1506
|
+
s,
|
|
1439
1507
|
t,
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
]),
|
|
1443
|
-
|
|
1444
|
-
let
|
|
1445
|
-
|
|
1508
|
+
g,
|
|
1509
|
+
z
|
|
1510
|
+
]), V = O(xe);
|
|
1511
|
+
V.current = xe;
|
|
1512
|
+
let Se = w(async () => {
|
|
1513
|
+
y(void 0), _({}), S(void 0), C.current = void 0;
|
|
1446
1514
|
let e, t = !1;
|
|
1447
1515
|
if (await j.handleSubmit().catch((n) => {
|
|
1448
1516
|
t = !0, e = n;
|
|
1449
1517
|
}), t) throw e;
|
|
1450
|
-
return
|
|
1451
|
-
|
|
1452
|
-
}),
|
|
1518
|
+
return C.current === void 0 && queueMicrotask(() => {
|
|
1519
|
+
V.current();
|
|
1520
|
+
}), C.current;
|
|
1453
1521
|
}, [j]);
|
|
1454
|
-
|
|
1455
|
-
let t =
|
|
1522
|
+
re.current = (async (e) => {
|
|
1523
|
+
let t = f.current, n = e, r = n;
|
|
1456
1524
|
if (t.toInput !== void 0) try {
|
|
1457
1525
|
r = t.toInput(n);
|
|
1458
1526
|
} catch (e) {
|
|
1459
|
-
|
|
1527
|
+
y(e instanceof Error ? e.message : String(e));
|
|
1460
1528
|
return;
|
|
1461
1529
|
}
|
|
1462
|
-
if (
|
|
1530
|
+
if (T(n).length > 0) {
|
|
1463
1531
|
queueMicrotask(() => {
|
|
1464
|
-
|
|
1532
|
+
V.current();
|
|
1465
1533
|
});
|
|
1466
1534
|
return;
|
|
1467
1535
|
}
|
|
1468
|
-
let i =
|
|
1536
|
+
let i = h.current;
|
|
1469
1537
|
if (i !== void 0) {
|
|
1470
|
-
|
|
1538
|
+
let e = te(i, r);
|
|
1539
|
+
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;
|
|
1540
|
+
}
|
|
1541
|
+
let a = await be();
|
|
1542
|
+
if (a !== void 0) {
|
|
1543
|
+
_((e) => ({
|
|
1471
1544
|
...e,
|
|
1472
|
-
...
|
|
1545
|
+
...a
|
|
1473
1546
|
})), queueMicrotask(() => {
|
|
1474
|
-
|
|
1547
|
+
V.current();
|
|
1475
1548
|
});
|
|
1476
1549
|
return;
|
|
1477
1550
|
}
|
|
1478
|
-
let o = (e) =>
|
|
1551
|
+
let o = (e) => p.current.mutate(e);
|
|
1479
1552
|
try {
|
|
1480
1553
|
let e = t.onSubmit === void 0 ? await o(r) : await t.onSubmit({
|
|
1481
1554
|
input: r,
|
|
1482
1555
|
values: n,
|
|
1483
1556
|
mutate: o
|
|
1484
1557
|
});
|
|
1485
|
-
|
|
1558
|
+
C.current = e, t.onSuccess?.(e);
|
|
1486
1559
|
} catch (e) {
|
|
1487
|
-
let t =
|
|
1488
|
-
if (t.length === 0)
|
|
1560
|
+
let t = le(e);
|
|
1561
|
+
if (t.length === 0) {
|
|
1562
|
+
S(e), f.current.onError?.(e);
|
|
1563
|
+
return;
|
|
1564
|
+
}
|
|
1489
1565
|
let n = {};
|
|
1490
|
-
for (let e of t) e.field in n || (n[e.field] =
|
|
1566
|
+
for (let e of t) e.field in n || (n[e.field] = b({
|
|
1491
1567
|
id: e.message,
|
|
1492
1568
|
...e.params === void 0 ? {} : { params: e.params },
|
|
1493
1569
|
fallback: e.message
|
|
1494
|
-
},
|
|
1495
|
-
|
|
1570
|
+
}, m.current));
|
|
1571
|
+
_((e) => ({
|
|
1496
1572
|
...e,
|
|
1497
1573
|
...n
|
|
1498
1574
|
})), queueMicrotask(() => {
|
|
1499
|
-
|
|
1575
|
+
V.current();
|
|
1500
1576
|
});
|
|
1501
1577
|
}
|
|
1502
1578
|
});
|
|
1503
|
-
let
|
|
1504
|
-
for (let e of
|
|
1505
|
-
let e = Object.keys(
|
|
1579
|
+
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 = (() => {
|
|
1580
|
+
for (let e of s) if (ue[e.name] !== void 0) return e.name;
|
|
1581
|
+
let e = Object.keys(ue);
|
|
1506
1582
|
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:
|
|
1583
|
+
})(), Ee = {
|
|
1584
|
+
isDirty: !ae && P.isDirty,
|
|
1585
|
+
isPristine: P.isPristine,
|
|
1586
|
+
isTouched: P.isTouched,
|
|
1587
|
+
isValid: H,
|
|
1588
|
+
isValidating: U,
|
|
1589
|
+
canSubmit: H && !U && !P.isSubmitting && !ae,
|
|
1590
|
+
isSubmitting: P.isSubmitting,
|
|
1591
|
+
isSubmitted: P.isSubmitted,
|
|
1592
|
+
isSubmitSuccessful: P.isSubmitSuccessful && C.current !== void 0,
|
|
1593
|
+
submissionAttempts: P.submissionAttempts,
|
|
1594
|
+
errorCount: we,
|
|
1595
|
+
firstInvalidPath: Te,
|
|
1596
|
+
pending: a.pending,
|
|
1597
|
+
isLoading: ae,
|
|
1598
|
+
submitError: Ce,
|
|
1599
|
+
data: a.data
|
|
1600
|
+
}, De = {
|
|
1601
|
+
fields: s,
|
|
1602
|
+
values: N,
|
|
1603
|
+
errors: ue,
|
|
1604
|
+
issues: F,
|
|
1605
|
+
isValid: H,
|
|
1606
|
+
pending: a.pending,
|
|
1607
|
+
submitError: Ce,
|
|
1608
|
+
formError: v,
|
|
1609
|
+
data: a.data,
|
|
1610
|
+
setValue: _e,
|
|
1611
|
+
setValues: ve,
|
|
1612
|
+
reset: B,
|
|
1613
|
+
submit: Se,
|
|
1614
|
+
field: fe,
|
|
1615
|
+
array: he,
|
|
1616
|
+
section: ge,
|
|
1617
|
+
state: Ee,
|
|
1618
|
+
focusFirstInvalid: xe
|
|
1543
1619
|
};
|
|
1544
|
-
return Object.defineProperty(
|
|
1620
|
+
return Object.defineProperty(De, xn, {
|
|
1545
1621
|
value: {
|
|
1546
|
-
store:
|
|
1547
|
-
field:
|
|
1622
|
+
store: ie.store,
|
|
1623
|
+
field: fe
|
|
1548
1624
|
},
|
|
1549
1625
|
enumerable: !1
|
|
1550
|
-
}),
|
|
1551
|
-
},
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1626
|
+
}), De;
|
|
1627
|
+
}, On = (e) => C(Sn.Provider, { value: e.binding }, e.children), kn = () => T(Sn);
|
|
1628
|
+
function An(e, t) {
|
|
1629
|
+
let n = T(Sn), r = typeof e == "string" ? void 0 : e, i = typeof e == "string" ? e : t, a = r ?? n;
|
|
1630
|
+
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.");
|
|
1631
|
+
let o = a[xn];
|
|
1632
|
+
if (o === void 0) throw Error("useFormField: not a useFormBinding result");
|
|
1633
|
+
return me(o.store, (e) => {
|
|
1634
|
+
let t = e.fieldMetaBase[i];
|
|
1635
|
+
return `${JSON.stringify(Cn(e.values, i))}|${t === void 0 ? "" : `${String(t.isTouched)}${String(t.isBlurred)}${JSON.stringify(t.errorMap)}`}|${e.submissionAttempts}`;
|
|
1636
|
+
}), o.field(i);
|
|
1637
|
+
}
|
|
1638
|
+
//#endregion
|
|
1639
|
+
//#region src/createHooks.ts
|
|
1640
|
+
var jn = J, Mn = (e) => ({
|
|
1641
|
+
useSubscription: (t, n, r) => jn(e, t, n, r),
|
|
1642
|
+
useMutation: (t) => Z(e, t),
|
|
1643
|
+
useAction: (t) => _n(e, t),
|
|
1644
|
+
useFormBinding: (t, n) => Dn(e, t, n ?? {})
|
|
1645
|
+
}), Nn = () => ({ seeds: [] }), Pn = null, Fn = (e) => {
|
|
1646
|
+
Pn = e;
|
|
1647
|
+
}, In = /* @__PURE__ */ new Map(), Ln = (e, t) => `${e}\u0000${t}`, Rn = (e, t, n, r) => {
|
|
1648
|
+
let i = Pn?.() ?? null;
|
|
1567
1649
|
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
1650
|
i.seeds.push({
|
|
1569
1651
|
api: e,
|
|
1570
|
-
key:
|
|
1652
|
+
key: B([t, n]),
|
|
1571
1653
|
value: r
|
|
1572
1654
|
});
|
|
1573
|
-
},
|
|
1574
|
-
let r =
|
|
1655
|
+
}, zn = (e, t, n) => {
|
|
1656
|
+
let r = Pn?.() ?? null;
|
|
1575
1657
|
r !== null && r.seeds.push({
|
|
1576
1658
|
api: e,
|
|
1577
|
-
key:
|
|
1659
|
+
key: B([t, n]),
|
|
1578
1660
|
value: void 0,
|
|
1579
1661
|
failed: !0
|
|
1580
1662
|
});
|
|
1581
|
-
},
|
|
1582
|
-
if (e !== void 0) for (let t of e)
|
|
1663
|
+
}, Bn = (e) => {
|
|
1664
|
+
if (e !== void 0) for (let t of e) In.set(Ln(t.api, t.key), {
|
|
1583
1665
|
value: t.value,
|
|
1584
1666
|
failed: t.failed === !0
|
|
1585
1667
|
});
|
|
1586
|
-
},
|
|
1587
|
-
let r =
|
|
1668
|
+
}, Vn = (e, t, n) => {
|
|
1669
|
+
let r = B([t, n]), i = Pn?.() ?? null;
|
|
1588
1670
|
if (i !== null) {
|
|
1589
1671
|
for (let t of i.seeds) if (t.api === e && t.key === r) return t.failed === !0 ? void 0 : t.value;
|
|
1590
1672
|
return;
|
|
1591
1673
|
}
|
|
1592
|
-
let a =
|
|
1674
|
+
let a = In.get(Ln(e, r));
|
|
1593
1675
|
return a === void 0 || a.failed ? void 0 : a.value;
|
|
1594
|
-
},
|
|
1595
|
-
let r =
|
|
1676
|
+
}, Hn = (e, t, n) => {
|
|
1677
|
+
let r = B([t, n]), i = Pn?.() ?? null;
|
|
1596
1678
|
if (i !== null) {
|
|
1597
1679
|
for (let t of i.seeds) if (t.api === e && t.key === r) return t.failed === !0 ? "failed" : "seeded";
|
|
1598
1680
|
return "absent";
|
|
1599
1681
|
}
|
|
1600
|
-
let a =
|
|
1682
|
+
let a = In.get(Ln(e, r));
|
|
1601
1683
|
return a === void 0 ? "absent" : a.failed ? "failed" : "seeded";
|
|
1602
|
-
},
|
|
1603
|
-
|
|
1684
|
+
}, Un = () => {
|
|
1685
|
+
In.clear();
|
|
1604
1686
|
};
|
|
1605
1687
|
//#endregion
|
|
1606
1688
|
//#region src/usePreloadedSubscription.ts
|
|
1607
|
-
function
|
|
1608
|
-
let i =
|
|
1689
|
+
function Wn(e, t, n = {}, r = {}) {
|
|
1690
|
+
let i = Vn(e, t, n), a = J(e, t, n, i === void 0 ? r : {
|
|
1609
1691
|
...r,
|
|
1610
1692
|
initialSnapshot: i
|
|
1611
1693
|
});
|
|
1612
|
-
return
|
|
1694
|
+
return Hn(e, t, n) === "failed" ? {
|
|
1613
1695
|
...a,
|
|
1614
1696
|
preloadFailed: !0
|
|
1615
1697
|
} : a;
|
|
1616
1698
|
}
|
|
1617
1699
|
//#endregion
|
|
1618
1700
|
//#region src/useEvent.ts
|
|
1619
|
-
var
|
|
1701
|
+
var Gn = {
|
|
1620
1702
|
status: "idle",
|
|
1621
1703
|
missed: 0,
|
|
1622
1704
|
lastMiss: void 0
|
|
1623
|
-
},
|
|
1705
|
+
}, Kn = class {
|
|
1624
1706
|
_tag = "EventStreamClosed";
|
|
1625
1707
|
};
|
|
1626
|
-
function
|
|
1627
|
-
let { skip: i = !1, apiName: a = "app", onMissed: o } = r, s =
|
|
1708
|
+
function qn(e, t, n, r = {}) {
|
|
1709
|
+
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
1710
|
f.current = n;
|
|
1629
|
-
let p =
|
|
1711
|
+
let p = O(o);
|
|
1630
1712
|
p.current = o;
|
|
1631
|
-
let m =
|
|
1713
|
+
let m = O(l);
|
|
1632
1714
|
m.current = l;
|
|
1633
|
-
let h =
|
|
1715
|
+
let h = O(c);
|
|
1634
1716
|
h.current = c;
|
|
1635
|
-
let
|
|
1636
|
-
|
|
1637
|
-
let
|
|
1638
|
-
|
|
1639
|
-
let
|
|
1717
|
+
let g = O(/* @__PURE__ */ new Map()), _ = t === null ? null : JSON.stringify(Object.entries(t).sort(([e], [t]) => e < t ? -1 : 1)), v = O(t);
|
|
1718
|
+
v.current = t;
|
|
1719
|
+
let y = O(null);
|
|
1720
|
+
y.current !== _ && (y.current = _, g.current = /* @__PURE__ */ new Map());
|
|
1721
|
+
let b = w((e, t) => {
|
|
1640
1722
|
e <= 0 || (d((n) => ({
|
|
1641
1723
|
...n,
|
|
1642
1724
|
missed: n.missed + e,
|
|
@@ -1648,33 +1730,33 @@ function wn(e, t, n, r = {}) {
|
|
|
1648
1730
|
count: e,
|
|
1649
1731
|
reason: t
|
|
1650
1732
|
}));
|
|
1651
|
-
}, []),
|
|
1652
|
-
return
|
|
1653
|
-
if (!
|
|
1654
|
-
d(
|
|
1733
|
+
}, []), x = !i && _ !== null && !Ke(s);
|
|
1734
|
+
return E(() => {
|
|
1735
|
+
if (!x) {
|
|
1736
|
+
d(Gn);
|
|
1655
1737
|
return;
|
|
1656
1738
|
}
|
|
1657
1739
|
d((e) => ({
|
|
1658
1740
|
...e,
|
|
1659
1741
|
status: "connecting"
|
|
1660
1742
|
}));
|
|
1661
|
-
let t = 0, n =
|
|
1662
|
-
let t = [...
|
|
1743
|
+
let t = 0, n = M.sync(() => {
|
|
1744
|
+
let t = [...g.current].map(([e, t]) => ({
|
|
1663
1745
|
origin: e,
|
|
1664
1746
|
n: t
|
|
1665
1747
|
}));
|
|
1666
|
-
return
|
|
1667
|
-
key:
|
|
1748
|
+
return q(m.current, e.name)({
|
|
1749
|
+
key: v.current,
|
|
1668
1750
|
...t.length > 0 ? { resume: t } : {}
|
|
1669
1751
|
});
|
|
1670
|
-
}), r =
|
|
1752
|
+
}), r = L.unwrap(n).pipe(L.tap(() => M.sync(() => {
|
|
1671
1753
|
t = 0;
|
|
1672
|
-
})),
|
|
1754
|
+
})), 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
1755
|
t += 1, d((e) => ({
|
|
1674
1756
|
...e,
|
|
1675
1757
|
status: "connecting"
|
|
1676
1758
|
}));
|
|
1677
|
-
}))))), i = h.current.runFork(
|
|
1759
|
+
}))))), i = h.current.runFork(L.runForEach(r, (e) => M.sync(() => {
|
|
1678
1760
|
if (e._tag === "attached") {
|
|
1679
1761
|
d((e) => ({
|
|
1680
1762
|
...e,
|
|
@@ -1683,24 +1765,24 @@ function wn(e, t, n, r = {}) {
|
|
|
1683
1765
|
return;
|
|
1684
1766
|
}
|
|
1685
1767
|
if (e._tag === "gap") {
|
|
1686
|
-
|
|
1768
|
+
b(e.missed, e.reason);
|
|
1687
1769
|
return;
|
|
1688
1770
|
}
|
|
1689
|
-
|
|
1771
|
+
g.current.set(e.origin, Math.max(g.current.get(e.origin) ?? 0, e.n)), f.current(e.payload);
|
|
1690
1772
|
})));
|
|
1691
1773
|
return () => {
|
|
1692
1774
|
h.current.runFork(i.interruptAsFork(i.id()));
|
|
1693
1775
|
};
|
|
1694
1776
|
}, [
|
|
1695
|
-
|
|
1696
|
-
|
|
1777
|
+
x,
|
|
1778
|
+
_,
|
|
1697
1779
|
e.name,
|
|
1698
|
-
|
|
1699
|
-
]),
|
|
1780
|
+
b
|
|
1781
|
+
]), x ? u : Gn;
|
|
1700
1782
|
}
|
|
1701
1783
|
//#endregion
|
|
1702
1784
|
//#region src/sequence.ts
|
|
1703
|
-
var
|
|
1785
|
+
var Jn = () => {
|
|
1704
1786
|
let e = (t) => ({
|
|
1705
1787
|
steps: t,
|
|
1706
1788
|
step: ((n, r, i) => e([...t, {
|
|
@@ -1712,7 +1794,7 @@ var Tn = () => {
|
|
|
1712
1794
|
}]))
|
|
1713
1795
|
});
|
|
1714
1796
|
return e([]);
|
|
1715
|
-
},
|
|
1797
|
+
}, Yn = async (e, t = {}) => {
|
|
1716
1798
|
let n = {}, r = [];
|
|
1717
1799
|
for (let i of e.steps) {
|
|
1718
1800
|
if (i.when !== void 0 && !i.when(n)) {
|
|
@@ -1772,13 +1854,13 @@ var Tn = () => {
|
|
|
1772
1854
|
ok: !0,
|
|
1773
1855
|
data: n
|
|
1774
1856
|
};
|
|
1775
|
-
},
|
|
1776
|
-
let [t, n] =
|
|
1857
|
+
}, Xn = (e = {}) => {
|
|
1858
|
+
let [t, n] = k(!1), [r, i] = k(void 0), [a, o] = k(void 0), s = O(e);
|
|
1777
1859
|
return s.current = e, {
|
|
1778
|
-
run:
|
|
1860
|
+
run: w(async (e, t = {}) => {
|
|
1779
1861
|
n(!0), i(void 0), o(void 0);
|
|
1780
1862
|
try {
|
|
1781
|
-
let n = await
|
|
1863
|
+
let n = await Yn(e, {
|
|
1782
1864
|
...s.current,
|
|
1783
1865
|
...t
|
|
1784
1866
|
});
|
|
@@ -1791,7 +1873,7 @@ var Tn = () => {
|
|
|
1791
1873
|
error: r,
|
|
1792
1874
|
failedStep: a
|
|
1793
1875
|
};
|
|
1794
|
-
},
|
|
1876
|
+
}, Zn = "@voltro/plugin-storage", Q = (e) => ue(Zn, e), Qn = (e, t, n, r) => new Promise((i, a) => {
|
|
1795
1877
|
let o = new XMLHttpRequest();
|
|
1796
1878
|
if (o.open("PUT", e), o.upload.onprogress = (e) => {
|
|
1797
1879
|
e.lengthComputable && n(e.loaded / e.total);
|
|
@@ -1805,7 +1887,7 @@ var Tn = () => {
|
|
|
1805
1887
|
return;
|
|
1806
1888
|
}
|
|
1807
1889
|
r.addEventListener("abort", () => o.abort(), { once: !0 }), o.send(t);
|
|
1808
|
-
}),
|
|
1890
|
+
}), $n = (e, t, n, r, i, a) => new Promise((o, s) => {
|
|
1809
1891
|
let c = new XMLHttpRequest();
|
|
1810
1892
|
if (c.open("POST", e), c.setRequestHeader("content-type", t), c.upload.onprogress = (e) => {
|
|
1811
1893
|
e.lengthComputable && r(e.loaded / e.total);
|
|
@@ -1823,7 +1905,7 @@ var Tn = () => {
|
|
|
1823
1905
|
return;
|
|
1824
1906
|
}
|
|
1825
1907
|
i.addEventListener("abort", () => c.abort(), { once: !0 }), c.send(n);
|
|
1826
|
-
}),
|
|
1908
|
+
}), er = (e, t, n, r, i) => new Promise((a, o) => {
|
|
1827
1909
|
let s = new XMLHttpRequest();
|
|
1828
1910
|
if (s.open("PUT", e), s.setRequestHeader("content-type", t), s.upload.onprogress = (e) => {
|
|
1829
1911
|
e.lengthComputable && r(e.loaded / e.total);
|
|
@@ -1834,7 +1916,7 @@ var Tn = () => {
|
|
|
1834
1916
|
return;
|
|
1835
1917
|
}
|
|
1836
1918
|
i.addEventListener("abort", () => s.abort(), { once: !0 }), s.send(n);
|
|
1837
|
-
}),
|
|
1919
|
+
}), tr = (e, t, n, r, i) => new Promise((a, o) => {
|
|
1838
1920
|
let s = new XMLHttpRequest();
|
|
1839
1921
|
if (s.open("POST", e), s.setRequestHeader("content-type", t), s.upload.onprogress = (e) => {
|
|
1840
1922
|
e.lengthComputable && r(e.loaded / e.total);
|
|
@@ -1850,12 +1932,12 @@ var Tn = () => {
|
|
|
1850
1932
|
return;
|
|
1851
1933
|
}
|
|
1852
1934
|
i.addEventListener("abort", () => s.abort(), { once: !0 }), s.send(n);
|
|
1853
|
-
}),
|
|
1854
|
-
let { runtime: n, client: r, inspectBaseUrl: i, errorBus: a } =
|
|
1935
|
+
}), nr = (e, t = {}) => {
|
|
1936
|
+
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
1937
|
s(0), l("idle"), d(void 0);
|
|
1856
|
-
}, []), m =
|
|
1938
|
+
}, []), m = w(() => {
|
|
1857
1939
|
f.current?.abort();
|
|
1858
|
-
}, []), h =
|
|
1940
|
+
}, []), h = w((e) => /^https?:\/\//.test(e) ? e : `${i}${e}`, [i]), g = w(async (e, i, a, o) => {
|
|
1859
1941
|
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
1942
|
...u ? { visibility: u } : {},
|
|
1861
1943
|
...f ? { folder: f } : {},
|
|
@@ -1871,28 +1953,28 @@ var Tn = () => {
|
|
|
1871
1953
|
...e.width === void 0 ? {} : { width: e.width },
|
|
1872
1954
|
...e.height === void 0 ? {} : { height: e.height }
|
|
1873
1955
|
}), _ = async () => {
|
|
1874
|
-
let s = i.mintTag ?? t.mintTag ??
|
|
1956
|
+
let s = i.mintTag ?? t.mintTag ?? Q("mintUploadTicket"), l = q(r, s), u = await Y(n, l({
|
|
1875
1957
|
contentType: c,
|
|
1876
1958
|
...m,
|
|
1877
1959
|
...d ? { key: d } : {}
|
|
1878
|
-
})), f = await
|
|
1960
|
+
})), f = await tr(h(u.uploadUrl), c, e, o, a);
|
|
1879
1961
|
return g(f);
|
|
1880
1962
|
}, v = async () => {
|
|
1881
|
-
let s = i.presignMintTag ?? t.presignMintTag ??
|
|
1963
|
+
let s = i.presignMintTag ?? t.presignMintTag ?? Q("mintPresignedUpload"), l = i.finalizeTag ?? t.finalizeTag ?? Q("finalizeUpload"), u;
|
|
1882
1964
|
try {
|
|
1883
|
-
let e =
|
|
1884
|
-
u = await
|
|
1965
|
+
let e = q(r, s);
|
|
1966
|
+
u = await Y(n, e({
|
|
1885
1967
|
contentType: c,
|
|
1886
1968
|
...m
|
|
1887
1969
|
}));
|
|
1888
1970
|
} catch {
|
|
1889
1971
|
return null;
|
|
1890
1972
|
}
|
|
1891
|
-
await
|
|
1892
|
-
let d =
|
|
1973
|
+
await er(u.uploadUrl, c, e, o, a);
|
|
1974
|
+
let d = q(r, l), f = await Y(n, d({ finalizeToken: u.finalizeToken }));
|
|
1893
1975
|
return g(f);
|
|
1894
1976
|
}, y = async () => {
|
|
1895
|
-
let s = i.beginResumableTag ?? t.beginResumableTag ??
|
|
1977
|
+
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
1978
|
contentType: c,
|
|
1897
1979
|
size: u,
|
|
1898
1980
|
...m,
|
|
@@ -1903,7 +1985,7 @@ var Tn = () => {
|
|
|
1903
1985
|
for (;;) {
|
|
1904
1986
|
if (a.aborted) throw new DOMException("upload aborted", "AbortError");
|
|
1905
1987
|
try {
|
|
1906
|
-
let e = await
|
|
1988
|
+
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
1989
|
s && (x = e);
|
|
1908
1990
|
break;
|
|
1909
1991
|
} catch (e) {
|
|
@@ -1915,10 +1997,10 @@ var Tn = () => {
|
|
|
1915
1997
|
if (!x) throw Error("resumable upload produced no final reply");
|
|
1916
1998
|
return g(x);
|
|
1917
1999
|
}, b = async () => {
|
|
1918
|
-
let s = i.multipartBeginTag ?? t.multipartBeginTag ??
|
|
2000
|
+
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
2001
|
try {
|
|
1920
|
-
let e =
|
|
1921
|
-
_ = await
|
|
2002
|
+
let e = q(r, s);
|
|
2003
|
+
_ = await Y(n, e({
|
|
1922
2004
|
contentType: c,
|
|
1923
2005
|
size: p,
|
|
1924
2006
|
...m,
|
|
@@ -1927,31 +2009,31 @@ var Tn = () => {
|
|
|
1927
2009
|
} catch {
|
|
1928
2010
|
return null;
|
|
1929
2011
|
}
|
|
1930
|
-
let v =
|
|
2012
|
+
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
2013
|
try {
|
|
1932
|
-
for (let t = 0; t <
|
|
2014
|
+
for (let t = 0; t < ee; t++) {
|
|
1933
2015
|
let r = t * x, i = Math.min(p, r + x), s = e.slice(r, i), c = t + 1, l = i - r, u = 0;
|
|
1934
2016
|
for (;;) {
|
|
1935
2017
|
if (a.aborted) throw new DOMException("upload aborted", "AbortError");
|
|
1936
2018
|
try {
|
|
1937
|
-
let { url: e } = await
|
|
2019
|
+
let { url: e } = await Y(n, v({
|
|
1938
2020
|
multipartToken: _.multipartToken,
|
|
1939
2021
|
partNumber: c
|
|
1940
|
-
})), t = await
|
|
1941
|
-
|
|
2022
|
+
})), t = await Qn(e, s, (e) => o((C + e * l) / p), a);
|
|
2023
|
+
S.push({
|
|
1942
2024
|
partNumber: c,
|
|
1943
2025
|
etag: t
|
|
1944
2026
|
});
|
|
1945
2027
|
break;
|
|
1946
2028
|
} catch (e) {
|
|
1947
|
-
if (e instanceof DOMException && e.name === "AbortError" || u++ >=
|
|
2029
|
+
if (e instanceof DOMException && e.name === "AbortError" || u++ >= te) throw e;
|
|
1948
2030
|
}
|
|
1949
2031
|
}
|
|
1950
|
-
|
|
2032
|
+
C += l, o(C / p);
|
|
1951
2033
|
}
|
|
1952
|
-
let t = await
|
|
2034
|
+
let t = await Y(n, y({
|
|
1953
2035
|
multipartToken: _.multipartToken,
|
|
1954
|
-
parts:
|
|
2036
|
+
parts: S
|
|
1955
2037
|
}));
|
|
1956
2038
|
return {
|
|
1957
2039
|
id: t.id,
|
|
@@ -1962,14 +2044,14 @@ var Tn = () => {
|
|
|
1962
2044
|
};
|
|
1963
2045
|
} catch (e) {
|
|
1964
2046
|
try {
|
|
1965
|
-
await
|
|
2047
|
+
await Y(n, b({ multipartToken: _.multipartToken }));
|
|
1966
2048
|
} catch {}
|
|
1967
2049
|
throw e;
|
|
1968
2050
|
}
|
|
1969
2051
|
};
|
|
1970
2052
|
if ((i.prefer ?? t.prefer) === "multipart") return await b() || await y();
|
|
1971
2053
|
if ((i.prefer ?? t.prefer) === "resumable") return await y();
|
|
1972
|
-
let x = (i.prefer ?? t.prefer) === "presign",
|
|
2054
|
+
let x = (i.prefer ?? t.prefer) === "presign", ee;
|
|
1973
2055
|
for (let e = 0; e <= s; e++) {
|
|
1974
2056
|
if (a.aborted) throw new DOMException("upload aborted", "AbortError");
|
|
1975
2057
|
try {
|
|
@@ -1979,10 +2061,10 @@ var Tn = () => {
|
|
|
1979
2061
|
}
|
|
1980
2062
|
return await _();
|
|
1981
2063
|
} catch (t) {
|
|
1982
|
-
if (t instanceof DOMException && t.name === "AbortError" || (
|
|
2064
|
+
if (t instanceof DOMException && t.name === "AbortError" || (ee = t, e === s)) throw t;
|
|
1983
2065
|
}
|
|
1984
2066
|
}
|
|
1985
|
-
throw
|
|
2067
|
+
throw ee;
|
|
1986
2068
|
}, [
|
|
1987
2069
|
n,
|
|
1988
2070
|
r,
|
|
@@ -2002,24 +2084,24 @@ var Tn = () => {
|
|
|
2002
2084
|
t.folder,
|
|
2003
2085
|
t.tags,
|
|
2004
2086
|
t.retries
|
|
2005
|
-
]),
|
|
2087
|
+
]), _ = w(async (e, n = {}) => {
|
|
2006
2088
|
let r = new AbortController();
|
|
2007
2089
|
f.current = r, l("uploading"), d(void 0), s(0);
|
|
2008
2090
|
try {
|
|
2009
|
-
let t = await
|
|
2091
|
+
let t = await g(e, n, r.signal, s);
|
|
2010
2092
|
return s(1), l("success"), t;
|
|
2011
2093
|
} catch (e) {
|
|
2012
2094
|
throw l("error"), d(e), e instanceof DOMException && e.name === "AbortError" || a.emit({
|
|
2013
2095
|
source: "action",
|
|
2014
|
-
tag: n.mintTag ?? t.mintTag ??
|
|
2096
|
+
tag: n.mintTag ?? t.mintTag ?? Q("mintUploadTicket"),
|
|
2015
2097
|
error: e
|
|
2016
2098
|
}), e;
|
|
2017
2099
|
}
|
|
2018
2100
|
}, [
|
|
2019
|
-
|
|
2101
|
+
g,
|
|
2020
2102
|
a,
|
|
2021
2103
|
t.mintTag
|
|
2022
|
-
]),
|
|
2104
|
+
]), v = w(async (e, n = {}) => {
|
|
2023
2105
|
if (e.length === 0) return [];
|
|
2024
2106
|
let r = new AbortController();
|
|
2025
2107
|
f.current = r, l("uploading"), d(void 0), s(0);
|
|
@@ -2027,7 +2109,7 @@ var Tn = () => {
|
|
|
2027
2109
|
for (;;) {
|
|
2028
2110
|
let t = p++;
|
|
2029
2111
|
if (t >= e.length) return;
|
|
2030
|
-
o[t] = await
|
|
2112
|
+
o[t] = await g(e[t], n, r.signal, (e) => {
|
|
2031
2113
|
c[t] = e, u();
|
|
2032
2114
|
}), c[t] = 1, u();
|
|
2033
2115
|
}
|
|
@@ -2037,71 +2119,71 @@ var Tn = () => {
|
|
|
2037
2119
|
} catch (e) {
|
|
2038
2120
|
throw r.abort(), l("error"), d(e), e instanceof DOMException && e.name === "AbortError" || a.emit({
|
|
2039
2121
|
source: "action",
|
|
2040
|
-
tag: n.mintTag ?? t.mintTag ??
|
|
2122
|
+
tag: n.mintTag ?? t.mintTag ?? Q("mintUploadTicket"),
|
|
2041
2123
|
error: e
|
|
2042
2124
|
}), e;
|
|
2043
2125
|
}
|
|
2044
2126
|
}, [
|
|
2045
|
-
|
|
2127
|
+
g,
|
|
2046
2128
|
a,
|
|
2047
2129
|
t.concurrency,
|
|
2048
2130
|
t.mintTag
|
|
2049
|
-
]),
|
|
2131
|
+
]), y = w((e, t = {}) => {
|
|
2050
2132
|
e.preventDefault();
|
|
2051
2133
|
let n = e.dataTransfer ? Array.from(e.dataTransfer.files) : [];
|
|
2052
|
-
return n.length ?
|
|
2053
|
-
}, [
|
|
2134
|
+
return n.length ? v(n, t) : Promise.resolve([]);
|
|
2135
|
+
}, [v]), b = w((e, t = {}) => {
|
|
2054
2136
|
let n = e.clipboardData ? Array.from(e.clipboardData.files) : [];
|
|
2055
|
-
return n.length ?
|
|
2056
|
-
}, [
|
|
2137
|
+
return n.length ? v(n, t) : Promise.resolve([]);
|
|
2138
|
+
}, [v]), x = D(() => ({
|
|
2057
2139
|
onDragOver: (e) => e.preventDefault(),
|
|
2058
2140
|
onDrop: (e) => {
|
|
2059
|
-
|
|
2141
|
+
y(e);
|
|
2060
2142
|
}
|
|
2061
|
-
}), [
|
|
2062
|
-
return
|
|
2063
|
-
upload:
|
|
2064
|
-
uploadMany:
|
|
2143
|
+
}), [y]);
|
|
2144
|
+
return D(() => ({
|
|
2145
|
+
upload: _,
|
|
2146
|
+
uploadMany: v,
|
|
2065
2147
|
progress: o,
|
|
2066
2148
|
status: c,
|
|
2067
2149
|
error: u,
|
|
2068
2150
|
cancel: m,
|
|
2069
2151
|
reset: p,
|
|
2070
|
-
onDrop:
|
|
2071
|
-
onPaste:
|
|
2072
|
-
dropzoneProps:
|
|
2152
|
+
onDrop: y,
|
|
2153
|
+
onPaste: b,
|
|
2154
|
+
dropzoneProps: x
|
|
2073
2155
|
}), [
|
|
2156
|
+
_,
|
|
2074
2157
|
v,
|
|
2075
|
-
y,
|
|
2076
2158
|
o,
|
|
2077
2159
|
c,
|
|
2078
2160
|
u,
|
|
2079
2161
|
m,
|
|
2080
2162
|
p,
|
|
2081
|
-
|
|
2082
|
-
|
|
2083
|
-
|
|
2163
|
+
y,
|
|
2164
|
+
b,
|
|
2165
|
+
x
|
|
2084
2166
|
]);
|
|
2085
2167
|
}, $ = async (e) => {
|
|
2086
|
-
let t =
|
|
2087
|
-
|
|
2168
|
+
let t = q(e.client, e.tag), n = M.currentSpan.pipe(M.tap((t) => M.sync(() => {
|
|
2169
|
+
_e({
|
|
2088
2170
|
traceId: t.traceId,
|
|
2089
2171
|
spanId: t.spanId,
|
|
2090
2172
|
source: "mutation",
|
|
2091
2173
|
tag: e.tag
|
|
2092
2174
|
});
|
|
2093
|
-
})),
|
|
2175
|
+
})), M.catchAll(() => M.void), M.zipRight(t(e.input)), M.withSpan(`${e.spanPrefix}.${e.tag}`, { attributes: {
|
|
2094
2176
|
"voltro.api": e.apiName,
|
|
2095
2177
|
"rpc.tag": e.tag
|
|
2096
2178
|
} }));
|
|
2097
|
-
return
|
|
2098
|
-
},
|
|
2099
|
-
let { runtime: n, client: r, descriptors: i } =
|
|
2179
|
+
return Y(e.runtime, n);
|
|
2180
|
+
}, rr = (e, t) => {
|
|
2181
|
+
let { runtime: n, client: r, descriptors: i } = K(e);
|
|
2100
2182
|
if (process.env.NODE_ENV !== "production") {
|
|
2101
2183
|
let n = i[t]?.kind;
|
|
2102
2184
|
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
2185
|
}
|
|
2104
|
-
let [a, o] =
|
|
2186
|
+
let [a, o] = k(!1), [s, c] = k(void 0), [l, u] = k(void 0), d = w(async (i) => {
|
|
2105
2187
|
o(!0), c(void 0);
|
|
2106
2188
|
try {
|
|
2107
2189
|
let a = await $({
|
|
@@ -2123,7 +2205,7 @@ var Tn = () => {
|
|
|
2123
2205
|
n,
|
|
2124
2206
|
r,
|
|
2125
2207
|
t
|
|
2126
|
-
]), f =
|
|
2208
|
+
]), f = w(async (t) => {
|
|
2127
2209
|
await $({
|
|
2128
2210
|
apiName: e,
|
|
2129
2211
|
runtime: n,
|
|
@@ -2136,7 +2218,7 @@ var Tn = () => {
|
|
|
2136
2218
|
e,
|
|
2137
2219
|
n,
|
|
2138
2220
|
r
|
|
2139
|
-
]), p =
|
|
2221
|
+
]), p = w(async (t) => {
|
|
2140
2222
|
await $({
|
|
2141
2223
|
apiName: e,
|
|
2142
2224
|
runtime: n,
|
|
@@ -2149,7 +2231,7 @@ var Tn = () => {
|
|
|
2149
2231
|
e,
|
|
2150
2232
|
n,
|
|
2151
2233
|
r
|
|
2152
|
-
]), m =
|
|
2234
|
+
]), m = w(async (t, i, a) => $({
|
|
2153
2235
|
apiName: e,
|
|
2154
2236
|
runtime: n,
|
|
2155
2237
|
client: r,
|
|
@@ -2164,7 +2246,7 @@ var Tn = () => {
|
|
|
2164
2246
|
e,
|
|
2165
2247
|
n,
|
|
2166
2248
|
r
|
|
2167
|
-
]), h =
|
|
2249
|
+
]), h = w(async (t, i, a, o) => $({
|
|
2168
2250
|
apiName: e,
|
|
2169
2251
|
runtime: n,
|
|
2170
2252
|
client: r,
|
|
@@ -2181,7 +2263,7 @@ var Tn = () => {
|
|
|
2181
2263
|
n,
|
|
2182
2264
|
r
|
|
2183
2265
|
]);
|
|
2184
|
-
return
|
|
2266
|
+
return D(() => ({
|
|
2185
2267
|
start: d,
|
|
2186
2268
|
cancel: f,
|
|
2187
2269
|
resume: p,
|
|
@@ -2200,8 +2282,8 @@ var Tn = () => {
|
|
|
2200
2282
|
s,
|
|
2201
2283
|
l
|
|
2202
2284
|
]);
|
|
2203
|
-
},
|
|
2204
|
-
let { runtime: t, client: n } =
|
|
2285
|
+
}, ir = (e) => {
|
|
2286
|
+
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
2287
|
i(!0), o(void 0);
|
|
2206
2288
|
try {
|
|
2207
2289
|
let i = await $({
|
|
@@ -2227,7 +2309,7 @@ var Tn = () => {
|
|
|
2227
2309
|
t,
|
|
2228
2310
|
n
|
|
2229
2311
|
]);
|
|
2230
|
-
return
|
|
2312
|
+
return D(() => ({
|
|
2231
2313
|
signal: l,
|
|
2232
2314
|
pending: r,
|
|
2233
2315
|
error: a,
|
|
@@ -2238,8 +2320,8 @@ var Tn = () => {
|
|
|
2238
2320
|
a,
|
|
2239
2321
|
s
|
|
2240
2322
|
]);
|
|
2241
|
-
},
|
|
2242
|
-
let { runtime: t, client: n } =
|
|
2323
|
+
}, ar = (e) => {
|
|
2324
|
+
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
2325
|
i(!0), o(void 0);
|
|
2244
2326
|
try {
|
|
2245
2327
|
let i = await $({
|
|
@@ -2266,7 +2348,7 @@ var Tn = () => {
|
|
|
2266
2348
|
t,
|
|
2267
2349
|
n
|
|
2268
2350
|
]);
|
|
2269
|
-
return
|
|
2351
|
+
return D(() => ({
|
|
2270
2352
|
update: l,
|
|
2271
2353
|
pending: r,
|
|
2272
2354
|
error: a,
|
|
@@ -2277,8 +2359,8 @@ var Tn = () => {
|
|
|
2277
2359
|
a,
|
|
2278
2360
|
s
|
|
2279
2361
|
]);
|
|
2280
|
-
},
|
|
2281
|
-
let n =
|
|
2362
|
+
}, or = (e, t) => {
|
|
2363
|
+
let n = J(e, "__voltro.workflow.run", t ? { id: t } : {}, { skip: t === void 0 });
|
|
2282
2364
|
return n.loading || n.idle || n.failed ? {
|
|
2283
2365
|
...n,
|
|
2284
2366
|
run: void 0
|
|
@@ -2286,8 +2368,8 @@ var Tn = () => {
|
|
|
2286
2368
|
...n,
|
|
2287
2369
|
run: n.data[0]
|
|
2288
2370
|
};
|
|
2289
|
-
},
|
|
2290
|
-
let r =
|
|
2371
|
+
}, sr = (e, t = {}, n = {}) => {
|
|
2372
|
+
let r = J(e, "__voltro.workflow.runs", t, n);
|
|
2291
2373
|
return r.loading || r.idle || r.failed ? {
|
|
2292
2374
|
...r,
|
|
2293
2375
|
runs: []
|
|
@@ -2295,8 +2377,8 @@ var Tn = () => {
|
|
|
2295
2377
|
...r,
|
|
2296
2378
|
runs: r.data
|
|
2297
2379
|
};
|
|
2298
|
-
},
|
|
2299
|
-
let n =
|
|
2380
|
+
}, cr = (e, t) => {
|
|
2381
|
+
let n = J(e, "__voltro.workflow.run.steps", t ? { runId: t } : {}, { skip: t === void 0 });
|
|
2300
2382
|
return n.loading || n.idle || n.failed ? {
|
|
2301
2383
|
...n,
|
|
2302
2384
|
steps: []
|
|
@@ -2304,8 +2386,8 @@ var Tn = () => {
|
|
|
2304
2386
|
...n,
|
|
2305
2387
|
steps: n.data
|
|
2306
2388
|
};
|
|
2307
|
-
},
|
|
2308
|
-
let n =
|
|
2389
|
+
}, lr = (e, t) => {
|
|
2390
|
+
let n = J(e, "__voltro.workflow.run.events", t ? { runId: t } : {}, { skip: t === void 0 });
|
|
2309
2391
|
return n.loading || n.idle || n.failed ? {
|
|
2310
2392
|
...n,
|
|
2311
2393
|
events: []
|
|
@@ -2313,8 +2395,8 @@ var Tn = () => {
|
|
|
2313
2395
|
...n,
|
|
2314
2396
|
events: n.data
|
|
2315
2397
|
};
|
|
2316
|
-
},
|
|
2317
|
-
let r =
|
|
2398
|
+
}, ur = lr, dr = (e, t = {}, n = {}) => {
|
|
2399
|
+
let r = J(e, "__voltro.workflow.domainEvents", t, n);
|
|
2318
2400
|
return r.loading || r.idle || r.failed ? {
|
|
2319
2401
|
...r,
|
|
2320
2402
|
events: []
|
|
@@ -2322,8 +2404,8 @@ var Tn = () => {
|
|
|
2322
2404
|
...r,
|
|
2323
2405
|
events: r.data
|
|
2324
2406
|
};
|
|
2325
|
-
},
|
|
2326
|
-
let n =
|
|
2407
|
+
}, fr = (e, t) => {
|
|
2408
|
+
let n = J(e, "__voltro.workflow.event.deliveries", t ? { eventId: t } : {}, { skip: t === void 0 });
|
|
2327
2409
|
return n.loading || n.idle || n.failed ? {
|
|
2328
2410
|
...n,
|
|
2329
2411
|
deliveries: []
|
|
@@ -2331,42 +2413,42 @@ var Tn = () => {
|
|
|
2331
2413
|
...n,
|
|
2332
2414
|
deliveries: n.data
|
|
2333
2415
|
};
|
|
2334
|
-
},
|
|
2416
|
+
}, pr = (e, t) => {
|
|
2335
2417
|
let n = e.payload;
|
|
2336
2418
|
if (!n || typeof n != "object") return;
|
|
2337
2419
|
let r = n[t];
|
|
2338
2420
|
return typeof r == "string" ? r : void 0;
|
|
2339
|
-
},
|
|
2421
|
+
}, mr = (e) => {
|
|
2340
2422
|
let t = e.payload;
|
|
2341
2423
|
if (!t || typeof t != "object") return;
|
|
2342
2424
|
let n = t.updateId;
|
|
2343
2425
|
return typeof n == "string" ? n : void 0;
|
|
2344
|
-
},
|
|
2426
|
+
}, hr = (e) => {
|
|
2345
2427
|
let t = /* @__PURE__ */ new Set(), n = /* @__PURE__ */ new Set();
|
|
2346
2428
|
for (let r of e) if (r.eventType === "signal-received") {
|
|
2347
|
-
let e =
|
|
2429
|
+
let e = pr(r, "signalName");
|
|
2348
2430
|
e && t.add(e);
|
|
2349
2431
|
} else if (r.eventType === "update-completed" || r.eventType === "update-failed") {
|
|
2350
|
-
let e =
|
|
2432
|
+
let e = mr(r);
|
|
2351
2433
|
e && n.add(e);
|
|
2352
2434
|
}
|
|
2353
2435
|
for (let r = e.length - 1; r >= 0; --r) {
|
|
2354
2436
|
let i = e[r];
|
|
2355
2437
|
if (i.eventType === "signal-awaited") {
|
|
2356
|
-
let e =
|
|
2438
|
+
let e = pr(i, "signalName");
|
|
2357
2439
|
if (e && !t.has(e)) return {
|
|
2358
2440
|
name: e,
|
|
2359
2441
|
kind: "signal"
|
|
2360
2442
|
};
|
|
2361
2443
|
} else if (i.eventType === "update-requested") {
|
|
2362
|
-
let e =
|
|
2444
|
+
let e = mr(i), t = pr(i, "updateName");
|
|
2363
2445
|
if (t && (!e || !n.has(e))) return {
|
|
2364
2446
|
name: t,
|
|
2365
2447
|
kind: "update"
|
|
2366
2448
|
};
|
|
2367
2449
|
}
|
|
2368
2450
|
}
|
|
2369
|
-
},
|
|
2451
|
+
}, gr = (e) => e.find((e) => e.status === "running") || (e.length > 0 ? e[e.length - 1] : void 0), _r = (e, t) => {
|
|
2370
2452
|
if (!e || e.status !== "failed") return;
|
|
2371
2453
|
let n = t.find((e) => e.status === "failed");
|
|
2372
2454
|
return {
|
|
@@ -2374,34 +2456,34 @@ var Tn = () => {
|
|
|
2374
2456
|
message: e.errorMessage,
|
|
2375
2457
|
step: n?.stepName
|
|
2376
2458
|
};
|
|
2377
|
-
},
|
|
2378
|
-
let n =
|
|
2459
|
+
}, vr = (e, t) => {
|
|
2460
|
+
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
2461
|
if (!o) throw Error("useWorkflowRunState: no run loaded — cannot cancel");
|
|
2380
2462
|
await a.cancel({
|
|
2381
2463
|
workflowName: o.tag,
|
|
2382
2464
|
executionId: o.executionId
|
|
2383
2465
|
});
|
|
2384
|
-
}, [a, o]), u =
|
|
2466
|
+
}, [a, o]), u = w(async () => {
|
|
2385
2467
|
if (!o) throw Error("useWorkflowRunState: no run loaded — cannot resume");
|
|
2386
2468
|
await a.resume({
|
|
2387
2469
|
workflowName: o.tag,
|
|
2388
2470
|
executionId: o.executionId
|
|
2389
2471
|
});
|
|
2390
|
-
}, [a, o]), d =
|
|
2472
|
+
}, [a, o]), d = w((e, n) => {
|
|
2391
2473
|
if (t === void 0) throw Error("useWorkflowRunState: no run id — cannot signal");
|
|
2392
2474
|
return a.signal({ id: t }, e, n);
|
|
2393
|
-
}, [a, t]), f =
|
|
2475
|
+
}, [a, t]), f = w((e, n, r) => {
|
|
2394
2476
|
if (t === void 0) throw Error("useWorkflowRunState: no run id — cannot update");
|
|
2395
2477
|
return a.update({ id: t }, e, n, r);
|
|
2396
2478
|
}, [a, t]);
|
|
2397
|
-
return
|
|
2479
|
+
return D(() => ({
|
|
2398
2480
|
run: o,
|
|
2399
2481
|
status: o?.status,
|
|
2400
2482
|
steps: s,
|
|
2401
2483
|
events: c,
|
|
2402
|
-
currentStep:
|
|
2403
|
-
waitingFor: o?.status === "suspended" ?
|
|
2404
|
-
error:
|
|
2484
|
+
currentStep: gr(s),
|
|
2485
|
+
waitingFor: o?.status === "suspended" ? hr(c) : void 0,
|
|
2486
|
+
error: _r(o, s),
|
|
2405
2487
|
traceId: o?.traceId,
|
|
2406
2488
|
loading: n.data === void 0,
|
|
2407
2489
|
cancel: l,
|
|
@@ -2418,24 +2500,24 @@ var Tn = () => {
|
|
|
2418
2500
|
d,
|
|
2419
2501
|
f
|
|
2420
2502
|
]);
|
|
2421
|
-
},
|
|
2422
|
-
let { runtime: n, client: r } =
|
|
2503
|
+
}, yr = (e, t) => {
|
|
2504
|
+
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
2505
|
let e = u.current;
|
|
2424
|
-
e && (u.current = null, n.runFork(
|
|
2506
|
+
e && (u.current = null, n.runFork(P.interrupt(e)), s((e) => e === "streaming" ? "idle" : e));
|
|
2425
2507
|
}, [n]);
|
|
2426
2508
|
return {
|
|
2427
2509
|
events: i,
|
|
2428
2510
|
status: o,
|
|
2429
2511
|
error: c,
|
|
2430
|
-
start:
|
|
2512
|
+
start: w((e = {}) => {
|
|
2431
2513
|
let i = u.current;
|
|
2432
|
-
i && n.runFork(
|
|
2433
|
-
let o =
|
|
2514
|
+
i && n.runFork(P.interrupt(i)), a([]), l(void 0), s("streaming");
|
|
2515
|
+
let o = q(r, t)(e), c = L.runForEach(o, (e) => M.sync(() => a((t) => [...t, e]))).pipe(M.matchCause({
|
|
2434
2516
|
onSuccess: () => {
|
|
2435
2517
|
s("done");
|
|
2436
2518
|
},
|
|
2437
2519
|
onFailure: (e) => {
|
|
2438
|
-
|
|
2520
|
+
A.isInterruptedOnly(e) || (l(A.squash(e)), s("error"));
|
|
2439
2521
|
}
|
|
2440
2522
|
}));
|
|
2441
2523
|
u.current = n.runFork(c);
|
|
@@ -2446,57 +2528,57 @@ var Tn = () => {
|
|
|
2446
2528
|
]),
|
|
2447
2529
|
cancel: d
|
|
2448
2530
|
};
|
|
2449
|
-
},
|
|
2450
|
-
let i = 0, a = !1, o = (e) =>
|
|
2531
|
+
}, br = (e, t, n, r) => {
|
|
2532
|
+
let i = 0, a = !1, o = (e) => M.sync(() => {
|
|
2451
2533
|
e.seq <= i || (i = e.seq, n.onEvent(e.event), r.isTerminal(e.event) && (a = !0));
|
|
2452
2534
|
}), s = (e, t, a) => {
|
|
2453
2535
|
let o = i > t ? 0 : e + 1;
|
|
2454
|
-
if (o > r.maxReconnects) return
|
|
2536
|
+
if (o > r.maxReconnects) return M.sync(() => {
|
|
2455
2537
|
n.onError(a ?? /* @__PURE__ */ Error("stream connection lost")), n.onStatus("error");
|
|
2456
2538
|
});
|
|
2457
2539
|
let s = Math.min(r.maxBackoffMs, r.backoffMs * 2 ** Math.max(0, o - 1));
|
|
2458
|
-
return
|
|
2540
|
+
return M.sync(() => {
|
|
2459
2541
|
n.onStatus("reconnecting"), n.onReconnect();
|
|
2460
|
-
}).pipe(
|
|
2461
|
-
}, c = (r) =>
|
|
2542
|
+
}).pipe(M.zipRight(M.sleep(j.millis(s))), M.zipRight(M.sync(() => n.onStatus("streaming"))), M.zipRight(c(o)));
|
|
2543
|
+
}, c = (r) => M.suspend(() => {
|
|
2462
2544
|
let c = i, l = e({
|
|
2463
2545
|
...t,
|
|
2464
2546
|
fromSeq: c
|
|
2465
2547
|
});
|
|
2466
|
-
return
|
|
2467
|
-
onSuccess: () => a ?
|
|
2468
|
-
onFailure: (e) =>
|
|
2548
|
+
return L.runForEach(l, o).pipe(M.matchCauseEffect({
|
|
2549
|
+
onSuccess: () => a ? M.sync(() => n.onStatus("done")) : s(r, c, void 0),
|
|
2550
|
+
onFailure: (e) => A.isInterruptedOnly(e) ? M.void : a ? M.sync(() => n.onStatus("done")) : s(r, c, A.squash(e))
|
|
2469
2551
|
}));
|
|
2470
2552
|
});
|
|
2471
2553
|
return c(0);
|
|
2472
|
-
},
|
|
2554
|
+
}, xr = (e) => {
|
|
2473
2555
|
let t = e?._tag;
|
|
2474
2556
|
return t === "done" || t === "error";
|
|
2475
|
-
},
|
|
2476
|
-
let { runtime: r, client: i } =
|
|
2557
|
+
}, Sr = (e, t, n = {}) => {
|
|
2558
|
+
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
2559
|
maxReconnects: n.maxReconnects ?? 6,
|
|
2478
2560
|
backoffMs: n.backoffMs ?? 400,
|
|
2479
2561
|
maxBackoffMs: n.maxBackoffMs ?? 8e3,
|
|
2480
|
-
isTerminal: n.isTerminal ??
|
|
2481
|
-
}, h =
|
|
2562
|
+
isTerminal: n.isTerminal ?? xr
|
|
2563
|
+
}, h = w(() => {
|
|
2482
2564
|
let e = p.current;
|
|
2483
|
-
e && (p.current = null, r.runFork(
|
|
2565
|
+
e && (p.current = null, r.runFork(P.interrupt(e)), c((e) => e === "streaming" || e === "reconnecting" ? "idle" : e));
|
|
2484
2566
|
}, [r]);
|
|
2485
2567
|
return {
|
|
2486
2568
|
events: a,
|
|
2487
2569
|
status: s,
|
|
2488
2570
|
reconnects: l,
|
|
2489
2571
|
error: d,
|
|
2490
|
-
start:
|
|
2572
|
+
start: w((e = {}) => {
|
|
2491
2573
|
let n = p.current;
|
|
2492
|
-
n && r.runFork(
|
|
2493
|
-
let a =
|
|
2574
|
+
n && r.runFork(P.interrupt(n)), o([]), f(void 0), u(0), c("streaming");
|
|
2575
|
+
let a = q(i, t), s = {
|
|
2494
2576
|
onEvent: (e) => o((t) => [...t, e]),
|
|
2495
2577
|
onStatus: c,
|
|
2496
2578
|
onReconnect: () => u((e) => e + 1),
|
|
2497
2579
|
onError: f
|
|
2498
2580
|
};
|
|
2499
|
-
p.current = r.runFork(
|
|
2581
|
+
p.current = r.runFork(br(a, e, s, m));
|
|
2500
2582
|
}, [
|
|
2501
2583
|
r,
|
|
2502
2584
|
i,
|
|
@@ -2508,13 +2590,13 @@ var Tn = () => {
|
|
|
2508
2590
|
]),
|
|
2509
2591
|
cancel: h
|
|
2510
2592
|
};
|
|
2511
|
-
},
|
|
2593
|
+
}, Cr = (e, t) => e.order - t.order || (e.stepOrder ?? 0) - (t.stepOrder ?? 0), wr = (e) => {
|
|
2512
2594
|
for (let t = e.length - 1; t >= 0; --t) {
|
|
2513
2595
|
let n = e[t];
|
|
2514
2596
|
if (n.role === "user" && n.content) return n.content;
|
|
2515
2597
|
}
|
|
2516
|
-
},
|
|
2517
|
-
let { threadId: r } = n, i =
|
|
2598
|
+
}, Tr = (e, t, n) => {
|
|
2599
|
+
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
2600
|
threadId: r,
|
|
2519
2601
|
order: i.data?.length ?? 0,
|
|
2520
2602
|
prompt: e,
|
|
@@ -2523,11 +2605,11 @@ var Tn = () => {
|
|
|
2523
2605
|
a,
|
|
2524
2606
|
r,
|
|
2525
2607
|
i.data
|
|
2526
|
-
]), c =
|
|
2527
|
-
let e =
|
|
2608
|
+
]), c = w(() => {
|
|
2609
|
+
let e = wr(o);
|
|
2528
2610
|
return e === void 0 ? void 0 : s(e);
|
|
2529
2611
|
}, [o, s]);
|
|
2530
|
-
return
|
|
2612
|
+
return D(() => ({
|
|
2531
2613
|
messages: o,
|
|
2532
2614
|
streaming: o.some((e) => e.streaming),
|
|
2533
2615
|
loading: i.data === void 0,
|
|
@@ -2544,9 +2626,9 @@ var Tn = () => {
|
|
|
2544
2626
|
s,
|
|
2545
2627
|
c
|
|
2546
2628
|
]);
|
|
2547
|
-
},
|
|
2548
|
-
let { events: n, status: r, error: i, start: a, cancel: o } =
|
|
2549
|
-
return
|
|
2629
|
+
}, Er = (e, t) => {
|
|
2630
|
+
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]);
|
|
2631
|
+
return E(() => {
|
|
2550
2632
|
if (r !== "done" || l.current === null) return;
|
|
2551
2633
|
let e = l.current;
|
|
2552
2634
|
l.current = null, c((t) => [
|
|
@@ -2565,18 +2647,18 @@ var Tn = () => {
|
|
|
2565
2647
|
history: s,
|
|
2566
2648
|
status: r,
|
|
2567
2649
|
error: i,
|
|
2568
|
-
send:
|
|
2650
|
+
send: w((e = {}) => {
|
|
2569
2651
|
let t = e.message;
|
|
2570
2652
|
l.current = typeof t == "string" ? t : "", a(e);
|
|
2571
2653
|
}, [a]),
|
|
2572
2654
|
cancel: o
|
|
2573
2655
|
};
|
|
2574
|
-
},
|
|
2575
|
-
let n =
|
|
2656
|
+
}, Dr = (e, t) => {
|
|
2657
|
+
let n = _n(e, t), [r, i] = k(void 0), a = w(async (e) => {
|
|
2576
2658
|
let t = await n.run({ question: e });
|
|
2577
2659
|
return i(t), t;
|
|
2578
|
-
}, [n]), o =
|
|
2579
|
-
return
|
|
2660
|
+
}, [n]), o = w(() => i(void 0), []);
|
|
2661
|
+
return D(() => ({
|
|
2580
2662
|
ask: a,
|
|
2581
2663
|
answer: r,
|
|
2582
2664
|
pending: n.pending,
|
|
@@ -2589,16 +2671,16 @@ var Tn = () => {
|
|
|
2589
2671
|
n.error,
|
|
2590
2672
|
o
|
|
2591
2673
|
]);
|
|
2592
|
-
},
|
|
2593
|
-
let { cache: t, runtime: n } =
|
|
2594
|
-
return
|
|
2674
|
+
}, Or = (e) => {
|
|
2675
|
+
let { cache: t, runtime: n } = K(e);
|
|
2676
|
+
return w(() => {
|
|
2595
2677
|
t.refreshAll(n);
|
|
2596
2678
|
}, [t, n]);
|
|
2597
|
-
},
|
|
2679
|
+
}, kr = (e) => e?._tag === "Unauthenticated", Ar = (e, t, n = {}) => {
|
|
2598
2680
|
let r = n.cooldownMs ?? 15e3, i = n.maxConsecutive ?? 3, a = n.now ?? (() => Date.now()), o = -Infinity, s = 0;
|
|
2599
2681
|
return {
|
|
2600
2682
|
dispose: e.on((e) => {
|
|
2601
|
-
if (!
|
|
2683
|
+
if (!kr(e.error) || s >= i) return;
|
|
2602
2684
|
let n = a();
|
|
2603
2685
|
n - o < r || (o = n, s += 1, t());
|
|
2604
2686
|
}),
|
|
@@ -2606,35 +2688,35 @@ var Tn = () => {
|
|
|
2606
2688
|
s = 0;
|
|
2607
2689
|
}
|
|
2608
2690
|
};
|
|
2609
|
-
},
|
|
2610
|
-
for (let t of
|
|
2691
|
+
}, jr = /* @__PURE__ */ new Set(), Mr = (e) => {
|
|
2692
|
+
for (let t of jr) try {
|
|
2611
2693
|
t(e);
|
|
2612
2694
|
} catch {}
|
|
2613
|
-
},
|
|
2614
|
-
|
|
2615
|
-
}),
|
|
2616
|
-
|
|
2695
|
+
}, Nr = (e) => (jr.add(e), () => {
|
|
2696
|
+
jr.delete(e);
|
|
2697
|
+
}), Pr = (e, t) => {
|
|
2698
|
+
Mr({
|
|
2617
2699
|
error: e,
|
|
2618
2700
|
source: "manual",
|
|
2619
2701
|
...t ? { context: t } : {}
|
|
2620
2702
|
});
|
|
2621
|
-
},
|
|
2622
|
-
let { errorBus: n } =
|
|
2623
|
-
|
|
2624
|
-
},
|
|
2703
|
+
}, Fr = (e, t) => {
|
|
2704
|
+
let { errorBus: n } = K(e);
|
|
2705
|
+
E(() => n.on(t), [n, t]);
|
|
2706
|
+
}, Ir = (e, t) => {
|
|
2625
2707
|
let n = globalThis, r = Symbol.for(`@voltro/web/context:${e}`), i = n[r];
|
|
2626
2708
|
if (i) return i;
|
|
2627
|
-
let a =
|
|
2709
|
+
let a = S(t);
|
|
2628
2710
|
return n[r] = a, a;
|
|
2629
|
-
},
|
|
2711
|
+
}, Lr = Ir("serverRequest", null), Rr = () => T(Lr), zr = ({ value: e, children: t }) => /* @__PURE__ */ fe(Lr.Provider, {
|
|
2630
2712
|
value: e,
|
|
2631
2713
|
children: t
|
|
2632
|
-
}),
|
|
2633
|
-
let t =
|
|
2634
|
-
return
|
|
2714
|
+
}), Br = (e) => {
|
|
2715
|
+
let t = Rr();
|
|
2716
|
+
return D(() => {
|
|
2635
2717
|
if (t !== null) return t.formFlash?.formKey === e ? t.formFlash : void 0;
|
|
2636
2718
|
if (typeof document > "u") return;
|
|
2637
|
-
let n = document.getElementById(
|
|
2719
|
+
let n = document.getElementById(v);
|
|
2638
2720
|
if (n !== null && n.textContent !== null && n.textContent !== "") try {
|
|
2639
2721
|
let t = JSON.parse(n.textContent);
|
|
2640
2722
|
return t.formKey === e ? t : void 0;
|
|
@@ -2642,15 +2724,15 @@ var Tn = () => {
|
|
|
2642
2724
|
return;
|
|
2643
2725
|
}
|
|
2644
2726
|
}, [t, e]);
|
|
2645
|
-
},
|
|
2727
|
+
}, Vr = (e, t, n) => e.map((e) => {
|
|
2646
2728
|
let r = String(e[n] ?? ""), i = e[t];
|
|
2647
2729
|
return {
|
|
2648
2730
|
value: r,
|
|
2649
2731
|
label: i == null ? r : String(i)
|
|
2650
2732
|
};
|
|
2651
|
-
}),
|
|
2652
|
-
let r = n.debounceMs ?? 200, i = n.labelField ?? "name", a = n.valueField ?? "id", o = n.input ?? ((e) => ({ q: e })), [s, c] =
|
|
2653
|
-
|
|
2733
|
+
}), Hr = (e, t, n = {}) => {
|
|
2734
|
+
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);
|
|
2735
|
+
E(() => {
|
|
2654
2736
|
if (s === l) return;
|
|
2655
2737
|
let e = setTimeout(() => u(s), r);
|
|
2656
2738
|
return () => clearTimeout(e);
|
|
@@ -2659,24 +2741,24 @@ var Tn = () => {
|
|
|
2659
2741
|
l,
|
|
2660
2742
|
r
|
|
2661
2743
|
]);
|
|
2662
|
-
let d = n.skipUntilTerm === !0 && l.trim() === "", f =
|
|
2744
|
+
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
2745
|
f.data,
|
|
2664
2746
|
i,
|
|
2665
2747
|
a
|
|
2666
|
-
]), m =
|
|
2748
|
+
]), m = w((e) => c(e), []);
|
|
2667
2749
|
return {
|
|
2668
2750
|
options: p,
|
|
2669
2751
|
loading: !d && f.data === void 0,
|
|
2670
2752
|
term: s,
|
|
2671
2753
|
search: m
|
|
2672
2754
|
};
|
|
2673
|
-
},
|
|
2674
|
-
let
|
|
2675
|
-
...
|
|
2676
|
-
limit:
|
|
2677
|
-
}, [
|
|
2678
|
-
|
|
2679
|
-
}, [
|
|
2755
|
+
}, Ur = (e, t) => e === t ? 0 : e == null ? 1 : t == null || e < t ? -1 : 1, Wr = (t, n, r = {}) => {
|
|
2756
|
+
let i = K(t), [a, o] = k(r.pageSize), s = J(t, n, D(() => a === void 0 ? r.input ?? {} : {
|
|
2757
|
+
...r.input,
|
|
2758
|
+
limit: a
|
|
2759
|
+
}, [r.input, a])), c = i.descriptors[n]?.output, l = w(() => {
|
|
2760
|
+
r.pageSize !== void 0 && o((e) => (e ?? r.pageSize) + r.pageSize);
|
|
2761
|
+
}, [r.pageSize]), u = D(() => r.columns ?? (c === void 0 ? [] : e(c)), [r.columns, c]), [d, f] = k(r.initialSort), p = w((e) => {
|
|
2680
2762
|
f((t) => t?.column === e ? {
|
|
2681
2763
|
column: e,
|
|
2682
2764
|
direction: t.direction === "asc" ? "desc" : "asc"
|
|
@@ -2687,39 +2769,39 @@ var Tn = () => {
|
|
|
2687
2769
|
}, []);
|
|
2688
2770
|
return {
|
|
2689
2771
|
columns: u,
|
|
2690
|
-
rows:
|
|
2691
|
-
let e =
|
|
2772
|
+
rows: D(() => {
|
|
2773
|
+
let e = s.data ?? [];
|
|
2692
2774
|
if (d === void 0) return e;
|
|
2693
2775
|
let t = d.direction === "asc" ? 1 : -1;
|
|
2694
|
-
return [...e].sort((e, n) =>
|
|
2695
|
-
}, [
|
|
2696
|
-
loading:
|
|
2697
|
-
error:
|
|
2776
|
+
return [...e].sort((e, n) => Ur(e[d.column], n[d.column]) * t);
|
|
2777
|
+
}, [s.data, d]),
|
|
2778
|
+
loading: s.data === void 0,
|
|
2779
|
+
error: s.error,
|
|
2698
2780
|
sort: d,
|
|
2699
2781
|
toggleSort: p,
|
|
2700
|
-
loadMore:
|
|
2701
|
-
hasMore:
|
|
2782
|
+
loadMore: l,
|
|
2783
|
+
hasMore: a !== void 0 && (s.data?.length ?? 0) >= a
|
|
2702
2784
|
};
|
|
2703
|
-
},
|
|
2785
|
+
}, Gr = (e, t, n, r) => {
|
|
2704
2786
|
let i = e.replace(/\/$/, ""), a = new URLSearchParams({
|
|
2705
2787
|
table: t,
|
|
2706
2788
|
id: n
|
|
2707
2789
|
});
|
|
2708
2790
|
return r !== void 0 && a.set("column", r), `${i}/_voltro/inspect/provenance?${a.toString()}`;
|
|
2709
|
-
},
|
|
2710
|
-
let { inspectBaseUrl: i } =
|
|
2791
|
+
}, Kr = Gr, qr = (e, t, n, r) => {
|
|
2792
|
+
let { inspectBaseUrl: i } = K(e), [a, o] = k({
|
|
2711
2793
|
data: void 0,
|
|
2712
2794
|
loading: !0,
|
|
2713
2795
|
error: void 0
|
|
2714
2796
|
});
|
|
2715
|
-
return
|
|
2797
|
+
return E(() => {
|
|
2716
2798
|
let e = !1;
|
|
2717
2799
|
o({
|
|
2718
2800
|
data: void 0,
|
|
2719
2801
|
loading: !0,
|
|
2720
2802
|
error: void 0
|
|
2721
2803
|
});
|
|
2722
|
-
let a =
|
|
2804
|
+
let a = Gr(i ?? "", t, n, r);
|
|
2723
2805
|
return fetch(a).then(async (e) => {
|
|
2724
2806
|
if (!e.ok) throw Error(`provenance fetch failed: HTTP ${e.status}`);
|
|
2725
2807
|
return await e.json();
|
|
@@ -2745,23 +2827,23 @@ var Tn = () => {
|
|
|
2745
2827
|
n,
|
|
2746
2828
|
r
|
|
2747
2829
|
]), a;
|
|
2748
|
-
},
|
|
2749
|
-
function
|
|
2750
|
-
return
|
|
2830
|
+
}, 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: [] });
|
|
2831
|
+
function Qr(e) {
|
|
2832
|
+
return C(Zr.Provider, { value: { scopes: e.scopes } }, e.children);
|
|
2751
2833
|
}
|
|
2752
|
-
var
|
|
2753
|
-
let { inspectBaseUrl: t } =
|
|
2834
|
+
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) => {
|
|
2835
|
+
let { inspectBaseUrl: t } = K(e), [n, r] = k({
|
|
2754
2836
|
manifest: void 0,
|
|
2755
2837
|
loading: !0,
|
|
2756
2838
|
error: void 0
|
|
2757
2839
|
});
|
|
2758
|
-
return
|
|
2840
|
+
return E(() => {
|
|
2759
2841
|
let e = !1;
|
|
2760
2842
|
return r({
|
|
2761
2843
|
manifest: void 0,
|
|
2762
2844
|
loading: !0,
|
|
2763
2845
|
error: void 0
|
|
2764
|
-
}), fetch(
|
|
2846
|
+
}), fetch(ni(t ?? "")).then(async (e) => {
|
|
2765
2847
|
if (!e.ok) throw Error(`manifest fetch failed: HTTP ${e.status}`);
|
|
2766
2848
|
return await e.json();
|
|
2767
2849
|
}).then((t) => {
|
|
@@ -2780,7 +2862,7 @@ var Lr = () => _(Fr), Rr = (e) => Nr(Lr().scopes, e), zr = (e) => Pr(Lr().scopes
|
|
|
2780
2862
|
e = !0;
|
|
2781
2863
|
};
|
|
2782
2864
|
}, [e, t]), n;
|
|
2783
|
-
},
|
|
2865
|
+
}, 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
2866
|
if (e === void 0) return "unknown";
|
|
2785
2867
|
if (t.includes("admin:full") || e.length === 0) return "allowed";
|
|
2786
2868
|
let n = !1;
|
|
@@ -2789,7 +2871,7 @@ var Lr = () => _(Fr), Rr = (e) => Nr(Lr().scopes, e), zr = (e) => Pr(Lr().scopes
|
|
|
2789
2871
|
n = !0;
|
|
2790
2872
|
continue;
|
|
2791
2873
|
}
|
|
2792
|
-
if (!
|
|
2874
|
+
if (!ii(t, r)) {
|
|
2793
2875
|
if (r.resourceScoped) {
|
|
2794
2876
|
n = !0;
|
|
2795
2877
|
continue;
|
|
@@ -2798,13 +2880,13 @@ var Lr = () => _(Fr), Rr = (e) => Nr(Lr().scopes, e), zr = (e) => Pr(Lr().scopes
|
|
|
2798
2880
|
}
|
|
2799
2881
|
}
|
|
2800
2882
|
return n ? "unknown" : "allowed";
|
|
2801
|
-
},
|
|
2883
|
+
}, oi = (e) => (e ?? []).flatMap((e) => e.kind === "scope" ? [...e.scope] : []), si = (e) => {
|
|
2802
2884
|
for (let t of e ?? []) if (t.kind === "open") return t.reason;
|
|
2803
|
-
},
|
|
2885
|
+
}, 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
2886
|
tag: e.tag,
|
|
2805
2887
|
...e.guards === void 0 ? {} : { guards: e.guards }
|
|
2806
|
-
},
|
|
2807
|
-
let n = e.procedures.find((e) => e.kind === "query" &&
|
|
2888
|
+
}, fi = (e) => e.tables.filter((e) => !e.framework).map((t) => {
|
|
2889
|
+
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
2890
|
return {
|
|
2809
2891
|
table: t.name,
|
|
2810
2892
|
columns: t.columns.filter((e) => e.serverOnly !== !0),
|
|
@@ -2813,22 +2895,22 @@ var Lr = () => _(Fr), Rr = (e) => Nr(Lr().scopes, e), zr = (e) => Pr(Lr().scopes
|
|
|
2813
2895
|
reactive: t.reactive,
|
|
2814
2896
|
...o === void 0 ? {} : { pkColumn: o },
|
|
2815
2897
|
editable: (t.editable ?? !0) && o !== void 0,
|
|
2816
|
-
list:
|
|
2817
|
-
create:
|
|
2818
|
-
update:
|
|
2819
|
-
delete:
|
|
2898
|
+
list: di(n),
|
|
2899
|
+
create: di(r),
|
|
2900
|
+
update: di(i),
|
|
2901
|
+
delete: di(a)
|
|
2820
2902
|
};
|
|
2821
|
-
}),
|
|
2822
|
-
let [t, n] =
|
|
2903
|
+
}), pi = (e) => {
|
|
2904
|
+
let [t, n] = k([]), [r, i] = k([]), a = w((e) => {
|
|
2823
2905
|
n((t) => [...t, e]), i([]);
|
|
2824
|
-
}, []), o =
|
|
2906
|
+
}, []), o = w(async () => {
|
|
2825
2907
|
let r = t[t.length - 1];
|
|
2826
2908
|
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 =
|
|
2909
|
+
}, [t, e]), s = w(async () => {
|
|
2828
2910
|
let t = r[r.length - 1];
|
|
2829
2911
|
t !== void 0 && (await e.onRedo(t.invocationId), i((e) => e.slice(0, -1)), n((e) => [...e, t]));
|
|
2830
2912
|
}, [r, e]);
|
|
2831
|
-
return
|
|
2913
|
+
return D(() => {
|
|
2832
2914
|
let e = t[t.length - 1];
|
|
2833
2915
|
return {
|
|
2834
2916
|
record: a,
|
|
@@ -2846,14 +2928,14 @@ var Lr = () => _(Fr), Rr = (e) => Nr(Lr().scopes, e), zr = (e) => Pr(Lr().scopes
|
|
|
2846
2928
|
o,
|
|
2847
2929
|
s
|
|
2848
2930
|
]);
|
|
2849
|
-
},
|
|
2850
|
-
let n = t?.limit, { data: r } =
|
|
2931
|
+
}, mi = "__voltro.undo.log", hi = "__voltro.undo.apply", gi = "__voltro.undo.redo", _i = (e, t) => {
|
|
2932
|
+
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
2933
|
await i.mutate({ invocationId: e });
|
|
2852
|
-
}, [i]), u =
|
|
2934
|
+
}, [i]), u = w(async (e) => {
|
|
2853
2935
|
await a.mutate({ invocationId: e });
|
|
2854
|
-
}, [a]), d =
|
|
2936
|
+
}, [a]), d = w(async () => {
|
|
2855
2937
|
s && await l(s.id);
|
|
2856
|
-
}, [s, l]), f =
|
|
2938
|
+
}, [s, l]), f = w(async () => {
|
|
2857
2939
|
c && await u(c.id);
|
|
2858
2940
|
}, [c, u]);
|
|
2859
2941
|
return {
|
|
@@ -2866,22 +2948,22 @@ var Lr = () => _(Fr), Rr = (e) => Nr(Lr().scopes, e), zr = (e) => Pr(Lr().scopes
|
|
|
2866
2948
|
undoLast: d,
|
|
2867
2949
|
redoLast: f
|
|
2868
2950
|
};
|
|
2869
|
-
},
|
|
2951
|
+
}, vi = (e, t) => ({
|
|
2870
2952
|
name: e,
|
|
2871
2953
|
map: t
|
|
2872
|
-
}),
|
|
2954
|
+
}), 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
2955
|
let r = { ...t };
|
|
2874
2956
|
for (let [i, a] of Object.entries(e.map)) {
|
|
2875
|
-
if (
|
|
2957
|
+
if (bi.has(i) || a === void 0) continue;
|
|
2876
2958
|
let e = t[i];
|
|
2877
2959
|
r[i] = (...r) => {
|
|
2878
|
-
let i =
|
|
2960
|
+
let i = yi(a, t);
|
|
2879
2961
|
if (i !== null && n(i), typeof e == "function") return e(...r);
|
|
2880
2962
|
};
|
|
2881
2963
|
}
|
|
2882
2964
|
return r;
|
|
2883
|
-
},
|
|
2884
|
-
let r =
|
|
2965
|
+
}, Si = (e, t, n) => {
|
|
2966
|
+
let r = O({
|
|
2885
2967
|
spec: e,
|
|
2886
2968
|
props: t,
|
|
2887
2969
|
sink: n
|
|
@@ -2890,47 +2972,47 @@ var Lr = () => _(Fr), Rr = (e) => Nr(Lr().scopes, e), zr = (e) => Pr(Lr().scopes
|
|
|
2890
2972
|
spec: e,
|
|
2891
2973
|
props: t,
|
|
2892
2974
|
sink: n
|
|
2893
|
-
},
|
|
2894
|
-
let e = r.current, t =
|
|
2975
|
+
}, E(() => {
|
|
2976
|
+
let e = r.current, t = yi(e.spec.map.onMount, e.props);
|
|
2895
2977
|
return t !== null && e.sink(t), () => {
|
|
2896
|
-
let e = r.current, t =
|
|
2978
|
+
let e = r.current, t = yi(e.spec.map.onUnmount, e.props);
|
|
2897
2979
|
t !== null && e.sink(t);
|
|
2898
2980
|
};
|
|
2899
|
-
}, []),
|
|
2981
|
+
}, []), D(() => xi(e, t, n), [
|
|
2900
2982
|
e,
|
|
2901
2983
|
t,
|
|
2902
2984
|
n
|
|
2903
2985
|
]);
|
|
2904
|
-
},
|
|
2905
|
-
let n =
|
|
2906
|
-
return
|
|
2907
|
-
},
|
|
2908
|
-
let
|
|
2909
|
-
return
|
|
2910
|
-
},
|
|
2986
|
+
}, Ci = (e, t) => {
|
|
2987
|
+
let n = K(e).descriptors[t]?.input;
|
|
2988
|
+
return D(() => n === void 0 ? [] : x(n), [n]);
|
|
2989
|
+
}, wi = (t, n) => {
|
|
2990
|
+
let r = K(t).descriptors[n]?.output;
|
|
2991
|
+
return D(() => r === void 0 ? [] : e(r), [r]);
|
|
2992
|
+
}, Ti = (e, t) => {
|
|
2911
2993
|
if (e === t) return !0;
|
|
2912
2994
|
if (e.length !== t.length) return !1;
|
|
2913
2995
|
for (let n = 0; n < e.length; n += 1) if (!Object.is(e[n], t[n])) return !1;
|
|
2914
2996
|
return !0;
|
|
2915
|
-
},
|
|
2916
|
-
let n =
|
|
2917
|
-
return (n.current === null || !
|
|
2997
|
+
}, Ei = (e) => Object.keys(e).sort().map((t) => e[t]), Di = (e, t) => {
|
|
2998
|
+
let n = O(null), r = Ei(e);
|
|
2999
|
+
return (n.current === null || !Ti(n.current.key, r)) && (n.current = {
|
|
2918
3000
|
key: r,
|
|
2919
3001
|
value: t(e)
|
|
2920
3002
|
}), n.current.value;
|
|
2921
|
-
},
|
|
2922
|
-
let i =
|
|
2923
|
-
return
|
|
3003
|
+
}, Oi = (e, t, n, r = {}) => {
|
|
3004
|
+
let i = J(e, t, { ...n }, r);
|
|
3005
|
+
return D(() => ({
|
|
2924
3006
|
allowed: i.data?.allowed === !0,
|
|
2925
3007
|
pending: i.data === void 0
|
|
2926
3008
|
}), [i.data]);
|
|
2927
|
-
},
|
|
2928
|
-
let i =
|
|
2929
|
-
return
|
|
3009
|
+
}, ki = (e, t, n, r = {}) => {
|
|
3010
|
+
let i = J(e, t, { ...n }, r);
|
|
3011
|
+
return D(() => ({
|
|
2930
3012
|
allowedIds: new Set(i.data?.allowedIds ?? []),
|
|
2931
3013
|
pending: i.data === void 0
|
|
2932
3014
|
}), [i.data]);
|
|
2933
|
-
},
|
|
3015
|
+
}, Ai = (e) => {
|
|
2934
3016
|
switch (e) {
|
|
2935
3017
|
case "select":
|
|
2936
3018
|
case "radio":
|
|
@@ -2946,26 +3028,26 @@ var Lr = () => _(Fr), Rr = (e) => Nr(Lr().scopes, e), zr = (e) => Pr(Lr().scopes
|
|
|
2946
3028
|
case "switch": return "boolean";
|
|
2947
3029
|
default: return null;
|
|
2948
3030
|
}
|
|
2949
|
-
},
|
|
3031
|
+
}, ji = (e) => x(e).map((e) => {
|
|
2950
3032
|
if (e.name.includes(".")) return null;
|
|
2951
|
-
let t =
|
|
3033
|
+
let t = Ai(e.widget);
|
|
2952
3034
|
return t === null ? null : {
|
|
2953
3035
|
name: e.name,
|
|
2954
3036
|
label: e.label,
|
|
2955
3037
|
kind: t,
|
|
2956
3038
|
...e.options ? { options: e.options } : {}
|
|
2957
3039
|
};
|
|
2958
|
-
}).filter((e) => e !== null),
|
|
3040
|
+
}).filter((e) => e !== null), Mi = (e) => {
|
|
2959
3041
|
let t = {};
|
|
2960
3042
|
for (let [n, r] of Object.entries(e)) r === void 0 || r === "" || Array.isArray(r) && r.length === 0 || (t[n] = r);
|
|
2961
3043
|
return t;
|
|
2962
|
-
},
|
|
2963
|
-
let r =
|
|
2964
|
-
o((n) =>
|
|
3044
|
+
}, Ni = (e, t, n = {}) => {
|
|
3045
|
+
let r = K(e).descriptors[t]?.input, i = D(() => r === void 0 ? [] : ji(r), [r]), [a, o] = k(n.initial ?? {}), s = w((e, t) => {
|
|
3046
|
+
o((n) => Mi({
|
|
2965
3047
|
...n,
|
|
2966
3048
|
[e]: t
|
|
2967
3049
|
}));
|
|
2968
|
-
}, []), c =
|
|
3050
|
+
}, []), c = w(() => o({}), []), l = J(e, t, D(() => Mi(a), [a]));
|
|
2969
3051
|
return {
|
|
2970
3052
|
filters: i,
|
|
2971
3053
|
values: a,
|
|
@@ -2976,20 +3058,20 @@ var Lr = () => _(Fr), Rr = (e) => Nr(Lr().scopes, e), zr = (e) => Pr(Lr().scopes
|
|
|
2976
3058
|
loading: l.data === void 0,
|
|
2977
3059
|
error: l.error
|
|
2978
3060
|
};
|
|
2979
|
-
},
|
|
2980
|
-
let r =
|
|
3061
|
+
}, Pi = (e, t, n = {}) => {
|
|
3062
|
+
let r = J(e, t, n), i = r.data;
|
|
2981
3063
|
return {
|
|
2982
3064
|
record: Array.isArray(i) ? i[0] : i,
|
|
2983
3065
|
loading: i === void 0,
|
|
2984
3066
|
error: r.error
|
|
2985
3067
|
};
|
|
2986
|
-
},
|
|
2987
|
-
let [n, r] =
|
|
2988
|
-
return
|
|
3068
|
+
}, Fi = (e, t = 300) => {
|
|
3069
|
+
let [n, r] = k(e);
|
|
3070
|
+
return E(() => {
|
|
2989
3071
|
let n = setTimeout(() => r(e), t);
|
|
2990
3072
|
return () => clearTimeout(n);
|
|
2991
3073
|
}, [e, t]), n;
|
|
2992
|
-
},
|
|
3074
|
+
}, Ii = (e) => {
|
|
2993
3075
|
let { value: t, debouncedValue: n, data: r, interpret: i, skipEmpty: a = !0 } = e;
|
|
2994
3076
|
if (a && t.trim() === "") return {
|
|
2995
3077
|
status: "idle",
|
|
@@ -3007,39 +3089,39 @@ var Lr = () => _(Fr), Rr = (e) => Nr(Lr().scopes, e), zr = (e) => Pr(Lr().scopes
|
|
|
3007
3089
|
valid: o.valid,
|
|
3008
3090
|
message: o.message
|
|
3009
3091
|
};
|
|
3010
|
-
},
|
|
3011
|
-
let { input: i, interpret: a, debounceMs: o = 300, skipEmpty: s = !0 } = r, c =
|
|
3012
|
-
return
|
|
3092
|
+
}, Li = (e, t, n, r) => {
|
|
3093
|
+
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 });
|
|
3094
|
+
return Ii({
|
|
3013
3095
|
value: n,
|
|
3014
3096
|
debouncedValue: c,
|
|
3015
3097
|
data: l ? null : u.data,
|
|
3016
3098
|
interpret: a,
|
|
3017
3099
|
skipEmpty: s
|
|
3018
3100
|
});
|
|
3019
|
-
},
|
|
3101
|
+
}, Ri = (e, t) => ({
|
|
3020
3102
|
name: e,
|
|
3021
3103
|
payload: t
|
|
3022
|
-
}),
|
|
3023
|
-
let n =
|
|
3104
|
+
}), zi = (e, t) => {
|
|
3105
|
+
let n = oe.decodeUnknownEither(e.payload, { errors: "all" })(t);
|
|
3024
3106
|
if (n._tag === "Right") return {
|
|
3025
3107
|
valid: !0,
|
|
3026
3108
|
errors: {}
|
|
3027
3109
|
};
|
|
3028
3110
|
let r = {};
|
|
3029
|
-
for (let e of
|
|
3111
|
+
for (let e of he.formatErrorSync(n.left)) r[e.path.join(".") || "(root)"] = e.message;
|
|
3030
3112
|
return {
|
|
3031
3113
|
valid: !1,
|
|
3032
3114
|
errors: r
|
|
3033
3115
|
};
|
|
3034
|
-
},
|
|
3116
|
+
}, Bi = (e) => {
|
|
3035
3117
|
let t = new Map(e.map((e) => [e.name, e]));
|
|
3036
3118
|
return {
|
|
3037
3119
|
names: [...t.keys()].sort(),
|
|
3038
3120
|
get: (e) => t.get(e),
|
|
3039
3121
|
events: e
|
|
3040
3122
|
};
|
|
3041
|
-
},
|
|
3042
|
-
let n =
|
|
3123
|
+
}, Vi = (e, t) => {
|
|
3124
|
+
let n = Bi(e);
|
|
3043
3125
|
return {
|
|
3044
3126
|
track: (e, r) => {
|
|
3045
3127
|
let i = n.get(e);
|
|
@@ -3048,7 +3130,7 @@ var Lr = () => _(Fr), Rr = (e) => Nr(Lr().scopes, e), zr = (e) => Pr(Lr().scopes
|
|
|
3048
3130
|
return;
|
|
3049
3131
|
}
|
|
3050
3132
|
if (process.env.NODE_ENV !== "production") {
|
|
3051
|
-
let t =
|
|
3133
|
+
let t = zi(i, r);
|
|
3052
3134
|
t.valid || console.error(`[@voltro/client] analytics.track('${e}'): payload failed its schema`, t.errors);
|
|
3053
3135
|
}
|
|
3054
3136
|
t({
|
|
@@ -3059,49 +3141,49 @@ var Lr = () => _(Fr), Rr = (e) => Nr(Lr().scopes, e), zr = (e) => Pr(Lr().scopes
|
|
|
3059
3141
|
names: n.names,
|
|
3060
3142
|
catalog: n
|
|
3061
3143
|
};
|
|
3062
|
-
},
|
|
3063
|
-
let n =
|
|
3144
|
+
}, Hi = (e, t) => {
|
|
3145
|
+
let n = _n(e, t);
|
|
3064
3146
|
return {
|
|
3065
|
-
preview:
|
|
3147
|
+
preview: w((e) => n.run(e), [n]),
|
|
3066
3148
|
diff: n.lastResult,
|
|
3067
3149
|
pending: n.pending,
|
|
3068
3150
|
error: n.error
|
|
3069
3151
|
};
|
|
3070
|
-
},
|
|
3152
|
+
}, Ui = (e, t, n, r) => [...e, {
|
|
3071
3153
|
id: t,
|
|
3072
3154
|
tag: n,
|
|
3073
3155
|
input: r,
|
|
3074
3156
|
status: "pending",
|
|
3075
3157
|
attempts: 0
|
|
3076
|
-
}],
|
|
3158
|
+
}], Wi = (e, t, n) => e.map((e) => e.id === t ? {
|
|
3077
3159
|
...e,
|
|
3078
3160
|
...n
|
|
3079
|
-
} : e),
|
|
3161
|
+
} : e), Gi = (e, t) => Wi(e, t, { status: "sent" }), Ki = (e, t, n) => e.map((e) => e.id === t ? {
|
|
3080
3162
|
...e,
|
|
3081
3163
|
status: "failed",
|
|
3082
3164
|
error: n,
|
|
3083
3165
|
attempts: e.attempts + 1
|
|
3084
|
-
} : e),
|
|
3166
|
+
} : e), qi = (e, t, n) => Wi(e, t, {
|
|
3085
3167
|
status: "conflict",
|
|
3086
3168
|
error: n
|
|
3087
|
-
}),
|
|
3169
|
+
}), Ji = (e, t, n) => e.map((e) => e.id === t && e.status === "conflict" ? {
|
|
3088
3170
|
...e,
|
|
3089
3171
|
input: n,
|
|
3090
3172
|
status: "pending",
|
|
3091
3173
|
error: void 0
|
|
3092
|
-
} : e),
|
|
3174
|
+
} : e), Yi = (e) => e.filter((e) => e.status !== "sent"), Xi = (e) => {
|
|
3093
3175
|
let t = [];
|
|
3094
3176
|
for (let n of e) {
|
|
3095
3177
|
if (n.status === "conflict") break;
|
|
3096
3178
|
(n.status === "pending" || n.status === "failed") && t.push(n);
|
|
3097
3179
|
}
|
|
3098
3180
|
return t;
|
|
3099
|
-
},
|
|
3181
|
+
}, Zi = (e) => {
|
|
3100
3182
|
let t = e;
|
|
3101
3183
|
return t?.conflict === !0 || t?._tag === "UndoBoundaryError" && t?.boundary === "conflict";
|
|
3102
|
-
},
|
|
3103
|
-
let [t, n] =
|
|
3104
|
-
return
|
|
3184
|
+
}, Qi = (e) => {
|
|
3185
|
+
let [t, n] = k(e ?? (typeof navigator < "u" ? navigator.onLine : !0));
|
|
3186
|
+
return E(() => {
|
|
3105
3187
|
if (e !== void 0) {
|
|
3106
3188
|
n(e);
|
|
3107
3189
|
return;
|
|
@@ -3112,11 +3194,11 @@ var Lr = () => _(Fr), Rr = (e) => Nr(Lr().scopes, e), zr = (e) => Pr(Lr().scopes
|
|
|
3112
3194
|
window.removeEventListener("online", t), window.removeEventListener("offline", r);
|
|
3113
3195
|
};
|
|
3114
3196
|
}, [e]), t;
|
|
3115
|
-
},
|
|
3116
|
-
let { send: t, persistence: n, isConflict: r =
|
|
3197
|
+
}, $i = (e) => {
|
|
3198
|
+
let { send: t, persistence: n, isConflict: r = Zi, idFor: i } = e, [a, o] = k([]), s = Qi(e.online), c = O(a);
|
|
3117
3199
|
c.current = a;
|
|
3118
|
-
let l =
|
|
3119
|
-
|
|
3200
|
+
let l = O(0), u = O(Math.random().toString(36).slice(2, 8)), d = O(n === void 0);
|
|
3201
|
+
E(() => {
|
|
3120
3202
|
if (n === void 0 || d.current) return;
|
|
3121
3203
|
let e = !1;
|
|
3122
3204
|
return n.load().then((t) => {
|
|
@@ -3126,28 +3208,28 @@ var Lr = () => _(Fr), Rr = (e) => Nr(Lr().scopes, e), zr = (e) => Pr(Lr().scopes
|
|
|
3126
3208
|
}), () => {
|
|
3127
3209
|
e = !0;
|
|
3128
3210
|
};
|
|
3129
|
-
}, [n]),
|
|
3130
|
-
n === void 0 || !d.current || n.save(
|
|
3211
|
+
}, [n]), E(() => {
|
|
3212
|
+
n === void 0 || !d.current || n.save(Yi(a)).catch(() => {});
|
|
3131
3213
|
}, [n, a]);
|
|
3132
|
-
let f =
|
|
3214
|
+
let f = w((e, t) => {
|
|
3133
3215
|
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) =>
|
|
3216
|
+
o((r) => Ui(r, n, e, t));
|
|
3217
|
+
}, [i]), p = w(async () => {
|
|
3218
|
+
for (let e of Xi(c.current)) try {
|
|
3219
|
+
await t(e), o((t) => Gi(t, e.id));
|
|
3138
3220
|
} catch (t) {
|
|
3139
3221
|
if (r(t)) {
|
|
3140
|
-
o((n) =>
|
|
3222
|
+
o((n) => qi(n, e.id, t));
|
|
3141
3223
|
break;
|
|
3142
3224
|
}
|
|
3143
|
-
o((n) =>
|
|
3225
|
+
o((n) => Ki(n, e.id, t));
|
|
3144
3226
|
}
|
|
3145
3227
|
}, [t, r]);
|
|
3146
|
-
|
|
3228
|
+
E(() => {
|
|
3147
3229
|
s && p();
|
|
3148
3230
|
}, [s, p]);
|
|
3149
|
-
let m =
|
|
3150
|
-
let n =
|
|
3231
|
+
let m = w((e, t) => {
|
|
3232
|
+
let n = Ji(c.current, e, t);
|
|
3151
3233
|
c.current = n, o(n), s && p();
|
|
3152
3234
|
}, [s, p]);
|
|
3153
3235
|
return {
|
|
@@ -3159,7 +3241,7 @@ var Lr = () => _(Fr), Rr = (e) => Nr(Lr().scopes, e), zr = (e) => Pr(Lr().scopes
|
|
|
3159
3241
|
conflicts: a.filter((e) => e.status === "conflict"),
|
|
3160
3242
|
resolveConflict: m
|
|
3161
3243
|
};
|
|
3162
|
-
},
|
|
3244
|
+
}, ea = (e) => {
|
|
3163
3245
|
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
3246
|
return {
|
|
3165
3247
|
startIndex: l,
|
|
@@ -3169,8 +3251,8 @@ var Lr = () => _(Fr), Rr = (e) => Nr(Lr().scopes, e), zr = (e) => Pr(Lr().scopes
|
|
|
3169
3251
|
topSpacer: l * r,
|
|
3170
3252
|
bottomSpacer: a === void 0 ? 0 : Math.max(0, (a - d) * r)
|
|
3171
3253
|
};
|
|
3172
|
-
},
|
|
3173
|
-
let { rowHeight: r, viewportHeight: i, overscan: a, total: o, input: s } = n, [c, l] =
|
|
3254
|
+
}, ta = (e, t, n) => {
|
|
3255
|
+
let { rowHeight: r, viewportHeight: i, overscan: a, total: o, input: s } = n, [c, l] = k(0), u = D(() => ea({
|
|
3174
3256
|
scrollTop: c,
|
|
3175
3257
|
viewportHeight: i,
|
|
3176
3258
|
rowHeight: r,
|
|
@@ -3182,7 +3264,7 @@ var Lr = () => _(Fr), Rr = (e) => Nr(Lr().scopes, e), zr = (e) => Pr(Lr().scopes
|
|
|
3182
3264
|
r,
|
|
3183
3265
|
a,
|
|
3184
3266
|
o
|
|
3185
|
-
]), d =
|
|
3267
|
+
]), d = J(e, t, D(() => ({
|
|
3186
3268
|
...s,
|
|
3187
3269
|
offset: u.offset,
|
|
3188
3270
|
limit: u.limit
|
|
@@ -3190,7 +3272,7 @@ var Lr = () => _(Fr), Rr = (e) => Nr(Lr().scopes, e), zr = (e) => Pr(Lr().scopes
|
|
|
3190
3272
|
s,
|
|
3191
3273
|
u.offset,
|
|
3192
3274
|
u.limit
|
|
3193
|
-
])), f =
|
|
3275
|
+
])), f = w((e) => {
|
|
3194
3276
|
l(e.currentTarget.scrollTop);
|
|
3195
3277
|
}, []);
|
|
3196
3278
|
return {
|
|
@@ -3202,11 +3284,11 @@ var Lr = () => _(Fr), Rr = (e) => Nr(Lr().scopes, e), zr = (e) => Pr(Lr().scopes
|
|
|
3202
3284
|
loading: d.data === void 0,
|
|
3203
3285
|
error: d.error
|
|
3204
3286
|
};
|
|
3205
|
-
},
|
|
3206
|
-
let { errorBus: t } =
|
|
3207
|
-
|
|
3287
|
+
}, na = () => typeof navigator > "u" || navigator.onLine, ra = (e) => {
|
|
3288
|
+
let { errorBus: t } = K(e), [n, r] = k(na), [i, a] = k(0), [o, s] = k(void 0), c = O(!0);
|
|
3289
|
+
E(() => (c.current = !0, () => {
|
|
3208
3290
|
c.current = !1;
|
|
3209
|
-
}), []),
|
|
3291
|
+
}), []), E(() => {
|
|
3210
3292
|
if (typeof window > "u") return;
|
|
3211
3293
|
let e = () => {
|
|
3212
3294
|
r(!0), a(0);
|
|
@@ -3214,12 +3296,12 @@ var Lr = () => _(Fr), Rr = (e) => Nr(Lr().scopes, e), zr = (e) => Pr(Lr().scopes
|
|
|
3214
3296
|
return window.addEventListener("online", e), window.addEventListener("offline", t), () => {
|
|
3215
3297
|
window.removeEventListener("online", e), window.removeEventListener("offline", t);
|
|
3216
3298
|
};
|
|
3217
|
-
}, []),
|
|
3299
|
+
}, []), E(() => {
|
|
3218
3300
|
if (t?.on) return t.on(() => {
|
|
3219
3301
|
c.current && (a((e) => e + 1), s(Date.now()));
|
|
3220
3302
|
});
|
|
3221
3303
|
}, [t]);
|
|
3222
|
-
let l =
|
|
3304
|
+
let l = w(() => {
|
|
3223
3305
|
a(0);
|
|
3224
3306
|
}, []);
|
|
3225
3307
|
return {
|
|
@@ -3229,7 +3311,7 @@ var Lr = () => _(Fr), Rr = (e) => Nr(Lr().scopes, e), zr = (e) => Pr(Lr().scopes
|
|
|
3229
3311
|
lastFailureAt: o,
|
|
3230
3312
|
reportSuccess: l
|
|
3231
3313
|
};
|
|
3232
|
-
},
|
|
3314
|
+
}, ia = "__voltro.connections.list", aa = "__voltro.connections.start", oa = "__voltro.connections.submitToken", sa = "__voltro.connections.disconnect", ca = {
|
|
3233
3315
|
connectionId: "",
|
|
3234
3316
|
kind: "oauth2",
|
|
3235
3317
|
label: "",
|
|
@@ -3240,14 +3322,14 @@ var Lr = () => _(Fr), Rr = (e) => Nr(Lr().scopes, e), zr = (e) => Pr(Lr().scopes
|
|
|
3240
3322
|
expiresAt: null,
|
|
3241
3323
|
lastError: null,
|
|
3242
3324
|
connectedAt: null
|
|
3243
|
-
},
|
|
3325
|
+
}, la = (e, t) => {
|
|
3244
3326
|
if (t === "redirect") {
|
|
3245
3327
|
globalThis.location.assign(e);
|
|
3246
3328
|
return;
|
|
3247
3329
|
}
|
|
3248
3330
|
globalThis.open(e, "voltro-connect", "width=620,height=760,menubar=no,toolbar=no") === null && globalThis.location.assign(e);
|
|
3249
|
-
},
|
|
3250
|
-
let { data: t } =
|
|
3331
|
+
}, ua = (e) => {
|
|
3332
|
+
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
3333
|
...e,
|
|
3252
3334
|
connected: e.status === "connected",
|
|
3253
3335
|
needsAttention: e.status === "expired" || e.status === "revoked" || e.status === "error",
|
|
@@ -3255,7 +3337,7 @@ var Lr = () => _(Fr), Rr = (e) => Nr(Lr().scopes, e), zr = (e) => Pr(Lr().scopes
|
|
|
3255
3337
|
connect: async (t) => {
|
|
3256
3338
|
if (e.kind !== "oauth2") throw Error(`connection "${e.connectionId}" is a personal-access-token connection — call submitToken(token), not connect().`);
|
|
3257
3339
|
let r = t?.redirectTo ?? `${globalThis.location.pathname}${globalThis.location.search}`;
|
|
3258
|
-
|
|
3340
|
+
la((await n.run({
|
|
3259
3341
|
connectionId: e.connectionId,
|
|
3260
3342
|
redirectTo: r
|
|
3261
3343
|
})).authorizeUrl, t?.mode);
|
|
@@ -3275,7 +3357,7 @@ var Lr = () => _(Fr), Rr = (e) => Nr(Lr().scopes, e), zr = (e) => Pr(Lr().scopes
|
|
|
3275
3357
|
n,
|
|
3276
3358
|
r,
|
|
3277
3359
|
i
|
|
3278
|
-
]), c =
|
|
3360
|
+
]), c = w((e) => {
|
|
3279
3361
|
let t = a.find((t) => t.connectionId === e);
|
|
3280
3362
|
return t === void 0 ? void 0 : s(t);
|
|
3281
3363
|
}, [a, s]);
|
|
@@ -3285,10 +3367,10 @@ var Lr = () => _(Fr), Rr = (e) => Nr(Lr().scopes, e), zr = (e) => Pr(Lr().scopes
|
|
|
3285
3367
|
get: c,
|
|
3286
3368
|
pending: o
|
|
3287
3369
|
};
|
|
3288
|
-
},
|
|
3289
|
-
let n =
|
|
3290
|
-
return
|
|
3291
|
-
...
|
|
3370
|
+
}, da = (e, t) => {
|
|
3371
|
+
let n = ua(e), r = n.get(t);
|
|
3372
|
+
return D(() => r === void 0 ? {
|
|
3373
|
+
...ca,
|
|
3292
3374
|
connectionId: t,
|
|
3293
3375
|
label: t,
|
|
3294
3376
|
connected: !1,
|
|
@@ -3313,6 +3395,6 @@ var Lr = () => _(Fr), Rr = (e) => Nr(Lr().scopes, e), zr = (e) => Pr(Lr().scopes
|
|
|
3313
3395
|
n.loading,
|
|
3314
3396
|
n.pending
|
|
3315
3397
|
]);
|
|
3316
|
-
},
|
|
3398
|
+
}, fa = "framework-client";
|
|
3317
3399
|
//#endregion
|
|
3318
|
-
export {
|
|
3400
|
+
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 };
|