@oneuptime/common 11.5.11 → 11.5.13

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 (142) hide show
  1. package/Models/AnalyticsModels/NetworkFlow.ts +12 -1
  2. package/Models/DatabaseModels/AIInsight.ts +30 -0
  3. package/Models/DatabaseModels/Project.ts +30 -0
  4. package/Models/DatabaseModels/TelemetryException.ts +128 -0
  5. package/Server/API/AIAgentDataAPI.ts +129 -5
  6. package/Server/API/AIInvestigationAPI.ts +87 -0
  7. package/Server/API/StatusPageAPI.ts +14 -1
  8. package/Server/Infrastructure/Postgres/SchemaMigrations/1784640000000-AddExceptionTriageAndPrivacyColumns.ts +56 -0
  9. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +2 -2
  10. package/Server/Services/AIRunService.ts +8 -0
  11. package/Server/Services/IncidentService.ts +62 -67
  12. package/Server/Services/MonitorGroupService.ts +15 -2
  13. package/Server/Services/MonitorService.ts +91 -3
  14. package/Server/Services/MonitorStatusTimelineService.ts +285 -100
  15. package/Server/Services/StatusPageService.ts +59 -34
  16. package/Server/Services/TelemetryExceptionService.ts +320 -24
  17. package/Server/Utils/AI/SRE/Insights/Detectors/ExceptionSpikeDetector.ts +15 -4
  18. package/Server/Utils/AI/SRE/Insights/Detectors/NewExceptionDetector.ts +15 -4
  19. package/Server/Utils/AI/SRE/Insights/InsightScanner.ts +222 -24
  20. package/Server/Utils/AI/SRE/Insights/InsightTriageRunner.ts +225 -9
  21. package/Server/Utils/AI/SRE/SubjectCodeFixRun.ts +39 -0
  22. package/Server/Utils/AI/SRE/TelemetryImprovementTaskTrigger.ts +114 -0
  23. package/Server/Utils/Monitor/MonitorResource.ts +43 -14
  24. package/Server/Utils/Monitor/MonitorStatusTimeline.ts +32 -7
  25. package/Server/Utils/Monitor/MonitorStatusTimelineReconciler.ts +362 -0
  26. package/Server/Utils/Telemetry/ExceptionSanitizer.ts +222 -0
  27. package/Tests/Server/Services/MonitorStatusTimelineService.test.ts +235 -0
  28. package/Tests/Server/Services/TelemetryExceptionCodeFixRun.test.ts +205 -1
  29. package/Tests/Server/Utils/AI/Insights/InsightScanner.test.ts +150 -141
  30. package/Tests/Server/Utils/AI/Insights/InsightTriageRunner.test.ts +277 -1
  31. package/Tests/Server/Utils/ExceptionSanitizer.test.ts +70 -0
  32. package/Tests/Server/Utils/InsightTriageClassification.test.ts +57 -0
  33. package/Tests/Server/Utils/Monitor/MonitorStatusTimelineReconciler.test.ts +555 -0
  34. package/Tests/Server/Utils/TelemetryImprovementTaskTrigger.test.ts +141 -0
  35. package/Tests/Types/Database/CompareOperatorWireSerialization.test.ts +216 -0
  36. package/Tests/Types/Database/GreaterThan.test.ts +5 -1
  37. package/Tests/Types/Database/GreaterThanOrEqual.test.ts +5 -1
  38. package/Tests/Types/Database/GreaterThanOrNull.test.ts +24 -1
  39. package/Tests/Types/Database/LessThan.test.ts +5 -1
  40. package/Tests/Types/Database/LessThanOrEqual.test.ts +24 -1
  41. package/Tests/Types/Database/LessThanOrNull.test.ts +5 -1
  42. package/Tests/UI/Components/ModelTableSelectFromColumns.test.ts +259 -0
  43. package/Tests/Utils/Uptime/UptimeUtil.test.ts +726 -0
  44. package/Types/AI/CodeFixTaskContext.ts +6 -0
  45. package/Types/AI/CodeFixTaskType.ts +38 -1
  46. package/Types/AI/ExceptionAIClassification.ts +27 -0
  47. package/Types/BaseDatabase/GreaterThan.ts +8 -1
  48. package/Types/BaseDatabase/GreaterThanOrEqual.ts +8 -1
  49. package/Types/BaseDatabase/GreaterThanOrNull.ts +9 -1
  50. package/Types/BaseDatabase/LessThan.ts +8 -1
  51. package/Types/BaseDatabase/LessThanOrEqual.ts +9 -1
  52. package/Types/BaseDatabase/LessThanOrNull.ts +8 -1
  53. package/Types/Log/LogScrubPatternType.ts +7 -0
  54. package/Types/Trace/TraceScrubPatternType.ts +7 -0
  55. package/UI/Components/ModelTable/BaseModelTable.tsx +15 -46
  56. package/UI/Components/ModelTable/SelectFromColumns.ts +129 -0
  57. package/Utils/StatusPage/ResourceUptime.ts +11 -1
  58. package/Utils/Uptime/UptimeUtil.ts +142 -36
  59. package/build/dist/Models/AnalyticsModels/NetworkFlow.js +12 -1
  60. package/build/dist/Models/AnalyticsModels/NetworkFlow.js.map +1 -1
  61. package/build/dist/Models/DatabaseModels/AIInsight.js +31 -0
  62. package/build/dist/Models/DatabaseModels/AIInsight.js.map +1 -1
  63. package/build/dist/Models/DatabaseModels/Project.js +31 -0
  64. package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
  65. package/build/dist/Models/DatabaseModels/TelemetryException.js +134 -0
  66. package/build/dist/Models/DatabaseModels/TelemetryException.js.map +1 -1
  67. package/build/dist/Server/API/AIAgentDataAPI.js +97 -8
  68. package/build/dist/Server/API/AIAgentDataAPI.js.map +1 -1
  69. package/build/dist/Server/API/AIInvestigationAPI.js +55 -0
  70. package/build/dist/Server/API/AIInvestigationAPI.js.map +1 -1
  71. package/build/dist/Server/API/StatusPageAPI.js +12 -2
  72. package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
  73. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784640000000-AddExceptionTriageAndPrivacyColumns.js +33 -0
  74. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784640000000-AddExceptionTriageAndPrivacyColumns.js.map +1 -0
  75. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +2 -2
  76. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  77. package/build/dist/Server/Services/AIRunService.js +9 -2
  78. package/build/dist/Server/Services/AIRunService.js.map +1 -1
  79. package/build/dist/Server/Services/IncidentService.js +47 -56
  80. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  81. package/build/dist/Server/Services/MonitorGroupService.js +15 -2
  82. package/build/dist/Server/Services/MonitorGroupService.js.map +1 -1
  83. package/build/dist/Server/Services/MonitorService.js +66 -3
  84. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  85. package/build/dist/Server/Services/MonitorStatusTimelineService.js +244 -102
  86. package/build/dist/Server/Services/MonitorStatusTimelineService.js.map +1 -1
  87. package/build/dist/Server/Services/StatusPageService.js +57 -33
  88. package/build/dist/Server/Services/StatusPageService.js.map +1 -1
  89. package/build/dist/Server/Services/TelemetryExceptionService.js +263 -22
  90. package/build/dist/Server/Services/TelemetryExceptionService.js.map +1 -1
  91. package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/ExceptionSpikeDetector.js +12 -4
  92. package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/ExceptionSpikeDetector.js.map +1 -1
  93. package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/NewExceptionDetector.js +12 -4
  94. package/build/dist/Server/Utils/AI/SRE/Insights/Detectors/NewExceptionDetector.js.map +1 -1
  95. package/build/dist/Server/Utils/AI/SRE/Insights/InsightScanner.js +193 -22
  96. package/build/dist/Server/Utils/AI/SRE/Insights/InsightScanner.js.map +1 -1
  97. package/build/dist/Server/Utils/AI/SRE/Insights/InsightTriageRunner.js +178 -9
  98. package/build/dist/Server/Utils/AI/SRE/Insights/InsightTriageRunner.js.map +1 -1
  99. package/build/dist/Server/Utils/AI/SRE/SubjectCodeFixRun.js +37 -0
  100. package/build/dist/Server/Utils/AI/SRE/SubjectCodeFixRun.js.map +1 -1
  101. package/build/dist/Server/Utils/AI/SRE/TelemetryImprovementTaskTrigger.js +98 -0
  102. package/build/dist/Server/Utils/AI/SRE/TelemetryImprovementTaskTrigger.js.map +1 -0
  103. package/build/dist/Server/Utils/Monitor/MonitorResource.js +34 -12
  104. package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
  105. package/build/dist/Server/Utils/Monitor/MonitorStatusTimeline.js +25 -8
  106. package/build/dist/Server/Utils/Monitor/MonitorStatusTimeline.js.map +1 -1
  107. package/build/dist/Server/Utils/Monitor/MonitorStatusTimelineReconciler.js +268 -0
  108. package/build/dist/Server/Utils/Monitor/MonitorStatusTimelineReconciler.js.map +1 -0
  109. package/build/dist/Server/Utils/Telemetry/ExceptionSanitizer.js +149 -0
  110. package/build/dist/Server/Utils/Telemetry/ExceptionSanitizer.js.map +1 -0
  111. package/build/dist/Types/AI/CodeFixTaskType.js +38 -1
  112. package/build/dist/Types/AI/CodeFixTaskType.js.map +1 -1
  113. package/build/dist/Types/AI/ExceptionAIClassification.js +28 -0
  114. package/build/dist/Types/AI/ExceptionAIClassification.js.map +1 -0
  115. package/build/dist/Types/BaseDatabase/GreaterThan.js +8 -1
  116. package/build/dist/Types/BaseDatabase/GreaterThan.js.map +1 -1
  117. package/build/dist/Types/BaseDatabase/GreaterThanOrEqual.js +8 -1
  118. package/build/dist/Types/BaseDatabase/GreaterThanOrEqual.js.map +1 -1
  119. package/build/dist/Types/BaseDatabase/GreaterThanOrNull.js +9 -1
  120. package/build/dist/Types/BaseDatabase/GreaterThanOrNull.js.map +1 -1
  121. package/build/dist/Types/BaseDatabase/LessThan.js +8 -1
  122. package/build/dist/Types/BaseDatabase/LessThan.js.map +1 -1
  123. package/build/dist/Types/BaseDatabase/LessThanOrEqual.js +9 -1
  124. package/build/dist/Types/BaseDatabase/LessThanOrEqual.js.map +1 -1
  125. package/build/dist/Types/BaseDatabase/LessThanOrNull.js +8 -1
  126. package/build/dist/Types/BaseDatabase/LessThanOrNull.js.map +1 -1
  127. package/build/dist/Types/Log/LogScrubPatternType.js +7 -0
  128. package/build/dist/Types/Log/LogScrubPatternType.js.map +1 -1
  129. package/build/dist/Types/Trace/TraceScrubPatternType.js +7 -0
  130. package/build/dist/Types/Trace/TraceScrubPatternType.js.map +1 -1
  131. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +12 -37
  132. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  133. package/build/dist/UI/Components/ModelTable/SelectFromColumns.js +82 -0
  134. package/build/dist/UI/Components/ModelTable/SelectFromColumns.js.map +1 -0
  135. package/build/dist/Utils/StatusPage/ResourceUptime.js +4 -1
  136. package/build/dist/Utils/StatusPage/ResourceUptime.js.map +1 -1
  137. package/build/dist/Utils/Uptime/UptimeUtil.js +86 -33
  138. package/build/dist/Utils/Uptime/UptimeUtil.js.map +1 -1
  139. package/package.json +1 -1
  140. package/Server/Infrastructure/Postgres/SchemaMigrations/1784401962564-MigrationName.ts +0 -101
  141. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784401962564-MigrationName.js +0 -40
  142. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784401962564-MigrationName.js.map +0 -1
