@spottoai/types-package 1.0.2-beta.18 → 1.0.2-beta.180

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 (182) hide show
  1. package/LICENSE +18 -40
  2. package/README.md +4 -11
  3. package/dist/accounts/accounts.d.ts +37 -3
  4. package/dist/accounts/accounts.d.ts.map +1 -1
  5. package/dist/accounts/index.d.ts +2 -0
  6. package/dist/accounts/index.d.ts.map +1 -1
  7. package/dist/accounts/index.js +2 -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/writePermissions.d.ts +34 -0
  14. package/dist/accounts/writePermissions.d.ts.map +1 -0
  15. package/dist/accounts/writePermissions.js +37 -0
  16. package/dist/accounts/writePermissions.js.map +1 -0
  17. package/dist/ai/index.d.ts +944 -9
  18. package/dist/ai/index.d.ts.map +1 -1
  19. package/dist/ai/index.js +1 -1
  20. package/dist/ai/index.js.map +1 -1
  21. package/dist/azure/benefits.d.ts +137 -0
  22. package/dist/azure/benefits.d.ts.map +1 -0
  23. package/dist/azure/benefits.js +3 -0
  24. package/dist/azure/benefits.js.map +1 -0
  25. package/dist/azure/billingPlots.d.ts +108 -0
  26. package/dist/azure/billingPlots.d.ts.map +1 -0
  27. package/dist/azure/billingPlots.js +6 -0
  28. package/dist/azure/billingPlots.js.map +1 -0
  29. package/dist/azure/budgets.d.ts +4 -0
  30. package/dist/azure/budgets.d.ts.map +1 -1
  31. package/dist/azure/commitmentsPlanning.d.ts +159 -0
  32. package/dist/azure/commitmentsPlanning.d.ts.map +1 -0
  33. package/dist/azure/commitmentsPlanning.js +3 -0
  34. package/dist/azure/commitmentsPlanning.js.map +1 -0
  35. package/dist/azure/common.d.ts +34 -0
  36. package/dist/azure/common.d.ts.map +1 -1
  37. package/dist/azure/configs.d.ts +12 -0
  38. package/dist/azure/configs.d.ts.map +1 -1
  39. package/dist/azure/costEstimation.d.ts +78 -0
  40. package/dist/azure/costEstimation.d.ts.map +1 -0
  41. package/dist/azure/costEstimation.js +3 -0
  42. package/dist/azure/costEstimation.js.map +1 -0
  43. package/dist/azure/metrics.d.ts +40 -0
  44. package/dist/azure/metrics.d.ts.map +1 -1
  45. package/dist/azure/payloads.d.ts +10 -1
  46. package/dist/azure/payloads.d.ts.map +1 -1
  47. package/dist/azure/prices.d.ts +179 -0
  48. package/dist/azure/prices.d.ts.map +1 -1
  49. package/dist/azure/recommendationAudit.d.ts +113 -0
  50. package/dist/azure/recommendationAudit.d.ts.map +1 -0
  51. package/dist/azure/recommendationAudit.js +10 -0
  52. package/dist/azure/recommendationAudit.js.map +1 -0
  53. package/dist/azure/recommendationState.d.ts +91 -2
  54. package/dist/azure/recommendationState.d.ts.map +1 -1
  55. package/dist/azure/recommendations.d.ts +289 -5
  56. package/dist/azure/recommendations.d.ts.map +1 -1
  57. package/dist/azure/recommendations.js.map +1 -1
  58. package/dist/azure/relationships.d.ts +77 -0
  59. package/dist/azure/relationships.d.ts.map +1 -0
  60. package/dist/azure/relationships.js +3 -0
  61. package/dist/azure/relationships.js.map +1 -0
  62. package/dist/azure/reports.d.ts +248 -0
  63. package/dist/azure/reports.d.ts.map +1 -1
  64. package/dist/azure/reports.js +13 -0
  65. package/dist/azure/reports.js.map +1 -1
  66. package/dist/azure/resources.d.ts +39 -0
  67. package/dist/azure/resources.d.ts.map +1 -1
  68. package/dist/azure/reviewChecklist.d.ts +139 -0
  69. package/dist/azure/reviewChecklist.d.ts.map +1 -0
  70. package/dist/azure/reviewChecklist.js +3 -0
  71. package/dist/azure/reviewChecklist.js.map +1 -0
  72. package/dist/azure/security.d.ts +15 -1
  73. package/dist/azure/security.d.ts.map +1 -1
  74. package/dist/azure/serviceRetirement.d.ts +28 -0
  75. package/dist/azure/serviceRetirement.d.ts.map +1 -0
  76. package/dist/azure/serviceRetirement.js +3 -0
  77. package/dist/azure/serviceRetirement.js.map +1 -0
  78. package/dist/azure/serviceRetirementState.d.ts +22 -0
  79. package/dist/azure/serviceRetirementState.d.ts.map +1 -0
  80. package/dist/azure/serviceRetirementState.js +3 -0
  81. package/dist/azure/serviceRetirementState.js.map +1 -0
  82. package/dist/azure/storage-inventory.d.ts +241 -0
  83. package/dist/azure/storage-inventory.d.ts.map +1 -0
  84. package/dist/azure/storage-inventory.js +3 -0
  85. package/dist/azure/storage-inventory.js.map +1 -0
  86. package/dist/azure/subscriptions.d.ts +34 -13
  87. package/dist/azure/subscriptions.d.ts.map +1 -1
  88. package/dist/azure/views.d.ts +147 -2
  89. package/dist/azure/views.d.ts.map +1 -1
  90. package/dist/common/index.d.ts +1 -0
  91. package/dist/common/index.d.ts.map +1 -1
  92. package/dist/common/index.js +1 -0
  93. package/dist/common/index.js.map +1 -1
  94. package/dist/common/pagination.d.ts +3 -0
  95. package/dist/common/pagination.d.ts.map +1 -1
  96. package/dist/common/provider.d.ts +9 -0
  97. package/dist/common/provider.d.ts.map +1 -0
  98. package/dist/common/provider.js +9 -0
  99. package/dist/common/provider.js.map +1 -0
  100. package/dist/company/billingAccount.d.ts +30 -0
  101. package/dist/company/billingAccount.d.ts.map +1 -0
  102. package/dist/company/billingAccount.js +3 -0
  103. package/dist/company/billingAccount.js.map +1 -0
  104. package/dist/company/company.d.ts +26 -1
  105. package/dist/company/company.d.ts.map +1 -1
  106. package/dist/company/index.d.ts +1 -0
  107. package/dist/company/index.d.ts.map +1 -1
  108. package/dist/company/index.js +1 -0
  109. package/dist/company/index.js.map +1 -1
  110. package/dist/company/notification.d.ts +31 -1
  111. package/dist/company/notification.d.ts.map +1 -1
  112. package/dist/company/notification.js +24 -12
  113. package/dist/company/notification.js.map +1 -1
  114. package/dist/company/survey.d.ts +3 -0
  115. package/dist/company/survey.d.ts.map +1 -1
  116. package/dist/events/alertDefinitionRun.d.ts +23 -0
  117. package/dist/events/alertDefinitionRun.d.ts.map +1 -0
  118. package/dist/events/alertDefinitionRun.js +3 -0
  119. package/dist/events/alertDefinitionRun.js.map +1 -0
  120. package/dist/events/baseAlert.d.ts +130 -0
  121. package/dist/events/baseAlert.d.ts.map +1 -0
  122. package/dist/events/baseAlert.js +3 -0
  123. package/dist/events/baseAlert.js.map +1 -0
  124. package/dist/events/cost.d.ts +361 -0
  125. package/dist/events/cost.d.ts.map +1 -0
  126. package/dist/events/cost.js +3 -0
  127. package/dist/events/cost.js.map +1 -0
  128. package/dist/events/costAnomalies.d.ts +47 -0
  129. package/dist/events/costAnomalies.d.ts.map +1 -0
  130. package/dist/events/costAnomalies.js +3 -0
  131. package/dist/events/costAnomalies.js.map +1 -0
  132. package/dist/events/costViews.d.ts +23 -0
  133. package/dist/events/costViews.d.ts.map +1 -0
  134. package/dist/events/costViews.js +3 -0
  135. package/dist/events/costViews.js.map +1 -0
  136. package/dist/events/eventStatus.d.ts +67 -0
  137. package/dist/events/eventStatus.d.ts.map +1 -0
  138. package/dist/events/eventStatus.js +3 -0
  139. package/dist/events/eventStatus.js.map +1 -0
  140. package/dist/events/index.d.ts +7 -0
  141. package/dist/events/index.d.ts.map +1 -0
  142. package/dist/events/index.js +23 -0
  143. package/dist/events/index.js.map +1 -0
  144. package/dist/feedbacks/feedback.d.ts +9 -0
  145. package/dist/feedbacks/feedback.d.ts.map +1 -1
  146. package/dist/identity/apikey.d.ts +67 -0
  147. package/dist/identity/apikey.d.ts.map +1 -0
  148. package/dist/identity/apikey.js +3 -0
  149. package/dist/identity/apikey.js.map +1 -0
  150. package/dist/identity/index.d.ts +2 -0
  151. package/dist/identity/index.d.ts.map +1 -0
  152. package/dist/identity/index.js +18 -0
  153. package/dist/identity/index.js.map +1 -0
  154. package/dist/index.d.ts +15 -0
  155. package/dist/index.d.ts.map +1 -1
  156. package/dist/index.js +15 -1
  157. package/dist/index.js.map +1 -1
  158. package/dist/integrations/halo.d.ts +76 -0
  159. package/dist/integrations/halo.d.ts.map +1 -0
  160. package/dist/integrations/halo.js +3 -0
  161. package/dist/integrations/halo.js.map +1 -0
  162. package/dist/integrations/index.d.ts +3 -0
  163. package/dist/integrations/index.d.ts.map +1 -0
  164. package/dist/integrations/index.js +19 -0
  165. package/dist/integrations/index.js.map +1 -0
  166. package/dist/integrations/integrationTickets.d.ts +67 -0
  167. package/dist/integrations/integrationTickets.d.ts.map +1 -0
  168. package/dist/integrations/integrationTickets.js +3 -0
  169. package/dist/integrations/integrationTickets.js.map +1 -0
  170. package/dist/tags/index.d.ts +2 -0
  171. package/dist/tags/index.d.ts.map +1 -0
  172. package/dist/tags/index.js +18 -0
  173. package/dist/tags/index.js.map +1 -0
  174. package/dist/tags/tags.d.ts +26 -0
  175. package/dist/tags/tags.d.ts.map +1 -0
  176. package/dist/tags/tags.js +10 -0
  177. package/dist/tags/tags.js.map +1 -0
  178. package/dist/unknown/services.d.ts +12 -0
  179. package/dist/unknown/services.d.ts.map +1 -0
  180. package/dist/unknown/services.js +3 -0
  181. package/dist/unknown/services.js.map +1 -0
  182. package/package.json +2 -2
