@spottoai/types-package 1.0.2-beta.9 → 1.0.2-beta.90

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/LICENSE +18 -40
  2. package/README.md +4 -13
  3. package/dist/accounts/accounts.d.ts +18 -3
  4. package/dist/accounts/accounts.d.ts.map +1 -1
  5. package/dist/ai/index.d.ts +5 -0
  6. package/dist/ai/index.d.ts.map +1 -1
  7. package/dist/ai/index.js +0 -1
  8. package/dist/ai/index.js.map +1 -1
  9. package/dist/azure/billingPlots.d.ts +108 -0
  10. package/dist/azure/billingPlots.d.ts.map +1 -0
  11. package/dist/azure/billingPlots.js +6 -0
  12. package/dist/azure/billingPlots.js.map +1 -0
  13. package/dist/azure/common.d.ts +34 -0
  14. package/dist/azure/common.d.ts.map +1 -1
  15. package/dist/azure/configs.d.ts +9 -0
  16. package/dist/azure/configs.d.ts.map +1 -1
  17. package/dist/azure/costEstimation.d.ts +78 -0
  18. package/dist/azure/costEstimation.d.ts.map +1 -0
  19. package/dist/azure/costEstimation.js +3 -0
  20. package/dist/azure/costEstimation.js.map +1 -0
  21. package/dist/azure/metrics.d.ts +27 -0
  22. package/dist/azure/metrics.d.ts.map +1 -1
  23. package/dist/azure/payloads.d.ts +8 -0
  24. package/dist/azure/payloads.d.ts.map +1 -1
  25. package/dist/azure/prices.d.ts +142 -0
  26. package/dist/azure/prices.d.ts.map +1 -1
  27. package/dist/azure/recommendationState.d.ts +14 -0
  28. package/dist/azure/recommendationState.d.ts.map +1 -1
  29. package/dist/azure/recommendations.d.ts +112 -5
  30. package/dist/azure/recommendations.d.ts.map +1 -1
  31. package/dist/azure/recommendations.js.map +1 -1
  32. package/dist/azure/reports.d.ts +109 -0
  33. package/dist/azure/reports.d.ts.map +1 -1
  34. package/dist/azure/reports.js +13 -0
  35. package/dist/azure/reports.js.map +1 -1
  36. package/dist/azure/resources.d.ts +14 -0
  37. package/dist/azure/resources.d.ts.map +1 -1
  38. package/dist/azure/security.d.ts +28 -0
  39. package/dist/azure/security.d.ts.map +1 -0
  40. package/dist/azure/security.js +3 -0
  41. package/dist/azure/security.js.map +1 -0
  42. package/dist/azure/serviceRetirement.d.ts +24 -0
  43. package/dist/azure/serviceRetirement.d.ts.map +1 -0
  44. package/dist/azure/serviceRetirement.js +3 -0
  45. package/dist/azure/serviceRetirement.js.map +1 -0
  46. package/dist/azure/subscriptions.d.ts +9 -13
  47. package/dist/azure/subscriptions.d.ts.map +1 -1
  48. package/dist/azure/views.d.ts +45 -1
  49. package/dist/azure/views.d.ts.map +1 -1
  50. package/dist/common/pagination.d.ts +3 -0
  51. package/dist/common/pagination.d.ts.map +1 -1
  52. package/dist/company/company.d.ts +9 -0
  53. package/dist/company/company.d.ts.map +1 -1
  54. package/dist/company/notification.d.ts +20 -0
  55. package/dist/company/notification.d.ts.map +1 -1
  56. package/dist/company/notification.js +20 -12
  57. package/dist/company/notification.js.map +1 -1
  58. package/dist/company/survey.d.ts +3 -0
  59. package/dist/company/survey.d.ts.map +1 -1
  60. package/dist/events/eventStatus.d.ts +59 -0
  61. package/dist/events/eventStatus.d.ts.map +1 -0
  62. package/dist/events/eventStatus.js +3 -0
  63. package/dist/events/eventStatus.js.map +1 -0
  64. package/dist/events/index.d.ts +2 -0
  65. package/dist/events/index.d.ts.map +1 -0
  66. package/dist/events/index.js +18 -0
  67. package/dist/events/index.js.map +1 -0
  68. package/dist/feedbacks/feedback.d.ts +9 -0
  69. package/dist/feedbacks/feedback.d.ts.map +1 -1
  70. package/dist/identity/apikey.d.ts +67 -0
  71. package/dist/identity/apikey.d.ts.map +1 -0
  72. package/dist/identity/apikey.js +3 -0
  73. package/dist/identity/apikey.js.map +1 -0
  74. package/dist/identity/index.d.ts +2 -0
  75. package/dist/identity/index.d.ts.map +1 -0
  76. package/dist/identity/index.js +18 -0
  77. package/dist/identity/index.js.map +1 -0
  78. package/dist/index.d.ts +7 -0
  79. package/dist/index.d.ts.map +1 -1
  80. package/dist/index.js +7 -1
  81. package/dist/index.js.map +1 -1
  82. package/package.json +2 -2
