@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.
Files changed (206) hide show
  1. package/LICENSE +18 -40
  2. package/README.md +4 -13
  3. package/dist/accounts/accounts.d.ts +45 -3
  4. package/dist/accounts/accounts.d.ts.map +1 -1
  5. package/dist/accounts/index.d.ts +3 -0
  6. package/dist/accounts/index.d.ts.map +1 -1
  7. package/dist/accounts/index.js +3 -0
  8. package/dist/accounts/index.js.map +1 -1
  9. package/dist/accounts/readPermissions.d.ts +45 -0
  10. package/dist/accounts/readPermissions.d.ts.map +1 -0
  11. package/dist/accounts/readPermissions.js +70 -0
  12. package/dist/accounts/readPermissions.js.map +1 -0
  13. package/dist/accounts/validation.d.ts +24 -0
  14. package/dist/accounts/validation.d.ts.map +1 -0
  15. package/dist/accounts/validation.js +3 -0
  16. package/dist/accounts/validation.js.map +1 -0
  17. package/dist/accounts/writePermissions.d.ts +34 -0
  18. package/dist/accounts/writePermissions.d.ts.map +1 -0
  19. package/dist/accounts/writePermissions.js +37 -0
  20. package/dist/accounts/writePermissions.js.map +1 -0
  21. package/dist/ai/index.d.ts +975 -9
  22. package/dist/ai/index.d.ts.map +1 -1
  23. package/dist/ai/index.js +1 -1
  24. package/dist/ai/index.js.map +1 -1
  25. package/dist/azure/activityLogs.d.ts +65 -0
  26. package/dist/azure/activityLogs.d.ts.map +1 -0
  27. package/dist/azure/activityLogs.js +6 -0
  28. package/dist/azure/activityLogs.js.map +1 -0
  29. package/dist/azure/benefits.d.ts +137 -0
  30. package/dist/azure/benefits.d.ts.map +1 -0
  31. package/dist/azure/benefits.js +3 -0
  32. package/dist/azure/benefits.js.map +1 -0
  33. package/dist/azure/billingPlots.d.ts +249 -0
  34. package/dist/azure/billingPlots.d.ts.map +1 -0
  35. package/dist/azure/billingPlots.js +6 -0
  36. package/dist/azure/billingPlots.js.map +1 -0
  37. package/dist/azure/budgets.d.ts +4 -0
  38. package/dist/azure/budgets.d.ts.map +1 -1
  39. package/dist/azure/commitmentsPlanning.d.ts +159 -0
  40. package/dist/azure/commitmentsPlanning.d.ts.map +1 -0
  41. package/dist/azure/commitmentsPlanning.js +3 -0
  42. package/dist/azure/commitmentsPlanning.js.map +1 -0
  43. package/dist/azure/common.d.ts +34 -0
  44. package/dist/azure/common.d.ts.map +1 -1
  45. package/dist/azure/configs.d.ts +75 -2
  46. package/dist/azure/configs.d.ts.map +1 -1
  47. package/dist/azure/costEstimation.d.ts +78 -0
  48. package/dist/azure/costEstimation.d.ts.map +1 -0
  49. package/dist/azure/costEstimation.js +3 -0
  50. package/dist/azure/costEstimation.js.map +1 -0
  51. package/dist/azure/governance.d.ts +627 -0
  52. package/dist/azure/governance.d.ts.map +1 -0
  53. package/dist/azure/governance.js +12 -0
  54. package/dist/azure/governance.js.map +1 -0
  55. package/dist/azure/metrics.d.ts +75 -4
  56. package/dist/azure/metrics.d.ts.map +1 -1
  57. package/dist/azure/payloads.d.ts +22 -1
  58. package/dist/azure/payloads.d.ts.map +1 -1
  59. package/dist/azure/prices.d.ts +178 -1
  60. package/dist/azure/prices.d.ts.map +1 -1
  61. package/dist/azure/publicIpAddresses.d.ts +96 -0
  62. package/dist/azure/publicIpAddresses.d.ts.map +1 -0
  63. package/dist/azure/publicIpAddresses.js +6 -0
  64. package/dist/azure/publicIpAddresses.js.map +1 -0
  65. package/dist/azure/recommendationAudit.d.ts +113 -0
  66. package/dist/azure/recommendationAudit.d.ts.map +1 -0
  67. package/dist/azure/recommendationAudit.js +10 -0
  68. package/dist/azure/recommendationAudit.js.map +1 -0
  69. package/dist/azure/recommendationState.d.ts +92 -3
  70. package/dist/azure/recommendationState.d.ts.map +1 -1
  71. package/dist/azure/recommendations.d.ts +411 -6
  72. package/dist/azure/recommendations.d.ts.map +1 -1
  73. package/dist/azure/recommendations.js.map +1 -1
  74. package/dist/azure/relationships.d.ts +77 -0
  75. package/dist/azure/relationships.d.ts.map +1 -0
  76. package/dist/azure/relationships.js +3 -0
  77. package/dist/azure/relationships.js.map +1 -0
  78. package/dist/azure/reports.d.ts +248 -0
  79. package/dist/azure/reports.d.ts.map +1 -1
  80. package/dist/azure/reports.js +13 -0
  81. package/dist/azure/reports.js.map +1 -1
  82. package/dist/azure/resources.d.ts +80 -0
  83. package/dist/azure/resources.d.ts.map +1 -1
  84. package/dist/azure/reviewChecklist.d.ts +139 -0
  85. package/dist/azure/reviewChecklist.d.ts.map +1 -0
  86. package/dist/azure/reviewChecklist.js +3 -0
  87. package/dist/azure/reviewChecklist.js.map +1 -0
  88. package/dist/azure/security.d.ts +15 -1
  89. package/dist/azure/security.d.ts.map +1 -1
  90. package/dist/azure/serviceRetirement.d.ts +28 -0
  91. package/dist/azure/serviceRetirement.d.ts.map +1 -0
  92. package/dist/azure/serviceRetirement.js +3 -0
  93. package/dist/azure/serviceRetirement.js.map +1 -0
  94. package/dist/azure/serviceRetirementState.d.ts +22 -0
  95. package/dist/azure/serviceRetirementState.d.ts.map +1 -0
  96. package/dist/azure/serviceRetirementState.js +3 -0
  97. package/dist/azure/serviceRetirementState.js.map +1 -0
  98. package/dist/azure/storage-inventory.d.ts +241 -0
  99. package/dist/azure/storage-inventory.d.ts.map +1 -0
  100. package/dist/azure/storage-inventory.js +3 -0
  101. package/dist/azure/storage-inventory.js.map +1 -0
  102. package/dist/azure/subscriptions.d.ts +34 -13
  103. package/dist/azure/subscriptions.d.ts.map +1 -1
  104. package/dist/azure/views.d.ts +252 -3
  105. package/dist/azure/views.d.ts.map +1 -1
  106. package/dist/common/index.d.ts +1 -0
  107. package/dist/common/index.d.ts.map +1 -1
  108. package/dist/common/index.js +1 -0
  109. package/dist/common/index.js.map +1 -1
  110. package/dist/common/pagination.d.ts +3 -0
  111. package/dist/common/pagination.d.ts.map +1 -1
  112. package/dist/common/provider.d.ts +9 -0
  113. package/dist/common/provider.d.ts.map +1 -0
  114. package/dist/common/provider.js +9 -0
  115. package/dist/common/provider.js.map +1 -0
  116. package/dist/company/billingAccount.d.ts +30 -0
  117. package/dist/company/billingAccount.d.ts.map +1 -0
  118. package/dist/company/billingAccount.js +3 -0
  119. package/dist/company/billingAccount.js.map +1 -0
  120. package/dist/company/company.d.ts +32 -1
  121. package/dist/company/company.d.ts.map +1 -1
  122. package/dist/company/index.d.ts +1 -0
  123. package/dist/company/index.d.ts.map +1 -1
  124. package/dist/company/index.js +1 -0
  125. package/dist/company/index.js.map +1 -1
  126. package/dist/company/notification.d.ts +31 -1
  127. package/dist/company/notification.d.ts.map +1 -1
  128. package/dist/company/notification.js +24 -12
  129. package/dist/company/notification.js.map +1 -1
  130. package/dist/company/survey.d.ts +3 -0
  131. package/dist/company/survey.d.ts.map +1 -1
  132. package/dist/events/alertDefinitionRun.d.ts +23 -0
  133. package/dist/events/alertDefinitionRun.d.ts.map +1 -0
  134. package/dist/events/alertDefinitionRun.js +3 -0
  135. package/dist/events/alertDefinitionRun.js.map +1 -0
  136. package/dist/events/baseAlert.d.ts +130 -0
  137. package/dist/events/baseAlert.d.ts.map +1 -0
  138. package/dist/events/baseAlert.js +3 -0
  139. package/dist/events/baseAlert.js.map +1 -0
  140. package/dist/events/cost.d.ts +361 -0
  141. package/dist/events/cost.d.ts.map +1 -0
  142. package/dist/events/cost.js +3 -0
  143. package/dist/events/cost.js.map +1 -0
  144. package/dist/events/costAnomalies.d.ts +47 -0
  145. package/dist/events/costAnomalies.d.ts.map +1 -0
  146. package/dist/events/costAnomalies.js +3 -0
  147. package/dist/events/costAnomalies.js.map +1 -0
  148. package/dist/events/costViews.d.ts +23 -0
  149. package/dist/events/costViews.d.ts.map +1 -0
  150. package/dist/events/costViews.js +3 -0
  151. package/dist/events/costViews.js.map +1 -0
  152. package/dist/events/eventStatus.d.ts +67 -0
  153. package/dist/events/eventStatus.d.ts.map +1 -0
  154. package/dist/events/eventStatus.js +3 -0
  155. package/dist/events/eventStatus.js.map +1 -0
  156. package/dist/events/index.d.ts +7 -0
  157. package/dist/events/index.d.ts.map +1 -0
  158. package/dist/events/index.js +23 -0
  159. package/dist/events/index.js.map +1 -0
  160. package/dist/feedbacks/feedback.d.ts +9 -0
  161. package/dist/feedbacks/feedback.d.ts.map +1 -1
  162. package/dist/identity/apikey.d.ts +67 -0
  163. package/dist/identity/apikey.d.ts.map +1 -0
  164. package/dist/identity/apikey.js +3 -0
  165. package/dist/identity/apikey.js.map +1 -0
  166. package/dist/identity/index.d.ts +2 -0
  167. package/dist/identity/index.d.ts.map +1 -0
  168. package/dist/identity/index.js +18 -0
  169. package/dist/identity/index.js.map +1 -0
  170. package/dist/index.d.ts +19 -0
  171. package/dist/index.d.ts.map +1 -1
  172. package/dist/index.js +19 -1
  173. package/dist/index.js.map +1 -1
  174. package/dist/integrations/halo.d.ts +76 -0
  175. package/dist/integrations/halo.d.ts.map +1 -0
  176. package/dist/integrations/halo.js +3 -0
  177. package/dist/integrations/halo.js.map +1 -0
  178. package/dist/integrations/index.d.ts +3 -0
  179. package/dist/integrations/index.d.ts.map +1 -0
  180. package/dist/integrations/index.js +19 -0
  181. package/dist/integrations/index.js.map +1 -0
  182. package/dist/integrations/integrationTickets.d.ts +67 -0
  183. package/dist/integrations/integrationTickets.d.ts.map +1 -0
  184. package/dist/integrations/integrationTickets.js +3 -0
  185. package/dist/integrations/integrationTickets.js.map +1 -0
  186. package/dist/scheduler/index.d.ts +2 -0
  187. package/dist/scheduler/index.d.ts.map +1 -0
  188. package/dist/scheduler/index.js +18 -0
  189. package/dist/scheduler/index.js.map +1 -0
  190. package/dist/scheduler/scheduler.d.ts +110 -0
  191. package/dist/scheduler/scheduler.d.ts.map +1 -0
  192. package/dist/scheduler/scheduler.js +3 -0
  193. package/dist/scheduler/scheduler.js.map +1 -0
  194. package/dist/tags/index.d.ts +2 -0
  195. package/dist/tags/index.d.ts.map +1 -0
  196. package/dist/tags/index.js +18 -0
  197. package/dist/tags/index.js.map +1 -0
  198. package/dist/tags/tags.d.ts +26 -0
  199. package/dist/tags/tags.d.ts.map +1 -0
  200. package/dist/tags/tags.js +10 -0
  201. package/dist/tags/tags.js.map +1 -0
  202. package/dist/unknown/services.d.ts +12 -0
  203. package/dist/unknown/services.d.ts.map +1 -0
  204. package/dist/unknown/services.js +3 -0
  205. package/dist/unknown/services.js.map +1 -0
  206. package/package.json +2 -2
