@spottoai/types-package 1.0.2-beta.23 → 1.0.2-beta.233

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 (221) hide show
  1. package/LICENSE +18 -40
  2. package/README.md +4 -13
  3. package/dist/accounts/accounts.d.ts +118 -3
  4. package/dist/accounts/accounts.d.ts.map +1 -1
  5. package/dist/accounts/accounts.js +12 -0
  6. package/dist/accounts/accounts.js.map +1 -1
  7. package/dist/accounts/azureSpSetup.d.ts +294 -0
  8. package/dist/accounts/azureSpSetup.d.ts.map +1 -0
  9. package/dist/accounts/azureSpSetup.js +3 -0
  10. package/dist/accounts/azureSpSetup.js.map +1 -0
  11. package/dist/accounts/index.d.ts +4 -0
  12. package/dist/accounts/index.d.ts.map +1 -1
  13. package/dist/accounts/index.js +4 -0
  14. package/dist/accounts/index.js.map +1 -1
  15. package/dist/accounts/readPermissions.d.ts +45 -0
  16. package/dist/accounts/readPermissions.d.ts.map +1 -0
  17. package/dist/accounts/readPermissions.js +70 -0
  18. package/dist/accounts/readPermissions.js.map +1 -0
  19. package/dist/accounts/validation.d.ts +24 -0
  20. package/dist/accounts/validation.d.ts.map +1 -0
  21. package/dist/accounts/validation.js +3 -0
  22. package/dist/accounts/validation.js.map +1 -0
  23. package/dist/accounts/writePermissions.d.ts +34 -0
  24. package/dist/accounts/writePermissions.d.ts.map +1 -0
  25. package/dist/accounts/writePermissions.js +37 -0
  26. package/dist/accounts/writePermissions.js.map +1 -0
  27. package/dist/ai/index.d.ts +975 -9
  28. package/dist/ai/index.d.ts.map +1 -1
  29. package/dist/ai/index.js +1 -1
  30. package/dist/ai/index.js.map +1 -1
  31. package/dist/azure/activityLogs.d.ts +65 -0
  32. package/dist/azure/activityLogs.d.ts.map +1 -0
  33. package/dist/azure/activityLogs.js +6 -0
  34. package/dist/azure/activityLogs.js.map +1 -0
  35. package/dist/azure/benefits.d.ts +137 -0
  36. package/dist/azure/benefits.d.ts.map +1 -0
  37. package/dist/azure/benefits.js +3 -0
  38. package/dist/azure/benefits.js.map +1 -0
  39. package/dist/azure/billingPlots.d.ts +249 -0
  40. package/dist/azure/billingPlots.d.ts.map +1 -0
  41. package/dist/azure/billingPlots.js +6 -0
  42. package/dist/azure/billingPlots.js.map +1 -0
  43. package/dist/azure/budgets.d.ts +4 -0
  44. package/dist/azure/budgets.d.ts.map +1 -1
  45. package/dist/azure/commitmentsPlanning.d.ts +159 -0
  46. package/dist/azure/commitmentsPlanning.d.ts.map +1 -0
  47. package/dist/azure/commitmentsPlanning.js +3 -0
  48. package/dist/azure/commitmentsPlanning.js.map +1 -0
  49. package/dist/azure/common.d.ts +34 -0
  50. package/dist/azure/common.d.ts.map +1 -1
  51. package/dist/azure/configs.d.ts +75 -2
  52. package/dist/azure/configs.d.ts.map +1 -1
  53. package/dist/azure/costEstimation.d.ts +78 -0
  54. package/dist/azure/costEstimation.d.ts.map +1 -0
  55. package/dist/azure/costEstimation.js +3 -0
  56. package/dist/azure/costEstimation.js.map +1 -0
  57. package/dist/azure/governance.d.ts +826 -0
  58. package/dist/azure/governance.d.ts.map +1 -0
  59. package/dist/azure/governance.js +14 -0
  60. package/dist/azure/governance.js.map +1 -0
  61. package/dist/azure/metrics.d.ts +75 -4
  62. package/dist/azure/metrics.d.ts.map +1 -1
  63. package/dist/azure/payloads.d.ts +135 -1
  64. package/dist/azure/payloads.d.ts.map +1 -1
  65. package/dist/azure/prices.d.ts +177 -0
  66. package/dist/azure/prices.d.ts.map +1 -1
  67. package/dist/azure/publicIpAddresses.d.ts +171 -0
  68. package/dist/azure/publicIpAddresses.d.ts.map +1 -0
  69. package/dist/azure/publicIpAddresses.js +6 -0
  70. package/dist/azure/publicIpAddresses.js.map +1 -0
  71. package/dist/azure/recommendationAudit.d.ts +113 -0
  72. package/dist/azure/recommendationAudit.d.ts.map +1 -0
  73. package/dist/azure/recommendationAudit.js +10 -0
  74. package/dist/azure/recommendationAudit.js.map +1 -0
  75. package/dist/azure/recommendationState.d.ts +92 -3
  76. package/dist/azure/recommendationState.d.ts.map +1 -1
  77. package/dist/azure/recommendations.d.ts +460 -7
  78. package/dist/azure/recommendations.d.ts.map +1 -1
  79. package/dist/azure/recommendations.js.map +1 -1
  80. package/dist/azure/relationships.d.ts +77 -0
  81. package/dist/azure/relationships.d.ts.map +1 -0
  82. package/dist/azure/relationships.js +3 -0
  83. package/dist/azure/relationships.js.map +1 -0
  84. package/dist/azure/reports.d.ts +248 -0
  85. package/dist/azure/reports.d.ts.map +1 -1
  86. package/dist/azure/reports.js +13 -0
  87. package/dist/azure/reports.js.map +1 -1
  88. package/dist/azure/resources.d.ts +80 -0
  89. package/dist/azure/resources.d.ts.map +1 -1
  90. package/dist/azure/reviewChecklist.d.ts +139 -0
  91. package/dist/azure/reviewChecklist.d.ts.map +1 -0
  92. package/dist/azure/reviewChecklist.js +3 -0
  93. package/dist/azure/reviewChecklist.js.map +1 -0
  94. package/dist/azure/security.d.ts +15 -1
  95. package/dist/azure/security.d.ts.map +1 -1
  96. package/dist/azure/serviceRetirement.d.ts +28 -0
  97. package/dist/azure/serviceRetirement.d.ts.map +1 -0
  98. package/dist/azure/serviceRetirement.js +3 -0
  99. package/dist/azure/serviceRetirement.js.map +1 -0
  100. package/dist/azure/serviceRetirementState.d.ts +22 -0
  101. package/dist/azure/serviceRetirementState.d.ts.map +1 -0
  102. package/dist/azure/serviceRetirementState.js +3 -0
  103. package/dist/azure/serviceRetirementState.js.map +1 -0
  104. package/dist/azure/storage-inventory.d.ts +241 -0
  105. package/dist/azure/storage-inventory.d.ts.map +1 -0
  106. package/dist/azure/storage-inventory.js +3 -0
  107. package/dist/azure/storage-inventory.js.map +1 -0
  108. package/dist/azure/subscriptions.d.ts +34 -13
  109. package/dist/azure/subscriptions.d.ts.map +1 -1
  110. package/dist/azure/views.d.ts +286 -3
  111. package/dist/azure/views.d.ts.map +1 -1
  112. package/dist/common/index.d.ts +1 -0
  113. package/dist/common/index.d.ts.map +1 -1
  114. package/dist/common/index.js +1 -0
  115. package/dist/common/index.js.map +1 -1
  116. package/dist/common/pagination.d.ts +3 -0
  117. package/dist/common/pagination.d.ts.map +1 -1
  118. package/dist/common/provider.d.ts +9 -0
  119. package/dist/common/provider.d.ts.map +1 -0
  120. package/dist/common/provider.js +9 -0
  121. package/dist/common/provider.js.map +1 -0
  122. package/dist/company/billingAccount.d.ts +30 -0
  123. package/dist/company/billingAccount.d.ts.map +1 -0
  124. package/dist/company/billingAccount.js +3 -0
  125. package/dist/company/billingAccount.js.map +1 -0
  126. package/dist/company/company.d.ts +48 -1
  127. package/dist/company/company.d.ts.map +1 -1
  128. package/dist/company/companyHierarchy.d.ts +53 -0
  129. package/dist/company/companyHierarchy.d.ts.map +1 -0
  130. package/dist/company/companyHierarchy.js +3 -0
  131. package/dist/company/companyHierarchy.js.map +1 -0
  132. package/dist/company/index.d.ts +2 -0
  133. package/dist/company/index.d.ts.map +1 -1
  134. package/dist/company/index.js +2 -0
  135. package/dist/company/index.js.map +1 -1
  136. package/dist/company/notification.d.ts +34 -1
  137. package/dist/company/notification.d.ts.map +1 -1
  138. package/dist/company/notification.js +27 -12
  139. package/dist/company/notification.js.map +1 -1
  140. package/dist/company/survey.d.ts +3 -0
  141. package/dist/company/survey.d.ts.map +1 -1
  142. package/dist/events/alertDefinitionRun.d.ts +23 -0
  143. package/dist/events/alertDefinitionRun.d.ts.map +1 -0
  144. package/dist/events/alertDefinitionRun.js +3 -0
  145. package/dist/events/alertDefinitionRun.js.map +1 -0
  146. package/dist/events/baseAlert.d.ts +130 -0
  147. package/dist/events/baseAlert.d.ts.map +1 -0
  148. package/dist/events/baseAlert.js +3 -0
  149. package/dist/events/baseAlert.js.map +1 -0
  150. package/dist/events/cost.d.ts +361 -0
  151. package/dist/events/cost.d.ts.map +1 -0
  152. package/dist/events/cost.js +3 -0
  153. package/dist/events/cost.js.map +1 -0
  154. package/dist/events/costAnomalies.d.ts +47 -0
  155. package/dist/events/costAnomalies.d.ts.map +1 -0
  156. package/dist/events/costAnomalies.js +3 -0
  157. package/dist/events/costAnomalies.js.map +1 -0
  158. package/dist/events/costViews.d.ts +23 -0
  159. package/dist/events/costViews.d.ts.map +1 -0
  160. package/dist/events/costViews.js +3 -0
  161. package/dist/events/costViews.js.map +1 -0
  162. package/dist/events/eventStatus.d.ts +67 -0
  163. package/dist/events/eventStatus.d.ts.map +1 -0
  164. package/dist/events/eventStatus.js +3 -0
  165. package/dist/events/eventStatus.js.map +1 -0
  166. package/dist/events/index.d.ts +7 -0
  167. package/dist/events/index.d.ts.map +1 -0
  168. package/dist/events/index.js +23 -0
  169. package/dist/events/index.js.map +1 -0
  170. package/dist/feedbacks/feedback.d.ts +9 -0
  171. package/dist/feedbacks/feedback.d.ts.map +1 -1
  172. package/dist/identity/apikey.d.ts +67 -0
  173. package/dist/identity/apikey.d.ts.map +1 -0
  174. package/dist/identity/apikey.js +3 -0
  175. package/dist/identity/apikey.js.map +1 -0
  176. package/dist/identity/index.d.ts +2 -0
  177. package/dist/identity/index.d.ts.map +1 -0
  178. package/dist/identity/index.js +18 -0
  179. package/dist/identity/index.js.map +1 -0
  180. package/dist/index.d.ts +19 -0
  181. package/dist/index.d.ts.map +1 -1
  182. package/dist/index.js +19 -1
  183. package/dist/index.js.map +1 -1
  184. package/dist/integrations/halo.d.ts +76 -0
  185. package/dist/integrations/halo.d.ts.map +1 -0
  186. package/dist/integrations/halo.js +3 -0
  187. package/dist/integrations/halo.js.map +1 -0
  188. package/dist/integrations/index.d.ts +3 -0
  189. package/dist/integrations/index.d.ts.map +1 -0
  190. package/dist/integrations/index.js +19 -0
  191. package/dist/integrations/index.js.map +1 -0
  192. package/dist/integrations/integrationTickets.d.ts +67 -0
  193. package/dist/integrations/integrationTickets.d.ts.map +1 -0
  194. package/dist/integrations/integrationTickets.js +3 -0
  195. package/dist/integrations/integrationTickets.js.map +1 -0
  196. package/dist/scheduler/index.d.ts +2 -0
  197. package/dist/scheduler/index.d.ts.map +1 -0
  198. package/dist/scheduler/index.js +18 -0
  199. package/dist/scheduler/index.js.map +1 -0
  200. package/dist/scheduler/scheduler.d.ts +113 -0
  201. package/dist/scheduler/scheduler.d.ts.map +1 -0
  202. package/dist/scheduler/scheduler.js +3 -0
  203. package/dist/scheduler/scheduler.js.map +1 -0
  204. package/dist/tags/index.d.ts +2 -0
  205. package/dist/tags/index.d.ts.map +1 -0
  206. package/dist/tags/index.js +18 -0
  207. package/dist/tags/index.js.map +1 -0
  208. package/dist/tags/tags.d.ts +26 -0
  209. package/dist/tags/tags.d.ts.map +1 -0
  210. package/dist/tags/tags.js +10 -0
  211. package/dist/tags/tags.js.map +1 -0
  212. package/dist/unknown/services.d.ts +12 -0
  213. package/dist/unknown/services.d.ts.map +1 -0
  214. package/dist/unknown/services.js +3 -0
  215. package/dist/unknown/services.js.map +1 -0
  216. package/dist/users/companyUser.d.ts +6 -0
  217. package/dist/users/companyUser.d.ts.map +1 -1
  218. package/dist/users/companyUser.js.map +1 -1
  219. package/dist/users/user.d.ts +15 -1
  220. package/dist/users/user.d.ts.map +1 -1
  221. 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,167 @@ 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 type VmPricePerformanceCapabilityImpactSeverity = 'info' | 'warning' | 'blocking' | 'unknown' | string;
