@spottoai/types-package 1.0.2-beta.26 → 1.0.2-beta.260

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