@w6w/ui 0.2.56 → 0.2.57

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.
Files changed (41) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/CallTargetForm.d.ts +10 -0
  3. package/dist/{CodeBlock-CymlfyeA.cjs → CodeBlock-BSX1pi6W.cjs} +2 -2
  4. package/dist/{CodeBlock-CymlfyeA.cjs.map → CodeBlock-BSX1pi6W.cjs.map} +1 -1
  5. package/dist/{CodeBlock-C-oIIYfC.js → CodeBlock-CPKXSNEs.js} +7 -3
  6. package/dist/{CodeBlock-C-oIIYfC.js.map → CodeBlock-CPKXSNEs.js.map} +1 -1
  7. package/dist/CodeEditor.d.ts +2 -0
  8. package/dist/JsonEditor.d.ts +1 -3
  9. package/dist/Markdown.d.ts +3 -1
  10. package/dist/StepBuilderModal.d.ts +2 -3
  11. package/dist/TriggerSampleButton.d.ts +11 -0
  12. package/dist/WorkflowFlowEditor.d.ts +48 -0
  13. package/dist/YamlEditor.d.ts +1 -2
  14. package/dist/callable-fields.d.ts +4 -0
  15. package/dist/code.cjs +1 -1
  16. package/dist/code.mjs +1 -1
  17. package/dist/components/ConfirmModal.d.ts +7 -1
  18. package/dist/components/DataEntryList.d.ts +2 -0
  19. package/dist/components/ResultViewer.d.ts +1 -2
  20. package/dist/connection-app-meta-BeYDm-cs.cjs +24 -0
  21. package/dist/connection-app-meta-BeYDm-cs.cjs.map +1 -0
  22. package/dist/{connection-app-meta-ZCPakGjD.js → connection-app-meta-aURFNTx_.js} +6115 -5806
  23. package/dist/connection-app-meta-aURFNTx_.js.map +1 -0
  24. package/dist/flow.cjs +4 -3
  25. package/dist/flow.cjs.map +1 -1
  26. package/dist/flow.mjs +1820 -1753
  27. package/dist/flow.mjs.map +1 -1
  28. package/dist/index.cjs +2 -2
  29. package/dist/index.cjs.map +1 -1
  30. package/dist/index.mjs +306 -305
  31. package/dist/index.mjs.map +1 -1
  32. package/dist/provider.d.ts +3 -0
  33. package/package.json +2 -1
  34. package/src/code.css +24 -0
  35. package/src/styles/_code-editor.scss +16 -0
  36. package/src/styles/_copyable.scss +22 -0
  37. package/src/styles/_data-vars.scss +11 -0
  38. package/src/styles.css +54 -0
  39. package/dist/connection-app-meta-BEXlKBgV.cjs +0 -22
  40. package/dist/connection-app-meta-BEXlKBgV.cjs.map +0 -1
  41. package/dist/connection-app-meta-ZCPakGjD.js.map +0 -1
package/dist/index.mjs CHANGED
@@ -1,13 +1,13 @@
1
1
  "use client";
2
- var xn = Object.defineProperty;
3
- var Cn = (e, n, a) => n in e ? xn(e, n, { enumerable: !0, configurable: !0, writable: !0, value: a }) : e[n] = a;
4
- var Ne = (e, n, a) => Cn(e, typeof n != "symbol" ? n + "" : n, a);
5
- import { U as Kt, bl as Sn, J as oe, bA as $n, aN as Ye, bN as bt, aM as $e, aH as Tn, X as An, bO as En, aC as de, N as Rn, bP as _n, bQ as On, aY as Oe, bG as In, bC as ue, bR as Pn, bS as Be, bT as Ln, bU as Mn, bV as Dn } from "./connection-app-meta-ZCPakGjD.js";
6
- import { bE as sl, by as ll, aF as il, bW as rl, bX as ol, bY as cl, bZ as dl, aB as ul, b_ as wl, b$ as ml, b3 as hl, bI as pl, bn as fl, b4 as gl, c0 as yl, c1 as vl, aI as Nl, c2 as bl, c3 as kl, c4 as xl, c5 as Cl, c6 as Sl, c7 as $l, c8 as Tl, c9 as Al, an as El, ca as Rl, cb as _l, cc as Ol, cd as Il, ce as Pl, cf as Ll, b2 as Ml, cg as Dl, Q as Ul, ch as Fl, ci as Bl, cj as Kl, ck as jl, cl as Jl, u as Wl, b1 as Vl } from "./connection-app-meta-ZCPakGjD.js";
7
- import { jsx as t, jsxs as i, Fragment as R } from "react/jsx-runtime";
8
- import { useMemo as Ge, useState as k, useEffect as G, useId as Un, useRef as jt } from "react";
9
- import { u as Fn, b as Bn, c as Kn, a as jn, I as Xe, C as Te } from "./CodeBlock-C-oIIYfC.js";
10
- import { i as Hl } from "./CodeBlock-C-oIIYfC.js";
2
+ var Cn = Object.defineProperty;
3
+ var Sn = (e, n, a) => n in e ? Cn(e, n, { enumerable: !0, configurable: !0, writable: !0, value: a }) : e[n] = a;
4
+ var Ne = (e, n, a) => Sn(e, typeof n != "symbol" ? n + "" : n, a);
5
+ import { u as jt, bn as $n, J as oe, bB as Tn, aN as Ye, bO as kt, aM as $e, aH as An, X as Rn, bP as En, aC as de, O as _n, bQ as On, bR as In, aY as Oe, bH as Pn, bD as ue, bS as Ln, bT as Be, bU as Mn, bV as Dn, bW as Un } from "./connection-app-meta-aURFNTx_.js";
6
+ import { bF as sl, bz as ll, aF as il, bX as rl, bY as ol, bZ as cl, b_ as dl, aB as ul, b$ as wl, c0 as ml, b3 as hl, bJ as pl, bp as fl, b4 as gl, c1 as yl, c2 as vl, aI as Nl, c3 as bl, c4 as kl, c5 as xl, c6 as Cl, c7 as Sl, c8 as $l, c9 as Tl, ca as Al, an as Rl, cb as El, cc as _l, cd as Ol, ce as Il, cf as Pl, cg as Ll, b2 as Ml, ch as Dl, R as Ul, ci as Fl, cj as Bl, ck as Kl, cl as jl, cm as Jl, a as Wl, b1 as Vl } from "./connection-app-meta-aURFNTx_.js";
7
+ import { jsx as t, jsxs as i, Fragment as E } from "react/jsx-runtime";
8
+ import { useMemo as Ge, useState as k, useEffect as G, useId as Fn, useRef as Jt } from "react";
9
+ import { u as Bn, b as Kn, c as jn, a as tt, I as Xe, C as Te } from "./CodeBlock-CPKXSNEs.js";
10
+ import { i as Hl } from "./CodeBlock-CPKXSNEs.js";
11
11
  import { yaml as Jn } from "@codemirror/lang-yaml";
12
12
  import { EditorView as Wn } from "@codemirror/view";
13
13
  import Vn from "@uiw/react-codemirror";
@@ -241,11 +241,11 @@ function ms(e) {
241
241
  // are 2xx successes; `rawReq` already throws on a non-2xx.
242
242
  runWorkflow: (l, c = {}) => r(`/workflows/${encodeURIComponent(l)}/run?wait=true`, {
243
243
  method: "POST",
244
- body: JSON.stringify({ variables: c.variables, input: c.input })
244
+ body: JSON.stringify({ variables: c.variables, input: c.input, entry: c.entry })
245
245
  }).then(({ status: d, data: u }) => ({ ...u ?? {}, terminal: d === 200 }))
246
246
  };
247
247
  }
