@spottoai/types-package 1.0.2-beta.25 → 1.0.2-beta.250

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 (237) hide show
  1. package/LICENSE +18 -40
  2. package/README.md +4 -13
  3. package/dist/accounts/accounts.d.ts +146 -2
  4. package/dist/accounts/accounts.d.ts.map +1 -1
  5. package/dist/accounts/accounts.js +13 -0
  6. package/dist/accounts/accounts.js.map +1 -1
  7. package/dist/accounts/azureSpSetup.d.ts +297 -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 +3 -0
  12. package/dist/accounts/index.d.ts.map +1 -1
  13. package/dist/accounts/index.js +3 -0
  14. package/dist/accounts/index.js.map +1 -1
  15. package/dist/accounts/readPermissions.d.ts +64 -0
  16. package/dist/accounts/readPermissions.d.ts.map +1 -0
  17. package/dist/accounts/readPermissions.js +148 -0
  18. package/dist/accounts/readPermissions.js.map +1 -0
  19. package/dist/accounts/validation.d.ts +91 -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 +994 -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 +586 -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 +44 -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 +81 -4
  62. package/dist/azure/metrics.d.ts.map +1 -1
  63. package/dist/azure/payloads.d.ts +147 -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 +93 -4
  76. package/dist/azure/recommendationState.d.ts.map +1 -1
  77. package/dist/azure/recommendationWorkflow.d.ts +124 -0
  78. package/dist/azure/recommendationWorkflow.d.ts.map +1 -0
  79. package/dist/azure/recommendationWorkflow.js +15 -0
  80. package/dist/azure/recommendationWorkflow.js.map +1 -0
  81. package/dist/azure/recommendations.d.ts +497 -6
  82. package/dist/azure/recommendations.d.ts.map +1 -1
  83. package/dist/azure/recommendations.js.map +1 -1
  84. package/dist/azure/relationships.d.ts +193 -0
  85. package/dist/azure/relationships.d.ts.map +1 -0
  86. package/dist/azure/relationships.js +6 -0
  87. package/dist/azure/relationships.js.map +1 -0
  88. package/dist/azure/reports.d.ts +279 -1
  89. package/dist/azure/reports.d.ts.map +1 -1
  90. package/dist/azure/reports.js +13 -0
  91. package/dist/azure/reports.js.map +1 -1
  92. package/dist/azure/resources.d.ts +80 -0
  93. package/dist/azure/resources.d.ts.map +1 -1
  94. package/dist/azure/reviewChecklist.d.ts +139 -0
  95. package/dist/azure/reviewChecklist.d.ts.map +1 -0
  96. package/dist/azure/reviewChecklist.js +3 -0
  97. package/dist/azure/reviewChecklist.js.map +1 -0
  98. package/dist/azure/security.d.ts +15 -1
  99. package/dist/azure/security.d.ts.map +1 -1
  100. package/dist/azure/serviceRetirement.d.ts +28 -0
  101. package/dist/azure/serviceRetirement.d.ts.map +1 -0
  102. package/dist/azure/serviceRetirement.js +3 -0
  103. package/dist/azure/serviceRetirement.js.map +1 -0
  104. package/dist/azure/serviceRetirementState.d.ts +22 -0
  105. package/dist/azure/serviceRetirementState.d.ts.map +1 -0
  106. package/dist/azure/serviceRetirementState.js +3 -0
  107. package/dist/azure/serviceRetirementState.js.map +1 -0
  108. package/dist/azure/storage-inventory.d.ts +241 -0
  109. package/dist/azure/storage-inventory.d.ts.map +1 -0
  110. package/dist/azure/storage-inventory.js +3 -0
  111. package/dist/azure/storage-inventory.js.map +1 -0
  112. package/dist/azure/subscriptions.d.ts +35 -13
  113. package/dist/azure/subscriptions.d.ts.map +1 -1
  114. package/dist/azure/views.d.ts +527 -3
  115. package/dist/azure/views.d.ts.map +1 -1
  116. package/dist/common/index.d.ts +1 -0
  117. package/dist/common/index.d.ts.map +1 -1
  118. package/dist/common/index.js +1 -0
  119. package/dist/common/index.js.map +1 -1
  120. package/dist/common/pagination.d.ts +3 -0
  121. package/dist/common/pagination.d.ts.map +1 -1
  122. package/dist/common/provider.d.ts +9 -0
  123. package/dist/common/provider.d.ts.map +1 -0
  124. package/dist/common/provider.js +9 -0
  125. package/dist/common/provider.js.map +1 -0
  126. package/dist/company/billingAccount.d.ts +30 -0
  127. package/dist/company/billingAccount.d.ts.map +1 -0
  128. package/dist/company/billingAccount.js +3 -0
  129. package/dist/company/billingAccount.js.map +1 -0
  130. package/dist/company/company.d.ts +55 -1
  131. package/dist/company/company.d.ts.map +1 -1
  132. package/dist/company/companyHierarchy.d.ts +53 -0
  133. package/dist/company/companyHierarchy.d.ts.map +1 -0
  134. package/dist/company/companyHierarchy.js +3 -0
  135. package/dist/company/companyHierarchy.js.map +1 -0
  136. package/dist/company/index.d.ts +2 -0
  137. package/dist/company/index.d.ts.map +1 -1
  138. package/dist/company/index.js +2 -0
  139. package/dist/company/index.js.map +1 -1
  140. package/dist/company/notification.d.ts +34 -1
  141. package/dist/company/notification.d.ts.map +1 -1
  142. package/dist/company/notification.js +27 -12
  143. package/dist/company/notification.js.map +1 -1
  144. package/dist/company/survey.d.ts +3 -0
  145. package/dist/company/survey.d.ts.map +1 -1
  146. package/dist/events/alertDefinitionRun.d.ts +23 -0
  147. package/dist/events/alertDefinitionRun.d.ts.map +1 -0
  148. package/dist/events/alertDefinitionRun.js +3 -0
  149. package/dist/events/alertDefinitionRun.js.map +1 -0
  150. package/dist/events/baseAlert.d.ts +130 -0
  151. package/dist/events/baseAlert.d.ts.map +1 -0
  152. package/dist/events/baseAlert.js +3 -0
  153. package/dist/events/baseAlert.js.map +1 -0
  154. package/dist/events/cost.d.ts +361 -0
  155. package/dist/events/cost.d.ts.map +1 -0
  156. package/dist/events/cost.js +3 -0
  157. package/dist/events/cost.js.map +1 -0
  158. package/dist/events/costAnomalies.d.ts +47 -0
  159. package/dist/events/costAnomalies.d.ts.map +1 -0
  160. package/dist/events/costAnomalies.js +3 -0
  161. package/dist/events/costAnomalies.js.map +1 -0
  162. package/dist/events/costViews.d.ts +23 -0
  163. package/dist/events/costViews.d.ts.map +1 -0
  164. package/dist/events/costViews.js +3 -0
  165. package/dist/events/costViews.js.map +1 -0
  166. package/dist/events/eventStatus.d.ts +67 -0
  167. package/dist/events/eventStatus.d.ts.map +1 -0
  168. package/dist/events/eventStatus.js +3 -0
  169. package/dist/events/eventStatus.js.map +1 -0
  170. package/dist/events/index.d.ts +7 -0
  171. package/dist/events/index.d.ts.map +1 -0
  172. package/dist/events/index.js +23 -0
  173. package/dist/events/index.js.map +1 -0
  174. package/dist/features-and-permissions/access.d.ts +133 -0
  175. package/dist/features-and-permissions/access.d.ts.map +1 -0
  176. package/dist/features-and-permissions/access.js +3 -0
  177. package/dist/features-and-permissions/access.js.map +1 -0
  178. package/dist/features-and-permissions/index.d.ts +2 -0
  179. package/dist/features-and-permissions/index.d.ts.map +1 -0
  180. package/dist/features-and-permissions/index.js +18 -0
  181. package/dist/features-and-permissions/index.js.map +1 -0
  182. package/dist/feedbacks/feedback.d.ts +9 -0
  183. package/dist/feedbacks/feedback.d.ts.map +1 -1
  184. package/dist/identity/apikey.d.ts +84 -0
  185. package/dist/identity/apikey.d.ts.map +1 -0
  186. package/dist/identity/apikey.js +3 -0
  187. package/dist/identity/apikey.js.map +1 -0
  188. package/dist/identity/index.d.ts +2 -0
  189. package/dist/identity/index.d.ts.map +1 -0
  190. package/dist/identity/index.js +18 -0
  191. package/dist/identity/index.js.map +1 -0
  192. package/dist/index.d.ts +21 -0
  193. package/dist/index.d.ts.map +1 -1
  194. package/dist/index.js +21 -1
  195. package/dist/index.js.map +1 -1
  196. package/dist/index.vite.d.ts +35 -0
  197. package/dist/index.vite.d.ts.map +1 -0
  198. package/dist/index.vite.js +51 -0
  199. package/dist/index.vite.js.map +1 -0
  200. package/dist/integrations/halo.d.ts +76 -0
  201. package/dist/integrations/halo.d.ts.map +1 -0
  202. package/dist/integrations/halo.js +3 -0
  203. package/dist/integrations/halo.js.map +1 -0
  204. package/dist/integrations/index.d.ts +3 -0
  205. package/dist/integrations/index.d.ts.map +1 -0
  206. package/dist/integrations/index.js +19 -0
  207. package/dist/integrations/index.js.map +1 -0
  208. package/dist/integrations/integrationTickets.d.ts +67 -0
  209. package/dist/integrations/integrationTickets.d.ts.map +1 -0
  210. package/dist/integrations/integrationTickets.js +3 -0
  211. package/dist/integrations/integrationTickets.js.map +1 -0
  212. package/dist/scheduler/index.d.ts +2 -0
  213. package/dist/scheduler/index.d.ts.map +1 -0
  214. package/dist/scheduler/index.js +18 -0
  215. package/dist/scheduler/index.js.map +1 -0
  216. package/dist/scheduler/scheduler.d.ts +113 -0
  217. package/dist/scheduler/scheduler.d.ts.map +1 -0
  218. package/dist/scheduler/scheduler.js +3 -0
  219. package/dist/scheduler/scheduler.js.map +1 -0
  220. package/dist/tags/index.d.ts +2 -0
  221. package/dist/tags/index.d.ts.map +1 -0
  222. package/dist/tags/index.js +18 -0
  223. package/dist/tags/index.js.map +1 -0
  224. package/dist/tags/tags.d.ts +26 -0
  225. package/dist/tags/tags.d.ts.map +1 -0
  226. package/dist/tags/tags.js +10 -0
  227. package/dist/tags/tags.js.map +1 -0
  228. package/dist/unknown/services.d.ts +12 -0
  229. package/dist/unknown/services.d.ts.map +1 -0
  230. package/dist/unknown/services.js +3 -0
  231. package/dist/unknown/services.js.map +1 -0
  232. package/dist/users/companyUser.d.ts +6 -0
  233. package/dist/users/companyUser.d.ts.map +1 -1
  234. package/dist/users/companyUser.js.map +1 -1
  235. package/dist/users/user.d.ts +16 -1
  236. package/dist/users/user.d.ts.map +1 -1
  237. package/package.json +3 -3