@@ -1,14 +1,41 @@
1
1
  export interface DecompositionTreeNode {
2
+ /** e.g., "Resource Group A", "Storage", "Standard Page Blob v2", "Storage Account", "mystorageaccount" */
2
3
  name: string;
3
4
  cost: number;
4
5
  costAmortized?: number;
5
6
  costPrevious?: number;
6
7
  costAmortizedPrevious?: number;
8
+ /** e.g., 80.5 (for 80.5%) */
7
9
  percentageOfTotal: number;
10
+ /** Absolute change from previous period */
8
11
  costChange?: number;
12
+ /** Percentage change from previous period */
9
13
  costChangePercent?: number;
10
14
  children?: DecompositionTreeNode[];
15
+ /** Total spend at this level (for percentage calculation) */
11
16
  totalSpend: number;
17
+ /** Analysis of why costs changed (only present on leaf nodes) */
18
+ changeAnalysis?: CostChangeAnalysis;
19
+ /** Only present on leaf nodes (individual resources) */
20
+ meterDetails?: MeterDetail[];
21
+ tags?: Record<string, string>;
22
+ resourceId?: string;
23
+ }
24
+ export interface MeterDetail {
25
+ /** "P1 v3 App" */
26
+ meter: string;
27
+ /** "Azure App Service" */
28
+ meterCategory: string;
29
+ /** "Premium Plan" */
30
+ meterSubCategory: string;
31
+ /** 24 (hours, GB, etc.) */
32
+ quantity: number;
33
+ /** 12.721536 */
34
+ cost: number;
35
+ /** 12.721536 */
36
+ costAmortized: number;
37
+ /** cost / quantity = rate per unit */
38
+ unitCost?: number;
12
39
  }