218
+ export type VmPricePerformanceCapabilityImpactBasis = 'sku-capability' | 'current-setting' | 'observed-usage' | 'unknown' | string;
219
+ export type VmPricePerformanceCapabilityImpactMateriality = 'used' | 'not-used' | 'unknown' | 'not-applicable' | string;
220
+ export interface VmPricePerformanceCurrentRuntimeSettings {
221
+ osDiskStorageAccountType?: string;
222
+ dataDiskStorageAccountTypes?: string[];
223
+ dataDiskCount?: number;
224
+ premiumDiskInUse?: boolean;
225
+ premiumOsDiskInUse?: boolean;
226
+ premiumDataDiskInUse?: boolean;
227
+ premiumDataDiskCount?: number;
228
+ ultraSsdEnabled?: boolean;
229
+ ephemeralOsDiskConfigured?: boolean;
230
+ acceleratedNetworkingKnown?: boolean;
231
+ acceleratedNetworkingEnabled?: boolean;
232
+ networkInterfaceCount?: number;
233
+ resourceDiskUsageKnown?: boolean;
234
+ resourceDiskInUse?: boolean;
235
+ resourceDiskUsageBytes?: number;
236
+ }
237
+ export interface VmPricePerformanceCapabilityImpact {
238
+ /** Matches the existing lost-capability key when the impact describes a lost SKU capability. */
239
+ key: string;
240
+ label?: string;
241
+ severity: VmPricePerformanceCapabilityImpactSeverity;
242
+ basis: VmPricePerformanceCapabilityImpactBasis;
243
+ materiality?: VmPricePerformanceCapabilityImpactMateriality;
244
+ currentValue?: unknown;
245
+ alternativeValue?: unknown;
246
+ message?: string;
247
+ }
248
+ export interface VmPricePerformanceSku {
249
+ armSkuName: string;
250
+ region: string;
251
+ currencyCode: 'USD';
252
+ osType: VmPricePerformanceOsType;
253
+ tier: VmPricePerformanceTier;
254
+ purchaseOption: VmPricePerformancePurchaseOption;
255
+ hourlyPriceUsd?: number;
256
+ monthlyPriceUsd?: number;
257
+ /** Subscription-currency retail price. Prefer this over USD fields for UI display. */
258
+ localCurrencyCode?: string;
259
+ localCurrencySymbol?: string;
260
+ localHourlyPrice?: number;
261
+ localMonthlyPrice?: number;
262
+ numberOfCores?: number;
263
+ memoryGB?: number;
264
+ maxDataDiskCount?: number;
265
+ maxRemoteStorageDisks?: number;
266
+ resourceDiskSizeMB?: number;
267
+ family?: string;
268
+ sizeFamily?: string;
269
+ cpuArchitecture?: string;
270
+ supportsPremiumDisk?: boolean;
271
+ acceleratedNetworking?: boolean;
272
+ rdmaEnabled?: boolean;
273
+ hyperVGenerations?: string[];
274
+ hasGpu?: boolean;
275
+ gpuCount?: number;
276
+ gpuMemoryGB?: number;
277
+ gpuModel?: string;
278
+ hasTempDisk?: boolean;
279
+ tempDiskType?: string;
280
+ maxTempStorageDisks?: number;
281
+ tempDiskSizePerDiskMiB?: number;
282
+ hasNvmeTempDisk?: boolean;
283
+ nvmeDiskCount?: number;
284
+ nvmeDiskSizePerDiskMiB?: number;
285
+ maxNics?: number;
286
+ maxNetworkBandwidthMbps?: number;
287
+ supportsEphemeralOsDisk?: boolean;
288
+ supportedRemoteDiskTypes?: string[];
289
+ benchmarkScore?: number;
290
+ benchmarkConfidence?: VmPricePerformanceBenchmarkConfidence;
291
+ pricePerPerformance?: number;
292
+ performancePerDollar?: number;
293
+ pricePerCoreUsd?: number;
294
+ pricePerMemoryGBUsd?: number;
295
+ localPricePerCore?: number;
296
+ localPricePerMemoryGB?: number;
297
+ comparisonEligibility?: VmPricePerformanceComparisonEligibility;
298
+ }
299
+ export interface VmPricePerformanceAlternative extends VmPricePerformanceSku {
300
+ rank: number;
301
+ savingsHourlyUsd?: number;
302
+ savingsMonthlyUsd?: number;
303
+ localSavingsHourly?: number;
304
+ localSavingsMonthly?: number;
305
+ localSavingsPercent?: number;
306
+ savingsPercent?: number;
307
+ performanceDeltaPercent?: number;
308
+ pricePerPerformanceDeltaPercent?: number;
309
+ reason?: string;
310
+ capabilityImpacts?: VmPricePerformanceCapabilityImpact[];
78
311
  }
