@devqubit/ui 0.1.11-beta.2 → 0.1.11-beta.4

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/index.js CHANGED
@@ -1,64 +1,64 @@
1
- import Ps, { useContext as Ze, createContext as es, useState as S, useEffect as ne, useCallback as _e, useRef as Es, forwardRef as ss } from "react";
2
- import { useLocation as pt, Link as Y, useSearchParams as Be, useParams as ts, useNavigate as gt, Navigate as vt, createBrowserRouter as bt, RouterProvider as Nt } from "react-router-dom";
3
- var $e = { exports: {} }, be = {};
4
- var Cs;
1
+ import Ds, { useContext as ss, createContext as ts, useState as P, useEffect as ne, useCallback as pe, useRef as Cs, forwardRef as rs } from "react";
2
+ import { useLocation as pt, Link as Y, useSearchParams as Ie, useParams as ns, useNavigate as gt, Navigate as vt, createBrowserRouter as bt, RouterProvider as Nt } from "react-router-dom";
3
+ var $e = { exports: {} }, Ne = {};
4
+ var Ts;
5
5
  function yt() {
6
- if (Cs) return be;
7
- Cs = 1;
8
- var s = Ps, r = /* @__PURE__ */ Symbol.for("react.element"), a = /* @__PURE__ */ Symbol.for("react.fragment"), n = Object.prototype.hasOwnProperty, o = s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, d = { key: !0, ref: !0, __self: !0, __source: !0 };
9
- function u(i, f, h) {
6
+ if (Ts) return Ne;
7
+ Ts = 1;
8
+ var s = Ds, r = /* @__PURE__ */ Symbol.for("react.element"), a = /* @__PURE__ */ Symbol.for("react.fragment"), n = Object.prototype.hasOwnProperty, o = s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, d = { key: !0, ref: !0, __self: !0, __source: !0 };
9
+ function u(i, x, h) {
10
10
  var m, p = {}, y = null, M = null;
11
- h !== void 0 && (y = "" + h), f.key !== void 0 && (y = "" + f.key), f.ref !== void 0 && (M = f.ref);
12
- for (m in f) n.call(f, m) && !d.hasOwnProperty(m) && (p[m] = f[m]);
13
- if (i && i.defaultProps) for (m in f = i.defaultProps, f) p[m] === void 0 && (p[m] = f[m]);
11
+ h !== void 0 && (y = "" + h), x.key !== void 0 && (y = "" + x.key), x.ref !== void 0 && (M = x.ref);
12
+ for (m in x) n.call(x, m) && !d.hasOwnProperty(m) && (p[m] = x[m]);
13
+ if (i && i.defaultProps) for (m in x = i.defaultProps, x) p[m] === void 0 && (p[m] = x[m]);
14
14
  return { $$typeof: r, type: i, key: y, ref: M, props: p, _owner: o.current };
15
15
  }
16
- return be.Fragment = a, be.jsx = u, be.jsxs = u, be;
16
+ return Ne.Fragment = a, Ne.jsx = u, Ne.jsxs = u, Ne;
17
17
  }
18
- var Ne = {};
19
- var Ts;
18
+ var ye = {};
19
+ var ks;
20
20
  function _t() {
21
- return Ts || (Ts = 1, process.env.NODE_ENV !== "production" && (function() {
22
- var s = Ps, r = /* @__PURE__ */ Symbol.for("react.element"), a = /* @__PURE__ */ Symbol.for("react.portal"), n = /* @__PURE__ */ Symbol.for("react.fragment"), o = /* @__PURE__ */ Symbol.for("react.strict_mode"), d = /* @__PURE__ */ Symbol.for("react.profiler"), u = /* @__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"), y = /* @__PURE__ */ Symbol.for("react.lazy"), M = /* @__PURE__ */ Symbol.for("react.offscreen"), _ = Symbol.iterator, H = "@@iterator";
21
+ return ks || (ks = 1, process.env.NODE_ENV !== "production" && (function() {
22
+ var s = Ds, r = /* @__PURE__ */ Symbol.for("react.element"), a = /* @__PURE__ */ Symbol.for("react.portal"), n = /* @__PURE__ */ Symbol.for("react.fragment"), o = /* @__PURE__ */ Symbol.for("react.strict_mode"), d = /* @__PURE__ */ Symbol.for("react.profiler"), u = /* @__PURE__ */ Symbol.for("react.provider"), i = /* @__PURE__ */ Symbol.for("react.context"), x = /* @__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"), y = /* @__PURE__ */ Symbol.for("react.lazy"), M = /* @__PURE__ */ Symbol.for("react.offscreen"), _ = Symbol.iterator, H = "@@iterator";
23
23
  function T(t) {
24
24
  if (t === null || typeof t != "object")
25
25
  return null;
26
26
  var l = _ && t[_] || t[H];
27
27
  return typeof l == "function" ? l : null;
28
28
  }
29
- var B = s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
29
+ var I = s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
30
30
  function k(t) {
31
31
  {
32
- for (var l = arguments.length, x = new Array(l > 1 ? l - 1 : 0), g = 1; g < l; g++)
33
- x[g - 1] = arguments[g];
34
- te("error", t, x);
32
+ for (var l = arguments.length, f = new Array(l > 1 ? l - 1 : 0), g = 1; g < l; g++)
33
+ f[g - 1] = arguments[g];
34
+ te("error", t, f);
35
35
  }
36
36
  }
37
- function te(t, l, x) {
37
+ function te(t, l, f) {
38
38
  {
39
- var g = B.ReactDebugCurrentFrame, E = g.getStackAddendum();
40
- E !== "" && (l += "%s", x = x.concat([E]));
41
- var C = x.map(function(R) {
39
+ var g = I.ReactDebugCurrentFrame, E = g.getStackAddendum();
40
+ E !== "" && (l += "%s", f = f.concat([E]));
41
+ var C = f.map(function(R) {
42
42
  return String(R);
43
43
  });
44
44
  C.unshift("Warning: " + l), Function.prototype.apply.call(console[t], console, C);
45
45
  }
46
46
  }
47
- var ae = !1, J = !1, Z = !1, xe = !1, me = !1, pe;
48
- pe = /* @__PURE__ */ Symbol.for("react.module.reference");
49
- function qe(t) {
50
- return !!(typeof t == "string" || typeof t == "function" || t === n || t === d || me || t === o || t === h || t === m || xe || t === M || ae || J || Z || typeof t == "object" && t !== null && (t.$$typeof === y || t.$$typeof === p || t.$$typeof === u || t.$$typeof === i || t.$$typeof === f || // This needs to include all possible module reference object
47
+ var ae = !1, J = !1, Z = !1, xe = !1, me = !1, ge;
48
+ ge = /* @__PURE__ */ Symbol.for("react.module.reference");
49
+ function Me(t) {
50
+ return !!(typeof t == "string" || typeof t == "function" || t === n || t === d || me || t === o || t === h || t === m || xe || t === M || ae || J || Z || typeof t == "object" && t !== null && (t.$$typeof === y || t.$$typeof === p || t.$$typeof === u || t.$$typeof === i || t.$$typeof === x || // This needs to include all possible module reference object
51
51
  // types supported by any Flight configuration anywhere since
52
52
  // we don't know which Flight build this will end up being used
53
53
  // with.
54
- t.$$typeof === pe || t.getModuleId !== void 0));
54
+ t.$$typeof === ge || t.getModuleId !== void 0));
55
55
  }
56
- function Me(t, l, x) {
56
+ function Ue(t, l, f) {
57
57
  var g = t.displayName;
58
58
  if (g)
59
59
  return g;
60
60
  var E = l.displayName || l.name || "";
61
- return E !== "" ? x + "(" + E + ")" : x;
61
+ return E !== "" ? f + "(" + E + ")" : f;
62
62
  }
63
63
  function Te(t) {
64
64
  return t.displayName || "Context";
@@ -90,10 +90,10 @@ function _t() {
90
90
  var l = t;
91
91
  return Te(l) + ".Consumer";
92
92
  case u:
93
- var x = t;
94
- return Te(x._context) + ".Provider";
95
- case f:
96
- return Me(t, t.render, "ForwardRef");
93
+ var f = t;
94
+ return Te(f._context) + ".Provider";
95
+ case x:
96
+ return Ue(t, t.render, "ForwardRef");
97
97
  case p:
98
98
  var g = t.displayName || null;
99
99
  return g !== null ? g : ee(t.type) || "Memo";
@@ -108,18 +108,18 @@ function _t() {
108
108
  }
109
109
  return null;
110
110
  }
111
- var w = Object.assign, P = 0, ke, ge, Se, le, cs, ls, os;
112
- function ds() {
111
+ var w = Object.assign, S = 0, ke, ve, Pe, le, ls, os, ds;
112
+ function us() {
113
113
  }
114
- ds.__reactDisabledLog = !0;
115
- function Gs() {
114
+ us.__reactDisabledLog = !0;
115
+ function Ws() {
116
116
  {
117
- if (P === 0) {
118
- ke = console.log, ge = console.info, Se = console.warn, le = console.error, cs = console.group, ls = console.groupCollapsed, os = console.groupEnd;
117
+ if (S === 0) {
118
+ ke = console.log, ve = console.info, Pe = console.warn, le = console.error, ls = console.group, os = console.groupCollapsed, ds = console.groupEnd;
119
119
  var t = {
120
120
  configurable: !0,
121
121
  enumerable: !0,
122
- value: ds,
122
+ value: us,
123
123
  writable: !0
124
124
  };
125
125
  Object.defineProperties(console, {
@@ -132,12 +132,12 @@ function _t() {
132
132
  groupEnd: t
133
133
  });
134
134
  }
135
- P++;
135
+ S++;
136
136
  }
137
137
  }
138
138
  function Vs() {
139
139
  {
140
- if (P--, P === 0) {
140
+ if (S--, S === 0) {
141
141
  var t = {
142
142
  configurable: !0,
143
143
  enumerable: !0,
@@ -148,30 +148,30 @@ function _t() {
148
148
  value: ke
149
149
  }),
150
150
  info: w({}, t, {
151
- value: ge
151
+ value: ve
152
152
  }),
153
153
  warn: w({}, t, {
154
- value: Se
154
+ value: Pe
155
155
  }),
156
156
  error: w({}, t, {
157
157
  value: le
158
158
  }),
159
159
  group: w({}, t, {
160
- value: cs
160
+ value: ls
161
161
  }),
162
162
  groupCollapsed: w({}, t, {
163
- value: ls
163
+ value: os
164
164
  }),
165
165
  groupEnd: w({}, t, {
166
- value: os
166
+ value: ds
167
167
  })
168
168
  });
169
169
  }
170
- P < 0 && k("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
170
+ S < 0 && k("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
171
171
  }
172
172
  }
173
- var Ue = B.ReactCurrentDispatcher, We;
174
- function Pe(t, l, x) {
173
+ var Ge = I.ReactCurrentDispatcher, We;
174
+ function Se(t, l, f) {
175
175
  {
176
176
  if (We === void 0)
177
177
  try {
@@ -184,25 +184,25 @@ function _t() {
184
184
  ` + We + t;
185
185
  }
186
186
  }
187
- var Ge = !1, De;
187
+ var Ve = !1, De;
188
188
  {
189
189
  var zs = typeof WeakMap == "function" ? WeakMap : Map;
190
190
  De = new zs();
191
191
  }
192
- function us(t, l) {
193
- if (!t || Ge)
192
+ function hs(t, l) {
193
+ if (!t || Ve)
194
194
  return "";
195
195
  {
196
- var x = De.get(t);
197
- if (x !== void 0)
198
- return x;
196
+ var f = De.get(t);
197
+ if (f !== void 0)
198
+ return f;
199
199
  }
200
200
  var g;
201
- Ge = !0;
201
+ Ve = !0;
202
202
  var E = Error.prepareStackTrace;
203
203
  Error.prepareStackTrace = void 0;
204
204
  var C;
205
- C = Ue.current, Ue.current = null, Gs();
205
+ C = Ge.current, Ge.current = null, Ws();
206
206
  try {
207
207
  if (l) {
208
208
  var R = function() {
@@ -255,106 +255,106 @@ function _t() {
255
255
  }
256
256
  }
257
257
  } finally {
258
- Ge = !1, Ue.current = C, Vs(), Error.prepareStackTrace = E;
258
+ Ve = !1, Ge.current = C, Vs(), Error.prepareStackTrace = E;
259
259
  }
260
- var je = t ? t.displayName || t.name : "", oe = je ? Pe(je) : "";
260
+ var je = t ? t.displayName || t.name : "", oe = je ? Se(je) : "";
261
261
  return typeof t == "function" && De.set(t, oe), oe;
262
262
  }
263
- function Ys(t, l, x) {
264
- return us(t, !1);
263
+ function Ys(t, l, f) {
264
+ return hs(t, !1);
265
265
  }
266
266
  function Ks(t) {
267
267
  var l = t.prototype;
268
268
  return !!(l && l.isReactComponent);
269
269
  }
270
- function Ae(t, l, x) {
270
+ function Ae(t, l, f) {
271
271
  if (t == null)
272
272
  return "";
273
273
  if (typeof t == "function")
274
- return us(t, Ks(t));
274
+ return hs(t, Ks(t));
275
275
  if (typeof t == "string")
276
- return Pe(t);
276
+ return Se(t);
277
277
  switch (t) {
278
278
  case h:
279
- return Pe("Suspense");
279
+ return Se("Suspense");
280
280
  case m:
281
- return Pe("SuspenseList");
281
+ return Se("SuspenseList");
282
282
  }
283
283
  if (typeof t == "object")
284
284
  switch (t.$$typeof) {
285
- case f:
285
+ case x:
286
286
  return Ys(t.render);
287
287
  case p:
288
- return Ae(t.type, l, x);
288
+ return Ae(t.type, l, f);
289
289
  case y: {
290
290
  var g = t, E = g._payload, C = g._init;
291
291
  try {
292
- return Ae(C(E), l, x);
292
+ return Ae(C(E), l, f);
293
293
  } catch {
294
294
  }
295
295
  }
296
296
  }
297
297
  return "";
298
298
  }
299
- var ve = Object.prototype.hasOwnProperty, hs = {}, xs = B.ReactDebugCurrentFrame;
299
+ var be = Object.prototype.hasOwnProperty, xs = {}, ms = I.ReactDebugCurrentFrame;
300
300
  function Fe(t) {
301
301
  if (t) {
302
- var l = t._owner, x = Ae(t.type, t._source, l ? l.type : null);
303
- xs.setExtraStackFrame(x);
302
+ var l = t._owner, f = Ae(t.type, t._source, l ? l.type : null);
303
+ ms.setExtraStackFrame(f);
304
304
  } else
305
- xs.setExtraStackFrame(null);
305
+ ms.setExtraStackFrame(null);
306
306
  }
307
- function Hs(t, l, x, g, E) {
307
+ function Hs(t, l, f, g, E) {
308
308
  {
309
- var C = Function.call.bind(ve);
309
+ var C = Function.call.bind(be);
310
310
  for (var R in t)
311
311
  if (C(t, R)) {
312
312
  var v = void 0;
313
313
  try {
314
314
  if (typeof t[R] != "function") {
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 t[R] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
315
+ var q = Error((g || "React class") + ": " + f + " type `" + R + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof t[R] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
316
316
  throw q.name = "Invariant Violation", q;
317
317
  }
318
- v = t[R](l, R, g, x, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED");
318
+ v = t[R](l, R, g, f, 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) && (Fe(E), k("%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), Fe(null)), v instanceof Error && !(v.message in hs) && (hs[v.message] = !0, Fe(E), k("Failed %s type: %s", x, v.message), Fe(null));
322
+ v && !(v instanceof Error) && (Fe(E), k("%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", f, R, typeof v), Fe(null)), v instanceof Error && !(v.message in xs) && (xs[v.message] = !0, Fe(E), k("Failed %s type: %s", f, v.message), Fe(null));
323
323
  }
324
324
  }
325
325
  }
326
326
  var Js = Array.isArray;
327
- function Ve(t) {
327
+ function ze(t) {
328
328
  return Js(t);
329
329
  }
330
330
  function Xs(t) {
331
331
  {
332
- var l = typeof Symbol == "function" && Symbol.toStringTag, x = l && t[Symbol.toStringTag] || t.constructor.name || "Object";
333
- return x;
332
+ var l = typeof Symbol == "function" && Symbol.toStringTag, f = l && t[Symbol.toStringTag] || t.constructor.name || "Object";
333
+ return f;
334
334
  }
335
335
  }
336
336
  function Qs(t) {
337
337
  try {
338
- return ms(t), !1;
338
+ return fs(t), !1;
339
339
  } catch {
340
340
  return !0;
341
341
  }
342
342
  }
343
- function ms(t) {
343
+ function fs(t) {
344
344
  return "" + t;
345
345
  }
346
- function fs(t) {
346
+ function js(t) {
347
347
  if (Qs(t))
348
- return k("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", Xs(t)), ms(t);
348
+ return k("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", Xs(t)), fs(t);
349
349
  }
350
- var js = B.ReactCurrentOwner, Zs = {
350
+ var ps = I.ReactCurrentOwner, Zs = {
351
351
  key: !0,
352
352
  ref: !0,
353
353
  __self: !0,
354
354
  __source: !0
355
- }, ps, gs;
355
+ }, gs, vs;
356
356
  function et(t) {
357
- if (ve.call(t, "ref")) {
357
+ if (be.call(t, "ref")) {
358
358
  var l = Object.getOwnPropertyDescriptor(t, "ref").get;
359
359
  if (l && l.isReactWarning)
360
360
  return !1;
@@ -362,7 +362,7 @@ function _t() {
362
362
  return t.ref !== void 0;
363
363
  }
364
364
  function st(t) {
365
- if (ve.call(t, "key")) {
365
+ if (be.call(t, "key")) {
366
366
  var l = Object.getOwnPropertyDescriptor(t, "key").get;
367
367
  if (l && l.isReactWarning)
368
368
  return !1;
@@ -370,38 +370,38 @@ function _t() {
370
370
  return t.key !== void 0;
371
371
  }
372
372
  function tt(t, l) {
373
- typeof t.ref == "string" && js.current;
373
+ typeof t.ref == "string" && ps.current;
374
374
  }
375
375
  function rt(t, l) {
376
376
  {
377
- var x = function() {
378
- ps || (ps = !0, k("%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));
377
+ var f = function() {
378
+ gs || (gs = !0, k("%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
- x.isReactWarning = !0, Object.defineProperty(t, "key", {
381
- get: x,
380
+ f.isReactWarning = !0, Object.defineProperty(t, "key", {
381
+ get: f,
382
382
  configurable: !0
383
383
  });
384
384
  }
385
385
  }
386
386
  function nt(t, l) {
387
387
  {
388
- var x = function() {
389
- gs || (gs = !0, k("%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));
388
+ var f = function() {
389
+ vs || (vs = !0, k("%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
- x.isReactWarning = !0, Object.defineProperty(t, "ref", {
392
- get: x,
391
+ f.isReactWarning = !0, Object.defineProperty(t, "ref", {
392
+ get: f,
393
393
  configurable: !0
394
394
  });
395
395
  }
396
396
  }
397
- var at = function(t, l, x, g, E, C, R) {
397
+ var at = function(t, l, f, 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: r,
401
401
  // Built-in properties that belong on the element
402
402
  type: t,
403
403
  key: l,
404
- ref: x,
404
+ ref: f,
405
405
  props: R,
406
406
  // Record the component responsible for creating this element.
407
407
  _owner: C
@@ -423,12 +423,12 @@ function _t() {
423
423
  value: E
424
424
  }), Object.freeze && (Object.freeze(v.props), Object.freeze(v)), v;
425
425
  };
426
- function it(t, l, x, g, E) {
426
+ function it(t, l, f, g, E) {
427
427
  {
428
428
  var C, R = {}, v = null, q = null;
429
- x !== void 0 && (fs(x), v = "" + x), st(l) && (fs(l.key), v = "" + l.key), et(l) && (q = l.ref, tt(l, E));
429
+ f !== void 0 && (js(f), v = "" + f), st(l) && (js(l.key), v = "" + l.key), et(l) && (q = l.ref, tt(l, E));
430
430
  for (C in l)
431
- ve.call(l, C) && !Zs.hasOwnProperty(C) && (R[C] = l[C]);
431
+ be.call(l, C) && !Zs.hasOwnProperty(C) && (R[C] = l[C]);
432
432
  if (t && t.defaultProps) {
433
433
  var A = t.defaultProps;
434
434
  for (C in A)
@@ -438,26 +438,26 @@ function _t() {
438
438
  var F = typeof t == "function" ? t.displayName || t.name || "Unknown" : t;
439
439
  v && rt(R, F), q && nt(R, F);
440
440
  }
441
- return at(t, v, q, E, g, js.current, R);
441
+ return at(t, v, q, E, g, ps.current, R);
442
442
  }
443
443
  }
444
- var ze = B.ReactCurrentOwner, vs = B.ReactDebugCurrentFrame;
444
+ var Ye = I.ReactCurrentOwner, bs = I.ReactDebugCurrentFrame;
445
445
  function fe(t) {
446
446
  if (t) {
447
- var l = t._owner, x = Ae(t.type, t._source, l ? l.type : null);
448
- vs.setExtraStackFrame(x);
447
+ var l = t._owner, f = Ae(t.type, t._source, l ? l.type : null);
448
+ bs.setExtraStackFrame(f);
449
449
  } else
450
- vs.setExtraStackFrame(null);
450
+ bs.setExtraStackFrame(null);
451
451
  }
452
- var Ye;
453
- Ye = !1;
454
- function Ke(t) {
452
+ var Ke;
453
+ Ke = !1;
454
+ function He(t) {
455
455
  return typeof t == "object" && t !== null && t.$$typeof === r;
456
456
  }
457
- function bs() {
457
+ function Ns() {
458
458
  {
459
- if (ze.current) {
460
- var t = ee(ze.current.type);
459
+ if (Ye.current) {
460
+ var t = ee(Ye.current.type);
461
461
  if (t)
462
462
  return `
463
463
 
@@ -469,48 +469,48 @@ Check the render method of \`` + t + "`.";
469
469
  function ct(t) {
470
470
  return "";
471
471
  }
472
- var Ns = {};
472
+ var ys = {};
473
473
  function lt(t) {
474
474
  {
475
- var l = bs();
475
+ var l = Ns();
476
476
  if (!l) {
477
- var x = typeof t == "string" ? t : t.displayName || t.name;
478
- x && (l = `
477
+ var f = typeof t == "string" ? t : t.displayName || t.name;
478
+ f && (l = `
479
479
 
480
- Check the top-level render call using <` + x + ">.");
480
+ Check the top-level render call using <` + f + ">.");
481
481
  }
482
482
  return l;
483
483
  }
484
484
  }
485
- function ys(t, l) {
485
+ function _s(t, l) {
486
486
  {
487
487
  if (!t._store || t._store.validated || t.key != null)
488
488
  return;
489
489
  t._store.validated = !0;
490
- var x = lt(l);
491
- if (Ns[x])
490
+ var f = lt(l);
491
+ if (ys[f])
492
492
  return;
493
- Ns[x] = !0;
493
+ ys[f] = !0;
494
494
  var g = "";
495
- t && t._owner && t._owner !== ze.current && (g = " It was passed a child from " + ee(t._owner.type) + "."), fe(t), k('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), fe(null);
495
+ t && t._owner && t._owner !== Ye.current && (g = " It was passed a child from " + ee(t._owner.type) + "."), fe(t), k('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', f, g), fe(null);
496
496
  }
497
497
  }
498
- function _s(t, l) {
498
+ function ws(t, l) {
499
499
  {
500
500
  if (typeof t != "object")
501
501
  return;
502
- if (Ve(t))
503
- for (var x = 0; x < t.length; x++) {
504
- var g = t[x];
505
- Ke(g) && ys(g, l);
502
+ if (ze(t))
503
+ for (var f = 0; f < t.length; f++) {
504
+ var g = t[f];
505
+ He(g) && _s(g, l);
506
506
  }
507
- else if (Ke(t))
507
+ else if (He(t))
508
508
  t._store && (t._store.validated = !0);
509
509
  else if (t) {
510
510
  var E = T(t);
511
511
  if (typeof E == "function" && E !== t.entries)
512
512
  for (var C = E.call(t), R; !(R = C.next()).done; )
513
- Ke(R.value) && ys(R.value, l);
513
+ He(R.value) && _s(R.value, l);
514
514
  }
515
515
  }
516
516
  }
@@ -519,20 +519,20 @@ Check the top-level render call using <` + x + ">.");
519
519
  var l = t.type;
520
520
  if (l == null || typeof l == "string")
521
521
  return;
522
- var x;
522
+ var f;
523
523
  if (typeof l == "function")
524
- x = l.propTypes;
525
- else if (typeof l == "object" && (l.$$typeof === f || // Note: Memo only checks outer props here.
524
+ f = l.propTypes;
525
+ else if (typeof l == "object" && (l.$$typeof === x || // Note: Memo only checks outer props here.
526
526
  // Inner props are checked in the reconciler.
527
527
  l.$$typeof === p))
528
- x = l.propTypes;
528
+ f = l.propTypes;
529
529
  else
530
530
  return;
531
- if (x) {
531
+ if (f) {
532
532
  var g = ee(l);
533
- Hs(x, t.props, "prop", g, t);
534
- } else if (l.PropTypes !== void 0 && !Ye) {
535
- Ye = !0;
533
+ Hs(f, t.props, "prop", g, t);
534
+ } else if (l.PropTypes !== void 0 && !Ke) {
535
+ Ke = !0;
536
536
  var E = ee(l);
537
537
  k("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", E || "Unknown");
538
538
  }
@@ -541,8 +541,8 @@ Check the top-level render call using <` + x + ">.");
541
541
  }
542
542
  function dt(t) {
543
543
  {
544
- for (var l = Object.keys(t.props), x = 0; x < l.length; x++) {
545
- var g = l[x];
544
+ for (var l = Object.keys(t.props), f = 0; f < l.length; f++) {
545
+ var g = l[f];
546
546
  if (g !== "children" && g !== "key") {
547
547
  fe(t), k("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", g), fe(null);
548
548
  break;
@@ -551,64 +551,64 @@ Check the top-level render call using <` + x + ">.");
551
551
  t.ref !== null && (fe(t), k("Invalid attribute `ref` supplied to `React.Fragment`."), fe(null));
552
552
  }
553
553
  }
554
- var ws = {};
555
- function Rs(t, l, x, g, E, C) {
554
+ var Rs = {};
555
+ function Es(t, l, f, g, E, C) {
556
556
  {
557
- var R = qe(t);
557
+ var R = Me(t);
558
558
  if (!R) {
559
559
  var v = "";
560
560
  (t === void 0 || typeof t == "object" && t !== null && Object.keys(t).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
561
  var q = ct();
562
- q ? v += q : v += bs();
562
+ q ? v += q : v += Ns();
563
563
  var A;
564
- t === null ? A = "null" : Ve(t) ? A = "array" : t !== void 0 && t.$$typeof === r ? (A = "<" + (ee(t.type) || "Unknown") + " />", v = " Did you accidentally export a JSX literal instead of a component?") : A = typeof t, k("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);
564
+ t === null ? A = "null" : ze(t) ? A = "array" : t !== void 0 && t.$$typeof === r ? (A = "<" + (ee(t.type) || "Unknown") + " />", v = " Did you accidentally export a JSX literal instead of a component?") : A = typeof t, k("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 = it(t, l, x, E, C);
566
+ var F = it(t, l, f, E, C);
567
567
  if (F == null)
568
568
  return F;
569
569
  if (R) {
570
570
  var X = l.children;
571
571
  if (X !== void 0)
572
572
  if (g)
573
- if (Ve(X)) {
573
+ if (ze(X)) {
574
574
  for (var je = 0; je < X.length; je++)
575
- _s(X[je], t);
575
+ ws(X[je], t);
576
576
  Object.freeze && Object.freeze(X);
577
577
  } else
578
578
  k("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
- _s(X, t);
580
+ ws(X, t);
581
581
  }
582
- if (ve.call(l, "key")) {
582
+ if (be.call(l, "key")) {
583
583
  var oe = ee(t), U = Object.keys(l).filter(function(jt) {
584
584
  return jt !== "key";
585
- }), He = U.length > 0 ? "{key: someKey, " + U.join(": ..., ") + ": ...}" : "{key: someKey}";
586
- if (!ws[oe + He]) {
585
+ }), Je = U.length > 0 ? "{key: someKey, " + U.join(": ..., ") + ": ...}" : "{key: someKey}";
586
+ if (!Rs[oe + Je]) {
587
587
  var ft = U.length > 0 ? "{" + U.join(": ..., ") + ": ...}" : "{}";
588
588
  k(`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} />`, He, oe, ft, oe), ws[oe + He] = !0;
593
+ <%s key={someKey} {...props} />`, Je, oe, ft, oe), Rs[oe + Je] = !0;
594
594
  }
595
595
  }
596
596
  return t === n ? dt(F) : ot(F), F;
597
597
  }
598
598
  }
599
- function ut(t, l, x) {
600
- return Rs(t, l, x, !0);
599
+ function ut(t, l, f) {
600
+ return Es(t, l, f, !0);
601
601
  }
602
- function ht(t, l, x) {
603
- return Rs(t, l, x, !1);
602
+ function ht(t, l, f) {
603
+ return Es(t, l, f, !1);
604
604
  }
605
605
  var xt = ht, mt = ut;
606
- Ne.Fragment = n, Ne.jsx = xt, Ne.jsxs = mt;
607
- })()), Ne;
606
+ ye.Fragment = n, ye.jsx = xt, ye.jsxs = mt;
607
+ })()), ye;
608
608
  }
609
- var ks;
609
+ var Ps;
610
610
  function wt() {
611
- return ks || (ks = 1, process.env.NODE_ENV === "production" ? $e.exports = yt() : $e.exports = _t()), $e.exports;
611
+ return Ps || (Ps = 1, process.env.NODE_ENV === "production" ? $e.exports = yt() : $e.exports = _t()), $e.exports;
612
612
  }
613
613
  var e = wt();
614
614
  class we extends Error {
@@ -629,16 +629,18 @@ class Rt {
629
629
  let o = `${this.baseUrl}${a}`;
630
630
  if (n.params) {
631
631
  const u = new URLSearchParams();
632
- Object.entries(n.params).forEach(([f, h]) => {
633
- h != null && h !== "" && u.set(f, String(h));
632
+ Object.entries(n.params).forEach(([x, h]) => {
633
+ h != null && h !== "" && u.set(x, String(h));
634
634
  });
635
635
  const i = u.toString();
636
636
  i && (o += `?${i}`);
637
637
  }
638
638
  const d = await fetch(o, {
639
639
  method: r,
640
- headers: this.headers,
641
- body: n.body ? JSON.stringify(n.body) : void 0
640
+ headers: { ...this.headers, ...n.headers },
641
+ body: n.body ? JSON.stringify(n.body) : void 0,
642
+ credentials: n.credentials,
643
+ cache: "no-store"
642
644
  });
643
645
  if (!d.ok) {
644
646
  const u = await d.json().catch(() => ({ detail: "Unknown error" }));
@@ -698,7 +700,7 @@ const Et = new Rt();
698
700
  function Q(s) {
699
701
  return s?.slice(0, 8) ?? "";
700
702
  }
701
- function Xe(s) {
703
+ function Ze(s) {
702
704
  return s?.slice(0, 12) ?? "N/A";
703
705
  }
704
706
  function Le(s) {
@@ -735,7 +737,7 @@ function Tt(s) {
735
737
  function kt(s, r = 60) {
736
738
  return s ? s.length <= r ? s : s.slice(0, r - 3) + "..." : "";
737
739
  }
738
- function ur(s, r) {
740
+ function hr(s, r) {
739
741
  const a = new URLSearchParams();
740
742
  Object.entries(r).forEach(([o, d]) => {
741
743
  d != null && d !== "" && a.set(o, String(d));
@@ -746,20 +748,20 @@ function ur(s, r) {
746
748
  function $(...s) {
747
749
  return s.filter(Boolean).join(" ");
748
750
  }
749
- function Ds(s, r) {
751
+ function As(s, r) {
750
752
  const a = new Date(s).getTime(), n = r ? new Date(r).getTime() : Date.now();
751
753
  return Math.max(0, Math.floor((n - a) / 1e3));
752
754
  }
753
- function As(s) {
755
+ function Fs(s) {
754
756
  if (s < 60) return `${s}s`;
755
757
  const r = Math.floor(s / 86400), a = Math.floor(s % 86400 / 3600), n = Math.floor(s % 3600 / 60), o = s % 60;
756
758
  return r > 0 ? `${r}d ${a}h ${n}m` : a > 0 ? `${a}h ${n}m ${o}s` : `${n}m ${o}s`;
757
759
  }
758
- function rs(s) {
760
+ function Be(s) {
759
761
  return s === "FINISHED" || s === "FAILED" || s === "KILLED";
760
762
  }
761
- const Fs = es(null);
762
- function hr({ children: s }) {
763
+ const $s = ts(null);
764
+ function xr({ children: s }) {
763
765
  const r = {
764
766
  theme: "light",
765
767
  resolvedTheme: "light",
@@ -768,10 +770,10 @@ function hr({ children: s }) {
768
770
  toggleTheme: () => {
769
771
  }
770
772
  };
771
- return /* @__PURE__ */ e.jsx(Fs.Provider, { value: r, children: s });
773
+ return /* @__PURE__ */ e.jsx($s.Provider, { value: r, children: s });
772
774
  }
773
- function St() {
774
- const s = Ze(Fs);
775
+ function Pt() {
776
+ const s = ss($s);
775
777
  return s || {
776
778
  theme: "light",
777
779
  resolvedTheme: "light",
@@ -781,78 +783,107 @@ function St() {
781
783
  }
782
784
  };
783
785
  }
784
- function xr() {
785
- return St();
786
+ function mr() {
787
+ return Pt();
786
788
  }
787
- const $s = 1e3, Os = es(null);
788
- function Pt({
789
+ const Xe = 1e3, St = {
790
+ runsActive: Xe,
791
+ runsIdle: Xe,
792
+ runDetail: Xe
793
+ }, Os = ts(null);
794
+ function Dt({
789
795
  children: s,
790
796
  api: r = Et,
791
- initialWorkspace: a = null
797
+ initialWorkspace: a = null,
798
+ pollingConfig: n
792
799
  }) {
793
- const [n, o] = S(null), [d, u] = S(a);
800
+ const [o, d] = P(null), [u, i] = P(a), x = {
801
+ ...St,
802
+ ...n
803
+ };
794
804
  return ne(() => {
795
- r.getCapabilities().then(o).catch(console.error);
796
- }, [r]), /* @__PURE__ */ e.jsx(Os.Provider, { value: { api: r, capabilities: n, currentWorkspace: d, setCurrentWorkspace: u }, children: s });
805
+ r.getCapabilities().then(d).catch(console.error);
806
+ }, [r]), /* @__PURE__ */ e.jsx(Os.Provider, { value: { api: r, capabilities: o, currentWorkspace: u, setCurrentWorkspace: i, pollingConfig: x }, children: s });
797
807
  }
798
808
  function z() {
799
- const s = Ze(Os);
809
+ const s = ss(Os);
800
810
  if (!s) throw new Error("useApp must be used within AppProvider");
801
811
  return s;
802
812
  }
803
813
  function ue(s, r = []) {
804
- const [a, n] = S({
814
+ const [a, n] = P({
805
815
  data: null,
806
816
  loading: !0,
807
817
  error: null
808
- }), o = Es(!0), d = Es(s);
818
+ }), o = Cs(!0), d = Cs(s);
809
819
  d.current = s;
810
- const u = _e(async () => {
811
- n((i) => ({ ...i, loading: !0, error: null }));
820
+ const u = pe(async (x) => {
821
+ x || n((h) => ({ ...h, loading: !0, error: null }));
812
822
  try {
813
- const i = await d.current();
814
- o.current && n({ data: i, loading: !1, error: null });
815
- } catch (i) {
816
- o.current && n({
817
- data: null,
818
- loading: !1,
819
- error: i instanceof we ? i : new we(500, String(i))
820
- });
823
+ const h = await d.current();
824
+ o.current && n({ data: h, loading: !1, error: null });
825
+ } catch (h) {
826
+ if (o.current) {
827
+ const m = h instanceof we ? h : new we(500, String(h));
828
+ n((p) => ({
829
+ data: x ? p.data : null,
830
+ loading: !1,
831
+ error: m
832
+ }));
833
+ }
821
834
  }
822
835
  }, []);
823
- return ne(() => (o.current = !0, u(), () => {
836
+ ne(() => (o.current = !0, u(!1), () => {
824
837
  o.current = !1;
825
- }), r), { ...a, refetch: u };
838
+ }), r);
839
+ const i = pe(() => u(!0), [u]);
840
+ return { ...a, refetch: i };
826
841
  }
827
842
  function Ls(s, r, a) {
828
843
  ne(() => {
829
844
  if (!a) return;
830
- const n = setInterval(s, r), o = () => {
831
- document.visibilityState === "visible" && s();
845
+ let n, o = !1;
846
+ const d = () => {
847
+ if (o) return;
848
+ const x = r * 0.1 * (Math.random() * 2 - 1);
849
+ n = setTimeout(u, Math.max(500, r + x));
850
+ }, u = async () => {
851
+ if (!o && document.visibilityState !== "hidden") {
852
+ try {
853
+ await s();
854
+ } catch {
855
+ }
856
+ d();
857
+ }
832
858
  };
833
- return document.addEventListener("visibilitychange", o), () => {
834
- clearInterval(n), document.removeEventListener("visibilitychange", o);
859
+ d();
860
+ const i = () => {
861
+ o || document.visibilityState !== "visible" || (clearTimeout(n), Promise.resolve(s()).catch(() => {
862
+ }).finally(d));
863
+ };
864
+ return document.addEventListener("visibilitychange", i), () => {
865
+ o = !0, clearTimeout(n), document.removeEventListener("visibilitychange", i);
835
866
  };
836
867
  }, [s, r, a]);
837
868
  }
838
- function Bs(s) {
839
- const { api: r, currentWorkspace: a } = z(), n = ue(
869
+ function Is(s) {
870
+ const { api: r, currentWorkspace: a, pollingConfig: n } = z(), o = ue(
840
871
  () => r.listRuns({ ...s, workspace: a?.id }),
841
872
  [r, a?.id, s?.project, s?.status, s?.q, s?.limit]
842
- );
843
- return Ls(n.refetch, $s, !0), n;
873
+ ), u = o.data?.runs.some((i) => !Be(i.status)) ?? !1 ? n.runsActive : n.runsIdle;
874
+ return Ls(o.refetch, u, !0), o;
844
875
  }
845
- function Is(s) {
846
- const { api: r } = z(), a = ue(
876
+ function Bs(s) {
877
+ const { api: r, pollingConfig: a } = z(), n = ue(
847
878
  async () => {
848
- const { run: o } = await r.getRun(s);
849
- return o;
879
+ const { run: d } = await r.getRun(s);
880
+ return d;
850
881
  },
851
882
  [r, s]
852
- ), n = a.data ? !rs(a.data.status) : !1;
853
- return Ls(a.refetch, $s, n), a;
883
+ ), o = n.data ? !Be(n.data.status) : !1;
884
+ return Ls(n.refetch, a.runDetail, o), n;
854
885
  }
855
- function Ie() {
886
+ function qe() {
856
887
  const { api: s, currentWorkspace: r } = z();
857
888
  return ue(
858
889
  async () => {
@@ -862,7 +893,7 @@ function Ie() {
862
893
  [s, r?.id]
863
894
  );
864
895
  }
865
- function Dt(s) {
896
+ function At(s) {
866
897
  const { api: r, currentWorkspace: a } = z();
867
898
  return ue(
868
899
  async () => {
@@ -872,21 +903,21 @@ function Dt(s) {
872
903
  [r, a?.id, s?.project]
873
904
  );
874
905
  }
875
- function At(s) {
906
+ function Ft(s) {
876
907
  const { api: r } = z();
877
908
  return ue(
878
909
  () => r.getGroup(s),
879
910
  [r, s]
880
911
  );
881
912
  }
882
- function Ft(s, r) {
913
+ function $t(s, r) {
883
914
  const { api: a } = z();
884
915
  return ue(
885
916
  () => a.getDiff(s, r),
886
917
  [a, s, r]
887
918
  );
888
919
  }
889
- function $t(s, r) {
920
+ function Ot(s, r) {
890
921
  const { api: a } = z();
891
922
  return ue(
892
923
  () => a.getArtifact(s, r),
@@ -894,41 +925,41 @@ function $t(s, r) {
894
925
  );
895
926
  }
896
927
  function Re(s) {
897
- const [r, a] = S(!1), [n, o] = S(null);
898
- return { mutate: _e(async (...u) => {
928
+ const [r, a] = P(!1), [n, o] = P(null);
929
+ return { mutate: pe(async (...u) => {
899
930
  a(!0), o(null);
900
931
  try {
901
932
  return await s(...u);
902
933
  } catch (i) {
903
- const f = i instanceof we ? i : new we(500, String(i));
904
- throw o(f), f;
934
+ const x = i instanceof we ? i : new we(500, String(i));
935
+ throw o(x), x;
905
936
  } finally {
906
937
  a(!1);
907
938
  }
908
939
  }, [s]), loading: r, error: n };
909
940
  }
910
- const Ot = [
941
+ const Lt = [
911
942
  { href: "/runs", label: "Runs", matchPaths: ["/runs"] },
912
943
  { href: "/projects", label: "Projects", matchPaths: ["/projects"] },
913
944
  { href: "/groups", label: "Groups", matchPaths: ["/groups"] },
914
945
  { href: "/diff", label: "Compare", matchPaths: ["/diff"] },
915
946
  { href: "/search", label: "Search", matchPaths: ["/search"] }
916
- ], qs = es(null);
917
- function mr({
947
+ ], qs = ts(null);
948
+ function fr({
918
949
  config: s,
919
950
  children: r
920
951
  }) {
921
952
  return /* @__PURE__ */ e.jsx(qs.Provider, { value: s, children: r });
922
953
  }
923
- function Lt() {
924
- return Ze(qs);
954
+ function It() {
955
+ return ss(qs);
925
956
  }
926
957
  function V({ children: s, config: r }) {
927
- const a = pt(), o = { ...Lt(), ...r }, d = o?.navLinks ?? Ot, u = [
958
+ const a = pt(), o = { ...It(), ...r }, d = o?.navLinks ?? Lt, u = [
928
959
  ...o?.prependNavLinks ?? [],
929
960
  ...d,
930
961
  ...o?.appendNavLinks ?? []
931
- ], i = o?.logo ?? { text: "devqubit", icon: "⚛" }, f = (h) => h.matchPaths ? h.matchPaths.some((m) => a.pathname.startsWith(m)) : a.pathname === h.href;
962
+ ], i = o?.logo ?? { text: "devqubit", icon: "⚛" }, x = (h) => h.matchPaths ? h.matchPaths.some((m) => a.pathname.startsWith(m)) : a.pathname === h.href;
932
963
  return /* @__PURE__ */ e.jsxs("div", { className: "dq-layout", children: [
933
964
  /* @__PURE__ */ e.jsx("header", { className: "dq-header", children: /* @__PURE__ */ e.jsxs("div", { className: "dq-header-inner", children: [
934
965
  /* @__PURE__ */ e.jsxs("div", { className: "dq-header-left", children: [
@@ -940,7 +971,7 @@ function V({ children: s, config: r }) {
940
971
  Y,
941
972
  {
942
973
  to: h.href,
943
- className: $("dq-nav-link", f(h) && "active"),
974
+ className: $("dq-nav-link", x(h) && "active"),
944
975
  children: h.label
945
976
  },
946
977
  h.href
@@ -963,7 +994,7 @@ function Ee({ title: s, subtitle: r, actions: a }) {
963
994
  function K({ variant: s = "gray", className: r, children: a, ...n }) {
964
995
  return /* @__PURE__ */ e.jsx("span", { className: $("badge", `badge-${s}`, r), ...n, children: a });
965
996
  }
966
- const D = ss(
997
+ const D = rs(
967
998
  ({ variant: s = "secondary", size: r = "default", loading: a, className: n, children: o, disabled: d, ...u }, i) => /* @__PURE__ */ e.jsxs(
968
999
  "button",
969
1000
  {
@@ -977,7 +1008,7 @@ const D = ss(
977
1008
  disabled: d || a,
978
1009
  ...u,
979
1010
  children: [
980
- a && /* @__PURE__ */ e.jsx(I, {}),
1011
+ a && /* @__PURE__ */ e.jsx(B, {}),
981
1012
  o
982
1013
  ]
983
1014
  }
@@ -987,16 +1018,16 @@ D.displayName = "Button";
987
1018
  function b({ className: s, children: r, ...a }) {
988
1019
  return /* @__PURE__ */ e.jsx("div", { className: $("card", s), ...a, children: r });
989
1020
  }
990
- function W({ className: s, children: r, ...a }) {
1021
+ function G({ className: s, children: r, ...a }) {
991
1022
  return /* @__PURE__ */ e.jsx("div", { className: $("card-header", s), ...a, children: r });
992
1023
  }
993
- function G({ className: s, children: r, ...a }) {
1024
+ function W({ className: s, children: r, ...a }) {
994
1025
  return /* @__PURE__ */ e.jsx("h3", { className: $("card-title", s), ...a, children: r });
995
1026
  }
996
- function fr({ variant: s = "info", className: r, children: a, ...n }) {
1027
+ function jr({ variant: s = "info", className: r, children: a, ...n }) {
997
1028
  return /* @__PURE__ */ e.jsx("div", { className: $("alert", `alert-${s}`, r), ...n, children: a });
998
1029
  }
999
- function I({ className: s, ...r }) {
1030
+ function B({ className: s, ...r }) {
1000
1031
  return /* @__PURE__ */ e.jsx("span", { className: $("spinner", s), ...r });
1001
1032
  }
1002
1033
  function he({ message: s, hint: r, className: a, ...n }) {
@@ -1005,13 +1036,13 @@ function he({ message: s, hint: r, className: a, ...n }) {
1005
1036
  r && /* @__PURE__ */ e.jsx("p", { className: "text-sm text-muted mt-2", children: r })
1006
1037
  ] });
1007
1038
  }
1008
- function Qe({ items: s, className: r, ...a }) {
1039
+ function es({ items: s, className: r, ...a }) {
1009
1040
  return /* @__PURE__ */ e.jsx("dl", { className: $("kv-list", r), ...a, children: s.map(({ label: n, value: o }) => /* @__PURE__ */ e.jsxs("div", { className: "contents", children: [
1010
1041
  /* @__PURE__ */ e.jsx("dt", { children: n }),
1011
1042
  /* @__PURE__ */ e.jsx("dd", { children: o })
1012
1043
  ] }, n)) });
1013
1044
  }
1014
- function ns({ open: s, onClose: r, title: a, children: n, actions: o }) {
1045
+ function as({ open: s, onClose: r, title: a, children: n, actions: o }) {
1015
1046
  return s ? /* @__PURE__ */ e.jsx(
1016
1047
  "div",
1017
1048
  {
@@ -1047,11 +1078,11 @@ function se({ children: s, className: r }) {
1047
1078
  function ce({ className: s, children: r, ...a }) {
1048
1079
  return /* @__PURE__ */ e.jsx("label", { className: $("form-label", s), ...a, children: r });
1049
1080
  }
1050
- const as = ss(
1081
+ const is = rs(
1051
1082
  ({ className: s, ...r }, a) => /* @__PURE__ */ e.jsx("input", { ref: a, className: $("form-input", s), ...r })
1052
1083
  );
1053
- as.displayName = "Input";
1054
- const de = ss(
1084
+ is.displayName = "Input";
1085
+ const de = rs(
1055
1086
  ({ className: s, children: r, ...a }, n) => /* @__PURE__ */ e.jsx("select", { ref: n, className: $("form-input", s), ...a, children: r })
1056
1087
  );
1057
1088
  de.displayName = "Select";
@@ -1087,17 +1118,17 @@ function Us({ status: s }) {
1087
1118
  return /* @__PURE__ */ e.jsx(K, { variant: r, children: s });
1088
1119
  }
1089
1120
  function Bt({ createdAt: s, endedAt: r, status: a }) {
1090
- const n = !rs(a), [o, d] = S(Date.now());
1121
+ const n = !Be(a), [o, d] = P(Date.now());
1091
1122
  ne(() => {
1092
1123
  if (!n) return;
1093
1124
  const h = setInterval(() => d(Date.now()), 1e3);
1094
1125
  return () => clearInterval(h);
1095
1126
  }, [n]);
1096
- const i = Ds(s, n ? void 0 : r), f = n ? Math.max(0, Math.floor((o - new Date(s).getTime()) / 1e3)) : i;
1097
- return /* @__PURE__ */ e.jsx("span", { className: n ? "tabular-nums" : void 0, children: As(f) });
1127
+ const i = As(s, n ? void 0 : r), x = n ? Math.max(0, Math.floor((o - new Date(s).getTime()) / 1e3)) : i;
1128
+ return /* @__PURE__ */ e.jsx("span", { className: n ? "tabular-nums" : void 0, children: Fs(x) });
1098
1129
  }
1099
- function is({ runs: s, onDelete: r, loading: a, emptyHint: n, baselineRunId: o }) {
1100
- const [d, u] = S(null), i = () => {
1130
+ function cs({ runs: s, onDelete: r, loading: a, emptyHint: n, baselineRunId: o }) {
1131
+ const [d, u] = P(null), i = () => {
1101
1132
  d && r && (r(d.run_id), u(null));
1102
1133
  };
1103
1134
  return s.length ? /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
@@ -1111,40 +1142,40 @@ function is({ runs: s, onDelete: r, loading: a, emptyHint: n, baselineRunId: o }
1111
1142
  /* @__PURE__ */ e.jsx(N, { children: "Created" }),
1112
1143
  /* @__PURE__ */ e.jsx(N, { children: "Actions" })
1113
1144
  ] }) }),
1114
- /* @__PURE__ */ e.jsx(L, { children: s.map((f) => /* @__PURE__ */ e.jsxs(j, { children: [
1145
+ /* @__PURE__ */ e.jsx(L, { children: s.map((x) => /* @__PURE__ */ e.jsxs(j, { children: [
1115
1146
  /* @__PURE__ */ e.jsxs(c, { children: [
1116
- /* @__PURE__ */ e.jsx(Y, { to: `/runs/${f.run_id}`, className: "font-mono", children: Q(f.run_id) }),
1117
- f.run_id === o && /* @__PURE__ */ e.jsx(K, { variant: "info", className: "ml-2", children: "Baseline" })
1147
+ /* @__PURE__ */ e.jsx(Y, { to: `/runs/${x.run_id}`, className: "font-mono", children: Q(x.run_id) }),
1148
+ x.run_id === o && /* @__PURE__ */ e.jsx(K, { variant: "info", className: "ml-2", children: "Baseline" })
1118
1149
  ] }),
1119
- /* @__PURE__ */ e.jsx(c, { children: f.run_name || "—" }),
1120
- /* @__PURE__ */ e.jsx(c, { children: f.project }),
1121
- /* @__PURE__ */ e.jsx(c, { children: /* @__PURE__ */ e.jsx(Us, { status: f.status }) }),
1150
+ /* @__PURE__ */ e.jsx(c, { children: x.run_name || "—" }),
1151
+ /* @__PURE__ */ e.jsx(c, { children: x.project }),
1152
+ /* @__PURE__ */ e.jsx(c, { children: /* @__PURE__ */ e.jsx(Us, { status: x.status }) }),
1122
1153
  /* @__PURE__ */ e.jsx(c, { className: "font-mono text-sm", children: /* @__PURE__ */ e.jsx(
1123
1154
  Bt,
1124
1155
  {
1125
- createdAt: f.created_at,
1126
- endedAt: f.ended_at,
1127
- status: f.status
1156
+ createdAt: x.created_at,
1157
+ endedAt: x.ended_at,
1158
+ status: x.status
1128
1159
  }
1129
1160
  ) }),
1130
- /* @__PURE__ */ e.jsx(c, { className: "text-muted", children: Le(f.created_at) }),
1161
+ /* @__PURE__ */ e.jsx(c, { className: "text-muted", children: Le(x.created_at) }),
1131
1162
  /* @__PURE__ */ e.jsx(c, { children: /* @__PURE__ */ e.jsxs("div", { className: "flex gap-2", children: [
1132
- /* @__PURE__ */ e.jsx(Y, { to: `/runs/${f.run_id}`, children: /* @__PURE__ */ e.jsx(D, { variant: "secondary", size: "sm", children: "View" }) }),
1163
+ /* @__PURE__ */ e.jsx(Y, { to: `/runs/${x.run_id}`, children: /* @__PURE__ */ e.jsx(D, { variant: "secondary", size: "sm", children: "View" }) }),
1133
1164
  r && /* @__PURE__ */ e.jsx(
1134
1165
  D,
1135
1166
  {
1136
1167
  variant: "ghost-danger",
1137
1168
  size: "sm",
1138
- onClick: () => u(f),
1169
+ onClick: () => u(x),
1139
1170
  disabled: a,
1140
1171
  children: "Delete"
1141
1172
  }
1142
1173
  )
1143
1174
  ] }) })
1144
- ] }, f.run_id)) })
1175
+ ] }, x.run_id)) })
1145
1176
  ] }),
1146
1177
  /* @__PURE__ */ e.jsxs(
1147
- ns,
1178
+ as,
1148
1179
  {
1149
1180
  open: !!d,
1150
1181
  onClose: () => u(null),
@@ -1152,7 +1183,7 @@ function is({ runs: s, onDelete: r, loading: a, emptyHint: n, baselineRunId: o }
1152
1183
  actions: /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
1153
1184
  /* @__PURE__ */ e.jsx(D, { variant: "secondary", onClick: () => u(null), children: "Cancel" }),
1154
1185
  /* @__PURE__ */ e.jsxs(D, { variant: "danger", onClick: i, disabled: a, children: [
1155
- a && /* @__PURE__ */ e.jsx(I, {}),
1186
+ a && /* @__PURE__ */ e.jsx(B, {}),
1156
1187
  "Delete"
1157
1188
  ] })
1158
1189
  ] }),
@@ -1171,24 +1202,24 @@ function is({ runs: s, onDelete: r, loading: a, emptyHint: n, baselineRunId: o }
1171
1202
  }
1172
1203
  );
1173
1204
  }
1174
- function It() {
1175
- const [s, r] = Be(), { api: a } = z(), { data: n } = Ie(), [o, d] = S(null), [u, i] = S({
1205
+ function qt() {
1206
+ const [s, r] = Ie(), { api: a } = z(), { data: n } = qe(), [o, d] = P(null), [u, i] = P({
1176
1207
  project: s.get("project") || "",
1177
1208
  status: s.get("status") || "",
1178
1209
  q: s.get("q") || "",
1179
1210
  limit: parseInt(s.get("limit") || "25", 10)
1180
- }), { data: f, loading: h, refetch: m } = Bs(u), p = Re((_) => a.deleteRun(_));
1211
+ }), { data: x, loading: h, refetch: m } = Is(u), p = Re((_) => a.deleteRun(_));
1181
1212
  ne(() => {
1182
1213
  if (o) {
1183
1214
  const _ = setTimeout(() => d(null), 3e3);
1184
1215
  return () => clearTimeout(_);
1185
1216
  }
1186
1217
  }, [o]);
1187
- const y = _e((_, H) => {
1188
- i((B) => ({ ...B, [_]: H }));
1218
+ const y = pe((_, H) => {
1219
+ i((I) => ({ ...I, [_]: H }));
1189
1220
  const T = new URLSearchParams(s);
1190
1221
  H ? T.set(_, String(H)) : T.delete(_), r(T, { replace: !0 });
1191
- }, [s, r]), M = _e(async (_) => {
1222
+ }, [s, r]), M = pe(async (_) => {
1192
1223
  try {
1193
1224
  await p.mutate(_), d({ message: "Run deleted", variant: "success" }), m();
1194
1225
  } catch {
@@ -1233,7 +1264,7 @@ function It() {
1233
1264
  /* @__PURE__ */ e.jsxs(se, { children: [
1234
1265
  /* @__PURE__ */ e.jsx(ce, { htmlFor: "q", children: "Query" }),
1235
1266
  /* @__PURE__ */ e.jsx(
1236
- as,
1267
+ is,
1237
1268
  {
1238
1269
  id: "q",
1239
1270
  value: u.q,
@@ -1260,13 +1291,13 @@ function It() {
1260
1291
  ] }),
1261
1292
  /* @__PURE__ */ e.jsxs(se, { className: "flex items-end gap-2", children: [
1262
1293
  /* @__PURE__ */ e.jsx(D, { variant: "primary", onClick: () => m(), children: "Filter" }),
1263
- h && /* @__PURE__ */ e.jsx(I, {})
1294
+ h && /* @__PURE__ */ e.jsx(B, {})
1264
1295
  ] })
1265
1296
  ] }) }),
1266
- /* @__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(
1267
- is,
1297
+ /* @__PURE__ */ e.jsx(b, { children: h && !x ? /* @__PURE__ */ e.jsx("div", { className: "flex justify-center py-8", children: /* @__PURE__ */ e.jsx(B, {}) }) : /* @__PURE__ */ e.jsx(
1298
+ cs,
1268
1299
  {
1269
- runs: f?.runs ?? [],
1300
+ runs: x?.runs ?? [],
1270
1301
  onDelete: M,
1271
1302
  loading: p.loading,
1272
1303
  baselineRunId: u.project ? n?.find((_) => _.name === u.project)?.baseline?.run_id : void 0
@@ -1283,7 +1314,7 @@ function It() {
1283
1314
  )
1284
1315
  ] });
1285
1316
  }
1286
- function qt({ projects: s, currentWorkspace: r }) {
1317
+ function Mt({ projects: s, currentWorkspace: r }) {
1287
1318
  if (!s.length)
1288
1319
  return /* @__PURE__ */ e.jsx(
1289
1320
  he,
@@ -1317,7 +1348,7 @@ function qt({ projects: s, currentWorkspace: r }) {
1317
1348
  ] }, n.name)) })
1318
1349
  ] });
1319
1350
  }
1320
- function Mt({ groups: s }) {
1351
+ function Ut({ groups: s }) {
1321
1352
  return s.length ? /* @__PURE__ */ e.jsxs(O, { children: [
1322
1353
  /* @__PURE__ */ e.jsx(re, { children: /* @__PURE__ */ e.jsxs(j, { children: [
1323
1354
  /* @__PURE__ */ e.jsx(N, { children: "Group ID" }),
@@ -1341,14 +1372,14 @@ function Mt({ groups: s }) {
1341
1372
  }
1342
1373
  );
1343
1374
  }
1344
- function Ut({
1375
+ function Gt({
1345
1376
  runId: s,
1346
1377
  runName: r,
1347
1378
  variant: a = "secondary",
1348
1379
  size: n = "sm",
1349
1380
  className: o = ""
1350
1381
  }) {
1351
- const { api: d } = z(), [u, i] = S({ status: "idle" }), [f, h] = S(!1), [m, p] = S(null), y = async () => {
1382
+ const { api: d } = z(), [u, i] = P({ status: "idle" }), [x, h] = P(!1), [m, p] = P(null), y = async () => {
1352
1383
  i({ status: "preparing", message: "Preparing bundle..." }), h(!0);
1353
1384
  try {
1354
1385
  const T = await d.createExport(s);
@@ -1362,7 +1393,7 @@ function Ut({
1362
1393
  status: "downloading",
1363
1394
  message: "Downloading bundle..."
1364
1395
  }));
1365
- const B = d.getExportDownloadUrl(s), k = await fetch(B, {
1396
+ const I = d.getExportDownloadUrl(s), k = await fetch(I, {
1366
1397
  credentials: "same-origin"
1367
1398
  });
1368
1399
  if (!k.ok)
@@ -1374,12 +1405,10 @@ function Ut({
1374
1405
  bundleSize: te.size,
1375
1406
  artifactCount: T.artifact_count,
1376
1407
  objectCount: T.object_count
1377
- }), p({ message: "Bundle downloaded successfully", variant: "success" }), setTimeout(() => {
1378
- h(!1), i({ status: "idle" });
1379
- }, 2e3);
1408
+ });
1380
1409
  } catch (T) {
1381
- const B = T instanceof Error ? T.message : "Export failed";
1382
- i({ status: "error", message: B }), p({ message: B, variant: "error" });
1410
+ const I = T instanceof Error ? T.message : "Export failed";
1411
+ i({ status: "error", message: I }), p({ message: I, variant: "error" });
1383
1412
  }
1384
1413
  }, M = () => {
1385
1414
  u.status !== "preparing" && u.status !== "packing" && u.status !== "downloading" && (h(!1), i({ status: "idle" }));
@@ -1394,22 +1423,22 @@ function Ut({
1394
1423
  disabled: H,
1395
1424
  className: o,
1396
1425
  children: [
1397
- H && /* @__PURE__ */ e.jsx(I, {}),
1426
+ H && /* @__PURE__ */ e.jsx(B, {}),
1398
1427
  /* @__PURE__ */ e.jsx(Wt, {}),
1399
1428
  "Export"
1400
1429
  ]
1401
1430
  }
1402
1431
  ),
1403
1432
  /* @__PURE__ */ e.jsx(
1404
- ns,
1433
+ as,
1405
1434
  {
1406
- open: f,
1435
+ open: x,
1407
1436
  onClose: M,
1408
1437
  title: "Export Run",
1409
1438
  actions: u.status === "error" || u.status === "complete" ? /* @__PURE__ */ e.jsx(D, { variant: "secondary", onClick: M, children: "Close" }) : void 0,
1410
1439
  children: /* @__PURE__ */ e.jsxs("div", { className: "py-4", children: [
1411
1440
  /* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-3 mb-4", children: [
1412
- u.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(Vt, {}) }) : u.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(Gt, {}) }) : /* @__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, {}) }),
1441
+ u.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(zt, {}) }) : u.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(Vt, {}) }) : /* @__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(B, {}) }),
1413
1442
  /* @__PURE__ */ e.jsxs("div", { children: [
1414
1443
  /* @__PURE__ */ e.jsx("p", { className: "font-medium", children: u.message }),
1415
1444
  u.status === "error" && /* @__PURE__ */ e.jsx("p", { className: "text-sm text-[var(--dq-text-muted)]", children: "Please try again or contact support." })
@@ -1470,7 +1499,7 @@ function Wt() {
1470
1499
  }
1471
1500
  );
1472
1501
  }
1473
- function Gt() {
1502
+ function Vt() {
1474
1503
  return /* @__PURE__ */ e.jsx(
1475
1504
  "svg",
1476
1505
  {
@@ -1486,7 +1515,7 @@ function Gt() {
1486
1515
  }
1487
1516
  );
1488
1517
  }
1489
- function Vt() {
1518
+ function zt() {
1490
1519
  return /* @__PURE__ */ e.jsxs(
1491
1520
  "svg",
1492
1521
  {
@@ -1506,18 +1535,18 @@ function Vt() {
1506
1535
  }
1507
1536
  );
1508
1537
  }
1509
- function zt({ createdAt: s, endedAt: r, status: a }) {
1510
- const n = !rs(a), [o, d] = S(Date.now());
1538
+ function Yt({ createdAt: s, endedAt: r, status: a }) {
1539
+ const n = !Be(a), [o, d] = P(Date.now());
1511
1540
  ne(() => {
1512
1541
  if (!n) return;
1513
1542
  const i = setInterval(() => d(Date.now()), 1e3);
1514
1543
  return () => clearInterval(i);
1515
1544
  }, [n]);
1516
- const u = n ? Math.max(0, Math.floor((o - new Date(s).getTime()) / 1e3)) : Ds(s, r);
1517
- return /* @__PURE__ */ e.jsx("span", { className: n ? "tabular-nums" : void 0, children: As(u) });
1545
+ const u = n ? Math.max(0, Math.floor((o - new Date(s).getTime()) / 1e3)) : As(s, r);
1546
+ return /* @__PURE__ */ e.jsx("span", { className: n ? "tabular-nums" : void 0, children: Fs(u) });
1518
1547
  }
1519
- function Yt() {
1520
- const { runId: s } = ts(), r = gt(), { api: a } = z(), { data: n, loading: o, error: d, refetch: u } = Is(s), { data: i, refetch: f } = Ie(), [h, m] = S(!1), [p, y] = S(null), { mutate: M, loading: _ } = Re(
1548
+ function Kt() {
1549
+ const { runId: s } = ns(), r = gt(), { api: a } = z(), { data: n, loading: o, error: d, refetch: u } = Bs(s), { data: i, refetch: x } = qe(), [h, m] = P(!1), [p, y] = P(null), { mutate: M, loading: _ } = Re(
1521
1550
  () => a.setBaseline(n.project, n.run_id)
1522
1551
  ), { mutate: H, loading: T } = Re(
1523
1552
  () => a.deleteRun(s)
@@ -1528,7 +1557,7 @@ function Yt() {
1528
1557
  return () => clearTimeout(w);
1529
1558
  }
1530
1559
  }, [p]), o)
1531
- return /* @__PURE__ */ e.jsx(V, { children: /* @__PURE__ */ e.jsx("div", { className: "flex justify-center py-12", children: /* @__PURE__ */ e.jsx(I, {}) }) });
1560
+ return /* @__PURE__ */ e.jsx(V, { children: /* @__PURE__ */ e.jsx("div", { className: "flex justify-center py-12", children: /* @__PURE__ */ e.jsx(B, {}) }) });
1532
1561
  if (d || !n)
1533
1562
  return /* @__PURE__ */ e.jsx(V, { children: /* @__PURE__ */ e.jsx(b, { children: /* @__PURE__ */ e.jsx(
1534
1563
  he,
@@ -1537,25 +1566,25 @@ function Yt() {
1537
1566
  hint: d?.message || `Run ${s} does not exist`
1538
1567
  }
1539
1568
  ) }) });
1540
- const te = n.backend || {}, ae = n.fingerprints || {}, J = n.data?.params || {}, Z = n.data?.metrics || {}, xe = n.data?.tags || {}, me = n.artifacts || [], pe = n.errors || [], qe = async () => {
1569
+ const te = n.backend || {}, ae = n.fingerprints || {}, J = n.data?.params || {}, Z = n.data?.metrics || {}, xe = n.data?.tags || {}, me = n.artifacts || [], ge = n.errors || [], Me = async () => {
1541
1570
  try {
1542
- await M(), await f(), u(), y({ message: "Baseline updated", variant: "success" });
1571
+ await M(), await x(), u(), y({ message: "Baseline updated", variant: "success" });
1543
1572
  } catch {
1544
1573
  y({ message: "Failed to set baseline", variant: "error" });
1545
1574
  }
1546
- }, Me = async () => {
1575
+ }, Ue = async () => {
1547
1576
  try {
1548
1577
  await H(), m(!1), y({ message: "Run deleted", variant: "success" }), setTimeout(() => r("/runs"), 1e3);
1549
1578
  } catch {
1550
1579
  y({ message: "Failed to delete run", variant: "error" }), m(!1);
1551
1580
  }
1552
1581
  }, Te = async (w) => {
1553
- const P = me[w];
1582
+ const S = me[w];
1554
1583
  try {
1555
- const ke = a.getArtifactDownloadUrl(n.run_id, w), ge = await fetch(ke);
1556
- if (!ge.ok) throw new Error("Download failed");
1557
- const Se = await ge.blob(), le = document.createElement("a");
1558
- le.href = URL.createObjectURL(Se), le.download = P?.kind || `artifact-${w}`, le.click(), URL.revokeObjectURL(le.href), y({ message: "Download started", variant: "success" });
1584
+ const ke = a.getArtifactDownloadUrl(n.run_id, w), ve = await fetch(ke);
1585
+ if (!ve.ok) throw new Error("Download failed");
1586
+ const Pe = await ve.blob(), le = document.createElement("a");
1587
+ le.href = URL.createObjectURL(Pe), le.download = S?.kind || `artifact-${w}`, le.click(), URL.revokeObjectURL(le.href), y({ message: "Download complete", variant: "success" });
1559
1588
  } catch {
1560
1589
  y({ message: "Download failed", variant: "error" });
1561
1590
  }
@@ -1567,7 +1596,7 @@ function Yt() {
1567
1596
  { label: "Created", value: `${n.created_at} (${Le(n.created_at)})` },
1568
1597
  {
1569
1598
  label: "Duration",
1570
- value: /* @__PURE__ */ e.jsx(zt, { createdAt: n.created_at, endedAt: n.ended_at, status: n.status })
1599
+ value: /* @__PURE__ */ e.jsx(Yt, { createdAt: n.created_at, endedAt: n.ended_at, status: n.status })
1571
1600
  },
1572
1601
  ...n.ended_at ? [{ label: "Ended", value: `${n.ended_at} (${Le(n.ended_at)})` }] : [],
1573
1602
  { label: "Backend", value: te.name || "N/A" },
@@ -1588,9 +1617,9 @@ function Yt() {
1588
1617
  /* @__PURE__ */ e.jsx("p", { className: "text-muted text-sm font-mono", children: n.run_id })
1589
1618
  ] }),
1590
1619
  /* @__PURE__ */ e.jsxs("div", { className: "flex gap-2", children: [
1591
- /* @__PURE__ */ e.jsx(Ut, { runId: n.run_id, runName: n.run_name }),
1592
- !k && /* @__PURE__ */ e.jsxs(D, { variant: "secondary", size: "sm", onClick: qe, disabled: _, children: [
1593
- _ && /* @__PURE__ */ e.jsx(I, {}),
1620
+ /* @__PURE__ */ e.jsx(Gt, { runId: n.run_id, runName: n.run_name }),
1621
+ !k && /* @__PURE__ */ e.jsxs(D, { variant: "secondary", size: "sm", onClick: Me, disabled: _, children: [
1622
+ _ && /* @__PURE__ */ e.jsx(B, {}),
1594
1623
  "Set as Baseline"
1595
1624
  ] }),
1596
1625
  /* @__PURE__ */ e.jsx(D, { variant: "ghost-danger", size: "sm", onClick: () => m(!0), children: "Delete" })
@@ -1598,12 +1627,12 @@ function Yt() {
1598
1627
  ] }),
1599
1628
  /* @__PURE__ */ e.jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4 mb-4", children: [
1600
1629
  /* @__PURE__ */ e.jsxs(b, { children: [
1601
- /* @__PURE__ */ e.jsx(W, { children: /* @__PURE__ */ e.jsx(G, { children: "Overview" }) }),
1602
- /* @__PURE__ */ e.jsx(Qe, { items: ee })
1630
+ /* @__PURE__ */ e.jsx(G, { children: /* @__PURE__ */ e.jsx(W, { children: "Overview" }) }),
1631
+ /* @__PURE__ */ e.jsx(es, { items: ee })
1603
1632
  ] }),
1604
1633
  /* @__PURE__ */ e.jsxs(b, { children: [
1605
- /* @__PURE__ */ e.jsx(W, { children: /* @__PURE__ */ e.jsx(G, { children: "Fingerprints" }) }),
1606
- /* @__PURE__ */ e.jsx(Qe, { items: [
1634
+ /* @__PURE__ */ e.jsx(G, { children: /* @__PURE__ */ e.jsx(W, { children: "Fingerprints" }) }),
1635
+ /* @__PURE__ */ e.jsx(es, { items: [
1607
1636
  { label: "Run", value: /* @__PURE__ */ e.jsx("span", { className: "font-mono text-sm truncate", children: ae.run || "N/A" }) },
1608
1637
  { label: "Program", value: /* @__PURE__ */ e.jsx("span", { className: "font-mono text-sm truncate", children: ae.program || "N/A" }) }
1609
1638
  ] })
@@ -1611,30 +1640,30 @@ function Yt() {
1611
1640
  ] }),
1612
1641
  /* @__PURE__ */ e.jsxs("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-4 mb-4", children: [
1613
1642
  /* @__PURE__ */ e.jsxs(b, { children: [
1614
- /* @__PURE__ */ e.jsx(W, { children: /* @__PURE__ */ e.jsx(G, { children: "Parameters" }) }),
1615
- Object.keys(J).length ? /* @__PURE__ */ e.jsx(O, { children: /* @__PURE__ */ e.jsx(L, { children: Object.entries(J).map(([w, P]) => /* @__PURE__ */ e.jsxs(j, { children: [
1643
+ /* @__PURE__ */ e.jsx(G, { children: /* @__PURE__ */ e.jsx(W, { children: "Parameters" }) }),
1644
+ Object.keys(J).length ? /* @__PURE__ */ e.jsx(O, { children: /* @__PURE__ */ e.jsx(L, { children: Object.entries(J).map(([w, S]) => /* @__PURE__ */ e.jsxs(j, { children: [
1616
1645
  /* @__PURE__ */ e.jsx(c, { children: w }),
1617
- /* @__PURE__ */ e.jsx(c, { className: "font-mono", children: String(P) })
1646
+ /* @__PURE__ */ e.jsx(c, { className: "font-mono", children: String(S) })
1618
1647
  ] }, w)) }) }) : /* @__PURE__ */ e.jsx("p", { className: "text-muted", children: "No parameters" })
1619
1648
  ] }),
1620
1649
  /* @__PURE__ */ e.jsxs(b, { children: [
1621
- /* @__PURE__ */ e.jsx(W, { children: /* @__PURE__ */ e.jsx(G, { children: "Metrics" }) }),
1622
- Object.keys(Z).length ? /* @__PURE__ */ e.jsx(O, { children: /* @__PURE__ */ e.jsx(L, { children: Object.entries(Z).map(([w, P]) => /* @__PURE__ */ e.jsxs(j, { children: [
1650
+ /* @__PURE__ */ e.jsx(G, { children: /* @__PURE__ */ e.jsx(W, { children: "Metrics" }) }),
1651
+ Object.keys(Z).length ? /* @__PURE__ */ e.jsx(O, { children: /* @__PURE__ */ e.jsx(L, { children: Object.entries(Z).map(([w, S]) => /* @__PURE__ */ e.jsxs(j, { children: [
1623
1652
  /* @__PURE__ */ e.jsx(c, { children: w }),
1624
- /* @__PURE__ */ e.jsx(c, { className: "font-mono", children: typeof P == "number" ? Ct(P) : String(P) })
1653
+ /* @__PURE__ */ e.jsx(c, { className: "font-mono", children: typeof S == "number" ? Ct(S) : String(S) })
1625
1654
  ] }, w)) }) }) : /* @__PURE__ */ e.jsx("p", { className: "text-muted", children: "No metrics" })
1626
1655
  ] }),
1627
1656
  /* @__PURE__ */ e.jsxs(b, { children: [
1628
- /* @__PURE__ */ e.jsx(W, { children: /* @__PURE__ */ e.jsx(G, { children: "Tags" }) }),
1629
- Object.keys(xe).length ? /* @__PURE__ */ e.jsx("div", { className: "flex flex-wrap gap-2", children: Object.entries(xe).map(([w, P]) => /* @__PURE__ */ e.jsxs(K, { variant: "gray", children: [
1657
+ /* @__PURE__ */ e.jsx(G, { children: /* @__PURE__ */ e.jsx(W, { children: "Tags" }) }),
1658
+ Object.keys(xe).length ? /* @__PURE__ */ e.jsx("div", { className: "flex flex-wrap gap-2", children: Object.entries(xe).map(([w, S]) => /* @__PURE__ */ e.jsxs(K, { variant: "gray", children: [
1630
1659
  w,
1631
1660
  ": ",
1632
- String(P)
1661
+ String(S)
1633
1662
  ] }, w)) }) : /* @__PURE__ */ e.jsx("p", { className: "text-muted", children: "No tags" })
1634
1663
  ] })
1635
1664
  ] }),
1636
1665
  /* @__PURE__ */ e.jsxs(b, { className: "mb-4", children: [
1637
- /* @__PURE__ */ e.jsx(W, { children: /* @__PURE__ */ e.jsxs(G, { children: [
1666
+ /* @__PURE__ */ e.jsx(G, { children: /* @__PURE__ */ e.jsxs(W, { children: [
1638
1667
  "Artifacts (",
1639
1668
  me.length,
1640
1669
  ")"
@@ -1648,38 +1677,38 @@ function Yt() {
1648
1677
  /* @__PURE__ */ e.jsx(N, { children: "Digest" }),
1649
1678
  /* @__PURE__ */ e.jsx(N, { children: "Actions" })
1650
1679
  ] }) }),
1651
- /* @__PURE__ */ e.jsx(L, { children: me.map((w, P) => /* @__PURE__ */ e.jsxs(j, { children: [
1652
- /* @__PURE__ */ e.jsx(c, { children: P }),
1680
+ /* @__PURE__ */ e.jsx(L, { children: me.map((w, S) => /* @__PURE__ */ e.jsxs(j, { children: [
1681
+ /* @__PURE__ */ e.jsx(c, { children: S }),
1653
1682
  /* @__PURE__ */ e.jsx(c, { className: "font-mono text-sm", children: w.kind }),
1654
1683
  /* @__PURE__ */ e.jsx(c, { children: /* @__PURE__ */ e.jsx(K, { variant: "gray", children: w.role }) }),
1655
1684
  /* @__PURE__ */ e.jsx(c, { className: "text-muted text-sm", children: w.media_type }),
1656
- /* @__PURE__ */ e.jsx(c, { className: "font-mono text-sm", children: Xe(w.digest) }),
1685
+ /* @__PURE__ */ e.jsx(c, { className: "font-mono text-sm", children: Ze(w.digest) }),
1657
1686
  /* @__PURE__ */ e.jsx(c, { children: /* @__PURE__ */ e.jsxs("div", { className: "flex gap-2", children: [
1658
- /* @__PURE__ */ e.jsx(Y, { to: `/runs/${n.run_id}/artifacts/${P}`, children: /* @__PURE__ */ e.jsx(D, { variant: "secondary", size: "sm", children: "View" }) }),
1659
- /* @__PURE__ */ e.jsx(D, { variant: "secondary", size: "sm", onClick: () => Te(P), children: "Download" })
1687
+ /* @__PURE__ */ e.jsx(Y, { to: `/runs/${n.run_id}/artifacts/${S}`, children: /* @__PURE__ */ e.jsx(D, { variant: "secondary", size: "sm", children: "View" }) }),
1688
+ /* @__PURE__ */ e.jsx(D, { variant: "secondary", size: "sm", onClick: () => Te(S), children: "Download" })
1660
1689
  ] }) })
1661
- ] }, P)) })
1690
+ ] }, S)) })
1662
1691
  ] }) : /* @__PURE__ */ e.jsx("p", { className: "text-muted", children: "No artifacts" })
1663
1692
  ] }),
1664
- pe.length > 0 && /* @__PURE__ */ e.jsxs(b, { children: [
1665
- /* @__PURE__ */ e.jsx(W, { children: /* @__PURE__ */ e.jsx(G, { className: "text-danger", children: "Errors" }) }),
1666
- pe.map((w, P) => /* @__PURE__ */ e.jsxs("div", { className: "mb-2", children: [
1693
+ ge.length > 0 && /* @__PURE__ */ e.jsxs(b, { children: [
1694
+ /* @__PURE__ */ e.jsx(G, { children: /* @__PURE__ */ e.jsx(W, { className: "text-danger", children: "Errors" }) }),
1695
+ ge.map((w, S) => /* @__PURE__ */ e.jsxs("div", { className: "mb-2", children: [
1667
1696
  /* @__PURE__ */ e.jsx("strong", { children: w.type }),
1668
1697
  ": ",
1669
1698
  w.message,
1670
1699
  w.traceback && /* @__PURE__ */ e.jsx("pre", { className: "mt-2", children: w.traceback })
1671
- ] }, P))
1700
+ ] }, S))
1672
1701
  ] }),
1673
1702
  /* @__PURE__ */ e.jsxs(
1674
- ns,
1703
+ as,
1675
1704
  {
1676
1705
  open: h,
1677
1706
  onClose: () => m(!1),
1678
1707
  title: "Delete Run",
1679
1708
  actions: /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
1680
1709
  /* @__PURE__ */ e.jsx(D, { variant: "secondary", onClick: () => m(!1), children: "Cancel" }),
1681
- /* @__PURE__ */ e.jsxs(D, { variant: "danger", onClick: Me, disabled: T, children: [
1682
- T && /* @__PURE__ */ e.jsx(I, {}),
1710
+ /* @__PURE__ */ e.jsxs(D, { variant: "danger", onClick: Ue, disabled: T, children: [
1711
+ T && /* @__PURE__ */ e.jsx(B, {}),
1683
1712
  "Delete"
1684
1713
  ] })
1685
1714
  ] }),
@@ -1701,15 +1730,15 @@ function Yt() {
1701
1730
  )
1702
1731
  ] });
1703
1732
  }
1704
- function Kt() {
1705
- const { currentWorkspace: s } = z(), { data: r, loading: a } = Ie();
1733
+ function Ht() {
1734
+ const { currentWorkspace: s } = z(), { data: r, loading: a } = qe();
1706
1735
  return /* @__PURE__ */ e.jsxs(V, { children: [
1707
1736
  /* @__PURE__ */ e.jsx(Ee, { title: "Projects" }),
1708
- /* @__PURE__ */ e.jsx(b, { children: a ? /* @__PURE__ */ e.jsx("div", { className: "flex justify-center py-8", children: /* @__PURE__ */ e.jsx(I, {}) }) : /* @__PURE__ */ e.jsx(qt, { projects: r ?? [], currentWorkspace: s }) })
1737
+ /* @__PURE__ */ e.jsx(b, { children: a ? /* @__PURE__ */ e.jsx("div", { className: "flex justify-center py-8", children: /* @__PURE__ */ e.jsx(B, {}) }) : /* @__PURE__ */ e.jsx(Mt, { projects: r ?? [], currentWorkspace: s }) })
1709
1738
  ] });
1710
1739
  }
1711
- function Ht() {
1712
- const [s, r] = Be(), { data: a } = Ie(), [n, o] = S(s.get("project") || ""), { data: d, loading: u, refetch: i } = Dt({ project: n || void 0 }), f = _e((h) => {
1740
+ function Jt() {
1741
+ const [s, r] = Ie(), { data: a } = qe(), [n, o] = P(s.get("project") || ""), { data: d, loading: u, refetch: i } = At({ project: n || void 0 }), x = pe((h) => {
1713
1742
  o(h);
1714
1743
  const m = new URLSearchParams(s);
1715
1744
  h ? m.set("project", h) : m.delete("project"), r(m, { replace: !0 });
@@ -1724,7 +1753,7 @@ function Ht() {
1724
1753
  {
1725
1754
  id: "project",
1726
1755
  value: n,
1727
- onChange: (h) => f(h.target.value),
1756
+ onChange: (h) => x(h.target.value),
1728
1757
  children: [
1729
1758
  /* @__PURE__ */ e.jsx("option", { value: "", children: "All projects" }),
1730
1759
  a?.map((h) => /* @__PURE__ */ e.jsx("option", { value: h.name, children: h.name }, h.name))
@@ -1734,14 +1763,14 @@ function Ht() {
1734
1763
  ] }),
1735
1764
  /* @__PURE__ */ e.jsxs(se, { className: "flex items-end gap-2", children: [
1736
1765
  /* @__PURE__ */ e.jsx(D, { variant: "primary", onClick: () => i(), children: "Filter" }),
1737
- u && /* @__PURE__ */ e.jsx(I, {})
1766
+ u && /* @__PURE__ */ e.jsx(B, {})
1738
1767
  ] })
1739
1768
  ] }) }),
1740
- /* @__PURE__ */ e.jsx(b, { children: u && !d ? /* @__PURE__ */ e.jsx("div", { className: "flex justify-center py-8", children: /* @__PURE__ */ e.jsx(I, {}) }) : /* @__PURE__ */ e.jsx(Mt, { groups: d ?? [] }) })
1769
+ /* @__PURE__ */ e.jsx(b, { children: u && !d ? /* @__PURE__ */ e.jsx("div", { className: "flex justify-center py-8", children: /* @__PURE__ */ e.jsx(B, {}) }) : /* @__PURE__ */ e.jsx(Ut, { groups: d ?? [] }) })
1741
1770
  ] });
1742
1771
  }
1743
- function Jt() {
1744
- const { groupId: s } = ts(), { api: r } = z(), { data: a, loading: n, error: o, refetch: d } = At(s), [u, i] = S(null), f = Re((m) => r.deleteRun(m));
1772
+ function Xt() {
1773
+ const { groupId: s } = ns(), { api: r } = z(), { data: a, loading: n, error: o, refetch: d } = Ft(s), [u, i] = P(null), x = Re((m) => r.deleteRun(m));
1745
1774
  ne(() => {
1746
1775
  if (u) {
1747
1776
  const m = setTimeout(() => i(null), 3e3);
@@ -1750,12 +1779,12 @@ function Jt() {
1750
1779
  }, [u]);
1751
1780
  const h = async (m) => {
1752
1781
  try {
1753
- await f.mutate(m), i({ message: "Run deleted", variant: "success" }), d();
1782
+ await x.mutate(m), i({ message: "Run deleted", variant: "success" }), d();
1754
1783
  } catch {
1755
1784
  i({ message: "Failed to delete run", variant: "error" });
1756
1785
  }
1757
1786
  };
1758
- return n ? /* @__PURE__ */ e.jsx(V, { children: /* @__PURE__ */ e.jsx("div", { className: "flex justify-center py-12", children: /* @__PURE__ */ e.jsx(I, {}) }) }) : o || !a ? /* @__PURE__ */ e.jsx(V, { children: /* @__PURE__ */ e.jsx(b, { children: /* @__PURE__ */ e.jsx(he, { message: "Group not found", hint: o?.message }) }) }) : /* @__PURE__ */ e.jsxs(V, { children: [
1787
+ return n ? /* @__PURE__ */ e.jsx(V, { children: /* @__PURE__ */ e.jsx("div", { className: "flex justify-center py-12", children: /* @__PURE__ */ e.jsx(B, {}) }) }) : o || !a ? /* @__PURE__ */ e.jsx(V, { children: /* @__PURE__ */ e.jsx(b, { children: /* @__PURE__ */ e.jsx(he, { message: "Group not found", hint: o?.message }) }) }) : /* @__PURE__ */ e.jsxs(V, { children: [
1759
1788
  /* @__PURE__ */ e.jsx(
1760
1789
  Ee,
1761
1790
  {
@@ -1767,17 +1796,17 @@ function Jt() {
1767
1796
  }
1768
1797
  ),
1769
1798
  /* @__PURE__ */ e.jsxs(b, { children: [
1770
- /* @__PURE__ */ e.jsx(W, { children: /* @__PURE__ */ e.jsxs(G, { children: [
1799
+ /* @__PURE__ */ e.jsx(G, { children: /* @__PURE__ */ e.jsxs(W, { children: [
1771
1800
  "Runs in Group (",
1772
1801
  a.runs.length,
1773
1802
  ")"
1774
1803
  ] }) }),
1775
1804
  /* @__PURE__ */ e.jsx(
1776
- is,
1805
+ cs,
1777
1806
  {
1778
1807
  runs: a.runs,
1779
1808
  onDelete: h,
1780
- loading: f.loading
1809
+ loading: x.loading
1781
1810
  }
1782
1811
  )
1783
1812
  ] }),
@@ -1792,41 +1821,41 @@ function Jt() {
1792
1821
  )
1793
1822
  ] });
1794
1823
  }
1795
- function Xt({ className: s = "" }) {
1824
+ function Qt({ className: s = "" }) {
1796
1825
  return /* @__PURE__ */ e.jsx("svg", { className: s, 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" }) });
1797
1826
  }
1798
- function Qt({ className: s = "" }) {
1827
+ function Zt({ className: s = "" }) {
1799
1828
  return /* @__PURE__ */ e.jsxs("svg", { className: s, width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [
1800
1829
  /* @__PURE__ */ e.jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18" }),
1801
1830
  /* @__PURE__ */ e.jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18" })
1802
1831
  ] });
1803
1832
  }
1804
- function Zt({ className: s = "" }) {
1833
+ function er({ className: s = "" }) {
1805
1834
  return /* @__PURE__ */ e.jsxs("svg", { className: s, width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
1806
1835
  /* @__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" }),
1807
1836
  /* @__PURE__ */ e.jsx("line", { x1: "12", y1: "9", x2: "12", y2: "13" }),
1808
1837
  /* @__PURE__ */ e.jsx("line", { x1: "12", y1: "17", x2: "12.01", y2: "17" })
1809
1838
  ] });
1810
1839
  }
1811
- function Je({ className: s = "" }) {
1840
+ function Qe({ className: s = "" }) {
1812
1841
  return /* @__PURE__ */ e.jsxs("svg", { className: s, width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
1813
1842
  /* @__PURE__ */ e.jsx("circle", { cx: "12", cy: "12", r: "10" }),
1814
1843
  /* @__PURE__ */ e.jsx("line", { x1: "12", y1: "16", x2: "12", y2: "12" }),
1815
1844
  /* @__PURE__ */ e.jsx("line", { x1: "12", y1: "8", x2: "12.01", y2: "8" })
1816
1845
  ] });
1817
1846
  }
1818
- function ye({ match: s }) {
1847
+ function _e({ match: s }) {
1819
1848
  return s ? /* @__PURE__ */ e.jsxs("span", { className: "diff-match inline-flex items-center gap-1.5", children: [
1820
- /* @__PURE__ */ e.jsx(Xt, { className: "flex-shrink-0" }),
1849
+ /* @__PURE__ */ e.jsx(Qt, { className: "flex-shrink-0" }),
1821
1850
  /* @__PURE__ */ e.jsx("span", { className: "font-medium", children: "Match" })
1822
1851
  ] }) : /* @__PURE__ */ e.jsxs("span", { className: "diff-mismatch inline-flex items-center gap-1.5", children: [
1823
- /* @__PURE__ */ e.jsx(Qt, { className: "flex-shrink-0" }),
1852
+ /* @__PURE__ */ e.jsx(Zt, { className: "flex-shrink-0" }),
1824
1853
  /* @__PURE__ */ e.jsx("span", { className: "font-medium", children: "Different" })
1825
1854
  ] });
1826
1855
  }
1827
- function er({ warnings: s }) {
1856
+ function sr({ warnings: s }) {
1828
1857
  return !s || s.length === 0 ? null : /* @__PURE__ */ e.jsx("div", { className: "alert alert-warning mb-4", children: /* @__PURE__ */ e.jsxs("div", { className: "flex gap-3", children: [
1829
- /* @__PURE__ */ e.jsx(Zt, { className: "flex-shrink-0 mt-0.5" }),
1858
+ /* @__PURE__ */ e.jsx(er, { className: "flex-shrink-0 mt-0.5" }),
1830
1859
  /* @__PURE__ */ e.jsxs("div", { className: "flex-1", children: [
1831
1860
  /* @__PURE__ */ e.jsx("p", { className: "font-semibold mb-1", children: s.length === 1 ? "Warning" : `${s.length} Warnings` }),
1832
1861
  /* @__PURE__ */ e.jsx("ul", { className: "space-y-1", children: s.map((r, a) => /* @__PURE__ */ e.jsx("li", { className: "text-sm", children: r }, a)) })
@@ -1856,12 +1885,12 @@ function ie({
1856
1885
  children: s,
1857
1886
  badge: r
1858
1887
  }) {
1859
- return /* @__PURE__ */ e.jsx(W, { children: /* @__PURE__ */ e.jsx(G, { children: /* @__PURE__ */ e.jsxs("span", { className: "flex items-center gap-2 flex-wrap", children: [
1888
+ return /* @__PURE__ */ e.jsx(G, { children: /* @__PURE__ */ e.jsx(W, { children: /* @__PURE__ */ e.jsxs("span", { className: "flex items-center gap-2 flex-wrap", children: [
1860
1889
  s,
1861
1890
  r && /* @__PURE__ */ e.jsx(K, { variant: r.variant, children: r.label })
1862
1891
  ] }) }) });
1863
1892
  }
1864
- function sr({
1893
+ function tr({
1865
1894
  tvd: s,
1866
1895
  noiseContext: r
1867
1896
  }) {
@@ -1887,8 +1916,8 @@ function sr({
1887
1916
  "×) — results show meaningful differences"
1888
1917
  ] }) : null;
1889
1918
  }
1890
- function tr() {
1891
- const [s, r] = Be(), { data: a } = Bs({ limit: 100 }), n = a?.runs ?? [], [o, d] = S(s.get("a") || ""), [u, i] = S(s.get("b") || ""), [f, h] = S(""), m = (p) => {
1919
+ function rr() {
1920
+ const [s, r] = Ie(), { data: a } = Is({ limit: 100 }), n = a?.runs ?? [], [o, d] = P(s.get("a") || ""), [u, i] = P(s.get("b") || ""), [x, h] = P(""), m = (p) => {
1892
1921
  if (p.preventDefault(), !o || !u) {
1893
1922
  h("Please select both runs to compare");
1894
1923
  return;
@@ -1949,40 +1978,40 @@ function tr() {
1949
1978
  )
1950
1979
  ] })
1951
1980
  ] }),
1952
- f && /* @__PURE__ */ e.jsx("p", { className: "text-sm mb-3 text-danger", children: f }),
1981
+ x && /* @__PURE__ */ e.jsx("p", { className: "text-sm mb-3 text-danger", children: x }),
1953
1982
  /* @__PURE__ */ e.jsx(D, { type: "submit", variant: "primary", children: "Compare" })
1954
1983
  ] }) }),
1955
1984
  /* @__PURE__ */ e.jsxs(b, { className: "mt-4", children: [
1956
- /* @__PURE__ */ e.jsx(W, { children: /* @__PURE__ */ e.jsx(G, { children: "How it works" }) }),
1985
+ /* @__PURE__ */ e.jsx(G, { children: /* @__PURE__ */ e.jsx(W, { children: "How it works" }) }),
1957
1986
  /* @__PURE__ */ e.jsxs("div", { className: "space-y-2 text-sm text-muted", children: [
1958
1987
  /* @__PURE__ */ e.jsxs("div", { className: "flex items-start gap-2", children: [
1959
- /* @__PURE__ */ e.jsx(Je, { className: "flex-shrink-0 mt-0.5" }),
1988
+ /* @__PURE__ */ e.jsx(Qe, { className: "flex-shrink-0 mt-0.5" }),
1960
1989
  /* @__PURE__ */ e.jsx("span", { children: "Select two runs to compare their parameters, metrics, and artifacts" })
1961
1990
  ] }),
1962
1991
  /* @__PURE__ */ e.jsxs("div", { className: "flex items-start gap-2", children: [
1963
- /* @__PURE__ */ e.jsx(Je, { className: "flex-shrink-0 mt-0.5" }),
1992
+ /* @__PURE__ */ e.jsx(Qe, { className: "flex-shrink-0 mt-0.5" }),
1964
1993
  /* @__PURE__ */ e.jsx("span", { children: "The diff shows changed values and computes TVD for result distributions" })
1965
1994
  ] }),
1966
1995
  /* @__PURE__ */ e.jsxs("div", { className: "flex items-start gap-2", children: [
1967
- /* @__PURE__ */ e.jsx(Je, { className: "flex-shrink-0 mt-0.5" }),
1996
+ /* @__PURE__ */ e.jsx(Qe, { className: "flex-shrink-0 mt-0.5" }),
1968
1997
  /* @__PURE__ */ e.jsx("span", { children: "You can also compare from the run detail page" })
1969
1998
  ] })
1970
1999
  ] })
1971
2000
  ] })
1972
2001
  ] });
1973
2002
  }
1974
- function rr({ runIdA: s, runIdB: r }) {
1975
- const { data: a, loading: n, error: o } = Ft(s, r);
2003
+ function nr({ runIdA: s, runIdB: r }) {
2004
+ const { data: a, loading: n, error: o } = $t(s, r);
1976
2005
  if (n)
1977
2006
  return /* @__PURE__ */ e.jsx(b, { children: /* @__PURE__ */ e.jsxs("div", { className: "flex flex-col items-center justify-center py-12 gap-3", children: [
1978
- /* @__PURE__ */ e.jsx(I, {}),
2007
+ /* @__PURE__ */ e.jsx(B, {}),
1979
2008
  /* @__PURE__ */ e.jsx("p", { className: "text-sm text-muted", children: "Comparing runs..." })
1980
2009
  ] }) });
1981
2010
  if (o || !a)
1982
2011
  return /* @__PURE__ */ e.jsx(b, { children: /* @__PURE__ */ e.jsx(he, { message: "Failed to load diff", hint: o?.message }) });
1983
- const { run_a: d, run_b: u, report: i } = a, 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" };
2012
+ const { run_a: d, run_b: u, report: i } = a, x = 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" };
1984
2013
  return /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
1985
- /* @__PURE__ */ e.jsx(er, { warnings: i.warnings || [] }),
2014
+ /* @__PURE__ */ e.jsx(sr, { warnings: i.warnings || [] }),
1986
2015
  /* @__PURE__ */ e.jsx(b, { className: "mb-4", children: /* @__PURE__ */ e.jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [
1987
2016
  /* @__PURE__ */ e.jsx(Ss, { label: "Run A (Baseline)", run: d, variant: "a" }),
1988
2017
  /* @__PURE__ */ e.jsx(Ss, { label: "Run B (Candidate)", run: u, variant: "b" })
@@ -1993,11 +2022,11 @@ function rr({ runIdA: s, runIdB: r }) {
1993
2022
  /* @__PURE__ */ e.jsx(O, { children: /* @__PURE__ */ e.jsxs(L, { children: [
1994
2023
  /* @__PURE__ */ e.jsxs(j, { children: [
1995
2024
  /* @__PURE__ */ e.jsx(c, { children: "Project" }),
1996
- /* @__PURE__ */ e.jsx(c, { children: /* @__PURE__ */ e.jsx(ye, { match: i.metadata.project_match }) })
2025
+ /* @__PURE__ */ e.jsx(c, { children: /* @__PURE__ */ e.jsx(_e, { match: i.metadata.project_match }) })
1997
2026
  ] }),
1998
2027
  /* @__PURE__ */ e.jsxs(j, { children: [
1999
2028
  /* @__PURE__ */ e.jsx(c, { children: "Backend" }),
2000
- /* @__PURE__ */ e.jsx(c, { children: /* @__PURE__ */ e.jsx(ye, { match: i.metadata.backend_match }) })
2029
+ /* @__PURE__ */ e.jsx(c, { children: /* @__PURE__ */ e.jsx(_e, { match: i.metadata.backend_match }) })
2001
2030
  ] }),
2002
2031
  !i.metadata.project_match && /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
2003
2032
  /* @__PURE__ */ e.jsxs(j, { children: [
@@ -2026,15 +2055,15 @@ function rr({ runIdA: s, runIdB: r }) {
2026
2055
  /* @__PURE__ */ e.jsx(O, { children: /* @__PURE__ */ e.jsxs(L, { children: [
2027
2056
  /* @__PURE__ */ e.jsxs(j, { children: [
2028
2057
  /* @__PURE__ */ e.jsx(c, { children: "Run A" }),
2029
- /* @__PURE__ */ e.jsx(c, { className: "font-mono text-sm", children: Xe(i.fingerprints.a) })
2058
+ /* @__PURE__ */ e.jsx(c, { className: "font-mono text-sm", children: Ze(i.fingerprints.a) })
2030
2059
  ] }),
2031
2060
  /* @__PURE__ */ e.jsxs(j, { children: [
2032
2061
  /* @__PURE__ */ e.jsx(c, { children: "Run B" }),
2033
- /* @__PURE__ */ e.jsx(c, { className: "font-mono text-sm", children: Xe(i.fingerprints.b) })
2062
+ /* @__PURE__ */ e.jsx(c, { className: "font-mono text-sm", children: Ze(i.fingerprints.b) })
2034
2063
  ] }),
2035
2064
  /* @__PURE__ */ e.jsxs(j, { children: [
2036
2065
  /* @__PURE__ */ e.jsx(c, { children: "Match" }),
2037
- /* @__PURE__ */ e.jsx(c, { children: /* @__PURE__ */ e.jsx(ye, { match: i.fingerprints.a === i.fingerprints.b }) })
2066
+ /* @__PURE__ */ e.jsx(c, { children: /* @__PURE__ */ e.jsx(_e, { match: i.fingerprints.a === i.fingerprints.b }) })
2038
2067
  ] })
2039
2068
  ] }) })
2040
2069
  ] })
@@ -2054,16 +2083,16 @@ function rr({ runIdA: s, runIdB: r }) {
2054
2083
  /* @__PURE__ */ e.jsx(O, { children: /* @__PURE__ */ e.jsxs(L, { children: [
2055
2084
  /* @__PURE__ */ e.jsxs(j, { children: [
2056
2085
  /* @__PURE__ */ e.jsx(c, { children: "Exact Match" }),
2057
- /* @__PURE__ */ e.jsx(c, { children: /* @__PURE__ */ e.jsx(ye, { match: i.program.exact_match }) })
2086
+ /* @__PURE__ */ e.jsx(c, { children: /* @__PURE__ */ e.jsx(_e, { match: i.program.exact_match }) })
2058
2087
  ] }),
2059
2088
  /* @__PURE__ */ e.jsxs(j, { children: [
2060
2089
  /* @__PURE__ */ e.jsx(c, { children: "Structural Match" }),
2061
- /* @__PURE__ */ e.jsx(c, { children: /* @__PURE__ */ e.jsx(ye, { match: i.program.structural_match }) })
2090
+ /* @__PURE__ */ e.jsx(c, { children: /* @__PURE__ */ e.jsx(_e, { match: i.program.structural_match }) })
2062
2091
  ] })
2063
2092
  ] }) })
2064
2093
  ] }),
2065
2094
  /* @__PURE__ */ e.jsxs(b, { children: [
2066
- /* @__PURE__ */ e.jsx(ie, { badge: f, children: "Device Calibration" }),
2095
+ /* @__PURE__ */ e.jsx(ie, { badge: x, children: "Device Calibration" }),
2067
2096
  i.device_drift?.significant_drift ? /* @__PURE__ */ e.jsx("p", { className: "text-sm text-warning", children: "Significant calibration drift detected between runs" }) : i.device_drift?.has_calibration_data ? /* @__PURE__ */ e.jsx("p", { className: "text-muted", children: "Calibration within acceptable thresholds" }) : /* @__PURE__ */ e.jsx("p", { className: "text-muted", children: "No calibration data available" })
2068
2097
  ] })
2069
2098
  ] }),
@@ -2168,30 +2197,30 @@ function rr({ runIdA: s, runIdB: r }) {
2168
2197
  /* @__PURE__ */ e.jsx(c, { className: "font-mono", children: i.noise_context.p_value.toFixed(4) })
2169
2198
  ] })
2170
2199
  ] }) }),
2171
- /* @__PURE__ */ e.jsx(sr, { tvd: i.tvd, noiseContext: i.noise_context })
2200
+ /* @__PURE__ */ e.jsx(tr, { tvd: i.tvd, noiseContext: i.noise_context })
2172
2201
  ] })
2173
2202
  ] });
2174
2203
  }
2175
- function nr() {
2176
- const [s] = Be(), r = s.get("a"), a = s.get("b"), n = r && a;
2204
+ function ar() {
2205
+ const [s] = Ie(), r = s.get("a"), a = s.get("b"), n = r && a;
2177
2206
  return /* @__PURE__ */ e.jsxs(V, { children: [
2178
2207
  /* @__PURE__ */ e.jsx("div", { className: "page-header", children: /* @__PURE__ */ e.jsxs("div", { children: [
2179
2208
  /* @__PURE__ */ e.jsx("h1", { className: "page-title", children: "Compare Runs" }),
2180
2209
  n && /* @__PURE__ */ e.jsx("p", { className: "text-sm mt-1 text-muted", children: /* @__PURE__ */ e.jsx(Y, { to: "/diff", children: "← Select different runs" }) })
2181
2210
  ] }) }),
2182
- n ? /* @__PURE__ */ e.jsx(rr, { runIdA: r, runIdB: a }) : /* @__PURE__ */ e.jsx(tr, {})
2211
+ n ? /* @__PURE__ */ e.jsx(nr, { runIdA: r, runIdB: a }) : /* @__PURE__ */ e.jsx(rr, {})
2183
2212
  ] });
2184
2213
  }
2185
- function ar() {
2186
- const { api: s } = z(), [r, a] = S(""), [n, o] = S(null), [d, u] = S(!1), [i, f] = S(""), { mutate: h, loading: m } = Re(async () => {
2214
+ function ir() {
2215
+ const { api: s } = z(), [r, a] = P(""), [n, o] = P(null), [d, u] = P(!1), [i, x] = P(""), { mutate: h, loading: m } = Re(async () => {
2187
2216
  const y = await s.listRuns({ q: r, limit: 100 });
2188
2217
  return o(y.runs), u(!0), y;
2189
2218
  }), p = (y) => {
2190
2219
  if (y.preventDefault(), !r.trim()) {
2191
- f("Please enter a search query");
2220
+ x("Please enter a search query");
2192
2221
  return;
2193
2222
  }
2194
- f(""), h();
2223
+ x(""), h();
2195
2224
  };
2196
2225
  return /* @__PURE__ */ e.jsxs(V, { children: [
2197
2226
  /* @__PURE__ */ e.jsx("div", { className: "page-header", children: /* @__PURE__ */ e.jsx("h1", { className: "page-title", children: "Search Runs" }) }),
@@ -2199,13 +2228,13 @@ function ar() {
2199
2228
  /* @__PURE__ */ e.jsxs(se, { children: [
2200
2229
  /* @__PURE__ */ e.jsx(ce, { htmlFor: "q", children: "Query" }),
2201
2230
  /* @__PURE__ */ e.jsx(
2202
- as,
2231
+ is,
2203
2232
  {
2204
2233
  id: "q",
2205
2234
  type: "text",
2206
2235
  value: r,
2207
2236
  onChange: (y) => {
2208
- a(y.target.value), f("");
2237
+ a(y.target.value), x("");
2209
2238
  },
2210
2239
  placeholder: "metric.fidelity > 0.95 and params.shots = 1000",
2211
2240
  className: "font-mono"
@@ -2215,16 +2244,16 @@ function ar() {
2215
2244
  i && /* @__PURE__ */ e.jsx("p", { className: "text-sm text-[#DC4A4A] mb-3", children: i }),
2216
2245
  /* @__PURE__ */ e.jsxs("div", { className: "flex gap-2 items-center", children: [
2217
2246
  /* @__PURE__ */ e.jsxs(D, { type: "submit", variant: "primary", disabled: m, children: [
2218
- m && /* @__PURE__ */ e.jsx(I, {}),
2247
+ m && /* @__PURE__ */ e.jsx(B, {}),
2219
2248
  "Search"
2220
2249
  ] }),
2221
2250
  m && /* @__PURE__ */ e.jsx("span", { className: "text-muted text-sm", children: "Searching..." })
2222
2251
  ] })
2223
2252
  ] }) }),
2224
- d && n && /* @__PURE__ */ e.jsx(b, { className: "mb-4", children: n.length > 0 ? /* @__PURE__ */ e.jsx(is, { runs: n }) : /* @__PURE__ */ e.jsx("p", { className: "text-muted text-center py-8", children: "No runs match your query" }) }),
2253
+ d && n && /* @__PURE__ */ e.jsx(b, { className: "mb-4", children: n.length > 0 ? /* @__PURE__ */ e.jsx(cs, { runs: n }) : /* @__PURE__ */ e.jsx("p", { className: "text-muted text-center py-8", children: "No runs match your query" }) }),
2225
2254
  /* @__PURE__ */ e.jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: [
2226
2255
  /* @__PURE__ */ e.jsxs(b, { children: [
2227
- /* @__PURE__ */ e.jsx(W, { children: /* @__PURE__ */ e.jsx(G, { children: "Query Syntax" }) }),
2256
+ /* @__PURE__ */ e.jsx(G, { children: /* @__PURE__ */ e.jsx(W, { children: "Query Syntax" }) }),
2228
2257
  /* @__PURE__ */ e.jsxs(O, { children: [
2229
2258
  /* @__PURE__ */ e.jsx(re, { children: /* @__PURE__ */ e.jsxs(j, { children: [
2230
2259
  /* @__PURE__ */ e.jsx(N, { children: "Field" }),
@@ -2259,7 +2288,7 @@ function ar() {
2259
2288
  ] })
2260
2289
  ] }),
2261
2290
  /* @__PURE__ */ e.jsxs(b, { children: [
2262
- /* @__PURE__ */ e.jsx(W, { children: /* @__PURE__ */ e.jsx(G, { children: "Operators" }) }),
2291
+ /* @__PURE__ */ e.jsx(G, { children: /* @__PURE__ */ e.jsx(W, { children: "Operators" }) }),
2263
2292
  /* @__PURE__ */ e.jsxs(O, { children: [
2264
2293
  /* @__PURE__ */ e.jsx(re, { children: /* @__PURE__ */ e.jsxs(j, { children: [
2265
2294
  /* @__PURE__ */ e.jsx(N, { children: "Operator" }),
@@ -2303,7 +2332,7 @@ function ar() {
2303
2332
  ] })
2304
2333
  ] }),
2305
2334
  /* @__PURE__ */ e.jsxs(b, { className: "mt-4", children: [
2306
- /* @__PURE__ */ e.jsx(W, { children: /* @__PURE__ */ e.jsx(G, { children: "Examples" }) }),
2335
+ /* @__PURE__ */ e.jsx(G, { children: /* @__PURE__ */ e.jsx(W, { children: "Examples" }) }),
2307
2336
  /* @__PURE__ */ e.jsx(O, { children: /* @__PURE__ */ e.jsxs(L, { children: [
2308
2337
  /* @__PURE__ */ e.jsxs(j, { children: [
2309
2338
  /* @__PURE__ */ e.jsx(c, { className: "font-mono", children: "metric.fidelity > 0.95" }),
@@ -2329,29 +2358,29 @@ function ar() {
2329
2358
  ] })
2330
2359
  ] });
2331
2360
  }
2332
- function ir() {
2333
- const { runId: s, index: r } = ts(), a = parseInt(r, 10), { api: n } = z(), { data: o } = Is(s), { data: d, loading: u, error: i } = $t(s, a), [f, h] = S(null);
2361
+ function cr() {
2362
+ const { runId: s, index: r } = ns(), a = parseInt(r, 10), { api: n } = z(), { data: o } = Bs(s), { data: d, loading: u, error: i } = Ot(s, a), [x, h] = P(null);
2334
2363
  ne(() => {
2335
- if (f) {
2364
+ if (x) {
2336
2365
  const k = setTimeout(() => h(null), 3e3);
2337
2366
  return () => clearTimeout(k);
2338
2367
  }
2339
- }, [f]);
2368
+ }, [x]);
2340
2369
  const m = async () => {
2341
2370
  try {
2342
2371
  const k = n.getArtifactDownloadUrl(s, a), te = await fetch(k);
2343
2372
  if (!te.ok) throw new Error("Download failed");
2344
2373
  const ae = await te.blob(), J = document.createElement("a");
2345
- J.href = URL.createObjectURL(ae), J.download = p?.kind || `artifact-${a}`, J.click(), URL.revokeObjectURL(J.href), h({ message: "Download started", variant: "success" });
2374
+ J.href = URL.createObjectURL(ae), J.download = p?.kind || `artifact-${a}`, J.click(), URL.revokeObjectURL(J.href), h({ message: "Download complete", variant: "success" });
2346
2375
  } catch {
2347
2376
  h({ message: "Download failed", variant: "error" });
2348
2377
  }
2349
2378
  };
2350
2379
  if (u)
2351
- return /* @__PURE__ */ e.jsx(V, { children: /* @__PURE__ */ e.jsx("div", { className: "flex justify-center py-12", children: /* @__PURE__ */ e.jsx(I, {}) }) });
2380
+ return /* @__PURE__ */ e.jsx(V, { children: /* @__PURE__ */ e.jsx("div", { className: "flex justify-center py-12", children: /* @__PURE__ */ e.jsx(B, {}) }) });
2352
2381
  if (i || !d)
2353
2382
  return /* @__PURE__ */ e.jsx(V, { children: /* @__PURE__ */ e.jsx(b, { children: /* @__PURE__ */ e.jsx(he, { message: "Artifact not found", hint: i?.message }) }) });
2354
- const { artifact: p, size: y, content: M, content_json: _, preview_available: H, error: T } = d, B = 10 * 1024 * 1024;
2383
+ const { artifact: p, size: y, content: M, content_json: _, preview_available: H, error: T } = d, I = 10 * 1024 * 1024;
2355
2384
  return /* @__PURE__ */ e.jsxs(V, { children: [
2356
2385
  /* @__PURE__ */ e.jsx(
2357
2386
  Ee,
@@ -2367,7 +2396,7 @@ function ir() {
2367
2396
  actions: /* @__PURE__ */ e.jsx(D, { variant: "primary", onClick: m, children: "Download" })
2368
2397
  }
2369
2398
  ),
2370
- /* @__PURE__ */ e.jsx(b, { className: "mb-4", children: /* @__PURE__ */ e.jsx(Qe, { items: [
2399
+ /* @__PURE__ */ e.jsx(b, { className: "mb-4", children: /* @__PURE__ */ e.jsx(es, { items: [
2371
2400
  { label: "Kind", value: /* @__PURE__ */ e.jsx("span", { className: "font-mono", children: p.kind }) },
2372
2401
  { label: "Role", value: /* @__PURE__ */ e.jsx(K, { variant: "gray", children: p.role }) },
2373
2402
  { label: "Media Type", value: p.media_type },
@@ -2375,7 +2404,7 @@ function ir() {
2375
2404
  { label: "Size", value: Oe(y) }
2376
2405
  ] }) }),
2377
2406
  /* @__PURE__ */ e.jsxs(b, { children: [
2378
- /* @__PURE__ */ e.jsx(W, { children: /* @__PURE__ */ e.jsx(G, { children: "Content" }) }),
2407
+ /* @__PURE__ */ e.jsx(G, { children: /* @__PURE__ */ e.jsx(W, { children: "Content" }) }),
2379
2408
  T ? /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
2380
2409
  /* @__PURE__ */ e.jsxs("p", { className: "text-sm text-danger", children: [
2381
2410
  "Error loading artifact: ",
@@ -2392,79 +2421,79 @@ function ir() {
2392
2421
  " (",
2393
2422
  Oe(y),
2394
2423
  " exceeds ",
2395
- Oe(B),
2424
+ Oe(I),
2396
2425
  " limit)"
2397
2426
  ] }),
2398
2427
  /* @__PURE__ */ e.jsx("p", { className: "text-sm text-muted mt-2", children: "Download the artifact to view its contents." }),
2399
2428
  /* @__PURE__ */ e.jsx("p", { className: "mt-4", children: /* @__PURE__ */ e.jsx(D, { variant: "primary", onClick: m, children: "Download" }) })
2400
2429
  ] })
2401
2430
  ] }),
2402
- f && /* @__PURE__ */ e.jsx(
2431
+ x && /* @__PURE__ */ e.jsx(
2403
2432
  Ce,
2404
2433
  {
2405
- message: f.message,
2406
- variant: f.variant,
2407
- visible: !!f,
2434
+ message: x.message,
2435
+ variant: x.variant,
2436
+ visible: !!x,
2408
2437
  onClose: () => h(null)
2409
2438
  }
2410
2439
  )
2411
2440
  ] });
2412
2441
  }
2413
- const cr = [
2442
+ const lr = [
2414
2443
  { path: "/", element: /* @__PURE__ */ e.jsx(vt, { to: "/runs", replace: !0 }) },
2415
- { path: "/runs", element: /* @__PURE__ */ e.jsx(It, {}) },
2416
- { path: "/runs/:runId", element: /* @__PURE__ */ e.jsx(Yt, {}) },
2417
- { path: "/runs/:runId/artifacts/:index", element: /* @__PURE__ */ e.jsx(ir, {}) },
2418
- { path: "/projects", element: /* @__PURE__ */ e.jsx(Kt, {}) },
2419
- { path: "/groups", element: /* @__PURE__ */ e.jsx(Ht, {}) },
2420
- { path: "/groups/:groupId", element: /* @__PURE__ */ e.jsx(Jt, {}) },
2421
- { path: "/diff", element: /* @__PURE__ */ e.jsx(nr, {}) },
2422
- { path: "/search", element: /* @__PURE__ */ e.jsx(ar, {}) }
2444
+ { path: "/runs", element: /* @__PURE__ */ e.jsx(qt, {}) },
2445
+ { path: "/runs/:runId", element: /* @__PURE__ */ e.jsx(Kt, {}) },
2446
+ { path: "/runs/:runId/artifacts/:index", element: /* @__PURE__ */ e.jsx(cr, {}) },
2447
+ { path: "/projects", element: /* @__PURE__ */ e.jsx(Ht, {}) },
2448
+ { path: "/groups", element: /* @__PURE__ */ e.jsx(Jt, {}) },
2449
+ { path: "/groups/:groupId", element: /* @__PURE__ */ e.jsx(Xt, {}) },
2450
+ { path: "/diff", element: /* @__PURE__ */ e.jsx(ar, {}) },
2451
+ { path: "/search", element: /* @__PURE__ */ e.jsx(ir, {}) }
2423
2452
  ];
2424
- function Ws(s = []) {
2425
- return bt([...cr, ...s]);
2453
+ function Gs(s = []) {
2454
+ return bt([...lr, ...s]);
2426
2455
  }
2427
- const lr = Ws();
2428
- function jr({ additionalRoutes: s, ...r }) {
2429
- const a = s?.length ? Ws(s) : lr;
2430
- return /* @__PURE__ */ e.jsx(Pt, { ...r, children: /* @__PURE__ */ e.jsx(Nt, { router: a }) });
2456
+ const or = Gs();
2457
+ function pr({ additionalRoutes: s, ...r }) {
2458
+ const a = s?.length ? Gs(s) : or;
2459
+ return /* @__PURE__ */ e.jsx(Dt, { ...r, children: /* @__PURE__ */ e.jsx(Nt, { router: a }) });
2431
2460
  }
2432
2461
  export {
2433
- fr as Alert,
2462
+ jr as Alert,
2434
2463
  Rt as ApiClient,
2435
2464
  we as ApiError,
2436
- jr as App,
2437
- Pt as AppProvider,
2438
- ir as ArtifactPage,
2465
+ pr as App,
2466
+ Dt as AppProvider,
2467
+ cr as ArtifactPage,
2439
2468
  K as Badge,
2440
2469
  D as Button,
2441
2470
  b as Card,
2442
- W as CardHeader,
2443
- G as CardTitle,
2444
- nr as DiffPage,
2471
+ G as CardHeader,
2472
+ W as CardTitle,
2473
+ ar as DiffPage,
2445
2474
  he as EmptyState,
2446
- Ut as ExportRunButton,
2475
+ Gt as ExportRunButton,
2447
2476
  se as FormGroup,
2448
2477
  Ms as FormRow,
2449
- Jt as GroupDetailPage,
2450
- Ht as GroupsPage,
2451
- Mt as GroupsTable,
2452
- as as Input,
2453
- Qe as KVList,
2478
+ Xt as GroupDetailPage,
2479
+ Jt as GroupsPage,
2480
+ Ut as GroupsTable,
2481
+ is as Input,
2482
+ es as KVList,
2454
2483
  ce as Label,
2455
2484
  V as Layout,
2456
- mr as LayoutConfigProvider,
2457
- ns as Modal,
2458
- $s as POLL_INTERVAL,
2485
+ fr as LayoutConfigProvider,
2486
+ as as Modal,
2487
+ Xe as POLL_INTERVAL,
2459
2488
  Ee as PageHeader,
2460
- Kt as ProjectsPage,
2461
- qt as ProjectsTable,
2462
- Yt as RunDetailPage,
2463
- It as RunsPage,
2464
- is as RunsTable,
2465
- ar as SearchPage,
2489
+ Ht as ProjectsPage,
2490
+ Mt as ProjectsTable,
2491
+ Kt as RunDetailPage,
2492
+ qt as RunsPage,
2493
+ cs as RunsTable,
2494
+ ir as SearchPage,
2466
2495
  de as Select,
2467
- I as Spinner,
2496
+ B as Spinner,
2468
2497
  Us as StatusBadge,
2469
2498
  O as Table,
2470
2499
  L as TableBody,
@@ -2472,35 +2501,35 @@ export {
2472
2501
  re as TableHead,
2473
2502
  N as TableHeader,
2474
2503
  j as TableRow,
2475
- hr as ThemeProvider,
2504
+ xr as ThemeProvider,
2476
2505
  Ce as Toast,
2477
2506
  Et as api,
2478
- ur as buildUrl,
2507
+ hr as buildUrl,
2479
2508
  $ as cn,
2480
- cr as coreRoutes,
2481
- Ws as createRouter,
2482
- Ds as elapsedSeconds,
2509
+ lr as coreRoutes,
2510
+ Gs as createRouter,
2511
+ As as elapsedSeconds,
2483
2512
  Oe as formatBytes,
2484
- As as formatDuration,
2513
+ Fs as formatDuration,
2485
2514
  Ct as formatNumber,
2486
- rs as isTerminalStatus,
2515
+ Be as isTerminalStatus,
2487
2516
  Tt as jsonPretty,
2488
- lr as router,
2489
- Xe as shortDigest,
2517
+ or as router,
2518
+ Ze as shortDigest,
2490
2519
  Q as shortId,
2491
2520
  Le as timeAgo,
2492
2521
  kt as truncate,
2493
2522
  z as useApp,
2494
- $t as useArtifact,
2495
- Ft as useDiff,
2496
- At as useGroup,
2497
- Dt as useGroups,
2498
- Lt as useLayoutConfig,
2523
+ Ot as useArtifact,
2524
+ $t as useDiff,
2525
+ Ft as useGroup,
2526
+ At as useGroups,
2527
+ It as useLayoutConfig,
2499
2528
  Re as useMutation,
2500
2529
  Ls as usePolling,
2501
- Ie as useProjects,
2502
- Is as useRun,
2503
- Bs as useRuns,
2504
- St as useTheme,
2505
- xr as useThemeOptional
2530
+ qe as useProjects,
2531
+ Bs as useRun,
2532
+ Is as useRuns,
2533
+ Pt as useTheme,
2534
+ mr as useThemeOptional
2506
2535
  };