@oneuptime/common 11.5.3 → 11.5.5

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.
Files changed (513) hide show
  1. package/Models/DatabaseModels/AIAgentTaskPullRequest.ts +56 -45
  2. package/Models/DatabaseModels/AIInsight.ts +748 -0
  3. package/Models/DatabaseModels/AIRun.ts +262 -0
  4. package/Models/DatabaseModels/CodeRepository.ts +42 -0
  5. package/Models/DatabaseModels/Dashboard.ts +3 -3
  6. package/Models/DatabaseModels/GlobalConfig.ts +105 -0
  7. package/Models/DatabaseModels/Index.ts +4 -8
  8. package/Models/DatabaseModels/InstanceHealthLog.ts +277 -0
  9. package/Models/DatabaseModels/LlmLog.ts +33 -0
  10. package/Models/DatabaseModels/Project.ts +123 -6
  11. package/Models/DatabaseModels/Runbook.ts +1 -1
  12. package/Server/API/AIAgentDataAPI.ts +802 -140
  13. package/Server/API/AIAgentTaskAPI.ts +132 -69
  14. package/Server/API/AIAgentTaskLogAPI.ts +65 -41
  15. package/Server/API/AIAgentTaskPullRequestAPI.ts +41 -0
  16. package/Server/API/AIInsightAPI.ts +220 -0
  17. package/Server/API/AIInvestigationAPI.ts +363 -1
  18. package/Server/API/CodeFixRunAPI.ts +251 -0
  19. package/Server/API/GitHubAPI.ts +246 -3
  20. package/Server/API/TelemetryExceptionAPI.ts +193 -48
  21. package/Server/EnvironmentConfig.ts +1 -1
  22. package/Server/Infrastructure/Postgres/SchemaMigrations/1783943300000-DropServiceCodeRepository.ts +26 -0
  23. package/Server/Infrastructure/Postgres/SchemaMigrations/1783947444597-CodeFixRunsOnAIRun.ts +73 -0
  24. package/Server/Infrastructure/Postgres/SchemaMigrations/1783950962813-AddCodeFixTaskType.ts +29 -0
  25. package/Server/Infrastructure/Postgres/SchemaMigrations/1783954040984-AddInstrumentationFixTasksFlag.ts +31 -0
  26. package/Server/Infrastructure/Postgres/SchemaMigrations/1783957160597-MigrationName.ts +51 -0
  27. package/Server/Infrastructure/Postgres/SchemaMigrations/1783958542237-AddTaskContextToAIRun.ts +25 -0
  28. package/Server/Infrastructure/Postgres/SchemaMigrations/1783965945957-AddInvestigationVerdictAndGrade.ts +47 -0
  29. package/Server/Infrastructure/Postgres/SchemaMigrations/1783970619301-AddFixGuardrailColumns.ts +53 -0
  30. package/Server/Infrastructure/Postgres/SchemaMigrations/1783970619302-DropLegacyAIAgentTaskTables.ts +31 -0
  31. package/Server/Infrastructure/Postgres/SchemaMigrations/1783977781677-AddCiStatusToFixPullRequests.ts +37 -0
  32. package/Server/Infrastructure/Postgres/SchemaMigrations/1783990000000-AddCompletionTokensToLlmLog.ts +25 -0
  33. package/Server/Infrastructure/Postgres/SchemaMigrations/1784010274993-AddSentinelInsight.ts +75 -0
  34. package/Server/Infrastructure/Postgres/SchemaMigrations/1784010274994-AddSentinelInsightFlags.ts +37 -0
  35. package/Server/Infrastructure/Postgres/SchemaMigrations/1784030612266-RenameSentinelToAI.ts +203 -0
  36. package/Server/Infrastructure/Postgres/SchemaMigrations/1784033837629-MigrationName.ts +163 -0
  37. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +30 -0
  38. package/Server/Infrastructure/Queue.ts +82 -4
  39. package/Server/Infrastructure/Semaphore.ts +62 -1
  40. package/Server/Services/AIAgentService.ts +32 -0
  41. package/Server/Services/AIAgentTaskPullRequestService.ts +117 -0
  42. package/Server/Services/AIInsightService.ts +174 -0
  43. package/Server/Services/AIRunEventService.ts +63 -0
  44. package/Server/Services/AIRunService.ts +259 -1
  45. package/Server/Services/AIService.ts +249 -7
  46. package/Server/Services/AlertService.ts +4 -4
  47. package/Server/Services/CodeRepositoryService.ts +209 -0
  48. package/Server/Services/DashboardService.ts +11 -2
  49. package/Server/Services/GlobalConfigService.ts +148 -0
  50. package/Server/Services/IncidentService.ts +183 -38
  51. package/Server/Services/IncidentStateTimelineService.ts +24 -4
  52. package/Server/Services/Index.ts +4 -4
  53. package/Server/Services/{AIAgentTaskLogService.ts → InstanceHealthLogService.ts} +1 -1
  54. package/Server/Services/LlmLogService.ts +27 -0
  55. package/Server/Services/LlmProviderService.ts +108 -0
  56. package/Server/Services/MetricBaselineService.ts +123 -0
  57. package/Server/Services/MonitorService.ts +15 -0
  58. package/Server/Services/TelemetryExceptionService.ts +323 -116
  59. package/Server/Services/TraceAggregationService.ts +176 -0
  60. package/Server/Types/Workflow/ComponentCode.ts +6 -0
  61. package/Server/Types/Workflow/Components/AI/GenerateText.ts +326 -0
  62. package/Server/Types/Workflow/Components/Index.ts +2 -0
  63. package/Server/Utils/AI/Chat/ObservabilityAssistant.ts +1 -1
  64. package/Server/Utils/AI/CodeFix/CodeAgentWorkspaceGuard.ts +71 -0
  65. package/Server/Utils/AI/CodeFix/CodeFixAgentCompletion.ts +243 -0
  66. package/Server/Utils/AI/CodeFix/CodeFixRunQueue.ts +131 -0
  67. package/Server/Utils/AI/CodeFix/FixRunBudget.ts +148 -0
  68. package/Server/Utils/AI/CodeFix/OpenPullRequestCap.ts +117 -0
  69. package/Server/Utils/AI/Eval/EvalCorpus.ts +369 -0
  70. package/Server/Utils/AI/Eval/EvalScores.ts +172 -0
  71. package/Server/Utils/AI/Eval/ReplayInvestigation.ts +87 -0
  72. package/Server/Utils/AI/PerfEvidence/SpanTreeAnalyzer.ts +676 -0
  73. package/Server/Utils/AI/{Sentinel/SentinelInvestigationEngine.ts → SRE/AIInvestigationEngine.ts} +58 -37
  74. package/Server/Utils/AI/{Sentinel/SentinelMemory.ts → SRE/AIMemory.ts} +3 -3
  75. package/Server/Utils/AI/{Sentinel → SRE}/AlertInvestigationRunner.ts +50 -20
  76. package/Server/Utils/AI/SRE/ConfidenceSignal.ts +293 -0
  77. package/Server/Utils/AI/SRE/FixFromIncidentTaskTrigger.ts +115 -0
  78. package/Server/Utils/AI/SRE/FixPerformanceTaskTrigger.ts +223 -0
  79. package/Server/Utils/AI/{Sentinel → SRE}/IncidentInvestigationRunner.ts +71 -21
  80. package/Server/Utils/AI/{Sentinel → SRE}/IncidentPostmortemRunner.ts +8 -8
  81. package/Server/Utils/AI/SRE/Insights/Detectors/ErrorLogSpikeDetector.ts +364 -0
  82. package/Server/Utils/AI/SRE/Insights/Detectors/ExceptionSpikeDetector.ts +317 -0
  83. package/Server/Utils/AI/SRE/Insights/Detectors/Index.ts +27 -0
  84. package/Server/Utils/AI/SRE/Insights/Detectors/MetricDriftDetector.ts +221 -0
  85. package/Server/Utils/AI/SRE/Insights/Detectors/NewExceptionDetector.ts +238 -0
  86. package/Server/Utils/AI/SRE/Insights/Detectors/TraceLatencyRegressionDetector.ts +521 -0
  87. package/Server/Utils/AI/SRE/Insights/FixRouting.ts +242 -0
  88. package/Server/Utils/AI/SRE/Insights/InsightScanner.ts +290 -0
  89. package/Server/Utils/AI/SRE/Insights/InsightStore.ts +283 -0
  90. package/Server/Utils/AI/SRE/Insights/InsightTriageRunner.ts +242 -0
  91. package/Server/Utils/AI/SRE/Insights/Triage.ts +162 -0
  92. package/Server/Utils/AI/SRE/Insights/Types.ts +49 -0
  93. package/Server/Utils/AI/SRE/InstrumentationTaskTrigger.ts +212 -0
  94. package/Server/Utils/AI/SRE/InvestigationGrader.ts +282 -0
  95. package/Server/Utils/AI/{Sentinel → SRE}/InvestigationQueue.ts +114 -19
  96. package/Server/Utils/AI/{Sentinel → SRE}/README.md +4 -4
  97. package/Server/Utils/AI/SRE/SubjectCodeFixRun.ts +172 -0
  98. package/Server/Utils/AI/Toolbox/{SentinelActionTools.ts → AIActionTools.ts} +22 -1
  99. package/Server/Utils/AI/Toolbox/Index.ts +2 -2
  100. package/Server/Utils/AnalyticsDatabase/ClickhouseCapacity.ts +526 -0
  101. package/Server/Utils/CodeRepository/GitHub/GitHub.ts +319 -1
  102. package/Server/Utils/CodeRepository/ServiceRepoLinkSuggester.ts +221 -0
  103. package/Server/Utils/CodeRepository/StackTraceRepoResolver.ts +571 -0
  104. package/Server/Utils/Execute.ts +34 -13
  105. package/Server/Utils/LLM/LLMService.ts +160 -30
  106. package/Server/Utils/Monitor/Criteria/SqlMonitorCriteria.ts +152 -0
  107. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +29 -0
  108. package/Tests/Server/API/DashboardMasterPasswordAPI.test.ts +225 -0
  109. package/Tests/Server/Infrastructure/Queue.test.ts +227 -0
  110. package/Tests/Server/Infrastructure/SemaphorePermit.test.ts +159 -0
  111. package/Tests/Server/Services/AIAgentTaskPullRequestOutcomeStats.test.ts +154 -0
  112. package/Tests/Server/Services/AIInsightService.test.ts +324 -0
  113. package/Tests/Server/Services/AIRunCodeFixClaim.test.ts +401 -0
  114. package/Tests/Server/Services/AIRunHumanVerdict.test.ts +161 -0
  115. package/Tests/Server/Services/AIServiceDailyBudget.test.ts +95 -5
  116. package/Tests/Server/Services/AIServiceProjectAccess.test.ts +259 -0
  117. package/Tests/Server/Services/FixFromIncidentTaskTrigger.test.ts +249 -0
  118. package/Tests/Server/Services/FixPerformanceTaskTrigger.test.ts +274 -0
  119. package/Tests/Server/Services/GlobalConfigService.test.ts +80 -0
  120. package/Tests/Server/Services/IncidentInternalNoteAnnouncement.test.ts +1 -1
  121. package/Tests/Server/Services/InstrumentationTaskTrigger.test.ts +313 -0
  122. package/Tests/Server/Services/LlmProviderProjectOwned.test.ts +132 -0
  123. package/Tests/Server/Services/TelemetryExceptionAIFixReadiness.test.ts +405 -0
  124. package/Tests/Server/Services/TelemetryExceptionCodeFixRun.test.ts +322 -0
  125. package/Tests/Server/Services/TraceServiceLatencyProfile.test.ts +278 -0
  126. package/Tests/Server/Types/Workflow/Components/AIGenerateText.test.ts +722 -0
  127. package/Tests/Server/Utils/AI/{SentinelAlertGating.test.ts → AIAlertGating.test.ts} +19 -19
  128. package/Tests/Server/Utils/AI/AIConfidenceSignal.test.ts +362 -0
  129. package/Tests/Server/Utils/AI/{SentinelInvestigationQueue.test.ts → AIInvestigationQueue.test.ts} +19 -19
  130. package/Tests/Server/Utils/AI/CodeAgentWorkspaceGuard.test.ts +138 -0
  131. package/Tests/Server/Utils/AI/CodeFixAgentCompletion.test.ts +335 -0
  132. package/Tests/Server/Utils/AI/CodeFixRunQueue.test.ts +134 -0
  133. package/Tests/Server/Utils/AI/EvalCorpus.test.ts +209 -0
  134. package/Tests/Server/Utils/AI/EvalScores.test.ts +343 -0
  135. package/Tests/Server/Utils/AI/FixRunBudget.test.ts +218 -0
  136. package/Tests/Server/Utils/AI/Insights/ErrorLogSpikeDetector.test.ts +437 -0
  137. package/Tests/Server/Utils/AI/Insights/ExceptionSpikeDetector.test.ts +287 -0
  138. package/Tests/Server/Utils/AI/Insights/InsightDetectorsIndex.test.ts +34 -0
  139. package/Tests/Server/Utils/AI/Insights/InsightFixRouting.test.ts +572 -0
  140. package/Tests/Server/Utils/AI/Insights/InsightNeverThrowsHardening.test.ts +344 -0
  141. package/Tests/Server/Utils/AI/Insights/InsightScanner.test.ts +720 -0
  142. package/Tests/Server/Utils/AI/Insights/InsightStore.test.ts +467 -0
  143. package/Tests/Server/Utils/AI/Insights/InsightStoreHardening.test.ts +370 -0
  144. package/Tests/Server/Utils/AI/Insights/InsightTriage.test.ts +210 -0
  145. package/Tests/Server/Utils/AI/Insights/InsightTriageRunner.test.ts +221 -0
  146. package/Tests/Server/Utils/AI/Insights/InvestigationQueueInsightSubject.test.ts +328 -0
  147. package/Tests/Server/Utils/AI/Insights/MetricBaselineDrift.test.ts +182 -0
  148. package/Tests/Server/Utils/AI/Insights/MetricDriftDetector.test.ts +280 -0
  149. package/Tests/Server/Utils/AI/Insights/NewExceptionDetector.test.ts +259 -0
  150. package/Tests/Server/Utils/AI/Insights/TraceLatencyRegressionDetector.test.ts +770 -0
  151. package/Tests/Server/Utils/AI/InvestigationGrader.test.ts +343 -0
  152. package/Tests/Server/Utils/AI/LLMServiceRequestPolicy.test.ts +307 -0
  153. package/Tests/Server/Utils/AI/OpenPullRequestCap.test.ts +170 -0
  154. package/Tests/Server/Utils/AI/SpanTreeAnalyzer.test.ts +559 -0
  155. package/Tests/Server/Utils/AnalyticsDatabase/ClickhouseCapacity.test.ts +158 -0
  156. package/Tests/Server/Utils/GitHubCheckRunsConclusion.test.ts +100 -0
  157. package/Tests/Server/Utils/GitHubPullRequestStateMapping.test.ts +50 -0
  158. package/Tests/Server/Utils/Monitor/Criteria/SqlMonitorCriteria.test.ts +266 -0
  159. package/Tests/Server/Utils/ServiceRepoLinkSuggester.test.ts +167 -0
  160. package/Tests/Server/Utils/StackTraceRepoResolver.test.ts +527 -0
  161. package/Tests/Types/AI/AIChatPermissionMode.test.ts +112 -0
  162. package/Tests/Types/AI/CodeFixTaskType.test.ts +152 -0
  163. package/Tests/Types/AI/FixPullRequestCiStatus.test.ts +181 -0
  164. package/Tests/Types/Monitor/MonitorStepSqlMonitor.test.ts +110 -0
  165. package/Tests/Types/Monitor/SqlDatabaseType.test.ts +55 -0
  166. package/Tests/Types/Workflow/AIGenerateTextMetadata.test.ts +180 -0
  167. package/Tests/UI/Components/TableBulkCsvExport.test.tsx +168 -0
  168. package/Tests/UI/Utils/TableColumnsToCsv.test.ts +523 -0
  169. package/Types/AI/AIChatTypes.ts +8 -0
  170. package/Types/AI/AIInsightEvidence.ts +77 -0
  171. package/Types/AI/AIInsightHumanVerdict.ts +15 -0
  172. package/Types/AI/AIInsightSeverity.ts +13 -0
  173. package/Types/AI/AIInsightStatus.ts +38 -0
  174. package/Types/AI/AIInsightType.ts +41 -0
  175. package/Types/AI/AIRunAutoGrade.ts +18 -0
  176. package/Types/AI/AIRunEventType.ts +5 -0
  177. package/Types/AI/AIRunHumanVerdict.ts +17 -0
  178. package/Types/AI/AIRunType.ts +6 -0
  179. package/Types/AI/CodeFixTaskContext.ts +88 -0
  180. package/Types/AI/CodeFixTaskType.ts +132 -0
  181. package/Types/AI/FixPullRequestCiStatus.ts +132 -0
  182. package/Types/BaseDatabase/AggregationIntervalUtil.ts +67 -0
  183. package/Types/Incident/IncidentMetricType.ts +7 -0
  184. package/Types/Monitor/CriteriaFilter.ts +8 -0
  185. package/Types/Monitor/MonitorCriteriaInstance.ts +67 -0
  186. package/Types/Monitor/MonitorStep.ts +38 -0
  187. package/Types/Monitor/MonitorStepSqlMonitor.ts +141 -0
  188. package/Types/Monitor/MonitorType.ts +17 -0
  189. package/Types/Monitor/SqlDatabaseType.ts +49 -0
  190. package/Types/Monitor/SqlMonitor/SqlMonitorResponse.ts +28 -0
  191. package/Types/Permission.ts +11 -95
  192. package/Types/Probe/ProbeMonitorResponse.ts +2 -0
  193. package/Types/Runbook/RunbookStep.ts +26 -2
  194. package/Types/Runbook/RunbookStepType.ts +1 -0
  195. package/Types/Workflow/Component.ts +13 -0
  196. package/Types/Workflow/ComponentID.ts +1 -0
  197. package/Types/Workflow/Components/AI.ts +148 -0
  198. package/Types/Workflow/Components.ts +8 -0
  199. package/UI/Components/AI/GenerateFromAIModal.tsx +1 -1
  200. package/UI/Components/Markdown.tsx/MarkdownViewer.tsx +11 -0
  201. package/UI/Components/MoreMenu/MoreMenu.tsx +1 -1
  202. package/UI/Components/Table/Table.tsx +38 -2
  203. package/UI/Utils/TableColumnsToCsv.ts +385 -0
  204. package/Utils/Monitor/MonitorMetricType.ts +1 -0
  205. package/build/dist/Models/DatabaseModels/AIAgentTaskPullRequest.js +59 -45
  206. package/build/dist/Models/DatabaseModels/AIAgentTaskPullRequest.js.map +1 -1
  207. package/build/dist/Models/DatabaseModels/AIInsight.js +795 -0
  208. package/build/dist/Models/DatabaseModels/AIInsight.js.map +1 -0
  209. package/build/dist/Models/DatabaseModels/AIRun.js +274 -0
  210. package/build/dist/Models/DatabaseModels/AIRun.js.map +1 -1
  211. package/build/dist/Models/DatabaseModels/CodeRepository.js +43 -0
  212. package/build/dist/Models/DatabaseModels/CodeRepository.js.map +1 -1
  213. package/build/dist/Models/DatabaseModels/Dashboard.js +3 -3
  214. package/build/dist/Models/DatabaseModels/Dashboard.js.map +1 -1
  215. package/build/dist/Models/DatabaseModels/GlobalConfig.js +110 -0
  216. package/build/dist/Models/DatabaseModels/GlobalConfig.js.map +1 -1
  217. package/build/dist/Models/DatabaseModels/Index.js +4 -8
  218. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  219. package/build/dist/Models/DatabaseModels/InstanceHealthLog.js +304 -0
  220. package/build/dist/Models/DatabaseModels/InstanceHealthLog.js.map +1 -0
  221. package/build/dist/Models/DatabaseModels/LlmLog.js +35 -0
  222. package/build/dist/Models/DatabaseModels/LlmLog.js.map +1 -1
  223. package/build/dist/Models/DatabaseModels/Project.js +127 -6
  224. package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
  225. package/build/dist/Models/DatabaseModels/Runbook.js +1 -1
  226. package/build/dist/Models/DatabaseModels/Runbook.js.map +1 -1
  227. package/build/dist/Server/API/AIAgentDataAPI.js +568 -85
  228. package/build/dist/Server/API/AIAgentDataAPI.js.map +1 -1
  229. package/build/dist/Server/API/AIAgentTaskAPI.js +100 -44
  230. package/build/dist/Server/API/AIAgentTaskAPI.js.map +1 -1
  231. package/build/dist/Server/API/AIAgentTaskLogAPI.js +49 -25
  232. package/build/dist/Server/API/AIAgentTaskLogAPI.js.map +1 -1
  233. package/build/dist/Server/API/AIAgentTaskPullRequestAPI.js +27 -0
  234. package/build/dist/Server/API/AIAgentTaskPullRequestAPI.js.map +1 -1
  235. package/build/dist/Server/API/AIInsightAPI.js +140 -0
  236. package/build/dist/Server/API/AIInsightAPI.js.map +1 -0
  237. package/build/dist/Server/API/AIInvestigationAPI.js +257 -1
  238. package/build/dist/Server/API/AIInvestigationAPI.js.map +1 -1
  239. package/build/dist/Server/API/CodeFixRunAPI.js +181 -0
  240. package/build/dist/Server/API/CodeFixRunAPI.js.map +1 -0
  241. package/build/dist/Server/API/GitHubAPI.js +164 -2
  242. package/build/dist/Server/API/GitHubAPI.js.map +1 -1
  243. package/build/dist/Server/API/TelemetryExceptionAPI.js +148 -43
  244. package/build/dist/Server/API/TelemetryExceptionAPI.js.map +1 -1
  245. package/build/dist/Server/EnvironmentConfig.js +1 -1
  246. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  247. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783943300000-DropServiceCodeRepository.js +23 -0
  248. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783943300000-DropServiceCodeRepository.js.map +1 -0
  249. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783947444597-CodeFixRunsOnAIRun.js +32 -0
  250. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783947444597-CodeFixRunsOnAIRun.js.map +1 -0
  251. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783950962813-AddCodeFixTaskType.js +16 -0
  252. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783950962813-AddCodeFixTaskType.js.map +1 -0
  253. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783954040984-AddInstrumentationFixTasksFlag.js +16 -0
  254. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783954040984-AddInstrumentationFixTasksFlag.js.map +1 -0
  255. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783957160597-MigrationName.js +24 -0
  256. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783957160597-MigrationName.js.map +1 -0
  257. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783958542237-AddTaskContextToAIRun.js +16 -0
  258. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783958542237-AddTaskContextToAIRun.js.map +1 -0
  259. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783965945957-AddInvestigationVerdictAndGrade.js +24 -0
  260. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783965945957-AddInvestigationVerdictAndGrade.js.map +1 -0
  261. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783970619301-AddFixGuardrailColumns.js +24 -0
  262. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783970619301-AddFixGuardrailColumns.js.map +1 -0
  263. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783970619302-DropLegacyAIAgentTaskTables.js +24 -0
  264. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783970619302-DropLegacyAIAgentTaskTables.js.map +1 -0
  265. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783977781677-AddCiStatusToFixPullRequests.js +18 -0
  266. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783977781677-AddCiStatusToFixPullRequests.js.map +1 -0
  267. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783990000000-AddCompletionTokensToLlmLog.js +18 -0
  268. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783990000000-AddCompletionTokensToLlmLog.js.map +1 -0
  269. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784010274993-AddSentinelInsight.js +32 -0
  270. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784010274993-AddSentinelInsight.js.map +1 -0
  271. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784010274994-AddSentinelInsightFlags.js +18 -0
  272. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784010274994-AddSentinelInsightFlags.js.map +1 -0
  273. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784030612266-RenameSentinelToAI.js +125 -0
  274. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784030612266-RenameSentinelToAI.js.map +1 -0
  275. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784033837629-MigrationName.js +62 -0
  276. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784033837629-MigrationName.js.map +1 -0
  277. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +30 -0
  278. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  279. package/build/dist/Server/Infrastructure/Queue.js +73 -3
  280. package/build/dist/Server/Infrastructure/Queue.js.map +1 -1
  281. package/build/dist/Server/Infrastructure/Semaphore.js +44 -1
  282. package/build/dist/Server/Infrastructure/Semaphore.js.map +1 -1
  283. package/build/dist/Server/Services/AIAgentService.js +29 -0
  284. package/build/dist/Server/Services/AIAgentService.js.map +1 -1
  285. package/build/dist/Server/Services/AIAgentTaskPullRequestService.js +78 -0
  286. package/build/dist/Server/Services/AIAgentTaskPullRequestService.js.map +1 -1
  287. package/build/dist/Server/Services/AIInsightService.js +164 -0
  288. package/build/dist/Server/Services/AIInsightService.js.map +1 -0
  289. package/build/dist/Server/Services/AIRunEventService.js +49 -0
  290. package/build/dist/Server/Services/AIRunEventService.js.map +1 -1
  291. package/build/dist/Server/Services/AIRunService.js +221 -0
  292. package/build/dist/Server/Services/AIRunService.js.map +1 -1
  293. package/build/dist/Server/Services/AIService.js +198 -11
  294. package/build/dist/Server/Services/AIService.js.map +1 -1
  295. package/build/dist/Server/Services/AlertService.js +4 -4
  296. package/build/dist/Server/Services/AlertService.js.map +1 -1
  297. package/build/dist/Server/Services/CodeRepositoryService.js +180 -0
  298. package/build/dist/Server/Services/CodeRepositoryService.js.map +1 -1
  299. package/build/dist/Server/Services/DashboardService.js +8 -2
  300. package/build/dist/Server/Services/DashboardService.js.map +1 -1
  301. package/build/dist/Server/Services/GlobalConfigService.js +84 -0
  302. package/build/dist/Server/Services/GlobalConfigService.js.map +1 -1
  303. package/build/dist/Server/Services/IncidentService.js +149 -37
  304. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  305. package/build/dist/Server/Services/IncidentStateTimelineService.js +24 -4
  306. package/build/dist/Server/Services/IncidentStateTimelineService.js.map +1 -1
  307. package/build/dist/Server/Services/Index.js +4 -4
  308. package/build/dist/Server/Services/Index.js.map +1 -1
  309. package/build/dist/Server/Services/{AIAgentTaskLogService.js → InstanceHealthLogService.js} +2 -2
  310. package/build/dist/Server/Services/InstanceHealthLogService.js.map +1 -0
  311. package/build/dist/Server/Services/LlmLogService.js +23 -0
  312. package/build/dist/Server/Services/LlmLogService.js.map +1 -1
  313. package/build/dist/Server/Services/LlmProviderService.js +96 -0
  314. package/build/dist/Server/Services/LlmProviderService.js.map +1 -1
  315. package/build/dist/Server/Services/MetricBaselineService.js +65 -0
  316. package/build/dist/Server/Services/MetricBaselineService.js.map +1 -1
  317. package/build/dist/Server/Services/MonitorService.js +9 -1
  318. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  319. package/build/dist/Server/Services/TelemetryExceptionService.js +243 -82
  320. package/build/dist/Server/Services/TelemetryExceptionService.js.map +1 -1
  321. package/build/dist/Server/Services/TraceAggregationService.js +124 -0
  322. package/build/dist/Server/Services/TraceAggregationService.js.map +1 -1
  323. package/build/dist/Server/Types/Workflow/ComponentCode.js.map +1 -1
  324. package/build/dist/Server/Types/Workflow/Components/AI/GenerateText.js +240 -0
  325. package/build/dist/Server/Types/Workflow/Components/AI/GenerateText.js.map +1 -0
  326. package/build/dist/Server/Types/Workflow/Components/Index.js +2 -0
  327. package/build/dist/Server/Types/Workflow/Components/Index.js.map +1 -1
  328. package/build/dist/Server/Utils/AI/CodeFix/CodeAgentWorkspaceGuard.js +48 -0
  329. package/build/dist/Server/Utils/AI/CodeFix/CodeAgentWorkspaceGuard.js.map +1 -0
  330. package/build/dist/Server/Utils/AI/CodeFix/CodeFixAgentCompletion.js +174 -0
  331. package/build/dist/Server/Utils/AI/CodeFix/CodeFixAgentCompletion.js.map +1 -0
  332. package/build/dist/Server/Utils/AI/CodeFix/CodeFixRunQueue.js +126 -0
  333. package/build/dist/Server/Utils/AI/CodeFix/CodeFixRunQueue.js.map +1 -0
  334. package/build/dist/Server/Utils/AI/CodeFix/FixRunBudget.js +131 -0
  335. package/build/dist/Server/Utils/AI/CodeFix/FixRunBudget.js.map +1 -0
  336. package/build/dist/Server/Utils/AI/CodeFix/OpenPullRequestCap.js +99 -0
  337. package/build/dist/Server/Utils/AI/CodeFix/OpenPullRequestCap.js.map +1 -0
  338. package/build/dist/Server/Utils/AI/Eval/EvalCorpus.js +245 -0
  339. package/build/dist/Server/Utils/AI/Eval/EvalCorpus.js.map +1 -0
  340. package/build/dist/Server/Utils/AI/Eval/EvalScores.js +83 -0
  341. package/build/dist/Server/Utils/AI/Eval/EvalScores.js.map +1 -0
  342. package/build/dist/Server/Utils/AI/Eval/ReplayInvestigation.js +12 -0
  343. package/build/dist/Server/Utils/AI/Eval/ReplayInvestigation.js.map +1 -0
  344. package/build/dist/Server/Utils/AI/PerfEvidence/SpanTreeAnalyzer.js +439 -0
  345. package/build/dist/Server/Utils/AI/PerfEvidence/SpanTreeAnalyzer.js.map +1 -0
  346. package/build/dist/Server/Utils/AI/{Sentinel/SentinelInvestigationEngine.js → SRE/AIInvestigationEngine.js} +47 -31
  347. package/build/dist/Server/Utils/AI/SRE/AIInvestigationEngine.js.map +1 -0
  348. package/build/dist/Server/Utils/AI/{Sentinel/SentinelMemory.js → SRE/AIMemory.js} +5 -5
  349. package/build/dist/Server/Utils/AI/SRE/AIMemory.js.map +1 -0
  350. package/build/dist/Server/Utils/AI/{Sentinel → SRE}/AlertInvestigationRunner.js +42 -19
  351. package/build/dist/Server/Utils/AI/SRE/AlertInvestigationRunner.js.map +1 -0
  352. package/build/dist/Server/Utils/AI/SRE/ConfidenceSignal.js +226 -0
  353. package/build/dist/Server/Utils/AI/SRE/ConfidenceSignal.js.map +1 -0
  354. package/build/dist/Server/Utils/AI/SRE/FixFromIncidentTaskTrigger.js +100 -0
  355. package/build/dist/Server/Utils/AI/SRE/FixFromIncidentTaskTrigger.js.map +1 -0
  356. package/build/dist/Server/Utils/AI/SRE/FixPerformanceTaskTrigger.js +174 -0
  357. package/build/dist/Server/Utils/AI/SRE/FixPerformanceTaskTrigger.js.map +1 -0
  358. package/build/dist/Server/Utils/AI/{Sentinel → SRE}/IncidentInvestigationRunner.js +60 -22
  359. package/build/dist/Server/Utils/AI/SRE/IncidentInvestigationRunner.js.map +1 -0
  360. package/build/dist/Server/Utils/AI/{Sentinel → SRE}/IncidentPostmortemRunner.js +9 -9
  361. package/build/dist/Server/Utils/AI/SRE/IncidentPostmortemRunner.js.map +1 -0
  362. package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/ErrorLogSpikeDetector.js +268 -0
  363. package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/ErrorLogSpikeDetector.js.map +1 -0
  364. package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/ExceptionSpikeDetector.js +226 -0
  365. package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/ExceptionSpikeDetector.js.map +1 -0
  366. package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/Index.js +26 -0
  367. package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/Index.js.map +1 -0
  368. package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/MetricDriftDetector.js +159 -0
  369. package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/MetricDriftDetector.js.map +1 -0
  370. package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/NewExceptionDetector.js +177 -0
  371. package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/NewExceptionDetector.js.map +1 -0
  372. package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/TraceLatencyRegressionDetector.js +384 -0
  373. package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/TraceLatencyRegressionDetector.js.map +1 -0
  374. package/build/dist/Server/Utils/AI/SRE/Insights/FixRouting.js +180 -0
  375. package/build/dist/Server/Utils/AI/SRE/Insights/FixRouting.js.map +1 -0
  376. package/build/dist/Server/Utils/AI/SRE/Insights/InsightScanner.js +269 -0
  377. package/build/dist/Server/Utils/AI/SRE/Insights/InsightScanner.js.map +1 -0
  378. package/build/dist/Server/Utils/AI/SRE/Insights/InsightStore.js +231 -0
  379. package/build/dist/Server/Utils/AI/SRE/Insights/InsightStore.js.map +1 -0
  380. package/build/dist/Server/Utils/AI/SRE/Insights/InsightTriageRunner.js +206 -0
  381. package/build/dist/Server/Utils/AI/SRE/Insights/InsightTriageRunner.js.map +1 -0
  382. package/build/dist/Server/Utils/AI/SRE/Insights/Triage.js +121 -0
  383. package/build/dist/Server/Utils/AI/SRE/Insights/Triage.js.map +1 -0
  384. package/build/dist/Server/Utils/AI/SRE/Insights/Types.js +2 -0
  385. package/build/dist/Server/Utils/AI/SRE/Insights/Types.js.map +1 -0
  386. package/build/dist/Server/Utils/AI/SRE/InstrumentationTaskTrigger.js +148 -0
  387. package/build/dist/Server/Utils/AI/SRE/InstrumentationTaskTrigger.js.map +1 -0
  388. package/build/dist/Server/Utils/AI/SRE/InvestigationGrader.js +231 -0
  389. package/build/dist/Server/Utils/AI/SRE/InvestigationGrader.js.map +1 -0
  390. package/build/dist/Server/Utils/AI/{Sentinel → SRE}/InvestigationQueue.js +102 -23
  391. package/build/dist/Server/Utils/AI/SRE/InvestigationQueue.js.map +1 -0
  392. package/build/dist/Server/Utils/AI/SRE/SubjectCodeFixRun.js +167 -0
  393. package/build/dist/Server/Utils/AI/SRE/SubjectCodeFixRun.js.map +1 -0
  394. package/build/dist/Server/Utils/AI/Toolbox/{SentinelActionTools.js → AIActionTools.js} +18 -2
  395. package/build/dist/Server/Utils/AI/Toolbox/AIActionTools.js.map +1 -0
  396. package/build/dist/Server/Utils/AI/Toolbox/Index.js +2 -2
  397. package/build/dist/Server/Utils/AI/Toolbox/Index.js.map +1 -1
  398. package/build/dist/Server/Utils/AnalyticsDatabase/ClickhouseCapacity.js +301 -0
  399. package/build/dist/Server/Utils/AnalyticsDatabase/ClickhouseCapacity.js.map +1 -0
  400. package/build/dist/Server/Utils/CodeRepository/GitHub/GitHub.js +240 -2
  401. package/build/dist/Server/Utils/CodeRepository/GitHub/GitHub.js.map +1 -1
  402. package/build/dist/Server/Utils/CodeRepository/ServiceRepoLinkSuggester.js +127 -0
  403. package/build/dist/Server/Utils/CodeRepository/ServiceRepoLinkSuggester.js.map +1 -0
  404. package/build/dist/Server/Utils/CodeRepository/StackTraceRepoResolver.js +336 -0
  405. package/build/dist/Server/Utils/CodeRepository/StackTraceRepoResolver.js.map +1 -0
  406. package/build/dist/Server/Utils/Execute.js +21 -11
  407. package/build/dist/Server/Utils/Execute.js.map +1 -1
  408. package/build/dist/Server/Utils/LLM/LLMService.js +125 -25
  409. package/build/dist/Server/Utils/LLM/LLMService.js.map +1 -1
  410. package/build/dist/Server/Utils/Monitor/Criteria/SqlMonitorCriteria.js +120 -0
  411. package/build/dist/Server/Utils/Monitor/Criteria/SqlMonitorCriteria.js.map +1 -0
  412. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +21 -0
  413. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
  414. package/build/dist/Types/AI/AIInsightEvidence.js +2 -0
  415. package/build/dist/Types/AI/AIInsightEvidence.js.map +1 -0
  416. package/build/dist/Types/AI/AIInsightHumanVerdict.js +16 -0
  417. package/build/dist/Types/AI/AIInsightHumanVerdict.js.map +1 -0
  418. package/build/dist/Types/AI/AIInsightSeverity.js +14 -0
  419. package/build/dist/Types/AI/AIInsightSeverity.js.map +1 -0
  420. package/build/dist/Types/AI/AIInsightStatus.js +36 -0
  421. package/build/dist/Types/AI/AIInsightStatus.js.map +1 -0
  422. package/build/dist/Types/AI/AIInsightType.js +42 -0
  423. package/build/dist/Types/AI/AIInsightType.js.map +1 -0
  424. package/build/dist/Types/AI/AIRunAutoGrade.js +19 -0
  425. package/build/dist/Types/AI/AIRunAutoGrade.js.map +1 -0
  426. package/build/dist/Types/AI/AIRunEventType.js +5 -0
  427. package/build/dist/Types/AI/AIRunEventType.js.map +1 -1
  428. package/build/dist/Types/AI/AIRunHumanVerdict.js +18 -0
  429. package/build/dist/Types/AI/AIRunHumanVerdict.js.map +1 -0
  430. package/build/dist/Types/AI/AIRunType.js +6 -0
  431. package/build/dist/Types/AI/AIRunType.js.map +1 -1
  432. package/build/dist/Types/AI/CodeFixTaskContext.js +29 -0
  433. package/build/dist/Types/AI/CodeFixTaskContext.js.map +1 -0
  434. package/build/dist/Types/AI/CodeFixTaskType.js +122 -0
  435. package/build/dist/Types/AI/CodeFixTaskType.js.map +1 -0
  436. package/build/dist/Types/AI/FixPullRequestCiStatus.js +102 -0
  437. package/build/dist/Types/AI/FixPullRequestCiStatus.js.map +1 -0
  438. package/build/dist/Types/BaseDatabase/AggregationIntervalUtil.js +55 -0
  439. package/build/dist/Types/BaseDatabase/AggregationIntervalUtil.js.map +1 -1
  440. package/build/dist/Types/Incident/IncidentMetricType.js +7 -0
  441. package/build/dist/Types/Incident/IncidentMetricType.js.map +1 -1
  442. package/build/dist/Types/Monitor/CriteriaFilter.js +7 -0
  443. package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
  444. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js +62 -0
  445. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js.map +1 -1
  446. package/build/dist/Types/Monitor/MonitorStep.js +28 -0
  447. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  448. package/build/dist/Types/Monitor/MonitorStepSqlMonitor.js +93 -0
  449. package/build/dist/Types/Monitor/MonitorStepSqlMonitor.js.map +1 -0
  450. package/build/dist/Types/Monitor/MonitorType.js +15 -0
  451. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  452. package/build/dist/Types/Monitor/SqlDatabaseType.js +47 -0
  453. package/build/dist/Types/Monitor/SqlDatabaseType.js.map +1 -0
  454. package/build/dist/Types/Monitor/SqlMonitor/SqlMonitorResponse.js +2 -0
  455. package/build/dist/Types/Monitor/SqlMonitor/SqlMonitorResponse.js.map +1 -0
  456. package/build/dist/Types/Permission.js +10 -84
  457. package/build/dist/Types/Permission.js.map +1 -1
  458. package/build/dist/Types/Runbook/RunbookStepType.js +1 -0
  459. package/build/dist/Types/Runbook/RunbookStepType.js.map +1 -1
  460. package/build/dist/Types/Workflow/ComponentID.js +1 -0
  461. package/build/dist/Types/Workflow/ComponentID.js.map +1 -1
  462. package/build/dist/Types/Workflow/Components/AI.js +135 -0
  463. package/build/dist/Types/Workflow/Components/AI.js.map +1 -0
  464. package/build/dist/Types/Workflow/Components.js +7 -0
  465. package/build/dist/Types/Workflow/Components.js.map +1 -1
  466. package/build/dist/UI/Components/AI/GenerateFromAIModal.js +1 -1
  467. package/build/dist/UI/Components/AI/GenerateFromAIModal.js.map +1 -1
  468. package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js +9 -0
  469. package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js.map +1 -1
  470. package/build/dist/UI/Components/MoreMenu/MoreMenu.js +1 -1
  471. package/build/dist/UI/Components/Table/Table.js +28 -2
  472. package/build/dist/UI/Components/Table/Table.js.map +1 -1
  473. package/build/dist/UI/Utils/TableColumnsToCsv.js +291 -0
  474. package/build/dist/UI/Utils/TableColumnsToCsv.js.map +1 -0
  475. package/build/dist/Utils/Monitor/MonitorMetricType.js +1 -0
  476. package/build/dist/Utils/Monitor/MonitorMetricType.js.map +1 -1
  477. package/package.json +1 -1
  478. package/Models/DatabaseModels/AIAgentTask.ts +0 -660
  479. package/Models/DatabaseModels/AIAgentTaskLog.ts +0 -426
  480. package/Models/DatabaseModels/AIAgentTaskTelemetryException.ts +0 -399
  481. package/Models/DatabaseModels/ServiceCodeRepository.ts +0 -647
  482. package/Server/Services/AIAgentTaskService.ts +0 -240
  483. package/Server/Services/AIAgentTaskTelemetryExceptionService.ts +0 -39
  484. package/Server/Services/ServiceCodeRepositoryService.ts +0 -55
  485. package/Tests/Server/Services/AIAgentTaskServiceClaim.test.ts +0 -146
  486. package/Types/AI/AIAgentTaskMetadata.ts +0 -25
  487. package/Types/AI/AIAgentTaskType.ts +0 -40
  488. package/build/dist/Models/DatabaseModels/AIAgentTask.js +0 -691
  489. package/build/dist/Models/DatabaseModels/AIAgentTask.js.map +0 -1
  490. package/build/dist/Models/DatabaseModels/AIAgentTaskLog.js +0 -447
  491. package/build/dist/Models/DatabaseModels/AIAgentTaskLog.js.map +0 -1
  492. package/build/dist/Models/DatabaseModels/AIAgentTaskTelemetryException.js +0 -415
  493. package/build/dist/Models/DatabaseModels/AIAgentTaskTelemetryException.js.map +0 -1
  494. package/build/dist/Models/DatabaseModels/ServiceCodeRepository.js +0 -665
  495. package/build/dist/Models/DatabaseModels/ServiceCodeRepository.js.map +0 -1
  496. package/build/dist/Server/Services/AIAgentTaskLogService.js.map +0 -1
  497. package/build/dist/Server/Services/AIAgentTaskService.js +0 -217
  498. package/build/dist/Server/Services/AIAgentTaskService.js.map +0 -1
  499. package/build/dist/Server/Services/AIAgentTaskTelemetryExceptionService.js +0 -36
  500. package/build/dist/Server/Services/AIAgentTaskTelemetryExceptionService.js.map +0 -1
  501. package/build/dist/Server/Services/ServiceCodeRepositoryService.js +0 -54
  502. package/build/dist/Server/Services/ServiceCodeRepositoryService.js.map +0 -1
  503. package/build/dist/Server/Utils/AI/Sentinel/AlertInvestigationRunner.js.map +0 -1
  504. package/build/dist/Server/Utils/AI/Sentinel/IncidentInvestigationRunner.js.map +0 -1
  505. package/build/dist/Server/Utils/AI/Sentinel/IncidentPostmortemRunner.js.map +0 -1
  506. package/build/dist/Server/Utils/AI/Sentinel/InvestigationQueue.js.map +0 -1
  507. package/build/dist/Server/Utils/AI/Sentinel/SentinelInvestigationEngine.js.map +0 -1
  508. package/build/dist/Server/Utils/AI/Sentinel/SentinelMemory.js.map +0 -1
  509. package/build/dist/Server/Utils/AI/Toolbox/SentinelActionTools.js.map +0 -1
  510. package/build/dist/Types/AI/AIAgentTaskMetadata.js +0 -6
  511. package/build/dist/Types/AI/AIAgentTaskMetadata.js.map +0 -1
  512. package/build/dist/Types/AI/AIAgentTaskType.js +0 -29
  513. package/build/dist/Types/AI/AIAgentTaskType.js.map +0 -1