312
+ export interface VmPricePerformanceTradeOffAlternative extends VmPricePerformanceAlternative {
313
+ /** Capabilities that are present on the current SKU but are absent or lower on this alternative. */
314
+ lostCapabilities: string[];
315
+ }
316
+ export interface VmPricePerformanceInsights {
317
+ /** Keep the first version intentionally simple: compare alternatives only in the resource's current region. */
318
+ comparisonScope: 'same-region';
319
+ /** Subscription/display currency used for user-facing price fields when available. */
320
+ displayCurrencyCode?: string;
321
+ displayCurrencySymbol?: string;
322
+ current?: VmPricePerformanceSku;
323
+ /** Current VM/VMSS configuration facts used to decide whether lost SKU capabilities are material. */
324
+ currentRuntimeSettings?: VmPricePerformanceCurrentRuntimeSettings;
325
+ /** Feature-compatible alternatives that are safe default candidates. */
326
+ alternatives: VmPricePerformanceAlternative[];
327
+ /** Cheaper or better price/performance options that require review because they lose current SKU capabilities. */
328
+ tradeOffAlternatives?: VmPricePerformanceTradeOffAlternative[];
329
+ source: VmPricePerformanceCatalogSource;
330
+ }
331
+ /** This is used by the plugin summaryu (e.g. A list of all the VMs on the VMs page) */
79
332
  export interface AzurePluginResourcesLite {
80
333
  currency: string;
81
334
  currencySymbol: string;
@@ -83,9 +336,39 @@ export interface AzurePluginResourcesLite {
83
336
  }
84
337
  export interface AzurePluginResourceLite {
85
338
  resourceId: string;
339
+ /** Total spend over the last 30 days */
86
340
  spend: number;
341
+ /** Total amortized spend over the last 30 days */
87
342
  amortizedSpend: number;
88
343
  recommendations: AzureRecommendationLite[];
344
+ /** Spotto recommendations */
89
345
  customRecommendations: AzureRecommendationLite[];
90
346
  }
347
+ export interface CostSavingsSummary {
348
+ currency: string;
349
+ currencySymbol?: string;
350
+ costStartDate?: number;
351
+ costEndDate?: number;
352
+ totals: {
353
+ currentMonthly: number;
354
+ potentialMonthly: number;
355
+ minSavings: number;
356
+ maxSavings: number;
357
+ minSavingsPercent?: number;
358
+ maxSavingsPercent?: number;
359
+ };
360
+ categories: CostSavingsCategoryBreakdown[];
361
+ }
362
+ export interface CostSavingsCategoryBreakdown {
363
+ key: string;
364
+ label: string;
365
+ recommendationCount: number;
366
+ resourceCount: number;
367
+ currentMonthly: number;
368
+ potentialMonthly: number;
369
+ minSavings: number;
370
+ maxSavings: number;
371
+ sampleRecommendations: string[];
372
+ sampleResources: string[];
373
+ }
91
374
  //# 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":""}
@@ -1,12 +1,16 @@
1
1
  import { SurveyResponse } from './survey';
2
2
  import { NotificationSubscription } from './notification';
3
+ import type { CompanyClassification } from './companyHierarchy';
4
+ export type CompanyLifecycle = 'standard' | 'trial';
3
5
  export interface Company {
4
6
  id: string;
5
7
  name: string;
6
8
  website?: string;
7
- stripeCustomerId?: string;
8
9
  createdAt: Date;
9
10
  updatedAt: Date;
11
+ preferredTimezone?: string;
12
+ hourlyRateAmount?: number;
13
+ hourlyRateCurrency?: string;
10
14
  loginDomainNames?: string[];
11
15
  createdBy: string;
12
16
  domains?: string;
@@ -14,20 +18,63 @@ export interface Company {
14
18
  defaultRole?: number;
15
19
  objectives?: SurveyResponse[];
16
20
  notifications?: NotificationSubscription[];
21
+ integrations?: CompanyIntegrations;
22
+ billingAccountId?: string;
23
+ parentId?: string;
24
+ parentCompanyName?: string;
25
+ hasChildren?: boolean;
26
+ rootCompanyId?: string;
27
+ parentIntegrationSettings?: ParentIntegrationSettings[];
28
+ companyLifecycle?: CompanyLifecycle;
29
+ azureDelegatedTrialStartedAt?: Date | string;
30
+ azureDelegatedTrialUsedAt?: Date | string;
31
+ azureDelegatedTrialExpiresAt?: Date | string;
17
32
  }
18
33
  export interface CompanyCreate {
19
34
  name: string;
20
35
  website?: string;
36
+ createdAt?: Date | string;
37
+ preferredTimezone?: string;
38
+ hourlyRateAmount?: number;
39
+ hourlyRateCurrency?: string;
21
40
  domains?: string;
22
41
  requiresApproval?: boolean;
23
42
  defaultRole?: number;
24
43
  objectives?: SurveyResponse[];
25
44
  notifications?: NotificationSubscription[];
45
+ integrations?: CompanyIntegrations;
46
+ parentId?: string;
47
+ billingAccountId?: string;
48
+ companyLifecycle?: CompanyLifecycle;
49
+ azureDelegatedTrialStartedAt?: Date | string;
50
+ azureDelegatedTrialUsedAt?: Date | string;
51
+ azureDelegatedTrialExpiresAt?: Date | string;
26
52
  }
27
53
  export interface UserCompany {
28
54
  email: string;
29
55
  companyId: string;
30
56
  companyName: string;
57
+ userId: string;
31
58
  role: number;
59
+ parentId?: string;
60
+ parentCompanyName?: string;
61
+ hasChildren?: boolean;
62
+ rootCompanyId?: string;
63
+ classification?: CompanyClassification;
64
+ companyLifecycle?: CompanyLifecycle;
65
+ azureDelegatedTrialExpiresAt?: Date | string;
66
+ }
67
+ export type KnownIntegrationProvider = 'jira' | 'halo' | 'connectwise';
68
+ export type IntegrationProvider = KnownIntegrationProvider | (string & {});
69
+ export interface ParentIntegrationSettings {
70
+ provider: IntegrationProvider;
71
+ credentialOwnerCompanyId?: string;
72
+ properties: Record<string, string>;
73
+ }
74
+ export interface CompanyIntegrations {
75
+ enabled: boolean;
76
+ provider: IntegrationProvider;
77
+ properties: Map<string, string> | Record<string, string>;
78
+ secret: string;
32
79
  }
33
80
  //# 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":"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"}
@@ -0,0 +1,53 @@
1
+ import type { Company } from './company';
2
+ export type CompanyClassification = 'customer' | 'container';
3
+ export type CompanyHierarchyMoveReasonCode = 'self' | 'descendant_cycle' | 'outside_root_tree' | 'outside_admin_scope' | 'max_depth_exceeded' | 'subtree_too_large' | 'sibling_name_conflict' | 'not_found' | 'global_admin_required' | 'invalid_parent';
4
+ export type CompanyHierarchyRebuildViolationCode = 'orphan_parent' | 'cycle' | 'max_depth_exceeded' | 'sibling_name_conflict' | 'missing_metadata' | 'tree_stale';
5
+ export interface CompanyHierarchyMetadata {
6
+ rootCompanyId?: string;
7
+ }
8
+ export type CompanyWithHierarchy = Company & CompanyHierarchyMetadata;
9
+ export interface CompanyHierarchyMoveRequest {
10
+ newParentCompanyId: string;
11
+ }
12
+ export interface CompanyHierarchyMoveResponse {
13
+ companyId: string;
14
+ companyName: string;
15
+ oldParentCompanyId?: string;
16
+ newParentCompanyId: string;
17
+ rootCompanyId: string;
18
+ affectedCompanyCount: number;
19
+ }
20
+ export interface CompanyHierarchyClassificationUpdateRequest {
21
+ classification: CompanyClassification;
22
+ }
23
+ export interface CompanyHierarchyClassificationUpdateResponse {
24
+ companyId: string;
25
+ rootCompanyId: string;
26
+ classification: CompanyClassification;
27
+ }
28
+ export interface CompanyHierarchyTreeDocument {
29
+ builtAt: string;
30
+ root: CompanyHierarchyTreeNode;
31
+ }
32
+ export type CompanyHierarchyResponse = CompanyHierarchyTreeDocument;
33
+ export interface CompanyHierarchyTreeNode {
34
+ companyId: string;
35
+ companyName: string;
36
+ classification: CompanyClassification;
37
+ children: CompanyHierarchyTreeNode[];
38
+ }
39
+ export interface CompanyHierarchyRebuildReport {
40
+ dryRun: boolean;
41
+ repaired: boolean;
42
+ companiesScanned: number;
43
+ companiesUpdated: number;
44
+ treesWritten: number;
45
+ violations: CompanyHierarchyRebuildViolation[];
46
+ }
47
+ export interface CompanyHierarchyRebuildViolation {
48
+ code: CompanyHierarchyRebuildViolationCode;
49
+ companyId?: string;
50
+ relatedCompanyId?: string;
51
+ message: string;
52
+ }
53
+ //# sourceMappingURL=companyHierarchy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"companyHierarchy.d.ts","sourceRoot":"","sources":["../../src/company/companyHierarchy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,WAAW,CAAC;AAE7D,MAAM,MAAM,8BAA8B,GACtC,MAAM,GACN,kBAAkB,GAClB,mBAAmB,GACnB,qBAAqB,GACrB,oBAAoB,GACpB,mBAAmB,GACnB,uBAAuB,GACvB,WAAW,GACX,uBAAuB,GACvB,gBAAgB,CAAC;AAErB,MAAM,MAAM,oCAAoC,GAC5C,eAAe,GACf,OAAO,GACP,oBAAoB,GACpB,uBAAuB,GACvB,kBAAkB,GAClB,YAAY,CAAC;AAEjB,MAAM,WAAW,wBAAwB;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,wBAAwB,CAAC;AAEtE,MAAM,WAAW,2BAA2B;IAC1C,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,2CAA2C;IAC1D,cAAc,EAAE,qBAAqB,CAAC;CACvC;AAED,MAAM,WAAW,4CAA4C;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,qBAAqB,CAAC;CACvC;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,wBAAwB,CAAC;CAChC;AAED,MAAM,MAAM,wBAAwB,GAAG,4BAA4B,CAAC;AAEpE,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,qBAAqB,CAAC;IACtC,QAAQ,EAAE,wBAAwB,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,gCAAgC,EAAE,CAAC;CAChD;AAED,MAAM,WAAW,gCAAgC;IAC/C,IAAI,EAAE,oCAAoC,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB"}