@localstack/appinspector-ui 1.0.114 → 1.0.116
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.cjs +760 -685
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +712 -637
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -2417,7 +2417,7 @@ __export(index_exports, {
|
|
|
2417
2417
|
module.exports = __toCommonJS(index_exports);
|
|
2418
2418
|
|
|
2419
2419
|
// src/pages/spans-list-page.tsx
|
|
2420
|
-
var
|
|
2420
|
+
var import_material24 = require("@mui/material");
|
|
2421
2421
|
var import_react69 = require("react");
|
|
2422
2422
|
|
|
2423
2423
|
// src/api/errors.ts
|
|
@@ -2576,11 +2576,11 @@ var EmulatorVersionBanner = ({
|
|
|
2576
2576
|
};
|
|
2577
2577
|
|
|
2578
2578
|
// src/components/spans-list/spans-list.tsx
|
|
2579
|
-
var
|
|
2579
|
+
var import_material8 = require("@mui/material");
|
|
2580
2580
|
|
|
2581
2581
|
// src/components/spans-list/spans-data-grid.tsx
|
|
2582
|
-
var
|
|
2583
|
-
var
|
|
2582
|
+
var import_icons_material3 = require("@mui/icons-material");
|
|
2583
|
+
var import_material7 = require("@mui/material");
|
|
2584
2584
|
|
|
2585
2585
|
// node_modules/@tanstack/react-table/build/lib/index.mjs
|
|
2586
2586
|
var React = __toESM(require("react"), 1);
|
|
@@ -14868,11 +14868,182 @@ var ServiceCell = (0, import_react40.memo)(({
|
|
|
14868
14868
|
});
|
|
14869
14869
|
ServiceCell.displayName = "ServiceCell";
|
|
14870
14870
|
|
|
14871
|
-
// src/components/
|
|
14871
|
+
// src/components/cells/status-cell.tsx
|
|
14872
14872
|
var import_icons_material = require("@mui/icons-material");
|
|
14873
14873
|
var import_material5 = require("@mui/material");
|
|
14874
|
-
|
|
14874
|
+
|
|
14875
|
+
// src/types/error-levels.ts
|
|
14876
|
+
var ErrorLevel = {
|
|
14877
|
+
ERROR: 3,
|
|
14878
|
+
// General error
|
|
14879
|
+
IAM_PERMISSION: 5,
|
|
14880
|
+
// IAM permission issues
|
|
14881
|
+
OK: 2,
|
|
14882
|
+
// OK
|
|
14883
|
+
// Standard OTEL status codes
|
|
14884
|
+
UNSET: 1,
|
|
14885
|
+
// Unset
|
|
14886
|
+
// Extended custom levels
|
|
14887
|
+
WARNING: 4
|
|
14888
|
+
// Warning
|
|
14889
|
+
};
|
|
14890
|
+
|
|
14891
|
+
// src/utils/iam-utils.ts
|
|
14892
|
+
function determinePermissionStatus(payload) {
|
|
14893
|
+
if (payload.explicit_deny_count && payload.explicit_deny_count > 0) {
|
|
14894
|
+
return "explicitly_denied";
|
|
14895
|
+
}
|
|
14896
|
+
if (payload.is_allowed && payload.explicit_allow_count && payload.explicit_allow_count > 0) {
|
|
14897
|
+
return "explicitly_allowed";
|
|
14898
|
+
}
|
|
14899
|
+
if (payload.is_allowed) {
|
|
14900
|
+
return "implicitly_allowed";
|
|
14901
|
+
}
|
|
14902
|
+
return "implicitly_denied";
|
|
14903
|
+
}
|
|
14904
|
+
function formatPermissionStatus(status) {
|
|
14905
|
+
switch (status) {
|
|
14906
|
+
case "explicitly_allowed": {
|
|
14907
|
+
return "Explicitly Allowed";
|
|
14908
|
+
}
|
|
14909
|
+
case "explicitly_denied": {
|
|
14910
|
+
return "Explicitly Denied";
|
|
14911
|
+
}
|
|
14912
|
+
case "implicitly_allowed": {
|
|
14913
|
+
return "Implicitly Allowed";
|
|
14914
|
+
}
|
|
14915
|
+
case "implicitly_denied": {
|
|
14916
|
+
return "Implicitly Denied";
|
|
14917
|
+
}
|
|
14918
|
+
}
|
|
14919
|
+
}
|
|
14920
|
+
function getPermissionStatusColor(status) {
|
|
14921
|
+
switch (status) {
|
|
14922
|
+
case "explicitly_allowed":
|
|
14923
|
+
case "implicitly_allowed": {
|
|
14924
|
+
return "success.main";
|
|
14925
|
+
}
|
|
14926
|
+
case "explicitly_denied": {
|
|
14927
|
+
return "error.main";
|
|
14928
|
+
}
|
|
14929
|
+
case "implicitly_denied": {
|
|
14930
|
+
return "warning.main";
|
|
14931
|
+
}
|
|
14932
|
+
}
|
|
14933
|
+
}
|
|
14934
|
+
function parseIAMEvent(payloadString) {
|
|
14935
|
+
try {
|
|
14936
|
+
const payload = JSON.parse(payloadString);
|
|
14937
|
+
const permission = determinePermissionStatus(payload);
|
|
14938
|
+
const actions = [];
|
|
14939
|
+
const resources = [];
|
|
14940
|
+
if (payload.explicit_allows) {
|
|
14941
|
+
for (const allow of payload.explicit_allows) {
|
|
14942
|
+
if (!actions.includes(allow.action)) actions.push(allow.action);
|
|
14943
|
+
if (!resources.includes(allow.resource)) resources.push(allow.resource);
|
|
14944
|
+
}
|
|
14945
|
+
}
|
|
14946
|
+
if (payload.explicit_denies) {
|
|
14947
|
+
for (const deny of payload.explicit_denies) {
|
|
14948
|
+
if (!actions.includes(deny.action)) actions.push(deny.action);
|
|
14949
|
+
if (!resources.includes(deny.resource)) resources.push(deny.resource);
|
|
14950
|
+
}
|
|
14951
|
+
}
|
|
14952
|
+
if (payload.implicit_denies) {
|
|
14953
|
+
for (const deny of payload.implicit_denies) {
|
|
14954
|
+
if (!actions.includes(deny.action)) actions.push(deny.action);
|
|
14955
|
+
if (!resources.includes(deny.resource)) resources.push(deny.resource);
|
|
14956
|
+
}
|
|
14957
|
+
}
|
|
14958
|
+
return {
|
|
14959
|
+
details: {
|
|
14960
|
+
actions,
|
|
14961
|
+
explicitAllows: payload.explicit_allow_count,
|
|
14962
|
+
explicitDenies: payload.explicit_deny_count,
|
|
14963
|
+
implicitDenies: payload.implicit_deny_count,
|
|
14964
|
+
resources
|
|
14965
|
+
},
|
|
14966
|
+
operation: payload.operation,
|
|
14967
|
+
permission,
|
|
14968
|
+
principal: payload.principal_arn,
|
|
14969
|
+
service: payload.service
|
|
14970
|
+
};
|
|
14971
|
+
} catch (error) {
|
|
14972
|
+
console.error("Error parsing IAM event payload:", error);
|
|
14973
|
+
return void 0;
|
|
14974
|
+
}
|
|
14975
|
+
}
|
|
14976
|
+
|
|
14977
|
+
// src/components/cells/status-cell.tsx
|
|
14875
14978
|
var import_jsx_runtime126 = require("react/jsx-runtime");
|
|
14979
|
+
var StatusIcon = ({ errorLevel, spanStatusCode }) => {
|
|
14980
|
+
switch (errorLevel) {
|
|
14981
|
+
case ErrorLevel.ERROR: {
|
|
14982
|
+
return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_icons_material.Cancel, { sx: { color: "red" } });
|
|
14983
|
+
}
|
|
14984
|
+
case ErrorLevel.IAM_PERMISSION: {
|
|
14985
|
+
return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_icons_material.GppBad, { sx: { color: spanStatusCode === 2 ? "red" : "warning.main" } });
|
|
14986
|
+
}
|
|
14987
|
+
case ErrorLevel.WARNING: {
|
|
14988
|
+
return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_icons_material.Error, { sx: { color: "orange" } });
|
|
14989
|
+
}
|
|
14990
|
+
default: {
|
|
14991
|
+
return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_jsx_runtime126.Fragment, {});
|
|
14992
|
+
}
|
|
14993
|
+
}
|
|
14994
|
+
};
|
|
14995
|
+
var calculateHighestErrorLevel = (span) => {
|
|
14996
|
+
const hasIamDenial = span.events.some((event) => {
|
|
14997
|
+
if (!event.event_type?.toLowerCase().includes("iam")) return false;
|
|
14998
|
+
if (typeof event.attributes?.payload !== "string") return false;
|
|
14999
|
+
const parsed = parseIAMEvent(event.attributes.payload);
|
|
15000
|
+
return parsed?.permission === "explicitly_denied" || parsed?.permission === "implicitly_denied";
|
|
15001
|
+
});
|
|
15002
|
+
if (hasIamDenial) return ErrorLevel.IAM_PERMISSION;
|
|
15003
|
+
if (span.status_code === 2) return ErrorLevel.ERROR;
|
|
15004
|
+
const hasErrorInErrors = span.errors?.some((error) => error.level === "error");
|
|
15005
|
+
if (hasErrorInErrors) return ErrorLevel.ERROR;
|
|
15006
|
+
const hasWarning = span.errors?.some((error) => error.level === "warning");
|
|
15007
|
+
if (hasWarning) return ErrorLevel.WARNING;
|
|
15008
|
+
return span.status_code || ErrorLevel.UNSET;
|
|
15009
|
+
};
|
|
15010
|
+
var SPAN_STATUS_LABELS = {
|
|
15011
|
+
0: "Unset",
|
|
15012
|
+
1: "OK",
|
|
15013
|
+
2: "Error"
|
|
15014
|
+
};
|
|
15015
|
+
var buildTooltipContent = (span) => {
|
|
15016
|
+
const messages = [];
|
|
15017
|
+
if (span.status_message) messages.push(span.status_message);
|
|
15018
|
+
for (const error of span.errors ?? []) {
|
|
15019
|
+
if (error.message) messages.push(error.message);
|
|
15020
|
+
}
|
|
15021
|
+
const spanStatusLabel = SPAN_STATUS_LABELS[span.status_code] ?? `Unknown (${span.status_code.toString()})`;
|
|
15022
|
+
const iamDenials = span.events.filter((event) => event.event_type?.toLowerCase().includes("iam") && typeof event.attributes?.payload === "string").map((event) => parseIAMEvent(event.attributes.payload)).filter((parsed) => parsed?.permission === "explicitly_denied" || parsed?.permission === "implicitly_denied").filter(Boolean);
|
|
15023
|
+
return /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(import_material5.Box, { children: [
|
|
15024
|
+
/* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(import_material5.Typography, { color: "inherit", display: "block", fontWeight: "bold", variant: "caption", children: [
|
|
15025
|
+
"Status: ",
|
|
15026
|
+
spanStatusLabel
|
|
15027
|
+
] }),
|
|
15028
|
+
messages.map((message, index) => /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_material5.Typography, { color: "inherit", display: "block", variant: "caption", children: message }, index)),
|
|
15029
|
+
iamDenials.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(import_jsx_runtime126.Fragment, { children: [
|
|
15030
|
+
/* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_material5.Divider, { sx: { borderColor: "rgba(255,255,255,0.2)", my: 0.5 } }),
|
|
15031
|
+
/* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_material5.Typography, { color: "inherit", display: "block", fontWeight: "bold", variant: "caption", children: "Permissions" }),
|
|
15032
|
+
iamDenials.map((denial, index) => denial !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_material5.Typography, { color: "inherit", display: "block", variant: "caption", children: `${formatPermissionStatus(denial.permission)}: ${denial.service}.${denial.operation}` }, index))
|
|
15033
|
+
] })
|
|
15034
|
+
] });
|
|
15035
|
+
};
|
|
15036
|
+
var StatusIconWithTooltip = ({ span }) => {
|
|
15037
|
+
const errorLevel = calculateHighestErrorLevel(span);
|
|
15038
|
+
if (errorLevel !== ErrorLevel.ERROR && errorLevel !== ErrorLevel.IAM_PERMISSION) return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_jsx_runtime126.Fragment, {});
|
|
15039
|
+
return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_material5.Tooltip, { title: buildTooltipContent(span), children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_material5.Box, { sx: { alignItems: "center", cursor: "default", display: "flex" }, children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(StatusIcon, { errorLevel, spanStatusCode: span.status_code }) }) });
|
|
15040
|
+
};
|
|
15041
|
+
|
|
15042
|
+
// src/components/spans-list/span-count-badge.tsx
|
|
15043
|
+
var import_icons_material2 = require("@mui/icons-material");
|
|
15044
|
+
var import_material6 = require("@mui/material");
|
|
15045
|
+
var import_react41 = require("react");
|
|
15046
|
+
var import_jsx_runtime127 = require("react/jsx-runtime");
|
|
14876
15047
|
var resolveBindingLimit = (systemLimit, licenseLimit) => {
|
|
14877
15048
|
const numericLimits = [systemLimit, licenseLimit].filter((l2) => typeof l2 === "number");
|
|
14878
15049
|
if (numericLimits.length > 0) return Math.min(...numericLimits);
|
|
@@ -14885,29 +15056,29 @@ var fmtLimit = (value) => {
|
|
|
14885
15056
|
if (value === "unlimited") return "Unlimited";
|
|
14886
15057
|
return fmt(value);
|
|
14887
15058
|
};
|
|
14888
|
-
var StatRow = ({ label, value }) => /* @__PURE__ */ (0,
|
|
14889
|
-
/* @__PURE__ */ (0,
|
|
14890
|
-
/* @__PURE__ */ (0,
|
|
15059
|
+
var StatRow = ({ label, value }) => /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_material6.Box, { sx: { alignItems: "baseline", display: "flex", justifyContent: "space-between", minWidth: 220 }, children: [
|
|
15060
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Typography, { color: "text.secondary", sx: { mr: 4 }, variant: "caption", children: label }),
|
|
15061
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Typography, { fontWeight: 600, variant: "body2", children: fmtLimit(value) })
|
|
14891
15062
|
] });
|
|
14892
15063
|
var SpanCountBadge = ({ licenseLimit, systemLimit, totalCount, visibleCount }) => {
|
|
14893
15064
|
const [anchorElement, setAnchorElement] = (0, import_react41.useState)();
|
|
14894
15065
|
const bindingLimit = resolveBindingLimit(systemLimit, licenseLimit);
|
|
14895
15066
|
if (totalCount === void 0 && bindingLimit === void 0) {
|
|
14896
|
-
return /* @__PURE__ */ (0,
|
|
15067
|
+
return /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_jsx_runtime127.Fragment, {});
|
|
14897
15068
|
}
|
|
14898
15069
|
if (visibleCount !== void 0) totalCount = Math.max(totalCount ?? 0, visibleCount);
|
|
14899
15070
|
const isLoading = totalCount === void 0;
|
|
14900
15071
|
const isOpen = anchorElement !== void 0;
|
|
14901
15072
|
const systemLimitReached = typeof systemLimit === "number" && totalCount !== void 0 && totalCount >= systemLimit;
|
|
14902
15073
|
const licenseLimitReached = typeof licenseLimit === "number" && totalCount !== void 0 && totalCount >= licenseLimit;
|
|
14903
|
-
return /* @__PURE__ */ (0,
|
|
14904
|
-
isLoading ? /* @__PURE__ */ (0,
|
|
14905
|
-
/* @__PURE__ */ (0,
|
|
14906
|
-
/* @__PURE__ */ (0,
|
|
14907
|
-
/* @__PURE__ */ (0,
|
|
15074
|
+
return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_material6.Box, { sx: { alignItems: "center", display: "flex", gap: 0.25 }, children: [
|
|
15075
|
+
isLoading ? /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Skeleton, { sx: { minWidth: 120 } }) : /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_material6.Box, { sx: { alignItems: "baseline", display: "flex", gap: 0.5 }, children: [
|
|
15076
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Typography, { color: "text.secondary", variant: "caption", children: "Showing" }),
|
|
15077
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Typography, { variant: "body2", children: visibleCount === void 0 ? "\u2014" : fmt(visibleCount) }),
|
|
15078
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Typography, { color: "text.secondary", variant: "caption", children: `of ${totalCount === void 0 ? "-" : fmt(totalCount)} operations` })
|
|
14908
15079
|
] }),
|
|
14909
|
-
/* @__PURE__ */ (0,
|
|
14910
|
-
|
|
15080
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Tooltip, { title: "Operation count details", children: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
|
|
15081
|
+
import_material6.IconButton,
|
|
14911
15082
|
{
|
|
14912
15083
|
"aria-describedby": isOpen ? "operation-count-popover" : void 0,
|
|
14913
15084
|
onClick: (event) => {
|
|
@@ -14915,11 +15086,11 @@ var SpanCountBadge = ({ licenseLimit, systemLimit, totalCount, visibleCount }) =
|
|
|
14915
15086
|
},
|
|
14916
15087
|
size: "small",
|
|
14917
15088
|
sx: { color: systemLimitReached || licenseLimitReached ? "warning.main" : "text.disabled" },
|
|
14918
|
-
children: systemLimitReached || licenseLimitReached ? /* @__PURE__ */ (0,
|
|
15089
|
+
children: systemLimitReached || licenseLimitReached ? /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_icons_material2.WarningAmberOutlined, { sx: { fontSize: 14 } }) : /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_icons_material2.InfoOutlined, { sx: { fontSize: 14 } })
|
|
14919
15090
|
}
|
|
14920
15091
|
) }),
|
|
14921
|
-
/* @__PURE__ */ (0,
|
|
14922
|
-
|
|
15092
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
|
|
15093
|
+
import_material6.Popover,
|
|
14923
15094
|
{
|
|
14924
15095
|
anchorEl: anchorElement,
|
|
14925
15096
|
anchorOrigin: { horizontal: "right", vertical: "bottom" },
|
|
@@ -14929,55 +15100,55 @@ var SpanCountBadge = ({ licenseLimit, systemLimit, totalCount, visibleCount }) =
|
|
|
14929
15100
|
},
|
|
14930
15101
|
open: isOpen,
|
|
14931
15102
|
transformOrigin: { horizontal: "right", vertical: "top" },
|
|
14932
|
-
children: /* @__PURE__ */ (0,
|
|
14933
|
-
/* @__PURE__ */ (0,
|
|
14934
|
-
/* @__PURE__ */ (0,
|
|
14935
|
-
/* @__PURE__ */ (0,
|
|
14936
|
-
/* @__PURE__ */ (0,
|
|
15103
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_material6.Box, { sx: { minWidth: 240, p: 2 }, children: [
|
|
15104
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Typography, { fontWeight: 700, variant: "body2", children: "Storage" }),
|
|
15105
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Typography, { color: "text.secondary", sx: { mt: 0.25 }, variant: "caption", children: "How many operations are currently stored." }),
|
|
15106
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_material6.Box, { sx: { display: "flex", flexDirection: "column", gap: 0.75, mt: 1.5 }, children: [
|
|
15107
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
|
|
14937
15108
|
StatRow,
|
|
14938
15109
|
{
|
|
14939
|
-
label: /* @__PURE__ */ (0,
|
|
15110
|
+
label: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Tooltip, { placement: "left", title: "The number of operations currently loaded in the UI.", children: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Box, { component: "span", sx: { borderBottom: "1px dashed", borderColor: "text.secondary", cursor: "help" }, children: "Currently visible" }) }),
|
|
14940
15111
|
value: visibleCount
|
|
14941
15112
|
}
|
|
14942
15113
|
),
|
|
14943
|
-
/* @__PURE__ */ (0,
|
|
15114
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
|
|
14944
15115
|
StatRow,
|
|
14945
15116
|
{
|
|
14946
|
-
label: /* @__PURE__ */ (0,
|
|
15117
|
+
label: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Tooltip, { placement: "left", title: "The total number of operations stored on the server.", children: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Box, { component: "span", sx: { borderBottom: "1px dashed", borderColor: "text.secondary", cursor: "help" }, children: "Total stored" }) }),
|
|
14947
15118
|
value: totalCount
|
|
14948
15119
|
}
|
|
14949
15120
|
)
|
|
14950
15121
|
] }),
|
|
14951
|
-
(systemLimit !== void 0 || licenseLimit !== void 0) && /* @__PURE__ */ (0,
|
|
14952
|
-
/* @__PURE__ */ (0,
|
|
14953
|
-
/* @__PURE__ */ (0,
|
|
14954
|
-
/* @__PURE__ */ (0,
|
|
14955
|
-
/* @__PURE__ */ (0,
|
|
14956
|
-
licenseLimit !== void 0 && /* @__PURE__ */ (0,
|
|
15122
|
+
(systemLimit !== void 0 || licenseLimit !== void 0) && /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_jsx_runtime127.Fragment, { children: [
|
|
15123
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Divider, { sx: { my: 1.5 } }),
|
|
15124
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Typography, { color: "text.secondary", fontWeight: 600, variant: "caption", children: "Limits" }),
|
|
15125
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Typography, { color: "text.secondary", sx: { display: "block", mb: 1.5, mt: 0.25 }, variant: "caption", children: "Limits restrict the total number of operations that can be stored." }),
|
|
15126
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_material6.Box, { sx: { display: "flex", flexDirection: "column", gap: 0.75 }, children: [
|
|
15127
|
+
licenseLimit !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
|
|
14957
15128
|
StatRow,
|
|
14958
15129
|
{
|
|
14959
|
-
label: /* @__PURE__ */ (0,
|
|
15130
|
+
label: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Tooltip, { placement: "left", title: "The maximum number of operations allowed by your current license.", children: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Box, { component: "span", sx: { borderBottom: "1px dashed", borderColor: "text.secondary", cursor: "help" }, children: "License limit" }) }),
|
|
14960
15131
|
value: licenseLimit
|
|
14961
15132
|
}
|
|
14962
15133
|
),
|
|
14963
|
-
systemLimit !== void 0 && /* @__PURE__ */ (0,
|
|
15134
|
+
systemLimit !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
|
|
14964
15135
|
StatRow,
|
|
14965
15136
|
{
|
|
14966
|
-
label: /* @__PURE__ */ (0,
|
|
15137
|
+
label: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Tooltip, { placement: "left", title: "The maximum number of operations that can be stored in the system.", children: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Box, { component: "span", sx: { borderBottom: "1px dashed", borderColor: "text.secondary", cursor: "help" }, children: "System limit" }) }),
|
|
14967
15138
|
value: systemLimit
|
|
14968
15139
|
}
|
|
14969
15140
|
)
|
|
14970
15141
|
] })
|
|
14971
15142
|
] }),
|
|
14972
|
-
(systemLimitReached || licenseLimitReached) && /* @__PURE__ */ (0,
|
|
14973
|
-
licenseLimitReached && /* @__PURE__ */ (0,
|
|
14974
|
-
/* @__PURE__ */ (0,
|
|
14975
|
-
/* @__PURE__ */ (0,
|
|
14976
|
-
/* @__PURE__ */ (0,
|
|
15143
|
+
(systemLimitReached || licenseLimitReached) && /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_material6.Box, { sx: { display: "flex", flexDirection: "column", gap: 1, mt: 1.5 }, children: [
|
|
15144
|
+
licenseLimitReached && /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_material6.Box, { sx: { backgroundColor: "warning.main", borderRadius: 1, p: 1.5 }, children: [
|
|
15145
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_material6.Box, { sx: { alignItems: "flex-start", display: "flex", gap: 0.75, mb: 0.75 }, children: [
|
|
15146
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_icons_material2.WarningAmberOutlined, { sx: { color: "warning.contrastText", fontSize: 14, mt: "1px" } }),
|
|
15147
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Typography, { color: "warning.contrastText", fontWeight: 600, variant: "caption", children: "License limit reached" })
|
|
14977
15148
|
] }),
|
|
14978
|
-
/* @__PURE__ */ (0,
|
|
14979
|
-
/* @__PURE__ */ (0,
|
|
14980
|
-
|
|
15149
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Typography, { color: "warning.contrastText", sx: { display: "block", mb: 1 }, variant: "caption", children: "Newer operations are being dropped. Upgrade your license to increase the retention limit." }),
|
|
15150
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
|
|
15151
|
+
import_material6.Button,
|
|
14981
15152
|
{
|
|
14982
15153
|
color: "inherit",
|
|
14983
15154
|
href: "https://localstack.cloud/pricing",
|
|
@@ -14989,9 +15160,9 @@ var SpanCountBadge = ({ licenseLimit, systemLimit, totalCount, visibleCount }) =
|
|
|
14989
15160
|
}
|
|
14990
15161
|
)
|
|
14991
15162
|
] }),
|
|
14992
|
-
systemLimitReached && !licenseLimitReached && /* @__PURE__ */ (0,
|
|
14993
|
-
/* @__PURE__ */ (0,
|
|
14994
|
-
/* @__PURE__ */ (0,
|
|
15163
|
+
systemLimitReached && !licenseLimitReached && /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_material6.Box, { sx: { alignItems: "flex-start", display: "flex", gap: 0.75 }, children: [
|
|
15164
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_icons_material2.WarningAmberOutlined, { color: "warning", sx: { fontSize: 14, mt: "1px" } }),
|
|
15165
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Typography, { color: "warning.main", variant: "caption", children: "System limit reached \u2014 newer operations are being dropped." })
|
|
14995
15166
|
] })
|
|
14996
15167
|
] })
|
|
14997
15168
|
] })
|
|
@@ -15001,7 +15172,7 @@ var SpanCountBadge = ({ licenseLimit, systemLimit, totalCount, visibleCount }) =
|
|
|
15001
15172
|
};
|
|
15002
15173
|
|
|
15003
15174
|
// src/components/spans-list/spans-data-grid.tsx
|
|
15004
|
-
var
|
|
15175
|
+
var import_jsx_runtime128 = require("react/jsx-runtime");
|
|
15005
15176
|
var columnHelper = createColumnHelper();
|
|
15006
15177
|
var newSpanBackgroundColor = {
|
|
15007
15178
|
dark: { from: "rgba(136, 123, 2, 1)", to: "rgba(136, 123, 2, 0)" },
|
|
@@ -15013,16 +15184,16 @@ var LABEL_NO_SPANS = "There are no operations";
|
|
|
15013
15184
|
var LABEL_LOAD_OLDER = "Load older operations";
|
|
15014
15185
|
var LABEL_LOAD_NEWER = "Load newer operations";
|
|
15015
15186
|
var STICK_TO_EDGE_THRESHOLD_PX = 4;
|
|
15016
|
-
var StreamBoundaryRow = ({ colSpan, label }) => /* @__PURE__ */ (0,
|
|
15017
|
-
var LoadSpansRow = ({ colSpan, fetching, label, onFetch }) => /* @__PURE__ */ (0,
|
|
15018
|
-
!fetching && /* @__PURE__ */ (0,
|
|
15019
|
-
fetching && /* @__PURE__ */ (0,
|
|
15187
|
+
var StreamBoundaryRow = ({ colSpan, label }) => /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_material7.TableRow, { children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_material7.TableCell, { colSpan, sx: { fontStyle: "italic", textAlign: "center" }, children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("span", { children: label }) }) });
|
|
15188
|
+
var LoadSpansRow = ({ colSpan, fetching, label, onFetch }) => /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_material7.TableRow, { children: /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(import_material7.TableCell, { colSpan, sx: { textAlign: "center" }, children: [
|
|
15189
|
+
!fetching && /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_material7.Button, { onClick: onFetch, sx: { my: 1 }, children: label }),
|
|
15190
|
+
fetching && /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_material7.CircularProgress, { size: 24, sx: { m: 2 } })
|
|
15020
15191
|
] }) });
|
|
15021
15192
|
var SpansDataGridRow = (0, import_react42.memo)(
|
|
15022
15193
|
({ onSpanClick, row }) => {
|
|
15023
|
-
const theme = (0,
|
|
15024
|
-
return /* @__PURE__ */ (0,
|
|
15025
|
-
|
|
15194
|
+
const theme = (0, import_material7.useTheme)();
|
|
15195
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
15196
|
+
import_material7.TableRow,
|
|
15026
15197
|
{
|
|
15027
15198
|
animate: {
|
|
15028
15199
|
backgroundColor: theme.palette.mode === "light" ? newSpanBackgroundColor.light.to : newSpanBackgroundColor.dark.to
|
|
@@ -15040,16 +15211,16 @@ var SpansDataGridRow = (0, import_react42.memo)(
|
|
|
15040
15211
|
transition: "background-color 1200ms ease-in"
|
|
15041
15212
|
},
|
|
15042
15213
|
children: row.getVisibleCells().map((cell) => {
|
|
15043
|
-
return /* @__PURE__ */ (0,
|
|
15044
|
-
|
|
15214
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
15215
|
+
import_material7.TableCell,
|
|
15045
15216
|
{
|
|
15046
15217
|
sx: {
|
|
15047
15218
|
height: 36,
|
|
15048
15219
|
maxWidth: `${cell.column.getSize().toString()}px`,
|
|
15049
15220
|
minWidth: `${cell.column.getSize().toString()}px`
|
|
15050
15221
|
},
|
|
15051
|
-
children: /* @__PURE__ */ (0,
|
|
15052
|
-
|
|
15222
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
15223
|
+
import_material7.Box,
|
|
15053
15224
|
{
|
|
15054
15225
|
sx: {
|
|
15055
15226
|
"alignItems": "center",
|
|
@@ -15061,7 +15232,7 @@ var SpansDataGridRow = (0, import_react42.memo)(
|
|
|
15061
15232
|
},
|
|
15062
15233
|
"width": "100%"
|
|
15063
15234
|
},
|
|
15064
|
-
children: /* @__PURE__ */ (0,
|
|
15235
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_material7.Box, { sx: { px: 1, width: "100%" }, children: flexRender(cell.column.columnDef.cell, cell.getContext()) })
|
|
15065
15236
|
}
|
|
15066
15237
|
)
|
|
15067
15238
|
},
|
|
@@ -15098,9 +15269,9 @@ var SpansDataGrid = ({
|
|
|
15098
15269
|
}) => {
|
|
15099
15270
|
const columns = (0, import_react42.useMemo)(() => [
|
|
15100
15271
|
columnHelper.accessor("startTime", {
|
|
15101
|
-
cell: (props) => /* @__PURE__ */ (0,
|
|
15102
|
-
header: () => /* @__PURE__ */ (0,
|
|
15103
|
-
|
|
15272
|
+
cell: (props) => /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(ResponsiveTimestampCell, { date: props.getValue() }),
|
|
15273
|
+
header: () => /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
15274
|
+
import_material7.TableSortLabel,
|
|
15104
15275
|
{
|
|
15105
15276
|
active: true,
|
|
15106
15277
|
direction: order2 === "newest_first" ? "asc" : "desc",
|
|
@@ -15116,23 +15287,23 @@ var SpansDataGrid = ({
|
|
|
15116
15287
|
columnHelper.display({
|
|
15117
15288
|
cell: (props) => {
|
|
15118
15289
|
if (!props.row.original.parent_service_name || !props.row.original.parent_resource_name) {
|
|
15119
|
-
return /* @__PURE__ */ (0,
|
|
15290
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_material7.Typography, { sx: { fontStyle: "italic" }, variant: "body2", children: "External producer" });
|
|
15120
15291
|
}
|
|
15121
|
-
return /* @__PURE__ */ (0,
|
|
15292
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(ServiceCell, { resource: props.row.original.parent_resource_name, service: props.row.original.parent_service_name });
|
|
15122
15293
|
},
|
|
15123
15294
|
header: "Producer",
|
|
15124
15295
|
id: "producer",
|
|
15125
15296
|
size: 180
|
|
15126
15297
|
}),
|
|
15127
15298
|
columnHelper.accessor("operation_name", {
|
|
15128
|
-
cell: (props) => /* @__PURE__ */ (0,
|
|
15129
|
-
|
|
15299
|
+
cell: (props) => /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
15300
|
+
import_material7.Box,
|
|
15130
15301
|
{
|
|
15131
15302
|
sx: {
|
|
15132
15303
|
overflow: "hidden",
|
|
15133
15304
|
textOverflow: "ellipsis"
|
|
15134
15305
|
},
|
|
15135
|
-
children: /* @__PURE__ */ (0,
|
|
15306
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("span", { title: props.getValue(), children: props.getValue() })
|
|
15136
15307
|
}
|
|
15137
15308
|
),
|
|
15138
15309
|
header: "Action",
|
|
@@ -15141,7 +15312,7 @@ var SpansDataGrid = ({
|
|
|
15141
15312
|
}),
|
|
15142
15313
|
columnHelper.display({
|
|
15143
15314
|
cell: (props) => {
|
|
15144
|
-
return /* @__PURE__ */ (0,
|
|
15315
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(ServiceCell, { resource: props.row.original.resource_name, service: props.row.original.service_name });
|
|
15145
15316
|
},
|
|
15146
15317
|
header: "Consumer",
|
|
15147
15318
|
id: "consumer",
|
|
@@ -15149,24 +15320,26 @@ var SpansDataGrid = ({
|
|
|
15149
15320
|
}),
|
|
15150
15321
|
columnHelper.display({
|
|
15151
15322
|
cell: (props) => {
|
|
15152
|
-
return /* @__PURE__ */ (0,
|
|
15153
|
-
|
|
15154
|
-
|
|
15155
|
-
|
|
15156
|
-
|
|
15157
|
-
|
|
15158
|
-
|
|
15159
|
-
|
|
15160
|
-
|
|
15161
|
-
|
|
15162
|
-
|
|
15163
|
-
|
|
15164
|
-
|
|
15165
|
-
|
|
15323
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(import_material7.Box, { sx: { alignItems: "center", display: "flex", gap: 0.5, justifyContent: "flex-end" }, children: [
|
|
15324
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(StatusIconWithTooltip, { span: props.row.original }),
|
|
15325
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
15326
|
+
import_material7.Button,
|
|
15327
|
+
{
|
|
15328
|
+
"data-testid": VIEW_SPAN_DETAILS_TEST_ID,
|
|
15329
|
+
onClick: (event) => {
|
|
15330
|
+
event.stopPropagation();
|
|
15331
|
+
onSpanClick(props.row.original);
|
|
15332
|
+
},
|
|
15333
|
+
size: "small",
|
|
15334
|
+
sx: { px: 1 },
|
|
15335
|
+
variant: "text",
|
|
15336
|
+
children: "View Details"
|
|
15337
|
+
}
|
|
15338
|
+
)
|
|
15339
|
+
] });
|
|
15166
15340
|
},
|
|
15167
15341
|
id: "actions",
|
|
15168
|
-
|
|
15169
|
-
size: 96
|
|
15342
|
+
size: 128
|
|
15170
15343
|
})
|
|
15171
15344
|
], [onSpanClick, onOrderChange, order2]);
|
|
15172
15345
|
const table = useReactTable({
|
|
@@ -15199,46 +15372,46 @@ var SpansDataGrid = ({
|
|
|
15199
15372
|
if (!element || !isAtLiveEdgeRef.current) return;
|
|
15200
15373
|
element.scrollTop = element.scrollHeight;
|
|
15201
15374
|
}, [order2, spans?.length, lastSpanId]);
|
|
15202
|
-
return /* @__PURE__ */ (0,
|
|
15203
|
-
/* @__PURE__ */ (0,
|
|
15204
|
-
/* @__PURE__ */ (0,
|
|
15205
|
-
errorCount !== void 0 && errorCount > 0 && /* @__PURE__ */ (0,
|
|
15206
|
-
/* @__PURE__ */ (0,
|
|
15207
|
-
/* @__PURE__ */ (0,
|
|
15208
|
-
|
|
15375
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(import_jsx_runtime128.Fragment, { children: [
|
|
15376
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_material7.Grid, { item: true, xs: 12, children: /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(import_material7.Box, { sx: { alignItems: "center", display: "flex", gap: "0.5rem" }, children: [
|
|
15377
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(SpanCountBadge, { licenseLimit, systemLimit, totalCount, visibleCount: spans?.length }),
|
|
15378
|
+
errorCount !== void 0 && errorCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(import_jsx_runtime128.Fragment, { children: [
|
|
15379
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_material7.Typography, { color: "text.disabled", sx: { mr: 0.5 }, variant: "body2", children: "\u2014" }),
|
|
15380
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_material7.Tooltip, { title: "Number of errors detected across all operations", children: /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
|
|
15381
|
+
import_material7.Box,
|
|
15209
15382
|
{
|
|
15210
15383
|
"data-testid": ERROR_COUNT_TEST_ID,
|
|
15211
15384
|
sx: { alignItems: "center", borderBottom: "1px dotted", borderColor: "error.main", cursor: "default", display: "flex", gap: 0.5, mb: "-1px" },
|
|
15212
15385
|
children: [
|
|
15213
|
-
/* @__PURE__ */ (0,
|
|
15214
|
-
/* @__PURE__ */ (0,
|
|
15386
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_material7.Typography, { color: "error", variant: "body2", children: errorCount.toLocaleString() }),
|
|
15387
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_material7.Typography, { color: "error", variant: "caption", children: errorCount === 1 ? "error" : "errors" })
|
|
15215
15388
|
]
|
|
15216
15389
|
}
|
|
15217
15390
|
) })
|
|
15218
15391
|
] }),
|
|
15219
|
-
warningCount !== void 0 && warningCount > 0 && /* @__PURE__ */ (0,
|
|
15220
|
-
/* @__PURE__ */ (0,
|
|
15221
|
-
/* @__PURE__ */ (0,
|
|
15222
|
-
|
|
15392
|
+
warningCount !== void 0 && warningCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(import_jsx_runtime128.Fragment, { children: [
|
|
15393
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_material7.Typography, { color: "text.disabled", sx: { mr: 0.5 }, variant: "body2", children: "\u2014" }),
|
|
15394
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_material7.Tooltip, { title: "Number of warnings detected across all operations", children: /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
|
|
15395
|
+
import_material7.Box,
|
|
15223
15396
|
{
|
|
15224
15397
|
"data-testid": WARNING_COUNT_TEST_ID,
|
|
15225
15398
|
sx: { alignItems: "center", borderBottom: "1px dotted", borderColor: "warning.main", cursor: "default", display: "flex", gap: 0.5, mb: "-1px" },
|
|
15226
15399
|
children: [
|
|
15227
|
-
/* @__PURE__ */ (0,
|
|
15228
|
-
/* @__PURE__ */ (0,
|
|
15400
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_material7.Typography, { color: "warning.main", variant: "body2", children: warningCount.toLocaleString() }),
|
|
15401
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_material7.Typography, { color: "warning.main", variant: "caption", children: warningCount === 1 ? "warning" : "warnings" })
|
|
15229
15402
|
]
|
|
15230
15403
|
}
|
|
15231
15404
|
) })
|
|
15232
15405
|
] }),
|
|
15233
|
-
/* @__PURE__ */ (0,
|
|
15234
|
-
/* @__PURE__ */ (0,
|
|
15235
|
-
|
|
15406
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_material7.Box, { sx: { flexGrow: 1 } }),
|
|
15407
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
15408
|
+
import_material7.FormControlLabel,
|
|
15236
15409
|
{
|
|
15237
|
-
control: /* @__PURE__ */ (0,
|
|
15238
|
-
|
|
15410
|
+
control: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
15411
|
+
import_material7.Button,
|
|
15239
15412
|
{
|
|
15240
15413
|
onClick: onToggleStream,
|
|
15241
|
-
startIcon: streamPaused ? /* @__PURE__ */ (0,
|
|
15414
|
+
startIcon: streamPaused ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_icons_material3.PlayArrowOutlined, {}) : /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_icons_material3.PauseOutlined, {}),
|
|
15242
15415
|
variant: "text",
|
|
15243
15416
|
children: streamPaused ? "Resume Stream" : "Pause Stream"
|
|
15244
15417
|
}
|
|
@@ -15246,15 +15419,15 @@ var SpansDataGrid = ({
|
|
|
15246
15419
|
label: ""
|
|
15247
15420
|
}
|
|
15248
15421
|
),
|
|
15249
|
-
/* @__PURE__ */ (0,
|
|
15250
|
-
|
|
15422
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
15423
|
+
import_material7.FormControlLabel,
|
|
15251
15424
|
{
|
|
15252
|
-
control: /* @__PURE__ */ (0,
|
|
15253
|
-
|
|
15425
|
+
control: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
15426
|
+
import_material7.Button,
|
|
15254
15427
|
{
|
|
15255
15428
|
"data-testid": CLEAR_SPANS_TEST_ID,
|
|
15256
15429
|
onClick: onClearSpans,
|
|
15257
|
-
startIcon: /* @__PURE__ */ (0,
|
|
15430
|
+
startIcon: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_icons_material3.DeleteForeverOutlined, {}),
|
|
15258
15431
|
children: "Clear Operations"
|
|
15259
15432
|
}
|
|
15260
15433
|
),
|
|
@@ -15263,8 +15436,8 @@ var SpansDataGrid = ({
|
|
|
15263
15436
|
}
|
|
15264
15437
|
)
|
|
15265
15438
|
] }) }),
|
|
15266
|
-
/* @__PURE__ */ (0,
|
|
15267
|
-
|
|
15439
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_material7.Paper, { sx: { flexGrow: 1, overflow: "hidden", position: "relative", width: "100%" }, children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
15440
|
+
import_material7.TableContainer,
|
|
15268
15441
|
{
|
|
15269
15442
|
onScroll: handleScroll,
|
|
15270
15443
|
ref: containerRef,
|
|
@@ -15276,8 +15449,8 @@ var SpansDataGrid = ({
|
|
|
15276
15449
|
right: 0,
|
|
15277
15450
|
top: 0
|
|
15278
15451
|
},
|
|
15279
|
-
children: /* @__PURE__ */ (0,
|
|
15280
|
-
|
|
15452
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
|
|
15453
|
+
import_material7.Table,
|
|
15281
15454
|
{
|
|
15282
15455
|
stickyHeader: true,
|
|
15283
15456
|
sx: {
|
|
@@ -15288,9 +15461,9 @@ var SpansDataGrid = ({
|
|
|
15288
15461
|
"th+th": { pl: "8px !important" }
|
|
15289
15462
|
},
|
|
15290
15463
|
children: [
|
|
15291
|
-
/* @__PURE__ */ (0,
|
|
15292
|
-
return /* @__PURE__ */ (0,
|
|
15293
|
-
|
|
15464
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_material7.TableHead, { children: table.getHeaderGroups().map((headerGroup) => {
|
|
15465
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_material7.TableRow, { children: headerGroup.headers.map((header) => /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
15466
|
+
import_material7.TableCell,
|
|
15294
15467
|
{
|
|
15295
15468
|
colSpan: header.colSpan,
|
|
15296
15469
|
sx: {
|
|
@@ -15304,31 +15477,31 @@ var SpansDataGrid = ({
|
|
|
15304
15477
|
header.id
|
|
15305
15478
|
)) }, headerGroup.id);
|
|
15306
15479
|
}) }),
|
|
15307
|
-
/* @__PURE__ */ (0,
|
|
15308
|
-
(spans === void 0 || clearingSpans) && /* @__PURE__ */ (0,
|
|
15309
|
-
!clearingSpans && spans?.length === 0 && /* @__PURE__ */ (0,
|
|
15310
|
-
!clearingSpans && order2 === "newest_first" && /* @__PURE__ */ (0,
|
|
15311
|
-
hasRows && hasMoreForward && /* @__PURE__ */ (0,
|
|
15312
|
-
hasRows && !hasMoreForward && /* @__PURE__ */ (0,
|
|
15313
|
-
hasRows && /* @__PURE__ */ (0,
|
|
15480
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(import_material7.TableBody, { children: [
|
|
15481
|
+
(spans === void 0 || clearingSpans) && /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_material7.TableRow, { children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_material7.TableCell, { colSpan: columnCount, sx: { fontStyle: "italic", textAlign: "center" }, children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_material7.CircularProgress, { size: 48, sx: { m: 4 } }) }) }),
|
|
15482
|
+
!clearingSpans && spans?.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(StreamBoundaryRow, { colSpan: columnCount, label: LABEL_NO_SPANS }),
|
|
15483
|
+
!clearingSpans && order2 === "newest_first" && /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(import_jsx_runtime128.Fragment, { children: [
|
|
15484
|
+
hasRows && hasMoreForward && /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(LoadSpansRow, { colSpan: columnCount, fetching: fetchingForward, label: LABEL_LOAD_NEWER, onFetch: onFetchForward }),
|
|
15485
|
+
hasRows && !hasMoreForward && /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(StreamBoundaryRow, { colSpan: columnCount, label: LABEL_END_OF_STREAM }),
|
|
15486
|
+
hasRows && /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(AnimatePresence, { initial: false, children: (() => {
|
|
15314
15487
|
const reversed = [];
|
|
15315
15488
|
for (let index = rows.length - 1; index >= 0; index--) {
|
|
15316
15489
|
const row = rows.at(index);
|
|
15317
15490
|
reversed.push(
|
|
15318
|
-
/* @__PURE__ */ (0,
|
|
15491
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(SpansDataGridRow, { onSpanClick, row }, row.original.span_id)
|
|
15319
15492
|
);
|
|
15320
15493
|
}
|
|
15321
15494
|
return reversed;
|
|
15322
15495
|
})() }),
|
|
15323
|
-
hasRows && hasMoreBackward && /* @__PURE__ */ (0,
|
|
15324
|
-
hasRows && !hasMoreBackward && /* @__PURE__ */ (0,
|
|
15496
|
+
hasRows && hasMoreBackward && /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(LoadSpansRow, { colSpan: columnCount, fetching: fetchingBackward, label: LABEL_LOAD_OLDER, onFetch: onFetchBackward }),
|
|
15497
|
+
hasRows && !hasMoreBackward && /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(StreamBoundaryRow, { colSpan: columnCount, label: LABEL_BEGINNING_OF_STREAM })
|
|
15325
15498
|
] }),
|
|
15326
|
-
!clearingSpans && order2 === "oldest_first" && /* @__PURE__ */ (0,
|
|
15327
|
-
hasRows && !hasMoreBackward && /* @__PURE__ */ (0,
|
|
15328
|
-
hasRows && hasMoreBackward && /* @__PURE__ */ (0,
|
|
15329
|
-
hasRows && /* @__PURE__ */ (0,
|
|
15330
|
-
hasRows && hasMoreForward && /* @__PURE__ */ (0,
|
|
15331
|
-
hasRows && !hasMoreForward && /* @__PURE__ */ (0,
|
|
15499
|
+
!clearingSpans && order2 === "oldest_first" && /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(import_jsx_runtime128.Fragment, { children: [
|
|
15500
|
+
hasRows && !hasMoreBackward && /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(StreamBoundaryRow, { colSpan: columnCount, label: LABEL_BEGINNING_OF_STREAM }),
|
|
15501
|
+
hasRows && hasMoreBackward && /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(LoadSpansRow, { colSpan: columnCount, fetching: fetchingBackward, label: LABEL_LOAD_OLDER, onFetch: onFetchBackward }),
|
|
15502
|
+
hasRows && /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(AnimatePresence, { initial: false, children: rows.map((row) => /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(SpansDataGridRow, { onSpanClick, row }, row.original.span_id)) }),
|
|
15503
|
+
hasRows && hasMoreForward && /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(LoadSpansRow, { colSpan: columnCount, fetching: fetchingForward, label: LABEL_LOAD_NEWER, onFetch: onFetchForward }),
|
|
15504
|
+
hasRows && !hasMoreForward && /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(StreamBoundaryRow, { colSpan: columnCount, label: LABEL_END_OF_STREAM })
|
|
15332
15505
|
] })
|
|
15333
15506
|
] })
|
|
15334
15507
|
]
|
|
@@ -15340,13 +15513,13 @@ var SpansDataGrid = ({
|
|
|
15340
15513
|
};
|
|
15341
15514
|
|
|
15342
15515
|
// src/components/spans-list/spans-list.tsx
|
|
15343
|
-
var
|
|
15516
|
+
var import_jsx_runtime129 = require("react/jsx-runtime");
|
|
15344
15517
|
var SpansList = (props) => {
|
|
15345
|
-
return /* @__PURE__ */ (0,
|
|
15346
|
-
props.fetchError && /* @__PURE__ */ (0,
|
|
15347
|
-
|
|
15518
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(import_material8.Box, { "data-testid": SPANS_DATA_GRID_TEST_ID, sx: { display: "flex", flexDirection: "column", flexGrow: 1, gap: 2, width: "100%" }, children: [
|
|
15519
|
+
props.fetchError && /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
|
|
15520
|
+
import_material8.Alert,
|
|
15348
15521
|
{
|
|
15349
|
-
action: /* @__PURE__ */ (0,
|
|
15522
|
+
action: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(import_material8.Button, { onClick: props.onFetchForward, children: "Retry" }),
|
|
15350
15523
|
severity: "error",
|
|
15351
15524
|
children: [
|
|
15352
15525
|
"Unexpected error:",
|
|
@@ -15355,7 +15528,7 @@ var SpansList = (props) => {
|
|
|
15355
15528
|
]
|
|
15356
15529
|
}
|
|
15357
15530
|
),
|
|
15358
|
-
/* @__PURE__ */ (0,
|
|
15531
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
15359
15532
|
SpansDataGrid,
|
|
15360
15533
|
{
|
|
15361
15534
|
clearingSpans: props.clearingSpans,
|
|
@@ -15383,10 +15556,10 @@ var SpansList = (props) => {
|
|
|
15383
15556
|
};
|
|
15384
15557
|
|
|
15385
15558
|
// src/components/status-message/status-message.tsx
|
|
15386
|
-
var
|
|
15387
|
-
var
|
|
15559
|
+
var import_icons_material4 = require("@mui/icons-material");
|
|
15560
|
+
var import_material9 = require("@mui/material");
|
|
15388
15561
|
var import_react43 = require("react");
|
|
15389
|
-
var
|
|
15562
|
+
var import_jsx_runtime130 = require("react/jsx-runtime");
|
|
15390
15563
|
var StatusMessage = ({
|
|
15391
15564
|
error,
|
|
15392
15565
|
localstackVersion,
|
|
@@ -15410,8 +15583,8 @@ var StatusMessage = ({
|
|
|
15410
15583
|
};
|
|
15411
15584
|
if (error instanceof AppInspectorNotFoundError) {
|
|
15412
15585
|
const isBelowMinimum = localstackVersion !== void 0 && checkEmulatorVersion(localstackVersion) === "below-minimum";
|
|
15413
|
-
return /* @__PURE__ */ (0,
|
|
15414
|
-
|
|
15586
|
+
return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
15587
|
+
import_material9.Box,
|
|
15415
15588
|
{
|
|
15416
15589
|
sx: {
|
|
15417
15590
|
alignItems: "center",
|
|
@@ -15421,18 +15594,18 @@ var StatusMessage = ({
|
|
|
15421
15594
|
justifyContent: "center",
|
|
15422
15595
|
p: 4
|
|
15423
15596
|
},
|
|
15424
|
-
children: /* @__PURE__ */ (0,
|
|
15425
|
-
|
|
15597
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(
|
|
15598
|
+
import_material9.Alert,
|
|
15426
15599
|
{
|
|
15427
|
-
icon: /* @__PURE__ */ (0,
|
|
15600
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_icons_material4.ErrorOutline, { fontSize: "large" }),
|
|
15428
15601
|
severity: "error",
|
|
15429
15602
|
sx: { maxWidth: 600, width: "100%" },
|
|
15430
15603
|
children: [
|
|
15431
|
-
/* @__PURE__ */ (0,
|
|
15432
|
-
/* @__PURE__ */ (0,
|
|
15433
|
-
/* @__PURE__ */ (0,
|
|
15434
|
-
/* @__PURE__ */ (0,
|
|
15435
|
-
|
|
15604
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_material9.AlertTitle, { sx: { fontWeight: "bold" }, children: "App Inspector Not Available" }),
|
|
15605
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_material9.Typography, { sx: { mb: 2 }, variant: "body2", children: isBelowMinimum ? `App Inspector requires LocalStack ${MINIMUM_EMULATOR_VERSION} or later. You are running version ${localstackVersion}. Please update LocalStack.` : "App Inspector is not available in LocalStack. Ensure LocalStack is up-to-date." }),
|
|
15606
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_material9.Typography, { sx: { mb: 1 }, variant: "body2", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("strong", { children: "Update LocalStack:" }) }),
|
|
15607
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
15608
|
+
import_material9.Box,
|
|
15436
15609
|
{
|
|
15437
15610
|
component: "pre",
|
|
15438
15611
|
sx: {
|
|
@@ -15444,8 +15617,8 @@ var StatusMessage = ({
|
|
|
15444
15617
|
children: "localstack update docker-images"
|
|
15445
15618
|
}
|
|
15446
15619
|
),
|
|
15447
|
-
/* @__PURE__ */ (0,
|
|
15448
|
-
|
|
15620
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_material9.Box, { sx: { display: "flex", gap: 1, mt: 2 }, children: onRetry && /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
15621
|
+
import_material9.Button,
|
|
15449
15622
|
{
|
|
15450
15623
|
"aria-label": "Check App Inspector status again",
|
|
15451
15624
|
disabled: enabling,
|
|
@@ -15461,8 +15634,8 @@ var StatusMessage = ({
|
|
|
15461
15634
|
);
|
|
15462
15635
|
}
|
|
15463
15636
|
if (error instanceof ConnectionError) {
|
|
15464
|
-
return /* @__PURE__ */ (0,
|
|
15465
|
-
|
|
15637
|
+
return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
15638
|
+
import_material9.Box,
|
|
15466
15639
|
{
|
|
15467
15640
|
sx: {
|
|
15468
15641
|
alignItems: "center",
|
|
@@ -15472,18 +15645,18 @@ var StatusMessage = ({
|
|
|
15472
15645
|
justifyContent: "center",
|
|
15473
15646
|
p: 4
|
|
15474
15647
|
},
|
|
15475
|
-
children: /* @__PURE__ */ (0,
|
|
15476
|
-
|
|
15648
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(
|
|
15649
|
+
import_material9.Alert,
|
|
15477
15650
|
{
|
|
15478
|
-
icon: /* @__PURE__ */ (0,
|
|
15651
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_icons_material4.ErrorOutline, { fontSize: "large" }),
|
|
15479
15652
|
severity: "error",
|
|
15480
15653
|
sx: { maxWidth: 600, width: "100%" },
|
|
15481
15654
|
children: [
|
|
15482
|
-
/* @__PURE__ */ (0,
|
|
15483
|
-
/* @__PURE__ */ (0,
|
|
15655
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_material9.AlertTitle, { sx: { fontWeight: "bold" }, children: "Connection Error" }),
|
|
15656
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(import_material9.Typography, { sx: { mb: 2 }, variant: "body2", children: [
|
|
15484
15657
|
"Failed to connect to LocalStack. Ensure ",
|
|
15485
|
-
/* @__PURE__ */ (0,
|
|
15486
|
-
|
|
15658
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
15659
|
+
import_material9.Link,
|
|
15487
15660
|
{
|
|
15488
15661
|
href: "https://docs.localstack.cloud/aws/getting-started/installation/",
|
|
15489
15662
|
rel: "noopener noreferrer",
|
|
@@ -15493,9 +15666,9 @@ var StatusMessage = ({
|
|
|
15493
15666
|
),
|
|
15494
15667
|
" is running and accessible."
|
|
15495
15668
|
] }),
|
|
15496
|
-
/* @__PURE__ */ (0,
|
|
15497
|
-
/* @__PURE__ */ (0,
|
|
15498
|
-
|
|
15669
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_material9.Typography, { sx: { mb: 1 }, variant: "body2", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("strong", { children: "Start LocalStack:" }) }),
|
|
15670
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
15671
|
+
import_material9.Box,
|
|
15499
15672
|
{
|
|
15500
15673
|
component: "pre",
|
|
15501
15674
|
sx: {
|
|
@@ -15507,8 +15680,8 @@ var StatusMessage = ({
|
|
|
15507
15680
|
children: "localstack start"
|
|
15508
15681
|
}
|
|
15509
15682
|
),
|
|
15510
|
-
onRetry && /* @__PURE__ */ (0,
|
|
15511
|
-
|
|
15683
|
+
onRetry && /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_material9.Box, { sx: { display: "flex", justifyContent: "flex-start", mt: 2 }, children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
15684
|
+
import_material9.Button,
|
|
15512
15685
|
{
|
|
15513
15686
|
"aria-label": "Retry connection to LocalStack",
|
|
15514
15687
|
onClick: onRetry,
|
|
@@ -15523,8 +15696,8 @@ var StatusMessage = ({
|
|
|
15523
15696
|
);
|
|
15524
15697
|
}
|
|
15525
15698
|
if (error instanceof AppInspectorDisabledError || status?.status === "DISABLED") {
|
|
15526
|
-
return /* @__PURE__ */ (0,
|
|
15527
|
-
|
|
15699
|
+
return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
15700
|
+
import_material9.Box,
|
|
15528
15701
|
{
|
|
15529
15702
|
sx: {
|
|
15530
15703
|
alignItems: "center",
|
|
@@ -15534,43 +15707,31 @@ var StatusMessage = ({
|
|
|
15534
15707
|
justifyContent: "center",
|
|
15535
15708
|
p: 4
|
|
15536
15709
|
},
|
|
15537
|
-
children: /* @__PURE__ */ (0,
|
|
15538
|
-
|
|
15710
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(
|
|
15711
|
+
import_material9.Alert,
|
|
15539
15712
|
{
|
|
15540
|
-
icon: /* @__PURE__ */ (0,
|
|
15713
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_icons_material4.InfoOutlined, { fontSize: "large" }),
|
|
15541
15714
|
severity: "warning",
|
|
15542
15715
|
sx: { maxWidth: 600, width: "100%" },
|
|
15543
15716
|
children: [
|
|
15544
|
-
/* @__PURE__ */ (0,
|
|
15545
|
-
/* @__PURE__ */ (0,
|
|
15546
|
-
/* @__PURE__ */ (0,
|
|
15547
|
-
|
|
15548
|
-
|
|
15549
|
-
|
|
15550
|
-
|
|
15551
|
-
|
|
15552
|
-
|
|
15553
|
-
|
|
15554
|
-
|
|
15555
|
-
|
|
15556
|
-
|
|
15557
|
-
|
|
15558
|
-
|
|
15559
|
-
|
|
15560
|
-
|
|
15561
|
-
|
|
15562
|
-
{
|
|
15563
|
-
"aria-label": "Check if App Inspector is enabled",
|
|
15564
|
-
disabled: enabling,
|
|
15565
|
-
onClick: onRetry,
|
|
15566
|
-
variant: "outlined",
|
|
15567
|
-
children: "Check Again"
|
|
15568
|
-
}
|
|
15569
|
-
)
|
|
15570
|
-
] }),
|
|
15571
|
-
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)(import_material8.Typography, { sx: { mb: 1 }, variant: "body2", children: "If you'd prefer to automatically enable App Inspector at start up, use:" }),
|
|
15572
|
-
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
15573
|
-
import_material8.Box,
|
|
15717
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_material9.AlertTitle, { sx: { fontWeight: "bold" }, children: "App Inspector Is Not Enabled" }),
|
|
15718
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_material9.Typography, { sx: { mb: 2 }, variant: "body2", children: "App Inspector is not currently enabled in LocalStack. You can enable it now, or at startup." }),
|
|
15719
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_material9.Box, { sx: { display: "flex", gap: 1, mb: 2 }, children: onEnable && /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
15720
|
+
import_material9.Button,
|
|
15721
|
+
{
|
|
15722
|
+
"aria-label": "Enable App Inspector Now",
|
|
15723
|
+
disabled: enabling,
|
|
15724
|
+
onClick: () => {
|
|
15725
|
+
void handleEnable();
|
|
15726
|
+
},
|
|
15727
|
+
startIcon: enabling ? /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_material9.CircularProgress, { size: 16 }) : void 0,
|
|
15728
|
+
variant: "contained",
|
|
15729
|
+
children: "Enable App Inspector Now"
|
|
15730
|
+
}
|
|
15731
|
+
) }),
|
|
15732
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_material9.Typography, { sx: { mb: 1 }, variant: "body2", children: "If you'd prefer to automatically enable App Inspector at start up, use:" }),
|
|
15733
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
15734
|
+
import_material9.Box,
|
|
15574
15735
|
{
|
|
15575
15736
|
component: "pre",
|
|
15576
15737
|
sx: {
|
|
@@ -15582,7 +15743,7 @@ var StatusMessage = ({
|
|
|
15582
15743
|
children: "LOCALSTACK_APP_INSPECTOR=1 localstack start"
|
|
15583
15744
|
}
|
|
15584
15745
|
),
|
|
15585
|
-
Boolean(enableError) && /* @__PURE__ */ (0,
|
|
15746
|
+
Boolean(enableError) && /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_material9.Typography, { color: "error", sx: { mt: 1 }, variant: "body2", children: enableError })
|
|
15586
15747
|
]
|
|
15587
15748
|
}
|
|
15588
15749
|
)
|
|
@@ -15590,8 +15751,8 @@ var StatusMessage = ({
|
|
|
15590
15751
|
);
|
|
15591
15752
|
}
|
|
15592
15753
|
if (error) {
|
|
15593
|
-
return /* @__PURE__ */ (0,
|
|
15594
|
-
|
|
15754
|
+
return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
15755
|
+
import_material9.Box,
|
|
15595
15756
|
{
|
|
15596
15757
|
sx: {
|
|
15597
15758
|
alignItems: "center",
|
|
@@ -15601,17 +15762,17 @@ var StatusMessage = ({
|
|
|
15601
15762
|
justifyContent: "center",
|
|
15602
15763
|
p: 4
|
|
15603
15764
|
},
|
|
15604
|
-
children: /* @__PURE__ */ (0,
|
|
15605
|
-
|
|
15765
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(
|
|
15766
|
+
import_material9.Alert,
|
|
15606
15767
|
{
|
|
15607
|
-
icon: /* @__PURE__ */ (0,
|
|
15768
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_icons_material4.ErrorOutline, { fontSize: "large" }),
|
|
15608
15769
|
severity: "error",
|
|
15609
15770
|
sx: { maxWidth: 600, width: "100%" },
|
|
15610
15771
|
children: [
|
|
15611
|
-
/* @__PURE__ */ (0,
|
|
15612
|
-
/* @__PURE__ */ (0,
|
|
15613
|
-
onRetry && /* @__PURE__ */ (0,
|
|
15614
|
-
|
|
15772
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_material9.AlertTitle, { sx: { fontWeight: "bold" }, children: "Error" }),
|
|
15773
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_material9.Typography, { sx: { mb: 2 }, variant: "body2", children: error.message }),
|
|
15774
|
+
onRetry && /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_material9.Box, { sx: { display: "flex", justifyContent: "flex-start", mt: 2 }, children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
15775
|
+
import_material9.Button,
|
|
15615
15776
|
{
|
|
15616
15777
|
"aria-label": "Retry operation",
|
|
15617
15778
|
onClick: onRetry,
|
|
@@ -15625,7 +15786,7 @@ var StatusMessage = ({
|
|
|
15625
15786
|
}
|
|
15626
15787
|
);
|
|
15627
15788
|
}
|
|
15628
|
-
return /* @__PURE__ */ (0,
|
|
15789
|
+
return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_jsx_runtime130.Fragment, {});
|
|
15629
15790
|
};
|
|
15630
15791
|
|
|
15631
15792
|
// src/hooks/status-provider.tsx
|
|
@@ -15674,7 +15835,7 @@ var useStatus = () => {
|
|
|
15674
15835
|
};
|
|
15675
15836
|
|
|
15676
15837
|
// src/hooks/status-provider.tsx
|
|
15677
|
-
var
|
|
15838
|
+
var import_jsx_runtime131 = require("react/jsx-runtime");
|
|
15678
15839
|
var AppInspectorStatusContext = (0, import_react45.createContext)(void 0);
|
|
15679
15840
|
var StatusProvider = ({ children }) => {
|
|
15680
15841
|
const { checking, checkStatus, error, status } = useStatus();
|
|
@@ -15685,7 +15846,7 @@ var StatusProvider = ({ children }) => {
|
|
|
15685
15846
|
() => ({ checking, checkStatus, reportDisabled, status, statusError: error }),
|
|
15686
15847
|
[checking, checkStatus, reportDisabled, status, error]
|
|
15687
15848
|
);
|
|
15688
|
-
return /* @__PURE__ */ (0,
|
|
15849
|
+
return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(AppInspectorStatusContext.Provider, { value, children });
|
|
15689
15850
|
};
|
|
15690
15851
|
var useAppInspectorStatus = () => {
|
|
15691
15852
|
const value = (0, import_react45.useContext)(AppInspectorStatusContext);
|
|
@@ -18104,7 +18265,7 @@ var useAppInspectorOpenAnalytics = () => {
|
|
|
18104
18265
|
};
|
|
18105
18266
|
|
|
18106
18267
|
// src/context.tsx
|
|
18107
|
-
var
|
|
18268
|
+
var import_jsx_runtime132 = require("react/jsx-runtime");
|
|
18108
18269
|
var AppInspectorContext = (0, import_react48.createContext)(void 0);
|
|
18109
18270
|
var useAppInspector = () => {
|
|
18110
18271
|
const context = (0, import_react48.useContext)(AppInspectorContext);
|
|
@@ -18115,7 +18276,7 @@ var useAppInspector = () => {
|
|
|
18115
18276
|
};
|
|
18116
18277
|
var AppInspectorAnalyticsBoundary = ({ children }) => {
|
|
18117
18278
|
useAppInspectorOpenAnalytics();
|
|
18118
|
-
return /* @__PURE__ */ (0,
|
|
18279
|
+
return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_jsx_runtime132.Fragment, { children });
|
|
18119
18280
|
};
|
|
18120
18281
|
var AppInspectorContextProvider = (props) => {
|
|
18121
18282
|
const api = (0, import_react49.useMemo)(
|
|
@@ -18147,7 +18308,7 @@ var AppInspectorContextProvider = (props) => {
|
|
|
18147
18308
|
}),
|
|
18148
18309
|
[deploymentContainer, props.linkComponent, props.localstackEndpoint, resolveLink]
|
|
18149
18310
|
);
|
|
18150
|
-
return /* @__PURE__ */ (0,
|
|
18311
|
+
return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(ApiProvider, { api, children: /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(StatusProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(AppInspectorContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(AppInspectorAnalyticsBoundary, { children: props.children }) }) }) });
|
|
18151
18312
|
};
|
|
18152
18313
|
|
|
18153
18314
|
// src/hooks/use-spans-ws.tsx
|
|
@@ -18433,103 +18594,17 @@ var useSpans = () => {
|
|
|
18433
18594
|
};
|
|
18434
18595
|
|
|
18435
18596
|
// src/pages/trace-graph-page.tsx
|
|
18436
|
-
var
|
|
18437
|
-
var
|
|
18597
|
+
var import_icons_material13 = require("@mui/icons-material");
|
|
18598
|
+
var import_material23 = require("@mui/material");
|
|
18438
18599
|
var import_styles = require("@mui/material/styles");
|
|
18439
18600
|
var import_react67 = require("@xyflow/react");
|
|
18440
18601
|
var import_react68 = require("react");
|
|
18441
18602
|
|
|
18442
18603
|
// src/components/event-details/event-details.tsx
|
|
18443
|
-
var
|
|
18444
|
-
var
|
|
18604
|
+
var import_icons_material10 = require("@mui/icons-material");
|
|
18605
|
+
var import_material18 = require("@mui/material");
|
|
18445
18606
|
var import_react59 = require("react");
|
|
18446
18607
|
|
|
18447
|
-
// src/utils/iam-utils.ts
|
|
18448
|
-
function determinePermissionStatus(payload) {
|
|
18449
|
-
if (payload.explicit_deny_count && payload.explicit_deny_count > 0) {
|
|
18450
|
-
return "explicitly_denied";
|
|
18451
|
-
}
|
|
18452
|
-
if (payload.is_allowed && payload.explicit_allow_count && payload.explicit_allow_count > 0) {
|
|
18453
|
-
return "explicitly_allowed";
|
|
18454
|
-
}
|
|
18455
|
-
if (payload.is_allowed) {
|
|
18456
|
-
return "implicitly_allowed";
|
|
18457
|
-
}
|
|
18458
|
-
return "implicitly_denied";
|
|
18459
|
-
}
|
|
18460
|
-
function formatPermissionStatus(status) {
|
|
18461
|
-
switch (status) {
|
|
18462
|
-
case "explicitly_allowed": {
|
|
18463
|
-
return "Explicitly Allowed";
|
|
18464
|
-
}
|
|
18465
|
-
case "explicitly_denied": {
|
|
18466
|
-
return "Explicitly Denied";
|
|
18467
|
-
}
|
|
18468
|
-
case "implicitly_allowed": {
|
|
18469
|
-
return "Implicitly Allowed";
|
|
18470
|
-
}
|
|
18471
|
-
case "implicitly_denied": {
|
|
18472
|
-
return "Implicitly Denied";
|
|
18473
|
-
}
|
|
18474
|
-
}
|
|
18475
|
-
}
|
|
18476
|
-
function getPermissionStatusColor(status) {
|
|
18477
|
-
switch (status) {
|
|
18478
|
-
case "explicitly_allowed":
|
|
18479
|
-
case "implicitly_allowed": {
|
|
18480
|
-
return "success.main";
|
|
18481
|
-
}
|
|
18482
|
-
case "explicitly_denied": {
|
|
18483
|
-
return "error.main";
|
|
18484
|
-
}
|
|
18485
|
-
case "implicitly_denied": {
|
|
18486
|
-
return "warning.main";
|
|
18487
|
-
}
|
|
18488
|
-
}
|
|
18489
|
-
}
|
|
18490
|
-
function parseIAMEvent(payloadString) {
|
|
18491
|
-
try {
|
|
18492
|
-
const payload = JSON.parse(payloadString);
|
|
18493
|
-
const permission = determinePermissionStatus(payload);
|
|
18494
|
-
const actions = [];
|
|
18495
|
-
const resources = [];
|
|
18496
|
-
if (payload.explicit_allows) {
|
|
18497
|
-
for (const allow of payload.explicit_allows) {
|
|
18498
|
-
if (!actions.includes(allow.action)) actions.push(allow.action);
|
|
18499
|
-
if (!resources.includes(allow.resource)) resources.push(allow.resource);
|
|
18500
|
-
}
|
|
18501
|
-
}
|
|
18502
|
-
if (payload.explicit_denies) {
|
|
18503
|
-
for (const deny of payload.explicit_denies) {
|
|
18504
|
-
if (!actions.includes(deny.action)) actions.push(deny.action);
|
|
18505
|
-
if (!resources.includes(deny.resource)) resources.push(deny.resource);
|
|
18506
|
-
}
|
|
18507
|
-
}
|
|
18508
|
-
if (payload.implicit_denies) {
|
|
18509
|
-
for (const deny of payload.implicit_denies) {
|
|
18510
|
-
if (!actions.includes(deny.action)) actions.push(deny.action);
|
|
18511
|
-
if (!resources.includes(deny.resource)) resources.push(deny.resource);
|
|
18512
|
-
}
|
|
18513
|
-
}
|
|
18514
|
-
return {
|
|
18515
|
-
details: {
|
|
18516
|
-
actions,
|
|
18517
|
-
explicitAllows: payload.explicit_allow_count,
|
|
18518
|
-
explicitDenies: payload.explicit_deny_count,
|
|
18519
|
-
implicitDenies: payload.implicit_deny_count,
|
|
18520
|
-
resources
|
|
18521
|
-
},
|
|
18522
|
-
operation: payload.operation,
|
|
18523
|
-
permission,
|
|
18524
|
-
principal: payload.principal_arn,
|
|
18525
|
-
service: payload.service
|
|
18526
|
-
};
|
|
18527
|
-
} catch (error) {
|
|
18528
|
-
console.error("Error parsing IAM event payload:", error);
|
|
18529
|
-
return void 0;
|
|
18530
|
-
}
|
|
18531
|
-
}
|
|
18532
|
-
|
|
18533
18608
|
// src/utils/event-utils.ts
|
|
18534
18609
|
var iamEventParser = (eventName, attributes) => {
|
|
18535
18610
|
if (attributes?.payload && typeof attributes.payload === "string") {
|
|
@@ -18639,70 +18714,70 @@ var getEventGroupsByType = (events) => {
|
|
|
18639
18714
|
};
|
|
18640
18715
|
|
|
18641
18716
|
// src/components/event-details/event-detail.tsx
|
|
18642
|
-
var
|
|
18643
|
-
var
|
|
18717
|
+
var import_icons_material8 = require("@mui/icons-material");
|
|
18718
|
+
var import_material15 = require("@mui/material");
|
|
18644
18719
|
var import_react56 = require("react");
|
|
18645
18720
|
|
|
18646
18721
|
// src/components/status-icon.tsx
|
|
18647
|
-
var
|
|
18648
|
-
var
|
|
18649
|
-
var
|
|
18650
|
-
var
|
|
18722
|
+
var import_icons_material5 = require("@mui/icons-material");
|
|
18723
|
+
var import_material10 = require("@mui/material");
|
|
18724
|
+
var import_jsx_runtime133 = require("react/jsx-runtime");
|
|
18725
|
+
var StatusIcon2 = ({ errorLevel }) => {
|
|
18651
18726
|
switch (errorLevel) {
|
|
18652
18727
|
case EventLevel.LevelError: {
|
|
18653
|
-
return /* @__PURE__ */ (0,
|
|
18728
|
+
return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(import_icons_material5.Cancel, { sx: { color: "red" } });
|
|
18654
18729
|
}
|
|
18655
18730
|
case EventLevel.LevelInfo: {
|
|
18656
|
-
return /* @__PURE__ */ (0,
|
|
18731
|
+
return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(import_icons_material5.Info, { sx: { color: "gray" } });
|
|
18657
18732
|
}
|
|
18658
18733
|
case EventLevel.LevelPermission: {
|
|
18659
|
-
return /* @__PURE__ */ (0,
|
|
18734
|
+
return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(import_icons_material5.RemoveCircle, { sx: { color: "blue" } });
|
|
18660
18735
|
}
|
|
18661
18736
|
case EventLevel.LevelWarning: {
|
|
18662
|
-
return /* @__PURE__ */ (0,
|
|
18737
|
+
return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(import_icons_material5.Error, { sx: { color: "orange" } });
|
|
18663
18738
|
}
|
|
18664
18739
|
default: {
|
|
18665
|
-
return /* @__PURE__ */ (0,
|
|
18740
|
+
return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(import_icons_material5.CheckCircle, { sx: { color: "lightgray" } });
|
|
18666
18741
|
}
|
|
18667
18742
|
}
|
|
18668
18743
|
};
|
|
18669
18744
|
|
|
18670
18745
|
// src/components/event-details/iam-event-detail.tsx
|
|
18671
|
-
var
|
|
18672
|
-
var
|
|
18673
|
-
var
|
|
18674
|
-
var DetailRow = ({ content, label }) => /* @__PURE__ */ (0,
|
|
18675
|
-
/* @__PURE__ */ (0,
|
|
18676
|
-
/* @__PURE__ */ (0,
|
|
18746
|
+
var import_icons_material6 = require("@mui/icons-material");
|
|
18747
|
+
var import_material11 = require("@mui/material");
|
|
18748
|
+
var import_jsx_runtime134 = require("react/jsx-runtime");
|
|
18749
|
+
var DetailRow = ({ content, label }) => /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(import_material11.Box, { sx: { display: "grid", gap: 1, gridTemplateColumns: "72px 1fr", mb: 0.5 }, children: [
|
|
18750
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(import_material11.Typography, { color: "text.secondary", sx: { fontWeight: 600 }, variant: "caption", children: label }),
|
|
18751
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(import_material11.Box, { children: typeof content === "string" ? /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(import_material11.Typography, { sx: { color: "text.primary", wordBreak: "break-word" }, variant: "caption", children: content }) : content })
|
|
18677
18752
|
] });
|
|
18678
18753
|
var PermissionIcon = ({ status }) => {
|
|
18679
18754
|
switch (status) {
|
|
18680
18755
|
case "explicitly_allowed":
|
|
18681
18756
|
case "implicitly_allowed": {
|
|
18682
|
-
return /* @__PURE__ */ (0,
|
|
18757
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(import_icons_material6.CheckCircle, { sx: { color: "success.main", fontSize: "1rem" } });
|
|
18683
18758
|
}
|
|
18684
18759
|
case "explicitly_denied": {
|
|
18685
|
-
return /* @__PURE__ */ (0,
|
|
18760
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(import_icons_material6.Error, { sx: { color: "error.main", fontSize: "1rem" } });
|
|
18686
18761
|
}
|
|
18687
18762
|
case "implicitly_denied": {
|
|
18688
|
-
return /* @__PURE__ */ (0,
|
|
18763
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(import_icons_material6.Warning, { sx: { color: "warning.main", fontSize: "1rem" } });
|
|
18689
18764
|
}
|
|
18690
18765
|
}
|
|
18691
18766
|
};
|
|
18692
18767
|
var IAMEventDetail = ({ event }) => {
|
|
18693
18768
|
const payloadString = event.attributes?.payload;
|
|
18694
18769
|
if (!payloadString) {
|
|
18695
|
-
return /* @__PURE__ */ (0,
|
|
18770
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(import_material11.Typography, { color: "text.secondary", variant: "caption", children: "No IAM policy evaluation data available" });
|
|
18696
18771
|
}
|
|
18697
18772
|
const parsedIAM = parseIAMEvent(payloadString);
|
|
18698
18773
|
if (!parsedIAM) {
|
|
18699
|
-
return /* @__PURE__ */ (0,
|
|
18774
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(import_material11.Typography, { color: "text.secondary", variant: "caption", children: "Failed to parse IAM event data" });
|
|
18700
18775
|
}
|
|
18701
|
-
return /* @__PURE__ */ (0,
|
|
18702
|
-
/* @__PURE__ */ (0,
|
|
18703
|
-
|
|
18776
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(import_material11.Box, { children: [
|
|
18777
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(import_material11.Box, { sx: { mb: 1.5 }, children: /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
18778
|
+
import_material11.Chip,
|
|
18704
18779
|
{
|
|
18705
|
-
icon: /* @__PURE__ */ (0,
|
|
18780
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(PermissionIcon, { status: parsedIAM.permission }),
|
|
18706
18781
|
label: formatPermissionStatus(parsedIAM.permission),
|
|
18707
18782
|
size: "small",
|
|
18708
18783
|
sx: {
|
|
@@ -18712,36 +18787,36 @@ var IAMEventDetail = ({ event }) => {
|
|
|
18712
18787
|
variant: "outlined"
|
|
18713
18788
|
}
|
|
18714
18789
|
) }),
|
|
18715
|
-
/* @__PURE__ */ (0,
|
|
18716
|
-
/* @__PURE__ */ (0,
|
|
18717
|
-
parsedIAM.details.actions && parsedIAM.details.actions.length > 0 && /* @__PURE__ */ (0,
|
|
18790
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(DetailRow, { content: `${parsedIAM.service}:${parsedIAM.operation}`, label: "Operation" }),
|
|
18791
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(DetailRow, { content: parsedIAM.principal, label: "Principal" }),
|
|
18792
|
+
parsedIAM.details.actions && parsedIAM.details.actions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
18718
18793
|
DetailRow,
|
|
18719
18794
|
{
|
|
18720
|
-
content: /* @__PURE__ */ (0,
|
|
18795
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(import_material11.Box, { children: parsedIAM.details.actions.map((action) => /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(import_material11.Typography, { sx: { color: "text.primary", display: "block" }, variant: "caption", children: action }, action)) }),
|
|
18721
18796
|
label: "Actions"
|
|
18722
18797
|
}
|
|
18723
18798
|
),
|
|
18724
|
-
parsedIAM.details.resources && parsedIAM.details.resources.length > 0 && /* @__PURE__ */ (0,
|
|
18799
|
+
parsedIAM.details.resources && parsedIAM.details.resources.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
18725
18800
|
DetailRow,
|
|
18726
18801
|
{
|
|
18727
|
-
content: /* @__PURE__ */ (0,
|
|
18802
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(import_material11.Box, { children: parsedIAM.details.resources.map((resource) => /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(import_material11.Typography, { sx: { color: "text.primary", display: "block", wordBreak: "break-all" }, variant: "caption", children: resource }, resource)) }),
|
|
18728
18803
|
label: "Resources"
|
|
18729
18804
|
}
|
|
18730
18805
|
),
|
|
18731
|
-
(parsedIAM.details.explicitAllows !== void 0 || parsedIAM.details.explicitDenies !== void 0 || parsedIAM.details.implicitDenies !== void 0) && /* @__PURE__ */ (0,
|
|
18732
|
-
/* @__PURE__ */ (0,
|
|
18733
|
-
/* @__PURE__ */ (0,
|
|
18734
|
-
parsedIAM.details.explicitAllows !== void 0 && /* @__PURE__ */ (0,
|
|
18735
|
-
/* @__PURE__ */ (0,
|
|
18736
|
-
/* @__PURE__ */ (0,
|
|
18806
|
+
(parsedIAM.details.explicitAllows !== void 0 || parsedIAM.details.explicitDenies !== void 0 || parsedIAM.details.implicitDenies !== void 0) && /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(import_material11.Box, { sx: { mt: 1.5 }, children: [
|
|
18807
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(import_material11.Typography, { color: "text.secondary", sx: { display: "block", fontWeight: 600, mb: 0.5 }, variant: "caption", children: "Policy Evaluation" }),
|
|
18808
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(import_material11.Box, { sx: { display: "grid", gap: 1, gridTemplateColumns: "repeat(3, 1fr)" }, children: [
|
|
18809
|
+
parsedIAM.details.explicitAllows !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(import_material11.Box, { sx: { textAlign: "center" }, children: [
|
|
18810
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(import_material11.Typography, { color: "success.main", sx: { display: "block", fontWeight: "bold" }, variant: "subtitle2", children: parsedIAM.details.explicitAllows }),
|
|
18811
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(import_material11.Typography, { color: "text.secondary", variant: "caption", children: "Explicit Allows" })
|
|
18737
18812
|
] }),
|
|
18738
|
-
parsedIAM.details.explicitDenies !== void 0 && /* @__PURE__ */ (0,
|
|
18739
|
-
/* @__PURE__ */ (0,
|
|
18740
|
-
/* @__PURE__ */ (0,
|
|
18813
|
+
parsedIAM.details.explicitDenies !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(import_material11.Box, { sx: { textAlign: "center" }, children: [
|
|
18814
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(import_material11.Typography, { color: "error.main", sx: { display: "block", fontWeight: "bold" }, variant: "subtitle2", children: parsedIAM.details.explicitDenies }),
|
|
18815
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(import_material11.Typography, { color: "text.secondary", variant: "caption", children: "Explicit Denies" })
|
|
18741
18816
|
] }),
|
|
18742
|
-
parsedIAM.details.implicitDenies !== void 0 && /* @__PURE__ */ (0,
|
|
18743
|
-
/* @__PURE__ */ (0,
|
|
18744
|
-
/* @__PURE__ */ (0,
|
|
18817
|
+
parsedIAM.details.implicitDenies !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(import_material11.Box, { sx: { textAlign: "center" }, children: [
|
|
18818
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(import_material11.Typography, { color: "warning.main", sx: { display: "block", fontWeight: "bold" }, variant: "subtitle2", children: parsedIAM.details.implicitDenies }),
|
|
18819
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(import_material11.Typography, { color: "text.secondary", variant: "caption", children: "Implicit Denies" })
|
|
18745
18820
|
] })
|
|
18746
18821
|
] })
|
|
18747
18822
|
] })
|
|
@@ -18749,17 +18824,17 @@ var IAMEventDetail = ({ event }) => {
|
|
|
18749
18824
|
};
|
|
18750
18825
|
|
|
18751
18826
|
// src/components/event-details/iam-permission-detail.tsx
|
|
18752
|
-
var
|
|
18753
|
-
var
|
|
18827
|
+
var import_icons_material7 = require("@mui/icons-material");
|
|
18828
|
+
var import_material12 = require("@mui/material");
|
|
18754
18829
|
var import_react53 = require("react");
|
|
18755
|
-
var
|
|
18830
|
+
var import_jsx_runtime135 = require("react/jsx-runtime");
|
|
18756
18831
|
var getChipColors = (status) => ({
|
|
18757
18832
|
backgroundColor: getPermissionStatusColor(status),
|
|
18758
18833
|
color: "white"
|
|
18759
18834
|
});
|
|
18760
|
-
var LabelValue = ({ label, value }) => /* @__PURE__ */ (0,
|
|
18761
|
-
/* @__PURE__ */ (0,
|
|
18762
|
-
/* @__PURE__ */ (0,
|
|
18835
|
+
var LabelValue = ({ label, value }) => /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)(import_material12.Box, { sx: { display: "grid", gap: 1, gridTemplateColumns: "72px 1fr", mb: 0.5 }, children: [
|
|
18836
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)(import_material12.Typography, { color: "text.secondary", sx: { fontWeight: 600 }, variant: "caption", children: label }),
|
|
18837
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)(import_material12.Typography, { sx: { wordBreak: "break-all" }, variant: "caption", children: value })
|
|
18763
18838
|
] });
|
|
18764
18839
|
var IAMPermissionItem = ({ event }) => {
|
|
18765
18840
|
const [isOpen, setIsOpen] = (0, import_react53.useState)(false);
|
|
@@ -18774,39 +18849,39 @@ var IAMPermissionItem = ({ event }) => {
|
|
|
18774
18849
|
return null;
|
|
18775
18850
|
}
|
|
18776
18851
|
const { chipColors, parsedIAM } = parsedData;
|
|
18777
|
-
return /* @__PURE__ */ (0,
|
|
18778
|
-
/* @__PURE__ */ (0,
|
|
18779
|
-
/* @__PURE__ */ (0,
|
|
18852
|
+
return /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)(import_material12.Box, { sx: { mb: 0.5 }, children: [
|
|
18853
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsxs)(import_material12.Box, { sx: { alignItems: "center", display: "flex", gap: 1 }, children: [
|
|
18854
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)(import_material12.IconButton, { onClick: () => {
|
|
18780
18855
|
setIsOpen(!isOpen);
|
|
18781
|
-
}, size: "small", sx: { p: 0 }, children: isOpen ? /* @__PURE__ */ (0,
|
|
18782
|
-
/* @__PURE__ */ (0,
|
|
18783
|
-
/* @__PURE__ */ (0,
|
|
18856
|
+
}, size: "small", sx: { p: 0 }, children: isOpen ? /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(import_icons_material7.KeyboardArrowDown, { sx: { fontSize: 16 } }) : /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(import_icons_material7.KeyboardArrowRight, { sx: { fontSize: 16 } }) }),
|
|
18857
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)(import_material12.Chip, { label: formatPermissionStatus(parsedIAM.permission), size: "small", sx: { ...chipColors, fontWeight: 500 } }),
|
|
18858
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsxs)(import_material12.Typography, { color: "text.secondary", noWrap: true, sx: { flex: 1, overflow: "hidden", textOverflow: "ellipsis" }, variant: "caption", children: [
|
|
18784
18859
|
parsedIAM.service,
|
|
18785
18860
|
":",
|
|
18786
18861
|
parsedIAM.operation
|
|
18787
18862
|
] })
|
|
18788
18863
|
] }),
|
|
18789
|
-
isOpen && /* @__PURE__ */ (0,
|
|
18790
|
-
/* @__PURE__ */ (0,
|
|
18791
|
-
parsedIAM.details.actions && parsedIAM.details.actions.length > 0 && /* @__PURE__ */ (0,
|
|
18792
|
-
/* @__PURE__ */ (0,
|
|
18793
|
-
/* @__PURE__ */ (0,
|
|
18864
|
+
isOpen && /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)(import_material12.Box, { sx: { borderColor: "divider", borderLeft: "2px solid", ml: 1, mt: 0.5, pl: 1.5, py: 0.5 }, children: [
|
|
18865
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)(LabelValue, { label: "Principal", value: parsedIAM.principal }),
|
|
18866
|
+
parsedIAM.details.actions && parsedIAM.details.actions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)(import_material12.Box, { sx: { display: "grid", gap: 1, gridTemplateColumns: "72px 1fr", mb: 0.5 }, children: [
|
|
18867
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)(import_material12.Typography, { color: "text.secondary", sx: { fontWeight: 600 }, variant: "caption", children: "Actions" }),
|
|
18868
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)(import_material12.Box, { children: parsedIAM.details.actions.map((action) => /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(import_material12.Typography, { sx: { display: "block" }, variant: "caption", children: action }, action)) })
|
|
18794
18869
|
] }),
|
|
18795
|
-
parsedIAM.details.resources && parsedIAM.details.resources.length > 0 && /* @__PURE__ */ (0,
|
|
18796
|
-
/* @__PURE__ */ (0,
|
|
18797
|
-
/* @__PURE__ */ (0,
|
|
18870
|
+
parsedIAM.details.resources && parsedIAM.details.resources.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime135.jsxs)(import_material12.Box, { sx: { display: "grid", gap: 1, gridTemplateColumns: "72px 1fr" }, children: [
|
|
18871
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)(import_material12.Typography, { color: "text.secondary", sx: { fontWeight: 600 }, variant: "caption", children: "Resources" }),
|
|
18872
|
+
/* @__PURE__ */ (0, import_jsx_runtime135.jsx)(import_material12.Box, { children: parsedIAM.details.resources.map((resource) => /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(import_material12.Typography, { sx: { display: "block", wordBreak: "break-all" }, variant: "caption", children: resource }, resource)) })
|
|
18798
18873
|
] })
|
|
18799
18874
|
] })
|
|
18800
18875
|
] });
|
|
18801
18876
|
};
|
|
18802
|
-
var IAMPermissionDetail = ({ events }) => /* @__PURE__ */ (0,
|
|
18877
|
+
var IAMPermissionDetail = ({ events }) => /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(import_material12.Box, { children: events.map((event) => /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(IAMPermissionItem, { event }, `${event.span_id}-${event.event_id}`)) });
|
|
18803
18878
|
|
|
18804
18879
|
// src/components/event-details/payload-viewer.tsx
|
|
18805
|
-
var
|
|
18880
|
+
var import_material14 = require("@mui/material");
|
|
18806
18881
|
|
|
18807
18882
|
// node_modules/@textea/json-viewer/dist/index.mjs
|
|
18808
|
-
var
|
|
18809
|
-
var
|
|
18883
|
+
var import_jsx_runtime136 = require("react/jsx-runtime");
|
|
18884
|
+
var import_material13 = require("@mui/material");
|
|
18810
18885
|
var import_react54 = require("react");
|
|
18811
18886
|
var import_zustand = require("zustand");
|
|
18812
18887
|
var import_copy_to_clipboard = __toESM(require_copy_to_clipboard(), 1);
|
|
@@ -19161,7 +19236,7 @@ function useInspect(path, value, nestedIndex) {
|
|
|
19161
19236
|
setInspect
|
|
19162
19237
|
];
|
|
19163
19238
|
}
|
|
19164
|
-
var DataBox = (props) => /* @__PURE__ */ (0,
|
|
19239
|
+
var DataBox = (props) => /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(import_material13.Box, {
|
|
19165
19240
|
component: "div",
|
|
19166
19241
|
...props,
|
|
19167
19242
|
sx: {
|
|
@@ -19172,7 +19247,7 @@ var DataBox = (props) => /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(import_m
|
|
|
19172
19247
|
var DataTypeLabel = (param) => {
|
|
19173
19248
|
let { dataType, enable = true } = param;
|
|
19174
19249
|
if (!enable) return null;
|
|
19175
|
-
return /* @__PURE__ */ (0,
|
|
19250
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(DataBox, {
|
|
19176
19251
|
className: "data-type-label",
|
|
19177
19252
|
sx: {
|
|
19178
19253
|
mx: 0.5,
|
|
@@ -19190,18 +19265,18 @@ function defineEasyType(param) {
|
|
|
19190
19265
|
const storeDisplayDataTypes = useJsonViewerStore((store) => store.displayDataTypes);
|
|
19191
19266
|
const color2 = useJsonViewerStore((store) => store.colorspace[colorKey]);
|
|
19192
19267
|
const onSelect = useJsonViewerStore((store) => store.onSelect);
|
|
19193
|
-
return /* @__PURE__ */ (0,
|
|
19268
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)(DataBox, {
|
|
19194
19269
|
onClick: () => onSelect === null || onSelect === void 0 ? void 0 : onSelect(props.path, props.value),
|
|
19195
19270
|
sx: {
|
|
19196
19271
|
color: color2
|
|
19197
19272
|
},
|
|
19198
19273
|
children: [
|
|
19199
|
-
displayTypeLabel && storeDisplayDataTypes && /* @__PURE__ */ (0,
|
|
19274
|
+
displayTypeLabel && storeDisplayDataTypes && /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(DataTypeLabel, {
|
|
19200
19275
|
dataType: type
|
|
19201
19276
|
}),
|
|
19202
|
-
/* @__PURE__ */ (0,
|
|
19277
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)(DataBox, {
|
|
19203
19278
|
className: "".concat(type, "-value"),
|
|
19204
|
-
children: /* @__PURE__ */ (0,
|
|
19279
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(Render, {
|
|
19205
19280
|
path: props.path,
|
|
19206
19281
|
inspect: props.inspect,
|
|
19207
19282
|
setInspect: props.setInspect,
|
|
@@ -19241,7 +19316,7 @@ function defineEasyType(param) {
|
|
|
19241
19316
|
}, [
|
|
19242
19317
|
setValue
|
|
19243
19318
|
]);
|
|
19244
|
-
return /* @__PURE__ */ (0,
|
|
19319
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(import_material13.InputBase, {
|
|
19245
19320
|
autoFocus: true,
|
|
19246
19321
|
value,
|
|
19247
19322
|
onChange: handleChange,
|
|
@@ -19281,7 +19356,7 @@ var booleanType = defineEasyType({
|
|
|
19281
19356
|
},
|
|
19282
19357
|
Renderer: (param) => {
|
|
19283
19358
|
let { value } = param;
|
|
19284
|
-
return /* @__PURE__ */ (0,
|
|
19359
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(import_jsx_runtime136.Fragment, {
|
|
19285
19360
|
children: value ? "true" : "false"
|
|
19286
19361
|
});
|
|
19287
19362
|
}
|
|
@@ -19300,7 +19375,7 @@ var dateType = defineEasyType({
|
|
|
19300
19375
|
colorKey: "base0D",
|
|
19301
19376
|
Renderer: (param) => {
|
|
19302
19377
|
let { value } = param;
|
|
19303
|
-
return /* @__PURE__ */ (0,
|
|
19378
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(import_jsx_runtime136.Fragment, {
|
|
19304
19379
|
children: value.toLocaleTimeString("en-us", displayOptions)
|
|
19305
19380
|
});
|
|
19306
19381
|
}
|
|
@@ -19329,12 +19404,12 @@ var functionName = (func) => {
|
|
|
19329
19404
|
var lb = "{";
|
|
19330
19405
|
var rb = "}";
|
|
19331
19406
|
var PreFunctionType = (props) => {
|
|
19332
|
-
return /* @__PURE__ */ (0,
|
|
19407
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)(import_material13.NoSsr, {
|
|
19333
19408
|
children: [
|
|
19334
|
-
/* @__PURE__ */ (0,
|
|
19409
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)(DataTypeLabel, {
|
|
19335
19410
|
dataType: "function"
|
|
19336
19411
|
}),
|
|
19337
|
-
/* @__PURE__ */ (0,
|
|
19412
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsxs)(import_material13.Box, {
|
|
19338
19413
|
component: "span",
|
|
19339
19414
|
className: "data-function-start",
|
|
19340
19415
|
sx: {
|
|
@@ -19350,8 +19425,8 @@ var PreFunctionType = (props) => {
|
|
|
19350
19425
|
});
|
|
19351
19426
|
};
|
|
19352
19427
|
var PostFunctionType = () => {
|
|
19353
|
-
return /* @__PURE__ */ (0,
|
|
19354
|
-
children: /* @__PURE__ */ (0,
|
|
19428
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(import_material13.NoSsr, {
|
|
19429
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(import_material13.Box, {
|
|
19355
19430
|
component: "span",
|
|
19356
19431
|
className: "data-function-end",
|
|
19357
19432
|
children: rb
|
|
@@ -19360,15 +19435,15 @@ var PostFunctionType = () => {
|
|
|
19360
19435
|
};
|
|
19361
19436
|
var FunctionType = (props) => {
|
|
19362
19437
|
const functionColor = useJsonViewerStore((store) => store.colorspace.base05);
|
|
19363
|
-
return /* @__PURE__ */ (0,
|
|
19364
|
-
children: /* @__PURE__ */ (0,
|
|
19438
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(import_material13.NoSsr, {
|
|
19439
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(import_material13.Box, {
|
|
19365
19440
|
className: "data-function",
|
|
19366
19441
|
sx: {
|
|
19367
19442
|
display: props.inspect ? "block" : "inline-block",
|
|
19368
19443
|
pl: props.inspect ? 2 : 0,
|
|
19369
19444
|
color: functionColor
|
|
19370
19445
|
},
|
|
19371
|
-
children: props.inspect ? functionBody(props.value) : /* @__PURE__ */ (0,
|
|
19446
|
+
children: props.inspect ? functionBody(props.value) : /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(import_material13.Box, {
|
|
19372
19447
|
component: "span",
|
|
19373
19448
|
className: "data-function-body",
|
|
19374
19449
|
onClick: () => props.setInspect(true),
|
|
@@ -19396,7 +19471,7 @@ var nullType = defineEasyType({
|
|
|
19396
19471
|
displayTypeLabel: false,
|
|
19397
19472
|
Renderer: () => {
|
|
19398
19473
|
const backgroundColor = useJsonViewerStore((store) => store.colorspace.base02);
|
|
19399
|
-
return /* @__PURE__ */ (0,
|
|
19474
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(import_material13.Box, {
|
|
19400
19475
|
sx: {
|
|
19401
19476
|
fontSize: "0.8rem",
|
|
19402
19477
|
backgroundColor,
|
|
@@ -19419,7 +19494,7 @@ var nanType = defineEasyType({
|
|
|
19419
19494
|
deserialize: (value) => parseFloat(value),
|
|
19420
19495
|
Renderer: () => {
|
|
19421
19496
|
const backgroundColor = useJsonViewerStore((store) => store.colorspace.base02);
|
|
19422
|
-
return /* @__PURE__ */ (0,
|
|
19497
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(import_material13.Box, {
|
|
19423
19498
|
sx: {
|
|
19424
19499
|
backgroundColor,
|
|
19425
19500
|
fontSize: "0.8rem",
|
|
@@ -19439,7 +19514,7 @@ var floatType = defineEasyType({
|
|
|
19439
19514
|
deserialize: (value) => parseFloat(value),
|
|
19440
19515
|
Renderer: (param) => {
|
|
19441
19516
|
let { value } = param;
|
|
19442
|
-
return /* @__PURE__ */ (0,
|
|
19517
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(import_jsx_runtime136.Fragment, {
|
|
19443
19518
|
children: value
|
|
19444
19519
|
});
|
|
19445
19520
|
}
|
|
@@ -19453,7 +19528,7 @@ var intType = defineEasyType({
|
|
|
19453
19528
|
deserialize: (value) => parseFloat(value),
|
|
19454
19529
|
Renderer: (param) => {
|
|
19455
19530
|
let { value } = param;
|
|
19456
|
-
return /* @__PURE__ */ (0,
|
|
19531
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(import_jsx_runtime136.Fragment, {
|
|
19457
19532
|
children: value
|
|
19458
19533
|
});
|
|
19459
19534
|
}
|
|
@@ -19466,16 +19541,16 @@ var bigIntType = defineEasyType({
|
|
|
19466
19541
|
deserialize: (value) => BigInt(value.replace(/\D/g, "")),
|
|
19467
19542
|
Renderer: (param) => {
|
|
19468
19543
|
let { value } = param;
|
|
19469
|
-
return /* @__PURE__ */ (0,
|
|
19544
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(import_jsx_runtime136.Fragment, {
|
|
19470
19545
|
children: "".concat(value, "n")
|
|
19471
19546
|
});
|
|
19472
19547
|
}
|
|
19473
19548
|
});
|
|
19474
19549
|
var BaseIcon = (param) => {
|
|
19475
19550
|
let { d: d2, ...props } = param;
|
|
19476
|
-
return /* @__PURE__ */ (0,
|
|
19551
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(import_material13.SvgIcon, {
|
|
19477
19552
|
...props,
|
|
19478
|
-
children: /* @__PURE__ */ (0,
|
|
19553
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime136.jsx)("path", {
|
|
19479
19554
|
d: d2
|
|
19480
19555
|
})
|
|
19481
19556
|
});
|
|
@@ -19490,55 +19565,55 @@ var Edit = "M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.3
|
|
|
19490
19565
|
var ExpandMore = "M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z";
|
|
19491
19566
|
var Delete = "M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM8 9h8v10H8zm7.5-5l-1-1h-5l-1 1H5v2h14V4z";
|
|
19492
19567
|
var AddBoxIcon = (props) => {
|
|
19493
|
-
return /* @__PURE__ */ (0,
|
|
19568
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(BaseIcon, {
|
|
19494
19569
|
d: AddBox,
|
|
19495
19570
|
...props
|
|
19496
19571
|
});
|
|
19497
19572
|
};
|
|
19498
19573
|
var CheckIcon = (props) => {
|
|
19499
|
-
return /* @__PURE__ */ (0,
|
|
19574
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(BaseIcon, {
|
|
19500
19575
|
d: Check,
|
|
19501
19576
|
...props
|
|
19502
19577
|
});
|
|
19503
19578
|
};
|
|
19504
19579
|
var ChevronRightIcon = (props) => {
|
|
19505
|
-
return /* @__PURE__ */ (0,
|
|
19580
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(BaseIcon, {
|
|
19506
19581
|
d: ChevronRight,
|
|
19507
19582
|
...props
|
|
19508
19583
|
});
|
|
19509
19584
|
};
|
|
19510
19585
|
var CircularArrowsIcon = (props) => {
|
|
19511
|
-
return /* @__PURE__ */ (0,
|
|
19586
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(BaseIcon, {
|
|
19512
19587
|
d: CircularArrows,
|
|
19513
19588
|
...props
|
|
19514
19589
|
});
|
|
19515
19590
|
};
|
|
19516
19591
|
var CloseIcon = (props) => {
|
|
19517
|
-
return /* @__PURE__ */ (0,
|
|
19592
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(BaseIcon, {
|
|
19518
19593
|
d: Close,
|
|
19519
19594
|
...props
|
|
19520
19595
|
});
|
|
19521
19596
|
};
|
|
19522
19597
|
var ContentCopyIcon = (props) => {
|
|
19523
|
-
return /* @__PURE__ */ (0,
|
|
19598
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(BaseIcon, {
|
|
19524
19599
|
d: ContentCopy,
|
|
19525
19600
|
...props
|
|
19526
19601
|
});
|
|
19527
19602
|
};
|
|
19528
19603
|
var EditIcon = (props) => {
|
|
19529
|
-
return /* @__PURE__ */ (0,
|
|
19604
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(BaseIcon, {
|
|
19530
19605
|
d: Edit,
|
|
19531
19606
|
...props
|
|
19532
19607
|
});
|
|
19533
19608
|
};
|
|
19534
19609
|
var ExpandMoreIcon = (props) => {
|
|
19535
|
-
return /* @__PURE__ */ (0,
|
|
19610
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(BaseIcon, {
|
|
19536
19611
|
d: ExpandMore,
|
|
19537
19612
|
...props
|
|
19538
19613
|
});
|
|
19539
19614
|
};
|
|
19540
19615
|
var DeleteIcon = (props) => {
|
|
19541
|
-
return /* @__PURE__ */ (0,
|
|
19616
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(BaseIcon, {
|
|
19542
19617
|
d: Delete,
|
|
19543
19618
|
...props
|
|
19544
19619
|
});
|
|
@@ -19577,7 +19652,7 @@ var PreObjectType = (props) => {
|
|
|
19577
19652
|
props.value
|
|
19578
19653
|
]);
|
|
19579
19654
|
const isTrap = useIsCycleReference(props.path, props.value);
|
|
19580
|
-
return /* @__PURE__ */ (0,
|
|
19655
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)(import_material13.Box, {
|
|
19581
19656
|
component: "span",
|
|
19582
19657
|
className: "data-object-start",
|
|
19583
19658
|
sx: {
|
|
@@ -19585,7 +19660,7 @@ var PreObjectType = (props) => {
|
|
|
19585
19660
|
},
|
|
19586
19661
|
children: [
|
|
19587
19662
|
isArrayLike ? arrayLb : objectLb,
|
|
19588
|
-
shouldDisplaySize && props.inspect && !isEmptyValue && /* @__PURE__ */ (0,
|
|
19663
|
+
shouldDisplaySize && props.inspect && !isEmptyValue && /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(import_material13.Box, {
|
|
19589
19664
|
component: "span",
|
|
19590
19665
|
sx: {
|
|
19591
19666
|
pl: 0.5,
|
|
@@ -19595,16 +19670,16 @@ var PreObjectType = (props) => {
|
|
|
19595
19670
|
},
|
|
19596
19671
|
children: sizeOfValue
|
|
19597
19672
|
}),
|
|
19598
|
-
isTrap && !props.inspect && /* @__PURE__ */ (0,
|
|
19673
|
+
isTrap && !props.inspect && /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)(import_jsx_runtime136.Fragment, {
|
|
19599
19674
|
children: [
|
|
19600
|
-
/* @__PURE__ */ (0,
|
|
19675
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)(CircularArrowsIcon, {
|
|
19601
19676
|
sx: {
|
|
19602
19677
|
fontSize: 12,
|
|
19603
19678
|
color: textColor,
|
|
19604
19679
|
mx: 0.5
|
|
19605
19680
|
}
|
|
19606
19681
|
}),
|
|
19607
|
-
/* @__PURE__ */ (0,
|
|
19682
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)(DataBox, {
|
|
19608
19683
|
sx: {
|
|
19609
19684
|
cursor: "pointer",
|
|
19610
19685
|
userSelect: "none"
|
|
@@ -19634,7 +19709,7 @@ var PostObjectType = (props) => {
|
|
|
19634
19709
|
props.path,
|
|
19635
19710
|
props.value
|
|
19636
19711
|
]);
|
|
19637
|
-
return /* @__PURE__ */ (0,
|
|
19712
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)(import_material13.Box, {
|
|
19638
19713
|
component: "span",
|
|
19639
19714
|
className: "data-object-end",
|
|
19640
19715
|
sx: {
|
|
@@ -19645,7 +19720,7 @@ var PostObjectType = (props) => {
|
|
|
19645
19720
|
},
|
|
19646
19721
|
children: [
|
|
19647
19722
|
isArrayLike ? arrayRb : objectRb,
|
|
19648
|
-
shouldDisplaySize && (isEmptyValue || !props.inspect) ? /* @__PURE__ */ (0,
|
|
19723
|
+
shouldDisplaySize && (isEmptyValue || !props.inspect) ? /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(import_material13.Box, {
|
|
19649
19724
|
component: "span",
|
|
19650
19725
|
sx: {
|
|
19651
19726
|
pl: 0.5,
|
|
@@ -19685,7 +19760,7 @@ var ObjectType = (props) => {
|
|
|
19685
19760
|
...props.path,
|
|
19686
19761
|
key
|
|
19687
19762
|
];
|
|
19688
|
-
elements3.push(/* @__PURE__ */ (0,
|
|
19763
|
+
elements3.push(/* @__PURE__ */ (0, import_jsx_runtime136.jsx)(DataKeyPair, {
|
|
19689
19764
|
path,
|
|
19690
19765
|
value: value2,
|
|
19691
19766
|
prevValue: props.prevValue instanceof Map ? props.prevValue.get(k2) : void 0,
|
|
@@ -19701,7 +19776,7 @@ var ObjectType = (props) => {
|
|
|
19701
19776
|
while (true) {
|
|
19702
19777
|
const nextResult = iterator2.next();
|
|
19703
19778
|
var _nextResult_done;
|
|
19704
|
-
elements3.push(/* @__PURE__ */ (0,
|
|
19779
|
+
elements3.push(/* @__PURE__ */ (0, import_jsx_runtime136.jsx)(DataKeyPair, {
|
|
19705
19780
|
path: [
|
|
19706
19781
|
...props.path,
|
|
19707
19782
|
"iterator:".concat(count2)
|
|
@@ -19729,7 +19804,7 @@ var ObjectType = (props) => {
|
|
|
19729
19804
|
...props.path,
|
|
19730
19805
|
index
|
|
19731
19806
|
];
|
|
19732
|
-
return /* @__PURE__ */ (0,
|
|
19807
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(DataKeyPair, {
|
|
19733
19808
|
path,
|
|
19734
19809
|
value: value2,
|
|
19735
19810
|
prevValue: Array.isArray(props.prevValue) ? props.prevValue[index] : void 0,
|
|
@@ -19738,7 +19813,7 @@ var ObjectType = (props) => {
|
|
|
19738
19813
|
});
|
|
19739
19814
|
if (value.length > displayLength) {
|
|
19740
19815
|
const rest = value.length - displayLength;
|
|
19741
|
-
elements4.push(/* @__PURE__ */ (0,
|
|
19816
|
+
elements4.push(/* @__PURE__ */ (0, import_jsx_runtime136.jsxs)(DataBox, {
|
|
19742
19817
|
sx: {
|
|
19743
19818
|
cursor: "pointer",
|
|
19744
19819
|
lineHeight: 1.5,
|
|
@@ -19761,7 +19836,7 @@ var ObjectType = (props) => {
|
|
|
19761
19836
|
const prevElements = Array.isArray(props.prevValue) ? segmentArray(props.prevValue, groupArraysAfterLength) : void 0;
|
|
19762
19837
|
const elementsLastIndex = elements3.length - 1;
|
|
19763
19838
|
return elements3.map((list, index) => {
|
|
19764
|
-
return /* @__PURE__ */ (0,
|
|
19839
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(DataKeyPair, {
|
|
19765
19840
|
path: props.path,
|
|
19766
19841
|
value: list,
|
|
19767
19842
|
nestedIndex: index,
|
|
@@ -19788,7 +19863,7 @@ var ObjectType = (props) => {
|
|
|
19788
19863
|
...props.path,
|
|
19789
19864
|
key
|
|
19790
19865
|
];
|
|
19791
|
-
return /* @__PURE__ */ (0,
|
|
19866
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(DataKeyPair, {
|
|
19792
19867
|
path,
|
|
19793
19868
|
value: value2,
|
|
19794
19869
|
prevValue: (_props_prevValue = props.prevValue) === null || _props_prevValue === void 0 ? void 0 : _props_prevValue[key],
|
|
@@ -19797,7 +19872,7 @@ var ObjectType = (props) => {
|
|
|
19797
19872
|
});
|
|
19798
19873
|
if (entries.length > displayLength) {
|
|
19799
19874
|
const rest = entries.length - displayLength;
|
|
19800
|
-
elements2.push(/* @__PURE__ */ (0,
|
|
19875
|
+
elements2.push(/* @__PURE__ */ (0, import_jsx_runtime136.jsxs)(DataBox, {
|
|
19801
19876
|
sx: {
|
|
19802
19877
|
cursor: "pointer",
|
|
19803
19878
|
lineHeight: 1.5,
|
|
@@ -19835,7 +19910,7 @@ var ObjectType = (props) => {
|
|
|
19835
19910
|
if (isEmptyValue) {
|
|
19836
19911
|
return null;
|
|
19837
19912
|
}
|
|
19838
|
-
return /* @__PURE__ */ (0,
|
|
19913
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(import_material13.Box, {
|
|
19839
19914
|
className: "data-object",
|
|
19840
19915
|
sx: {
|
|
19841
19916
|
display: props.inspect ? "block" : "inline-block",
|
|
@@ -19844,7 +19919,7 @@ var ObjectType = (props) => {
|
|
|
19844
19919
|
color: keyColor,
|
|
19845
19920
|
borderLeft: props.inspect ? "1px solid ".concat(borderColor) : "none"
|
|
19846
19921
|
},
|
|
19847
|
-
children: props.inspect ? elements : !isTrap && /* @__PURE__ */ (0,
|
|
19922
|
+
children: props.inspect ? elements : !isTrap && /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(import_material13.Box, {
|
|
19848
19923
|
component: "span",
|
|
19849
19924
|
className: "data-object-body",
|
|
19850
19925
|
onClick: () => props.setInspect(true),
|
|
@@ -19876,7 +19951,7 @@ var stringType = defineEasyType({
|
|
|
19876
19951
|
const collapseStringsAfterLength = useJsonViewerStore((store) => store.collapseStringsAfterLength);
|
|
19877
19952
|
const value = showRest ? props.value : props.value.slice(0, collapseStringsAfterLength);
|
|
19878
19953
|
const hasRest = props.value.length > collapseStringsAfterLength;
|
|
19879
|
-
return /* @__PURE__ */ (0,
|
|
19954
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)(import_material13.Box, {
|
|
19880
19955
|
component: "span",
|
|
19881
19956
|
sx: {
|
|
19882
19957
|
overflowWrap: "anywhere",
|
|
@@ -19894,7 +19969,7 @@ var stringType = defineEasyType({
|
|
|
19894
19969
|
children: [
|
|
19895
19970
|
'"',
|
|
19896
19971
|
value,
|
|
19897
|
-
hasRest && !showRest && /* @__PURE__ */ (0,
|
|
19972
|
+
hasRest && !showRest && /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(import_material13.Box, {
|
|
19898
19973
|
component: "span",
|
|
19899
19974
|
sx: {
|
|
19900
19975
|
padding: 0.5
|
|
@@ -19913,7 +19988,7 @@ var undefinedType = defineEasyType({
|
|
|
19913
19988
|
displayTypeLabel: false,
|
|
19914
19989
|
Renderer: () => {
|
|
19915
19990
|
const backgroundColor = useJsonViewerStore((store) => store.colorspace.base02);
|
|
19916
|
-
return /* @__PURE__ */ (0,
|
|
19991
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(import_material13.Box, {
|
|
19917
19992
|
sx: {
|
|
19918
19993
|
fontSize: "0.7rem",
|
|
19919
19994
|
backgroundColor,
|
|
@@ -19994,7 +20069,7 @@ function useTypeComponents(value, path) {
|
|
|
19994
20069
|
registry
|
|
19995
20070
|
]);
|
|
19996
20071
|
}
|
|
19997
|
-
var IconBox = (props) => /* @__PURE__ */ (0,
|
|
20072
|
+
var IconBox = (props) => /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(import_material13.Box, {
|
|
19998
20073
|
component: "span",
|
|
19999
20074
|
...props,
|
|
20000
20075
|
sx: {
|
|
@@ -20180,18 +20255,18 @@ var DataKeyPair = (props) => {
|
|
|
20180
20255
|
]);
|
|
20181
20256
|
const actionIcons = (0, import_react54.useMemo)(() => {
|
|
20182
20257
|
if (editing) {
|
|
20183
|
-
return /* @__PURE__ */ (0,
|
|
20258
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)(import_jsx_runtime136.Fragment, {
|
|
20184
20259
|
children: [
|
|
20185
|
-
/* @__PURE__ */ (0,
|
|
20186
|
-
children: /* @__PURE__ */ (0,
|
|
20260
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)(IconBox, {
|
|
20261
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(CloseIcon, {
|
|
20187
20262
|
sx: {
|
|
20188
20263
|
fontSize: ".8rem"
|
|
20189
20264
|
},
|
|
20190
20265
|
onClick: abortEditing
|
|
20191
20266
|
})
|
|
20192
20267
|
}),
|
|
20193
|
-
/* @__PURE__ */ (0,
|
|
20194
|
-
children: /* @__PURE__ */ (0,
|
|
20268
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)(IconBox, {
|
|
20269
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(CheckIcon, {
|
|
20195
20270
|
sx: {
|
|
20196
20271
|
fontSize: ".8rem"
|
|
20197
20272
|
},
|
|
@@ -20201,9 +20276,9 @@ var DataKeyPair = (props) => {
|
|
|
20201
20276
|
]
|
|
20202
20277
|
});
|
|
20203
20278
|
}
|
|
20204
|
-
return /* @__PURE__ */ (0,
|
|
20279
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)(import_jsx_runtime136.Fragment, {
|
|
20205
20280
|
children: [
|
|
20206
|
-
enableClipboard && /* @__PURE__ */ (0,
|
|
20281
|
+
enableClipboard && /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(IconBox, {
|
|
20207
20282
|
onClick: (event) => {
|
|
20208
20283
|
event.preventDefault();
|
|
20209
20284
|
try {
|
|
@@ -20212,41 +20287,41 @@ var DataKeyPair = (props) => {
|
|
|
20212
20287
|
console.error(e2);
|
|
20213
20288
|
}
|
|
20214
20289
|
},
|
|
20215
|
-
children: copied ? /* @__PURE__ */ (0,
|
|
20290
|
+
children: copied ? /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(CheckIcon, {
|
|
20216
20291
|
sx: {
|
|
20217
20292
|
fontSize: ".8rem"
|
|
20218
20293
|
}
|
|
20219
|
-
}) : /* @__PURE__ */ (0,
|
|
20294
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(ContentCopyIcon, {
|
|
20220
20295
|
sx: {
|
|
20221
20296
|
fontSize: ".8rem"
|
|
20222
20297
|
}
|
|
20223
20298
|
})
|
|
20224
20299
|
}),
|
|
20225
|
-
Editor && editable && serialize && deserialize && /* @__PURE__ */ (0,
|
|
20300
|
+
Editor && editable && serialize && deserialize && /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(IconBox, {
|
|
20226
20301
|
onClick: startEditing,
|
|
20227
|
-
children: /* @__PURE__ */ (0,
|
|
20302
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(EditIcon, {
|
|
20228
20303
|
sx: {
|
|
20229
20304
|
fontSize: ".8rem"
|
|
20230
20305
|
}
|
|
20231
20306
|
})
|
|
20232
20307
|
}),
|
|
20233
|
-
enableAdd && /* @__PURE__ */ (0,
|
|
20308
|
+
enableAdd && /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(IconBox, {
|
|
20234
20309
|
onClick: (event) => {
|
|
20235
20310
|
event.preventDefault();
|
|
20236
20311
|
onAdd === null || onAdd === void 0 ? void 0 : onAdd(path);
|
|
20237
20312
|
},
|
|
20238
|
-
children: /* @__PURE__ */ (0,
|
|
20313
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(AddBoxIcon, {
|
|
20239
20314
|
sx: {
|
|
20240
20315
|
fontSize: ".8rem"
|
|
20241
20316
|
}
|
|
20242
20317
|
})
|
|
20243
20318
|
}),
|
|
20244
|
-
enableDelete && /* @__PURE__ */ (0,
|
|
20319
|
+
enableDelete && /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(IconBox, {
|
|
20245
20320
|
onClick: (event) => {
|
|
20246
20321
|
event.preventDefault();
|
|
20247
20322
|
onDelete === null || onDelete === void 0 ? void 0 : onDelete(path, value);
|
|
20248
20323
|
},
|
|
20249
|
-
children: /* @__PURE__ */ (0,
|
|
20324
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(DeleteIcon, {
|
|
20250
20325
|
sx: {
|
|
20251
20326
|
fontSize: ".9rem"
|
|
20252
20327
|
}
|
|
@@ -20294,7 +20369,7 @@ var DataKeyPair = (props) => {
|
|
|
20294
20369
|
prevValue,
|
|
20295
20370
|
nestedIndex
|
|
20296
20371
|
]);
|
|
20297
|
-
return /* @__PURE__ */ (0,
|
|
20372
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)(import_material13.Box, {
|
|
20298
20373
|
className: "data-key-pair",
|
|
20299
20374
|
"data-testid": "data-key-pair" + path.join("."),
|
|
20300
20375
|
sx: {
|
|
@@ -20306,7 +20381,7 @@ var DataKeyPair = (props) => {
|
|
|
20306
20381
|
nestedIndex
|
|
20307
20382
|
]),
|
|
20308
20383
|
children: [
|
|
20309
|
-
/* @__PURE__ */ (0,
|
|
20384
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsxs)(DataBox, {
|
|
20310
20385
|
component: "span",
|
|
20311
20386
|
className: "data-key",
|
|
20312
20387
|
sx: {
|
|
@@ -20327,7 +20402,7 @@ var DataKeyPair = (props) => {
|
|
|
20327
20402
|
setInspect
|
|
20328
20403
|
]),
|
|
20329
20404
|
children: [
|
|
20330
|
-
expandable ? inspect ? /* @__PURE__ */ (0,
|
|
20405
|
+
expandable ? inspect ? /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(ExpandMoreIcon, {
|
|
20331
20406
|
className: "data-key-toggle-expanded",
|
|
20332
20407
|
sx: {
|
|
20333
20408
|
fontSize: ".8rem",
|
|
@@ -20335,7 +20410,7 @@ var DataKeyPair = (props) => {
|
|
|
20335
20410
|
cursor: "pointer"
|
|
20336
20411
|
}
|
|
20337
20412
|
}
|
|
20338
|
-
}) : /* @__PURE__ */ (0,
|
|
20413
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(ChevronRightIcon, {
|
|
20339
20414
|
className: "data-key-toggle-collapsed",
|
|
20340
20415
|
sx: {
|
|
20341
20416
|
fontSize: ".8rem",
|
|
@@ -20344,44 +20419,44 @@ var DataKeyPair = (props) => {
|
|
|
20344
20419
|
}
|
|
20345
20420
|
}
|
|
20346
20421
|
}) : null,
|
|
20347
|
-
/* @__PURE__ */ (0,
|
|
20422
|
+
/* @__PURE__ */ (0, import_jsx_runtime136.jsx)(import_material13.Box, {
|
|
20348
20423
|
ref: highlightContainer,
|
|
20349
20424
|
className: "data-key-key",
|
|
20350
20425
|
component: "span",
|
|
20351
|
-
children: isRoot && depth === 0 ? rootName !== false ? quotesOnKeys ? /* @__PURE__ */ (0,
|
|
20426
|
+
children: isRoot && depth === 0 ? rootName !== false ? quotesOnKeys ? /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)(import_jsx_runtime136.Fragment, {
|
|
20352
20427
|
children: [
|
|
20353
20428
|
'"',
|
|
20354
20429
|
rootName,
|
|
20355
20430
|
'"'
|
|
20356
20431
|
]
|
|
20357
|
-
}) : /* @__PURE__ */ (0,
|
|
20432
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(import_jsx_runtime136.Fragment, {
|
|
20358
20433
|
children: rootName
|
|
20359
|
-
}) : null : KeyRenderer.when(downstreamProps) ? /* @__PURE__ */ (0,
|
|
20434
|
+
}) : null : KeyRenderer.when(downstreamProps) ? /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(KeyRenderer, {
|
|
20360
20435
|
...downstreamProps
|
|
20361
|
-
}) : nestedIndex === void 0 && (isNumberKey ? /* @__PURE__ */ (0,
|
|
20436
|
+
}) : nestedIndex === void 0 && (isNumberKey ? /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(import_material13.Box, {
|
|
20362
20437
|
component: "span",
|
|
20363
20438
|
style: {
|
|
20364
20439
|
color: numberKeyColor,
|
|
20365
20440
|
userSelect: isNumberKey ? "none" : "auto"
|
|
20366
20441
|
},
|
|
20367
20442
|
children: key
|
|
20368
|
-
}) : quotesOnKeys ? /* @__PURE__ */ (0,
|
|
20443
|
+
}) : quotesOnKeys ? /* @__PURE__ */ (0, import_jsx_runtime136.jsxs)(import_jsx_runtime136.Fragment, {
|
|
20369
20444
|
children: [
|
|
20370
20445
|
'"',
|
|
20371
20446
|
key,
|
|
20372
20447
|
'"'
|
|
20373
20448
|
]
|
|
20374
|
-
}) : /* @__PURE__ */ (0,
|
|
20449
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(import_jsx_runtime136.Fragment, {
|
|
20375
20450
|
children: key
|
|
20376
20451
|
}))
|
|
20377
20452
|
}),
|
|
20378
|
-
isRoot ? rootName !== false && /* @__PURE__ */ (0,
|
|
20453
|
+
isRoot ? rootName !== false && /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(DataBox, {
|
|
20379
20454
|
className: "data-key-colon",
|
|
20380
20455
|
sx: {
|
|
20381
20456
|
mr: 0.5
|
|
20382
20457
|
},
|
|
20383
20458
|
children: ":"
|
|
20384
|
-
}) : nestedIndex === void 0 && /* @__PURE__ */ (0,
|
|
20459
|
+
}) : nestedIndex === void 0 && /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(DataBox, {
|
|
20385
20460
|
className: "data-key-colon",
|
|
20386
20461
|
sx: {
|
|
20387
20462
|
mr: 0.5,
|
|
@@ -20392,29 +20467,29 @@ var DataKeyPair = (props) => {
|
|
|
20392
20467
|
},
|
|
20393
20468
|
children: ":"
|
|
20394
20469
|
}),
|
|
20395
|
-
PreComponent && /* @__PURE__ */ (0,
|
|
20470
|
+
PreComponent && /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(PreComponent, {
|
|
20396
20471
|
...downstreamProps
|
|
20397
20472
|
}),
|
|
20398
20473
|
isHover && expandable && inspect && actionIcons
|
|
20399
20474
|
]
|
|
20400
20475
|
}),
|
|
20401
|
-
editing && editable ? Editor && /* @__PURE__ */ (0,
|
|
20476
|
+
editing && editable ? Editor && /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(Editor, {
|
|
20402
20477
|
path,
|
|
20403
20478
|
value: tempValue,
|
|
20404
20479
|
setValue: setTempValue,
|
|
20405
20480
|
abortEditing,
|
|
20406
20481
|
commitEditing
|
|
20407
|
-
}) : Component ? /* @__PURE__ */ (0,
|
|
20482
|
+
}) : Component ? /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(Component, {
|
|
20408
20483
|
...downstreamProps
|
|
20409
|
-
}) : /* @__PURE__ */ (0,
|
|
20484
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(import_material13.Box, {
|
|
20410
20485
|
component: "span",
|
|
20411
20486
|
className: "data-value-fallback",
|
|
20412
20487
|
children: "fallback: ".concat(value)
|
|
20413
20488
|
}),
|
|
20414
|
-
PostComponent && /* @__PURE__ */ (0,
|
|
20489
|
+
PostComponent && /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(PostComponent, {
|
|
20415
20490
|
...downstreamProps
|
|
20416
20491
|
}),
|
|
20417
|
-
!last && displayComma && /* @__PURE__ */ (0,
|
|
20492
|
+
!last && displayComma && /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(DataBox, {
|
|
20418
20493
|
children: ","
|
|
20419
20494
|
}),
|
|
20420
20495
|
isHover && expandable && !inspect && actionIcons,
|
|
@@ -20534,7 +20609,7 @@ var JsonViewerInner = (props) => {
|
|
|
20534
20609
|
const onMouseLeave = (0, import_react54.useCallback)(() => setHover(null), [
|
|
20535
20610
|
setHover
|
|
20536
20611
|
]);
|
|
20537
|
-
return /* @__PURE__ */ (0,
|
|
20612
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(import_material13.Paper, {
|
|
20538
20613
|
elevation: 0,
|
|
20539
20614
|
className: clsx(themeCls, props.className),
|
|
20540
20615
|
style: props.style,
|
|
@@ -20545,7 +20620,7 @@ var JsonViewerInner = (props) => {
|
|
|
20545
20620
|
...props.sx
|
|
20546
20621
|
},
|
|
20547
20622
|
onMouseLeave,
|
|
20548
|
-
children: /* @__PURE__ */ (0,
|
|
20623
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(DataKeyPair, {
|
|
20549
20624
|
value,
|
|
20550
20625
|
prevValue,
|
|
20551
20626
|
path: emptyPath,
|
|
@@ -20570,7 +20645,7 @@ var JsonViewer = function JsonViewer2(props) {
|
|
|
20570
20645
|
const theme = (0, import_react54.useMemo)(() => {
|
|
20571
20646
|
const backgroundColor = typeof themeType === "object" ? themeType.base00 : themeType === "dark" ? darkColorspace.base00 : lightColorspace.base00;
|
|
20572
20647
|
const foregroundColor = typeof themeType === "object" ? themeType.base07 : themeType === "dark" ? darkColorspace.base07 : lightColorspace.base07;
|
|
20573
|
-
return (0,
|
|
20648
|
+
return (0, import_material13.createTheme)({
|
|
20574
20649
|
components: {
|
|
20575
20650
|
MuiPaper: {
|
|
20576
20651
|
styleOverrides: {
|
|
@@ -20597,13 +20672,13 @@ var JsonViewer = function JsonViewer2(props) {
|
|
|
20597
20672
|
};
|
|
20598
20673
|
const jsonViewerStore = (0, import_react54.useMemo)(() => createJsonViewerStore(props), []);
|
|
20599
20674
|
const typeRegistryStore = (0, import_react54.useMemo)(() => createTypeRegistryStore(), []);
|
|
20600
|
-
return /* @__PURE__ */ (0,
|
|
20675
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(import_material13.ThemeProvider, {
|
|
20601
20676
|
theme,
|
|
20602
|
-
children: /* @__PURE__ */ (0,
|
|
20677
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(TypeRegistryStoreContext.Provider, {
|
|
20603
20678
|
value: typeRegistryStore,
|
|
20604
|
-
children: /* @__PURE__ */ (0,
|
|
20679
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(JsonViewerStoreContext.Provider, {
|
|
20605
20680
|
value: jsonViewerStore,
|
|
20606
|
-
children: /* @__PURE__ */ (0,
|
|
20681
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(JsonViewerInner, {
|
|
20607
20682
|
...mixedProps
|
|
20608
20683
|
})
|
|
20609
20684
|
})
|
|
@@ -20613,7 +20688,7 @@ var JsonViewer = function JsonViewer2(props) {
|
|
|
20613
20688
|
|
|
20614
20689
|
// src/components/event-details/payload-viewer.tsx
|
|
20615
20690
|
var import_react55 = require("react");
|
|
20616
|
-
var
|
|
20691
|
+
var import_jsx_runtime137 = require("react/jsx-runtime");
|
|
20617
20692
|
function tryParseJson(value) {
|
|
20618
20693
|
if (typeof value !== "string") {
|
|
20619
20694
|
return value;
|
|
@@ -20625,8 +20700,8 @@ function tryParseJson(value) {
|
|
|
20625
20700
|
}
|
|
20626
20701
|
}
|
|
20627
20702
|
var PayloadViewer = (0, import_react55.memo)(({ sx, testId, value }) => {
|
|
20628
|
-
const theme = (0,
|
|
20629
|
-
return /* @__PURE__ */ (0,
|
|
20703
|
+
const theme = (0, import_material14.useTheme)();
|
|
20704
|
+
return /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(import_material14.Box, { "data-testid": testId, sx: { backgroundColor: "background.default", borderRadius: 1, fontSize: 12, overflow: "auto", p: 1, ...sx }, children: /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
20630
20705
|
JsonViewer,
|
|
20631
20706
|
{
|
|
20632
20707
|
displayDataTypes: false,
|
|
@@ -20640,10 +20715,10 @@ var PayloadViewer = (0, import_react55.memo)(({ sx, testId, value }) => {
|
|
|
20640
20715
|
});
|
|
20641
20716
|
|
|
20642
20717
|
// src/components/event-details/event-detail.tsx
|
|
20643
|
-
var
|
|
20644
|
-
var DetailRow2 = ({ content, label }) => /* @__PURE__ */ (0,
|
|
20645
|
-
/* @__PURE__ */ (0,
|
|
20646
|
-
/* @__PURE__ */ (0,
|
|
20718
|
+
var import_jsx_runtime138 = require("react/jsx-runtime");
|
|
20719
|
+
var DetailRow2 = ({ content, label }) => /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(import_material15.Box, { sx: { display: "grid", gap: 1, gridTemplateColumns: "72px 1fr", mb: 0.5 }, children: [
|
|
20720
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)(import_material15.Typography, { color: "text.secondary", sx: { fontWeight: 600 }, variant: "caption", children: label }),
|
|
20721
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)(import_material15.Box, { children: typeof content === "string" ? /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(import_material15.Typography, { sx: { color: "text.primary", whiteSpace: "pre-wrap" }, variant: "caption", children: content }) : content })
|
|
20647
20722
|
] });
|
|
20648
20723
|
var EventMessage = ({ event }) => {
|
|
20649
20724
|
const [isOpen, setIsOpen] = (0, import_react56.useState)(false);
|
|
@@ -20675,21 +20750,21 @@ var EventMessage = ({ event }) => {
|
|
|
20675
20750
|
() => isOverflowing || hasAdditionalContent,
|
|
20676
20751
|
[isOverflowing, hasAdditionalContent]
|
|
20677
20752
|
);
|
|
20678
|
-
return /* @__PURE__ */ (0,
|
|
20679
|
-
/* @__PURE__ */ (0,
|
|
20680
|
-
Boolean(shouldShowToggle) && /* @__PURE__ */ (0,
|
|
20681
|
-
|
|
20753
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(import_material15.Box, { sx: { display: "flex", flexDirection: "column" }, children: [
|
|
20754
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(import_material15.Box, { sx: { alignItems: "center", display: "flex" }, children: [
|
|
20755
|
+
Boolean(shouldShowToggle) && /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
20756
|
+
import_material15.IconButton,
|
|
20682
20757
|
{
|
|
20683
20758
|
onClick: () => {
|
|
20684
20759
|
setIsOpen(!isOpen);
|
|
20685
20760
|
},
|
|
20686
20761
|
size: "small",
|
|
20687
20762
|
sx: { mr: 1, p: 0 },
|
|
20688
|
-
children: isOpen ? /* @__PURE__ */ (0,
|
|
20763
|
+
children: isOpen ? /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(import_icons_material8.KeyboardArrowDown, { sx: { fontSize: 16 } }) : /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(import_icons_material8.KeyboardArrowRight, { sx: { fontSize: 16 } })
|
|
20689
20764
|
}
|
|
20690
20765
|
),
|
|
20691
|
-
/* @__PURE__ */ (0,
|
|
20692
|
-
|
|
20766
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
20767
|
+
import_material15.Typography,
|
|
20693
20768
|
{
|
|
20694
20769
|
ref: textReference,
|
|
20695
20770
|
sx: {
|
|
@@ -20706,12 +20781,12 @@ var EventMessage = ({ event }) => {
|
|
|
20706
20781
|
}
|
|
20707
20782
|
)
|
|
20708
20783
|
] }),
|
|
20709
|
-
isOpen && /* @__PURE__ */ (0,
|
|
20710
|
-
Boolean(parsedMessage.message) && /* @__PURE__ */ (0,
|
|
20711
|
-
Boolean(parsedMessage.details) && /* @__PURE__ */ (0,
|
|
20784
|
+
isOpen && /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(import_material15.Box, { sx: { borderColor: "divider", borderLeft: "2px solid", ml: 1, mt: 0.5, pl: 1.5, py: 0.5 }, children: isIAMPolicyEvent ? /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(IAMEventDetail, { event }) : /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(import_jsx_runtime138.Fragment, { children: [
|
|
20785
|
+
Boolean(parsedMessage.message) && /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(DetailRow2, { content: parsedMessage.message, label: "Message" }),
|
|
20786
|
+
Boolean(parsedMessage.details) && /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
20712
20787
|
DetailRow2,
|
|
20713
20788
|
{
|
|
20714
|
-
content: /* @__PURE__ */ (0,
|
|
20789
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(PayloadViewer, { sx: { px: 0 }, value: tryParseJson(parsedMessage.details) }),
|
|
20715
20790
|
label: "Details"
|
|
20716
20791
|
}
|
|
20717
20792
|
)
|
|
@@ -20743,15 +20818,15 @@ var EventDetail = ({
|
|
|
20743
20818
|
type
|
|
20744
20819
|
}) => {
|
|
20745
20820
|
if (type === "permission") {
|
|
20746
|
-
return /* @__PURE__ */ (0,
|
|
20821
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(IAMPermissionDetail, { events });
|
|
20747
20822
|
}
|
|
20748
20823
|
const eventLevel = getEventLevelFromGroup(type);
|
|
20749
|
-
return /* @__PURE__ */ (0,
|
|
20750
|
-
/* @__PURE__ */ (0,
|
|
20751
|
-
/* @__PURE__ */ (0,
|
|
20752
|
-
/* @__PURE__ */ (0,
|
|
20824
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(import_material15.Box, { children: [
|
|
20825
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(import_material15.Box, { sx: { alignItems: "center", display: "flex", mb: 0.5 }, children: [
|
|
20826
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)(StatusIcon2, { errorLevel: eventLevel }),
|
|
20827
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)(import_material15.Typography, { color: "text.secondary", sx: { fontWeight: 600, ml: 0.5 }, variant: "caption", children: displayText })
|
|
20753
20828
|
] }),
|
|
20754
|
-
/* @__PURE__ */ (0,
|
|
20829
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)(import_material15.Box, { children: events.map((event) => /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(import_material15.Box, { sx: { maxWidth: "100%", mb: 0.5 }, children: /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(EventMessage, { event }) }, `${event.span_id}-${event.event_id}`)) })
|
|
20755
20830
|
] });
|
|
20756
20831
|
};
|
|
20757
20832
|
|
|
@@ -25133,16 +25208,16 @@ var ProtocolLib = class {
|
|
|
25133
25208
|
if (output !== void 0 && queryErrorHeader != null) {
|
|
25134
25209
|
const [Code, Type] = queryErrorHeader.split(";");
|
|
25135
25210
|
const entries = Object.entries(output);
|
|
25136
|
-
const
|
|
25211
|
+
const Error4 = {
|
|
25137
25212
|
Code,
|
|
25138
25213
|
Type
|
|
25139
25214
|
};
|
|
25140
|
-
Object.assign(output,
|
|
25215
|
+
Object.assign(output, Error4);
|
|
25141
25216
|
for (const [k2, v2] of entries) {
|
|
25142
|
-
|
|
25217
|
+
Error4[k2 === "message" ? "Message" : k2] = v2;
|
|
25143
25218
|
}
|
|
25144
|
-
delete
|
|
25145
|
-
output.Error =
|
|
25219
|
+
delete Error4.__type;
|
|
25220
|
+
output.Error = Error4;
|
|
25146
25221
|
}
|
|
25147
25222
|
}
|
|
25148
25223
|
queryCompatOutput(queryCompatErrorData, errorData) {
|
|
@@ -30442,9 +30517,9 @@ var QueryStatus = {
|
|
|
30442
30517
|
};
|
|
30443
30518
|
|
|
30444
30519
|
// src/components/event-details/lambda-invoke-logs-section.tsx
|
|
30445
|
-
var
|
|
30520
|
+
var import_material16 = require("@mui/material");
|
|
30446
30521
|
var import_react57 = require("react");
|
|
30447
|
-
var
|
|
30522
|
+
var import_jsx_runtime139 = require("react/jsx-runtime");
|
|
30448
30523
|
var POLL_INTERVAL_MS = 1e3;
|
|
30449
30524
|
async function pollQueryResults(client, queryId) {
|
|
30450
30525
|
return client.send(new GetQueryResultsCommand({ queryId }));
|
|
@@ -30534,30 +30609,30 @@ function useLambdaInvokeLogs(functionName2, requestId, region, startTimeNano, en
|
|
|
30534
30609
|
var LambdaInvokeLogsSection = ({ endTimeNano, functionName: functionName2, region, requestId, startTimeNano }) => {
|
|
30535
30610
|
const { error, loading, logs } = useLambdaInvokeLogs(functionName2, requestId, region, startTimeNano, endTimeNano);
|
|
30536
30611
|
if (loading) {
|
|
30537
|
-
return /* @__PURE__ */ (0,
|
|
30538
|
-
/* @__PURE__ */ (0,
|
|
30539
|
-
/* @__PURE__ */ (0,
|
|
30612
|
+
return /* @__PURE__ */ (0, import_jsx_runtime139.jsxs)(import_material16.Stack, { alignItems: "center", direction: "row", spacing: 1, children: [
|
|
30613
|
+
/* @__PURE__ */ (0, import_jsx_runtime139.jsx)(import_material16.CircularProgress, { size: 14 }),
|
|
30614
|
+
/* @__PURE__ */ (0, import_jsx_runtime139.jsx)(import_material16.Typography, { color: "text.secondary", variant: "body2", children: "Loading logs\u2026" })
|
|
30540
30615
|
] });
|
|
30541
30616
|
}
|
|
30542
30617
|
if (error !== void 0) {
|
|
30543
|
-
return /* @__PURE__ */ (0,
|
|
30618
|
+
return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(import_material16.Typography, { color: "error", variant: "body2", children: error.message });
|
|
30544
30619
|
}
|
|
30545
30620
|
if (logs.length === 0) {
|
|
30546
|
-
return /* @__PURE__ */ (0,
|
|
30621
|
+
return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(import_material16.Typography, { color: "text.secondary", variant: "body2", children: "No logs found for this invocation." });
|
|
30547
30622
|
}
|
|
30548
|
-
return /* @__PURE__ */ (0,
|
|
30623
|
+
return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(import_material16.Box, { sx: { backgroundColor: (theme) => theme.palette.background.default, borderRadius: 1, p: 1 }, children: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)("pre", { style: { margin: 0, overflow: "auto" }, children: logs.map((log) => /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(import_material16.Typography, { variant: "body2", children: `[${log.timestamp}] ${log.message}` }, log.ptr)) }) });
|
|
30549
30624
|
};
|
|
30550
30625
|
|
|
30551
30626
|
// src/components/event-details/toggle-section.tsx
|
|
30552
|
-
var
|
|
30553
|
-
var
|
|
30627
|
+
var import_icons_material9 = require("@mui/icons-material");
|
|
30628
|
+
var import_material17 = require("@mui/material");
|
|
30554
30629
|
var import_react58 = require("react");
|
|
30555
|
-
var
|
|
30630
|
+
var import_jsx_runtime140 = require("react/jsx-runtime");
|
|
30556
30631
|
var ToggleSection = ({ action, children, headline, initialOpen = true }) => {
|
|
30557
30632
|
const [isOpen, setIsOpen] = (0, import_react58.useState)(initialOpen);
|
|
30558
|
-
return /* @__PURE__ */ (0,
|
|
30559
|
-
/* @__PURE__ */ (0,
|
|
30560
|
-
|
|
30633
|
+
return /* @__PURE__ */ (0, import_jsx_runtime140.jsxs)(import_material17.Box, { sx: { mt: 4 }, children: [
|
|
30634
|
+
/* @__PURE__ */ (0, import_jsx_runtime140.jsxs)(
|
|
30635
|
+
import_material17.Box,
|
|
30561
30636
|
{
|
|
30562
30637
|
onClick: () => {
|
|
30563
30638
|
setIsOpen(!isOpen);
|
|
@@ -30570,8 +30645,8 @@ var ToggleSection = ({ action, children, headline, initialOpen = true }) => {
|
|
|
30570
30645
|
mb: 1
|
|
30571
30646
|
},
|
|
30572
30647
|
children: [
|
|
30573
|
-
/* @__PURE__ */ (0,
|
|
30574
|
-
|
|
30648
|
+
/* @__PURE__ */ (0, import_jsx_runtime140.jsxs)(
|
|
30649
|
+
import_material17.Box,
|
|
30575
30650
|
{
|
|
30576
30651
|
role: "button",
|
|
30577
30652
|
sx: {
|
|
@@ -30580,23 +30655,23 @@ var ToggleSection = ({ action, children, headline, initialOpen = true }) => {
|
|
|
30580
30655
|
gap: 1
|
|
30581
30656
|
},
|
|
30582
30657
|
children: [
|
|
30583
|
-
/* @__PURE__ */ (0,
|
|
30584
|
-
isOpen ? /* @__PURE__ */ (0,
|
|
30658
|
+
/* @__PURE__ */ (0, import_jsx_runtime140.jsx)(import_material17.Typography, { sx: { fontWeight: 600 }, variant: "subtitle2", children: headline }),
|
|
30659
|
+
isOpen ? /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(import_icons_material9.KeyboardArrowDown, { sx: { color: "text.secondary", height: 20, width: 20 } }) : /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(import_icons_material9.KeyboardArrowRight, { sx: { color: "text.secondary", height: 20, width: 20 } })
|
|
30585
30660
|
]
|
|
30586
30661
|
}
|
|
30587
30662
|
),
|
|
30588
|
-
action !== false && /* @__PURE__ */ (0,
|
|
30663
|
+
action !== false && /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(import_material17.Box, { onClick: (event) => {
|
|
30589
30664
|
event.stopPropagation();
|
|
30590
30665
|
}, children: action })
|
|
30591
30666
|
]
|
|
30592
30667
|
}
|
|
30593
30668
|
),
|
|
30594
|
-
isOpen && /* @__PURE__ */ (0,
|
|
30669
|
+
isOpen && /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(import_material17.Box, { children })
|
|
30595
30670
|
] });
|
|
30596
30671
|
};
|
|
30597
30672
|
|
|
30598
30673
|
// src/components/event-details/event-details.tsx
|
|
30599
|
-
var
|
|
30674
|
+
var import_jsx_runtime141 = require("react/jsx-runtime");
|
|
30600
30675
|
var checkIsLambdaInvoke = (span) => {
|
|
30601
30676
|
if (span.service_name !== "lambda") {
|
|
30602
30677
|
return false;
|
|
@@ -30617,7 +30692,7 @@ var EventDetails = ({ onClose, selectedEvent }) => {
|
|
|
30617
30692
|
);
|
|
30618
30693
|
const [parseNestedJson, setParseNestedJson] = (0, import_react59.useState)(true);
|
|
30619
30694
|
if (!selectedEvent) {
|
|
30620
|
-
return /* @__PURE__ */ (0,
|
|
30695
|
+
return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Box, { sx: { p: 3, textAlign: "center" }, children: /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Typography, { color: "text.secondary", variant: "body2", children: "Select an event to view details" }) });
|
|
30621
30696
|
}
|
|
30622
30697
|
const isLambdaInvoke = checkIsLambdaInvoke(selectedEvent);
|
|
30623
30698
|
const isSqsSendMessage = checkIsSqsSendMessage(selectedEvent);
|
|
@@ -30640,9 +30715,9 @@ var EventDetails = ({ onClose, selectedEvent }) => {
|
|
|
30640
30715
|
const exceptionPayload = tryParseJson(selectedEvent.attributes?.["localstack.aws.service.exception"]);
|
|
30641
30716
|
const hasPayloads = requestPayload !== void 0 || responsePayload !== void 0 || exceptionPayload !== void 0 || isResponseSuppressed;
|
|
30642
30717
|
const duration = selectedEvent.end_time_unix_nano ? ((BigInt(selectedEvent.end_time_unix_nano) - BigInt(selectedEvent.start_time_unix_nano)) / BigInt("1000000")).toString() : void 0;
|
|
30643
|
-
return /* @__PURE__ */ (0,
|
|
30644
|
-
/* @__PURE__ */ (0,
|
|
30645
|
-
|
|
30718
|
+
return /* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(import_material18.Box, { "data-testid": EVENT_DETAILS_TEST_ID, sx: { display: "flex", flexDirection: "column", height: "100%" }, children: [
|
|
30719
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(
|
|
30720
|
+
import_material18.Box,
|
|
30646
30721
|
{
|
|
30647
30722
|
sx: {
|
|
30648
30723
|
alignItems: "center",
|
|
@@ -30654,64 +30729,64 @@ var EventDetails = ({ onClose, selectedEvent }) => {
|
|
|
30654
30729
|
py: 1
|
|
30655
30730
|
},
|
|
30656
30731
|
children: [
|
|
30657
|
-
/* @__PURE__ */ (0,
|
|
30658
|
-
onClose && /* @__PURE__ */ (0,
|
|
30732
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Box, { children: /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Typography, { sx: { fontWeight: 600 }, variant: "h6", children: "Operation Details" }) }),
|
|
30733
|
+
onClose && /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.IconButton, { "data-testid": EVENT_DETAILS_CLOSE_BUTTON_TEST_ID, onClick: onClose, size: "small", children: /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_icons_material10.Close, {}) })
|
|
30659
30734
|
]
|
|
30660
30735
|
}
|
|
30661
30736
|
),
|
|
30662
|
-
/* @__PURE__ */ (0,
|
|
30663
|
-
/* @__PURE__ */ (0,
|
|
30664
|
-
/* @__PURE__ */ (0,
|
|
30665
|
-
/* @__PURE__ */ (0,
|
|
30666
|
-
/* @__PURE__ */ (0,
|
|
30667
|
-
/* @__PURE__ */ (0,
|
|
30737
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Box, { sx: { flexGrow: 1, overflow: "auto", p: 2 }, children: /* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(import_material18.Stack, { spacing: 2, children: [
|
|
30738
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(ToggleSection, { headline: "Basic Information", children: /* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(import_material18.Stack, { "data-testid": EVENT_DETAILS_SECTION_BASIC_INFORMATION_TEST_ID, spacing: 1, children: [
|
|
30739
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(import_material18.Box, { sx: { display: "grid", gap: 2, gridTemplateColumns: "1.3fr 1fr" }, children: [
|
|
30740
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(import_material18.Box, { children: [
|
|
30741
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Typography, { sx: { fontWeight: 600 }, variant: "caption", children: "Service" }),
|
|
30742
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Typography, { "data-testid": EVENT_DETAILS_SERVICE_NAME_TEST_ID, variant: "body2", children: getServiceDisplayName(selectedEvent.service_name) })
|
|
30668
30743
|
] }),
|
|
30669
|
-
/* @__PURE__ */ (0,
|
|
30670
|
-
/* @__PURE__ */ (0,
|
|
30671
|
-
/* @__PURE__ */ (0,
|
|
30744
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(import_material18.Box, { children: [
|
|
30745
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Typography, { sx: { fontWeight: 600 }, variant: "caption", children: "Action" }),
|
|
30746
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Typography, { "data-testid": EVENT_DETAILS_OPERATION_NAME_TEST_ID, variant: "body2", children: selectedEvent.operation_name })
|
|
30672
30747
|
] })
|
|
30673
30748
|
] }),
|
|
30674
|
-
/* @__PURE__ */ (0,
|
|
30675
|
-
/* @__PURE__ */ (0,
|
|
30676
|
-
/* @__PURE__ */ (0,
|
|
30677
|
-
/* @__PURE__ */ (0,
|
|
30749
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(import_material18.Box, { sx: cfnResourceType ? { display: "grid", gap: 2, gridTemplateColumns: "1.3fr 1fr" } : void 0, children: [
|
|
30750
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(import_material18.Box, { children: [
|
|
30751
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Typography, { sx: { fontWeight: 600 }, variant: "caption", children: "Resource" }),
|
|
30752
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Typography, { "data-testid": EVENT_DETAILS_RESOURCE_NAME_TEST_ID, variant: "body2", children: selectedEvent.resource_name })
|
|
30678
30753
|
] }),
|
|
30679
|
-
Boolean(cfnResourceType) && /* @__PURE__ */ (0,
|
|
30680
|
-
/* @__PURE__ */ (0,
|
|
30681
|
-
/* @__PURE__ */ (0,
|
|
30754
|
+
Boolean(cfnResourceType) && /* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(import_material18.Box, { children: [
|
|
30755
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Typography, { sx: { fontWeight: 600 }, variant: "caption", children: "Resource Type" }),
|
|
30756
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Typography, { "data-testid": EVENT_DETAILS_CFN_RESOURCE_TYPE_TEST_ID, variant: "body2", children: cfnResourceType })
|
|
30682
30757
|
] })
|
|
30683
30758
|
] }),
|
|
30684
|
-
Boolean(resourceArn) && /* @__PURE__ */ (0,
|
|
30685
|
-
/* @__PURE__ */ (0,
|
|
30686
|
-
/* @__PURE__ */ (0,
|
|
30759
|
+
Boolean(resourceArn) && /* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(import_material18.Box, { children: [
|
|
30760
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Typography, { sx: { fontWeight: 600 }, variant: "caption", children: "Resource ARN" }),
|
|
30761
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Typography, { "data-testid": EVENT_DETAILS_RESOURCE_ARN_TEST_ID, variant: "body2", children: resourceArn })
|
|
30687
30762
|
] }),
|
|
30688
|
-
/* @__PURE__ */ (0,
|
|
30689
|
-
/* @__PURE__ */ (0,
|
|
30690
|
-
/* @__PURE__ */ (0,
|
|
30691
|
-
/* @__PURE__ */ (0,
|
|
30763
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(import_material18.Box, { sx: { display: "grid", gap: 1, gridTemplateColumns: "1.3fr 1fr" }, children: [
|
|
30764
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(import_material18.Box, { children: [
|
|
30765
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Typography, { sx: { fontWeight: 600 }, variant: "caption", children: "Account" }),
|
|
30766
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Typography, { "data-testid": EVENT_DETAILS_ACCOUNT_TEST_ID, variant: "body2", children: selectedEvent.account_id })
|
|
30692
30767
|
] }),
|
|
30693
|
-
/* @__PURE__ */ (0,
|
|
30694
|
-
/* @__PURE__ */ (0,
|
|
30695
|
-
/* @__PURE__ */ (0,
|
|
30768
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(import_material18.Box, { children: [
|
|
30769
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Typography, { sx: { fontWeight: 600 }, variant: "caption", children: "Region" }),
|
|
30770
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Typography, { "data-testid": EVENT_DETAILS_REGION_TEST_ID, variant: "body2", children: selectedEvent.region })
|
|
30696
30771
|
] })
|
|
30697
30772
|
] }),
|
|
30698
|
-
/* @__PURE__ */ (0,
|
|
30699
|
-
/* @__PURE__ */ (0,
|
|
30700
|
-
/* @__PURE__ */ (0,
|
|
30701
|
-
/* @__PURE__ */ (0,
|
|
30773
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(import_material18.Box, { sx: { display: "grid", gap: 1, gridTemplateColumns: duration === void 0 ? "1fr" : "1.3fr 1fr" }, children: [
|
|
30774
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(import_material18.Box, { children: [
|
|
30775
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Typography, { sx: { fontWeight: 600 }, variant: "caption", children: "Start Time" }),
|
|
30776
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Typography, { "data-testid": EVENT_DETAILS_START_TIME_TEST_ID, variant: "body2", children: unixNanoToDate(selectedEvent.start_time_unix_nano)?.toISOString() })
|
|
30702
30777
|
] }),
|
|
30703
|
-
duration !== void 0 && /* @__PURE__ */ (0,
|
|
30704
|
-
/* @__PURE__ */ (0,
|
|
30705
|
-
/* @__PURE__ */ (0,
|
|
30778
|
+
duration !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(import_material18.Box, { children: [
|
|
30779
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Typography, { sx: { fontWeight: 600 }, variant: "caption", children: "Duration" }),
|
|
30780
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(import_material18.Typography, { "data-testid": EVENT_DETAILS_DURATION_TEST_ID, variant: "body2", children: [
|
|
30706
30781
|
duration,
|
|
30707
30782
|
"ms"
|
|
30708
30783
|
] })
|
|
30709
30784
|
] })
|
|
30710
30785
|
] }),
|
|
30711
|
-
/* @__PURE__ */ (0,
|
|
30712
|
-
/* @__PURE__ */ (0,
|
|
30713
|
-
/* @__PURE__ */ (0,
|
|
30714
|
-
|
|
30786
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(import_material18.Box, { children: [
|
|
30787
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Typography, { sx: { fontWeight: 600 }, variant: "caption", children: "Status" }),
|
|
30788
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Stack, { alignItems: "center", direction: "row", flexWrap: "wrap", gap: 1, sx: { mb: eventGroups.errors || eventGroups.warnings ? 1 : 0 }, children: /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
|
|
30789
|
+
import_material18.Chip,
|
|
30715
30790
|
{
|
|
30716
30791
|
color: selectedEvent.status_code === 2 ? "error" : selectedEvent.status_code === 1 ? "success" : "default",
|
|
30717
30792
|
"data-testid": EVENT_DETAILS_STATUS_TEST_ID,
|
|
@@ -30721,50 +30796,50 @@ var EventDetails = ({ onClose, selectedEvent }) => {
|
|
|
30721
30796
|
) })
|
|
30722
30797
|
] })
|
|
30723
30798
|
] }) }),
|
|
30724
|
-
/* @__PURE__ */ (0,
|
|
30725
|
-
/* @__PURE__ */ (0,
|
|
30726
|
-
selectedEvent.iam_errors_suppressed && /* @__PURE__ */ (0,
|
|
30727
|
-
!selectedEvent.iam_errors_suppressed && !eventGroups.permissions && !eventGroups.errors && !eventGroups.warnings && /* @__PURE__ */ (0,
|
|
30728
|
-
eventGroups.permissions && /* @__PURE__ */ (0,
|
|
30729
|
-
eventGroups.errors && /* @__PURE__ */ (0,
|
|
30730
|
-
eventGroups.warnings && /* @__PURE__ */ (0,
|
|
30799
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Divider, {}),
|
|
30800
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(ToggleSection, { headline: "Permissions", children: [
|
|
30801
|
+
selectedEvent.iam_errors_suppressed && /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Alert, { "data-testid": EVENT_DETAILS_IAM_ERRORS_SUPPRESSED_TEST_ID, severity: "warning", sx: { mb: 1 }, children: "IAM errors are suppressed \u2014 upgrade your license to view" }),
|
|
30802
|
+
!selectedEvent.iam_errors_suppressed && !eventGroups.permissions && !eventGroups.errors && !eventGroups.warnings && /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Typography, { color: "text.secondary", variant: "body2", children: "There is no permission information available." }),
|
|
30803
|
+
eventGroups.permissions && /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(EventDetail, { displayText: "Permissions", events: eventGroups.permissions, type: "permission" }),
|
|
30804
|
+
eventGroups.errors && /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(EventDetail, { displayText: "Error", events: eventGroups.errors, type: "error" }),
|
|
30805
|
+
eventGroups.warnings && /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(EventDetail, { displayText: "Warning", events: eventGroups.warnings, type: "warning" })
|
|
30731
30806
|
] }),
|
|
30732
|
-
hasPayloads && /* @__PURE__ */ (0,
|
|
30733
|
-
/* @__PURE__ */ (0,
|
|
30734
|
-
/* @__PURE__ */ (0,
|
|
30807
|
+
hasPayloads && /* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(import_jsx_runtime141.Fragment, { children: [
|
|
30808
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Divider, {}),
|
|
30809
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
|
|
30735
30810
|
ToggleSection,
|
|
30736
30811
|
{
|
|
30737
|
-
action: /* @__PURE__ */ (0,
|
|
30738
|
-
|
|
30812
|
+
action: /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
|
|
30813
|
+
import_material18.FormControlLabel,
|
|
30739
30814
|
{
|
|
30740
|
-
control: /* @__PURE__ */ (0,
|
|
30815
|
+
control: /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Switch, { checked: !parseNestedJson, onChange: (event) => {
|
|
30741
30816
|
setParseNestedJson(!event.target.checked);
|
|
30742
30817
|
}, size: "small" }),
|
|
30743
|
-
label: /* @__PURE__ */ (0,
|
|
30818
|
+
label: /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Typography, { variant: "caption", children: "View raw data" }),
|
|
30744
30819
|
sx: { mr: 0 }
|
|
30745
30820
|
}
|
|
30746
30821
|
),
|
|
30747
30822
|
headline: "Payloads",
|
|
30748
|
-
children: /* @__PURE__ */ (0,
|
|
30749
|
-
requestPayload !== void 0 && /* @__PURE__ */ (0,
|
|
30750
|
-
/* @__PURE__ */ (0,
|
|
30751
|
-
/* @__PURE__ */ (0,
|
|
30823
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(import_material18.Stack, { spacing: 2, children: [
|
|
30824
|
+
requestPayload !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(import_material18.Box, { children: [
|
|
30825
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Typography, { sx: { fontWeight: 600 }, variant: "caption", children: "Request" }),
|
|
30826
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(PayloadViewer, { testId: EVENT_DETAILS_REQUEST_PAYLOAD, value: requestPayload })
|
|
30752
30827
|
] }),
|
|
30753
|
-
(responsePayload !== void 0 || isResponseSuppressed) && /* @__PURE__ */ (0,
|
|
30754
|
-
/* @__PURE__ */ (0,
|
|
30755
|
-
isResponseSuppressed ? /* @__PURE__ */ (0,
|
|
30828
|
+
(responsePayload !== void 0 || isResponseSuppressed) && /* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(import_material18.Box, { children: [
|
|
30829
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Typography, { sx: { fontWeight: 600 }, variant: "caption", children: "Response" }),
|
|
30830
|
+
isResponseSuppressed ? /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Box, { sx: { py: 1 }, children: /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Alert, { severity: "warning", sx: { mb: 1 }, children: "Response payload is available \u2014 upgrade your license to view" }) }) : /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(PayloadViewer, { testId: EVENT_DETAILS_RESPONSE_PAYLOAD_TEST_ID, value: responsePayload })
|
|
30756
30831
|
] }),
|
|
30757
|
-
exceptionPayload !== void 0 && /* @__PURE__ */ (0,
|
|
30758
|
-
/* @__PURE__ */ (0,
|
|
30759
|
-
/* @__PURE__ */ (0,
|
|
30832
|
+
exceptionPayload !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(import_material18.Box, { children: [
|
|
30833
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Typography, { sx: { fontWeight: 600 }, variant: "caption", children: "Exception" }),
|
|
30834
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(PayloadViewer, { testId: EVENT_DETAILS_EXCEPTION_PAYLOAD_TEST_ID, value: exceptionPayload })
|
|
30760
30835
|
] })
|
|
30761
30836
|
] })
|
|
30762
30837
|
}
|
|
30763
30838
|
)
|
|
30764
30839
|
] }),
|
|
30765
|
-
isLambdaInvoke && requestId !== void 0 && /* @__PURE__ */ (0,
|
|
30766
|
-
/* @__PURE__ */ (0,
|
|
30767
|
-
/* @__PURE__ */ (0,
|
|
30840
|
+
isLambdaInvoke && requestId !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(import_jsx_runtime141.Fragment, { children: [
|
|
30841
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Divider, {}),
|
|
30842
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(ToggleSection, { headline: "Lambda Logs", children: /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
|
|
30768
30843
|
LambdaInvokeLogsSection,
|
|
30769
30844
|
{
|
|
30770
30845
|
endTimeNano: selectedEvent.end_time_unix_nano ?? selectedEvent.start_time_unix_nano,
|
|
@@ -30775,21 +30850,21 @@ var EventDetails = ({ onClose, selectedEvent }) => {
|
|
|
30775
30850
|
}
|
|
30776
30851
|
) })
|
|
30777
30852
|
] }),
|
|
30778
|
-
/* @__PURE__ */ (0,
|
|
30779
|
-
/* @__PURE__ */ (0,
|
|
30780
|
-
/* @__PURE__ */ (0,
|
|
30781
|
-
/* @__PURE__ */ (0,
|
|
30782
|
-
/* @__PURE__ */ (0,
|
|
30853
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Divider, {}),
|
|
30854
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(ToggleSection, { headline: "Advanced Information", initialOpen: false, children: /* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(import_material18.Stack, { spacing: 1, children: [
|
|
30855
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(import_material18.Box, { children: [
|
|
30856
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Typography, { sx: { fontWeight: 600 }, variant: "caption", children: "Span ID" }),
|
|
30857
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Typography, { "data-testid": EVENT_DETAILS_SPAN_ID_TEST_ID, variant: "body2", children: selectedEvent.span_id })
|
|
30783
30858
|
] }),
|
|
30784
|
-
/* @__PURE__ */ (0,
|
|
30785
|
-
/* @__PURE__ */ (0,
|
|
30786
|
-
/* @__PURE__ */ (0,
|
|
30859
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(import_material18.Box, { children: [
|
|
30860
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Typography, { sx: { fontWeight: 600 }, variant: "caption", children: "Trace ID" }),
|
|
30861
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Typography, { "data-testid": EVENT_DETAILS_TRACE_ID_TEST_ID, variant: "body2", children: selectedEvent.trace_id })
|
|
30787
30862
|
] }),
|
|
30788
|
-
requestId !== void 0 && /* @__PURE__ */ (0,
|
|
30789
|
-
/* @__PURE__ */ (0,
|
|
30790
|
-
/* @__PURE__ */ (0,
|
|
30863
|
+
requestId !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(import_material18.Box, { children: [
|
|
30864
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Typography, { sx: { fontWeight: 600 }, variant: "caption", children: "Request ID" }),
|
|
30865
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)(import_material18.Typography, { "data-testid": EVENT_DETAILS_REQUEST_ID_TEST_ID, variant: "body2", children: requestId })
|
|
30791
30866
|
] }),
|
|
30792
|
-
eventGroups.info && /* @__PURE__ */ (0,
|
|
30867
|
+
eventGroups.info && /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(EventDetail, { displayText: "Info", events: eventGroups.info, type: "info" })
|
|
30793
30868
|
] }) })
|
|
30794
30869
|
] }) })
|
|
30795
30870
|
] });
|
|
@@ -30797,32 +30872,32 @@ var EventDetails = ({ onClose, selectedEvent }) => {
|
|
|
30797
30872
|
|
|
30798
30873
|
// src/components/trace-graph/trace-graph.tsx
|
|
30799
30874
|
var import_base = require("@xyflow/react/dist/base.css");
|
|
30800
|
-
var
|
|
30875
|
+
var import_material22 = require("@mui/material");
|
|
30801
30876
|
var import_react65 = require("@xyflow/react");
|
|
30802
30877
|
var import_react66 = require("react");
|
|
30803
30878
|
|
|
30804
30879
|
// src/components/trace-graph/service-node.tsx
|
|
30805
|
-
var
|
|
30880
|
+
var import_material20 = require("@mui/material");
|
|
30806
30881
|
var import_style = require("@xyflow/react/dist/style.css");
|
|
30807
30882
|
var import_react61 = require("@xyflow/react");
|
|
30808
30883
|
var import_react62 = require("react");
|
|
30809
30884
|
|
|
30810
30885
|
// src/components/trace-graph/problem-indicator.tsx
|
|
30811
|
-
var
|
|
30812
|
-
var
|
|
30886
|
+
var import_icons_material11 = require("@mui/icons-material");
|
|
30887
|
+
var import_material19 = require("@mui/material");
|
|
30813
30888
|
var import_react60 = require("react");
|
|
30814
|
-
var
|
|
30889
|
+
var import_jsx_runtime142 = require("react/jsx-runtime");
|
|
30815
30890
|
var ProblemIndicator = ({ error }) => {
|
|
30816
30891
|
const icon = (0, import_react60.useMemo)(() => {
|
|
30817
30892
|
switch (error.level) {
|
|
30818
30893
|
case "error": {
|
|
30819
|
-
return /* @__PURE__ */ (0,
|
|
30894
|
+
return /* @__PURE__ */ (0, import_jsx_runtime142.jsx)(import_icons_material11.Error, { sx: { color: "#d32f2f", fontSize: "14px" } });
|
|
30820
30895
|
}
|
|
30821
30896
|
case "warning": {
|
|
30822
|
-
return /* @__PURE__ */ (0,
|
|
30897
|
+
return /* @__PURE__ */ (0, import_jsx_runtime142.jsx)(import_icons_material11.Warning, { sx: { color: "#ff9800", fontSize: "14px" } });
|
|
30823
30898
|
}
|
|
30824
30899
|
default: {
|
|
30825
|
-
return /* @__PURE__ */ (0,
|
|
30900
|
+
return /* @__PURE__ */ (0, import_jsx_runtime142.jsx)(import_icons_material11.Info, { sx: { color: "#2196f3", fontSize: "14px" } });
|
|
30826
30901
|
}
|
|
30827
30902
|
}
|
|
30828
30903
|
}, [error.level]);
|
|
@@ -30839,8 +30914,8 @@ var ProblemIndicator = ({ error }) => {
|
|
|
30839
30914
|
}
|
|
30840
30915
|
}
|
|
30841
30916
|
}, [error.level]);
|
|
30842
|
-
return /* @__PURE__ */ (0,
|
|
30843
|
-
|
|
30917
|
+
return /* @__PURE__ */ (0, import_jsx_runtime142.jsx)(import_material19.Tooltip, { arrow: true, title: error.message ?? "Issue detected", children: /* @__PURE__ */ (0, import_jsx_runtime142.jsx)(
|
|
30918
|
+
import_material19.Box,
|
|
30844
30919
|
{
|
|
30845
30920
|
sx: {
|
|
30846
30921
|
alignItems: "center",
|
|
@@ -30859,17 +30934,17 @@ var ProblemIndicator = ({ error }) => {
|
|
|
30859
30934
|
};
|
|
30860
30935
|
|
|
30861
30936
|
// src/components/trace-graph/service-node.tsx
|
|
30862
|
-
var
|
|
30937
|
+
var import_jsx_runtime143 = require("react/jsx-runtime");
|
|
30863
30938
|
var handleStyle = {
|
|
30864
30939
|
backgroundColor: "white",
|
|
30865
30940
|
borderColor: "lightgray",
|
|
30866
30941
|
opacity: 0
|
|
30867
30942
|
};
|
|
30868
30943
|
var ServiceNode = (0, import_react62.memo)(({ data, selected }) => {
|
|
30869
|
-
const theme = (0,
|
|
30944
|
+
const theme = (0, import_material20.useTheme)();
|
|
30870
30945
|
const hasErrors = (data.event.errors && data.event.errors.length > 0) ?? false;
|
|
30871
|
-
return /* @__PURE__ */ (0,
|
|
30872
|
-
|
|
30946
|
+
return /* @__PURE__ */ (0, import_jsx_runtime143.jsxs)(
|
|
30947
|
+
import_material20.Box,
|
|
30873
30948
|
{
|
|
30874
30949
|
"data-testid": SERVICE_NODE_TEST_ID,
|
|
30875
30950
|
role: "button",
|
|
@@ -30891,19 +30966,19 @@ var ServiceNode = (0, import_react62.memo)(({ data, selected }) => {
|
|
|
30891
30966
|
},
|
|
30892
30967
|
tabIndex: 0,
|
|
30893
30968
|
children: [
|
|
30894
|
-
/* @__PURE__ */ (0,
|
|
30895
|
-
/* @__PURE__ */ (0,
|
|
30896
|
-
/* @__PURE__ */ (0,
|
|
30897
|
-
|
|
30969
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)(import_react61.Handle, { position: import_react61.Position.Left, style: handleStyle, type: "target" }),
|
|
30970
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)(import_react61.Handle, { position: import_react61.Position.Right, style: handleStyle, type: "source" }),
|
|
30971
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsxs)(
|
|
30972
|
+
import_material20.Stack,
|
|
30898
30973
|
{
|
|
30899
30974
|
alignItems: "center",
|
|
30900
30975
|
direction: "row",
|
|
30901
30976
|
sx: { gap: "8px", pb: "2px", pt: "6px", px: "8px" },
|
|
30902
30977
|
children: [
|
|
30903
|
-
/* @__PURE__ */ (0,
|
|
30904
|
-
/* @__PURE__ */ (0,
|
|
30905
|
-
/* @__PURE__ */ (0,
|
|
30906
|
-
|
|
30978
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)(import_material20.Box, { sx: { borderRadius: "4px", flexShrink: 0, lineHeight: 0, overflow: "hidden" }, children: /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(AwsServiceIcon, { hideTooltip: true, service: data.event.service_name, size: "medium" }) }),
|
|
30979
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsxs)(import_material20.Stack, { sx: { minWidth: 0 }, children: [
|
|
30980
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
|
|
30981
|
+
import_material20.Typography,
|
|
30907
30982
|
{
|
|
30908
30983
|
noWrap: true,
|
|
30909
30984
|
sx: { fontWeight: 700, lineHeight: 1.25 },
|
|
@@ -30911,8 +30986,8 @@ var ServiceNode = (0, import_react62.memo)(({ data, selected }) => {
|
|
|
30911
30986
|
children: getServiceDisplayName(data.event.service_name)
|
|
30912
30987
|
}
|
|
30913
30988
|
),
|
|
30914
|
-
data.event.resource_name != "" && /* @__PURE__ */ (0,
|
|
30915
|
-
|
|
30989
|
+
data.event.resource_name != "" && /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
|
|
30990
|
+
import_material20.Typography,
|
|
30916
30991
|
{
|
|
30917
30992
|
color: "text.secondary",
|
|
30918
30993
|
noWrap: true,
|
|
@@ -30925,16 +31000,16 @@ var ServiceNode = (0, import_react62.memo)(({ data, selected }) => {
|
|
|
30925
31000
|
]
|
|
30926
31001
|
}
|
|
30927
31002
|
),
|
|
30928
|
-
/* @__PURE__ */ (0,
|
|
30929
|
-
/* @__PURE__ */ (0,
|
|
30930
|
-
|
|
31003
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)(import_material20.Divider, { sx: { ml: "38px", mr: "8px", my: "5px" } }),
|
|
31004
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsxs)(
|
|
31005
|
+
import_material20.Stack,
|
|
30931
31006
|
{
|
|
30932
31007
|
alignItems: "center",
|
|
30933
31008
|
direction: "row",
|
|
30934
31009
|
sx: { minWidth: 0, pb: "5px", pr: "8px", pt: "1px" },
|
|
30935
31010
|
children: [
|
|
30936
|
-
/* @__PURE__ */ (0,
|
|
30937
|
-
|
|
31011
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
|
|
31012
|
+
import_material20.Box,
|
|
30938
31013
|
{
|
|
30939
31014
|
sx: {
|
|
30940
31015
|
alignItems: "center",
|
|
@@ -30943,11 +31018,11 @@ var ServiceNode = (0, import_react62.memo)(({ data, selected }) => {
|
|
|
30943
31018
|
justifyContent: "center",
|
|
30944
31019
|
width: "38px"
|
|
30945
31020
|
},
|
|
30946
|
-
children: hasErrors && data.event.errors?.map((error) => /* @__PURE__ */ (0,
|
|
31021
|
+
children: hasErrors && data.event.errors?.map((error) => /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(ProblemIndicator, { error }, error.span_id))
|
|
30947
31022
|
}
|
|
30948
31023
|
),
|
|
30949
|
-
/* @__PURE__ */ (0,
|
|
30950
|
-
|
|
31024
|
+
/* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
|
|
31025
|
+
import_material20.Typography,
|
|
30951
31026
|
{
|
|
30952
31027
|
"data-testid": SERVICE_NODE_OPERATION_NAME_TEST_ID,
|
|
30953
31028
|
noWrap: true,
|
|
@@ -31019,12 +31094,12 @@ var getLayoutedNodesAndEdges = (inputNodes, inputEdges) => {
|
|
|
31019
31094
|
};
|
|
31020
31095
|
|
|
31021
31096
|
// src/components/trace-graph/xyflow/controls.tsx
|
|
31022
|
-
var
|
|
31023
|
-
var
|
|
31097
|
+
var import_icons_material12 = require("@mui/icons-material");
|
|
31098
|
+
var import_material21 = require("@mui/material");
|
|
31024
31099
|
var import_react63 = require("@xyflow/react");
|
|
31025
31100
|
var import_react64 = require("react");
|
|
31026
31101
|
var import_shallow = require("zustand/shallow");
|
|
31027
|
-
var
|
|
31102
|
+
var import_jsx_runtime144 = require("react/jsx-runtime");
|
|
31028
31103
|
var selector = (s2) => ({
|
|
31029
31104
|
isInteractive: s2.nodesDraggable || s2.nodesConnectable || s2.elementsSelectable,
|
|
31030
31105
|
maxZoomReached: s2.transform[2] >= s2.maxZoom,
|
|
@@ -31042,8 +31117,8 @@ var Controls = (0, import_react64.memo)(() => {
|
|
|
31042
31117
|
const onFitViewHandler = () => {
|
|
31043
31118
|
void fitView();
|
|
31044
31119
|
};
|
|
31045
|
-
return /* @__PURE__ */ (0,
|
|
31046
|
-
|
|
31120
|
+
return /* @__PURE__ */ (0, import_jsx_runtime144.jsxs)(
|
|
31121
|
+
import_material21.Box,
|
|
31047
31122
|
{
|
|
31048
31123
|
sx: {
|
|
31049
31124
|
bottom: 0,
|
|
@@ -31056,33 +31131,33 @@ var Controls = (0, import_react64.memo)(() => {
|
|
|
31056
31131
|
zIndex: 5
|
|
31057
31132
|
},
|
|
31058
31133
|
children: [
|
|
31059
|
-
/* @__PURE__ */ (0,
|
|
31060
|
-
|
|
31134
|
+
/* @__PURE__ */ (0, import_jsx_runtime144.jsx)(
|
|
31135
|
+
import_material21.IconButton,
|
|
31061
31136
|
{
|
|
31062
31137
|
className: "react-flow__controls-zoomin",
|
|
31063
31138
|
disabled: maxZoomReached,
|
|
31064
31139
|
onClick: onZoomInHandler,
|
|
31065
31140
|
size: "small",
|
|
31066
|
-
children: /* @__PURE__ */ (0,
|
|
31141
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime144.jsx)(import_icons_material12.Add, {})
|
|
31067
31142
|
}
|
|
31068
31143
|
),
|
|
31069
|
-
/* @__PURE__ */ (0,
|
|
31070
|
-
|
|
31144
|
+
/* @__PURE__ */ (0, import_jsx_runtime144.jsx)(
|
|
31145
|
+
import_material21.IconButton,
|
|
31071
31146
|
{
|
|
31072
31147
|
className: "react-flow__controls-zoomout",
|
|
31073
31148
|
disabled: minZoomReached,
|
|
31074
31149
|
onClick: onZoomOutHandler,
|
|
31075
31150
|
size: "small",
|
|
31076
|
-
children: /* @__PURE__ */ (0,
|
|
31151
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime144.jsx)(import_icons_material12.Remove, {})
|
|
31077
31152
|
}
|
|
31078
31153
|
),
|
|
31079
|
-
/* @__PURE__ */ (0,
|
|
31080
|
-
|
|
31154
|
+
/* @__PURE__ */ (0, import_jsx_runtime144.jsx)(
|
|
31155
|
+
import_material21.IconButton,
|
|
31081
31156
|
{
|
|
31082
31157
|
className: "react-flow__controls-fitview",
|
|
31083
31158
|
onClick: onFitViewHandler,
|
|
31084
31159
|
size: "small",
|
|
31085
|
-
children: /* @__PURE__ */ (0,
|
|
31160
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime144.jsx)(import_icons_material12.FitScreen, {})
|
|
31086
31161
|
}
|
|
31087
31162
|
)
|
|
31088
31163
|
]
|
|
@@ -31091,7 +31166,7 @@ var Controls = (0, import_react64.memo)(() => {
|
|
|
31091
31166
|
});
|
|
31092
31167
|
|
|
31093
31168
|
// src/components/trace-graph/trace-graph.tsx
|
|
31094
|
-
var
|
|
31169
|
+
var import_jsx_runtime145 = require("react/jsx-runtime");
|
|
31095
31170
|
var nodeTypes = {
|
|
31096
31171
|
service: ServiceNode
|
|
31097
31172
|
};
|
|
@@ -31153,12 +31228,12 @@ var TraceGraph = ({
|
|
|
31153
31228
|
setNodes(layoutedNodes);
|
|
31154
31229
|
setEdges(layoutedEdges);
|
|
31155
31230
|
}, [spans.data, initialFocusEventId, setNodes, setEdges]);
|
|
31156
|
-
const theme = (0,
|
|
31157
|
-
return /* @__PURE__ */ (0,
|
|
31158
|
-
spans.error && /* @__PURE__ */ (0,
|
|
31159
|
-
|
|
31231
|
+
const theme = (0, import_material22.useTheme)();
|
|
31232
|
+
return /* @__PURE__ */ (0, import_jsx_runtime145.jsxs)(import_jsx_runtime145.Fragment, { children: [
|
|
31233
|
+
spans.error && /* @__PURE__ */ (0, import_jsx_runtime145.jsxs)(
|
|
31234
|
+
import_material22.Alert,
|
|
31160
31235
|
{
|
|
31161
|
-
action: /* @__PURE__ */ (0,
|
|
31236
|
+
action: /* @__PURE__ */ (0, import_jsx_runtime145.jsx)(import_material22.Button, { onClick: () => {
|
|
31162
31237
|
onRefresh();
|
|
31163
31238
|
}, children: "Retry" }),
|
|
31164
31239
|
severity: "error",
|
|
@@ -31169,7 +31244,7 @@ var TraceGraph = ({
|
|
|
31169
31244
|
]
|
|
31170
31245
|
}
|
|
31171
31246
|
),
|
|
31172
|
-
/* @__PURE__ */ (0,
|
|
31247
|
+
/* @__PURE__ */ (0, import_jsx_runtime145.jsxs)(
|
|
31173
31248
|
import_react65.ReactFlow,
|
|
31174
31249
|
{
|
|
31175
31250
|
"data-testid": TRACE_GRAPH_TEST_ID,
|
|
@@ -31187,8 +31262,8 @@ var TraceGraph = ({
|
|
|
31187
31262
|
onNodesChange,
|
|
31188
31263
|
selectNodesOnDrag: false,
|
|
31189
31264
|
children: [
|
|
31190
|
-
/* @__PURE__ */ (0,
|
|
31191
|
-
/* @__PURE__ */ (0,
|
|
31265
|
+
/* @__PURE__ */ (0, import_jsx_runtime145.jsx)(Controls, {}),
|
|
31266
|
+
/* @__PURE__ */ (0, import_jsx_runtime145.jsx)(
|
|
31192
31267
|
import_react65.Background,
|
|
31193
31268
|
{
|
|
31194
31269
|
bgColor: theme.palette.background.default,
|
|
@@ -31202,7 +31277,7 @@ var TraceGraph = ({
|
|
|
31202
31277
|
};
|
|
31203
31278
|
|
|
31204
31279
|
// src/pages/trace-graph-page.tsx
|
|
31205
|
-
var
|
|
31280
|
+
var import_jsx_runtime146 = require("react/jsx-runtime");
|
|
31206
31281
|
var HEADER_HEIGHT = 56;
|
|
31207
31282
|
var DRAWER_WIDTH = "35%";
|
|
31208
31283
|
var Main = (0, import_styles.styled)("main", { shouldForwardProp: (property) => property !== "open" })(({ open, theme }) => ({
|
|
@@ -31220,7 +31295,7 @@ var Main = (0, import_styles.styled)("main", { shouldForwardProp: (property) =>
|
|
|
31220
31295
|
})
|
|
31221
31296
|
}
|
|
31222
31297
|
}));
|
|
31223
|
-
var StyledDrawer = (0, import_styles.styled)(
|
|
31298
|
+
var StyledDrawer = (0, import_styles.styled)(import_material23.Drawer)(() => ({
|
|
31224
31299
|
"& .MuiDrawer-paper": {
|
|
31225
31300
|
bottom: 0,
|
|
31226
31301
|
boxSizing: "border-box",
|
|
@@ -31251,8 +31326,8 @@ var TraceGraphView = ({
|
|
|
31251
31326
|
traceId
|
|
31252
31327
|
}) => {
|
|
31253
31328
|
const shouldShowStatusMessage = Boolean(statusError) || status?.status === "DISABLED";
|
|
31254
|
-
return /* @__PURE__ */ (0,
|
|
31255
|
-
|
|
31329
|
+
return /* @__PURE__ */ (0, import_jsx_runtime146.jsxs)(
|
|
31330
|
+
import_material23.Box,
|
|
31256
31331
|
{
|
|
31257
31332
|
"data-testid": TRACE_GRAPH_PAGE_TEST_ID,
|
|
31258
31333
|
sx: {
|
|
@@ -31264,14 +31339,14 @@ var TraceGraphView = ({
|
|
|
31264
31339
|
overflow: "hidden"
|
|
31265
31340
|
},
|
|
31266
31341
|
children: [
|
|
31267
|
-
/* @__PURE__ */ (0,
|
|
31268
|
-
/* @__PURE__ */ (0,
|
|
31342
|
+
/* @__PURE__ */ (0, import_jsx_runtime146.jsxs)(import_material23.Box, { sx: { display: "flex", width: "100%" }, children: [
|
|
31343
|
+
/* @__PURE__ */ (0, import_jsx_runtime146.jsx)(import_material23.Button, { onClick: () => {
|
|
31269
31344
|
navigateToSpansList();
|
|
31270
|
-
}, startIcon: /* @__PURE__ */ (0,
|
|
31271
|
-
/* @__PURE__ */ (0,
|
|
31345
|
+
}, startIcon: /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(import_icons_material13.ArrowBack, {}), children: "Go back" }),
|
|
31346
|
+
/* @__PURE__ */ (0, import_jsx_runtime146.jsx)(import_material23.Box, { sx: { flexGrow: 1 } })
|
|
31272
31347
|
] }),
|
|
31273
|
-
/* @__PURE__ */ (0,
|
|
31274
|
-
|
|
31348
|
+
/* @__PURE__ */ (0, import_jsx_runtime146.jsx)(
|
|
31349
|
+
import_material23.Paper,
|
|
31275
31350
|
{
|
|
31276
31351
|
sx: {
|
|
31277
31352
|
display: "flex",
|
|
@@ -31280,7 +31355,7 @@ var TraceGraphView = ({
|
|
|
31280
31355
|
position: "relative",
|
|
31281
31356
|
width: "100%"
|
|
31282
31357
|
},
|
|
31283
|
-
children: shouldShowStatusMessage ? /* @__PURE__ */ (0,
|
|
31358
|
+
children: shouldShowStatusMessage ? /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(
|
|
31284
31359
|
StatusMessage,
|
|
31285
31360
|
{
|
|
31286
31361
|
error: statusError,
|
|
@@ -31288,15 +31363,15 @@ var TraceGraphView = ({
|
|
|
31288
31363
|
onRetry: handleRetry,
|
|
31289
31364
|
status
|
|
31290
31365
|
}
|
|
31291
|
-
) : /* @__PURE__ */ (0,
|
|
31292
|
-
/* @__PURE__ */ (0,
|
|
31293
|
-
|
|
31366
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime146.jsxs)(import_jsx_runtime146.Fragment, { children: [
|
|
31367
|
+
/* @__PURE__ */ (0, import_jsx_runtime146.jsx)(Main, { open, children: /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(
|
|
31368
|
+
import_material23.Box,
|
|
31294
31369
|
{
|
|
31295
31370
|
sx: {
|
|
31296
31371
|
height: "100%",
|
|
31297
31372
|
overflow: "auto"
|
|
31298
31373
|
},
|
|
31299
|
-
children: traceId !== void 0 && /* @__PURE__ */ (0,
|
|
31374
|
+
children: traceId !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(import_react67.ReactFlowProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(
|
|
31300
31375
|
TraceGraph,
|
|
31301
31376
|
{
|
|
31302
31377
|
initialFocusEventId: spanId,
|
|
@@ -31313,7 +31388,7 @@ var TraceGraphView = ({
|
|
|
31313
31388
|
) })
|
|
31314
31389
|
}
|
|
31315
31390
|
) }),
|
|
31316
|
-
/* @__PURE__ */ (0,
|
|
31391
|
+
/* @__PURE__ */ (0, import_jsx_runtime146.jsx)(StyledDrawer, { anchor: "right", open, variant: "persistent", children: /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(EventDetails, { onClose: handleClose, selectedEvent }) })
|
|
31317
31392
|
] })
|
|
31318
31393
|
}
|
|
31319
31394
|
)
|
|
@@ -31406,7 +31481,7 @@ var TraceGraphPage = ({ onClose, spanId, traceId }) => {
|
|
|
31406
31481
|
const navigateToSpansList = (0, import_react68.useCallback)(() => {
|
|
31407
31482
|
onClose?.();
|
|
31408
31483
|
}, [onClose]);
|
|
31409
|
-
return /* @__PURE__ */ (0,
|
|
31484
|
+
return /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(
|
|
31410
31485
|
TraceGraphView,
|
|
31411
31486
|
{
|
|
31412
31487
|
fetchError,
|
|
@@ -31431,7 +31506,7 @@ var TraceGraphPage = ({ onClose, spanId, traceId }) => {
|
|
|
31431
31506
|
};
|
|
31432
31507
|
|
|
31433
31508
|
// src/pages/spans-list-page.tsx
|
|
31434
|
-
var
|
|
31509
|
+
var import_jsx_runtime147 = require("react/jsx-runtime");
|
|
31435
31510
|
var SpansListPage = () => {
|
|
31436
31511
|
const api = useAppInspectorApi();
|
|
31437
31512
|
const {
|
|
@@ -31478,9 +31553,9 @@ var SpansListPage = () => {
|
|
|
31478
31553
|
void checkStatus();
|
|
31479
31554
|
}, [api, checkStatus, clearFetchError]);
|
|
31480
31555
|
const shouldShowStatusMessage = Boolean(statusError) || status?.status === "DISABLED";
|
|
31481
|
-
return /* @__PURE__ */ (0,
|
|
31482
|
-
/* @__PURE__ */ (0,
|
|
31483
|
-
|
|
31556
|
+
return /* @__PURE__ */ (0, import_jsx_runtime147.jsxs)(import_jsx_runtime147.Fragment, { children: [
|
|
31557
|
+
/* @__PURE__ */ (0, import_jsx_runtime147.jsxs)(
|
|
31558
|
+
import_material24.Box,
|
|
31484
31559
|
{
|
|
31485
31560
|
"data-testid": SPANS_LIST_PAGE_TEST_ID,
|
|
31486
31561
|
sx: {
|
|
@@ -31495,7 +31570,7 @@ var SpansListPage = () => {
|
|
|
31495
31570
|
width: "100%"
|
|
31496
31571
|
},
|
|
31497
31572
|
children: [
|
|
31498
|
-
!checking && !shouldShowStatusMessage && /* @__PURE__ */ (0,
|
|
31573
|
+
!checking && !shouldShowStatusMessage && /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(
|
|
31499
31574
|
EmulatorVersionBanner,
|
|
31500
31575
|
{
|
|
31501
31576
|
compatibility: bannerDismissed && versionCompatibility === "warning" ? "ok" : versionCompatibility,
|
|
@@ -31505,7 +31580,7 @@ var SpansListPage = () => {
|
|
|
31505
31580
|
} : void 0
|
|
31506
31581
|
}
|
|
31507
31582
|
),
|
|
31508
|
-
shouldShowStatusMessage ? /* @__PURE__ */ (0,
|
|
31583
|
+
shouldShowStatusMessage ? /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(
|
|
31509
31584
|
StatusMessage,
|
|
31510
31585
|
{
|
|
31511
31586
|
error: statusError,
|
|
@@ -31514,7 +31589,7 @@ var SpansListPage = () => {
|
|
|
31514
31589
|
onRetry: handleRetry,
|
|
31515
31590
|
status
|
|
31516
31591
|
}
|
|
31517
|
-
) : /* @__PURE__ */ (0,
|
|
31592
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(
|
|
31518
31593
|
SpansList,
|
|
31519
31594
|
{
|
|
31520
31595
|
clearingSpans,
|
|
@@ -31542,7 +31617,7 @@ var SpansListPage = () => {
|
|
|
31542
31617
|
]
|
|
31543
31618
|
}
|
|
31544
31619
|
),
|
|
31545
|
-
selectedTraceId !== void 0 && /* @__PURE__ */ (0,
|
|
31620
|
+
selectedTraceId !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(TraceGraphPage, { onClose: () => {
|
|
31546
31621
|
setSelectedTraceId(void 0);
|
|
31547
31622
|
}, spanId: selectedSpanId, traceId: selectedTraceId })
|
|
31548
31623
|
] });
|