@@ -9,17 +9,24 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  import DatabaseService from "./DatabaseService";
11
11
  import Model from "../../Models/DatabaseModels/TelemetryException";
12
- import AIAgentTask from "../../Models/DatabaseModels/AIAgentTask";
12
+ import AIRun from "../../Models/DatabaseModels/AIRun";
13
13
  import ObjectID from "../../Types/ObjectID";
14
14
  import SortOrder from "../../Types/BaseDatabase/SortOrder";
15
15
  import BadDataException from "../../Types/Exception/BadDataException";
16
- import AIAgentTaskType from "../../Types/AI/AIAgentTaskType";
17
- import AIAgentTaskStatus from "../../Types/AI/AIAgentTaskStatus";
18
- import AIAgentTaskService from "./AIAgentTaskService";
19
- import AIAgentTaskTelemetryExceptionService from "./AIAgentTaskTelemetryExceptionService";
16
+ import AIRunType from "../../Types/AI/AIRunType";
17
+ import AIRunStatus from "../../Types/AI/AIRunStatus";
18
+ import CodeFixTaskType, { CodeFixTaskTypeHelper, } from "../../Types/AI/CodeFixTaskType";
19
+ import AIRunService from "./AIRunService";
20
+ import FixRunBudget from "../Utils/AI/CodeFix/FixRunBudget";
21
+ import AIAgentService from "./AIAgentService";
22
+ import LlmProviderService from "./LlmProviderService";
23
+ import ProjectService from "./ProjectService";
24
+ import ServiceService from "./ServiceService";
25
+ import CodeRepositoryService from "./CodeRepositoryService";
20
26
  import QueryHelper from "../Types/Database/QueryHelper";