@@ -1,14 +1,43 @@
1
+ import { Tags } from '../tags';
1
2
  export interface DecompositionTreeNode {
3
+ /** e.g., "Resource Group A", "Storage", "Standard Page Blob v2", "Storage Account", "mystorageaccount" */
2
4
  name: string;
3
5
  cost: number;
4
6
  costAmortized?: number;
5
7
  costPrevious?: number;
6
8
  costAmortizedPrevious?: number;
9
+ /** e.g., 80.5 (for 80.5%) */
7
10
  percentageOfTotal: number;
11
+ /** Absolute change from previous period */
8
12
  costChange?: number;
13
+ /** Percentage change from previous period */
9
14
  costChangePercent?: number;
10
15
  children?: DecompositionTreeNode[];
16
+ /** Total spend at this level (for percentage calculation) */
11
17
  totalSpend: number;
18
+ /** Analysis of why costs changed (only present on leaf nodes) */
19
+ changeAnalysis?: CostChangeAnalysis;
20
+ /** Only present on leaf nodes (individual resources) */
21
+ meterDetails?: MeterDetail[];
22
+ tags?: Record<string, string>;
23
+ spottoTags?: Tags;
24
+ resourceId?: string;
25
+ }
26
+ export interface MeterDetail {
27
+ /** "P1 v3 App" */
28
+ meter: string;
29
+ /** "Azure App Service" */
30
+ meterCategory: string;
31
+ /** "Premium Plan" */
32
+ meterSubCategory: string;
33
+ /** 24 (hours, GB, etc.) */
34
+ quantity: number;
35
+ /** 12.721536 */
36
+ cost: number;
37
+ /** 12.721536 */
38
+ costAmortized: number;
39
+ /** cost / quantity = rate per unit */
40
+ unitCost?: number;
12
41
  }
