manifest 5.10.2 → 5.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/backend/analytics/controllers/agents.controller.js +2 -0
- package/dist/backend/analytics/controllers/agents.controller.js.map +1 -1
- package/dist/backend/common/utils/period.util.d.ts +5 -0
- package/dist/backend/common/utils/period.util.js +30 -0
- package/dist/backend/common/utils/period.util.js.map +1 -0
- package/dist/backend/database/database.module.js +2 -0
- package/dist/backend/database/database.module.js.map +1 -1
- package/dist/backend/database/local-bootstrap.service.js +2 -0
- package/dist/backend/database/local-bootstrap.service.js.map +1 -1
- package/dist/backend/database/migrations/1772200000000-AddLimitAction.d.ts +6 -0
- package/dist/backend/database/migrations/1772200000000-AddLimitAction.js +17 -0
- package/dist/backend/database/migrations/1772200000000-AddLimitAction.js.map +1 -0
- package/dist/backend/entities/notification-rule.entity.d.ts +1 -0
- package/dist/backend/entities/notification-rule.entity.js +5 -0
- package/dist/backend/entities/notification-rule.entity.js.map +1 -1
- package/dist/backend/notifications/dto/notification-rule.dto.d.ts +2 -0
- package/dist/backend/notifications/dto/notification-rule.dto.js +14 -2
- package/dist/backend/notifications/dto/notification-rule.dto.js.map +1 -1
- package/dist/backend/notifications/notifications.controller.d.ts +3 -1
- package/dist/backend/notifications/notifications.controller.js +18 -4
- package/dist/backend/notifications/notifications.controller.js.map +1 -1
- package/dist/backend/notifications/notifications.module.js +3 -0
- package/dist/backend/notifications/notifications.module.js.map +1 -1
- package/dist/backend/notifications/services/limit-check.service.d.ts +36 -0
- package/dist/backend/notifications/services/limit-check.service.js +163 -0
- package/dist/backend/notifications/services/limit-check.service.js.map +1 -0
- package/dist/backend/notifications/services/notification-cron.service.d.ts +0 -1
- package/dist/backend/notifications/services/notification-cron.service.js +2 -27
- package/dist/backend/notifications/services/notification-cron.service.js.map +1 -1
- package/dist/backend/notifications/services/notification-rules.service.d.ts +2 -1
- package/dist/backend/notifications/services/notification-rules.service.js +13 -4
- package/dist/backend/notifications/services/notification-rules.service.js.map +1 -1
- package/dist/backend/otlp/guards/otlp-auth.guard.js +12 -3
- package/dist/backend/otlp/guards/otlp-auth.guard.js.map +1 -1
- package/dist/backend/otlp/otlp.controller.js +23 -6
- package/dist/backend/otlp/otlp.controller.js.map +1 -1
- package/dist/backend/routing/proxy/proxy.controller.d.ts +8 -1
- package/dist/backend/routing/proxy/proxy.controller.js +45 -4
- package/dist/backend/routing/proxy/proxy.controller.js.map +1 -1
- package/dist/backend/routing/proxy/proxy.service.d.ts +4 -2
- package/dist/backend/routing/proxy/proxy.service.js +25 -3
- package/dist/backend/routing/proxy/proxy.service.js.map +1 -1
- package/dist/backend/routing/routing.controller.d.ts +3 -0
- package/dist/backend/routing/routing.controller.js +12 -0
- package/dist/backend/routing/routing.controller.js.map +1 -1
- package/dist/backend/routing/routing.module.js +4 -1
- package/dist/backend/routing/routing.module.js.map +1 -1
- package/dist/index.js +2 -2
- package/package.json +1 -1
- package/public/assets/index-DJ93dqEi.css +1 -0
- package/public/assets/index-G6Zs0LCC.js +7 -0
- package/public/index.html +2 -2
- package/public/assets/index-Bt4R8p73.css +0 -1
- package/public/assets/index-Bv67f5D9.js +0 -7
|
@@ -25,6 +25,7 @@ const rename_agent_dto_1 = require("../../common/dto/rename-agent.dto");
|
|
|
25
25
|
const user_cache_interceptor_1 = require("../../common/interceptors/user-cache.interceptor");
|
|
26
26
|
const cache_constants_1 = require("../../common/constants/cache.constants");
|
|
27
27
|
const local_mode_constants_1 = require("../../common/constants/local-mode.constants");
|
|
28
|
+
const product_telemetry_1 = require("../../common/utils/product-telemetry");
|
|
28
29
|
let AgentsController = class AgentsController {
|
|
29
30
|
timeseries;
|
|
30
31
|
aggregation;
|
|
@@ -46,6 +47,7 @@ let AgentsController = class AgentsController {
|
|
|
46
47
|
agentName: body.name,
|
|
47
48
|
email: user.email,
|
|
48
49
|
});
|
|
50
|
+
(0, product_telemetry_1.trackCloudEvent)('agent_created', user.id, { agent_name: body.name });
|
|
49
51
|
return { agent: { id: result.agentId, name: body.name }, apiKey: result.apiKey };
|
|
50
52
|
}
|
|
51
53
|
async getAgentKey(user, agentName) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents.controller.js","sourceRoot":"","sources":["../../../src/analytics/controllers/agents.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwH;AACxH,yDAAiD;AACjD,2CAA+C;AAC/C,uFAAkF;AAClF,yEAAqE;AACrE,yEAA6E;AAC7E,8EAAgE;AAEhE,wEAAmE;AACnE,wEAAmE;AACnE,6FAAwF;AACxF,4EAAgF;AAChF,sFAA8E;
|
|
1
|
+
{"version":3,"file":"agents.controller.js","sourceRoot":"","sources":["../../../src/analytics/controllers/agents.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwH;AACxH,yDAAiD;AACjD,2CAA+C;AAC/C,uFAAkF;AAClF,yEAAqE;AACrE,yEAA6E;AAC7E,8EAAgE;AAEhE,wEAAmE;AACnE,wEAAmE;AACnE,6FAAwF;AACxF,4EAAgF;AAChF,sFAA8E;AAC9E,4EAAuE;AAGhE,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAER;IACA;IACA;IACA;IAJnB,YACmB,UAAoC,EACpC,WAA+B,EAC/B,eAAuC,EACvC,MAAqB;QAHrB,eAAU,GAAV,UAAU,CAA0B;QACpC,gBAAW,GAAX,WAAW,CAAoB;QAC/B,oBAAe,GAAf,eAAe,CAAwB;QACvC,WAAM,GAAN,MAAM,CAAe;IACrC,CAAC;IAKE,AAAN,KAAK,CAAC,SAAS,CAAgB,IAAc;QAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3D,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAGK,AAAN,KAAK,CAAC,WAAW,CAAgB,IAAc,EAAU,IAAoB;QAC3E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;YACrD,UAAU,EAAE,IAAI,CAAC,EAAE;YACnB,SAAS,EAAE,IAAI,CAAC,IAAI;YACpB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;QACH,IAAA,mCAAe,EAAC,eAAe,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACrE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IACnF,CAAC;IAGK,AAAN,KAAK,CAAC,WAAW,CAAgB,IAAc,EAAsB,SAAiB;QACpF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAC9E,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAS,wBAAwB,EAAE,EAAE,CAAC,CAAC;QAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAS,eAAe,CAAC,KAAK,OAAO,CAAC;QACrE,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,IAAA,sCAAe,GAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACxD,OAAO;YACL,GAAG,OAAO;YACV,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9D,CAAC;IACJ,CAAC;IAGK,AAAN,KAAK,CAAC,cAAc,CAAgB,IAAc,EAAsB,SAAiB;QACvF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QACxE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IACnC,CAAC;IAGK,AAAN,KAAK,CAAC,WAAW,CACA,IAAc,EACT,SAAiB,EAC7B,IAAoB;QAE5B,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5C,CAAC;IAGK,AAAN,KAAK,CAAC,WAAW,CAAgB,IAAc,EAAsB,SAAiB;QACpF,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAS,eAAe,CAAC,KAAK,OAAO,EAAE,CAAC;YACzD,MAAM,IAAI,2BAAkB,CAAC,oCAAoC,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QACvD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;CACF,CAAA;AAhEY,4CAAgB;AAWrB;IAHL,IAAA,YAAG,EAAC,QAAQ,CAAC;IACb,IAAA,wBAAe,EAAC,6CAAoB,CAAC;IACrC,IAAA,wBAAQ,EAAC,wCAAsB,CAAC;IAChB,WAAA,IAAA,oCAAW,GAAE,CAAA;;;;iDAG7B;AAGK;IADL,IAAA,aAAI,EAAC,QAAQ,CAAC;IACI,WAAA,IAAA,oCAAW,GAAE,CAAA;IAAkB,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAO,iCAAc;;mDAQ5E;AAGK;IADL,IAAA,YAAG,EAAC,uBAAuB,CAAC;IACV,WAAA,IAAA,oCAAW,GAAE,CAAA;IAAkB,WAAA,IAAA,cAAK,EAAC,WAAW,CAAC,CAAA;;;;mDAUnE;AAGK;IADL,IAAA,aAAI,EAAC,8BAA8B,CAAC;IACf,WAAA,IAAA,oCAAW,GAAE,CAAA;IAAkB,WAAA,IAAA,cAAK,EAAC,WAAW,CAAC,CAAA;;;;sDAGtE;AAGK;IADL,IAAA,cAAK,EAAC,mBAAmB,CAAC;IAExB,WAAA,IAAA,oCAAW,GAAE,CAAA;IACb,WAAA,IAAA,cAAK,EAAC,WAAW,CAAC,CAAA;IAClB,WAAA,IAAA,aAAI,GAAE,CAAA;;qDAAO,iCAAc;;mDAI7B;AAGK;IADL,IAAA,eAAM,EAAC,mBAAmB,CAAC;IACT,WAAA,IAAA,oCAAW,GAAE,CAAA;IAAkB,WAAA,IAAA,cAAK,EAAC,WAAW,CAAC,CAAA;;;;mDAMnE;2BA/DU,gBAAgB;IAD5B,IAAA,mBAAU,EAAC,QAAQ,CAAC;qCAGY,qDAAwB;QACvB,wCAAkB;QACd,wCAAsB;QAC/B,sBAAa;GAL7B,gBAAgB,CAgE5B"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.computePeriodBoundaries = computePeriodBoundaries;
|
|
4
|
+
function computePeriodBoundaries(period) {
|
|
5
|
+
const now = new Date();
|
|
6
|
+
let start;
|
|
7
|
+
switch (period) {
|
|
8
|
+
case 'hour':
|
|
9
|
+
start = new Date(Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate(), now.getUTCHours() - 1));
|
|
10
|
+
break;
|
|
11
|
+
case 'day':
|
|
12
|
+
start = new Date(Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate()));
|
|
13
|
+
break;
|
|
14
|
+
case 'week': {
|
|
15
|
+
const dayOfWeek = now.getUTCDay();
|
|
16
|
+
const monday = now.getUTCDate() - ((dayOfWeek + 6) % 7);
|
|
17
|
+
start = new Date(Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), monday));
|
|
18
|
+
break;
|
|
19
|
+
}
|
|
20
|
+
case 'month':
|
|
21
|
+
start = new Date(Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), 1));
|
|
22
|
+
break;
|
|
23
|
+
default:
|
|
24
|
+
start = new Date(Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate(), now.getUTCHours() - 1));
|
|
25
|
+
}
|
|
26
|
+
const end = new Date(now.getTime());
|
|
27
|
+
const fmt = (d) => d.toISOString().replace('T', ' ').replace('Z', '').slice(0, 19);
|
|
28
|
+
return { periodStart: fmt(start), periodEnd: fmt(end) };
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=period.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"period.util.js","sourceRoot":"","sources":["../../../src/common/utils/period.util.ts"],"names":[],"mappings":";;AAKA,0DA4BC;AA5BD,SAAgB,uBAAuB,CAAC,MAAc;IACpD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,IAAI,KAAW,CAAC;IAEhB,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM;YACT,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YAC7G,MAAM;QACR,KAAK,KAAK;YACR,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YACtF,MAAM;QACR,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACxD,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;YAC5E,MAAM;QACR,CAAC;QACD,KAAK,OAAO;YACV,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YACvE,MAAM;QACR;YACE,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACjH,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,CAAC,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEzF,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;AAC1D,CAAC"}
|
|
@@ -45,6 +45,7 @@ const _1771800100000_SeedQualityScores_1 = require("./migrations/1771800100000-S
|
|
|
45
45
|
const _1771900000000_EncryptApiKeys_1 = require("./migrations/1771900000000-EncryptApiKeys");
|
|
46
46
|
const _1772000000000_MakeApiKeyNullable_1 = require("./migrations/1772000000000-MakeApiKeyNullable");
|
|
47
47
|
const _1772100000000_AddRoutingTier_1 = require("./migrations/1772100000000-AddRoutingTier");
|
|
48
|
+
const _1772200000000_AddLimitAction_1 = require("./migrations/1772200000000-AddLimitAction");
|
|
48
49
|
const entities = [
|
|
49
50
|
agent_message_entity_1.AgentMessage, llm_call_entity_1.LlmCall, tool_execution_entity_1.ToolExecution, security_event_entity_1.SecurityEvent, model_pricing_entity_1.ModelPricing,
|
|
50
51
|
model_pricing_history_entity_1.ModelPricingHistory, unresolved_model_entity_1.UnresolvedModel,
|
|
@@ -67,6 +68,7 @@ const migrations = [
|
|
|
67
68
|
_1771900000000_EncryptApiKeys_1.EncryptApiKeys1771900000000,
|
|
68
69
|
_1772000000000_MakeApiKeyNullable_1.MakeApiKeyNullable1772000000000,
|
|
69
70
|
_1772100000000_AddRoutingTier_1.AddRoutingTier1772100000000,
|
|
71
|
+
_1772200000000_AddLimitAction_1.AddLimitAction1772200000000,
|
|
70
72
|
];
|
|
71
73
|
const isLocalMode = process.env['MANIFEST_MODE'] === 'local';
|
|
72
74
|
function buildModeServices() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.module.js","sourceRoot":"","sources":["../../src/database/database.module.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"database.module.js","sourceRoot":"","sources":["../../src/database/database.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,7 @@ const hash_util_1 = require("../common/utils/hash.util");
|
|
|
28
28
|
const model_pricing_cache_service_1 = require("../model-prices/model-pricing-cache.service");
|
|
29
29
|
const pricing_sync_service_1 = require("./pricing-sync.service");
|
|
30
30
|
const local_mode_constants_1 = require("../common/constants/local-mode.constants");
|
|
31
|
+
const product_telemetry_1 = require("../common/utils/product-telemetry");
|
|
31
32
|
let LocalBootstrapService = LocalBootstrapService_1 = class LocalBootstrapService {
|
|
32
33
|
tenantRepo;
|
|
33
34
|
agentRepo;
|
|
@@ -71,6 +72,7 @@ let LocalBootstrapService = LocalBootstrapService_1 = class LocalBootstrapServic
|
|
|
71
72
|
is_active: true,
|
|
72
73
|
tenant_id: local_mode_constants_1.LOCAL_TENANT_ID,
|
|
73
74
|
});
|
|
75
|
+
(0, product_telemetry_1.trackEvent)('agent_created', { agent_name: local_mode_constants_1.LOCAL_AGENT_NAME });
|
|
74
76
|
const apiKey = this.readApiKeyFromConfig();
|
|
75
77
|
if (apiKey) {
|
|
76
78
|
await this.registerApiKey(apiKey);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-bootstrap.service.js","sourceRoot":"","sources":["../../src/database/local-bootstrap.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAkE;AAClE,6CAAmD;AACnD,qCAAqC;AACrC,2BAA8C;AAC9C,+BAA4B;AAC5B,2BAA6B;AAC7B,6DAAmD;AACnD,2DAAiD;AACjD,2EAA+D;AAC/D,2EAAgE;AAChE,yDAA8D;AAC9D,6FAAuF;AACvF,iEAA4D;AAC5D,mFAMkD;
|
|
1
|
+
{"version":3,"file":"local-bootstrap.service.js","sourceRoot":"","sources":["../../src/database/local-bootstrap.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AddLimitAction1772200000000 = void 0;
|
|
4
|
+
class AddLimitAction1772200000000 {
|
|
5
|
+
name = 'AddLimitAction1772200000000';
|
|
6
|
+
async up(queryRunner) {
|
|
7
|
+
const result = await queryRunner.query(`SELECT 1 FROM information_schema.columns WHERE table_name = 'notification_rules' AND column_name = 'action'`);
|
|
8
|
+
if (result.length === 0) {
|
|
9
|
+
await queryRunner.query(`ALTER TABLE "notification_rules" ADD COLUMN "action" character varying NOT NULL DEFAULT 'notify'`);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
async down(queryRunner) {
|
|
13
|
+
await queryRunner.query(`ALTER TABLE "notification_rules" DROP COLUMN IF EXISTS "action"`);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.AddLimitAction1772200000000 = AddLimitAction1772200000000;
|
|
17
|
+
//# sourceMappingURL=1772200000000-AddLimitAction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1772200000000-AddLimitAction.js","sourceRoot":"","sources":["../../../src/database/migrations/1772200000000-AddLimitAction.ts"],"names":[],"mappings":";;;AAEA,MAAa,2BAA2B;IACtC,IAAI,GAAG,6BAA6B,CAAC;IAErC,KAAK,CAAC,EAAE,CAAC,WAAwB;QAC/B,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,KAAK,CACpC,6GAA6G,CAC9G,CAAC;QACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,WAAW,CAAC,KAAK,CACrB,kGAAkG,CACnG,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAwB;QACjC,MAAM,WAAW,CAAC,KAAK,CACrB,iEAAiE,CAClE,CAAC;IACJ,CAAC;CACF;AAnBD,kEAmBC"}
|
|
@@ -21,6 +21,7 @@ let NotificationRule = class NotificationRule {
|
|
|
21
21
|
metric_type;
|
|
22
22
|
threshold;
|
|
23
23
|
period;
|
|
24
|
+
action;
|
|
24
25
|
is_active;
|
|
25
26
|
created_at;
|
|
26
27
|
updated_at;
|
|
@@ -58,6 +59,10 @@ __decorate([
|
|
|
58
59
|
(0, typeorm_1.Column)('varchar'),
|
|
59
60
|
__metadata("design:type", String)
|
|
60
61
|
], NotificationRule.prototype, "period", void 0);
|
|
62
|
+
__decorate([
|
|
63
|
+
(0, typeorm_1.Column)('varchar', { default: 'notify' }),
|
|
64
|
+
__metadata("design:type", String)
|
|
65
|
+
], NotificationRule.prototype, "action", void 0);
|
|
61
66
|
__decorate([
|
|
62
67
|
(0, typeorm_1.Column)('boolean', { default: true }),
|
|
63
68
|
__metadata("design:type", Boolean)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification-rule.entity.js","sourceRoot":"","sources":["../../src/entities/notification-rule.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAKiB;AACjB,6DAA8E;AAIvE,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAE3B,EAAE,CAAU;IAGZ,SAAS,CAAU;IAGnB,QAAQ,CAAU;IAGlB,UAAU,CAAU;IAGpB,OAAO,CAAU;IAGjB,WAAW,CAAqB;IAGhC,SAAS,CAAU;IAGnB,MAAM,CAAqC;IAG3C,SAAS,CAAW;IAGpB,UAAU,CAAU;IAGpB,UAAU,CAAU;CACrB,CAAA;
|
|
1
|
+
{"version":3,"file":"notification-rule.entity.js","sourceRoot":"","sources":["../../src/entities/notification-rule.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAKiB;AACjB,6DAA8E;AAIvE,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAE3B,EAAE,CAAU;IAGZ,SAAS,CAAU;IAGnB,QAAQ,CAAU;IAGlB,UAAU,CAAU;IAGpB,OAAO,CAAU;IAGjB,WAAW,CAAqB;IAGhC,SAAS,CAAU;IAGnB,MAAM,CAAqC;IAG3C,MAAM,CAAsB;IAG5B,SAAS,CAAW;IAGpB,UAAU,CAAU;IAGpB,UAAU,CAAU;CACrB,CAAA;AApCY,4CAAgB;AAE3B;IADC,IAAA,uBAAa,EAAC,SAAS,CAAC;;4CACb;AAGZ;IADC,IAAA,gBAAM,EAAC,SAAS,CAAC;;mDACC;AAGnB;IADC,IAAA,gBAAM,EAAC,SAAS,CAAC;;kDACA;AAGlB;IADC,IAAA,gBAAM,EAAC,SAAS,CAAC;;oDACE;AAGpB;IADC,IAAA,gBAAM,EAAC,SAAS,CAAC;;iDACD;AAGjB;IADC,IAAA,gBAAM,EAAC,SAAS,CAAC;;qDACc;AAGhC;IADC,IAAA,gBAAM,EAAC,SAAS,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;;mDAC5B;AAGnB;IADC,IAAA,gBAAM,EAAC,SAAS,CAAC;;gDACyB;AAG3C;IADC,IAAA,gBAAM,EAAC,SAAS,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;;gDACb;AAG5B;IADC,IAAA,gBAAM,EAAC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;mDACjB;AAGpB;IADC,IAAA,gBAAM,EAAC,IAAA,2BAAa,GAAE,EAAE,EAAE,OAAO,EAAE,IAAA,8BAAgB,GAAE,EAAE,CAAC;;oDACrC;AAGpB;IADC,IAAA,gBAAM,EAAC,IAAA,2BAAa,GAAE,EAAE,EAAE,OAAO,EAAE,IAAA,8BAAgB,GAAE,EAAE,CAAC;;oDACrC;2BAnCT,gBAAgB;IAF5B,IAAA,gBAAM,EAAC,oBAAoB,CAAC;IAC5B,IAAA,eAAK,EAAC,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;GACpB,gBAAgB,CAoC5B"}
|
|
@@ -3,10 +3,12 @@ export declare class CreateNotificationRuleDto {
|
|
|
3
3
|
metric_type: 'tokens' | 'cost';
|
|
4
4
|
threshold: number;
|
|
5
5
|
period: 'hour' | 'day' | 'week' | 'month';
|
|
6
|
+
action?: 'notify' | 'block';
|
|
6
7
|
}
|
|
7
8
|
export declare class UpdateNotificationRuleDto {
|
|
8
9
|
metric_type?: 'tokens' | 'cost';
|
|
9
10
|
threshold?: number;
|
|
10
11
|
period?: 'hour' | 'day' | 'week' | 'month';
|
|
11
12
|
is_active?: boolean;
|
|
13
|
+
action?: 'notify' | 'block';
|
|
12
14
|
}
|
|
@@ -17,6 +17,7 @@ class CreateNotificationRuleDto {
|
|
|
17
17
|
metric_type;
|
|
18
18
|
threshold;
|
|
19
19
|
period;
|
|
20
|
+
action;
|
|
20
21
|
}
|
|
21
22
|
exports.CreateNotificationRuleDto = CreateNotificationRuleDto;
|
|
22
23
|
__decorate([
|
|
@@ -29,7 +30,7 @@ __decorate([
|
|
|
29
30
|
], CreateNotificationRuleDto.prototype, "metric_type", void 0);
|
|
30
31
|
__decorate([
|
|
31
32
|
(0, class_validator_1.IsNumber)(),
|
|
32
|
-
(0, class_validator_1.Min)(
|
|
33
|
+
(0, class_validator_1.Min)(1),
|
|
33
34
|
(0, class_transformer_1.Type)(() => Number),
|
|
34
35
|
__metadata("design:type", Number)
|
|
35
36
|
], CreateNotificationRuleDto.prototype, "threshold", void 0);
|
|
@@ -37,11 +38,17 @@ __decorate([
|
|
|
37
38
|
(0, class_validator_1.IsIn)(['hour', 'day', 'week', 'month']),
|
|
38
39
|
__metadata("design:type", String)
|
|
39
40
|
], CreateNotificationRuleDto.prototype, "period", void 0);
|
|
41
|
+
__decorate([
|
|
42
|
+
(0, class_validator_1.IsOptional)(),
|
|
43
|
+
(0, class_validator_1.IsIn)(['notify', 'block']),
|
|
44
|
+
__metadata("design:type", String)
|
|
45
|
+
], CreateNotificationRuleDto.prototype, "action", void 0);
|
|
40
46
|
class UpdateNotificationRuleDto {
|
|
41
47
|
metric_type;
|
|
42
48
|
threshold;
|
|
43
49
|
period;
|
|
44
50
|
is_active;
|
|
51
|
+
action;
|
|
45
52
|
}
|
|
46
53
|
exports.UpdateNotificationRuleDto = UpdateNotificationRuleDto;
|
|
47
54
|
__decorate([
|
|
@@ -52,7 +59,7 @@ __decorate([
|
|
|
52
59
|
__decorate([
|
|
53
60
|
(0, class_validator_1.IsOptional)(),
|
|
54
61
|
(0, class_validator_1.IsNumber)(),
|
|
55
|
-
(0, class_validator_1.Min)(
|
|
62
|
+
(0, class_validator_1.Min)(1),
|
|
56
63
|
(0, class_transformer_1.Type)(() => Number),
|
|
57
64
|
__metadata("design:type", Number)
|
|
58
65
|
], UpdateNotificationRuleDto.prototype, "threshold", void 0);
|
|
@@ -67,4 +74,9 @@ __decorate([
|
|
|
67
74
|
(0, class_transformer_1.Type)(() => Boolean),
|
|
68
75
|
__metadata("design:type", Boolean)
|
|
69
76
|
], UpdateNotificationRuleDto.prototype, "is_active", void 0);
|
|
77
|
+
__decorate([
|
|
78
|
+
(0, class_validator_1.IsOptional)(),
|
|
79
|
+
(0, class_validator_1.IsIn)(['notify', 'block']),
|
|
80
|
+
__metadata("design:type", String)
|
|
81
|
+
], UpdateNotificationRuleDto.prototype, "action", void 0);
|
|
70
82
|
//# sourceMappingURL=notification-rule.dto.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification-rule.dto.js","sourceRoot":"","sources":["../../../src/notifications/dto/notification-rule.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAuF;AACvF,yDAAyC;AAEzC,MAAa,yBAAyB;IAEpC,UAAU,CAAU;IAGpB,WAAW,CAAqB;IAKhC,SAAS,CAAU;IAGnB,MAAM,CAAqC;
|
|
1
|
+
{"version":3,"file":"notification-rule.dto.js","sourceRoot":"","sources":["../../../src/notifications/dto/notification-rule.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAuF;AACvF,yDAAyC;AAEzC,MAAa,yBAAyB;IAEpC,UAAU,CAAU;IAGpB,WAAW,CAAqB;IAKhC,SAAS,CAAU;IAGnB,MAAM,CAAqC;IAI3C,MAAM,CAAsB;CAC7B;AAlBD,8DAkBC;AAhBC;IADC,IAAA,0BAAQ,GAAE;;6DACS;AAGpB;IADC,IAAA,sBAAI,EAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;;8DACO;AAKhC;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,qBAAG,EAAC,CAAC,CAAC;IACN,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;4DACA;AAGnB;IADC,IAAA,sBAAI,EAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;;yDACI;AAI3C;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,sBAAI,EAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;;yDACE;AAG9B,MAAa,yBAAyB;IAGpC,WAAW,CAAqB;IAMhC,SAAS,CAAU;IAInB,MAAM,CAAqC;IAK3C,SAAS,CAAW;IAIpB,MAAM,CAAsB;CAC7B;AAvBD,8DAuBC;AApBC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,sBAAI,EAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;;8DACO;AAMhC;IAJC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,qBAAG,EAAC,CAAC,CAAC;IACN,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;4DACA;AAInB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,sBAAI,EAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;;yDACI;AAK3C;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,GAAE;IACX,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC;;4DACA;AAIpB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,sBAAI,EAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;;yDACE"}
|
|
@@ -2,14 +2,16 @@ import { AuthUser } from '../auth/auth.instance';
|
|
|
2
2
|
import { NotificationRulesService } from './services/notification-rules.service';
|
|
3
3
|
import { EmailProviderConfigService } from './services/email-provider-config.service';
|
|
4
4
|
import { NotificationCronService } from './services/notification-cron.service';
|
|
5
|
+
import { LimitCheckService } from './services/limit-check.service';
|
|
5
6
|
import { CreateNotificationRuleDto, UpdateNotificationRuleDto } from './dto/notification-rule.dto';
|
|
6
7
|
import { SetEmailProviderDto, TestEmailProviderDto } from './dto/set-email-provider.dto';
|
|
7
8
|
export declare class NotificationsController {
|
|
8
9
|
private readonly rulesService;
|
|
9
10
|
private readonly emailProviderConfigService;
|
|
10
11
|
private readonly cronService;
|
|
12
|
+
private readonly limitCheck;
|
|
11
13
|
private readonly logger;
|
|
12
|
-
constructor(rulesService: NotificationRulesService, emailProviderConfigService: EmailProviderConfigService, cronService: NotificationCronService);
|
|
14
|
+
constructor(rulesService: NotificationRulesService, emailProviderConfigService: EmailProviderConfigService, cronService: NotificationCronService, limitCheck: LimitCheckService);
|
|
13
15
|
getEmailProvider(user: AuthUser): Promise<import("./services/email-provider-config.service").EmailProviderPublicConfig | {
|
|
14
16
|
configured: boolean;
|
|
15
17
|
}>;
|
|
@@ -19,17 +19,20 @@ const current_user_decorator_1 = require("../auth/current-user.decorator");
|
|
|
19
19
|
const notification_rules_service_1 = require("./services/notification-rules.service");
|
|
20
20
|
const email_provider_config_service_1 = require("./services/email-provider-config.service");
|
|
21
21
|
const notification_cron_service_1 = require("./services/notification-cron.service");
|
|
22
|
+
const limit_check_service_1 = require("./services/limit-check.service");
|
|
22
23
|
const notification_rule_dto_1 = require("./dto/notification-rule.dto");
|
|
23
24
|
const set_email_provider_dto_1 = require("./dto/set-email-provider.dto");
|
|
24
25
|
let NotificationsController = NotificationsController_1 = class NotificationsController {
|
|
25
26
|
rulesService;
|
|
26
27
|
emailProviderConfigService;
|
|
27
28
|
cronService;
|
|
29
|
+
limitCheck;
|
|
28
30
|
logger = new common_1.Logger(NotificationsController_1.name);
|
|
29
|
-
constructor(rulesService, emailProviderConfigService, cronService) {
|
|
31
|
+
constructor(rulesService, emailProviderConfigService, cronService, limitCheck) {
|
|
30
32
|
this.rulesService = rulesService;
|
|
31
33
|
this.emailProviderConfigService = emailProviderConfigService;
|
|
32
34
|
this.cronService = cronService;
|
|
35
|
+
this.limitCheck = limitCheck;
|
|
33
36
|
}
|
|
34
37
|
async getEmailProvider(user) {
|
|
35
38
|
const config = await this.emailProviderConfigService.getConfig(user.id);
|
|
@@ -65,13 +68,23 @@ let NotificationsController = NotificationsController_1 = class NotificationsCon
|
|
|
65
68
|
return this.rulesService.listRules(user.id, agentName);
|
|
66
69
|
}
|
|
67
70
|
async createRule(dto, user) {
|
|
68
|
-
|
|
71
|
+
const rule = await this.rulesService.createRule(user.id, dto);
|
|
72
|
+
if (rule.action === 'block') {
|
|
73
|
+
this.limitCheck.invalidateCache(rule.tenant_id, rule.agent_name);
|
|
74
|
+
}
|
|
75
|
+
return rule;
|
|
69
76
|
}
|
|
70
77
|
async updateRule(id, dto, user) {
|
|
71
|
-
|
|
78
|
+
const rule = await this.rulesService.updateRule(user.id, id, dto);
|
|
79
|
+
this.limitCheck.invalidateCache(rule.tenant_id, rule.agent_name);
|
|
80
|
+
return rule;
|
|
72
81
|
}
|
|
73
82
|
async deleteRule(id, user) {
|
|
83
|
+
const rule = await this.rulesService.getRule(id);
|
|
74
84
|
await this.rulesService.deleteRule(user.id, id);
|
|
85
|
+
if (rule) {
|
|
86
|
+
this.limitCheck.invalidateCache(rule.tenant_id, rule.agent_name);
|
|
87
|
+
}
|
|
75
88
|
return { deleted: true };
|
|
76
89
|
}
|
|
77
90
|
};
|
|
@@ -172,6 +185,7 @@ exports.NotificationsController = NotificationsController = NotificationsControl
|
|
|
172
185
|
(0, common_1.Controller)('api/v1/notifications'),
|
|
173
186
|
__metadata("design:paramtypes", [notification_rules_service_1.NotificationRulesService,
|
|
174
187
|
email_provider_config_service_1.EmailProviderConfigService,
|
|
175
|
-
notification_cron_service_1.NotificationCronService
|
|
188
|
+
notification_cron_service_1.NotificationCronService,
|
|
189
|
+
limit_check_service_1.LimitCheckService])
|
|
176
190
|
], NotificationsController);
|
|
177
191
|
//# sourceMappingURL=notifications.controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifications.controller.js","sourceRoot":"","sources":["../../src/notifications/notifications.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAkG;AAClG,2EAA6D;AAE7D,sFAAiF;AACjF,4FAAsF;AACtF,oFAA+E;AAC/E,uEAAmG;AACnG,yEAAyF;AAGlF,IAAM,uBAAuB,+BAA7B,MAAM,uBAAuB;IAIf;IACA;IACA;
|
|
1
|
+
{"version":3,"file":"notifications.controller.js","sourceRoot":"","sources":["../../src/notifications/notifications.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAkG;AAClG,2EAA6D;AAE7D,sFAAiF;AACjF,4FAAsF;AACtF,oFAA+E;AAC/E,wEAAmE;AACnE,uEAAmG;AACnG,yEAAyF;AAGlF,IAAM,uBAAuB,+BAA7B,MAAM,uBAAuB;IAIf;IACA;IACA;IACA;IANF,MAAM,GAAG,IAAI,eAAM,CAAC,yBAAuB,CAAC,IAAI,CAAC,CAAC;IAEnE,YACmB,YAAsC,EACtC,0BAAsD,EACtD,WAAoC,EACpC,UAA6B;QAH7B,iBAAY,GAAZ,YAAY,CAA0B;QACtC,+BAA0B,GAA1B,0BAA0B,CAA4B;QACtD,gBAAW,GAAX,WAAW,CAAyB;QACpC,eAAU,GAAV,UAAU,CAAmB;IAC7C,CAAC;IAGE,AAAN,KAAK,CAAC,gBAAgB,CAAgB,IAAc;QAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxE,OAAO,MAAM,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACzC,CAAC;IAGK,AAAN,KAAK,CAAC,iBAAiB,CACN,IAAc,EACrB,IAA0B;QAElC,OAAO,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAC/C,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EACrE,IAAI,CAAC,EAAE,CACR,CAAC;IACJ,CAAC;IAGK,AAAN,KAAK,CAAC,sBAAsB,CACX,IAAc,EACrB,IAAoB;QAE5B,OAAO,IAAI,CAAC,0BAA0B,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IAGK,AAAN,KAAK,CAAC,gBAAgB,CACL,IAAc,EACrB,IAAyB;QAEjC,OAAO,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IAGK,AAAN,KAAK,CAAC,mBAAmB,CAAgB,IAAc;QACrD,MAAM,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAGK,AAAN,KAAK,CAAC,oBAAoB,CAAgB,IAAc;QACtD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClF,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC;IAGK,AAAN,KAAK,CAAC,oBAAoB,CACT,IAAc,EACrB,IAAuB;QAE/B,MAAM,IAAI,CAAC,0BAA0B,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAChF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IAGK,AAAN,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;QAC3D,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,SAAS,4BAA4B,EAAE,CAAC;IAC1E,CAAC;IAGK,AAAN,KAAK,CAAC,SAAS,CACQ,SAAiB,EACvB,IAAc;QAE7B,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IACzD,CAAC;IAGK,AAAN,KAAK,CAAC,UAAU,CACN,GAA8B,EACvB,IAAc;QAE7B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAGK,AAAN,KAAK,CAAC,UAAU,CACD,EAAU,EACf,GAA8B,EACvB,IAAc;QAE7B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QAClE,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IAGK,AAAN,KAAK,CAAC,UAAU,CACD,EAAU,EACR,IAAc;QAE7B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAChD,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;CACF,CAAA;AAlHY,0DAAuB;AAW5B;IADL,IAAA,YAAG,EAAC,gBAAgB,CAAC;IACE,WAAA,IAAA,oCAAW,GAAE,CAAA;;;;+DAGpC;AAGK;IADL,IAAA,aAAI,EAAC,qBAAqB,CAAC;IAEzB,WAAA,IAAA,oCAAW,GAAE,CAAA;IACb,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAO,6CAAoB;;gEAMnC;AAGK;IADL,IAAA,aAAI,EAAC,2BAA2B,CAAC;IAE/B,WAAA,IAAA,oCAAW,GAAE,CAAA;IACb,WAAA,IAAA,aAAI,GAAE,CAAA;;;;qEAGR;AAGK;IADL,IAAA,aAAI,EAAC,gBAAgB,CAAC;IAEpB,WAAA,IAAA,oCAAW,GAAE,CAAA;IACb,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAO,4CAAmB;;+DAGlC;AAGK;IADL,IAAA,eAAM,EAAC,gBAAgB,CAAC;IACE,WAAA,IAAA,oCAAW,GAAE,CAAA;;;;kEAGvC;AAGK;IADL,IAAA,YAAG,EAAC,oBAAoB,CAAC;IACE,WAAA,IAAA,oCAAW,GAAE,CAAA;;;;mEAGxC;AAGK;IADL,IAAA,aAAI,EAAC,oBAAoB,CAAC;IAExB,WAAA,IAAA,oCAAW,GAAE,CAAA;IACb,WAAA,IAAA,aAAI,GAAE,CAAA;;;;mEAIR;AAGK;IADL,IAAA,aAAI,EAAC,eAAe,CAAC;;;;2DAKrB;AAGK;IADL,IAAA,YAAG,GAAE;IAEH,WAAA,IAAA,cAAK,EAAC,YAAY,CAAC,CAAA;IACnB,WAAA,IAAA,oCAAW,GAAE,CAAA;;;;wDAGf;AAGK;IADL,IAAA,aAAI,GAAE;IAEJ,WAAA,IAAA,aAAI,GAAE,CAAA;IACN,WAAA,IAAA,oCAAW,GAAE,CAAA;;qCADD,iDAAyB;;yDAQvC;AAGK;IADL,IAAA,cAAK,EAAC,KAAK,CAAC;IAEV,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;IACX,WAAA,IAAA,aAAI,GAAE,CAAA;IACN,WAAA,IAAA,oCAAW,GAAE,CAAA;;6CADD,iDAAyB;;yDAMvC;AAGK;IADL,IAAA,eAAM,EAAC,KAAK,CAAC;IAEX,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;IACX,WAAA,IAAA,oCAAW,GAAE,CAAA;;;;yDAQf;kCAjHU,uBAAuB;IADnC,IAAA,mBAAU,EAAC,sBAAsB,CAAC;qCAKA,qDAAwB;QACV,0DAA0B;QACzC,mDAAuB;QACxB,uCAAiB;GAPrC,uBAAuB,CAkHnC"}
|
|
@@ -16,6 +16,7 @@ const notification_email_service_1 = require("./services/notification-email.serv
|
|
|
16
16
|
const email_config_service_1 = require("./services/email-config.service");
|
|
17
17
|
const notification_email_address_service_1 = require("./services/notification-email-address.service");
|
|
18
18
|
const email_provider_config_service_1 = require("./services/email-provider-config.service");
|
|
19
|
+
const limit_check_service_1 = require("./services/limit-check.service");
|
|
19
20
|
let NotificationsModule = class NotificationsModule {
|
|
20
21
|
};
|
|
21
22
|
exports.NotificationsModule = NotificationsModule;
|
|
@@ -29,7 +30,9 @@ exports.NotificationsModule = NotificationsModule = __decorate([
|
|
|
29
30
|
email_config_service_1.EmailConfigService,
|
|
30
31
|
notification_email_address_service_1.NotificationEmailAddressService,
|
|
31
32
|
email_provider_config_service_1.EmailProviderConfigService,
|
|
33
|
+
limit_check_service_1.LimitCheckService,
|
|
32
34
|
],
|
|
35
|
+
exports: [limit_check_service_1.LimitCheckService],
|
|
33
36
|
})
|
|
34
37
|
], NotificationsModule);
|
|
35
38
|
//# sourceMappingURL=notifications.module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifications.module.js","sourceRoot":"","sources":["../../src/notifications/notifications.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,yEAAqE;AACrE,uEAAkE;AAClE,sFAAiF;AACjF,oFAA+E;AAC/E,sFAAiF;AACjF,0EAAqE;AACrE,sGAAgG;AAChG,4FAAsF;
|
|
1
|
+
{"version":3,"file":"notifications.module.js","sourceRoot":"","sources":["../../src/notifications/notifications.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,yEAAqE;AACrE,uEAAkE;AAClE,sFAAiF;AACjF,oFAA+E;AAC/E,sFAAiF;AACjF,0EAAqE;AACrE,sGAAgG;AAChG,4FAAsF;AACtF,wEAAmE;AAe5D,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;CAAG,CAAA;AAAtB,kDAAmB;8BAAnB,mBAAmB;IAb/B,IAAA,eAAM,EAAC;QACN,WAAW,EAAE,CAAC,kDAAuB,EAAE,+CAAqB,CAAC;QAC7D,SAAS,EAAE;YACT,qDAAwB;YACxB,mDAAuB;YACvB,qDAAwB;YACxB,yCAAkB;YAClB,oEAA+B;YAC/B,0DAA0B;YAC1B,uCAAiB;SAClB;QACD,OAAO,EAAE,CAAC,uCAAiB,CAAC;KAC7B,CAAC;GACW,mBAAmB,CAAG"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { OnModuleInit, OnModuleDestroy } from '@nestjs/common';
|
|
2
|
+
import { DataSource } from 'typeorm';
|
|
3
|
+
import { NotificationRulesService } from './notification-rules.service';
|
|
4
|
+
import { NotificationEmailService } from './notification-email.service';
|
|
5
|
+
import { EmailProviderConfigService } from './email-provider-config.service';
|
|
6
|
+
import { IngestEventBusService } from '../../common/services/ingest-event-bus.service';
|
|
7
|
+
export interface LimitExceeded {
|
|
8
|
+
ruleId: string;
|
|
9
|
+
metricType: 'tokens' | 'cost';
|
|
10
|
+
threshold: number;
|
|
11
|
+
actual: number;
|
|
12
|
+
period: string;
|
|
13
|
+
}
|
|
14
|
+
export declare class LimitCheckService implements OnModuleInit, OnModuleDestroy {
|
|
15
|
+
private readonly ds;
|
|
16
|
+
private readonly rulesService;
|
|
17
|
+
private readonly emailService;
|
|
18
|
+
private readonly emailProviderConfig;
|
|
19
|
+
private readonly ingestBus;
|
|
20
|
+
private readonly logger;
|
|
21
|
+
private readonly dialect;
|
|
22
|
+
private readonly rulesCache;
|
|
23
|
+
private readonly consumptionCache;
|
|
24
|
+
private ingestSub?;
|
|
25
|
+
constructor(ds: DataSource, rulesService: NotificationRulesService, emailService: NotificationEmailService, emailProviderConfig: EmailProviderConfigService, ingestBus: IngestEventBusService);
|
|
26
|
+
onModuleInit(): void;
|
|
27
|
+
onModuleDestroy(): void;
|
|
28
|
+
private sql;
|
|
29
|
+
checkLimits(tenantId: string, agentName: string): Promise<LimitExceeded | null>;
|
|
30
|
+
invalidateCache(tenantId: string, agentName: string): void;
|
|
31
|
+
private notifyLimitExceeded;
|
|
32
|
+
private resolveUserEmail;
|
|
33
|
+
private getCachedRules;
|
|
34
|
+
private getCachedConsumption;
|
|
35
|
+
private evictExpired;
|
|
36
|
+
}
|