@burdenoff/microfe-vibecontrols 2026.624.3 → 2026.625.2

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.
@@ -17,10 +17,11 @@ import { useI18n as y } from "@burdenoff/fe-libs/shared/providers/shell/I18nProv
17
17
  import { Download as b, Printer as x } from "lucide-react";
18
18
  import { usePermissions as S } from "@burdenoff/fe-libs/shared/providers/shell";
19
19
  import { Fragment as C, jsx as w, jsxs as T } from "react/jsx-runtime";
20
- import { MotionPage as E } from "@burdenoff/fe-libs/shared/motion";
20
+ import { GlassCard as E } from "@burdenoff/fe-libs/ui";
21
+ import { MotionPage as D } from "@burdenoff/fe-libs/shared/motion";
21
22
  //#region src/pages/AnalyticsPage.tsx
22
- var D = h(() => import("../components/analytics/AnalyticsTimeSeriesChart.js").then((e) => ({ default: e.AnalyticsTimeSeriesChart }))), O = h(() => import("../components/analytics/AnalyticsBreakdownChart.js").then((e) => ({ default: e.AnalyticsBreakdownChart }))), k = () => /* @__PURE__ */ w("div", {
23
- className: "bg-bg-surface border border-border-default rounded-lg p-4",
23
+ var O = h(() => import("../components/analytics/AnalyticsTimeSeriesChart.js").then((e) => ({ default: e.AnalyticsTimeSeriesChart }))), k = h(() => import("../components/analytics/AnalyticsBreakdownChart.js").then((e) => ({ default: e.AnalyticsBreakdownChart }))), A = () => /* @__PURE__ */ w("div", {
24
+ className: "bg-bg-surface border border-border-seam rounded-lg p-4 shadow-[var(--shadow-pop)]",
24
25
  children: /* @__PURE__ */ w(a, { height: "h-40" })
25
26
  }), ee = [
26
27
  "overview",
@@ -33,14 +34,14 @@ var D = h(() => import("../components/analytics/AnalyticsTimeSeriesChart.js").th
33
34
  "aievents",
34
35
  "audit",
35
36
  "docs"
36
- ], A = {
37
+ ], j = {
37
38
  primary: "var(--color-text-link)",
38
39
  success: "var(--color-status-success-text)",
39
40
  accent: "var(--color-accent-purple)",
40
41
  warning: "var(--color-status-warning-text)"
41
42
  };
42
- function j() {
43
- let { workspaceId: a } = t(), { t: h } = y(), j = n(), { hasPermission: I, isLoading: L } = S(), [R, z] = v("LAST_7D"), [B, V] = v("DAY"), [H, U] = o(ee, "overview"), W = g((e, t) => {
43
+ function M() {
44
+ let { workspaceId: a } = t(), { t: h } = y(), E = n(), { hasPermission: M, isLoading: L } = S(), [R, z] = v("LAST_7D"), [B, V] = v("DAY"), [H, U] = o(ee, "overview"), W = g((e, t) => {
44
45
  let n = h(e);
45
46
  return n === e ? t : n;
46
47
  }, [h]), { startDate: G, endDate: K } = _(() => c(R), [R]), q = _(() => s(H), [H]), { data: J, loading: Y, error: X, refetch: Z } = e({
@@ -60,13 +61,13 @@ function j() {
60
61
  typeof window < "u" && window.print();
61
62
  }, []), ne = g(() => {
62
63
  if (!Q) return;
63
- let e = F(H, Q);
64
+ let e = I(H, Q);
64
65
  if (e.length === 0) return;
65
- let t = P(e), n = new Blob([t], { type: "text/csv;charset=utf-8;" }), r = URL.createObjectURL(n), i = document.createElement("a");
66
+ let t = F(e), n = new Blob([t], { type: "text/csv;charset=utf-8;" }), r = URL.createObjectURL(n), i = document.createElement("a");
66
67
  i.href = r, i.download = `vibecontrols-analytics-${H}-${(/* @__PURE__ */ new Date()).toISOString().slice(0, 10)}.csv`, document.body.appendChild(i), i.click(), document.body.removeChild(i), URL.revokeObjectURL(r);
67
68
  }, [Q, H]), re = g((e) => {
68
- j(e);
69
- }, [j]);
69
+ E(e);
70
+ }, [E]);
70
71
  if (L) return /* @__PURE__ */ w("div", {
71
72
  className: "flex items-center justify-center min-h-[400px]",
72
73
  children: /* @__PURE__ */ w("p", {
@@ -74,7 +75,7 @@ function j() {
74
75
  children: "Loading permissions…"
75
76
  })
76
77
  });
77
- if (!I(i.ANALYTICS_READ)) return /* @__PURE__ */ w("div", {
78
+ if (!M(i.ANALYTICS_READ)) return /* @__PURE__ */ w("div", {
78
79
  className: "flex items-center justify-center min-h-[400px]",
79
80
  children: /* @__PURE__ */ T("div", {
80
81
  className: "text-center space-y-2",
@@ -87,7 +88,7 @@ function j() {
87
88
  })]
88
89
  })
89
90
  });
90
- if (!a) return /* @__PURE__ */ T(E, {
91
+ if (!a) return /* @__PURE__ */ T(D, {
91
92
  className: "min-h-screen space-y-6 bg-bg-canvas px-6 lg:px-8 py-6",
92
93
  children: [/* @__PURE__ */ w(r, { title: W("nav.analytics", "Analytics") }), /* @__PURE__ */ w("div", {
93
94
  className: "text-sm text-text-secondary",
@@ -96,7 +97,7 @@ function j() {
96
97
  });
97
98
  if (X && !Q) {
98
99
  let e = X.message ?? "", t = e.includes("upstream connect error") || e.includes("Connection refused") || e.includes("disconnect/reset before headers") || e.includes("Unexpected response");
99
- return /* @__PURE__ */ T(E, {
100
+ return /* @__PURE__ */ T(D, {
100
101
  className: "min-h-screen space-y-6 bg-bg-canvas px-6 lg:px-8 py-6",
101
102
  children: [/* @__PURE__ */ w(r, { title: W("nav.analytics", "Analytics") }), /* @__PURE__ */ T("div", {
102
103
  className: "space-y-3 rounded-card border border-status-warning-border bg-status-warning-bg-subtle p-4 text-sm text-text-primary",
@@ -115,7 +116,7 @@ function j() {
115
116
  })]
116
117
  });
117
118
  }
118
- return /* @__PURE__ */ T(E, {
119
+ return /* @__PURE__ */ T(D, {
119
120
  className: "min-h-screen space-y-6 bg-bg-canvas px-6 lg:px-8 py-6 vc-printable",
120
121
  children: [
121
122
  /* @__PURE__ */ w(r, { title: W("nav.analytics", "Analytics") }),
@@ -158,7 +159,7 @@ function j() {
158
159
  })]
159
160
  }),
160
161
  /* @__PURE__ */ w(m, {
161
- fallback: /* @__PURE__ */ w(k, {}),
162
+ fallback: /* @__PURE__ */ w(A, {}),
162
163
  children: /* @__PURE__ */ T("section", {
163
164
  id: `analytics-panel-${H}`,
164
165
  role: "tabpanel",
@@ -173,37 +174,37 @@ function j() {
173
174
  loading: Y,
174
175
  onCardClick: re
175
176
  }),
176
- /* @__PURE__ */ w(D, {
177
+ /* @__PURE__ */ w(O, {
177
178
  title: "Activity Over Time",
178
179
  datasets: [
179
180
  {
180
181
  label: "Sessions",
181
182
  data: Q?.sessions?.createdOverTime,
182
- color: A.primary
183
+ color: j.primary
183
184
  },
184
185
  {
185
186
  label: "Executions",
186
187
  data: Q?.actions?.executionsOverTime,
187
- color: A.success
188
+ color: j.success
188
189
  },
189
190
  {
190
191
  label: "AI Events",
191
192
  data: Q?.aiEvents?.eventsOverTime,
192
- color: A.accent
193
+ color: j.accent
193
194
  },
194
195
  {
195
196
  label: "Audit Logs",
196
197
  data: Q?.audit?.eventsOverTime,
197
- color: A.warning
198
+ color: j.warning
198
199
  }
199
200
  ]
200
201
  }),
201
202
  /* @__PURE__ */ T("div", {
202
203
  className: "grid grid-cols-1 gap-4 lg:grid-cols-2",
203
- children: [/* @__PURE__ */ w(O, {
204
+ children: [/* @__PURE__ */ w(k, {
204
205
  title: "Sessions by Status",
205
206
  data: Q?.sessions?.byStatus
206
- }), /* @__PURE__ */ w(O, {
207
+ }), /* @__PURE__ */ w(k, {
207
208
  title: "Vibes by Status",
208
209
  data: Q?.vibes?.byStatus
209
210
  })]
@@ -216,33 +217,33 @@ function j() {
216
217
  /* @__PURE__ */ T("div", {
217
218
  className: "grid grid-cols-2 gap-3 sm:grid-cols-4",
218
219
  children: [
219
- /* @__PURE__ */ w(M, {
220
+ /* @__PURE__ */ w(N, {
220
221
  label: "Total",
221
222
  value: Q.agents.total
222
223
  }),
223
- /* @__PURE__ */ w(M, {
224
+ /* @__PURE__ */ w(N, {
224
225
  label: "Active",
225
226
  value: Q.agents.active,
226
227
  variant: "success"
227
228
  }),
228
- /* @__PURE__ */ w(M, {
229
+ /* @__PURE__ */ w(N, {
229
230
  label: "Inactive",
230
231
  value: Q.agents.inactive,
231
232
  variant: "warning"
232
233
  }),
233
- /* @__PURE__ */ w(M, {
234
+ /* @__PURE__ */ w(N, {
234
235
  label: "Stale Heartbeat",
235
236
  value: Q.agents.staleHeartbeatCount,
236
237
  variant: "error"
237
238
  })
238
239
  ]
239
240
  }),
240
- /* @__PURE__ */ w(D, {
241
+ /* @__PURE__ */ w(O, {
241
242
  title: "Agents Created Over Time",
242
243
  datasets: [{
243
244
  label: "Agents",
244
245
  data: Q.agents.createdOverTime,
245
- color: A.primary
246
+ color: j.primary
246
247
  }],
247
248
  height: 250
248
249
  }),
@@ -266,20 +267,20 @@ function j() {
266
267
  /* @__PURE__ */ T("div", {
267
268
  className: "grid grid-cols-2 gap-3 sm:grid-cols-4",
268
269
  children: [
269
- /* @__PURE__ */ w(M, {
270
+ /* @__PURE__ */ w(N, {
270
271
  label: "Total",
271
272
  value: Q.sessions.total
272
273
  }),
273
- /* @__PURE__ */ w(M, {
274
+ /* @__PURE__ */ w(N, {
274
275
  label: "Running",
275
276
  value: Q.sessions.active,
276
277
  variant: "success"
277
278
  }),
278
- /* @__PURE__ */ w(M, {
279
+ /* @__PURE__ */ w(N, {
279
280
  label: "Collaborators",
280
281
  value: Q.sessions.totalCollaborators
281
282
  }),
282
- /* @__PURE__ */ w(M, {
283
+ /* @__PURE__ */ w(N, {
283
284
  label: "Shares",
284
285
  value: Q.sessions.totalShares + Q.sessions.totalShareLinks
285
286
  })
@@ -292,22 +293,22 @@ function j() {
292
293
  " ",
293
294
  /* @__PURE__ */ w("span", {
294
295
  className: "font-medium text-text-primary",
295
- children: N(Q.sessions.avgDurationMs)
296
+ children: P(Q.sessions.avgDurationMs)
296
297
  })
297
298
  ]
298
299
  }),
299
- /* @__PURE__ */ w(D, {
300
+ /* @__PURE__ */ w(O, {
300
301
  title: "Sessions Created Over Time",
301
302
  datasets: [{
302
303
  label: "Sessions",
303
304
  data: Q.sessions.createdOverTime,
304
- color: A.primary
305
+ color: j.primary
305
306
  }],
306
307
  height: 250
307
308
  }),
308
309
  /* @__PURE__ */ T("div", {
309
310
  className: "grid grid-cols-1 gap-4 lg:grid-cols-2",
310
- children: [/* @__PURE__ */ w(O, {
311
+ children: [/* @__PURE__ */ w(k, {
311
312
  title: "Sessions by Type",
312
313
  data: Q.sessions.byType
313
314
  }), /* @__PURE__ */ w(d, {
@@ -325,36 +326,36 @@ function j() {
325
326
  /* @__PURE__ */ T("div", {
326
327
  className: "grid grid-cols-2 gap-3 sm:grid-cols-4",
327
328
  children: [
328
- /* @__PURE__ */ w(M, {
329
+ /* @__PURE__ */ w(N, {
329
330
  label: "Total",
330
331
  value: Q.vibes.total
331
332
  }),
332
- /* @__PURE__ */ w(M, {
333
+ /* @__PURE__ */ w(N, {
333
334
  label: "With Agent",
334
335
  value: Q.vibes.withAgent,
335
336
  variant: "success"
336
337
  }),
337
- /* @__PURE__ */ w(M, {
338
+ /* @__PURE__ */ w(N, {
338
339
  label: "Without Agent",
339
340
  value: Q.vibes.withoutAgent
340
341
  })
341
342
  ]
342
343
  }),
343
- /* @__PURE__ */ w(D, {
344
+ /* @__PURE__ */ w(O, {
344
345
  title: "Vibes Created Over Time",
345
346
  datasets: [{
346
347
  label: "Vibes",
347
348
  data: Q.vibes.createdOverTime,
348
- color: A.accent
349
+ color: j.accent
349
350
  }],
350
351
  height: 250
351
352
  }),
352
353
  /* @__PURE__ */ T("div", {
353
354
  className: "grid grid-cols-1 gap-4 lg:grid-cols-2",
354
- children: [/* @__PURE__ */ w(O, {
355
+ children: [/* @__PURE__ */ w(k, {
355
356
  title: "Vibes by Type",
356
357
  data: Q.vibes.byType
357
- }), /* @__PURE__ */ w(O, {
358
+ }), /* @__PURE__ */ w(k, {
358
359
  title: "Vibes by Status",
359
360
  data: Q.vibes.byStatus
360
361
  })]
@@ -367,40 +368,40 @@ function j() {
367
368
  /* @__PURE__ */ T("div", {
368
369
  className: "grid grid-cols-2 gap-3 sm:grid-cols-4",
369
370
  children: [
370
- /* @__PURE__ */ w(M, {
371
+ /* @__PURE__ */ w(N, {
371
372
  label: "Total Actions",
372
373
  value: Q.actions.total
373
374
  }),
374
- /* @__PURE__ */ w(M, {
375
+ /* @__PURE__ */ w(N, {
375
376
  label: "Executions",
376
377
  value: Q.actions.totalExecutions
377
378
  }),
378
- /* @__PURE__ */ w(M, {
379
+ /* @__PURE__ */ w(N, {
379
380
  label: "Success Rate",
380
381
  value: Q.actions.successRate == null ? "N/A" : `${Q.actions.successRate.toFixed(1)}%`,
381
382
  variant: Q.actions.successRate != null && Q.actions.successRate >= 90 ? "success" : "warning"
382
383
  }),
383
- /* @__PURE__ */ w(M, {
384
+ /* @__PURE__ */ w(N, {
384
385
  label: "Avg Duration",
385
- value: Q.actions.avgDurationMs == null ? "N/A" : N(Q.actions.avgDurationMs)
386
+ value: Q.actions.avgDurationMs == null ? "N/A" : P(Q.actions.avgDurationMs)
386
387
  })
387
388
  ]
388
389
  }),
389
- /* @__PURE__ */ w(D, {
390
+ /* @__PURE__ */ w(O, {
390
391
  title: "Executions Over Time",
391
392
  datasets: [{
392
393
  label: "Executions",
393
394
  data: Q.actions.executionsOverTime,
394
- color: A.success
395
+ color: j.success
395
396
  }],
396
397
  height: 250
397
398
  }),
398
399
  /* @__PURE__ */ T("div", {
399
400
  className: "grid grid-cols-1 gap-4 lg:grid-cols-2",
400
- children: [/* @__PURE__ */ w(O, {
401
+ children: [/* @__PURE__ */ w(k, {
401
402
  title: "By Action Type",
402
403
  data: Q.actions.byActionType
403
- }), /* @__PURE__ */ w(O, {
404
+ }), /* @__PURE__ */ w(k, {
404
405
  title: "Execution Status",
405
406
  data: Q.actions.executionsByStatus
406
407
  })]
@@ -423,14 +424,14 @@ function j() {
423
424
  className: "space-y-4",
424
425
  children: [/* @__PURE__ */ T("div", {
425
426
  className: "grid grid-cols-2 gap-3 sm:grid-cols-3",
426
- children: [/* @__PURE__ */ w(M, {
427
+ children: [/* @__PURE__ */ w(N, {
427
428
  label: "Decks",
428
429
  value: Q.vibeDecks.totalDecks
429
- }), /* @__PURE__ */ w(M, {
430
+ }), /* @__PURE__ */ w(N, {
430
431
  label: "Buttons",
431
432
  value: Q.vibeDecks.totalButtons
432
433
  })]
433
- }), /* @__PURE__ */ w(O, {
434
+ }), /* @__PURE__ */ w(k, {
434
435
  title: "Buttons by Action Type",
435
436
  data: Q.vibeDecks.buttonsByActionType
436
437
  })]
@@ -438,22 +439,22 @@ function j() {
438
439
  H === "aievents" && Q?.aiEvents ? /* @__PURE__ */ T("div", {
439
440
  className: "space-y-4",
440
441
  children: [
441
- /* @__PURE__ */ w(M, {
442
+ /* @__PURE__ */ w(N, {
442
443
  label: "Total AI Events",
443
444
  value: Q.aiEvents.total
444
445
  }),
445
- /* @__PURE__ */ w(D, {
446
+ /* @__PURE__ */ w(O, {
446
447
  title: "AI Events Over Time",
447
448
  datasets: [{
448
449
  label: "Events",
449
450
  data: Q.aiEvents.eventsOverTime,
450
- color: A.accent
451
+ color: j.accent
451
452
  }],
452
453
  height: 250
453
454
  }),
454
455
  /* @__PURE__ */ T("div", {
455
456
  className: "grid grid-cols-1 gap-4 lg:grid-cols-2",
456
- children: [/* @__PURE__ */ w(O, {
457
+ children: [/* @__PURE__ */ w(k, {
457
458
  title: "By Source",
458
459
  data: Q.aiEvents.bySource
459
460
  }), /* @__PURE__ */ w(d, {
@@ -467,25 +468,25 @@ function j() {
467
468
  H === "audit" && Q?.audit ? /* @__PURE__ */ T("div", {
468
469
  className: "space-y-4",
469
470
  children: [
470
- /* @__PURE__ */ w(M, {
471
+ /* @__PURE__ */ w(N, {
471
472
  label: "Total Audit Logs",
472
473
  value: Q.audit.total
473
474
  }),
474
- /* @__PURE__ */ w(D, {
475
+ /* @__PURE__ */ w(O, {
475
476
  title: "Audit Events Over Time",
476
477
  datasets: [{
477
478
  label: "Events",
478
479
  data: Q.audit.eventsOverTime,
479
- color: A.warning
480
+ color: j.warning
480
481
  }],
481
482
  height: 250
482
483
  }),
483
484
  /* @__PURE__ */ T("div", {
484
485
  className: "grid grid-cols-1 gap-4 lg:grid-cols-2",
485
- children: [/* @__PURE__ */ w(O, {
486
+ children: [/* @__PURE__ */ w(k, {
486
487
  title: "By Action",
487
488
  data: Q.audit.byAction
488
- }), /* @__PURE__ */ w(O, {
489
+ }), /* @__PURE__ */ w(k, {
489
490
  title: "By Status",
490
491
  data: Q.audit.byStatus
491
492
  })]
@@ -502,19 +503,19 @@ function j() {
502
503
  children: [/* @__PURE__ */ T("div", {
503
504
  className: "grid grid-cols-2 gap-3 sm:grid-cols-4",
504
505
  children: [
505
- /* @__PURE__ */ w(M, {
506
+ /* @__PURE__ */ w(N, {
506
507
  label: "Sites",
507
508
  value: Q.docs.totalSites
508
509
  }),
509
- /* @__PURE__ */ w(M, {
510
+ /* @__PURE__ */ w(N, {
510
511
  label: "Pages",
511
512
  value: Q.docs.totalPages
512
513
  }),
513
- /* @__PURE__ */ w(M, {
514
+ /* @__PURE__ */ w(N, {
514
515
  label: "Revisions",
515
516
  value: Q.docs.totalRevisions
516
517
  }),
517
- /* @__PURE__ */ w(M, {
518
+ /* @__PURE__ */ w(N, {
518
519
  label: "Build Success",
519
520
  value: Q.docs.buildSuccessRate == null ? "N/A" : `${Q.docs.buildSuccessRate.toFixed(1)}%`,
520
521
  variant: Q.docs.buildSuccessRate != null && Q.docs.buildSuccessRate >= 90 ? "success" : "warning"
@@ -522,10 +523,10 @@ function j() {
522
523
  ]
523
524
  }), /* @__PURE__ */ T("div", {
524
525
  className: "grid grid-cols-1 gap-4 lg:grid-cols-2",
525
- children: [/* @__PURE__ */ w(O, {
526
+ children: [/* @__PURE__ */ w(k, {
526
527
  title: "Pages by Status",
527
528
  data: Q.docs.pagesByStatus
528
- }), /* @__PURE__ */ w(O, {
529
+ }), /* @__PURE__ */ w(k, {
529
530
  title: "Revisions by Status",
530
531
  data: Q.docs.revisionsByStatus
531
532
  })]
@@ -537,9 +538,10 @@ function j() {
537
538
  ]
538
539
  });
539
540
  }
540
- function M({ label: e, value: t, variant: n }) {
541
- return /* @__PURE__ */ T("div", {
542
- className: `${n === "success" ? "bg-status-success-bg-subtle border-status-success-border" : n === "warning" ? "bg-status-warning-bg-subtle border-status-warning-border" : n === "error" ? "bg-status-error-bg-subtle border-status-error-border" : "bg-bg-surface border-border-subtle"} rounded-card border p-4 shadow-elevation-1`,
541
+ function N({ label: e, value: t, variant: n }) {
542
+ return /* @__PURE__ */ T(E, {
543
+ treatment: n ? "plain" : "metric",
544
+ className: `p-4 ${n ? `border ${n === "success" ? "bg-status-success-bg-subtle border-status-success-border" : n === "warning" ? "bg-status-warning-bg-subtle border-status-warning-border" : n === "error" ? "bg-status-error-bg-subtle border-status-error-border" : ""}` : ""}`,
543
545
  children: [/* @__PURE__ */ w("p", {
544
546
  className: "text-xs text-text-secondary",
545
547
  children: e
@@ -549,16 +551,16 @@ function M({ label: e, value: t, variant: n }) {
549
551
  })]
550
552
  });
551
553
  }
552
- function N(e) {
554
+ function P(e) {
553
555
  return e < 1e3 ? `${Math.round(e)}ms` : e < 6e4 ? `${(e / 1e3).toFixed(1)}s` : `${Math.floor(e / 6e4)}m ${Math.round(e % 6e4 / 1e3)}s`;
554
556
  }
555
- function P(e) {
557
+ function F(e) {
556
558
  return e.map((e) => e.map((e) => {
557
559
  let t = e == null ? "" : String(e);
558
560
  return /[",\n\r]/.test(t) ? `"${t.replace(/"/g, "\"\"")}"` : t;
559
561
  }).join(",")).join("\r\n");
560
562
  }
561
- function F(e, t) {
563
+ function I(e, t) {
562
564
  let n = [];
563
565
  if (e === "overview") return n.push(["metric", "value"]), t.sessions && n.push(["sessions.total", t.sessions.total ?? 0]), t.agents && n.push(["agents.total", t.agents.total ?? 0]), t.vibes && n.push(["vibes.total", t.vibes.total ?? 0]), t.actions && n.push(["actions.total", t.actions.total ?? 0]), n;
564
566
  if (e === "agents" && t.agents) {
@@ -578,6 +580,6 @@ function F(e, t) {
578
580
  return e === "actions" && t.actions ? (n.push(["metric", "value"]), n.push(["total", t.actions.total ?? 0]), n.push(["totalExecutions", t.actions.totalExecutions ?? 0]), n.push(["successRate", t.actions.successRate ?? ""]), n.push(["avgDurationMs", t.actions.avgDurationMs ?? ""]), n) : e === "vibes" && t.vibes ? (n.push(["metric", "value"]), n.push(["total", t.vibes.total ?? 0]), n.push(["withAgent", t.vibes.withAgent ?? 0]), n.push(["withoutAgent", t.vibes.withoutAgent ?? 0]), n) : e === "vibedecks" && t.vibeDecks ? (n.push(["metric", "value"]), n.push(["decks", t.vibeDecks.totalDecks ?? 0]), n.push(["buttons", t.vibeDecks.totalButtons ?? 0]), n) : e === "aievents" && t.aiEvents ? (n.push(["metric", "value"]), n.push(["total", t.aiEvents.total ?? 0]), n) : e === "audit" && t.audit ? (n.push(["metric", "value"]), n.push(["total", t.audit.total ?? 0]), n) : e === "docs" && t.docs ? (n.push(["metric", "value"]), n.push(["sites", t.docs.totalSites ?? 0]), n.push(["pages", t.docs.totalPages ?? 0]), n.push(["revisions", t.docs.totalRevisions ?? 0]), n.push(["buildSuccessRate", t.docs.buildSuccessRate ?? ""]), n) : (n.push(["metric", "value"]), n.push(["note", `No CSV serialiser for ${e} tab yet`]), n);
579
581
  }
580
582
  //#endregion
581
- export { j as AnalyticsPage };
583
+ export { M as AnalyticsPage };
582
584
 
583
585
  //# sourceMappingURL=AnalyticsPage.js.map