@oneuptime/common 9.2.17 → 9.2.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Server/API/AlertAPI.ts +139 -0
- package/Server/API/IncidentAPI.ts +132 -0
- package/Server/API/ScheduledMaintenanceAPI.ts +164 -0
- package/Server/Services/AIService.ts +0 -1
- package/Server/Services/IncidentService.ts +0 -1
- package/Server/Utils/AI/AlertAIContextBuilder.ts +264 -0
- package/Server/Utils/AI/IncidentAIContextBuilder.ts +212 -0
- package/Server/Utils/AI/ScheduledMaintenanceAIContextBuilder.ts +345 -0
- package/Tests/Types/Domain.test.ts +24 -3
- package/Types/Domain.ts +21 -24
- package/UI/Components/AI/GenerateFromAIModal.tsx +157 -20
- package/build/dist/Server/API/AlertAPI.js +94 -0
- package/build/dist/Server/API/AlertAPI.js.map +1 -0
- package/build/dist/Server/API/IncidentAPI.js +88 -1
- package/build/dist/Server/API/IncidentAPI.js.map +1 -1
- package/build/dist/Server/API/ScheduledMaintenanceAPI.js +103 -0
- package/build/dist/Server/API/ScheduledMaintenanceAPI.js.map +1 -0
- package/build/dist/Server/Services/AIService.js +0 -1
- package/build/dist/Server/Services/AIService.js.map +1 -1
- package/build/dist/Server/Services/IncidentService.js +0 -1
- package/build/dist/Server/Services/IncidentService.js.map +1 -1
- package/build/dist/Server/Utils/AI/AlertAIContextBuilder.js +238 -0
- package/build/dist/Server/Utils/AI/AlertAIContextBuilder.js.map +1 -0
- package/build/dist/Server/Utils/AI/IncidentAIContextBuilder.js +189 -0
- package/build/dist/Server/Utils/AI/IncidentAIContextBuilder.js.map +1 -1
- package/build/dist/Server/Utils/AI/ScheduledMaintenanceAIContextBuilder.js +311 -0
- package/build/dist/Server/Utils/AI/ScheduledMaintenanceAIContextBuilder.js.map +1 -0
- package/build/dist/Tests/Types/Domain.test.js +19 -3
- package/build/dist/Tests/Types/Domain.test.js.map +1 -1
- package/build/dist/Types/Domain.js +18 -16
- package/build/dist/Types/Domain.js.map +1 -1
- package/build/dist/UI/Components/AI/GenerateFromAIModal.js +116 -3
- package/build/dist/UI/Components/AI/GenerateFromAIModal.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import Alert from "../../Models/DatabaseModels/Alert";
|
|
2
|
+
import NotFoundException from "../../Types/Exception/NotFoundException";
|
|
3
|
+
import BadDataException from "../../Types/Exception/BadDataException";
|
|
4
|
+
import ObjectID from "../../Types/ObjectID";
|
|
5
|
+
import AlertService from "../Services/AlertService";
|
|
6
|
+
import UserMiddleware from "../Middleware/UserAuthorization";
|
|
7
|
+
import Response from "../Utils/Response";
|
|
8
|
+
import BaseAPI from "./BaseAPI";
|
|
9
|
+
import CommonAPI from "./CommonAPI";
|
|
10
|
+
import AIService from "../Services/AIService";
|
|
11
|
+
import AlertAIContextBuilder from "../Utils/AI/AlertAIContextBuilder";
|
|
12
|
+
import JSONFunctions from "../../Types/JSONFunctions";
|
|
13
|
+
import Permission from "../../Types/Permission";
|
|
14
|
+
export default class AlertAPI extends BaseAPI {
|
|
15
|
+
constructor() {
|
|
16
|
+
var _a;
|
|
17
|
+
super(Alert, AlertService);
|
|
18
|
+
// Generate note from AI
|
|
19
|
+
this.router.post(`${(_a = new this.entityType().getCrudApiPath()) === null || _a === void 0 ? void 0 : _a.toString()}/generate-note-from-ai/:alertId`, UserMiddleware.getUserMiddleware, async (req, res, next) => {
|
|
20
|
+
try {
|
|
21
|
+
await this.generateNoteFromAI(req, res);
|
|
22
|
+
}
|
|
23
|
+
catch (err) {
|
|
24
|
+
next(err);
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
async generateNoteFromAI(req, res) {
|
|
29
|
+
var _a;
|
|
30
|
+
const alertIdParam = req.params["alertId"];
|
|
31
|
+
if (!alertIdParam) {
|
|
32
|
+
throw new BadDataException("Alert ID is required");
|
|
33
|
+
}
|
|
34
|
+
let alertId;
|
|
35
|
+
try {
|
|
36
|
+
alertId = new ObjectID(alertIdParam);
|
|
37
|
+
}
|
|
38
|
+
catch (_b) {
|
|
39
|
+
throw new BadDataException("Invalid Alert ID");
|
|
40
|
+
}
|
|
41
|
+
const props = await CommonAPI.getDatabaseCommonInteractionProps(req);
|
|
42
|
+
// Verify user has permission
|
|
43
|
+
const permissions = (_a = props
|
|
44
|
+
.userTenantAccessPermission) === null || _a === void 0 ? void 0 : _a["permissions"];
|
|
45
|
+
const hasPermission = permissions
|
|
46
|
+
? permissions.some((p) => {
|
|
47
|
+
return (p === Permission.ProjectOwner ||
|
|
48
|
+
p === Permission.ProjectAdmin ||
|
|
49
|
+
p === Permission.EditAlert ||
|
|
50
|
+
p === Permission.CreateAlertInternalNote);
|
|
51
|
+
})
|
|
52
|
+
: false;
|
|
53
|
+
if (!hasPermission && !props.isMasterAdmin) {
|
|
54
|
+
throw new BadDataException("You do not have permission to generate notes for this alert.");
|
|
55
|
+
}
|
|
56
|
+
// Get the template from request body
|
|
57
|
+
const template = JSONFunctions.getJSONValueInPath(req.body, "template");
|
|
58
|
+
// Get the alert to verify it exists and get the project ID
|
|
59
|
+
const alert = await this.service.findOneById({
|
|
60
|
+
id: alertId,
|
|
61
|
+
select: {
|
|
62
|
+
_id: true,
|
|
63
|
+
projectId: true,
|
|
64
|
+
},
|
|
65
|
+
props,
|
|
66
|
+
});
|
|
67
|
+
if (!alert || !alert.projectId) {
|
|
68
|
+
throw new NotFoundException("Alert not found");
|
|
69
|
+
}
|
|
70
|
+
// Build alert context
|
|
71
|
+
const contextData = await AlertAIContextBuilder.buildAlertContext({
|
|
72
|
+
alertId,
|
|
73
|
+
});
|
|
74
|
+
// Format context for note generation
|
|
75
|
+
const aiContext = AlertAIContextBuilder.formatAlertContextForNote(contextData, template);
|
|
76
|
+
// Generate note using AIService (handles billing and logging)
|
|
77
|
+
const aiLogRequest = {
|
|
78
|
+
projectId: alert.projectId,
|
|
79
|
+
feature: "Alert Internal Note",
|
|
80
|
+
alertId: alertId,
|
|
81
|
+
messages: aiContext.messages,
|
|
82
|
+
maxTokens: 4096,
|
|
83
|
+
temperature: 0.7,
|
|
84
|
+
};
|
|
85
|
+
if (props.userId) {
|
|
86
|
+
aiLogRequest.userId = props.userId;
|
|
87
|
+
}
|
|
88
|
+
const response = await AIService.executeWithLogging(aiLogRequest);
|
|
89
|
+
return Response.sendJsonObjectResponse(req, res, {
|
|
90
|
+
note: response.content,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=AlertAPI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AlertAPI.js","sourceRoot":"","sources":["../../../../Server/API/AlertAPI.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ import JSONFunctions from "../../Types/JSONFunctions";
|
|
|
13
13
|
import Permission from "../../Types/Permission";
|
|
14
14
|
export default class IncidentAPI extends BaseAPI {
|
|
15
15
|
constructor() {
|
|
16
|
-
var _a, _b;
|
|
16
|
+
var _a, _b, _c;
|
|
17
17
|
super(Incident, IncidentService);
|
|
18
18
|
this.router.get(`${(_a = new this.entityType()
|
|
19
19
|
.getCrudApiPath()) === null || _a === void 0 ? void 0 : _a.toString()}/postmortem/attachment/:projectId/:incidentId/:fileId`, UserMiddleware.getUserMiddleware, async (req, res, next) => {
|
|
@@ -34,6 +34,16 @@ export default class IncidentAPI extends BaseAPI {
|
|
|
34
34
|
next(err);
|
|
35
35
|
}
|
|
36
36
|
});
|
|
37
|
+
// Generate note from AI
|
|
38
|
+
this.router.post(`${(_c = new this.entityType()
|
|
39
|
+
.getCrudApiPath()) === null || _c === void 0 ? void 0 : _c.toString()}/generate-note-from-ai/:incidentId`, UserMiddleware.getUserMiddleware, async (req, res, next) => {
|
|
40
|
+
try {
|
|
41
|
+
await this.generateNoteFromAI(req, res);
|
|
42
|
+
}
|
|
43
|
+
catch (err) {
|
|
44
|
+
next(err);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
37
47
|
}
|
|
38
48
|
async getPostmortemAttachment(req, res) {
|
|
39
49
|
var _a;
|
|
@@ -155,5 +165,82 @@ export default class IncidentAPI extends BaseAPI {
|
|
|
155
165
|
postmortemNote: response.content,
|
|
156
166
|
});
|
|
157
167
|
}
|
|
168
|
+
async generateNoteFromAI(req, res) {
|
|
169
|
+
var _a;
|
|
170
|
+
const incidentIdParam = req.params["incidentId"];
|
|
171
|
+
if (!incidentIdParam) {
|
|
172
|
+
throw new BadDataException("Incident ID is required");
|
|
173
|
+
}
|
|
174
|
+
let incidentId;
|
|
175
|
+
try {
|
|
176
|
+
incidentId = new ObjectID(incidentIdParam);
|
|
177
|
+
}
|
|
178
|
+
catch (_b) {
|
|
179
|
+
throw new BadDataException("Invalid Incident ID");
|
|
180
|
+
}
|
|
181
|
+
const props = await CommonAPI.getDatabaseCommonInteractionProps(req);
|
|
182
|
+
// Verify user has permission to edit the incident
|
|
183
|
+
const permissions = (_a = props
|
|
184
|
+
.userTenantAccessPermission) === null || _a === void 0 ? void 0 : _a["permissions"];
|
|
185
|
+
const hasPermission = permissions
|
|
186
|
+
? permissions.some((p) => {
|
|
187
|
+
return (p === Permission.ProjectOwner ||
|
|
188
|
+
p === Permission.ProjectAdmin ||
|
|
189
|
+
p === Permission.EditProjectIncident ||
|
|
190
|
+
p === Permission.CreateIncidentInternalNote ||
|
|
191
|
+
p === Permission.CreateIncidentPublicNote);
|
|
192
|
+
})
|
|
193
|
+
: false;
|
|
194
|
+
if (!hasPermission && !props.isMasterAdmin) {
|
|
195
|
+
throw new BadDataException("You do not have permission to generate notes for this incident.");
|
|
196
|
+
}
|
|
197
|
+
// Get the template and note type from request body
|
|
198
|
+
const template = JSONFunctions.getJSONValueInPath(req.body, "template");
|
|
199
|
+
const noteType = JSONFunctions.getJSONValueInPath(req.body, "noteType") ||
|
|
200
|
+
"internal";
|
|
201
|
+
if (noteType !== "public" && noteType !== "internal") {
|
|
202
|
+
throw new BadDataException("Note type must be 'public' or 'internal'");
|
|
203
|
+
}
|
|
204
|
+
// Always include workspace messages for comprehensive context
|
|
205
|
+
const includeWorkspaceMessages = true;
|
|
206
|
+
// Get the incident to verify it exists and get the project ID
|
|
207
|
+
const incident = await this.service.findOneById({
|
|
208
|
+
id: incidentId,
|
|
209
|
+
select: {
|
|
210
|
+
_id: true,
|
|
211
|
+
projectId: true,
|
|
212
|
+
},
|
|
213
|
+
props,
|
|
214
|
+
});
|
|
215
|
+
if (!incident || !incident.projectId) {
|
|
216
|
+
throw new NotFoundException("Incident not found");
|
|
217
|
+
}
|
|
218
|
+
// Build incident context
|
|
219
|
+
const contextData = await IncidentAIContextBuilder.buildIncidentContext({
|
|
220
|
+
incidentId,
|
|
221
|
+
includeWorkspaceMessages,
|
|
222
|
+
workspaceMessageLimit: 300,
|
|
223
|
+
});
|
|
224
|
+
// Format context for note generation
|
|
225
|
+
const aiContext = IncidentAIContextBuilder.formatIncidentContextForNote(contextData, noteType, template);
|
|
226
|
+
// Generate note using AIService (handles billing and logging)
|
|
227
|
+
const aiLogRequest = {
|
|
228
|
+
projectId: incident.projectId,
|
|
229
|
+
feature: noteType === "public"
|
|
230
|
+
? "Incident Public Note"
|
|
231
|
+
: "Incident Internal Note",
|
|
232
|
+
incidentId: incidentId,
|
|
233
|
+
messages: aiContext.messages,
|
|
234
|
+
maxTokens: 4096,
|
|
235
|
+
temperature: 0.7,
|
|
236
|
+
};
|
|
237
|
+
if (props.userId) {
|
|
238
|
+
aiLogRequest.userId = props.userId;
|
|
239
|
+
}
|
|
240
|
+
const response = await AIService.executeWithLogging(aiLogRequest);
|
|
241
|
+
return Response.sendJsonObjectResponse(req, res, {
|
|
242
|
+
note: response.content,
|
|
243
|
+
});
|
|
244
|
+
}
|
|
158
245
|
}
|
|
159
246
|
//# sourceMappingURL=IncidentAPI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IncidentAPI.js","sourceRoot":"","sources":["../../../../Server/API/IncidentAPI.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"IncidentAPI.js","sourceRoot":"","sources":["../../../../Server/API/IncidentAPI.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import ScheduledMaintenance from "../../Models/DatabaseModels/ScheduledMaintenance";
|
|
2
|
+
import NotFoundException from "../../Types/Exception/NotFoundException";
|
|
3
|
+
import BadDataException from "../../Types/Exception/BadDataException";
|
|
4
|
+
import ObjectID from "../../Types/ObjectID";
|
|
5
|
+
import ScheduledMaintenanceService from "../Services/ScheduledMaintenanceService";
|
|
6
|
+
import UserMiddleware from "../Middleware/UserAuthorization";
|
|
7
|
+
import Response from "../Utils/Response";
|
|
8
|
+
import BaseAPI from "./BaseAPI";
|
|
9
|
+
import CommonAPI from "./CommonAPI";
|
|
10
|
+
import AIService from "../Services/AIService";
|
|
11
|
+
import ScheduledMaintenanceAIContextBuilder from "../Utils/AI/ScheduledMaintenanceAIContextBuilder";
|
|
12
|
+
import JSONFunctions from "../../Types/JSONFunctions";
|
|
13
|
+
import Permission from "../../Types/Permission";
|
|
14
|
+
export default class ScheduledMaintenanceAPI extends BaseAPI {
|
|
15
|
+
constructor() {
|
|
16
|
+
var _a;
|
|
17
|
+
super(ScheduledMaintenance, ScheduledMaintenanceService);
|
|
18
|
+
// Generate note from AI
|
|
19
|
+
this.router.post(`${(_a = new this.entityType()
|
|
20
|
+
.getCrudApiPath()) === null || _a === void 0 ? void 0 : _a.toString()}/generate-note-from-ai/:scheduledMaintenanceId`, UserMiddleware.getUserMiddleware, async (req, res, next) => {
|
|
21
|
+
try {
|
|
22
|
+
await this.generateNoteFromAI(req, res);
|
|
23
|
+
}
|
|
24
|
+
catch (err) {
|
|
25
|
+
next(err);
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
async generateNoteFromAI(req, res) {
|
|
30
|
+
var _a;
|
|
31
|
+
const scheduledMaintenanceIdParam = req.params["scheduledMaintenanceId"];
|
|
32
|
+
if (!scheduledMaintenanceIdParam) {
|
|
33
|
+
throw new BadDataException("Scheduled Maintenance ID is required");
|
|
34
|
+
}
|
|
35
|
+
let scheduledMaintenanceId;
|
|
36
|
+
try {
|
|
37
|
+
scheduledMaintenanceId = new ObjectID(scheduledMaintenanceIdParam);
|
|
38
|
+
}
|
|
39
|
+
catch (_b) {
|
|
40
|
+
throw new BadDataException("Invalid Scheduled Maintenance ID");
|
|
41
|
+
}
|
|
42
|
+
const props = await CommonAPI.getDatabaseCommonInteractionProps(req);
|
|
43
|
+
// Verify user has permission
|
|
44
|
+
const permissions = (_a = props
|
|
45
|
+
.userTenantAccessPermission) === null || _a === void 0 ? void 0 : _a["permissions"];
|
|
46
|
+
const hasPermission = permissions
|
|
47
|
+
? permissions.some((p) => {
|
|
48
|
+
return (p === Permission.ProjectOwner ||
|
|
49
|
+
p === Permission.ProjectAdmin ||
|
|
50
|
+
p === Permission.EditProjectScheduledMaintenance ||
|
|
51
|
+
p === Permission.CreateScheduledMaintenanceInternalNote ||
|
|
52
|
+
p === Permission.CreateScheduledMaintenancePublicNote);
|
|
53
|
+
})
|
|
54
|
+
: false;
|
|
55
|
+
if (!hasPermission && !props.isMasterAdmin) {
|
|
56
|
+
throw new BadDataException("You do not have permission to generate notes for this scheduled maintenance.");
|
|
57
|
+
}
|
|
58
|
+
// Get the template and note type from request body
|
|
59
|
+
const template = JSONFunctions.getJSONValueInPath(req.body, "template");
|
|
60
|
+
const noteType = JSONFunctions.getJSONValueInPath(req.body, "noteType") ||
|
|
61
|
+
"internal";
|
|
62
|
+
if (noteType !== "public" && noteType !== "internal") {
|
|
63
|
+
throw new BadDataException("Note type must be 'public' or 'internal'");
|
|
64
|
+
}
|
|
65
|
+
// Get the scheduled maintenance to verify it exists and get the project ID
|
|
66
|
+
const scheduledMaintenance = await this.service.findOneById({
|
|
67
|
+
id: scheduledMaintenanceId,
|
|
68
|
+
select: {
|
|
69
|
+
_id: true,
|
|
70
|
+
projectId: true,
|
|
71
|
+
},
|
|
72
|
+
props,
|
|
73
|
+
});
|
|
74
|
+
if (!scheduledMaintenance || !scheduledMaintenance.projectId) {
|
|
75
|
+
throw new NotFoundException("Scheduled Maintenance not found");
|
|
76
|
+
}
|
|
77
|
+
// Build scheduled maintenance context
|
|
78
|
+
const contextData = await ScheduledMaintenanceAIContextBuilder.buildScheduledMaintenanceContext({
|
|
79
|
+
scheduledMaintenanceId,
|
|
80
|
+
});
|
|
81
|
+
// Format context for note generation
|
|
82
|
+
const aiContext = ScheduledMaintenanceAIContextBuilder.formatScheduledMaintenanceContextForNote(contextData, noteType, template);
|
|
83
|
+
// Generate note using AIService (handles billing and logging)
|
|
84
|
+
const aiLogRequest = {
|
|
85
|
+
projectId: scheduledMaintenance.projectId,
|
|
86
|
+
feature: noteType === "public"
|
|
87
|
+
? "Scheduled Maintenance Public Note"
|
|
88
|
+
: "Scheduled Maintenance Internal Note",
|
|
89
|
+
scheduledMaintenanceId: scheduledMaintenanceId,
|
|
90
|
+
messages: aiContext.messages,
|
|
91
|
+
maxTokens: 4096,
|
|
92
|
+
temperature: 0.7,
|
|
93
|
+
};
|
|
94
|
+
if (props.userId) {
|
|
95
|
+
aiLogRequest.userId = props.userId;
|
|
96
|
+
}
|
|
97
|
+
const response = await AIService.executeWithLogging(aiLogRequest);
|
|
98
|
+
return Response.sendJsonObjectResponse(req, res, {
|
|
99
|
+
note: response.content,
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=ScheduledMaintenanceAPI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScheduledMaintenanceAPI.js","sourceRoot":"","sources":["../../../../Server/API/ScheduledMaintenanceAPI.ts"],"names":[],"mappings":"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"}
|
|
@@ -110,7 +110,6 @@ export class Service extends BaseService {
|
|
|
110
110
|
const response = await LLMService.getCompletion({
|
|
111
111
|
llmProviderConfig: llmConfig,
|
|
112
112
|
messages: request.messages,
|
|
113
|
-
maxTokens: request.maxTokens || 4096,
|
|
114
113
|
temperature: (_a = request.temperature) !== null && _a !== void 0 ? _a : 0.7,
|
|
115
114
|
});
|
|
116
115
|
const endTime = new Date();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIService.js","sourceRoot":"","sources":["../../../../Server/Services/AIService.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AIService.js","sourceRoot":"","sources":["../../../../Server/Services/AIService.ts"],"names":[],"mappings":"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"}
|