railwatch 0.9.4 → 1.0.0
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.
- checksums.yaml +4 -4
- data/AGENTS.md +37 -33
- data/CHANGELOG.md +50 -0
- data/README.md +51 -60
- data/config/routes.rb +0 -59
- data/docs/ai-and-mcp.md +9 -8
- data/docs/configuration.md +35 -66
- data/docs/faq.md +17 -25
- data/docs/getting-started.md +105 -117
- data/docs/replacing-nightwatch.md +8 -7
- data/docs/replacing-sentry.md +12 -16
- data/docs/security.md +14 -20
- data/docs/self-hosting.md +24 -22
- data/docs/testing.md +6 -14
- data/docs/troubleshooting.md +12 -46
- data/lib/generators/railwatch/install/install_generator.rb +12 -240
- data/lib/generators/railwatch/install/templates/initializer.rb.tt +10 -40
- data/lib/generators/railwatch/install/templates/post-deploy +0 -7
- data/lib/railwatch/authentication.rb +6 -5
- data/lib/railwatch/configuration.rb +21 -151
- data/lib/railwatch/engine.rb +9 -118
- data/lib/railwatch/patches.rb +0 -11
- data/lib/railwatch/reporter.rb +3 -19
- data/lib/railwatch/subscribers/process_info.rb +1 -2
- data/lib/railwatch/version.rb +1 -1
- data/lib/railwatch.rb +4 -62
- data/lib/tasks/railwatch_tasks.rake +3 -325
- data/llms.txt +23 -25
- metadata +3 -453
- data/app/channels/railwatch/environment_channel.rb +0 -62
- data/app/controllers/concerns/railwatch/telemetry_identity.rb +0 -25
- data/app/controllers/railwatch/alerts_controller.rb +0 -48
- data/app/controllers/railwatch/anomaly_rules_controller.rb +0 -31
- data/app/controllers/railwatch/attachments_controller.rb +0 -22
- data/app/controllers/railwatch/broadcasts_controller.rb +0 -15
- data/app/controllers/railwatch/cache_events_controller.rb +0 -30
- data/app/controllers/railwatch/commands_controller.rb +0 -16
- data/app/controllers/railwatch/comments_controller.rb +0 -11
- data/app/controllers/railwatch/dashboard_controller.rb +0 -70
- data/app/controllers/railwatch/deploys_controller.rb +0 -34
- data/app/controllers/railwatch/deprecations_controller.rb +0 -54
- data/app/controllers/railwatch/environment_scoped.rb +0 -81
- data/app/controllers/railwatch/exceptions_controller.rb +0 -52
- data/app/controllers/railwatch/executions_controller.rb +0 -13
- data/app/controllers/railwatch/issues_controller.rb +0 -258
- data/app/controllers/railwatch/jobs_controller.rb +0 -63
- data/app/controllers/railwatch/llm_calls_controller.rb +0 -124
- data/app/controllers/railwatch/logs_controller.rb +0 -40
- data/app/controllers/railwatch/mails_controller.rb +0 -19
- data/app/controllers/railwatch/notifications_controller.rb +0 -11
- data/app/controllers/railwatch/outgoing_requests_controller.rb +0 -19
- data/app/controllers/railwatch/overview_controller.rb +0 -38
- data/app/controllers/railwatch/people_controller.rb +0 -25
- data/app/controllers/railwatch/processes_controller.rb +0 -33
- data/app/controllers/railwatch/profiles_controller.rb +0 -65
- data/app/controllers/railwatch/queries_controller.rb +0 -59
- data/app/controllers/railwatch/releases_controller.rb +0 -75
- data/app/controllers/railwatch/requests_controller.rb +0 -37
- data/app/controllers/railwatch/saved_views_controller.rb +0 -53
- data/app/controllers/railwatch/scheduled_tasks_controller.rb +0 -45
- data/app/controllers/railwatch/spans_controller.rb +0 -47
- data/app/controllers/railwatch/storage_ops_controller.rb +0 -15
- data/app/controllers/railwatch/tenants_controller.rb +0 -44
- data/app/controllers/railwatch/thresholds_controller.rb +0 -47
- data/app/controllers/railwatch/traces_controller.rb +0 -72
- data/app/controllers/railwatch/transactions_controller.rb +0 -21
- data/app/controllers/railwatch/view_renders_controller.rb +0 -28
- data/app/controllers/railwatch/visits_controller.rb +0 -53
- data/app/frontend/components/app-content.tsx +0 -26
- data/app/frontend/components/app-logo-icon.tsx +0 -23
- data/app/frontend/components/app-logo.tsx +0 -14
- data/app/frontend/components/app-shell.tsx +0 -38
- data/app/frontend/components/app-sidebar-header.tsx +0 -54
- data/app/frontend/components/app-sidebar.tsx +0 -94
- data/app/frontend/components/app-wordmark.tsx +0 -29
- data/app/frontend/components/breadcrumbs.tsx +0 -46
- data/app/frontend/components/icon.tsx +0 -16
- data/app/frontend/components/input-error.tsx +0 -18
- data/app/frontend/components/nav-footer.tsx +0 -46
- data/app/frontend/components/nav-main.tsx +0 -41
- data/app/frontend/components/nav-user.tsx +0 -50
- data/app/frontend/components/railwatch/chart-hover.tsx +0 -34
- data/app/frontend/components/railwatch/chart-panel.tsx +0 -170
- data/app/frontend/components/railwatch/code.tsx +0 -28
- data/app/frontend/components/railwatch/command-palette.tsx +0 -132
- data/app/frontend/components/railwatch/copy-block.tsx +0 -52
- data/app/frontend/components/railwatch/copy-id.tsx +0 -49
- data/app/frontend/components/railwatch/cursor-load-more.tsx +0 -39
- data/app/frontend/components/railwatch/data-table.tsx +0 -195
- data/app/frontend/components/railwatch/digit-roll.tsx +0 -312
- data/app/frontend/components/railwatch/empty-state.tsx +0 -159
- data/app/frontend/components/railwatch/env-nav.tsx +0 -130
- data/app/frontend/components/railwatch/env-switcher.tsx +0 -145
- data/app/frontend/components/railwatch/filter-bar.tsx +0 -153
- data/app/frontend/components/railwatch/flamegraph.tsx +0 -324
- data/app/frontend/components/railwatch/frames.tsx +0 -295
- data/app/frontend/components/railwatch/json-viewer.tsx +0 -159
- data/app/frontend/components/railwatch/live-dot.tsx +0 -78
- data/app/frontend/components/railwatch/live-toggle.tsx +0 -76
- data/app/frontend/components/railwatch/metric-chart.tsx +0 -112
- data/app/frontend/components/railwatch/mobile-page-switcher.tsx +0 -89
- data/app/frontend/components/railwatch/onboarding.tsx +0 -91
- data/app/frontend/components/railwatch/origin-identity.tsx +0 -84
- data/app/frontend/components/railwatch/page-header.tsx +0 -42
- data/app/frontend/components/railwatch/percentile-picker.tsx +0 -18
- data/app/frontend/components/railwatch/relative-time.tsx +0 -18
- data/app/frontend/components/railwatch/saved-views.tsx +0 -232
- data/app/frontend/components/railwatch/segmented.tsx +0 -64
- data/app/frontend/components/railwatch/series-chart.tsx +0 -400
- data/app/frontend/components/railwatch/shortcuts-dialog.tsx +0 -89
- data/app/frontend/components/railwatch/signal-toast.tsx +0 -121
- data/app/frontend/components/railwatch/sort-header.tsx +0 -37
- data/app/frontend/components/railwatch/source-link.tsx +0 -57
- data/app/frontend/components/railwatch/sparkline-cell.tsx +0 -14
- data/app/frontend/components/railwatch/sql-block.tsx +0 -116
- data/app/frontend/components/railwatch/stat.tsx +0 -185
- data/app/frontend/components/railwatch/status-badge.tsx +0 -79
- data/app/frontend/components/railwatch/step-picker.tsx +0 -57
- data/app/frontend/components/railwatch/timeline.tsx +0 -405
- data/app/frontend/components/railwatch/utilisation-bar.tsx +0 -44
- data/app/frontend/components/railwatch/window-picker.tsx +0 -147
- data/app/frontend/components/ui/avatar.tsx +0 -51
- data/app/frontend/components/ui/badge.tsx +0 -46
- data/app/frontend/components/ui/breadcrumb.tsx +0 -109
- data/app/frontend/components/ui/button.tsx +0 -60
- data/app/frontend/components/ui/card.tsx +0 -92
- data/app/frontend/components/ui/chart.tsx +0 -374
- data/app/frontend/components/ui/checkbox.tsx +0 -32
- data/app/frontend/components/ui/collapsible.tsx +0 -31
- data/app/frontend/components/ui/command.tsx +0 -182
- data/app/frontend/components/ui/dialog.tsx +0 -158
- data/app/frontend/components/ui/dropdown-menu.tsx +0 -255
- data/app/frontend/components/ui/hover-card.tsx +0 -42
- data/app/frontend/components/ui/input.tsx +0 -21
- data/app/frontend/components/ui/label.tsx +0 -24
- data/app/frontend/components/ui/popover.tsx +0 -87
- data/app/frontend/components/ui/select.tsx +0 -185
- data/app/frontend/components/ui/separator.tsx +0 -28
- data/app/frontend/components/ui/sheet.tsx +0 -137
- data/app/frontend/components/ui/sidebar.tsx +0 -726
- data/app/frontend/components/ui/skeleton.tsx +0 -13
- data/app/frontend/components/ui/sonner.tsx +0 -41
- data/app/frontend/components/ui/table.tsx +0 -114
- data/app/frontend/components/ui/tabs.tsx +0 -91
- data/app/frontend/components/ui/textarea.tsx +0 -18
- data/app/frontend/components/ui/tooltip.tsx +0 -61
- data/app/frontend/components/user-info.tsx +0 -32
- data/app/frontend/components/user-menu-content.tsx +0 -94
- data/app/frontend/entrypoints/application.css +0 -244
- data/app/frontend/entrypoints/inertia.tsx +0 -92
- data/app/frontend/fonts/CommitMono-Bold.woff2 +0 -0
- data/app/frontend/fonts/CommitMono-Regular.woff2 +0 -0
- data/app/frontend/fonts/Roboto-Black.woff2 +0 -0
- data/app/frontend/fonts/Roboto-Bold.woff2 +0 -0
- data/app/frontend/fonts/Roboto-Medium.woff2 +0 -0
- data/app/frontend/fonts/Roboto-Regular.woff2 +0 -0
- data/app/frontend/hooks/use-appearance.tsx +0 -67
- data/app/frontend/hooks/use-clipboard.ts +0 -32
- data/app/frontend/hooks/use-flash.tsx +0 -23
- data/app/frontend/hooks/use-hotkeys.ts +0 -63
- data/app/frontend/hooks/use-initials.tsx +0 -15
- data/app/frontend/hooks/use-live.ts +0 -205
- data/app/frontend/hooks/use-mobile-navigation.ts +0 -8
- data/app/frontend/hooks/use-mobile.ts +0 -21
- data/app/frontend/hooks/use-percentile.ts +0 -24
- data/app/frontend/hooks/use-reduced-motion.ts +0 -25
- data/app/frontend/hooks/use-row-nav.ts +0 -106
- data/app/frontend/hooks/use-step.ts +0 -27
- data/app/frontend/hooks/use-ticker.ts +0 -12
- data/app/frontend/hooks/use-window.ts +0 -58
- data/app/frontend/layouts/app/app-sidebar-layout.tsx +0 -107
- data/app/frontend/layouts/app-layout.tsx +0 -21
- data/app/frontend/layouts/env-layout.tsx +0 -53
- data/app/frontend/layouts/persistent-layout.tsx +0 -18
- data/app/frontend/lib/cable.ts +0 -10
- data/app/frontend/lib/env-pages.ts +0 -236
- data/app/frontend/lib/execution-path.ts +0 -55
- data/app/frontend/lib/explain.ts +0 -50
- data/app/frontend/lib/filter.ts +0 -25
- data/app/frontend/lib/flamegraph.ts +0 -155
- data/app/frontend/lib/format.ts +0 -71
- data/app/frontend/lib/keyboard.ts +0 -18
- data/app/frontend/lib/mount.ts +0 -23
- data/app/frontend/lib/source-link.ts +0 -217
- data/app/frontend/lib/utils.ts +0 -6
- data/app/frontend/pages/alerts/index.tsx +0 -171
- data/app/frontend/pages/broadcasts/index.tsx +0 -171
- data/app/frontend/pages/cache_events/index.tsx +0 -127
- data/app/frontend/pages/commands/index.tsx +0 -143
- data/app/frontend/pages/deploys/index.tsx +0 -94
- data/app/frontend/pages/deploys/show.tsx +0 -309
- data/app/frontend/pages/deprecations/index.tsx +0 -176
- data/app/frontend/pages/exceptions/index.tsx +0 -271
- data/app/frontend/pages/executions/show.tsx +0 -821
- data/app/frontend/pages/issues/index.tsx +0 -399
- data/app/frontend/pages/issues/show.tsx +0 -1367
- data/app/frontend/pages/jobs/index.tsx +0 -381
- data/app/frontend/pages/jobs/klass.tsx +0 -215
- data/app/frontend/pages/llm_calls/index.tsx +0 -664
- data/app/frontend/pages/logs/index.tsx +0 -303
- data/app/frontend/pages/mails/index.tsx +0 -218
- data/app/frontend/pages/notifications/index.tsx +0 -161
- data/app/frontend/pages/outgoing_requests/index.tsx +0 -309
- data/app/frontend/pages/overview/show.tsx +0 -333
- data/app/frontend/pages/people/index.tsx +0 -102
- data/app/frontend/pages/people/show.tsx +0 -149
- data/app/frontend/pages/processes/index.tsx +0 -335
- data/app/frontend/pages/profiles/index.tsx +0 -110
- data/app/frontend/pages/profiles/show.tsx +0 -105
- data/app/frontend/pages/queries/index.tsx +0 -492
- data/app/frontend/pages/queries/show.tsx +0 -276
- data/app/frontend/pages/releases/index.tsx +0 -190
- data/app/frontend/pages/releases/release-health.tsx +0 -68
- data/app/frontend/pages/releases/release-path.ts +0 -25
- data/app/frontend/pages/releases/show.tsx +0 -262
- data/app/frontend/pages/requests/index.tsx +0 -235
- data/app/frontend/pages/requests/route.tsx +0 -159
- data/app/frontend/pages/scheduled_tasks/index.tsx +0 -220
- data/app/frontend/pages/spans/index.tsx +0 -229
- data/app/frontend/pages/spans/show.tsx +0 -220
- data/app/frontend/pages/storage_ops/index.tsx +0 -150
- data/app/frontend/pages/tenants/index.tsx +0 -236
- data/app/frontend/pages/tenants/show.tsx +0 -477
- data/app/frontend/pages/tenants/tenant-path.ts +0 -26
- data/app/frontend/pages/thresholds/index.tsx +0 -414
- data/app/frontend/pages/traces/show.tsx +0 -208
- data/app/frontend/pages/transactions/index.tsx +0 -220
- data/app/frontend/pages/view_renders/index.tsx +0 -241
- data/app/frontend/pages/visits/index.tsx +0 -321
- data/app/frontend/public/icon.png +0 -0
- data/app/frontend/public/icon.svg +0 -5
- data/app/frontend/routes/index.d.ts +0 -2136
- data/app/frontend/routes/index.js +0 -2112
- data/app/frontend/types/globals.d.ts +0 -9
- data/app/frontend/types/index.ts +0 -288
- data/app/frontend/types/vite-env.d.ts +0 -9
- data/app/helpers/railwatch/assets_helper.rb +0 -52
- data/app/jobs/railwatch/anomaly_scan_job.rb +0 -11
- data/app/jobs/railwatch/application_job.rb +0 -7
- data/app/jobs/railwatch/auto_resolve_issues_job.rb +0 -19
- data/app/jobs/railwatch/check_scheduled_tasks_job.rb +0 -113
- data/app/jobs/railwatch/detect_anomalies_job.rb +0 -171
- data/app/jobs/railwatch/detect_performance_issues_job.rb +0 -95
- data/app/jobs/railwatch/group_exceptions_job.rb +0 -91
- data/app/jobs/railwatch/optimize_telemetry_job.rb +0 -23
- data/app/jobs/railwatch/performance_scan_job.rb +0 -11
- data/app/jobs/railwatch/prune_telemetry_job.rb +0 -129
- data/app/jobs/railwatch/release_health_rollup_job.rb +0 -64
- data/app/jobs/railwatch/rollup_catchup_job.rb +0 -21
- data/app/jobs/railwatch/rollup_job.rb +0 -132
- data/app/jobs/railwatch/scheduled_task_scan_job.rb +0 -11
- data/app/models/concerns/railwatch/detection_snapshotting.rb +0 -20
- data/app/models/railwatch/alert.rb +0 -229
- data/app/models/railwatch/alert_rule.rb +0 -121
- data/app/models/railwatch/anomaly_rule.rb +0 -51
- data/app/models/railwatch/application.rb +0 -44
- data/app/models/railwatch/application_record.rb +0 -33
- data/app/models/railwatch/comment.rb +0 -36
- data/app/models/railwatch/deploy.rb +0 -67
- data/app/models/railwatch/environment.rb +0 -68
- data/app/models/railwatch/execution_presenter.rb +0 -185
- data/app/models/railwatch/filter_query.rb +0 -184
- data/app/models/railwatch/followup_receipt.rb +0 -27
- data/app/models/railwatch/ingest/batch.rb +0 -355
- data/app/models/railwatch/ingest/mapper.rb +0 -585
- data/app/models/railwatch/ingest/payload.rb +0 -96
- data/app/models/railwatch/ingest/rollup_absorber.rb +0 -170
- data/app/models/railwatch/ingest/writer.rb +0 -137
- data/app/models/railwatch/issue.rb +0 -277
- data/app/models/railwatch/issue_activity.rb +0 -23
- data/app/models/railwatch/issue_detection_presenter.rb +0 -309
- data/app/models/railwatch/issue_detection_snapshot.rb +0 -77
- data/app/models/railwatch/maintenance_task.rb +0 -53
- data/app/models/railwatch/saved_view.rb +0 -63
- data/app/models/railwatch/telemetry/aggregations.rb +0 -251
- data/app/models/railwatch/telemetry/attachment.rb +0 -31
- data/app/models/railwatch/telemetry/bounded_gzip.rb +0 -101
- data/app/models/railwatch/telemetry/broadcast.rb +0 -13
- data/app/models/railwatch/telemetry/cache_event.rb +0 -16
- data/app/models/railwatch/telemetry/child.rb +0 -53
- data/app/models/railwatch/telemetry/cursor_page.rb +0 -99
- data/app/models/railwatch/telemetry/deprecation.rb +0 -13
- data/app/models/railwatch/telemetry/enqueued_job.rb +0 -13
- data/app/models/railwatch/telemetry/exception.rb +0 -28
- data/app/models/railwatch/telemetry/execution.rb +0 -152
- data/app/models/railwatch/telemetry/export_delivery.rb +0 -32
- data/app/models/railwatch/telemetry/export_destination.rb +0 -66
- data/app/models/railwatch/telemetry/health_sample.rb +0 -72
- data/app/models/railwatch/telemetry/ingest_batch.rb +0 -31
- data/app/models/railwatch/telemetry/llm_call.rb +0 -37
- data/app/models/railwatch/telemetry/log.rb +0 -91
- data/app/models/railwatch/telemetry/mail.rb +0 -13
- data/app/models/railwatch/telemetry/n_plus_one.rb +0 -92
- data/app/models/railwatch/telemetry/notification.rb +0 -13
- data/app/models/railwatch/telemetry/outgoing_request.rb +0 -13
- data/app/models/railwatch/telemetry/person.rb +0 -50
- data/app/models/railwatch/telemetry/process.rb +0 -10
- data/app/models/railwatch/telemetry/profile.rb +0 -37
- data/app/models/railwatch/telemetry/query.rb +0 -57
- data/app/models/railwatch/telemetry/query_shape.rb +0 -45
- data/app/models/railwatch/telemetry/release_health.rb +0 -69
- data/app/models/railwatch/telemetry/rollup.rb +0 -157
- data/app/models/railwatch/telemetry/session.rb +0 -24
- data/app/models/railwatch/telemetry/span.rb +0 -19
- data/app/models/railwatch/telemetry/storage_op.rb +0 -13
- data/app/models/railwatch/telemetry/tenant.rb +0 -240
- data/app/models/railwatch/telemetry/transaction.rb +0 -13
- data/app/models/railwatch/telemetry/view_render.rb +0 -13
- data/app/models/railwatch/telemetry/visit.rb +0 -24
- data/app/models/railwatch/telemetry_record.rb +0 -107
- data/app/models/railwatch/threshold.rb +0 -66
- data/app/models/railwatch/user.rb +0 -47
- data/app/models/railwatch/viewer.rb +0 -13
- data/app/models/railwatch/window.rb +0 -66
- data/app/views/layouts/railwatch/dashboard.html.erb +0 -25
- data/db/railwatch_migrate/20260916000000_create_railwatch_tables.rb +0 -151
- data/db/railwatch_migrate/20260917000000_create_railwatch_maintenance_tasks.rb +0 -18
- data/db/railwatch_migrate/20260917120000_create_railwatch_followup_receipts.rb +0 -20
- data/db/railwatch_migrate/20260918120000_widen_host_user_ids.rb +0 -71
- data/db/railwatch_telemetry_migrate/20260903000000_enable_incremental_vacuum.rb +0 -62
- data/db/railwatch_telemetry_migrate/20260903000001_create_telemetry.rb +0 -481
- data/db/railwatch_telemetry_migrate/20260903000002_rename_tenant_to_app_tenant.rb +0 -14
- data/db/railwatch_telemetry_migrate/20260903000003_add_statement_count_to_transactions.rb +0 -9
- data/db/railwatch_telemetry_migrate/20260903000004_add_role_and_channel.rb +0 -10
- data/db/railwatch_telemetry_migrate/20260903000005_add_locals_to_exceptions.rb +0 -9
- data/db/railwatch_telemetry_migrate/20260903000006_add_spans_health_vitals_and_fts.rb +0 -82
- data/db/railwatch_telemetry_migrate/20260903000007_rename_span_attributes_to_payload.rb +0 -10
- data/db/railwatch_telemetry_migrate/20260903000008_add_profiles_and_attachments.rb +0 -60
- data/db/railwatch_telemetry_migrate/20260903000009_add_truncated_to_attachments.rb +0 -9
- data/db/railwatch_telemetry_migrate/20260903000010_create_sessions_and_release_health.rb +0 -51
- data/db/railwatch_telemetry_migrate/20260903000011_add_fingerprint_to_exceptions.rb +0 -11
- data/db/railwatch_telemetry_migrate/20260904000012_add_failed_to_broadcasts.rb +0 -10
- data/db/railwatch_telemetry_migrate/20260904010000_add_filter_cursor_indexes.rb +0 -37
- data/db/railwatch_telemetry_migrate/20260904020000_add_n_plus_ones_execution_id_index.rb +0 -11
- data/db/railwatch_telemetry_migrate/20260904120000_create_query_shapes.rb +0 -15
- data/db/railwatch_telemetry_migrate/20260906120000_add_backpressure_factor_to_ingest_batches.rb +0 -9
- data/db/railwatch_telemetry_migrate/20260907000000_rename_lantern_version_on_processes.rb +0 -10
- data/db/railwatch_telemetry_migrate/20260913000000_rename_nightrail_version_on_processes.rb +0 -9
- data/db/railwatch_telemetry_migrate/20260914000000_drop_orphan_durable_ingest_tables.rb +0 -18
- data/db/railwatch_telemetry_migrate/20260914010000_drop_orphan_durable_ingest_columns.rb +0 -25
- data/db/railwatch_telemetry_migrate/20260915000000_create_llm_calls.rb +0 -55
- data/db/railwatch_telemetry_migrate/20260915120000_add_detail_to_llm_calls.rb +0 -21
- data/db/railwatch_telemetry_migrate/20260915200000_add_explained_index_to_queries.rb +0 -16
- data/db/railwatch_telemetry_migrate/20260915210000_add_slowest_index_to_queries.rb +0 -18
- data/db/railwatch_telemetry_migrate/20260917010000_add_batch_ledger_to_ingest_batches.rb +0 -16
- data/db/railwatch_telemetry_migrate/20260919000100_create_export_queue.rb +0 -146
- data/db/railwatch_telemetry_migrate/20260922000000_add_covering_indexes_for_dashboard_aggregates.rb +0 -34
- data/db/railwatch_telemetry_migrate/20260923000000_add_people_index.rb +0 -15
- data/db/railwatch_telemetry_migrate/20260925000000_add_tenant_summary_index.rb +0 -17
- data/db/railwatch_telemetry_migrate/20261008000000_add_in_transaction_to_outgoing_requests.rb +0 -10
- data/docs/embedded.md +0 -503
- data/lib/puma/plugin/railwatch.rb +0 -215
- data/lib/railwatch/dashboard_assets.rb +0 -45
- data/lib/railwatch/embedded.rb +0 -50
- data/lib/railwatch/export/client.rb +0 -124
- data/lib/railwatch/export/lease.rb +0 -56
- data/lib/railwatch/export/outbox.rb +0 -361
- data/lib/railwatch/export/policy.rb +0 -79
- data/lib/railwatch/export/sender.rb +0 -130
- data/lib/railwatch/ingest_request_body_limit.rb +0 -10
- data/lib/railwatch/maintenance.rb +0 -194
- data/lib/railwatch/patches/migration_busy_timeout.rb +0 -73
- data/lib/railwatch/transport/local.rb +0 -78
- data/lib/railwatch/transport/socket.rb +0 -183
- data/lib/railwatch/writer.rb +0 -370
- data/public/railwatch/assets/CommitMono-Bold-D6h61ieg.woff2 +0 -0
- data/public/railwatch/assets/CommitMono-Regular-zr8w7Obm.woff2 +0 -0
- data/public/railwatch/assets/Roboto-Black-auA4GeOK.woff2 +0 -0
- data/public/railwatch/assets/Roboto-Bold-CJLnO8j1.woff2 +0 -0
- data/public/railwatch/assets/Roboto-Medium-Cm2bwKpj.woff2 +0 -0
- data/public/railwatch/assets/Roboto-Regular-Chaq1-PV.woff2 +0 -0
- data/public/railwatch/assets/app-layout-by7G3sa1.js +0 -41
- data/public/railwatch/assets/application-Cc5v_Vk9.css +0 -1
- data/public/railwatch/assets/arrow-up-DCZ7emux.js +0 -1
- data/public/railwatch/assets/braces-CykT5_5u.js +0 -1
- data/public/railwatch/assets/card-C-PPSA0g.js +0 -1
- data/public/railwatch/assets/chart-Cov79YC5.js +0 -39
- data/public/railwatch/assets/chart-hover-DdK4E-2h.js +0 -1
- data/public/railwatch/assets/chart-panel-BPaYRXJB.js +0 -1
- data/public/railwatch/assets/code-BYjC4YZ_.js +0 -1
- data/public/railwatch/assets/copy-id-LPfoj9cC.js +0 -1
- data/public/railwatch/assets/cursor-load-more-DSdhgpGl.js +0 -1
- data/public/railwatch/assets/data-table-CQ_YRWQs.js +0 -1
- data/public/railwatch/assets/env-layout-CdMWbUkm.js +0 -1
- data/public/railwatch/assets/execution-path-7MYt-Qbn.js +0 -1
- data/public/railwatch/assets/filter-bar-CrzpQ_vD.js +0 -1
- data/public/railwatch/assets/flamegraph-BIFEdTAg.js +0 -2
- data/public/railwatch/assets/format-B9SDkrWj.js +0 -1
- data/public/railwatch/assets/frames-C5t-x4f0.js +0 -1
- data/public/railwatch/assets/index--NQ7us-L.js +0 -1
- data/public/railwatch/assets/index-2kgYe_99.js +0 -1
- data/public/railwatch/assets/index-4YEPHxtO.js +0 -1
- data/public/railwatch/assets/index-AOCC1GDJ.js +0 -1
- data/public/railwatch/assets/index-BEo-u0eO.js +0 -1
- data/public/railwatch/assets/index-BJ1V3w2N.js +0 -1
- data/public/railwatch/assets/index-BPoHsBKb.js +0 -1
- data/public/railwatch/assets/index-BZzyGUM3.js +0 -1
- data/public/railwatch/assets/index-BgVq7yKL.js +0 -1
- data/public/railwatch/assets/index-BqFGEZvW.js +0 -1
- data/public/railwatch/assets/index-ByuHJ1CH.js +0 -1
- data/public/railwatch/assets/index-C2j50AL2.js +0 -1
- data/public/railwatch/assets/index-CLEdTkvW.js +0 -1
- data/public/railwatch/assets/index-CWgq8qBu.js +0 -1
- data/public/railwatch/assets/index-CXQ7_oVj.js +0 -2
- data/public/railwatch/assets/index-CmyYrjS2.js +0 -1
- data/public/railwatch/assets/index-Cn9_HjDo.js +0 -1
- data/public/railwatch/assets/index-CsMAm9UK.js +0 -1
- data/public/railwatch/assets/index-D0Kk_oGY.js +0 -1
- data/public/railwatch/assets/index-DC9ZptJh.js +0 -1
- data/public/railwatch/assets/index-DNzg7jmV.js +0 -1
- data/public/railwatch/assets/index-DQ8uJO5f.js +0 -1
- data/public/railwatch/assets/index-Deq14BxB.js +0 -1
- data/public/railwatch/assets/index-IaV3Blzp.js +0 -1
- data/public/railwatch/assets/index-TYNWcJQs.js +0 -1
- data/public/railwatch/assets/index-WonH2fcZ.js +0 -1
- data/public/railwatch/assets/index-WxWUaH_d.js +0 -1
- data/public/railwatch/assets/index-mUNrl4ky.js +0 -1
- data/public/railwatch/assets/inertia-DfNRARuA.js +0 -97
- data/public/railwatch/assets/json-viewer-DMsF5glp.js +0 -1
- data/public/railwatch/assets/klass-CmHYk5rz.js +0 -1
- data/public/railwatch/assets/origin-identity-1R3bqa3R.js +0 -1
- data/public/railwatch/assets/percentile-picker-73z5PAps.js +0 -1
- data/public/railwatch/assets/relative-time-Dsc_cCdX.js +0 -1
- data/public/railwatch/assets/release-health-BV5OaOWd.js +0 -1
- data/public/railwatch/assets/route-CWh58C7K.js +0 -1
- data/public/railwatch/assets/segmented-DB4zh-Am.js +0 -1
- data/public/railwatch/assets/select-DBKjFlOX.js +0 -1
- data/public/railwatch/assets/series-chart-BaiDG795.js +0 -1
- data/public/railwatch/assets/show-B4ICCFGh.js +0 -1
- data/public/railwatch/assets/show-B5lOU9Gv.js +0 -1
- data/public/railwatch/assets/show-BYPB74t4.js +0 -2
- data/public/railwatch/assets/show-C7A0m2M8.js +0 -1
- data/public/railwatch/assets/show-DT5X1zqE.js +0 -1
- data/public/railwatch/assets/show-D_NBdXsn.js +0 -2
- data/public/railwatch/assets/show-DgPCnRg8.js +0 -1
- data/public/railwatch/assets/show-Yl69HF0x.js +0 -1
- data/public/railwatch/assets/show-_QxuUQCm.js +0 -3
- data/public/railwatch/assets/show-g__jnN36.js +0 -1
- data/public/railwatch/assets/show-l4ztfjl9.js +0 -1
- data/public/railwatch/assets/sort-header-BcG8ulEH.js +0 -1
- data/public/railwatch/assets/source-link-B2183i2-.js +0 -1
- data/public/railwatch/assets/sparkline-cell-B47ipscB.js +0 -1
- data/public/railwatch/assets/stat-DT2hhsqS.js +0 -1
- data/public/railwatch/assets/status-badge-CmbRKlY7.js +0 -1
- data/public/railwatch/assets/tenant-path-C4rNGauE.js +0 -1
- data/public/railwatch/assets/use-clipboard-oTNeP4ax.js +0 -1
- data/public/railwatch/assets/use-live-CLZZj245.js +0 -1
- data/public/railwatch/icon.png +0 -0
- data/public/railwatch/icon.svg +0 -5
- data/public/railwatch/manifest.json +0 -1245
- data/public/railwatch/rails-vite.json +0 -1
- /data/{app/frontend/lib → lib/generators/railwatch/install/templates}/railwatch.ts +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as $,r as A,o as w,j as s}from"./inertia-DfNRARuA.js";import{q as E,b as J,C as O,a as R}from"./app-layout-by7G3sa1.js";import{u as q,C as B}from"./use-clipboard-oTNeP4ax.js";function D(i){return i!==null&&typeof i=="object"}function L(i){return i===null?"text-muted-foreground":typeof i=="string"?"text-emerald-600 dark:text-emerald-400":typeof i=="number"?"text-amber-600 dark:text-amber-400":typeof i=="boolean"?"text-primary":""}function P(i){const e=$.c(5),{value:t}=i,n=t===null?"null":typeof t=="string"?`"${t}"`:String(t);let a;e[0]!==t?(a=L(t),e[0]=t,e[1]=a):a=e[1];let u;return e[2]!==a||e[3]!==n?(u=s.jsx("span",{className:a,children:n}),e[2]=a,e[3]=n,e[4]=u):u=e[4],u}function z(i){const e=$.c(42),{label:t,value:n,depth:a,collapsed:u}=i,[f,C]=A.useState(!u),y=`${a*12}px`;let m;e[0]!==y?(m={paddingLeft:y},e[0]=y,e[1]=m):m=e[1];const r=m;if(!D(n)){let c;e[2]!==t?(c=t!==void 0&&s.jsxs("span",{className:"text-muted-foreground",children:[t,": "]}),e[2]=t,e[3]=c):c=e[3];let l;e[4]!==n?(l=s.jsx(P,{value:n}),e[4]=n,e[5]=l):l=e[5];let o;return e[6]!==r||e[7]!==c||e[8]!==l?(o=s.jsxs("div",{style:r,children:[c,l]}),e[6]=r,e[7]=c,e[8]=l,e[9]=o):o=e[9],o}let p,d;if(e[10]!==u||e[11]!==a||e[12]!==r||e[13]!==t||e[14]!==f||e[15]!==n){d=Symbol.for("react.early_return_sentinel");e:{const c=Array.isArray(n)?n.map(V):Object.entries(n);let l;e[18]!==n?(l=Array.isArray(n)?["[","]"]:["{","}"],e[18]=n,e[19]=l):l=e[19];const[o,j]=l;if(c.length===0){let h;e[20]!==t?(h=t!==void 0&&s.jsxs("span",{className:"text-muted-foreground",children:[t,": "]}),e[20]=t,e[21]=h):h=e[21];let x;e[22]!==j||e[23]!==o?(x=s.jsxs("span",{className:"text-muted-foreground",children:[o,j]}),e[22]=j,e[23]=o,e[24]=x):x=e[24];let N;e[25]!==r||e[26]!==h||e[27]!==x?(N=s.jsxs("div",{style:r,children:[h,x]}),e[25]=r,e[26]=h,e[27]=x,e[28]=N):N=e[28],d=N;break e}let _;e[29]===Symbol.for("react.memo_cache_sentinel")?(_=()=>C(T),e[29]=_):_=e[29];let g;e[30]!==f?(g=f?s.jsx(O,{className:"text-muted-foreground size-3"}):s.jsx(R,{className:"text-muted-foreground size-3"}),e[30]=f,e[31]=g):g=e[31];let b;e[32]!==t?(b=t!==void 0&&s.jsxs("span",{className:"text-muted-foreground",children:[t,":"]}),e[32]=t,e[33]=b):b=e[33];const S=!f&&`…${c.length}…${j}`;let v;e[34]!==o||e[35]!==S?(v=s.jsxs("span",{className:"text-muted-foreground",children:[o,S]}),e[34]=o,e[35]=S,e[36]=v):v=e[36];let k;e[37]!==r||e[38]!==v||e[39]!==g||e[40]!==b?(k=s.jsxs("button",{type:"button",onClick:_,className:"hover:bg-muted/60 inline-flex items-center gap-0.5 rounded",style:r,children:[g,b,v]}),e[37]=r,e[38]=v,e[39]=g,e[40]=b,e[41]=k):k=e[41],p=s.jsxs("div",{children:[k,f&&s.jsxs("div",{children:[c.map(h=>{const[x,N]=h;return s.jsx(z,{label:Array.isArray(n)?void 0:x,value:N,depth:a+1,collapsed:u},x)}),s.jsx("div",{className:"text-muted-foreground",style:r,children:j})]})]})}e[10]=u,e[11]=a,e[12]=r,e[13]=t,e[14]=f,e[15]=n,e[16]=p,e[17]=d}else p=e[16],d=e[17];return d!==Symbol.for("react.early_return_sentinel")?d:p}function T(i){return!i}function V(i,e){return[String(e),i]}function I(i){const e=$.c(17),{data:t,collapsed:n,className:a}=i,u=n===void 0?!1:n,[,f]=q(),[C,y]=A.useState(!1);let m;e[0]!==a?(m=w("bg-muted/60 relative rounded p-2 pr-8 font-mono text-xs",a),e[0]=a,e[1]=m):m=e[1];let r;e[2]!==f||e[3]!==t?(r=()=>{(async()=>await f(JSON.stringify(t,null,2))&&(y(!0),setTimeout(()=>y(!1),1200)))()},e[2]=f,e[3]=t,e[4]=r):r=e[4];let p;e[5]!==C?(p=C?s.jsx(E,{className:"size-3.5"}):s.jsx(B,{className:"size-3.5"}),e[5]=C,e[6]=p):p=e[6];let d;e[7]!==r||e[8]!==p?(d=s.jsx(J,{type:"button",variant:"ghost",size:"icon-sm",className:"absolute top-1 right-1",onClick:r,children:p}),e[7]=r,e[8]=p,e[9]=d):d=e[9];const c=t;let l;e[10]!==u||e[11]!==c?(l=s.jsx(z,{value:c,depth:0,collapsed:u}),e[10]=u,e[11]=c,e[12]=l):l=e[12];let o;return e[13]!==m||e[14]!==d||e[15]!==l?(o=s.jsxs("div",{className:m,children:[d,l]}),e[13]=m,e[14]=d,e[15]=l,e[16]=o):o=e[16],o}export{I as J};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as de,u as pe,B as fe,j as o,d as ne,C as he,t as be}from"./inertia-DfNRARuA.js";import{V as xe,D as ye}from"./chart-panel-BPaYRXJB.js";import{D as ve}from"./data-table-CQ_YRWQs.js";import{F as ge}from"./filter-bar-CrzpQ_vD.js";import{O as ae}from"./origin-identity-1R3bqa3R.js";import{u as _e,P as je,E as ke}from"./env-layout-CdMWbUkm.js";import{S as X,a as we}from"./stat-DT2hhsqS.js";import{S as Oe}from"./status-badge-CmbRKlY7.js";import{c as Se,p as qe,m as C,w as De}from"./format-B9SDkrWj.js";import"./series-chart-BaiDG795.js";import"./chart-hover-DdK4E-2h.js";import"./chart-Cov79YC5.js";import"./app-layout-by7G3sa1.js";import"./tenant-path-C4rNGauE.js";import"./use-live-CLZZj245.js";import"./segmented-DB4zh-Am.js";import"./arrow-up-DCZ7emux.js";function et(t){const e=de.c(104),{environment:re,window:r,range:n}=pe().props,{window:ce,label:me}=_e(),l=re.application_id,i=re.id;let F;e[0]!==n?.from||e[1]!==n?.to||e[2]!==r?(F=r==="custom"?{from:n?.from,to:n?.to}:{window:r},e[0]=n?.from,e[1]=n?.to,e[2]=r,e[3]=F):F=e[3];const Y=F,s=t.summary.current,c=t.summary.previous,m=ce==="custom"?"vs previous period":`vs previous ${me}`,ue=t.name;let u;e[4]!==l||e[5]!==i||e[6]!==r?(u=fe(l,i,{window:r}),e[4]=l,e[5]=i,e[6]=r,e[7]=u):u=e[7];let d;e[8]!==u?(d={title:"Jobs",href:u},e[8]=u,e[9]=d):d=e[9];let p;e[10]!==t.name?(p={title:t.name,href:"#"},e[10]=t.name,e[11]=p):p=e[11];let f;e[12]!==d||e[13]!==p?(f=[d,p],e[12]=d,e[13]=p,e[14]=f):f=e[14];let h;e[15]!==t.name?(h=o.jsx(je,{title:o.jsx("span",{className:"font-mono",children:t.name})}),e[15]=t.name,e[16]=h):h=e[16];let b;e[17]!==s.count?(b=Se(s.count),e[17]=s.count,e[18]=b):b=e[18];let x;e[19]!==b?(x=o.jsx(X,{label:"Attempts",value:b}),e[19]=b,e[20]=x):x=e[20];let y;e[21]!==s.count||e[22]!==s.errors?(y=qe(s.errors,s.count),e[21]=s.count,e[22]=s.errors,e[23]=y):y=e[23];const Z=s.errors?"destructive":"success",ee=s.count?s.errors/s.count*100:0,te=c.count?c.errors/c.count*100:0;let v;e[24]!==ee||e[25]!==te?(v={current:ee,previous:te,goodDirection:"down"},e[24]=ee,e[25]=te,e[26]=v):v=e[26];let g;e[27]!==m||e[28]!==Z||e[29]!==v||e[30]!==y?(g=o.jsx(X,{label:"Failed",value:y,tone:Z,delta:v,deltaCaption:m}),e[27]=m,e[28]=Z,e[29]=v,e[30]=y,e[31]=g):g=e[31];const se=s.p50/1e3;let _;e[32]!==se?(_=C(se),e[32]=se,e[33]=_):_=e[33];const oe=s.p95/1e3;let N;e[34]!==oe?(N=C(oe),e[34]=oe,e[35]=N):N=e[35];const le=`p95 ${N}`;let j;e[36]!==c.p95||e[37]!==s.p95?(j={current:s.p95,previous:c.p95,goodDirection:"down"},e[36]=c.p95,e[37]=s.p95,e[38]=j):j=e[38];let k;e[39]!==m||e[40]!==_||e[41]!==le||e[42]!==j?(k=o.jsx(X,{label:"p50 / p95",value:_,hint:le,delta:j,deltaCaption:m}),e[39]=m,e[40]=_,e[41]=le,e[42]=j,e[43]=k):k=e[43];const ie=s.max/1e3;let w;e[44]!==ie?(w=C(ie),e[44]=ie,e[45]=w):w=e[45];let O;e[46]!==w?(O=o.jsx(X,{label:"Max",value:w}),e[46]=w,e[47]=O):O=e[47];let S;e[48]!==g||e[49]!==k||e[50]!==O||e[51]!==x?(S=o.jsxs(we,{children:[x,g,k,O]}),e[48]=g,e[49]=k,e[50]=O,e[51]=x,e[52]=S):S=e[52];let q;e[53]!==t.deploys||e[54]!==t.series?(q=o.jsxs("div",{className:"grid gap-4 lg:grid-cols-2",children:[o.jsx(xe,{legend:"job",label:"Attempts",seriesLabel:"Attempts",data:t.series,deploys:t.deploys}),o.jsx(ye,{label:"Duration",data:t.series,deploys:t.deploys})]}),e[53]=t.deploys,e[54]=t.series,e[55]=q):q=e[55];let W,B,L,R;e[56]===Symbol.for("react.memo_cache_sentinel")?(W={key:"user",label:"Origin user"},B={key:"tenant",label:"Origin tenant"},L={key:"queue",label:"Queue"},R={key:"job_id",label:"Job ID"},e[56]=W,e[57]=B,e[58]=L,e[59]=R):(W=e[56],B=e[57],L=e[58],R=e[59]);let $;e[60]===Symbol.for("react.memo_cache_sentinel")?($=[W,B,L,R,{key:"outcome",label:"Outcome",options:["processed","failed"]}],e[60]=$):$=e[60];let D;e[61]!==l||e[62]!==i||e[63]!==t.group_hash||e[64]!==Y?(D=a=>ne.visit(he(l,i,t.group_hash,{...Y,q:a||void 0}),{preserveState:!0}),e[61]=l,e[62]=i,e[63]=t.group_hash,e[64]=Y,e[65]=D):D=e[65];let P;e[66]!==t.q||e[67]!==D?(P=o.jsx(ge,{value:t.q,fields:$,onChange:D,placeholder:"Filter attempts by origin, queue, or outcome"}),e[66]=t.q,e[67]=D,e[68]=P):P=e[68];let E;e[69]!==l||e[70]!==i?(E=a=>ne.visit(be(l,i,a.execution_id)),e[69]=l,e[70]=i,e[71]=E):E=e[71];let Q,V,H,K;e[72]===Symbol.for("react.memo_cache_sentinel")?(Q={key:"when",header:"When",cell:Ce},V={key:"st",header:"Outcome",cell:Ae},H={key:"att",hideOnMobile:!0,header:"Attempt",align:"right",cell:Me},K={key:"q",hideOnMobile:!0,header:"Queue",cell:Je},e[72]=Q,e[73]=V,e[74]=H,e[75]=K):(Q=e[72],V=e[73],H=e[74],K=e[75]);let I;e[76]!==l||e[77]!==i||e[78]!==n||e[79]!==r?(I={key:"user",hideOnMobile:!0,header:"Origin user",cell:a=>o.jsx(ae,{...a,applicationId:l,environmentId:i,kind:"user",range:n,window:r})},e[76]=l,e[77]=i,e[78]=n,e[79]=r,e[80]=I):I=e[80];let J;e[81]!==l||e[82]!==i||e[83]!==n||e[84]!==r?(J={key:"tenant",hideOnMobile:!0,header:"Origin tenant",cell:a=>o.jsx(ae,{...a,applicationId:l,environmentId:i,kind:"tenant",range:n,window:r})},e[81]=l,e[82]=i,e[83]=n,e[84]=r,e[85]=J):J=e[85];let T,z,G;e[86]===Symbol.for("react.memo_cache_sentinel")?(T={key:"wait",hideOnMobile:!0,header:"Waited",align:"right",cell:Ie},z={key:"dur",header:"Duration",align:"right",cell:Ee},G={key:"ex",header:"Exception",cell:Pe},e[86]=T,e[87]=z,e[88]=G):(T=e[86],z=e[87],G=e[88]);let M;e[89]!==I||e[90]!==J?(M=[Q,V,H,K,I,J,T,z,G],e[89]=I,e[90]=J,e[91]=M):M=e[91];let A;e[92]!==t.attempts||e[93]!==E||e[94]!==M?(A=o.jsx(ve,{rows:t.attempts,rowKey:Fe,onRowClick:E,columns:M}),e[92]=t.attempts,e[93]=E,e[94]=M,e[95]=A):A=e[95];let U;return e[96]!==t.name||e[97]!==S||e[98]!==q||e[99]!==P||e[100]!==A||e[101]!==f||e[102]!==h?(U=o.jsxs(ke,{title:ue,crumbs:f,children:[h,S,q,P,A]}),e[96]=t.name,e[97]=S,e[98]=q,e[99]=P,e[100]=A,e[101]=f,e[102]=h,e[103]=U):U=e[103],U}function Pe(t){return o.jsx("span",{className:"text-destructive line-clamp-1 text-xs",children:t.exception_preview??""})}function Ee(t){return C(t.duration)}function Ie(t){return C(t.queue_latency)}function Je(t){return t.queue}function Me(t){return t.attempt}function Ae(t){return o.jsx(Oe,{outcome:t.outcome})}function Ce(t){return o.jsx("span",{className:"text-xs",children:De(t.occurred_at)})}function Fe(t){return t.execution_id}export{et as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as g,j as h,M as E,L as w}from"./inertia-DfNRARuA.js";import{t as N}from"./tenant-path-C4rNGauE.js";function v(l,e,o,i){const _=String(E(l,e,o,{...i})),[r,s]=_.split("?");return`${r.replace(/\./g,"%2E")}${s?`?${s}`:""}`}function y(l,e){if(l==="custom"){if(!e)throw new Error("Custom telemetry window requires a range");return{from:e.from,to:e.to}}return{window:l??"24h"}}function S(l){const e=g.c(30),{applicationId:o,environmentId:i,kind:_,person:r,range:s,tenant:a,user_ref:x,window:m}=l;if(_==="user"){if(!x){let n;return e[0]===Symbol.for("react.memo_cache_sentinel")?(n=h.jsx("span",{className:"text-muted-foreground",children:"–"}),e[0]=n):n=e[0],n}if(!r){let n;return e[1]!==x?(n=h.jsx("span",{className:"font-mono text-xs",children:x}),e[1]=x,e[2]=n):n=e[2],n}let t,d,p;if(e[3]!==o||e[4]!==i||e[5]!==r.ref||e[6]!==s||e[7]!==m){const n=y(m,s);t=w,d="font-mono text-xs hover:underline",p=v(o,i,r.ref,n),e[3]=o,e[4]=i,e[5]=r.ref,e[6]=s,e[7]=m,e[8]=t,e[9]=d,e[10]=p}else t=e[8],d=e[9],p=e[10];let P;return e[11]!==t||e[12]!==r.name||e[13]!==d||e[14]!==p?(P=h.jsx(t,{className:d,href:p,children:r.name}),e[11]=t,e[12]=r.name,e[13]=d,e[14]=p,e[15]=P):P=e[15],P}if(!a){let t;return e[16]===Symbol.for("react.memo_cache_sentinel")?(t=h.jsx("span",{className:"text-muted-foreground",children:"–"}),e[16]=t):t=e[16],t}let f,c,u;if(e[17]!==o||e[18]!==i||e[19]!==s||e[20]!==a||e[21]!==m){const t=y(m,s);f=w,c="font-mono text-xs hover:underline",u=N(o,i,a,t),e[17]=o,e[18]=i,e[19]=s,e[20]=a,e[21]=m,e[22]=f,e[23]=c,e[24]=u}else f=e[22],c=e[23],u=e[24];let j;return e[25]!==f||e[26]!==c||e[27]!==u||e[28]!==a?(j=h.jsx(f,{className:c,href:u,children:a}),e[25]=f,e[26]=c,e[27]=u,e[28]=a,e[29]=j):j=e[29],j}export{S as O};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as i,c as l,j as o}from"./inertia-DfNRARuA.js";import{a,S as p}from"./segmented-DB4zh-Am.js";const u=["p50","p95","p99"];function m(){const s=new URL(globalThis.location.href).searchParams.get("pct");return{percentile:u.includes(s)?s:"p95",set:n=>{const r=new URL(globalThis.location.href);r.searchParams.set("pct",n),i.visit(r.toString(),{preserveScroll:!0,preserveState:!0})}}}const f=["p50","p95","p99"];function P(){const e=l.c(5),{percentile:s,set:c}=m();let t;e[0]!==s||e[1]!==c?(t=f.map(r=>o.jsx(a,{active:s===r,onClick:()=>c(r),children:r},r)),e[0]=s,e[1]=c,e[2]=t):t=e[2];let n;return e[3]!==t?(n=o.jsx(p,{children:t}),e[3]=t,e[4]=n):n=e[4],n}export{P,m as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as m,j as l}from"./inertia-DfNRARuA.js";import{ae as c}from"./app-layout-by7G3sa1.js";import{w as f,a as p}from"./format-B9SDkrWj.js";function R(n){const e=m.c(10),{iso:t,className:s}=n;if(c(),!t){let a;return e[0]!==s?(a=l.jsx("span",{className:s,children:"never"}),e[0]=s,e[1]=a):a=e[1],a}let i;e[2]!==t?(i=f(t),e[2]=t,e[3]=i):i=e[3];let r;e[4]!==t?(r=p(t),e[4]=t,e[5]=r):r=e[5];let o;return e[6]!==s||e[7]!==i||e[8]!==r?(o=l.jsx("span",{className:s,title:i,children:r}),e[6]=s,e[7]=i,e[8]=r,e[9]=o):o=e[9],o}export{R};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as D,j as x}from"./inertia-DfNRARuA.js";import{S,a as H}from"./stat-DT2hhsqS.js";import{c as F,m as T}from"./format-B9SDkrWj.js";import"./use-live-CLZZj245.js";import"./arrow-up-DCZ7emux.js";function R(r){return r===null?"default":r>=99.5?"success":r>=98?"warning":"destructive"}function E(r){return r===null?"–":`${r.toFixed(2)}%`}function w(r,e){if(!(r===null||e===null||e===void 0))return{current:r,previous:e,goodDirection:"up"}}function B(r){const e=D.c(43),{health:s,previous:C,deltaCaption:t}=r;let i;e[0]!==s.crash_free_sessions?(i=E(s.crash_free_sessions),e[0]=s.crash_free_sessions,e[1]=i):i=e[1];let l;e[2]!==s.crash_free_sessions?(l=R(s.crash_free_sessions),e[2]=s.crash_free_sessions,e[3]=l):l=e[3];const g=C?.crash_free_sessions;let n;e[4]!==s.crash_free_sessions||e[5]!==g?(n=w(s.crash_free_sessions,g),e[4]=s.crash_free_sessions,e[5]=g,e[6]=n):n=e[6];let o;e[7]!==s.errored?(o=s.errored===null?void 0:`${s.errored.toFixed(2)}% errored`,e[7]=s.errored,e[8]=o):o=e[8];let a;e[9]!==t||e[10]!==i||e[11]!==l||e[12]!==n||e[13]!==o?(a=x.jsx(S,{label:"Crash-free sessions",value:i,tone:l,delta:n,deltaCaption:t,hint:o}),e[9]=t,e[10]=i,e[11]=l,e[12]=n,e[13]=o,e[14]=a):a=e[14];let f;e[15]!==s.crash_free_users?(f=E(s.crash_free_users),e[15]=s.crash_free_users,e[16]=f):f=e[16];let _;e[17]!==s.crash_free_users?(_=R(s.crash_free_users),e[17]=s.crash_free_users,e[18]=_):_=e[18];const b=C?.crash_free_users;let u;e[19]!==s.crash_free_users||e[20]!==b?(u=w(s.crash_free_users,b),e[19]=s.crash_free_users,e[20]=b,e[21]=u):u=e[21];let c;e[22]!==t||e[23]!==u||e[24]!==f||e[25]!==_?(c=x.jsx(S,{label:"Crash-free users",value:f,tone:_,delta:u,deltaCaption:t}),e[22]=t,e[23]=u,e[24]=f,e[25]=_,e[26]=c):c=e[26];let h;e[27]!==s.sessions?(h=F(s.sessions),e[27]=s.sessions,e[28]=h):h=e[28];let v;e[29]!==s.users?(v=F(s.users),e[29]=s.users,e[30]=v):v=e[30];const $=`${v} users`;let d;e[31]!==h||e[32]!==$?(d=x.jsx(S,{label:"Sessions",value:h,hint:$}),e[31]=h,e[32]=$,e[33]=d):d=e[33];let m;e[34]!==s.avg_duration_ms?(m=T(s.avg_duration_ms),e[34]=s.avg_duration_ms,e[35]=m):m=e[35];let p;e[36]!==m?(p=x.jsx(S,{label:"Session duration",value:m,hint:"average"}),e[36]=m,e[37]=p):p=e[37];let j;return e[38]!==c||e[39]!==d||e[40]!==p||e[41]!==a?(j=x.jsxs(H,{children:[a,c,d,p]}),e[38]=c,e[39]=d,e[40]=p,e[41]=a,e[42]=j):j=e[42],j}export{B as ReleaseHealthStrip,R as crashFreeTone,E as rate};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as G,u as J,S as X,j as r,d as Y,f as Z}from"./inertia-DfNRARuA.js";import{V as ee,D as te}from"./chart-panel-BPaYRXJB.js";import{D as se}from"./data-table-CQ_YRWQs.js";import{u as re,P as oe,E as ne}from"./env-layout-CdMWbUkm.js";import{S as D,a as le}from"./stat-DT2hhsqS.js";import{S as ie}from"./status-badge-CmbRKlY7.js";import{c as ae,p as ue,m as N,w as ce}from"./format-B9SDkrWj.js";import"./series-chart-BaiDG795.js";import"./chart-hover-DdK4E-2h.js";import"./chart-Cov79YC5.js";import"./app-layout-by7G3sa1.js";import"./use-live-CLZZj245.js";import"./segmented-DB4zh-Am.js";import"./arrow-up-DCZ7emux.js";function Oe(t){const e=G.c(72),{environment:Q,window:O}=J().props,{window:z,label:A}=re(),o=Q.application_id,n=Q.id,s=t.summary.current,l=t.summary.previous,i=z==="custom"?"vs previous period":`vs previous ${A}`,F=t.route;let a;e[0]!==o||e[1]!==n||e[2]!==O?(a=X(o,n,{window:O}),e[0]=o,e[1]=n,e[2]=O,e[3]=a):a=e[3];let u;e[4]!==a?(u={title:"Requests",href:a},e[4]=a,e[5]=u):u=e[5];let c;e[6]!==t.route?(c={title:t.route,href:"#"},e[6]=t.route,e[7]=c):c=e[7];let m;e[8]!==u||e[9]!==c?(m=[u,c],e[8]=u,e[9]=c,e[10]=m):m=e[10];let d;e[11]!==t.route?(d=r.jsx(oe,{title:r.jsx("span",{className:"font-mono",children:t.route})}),e[11]=t.route,e[12]=d):d=e[12];let p;e[13]!==s.count?(p=ae(s.count),e[13]=s.count,e[14]=p):p=e[14];let f;e[15]!==p?(f=r.jsx(D,{label:"Requests",value:p}),e[15]=p,e[16]=f):f=e[16];let x;e[17]!==s.count||e[18]!==s.errors?(x=ue(s.errors,s.count),e[17]=s.count,e[18]=s.errors,e[19]=x):x=e[19];const L=s.errors?"destructive":"success",W=`${s.errors} 5xx · ${s.client_errors} 4xx`,C=s.count?s.errors/s.count*100:0,T=l.count?l.errors/l.count*100:0;let h;e[20]!==C||e[21]!==T?(h={current:C,previous:T,goodDirection:"down"},e[20]=C,e[21]=T,e[22]=h):h=e[22];let v;e[23]!==i||e[24]!==W||e[25]!==h||e[26]!==x||e[27]!==L?(v=r.jsx(D,{label:"Errors",value:x,tone:L,hint:W,delta:h,deltaCaption:i}),e[23]=i,e[24]=W,e[25]=h,e[26]=x,e[27]=L,e[28]=v):v=e[28];const V=s.p50/1e3;let j;e[29]!==V?(j=N(V),e[29]=V,e[30]=j):j=e[30];let y;e[31]!==j?(y=r.jsx(D,{label:"p50",value:j}),e[31]=j,e[32]=y):y=e[32];const B=s.p95/1e3;let _;e[33]!==B?(_=N(B),e[33]=B,e[34]=_):_=e[34];let b;e[35]!==l.p95||e[36]!==s.p95?(b={current:s.p95,previous:l.p95,goodDirection:"down"},e[35]=l.p95,e[36]=s.p95,e[37]=b):b=e[37];let w;e[38]!==i||e[39]!==_||e[40]!==b?(w=r.jsx(D,{label:"p95",value:_,delta:b,deltaCaption:i}),e[38]=i,e[39]=_,e[40]=b,e[41]=w):w=e[41];const H=s.p99/1e3;let g;e[42]!==H?(g=N(H),e[42]=H,e[43]=g):g=e[43];const I=s.max/1e3;let P;e[44]!==I?(P=N(I),e[44]=I,e[45]=P):P=e[45];const K=`max ${P}`;let q;e[46]!==g||e[47]!==K?(q=r.jsx(D,{label:"p99 / max",value:g,hint:K}),e[46]=g,e[47]=K,e[48]=q):q=e[48];let k;e[49]!==v||e[50]!==y||e[51]!==w||e[52]!==q||e[53]!==f?(k=r.jsxs(le,{children:[f,v,y,w,q]}),e[49]=v,e[50]=y,e[51]=w,e[52]=q,e[53]=f,e[54]=k):k=e[54];let R;e[55]!==t.deploys||e[56]!==t.series?(R=r.jsxs("div",{className:"grid gap-4 lg:grid-cols-2",children:[r.jsx(ee,{label:"Requests",data:t.series,deploys:t.deploys}),r.jsx(te,{label:"Latency",data:t.series,deploys:t.deploys})]}),e[55]=t.deploys,e[56]=t.series,e[57]=R):R=e[57];let S;e[58]!==o||e[59]!==n?(S=U=>U.execution_id&&Y.visit(Z(o,n,U.execution_id)),e[58]=o,e[59]=n,e[60]=S):S=e[60];let $;e[61]===Symbol.for("react.memo_cache_sentinel")?($=[{key:"when",header:"When",cell:je},{key:"status",header:"Status",cell:ve},{key:"dur",header:"Duration",align:"right",cell:he},{key:"q",hideOnMobile:!0,header:"Queries",align:"right",cell:xe},{key:"user",hideOnMobile:!0,header:"User",cell:fe},{key:"tenant",hideOnMobile:!0,header:"Tenant",cell:pe},{key:"comp",hideOnMobile:!0,header:"Inertia",cell:de},{key:"ex",header:"Exception",cell:me}],e[61]=$):$=e[61];let E;e[62]!==t.requests||e[63]!==S?(E=r.jsx(se,{rows:t.requests,rowKey:ye,onRowClick:S,columns:$}),e[62]=t.requests,e[63]=S,e[64]=E):E=e[64];let M;return e[65]!==t.route||e[66]!==k||e[67]!==R||e[68]!==E||e[69]!==m||e[70]!==d?(M=r.jsxs(ne,{title:F,crumbs:m,children:[d,k,R,E]}),e[65]=t.route,e[66]=k,e[67]=R,e[68]=E,e[69]=m,e[70]=d,e[71]=M):M=e[71],M}function me(t){return r.jsx("span",{className:"text-destructive line-clamp-1 text-xs",children:t.exception_preview??""})}function de(t){return r.jsx("span",{className:"font-mono text-xs",children:t.inertia_component??""})}function pe(t){return r.jsx("span",{className:"font-mono text-xs",children:t.tenant??"–"})}function fe(t){return r.jsx("span",{className:"font-mono text-xs",children:t.user_ref??"–"})}function xe(t){return t.queries??"–"}function he(t){return N(t.duration)}function ve(t){return r.jsx(ie,{status:t.status})}function je(t){return r.jsx("span",{className:"text-xs tabular-nums",children:ce(t.occurred_at)})}function ye(t){return t.execution_id}export{Oe as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as f,o as x,j as b}from"./inertia-DfNRARuA.js";function y(i){const e=f.c(5),{children:r,className:n}=i;let t;e[0]!==n?(t=x("bg-card flex h-8 shrink-0 items-center gap-px rounded-lg border p-0.5",n),e[0]=n,e[1]=t):t=e[1];let o;return e[2]!==r||e[3]!==t?(o=b.jsx("div",{className:t,children:r}),e[2]=r,e[3]=t,e[4]=o):o=e[4],o}function j(i){const e=f.c(12),{active:r,onClick:n,children:t,className:o,mono:u,disabled:a,"aria-label":l}=i,d=(u===void 0?!0:u)&&"font-mono uppercase",m=r?"bg-primary border-primary text-primary-foreground":"text-muted-foreground hover:bg-accent hover:text-foreground border-transparent",p=a&&"cursor-not-allowed opacity-50";let s;e[0]!==o||e[1]!==d||e[2]!==m||e[3]!==p?(s=x("flex h-full min-w-8 items-center justify-center gap-1.5 rounded-md border px-2.5 text-xs whitespace-nowrap transition-colors",d,m,p,o),e[0]=o,e[1]=d,e[2]=m,e[3]=p,e[4]=s):s=e[4];let c;return e[5]!==r||e[6]!==l||e[7]!==t||e[8]!==a||e[9]!==n||e[10]!==s?(c=b.jsx("button",{type:"button",onClick:n,disabled:a,"aria-pressed":r,"aria-label":l,className:s,children:t}),e[5]=r,e[6]=l,e[7]=t,e[8]=a,e[9]=n,e[10]=s,e[11]=c):c=e[11],c}export{y as S,j as a};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{x as ze,r as a,j as u,A as Me,c as ne,o as ae}from"./inertia-DfNRARuA.js";import{d as We,e as Oe,j as H,A as Ke,P as F,g as E,M as q,i as $e,h as Ge,N as Ye,Q as qe,U as Xe,V as Ze,D as Qe,k as Je,W as ye,n as De,X as et,Y as tt,m as ot,u as _e,f as nt,Z as rt,C as ke,q as st}from"./app-layout-by7G3sa1.js";const lt=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],ct=ze("chevron-up",lt);var it=Object.defineProperty,at=(l,e)=>it(l,"name",{value:e,configurable:!0});function Ae(l){const e=a.useRef({value:l,previous:l});return a.useMemo(()=>(e.current.value!==l&&(e.current.previous=e.current.value,e.current.value=l),e.current.previous),[l])}at(Ae,"usePrevious");var dt=Object.defineProperty,ut=(l,e)=>dt(l,"name",{value:e,configurable:!0});function we(l,[e,o]){return Math.min(o,Math.max(e,l))}ut(we,"clamp");var pt=Object.defineProperty,S=(l,e)=>pt(l,"name",{value:e,configurable:!0}),ft=[" ","Enter","ArrowUp","ArrowDown"],mt=[" ","Enter"],de="Select",[he,ve,ht]=tt(de),[re,Xt]=We(de,[ht,Oe]),Ie=Oe(),[vt,X]=re(de),[gt,St]=re(de);function Be(l){const{__scopeSelect:e,children:o,open:t,defaultOpen:r,onOpenChange:n,value:d,defaultValue:s,onValueChange:c,dir:i,name:m,autoComplete:x,disabled:y,required:C,form:w,internal_do_not_use_render:I}=l,p=Ie(e),[g,b]=a.useState(null),[v,f]=a.useState(null),[O,j]=a.useState(!1),Z=ot(i),[D,A]=_e({prop:t,defaultProp:r??!1,onChange:n,caller:de}),[Q,K]=_e({prop:d,defaultProp:s,onChange:c,caller:de}),U=a.useRef(null),z=a.useRef(Q);a.useEffect(()=>{const N=w?g?.ownerDocument.getElementById(w):g?.form;if(N instanceof HTMLFormElement){const V=S(()=>K(z.current),"reset");return N.addEventListener("reset",V),()=>N.removeEventListener("reset",V)}},[w,g,K]);const J=g?!!w||!!g.closest("form"):!0,[W,B]=a.useState(new Set),$=De(),G=Array.from(W).map(N=>N.props.value).join(";"),Y=a.useCallback(N=>{B(V=>new Set(V).add(N))},[]),L=a.useCallback(N=>{B(V=>{const ce=new Set(V);return ce.delete(N),ce})},[]),le={required:C,trigger:g,onTriggerChange:b,valueNode:v,onValueNodeChange:f,valueNodeHasChildren:O,onValueNodeHasChildrenChange:j,contentId:$,value:Q,onValueChange:K,open:D,onOpenChange:A,dir:Z,triggerPointerDownPosRef:U,disabled:y,name:m,autoComplete:x,form:w,nativeOptions:W,nativeSelectKey:G,isFormControl:J};return u.jsx(nt,{...p,children:u.jsx(vt,{scope:e,...le,children:u.jsx(he.Provider,{scope:e,children:u.jsx(gt,{scope:e,onNativeOptionAdd:Y,onNativeOptionRemove:L,children:Fe(I)?I(le):o})})})})}S(Be,"SelectProvider");var xt=S(l=>{const{__scopeSelect:e,children:o,...t}=l;return u.jsx(Be,{__scopeSelect:e,...t,internal_do_not_use_render:({isFormControl:r})=>u.jsxs(u.Fragment,{children:[o,r?u.jsx(Kt,{__scopeSelect:e}):null]})})},"Select"),wt="SelectTrigger",Ct=a.forwardRef(S(function(e,o){const{__scopeSelect:t,disabled:r=!1,...n}=e,d=Ie(t),s=X(wt,t),c=s.disabled||r,i=H(o,s.onTriggerChange),m=ve(t),x=a.useRef("touch"),[y,C,w]=Te(p=>{const g=m().filter(f=>!f.disabled),b=g.find(f=>f.value===s.value),v=Pe(g,p,b);v!==void 0&&s.onValueChange(v.value)}),I=S(p=>{c||(s.onOpenChange(!0),w()),p&&(s.triggerPointerDownPosRef.current={x:Math.round(p.pageX),y:Math.round(p.pageY)})},"handleOpen");return u.jsx(Ke,{asChild:!0,...d,children:u.jsx(F.button,{type:"button",role:"combobox","aria-controls":s.open?s.contentId:void 0,"aria-expanded":s.open,"aria-required":s.required,"aria-autocomplete":"none",dir:s.dir,"data-state":s.open?"open":"closed",disabled:c,"data-disabled":c?"":void 0,"data-placeholder":pe(s.value)?"":void 0,...n,ref:i,onClick:E(n.onClick,p=>{p.currentTarget.focus(),x.current!=="mouse"&&I(p)}),onPointerDown:E(n.onPointerDown,p=>{x.current=p.pointerType;const g=p.target;g.hasPointerCapture(p.pointerId)&&g.releasePointerCapture(p.pointerId),p.button===0&&p.ctrlKey===!1&&p.pointerType==="mouse"&&(I(p),p.preventDefault())}),onKeyDown:E(n.onKeyDown,p=>{const g=y.current!=="";!(p.ctrlKey||p.altKey||p.metaKey)&&p.key.length===1&&C(p.key),!(g&&p.key===" ")&&ft.includes(p.key)&&(I(),p.preventDefault())})})})},"SelectTrigger")),yt="SelectValue",It=a.forwardRef(S(function(e,o){const{__scopeSelect:t,className:r,style:n,children:d,placeholder:s="",...c}=e,i=X(yt,t),{onValueNodeHasChildrenChange:m}=i,x=d!==void 0,y=H(o,i.onValueNodeChange);q(()=>{m(x)},[m,x]);const C=pe(i.value);return u.jsx(F.span,{...c,asChild:C?!1:c.asChild,ref:y,style:{pointerEvents:"none"},children:u.jsx(a.Fragment,{children:C?s:d},C?"placeholder":"value")})},"SelectValue")),bt=a.forwardRef(S(function(e,o){const{__scopeSelect:t,children:r,...n}=e;return u.jsx(F.span,{"aria-hidden":!0,...n,ref:o,children:r||"▼"})},"SelectIcon")),Tt="SelectPortal",[Pt,_t]=re(Tt,{forceMount:void 0}),Rt=S(l=>{const{__scopeSelect:e,forceMount:o,...t}=l;return u.jsx(Pt,{scope:l.__scopeSelect,forceMount:o,children:u.jsx($e,{asChild:!0,...t})})},"SelectPortal"),oe="SelectContent",Et=a.forwardRef(S(function(e,o){const t=_t(oe,e.__scopeSelect),{forceMount:r=t.forceMount,...n}=e,d=X(oe,e.__scopeSelect),[s,c]=a.useState();return q(()=>{c(new DocumentFragment)},[]),u.jsx(Ge,{present:r||d.open,children:({present:i})=>i?u.jsx(Mt,{...n,ref:o}):u.jsx(jt,{...n,fragment:s})})},"SelectContent")),jt=a.forwardRef(S(function(e,o){const{__scopeSelect:t,children:r,fragment:n}=e;return n?Me.createPortal(u.jsx(Le,{scope:t,children:u.jsx(he.Slot,{scope:t,children:u.jsx("div",{ref:o,children:r})})}),n):null},"SelectContentFragment")),k=10,[Le,se]=re(oe),Nt=rt("SelectContent.RemoveScroll"),Mt=a.forwardRef(S(function(e,o){const{__scopeSelect:t}=e,{position:r="item-aligned",onCloseAutoFocus:n,onEscapeKeyDown:d,onPointerDownOutside:s,side:c,sideOffset:i,align:m,alignOffset:x,arrowPadding:y,collisionBoundary:C,collisionPadding:w,sticky:I,hideWhenDetached:p,avoidCollisions:g,...b}=e,v=X(oe,t),[f,O]=a.useState(null),[j,Z]=a.useState(null),D=H(o,O),[A,Q]=a.useState(null),[K,U]=a.useState(null),z=ve(t),[J,W]=a.useState(!1),B=a.useRef(!1);a.useEffect(()=>{if(f)return Ye(f)},[f]),qe();const $=a.useCallback(h=>{const[_,...M]=z().map(R=>R.ref.current),[T]=M.slice(-1),P=document.activeElement;for(const R of h)if(R===P||(R?.scrollIntoView({block:"nearest"}),R===_&&j&&(j.scrollTop=0),R===T&&j&&(j.scrollTop=j.scrollHeight),R?.focus(),document.activeElement!==P))return},[z,j]),G=a.useCallback(()=>$([A,f]),[$,A,f]);a.useEffect(()=>{J&&G()},[J,G]);const{onOpenChange:Y,triggerPointerDownPosRef:L}=v;a.useEffect(()=>{if(f){let h={x:0,y:0};const _=S(T=>{h={x:Math.abs(Math.round(T.pageX)-(L.current?.x??0)),y:Math.abs(Math.round(T.pageY)-(L.current?.y??0))}},"handlePointerMove"),M=S(T=>{h.x<=10&&h.y<=10?T.preventDefault():T.composedPath().includes(f)||Y(!1),document.removeEventListener("pointermove",_),L.current=null},"handlePointerUp");return L.current!==null&&(document.addEventListener("pointermove",_),document.addEventListener("pointerup",M,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",_),document.removeEventListener("pointerup",M,{capture:!0})}}},[f,Y,L]),a.useEffect(()=>{const h=S(()=>Y(!1),"close");return window.addEventListener("blur",h),window.addEventListener("resize",h),()=>{window.removeEventListener("blur",h),window.removeEventListener("resize",h)}},[Y]);const[le,N]=Te(h=>{const _=z().filter(P=>!P.disabled),M=_.find(P=>P.ref.current===document.activeElement),T=Pe(_,h,M);T&&setTimeout(()=>T.ref.current?.focus())}),V=a.useCallback((h,_,M)=>{const T=!B.current&&!M;(v.value!==void 0&&v.value===_||T)&&(Q(h),T&&(B.current=!0))},[v.value]),ce=a.useCallback(()=>f?.focus(),[f]),ie=a.useCallback((h,_,M)=>{const T=!B.current&&!M;(v.value!==void 0&&v.value===_||T)&&U(h)},[v.value]),fe=r==="popper"?Re:Ot,ue=fe===Re?{side:c,sideOffset:i,align:m,alignOffset:x,arrowPadding:y,collisionBoundary:C,collisionPadding:w,sticky:I,hideWhenDetached:p,avoidCollisions:g}:{};return u.jsx(Le,{scope:t,content:f,viewport:j,onViewportChange:Z,itemRefCallback:V,selectedItem:A,onItemLeave:ce,itemTextRefCallback:ie,focusSelectedItem:G,selectedItemText:K,position:r,isPositioned:J,searchRef:le,children:u.jsx(Xe,{as:Nt,allowPinchZoom:!0,children:u.jsx(Ze,{asChild:!0,trapped:v.open,onMountAutoFocus:h=>{h.preventDefault()},onUnmountAutoFocus:E(n,h=>{v.trigger?.focus({preventScroll:!0}),h.preventDefault()}),children:u.jsx(Qe,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:d,onPointerDownOutside:s,onFocusOutside:h=>h.preventDefault(),onDismiss:()=>v.onOpenChange(!1),children:u.jsx(fe,{role:"listbox",id:v.contentId,"data-state":v.open?"open":"closed",dir:v.dir,onContextMenu:h=>h.preventDefault(),...b,...ue,onPlaced:()=>W(!0),ref:D,style:{display:"flex",flexDirection:"column",outline:"none",...b.style},onKeyDown:E(b.onKeyDown,h=>{const _=h.ctrlKey||h.altKey||h.metaKey;if(h.key==="Tab"&&h.preventDefault(),!_&&h.key.length===1&&N(h.key),["ArrowUp","ArrowDown","Home","End"].includes(h.key)){let T=z().filter(P=>!P.disabled).map(P=>P.ref.current);if(["ArrowUp","End"].includes(h.key)&&(T=T.slice().reverse()),["ArrowUp","ArrowDown"].includes(h.key)){const P=h.target,R=T.indexOf(P);T=T.slice(R+1)}setTimeout(()=>$(T)),h.preventDefault()}})})})})})})},"SelectContentImpl")),Ot=a.forwardRef(S(function(e,o){const{__scopeSelect:t,onPlaced:r,...n}=e,d=X(oe,t),s=se(oe,t),[c,i]=a.useState(null),[m,x]=a.useState(null),y=H(o,x),C=ve(t),w=a.useRef(!1),I=a.useRef(!0),{viewport:p,selectedItem:g,selectedItemText:b,focusSelectedItem:v}=s,f=a.useCallback(()=>{if(d.trigger&&d.valueNode&&c&&m&&p&&g&&b){const D=d.trigger.getBoundingClientRect(),A=m.getBoundingClientRect(),Q=d.valueNode.getBoundingClientRect(),K=b.getBoundingClientRect();if(d.dir!=="rtl"){const P=K.left-A.left,R=Q.left-P,ee=D.left-R,te=D.width+ee,ge=Math.max(te,A.width),Se=window.innerWidth-k,xe=we(R,[k,Math.max(k,Se-ge)]);c.style.minWidth=te+"px",c.style.left=xe+"px"}else{const P=A.right-K.right,R=window.innerWidth-Q.right-P,ee=window.innerWidth-D.right-R,te=D.width+ee,ge=Math.max(te,A.width),Se=window.innerWidth-k,xe=we(R,[k,Math.max(k,Se-ge)]);c.style.minWidth=te+"px",c.style.right=xe+"px"}const U=C(),z=window.innerHeight-k*2,J=p.scrollHeight,W=window.getComputedStyle(m),B=parseInt(W.borderTopWidth,10),$=parseInt(W.paddingTop,10),G=parseInt(W.borderBottomWidth,10),Y=parseInt(W.paddingBottom,10),L=B+$+J+Y+G,le=Math.min(g.offsetHeight*5,L),N=window.getComputedStyle(p),V=parseInt(N.paddingTop,10),ce=parseInt(N.paddingBottom,10),ie=D.top+D.height/2-k,fe=z-ie,ue=g.offsetHeight/2,h=g.offsetTop+ue,_=B+$+h,M=L-_;if(_<=ie){const P=U.length>0&&g===U[U.length-1].ref.current;c.style.bottom="0px";const R=m.clientHeight-p.offsetTop-p.offsetHeight,ee=Math.max(fe,ue+(P?ce:0)+R+G),te=_+ee;c.style.height=te+"px"}else{const P=U.length>0&&g===U[0].ref.current;c.style.top="0px";const ee=Math.max(ie,B+p.offsetTop+(P?V:0)+ue)+M;c.style.height=ee+"px",p.scrollTop=_-ie+p.offsetTop}c.style.margin=`${k}px 0`,c.style.minHeight=le+"px",c.style.maxHeight=z+"px",r?.(),requestAnimationFrame(()=>w.current=!0)}},[C,d.trigger,d.valueNode,c,m,p,g,b,d.dir,r]);q(()=>f(),[f]);const[O,j]=a.useState();q(()=>{m&&j(window.getComputedStyle(m).zIndex)},[m]);const Z=a.useCallback(D=>{D&&I.current===!0&&(f(),v?.(),I.current=!1)},[f,v]);return u.jsx(Dt,{scope:t,contentWrapper:c,shouldExpandOnScrollRef:w,onScrollButtonChange:Z,children:u.jsx("div",{ref:i,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:O},children:u.jsx(F.div,{...n,ref:y,style:{boxSizing:"border-box",maxHeight:"100%",...n.style}})})})},"SelectItemAlignedPosition")),Re=a.forwardRef(S(function(e,o){const{__scopeSelect:t,align:r="start",collisionPadding:n=k,...d}=e,s=Ie(t);return u.jsx(Je,{...s,...d,ref:o,align:r,collisionPadding:n,style:{boxSizing:"border-box",...d.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})},"SelectPopperPosition")),[Dt,be]=re(oe,{}),Ee="SelectViewport",kt=a.forwardRef(S(function(e,o){const{__scopeSelect:t,nonce:r,...n}=e,d=se(Ee,t),s=be(Ee,t),c=H(o,d.onViewportChange),i=a.useRef(0);return u.jsxs(u.Fragment,{children:[u.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:r}),u.jsx(he.Slot,{scope:t,children:u.jsx(F.div,{"data-radix-select-viewport":"",role:"presentation",...n,ref:c,style:{position:"relative",flex:1,overflow:"hidden auto",...n.style},onScroll:E(n.onScroll,m=>{const x=m.currentTarget,{contentWrapper:y,shouldExpandOnScrollRef:C}=s;if(C?.current&&y){const w=Math.abs(i.current-x.scrollTop);if(w>0){const I=window.innerHeight-k*2,p=parseFloat(y.style.minHeight),g=parseFloat(y.style.height),b=Math.max(p,g);if(b<I){const v=b+w,f=Math.min(I,v),O=v-f;y.style.height=f+"px",y.style.bottom==="0px"&&(x.scrollTop=O>0?O:0,y.style.justifyContent="flex-end")}}}i.current=x.scrollTop})})})]})},"SelectViewport")),At="SelectGroup",[Zt,Qt]=re(At),Ce="SelectItem",[Bt,Ve]=re(Ce),Lt=a.forwardRef(S(function(e,o){const{__scopeSelect:t,value:r,disabled:n=!1,textValue:d,...s}=e,c=X(Ce,t),i=se(Ce,t),m=c.value===r,[x,y]=a.useState(d??""),[C,w]=a.useState(!1),I=ye(f=>i.itemRefCallback?.(f,r,n)),p=H(o,I),g=De(),b=a.useRef("touch"),v=S(()=>{n||(c.onValueChange(r),c.onOpenChange(!1))},"handleSelect");return u.jsx(Bt,{scope:t,value:r,disabled:n,textId:g,isSelected:m,onItemTextChange:a.useCallback(f=>{y(O=>O||(f?.textContent??"").trim())},[]),children:u.jsx(he.ItemSlot,{scope:t,value:r,disabled:n,textValue:x,children:u.jsx(F.div,{role:"option","aria-labelledby":g,"data-highlighted":C?"":void 0,"aria-selected":m&&C,"data-state":m?"checked":"unchecked","aria-disabled":n||void 0,"data-disabled":n?"":void 0,tabIndex:n?void 0:-1,...s,ref:p,onFocus:E(s.onFocus,()=>w(!0)),onBlur:E(s.onBlur,()=>w(!1)),onClick:E(s.onClick,()=>{b.current!=="mouse"&&v()}),onPointerUp:E(s.onPointerUp,()=>{b.current==="mouse"&&v()}),onPointerDown:E(s.onPointerDown,f=>{b.current=f.pointerType}),onPointerMove:E(s.onPointerMove,f=>{b.current=f.pointerType,n?i.onItemLeave?.():b.current==="mouse"&&f.currentTarget.focus({preventScroll:!0})}),onPointerLeave:E(s.onPointerLeave,f=>{f.currentTarget===document.activeElement&&i.onItemLeave?.()}),onKeyDown:E(s.onKeyDown,f=>{n||f.target!==f.currentTarget||i.searchRef?.current!==""&&f.key===" "||(mt.includes(f.key)&&v(),f.key===" "&&f.preventDefault())})})})})},"SelectItem")),me="SelectItemText",Vt=a.forwardRef(S(function(e,o){const{__scopeSelect:t,className:r,style:n,...d}=e,s=X(me,t),c=se(me,t),i=Ve(me,t),m=St(me,t),[x,y]=a.useState(null),C=ye(v=>c.itemTextRefCallback?.(v,i.value,i.disabled)),w=H(o,y,i.onItemTextChange,C),I=x?.textContent,p=a.useMemo(()=>u.jsx("option",{value:i.value,disabled:i.disabled,children:I},i.value),[i.disabled,i.value,I]),{onNativeOptionAdd:g,onNativeOptionRemove:b}=m;return q(()=>(g(p),()=>b(p)),[g,b,p]),u.jsxs(u.Fragment,{children:[u.jsx(F.span,{id:i.textId,...d,ref:w}),i.isSelected&&s.valueNode&&!s.valueNodeHasChildren&&!pe(s.value)?Me.createPortal(d.children,s.valueNode):null]})},"SelectItemText")),Ht="SelectItemIndicator",Ft=a.forwardRef(S(function(e,o){const{__scopeSelect:t,...r}=e;return Ve(Ht,t).isSelected?u.jsx(F.span,{"aria-hidden":!0,...r,ref:o}):null},"SelectItemIndicator")),je="SelectScrollUpButton",Ut=a.forwardRef(S(function(e,o){const t=se(je,e.__scopeSelect),r=be(je,e.__scopeSelect),[n,d]=a.useState(!1),s=H(o,r.onScrollButtonChange);return q(()=>{if(t.viewport&&t.isPositioned){let c=function(){const m=i.scrollTop>0;d(m)};S(c,"handleScroll");const i=t.viewport;return c(),i.addEventListener("scroll",c),()=>i.removeEventListener("scroll",c)}},[t.viewport,t.isPositioned]),n?u.jsx(He,{...e,ref:s,onAutoScroll:()=>{const{viewport:c,selectedItem:i}=t;c&&i&&(c.scrollTop=c.scrollTop-i.offsetHeight)}}):null},"SelectScrollUpButton")),Ne="SelectScrollDownButton",zt=a.forwardRef(S(function(e,o){const t=se(Ne,e.__scopeSelect),r=be(Ne,e.__scopeSelect),[n,d]=a.useState(!1),s=H(o,r.onScrollButtonChange);return q(()=>{if(t.viewport&&t.isPositioned){let c=function(){const m=i.scrollHeight-i.clientHeight,x=Math.ceil(i.scrollTop)<m;d(x)};S(c,"handleScroll");const i=t.viewport;return c(),i.addEventListener("scroll",c),()=>i.removeEventListener("scroll",c)}},[t.viewport,t.isPositioned]),n?u.jsx(He,{...e,ref:s,onAutoScroll:()=>{const{viewport:c,selectedItem:i}=t;c&&i&&(c.scrollTop=c.scrollTop+i.offsetHeight)}}):null},"SelectScrollDownButton")),He=a.forwardRef(S(function(e,o){const{__scopeSelect:t,onAutoScroll:r,...n}=e,d=se("SelectScrollButton",t),s=a.useRef(null),c=ve(t),i=a.useCallback(()=>{s.current!==null&&(window.clearInterval(s.current),s.current=null)},[]);return a.useEffect(()=>()=>i(),[i]),q(()=>{c().find(x=>x.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[c]),u.jsx(F.div,{"aria-hidden":!0,...n,ref:o,style:{flexShrink:0,...n.style},onPointerDown:E(n.onPointerDown,()=>{s.current===null&&(s.current=window.setInterval(r,50))}),onPointerMove:E(n.onPointerMove,()=>{d.onItemLeave?.(),s.current===null&&(s.current=window.setInterval(r,50))}),onPointerLeave:E(n.onPointerLeave,()=>{i()})})},"SelectScrollButtonImpl")),Wt="SelectBubbleInput",Kt=a.forwardRef(S(function({__scopeSelect:e,...o},t){const r=X(Wt,e),{value:n,onValueChange:d,required:s,disabled:c,name:i,autoComplete:m,form:x}=r,{nativeOptions:y,nativeSelectKey:C}=r,w=a.useRef(null),I=H(t,w),p=n??"",g=Ae(p),b=Array.from(y).some(v=>(v.props.value??"")==="");return a.useEffect(()=>{const v=w.current;if(!v)return;const f=window.HTMLSelectElement.prototype,j=Object.getOwnPropertyDescriptor(f,"value").set;if(g!==p&&j){const Z=new Event("change",{bubbles:!0});j.call(v,p),v.dispatchEvent(Z)}},[g,p]),u.jsxs(F.select,{"aria-hidden":!0,required:s,tabIndex:-1,name:i,autoComplete:m,disabled:c,form:x,onChange:v=>d(v.target.value),...o,style:{...et,...o.style},ref:I,defaultValue:p,children:[pe(n)&&!b?u.jsx("option",{value:""}):null,Array.from(y)]},C)},"SelectBubbleInput"));function Fe(l){return typeof l=="function"}S(Fe,"isFunction");function pe(l){return l===""||l===void 0}S(pe,"shouldShowPlaceholder");function Te(l){const e=ye(l),o=a.useRef(""),t=a.useRef(0),r=a.useCallback(d=>{const s=o.current+d;e(s),S((function c(i){o.current=i,window.clearTimeout(t.current),i!==""&&(t.current=window.setTimeout(()=>c(""),1e3))}),"updateSearch")(s)},[e]),n=a.useCallback(()=>{o.current="",window.clearTimeout(t.current)},[]);return a.useEffect(()=>()=>window.clearTimeout(t.current),[]),[o,r,n]}S(Te,"useTypeaheadSearch");function Pe(l,e,o){const r=e.length>1&&Array.from(e).every(i=>i===e[0])?e[0]:e,n=o?l.indexOf(o):-1;let d=Ue(l,Math.max(n,0));r.length===1&&(d=d.filter(i=>i!==o));const c=d.find(i=>i.textValue.toLowerCase().startsWith(r.toLowerCase()));return c!==o?c:void 0}S(Pe,"findNextItem");function Ue(l,e){return l.map((o,t)=>l[(e+t)%l.length])}S(Ue,"wrapArray");function Jt(l){const e=ne.c(4);let o;e[0]!==l?({...o}=l,e[0]=l,e[1]=o):o=e[1];let t;return e[2]!==o?(t=u.jsx(xt,{"data-slot":"select",...o}),e[2]=o,e[3]=t):t=e[3],t}function eo(l){const e=ne.c(4);let o;e[0]!==l?({...o}=l,e[0]=l,e[1]=o):o=e[1];let t;return e[2]!==o?(t=u.jsx(It,{"data-slot":"select-value",...o}),e[2]=o,e[3]=t):t=e[3],t}function to(l){const e=ne.c(13);let o,t,r,n;e[0]!==l?({className:t,size:n,children:o,...r}=l,e[0]=l,e[1]=o,e[2]=t,e[3]=r,e[4]=n):(o=e[1],t=e[2],r=e[3],n=e[4]);const d=n===void 0?"default":n;let s;e[5]!==t?(s=ae("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),e[5]=t,e[6]=s):s=e[6];let c;e[7]===Symbol.for("react.memo_cache_sentinel")?(c=u.jsx(bt,{asChild:!0,children:u.jsx(ke,{className:"size-4 opacity-50"})}),e[7]=c):c=e[7];let i;return e[8]!==o||e[9]!==r||e[10]!==d||e[11]!==s?(i=u.jsxs(Ct,{"data-slot":"select-trigger","data-size":d,className:s,...r,children:[o,c]}),e[8]=o,e[9]=r,e[10]=d,e[11]=s,e[12]=i):i=e[12],i}function oo(l){const e=ne.c(22);let o,t,r,n,d;e[0]!==l?({className:t,children:o,position:n,align:d,...r}=l,e[0]=l,e[1]=o,e[2]=t,e[3]=r,e[4]=n,e[5]=d):(o=e[1],t=e[2],r=e[3],n=e[4],d=e[5]);const s=n===void 0?"popper":n,c=d===void 0?"center":d,i=s==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1";let m;e[6]!==t||e[7]!==i?(m=ae("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",i,t),e[6]=t,e[7]=i,e[8]=m):m=e[8];let x;e[9]===Symbol.for("react.memo_cache_sentinel")?(x=u.jsx($t,{}),e[9]=x):x=e[9];const y=s==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1";let C;e[10]!==y?(C=ae("p-1",y),e[10]=y,e[11]=C):C=e[11];let w;e[12]!==o||e[13]!==C?(w=u.jsx(kt,{className:C,children:o}),e[12]=o,e[13]=C,e[14]=w):w=e[14];let I;e[15]===Symbol.for("react.memo_cache_sentinel")?(I=u.jsx(Gt,{}),e[15]=I):I=e[15];let p;return e[16]!==c||e[17]!==s||e[18]!==r||e[19]!==m||e[20]!==w?(p=u.jsx(Rt,{children:u.jsxs(Et,{"data-slot":"select-content",className:m,position:s,align:c,...r,children:[x,w,I]})}),e[16]=c,e[17]=s,e[18]=r,e[19]=m,e[20]=w,e[21]=p):p=e[21],p}function no(l){const e=ne.c(13);let o,t,r;e[0]!==l?({className:t,children:o,...r}=l,e[0]=l,e[1]=o,e[2]=t,e[3]=r):(o=e[1],t=e[2],r=e[3]);let n;e[4]!==t?(n=ae("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",t),e[4]=t,e[5]=n):n=e[5];let d;e[6]===Symbol.for("react.memo_cache_sentinel")?(d=u.jsx("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:u.jsx(Ft,{children:u.jsx(st,{className:"size-4"})})}),e[6]=d):d=e[6];let s;e[7]!==o?(s=u.jsx(Vt,{children:o}),e[7]=o,e[8]=s):s=e[8];let c;return e[9]!==r||e[10]!==n||e[11]!==s?(c=u.jsxs(Lt,{"data-slot":"select-item",className:n,...r,children:[d,s]}),e[9]=r,e[10]=n,e[11]=s,e[12]=c):c=e[12],c}function $t(l){const e=ne.c(9);let o,t;e[0]!==l?({className:o,...t}=l,e[0]=l,e[1]=o,e[2]=t):(o=e[1],t=e[2]);let r;e[3]!==o?(r=ae("flex cursor-default items-center justify-center py-1",o),e[3]=o,e[4]=r):r=e[4];let n;e[5]===Symbol.for("react.memo_cache_sentinel")?(n=u.jsx(ct,{className:"size-4"}),e[5]=n):n=e[5];let d;return e[6]!==t||e[7]!==r?(d=u.jsx(Ut,{"data-slot":"select-scroll-up-button",className:r,...t,children:n}),e[6]=t,e[7]=r,e[8]=d):d=e[8],d}function Gt(l){const e=ne.c(9);let o,t;e[0]!==l?({className:o,...t}=l,e[0]=l,e[1]=o,e[2]=t):(o=e[1],t=e[2]);let r;e[3]!==o?(r=ae("flex cursor-default items-center justify-center py-1",o),e[3]=o,e[4]=r):r=e[4];let n;e[5]===Symbol.for("react.memo_cache_sentinel")?(n=u.jsx(ke,{className:"size-4"}),e[5]=n):n=e[5];let d;return e[6]!==t||e[7]!==r?(d=u.jsx(zt,{"data-slot":"select-scroll-down-button",className:r,...t,children:n}),e[6]=t,e[7]=r,e[8]=d):d=e[8],d}export{Jt as S,to as a,eo as b,oo as c,no as d};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{V as re,r as c,c as R,j as A}from"./inertia-DfNRARuA.js";import{u as Ye}from"./chart-hover-DdK4E-2h.js";import{i as K,e as He,s as ne,D as ie,f as ge,g as Ct,Z as oe,L as W,u as be,h as Mt,j as Tt,k as U,l as Ue,m as F,n as H,o as Kt,p as le,q as se,r as qe,t as Pe,v as q,w as Ze,x as Ae,y as ce,z as Je,S as Qe,A as et,E as ue,F as tt,G as at,H as rt,I as nt,J as it,K as ot,M as $t,N as Z,O as J,P as lt,Q as st,T as M,U as ct,V as ut,W as dt,_ as Wt,$ as Rt,a0 as Ft,a1 as Ie,a2 as Ee,a3 as zt,a4 as Bt,a5 as Vt,a6 as Gt,a7 as Xt,a8 as Yt,a9 as pe,aa as Q,ab as pt,ac as vt,R as Ht,C as ke,X as je,Y as Oe,a as Se,b as we,c as de,B as ve,d as Ut}from"./chart-Cov79YC5.js";import{m as ft}from"./format-B9SDkrWj.js";function he(){return he=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var a=arguments[e];for(var r in a)({}).hasOwnProperty.call(a,r)&&(t[r]=a[r])}return t},he.apply(null,arguments)}var mt=t=>{var{cx:e,cy:a,r,className:n}=t,i=re("recharts-dot",n);return K(e)&&K(a)&&K(r)?c.createElement("circle",he({},ne(t),He(t),{className:i,cx:e,cy:a,r})):null},qt=["points"];function We(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),a.push.apply(a,r)}return a}function fe(t){for(var e=1;e<arguments.length;e++){var a=arguments[e]!=null?arguments[e]:{};e%2?We(Object(a),!0).forEach(function(r){Zt(t,r,a[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(a)):We(Object(a)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(a,r))})}return t}function Zt(t,e,a){return(e=Jt(e))in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function Jt(t){var e=Qt(t,"string");return typeof e=="symbol"?e:e+""}function Qt(t,e){if(typeof t!="object"||!t)return t;var a=t[Symbol.toPrimitive];if(a!==void 0){var r=a.call(t,e);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function ee(){return ee=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var a=arguments[e];for(var r in a)({}).hasOwnProperty.call(a,r)&&(t[r]=a[r])}return t},ee.apply(null,arguments)}function ea(t,e){if(t==null)return{};var a,r,n=ta(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r<i.length;r++)a=i[r],e.indexOf(a)===-1&&{}.propertyIsEnumerable.call(t,a)&&(n[a]=t[a])}return n}function ta(t,e){if(t==null)return{};var a={};for(var r in t)if({}.hasOwnProperty.call(t,r)){if(e.indexOf(r)!==-1)continue;a[r]=t[r]}return a}function aa(t){var{option:e,dotProps:a,className:r}=t;if(c.isValidElement(e))return c.cloneElement(e,a);if(typeof e=="function")return e(a);var n=re(r,typeof e!="boolean"?e.className:""),i=a??{},{points:l}=i,o=ea(i,qt);return c.createElement(mt,ee({},o,{className:n}))}function ra(t,e){return t==null?!1:e?!0:t.length===1}function ht(t){var{points:e,dot:a,className:r,dotClassName:n,dataKey:i,baseProps:l,needClip:o,clipPathId:s,zIndex:u=ie.scatter}=t;if(!ra(e,a))return null;var d=ge(a),p=Ct(a),v=e.map((m,x)=>{var P,h,y=fe(fe(fe({r:3},l),p),{},{index:x,cx:(P=m.x)!==null&&P!==void 0?P:void 0,cy:(h=m.y)!==null&&h!==void 0?h:void 0,dataKey:i,value:m.value,payload:m.payload,points:e});return c.createElement(aa,{key:"dot-".concat(x),option:a,dotProps:y,className:n})}),f={};return o&&s!=null&&(f.clipPath="url(#clipPath-".concat(d?"":"dots-").concat(s,")")),c.createElement(oe,{zIndex:u},c.createElement(W,ee({className:r},f),v))}function Re(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),a.push.apply(a,r)}return a}function me(t){for(var e=1;e<arguments.length;e++){var a=arguments[e]!=null?arguments[e]:{};e%2?Re(Object(a),!0).forEach(function(r){na(t,r,a[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(a)):Re(Object(a)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(a,r))})}return t}function na(t,e,a){return(e=ia(e))in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function ia(t){var e=oa(t,"string");return typeof e=="symbol"?e:e+""}function oa(t,e){if(typeof t!="object"||!t)return t;var a=t[Symbol.toPrimitive];if(a!==void 0){var r=a.call(t,e);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}var la=t=>{var{point:e,childIndex:a,mainColor:r,activeDot:n,dataKey:i,clipPath:l}=t;if(n===!1||e.x==null||e.y==null)return null;var o={index:a,dataKey:i,cx:e.x,cy:e.y,r:4,fill:r??"none",strokeWidth:2,stroke:"#fff",payload:e.payload,value:e.value},s=me(me(me({},o),Ue(n)),He(n)),u;return c.isValidElement(n)?u=c.cloneElement(n,s):typeof n=="function"?u=n(s):u=c.createElement(mt,s),c.createElement(W,{className:"recharts-active-dot",clipPath:l},u)};function ye(t){var{points:e,mainColor:a,activeDot:r,itemDataKey:n,clipPath:i,zIndex:l=ie.activeDot}=t,o=be(Mt),s=Tt();if(e==null||s==null)return null;var u=e.find(d=>s.includes(d.payload));return U(u)?null:c.createElement(oe,{zIndex:l},c.createElement(la,{point:u,childIndex:Number(o),mainColor:a,dataKey:n,activeDot:r,clipPath:i}))}var yt=(t,e,a,r)=>le(t,"xAxis",e,r),xt=(t,e,a,r)=>se(t,"xAxis",e,r),gt=(t,e,a,r)=>le(t,"yAxis",a,r),bt=(t,e,a,r)=>se(t,"yAxis",a,r),sa=F([H,yt,gt,xt,bt],(t,e,a,r,n)=>Pe(t,"xAxis")?q(e,r,!1):q(a,n,!1)),ca=(t,e,a,r,n)=>n;function ua(t){return t.type==="line"}var da=F([qe,ca],(t,e)=>t.filter(ua).find(a=>a.id===e)),pa=F([H,yt,gt,xt,bt,da,sa,Kt],(t,e,a,r,n,i,l,o)=>{var{chartData:s,dataStartIndex:u,dataEndIndex:d}=o;if(!(i==null||e==null||a==null||r==null||n==null||r.length===0||n.length===0||l==null||t!=="horizontal"&&t!=="vertical")){var{dataKey:p,data:v}=i,f;if(v!=null&&v.length>0?f=v:f=s?.slice(u,d+1),f!=null)return Na({layout:t,xAxis:e,yAxis:a,xAxisTicks:r,yAxisTicks:n,dataKey:p,bandSize:l,displayedData:f})}});function Pt(t){var e=Ue(t),a=3,r=2;if(e!=null){var{r:n,strokeWidth:i}=e,l=Number(n),o=Number(i);return(Number.isNaN(l)||l<0)&&(l=a),(Number.isNaN(o)||o<0)&&(o=r),{r:l,strokeWidth:o}}return{r:a,strokeWidth:r}}var va=["id"],fa=["type","layout","connectNulls","needClip","shape"],ma=["activeDot","animateNewValues","animationBegin","animationDuration","animationEasing","connectNulls","dot","hide","isAnimationActive","label","legendType","xAxisId","yAxisId","id"];function X(){return X=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var a=arguments[e];for(var r in a)({}).hasOwnProperty.call(a,r)&&(t[r]=a[r])}return t},X.apply(null,arguments)}function Fe(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),a.push.apply(a,r)}return a}function T(t){for(var e=1;e<arguments.length;e++){var a=arguments[e]!=null?arguments[e]:{};e%2?Fe(Object(a),!0).forEach(function(r){ha(t,r,a[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(a)):Fe(Object(a)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(a,r))})}return t}function ha(t,e,a){return(e=ya(e))in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function ya(t){var e=xa(t,"string");return typeof e=="symbol"?e:e+""}function xa(t,e){if(typeof t!="object"||!t)return t;var a=t[Symbol.toPrimitive];if(a!==void 0){var r=a.call(t,e);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function De(t,e){if(t==null)return{};var a,r,n=ga(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r<i.length;r++)a=i[r],e.indexOf(a)===-1&&{}.propertyIsEnumerable.call(t,a)&&(n[a]=t[a])}return n}function ga(t,e){if(t==null)return{};var a={};for(var r in t)if({}.hasOwnProperty.call(t,r)){if(e.indexOf(r)!==-1)continue;a[r]=t[r]}return a}var ba=t=>{var{dataKey:e,name:a,stroke:r,legendType:n,hide:i}=t;return[{inactive:i,dataKey:e,type:n,color:r,value:ue(a,e),payload:t}]},Pa=c.memo(t=>{var{dataKey:e,data:a,stroke:r,strokeWidth:n,fill:i,name:l,hide:o,unit:s,tooltipType:u,id:d}=t,p={dataDefinedOnItem:a,getPosition:at,settings:{stroke:r,strokeWidth:n,fill:i,dataKey:e,nameKey:void 0,name:ue(l,e),hide:o,type:u,color:r,unit:s,graphicalItemId:d}};return c.createElement(tt,{tooltipEntrySettings:p})}),At=(t,e)=>"".concat(e,"px ").concat(t,"px");function Aa(t,e){for(var a=t.length%2!==0?[...t,0]:t,r=[],n=0;n<e;++n)r.push(...a);return r}var Ia=(t,e,a)=>{var r=a.reduce((v,f)=>v+f,0);if(!r)return At(e,t);for(var n=Math.floor(t/r),i=t%r,l=[],o=0,s=0;o<a.length;s+=(u=a[o])!==null&&u!==void 0?u:0,++o){var u,d=a[o];if(d!=null&&s+d>i){l=[...a.slice(0,o),i-s];break}}var p=l.length%2===0?[0,e]:[e];return[...Aa(a,n),...l,...p].map(v=>"".concat(v,"px")).join(", ")};function Ea(t){var{clipPathId:e,points:a,props:r}=t,{dot:n,dataKey:i,needClip:l}=r,{id:o}=r,s=De(r,va),u=ne(s);return c.createElement(ht,{points:a,dot:n,className:"recharts-line-dots",dotClassName:"recharts-line-dot",dataKey:i,baseProps:u,needClip:l,clipPathId:e})}function ka(t){var{showLabels:e,children:a,points:r}=t,n=c.useMemo(()=>r?.map(i=>{var l,o,s={x:(l=i.x)!==null&&l!==void 0?l:0,y:(o=i.y)!==null&&o!==void 0?o:0,width:0,lowerWidth:0,upperWidth:0,height:0};return T(T({},s),{},{value:i.value,payload:i.payload,viewBox:s,parentViewBox:void 0,fill:void 0})}),[r]);return c.createElement(ut,{value:e?n:void 0},a)}function ze(t){var{clipPathId:e,pathRef:a,points:r,strokeDasharray:n,props:i}=t,{type:l,layout:o,connectNulls:s,needClip:u,shape:d}=i,p=De(i,fa),v=T(T({},dt(p)),{},{fill:"none",className:"recharts-line-curve",clipPath:u?"url(#clipPath-".concat(e,")"):void 0,points:r,type:l,layout:o,connectNulls:s,strokeDasharray:n??i.strokeDasharray});return c.createElement(c.Fragment,null,r?.length>1&&c.createElement(Wt,X({shapeType:"curve",option:d},v,{pathRef:a})),c.createElement(Ea,{points:r,clipPathId:e,props:i}))}function ja(t){try{return t&&t.getTotalLength&&t.getTotalLength()||0}catch{return 0}}function Oa(t){var{clipPathId:e,props:a,pathRef:r,previousPointsRef:n,longestAnimatedLengthRef:i}=t,{points:l,strokeDasharray:o,isAnimationActive:s,animationBegin:u,animationDuration:d,animationEasing:p,animateNewValues:v,width:f,height:m,onAnimationEnd:x,onAnimationStart:P}=a,h=n.current,y=lt(l,"recharts-line-"),g=c.useRef(y),[b,I]=c.useState(!1),E=!b,k=c.useCallback(()=>{typeof x=="function"&&x(),I(!1)},[x]),j=c.useCallback(()=>{typeof P=="function"&&P(),I(!0)},[P]),S=ja(r.current),D=c.useRef(0);g.current!==y&&(D.current=i.current,g.current=y);var w=D.current;return c.createElement(ka,{points:l,showLabels:E},a.children,c.createElement(st,{animationId:y,begin:u,duration:d,isActive:s,easing:p,onAnimationEnd:k,onAnimationStart:j,key:y},O=>{var L=M(w,S+w,O),_=Math.min(L,S),N;if(s)if(o){var z="".concat(o).split(/[,\s]+/gim).map(C=>parseFloat(C));N=Ia(_,S,z)}else N=At(S,_);else N=o==null?void 0:String(o);if(O>0&&S>0&&(n.current=l,i.current=Math.max(i.current,_)),h){var G=h.length/l.length,Te=O===1?l:l.map((C,_t)=>{var Ke=Math.floor(_t*G);if(h[Ke]){var $e=h[Ke];return T(T({},C),{},{x:M($e.x,C.x,O),y:M($e.y,C.y,O)})}return v?T(T({},C),{},{x:M(f*2,C.x,O),y:M(m/2,C.y,O)}):T(T({},C),{},{x:C.x,y:C.y})});return n.current=Te,c.createElement(ze,{props:a,points:Te,clipPathId:e,pathRef:r,strokeDasharray:N})}return c.createElement(ze,{props:a,points:l,clipPathId:e,pathRef:r,strokeDasharray:N})}),c.createElement(ct,{label:a.label}))}function Sa(t){var{clipPathId:e,props:a}=t,r=c.useRef(null),n=c.useRef(0),i=c.useRef(null);return c.createElement(Oa,{props:a,clipPathId:e,previousPointsRef:r,longestAnimatedLengthRef:n,pathRef:i})}var wa=(t,e)=>{var a,r;return{x:(a=t.x)!==null&&a!==void 0?a:void 0,y:(r=t.y)!==null&&r!==void 0?r:void 0,value:t.value,errorVal:Z(t.payload,e)}};class Da extends c.Component{render(){var{hide:e,dot:a,points:r,className:n,xAxisId:i,yAxisId:l,top:o,left:s,width:u,height:d,id:p,needClip:v,zIndex:f}=this.props;if(e)return null;var m=re("recharts-line",n),x=p,{r:P,strokeWidth:h}=Pt(a),y=ge(a),g=P*2+h,b=v?"url(#clipPath-".concat(y?"":"dots-").concat(x,")"):void 0;return c.createElement(oe,{zIndex:f},c.createElement(W,{className:m},v&&c.createElement("defs",null,c.createElement(ot,{clipPathId:x,xAxisId:i,yAxisId:l}),!y&&c.createElement("clipPath",{id:"clipPath-dots-".concat(x)},c.createElement("rect",{x:s-g/2,y:o-g/2,width:u+g,height:d+g}))),c.createElement($t,{xAxisId:i,yAxisId:l,data:r,dataPointFormatter:wa,errorBarOffset:0},c.createElement(Sa,{props:this.props,clipPathId:x}))),c.createElement(ye,{activeDot:this.props.activeDot,points:r,mainColor:this.props.stroke,itemDataKey:this.props.dataKey,clipPath:b}))}}var It={activeDot:!0,animateNewValues:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",connectNulls:!1,dot:!0,fill:"#fff",hide:!1,isAnimationActive:"auto",label:!1,legendType:"line",stroke:"#3182bd",strokeWidth:1,xAxisId:0,yAxisId:0,zIndex:ie.line,type:"linear"};function La(t){var e=Ae(t,It),{activeDot:a,animateNewValues:r,animationBegin:n,animationDuration:i,animationEasing:l,connectNulls:o,dot:s,hide:u,isAnimationActive:d,label:p,legendType:v,xAxisId:f,yAxisId:m,id:x}=e,P=De(e,ma),{needClip:h}=rt(f,m),y=nt(),g=it(),b=ce(),I=be(D=>pa(D,f,m,b,x));if(g!=="horizontal"&&g!=="vertical"||I==null||y==null)return null;var{height:E,width:k,x:j,y:S}=y;return c.createElement(Da,X({},P,{id:x,connectNulls:o,dot:s,activeDot:a,animateNewValues:r,animationBegin:n,animationDuration:i,animationEasing:l,isAnimationActive:d,hide:u,label:p,legendType:v,xAxisId:f,yAxisId:m,points:I,layout:g,height:E,width:k,left:j,top:S,needClip:h}))}function Na(t){var{layout:e,xAxis:a,yAxis:r,xAxisTicks:n,yAxisTicks:i,dataKey:l,bandSize:o,displayedData:s}=t;return s.map((u,d)=>{var p=Z(u,l);if(e==="horizontal"){var v=J({axis:a,ticks:n,bandSize:o,entry:u,index:d}),f=U(p)?null:r.scale.map(p);return{x:v,y:f??null,value:p,payload:u}}var m=U(p)?null:a.scale.map(p),x=J({axis:r,ticks:i,bandSize:o,entry:u,index:d});return m==null||x==null?null:{x:m,y:x,value:p,payload:u}}).filter(Boolean)}function _a(t){var e=Ae(t,It),a=ce();return c.createElement(Je,{id:e.id,type:"line"},r=>c.createElement(c.Fragment,null,c.createElement(Qe,{legendPayload:ba(e)}),c.createElement(Pa,{dataKey:e.dataKey,data:e.data,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,unit:e.unit,tooltipType:e.tooltipType,id:r}),c.createElement(et,{type:"line",id:r,data:e.data,xAxisId:e.xAxisId,yAxisId:e.yAxisId,zAxisId:0,dataKey:e.dataKey,hide:e.hide,isPanorama:a}),c.createElement(La,X({},e,{id:r}))))}var xe=c.memo(_a,Ze);xe.displayName="Line";var Et=(t,e,a)=>le(t,"xAxis",Ie(t,e),a),kt=(t,e,a)=>se(t,"xAxis",Ie(t,e),a),jt=(t,e,a)=>le(t,"yAxis",Ee(t,e),a),Ot=(t,e,a)=>se(t,"yAxis",Ee(t,e),a),Ca=F([H,Et,jt,kt,Ot],(t,e,a,r,n)=>Pe(t,"xAxis")?q(e,r,!1):q(a,n,!1)),Ma=(t,e)=>e,St=F([qe,Ma],(t,e)=>t.filter(a=>a.type==="area").find(a=>a.id===e)),wt=t=>{var e=H(t),a=Pe(e,"xAxis");return a?"yAxis":"xAxis"},Ta=(t,e)=>{var a=wt(t);return a==="yAxis"?Ee(t,e):Ie(t,e)},Ka=(t,e,a)=>Bt(t,wt(t),Ta(t,e),a),$a=F([St,Ka],(t,e)=>{var a;if(!(t==null||e==null)){var{stackId:r}=t,n=zt(t);if(!(r==null||n==null)){var i=(a=e[r])===null||a===void 0?void 0:a.stackedData,l=i?.find(o=>o.key===n);if(l!=null)return l.map(o=>[o[0],o[1]])}}}),Wa=F([H,Et,jt,kt,Ot,$a,Rt,Ca,St,Ft],(t,e,a,r,n,i,l,o,s,u)=>{var{chartData:d,dataStartIndex:p,dataEndIndex:v}=l;if(!(s==null||t!=="horizontal"&&t!=="vertical"||e==null||a==null||r==null||n==null||r.length===0||n.length===0||o==null)){var{data:f}=s,m;if(f&&f.length>0?m=f:m=d?.slice(p,v+1),m!=null)return ir({layout:t,xAxis:e,yAxis:a,xAxisTicks:r,yAxisTicks:n,dataStartIndex:p,areaSettings:s,stackedData:i,displayedData:m,chartBaseValue:u,bandSize:o})}}),Ra=["id"],Fa=["activeDot","animationBegin","animationDuration","animationEasing","connectNulls","dot","fill","fillOpacity","hide","isAnimationActive","legendType","stroke","xAxisId","yAxisId"];function $(){return $=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var a=arguments[e];for(var r in a)({}).hasOwnProperty.call(a,r)&&(t[r]=a[r])}return t},$.apply(null,arguments)}function Dt(t,e){if(t==null)return{};var a,r,n=za(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r<i.length;r++)a=i[r],e.indexOf(a)===-1&&{}.propertyIsEnumerable.call(t,a)&&(n[a]=t[a])}return n}function za(t,e){if(t==null)return{};var a={};for(var r in t)if({}.hasOwnProperty.call(t,r)){if(e.indexOf(r)!==-1)continue;a[r]=t[r]}return a}function Be(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),a.push.apply(a,r)}return a}function B(t){for(var e=1;e<arguments.length;e++){var a=arguments[e]!=null?arguments[e]:{};e%2?Be(Object(a),!0).forEach(function(r){Ba(t,r,a[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(a)):Be(Object(a)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(a,r))})}return t}function Ba(t,e,a){return(e=Va(e))in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function Va(t){var e=Ga(t,"string");return typeof e=="symbol"?e:e+""}function Ga(t,e){if(typeof t!="object"||!t)return t;var a=t[Symbol.toPrimitive];if(a!==void 0){var r=a.call(t,e);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function te(t,e){return t&&t!=="none"?t:e}var Xa=t=>{var{dataKey:e,name:a,stroke:r,fill:n,legendType:i,hide:l}=t;return[{inactive:l,dataKey:e,type:i,color:te(r,n),value:ue(a,e),payload:t}]},Ya=c.memo(t=>{var{dataKey:e,data:a,stroke:r,strokeWidth:n,fill:i,name:l,hide:o,unit:s,tooltipType:u,id:d}=t,p={dataDefinedOnItem:a,getPosition:at,settings:{stroke:r,strokeWidth:n,fill:i,dataKey:e,nameKey:void 0,name:ue(l,e),hide:o,type:u,color:te(r,i),unit:s,graphicalItemId:d}};return c.createElement(tt,{tooltipEntrySettings:p})});function Ha(t){var{clipPathId:e,points:a,props:r}=t,{needClip:n,dot:i,dataKey:l}=r,o=ne(r);return c.createElement(ht,{points:a,dot:i,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:l,baseProps:o,needClip:n,clipPathId:e})}function Ua(t){var{showLabels:e,children:a,points:r}=t,n=r.map(i=>{var l,o,s={x:(l=i.x)!==null&&l!==void 0?l:0,y:(o=i.y)!==null&&o!==void 0?o:0,width:0,lowerWidth:0,upperWidth:0,height:0};return B(B({},s),{},{value:i.value,payload:i.payload,parentViewBox:void 0,viewBox:s,fill:void 0})});return c.createElement(ut,{value:e?n:void 0},a)}function Ve(t){var{points:e,baseLine:a,needClip:r,clipPathId:n,props:i}=t,{layout:l,type:o,stroke:s,connectNulls:u,isRange:d}=i,{id:p}=i,v=Dt(i,Ra),f=ne(v),m=dt(v);return c.createElement(c.Fragment,null,e?.length>1&&c.createElement(W,{clipPath:r?"url(#clipPath-".concat(n,")"):void 0},c.createElement(pe,$({},m,{id:p,points:e,connectNulls:u,type:o,baseLine:a,layout:l,stroke:"none",className:"recharts-area-area"})),s!=="none"&&c.createElement(pe,$({},f,{className:"recharts-area-curve",layout:l,type:o,connectNulls:u,fill:"none",points:e})),s!=="none"&&d&&Array.isArray(a)&&c.createElement(pe,$({},f,{className:"recharts-area-curve",layout:l,type:o,connectNulls:u,fill:"none",points:a}))),c.createElement(Ha,{points:e,props:v,clipPathId:n}))}function qa(t){var e,a,{alpha:r,baseLine:n,points:i,strokeWidth:l}=t,o=(e=i[0])===null||e===void 0?void 0:e.y,s=(a=i[i.length-1])===null||a===void 0?void 0:a.y;if(!Q(o)||!Q(s))return null;var u=r*Math.abs(o-s),d=Math.max(...i.map(p=>p.x||0));return K(n)?d=Math.max(n,d):n&&Array.isArray(n)&&n.length&&(d=Math.max(...n.map(p=>p.x||0),d)),K(d)?c.createElement("rect",{x:0,y:o<s?o:o-u,width:d+(l?parseInt("".concat(l),10):1),height:Math.floor(u)}):null}function Za(t){var e,a,{alpha:r,baseLine:n,points:i,strokeWidth:l}=t,o=(e=i[0])===null||e===void 0?void 0:e.x,s=(a=i[i.length-1])===null||a===void 0?void 0:a.x;if(!Q(o)||!Q(s))return null;var u=r*Math.abs(o-s),d=Math.max(...i.map(p=>p.y||0));return K(n)?d=Math.max(n,d):n&&Array.isArray(n)&&n.length&&(d=Math.max(...n.map(p=>p.y||0),d)),K(d)?c.createElement("rect",{x:o<s?o:o-u,y:0,width:u,height:Math.floor(d+(l?parseInt("".concat(l),10):1))}):null}function Ja(t){var{alpha:e,layout:a,points:r,baseLine:n,strokeWidth:i}=t;return a==="vertical"?c.createElement(qa,{alpha:e,points:r,baseLine:n,strokeWidth:i}):c.createElement(Za,{alpha:e,points:r,baseLine:n,strokeWidth:i})}function Qa(t){var{needClip:e,clipPathId:a,props:r,previousPointsRef:n,previousBaselineRef:i}=t,{points:l,baseLine:o,isAnimationActive:s,animationBegin:u,animationDuration:d,animationEasing:p,onAnimationStart:v,onAnimationEnd:f}=r,m=c.useMemo(()=>({points:l,baseLine:o}),[l,o]),x=lt(m,"recharts-area-"),P=Xt(),[h,y]=c.useState(!1),g=!h,b=c.useCallback(()=>{typeof f=="function"&&f(),y(!1)},[f]),I=c.useCallback(()=>{typeof v=="function"&&v(),y(!0)},[v]);if(P==null)return null;var E=n.current,k=i.current;return c.createElement(Ua,{showLabels:g,points:l},r.children,c.createElement(st,{animationId:x,begin:u,duration:d,isActive:s,easing:p,onAnimationEnd:b,onAnimationStart:I,key:x},j=>{if(E){var S=E.length/l.length,D=j===1?l:l.map((O,L)=>{var _=Math.floor(L*S);if(E[_]){var N=E[_];return B(B({},O),{},{x:M(N.x,O.x,j),y:M(N.y,O.y,j)})}return O}),w;return K(o)?w=M(k,o,j):U(o)||Yt(o)?w=M(k,0,j):w=o.map((O,L)=>{var _=Math.floor(L*S);if(Array.isArray(k)&&k[_]){var N=k[_];return B(B({},O),{},{x:M(N.x,O.x,j),y:M(N.y,O.y,j)})}return O}),j>0&&(n.current=D,i.current=w),c.createElement(Ve,{points:D,baseLine:w,needClip:e,clipPathId:a,props:r})}return j>0&&(n.current=l,i.current=o),c.createElement(W,null,s&&c.createElement("defs",null,c.createElement("clipPath",{id:"animationClipPath-".concat(a)},c.createElement(Ja,{alpha:j,points:l,baseLine:o,layout:P,strokeWidth:r.strokeWidth}))),c.createElement(W,{clipPath:"url(#animationClipPath-".concat(a,")")},c.createElement(Ve,{points:l,baseLine:o,needClip:e,clipPathId:a,props:r})))}),c.createElement(ct,{label:r.label}))}function er(t){var{needClip:e,clipPathId:a,props:r}=t,n=c.useRef(null),i=c.useRef();return c.createElement(Qa,{needClip:e,clipPathId:a,props:r,previousPointsRef:n,previousBaselineRef:i})}class tr extends c.PureComponent{render(){var{hide:e,dot:a,points:r,className:n,top:i,left:l,needClip:o,xAxisId:s,yAxisId:u,width:d,height:p,id:v,baseLine:f,zIndex:m}=this.props;if(e)return null;var x=re("recharts-area",n),P=v,{r:h,strokeWidth:y}=Pt(a),g=ge(a),b=h*2+y,I=o?"url(#clipPath-".concat(g?"":"dots-").concat(P,")"):void 0;return c.createElement(oe,{zIndex:m},c.createElement(W,{className:x},o&&c.createElement("defs",null,c.createElement(ot,{clipPathId:P,xAxisId:s,yAxisId:u}),!g&&c.createElement("clipPath",{id:"clipPath-dots-".concat(P)},c.createElement("rect",{x:l-b/2,y:i-b/2,width:d+b,height:p+b}))),c.createElement(er,{needClip:o,clipPathId:P,props:this.props})),c.createElement(ye,{points:r,mainColor:te(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:I}),this.props.isRange&&Array.isArray(f)&&c.createElement(ye,{points:f,mainColor:te(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:I}))}}var ar={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,xAxisId:0,yAxisId:0,zIndex:ie.area};function rr(t){var e,{activeDot:a,animationBegin:r,animationDuration:n,animationEasing:i,connectNulls:l,dot:o,fill:s,fillOpacity:u,hide:d,isAnimationActive:p,legendType:v,stroke:f,xAxisId:m,yAxisId:x}=t,P=Dt(t,Fa),h=it(),y=Gt(),{needClip:g}=rt(m,x),b=ce(),{points:I,isRange:E,baseLine:k}=(e=be(L=>Wa(L,t.id,b)))!==null&&e!==void 0?e:{},j=nt();if(h!=="horizontal"&&h!=="vertical"||j==null||y!=="AreaChart"&&y!=="ComposedChart")return null;var{height:S,width:D,x:w,y:O}=j;return!I||!I.length?null:c.createElement(tr,$({},P,{activeDot:a,animationBegin:r,animationDuration:n,animationEasing:i,baseLine:k,connectNulls:l,dot:o,fill:s,fillOpacity:u,height:S,hide:d,layout:h,isAnimationActive:p,isRange:E,legendType:v,needClip:g,points:I,stroke:f,width:D,left:w,top:O,xAxisId:m,yAxisId:x}))}var nr=(t,e,a,r,n)=>{var i=a??e;if(K(i))return i;var l=t==="horizontal"?n:r,o=l.scale.domain();if(l.type==="number"){var s=Math.max(o[0],o[1]),u=Math.min(o[0],o[1]);return i==="dataMin"?u:i==="dataMax"||s<0?s:Math.max(Math.min(o[0],o[1]),0)}return i==="dataMin"?o[0]:i==="dataMax"?o[1]:o[0]};function ir(t){var{areaSettings:{connectNulls:e,baseValue:a,dataKey:r},stackedData:n,layout:i,chartBaseValue:l,xAxis:o,yAxis:s,displayedData:u,dataStartIndex:d,xAxisTicks:p,yAxisTicks:v,bandSize:f}=t,m=n&&n.length,x=nr(i,l,a,o,s),P=i==="horizontal",h=!1,y=u.map((b,I)=>{var E,k,j,S;if(m)S=n[d+I];else{var D=Z(b,r);Array.isArray(D)?(S=D,h=!0):S=[x,D]}var w=(E=(k=S)===null||k===void 0?void 0:k[1])!==null&&E!==void 0?E:null,O=w==null||m&&!e&&Z(b,r)==null;if(P){var L;return{x:J({axis:o,ticks:p,bandSize:f,entry:b,index:I}),y:O?null:(L=s.scale.map(w))!==null&&L!==void 0?L:null,value:S,payload:b}}return{x:O?null:(j=o.scale.map(w))!==null&&j!==void 0?j:null,y:J({axis:s,ticks:v,bandSize:f,entry:b,index:I}),value:S,payload:b}}),g;return m||h?g=y.map(b=>{var I,E=Array.isArray(b.value)?b.value[0]:null;if(P){var k;return{x:b.x,y:E!=null&&b.y!=null&&(k=s.scale.map(E))!==null&&k!==void 0?k:null,payload:b.payload}}return{x:E!=null&&(I=o.scale.map(E))!==null&&I!==void 0?I:null,y:b.y,payload:b.payload}}):g=P?s.scale.map(x):o.scale.map(x),{points:y,baseLine:g??0,isRange:h}}function or(t){var e=Ae(t,ar),a=ce();return c.createElement(Je,{id:e.id,type:"area"},r=>c.createElement(c.Fragment,null,c.createElement(Qe,{legendPayload:Xa(e)}),c.createElement(Ya,{dataKey:e.dataKey,data:e.data,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,unit:e.unit,tooltipType:e.tooltipType,id:r}),c.createElement(et,{type:"area",id:r,data:e.data,dataKey:e.dataKey,xAxisId:e.xAxisId,yAxisId:e.yAxisId,zAxisId:0,stackId:Vt(e.stackId),hide:e.hide,barSize:void 0,baseValue:e.baseValue,isPanorama:a,connectNulls:e.connectNulls}),c.createElement(rr,$({},e,{id:r}))))}var Le=c.memo(or,Ze);Le.displayName="Area";var lr=["axis"],sr=c.forwardRef((t,e)=>c.createElement(pt,{chartName:"LineChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:lr,tooltipPayloadSearcher:vt,categoricalChartProps:t,ref:e})),cr=["axis"],Lt=c.forwardRef((t,e)=>c.createElement(pt,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:cr,tooltipPayloadSearcher:vt,categoricalChartProps:t,ref:e}));const ae={count:{label:"OK",color:"var(--ok)"},errors:{label:"5xx",color:"var(--danger)"},client_errors:{label:"4xx",color:"var(--warning)"},p50:{label:"p50",color:"var(--primary)"},p95:{label:"p95",color:"var(--primary)"},p99:{label:"p99",color:"var(--primary)"},avg:{label:"avg",color:"var(--warning)"}};function ur(t){return t.length<2?0:new Date(t[1].t).getTime()-new Date(t[0].t).getTime()}const Ge=1440*60*1e3;function Ne(t){const e=ur(t),a=t.length>1?new Date(t[t.length-1].t).getTime()-new Date(t[0].t).getTime():0;return e>=Ge||a>2*Ge?r=>new Date(r).toLocaleDateString(void 0,{month:"short",day:"numeric"}):r=>new Date(r).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"})}function Y(t){return new Date(t).toLocaleString(void 0,{day:"2-digit",month:"short",hour:"2-digit",minute:"2-digit"})}const V={fontSize:10,fontFamily:"var(--font-mono)"};function Xe(t,e,a){return n=>{const i=R.c(8),{cx:l,cy:o,index:s}=n;if(l==null||o==null||s==null){let v;return i[0]!==s?(v=A.jsx("g",{},s),i[0]=s,i[1]=v):v=i[1],v}const u=t[s-1]?.[e]??null,d=t[s+1]?.[e]??null;if(u!=null||d!=null){let v;return i[2]!==s?(v=A.jsx("g",{},s),i[2]=s,i[3]=v):v=i[3],v}let p;return i[4]!==l||i[5]!==o||i[6]!==s?(p=A.jsx("circle",{cx:l,cy:o,r:2,fill:a},s),i[4]=l,i[5]=o,i[6]=s,i[7]=p):p=i[7],p}}function _e(t=[]){return t.map(e=>A.jsx(Ht,{x:new Date(e.at).toISOString(),stroke:"var(--primary)",strokeDasharray:"3 3",label:{value:e.ref,position:"insideTopRight",fontSize:9,fill:"var(--primary)",fontFamily:"var(--font-mono)"}},e.deploy))}function Ce(){const t=R.c(2),{setHoveredKey:e}=Ye();let a;return t[0]!==e?(a={onMouseMove:r=>{typeof r?.activeLabel=="string"&&e(r.activeLabel)},onMouseLeave:()=>e(null)},t[0]=e,t[1]=a):a=t[1],a}function Me(t){const e=R.c(11),{data:a}=t;if(a.length===0)return null;let r;e[0]!==a[0].t?(r=Y(a[0].t),e[0]=a[0].t,e[1]=r):r=e[1];let n;e[2]!==r?(n=A.jsx("span",{children:r}),e[2]=r,e[3]=n):n=e[3];const i=a[a.length-1];let l;e[4]!==i.t?(l=Y(i.t),e[4]=i.t,e[5]=l):l=e[5];let o;e[6]!==l?(o=A.jsx("span",{children:l}),e[6]=l,e[7]=o):o=e[7];let s;return e[8]!==n||e[9]!==o?(s=A.jsxs("div",{className:"text-muted-foreground mt-1 flex justify-between font-mono text-[10px]",children:[n,o]}),e[8]=n,e[9]=o,e[10]=s):s=e[10],s}function Sr(t){const e=R.c(31),{data:a,deploys:r,label:n,className:i}=t,l=n===void 0?"Requests":n,o=i===void 0?"h-40":i;let s;e[0]!==l?(s={...ae,count:{...ae.count,label:l}},e[0]=l,e[1]=s):s=e[1];const u=s,d=Ce();let p;e[2]!==a?(p=Ne(a),e[2]=a,e[3]=p):p=e[3];const v=p,f=`${o} w-full`;let m;e[4]!==a?(m=a.map(vr),e[4]=a,e[5]=m):m=e[5];const x=d.onMouseMove,P=d.onMouseLeave;let h;e[6]===Symbol.for("react.memo_cache_sentinel")?(h=A.jsx(ke,{vertical:!1,strokeDasharray:"2 4"}),e[6]=h):h=e[6];let y;e[7]!==v?(y=A.jsx(je,{dataKey:"t",tickFormatter:v,tickLine:!1,axisLine:!1,minTickGap:40,tick:V}),e[7]=v,e[8]=y):y=e[8];let g;e[9]===Symbol.for("react.memo_cache_sentinel")?(g=A.jsx(Oe,{width:36,tickLine:!1,axisLine:!1,tick:V,tickFormatter:pr}),e[9]=g):g=e[9];let b,I,E;e[10]===Symbol.for("react.memo_cache_sentinel")?(b=A.jsx(Se,{content:A.jsx(we,{labelFormatter:dr})}),I=A.jsx(ve,{dataKey:"ok",name:"count",fill:"var(--color-count)",stackId:"a"}),E=A.jsx(ve,{dataKey:"client_errors",fill:"var(--color-client_errors)",stackId:"a"}),e[10]=b,e[11]=I,e[12]=E):(b=e[10],I=e[11],E=e[12]);let k;e[13]===Symbol.for("react.memo_cache_sentinel")?(k=A.jsx(ve,{dataKey:"errors",fill:"var(--color-errors)",stackId:"a",radius:[2,2,0,0]}),e[13]=k):k=e[13];let j;e[14]!==r?(j=_e(r),e[14]=r,e[15]=j):j=e[15];let S;e[16]!==d.onMouseLeave||e[17]!==d.onMouseMove||e[18]!==y||e[19]!==j||e[20]!==m?(S=A.jsxs(Ut,{data:m,barCategoryGap:2,onMouseMove:x,onMouseLeave:P,children:[h,y,g,b,I,E,k,j]}),e[16]=d.onMouseLeave,e[17]=d.onMouseMove,e[18]=y,e[19]=j,e[20]=m,e[21]=S):S=e[21];let D;e[22]!==u||e[23]!==S||e[24]!==f?(D=A.jsx(de,{config:u,className:f,children:S}),e[22]=u,e[23]=S,e[24]=f,e[25]=D):D=e[25];let w;e[26]!==a?(w=A.jsx(Me,{data:a}),e[26]=a,e[27]=w):w=e[27];let O;return e[28]!==D||e[29]!==w?(O=A.jsxs("div",{children:[D,w]}),e[28]=D,e[29]=w,e[30]=O):O=e[30],O}function dr(t){return Y(String(t))}function pr(t){return Nt(Number(t))}function vr(t){return{...t,t:new Date(t.t).toISOString(),ok:Math.max(0,t.count-t.errors-t.client_errors)}}const fr={ok:{label:"ok",color:"var(--ok)"},errored:{label:"errored",color:"var(--warning)"},crashed:{label:"crashed",color:"var(--danger)"}};function wr(t){const e=R.c(27),{data:a,deploys:r,className:n}=t,i=n===void 0?"h-40":n,l=Ce();let o;e[0]!==a?(o=Ne(a),e[0]=a,e[1]=o):o=e[1];const s=o,u=`${i} w-full`;let d;e[2]!==a?(d=a.map(xr),e[2]=a,e[3]=d):d=e[3];const p=l.onMouseMove,v=l.onMouseLeave;let f;e[4]===Symbol.for("react.memo_cache_sentinel")?(f=A.jsx(ke,{vertical:!1,strokeDasharray:"2 4"}),e[4]=f):f=e[4];let m;e[5]!==s?(m=A.jsx(je,{dataKey:"t",tickFormatter:s,tickLine:!1,axisLine:!1,minTickGap:40,tick:V}),e[5]=s,e[6]=m):m=e[6];let x;e[7]===Symbol.for("react.memo_cache_sentinel")?(x=A.jsx(Oe,{width:36,tickLine:!1,axisLine:!1,tick:V,tickFormatter:yr}),e[7]=x):x=e[7];let P,h;e[8]===Symbol.for("react.memo_cache_sentinel")?(P=A.jsx(Se,{content:A.jsx(we,{labelFormatter:hr})}),h=["ok","errored","crashed"],e[8]=P,e[9]=h):(P=e[8],h=e[9]);let y;e[10]===Symbol.for("react.memo_cache_sentinel")?(y=h.map(mr),e[10]=y):y=e[10];let g;e[11]!==r?(g=_e(r),e[11]=r,e[12]=g):g=e[12];let b;e[13]!==l.onMouseLeave||e[14]!==l.onMouseMove||e[15]!==g||e[16]!==d||e[17]!==m?(b=A.jsxs(Lt,{data:d,onMouseMove:p,onMouseLeave:v,children:[f,m,x,P,y,g]}),e[13]=l.onMouseLeave,e[14]=l.onMouseMove,e[15]=g,e[16]=d,e[17]=m,e[18]=b):b=e[18];let I;e[19]!==b||e[20]!==u?(I=A.jsx(de,{config:fr,className:u,children:b}),e[19]=b,e[20]=u,e[21]=I):I=e[21];let E;e[22]!==a?(E=A.jsx(Me,{data:a}),e[22]=a,e[23]=E):E=e[23];let k;return e[24]!==I||e[25]!==E?(k=A.jsxs("div",{children:[I,E]}),e[24]=I,e[25]=E,e[26]=k):k=e[26],k}function mr(t){return A.jsx(Le,{dataKey:t,stackId:"sessions",stroke:`var(--color-${t})`,fill:`var(--color-${t})`,fillOpacity:.3,strokeWidth:1.25,isAnimationActive:!1},t)}function hr(t){return Y(String(t))}function yr(t){return Nt(Number(t))}function xr(t){return{...t,t:new Date(t.t).toISOString()}}function Dr(t){const e=R.c(58),{data:a,deploys:r,percentile:n,className:i}=t,l=n===void 0?"p95":n,o=i===void 0?"h-40":i,s=Ce();let u;e[0]!==a?(u=Ne(a),e[0]=a,e[1]=u):u=e[1];const d=u;let p,v,f,m,x,P,h,y,g,b,I,E,k,j,S,D;if(e[2]!==o||e[3]!==a||e[4]!==s.onMouseLeave||e[5]!==s.onMouseMove||e[6]!==l||e[7]!==d){const G=a.map(Ar);f=de,g=ae,b=`${o} w-full`,v=sr,j=G,S=s.onMouseMove,D=s.onMouseLeave,e[24]===Symbol.for("react.memo_cache_sentinel")?(m=A.jsx(ke,{vertical:!1,strokeDasharray:"2 4"}),e[24]=m):m=e[24],e[25]!==d?(x=A.jsx(je,{dataKey:"t",tickFormatter:d,tickLine:!1,axisLine:!1,minTickGap:40,tick:V}),e[25]=d,e[26]=x):x=e[26],e[27]===Symbol.for("react.memo_cache_sentinel")?(P=A.jsx(Oe,{width:44,tickLine:!1,axisLine:!1,tick:V,tickFormatter:Pr}),e[27]=P):P=e[27],e[28]===Symbol.for("react.memo_cache_sentinel")?(h=A.jsx(Se,{content:A.jsx(we,{labelFormatter:br,formatter:gr})}),e[28]=h):h=e[28],y=A.jsx(xe,{dataKey:l,stroke:`var(--color-${l})`,dot:Xe(G,l,`var(--color-${l})`),strokeWidth:1.75,isAnimationActive:!1}),p=xe,I="avg",E="var(--color-avg)",k=Xe(G,"avg","var(--color-avg)"),e[2]=o,e[3]=a,e[4]=s.onMouseLeave,e[5]=s.onMouseMove,e[6]=l,e[7]=d,e[8]=p,e[9]=v,e[10]=f,e[11]=m,e[12]=x,e[13]=P,e[14]=h,e[15]=y,e[16]=g,e[17]=b,e[18]=I,e[19]=E,e[20]=k,e[21]=j,e[22]=S,e[23]=D}else p=e[8],v=e[9],f=e[10],m=e[11],x=e[12],P=e[13],h=e[14],y=e[15],g=e[16],b=e[17],I=e[18],E=e[19],k=e[20],j=e[21],S=e[22],D=e[23];let w;e[29]!==p||e[30]!==I||e[31]!==E||e[32]!==k?(w=A.jsx(p,{dataKey:I,stroke:E,dot:k,strokeWidth:1.25,strokeOpacity:.8,isAnimationActive:!1}),e[29]=p,e[30]=I,e[31]=E,e[32]=k,e[33]=w):w=e[33];let O;e[34]!==r?(O=_e(r),e[34]=r,e[35]=O):O=e[35];let L;e[36]!==v||e[37]!==m||e[38]!==x||e[39]!==P||e[40]!==h||e[41]!==y||e[42]!==w||e[43]!==O||e[44]!==j||e[45]!==S||e[46]!==D?(L=A.jsxs(v,{data:j,onMouseMove:S,onMouseLeave:D,children:[m,x,P,h,y,w,O]}),e[36]=v,e[37]=m,e[38]=x,e[39]=P,e[40]=h,e[41]=y,e[42]=w,e[43]=O,e[44]=j,e[45]=S,e[46]=D,e[47]=L):L=e[47];let _;e[48]!==f||e[49]!==g||e[50]!==b||e[51]!==L?(_=A.jsx(f,{config:g,className:b,children:L}),e[48]=f,e[49]=g,e[50]=b,e[51]=L,e[52]=_):_=e[52];let N;e[53]!==a?(N=A.jsx(Me,{data:a}),e[53]=a,e[54]=N):N=e[54];let z;return e[55]!==_||e[56]!==N?(z=A.jsxs("div",{children:[_,N]}),e[55]=_,e[56]=N,e[57]=z):z=e[57],z}function gr(t,e){return[t==null?"—":ft(Number(t)),String(e)]}function br(t){return Y(String(t))}function Pr(t){return ft(Number(t),0)}function Ar(t){return{...t,t:new Date(t.t).toISOString()}}function Lr(t){const e=R.c(22),{data:a,className:r,hoverKey:n}=t,i=r===void 0?"h-10 w-32":r,{hoveredKey:l,setHoveredKey:o}=Ye(),s=n!=null&&l===n;let u;e[0]!==a?(u=a.map(Ir),e[0]=a,e[1]=u):u=e[1];let d;e[2]===Symbol.for("react.memo_cache_sentinel")?(d={top:1,right:1,bottom:1,left:1},e[2]=d):d=e[2];let p;e[3]!==n||e[4]!==o?(p=n?()=>o(n):void 0,e[3]=n,e[4]=o,e[5]=p):p=e[5];let v;e[6]!==n||e[7]!==o?(v=n?()=>o(null):void 0,e[6]=n,e[7]=o,e[8]=v):v=e[8];const f=s?"var(--primary)":"var(--muted-foreground)",m=s?"var(--primary)":"var(--muted-foreground)",x=s?.35:.15,P=s?2:1.25;let h;e[9]!==f||e[10]!==m||e[11]!==x||e[12]!==P?(h=A.jsx(Le,{dataKey:"v",stroke:f,fill:m,fillOpacity:x,strokeWidth:P,isAnimationActive:!1}),e[9]=f,e[10]=m,e[11]=x,e[12]=P,e[13]=h):h=e[13];let y;e[14]!==h||e[15]!==u||e[16]!==p||e[17]!==v?(y=A.jsx(Lt,{data:u,margin:d,onMouseEnter:p,onMouseLeave:v,children:h}),e[14]=h,e[15]=u,e[16]=p,e[17]=v,e[18]=y):y=e[18];let g;return e[19]!==i||e[20]!==y?(g=A.jsx(de,{config:ae,className:i,children:y}),e[19]=i,e[20]=y,e[21]=g):g=e[21],g}function Ir(t){return{v:t}}function Nt(t){return t>=1e6?`${(t/1e6).toFixed(1)}M`:t>=1e3?`${(t/1e3).toFixed(t>=1e4?0:1)}k`:String(t)}export{Le as A,Dr as L,Lr as S,Sr as T,Lt as a,wr as b};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as B,u as U,R as W,j as t,L as K,k as F,i as G}from"./inertia-DfNRARuA.js";import{C as J}from"./chart-panel-BPaYRXJB.js";import{D as z}from"./data-table-CQ_YRWQs.js";import{b as Q,E as A,ab as V,O as X}from"./app-layout-by7G3sa1.js";import{P as Y,E as Z}from"./env-layout-CdMWbUkm.js";import{b as ee}from"./series-chart-BaiDG795.js";import{I as se}from"./status-badge-CmbRKlY7.js";import{C as M,a as T,b as q,c as H}from"./card-C-PPSA0g.js";import{w as te,c as P,m as re,a as ie}from"./format-B9SDkrWj.js";import{ReleaseHealthStrip as le}from"./release-health-BV5OaOWd.js";import"./chart-hover-DdK4E-2h.js";import"./use-live-CLZZj245.js";import"./segmented-DB4zh-Am.js";import"./chart-Cov79YC5.js";import"./stat-DT2hhsqS.js";import"./arrow-up-DCZ7emux.js";function L(s){const e=B.c(6),{rows:a,empty:l}=s;let r;e[0]!==l?(r=t.jsx(A,{icon:X,...l}),e[0]=l,e[1]=r):r=e[1];let i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=[{key:"k",header:"Issue",cell:ne},{key:"t",header:"Title",cell:oe},{key:"s",header:"",cell:ae}],e[2]=i):i=e[2];let o;return e[3]!==a||e[4]!==r?(o=t.jsx(z,{rows:a,rowKey:ce,empty:r,columns:i}),e[3]=a,e[4]=r,e[5]=o):o=e[5],o}function ae(s){return t.jsx(se,{status:s.status})}function oe(s){return t.jsx("span",{className:"line-clamp-1 text-xs",children:s.title})}function ne(s){return t.jsx(K,{className:"font-mono text-xs hover:underline",href:G(s.id),children:s.key})}function ce(s){return s.id}function Te(s){const e=B.c(58),{environment:a,window:l}=U().props,r=a.application_id,i=a.id,o=s.release.ref;let n;e[0]!==r||e[1]!==i||e[2]!==l?(n=W(r,i,{window:l}),e[0]=r,e[1]=i,e[2]=l,e[3]=n):n=e[3];let c;e[4]!==n?(c={title:"Releases",href:n},e[4]=n,e[5]=c):c=e[5];let m;e[6]!==s.release.ref?(m={title:s.release.ref,href:"#"},e[6]=s.release.ref,e[7]=m):m=e[7];let d;e[8]!==c||e[9]!==m?(d=[c,m],e[8]=c,e[9]=m,e[10]=d):d=e[10];let u;e[11]!==s.release.deploy?(u=t.jsx("span",{className:"font-mono",children:s.release.deploy}),e[11]=s.release.deploy,e[12]=u):u=e[12];let g;e[13]!==s.release.deployed_at?(g=s.release.deployed_at?te(s.release.deployed_at):"never deployed",e[13]=s.release.deployed_at,e[14]=g):g=e[14];const O=`${g}${s.release.name?` · ${s.release.name}`:""}${s.release.previous_ref?` · after ${s.release.previous_ref}`:""}`;let f;e[15]!==r||e[16]!==i||e[17]!==s.release.deploy_id?(f=s.release.deploy_id&&t.jsx(Q,{asChild:!0,variant:"outline",size:"sm",children:t.jsx(K,{href:F(r,i,s.release.deploy_id),children:"Deploy"})}),e[15]=r,e[16]=i,e[17]=s.release.deploy_id,e[18]=f):f=e[18];let h;e[19]!==u||e[20]!==O||e[21]!==f?(h=t.jsx(Y,{withWindow:!1,title:u,description:O,actions:f}),e[19]=u,e[20]=O,e[21]=f,e[22]=h):h=e[22];const D=s.release.previous_ref?`vs ${s.release.previous_ref}`:void 0;let y;e[23]!==s.previous_summary||e[24]!==s.summary||e[25]!==D?(y=t.jsx(le,{health:s.summary,previous:s.previous_summary,deltaCaption:D}),e[23]=s.previous_summary,e[24]=s.summary,e[25]=D,e[26]=y):y=e[26];let x;e[27]!==s.summary.sessions?(x=P(s.summary.sessions),e[27]=s.summary.sessions,e[28]=x):x=e[28];let _;e[29]!==s.series?(_=t.jsx(ee,{data:s.series}),e[29]=s.series,e[30]=_):_=e[30];let p;e[31]!==x||e[32]!==_?(p=t.jsx(J,{label:"Sessions by status",value:x,children:_}),e[31]=x,e[32]=_,e[33]=p):p=e[33];let S;e[34]===Symbol.for("react.memo_cache_sentinel")?(S=t.jsx(q,{children:t.jsx(H,{children:"Issues first seen in this release"})}),e[34]=S):S=e[34];let k;e[35]===Symbol.for("react.memo_cache_sentinel")?(k={title:"No new issues in this release",description:"Issues first seen while this release was live would show here."},e[35]=k):k=e[35];let j;e[36]!==s.new_issues?(j=t.jsxs(M,{children:[S,t.jsx(T,{children:t.jsx(L,{rows:s.new_issues,empty:k})})]}),e[36]=s.new_issues,e[37]=j):j=e[37];let N;e[38]===Symbol.for("react.memo_cache_sentinel")?(N=t.jsx(q,{children:t.jsx(H,{children:"Issues resolved in this release"})}),e[38]=N):N=e[38];let C;e[39]===Symbol.for("react.memo_cache_sentinel")?(C={title:"No issues marked resolved in this release",description:"Issues resolved and tagged with this deploy would show here."},e[39]=C):C=e[39];let v;e[40]!==s.resolved_issues?(v=t.jsxs(M,{children:[N,t.jsx(T,{children:t.jsx(L,{rows:s.resolved_issues,empty:C})})]}),e[40]=s.resolved_issues,e[41]=v):v=e[41];let w;e[42]!==j||e[43]!==v?(w=t.jsxs("div",{className:"grid gap-4 lg:grid-cols-2",children:[j,v]}),e[42]=j,e[43]=v,e[44]=w):w=e[44];let $;e[45]===Symbol.for("react.memo_cache_sentinel")?($=t.jsx("h2",{className:"text-sm font-semibold",children:"Sessions"}),e[45]=$):$=e[45];let E,I;e[46]===Symbol.for("react.memo_cache_sentinel")?(E=t.jsx(A,{icon:V,title:"No sessions reported for this release",description:"Sessions come from the browser client and the gem's request middleware; config.track_sessions turns both off."}),I=[{key:"id",header:"Session",cell:_e},{key:"source",hideOnMobile:!0,header:"Source",cell:xe},{key:"status",header:"Status",cell:ye},{key:"user",hideOnMobile:!0,header:"User",cell:he},{key:"duration",header:"Duration",align:"right",cell:fe},{key:"activity",hideOnMobile:!0,header:"Requests / visits",align:"right",cell:ue},{key:"errors",hideOnMobile:!0,header:"Errors",align:"right",cell:de},{key:"started",header:"Started",align:"right",cell:me}],e[46]=E,e[47]=I):(E=e[46],I=e[47]);let b;e[48]!==s.sessions?(b=t.jsx(z,{rows:s.sessions,rowKey:je,rowClassName:pe,empty:E,columns:I}),e[48]=s.sessions,e[49]=b):b=e[49];let R;return e[50]!==s.release.ref||e[51]!==y||e[52]!==p||e[53]!==w||e[54]!==b||e[55]!==d||e[56]!==h?(R=t.jsxs(Z,{title:o,crumbs:d,children:[h,y,p,w,$,b]}),e[50]=s.release.ref,e[51]=y,e[52]=p,e[53]=w,e[54]=b,e[55]=d,e[56]=h,e[57]=R):R=e[57],R}function me(s){return ie(s.started_at)}function de(s){return t.jsx("span",{className:s.errors?"text-destructive":"",children:P(s.errors)})}function ue(s){return`${P(s.requests)} / ${P(s.visits)}`}function fe(s){return re(s.duration)}function he(s){return t.jsx("span",{className:"font-mono text-xs",children:s.user_ref})}function ye(s){return t.jsx("span",{className:s.status==="crashed"?"text-destructive text-xs font-semibold":"text-xs",children:s.status})}function xe(s){return t.jsx("span",{className:"text-xs",children:s.source})}function _e(s){return t.jsx("span",{className:"font-mono text-xs",children:s.session_id})}function pe(s){return s.status==="crashed"?"bg-destructive/5":void 0}function je(s){return s.id}export{Te as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{x as Oe,c as be,r as Re,o as Pe,j as s,L as ke,J as qe,d as Ee,u as Le,K as Te,i as De}from"./inertia-DfNRARuA.js";import{C as Me}from"./chart-hover-DdK4E-2h.js";import{V as Ce,D as Ae}from"./chart-panel-BPaYRXJB.js";import{D as ve}from"./data-table-CQ_YRWQs.js";import{q as Ie,b as Ne,a4 as ze,E as Se,O as Ke,a5 as He}from"./app-layout-by7G3sa1.js";import{u as Be,C as Je}from"./use-clipboard-oTNeP4ax.js";import{b as ae,c as ce,a as ue,C as de}from"./card-C-PPSA0g.js";import{u as We,P as Ve,E as Fe}from"./env-layout-CdMWbUkm.js";import{R as Ge}from"./relative-time-Dsc_cCdX.js";import{S as Ze}from"./sparkline-cell-B47ipscB.js";import{S as J,a as Qe}from"./stat-DT2hhsqS.js";import{I as Ue}from"./status-badge-CmbRKlY7.js";import{c as W,p as ge,m as me,a as $e}from"./format-B9SDkrWj.js";import{crashFreeTone as Xe,rate as Ye}from"./release-health-BV5OaOWd.js";import"./series-chart-BaiDG795.js";import"./chart-Cov79YC5.js";import"./use-live-CLZZj245.js";import"./segmented-DB4zh-Am.js";import"./arrow-up-DCZ7emux.js";const et=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],tt=Oe("refresh-cw",et),st=1500;function ie(t){const e=be.c(17),{code:l,className:p}=t,[,j]=Be(),[x,g]=Re.useState(!1);let r;e[0]!==l||e[1]!==j?(r=()=>{j(l).then(m=>{m&&(g(!0),window.setTimeout(()=>g(!1),st))})},e[0]=l,e[1]=j,e[2]=r):r=e[2];const u=r;let o;e[3]!==p?(o=Pe("relative",p),e[3]=p,e[4]=o):o=e[4];let d;e[5]!==l?(d=s.jsx("pre",{className:"bg-muted overflow-x-auto rounded p-3 pr-10 font-mono text-xs",children:l}),e[5]=l,e[6]=d):d=e[6];const n=x?"Copied code":"Copy code";let i;e[7]!==x?(i=x?s.jsx(Ie,{className:"size-3.5 text-emerald-500"}):s.jsx(Je,{className:"size-3.5 opacity-60"}),e[7]=x,e[8]=i):i=e[8];let a;e[9]!==u||e[10]!==n||e[11]!==i?(a=s.jsx(Ne,{type:"button","aria-label":n,variant:"ghost",size:"icon",className:"absolute top-1.5 right-1.5 size-6",onClick:u,children:i}),e[9]=u,e[10]=n,e[11]=i,e[12]=a):a=e[12];let c;return e[13]!==o||e[14]!==d||e[15]!==a?(c=s.jsxs("div",{className:o,children:[d,a]}),e[13]=o,e[14]=d,e[15]=a,e[16]=c):c=e[16],c}function rt(t){const e=be.c(22),{tokenPrefix:l,newToken:p,className:j}=t,x=p??`${l}…`,g=ot;let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsx(ae,{children:s.jsx(ce,{children:"Set up this environment"})}),e[0]=r):r=e[0];let u;e[1]===Symbol.for("react.memo_cache_sentinel")?(u=s.jsxs("li",{children:["Add the gem",s.jsx(ie,{code:'gem "railwatch"',className:"mt-1.5"})]}),e[1]=u):u=e[1];let o;e[2]===Symbol.for("react.memo_cache_sentinel")?(o=s.jsxs("li",{children:["Run the generator",s.jsx(ie,{code:"bin/rails generate railwatch:install --cloud",className:"mt-1.5"})]}),e[2]=o):o=e[2];const d=`RAILWATCH_TOKEN=${x}`;let n;e[3]!==d?(n=s.jsx(ie,{code:d,className:"mt-1.5"}),e[3]=d,e[4]=n):n=e[4];let i;e[5]!==p?(i=!p&&s.jsx("p",{className:"text-muted-foreground mt-1 text-xs",children:"Showing the token prefix only. The full token is shown once, right after an environment is created."}),e[5]=p,e[6]=i):i=e[6];let a;e[7]!==n||e[8]!==i?(a=s.jsxs("li",{children:["Set the token in the app's environment",n,i]}),e[7]=n,e[8]=i,e[9]=a):a=e[9];let c;e[10]===Symbol.for("react.memo_cache_sentinel")?(c=s.jsxs("li",{children:["Check every piece is wired up",s.jsx(ie,{code:"bin/rails railwatch:doctor",className:"mt-1.5"}),s.jsx("p",{className:"text-muted-foreground mt-1 text-xs",children:"Prints a ✓/✗ line per check — token, ingest, middleware, routes, deploy marker, browser client, test matchers — and exits non-zero if anything required is missing."})]}),e[10]=c):c=e[10];let m,f;e[11]===Symbol.for("react.memo_cache_sentinel")?(f=s.jsxs("li",{children:["Connect your AI assistant",s.jsxs("p",{className:"text-muted-foreground mt-1 text-xs",children:["Generate a personal token on your"," ",s.jsx(ke,{href:qe(),className:"underline underline-offset-4",children:"profile page"})," ","for paste-ready Claude Code, Cursor, VS Code, and Zed config."]})]}),m=s.jsx("li",{children:"Deploy"}),e[11]=m,e[12]=f):(m=e[11],f=e[12]);let h;e[13]!==a?(h=s.jsxs("ol",{className:"list-inside list-decimal space-y-3 text-sm",children:[u,o,a,c,f,m]}),e[13]=a,e[14]=h):h=e[14];let y;e[15]===Symbol.for("react.memo_cache_sentinel")?(y=s.jsxs("div",{className:"text-muted-foreground flex items-center gap-2 text-xs",children:[s.jsx(ze,{lastSeenAt:null}),"Waiting for first event…"]}),e[15]=y):y=e[15];let v;e[16]===Symbol.for("react.memo_cache_sentinel")?(v=s.jsxs("div",{className:"flex items-center justify-between border-t pt-3",children:[y,s.jsxs(Ne,{type:"button",variant:"outline",size:"sm",onClick:g,children:[s.jsx(tt,{className:"size-3.5"}),"Check now"]})]}),e[16]=v):v=e[16];let _;e[17]!==h?(_=s.jsxs(ue,{className:"space-y-4",children:[h,v]}),e[17]=h,e[18]=_):_=e[18];let b;return e[19]!==j||e[20]!==_?(b=s.jsxs(de,{className:j,children:[r,_]}),e[19]=j,e[20]=_,e[21]=b):b=e[21],b}function ot(){return Ee.reload()}function Ht(t){const e=be.c(109),{environment:l}=Le().props,{window:p,label:j}=We(),x=l.application_id,g=l.id,r=t.totals.requests.current,u=t.totals.requests.previous,o=t.totals.jobs.current,d=t.totals.jobs.previous,n=p==="custom"?"vs previous period":`vs previous ${j}`;let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=[{title:"Overview",href:"#"}],e[0]=i):i=e[0];const a=`${l.application_name} · ${l.name}`;let c;e[1]!==l.last_seen_at?(c=l.last_seen_at?s.jsxs(s.Fragment,{children:["Last event ",s.jsx(Ge,{iso:l.last_seen_at})]}):"No events received yet.",e[1]=l.last_seen_at,e[2]=c):c=e[2];let m;e[3]!==a||e[4]!==c?(m=s.jsx(Ve,{title:a,description:c}),e[3]=a,e[4]=c,e[5]=m):m=e[5];let f;e[6]!==l.last_seen_at||e[7]!==l.token_prefix?(f=!l.last_seen_at&&s.jsx(rt,{tokenPrefix:l.token_prefix}),e[6]=l.last_seen_at,e[7]=l.token_prefix,e[8]=f):f=e[8];let h;e[9]!==r.count?(h={value:r.count,format:W},e[9]=r.count,e[10]=h):h=e[10];let y;e[11]!==r.count||e[12]!==r.errors?(y=ge(r.errors,r.count),e[11]=r.count,e[12]=r.errors,e[13]=y):y=e[13];let v;e[14]!==r.client_errors||e[15]!==r.count?(v=ge(r.client_errors,r.count),e[14]=r.client_errors,e[15]=r.count,e[16]=v):v=e[16];const _=`${y} 5xx · ${v} 4xx`,b=r.errors>0?"warning":void 0;let k;e[17]!==r.count||e[18]!==u.count?(k={current:r.count,previous:u.count,goodDirection:"up"},e[17]=r.count,e[18]=u.count,e[19]=k):k=e[19];let w;e[20]!==n||e[21]!==k||e[22]!==h||e[23]!==_||e[24]!==b?(w=s.jsx(J,{label:"Requests",roll:h,hint:_,tone:b,delta:k,deltaCaption:n}),e[20]=n,e[21]=k,e[22]=h,e[23]=_,e[24]=b,e[25]=w):w=e[25];const he=r.p95/1e3;let C;e[26]!==he?(C=me(he),e[26]=he,e[27]=C):C=e[27];const fe=r.avg/1e3;let V;e[28]!==fe?(V=me(fe),e[28]=fe,e[29]=V):V=e[29];const pe=r.max/1e3;let F;e[30]!==pe?(F=me(pe),e[30]=pe,e[31]=F):F=e[31];const xe=`avg ${V} · max ${F}`;let S;e[32]!==r.p95||e[33]!==u.p95?(S={current:r.p95,previous:u.p95,goodDirection:"down"},e[32]=r.p95,e[33]=u.p95,e[34]=S):S=e[34];let N;e[35]!==n||e[36]!==C||e[37]!==xe||e[38]!==S?(N=s.jsx(J,{label:"Request p95",value:C,hint:xe,delta:S,deltaCaption:n}),e[35]=n,e[36]=C,e[37]=xe,e[38]=S,e[39]=N):N=e[39];let $;e[40]!==o.count?($={value:o.count,format:W},e[40]=o.count,e[41]=$):$=e[41];let G;e[42]!==o.count||e[43]!==o.errors?(G=ge(o.errors,o.count),e[42]=o.count,e[43]=o.errors,e[44]=G):G=e[44];const _e=`${G} failed`,je=o.errors>0?"warning":void 0;let O;e[45]!==o.count||e[46]!==d.count?(O={current:o.count,previous:d.count,goodDirection:"up"},e[45]=o.count,e[46]=d.count,e[47]=O):O=e[47];let R;e[48]!==n||e[49]!==$||e[50]!==_e||e[51]!==je||e[52]!==O?(R=s.jsx(J,{label:"Job attempts",roll:$,hint:_e,tone:je,delta:O,deltaCaption:n}),e[48]=n,e[49]=$,e[50]=_e,e[51]=je,e[52]=O,e[53]=R):R=e[53];const ye=t.issues.length?"destructive":"success";let P;e[54]!==t.issues.length||e[55]!==ye?(P=s.jsx(J,{label:"Open issues",value:t.issues.length,tone:ye}),e[54]=t.issues.length,e[55]=ye,e[56]=P):P=e[56];let q;e[57]!==t.release_health?(q=t.release_health&&s.jsx(J,{label:"Crash-free sessions",value:Ye(t.release_health.crash_free_sessions),tone:Xe(t.release_health.crash_free_sessions),hint:`${t.release_health.ref} · ${W(t.release_health.sessions)} sessions`}),e[57]=t.release_health,e[58]=q):q=e[58];let E;e[59]!==w||e[60]!==N||e[61]!==R||e[62]!==P||e[63]!==q?(E=s.jsxs(Qe,{children:[w,N,R,P,q]}),e[59]=w,e[60]=N,e[61]=R,e[62]=P,e[63]=q,e[64]=E):E=e[64];let L;e[65]!==t.deploys||e[66]!==t.request_series?(L=s.jsxs("div",{className:"grid gap-4 lg:grid-cols-2",children:[s.jsx(Ce,{label:"Requests",data:t.request_series,deploys:t.deploys}),s.jsx(Ae,{label:"Request latency",data:t.request_series,deploys:t.deploys})]}),e[65]=t.deploys,e[66]=t.request_series,e[67]=L):L=e[67];let Z;e[68]===Symbol.for("react.memo_cache_sentinel")?(Z=s.jsx(ae,{children:s.jsx(ce,{children:"Slowest routes (p95)"})}),e[68]=Z):Z=e[68];let T;e[69]!==x||e[70]!==g?(T={key:"name",header:"Route",grow:!0,cell:we=>s.jsx(ke,{className:"font-mono text-xs hover:underline",href:Te(x,g,we.group_hash),children:we.name})},e[69]=x,e[70]=g,e[71]=T):T=e[71];let Q,U,X,Y;e[72]===Symbol.for("react.memo_cache_sentinel")?(Q={key:"trend",hideOnMobile:!0,header:"Trend",cell:vt},U={key:"count",header:"Count",align:"right",cell:yt},X={key:"p95",header:"p95",align:"right",cell:jt},Y={key:"errors",hideOnMobile:!0,header:"5xx",align:"right",cell:_t},e[72]=Q,e[73]=U,e[74]=X,e[75]=Y):(Q=e[72],U=e[73],X=e[74],Y=e[75]);let D;e[76]!==T?(D=[T,Q,U,X,Y],e[76]=T,e[77]=D):D=e[77];let M;e[78]!==t.slow_routes||e[79]!==D?(M=s.jsxs(de,{children:[Z,s.jsx(ue,{children:s.jsx(ve,{rows:t.slow_routes,rowKey:bt,hoverKey:gt,columns:D})})]}),e[78]=t.slow_routes,e[79]=D,e[80]=M):M=e[80];let ee;e[81]===Symbol.for("react.memo_cache_sentinel")?(ee=s.jsx(ae,{children:s.jsx(ce,{children:"Open issues"})}),e[81]=ee):ee=e[81];let te,se;e[82]===Symbol.for("react.memo_cache_sentinel")?(te=s.jsx(Se,{icon:Ke,title:"No open issues",description:"Issues are grouped from repeated request, job, and exception errors."}),se=[{key:"key",header:"Issue",cell:pt},{key:"title",header:"Title",cell:ft},{key:"status",hideOnMobile:!0,header:"",cell:ht},{key:"n",hideOnMobile:!0,header:"Count",align:"right",cell:mt},{key:"last",header:"Last",align:"right",cell:dt}],e[82]=te,e[83]=se):(te=e[82],se=e[83]);let A;e[84]!==t.issues?(A=s.jsxs(de,{children:[ee,s.jsx(ue,{children:s.jsx(ve,{rows:t.issues,rowKey:xt,empty:te,columns:se})})]}),e[84]=t.issues,e[85]=A):A=e[85];let I;e[86]!==M||e[87]!==A?(I=s.jsxs("div",{className:"grid gap-4 lg:grid-cols-2",children:[M,A]}),e[86]=M,e[87]=A,e[88]=I):I=e[88];let z;e[89]!==t.deploys||e[90]!==t.job_series?(z=s.jsx(Ce,{label:"Jobs",legend:"job",seriesLabel:"Attempts",data:t.job_series,deploys:t.deploys}),e[89]=t.deploys,e[90]=t.job_series,e[91]=z):z=e[91];let re;e[92]===Symbol.for("react.memo_cache_sentinel")?(re=s.jsx(ae,{children:s.jsx(ce,{children:"Servers"})}),e[92]=re):re=e[92];let K;e[93]!==t.processes?(K=Object.entries(t.processes),e[93]=t.processes,e[94]=K):K=e[94];let oe,le;e[95]===Symbol.for("react.memo_cache_sentinel")?(oe=s.jsx(Se,{icon:He,title:"No process has reported yet",description:"Server processes report here once they boot with the gem installed."}),le=[{key:"server",header:"Server",cell:ct},{key:"role",header:"Role",cell:at},{key:"deploy",header:"Deploy",cell:it},{key:"ver",hideOnMobile:!0,header:"Ruby / Rails",cell:nt},{key:"boot",hideOnMobile:!0,header:"Booted",align:"right",cell:lt}],e[95]=oe,e[96]=le):(oe=e[95],le=e[96]);let H;e[97]!==K?(H=s.jsxs(de,{children:[re,s.jsx(ue,{children:s.jsx(ve,{rows:K,rowKey:ut,empty:oe,columns:le})})]}),e[97]=K,e[98]=H):H=e[98];let B;e[99]!==z||e[100]!==H?(B=s.jsxs("div",{className:"grid gap-4 lg:grid-cols-2",children:[z,H]}),e[99]=z,e[100]=H,e[101]=B):B=e[101];let ne;return e[102]!==m||e[103]!==E||e[104]!==L||e[105]!==f||e[106]!==I||e[107]!==B?(ne=s.jsx(Fe,{title:"Overview",crumbs:i,children:s.jsxs(Me,{children:[m,f,E,L,I,B]})}),e[102]=m,e[103]=E,e[104]=L,e[105]=f,e[106]=I,e[107]=B,e[108]=ne):ne=e[108],ne}function lt(t){const[,e]=t;return $e(e.booted_at)}function nt(t){const[,e]=t;return`${e.ruby_version} / ${e.rails_version}`}function it(t){const[,e]=t;return s.jsx("span",{className:"font-mono text-xs",children:e.deploy?.slice(0,10)})}function at(t){const[,e]=t;return e.role}function ct(t){const[e]=t;return s.jsx("span",{className:"font-mono text-xs",children:e})}function ut(t){const[e]=t;return e}function dt(t){return $e(t.last_seen_at)}function mt(t){return W(t.occurrences)}function ht(t){return s.jsx(Ue,{status:t.status})}function ft(t){return s.jsx("span",{className:"line-clamp-1 text-xs",children:t.title})}function pt(t){return s.jsx(ke,{className:"font-mono text-xs hover:underline",href:De(t.id),children:t.key})}function xt(t){return t.id}function _t(t){return t.errors}function jt(t){return me(t.p95)}function yt(t){return W(t.count)}function vt(t){return s.jsx(Ze,{data:t.sparkline,hoverKey:t.group_hash})}function gt(t){return t.group_hash}function bt(t){return t.group_hash}export{Ht as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{x as Yt,c as Zt,o as vs,j as s,r as Q,v as bs,i as ft,L as zt,q as ts,y as Ns,d as Wt,z as ks,H as ws,F as Ss,s as $s}from"./inertia-DfNRARuA.js";import{D as rt}from"./data-table-CQ_YRWQs.js";import{S as Cs,E as Ls,B as Is,a as As,C as Ms}from"./frames-C5t-x4f0.js";import{J as ls}from"./json-viewer-DMsF5glp.js";import{R as as}from"./relative-time-Dsc_cCdX.js";import{S as ut,a as Ts}from"./stat-DT2hhsqS.js";import{I as cs}from"./status-badge-CmbRKlY7.js";import{B as xt,b as O,v as zs,w as Rs,x as Ds,y as Fs,t as Es,z as Bs,q as Ps,F as Os,H as Ks,J as qs,K as Gs}from"./app-layout-by7G3sa1.js";import{C as c,b as d,c as m,a as o}from"./card-C-PPSA0g.js";import{C as os,X as ds,Y as ms,a as us,b as fs,B as xs,c as hs,d as ps,R as Hs}from"./chart-Cov79YC5.js";import{S as ss,a as ns,b as is,c as rs,d as es}from"./select-DBKjFlOX.js";import{u as Vs}from"./use-clipboard-oTNeP4ax.js";import{e as Xt}from"./execution-path-7MYt-Qbn.js";import{c as Rt,a as Tt,w as at,b as Us}from"./format-B9SDkrWj.js";import"./chart-hover-DdK4E-2h.js";import"./source-link-B2183i2-.js";import"./use-live-CLZZj245.js";import"./arrow-up-DCZ7emux.js";const Js=[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M6 21V9a9 9 0 0 0 9 9",key:"7kw0sc"}]],Qs=Yt("git-merge",Js);const Ws=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],Xs=Yt("globe",Ws);const Ys=[["path",{d:"M16 3h5v5",key:"1806ms"}],["path",{d:"M8 3H3v5",key:"15dfkv"}],["path",{d:"M12 22v-8.3a4 4 0 0 0-1.172-2.872L3 3",key:"1qrqzj"}],["path",{d:"m15 9 6-6",key:"ko1vev"}]],Zs=Yt("split",Ys);function en(t){const e=Zt.c(8);let n,i;e[0]!==t?({className:n,...i}=t,e[0]=t,e[1]=n,e[2]=i):(n=e[1],i=e[2]);let l;e[3]!==n?(l=vs("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:bg-input/30 dark:aria-invalid:ring-destructive/40 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",n),e[3]=n,e[4]=l):l=e[4];let u;return e[5]!==i||e[6]!==l?(u=s.jsx("textarea",{"data-slot":"textarea",className:l,...i}),e[5]=i,e[6]=l,e[7]=u):u=e[7],u}function tn(t,e){return t.filter(n=>n.at.slice(0,10)===e).map(n=>n.ref)}const sn={count:{label:"Occurrences",color:"var(--chart-5)"}},nn={value:{label:"Measured value",color:"var(--chart-2)"}},rn={report:"Fingerprint passed to Railwatch.report.",error:"Fingerprint from the error's own #railwatch_fingerprint.",resolver:"Fingerprint from the app's Railwatch.fingerprint block.",default:"Railwatch's default: exception class, top in-app frame, and the message with its variable data removed."};function ln(t,e){return e?e.kind==="query"?e.group_hash?$s(t.application.id,t.environment.id,e.group_hash):null:Xt({applicationId:t.application.id,environmentId:t.environment.id,source:e.kind,executionId:e.execution_id}):null}function an(t,e){const n=t.data;switch(t.kind){case"created":return"opened this issue";case"status":return`changed status ${n.from} → ${n.to}`;case"priority":return`changed priority ${n.from} → ${n.to}`;case"assignee":{const i=n.from_id?e.get(Number(n.from_id))??"someone":"unassigned",l=n.to_id?e.get(Number(n.to_id))??"someone":"unassigned";return`reassigned ${i} → ${l}`}case"merge":return`merged this issue into ${n.target_key}`;case"absorbed":return`merged ${n.source_key} into this issue (${n.occurrences} events)`;case"unmerge":return"unmerged this issue";case"split":{const i=Array.isArray(t.data.into)?t.data.into:[];return n.from_key?`split ${n.occurrences} events out of ${n.from_key}`:`split ${n.occurrences} events by message into ${i.join(", ")}`}case"regressed":return"regressed — a new occurrence reopened this issue";case"alert":return`sent a "${n.event}" alert via ${n.integration}`;case"agent":return`acted via ${String(n.agent??"an AI agent")} (MCP)`;case"comment":return"commented";default:return String(t.kind)}}function cn(t){const e=t.issue,n=[];if(n.push(`# ${e.key}: ${e.title}`),e.culprit&&n.push(`Culprit: ${e.culprit}`),n.push(`Environment: ${e.application.name} / ${e.environment.name}`),t.detection?.available&&(n.push(""),n.push("## Detector measurement"),n.push(`${t.detection.metric} for ${t.detection.target}: ${lt(t.detection.measurement?.value,t.detection.unit)}`),t.detection.measurement?.limit!=null&&n.push(`Limit: ${lt(t.detection.measurement.limit,t.detection.unit)}`),t.detection.baseline?.mean!=null&&n.push(`Baseline: ${lt(t.detection.baseline.mean,t.detection.unit)} (${t.detection.baseline.sigmas}σ)`),n.push(`Underlying telemetry: ${t.detection.telemetry_type} ${t.detection.telemetry_group_hash}`)),t.latest){n.push(""),n.push(`## ${t.latest.class_name}`),n.push(t.latest.message);const i=t.latest.frames.filter(l=>l.in_app);if(i.length>0){n.push(""),n.push("### Frames");for(const l of i)if(n.push(`${l.file}:${l.line} in \`${l.function}\``),l.code)for(const[u,T]of Object.entries(l.code))n.push(`${u}: ${T}`)}t.latest.context&&(n.push(""),n.push("### Context"),n.push(String(t.latest.context)))}return n.join(`
|
|
2
|
-
`)}function lt(t,e){return t==null?"–":e==="milliseconds"?`${t.toLocaleString()} ms`:e==="percent"?`${t.toLocaleString()}%`:e==="events_per_minute"?`${t.toLocaleString()} / min`:t.toLocaleString()}function on(t){const e=Zt.c(80),{issue:n,detail:i}=t;if(!i.available){let v;e[0]===Symbol.for("react.memo_cache_sentinel")?(v=s.jsx(d,{children:s.jsx(m,{children:"Detector sample"})}),e[0]=v):v=e[0];let f;return e[1]!==n.sample?(f=s.jsxs(c,{children:[v,s.jsx(o,{children:s.jsx(ls,{data:n.sample})})]}),e[1]=n.sample,e[2]=f):f=e[2],f}let l;e[3]!==i.representative_records?(l=i.representative_records??[],e[3]=i.representative_records,e[4]=l):l=e[4];const u=l;let T;e[5]!==i.deploy_comparison?(T=i.deploy_comparison??[],e[5]=i.deploy_comparison,e[6]=T):T=e[6];const U=T;let N;e[7]!==i.trend?(N=i.trend??[],e[7]=i.trend,e[8]=N):N=e[8];const K=N,a=i.metric==="missed",W=a?"Missed scheduled task":i.kind==="anomaly"?"Anomaly measurement":"Threshold breach";let k;e[9]!==W?(k=s.jsx(d,{children:s.jsx(m,{children:W})}),e[9]=W,e[10]=k):k=e[10];let B;e[11]===Symbol.for("react.memo_cache_sentinel")?(B=s.jsx("p",{className:"text-muted-foreground text-xs",children:"Target"}),e[11]=B):B=e[11];let z;e[12]!==i.target?(z=s.jsxs("div",{children:[B,s.jsx("p",{className:"font-mono text-sm",children:i.target})]}),e[12]=i.target,e[13]=z):z=e[13];const ct=a?"Schedule":"Metric";let P;e[14]!==ct?(P=s.jsx("p",{className:"text-muted-foreground text-xs",children:ct}),e[14]=ct,e[15]=P):P=e[15];const ot=a?i.rule?.schedule:i.metric;let R;e[16]!==ot?(R=s.jsx("p",{className:"text-sm",children:ot}),e[16]=ot,e[17]=R):R=e[17];let q;e[18]!==R||e[19]!==P?(q=s.jsxs("div",{children:[P,R]}),e[18]=R,e[19]=P,e[20]=q):q=e[20];const dt=a?"Expected":"Measured";let w;e[21]!==dt?(w=s.jsx("p",{className:"text-muted-foreground text-xs",children:dt}),e[21]=dt,e[22]=w):w=e[22];let D;e[23]!==i.measurement?.value||e[24]!==i.rule||e[25]!==i.unit||e[26]!==a?(D=a&&i.rule?.expected?at(i.rule.expected):lt(i.measurement?.value,i.unit),e[23]=i.measurement?.value,e[24]=i.rule,e[25]=i.unit,e[26]=a,e[27]=D):D=e[27];let S;e[28]!==D?(S=s.jsx("p",{className:"text-sm font-semibold",children:D}),e[28]=D,e[29]=S):S=e[29];let $;e[30]!==w||e[31]!==S?($=s.jsxs("div",{children:[w,S]}),e[30]=w,e[31]=S,e[32]=$):$=e[32];const G=a?"Last run":i.kind==="anomaly"?"Baseline":"Limit";let C;e[33]!==G?(C=s.jsx("p",{className:"text-muted-foreground text-xs",children:G}),e[33]=G,e[34]=C):C=e[34];let F;e[35]!==i.baseline?.mean||e[36]!==i.kind||e[37]!==i.measurement?.limit||e[38]!==i.rule||e[39]!==i.unit||e[40]!==a?(F=a&&i.rule?.last_run?at(i.rule.last_run):i.kind==="anomaly"?lt(i.baseline?.mean,i.unit):lt(i.measurement?.limit,i.unit),e[35]=i.baseline?.mean,e[36]=i.kind,e[37]=i.measurement?.limit,e[38]=i.rule,e[39]=i.unit,e[40]=a,e[41]=F):F=e[41];let L;e[42]!==F?(L=s.jsx("p",{className:"text-sm",children:F}),e[42]=F,e[43]=L):L=e[43];let H;e[44]!==C||e[45]!==L?(H=s.jsxs("div",{children:[C,L]}),e[44]=C,e[45]=L,e[46]=H):H=e[46];let x;e[47]!==q||e[48]!==$||e[49]!==H||e[50]!==z?(x=s.jsxs("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-4",children:[z,q,$,H]}),e[47]=q,e[48]=$,e[49]=H,e[50]=z,e[51]=x):x=e[51];const E=i.window?.minutes,J=i.baseline?.sigmas!=null&&` · ${i.baseline.sigmas}σ above a ${i.baseline.days}-day baseline`;let h;e[52]!==i.telemetry_group_hash||e[53]!==i.telemetry_type||e[54]!==E||e[55]!==J?(h=s.jsxs("p",{className:"text-muted-foreground text-xs",children:[i.telemetry_type," group ",i.telemetry_group_hash," ·"," ",E," minute window",J]}),e[52]=i.telemetry_group_hash,e[53]=i.telemetry_type,e[54]=E,e[55]=J,e[56]=h):h=e[56];let V;e[57]!==x||e[58]!==h?(V=s.jsxs(o,{className:"space-y-4",children:[x,h]}),e[57]=x,e[58]=h,e[59]=V):V=e[59];let p;e[60]!==V||e[61]!==k?(p=s.jsxs(c,{children:[k,V]}),e[60]=V,e[61]=k,e[62]=p):p=e[62];let g;e[63]!==i.metric||e[64]!==K?(g=K.length>0&&s.jsxs(c,{children:[s.jsx(d,{children:s.jsxs(m,{children:[i.metric," trend (30d)"]})}),s.jsx(o,{children:s.jsx(hs,{config:nn,className:"h-48 w-full",children:s.jsxs(ps,{data:K,children:[s.jsx(os,{vertical:!1}),s.jsx(ds,{dataKey:"day",tickLine:!1,axisLine:!1,minTickGap:24,tickFormatter:_n}),s.jsx(ms,{width:45,tickLine:!1,axisLine:!1}),s.jsx(us,{content:s.jsx(fs,{})}),s.jsx(xs,{dataKey:"value",fill:"var(--color-value)",radius:2})]})})})]}),e[63]=i.metric,e[64]=K,e[65]=g):g=e[65];let I;e[66]===Symbol.for("react.memo_cache_sentinel")?(I=s.jsx(d,{children:s.jsx(m,{children:"Representative telemetry"})}),e[66]=I):I=e[66];let j;e[67]!==n?(j=v=>{const f=ln(n,v.drilldown);f&&Wt.visit(f)},e[67]=n,e[68]=j):j=e[68];let A;e[69]===Symbol.for("react.memo_cache_sentinel")?(A=[{key:"when",header:"When",cell:jn},{key:"record",header:"Record",className:"max-w-0",cell:gn},{key:"duration",header:"Duration",align:"right",cell:pn},{key:"deploy",header:"Deploy",cell:hn}],e[69]=A):A=e[69];let y;e[70]!==u||e[71]!==j?(y=s.jsxs(c,{children:[I,s.jsx(o,{children:s.jsx(rt,{rows:u,rowKey:yn,empty:"Representative raw telemetry has been pruned.",onRowClick:j,columns:A})})]}),e[70]=u,e[71]=j,e[72]=y):y=e[72];let _;e[73]!==U?(_=U.length>0&&s.jsxs(c,{children:[s.jsx(d,{children:s.jsx(m,{children:"Deploy comparison (30d)"})}),s.jsx(o,{children:s.jsx(rt,{rows:U,rowKey:xn,columns:[{key:"deploy",header:"Deploy",cell:fn},{key:"events",header:"Events",align:"right",cell:un},{key:"avg",header:"Avg",align:"right",cell:mn},{key:"max",header:"Max",align:"right",cell:dn}]})})]}),e[73]=U,e[74]=_):_=e[74];let M;return e[75]!==p||e[76]!==g||e[77]!==y||e[78]!==_?(M=s.jsxs(s.Fragment,{children:[p,g,y,_]}),e[75]=p,e[76]=g,e[77]=y,e[78]=_,e[79]=M):M=e[79],M}function dn(t){return`${t.max_ms} ms`}function mn(t){return`${t.avg_ms} ms`}function un(t){return Rt(t.events)}function fn(t){return s.jsx("span",{className:"font-mono text-xs",children:t.deploy.slice(0,12)})}function xn(t){return t.deploy}function hn(t){return s.jsx("span",{className:"font-mono text-xs",children:t.deploy?.slice(0,10)})}function pn(t){return`${t.duration_ms.toLocaleString()} ms`}function gn(t){return s.jsx("span",{className:"block truncate font-mono text-xs",children:t.name})}function jn(t){return s.jsx("span",{className:"text-xs",children:at(t.occurred_at)})}function yn(t){return`${t.record_type}-${t.record_id}`}function _n(t){return new Date(t).toLocaleDateString(void 0,{month:"short",day:"numeric"})}function hi(t){const e=Zt.c(259),n=t.issue;let i;e[0]!==n.id?(i=(r,b)=>{const mt=b===void 0?{}:b;return Wt.patch(ft(n.id),{action_name:r,...mt},{preserveScroll:!0})},e[0]=n.id,e[1]=i):i=e[1];const l=i,[,u]=Vs(),[T,U]=Q.useState(!1),[N,K]=Q.useState(!1),[a,W]=Q.useState("");let k;e[2]===Symbol.for("react.memo_cache_sentinel")?(k=[],e[2]=k):k=e[2];const[B,z]=Q.useState(k),[ct,P]=Q.useState(!1),[ot,R]=Q.useState(!1),q=new Map(t.members.map(Wn)),dt=Bs();let w;e[3]!==n.application.id||e[4]!==n.environment.id?(w=r=>Xt({applicationId:n.application.id,environmentId:n.environment.id,source:r.execution_source,executionId:r.execution_id}),e[3]=n.application.id,e[4]=n.environment.id,e[5]=w):w=e[5];const D=w;let S;e[6]!==n.application.id||e[7]!==n.environment.id||e[8]!==t.latest?(S=t.latest?Xt({applicationId:n.application.id,environmentId:n.environment.id,source:t.latest.execution_source,executionId:t.latest.execution_id}):null,e[6]=n.application.id,e[7]=n.environment.id,e[8]=t.latest,e[9]=S):S=e[9];const $=S;let G,C;e[10]!==n.id||e[11]!==N||e[12]!==a?(G=()=>{if(!N)return;const r=new AbortController,b=window.setTimeout(()=>{P(!0),R(!1),fetch(ks(n.id,{q:a}),{headers:{Accept:"application/json"},credentials:"same-origin",signal:r.signal}).then(Qn).then(mt=>{const{issues:Mt}=mt;return z(Mt)}).catch(()=>{r.signal.aborted||(z([]),R(!0))}).finally(()=>{r.signal.aborted||P(!1)})},150);return()=>{window.clearTimeout(b),r.abort()}},C=[n.id,N,a],e[10]=n.id,e[11]=N,e[12]=a,e[13]=G,e[14]=C):(G=e[13],C=e[14]),Q.useEffect(G,C);const F=Es;let L;e[15]===Symbol.for("react.memo_cache_sentinel")?(L={title:"Issues",href:bs()},e[15]=L):L=e[15];const H=n.key;let x;e[16]!==n.id?(x=ft(n.id),e[16]=n.id,e[17]=x):x=e[17];let E;e[18]!==n.key||e[19]!==x?(E=[L,{title:H,href:x}],e[18]=n.key,e[19]=x,e[20]=E):E=e[20];const J=`${n.key} ${n.title}`;let h;e[21]!==J?(h=s.jsx(ws,{title:J}),e[21]=J,e[22]=h):h=e[22];const V="flex flex-1 flex-col gap-4 p-3 md:gap-5 md:px-6 md:pt-2 md:pb-6";let p;e[23]!==n.key?(p=s.jsx("span",{className:"font-mono text-sm font-semibold",children:n.key}),e[23]=n.key,e[24]=p):p=e[24];let g;e[25]!==n.status?(g=s.jsx(cs,{status:n.status}),e[25]=n.status,e[26]=g):g=e[26];let I;e[27]!==n.kind?(I=s.jsx(xt,{variant:"outline",children:n.kind}),e[27]=n.kind,e[28]=I):I=e[28];let j;e[29]!==n.source?(j=n.source==="browser"&&s.jsxs(xt,{variant:"outline",className:"gap-1",children:[s.jsx(Xs,{className:"size-3"}),"browser"]}),e[29]=n.source,e[30]=j):j=e[30];let A;e[31]!==n.application.name||e[32]!==n.environment.name?(A=s.jsxs("span",{className:"text-muted-foreground text-xs",children:[n.application.name," · ",n.environment.name]}),e[31]=n.application.name,e[32]=n.environment.name,e[33]=A):A=e[33];let y;e[34]!==p||e[35]!==g||e[36]!==I||e[37]!==j||e[38]!==A?(y=s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[p,g,I,j,A]}),e[34]=p,e[35]=g,e[36]=I,e[37]=j,e[38]=A,e[39]=y):y=e[39];let _;e[40]!==n.title?(_=s.jsx("h1",{className:"mt-1 text-lg font-semibold break-words",children:n.title}),e[40]=n.title,e[41]=_):_=e[41];let M;e[42]!==n.culprit||e[43]!==n.sample?(M=n.culprit&&s.jsx("div",{className:"text-muted-foreground",children:s.jsx(Cs,{location:n.culprit,deploy:n.sample.deploy})}),e[42]=n.culprit,e[43]=n.sample,e[44]=M):M=e[44];let v;e[45]!==y||e[46]!==_||e[47]!==M?(v=s.jsxs("div",{className:"min-w-0",children:[y,_,M]}),e[45]=y,e[46]=_,e[47]=M,e[48]=v):v=e[48];let f;e[49]!==l?(f=r=>l("priority",{priority:r}),e[49]=l,e[50]=f):f=e[50];let ht;e[51]===Symbol.for("react.memo_cache_sentinel")?(ht=s.jsx(ns,{className:"w-28",children:s.jsx(is,{})}),e[51]=ht):ht=e[51];let pt;e[52]===Symbol.for("react.memo_cache_sentinel")?(pt=s.jsx(rs,{children:["low","normal","high","urgent"].map(Jn)}),e[52]=pt):pt=e[52];let X;e[53]!==n.priority||e[54]!==f?(X=s.jsxs(ss,{value:n.priority,onValueChange:f,children:[ht,pt]}),e[53]=n.priority,e[54]=f,e[55]=X):X=e[55];const Dt=n.assignee?String(n.assignee.id):"none";let Y;e[56]!==l?(Y=r=>l("assign",{assignee_id:r==="none"?null:r}),e[56]=l,e[57]=Y):Y=e[57];let gt;e[58]===Symbol.for("react.memo_cache_sentinel")?(gt=s.jsx(ns,{className:"w-40",children:s.jsx(is,{placeholder:"Assign"})}),e[58]=gt):gt=e[58];let jt;e[59]===Symbol.for("react.memo_cache_sentinel")?(jt=s.jsx(es,{value:"none",children:"Unassigned"}),e[59]=jt):jt=e[59];let Z;e[60]!==t.members?(Z=t.members.map(Un),e[60]=t.members,e[61]=Z):Z=e[61];let ee;e[62]!==Z?(ee=s.jsxs(rs,{children:[jt,Z]}),e[62]=Z,e[63]=ee):ee=e[63];let te;e[64]!==Dt||e[65]!==Y||e[66]!==ee?(te=s.jsxs(ss,{value:Dt,onValueChange:Y,children:[gt,ee]}),e[64]=Dt,e[65]=Y,e[66]=ee,e[67]=te):te=e[67];let se;e[68]!==l||e[69]!==n.status?(se=n.status==="merged"?s.jsx(O,{size:"sm",variant:"outline",onClick:()=>l("unmerge"),children:"Unmerge"}):n.status==="open"?s.jsxs(s.Fragment,{children:[s.jsx(O,{size:"sm",onClick:()=>l("resolve"),children:"Resolve"}),s.jsx(O,{size:"sm",variant:"outline",onClick:()=>l("ignore"),children:"Ignore"})]}):s.jsx(O,{size:"sm",variant:"outline",onClick:()=>l("reopen"),children:"Reopen"}),e[68]=l,e[69]=n.status,e[70]=se):se=e[70];let ne;e[71]!==n.status?(ne=n.status!=="merged"&&s.jsxs(O,{size:"sm",variant:"outline",onClick:()=>K(!0),children:[s.jsx(Qs,{"data-icon":"inline-start"}),"Merge into…"]}),e[71]=n.status,e[72]=ne):ne=e[72];let ie;e[73]!==u||e[74]!==t?(ie=()=>{(async()=>await u(cn(t))&&(U(!0),setTimeout(()=>U(!1),1200)))()},e[73]=u,e[74]=t,e[75]=ie):ie=e[75];let re;e[76]!==T?(re=T?s.jsx(Ps,{className:"size-3.5"}):s.jsx(Ms,{className:"size-3.5"}),e[76]=T,e[77]=re):re=e[77];let le;e[78]!==ie||e[79]!==re?(le=s.jsxs(O,{size:"sm",variant:"outline",onClick:ie,children:[re,"Copy for AI"]}),e[78]=ie,e[79]=re,e[80]=le):le=e[80];let ae;e[81]!==X||e[82]!==te||e[83]!==se||e[84]!==ne||e[85]!==le?(ae=s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[X,te,se,ne,le]}),e[81]=X,e[82]=te,e[83]=se,e[84]=ne,e[85]=le,e[86]=ae):ae=e[86];let ce;e[87]!==v||e[88]!==ae?(ce=s.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[v,ae]}),e[87]=v,e[88]=ae,e[89]=ce):ce=e[89];let oe;e[90]!==l||e[91]!==t.merged_into?(oe=t.merged_into&&s.jsxs("div",{className:"bg-muted flex flex-wrap items-center justify-between gap-2 rounded-md border px-4 py-3 text-sm",children:[s.jsxs("span",{children:["Merged into"," ",s.jsx(zt,{href:ft(t.merged_into.id),className:"font-mono font-semibold underline",children:t.merged_into.key})," ",s.jsx("span",{className:"text-muted-foreground",children:t.merged_into.title})]}),s.jsx(O,{size:"sm",variant:"outline",onClick:()=>l("unmerge"),children:"Unmerge"})]}),e[90]=l,e[91]=t.merged_into,e[92]=oe):oe=e[92];let yt;e[93]===Symbol.for("react.memo_cache_sentinel")?(yt=r=>{K(r),r||(W(""),z([]),R(!1))},e[93]=yt):yt=e[93];let de;e[94]!==a?(de=s.jsx(Os,{placeholder:"Search issues by key or title…",value:a,onValueChange:W}),e[94]=a,e[95]=de):de=e[95];const Ft=ct?"Searching…":ot?"Search failed. Try again.":"No open issues found.";let me;e[96]!==Ft?(me=s.jsx(Ks,{children:Ft}),e[96]=Ft,e[97]=me):me=e[97];let ue;e[98]!==l||e[99]!==B?(ue=B.length>0&&s.jsx(zs,{children:B.map(r=>s.jsxs(Rs,{value:`${r.key} ${r.title}`,onSelect:()=>{l("merge",{target_id:r.id}),K(!1)},children:[s.jsx("span",{className:"font-mono font-semibold",children:r.key}),s.jsx("span",{className:"text-muted-foreground truncate",children:r.title})]},r.id))}),e[98]=l,e[99]=B,e[100]=ue):ue=e[100];let fe;e[101]!==me||e[102]!==ue?(fe=s.jsxs(qs,{children:[me,ue]}),e[101]=me,e[102]=ue,e[103]=fe):fe=e[103];let xe;e[104]!==N||e[105]!==de||e[106]!==fe?(xe=s.jsxs(Gs,{open:N,onOpenChange:yt,title:"Merge into…",description:"Search issues to merge this one into",children:[de,fe]}),e[104]=N,e[105]=de,e[106]=fe,e[107]=xe):xe=e[107];const Et=t.detection?.count_label??"Events",Bt=t.detection?.breached_windows??n.occurrences;let he;e[108]!==Bt?(he=Rt(Bt),e[108]=Bt,e[109]=he):he=e[109];let pe;e[110]!==Et||e[111]!==he?(pe=s.jsx(ut,{label:Et,value:he}),e[110]=Et,e[111]=he,e[112]=pe):pe=e[112];const Pt=t.detection?"Events in measured window":"Users affected";let ge;e[113]!==n.affected_users||e[114]!==t.detection?(ge=t.detection?t.detection.event_count==null?"–":Rt(t.detection.event_count):n.affected_users,e[113]=n.affected_users,e[114]=t.detection,e[115]=ge):ge=e[115];let je;e[116]!==Pt||e[117]!==ge?(je=s.jsx(ut,{label:Pt,value:ge}),e[116]=Pt,e[117]=ge,e[118]=je):je=e[118];let ye;e[119]!==n.first_seen_at?(ye=Tt(n.first_seen_at),e[119]=n.first_seen_at,e[120]=ye):ye=e[120];let _e;e[121]!==n.first_seen_at?(_e=at(n.first_seen_at),e[121]=n.first_seen_at,e[122]=_e):_e=e[122];let ve;e[123]!==ye||e[124]!==_e?(ve=s.jsx(ut,{label:"First seen",value:ye,hint:_e}),e[123]=ye,e[124]=_e,e[125]=ve):ve=e[125];let be;e[126]!==n.last_seen_at?(be=Tt(n.last_seen_at),e[126]=n.last_seen_at,e[127]=be):be=e[127];let Ne;e[128]!==n.last_seen_at?(Ne=at(n.last_seen_at),e[128]=n.last_seen_at,e[129]=Ne):Ne=e[129];let ke;e[130]!==be||e[131]!==Ne?(ke=s.jsx(ut,{label:"Last seen",value:be,hint:Ne}),e[130]=be,e[131]=Ne,e[132]=ke):ke=e[132];const Ot=n.regressed_at?"Regressed":"Resolved";let we;e[133]!==n.regressed_at||e[134]!==n.resolved_at?(we=n.regressed_at?Tt(n.regressed_at):n.resolved_at?Tt(n.resolved_at):"–",e[133]=n.regressed_at,e[134]=n.resolved_at,e[135]=we):we=e[135];let Se;e[136]!==n.resolved_in_deploy?(Se=n.resolved_in_deploy?`in ${n.resolved_in_deploy.slice(0,12)}`:void 0,e[136]=n.resolved_in_deploy,e[137]=Se):Se=e[137];const Kt=n.regressed_at?"destructive":void 0;let $e;e[138]!==Ot||e[139]!==we||e[140]!==Se||e[141]!==Kt?($e=s.jsx(ut,{label:Ot,value:we,hint:Se,tone:Kt}),e[138]=Ot,e[139]=we,e[140]=Se,e[141]=Kt,e[142]=$e):$e=e[142];let Ce;e[143]!==pe||e[144]!==je||e[145]!==ve||e[146]!==ke||e[147]!==$e?(Ce=s.jsxs(Ts,{children:[pe,je,ve,ke,$e]}),e[143]=pe,e[144]=je,e[145]=ve,e[146]=ke,e[147]=$e,e[148]=Ce):Ce=e[148];const gs="grid gap-6 lg:grid-cols-3";let Le;e[149]!==n||e[150]!==$||e[151]!==t.breadcrumbs||e[152]!==t.browser_breadcrumbs||e[153]!==t.detection||e[154]!==t.latest?(Le=t.detection?s.jsx(on,{issue:n,detail:t.detection}):t.latest?s.jsxs(c,{children:[s.jsxs(d,{className:"flex-row items-center justify-between",children:[s.jsx(m,{children:"Latest occurrence"}),$&&s.jsxs(zt,{className:"text-xs underline",href:$,children:["Open ",t.latest.execution_preview]})]}),s.jsxs(o,{children:[s.jsx(Ls,{exception:t.latest,deploy:t.latest.deploy}),s.jsxs("div",{className:"mt-4 space-y-4",children:[s.jsx(Is,{entries:t.breadcrumbs}),s.jsx(As,{crumbs:t.browser_breadcrumbs})]}),(t.latest.ruby_version??t.latest.rails_version)&&s.jsxs("p",{className:"text-muted-foreground mt-3 text-xs",children:["Ruby ",t.latest.ruby_version," · Rails"," ",t.latest.rails_version]})]})]}):s.jsx(c,{children:s.jsx(o,{children:s.jsx(ls,{data:n.sample})})}),e[149]=n,e[150]=$,e[151]=t.breadcrumbs,e[152]=t.browser_breadcrumbs,e[153]=t.detection,e[154]=t.latest,e[155]=Le):Le=e[155];const qt=t.detection?"hidden":void 0;let _t;e[156]===Symbol.for("react.memo_cache_sentinel")?(_t=s.jsx(d,{children:s.jsx(m,{children:"Occurrences (30d)"})}),e[156]=_t):_t=e[156];let Ie;e[157]!==D?(Ie=r=>{const b=D(r);b&&Wt.visit(b)},e[157]=D,e[158]=Ie):Ie=e[158];let vt;e[159]===Symbol.for("react.memo_cache_sentinel")?(vt=[{key:"when",header:"When",cell:Hn},{key:"in",header:"In",cell:Gn},{key:"u",header:"User",cell:qn},{key:"t",header:"Tenant",cell:Kn},{key:"d",header:"Deploy",cell:On},{key:"h",header:"",cell:Pn}],e[159]=vt):vt=e[159];let Ae;e[160]!==t.occurrences||e[161]!==Ie?(Ae=s.jsx(o,{children:s.jsx(rt,{rows:t.occurrences,rowKey:Vn,empty:"Raw occurrences have been pruned.",onRowClick:Ie,columns:vt})}),e[160]=t.occurrences,e[161]=Ie,e[162]=Ae):Ae=e[162];let Me;e[163]!==qt||e[164]!==Ae?(Me=s.jsxs(c,{className:qt,children:[_t,Ae]}),e[163]=qt,e[164]=Ae,e[165]=Me):Me=e[165];let Te;e[166]!==n.application.id||e[167]!==n.environment.id||e[168]!==t.attachments?(Te=t.attachments.length>0&&s.jsxs(c,{children:[s.jsx(d,{children:s.jsx(m,{children:"Attachments"})}),s.jsx(o,{children:s.jsx(rt,{rows:t.attachments,rowKey:Bn,columns:[{key:"name",header:"Name",className:"max-w-0",cell:En},{key:"in",header:"In",cell:Fn},{key:"size",header:"Size",align:"right",cell:Dn},{key:"links",header:"",align:"right",cell:r=>s.jsxs("span",{className:"flex justify-end gap-3",children:[r.viewable&&s.jsx("a",{className:"text-primary hover:underline",href:ts(n.application.id,n.environment.id,r.id,{view:1}),children:"View"}),s.jsx("a",{className:"text-primary hover:underline",href:ts(n.application.id,n.environment.id,r.id),children:"Download"})]})}]})})]}),e[166]=n.application.id,e[167]=n.environment.id,e[168]=t.attachments,e[169]=Te):Te=e[169];let ze;e[170]!==Le||e[171]!==Me||e[172]!==Te?(ze=s.jsxs("div",{className:"space-y-6 lg:col-span-2",children:[Le,Me,Te]}),e[170]=Le,e[171]=Me,e[172]=Te,e[173]=ze):ze=e[173];const js="space-y-6",Gt=t.detection?"hidden":void 0;let bt;e[174]===Symbol.for("react.memo_cache_sentinel")?(bt=s.jsx(d,{children:s.jsx(m,{children:"Daily (30d)"})}),e[174]=bt):bt=e[174];const ys=t.daily;let Nt,kt,wt;e[175]===Symbol.for("react.memo_cache_sentinel")?(Nt=s.jsx(os,{vertical:!1}),kt=s.jsx(ds,{dataKey:"day",tickLine:!1,axisLine:!1,minTickGap:24,tickFormatter:Rn}),wt=s.jsx(ms,{width:28,tickLine:!1,axisLine:!1,allowDecimals:!1}),e[175]=Nt,e[176]=kt,e[177]=wt):(Nt=e[175],kt=e[176],wt=e[177]);let Re;e[178]!==t.deploys?(Re=s.jsx(us,{content:s.jsx(fs,{labelFormatter:r=>{const b=tn(t.deploys,String(r));return b.length>0?`${String(r)} · deployed ${b.join(", ")}`:String(r)}})}),e[178]=t.deploys,e[179]=Re):Re=e[179];let St;e[180]===Symbol.for("react.memo_cache_sentinel")?(St=s.jsx(xs,{dataKey:"count",fill:"var(--color-count)",radius:2}),e[180]=St):St=e[180];let De;e[181]!==t.deploys?(De=new Set(t.deploys.map(zn)),e[181]=t.deploys,e[182]=De):De=e[182];let Fe;e[183]!==De?(Fe=[...De].map(Tn),e[183]=De,e[184]=Fe):Fe=e[184];let Ee;e[185]!==t.daily||e[186]!==Re||e[187]!==Fe?(Ee=s.jsx(o,{children:s.jsx(hs,{config:sn,className:"h-40 w-full",children:s.jsxs(ps,{data:ys,children:[Nt,kt,wt,Re,St,Fe]})})}),e[185]=t.daily,e[186]=Re,e[187]=Fe,e[188]=Ee):Ee=e[188];let Be;e[189]!==Gt||e[190]!==Ee?(Be=s.jsxs(c,{className:Gt,children:[bt,Ee]}),e[189]=Gt,e[190]=Ee,e[191]=Be):Be=e[191];const Ht=t.detection?"hidden":void 0;let $t;e[192]===Symbol.for("react.memo_cache_sentinel")?($t=s.jsx(d,{children:s.jsx(m,{children:"Grouping"})}),e[192]=$t):$t=e[192];let Pe;e[193]!==t.fingerprint?(Pe=t.fingerprint.length>0&&s.jsx("div",{className:"flex flex-wrap gap-1",children:t.fingerprint.map(Mn)}),e[193]=t.fingerprint,e[194]=Pe):Pe=e[194];const Vt=rn[t.fingerprint_source??"default"]??`Fingerprint from ${t.fingerprint_source}.`;let Oe;e[195]!==Vt?(Oe=s.jsx("p",{className:"text-muted-foreground text-xs",children:Vt}),e[195]=Vt,e[196]=Oe):Oe=e[196];let Ke;e[197]!==l||e[198]!==t.distinct_messages||e[199]!==t.top_messages?(Ke=t.distinct_messages>1&&s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"space-y-1",children:t.top_messages.map(An)}),s.jsxs(O,{size:"sm",variant:"outline",onClick:()=>l("split",{by:"message"}),children:[s.jsx(Zs,{className:"size-3.5"}),"Split into ",t.distinct_messages," issues"]})]}),e[197]=l,e[198]=t.distinct_messages,e[199]=t.top_messages,e[200]=Ke):Ke=e[200];let qe;e[201]!==Pe||e[202]!==Oe||e[203]!==Ke?(qe=s.jsxs(o,{className:"space-y-3",children:[Pe,Oe,Ke]}),e[201]=Pe,e[202]=Oe,e[203]=Ke,e[204]=qe):qe=e[204];let Ge;e[205]!==Ht||e[206]!==qe?(Ge=s.jsxs(c,{className:Ht,children:[$t,qe]}),e[205]=Ht,e[206]=qe,e[207]=Ge):Ge=e[207];let He;e[208]!==t.related_issues?(He=t.related_issues.length>0&&s.jsxs(c,{children:[s.jsx(d,{children:s.jsx(m,{children:"Related issues"})}),s.jsx(o,{className:"space-y-2",children:t.related_issues.map(In)})]}),e[208]=t.related_issues,e[209]=He):He=e[209];let Ve;e[210]!==t.merged_issues?(Ve=t.merged_issues.length>0&&s.jsxs(c,{children:[s.jsx(d,{children:s.jsx(m,{children:"Merged issues"})}),s.jsx(o,{className:"space-y-2",children:t.merged_issues.map(Ln)})]}),e[210]=t.merged_issues,e[211]=Ve):Ve=e[211];let Ue;e[212]!==t.alerts?(Ue=t.alerts.length>0&&s.jsxs(c,{children:[s.jsx(d,{children:s.jsx(m,{children:"Alerts"})}),s.jsx(o,{className:"space-y-2",children:t.alerts.map(Cn)})]}),e[212]=t.alerts,e[213]=Ue):Ue=e[213];let Ct;e[214]===Symbol.for("react.memo_cache_sentinel")?(Ct=s.jsx(d,{children:s.jsx(m,{children:"By deploy"})}),e[214]=Ct):Ct=e[214];let Je;e[215]!==t.by_deploy?(Je=Object.entries(t.by_deploy),e[215]=t.by_deploy,e[216]=Je):Je=e[216];let Lt;e[217]===Symbol.for("react.memo_cache_sentinel")?(Lt=[{key:"d",header:"Deploy",cell:Sn},{key:"n",header:"Count",align:"right",cell:wn}],e[217]=Lt):Lt=e[217];let Qe;e[218]!==Je?(Qe=s.jsxs(c,{children:[Ct,s.jsx(o,{children:s.jsx(rt,{rows:Je,rowKey:$n,columns:Lt})})]}),e[218]=Je,e[219]=Qe):Qe=e[219];let We;e[220]!==t.by_tenant?(We=Object.keys(t.by_tenant).length>0&&s.jsxs(c,{children:[s.jsx(d,{children:s.jsx(m,{children:"By tenant"})}),s.jsx(o,{children:s.jsx(rt,{rows:Object.entries(t.by_tenant),rowKey:kn,columns:[{key:"t",header:"Tenant",cell:Nn},{key:"n",header:"Count",align:"right",cell:bn}]})})]}),e[220]=t.by_tenant,e[221]=We):We=e[221];const Ut=c;let Xe;e[222]===Symbol.for("react.memo_cache_sentinel")?(Xe=s.jsx(d,{children:s.jsx(m,{children:"Activity"})}),e[222]=Xe):Xe=e[222];const Jt=o,_s="space-y-3",Qt=t.activities.map(r=>{const b=r.data.source==="linear",mt=typeof r.data.author_name=="string"?r.data.author_name:"Linear",Mt=r.user?.name??(b?mt:"System");return s.jsxs("div",{className:"flex gap-2 text-sm",children:[s.jsx(Ds,{className:"size-6",children:s.jsx(Fs,{className:"text-[10px]",children:r.user||b?dt(Mt):"sys"})}),s.jsxs("div",{className:"min-w-0 flex-1",children:[s.jsxs("div",{className:"text-xs",children:[s.jsx("span",{className:"font-medium",children:Mt})," ",s.jsx("span",{className:"text-muted-foreground",children:an(r,q)})," ",s.jsx(as,{iso:r.created_at,className:"text-muted-foreground"})]}),r.kind==="comment"&&s.jsx("div",{className:"mt-0.5 whitespace-pre-wrap",children:String(r.data.body)})]})]},r.id)});let Ye;e[223]!==n.id?(Ye=Ns(n.id),e[223]=n.id,e[224]=Ye):Ye=e[224];let It;e[225]===Symbol.for("react.memo_cache_sentinel")?(It={preserveScroll:!0},e[225]=It):It=e[225];let Ze;e[226]!==Ye?(Ze=s.jsx(Ss,{method:"post",action:Ye,options:It,resetOnSuccess:!0,className:"space-y-2",children:vn}),e[226]=Ye,e[227]=Ze):Ze=e[227];let et;e[228]!==Jt||e[229]!==Qt||e[230]!==Ze?(et=s.jsxs(Jt,{className:_s,children:[Qt,Ze]}),e[228]=Jt,e[229]=Qt,e[230]=Ze,e[231]=et):et=e[231];let tt;e[232]!==Ut||e[233]!==Xe||e[234]!==et?(tt=s.jsxs(Ut,{children:[Xe,et]}),e[232]=Ut,e[233]=Xe,e[234]=et,e[235]=tt):tt=e[235];let st;e[236]!==Ue||e[237]!==Qe||e[238]!==We||e[239]!==tt||e[240]!==Be||e[241]!==Ge||e[242]!==He||e[243]!==Ve?(st=s.jsxs("div",{className:js,children:[Be,Ge,He,Ve,Ue,Qe,We,tt]}),e[236]=Ue,e[237]=Qe,e[238]=We,e[239]=tt,e[240]=Be,e[241]=Ge,e[242]=He,e[243]=Ve,e[244]=st):st=e[244];let nt;e[245]!==st||e[246]!==ze?(nt=s.jsxs("div",{className:gs,children:[ze,st]}),e[245]=st,e[246]=ze,e[247]=nt):nt=e[247];let it;e[248]!==nt||e[249]!==ce||e[250]!==oe||e[251]!==xe||e[252]!==Ce?(it=s.jsxs("div",{className:V,children:[ce,oe,xe,Ce,nt]}),e[248]=nt,e[249]=ce,e[250]=oe,e[251]=xe,e[252]=Ce,e[253]=it):it=e[253];let At;return e[254]!==F||e[255]!==h||e[256]!==it||e[257]!==E?(At=s.jsxs(F,{breadcrumbs:E,children:[h,it]}),e[254]=F,e[255]=h,e[256]=it,e[257]=E,e[258]=At):At=e[258],At}function vn(t){const{processing:e}=t;return s.jsxs(s.Fragment,{children:[s.jsx(en,{name:"body",placeholder:"Add a comment…",required:!0,rows:3}),s.jsx(O,{size:"sm",disabled:e,children:"Comment"})]})}function bn(t){const[,e]=t;return e}function Nn(t){const[e]=t;return s.jsx("span",{className:"font-mono text-xs",children:e})}function kn(t){const[e]=t;return e}function wn(t){const[,e]=t;return e}function Sn(t){const[e]=t;return s.jsx("span",{className:"font-mono text-xs",children:e??"unknown"})}function $n(t){const[e]=t;return e??"none"}function Cn(t){return s.jsxs("div",{className:"flex flex-col gap-0.5 text-xs",title:t.error??void 0,children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(xt,{variant:t.status==="failed"?"destructive":"outline",className:"capitalize",children:t.status}),s.jsxs("span",{children:[t.event," via ",t.integration.name]}),s.jsx(as,{iso:t.sent_at,className:"text-muted-foreground"})]}),t.error&&s.jsx("span",{className:"text-destructive",children:t.error})]},t.id)}function Ln(t){return s.jsxs(zt,{href:ft(t.id),className:"hover:bg-muted/60 -mx-2 flex flex-col rounded px-2 py-1 text-xs",children:[s.jsx("span",{className:"font-mono font-semibold",children:t.key}),s.jsx("span",{className:"text-muted-foreground line-clamp-1",children:t.title})]},t.id)}function In(t){return s.jsxs(zt,{href:ft(t.id),className:"hover:bg-muted/60 -mx-2 flex flex-col rounded px-2 py-1 text-xs",children:[s.jsxs("span",{className:"flex items-center gap-2",children:[s.jsx("span",{className:"font-mono font-semibold",children:t.key}),s.jsx(cs,{status:t.status})]}),s.jsx("span",{className:"text-muted-foreground line-clamp-1",children:t.title}),s.jsx("span",{className:"text-muted-foreground",children:t.environment.name})]},t.id)}function An(t){return s.jsxs("div",{className:"flex items-start justify-between gap-2 text-xs",children:[s.jsx("span",{className:"line-clamp-1 font-mono",children:t.message}),s.jsx("span",{className:"text-muted-foreground",children:Rt(t.count)})]},t.message)}function Mn(t,e){return s.jsx("span",{className:"bg-muted rounded px-1.5 py-0.5 font-mono text-[11px] break-all",children:t},`${e}-${t}`)}function Tn(t){return s.jsx(Hs,{x:t,stroke:"var(--muted-foreground)",strokeDasharray:"3 3"},t)}function zn(t){return t.at.slice(0,10)}function Rn(t){return new Date(t).toLocaleDateString(void 0,{month:"short",day:"numeric"})}function Dn(t){return Us(t.bytes)}function Fn(t){return s.jsx("span",{className:"text-muted-foreground font-mono text-xs",children:t.execution_preview??"–"})}function En(t){return s.jsxs("span",{className:"flex items-center gap-1.5",children:[s.jsx("span",{className:"truncate font-mono text-xs",children:t.name}),t.truncated&&s.jsx(xt,{variant:"secondary",children:"truncated"})]})}function Bn(t){return t.id}function Pn(t){return t.handled?s.jsx(xt,{variant:"secondary",children:"handled"}):null}function On(t){return s.jsx("span",{className:"font-mono text-xs",children:t.deploy?.slice(0,10)})}function Kn(t){return s.jsx("span",{className:"font-mono text-xs",children:t.tenant??""})}function qn(t){return s.jsx("span",{className:"font-mono text-xs",children:t.user_ref??""})}function Gn(t){return s.jsxs("span",{className:"font-mono text-xs",children:[t.execution_source," ",t.execution_preview]})}function Hn(t){return s.jsx("span",{className:"text-xs",children:at(t.occurred_at)})}function Vn(t){return t.id}function Un(t){return s.jsx(es,{value:String(t.id),children:t.name},t.id)}function Jn(t){return s.jsx(es,{value:t,children:t},t)}function Qn(t){if(!t.ok)throw new Error(`HTTP ${t.status}`);return t.json()}function Wn(t){return[t.id,t.name]}export{hi as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as g,u as v,N,j as s,d as P,f as C,L as E,i as S}from"./inertia-DfNRARuA.js";import{D as y}from"./data-table-CQ_YRWQs.js";import{P as $,E as b}from"./env-layout-CdMWbUkm.js";import{I,S as R}from"./status-badge-CmbRKlY7.js";import{C as D,b as H,c as K,a as L}from"./card-C-PPSA0g.js";import{a as w,w as T,m as B}from"./format-B9SDkrWj.js";import"./chart-hover-DdK4E-2h.js";import"./app-layout-by7G3sa1.js";import"./use-live-CLZZj245.js";import"./segmented-DB4zh-Am.js";function oe(t){const e=g.c(31),{environment:j,window:_}=v().props,r=j.application_id,i=j.id,n=t.person?.name??t.person_ref;let a;e[0]!==r||e[1]!==i||e[2]!==_?(a=N(r,i,{window:_}),e[0]=r,e[1]=i,e[2]=_,e[3]=a):a=e[3];let o;e[4]!==a?(o={title:"Users",href:a},e[4]=a,e[5]=o):o=e[5];let l;e[6]!==n?(l={title:n,href:"#"},e[6]=n,e[7]=l):l=e[7];let c;e[8]!==o||e[9]!==l?(c=[o,l],e[8]=o,e[9]=l,e[10]=c):c=e[10];let u;e[11]!==t.person?(u=t.person?`${t.person.email??""} ${t.person.tenant?`· tenant ${t.person.tenant}`:""} · first seen ${w(t.person.first_seen_at)} · last seen ${w(t.person.last_seen_at)}`:"Not yet identified.",e[11]=t.person,e[12]=u):u=e[12];let m;e[13]!==n||e[14]!==u?(m=s.jsx($,{title:n,description:u}),e[13]=n,e[14]=u,e[15]=m):m=e[15];let d;e[16]!==t.issues?(d=t.issues.length>0&&s.jsxs(D,{children:[s.jsx(H,{children:s.jsx(K,{children:"Issues affecting this user"})}),s.jsx(L,{children:s.jsx(y,{rows:t.issues,rowKey:V,columns:[{key:"k",header:"Issue",cell:Q},{key:"t",header:"Title",cell:O},{key:"s",header:"",cell:M},{key:"n",header:"Hits",align:"right",cell:J}]})})]}),e[16]=t.issues,e[17]=d):d=e[17];let f;e[18]!==r||e[19]!==i?(f=k=>k.execution_id&&P.visit(C(r,i,k.execution_id)),e[18]=r,e[19]=i,e[20]=f):f=e[20];let x;e[21]===Symbol.for("react.memo_cache_sentinel")?(x=[{key:"when",header:"When",cell:F},{key:"k",header:"Kind",cell:A},{key:"n",header:"Name",cell:z},{key:"st",header:"Status",cell:W},{key:"d",header:"Duration",align:"right",cell:U},{key:"ex",header:"Exception",cell:q}],e[21]=x):x=e[21];let p;e[22]!==t.executions||e[23]!==f?(p=s.jsx(y,{rows:t.executions,rowKey:G,onRowClick:f,columns:x}),e[22]=t.executions,e[23]=f,e[24]=p):p=e[24];let h;return e[25]!==n||e[26]!==c||e[27]!==m||e[28]!==d||e[29]!==p?(h=s.jsxs(b,{title:n,crumbs:c,children:[m,d,p]}),e[25]=n,e[26]=c,e[27]=m,e[28]=d,e[29]=p,e[30]=h):h=e[30],h}function q(t){return s.jsx("span",{className:"text-destructive line-clamp-1 text-xs",children:t.exception_preview??""})}function U(t){return B(t.duration)}function W(t){return s.jsx(R,{status:t.status,outcome:t.outcome})}function z(t){return s.jsx("span",{className:"font-mono text-xs",children:t.name})}function A(t){return t.kind}function F(t){return s.jsx("span",{className:"text-xs",children:T(t.occurred_at)})}function G(t){return t.execution_id}function J(t){return t.count}function M(t){return s.jsx(I,{status:t.status})}function O(t){return s.jsx("span",{className:"line-clamp-1 text-xs",children:t.title})}function Q(t){return s.jsx(E,{className:"font-mono text-xs hover:underline",href:S(t.id),children:t.key})}function V(t){return t.id}export{oe as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as A,u as B,O as G,j as s,L as J}from"./inertia-DfNRARuA.js";import{F as K}from"./flamegraph-BIFEdTAg.js";import{P as M,E as Q}from"./env-layout-CdMWbUkm.js";import{S as N,a as T}from"./stat-DT2hhsqS.js";import{C as U,a as V}from"./card-C-PPSA0g.js";import{e as X}from"./execution-path-7MYt-Qbn.js";import{w as Y,c as Z,m as z,b as ee}from"./format-B9SDkrWj.js";import"./data-table-CQ_YRWQs.js";import"./chart-hover-DdK4E-2h.js";import"./app-layout-by7G3sa1.js";import"./segmented-DB4zh-Am.js";import"./use-live-CLZZj245.js";import"./arrow-up-DCZ7emux.js";function me(i){const e=A.c(71),{environment:q,window:I}=B().props,l=q.application_id,r=q.id,t=i.profile,L=t.execution_preview??"Profile";let o;e[0]!==l||e[1]!==r||e[2]!==I?(o=G(l,r,{window:I}),e[0]=l,e[1]=r,e[2]=I,e[3]=o):o=e[3];let a;e[4]!==o?(a={title:"Profiles",href:o},e[4]=o,e[5]=a):a=e[5];const F=t.execution_preview??`Profile ${t.id}`;let n;e[6]!==F?(n={title:F,href:"#"},e[6]=F,e[7]=n):n=e[7];let c;e[8]!==a||e[9]!==n?(c=[a,n],e[8]=a,e[9]=n,e[10]=c):c=e[10];const R=t.execution_preview??`Profile ${t.id}`;let d;e[11]!==R?(d=s.jsx("span",{className:"font-mono",children:R}),e[11]=R,e[12]=d):d=e[12];let p;e[13]!==t.occurred_at?(p=Y(t.occurred_at),e[13]=t.occurred_at,e[14]=p):p=e[14];let f;e[15]!==p?(f=s.jsx("span",{children:p}),e[15]=p,e[16]=f):f=e[16];const D=t.mode?` · ${t.mode}`:"";let u;e[17]!==D||e[18]!==t.profiler?(u=s.jsxs("span",{children:[t.profiler,D]}),e[17]=D,e[18]=t.profiler,e[19]=u):u=e[19];let m;e[20]!==t.server?(m=t.server&&s.jsxs("span",{children:["server ",t.server]}),e[20]=t.server,e[21]=m):m=e[21];let x;e[22]!==t.deploy?(x=t.deploy&&s.jsxs("span",{children:["deploy ",t.deploy.slice(0,12)]}),e[22]=t.deploy,e[23]=x):x=e[23];let v;e[24]!==l||e[25]!==r||e[26]!==t.execution_id||e[27]!==t.execution_source?(v=t.execution_id&&s.jsx(J,{className:"hover:underline",href:X({applicationId:l,environmentId:r,source:t.execution_source,executionId:t.execution_id}),children:"view execution"}),e[24]=l,e[25]=r,e[26]=t.execution_id,e[27]=t.execution_source,e[28]=v):v=e[28];let h;e[29]!==u||e[30]!==m||e[31]!==x||e[32]!==v||e[33]!==f?(h=s.jsxs("span",{className:"flex flex-wrap gap-x-3 text-xs",children:[f,u,m,x,v]}),e[29]=u,e[30]=m,e[31]=x,e[32]=v,e[33]=f,e[34]=h):h=e[34];let j;e[35]!==h||e[36]!==d?(j=s.jsx(M,{withWindow:!1,title:d,description:h}),e[35]=h,e[36]=d,e[37]=j):j=e[37];let _;e[38]!==t.samples?(_=Z(t.samples),e[38]=t.samples,e[39]=_):_=e[39];let w;e[40]!==_?(w=s.jsx(N,{label:"Samples",value:_}),e[40]=_,e[41]=w):w=e[41];let y;e[42]!==t.duration?(y=z(t.duration),e[42]=t.duration,e[43]=y):y=e[43];let P;e[44]!==t.interval?(P=t.interval?`every ${z(t.interval/1e3,2)}`:void 0,e[44]=t.interval,e[45]=P):P=e[45];let b;e[46]!==y||e[47]!==P?(b=s.jsx(N,{label:"Duration",value:y,hint:P}),e[46]=y,e[47]=P,e[48]=b):b=e[48];const H=t.mode??void 0;let S;e[49]!==H||e[50]!==t.profiler?(S=s.jsx(N,{label:"Profiler",value:t.profiler,hint:H}),e[49]=H,e[50]=t.profiler,e[51]=S):S=e[51];let g;e[52]!==t.stacks_bytes?(g=ee(t.stacks_bytes),e[52]=t.stacks_bytes,e[53]=g):g=e[53];const O=i.truncated?"truncated for display":"uncompressed",W=i.truncated?"warning":void 0;let k;e[54]!==g||e[55]!==O||e[56]!==W?(k=s.jsx(N,{label:"Stacks",value:g,hint:O,tone:W}),e[54]=g,e[55]=O,e[56]=W,e[57]=k):k=e[57];let E;e[58]!==w||e[59]!==b||e[60]!==S||e[61]!==k?(E=s.jsxs(T,{children:[w,b,S,k]}),e[58]=w,e[59]=b,e[60]=S,e[61]=k,e[62]=E):E=e[62];let $;e[63]!==i.collapsed?($=s.jsx(U,{children:s.jsx(V,{className:"pt-4",children:s.jsx(K,{collapsed:i.collapsed})})}),e[63]=i.collapsed,e[64]=$):$=e[64];let C;return e[65]!==L||e[66]!==j||e[67]!==E||e[68]!==$||e[69]!==c?(C=s.jsxs(Q,{title:L,crumbs:c,children:[j,E,$]}),e[65]=L,e[66]=j,e[67]=E,e[68]=$,e[69]=c,e[70]=C):C=e[70],C}export{me as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as v,j as t,c as q,o as S,u as Ut,L as ze,p as Gt,q as Tt,s as Kt,t as Jt,i as Qt}from"./inertia-DfNRARuA.js";import{D as Ve}from"./data-table-CQ_YRWQs.js";import{F as Wt}from"./flamegraph-BIFEdTAg.js";import{C as Yt,E as Zt}from"./frames-C5t-x4f0.js";import{J as dt}from"./json-viewer-DMsF5glp.js";import{O as Et}from"./origin-identity-1R3bqa3R.js";import{P as Xt,E as es}from"./env-layout-CdMWbUkm.js";import{S as me,a as ts}from"./stat-DT2hhsqS.js";import{S as it,L as ss}from"./status-badge-CmbRKlY7.js";import{d as It,e as Ot,u as Dt,f as ns,A as rs,P as Ue,g as R,h as vt,i as as,j as os,D as is,k as ls,l as Lt,m as cs,n as ds,o as us,I as ms,p as fs,B as jt,q as At,b as ps}from"./app-layout-by7G3sa1.js";import{m as y,u as xs,w as hs,c as $t,b as Ht}from"./format-B9SDkrWj.js";import{C as ie,b as le,c as ce,a as de}from"./card-C-PPSA0g.js";import{u as Mt,C as gs}from"./use-clipboard-oTNeP4ax.js";import{e as bs}from"./execution-path-7MYt-Qbn.js";import"./chart-hover-DdK4E-2h.js";import"./segmented-DB4zh-Am.js";import"./source-link-B2183i2-.js";import"./tenant-path-C4rNGauE.js";import"./use-live-CLZZj245.js";import"./arrow-up-DCZ7emux.js";var vs=Object.defineProperty,te=(s,e)=>vs(s,"name",{value:e,configurable:!0}),ut,_t="HoverCard",[zt,cr]=It(_t,[Ot]),yt=Ot(),[js,lt]=zt(_t),_s=te(s=>{const{__scopeHoverCard:e,children:r,open:l,defaultOpen:i,onOpenChange:a,openDelay:c=700,closeDelay:n=300}=s,o=yt(e),m=v.useRef(0),x=v.useRef(0),d=v.useRef(!1),f=v.useRef(!1),[h,g]=Dt({prop:l,defaultProp:i??!1,onChange:a,caller:_t}),p=v.useCallback(()=>{clearTimeout(x.current),m.current=window.setTimeout(()=>g(!0),c)},[c,g]),_=v.useCallback(()=>{clearTimeout(m.current),!d.current&&!f.current&&(x.current=window.setTimeout(()=>g(!1),n))},[n,g]),N=v.useCallback(()=>g(!1),[g]);return v.useEffect(()=>()=>{clearTimeout(m.current),clearTimeout(x.current)},[]),t.jsx(js,{scope:e,open:h,onOpenChange:g,onOpen:p,onClose:_,onDismiss:N,hasSelectionRef:d,isPointerDownOnContentRef:f,children:t.jsx(ns,{...o,children:r})})},"HoverCard"),ys="HoverCardTrigger",Ns=v.forwardRef(te(function(e,r){const{__scopeHoverCard:l,...i}=e,a=lt(ys,l),c=yt(l);return t.jsx(rs,{asChild:!0,...c,children:t.jsx(Ue.a,{"data-state":a.open?"open":"closed",...i,ref:r,onPointerEnter:R(e.onPointerEnter,Be(a.onOpen)),onPointerLeave:R(e.onPointerLeave,Be(a.onClose)),onFocus:R(e.onFocus,a.onOpen),onBlur:R(e.onBlur,a.onClose),onTouchStart:R(e.onTouchStart,n=>n.preventDefault())})})},"HoverCardTrigger")),Ft="HoverCardPortal",[ws,ks]=zt(Ft,{forceMount:void 0}),Cs=te(s=>{const{__scopeHoverCard:e,forceMount:r,children:l,container:i}=s,a=lt(Ft,e);return t.jsx(ws,{scope:e,forceMount:r,children:t.jsx(vt,{present:r||a.open,children:t.jsx(as,{asChild:!0,container:i,children:l})})})},"HoverCardPortal"),ht="HoverCardContent",Ss=v.forwardRef(te(function(e,r){const l=ks(ht,e.__scopeHoverCard),{forceMount:i=l.forceMount,...a}=e,c=lt(ht,e.__scopeHoverCard);return t.jsx(vt,{present:i||c.open,children:t.jsx(Ts,{"data-state":c.open?"open":"closed",...a,onPointerEnter:R(e.onPointerEnter,Be(c.onOpen)),onPointerLeave:R(e.onPointerLeave,Be(c.onClose)),ref:r})})},"HoverCardContent")),Ts=v.forwardRef(te(function(e,r){const{__scopeHoverCard:l,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:c,onInteractOutside:n,...o}=e,m=lt(ht,l),x=yt(l),d=v.useRef(null),f=os(r,d),[h,g]=v.useState(!1);return v.useEffect(()=>{if(h){const p=document.body;return ut=p.style.userSelect||p.style.webkitUserSelect,p.style.userSelect="none",p.style.webkitUserSelect="none",()=>{p.style.userSelect=ut,p.style.webkitUserSelect=ut}}},[h]),v.useEffect(()=>{if(d.current){const p=te(()=>{g(!1),m.isPointerDownOnContentRef.current=!1,setTimeout(()=>{document.getSelection()?.toString()!==""&&(m.hasSelectionRef.current=!0)})},"handlePointerUp");return document.addEventListener("pointerup",p),()=>{document.removeEventListener("pointerup",p),m.hasSelectionRef.current=!1,m.isPointerDownOnContentRef.current=!1}}},[m.isPointerDownOnContentRef,m.hasSelectionRef]),v.useEffect(()=>{d.current&&Vt(d.current).forEach(_=>_.setAttribute("tabindex","-1"))}),t.jsx(is,{asChild:!0,disableOutsidePointerEvents:!1,onInteractOutside:n,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:R(c,p=>{p.preventDefault()}),onDismiss:m.onDismiss,children:t.jsx(ls,{...x,...o,onPointerDown:R(o.onPointerDown,p=>{p.currentTarget.contains(p.target)&&g(!0),m.hasSelectionRef.current=!1,m.isPointerDownOnContentRef.current=!0}),ref:f,style:{...o.style,userSelect:h?"text":void 0,WebkitUserSelect:h?"text":void 0,"--radix-hover-card-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-hover-card-content-available-width":"var(--radix-popper-available-width)","--radix-hover-card-content-available-height":"var(--radix-popper-available-height)","--radix-hover-card-trigger-width":"var(--radix-popper-anchor-width)","--radix-hover-card-trigger-height":"var(--radix-popper-anchor-height)"}})})},"HoverCardContentImpl"));function Be(s){return e=>e.pointerType==="touch"?void 0:s()}te(Be,"excludeTouch");function Vt(s){const e=[],r=document.createTreeWalker(s,NodeFilter.SHOW_ELEMENT,{acceptNode:te(l=>l.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP,"acceptNode")});for(;r.nextNode();)e.push(r.currentNode);return e}te(Vt,"getTabbableNodes");var Es=_s,$s=Ns,qs=Cs,Ps=Ss,Rs=Object.defineProperty,Fe=(s,e)=>Rs(s,"name",{value:e,configurable:!0}),Nt="Tabs",[Is,dr]=It(Nt,[Lt]),Bt=Lt(),[Os,wt]=Is(Nt),Ds=v.forwardRef(Fe(function(e,r){const{__scopeTabs:l,value:i,onValueChange:a,defaultValue:c,orientation:n="horizontal",dir:o,activationMode:m="automatic",...x}=e,d=cs(o),[f,h]=Dt({prop:i,onChange:a,defaultProp:c??"",caller:Nt});return t.jsx(Os,{scope:l,baseId:ds(),value:f,onValueChange:h,orientation:n,dir:d,activationMode:m,children:t.jsx(Ue.div,{dir:d,"data-orientation":n,...x,ref:r})})},"Tabs")),Ls="TabsList",As=v.forwardRef(Fe(function(e,r){const{__scopeTabs:l,loop:i=!0,...a}=e,c=wt(Ls,l),n=Bt(l);return t.jsx(us,{asChild:!0,...n,orientation:c.orientation,dir:c.dir,loop:i,children:t.jsx(Ue.div,{role:"tablist","aria-orientation":c.orientation,...a,ref:r})})},"TabsList")),Hs="TabsTrigger",Ms=v.forwardRef(Fe(function(e,r){const{__scopeTabs:l,value:i,disabled:a=!1,...c}=e,n=wt(Hs,l),o=Bt(l),m=kt(n.baseId,i),x=Ct(n.baseId,i),d=i===n.value;return t.jsx(ms,{asChild:!0,...o,focusable:!a,active:d,children:t.jsx(Ue.button,{type:"button",role:"tab","aria-selected":d,"aria-controls":x,"data-state":d?"active":"inactive","data-disabled":a?"":void 0,disabled:a,id:m,...c,ref:r,onMouseDown:R(e.onMouseDown,f=>{!a&&f.button===0&&f.ctrlKey===!1?n.onValueChange(i):f.preventDefault()}),onKeyDown:R(e.onKeyDown,f=>{a||f.target!==f.currentTarget||[" ","Enter"].includes(f.key)&&n.onValueChange(i)}),onFocus:R(e.onFocus,()=>{const f=n.activationMode!=="manual";!d&&!a&&f&&n.onValueChange(i)})})})},"TabsTrigger")),zs="TabsContent",Fs=v.forwardRef(Fe(function(e,r){const{__scopeTabs:l,value:i,forceMount:a,children:c,...n}=e,o=wt(zs,l),m=kt(o.baseId,i),x=Ct(o.baseId,i),d=i===o.value,f=v.useRef(d);return v.useEffect(()=>{const h=requestAnimationFrame(()=>f.current=!1);return()=>cancelAnimationFrame(h)},[]),t.jsx(vt,{present:a||d,children:({present:h})=>t.jsx(Ue.div,{"data-state":d?"active":"inactive","data-orientation":o.orientation,role:"tabpanel","aria-labelledby":m,hidden:!h,id:x,tabIndex:0,...n,ref:r,style:{...e.style,animationDuration:f.current?"0s":void 0},children:h&&c})})},"TabsContent"));function kt(s,e){return`${s}-trigger-${e}`}Fe(kt,"makeTriggerId");function Ct(s,e){return`${s}-content-${e}`}Fe(Ct,"makeContentId");var Vs=Ds,Bs=As,Us=Ms,Gs=Fs;const Ks=new Set(["SELECT","FROM","WHERE","JOIN","LEFT","INNER","ON","AND","OR","ORDER","BY","GROUP","LIMIT","OFFSET","INSERT","INTO","VALUES","UPDATE","SET","DELETE","RETURNING","AS","IN","IS","NULL","NOT","DISTINCT","COUNT","SUM","AVG","MAX","MIN","CASE","WHEN","THEN","ELSE","END"]),mt=/("(?:[^"]|"")*"|`(?:[^`]|``)*`)|('(?:[^']|'')*')|(\?)|(\b\d+(?:\.\d+)?\b)|(\b[A-Za-z_][A-Za-z_0-9]*\b)/g;function Js(s){const e=[];let r=0;mt.lastIndex=0;let l;for(;l=mt.exec(s);){l.index>r&&e.push({text:s.slice(r,l.index),kind:"text"});const[i,a,c,n,o]=l;a?e.push({text:i,kind:"identifier"}):c?e.push({text:i,kind:"string"}):n?e.push({text:i,kind:"placeholder"}):o?e.push({text:i,kind:"number"}):Ks.has(i.toUpperCase())?e.push({text:i,kind:"keyword"}):e.push({text:i,kind:"text"}),r=mt.lastIndex}return r<s.length&&e.push({text:s.slice(r),kind:"text"}),e}const Qs={keyword:"text-primary font-semibold",string:"text-emerald-600 dark:text-emerald-400",number:"text-amber-600 dark:text-amber-400",placeholder:"text-primary font-semibold",identifier:"text-muted-foreground",text:""};function St(s){const e=q.c(16),{sql:r,wrap:l,inline:i,className:a}=s,c=l===void 0?!1:l,n=i===void 0?!1:i;let o,m,x,d;if(e[0]!==a||e[1]!==n||e[2]!==r||e[3]!==c){const h=Js(r);o=n?"span":"code";const p=c?"break-words whitespace-pre-wrap":"block max-w-full truncate";e[8]!==a||e[9]!==p?(m=S("font-mono text-xs",p,a),e[8]=a,e[9]=p,e[10]=m):m=e[10],x=c?void 0:r,d=h.map(Ws),e[0]=a,e[1]=n,e[2]=r,e[3]=c,e[4]=o,e[5]=m,e[6]=x,e[7]=d}else o=e[4],m=e[5],x=e[6],d=e[7];let f;return e[11]!==o||e[12]!==m||e[13]!==x||e[14]!==d?(f=t.jsx(o,{className:m,title:x,children:d}),e[11]=o,e[12]=m,e[13]=x,e[14]=d,e[15]=f):f=e[15],f}function Ws(s,e){return t.jsx("span",{className:Qs[s.kind]||void 0,children:s.text},e)}function Ys(s){const e=q.c(4);let r;e[0]!==s?({...r}=s,e[0]=s,e[1]=r):r=e[1];let l;return e[2]!==r?(l=t.jsx(Es,{"data-slot":"hover-card",...r}),e[2]=r,e[3]=l):l=e[3],l}function Zs(s){const e=q.c(4);let r;e[0]!==s?({...r}=s,e[0]=s,e[1]=r):r=e[1];let l;return e[2]!==r?(l=t.jsx($s,{"data-slot":"hover-card-trigger",...r}),e[2]=r,e[3]=l):l=e[3],l}function Xs(s){const e=q.c(12);let r,l,i,a;e[0]!==s?({className:r,align:i,sideOffset:a,...l}=s,e[0]=s,e[1]=r,e[2]=l,e[3]=i,e[4]=a):(r=e[1],l=e[2],i=e[3],a=e[4]);const c=i===void 0?"center":i,n=a===void 0?4:a;let o;e[5]!==r?(o=S("bg-popover text-popover-foreground data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 z-50 w-64 origin-(--radix-hover-card-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",r),e[5]=r,e[6]=o):o=e[6];let m;return e[7]!==c||e[8]!==l||e[9]!==n||e[10]!==o?(m=t.jsx(qs,{"data-slot":"hover-card-portal",children:t.jsx(Ps,{"data-slot":"hover-card-content",align:c,sideOffset:n,className:o,...l})}),e[7]=c,e[8]=l,e[9]=n,e[10]=o,e[11]=m):m=e[11],m}const qt={query:"bg-sky-500",transaction:"bg-sky-300",cache_event:"bg-violet-500",outgoing_request:"bg-orange-500",mail:"bg-pink-500",broadcast:"bg-teal-500",enqueued_job:"bg-amber-500",view_render:"bg-emerald-500",storage_op:"bg-indigo-500",exception:"bg-red-500",log:"bg-neutral-400",span:"bg-fuchsia-500",attachment:"bg-lime-500",llm_call:"bg-cyan-400"},gt={query:"Query",cache_event:"Cache",outgoing_request:"Outgoing",mail:"Mail",broadcast:"Broadcast",log:"Log",exception:"Exception",view_render:"View",storage_op:"Storage",enqueued_job:"Job",transaction:"Transaction",span:"Span",attachment:"Attachment",llm_call:"LLM"},en=["middleware_before","action","render","middleware_after","body"],bt={middleware_before:"before middleware",action:"action",render:"render",middleware_after:"after middleware",body:"body"},ft=[10,25,50,100,250,500,1e3,2500,5e3,1e4,3e4,6e4];function tn(s){const e=s/8;return ft.find(r=>r>=e)??ft[ft.length-1]}function sn(s,e){const r=[];for(let l=0;l<=s;l+=e)r.push(l);return r}const pt="grid grid-cols-[6rem_1fr_3.5rem] items-center gap-2 md:grid-cols-[5rem_13rem_1fr_4rem]",xt="hidden md:block";function Pt(s){const e=q.c(32),{entry:r,showSource:l}=s;let i;e[0]!==r.detail?(i=r.detail??{},e[0]=r.detail,e[1]=i):i=e[1];const a=i,c=gt[r.type]??r.type;let n;e[2]!==c?(n=t.jsx("span",{children:c}),e[2]=c,e[3]=n):n=e[3];let o;e[4]!==r.stage?(o=r.stage&&t.jsxs("span",{children:["· ",bt[r.stage]??r.stage]}),e[4]=r.stage,e[5]=o):o=e[5];let m;e[6]!==n||e[7]!==o?(m=t.jsxs("div",{className:"text-muted-foreground flex items-center gap-2 text-[10px] tracking-wide uppercase",children:[n,o]}),e[6]=n,e[7]=o,e[8]=m):m=e[8];let x;e[9]!==a||e[10]!==r.label||e[11]!==r.sql||e[12]!==r.type||e[13]!==l?(x=r.type==="query"&&r.sql?t.jsx(St,{sql:r.sql,wrap:!0,className:"text-[11px]"}):r.type==="cache_event"?t.jsxs("div",{className:"font-mono text-xs break-all",children:[String(a.op??"")," ",t.jsx("span",{className:"font-semibold",children:String(a.key??"")})]}):r.type==="outgoing_request"?t.jsxs("div",{className:"font-mono text-xs break-all",children:[String(a.method??"")," ",String(a.url??r.label),a.status!=null&&t.jsxs("span",{className:"text-muted-foreground",children:[" → ",String(a.status)]}),l&&typeof a.body=="string"&&a.body!==""&&t.jsx("pre",{className:"bg-muted mt-1.5 max-h-48 overflow-auto rounded p-2 text-[10px] break-all whitespace-pre-wrap",children:a.body})]}):r.type==="llm_call"?t.jsxs("div",{className:"font-mono text-xs break-all",children:[String(a.tool??r.label),a.input_tokens!=null&&t.jsxs("span",{className:"text-muted-foreground",children:[" ","· ",String(a.input_tokens)," in / ",String(a.output_tokens??0)," out"]}),a.cost!=null&&t.jsxs("span",{className:"text-muted-foreground",children:[" ","· ",xs(Number(a.cost))]}),a.step!=null&&t.jsxs("span",{className:"text-muted-foreground",children:[" ","· ",String(a.workflow??"")," / ",String(a.step)]}),a.error!=null&&t.jsx("div",{className:"text-destructive mt-1",children:String(a.error)})]}):r.type==="mail"?t.jsx("div",{className:"font-mono text-xs break-all",children:String(a.subject??r.label)}):r.type==="log"?t.jsxs("div",{className:"font-mono text-xs break-words",children:[t.jsx("span",{className:"text-muted-foreground uppercase",children:String(a.level??"")})," ",String(a.message??r.label)]}):r.type==="exception"?t.jsx("div",{className:"text-destructive font-mono text-xs break-words",children:r.label}):t.jsx("div",{className:"font-mono text-xs break-words",children:r.label}),e[9]=a,e[10]=r.label,e[11]=r.sql,e[12]=r.type,e[13]=l,e[14]=x):x=e[14];let d;e[15]!==r.offset?(d=y(r.offset),e[15]=r.offset,e[16]=d):d=e[16];let f;e[17]!==d?(f=t.jsxs("span",{children:["+",d]}),e[17]=d,e[18]=f):f=e[18];let h;e[19]!==r.duration?(h=r.duration!=null&&t.jsx("span",{children:y(r.duration)}),e[19]=r.duration,e[20]=h):h=e[20];let g;e[21]!==f||e[22]!==h?(g=t.jsxs("div",{className:"text-muted-foreground flex flex-wrap gap-x-3 text-[11px] tabular-nums",children:[f,h]}),e[21]=f,e[22]=h,e[23]=g):g=e[23];let p;e[24]!==r.source||e[25]!==l?(p=l&&r.source&&t.jsx("div",{className:"text-muted-foreground border-t pt-1 font-mono text-[11px] break-all",children:r.source}),e[24]=r.source,e[25]=l,e[26]=p):p=e[26];let _;return e[27]!==g||e[28]!==p||e[29]!==m||e[30]!==x?(_=t.jsxs("div",{className:"space-y-1.5",children:[m,x,g,p]}),e[27]=g,e[28]=p,e[29]=m,e[30]=x,e[31]=_):_=e[31],_}function Rt(s){const e=q.c(7),{ticks:r,span:l}=s;let i;if(e[0]!==l||e[1]!==r){let c;e[3]!==l?(c=n=>t.jsx("div",{className:"bg-border/60 pointer-events-none absolute top-0 h-full w-px",style:{left:`${n/l*100}%`}},n),e[3]=l,e[4]=c):c=e[4],i=r.map(c),e[0]=l,e[1]=r,e[2]=i}else i=e[2];let a;return e[5]!==i?(a=t.jsx(t.Fragment,{children:i}),e[5]=i,e[6]=a):a=e[6],a}function nn(s){const e=q.c(70),{entries:r,total:l,stages:i}=s;let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a=new Set,e[0]=a):a=e[0];const[c,n]=v.useState(a),[o,m]=v.useState(null);let x;e[1]!==r||e[2]!==l?(x=Math.max(l,...r.map(rn),1),e[1]=r,e[2]=l,e[3]=x):x=e[3];const d=x;let f,h,g,p,_,N,w,k;if(e[4]!==r||e[5]!==o||e[6]!==c||e[7]!==d||e[8]!==i){const se=tn(d),C=sn(d,se);let E;if(e[17]!==r){E=new Map;for(const u of r)E.set(u.type,(E.get(u.type)??0)+1);e[17]=r,e[18]=E}else E=e[18];const O=E;let D;e[19]!==c?(D=u=>!c.has(u.type),e[19]=c,e[20]=D):D=e[20];const ee=r.filter(D);let L;e[21]===Symbol.for("react.memo_cache_sentinel")?(L=function(j){n(P=>{const X=new Set(P);return X.has(j)?X.delete(j):X.add(j),X})},e[21]=L):L=e[21];const ne=L;let A;e[22]!==i?(A=u=>i[u]!==void 0,e[22]=i,e[23]=A):A=e[23];let H;e[24]!==i?(H=(u,j)=>{const P=u.length>0?u[u.length-1].start+u[u.length-1].width:0;return u.push({name:j,start:P,width:i[j]}),u},e[24]=i,e[25]=H):H=e[25];const re=en.filter(A).reduce(H,[]);N="space-y-2",e[26]!==O||e[27]!==c?(w=O.size>0&&t.jsx("div",{className:"flex flex-wrap items-center gap-1.5",children:[...O.entries()].map(u=>{const[j,P]=u;return t.jsxs("button",{type:"button",onClick:()=>ne(j),className:S("flex items-center gap-1.5 rounded-full border px-2 py-0.5 text-[10px] font-medium transition-colors",c.has(j)?"text-muted-foreground opacity-50":"hover:bg-muted/60"),children:[t.jsx("span",{className:S("size-1.5 rounded-full",qt[j]??"bg-neutral-500")}),gt[j]??j,t.jsx("span",{className:"text-muted-foreground tabular-nums",children:P})]},j)})}),e[26]=O,e[27]=c,e[28]=w):w=e[28];let M,z,F;e[29]===Symbol.for("react.memo_cache_sentinel")?(M=S(pt,"px-2 text-[10px]"),z=t.jsx("div",{className:xt}),F=t.jsx("div",{}),e[29]=M,e[30]=z,e[31]=F):(M=e[29],z=e[30],F=e[31]);let V;e[32]!==d?(V=u=>t.jsx("span",{className:"text-muted-foreground absolute -translate-x-1/2 tabular-nums",style:{left:`${u/d*100}%`},children:y(u,0)},u),e[32]=d,e[33]=V):V=e[33];const W=C.map(V);let $;e[34]!==W?($=t.jsx("div",{className:"relative h-4 select-none",children:W}),e[34]=W,e[35]=$):$=e[35];let ae;e[36]===Symbol.for("react.memo_cache_sentinel")?(ae=t.jsx("div",{}),e[36]=ae):ae=e[36],e[37]!==$?(k=t.jsxs("div",{className:M,children:[z,F,$,ae]}),e[37]=$,e[38]=k):k=e[38];let oe,B,U;e[39]===Symbol.for("react.memo_cache_sentinel")?(oe=S(pt,"px-2"),B=t.jsx("div",{className:xt}),U=t.jsx("div",{}),e[39]=oe,e[40]=B,e[41]=U):(oe=e[39],B=e[40],U=e[41]);let Y;e[42]!==d||e[43]!==C?(Y=t.jsx(Rt,{ticks:C,span:d}),e[42]=d,e[43]=C,e[44]=Y):Y=e[44];let G;e[45]!==d?(G=u=>t.jsxs("div",{className:"border-background bg-primary/20 absolute top-0 flex h-full items-center overflow-hidden border-r px-1 whitespace-nowrap",style:{left:`${u.start/d*100}%`,width:`${u.width/d*100}%`},title:`${bt[u.name]??u.name} ${y(u.width)}`,children:[bt[u.name]??u.name," ",y(u.width,0)]},u.name),e[45]=d,e[46]=G):G=e[46];const ue=re.map(G);let Z;e[47]!==Y||e[48]!==ue?(Z=t.jsxs("div",{className:"bg-muted/40 relative h-5 overflow-hidden rounded text-[10px]",children:[Y,ue]}),e[47]=Y,e[48]=ue,e[49]=Z):Z=e[49];let K;e[50]===Symbol.for("react.memo_cache_sentinel")?(K=t.jsx("div",{}),e[50]=K):K=e[50],e[51]!==Z?(f=t.jsxs("div",{className:oe,children:[B,U,Z,K]}),e[51]=Z,e[52]=f):f=e[52],h="max-h-[32rem] overflow-y-auto rounded-lg border",e[53]!==r.length?(g=r.length===0&&t.jsx("div",{className:"text-muted-foreground p-4 text-center text-sm",children:"No child events recorded."}),e[53]=r.length,e[54]=g):g=e[54],p=r.length>0&&ee.length===0&&t.jsx("div",{className:"text-muted-foreground p-4 text-center text-sm",children:"No events match the active filters."});let J;e[55]!==o||e[56]!==d||e[57]!==C?(J=u=>{const j=`${u.type}-${u.id}`,P=d>0&&(u.duration??0)/d>.1,X=u.type==="exception";return t.jsxs("div",{className:"border-b last:border-b-0",style:{contentVisibility:"auto",containIntrinsicSize:"0 28px"},children:[t.jsxs(Ys,{openDelay:150,children:[t.jsx(Zs,{asChild:!0,children:t.jsxs("button",{type:"button",onClick:()=>m(o===j?null:j),className:S(pt,"hover:bg-muted/40 w-full px-2 py-1 text-left text-xs"),children:[t.jsx("span",{className:S("text-muted-foreground truncate font-mono",xt),children:gt[u.type]??u.type}),u.type==="query"&&u.sql?t.jsx(St,{sql:u.sql}):t.jsx("span",{className:"truncate font-mono",children:u.label}),t.jsxs("div",{className:"bg-muted/30 relative h-3 rounded",children:[t.jsx(Rt,{ticks:C,span:d}),X?t.jsx("div",{className:"absolute top-1/2 size-2.5 -translate-x-1/2 -translate-y-1/2 rotate-45 bg-red-500",style:{left:`${Math.min(100,u.offset/d*100)}%`}}):t.jsx("div",{className:S("absolute top-0 h-full rounded",qt[u.type]??"bg-neutral-500",P?"ring-foreground/30 opacity-100 ring-1 ring-inset":"opacity-70"),style:{left:`${Math.min(100,u.offset/d*100)}%`,width:`${Math.max(.3,(u.duration??0)/d*100)}%`}})]}),t.jsx("span",{className:S("text-muted-foreground text-right tabular-nums",P&&"text-foreground font-semibold"),children:u.duration!=null?y(u.duration):"–"})]})}),t.jsx(Xs,{className:"w-80",align:"start",children:t.jsx(Pt,{entry:u})})]}),o===j&&t.jsx("div",{className:"bg-muted/20 border-t px-4 py-2",children:t.jsx(Pt,{entry:u,showSource:!0})})]},j)},e[55]=o,e[56]=d,e[57]=C,e[58]=J):J=e[58],_=ee.map(J),e[4]=r,e[5]=o,e[6]=c,e[7]=d,e[8]=i,e[9]=f,e[10]=h,e[11]=g,e[12]=p,e[13]=_,e[14]=N,e[15]=w,e[16]=k}else f=e[9],h=e[10],g=e[11],p=e[12],_=e[13],N=e[14],w=e[15],k=e[16];let T;e[59]!==h||e[60]!==g||e[61]!==p||e[62]!==_?(T=t.jsxs("div",{className:h,children:[g,p,_]}),e[59]=h,e[60]=g,e[61]=p,e[62]=_,e[63]=T):T=e[63];let I;return e[64]!==f||e[65]!==T||e[66]!==N||e[67]!==w||e[68]!==k?(I=t.jsxs("div",{className:N,children:[w,k,f,T]}),e[64]=f,e[65]=T,e[66]=N,e[67]=w,e[68]=k,e[69]=I):I=e[69],I}function rn(s){return s.offset+(s.duration??0)}function an(s){const e=q.c(10);let r,l,i;e[0]!==s?({className:r,orientation:i,...l}=s,e[0]=s,e[1]=r,e[2]=l,e[3]=i):(r=e[1],l=e[2],i=e[3]);const a=i===void 0?"horizontal":i;let c;e[4]!==r?(c=S("group/tabs flex gap-2 data-[orientation=horizontal]:flex-col",r),e[4]=r,e[5]=c):c=e[5];let n;return e[6]!==a||e[7]!==l||e[8]!==c?(n=t.jsx(Vs,{"data-slot":"tabs","data-orientation":a,orientation:a,className:c,...l}),e[6]=a,e[7]=l,e[8]=c,e[9]=n):n=e[9],n}const on=fs("group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-[orientation=horizontal]/tabs:h-9 group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col data-[variant=line]:rounded-none",{variants:{variant:{default:"bg-muted",line:"gap-1 bg-transparent"}},defaultVariants:{variant:"default"}});function ln(s){const e=q.c(11);let r,l,i;e[0]!==s?({className:r,variant:i,...l}=s,e[0]=s,e[1]=r,e[2]=l,e[3]=i):(r=e[1],l=e[2],i=e[3]);const a=i===void 0?"default":i;let c;e[4]!==r||e[5]!==a?(c=S(on({variant:a}),r),e[4]=r,e[5]=a,e[6]=c):c=e[6];let n;return e[7]!==l||e[8]!==c||e[9]!==a?(n=t.jsx(Bs,{"data-slot":"tabs-list","data-variant":a,className:c,...l}),e[7]=l,e[8]=c,e[9]=a,e[10]=n):n=e[10],n}function at(s){const e=q.c(8);let r,l;e[0]!==s?({className:r,...l}=s,e[0]=s,e[1]=r,e[2]=l):(r=e[1],l=e[2]);let i;e[3]!==r?(i=S("text-foreground/60 hover:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:text-muted-foreground dark:hover:text-foreground relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent","data-[state=active]:bg-background data-[state=active]:text-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground","after:bg-foreground after:absolute after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100",r),e[3]=r,e[4]=i):i=e[4];let a;return e[5]!==l||e[6]!==i?(a=t.jsx(Us,{"data-slot":"tabs-trigger",className:i,...l}),e[5]=l,e[6]=i,e[7]=a):a=e[7],a}function ot(s){const e=q.c(8);let r,l;e[0]!==s?({className:r,...l}=s,e[0]=s,e[1]=r,e[2]=l):(r=e[1],l=e[2]);let i;e[3]!==r?(i=S("flex-1 outline-none",r),e[3]=r,e[4]=i):i=e[4];let a;return e[5]!==l||e[6]!==i?(a=t.jsx(Gs,{"data-slot":"tabs-content",className:i,...l}),e[5]=l,e[6]=i,e[7]=a):a=e[7],a}const cn={request:"Request",job_attempt:"Job attempt",scheduled_task:"Scheduled task",command:"Command",channel_action:"Channel action"};function dn(s){const e=q.c(8),{value:r}=s,[,l]=Mt(),[i,a]=v.useState(!1);let c;e[0]!==l||e[1]!==r?(c=()=>{(async()=>await l(r)&&(a(!0),setTimeout(()=>a(!1),1200)))()},e[0]=l,e[1]=r,e[2]=c):c=e[2];let n;e[3]!==i?(n=i?t.jsx(At,{className:"size-3"}):t.jsx(gs,{className:"size-3"}),e[3]=i,e[4]=n):n=e[4];let o;return e[5]!==c||e[6]!==n?(o=t.jsx("button",{type:"button",onClick:c,className:"hover:text-foreground text-muted-foreground ml-1 inline-flex align-middle",title:"Copy",children:n}),e[5]=c,e[6]=n,e[7]=o):o=e[7],o}function un(s){try{return JSON.parse(String(s))}catch{return String(s)}}function mn(s,e){const r=[];r.push(`# ${e.name}`),r.push(""),r.push(`- status: ${e.status??e.outcome??"-"}`),r.push(`- duration: ${y(e.duration)}`),r.push(`- occurred_at: ${e.occurred_at}`),r.push(""),r.push("## Stages");for(const[i,a]of Object.entries(e.stages))r.push(`- ${i}: ${y(a)}`);r.push(""),r.push("## Counters");for(const[i,a]of Object.entries(e.counters))r.push(`- ${i}: ${a}`);if(s.exceptions.length>0){r.push(""),r.push("## Exceptions");for(const i of s.exceptions){r.push(`### ${i.class_name}: ${i.message}`);for(const a of i.frames.filter(c=>c.in_app))r.push(`- ${a.file}:${a.line} in \`${a.function}\``)}}const l=[...s.queries].sort((i,a)=>a.duration-i.duration).slice(0,5);if(l.length>0){r.push(""),r.push("## Slow queries");for(const i of l)r.push(`- ${y(i.duration,2)} — \`${i.sql}\``)}return r.join(`
|
|
2
|
-
`)}function ur(s){const e=q.c(244),{environment:r,range:l,window:i}=Ut().props,a=r.application_id,c=r.id,n=s.execution,o=n.detail;let m;e[0]!==o.headers?(m=o.headers??{},e[0]=o.headers,e[1]=m):m=e[1];const x=m,d=o.inertia,[,f]=Mt(),[h,g]=v.useState(!1),p=n.name,_=cn[n.kind]??n.kind;let N;e[2]!==_?(N={title:_,href:"#"},e[2]=_,e[3]=N):N=e[3];let w;e[4]!==n.name?(w={title:n.name,href:"#"},e[4]=n.name,e[5]=w):w=e[5];let k;e[6]!==N||e[7]!==w?(k=[N,w],e[6]=N,e[7]=w,e[8]=k):k=e[8];let T;e[9]!==n.outcome||e[10]!==n.status?(T=t.jsx(it,{status:n.status,outcome:n.outcome}),e[9]=n.outcome,e[10]=n.status,e[11]=T):T=e[11];let I;e[12]!==n.name?(I=t.jsx("span",{className:"font-mono",children:n.name}),e[12]=n.name,e[13]=I):I=e[13];let se;e[14]!==n.profiled?(se=n.profiled&&t.jsx(jt,{variant:"secondary",className:"font-mono",children:"profiled"}),e[14]=n.profiled,e[15]=se):se=e[15];let C;e[16]!==T||e[17]!==I||e[18]!==se?(C=t.jsxs("span",{className:"flex flex-wrap items-center gap-2",children:[T,I,se]}),e[16]=T,e[17]=I,e[18]=se,e[19]=C):C=e[19];let E;e[20]!==n.occurred_at?(E=hs(n.occurred_at),e[20]=n.occurred_at,e[21]=E):E=e[21];let O;e[22]!==E?(O=t.jsx("span",{children:E}),e[22]=E,e[23]=O):O=e[23];let D;e[24]!==n.server?(D=n.server&&t.jsxs("span",{children:["server ",n.server]}),e[24]=n.server,e[25]=D):D=e[25];let ee;e[26]!==n.deploy?(ee=n.deploy&&t.jsxs("span",{children:["deploy ",n.deploy.slice(0,12)]}),e[26]=n.deploy,e[27]=ee):ee=e[27];let L;e[28]!==a||e[29]!==c||e[30]!==s.person||e[31]!==l||e[32]!==i||e[33]!==n.tenant||e[34]!==n.user_ref?(L=n.user_ref&&t.jsxs("span",{className:"inline-flex items-center gap-1",children:["origin user",t.jsx(Et,{applicationId:a,environmentId:c,kind:"user",range:l,window:i,user_ref:n.user_ref,tenant:n.tenant,person:s.person&&{ref:s.person.ref,name:s.person.name??s.person.ref}})]}),e[28]=a,e[29]=c,e[30]=s.person,e[31]=l,e[32]=i,e[33]=n.tenant,e[34]=n.user_ref,e[35]=L):L=e[35];let ne;e[36]!==a||e[37]!==c||e[38]!==l||e[39]!==i||e[40]!==n.tenant||e[41]!==n.user_ref?(ne=n.tenant&&t.jsxs("span",{className:"inline-flex items-center gap-1",children:["origin tenant",t.jsx(Et,{applicationId:a,environmentId:c,kind:"tenant",range:l,window:i,user_ref:n.user_ref,tenant:n.tenant,person:null})]}),e[36]=a,e[37]=c,e[38]=l,e[39]=i,e[40]=n.tenant,e[41]=n.user_ref,e[42]=ne):ne=e[42];let A;e[43]!==O||e[44]!==D||e[45]!==ee||e[46]!==L||e[47]!==ne?(A=t.jsxs("span",{className:"flex flex-wrap gap-x-3 text-xs",children:[O,D,ee,L,ne]}),e[43]=O,e[44]=D,e[45]=ee,e[46]=L,e[47]=ne,e[48]=A):A=e[48];let H;e[49]!==f||e[50]!==s||e[51]!==n?(H=()=>{(async()=>await f(mn(s,n))&&(g(!0),setTimeout(()=>g(!1),1200)))()},e[49]=f,e[50]=s,e[51]=n,e[52]=H):H=e[52];let re;e[53]!==h?(re=h?t.jsx(At,{className:"size-3.5"}):t.jsx(Yt,{className:"size-3.5"}),e[53]=h,e[54]=re):re=e[54];let M;e[55]!==H||e[56]!==re?(M=t.jsxs(ps,{type:"button",variant:"outline",size:"sm",onClick:H,children:[re,"Copy as Markdown"]}),e[55]=H,e[56]=re,e[57]=M):M=e[57];let z;e[58]!==A||e[59]!==M||e[60]!==C?(z=t.jsx(Xt,{withWindow:!1,title:C,description:A,actions:M}),e[58]=A,e[59]=M,e[60]=C,e[61]=z):z=e[61];let F;e[62]!==s.issues?(F=s.issues.length>0&&t.jsx("div",{className:"flex flex-wrap gap-2",children:s.issues.map(Fn)}),e[62]=s.issues,e[63]=F):F=e[63];let V;e[64]!==n.duration?(V=y(n.duration),e[64]=n.duration,e[65]=V):V=e[65];let W;e[66]!==n.queue_latency?(W=n.queue_latency!=null?`queued ${y(n.queue_latency)}`:void 0,e[66]=n.queue_latency,e[67]=W):W=e[67];let $;e[68]!==V||e[69]!==W?($=t.jsx(me,{label:"Duration",value:V,hint:W}),e[68]=V,e[69]=W,e[70]=$):$=e[70];const ae=n.counters.queries??0,oe=`${n.counters.cached_queries??0} cached · ${n.counters.hydrated_models??0} models`;let B;e[71]!==ae||e[72]!==oe?(B=t.jsx(me,{label:"Queries",value:ae,hint:oe}),e[71]=ae,e[72]=oe,e[73]=B):B=e[73];let U;e[74]!==n.queue_time?(U=n.queue_time!=null&&t.jsx(me,{label:"Queue time",value:y(n.queue_time)}),e[74]=n.queue_time,e[75]=U):U=e[75];const Y=n.counters.cache_events??0;let G;e[76]!==Y?(G=t.jsx(me,{label:"Cache",value:Y}),e[76]=Y,e[77]=G):G=e[77];const ue=n.counters.outgoing_requests??0,Z=`${n.counters.jobs_enqueued??0} jobs enqueued · ${n.counters.mail??0} mail`;let K;e[78]!==ue||e[79]!==Z?(K=t.jsx(me,{label:"Outgoing",value:ue,hint:Z}),e[78]=ue,e[79]=Z,e[80]=K):K=e[80];let J;e[81]!==n.allocations?(J=$t(n.allocations),e[81]=n.allocations,e[82]=J):J=e[82];let u;e[83]!==n.peak_memory?(u=n.peak_memory?`RSS ${Ht(n.peak_memory)}`:void 0,e[83]=n.peak_memory,e[84]=u):u=e[84];let j;e[85]!==J||e[86]!==u?(j=t.jsx(me,{label:"Allocations",value:J,hint:u}),e[85]=J,e[86]=u,e[87]=j):j=e[87];const P=n.counters.exceptions??0,X=n.counters.exceptions?"destructive":void 0,ct=n.counters.lazy_loads?`${n.counters.lazy_loads} lazy loads`:void 0;let fe;e[88]!==P||e[89]!==X||e[90]!==ct?(fe=t.jsx(me,{label:"Exceptions",value:P,tone:X,hint:ct}),e[88]=P,e[89]=X,e[90]=ct,e[91]=fe):fe=e[91];let pe;e[92]!==$||e[93]!==B||e[94]!==U||e[95]!==G||e[96]!==K||e[97]!==j||e[98]!==fe?(pe=t.jsxs(ts,{children:[$,B,U,G,K,j,fe]}),e[92]=$,e[93]=B,e[94]=U,e[95]=G,e[96]=K,e[97]=j,e[98]=fe,e[99]=pe):pe=e[99];let xe;e[100]!==a||e[101]!==c||e[102]!==s.trace||e[103]!==s.trace_url?(xe=s.trace.length>1&&t.jsxs(ie,{children:[t.jsx(le,{children:t.jsxs(ce,{className:"flex flex-wrap items-center justify-between gap-2",children:["Trace",s.trace_url&&t.jsx(ze,{href:s.trace_url,className:"text-primary text-xs font-normal hover:underline",children:"View distributed trace"})]})}),t.jsx(de,{children:t.jsx("div",{className:"flex flex-wrap items-center gap-2 text-xs",children:s.trace.map((b,Q)=>{const Me=Math.max(...s.trace.map(zn),1);return t.jsxs("span",{className:"flex items-center gap-2",children:[Q>0&&t.jsx("span",{className:"text-muted-foreground",children:"→"}),t.jsxs(ze,{href:bs({applicationId:a,environmentId:c,source:b.kind,executionId:b.execution_id}),className:b.current?"bg-muted flex items-center gap-1.5 rounded px-2 py-1 font-semibold":"hover:bg-muted flex items-center gap-1.5 rounded px-2 py-1",children:[t.jsx(it,{status:b.status,outcome:b.outcome})," ",t.jsx("span",{className:"font-mono",children:b.name}),t.jsx("span",{className:"bg-muted-foreground/25 relative h-1.5 w-10 overflow-hidden rounded-full",children:t.jsx("span",{className:"bg-primary absolute inset-y-0 left-0 rounded-full",style:{width:`${Math.max(4,b.duration/Me*100)}%`}})}),t.jsx("span",{className:"text-muted-foreground",children:y(b.duration)})]})]},b.execution_id)})})})]}),e[100]=a,e[101]=c,e[102]=s.trace,e[103]=s.trace_url,e[104]=xe):xe=e[104];let he;if(e[105]!==s.exceptions||e[106]!==s.execution){let b;e[108]!==s.execution?(b=Q=>t.jsxs(ie,{className:"border-destructive/40",children:[t.jsx(le,{children:t.jsx(ce,{children:"Exception"})}),t.jsx(de,{children:t.jsx(Zt,{exception:Q,deploy:s.execution.deploy})})]},Q.id),e[108]=s.execution,e[109]=b):b=e[109],he=s.exceptions.map(b),e[105]=s.exceptions,e[106]=s.execution,e[107]=he}else he=e[107];let Ge;e[110]===Symbol.for("react.memo_cache_sentinel")?(Ge=t.jsx(le,{children:t.jsx(ce,{children:"Timeline"})}),e[110]=Ge):Ge=e[110];let ge;e[111]!==s.timeline||e[112]!==n.duration||e[113]!==n.stages?(ge=t.jsxs(ie,{children:[Ge,t.jsx(de,{children:t.jsx(nn,{entries:s.timeline,total:n.duration,stages:n.stages})})]}),e[111]=s.timeline,e[112]=n.duration,e[113]=n.stages,e[114]=ge):ge=e[114];let be;e[115]!==s.spans?(be=s.spans.length>0&&t.jsxs(ie,{children:[t.jsx(le,{children:t.jsx(ce,{children:"Spans"})}),t.jsx(de,{children:t.jsx(Ve,{rows:s.spans,rowKey:Mn,columns:[{key:"off",header:"+ms",align:"right",cell:Hn},{key:"name",header:"Span",cell:An},{key:"status",header:"Status",cell:Ln},{key:"attrs",header:"Attributes",cell:On},{key:"dur",header:"Duration",align:"right",cell:In}]})})]}),e[115]=s.spans,e[116]=be):be=e[116];let ve;e[117]!==a||e[118]!==c||e[119]!==s.profile?(ve=s.profile&&t.jsxs(ie,{children:[t.jsx(le,{children:t.jsxs(ce,{className:"flex flex-wrap items-center justify-between gap-2",children:["Profile",t.jsx(ze,{href:Gt(a,c,s.profile.id),className:"text-primary text-xs font-normal hover:underline",children:"Open full profile"})]})}),t.jsxs(de,{className:"space-y-2",children:[t.jsxs("p",{className:"text-muted-foreground font-mono text-[11px]",children:[s.profile.profiler,s.profile.mode?` · ${s.profile.mode}`:""," ·"," ",$t(s.profile.samples)," samples · ",y(s.profile.duration),s.profile.truncated&&" · truncated for this page"]}),t.jsx(Wt,{collapsed:s.profile.collapsed})]})]}),e[117]=a,e[118]=c,e[119]=s.profile,e[120]=ve):ve=e[120];let je;e[121]!==a||e[122]!==c||e[123]!==s.attachments?(je=s.attachments.length>0&&t.jsxs(ie,{children:[t.jsx(le,{children:t.jsx(ce,{children:"Attachments"})}),t.jsx(de,{children:t.jsx(Ve,{rows:s.attachments,rowKey:Rn,columns:[{key:"name",header:"Name",className:"max-w-0",cell:Pn},{key:"type",hideOnMobile:!0,header:"Type",cell:qn},{key:"size",header:"Size",align:"right",cell:$n},{key:"links",header:"",align:"right",cell:b=>t.jsxs("span",{className:"flex justify-end gap-3",children:[b.viewable&&t.jsx("a",{className:"text-primary hover:underline",href:Tt(a,c,b.id,{view:1}),children:"View"}),t.jsx("a",{className:"text-primary hover:underline",href:Tt(a,c,b.id),children:"Download"})]})}]})})]}),e[121]=a,e[122]=c,e[123]=s.attachments,e[124]=je):je=e[124];let _e;e[125]!==s.queries.length?(_e=t.jsxs(at,{value:"queries",children:["Queries (",s.queries.length,")"]}),e[125]=s.queries.length,e[126]=_e):_e=e[126];let ye;e[127]!==s.logs.length?(ye=t.jsxs(at,{value:"logs",children:["Logs (",s.logs.length,")"]}),e[127]=s.logs.length,e[128]=ye):ye=e[128];let Ne;e[129]!==s.enqueued_jobs.length?(Ne=t.jsxs(at,{value:"jobs",children:["Enqueued jobs (",s.enqueued_jobs.length,")"]}),e[129]=s.enqueued_jobs.length,e[130]=Ne):Ne=e[130];let Ke;e[131]===Symbol.for("react.memo_cache_sentinel")?(Ke=t.jsx(at,{value:"request",children:"Details"}),e[131]=Ke):Ke=e[131];let we;e[132]!==_e||e[133]!==ye||e[134]!==Ne?(we=t.jsxs(ln,{children:[_e,ye,Ne,Ke]}),e[132]=_e,e[133]=ye,e[134]=Ne,e[135]=we):we=e[135];let Je;e[136]===Symbol.for("react.memo_cache_sentinel")?(Je={key:"off",header:"+ms",align:"right",cell:Tn},e[136]=Je):Je=e[136];let ke;e[137]!==a||e[138]!==c?(ke={key:"sql",header:"SQL",cell:b=>t.jsx(ze,{href:Kt(a,c,b.group_hash),children:t.jsx(St,{sql:b.sql,className:"hover:underline"})})},e[137]=a,e[138]=c,e[139]=ke):ke=e[139];let Qe,We,Ye;e[140]===Symbol.for("react.memo_cache_sentinel")?(Qe={key:"rows",header:"Rows",align:"right",cell:Sn},We={key:"src",header:"Source",cell:Cn},Ye={key:"dur",header:"Duration",align:"right",cell:kn},e[140]=Qe,e[141]=We,e[142]=Ye):(Qe=e[140],We=e[141],Ye=e[142]);let Ce;e[143]!==ke?(Ce=[Je,ke,Qe,We,Ye],e[143]=ke,e[144]=Ce):Ce=e[144];let Se;e[145]!==s.queries||e[146]!==Ce?(Se=t.jsx(ot,{value:"queries",children:t.jsx(Ve,{rows:s.queries,rowKey:En,empty:"No queries.",columns:Ce})}),e[145]=s.queries,e[146]=Ce,e[147]=Se):Se=e[147];let Ze;e[148]===Symbol.for("react.memo_cache_sentinel")?(Ze=[{key:"lvl",header:"Level",cell:Nn},{key:"msg",header:"Message",cell:yn},{key:"tags",header:"Tags",cell:_n},{key:"stage",header:"Stage",cell:jn}],e[148]=Ze):Ze=e[148];let Te;e[149]!==s.logs?(Te=t.jsx(ot,{value:"logs",children:t.jsx(Ve,{rows:s.logs,rowKey:wn,empty:"No logs.",columns:Ze})}),e[149]=s.logs,e[150]=Te):Te=e[150];let Xe,et,tt;e[151]===Symbol.for("react.memo_cache_sentinel")?(Xe={key:"name",header:"Job",cell:bn},et={key:"queue",header:"Queue",cell:gn},tt={key:"id",header:"Job id",cell:hn},e[151]=Xe,e[152]=et,e[153]=tt):(Xe=e[151],et=e[152],tt=e[153]);let Ee;e[154]!==a||e[155]!==c?(Ee=[Xe,et,tt,{key:"attempt",header:"Attempt",cell:b=>b.attempt_execution_id?t.jsx(ze,{className:"hover:underline",href:Jt(a,c,b.attempt_execution_id),children:t.jsx(it,{outcome:b.attempt_outcome})}):t.jsx("span",{className:"text-muted-foreground text-xs",children:"not seen yet"})}],e[154]=a,e[155]=c,e[156]=Ee):Ee=e[156];let $e;e[157]!==s.enqueued_jobs||e[158]!==Ee?($e=t.jsx(ot,{value:"jobs",children:t.jsx(Ve,{rows:s.enqueued_jobs,rowKey:vn,empty:"No jobs enqueued.",columns:Ee})}),e[157]=s.enqueued_jobs,e[158]=Ee,e[159]=$e):$e=e[159];let st;e[160]===Symbol.for("react.memo_cache_sentinel")?(st=t.jsx(le,{children:t.jsx(ce,{children:"Execution"})}),e[160]=st):st=e[160];let qe;if(e[161]!==o.arguments_preview||e[162]!==o.db_runtime||e[163]!==o.format||e[164]!==o.halted_callback||e[165]!==o.ip||e[166]!==o.redirect_to||e[167]!==o.schedule||e[168]!==o.url||e[169]!==o.user_agent||e[170]!==o.view_runtime||e[171]!==n.action||e[172]!==n.attempt||e[173]!==n.controller||e[174]!==n.execution_id||e[175]!==n.inertia_component||e[176]!==n.job_id||e[177]!==n.kind||e[178]!==n.queue||e[179]!==n.route||e[180]!==n.task_key||e[181]!==n.trace_id){const b=n.controller&&`${n.controller}#${n.action}`;let Q;e[183]!==o.arguments_preview?(Q=Array.isArray(o.arguments_preview)?o.arguments_preview.join(", "):void 0,e[183]=o.arguments_preview,e[184]=Q):Q=e[184];let Me;e[185]!==o.db_runtime||e[186]!==o.format||e[187]!==o.halted_callback||e[188]!==o.ip||e[189]!==o.redirect_to||e[190]!==o.schedule||e[191]!==o.url||e[192]!==o.user_agent||e[193]!==o.view_runtime||e[194]!==b||e[195]!==Q||e[196]!==n.attempt||e[197]!==n.execution_id||e[198]!==n.inertia_component||e[199]!==n.job_id||e[200]!==n.kind||e[201]!==n.queue||e[202]!==n.route||e[203]!==n.task_key||e[204]!==n.trace_id?(Me={kind:n.kind,trace_id:n.trace_id,execution_id:n.execution_id,controller:b,route:n.route,url:o.url,ip:o.ip,format:o.format,queue:n.queue,attempt:n.attempt,job_id:n.job_id,task_key:n.task_key,schedule:o.schedule,inertia_component:n.inertia_component,redirect_to:o.redirect_to,halted_callback:o.halted_callback,view_runtime:o.view_runtime,db_runtime:o.db_runtime,user_agent:o.user_agent,arguments:Q},e[185]=o.db_runtime,e[186]=o.format,e[187]=o.halted_callback,e[188]=o.ip,e[189]=o.redirect_to,e[190]=o.schedule,e[191]=o.url,e[192]=o.user_agent,e[193]=o.view_runtime,e[194]=b,e[195]=Q,e[196]=n.attempt,e[197]=n.execution_id,e[198]=n.inertia_component,e[199]=n.job_id,e[200]=n.kind,e[201]=n.queue,e[202]=n.route,e[203]=n.task_key,e[204]=n.trace_id,e[205]=Me):Me=e[205],qe=t.jsx("dl",{className:"grid gap-y-1 text-xs sm:grid-cols-[10rem_1fr]",children:Object.entries(Me).filter(xn).map(pn)}),e[161]=o.arguments_preview,e[162]=o.db_runtime,e[163]=o.format,e[164]=o.halted_callback,e[165]=o.ip,e[166]=o.redirect_to,e[167]=o.schedule,e[168]=o.url,e[169]=o.user_agent,e[170]=o.view_runtime,e[171]=n.action,e[172]=n.attempt,e[173]=n.controller,e[174]=n.execution_id,e[175]=n.inertia_component,e[176]=n.job_id,e[177]=n.kind,e[178]=n.queue,e[179]=n.route,e[180]=n.task_key,e[181]=n.trace_id,e[182]=qe}else qe=e[182];let Pe;e[206]!==d?(Pe=d&&t.jsx("div",{className:"mt-3",children:t.jsx(dt,{data:d})}),e[206]=d,e[207]=Pe):Pe=e[207];let Re;e[208]!==o.context?(Re=o.context&&o.context!=="{}"&&t.jsx("div",{className:"mt-3",children:t.jsx(dt,{data:un(o.context)})}),e[208]=o.context,e[209]=Re):Re=e[209];let Ie;e[210]!==qe||e[211]!==Pe||e[212]!==Re?(Ie=t.jsxs(ie,{children:[st,t.jsxs(de,{children:[qe,Pe,Re]})]}),e[210]=qe,e[211]=Pe,e[212]=Re,e[213]=Ie):Ie=e[213];let nt;e[214]===Symbol.for("react.memo_cache_sentinel")?(nt=t.jsx(le,{children:t.jsx(ce,{children:"Headers"})}),e[214]=nt):nt=e[214];let Oe;e[215]!==x?(Oe=t.jsx("dl",{className:"grid gap-y-1 text-xs sm:grid-cols-[12rem_1fr]",children:Object.entries(x).map(fn)}),e[215]=x,e[216]=Oe):Oe=e[216];let De;e[217]!==o.payload?(De=o.payload!=null&&t.jsx("div",{className:"mt-3",children:t.jsx(dt,{data:o.payload})}),e[217]=o.payload,e[218]=De):De=e[218];let Le;e[219]!==Oe||e[220]!==De?(Le=t.jsxs(ie,{children:[nt,t.jsxs(de,{children:[Oe,De]})]}),e[219]=Oe,e[220]=De,e[221]=Le):Le=e[221];let Ae;e[222]!==Ie||e[223]!==Le?(Ae=t.jsx(ot,{value:"request",children:t.jsxs("div",{className:"grid gap-4 lg:grid-cols-2",children:[Ie,Le]})}),e[222]=Ie,e[223]=Le,e[224]=Ae):Ae=e[224];let He;e[225]!==we||e[226]!==Se||e[227]!==Te||e[228]!==$e||e[229]!==Ae?(He=t.jsxs(an,{defaultValue:"queries",children:[we,Se,Te,$e,Ae]}),e[225]=we,e[226]=Se,e[227]=Te,e[228]=$e,e[229]=Ae,e[230]=He):He=e[230];let rt;return e[231]!==z||e[232]!==F||e[233]!==pe||e[234]!==xe||e[235]!==he||e[236]!==ge||e[237]!==be||e[238]!==ve||e[239]!==je||e[240]!==k||e[241]!==He||e[242]!==n.name?(rt=t.jsxs(es,{title:p,crumbs:k,children:[z,F,pe,xe,he,ge,be,ve,je,He]}),e[231]=z,e[232]=F,e[233]=pe,e[234]=xe,e[235]=he,e[236]=ge,e[237]=be,e[238]=ve,e[239]=je,e[240]=k,e[241]=He,e[242]=n.name,e[243]=rt):rt=e[243],rt}function fn(s){const[e,r]=s;return t.jsxs("div",{className:"contents",children:[t.jsx("dt",{className:"text-muted-foreground font-mono",children:e}),t.jsx("dd",{className:"font-mono break-all",children:r})]},e)}function pn(s){const[e,r]=s;return t.jsxs("div",{className:"contents",children:[t.jsx("dt",{className:"text-muted-foreground",children:e}),t.jsxs("dd",{className:"font-mono break-all",children:[String(r),(e==="trace_id"||e==="execution_id")&&t.jsx(dn,{value:String(r)})]})]},e)}function xn(s){const[,e]=s;return e!=null&&e!==""}function hn(s){return t.jsx("span",{className:"font-mono text-xs",children:s.job_id})}function gn(s){return s.queue}function bn(s){return t.jsx("span",{className:"font-mono text-xs",children:s.name})}function vn(s){return s.id}function jn(s){return t.jsx("span",{className:"text-muted-foreground text-xs",children:s.stage??""})}function _n(s){return s.tags.join(" ")}function yn(s){return t.jsx("span",{className:"font-mono text-xs whitespace-pre-wrap",children:s.message})}function Nn(s){return t.jsx(ss,{level:s.level})}function wn(s){return s.id}function kn(s){return y(s.duration,2)}function Cn(s){return t.jsx("span",{className:"text-muted-foreground font-mono text-xs",children:s.source??""})}function Sn(s){return s.row_count??"–"}function Tn(s){return s.offset.toFixed(1)}function En(s){return s.id}function $n(s){return Ht(s.bytes)}function qn(s){return t.jsx("span",{className:"text-muted-foreground font-mono text-xs",children:s.content_type??"–"})}function Pn(s){return t.jsxs("span",{className:"flex items-center gap-1.5",children:[t.jsx("span",{className:"truncate font-mono text-xs",children:s.name}),s.truncated&&t.jsx(jt,{variant:"secondary",children:"truncated"})]})}function Rn(s){return s.id}function In(s){return y(s.duration,2)}function On(s){return t.jsx("span",{className:"flex flex-wrap gap-1",children:Object.entries(s.attributes).map(Dn)})}function Dn(s){const[e,r]=s;return t.jsxs("span",{className:"bg-muted rounded-sm px-1.5 font-mono text-[10px]",children:[e,"=",String(r)]},e)}function Ln(s){return t.jsx(it,{outcome:s.status})}function An(s){return t.jsx("span",{className:"font-mono text-xs",children:s.name})}function Hn(s){return s.offset.toFixed(1)}function Mn(s){return s.id}function zn(s){return s.duration}function Fn(s){return t.jsx(ze,{href:Qt(s.id),children:t.jsx(jt,{variant:"destructive",className:"font-mono",children:s.key})},s.id)}export{ur as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as Ge,u as Le,l as Ke,j as s,L as Oe,i as Pe}from"./inertia-DfNRARuA.js";import{D as ke}from"./data-table-CQ_YRWQs.js";import{b as Ue,E as Se,G as ze,O as Ee}from"./app-layout-by7G3sa1.js";import{P as Ae,E as Be}from"./env-layout-CdMWbUkm.js";import{R as We}from"./relative-time-Dsc_cCdX.js";import{S as ae,a as Je}from"./stat-DT2hhsqS.js";import{I as Qe}from"./status-badge-CmbRKlY7.js";import{C as He,a as Me,b as Ie,c as Te}from"./card-C-PPSA0g.js";import{w as Ve,m as De,p as ce,c as Fe}from"./format-B9SDkrWj.js";import{c as Xe,a as Ye}from"./source-link-B2183i2-.js";import{ReleaseHealthStrip as Ze}from"./release-health-BV5OaOWd.js";import"./chart-hover-DdK4E-2h.js";import"./use-live-CLZZj245.js";import"./segmented-DB4zh-Am.js";import"./arrow-up-DCZ7emux.js";function fe(t,e){if(!t)return null;const o=(e-t)/t*100;return s.jsxs("span",{className:o>10?"text-destructive":o<-10?"text-emerald-600":"text-muted-foreground",children:[o>0?"+":"",o.toFixed(0),"%"]})}function St(t){const e=Ge.c(132),{environment:o}=Le().props,me=o.application_id,de=o.id,r=t.compare.request,l=t.compare.job_attempt,i=o.repository_url;let K;e[0]!==t.deploy.previous_ref||e[1]!==t.deploy.repository_ref||e[2]!==i?(K=Xe(i,t.deploy.previous_ref,t.deploy.repository_ref),e[0]=t.deploy.previous_ref,e[1]=t.deploy.repository_ref,e[2]=i,e[3]=K):K=e[3];const U=K,ue=i?.includes("gitlab")?"GitLab":"GitHub",qe=t.deploy.ref;let n;e[4]!==me||e[5]!==de?(n=Ke(me,de),e[4]=me,e[5]=de,e[6]=n):n=e[6];let a;e[7]!==n?(a={title:"Deploys",href:n},e[7]=n,e[8]=a):a=e[8];let c;e[9]!==t.deploy.ref?(c={title:t.deploy.ref,href:"#"},e[9]=t.deploy.ref,e[10]=c):c=e[10];let f;e[11]!==a||e[12]!==c?(f=[a,c],e[11]=a,e[12]=c,e[13]=f):f=e[13];let m;e[14]!==t.deploy.deploy?(m=s.jsx("span",{className:"font-mono",children:t.deploy.deploy}),e[14]=t.deploy.deploy,e[15]=m):m=e[15];let z;e[16]!==t.deploy.deployed_at?(z=Ve(t.deploy.deployed_at),e[16]=t.deploy.deployed_at,e[17]=z):z=e[17];const he=`${z}${t.deploy.name?` · ${t.deploy.name}`:""}${t.deploy.url?" · ":""}`;let d;e[18]!==t.deploy.url?(d=t.deploy.url&&s.jsx("a",{className:"text-sm underline",href:t.deploy.url,target:"_blank",rel:"noreferrer",children:"Open"}),e[18]=t.deploy.url,e[19]=d):d=e[19];let u;e[20]!==m||e[21]!==he||e[22]!==d?(u=s.jsx(Ae,{withWindow:!1,title:m,description:he,actions:d}),e[20]=m,e[21]=he,e[22]=d,e[23]=u):u=e[23];let h;e[24]!==t.deploy.previous_ref?(h=t.deploy.previous_ref&&s.jsxs("span",{className:"text-muted-foreground ml-2 font-mono text-xs font-normal",children:["since ",t.deploy.previous_ref.slice(0,7)]}),e[24]=t.deploy.previous_ref,e[25]=h):h=e[25];let p;e[26]!==h?(p=s.jsxs("h2",{className:"text-sm font-semibold",children:["Changes",h]}),e[26]=h,e[27]=p):p=e[27];let x;e[28]!==ue||e[29]!==U?(x=U&&s.jsx(Ue,{asChild:!0,variant:"outline",size:"sm",children:s.jsxs("a",{href:U,target:"_blank",rel:"noreferrer",children:["Compare on ",ue]})}),e[28]=ue,e[29]=U,e[30]=x):x=e[30];let y;e[31]!==p||e[32]!==x?(y=s.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[p,x]}),e[31]=p,e[32]=x,e[33]=y):y=e[33];let A;e[34]===Symbol.for("react.memo_cache_sentinel")?(A=s.jsx(Se,{icon:ze,title:"No commits recorded",description:"The post-deploy hook sends the commits in each deploy. Reinstall it with bin/rails generate railwatch:install."}),e[34]=A):A=e[34];let b;e[35]!==i?(b={key:"sha",header:"Commit",cell:Ce=>{const Re=Ye(i,Ce.sha),$e=Ce.sha.slice(0,7);return Re?s.jsx("a",{className:"font-mono text-xs hover:underline",href:Re,target:"_blank",rel:"noreferrer",children:$e}):s.jsx("span",{className:"font-mono text-xs",children:$e})}},e[35]=i,e[36]=b):b=e[36];let B,W,J;e[37]===Symbol.for("react.memo_cache_sentinel")?(B={key:"m",header:"Message",cell:ct},W={key:"a",hideOnMobile:!0,header:"Author",cell:at},J={key:"at",hideOnMobile:!0,header:"When",align:"right",cell:nt},e[37]=B,e[38]=W,e[39]=J):(B=e[37],W=e[38],J=e[39]);let j;e[40]!==b?(j=[b,B,W,J],e[40]=b,e[41]=j):j=e[41];let _;e[42]!==t.deploy.commits||e[43]!==j?(_=s.jsx(ke,{rows:t.deploy.commits,rowKey:ft,empty:A,columns:j}),e[42]=t.deploy.commits,e[43]=j,e[44]=_):_=e[44];let Q;e[45]===Symbol.for("react.memo_cache_sentinel")?(Q=s.jsx("h2",{className:"text-sm font-semibold",children:"Release health"}),e[45]=Q):Q=e[45];let v;e[46]!==t.health?(v=s.jsx(Ze,{health:t.health}),e[46]=t.health,e[47]=v):v=e[47];let V;e[48]===Symbol.for("react.memo_cache_sentinel")?(V=s.jsx("h2",{className:"text-sm font-semibold",children:"Hour before vs hour after"}),e[48]=V):V=e[48];const pe=r.after.p95/1e3;let w;e[49]!==pe?(w=De(pe),e[49]=pe,e[50]=w):w=e[50];let g;e[51]!==r.after.p95||e[52]!==r.before.p95?(g=fe(r.before.p95,r.after.p95),e[51]=r.after.p95,e[52]=r.before.p95,e[53]=g):g=e[53];let N;e[54]!==w||e[55]!==g?(N=s.jsxs(s.Fragment,{children:[w," ",g]}),e[54]=w,e[55]=g,e[56]=N):N=e[56];const xe=r.before.p95/1e3;let X;e[57]!==xe?(X=De(xe),e[57]=xe,e[58]=X):X=e[58];const ye=`was ${X}`;let k;e[59]!==N||e[60]!==ye?(k=s.jsx(ae,{label:"Request p95",value:N,hint:ye}),e[59]=N,e[60]=ye,e[61]=k):k=e[61];let S;e[62]!==r.after.count||e[63]!==r.after.errors?(S=ce(r.after.errors,r.after.count),e[62]=r.after.count,e[63]=r.after.errors,e[64]=S):S=e[64];const be=r.before.errors/Math.max(1,r.before.count),je=r.after.errors/Math.max(1,r.after.count);let C;e[65]!==be||e[66]!==je?(C=fe(be,je),e[65]=be,e[66]=je,e[67]=C):C=e[67];let R;e[68]!==S||e[69]!==C?(R=s.jsxs(s.Fragment,{children:[S," ",C]}),e[68]=S,e[69]=C,e[70]=R):R=e[70];let Y;e[71]!==r.before.count||e[72]!==r.before.errors?(Y=ce(r.before.errors,r.before.count),e[71]=r.before.count,e[72]=r.before.errors,e[73]=Y):Y=e[73];const _e=`was ${Y}`;let $;e[74]!==R||e[75]!==_e?($=s.jsx(ae,{label:"Request error rate",value:R,hint:_e}),e[74]=R,e[75]=_e,e[76]=$):$=e[76];let E;e[77]!==r.after.count?(E=Fe(r.after.count),e[77]=r.after.count,e[78]=E):E=e[78];let H;e[79]!==r.after.count||e[80]!==r.before.count?(H=fe(r.before.count,r.after.count),e[79]=r.after.count,e[80]=r.before.count,e[81]=H):H=e[81];let M;e[82]!==E||e[83]!==H?(M=s.jsxs(s.Fragment,{children:[E," ",H]}),e[82]=E,e[83]=H,e[84]=M):M=e[84];let Z;e[85]!==r.before.count?(Z=Fe(r.before.count),e[85]=r.before.count,e[86]=Z):Z=e[86];const ve=`was ${Z}`;let I;e[87]!==M||e[88]!==ve?(I=s.jsx(ae,{label:"Requests",value:M,hint:ve}),e[87]=M,e[88]=ve,e[89]=I):I=e[89];let T;e[90]!==l.after.count||e[91]!==l.after.errors?(T=ce(l.after.errors,l.after.count),e[90]=l.after.count,e[91]=l.after.errors,e[92]=T):T=e[92];const we=l.before.errors/Math.max(1,l.before.count),ge=l.after.errors/Math.max(1,l.after.count);let D;e[93]!==we||e[94]!==ge?(D=fe(we,ge),e[93]=we,e[94]=ge,e[95]=D):D=e[95];let F;e[96]!==T||e[97]!==D?(F=s.jsxs(s.Fragment,{children:[T," ",D]}),e[96]=T,e[97]=D,e[98]=F):F=e[98];let ee;e[99]!==l.before.count||e[100]!==l.before.errors?(ee=ce(l.before.errors,l.before.count),e[99]=l.before.count,e[100]=l.before.errors,e[101]=ee):ee=e[101];const Ne=`was ${ee}`;let O;e[102]!==F||e[103]!==Ne?(O=s.jsx(ae,{label:"Job failures",value:F,hint:Ne}),e[102]=F,e[103]=Ne,e[104]=O):O=e[104];let P;e[105]!==k||e[106]!==$||e[107]!==I||e[108]!==O?(P=s.jsxs(Je,{children:[k,$,I,O]}),e[105]=k,e[106]=$,e[107]=I,e[108]=O,e[109]=P):P=e[109];let te;e[110]===Symbol.for("react.memo_cache_sentinel")?(te=s.jsx(Ie,{children:s.jsx(Te,{children:"New issues after this deploy"})}),e[110]=te):te=e[110];let se,re;e[111]===Symbol.for("react.memo_cache_sentinel")?(se=s.jsx(Se,{icon:Ee,title:"No new issues in the 24 hours after",description:"Issues first seen after this deploy would show here."}),re=[{key:"k",header:"Issue",cell:ot},{key:"t",header:"Title",cell:lt},{key:"s",header:"",cell:rt}],e[111]=se,e[112]=re):(se=e[111],re=e[112]);let q;e[113]!==t.new_issues?(q=s.jsxs(He,{children:[te,s.jsx(Me,{children:s.jsx(ke,{rows:t.new_issues,rowKey:it,empty:se,columns:re})})]}),e[113]=t.new_issues,e[114]=q):q=e[114];let le;e[115]===Symbol.for("react.memo_cache_sentinel")?(le=s.jsx(Ie,{children:s.jsx(Te,{children:"Resolved in this deploy"})}),e[115]=le):le=e[115];let oe,ie;e[116]===Symbol.for("react.memo_cache_sentinel")?(oe=s.jsx(Se,{icon:Ee,title:"No issues marked resolved in this deploy",description:"Issues resolved and tagged with this deploy's ref would show here."}),ie=[{key:"k",header:"Issue",cell:tt},{key:"t",header:"Title",cell:et}],e[116]=oe,e[117]=ie):(oe=e[116],ie=e[117]);let G;e[118]!==t.resolved_issues?(G=s.jsxs(He,{children:[le,s.jsx(Me,{children:s.jsx(ke,{rows:t.resolved_issues,rowKey:st,empty:oe,columns:ie})})]}),e[118]=t.resolved_issues,e[119]=G):G=e[119];let L;e[120]!==q||e[121]!==G?(L=s.jsxs("div",{className:"grid gap-4 lg:grid-cols-2",children:[q,G]}),e[120]=q,e[121]=G,e[122]=L):L=e[122];let ne;return e[123]!==t.deploy.ref||e[124]!==u||e[125]!==y||e[126]!==_||e[127]!==v||e[128]!==f||e[129]!==P||e[130]!==L?(ne=s.jsxs(Be,{title:qe,crumbs:f,children:[u,y,_,Q,v,V,P,L]}),e[123]=t.deploy.ref,e[124]=u,e[125]=y,e[126]=_,e[127]=v,e[128]=f,e[129]=P,e[130]=L,e[131]=ne):ne=e[131],ne}function et(t){return s.jsx("span",{className:"line-clamp-1 text-xs",children:t.title})}function tt(t){return s.jsx(Oe,{className:"font-mono text-xs hover:underline",href:Pe(t.id),children:t.key})}function st(t){return t.id}function rt(t){return s.jsx(Qe,{status:t.status})}function lt(t){return s.jsx("span",{className:"line-clamp-1 text-xs",children:t.title})}function ot(t){return s.jsx(Oe,{className:"font-mono text-xs hover:underline",href:Pe(t.id),children:t.key})}function it(t){return t.id}function nt(t){return s.jsx(We,{className:"text-xs",iso:t.at})}function at(t){return s.jsx("span",{className:"text-xs",children:t.author})}function ct(t){return s.jsx("span",{className:"line-clamp-1 text-xs",children:t.message})}function ft(t){return t.sha}export{St as default};
|