@@ -13,6 +13,16 @@ var CodeFixTaskType;
13
13
  CodeFixTaskType["FixException"] = "FixException";
14
14
  // Write a failing-then-passing regression test that reproduces the exception.
15
15
  CodeFixTaskType["WriteRegressionTest"] = "WriteRegressionTest";
16
+ /*
17
+ * Improve how the code HANDLES and REPORTS this exception without
18
+ * changing business behavior: parameterize messages that interpolate
19
+ * user data (PII out of error text, stable fingerprints), validate bad
20
+ * input earlier with an actionable error, and mark expected/operational
21
+ * errors as handled in telemetry. The recipe for exceptions the triage
22
+ * classified as user errors or expected denials — where "fix the bug"
23
+ * is the wrong instruction because there is no bug.
24
+ */
25
+ CodeFixTaskType["ImproveExceptionHandling"] = "ImproveExceptionHandling";
16
26
  /*
17
27
  * Add the observability an INCONCLUSIVE AI investigation was missing
18
28
  * (structured logs, spans, metric counters on the implicated code paths).
@@ -33,6 +43,27 @@ var CodeFixTaskType;
33
43
  * Common/Server/Utils/AI/SRE/FixPerformanceTaskTrigger.ts).
34
44
  */
35
45
  CodeFixTaskType["FixPerformance"] = "FixPerformance";
