@localstack/appinspector-ui 1.0.107 → 1.0.109

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 CHANGED
@@ -2484,7 +2484,8 @@ var EVENT_DETAILS_REQUEST_PAYLOAD = "event-details-request-payload";
2484
2484
  var EVENT_DETAILS_RESPONSE_PAYLOAD_TEST_ID = "event-details-response-payload";
2485
2485
  var EVENT_DETAILS_EXCEPTION_PAYLOAD_TEST_ID = "event-details-exception-payload";
2486
2486
  var EVENT_DETAILS_IAM_ERRORS_SUPPRESSED_TEST_ID = "event-details-iam-errors-suppressed";
2487
- var IAM_ERROR_COUNT_TEST_ID = "iam-error-count";
2487
+ var ERROR_COUNT_TEST_ID = "error-count";
2488
+ var WARNING_COUNT_TEST_ID = "warning-count";
2488
2489
  var SERVICE_NODE_TEST_ID = "service-node";
2489
2490
  var SERVICE_NODE_SERVICE_NAME_TEST_ID = "service-node-service-name";
2490
2491
  var SERVICE_NODE_OPERATION_NAME_TEST_ID = "service-node-operation-name";
@@ -12262,6 +12263,138 @@ var ResponsiveTimestampCell = (0, import_react35.memo)(({ date, locale }) => {
12262
12263
  var import_material4 = require("@mui/material");
12263
12264
  var import_react40 = require("react");
12264
12265
 
12266
+ // src/utils/service-display-name.ts
12267
+ var SERVICE_DISPLAY_NAME = {
12268
+ "account": "Account",
12269
+ "acm": "Certificate Manager",
12270
+ "acm-pca": "Private Certificate Authority",
12271
+ "amplify": "Amplify",
12272
+ "apigateway": "API Gateway",
12273
+ "apigatewaymanagementapi": "API Gateway Management API",
12274
+ "apigatewayv2": "API Gateway v2",
12275
+ "appconfig": "AppConfig",
12276
+ "appconfigdata": "AppConfig Data",
12277
+ "application-autoscaling": "Application Auto Scaling",
12278
+ "appsync": "AppSync",
12279
+ "athena": "Athena",
12280
+ "autoscaling": "EC2 Auto Scaling",
12281
+ "backup": "Backup",
12282
+ "batch": "Batch",
12283
+ "bedrock": "Bedrock",
12284
+ "bedrock-runtime": "Bedrock Runtime",
12285
+ "ce": "Cost Explorer",
12286
+ "cloudcontrol": "Cloud Control API",
12287
+ "cloudformation": "CloudFormation",
12288
+ "cloudfront": "CloudFront",
12289
+ "cloudtrail": "CloudTrail",
12290
+ "cloudwatch": "CloudWatch",
12291
+ "codeartifact": "CodeArtifact",
12292
+ "codebuild": "CodeBuild",
12293
+ "codecommit": "CodeCommit",
12294
+ "codeconnections": "CodeConnections",
12295
+ "codedeploy": "CodeDeploy",
12296
+ "codepipeline": "CodePipeline",
12297
+ "codestar-connections": "CodeStar Connections",
12298
+ "cognito-identity": "Cognito Identity Pools",
12299
+ "cognito-idp": "Cognito User Pools",
12300
+ "config": "Config",
12301
+ "dms": "Database Migration Service",
12302
+ "docdb": "DocumentDB",
12303
+ "dynamodb": "DynamoDB",
12304
+ "dynamodbstreams": "DynamoDB Streams",
12305
+ "ec2": "EC2",
12306
+ "ecr": "ECR",
12307
+ "ecs": "ECS",
12308
+ "efs": "EFS",
12309
+ "eks": "EKS",
12310
+ "elasticache": "ElastiCache",
12311
+ "elasticbeanstalk": "Elastic Beanstalk",
12312
+ "elastictranscoder": "Elastic Transcoder",
12313
+ "elb": "ELB",
12314
+ "elbv2": "ELB v2",
12315
+ "emr": "EMR",
12316
+ "emr-serverless": "EMR Serverless",
12317
+ "es": "OpenSearch Service",
12318
+ "events": "EventBridge",
12319
+ "firehose": "Firehose",
12320
+ "fis": "Fault Injection Service",
12321
+ "glacier": "Amazon Glacier",
12322
+ "glue": "Glue",
12323
+ "iam": "IAM",
12324
+ "identitystore": "Identity Store",
12325
+ "infrastructure": "Infrastructure",
12326
+ "iot": "IoT",
12327
+ "iot-data": "IoT Data",
12328
+ "iotanalytics": "IoT Analytics",
12329
+ "iotwireless": "IoT Wireless",
12330
+ "kafka": "MSK",
12331
+ "kinesis": "Kinesis Data Streams",
12332
+ "kinesisanalytics": "Kinesis Data Analytics",
12333
+ "kinesisanalyticsv2": "Managed Service for Apache Flink",
12334
+ "kms": "KMS",
12335
+ "lakeformation": "Lake Formation",
12336
+ "lambda": "Lambda",
12337
+ "logs": "CloudWatch Logs",
12338
+ "managedblockchain": "Managed Blockchain",
12339
+ "mediaconvert": "MediaConvert",
12340
+ "mediastore": "Elemental MediaStore",
12341
+ "mediastore-data": "Elemental MediaStore Data",
12342
+ "memorydb": "MemoryDB",
12343
+ "mq": "MQ",
12344
+ "mwaa": "Managed Workflows for Apache Airflow",
12345
+ "neptune": "Neptune",
12346
+ "opensearch": "OpenSearch Service",
12347
+ "organizations": "Organizations",
12348
+ "pinpoint": "Pinpoint",
12349
+ "pipes": "EventBridge Pipes",
12350
+ "qldb": "QLDB",
12351
+ "qldb-session": "QLDB Session",
12352
+ "ram": "Resource Access Manager",
12353
+ "rds": "RDS",
12354
+ "rds-data": "RDS Data",
12355
+ "redshift": "Redshift",
12356
+ "redshift-data": "Redshift Data",
12357
+ "resource-groups": "Resource Groups",
12358
+ "resourcegroupstaggingapi": "Resource Groups Tagging API",
12359
+ "route53": "Route 53",
12360
+ "route53resolver": "Route 53 Resolver",
12361
+ "s3": "S3",
12362
+ "s3control": "S3 Control",
12363
+ "sagemaker": "SageMaker AI",
12364
+ "sagemaker-runtime": "SageMaker AI Runtime",
12365
+ "scheduler": "EventBridge Scheduler",
12366
+ "secretsmanager": "Secrets Manager",
12367
+ "serverlessrepo": "Serverless Application Repository",
12368
+ "servicediscovery": "Cloud Map",
12369
+ "ses": "SES",
12370
+ "sesv2": "SES v2",
12371
+ "sfn": "Step Functions",
12372
+ "shield": "Shield",
12373
+ "sns": "SNS",
12374
+ "sqs": "SQS",
12375
+ "ssm": "Systems Manager",
12376
+ "sso-admin": "IAM Identity Center",
12377
+ "stepfunctions": "Step Functions",
12378
+ "sts": "STS",
12379
+ "support": "Support",
12380
+ "swf": "SWF",
12381
+ "textract": "Textract",
12382
+ "timestream": "Timestream",
12383
+ "timestream-query": "Timestream Query",
12384
+ "timestream-write": "Timestream Write",
12385
+ "transcribe": "Transcribe",
12386
+ "transfer": "Transfer Family",
12387
+ "translate": "Translate",
12388
+ "verifiedpermissions": "Verified Permissions",
12389
+ "waf": "WAF Classic",
12390
+ "wafv2": "WAF",
12391
+ "xray": "X-Ray"
12392
+ };
12393
+ var getServiceDisplayName = (code) => {
12394
+ if (!code) return "";
12395
+ return SERVICE_DISPLAY_NAME[code] ?? code;
12396
+ };
12397
+
12265
12398
  // src/components/aws-service-icon/aws-service-icon.tsx
12266
12399
  var import_material2 = require("@mui/material");
12267
12400
  var import_react38 = require("react");
@@ -14684,8 +14817,9 @@ var ServiceCell = (0, import_react40.memo)(({
14684
14817
  import_material4.Typography,
14685
14818
  {
14686
14819
  sx: {
14687
- flexShrink: 0,
14820
+ flexShrink: 1,
14688
14821
  fontWeight: "bold",
14822
+ minWidth: 0,
14689
14823
  overflow: "hidden",
14690
14824
  padding: "1px 8px",
14691
14825
  textOverflow: "ellipsis",
@@ -14700,7 +14834,7 @@ var ServiceCell = (0, import_react40.memo)(({
14700
14834
  }
14701
14835
  },
14702
14836
  variant: "body2",
14703
- children: service
14837
+ children: getServiceDisplayName(service)
14704
14838
  }
14705
14839
  ),
14706
14840
  resource ? /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_jsx_runtime125.Fragment, { children: [
@@ -14932,11 +15066,11 @@ var SpansDataGridRow = (0, import_react42.memo)(
14932
15066
  );
14933
15067
  var SpansDataGrid = ({
14934
15068
  clearingSpans,
15069
+ errorCount,
14935
15070
  fetchingBackward,
14936
15071
  fetchingForward,
14937
15072
  hasMoreBackward,
14938
15073
  hasMoreForward,
14939
- iamErrorCount,
14940
15074
  licenseLimit,
14941
15075
  onClearSpans,
14942
15076
  onFetchBackward,
@@ -14948,7 +15082,8 @@ var SpansDataGrid = ({
14948
15082
  spans,
14949
15083
  streamPaused,
14950
15084
  systemLimit,
14951
- totalCount
15085
+ totalCount,
15086
+ warningCount
14952
15087
  }) => {
14953
15088
  const columns = (0, import_react42.useMemo)(() => [
14954
15089
  columnHelper.accessor("startTime", {
@@ -15055,20 +15190,30 @@ var SpansDataGrid = ({
15055
15190
  return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_jsx_runtime127.Fragment, { children: [
15056
15191
  /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Grid, { item: true, xs: 12, children: /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_material6.Box, { sx: { alignItems: "center", display: "flex", gap: "0.5rem" }, children: [
15057
15192
  /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(SpanCountBadge, { licenseLimit, systemLimit, totalCount, visibleCount: spans?.length }),
15058
- iamErrorCount !== void 0 && iamErrorCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_jsx_runtime127.Fragment, { children: [
15193
+ errorCount !== void 0 && errorCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_jsx_runtime127.Fragment, { children: [
15059
15194
  /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Typography, { color: "text.disabled", sx: { mr: 0.5 }, variant: "body2", children: "\u2014" }),
15060
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Tooltip, { title: "Number of IAM permission errors detected across all operations", children: /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
15195
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Tooltip, { title: "Number of errors detected across all operations", children: /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
15061
15196
  import_material6.Box,
15062
15197
  {
15063
- "data-testid": IAM_ERROR_COUNT_TEST_ID,
15198
+ "data-testid": ERROR_COUNT_TEST_ID,
15064
15199
  sx: { alignItems: "center", borderBottom: "1px dotted", borderColor: "error.main", cursor: "default", display: "flex", gap: 0.5, mb: "-1px" },
15065
15200
  children: [
15066
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Typography, { color: "error", variant: "body2", children: iamErrorCount.toLocaleString() }),
15067
- /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_material6.Typography, { color: "error", variant: "caption", children: [
15068
- "IAM",
15069
- " ",
15070
- iamErrorCount === 1 ? "error" : "errors"
15071
- ] })
15201
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Typography, { color: "error", variant: "body2", children: errorCount.toLocaleString() }),
15202
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Typography, { color: "error", variant: "caption", children: errorCount === 1 ? "error" : "errors" })
15203
+ ]
15204
+ }
15205
+ ) })
15206
+ ] }),
15207
+ warningCount !== void 0 && warningCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_jsx_runtime127.Fragment, { children: [
15208
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Typography, { color: "text.disabled", sx: { mr: 0.5 }, variant: "body2", children: "\u2014" }),
15209
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Tooltip, { title: "Number of warnings detected across all operations", children: /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
15210
+ import_material6.Box,
15211
+ {
15212
+ "data-testid": WARNING_COUNT_TEST_ID,
15213
+ sx: { alignItems: "center", borderBottom: "1px dotted", borderColor: "warning.main", cursor: "default", display: "flex", gap: 0.5, mb: "-1px" },
15214
+ children: [
15215
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Typography, { color: "warning.main", variant: "body2", children: warningCount.toLocaleString() }),
15216
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_material6.Typography, { color: "warning.main", variant: "caption", children: warningCount === 1 ? "warning" : "warnings" })
15072
15217
  ]
15073
15218
  }
15074
15219
  ) })
@@ -15202,11 +15347,11 @@ var SpansList = (props) => {
15202
15347
  SpansDataGrid,
15203
15348
  {
15204
15349
  clearingSpans: props.clearingSpans,
15350
+ errorCount: props.errorCount,
15205
15351
  fetchingBackward: props.fetchingBackward,
15206
15352
  fetchingForward: props.fetchingForward,
15207
15353
  hasMoreBackward: props.hasMoreBackward,
15208
15354
  hasMoreForward: props.hasMoreForward,
15209
- iamErrorCount: props.iamErrorCount,
15210
15355
  licenseLimit: props.licenseLimit,
15211
15356
  onClearSpans: props.onClearSpans,
15212
15357
  onFetchBackward: props.onFetchBackward,
@@ -15218,7 +15363,8 @@ var SpansList = (props) => {
15218
15363
  spans: props.spans,
15219
15364
  streamPaused: props.streamPaused,
15220
15365
  systemLimit: props.systemLimit,
15221
- totalCount: props.totalCount
15366
+ totalCount: props.totalCount,
15367
+ warningCount: props.warningCount
15222
15368
  }
15223
15369
  )
15224
15370
  ] });
@@ -18151,7 +18297,8 @@ var useSpans = () => {
18151
18297
  setTotalCount(response.pagination.total_count);
18152
18298
  setLicenseLimit(response.limits.span_count_limit_license);
18153
18299
  setSystemLimit(response.limits.span_count_limit_system);
18154
- setIamErrorCount(response.iam_error_count);
18300
+ setErrorCount(response.error_count);
18301
+ setWarningCount(response.warning_count);
18155
18302
  return {
18156
18303
  hasMoreBackward: response.pagination.has_prev,
18157
18304
  hasMoreForward: response.pagination.has_next,
@@ -18183,7 +18330,8 @@ var useSpans = () => {
18183
18330
  const [totalCount, setTotalCount] = (0, import_react52.useState)();
18184
18331
  const [licenseLimit, setLicenseLimit] = (0, import_react52.useState)();
18185
18332
  const [systemLimit, setSystemLimit] = (0, import_react52.useState)();
18186
- const [iamErrorCount, setIamErrorCount] = (0, import_react52.useState)();
18333
+ const [errorCount, setErrorCount] = (0, import_react52.useState)();
18334
+ const [warningCount, setWarningCount] = (0, import_react52.useState)();
18187
18335
  const [hasMoreBackward, setHasMoreBackward] = (0, import_react52.useState)();
18188
18336
  const [hasMoreForward, setHasMoreForward] = (0, import_react52.useState)();
18189
18337
  const fetchForward = (0, import_react52.useCallback)(() => {
@@ -18239,6 +18387,7 @@ var useSpans = () => {
18239
18387
  return {
18240
18388
  clearingSpans,
18241
18389
  clearSpans,
18390
+ errorCount,
18242
18391
  fetchBackward,
18243
18392
  fetchError,
18244
18393
  fetchForward,
@@ -18246,13 +18395,13 @@ var useSpans = () => {
18246
18395
  fetchingForward,
18247
18396
  hasMoreBackward,
18248
18397
  hasMoreForward,
18249
- iamErrorCount,
18250
18398
  licenseLimit,
18251
18399
  spans: throttledSpans.items,
18252
18400
  streamPaused,
18253
18401
  systemLimit,
18254
18402
  toggleStream,
18255
- totalCount
18403
+ totalCount,
18404
+ warningCount
18256
18405
  };
18257
18406
  };
18258
18407
 
@@ -30488,7 +30637,7 @@ var EventDetails = ({ onClose, selectedEvent }) => {
30488
30637
  /* @__PURE__ */ (0, import_jsx_runtime140.jsxs)(import_material17.Box, { sx: { display: "grid", gap: 2, gridTemplateColumns: "1.3fr 1fr" }, children: [
30489
30638
  /* @__PURE__ */ (0, import_jsx_runtime140.jsxs)(import_material17.Box, { children: [
30490
30639
  /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(import_material17.Typography, { sx: { fontWeight: 600 }, variant: "caption", children: "Service" }),
30491
- /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(import_material17.Typography, { "data-testid": EVENT_DETAILS_SERVICE_NAME_TEST_ID, variant: "body2", children: selectedEvent.service_name })
30640
+ /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(import_material17.Typography, { "data-testid": EVENT_DETAILS_SERVICE_NAME_TEST_ID, variant: "body2", children: getServiceDisplayName(selectedEvent.service_name) })
30492
30641
  ] }),
30493
30642
  /* @__PURE__ */ (0, import_jsx_runtime140.jsxs)(import_material17.Box, { children: [
30494
30643
  /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(import_material17.Typography, { sx: { fontWeight: 600 }, variant: "caption", children: "Action" }),
@@ -30732,7 +30881,7 @@ var ServiceNode = (0, import_react62.memo)(({ data, selected }) => {
30732
30881
  noWrap: true,
30733
30882
  sx: { fontWeight: 700, lineHeight: 1.25 },
30734
30883
  variant: "body2",
30735
- children: data.event.service_name
30884
+ children: getServiceDisplayName(data.event.service_name)
30736
30885
  }
30737
30886
  ),
30738
30887
  data.event.resource_name != "" && /* @__PURE__ */ (0, import_jsx_runtime142.jsx)(
@@ -31260,6 +31409,7 @@ var SpansListPage = () => {
31260
31409
  const {
31261
31410
  clearingSpans,
31262
31411
  clearSpans,
31412
+ errorCount,
31263
31413
  fetchBackward,
31264
31414
  fetchError,
31265
31415
  fetchForward,
@@ -31267,13 +31417,13 @@ var SpansListPage = () => {
31267
31417
  fetchingForward,
31268
31418
  hasMoreBackward,
31269
31419
  hasMoreForward,
31270
- iamErrorCount,
31271
31420
  licenseLimit,
31272
31421
  spans,
31273
31422
  streamPaused,
31274
31423
  systemLimit,
31275
31424
  toggleStream,
31276
- totalCount
31425
+ totalCount,
31426
+ warningCount
31277
31427
  } = useSpans();
31278
31428
  const { checking, checkStatus, status, statusError } = useAppInspectorStatus();
31279
31429
  const clearSpansSync = (0, import_react69.useCallback)(() => {
@@ -31338,12 +31488,12 @@ var SpansListPage = () => {
31338
31488
  SpansList,
31339
31489
  {
31340
31490
  clearingSpans,
31491
+ errorCount,
31341
31492
  fetchError,
31342
31493
  fetchingBackward,
31343
31494
  fetchingForward,
31344
31495
  hasMoreBackward,
31345
31496
  hasMoreForward,
31346
- iamErrorCount,
31347
31497
  licenseLimit,
31348
31498
  onClearSpans: clearSpansSync,
31349
31499
  onFetchBackward: fetchBackward,
@@ -31355,7 +31505,8 @@ var SpansListPage = () => {
31355
31505
  spans,
31356
31506
  streamPaused,
31357
31507
  systemLimit,
31358
- totalCount
31508
+ totalCount,
31509
+ warningCount
31359
31510
  }
31360
31511
  )
31361
31512
  ]