248
- function Qe({
248
+ function Ze({
249
249
  title: e,
250
250
  subtitle: n,
251
251
  icon: a,
@@ -255,7 +255,7 @@ function Qe({
255
255
  href: l,
256
256
  ariaLabel: c
257
257
  }) {
258
- const d = /* @__PURE__ */ i(R, { children: [
258
+ const d = /* @__PURE__ */ i(E, { children: [
259
259
  a != null && /* @__PURE__ */ t("span", { className: "w6w-list-item-icon", children: a }),
260
260
  /* @__PURE__ */ i("span", { className: "w6w-list-item-body", children: [
261
261
  /* @__PURE__ */ t("span", { className: "w6w-list-item-title", children: e }),
@@ -297,7 +297,7 @@ function Ke(e) {
297
297
  const o = Math.round(r / 24);
298
298
  return o < 7 ? `${o}d ago` : new Date(n).toLocaleDateString();
299
299
  }
300
- function kt(e) {
300
+ function xt(e) {
301
301
  const n = {};
302
302
  for (const a of (e == null ? void 0 : e.params) ?? [])
303
303
  a.key && a.default !== void 0 && (n[a.key] = a.default);
@@ -317,11 +317,11 @@ function qn(e) {
317
317
  }
318
318
  return e;
319
319
  }
320
- function Jt(e) {
320
+ function Wt(e) {
321
321
  return typeof e == "object" && e !== null && typeof e.status == "number" && typeof e.code == "string";
322
322
  }
323
323
  function Hn(e) {
324
- if (!Jt(e))
324
+ if (!Wt(e))
325
325
  return { headline: (e == null ? void 0 : e.message) ?? "The action failed to run." };
326
326
  const n = qn(e.message ?? ""), a = `${e.status} ${e.code} ${e.message ?? ""}`.toLowerCase();
327
327
  return e.status === 401 || e.status === 403 || /\b(401|403)\b|forbidden|unauthorized|not authorized|permission|scope|access denied|invalid api key|invalid credential/.test(
@@ -333,7 +333,7 @@ function Hn(e) {
333
333
  } : { headline: "The action returned an error.", detail: n };
334
334
  }
335
335
  function zn(e) {
336
- const n = Jt(e) ? e.body ?? e.raw : null;
336
+ const n = Wt(e) ? e.body ?? e.raw : null;
337
337
  return (n == null ? void 0 : n.apiCalls) ?? [];
338
338
  }
339
339
  function je() {
@@ -366,41 +366,41 @@ function hs({
366
366
  onDeleted: u,
367
367
  embedded: f = !1
368
368
  }) {
369
- var vt;
370
- const m = Kt(), v = Ge(() => {
369
+ var Nt;
370
+ const m = jt(), v = Ge(() => {
371
371
  const p = [...n];
372
372
  return p.sort((A, F) => (A.title || A.key).localeCompare(F.title || F.key)), p;
373
- }, [n]), [w, h] = k((s == null ? void 0 : s.key) ?? ""), y = s ?? n.find((p) => p.key === w) ?? null, [g, $] = k(!1), [x, N] = k(null), [T, C] = k(void 0), [E, P] = k([]), K = je(), O = je(), S = je(), [I, V] = k(""), [q, Q] = k(""), J = K.invalid || O.invalid || S.invalid, W = () => {
373
+ }, [n]), [w, h] = k((s == null ? void 0 : s.key) ?? ""), y = s ?? n.find((p) => p.key === w) ?? null, [g, $] = k(!1), [x, N] = k(null), [T, C] = k(void 0), [R, P] = k([]), K = je(), O = je(), S = je(), [I, V] = k(""), [q, Z] = k(""), J = K.invalid || O.invalid || S.invalid, W = () => {
374
374
  const p = {};
375
375
  return K.text.trim() !== "" && K.value !== void 0 && (p.body = K.value), O.text.trim() !== "" && O.value !== void 0 && (p.query = O.value), S.text.trim() !== "" && S.value !== void 0 && (p.headers = S.value), I && (p.target = I), q.trim() !== "" && (p.match = q.trim()), Object.keys(p).length > 0 ? p : void 0;
376
- }, [j, Z] = k("form"), [Ie, ae] = k(""), [Pe, ee] = k(!1), [b, L] = k(!1), _ = (y == null ? void 0 : y.key) ?? null, D = r ? { ...r } : kt(y), [se, M] = k(() => ({
376
+ }, [j, Q] = k("form"), [Ie, ae] = k(""), [Pe, ee] = k(!1), [b, L] = k(!1), _ = (y == null ? void 0 : y.key) ?? null, D = r ? { ...r } : xt(y), [se, M] = k(() => ({
377
377
  key: _,
378
378
  values: D
379
- })), [U, le] = k(l ?? null), [ot, pe] = k(D);
379
+ })), [U, le] = k(l ?? null), [ct, pe] = k(D);
380
380
  if (se.key !== _) {
381
- const p = kt(y);
381
+ const p = xt(y);
382
382
  M({ key: _, values: p }), pe(p), le(l ?? null), N(null), C(void 0), P([]);
383
383
  }
384
- const [sn, ln] = k(l);
385
- l !== sn && (ln(l), le(l ?? null));
386
- const [ct, rn] = k(r);
387
- if (r !== ct) {
388
- const p = JSON.stringify(r ?? null) !== JSON.stringify(ct ?? null);
389
- if (rn(r), r && p) {
384
+ const [ln, rn] = k(l);
385
+ l !== ln && (rn(l), le(l ?? null));
386
+ const [dt, on] = k(r);
387
+ if (r !== dt) {
388
+ const p = JSON.stringify(r ?? null) !== JSON.stringify(dt ?? null);
389
+ if (on(r), r && p) {
390
390
  const A = { ...r };
391
391
  M({ key: _, values: A }), pe(A), N(null), C(void 0), P([]);
392
392
  }
393
393
  }
394
- const H = se.values, dt = (p) => M({ key: _, values: p }), ut = Ge(
395
- () => JSON.stringify(H) !== JSON.stringify(ot),
396
- [H, ot]
394
+ const H = se.values, ut = (p) => M({ key: _, values: p }), wt = Ge(
395
+ () => JSON.stringify(H) !== JSON.stringify(ct),
396
+ [H, ct]
397
397
  );
398
398
  G(() => {
399
- c == null || c(ut);
400
- }, [ut]);
401
- const on = () => {
402
- ae(JSON.stringify(H, null, 2)), ee(!1), Z("json");
403
- }, cn = async (p) => {
399
+ c == null || c(wt);
400
+ }, [wt]);
401
+ const cn = () => {
402
+ ae(JSON.stringify(H, null, 2)), ee(!1), Q("json");
403
+ }, dn = async (p) => {
404
404
  if (!y || J) return;
405
405
  const A = y.key;
406
406
  $(!0), N(null), C(void 0), P([]);
@@ -413,8 +413,8 @@ function hs({
413
413
  });
414
414
  C(z.value), P(z.apiCalls ?? []), F = { ok: !0, summary: "OK", result: z.value };
415
415
  } catch (z) {
416
- const Nt = Hn(z);
417
- N(Nt), P(zn(z)), F = { ok: !1, summary: Nt.headline };
416
+ const bt = Hn(z);
417
+ N(bt), P(zn(z)), F = { ok: !1, summary: bt.headline };
418
418
  } finally {
419
419
  $(!1);
420
420
  }
@@ -426,21 +426,21 @@ function hs({
426
426
  ok: F.ok,
427
427
  summary: F.summary.slice(0, 200),
428
428
  result: F.result
429
- }), Ue(), yn(), o == null || o();
429
+ }), Ue(), vn(), o == null || o();
430
430
  } catch {
431
431
  }
432
- }, dn = () => cn(H), [fe, wt] = k(null), [ge, ie] = k(null), [un, wn] = k(0), [mn, ye] = k(!1), [Le, Me] = k(""), [hn, De] = k(!1), Ue = () => wn((p) => p + 1);
432
+ }, un = () => dn(H), [fe, mt] = k(null), [ge, ie] = k(null), [wn, mn] = k(0), [hn, ye] = k(!1), [Le, Me] = k(""), [pn, De] = k(!1), Ue = () => mn((p) => p + 1);
433
433
  G(() => {
434
434
  if (!a) {
435
- wt(null);
435
+ mt(null);
436
436
  return;
437
437
  }
438
438
  let p = !1;
439
- return ie(null), m.listSavedTests(a).then((A) => !p && wt(A)).catch((A) => !p && ie(A.message)), () => {
439
+ return ie(null), m.listSavedTests(a).then((A) => !p && mt(A)).catch((A) => !p && ie(A.message)), () => {
440
440
  p = !0;
441
441
  };
442
- }, [m, a, un]);
443
- const mt = _ ? (fe ?? []).filter((p) => p.actionKey === _) : [], [pn, Fe] = k(null), [fn, gn] = k(0), yn = () => gn((p) => p + 1);
442
+ }, [m, a, wn]);
443
+ const ht = _ ? (fe ?? []).filter((p) => p.actionKey === _) : [], [fn, Fe] = k(null), [gn, yn] = k(0), vn = () => yn((p) => p + 1);
444
444
  G(() => {
445
445
  const p = m.listTestRuns;
446
446
  if (!a || !p) {
@@ -451,12 +451,12 @@ function hs({
451
451
  return p(a).then((F) => !A && Fe(F)).catch(() => !A && Fe(null)), () => {
452
452
  A = !0;
453
453
  };
454
- }, [m, a, fn]);
455
- const ht = _ ? (pn ?? []).filter((p) => p.actionKey === _).slice().sort((p, A) => Date.parse(A.occurredAt) - Date.parse(p.occurredAt)) : [], vn = () => {
454
+ }, [m, a, gn]);
455
+ const pt = _ ? (fn ?? []).filter((p) => p.actionKey === _).slice().sort((p, A) => Date.parse(A.occurredAt) - Date.parse(p.occurredAt)) : [], Nn = () => {
456
456
  !a || !y || (Me(""), ie(null), ye(!0));
457
- }, Nn = () => {
458
- !a || !y || (U ? pt() : vn());
459
- }, pt = async () => {
457
+ }, bn = () => {
458
+ !a || !y || (U ? ft() : Nn());
459
+ }, ft = async () => {
460
460
  if (!(!a || !y))
461
461
  try {
462
462
  let p;
@@ -475,10 +475,10 @@ function hs({
475
475
  } catch (p) {
476
476
  ie(p.message);
477
477
  }
478
- }, bn = (p) => {
478
+ }, kn = (p) => {
479
479
  const A = { ...p.values };
480
- M({ key: _, values: A }), pe(A), le(p.id), Z("form"), N(null), C(void 0), P([]);
481
- }, kn = async () => {
480
+ M({ key: _, values: A }), pe(A), le(p.id), Q("form"), N(null), C(void 0), P([]);
481
+ }, xn = async () => {
482
482
  if (!a || !U) return;
483
483
  const p = U;
484
484
  try {
@@ -486,7 +486,7 @@ function hs({
486
486
  } catch (A) {
487
487
  ie(A.message);
488
488
  }
489
- }, ft = /* @__PURE__ */ i("div", { className: "w6w-stack", style: { gap: "var(--w6w-sp-1-5)" }, children: [
489
+ }, gt = /* @__PURE__ */ i("div", { className: "w6w-stack", style: { gap: "var(--w6w-sp-1-5)" }, children: [
490
490
  /* @__PURE__ */ i(
491
491
  "div",
492
492
  {
@@ -501,7 +501,7 @@ function hs({
501
501
  type: "button",
502
502
  className: `w6w-btn w6w-btn-sm w6w-btn-ghost${j === "form" ? " active" : ""}`,
503
503
  "aria-pressed": j === "form",
504
- onClick: () => Z("form"),
504
+ onClick: () => Q("form"),
505
505
  children: "Form"
506
506
  }
507
507
  ),
@@ -511,7 +511,7 @@ function hs({
511
511
  type: "button",
512
512
  className: `w6w-btn w6w-btn-sm w6w-btn-ghost${j === "json" ? " active" : ""}`,
513
513
  "aria-pressed": j === "json",
514
- onClick: on,
514
+ onClick: cn,
515
515
  children: "JSON"
516
516
  }
517
517
  ),
@@ -532,14 +532,14 @@ function hs({
532
532
  }
533
533
  ),
534
534
  j === "form" ? /* @__PURE__ */ t(
535
- Sn,
535
+ $n,
536
536
  {
537
537
  params: (y == null ? void 0 : y.params) ?? [],
538
538
  values: H,
539
- onChange: dt,
539
+ onChange: ut,
540
540
  dynamic: y ? { appId: e, actionKey: y.key, connectionId: a } : void 0
541
541
  }
542
- ) : /* @__PURE__ */ i(R, { children: [
542
+ ) : /* @__PURE__ */ i(E, { children: [
543
543
  /* @__PURE__ */ t(
544
544
  oe,
545
545
  {
@@ -548,14 +548,14 @@ function hs({
548
548
  minHeight: b ? "50vh" : "200px",
549
549
  "aria-label": "Params JSON",
550
550
  onValidChange: (p) => {
551
- p !== null && typeof p == "object" && !Array.isArray(p) && dt(p);
551
+ p !== null && typeof p == "object" && !Array.isArray(p) && ut(p);
552
552
  },
553
553
  onValidityChange: ({ valid: p }) => ee(!p)
554
554
  }
555
555
  ),
556
556
  Pe && /* @__PURE__ */ t("span", { className: "w6w-hint", style: { color: "var(--w6w-danger)" }, children: "Invalid JSON" })
557
557
  ] })
558
- ] }), gt = /* @__PURE__ */ i("details", { className: "w6w-section", "data-testid": "overrides-region", children: [
558
+ ] }), yt = /* @__PURE__ */ i("details", { className: "w6w-section", "data-testid": "overrides-region", children: [
559
559
  /* @__PURE__ */ i("summary", { className: "w6w-section-summary", children: [
560
560
  /* @__PURE__ */ t("span", { className: "w6w-section-title", children: "Overrides" }),
561
561
  /* @__PURE__ */ t("span", { className: "w6w-section-subtitle", children: "Reach a vendor field this action's own params don't declare" })
@@ -626,7 +626,7 @@ function hs({
626
626
  "aria-label": "Overrides match",
627
627
  value: q,
628
628
  placeholder: "Restrict to requests whose URL contains…",
629
- onChange: (p) => Q(p.target.value)
629
+ onChange: (p) => Z(p.target.value)
630
630
  }
631
631
  )
632
632
  ] }),
@@ -642,13 +642,13 @@ function hs({
642
642
  }
643
643
  ),
644
644
  ge && /* @__PURE__ */ t("span", { className: "w6w-hint", style: { color: "var(--w6w-danger)" }, children: ge }),
645
- mt.length === 0 ? /* @__PURE__ */ t("p", { className: "w6w-muted w6w-small", children: "No saved tests for this action yet." }) : /* @__PURE__ */ t(
645
+ ht.length === 0 ? /* @__PURE__ */ t("p", { className: "w6w-muted w6w-small", children: "No saved tests for this action yet." }) : /* @__PURE__ */ t(
646
646
  "ul",
647
647
  {
648
648
  className: "w6w-stack",
649
649
  style: { listStyle: "none", margin: 0, padding: 0, gap: "var(--w6w-sp-1-5)" },
650
- children: mt.map((p) => /* @__PURE__ */ t("li", { children: /* @__PURE__ */ t(
651
- Qe,
650
+ children: ht.map((p) => /* @__PURE__ */ t("li", { children: /* @__PURE__ */ t(
651
+ Ze,
652
652
  {
653
653
  title: p.name,
654
654
  subtitle: p.lastRunAt ? /* @__PURE__ */ i("span", { children: [
@@ -664,12 +664,12 @@ function hs({
664
664
  Ke(p.lastRunAt)
665
665
  ] }) : `saved ${Ke(p.updatedAt)}`,
666
666
  active: p.id === U,
667
- onClick: () => bn(p)
667
+ onClick: () => kn(p)
668
668
  }
669
669
  ) }, p.id))
670
670
  }
671
671
  ),
672
- m.listTestRuns && ht.length > 0 && /* @__PURE__ */ i(R, { children: [
672
+ m.listTestRuns && pt.length > 0 && /* @__PURE__ */ i(E, { children: [
673
673
  /* @__PURE__ */ t(
674
674
  "div",
675
675
  {
@@ -683,8 +683,8 @@ function hs({
683
683
  {
684
684
  className: "w6w-stack",
685
685
  style: { listStyle: "none", margin: 0, padding: 0, gap: "var(--w6w-sp-1-5)" },
686
- children: ht.map((p) => /* @__PURE__ */ t("li", { children: /* @__PURE__ */ t(
687
- Qe,
686
+ children: pt.map((p) => /* @__PURE__ */ t("li", { children: /* @__PURE__ */ t(
687
+ Ze,
688
688
  {
689
689
  title: /* @__PURE__ */ i("span", { children: [
690
690
  /* @__PURE__ */ t("span", { style: { color: p.ok ? "var(--w6w-success)" : "var(--w6w-danger)" }, children: p.ok ? "✓" : "✗" }),
@@ -700,7 +700,7 @@ function hs({
700
700
  }
701
701
  )
702
702
  ] })
703
- ] }) : null, yt = (vt = fe == null ? void 0 : fe.find((p) => p.id === U)) == null ? void 0 : vt.name;
703
+ ] }) : null, vt = (Nt = fe == null ? void 0 : fe.find((p) => p.id === U)) == null ? void 0 : Nt.name;
704
704
  return /* @__PURE__ */ i("div", { className: `w6w-stack${f ? " w6w-tester-embedded-root" : ""}`, children: [
705
705
  !s && (n.length === 0 ? /* @__PURE__ */ t("p", { className: "w6w-muted w6w-small", children: "This app exposes no actions." }) : (
706
706
  // biome-ignore lint/a11y/noLabelWithoutControl: Combobox renders its own <select>/<input> INSIDE this label, so the field text labels the control at runtime; the rule cannot see through the component boundary.
@@ -710,7 +710,7 @@ function hs({
710
710
  _ ? "" : " *"
711
711
  ] }),
712
712
  /* @__PURE__ */ t(
713
- $n,
713
+ Tn,
714
714
  {
715
715
  value: w,
716
716
  placeholder: "— pick an action —",
@@ -723,7 +723,7 @@ function hs({
723
723
  )
724
724
  ] })
725
725
  )),
726
- y ? /* @__PURE__ */ i(R, { children: [
726
+ y ? /* @__PURE__ */ i(E, { children: [
727
727
  /* @__PURE__ */ i("div", { children: [
728
728
  /* @__PURE__ */ i("strong", { children: [
729
729
  y.title ?? y.key,
@@ -752,11 +752,11 @@ function hs({
752
752
  /* @__PURE__ */ t("strong", { className: "w6w-small", children: "Result" }),
753
753
  /* @__PURE__ */ t(Ye, { value: T })
754
754
  ] }) : null, F = /* @__PURE__ */ i("div", { className: "w6w-stack", style: { gap: "var(--w6w-sp-3)" }, children: [
755
- ft,
756
755
  gt,
756
+ yt,
757
757
  p,
758
758
  A,
759
- /* @__PURE__ */ t(bt, { calls: E })
759
+ /* @__PURE__ */ t(kt, { calls: R })
760
760
  ] }), ne = /* @__PURE__ */ i(
761
761
  "div",
762
762
  {
@@ -769,11 +769,11 @@ function hs({
769
769
  type: "button",
770
770
  className: "w6w-btn",
771
771
  disabled: g || J,
772
- onClick: dn,
772
+ onClick: un,
773
773
  children: g ? "Running…" : "Run action"
774
774
  }
775
775
  ),
776
- a && /* @__PURE__ */ t("button", { type: "button", className: "w6w-btn w6w-btn-ghost", onClick: Nn, children: "Save test" }),
776
+ a && /* @__PURE__ */ t("button", { type: "button", className: "w6w-btn w6w-btn-ghost", onClick: bn, children: "Save test" }),
777
777
  a && U && /* @__PURE__ */ t(
778
778
  "button",
779
779
  {
@@ -795,16 +795,16 @@ function hs({
795
795
  /* @__PURE__ */ i("div", { className: "card", children: [
796
796
  /* @__PURE__ */ t("div", { className: "section-head", children: /* @__PURE__ */ t("h3", { children: "Parameters" }) }),
797
797
  /* @__PURE__ */ i("div", { className: "w6w-stack", style: { gap: "var(--w6w-sp-3)" }, children: [
798
- ft,
799
798
  gt,
799
+ yt,
800
800
  p
801
801
  ] })
802
802
  ] }),
803
- (A || E.length > 0) && /* @__PURE__ */ i("div", { className: "card", children: [
803
+ (A || R.length > 0) && /* @__PURE__ */ i("div", { className: "card", children: [
804
804
  /* @__PURE__ */ t("div", { className: "section-head", children: /* @__PURE__ */ t("h3", { children: "Result" }) }),
805
805
  /* @__PURE__ */ i("div", { className: "w6w-stack", style: { gap: "var(--w6w-sp-3)" }, children: [
806
806
  T !== void 0 && /* @__PURE__ */ t(Ye, { value: T }),
807
- /* @__PURE__ */ t(bt, { calls: E })
807
+ /* @__PURE__ */ t(kt, { calls: R })
808
808
  ] })
809
809
  ] }),
810
810
  ve && /* @__PURE__ */ i("div", { className: "card", children: [
@@ -839,13 +839,13 @@ function hs({
839
839
  }
840
840
  ) : z;
841
841
  })(),
842
- mn && /* @__PURE__ */ t($e, { title: "Save test", onClose: () => ye(!1), children: /* @__PURE__ */ i(
842
+ hn && /* @__PURE__ */ t($e, { title: "Save test", onClose: () => ye(!1), children: /* @__PURE__ */ i(
843
843
  "form",
844
844
  {
845
845
  className: "w6w-stack",
846
846
  style: { gap: "var(--w6w-sp-3)" },
847
847
  onSubmit: (p) => {
848
- p.preventDefault(), pt();
848
+ p.preventDefault(), ft();
849
849
  },
850
850
  children: [
851
851
  /* @__PURE__ */ i("label", { className: "w6w-field", children: [
@@ -882,14 +882,14 @@ function hs({
882
882
  ]
883
883
  }
884
884
  ) }),
885
- hn && /* @__PURE__ */ t(
886
- Tn,
885
+ pn && /* @__PURE__ */ t(
886
+ An,
887
887
  {
888
888
  title: "Delete saved test",
889
- message: yt ? `Delete "${yt}"? This cannot be undone.` : "Delete this saved test? This cannot be undone.",
889
+ message: vt ? `Delete "${vt}"? This cannot be undone.` : "Delete this saved test? This cannot be undone.",
890
890
  confirmLabel: "Delete",
891
891
  onConfirm: () => {
892
- De(!1), kn();
892
+ De(!1), xn();
893
893
  },
894
894
  onClose: () => De(!1)
895
895
  }
@@ -898,7 +898,7 @@ function hs({
898
898
  ] });
899
899
  }
900
900
  function ps(e) {
901
- const n = An(e.theme), { copied: a, copy: s } = Fn(e.value), r = Ge(() => [Jn(), Wn.theme(En)], []);
901
+ const n = Rn(e.theme), { copied: a, copy: s } = Bn(e.value), r = Ge(() => [Jn(), Wn.theme(En)], []);
902
902
  function o(l) {
903
903
  e.onChange(l);
904
904
  }
@@ -926,7 +926,7 @@ function ps(e) {
926
926
  }
927
927
  }
928
928
  ),
929
- e.copyable && /* @__PURE__ */ i(R, { children: [
929
+ e.copyable !== !1 && /* @__PURE__ */ i(E, { children: [
930
930
  /* @__PURE__ */ t(
931
931
  "button",
932
932
  {
@@ -934,7 +934,7 @@ function ps(e) {
934
934
  className: `w6w-icon-btn w6w-copyable-btn${a ? " is-copied" : ""}`,
935
935
  "aria-label": "Copy",
936
936
  onClick: () => void s(),
937
- children: a ? /* @__PURE__ */ t(Bn, {}) : /* @__PURE__ */ t(Kn, {})
937
+ children: a ? /* @__PURE__ */ t(Kn, {}) : /* @__PURE__ */ t(jn, {})
938
938
  }
939
939
  ),
940
940
  /* @__PURE__ */ t("span", { className: "w6w-copyable-status", "aria-live": "polite", children: a ? "Copied" : "" })
@@ -953,7 +953,7 @@ function Yn(e, n, a = "end") {
953
953
  }
954
954
  function Gn(e) {
955
955
  const { value: n, chars: a, crop: s = "end", label: r, className: o, copiedMs: l } = e, c = Yn(n, a, s), d = ["w6w-copyable--bare", o].filter(Boolean).join(" ");
956
- return /* @__PURE__ */ t(jn, { value: n, readOnly: !0, label: r, className: d, copiedMs: l, children: /* @__PURE__ */ t("span", { children: c }) });
956
+ return /* @__PURE__ */ t(tt, { value: n, readOnly: !0, label: r, className: d, copiedMs: l, children: /* @__PURE__ */ t("span", { children: c }) });
957
957
  }
958
958
  const Xn = {
959
959
  ok: "Operational",
@@ -961,20 +961,20 @@ const Xn = {
961
961
  down: "Down",
962
962
  unknown: "Unknown"
963
963
  };
964
- function tt({ state: e, label: n, ariaLabel: a }) {
964
+ function nt({ state: e, label: n, ariaLabel: a }) {
965
965
  const s = n ?? Xn[e];
966
966
  return /* @__PURE__ */ i("span", { className: `w6w-health-pill w6w-health-pill-${e}`, "aria-label": a, children: [
967
967
  /* @__PURE__ */ t("span", { className: "w6w-health-pill-dot", "aria-hidden": "true" }),
968
968
  /* @__PURE__ */ t("span", { className: "w6w-health-pill-label", children: s })
969
969
  ] });
970
970
  }
971
- const Qn = {
971
+ const Zn = {
972
972
  ok: "Operational",
973
973
  degraded: "Degraded",
974
974
  down: "Down",
975
975
  unknown: "Unknown"
976
976
  };
977
- function Zn({ days: e, ariaLabel: n }) {
977
+ function Qn({ days: e, ariaLabel: n }) {
978
978
  return e.length === 0 ? null : /* @__PURE__ */ t(
979
979
  "div",
980
980
  {
@@ -985,24 +985,24 @@ function Zn({ days: e, ariaLabel: n }) {
985
985
  "span",
986
986
  {
987
987
  className: `w6w-uptime-cell w6w-uptime-cell-${a.state}`,
988
- title: a.label ?? `${a.day} — ${Qn[a.state]}`
988
+ title: a.label ?? `${a.day} — ${Zn[a.state]}`
989
989
  },
990
990
  `${a.day}-${s}`
991
991
  ))
992
992
  }
993
993
  );
994
994
  }
995
- const Wt = "—", xt = ["B", "KiB", "MiB", "GiB", "TiB", "PiB"];
996
- function Vt(e) {
997
- if (e === null || !Number.isFinite(e)) return Wt;
995
+ const Vt = "—", Ct = ["B", "KiB", "MiB", "GiB", "TiB", "PiB"];
996
+ function qt(e) {
997
+ if (e === null || !Number.isFinite(e)) return Vt;
998
998
  if (e < 1024) return `${Math.round(e)} B`;
999
999
  let n = e, a = 0;
1000
- for (; n >= 1024 && a < xt.length - 1; )
1000
+ for (; n >= 1024 && a < Ct.length - 1; )
1001
1001
  n /= 1024, a += 1;
1002
- return `${n.toFixed(1)} ${xt[a]}`;
1002
+ return `${n.toFixed(1)} ${Ct[a]}`;
1003
1003
  }
1004
1004
  function X(e) {
1005
- return e === null || !Number.isFinite(e) ? Wt : `${Math.round(e * 100)}%`;
1005
+ return e === null || !Number.isFinite(e) ? Vt : `${Math.round(e * 100)}%`;
1006
1006
  }
1007
1007
  function we(e) {
1008
1008
  if (e === void 0 || e.load1 === null) return null;
@@ -1029,18 +1029,18 @@ function ta(e, n, a, s) {
1029
1029
  }
1030
1030
  return o.join(" ");
1031
1031
  }
1032
- const na = "—", Ct = 100, St = 24;
1033
- function Ze({
1032
+ const na = "—", St = 100, $t = 24;
1033
+ function Qe({
1034
1034
  values: e,
1035
1035
  max: n,
1036
1036
  className: a
1037
1037
  }) {
1038
- const s = ta(e, Ct, St, n);
1038
+ const s = ta(e, St, $t, n);
1039
1039
  return s === "" ? null : /* @__PURE__ */ t(
1040
1040
  "svg",
1041
1041
  {
1042
1042
  className: a,
1043
- viewBox: `0 0 ${Ct} ${St}`,
1043
+ viewBox: `0 0 ${St} ${$t}`,
1044
1044
  preserveAspectRatio: "none",
1045
1045
  "aria-hidden": "true",
1046
1046
  focusable: "false",
@@ -1074,10 +1074,10 @@ function Ce({
1074
1074
  return /* @__PURE__ */ i("li", { className: "w6w-server-resources__row", children: [
1075
1075
  /* @__PURE__ */ t("span", { className: "w6w-server-resources__label", children: e }),
1076
1076
  /* @__PURE__ */ t("span", { className: "w6w-server-resources__value", children: n }),
1077
- /* @__PURE__ */ t(Ze, { className: "w6w-server-resources__spark", values: a, max: s })
1077
+ /* @__PURE__ */ t(Qe, { className: "w6w-server-resources__spark", values: a, max: s })
1078
1078
  ] });
1079
1079
  }
1080
- function nt(e) {
1080
+ function at(e) {
1081
1081
  const n = e[e.length - 1], a = e.map((o) => we(o)), s = e.map((o) => me(o)), r = e.map((o) => o.processRss);
1082
1082
  return { last: n, cpuValues: a, memoryValues: s, rssValues: r };
1083
1083
  }
@@ -1086,7 +1086,7 @@ function fs({
1086
1086
  title: n = "Server resources",
1087
1087
  intervalMs: a
1088
1088
  }) {
1089
- const { last: s, cpuValues: r, memoryValues: o, rssValues: l } = nt(e);
1089
+ const { last: s, cpuValues: r, memoryValues: o, rssValues: l } = at(e);
1090
1090
  return /* @__PURE__ */ i("section", { className: "w6w-server-resources w6w-server-resources--card", "aria-label": n, children: [
1091
1091
  /* @__PURE__ */ t("h3", { className: "w6w-server-resources__title", children: n }),
1092
1092
  /* @__PURE__ */ i("ul", { className: "w6w-server-resources__rows", children: [
@@ -1112,7 +1112,7 @@ function fs({
1112
1112
  Ce,
1113
1113
  {
1114
1114
  label: "Process",
1115
- value: Vt((s == null ? void 0 : s.processRss) ?? null),
1115
+ value: qt((s == null ? void 0 : s.processRss) ?? null),
1116
1116
  values: l,
1117
1117
  max: Ae(l)
1118
1118
  }
@@ -1125,7 +1125,7 @@ function fs({
1125
1125
  ] });
1126
1126
  }
1127
1127
  function gs({ samples: e, title: n = "Server" }) {
1128
- const { last: a, cpuValues: s } = nt(e);
1128
+ const { last: a, cpuValues: s } = at(e);
1129
1129
  return /* @__PURE__ */ i("section", { className: "w6w-server-resources w6w-server-resources--small", "aria-label": n, children: [
1130
1130
  /* @__PURE__ */ t("h3", { className: "w6w-server-resources__title", children: n }),
1131
1131
  /* @__PURE__ */ i("ul", { className: "w6w-server-resources__rows", children: [
@@ -1146,13 +1146,13 @@ function gs({ samples: e, title: n = "Server" }) {
1146
1146
  ] });
1147
1147
  }
1148
1148
  function ys({ samples: e, onExpand: n }) {
1149
- const { last: a, cpuValues: s, memoryValues: r } = nt(e);
1149
+ const { last: a, cpuValues: s, memoryValues: r } = at(e);
1150
1150
  return /* @__PURE__ */ i("aside", { className: "w6w-server-resources w6w-server-resources--rail", children: [
1151
1151
  /* @__PURE__ */ i("div", { className: "w6w-server-resources__rail-row", children: [
1152
1152
  /* @__PURE__ */ t("span", { className: "w6w-server-resources__label", children: "CPU" }),
1153
1153
  /* @__PURE__ */ t("span", { className: "w6w-server-resources__value", children: X(we(a)) }),
1154
1154
  /* @__PURE__ */ t(
1155
- Ze,
1155
+ Qe,
1156
1156
  {
1157
1157
  className: "w6w-server-resources__spark",
1158
1158
  values: s,
@@ -1163,7 +1163,7 @@ function ys({ samples: e, onExpand: n }) {
1163
1163
  /* @__PURE__ */ i("div", { className: "w6w-server-resources__rail-row", children: [
1164
1164
  /* @__PURE__ */ t("span", { className: "w6w-server-resources__label", children: "MEM" }),
1165
1165
  /* @__PURE__ */ t("span", { className: "w6w-server-resources__value", children: X(me(a)) }),
1166
- /* @__PURE__ */ t(Ze, { className: "w6w-server-resources__spark", values: r, max: 1 })
1166
+ /* @__PURE__ */ t(Qe, { className: "w6w-server-resources__spark", values: r, max: 1 })
1167
1167
  ] }),
1168
1168
  n !== void 0 && /* @__PURE__ */ t(
1169
1169
  "button",
@@ -1245,7 +1245,7 @@ function Ns({
1245
1245
  ] }) });
1246
1246
  }
1247
1247
  function bs({ label: e, children: n, className: a }) {
1248
- const [s, r] = k(!1), o = Un();
1248
+ const [s, r] = k(!1), o = Fn();
1249
1249
  return /* @__PURE__ */ i("span", { className: ["w6w-info-tip", a ?? ""].filter(Boolean).join(" "), children: [
1250
1250
  /* @__PURE__ */ t(
1251
1251
  de,
@@ -1260,7 +1260,7 @@ function bs({ label: e, children: n, className: a }) {
1260
1260
  s && /* @__PURE__ */ t("span", { id: o, className: "w6w-info-tip-body w6w-muted w6w-small", children: n })
1261
1261
  ] });
1262
1262
  }
1263
- function qt(e) {
1263
+ function Ht(e) {
1264
1264
  const { label: n, onClick: a, disabled: s, className: r, ...o } = e;
1265
1265
  return /* @__PURE__ */ t(
1266
1266
  de,
@@ -1275,7 +1275,7 @@ function qt(e) {
1275
1275
  );
1276
1276
  }
1277
1277
  function ks(e) {
1278
- const { branch: n, shortSha: a, lastSyncLabel: s, onSyncNow: r, syncing: o, className: l, ...c } = e, [d, u] = k(!1), f = jt(null);
1278
+ const { branch: n, shortSha: a, lastSyncLabel: s, onSyncNow: r, syncing: o, className: l, ...c } = e, [d, u] = k(!1), f = Jt(null);
1279
1279
  return G(() => {
1280
1280
  if (!d) return;
1281
1281
  const m = (w) => {
@@ -1342,7 +1342,7 @@ const da = {
1342
1342
  queued: "Queued",
1343
1343
  canceled: "Canceled"
1344
1344
  };
1345
- function at({ state: e, label: n, ariaLabel: a }) {
1345
+ function st({ state: e, label: n, ariaLabel: a }) {
1346
1346
  const s = n ?? da[e];
1347
1347
  return /* @__PURE__ */ i("span", { className: `w6w-step-pill w6w-step-pill-${e}`, "aria-label": a, children: [
1348
1348
  /* @__PURE__ */ t("span", { className: "w6w-step-pill-dot", "aria-hidden": "true" }),
@@ -1350,10 +1350,10 @@ function at({ state: e, label: n, ariaLabel: a }) {
1350
1350
  ] });
1351
1351
  }
1352
1352
  const ua = "—", Ve = 1e3, qe = 6e4;
1353
- function st(e) {
1353
+ function lt(e) {
1354
1354
  return e == null || !Number.isFinite(e) || e < 0 ? ua : e < Ve ? `${Math.round(e)} ms` : e < qe ? `${(e / Ve).toFixed(1)} s` : `${Math.floor(e / qe)}m ${Math.round(e % qe / Ve)}s`;
1355
1355
  }
1356
- function Ee(e) {
1356
+ function Re(e) {
1357
1357
  const n = new Date(e);
1358
1358
  return Number.isNaN(n.getTime()) ? e : n.toLocaleString(void 0, { dateStyle: "medium", timeStyle: "short" });
1359
1359
  }
@@ -1368,7 +1368,7 @@ const wa = {
1368
1368
  event: "Event",
1369
1369
  replay: "Replay"
1370
1370
  };
1371
- function $t(e) {
1371
+ function Tt(e) {
1372
1372
  if (!e.trigger) return null;
1373
1373
  const n = ma[e.trigger] ?? e.trigger;
1374
1374
  return e.triggerNodeId ? `${n} · ${e.triggerNodeId}` : n;
@@ -1414,11 +1414,11 @@ function xs({
1414
1414
  let w;
1415
1415
  return r && e.length === 0 ? w = /* @__PURE__ */ t("p", { "data-testid": "execution-list-loading", children: "Loading…" }) : e.length === 0 ? w = /* @__PURE__ */ t("p", { "data-testid": "execution-list-empty", children: o ?? "No executions yet." }) : w = /* @__PURE__ */ t("ul", { className: "w6w-execution-list-rows", children: e.map((h) => /* @__PURE__ */ i("li", { "data-testid": "execution-row", "data-execution-id": h.id, children: [
1416
1416
  /* @__PURE__ */ t(
1417
- Qe,
1417
+ Ze,
1418
1418
  {
1419
- icon: /* @__PURE__ */ t(at, { state: h.status }),
1420
- title: /* @__PURE__ */ i(R, { children: [
1421
- s ? h.callableName : Ee(h.startedAt),
1419
+ icon: /* @__PURE__ */ t(st, { state: h.status }),
1420
+ title: /* @__PURE__ */ i(E, { children: [
1421
+ s ? h.callableName : Re(h.startedAt),
1422
1422
  h.rerunOf && /* @__PURE__ */ t(
1423
1423
  "span",
1424
1424
  {
@@ -1429,10 +1429,10 @@ function xs({
1429
1429
  }
1430
1430
  )
1431
1431
  ] }),
1432
- subtitle: /* @__PURE__ */ i(R, { children: [
1433
- s ? `${wa[h.kind]} · ${Ee(h.startedAt)}` : h.id,
1434
- $t(h) && /* @__PURE__ */ t("span", { className: "w6w-execution-trigger", "data-testid": "execution-row-trigger", children: ` · ${$t(h)}` }),
1435
- h.inputPreview && /* @__PURE__ */ i(R, { children: [
1432
+ subtitle: /* @__PURE__ */ i(E, { children: [
1433
+ s ? `${wa[h.kind]} · ${Re(h.startedAt)}` : h.id,
1434
+ Tt(h) && /* @__PURE__ */ t("span", { className: "w6w-execution-trigger", "data-testid": "execution-row-trigger", children: ` · ${Tt(h)}` }),
1435
+ h.inputPreview && /* @__PURE__ */ i(E, { children: [
1436
1436
  " · ",
1437
1437
  /* @__PURE__ */ t(
1438
1438
  "code",
@@ -1445,7 +1445,7 @@ function xs({
1445
1445
  )
1446
1446
  ] })
1447
1447
  ] }),
1448
- trailing: st(h.durationMs),
1448
+ trailing: lt(h.durationMs),
1449
1449
  active: h.id === n,
1450
1450
  onClick: a ? () => a(h.id) : void 0
1451
1451
  }
@@ -1468,14 +1468,14 @@ function xs({
1468
1468
  ] });
1469
1469
  }
1470
1470
  function ha(e) {
1471
- const n = Rn(e.app, e.action);
1471
+ const n = _n(e.app, e.action);
1472
1472
  return {
1473
1473
  trigger: e.trigger === !0 || (n == null ? void 0 : n.group) === "trigger",
1474
1474
  appName: e.appName ?? (n == null ? void 0 : n.displayName) ?? e.app,
1475
1475
  actionName: e.actionName ?? (n == null ? void 0 : n.label) ?? e.action
1476
1476
  };
1477
1477
  }
1478
- function Ht(e) {
1478
+ function zt(e) {
1479
1479
  const n = (a) => {
1480
1480
  for (const s of [a.startedAt, a.finishedAt]) {
1481
1481
  const r = Date.parse(s ?? "");
@@ -1502,20 +1502,20 @@ function pa({
1502
1502
  },
1503
1503
  `${m.stepId}:${v}`
1504
1504
  ))
1505
- ] }) : null, d = Ht(e.filter((m) => !Tt(m))), u = e.filter(Tt), f = u.length > 0 ? /* @__PURE__ */ t(ga, { steps: u }) : null;
1506
- return d.length === 0 ? /* @__PURE__ */ i(R, { children: [
1505
+ ] }) : null, d = zt(e.filter((m) => !At(m))), u = e.filter(At), f = u.length > 0 ? /* @__PURE__ */ t(ga, { steps: u }) : null;
1506
+ return d.length === 0 ? /* @__PURE__ */ i(E, { children: [
1507
1507
  o,
1508
1508
  c,
1509
1509
  /* @__PURE__ */ t("div", { className: "w6w-execution-log-empty", children: /* @__PURE__ */ t("p", { className: "w6w-muted w6w-small", children: n ?? "No nodes have run yet." }) }),
1510
1510
  f
1511
- ] }) : /* @__PURE__ */ i(R, { children: [
1511
+ ] }) : /* @__PURE__ */ i(E, { children: [
1512
1512
  o,
1513
1513
  c,
1514
- /* @__PURE__ */ t("ol", { className: "w6w-execution-log", children: d.map((m) => /* @__PURE__ */ t(zt, { step: m }, m.id)) }),
1514
+ /* @__PURE__ */ t("ol", { className: "w6w-execution-log", children: d.map((m) => /* @__PURE__ */ t(Yt, { step: m }, m.id)) }),
1515
1515
  f
1516
1516
  ] });
1517
1517
  }
1518
- const Tt = (e) => e.status === "skipped" && e.skipReason === "not_on_path", fa = {
1518
+ const At = (e) => e.status === "skipped" && e.skipReason === "not_on_path", fa = {
1519
1519
  condition: "condition false",
1520
1520
  stopped: "run stopped",
1521
1521
  disabled: "disabled"
@@ -1527,10 +1527,10 @@ function ga({ steps: e }) {
1527
1527
  /* @__PURE__ */ t("ul", { className: "w6w-muted w6w-small", children: e.map((a) => /* @__PURE__ */ t("li", { children: a.label ?? a.id }, a.id)) })
1528
1528
  ] });
1529
1529
  }
1530
- function zt({ step: e }) {
1530
+ function Yt({ step: e }) {
1531
1531
  var d, u;
1532
1532
  const [n, a] = k(!1), s = e.node ? ha(e.node) : null, r = /* @__PURE__ */ i("div", { className: "w6w-execution-log-row-header", children: [
1533
- /* @__PURE__ */ t(at, { state: e.status }),
1533
+ /* @__PURE__ */ t(st, { state: e.status }),
1534
1534
  s && /* @__PURE__ */ t(
1535
1535
  "span",
1536
1536
  {
@@ -1555,8 +1555,8 @@ function zt({ step: e }) {
1555
1555
  /* @__PURE__ */ t("summary", { className: "w6w-section-summary", children: r }),
1556
1556
  n && /* @__PURE__ */ i("div", { className: "w6w-execution-log-row-body w6w-section-body w6w-stack", children: [
1557
1557
  /* @__PURE__ */ t(ka, { input: e.input }),
1558
- /* @__PURE__ */ t(At, { title: "Input", value: e.input }),
1559
- /* @__PURE__ */ t(At, { title: "Output", value: e.output }),
1558
+ /* @__PURE__ */ t(Rt, { title: "Input", value: e.input }),
1559
+ /* @__PURE__ */ t(Rt, { title: "Output", value: e.output }),
1560
1560
  !!((u = e.logs) != null && u.length) && /* @__PURE__ */ i("div", { className: "w6w-execution-log-json w6w-stack", children: [
1561
1561
  /* @__PURE__ */ t("strong", { className: "w6w-small", children: "Console" }),
1562
1562
  /* @__PURE__ */ t(Te, { code: e.logs.join(`
@@ -1576,7 +1576,7 @@ function zt({ step: e }) {
1576
1576
  function ya({ step: e }) {
1577
1577
  var u, f;
1578
1578
  const n = [...e.iterations ?? []].sort((m, v) => m.index - v.index), a = e.iterationsTotal ?? n.length, s = e.iterationsFailed ?? n.filter((m) => m.status === "failed").length, r = n.find((m) => m.status === "failed"), o = (r == null ? void 0 : r.index) ?? ((u = n[n.length - 1]) == null ? void 0 : u.index), l = [], c = /* @__PURE__ */ new Map();
1579
- for (const m of Ht(n.flatMap((v) => v.steps)))
1579
+ for (const m of zt(n.flatMap((v) => v.steps)))
1580
1580
  c.has(m.id) || (l.push(m.id), c.set(m.id, m.label ?? m.id));
1581
1581
  const d = (r == null ? void 0 : r.failedNodeId) ?? ((f = r == null ? void 0 : r.steps.find((m) => m.status === "failed")) == null ? void 0 : f.id);
1582
1582
  return /* @__PURE__ */ i("div", { className: "w6w-execution-log-foreach w6w-stack", children: [
@@ -1641,7 +1641,7 @@ function va({
1641
1641
  }
1642
1642
  )
1643
1643
  ] }),
1644
- l ? /* @__PURE__ */ t("ol", { className: "w6w-execution-log", children: /* @__PURE__ */ t(zt, { step: l }, r) }) : /* @__PURE__ */ t("p", { className: "w6w-muted w6w-small", children: "Did not run in this iteration." })
1644
+ l ? /* @__PURE__ */ t("ol", { className: "w6w-execution-log", children: /* @__PURE__ */ t(Yt, { step: l }, r) }) : /* @__PURE__ */ t("p", { className: "w6w-muted w6w-small", children: "Did not run in this iteration." })
1645
1645
  ] });
1646
1646
  }
1647
1647
  function et({ error: e, label: n }) {
@@ -1680,7 +1680,7 @@ function ba(e, n) {
1680
1680
  const l = Math.floor(o / 60), c = Math.round(o % 60);
1681
1681
  return `${l}m ${c}s`;
1682
1682
  }
1683
- function At({ title: e, value: n }) {
1683
+ function Rt({ title: e, value: n }) {
1684
1684
  const [a, s] = k(!1);
1685
1685
  return n === void 0 ? /* @__PURE__ */ i("div", { className: "w6w-execution-log-json w6w-stack", children: [
1686
1686
  /* @__PURE__ */ t("strong", { className: "w6w-small", children: e }),
@@ -1700,11 +1700,11 @@ function At({ title: e, value: n }) {
1700
1700
  }
1701
1701
  );
1702
1702
  }
1703
- const Re = (e) => typeof e == "object" && e !== null && !Array.isArray(e);
1703
+ const Ee = (e) => typeof e == "object" && e !== null && !Array.isArray(e);
1704
1704
  function Et(e) {
1705
- if (!Re(e) || !Array.isArray(e.conditions)) return;
1705
+ if (!Ee(e) || !Array.isArray(e.conditions)) return;
1706
1706
  const n = e.conditions.filter(
1707
- (a) => Re(a) && typeof a.op == "string" && "result" in a
1707
+ (a) => Ee(a) && typeof a.op == "string" && "result" in a
1708
1708
  );
1709
1709
  if (n.length !== 0)
1710
1710
  return {
@@ -1715,19 +1715,19 @@ function Et(e) {
1715
1715
  }
1716
1716
  function ka({ input: e }) {
1717
1717
  const n = [], a = Et(e);
1718
- if (a && n.push({ trace: a }), Re(e) && Array.isArray(e.routes))
1718
+ if (a && n.push({ trace: a }), Ee(e) && Array.isArray(e.routes))
1719
1719
  for (const s of e.routes) {
1720
1720
  const r = Et(s);
1721
- !r || !Re(s) || n.push({ title: String(s.label ?? s.id ?? "Route"), trace: r });
1721
+ !r || !Ee(s) || n.push({ title: String(s.label ?? s.id ?? "Route"), trace: r });
1722
1722
  }
1723
1723
  return n.length === 0 ? null : /* @__PURE__ */ i("div", { className: "w6w-execution-log-json w6w-stack", "data-testid": "execution-log-conditions", children: [
1724
1724
  /* @__PURE__ */ t("strong", { className: "w6w-small", children: "Condition" }),
1725
1725
  n.map(({ title: s, trace: r }, o) => /* @__PURE__ */ i("div", { className: "w6w-stack", children: [
1726
1726
  s && /* @__PURE__ */ t("span", { className: "w6w-small w6w-muted", children: s }),
1727
1727
  (r.combinator && r.rows.length > 1 || r.result !== void 0) && /* @__PURE__ */ i("span", { className: "w6w-small w6w-muted", "data-testid": "execution-log-condition-summary", children: [
1728
- r.combinator && r.rows.length > 1 && _n(r.combinator),
1728
+ r.combinator && r.rows.length > 1 && On(r.combinator),
1729
1729
  r.combinator && r.rows.length > 1 && r.result !== void 0 && " · ",
1730
- r.result !== void 0 && /* @__PURE__ */ i(R, { children: [
1730
+ r.result !== void 0 && /* @__PURE__ */ i(E, { children: [
1731
1731
  "Result:",
1732
1732
  " ",
1733
1733
  /* @__PURE__ */ t(
@@ -1749,9 +1749,9 @@ function ka({ input: e }) {
1749
1749
  /* @__PURE__ */ t("tbody", { children: r.rows.map((l, c) => (
1750
1750
  // biome-ignore lint/suspicious/noArrayIndexKey: rows are positional and never reorder.
1751
1751
  /* @__PURE__ */ i("tr", { children: [
1752
- /* @__PURE__ */ t("td", { children: /* @__PURE__ */ t("code", { children: Rt(l.left) }) }),
1753
- /* @__PURE__ */ t("td", { children: On(l.op) }),
1754
- /* @__PURE__ */ t("td", { children: /* @__PURE__ */ t("code", { children: Rt(l.right) }) }),
1752
+ /* @__PURE__ */ t("td", { children: /* @__PURE__ */ t("code", { children: _t(l.left) }) }),
1753
+ /* @__PURE__ */ t("td", { children: In(l.op) }),
1754
+ /* @__PURE__ */ t("td", { children: /* @__PURE__ */ t("code", { children: _t(l.right) }) }),
1755
1755
  /* @__PURE__ */ t(
1756
1756
  "td",
1757
1757
  {
@@ -1765,10 +1765,10 @@ function ka({ input: e }) {
1765
1765
  ] }, s ?? o))
1766
1766
  ] });
1767
1767
  }
1768
- function Rt(e) {
1768
+ function _t(e) {
1769
1769
  return JSON.stringify(e) ?? "undefined";
1770
1770
  }
1771
- const _t = {
1771
+ const Ot = {
1772
1772
  not_object: "Not written — the output isn't an object, so it can't be merged at the root",
1773
1773
  missing_source: "Not written — the output has no value at that field",
1774
1774
  null_append: "Not appended — the value was null",
@@ -1781,17 +1781,17 @@ const _t = {
1781
1781
  log_truncated: "Later state changes aren't shown — the run's state log reached its limit"
1782
1782
  };
1783
1783
  function xa(e) {
1784
- return Object.hasOwn(_t, e) ? _t[e] : e;
1784
+ return Object.hasOwn(Ot, e) ? Ot[e] : e;
1785
1785
  }
1786
1786
  function Ca(e) {
1787
1787
  const n = Array.isArray(e.stateWrites) && e.stateWrites.length > 0, a = e.stateAfter;
1788
1788
  return n || typeof a == "object" && a !== null && Object.keys(a).length > 0;
1789
1789
  }
1790
- const Ot = 120;
1791
- function It(e) {
1790
+ const It = 120;
1791
+ function Pt(e) {
1792
1792
  if (e === void 0) return "(not set)";
1793
1793
  const n = JSON.stringify(e) ?? String(e);
1794
- return n.length > Ot ? `${n.slice(0, Ot)}…` : n;
1794
+ return n.length > It ? `${n.slice(0, It)}…` : n;
1795
1795
  }
1796
1796
  function Sa({ step: e }) {
1797
1797
  const n = Array.isArray(e.stateWrites) ? e.stateWrites : [], a = e.stateAfter;
@@ -1813,7 +1813,7 @@ function Sa({ step: e }) {
1813
1813
  {
1814
1814
  className: "w6w-execution-log-state-write w6w-small",
1815
1815
  "data-testid": "execution-log-state-write",
1816
- children: `${l}: ${It(s.old)} → ${It(s.new)}`
1816
+ children: `${l}: ${Pt(s.old)} → ${Pt(s.new)}`
1817
1817
  },
1818
1818
  r
1819
1819
  );
@@ -1931,7 +1931,7 @@ function Ss({ stats: e, label: n }) {
1931
1931
  {
1932
1932
  testid: "execution-stat-success-rate",
1933
1933
  label: "Success rate",
1934
- value: Ea(e == null ? void 0 : e.successRate)
1934
+ value: Ra(e == null ? void 0 : e.successRate)
1935
1935
  },
1936
1936
  {
1937
1937
  testid: "execution-stat-failed",
@@ -1941,7 +1941,7 @@ function Ss({ stats: e, label: n }) {
1941
1941
  {
1942
1942
  testid: "execution-stat-avg-duration",
1943
1943
  label: "Avg duration",
1944
- value: e ? st(e.avgDurationMs) : Se
1944
+ value: e ? lt(e.avgDurationMs) : Se
1945
1945
  }
1946
1946
  ];
1947
1947
  return e && e.inFlight > 0 && a.push({
@@ -1956,10 +1956,10 @@ function Ss({ stats: e, label: n }) {
1956
1956
  ] }, s.testid)) })
1957
1957
  ] });
1958
1958
  }
1959
- function Ea(e) {
1959
+ function Ra(e) {
1960
1960
  return e == null || !Number.isFinite(e) ? Se : `${Math.round(e * 100)}%`;
1961
1961
  }
1962
- const Ra = {
1962
+ const Ea = {
1963
1963
  function: "Function",
1964
1964
  endpoint: "Endpoint",
1965
1965
  workflow: "Workflow"
@@ -2023,13 +2023,13 @@ function Oa({
2023
2023
  onOpenExecution: o
2024
2024
  }) {
2025
2025
  const l = e.rerunOf;
2026
- return /* @__PURE__ */ i(R, { children: [
2026
+ return /* @__PURE__ */ i(E, { children: [
2027
2027
  /* @__PURE__ */ i("div", { className: "w6w-execution-detail-head", children: [
2028
2028
  /* @__PURE__ */ i("div", { className: "w6w-execution-detail-title", children: [
2029
2029
  /* @__PURE__ */ t("h3", { className: "w6w-execution-detail-name", children: e.callableName }),
2030
2030
  /* @__PURE__ */ i("div", { className: "w6w-execution-detail-meta", children: [
2031
- /* @__PURE__ */ t(at, { state: e.status }),
2032
- /* @__PURE__ */ t("span", { className: "w6w-execution-detail-kind w6w-muted w6w-small", children: Ra[e.kind] })
2031
+ /* @__PURE__ */ t(st, { state: e.status }),
2032
+ /* @__PURE__ */ t("span", { className: "w6w-execution-detail-kind w6w-muted w6w-small", children: Ea[e.kind] })
2033
2033
  ] })
2034
2034
  ] }),
2035
2035
  (s || a || n) && /* @__PURE__ */ i("div", { className: "w6w-execution-detail-actions", children: [
@@ -2078,15 +2078,15 @@ function Oa({
2078
2078
  ) : /* @__PURE__ */ t("code", { children: l })
2079
2079
  ] }),
2080
2080
  /* @__PURE__ */ i("dl", { className: "w6w-execution-detail-timing", children: [
2081
- /* @__PURE__ */ t(He, { label: "Started", value: Ee(e.startedAt) }),
2081
+ /* @__PURE__ */ t(He, { label: "Started", value: Re(e.startedAt) }),
2082
2082
  /* @__PURE__ */ t(
2083
2083
  He,
2084
2084
  {
2085
2085
  label: "Finished",
2086
- value: e.finishedAt ? Ee(e.finishedAt) : "—"
2086
+ value: e.finishedAt ? Re(e.finishedAt) : "—"
2087
2087
  }
2088
2088
  ),
2089
- /* @__PURE__ */ t(He, { label: "Duration", value: st(e.durationMs) })
2089
+ /* @__PURE__ */ t(He, { label: "Duration", value: lt(e.durationMs) })
2090
2090
  ] }),
2091
2091
  e.steps !== void 0 && /* @__PURE__ */ i(
2092
2092
  "section",
@@ -2141,9 +2141,9 @@ function Pa(e) {
2141
2141
  function La(e) {
2142
2142
  return e.uptime.map((n) => ({ day: n.day, state: n.state }));
2143
2143
  }
2144
- const Pt = 3, Ma = 5;
2144
+ const Lt = 3, Ma = 5;
2145
2145
  function Da(e, n = {}) {
2146
- const a = n.compact ?? !1, { now: s, recent: r } = Pa(e), o = s.length + r.length, l = a ? s.slice(0, Pt) : s, c = a ? r.slice(0, Math.max(0, Pt - l.length)) : r, d = a ? e.slice(0, n.limit ?? Ma) : [...e];
2146
+ const a = n.compact ?? !1, { now: s, recent: r } = Pa(e), o = s.length + r.length, l = a ? s.slice(0, Lt) : s, c = a ? r.slice(0, Math.max(0, Lt - l.length)) : r, d = a ? e.slice(0, n.limit ?? Ma) : [...e];
2147
2147
  return {
2148
2148
  attentionCount: o,
2149
2149
  shownNow: l,
@@ -2154,14 +2154,14 @@ function Da(e, n = {}) {
2154
2154
  };
2155
2155
  }
2156
2156
  const ke = 640, re = 340, B = { top: 16, right: 24, bottom: 40, left: 56 };
2157
- function Lt(e) {
2157
+ function Mt(e) {
2158
2158
  if (e <= 0) return 1;
2159
2159
  const n = 10 ** Math.floor(Math.log10(e)), a = [1, 2, 5, 10];
2160
2160
  for (const s of a)
2161
2161
  if (e <= s * n) return s * n;
2162
2162
  return 10 * n;
2163
2163
  }
2164
- function Mt(e, n = 5) {
2164
+ function Dt(e, n = 5) {
2165
2165
  return Array.from({ length: n + 1 }, (a, s) => Math.round(e * s / n));
2166
2166
  }
2167
2167
  function Ua({
@@ -2172,7 +2172,7 @@ function Ua({
2172
2172
  const s = Ia(e);
2173
2173
  if (s.length === 0)
2174
2174
  return /* @__PURE__ */ t("p", { className: "w6w-muted w6w-small", children: "No timed calls in this window yet." });
2175
- const r = Lt(Math.max(...s.map((g) => g.calls))), o = Lt(Math.max(...s.map((g) => g.p95Ms))), l = Math.max(1, ...s.map((g) => g.errorCount)), c = ke - B.left - B.right, d = re - B.top - B.bottom, u = (g) => B.left + g / r * c, f = (g) => B.top + g / o * d, m = (g) => 16 + g / l * 14, v = Mt(r), w = Mt(o), h = 18, y = B.top + d / 2;
2175
+ const r = Mt(Math.max(...s.map((g) => g.calls))), o = Mt(Math.max(...s.map((g) => g.p95Ms))), l = Math.max(1, ...s.map((g) => g.errorCount)), c = ke - B.left - B.right, d = re - B.top - B.bottom, u = (g) => B.left + g / r * c, f = (g) => B.top + g / o * d, m = (g) => 16 + g / l * 14, v = Dt(r), w = Dt(o), h = 18, y = B.top + d / 2;
2176
2176
  return /* @__PURE__ */ i("div", { className: "w6w-rel-scatter", children: [
2177
2177
  /* @__PURE__ */ i(
2178
2178
  "svg",
@@ -2238,7 +2238,7 @@ function Ua({
2238
2238
  }
2239
2239
  ),
2240
2240
  s.map((g) => {
2241
- const $ = m(g.errorCount), x = u(g.calls), N = f(g.p95Ms), T = /* @__PURE__ */ i(R, { children: [
2241
+ const $ = m(g.errorCount), x = u(g.calls), N = f(g.p95Ms), T = /* @__PURE__ */ i(E, { children: [
2242
2242
  /* @__PURE__ */ t(
2243
2243
  "circle",
2244
2244
  {
@@ -2300,11 +2300,11 @@ function Ua({
2300
2300
  /* @__PURE__ */ t("p", { className: "w6w-muted w6w-small w6w-rel-scatter-note", children: "Up is faster, right is more calls — top-right is the best outcome. Icon size is the error count in this window; ring colour is exec status." })
2301
2301
  ] });
2302
2302
  }
2303
- function Dt(e) {
2303
+ function Ut(e) {
2304
2304
  const n = new Date(e);
2305
2305
  return Number.isNaN(n.getTime()) ? e : n.toLocaleDateString(void 0, { month: "short", day: "numeric" });
2306
2306
  }
2307
- function Yt({
2307
+ function Gt({
2308
2308
  appId: e,
2309
2309
  className: n,
2310
2310
  title: a,
@@ -2323,24 +2323,24 @@ function Yt({
2323
2323
  }
2324
2324
  ) : r ? /* @__PURE__ */ t("button", { type: "button", className: n, title: a, onClick: (l) => r(e, l), children: o }) : /* @__PURE__ */ t("div", { className: n, title: a, children: o });
2325
2325
  }
2326
- function Gt({ service: e }) {
2326
+ function Xt({ service: e }) {
2327
2327
  return /* @__PURE__ */ i("span", { className: "w6w-rel-signal", children: [
2328
- /* @__PURE__ */ t(tt, { state: e.state }),
2328
+ /* @__PURE__ */ t(nt, { state: e.state }),
2329
2329
  e.ongoingOutageId && /* @__PURE__ */ t("span", { className: "w6w-rel-tag", children: "outage open" }),
2330
2330
  e.calls === 0 && /* @__PURE__ */ t("span", { className: "w6w-muted w6w-small", children: "no calls" })
2331
2331
  ] });
2332
2332
  }
2333
- function Xt({ vendor: e }) {
2333
+ function Zt({ vendor: e }) {
2334
2334
  if (!e) return /* @__PURE__ */ t("span", { className: "w6w-muted w6w-small", children: "not published" });
2335
2335
  const n = e.state === "unknown";
2336
2336
  return /* @__PURE__ */ i("span", { className: "w6w-rel-signal", title: e.message ?? void 0, children: [
2337
- /* @__PURE__ */ t(tt, { state: e.state, label: n ? "Unavailable" : void 0 }),
2337
+ /* @__PURE__ */ t(nt, { state: e.state, label: n ? "Unavailable" : void 0 }),
2338
2338
  !n && e.message && /* @__PURE__ */ t("span", { className: "w6w-rel-vendor-msg w6w-small", children: e.message })
2339
2339
  ] });
2340
2340
  }
2341
2341
  function Fa({ service: e, getHref: n, onOpen: a }) {
2342
2342
  return /* @__PURE__ */ i(
2343
- Yt,
2343
+ Gt,
2344
2344
  {
2345
2345
  appId: e.appId,
2346
2346
  className: "w6w-rel-issue-card",
@@ -2367,11 +2367,11 @@ function Fa({ service: e, getHref: n, onOpen: a }) {
2367
2367
  /* @__PURE__ */ i("span", { className: "w6w-rel-issue-signals", children: [
2368
2368
  /* @__PURE__ */ i("span", { className: "w6w-rel-issue-signal", children: [
2369
2369
  /* @__PURE__ */ t("span", { className: "w6w-muted w6w-small", children: "w6w exec" }),
2370
- /* @__PURE__ */ t(Gt, { service: e })
2370
+ /* @__PURE__ */ t(Xt, { service: e })
2371
2371
  ] }),
2372
2372
  /* @__PURE__ */ i("span", { className: "w6w-rel-issue-signal", children: [
2373
2373
  /* @__PURE__ */ t("span", { className: "w6w-muted w6w-small", children: "API status" }),
2374
- /* @__PURE__ */ t(Xt, { vendor: e.vendorStatus })
2374
+ /* @__PURE__ */ t(Zt, { vendor: e.vendorStatus })
2375
2375
  ] })
2376
2376
  ] })
2377
2377
  ]
@@ -2390,7 +2390,7 @@ function Ba({
2390
2390
  className: `w6w-rel-tr${e.attention !== "none" ? " w6w-rel-attention" : ""}`,
2391
2391
  "data-attention": e.attention === "none" ? void 0 : e.attention,
2392
2392
  children: [
2393
- /* @__PURE__ */ t("td", { className: "w6w-rel-td-service", children: /* @__PURE__ */ i(Yt, { appId: e.appId, className: "w6w-rel-open", getHref: n, onOpen: a, children: [
2393
+ /* @__PURE__ */ t("td", { className: "w6w-rel-td-service", children: /* @__PURE__ */ i(Gt, { appId: e.appId, className: "w6w-rel-open", getHref: n, onOpen: a, children: [
2394
2394
  /* @__PURE__ */ t(
2395
2395
  Oe,
2396
2396
  {
@@ -2409,19 +2409,19 @@ function Ba({
2409
2409
  /* @__PURE__ */ i("td", { className: "w6w-rel-td-status", children: [
2410
2410
  /* @__PURE__ */ i("span", { className: "w6w-rel-status-row", children: [
2411
2411
  /* @__PURE__ */ t("span", { className: "w6w-rel-status-label w6w-muted w6w-small", children: "Ops" }),
2412
- /* @__PURE__ */ t(Gt, { service: e })
2412
+ /* @__PURE__ */ t(Xt, { service: e })
2413
2413
  ] }),
2414
2414
  /* @__PURE__ */ i("span", { className: "w6w-rel-status-row", children: [
2415
2415
  /* @__PURE__ */ t("span", { className: "w6w-rel-status-label w6w-muted w6w-small", children: "API" }),
2416
- /* @__PURE__ */ t(Xt, { vendor: e.vendorStatus })
2416
+ /* @__PURE__ */ t(Zt, { vendor: e.vendorStatus })
2417
2417
  ] })
2418
2418
  ] }),
2419
2419
  /* @__PURE__ */ t("td", { className: "w6w-rel-td-uptime", children: s ? (
2420
2420
  // A zero-call window is one identical hatched strip — the note says it better.
2421
2421
  /* @__PURE__ */ t("span", { className: "w6w-rel-idle-note", children: "No calls in this window" })
2422
- ) : /* @__PURE__ */ i(R, { children: [
2422
+ ) : /* @__PURE__ */ i(E, { children: [
2423
2423
  /* @__PURE__ */ t(
2424
- Zn,
2424
+ Qn,
2425
2425
  {
2426
2426
  days: La(e),
2427
2427
  ariaLabel: `${e.displayName}, ${e.uptime.length}-day status, oldest day first`
@@ -2450,22 +2450,22 @@ function As({
2450
2450
  onShowAll: u,
2451
2451
  slots: f
2452
2452
  }) {
2453
- const m = a ?? (n == null ? void 0 : n.days) ?? 30, v = e.length > 0 && e.every((E) => E.calls > 0 && E.state === "ok"), {
2453
+ const m = a ?? (n == null ? void 0 : n.days) ?? 30, v = e.length > 0 && e.every((R) => R.calls > 0 && R.state === "ok"), {
2454
2454
  attentionCount: w,
2455
2455
  shownNow: h,
2456
2456
  shownRecent: y,
2457
2457
  hiddenAttentionCount: g,
2458
2458
  shownTable: $,
2459
2459
  hiddenTableCount: x
2460
- } = Da(e, { compact: s, limit: o }), N = r ?? !s, T = d !== void 0 || u !== void 0, C = (E) => {
2461
- const P = E.startsWith("Show") ? "w6w-muted w6w-small" : void 0;
2462
- return d !== void 0 ? /* @__PURE__ */ t("a", { href: d, className: P, onClick: u, children: E }) : u ? /* @__PURE__ */ t(
2460
+ } = Da(e, { compact: s, limit: o }), N = r ?? !s, T = d !== void 0 || u !== void 0, C = (R) => {
2461
+ const P = R.startsWith("Show") ? "w6w-muted w6w-small" : void 0;
2462
+ return d !== void 0 ? /* @__PURE__ */ t("a", { href: d, className: P, onClick: u, children: R }) : u ? /* @__PURE__ */ t(
2463
2463
  "button",
2464
2464
  {
2465
2465
  type: "button",
2466
2466
  className: `w6w-rel-show-all${P ? ` ${P}` : ""}`,
2467
2467
  onClick: u,
2468
- children: E
2468
+ children: R
2469
2469
  }
2470
2470
  ) : null;
2471
2471
  };
@@ -2475,9 +2475,9 @@ function As({
2475
2475
  (f == null ? void 0 : f.header) ?? "Service reliability",
2476
2476
  " ",
2477
2477
  n && /* @__PURE__ */ i("span", { className: "w6w-muted w6w-small", children: [
2478
- Dt(n.from),
2478
+ Ut(n.from),
2479
2479
  " – ",
2480
- Dt(n.to),
2480
+ Ut(n.to),
2481
2481
  " · ",
2482
2482
  n.days,
2483
2483
  " days"
@@ -2495,12 +2495,12 @@ function As({
2495
2495
  m,
2496
2496
  " days came back",
2497
2497
  " ",
2498
- /* @__PURE__ */ t(tt, { state: "ok" }),
2498
+ /* @__PURE__ */ t(nt, { state: "ok" }),
2499
2499
  " — no degraded stretches, no outages."
2500
2500
  ] })
2501
2501
  ] }),
2502
2502
  e.length === 0 && ((f == null ? void 0 : f.empty) ?? /* @__PURE__ */ t("div", { className: s ? void 0 : "w6w-rel-card", children: /* @__PURE__ */ t("p", { className: "w6w-muted", children: "No services yet — connect an integration or use a service in this project." }) })),
2503
- e.length > 0 && /* @__PURE__ */ i(R, { children: [
2503
+ e.length > 0 && /* @__PURE__ */ i(E, { children: [
2504
2504
  w > 0 && /* @__PURE__ */ i("div", { className: "w6w-rel-group", children: [
2505
2505
  /* @__PURE__ */ i("h4", { className: "w6w-rel-group-head", children: [
2506
2506
  "Needs attention",
@@ -2511,14 +2511,14 @@ function As({
2511
2511
  w
2512
2512
  ] })
2513
2513
  ] }),
2514
- /* @__PURE__ */ t("div", { className: "w6w-rel-issues", children: [...h, ...y].map((E) => /* @__PURE__ */ t(Fa, { service: E, getHref: l, onOpen: c }, E.appId)) }),
2514
+ /* @__PURE__ */ t("div", { className: "w6w-rel-issues", children: [...h, ...y].map((R) => /* @__PURE__ */ t(Fa, { service: R, getHref: l, onOpen: c }, R.appId)) }),
2515
2515
  g > 0 && /* @__PURE__ */ i("p", { className: "w6w-muted w6w-small w6w-rel-more-note", children: [
2516
2516
  g,
2517
2517
  " more ",
2518
2518
  g === 1 ? "needs" : "need",
2519
2519
  " ",
2520
2520
  "attention",
2521
- T && /* @__PURE__ */ i(R, { children: [
2521
+ T && /* @__PURE__ */ i(E, { children: [
2522
2522
  " — ",
2523
2523
  C("view all →")
2524
2524
  ] })
@@ -2545,20 +2545,20 @@ function As({
2545
2545
  ] }),
2546
2546
  /* @__PURE__ */ t("th", { children: "Latency" })
2547
2547
  ] }) }),
2548
- /* @__PURE__ */ t("tbody", { children: $.map((E) => /* @__PURE__ */ t(
2548
+ /* @__PURE__ */ t("tbody", { children: $.map((R) => /* @__PURE__ */ t(
2549
2549
  Ba,
2550
2550
  {
2551
- service: E,
2551
+ service: R,
2552
2552
  getHref: l,
2553
2553
  onOpen: c
2554
2554
  },
2555
- E.appId
2555
+ R.appId
2556
2556
  )) })
2557
2557
  ] }) }),
2558
2558
  x > 0 && /* @__PURE__ */ i("p", { className: "w6w-muted w6w-small w6w-rel-more-note", children: [
2559
2559
  x,
2560
2560
  " more",
2561
- T && /* @__PURE__ */ i(R, { children: [
2561
+ T && /* @__PURE__ */ i(E, { children: [
2562
2562
  " — ",
2563
2563
  C("view all →")
2564
2564
  ] })
@@ -2573,7 +2573,7 @@ function Ka(e, n) {
2573
2573
  }
2574
2574
  function he(e) {
2575
2575
  const { columns: n, rows: a, rowKey: s, onRowClick: r, getRowHref: o, empty: l, loading: c, className: d, testId: u } = e;
2576
- return a.length === 0 && !c && l !== void 0 && l !== null ? /* @__PURE__ */ t(R, { children: l }) : /* @__PURE__ */ t("div", { className: "w6w-data-table-frame", children: /* @__PURE__ */ i(
2576
+ return a.length === 0 && !c && l !== void 0 && l !== null ? /* @__PURE__ */ t(E, { children: l }) : /* @__PURE__ */ t("div", { className: "w6w-data-table-frame", children: /* @__PURE__ */ i(
2577
2577
  "table",
2578
2578
  {
2579
2579
  className: d ? `w6w-data-table ${d}` : "w6w-data-table",
@@ -2619,7 +2619,7 @@ function _e({ title: e, children: n, action: a, className: s, testId: r }) {
2619
2619
  }
2620
2620
  );
2621
2621
  }
2622
- function Es({
2622
+ function Rs({
2623
2623
  rows: e,
2624
2624
  title: n,
2625
2625
  description: a,
@@ -2638,14 +2638,14 @@ function Es({
2638
2638
  onShowArchivedChange: y,
2639
2639
  slots: g
2640
2640
  }) {
2641
- const [$, x] = k(!1), N = h !== void 0, T = N ? h : $, C = T ? e : e.filter((S) => !S.archived), E = v !== void 0 || w !== void 0, P = (S) => {
2641
+ const [$, x] = k(!1), N = h !== void 0, T = N ? h : $, C = T ? e : e.filter((S) => !S.archived), R = v !== void 0 || w !== void 0, P = (S) => {
2642
2642
  N || x(S), y == null || y(S);
2643
2643
  }, K = [
2644
2644
  {
2645
2645
  key: "main",
2646
2646
  header: "Name",
2647
2647
  render: (S) => {
2648
- const I = /* @__PURE__ */ i("span", { className: "w6w-callable-list-main", title: E ? o : void 0, children: [
2648
+ const I = /* @__PURE__ */ i("span", { className: "w6w-callable-list-main", title: R ? o : void 0, children: [
2649
2649
  /* @__PURE__ */ t("span", { children: S.title }),
2650
2650
  S.description != null && /* @__PURE__ */ t("span", { className: "w6w-muted w6w-small w6w-callable-list-row-desc", children: S.description })
2651
2651
  ] });
@@ -2666,7 +2666,7 @@ function Es({
2666
2666
  return /* @__PURE__ */ i("section", { className: "w6w-callable-list", children: [
2667
2667
  /* @__PURE__ */ i("div", { className: "w6w-callable-list-head", children: [
2668
2668
  /* @__PURE__ */ i("div", { className: "w6w-callable-list-heading", children: [
2669
- (g == null ? void 0 : g.header) ?? /* @__PURE__ */ i(R, { children: [
2669
+ (g == null ? void 0 : g.header) ?? /* @__PURE__ */ i(E, { children: [
2670
2670
  /* @__PURE__ */ t("h2", { className: "w6w-callable-list-title", children: n }),
2671
2671
  a != null && /* @__PURE__ */ t("p", { className: "w6w-muted w6w-small w6w-callable-list-description", children: a })
2672
2672
  ] }),
@@ -2730,7 +2730,7 @@ function Es({
2730
2730
  ] })
2731
2731
  ] });
2732
2732
  }
2733
- function Rs({
2733
+ function Es({
2734
2734
  connections: e,
2735
2735
  appsById: n,
2736
2736
  loading: a,
@@ -2747,7 +2747,7 @@ function Rs({
2747
2747
  key: "name",
2748
2748
  header: "Name",
2749
2749
  render: (w) => {
2750
- const h = In(w, f), y = w.displayName || w.id;
2750
+ const h = Pn(w, f), y = w.displayName || w.id;
2751
2751
  return /* @__PURE__ */ i("span", { className: "w6w-connection-cell-name", children: [
2752
2752
  /* @__PURE__ */ t(
2753
2753
  Oe,
@@ -2767,7 +2767,7 @@ function Rs({
2767
2767
  {
2768
2768
  key: "status",
2769
2769
  header: "Status",
2770
- render: (w) => /* @__PURE__ */ i(R, { children: [
2770
+ render: (w) => /* @__PURE__ */ i(E, { children: [
2771
2771
  "auth ",
2772
2772
  /* @__PURE__ */ t("code", { children: w.authKey }),
2773
2773
  " ·",
@@ -2800,7 +2800,7 @@ function Rs({
2800
2800
  // biome-ignore lint/a11y/useKeyWithClickEvents: propagation guard only; the buttons inside are the controls.
2801
2801
  /* @__PURE__ */ i("div", { className: "w6w-connection-row-actions", onClick: (h) => h.stopPropagation(), children: [
2802
2802
  l && /* @__PURE__ */ t(
2803
- qt,
2803
+ Ht,
2804
2804
  {
2805
2805
  label: "Edit",
2806
2806
  onClick: () => l(w),
@@ -2839,7 +2839,7 @@ function Rs({
2839
2839
  ] });
2840
2840
  }
2841
2841
  function _s({ connection: e, onClose: n, onSaved: a }) {
2842
- const s = Kt(), r = s.updateConnection, o = e.builtIn === !0, l = !o && typeof r == "function", [c, d] = k(e.displayName ?? ""), [u, f] = k(e.authKey), [m, v] = k({}), [w, h] = k(null), [y, g] = k(null), [$, x] = k(!1), [N, T] = k({}), [C, E] = k(null), [P, K] = k(null), [O, S] = k(null);
2842
+ const s = jt(), r = s.updateConnection, o = e.builtIn === !0, l = !o && typeof r == "function", [c, d] = k(e.displayName ?? ""), [u, f] = k(e.authKey), [m, v] = k({}), [w, h] = k(null), [y, g] = k(null), [$, x] = k(!1), [N, T] = k({}), [C, R] = k(null), [P, K] = k(null), [O, S] = k(null);
2843
2843
  G(() => {
2844
2844
  if (!l) return;
2845
2845
  let b = !1;
@@ -2849,23 +2849,23 @@ function _s({ connection: e, onClose: n, onSaved: a }) {
2849
2849
  }, [s, l, e.appId]);
2850
2850
  const I = w == null ? void 0 : w.find((b) => b.key === u), V = u !== e.authKey, q = (w == null ? void 0 : w.filter(
2851
2851
  (b) => b.key === e.authKey || b.available !== !1 && !b.autoSatisfied && ["apiKey", "bearer", "basic", "custom"].includes(b.type)
2852
- )) ?? [], Q = (I == null ? void 0 : I.type) === "oauth2", J = Q ? [] : (I == null ? void 0 : I.fields) ?? [], W = e.credentialId, j = !V && !!W && typeof s.rotateCredential == "function" && (P !== null ? !P.startsWith("legacy:") : (I == null ? void 0 : I.type) === "serviceAccount") && !Q, Z = j && (I != null && I.serviceAccount) ? Pn(I.serviceAccount) : [];
2852
+ )) ?? [], Z = (I == null ? void 0 : I.type) === "oauth2", J = Z ? [] : (I == null ? void 0 : I.fields) ?? [], W = e.credentialId, j = !V && !!W && typeof s.rotateCredential == "function" && (P !== null ? !P.startsWith("legacy:") : (I == null ? void 0 : I.type) === "serviceAccount") && !Z, Q = j && (I != null && I.serviceAccount) ? Ln(I.serviceAccount) : [];
2853
2853
  G(() => {
2854
- if (!l || V || Q || !W || typeof s.getCredential != "function")
2854
+ if (!l || V || Z || !W || typeof s.getCredential != "function")
2855
2855
  return;
2856
2856
  let b = !1;
2857
2857
  return s.getCredential(W).then((L) => {
2858
- b || (E(L.connectionCount), K(L.contract));
2858
+ b || (R(L.connectionCount), K(L.contract));
2859
2859
  }).catch(() => {
2860
2860
  }), () => {
2861
2861
  b = !0;
2862
2862
  };
2863
- }, [s, l, V, Q, W]);
2863
+ }, [s, l, V, Z, W]);
2864
2864
  function Ie() {
2865
2865
  if (j) {
2866
2866
  const _ = {};
2867
2867
  c !== (e.displayName ?? "") && (_.displayName = c);
2868
- const D = Dn(Z, N);
2868
+ const D = Un(Q, N);
2869
2869
  return D && (_.binding = D), _.displayName === void 0 && _.binding === void 0 ? null : _;
2870
2870
  }
2871
2871
  const b = {};
@@ -2893,7 +2893,7 @@ function _s({ connection: e, onClose: n, onSaved: a }) {
2893
2893
  return;
2894
2894
  }
2895
2895
  }
2896
- const D = Mn(J, L);
2896
+ const D = Dn(J, L);
2897
2897
  if ("error" in D) {
2898
2898
  g(D.error);
2899
2899
  return;
@@ -2922,12 +2922,12 @@ function _s({ connection: e, onClose: n, onSaved: a }) {
2922
2922
  }
2923
2923
  }
2924
2924
  }
2925
- const ee = Ln(ae, { enabled: l && !$ });
2925
+ const ee = Mn(ae, { enabled: l && !$ });
2926
2926
  return /* @__PURE__ */ t($e, { title: "Edit connection", onClose: n, children: /* @__PURE__ */ i("div", { className: "w6w-stepconfig", children: [
2927
2927
  /* @__PURE__ */ t("div", { className: "w6w-modal-body", children: /* @__PURE__ */ i("div", { className: "w6w-stack", children: [
2928
2928
  o && /* @__PURE__ */ t("p", { className: "w6w-muted w6w-small", children: "This connection is built in — it has no stored credential to edit." }),
2929
2929
  !o && !l && /* @__PURE__ */ t("p", { className: "w6w-muted w6w-small", children: "Editing connections is not available here." }),
2930
- l && /* @__PURE__ */ i(R, { children: [
2930
+ l && /* @__PURE__ */ i(E, { children: [
2931
2931
  /* @__PURE__ */ i("label", { className: "w6w-field", children: [
2932
2932
  /* @__PURE__ */ t("span", { children: "Display name" }),
2933
2933
  /* @__PURE__ */ t(
@@ -2968,14 +2968,14 @@ function _s({ connection: e, onClose: n, onSaved: a }) {
2968
2968
  ] }),
2969
2969
  V && /* @__PURE__ */ t("p", { className: "w6w-muted w6w-small", children: "Enter the new credential and click Save. This connection stays linked to your existing workflows." }),
2970
2970
  w === null && !y && /* @__PURE__ */ t("p", { className: "w6w-muted w6w-small", children: "Loading auth fields…" }),
2971
- Q && /* @__PURE__ */ t("p", { className: "w6w-muted w6w-small", children: q.some((b) => b.key !== e.authKey) ? "This connection uses OAuth. Choose another authentication method above to use a key or token." : "This is an OAuth connection. You can rename it here; its credential is renewed by re-authorizing it." }),
2972
- j && Z.length > 0 && /* @__PURE__ */ i(R, { children: [
2971
+ Z && /* @__PURE__ */ t("p", { className: "w6w-muted w6w-small", children: q.some((b) => b.key !== e.authKey) ? "This connection uses OAuth. Choose another authentication method above to use a key or token." : "This is an OAuth connection. You can rename it here; its credential is renewed by re-authorizing it." }),
2972
+ j && Q.length > 0 && /* @__PURE__ */ i(E, { children: [
2973
2973
  /* @__PURE__ */ t("p", { className: "w6w-muted w6w-small", children: "Leave a binding field blank to keep it unchanged." }),
2974
2974
  /* @__PURE__ */ t(
2975
2975
  Be,
2976
2976
  {
2977
2977
  mode: "edit",
2978
- fields: Z,
2978
+ fields: Q,
2979
2979
  values: N,
2980
2980
  onChange: T,
2981
2981
  enterSubmitProps: ee
@@ -3003,7 +3003,7 @@ function _s({ connection: e, onClose: n, onSaved: a }) {
3003
3003
  " ",
3004
3004
  e.lastTestOk === !0 ? "passed" : e.lastTestOk === !1 ? "failed" : "never tested"
3005
3005
  ] }),
3006
- J.length > 0 && /* @__PURE__ */ i(R, { children: [
3006
+ J.length > 0 && /* @__PURE__ */ i(E, { children: [
3007
3007
  /* @__PURE__ */ i("p", { className: "w6w-muted w6w-small", children: [
3008
3008
  "Leave the credential blank to keep it unchanged. To replace it, enter the full new credential and click Save.",
3009
3009
  C !== null && C > 1 && ` This credential is used by ${C} connections; saving a new credential updates all of them.`
@@ -3020,7 +3020,7 @@ function _s({ connection: e, onClose: n, onSaved: a }) {
3020
3020
  )
3021
3021
  ] })
3022
3022
  ] }),
3023
- !j && J.length > 0 && /* @__PURE__ */ i(R, { children: [
3023
+ !j && J.length > 0 && /* @__PURE__ */ i(E, { children: [
3024
3024
  !V && /* @__PURE__ */ t("p", { className: "w6w-muted w6w-small", children: "Leave a field blank to keep it unchanged. Filled fields replace the stored credential." }),
3025
3025
  /* @__PURE__ */ t(
3026
3026
  Be,
@@ -3086,7 +3086,7 @@ function Os({ conn: e, app: n, children: a }) {
3086
3086
  ] });
3087
3087
  }
3088
3088
  const ja = (e) => String(e);
3089
- function Ut(e) {
3089
+ function Ft(e) {
3090
3090
  const n = Math.min(100, Math.max(0, e));
3091
3091
  return Number(n.toFixed(4));
3092
3092
  }
@@ -3099,7 +3099,7 @@ function Is({
3099
3099
  className: o,
3100
3100
  testId: l
3101
3101
  }) {
3102
- const c = r ?? ja, d = Number.isFinite(s) && s > 0, u = a > 0 ? Ut(n / a * 100) : 100, f = d && a > 0 ? Ut(Math.min(100 - u, s / a * 100)) : 0, m = n >= a, v = `${c(n)} / ${c(a)}`, w = ["w6w-budget-meter"];
3102
+ const c = r ?? ja, d = Number.isFinite(s) && s > 0, u = a > 0 ? Ft(n / a * 100) : 100, f = d && a > 0 ? Ft(Math.min(100 - u, s / a * 100)) : 0, m = n >= a, v = `${c(n)} / ${c(a)}`, w = ["w6w-budget-meter"];
3103
3103
  return m && w.push("w6w-budget-meter-over"), o && w.push(o), /* @__PURE__ */ i(
3104
3104
  "div",
3105
3105
  {
@@ -3157,7 +3157,7 @@ const Va = {
3157
3157
  function Ga(e, n) {
3158
3158
  return n === 2 ? e % 4 === 0 && e % 100 !== 0 || e % 400 === 0 ? 29 : 28 : [31, 0, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][n - 1];
3159
3159
  }
3160
- function lt(e) {
3160
+ function it(e) {
3161
3161
  if (!za.test(e)) return null;
3162
3162
  const n = Number(e.slice(0, 4)), a = Number(e.slice(5, 7)), s = Number(e.slice(8, 10));
3163
3163
  return a < 1 || a > 12 || s < 1 || s > Ga(n, a) ? null : { year: n, month: a, day: s };
@@ -3165,7 +3165,7 @@ function lt(e) {
3165
3165
  function Y(e) {
3166
3166
  return { ok: !1, problem: e, message: Va[e] };
3167
3167
  }
3168
- function it(e, n, a) {
3168
+ function rt(e, n, a) {
3169
3169
  const s = n.trim();
3170
3170
  if (s === "")
3171
3171
  return a ? Y("required") : { ok: !0, value: void 0 };
@@ -3185,19 +3185,19 @@ function it(e, n, a) {
3185
3185
  case "boolean":
3186
3186
  return s === "true" ? { ok: !0, value: !0 } : s === "false" ? { ok: !0, value: !1 } : Y("not_a_boolean");
3187
3187
  case "date":
3188
- return lt(s) === null ? Y("not_a_date") : { ok: !0, value: s };
3188
+ return it(s) === null ? Y("not_a_date") : { ok: !0, value: s };
3189
3189
  case "datetime":
3190
- return Zt(s) ? { ok: !0, value: s } : Y("not_a_datetime");
3190
+ return en(s) ? { ok: !0, value: s } : Y("not_a_datetime");
3191
3191
  }
3192
3192
  }
3193
- function Zt(e) {
3194
- if (!Ya.test(e) || lt(e.slice(0, 10)) === null) return !1;
3193
+ function en(e) {
3194
+ if (!Ya.test(e) || it(e.slice(0, 10)) === null) return !1;
3195
3195
  const n = Number(e.slice(11, 13)), a = Number(e.slice(14, 16)), s = Number(e.slice(17, 19));
3196
3196
  if (n > 23 || a > 59 || s > 59) return !1;
3197
3197
  const o = e.slice(19).match(/(Z|([+-])(\d{2}):(\d{2}))$/);
3198
3198
  return o === null || o[1] === "Z" ? !0 : Number(o[3]) <= 23 && Number(o[4]) <= 59;
3199
3199
  }
3200
- function rt(e, n) {
3200
+ function ot(e, n) {
3201
3201
  if (n == null) return "";
3202
3202
  if ((e === "string" || e === "date" || e === "datetime") && typeof n == "string")
3203
3203
  return n;
@@ -3218,19 +3218,19 @@ function Us(e, n) {
3218
3218
  case "boolean":
3219
3219
  return typeof n == "boolean";
3220
3220
  case "date":
3221
- return typeof n == "string" && lt(n) !== null;
3221
+ return typeof n == "string" && it(n) !== null;
3222
3222
  case "datetime":
3223
- return typeof n == "string" && Zt(n);
3223
+ return typeof n == "string" && en(n);
3224
3224
  }
3225
3225
  }
3226
3226
  const ce = "The request failed.", Xa = "Could not reach the server.";
3227
3227
  function te(e) {
3228
3228
  return typeof e == "string" && e.length > 0 ? e : void 0;
3229
3229
  }
3230
- function en(e) {
3230
+ function tn(e) {
3231
3231
  return Number.isInteger(e) && e >= 0 ? e : void 0;
3232
3232
  }
3233
- function tn(e, n, a) {
3233
+ function nn(e, n, a) {
3234
3234
  const s = { message: ce };
3235
3235
  typeof a == "number" && (s.status = a);
3236
3236
  const r = e !== null && typeof e == "object" ? e.error : void 0;
@@ -3241,7 +3241,7 @@ function tn(e, n, a) {
3241
3241
  c !== void 0 && (s.field = c);
3242
3242
  const d = te(o.column);
3243
3243
  d !== void 0 && (s.column = d);
3244
- const u = en(o.row);
3244
+ const u = tn(o.row);
3245
3245
  u !== void 0 && (s.row = u);
3246
3246
  const f = te(o.message);
3247
3247
  f !== void 0 && (s.message = f);
@@ -3259,12 +3259,12 @@ function tn(e, n, a) {
3259
3259
  function Fs(e) {
3260
3260
  try {
3261
3261
  const n = e !== null && typeof e == "object" ? e : void 0, a = n == null ? void 0 : n.raw, s = n == null ? void 0 : n.message;
3262
- return tn(a, [s], n == null ? void 0 : n.status);
3262
+ return nn(a, [s], n == null ? void 0 : n.status);
3263
3263
  } catch {
3264
3264
  return { message: ce };
3265
3265
  }
3266
3266
  }
3267
- function Qa(e) {
3267
+ function Za(e) {
3268
3268
  try {
3269
3269
  if (e.status === 0)
3270
3270
  return {
@@ -3278,38 +3278,38 @@ function Qa(e) {
3278
3278
  } catch {
3279
3279
  return { status: e.status, message: ce };
3280
3280
  }
3281
- return tn(n, [], e.status);
3281
+ return nn(n, [], e.status);
3282
3282
  } catch {
3283
3283
  return { message: ce };
3284
3284
  }
3285
3285
  }
3286
- function Za(e) {
3286
+ function Qa(e) {
3287
3287
  const n = te(e.column);
3288
3288
  if (n !== void 0) {
3289
- const s = en(e.row);
3289
+ const s = tn(e.row);
3290
3290
  return s === void 0 ? { kind: "cell", column: n } : { kind: "cell", column: n, row: s };
3291
3291
  }
3292
3292
  const a = te(e.field);
3293
3293
  return a !== void 0 ? { kind: "field", field: a } : { kind: "form" };
3294
3294
  }
3295
- function Ft(e) {
3295
+ function Bt(e) {
3296
3296
  return e + 2;
3297
3297
  }
3298
- const nn = "\0new", an = "Changed by someone else since you loaded it.", Bt = "Enter a JSON object or array.", es = "The file is larger than 5 MB.";
3298
+ const an = "\0new", sn = "Changed by someone else since you loaded it.", Kt = "Enter a JSON object or array.", es = "The file is larger than 5 MB.";
3299
3299
  function ts(e) {
3300
3300
  const n = e.value;
3301
3301
  return n !== null && typeof n == "object" && !Array.isArray(n) ? n : {};
3302
3302
  }
3303
3303
  function Bs(e, n) {
3304
3304
  const a = ts(e), s = {};
3305
- for (const r of n) s[r.name] = rt(r.type, a[r.name]);
3305
+ for (const r of n) s[r.name] = ot(r.type, a[r.name]);
3306
3306
  return { id: e.key, version: e.version, cells: s };
3307
3307
  }
3308
3308
  function Ks(e) {
3309
3309
  const n = {};
3310
3310
  for (const a of e)
3311
- n[a.name] = a.default === void 0 ? "" : rt(a.type, a.default);
3312
- return { id: nn, version: null, cells: n };
3311
+ n[a.name] = a.default === void 0 ? "" : ot(a.type, a.default);
3312
+ return { id: an, version: null, cells: n };
3313
3313
  }
3314
3314
  function js(e, n, a) {
3315
3315
  const s = [];
@@ -3320,7 +3320,7 @@ function js(e, n, a) {
3320
3320
  function Js(e, n) {
3321
3321
  const a = {}, s = {};
3322
3322
  for (const r of n) {
3323
- const o = it(r.type, e.cells[r.name] ?? "", r.required);
3323
+ const o = rt(r.type, e.cells[r.name] ?? "", r.required);
3324
3324
  o.ok ? o.value !== void 0 && (a[r.name] = o.value) : s[r.name] = o.message;
3325
3325
  }
3326
3326
  return Object.keys(s).length > 0 ? { ok: !1, errors: s } : { ok: !0, value: a };
@@ -3333,7 +3333,7 @@ function Ws(e, n) {
3333
3333
  return s > 0 ? s : void 0;
3334
3334
  }
3335
3335
  function Vs(e, n, a) {
3336
- if (e.id === nn)
3336
+ if (e.id === an)
3337
3337
  return a === void 0 ? { kind: "insert", value: n } : { kind: "insert", value: n, ttlSeconds: a };
3338
3338
  const s = {
3339
3339
  kind: "put",
@@ -3344,7 +3344,7 @@ function Vs(e, n, a) {
3344
3344
  return a === void 0 ? s : { ...s, ttlSeconds: a };
3345
3345
  }
3346
3346
  function qs(e, n) {
3347
- const a = Za(e);
3347
+ const a = Qa(e);
3348
3348
  return a.kind !== "cell" || !n.some((s) => s.name === a.column) ? null : { [a.column]: e.message };
3349
3349
  }
3350
3350
  function Hs(e) {
@@ -3355,13 +3355,13 @@ function ns(e) {
3355
3355
  try {
3356
3356
  n = JSON.parse(e);
3357
3357
  } catch {
3358
- return { ok: !1, message: Bt };
3358
+ return { ok: !1, message: Kt };
3359
3359
  }
3360
- return n === null || typeof n != "object" ? { ok: !1, message: Bt } : { ok: !0, value: n };
3360
+ return n === null || typeof n != "object" ? { ok: !1, message: Kt } : { ok: !0, value: n };
3361
3361
  }
3362
3362
  function zs(e, n) {
3363
3363
  if (e === "string") return { ok: !0, value: n };
3364
- const a = it(e, n, !0);
3364
+ const a = rt(e, n, !0);
3365
3365
  return a.ok ? { ok: !0, value: a.value } : { ok: !1, message: a.message };
3366
3366
  }
3367
3367
  function Ys(e) {
@@ -3378,8 +3378,8 @@ function Ys(e) {
3378
3378
  message: `Imported ${s} row${s === 1 ? "" : "s"}.`
3379
3379
  };
3380
3380
  }
3381
- const n = Qa(e);
3382
- return n.row === void 0 ? { ok: !1, message: n.message } : { ok: !1, message: `${n.column ? `Line ${Ft(n.row)}, column ${n.column}` : `Line ${Ft(n.row)}`}: ${n.message}` };
3381
+ const n = Za(e);
3382
+ return n.row === void 0 ? { ok: !1, message: n.message } : { ok: !1, message: `${n.column ? `Line ${Bt(n.row)}, column ${n.column}` : `Line ${Bt(n.row)}`}: ${n.message}` };
3383
3383
  }
3384
3384
  function Gs({
3385
3385
  stores: e,
@@ -3393,7 +3393,7 @@ function Gs({
3393
3393
  formatSize: d,
3394
3394
  slots: u
3395
3395
  }) {
3396
- const f = d ?? Vt, m = o !== void 0 || l !== void 0, v = [
3396
+ const f = d ?? qt, m = o !== void 0 || l !== void 0, v = [
3397
3397
  { key: "name", header: "Name", render: (w) => /* @__PURE__ */ t("strong", { children: w.name }) },
3398
3398
  { key: "kind", header: "Kind", render: (w) => Ja[w.kind] },
3399
3399
  { key: "entries", header: "Entries", align: "right", render: (w) => String(w.entryCount) },
@@ -3414,7 +3414,7 @@ function Gs({
3414
3414
  // biome-ignore lint/a11y/useKeyWithClickEvents: propagation guard only; the buttons inside are the controls.
3415
3415
  /* @__PURE__ */ i("div", { className: "w6w-data-row-actions", onClick: (h) => h.stopPropagation(), children: [
3416
3416
  o && /* @__PURE__ */ t(
3417
- qt,
3417
+ Ht,
3418
3418
  {
3419
3419
  label: "Edit",
3420
3420
  onClick: () => o(w),
@@ -3456,7 +3456,7 @@ function as(e) {
3456
3456
  return e.name !== "" && e.required === !0 && (e.type === "string" || e.type === "integer");
3457
3457
  }
3458
3458
  function ss(e, n) {
3459
- const { default: a, ...s } = e, r = it(e.type, n, !1);
3459
+ const { default: a, ...s } = e, r = rt(e.type, n, !1);
3460
3460
  return r.ok ? r.value === void 0 ? { column: s } : { column: { ...s, default: r.value } } : { column: s, error: r.message };
3461
3461
  }
3462
3462
  function Xs(e) {
@@ -3472,7 +3472,7 @@ function Xs(e) {
3472
3472
  }
3473
3473
  function v(h, y, g, $) {
3474
3474
  const x = { ...n[h], ...$, type: y }, { column: N, error: T } = ss(x, g);
3475
- c((C) => ({ ...C, [h]: T === void 0 ? { text: g } : { text: g, error: T } })), a(n.map((C, E) => E === h ? N : C));
3475
+ c((C) => ({ ...C, [h]: T === void 0 ? { text: g } : { text: g, error: T } })), a(n.map((C, R) => R === h ? N : C));
3476
3476
  }
3477
3477
  function w(h) {
3478
3478
  c((y) => {
@@ -3492,7 +3492,7 @@ function Xs(e) {
3492
3492
  /* @__PURE__ */ t("p", { className: "w6w-muted w6w-small", children: "Each column has a name, a scalar type, whether it must be set, and an optional default." }),
3493
3493
  n.length === 0 && /* @__PURE__ */ t("p", { className: "w6w-muted w6w-small", children: "No columns yet." }),
3494
3494
  /* @__PURE__ */ t("ul", { className: "w6w-data-columns-list", "data-testid": "data-columns", children: n.map((h, y) => {
3495
- const g = l[y], $ = (g == null ? void 0 : g.text) ?? rt(h.type, h.default);
3495
+ const g = l[y], $ = (g == null ? void 0 : g.text) ?? ot(h.type, h.default);
3496
3496
  return (
3497
3497
  // biome-ignore lint/suspicious/noArrayIndexKey: rows are positional and reorderable
3498
3498
  /* @__PURE__ */ i("li", { className: "w6w-data-columns-row", children: [
@@ -3573,7 +3573,7 @@ function Xs(e) {
3573
3573
  ] })
3574
3574
  ] });
3575
3575
  }
3576
- function Qs({ result: e, busy: n, onImport: a, onRefuse: s, onExport: r }) {
3576
+ function Zs({ result: e, busy: n, onImport: a, onRefuse: s, onExport: r }) {
3577
3577
  function o(l) {
3578
3578
  var u;
3579
3579
  const c = l.target, d = (u = c.files) == null ? void 0 : u[0];
@@ -3612,7 +3612,7 @@ function Qs({ result: e, busy: n, onImport: a, onRefuse: s, onExport: r }) {
3612
3612
  e !== null && /* @__PURE__ */ t("div", { className: e.ok ? "w6w-result" : "w6w-result w6w-error", "data-testid": "csv-result", children: e.message })
3613
3613
  ] });
3614
3614
  }
3615
- function Zs({
3615
+ function Qs({
3616
3616
  rows: e,
3617
3617
  empty: n,
3618
3618
  loading: a,
@@ -3678,7 +3678,7 @@ function Zs({
3678
3678
  {
3679
3679
  key: "value",
3680
3680
  header: "Value",
3681
- render: (w) => /* @__PURE__ */ t("span", { className: "w6w-muted w6w-small w6w-data-entry-preview", children: w.preview })
3681
+ render: (w) => w.copyText !== void 0 ? /* @__PURE__ */ t(tt, { value: w.copyText, label: "Copy value", className: "w6w-copyable--bare", children: /* @__PURE__ */ t("span", { className: "w6w-muted w6w-small w6w-data-entry-preview", children: w.preview }) }) : /* @__PURE__ */ t("span", { className: "w6w-muted w6w-small w6w-data-entry-preview", children: w.preview })
3682
3682
  }
3683
3683
  ],
3684
3684
  rows: e,
@@ -3718,12 +3718,12 @@ function el({
3718
3718
  onCancel: w,
3719
3719
  onReload: h
3720
3720
  }) {
3721
- const [y, g] = k(n), [$, x] = k(!1), N = jt(null);
3721
+ const [y, g] = k(n), [$, x] = k(!1), N = Jt(null);
3722
3722
  G(() => {
3723
3723
  var O;
3724
3724
  n || (O = N.current) == null || O.focus();
3725
3725
  }, [n]);
3726
- const T = e === "doc" ? "document" : "entry", C = e === "doc" ? ns(o) : void 0, E = C !== void 0 && !C.ok, P = l || ($ && C && !C.ok ? C.message : null), K = /* @__PURE__ */ i(R, { children: [
3726
+ const T = e === "doc" ? "document" : "entry", C = e === "doc" ? ns(o) : void 0, R = C !== void 0 && !C.ok, P = l || ($ && C && !C.ok ? C.message : null), K = /* @__PURE__ */ i(E, { children: [
3727
3727
  n ? /* @__PURE__ */ i("label", { className: "w6w-field", children: [
3728
3728
  /* @__PURE__ */ t("span", { children: "Key" }),
3729
3729
  /* @__PURE__ */ t(
@@ -3754,19 +3754,20 @@ function el({
3754
3754
  minHeight: "min(50vh, 400px)",
3755
3755
  maxHeight: "60vh"
3756
3756
  }
3757
- ) : /* @__PURE__ */ t(
3757
+ ) : /* @__PURE__ */ t(tt, { value: o, label: "Copy value", children: /* @__PURE__ */ t(
3758
3758
  "input",
3759
3759
  {
3760
+ type: "text",
3760
3761
  "data-testid": "entry-value",
3761
3762
  value: o,
3762
3763
  "aria-label": "Value",
3763
3764
  readOnly: !y,
3764
3765
  onChange: (O) => u(O.target.value)
3765
3766
  }
3766
- ),
3767
+ ) }),
3767
3768
  P && /* @__PURE__ */ t("div", { className: "w6w-field-error", role: "alert", "data-testid": "entry-value-error", children: P }),
3768
3769
  c && /* @__PURE__ */ i("div", { className: "w6w-error", "data-testid": "entry-conflict", children: [
3769
- an,
3770
+ sn,
3770
3771
  " ",
3771
3772
  /* @__PURE__ */ t(
3772
3773
  "button",
@@ -3817,7 +3818,7 @@ function el({
3817
3818
  className: "w6w-btn",
3818
3819
  type: "button",
3819
3820
  "data-testid": "entry-save",
3820
- disabled: !!c || !!d || E || n && !(s != null && s.trim()),
3821
+ disabled: !!c || !!d || R || n && !(s != null && s.trim()),
3821
3822
  onClick: v,
3822
3823
  children: "Save"
3823
3824
  }
@@ -3859,14 +3860,14 @@ function tl({
3859
3860
  }, x = [
3860
3861
  ...e.map((N) => ({
3861
3862
  key: N.name,
3862
- header: /* @__PURE__ */ i(R, { children: [
3863
+ header: /* @__PURE__ */ i(E, { children: [
3863
3864
  N.name,
3864
3865
  " ",
3865
3866
  /* @__PURE__ */ t("span", { className: "w6w-muted w6w-small", children: N.type })
3866
3867
  ] }),
3867
3868
  render: (T) => {
3868
- var E;
3869
- const C = (E = T.cellErrors) == null ? void 0 : E[N.name];
3869
+ var R;
3870
+ const C = (R = T.cellErrors) == null ? void 0 : R[N.name];
3870
3871
  return /* @__PURE__ */ i("div", { className: "w6w-data-cell", children: [
3871
3872
  /* @__PURE__ */ t(
3872
3873
  "input",
@@ -3910,7 +3911,7 @@ function tl({
3910
3911
  ),
3911
3912
  /* @__PURE__ */ t(ue, { label: "Delete entry", onClick: () => f(N.id) }),
3912
3913
  N.conflict && /* @__PURE__ */ i("div", { className: "w6w-error", "data-row": xe(N), "data-testid": "row-conflict", children: [
3913
- an,
3914
+ sn,
3914
3915
  " ",
3915
3916
  /* @__PURE__ */ t(
3916
3917
  "button",
@@ -3977,10 +3978,10 @@ function tl({
3977
3978
  ] });
3978
3979
  }
3979
3980
  export {
3980
- Pt as ATTENTION_DISPLAY_CAP,
3981
+ Lt as ATTENTION_DISPLAY_CAP,
3981
3982
  hs as ActionTestForm,
3982
3983
  sl as AddConnectionModal,
3983
- bt as ApiCallsPanel,
3984
+ kt as ApiCallsPanel,
3984
3985
  be as ApiError,
3985
3986
  Oe as AppIcon,
3986
3987
  ll as AppPicker,
@@ -3989,31 +3990,31 @@ export {
3989
3990
  Va as CELL_PROBLEM_COPY,
3990
3991
  Wa as CSV_MAX_BYTES,
3991
3992
  es as CSV_TOO_LARGE_COPY,
3992
- Es as CallableList,
3993
+ Rs as CallableList,
3993
3994
  il as CanvasLayer,
3994
3995
  Te as CodeBlock,
3995
3996
  rl as CodeEditor,
3996
3997
  Xs as ColumnsEditor,
3997
- $n as Combobox,
3998
- Tn as ConfirmModal,
3998
+ Tn as Combobox,
3999
+ An as ConfirmModal,
3999
4000
  Os as ConnectionHeader,
4000
- Rs as ConnectionList,
4001
- jn as Copyable,
4001
+ Es as ConnectionList,
4002
+ tt as Copyable,
4002
4003
  Gn as CopyableText,
4003
4004
  ol as CredentialPicker,
4004
- Qs as CsvPanel,
4005
+ Zs as CsvPanel,
4005
4006
  ce as DATA_STORE_ERROR_FALLBACK,
4006
4007
  Ps as DATA_STORE_KINDS,
4007
4008
  Ja as DATA_STORE_KIND_LABEL,
4008
4009
  Xa as DATA_STORE_NETWORK_ERROR,
4009
- Bt as DOC_VALUE_COPY,
4010
+ Kt as DOC_VALUE_COPY,
4010
4011
  el as DataEntryEditor,
4011
- Zs as DataEntryList,
4012
+ Qs as DataEntryList,
4012
4013
  Gs as DataStoreList,
4013
4014
  he as DataTable,
4014
4015
  tl as DataTableGrid,
4015
4016
  ue as DeleteButton,
4016
- qt as EditButton,
4017
+ Ht as EditButton,
4017
4018
  _s as EditConnectionModal,
4018
4019
  _e as EmptyState,
4019
4020
  $s as ExecutionDetail,
@@ -4025,7 +4026,7 @@ export {
4025
4026
  dl as ExpressionInput,
4026
4027
  ul as ExpressionOptionsProvider,
4027
4028
  wl as HTML_PREVIEW_CSP,
4028
- tt as HealthStatusPill,
4029
+ nt as HealthStatusPill,
4029
4030
  Ns as HistoryTimeline,
4030
4031
  ml as HtmlPreview,
4031
4032
  Xe as Icon,
@@ -4033,12 +4034,12 @@ export {
4033
4034
  bs as InfoTip,
4034
4035
  oe as JsonEditor,
4035
4036
  hl as LastUsedNote,
4036
- Qe as ListItem,
4037
+ Ze as ListItem,
4037
4038
  pl as Markdown,
4038
4039
  $e as Modal,
4039
- nn as NEW_ROW_ID,
4040
+ an as NEW_ROW_ID,
4040
4041
  fl as NodeConfigForm,
4041
- Sn as ParamsForm,
4042
+ $n as ParamsForm,
4042
4043
  gl as PropertyEntryForm,
4043
4044
  Ma as RECENT_DISPLAY_CAP,
4044
4045
  yl as RESULT_RENDER_MAX_CHARS,
@@ -4053,9 +4054,9 @@ export {
4053
4054
  gs as ServerResourcesCardSmall,
4054
4055
  ys as ServerResourcesRail,
4055
4056
  Nl as StepBuilderModal,
4056
- at as StepStatusPill,
4057
- Zn as UptimeStrip,
4058
- an as VERSION_CONFLICT_COPY,
4057
+ st as StepStatusPill,
4058
+ Qn as UptimeStrip,
4059
+ sn as VERSION_CONFLICT_COPY,
4059
4060
  bl as W6WUIProvider,
4060
4061
  ps as YamlEditor,
4061
4062
  Js as buildRowValue,
@@ -4065,23 +4066,23 @@ export {
4065
4066
  Yn as cropText,
4066
4067
  Ds as csvFilenameOf,
4067
4068
  Ys as csvImportMessage,
4068
- Ft as csvLineOf,
4069
+ Bt as csvLineOf,
4069
4070
  xl as detectResultFormat,
4070
4071
  js as dirtyColumns,
4071
4072
  Da as displayBoard,
4072
4073
  Bs as draftFromEntry,
4073
4074
  Cl as effectiveNodeOutput,
4074
4075
  Sl as effectiveNodeOutputs,
4075
- Za as errorPlacement,
4076
+ Qa as errorPlacement,
4076
4077
  $l as filterOptions,
4077
4078
  Tl as findTestInput,
4078
- st as formatDurationMs,
4079
- Ee as formatExecutionTime,
4079
+ lt as formatDurationMs,
4080
+ Re as formatExecutionTime,
4080
4081
  Al as htmlPreviewSrcDoc,
4081
4082
  Hl as iconNames,
4082
- El as indexNodeSamples,
4083
+ Rl as indexNodeSamples,
4083
4084
  Us as isCellValue,
4084
- Rl as isExprValue,
4085
+ El as isExprValue,
4085
4086
  _l as isFormResolvedOptions,
4086
4087
  Ol as isSecretValue,
4087
4088
  Il as isTestRequired,
@@ -4089,10 +4090,10 @@ export {
4089
4090
  zs as kvValueOf,
4090
4091
  Ls as kvValueTypeOf,
4091
4092
  Fs as locateDataStoreError,
4092
- Qa as locateRawResponseError,
4093
+ Za as locateRawResponseError,
4093
4094
  Ts as needsAttention,
4094
4095
  Ks as newRowDraft,
4095
- it as parseCell,
4096
+ rt as parseCell,
4096
4097
  ns as parseDocText,
4097
4098
  Pa as partitionBoard,
4098
4099
  Ia as performancePoints,
@@ -4100,11 +4101,11 @@ export {
4100
4101
  Ws as remainingTtlSeconds,
4101
4102
  Ll as rememberableInput,
4102
4103
  Ml as requiredParamsFilled,
4103
- In as resolveConnectionAppMeta,
4104
+ Pn as resolveConnectionAppMeta,
4104
4105
  Dl as resultCopyText,
4105
4106
  ts as rowValueOf,
4106
4107
  Vs as rowWriteOf,
4107
- rt as serializeCell,
4108
+ ot as serializeCell,
4108
4109
  Ul as shapeToSkeleton,
4109
4110
  Fl as shouldUseCombobox,
4110
4111
  Bl as splitFrontmatter,
@@ -4113,9 +4114,9 @@ export {
4113
4114
  jl as testInputSavesSettled,
4114
4115
  Jl as trackTestInputSave,
4115
4116
  La as uptimeDays,
4116
- Ln as useEnterSubmit,
4117
+ Mn as useEnterSubmit,
4117
4118
  Wl as useExpressionOptions,
4118
4119
  Vl as useRememberedTestInput,
4119
- Kt as useW6WApi
4120
+ jt as useW6WApi
4120
4121
  };
4121
4122
  //# sourceMappingURL=index.mjs.map