13
42
  export interface DecompositionTree {
14
43
  root: DecompositionTreeNode;
@@ -24,8 +53,147 @@ export interface DecompositionTree {
24
53
  totalSpendAmortizedPrevious?: number;
25
54
  currency: string;
26
55
  currencySymbol: string;
56
+ version?: string;
57
+ }
58
+ export interface EstimationTree extends DecompositionTree {
59
+ dataSource: 'estimated' | 'blended' | 'actual' | 'metrics_pricing';
60
+ coveragePercent?: number;
61
+ confidence?: number;
62
+ actualShare?: number;
63
+ estimatedShare?: number;
64
+ billingReconciliationStatus?: 'pending' | 'matched' | 'mismatch';
65
+ actualArrivedAt?: string;
66
+ lastActualCoverageAt?: string;
67
+ reconciledAt?: string;
68
+ root: EstimationTreeNode;
69
+ }
70
+ export interface EstimationDetailComponent {
71
+ method?: string;
72
+ dataSource?: 'estimated' | 'actual' | 'blended' | 'metrics_pricing';
73
+ pricingSource?: 'billing' | 'retail' | 'manual' | string;
74
+ formula?: string;
75
+ inputs?: {
76
+ coverageDays?: number;
77
+ missingDays?: number;
78
+ missingFactor?: number;
79
+ metricsInput?: Record<string, unknown>;
80
+ [key: string]: unknown;
81
+ };
82
+ rates?: Record<string, number>;
83
+ output?: {
84
+ actualCost?: number;
85
+ estimatedCost?: number;
86
+ estimatedCostByMetrics?: number;
87
+ estimatedCostByMA?: number;
88
+ totalCost?: number;
89
+ [key: string]: unknown;
90
+ };
91
+ [key: string]: unknown;
92
+ }
93
+ export interface EstimationNodeDetails {
94
+ version?: number;
95
+ dataSource?: 'estimated' | 'actual' | 'blended' | 'metrics_pricing';
96
+ actualShare?: number;
97
+ estimatedShare?: number;
98
+ componentCount?: number;
99
+ components?: EstimationDetailComponent[];
100
+ [key: string]: unknown;
101
+ }
102
+ export interface EstimationTreeNode extends DecompositionTreeNode {
103
+ dataSource?: 'estimated' | 'actual' | 'blended' | 'metrics_pricing';
104
+ coveragePercent?: number;
105
+ coverageDays?: number;
106
+ actualShare?: number;
107
+ estimatedShare?: number;
108
+ confidence?: number;
109
+ serviceCategory?: 'A' | 'B' | 'C' | 'D';
110
+ componentCategory?: 'A' | 'B' | 'C' | 'D';
111
+ metricsInput?: Record<string, unknown>;
112
+ unitRates?: Record<string, number>;
113
+ pricingSource?: 'billing' | 'retail' | 'manual';
114
+ estimationMethod?: string;
115
+ estimatedDays?: string[];
116
+ estimatedDaysSource?: 'metrics' | 'ma7' | 'ma14' | 'ma';
117
+ estimatedDaysBySource?: {
118
+ metrics?: string[];
119
+ ma7?: string[];
120
+ ma14?: string[];
121
+ ma?: string[];
122
+ };
123
+ /** Last day with actual billed cost in the current estimation window */
124
+ billingActualThroughDate?: number;
125
+ /** First estimated day in the current estimation window */
126
+ estimationStartDate?: number;
127
+ /** Last estimated day in the current estimation window */
128
+ estimationEndDate?: number;
129
+ /** Resource lifecycle end date (if known) used to cap estimation */
130
+ resourceLifecycleEndDate?: number;
131
+ /** Detected billing cadence for this node */
132
+ billingCadence?: 'daily' | 'monthly' | 'unknown';
133
+ /** Confidence of billing cadence detection */
134
+ billingCadenceConfidence?: 'high' | 'medium' | 'low';
135
+ /**
136
+ * Type of this node: 'subscription' | 'resourceGroup' | 'provider' | 'service' | 'resource' | 'deployment' | 'component'
137
+ * Helps frontend understand the hierarchy and render appropriately
138
+ */
139
+ nodeType?: 'subscription' | 'resourceGroup' | 'provider' | 'service' | 'resource' | 'deployment' | 'component';
140
+ /**
141
+ * Azure resource type (e.g., "microsoft.cognitiveservices/accounts")
142
+ * Only present on resource nodes and their children
143
+ * Helps frontend determine how to display child nodes
144
+ */
145
+ resourceType?: string;
146
+ /**
147
+ * For deployment/component nodes: identifies the parent resource
148
+ * For resource nodes: same as resourceId
149
+ */
150
+ parentResourceId?: string;
151
+ /**
152
+ * Deployment-specific metadata (only for cognitive services)
153
+ * Frontend can use this to display deployment-level details
154
+ */
155
+ deployment?: string;
156
+ model?: string;
157
+ /**
158
+ * Generic metadata for other resource types
159
+ * Allows extensibility for future resource types with sub-components
160
+ */
161
+ metadata?: {
162
+ estimationDetails?: EstimationNodeDetails;
163
+ [key: string]: unknown;
164
+ };
165
+ blendedComponents?: EstimationTreeNodeBlendedComponent[] | EstimationTreeNodeBlendedComponent;
166
+ children?: EstimationTreeNode[];
167
+ }
168
+ export interface EstimationTreeNodeBlendedComponent {
169
+ componentCategory?: 'A' | 'B' | 'C' | 'D';
170
+ dataSource?: 'estimated' | 'actual' | 'blended' | 'metrics_pricing';
171
+ actualCost: number;
172
+ estimatedCost: number;
173
+ estimatedCostByMetrics?: number;
174
+ estimatedCostByMA?: number;
175
+ coverageDays: number;
176
+ coveragePercent?: number;
177
+ missingDays: number;
178
+ method: string;
179
+ estimationMethod?: string;
180
+ estimatedDays?: string[];
181
+ estimatedDaysSource?: 'metrics' | 'ma7' | 'ma14' | 'ma';
182
+ estimatedDaysBySource?: {
183
+ metrics?: string[];
184
+ ma7?: string[];
185
+ ma14?: string[];
186
+ ma?: string[];
187
+ };
188
+ metricsInput?: Record<string, unknown>;
189
+ unitRates?: Record<string, number>;
190
+ pricingSource?: 'billing' | 'retail' | 'manual';
191
+ actualShare?: number;
192
+ estimatedShare?: number;
193
+ estimationDetails?: EstimationDetailComponent;
27
194
  }
28
195
  export interface DecompositionTreeEntry {
196
+ /** e.g., "2025-01" for calendar month, "2025-01-01_2025-01-31" for billing period */
29
197
  period: string;
30
198
  startDate: string;
31
199
  endDate: string;
@@ -35,4 +203,84 @@ export interface DecompositionTreeSummary {
35
203
  entries: DecompositionTreeEntry[];
36
204
  lastUpdated: string;
37
205
  }
206
+ /** Type of change detected in cost analysis */
207
+ export type ChangeType = 'increase' | 'decrease' | 'no_change' | 'new_resource' | 'removed_resource';
208
+ /** Specific reason types for cost changes */
209
+ export declare enum ChangeReasonType {
210
+ NEW_RESOURCE = "new_resource",
211
+ REMOVED_RESOURCE = "removed_resource",
212
+ QUANTITY_INCREASE = "quantity_increase",
213
+ QUANTITY_DECREASE = "quantity_decrease",
214
+ RATE_CHANGE = "rate_change",
215
+ SKU_CHANGE = "sku_change",
216
+ NEW_METER = "new_meter",
217
+ REMOVED_METER = "removed_meter"
218
+ }
219
+ export type BillingModifierType = 'reservation' | 'savings_plan' | 'spot' | 'promotion' | 'other';
220
+ export interface BillingModifierDetail {
221
+ type: BillingModifierType;
222
+ name?: string;
223
+ coverageHours?: number;
224
+ coveragePercent?: number;
225
+ previousCoveragePercent?: number;
226
+ coveragePercentDelta?: number;
227
+ notes?: string;
228
+ }
229
+ export interface RateChangeContext {
230
+ previousEffectiveRate?: number;
231
+ currentEffectiveRate?: number;
232
+ previousPaidRate?: number;
233
+ currentPaidRate?: number;
234
+ totalHours?: number;
235
+ paidHours?: number;
236
+ coveredHours?: number;
237
+ previousCoveredHours?: number;
238
+ previousCoveredPercent?: number;
239
+ currentCoveredPercent?: number;
240
+ coverageDeltaPercent?: number;
241
+ modifier?: BillingModifierDetail;
242
+ }
243
+ /** Details about a specific change reason */
244
+ export interface ChangeReasonDetails {
245
+ /** The meter name (e.g., "P1 v3 App") */
246
+ meter?: string;
247
+ /** The meter category (e.g., "Azure App Service") */
248
+ meterCategory?: string;
249
+ /** The meter sub-category */
250
+ meterSubCategory?: string;
251
+ /** Previous value (could be cost, quantity, rate, or SKU name) */
252
+ oldValue?: string | number;
253
+ /** New value (could be cost, quantity, rate, or SKU name) */
254
+ newValue?: string | number;
255
+ /** Human-readable description of the change */
256
+ description: string;
257
+ /** Additional rate-change context (coverage shifts, modifier attribution, etc.) */
258
+ rateContext?: RateChangeContext;
259
+ /** Optional narrative fragments to help surface a story in the UI */
260
+ storyFragments?: string[];
261
+ }
262
+ /** A single reason explaining a cost change */
263
+ export interface ChangeReason {
264
+ /** Type of change */
265
+ type: ChangeReasonType;
266
+ /** Dollar impact of this change (can be positive or negative) */
267
+ impact: number;
268
+ /** Percentage of total change this reason represents */
269
+ impactPercent: number;
270
+ /** Detailed information about the change */
271
+ details: ChangeReasonDetails;
272
+ /** Optional narrative fragments tied to this reason */
273
+ storyFragments?: string[];
274
+ }
275
+ /** Complete analysis of cost changes for a resource */
276
+ export interface CostChangeAnalysis {
277
+ /** Overall type of change */
278
+ changeType: ChangeType;
279
+ /** List of specific reasons for the change, ordered by impact */
280
+ changeReasons: ChangeReason[];
281
+ /** Human-readable summary of the changes */
282
+ summary: string;
283
+ /** Optional narrative fragments surfaced for display */
284
+ storyFragments?: string[];
285
+ }
38
286
  //# 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":"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"}
@@ -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":";;;AA+NA,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
+ /** effective spend baseline used by summaries (rolling 30-day window in current pipeline) */
4
5
  spendBilling?: number;
6
+ /** amortized variant of spendBilling */
5
7
  spendBillingAmortized?: number;
8
+ /** previous-window baseline aligned with spendBilling semantics */
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
+ /** effective spend baseline used by summaries (rolling 30-day window in current pipeline) */
20
28
  spendBilling?: number;
29
+ /** amortized variant of spendBilling */
21
30
  spendBillingAmortized?: number;
31
+ /** previous-window baseline aligned with spendBilling semantics */
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
  }
@@ -39,4 +53,29 @@ export interface ResourceLink {
39
53
  doc: string;
40
54
  disabled?: boolean;
41
55
  }
56
+ export interface AzureResourceNotesFields {
57
+ knownIssues?: string;
58
+ troubleshooting?: string;
59
+ performance?: string;
60
+ maintenance?: string;
61
+ migration?: string;
62
+ dependencies?: string;
63
+ securityCompliance?: string;
64
+ }
65
+ export type AzureResourceNotesField = keyof AzureResourceNotesFields;
66
+ export interface GetAzureResourceNotesQuery {
67
+ resourceId: string;
68
+ }
69
+ export interface AzureResourceNotes {
70
+ resourceId: string;
71
+ subscriptionId: string;
72
+ notes: AzureResourceNotesFields;
73
+ updatedAt?: string;
74
+ updatedByUserId?: string;
75
+ updatedByDisplayName?: string;
76
+ }
77
+ export interface SaveAzureResourceNotesRequest {
78
+ resourceId: string;
79
+ notes: AzureResourceNotesFields;
80
+ }
42
81
  //# sourceMappingURL=resources.d.ts.map
@@ -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,6FAA6F;IAC7F,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wCAAwC;IACxC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mEAAmE;IACnE,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,6FAA6F;IAC7F,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wCAAwC;IACxC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mEAAmE;IACnE,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;AAED,MAAM,WAAW,wBAAwB;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,uBAAuB,GAAG,MAAM,wBAAwB,CAAC;AAErE,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,wBAAwB,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,6BAA6B;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,wBAAwB,CAAC;CACjC"}
@@ -0,0 +1,139 @@
1
+ export interface ReviewChecklistRequest {
2
+ tenantId?: string;
3
+ subscriptionIds: string[];
4
+ checklistId?: string;
5
+ categories?: string[];
6
+ onlyFailed?: boolean;
7
+ limitEvidence?: number;
8
+ }
9
+ export interface ReviewChecklistPayload extends ReviewChecklistRequest {
10
+ cloudAccountId: string;
11
+ }
12
+ export interface ReviewChecklistScanRequest {
13
+ cloudAccountId: string;
14
+ subscriptionId: string;
15
+ }
16
+ export type ReviewChecklistItemStatus = 'NotVerified' | 'Open' | 'Fulfilled' | 'Error' | 'NotRequired' | 'NA';
17
+ export interface ReviewChecklistItem {
18
+ guid: string;
19
+ id?: string;
20
+ category?: string;
21
+ subcategory?: string;
22
+ text?: string;
23
+ description?: string;
24
+ severity?: string;
25
+ waf?: string;
26
+ service?: string;
27
+ topics?: string[];
28
+ link?: string;
29
+ training?: string;
30
+ headline?: string;
31
+ plainSummary?: string;
32
+ effortHours?: number;
33
+ effortReason?: string;
34
+ graph?: string;
35
+ hasGraph?: boolean;
36
+ graphSourceAI?: boolean;
37
+ }
38
+ export interface ReviewChecklistItemState {
39
+ guid: string;
40
+ checklistId: string;
41
+ subscriptionId: string;
42
+ status?: ReviewChecklistItemStatus;
43
+ statusSource?: 'system' | 'user';
44
+ comments?: string;
45
+ lastUpdated?: string;
46
+ updatedBy?: string;
47
+ updatedByUserId?: string;
48
+ }
49
+ export interface ReviewChecklistItemStateUpdateRequest {
50
+ status?: ReviewChecklistItemStatus;
51
+ comments?: string;
52
+ }
53
+ export interface ReviewChecklistDefinition {
54
+ checklistId: string;
55
+ source?: {
56
+ commit?: string;
57
+ syncedAt?: string;
58
+ };
59
+ metadata?: {
60
+ name?: string;
61
+ state?: string;
62
+ timestamp?: string;
63
+ [key: string]: unknown;
64
+ };
65
+ categories?: string[];
66
+ items: ReviewChecklistItem[];
67
+ }
68
+ export interface ReviewChecklistItemResult {
69
+ guid: string;
70
+ status: ReviewChecklistItemStatus;
71
+ compliantCount: number;
72
+ nonCompliantCount: number;
73
+ compliantIds: string[];
74
+ nonCompliantIds: string[];
75
+ error?: string;
76
+ }
77
+ export interface ReviewChecklistItemOutput extends ReviewChecklistItemResult {
78
+ id: string | null;
79
+ category: string | null;
80
+ subcategory: string | null;
81
+ text: string | null;
82
+ description: string | null;
83
+ severity: string | null;
84
+ waf: string | null;
85
+ service: string | null;
86
+ link: string | null;
87
+ training: string | null;
88
+ headline: string | null;
89
+ plainSummary: string | null;
90
+ effortHours: number | null;
91
+ effortReason: string | null;
92
+ hasGraph: boolean | null;
93
+ graphSourceAI: boolean | null;
94
+ comments?: string | null;
95
+ statusSource?: 'system' | 'user';
96
+ lastUpdated?: string | null;
97
+ updatedBy?: string | null;
98
+ }
99
+ export interface ReviewChecklistSubscriptionResult {
100
+ subscriptionId: string;
101
+ items: ReviewChecklistItemOutput[];
102
+ }
103
+ export type ChecklistScanStatus = 'Completed' | 'Failed' | 'In Progress';
104
+ export interface ReviewChecklistDocument {
105
+ checklistId: string;
106
+ tenantId: string;
107
+ subscriptionId: string;
108
+ sourceVersion?: string;
109
+ name: string | null;
110
+ state: string | null;
111
+ timestamp: string | null;
112
+ scanStatus: ChecklistScanStatus;
113
+ /** ISO 8601 timestamp */
114
+ generatedAt: string;
115
+ items: ReviewChecklistItemOutput[];
116
+ }
117
+ export interface ReviewChecklistRunResult {
118
+ checklistId: string;
119
+ tenantId: string;
120
+ sourceVersion?: string;
121
+ name: string | null;
122
+ state: string | null;
123
+ timestamp: string | null;
124
+ scanStatus: ChecklistScanStatus;
125
+ generatedAt: string;
126
+ subscriptions: ReviewChecklistSubscriptionResult[];
127
+ }
128
+ export type ReviewChecklistCatalogueState = 'Preview' | 'preview' | 'GA' | 'Deprecated' | string | null;
129
+ export interface ReviewChecklistCatalogueEntry {
130
+ id: string;
131
+ name: string;
132
+ serviceName: string;
133
+ state: ReviewChecklistCatalogueState;
134
+ /** ISO 8601 date (YYYY-MM-DD) */
135
+ lastModified: string;
136
+ star: boolean;
137
+ }
138
+ export type ReviewChecklistCatalogue = ReviewChecklistCatalogueEntry[];
139
+ //# sourceMappingURL=reviewChecklist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reviewChecklist.d.ts","sourceRoot":"","sources":["../../src/azure/reviewChecklist.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=reviewChecklist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reviewChecklist.js","sourceRoot":"","sources":["../../src/azure/reviewChecklist.ts"],"names":[],"mappings":""}
@@ -1,7 +1,8 @@
1
1
  export interface SecurityImpact {
2
- subscriptionId: string;
2
+ id?: string;
3
3
  controlDisplayName: string;
4
4
  controlName: string;
5
+ /** Recommendation ids */
5
6
  recommendationIds: string[];
6
7
  notApplicableResourceCount: number;
7
8
  unhealthyResourceCount: number;
@@ -11,4 +12,17 @@ export interface SecurityImpact {
11
12
  currentScore: number;
12
13
  potentialScoreIncrease: number;
13
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
+ }
14
28
  //# sourceMappingURL=security.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/azure/security.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,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"}
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,28 @@
1
+ import { Tags } from '../tags';
2
+ import { ServiceRetirementRecommendation } from './recommendations';
3
+ import type { BenefitCoverageSummary } from './views.js';
4
+ export interface ServiceRetirement {
5
+ id: string;
6
+ subscriptionId: string;
7
+ resourceId: string;
8
+ resourceName: string;
9
+ resourceType: string;
10
+ resourceGroup: string;
11
+ location: string;
12
+ retiringFeature: string;
13
+ retirementDate: string;
14
+ effort?: 'high' | 'medium' | 'low';
15
+ effortHours?: number;
16
+ tags?: Record<string, string>;
17
+ spottoTags?: Tags;
18
+ }
19
+ export interface ServiceRetirementPortalResource {
20
+ id: string;
21
+ name?: string;
22
+ resourceType?: string;
23
+ benefitsCoverage?: BenefitCoverageSummary;
24
+ }
25
+ export interface ServiceRetirementPortalEntry extends ServiceRetirementRecommendation {
26
+ resources: ServiceRetirementPortalResource[];
27
+ }
28
+ //# 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,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD,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;IAC9B,UAAU,CAAC,EAAE,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,+BAA+B;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;CAC3C;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":""}
@@ -0,0 +1,22 @@
1
+ import { Comment } from './recommendationState';
2
+ export type ServiceRetirementStatus = 'Active' | 'Prioritized' | 'Dismissed';
3
+ export interface ServiceRetirementHistory {
4
+ userId: string;
5
+ userName?: string;
6
+ createdAt: Date;
7
+ action: 'Dismiss' | 'Restore' | 'Prioritize' | 'Unprioritize' | 'Comment' | 'Pin' | 'Unpin';
8
+ reason?: string;
9
+ }
10
+ export interface ServiceRetirementState {
11
+ companyId: string;
12
+ retirementId: string;
13
+ status: ServiceRetirementStatus;
14
+ statusStartAt?: string;
15
+ statusEndAt?: string;
16
+ createdAt: Date;
17
+ updatedAt?: Date;
18
+ comments: Comment[];
19
+ pinnedCommentId?: string;
20
+ history: ServiceRetirementHistory[];
21
+ }
22
+ //# sourceMappingURL=serviceRetirementState.d.ts.map