46
+ /*
47
+ * Improve a SERVICE's logging hygiene: structured/parameterized log
48
+ * messages (no user data interpolated into log text), correct severity
49
+ * levels, trace correlation, proper exception recording instead of raw
50
+ * stack dumps in log bodies, and less noise. Human-triggered from the
51
+ * service's Logs page (POST /ai-investigation/
52
+ * create-telemetry-improvement-task); its context (service id + name) is
53
+ * captured into AIRun.taskContext at trigger time. Instrumentation only —
54
+ * never a behavior change.
55
+ */
56
+ CodeFixTaskType["ImproveLogging"] = "ImproveLogging";
57
+ /*
58
+ * Improve a SERVICE's tracing instrumentation: spans on uninstrumented
59
+ * entry points and significant operations, low-cardinality span names,
60
+ * exceptions recorded on spans with correct status/escaped semantics,
61
+ * code.* and semantic-convention attributes, context propagation across
62
+ * async boundaries. Human-triggered from the service's Traces page (same
63
+ * endpoint as ImproveLogging); context captured into AIRun.taskContext.
64
+ * Instrumentation only — never a behavior change.
65
+ */
66
+ CodeFixTaskType["ImproveTracing"] = "ImproveTracing";
36
67
  /*
37
68
  * Fix the root cause a completed AI investigation identified. Human-
38
69
  * triggered from the investigation panel (POST /ai-investigation/
@@ -76,7 +107,11 @@ export class CodeFixTaskTypeHelper {
76
107
  * (POST /ai-investigation/create-performance-fix-task).
77
108
  */
78
109
  static getUserTriggerableTaskTypes() {
79
- return [CodeFixTaskType.FixException, CodeFixTaskType.WriteRegressionTest];
110
+ return [
111
+ CodeFixTaskType.FixException,
112
+ CodeFixTaskType.WriteRegressionTest,
113
+ CodeFixTaskType.ImproveExceptionHandling,
114
+ ];
80
115
  }