@@ -1,5 +1,10 @@
1
- import { Comment, RecommendationHistory } from './recommendationState';
2
- import { SecurityImpact } from './security';
1
+ import type { Comment, CommentScope, RecommendationHistory } from './recommendationState';
2
+ import type { ProviderScope } from '../common/provider';
3
+ import { SecurityAssessmentStatus, SecurityImpact, SubscriptionSecurityStatus } from './security';
4
+ import { SubscriptionSummaryLite } from './subscriptions';
5
+ import { CostSavingsAggregationPolicy, CostSavingsSummary, SavingsPotential, VmPricePerformanceInsights } from './views';
6
+ import type { HaloRoutingOverrides } from '../integrations/halo';
7
+ import type { Tags } from '../tags';
3
8
  export declare enum RecommendationCategory {
4
9
  Cost = "Cost",
5
10
  Performance = "Performance",
@@ -9,14 +14,184 @@ export declare enum RecommendationCategory {
9
14
  OperationalExcellence = "OperationalExcellence",
10
15
  OperationalExcellenceAlternative = "Operational Excellence"
11
16
  }
17
+ export type RecommendationPriorityTier = 'must_do' | 'normal';
18
+ export type EffortEstimateProfileName = 'clickops' | 'devops' | 'enterprise';
19
+ export interface RecommendationBaseScores {
20
+ cost_optimization: number;
21
+ security: number;
22
+ performance: number;
23
+ reliability: number;
24
+ compliance: number;
25
+ operational_excellence: number;
26
+ }
27
+ export interface RecommendationEffortEstimateBreakdown {
28
+ discovery: number;
29
+ implementation: number;
30
+ validation: number;
31
+ rollbackPlanning: number;
32
+ coordination: number;
33
+ }
34
+ export interface RecommendationEffortEstimateProfile {
35
+ effortHours: number;
36
+ breakdown: RecommendationEffortEstimateBreakdown;
37
+ reason: string;
38
+ }
39
+ export interface RecommendationEffortEstimateProfiles {
40
+ clickops: RecommendationEffortEstimateProfile;
41
+ devops: RecommendationEffortEstimateProfile;
42
+ enterprise: RecommendationEffortEstimateProfile;
43
+ }
44
+ export interface RecommendationBulkEffortEstimateProfile {
45
+ setupHours: number;
46
+ perResourceHours: number;
47
+ validationHours: number;
48
+ }
49
+ export interface RecommendationBulkEffortEstimateProfiles {
50
+ clickops: RecommendationBulkEffortEstimateProfile;
51
+ devops: RecommendationBulkEffortEstimateProfile;
52
+ enterprise: RecommendationBulkEffortEstimateProfile;
53
+ }
54
+ export interface RecommendationBulkEffortEstimates {
55
+ supported: boolean;
56
+ threshold: number;
57
+ profiles: RecommendationBulkEffortEstimateProfiles;
58
+ }
59
+ export interface RecommendationEffortEstimates {
60
+ profiles: RecommendationEffortEstimateProfiles;
61
+ bulk: RecommendationBulkEffortEstimates;
62
+ overridden?: boolean;
63
+ lastUpdatedAt?: string;
64
+ notes?: string;
65
+ }
66
+ export interface RecommendationActionImpactAssessment {
67
+ downtime: string;
68
+ dataLoss: string;
69
+ accessImpact: string;
70
+ dependencies: string;
71
+ }
72
+ export type RecommendationActionRiskLevel = 'low' | 'medium' | 'high';
73
+ export interface RecommendationActionRollback {
74
+ supported: boolean;
75
+ description: string;
76
+ limitations: string[];
77
+ }
78
+ export interface RecommendationActionCheck {
79
+ label: string;
80
+ description: string;
81
+ }
82
+ export interface RecommendationActionLink {
83
+ label: string;
84
+ url: string;
85
+ }
86
+ export interface RecommendationActionPostValidation {
87
+ label: string;
88
+ description: string;
89
+ expectedResult: string;
90
+ links?: RecommendationActionLink[];
91
+ }
92
+ export type RecommendationActionPermissionProvider = 'azure-rbac';
93
+ export type RecommendationActionPermissionScope = 'targetResource' | 'resourceGroup' | 'subscription' | 'tenant';
94
+ export interface RecommendationActionPermissionRequirement {
95
+ label: string;
96
+ name: string;
97
+ reason: string;
98
+ links?: RecommendationActionLink[];
99
+ }
100
+ export interface RecommendationActionLeastPrivilegeRole {
101
+ label: string;
102
+ description: string;
103
+ }
104
+ export interface RecommendationActionSuggestedRole {
105
+ label: string;
106
+ roleName: string;
107
+ roleDefinitionId?: string;
108
+ reason: string;
109
+ }
110
+ export interface RecommendationActionRequiredPermissions {
111
+ provider: RecommendationActionPermissionProvider;
112
+ scope: RecommendationActionPermissionScope;
113
+ actions: RecommendationActionPermissionRequirement[];
114
+ dataActions: RecommendationActionPermissionRequirement[];
115
+ leastPrivilegeRole?: RecommendationActionLeastPrivilegeRole;
116
+ suggestedRoles?: RecommendationActionSuggestedRole[];
117
+ }
118
+ export interface RecommendationActionDefinition {
119
+ verified: boolean;
120
+ actionDefinitionId?: string;
121
+ title: string;
122
+ description: string;
123
+ estimatedDuration: string;
124
+ riskLevel: RecommendationActionRiskLevel;
125
+ requiredPermissions?: RecommendationActionRequiredPermissions;
126
+ impactAssessment: RecommendationActionImpactAssessment;
127
+ rollback: RecommendationActionRollback;
128
+ humanPreChecks: RecommendationActionCheck[];
129
+ postValidation: RecommendationActionPostValidation[];
130
+ }
131
+ export type RecommendationActionMetadata = RecommendationActionDefinition;
132
+ export type RecommendationImplementActionImpactAssessment = RecommendationActionImpactAssessment;
133
+ export type RecommendationImplementAction = RecommendationActionMetadata;
12
134
  export interface RecommendationResources {
13
135
  recommendation: CustomAzureRecommendation;
14
136
  resourceIds: string[];
15
137
  }
138
+ export type HddSsdMigrationTargetTier = 'standardSsd' | 'premiumSsd';
139
+ export type HddDiskPricingRedundancy = 'LRS' | 'ZRS';
140
+ export interface HddOsRetirementCurrentDiskPricing {
141
+ storageTier: 'standardHdd';
142
+ skuName: string;
143
+ pricingRedundancy?: HddDiskPricingRedundancy;
144
+ sizeGiB: number;
145
+ monthlyActual: number;
146
+ monthlyRetail: number;
147
+ }
148
+ export interface HddOsRetirementTargetDiskPricing {
149
+ storageTier: HddSsdMigrationTargetTier;
150
+ skuName: string;
151
+ pricingRedundancy?: HddDiskPricingRedundancy;
152
+ sizeGiB: number;
153
+ monthlyRetail: number;
154
+ }
155
+ export interface HddOsRetirementDiskRenderItem {
156
+ resourceId: string;
157
+ resourceName: string;
158
+ resourceType: string;
159
+ /** Canonical location key used for pricing lookup, e.g. "westus". */
160
+ pricingLocation?: string;
161
+ current: HddOsRetirementCurrentDiskPricing;
162
+ standardSsd: HddOsRetirementTargetDiskPricing & {
163
+ storageTier: 'standardSsd';
164
+ };
165
+ premiumSsd: HddOsRetirementTargetDiskPricing & {
166
+ storageTier: 'premiumSsd';
167
+ };
168
+ defaultSelection?: HddSsdMigrationTargetTier;
169
+ }
170
+ export interface HddOsRetirementRenderStrategyPayload {
171
+ retirementDate: string;
172
+ retirementLink: string;
173
+ currencyCode?: string;
174
+ currencySymbol?: string;
175
+ defaultTargetTier?: HddSsdMigrationTargetTier;
176
+ impactedDiskCount: number;
177
+ currentMonthlyActual: number;
178
+ currentMonthlyRetail: number;
179
+ standardSsdMonthlyRetail: number;
180
+ premiumSsdMonthlyRetail: number;
181
+ standardSsdMonthlyDelta: number;
182
+ premiumSsdMonthlyDelta: number;
183
+ disks: HddOsRetirementDiskRenderItem[];
184
+ }
185
+ export type RecommendationKnownRenderData = HddOsRetirementRenderStrategyPayload | VmPricePerformanceInsights;
186
+ export type AnyRecommendationRenderData = Record<string, unknown>;
16
187
  export interface Recommendation {
188
+ /** Business identity of a recommendation record (routing/state/sharing/dedupe). */
17
189
  id: string;
18
190
  name: string;
19
191
  category: RecommendationCategory;
192
+ subCategory?: string;
193
+ aggregateDescription?: string;
194
+ /** custom */
20
195
  type?: string;
21
196
  description?: string;
22
197
  remediation?: string;
@@ -27,32 +202,86 @@ export interface Recommendation {
27
202
  url: string;
28
203
  }[];
29
204
  considerations?: string;
205
+ currency?: string;
30
206
  potentialBenefits?: string;
207
+ potentialMonthlySavings?: number;
31
208
  effort?: string;
32
209
  effortReason?: string;
210
+ /** e.g. 10 hours */
211
+ effortHours?: number;
212
+ /** Detailed implementation estimates by delivery profile and bulk rollout mode. */
213
+ effortEstimates?: RecommendationEffortEstimates;
33
214
  risk?: string;
34
215
  riskReason?: string;
216
+ severity?: string;
217
+ /** Could deprecate later */
35
218
  costImpact?: number;
36
219
  costImpactReason?: string;
37
- costImpactDetails?: CostImpactDetails;
220
+ /*** costImpactDetails is deprecated **/
38
221
  performanceImpact?: number;
39
222
  performanceImpactReason?: string;
40
223
  confidencePercentage?: number;
41
224
  confidenceReason?: string;
225
+ /** array of resources that have this recommendation */
42
226
  resources?: ResourceReference[];
227
+ /** Compact resource references for resource-specific detail payloads. */
228
+ resourceIds?: string[];
229
+ /** only for security recommendations */
43
230
  securityImpactDetails?: SecurityImpact;
231
+ /** whether the recommendation has been resolved or not, eg, Security Assessment is "Healthy" should be true */
44
232
  resolved?: boolean;
45
- subcategory?: string;
233
+ securityAssessmentStatuses?: SecurityAssessmentStatus[];
234
+ /** Deprecated fields, kept for compatibility */
46
235
  solution?: string;
47
236
  source?: string;
48
237
  service?: string;
238
+ /**
239
+ * Stored as string to allow JSON persistence.
240
+ * Uses a different name to avoid conflict with RecommendationWithState.createdAt.
241
+ */
49
242
  createdTime?: string;
243
+ /** Avoids conflict with RecommendationWithState.updatedAt */
50
244
  lastUpdatedTime?: string;
245
+ /** Business story properties */
246
+ title?: string;
247
+ headline?: string;
248
+ bottomLine?: string;
249
+ plainSummary?: string;
250
+ quickSteps?: string[];
251
+ businessOwner?: string;
252
+ keyConstraint?: string;
253
+ validationEvidence?: string;
254
+ read?: boolean;
255
+ /** Technical playbook (only for multi-step implementations) */
256
+ technicalPlaybook?: string;
257
+ /** Static recommendation scoring metadata (library-level). */
258
+ baseScores?: RecommendationBaseScores;
259
+ overallBaseScore?: number;
260
+ overallBaseReason?: string;
261
+ priorityTier?: RecommendationPriorityTier;
262
+ /** Runtime scoring metadata (per company/tenant). */
263
+ adjustedScore?: number;
264
+ objectiveMultiplier?: number;
265
+ finalScore?: number;
266
+ /** UI display-only normalized score (0-100). */
267
+ normalizedScore?: number;
268
+ /** Cross-feature linkage IDs used for deep links and related views. */
269
+ linkingIds?: RecommendationLinkingIds;
270
+ /** Optional UI render payload consumed by recommendation-specific components. */
271
+ renderData?: RecommendationKnownRenderData | AnyRecommendationRenderData;
272
+ /** Optional action definition for implement-capable recommendations. */
273
+ action?: RecommendationActionMetadata;
274
+ }
275
+ export interface RecommendationLinkingIds {
276
+ serviceRetirementIds?: string[];
51
277
  }
278
+ /** Deprecated **/
52
279
  export interface CostImpactDetails {
280
+ /** e.g. "Saving Plan", "Reserved Instance", "Windows migration to Linux" */
53
281
  name: string;
54
282
  monthlySavings?: number;
55
283
  currentSpend?: number;
284
+ /** e.g. 20 for 20% */
56
285
  savingPercentage?: number;
57
286
  minMonthlySavings?: number;
58
287
  maxMonthlySavings?: number;
@@ -67,16 +296,68 @@ export interface RecommendationSummary {
67
296
  export interface RecommendationWithResources {
68
297
  recommendation: Recommendation;
69
298
  resources: RecommendationResource[];
299
+ savings?: SavingsPotential;
300
+ /** Canonical resource ID that owns this recommendation savings amount for aggregation */
301
+ savingsOwnerResourceId?: string;
302
+ /** Resource IDs that may display this recommendation savings amount as context */
303
+ savingsDisplayResourceIds?: string[];
304
+ /** Billable component key used with the owner ID to prevent double counting */
305
+ billableComponentKey?: string;
306
+ /** Aggregation rule for this recommendation savings amount */
307
+ savingsAggregationPolicy?: CostSavingsAggregationPolicy;
308
+ }
309
+ /**
310
+ * Contextual links from one recommendation row to other resources.
311
+ * Used to model "this disk belongs to that VM" style associations
312
+ * without changing which resource owns savings totals.
313
+ */
314
+ export interface RecommendationResourceAssociation {
315
+ id: string;
316
+ name?: string;
317
+ type?: string;
318
+ relationship?: ResourceRelationship;
70
319
  }
71
320
  export interface RecommendationResource {
72
321
  id: string;
73
322
  name: string;
74
323
  type: string;
324
+ resourceGroup?: string;
325
+ location?: string;
326
+ subscriptionId?: string;
327
+ subscriptionName?: string;
328
+ tags?: Record<string, string>;
329
+ spottoTags?: Tags;
330
+ createdTime?: string;
331
+ typeInfo?: {
332
+ name: string;
333
+ icon: string;
334
+ description: string;
335
+ product: string;
336
+ aliases?: string[];
337
+ };
75
338
  spend: number;
76
339
  spendAmortized: number;
340
+ savings?: SavingsPotential;
341
+ /** Canonical resource ID that owns this resource savings amount for aggregation */
342
+ savingsOwnerResourceId?: string;
343
+ /** Resource IDs that may display this resource savings amount as context */
344
+ savingsDisplayResourceIds?: string[];
345
+ /** Billable component key used with the owner ID to prevent double counting */
346
+ billableComponentKey?: string;
347
+ /** Aggregation rule for this resource savings amount */
348
+ savingsAggregationPolicy?: CostSavingsAggregationPolicy;
349
+ currency?: string;
350
+ currencySymbol?: string;
351
+ relationship?: ResourceRelationship;
352
+ associations?: RecommendationResourceAssociation[];
77
353
  }
78
354
  export interface RecommendationsView {
79
355
  recommendations: RecommendationWithResources[];
356
+ securityImpactDetails?: SecurityImpact[];
357
+ subscriptionSecurityStatus?: SubscriptionSecurityStatus;
358
+ savings?: SavingsPotential;
359
+ subscription: SubscriptionSummaryLite;
360
+ costSavingsSummary?: CostSavingsSummary;
80
361
  }
81
362
  export interface ResourceId {
82
363
  id: string;
@@ -84,7 +365,20 @@ export interface ResourceId {
84
365
  export interface ResourceReference {
85
366
  id: string;
86
367
  name: string;
368
+ type?: string;
369
+ subscriptionName?: string;
370
+ savings?: SavingsPotential;
371
+ currency?: string;
372
+ currencySymbol?: string;
373
+ relationship?: ResourceRelationship;
374
+ associations?: RecommendationResourceAssociation[];
87
375
  }
376
+ export type ResourceRelationship = {
377
+ role?: 'primary' | 'related';
378
+ type?: string;
379
+ allocationId?: string;
380
+ metadata?: Record<string, string>;
381
+ };
88
382
  export interface ReliabilityRecommendation extends Recommendation {
89
383
  referenceID: string;
90
384
  resourceType: string;
@@ -92,7 +386,6 @@ export interface ReliabilityRecommendation extends Recommendation {
92
386
  service: string;
93
387
  }
94
388
  export interface CustomAzureRecommendation extends Recommendation {
95
- subcategory: string;
96
389
  service: string;
97
390
  source: string;
98
391
  fileName: string;
@@ -102,6 +395,7 @@ export interface RecommendationCollection {
102
395
  results: ResourceId[];
103
396
  }
104
397
  export interface AzureRecommendationLite {
398
+ /** e.g. Cost, Performance, Reliability, Security, Compliance, OperationalExcellence, Operational Excellence, HighAvailability */
105
399
  category: string;
106
400
  total: number;
107
401
  high: number;
@@ -109,13 +403,18 @@ export interface AzureRecommendationLite {
109
403
  low: number;
110
404
  }
111
405
  export interface RecommendationStats {
406
+ /** total number of recommendations in the subscription */
112
407
  total: number;
408
+ /** total number of high recommendations in the subscription */
113
409
  high: number;
410
+ /** total number of medium recommendations in the subscription */
114
411
  medium: number;
412
+ /** total number of low recommendations in the subscription */
115
413
  low: number;
116
414
  }
415
+ /** Recommendation with state information, name "ExtendedRecommendation" in the portal at the moment */
117
416
  export interface RecommendationWithState extends Recommendation {
118
- status?: 'Active' | 'Prioritized' | 'Postponed' | 'Dismissed' | 'Completed' | 'Archived';
417
+ status?: 'Active' | 'Prioritized' | 'Postponed' | 'Dismissed' | 'Completed' | 'Archived' | 'Implementing' | 'Implemented' | 'Failed';
119
418
  read?: boolean;
120
419
  scheduledAt?: Date;
121
420
  createdAt?: Date;
@@ -124,4 +423,196 @@ export interface RecommendationWithState extends Recommendation {
124
423
  comments?: Comment[];
125
424
  history?: RecommendationHistory[];
126
425
  }
426
+ export interface DismissRecommendationRequest extends RecommendationActionRequest {
427
+ dismissReason: string;
428
+ }
429
+ export interface ShareRecommendationRequest extends RecommendationActionRequest {
430
+ shareType: 'email' | 'slack' | 'teams' | 'jira' | 'halo' | 'connectwise';
431
+ email?: string;
432
+ halo?: HaloRoutingOverrides;
433
+ connectwise?: ConnectWiseRoutingFields;
434
+ }
435
+ export interface RecommendationActionRequest extends ProviderScope {
436
+ /** `providerScope` maps to subscription identity for Azure providers. */
437
+ scope?: CommentScope;
438
+ /** Optional cloud-account identity enriched by trusted server-side callers before queue publish. */
439
+ cloudAccountId?: string;
440
+ /** Optional user-provided reason for queue-backed actions such as implement. */
441
+ reason?: string;
442
+ /** Optional action permission metadata passed into API preflight before queue publish. */
443
+ requiredPermissions?: RecommendationActionRequiredPermissions;
444
+ recommendationId: string;
445
+ recommendationTitle?: string;
446
+ resourceIds: string[];
447
+ resourceGroupName?: string;
448
+ companyId: string;
449
+ byUserId?: string;
450
+ byUserDisplayName?: string;
451
+ }
452
+ export interface RecommendationActionResponse {
453
+ success: boolean;
454
+ message?: string;
455
+ affectedResources?: string[];
456
+ eventId?: string;
457
+ }
458
+ export type RecommendationActionPermissionFailureStatus = 'missing' | 'unknown' | 'unsupported';
459
+ export interface RecommendationActionPermissionFailure {
460
+ resourceId: string;
461
+ azureScope: string;
462
+ status: RecommendationActionPermissionFailureStatus;
463
+ message: string;
464
+ missingActions: string[];
465
+ missingDataActions: string[];
466
+ }
467
+ export interface RecommendationActionPermissionErrorResponse {
468
+ error: 'AzurePermissionMissing';
469
+ message: string;
470
+ action: 'implement';
471
+ providerName: string;
472
+ providerScopeId: string;
473
+ failures: RecommendationActionPermissionFailure[];
474
+ }
475
+ export interface ServiceRetirementRecommendation {
476
+ Id: string;
477
+ ServiceName: string;
478
+ RetiringFeature: string;
479
+ RetirementDate: string;
480
+ Link: string;
481
+ effort: string;
482
+ effortHours: number;
483
+ effortReason: string;
484
+ risk: string;
485
+ riskReason: string;
486
+ considerations: string;
487
+ confidencePercentage: number;
488
+ confidenceReason: string;
489
+ lastProcessedAt: string;
490
+ /** Related recommendation IDs for cross-navigation from retirement tracker. */
491
+ linkedRecommendationIds?: string[];
492
+ }
493
+ export interface JiraShareDetails {
494
+ projectKey?: string;
495
+ epicKey?: string;
496
+ label?: string;
497
+ }
498
+ export interface JiraIntegrationRequestBase {
499
+ siteUrl: string;
500
+ email: string;
501
+ secret?: string;
502
+ useStoredSecret?: boolean;
503
+ }
504
+ export interface JiraIntegrationTestPayload extends JiraIntegrationRequestBase {
505
+ projectKey?: string;
506
+ }
507
+ export interface JiraIntegrationEpicsPayload extends JiraIntegrationRequestBase {
508
+ projectKey: string;
509
+ maxResults?: number;
510
+ }
511
+ export interface JiraIntegrationProjectsPayload extends JiraIntegrationRequestBase {
512
+ maxResults?: number;
513
+ }
514
+ export interface JiraIntegrationLabelsPayload extends JiraIntegrationRequestBase {
515
+ projectKey: string;
516
+ maxResults?: number;
517
+ searchQuery?: string;
518
+ }
519
+ export interface JiraEntity {
520
+ id: string;
521
+ key: string;
522
+ name: string;
523
+ }
524
+ export interface JiraLabel {
525
+ name: string;
526
+ }
527
+ export interface ConnectWiseIntegrationRequestBase {
528
+ siteUrl: string;
529
+ companyId: string;
530
+ publicKey: string;
531
+ secret?: string;
532
+ useStoredSecret?: boolean;
533
+ credentialOwnerCompanyId?: string;
534
+ }
535
+ export type ConnectWiseId = string | number;
536
+ export interface ConnectWiseRoutingFields {
537
+ boardId?: ConnectWiseId;
538
+ boardName?: string;
539
+ statusId?: ConnectWiseId;
540
+ statusName?: string;
541
+ customerId?: ConnectWiseId;
542
+ customerName?: string;
543
+ projectId?: ConnectWiseId;
544
+ projectName?: string;
545
+ typeId?: ConnectWiseId;
546
+ typeName?: string;
547
+ subTypeId?: ConnectWiseId;
548
+ subTypeName?: string;
549
+ itemId?: ConnectWiseId;
550
+ itemName?: string;
551
+ priorityId?: ConnectWiseId;
552
+ priorityName?: string;
553
+ contactId?: ConnectWiseId;
554
+ contactName?: string;
555
+ agreementId?: ConnectWiseId;
556
+ agreementName?: string;
557
+ slaId?: ConnectWiseId;
558
+ slaName?: string;
559
+ source?: string;
560
+ }
561
+ export interface ConnectWiseIntegrationTestPayload extends ConnectWiseIntegrationRequestBase, ConnectWiseRoutingFields {
562
+ }
563
+ export type ConnectWiseBoardsPayload = ConnectWiseIntegrationRequestBase;
564
+ export type ConnectWiseCompaniesPayload = ConnectWiseIntegrationRequestBase;
565
+ export type ConnectWiseProjectsPayload = ConnectWiseIntegrationRequestBase;
566
+ export interface ConnectWiseStatusesPayload extends ConnectWiseIntegrationRequestBase {
567
+ boardId?: string;
568
+ boardName?: string;
569
+ }
570
+ export interface ConnectWiseTypesPayload extends ConnectWiseIntegrationRequestBase {
571
+ boardId?: string;
572
+ boardName?: string;
573
+ }
574
+ export interface ConnectWiseSubTypesPayload extends ConnectWiseIntegrationRequestBase {
575
+ boardId?: string;
576
+ boardName?: string;
577
+ typeId?: string;
578
+ typeName?: string;
579
+ }
580
+ export interface ConnectWiseItemsPayload extends ConnectWiseIntegrationRequestBase {
581
+ boardId?: string;
582
+ boardName?: string;
583
+ typeId?: string;
584
+ typeName?: string;
585
+ subTypeId?: string;
586
+ subTypeName?: string;
587
+ }
588
+ export interface ConnectWiseTypeSubTypeItemAssociationsPayload extends ConnectWiseIntegrationRequestBase {
589
+ boardId?: string;
590
+ boardName?: string;
591
+ }
592
+ export interface ConnectWisePrioritiesPayload extends ConnectWiseIntegrationRequestBase {
593
+ boardId?: string;
594
+ boardName?: string;
595
+ }
596
+ export interface ConnectWiseContactsPayload extends ConnectWiseIntegrationRequestBase {
597
+ searchQuery?: string;
598
+ }
599
+ export type ConnectWiseSourcesPayload = ConnectWiseIntegrationRequestBase;
600
+ export type ConnectWiseAgreementsPayload = ConnectWiseIntegrationRequestBase;
601
+ export type ConnectWiseSlasPayload = ConnectWiseIntegrationRequestBase;
602
+ export interface ConnectWiseEntity {
603
+ id: string | number;
604
+ name: string;
605
+ }
606
+ export interface ConnectWiseTypeSubTypeItemAssociation {
607
+ type?: ConnectWiseEntity;
608
+ subType?: ConnectWiseEntity;
609
+ item?: ConnectWiseEntity;
610
+ }
611
+ export interface ConnectWiseContact extends ConnectWiseEntity {
612
+ email?: string;
613
+ }
614
+ export interface ConnectWiseTicketMetadata extends ConnectWiseRoutingFields {
615
+ ticketId: ConnectWiseId;
616
+ ticketUrl?: string;
617
+ }
127
618
  //# sourceMappingURL=recommendations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"recommendations.d.ts","sourceRoot":"","sources":["../../src/azure/recommendations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recommendations.d.ts","sourceRoot":"","sources":["../../src/azure/recommendations.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"recommendations.js","sourceRoot":"","sources":["../../src/azure/recommendations.ts"],"names":[],"mappings":";;;AAGA,IAAY,sBAQX;AARD,WAAY,sBAAsB;IAChC,uCAAa,CAAA;IACb,qDAA2B,CAAA;IAC3B,qDAA2B,CAAA;IAC3B,+CAAqB,CAAA;IACrB,mDAAyB,CAAA;IACzB,yEAA+C,CAAA;IAC/C,qFAA2D,CAAA;AAC7D,CAAC,EARW,sBAAsB,sCAAtB,sBAAsB,QAQjC"}
1
+ {"version":3,"file":"recommendations.js","sourceRoot":"","sources":["../../src/azure/recommendations.ts"],"names":[],"mappings":";;;AAOA,IAAY,sBAQX;AARD,WAAY,sBAAsB;IAChC,uCAAa,CAAA;IACb,qDAA2B,CAAA;IAC3B,qDAA2B,CAAA;IAC3B,+CAAqB,CAAA;IACrB,mDAAyB,CAAA;IACzB,yEAA+C,CAAA;IAC/C,qFAA2D,CAAA;AAC7D,CAAC,EARW,sBAAsB,sCAAtB,sBAAsB,QAQjC"}