@@ -1,8 +1,11 @@
1
- import { ActivityLog, MonthSummary } from './common.js';
2
- import { DisplayMetric, MetricPlot } from './metrics.js';
1
+ import { ActivityLog, DailySummary, MonthSummary } from './common.js';
2
+ import { DisplayMetric, MetricPlot, MetricsDefinition } from './metrics.js';
3
3
  import { CostSummaryDetails } from './prices.js';
4
+ import type { BenefitCostBasis, IBenefitCoverageBreakdownEntry } from './benefits.js';
4
5
  import { AzureRecommendationLite, Recommendation } from './recommendations.js';
5
- import { SubscriptionSummary, SubscriptionSummaryLite } from './subscriptions.js';
6
+ import { SpendDataSource, SubscriptionSummary, SubscriptionSummaryLite } from './subscriptions.js';
7
+ import { ResourceCostEstimationSummary, ResourceSimpleCostEstimationSummary } from './costEstimation';
8
+ import { Tags } from '../tags/tags.js';
6
9
  export interface AzureDashboardView {
7
10
  subscription: SubscriptionSummary;
8
11
  timestamp: string;
@@ -10,32 +13,112 @@ export interface AzureDashboardView {
10
13
  costEndDate?: number;
11
14
  calendarSummary?: MonthSummary;
12
15
  billingPeriodSummary?: MonthSummary;
16
+ summary?: ExecutiveSummary;
17
+ dailySummary?: DailySummary;
18
+ costSavingsSummary?: CostSavingsSummary;
19
+ }
20
+ export interface ExecutiveSummary {
21
+ summary: string;
22
+ details: string;
13
23
  }
14
24
  export interface AzureResourcesView {
15
25
  subscription: SubscriptionSummaryLite;
16
26
  timestamp: string;
17
27
  resources: AzureResourcePortalItem[];
28
+ /** 30-day billed spend not attributable to a specific resource (e.g. misc/security add-ons) */
29
+ miscCost?: number;
30
+ /** e.g. { "environment": ["production", "staging"], "team": ["devops", "frontend"] } */
18
31
  tags?: Record<string, string[]>;
32
+ spottoTags?: Tags;
33
+ costSavingsSummary?: CostSavingsSummary;
19
34
  }
35
+ /**
36
+ * 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
37
+ * such as icon, description, product, serviceName
38
+ */
20
39
  export interface AzureResourcePortalItem {
40
+ /** e.g. "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/my-resource-group/providers/Microsoft.Web/sites/my-app-service" */
21
41
  id: string;
42
+ /** e.g. "my-app-service" */
22
43
  name: string;
44
+ /** e.g. Linux or Windows */
23
45
  label1?: string;
46
+ /** e.g. 2 Cores, 4 GB RAM */
24
47
  label2?: string;
25
48
  label3?: string;
49
+ /** e.g. "F1" or "P1" */
26
50
  sku?: string;
51
+ /** e.g. "App Service" or "Function App" */
27
52
  serviceName?: string;
53
+ /** e.g. "appservice" or "functionapp" */
28
54
  icon?: string;
55
+ /** 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
56
  description?: string;
57
+ /** e.g. "https://azure.microsoft.com/en-us/products/app-service/" */
30
58
  product?: string;
59
+ /** e.g. "Microsoft.Web/sites" */
31
60
  type: string;
61
+ /** e.g. "West US" */
32
62
  location: string;
63
+ /** Total spend over the last 30 days */
33
64
  spend: number;
65
+ /** Total spend over the last 30 days, taking into account reserved instances and savings plans */
34
66
  spendAmortized: number;
67
+ /** Billing-backed portion of spend over the last 30 days */
68
+ spendActual?: number;
69
+ /** Billing-backed portion of amortized spend over the last 30 days */
70
+ spendAmortizedActual?: number;
71
+ /** Estimated portion of spend over the last 30 days */
72
+ spendEstimated?: number;
73
+ /** Estimated portion of amortized spend over the last 30 days */
74
+ spendAmortizedEstimated?: number;
75
+ /** Source of spend value */
76
+ spendSource?: SpendDataSource;
77
+ /** Confidence for spend source attribution */
78
+ spendSourceConfidence?: 'high' | 'unknown';
79
+ /** Optional source detail such as estimator method */
80
+ spendSourceDetail?: string;
81
+ /** Last day with actual billed cost for this resource in the current window */
82
+ billingActualThroughDate?: number;
83
+ /** First day of estimation gap (typically billingActualThroughDate + 1) */
84
+ estimationCutoffStartDate?: number;
85
+ /** Which savings basis should be shown for this resource */
86
+ savingsBasis?: 'billed' | 'amortized';
87
+ savings?: SavingsPotential;
35
88
  recommendations: AzureRecommendationLite[];
89
+ /** Spotto recommendations */
36
90
  customRecommendations: AzureRecommendationLite[];
91
+ /** e.g. { "environment": "production", "team": "devops" } */
37
92
  tags?: Record<string, string>;
93
+ spottoTags?: Tags;
94
+ /** e.g. 1715769600000 (Unix timestamp in milliseconds) */
38
95
  createdTime?: number;
96
+ benefitsCoverage?: BenefitCoverageSummary;
97
+ /** This is simplfied */
98
+ costEstimation?: ResourceSimpleCostEstimationSummary;
99
+ /** VM-specific same-region price/performance lookup data. */
100
+ vmPricePerformance?: VmPricePerformanceInsights;
101
+ }
102
+ export interface SavingsPotential {
103
+ minAmount: number;
104
+ minPercentage: number;
105
+ maxAmount: number;
106
+ maxPercentage: number;
107
+ }
108
+ export interface BenefitCoverageSummary {
109
+ windowStart: string;
110
+ windowEnd: string;
111
+ coveredQuantity: number;
112
+ benefitIds: string[];
113
+ benefitNames: string[];
114
+ basis?: BenefitCostBasis;
115
+ eligibleQuantity?: number;
116
+ eligibleCost?: number;
117
+ coveredCost?: number;
118
+ uncoveredCost?: number;
119
+ coveragePercent?: number;
120
+ benefitBreakdown?: IBenefitCoverageBreakdownEntry[];
121
+ warning?: string;
39
122
  }
40
123
  export interface AzureResourcePluginView {
41
124
  currency: string;
@@ -52,8 +135,30 @@ export interface AzureResourcePluginItem {
52
135
  location: string;
53
136
  recommendations?: Recommendation[];
54
137
  cost?: CostSummaryDetails;
138
+ /** Billing-backed portion of cost total */
139
+ spendActual?: number;
140
+ /** Billing-backed portion of amortized cost total */
141
+ spendAmortizedActual?: number;
142
+ /** Estimated portion of cost total */
143
+ spendEstimated?: number;
144
+ /** Estimated portion of amortized cost total */
145
+ spendAmortizedEstimated?: number;
146
+ /** Source of cost value */
147
+ costSource?: SpendDataSource;
148
+ /** Confidence for cost source attribution */
149
+ costSourceConfidence?: 'high' | 'unknown';
150
+ /** Optional source detail such as estimator method */
151
+ costSourceDetail?: string;
152
+ /** Last day with actual billed cost for this resource in the current window */
153
+ billingActualThroughDate?: number;
154
+ /** First day of estimation gap (typically billingActualThroughDate + 1) */
155
+ estimationCutoffStartDate?: number;
55
156
  metrics?: DisplayMetric[];
56
157
  activityLogs?: ActivityLog[];
158
+ benefitsCoverage?: BenefitCoverageSummary;
159
+ costEstimation?: ResourceCostEstimationSummary;
160
+ /** VM-specific same-region price/performance lookup data. */
161
+ vmPricePerformance?: VmPricePerformanceInsights;
57
162
  }
58
163
  export interface AzureResourcePluginItemDetailed {
59
164
  currency: string;
@@ -63,19 +168,133 @@ export interface AzureResourcePluginItemDetailed {
63
168
  costEndDate?: number;
64
169
  timestamp: string;
65
170
  id: string;
171
+ /** Added to help identify the company */
66
172
  companyId?: string;
67
173
  type: string;
68
174
  name: string;
69
175
  recommendations?: Recommendation[];
70
176
  cost?: CostSummaryDetails;
177
+ spendActual?: number;
178
+ spendAmortizedActual?: number;
179
+ spendEstimated?: number;
180
+ spendAmortizedEstimated?: number;
181
+ costSource?: SpendDataSource;
182
+ costSourceConfidence?: 'high' | 'unknown';
183
+ costSourceDetail?: string;
184
+ billingActualThroughDate?: number;
185
+ estimationCutoffStartDate?: number;
71
186
  metrics?: DisplayMetric[];
72
187
  activityLogs?: ActivityLog[];
73
188
  properties?: Record<string, string>;
74
189
  plots?: MetricPlot[];
190
+ metricsDefinitions?: MetricsDefinition[];
75
191
  subscription: string;
76
192
  resourceGroup: string;
77
193
  tags?: Record<string, string>;
194
+ spottoTags?: Tags;
195
+ benefitsCoverage?: BenefitCoverageSummary;
196
+ costEstimation?: ResourceCostEstimationSummary;
197
+ /** VM-specific same-region price/performance lookup data. */
198
+ vmPricePerformance?: VmPricePerformanceInsights;
199
+ }
200
+ export type VmPricePerformanceOsType = 'linux' | 'windows';
201
+ export type VmPricePerformanceTier = 'standard' | 'spot' | 'low' | string;
202
+ export type VmPricePerformancePurchaseOption = 'payg' | 'devtest' | 'reserved1y' | 'reserved3y' | 'savingsplan1y' | 'savingsplan3y' | 'spot' | string;
203
+ export type VmPricePerformanceBenchmarkConfidence = 'low' | 'medium' | 'high' | 'unknown';
204
+ export type VmPricePerformanceComparisonEligibility = 'default' | 'excluded-tier' | 'excluded-burstable' | 'excluded-low-confidence' | 'unavailable-in-subscription' | 'feature-trade-off' | string;
205
+ export interface VmPricePerformanceCatalogSource {
206
+ /** Lowercase static lookup file, e.g. `vm-usd-australiaeast.csv`. */
207
+ fileName: string;
208
+ /** Canonical region key used by the lookup file, e.g. `australiaeast`. */
209
+ region: string;
210
+ /** The current catalog is generated in USD for tenant-neutral comparison. */
211
+ currencyCode: 'USD';
212
+ /** Subscription/display currency used for user-facing price fields when available. */
213
+ displayCurrencyCode?: string;
214
+ displayPricingSource?: 'Azure Retail Prices API' | string;
215
+ generatedAt?: string;
216
+ }
217
+ export interface VmPricePerformanceSku {
218
+ armSkuName: string;
219
+ region: string;
220
+ currencyCode: 'USD';
221
+ osType: VmPricePerformanceOsType;
222
+ tier: VmPricePerformanceTier;
223
+ purchaseOption: VmPricePerformancePurchaseOption;
224
+ hourlyPriceUsd?: number;
225
+ monthlyPriceUsd?: number;
226
+ /** Subscription-currency retail price. Prefer this over USD fields for UI display. */
227
+ localCurrencyCode?: string;
228
+ localCurrencySymbol?: string;
229
+ localHourlyPrice?: number;
230
+ localMonthlyPrice?: number;
231
+ numberOfCores?: number;
232
+ memoryGB?: number;
233
+ maxDataDiskCount?: number;
234
+ maxRemoteStorageDisks?: number;
235
+ resourceDiskSizeMB?: number;
236
+ family?: string;
237
+ sizeFamily?: string;
238
+ cpuArchitecture?: string;
239
+ supportsPremiumDisk?: boolean;
240
+ acceleratedNetworking?: boolean;
241
+ rdmaEnabled?: boolean;
242
+ hyperVGenerations?: string[];
243
+ hasGpu?: boolean;
244
+ gpuCount?: number;
245
+ gpuMemoryGB?: number;
246
+ gpuModel?: string;
247
+ hasTempDisk?: boolean;
248
+ tempDiskType?: string;
249
+ maxTempStorageDisks?: number;
250
+ tempDiskSizePerDiskMiB?: number;
251
+ hasNvmeTempDisk?: boolean;
252
+ nvmeDiskCount?: number;
253
+ nvmeDiskSizePerDiskMiB?: number;
254
+ maxNics?: number;
255
+ maxNetworkBandwidthMbps?: number;
256
+ supportsEphemeralOsDisk?: boolean;
257
+ supportedRemoteDiskTypes?: string[];
258
+ benchmarkScore?: number;
259
+ benchmarkConfidence?: VmPricePerformanceBenchmarkConfidence;
260
+ pricePerPerformance?: number;
261
+ performancePerDollar?: number;
262
+ pricePerCoreUsd?: number;
263
+ pricePerMemoryGBUsd?: number;
264
+ localPricePerCore?: number;
265
+ localPricePerMemoryGB?: number;
266
+ comparisonEligibility?: VmPricePerformanceComparisonEligibility;
267
+ }
268
+ export interface VmPricePerformanceAlternative extends VmPricePerformanceSku {
269
+ rank: number;
270
+ savingsHourlyUsd?: number;
271
+ savingsMonthlyUsd?: number;
272
+ localSavingsHourly?: number;
273
+ localSavingsMonthly?: number;
274
+ localSavingsPercent?: number;
275
+ savingsPercent?: number;
276
+ performanceDeltaPercent?: number;
277
+ pricePerPerformanceDeltaPercent?: number;
278
+ reason?: string;
279
+ }
280
+ export interface VmPricePerformanceTradeOffAlternative extends VmPricePerformanceAlternative {
281
+ /** Capabilities that are present on the current SKU but are absent or lower on this alternative. */
282
+ lostCapabilities: string[];
78
283
  }
284
+ export interface VmPricePerformanceInsights {
285
+ /** Keep the first version intentionally simple: compare alternatives only in the resource's current region. */
286
+ comparisonScope: 'same-region';
287
+ /** Subscription/display currency used for user-facing price fields when available. */
288
+ displayCurrencyCode?: string;
289
+ displayCurrencySymbol?: string;
290
+ current?: VmPricePerformanceSku;
291
+ /** Feature-compatible alternatives that are safe default candidates. */
292
+ alternatives: VmPricePerformanceAlternative[];
293
+ /** Cheaper or better price/performance options that require review because they lose current SKU capabilities. */
294
+ tradeOffAlternatives?: VmPricePerformanceTradeOffAlternative[];
295
+ source: VmPricePerformanceCatalogSource;
296
+ }
297
+ /** This is used by the plugin summaryu (e.g. A list of all the VMs on the VMs page) */
79
298
  export interface AzurePluginResourcesLite {
80
299
  currency: string;
81
300
  currencySymbol: string;
@@ -83,9 +302,39 @@ export interface AzurePluginResourcesLite {
83
302
  }
84
303
  export interface AzurePluginResourceLite {
85
304
  resourceId: string;
305
+ /** Total spend over the last 30 days */
86
306
  spend: number;
307
+ /** Total amortized spend over the last 30 days */
87
308
  amortizedSpend: number;
88
309
  recommendations: AzureRecommendationLite[];
310
+ /** Spotto recommendations */
89
311
  customRecommendations: AzureRecommendationLite[];
90
312
  }
313
+ export interface CostSavingsSummary {
314
+ currency: string;
315
+ currencySymbol?: string;
316
+ costStartDate?: number;
317
+ costEndDate?: number;
318
+ totals: {
319
+ currentMonthly: number;
320
+ potentialMonthly: number;
321
+ minSavings: number;
322
+ maxSavings: number;
323
+ minSavingsPercent?: number;
324
+ maxSavingsPercent?: number;
325
+ };
326
+ categories: CostSavingsCategoryBreakdown[];
327
+ }
328
+ export interface CostSavingsCategoryBreakdown {
329
+ key: string;
330
+ label: string;
331
+ recommendationCount: number;
332
+ resourceCount: number;
333
+ currentMonthly: number;
334
+ potentialMonthly: number;
335
+ minSavings: number;
336
+ maxSavings: number;
337
+ sampleRecommendations: string[];
338
+ sampleResources: string[];
339
+ }
91
340
  //# sourceMappingURL=views.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../src/azure/views.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../src/azure/views.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  export * from './pagination';
2
+ export * from './provider';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./pagination"), exports);
18
+ __exportStar(require("./provider"), exports);
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,6CAA2B"}
@@ -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"}
@@ -0,0 +1,9 @@
1
+ export declare enum ProviderName {
2
+ Azure = "azure",
3
+ Aws = "aws"
4
+ }
5
+ export interface ProviderScope {
6
+ providerName: ProviderName;
7
+ providerScopeId: string;
8
+ }
9
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/common/provider.ts"],"names":[],"mappings":"AAAA,oBAAY,YAAY;IACtB,KAAK,UAAU;IACf,GAAG,QAAQ;CACZ;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;CACzB"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProviderName = void 0;
4
+ var ProviderName;
5
+ (function (ProviderName) {
6
+ ProviderName["Azure"] = "azure";
7
+ ProviderName["Aws"] = "aws";
8
+ })(ProviderName || (exports.ProviderName = ProviderName = {}));
9
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/common/provider.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,+BAAe,CAAA;IACf,2BAAW,CAAA;AACb,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB"}
@@ -0,0 +1,30 @@
1
+ export interface BillingAccount {
2
+ companyId: string;
3
+ stripeCustomerId: string;
4
+ paymentMethodId: string;
5
+ plan: string;
6
+ status: string;
7
+ stripeSubscriptionId: string;
8
+ stripeItemExcessId: string;
9
+ stripeItemLicensedId: string;
10
+ trialPeriodDays?: number;
11
+ }
12
+ export interface BillingAccountSummary {
13
+ managedByParent: boolean;
14
+ parentCompany?: {
15
+ id: string;
16
+ name: string;
17
+ billingAccountId?: string;
18
+ };
19
+ message?: string;
20
+ billingAccount?: BillingAccount;
21
+ }
22
+ export interface BillingAccountPostRequest {
23
+ billingEmail?: string;
24
+ returnUrl?: string;
25
+ }
26
+ export interface BillingAccountPortalSession {
27
+ billingAccount: BillingAccount;
28
+ portalSessionUrl: string;
29
+ }
30
+ //# sourceMappingURL=billingAccount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"billingAccount.d.ts","sourceRoot":"","sources":["../../src/company/billingAccount.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE;QACd,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,MAAM,WAAW,yBAAyB;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,2BAA2B;IAC1C,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;CAC1B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=billingAccount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"billingAccount.js","sourceRoot":"","sources":["../../src/company/billingAccount.ts"],"names":[],"mappings":""}
@@ -4,9 +4,11 @@ export interface Company {
4
4
  id: string;
5
5
  name: string;
6
6
  website?: string;
7
- stripeCustomerId?: string;
8
7
  createdAt: Date;
9
8
  updatedAt: Date;
9
+ preferredTimezone?: string;
10
+ hourlyRateAmount?: number;
11
+ hourlyRateCurrency?: string;
10
12
  loginDomainNames?: string[];
11
13
  createdBy: string;
12
14
  domains?: string;
@@ -14,20 +16,49 @@ export interface Company {
14
16
  defaultRole?: number;
15
17
  objectives?: SurveyResponse[];
16
18
  notifications?: NotificationSubscription[];
19
+ integrations?: CompanyIntegrations;
20
+ billingAccountId?: string;
21
+ parentId?: string;
22
+ parentCompanyName?: string;
23
+ hasChildren?: boolean;
24
+ parentIntegrationSettings?: ParentIntegrationSettings[];
17
25
  }
18
26
  export interface CompanyCreate {
19
27
  name: string;
20
28
  website?: string;
29
+ preferredTimezone?: string;
30
+ hourlyRateAmount?: number;
31
+ hourlyRateCurrency?: string;
21
32
  domains?: string;
22
33
  requiresApproval?: boolean;
23
34
  defaultRole?: number;
24
35
  objectives?: SurveyResponse[];
25
36
  notifications?: NotificationSubscription[];
37
+ integrations?: CompanyIntegrations;
38
+ parentId?: string;
39
+ billingAccountId?: string;
26
40
  }
27
41
  export interface UserCompany {
28
42
  email: string;
29
43
  companyId: string;
30
44
  companyName: string;
45
+ userId: string;
31
46
  role: number;
47
+ parentId?: string;
48
+ parentCompanyName?: string;
49
+ hasChildren?: boolean;
50
+ }
51
+ export type KnownIntegrationProvider = 'jira' | 'halo' | 'connectwise';
52
+ export type IntegrationProvider = KnownIntegrationProvider | (string & {});
53
+ export interface ParentIntegrationSettings {
54
+ provider: IntegrationProvider;
55
+ credentialOwnerCompanyId?: string;
56
+ properties: Record<string, string>;
57
+ }
58
+ export interface CompanyIntegrations {
59
+ enabled: boolean;
60
+ provider: IntegrationProvider;
61
+ properties: Map<string, string> | Record<string, string>;
62
+ secret: string;
32
63
  }
33
64
  //# 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,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,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;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,yBAAyB,CAAC,EAAE,yBAAyB,EAAE,CAAC;CACzD;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,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;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;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;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,MAAM,wBAAwB,GAAG,MAAM,GAAG,MAAM,GAAG,aAAa,CAAC;AACvE,MAAM,MAAM,mBAAmB,GAAG,wBAAwB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAE3E,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzD,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -1,4 +1,5 @@
1
1
  export * from './company';
2
2
  export * from './notification';
3
3
  export * from './survey';
4
+ export * from './billingAccount';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/company/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/company/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC"}
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./company"), exports);
18
18
  __exportStar(require("./notification"), exports);
19
19
  __exportStar(require("./survey"), exports);
20
+ __exportStar(require("./billingAccount"), exports);
20
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/company/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,iDAA+B;AAC/B,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/company/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,iDAA+B;AAC/B,2CAAyB;AACzB,mDAAiC"}
@@ -1,33 +1,63 @@
1
+ /** Notification subscription types */
1
2
  export interface NotificationSubscription {
2
3
  id?: string;
3
4
  name: string;
4
5
  channel: {
5
- type: 'slack' | 'teams' | '';
6
+ type: 'slack' | 'teams' | 'email' | 'webhook' | '';
6
7
  url?: string;
8
+ email?: string;
9
+ authTokenRef?: string;
7
10
  };
8
11
  subscriptions: {
12
+ /** Array of selected recommendation flags */
9
13
  recommendations: number[];
14
+ /** Array of selected user flags */
10
15
  users: number[];
16
+ /** Array of selected cloud account flags */
11
17
  cloudAccounts: number[];
18
+ /** Array of selected cost alert flags (legacy/general). */
19
+ cost?: number[];
20
+ /** Array of selected cost anomaly flags. */
21
+ costAnomalies?: number[];
22
+ /** Array of selected sharing flags */
23
+ sharing: number[];
12
24
  };
13
25
  }
26
+ /** Bitmask constants for resources */
14
27
  export declare const RECOMMENDATION_FLAGS: {
28
+ /** 001 */
15
29
  readonly PRIORITIZED: 1;
30
+ /** 010 */
16
31
  readonly DISMISSED: 2;
32
+ /** 100 */
17
33
  readonly NEW: 4;
18
34
  };
35
+ /** Bitmask constants for users */
19
36
  export declare const USER_FLAGS: {
37
+ /** 001 */
20
38
  readonly INVITE_ACCEPTED: 1;
21
39
  };
40
+ /** Bitmask constants for cloud accounts */
22
41
  export declare const CLOUD_ACCOUNT_FLAGS: {
42
+ /** 001 */
23
43
  readonly SYNC_COMPLETED: 1;
24
44
  };
45
+ export declare const COST_ANOMALY_FLAGS: {
46
+ /** 001 */
47
+ readonly DETECTED: 1;
48
+ };
49
+ export declare const SHARING_FLAGS: {
50
+ readonly SHARE_CREATED: 1;
51
+ };
52
+ /** Helper functions for bitmask operations */
25
53
  export declare const hasFlag: (value: number, flag: number) => boolean;
26
54
  export declare const addFlag: (value: number, flag: number) => number;
27
55
  export declare const removeFlag: (value: number, flag: number) => number;
56
+ /** Array helper functions */
28
57
  export declare const hasArrayFlag: (array: number[], flag: number) => boolean;
29
58
  export declare const addArrayFlag: (array: number[], flag: number) => number[];
30
59
  export declare const removeArrayFlag: (array: number[], flag: number) => number[];
60
+ /** Get individual flags from resources array */
31
61
  export declare const getRecommendationsFlags: (array: number[]) => {
32
62
  new: boolean;
33
63
  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,OAAO,GAAG,SAAS,GAAG,EAAE,CAAC;QACnD,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,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,2DAA2D;QAC3D,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,4CAA4C;QAC5C,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QACzB,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,kBAAkB;IAC7B,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"}