81
116
  static isUserTriggerable(taskType) {
82
117
  return this.getUserTriggerableTaskTypes().includes(taskType);
@@ -94,6 +129,8 @@ export class CodeFixTaskTypeHelper {
94
129
  case CodeFixTaskType.FixFromIncident:
95
130
  return CodeFixContextKind.IncidentOrAlertSubject;
96
131
  case CodeFixTaskType.FixPerformance:
132
+ case CodeFixTaskType.ImproveLogging:
133
+ case CodeFixTaskType.ImproveTracing:
97
134
  return CodeFixContextKind.TaskContext;
98
135
  default:
99
136
  return CodeFixContextKind.TelemetryException;
@@ -1 +1 @@
1
- {"version":3,"file":"CodeFixTaskType.js","sourceRoot":"","sources":["../../../../Types/AI/CodeFixTaskType.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,IAAK,eAiCJ;AAjCD,WAAK,eAAe;IAClB,uEAAuE;IACvE,gDAA6B,CAAA;IAC7B,8EAA8E;IAC9E,8DAA2C,CAAA;IAC3C;;;;;;;;OAQG;IACH,oEAAiD,CAAA;IACjD;;;;;;;;OAQG;IACH,oDAAiC,CAAA;IACjC;;;;;;OAMG;IACH,sDAAmC,CAAA;AACrC,CAAC,EAjCI,eAAe,KAAf,eAAe,QAiCnB;AAED,eAAe,eAAe,CAAC;AAE/B;;;;GAIG;AACH,MAAM,CAAN,IAAY,kBAWX;AAXD,WAAY,kBAAkB;IAC5B,0DAA0D;IAC1D,+DAAyC,CAAA;IACzC,qEAAqE;IACrE,uEAAiD,CAAA;IACjD;;;;OAIG;IACH,iDAA2B,CAAA;AAC7B,CAAC,EAXW,kBAAkB,KAAlB,kBAAkB,QAW7B;AAED,MAAM,OAAO,qBAAqB;IAChC;;;;;;;;;;;;OAYG;IACI,MAAM,CAAC,2BAA2B;QACvC,OAAO,CAAC,eAAe,CAAC,YAAY,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;IAC7E,CAAC;IAEM,MAAM,CAAC,iBAAiB,CAAC,QAAyB;QACvD,OAAO,IAAI,CAAC,2BAA2B,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,cAAc,CAAC,QAAyB;QACpD,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,eAAe,CAAC,sBAAsB,CAAC;YAC5C,KAAK,eAAe,CAAC,eAAe;gBAClC,OAAO,kBAAkB,CAAC,sBAAsB,CAAC;YACnD,KAAK,eAAe,CAAC,cAAc;gBACjC,OAAO,kBAAkB,CAAC,WAAW,CAAC;YACxC;gBACE,OAAO,kBAAkB,CAAC,kBAAkB,CAAC;QACjD,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,0BAA0B,CAAC,QAAyB;QAChE,OAAO,CACL,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,kBAAkB,CAAC,kBAAkB,CACxE,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,KAAa;QACzC,OAAO,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,KAAwB,CAAC,CAAC;IAC3E,CAAC;IAED,mEAAmE;IAC5D,MAAM,CAAC,iBAAiB,CAC7B,KAAkD;QAElD,IAAI,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;YACpD,OAAO,KAAwB,CAAC;QAClC,CAAC;QAED,OAAO,eAAe,CAAC,YAAY,CAAC;IACtC,CAAC;CACF"}
1
+ {"version":3,"file":"CodeFixTaskType.js","sourceRoot":"","sources":["../../../../Types/AI/CodeFixTaskType.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,IAAK,eAgEJ;AAhED,WAAK,eAAe;IAClB,uEAAuE;IACvE,gDAA6B,CAAA;IAC7B,8EAA8E;IAC9E,8DAA2C,CAAA;IAC3C;;;;;;;;OAQG;IACH,wEAAqD,CAAA;IACrD;;;;;;;;OAQG;IACH,oEAAiD,CAAA;IACjD;;;;;;;;OAQG;IACH,oDAAiC,CAAA;IACjC;;;;;;;;;OASG;IACH,oDAAiC,CAAA;IACjC;;;;;;;;OAQG;IACH,oDAAiC,CAAA;IACjC;;;;;;OAMG;IACH,sDAAmC,CAAA;AACrC,CAAC,EAhEI,eAAe,KAAf,eAAe,QAgEnB;AAED,eAAe,eAAe,CAAC;AAE/B;;;;GAIG;AACH,MAAM,CAAN,IAAY,kBAWX;AAXD,WAAY,kBAAkB;IAC5B,0DAA0D;IAC1D,+DAAyC,CAAA;IACzC,qEAAqE;IACrE,uEAAiD,CAAA;IACjD;;;;OAIG;IACH,iDAA2B,CAAA;AAC7B,CAAC,EAXW,kBAAkB,KAAlB,kBAAkB,QAW7B;AAED,MAAM,OAAO,qBAAqB;IAChC;;;;;;;;;;;;OAYG;IACI,MAAM,CAAC,2BAA2B;QACvC,OAAO;YACL,eAAe,CAAC,YAAY;YAC5B,eAAe,CAAC,mBAAmB;YACnC,eAAe,CAAC,wBAAwB;SACzC,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,iBAAiB,CAAC,QAAyB;QACvD,OAAO,IAAI,CAAC,2BAA2B,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,cAAc,CAAC,QAAyB;QACpD,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,eAAe,CAAC,sBAAsB,CAAC;YAC5C,KAAK,eAAe,CAAC,eAAe;gBAClC,OAAO,kBAAkB,CAAC,sBAAsB,CAAC;YACnD,KAAK,eAAe,CAAC,cAAc,CAAC;YACpC,KAAK,eAAe,CAAC,cAAc,CAAC;YACpC,KAAK,eAAe,CAAC,cAAc;gBACjC,OAAO,kBAAkB,CAAC,WAAW,CAAC;YACxC;gBACE,OAAO,kBAAkB,CAAC,kBAAkB,CAAC;QACjD,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,0BAA0B,CAAC,QAAyB;QAChE,OAAO,CACL,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,kBAAkB,CAAC,kBAAkB,CACxE,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,KAAa;QACzC,OAAO,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,KAAwB,CAAC,CAAC;IAC3E,CAAC;IAED,mEAAmE;IAC5D,MAAM,CAAC,iBAAiB,CAC7B,KAAkD;QAElD,IAAI,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;YACpD,OAAO,KAAwB,CAAC;QAClC,CAAC;QAED,OAAO,eAAe,CAAC,YAAY,CAAC;IACtC,CAAC;CACF"}
@@ -0,0 +1,28 @@
1
+ /*
2
+ * AI triage verdict for a telemetry exception group. Decides how the
3
+ * automatic fix lane treats the group:
4
+ *
5
+ * - CodeFault: a defect in the monitored code — the only class the
6
+ * automatic lane opens fix pull requests for.
7
+ * - UserError: expected consequence of invalid end-user input (bad
8
+ * parameters, malformed values). The right change, if any, is earlier
9
+ * validation and clearer error UX — routed to a human, never auto-fixed.
10
+ * - ExpectedDenial: an intentional check doing its job (auth failure,
11
+ * plan/paywall denial, scanner/fuzzer probe tripping validation).
12
+ * Never auto-fixed; optionally auto-archived.
13
+ * - Infrastructure: environmental conditions (timeouts, connection
14
+ * resets, resource exhaustion) where a code "fix" is usually tuning —
15
+ * routed to a human.
16
+ * - Unknown: triage could not decide — treated conservatively (no
17
+ * automatic fix).
18
+ */
19
+ var ExceptionAIClassification;
20
+ (function (ExceptionAIClassification) {
21
+ ExceptionAIClassification["CodeFault"] = "code-fault";
22
+ ExceptionAIClassification["UserError"] = "user-error";
23
+ ExceptionAIClassification["ExpectedDenial"] = "expected-denial";
24
+ ExceptionAIClassification["Infrastructure"] = "infrastructure";
25
+ ExceptionAIClassification["Unknown"] = "unknown";
26
+ })(ExceptionAIClassification || (ExceptionAIClassification = {}));
27
+ export default ExceptionAIClassification;
28
+ //# sourceMappingURL=ExceptionAIClassification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExceptionAIClassification.js","sourceRoot":"","sources":["../../../../Types/AI/ExceptionAIClassification.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,IAAK,yBAMJ;AAND,WAAK,yBAAyB;IAC5B,qDAAwB,CAAA;IACxB,qDAAwB,CAAA;IACxB,+DAAkC,CAAA;IAClC,8DAAiC,CAAA;IACjC,gDAAmB,CAAA;AACrB,CAAC,EANI,yBAAyB,KAAzB,yBAAyB,QAM7B;AAED,eAAe,yBAAyB,CAAC"}
@@ -9,7 +9,14 @@ export default class GreaterThan extends CompareBase {
9
9
  toJSON() {
10
10
  return {
11
11
  _type: ObjectType.GreaterThan,
12
- value: this.toString(),
12
+ /*
13
+ * The RAW value is serialized (like InBetween), not toString():
14
+ * toString() collapses a Date to a local-timezone date-only string
15
+ * (asDateForDatabaseQuery), shifting Date bounds sent from the browser
16
+ * by up to a day. JSON.stringify emits a raw Date as its full ISO
17
+ * timestamp, which the server binds at full precision.
18
+ */
19
+ value: this.value,
13
20
  };
14
21
  }
15
22
  toString() {
@@ -1 +1 @@
1
- {"version":3,"file":"GreaterThan.js","sourceRoot":"","sources":["../../../../Types/BaseDatabase/GreaterThan.ts"],"names":[],"mappings":"AAAA,OAAO,WAA4B,MAAM,yBAAyB,CAAC;AACnE,OAAO,aAAa,MAAM,SAAS,CAAC;AACpC,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAc,UAAU,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,WAAmC,SAAQ,WAAc;IAC5E,YAAmB,KAAQ;QACzB,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEe,MAAM;QACpB,OAAO;YACL,KAAK,EAAE,UAAU,CAAC,WAAW;YAC7B,KAAK,EAAG,IAAuB,CAAC,QAAQ,EAAE;SAC3C,CAAC;IACJ,CAAC;IAEe,QAAQ;QACtB,IAAI,KAAK,GAAM,IAAI,CAAC,KAAK,CAAC;QAE1B,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;YAC1B,KAAK,GAAG,aAAa,CAAC,sBAAsB,CAAC,KAAK,CAAM,CAAC;QAC3D,CAAC;QAED,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAEM,MAAM,CAAU,QAAQ,CAC7B,IAAgB;QAEhB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC,WAAW,EAAE,CAAC;YAC7C,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAM,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,IAAI,gBAAgB,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;CACF"}
1
+ {"version":3,"file":"GreaterThan.js","sourceRoot":"","sources":["../../../../Types/BaseDatabase/GreaterThan.ts"],"names":[],"mappings":"AAAA,OAAO,WAA4B,MAAM,yBAAyB,CAAC;AACnE,OAAO,aAAa,MAAM,SAAS,CAAC;AACpC,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAc,UAAU,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,WAAmC,SAAQ,WAAc;IAC5E,YAAmB,KAAQ;QACzB,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEe,MAAM;QACpB,OAAO;YACL,KAAK,EAAE,UAAU,CAAC,WAAW;YAC7B;;;;;;eAMG;YACH,KAAK,EAAG,IAAuB,CAAC,KAAK;SACtC,CAAC;IACJ,CAAC;IAEe,QAAQ;QACtB,IAAI,KAAK,GAAM,IAAI,CAAC,KAAK,CAAC;QAE1B,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;YAC1B,KAAK,GAAG,aAAa,CAAC,sBAAsB,CAAC,KAAK,CAAM,CAAC;QAC3D,CAAC;QAED,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAEM,MAAM,CAAU,QAAQ,CAC7B,IAAgB;QAEhB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC,WAAW,EAAE,CAAC;YAC7C,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAM,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,IAAI,gBAAgB,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;CACF"}
@@ -9,7 +9,14 @@ export default class GreaterThanOrEqual extends CompareBase {
9
9
  toJSON() {
10
10
  return {
11
11
  _type: ObjectType.GreaterThanOrEqual,
12
- value: this.toString(),
12
+ /*
13
+ * The RAW value is serialized (like InBetween), not toString():
14
+ * toString() collapses a Date to a local-timezone date-only string
15
+ * (asDateForDatabaseQuery), shifting Date bounds sent from the browser
16
+ * by up to a day. JSON.stringify emits a raw Date as its full ISO
17
+ * timestamp, which the server binds at full precision.
18
+ */
19
+ value: this.value,
13
20
  };
14
21
  }
15
22
  toString() {
@@ -1 +1 @@
1
- {"version":3,"file":"GreaterThanOrEqual.js","sourceRoot":"","sources":["../../../../Types/BaseDatabase/GreaterThanOrEqual.ts"],"names":[],"mappings":"AAAA,OAAO,WAA4B,MAAM,yBAAyB,CAAC;AACnE,OAAO,aAAa,MAAM,SAAS,CAAC;AACpC,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAc,UAAU,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,kBAEnB,SAAQ,WAAc;IACtB,YAAmB,KAAQ;QACzB,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEe,MAAM;QACpB,OAAO;YACL,KAAK,EAAE,UAAU,CAAC,kBAAkB;YACpC,KAAK,EAAG,IAA8B,CAAC,QAAQ,EAAE;SAClD,CAAC;IACJ,CAAC;IAEe,QAAQ;QACtB,IAAI,KAAK,GAAM,IAAI,CAAC,KAAK,CAAC;QAE1B,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;YAC1B,KAAK,GAAG,aAAa,CAAC,sBAAsB,CAAC,KAAK,CAAM,CAAC;QAC3D,CAAC;QAED,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAEM,MAAM,CAAU,QAAQ,CAC7B,IAAgB;QAEhB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC,kBAAkB,EAAE,CAAC;YACpD,OAAO,IAAI,kBAAkB,CAAI,IAAI,CAAC,OAAO,CAAM,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,IAAI,gBAAgB,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;CACF"}
1
+ {"version":3,"file":"GreaterThanOrEqual.js","sourceRoot":"","sources":["../../../../Types/BaseDatabase/GreaterThanOrEqual.ts"],"names":[],"mappings":"AAAA,OAAO,WAA4B,MAAM,yBAAyB,CAAC;AACnE,OAAO,aAAa,MAAM,SAAS,CAAC;AACpC,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAc,UAAU,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,kBAEnB,SAAQ,WAAc;IACtB,YAAmB,KAAQ;QACzB,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEe,MAAM;QACpB,OAAO;YACL,KAAK,EAAE,UAAU,CAAC,kBAAkB;YACpC;;;;;;eAMG;YACH,KAAK,EAAG,IAA8B,CAAC,KAAK;SAC7C,CAAC;IACJ,CAAC;IAEe,QAAQ;QACtB,IAAI,KAAK,GAAM,IAAI,CAAC,KAAK,CAAC;QAE1B,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;YAC1B,KAAK,GAAG,aAAa,CAAC,sBAAsB,CAAC,KAAK,CAAM,CAAC;QAC3D,CAAC;QAED,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAEM,MAAM,CAAU,QAAQ,CAC7B,IAAgB;QAEhB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC,kBAAkB,EAAE,CAAC;YACpD,OAAO,IAAI,kBAAkB,CAAI,IAAI,CAAC,OAAO,CAAM,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,IAAI,gBAAgB,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;CACF"}
@@ -6,10 +6,18 @@ export default class GreaterThanOrNull extends CompareBase {
6
6
  constructor(value) {
7
7
  super(value);
8
8
  }
9
+ /*
10
+ * Serializes the RAW value (like InBetween does), not toString(): toString()
11
+ * collapses a Date to a date-only string in the LOCAL timezone
12
+ * (asDateForDatabaseQuery), so a Date bound would arrive at the server as
13
+ * midnight of the browser's calendar date and shift the query bound by up to
14
+ * a day. JSON.stringify turns a raw Date into its full ISO timestamp, which
15
+ * the server binds at full precision.
16
+ */
9
17
  toJSON() {
10
18
  return {
11
19
  _type: ObjectType.GreaterThanOrNull,
12
- value: this.toString(),
20
+ value: this.value,
13
21
  };
14
22
  }
15
23
  toString() {
@@ -1 +1 @@
1
- {"version":3,"file":"GreaterThanOrNull.js","sourceRoot":"","sources":["../../../../Types/BaseDatabase/GreaterThanOrNull.ts"],"names":[],"mappings":"AAAA,OAAO,WAA4B,MAAM,yBAAyB,CAAC;AACnE,OAAO,aAAa,MAAM,SAAS,CAAC;AACpC,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAc,UAAU,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,iBAEnB,SAAQ,WAAc;IACtB,YAAmB,KAAQ;QACzB,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEe,MAAM;QACpB,OAAO;YACL,KAAK,EAAE,UAAU,CAAC,iBAAiB;YACnC,KAAK,EAAG,IAA6B,CAAC,QAAQ,EAAE;SACjD,CAAC;IACJ,CAAC;IAEe,QAAQ;QACtB,IAAI,KAAK,GAAM,IAAI,CAAC,KAAK,CAAC;QAE1B,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;YAC1B,KAAK,GAAG,aAAa,CAAC,sBAAsB,CAAC,KAAK,CAAM,CAAC;QAC3D,CAAC;QAED,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAEM,MAAM,CAAU,QAAQ,CAC7B,IAAgB;QAEhB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC,iBAAiB,EAAE,CAAC;YACnD,OAAO,IAAI,iBAAiB,CAAI,IAAI,CAAC,OAAO,CAAM,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,IAAI,gBAAgB,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;CACF"}
1
+ {"version":3,"file":"GreaterThanOrNull.js","sourceRoot":"","sources":["../../../../Types/BaseDatabase/GreaterThanOrNull.ts"],"names":[],"mappings":"AAAA,OAAO,WAA4B,MAAM,yBAAyB,CAAC;AACnE,OAAO,aAAa,MAAM,SAAS,CAAC;AACpC,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAc,UAAU,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,iBAEnB,SAAQ,WAAc;IACtB,YAAmB,KAAQ;QACzB,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACa,MAAM;QACpB,OAAO;YACL,KAAK,EAAE,UAAU,CAAC,iBAAiB;YACnC,KAAK,EAAG,IAA6B,CAAC,KAAK;SAC5C,CAAC;IACJ,CAAC;IAEe,QAAQ;QACtB,IAAI,KAAK,GAAM,IAAI,CAAC,KAAK,CAAC;QAE1B,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;YAC1B,KAAK,GAAG,aAAa,CAAC,sBAAsB,CAAC,KAAK,CAAM,CAAC;QAC3D,CAAC;QAED,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAEM,MAAM,CAAU,QAAQ,CAC7B,IAAgB;QAEhB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC,iBAAiB,EAAE,CAAC;YACnD,OAAO,IAAI,iBAAiB,CAAI,IAAI,CAAC,OAAO,CAAM,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,IAAI,gBAAgB,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;CACF"}
@@ -9,7 +9,14 @@ export default class LessThan extends CompareBase {
9
9
  toJSON() {
10
10
  return {
11
11
  _type: ObjectType.LessThan,
12
- value: this.toString(),
12
+ /*
13
+ * The RAW value is serialized (like InBetween), not toString():
14
+ * toString() collapses a Date to a local-timezone date-only string
15
+ * (asDateForDatabaseQuery), shifting Date bounds sent from the browser
16
+ * by up to a day. JSON.stringify emits a raw Date as its full ISO
17
+ * timestamp, which the server binds at full precision.
18
+ */
19
+ value: this.value,
13
20
  };
14
21
  }
15
22
  toString() {
@@ -1 +1 @@
1
- {"version":3,"file":"LessThan.js","sourceRoot":"","sources":["../../../../Types/BaseDatabase/LessThan.ts"],"names":[],"mappings":"AAAA,OAAO,WAA4B,MAAM,yBAAyB,CAAC;AACnE,OAAO,aAAa,MAAM,SAAS,CAAC;AACpC,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAc,UAAU,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,QAAgC,SAAQ,WAAc;IACzE,YAAmB,KAAQ;QACzB,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEe,MAAM;QACpB,OAAO;YACL,KAAK,EAAE,UAAU,CAAC,QAAQ;YAC1B,KAAK,EAAG,IAAoB,CAAC,QAAQ,EAAE;SACxC,CAAC;IACJ,CAAC;IAEe,QAAQ;QACtB,IAAI,KAAK,GAAM,IAAI,CAAC,KAAK,CAAC;QAE1B,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;YAC1B,KAAK,GAAG,aAAa,CAAC,sBAAsB,CAAC,KAAK,CAAM,CAAC;QAC3D,CAAC;QAED,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAEM,MAAM,CAAU,QAAQ,CAC7B,IAAgB;QAEhB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC1C,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAM,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,IAAI,gBAAgB,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;CACF"}
1
+ {"version":3,"file":"LessThan.js","sourceRoot":"","sources":["../../../../Types/BaseDatabase/LessThan.ts"],"names":[],"mappings":"AAAA,OAAO,WAA4B,MAAM,yBAAyB,CAAC;AACnE,OAAO,aAAa,MAAM,SAAS,CAAC;AACpC,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAc,UAAU,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,QAAgC,SAAQ,WAAc;IACzE,YAAmB,KAAQ;QACzB,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEe,MAAM;QACpB,OAAO;YACL,KAAK,EAAE,UAAU,CAAC,QAAQ;YAC1B;;;;;;eAMG;YACH,KAAK,EAAG,IAAoB,CAAC,KAAK;SACnC,CAAC;IACJ,CAAC;IAEe,QAAQ;QACtB,IAAI,KAAK,GAAM,IAAI,CAAC,KAAK,CAAC;QAE1B,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;YAC1B,KAAK,GAAG,aAAa,CAAC,sBAAsB,CAAC,KAAK,CAAM,CAAC;QAC3D,CAAC;QAED,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAEM,MAAM,CAAU,QAAQ,CAC7B,IAAgB;QAEhB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC1C,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAM,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,IAAI,gBAAgB,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;CACF"}
@@ -6,10 +6,18 @@ export default class LessThanOrEqual extends CompareBase {
6
6
  constructor(value) {
7
7
  super(value);
8
8
  }
9
+ /*
10
+ * Serializes the RAW value (like InBetween does), not toString(): toString()
11
+ * collapses a Date to a date-only string in the LOCAL timezone
12
+ * (asDateForDatabaseQuery), so a bound of "now" would arrive at the server as
13
+ * midnight of the browser's calendar date and silently exclude every row from
14
+ * today. JSON.stringify turns a raw Date into its full ISO timestamp, which
15
+ * the server binds at full precision.
16
+ */
9
17
  toJSON() {
10
18
  return {
11
19
  _type: ObjectType.LessThanOrEqual,
12
- value: this.toString(),
20
+ value: this.value,
13
21
  };
14
22
  }
15
23
  toString() {
@@ -1 +1 @@
1
- {"version":3,"file":"LessThanOrEqual.js","sourceRoot":"","sources":["../../../../Types/BaseDatabase/LessThanOrEqual.ts"],"names":[],"mappings":"AAAA,OAAO,WAA4B,MAAM,yBAAyB,CAAC;AACnE,OAAO,aAAa,MAAM,SAAS,CAAC;AACpC,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAc,UAAU,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,eAEnB,SAAQ,WAAc;IACtB,YAAmB,KAAQ;QACzB,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEe,MAAM;QACpB,OAAO;YACL,KAAK,EAAE,UAAU,CAAC,eAAe;YACjC,KAAK,EAAG,IAA2B,CAAC,QAAQ,EAAE;SAC/C,CAAC;IACJ,CAAC;IAEe,QAAQ;QACtB,IAAI,KAAK,GAAM,IAAI,CAAC,KAAK,CAAC;QAE1B,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;YAC1B,KAAK,GAAG,aAAa,CAAC,sBAAsB,CAAC,KAAK,CAAM,CAAC;QAC3D,CAAC;QAED,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAEM,MAAM,CAAU,QAAQ,CAC7B,IAAgB;QAEhB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC,eAAe,EAAE,CAAC;YACjD,OAAO,IAAI,eAAe,CAAI,IAAI,CAAC,OAAO,CAAM,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,IAAI,gBAAgB,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;CACF"}
1
+ {"version":3,"file":"LessThanOrEqual.js","sourceRoot":"","sources":["../../../../Types/BaseDatabase/LessThanOrEqual.ts"],"names":[],"mappings":"AAAA,OAAO,WAA4B,MAAM,yBAAyB,CAAC;AACnE,OAAO,aAAa,MAAM,SAAS,CAAC;AACpC,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAc,UAAU,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,eAEnB,SAAQ,WAAc;IACtB,YAAmB,KAAQ;QACzB,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACa,MAAM;QACpB,OAAO;YACL,KAAK,EAAE,UAAU,CAAC,eAAe;YACjC,KAAK,EAAG,IAA2B,CAAC,KAAK;SAC1C,CAAC;IACJ,CAAC;IAEe,QAAQ;QACtB,IAAI,KAAK,GAAM,IAAI,CAAC,KAAK,CAAC;QAE1B,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;YAC1B,KAAK,GAAG,aAAa,CAAC,sBAAsB,CAAC,KAAK,CAAM,CAAC;QAC3D,CAAC;QAED,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAEM,MAAM,CAAU,QAAQ,CAC7B,IAAgB;QAEhB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC,eAAe,EAAE,CAAC;YACjD,OAAO,IAAI,eAAe,CAAI,IAAI,CAAC,OAAO,CAAM,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,IAAI,gBAAgB,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;CACF"}
@@ -9,7 +9,14 @@ export default class LessThanOrNull extends CompareBase {
9
9
  toJSON() {
10
10
  return {
11
11
  _type: ObjectType.LessThanOrNull,
12
- value: this.toString(),
12
+ /*
13
+ * The RAW value is serialized (like InBetween), not toString():
14
+ * toString() collapses a Date to a local-timezone date-only string
15
+ * (asDateForDatabaseQuery), shifting Date bounds sent from the browser
16
+ * by up to a day. JSON.stringify emits a raw Date as its full ISO
17
+ * timestamp, which the server binds at full precision.
18
+ */
19
+ value: this.value,
13
20
  };
14
21
  }
15
22
  toString() {
@@ -1 +1 @@
1
- {"version":3,"file":"LessThanOrNull.js","sourceRoot":"","sources":["../../../../Types/BaseDatabase/LessThanOrNull.ts"],"names":[],"mappings":"AAAA,OAAO,WAA4B,MAAM,yBAAyB,CAAC;AACnE,OAAO,aAAa,MAAM,SAAS,CAAC;AACpC,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAc,UAAU,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,cAEnB,SAAQ,WAAc;IACtB,YAAmB,KAAQ;QACzB,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEe,MAAM;QACpB,OAAO;YACL,KAAK,EAAE,UAAU,CAAC,cAAc;YAChC,KAAK,EAAG,IAA0B,CAAC,QAAQ,EAAE;SAC9C,CAAC;IACJ,CAAC;IAEe,QAAQ;QACtB,IAAI,KAAK,GAAM,IAAI,CAAC,KAAK,CAAC;QAE1B,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;YAC1B,KAAK,GAAG,aAAa,CAAC,sBAAsB,CAAC,KAAK,CAAM,CAAC;QAC3D,CAAC;QAED,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAEM,MAAM,CAAU,QAAQ,CAC7B,IAAgB;QAEhB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC,cAAc,EAAE,CAAC;YAChD,OAAO,IAAI,cAAc,CAAI,IAAI,CAAC,OAAO,CAAM,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,IAAI,gBAAgB,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;CACF"}
1
+ {"version":3,"file":"LessThanOrNull.js","sourceRoot":"","sources":["../../../../Types/BaseDatabase/LessThanOrNull.ts"],"names":[],"mappings":"AAAA,OAAO,WAA4B,MAAM,yBAAyB,CAAC;AACnE,OAAO,aAAa,MAAM,SAAS,CAAC;AACpC,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAc,UAAU,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,cAEnB,SAAQ,WAAc;IACtB,YAAmB,KAAQ;QACzB,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEe,MAAM;QACpB,OAAO;YACL,KAAK,EAAE,UAAU,CAAC,cAAc;YAChC;;;;;;eAMG;YACH,KAAK,EAAG,IAA0B,CAAC,KAAK;SACzC,CAAC;IACJ,CAAC;IAEe,QAAQ;QACtB,IAAI,KAAK,GAAM,IAAI,CAAC,KAAK,CAAC;QAE1B,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;YAC1B,KAAK,GAAG,aAAa,CAAC,sBAAsB,CAAC,KAAK,CAAM,CAAC;QAC3D,CAAC;QAED,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAEM,MAAM,CAAU,QAAQ,CAC7B,IAAgB;QAEhB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC,cAAc,EAAE,CAAC;YAChD,OAAO,IAAI,cAAc,CAAI,IAAI,CAAC,OAAO,CAAM,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,IAAI,gBAAgB,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;CACF"}
@@ -5,6 +5,13 @@ var LogScrubPatternType;
5
5
  LogScrubPatternType["SSN"] = "ssn";
6
6
  LogScrubPatternType["PhoneNumber"] = "phoneNumber";
7
7
  LogScrubPatternType["IPAddress"] = "ipAddress";
8
+ /*
9
+ * Key-targeted: scrubs the WHOLE value of any attribute whose KEY looks
10
+ * sensitive (password, token, apiKey, authorization, cookie, ...) —
11
+ * catches secrets whose values match no shape-based pattern. Applies to
12
+ * attributes only; body text has no keys to match.
13
+ */
14
+ LogScrubPatternType["SensitiveKeys"] = "sensitiveKeys";
8
15
  LogScrubPatternType["Custom"] = "custom";
9
16
  })(LogScrubPatternType || (LogScrubPatternType = {}));
10
17
  export default LogScrubPatternType;
@@ -1 +1 @@
1
- {"version":3,"file":"LogScrubPatternType.js","sourceRoot":"","sources":["../../../../Types/Log/LogScrubPatternType.ts"],"names":[],"mappings":"AAAA,IAAK,mBAOJ;AAPD,WAAK,mBAAmB;IACtB,sCAAe,CAAA;IACf,gDAAyB,CAAA;IACzB,kCAAW,CAAA;IACX,kDAA2B,CAAA;IAC3B,8CAAuB,CAAA;IACvB,wCAAiB,CAAA;AACnB,CAAC,EAPI,mBAAmB,KAAnB,mBAAmB,QAOvB;AAED,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"LogScrubPatternType.js","sourceRoot":"","sources":["../../../../Types/Log/LogScrubPatternType.ts"],"names":[],"mappings":"AAAA,IAAK,mBAcJ;AAdD,WAAK,mBAAmB;IACtB,sCAAe,CAAA;IACf,gDAAyB,CAAA;IACzB,kCAAW,CAAA;IACX,kDAA2B,CAAA;IAC3B,8CAAuB,CAAA;IACvB;;;;;OAKG;IACH,sDAA+B,CAAA;IAC/B,wCAAiB,CAAA;AACnB,CAAC,EAdI,mBAAmB,KAAnB,mBAAmB,QAcvB;AAED,eAAe,mBAAmB,CAAC"}
@@ -5,6 +5,13 @@ var TraceScrubPatternType;
5
5
  TraceScrubPatternType["SSN"] = "ssn";
6
6
  TraceScrubPatternType["PhoneNumber"] = "phoneNumber";
7
7
  TraceScrubPatternType["IPAddress"] = "ipAddress";
8
+ /*
9
+ * Key-targeted: scrubs the WHOLE value of any attribute whose KEY looks
10
+ * sensitive (password, token, apiKey, authorization, cookie, ...) —
11
+ * catches secrets whose values match no shape-based pattern. Applies to
12
+ * span/event attributes only; span names have no keys to match.
13
+ */
14
+ TraceScrubPatternType["SensitiveKeys"] = "sensitiveKeys";
8
15
  TraceScrubPatternType["Custom"] = "custom";
9
16
  })(TraceScrubPatternType || (TraceScrubPatternType = {}));
10
17
  export default TraceScrubPatternType;
@@ -1 +1 @@
1
- {"version":3,"file":"TraceScrubPatternType.js","sourceRoot":"","sources":["../../../../Types/Trace/TraceScrubPatternType.ts"],"names":[],"mappings":"AAAA,IAAK,qBAOJ;AAPD,WAAK,qBAAqB;IACxB,wCAAe,CAAA;IACf,kDAAyB,CAAA;IACzB,oCAAW,CAAA;IACX,oDAA2B,CAAA;IAC3B,gDAAuB,CAAA;IACvB,0CAAiB,CAAA;AACnB,CAAC,EAPI,qBAAqB,KAArB,qBAAqB,QAOzB;AAED,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"TraceScrubPatternType.js","sourceRoot":"","sources":["../../../../Types/Trace/TraceScrubPatternType.ts"],"names":[],"mappings":"AAAA,IAAK,qBAcJ;AAdD,WAAK,qBAAqB;IACxB,wCAAe,CAAA;IACf,kDAAyB,CAAA;IACzB,oCAAW,CAAA;IACX,oDAA2B,CAAA;IAC3B,gDAAuB,CAAA;IACvB;;;;;OAKG;IACH,wDAA+B,CAAA;IAC/B,0CAAiB,CAAA;AACnB,CAAC,EAdI,qBAAqB,KAArB,qBAAqB,QAczB;AAED,eAAe,qBAAqB,CAAC"}
@@ -24,6 +24,7 @@ import OrderedStatesList from "../OrderedStatesList/OrderedStatesList";
24
24
  import Pill from "../Pill/Pill";
25
25
  import Table from "../Table/Table";
26
26
  import FieldType from "../Types/FieldType";
27
+ import { getRelationSelectFromColumns, getSelectFromColumns, } from "./SelectFromColumns";
27
28
  import AnalyticsBaseModel from "../../../Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel";
28
29
  import BaseModel from "../../../Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel";
29
30
  import Route from "../../../Types/API/Route";
@@ -332,27 +333,10 @@ const BaseModelTable = (props) => {
332
333
  }
333
334
  }, [tableColumns]);
334
335
  const getRelationSelect = () => {
335
- const relationSelect = {};
336
- for (const column of props.columns || []) {
337
- const key = column.field
338
- ? Object.keys(column.field)[0]
339
- : null;
340
- if (key && model.isFileColumn(key)) {
341
- relationSelect[key] = {
342
- file: true,
343
- _id: true,
344
- fileType: true,
345
- name: true,
346
- };
347
- }
348
- else if (key && model.isEntityColumn(key)) {
349
- if (!relationSelect[key]) {
350
- relationSelect[key] = {};
351
- }
352
- relationSelect[key] = Object.assign(Object.assign({}, relationSelect[key]), column.field[key]);
353
- }
354
- }
355
- return relationSelect;
336
+ return getRelationSelectFromColumns({
337
+ columns: props.columns || [],
338
+ model: model,
339
+ });
356
340
  };
357
341
  const deleteItem = async (item) => {
358
342
  var _a;
@@ -717,22 +701,13 @@ const BaseModelTable = (props) => {
717
701
  }
718
702
  }, [showFilterModal, props.filters]);
719
703
  const getSelect = () => {
720
- const selectFields = {
721
- _id: true,
722
- };
723
- for (const column of props.columns || []) {
724
- const key = column.field
725
- ? Object.keys(column.field)[0]
726
- : null;
727
- if (key) {
728
- if (model.hasColumn(key)) {
729
- selectFields[key] = true;
730
- }
731
- else {
732
- throw new BadDataException(`${key} column not found on ${model.singularName}`);
733
- }
734
- }
735
- }
704
+ const selectFields = getSelectFromColumns({
705
+ columns: props.columns || [],
706
+ model: model,
707
+ hasPermissionToReadField: (field) => {
708
+ return hasPermissionToReadField(field);
709
+ },
710
+ });
736
711
  const selectMoreFields = props.selectMoreFields
737
712
  ? Object.keys(props.selectMoreFields)
738
713
  : [];