@hot-updater/console 1.0.0-rc.2 → 1.0.0-rc.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.output/nitro.json +1 -1
- package/.output/public/assets/InsightsPageHeader-C-Xc2MB9.js +1 -0
- package/.output/public/assets/api-keys-C1sgC6ko.js +1 -0
- package/.output/public/assets/{api-keys-api-BHcODB7q.js → api-keys-api-LchP65vQ.js} +1 -1
- package/.output/public/assets/badge-BuMDU0Rf.js +1 -0
- package/.output/public/assets/card-BEvx_QKh.js +1 -0
- package/.output/public/assets/{chart-no-axes-combined-Dy4WJv2U.js → chart-no-axes-combined-C0G0fQ3J.js} +1 -1
- package/.output/public/assets/{composite-Bp98A0Ld.js → composite-CHTH1Xhh.js} +1 -1
- package/.output/public/assets/createServerFn-DHc2erub.js +3 -0
- package/.output/public/assets/dialog-dyZ1SphZ.js +1 -0
- package/.output/public/assets/{dist-C_NydL0e.js → dist-Bh1gaDfB.js} +1 -1
- package/.output/public/assets/field-79SVH26s.js +1 -0
- package/.output/public/assets/index-BNkxg4jz.js +10 -0
- package/.output/public/assets/input-group-BbHfaBzQ.js +1 -0
- package/.output/public/assets/insights-D_7uSKfc.js +1 -0
- package/.output/public/assets/installations-BzoHWuXw.js +1 -0
- package/.output/public/assets/{installations-CE33wgbY.js → installations-DvjbUqd1.js} +2 -2
- package/.output/public/assets/{lazyRouteComponent-Ccp3bwBY.js → lazyRouteComponent-BN0MS05o.js} +1 -1
- package/.output/public/assets/{link-CI8idAUi.js → link-BG06whwB.js} +1 -1
- package/.output/public/assets/{loader-circle-BoxLrsOu.js → loader-circle-Bbp8LGVC.js} +1 -1
- package/.output/public/assets/{refresh-cw-Bqc72UZG.js → refresh-cw-DZgiAOMk.js} +1 -1
- package/.output/public/assets/routes-BFE-oRIT.js +1 -0
- package/.output/public/assets/{routes-DGVXdzpw.js → routes-DaPMY31P.js} +2 -2
- package/.output/public/assets/{shield-check-uK3MHWJZ.js → shield-check-DoIiaaXU.js} +1 -1
- package/.output/public/assets/signing-BTRhaF5D.js +1 -0
- package/.output/public/assets/styles-C7U0oVke.css +2 -0
- package/.output/public/assets/table-BBEzJ7Xl.js +1 -0
- package/.output/public/assets/useCompositeListItem-BkPDaqyj.js +42 -0
- package/.output/server/{__23tanstack-start-server-fn-resolver-B7ioJhtE.mjs → __23tanstack-start-server-fn-resolver-Dr2ixDgQ.mjs} +40 -32
- package/.output/server/_libs/@base-ui/react+[...].mjs +1 -1
- package/.output/server/_libs/@reduxjs/toolkit+[...].mjs +1554 -0
- package/.output/server/_libs/@tanstack/react-router+[...].mjs +1 -1
- package/.output/server/_libs/@tanstack/react-router-ssr-query+[...].mjs +1 -1
- package/.output/server/_libs/d3-array.mjs +231 -0
- package/.output/server/_libs/d3-color.mjs +330 -0
- package/.output/server/_libs/d3-format.mjs +252 -0
- package/.output/server/_libs/d3-interpolate.mjs +207 -0
- package/.output/server/_libs/d3-path.mjs +77 -0
- package/.output/server/_libs/d3-scale+[...].mjs +1907 -0
- package/.output/server/_libs/d3-shape.mjs +818 -0
- package/.output/server/_libs/decimal.js-light.mjs +884 -0
- package/.output/server/_libs/es-toolkit.mjs +1159 -0
- package/.output/server/_libs/eventemitter3.mjs +236 -0
- package/.output/server/_libs/immer.mjs +532 -0
- package/.output/server/_libs/lucide-react.mjs +9 -2
- package/.output/server/_libs/next-themes.mjs +1 -1
- package/.output/server/_libs/react-redux+[...].mjs +205 -0
- package/.output/server/_libs/recharts+[...].mjs +15054 -0
- package/.output/server/_libs/sonner.mjs +1 -1
- package/.output/server/_libs/tanstack__react-query.mjs +1 -1
- package/.output/server/_runtime.mjs +10 -1
- package/.output/server/_ssr/InsightsPageHeader-C5Has8Ry.mjs +60 -0
- package/.output/server/_ssr/{api-keys-CZeTPQys.mjs → api-keys-DJml_XoK.mjs} +10 -8
- package/.output/server/_ssr/{api-keys-api-BUPQVSpk.mjs → api-keys-api-CrCZyvnl.mjs} +2 -2
- package/.output/server/_ssr/{api-keys-rpc-Cs7tS5_j.mjs → api-keys-rpc-CFaNf-q0.mjs} +3 -3
- package/.output/server/_ssr/{api-rpc-tAupfGQm.mjs → api-rpc-B61KL3Eo.mjs} +25 -25
- package/.output/server/_ssr/{auth-rpc-DUaeOWKK.mjs → auth-rpc-D_hv52-J.mjs} +4 -4
- package/.output/server/_ssr/{auth.server-DW71WzsD.mjs → auth.server-DF_shCeq.mjs} +1 -1
- package/.output/server/_ssr/badge-BgsCP9Dp.mjs +28 -0
- package/.output/server/_ssr/{bundle-signing-rpc-BhnBw0-d.mjs → bundle-signing-rpc-BBipZnFs.mjs} +2 -2
- package/.output/server/_ssr/{bundle-signing.server-C4NW5mWx.mjs → bundle-signing.server-Co_zHdJx.mjs} +1 -1
- package/.output/server/_ssr/bundleActivity-D3_fIda2.mjs +27 -0
- package/.output/server/_ssr/{card-BRiPmi0C.mjs → card-DrbxCPtG.mjs} +3 -25
- package/.output/server/_ssr/chart-qxa-_30a.mjs +162 -0
- package/.output/server/_ssr/{config.server-afDuAwaG.mjs → config.server-CBr6PDj5.mjs} +5 -5
- package/.output/server/_ssr/{createSsrRpc-DjWNJ0uc.mjs → createSsrRpc-NHF2PxuK.mjs} +4 -4
- package/.output/server/_ssr/{deleteBundle-BTGwBgzx.mjs → deleteBundle-BAq3JuGr.mjs} +1 -1
- package/.output/server/_ssr/{dialog-DS-nw-pA.mjs → dialog-DUaIgpgd.mjs} +1 -1
- package/.output/server/_ssr/{downloadBundle-CNnYxYO2.mjs → downloadBundle-B3ert-pY.mjs} +1 -1
- package/.output/server/_ssr/{table-CnZmon_Z.mjs → field-CqNUlqUq.mjs} +4 -50
- package/.output/server/_ssr/{getBundleChildren-C0vh4ZvE.mjs → getBundleChildren-COMt16m_.mjs} +1 -1
- package/.output/server/_ssr/{input-group-BpsnmvZw.mjs → input-group-Bb8ueylQ.mjs} +51 -2
- package/.output/server/_ssr/insights-B-DUbksX.mjs +502 -0
- package/.output/server/_ssr/insights-recovery-DSFM-YTL.mjs +21 -0
- package/.output/server/_ssr/insights-recovery-rpc-P71FH66n.mjs +37 -0
- package/.output/server/_ssr/{insights-rpc-38DujK0G.mjs → insights-rpc-DrIQCjpD.mjs} +2 -2
- package/.output/server/_ssr/insightsRecovery-CqcosG7B.mjs +149 -0
- package/.output/server/_ssr/{installations-CtA59MQG.mjs → installations-BQrppti7.mjs} +2 -2
- package/.output/server/_ssr/{installations-DiVKEF5T.mjs → installations-YumqpNpa.mjs} +426 -11
- package/.output/server/_ssr/{router-B9wG_9f8.mjs → router-iP95Vqi2.mjs} +14 -14
- package/.output/server/_ssr/{routes-CKrrS2q2.mjs → routes-BDabsmc7.mjs} +2 -2
- package/.output/server/_ssr/{routes-D7Yh_jfj.mjs → routes-ivsV2TDu.mjs} +224 -13
- package/.output/server/_ssr/{runtime.server-DacU1TBV.mjs → runtime.server-jmZOKIQM.mjs} +1 -1
- package/.output/server/_ssr/{server-D_C2rMzf.mjs → server-p7yrVBfD.mjs} +3 -3
- package/.output/server/_ssr/{signing-Dz1WkZOf.mjs → signing-CxCbnFCt.mjs} +5 -4
- package/.output/server/_ssr/ssr.mjs +1 -1
- package/.output/server/_ssr/table-D1mL8fJu.mjs +53 -0
- package/.output/server/_tanstack-start-manifest_v-Cwpu0C9Q.mjs +100 -0
- package/.output/server/index.mjs +154 -154
- package/package.json +3 -3
- package/src/components/features/bundles/BundleActivityChart.tsx +95 -0
- package/src/components/features/bundles/BundleInsightsSummary.tsx +121 -0
- package/src/components/features/insights/InsightsControls.tsx +1 -15
- package/src/components/features/insights/InsightsOverview.tsx +368 -179
- package/src/components/features/releases/ReleaseEditorSheet.tsx +10 -0
- package/src/components/ui/empty.tsx +101 -0
- package/src/lib/bundle-activity.ts +21 -0
- package/src/lib/insights-recovery-rpc.ts +38 -0
- package/src/lib/insights-recovery.ts +59 -0
- package/src/lib/server/bundleActivity.ts +37 -0
- package/src/lib/server/insightsHistory.ts +52 -0
- package/src/lib/server/insightsRecovery.ts +186 -0
- package/src/routes/index.tsx +33 -3
- package/src/routes/insights.tsx +1 -42
- package/.output/public/assets/HashValueDisplay-CB0Eskit.js +0 -1
- package/.output/public/assets/InsightsPageHeader-Car5LNiZ.js +0 -1
- package/.output/public/assets/api-keys-BzKocqRy.js +0 -1
- package/.output/public/assets/card-Dhr_eFYj.js +0 -1
- package/.output/public/assets/createServerFn-CA8fs7QD.js +0 -3
- package/.output/public/assets/dialog-CUTrcPlB.js +0 -1
- package/.output/public/assets/index-DdAz-CXv.js +0 -10
- package/.output/public/assets/input-group-cSOG4wh_.js +0 -1
- package/.output/public/assets/insights-C0PBSZ-n.js +0 -1
- package/.output/public/assets/installations-CStZja8x.js +0 -1
- package/.output/public/assets/routes-DTlwOr8I.js +0 -1
- package/.output/public/assets/signing-CMf4aqDO.js +0 -1
- package/.output/public/assets/styles-BCvbtKsm.css +0 -2
- package/.output/public/assets/table-2vcV89QB.js +0 -1
- package/.output/public/assets/useCompositeListItem-CHLITE_4.js +0 -1
- package/.output/public/assets/x-DCd0j8c6.js +0 -1
- package/.output/server/_ssr/HashValueDisplay-DwpGLfrl.mjs +0 -55
- package/.output/server/_ssr/InsightsPageHeader-Df4Brj8u.mjs +0 -484
- package/.output/server/_ssr/insights-BdS364Xu.mjs +0 -460
- package/.output/server/_tanstack-start-manifest_v-2MjTyxil.mjs +0 -97
- package/src/components/features/insights/InsightsBundleReports.tsx +0 -51
- /package/.output/public/assets/{preload-helper-CQ36nxok.js → preload-helper-uTix4PVD.js} +0 -0
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { i as __toESM } from "../_runtime.mjs";
|
|
2
|
+
import { c as createServerFn } from "./createServerFn-B2hcXoPM.mjs";
|
|
3
|
+
import { J as require_react, q as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
|
|
4
|
+
import { C as cn, w as createSsrRpc } from "./createSsrRpc-NHF2PxuK.mjs";
|
|
5
|
+
import { t as readRecoveryInput } from "./insights-recovery-DSFM-YTL.mjs";
|
|
6
|
+
import { c as Tooltip, l as Legend, u as ResponsiveContainer } from "../_libs/recharts+[...].mjs";
|
|
7
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/chart-qxa-_30a.js
|
|
8
|
+
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
9
|
+
var import_jsx_runtime = require_jsx_runtime();
|
|
10
|
+
function readBundleActivityInput(inputs) {
|
|
11
|
+
if (!Array.isArray(inputs) || inputs.length > 20) throw new Error("Choose up to 20 bundles.");
|
|
12
|
+
return inputs.map((input) => {
|
|
13
|
+
readRecoveryInput({
|
|
14
|
+
...input,
|
|
15
|
+
window: "30d"
|
|
16
|
+
});
|
|
17
|
+
if (!input.releaseId) throw new Error("Choose a bundle ID.");
|
|
18
|
+
return input;
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
var getBundleActivityRpc = createServerFn({ method: "GET" }).validator(readBundleActivityInput).handler(createSsrRpc("b4bf4c461903edcdc44eea52468c737b5b600a586f542138ff022dcbbe86c45c"));
|
|
22
|
+
var getRecoveryReportRpc = createServerFn({ method: "GET" }).validator(readRecoveryInput).handler(createSsrRpc("69cd8e2488b082eb2a22e7058be56ad6566f338c471c62557fa6beed5dc1352a"));
|
|
23
|
+
var THEMES = {
|
|
24
|
+
light: "",
|
|
25
|
+
dark: ".dark"
|
|
26
|
+
};
|
|
27
|
+
var INITIAL_DIMENSION = {
|
|
28
|
+
width: 320,
|
|
29
|
+
height: 200
|
|
30
|
+
};
|
|
31
|
+
var ChartContext = import_react.createContext(null);
|
|
32
|
+
function useChart() {
|
|
33
|
+
const context = import_react.useContext(ChartContext);
|
|
34
|
+
if (!context) throw new Error("useChart must be used within a <ChartContainer />");
|
|
35
|
+
return context;
|
|
36
|
+
}
|
|
37
|
+
function ChartContainer({ id, className, children, config, initialDimension = INITIAL_DIMENSION, ...props }) {
|
|
38
|
+
const uniqueId = import_react.useId();
|
|
39
|
+
const chartId = `chart-${id ?? uniqueId.replace(/:/g, "")}`;
|
|
40
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ChartContext.Provider, {
|
|
41
|
+
value: { config },
|
|
42
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
43
|
+
"data-slot": "chart",
|
|
44
|
+
"data-chart": chartId,
|
|
45
|
+
className: cn("flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden", className),
|
|
46
|
+
...props,
|
|
47
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ChartStyle, {
|
|
48
|
+
id: chartId,
|
|
49
|
+
config
|
|
50
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ResponsiveContainer, {
|
|
51
|
+
initialDimension,
|
|
52
|
+
children
|
|
53
|
+
})]
|
|
54
|
+
})
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
var ChartStyle = ({ id, config }) => {
|
|
58
|
+
const colorConfig = Object.entries(config).filter(([, config]) => config.theme ?? config.color);
|
|
59
|
+
if (!colorConfig.length) return null;
|
|
60
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("style", { dangerouslySetInnerHTML: { __html: Object.entries(THEMES).map(([theme, prefix]) => `
|
|
61
|
+
${prefix} [data-chart=${id}] {
|
|
62
|
+
${colorConfig.map(([key, itemConfig]) => {
|
|
63
|
+
const color = itemConfig.theme?.[theme] ?? itemConfig.color;
|
|
64
|
+
return color ? ` --color-${key}: ${color};` : null;
|
|
65
|
+
}).join("\n")}
|
|
66
|
+
}
|
|
67
|
+
`).join("\n") } });
|
|
68
|
+
};
|
|
69
|
+
var ChartTooltip = Tooltip;
|
|
70
|
+
function ChartTooltipContent({ active, payload, className, indicator = "dot", hideLabel = false, hideIndicator = false, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey }) {
|
|
71
|
+
const { config } = useChart();
|
|
72
|
+
const tooltipLabel = import_react.useMemo(() => {
|
|
73
|
+
if (hideLabel || !payload?.length) return null;
|
|
74
|
+
const [item] = payload;
|
|
75
|
+
const itemConfig = getPayloadConfigFromPayload(config, item, `${labelKey ?? item?.dataKey ?? item?.name ?? "value"}`);
|
|
76
|
+
const value = !labelKey && typeof label === "string" ? config[label]?.label ?? label : itemConfig?.label;
|
|
77
|
+
if (labelFormatter) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
78
|
+
className: cn("font-medium", labelClassName),
|
|
79
|
+
children: labelFormatter(value, payload)
|
|
80
|
+
});
|
|
81
|
+
if (!value) return null;
|
|
82
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
83
|
+
className: cn("font-medium", labelClassName),
|
|
84
|
+
children: value
|
|
85
|
+
});
|
|
86
|
+
}, [
|
|
87
|
+
label,
|
|
88
|
+
labelFormatter,
|
|
89
|
+
payload,
|
|
90
|
+
hideLabel,
|
|
91
|
+
labelClassName,
|
|
92
|
+
config,
|
|
93
|
+
labelKey
|
|
94
|
+
]);
|
|
95
|
+
if (!active || !payload?.length) return null;
|
|
96
|
+
const nestLabel = payload.length === 1 && indicator !== "dot";
|
|
97
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
98
|
+
className: cn("grid min-w-32 items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs/relaxed shadow-xl", className),
|
|
99
|
+
children: [!nestLabel ? tooltipLabel : null, /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
100
|
+
className: "grid gap-1.5",
|
|
101
|
+
children: payload.filter((item) => item.type !== "none").map((item, index) => {
|
|
102
|
+
const itemConfig = getPayloadConfigFromPayload(config, item, `${nameKey ?? item.name ?? item.dataKey ?? "value"}`);
|
|
103
|
+
const indicatorColor = color ?? item.payload?.fill ?? item.color;
|
|
104
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
105
|
+
className: cn("flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground", indicator === "dot" && "items-center"),
|
|
106
|
+
children: formatter && item?.value !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [itemConfig?.icon ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
107
|
+
className: cn("shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)", {
|
|
108
|
+
"h-2.5 w-2.5": indicator === "dot",
|
|
109
|
+
"w-1": indicator === "line",
|
|
110
|
+
"w-0 border-[1.5px] border-dashed bg-transparent": indicator === "dashed",
|
|
111
|
+
"my-0.5": nestLabel && indicator === "dashed"
|
|
112
|
+
}),
|
|
113
|
+
style: {
|
|
114
|
+
"--color-bg": indicatorColor,
|
|
115
|
+
"--color-border": indicatorColor
|
|
116
|
+
}
|
|
117
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
118
|
+
className: cn("flex flex-1 justify-between gap-2 leading-none", nestLabel ? "items-end" : "items-center"),
|
|
119
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
120
|
+
className: "grid gap-1.5",
|
|
121
|
+
children: [nestLabel ? tooltipLabel : null, /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
122
|
+
className: "text-muted-foreground",
|
|
123
|
+
children: itemConfig?.label ?? item.name
|
|
124
|
+
})]
|
|
125
|
+
}), item.value != null && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
126
|
+
className: "font-mono font-medium text-foreground tabular-nums",
|
|
127
|
+
children: typeof item.value === "number" ? item.value.toLocaleString() : String(item.value)
|
|
128
|
+
})]
|
|
129
|
+
})] })
|
|
130
|
+
}, index);
|
|
131
|
+
})
|
|
132
|
+
})]
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
var ChartLegend = Legend;
|
|
136
|
+
function ChartLegendContent({ className, hideIcon = false, payload, verticalAlign = "bottom", nameKey }) {
|
|
137
|
+
const { config } = useChart();
|
|
138
|
+
if (!payload?.length) return null;
|
|
139
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
140
|
+
className: cn("flex items-center justify-center gap-4", verticalAlign === "top" ? "pb-3" : "pt-3", className),
|
|
141
|
+
children: payload.filter((item) => item.type !== "none").map((item, index) => {
|
|
142
|
+
const itemConfig = getPayloadConfigFromPayload(config, item, `${nameKey ?? item.dataKey ?? "value"}`);
|
|
143
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
144
|
+
className: cn("flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"),
|
|
145
|
+
children: [itemConfig?.icon && !hideIcon ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(itemConfig.icon, {}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
146
|
+
className: "h-2 w-2 shrink-0 rounded-[2px]",
|
|
147
|
+
style: { backgroundColor: item.color }
|
|
148
|
+
}), itemConfig?.label]
|
|
149
|
+
}, index);
|
|
150
|
+
})
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
function getPayloadConfigFromPayload(config, payload, key) {
|
|
154
|
+
if (typeof payload !== "object" || payload === null) return;
|
|
155
|
+
const payloadPayload = "payload" in payload && typeof payload.payload === "object" && payload.payload !== null ? payload.payload : void 0;
|
|
156
|
+
let configLabelKey = key;
|
|
157
|
+
if (key in payload && typeof payload[key] === "string") configLabelKey = payload[key];
|
|
158
|
+
else if (payloadPayload && key in payloadPayload && typeof payloadPayload[key] === "string") configLabelKey = payloadPayload[key];
|
|
159
|
+
return configLabelKey in config ? config[configLabelKey] : config[key];
|
|
160
|
+
}
|
|
161
|
+
//#endregion
|
|
162
|
+
export { ChartTooltipContent as a, ChartTooltip as i, ChartLegend as n, getBundleActivityRpc as o, ChartLegendContent as r, getRecoveryReportRpc as s, ChartContainer as t };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { t as DatabasePluginInputError } from "./databaseJsonValue-d6I3nAS4.mjs";
|
|
2
2
|
import { l as getBundlePatches } from "./dist-CyzPaI5v.mjs";
|
|
3
3
|
import { a as rowsToBundles, n as bundleToPatchRows, r as bundleToRow, t as bundleMetadataToRow } from "./databaseRows-5bCRTxm-.mjs";
|
|
4
|
-
import { r as getRequest } from "./server-
|
|
5
|
-
import { requireConsoleAccess, t as resolveConsoleConfig } from "./auth.server-
|
|
4
|
+
import { r as getRequest } from "./server-p7yrVBfD.mjs";
|
|
5
|
+
import { requireConsoleAccess, t as resolveConsoleConfig } from "./auth.server-DF_shCeq.mjs";
|
|
6
6
|
import { r as isRecord } from "./insightsContract-fjJDBeEE.mjs";
|
|
7
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/config.server-
|
|
7
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/config.server-CBr6PDj5.js
|
|
8
8
|
/**
|
|
9
9
|
* Calculate pagination information based on total count, limit, and offset
|
|
10
10
|
*/
|
|
@@ -342,11 +342,11 @@ var prepareConfig = async (request = getRequest()) => {
|
|
|
342
342
|
const config = await loadCachedConfig(request);
|
|
343
343
|
if (!databaseClient) databaseClient = createDatabaseClient(config.database);
|
|
344
344
|
if (!hotUpdater) {
|
|
345
|
-
const { createRuntimeHotUpdater } = await import("./runtime.server-
|
|
345
|
+
const { createRuntimeHotUpdater } = await import("./runtime.server-jmZOKIQM.mjs");
|
|
346
346
|
hotUpdater = createRuntimeHotUpdater(config);
|
|
347
347
|
}
|
|
348
348
|
if (!apiKeyStoreResolved) {
|
|
349
|
-
const { createApiKeyStore } = await import("./runtime.server-
|
|
349
|
+
const { createApiKeyStore } = await import("./runtime.server-jmZOKIQM.mjs");
|
|
350
350
|
apiKeyStore = createApiKeyStore(config);
|
|
351
351
|
apiKeyStoreResolved = true;
|
|
352
352
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { i as __toESM } from "../_runtime.mjs";
|
|
2
2
|
import { i as TSS_SERVER_FUNCTION } from "./createServerFn-B2hcXoPM.mjs";
|
|
3
|
-
import { t as getServerFnById } from "../__23tanstack-start-server-fn-resolver-
|
|
3
|
+
import { t as getServerFnById } from "../__23tanstack-start-server-fn-resolver-Dr2ixDgQ.mjs";
|
|
4
4
|
import { B as TooltipRoot, F as TooltipArrow, G as useRender, I as TooltipPopup, J as require_react, K as mergeProps, L as TooltipPositioner, P as TooltipProvider$1, R as TooltipPortal, U as Separator, W as Button, q as require_jsx_runtime, z as TooltipTrigger$1 } from "../_libs/@base-ui/react+[...].mjs";
|
|
5
|
-
import {
|
|
5
|
+
import { m as PanelLeft } from "../_libs/lucide-react.mjs";
|
|
6
6
|
import { n as clsx, t as cva } from "../_libs/class-variance-authority+clsx.mjs";
|
|
7
7
|
import { t as twMerge } from "../_libs/tailwind-merge.mjs";
|
|
8
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/createSsrRpc-
|
|
8
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/createSsrRpc-NHF2PxuK.js
|
|
9
9
|
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
10
10
|
var import_jsx_runtime = require_jsx_runtime();
|
|
11
11
|
function cn(...inputs) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { _ as getPatchStorageUri, d as getManifestStorageUri, l as getBundlePatches } from "./dist-CyzPaI5v.mjs";
|
|
2
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/deleteBundle-
|
|
2
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/deleteBundle-BAq3JuGr.js
|
|
3
3
|
function resolveStorageUriForDeletion(storageUri, storagePlugin) {
|
|
4
4
|
const protocol = new URL(storageUri).protocol.replace(":", "");
|
|
5
5
|
if (storagePlugin.protocol === protocol) return storageUri;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "../_runtime.mjs";
|
|
2
2
|
import { A as DialogDescription$1, D as DialogTitle$1, E as DialogTrigger$1, J as require_react, M as DialogBackdrop, N as AlertDialogRoot, O as DialogPortal$1, T as AlertDialogTrigger$1, j as DialogClose, k as DialogPopup, q as require_jsx_runtime, w as DialogRoot } from "../_libs/@base-ui/react+[...].mjs";
|
|
3
3
|
import { t as X } from "../_libs/lucide-react.mjs";
|
|
4
|
-
import { C as cn, t as Button$1 } from "./createSsrRpc-
|
|
4
|
+
import { C as cn, t as Button$1 } from "./createSsrRpc-NHF2PxuK.mjs";
|
|
5
5
|
require_react();
|
|
6
6
|
var import_jsx_runtime = require_jsx_runtime();
|
|
7
7
|
function AlertDialog$1({ ...props }) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/downloadBundle-
|
|
1
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/downloadBundle-B3ert-pY.js
|
|
2
2
|
var downloadBundle = async (bundleId, { databaseClient, storagePlugin }) => {
|
|
3
3
|
const bundle = await databaseClient.getBundleById(bundleId);
|
|
4
4
|
if (!bundle) return new Response("Bundle not found", { status: 404 });
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { i as __toESM } from "../_runtime.mjs";
|
|
2
2
|
import { J as require_react, q as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
|
|
3
3
|
import { t as cva } from "../_libs/class-variance-authority+clsx.mjs";
|
|
4
|
-
import { C as cn } from "./createSsrRpc-
|
|
5
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/
|
|
4
|
+
import { C as cn } from "./createSsrRpc-NHF2PxuK.mjs";
|
|
5
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/field-CqNUlqUq.js
|
|
6
6
|
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
7
7
|
var import_jsx_runtime = require_jsx_runtime();
|
|
8
8
|
function Label({ className, htmlFor, ...props }) {
|
|
@@ -70,51 +70,5 @@ function FieldError({ className, children, errors, ...props }) {
|
|
|
70
70
|
children: content
|
|
71
71
|
});
|
|
72
72
|
}
|
|
73
|
-
function Table({ className, ...props }) {
|
|
74
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
75
|
-
"data-slot": "table-container",
|
|
76
|
-
className: "relative w-full overflow-x-auto",
|
|
77
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("table", {
|
|
78
|
-
"data-slot": "table",
|
|
79
|
-
className: cn("w-full caption-bottom text-xs", className),
|
|
80
|
-
...props
|
|
81
|
-
})
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
function TableHeader({ className, ...props }) {
|
|
85
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("thead", {
|
|
86
|
-
"data-slot": "table-header",
|
|
87
|
-
className: cn("[&_tr]:border-b", className),
|
|
88
|
-
...props
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
function TableBody({ className, ...props }) {
|
|
92
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("tbody", {
|
|
93
|
-
"data-slot": "table-body",
|
|
94
|
-
className: cn("[&_tr:last-child]:border-0", className),
|
|
95
|
-
...props
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
function TableRow({ className, ...props }) {
|
|
99
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("tr", {
|
|
100
|
-
"data-slot": "table-row",
|
|
101
|
-
className: cn("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors", className),
|
|
102
|
-
...props
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
function TableHead({ className, ...props }) {
|
|
106
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("th", {
|
|
107
|
-
"data-slot": "table-head",
|
|
108
|
-
className: cn("text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0", className),
|
|
109
|
-
...props
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
function TableCell({ className, ...props }) {
|
|
113
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("td", {
|
|
114
|
-
"data-slot": "table-cell",
|
|
115
|
-
className: cn("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0", className),
|
|
116
|
-
...props
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
73
|
//#endregion
|
|
120
|
-
export { FieldLabel as a,
|
|
74
|
+
export { FieldLabel as a, FieldGroup as i, FieldDescription as n, Label as o, FieldError as r, Field as t };
|
package/.output/server/_ssr/{getBundleChildren-C0vh4ZvE.mjs → getBundleChildren-COMt16m_.mjs}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { l as getBundlePatches } from "./dist-CyzPaI5v.mjs";
|
|
2
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/getBundleChildren-
|
|
2
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/getBundleChildren-COMt16m_.js
|
|
3
3
|
var CHILDREN_QUERY_LIMIT = 100;
|
|
4
4
|
async function collectBundleChildrenByBaseIds(baseBundleIds, deps) {
|
|
5
5
|
const uniqueBaseBundleIds = [...new Set(baseBundleIds.filter(Boolean))];
|
|
@@ -1,9 +1,58 @@
|
|
|
1
1
|
import "../_runtime.mjs";
|
|
2
2
|
import { J as require_react, q as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
|
|
3
3
|
import { t as cva } from "../_libs/class-variance-authority+clsx.mjs";
|
|
4
|
-
import { C as cn, n as Input, t as Button$1 } from "./createSsrRpc-
|
|
4
|
+
import { C as cn, n as Input, t as Button$1, v as Tooltip$1, x as TooltipTrigger, y as TooltipContent } from "./createSsrRpc-NHF2PxuK.mjs";
|
|
5
|
+
import { n as toast } from "../_libs/sonner.mjs";
|
|
5
6
|
require_react();
|
|
6
7
|
var import_jsx_runtime = require_jsx_runtime();
|
|
8
|
+
var shortenIdentifier = (value, maxLength = 12) => value.length > maxLength ? `${value.slice(0, Math.max(1, maxLength - 4))}…${value.slice(-4)}` : value;
|
|
9
|
+
function HashValueDisplay({ value, maxLength = 12, className, buttonClassName }) {
|
|
10
|
+
const isTruncated = value.length > maxLength;
|
|
11
|
+
const truncated = shortenIdentifier(value, maxLength);
|
|
12
|
+
const copyValue = async () => {
|
|
13
|
+
try {
|
|
14
|
+
await navigator.clipboard.writeText(value);
|
|
15
|
+
toast.success("Copied to clipboard", { description: value });
|
|
16
|
+
} catch {
|
|
17
|
+
toast.error("Failed to copy value");
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
const handleClick = (event) => {
|
|
21
|
+
event.preventDefault();
|
|
22
|
+
event.stopPropagation();
|
|
23
|
+
copyValue();
|
|
24
|
+
};
|
|
25
|
+
const handleKeyDown = (event) => {
|
|
26
|
+
if (event.key === "Enter" || event.key === " ") {
|
|
27
|
+
event.preventDefault();
|
|
28
|
+
event.stopPropagation();
|
|
29
|
+
copyValue();
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
const content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
33
|
+
translate: "no",
|
|
34
|
+
className: cn("font-mono text-xs tabular-nums whitespace-nowrap", className),
|
|
35
|
+
children: truncated
|
|
36
|
+
});
|
|
37
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Tooltip$1, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(TooltipTrigger, {
|
|
38
|
+
render: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", {
|
|
39
|
+
type: "button",
|
|
40
|
+
"aria-label": `Copy full value: ${value}`,
|
|
41
|
+
translate: "no",
|
|
42
|
+
className: cn("ring-ring/30 bg-muted/40 border-border/70 inline-flex min-w-0 max-w-full cursor-pointer items-center rounded-md border px-1.5 py-0.5 align-top shadow-xs outline-none transition-[background-color,border-color,transform,box-shadow]", "hover:bg-muted/70 active:scale-[0.98] active:bg-muted/85 focus-visible:ring-[2px]", "touch-manipulation select-none motion-reduce:transition-none motion-reduce:active:scale-100", !isTruncated && "cursor-copy", buttonClassName),
|
|
43
|
+
onClick: handleClick,
|
|
44
|
+
onKeyDown: handleKeyDown
|
|
45
|
+
}),
|
|
46
|
+
children: content
|
|
47
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TooltipContent, {
|
|
48
|
+
hidden: !isTruncated,
|
|
49
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
50
|
+
translate: "no",
|
|
51
|
+
className: "break-all font-mono text-xs tabular-nums",
|
|
52
|
+
children: value
|
|
53
|
+
})
|
|
54
|
+
})] });
|
|
55
|
+
}
|
|
7
56
|
function Textarea({ className, ...props }) {
|
|
8
57
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("textarea", {
|
|
9
58
|
"data-slot": "textarea",
|
|
@@ -67,4 +116,4 @@ function InputGroupInput({ className, ...props }) {
|
|
|
67
116
|
});
|
|
68
117
|
}
|
|
69
118
|
//#endregion
|
|
70
|
-
export {
|
|
119
|
+
export { InputGroupInput as a, shortenIdentifier as c, InputGroupButton as i, InputGroup as n, InputGroupText as o, InputGroupAddon as r, Textarea as s, HashValueDisplay as t };
|