@lunora/studio 1.0.0-alpha.34 → 1.0.0-alpha.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +5 -1
- package/dist/index.js +6 -6
- package/dist/mount.js +1 -1
- package/dist/packem_chunks/ApiTab.js +1 -1
- package/dist/packem_chunks/AuditPanel.js +1 -1
- package/dist/packem_chunks/ExportImportPanel.js +1 -1
- package/dist/packem_chunks/FileBrowser.js +1 -1
- package/dist/packem_chunks/FunctionRunner.js +1 -1
- package/dist/packem_chunks/FunctionStatsPanel.js +1 -1
- package/dist/packem_chunks/HealthPanel.js +1 -1
- package/dist/packem_chunks/InsightsPanel.js +1 -1
- package/dist/packem_chunks/LogsPanel.js +1 -1
- package/dist/packem_chunks/MailPanel.js +3 -91
- package/dist/packem_chunks/MetricsPanel.js +1 -1
- package/dist/packem_chunks/MigrationsPanel.js +1 -1
- package/dist/packem_chunks/PitrPanel.js +1 -1
- package/dist/packem_chunks/SchemaViewer.js +1 -1
- package/dist/packem_chunks/SecurityAdvisorPanel.js +1 -1
- package/dist/packem_chunks/SettingsPanel.js +1 -1
- package/dist/packem_chunks/SqlEditorPanel.js +1 -1
- package/dist/packem_chunks/TableEditor.js +1 -1
- package/dist/packem_chunks/containers-panel.js +1 -1
- package/dist/packem_chunks/dashboards-panel.js +1 -1
- package/dist/packem_chunks/fanout-panel.js +1 -1
- package/dist/packem_chunks/flags-panel.js +1 -1
- package/dist/packem_chunks/kv-browser.js +1 -1
- package/dist/packem_chunks/payments-panel.js +1 -1
- package/dist/packem_chunks/permissions-panel.js +1 -1
- package/dist/packem_chunks/queues-panel.js +975 -71
- package/dist/packem_chunks/rls-panel.js +1 -1
- package/dist/packem_chunks/storage-rules-panel.js +1 -1
- package/dist/packem_chunks/subscriptions-panel.js +1 -1
- package/dist/packem_chunks/workflows-panel.js +1 -1
- package/dist/packem_shared/{ADMIN_FUNCTIONS-CdaxLGkE.js → ADMIN_FUNCTIONS-BHHJi3Gb.js} +4 -0
- package/dist/packem_shared/{ApiDocsPanel-Cu6mD4u7.js → ApiDocsPanel-D4CJf2ad.js} +1 -1
- package/dist/packem_shared/{DataBrowser-DSNK1tPg.js → DataBrowser-BeVNxSVm.js} +1 -1
- package/dist/packem_shared/{HomePanel-DQk3P8xX.js → HomePanel-D9MQk8I7.js} +2 -2
- package/dist/packem_shared/{Studio-Biu37c3O.js → Studio-C48P1K5W.js} +2 -2
- package/dist/packem_shared/{StudioApp-D6a2ZmXS.js → StudioApp-Cqh-SYm2.js} +1 -1
- package/dist/packem_shared/{home-panel-Bo-Mgrkn.js → home-panel-CoGxi-oj.js} +1 -1
- package/dist/packem_shared/scroll-area-DLhcy-ml.js +93 -0
- package/dist/packem_shared/{studio-C4sgu0F7.js → studio-CPHA_-3I.js} +1 -1
- package/dist/standalone/{chunk-YM6BBZDN.js → chunk-46K3NKPA.js} +1 -1
- package/dist/standalone/{chunk-DFP2DADO.js → chunk-474C2O7W.js} +1 -1
- package/dist/standalone/{chunk-JIDZFLTB.js → chunk-6UGM5IHN.js} +1 -1
- package/dist/standalone/{chunk-T5HRXUSY.js → chunk-6WRZP62V.js} +1 -1
- package/dist/standalone/{chunk-EVPLBWUT.js → chunk-7WNJ4Q7Z.js} +1 -1
- package/dist/standalone/{chunk-PA3LN4XJ.js → chunk-BI35RXKQ.js} +1 -1
- package/dist/standalone/chunk-BOXSWNXZ.js +1 -0
- package/dist/standalone/{chunk-K4ZDRTQM.js → chunk-DVC6YWVP.js} +1 -1
- package/dist/standalone/{chunk-G2ICR3DL.js → chunk-DWTBY343.js} +1 -1
- package/dist/standalone/{chunk-KTK3V4DC.js → chunk-EIQW6ACH.js} +1 -1
- package/dist/standalone/chunk-EUIHTPKI.js +1 -0
- package/dist/standalone/{chunk-E6WUCLSI.js → chunk-ILCTSAOB.js} +1 -1
- package/dist/standalone/{chunk-GZDWDDXN.js → chunk-IODYGARQ.js} +1 -1
- package/dist/standalone/{chunk-XIGIWZLO.js → chunk-JE2YOAB7.js} +1 -1
- package/dist/standalone/{chunk-SGDQIWAR.js → chunk-JFSZIUZT.js} +1 -1
- package/dist/standalone/{chunk-QHIIRFG7.js → chunk-LD2R263D.js} +1 -1
- package/dist/standalone/{chunk-ISJAJWYI.js → chunk-M55U7NHO.js} +1 -1
- package/dist/standalone/{chunk-VEZO7G5Q.js → chunk-MPTM7ZU3.js} +1 -1
- package/dist/standalone/{chunk-5PQMXK24.js → chunk-NJFMWO6P.js} +1 -1
- package/dist/standalone/{chunk-BET2625I.js → chunk-OCHNCAXJ.js} +1 -1
- package/dist/standalone/{chunk-7M3F6U4L.js → chunk-PACH5AHG.js} +1 -1
- package/dist/standalone/chunk-QLM6FYZW.js +2 -0
- package/dist/standalone/{chunk-X72PYOEW.js → chunk-RRAFQ5G2.js} +1 -1
- package/dist/standalone/{chunk-SYEIXTEU.js → chunk-SLKF2L74.js} +1 -1
- package/dist/standalone/{chunk-DCECRP45.js → chunk-TO4JQX7W.js} +1 -1
- package/dist/standalone/{chunk-TM7CMA7X.js → chunk-VTGBPW24.js} +1 -1
- package/dist/standalone/{chunk-MFPTVCJ6.js → chunk-X6F22DBL.js} +1 -1
- package/dist/standalone/{chunk-E7WLF6IU.js → chunk-XGMIDFUK.js} +1 -1
- package/dist/standalone/{chunk-VYMCCC6O.js → chunk-XZE2RNDA.js} +1 -1
- package/dist/standalone/chunk-YAECF5LW.js +1 -0
- package/dist/standalone/{chunk-GJ6PGSES.js → chunk-YEVCU7TB.js} +1 -1
- package/dist/standalone/{chunk-TY7L2V4E.js → chunk-YV43BOP7.js} +1 -1
- package/dist/standalone/{chunk-4MLAVZP4.js → chunk-ZU4DZ6NK.js} +1 -1
- package/dist/standalone/studio.js +1 -1
- package/dist/styles.css +1 -1
- package/package.json +2 -2
- package/dist/standalone/chunk-AQGOX5DK.js +0 -1
- package/dist/standalone/chunk-GVRM4U6W.js +0 -2
- package/dist/standalone/chunk-UDSVXA42.js +0 -1
|
@@ -6,7 +6,7 @@ import { E as EmptyState } from '../packem_shared/empty-state-DY_oe0k6.js';
|
|
|
6
6
|
import { T as Table, a as TableHeader, b as TableRow, c as TableHead, d as TableBody, e as TableCell } from '../packem_shared/table-DsCa9Qp9.js';
|
|
7
7
|
import { u as useAdminQuery } from '../packem_shared/use-admin-query-BHPKmPuj.js';
|
|
8
8
|
import { useT } from '../packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js';
|
|
9
|
-
import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-
|
|
9
|
+
import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-BHHJi3Gb.js';
|
|
10
10
|
import { jsxDEV } from 'react/jsx-dev-runtime';
|
|
11
11
|
|
|
12
12
|
const OPERATIONS = ["read", "insert", "update", "delete"];
|
|
@@ -6,7 +6,7 @@ import { E as EmptyState } from '../packem_shared/empty-state-DY_oe0k6.js';
|
|
|
6
6
|
import { T as Table, a as TableHeader, b as TableRow, c as TableHead, d as TableBody, e as TableCell } from '../packem_shared/table-DsCa9Qp9.js';
|
|
7
7
|
import { u as useAdminQuery } from '../packem_shared/use-admin-query-BHPKmPuj.js';
|
|
8
8
|
import { useT } from '../packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js';
|
|
9
|
-
import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-
|
|
9
|
+
import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-BHHJi3Gb.js';
|
|
10
10
|
import { jsxDEV } from 'react/jsx-dev-runtime';
|
|
11
11
|
|
|
12
12
|
const operationLabel = (t, operation) => ({
|
|
@@ -10,7 +10,7 @@ import { u as useAdminQuery } from '../packem_shared/use-admin-query-BHPKmPuj.js
|
|
|
10
10
|
import { useAutoRefresh } from '../packem_shared/DEFAULT_AUTO_REFRESH_MS-Vxwaxx51.js';
|
|
11
11
|
import useDebounced from '../packem_shared/useDebounced-Dxncpg6z.js';
|
|
12
12
|
import { useT } from '../packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js';
|
|
13
|
-
import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-
|
|
13
|
+
import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-BHHJi3Gb.js';
|
|
14
14
|
import { jsxDEV } from 'react/jsx-dev-runtime';
|
|
15
15
|
|
|
16
16
|
const ARGS_MAX = 80;
|
|
@@ -8,7 +8,7 @@ import { T as Table, a as TableHeader, b as TableRow, c as TableHead, d as Table
|
|
|
8
8
|
import { T as Textarea } from '../packem_shared/textarea-D3gaCU_-.js';
|
|
9
9
|
import { u as useAdminQuery } from '../packem_shared/use-admin-query-BHPKmPuj.js';
|
|
10
10
|
import { useT } from '../packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js';
|
|
11
|
-
import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-
|
|
11
|
+
import { ADMIN_FUNCTIONS } from '../packem_shared/ADMIN_FUNCTIONS-BHHJi3Gb.js';
|
|
12
12
|
import { f as fireAndForget, e as errorMessage, c as callOptions, a as adminRef } from '../packem_shared/internal-DTsYVn-g.js';
|
|
13
13
|
import { jsxDEV } from 'react/jsx-dev-runtime';
|
|
14
14
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
const ADMIN_FUNCTION_PREFIX = "__lunora_admin__:";
|
|
2
2
|
const ADMIN_FUNCTIONS = {
|
|
3
3
|
clearCapturedMail: "__lunora_admin__:clearCapturedMail",
|
|
4
|
+
clearQueueMessages: "__lunora_admin__:clearQueueMessages",
|
|
4
5
|
clearTable: "__lunora_admin__:clearTable",
|
|
5
6
|
createWorkflowInstance: "__lunora_admin__:createWorkflowInstance",
|
|
6
7
|
deleteRows: "__lunora_admin__:deleteRows",
|
|
@@ -22,6 +23,7 @@ const ADMIN_FUNCTIONS = {
|
|
|
22
23
|
getLogs: "__lunora_admin__:getLogs",
|
|
23
24
|
getMetrics: "__lunora_admin__:getMetrics",
|
|
24
25
|
getPitrBookmark: "__lunora_admin__:getPitrBookmark",
|
|
26
|
+
getQueueMessages: "__lunora_admin__:getQueueMessages",
|
|
25
27
|
getRequestLog: "__lunora_admin__:getRequestLog",
|
|
26
28
|
getSecurityAudit: "__lunora_admin__:getSecurityAudit",
|
|
27
29
|
getSettings: "__lunora_admin__:getSettings",
|
|
@@ -33,10 +35,12 @@ const ADMIN_FUNCTIONS = {
|
|
|
33
35
|
migrationStatus: "__lunora_admin__:migrationStatus",
|
|
34
36
|
pitrRestore: "__lunora_admin__:pitrRestore",
|
|
35
37
|
readTablePage: "__lunora_admin__:readTablePage",
|
|
38
|
+
replayQueueMessage: "__lunora_admin__:replayQueueMessage",
|
|
36
39
|
rlsPolicies: "__lunora_admin__:rlsPolicies",
|
|
37
40
|
runAs: "__lunora_admin__:runAs",
|
|
38
41
|
runMigration: "__lunora_admin__:runMigration",
|
|
39
42
|
runSql: "__lunora_admin__:runSql",
|
|
43
|
+
sendQueueMessage: "__lunora_admin__:sendQueueMessage",
|
|
40
44
|
sendTestMail: "__lunora_admin__:sendTestMail",
|
|
41
45
|
storageOrphans: "__lunora_admin__:storageOrphans",
|
|
42
46
|
storageReferences: "__lunora_admin__:storageReferences",
|
|
@@ -4,7 +4,7 @@ import { useState, useEffect } from 'react';
|
|
|
4
4
|
import { B as Button } from './button-BhsN2uZH.js';
|
|
5
5
|
import { E as EmptyState } from './empty-state-DY_oe0k6.js';
|
|
6
6
|
import { useT } from './DEFAULT_LOCALE-CiX4W7Kr.js';
|
|
7
|
-
import { ADMIN_FUNCTIONS } from './ADMIN_FUNCTIONS-
|
|
7
|
+
import { ADMIN_FUNCTIONS } from './ADMIN_FUNCTIONS-BHHJi3Gb.js';
|
|
8
8
|
import { c as callOptions, a as adminRef, g as copyToClipboard } from './internal-DTsYVn-g.js';
|
|
9
9
|
import { jsxDEV } from 'react/jsx-dev-runtime';
|
|
10
10
|
|
|
@@ -5,7 +5,7 @@ import { ConfirmButton } from './ConfirmButton-C2eVi2Qv.js';
|
|
|
5
5
|
import { ShardInput } from './ShardInput-gx_DZXXn.js';
|
|
6
6
|
import { E as EmptyState } from './empty-state-DY_oe0k6.js';
|
|
7
7
|
import { useT } from './DEFAULT_LOCALE-CiX4W7Kr.js';
|
|
8
|
-
import { ADMIN_FUNCTIONS } from './ADMIN_FUNCTIONS-
|
|
8
|
+
import { ADMIN_FUNCTIONS } from './ADMIN_FUNCTIONS-BHHJi3Gb.js';
|
|
9
9
|
import { h as formatCell, f as fireAndForget, c as callOptions, a as adminRef, i as formatTimestamp } from './internal-DTsYVn-g.js';
|
|
10
10
|
import { useReactTable, getSortedRowModel, getCoreRowModel, flexRender } from '@tanstack/react-table';
|
|
11
11
|
import { useVirtualizer } from '@tanstack/react-virtual';
|
|
@@ -6,9 +6,9 @@ import './card-DURq3ElK.js';
|
|
|
6
6
|
import './empty-state-DY_oe0k6.js';
|
|
7
7
|
import './use-admin-query-BHPKmPuj.js';
|
|
8
8
|
import './DEFAULT_LOCALE-CiX4W7Kr.js';
|
|
9
|
-
import './ADMIN_FUNCTIONS-
|
|
9
|
+
import './ADMIN_FUNCTIONS-BHHJi3Gb.js';
|
|
10
10
|
import './internal-DTsYVn-g.js';
|
|
11
11
|
import './utils-B05Dmz_H.js';
|
|
12
12
|
import './DEFAULT_INSIGHT_THRESHOLDS-DjF0h-gA.js';
|
|
13
|
-
export { H as HomePanel } from './home-panel-
|
|
13
|
+
export { H as HomePanel } from './home-panel-CoGxi-oj.js';
|
|
14
14
|
import 'react/jsx-dev-runtime';
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import 'react/compiler-runtime';
|
|
2
2
|
import '@tanstack/react-router';
|
|
3
3
|
import 'react';
|
|
4
|
-
export { S as Studio } from './studio-
|
|
4
|
+
export { S as Studio } from './studio-CPHA_-3I.js';
|
|
5
5
|
import './ErrorBoundary-BzAApI7J.js';
|
|
6
6
|
import './badge-B2PKA1-5.js';
|
|
7
7
|
import './input-XH4r1Pt1.js';
|
|
8
8
|
import './skeleton-CGhL0p20.js';
|
|
9
|
-
import './home-panel-
|
|
9
|
+
import './home-panel-CoGxi-oj.js';
|
|
10
10
|
import './DEFAULT_LOCALE-CiX4W7Kr.js';
|
|
11
11
|
import './StudioI18nProvider-B-tDCZIi.js';
|
|
12
12
|
import './data-view-params-Cd6yRVbv.js';
|
|
@@ -3,7 +3,7 @@ import { LunoraClient } from '@lunora/client';
|
|
|
3
3
|
import { LunoraProvider } from '@lunora/react';
|
|
4
4
|
import { useState, useEffect } from 'react';
|
|
5
5
|
import { ErrorBoundary } from './ErrorBoundary-BzAApI7J.js';
|
|
6
|
-
import { u as useTheme, B as BrandMark, T as ThemeProvider, a as TooltipProvider, S as Studio } from './studio-
|
|
6
|
+
import { u as useTheme, B as BrandMark, T as ThemeProvider, a as TooltipProvider, S as Studio } from './studio-CPHA_-3I.js';
|
|
7
7
|
import useDebounced from './useDebounced-Dxncpg6z.js';
|
|
8
8
|
import { useT, createStudioI18n } from './DEFAULT_LOCALE-CiX4W7Kr.js';
|
|
9
9
|
import { StudioI18nProvider } from './StudioI18nProvider-B-tDCZIi.js';
|
|
@@ -6,7 +6,7 @@ import { a as CardContent, C as Card } from './card-DURq3ElK.js';
|
|
|
6
6
|
import { E as EmptyState } from './empty-state-DY_oe0k6.js';
|
|
7
7
|
import { u as useAdminQuery } from './use-admin-query-BHPKmPuj.js';
|
|
8
8
|
import { useT } from './DEFAULT_LOCALE-CiX4W7Kr.js';
|
|
9
|
-
import { ADMIN_FUNCTIONS } from './ADMIN_FUNCTIONS-
|
|
9
|
+
import { ADMIN_FUNCTIONS } from './ADMIN_FUNCTIONS-BHHJi3Gb.js';
|
|
10
10
|
import { f as fireAndForget, c as callOptions, a as adminRef, j as formatBytes } from './internal-DTsYVn-g.js';
|
|
11
11
|
import { c as cn } from './utils-B05Dmz_H.js';
|
|
12
12
|
import { deriveInsights } from './DEFAULT_INSIGHT_THRESHOLDS-DjF0h-gA.js';
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { c } from 'react/compiler-runtime';
|
|
3
|
+
import { ScrollArea as ScrollArea$1 } from '@base-ui/react/scroll-area';
|
|
4
|
+
import { c as cn } from './utils-B05Dmz_H.js';
|
|
5
|
+
import { jsxDEV } from 'react/jsx-dev-runtime';
|
|
6
|
+
|
|
7
|
+
function ScrollArea(t0) {
|
|
8
|
+
const $ = c(14);
|
|
9
|
+
let children;
|
|
10
|
+
let className;
|
|
11
|
+
let props;
|
|
12
|
+
if ($[0] !== t0) {
|
|
13
|
+
({
|
|
14
|
+
className,
|
|
15
|
+
children,
|
|
16
|
+
...props
|
|
17
|
+
} = t0);
|
|
18
|
+
$[0] = t0;
|
|
19
|
+
$[1] = children;
|
|
20
|
+
$[2] = className;
|
|
21
|
+
$[3] = props;
|
|
22
|
+
} else {
|
|
23
|
+
children = $[1];
|
|
24
|
+
className = $[2];
|
|
25
|
+
props = $[3];
|
|
26
|
+
}
|
|
27
|
+
let t1;
|
|
28
|
+
if ($[4] !== className) {
|
|
29
|
+
t1 = cn("relative", className);
|
|
30
|
+
$[4] = className;
|
|
31
|
+
$[5] = t1;
|
|
32
|
+
} else {
|
|
33
|
+
t1 = $[5];
|
|
34
|
+
}
|
|
35
|
+
let t2;
|
|
36
|
+
if ($[6] !== children) {
|
|
37
|
+
t2 = /* @__PURE__ */ jsxDEV(ScrollArea$1.Viewport, {
|
|
38
|
+
"data-slot": "scroll-area-viewport",
|
|
39
|
+
className: "size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1",
|
|
40
|
+
children
|
|
41
|
+
}, void 0, false);
|
|
42
|
+
$[6] = children;
|
|
43
|
+
$[7] = t2;
|
|
44
|
+
} else {
|
|
45
|
+
t2 = $[7];
|
|
46
|
+
}
|
|
47
|
+
let t3;
|
|
48
|
+
let t4;
|
|
49
|
+
if ($[8] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
|
|
50
|
+
t3 = /* @__PURE__ */ jsxDEV(ScrollBar, {}, void 0, false);
|
|
51
|
+
t4 = /* @__PURE__ */ jsxDEV(ScrollArea$1.Corner, {}, void 0, false);
|
|
52
|
+
$[8] = t3;
|
|
53
|
+
$[9] = t4;
|
|
54
|
+
} else {
|
|
55
|
+
t3 = $[8];
|
|
56
|
+
t4 = $[9];
|
|
57
|
+
}
|
|
58
|
+
let t5;
|
|
59
|
+
if ($[10] !== props || $[11] !== t1 || $[12] !== t2) {
|
|
60
|
+
t5 = /* @__PURE__ */ jsxDEV(ScrollArea$1.Root, {
|
|
61
|
+
"data-slot": "scroll-area",
|
|
62
|
+
className: t1,
|
|
63
|
+
...props,
|
|
64
|
+
children: [t2, t3, t4]
|
|
65
|
+
}, void 0, true);
|
|
66
|
+
$[10] = props;
|
|
67
|
+
$[11] = t1;
|
|
68
|
+
$[12] = t2;
|
|
69
|
+
$[13] = t5;
|
|
70
|
+
} else {
|
|
71
|
+
t5 = $[13];
|
|
72
|
+
}
|
|
73
|
+
return t5;
|
|
74
|
+
}
|
|
75
|
+
function ScrollBar({
|
|
76
|
+
className,
|
|
77
|
+
orientation = "vertical",
|
|
78
|
+
...props
|
|
79
|
+
}) {
|
|
80
|
+
return /* @__PURE__ */ jsxDEV(ScrollArea$1.Scrollbar, {
|
|
81
|
+
"data-slot": "scroll-area-scrollbar",
|
|
82
|
+
"data-orientation": orientation,
|
|
83
|
+
orientation,
|
|
84
|
+
className: cn("flex touch-none p-px transition-colors select-none data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-s data-vertical:border-s-transparent", className),
|
|
85
|
+
...props,
|
|
86
|
+
children: /* @__PURE__ */ jsxDEV(ScrollArea$1.Thumb, {
|
|
87
|
+
"data-slot": "scroll-area-thumb",
|
|
88
|
+
className: "relative flex-1 rounded-md bg-border"
|
|
89
|
+
}, void 0, false)
|
|
90
|
+
}, void 0, false);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export { ScrollArea as S };
|
|
@@ -21,7 +21,7 @@ import { B as Button } from './button-BhsN2uZH.js';
|
|
|
21
21
|
import { Dialog } from '@base-ui/react/dialog';
|
|
22
22
|
import { Tooltip as Tooltip$1 } from '@base-ui/react/tooltip';
|
|
23
23
|
import { S as Skeleton } from './skeleton-CGhL0p20.js';
|
|
24
|
-
import { u as useStudioFeatures, H as HomePanel } from './home-panel-
|
|
24
|
+
import { u as useStudioFeatures, H as HomePanel } from './home-panel-CoGxi-oj.js';
|
|
25
25
|
import { StudioI18nProvider } from './StudioI18nProvider-B-tDCZIi.js';
|
|
26
26
|
import { v as validateDataViewSearch } from './data-view-params-Cd6yRVbv.js';
|
|
27
27
|
import { f as fireAndForget } from './internal-DTsYVn-g.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as V}from"./chunk-J6J54MBP.js";import{a as L}from"./chunk-2K47A3P6.js";import{a as W}from"./chunk-AJIUI7DD.js";import"./chunk-XNJNSCLM.js";import{a as O,b as Q,c as U,d as K,e as R,f as D}from"./chunk-GTM65MVX.js";import{a as j}from"./chunk-K3GNLVYK.js";import"./chunk-TBMYIZIO.js";import"./chunk-3CJW6NWG.js";import"./chunk-O3NAGRTR.js";import"./chunk-HV7G6DFP.js";import{a as H}from"./chunk-
|
|
1
|
+
import{a as V}from"./chunk-J6J54MBP.js";import{a as L}from"./chunk-2K47A3P6.js";import{a as W}from"./chunk-AJIUI7DD.js";import"./chunk-XNJNSCLM.js";import{a as O,b as Q,c as U,d as K,e as R,f as D}from"./chunk-GTM65MVX.js";import{a as j}from"./chunk-K3GNLVYK.js";import"./chunk-TBMYIZIO.js";import"./chunk-3CJW6NWG.js";import"./chunk-O3NAGRTR.js";import"./chunk-HV7G6DFP.js";import{a as H}from"./chunk-BOXSWNXZ.js";import{a as B}from"./chunk-TAD43CG5.js";import{b as _}from"./chunk-DVKPRFIJ.js";import{a as E}from"./chunk-SEU5V7I6.js";import{b as w}from"./chunk-ZPP2KOR4.js";import"./chunk-CKSHCYGC.js";import"./chunk-X7MMBSNW.js";import"./chunk-ZHVTQ37P.js";import"./chunk-3OA7PECS.js";import{d as A}from"./chunk-PVZI3CXP.js";import"./chunk-GMSGZDDH.js";import{a as C,e as F,f as J,g as X,h as Y}from"./chunk-RRCPZMC2.js";var P=F(X(),1),G=F(J(),1);var t=F(Y(),1);var q=C(r=>`${r.toString()} ms`,"formatMs"),Z=C(r=>r.totalConnections===0&&r.shapePoke.passes===0&&r.whisper.passes===0,"isFanoutIdle"),$=C(r=>{let e=(0,P.c)(8),{label:o,testId:s,value:i}=r,l;e[0]!==o?(l=(0,t.jsxDEV)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:o},void 0,!1),e[0]=o,e[1]=l):l=e[1];let d;e[2]!==s||e[3]!==i?(d=(0,t.jsxDEV)("span",{className:"truncate text-2xl font-semibold tabular-nums text-foreground","data-testid":s,children:i},void 0,!1),e[2]=s,e[3]=i,e[4]=d):d=e[4];let v;return e[5]!==l||e[6]!==d?(v=(0,t.jsxDEV)(E,{className:"gap-0 py-0",children:(0,t.jsxDEV)("div",{className:"flex flex-col gap-2.5 p-4",children:[l,d]},void 0,!0)},void 0,!1),e[5]=l,e[6]=d,e[7]=v):v=e[7],v},"StatCard"),z=C(r=>{let e=(0,P.c)(48),{counters:o,includeTiming:s,prefix:i,t:l,title:d}=r,v=`${i}-section`,h;e[0]!==d?(h=(0,t.jsxDEV)("h3",{className:"text-sm font-medium text-foreground",children:d},void 0,!1),e[0]=d,e[1]=h):h=e[1];let k=`${i}-stats`,a;e[2]!==l?(a=l("Passes"),e[2]=l,e[3]=a):a=e[3];let n=`${i}-passes`,g;e[4]!==o.passes||e[5]!==a||e[6]!==n?(g=(0,t.jsxDEV)($,{label:a,testId:n,value:o.passes},void 0,!1),e[4]=o.passes,e[5]=a,e[6]=n,e[7]=g):g=e[7];let N;e[8]!==l?(N=l("Sockets iterated"),e[8]=l,e[9]=N):N=e[9];let I=`${i}-iterated`,c;e[10]!==o.socketsIterated||e[11]!==N||e[12]!==I?(c=(0,t.jsxDEV)($,{label:N,testId:I,value:o.socketsIterated},void 0,!1),e[10]=o.socketsIterated,e[11]=N,e[12]=I,e[13]=c):c=e[13];let f;e[14]!==l?(f=l("Delivered"),e[14]=l,e[15]=f):f=e[15];let y=`${i}-delivered`,u;e[16]!==o.socketsDelivered||e[17]!==f||e[18]!==y?(u=(0,t.jsxDEV)($,{label:f,testId:y,value:o.socketsDelivered},void 0,!1),e[16]=o.socketsDelivered,e[17]=f,e[18]=y,e[19]=u):u=e[19];let m;e[20]!==l?(m=l("Peak width"),e[20]=l,e[21]=m):m=e[21];let b=`${i}-peak`,p;e[22]!==o.peakSocketsIterated||e[23]!==m||e[24]!==b?(p=(0,t.jsxDEV)($,{label:m,testId:b,value:o.peakSocketsIterated},void 0,!1),e[22]=o.peakSocketsIterated,e[23]=m,e[24]=b,e[25]=p):p=e[25];let x;e[26]!==o.totalMs||e[27]!==s||e[28]!==i||e[29]!==l?(x=s&&(0,t.jsxDEV)($,{label:l("Total time"),testId:`${i}-total-ms`,value:q(o.totalMs)},void 0,!1),e[26]=o.totalMs,e[27]=s,e[28]=i,e[29]=l,e[30]=x):x=e[30];let S;e[31]!==o.maxMs||e[32]!==s||e[33]!==i||e[34]!==l?(S=s&&(0,t.jsxDEV)($,{label:l("Max time"),testId:`${i}-max-ms`,value:q(o.maxMs)},void 0,!1),e[31]=o.maxMs,e[32]=s,e[33]=i,e[34]=l,e[35]=S):S=e[35];let T;e[36]!==u||e[37]!==p||e[38]!==x||e[39]!==S||e[40]!==k||e[41]!==g||e[42]!==c?(T=(0,t.jsxDEV)("dl",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3","data-testid":k,children:[g,c,u,p,x,S]},void 0,!0),e[36]=u,e[37]=p,e[38]=x,e[39]=S,e[40]=k,e[41]=g,e[42]=c,e[43]=T):T=e[43];let M;return e[44]!==v||e[45]!==T||e[46]!==h?(M=(0,t.jsxDEV)("section",{className:"flex flex-col gap-2","data-testid":v,children:[h,T]},void 0,!0),e[44]=v,e[45]=T,e[46]=h,e[47]=M):M=e[47],M},"PathCounters"),ue=C(r=>{let e=(0,P.c)(32),{initialShardKey:o}=r,s=A(),[i,l]=(0,G.useState)(o??""),d;e[0]!==i?(d=i.trim(),e[0]=i,e[1]=d):d=e[1];let v=L(d,400),h;e[2]===Symbol.for("react.memo_cache_sentinel")?(h={},e[2]=h):h=e[2];let k;e[3]!==v?(k={keepPreviousData:!0,shardKey:v},e[3]=v,e[4]=k):k=e[4];let{data:a,error:n,errorSource:g,refetch:N}=_(H.getFanoutMetrics,h,k);V(N,!0);let I;e[5]!==a?(I=a!==void 0&&Z(a),e[5]=a,e[6]=I):I=e[6];let c=I,f;e[7]!==i?(f=(0,t.jsxDEV)(j,{onChange:l,testId:"fanout-shard-input",value:i},void 0,!1),e[7]=i,e[8]=f):f=e[8];let y;e[9]!==a||e[10]!==s?(y=a!==void 0&&(0,t.jsxDEV)("div",{className:"ml-auto flex items-center gap-2 text-sm text-muted-foreground","data-testid":"fanout-count",children:[a.promoted&&(0,t.jsxDEV)(w,{"data-testid":"fanout-promoted",variant:a.relayCount>=a.maxRelays?"destructive":"default",children:a.relayCount>=a.maxRelays?s("auto-scaled: {relayCount}/{maxRelays} relays (at ceiling)",{maxRelays:a.maxRelays,relayCount:a.relayCount}):s("auto-scaled: {relayCount}/{maxRelays} relays",{maxRelays:a.maxRelays,relayCount:a.relayCount})},void 0,!1),(0,t.jsxDEV)(w,{variant:"secondary",children:s("{count} connections",{count:a.totalConnections})},void 0,!1),(0,t.jsxDEV)(w,{variant:"secondary",children:s("peak {count} subscribers",{count:a.peakSubscribers})},void 0,!1)]},void 0,!0),e[9]=a,e[10]=s,e[11]=y):y=e[11];let u;e[12]!==f||e[13]!==y?(u=(0,t.jsxDEV)("div",{className:"flex flex-wrap items-center gap-2",children:[f,y]},void 0,!0),e[12]=f,e[13]=y,e[14]=u):u=e[14];let m;e[15]!==n||e[16]!==g?(m=n!==null&&(0,t.jsxDEV)(W,{error:g,testId:"fanout-error"},void 0,!1),e[15]=n,e[16]=g,e[17]=m):m=e[17];let b;e[18]!==n||e[19]!==c||e[20]!==s?(b=n===null&&c&&(0,t.jsxDEV)(B,{description:s("Realtime fan-out cost and per-topic subscriber counts for this shard."),icon:(0,t.jsxDEV)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,t.jsxDEV)("path",{d:"M4 12h4l3 7 4-14 3 7h2"},void 0,!1)},void 0,!1),testId:"fanout-empty",title:s("No fan-out activity yet.")},void 0,!1),e[18]=n,e[19]=c,e[20]=s,e[21]=b):b=e[21];let p;e[22]!==n||e[23]!==c||e[24]!==a||e[25]!==s?(p=n===null&&a!==void 0&&!c&&(0,t.jsxDEV)(t.Fragment,{children:[a.topics.length>0&&(0,t.jsxDEV)("section",{className:"flex flex-col gap-2","data-testid":"fanout-topics-section",children:[(0,t.jsxDEV)("h3",{className:"text-sm font-medium text-foreground",children:s("Hot topics")},void 0,!1),(0,t.jsxDEV)(E,{className:"overflow-hidden py-0",children:(0,t.jsxDEV)(O,{"data-testid":"fanout-topics-table",children:[(0,t.jsxDEV)(Q,{children:(0,t.jsxDEV)(K,{children:[(0,t.jsxDEV)(R,{children:s("Topic")},void 0,!1),(0,t.jsxDEV)(R,{children:s("Kind")},void 0,!1),(0,t.jsxDEV)(R,{className:"text-right",children:s("Subscribers")},void 0,!1)]},void 0,!0)},void 0,!1),(0,t.jsxDEV)(U,{children:a.topics.map(ee)},void 0,!1)]},void 0,!0)},void 0,!1)]},void 0,!0),(0,t.jsxDEV)("section",{className:"flex flex-col gap-3","data-testid":"fanout-cost",children:[(0,t.jsxDEV)("h2",{className:"text-sm font-medium text-muted-foreground",children:s("Fan-out cost since this instance woke")},void 0,!1),(0,t.jsxDEV)(z,{counters:a.shapePoke,includeTiming:!0,prefix:"fanout-poke",t:s,title:s("Shape pokes")},void 0,!1),(0,t.jsxDEV)(z,{counters:a.whisper,includeTiming:!1,prefix:"fanout-whisper",t:s,title:s("Whisper broadcasts")},void 0,!1)]},void 0,!0)]},void 0,!0),e[22]=n,e[23]=c,e[24]=a,e[25]=s,e[26]=p):p=e[26];let x;return e[27]!==p||e[28]!==u||e[29]!==m||e[30]!==b?(x=(0,t.jsxDEV)("div",{className:"flex flex-col gap-4","data-testid":"fanout-panel",children:[u,m,b,p]},void 0,!0),e[27]=p,e[28]=u,e[29]=m,e[30]=b,e[31]=x):x=e[31],x},"FanoutPanel");function ee(r){return(0,t.jsxDEV)(K,{"data-testid":"fanout-topic-row",children:[(0,t.jsxDEV)(D,{className:"font-mono text-xs",children:r.topic},void 0,!1),(0,t.jsxDEV)(D,{children:(0,t.jsxDEV)(w,{variant:"outline",children:r.kind},void 0,!1)},void 0,!1),(0,t.jsxDEV)(D,{className:"text-right font-medium tabular-nums",children:r.subscribers},void 0,!1)]},`${r.kind}:${r.topic}`,!0)}C(ee,"_temp");export{ue as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as k,b as j}from"./chunk-FKO3HO6I.js";import{a as D}from"./chunk-WXPWVBIY.js";import{a as O}from"./chunk-2K47A3P6.js";import{a as V}from"./chunk-AJIUI7DD.js";import"./chunk-XNJNSCLM.js";import{a as _,b as z,c as B,d as f,e as l,f as n}from"./chunk-GTM65MVX.js";import{a as M}from"./chunk-K3GNLVYK.js";import"./chunk-TBMYIZIO.js";import{R as L}from"./chunk-3CJW6NWG.js";import"./chunk-O3NAGRTR.js";import"./chunk-HV7G6DFP.js";import{a as H}from"./chunk-
|
|
1
|
+
import{a as k,b as j}from"./chunk-FKO3HO6I.js";import{a as D}from"./chunk-WXPWVBIY.js";import{a as O}from"./chunk-2K47A3P6.js";import{a as V}from"./chunk-AJIUI7DD.js";import"./chunk-XNJNSCLM.js";import{a as _,b as z,c as B,d as f,e as l,f as n}from"./chunk-GTM65MVX.js";import{a as M}from"./chunk-K3GNLVYK.js";import"./chunk-TBMYIZIO.js";import{R as L}from"./chunk-3CJW6NWG.js";import"./chunk-O3NAGRTR.js";import"./chunk-HV7G6DFP.js";import{a as H}from"./chunk-BOXSWNXZ.js";import{a as I}from"./chunk-TAD43CG5.js";import{b as A}from"./chunk-DVKPRFIJ.js";import{a as y,e as E}from"./chunk-SEU5V7I6.js";import{b as T}from"./chunk-ZPP2KOR4.js";import"./chunk-CKSHCYGC.js";import"./chunk-X7MMBSNW.js";import"./chunk-ZHVTQ37P.js";import"./chunk-3OA7PECS.js";import{d as C,n as R}from"./chunk-PVZI3CXP.js";import"./chunk-GMSGZDDH.js";import{a as i,e as w,f as ee,h as te}from"./chunk-RRCPZMC2.js";var o=w(ee(),1);var e=w(te(),1);var K=80,ae=i(s=>{if(s===void 0)return"";let t=JSON.stringify(s);return t.length>K?`${t.slice(0,K)}\u2026`:t},"formatDetail"),re=41,F=480,U=5,oe=i((s,t)=>k(s,d=>{t(d.height>0?d:{height:F,width:d.width})}),"observeViewportRect"),Se=i(({initialShardKey:s})=>{let t=C(),[d,G]=(0,o.useState)(s??""),[m,W]=(0,o.useState)(""),q=O(d.trim(),400),{data:v,error:p,errorSource:J,isLoading:P,liveError:Q}=A(H.getAuditLog,{},{live:!0,shardKey:q}),u=(0,o.useMemo)(()=>v?.entries??[],[v]),c=(0,o.useMemo)(()=>{let r=m.trim().toLowerCase();return r===""?u:u.filter(a=>a.op.toLowerCase().includes(r)||(a.table??"").toLowerCase().includes(r)||(a.id??"").toLowerCase().includes(r))},[u,m]),g=(0,o.useRef)(null),x=j({count:c.length,estimateSize:i(()=>re,"estimateSize"),getScrollElement:i(()=>g.current,"getScrollElement"),initialRect:{height:F,width:800},observeElementRect:oe,overscan:8}),h=x.getVirtualItems(),X=x.getTotalSize(),S=h[0]?.start??0,b=X-(h.at(-1)?.end??0),Z={height:S},$={height:b},Y=i(r=>{W(r.target.value)},"onSearchChange");return(0,e.jsxDEV)("div",{className:"flex flex-col gap-4","data-testid":"lunora-audit",children:[(0,e.jsxDEV)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,e.jsxDEV)(M,{onChange:G,testId:"au-shard-input",value:d},void 0,!1),(0,e.jsxDEV)(D,{message:Q,prefix:"au"},void 0,!1),(0,e.jsxDEV)(L,{"aria-label":t("Filter audit log"),className:"h-8 w-48","data-testid":"au-search",onChange:Y,placeholder:t("filter op, table, id"),value:m},void 0,!1)]},void 0,!0),p!==null&&(0,e.jsxDEV)(V,{error:J,testId:"au-error"},void 0,!1),p===null&&!P&&c.length===0&&(0,e.jsxDEV)(I,{description:t("State-changing admin operations are recorded here."),icon:(0,e.jsxDEV)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,e.jsxDEV)("path",{d:"M8 3H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2h-2M9 3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V3Zm-1 9h8m-8 4h5"},void 0,!1)},void 0,!1),testId:"au-empty",title:t("No audit entries.")},void 0,!1),c.length>0&&(0,e.jsxDEV)(y,{className:"overflow-hidden py-0",children:(0,e.jsxDEV)(E,{className:"max-h-[30rem] overflow-auto px-0",ref:g,children:(0,e.jsxDEV)(_,{"data-testid":"au-table",children:[(0,e.jsxDEV)(z,{children:(0,e.jsxDEV)(f,{children:[(0,e.jsxDEV)(l,{children:t("time")},void 0,!1),(0,e.jsxDEV)(l,{children:t("op")},void 0,!1),(0,e.jsxDEV)(l,{children:t("table")},void 0,!1),(0,e.jsxDEV)(l,{children:t("id")},void 0,!1),(0,e.jsxDEV)(l,{children:t("detail")},void 0,!1)]},void 0,!0)},void 0,!1),(0,e.jsxDEV)(B,{children:[S>0&&(0,e.jsxDEV)("tr",{"aria-hidden":"true",children:(0,e.jsxDEV)("td",{colSpan:U,style:Z},void 0,!1)},void 0,!1),h.map(r=>{let a=c[r.index],N=ae(a.detail);return(0,e.jsxDEV)(f,{"data-testid":"au-row",children:[(0,e.jsxDEV)(n,{className:"text-muted-foreground tabular-nums",children:R(a.ts,"\u2014")},void 0,!1),(0,e.jsxDEV)(n,{children:(0,e.jsxDEV)(T,{variant:"secondary",children:a.op},void 0,!1)},void 0,!1),(0,e.jsxDEV)(n,{className:"font-medium",children:a.table??(0,e.jsxDEV)("span",{className:"text-muted-foreground",children:"\u2014"},void 0,!1)},void 0,!1),(0,e.jsxDEV)(n,{className:"max-w-[20ch] truncate font-mono text-xs",children:a.id??(0,e.jsxDEV)("span",{className:"text-muted-foreground",children:"\u2014"},void 0,!1)},void 0,!1),(0,e.jsxDEV)(n,{className:"max-w-[32ch] truncate font-mono text-xs text-muted-foreground",title:N||void 0,children:N||(0,e.jsxDEV)("span",{className:"text-muted-foreground",children:"\u2014"},void 0,!1)},void 0,!1)]},a.seq,!0)}),b>0&&(0,e.jsxDEV)("tr",{"aria-hidden":"true",children:(0,e.jsxDEV)("td",{colSpan:U,style:$},void 0,!1)},void 0,!1)]},void 0,!0)]},void 0,!0)},void 0,!1)},void 0,!1)]},void 0,!0)},"AuditPanel");export{Se as AuditPanel};
|