@oneuptime/common 11.7.4 → 12.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Models/AnalyticsModels/ExceptionInstance.ts +67 -0
- package/Models/AnalyticsModels/Index.ts +10 -0
- package/Models/AnalyticsModels/Log.ts +60 -0
- package/Models/AnalyticsModels/RumSession.ts +1401 -0
- package/Models/AnalyticsModels/RumSessionChunk.ts +798 -0
- package/Models/AnalyticsModels/Span.ts +60 -0
- package/Models/DatabaseModels/AIAgentTaskPullRequest.ts +52 -0
- package/Models/DatabaseModels/AIRun.ts +31 -0
- package/Models/DatabaseModels/Alert.ts +29 -0
- package/Models/DatabaseModels/AlertCustomField.ts +1 -1
- package/Models/DatabaseModels/AlertFeed.ts +1 -0
- package/Models/DatabaseModels/AutoRemediationRule.ts +989 -0
- package/Models/DatabaseModels/AutoRemediationSuggestion.ts +874 -0
- package/Models/DatabaseModels/CodeRepository.ts +129 -0
- package/Models/DatabaseModels/GlobalConfig.ts +312 -0
- package/Models/DatabaseModels/Incident.ts +29 -0
- package/Models/DatabaseModels/IncidentCustomField.ts +1 -1
- package/Models/DatabaseModels/IncidentFeed.ts +1 -0
- package/Models/DatabaseModels/Index.ts +21 -8
- package/Models/DatabaseModels/InstanceHealthLog.ts +8 -0
- package/Models/DatabaseModels/MonitorCustomField.ts +1 -1
- package/Models/DatabaseModels/MonitorStatus.ts +1 -1
- package/Models/DatabaseModels/NetworkDeviceLabelRule.ts +2 -2
- package/Models/DatabaseModels/NetworkDeviceOwnerRule.ts +2 -2
- package/Models/DatabaseModels/NetworkSiteAssignmentRule.ts +1 -1
- package/Models/DatabaseModels/OnCallDutyPolicyCustomField.ts +1 -1
- package/Models/DatabaseModels/OnCallDutyPolicyScheduleLayer.ts +12 -2
- package/Models/DatabaseModels/Project.ts +231 -0
- package/Models/DatabaseModels/RumApplication.ts +906 -0
- package/Models/DatabaseModels/RumSessionErasureRequest.ts +561 -0
- package/Models/DatabaseModels/RumSessionPin.ts +457 -0
- package/Models/DatabaseModels/RumSessionReplayView.ts +406 -0
- package/Models/DatabaseModels/RunbookCredential.ts +673 -0
- package/Models/DatabaseModels/RunbookSecret.ts +7 -7
- package/Models/DatabaseModels/{RunbookAgent.ts → Runner.ts} +206 -46
- package/Models/DatabaseModels/{RunbookAgentJob.ts → RunnerJob.ts} +151 -18
- package/Models/DatabaseModels/{RunbookAgentOwnerTeam.ts → RunnerOwnerTeam.ts} +41 -43
- package/Models/DatabaseModels/{RunbookAgentOwnerUser.ts → RunnerOwnerUser.ts} +41 -43
- package/Models/DatabaseModels/ScheduledMaintenanceCustomField.ts +1 -1
- package/Models/DatabaseModels/StatusPageCustomField.ts +1 -1
- package/Models/DatabaseModels/TeamCustomField.ts +1 -1
- package/Models/DatabaseModels/TeamMemberCustomField.ts +1 -1
- package/Server/API/AIAgentDataAPI.ts +179 -48
- package/Server/API/AIAgentTaskAPI.ts +36 -37
- package/Server/API/AIAgentTaskLogAPI.ts +19 -33
- package/Server/API/AutoRemediationAPI.ts +557 -0
- package/Server/API/BaseAnalyticsAPI.ts +4 -1
- package/Server/API/CommonAPI.ts +35 -0
- package/Server/API/DashboardAPI.ts +340 -15
- package/Server/API/TelemetryAPI.ts +1622 -3
- package/Server/API/UserIncomingCallNumberAPI.ts +31 -0
- package/Server/DatabaseConfig.ts +26 -1
- package/Server/EnvironmentConfig.ts +13 -0
- package/Server/Infrastructure/Postgres/LocalMigrationGenerationDataSource.ts +12 -2
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785417351021-AddSessionReplay.ts +293 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785491583874-EnableSessionReplayByDefault.ts +67 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785496223183-AddMonitorSummaryToIncidentAndAlert.ts +33 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785516996695-AddSessionReplayReliabilityColumns.ts +40 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785533806494-AddSessionReplayCorrelationColumns.ts +54 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785749674203-AddRedisAndPostgresHealthNotificationColumns.ts +104 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785763818197-AddAutoRemediation.ts +349 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785768089408-AddRemediationVerification.ts +67 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785776960660-AddRunnerCapabilities.ts +23 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785790000000-AddIncidentInvestigationGating.ts +42 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785800000000-AddRunbookCredential.ts +84 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785810000000-RenameRunbookAgentToRunner.ts +152 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785860000000-SessionReplayDefaultToSensitiveInputMasking.ts +81 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785870000000-AddAiCommandRemediation.ts +151 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785880000000-AlignRunnerSchemaWithEntities.ts +597 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785890000000-AddFixVerificationAndAutomaticCodeFixes.ts +71 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +32 -0
- package/Server/Services/AIRunService.ts +10 -0
- package/Server/Services/AIService.ts +30 -0
- package/Server/Services/AlertService.ts +41 -4
- package/Server/Services/AlertSeverityService.ts +25 -11
- package/Server/Services/AlertStateService.ts +25 -11
- package/Server/Services/AutoRemediationRuleEngineService.ts +1101 -0
- package/Server/Services/{RunbookAgentOwnerTeamService.ts → AutoRemediationRuleService.ts} +1 -1
- package/Server/Services/AutoRemediationSuggestionService.ts +183 -0
- package/Server/Services/BillingService.ts +50 -1
- package/Server/Services/DatabaseService.ts +92 -4
- package/Server/Services/IncidentService.ts +56 -4
- package/Server/Services/IncidentSeverityService.ts +25 -11
- package/Server/Services/IncidentStateService.ts +25 -11
- package/Server/Services/Index.ts +19 -0
- package/Server/Services/LlmProviderService.ts +69 -9
- package/Server/Services/MonitorService.ts +24 -0
- package/Server/Services/MonitorStatusService.ts +25 -11
- package/Server/Services/NetworkDeviceLabelRuleEngineService.ts +18 -19
- package/Server/Services/NetworkDeviceLabelRuleService.ts +39 -0
- package/Server/Services/NetworkDeviceOwnerRuleEngineService.ts +18 -19
- package/Server/Services/NetworkDeviceOwnerRuleService.ts +37 -0
- package/Server/Services/NetworkDeviceService.ts +172 -21
- package/Server/Services/NetworkSiteAssignmentRuleService.ts +92 -12
- package/Server/Services/NetworkSiteService.ts +27 -10
- package/Server/Services/ProjectService.ts +47 -0
- package/Server/Services/RumApplicationService.ts +240 -1
- package/Server/Services/RumSessionChunkService.ts +11 -0
- package/Server/Services/RumSessionErasureRequestService.ts +197 -0
- package/Server/Services/RumSessionPinService.ts +213 -0
- package/Server/Services/RumSessionReplayViewService.ts +201 -0
- package/Server/Services/RumSessionService.ts +123 -0
- package/Server/Services/RunbookCredentialService.ts +76 -0
- package/Server/Services/{RunbookAgentJobService.ts → RunnerJobService.ts} +202 -51
- package/Server/Services/{RunbookAgentOwnerUserService.ts → RunnerOwnerTeamService.ts} +1 -1
- package/Server/Services/RunnerOwnerUserService.ts +10 -0
- package/Server/Services/RunnerService.ts +166 -0
- package/Server/Services/ScheduledMaintenanceStateService.ts +25 -11
- package/Server/Services/ScheduledMaintenanceStateTimelineService.ts +15 -1
- package/Server/Services/ServiceService.ts +8 -2
- package/Server/Services/StatusPageService.ts +240 -36
- package/Server/Services/StatusPageSubscriberNotificationTemplateService.ts +20 -1
- package/Server/Services/TelemetryExceptionService.ts +3 -16
- package/Server/Services/TelemetryUsageBillingService.ts +33 -2
- package/Server/Services/TraceAggregationService.ts +196 -32
- package/Server/Types/Billing/MeteredPlan/AllMeteredPlans.ts +17 -0
- package/Server/Types/Billing/MeteredPlan/ServerMeteredPlan.ts +10 -0
- package/Server/Utils/AI/Chat/ObservabilityAssistant.ts +63 -7
- package/Server/Utils/AI/CodeFix/CodeFixAgentAuth.ts +128 -0
- package/Server/Utils/AI/CodeFix/CodeFixAgentAvailability.ts +54 -0
- package/Server/Utils/AI/CodeFix/CodeFixReadiness.ts +17 -10
- package/Server/Utils/AI/CodeFix/CodeFixRunQueue.ts +8 -6
- package/Server/Utils/AI/Remediation/RemediationCommandTools.ts +943 -0
- package/Server/Utils/AI/Remediation/RemediationExecutionRunner.ts +866 -0
- package/Server/Utils/AI/Remediation/RemediationPlanRunner.ts +823 -0
- package/Server/Utils/AI/SRE/AIInvestigationEngine.ts +103 -12
- package/Server/Utils/AI/SRE/AlertInvestigationRunner.ts +75 -17
- package/Server/Utils/AI/SRE/ConfidenceSignal.ts +28 -6
- package/Server/Utils/AI/SRE/FixFromIncidentTaskTrigger.ts +202 -12
- package/Server/Utils/AI/SRE/IncidentInvestigationRunner.ts +264 -14
- package/Server/Utils/AI/SRE/Insights/Triage.ts +2 -7
- package/Server/Utils/AI/SRE/InvestigationGrader.ts +5 -24
- package/Server/Utils/AI/SRE/InvestigationQueue.ts +259 -20
- package/Server/Utils/AI/SRE/PostedRootCause.ts +82 -0
- package/Server/Utils/AI/SRE/README.md +3 -2
- package/Server/Utils/AI/SRE/RemediationHandoff.ts +82 -0
- package/Server/Utils/AI/SRE/SubjectCodeFixRun.ts +6 -19
- package/Server/Utils/AI/Toolbox/CodeWriteTools.ts +2 -2
- package/Server/Utils/Alert/AlertPrivacyFilter.ts +58 -0
- package/Server/Utils/AutoRemediation/CommandPlanExecutor.ts +604 -0
- package/Server/Utils/AutoRemediation/RemediationVerifier.ts +619 -0
- package/Server/Utils/CorsOptions.ts +52 -0
- package/Server/Utils/Database/RelationIdUtil.ts +68 -0
- package/Server/Utils/Incident/IncidentPrivacyFilter.ts +60 -0
- package/Server/Utils/InstanceHealth/PostgresHealth.ts +286 -0
- package/Server/Utils/InstanceHealth/RedisHealth.ts +434 -0
- package/Server/Utils/Monitor/Criteria/CompareCriteria.ts +12 -0
- package/Server/Utils/Monitor/MonitorAlert.ts +20 -0
- package/Server/Utils/Monitor/MonitorIncident.ts +20 -0
- package/Server/Utils/Monitor/MonitorResource.ts +19 -0
- package/Server/Utils/Monitor/MonitorSummaryCapture.ts +104 -0
- package/Server/Utils/NetworkDevice/RulePatternValidator.ts +44 -0
- package/Server/Utils/OpenAPI.ts +2 -1
- package/Server/Utils/Runbook/RunbookExecutePermission.ts +94 -0
- package/Server/Utils/SessionReplay/SessionReplayErasureTombstone.ts +128 -0
- package/Server/Utils/SessionReplay/SessionReplayGateCache.ts +586 -0
- package/Server/Utils/SessionReplay/SessionReplayGateCacheStore.ts +188 -0
- package/Server/Utils/SessionReplay/SessionReplayReadService.ts +1449 -0
- package/Server/Utils/SessionReplay/SessionReplayRetention.ts +114 -0
- package/Server/Utils/SessionReplay/SessionReplayTargeting.ts +144 -0
- package/Server/Utils/SessionReplay/SessionReplayUsage.ts +92 -0
- package/Server/Utils/StartServer.ts +47 -3
- package/Server/Utils/Telemetry/TelemetryFanInWriter.ts +44 -10
- package/Tests/App/Dashboard/AddWidgetModal.test.tsx +557 -0
- package/Tests/App/Dashboard/RunnerInstallInstructions.test.tsx +119 -0
- package/Tests/App/Dashboard/RunnerStatus.test.tsx +274 -0
- package/Tests/App/Dashboard/WidgetCatalog.test.ts +479 -0
- package/Tests/App/StatusPage/BulkAddStatusPageMonitors.test.ts +343 -0
- package/Tests/App/StatusPage/BulkAddStatusPageMonitorsModal.test.tsx +320 -0
- package/Tests/Models/AnalyticsModels/RumSessionSchema.test.ts +455 -0
- package/Tests/Models/AnalyticsModels/SessionIdCorrelation.test.ts +158 -0
- package/Tests/Models/DatabaseModels/SessionReplayModels.test.ts +447 -0
- package/Tests/Models/RunnerVersionLabel.test.ts +223 -0
- package/Tests/Server/API/DashboardPublicResourceListAPI.test.ts +1287 -0
- package/Tests/Server/API/LegacyRunbookAgentRoutes.test.ts +117 -0
- package/Tests/Server/API/SessionReplayAPI.test.ts +2093 -0
- package/Tests/Server/API/UserIncomingCallNumberApi.test.ts +429 -0
- package/Tests/Server/API/UserSmsApi.test.ts +68 -2
- package/Tests/Server/DatabaseConfig.test.ts +150 -0
- package/Tests/Server/Infrastructure/ContainerBootConfiguration.test.ts +2 -2
- package/Tests/Server/Infrastructure/ProcessSignalDelivery.test.ts +2 -3
- package/Tests/Server/Services/AIRunCodeFixClaimScoping.test.ts +100 -0
- package/Tests/Server/Services/AIServiceDailyBudget.test.ts +8 -0
- package/Tests/Server/Services/AutoRemediationCommandRuleEngine.test.ts +334 -0
- package/Tests/Server/Services/AutoRemediationRuleEngineService.test.ts +517 -0
- package/Tests/Server/Services/BillingService.test.ts +158 -1
- package/Tests/Server/Services/DatabaseServiceEmptyUpdate.test.ts +24 -2
- package/Tests/Server/Services/DatabaseServiceSanitizeUpdateData.test.ts +17 -10
- package/Tests/Server/Services/DatabaseServiceUpdateColumnsWithoutHooks.test.ts +128 -0
- package/Tests/Server/Services/DatabaseServiceUpdateWriteRouting.test.ts +178 -0
- package/Tests/Server/Services/DatabaseServiceUpdateWriteRoutingMonitor.test.ts +206 -0
- package/Tests/Server/Services/LlmProviderUsableByProject.test.ts +293 -0
- package/Tests/Server/Services/MonitorServiceOperationalStatusSelection.test.ts +145 -0
- package/Tests/Server/Services/NetworkDeviceRuleEngines.test.ts +726 -0
- package/Tests/Server/Services/NetworkDeviceSiteAssignment.test.ts +570 -9
- package/Tests/Server/Services/NetworkSiteAssignmentRuleService.test.ts +94 -1
- package/Tests/Server/Services/NetworkSiteService.test.ts +85 -0
- package/Tests/Server/Services/RumApplicationReplayHealth.test.ts +114 -0
- package/Tests/Server/Services/RunbookCredentialService.test.ts +657 -0
- package/Tests/Server/Services/SessionReplayCreatePath.test.ts +376 -0
- package/Tests/Server/Services/SessionReplayGateCacheInvalidation.test.ts +211 -0
- package/Tests/Server/Services/SessionReplayMetering.test.ts +174 -0
- package/Tests/Server/Services/StatusPageSubscriberReport.test.ts +555 -0
- package/Tests/Server/Services/TelemetryExceptionAIFixReadiness.test.ts +25 -4
- package/Tests/Server/Services/TelemetryExceptionCodeFixRun.test.ts +17 -2
- package/Tests/Server/Services/TraceAggregationService.test.ts +48 -0
- package/Tests/Server/Services/TraceAnalyticsResourceDisplayNames.test.ts +855 -0
- package/Tests/Server/Services/UpdateOneByIdKeepsRowId.test.ts +38 -27
- package/Tests/Server/Utils/AI/AIConfidenceSignal.test.ts +44 -0
- package/Tests/Server/Utils/AI/AIIncidentGating.test.ts +475 -0
- package/Tests/Server/Utils/AI/CodeFix/CodeFixAgentAuth.test.ts +257 -0
- package/Tests/Server/Utils/AI/CodeFix/CodeFixAgentAvailability.test.ts +236 -0
- package/Tests/Server/Utils/AI/CodeFixReadiness.test.ts +44 -6
- package/Tests/Server/Utils/AI/CodeFixRunQueue.test.ts +47 -1
- package/Tests/Server/Utils/AI/CodeWriteTools.test.ts +2 -2
- package/Tests/Server/Utils/AI/FixFromIncidentAutoTrigger.test.ts +294 -0
- package/Tests/Server/Utils/AI/Insights/InsightTriageRunner.test.ts +2 -2
- package/Tests/Server/Utils/AI/Insights/InvestigationQueueInsightSubject.test.ts +47 -3
- package/Tests/Server/Utils/AI/InvestigationQueueRemediationExecution.test.ts +233 -0
- package/Tests/Server/Utils/AI/InvestigationSettlement.test.ts +463 -0
- package/Tests/Server/Utils/AI/PostedRootCause.test.ts +254 -0
- package/Tests/Server/Utils/AI/RemediationAllowlistNormalization.test.ts +248 -0
- package/Tests/Server/Utils/AI/RemediationCommandTools.test.ts +1008 -0
- package/Tests/Server/Utils/AI/RemediationExecutionRunner.test.ts +887 -0
- package/Tests/Server/Utils/AI/RemediationHandoff.test.ts +306 -0
- package/Tests/Server/Utils/AI/RemediationPlanRunner.test.ts +745 -0
- package/Tests/Server/Utils/AI/SubjectCodeFixRunDedupe.test.ts +291 -0
- package/Tests/Server/Utils/AI/ToolArgsExtractors.test.ts +141 -0
- package/Tests/Server/Utils/AI/Toolbox/WidgetBuilder.test.ts +205 -0
- package/Tests/Server/Utils/AutoRemediation/CommandPlanExecutor.test.ts +1050 -0
- package/Tests/Server/Utils/AutoRemediation/CommandPlanVerification.test.ts +350 -0
- package/Tests/Server/Utils/AutoRemediation/RemediationVerifier.test.ts +341 -0
- package/Tests/Server/Utils/CorsOptions.test.ts +119 -0
- package/Tests/Server/Utils/Database/RelationIdUtil.test.ts +120 -0
- package/Tests/Server/Utils/Database/ResolveReferenceId.test.ts +60 -0
- package/Tests/Server/Utils/InstanceHealth/PostgresHealth.test.ts +337 -0
- package/Tests/Server/Utils/InstanceHealth/RedisHealth.test.ts +671 -0
- package/Tests/Server/Utils/Monitor/Criteria/CompareCriteria.test.ts +897 -0
- package/Tests/Server/Utils/Monitor/MonitorSummaryCapture.test.ts +205 -0
- package/Tests/Server/Utils/Monitor/MonitorSummaryPersistence.test.ts +313 -0
- package/Tests/Server/Utils/PushNotificationUtil.test.ts +228 -0
- package/Tests/Server/Utils/SessionReplay/SessionReplayGateCachePolicy.test.ts +177 -0
- package/Tests/Server/Utils/SessionReplay/SessionReplayOriginAllowlist.test.ts +108 -0
- package/Tests/Server/Utils/SessionReplay/SessionReplayRetention.test.ts +229 -0
- package/Tests/Server/Utils/SessionReplay/SessionReplayTargeting.test.ts +246 -0
- package/Tests/Server/Utils/Telemetry/TelemetryFanInWriter.test.ts +110 -0
- package/Tests/Types/AI/AIRunStatus.test.ts +25 -0
- package/Tests/Types/AutoRemediation/AiRemediationCommandPlan.test.ts +1063 -0
- package/Tests/Types/BaseDatabase/AggregationType.test.ts +56 -0
- package/Tests/Types/CustomField/CustomFieldDropdownOption.test.ts +227 -0
- package/Tests/Types/Dashboard/DashboardTemplateInvariants.test.ts +811 -0
- package/Tests/Types/Dashboard/RumDashboardTemplate.test.ts +1238 -0
- package/Tests/Types/Day/DayOfWeek.test.ts +46 -0
- package/Tests/Types/Docker/DockerInventoryExtractor.test.ts +249 -0
- package/Tests/Types/Kubernetes/KubernetesInventoryExtractor.test.ts +231 -0
- package/Tests/Types/Kubernetes/KubernetesRightSizing.test.ts +323 -0
- package/Tests/Types/Metrics/MetricDownsamplingRetentionDays.test.ts +77 -0
- package/Tests/Types/Monitor/Recommendation/MonitorRecommendationCatalog.test.ts +42 -14
- package/Tests/Types/Monitor/Recommendation/MonitorRecommendationCoverage.test.ts +2 -2
- package/Tests/Types/Monitor/Recommendation/MonitorRecommendationNotificationMode.test.ts +3 -2
- package/Tests/Types/Monitor/Recommendation/MonitorRecommendationSeverityMapper.test.ts +1 -1
- package/Tests/Types/Monitor/Recommendation/MonitorRecommendationUtil.test.ts +6 -3
- package/Tests/Types/Monitor/RumAlertTemplates.test.ts +285 -0
- package/Tests/Types/Podman/PodmanInventoryExtractor.test.ts +159 -0
- package/Tests/Types/Runbook/RunbookExecutionDeadline.test.ts +268 -0
- package/Tests/Types/Runbook/RunbookStepType.test.ts +242 -0
- package/Tests/Types/Runner/RunnerLiveStatus.test.ts +320 -0
- package/Tests/Types/Telemetry/TelemetryRetentionConfig.test.ts +225 -0
- package/Tests/Types/Text.test.ts +60 -0
- package/Tests/UI/Components/AiInvestigationSettingsCard.test.tsx +285 -0
- package/Tests/UI/Components/AutocompleteTextInputMenu.test.tsx +555 -0
- package/Tests/UI/Components/BulkLabelActions.test.tsx +1502 -0
- package/Tests/UI/Components/BulkOwnerActions.test.tsx +1255 -0
- package/Tests/UI/Components/CustomFields/DropdownOptionsInput.test.tsx +228 -0
- package/Tests/UI/Components/Detail/DropdownColors.test.tsx +128 -0
- package/Tests/UI/Components/Detail/EntityFields.test.tsx +166 -0
- package/Tests/UI/Components/Dropdown/DropdownValueBadge.test.tsx +60 -0
- package/Tests/UI/Components/FilterModalOperatorMenu.test.tsx +674 -0
- package/Tests/UI/Components/Forms/ColorPicker.test.tsx +48 -0
- package/Tests/UI/Components/Forms/ColorPickerPopup.test.tsx +222 -0
- package/Tests/UI/Components/Forms/IconPickerPopup.test.tsx +270 -0
- package/Tests/UI/Components/ModelTable/CustomFieldColumns.test.tsx +125 -6
- package/Tests/UI/Components/OperatorSelectorFilterTypes.test.tsx +1595 -0
- package/Tests/UI/Components/OperatorSelectorKeyboard.test.tsx +851 -0
- package/Tests/UI/Components/OperatorSelectorMenu.test.tsx +1229 -0
- package/Tests/UI/Components/Pagination.test.tsx +85 -0
- package/Tests/UI/Monitor/MonitorSummarySnapshotRender.test.tsx +248 -0
- package/Tests/UI/Rum/ChunkLoader.test.ts +790 -0
- package/Tests/UI/Rum/ReplayScrubber.test.tsx +236 -0
- package/Tests/UI/Rum/ReplayStage.test.tsx +606 -0
- package/Tests/UI/Utils/Timezone.test.ts +86 -0
- package/Tests/UI/Utils/UseClockTick.test.tsx +276 -0
- package/Tests/Utils/AiRemediation/CommandPolicy.test.ts +1063 -0
- package/Tests/Utils/Dashboard/ClockWidgetFormat.test.ts +1374 -0
- package/Tests/Utils/Dashboard/DashboardClockComponent.test.ts +362 -0
- package/Tests/Utils/Dashboard/DashboardHtmlComponent.test.ts +217 -0
- package/Tests/Utils/Dashboard/HtmlWidgetDocument.test.ts +656 -0
- package/Tests/Utils/Dashboard/ValueWidgetLayout.test.ts +1007 -0
- package/Tests/Utils/Metrics/MetricSeriesScope.test.ts +1197 -0
- package/Tests/Utils/Monitor/MonitorSummarySnapshotUtil.test.ts +839 -0
- package/Tests/Utils/NetworkSite/CidrMatchUtil.test.ts +69 -0
- package/Tests/Utils/Rules/RulePatternMatchUtil.test.ts +274 -0
- package/Tests/Utils/Rum/ChunkMath.test.ts +286 -0
- package/Tests/Utils/Rum/Masking.test.ts +186 -0
- package/Tests/Utils/Rum/SessionIdentity.test.ts +272 -0
- package/Tests/Utils/Rum/SessionSampling.test.ts +164 -0
- package/Tests/Utils/Rum/UrlScrubber.test.ts +175 -0
- package/Tests/Utils/StatusPage/Report.test.ts +708 -0
- package/Tests/Utils/ValueFormatter.test.ts +299 -1
- package/Types/AI/AIRunStatus.ts +18 -7
- package/Types/AI/AIRunType.ts +18 -0
- package/Types/AI/FixVerificationStatus.ts +21 -0
- package/Types/AnalyticsDatabase/AnalyticsTableName.ts +16 -0
- package/Types/AutoRemediation/AiRemediationCommandPlan.ts +304 -0
- package/Types/AutoRemediation/AutoRemediationExecutionMode.ts +17 -0
- package/Types/AutoRemediation/AutoRemediationSuggestionStatus.ts +35 -0
- package/Types/AutoRemediation/AutoRemediationSuggestionType.ts +17 -0
- package/Types/AutoRemediation/AutoRemediationTriggerEntity.ts +11 -0
- package/Types/AutoRemediation/AutoRemediationVerificationStatus.ts +21 -0
- package/Types/CustomField/CustomFieldDropdownOption.ts +190 -0
- package/Types/Dashboard/DashboardComponentType.ts +2 -0
- package/Types/Dashboard/DashboardComponents/ComponentArgument.ts +4 -0
- package/Types/Dashboard/DashboardComponents/DashboardClockComponent.ts +45 -0
- package/Types/Dashboard/DashboardComponents/DashboardHtmlComponent.ts +27 -0
- package/Types/Dashboard/DashboardComponents/DashboardValueComponent.ts +8 -0
- package/Types/Dashboard/DashboardTemplates.ts +516 -0
- package/Types/Date.ts +6 -0
- package/Types/Email/EmailTemplateType.ts +2 -0
- package/Types/Kubernetes/KubernetesRightSizing.ts +353 -0
- package/Types/MeteredPlan/ProductType.ts +1 -0
- package/Types/Monitor/MonitorStepMetricMonitor.ts +27 -1
- package/Types/Monitor/MonitorSteps.ts +5 -0
- package/Types/Monitor/MonitorSummarySnapshot.ts +88 -0
- package/Types/Monitor/Recommendation/MonitorRecommendationCatalog.ts +52 -10
- package/Types/Monitor/Recommendation/MonitorRecommendationTypes.ts +7 -5
- package/Types/Monitor/Recommendation/MonitorRecommendationUtil.ts +101 -20
- package/Types/Monitor/RumAlertTemplates.ts +386 -0
- package/Types/Permission.ts +204 -24
- package/Types/Rum/SessionReplay.ts +452 -0
- package/Types/Rum/SessionReplayCaptureTrigger.ts +26 -0
- package/Types/Rum/SessionReplayConsentMode.ts +27 -0
- package/Types/Rum/SessionReplayMaskingMode.ts +86 -0
- package/Types/Rum/SessionReplayTriggerReason.ts +31 -0
- package/Types/Runbook/RunbookCredentialType.ts +6 -0
- package/Types/Runbook/RunbookStep.ts +81 -1
- package/Types/Runbook/RunbookStepType.ts +26 -0
- package/Types/Runbook/RunnerJobOrigin.ts +20 -0
- package/Types/Runbook/{RunbookAgentJobStatus.ts → RunnerJobStatus.ts} +2 -2
- package/Types/Runner/RunnerLiveStatus.ts +114 -0
- package/Types/StatusPage/StatusPageReport.ts +99 -0
- package/Types/Telemetry/TelemetryRetentionConfig.ts +18 -1
- package/Types/Text.ts +33 -0
- package/UI/Components/AutocompleteTextInput/AutocompleteTextInput.tsx +260 -75
- package/UI/Components/BulkUpdate/BulkLabelActions.tsx +99 -9
- package/UI/Components/BulkUpdate/BulkOwnerActions.tsx +11 -0
- package/UI/Components/CustomFields/CustomFieldsDetail.tsx +19 -14
- package/UI/Components/CustomFields/DropdownOptionsInput.tsx +144 -54
- package/UI/Components/Detail/Detail.tsx +164 -22
- package/UI/Components/Dropdown/Dropdown.tsx +2 -5
- package/UI/Components/Dropdown/DropdownMenuZIndex.ts +7 -0
- package/UI/Components/Dropdown/DropdownValueBadge.tsx +61 -0
- package/UI/Components/Filters/OperatorSelector.tsx +350 -39
- package/UI/Components/Forms/Fields/ColorPicker.tsx +60 -27
- package/UI/Components/Forms/Fields/IconPicker.tsx +89 -60
- package/UI/Components/Forms/Validation.ts +9 -4
- package/UI/Components/List/List.tsx +1 -0
- package/UI/Components/ModelTable/CustomFieldColumns.tsx +41 -32
- package/UI/Components/Pagination/Pagination.tsx +33 -10
- package/UI/Components/Table/Table.tsx +1 -0
- package/UI/Types/UseAnchoredFieldPopup.ts +321 -0
- package/UI/Utils/Dropdown.ts +26 -0
- package/UI/Utils/Timezone.ts +18 -2
- package/UI/Utils/UseClockTick.ts +78 -0
- package/Utils/AiRemediation/CommandPolicy.ts +398 -0
- package/Utils/Dashboard/ClockWidgetFormat.ts +604 -0
- package/Utils/Dashboard/Components/DashboardClockComponent.ts +181 -0
- package/Utils/Dashboard/Components/DashboardHtmlComponent.ts +162 -0
- package/Utils/Dashboard/Components/DashboardValueComponent.ts +12 -1
- package/Utils/Dashboard/Components/Index.ts +14 -0
- package/Utils/Dashboard/HtmlWidgetDocument.ts +309 -0
- package/Utils/Dashboard/ValueWidgetLayout.ts +471 -0
- package/Utils/Metrics/MetricSeriesScope.ts +301 -0
- package/Utils/Monitor/MonitorSummarySnapshotUtil.ts +593 -0
- package/Utils/NetworkSite/CidrMatchUtil.ts +30 -17
- package/Utils/Rules/RulePatternMatchUtil.ts +103 -0
- package/Utils/Rum/ChunkMath.ts +211 -0
- package/Utils/Rum/Masking.ts +168 -0
- package/Utils/Rum/SessionIdentity.ts +230 -0
- package/Utils/Rum/SessionSampling.ts +108 -0
- package/Utils/Rum/UrlScrubber.ts +185 -0
- package/Utils/Schema/ModelSchema.ts +27 -3
- package/Utils/StatusPage/Report.ts +304 -0
- package/Utils/ValueFormatter.ts +300 -54
- package/build/dist/Models/AnalyticsModels/ExceptionInstance.js +63 -0
- package/build/dist/Models/AnalyticsModels/ExceptionInstance.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/Index.js +10 -0
- package/build/dist/Models/AnalyticsModels/Index.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/Log.js +56 -0
- package/build/dist/Models/AnalyticsModels/Log.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/RumSession.js +1159 -0
- package/build/dist/Models/AnalyticsModels/RumSession.js.map +1 -0
- package/build/dist/Models/AnalyticsModels/RumSessionChunk.js +670 -0
- package/build/dist/Models/AnalyticsModels/RumSessionChunk.js.map +1 -0
- package/build/dist/Models/AnalyticsModels/Span.js +56 -0
- package/build/dist/Models/AnalyticsModels/Span.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AIAgentTaskPullRequest.js +54 -0
- package/build/dist/Models/DatabaseModels/AIAgentTaskPullRequest.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AIRun.js +32 -0
- package/build/dist/Models/DatabaseModels/AIRun.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Alert.js +30 -0
- package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertCustomField.js +1 -1
- package/build/dist/Models/DatabaseModels/AlertCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertFeed.js +1 -0
- package/build/dist/Models/DatabaseModels/AlertFeed.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AutoRemediationRule.js +998 -0
- package/build/dist/Models/DatabaseModels/AutoRemediationRule.js.map +1 -0
- package/build/dist/Models/DatabaseModels/AutoRemediationSuggestion.js +917 -0
- package/build/dist/Models/DatabaseModels/AutoRemediationSuggestion.js.map +1 -0
- package/build/dist/Models/DatabaseModels/CodeRepository.js +132 -0
- package/build/dist/Models/DatabaseModels/CodeRepository.js.map +1 -1
- package/build/dist/Models/DatabaseModels/GlobalConfig.js +327 -0
- package/build/dist/Models/DatabaseModels/GlobalConfig.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Incident.js +30 -0
- package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentCustomField.js +1 -1
- package/build/dist/Models/DatabaseModels/IncidentCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentFeed.js +1 -0
- package/build/dist/Models/DatabaseModels/IncidentFeed.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Index.js +20 -8
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/InstanceHealthLog.js +8 -0
- package/build/dist/Models/DatabaseModels/InstanceHealthLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorCustomField.js +1 -1
- package/build/dist/Models/DatabaseModels/MonitorCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorStatus.js +1 -1
- package/build/dist/Models/DatabaseModels/MonitorStatus.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDeviceLabelRule.js +2 -2
- package/build/dist/Models/DatabaseModels/NetworkDeviceLabelRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDeviceOwnerRule.js +2 -2
- package/build/dist/Models/DatabaseModels/NetworkDeviceOwnerRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkSiteAssignmentRule.js +1 -1
- package/build/dist/Models/DatabaseModels/NetworkSiteAssignmentRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyCustomField.js +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleLayer.js +16 -4
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleLayer.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Project.js +235 -0
- package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
- package/build/dist/Models/DatabaseModels/RumApplication.js +930 -0
- package/build/dist/Models/DatabaseModels/RumApplication.js.map +1 -1
- package/build/dist/Models/DatabaseModels/RumSessionErasureRequest.js +591 -0
- package/build/dist/Models/DatabaseModels/RumSessionErasureRequest.js.map +1 -0
- package/build/dist/Models/DatabaseModels/RumSessionPin.js +483 -0
- package/build/dist/Models/DatabaseModels/RumSessionPin.js.map +1 -0
- package/build/dist/Models/DatabaseModels/RumSessionReplayView.js +433 -0
- package/build/dist/Models/DatabaseModels/RumSessionReplayView.js.map +1 -0
- package/build/dist/Models/DatabaseModels/RunbookCredential.js +693 -0
- package/build/dist/Models/DatabaseModels/RunbookCredential.js.map +1 -0
- package/build/dist/Models/DatabaseModels/RunbookSecret.js +8 -8
- package/build/dist/Models/DatabaseModels/RunbookSecret.js.map +1 -1
- package/build/dist/Models/DatabaseModels/{RunbookAgent.js → Runner.js} +235 -70
- package/build/dist/Models/DatabaseModels/Runner.js.map +1 -0
- package/build/dist/Models/DatabaseModels/{RunbookAgentJob.js → RunnerJob.js} +173 -40
- package/build/dist/Models/DatabaseModels/RunnerJob.js.map +1 -0
- package/build/dist/Models/DatabaseModels/{RunbookAgentOwnerTeam.js → RunnerOwnerTeam.js} +57 -57
- package/build/dist/Models/DatabaseModels/RunnerOwnerTeam.js.map +1 -0
- package/build/dist/Models/DatabaseModels/{RunbookAgentOwnerUser.js → RunnerOwnerUser.js} +57 -57
- package/build/dist/Models/DatabaseModels/RunnerOwnerUser.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceCustomField.js +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageCustomField.js +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TeamCustomField.js +1 -1
- package/build/dist/Models/DatabaseModels/TeamCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TeamMemberCustomField.js +1 -1
- package/build/dist/Models/DatabaseModels/TeamMemberCustomField.js.map +1 -1
- package/build/dist/Server/API/AIAgentDataAPI.js +130 -45
- package/build/dist/Server/API/AIAgentDataAPI.js.map +1 -1
- package/build/dist/Server/API/AIAgentTaskAPI.js +26 -36
- package/build/dist/Server/API/AIAgentTaskAPI.js.map +1 -1
- package/build/dist/Server/API/AIAgentTaskLogAPI.js +11 -28
- package/build/dist/Server/API/AIAgentTaskLogAPI.js.map +1 -1
- package/build/dist/Server/API/AutoRemediationAPI.js +416 -0
- package/build/dist/Server/API/AutoRemediationAPI.js.map +1 -0
- package/build/dist/Server/API/BaseAnalyticsAPI.js +4 -1
- package/build/dist/Server/API/BaseAnalyticsAPI.js.map +1 -1
- package/build/dist/Server/API/CommonAPI.js +24 -0
- package/build/dist/Server/API/CommonAPI.js.map +1 -1
- package/build/dist/Server/API/DashboardAPI.js +265 -6
- package/build/dist/Server/API/DashboardAPI.js.map +1 -1
- package/build/dist/Server/API/TelemetryAPI.js +940 -3
- package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
- package/build/dist/Server/API/UserIncomingCallNumberAPI.js +18 -0
- package/build/dist/Server/API/UserIncomingCallNumberAPI.js.map +1 -1
- package/build/dist/Server/DatabaseConfig.js +23 -4
- package/build/dist/Server/DatabaseConfig.js.map +1 -1
- package/build/dist/Server/EnvironmentConfig.js +8 -0
- package/build/dist/Server/EnvironmentConfig.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/LocalMigrationGenerationDataSource.js +11 -1
- package/build/dist/Server/Infrastructure/Postgres/LocalMigrationGenerationDataSource.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785417351021-AddSessionReplay.js +106 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785417351021-AddSessionReplay.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785491583874-EnableSessionReplayByDefault.js +37 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785491583874-EnableSessionReplayByDefault.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785496223183-AddMonitorSummaryToIncidentAndAlert.js +18 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785496223183-AddMonitorSummaryToIncidentAndAlert.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785516996695-AddSessionReplayReliabilityColumns.js +29 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785516996695-AddSessionReplayReliabilityColumns.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785533806494-AddSessionReplayCorrelationColumns.js +35 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785533806494-AddSessionReplayCorrelationColumns.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785749674203-AddRedisAndPostgresHealthNotificationColumns.js +40 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785749674203-AddRedisAndPostgresHealthNotificationColumns.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785763818197-AddAutoRemediation.js +128 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785763818197-AddAutoRemediation.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785768089408-AddRemediationVerification.js +28 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785768089408-AddRemediationVerification.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785776960660-AddRunnerCapabilities.js +14 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785776960660-AddRunnerCapabilities.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785790000000-AddIncidentInvestigationGating.js +27 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785790000000-AddIncidentInvestigationGating.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785800000000-AddRunbookCredential.js +44 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785800000000-AddRunbookCredential.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785810000000-RenameRunbookAgentToRunner.js +88 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785810000000-RenameRunbookAgentToRunner.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785860000000-SessionReplayDefaultToSensitiveInputMasking.js +59 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785860000000-SessionReplayDefaultToSensitiveInputMasking.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785870000000-AddAiCommandRemediation.js +76 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785870000000-AddAiCommandRemediation.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785880000000-AlignRunnerSchemaWithEntities.js +214 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785880000000-AlignRunnerSchemaWithEntities.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785890000000-AddFixVerificationAndAutomaticCodeFixes.js +44 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785890000000-AddFixVerificationAndAutomaticCodeFixes.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +32 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Services/AIRunService.js +1 -4
- package/build/dist/Server/Services/AIRunService.js.map +1 -1
- package/build/dist/Server/Services/AIService.js +26 -0
- package/build/dist/Server/Services/AIService.js.map +1 -1
- package/build/dist/Server/Services/AlertService.js +37 -4
- package/build/dist/Server/Services/AlertService.js.map +1 -1
- package/build/dist/Server/Services/AlertSeverityService.js +24 -11
- package/build/dist/Server/Services/AlertSeverityService.js.map +1 -1
- package/build/dist/Server/Services/AlertStateService.js +24 -11
- package/build/dist/Server/Services/AlertStateService.js.map +1 -1
- package/build/dist/Server/Services/AutoRemediationRuleEngineService.js +917 -0
- package/build/dist/Server/Services/AutoRemediationRuleEngineService.js.map +1 -0
- package/build/dist/Server/Services/{RunbookAgentOwnerTeamService.js → AutoRemediationRuleService.js} +2 -2
- package/build/dist/Server/Services/AutoRemediationRuleService.js.map +1 -0
- package/build/dist/Server/Services/AutoRemediationSuggestionService.js +127 -0
- package/build/dist/Server/Services/AutoRemediationSuggestionService.js.map +1 -0
- package/build/dist/Server/Services/BillingService.js +45 -1
- package/build/dist/Server/Services/BillingService.js.map +1 -1
- package/build/dist/Server/Services/DatabaseService.js +72 -4
- package/build/dist/Server/Services/DatabaseService.js.map +1 -1
- package/build/dist/Server/Services/IncidentService.js +52 -4
- package/build/dist/Server/Services/IncidentService.js.map +1 -1
- package/build/dist/Server/Services/IncidentSeverityService.js +24 -11
- package/build/dist/Server/Services/IncidentSeverityService.js.map +1 -1
- package/build/dist/Server/Services/IncidentStateService.js +24 -11
- package/build/dist/Server/Services/IncidentStateService.js.map +1 -1
- package/build/dist/Server/Services/Index.js +18 -0
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Services/LlmProviderService.js +61 -8
- package/build/dist/Server/Services/LlmProviderService.js.map +1 -1
- package/build/dist/Server/Services/MonitorService.js +24 -0
- package/build/dist/Server/Services/MonitorService.js.map +1 -1
- package/build/dist/Server/Services/MonitorStatusService.js +25 -11
- package/build/dist/Server/Services/MonitorStatusService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceLabelRuleEngineService.js +12 -11
- package/build/dist/Server/Services/NetworkDeviceLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceLabelRuleService.js +43 -0
- package/build/dist/Server/Services/NetworkDeviceLabelRuleService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceOwnerRuleEngineService.js +12 -11
- package/build/dist/Server/Services/NetworkDeviceOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceOwnerRuleService.js +41 -0
- package/build/dist/Server/Services/NetworkDeviceOwnerRuleService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceService.js +129 -20
- package/build/dist/Server/Services/NetworkDeviceService.js.map +1 -1
- package/build/dist/Server/Services/NetworkSiteAssignmentRuleService.js +67 -10
- package/build/dist/Server/Services/NetworkSiteAssignmentRuleService.js.map +1 -1
- package/build/dist/Server/Services/NetworkSiteService.js +19 -8
- package/build/dist/Server/Services/NetworkSiteService.js.map +1 -1
- package/build/dist/Server/Services/ProjectService.js +43 -0
- package/build/dist/Server/Services/ProjectService.js.map +1 -1
- package/build/dist/Server/Services/RumApplicationService.js +202 -0
- package/build/dist/Server/Services/RumApplicationService.js.map +1 -1
- package/build/dist/Server/Services/RumSessionChunkService.js +9 -0
- package/build/dist/Server/Services/RumSessionChunkService.js.map +1 -0
- package/build/dist/Server/Services/RumSessionErasureRequestService.js +190 -0
- package/build/dist/Server/Services/RumSessionErasureRequestService.js.map +1 -0
- package/build/dist/Server/Services/RumSessionPinService.js +208 -0
- package/build/dist/Server/Services/RumSessionPinService.js.map +1 -0
- package/build/dist/Server/Services/RumSessionReplayViewService.js +180 -0
- package/build/dist/Server/Services/RumSessionReplayViewService.js.map +1 -0
- package/build/dist/Server/Services/RumSessionService.js +102 -0
- package/build/dist/Server/Services/RumSessionService.js.map +1 -0
- package/build/dist/Server/Services/RunbookCredentialService.js +67 -0
- package/build/dist/Server/Services/RunbookCredentialService.js.map +1 -0
- package/build/dist/Server/Services/{RunbookAgentJobService.js → RunnerJobService.js} +158 -46
- package/build/dist/Server/Services/RunnerJobService.js.map +1 -0
- package/build/dist/Server/Services/{RunbookAgentOwnerUserService.js → RunnerOwnerTeamService.js} +2 -2
- package/build/dist/Server/Services/RunnerOwnerTeamService.js.map +1 -0
- package/build/dist/Server/Services/RunnerOwnerUserService.js +9 -0
- package/build/dist/Server/Services/RunnerOwnerUserService.js.map +1 -0
- package/build/dist/Server/Services/RunnerService.js +163 -0
- package/build/dist/Server/Services/RunnerService.js.map +1 -0
- package/build/dist/Server/Services/ScheduledMaintenanceStateService.js +24 -11
- package/build/dist/Server/Services/ScheduledMaintenanceStateService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceStateTimelineService.js +15 -1
- package/build/dist/Server/Services/ScheduledMaintenanceStateTimelineService.js.map +1 -1
- package/build/dist/Server/Services/ServiceService.js +8 -2
- package/build/dist/Server/Services/ServiceService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageService.js +173 -16
- package/build/dist/Server/Services/StatusPageService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageSubscriberNotificationTemplateService.js +17 -1
- package/build/dist/Server/Services/StatusPageSubscriberNotificationTemplateService.js.map +1 -1
- package/build/dist/Server/Services/TelemetryExceptionService.js +3 -16
- package/build/dist/Server/Services/TelemetryExceptionService.js.map +1 -1
- package/build/dist/Server/Services/TelemetryUsageBillingService.js +31 -3
- package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
- package/build/dist/Server/Services/TraceAggregationService.js +106 -2
- package/build/dist/Server/Services/TraceAggregationService.js.map +1 -1
- package/build/dist/Server/Types/Billing/MeteredPlan/AllMeteredPlans.js +16 -0
- package/build/dist/Server/Types/Billing/MeteredPlan/AllMeteredPlans.js.map +1 -1
- package/build/dist/Server/Types/Billing/MeteredPlan/ServerMeteredPlan.js +9 -0
- package/build/dist/Server/Types/Billing/MeteredPlan/ServerMeteredPlan.js.map +1 -1
- package/build/dist/Server/Utils/AI/Chat/ObservabilityAssistant.js +38 -6
- package/build/dist/Server/Utils/AI/Chat/ObservabilityAssistant.js.map +1 -1
- package/build/dist/Server/Utils/AI/CodeFix/CodeFixAgentAuth.js +104 -0
- package/build/dist/Server/Utils/AI/CodeFix/CodeFixAgentAuth.js.map +1 -0
- package/build/dist/Server/Utils/AI/CodeFix/CodeFixAgentAvailability.js +54 -0
- package/build/dist/Server/Utils/AI/CodeFix/CodeFixAgentAvailability.js.map +1 -0
- package/build/dist/Server/Utils/AI/CodeFix/CodeFixReadiness.js +11 -7
- package/build/dist/Server/Utils/AI/CodeFix/CodeFixReadiness.js.map +1 -1
- package/build/dist/Server/Utils/AI/CodeFix/CodeFixRunQueue.js +3 -4
- package/build/dist/Server/Utils/AI/CodeFix/CodeFixRunQueue.js.map +1 -1
- package/build/dist/Server/Utils/AI/Remediation/RemediationCommandTools.js +724 -0
- package/build/dist/Server/Utils/AI/Remediation/RemediationCommandTools.js.map +1 -0
- package/build/dist/Server/Utils/AI/Remediation/RemediationExecutionRunner.js +668 -0
- package/build/dist/Server/Utils/AI/Remediation/RemediationExecutionRunner.js.map +1 -0
- package/build/dist/Server/Utils/AI/Remediation/RemediationPlanRunner.js +657 -0
- package/build/dist/Server/Utils/AI/Remediation/RemediationPlanRunner.js.map +1 -0
- package/build/dist/Server/Utils/AI/SRE/AIInvestigationEngine.js +52 -7
- package/build/dist/Server/Utils/AI/SRE/AIInvestigationEngine.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/AlertInvestigationRunner.js +53 -5
- package/build/dist/Server/Utils/AI/SRE/AlertInvestigationRunner.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/ConfidenceSignal.js +25 -6
- package/build/dist/Server/Utils/AI/SRE/ConfidenceSignal.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/FixFromIncidentTaskTrigger.js +131 -17
- package/build/dist/Server/Utils/AI/SRE/FixFromIncidentTaskTrigger.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/IncidentInvestigationRunner.js +200 -5
- package/build/dist/Server/Utils/AI/SRE/IncidentInvestigationRunner.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/Insights/Triage.js +2 -7
- package/build/dist/Server/Utils/AI/SRE/Insights/Triage.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/InvestigationGrader.js +4 -17
- package/build/dist/Server/Utils/AI/SRE/InvestigationGrader.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/InvestigationQueue.js +203 -19
- package/build/dist/Server/Utils/AI/SRE/InvestigationQueue.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/PostedRootCause.js +89 -0
- package/build/dist/Server/Utils/AI/SRE/PostedRootCause.js.map +1 -0
- package/build/dist/Server/Utils/AI/SRE/RemediationHandoff.js +82 -0
- package/build/dist/Server/Utils/AI/SRE/RemediationHandoff.js.map +1 -0
- package/build/dist/Server/Utils/AI/SRE/SubjectCodeFixRun.js +4 -19
- package/build/dist/Server/Utils/AI/SRE/SubjectCodeFixRun.js.map +1 -1
- package/build/dist/Server/Utils/AI/Toolbox/CodeWriteTools.js +2 -2
- package/build/dist/Server/Utils/Alert/AlertPrivacyFilter.js +36 -0
- package/build/dist/Server/Utils/Alert/AlertPrivacyFilter.js.map +1 -1
- package/build/dist/Server/Utils/AutoRemediation/CommandPlanExecutor.js +498 -0
- package/build/dist/Server/Utils/AutoRemediation/CommandPlanExecutor.js.map +1 -0
- package/build/dist/Server/Utils/AutoRemediation/RemediationVerifier.js +492 -0
- package/build/dist/Server/Utils/AutoRemediation/RemediationVerifier.js.map +1 -0
- package/build/dist/Server/Utils/CorsOptions.js +47 -0
- package/build/dist/Server/Utils/CorsOptions.js.map +1 -0
- package/build/dist/Server/Utils/Database/RelationIdUtil.js +51 -0
- package/build/dist/Server/Utils/Database/RelationIdUtil.js.map +1 -0
- package/build/dist/Server/Utils/Incident/IncidentPrivacyFilter.js +38 -0
- package/build/dist/Server/Utils/Incident/IncidentPrivacyFilter.js.map +1 -1
- package/build/dist/Server/Utils/InstanceHealth/PostgresHealth.js +194 -0
- package/build/dist/Server/Utils/InstanceHealth/PostgresHealth.js.map +1 -0
- package/build/dist/Server/Utils/InstanceHealth/RedisHealth.js +292 -0
- package/build/dist/Server/Utils/InstanceHealth/RedisHealth.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.js +11 -0
- package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js +9 -0
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js +9 -0
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorResource.js +16 -0
- package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorSummaryCapture.js +92 -0
- package/build/dist/Server/Utils/Monitor/MonitorSummaryCapture.js.map +1 -0
- package/build/dist/Server/Utils/NetworkDevice/RulePatternValidator.js +27 -0
- package/build/dist/Server/Utils/NetworkDevice/RulePatternValidator.js.map +1 -0
- package/build/dist/Server/Utils/OpenAPI.js +2 -1
- package/build/dist/Server/Utils/OpenAPI.js.map +1 -1
- package/build/dist/Server/Utils/Runbook/RunbookExecutePermission.js +67 -0
- package/build/dist/Server/Utils/Runbook/RunbookExecutePermission.js.map +1 -0
- package/build/dist/Server/Utils/SessionReplay/SessionReplayErasureTombstone.js +98 -0
- package/build/dist/Server/Utils/SessionReplay/SessionReplayErasureTombstone.js.map +1 -0
- package/build/dist/Server/Utils/SessionReplay/SessionReplayGateCache.js +378 -0
- package/build/dist/Server/Utils/SessionReplay/SessionReplayGateCache.js.map +1 -0
- package/build/dist/Server/Utils/SessionReplay/SessionReplayGateCacheStore.js +137 -0
- package/build/dist/Server/Utils/SessionReplay/SessionReplayGateCacheStore.js.map +1 -0
- package/build/dist/Server/Utils/SessionReplay/SessionReplayReadService.js +998 -0
- package/build/dist/Server/Utils/SessionReplay/SessionReplayReadService.js.map +1 -0
- package/build/dist/Server/Utils/SessionReplay/SessionReplayRetention.js +59 -0
- package/build/dist/Server/Utils/SessionReplay/SessionReplayRetention.js.map +1 -0
- package/build/dist/Server/Utils/SessionReplay/SessionReplayTargeting.js +98 -0
- package/build/dist/Server/Utils/SessionReplay/SessionReplayTargeting.js.map +1 -0
- package/build/dist/Server/Utils/SessionReplay/SessionReplayUsage.js +69 -0
- package/build/dist/Server/Utils/SessionReplay/SessionReplayUsage.js.map +1 -0
- package/build/dist/Server/Utils/StartServer.js +40 -3
- package/build/dist/Server/Utils/StartServer.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/TelemetryFanInWriter.js +27 -6
- package/build/dist/Server/Utils/Telemetry/TelemetryFanInWriter.js.map +1 -1
- package/build/dist/Types/AI/AIRunStatus.js +17 -5
- package/build/dist/Types/AI/AIRunStatus.js.map +1 -1
- package/build/dist/Types/AI/AIRunType.js +18 -0
- package/build/dist/Types/AI/AIRunType.js.map +1 -1
- package/build/dist/Types/AI/FixVerificationStatus.js +22 -0
- package/build/dist/Types/AI/FixVerificationStatus.js.map +1 -0
- package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js +16 -0
- package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js.map +1 -1
- package/build/dist/Types/AutoRemediation/AiRemediationCommandPlan.js +192 -0
- package/build/dist/Types/AutoRemediation/AiRemediationCommandPlan.js.map +1 -0
- package/build/dist/Types/AutoRemediation/AutoRemediationExecutionMode.js +18 -0
- package/build/dist/Types/AutoRemediation/AutoRemediationExecutionMode.js.map +1 -0
- package/build/dist/Types/AutoRemediation/AutoRemediationSuggestionStatus.js +31 -0
- package/build/dist/Types/AutoRemediation/AutoRemediationSuggestionStatus.js.map +1 -0
- package/build/dist/Types/AutoRemediation/AutoRemediationSuggestionType.js +18 -0
- package/build/dist/Types/AutoRemediation/AutoRemediationSuggestionType.js.map +1 -0
- package/build/dist/Types/AutoRemediation/AutoRemediationTriggerEntity.js +12 -0
- package/build/dist/Types/AutoRemediation/AutoRemediationTriggerEntity.js.map +1 -0
- package/build/dist/Types/AutoRemediation/AutoRemediationVerificationStatus.js +22 -0
- package/build/dist/Types/AutoRemediation/AutoRemediationVerificationStatus.js.map +1 -0
- package/build/dist/Types/CustomField/CustomFieldDropdownOption.js +110 -0
- package/build/dist/Types/CustomField/CustomFieldDropdownOption.js.map +1 -0
- package/build/dist/Types/Dashboard/DashboardComponentType.js +2 -0
- package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
- package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js +4 -0
- package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js.map +1 -1
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardClockComponent.js +19 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardClockComponent.js.map +1 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardHtmlComponent.js +2 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardHtmlComponent.js.map +1 -0
- package/build/dist/Types/Dashboard/DashboardTemplates.js +487 -0
- package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -1
- package/build/dist/Types/Date.js +6 -0
- package/build/dist/Types/Date.js.map +1 -1
- package/build/dist/Types/Email/EmailTemplateType.js +2 -0
- package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
- package/build/dist/Types/Kubernetes/KubernetesRightSizing.js +229 -0
- package/build/dist/Types/Kubernetes/KubernetesRightSizing.js.map +1 -0
- package/build/dist/Types/MeteredPlan/ProductType.js +1 -0
- package/build/dist/Types/MeteredPlan/ProductType.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStepMetricMonitor.js +12 -2
- package/build/dist/Types/Monitor/MonitorStepMetricMonitor.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorSteps.js +5 -0
- package/build/dist/Types/Monitor/MonitorSteps.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorSummarySnapshot.js +13 -0
- package/build/dist/Types/Monitor/MonitorSummarySnapshot.js.map +1 -0
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationCatalog.js +40 -8
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationCatalog.js.map +1 -1
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationTypes.js +4 -3
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationTypes.js.map +1 -1
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationUtil.js +50 -10
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationUtil.js.map +1 -1
- package/build/dist/Types/Monitor/RumAlertTemplates.js +297 -0
- package/build/dist/Types/Monitor/RumAlertTemplates.js.map +1 -0
- package/build/dist/Types/Permission.js +184 -24
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/Types/Rum/SessionReplay.js +155 -0
- package/build/dist/Types/Rum/SessionReplay.js.map +1 -0
- package/build/dist/Types/Rum/SessionReplayCaptureTrigger.js +26 -0
- package/build/dist/Types/Rum/SessionReplayCaptureTrigger.js.map +1 -0
- package/build/dist/Types/Rum/SessionReplayConsentMode.js +27 -0
- package/build/dist/Types/Rum/SessionReplayConsentMode.js.map +1 -0
- package/build/dist/Types/Rum/SessionReplayMaskingMode.js +79 -0
- package/build/dist/Types/Rum/SessionReplayMaskingMode.js.map +1 -0
- package/build/dist/Types/Rum/SessionReplayTriggerReason.js +28 -0
- package/build/dist/Types/Rum/SessionReplayTriggerReason.js.map +1 -0
- package/build/dist/Types/Runbook/RunbookCredentialType.js +7 -0
- package/build/dist/Types/Runbook/RunbookCredentialType.js.map +1 -0
- package/build/dist/Types/Runbook/RunbookStep.js +20 -1
- package/build/dist/Types/Runbook/RunbookStep.js.map +1 -1
- package/build/dist/Types/Runbook/RunbookStepType.js +24 -0
- package/build/dist/Types/Runbook/RunbookStepType.js.map +1 -1
- package/build/dist/Types/Runbook/RunnerJobOrigin.js +21 -0
- package/build/dist/Types/Runbook/RunnerJobOrigin.js.map +1 -0
- package/build/dist/Types/Runbook/RunnerJobStatus.js +22 -0
- package/build/dist/Types/Runbook/RunnerJobStatus.js.map +1 -0
- package/build/dist/Types/Runner/RunnerLiveStatus.js +69 -0
- package/build/dist/Types/Runner/RunnerLiveStatus.js.map +1 -0
- package/build/dist/Types/StatusPage/StatusPageReport.js +22 -0
- package/build/dist/Types/StatusPage/StatusPageReport.js.map +1 -0
- package/build/dist/Types/Telemetry/TelemetryRetentionConfig.js.map +1 -1
- package/build/dist/Types/Text.js +29 -0
- package/build/dist/Types/Text.js.map +1 -1
- package/build/dist/UI/Components/AutocompleteTextInput/AutocompleteTextInput.js +143 -28
- package/build/dist/UI/Components/AutocompleteTextInput/AutocompleteTextInput.js.map +1 -1
- package/build/dist/UI/Components/BulkUpdate/BulkLabelActions.js +82 -9
- package/build/dist/UI/Components/BulkUpdate/BulkLabelActions.js.map +1 -1
- package/build/dist/UI/Components/BulkUpdate/BulkOwnerActions.js +11 -0
- package/build/dist/UI/Components/BulkUpdate/BulkOwnerActions.js.map +1 -1
- package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js +11 -13
- package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js.map +1 -1
- package/build/dist/UI/Components/CustomFields/DropdownOptionsInput.js +76 -45
- package/build/dist/UI/Components/CustomFields/DropdownOptionsInput.js.map +1 -1
- package/build/dist/UI/Components/Detail/Detail.js +100 -8
- package/build/dist/UI/Components/Detail/Detail.js.map +1 -1
- package/build/dist/UI/Components/Dropdown/Dropdown.js +2 -5
- package/build/dist/UI/Components/Dropdown/Dropdown.js.map +1 -1
- package/build/dist/UI/Components/Dropdown/DropdownMenuZIndex.js +7 -0
- package/build/dist/UI/Components/Dropdown/DropdownMenuZIndex.js.map +1 -0
- package/build/dist/UI/Components/Dropdown/DropdownValueBadge.js +32 -0
- package/build/dist/UI/Components/Dropdown/DropdownValueBadge.js.map +1 -0
- package/build/dist/UI/Components/Filters/OperatorSelector.js +210 -20
- package/build/dist/UI/Components/Filters/OperatorSelector.js.map +1 -1
- package/build/dist/UI/Components/Forms/Fields/ColorPicker.js +26 -10
- package/build/dist/UI/Components/Forms/Fields/ColorPicker.js.map +1 -1
- package/build/dist/UI/Components/Forms/Fields/IconPicker.js +28 -13
- package/build/dist/UI/Components/Forms/Fields/IconPicker.js.map +1 -1
- package/build/dist/UI/Components/Forms/Validation.js +9 -5
- package/build/dist/UI/Components/Forms/Validation.js.map +1 -1
- package/build/dist/UI/Components/List/List.js +1 -1
- package/build/dist/UI/Components/List/List.js.map +1 -1
- package/build/dist/UI/Components/ModelTable/CustomFieldColumns.js +21 -19
- package/build/dist/UI/Components/ModelTable/CustomFieldColumns.js.map +1 -1
- package/build/dist/UI/Components/Pagination/Pagination.js +14 -3
- package/build/dist/UI/Components/Pagination/Pagination.js.map +1 -1
- package/build/dist/UI/Components/Table/Table.js +1 -1
- package/build/dist/UI/Components/Table/Table.js.map +1 -1
- package/build/dist/UI/Types/UseAnchoredFieldPopup.js +197 -0
- package/build/dist/UI/Types/UseAnchoredFieldPopup.js.map +1 -0
- package/build/dist/UI/Utils/Dropdown.js +18 -0
- package/build/dist/UI/Utils/Dropdown.js.map +1 -1
- package/build/dist/UI/Utils/Timezone.js +13 -2
- package/build/dist/UI/Utils/Timezone.js.map +1 -1
- package/build/dist/UI/Utils/UseClockTick.js +41 -0
- package/build/dist/UI/Utils/UseClockTick.js.map +1 -0
- package/build/dist/Utils/AiRemediation/CommandPolicy.js +303 -0
- package/build/dist/Utils/AiRemediation/CommandPolicy.js.map +1 -0
- package/build/dist/Utils/Dashboard/ClockWidgetFormat.js +232 -0
- package/build/dist/Utils/Dashboard/ClockWidgetFormat.js.map +1 -0
- package/build/dist/Utils/Dashboard/Components/DashboardClockComponent.js +146 -0
- package/build/dist/Utils/Dashboard/Components/DashboardClockComponent.js.map +1 -0
- package/build/dist/Utils/Dashboard/Components/DashboardHtmlComponent.js +133 -0
- package/build/dist/Utils/Dashboard/Components/DashboardHtmlComponent.js.map +1 -0
- package/build/dist/Utils/Dashboard/Components/DashboardValueComponent.js +10 -1
- package/build/dist/Utils/Dashboard/Components/DashboardValueComponent.js.map +1 -1
- package/build/dist/Utils/Dashboard/Components/Index.js +8 -0
- package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
- package/build/dist/Utils/Dashboard/HtmlWidgetDocument.js +198 -0
- package/build/dist/Utils/Dashboard/HtmlWidgetDocument.js.map +1 -0
- package/build/dist/Utils/Dashboard/ValueWidgetLayout.js +276 -0
- package/build/dist/Utils/Dashboard/ValueWidgetLayout.js.map +1 -0
- package/build/dist/Utils/Metrics/MetricSeriesScope.js +203 -0
- package/build/dist/Utils/Metrics/MetricSeriesScope.js.map +1 -0
- package/build/dist/Utils/Monitor/MonitorSummarySnapshotUtil.js +382 -0
- package/build/dist/Utils/Monitor/MonitorSummarySnapshotUtil.js.map +1 -0
- package/build/dist/Utils/NetworkSite/CidrMatchUtil.js +13 -7
- package/build/dist/Utils/NetworkSite/CidrMatchUtil.js.map +1 -1
- package/build/dist/Utils/Rules/RulePatternMatchUtil.js +87 -0
- package/build/dist/Utils/Rules/RulePatternMatchUtil.js.map +1 -0
- package/build/dist/Utils/Rum/ChunkMath.js +147 -0
- package/build/dist/Utils/Rum/ChunkMath.js.map +1 -0
- package/build/dist/Utils/Rum/Masking.js +143 -0
- package/build/dist/Utils/Rum/Masking.js.map +1 -0
- package/build/dist/Utils/Rum/SessionIdentity.js +161 -0
- package/build/dist/Utils/Rum/SessionIdentity.js.map +1 -0
- package/build/dist/Utils/Rum/SessionSampling.js +91 -0
- package/build/dist/Utils/Rum/SessionSampling.js.map +1 -0
- package/build/dist/Utils/Rum/UrlScrubber.js +144 -0
- package/build/dist/Utils/Rum/UrlScrubber.js.map +1 -0
- package/build/dist/Utils/Schema/ModelSchema.js +28 -3
- package/build/dist/Utils/Schema/ModelSchema.js.map +1 -1
- package/build/dist/Utils/StatusPage/Report.js +194 -0
- package/build/dist/Utils/StatusPage/Report.js.map +1 -0
- package/build/dist/Utils/ValueFormatter.js +239 -46
- package/build/dist/Utils/ValueFormatter.js.map +1 -1
- package/jest.config.json +3 -0
- package/package.json +1 -1
- package/tsconfig.json +19 -1
- package/Server/Services/RunbookAgentService.ts +0 -93
- package/build/dist/Models/DatabaseModels/RunbookAgent.js.map +0 -1
- package/build/dist/Models/DatabaseModels/RunbookAgentJob.js.map +0 -1
- package/build/dist/Models/DatabaseModels/RunbookAgentOwnerTeam.js.map +0 -1
- package/build/dist/Models/DatabaseModels/RunbookAgentOwnerUser.js.map +0 -1
- package/build/dist/Server/Services/RunbookAgentJobService.js.map +0 -1
- package/build/dist/Server/Services/RunbookAgentOwnerTeamService.js.map +0 -1
- package/build/dist/Server/Services/RunbookAgentOwnerUserService.js.map +0 -1
- package/build/dist/Server/Services/RunbookAgentService.js +0 -91
- package/build/dist/Server/Services/RunbookAgentService.js.map +0 -1
- package/build/dist/Types/Runbook/RunbookAgentJobStatus.js +0 -22
- package/build/dist/Types/Runbook/RunbookAgentJobStatus.js.map +0 -1
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import AIAgentService from "../Services/AIAgentService";
|
|
2
1
|
import TelemetryExceptionService from "../Services/TelemetryExceptionService";
|
|
3
2
|
import ServiceService from "../Services/ServiceService";
|
|
4
3
|
import CodeRepositoryService from "../Services/CodeRepositoryService";
|
|
@@ -17,7 +16,10 @@ import Express, {
|
|
|
17
16
|
NextFunction,
|
|
18
17
|
} from "../Utils/Express";
|
|
19
18
|
import Response from "../Utils/Response";
|
|
20
|
-
import
|
|
19
|
+
import CodeFixAgentAuth, {
|
|
20
|
+
CodeFixAgentIdentity,
|
|
21
|
+
CodeFixAgentSource,
|
|
22
|
+
} from "../Utils/AI/CodeFix/CodeFixAgentAuth";
|
|
21
23
|
import TelemetryException from "../../Models/DatabaseModels/TelemetryException";
|
|
22
24
|
import Service from "../../Models/DatabaseModels/Service";
|
|
23
25
|
import CodeRepository from "../../Models/DatabaseModels/CodeRepository";
|
|
@@ -33,6 +35,7 @@ import AlertFeed, {
|
|
|
33
35
|
} from "../../Models/DatabaseModels/AlertFeed";
|
|
34
36
|
import AIRunEventType from "../../Types/AI/AIRunEventType";
|
|
35
37
|
import AIRunType from "../../Types/AI/AIRunType";
|
|
38
|
+
import FixVerificationStatus from "../../Types/AI/FixVerificationStatus";
|
|
36
39
|
import CodeFixTaskType, {
|
|
37
40
|
CodeFixContextKind,
|
|
38
41
|
CodeFixTaskTypeHelper,
|
|
@@ -109,8 +112,9 @@ export default class AIAgentDataAPI {
|
|
|
109
112
|
try {
|
|
110
113
|
const data: JSONObject = req.body;
|
|
111
114
|
|
|
112
|
-
// Validate
|
|
113
|
-
const aiAgent:
|
|
115
|
+
// Validate agent credentials (AIAgent fleet or a Runner)
|
|
116
|
+
const aiAgent: CodeFixAgentIdentity | null =
|
|
117
|
+
await CodeFixAgentAuth.resolveAgentIdentity(data);
|
|
114
118
|
|
|
115
119
|
if (!aiAgent || !aiAgent.id) {
|
|
116
120
|
return Response.sendErrorResponse(
|
|
@@ -130,6 +134,36 @@ export default class AIAgentDataAPI {
|
|
|
130
134
|
|
|
131
135
|
const taskId: ObjectID = new ObjectID(data["taskId"] as string);
|
|
132
136
|
|
|
137
|
+
/*
|
|
138
|
+
* A project-scoped Runner may only spend a run of its own project.
|
|
139
|
+
* Without this, one tenant's Runner key could burn another
|
|
140
|
+
* tenant's LLM budget and read back the completions.
|
|
141
|
+
*/
|
|
142
|
+
const completionRun: AIRun | null = await AIRunService.findOneById({
|
|
143
|
+
id: taskId,
|
|
144
|
+
select: {
|
|
145
|
+
_id: true,
|
|
146
|
+
projectId: true,
|
|
147
|
+
},
|
|
148
|
+
props: {
|
|
149
|
+
isRoot: true,
|
|
150
|
+
},
|
|
151
|
+
});
|
|
152
|
+
|
|
153
|
+
if (
|
|
154
|
+
!completionRun ||
|
|
155
|
+
CodeFixAgentAuth.deniesAccessToProject(
|
|
156
|
+
aiAgent,
|
|
157
|
+
completionRun.projectId,
|
|
158
|
+
)
|
|
159
|
+
) {
|
|
160
|
+
return Response.sendErrorResponse(
|
|
161
|
+
req,
|
|
162
|
+
res,
|
|
163
|
+
new BadDataException("Task not found"),
|
|
164
|
+
);
|
|
165
|
+
}
|
|
166
|
+
|
|
133
167
|
const messages: Array<LLMMessage> = this.parseCompletionMessages(
|
|
134
168
|
data["messages"],
|
|
135
169
|
);
|
|
@@ -175,8 +209,9 @@ export default class AIAgentDataAPI {
|
|
|
175
209
|
try {
|
|
176
210
|
const data: JSONObject = req.body;
|
|
177
211
|
|
|
178
|
-
// Validate
|
|
179
|
-
const aiAgent:
|
|
212
|
+
// Validate agent credentials (AIAgent fleet or a Runner)
|
|
213
|
+
const aiAgent: CodeFixAgentIdentity | null =
|
|
214
|
+
await CodeFixAgentAuth.resolveAgentIdentity(data);
|
|
180
215
|
|
|
181
216
|
if (!aiAgent) {
|
|
182
217
|
return Response.sendErrorResponse(
|
|
@@ -205,6 +240,7 @@ export default class AIAgentDataAPI {
|
|
|
205
240
|
id: exceptionId,
|
|
206
241
|
select: {
|
|
207
242
|
_id: true,
|
|
243
|
+
projectId: true,
|
|
208
244
|
message: true,
|
|
209
245
|
stackTrace: true,
|
|
210
246
|
exceptionType: true,
|
|
@@ -218,7 +254,14 @@ export default class AIAgentDataAPI {
|
|
|
218
254
|
},
|
|
219
255
|
});
|
|
220
256
|
|
|
221
|
-
|
|
257
|
+
/*
|
|
258
|
+
* A project-scoped Runner only sees its own project's exceptions —
|
|
259
|
+
* this response carries stack traces and messages.
|
|
260
|
+
*/
|
|
261
|
+
if (
|
|
262
|
+
!exception ||
|
|
263
|
+
CodeFixAgentAuth.deniesAccessToProject(aiAgent, exception.projectId)
|
|
264
|
+
) {
|
|
222
265
|
return Response.sendErrorResponse(
|
|
223
266
|
req,
|
|
224
267
|
res,
|
|
@@ -301,8 +344,9 @@ export default class AIAgentDataAPI {
|
|
|
301
344
|
try {
|
|
302
345
|
const data: JSONObject = req.body;
|
|
303
346
|
|
|
304
|
-
// Validate
|
|
305
|
-
const aiAgent:
|
|
347
|
+
// Validate agent credentials (AIAgent fleet or a Runner)
|
|
348
|
+
const aiAgent: CodeFixAgentIdentity | null =
|
|
349
|
+
await CodeFixAgentAuth.resolveAgentIdentity(data);
|
|
306
350
|
|
|
307
351
|
if (!aiAgent) {
|
|
308
352
|
return Response.sendErrorResponse(
|
|
@@ -340,7 +384,11 @@ export default class AIAgentDataAPI {
|
|
|
340
384
|
},
|
|
341
385
|
});
|
|
342
386
|
|
|
343
|
-
if (
|
|
387
|
+
if (
|
|
388
|
+
!exception ||
|
|
389
|
+
!exception.projectId ||
|
|
390
|
+
CodeFixAgentAuth.deniesAccessToProject(aiAgent, exception.projectId)
|
|
391
|
+
) {
|
|
344
392
|
return Response.sendErrorResponse(
|
|
345
393
|
req,
|
|
346
394
|
res,
|
|
@@ -391,6 +439,9 @@ export default class AIAgentDataAPI {
|
|
|
391
439
|
organizationName: true,
|
|
392
440
|
repositoryName: true,
|
|
393
441
|
mainBranchName: true,
|
|
442
|
+
setupCommand: true,
|
|
443
|
+
buildCommand: true,
|
|
444
|
+
testCommand: true,
|
|
394
445
|
gitHubAppInstallationId: true,
|
|
395
446
|
},
|
|
396
447
|
props: {
|
|
@@ -420,6 +471,9 @@ export default class AIAgentDataAPI {
|
|
|
420
471
|
organizationName: repository.organizationName || "",
|
|
421
472
|
repositoryName: repository.repositoryName || "",
|
|
422
473
|
mainBranchName: repository.mainBranchName || "main",
|
|
474
|
+
setupCommand: repository.setupCommand || null,
|
|
475
|
+
buildCommand: repository.buildCommand || null,
|
|
476
|
+
testCommand: repository.testCommand || null,
|
|
423
477
|
servicePathInRepository: resolution.servicePathInRepository,
|
|
424
478
|
gitHubAppInstallationId:
|
|
425
479
|
repository.gitHubAppInstallationId || null,
|
|
@@ -468,8 +522,9 @@ export default class AIAgentDataAPI {
|
|
|
468
522
|
try {
|
|
469
523
|
const data: JSONObject = req.body;
|
|
470
524
|
|
|
471
|
-
// Validate
|
|
472
|
-
const aiAgent:
|
|
525
|
+
// Validate agent credentials (AIAgent fleet or a Runner)
|
|
526
|
+
const aiAgent: CodeFixAgentIdentity | null =
|
|
527
|
+
await CodeFixAgentAuth.resolveAgentIdentity(data);
|
|
473
528
|
|
|
474
529
|
if (!aiAgent) {
|
|
475
530
|
return Response.sendErrorResponse(
|
|
@@ -505,7 +560,11 @@ export default class AIAgentDataAPI {
|
|
|
505
560
|
},
|
|
506
561
|
});
|
|
507
562
|
|
|
508
|
-
if (
|
|
563
|
+
if (
|
|
564
|
+
!run ||
|
|
565
|
+
!run.projectId ||
|
|
566
|
+
CodeFixAgentAuth.deniesAccessToProject(aiAgent, run.projectId)
|
|
567
|
+
) {
|
|
509
568
|
return Response.sendErrorResponse(
|
|
510
569
|
req,
|
|
511
570
|
res,
|
|
@@ -585,6 +644,9 @@ export default class AIAgentDataAPI {
|
|
|
585
644
|
organizationName: true,
|
|
586
645
|
repositoryName: true,
|
|
587
646
|
mainBranchName: true,
|
|
647
|
+
setupCommand: true,
|
|
648
|
+
buildCommand: true,
|
|
649
|
+
testCommand: true,
|
|
588
650
|
gitHubAppInstallationId: true,
|
|
589
651
|
},
|
|
590
652
|
props: { isRoot: true },
|
|
@@ -622,6 +684,9 @@ export default class AIAgentDataAPI {
|
|
|
622
684
|
organizationName: repository.organizationName || "",
|
|
623
685
|
repositoryName: repository.repositoryName || "",
|
|
624
686
|
mainBranchName: repository.mainBranchName || "main",
|
|
687
|
+
setupCommand: repository.setupCommand || null,
|
|
688
|
+
buildCommand: repository.buildCommand || null,
|
|
689
|
+
testCommand: repository.testCommand || null,
|
|
625
690
|
servicePathInRepository: resolution.servicePathInRepository,
|
|
626
691
|
gitHubAppInstallationId:
|
|
627
692
|
repository.gitHubAppInstallationId || null,
|
|
@@ -704,6 +769,9 @@ export default class AIAgentDataAPI {
|
|
|
704
769
|
organizationName: true,
|
|
705
770
|
repositoryName: true,
|
|
706
771
|
mainBranchName: true,
|
|
772
|
+
setupCommand: true,
|
|
773
|
+
buildCommand: true,
|
|
774
|
+
testCommand: true,
|
|
707
775
|
gitHubAppInstallationId: true,
|
|
708
776
|
},
|
|
709
777
|
props: {
|
|
@@ -761,6 +829,9 @@ export default class AIAgentDataAPI {
|
|
|
761
829
|
organizationName: repository.organizationName || "",
|
|
762
830
|
repositoryName: repository.repositoryName || "",
|
|
763
831
|
mainBranchName: repository.mainBranchName || "main",
|
|
832
|
+
setupCommand: repository.setupCommand || null,
|
|
833
|
+
buildCommand: repository.buildCommand || null,
|
|
834
|
+
testCommand: repository.testCommand || null,
|
|
764
835
|
servicePathInRepository: resolution.servicePathInRepository,
|
|
765
836
|
gitHubAppInstallationId:
|
|
766
837
|
repository.gitHubAppInstallationId || null,
|
|
@@ -935,6 +1006,9 @@ export default class AIAgentDataAPI {
|
|
|
935
1006
|
organizationName: true,
|
|
936
1007
|
repositoryName: true,
|
|
937
1008
|
mainBranchName: true,
|
|
1009
|
+
setupCommand: true,
|
|
1010
|
+
buildCommand: true,
|
|
1011
|
+
testCommand: true,
|
|
938
1012
|
gitHubAppInstallationId: true,
|
|
939
1013
|
},
|
|
940
1014
|
props: {
|
|
@@ -980,6 +1054,9 @@ export default class AIAgentDataAPI {
|
|
|
980
1054
|
organizationName: repository.organizationName || "",
|
|
981
1055
|
repositoryName: repository.repositoryName || "",
|
|
982
1056
|
mainBranchName: repository.mainBranchName || "main",
|
|
1057
|
+
setupCommand: repository.setupCommand || null,
|
|
1058
|
+
buildCommand: repository.buildCommand || null,
|
|
1059
|
+
testCommand: repository.testCommand || null,
|
|
983
1060
|
servicePathInRepository: resolution.servicePathInRepository,
|
|
984
1061
|
gitHubAppInstallationId:
|
|
985
1062
|
repository.gitHubAppInstallationId || null,
|
|
@@ -1005,8 +1082,9 @@ export default class AIAgentDataAPI {
|
|
|
1005
1082
|
try {
|
|
1006
1083
|
const data: JSONObject = req.body;
|
|
1007
1084
|
|
|
1008
|
-
// Validate
|
|
1009
|
-
const aiAgent:
|
|
1085
|
+
// Validate agent credentials (AIAgent fleet or a Runner)
|
|
1086
|
+
const aiAgent: CodeFixAgentIdentity | null =
|
|
1087
|
+
await CodeFixAgentAuth.resolveAgentIdentity(data);
|
|
1010
1088
|
|
|
1011
1089
|
if (!aiAgent) {
|
|
1012
1090
|
return Response.sendErrorResponse(
|
|
@@ -1035,6 +1113,7 @@ export default class AIAgentDataAPI {
|
|
|
1035
1113
|
id: codeRepositoryId,
|
|
1036
1114
|
select: {
|
|
1037
1115
|
_id: true,
|
|
1116
|
+
projectId: true,
|
|
1038
1117
|
repositoryHostedAt: true,
|
|
1039
1118
|
organizationName: true,
|
|
1040
1119
|
repositoryName: true,
|
|
@@ -1046,7 +1125,18 @@ export default class AIAgentDataAPI {
|
|
|
1046
1125
|
},
|
|
1047
1126
|
});
|
|
1048
1127
|
|
|
1049
|
-
|
|
1128
|
+
/*
|
|
1129
|
+
* This route mints a GitHub token with contents:write and
|
|
1130
|
+
* pull_requests:write, so a project-scoped Runner must never reach
|
|
1131
|
+
* another tenant's repository with it.
|
|
1132
|
+
*/
|
|
1133
|
+
if (
|
|
1134
|
+
!codeRepository ||
|
|
1135
|
+
CodeFixAgentAuth.deniesAccessToProject(
|
|
1136
|
+
aiAgent,
|
|
1137
|
+
codeRepository.projectId,
|
|
1138
|
+
)
|
|
1139
|
+
) {
|
|
1050
1140
|
return Response.sendErrorResponse(
|
|
1051
1141
|
req,
|
|
1052
1142
|
res,
|
|
@@ -1148,8 +1238,9 @@ export default class AIAgentDataAPI {
|
|
|
1148
1238
|
try {
|
|
1149
1239
|
const data: JSONObject = req.body;
|
|
1150
1240
|
|
|
1151
|
-
// Validate
|
|
1152
|
-
const aiAgent:
|
|
1241
|
+
// Validate agent credentials (AIAgent fleet or a Runner)
|
|
1242
|
+
const aiAgent: CodeFixAgentIdentity | null =
|
|
1243
|
+
await CodeFixAgentAuth.resolveAgentIdentity(data);
|
|
1153
1244
|
|
|
1154
1245
|
if (!aiAgent) {
|
|
1155
1246
|
return Response.sendErrorResponse(
|
|
@@ -1214,6 +1305,26 @@ export default class AIAgentDataAPI {
|
|
|
1214
1305
|
| string
|
|
1215
1306
|
| undefined;
|
|
1216
1307
|
|
|
1308
|
+
/*
|
|
1309
|
+
* Runner-side build/test verification outcome (pre-PR, distinct
|
|
1310
|
+
* from the ciStatus the sync worker fills post-PR). Unknown
|
|
1311
|
+
* values are dropped rather than stored — the column is a typed
|
|
1312
|
+
* enum and the Runner may be older or newer than this server.
|
|
1313
|
+
*/
|
|
1314
|
+
const rawVerificationStatus: string | undefined = data[
|
|
1315
|
+
"runnerVerificationStatus"
|
|
1316
|
+
] as string | undefined;
|
|
1317
|
+
const runnerVerificationStatus: FixVerificationStatus | undefined =
|
|
1318
|
+
rawVerificationStatus &&
|
|
1319
|
+
Object.values(FixVerificationStatus).includes(
|
|
1320
|
+
rawVerificationStatus as FixVerificationStatus,
|
|
1321
|
+
)
|
|
1322
|
+
? (rawVerificationStatus as FixVerificationStatus)
|
|
1323
|
+
: undefined;
|
|
1324
|
+
const runnerVerificationSummary: string | undefined = data[
|
|
1325
|
+
"runnerVerificationSummary"
|
|
1326
|
+
] as string | undefined;
|
|
1327
|
+
|
|
1217
1328
|
/*
|
|
1218
1329
|
* `taskId` carries the AIRun id of the code-fix run — get the run
|
|
1219
1330
|
* for the project ID and so the PR can be recorded on its trail.
|
|
@@ -1229,7 +1340,10 @@ export default class AIAgentDataAPI {
|
|
|
1229
1340
|
},
|
|
1230
1341
|
});
|
|
1231
1342
|
|
|
1232
|
-
if (
|
|
1343
|
+
if (
|
|
1344
|
+
!run ||
|
|
1345
|
+
CodeFixAgentAuth.deniesAccessToProject(aiAgent, run.projectId)
|
|
1346
|
+
) {
|
|
1233
1347
|
return Response.sendErrorResponse(
|
|
1234
1348
|
req,
|
|
1235
1349
|
res,
|
|
@@ -1243,6 +1357,7 @@ export default class AIAgentDataAPI {
|
|
|
1243
1357
|
id: codeRepositoryId,
|
|
1244
1358
|
select: {
|
|
1245
1359
|
_id: true,
|
|
1360
|
+
projectId: true,
|
|
1246
1361
|
organizationName: true,
|
|
1247
1362
|
repositoryName: true,
|
|
1248
1363
|
},
|
|
@@ -1251,6 +1366,24 @@ export default class AIAgentDataAPI {
|
|
|
1251
1366
|
},
|
|
1252
1367
|
});
|
|
1253
1368
|
|
|
1369
|
+
/*
|
|
1370
|
+
* The recorded repository must exist AND belong to the run's
|
|
1371
|
+
* project. The pull-request row is what the open-PR cap counts, so
|
|
1372
|
+
* a foreign repository id would let one project's records skew
|
|
1373
|
+
* another's guardrail — and a nonexistent one would fail on the
|
|
1374
|
+
* codeRepositoryId foreign key as an opaque 500.
|
|
1375
|
+
*/
|
|
1376
|
+
if (
|
|
1377
|
+
!codeRepository ||
|
|
1378
|
+
codeRepository.projectId?.toString() !== run.projectId?.toString()
|
|
1379
|
+
) {
|
|
1380
|
+
return Response.sendErrorResponse(
|
|
1381
|
+
req,
|
|
1382
|
+
res,
|
|
1383
|
+
new BadDataException("Code repository not found"),
|
|
1384
|
+
);
|
|
1385
|
+
}
|
|
1386
|
+
|
|
1254
1387
|
// Create the pull request record
|
|
1255
1388
|
const pullRequest: AIAgentTaskPullRequest =
|
|
1256
1389
|
new AIAgentTaskPullRequest();
|
|
@@ -1260,7 +1393,16 @@ export default class AIAgentDataAPI {
|
|
|
1260
1393
|
}
|
|
1261
1394
|
|
|
1262
1395
|
pullRequest.aiRunId = taskId;
|
|
1263
|
-
|
|
1396
|
+
|
|
1397
|
+
/*
|
|
1398
|
+
* aiAgentId is a real foreign key into the AIAgent table, so it can
|
|
1399
|
+
* only carry an AIAgent identity. A Runner leaves it null — the
|
|
1400
|
+
* same "no AIAgent behind it" case chat-authored pull requests
|
|
1401
|
+
* already use, and every consumer tolerates.
|
|
1402
|
+
*/
|
|
1403
|
+
if (aiAgent.source === CodeFixAgentSource.AIAgent) {
|
|
1404
|
+
pullRequest.aiAgentId = aiAgent.id!;
|
|
1405
|
+
}
|
|
1264
1406
|
pullRequest.codeRepositoryId = codeRepositoryId;
|
|
1265
1407
|
pullRequest.pullRequestUrl = URL.fromString(pullRequestUrl);
|
|
1266
1408
|
|
|
@@ -1272,10 +1414,15 @@ export default class AIAgentDataAPI {
|
|
|
1272
1414
|
pullRequest.pullRequestId = pullRequestId;
|
|
1273
1415
|
}
|
|
1274
1416
|
|
|
1275
|
-
|
|
1417
|
+
// The column is ShortText — DatabaseService rejects over 100 chars.
|
|
1418
|
+
pullRequest.title = title.substring(0, 100);
|
|
1276
1419
|
|
|
1277
1420
|
if (description) {
|
|
1278
|
-
|
|
1421
|
+
/*
|
|
1422
|
+
* The column is LongText, which DatabaseService validates at 500
|
|
1423
|
+
* characters — truncate, never reject the whole recording.
|
|
1424
|
+
*/
|
|
1425
|
+
pullRequest.description = description.substring(0, 500);
|
|
1279
1426
|
}
|
|
1280
1427
|
|
|
1281
1428
|
pullRequest.pullRequestState = PullRequestState.Open;
|
|
@@ -1296,6 +1443,16 @@ export default class AIAgentDataAPI {
|
|
|
1296
1443
|
pullRequest.repoName = codeRepository.repositoryName;
|
|
1297
1444
|
}
|
|
1298
1445
|
|
|
1446
|
+
if (runnerVerificationStatus) {
|
|
1447
|
+
pullRequest.runnerVerificationStatus = runnerVerificationStatus;
|
|
1448
|
+
}
|
|
1449
|
+
|
|
1450
|
+
if (runnerVerificationSummary) {
|
|
1451
|
+
// The column is varchar(500) — truncate, never reject.
|
|
1452
|
+
pullRequest.runnerVerificationSummary =
|
|
1453
|
+
runnerVerificationSummary.substring(0, 500);
|
|
1454
|
+
}
|
|
1455
|
+
|
|
1299
1456
|
const createdPullRequest: AIAgentTaskPullRequest =
|
|
1300
1457
|
await AIAgentTaskPullRequestService.create({
|
|
1301
1458
|
data: pullRequest,
|
|
@@ -1445,30 +1602,4 @@ export default class AIAgentDataAPI {
|
|
|
1445
1602
|
};
|
|
1446
1603
|
});
|
|
1447
1604
|
}
|
|
1448
|
-
|
|
1449
|
-
// Validate AI Agent credentials from request body
|
|
1450
|
-
private async validateAIAgent(data: JSONObject): Promise<AIAgent | null> {
|
|
1451
|
-
if (!data["aiAgentId"] || !data["aiAgentKey"]) {
|
|
1452
|
-
return null;
|
|
1453
|
-
}
|
|
1454
|
-
|
|
1455
|
-
const aiAgentId: ObjectID = new ObjectID(data["aiAgentId"] as string);
|
|
1456
|
-
const aiAgentKey: string = data["aiAgentKey"] as string;
|
|
1457
|
-
|
|
1458
|
-
const aiAgent: AIAgent | null = await AIAgentService.findOneBy({
|
|
1459
|
-
query: {
|
|
1460
|
-
_id: aiAgentId.toString(),
|
|
1461
|
-
key: aiAgentKey,
|
|
1462
|
-
},
|
|
1463
|
-
select: {
|
|
1464
|
-
_id: true,
|
|
1465
|
-
projectId: true, // Fetch projectId to check if this is a global or project AI agent
|
|
1466
|
-
},
|
|
1467
|
-
props: {
|
|
1468
|
-
isRoot: true,
|
|
1469
|
-
},
|
|
1470
|
-
});
|
|
1471
|
-
|
|
1472
|
-
return aiAgent;
|
|
1473
|
-
}
|
|
1474
1605
|
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import AIAgentService from "../Services/AIAgentService";
|
|
2
1
|
import AIRunService from "../Services/AIRunService";
|
|
3
2
|
import AIRunEventService from "../Services/AIRunEventService";
|
|
3
|
+
import CodeFixAgentAuth, {
|
|
4
|
+
CodeFixAgentIdentity,
|
|
5
|
+
} from "../Utils/AI/CodeFix/CodeFixAgentAuth";
|
|
4
6
|
import Express, {
|
|
5
7
|
ExpressRequest,
|
|
6
8
|
ExpressResponse,
|
|
@@ -8,7 +10,6 @@ import Express, {
|
|
|
8
10
|
NextFunction,
|
|
9
11
|
} from "../Utils/Express";
|
|
10
12
|
import Response from "../Utils/Response";
|
|
11
|
-
import AIAgent from "../../Models/DatabaseModels/AIAgent";
|
|
12
13
|
import AIRun from "../../Models/DatabaseModels/AIRun";
|
|
13
14
|
import BadDataException from "../../Types/Exception/BadDataException";
|
|
14
15
|
import { JSONObject } from "../../Types/JSON";
|
|
@@ -51,8 +52,9 @@ export default class AIAgentTaskAPI {
|
|
|
51
52
|
try {
|
|
52
53
|
const data: JSONObject = req.body;
|
|
53
54
|
|
|
54
|
-
/* Validate
|
|
55
|
-
const aiAgent:
|
|
55
|
+
/* Validate agent credentials (AIAgent fleet or a Runner) */
|
|
56
|
+
const aiAgent: CodeFixAgentIdentity | null =
|
|
57
|
+
await CodeFixAgentAuth.resolveAgentIdentity(data);
|
|
56
58
|
|
|
57
59
|
if (!aiAgent || !aiAgent.id) {
|
|
58
60
|
return Response.sendErrorResponse(
|
|
@@ -62,9 +64,16 @@ export default class AIAgentTaskAPI {
|
|
|
62
64
|
);
|
|
63
65
|
}
|
|
64
66
|
|
|
67
|
+
/*
|
|
68
|
+
* Scope the claim to the agent's project when it has one. A
|
|
69
|
+
* project-scoped Runner (what customers install) must never
|
|
70
|
+
* claim another tenant's code-fix run; the in-cluster Runner has
|
|
71
|
+
* no projectId and keeps serving every project.
|
|
72
|
+
*/
|
|
65
73
|
const run: AIRun | null =
|
|
66
74
|
await AIRunService.claimNextQueuedCodeFixRun({
|
|
67
75
|
aiAgentId: aiAgent.id,
|
|
76
|
+
projectId: aiAgent.projectId,
|
|
68
77
|
});
|
|
69
78
|
|
|
70
79
|
if (!run) {
|
|
@@ -113,8 +122,9 @@ export default class AIAgentTaskAPI {
|
|
|
113
122
|
try {
|
|
114
123
|
const data: JSONObject = req.body;
|
|
115
124
|
|
|
116
|
-
/* Validate
|
|
117
|
-
const aiAgent:
|
|
125
|
+
/* Validate agent credentials (AIAgent fleet or a Runner) */
|
|
126
|
+
const aiAgent: CodeFixAgentIdentity | null =
|
|
127
|
+
await CodeFixAgentAuth.resolveAgentIdentity(data);
|
|
118
128
|
|
|
119
129
|
if (!aiAgent) {
|
|
120
130
|
return Response.sendErrorResponse(
|
|
@@ -125,10 +135,15 @@ export default class AIAgentTaskAPI {
|
|
|
125
135
|
}
|
|
126
136
|
|
|
127
137
|
/* Count queued code-fix runs */
|
|
138
|
+
/*
|
|
139
|
+
* Same tenancy scoping as the claim: a project-scoped Runner
|
|
140
|
+
* autoscales on its OWN queue depth, never on other tenants'.
|
|
141
|
+
*/
|
|
128
142
|
const count: PositiveNumber = await AIRunService.countBy({
|
|
129
143
|
query: {
|
|
130
144
|
runType: AIRunType.CodeFix,
|
|
131
145
|
status: AIRunStatus.Queued,
|
|
146
|
+
...(aiAgent.projectId ? { projectId: aiAgent.projectId } : {}),
|
|
132
147
|
},
|
|
133
148
|
props: {
|
|
134
149
|
isRoot: true,
|
|
@@ -158,8 +173,9 @@ export default class AIAgentTaskAPI {
|
|
|
158
173
|
try {
|
|
159
174
|
const data: JSONObject = req.body;
|
|
160
175
|
|
|
161
|
-
/* Validate
|
|
162
|
-
const aiAgent:
|
|
176
|
+
/* Validate agent credentials (AIAgent fleet or a Runner) */
|
|
177
|
+
const aiAgent: CodeFixAgentIdentity | null =
|
|
178
|
+
await CodeFixAgentAuth.resolveAgentIdentity(data);
|
|
163
179
|
|
|
164
180
|
if (!aiAgent) {
|
|
165
181
|
return Response.sendErrorResponse(
|
|
@@ -223,7 +239,18 @@ export default class AIAgentTaskAPI {
|
|
|
223
239
|
},
|
|
224
240
|
});
|
|
225
241
|
|
|
226
|
-
|
|
242
|
+
/*
|
|
243
|
+
* A project-scoped identity may only report on its own project's
|
|
244
|
+
* runs. Denial answers exactly like a missing run so a probing key
|
|
245
|
+
* cannot tell "other tenant's run" from "no such run".
|
|
246
|
+
*/
|
|
247
|
+
if (
|
|
248
|
+
!existingRun ||
|
|
249
|
+
CodeFixAgentAuth.deniesAccessToProject(
|
|
250
|
+
aiAgent,
|
|
251
|
+
existingRun.projectId,
|
|
252
|
+
)
|
|
253
|
+
) {
|
|
227
254
|
return Response.sendErrorResponse(
|
|
228
255
|
req,
|
|
229
256
|
res,
|
|
@@ -330,32 +357,4 @@ export default class AIAgentTaskAPI {
|
|
|
330
357
|
public getRouter(): ExpressRouter {
|
|
331
358
|
return this.router;
|
|
332
359
|
}
|
|
333
|
-
|
|
334
|
-
/*
|
|
335
|
-
* Validate AI Agent credentials from request body
|
|
336
|
-
* Returns AIAgent if valid, null otherwise
|
|
337
|
-
*/
|
|
338
|
-
private async validateAIAgent(data: JSONObject): Promise<AIAgent | null> {
|
|
339
|
-
if (!data["aiAgentId"] || !data["aiAgentKey"]) {
|
|
340
|
-
return null;
|
|
341
|
-
}
|
|
342
|
-
|
|
343
|
-
const aiAgentId: ObjectID = new ObjectID(data["aiAgentId"] as string);
|
|
344
|
-
const aiAgentKey: string = data["aiAgentKey"] as string;
|
|
345
|
-
|
|
346
|
-
const aiAgent: AIAgent | null = await AIAgentService.findOneBy({
|
|
347
|
-
query: {
|
|
348
|
-
_id: aiAgentId.toString(),
|
|
349
|
-
key: aiAgentKey,
|
|
350
|
-
},
|
|
351
|
-
select: {
|
|
352
|
-
_id: true,
|
|
353
|
-
},
|
|
354
|
-
props: {
|
|
355
|
-
isRoot: true,
|
|
356
|
-
},
|
|
357
|
-
});
|
|
358
|
-
|
|
359
|
-
return aiAgent;
|
|
360
|
-
}
|
|
361
360
|
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import AIAgentService from "../Services/AIAgentService";
|
|
2
1
|
import AIRunService from "../Services/AIRunService";
|
|
3
2
|
import AIRunEventService from "../Services/AIRunEventService";
|
|
3
|
+
import CodeFixAgentAuth, {
|
|
4
|
+
CodeFixAgentIdentity,
|
|
5
|
+
} from "../Utils/AI/CodeFix/CodeFixAgentAuth";
|
|
4
6
|
import Express, {
|
|
5
7
|
ExpressRequest,
|
|
6
8
|
ExpressResponse,
|
|
@@ -8,7 +10,6 @@ import Express, {
|
|
|
8
10
|
NextFunction,
|
|
9
11
|
} from "../Utils/Express";
|
|
10
12
|
import Response from "../Utils/Response";
|
|
11
|
-
import AIAgent from "../../Models/DatabaseModels/AIAgent";
|
|
12
13
|
import AIRun from "../../Models/DatabaseModels/AIRun";
|
|
13
14
|
import BadDataException from "../../Types/Exception/BadDataException";
|
|
14
15
|
import { JSONObject } from "../../Types/JSON";
|
|
@@ -47,8 +48,9 @@ export default class AIAgentTaskLogAPI {
|
|
|
47
48
|
try {
|
|
48
49
|
const data: JSONObject = req.body;
|
|
49
50
|
|
|
50
|
-
/* Validate
|
|
51
|
-
const aiAgent:
|
|
51
|
+
/* Validate agent credentials (AIAgent fleet or a Runner) */
|
|
52
|
+
const aiAgent: CodeFixAgentIdentity | null =
|
|
53
|
+
await CodeFixAgentAuth.resolveAgentIdentity(data);
|
|
52
54
|
|
|
53
55
|
if (!aiAgent) {
|
|
54
56
|
return Response.sendErrorResponse(
|
|
@@ -112,7 +114,19 @@ export default class AIAgentTaskLogAPI {
|
|
|
112
114
|
},
|
|
113
115
|
});
|
|
114
116
|
|
|
115
|
-
|
|
117
|
+
/*
|
|
118
|
+
* A project-scoped agent may only write to its own project's runs —
|
|
119
|
+
* this endpoint appends to a run's glass-box trail, so without the
|
|
120
|
+
* check one tenant's key could plant log lines in another's.
|
|
121
|
+
*/
|
|
122
|
+
if (
|
|
123
|
+
!existingRun ||
|
|
124
|
+
!existingRun.projectId ||
|
|
125
|
+
CodeFixAgentAuth.deniesAccessToProject(
|
|
126
|
+
aiAgent,
|
|
127
|
+
existingRun.projectId,
|
|
128
|
+
)
|
|
129
|
+
) {
|
|
116
130
|
return Response.sendErrorResponse(
|
|
117
131
|
req,
|
|
118
132
|
res,
|
|
@@ -207,32 +221,4 @@ export default class AIAgentTaskLogAPI {
|
|
|
207
221
|
public getRouter(): ExpressRouter {
|
|
208
222
|
return this.router;
|
|
209
223
|
}
|
|
210
|
-
|
|
211
|
-
/*
|
|
212
|
-
* Validate AI Agent credentials from request body
|
|
213
|
-
* Returns AIAgent if valid, null otherwise
|
|
214
|
-
*/
|
|
215
|
-
private async validateAIAgent(data: JSONObject): Promise<AIAgent | null> {
|
|
216
|
-
if (!data["aiAgentId"] || !data["aiAgentKey"]) {
|
|
217
|
-
return null;
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
const aiAgentId: ObjectID = new ObjectID(data["aiAgentId"] as string);
|
|
221
|
-
const aiAgentKey: string = data["aiAgentKey"] as string;
|
|
222
|
-
|
|
223
|
-
const aiAgent: AIAgent | null = await AIAgentService.findOneBy({
|
|
224
|
-
query: {
|
|
225
|
-
_id: aiAgentId.toString(),
|
|
226
|
-
key: aiAgentKey,
|
|
227
|
-
},
|
|
228
|
-
select: {
|
|
229
|
-
_id: true,
|
|
230
|
-
},
|
|
231
|
-
props: {
|
|
232
|
-
isRoot: true,
|
|
233
|
-
},
|
|
234
|
-
});
|
|
235
|
-
|
|
236
|
-
return aiAgent;
|
|
237
|
-
}
|
|
238
224
|
}
|