@devqubit/ui 0.1.11-beta.1 → 0.1.11
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/dist/components/Layout/Layout.d.ts.map +1 -1
- package/dist/hooks/index.d.ts +0 -2
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/index.cjs +7 -7
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +397 -423
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/dist/hooks/useTheme.d.ts +0 -29
- package/dist/hooks/useTheme.d.ts.map +0 -1
package/dist/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { useLocation as
|
|
1
|
+
import ks, { useState as T, useEffect as je, useContext as Ss, useCallback as _e, createContext as Ps, useRef as _s, forwardRef as Xe } from "react";
|
|
2
|
+
import { useLocation as ur, Link as z, useSearchParams as $e, useParams as Qe, useNavigate as hr, Navigate as xr, createBrowserRouter as mr, RouterProvider as fr } from "react-router-dom";
|
|
3
3
|
var Fe = { exports: {} }, be = {};
|
|
4
|
-
var
|
|
5
|
-
function
|
|
6
|
-
if (
|
|
7
|
-
|
|
8
|
-
var r =
|
|
4
|
+
var ws;
|
|
5
|
+
function jr() {
|
|
6
|
+
if (ws) return be;
|
|
7
|
+
ws = 1;
|
|
8
|
+
var r = ks, t = /* @__PURE__ */ Symbol.for("react.element"), n = /* @__PURE__ */ Symbol.for("react.fragment"), a = Object.prototype.hasOwnProperty, u = r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, o = { key: !0, ref: !0, __self: !0, __source: !0 };
|
|
9
9
|
function d(i, f, h) {
|
|
10
10
|
var m, p = {}, _ = null, U = null;
|
|
11
11
|
h !== void 0 && (_ = "" + h), f.key !== void 0 && (_ = "" + f.key), f.ref !== void 0 && (U = f.ref);
|
|
@@ -15,11 +15,11 @@ function pr() {
|
|
|
15
15
|
}
|
|
16
16
|
return be.Fragment = n, be.jsx = d, be.jsxs = d, be;
|
|
17
17
|
}
|
|
18
|
-
var
|
|
19
|
-
var
|
|
20
|
-
function
|
|
21
|
-
return
|
|
22
|
-
var r =
|
|
18
|
+
var ye = {};
|
|
19
|
+
var Rs;
|
|
20
|
+
function pr() {
|
|
21
|
+
return Rs || (Rs = 1, process.env.NODE_ENV !== "production" && (function() {
|
|
22
|
+
var r = ks, t = /* @__PURE__ */ Symbol.for("react.element"), n = /* @__PURE__ */ Symbol.for("react.portal"), a = /* @__PURE__ */ Symbol.for("react.fragment"), u = /* @__PURE__ */ Symbol.for("react.strict_mode"), o = /* @__PURE__ */ Symbol.for("react.profiler"), d = /* @__PURE__ */ Symbol.for("react.provider"), i = /* @__PURE__ */ Symbol.for("react.context"), f = /* @__PURE__ */ Symbol.for("react.forward_ref"), h = /* @__PURE__ */ Symbol.for("react.suspense"), m = /* @__PURE__ */ Symbol.for("react.suspense_list"), p = /* @__PURE__ */ Symbol.for("react.memo"), _ = /* @__PURE__ */ Symbol.for("react.lazy"), U = /* @__PURE__ */ Symbol.for("react.offscreen"), w = Symbol.iterator, H = "@@iterator";
|
|
23
23
|
function k(s) {
|
|
24
24
|
if (s === null || typeof s != "object")
|
|
25
25
|
return null;
|
|
@@ -27,7 +27,7 @@ function gr() {
|
|
|
27
27
|
return typeof l == "function" ? l : null;
|
|
28
28
|
}
|
|
29
29
|
var O = r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
|
|
30
|
-
function
|
|
30
|
+
function S(s) {
|
|
31
31
|
{
|
|
32
32
|
for (var l = arguments.length, x = new Array(l > 1 ? l - 1 : 0), g = 1; g < l; g++)
|
|
33
33
|
x[g - 1] = arguments[g];
|
|
@@ -53,7 +53,7 @@ function gr() {
|
|
|
53
53
|
// with.
|
|
54
54
|
s.$$typeof === pe || s.getModuleId !== void 0));
|
|
55
55
|
}
|
|
56
|
-
function
|
|
56
|
+
function Ie(s, l, x) {
|
|
57
57
|
var g = s.displayName;
|
|
58
58
|
if (g)
|
|
59
59
|
return g;
|
|
@@ -63,10 +63,10 @@ function gr() {
|
|
|
63
63
|
function ke(s) {
|
|
64
64
|
return s.displayName || "Context";
|
|
65
65
|
}
|
|
66
|
-
function
|
|
66
|
+
function y(s) {
|
|
67
67
|
if (s == null)
|
|
68
68
|
return null;
|
|
69
|
-
if (typeof s.tag == "number" &&
|
|
69
|
+
if (typeof s.tag == "number" && S("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), typeof s == "function")
|
|
70
70
|
return s.displayName || s.name || null;
|
|
71
71
|
if (typeof s == "string")
|
|
72
72
|
return s;
|
|
@@ -93,14 +93,14 @@ function gr() {
|
|
|
93
93
|
var x = s;
|
|
94
94
|
return ke(x._context) + ".Provider";
|
|
95
95
|
case f:
|
|
96
|
-
return
|
|
96
|
+
return Ie(s, s.render, "ForwardRef");
|
|
97
97
|
case p:
|
|
98
98
|
var g = s.displayName || null;
|
|
99
|
-
return g !== null ? g :
|
|
99
|
+
return g !== null ? g : y(s.type) || "Memo";
|
|
100
100
|
case _: {
|
|
101
101
|
var E = s, C = E._payload, R = E._init;
|
|
102
102
|
try {
|
|
103
|
-
return
|
|
103
|
+
return y(R(C));
|
|
104
104
|
} catch {
|
|
105
105
|
return null;
|
|
106
106
|
}
|
|
@@ -108,18 +108,18 @@ function gr() {
|
|
|
108
108
|
}
|
|
109
109
|
return null;
|
|
110
110
|
}
|
|
111
|
-
var P = Object.assign, ce = 0, ge,
|
|
112
|
-
function
|
|
111
|
+
var P = Object.assign, ce = 0, ge, Se, le, ts, ns, as, is;
|
|
112
|
+
function cs() {
|
|
113
113
|
}
|
|
114
|
-
|
|
115
|
-
function
|
|
114
|
+
cs.__reactDisabledLog = !0;
|
|
115
|
+
function Bs() {
|
|
116
116
|
{
|
|
117
117
|
if (ce === 0) {
|
|
118
|
-
ge = console.log,
|
|
118
|
+
ge = console.log, Se = console.info, le = console.warn, ts = console.error, ns = console.group, as = console.groupCollapsed, is = console.groupEnd;
|
|
119
119
|
var s = {
|
|
120
120
|
configurable: !0,
|
|
121
121
|
enumerable: !0,
|
|
122
|
-
value:
|
|
122
|
+
value: cs,
|
|
123
123
|
writable: !0
|
|
124
124
|
};
|
|
125
125
|
Object.defineProperties(console, {
|
|
@@ -148,29 +148,29 @@ function gr() {
|
|
|
148
148
|
value: ge
|
|
149
149
|
}),
|
|
150
150
|
info: P({}, s, {
|
|
151
|
-
value:
|
|
151
|
+
value: Se
|
|
152
152
|
}),
|
|
153
153
|
warn: P({}, s, {
|
|
154
154
|
value: le
|
|
155
155
|
}),
|
|
156
156
|
error: P({}, s, {
|
|
157
|
-
value:
|
|
157
|
+
value: ts
|
|
158
158
|
}),
|
|
159
159
|
group: P({}, s, {
|
|
160
|
-
value:
|
|
160
|
+
value: ns
|
|
161
161
|
}),
|
|
162
162
|
groupCollapsed: P({}, s, {
|
|
163
|
-
value:
|
|
163
|
+
value: as
|
|
164
164
|
}),
|
|
165
165
|
groupEnd: P({}, s, {
|
|
166
|
-
value:
|
|
166
|
+
value: is
|
|
167
167
|
})
|
|
168
168
|
});
|
|
169
169
|
}
|
|
170
|
-
ce < 0 &&
|
|
170
|
+
ce < 0 && S("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
|
|
171
171
|
}
|
|
172
172
|
}
|
|
173
|
-
var
|
|
173
|
+
var qe = O.ReactCurrentDispatcher, Ue;
|
|
174
174
|
function Pe(s, l, x) {
|
|
175
175
|
{
|
|
176
176
|
if (Ue === void 0)
|
|
@@ -184,16 +184,16 @@ function gr() {
|
|
|
184
184
|
` + Ue + s;
|
|
185
185
|
}
|
|
186
186
|
}
|
|
187
|
-
var Me = !1,
|
|
187
|
+
var Me = !1, Te;
|
|
188
188
|
{
|
|
189
|
-
var
|
|
190
|
-
|
|
189
|
+
var qs = typeof WeakMap == "function" ? WeakMap : Map;
|
|
190
|
+
Te = new qs();
|
|
191
191
|
}
|
|
192
|
-
function
|
|
192
|
+
function ls(s, l) {
|
|
193
193
|
if (!s || Me)
|
|
194
194
|
return "";
|
|
195
195
|
{
|
|
196
|
-
var x =
|
|
196
|
+
var x = Te.get(s);
|
|
197
197
|
if (x !== void 0)
|
|
198
198
|
return x;
|
|
199
199
|
}
|
|
@@ -202,7 +202,7 @@ function gr() {
|
|
|
202
202
|
var E = Error.prepareStackTrace;
|
|
203
203
|
Error.prepareStackTrace = void 0;
|
|
204
204
|
var C;
|
|
205
|
-
C =
|
|
205
|
+
C = qe.current, qe.current = null, Bs();
|
|
206
206
|
try {
|
|
207
207
|
if (l) {
|
|
208
208
|
var R = function() {
|
|
@@ -238,32 +238,32 @@ function gr() {
|
|
|
238
238
|
} catch (M) {
|
|
239
239
|
if (M && g && typeof M.stack == "string") {
|
|
240
240
|
for (var v = M.stack.split(`
|
|
241
|
-
`),
|
|
242
|
-
`), A = v.length - 1, F =
|
|
241
|
+
`), q = g.stack.split(`
|
|
242
|
+
`), A = v.length - 1, F = q.length - 1; A >= 1 && F >= 0 && v[A] !== q[F]; )
|
|
243
243
|
F--;
|
|
244
244
|
for (; A >= 1 && F >= 0; A--, F--)
|
|
245
|
-
if (v[A] !==
|
|
245
|
+
if (v[A] !== q[F]) {
|
|
246
246
|
if (A !== 1 || F !== 1)
|
|
247
247
|
do
|
|
248
|
-
if (A--, F--, F < 0 || v[A] !==
|
|
248
|
+
if (A--, F--, F < 0 || v[A] !== q[F]) {
|
|
249
249
|
var X = `
|
|
250
250
|
` + v[A].replace(" at new ", " at ");
|
|
251
|
-
return s.displayName && X.includes("<anonymous>") && (X = X.replace("<anonymous>", s.displayName)), typeof s == "function" &&
|
|
251
|
+
return s.displayName && X.includes("<anonymous>") && (X = X.replace("<anonymous>", s.displayName)), typeof s == "function" && Te.set(s, X), X;
|
|
252
252
|
}
|
|
253
253
|
while (A >= 1 && F >= 0);
|
|
254
254
|
break;
|
|
255
255
|
}
|
|
256
256
|
}
|
|
257
257
|
} finally {
|
|
258
|
-
Me = !1,
|
|
258
|
+
Me = !1, qe.current = C, Is(), Error.prepareStackTrace = E;
|
|
259
259
|
}
|
|
260
260
|
var fe = s ? s.displayName || s.name : "", oe = fe ? Pe(fe) : "";
|
|
261
|
-
return typeof s == "function" &&
|
|
261
|
+
return typeof s == "function" && Te.set(s, oe), oe;
|
|
262
262
|
}
|
|
263
|
-
function
|
|
264
|
-
return
|
|
263
|
+
function Us(s, l, x) {
|
|
264
|
+
return ls(s, !1);
|
|
265
265
|
}
|
|
266
|
-
function
|
|
266
|
+
function Ms(s) {
|
|
267
267
|
var l = s.prototype;
|
|
268
268
|
return !!(l && l.isReactComponent);
|
|
269
269
|
}
|
|
@@ -271,7 +271,7 @@ function gr() {
|
|
|
271
271
|
if (s == null)
|
|
272
272
|
return "";
|
|
273
273
|
if (typeof s == "function")
|
|
274
|
-
return
|
|
274
|
+
return ls(s, Ms(s));
|
|
275
275
|
if (typeof s == "string")
|
|
276
276
|
return Pe(s);
|
|
277
277
|
switch (s) {
|
|
@@ -283,7 +283,7 @@ function gr() {
|
|
|
283
283
|
if (typeof s == "object")
|
|
284
284
|
switch (s.$$typeof) {
|
|
285
285
|
case f:
|
|
286
|
-
return
|
|
286
|
+
return Us(s.render);
|
|
287
287
|
case p:
|
|
288
288
|
return De(s.type, l, x);
|
|
289
289
|
case _: {
|
|
@@ -296,15 +296,15 @@ function gr() {
|
|
|
296
296
|
}
|
|
297
297
|
return "";
|
|
298
298
|
}
|
|
299
|
-
var ve = Object.prototype.hasOwnProperty,
|
|
299
|
+
var ve = Object.prototype.hasOwnProperty, os = {}, ds = O.ReactDebugCurrentFrame;
|
|
300
300
|
function Ae(s) {
|
|
301
301
|
if (s) {
|
|
302
302
|
var l = s._owner, x = De(s.type, s._source, l ? l.type : null);
|
|
303
|
-
|
|
303
|
+
ds.setExtraStackFrame(x);
|
|
304
304
|
} else
|
|
305
|
-
|
|
305
|
+
ds.setExtraStackFrame(null);
|
|
306
306
|
}
|
|
307
|
-
function
|
|
307
|
+
function Ws(s, l, x, g, E) {
|
|
308
308
|
{
|
|
309
309
|
var C = Function.call.bind(ve);
|
|
310
310
|
for (var R in s)
|
|
@@ -312,48 +312,48 @@ function gr() {
|
|
|
312
312
|
var v = void 0;
|
|
313
313
|
try {
|
|
314
314
|
if (typeof s[R] != "function") {
|
|
315
|
-
var
|
|
316
|
-
throw
|
|
315
|
+
var q = Error((g || "React class") + ": " + x + " type `" + R + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof s[R] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
|
|
316
|
+
throw q.name = "Invariant Violation", q;
|
|
317
317
|
}
|
|
318
318
|
v = s[R](l, R, g, x, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED");
|
|
319
319
|
} catch (A) {
|
|
320
320
|
v = A;
|
|
321
321
|
}
|
|
322
|
-
v && !(v instanceof Error) && (Ae(E),
|
|
322
|
+
v && !(v instanceof Error) && (Ae(E), S("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", g || "React class", x, R, typeof v), Ae(null)), v instanceof Error && !(v.message in os) && (os[v.message] = !0, Ae(E), S("Failed %s type: %s", x, v.message), Ae(null));
|
|
323
323
|
}
|
|
324
324
|
}
|
|
325
325
|
}
|
|
326
|
-
var
|
|
326
|
+
var Gs = Array.isArray;
|
|
327
327
|
function We(s) {
|
|
328
|
-
return
|
|
328
|
+
return Gs(s);
|
|
329
329
|
}
|
|
330
|
-
function
|
|
330
|
+
function Vs(s) {
|
|
331
331
|
{
|
|
332
332
|
var l = typeof Symbol == "function" && Symbol.toStringTag, x = l && s[Symbol.toStringTag] || s.constructor.name || "Object";
|
|
333
333
|
return x;
|
|
334
334
|
}
|
|
335
335
|
}
|
|
336
|
-
function
|
|
336
|
+
function zs(s) {
|
|
337
337
|
try {
|
|
338
|
-
return
|
|
338
|
+
return us(s), !1;
|
|
339
339
|
} catch {
|
|
340
340
|
return !0;
|
|
341
341
|
}
|
|
342
342
|
}
|
|
343
|
-
function
|
|
343
|
+
function us(s) {
|
|
344
344
|
return "" + s;
|
|
345
345
|
}
|
|
346
|
-
function
|
|
347
|
-
if (
|
|
348
|
-
return
|
|
346
|
+
function hs(s) {
|
|
347
|
+
if (zs(s))
|
|
348
|
+
return S("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", Vs(s)), us(s);
|
|
349
349
|
}
|
|
350
|
-
var
|
|
350
|
+
var xs = O.ReactCurrentOwner, Ys = {
|
|
351
351
|
key: !0,
|
|
352
352
|
ref: !0,
|
|
353
353
|
__self: !0,
|
|
354
354
|
__source: !0
|
|
355
|
-
},
|
|
356
|
-
function
|
|
355
|
+
}, ms, fs;
|
|
356
|
+
function Ks(s) {
|
|
357
357
|
if (ve.call(s, "ref")) {
|
|
358
358
|
var l = Object.getOwnPropertyDescriptor(s, "ref").get;
|
|
359
359
|
if (l && l.isReactWarning)
|
|
@@ -361,7 +361,7 @@ function gr() {
|
|
|
361
361
|
}
|
|
362
362
|
return s.ref !== void 0;
|
|
363
363
|
}
|
|
364
|
-
function
|
|
364
|
+
function Hs(s) {
|
|
365
365
|
if (ve.call(s, "key")) {
|
|
366
366
|
var l = Object.getOwnPropertyDescriptor(s, "key").get;
|
|
367
367
|
if (l && l.isReactWarning)
|
|
@@ -369,13 +369,13 @@ function gr() {
|
|
|
369
369
|
}
|
|
370
370
|
return s.key !== void 0;
|
|
371
371
|
}
|
|
372
|
-
function
|
|
373
|
-
typeof s.ref == "string" &&
|
|
372
|
+
function Js(s, l) {
|
|
373
|
+
typeof s.ref == "string" && xs.current;
|
|
374
374
|
}
|
|
375
|
-
function
|
|
375
|
+
function Xs(s, l) {
|
|
376
376
|
{
|
|
377
377
|
var x = function() {
|
|
378
|
-
|
|
378
|
+
ms || (ms = !0, S("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", l));
|
|
379
379
|
};
|
|
380
380
|
x.isReactWarning = !0, Object.defineProperty(s, "key", {
|
|
381
381
|
get: x,
|
|
@@ -383,10 +383,10 @@ function gr() {
|
|
|
383
383
|
});
|
|
384
384
|
}
|
|
385
385
|
}
|
|
386
|
-
function
|
|
386
|
+
function Qs(s, l) {
|
|
387
387
|
{
|
|
388
388
|
var x = function() {
|
|
389
|
-
|
|
389
|
+
fs || (fs = !0, S("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", l));
|
|
390
390
|
};
|
|
391
391
|
x.isReactWarning = !0, Object.defineProperty(s, "ref", {
|
|
392
392
|
get: x,
|
|
@@ -394,7 +394,7 @@ function gr() {
|
|
|
394
394
|
});
|
|
395
395
|
}
|
|
396
396
|
}
|
|
397
|
-
var
|
|
397
|
+
var Zs = function(s, l, x, g, E, C, R) {
|
|
398
398
|
var v = {
|
|
399
399
|
// This tag allows us to uniquely identify this as a React Element
|
|
400
400
|
$$typeof: t,
|
|
@@ -423,41 +423,41 @@ function gr() {
|
|
|
423
423
|
value: E
|
|
424
424
|
}), Object.freeze && (Object.freeze(v.props), Object.freeze(v)), v;
|
|
425
425
|
};
|
|
426
|
-
function
|
|
426
|
+
function er(s, l, x, g, E) {
|
|
427
427
|
{
|
|
428
|
-
var C, R = {}, v = null,
|
|
429
|
-
x !== void 0 && (
|
|
428
|
+
var C, R = {}, v = null, q = null;
|
|
429
|
+
x !== void 0 && (hs(x), v = "" + x), Hs(l) && (hs(l.key), v = "" + l.key), Ks(l) && (q = l.ref, Js(l, E));
|
|
430
430
|
for (C in l)
|
|
431
|
-
ve.call(l, C) && !
|
|
431
|
+
ve.call(l, C) && !Ys.hasOwnProperty(C) && (R[C] = l[C]);
|
|
432
432
|
if (s && s.defaultProps) {
|
|
433
433
|
var A = s.defaultProps;
|
|
434
434
|
for (C in A)
|
|
435
435
|
R[C] === void 0 && (R[C] = A[C]);
|
|
436
436
|
}
|
|
437
|
-
if (v ||
|
|
437
|
+
if (v || q) {
|
|
438
438
|
var F = typeof s == "function" ? s.displayName || s.name || "Unknown" : s;
|
|
439
|
-
v &&
|
|
439
|
+
v && Xs(R, F), q && Qs(R, F);
|
|
440
440
|
}
|
|
441
|
-
return
|
|
441
|
+
return Zs(s, v, q, E, g, xs.current, R);
|
|
442
442
|
}
|
|
443
443
|
}
|
|
444
|
-
var Ge = O.ReactCurrentOwner,
|
|
444
|
+
var Ge = O.ReactCurrentOwner, js = O.ReactDebugCurrentFrame;
|
|
445
445
|
function me(s) {
|
|
446
446
|
if (s) {
|
|
447
447
|
var l = s._owner, x = De(s.type, s._source, l ? l.type : null);
|
|
448
|
-
|
|
448
|
+
js.setExtraStackFrame(x);
|
|
449
449
|
} else
|
|
450
|
-
|
|
450
|
+
js.setExtraStackFrame(null);
|
|
451
451
|
}
|
|
452
452
|
var Ve;
|
|
453
453
|
Ve = !1;
|
|
454
454
|
function ze(s) {
|
|
455
455
|
return typeof s == "object" && s !== null && s.$$typeof === t;
|
|
456
456
|
}
|
|
457
|
-
function
|
|
457
|
+
function ps() {
|
|
458
458
|
{
|
|
459
459
|
if (Ge.current) {
|
|
460
|
-
var s =
|
|
460
|
+
var s = y(Ge.current.type);
|
|
461
461
|
if (s)
|
|
462
462
|
return `
|
|
463
463
|
|
|
@@ -466,13 +466,13 @@ Check the render method of \`` + s + "`.";
|
|
|
466
466
|
return "";
|
|
467
467
|
}
|
|
468
468
|
}
|
|
469
|
-
function
|
|
469
|
+
function sr(s) {
|
|
470
470
|
return "";
|
|
471
471
|
}
|
|
472
|
-
var
|
|
473
|
-
function
|
|
472
|
+
var gs = {};
|
|
473
|
+
function rr(s) {
|
|
474
474
|
{
|
|
475
|
-
var l =
|
|
475
|
+
var l = ps();
|
|
476
476
|
if (!l) {
|
|
477
477
|
var x = typeof s == "string" ? s : s.displayName || s.name;
|
|
478
478
|
x && (l = `
|
|
@@ -482,27 +482,27 @@ Check the top-level render call using <` + x + ">.");
|
|
|
482
482
|
return l;
|
|
483
483
|
}
|
|
484
484
|
}
|
|
485
|
-
function
|
|
485
|
+
function vs(s, l) {
|
|
486
486
|
{
|
|
487
487
|
if (!s._store || s._store.validated || s.key != null)
|
|
488
488
|
return;
|
|
489
489
|
s._store.validated = !0;
|
|
490
|
-
var x =
|
|
491
|
-
if (
|
|
490
|
+
var x = rr(l);
|
|
491
|
+
if (gs[x])
|
|
492
492
|
return;
|
|
493
|
-
|
|
493
|
+
gs[x] = !0;
|
|
494
494
|
var g = "";
|
|
495
|
-
s && s._owner && s._owner !== Ge.current && (g = " It was passed a child from " +
|
|
495
|
+
s && s._owner && s._owner !== Ge.current && (g = " It was passed a child from " + y(s._owner.type) + "."), me(s), S('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', x, g), me(null);
|
|
496
496
|
}
|
|
497
497
|
}
|
|
498
|
-
function
|
|
498
|
+
function bs(s, l) {
|
|
499
499
|
{
|
|
500
500
|
if (typeof s != "object")
|
|
501
501
|
return;
|
|
502
502
|
if (We(s))
|
|
503
503
|
for (var x = 0; x < s.length; x++) {
|
|
504
504
|
var g = s[x];
|
|
505
|
-
ze(g) &&
|
|
505
|
+
ze(g) && vs(g, l);
|
|
506
506
|
}
|
|
507
507
|
else if (ze(s))
|
|
508
508
|
s._store && (s._store.validated = !0);
|
|
@@ -510,11 +510,11 @@ Check the top-level render call using <` + x + ">.");
|
|
|
510
510
|
var E = k(s);
|
|
511
511
|
if (typeof E == "function" && E !== s.entries)
|
|
512
512
|
for (var C = E.call(s), R; !(R = C.next()).done; )
|
|
513
|
-
ze(R.value) &&
|
|
513
|
+
ze(R.value) && vs(R.value, l);
|
|
514
514
|
}
|
|
515
515
|
}
|
|
516
516
|
}
|
|
517
|
-
function
|
|
517
|
+
function tr(s) {
|
|
518
518
|
{
|
|
519
519
|
var l = s.type;
|
|
520
520
|
if (l == null || typeof l == "string")
|
|
@@ -529,41 +529,41 @@ Check the top-level render call using <` + x + ">.");
|
|
|
529
529
|
else
|
|
530
530
|
return;
|
|
531
531
|
if (x) {
|
|
532
|
-
var g =
|
|
533
|
-
|
|
532
|
+
var g = y(l);
|
|
533
|
+
Ws(x, s.props, "prop", g, s);
|
|
534
534
|
} else if (l.PropTypes !== void 0 && !Ve) {
|
|
535
535
|
Ve = !0;
|
|
536
|
-
var E =
|
|
537
|
-
|
|
536
|
+
var E = y(l);
|
|
537
|
+
S("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", E || "Unknown");
|
|
538
538
|
}
|
|
539
|
-
typeof l.getDefaultProps == "function" && !l.getDefaultProps.isReactClassApproved &&
|
|
539
|
+
typeof l.getDefaultProps == "function" && !l.getDefaultProps.isReactClassApproved && S("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.");
|
|
540
540
|
}
|
|
541
541
|
}
|
|
542
|
-
function
|
|
542
|
+
function nr(s) {
|
|
543
543
|
{
|
|
544
544
|
for (var l = Object.keys(s.props), x = 0; x < l.length; x++) {
|
|
545
545
|
var g = l[x];
|
|
546
546
|
if (g !== "children" && g !== "key") {
|
|
547
|
-
me(s),
|
|
547
|
+
me(s), S("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", g), me(null);
|
|
548
548
|
break;
|
|
549
549
|
}
|
|
550
550
|
}
|
|
551
|
-
s.ref !== null && (me(s),
|
|
551
|
+
s.ref !== null && (me(s), S("Invalid attribute `ref` supplied to `React.Fragment`."), me(null));
|
|
552
552
|
}
|
|
553
553
|
}
|
|
554
|
-
var
|
|
555
|
-
function
|
|
554
|
+
var ys = {};
|
|
555
|
+
function Ns(s, l, x, g, E, C) {
|
|
556
556
|
{
|
|
557
557
|
var R = Be(s);
|
|
558
558
|
if (!R) {
|
|
559
559
|
var v = "";
|
|
560
560
|
(s === void 0 || typeof s == "object" && s !== null && Object.keys(s).length === 0) && (v += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");
|
|
561
|
-
var
|
|
562
|
-
|
|
561
|
+
var q = sr();
|
|
562
|
+
q ? v += q : v += ps();
|
|
563
563
|
var A;
|
|
564
|
-
s === null ? A = "null" : We(s) ? A = "array" : s !== void 0 && s.$$typeof === t ? (A = "<" + (
|
|
564
|
+
s === null ? A = "null" : We(s) ? A = "array" : s !== void 0 && s.$$typeof === t ? (A = "<" + (y(s.type) || "Unknown") + " />", v = " Did you accidentally export a JSX literal instead of a component?") : A = typeof s, S("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", A, v);
|
|
565
565
|
}
|
|
566
|
-
var F =
|
|
566
|
+
var F = er(s, l, x, E, C);
|
|
567
567
|
if (F == null)
|
|
568
568
|
return F;
|
|
569
569
|
if (R) {
|
|
@@ -572,51 +572,51 @@ Check the top-level render call using <` + x + ">.");
|
|
|
572
572
|
if (g)
|
|
573
573
|
if (We(X)) {
|
|
574
574
|
for (var fe = 0; fe < X.length; fe++)
|
|
575
|
-
|
|
575
|
+
bs(X[fe], s);
|
|
576
576
|
Object.freeze && Object.freeze(X);
|
|
577
577
|
} else
|
|
578
|
-
|
|
578
|
+
S("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
|
|
579
579
|
else
|
|
580
|
-
|
|
580
|
+
bs(X, s);
|
|
581
581
|
}
|
|
582
582
|
if (ve.call(l, "key")) {
|
|
583
|
-
var oe =
|
|
584
|
-
return
|
|
583
|
+
var oe = y(s), M = Object.keys(l).filter(function(dr) {
|
|
584
|
+
return dr !== "key";
|
|
585
585
|
}), Ye = M.length > 0 ? "{key: someKey, " + M.join(": ..., ") + ": ...}" : "{key: someKey}";
|
|
586
|
-
if (!
|
|
587
|
-
var
|
|
588
|
-
|
|
586
|
+
if (!ys[oe + Ye]) {
|
|
587
|
+
var or = M.length > 0 ? "{" + M.join(": ..., ") + ": ...}" : "{}";
|
|
588
|
+
S(`A props object containing a "key" prop is being spread into JSX:
|
|
589
589
|
let props = %s;
|
|
590
590
|
<%s {...props} />
|
|
591
591
|
React keys must be passed directly to JSX without using spread:
|
|
592
592
|
let props = %s;
|
|
593
|
-
<%s key={someKey} {...props} />`, Ye, oe,
|
|
593
|
+
<%s key={someKey} {...props} />`, Ye, oe, or, oe), ys[oe + Ye] = !0;
|
|
594
594
|
}
|
|
595
595
|
}
|
|
596
|
-
return s === a ?
|
|
596
|
+
return s === a ? nr(F) : tr(F), F;
|
|
597
597
|
}
|
|
598
598
|
}
|
|
599
|
-
function
|
|
600
|
-
return
|
|
599
|
+
function ar(s, l, x) {
|
|
600
|
+
return Ns(s, l, x, !0);
|
|
601
601
|
}
|
|
602
|
-
function
|
|
603
|
-
return
|
|
602
|
+
function ir(s, l, x) {
|
|
603
|
+
return Ns(s, l, x, !1);
|
|
604
604
|
}
|
|
605
|
-
var
|
|
606
|
-
|
|
607
|
-
})()),
|
|
605
|
+
var cr = ir, lr = ar;
|
|
606
|
+
ye.Fragment = a, ye.jsx = cr, ye.jsxs = lr;
|
|
607
|
+
})()), ye;
|
|
608
608
|
}
|
|
609
|
-
var
|
|
610
|
-
function
|
|
611
|
-
return
|
|
609
|
+
var Es;
|
|
610
|
+
function gr() {
|
|
611
|
+
return Es || (Es = 1, process.env.NODE_ENV === "production" ? Fe.exports = jr() : Fe.exports = pr()), Fe.exports;
|
|
612
612
|
}
|
|
613
|
-
var e =
|
|
613
|
+
var e = gr();
|
|
614
614
|
class we extends Error {
|
|
615
615
|
constructor(t, n) {
|
|
616
616
|
super(n), this.status = t, this.name = "ApiError";
|
|
617
617
|
}
|
|
618
618
|
}
|
|
619
|
-
class
|
|
619
|
+
class vr {
|
|
620
620
|
baseUrl;
|
|
621
621
|
headers;
|
|
622
622
|
constructor(t = {}) {
|
|
@@ -694,54 +694,28 @@ class br {
|
|
|
694
694
|
return `${this.baseUrl}/api/runs/${t}/export/download`;
|
|
695
695
|
}
|
|
696
696
|
}
|
|
697
|
-
const
|
|
698
|
-
function
|
|
699
|
-
const t = {
|
|
700
|
-
theme: "light",
|
|
701
|
-
resolvedTheme: "light",
|
|
702
|
-
setTheme: () => {
|
|
703
|
-
},
|
|
704
|
-
toggleTheme: () => {
|
|
705
|
-
}
|
|
706
|
-
};
|
|
707
|
-
return /* @__PURE__ */ e.jsx(Ss.Provider, { value: t, children: r });
|
|
708
|
-
}
|
|
709
|
-
function yr() {
|
|
710
|
-
const r = Xe(Ss);
|
|
711
|
-
return r || {
|
|
712
|
-
theme: "light",
|
|
713
|
-
resolvedTheme: "light",
|
|
714
|
-
setTheme: () => {
|
|
715
|
-
},
|
|
716
|
-
toggleTheme: () => {
|
|
717
|
-
}
|
|
718
|
-
};
|
|
719
|
-
}
|
|
720
|
-
function at() {
|
|
721
|
-
return yr();
|
|
722
|
-
}
|
|
723
|
-
const Ds = Qe(null);
|
|
724
|
-
function _r({
|
|
697
|
+
const br = new vr(), Ts = Ps(null);
|
|
698
|
+
function yr({
|
|
725
699
|
children: r,
|
|
726
|
-
api: t =
|
|
700
|
+
api: t = br,
|
|
727
701
|
initialWorkspace: n = null
|
|
728
702
|
}) {
|
|
729
|
-
const [a, u] =
|
|
703
|
+
const [a, u] = T(null), [o, d] = T(n);
|
|
730
704
|
return je(() => {
|
|
731
705
|
t.getCapabilities().then(u).catch(console.error);
|
|
732
|
-
}, [t]), /* @__PURE__ */ e.jsx(
|
|
706
|
+
}, [t]), /* @__PURE__ */ e.jsx(Ts.Provider, { value: { api: t, capabilities: a, currentWorkspace: o, setCurrentWorkspace: d }, children: r });
|
|
733
707
|
}
|
|
734
708
|
function K() {
|
|
735
|
-
const r =
|
|
709
|
+
const r = Ss(Ts);
|
|
736
710
|
if (!r) throw new Error("useApp must be used within AppProvider");
|
|
737
711
|
return r;
|
|
738
712
|
}
|
|
739
713
|
function ue(r, t = []) {
|
|
740
|
-
const [n, a] =
|
|
714
|
+
const [n, a] = T({
|
|
741
715
|
data: null,
|
|
742
716
|
loading: !0,
|
|
743
717
|
error: null
|
|
744
|
-
}), u =
|
|
718
|
+
}), u = _s(!0), o = _s(r);
|
|
745
719
|
o.current = r;
|
|
746
720
|
const d = _e(async () => {
|
|
747
721
|
a((i) => ({ ...i, loading: !0, error: null }));
|
|
@@ -760,14 +734,14 @@ function ue(r, t = []) {
|
|
|
760
734
|
u.current = !1;
|
|
761
735
|
}), t), { ...n, refetch: d };
|
|
762
736
|
}
|
|
763
|
-
function
|
|
737
|
+
function Ds(r) {
|
|
764
738
|
const { api: t, currentWorkspace: n } = K();
|
|
765
739
|
return ue(
|
|
766
740
|
() => t.listRuns({ ...r, workspace: n?.id }),
|
|
767
741
|
[t, n?.id, r?.project, r?.status, r?.q, r?.limit]
|
|
768
742
|
);
|
|
769
743
|
}
|
|
770
|
-
function
|
|
744
|
+
function As(r) {
|
|
771
745
|
const { api: t } = K();
|
|
772
746
|
return ue(
|
|
773
747
|
async () => {
|
|
@@ -787,7 +761,7 @@ function Le() {
|
|
|
787
761
|
[r, t?.id]
|
|
788
762
|
);
|
|
789
763
|
}
|
|
790
|
-
function
|
|
764
|
+
function Nr(r) {
|
|
791
765
|
const { api: t, currentWorkspace: n } = K();
|
|
792
766
|
return ue(
|
|
793
767
|
async () => {
|
|
@@ -797,21 +771,21 @@ function wr(r) {
|
|
|
797
771
|
[t, n?.id, r?.project]
|
|
798
772
|
);
|
|
799
773
|
}
|
|
800
|
-
function
|
|
774
|
+
function _r(r) {
|
|
801
775
|
const { api: t } = K();
|
|
802
776
|
return ue(
|
|
803
777
|
() => t.getGroup(r),
|
|
804
778
|
[t, r]
|
|
805
779
|
);
|
|
806
780
|
}
|
|
807
|
-
function
|
|
781
|
+
function wr(r, t) {
|
|
808
782
|
const { api: n } = K();
|
|
809
783
|
return ue(
|
|
810
784
|
() => n.getDiff(r, t),
|
|
811
785
|
[n, r, t]
|
|
812
786
|
);
|
|
813
787
|
}
|
|
814
|
-
function
|
|
788
|
+
function Rr(r, t) {
|
|
815
789
|
const { api: n } = K();
|
|
816
790
|
return ue(
|
|
817
791
|
() => n.getArtifact(r, t),
|
|
@@ -819,7 +793,7 @@ function Cr(r, t) {
|
|
|
819
793
|
);
|
|
820
794
|
}
|
|
821
795
|
function Re(r) {
|
|
822
|
-
const [t, n] =
|
|
796
|
+
const [t, n] = T(!1), [a, u] = T(null);
|
|
823
797
|
return { mutate: _e(async (...d) => {
|
|
824
798
|
n(!0), u(null);
|
|
825
799
|
try {
|
|
@@ -838,7 +812,7 @@ function Q(r) {
|
|
|
838
812
|
function He(r) {
|
|
839
813
|
return r?.slice(0, 12) ?? "N/A";
|
|
840
814
|
}
|
|
841
|
-
function
|
|
815
|
+
function Ze(r) {
|
|
842
816
|
const t = new Date(r), a = Math.floor(((/* @__PURE__ */ new Date()).getTime() - t.getTime()) / 1e3);
|
|
843
817
|
if (a < 60) return "just now";
|
|
844
818
|
if (a < 3600) {
|
|
@@ -860,19 +834,19 @@ function ss(r) {
|
|
|
860
834
|
const u = Math.floor(a / 31536e3);
|
|
861
835
|
return `${u} year${u !== 1 ? "s" : ""} ago`;
|
|
862
836
|
}
|
|
863
|
-
function
|
|
837
|
+
function Er(r, t = 6) {
|
|
864
838
|
return typeof r != "number" || isNaN(r) ? String(r) : Number(r.toPrecision(t)).toString();
|
|
865
839
|
}
|
|
866
840
|
function Oe(r) {
|
|
867
841
|
return r < 1024 ? `${r} bytes` : r < 1048576 ? `${(r / 1024).toFixed(1)} KB` : `${(r / 1048576).toFixed(1)} MB`;
|
|
868
842
|
}
|
|
869
|
-
function
|
|
843
|
+
function Cr(r) {
|
|
870
844
|
return JSON.stringify(r, null, 2);
|
|
871
845
|
}
|
|
872
|
-
function
|
|
846
|
+
function kr(r, t = 60) {
|
|
873
847
|
return r ? r.length <= t ? r : r.slice(0, t - 3) + "..." : "";
|
|
874
848
|
}
|
|
875
|
-
function
|
|
849
|
+
function rt(r, t) {
|
|
876
850
|
const n = new URLSearchParams();
|
|
877
851
|
Object.entries(t).forEach(([u, o]) => {
|
|
878
852
|
o != null && o !== "" && n.set(u, String(o));
|
|
@@ -889,48 +863,51 @@ const Sr = [
|
|
|
889
863
|
{ href: "/groups", label: "Groups", matchPaths: ["/groups"] },
|
|
890
864
|
{ href: "/diff", label: "Compare", matchPaths: ["/diff"] },
|
|
891
865
|
{ href: "/search", label: "Search", matchPaths: ["/search"] }
|
|
892
|
-
],
|
|
893
|
-
function
|
|
866
|
+
], Fs = Ps(null);
|
|
867
|
+
function tt({
|
|
894
868
|
config: r,
|
|
895
869
|
children: t
|
|
896
870
|
}) {
|
|
897
|
-
return /* @__PURE__ */ e.jsx(
|
|
871
|
+
return /* @__PURE__ */ e.jsx(Fs.Provider, { value: r, children: t });
|
|
898
872
|
}
|
|
899
|
-
function
|
|
900
|
-
return
|
|
873
|
+
function Pr() {
|
|
874
|
+
return Ss(Fs);
|
|
901
875
|
}
|
|
902
876
|
function V({ children: r, config: t }) {
|
|
903
|
-
const n =
|
|
877
|
+
const n = ur(), u = { ...Pr(), ...t }, o = u?.navLinks ?? Sr, d = [
|
|
904
878
|
...u?.prependNavLinks ?? [],
|
|
905
879
|
...o,
|
|
906
880
|
...u?.appendNavLinks ?? []
|
|
907
881
|
], i = u?.logo ?? { text: "devqubit", icon: "⚛" }, f = (h) => h.matchPaths ? h.matchPaths.some((m) => n.pathname.startsWith(m)) : n.pathname === h.href;
|
|
908
|
-
return /* @__PURE__ */ e.jsxs("div", { className: "
|
|
909
|
-
/* @__PURE__ */ e.jsx("header", { className: "
|
|
910
|
-
/* @__PURE__ */ e.jsxs("div", { className: "
|
|
911
|
-
/* @__PURE__ */ e.jsxs(z, { to: "/", className: "
|
|
912
|
-
i.icon && /* @__PURE__ */ e.jsx("span", { className: "
|
|
882
|
+
return /* @__PURE__ */ e.jsxs("div", { className: "min-h-screen bg-gray-50", children: [
|
|
883
|
+
/* @__PURE__ */ e.jsx("header", { className: "bg-gray-900 h-14 sticky top-0 z-50 shadow-sm", children: /* @__PURE__ */ e.jsxs("div", { className: "max-w-container mx-auto px-6 h-full flex items-center justify-between", children: [
|
|
884
|
+
/* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-8", children: [
|
|
885
|
+
/* @__PURE__ */ e.jsxs(z, { to: "/", className: "text-lg font-semibold text-primary hover:text-primary-light flex items-center gap-2 transition-colors", children: [
|
|
886
|
+
i.icon && /* @__PURE__ */ e.jsx("span", { className: "text-xl", children: i.icon }),
|
|
913
887
|
i.text
|
|
914
888
|
] }),
|
|
915
|
-
/* @__PURE__ */ e.jsx("nav", { className: "
|
|
889
|
+
/* @__PURE__ */ e.jsx("nav", { className: "flex gap-1", children: d.map((h) => /* @__PURE__ */ e.jsx(
|
|
916
890
|
z,
|
|
917
891
|
{
|
|
918
892
|
to: h.href,
|
|
919
|
-
className: $(
|
|
893
|
+
className: $(
|
|
894
|
+
"px-3 py-2 rounded-md text-sm font-medium transition-colors duration-150",
|
|
895
|
+
f(h) ? "text-white bg-white/10" : "text-gray-400 hover:text-white hover:bg-white/5"
|
|
896
|
+
),
|
|
920
897
|
children: h.label
|
|
921
898
|
},
|
|
922
899
|
h.href
|
|
923
900
|
)) })
|
|
924
901
|
] }),
|
|
925
|
-
/* @__PURE__ */ e.jsx("div", { className: "
|
|
902
|
+
/* @__PURE__ */ e.jsx("div", { className: "flex items-center gap-4", children: u?.headerRight })
|
|
926
903
|
] }) }),
|
|
927
|
-
/* @__PURE__ */ e.jsx("main", { className: "
|
|
904
|
+
/* @__PURE__ */ e.jsx("main", { className: "max-w-container mx-auto p-6 fade-in", children: r })
|
|
928
905
|
] });
|
|
929
906
|
}
|
|
930
907
|
function Ee({ title: r, subtitle: t, actions: n }) {
|
|
931
|
-
return /* @__PURE__ */ e.jsxs("div", { className: "
|
|
908
|
+
return /* @__PURE__ */ e.jsxs("div", { className: "flex items-start justify-between mb-6 gap-4 flex-wrap", children: [
|
|
932
909
|
/* @__PURE__ */ e.jsxs("div", { children: [
|
|
933
|
-
/* @__PURE__ */ e.jsx("h1", { className: "
|
|
910
|
+
/* @__PURE__ */ e.jsx("h1", { className: "text-2xl font-semibold text-gray-900 flex items-center gap-2 flex-wrap", children: r }),
|
|
934
911
|
t && /* @__PURE__ */ e.jsx("p", { className: "text-sm text-muted mt-1", children: t })
|
|
935
912
|
] }),
|
|
936
913
|
n && /* @__PURE__ */ e.jsx("div", { className: "flex gap-2", children: n })
|
|
@@ -939,7 +916,7 @@ function Ee({ title: r, subtitle: t, actions: n }) {
|
|
|
939
916
|
function Y({ variant: r = "gray", className: t, children: n, ...a }) {
|
|
940
917
|
return /* @__PURE__ */ e.jsx("span", { className: $("badge", `badge-${r}`, t), ...a, children: n });
|
|
941
918
|
}
|
|
942
|
-
const D =
|
|
919
|
+
const D = Xe(
|
|
943
920
|
({ variant: r = "secondary", size: t = "default", loading: n, className: a, children: u, disabled: o, ...d }, i) => /* @__PURE__ */ e.jsxs(
|
|
944
921
|
"button",
|
|
945
922
|
{
|
|
@@ -953,7 +930,7 @@ const D = Ze(
|
|
|
953
930
|
disabled: o || n,
|
|
954
931
|
...d,
|
|
955
932
|
children: [
|
|
956
|
-
n && /* @__PURE__ */ e.jsx(
|
|
933
|
+
n && /* @__PURE__ */ e.jsx(I, {}),
|
|
957
934
|
u
|
|
958
935
|
]
|
|
959
936
|
}
|
|
@@ -969,10 +946,10 @@ function W({ className: r, children: t, ...n }) {
|
|
|
969
946
|
function G({ className: r, children: t, ...n }) {
|
|
970
947
|
return /* @__PURE__ */ e.jsx("h3", { className: $("card-title", r), ...n, children: t });
|
|
971
948
|
}
|
|
972
|
-
function
|
|
949
|
+
function nt({ variant: r = "info", className: t, children: n, ...a }) {
|
|
973
950
|
return /* @__PURE__ */ e.jsx("div", { className: $("alert", `alert-${r}`, t), ...a, children: n });
|
|
974
951
|
}
|
|
975
|
-
function
|
|
952
|
+
function I({ className: r, ...t }) {
|
|
976
953
|
return /* @__PURE__ */ e.jsx("span", { className: $("spinner", r), ...t });
|
|
977
954
|
}
|
|
978
955
|
function he({ message: r, hint: t, className: n, ...a }) {
|
|
@@ -987,7 +964,7 @@ function Je({ items: r, className: t, ...n }) {
|
|
|
987
964
|
/* @__PURE__ */ e.jsx("dd", { children: u })
|
|
988
965
|
] }, a)) });
|
|
989
966
|
}
|
|
990
|
-
function
|
|
967
|
+
function es({ open: r, onClose: t, title: n, children: a, actions: u }) {
|
|
991
968
|
return r ? /* @__PURE__ */ e.jsx(
|
|
992
969
|
"div",
|
|
993
970
|
{
|
|
@@ -1023,15 +1000,15 @@ function ee({ children: r, className: t }) {
|
|
|
1023
1000
|
function ie({ className: r, children: t, ...n }) {
|
|
1024
1001
|
return /* @__PURE__ */ e.jsx("label", { className: $("form-label", r), ...n, children: t });
|
|
1025
1002
|
}
|
|
1026
|
-
const
|
|
1003
|
+
const ss = Xe(
|
|
1027
1004
|
({ className: r, ...t }, n) => /* @__PURE__ */ e.jsx("input", { ref: n, className: $("form-input", r), ...t })
|
|
1028
1005
|
);
|
|
1029
|
-
|
|
1030
|
-
const de =
|
|
1006
|
+
ss.displayName = "Input";
|
|
1007
|
+
const de = Xe(
|
|
1031
1008
|
({ className: r, children: t, ...n }, a) => /* @__PURE__ */ e.jsx("select", { ref: a, className: $("form-input", r), ...n, children: t })
|
|
1032
1009
|
);
|
|
1033
1010
|
de.displayName = "Select";
|
|
1034
|
-
function
|
|
1011
|
+
function Os({ children: r, className: t }) {
|
|
1035
1012
|
return /* @__PURE__ */ e.jsx("div", { className: $("form-row", t), children: r });
|
|
1036
1013
|
}
|
|
1037
1014
|
function L({ className: r, children: t, ...n }) {
|
|
@@ -1046,13 +1023,13 @@ function B({ className: r, children: t, ...n }) {
|
|
|
1046
1023
|
function j({ className: r, children: t, ...n }) {
|
|
1047
1024
|
return /* @__PURE__ */ e.jsx("tr", { className: r, ...n, children: t });
|
|
1048
1025
|
}
|
|
1049
|
-
function
|
|
1026
|
+
function N({ className: r, children: t, ...n }) {
|
|
1050
1027
|
return /* @__PURE__ */ e.jsx("th", { className: r, ...n, children: t });
|
|
1051
1028
|
}
|
|
1052
1029
|
function c({ className: r, children: t, ...n }) {
|
|
1053
1030
|
return /* @__PURE__ */ e.jsx("td", { className: r, ...n, children: t });
|
|
1054
1031
|
}
|
|
1055
|
-
function
|
|
1032
|
+
function $s({ status: r }) {
|
|
1056
1033
|
const t = {
|
|
1057
1034
|
FINISHED: "success",
|
|
1058
1035
|
FAILED: "danger",
|
|
@@ -1061,19 +1038,19 @@ function Ls({ status: r }) {
|
|
|
1061
1038
|
}[r];
|
|
1062
1039
|
return /* @__PURE__ */ e.jsx(Y, { variant: t, children: r });
|
|
1063
1040
|
}
|
|
1064
|
-
function
|
|
1065
|
-
const [o, d] =
|
|
1041
|
+
function rs({ runs: r, onDelete: t, loading: n, emptyHint: a, baselineRunId: u }) {
|
|
1042
|
+
const [o, d] = T(null), i = () => {
|
|
1066
1043
|
o && t && (t(o.run_id), d(null));
|
|
1067
1044
|
};
|
|
1068
1045
|
return r.length ? /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
|
|
1069
1046
|
/* @__PURE__ */ e.jsxs(L, { children: [
|
|
1070
1047
|
/* @__PURE__ */ e.jsx(re, { children: /* @__PURE__ */ e.jsxs(j, { children: [
|
|
1071
|
-
/* @__PURE__ */ e.jsx(
|
|
1072
|
-
/* @__PURE__ */ e.jsx(
|
|
1073
|
-
/* @__PURE__ */ e.jsx(
|
|
1074
|
-
/* @__PURE__ */ e.jsx(
|
|
1075
|
-
/* @__PURE__ */ e.jsx(
|
|
1076
|
-
/* @__PURE__ */ e.jsx(
|
|
1048
|
+
/* @__PURE__ */ e.jsx(N, { children: "Run ID" }),
|
|
1049
|
+
/* @__PURE__ */ e.jsx(N, { children: "Name" }),
|
|
1050
|
+
/* @__PURE__ */ e.jsx(N, { children: "Project" }),
|
|
1051
|
+
/* @__PURE__ */ e.jsx(N, { children: "Status" }),
|
|
1052
|
+
/* @__PURE__ */ e.jsx(N, { children: "Created" }),
|
|
1053
|
+
/* @__PURE__ */ e.jsx(N, { children: "Actions" })
|
|
1077
1054
|
] }) }),
|
|
1078
1055
|
/* @__PURE__ */ e.jsx(B, { children: r.map((f) => /* @__PURE__ */ e.jsxs(j, { children: [
|
|
1079
1056
|
/* @__PURE__ */ e.jsxs(c, { children: [
|
|
@@ -1082,8 +1059,8 @@ function ns({ runs: r, onDelete: t, loading: n, emptyHint: a, baselineRunId: u }
|
|
|
1082
1059
|
] }),
|
|
1083
1060
|
/* @__PURE__ */ e.jsx(c, { children: f.run_name || "—" }),
|
|
1084
1061
|
/* @__PURE__ */ e.jsx(c, { children: f.project }),
|
|
1085
|
-
/* @__PURE__ */ e.jsx(c, { children: /* @__PURE__ */ e.jsx(
|
|
1086
|
-
/* @__PURE__ */ e.jsx(c, { className: "text-muted", children:
|
|
1062
|
+
/* @__PURE__ */ e.jsx(c, { children: /* @__PURE__ */ e.jsx($s, { status: f.status }) }),
|
|
1063
|
+
/* @__PURE__ */ e.jsx(c, { className: "text-muted", children: Ze(f.created_at) }),
|
|
1087
1064
|
/* @__PURE__ */ e.jsx(c, { children: /* @__PURE__ */ e.jsxs("div", { className: "flex gap-2", children: [
|
|
1088
1065
|
/* @__PURE__ */ e.jsx(z, { to: `/runs/${f.run_id}`, children: /* @__PURE__ */ e.jsx(D, { variant: "secondary", size: "sm", children: "View" }) }),
|
|
1089
1066
|
t && /* @__PURE__ */ e.jsx(
|
|
@@ -1100,7 +1077,7 @@ function ns({ runs: r, onDelete: t, loading: n, emptyHint: a, baselineRunId: u }
|
|
|
1100
1077
|
] }, f.run_id)) })
|
|
1101
1078
|
] }),
|
|
1102
1079
|
/* @__PURE__ */ e.jsxs(
|
|
1103
|
-
|
|
1080
|
+
es,
|
|
1104
1081
|
{
|
|
1105
1082
|
open: !!o,
|
|
1106
1083
|
onClose: () => d(null),
|
|
@@ -1108,7 +1085,7 @@ function ns({ runs: r, onDelete: t, loading: n, emptyHint: a, baselineRunId: u }
|
|
|
1108
1085
|
actions: /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
|
|
1109
1086
|
/* @__PURE__ */ e.jsx(D, { variant: "secondary", onClick: () => d(null), children: "Cancel" }),
|
|
1110
1087
|
/* @__PURE__ */ e.jsxs(D, { variant: "danger", onClick: i, disabled: n, children: [
|
|
1111
|
-
n && /* @__PURE__ */ e.jsx(
|
|
1088
|
+
n && /* @__PURE__ */ e.jsx(I, {}),
|
|
1112
1089
|
"Delete"
|
|
1113
1090
|
] })
|
|
1114
1091
|
] }),
|
|
@@ -1127,13 +1104,13 @@ function ns({ runs: r, onDelete: t, loading: n, emptyHint: a, baselineRunId: u }
|
|
|
1127
1104
|
}
|
|
1128
1105
|
);
|
|
1129
1106
|
}
|
|
1130
|
-
function
|
|
1131
|
-
const [r, t] = $e(), { api: n } = K(), { data: a } = Le(), [u, o] =
|
|
1107
|
+
function Tr() {
|
|
1108
|
+
const [r, t] = $e(), { api: n } = K(), { data: a } = Le(), [u, o] = T(null), [d, i] = T({
|
|
1132
1109
|
project: r.get("project") || "",
|
|
1133
1110
|
status: r.get("status") || "",
|
|
1134
1111
|
q: r.get("q") || "",
|
|
1135
1112
|
limit: parseInt(r.get("limit") || "25", 10)
|
|
1136
|
-
}), { data: f, loading: h, refetch: m } =
|
|
1113
|
+
}), { data: f, loading: h, refetch: m } = Ds(d), p = Re((w) => n.deleteRun(w));
|
|
1137
1114
|
je(() => {
|
|
1138
1115
|
if (u) {
|
|
1139
1116
|
const w = setTimeout(() => o(null), 3e3);
|
|
@@ -1153,7 +1130,7 @@ function Ar() {
|
|
|
1153
1130
|
}, [p, m]);
|
|
1154
1131
|
return /* @__PURE__ */ e.jsxs(V, { children: [
|
|
1155
1132
|
/* @__PURE__ */ e.jsx(Ee, { title: "Runs" }),
|
|
1156
|
-
/* @__PURE__ */ e.jsx(b, { className: "mb-4", children: /* @__PURE__ */ e.jsxs(
|
|
1133
|
+
/* @__PURE__ */ e.jsx(b, { className: "mb-4", children: /* @__PURE__ */ e.jsxs(Os, { children: [
|
|
1157
1134
|
/* @__PURE__ */ e.jsxs(ee, { children: [
|
|
1158
1135
|
/* @__PURE__ */ e.jsx(ie, { htmlFor: "project", children: "Project" }),
|
|
1159
1136
|
/* @__PURE__ */ e.jsxs(
|
|
@@ -1189,7 +1166,7 @@ function Ar() {
|
|
|
1189
1166
|
/* @__PURE__ */ e.jsxs(ee, { children: [
|
|
1190
1167
|
/* @__PURE__ */ e.jsx(ie, { htmlFor: "q", children: "Query" }),
|
|
1191
1168
|
/* @__PURE__ */ e.jsx(
|
|
1192
|
-
|
|
1169
|
+
ss,
|
|
1193
1170
|
{
|
|
1194
1171
|
id: "q",
|
|
1195
1172
|
value: d.q,
|
|
@@ -1216,11 +1193,11 @@ function Ar() {
|
|
|
1216
1193
|
] }),
|
|
1217
1194
|
/* @__PURE__ */ e.jsxs(ee, { className: "flex items-end gap-2", children: [
|
|
1218
1195
|
/* @__PURE__ */ e.jsx(D, { variant: "primary", onClick: () => m(), children: "Filter" }),
|
|
1219
|
-
h && /* @__PURE__ */ e.jsx(
|
|
1196
|
+
h && /* @__PURE__ */ e.jsx(I, {})
|
|
1220
1197
|
] })
|
|
1221
1198
|
] }) }),
|
|
1222
|
-
/* @__PURE__ */ e.jsx(b, { children: h && !f ? /* @__PURE__ */ e.jsx("div", { className: "flex justify-center py-8", children: /* @__PURE__ */ e.jsx(
|
|
1223
|
-
|
|
1199
|
+
/* @__PURE__ */ e.jsx(b, { children: h && !f ? /* @__PURE__ */ e.jsx("div", { className: "flex justify-center py-8", children: /* @__PURE__ */ e.jsx(I, {}) }) : /* @__PURE__ */ e.jsx(
|
|
1200
|
+
rs,
|
|
1224
1201
|
{
|
|
1225
1202
|
runs: f?.runs ?? [],
|
|
1226
1203
|
onDelete: U,
|
|
@@ -1239,7 +1216,7 @@ function Ar() {
|
|
|
1239
1216
|
)
|
|
1240
1217
|
] });
|
|
1241
1218
|
}
|
|
1242
|
-
function
|
|
1219
|
+
function Dr({ projects: r, currentWorkspace: t }) {
|
|
1243
1220
|
if (!r.length)
|
|
1244
1221
|
return /* @__PURE__ */ e.jsx(
|
|
1245
1222
|
he,
|
|
@@ -1254,15 +1231,15 @@ function Fr({ projects: r, currentWorkspace: t }) {
|
|
|
1254
1231
|
};
|
|
1255
1232
|
return /* @__PURE__ */ e.jsxs(L, { children: [
|
|
1256
1233
|
/* @__PURE__ */ e.jsx(re, { children: /* @__PURE__ */ e.jsxs(j, { children: [
|
|
1257
|
-
/* @__PURE__ */ e.jsx(
|
|
1258
|
-
/* @__PURE__ */ e.jsx(
|
|
1259
|
-
/* @__PURE__ */ e.jsx(
|
|
1260
|
-
/* @__PURE__ */ e.jsx(
|
|
1234
|
+
/* @__PURE__ */ e.jsx(N, { children: "Project" }),
|
|
1235
|
+
/* @__PURE__ */ e.jsx(N, { children: "Runs" }),
|
|
1236
|
+
/* @__PURE__ */ e.jsx(N, { children: "Baseline" }),
|
|
1237
|
+
/* @__PURE__ */ e.jsx(N, {})
|
|
1261
1238
|
] }) }),
|
|
1262
1239
|
/* @__PURE__ */ e.jsx(B, { children: r.map((a) => /* @__PURE__ */ e.jsxs(j, { children: [
|
|
1263
1240
|
/* @__PURE__ */ e.jsxs(c, { children: [
|
|
1264
1241
|
/* @__PURE__ */ e.jsx("span", { className: "font-medium", children: a.name }),
|
|
1265
|
-
a.description && /* @__PURE__ */ e.jsx("p", { className: "text-muted text-sm", children:
|
|
1242
|
+
a.description && /* @__PURE__ */ e.jsx("p", { className: "text-muted text-sm", children: kr(a.description) })
|
|
1266
1243
|
] }),
|
|
1267
1244
|
/* @__PURE__ */ e.jsx(c, { children: /* @__PURE__ */ e.jsx(Y, { variant: "gray", children: a.run_count ?? 0 }) }),
|
|
1268
1245
|
/* @__PURE__ */ e.jsx(c, { children: a.baseline ? /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
|
|
@@ -1273,14 +1250,14 @@ function Fr({ projects: r, currentWorkspace: t }) {
|
|
|
1273
1250
|
] }, a.name)) })
|
|
1274
1251
|
] });
|
|
1275
1252
|
}
|
|
1276
|
-
function
|
|
1253
|
+
function Ar({ groups: r }) {
|
|
1277
1254
|
return r.length ? /* @__PURE__ */ e.jsxs(L, { children: [
|
|
1278
1255
|
/* @__PURE__ */ e.jsx(re, { children: /* @__PURE__ */ e.jsxs(j, { children: [
|
|
1279
|
-
/* @__PURE__ */ e.jsx(
|
|
1280
|
-
/* @__PURE__ */ e.jsx(
|
|
1281
|
-
/* @__PURE__ */ e.jsx(
|
|
1282
|
-
/* @__PURE__ */ e.jsx(
|
|
1283
|
-
/* @__PURE__ */ e.jsx(
|
|
1256
|
+
/* @__PURE__ */ e.jsx(N, { children: "Group ID" }),
|
|
1257
|
+
/* @__PURE__ */ e.jsx(N, { children: "Name" }),
|
|
1258
|
+
/* @__PURE__ */ e.jsx(N, { children: "Project" }),
|
|
1259
|
+
/* @__PURE__ */ e.jsx(N, { children: "Runs" }),
|
|
1260
|
+
/* @__PURE__ */ e.jsx(N, { children: "Actions" })
|
|
1284
1261
|
] }) }),
|
|
1285
1262
|
/* @__PURE__ */ e.jsx(B, { children: r.map((t) => /* @__PURE__ */ e.jsxs(j, { children: [
|
|
1286
1263
|
/* @__PURE__ */ e.jsx(c, { className: "font-mono", children: Q(t.group_id) }),
|
|
@@ -1297,7 +1274,7 @@ function Or({ groups: r }) {
|
|
|
1297
1274
|
}
|
|
1298
1275
|
);
|
|
1299
1276
|
}
|
|
1300
|
-
function
|
|
1277
|
+
function Fr({
|
|
1301
1278
|
runId: r,
|
|
1302
1279
|
runName: t,
|
|
1303
1280
|
variant: n = "secondary",
|
|
@@ -1305,7 +1282,7 @@ function $r({
|
|
|
1305
1282
|
className: u = "",
|
|
1306
1283
|
apiBaseUrl: o = ""
|
|
1307
1284
|
}) {
|
|
1308
|
-
const [d, i] =
|
|
1285
|
+
const [d, i] = T({ status: "idle" }), [f, h] = T(!1), [m, p] = T(null), _ = async () => {
|
|
1309
1286
|
i({ status: "preparing", message: "Preparing bundle..." }), h(!0);
|
|
1310
1287
|
try {
|
|
1311
1288
|
const k = await fetch(`${o}/api/runs/${r}/export`, {
|
|
@@ -1327,10 +1304,10 @@ function $r({
|
|
|
1327
1304
|
status: "downloading",
|
|
1328
1305
|
message: "Downloading bundle..."
|
|
1329
1306
|
}));
|
|
1330
|
-
const
|
|
1331
|
-
if (!
|
|
1307
|
+
const S = await fetch(`${o}/api/runs/${r}/export/download`);
|
|
1308
|
+
if (!S.ok)
|
|
1332
1309
|
throw new Error("Download failed");
|
|
1333
|
-
const se = await
|
|
1310
|
+
const se = await S.blob(), te = t ? `${t.replace(/[^a-zA-Z0-9_-]/g, "_")}_${r.slice(0, 8)}.zip` : `run_${r.slice(0, 8)}.zip`, J = URL.createObjectURL(se), Z = document.createElement("a");
|
|
1334
1311
|
Z.href = J, Z.download = te, document.body.appendChild(Z), Z.click(), document.body.removeChild(Z), URL.revokeObjectURL(J), i({
|
|
1335
1312
|
status: "complete",
|
|
1336
1313
|
message: "Export complete!",
|
|
@@ -1357,14 +1334,14 @@ function $r({
|
|
|
1357
1334
|
disabled: H,
|
|
1358
1335
|
className: u,
|
|
1359
1336
|
children: [
|
|
1360
|
-
H && /* @__PURE__ */ e.jsx(
|
|
1361
|
-
/* @__PURE__ */ e.jsx(
|
|
1337
|
+
H && /* @__PURE__ */ e.jsx(I, {}),
|
|
1338
|
+
/* @__PURE__ */ e.jsx(Or, {}),
|
|
1362
1339
|
"Export"
|
|
1363
1340
|
]
|
|
1364
1341
|
}
|
|
1365
1342
|
),
|
|
1366
1343
|
/* @__PURE__ */ e.jsx(
|
|
1367
|
-
|
|
1344
|
+
es,
|
|
1368
1345
|
{
|
|
1369
1346
|
open: f,
|
|
1370
1347
|
onClose: U,
|
|
@@ -1372,7 +1349,7 @@ function $r({
|
|
|
1372
1349
|
actions: d.status === "error" || d.status === "complete" ? /* @__PURE__ */ e.jsx(D, { variant: "secondary", onClick: U, children: "Close" }) : void 0,
|
|
1373
1350
|
children: /* @__PURE__ */ e.jsxs("div", { className: "py-4", children: [
|
|
1374
1351
|
/* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-3 mb-4", children: [
|
|
1375
|
-
d.status === "error" ? /* @__PURE__ */ e.jsx("div", { className: "w-10 h-10 rounded-full bg-[var(--dq-danger-bg)] flex items-center justify-center", children: /* @__PURE__ */ e.jsx(
|
|
1352
|
+
d.status === "error" ? /* @__PURE__ */ e.jsx("div", { className: "w-10 h-10 rounded-full bg-[var(--dq-danger-bg)] flex items-center justify-center", children: /* @__PURE__ */ e.jsx(Lr, {}) }) : d.status === "complete" ? /* @__PURE__ */ e.jsx("div", { className: "w-10 h-10 rounded-full bg-[var(--dq-success-bg)] flex items-center justify-center", children: /* @__PURE__ */ e.jsx($r, {}) }) : /* @__PURE__ */ e.jsx("div", { className: "w-10 h-10 rounded-full bg-[var(--dq-primary-bg)] flex items-center justify-center", children: /* @__PURE__ */ e.jsx(I, {}) }),
|
|
1376
1353
|
/* @__PURE__ */ e.jsxs("div", { children: [
|
|
1377
1354
|
/* @__PURE__ */ e.jsx("p", { className: "font-medium", children: d.message }),
|
|
1378
1355
|
d.status === "error" && /* @__PURE__ */ e.jsx("p", { className: "text-sm text-[var(--dq-text-muted)]", children: "Please try again or contact support." })
|
|
@@ -1413,7 +1390,7 @@ function $r({
|
|
|
1413
1390
|
)
|
|
1414
1391
|
] });
|
|
1415
1392
|
}
|
|
1416
|
-
function
|
|
1393
|
+
function Or() {
|
|
1417
1394
|
return /* @__PURE__ */ e.jsxs(
|
|
1418
1395
|
"svg",
|
|
1419
1396
|
{
|
|
@@ -1433,7 +1410,7 @@ function Lr() {
|
|
|
1433
1410
|
}
|
|
1434
1411
|
);
|
|
1435
1412
|
}
|
|
1436
|
-
function
|
|
1413
|
+
function $r() {
|
|
1437
1414
|
return /* @__PURE__ */ e.jsx(
|
|
1438
1415
|
"svg",
|
|
1439
1416
|
{
|
|
@@ -1449,7 +1426,7 @@ function Br() {
|
|
|
1449
1426
|
}
|
|
1450
1427
|
);
|
|
1451
1428
|
}
|
|
1452
|
-
function
|
|
1429
|
+
function Lr() {
|
|
1453
1430
|
return /* @__PURE__ */ e.jsxs(
|
|
1454
1431
|
"svg",
|
|
1455
1432
|
{
|
|
@@ -1469,19 +1446,19 @@ function qr() {
|
|
|
1469
1446
|
}
|
|
1470
1447
|
);
|
|
1471
1448
|
}
|
|
1472
|
-
function
|
|
1473
|
-
const { runId: r } =
|
|
1449
|
+
function Br() {
|
|
1450
|
+
const { runId: r } = Qe(), t = hr(), { api: n } = K(), { data: a, loading: u, error: o, refetch: d } = As(r), { data: i, refetch: f } = Le(), [h, m] = T(!1), [p, _] = T(null), { mutate: U, loading: w } = Re(
|
|
1474
1451
|
() => n.setBaseline(a.project, a.run_id)
|
|
1475
1452
|
), { mutate: H, loading: k } = Re(
|
|
1476
1453
|
() => n.deleteRun(r)
|
|
1477
|
-
),
|
|
1454
|
+
), S = i?.find((y) => y.name === a?.project)?.baseline?.run_id === r;
|
|
1478
1455
|
if (je(() => {
|
|
1479
1456
|
if (p) {
|
|
1480
|
-
const
|
|
1481
|
-
return () => clearTimeout(
|
|
1457
|
+
const y = setTimeout(() => _(null), 3e3);
|
|
1458
|
+
return () => clearTimeout(y);
|
|
1482
1459
|
}
|
|
1483
1460
|
}, [p]), u)
|
|
1484
|
-
return /* @__PURE__ */ e.jsx(V, { children: /* @__PURE__ */ e.jsx("div", { className: "flex justify-center py-12", children: /* @__PURE__ */ e.jsx(
|
|
1461
|
+
return /* @__PURE__ */ e.jsx(V, { children: /* @__PURE__ */ e.jsx("div", { className: "flex justify-center py-12", children: /* @__PURE__ */ e.jsx(I, {}) }) });
|
|
1485
1462
|
if (o || !a)
|
|
1486
1463
|
return /* @__PURE__ */ e.jsx(V, { children: /* @__PURE__ */ e.jsx(b, { children: /* @__PURE__ */ e.jsx(
|
|
1487
1464
|
he,
|
|
@@ -1496,25 +1473,25 @@ function Ir() {
|
|
|
1496
1473
|
} catch {
|
|
1497
1474
|
_({ message: "Failed to set baseline", variant: "error" });
|
|
1498
1475
|
}
|
|
1499
|
-
},
|
|
1476
|
+
}, Ie = async () => {
|
|
1500
1477
|
try {
|
|
1501
1478
|
await H(), m(!1), _({ message: "Run deleted", variant: "success" }), setTimeout(() => t("/runs"), 1e3);
|
|
1502
1479
|
} catch {
|
|
1503
1480
|
_({ message: "Failed to delete run", variant: "error" }), m(!1);
|
|
1504
1481
|
}
|
|
1505
|
-
}, ke = async (
|
|
1506
|
-
const P = xe[
|
|
1482
|
+
}, ke = async (y) => {
|
|
1483
|
+
const P = xe[y];
|
|
1507
1484
|
try {
|
|
1508
|
-
const ce = n.getArtifactDownloadUrl(a.run_id,
|
|
1485
|
+
const ce = n.getArtifactDownloadUrl(a.run_id, y), ge = await fetch(ce);
|
|
1509
1486
|
if (!ge.ok) throw new Error("Download failed");
|
|
1510
|
-
const
|
|
1511
|
-
le.href = URL.createObjectURL(
|
|
1487
|
+
const Se = await ge.blob(), le = document.createElement("a");
|
|
1488
|
+
le.href = URL.createObjectURL(Se), le.download = P?.kind || `artifact-${y}`, le.click(), URL.revokeObjectURL(le.href), _({ message: "Download started", variant: "success" });
|
|
1512
1489
|
} catch {
|
|
1513
1490
|
_({ message: "Download failed", variant: "error" });
|
|
1514
1491
|
}
|
|
1515
1492
|
};
|
|
1516
1493
|
return /* @__PURE__ */ e.jsxs(V, { children: [
|
|
1517
|
-
|
|
1494
|
+
S && /* @__PURE__ */ e.jsxs("div", { className: "mb-4 px-4 py-3 bg-[#EFF6FF] border border-[#2563EB]/20 rounded-md text-[#2563EB] text-sm font-medium", children: [
|
|
1518
1495
|
'This run is the current baseline for project "',
|
|
1519
1496
|
a.project,
|
|
1520
1497
|
'"'
|
|
@@ -1525,9 +1502,9 @@ function Ir() {
|
|
|
1525
1502
|
/* @__PURE__ */ e.jsx("p", { className: "text-muted text-sm font-mono", children: a.run_id })
|
|
1526
1503
|
] }),
|
|
1527
1504
|
/* @__PURE__ */ e.jsxs("div", { className: "flex gap-2", children: [
|
|
1528
|
-
/* @__PURE__ */ e.jsx(
|
|
1529
|
-
!
|
|
1530
|
-
w && /* @__PURE__ */ e.jsx(
|
|
1505
|
+
/* @__PURE__ */ e.jsx(Fr, { runId: a.run_id, runName: a.run_name }),
|
|
1506
|
+
!S && /* @__PURE__ */ e.jsxs(D, { variant: "secondary", size: "sm", onClick: Be, disabled: w, children: [
|
|
1507
|
+
w && /* @__PURE__ */ e.jsx(I, {}),
|
|
1531
1508
|
"Set as Baseline"
|
|
1532
1509
|
] }),
|
|
1533
1510
|
/* @__PURE__ */ e.jsx(D, { variant: "ghost-danger", size: "sm", onClick: () => m(!0), children: "Delete" })
|
|
@@ -1540,8 +1517,8 @@ function Ir() {
|
|
|
1540
1517
|
{ label: "Project", value: /* @__PURE__ */ e.jsx(z, { to: `/runs?project=${a.project}`, children: a.project }) },
|
|
1541
1518
|
{ label: "Name", value: a.run_name || "—" },
|
|
1542
1519
|
{ label: "Adapter", value: a.adapter || "N/A" },
|
|
1543
|
-
{ label: "Status", value: /* @__PURE__ */ e.jsx(
|
|
1544
|
-
{ label: "Created", value: `${a.created_at} (${
|
|
1520
|
+
{ label: "Status", value: /* @__PURE__ */ e.jsx($s, { status: a.status }) },
|
|
1521
|
+
{ label: "Created", value: `${a.created_at} (${Ze(a.created_at)})` },
|
|
1545
1522
|
{ label: "Backend", value: se.name || "N/A" },
|
|
1546
1523
|
...a.group_id ? [{
|
|
1547
1524
|
label: "Group",
|
|
@@ -1560,25 +1537,25 @@ function Ir() {
|
|
|
1560
1537
|
/* @__PURE__ */ e.jsxs("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-4 mb-4", children: [
|
|
1561
1538
|
/* @__PURE__ */ e.jsxs(b, { children: [
|
|
1562
1539
|
/* @__PURE__ */ e.jsx(W, { children: /* @__PURE__ */ e.jsx(G, { children: "Parameters" }) }),
|
|
1563
|
-
Object.keys(J).length ? /* @__PURE__ */ e.jsx(L, { children: /* @__PURE__ */ e.jsx(B, { children: Object.entries(J).map(([
|
|
1564
|
-
/* @__PURE__ */ e.jsx(c, { children:
|
|
1540
|
+
Object.keys(J).length ? /* @__PURE__ */ e.jsx(L, { children: /* @__PURE__ */ e.jsx(B, { children: Object.entries(J).map(([y, P]) => /* @__PURE__ */ e.jsxs(j, { children: [
|
|
1541
|
+
/* @__PURE__ */ e.jsx(c, { children: y }),
|
|
1565
1542
|
/* @__PURE__ */ e.jsx(c, { className: "font-mono", children: String(P) })
|
|
1566
|
-
] },
|
|
1543
|
+
] }, y)) }) }) : /* @__PURE__ */ e.jsx("p", { className: "text-muted", children: "No parameters" })
|
|
1567
1544
|
] }),
|
|
1568
1545
|
/* @__PURE__ */ e.jsxs(b, { children: [
|
|
1569
1546
|
/* @__PURE__ */ e.jsx(W, { children: /* @__PURE__ */ e.jsx(G, { children: "Metrics" }) }),
|
|
1570
|
-
Object.keys(Z).length ? /* @__PURE__ */ e.jsx(L, { children: /* @__PURE__ */ e.jsx(B, { children: Object.entries(Z).map(([
|
|
1571
|
-
/* @__PURE__ */ e.jsx(c, { children:
|
|
1572
|
-
/* @__PURE__ */ e.jsx(c, { className: "font-mono", children: typeof P == "number" ?
|
|
1573
|
-
] },
|
|
1547
|
+
Object.keys(Z).length ? /* @__PURE__ */ e.jsx(L, { children: /* @__PURE__ */ e.jsx(B, { children: Object.entries(Z).map(([y, P]) => /* @__PURE__ */ e.jsxs(j, { children: [
|
|
1548
|
+
/* @__PURE__ */ e.jsx(c, { children: y }),
|
|
1549
|
+
/* @__PURE__ */ e.jsx(c, { className: "font-mono", children: typeof P == "number" ? Er(P) : String(P) })
|
|
1550
|
+
] }, y)) }) }) : /* @__PURE__ */ e.jsx("p", { className: "text-muted", children: "No metrics" })
|
|
1574
1551
|
] }),
|
|
1575
1552
|
/* @__PURE__ */ e.jsxs(b, { children: [
|
|
1576
1553
|
/* @__PURE__ */ e.jsx(W, { children: /* @__PURE__ */ e.jsx(G, { children: "Tags" }) }),
|
|
1577
|
-
Object.keys(ne).length ? /* @__PURE__ */ e.jsx("div", { className: "flex flex-wrap gap-2", children: Object.entries(ne).map(([
|
|
1578
|
-
|
|
1554
|
+
Object.keys(ne).length ? /* @__PURE__ */ e.jsx("div", { className: "flex flex-wrap gap-2", children: Object.entries(ne).map(([y, P]) => /* @__PURE__ */ e.jsxs(Y, { variant: "gray", children: [
|
|
1555
|
+
y,
|
|
1579
1556
|
": ",
|
|
1580
1557
|
String(P)
|
|
1581
|
-
] },
|
|
1558
|
+
] }, y)) }) : /* @__PURE__ */ e.jsx("p", { className: "text-muted", children: "No tags" })
|
|
1582
1559
|
] })
|
|
1583
1560
|
] }),
|
|
1584
1561
|
/* @__PURE__ */ e.jsxs(b, { className: "mb-4", children: [
|
|
@@ -1589,19 +1566,19 @@ function Ir() {
|
|
|
1589
1566
|
] }) }),
|
|
1590
1567
|
xe.length ? /* @__PURE__ */ e.jsxs(L, { children: [
|
|
1591
1568
|
/* @__PURE__ */ e.jsx(re, { children: /* @__PURE__ */ e.jsxs(j, { children: [
|
|
1592
|
-
/* @__PURE__ */ e.jsx(
|
|
1593
|
-
/* @__PURE__ */ e.jsx(
|
|
1594
|
-
/* @__PURE__ */ e.jsx(
|
|
1595
|
-
/* @__PURE__ */ e.jsx(
|
|
1596
|
-
/* @__PURE__ */ e.jsx(
|
|
1597
|
-
/* @__PURE__ */ e.jsx(
|
|
1569
|
+
/* @__PURE__ */ e.jsx(N, { children: "#" }),
|
|
1570
|
+
/* @__PURE__ */ e.jsx(N, { children: "Kind" }),
|
|
1571
|
+
/* @__PURE__ */ e.jsx(N, { children: "Role" }),
|
|
1572
|
+
/* @__PURE__ */ e.jsx(N, { children: "Media Type" }),
|
|
1573
|
+
/* @__PURE__ */ e.jsx(N, { children: "Digest" }),
|
|
1574
|
+
/* @__PURE__ */ e.jsx(N, { children: "Actions" })
|
|
1598
1575
|
] }) }),
|
|
1599
|
-
/* @__PURE__ */ e.jsx(B, { children: xe.map((
|
|
1576
|
+
/* @__PURE__ */ e.jsx(B, { children: xe.map((y, P) => /* @__PURE__ */ e.jsxs(j, { children: [
|
|
1600
1577
|
/* @__PURE__ */ e.jsx(c, { children: P }),
|
|
1601
|
-
/* @__PURE__ */ e.jsx(c, { className: "font-mono text-sm", children:
|
|
1602
|
-
/* @__PURE__ */ e.jsx(c, { children: /* @__PURE__ */ e.jsx(Y, { variant: "gray", children:
|
|
1603
|
-
/* @__PURE__ */ e.jsx(c, { className: "text-muted text-sm", children:
|
|
1604
|
-
/* @__PURE__ */ e.jsx(c, { className: "font-mono text-sm", children: He(
|
|
1578
|
+
/* @__PURE__ */ e.jsx(c, { className: "font-mono text-sm", children: y.kind }),
|
|
1579
|
+
/* @__PURE__ */ e.jsx(c, { children: /* @__PURE__ */ e.jsx(Y, { variant: "gray", children: y.role }) }),
|
|
1580
|
+
/* @__PURE__ */ e.jsx(c, { className: "text-muted text-sm", children: y.media_type }),
|
|
1581
|
+
/* @__PURE__ */ e.jsx(c, { className: "font-mono text-sm", children: He(y.digest) }),
|
|
1605
1582
|
/* @__PURE__ */ e.jsx(c, { children: /* @__PURE__ */ e.jsxs("div", { className: "flex gap-2", children: [
|
|
1606
1583
|
/* @__PURE__ */ e.jsx(z, { to: `/runs/${a.run_id}/artifacts/${P}`, children: /* @__PURE__ */ e.jsx(D, { variant: "secondary", size: "sm", children: "View" }) }),
|
|
1607
1584
|
/* @__PURE__ */ e.jsx(D, { variant: "secondary", size: "sm", onClick: () => ke(P), children: "Download" })
|
|
@@ -1611,23 +1588,23 @@ function Ir() {
|
|
|
1611
1588
|
] }),
|
|
1612
1589
|
pe.length > 0 && /* @__PURE__ */ e.jsxs(b, { children: [
|
|
1613
1590
|
/* @__PURE__ */ e.jsx(W, { children: /* @__PURE__ */ e.jsx(G, { className: "text-danger", children: "Errors" }) }),
|
|
1614
|
-
pe.map((
|
|
1615
|
-
/* @__PURE__ */ e.jsx("strong", { children:
|
|
1591
|
+
pe.map((y, P) => /* @__PURE__ */ e.jsxs("div", { className: "mb-2", children: [
|
|
1592
|
+
/* @__PURE__ */ e.jsx("strong", { children: y.type }),
|
|
1616
1593
|
": ",
|
|
1617
|
-
|
|
1618
|
-
|
|
1594
|
+
y.message,
|
|
1595
|
+
y.traceback && /* @__PURE__ */ e.jsx("pre", { className: "mt-2", children: y.traceback })
|
|
1619
1596
|
] }, P))
|
|
1620
1597
|
] }),
|
|
1621
1598
|
/* @__PURE__ */ e.jsxs(
|
|
1622
|
-
|
|
1599
|
+
es,
|
|
1623
1600
|
{
|
|
1624
1601
|
open: h,
|
|
1625
1602
|
onClose: () => m(!1),
|
|
1626
1603
|
title: "Delete Run",
|
|
1627
1604
|
actions: /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
|
|
1628
1605
|
/* @__PURE__ */ e.jsx(D, { variant: "secondary", onClick: () => m(!1), children: "Cancel" }),
|
|
1629
|
-
/* @__PURE__ */ e.jsxs(D, { variant: "danger", onClick:
|
|
1630
|
-
k && /* @__PURE__ */ e.jsx(
|
|
1606
|
+
/* @__PURE__ */ e.jsxs(D, { variant: "danger", onClick: Ie, disabled: k, children: [
|
|
1607
|
+
k && /* @__PURE__ */ e.jsx(I, {}),
|
|
1631
1608
|
"Delete"
|
|
1632
1609
|
] })
|
|
1633
1610
|
] }),
|
|
@@ -1649,22 +1626,22 @@ function Ir() {
|
|
|
1649
1626
|
)
|
|
1650
1627
|
] });
|
|
1651
1628
|
}
|
|
1652
|
-
function
|
|
1629
|
+
function Ir() {
|
|
1653
1630
|
const { currentWorkspace: r } = K(), { data: t, loading: n } = Le();
|
|
1654
1631
|
return /* @__PURE__ */ e.jsxs(V, { children: [
|
|
1655
1632
|
/* @__PURE__ */ e.jsx(Ee, { title: "Projects" }),
|
|
1656
|
-
/* @__PURE__ */ e.jsx(b, { children: n ? /* @__PURE__ */ e.jsx("div", { className: "flex justify-center py-8", children: /* @__PURE__ */ e.jsx(
|
|
1633
|
+
/* @__PURE__ */ e.jsx(b, { children: n ? /* @__PURE__ */ e.jsx("div", { className: "flex justify-center py-8", children: /* @__PURE__ */ e.jsx(I, {}) }) : /* @__PURE__ */ e.jsx(Dr, { projects: t ?? [], currentWorkspace: r }) })
|
|
1657
1634
|
] });
|
|
1658
1635
|
}
|
|
1659
|
-
function
|
|
1660
|
-
const [r, t] = $e(), { data: n } = Le(), [a, u] =
|
|
1636
|
+
function qr() {
|
|
1637
|
+
const [r, t] = $e(), { data: n } = Le(), [a, u] = T(r.get("project") || ""), { data: o, loading: d, refetch: i } = Nr({ project: a || void 0 }), f = _e((h) => {
|
|
1661
1638
|
u(h);
|
|
1662
1639
|
const m = new URLSearchParams(r);
|
|
1663
1640
|
h ? m.set("project", h) : m.delete("project"), t(m, { replace: !0 });
|
|
1664
1641
|
}, [r, t]);
|
|
1665
1642
|
return /* @__PURE__ */ e.jsxs(V, { children: [
|
|
1666
1643
|
/* @__PURE__ */ e.jsx(Ee, { title: "Run Groups" }),
|
|
1667
|
-
/* @__PURE__ */ e.jsx(b, { className: "mb-4", children: /* @__PURE__ */ e.jsxs(
|
|
1644
|
+
/* @__PURE__ */ e.jsx(b, { className: "mb-4", children: /* @__PURE__ */ e.jsxs(Os, { children: [
|
|
1668
1645
|
/* @__PURE__ */ e.jsxs(ee, { children: [
|
|
1669
1646
|
/* @__PURE__ */ e.jsx(ie, { htmlFor: "project", children: "Project" }),
|
|
1670
1647
|
/* @__PURE__ */ e.jsxs(
|
|
@@ -1682,14 +1659,14 @@ function Mr() {
|
|
|
1682
1659
|
] }),
|
|
1683
1660
|
/* @__PURE__ */ e.jsxs(ee, { className: "flex items-end gap-2", children: [
|
|
1684
1661
|
/* @__PURE__ */ e.jsx(D, { variant: "primary", onClick: () => i(), children: "Filter" }),
|
|
1685
|
-
d && /* @__PURE__ */ e.jsx(
|
|
1662
|
+
d && /* @__PURE__ */ e.jsx(I, {})
|
|
1686
1663
|
] })
|
|
1687
1664
|
] }) }),
|
|
1688
|
-
/* @__PURE__ */ e.jsx(b, { children: d && !o ? /* @__PURE__ */ e.jsx("div", { className: "flex justify-center py-8", children: /* @__PURE__ */ e.jsx(
|
|
1665
|
+
/* @__PURE__ */ e.jsx(b, { children: d && !o ? /* @__PURE__ */ e.jsx("div", { className: "flex justify-center py-8", children: /* @__PURE__ */ e.jsx(I, {}) }) : /* @__PURE__ */ e.jsx(Ar, { groups: o ?? [] }) })
|
|
1689
1666
|
] });
|
|
1690
1667
|
}
|
|
1691
|
-
function
|
|
1692
|
-
const { groupId: r } =
|
|
1668
|
+
function Ur() {
|
|
1669
|
+
const { groupId: r } = Qe(), { api: t } = K(), { data: n, loading: a, error: u, refetch: o } = _r(r), [d, i] = T(null), f = Re((m) => t.deleteRun(m));
|
|
1693
1670
|
je(() => {
|
|
1694
1671
|
if (d) {
|
|
1695
1672
|
const m = setTimeout(() => i(null), 3e3);
|
|
@@ -1703,7 +1680,7 @@ function Wr() {
|
|
|
1703
1680
|
i({ message: "Failed to delete run", variant: "error" });
|
|
1704
1681
|
}
|
|
1705
1682
|
};
|
|
1706
|
-
return a ? /* @__PURE__ */ e.jsx(V, { children: /* @__PURE__ */ e.jsx("div", { className: "flex justify-center py-12", children: /* @__PURE__ */ e.jsx(
|
|
1683
|
+
return a ? /* @__PURE__ */ e.jsx(V, { children: /* @__PURE__ */ e.jsx("div", { className: "flex justify-center py-12", children: /* @__PURE__ */ e.jsx(I, {}) }) }) : u || !n ? /* @__PURE__ */ e.jsx(V, { children: /* @__PURE__ */ e.jsx(b, { children: /* @__PURE__ */ e.jsx(he, { message: "Group not found", hint: u?.message }) }) }) : /* @__PURE__ */ e.jsxs(V, { children: [
|
|
1707
1684
|
/* @__PURE__ */ e.jsx(
|
|
1708
1685
|
Ee,
|
|
1709
1686
|
{
|
|
@@ -1721,7 +1698,7 @@ function Wr() {
|
|
|
1721
1698
|
")"
|
|
1722
1699
|
] }) }),
|
|
1723
1700
|
/* @__PURE__ */ e.jsx(
|
|
1724
|
-
|
|
1701
|
+
rs,
|
|
1725
1702
|
{
|
|
1726
1703
|
runs: n.runs,
|
|
1727
1704
|
onDelete: h,
|
|
@@ -1740,16 +1717,16 @@ function Wr() {
|
|
|
1740
1717
|
)
|
|
1741
1718
|
] });
|
|
1742
1719
|
}
|
|
1743
|
-
function
|
|
1720
|
+
function Mr({ className: r = "" }) {
|
|
1744
1721
|
return /* @__PURE__ */ e.jsx("svg", { className: r, width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ e.jsx("polyline", { points: "20 6 9 17 4 12" }) });
|
|
1745
1722
|
}
|
|
1746
|
-
function
|
|
1723
|
+
function Wr({ className: r = "" }) {
|
|
1747
1724
|
return /* @__PURE__ */ e.jsxs("svg", { className: r, width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
1748
1725
|
/* @__PURE__ */ e.jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18" }),
|
|
1749
1726
|
/* @__PURE__ */ e.jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18" })
|
|
1750
1727
|
] });
|
|
1751
1728
|
}
|
|
1752
|
-
function
|
|
1729
|
+
function Gr({ className: r = "" }) {
|
|
1753
1730
|
return /* @__PURE__ */ e.jsxs("svg", { className: r, width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
1754
1731
|
/* @__PURE__ */ e.jsx("path", { d: "M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z" }),
|
|
1755
1732
|
/* @__PURE__ */ e.jsx("line", { x1: "12", y1: "9", x2: "12", y2: "13" }),
|
|
@@ -1763,25 +1740,25 @@ function Ke({ className: r = "" }) {
|
|
|
1763
1740
|
/* @__PURE__ */ e.jsx("line", { x1: "12", y1: "8", x2: "12.01", y2: "8" })
|
|
1764
1741
|
] });
|
|
1765
1742
|
}
|
|
1766
|
-
function
|
|
1743
|
+
function Ne({ match: r }) {
|
|
1767
1744
|
return r ? /* @__PURE__ */ e.jsxs("span", { className: "diff-match inline-flex items-center gap-1.5", children: [
|
|
1768
|
-
/* @__PURE__ */ e.jsx(
|
|
1745
|
+
/* @__PURE__ */ e.jsx(Mr, { className: "flex-shrink-0" }),
|
|
1769
1746
|
/* @__PURE__ */ e.jsx("span", { className: "font-medium", children: "Match" })
|
|
1770
1747
|
] }) : /* @__PURE__ */ e.jsxs("span", { className: "diff-mismatch inline-flex items-center gap-1.5", children: [
|
|
1771
|
-
/* @__PURE__ */ e.jsx(
|
|
1748
|
+
/* @__PURE__ */ e.jsx(Wr, { className: "flex-shrink-0" }),
|
|
1772
1749
|
/* @__PURE__ */ e.jsx("span", { className: "font-medium", children: "Different" })
|
|
1773
1750
|
] });
|
|
1774
1751
|
}
|
|
1775
|
-
function
|
|
1752
|
+
function Vr({ warnings: r }) {
|
|
1776
1753
|
return !r || r.length === 0 ? null : /* @__PURE__ */ e.jsx("div", { className: "alert alert-warning mb-4", children: /* @__PURE__ */ e.jsxs("div", { className: "flex gap-3", children: [
|
|
1777
|
-
/* @__PURE__ */ e.jsx(
|
|
1754
|
+
/* @__PURE__ */ e.jsx(Gr, { className: "flex-shrink-0 mt-0.5" }),
|
|
1778
1755
|
/* @__PURE__ */ e.jsxs("div", { className: "flex-1", children: [
|
|
1779
1756
|
/* @__PURE__ */ e.jsx("p", { className: "font-semibold mb-1", children: r.length === 1 ? "Warning" : `${r.length} Warnings` }),
|
|
1780
1757
|
/* @__PURE__ */ e.jsx("ul", { className: "space-y-1", children: r.map((t, n) => /* @__PURE__ */ e.jsx("li", { className: "text-sm", children: t }, n)) })
|
|
1781
1758
|
] })
|
|
1782
1759
|
] }) });
|
|
1783
1760
|
}
|
|
1784
|
-
function
|
|
1761
|
+
function Cs({
|
|
1785
1762
|
label: r,
|
|
1786
1763
|
run: t,
|
|
1787
1764
|
variant: n
|
|
@@ -1795,7 +1772,7 @@ function Ts({
|
|
|
1795
1772
|
/* @__PURE__ */ e.jsxs("p", { className: "text-sm mt-1 text-muted", children: [
|
|
1796
1773
|
t.project,
|
|
1797
1774
|
" · ",
|
|
1798
|
-
|
|
1775
|
+
Ze(t.created_at)
|
|
1799
1776
|
] })
|
|
1800
1777
|
] })
|
|
1801
1778
|
] });
|
|
@@ -1809,7 +1786,7 @@ function ae({
|
|
|
1809
1786
|
t && /* @__PURE__ */ e.jsx(Y, { variant: t.variant, children: t.label })
|
|
1810
1787
|
] }) }) });
|
|
1811
1788
|
}
|
|
1812
|
-
function
|
|
1789
|
+
function zr({
|
|
1813
1790
|
tvd: r,
|
|
1814
1791
|
noiseContext: t
|
|
1815
1792
|
}) {
|
|
@@ -1835,8 +1812,8 @@ function Kr({
|
|
|
1835
1812
|
"×) — results show meaningful differences"
|
|
1836
1813
|
] }) : null;
|
|
1837
1814
|
}
|
|
1838
|
-
function
|
|
1839
|
-
const [r, t] = $e(), { data: n } =
|
|
1815
|
+
function Yr() {
|
|
1816
|
+
const [r, t] = $e(), { data: n } = Ds({ limit: 100 }), a = n?.runs ?? [], [u, o] = T(r.get("a") || ""), [d, i] = T(r.get("b") || ""), [f, h] = T(""), m = (p) => {
|
|
1840
1817
|
if (p.preventDefault(), !u || !d) {
|
|
1841
1818
|
h("Please select both runs to compare");
|
|
1842
1819
|
return;
|
|
@@ -1919,21 +1896,21 @@ function Hr() {
|
|
|
1919
1896
|
] })
|
|
1920
1897
|
] });
|
|
1921
1898
|
}
|
|
1922
|
-
function
|
|
1923
|
-
const { data: n, loading: a, error: u } =
|
|
1899
|
+
function Kr({ runIdA: r, runIdB: t }) {
|
|
1900
|
+
const { data: n, loading: a, error: u } = wr(r, t);
|
|
1924
1901
|
if (a)
|
|
1925
1902
|
return /* @__PURE__ */ e.jsx(b, { children: /* @__PURE__ */ e.jsxs("div", { className: "flex flex-col items-center justify-center py-12 gap-3", children: [
|
|
1926
|
-
/* @__PURE__ */ e.jsx(
|
|
1903
|
+
/* @__PURE__ */ e.jsx(I, {}),
|
|
1927
1904
|
/* @__PURE__ */ e.jsx("p", { className: "text-sm text-muted", children: "Comparing runs..." })
|
|
1928
1905
|
] }) });
|
|
1929
1906
|
if (u || !n)
|
|
1930
1907
|
return /* @__PURE__ */ e.jsx(b, { children: /* @__PURE__ */ e.jsx(he, { message: "Failed to load diff", hint: u?.message }) });
|
|
1931
1908
|
const { run_a: o, run_b: d, report: i } = n, f = i.device_drift?.significant_drift ? { variant: "warning", label: "Drift Detected" } : i.device_drift?.has_calibration_data ? { variant: "success", label: "Stable" } : { variant: "gray", label: "No Data" };
|
|
1932
1909
|
return /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
|
|
1933
|
-
/* @__PURE__ */ e.jsx(
|
|
1910
|
+
/* @__PURE__ */ e.jsx(Vr, { warnings: i.warnings || [] }),
|
|
1934
1911
|
/* @__PURE__ */ e.jsx(b, { className: "mb-4", children: /* @__PURE__ */ e.jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [
|
|
1935
|
-
/* @__PURE__ */ e.jsx(
|
|
1936
|
-
/* @__PURE__ */ e.jsx(
|
|
1912
|
+
/* @__PURE__ */ e.jsx(Cs, { label: "Run A (Baseline)", run: o, variant: "a" }),
|
|
1913
|
+
/* @__PURE__ */ e.jsx(Cs, { label: "Run B (Candidate)", run: d, variant: "b" })
|
|
1937
1914
|
] }) }),
|
|
1938
1915
|
/* @__PURE__ */ e.jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4 mb-4", children: [
|
|
1939
1916
|
/* @__PURE__ */ e.jsxs(b, { children: [
|
|
@@ -1941,11 +1918,11 @@ function Jr({ runIdA: r, runIdB: t }) {
|
|
|
1941
1918
|
/* @__PURE__ */ e.jsx(L, { children: /* @__PURE__ */ e.jsxs(B, { children: [
|
|
1942
1919
|
/* @__PURE__ */ e.jsxs(j, { children: [
|
|
1943
1920
|
/* @__PURE__ */ e.jsx(c, { children: "Project" }),
|
|
1944
|
-
/* @__PURE__ */ e.jsx(c, { children: /* @__PURE__ */ e.jsx(
|
|
1921
|
+
/* @__PURE__ */ e.jsx(c, { children: /* @__PURE__ */ e.jsx(Ne, { match: i.metadata.project_match }) })
|
|
1945
1922
|
] }),
|
|
1946
1923
|
/* @__PURE__ */ e.jsxs(j, { children: [
|
|
1947
1924
|
/* @__PURE__ */ e.jsx(c, { children: "Backend" }),
|
|
1948
|
-
/* @__PURE__ */ e.jsx(c, { children: /* @__PURE__ */ e.jsx(
|
|
1925
|
+
/* @__PURE__ */ e.jsx(c, { children: /* @__PURE__ */ e.jsx(Ne, { match: i.metadata.backend_match }) })
|
|
1949
1926
|
] }),
|
|
1950
1927
|
!i.metadata.project_match && /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
|
|
1951
1928
|
/* @__PURE__ */ e.jsxs(j, { children: [
|
|
@@ -1982,7 +1959,7 @@ function Jr({ runIdA: r, runIdB: t }) {
|
|
|
1982
1959
|
] }),
|
|
1983
1960
|
/* @__PURE__ */ e.jsxs(j, { children: [
|
|
1984
1961
|
/* @__PURE__ */ e.jsx(c, { children: "Match" }),
|
|
1985
|
-
/* @__PURE__ */ e.jsx(c, { children: /* @__PURE__ */ e.jsx(
|
|
1962
|
+
/* @__PURE__ */ e.jsx(c, { children: /* @__PURE__ */ e.jsx(Ne, { match: i.fingerprints.a === i.fingerprints.b }) })
|
|
1986
1963
|
] })
|
|
1987
1964
|
] }) })
|
|
1988
1965
|
] })
|
|
@@ -2002,11 +1979,11 @@ function Jr({ runIdA: r, runIdB: t }) {
|
|
|
2002
1979
|
/* @__PURE__ */ e.jsx(L, { children: /* @__PURE__ */ e.jsxs(B, { children: [
|
|
2003
1980
|
/* @__PURE__ */ e.jsxs(j, { children: [
|
|
2004
1981
|
/* @__PURE__ */ e.jsx(c, { children: "Exact Match" }),
|
|
2005
|
-
/* @__PURE__ */ e.jsx(c, { children: /* @__PURE__ */ e.jsx(
|
|
1982
|
+
/* @__PURE__ */ e.jsx(c, { children: /* @__PURE__ */ e.jsx(Ne, { match: i.program.exact_match }) })
|
|
2006
1983
|
] }),
|
|
2007
1984
|
/* @__PURE__ */ e.jsxs(j, { children: [
|
|
2008
1985
|
/* @__PURE__ */ e.jsx(c, { children: "Structural Match" }),
|
|
2009
|
-
/* @__PURE__ */ e.jsx(c, { children: /* @__PURE__ */ e.jsx(
|
|
1986
|
+
/* @__PURE__ */ e.jsx(c, { children: /* @__PURE__ */ e.jsx(Ne, { match: i.program.structural_match }) })
|
|
2010
1987
|
] })
|
|
2011
1988
|
] }) })
|
|
2012
1989
|
] }),
|
|
@@ -2019,9 +1996,9 @@ function Jr({ runIdA: r, runIdB: t }) {
|
|
|
2019
1996
|
/* @__PURE__ */ e.jsx(ae, { badge: { variant: i.params.match ? "success" : "warning", label: i.params.match ? "Match" : "Different" }, children: "Parameters" }),
|
|
2020
1997
|
i.params.match ? /* @__PURE__ */ e.jsx("p", { className: "text-muted", children: "All parameters match" }) : /* @__PURE__ */ e.jsx(e.Fragment, { children: i.params.changed && Object.keys(i.params.changed).length > 0 && /* @__PURE__ */ e.jsxs(L, { children: [
|
|
2021
1998
|
/* @__PURE__ */ e.jsx(re, { children: /* @__PURE__ */ e.jsxs(j, { children: [
|
|
2022
|
-
/* @__PURE__ */ e.jsx(
|
|
2023
|
-
/* @__PURE__ */ e.jsx(
|
|
2024
|
-
/* @__PURE__ */ e.jsx(
|
|
1999
|
+
/* @__PURE__ */ e.jsx(N, { children: "Parameter" }),
|
|
2000
|
+
/* @__PURE__ */ e.jsx(N, { children: "Run A" }),
|
|
2001
|
+
/* @__PURE__ */ e.jsx(N, { children: "Run B" })
|
|
2025
2002
|
] }) }),
|
|
2026
2003
|
/* @__PURE__ */ e.jsx(B, { children: Object.entries(i.params.changed).map(([h, m]) => /* @__PURE__ */ e.jsxs(j, { children: [
|
|
2027
2004
|
/* @__PURE__ */ e.jsx(c, { children: h }),
|
|
@@ -2034,9 +2011,9 @@ function Jr({ runIdA: r, runIdB: t }) {
|
|
|
2034
2011
|
/* @__PURE__ */ e.jsx(ae, { badge: { variant: i.metrics.match ? "success" : "warning", label: i.metrics.match ? "Match" : "Different" }, children: "Metrics" }),
|
|
2035
2012
|
i.metrics.match ? /* @__PURE__ */ e.jsx("p", { className: "text-muted", children: "All metrics match" }) : /* @__PURE__ */ e.jsx(e.Fragment, { children: i.metrics.changed && Object.keys(i.metrics.changed).length > 0 && /* @__PURE__ */ e.jsxs(L, { children: [
|
|
2036
2013
|
/* @__PURE__ */ e.jsx(re, { children: /* @__PURE__ */ e.jsxs(j, { children: [
|
|
2037
|
-
/* @__PURE__ */ e.jsx(
|
|
2038
|
-
/* @__PURE__ */ e.jsx(
|
|
2039
|
-
/* @__PURE__ */ e.jsx(
|
|
2014
|
+
/* @__PURE__ */ e.jsx(N, { children: "Metric" }),
|
|
2015
|
+
/* @__PURE__ */ e.jsx(N, { children: "Run A" }),
|
|
2016
|
+
/* @__PURE__ */ e.jsx(N, { children: "Run B" })
|
|
2040
2017
|
] }) }),
|
|
2041
2018
|
/* @__PURE__ */ e.jsx(B, { children: Object.entries(i.metrics.changed).map(([h, m]) => /* @__PURE__ */ e.jsxs(j, { children: [
|
|
2042
2019
|
/* @__PURE__ */ e.jsx(c, { children: h }),
|
|
@@ -2052,10 +2029,10 @@ function Jr({ runIdA: r, runIdB: t }) {
|
|
|
2052
2029
|
/* @__PURE__ */ e.jsx("h4", { className: "text-sm font-medium mb-2 text-muted", children: "Changed Properties" }),
|
|
2053
2030
|
/* @__PURE__ */ e.jsxs(L, { children: [
|
|
2054
2031
|
/* @__PURE__ */ e.jsx(re, { children: /* @__PURE__ */ e.jsxs(j, { children: [
|
|
2055
|
-
/* @__PURE__ */ e.jsx(
|
|
2056
|
-
/* @__PURE__ */ e.jsx(
|
|
2057
|
-
/* @__PURE__ */ e.jsx(
|
|
2058
|
-
/* @__PURE__ */ e.jsx(
|
|
2032
|
+
/* @__PURE__ */ e.jsx(N, { children: "Property" }),
|
|
2033
|
+
/* @__PURE__ */ e.jsx(N, { children: "Run A" }),
|
|
2034
|
+
/* @__PURE__ */ e.jsx(N, { children: "Run B" }),
|
|
2035
|
+
/* @__PURE__ */ e.jsx(N, { children: "Delta" })
|
|
2059
2036
|
] }) }),
|
|
2060
2037
|
/* @__PURE__ */ e.jsx(B, { children: Object.entries(i.circuit_diff.changed).map(([h, m]) => /* @__PURE__ */ e.jsxs(j, { children: [
|
|
2061
2038
|
/* @__PURE__ */ e.jsx(c, { children: m.label || h }),
|
|
@@ -2116,22 +2093,22 @@ function Jr({ runIdA: r, runIdB: t }) {
|
|
|
2116
2093
|
/* @__PURE__ */ e.jsx(c, { className: "font-mono", children: i.noise_context.p_value.toFixed(4) })
|
|
2117
2094
|
] })
|
|
2118
2095
|
] }) }),
|
|
2119
|
-
/* @__PURE__ */ e.jsx(
|
|
2096
|
+
/* @__PURE__ */ e.jsx(zr, { tvd: i.tvd, noiseContext: i.noise_context })
|
|
2120
2097
|
] })
|
|
2121
2098
|
] });
|
|
2122
2099
|
}
|
|
2123
|
-
function
|
|
2100
|
+
function Hr() {
|
|
2124
2101
|
const [r] = $e(), t = r.get("a"), n = r.get("b"), a = t && n;
|
|
2125
2102
|
return /* @__PURE__ */ e.jsxs(V, { children: [
|
|
2126
2103
|
/* @__PURE__ */ e.jsx("div", { className: "page-header", children: /* @__PURE__ */ e.jsxs("div", { children: [
|
|
2127
2104
|
/* @__PURE__ */ e.jsx("h1", { className: "page-title", children: "Compare Runs" }),
|
|
2128
2105
|
a && /* @__PURE__ */ e.jsx("p", { className: "text-sm mt-1 text-muted", children: /* @__PURE__ */ e.jsx(z, { to: "/diff", children: "← Select different runs" }) })
|
|
2129
2106
|
] }) }),
|
|
2130
|
-
a ? /* @__PURE__ */ e.jsx(
|
|
2107
|
+
a ? /* @__PURE__ */ e.jsx(Kr, { runIdA: t, runIdB: n }) : /* @__PURE__ */ e.jsx(Yr, {})
|
|
2131
2108
|
] });
|
|
2132
2109
|
}
|
|
2133
|
-
function
|
|
2134
|
-
const { api: r } = K(), [t, n] =
|
|
2110
|
+
function Jr() {
|
|
2111
|
+
const { api: r } = K(), [t, n] = T(""), [a, u] = T(null), [o, d] = T(!1), [i, f] = T(""), { mutate: h, loading: m } = Re(async () => {
|
|
2135
2112
|
const _ = await r.listRuns({ q: t, limit: 100 });
|
|
2136
2113
|
return u(_.runs), d(!0), _;
|
|
2137
2114
|
}), p = (_) => {
|
|
@@ -2147,7 +2124,7 @@ function Qr() {
|
|
|
2147
2124
|
/* @__PURE__ */ e.jsxs(ee, { children: [
|
|
2148
2125
|
/* @__PURE__ */ e.jsx(ie, { htmlFor: "q", children: "Query" }),
|
|
2149
2126
|
/* @__PURE__ */ e.jsx(
|
|
2150
|
-
|
|
2127
|
+
ss,
|
|
2151
2128
|
{
|
|
2152
2129
|
id: "q",
|
|
2153
2130
|
type: "text",
|
|
@@ -2163,20 +2140,20 @@ function Qr() {
|
|
|
2163
2140
|
i && /* @__PURE__ */ e.jsx("p", { className: "text-sm text-[#DC4A4A] mb-3", children: i }),
|
|
2164
2141
|
/* @__PURE__ */ e.jsxs("div", { className: "flex gap-2 items-center", children: [
|
|
2165
2142
|
/* @__PURE__ */ e.jsxs(D, { type: "submit", variant: "primary", disabled: m, children: [
|
|
2166
|
-
m && /* @__PURE__ */ e.jsx(
|
|
2143
|
+
m && /* @__PURE__ */ e.jsx(I, {}),
|
|
2167
2144
|
"Search"
|
|
2168
2145
|
] }),
|
|
2169
2146
|
m && /* @__PURE__ */ e.jsx("span", { className: "text-muted text-sm", children: "Searching..." })
|
|
2170
2147
|
] })
|
|
2171
2148
|
] }) }),
|
|
2172
|
-
o && a && /* @__PURE__ */ e.jsx(b, { className: "mb-4", children: a.length > 0 ? /* @__PURE__ */ e.jsx(
|
|
2149
|
+
o && a && /* @__PURE__ */ e.jsx(b, { className: "mb-4", children: a.length > 0 ? /* @__PURE__ */ e.jsx(rs, { runs: a }) : /* @__PURE__ */ e.jsx("p", { className: "text-muted text-center py-8", children: "No runs match your query" }) }),
|
|
2173
2150
|
/* @__PURE__ */ e.jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: [
|
|
2174
2151
|
/* @__PURE__ */ e.jsxs(b, { children: [
|
|
2175
2152
|
/* @__PURE__ */ e.jsx(W, { children: /* @__PURE__ */ e.jsx(G, { children: "Query Syntax" }) }),
|
|
2176
2153
|
/* @__PURE__ */ e.jsxs(L, { children: [
|
|
2177
2154
|
/* @__PURE__ */ e.jsx(re, { children: /* @__PURE__ */ e.jsxs(j, { children: [
|
|
2178
|
-
/* @__PURE__ */ e.jsx(
|
|
2179
|
-
/* @__PURE__ */ e.jsx(
|
|
2155
|
+
/* @__PURE__ */ e.jsx(N, { children: "Field" }),
|
|
2156
|
+
/* @__PURE__ */ e.jsx(N, { children: "Description" })
|
|
2180
2157
|
] }) }),
|
|
2181
2158
|
/* @__PURE__ */ e.jsxs(B, { children: [
|
|
2182
2159
|
/* @__PURE__ */ e.jsxs(j, { children: [
|
|
@@ -2210,8 +2187,8 @@ function Qr() {
|
|
|
2210
2187
|
/* @__PURE__ */ e.jsx(W, { children: /* @__PURE__ */ e.jsx(G, { children: "Operators" }) }),
|
|
2211
2188
|
/* @__PURE__ */ e.jsxs(L, { children: [
|
|
2212
2189
|
/* @__PURE__ */ e.jsx(re, { children: /* @__PURE__ */ e.jsxs(j, { children: [
|
|
2213
|
-
/* @__PURE__ */ e.jsx(
|
|
2214
|
-
/* @__PURE__ */ e.jsx(
|
|
2190
|
+
/* @__PURE__ */ e.jsx(N, { children: "Operator" }),
|
|
2191
|
+
/* @__PURE__ */ e.jsx(N, { children: "Description" })
|
|
2215
2192
|
] }) }),
|
|
2216
2193
|
/* @__PURE__ */ e.jsxs(B, { children: [
|
|
2217
2194
|
/* @__PURE__ */ e.jsxs(j, { children: [
|
|
@@ -2277,17 +2254,17 @@ function Qr() {
|
|
|
2277
2254
|
] })
|
|
2278
2255
|
] });
|
|
2279
2256
|
}
|
|
2280
|
-
function
|
|
2281
|
-
const { runId: r, index: t } =
|
|
2257
|
+
function Xr() {
|
|
2258
|
+
const { runId: r, index: t } = Qe(), n = parseInt(t, 10), { api: a } = K(), { data: u } = As(r), { data: o, loading: d, error: i } = Rr(r, n), [f, h] = T(null);
|
|
2282
2259
|
je(() => {
|
|
2283
2260
|
if (f) {
|
|
2284
|
-
const
|
|
2285
|
-
return () => clearTimeout(
|
|
2261
|
+
const S = setTimeout(() => h(null), 3e3);
|
|
2262
|
+
return () => clearTimeout(S);
|
|
2286
2263
|
}
|
|
2287
2264
|
}, [f]);
|
|
2288
2265
|
const m = async () => {
|
|
2289
2266
|
try {
|
|
2290
|
-
const
|
|
2267
|
+
const S = a.getArtifactDownloadUrl(r, n), se = await fetch(S);
|
|
2291
2268
|
if (!se.ok) throw new Error("Download failed");
|
|
2292
2269
|
const te = await se.blob(), J = document.createElement("a");
|
|
2293
2270
|
J.href = URL.createObjectURL(te), J.download = p?.kind || `artifact-${n}`, J.click(), URL.revokeObjectURL(J.href), h({ message: "Download started", variant: "success" });
|
|
@@ -2296,7 +2273,7 @@ function Zr() {
|
|
|
2296
2273
|
}
|
|
2297
2274
|
};
|
|
2298
2275
|
if (d)
|
|
2299
|
-
return /* @__PURE__ */ e.jsx(V, { children: /* @__PURE__ */ e.jsx("div", { className: "flex justify-center py-12", children: /* @__PURE__ */ e.jsx(
|
|
2276
|
+
return /* @__PURE__ */ e.jsx(V, { children: /* @__PURE__ */ e.jsx("div", { className: "flex justify-center py-12", children: /* @__PURE__ */ e.jsx(I, {}) }) });
|
|
2300
2277
|
if (i || !o)
|
|
2301
2278
|
return /* @__PURE__ */ e.jsx(V, { children: /* @__PURE__ */ e.jsx(b, { children: /* @__PURE__ */ e.jsx(he, { message: "Artifact not found", hint: i?.message }) }) });
|
|
2302
2279
|
const { artifact: p, size: _, content: U, content_json: w, preview_available: H, error: k } = o, O = 10 * 1024 * 1024;
|
|
@@ -2330,7 +2307,7 @@ function Zr() {
|
|
|
2330
2307
|
k
|
|
2331
2308
|
] }),
|
|
2332
2309
|
/* @__PURE__ */ e.jsx("p", { className: "text-muted mt-2", children: /* @__PURE__ */ e.jsx(D, { variant: "primary", onClick: m, children: "Download to view" }) })
|
|
2333
|
-
] }) : H ? w ? /* @__PURE__ */ e.jsx("pre", { children:
|
|
2310
|
+
] }) : H ? w ? /* @__PURE__ */ e.jsx("pre", { children: Cr(w) }) : U ? /* @__PURE__ */ e.jsx("pre", { children: U }) : /* @__PURE__ */ e.jsxs("p", { className: "text-muted", children: [
|
|
2334
2311
|
"Binary content (",
|
|
2335
2312
|
Oe(_),
|
|
2336
2313
|
") — download to view"
|
|
@@ -2358,91 +2335,88 @@ function Zr() {
|
|
|
2358
2335
|
)
|
|
2359
2336
|
] });
|
|
2360
2337
|
}
|
|
2361
|
-
const
|
|
2362
|
-
{ path: "/", element: /* @__PURE__ */ e.jsx(
|
|
2363
|
-
{ path: "/runs", element: /* @__PURE__ */ e.jsx(
|
|
2364
|
-
{ path: "/runs/:runId", element: /* @__PURE__ */ e.jsx(
|
|
2365
|
-
{ path: "/runs/:runId/artifacts/:index", element: /* @__PURE__ */ e.jsx(
|
|
2366
|
-
{ path: "/projects", element: /* @__PURE__ */ e.jsx(
|
|
2367
|
-
{ path: "/groups", element: /* @__PURE__ */ e.jsx(
|
|
2368
|
-
{ path: "/groups/:groupId", element: /* @__PURE__ */ e.jsx(
|
|
2369
|
-
{ path: "/diff", element: /* @__PURE__ */ e.jsx(
|
|
2370
|
-
{ path: "/search", element: /* @__PURE__ */ e.jsx(
|
|
2338
|
+
const Qr = [
|
|
2339
|
+
{ path: "/", element: /* @__PURE__ */ e.jsx(xr, { to: "/runs", replace: !0 }) },
|
|
2340
|
+
{ path: "/runs", element: /* @__PURE__ */ e.jsx(Tr, {}) },
|
|
2341
|
+
{ path: "/runs/:runId", element: /* @__PURE__ */ e.jsx(Br, {}) },
|
|
2342
|
+
{ path: "/runs/:runId/artifacts/:index", element: /* @__PURE__ */ e.jsx(Xr, {}) },
|
|
2343
|
+
{ path: "/projects", element: /* @__PURE__ */ e.jsx(Ir, {}) },
|
|
2344
|
+
{ path: "/groups", element: /* @__PURE__ */ e.jsx(qr, {}) },
|
|
2345
|
+
{ path: "/groups/:groupId", element: /* @__PURE__ */ e.jsx(Ur, {}) },
|
|
2346
|
+
{ path: "/diff", element: /* @__PURE__ */ e.jsx(Hr, {}) },
|
|
2347
|
+
{ path: "/search", element: /* @__PURE__ */ e.jsx(Jr, {}) }
|
|
2371
2348
|
];
|
|
2372
|
-
function
|
|
2373
|
-
return
|
|
2349
|
+
function Ls(r = []) {
|
|
2350
|
+
return mr([...Qr, ...r]);
|
|
2374
2351
|
}
|
|
2375
|
-
const
|
|
2376
|
-
function
|
|
2377
|
-
const n = r?.length ?
|
|
2378
|
-
return /* @__PURE__ */ e.jsx(
|
|
2352
|
+
const Zr = Ls();
|
|
2353
|
+
function at({ additionalRoutes: r, ...t }) {
|
|
2354
|
+
const n = r?.length ? Ls(r) : Zr;
|
|
2355
|
+
return /* @__PURE__ */ e.jsx(yr, { ...t, children: /* @__PURE__ */ e.jsx(fr, { router: n }) });
|
|
2379
2356
|
}
|
|
2380
2357
|
export {
|
|
2381
|
-
|
|
2382
|
-
|
|
2358
|
+
nt as Alert,
|
|
2359
|
+
vr as ApiClient,
|
|
2383
2360
|
we as ApiError,
|
|
2384
|
-
|
|
2385
|
-
|
|
2386
|
-
|
|
2361
|
+
at as App,
|
|
2362
|
+
yr as AppProvider,
|
|
2363
|
+
Xr as ArtifactPage,
|
|
2387
2364
|
Y as Badge,
|
|
2388
2365
|
D as Button,
|
|
2389
2366
|
b as Card,
|
|
2390
2367
|
W as CardHeader,
|
|
2391
2368
|
G as CardTitle,
|
|
2392
|
-
|
|
2369
|
+
Hr as DiffPage,
|
|
2393
2370
|
he as EmptyState,
|
|
2394
2371
|
ee as FormGroup,
|
|
2395
|
-
|
|
2396
|
-
|
|
2397
|
-
|
|
2398
|
-
|
|
2399
|
-
|
|
2372
|
+
Os as FormRow,
|
|
2373
|
+
Ur as GroupDetailPage,
|
|
2374
|
+
qr as GroupsPage,
|
|
2375
|
+
Ar as GroupsTable,
|
|
2376
|
+
ss as Input,
|
|
2400
2377
|
Je as KVList,
|
|
2401
2378
|
ie as Label,
|
|
2402
2379
|
V as Layout,
|
|
2403
|
-
|
|
2404
|
-
|
|
2380
|
+
tt as LayoutConfigProvider,
|
|
2381
|
+
es as Modal,
|
|
2405
2382
|
Ee as PageHeader,
|
|
2406
|
-
|
|
2407
|
-
|
|
2408
|
-
|
|
2409
|
-
|
|
2410
|
-
|
|
2411
|
-
|
|
2383
|
+
Ir as ProjectsPage,
|
|
2384
|
+
Dr as ProjectsTable,
|
|
2385
|
+
Br as RunDetailPage,
|
|
2386
|
+
Tr as RunsPage,
|
|
2387
|
+
rs as RunsTable,
|
|
2388
|
+
Jr as SearchPage,
|
|
2412
2389
|
de as Select,
|
|
2413
|
-
|
|
2414
|
-
|
|
2390
|
+
I as Spinner,
|
|
2391
|
+
$s as StatusBadge,
|
|
2415
2392
|
L as Table,
|
|
2416
2393
|
B as TableBody,
|
|
2417
2394
|
c as TableCell,
|
|
2418
2395
|
re as TableHead,
|
|
2419
|
-
|
|
2396
|
+
N as TableHeader,
|
|
2420
2397
|
j as TableRow,
|
|
2421
|
-
nt as ThemeProvider,
|
|
2422
2398
|
Ce as Toast,
|
|
2423
|
-
|
|
2424
|
-
|
|
2399
|
+
br as api,
|
|
2400
|
+
rt as buildUrl,
|
|
2425
2401
|
$ as cn,
|
|
2426
|
-
|
|
2427
|
-
|
|
2402
|
+
Qr as coreRoutes,
|
|
2403
|
+
Ls as createRouter,
|
|
2428
2404
|
Oe as formatBytes,
|
|
2429
|
-
|
|
2430
|
-
|
|
2431
|
-
|
|
2405
|
+
Er as formatNumber,
|
|
2406
|
+
Cr as jsonPretty,
|
|
2407
|
+
Zr as router,
|
|
2432
2408
|
He as shortDigest,
|
|
2433
2409
|
Q as shortId,
|
|
2434
|
-
|
|
2435
|
-
|
|
2410
|
+
Ze as timeAgo,
|
|
2411
|
+
kr as truncate,
|
|
2436
2412
|
K as useApp,
|
|
2437
|
-
|
|
2438
|
-
|
|
2439
|
-
|
|
2440
|
-
|
|
2441
|
-
|
|
2413
|
+
Rr as useArtifact,
|
|
2414
|
+
wr as useDiff,
|
|
2415
|
+
_r as useGroup,
|
|
2416
|
+
Nr as useGroups,
|
|
2417
|
+
Pr as useLayoutConfig,
|
|
2442
2418
|
Re as useMutation,
|
|
2443
2419
|
Le as useProjects,
|
|
2444
|
-
|
|
2445
|
-
|
|
2446
|
-
yr as useTheme,
|
|
2447
|
-
at as useThemeOptional
|
|
2420
|
+
As as useRun,
|
|
2421
|
+
Ds as useRuns
|
|
2448
2422
|
};
|