@spottoai/types-package 1.0.2-beta.21 → 1.0.2-beta.211
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/LICENSE +18 -40
- package/README.md +4 -13
- package/dist/accounts/accounts.d.ts +45 -3
- package/dist/accounts/accounts.d.ts.map +1 -1
- package/dist/accounts/index.d.ts +3 -0
- package/dist/accounts/index.d.ts.map +1 -1
- package/dist/accounts/index.js +3 -0
- package/dist/accounts/index.js.map +1 -1
- package/dist/accounts/readPermissions.d.ts +45 -0
- package/dist/accounts/readPermissions.d.ts.map +1 -0
- package/dist/accounts/readPermissions.js +70 -0
- package/dist/accounts/readPermissions.js.map +1 -0
- package/dist/accounts/validation.d.ts +24 -0
- package/dist/accounts/validation.d.ts.map +1 -0
- package/dist/accounts/validation.js +3 -0
- package/dist/accounts/validation.js.map +1 -0
- package/dist/accounts/writePermissions.d.ts +34 -0
- package/dist/accounts/writePermissions.d.ts.map +1 -0
- package/dist/accounts/writePermissions.js +37 -0
- package/dist/accounts/writePermissions.js.map +1 -0
- package/dist/ai/index.d.ts +975 -9
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +1 -1
- package/dist/ai/index.js.map +1 -1
- package/dist/azure/activityLogs.d.ts +65 -0
- package/dist/azure/activityLogs.d.ts.map +1 -0
- package/dist/azure/activityLogs.js +6 -0
- package/dist/azure/activityLogs.js.map +1 -0
- package/dist/azure/benefits.d.ts +137 -0
- package/dist/azure/benefits.d.ts.map +1 -0
- package/dist/azure/benefits.js +3 -0
- package/dist/azure/benefits.js.map +1 -0
- package/dist/azure/billingPlots.d.ts +249 -0
- package/dist/azure/billingPlots.d.ts.map +1 -0
- package/dist/azure/billingPlots.js +6 -0
- package/dist/azure/billingPlots.js.map +1 -0
- package/dist/azure/budgets.d.ts +4 -0
- package/dist/azure/budgets.d.ts.map +1 -1
- package/dist/azure/commitmentsPlanning.d.ts +159 -0
- package/dist/azure/commitmentsPlanning.d.ts.map +1 -0
- package/dist/azure/commitmentsPlanning.js +3 -0
- package/dist/azure/commitmentsPlanning.js.map +1 -0
- package/dist/azure/common.d.ts +34 -0
- package/dist/azure/common.d.ts.map +1 -1
- package/dist/azure/configs.d.ts +75 -2
- package/dist/azure/configs.d.ts.map +1 -1
- package/dist/azure/costEstimation.d.ts +78 -0
- package/dist/azure/costEstimation.d.ts.map +1 -0
- package/dist/azure/costEstimation.js +3 -0
- package/dist/azure/costEstimation.js.map +1 -0
- package/dist/azure/governance.d.ts +627 -0
- package/dist/azure/governance.d.ts.map +1 -0
- package/dist/azure/governance.js +12 -0
- package/dist/azure/governance.js.map +1 -0
- package/dist/azure/metrics.d.ts +75 -4
- package/dist/azure/metrics.d.ts.map +1 -1
- package/dist/azure/payloads.d.ts +22 -1
- package/dist/azure/payloads.d.ts.map +1 -1
- package/dist/azure/prices.d.ts +178 -1
- package/dist/azure/prices.d.ts.map +1 -1
- package/dist/azure/publicIpAddresses.d.ts +96 -0
- package/dist/azure/publicIpAddresses.d.ts.map +1 -0
- package/dist/azure/publicIpAddresses.js +6 -0
- package/dist/azure/publicIpAddresses.js.map +1 -0
- package/dist/azure/recommendationAudit.d.ts +113 -0
- package/dist/azure/recommendationAudit.d.ts.map +1 -0
- package/dist/azure/recommendationAudit.js +10 -0
- package/dist/azure/recommendationAudit.js.map +1 -0
- package/dist/azure/recommendationState.d.ts +92 -3
- package/dist/azure/recommendationState.d.ts.map +1 -1
- package/dist/azure/recommendations.d.ts +411 -6
- package/dist/azure/recommendations.d.ts.map +1 -1
- package/dist/azure/recommendations.js.map +1 -1
- package/dist/azure/relationships.d.ts +77 -0
- package/dist/azure/relationships.d.ts.map +1 -0
- package/dist/azure/relationships.js +3 -0
- package/dist/azure/relationships.js.map +1 -0
- package/dist/azure/reports.d.ts +248 -0
- package/dist/azure/reports.d.ts.map +1 -1
- package/dist/azure/reports.js +13 -0
- package/dist/azure/reports.js.map +1 -1
- package/dist/azure/resources.d.ts +80 -0
- package/dist/azure/resources.d.ts.map +1 -1
- package/dist/azure/reviewChecklist.d.ts +139 -0
- package/dist/azure/reviewChecklist.d.ts.map +1 -0
- package/dist/azure/reviewChecklist.js +3 -0
- package/dist/azure/reviewChecklist.js.map +1 -0
- package/dist/azure/security.d.ts +15 -1
- package/dist/azure/security.d.ts.map +1 -1
- package/dist/azure/serviceRetirement.d.ts +28 -0
- package/dist/azure/serviceRetirement.d.ts.map +1 -0
- package/dist/azure/serviceRetirement.js +3 -0
- package/dist/azure/serviceRetirement.js.map +1 -0
- package/dist/azure/serviceRetirementState.d.ts +22 -0
- package/dist/azure/serviceRetirementState.d.ts.map +1 -0
- package/dist/azure/serviceRetirementState.js +3 -0
- package/dist/azure/serviceRetirementState.js.map +1 -0
- package/dist/azure/storage-inventory.d.ts +241 -0
- package/dist/azure/storage-inventory.d.ts.map +1 -0
- package/dist/azure/storage-inventory.js +3 -0
- package/dist/azure/storage-inventory.js.map +1 -0
- package/dist/azure/subscriptions.d.ts +34 -13
- package/dist/azure/subscriptions.d.ts.map +1 -1
- package/dist/azure/views.d.ts +252 -3
- package/dist/azure/views.d.ts.map +1 -1
- package/dist/common/index.d.ts +1 -0
- package/dist/common/index.d.ts.map +1 -1
- package/dist/common/index.js +1 -0
- package/dist/common/index.js.map +1 -1
- package/dist/common/pagination.d.ts +3 -0
- package/dist/common/pagination.d.ts.map +1 -1
- package/dist/common/provider.d.ts +9 -0
- package/dist/common/provider.d.ts.map +1 -0
- package/dist/common/provider.js +9 -0
- package/dist/common/provider.js.map +1 -0
- package/dist/company/billingAccount.d.ts +30 -0
- package/dist/company/billingAccount.d.ts.map +1 -0
- package/dist/company/billingAccount.js +3 -0
- package/dist/company/billingAccount.js.map +1 -0
- package/dist/company/company.d.ts +32 -1
- package/dist/company/company.d.ts.map +1 -1
- package/dist/company/index.d.ts +1 -0
- package/dist/company/index.d.ts.map +1 -1
- package/dist/company/index.js +1 -0
- package/dist/company/index.js.map +1 -1
- package/dist/company/notification.d.ts +31 -1
- package/dist/company/notification.d.ts.map +1 -1
- package/dist/company/notification.js +24 -12
- package/dist/company/notification.js.map +1 -1
- package/dist/company/survey.d.ts +3 -0
- package/dist/company/survey.d.ts.map +1 -1
- package/dist/events/alertDefinitionRun.d.ts +23 -0
- package/dist/events/alertDefinitionRun.d.ts.map +1 -0
- package/dist/events/alertDefinitionRun.js +3 -0
- package/dist/events/alertDefinitionRun.js.map +1 -0
- package/dist/events/baseAlert.d.ts +130 -0
- package/dist/events/baseAlert.d.ts.map +1 -0
- package/dist/events/baseAlert.js +3 -0
- package/dist/events/baseAlert.js.map +1 -0
- package/dist/events/cost.d.ts +361 -0
- package/dist/events/cost.d.ts.map +1 -0
- package/dist/events/cost.js +3 -0
- package/dist/events/cost.js.map +1 -0
- package/dist/events/costAnomalies.d.ts +47 -0
- package/dist/events/costAnomalies.d.ts.map +1 -0
- package/dist/events/costAnomalies.js +3 -0
- package/dist/events/costAnomalies.js.map +1 -0
- package/dist/events/costViews.d.ts +23 -0
- package/dist/events/costViews.d.ts.map +1 -0
- package/dist/events/costViews.js +3 -0
- package/dist/events/costViews.js.map +1 -0
- package/dist/events/eventStatus.d.ts +67 -0
- package/dist/events/eventStatus.d.ts.map +1 -0
- package/dist/events/eventStatus.js +3 -0
- package/dist/events/eventStatus.js.map +1 -0
- package/dist/events/index.d.ts +7 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +23 -0
- package/dist/events/index.js.map +1 -0
- package/dist/feedbacks/feedback.d.ts +9 -0
- package/dist/feedbacks/feedback.d.ts.map +1 -1
- package/dist/identity/apikey.d.ts +67 -0
- package/dist/identity/apikey.d.ts.map +1 -0
- package/dist/identity/apikey.js +3 -0
- package/dist/identity/apikey.js.map +1 -0
- package/dist/identity/index.d.ts +2 -0
- package/dist/identity/index.d.ts.map +1 -0
- package/dist/identity/index.js +18 -0
- package/dist/identity/index.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -1
- package/dist/index.js.map +1 -1
- package/dist/integrations/halo.d.ts +76 -0
- package/dist/integrations/halo.d.ts.map +1 -0
- package/dist/integrations/halo.js +3 -0
- package/dist/integrations/halo.js.map +1 -0
- package/dist/integrations/index.d.ts +3 -0
- package/dist/integrations/index.d.ts.map +1 -0
- package/dist/integrations/index.js +19 -0
- package/dist/integrations/index.js.map +1 -0
- package/dist/integrations/integrationTickets.d.ts +67 -0
- package/dist/integrations/integrationTickets.d.ts.map +1 -0
- package/dist/integrations/integrationTickets.js +3 -0
- package/dist/integrations/integrationTickets.js.map +1 -0
- package/dist/scheduler/index.d.ts +2 -0
- package/dist/scheduler/index.d.ts.map +1 -0
- package/dist/scheduler/index.js +18 -0
- package/dist/scheduler/index.js.map +1 -0
- package/dist/scheduler/scheduler.d.ts +110 -0
- package/dist/scheduler/scheduler.d.ts.map +1 -0
- package/dist/scheduler/scheduler.js +3 -0
- package/dist/scheduler/scheduler.js.map +1 -0
- package/dist/tags/index.d.ts +2 -0
- package/dist/tags/index.d.ts.map +1 -0
- package/dist/tags/index.js +18 -0
- package/dist/tags/index.js.map +1 -0
- package/dist/tags/tags.d.ts +26 -0
- package/dist/tags/tags.d.ts.map +1 -0
- package/dist/tags/tags.js +10 -0
- package/dist/tags/tags.js.map +1 -0
- package/dist/unknown/services.d.ts +12 -0
- package/dist/unknown/services.d.ts.map +1 -0
- package/dist/unknown/services.js +3 -0
- package/dist/unknown/services.js.map +1 -0
- package/package.json +2 -2
|
@@ -1,35 +1,47 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getRecommendationsFlags = exports.removeArrayFlag = exports.addArrayFlag = exports.hasArrayFlag = exports.removeFlag = exports.addFlag = exports.hasFlag = exports.CLOUD_ACCOUNT_FLAGS = exports.USER_FLAGS = exports.RECOMMENDATION_FLAGS = void 0;
|
|
4
|
-
|
|
3
|
+
exports.getRecommendationsFlags = exports.removeArrayFlag = exports.addArrayFlag = exports.hasArrayFlag = exports.removeFlag = exports.addFlag = exports.hasFlag = exports.SHARING_FLAGS = exports.COST_ANOMALY_FLAGS = exports.CLOUD_ACCOUNT_FLAGS = exports.USER_FLAGS = exports.RECOMMENDATION_FLAGS = void 0;
|
|
4
|
+
/** Bitmask constants for resources */
|
|
5
5
|
exports.RECOMMENDATION_FLAGS = {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
/** 001 */
|
|
7
|
+
PRIORITIZED: 1,
|
|
8
|
+
/** 010 */
|
|
9
|
+
DISMISSED: 2,
|
|
10
|
+
/** 100 */
|
|
11
|
+
NEW: 4,
|
|
9
12
|
};
|
|
10
|
-
|
|
13
|
+
/** Bitmask constants for users */
|
|
11
14
|
exports.USER_FLAGS = {
|
|
12
|
-
|
|
15
|
+
/** 001 */
|
|
16
|
+
INVITE_ACCEPTED: 1,
|
|
13
17
|
};
|
|
14
|
-
|
|
18
|
+
/** Bitmask constants for cloud accounts */
|
|
15
19
|
exports.CLOUD_ACCOUNT_FLAGS = {
|
|
16
|
-
|
|
20
|
+
/** 001 */
|
|
21
|
+
SYNC_COMPLETED: 1,
|
|
17
22
|
};
|
|
18
|
-
|
|
23
|
+
exports.COST_ANOMALY_FLAGS = {
|
|
24
|
+
/** 001 */
|
|
25
|
+
DETECTED: 1,
|
|
26
|
+
};
|
|
27
|
+
exports.SHARING_FLAGS = {
|
|
28
|
+
SHARE_CREATED: 1,
|
|
29
|
+
};
|
|
30
|
+
/** Helper functions for bitmask operations */
|
|
19
31
|
const hasFlag = (value, flag) => (value & flag) !== 0;
|
|
20
32
|
exports.hasFlag = hasFlag;
|
|
21
33
|
const addFlag = (value, flag) => value | flag;
|
|
22
34
|
exports.addFlag = addFlag;
|
|
23
35
|
const removeFlag = (value, flag) => value & ~flag;
|
|
24
36
|
exports.removeFlag = removeFlag;
|
|
25
|
-
|
|
37
|
+
/** Array helper functions */
|
|
26
38
|
const hasArrayFlag = (array, flag) => array.includes(flag);
|
|
27
39
|
exports.hasArrayFlag = hasArrayFlag;
|
|
28
40
|
const addArrayFlag = (array, flag) => (array.includes(flag) ? array : [...array, flag]);
|
|
29
41
|
exports.addArrayFlag = addArrayFlag;
|
|
30
42
|
const removeArrayFlag = (array, flag) => array.filter(f => f !== flag);
|
|
31
43
|
exports.removeArrayFlag = removeArrayFlag;
|
|
32
|
-
|
|
44
|
+
/** Get individual flags from resources array */
|
|
33
45
|
const getRecommendationsFlags = (array) => ({
|
|
34
46
|
new: (0, exports.hasArrayFlag)(array, exports.RECOMMENDATION_FLAGS.NEW),
|
|
35
47
|
dismissed: (0, exports.hasArrayFlag)(array, exports.RECOMMENDATION_FLAGS.DISMISSED),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification.js","sourceRoot":"","sources":["../../src/company/notification.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"notification.js","sourceRoot":"","sources":["../../src/company/notification.ts"],"names":[],"mappings":";;;AA0BA,sCAAsC;AACzB,QAAA,oBAAoB,GAAG;IAClC,UAAU;IACV,WAAW,EAAE,CAAC;IACd,UAAU;IACV,SAAS,EAAE,CAAC;IACZ,UAAU;IACV,GAAG,EAAE,CAAC;CACE,CAAC;AAEX,kCAAkC;AACrB,QAAA,UAAU,GAAG;IACxB,UAAU;IACV,eAAe,EAAE,CAAC;CACV,CAAC;AAEX,2CAA2C;AAC9B,QAAA,mBAAmB,GAAG;IACjC,UAAU;IACV,cAAc,EAAE,CAAC;CACT,CAAC;AAEE,QAAA,kBAAkB,GAAG;IAChC,UAAU;IACV,QAAQ,EAAE,CAAC;CACH,CAAC;AAEE,QAAA,aAAa,GAAG;IAC3B,aAAa,EAAE,CAAC;CACR,CAAC;AAEX,8CAA8C;AACvC,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,IAAY,EAAW,EAAE,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;AAAzE,QAAA,OAAO,WAAkE;AAC/E,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,IAAY,EAAU,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC;AAAhE,QAAA,OAAO,WAAyD;AACtE,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,IAAY,EAAU,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC;AAApE,QAAA,UAAU,cAA0D;AAEjF,6BAA6B;AACtB,MAAM,YAAY,GAAG,CAAC,KAAe,EAAE,IAAY,EAAW,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAAhF,QAAA,YAAY,gBAAoE;AACtF,MAAM,YAAY,GAAG,CAAC,KAAe,EAAE,IAAY,EAAY,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAA9G,QAAA,YAAY,gBAAkG;AACpH,MAAM,eAAe,GAAG,CAAC,KAAe,EAAE,IAAY,EAAY,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AAA7F,QAAA,eAAe,mBAA8E;AAE1G,gDAAgD;AACzC,MAAM,uBAAuB,GAAG,CAAC,KAAe,EAAE,EAAE,CAAC,CAAC;IAC3D,GAAG,EAAE,IAAA,oBAAY,EAAC,KAAK,EAAE,4BAAoB,CAAC,GAAG,CAAC;IAClD,SAAS,EAAE,IAAA,oBAAY,EAAC,KAAK,EAAE,4BAAoB,CAAC,SAAS,CAAC;IAC9D,WAAW,EAAE,IAAA,oBAAY,EAAC,KAAK,EAAE,4BAAoB,CAAC,WAAW,CAAC;CACnE,CAAC,CAAC;AAJU,QAAA,uBAAuB,2BAIjC"}
|
package/dist/company/survey.d.ts
CHANGED
|
@@ -9,8 +9,11 @@ export interface SurveyQuestion {
|
|
|
9
9
|
required?: boolean;
|
|
10
10
|
placeholder?: string;
|
|
11
11
|
helpText?: string;
|
|
12
|
+
/** Add help property for tooltip */
|
|
12
13
|
help?: string;
|
|
14
|
+
/** Add description property for card description */
|
|
13
15
|
description?: string;
|
|
16
|
+
/** Add rows property for textarea */
|
|
14
17
|
rows?: number;
|
|
15
18
|
options?: SurveyOption[];
|
|
16
19
|
maxSelections?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"survey.d.ts","sourceRoot":"","sources":["../../src/company/survey.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,cAAc,GAAG,eAAe,CAAC;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,cAAc,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,cAAc,EAAE,CAAC;IACjC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;IAC5C,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;IACzC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B"}
|
|
1
|
+
{"version":3,"file":"survey.d.ts","sourceRoot":"","sources":["../../src/company/survey.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,cAAc,GAAG,eAAe,CAAC;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,cAAc,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,cAAc,EAAE,CAAC;IACjC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;IAC5C,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;IACzC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type AlertDefinitionRunStatus = 'running' | 'success' | 'failed';
|
|
2
|
+
/**
|
|
3
|
+
* Runtime metadata for alert definition evaluation runs.
|
|
4
|
+
* Stored as a blob so the API scheduler can decide when to enqueue the next run.
|
|
5
|
+
*/
|
|
6
|
+
export interface AlertDefinitionRunState {
|
|
7
|
+
companyId: string;
|
|
8
|
+
definitionId: string;
|
|
9
|
+
lastStartedAt?: string;
|
|
10
|
+
lastCompletedAt?: string;
|
|
11
|
+
lastStatus?: AlertDefinitionRunStatus;
|
|
12
|
+
lastDurationMs?: number;
|
|
13
|
+
lastError?: string;
|
|
14
|
+
lastCorrelationId?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Optional debug: what subscriptions the definition scope resolved to.
|
|
17
|
+
* This is useful for tag-scoped definitions where subscription discovery can fail.
|
|
18
|
+
*/
|
|
19
|
+
lastScopeResolvedAt?: string;
|
|
20
|
+
lastScopeSubscriptionIdsCount?: number;
|
|
21
|
+
lastScopeSubscriptionIdsSample?: string[];
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=alertDefinitionRun.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alertDefinitionRun.d.ts","sourceRoot":"","sources":["../../src/events/alertDefinitionRun.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,wBAAwB,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAExE;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IAErB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,8BAA8B,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alertDefinitionRun.js","sourceRoot":"","sources":["../../src/events/alertDefinitionRun.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import type { PaginationParams } from '../common/pagination.js';
|
|
2
|
+
export type AlertSeverity = 'info' | 'warning' | 'critical';
|
|
3
|
+
export type AlertStatus = 'open' | 'acknowledged' | 'resolved';
|
|
4
|
+
export type AlertLifecycleEvent = 'open' | 'acknowledged' | 'resolved';
|
|
5
|
+
export type AlertCategory = 'cost' | 'performance' | 'other';
|
|
6
|
+
export type TagMatchMode = 'any' | 'all';
|
|
7
|
+
export interface BaseAlertTag {
|
|
8
|
+
key: string;
|
|
9
|
+
value: string;
|
|
10
|
+
}
|
|
11
|
+
export interface BaseAlertScope {
|
|
12
|
+
subscriptionIds?: string[];
|
|
13
|
+
tags?: BaseAlertTag[];
|
|
14
|
+
tagMatch?: TagMatchMode;
|
|
15
|
+
}
|
|
16
|
+
export interface BaseAlertDestinationSlackOrTeams {
|
|
17
|
+
name: string;
|
|
18
|
+
webhookUrl?: string | null;
|
|
19
|
+
}
|
|
20
|
+
export interface BaseAlertDestinationWebhook {
|
|
21
|
+
name: string;
|
|
22
|
+
url?: string | null;
|
|
23
|
+
/**
|
|
24
|
+
* v1 defaults to sending only 'open'; when unspecified, treat as ['open'].
|
|
25
|
+
*/
|
|
26
|
+
events?: AlertLifecycleEvent[];
|
|
27
|
+
auth?: {
|
|
28
|
+
type: 'bearer';
|
|
29
|
+
tokenRef?: string | null;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
export interface BaseAlertDestinationJira {
|
|
33
|
+
enabled: boolean;
|
|
34
|
+
projectKey: string;
|
|
35
|
+
issueType: string;
|
|
36
|
+
labels?: string[];
|
|
37
|
+
epicKey?: string;
|
|
38
|
+
}
|
|
39
|
+
export interface BaseAlertDestinations {
|
|
40
|
+
slack?: BaseAlertDestinationSlackOrTeams[];
|
|
41
|
+
teams?: BaseAlertDestinationSlackOrTeams[];
|
|
42
|
+
webhooks?: BaseAlertDestinationWebhook[];
|
|
43
|
+
jira?: BaseAlertDestinationJira;
|
|
44
|
+
emails?: BaseAlertDestinationEmail[];
|
|
45
|
+
}
|
|
46
|
+
export interface BaseAlertDestinationEmail {
|
|
47
|
+
name?: string;
|
|
48
|
+
email?: string | null;
|
|
49
|
+
events?: AlertLifecycleEvent[];
|
|
50
|
+
}
|
|
51
|
+
export interface BaseAlertDefinition<TCriteria = unknown, TDestinations = BaseAlertDestinations, TScope = BaseAlertScope, TType extends string = string> {
|
|
52
|
+
id: string;
|
|
53
|
+
companyId: string;
|
|
54
|
+
name: string;
|
|
55
|
+
enabled: boolean;
|
|
56
|
+
category: AlertCategory;
|
|
57
|
+
type: TType;
|
|
58
|
+
scope: TScope;
|
|
59
|
+
criteria?: TCriteria;
|
|
60
|
+
destinations?: TDestinations;
|
|
61
|
+
/**
|
|
62
|
+
* Server-authored audit fields. Optional on create/update requests; always present on persisted records.
|
|
63
|
+
*/
|
|
64
|
+
createdAt?: string;
|
|
65
|
+
createdByUserId?: string;
|
|
66
|
+
updatedAt?: string;
|
|
67
|
+
updatedByUserId?: string;
|
|
68
|
+
}
|
|
69
|
+
export type BaseAlertSummary = Record<string, unknown>;
|
|
70
|
+
export interface BaseAlertComment {
|
|
71
|
+
id: string;
|
|
72
|
+
userId: string;
|
|
73
|
+
userName?: string;
|
|
74
|
+
message: string;
|
|
75
|
+
createdAt: string;
|
|
76
|
+
/**
|
|
77
|
+
* Optional edit tracking; omit if edits are not supported.
|
|
78
|
+
*/
|
|
79
|
+
updatedAt?: string;
|
|
80
|
+
editedByUserId?: string;
|
|
81
|
+
}
|
|
82
|
+
export interface BaseAlertInstance<TSummary = BaseAlertSummary, TScope = BaseAlertScope, TType extends string = string, TBreakdown = unknown> {
|
|
83
|
+
id: string;
|
|
84
|
+
companyId: string;
|
|
85
|
+
companyName: string;
|
|
86
|
+
definitionId: string;
|
|
87
|
+
category: AlertCategory;
|
|
88
|
+
type: TType;
|
|
89
|
+
status: AlertStatus;
|
|
90
|
+
severity: AlertSeverity;
|
|
91
|
+
scope: TScope;
|
|
92
|
+
discriminator?: {
|
|
93
|
+
kind: string;
|
|
94
|
+
value: string;
|
|
95
|
+
};
|
|
96
|
+
scopeSignature?: string;
|
|
97
|
+
createdAt: string;
|
|
98
|
+
/**
|
|
99
|
+
* If not yet updated, set equal to createdAt.
|
|
100
|
+
*/
|
|
101
|
+
lastSeenAt?: string;
|
|
102
|
+
acknowledgedAt?: string | null;
|
|
103
|
+
acknowledgedByUserId?: string | null;
|
|
104
|
+
acknowledgedByUserName?: string | null;
|
|
105
|
+
/**
|
|
106
|
+
* Optional freeform note captured when acknowledging an alert.
|
|
107
|
+
*/
|
|
108
|
+
acknowledgedNote?: string | null;
|
|
109
|
+
resolvedAt?: string | null;
|
|
110
|
+
resolvedByUserId?: string | null;
|
|
111
|
+
resolvedByUserName?: string | null;
|
|
112
|
+
/**
|
|
113
|
+
* Optional freeform note captured when resolving an alert.
|
|
114
|
+
*/
|
|
115
|
+
resolvedNote?: string | null;
|
|
116
|
+
jiraIssueKey?: string;
|
|
117
|
+
comments?: BaseAlertComment[];
|
|
118
|
+
summary?: TSummary;
|
|
119
|
+
breakdown?: TBreakdown;
|
|
120
|
+
detailPath?: string;
|
|
121
|
+
}
|
|
122
|
+
export interface ListAlertsParams<TType extends string = string> extends PaginationParams {
|
|
123
|
+
status?: AlertStatus;
|
|
124
|
+
type?: TType;
|
|
125
|
+
definitionId?: string;
|
|
126
|
+
since?: string;
|
|
127
|
+
until?: string;
|
|
128
|
+
}
|
|
129
|
+
export type ListAlertDefinitionsParams = PaginationParams;
|
|
130
|
+
//# sourceMappingURL=baseAlert.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseAlert.d.ts","sourceRoot":"","sources":["../../src/events/baseAlert.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseAlert.js","sourceRoot":"","sources":["../../src/events/baseAlert.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,361 @@
|
|
|
1
|
+
import { AlertSeverity, AlertStatus, AlertLifecycleEvent, TagMatchMode, BaseAlertScope, BaseAlertDestinationSlackOrTeams, BaseAlertDestinationWebhook, BaseAlertDestinationJira, BaseAlertDestinationEmail, BaseAlertDestinations, BaseAlertComment, BaseAlertDefinition, BaseAlertInstance, ListAlertsParams, ListAlertDefinitionsParams } from './baseAlert.js';
|
|
2
|
+
export type CostAlertSeverity = AlertSeverity;
|
|
3
|
+
export type CostAlertCategory = 'cost';
|
|
4
|
+
export type CostAlertType = 'costAnomaly' | 'budget';
|
|
5
|
+
export type CostAlertStatus = AlertStatus;
|
|
6
|
+
export type { TagMatchMode };
|
|
7
|
+
export interface CostAlertTag {
|
|
8
|
+
key: string;
|
|
9
|
+
value: string;
|
|
10
|
+
}
|
|
11
|
+
export interface CostAlertScope extends BaseAlertScope {
|
|
12
|
+
tags?: CostAlertTag[];
|
|
13
|
+
}
|
|
14
|
+
export type CostAlertTriggerType = 'threshold' | 'baseline' | 'pricing_missing' | 'missing_metrics' | 'default';
|
|
15
|
+
export interface CostAlertContext {
|
|
16
|
+
triggerType?: CostAlertTriggerType;
|
|
17
|
+
trigger?: {
|
|
18
|
+
label?: string;
|
|
19
|
+
value?: number;
|
|
20
|
+
source?: string;
|
|
21
|
+
overPct?: number;
|
|
22
|
+
severity?: CostAlertSeverity;
|
|
23
|
+
};
|
|
24
|
+
estimate?: {
|
|
25
|
+
amount?: number;
|
|
26
|
+
currency?: string;
|
|
27
|
+
source?: string;
|
|
28
|
+
};
|
|
29
|
+
baseline?: {
|
|
30
|
+
lastDay?: number;
|
|
31
|
+
prevDay?: number;
|
|
32
|
+
avg7?: number;
|
|
33
|
+
avg14?: number;
|
|
34
|
+
tokenLastDay?: number;
|
|
35
|
+
tokenPrevDay?: number;
|
|
36
|
+
tokenAvg7?: number;
|
|
37
|
+
tokenAvg14?: number;
|
|
38
|
+
dodPct?: number;
|
|
39
|
+
tokenDodPct?: number;
|
|
40
|
+
};
|
|
41
|
+
reason?: string;
|
|
42
|
+
}
|
|
43
|
+
export interface CostAlert {
|
|
44
|
+
id: string;
|
|
45
|
+
severity: CostAlertSeverity;
|
|
46
|
+
title: string;
|
|
47
|
+
description: string;
|
|
48
|
+
eventId: string;
|
|
49
|
+
eventTimestamp: string;
|
|
50
|
+
resourceId: string;
|
|
51
|
+
resourceType: string;
|
|
52
|
+
serviceCategory?: string;
|
|
53
|
+
subscriptionId?: string;
|
|
54
|
+
resourceGroup?: string;
|
|
55
|
+
estimatedCost?: number;
|
|
56
|
+
createdAt: string;
|
|
57
|
+
context?: CostAlertContext;
|
|
58
|
+
}
|
|
59
|
+
export interface CostAlertFile {
|
|
60
|
+
generatedAt: string;
|
|
61
|
+
items: CostAlert[];
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* New Alert Definition (Table Storage row / API DTO).
|
|
65
|
+
*/
|
|
66
|
+
export interface CostAlertDefinition extends BaseAlertDefinition<CostAlertCriteria, CostAlertDestinations, CostAlertScope, CostAlertType> {
|
|
67
|
+
type: CostAlertType;
|
|
68
|
+
scope: CostAlertScope;
|
|
69
|
+
criteria?: CostAlertCriteria;
|
|
70
|
+
destinations?: CostAlertDestinations;
|
|
71
|
+
/** Whether the current user has permission to edit this alert definition. Added by API. */
|
|
72
|
+
canEdit?: boolean;
|
|
73
|
+
/** Whether the current user has permission to delete this alert definition. Added by API. */
|
|
74
|
+
canDelete?: boolean;
|
|
75
|
+
}
|
|
76
|
+
export type ListCostAlertDefinitionsParams = ListAlertDefinitionsParams;
|
|
77
|
+
export type ListCostAlertsParams = ListAlertsParams<CostAlertType>;
|
|
78
|
+
export interface CostAlertCriteria {
|
|
79
|
+
confidence?: Array<'High' | 'Medium' | 'Low'>;
|
|
80
|
+
minDelta?: number;
|
|
81
|
+
minPercentChange?: number;
|
|
82
|
+
minCost?: number;
|
|
83
|
+
tagRelevance?: {
|
|
84
|
+
minScopeSharePercent?: number;
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* Data source selection:
|
|
88
|
+
* - auto: use actual billing if available, else estimated
|
|
89
|
+
* - actual: billing artifacts only
|
|
90
|
+
* - estimated: metrics/pricing estimation only
|
|
91
|
+
*/
|
|
92
|
+
dataSource?: 'auto' | 'actual' | 'estimated';
|
|
93
|
+
period?: 'monthly' | 'last_30_days';
|
|
94
|
+
budgetAmount?: number;
|
|
95
|
+
budgetCurrency?: string;
|
|
96
|
+
budgetThresholdPercents?: number[];
|
|
97
|
+
budgetThresholdAmounts?: number[];
|
|
98
|
+
forecastThresholdPercents?: number[];
|
|
99
|
+
forecastThresholdAmounts?: number[];
|
|
100
|
+
/**
|
|
101
|
+
* Optional day-over-day / month-over-month thresholds (cost anomaly extensions).
|
|
102
|
+
* These are additive to minDelta/minPercentChange when compare window is DoD/MoM.
|
|
103
|
+
*/
|
|
104
|
+
dodThresholdPercents?: number[];
|
|
105
|
+
dodThresholdAmounts?: number[];
|
|
106
|
+
momThresholdPercents?: number[];
|
|
107
|
+
momThresholdAmounts?: number[];
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Destination types for cost alerts are used for both:
|
|
111
|
+
* - API request payloads (create/update), where secrets are required by validation
|
|
112
|
+
* - API responses, where secrets may be redacted/omitted for non-admin readers
|
|
113
|
+
*
|
|
114
|
+
* For that reason, secret-bearing fields are optional at the type level.
|
|
115
|
+
*/
|
|
116
|
+
export interface CostAlertDestinationSlackOrTeams extends Omit<BaseAlertDestinationSlackOrTeams, 'webhookUrl'> {
|
|
117
|
+
webhookUrl?: string | null;
|
|
118
|
+
}
|
|
119
|
+
export interface CostAlertDestinationWebhook extends Omit<BaseAlertDestinationWebhook, 'url' | 'auth'> {
|
|
120
|
+
url?: string | null;
|
|
121
|
+
auth?: {
|
|
122
|
+
type: 'bearer';
|
|
123
|
+
tokenRef?: string | null;
|
|
124
|
+
};
|
|
125
|
+
events?: AlertLifecycleEvent[];
|
|
126
|
+
}
|
|
127
|
+
export interface CostAlertDestinationEmail extends Omit<BaseAlertDestinationEmail, 'email'> {
|
|
128
|
+
email?: string | null;
|
|
129
|
+
}
|
|
130
|
+
export type CostAlertDestinationJira = BaseAlertDestinationJira;
|
|
131
|
+
export interface CostAlertDestinations extends BaseAlertDestinations {
|
|
132
|
+
slack?: CostAlertDestinationSlackOrTeams[];
|
|
133
|
+
teams?: CostAlertDestinationSlackOrTeams[];
|
|
134
|
+
webhooks?: CostAlertDestinationWebhook[];
|
|
135
|
+
jira?: CostAlertDestinationJira;
|
|
136
|
+
emails?: CostAlertDestinationEmail[];
|
|
137
|
+
}
|
|
138
|
+
export interface CostAlertDiscriminator {
|
|
139
|
+
kind: 'anomalyDate' | 'periodStart' | string;
|
|
140
|
+
value: string;
|
|
141
|
+
}
|
|
142
|
+
export type CostAlertComment = BaseAlertComment;
|
|
143
|
+
export interface CostAlertSummary {
|
|
144
|
+
currencyCode?: string;
|
|
145
|
+
confidence?: 'High' | 'Medium' | 'Low';
|
|
146
|
+
delta?: number;
|
|
147
|
+
percentChange?: number;
|
|
148
|
+
amount?: number;
|
|
149
|
+
budgetAmount?: number;
|
|
150
|
+
forecastAmount?: number;
|
|
151
|
+
/**
|
|
152
|
+
* Time window for the computed amount (ISO date).
|
|
153
|
+
* This represents the period for current cost (from periodStart to today).
|
|
154
|
+
*/
|
|
155
|
+
periodStart?: string;
|
|
156
|
+
periodEnd?: string;
|
|
157
|
+
/**
|
|
158
|
+
* Optional window size for estimated spend (days).
|
|
159
|
+
* This represents the number of days in the forecast window.
|
|
160
|
+
*/
|
|
161
|
+
windowDays?: number;
|
|
162
|
+
/**
|
|
163
|
+
* Forecast period start date (ISO date).
|
|
164
|
+
* Forecast is projected from this date to forecastPeriodEnd.
|
|
165
|
+
*/
|
|
166
|
+
forecastPeriodStart?: string;
|
|
167
|
+
/**
|
|
168
|
+
* Forecast period end date (ISO date).
|
|
169
|
+
* Forecast is projected until this date.
|
|
170
|
+
*/
|
|
171
|
+
forecastPeriodEnd?: string;
|
|
172
|
+
/**
|
|
173
|
+
* Full period start date (ISO date).
|
|
174
|
+
* This represents the start of the entire period (e.g., month start for monthly budgets).
|
|
175
|
+
*/
|
|
176
|
+
fullPeriodStart?: string;
|
|
177
|
+
/**
|
|
178
|
+
* Full period end date (ISO date).
|
|
179
|
+
* This represents the end of the entire period (e.g., month end for monthly budgets).
|
|
180
|
+
*/
|
|
181
|
+
fullPeriodEnd?: string;
|
|
182
|
+
/**
|
|
183
|
+
* actual | estimated (resolved at evaluation time)
|
|
184
|
+
*/
|
|
185
|
+
dataSource?: 'actual' | 'estimated' | 'blended' | 'unknown' | 'metrics_pricing';
|
|
186
|
+
/**
|
|
187
|
+
* Estimated coverage (0-100) when using estimated spend.
|
|
188
|
+
*/
|
|
189
|
+
coveragePercent?: number;
|
|
190
|
+
reconciliationStatus?: 'pending' | 'matched' | 'mismatch';
|
|
191
|
+
actualShare?: number;
|
|
192
|
+
estimatedShare?: number;
|
|
193
|
+
estimationMethod?: string;
|
|
194
|
+
estimatedDays?: string[];
|
|
195
|
+
estimatedDaysSource?: 'metrics' | 'ma7' | 'ma14' | 'ma';
|
|
196
|
+
periodType?: 'calendar_month' | 'billing_period' | 'rolling_30_days';
|
|
197
|
+
dataShare?: {
|
|
198
|
+
actual?: number;
|
|
199
|
+
estimated?: number;
|
|
200
|
+
forecast?: number;
|
|
201
|
+
estimatedByMethod?: {
|
|
202
|
+
metrics_pricing?: number;
|
|
203
|
+
moving_average?: number;
|
|
204
|
+
other?: number;
|
|
205
|
+
};
|
|
206
|
+
qualityScore?: number;
|
|
207
|
+
qualityLevel?: 'high' | 'medium' | 'low';
|
|
208
|
+
};
|
|
209
|
+
tagFilterApplied?: boolean;
|
|
210
|
+
/**
|
|
211
|
+
* Human-readable summary text for display in alerts list and notifications.
|
|
212
|
+
* Generated from structured summary data for easy consumption.
|
|
213
|
+
*/
|
|
214
|
+
summaryText?: string;
|
|
215
|
+
/**
|
|
216
|
+
* Forecast confidence level (High, Medium, Low) based on data availability and elapsed days.
|
|
217
|
+
* Used to indicate the reliability of forecast calculations.
|
|
218
|
+
*/
|
|
219
|
+
forecastConfidence?: 'high' | 'medium' | 'low';
|
|
220
|
+
/**
|
|
221
|
+
* Forecast method used to calculate the forecast amount.
|
|
222
|
+
* Values: 'conservative-blended', 'conservative-linear', 'trend-based', 'linear', 'rolling-current', 'fallback'
|
|
223
|
+
*/
|
|
224
|
+
forecastMethod?: string;
|
|
225
|
+
/**
|
|
226
|
+
* Detailed information about the forecast calculation, including:
|
|
227
|
+
* - elapsedDays: Number of days elapsed in the period
|
|
228
|
+
* - totalDays: Total days in the period
|
|
229
|
+
* - remainingDays: Number of days remaining in the forecast period
|
|
230
|
+
* - dailyRate: Daily spending rate
|
|
231
|
+
* - For conservative-blended: historicalAverage, historicalDailyRate, blendedDailyRate, blendRatio
|
|
232
|
+
* - For conservative-linear: multiplier
|
|
233
|
+
* - For trend-based: trendAdjustment, growthRate, growthRateApplied
|
|
234
|
+
* - For recent-average-decreasing: recentAverageDailyRate, isDecreasingTrend
|
|
235
|
+
* - For weighted-average: recentAverageDailyRate
|
|
236
|
+
* - For rolling-current: method, note
|
|
237
|
+
*/
|
|
238
|
+
forecastDetails?: Record<string, unknown>;
|
|
239
|
+
/**
|
|
240
|
+
* Human-readable explanation combining data confidence, estimated mix, and forecast approach.
|
|
241
|
+
*/
|
|
242
|
+
dataStatusExplaination?: string;
|
|
243
|
+
/**
|
|
244
|
+
* Daily forecast costs for the remaining days in the period.
|
|
245
|
+
* Each entry contains the date (YYYYMMDD format), predicted cost, and method used.
|
|
246
|
+
* This allows frontend to visualize how the forecast is distributed across days.
|
|
247
|
+
*/
|
|
248
|
+
forecastDailyCosts?: Array<{
|
|
249
|
+
date: number;
|
|
250
|
+
cost: number;
|
|
251
|
+
dataSource: 'forecast';
|
|
252
|
+
method: string;
|
|
253
|
+
}>;
|
|
254
|
+
/**
|
|
255
|
+
* Trigger reason indicating why the alert was triggered.
|
|
256
|
+
* For budget alerts: 'budget-threshold-percent' | 'budget-threshold-amount' | 'forecast-threshold-percent' | 'forecast-threshold-amount' | 'budget-threshold' | 'forecast-threshold' | 'both'
|
|
257
|
+
* For cost anomaly alerts: 'confidence' | 'minDelta' | 'minPercentChange' | 'minCost' | 'dodThreshold' | 'momThreshold' | string
|
|
258
|
+
*/
|
|
259
|
+
triggerReason?: string | string[];
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Daily cost data point for breakdown visualization
|
|
263
|
+
*/
|
|
264
|
+
export interface DailyCostDataPoint {
|
|
265
|
+
/** Date in YYYYMMDD format (number) */
|
|
266
|
+
date: number;
|
|
267
|
+
/** Cost for this day */
|
|
268
|
+
cost: number;
|
|
269
|
+
/** Data source: actual (from billing/metrics), estimated (MA-based), or forecast (projected) */
|
|
270
|
+
dataSource: 'actual' | 'estimated' | 'forecast';
|
|
271
|
+
/** For estimated/forecast: method used (e.g., 'moving-average-7', 'moving-average-14', 'moving-average', 'metrics_pricing', 'linear', 'trend') */
|
|
272
|
+
method?: string;
|
|
273
|
+
/** For actual: whether this came from metrics (true) or billing (false) */
|
|
274
|
+
fromMetrics?: boolean;
|
|
275
|
+
}
|
|
276
|
+
export interface CostAlertBreakdownResource {
|
|
277
|
+
resourceId: string;
|
|
278
|
+
name?: string;
|
|
279
|
+
delta?: number;
|
|
280
|
+
cost?: number;
|
|
281
|
+
percentage?: number;
|
|
282
|
+
/**
|
|
283
|
+
* Combined tags (Azure + spottoTags) for client-side filtering (ANY/ALL).
|
|
284
|
+
*/
|
|
285
|
+
tags?: Record<string, string>;
|
|
286
|
+
/** Optional: metrics inputs for this resource (e.g., tokensIn/out). */
|
|
287
|
+
metricsInput?: Record<string, unknown>;
|
|
288
|
+
/** Optional: unit rates applied to compute cost. */
|
|
289
|
+
unitRates?: Record<string, number>;
|
|
290
|
+
/** Optional: estimated vs actual composition for UI. */
|
|
291
|
+
dataSource?: 'estimated' | 'actual' | 'blended' | 'metrics_pricing';
|
|
292
|
+
actualShare?: number;
|
|
293
|
+
estimatedShare?: number;
|
|
294
|
+
estimationMethod?: string;
|
|
295
|
+
/**
|
|
296
|
+
* Resource type (e.g., "microsoft.cognitiveservices/accounts")
|
|
297
|
+
* Helps frontend determine how to display this resource and its children
|
|
298
|
+
*/
|
|
299
|
+
resourceType?: string;
|
|
300
|
+
/**
|
|
301
|
+
* Daily cost breakdown for this resource
|
|
302
|
+
* Includes actual, estimated, and forecast days
|
|
303
|
+
*/
|
|
304
|
+
dailyCosts?: DailyCostDataPoint[];
|
|
305
|
+
/**
|
|
306
|
+
* Deployment-level breakdown (only for resources that have sub-components)
|
|
307
|
+
* For cognitive services: contains deployment/model information
|
|
308
|
+
* Limited to top N deployments to keep breakdown size manageable
|
|
309
|
+
*/
|
|
310
|
+
deployments?: Array<{
|
|
311
|
+
deployment?: string;
|
|
312
|
+
model?: string;
|
|
313
|
+
cost: number;
|
|
314
|
+
percentage?: number;
|
|
315
|
+
metricsInput?: Record<string, unknown>;
|
|
316
|
+
unitRates?: Record<string, number>;
|
|
317
|
+
/** Daily cost breakdown for this deployment */
|
|
318
|
+
dailyCosts?: DailyCostDataPoint[];
|
|
319
|
+
}>;
|
|
320
|
+
}
|
|
321
|
+
export interface CostAlertBreakdownService {
|
|
322
|
+
serviceName: string;
|
|
323
|
+
delta?: number;
|
|
324
|
+
cost?: number;
|
|
325
|
+
percentage?: number;
|
|
326
|
+
dataSource?: 'estimated' | 'actual' | 'blended' | 'metrics_pricing';
|
|
327
|
+
/** Daily cost breakdown aggregated at service level */
|
|
328
|
+
dailyCosts?: DailyCostDataPoint[];
|
|
329
|
+
resources?: CostAlertBreakdownResource[];
|
|
330
|
+
unmappedResourceNames?: string[];
|
|
331
|
+
}
|
|
332
|
+
export interface CostAlertBreakdownTop {
|
|
333
|
+
subscriptionId: string;
|
|
334
|
+
subscriptionName?: string;
|
|
335
|
+
cost?: number;
|
|
336
|
+
percentage?: number;
|
|
337
|
+
/** Daily cost breakdown aggregated at subscription level */
|
|
338
|
+
dailyCosts?: DailyCostDataPoint[];
|
|
339
|
+
services?: CostAlertBreakdownService[];
|
|
340
|
+
}
|
|
341
|
+
export interface CostAlertBreakdownSummary {
|
|
342
|
+
top?: CostAlertBreakdownTop[];
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* New Alert Instance (Table Storage row / API DTO).
|
|
346
|
+
* Legacy CostAlert can map into this with status=open and category=cost.
|
|
347
|
+
*/
|
|
348
|
+
export interface CostAlertInstance extends BaseAlertInstance<CostAlertSummary, CostAlertScope, CostAlertType, CostAlertBreakdownSummary> {
|
|
349
|
+
category: CostAlertCategory;
|
|
350
|
+
discriminator: CostAlertDiscriminator;
|
|
351
|
+
/**
|
|
352
|
+
* Derived signature of scope (subs + tags) for idempotency/dedupe.
|
|
353
|
+
*/
|
|
354
|
+
scopeSignature?: string;
|
|
355
|
+
jiraIssueKey?: string;
|
|
356
|
+
comments?: CostAlertComment[];
|
|
357
|
+
summary?: CostAlertSummary;
|
|
358
|
+
breakdown?: CostAlertBreakdownSummary;
|
|
359
|
+
definitionSnapshot?: string;
|
|
360
|
+
}
|
|
361
|
+
//# sourceMappingURL=cost.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cost.d.ts","sourceRoot":"","sources":["../../src/events/cost.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cost.js","sourceRoot":"","sources":["../../src/events/cost.ts"],"names":[],"mappings":""}
|