13
40
  export interface DecompositionTree {
14
41
  root: DecompositionTreeNode;
@@ -24,8 +51,10 @@ export interface DecompositionTree {
24
51
  totalSpendAmortizedPrevious?: number;
25
52
  currency: string;
26
53
  currencySymbol: string;
54
+ version?: string;
27
55
  }
28
56
  export interface DecompositionTreeEntry {
57
+ /** e.g., "2025-01" for calendar month, "2025-01-01_2025-01-31" for billing period */
29
58
  period: string;
30
59
  startDate: string;
31
60
  endDate: string;
@@ -35,4 +64,84 @@ export interface DecompositionTreeSummary {
35
64
  entries: DecompositionTreeEntry[];
36
65
  lastUpdated: string;
37
66
  }
67
+ /** Type of change detected in cost analysis */
68
+ export type ChangeType = 'increase' | 'decrease' | 'no_change' | 'new_resource' | 'removed_resource';
69
+ /** Specific reason types for cost changes */
70
+ export declare enum ChangeReasonType {
71
+ NEW_RESOURCE = "new_resource",
72
+ REMOVED_RESOURCE = "removed_resource",
73
+ QUANTITY_INCREASE = "quantity_increase",
74
+ QUANTITY_DECREASE = "quantity_decrease",
75
+ RATE_CHANGE = "rate_change",
76
+ SKU_CHANGE = "sku_change",
77
+ NEW_METER = "new_meter",
78
+ REMOVED_METER = "removed_meter"
79
+ }
80
+ export type BillingModifierType = 'reservation' | 'savings_plan' | 'spot' | 'promotion' | 'other';
81
+ export interface BillingModifierDetail {
82
+ type: BillingModifierType;
83
+ name?: string;
84
+ coverageHours?: number;
85
+ coveragePercent?: number;
86
+ previousCoveragePercent?: number;
87
+ coveragePercentDelta?: number;
88
+ notes?: string;
89
+ }
90
+ export interface RateChangeContext {
91
+ previousEffectiveRate?: number;
92
+ currentEffectiveRate?: number;
93
+ previousPaidRate?: number;
94
+ currentPaidRate?: number;
95
+ totalHours?: number;
96
+ paidHours?: number;
97
+ coveredHours?: number;
98
+ previousCoveredHours?: number;
99
+ previousCoveredPercent?: number;
100
+ currentCoveredPercent?: number;
101
+ coverageDeltaPercent?: number;
102
+ modifier?: BillingModifierDetail;
103
+ }
104
+ /** Details about a specific change reason */
105
+ export interface ChangeReasonDetails {
106
+ /** The meter name (e.g., "P1 v3 App") */
107
+ meter?: string;
108
+ /** The meter category (e.g., "Azure App Service") */
109
+ meterCategory?: string;
110
+ /** The meter sub-category */
111
+ meterSubCategory?: string;
112
+ /** Previous value (could be cost, quantity, rate, or SKU name) */
113
+ oldValue?: string | number;
114
+ /** New value (could be cost, quantity, rate, or SKU name) */
115
+ newValue?: string | number;
116
+ /** Human-readable description of the change */
117
+ description: string;
118
+ /** Additional rate-change context (coverage shifts, modifier attribution, etc.) */
119
+ rateContext?: RateChangeContext;
120
+ /** Optional narrative fragments to help surface a story in the UI */
121
+ storyFragments?: string[];
122
+ }
123
+ /** A single reason explaining a cost change */
124
+ export interface ChangeReason {
125
+ /** Type of change */
126
+ type: ChangeReasonType;
127
+ /** Dollar impact of this change (can be positive or negative) */
128
+ impact: number;
129
+ /** Percentage of total change this reason represents */
130
+ impactPercent: number;
131
+ /** Detailed information about the change */
132
+ details: ChangeReasonDetails;
133
+ /** Optional narrative fragments tied to this reason */
134
+ storyFragments?: string[];
135
+ }
136
+ /** Complete analysis of cost changes for a resource */
137
+ export interface CostChangeAnalysis {
138
+ /** Overall type of change */
139
+ changeType: ChangeType;
140
+ /** List of specific reasons for the change, ordered by impact */
141
+ changeReasons: ChangeReason[];
142
+ /** Human-readable summary of the changes */
143
+ summary: string;
144
+ /** Optional narrative fragments surfaced for display */
145
+ storyFragments?: string[];
146
+ }
38
147
  //# sourceMappingURL=reports.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reports.d.ts","sourceRoot":"","sources":["../../src/azure/reports.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,MAAM,EAAE;QACN,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;KAC/D,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,iBAAiB,CAAC;CACzB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"reports.d.ts","sourceRoot":"","sources":["../../src/azure/reports.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,0GAA0G;IAC1G,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,6BAA6B;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACnC,6DAA6D;IAC7D,UAAU,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,wDAAwD;IACxD,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,MAAM,EAAE;QACN,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;KAC/D,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,qFAAqF;IACrF,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,iBAAiB,CAAC;CACzB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,+CAA+C;AAC/C,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,GAAG,kBAAkB,CAAC;AAErG,6CAA6C;AAC7C,oBAAY,gBAAgB;IAC1B,YAAY,iBAAiB;IAC7B,gBAAgB,qBAAqB;IACrC,iBAAiB,sBAAsB;IACvC,iBAAiB,sBAAsB;IACvC,WAAW,gBAAgB;IAC3B,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,aAAa,kBAAkB;CAChC;AAED,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG,cAAc,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC;AAElG,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,qBAAqB,CAAC;CAClC;AAED,6CAA6C;AAC7C,MAAM,WAAW,mBAAmB;IAClC,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,6BAA6B;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE3B,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE3B,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IAEpB,mFAAmF;IACnF,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAEhC,qEAAqE;IACrE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,+CAA+C;AAC/C,MAAM,WAAW,YAAY;IAC3B,qBAAqB;IACrB,IAAI,EAAE,gBAAgB,CAAC;IAEvB,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC;IAEf,wDAAwD;IACxD,aAAa,EAAE,MAAM,CAAC;IAEtB,4CAA4C;IAC5C,OAAO,EAAE,mBAAmB,CAAC;IAE7B,uDAAuD;IACvD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,uDAAuD;AACvD,MAAM,WAAW,kBAAkB;IACjC,6BAA6B;IAC7B,UAAU,EAAE,UAAU,CAAC;IAEvB,iEAAiE;IACjE,aAAa,EAAE,YAAY,EAAE,CAAC;IAE9B,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAEhB,wDAAwD;IACxD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B"}
@@ -1,3 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChangeReasonType = void 0;
4
+ /** Specific reason types for cost changes */
5
+ var ChangeReasonType;
6
+ (function (ChangeReasonType) {
7
+ ChangeReasonType["NEW_RESOURCE"] = "new_resource";
8
+ ChangeReasonType["REMOVED_RESOURCE"] = "removed_resource";
9
+ ChangeReasonType["QUANTITY_INCREASE"] = "quantity_increase";
10
+ ChangeReasonType["QUANTITY_DECREASE"] = "quantity_decrease";
11
+ ChangeReasonType["RATE_CHANGE"] = "rate_change";
12
+ ChangeReasonType["SKU_CHANGE"] = "sku_change";
13
+ ChangeReasonType["NEW_METER"] = "new_meter";
14
+ ChangeReasonType["REMOVED_METER"] = "removed_meter";
15
+ })(ChangeReasonType || (exports.ChangeReasonType = ChangeReasonType = {}));
3
16
  //# sourceMappingURL=reports.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reports.js","sourceRoot":"","sources":["../../src/azure/reports.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"reports.js","sourceRoot":"","sources":["../../src/azure/reports.ts"],"names":[],"mappings":";;;AA0EA,6CAA6C;AAC7C,IAAY,gBASX;AATD,WAAY,gBAAgB;IAC1B,iDAA6B,CAAA;IAC7B,yDAAqC,CAAA;IACrC,2DAAuC,CAAA;IACvC,2DAAuC,CAAA;IACvC,+CAA2B,CAAA;IAC3B,6CAAyB,CAAA;IACzB,2CAAuB,CAAA;IACvB,mDAA+B,CAAA;AACjC,CAAC,EATW,gBAAgB,gCAAhB,gBAAgB,QAS3B"}
@@ -1,32 +1,46 @@
1
1
  export interface ResourcesByType {
2
2
  type: string;
3
3
  resources: number;
4
+ /** total spend in the current billing period */
4
5
  spendBilling?: number;
6
+ /** total amortized spend in the current billing period */
5
7
  spendBillingAmortized?: number;
8
+ /** total spend in the previous billing period */
6
9
  spendPreviousBilling?: number;
7
10
  spendPreviousBillingAmortized?: number;
11
+ /** total spend over the last 30 days */
8
12
  spend30Days?: number;
9
13
  spend30DaysAmortized?: number;
14
+ /** total spend over the previous 30 days */
10
15
  spendPrevious30Days?: number;
11
16
  spendPrevious30DaysAmortized?: number;
17
+ /** total spend over the last 7 days */
12
18
  spend7Days?: number;
13
19
  spend7DaysAmortized?: number;
20
+ /** total spend over the previous 7 days */
14
21
  spendPrevious7Days?: number;
15
22
  spendPrevious7DaysAmortized?: number;
16
23
  }
17
24
  export interface ResourceByLocation {
18
25
  location: string;
19
26
  resources: number;
27
+ /** total spend in the current billing period */
20
28
  spendBilling?: number;
29
+ /** total amortized spend in the current billing period */
21
30
  spendBillingAmortized?: number;
31
+ /** total spend in the previous billing period */
22
32
  spendPreviousBilling?: number;
23
33
  spendPreviousBillingAmortized?: number;
34
+ /** total spend over the last 30 days */
24
35
  spend30Days?: number;
25
36
  spend30DaysAmortized?: number;
37
+ /** total spend over the previous 30 days */
26
38
  spendPrevious30Days?: number;
27
39
  spendPrevious30DaysAmortized?: number;
40
+ /** total spend over the last 7 days */
28
41
  spend7Days?: number;
29
42
  spend7DaysAmortized?: number;
43
+ /** total spend over the previous 7 days */
30
44
  spendPrevious7Days?: number;
31
45
  spendPrevious7DaysAmortized?: number;
32
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../src/azure/resources.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../src/azure/resources.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iDAAiD;IACjD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,4CAA4C;IAC5C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,2CAA2C;IAC3C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iDAAiD;IACjD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,4CAA4C;IAC5C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,2CAA2C;IAC3C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}
@@ -0,0 +1,28 @@
1
+ export interface SecurityImpact {
2
+ id?: string;
3
+ controlDisplayName: string;
4
+ controlName: string;
5
+ /** Recommendation ids */
6
+ recommendationIds: string[];
7
+ notApplicableResourceCount: number;
8
+ unhealthyResourceCount: number;
9
+ healthyResourceCount: number;
10
+ totalResourceCount: number;
11
+ maxScore: number;
12
+ currentScore: number;
13
+ potentialScoreIncrease: number;
14
+ }
15
+ /** For individual resource status */
16
+ export interface SecurityAssessmentStatus {
17
+ resourceId: string;
18
+ status: 'Healthy' | 'Unhealthy' | 'NotApplicable';
19
+ }
20
+ /** For subscription level */
21
+ export interface SubscriptionSecurityStatus {
22
+ activeRecommendations: number;
23
+ totalRecommendations: number;
24
+ healthyResources: number;
25
+ unhealthyResources: number;
26
+ notApplicableResources: number;
27
+ }
28
+ //# sourceMappingURL=security.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/azure/security.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,0BAA0B,EAAE,MAAM,CAAC;IACnC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED,qCAAqC;AACrC,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,eAAe,CAAC;CACnD;AAED,6BAA6B;AAC7B,MAAM,WAAW,0BAA0B;IACzC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,CAAC;CAChC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=security.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/azure/security.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ import { ServiceRetirementRecommendation } from './recommendations';
2
+ export interface ServiceRetirement {
3
+ id: string;
4
+ subscriptionId: string;
5
+ resourceId: string;
6
+ resourceName: string;
7
+ resourceType: string;
8
+ resourceGroup: string;
9
+ location: string;
10
+ retiringFeature: string;
11
+ retirementDate: string;
12
+ effort?: 'high' | 'medium' | 'low';
13
+ effortHours?: number;
14
+ tags?: Record<string, string>;
15
+ }
16
+ export interface ServiceRetirementPortalResource {
17
+ id: string;
18
+ name?: string;
19
+ resourceType?: string;
20
+ }
21
+ export interface ServiceRetirementPortalEntry extends ServiceRetirementRecommendation {
22
+ resources: ServiceRetirementPortalResource[];
23
+ }
24
+ //# sourceMappingURL=serviceRetirement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serviceRetirement.d.ts","sourceRoot":"","sources":["../../src/azure/serviceRetirement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AAEpE,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,+BAA+B;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,4BAA6B,SAAQ,+BAA+B;IACnF,SAAS,EAAE,+BAA+B,EAAE,CAAC;CAC9C"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=serviceRetirement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serviceRetirement.js","sourceRoot":"","sources":["../../src/azure/serviceRetirement.ts"],"names":[],"mappings":""}
@@ -1,7 +1,9 @@
1
+ import { SubscriptionInfoBase } from '../accounts/accounts.js';
1
2
  import { Budget } from './budgets.js';
2
3
  import { CostDetails, MiscCost } from './prices.js';
3
4
  import { Recommendation, RecommendationStats, RecommendationSummary } from './recommendations.js';
4
5
  import { ResourceByLocation, ResourcesByType } from './resources.js';
6
+ import { SavingsPotential } from './views.js';
5
7
  export interface SubscriptionSummaryLite {
6
8
  companyId: string;
7
9
  tenantId: string;
@@ -9,20 +11,11 @@ export interface SubscriptionSummaryLite {
9
11
  displayName: string;
10
12
  properties?: SubscriptionProperties;
11
13
  }
12
- export interface CompanySubscription {
14
+ export interface CompanySubscription extends SubscriptionInfoBase {
15
+ /** Partition Key */
13
16
  companyId: string;
17
+ /** Azure Subscription ID */
14
18
  id: string;
15
- name: string;
16
- cloudAccountId: string;
17
- cloudAccountName: string;
18
- status?: string;
19
- error?: string;
20
- lastUpdated?: string;
21
- duration?: string;
22
- currency?: string;
23
- currencySymbol?: string;
24
- foundCurrency?: boolean;
25
- ready?: boolean;
26
19
  }
27
20
  export interface SubscriptionSummary {
28
21
  companyId: string;
@@ -31,7 +24,7 @@ export interface SubscriptionSummary {
31
24
  displayName: string;
32
25
  properties?: SubscriptionProperties;
33
26
  recommendationSummary: RecommendationSummary[];
34
- totalCostSavings: number;
27
+ savings: SavingsPotential;
35
28
  totalRetailCost: number;
36
29
  spendingLimit: boolean;
37
30
  budgets: Budget[];
@@ -52,9 +45,11 @@ export interface Subscription {
52
45
  budgets?: Budget[];
53
46
  stats?: SubscriptionStats;
54
47
  recommendationSummary?: RecommendationSummary[];
48
+ /** This is for any cost that doesn't belong to a resource, such as Defender for Cloud */
55
49
  miscCost?: CostDetails;
56
50
  }
57
51
  export interface SubscriptionStats {
52
+ /** total number of resources in the subscription */
58
53
  resourcesTotal: number;
59
54
  recommendations: RecommendationStats;
60
55
  recommendationsUnique: RecommendationStats;
@@ -76,6 +71,7 @@ export interface SubscriptionHistory {
76
71
  history: SubscriptionHistoryItem[];
77
72
  }
78
73
  export interface SubscriptionHistoryItem {
74
+ /** 20250520 */
79
75
  date: number;
80
76
  secureScore: number;
81
77
  resourcesTotal: number;
@@ -1 +1 @@
1
- {"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../src/azure/subscriptions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../src/azure/subscriptions.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- import { ActivityLog, MonthSummary } from './common.js';
1
+ import { ActivityLog, DailySummary, MonthSummary } from './common.js';
2
2
  import { DisplayMetric, MetricPlot } from './metrics.js';
3
3
  import { CostSummaryDetails } from './prices.js';
4
4
  import { AzureRecommendationLite, Recommendation } from './recommendations.js';
5
5
  import { SubscriptionSummary, SubscriptionSummaryLite } from './subscriptions.js';
6
+ import { ResourceCostEstimationSummary, ResourceSimpleCostEstimationSummary } from './costEstimation';
6
7
  export interface AzureDashboardView {
7
8
  subscription: SubscriptionSummary;
8
9
  timestamp: string;
@@ -10,32 +11,68 @@ export interface AzureDashboardView {
10
11
  costEndDate?: number;
11
12
  calendarSummary?: MonthSummary;
12
13
  billingPeriodSummary?: MonthSummary;
14
+ summary?: ExecutiveSummary;
15
+ dailySummary?: DailySummary;
16
+ }
17
+ export interface ExecutiveSummary {
18
+ summary: string;
19
+ details: string;
13
20
  }
14
21
  export interface AzureResourcesView {
15
22
  subscription: SubscriptionSummaryLite;
16
23
  timestamp: string;
17
24
  resources: AzureResourcePortalItem[];
25
+ /** e.g. { "environment": ["production", "staging"], "team": ["devops", "frontend"] } */
18
26
  tags?: Record<string, string[]>;
19
27
  }
28
+ /**
29
+ * Note that many properties will not exist and is only specified here if it's custom, the rest of the properties will be looked up
30
+ * such as icon, description, product, serviceName
31
+ */
20
32
  export interface AzureResourcePortalItem {
33
+ /** e.g. "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/my-resource-group/providers/Microsoft.Web/sites/my-app-service" */
21
34
  id: string;
35
+ /** e.g. "my-app-service" */
22
36
  name: string;
37
+ /** e.g. Linux or Windows */
23
38
  label1?: string;
39
+ /** e.g. 2 Cores, 4 GB RAM */
24
40
  label2?: string;
25
41
  label3?: string;
42
+ /** e.g. "F1" or "P1" */
26
43
  sku?: string;
44
+ /** e.g. "App Service" or "Function App" */
27
45
  serviceName?: string;
46
+ /** e.g. "appservice" or "functionapp" */
28
47
  icon?: string;
48
+ /** e.g. "Azure App Service is an HTTP-based service for hosting web applications, REST APIs, and mobile back ends. You can develop in your favorite language, be it .NET, .NET Core, Java, Ruby, Node.js, PHP, or Python. Applications run and scale with ease on both Windows and Linux-based environments." */
29
49
  description?: string;
50
+ /** e.g. "https://azure.microsoft.com/en-us/products/app-service/" */
30
51
  product?: string;
52
+ /** e.g. "Microsoft.Web/sites" */
31
53
  type: string;
54
+ /** e.g. "West US" */
32
55
  location: string;
56
+ /** Total spend over the last 30 days */
33
57
  spend: number;
58
+ /** Total spend over the last 30 days, taking into account reserved instances and savings plans */
34
59
  spendAmortized: number;
60
+ savings?: SavingsPotential;
35
61
  recommendations: AzureRecommendationLite[];
62
+ /** Spotto recommendations */
36
63
  customRecommendations: AzureRecommendationLite[];
64
+ /** e.g. { "environment": "production", "team": "devops" } */
37
65
  tags?: Record<string, string>;
66
+ /** e.g. 1715769600000 (Unix timestamp in milliseconds) */
38
67
  createdTime?: number;
68
+ /** This is simplfied */
69
+ costEstimation?: ResourceSimpleCostEstimationSummary;
70
+ }
71
+ export interface SavingsPotential {
72
+ minAmount: number;
73
+ minPercentage: number;
74
+ maxAmount: number;
75
+ maxPercentage: number;
39
76
  }
40
77
  export interface AzureResourcePluginView {
41
78
  currency: string;
@@ -54,6 +91,7 @@ export interface AzureResourcePluginItem {
54
91
  cost?: CostSummaryDetails;
55
92
  metrics?: DisplayMetric[];
56
93
  activityLogs?: ActivityLog[];
94
+ costEstimation?: ResourceCostEstimationSummary;
57
95
  }
58
96
  export interface AzureResourcePluginItemDetailed {
59
97
  currency: string;
@@ -63,6 +101,7 @@ export interface AzureResourcePluginItemDetailed {
63
101
  costEndDate?: number;
64
102
  timestamp: string;
65
103
  id: string;
104
+ /** Added to help identify the company */
66
105
  companyId?: string;
67
106
  type: string;
68
107
  name: string;
@@ -75,7 +114,9 @@ export interface AzureResourcePluginItemDetailed {
75
114
  subscription: string;
76
115
  resourceGroup: string;
77
116
  tags?: Record<string, string>;
117
+ costEstimation?: ResourceCostEstimationSummary;
78
118
  }
119
+ /** This is used by the plugin summaryu (e.g. A list of all the VMs on the VMs page) */
79
120
  export interface AzurePluginResourcesLite {
80
121
  currency: string;
81
122
  currencySymbol: string;
@@ -83,9 +124,12 @@ export interface AzurePluginResourcesLite {
83
124
  }
84
125
  export interface AzurePluginResourceLite {
85
126
  resourceId: string;
127
+ /** Total spend over the last 30 days */
86
128
  spend: number;
129
+ /** Total amortized spend over the last 30 days */
87
130
  amortizedSpend: number;
88
131
  recommendations: AzureRecommendationLite[];
132
+ /** Spotto recommendations */
89
133
  customRecommendations: AzureRecommendationLite[];
90
134
  }
91
135
  //# sourceMappingURL=views.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../src/azure/views.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAElF,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,mBAAmB,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,YAAY,CAAC;IAC/B,oBAAoB,CAAC,EAAE,YAAY,CAAC;CACrC;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,uBAAuB,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,uBAAuB,EAAE,CAAC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACjC;AAID,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,uBAAuB,EAAE,CAAC;IAC3C,qBAAqB,EAAE,uBAAuB,EAAE,CAAC;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,uBAAuB,EAAE,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAGD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,uBAAuB,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,uBAAuB,EAAE,CAAC;IAC3C,qBAAqB,EAAE,uBAAuB,EAAE,CAAC;CAClD"}
1
+ {"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../src/azure/views.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  export interface PaginationResult<T> {
2
+ /** Data items for the current page */
2
3
  data: T[];
4
+ /** Partition key for fetching the next page */
3
5
  nextPartitionKey?: string;
6
+ /** Row key for fetching the next page */
4
7
  nextRowKey?: string;
5
8
  }
6
9
  export interface PaginationParams {
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../src/common/pagination.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../src/common/pagination.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,sCAAsC;IACtC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,+CAA+C;IAC/C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -14,6 +14,7 @@ export interface Company {
14
14
  defaultRole?: number;
15
15
  objectives?: SurveyResponse[];
16
16
  notifications?: NotificationSubscription[];
17
+ integrations?: CompanyIntegrations;
17
18
  }
18
19
  export interface CompanyCreate {
19
20
  name: string;
@@ -23,11 +24,19 @@ export interface CompanyCreate {
23
24
  defaultRole?: number;
24
25
  objectives?: SurveyResponse[];
25
26
  notifications?: NotificationSubscription[];
27
+ integrations?: CompanyIntegrations;
26
28
  }
27
29
  export interface UserCompany {
28
30
  email: string;
29
31
  companyId: string;
30
32
  companyName: string;
33
+ userId: string;
31
34
  role: number;
32
35
  }
36
+ export interface CompanyIntegrations {
37
+ enabled: boolean;
38
+ provider: 'jira' | 'halo' | 'connectwise';
39
+ properties: Map<string, string>;
40
+ secret: string;
41
+ }
33
42
  //# sourceMappingURL=company.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"company.d.ts","sourceRoot":"","sources":["../../src/company/company.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,aAAa,CAAC,EAAE,wBAAwB,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,aAAa,CAAC,EAAE,wBAAwB,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd"}
1
+ {"version":3,"file":"company.d.ts","sourceRoot":"","sources":["../../src/company/company.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,aAAa,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAC3C,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACpC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,aAAa,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAC3C,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACpC;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,aAAa,CAAC;IAC1C,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -1,3 +1,4 @@
1
+ /** Notification subscription types */
1
2
  export interface NotificationSubscription {
2
3
  id?: string;
3
4
  name: string;
@@ -6,28 +7,47 @@ export interface NotificationSubscription {
6
7
  url?: string;
7
8
  };
8
9
  subscriptions: {
10
+ /** Array of selected recommendation flags */
9
11
  recommendations: number[];
12
+ /** Array of selected user flags */
10
13
  users: number[];
14
+ /** Array of selected cloud account flags */
11
15
  cloudAccounts: number[];
16
+ /** Array of selected sharing flags */
17
+ sharing: number[];
12
18
  };
13
19
  }
20
+ /** Bitmask constants for resources */
14
21
  export declare const RECOMMENDATION_FLAGS: {
22
+ /** 001 */
15
23
  readonly PRIORITIZED: 1;
24
+ /** 010 */
16
25
  readonly DISMISSED: 2;
26
+ /** 100 */
17
27
  readonly NEW: 4;
18
28
  };
29
+ /** Bitmask constants for users */
19
30
  export declare const USER_FLAGS: {
31
+ /** 001 */
20
32
  readonly INVITE_ACCEPTED: 1;
21
33
  };
34
+ /** Bitmask constants for cloud accounts */
22
35
  export declare const CLOUD_ACCOUNT_FLAGS: {
36
+ /** 001 */
23
37
  readonly SYNC_COMPLETED: 1;
24
38
  };
39
+ export declare const SHARING_FLAGS: {
40
+ readonly SHARE_CREATED: 1;
41
+ };
42
+ /** Helper functions for bitmask operations */
25
43
  export declare const hasFlag: (value: number, flag: number) => boolean;
26
44
  export declare const addFlag: (value: number, flag: number) => number;
27
45
  export declare const removeFlag: (value: number, flag: number) => number;
46
+ /** Array helper functions */
28
47
  export declare const hasArrayFlag: (array: number[], flag: number) => boolean;
29
48
  export declare const addArrayFlag: (array: number[], flag: number) => number[];
30
49
  export declare const removeArrayFlag: (array: number[], flag: number) => number[];
50
+ /** Get individual flags from resources array */
31
51
  export declare const getRecommendationsFlags: (array: number[]) => {
32
52
  new: boolean;
33
53
  dismissed: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../src/company/notification.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,wBAAwB;IACvC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE;QACP,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,EAAE,CAAC;QAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF,aAAa,EAAE;QACb,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,aAAa,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;CACH;AAGD,eAAO,MAAM,oBAAoB;;;;CAIvB,CAAC;AAGX,eAAO,MAAM,UAAU;;CAEb,CAAC;AAGX,eAAO,MAAM,mBAAmB;;CAEtB,CAAC;AAGX,eAAO,MAAM,OAAO,GAAI,OAAO,MAAM,EAAE,MAAM,MAAM,KAAG,OAA+B,CAAC;AACtF,eAAO,MAAM,OAAO,GAAI,OAAO,MAAM,EAAE,MAAM,MAAM,KAAG,MAAsB,CAAC;AAC7E,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,EAAE,MAAM,MAAM,KAAG,MAAuB,CAAC;AAGjF,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,EAAE,EAAE,MAAM,MAAM,KAAG,OAA+B,CAAC;AAC7F,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,EAAE,EAAE,MAAM,MAAM,KAAG,MAAM,EAAuD,CAAC;AAC3H,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,EAAE,EAAE,MAAM,MAAM,KAAG,MAAM,EAAmC,CAAC;AAG1G,eAAO,MAAM,uBAAuB,GAAI,OAAO,MAAM,EAAE;;;;CAIrD,CAAC"}
1
+ {"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../src/company/notification.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,MAAM,WAAW,wBAAwB;IACvC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE;QACP,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,EAAE,CAAC;QAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF,aAAa,EAAE;QACb,6CAA6C;QAC7C,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,mCAAmC;QACnC,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,4CAA4C;QAC5C,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,sCAAsC;QACtC,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;CACH;AAED,sCAAsC;AACtC,eAAO,MAAM,oBAAoB;IAC/B,UAAU;;IAEV,UAAU;;IAEV,UAAU;;CAEF,CAAC;AAEX,kCAAkC;AAClC,eAAO,MAAM,UAAU;IACrB,UAAU;;CAEF,CAAC;AAEX,2CAA2C;AAC3C,eAAO,MAAM,mBAAmB;IAC9B,UAAU;;CAEF,CAAC;AAEX,eAAO,MAAM,aAAa;;CAEhB,CAAC;AAEX,8CAA8C;AAC9C,eAAO,MAAM,OAAO,GAAI,OAAO,MAAM,EAAE,MAAM,MAAM,KAAG,OAA+B,CAAC;AACtF,eAAO,MAAM,OAAO,GAAI,OAAO,MAAM,EAAE,MAAM,MAAM,KAAG,MAAsB,CAAC;AAC7E,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,EAAE,MAAM,MAAM,KAAG,MAAuB,CAAC;AAEjF,6BAA6B;AAC7B,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,EAAE,EAAE,MAAM,MAAM,KAAG,OAA+B,CAAC;AAC7F,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,EAAE,EAAE,MAAM,MAAM,KAAG,MAAM,EAAuD,CAAC;AAC3H,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,EAAE,EAAE,MAAM,MAAM,KAAG,MAAM,EAAmC,CAAC;AAE1G,gDAAgD;AAChD,eAAO,MAAM,uBAAuB,GAAI,OAAO,MAAM,EAAE;;;;CAIrD,CAAC"}