21
27
  import ModelPermission from "../Types/Database/Permissions/Index";
22
28
  import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
29
+ import { IsBillingEnabled } from "../EnvironmentConfig";
23
30
  import Includes from "../../Types/BaseDatabase/Includes";
24
31
  import logger from "../Utils/Logger";
25
32
  /*
@@ -33,89 +40,260 @@ export class Service extends DatabaseService {
33
40
  constructor() {
34
41
  super(Model);
35
42
  }
36
- async createAIAgentTaskForException(params) {
37
- const { telemetryExceptionId, props } = params;
38
- // Get the telemetry exception
43
+ /*
44
+ * Everything "Fix with AI Agent" needs, checked BEFORE a task is created
45
+ * (and consumed by the dashboard to render a setup checklist instead of a
46
+ * button that fails minutes later inside the agent container).
47
+ */
48
+ async getAIFixReadiness(params) {
49
+ var _a;
39
50
  const telemetryException = await this.findOneById({
40
- id: telemetryExceptionId,
51
+ id: params.telemetryExceptionId,
41
52
  select: {
42
53
  _id: true,
43
54
  projectId: true,
44
- message: true,
45
55
  stackTrace: true,
46
56
  primaryEntityId: true,
47
- exceptionType: true,
57
+ primaryEntityType: true,
48
58
  },
49
- props,
59
+ props: params.props,
50
60
  });
51
61
  if (!telemetryException || !telemetryException.projectId) {
52
62
  throw new BadDataException("Telemetry Exception not found");
53
63
  }
54
- // Check if an active AI agent task already exists for this exception
55
- await this.validateNoActiveTaskExists(telemetryExceptionId);
56
- // Create the AI Agent Task
57
- const createdTask = await this.createFixExceptionTask({
58
- telemetryException,
59
- telemetryExceptionId,
64
+ const projectId = telemetryException.projectId;
65
+ /*
66
+ * 1. An LLM provider the agent may use. Agent completions are
67
+ * server-mediated and metered (B4 Tier 0), so the shared global
68
+ * provider is a valid fallback on cloud too — a project-owned provider
69
+ * simply wins when one exists.
70
+ */
71
+ const llmProvider = await LlmProviderService.getLlmProviderForMeteredAgentPath(projectId);
72
+ let llmOk = Boolean(llmProvider);
73
+ let llmDetail = llmOk
74
+ ? ""
75
+ : "AI fix tasks need an LLM provider. Add one in Project Settings > AI > LLM Providers. Self-hosted instances can alternatively set the GLOBAL_LLM_PROVIDER_* environment variables to register a global provider for every project.";
76
+ /*
77
+ * A resolved provider must also be PAYABLE, or the run passes readiness
78
+ * here and dies at its first completion call instead. Mirrors the
79
+ * billing gate in AIService.executeWithLogging: only a COSTED global
80
+ * provider on cloud bills the project's AI balance per call —
81
+ * project-owned and free-global providers consume no balance and must
82
+ * not require one.
83
+ */
84
+ const billingEnabled = (_a = params.billingEnabled) !== null && _a !== void 0 ? _a : IsBillingEnabled;
85
+ if (llmProvider &&
86
+ billingEnabled &&
87
+ (llmProvider.isGlobalLlm || false) &&
88
+ (llmProvider.costPerMillionTokensInUSDCents || 0) > 0) {
89
+ const project = await ProjectService.findOneById({
90
+ id: projectId,
91
+ select: { aiCurrentBalanceInUSDCents: true },
92
+ props: { isRoot: true },
93
+ });
94
+ if (!project || (project.aiCurrentBalanceInUSDCents || 0) <= 0) {
95
+ llmOk = false;
96
+ llmDetail =
97
+ "AI fix tasks would use the OneUptime-hosted LLM provider, which is billed against your AI balance — and the project's balance is empty. Recharge it in Project Settings > AI Credits, or add your own LLM provider in Project Settings > AI > LLM Providers.";
98
+ }
99
+ }
100
+ const llmCheck = {
101
+ id: "llmProvider",
102
+ ok: llmOk,
103
+ title: "LLM provider",
104
+ detail: llmDetail,
105
+ };
106
+ /*
107
+ * 2. A repository must RESOLVE for this exception — computed at runtime
108
+ * from the stack trace (path matching over connected repos), falling
109
+ * back to service-name matching and the only-repository rule. No manual
110
+ * mapping table, no Service Catalog prerequisite.
111
+ */
112
+ const service = telemetryException.primaryEntityId
113
+ ? await ServiceService.findOneById({
114
+ id: telemetryException.primaryEntityId,
115
+ select: {
116
+ _id: true,
117
+ name: true,
118
+ },
119
+ props: {
120
+ isRoot: true,
121
+ },
122
+ })
123
+ : null;
124
+ let repoCheck;
125
+ try {
126
+ const resolution = await CodeRepositoryService.resolveRepositoryForException({
127
+ projectId,
128
+ stackTrace: telemetryException.stackTrace || null,
129
+ serviceName: (service === null || service === void 0 ? void 0 : service.name) || null,
130
+ });
131
+ repoCheck = {
132
+ id: "repositoryResolved",
133
+ ok: Boolean(resolution),
134
+ title: resolution
135
+ ? `Repository resolved: ${resolution.organizationName}/${resolution.repositoryName}`
136
+ : "Repository resolved",
137
+ detail: resolution
138
+ ? ""
139
+ : "No connected repository could be matched to this exception — its stack-trace files were not found in any connected repository, no repository name matches the service, and the project has more than one repository. Connect the right repository through the GitHub App (installing it imports all its repositories automatically).",
140
+ };
141
+ }
142
+ catch (err) {
143
+ repoCheck = {
144
+ id: "repositoryResolved",
145
+ ok: false,
146
+ title: "Repository resolved",
147
+ detail: `Could not check the connected repositories: ${err instanceof Error ? err.message : "unknown error"}`,
148
+ };
149
+ }
150
+ // 4. An agent must be alive to pick the task up.
151
+ const anyAgent = await AIAgentService.getAIAgentForProject(projectId);
152
+ const connectedAgent = anyAgent
153
+ ? AIAgentService.isAgentAlive(anyAgent)
154
+ ? anyAgent
155
+ : null
156
+ : null;
157
+ const agentCheck = {
158
+ id: "agentAvailable",
159
+ ok: Boolean(connectedAgent),
160
+ title: "AI agent online",
161
+ detail: connectedAgent
162
+ ? ""
163
+ : anyAgent
164
+ ? `The AI agent "${anyAgent.name || "agent"}" has not reported in — check that its container is running.`
165
+ : "No AI agent is available for this project. Self-hosted: create an agent under Settings > AI > AI Agents and run its container. Cloud: the shared fleet appears here automatically once enabled.",
166
+ };
167
+ const checks = [
168
+ llmCheck,
169
+ repoCheck,
170
+ agentCheck,
171
+ ];
172
+ return {
173
+ ready: checks.every((check) => {
174
+ return check.ok;
175
+ }),
176
+ checks,
177
+ };
178
+ }
179
+ /*
180
+ * "Fix with AI Agent": record the durable intent as a Queued CodeFix
181
+ * AIRun (the unified run substrate — same enqueue semantics as the
182
+ * investigation queue: attemptCount defaults to 0 and no events are
183
+ * written until a worker claims the run). An external agent container
184
+ * claims it via /ai-agent-task/get-pending-task and dispatches on the
185
+ * run's task recipe (codeFixTaskType).
186
+ */
187
+ async createCodeFixRunForException(params) {
188
+ const { telemetryExceptionId, props } = params;
189
+ const taskType = params.taskType || CodeFixTaskType.FixException;
190
+ /*
191
+ * Recipes beyond FixException / WriteRegressionTest are declared in the
192
+ * enum (so workers and the UI can already dispatch on them) but their
193
+ * recipes have not shipped — creating a run for them would queue work no
194
+ * agent can execute.
195
+ */
196
+ if (!CodeFixTaskTypeHelper.isUserTriggerable(taskType)) {
197
+ throw new BadDataException(`Task type "${taskType}" is not user-triggerable yet. Supported task types: ${CodeFixTaskTypeHelper.getUserTriggerableTaskTypes().join(", ")}.`);
198
+ }
199
+ // Get the telemetry exception (also the caller's access check).
200
+ const telemetryException = await this.findOneById({
201
+ id: telemetryExceptionId,
202
+ select: {
203
+ _id: true,
204
+ projectId: true,
205
+ },
60
206
  props,
61
207
  });
62
- // Link the task to the telemetry exception
63
- await AIAgentTaskTelemetryExceptionService.linkTaskToTelemetryException({
64
- projectId: telemetryException.projectId,
65
- aiAgentTaskId: createdTask.id,
208
+ if (!telemetryException || !telemetryException.projectId) {
209
+ throw new BadDataException("Telemetry Exception not found");
210
+ }
211
+ /*
212
+ * G11 guardrail: the per-project daily fix-run budget. Checked before
213
+ * the (more expensive) readiness probes — an over-budget project gets
214
+ * the budget message, not a readiness one.
215
+ */
216
+ await FixRunBudget.assertWithinBudget(telemetryException.projectId);
217
+ /*
218
+ * Fail early with everything that's missing, instead of creating a run
219
+ * that dies minutes later inside the agent container.
220
+ */
221
+ const readiness = await this.getAIFixReadiness({
66
222
  telemetryExceptionId,
67
223
  props,
68
224
  });
69
- return createdTask;
225
+ if (!readiness.ready) {
226
+ const missing = readiness.checks
227
+ .filter((check) => {
228
+ return !check.ok;
229
+ })
230
+ .map((check) => {
231
+ return check.title;
232
+ })
233
+ .join(", ");
234
+ throw new BadDataException(`Cannot start the AI fix — missing prerequisites: ${missing}.`);
235
+ }
236
+ /*
237
+ * Duplicate guard is per (exception, taskType): an active FixException
238
+ * run must not block queuing a WriteRegressionTest run and vice versa.
239
+ */
240
+ await this.validateNoActiveCodeFixRunExists(telemetryExceptionId, taskType);
241
+ const run = new AIRun();
242
+ run.projectId = telemetryException.projectId;
243
+ run.runType = AIRunType.CodeFix;
244
+ run.codeFixTaskType = taskType;
245
+ run.status = AIRunStatus.Queued;
246
+ run.triggeredByTelemetryExceptionId = telemetryExceptionId;
247
+ // Attribution: the user who clicked "Fix with AI Agent".
248
+ if (props.userId) {
249
+ run.userId = props.userId;
250
+ }
251
+ /*
252
+ * Created as root: AIRun rows are server-written only (empty create
253
+ * ACL); the user's access was already checked by the exception read.
254
+ */
255
+ const createdRun = await AIRunService.create({
256
+ data: run,
257
+ props: {
258
+ isRoot: true,
259
+ },
260
+ });
261
+ if (!createdRun.id) {
262
+ throw new BadDataException("Failed to create the AI fix run");
263
+ }
264
+ return createdRun;
70
265
  }
71
- async validateNoActiveTaskExists(telemetryExceptionId) {
72
- const existingTaskLink = await AIAgentTaskTelemetryExceptionService.findOneBy({
266
+ async validateNoActiveCodeFixRunExists(telemetryExceptionId, taskType) {
267
+ const existingRun = await AIRunService.findOneBy({
73
268
  query: {
74
- telemetryExceptionId: telemetryExceptionId,
75
- aiAgentTask: {
76
- status: QueryHelper.notIn([
77
- AIAgentTaskStatus.Completed,
78
- AIAgentTaskStatus.Error,
79
- ]),
80
- },
269
+ runType: AIRunType.CodeFix,
270
+ triggeredByTelemetryExceptionId: telemetryExceptionId,
271
+ /*
272
+ * A null codeFixTaskType means FixException (rows created before
273
+ * task recipes existed), so the FixException guard must also match
274
+ * legacy null rows.
275
+ */
276
+ codeFixTaskType: taskType === CodeFixTaskType.FixException
277
+ ? QueryHelper.equalToOrNull(CodeFixTaskType.FixException)
278
+ : taskType,
279
+ status: QueryHelper.notIn([
280
+ AIRunStatus.Completed,
281
+ AIRunStatus.Error,
282
+ AIRunStatus.Cancelled,
283
+ AIRunStatus.Stale,
284
+ ]),
81
285
  },
82
286
  select: {
83
287
  _id: true,
84
- aiAgentTaskId: true,
85
288
  },
86
289
  props: {
87
290
  isRoot: true,
88
291
  },
89
292
  });
90
- if (existingTaskLink) {
91
- throw new BadDataException("An AI agent task is already in progress for this exception. Please wait for it to complete before creating a new one.");
293
+ if (existingRun) {
294
+ throw new BadDataException(`An AI agent task (${taskType}) is already in progress for this exception. Please wait for it to complete before creating a new one.`);
92
295
  }
93
296
  }
94
- async createFixExceptionTask(params) {
95
- const { telemetryException, telemetryExceptionId, props } = params;
96
- const aiAgentTask = new AIAgentTask();
97
- aiAgentTask.projectId = telemetryException.projectId;
98
- aiAgentTask.taskType = AIAgentTaskType.FixException;
99
- aiAgentTask.status = AIAgentTaskStatus.Scheduled;
100
- // Set name and description based on exception details
101
- const exceptionType = telemetryException.exceptionType || "Exception";
102
- const exceptionMessage = telemetryException.message || "No message available";
103
- aiAgentTask.name = `Fix ${exceptionType}: ${exceptionMessage}`;
104
- aiAgentTask.description = `AI Agent task to fix the exception: ${exceptionMessage}`;
105
- // Build metadata
106
- aiAgentTask.metadata = this.buildFixExceptionMetadata({
107
- telemetryException,
108
- telemetryExceptionId,
109
- });
110
- const createdTask = await AIAgentTaskService.create({
111
- data: aiAgentTask,
112
- props: Object.assign({}, props),
113
- });
114
- if (!createdTask.id) {
115
- throw new BadDataException("Failed to create AI Agent Task");
116
- }
117
- return createdTask;
118
- }
119
297
  async getDashboardSummary(props) {
120
298
  if (!props.tenantId) {
121
299
  throw new BadDataException("Project ID is required");
@@ -338,42 +516,25 @@ export class Service extends DatabaseService {
338
516
  }
339
517
  return summaries;
340
518
  }
341
- buildFixExceptionMetadata(params) {
342
- const { telemetryException, telemetryExceptionId } = params;
343
- const metadata = {
344
- taskType: AIAgentTaskType.FixException,
345
- exceptionId: telemetryExceptionId.toString(),
346
- };
347
- if (telemetryException.stackTrace) {
348
- metadata.stackTrace = telemetryException.stackTrace;
349
- }
350
- if (telemetryException.message) {
351
- metadata.errorMessage = telemetryException.message;
352
- }
353
- if (telemetryException.primaryEntityId) {
354
- metadata.serviceId = telemetryException.primaryEntityId.toString();
355
- }
356
- return metadata;
357
- }
358
519
  }
359
520
  __decorate([
360
521
  CaptureSpan(),
361
522
  __metadata("design:type", Function),
362
523
  __metadata("design:paramtypes", [Object]),
363
524
  __metadata("design:returntype", Promise)
364
- ], Service.prototype, "createAIAgentTaskForException", null);
525
+ ], Service.prototype, "getAIFixReadiness", null);
365
526
  __decorate([
366
527
  CaptureSpan(),
367
528
  __metadata("design:type", Function),
368
- __metadata("design:paramtypes", [ObjectID]),
529
+ __metadata("design:paramtypes", [Object]),
369
530
  __metadata("design:returntype", Promise)
370
- ], Service.prototype, "validateNoActiveTaskExists", null);
531
+ ], Service.prototype, "createCodeFixRunForException", null);
371
532
  __decorate([
372
533
  CaptureSpan(),
373
534
  __metadata("design:type", Function),
374
- __metadata("design:paramtypes", [Object]),
535
+ __metadata("design:paramtypes", [ObjectID, String]),
375
536
  __metadata("design:returntype", Promise)
376
- ], Service.prototype, "createFixExceptionTask", null);
537
+ ], Service.prototype, "validateNoActiveCodeFixRunExists", null);
377
538
  __decorate([
378
539
  CaptureSpan(),
379
540
  __metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"file":"TelemetryExceptionService.js","sourceRoot":"","sources":["../../../../Server/Services/TelemetryExceptionService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TelemetryExceptionService.js","sourceRoot":"","sources":["../../../../Server/Services/TelemetryExceptionService.ts"],"names":[],"mappings":"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"}
@@ -857,6 +857,107 @@ export class TraceAggregationService {
857
857
  };
858
858
  });
859
859
  }
860
+ /**
861
+ * Per-service span volume + p99 latency over the whole window, served by
862
+ * the proj_agg_by_service aggregate projection (projectId,
863
+ * primaryEntityId, toStartOfMinute(startTime) -> count() /
864
+ * avg(durationUnixNano) / quantile(0.99)(durationUnixNano)).
865
+ *
866
+ * This exists because getAnalyticsTable CANNOT be projection-served: its
867
+ * stat set (countIf / p50 / p90 / p95 / min / max) has no stored state,
868
+ * its time predicate is on raw startTime, and it carries the
869
+ * retentionDate filter — any one of those forces a full base-table scan.
870
+ * That is fine for a human staring at the trace explorer and fatal for an
871
+ * unattended 15-minute scanner: a 25-hour raw-span GROUP BY per project
872
+ * per tick, which on the largest tenants hits the execution cap and comes
873
+ * back silently partial.
874
+ *
875
+ * Four things are load-bearing for the optimizer to pick the projection —
876
+ * changing any of them silently reverts this to a full scan:
877
+ * 1. The time predicates must be written over toStartOfMinute(startTime)
878
+ * — the projection's key expression — never raw startTime.
879
+ * 2. The aggregates must BYTE-MATCH stored expressions: count() and
880
+ * quantile(0.99)(durationUnixNano). The ns->ms division is therefore
881
+ * done in TS below, NOT folded into the aggregate expression.
882
+ * 3. GROUP BY must stay a subset of the projection's grouping keys.
883
+ * Dropping `minute` merges the per-minute aggregate STATES into a
884
+ * whole-window value (the same subset-group-by getResourceFacetCounts
885
+ * does against proj_hist_by_minute).
886
+ * 4. Every predicate must be on a projection column — so NO
887
+ * RETENTION_FILTER (retentionDate is not stored by this projection)
888
+ * and no statusCode / name / attribute filters.
889
+ *
890
+ * Trade-off, identical to the other projection paths: window edges round
891
+ * to the minute, and rows past their per-service retention that have not
892
+ * yet dropped with their part are still counted. Irrelevant to a p99
893
+ * ratio between two windows.
894
+ */
895
+ static async getServiceLatencyProfile(request) {
896
+ var _a;
897
+ const statement = new Statement();
898
+ statement.append(`SELECT primaryEntityId, count() AS cnt, quantile(0.99)(durationUnixNano) AS p99_ns FROM ${TraceAggregationService.TABLE_NAME}`);
899
+ /*
900
+ * Half-open window (`<` on the end). The caller runs two adjacent
901
+ * windows (recent hour, prior 24h) whose boundary minute would
902
+ * otherwise be counted in BOTH.
903
+ */
904
+ statement.append(SQL ` WHERE projectId = ${{
905
+ type: TableColumnType.ObjectID,
906
+ value: request.projectId,
907
+ }} AND toStartOfMinute(startTime) >= toStartOfMinute(${{
908
+ type: TableColumnType.Date,
909
+ value: request.startTime,
910
+ }}) AND toStartOfMinute(startTime) < toStartOfMinute(${{
911
+ type: TableColumnType.Date,
912
+ value: request.endTime,
913
+ }})`);
914
+ // Ranked by volume: a p99 regression on the busiest services is the one that hurts.
915
+ statement.append(SQL ` GROUP BY primaryEntityId ORDER BY cnt DESC LIMIT ${{
916
+ type: TableColumnType.Number,
917
+ value: request.limit,
918
+ }}`);
919
+ statement.append(getQuerySettings({
920
+ maxExecutionTimeInSeconds: TraceAggregationService.LATENCY_PROFILE_MAX_EXECUTION_SECONDS,
921
+ timeoutOverflowMode: "break",
922
+ additionalSettings: { optimize_use_projections: 1 },
923
+ }));
924
+ const dbResult = await SpanService.executeQuery(statement);
925
+ let rows = [];
926
+ let elapsedSeconds = 0;
927
+ try {
928
+ const response = await dbResult.json();
929
+ rows = response.data || [];
930
+ elapsedSeconds = Number(((_a = response.statistics) === null || _a === void 0 ? void 0 : _a.elapsed) || 0);
931
+ }
932
+ catch (_b) {
933
+ /*
934
+ * 'break' mode can also truncate the JSON body outright. Unparseable
935
+ * IS partial — report it as such rather than handing back an empty
936
+ * profile the caller would read as "this project has no traffic".
937
+ */
938
+ logger.warn("Service latency profile query returned unparseable response, reporting a partial result");
939
+ return { rows: [], isPartial: true };
940
+ }
941
+ const isPartial = elapsedSeconds >=
942
+ TraceAggregationService.LATENCY_PROFILE_MAX_EXECUTION_SECONDS *
943
+ TraceAggregationService.LATENCY_PROFILE_PARTIAL_ELAPSED_RATIO;
944
+ return {
945
+ rows: rows
946
+ .map((row) => {
947
+ var _a;
948
+ return {
949
+ primaryEntityId: String((_a = row["primaryEntityId"]) !== null && _a !== void 0 ? _a : ""),
950
+ count: Number(row["cnt"] || 0),
951
+ // ns -> ms here, NOT in the aggregate expression (see above).
952
+ p99DurationMs: Number(row["p99_ns"] || 0) / 1000000,
953
+ };
954
+ })
955
+ .filter((row) => {
956
+ return row.primaryEntityId.length > 0;
957
+ }),
958
+ isPartial,
959
+ };
960
+ }
860
961
  static groupByAlias(key, index) {
861
962
  if (TraceAggregationService.isTopLevelColumn(key) ||
862
963
  TraceAggregationService.RESOURCE_FACET_KEYS.has(key)) {
@@ -1178,6 +1279,23 @@ TraceAggregationService.METRIC_EXPRESSIONS = {
1178
1279
  p95Duration: "quantile(0.95)(durationUnixNano) / 1000000",
1179
1280
  p99Duration: "quantile(0.99)(durationUnixNano) / 1000000",
1180
1281
  };
1282
+ /*
1283
+ * Wall-clock cap for the latency-profile query — same 45s ceiling as the
1284
+ * other projection-served reads (below nginx's 60s proxy_read_timeout).
1285
+ */
1286
+ TraceAggregationService.LATENCY_PROFILE_MAX_EXECUTION_SECONDS = 45;
1287
+ /*
1288
+ * Partial-result heuristic. With timeout_overflow_mode='break' ClickHouse
1289
+ * checks the deadline BETWEEN blocks and then returns a well-formed JSON
1290
+ * body holding partial aggregates — there is no flag in the payload and no
1291
+ * exception to catch. The only signal available on the response is
1292
+ * `statistics.elapsed`: a query that was cut off necessarily burned (very
1293
+ * nearly) its whole budget, while a projection-served profile completes in
1294
+ * single-digit ms. Anything at or past this fraction of the cap is treated
1295
+ * as "may be partial". False positives are harmless here — the caller skips
1296
+ * one 15-minute tick; false negatives are what we must not have.
1297
+ */
1298
+ TraceAggregationService.LATENCY_PROFILE_PARTIAL_ELAPSED_RATIO = 0.9;
1181
1299
  __decorate([
1182
1300
  CaptureSpan(),
1183
1301
  __metadata("design:type", Function),
@@ -1232,5 +1350,11 @@ __decorate([
1232
1350
  __metadata("design:paramtypes", [Object]),
1233
1351
  __metadata("design:returntype", Promise)
1234
1352
  ], TraceAggregationService, "getAnalyticsTable", null);
1353
+ __decorate([
1354
+ CaptureSpan(),
1355
+ __metadata("design:type", Function),
1356
+ __metadata("design:paramtypes", [Object]),
1357
+ __metadata("design:returntype", Promise)
1358
+ ], TraceAggregationService, "getServiceLatencyProfile", null);
1235
1359
  export default TraceAggregationService;
1236
1360
  //# sourceMappingURL=TraceAggregationService.js.map