@spottoai/types-package 1.0.2-beta.21 → 1.0.2-beta.210

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/LICENSE +18 -40
  2. package/README.md +4 -13
  3. package/dist/accounts/accounts.d.ts +45 -3
  4. package/dist/accounts/accounts.d.ts.map +1 -1
  5. package/dist/accounts/index.d.ts +3 -0
  6. package/dist/accounts/index.d.ts.map +1 -1
  7. package/dist/accounts/index.js +3 -0
  8. package/dist/accounts/index.js.map +1 -1
  9. package/dist/accounts/readPermissions.d.ts +45 -0
  10. package/dist/accounts/readPermissions.d.ts.map +1 -0
  11. package/dist/accounts/readPermissions.js +70 -0
  12. package/dist/accounts/readPermissions.js.map +1 -0
  13. package/dist/accounts/validation.d.ts +24 -0
  14. package/dist/accounts/validation.d.ts.map +1 -0
  15. package/dist/accounts/validation.js +3 -0
  16. package/dist/accounts/validation.js.map +1 -0
  17. package/dist/accounts/writePermissions.d.ts +34 -0
  18. package/dist/accounts/writePermissions.d.ts.map +1 -0
  19. package/dist/accounts/writePermissions.js +37 -0
  20. package/dist/accounts/writePermissions.js.map +1 -0
  21. package/dist/ai/index.d.ts +975 -9
  22. package/dist/ai/index.d.ts.map +1 -1
  23. package/dist/ai/index.js +1 -1
  24. package/dist/ai/index.js.map +1 -1
  25. package/dist/azure/activityLogs.d.ts +65 -0
  26. package/dist/azure/activityLogs.d.ts.map +1 -0
  27. package/dist/azure/activityLogs.js +6 -0
  28. package/dist/azure/activityLogs.js.map +1 -0
  29. package/dist/azure/benefits.d.ts +137 -0
  30. package/dist/azure/benefits.d.ts.map +1 -0
  31. package/dist/azure/benefits.js +3 -0
  32. package/dist/azure/benefits.js.map +1 -0
  33. package/dist/azure/billingPlots.d.ts +249 -0
  34. package/dist/azure/billingPlots.d.ts.map +1 -0
  35. package/dist/azure/billingPlots.js +6 -0
  36. package/dist/azure/billingPlots.js.map +1 -0
  37. package/dist/azure/budgets.d.ts +4 -0
  38. package/dist/azure/budgets.d.ts.map +1 -1
  39. package/dist/azure/commitmentsPlanning.d.ts +159 -0
  40. package/dist/azure/commitmentsPlanning.d.ts.map +1 -0
  41. package/dist/azure/commitmentsPlanning.js +3 -0
  42. package/dist/azure/commitmentsPlanning.js.map +1 -0
  43. package/dist/azure/common.d.ts +34 -0
  44. package/dist/azure/common.d.ts.map +1 -1
  45. package/dist/azure/configs.d.ts +75 -2
  46. package/dist/azure/configs.d.ts.map +1 -1
  47. package/dist/azure/costEstimation.d.ts +78 -0
  48. package/dist/azure/costEstimation.d.ts.map +1 -0
  49. package/dist/azure/costEstimation.js +3 -0
  50. package/dist/azure/costEstimation.js.map +1 -0
  51. package/dist/azure/governance.d.ts +627 -0
  52. package/dist/azure/governance.d.ts.map +1 -0
  53. package/dist/azure/governance.js +12 -0
  54. package/dist/azure/governance.js.map +1 -0
  55. package/dist/azure/metrics.d.ts +75 -4
  56. package/dist/azure/metrics.d.ts.map +1 -1
  57. package/dist/azure/payloads.d.ts +22 -1
  58. package/dist/azure/payloads.d.ts.map +1 -1
  59. package/dist/azure/prices.d.ts +178 -1
  60. package/dist/azure/prices.d.ts.map +1 -1
  61. package/dist/azure/publicIpAddresses.d.ts +96 -0
  62. package/dist/azure/publicIpAddresses.d.ts.map +1 -0
  63. package/dist/azure/publicIpAddresses.js +6 -0
  64. package/dist/azure/publicIpAddresses.js.map +1 -0
  65. package/dist/azure/recommendationAudit.d.ts +113 -0
  66. package/dist/azure/recommendationAudit.d.ts.map +1 -0
  67. package/dist/azure/recommendationAudit.js +10 -0
  68. package/dist/azure/recommendationAudit.js.map +1 -0
  69. package/dist/azure/recommendationState.d.ts +92 -3
  70. package/dist/azure/recommendationState.d.ts.map +1 -1
  71. package/dist/azure/recommendations.d.ts +390 -6
  72. package/dist/azure/recommendations.d.ts.map +1 -1
  73. package/dist/azure/recommendations.js.map +1 -1
  74. package/dist/azure/relationships.d.ts +77 -0
  75. package/dist/azure/relationships.d.ts.map +1 -0
  76. package/dist/azure/relationships.js +3 -0
  77. package/dist/azure/relationships.js.map +1 -0
  78. package/dist/azure/reports.d.ts +248 -0
  79. package/dist/azure/reports.d.ts.map +1 -1
  80. package/dist/azure/reports.js +13 -0
  81. package/dist/azure/reports.js.map +1 -1
  82. package/dist/azure/resources.d.ts +80 -0
  83. package/dist/azure/resources.d.ts.map +1 -1
  84. package/dist/azure/reviewChecklist.d.ts +139 -0
  85. package/dist/azure/reviewChecklist.d.ts.map +1 -0
  86. package/dist/azure/reviewChecklist.js +3 -0
  87. package/dist/azure/reviewChecklist.js.map +1 -0
  88. package/dist/azure/security.d.ts +15 -1
  89. package/dist/azure/security.d.ts.map +1 -1
  90. package/dist/azure/serviceRetirement.d.ts +28 -0
  91. package/dist/azure/serviceRetirement.d.ts.map +1 -0
  92. package/dist/azure/serviceRetirement.js +3 -0
  93. package/dist/azure/serviceRetirement.js.map +1 -0
  94. package/dist/azure/serviceRetirementState.d.ts +22 -0
  95. package/dist/azure/serviceRetirementState.d.ts.map +1 -0
  96. package/dist/azure/serviceRetirementState.js +3 -0
  97. package/dist/azure/serviceRetirementState.js.map +1 -0
  98. package/dist/azure/storage-inventory.d.ts +241 -0
  99. package/dist/azure/storage-inventory.d.ts.map +1 -0
  100. package/dist/azure/storage-inventory.js +3 -0
  101. package/dist/azure/storage-inventory.js.map +1 -0
  102. package/dist/azure/subscriptions.d.ts +34 -13
  103. package/dist/azure/subscriptions.d.ts.map +1 -1
  104. package/dist/azure/views.d.ts +252 -3
  105. package/dist/azure/views.d.ts.map +1 -1
  106. package/dist/common/index.d.ts +1 -0
  107. package/dist/common/index.d.ts.map +1 -1
  108. package/dist/common/index.js +1 -0
  109. package/dist/common/index.js.map +1 -1
  110. package/dist/common/pagination.d.ts +3 -0
  111. package/dist/common/pagination.d.ts.map +1 -1
  112. package/dist/common/provider.d.ts +9 -0
  113. package/dist/common/provider.d.ts.map +1 -0
  114. package/dist/common/provider.js +9 -0
  115. package/dist/common/provider.js.map +1 -0
  116. package/dist/company/billingAccount.d.ts +30 -0
  117. package/dist/company/billingAccount.d.ts.map +1 -0
  118. package/dist/company/billingAccount.js +3 -0
  119. package/dist/company/billingAccount.js.map +1 -0
  120. package/dist/company/company.d.ts +32 -1
  121. package/dist/company/company.d.ts.map +1 -1
  122. package/dist/company/index.d.ts +1 -0
  123. package/dist/company/index.d.ts.map +1 -1
  124. package/dist/company/index.js +1 -0
  125. package/dist/company/index.js.map +1 -1
  126. package/dist/company/notification.d.ts +31 -1
  127. package/dist/company/notification.d.ts.map +1 -1
  128. package/dist/company/notification.js +24 -12
  129. package/dist/company/notification.js.map +1 -1
  130. package/dist/company/survey.d.ts +3 -0
  131. package/dist/company/survey.d.ts.map +1 -1
  132. package/dist/events/alertDefinitionRun.d.ts +23 -0
  133. package/dist/events/alertDefinitionRun.d.ts.map +1 -0
  134. package/dist/events/alertDefinitionRun.js +3 -0
  135. package/dist/events/alertDefinitionRun.js.map +1 -0
  136. package/dist/events/baseAlert.d.ts +130 -0
  137. package/dist/events/baseAlert.d.ts.map +1 -0
  138. package/dist/events/baseAlert.js +3 -0
  139. package/dist/events/baseAlert.js.map +1 -0
  140. package/dist/events/cost.d.ts +361 -0
  141. package/dist/events/cost.d.ts.map +1 -0
  142. package/dist/events/cost.js +3 -0
  143. package/dist/events/cost.js.map +1 -0
  144. package/dist/events/costAnomalies.d.ts +47 -0
  145. package/dist/events/costAnomalies.d.ts.map +1 -0
  146. package/dist/events/costAnomalies.js +3 -0
  147. package/dist/events/costAnomalies.js.map +1 -0
  148. package/dist/events/costViews.d.ts +23 -0
  149. package/dist/events/costViews.d.ts.map +1 -0
  150. package/dist/events/costViews.js +3 -0
  151. package/dist/events/costViews.js.map +1 -0
  152. package/dist/events/eventStatus.d.ts +67 -0
  153. package/dist/events/eventStatus.d.ts.map +1 -0
  154. package/dist/events/eventStatus.js +3 -0
  155. package/dist/events/eventStatus.js.map +1 -0
  156. package/dist/events/index.d.ts +7 -0
  157. package/dist/events/index.d.ts.map +1 -0
  158. package/dist/events/index.js +23 -0
  159. package/dist/events/index.js.map +1 -0
  160. package/dist/feedbacks/feedback.d.ts +9 -0
  161. package/dist/feedbacks/feedback.d.ts.map +1 -1
  162. package/dist/identity/apikey.d.ts +67 -0
  163. package/dist/identity/apikey.d.ts.map +1 -0
  164. package/dist/identity/apikey.js +3 -0
  165. package/dist/identity/apikey.js.map +1 -0
  166. package/dist/identity/index.d.ts +2 -0
  167. package/dist/identity/index.d.ts.map +1 -0
  168. package/dist/identity/index.js +18 -0
  169. package/dist/identity/index.js.map +1 -0
  170. package/dist/index.d.ts +19 -0
  171. package/dist/index.d.ts.map +1 -1
  172. package/dist/index.js +19 -1
  173. package/dist/index.js.map +1 -1
  174. package/dist/integrations/halo.d.ts +76 -0
  175. package/dist/integrations/halo.d.ts.map +1 -0
  176. package/dist/integrations/halo.js +3 -0
  177. package/dist/integrations/halo.js.map +1 -0
  178. package/dist/integrations/index.d.ts +3 -0
  179. package/dist/integrations/index.d.ts.map +1 -0
  180. package/dist/integrations/index.js +19 -0
  181. package/dist/integrations/index.js.map +1 -0
  182. package/dist/integrations/integrationTickets.d.ts +67 -0
  183. package/dist/integrations/integrationTickets.d.ts.map +1 -0
  184. package/dist/integrations/integrationTickets.js +3 -0
  185. package/dist/integrations/integrationTickets.js.map +1 -0
  186. package/dist/scheduler/index.d.ts +2 -0
  187. package/dist/scheduler/index.d.ts.map +1 -0
  188. package/dist/scheduler/index.js +18 -0
  189. package/dist/scheduler/index.js.map +1 -0
  190. package/dist/scheduler/scheduler.d.ts +110 -0
  191. package/dist/scheduler/scheduler.d.ts.map +1 -0
  192. package/dist/scheduler/scheduler.js +3 -0
  193. package/dist/scheduler/scheduler.js.map +1 -0
  194. package/dist/tags/index.d.ts +2 -0
  195. package/dist/tags/index.d.ts.map +1 -0
  196. package/dist/tags/index.js +18 -0
  197. package/dist/tags/index.js.map +1 -0
  198. package/dist/tags/tags.d.ts +26 -0
  199. package/dist/tags/tags.d.ts.map +1 -0
  200. package/dist/tags/tags.js +10 -0
  201. package/dist/tags/tags.js.map +1 -0
  202. package/dist/unknown/services.d.ts +12 -0
  203. package/dist/unknown/services.d.ts.map +1 -0
  204. package/dist/unknown/services.js +3 -0
  205. package/dist/unknown/services.js.map +1 -0
  206. package/package.json +2 -2
@@ -1,5 +1,9 @@
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 { CostSavingsSummary, SavingsPotential, VmPricePerformanceInsights } from './views';
6
+ import type { HaloRoutingOverrides } from '../integrations/halo';
3
7
  export declare enum RecommendationCategory {
4
8
  Cost = "Cost",
5
9
  Performance = "Performance",
@@ -9,14 +13,134 @@ export declare enum RecommendationCategory {
9
13
  OperationalExcellence = "OperationalExcellence",
10
14
  OperationalExcellenceAlternative = "Operational Excellence"
11
15
  }
16
+ export type RecommendationPriorityTier = 'must_do' | 'normal';
17
+ export type EffortEstimateProfileName = 'clickops' | 'devops' | 'enterprise';
18
+ export interface RecommendationBaseScores {
19
+ cost_optimization: number;
20
+ security: number;
21
+ performance: number;
22
+ reliability: number;
23
+ compliance: number;
24
+ operational_excellence: number;
25
+ }
26
+ export interface RecommendationEffortEstimateBreakdown {
27
+ discovery: number;
28
+ implementation: number;
29
+ validation: number;
30
+ rollbackPlanning: number;
31
+ coordination: number;
32
+ }
33
+ export interface RecommendationEffortEstimateProfile {
34
+ effortHours: number;
35
+ breakdown: RecommendationEffortEstimateBreakdown;
36
+ reason: string;
37
+ }
38
+ export interface RecommendationEffortEstimateProfiles {
39
+ clickops: RecommendationEffortEstimateProfile;
40
+ devops: RecommendationEffortEstimateProfile;
41
+ enterprise: RecommendationEffortEstimateProfile;
42
+ }
43
+ export interface RecommendationBulkEffortEstimateProfile {
44
+ setupHours: number;
45
+ perResourceHours: number;
46
+ validationHours: number;
47
+ }
48
+ export interface RecommendationBulkEffortEstimateProfiles {
49
+ clickops: RecommendationBulkEffortEstimateProfile;
50
+ devops: RecommendationBulkEffortEstimateProfile;
51
+ enterprise: RecommendationBulkEffortEstimateProfile;
52
+ }
53
+ export interface RecommendationBulkEffortEstimates {
54
+ supported: boolean;
55
+ threshold: number;
56
+ profiles: RecommendationBulkEffortEstimateProfiles;
57
+ }
58
+ export interface RecommendationEffortEstimates {
59
+ profiles: RecommendationEffortEstimateProfiles;
60
+ bulk: RecommendationBulkEffortEstimates;
61
+ overridden?: boolean;
62
+ lastUpdatedAt?: string;
63
+ notes?: string;
64
+ }
65
+ export interface RecommendationActionImpactAssessment {
66
+ downtime: string;
67
+ dataLoss: string;
68
+ accessImpact: string;
69
+ dependencies: string;
70
+ }
71
+ export interface RecommendationActionDefinition {
72
+ verified: boolean;
73
+ description: string;
74
+ estimatedDuration: string;
75
+ riskLevel: string;
76
+ preRequisites: string[];
77
+ impactAssessment: RecommendationActionImpactAssessment;
78
+ }
79
+ export type RecommendationActionMetadata = Partial<Omit<RecommendationActionDefinition, 'impactAssessment'>> & {
80
+ impactAssessment?: Partial<RecommendationActionImpactAssessment>;
81
+ };
82
+ export type RecommendationImplementActionImpactAssessment = Partial<RecommendationActionImpactAssessment>;
83
+ export type RecommendationImplementAction = RecommendationActionMetadata;
12
84
  export interface RecommendationResources {
13
85
  recommendation: CustomAzureRecommendation;
14
86
  resourceIds: string[];
15
87
  }
88
+ export type HddSsdMigrationTargetTier = 'standardSsd' | 'premiumSsd';
89
+ export type HddDiskPricingRedundancy = 'LRS' | 'ZRS';
90
+ export interface HddOsRetirementCurrentDiskPricing {
91
+ storageTier: 'standardHdd';
92
+ skuName: string;
93
+ pricingRedundancy?: HddDiskPricingRedundancy;
94
+ sizeGiB: number;
95
+ monthlyActual: number;
96
+ monthlyRetail: number;
97
+ }
98
+ export interface HddOsRetirementTargetDiskPricing {
99
+ storageTier: HddSsdMigrationTargetTier;
100
+ skuName: string;
101
+ pricingRedundancy?: HddDiskPricingRedundancy;
102
+ sizeGiB: number;
103
+ monthlyRetail: number;
104
+ }
105
+ export interface HddOsRetirementDiskRenderItem {
106
+ resourceId: string;
107
+ resourceName: string;
108
+ resourceType: string;
109
+ /** Canonical location key used for pricing lookup, e.g. "westus". */
110
+ pricingLocation?: string;
111
+ current: HddOsRetirementCurrentDiskPricing;
112
+ standardSsd: HddOsRetirementTargetDiskPricing & {
113
+ storageTier: 'standardSsd';
114
+ };
115
+ premiumSsd: HddOsRetirementTargetDiskPricing & {
116
+ storageTier: 'premiumSsd';
117
+ };
118
+ defaultSelection?: HddSsdMigrationTargetTier;
119
+ }
120
+ export interface HddOsRetirementRenderStrategyPayload {
121
+ retirementDate: string;
122
+ retirementLink: string;
123
+ currencyCode?: string;
124
+ currencySymbol?: string;
125
+ defaultTargetTier?: HddSsdMigrationTargetTier;
126
+ impactedDiskCount: number;
127
+ currentMonthlyActual: number;
128
+ currentMonthlyRetail: number;
129
+ standardSsdMonthlyRetail: number;
130
+ premiumSsdMonthlyRetail: number;
131
+ standardSsdMonthlyDelta: number;
132
+ premiumSsdMonthlyDelta: number;
133
+ disks: HddOsRetirementDiskRenderItem[];
134
+ }
135
+ export type RecommendationKnownRenderData = HddOsRetirementRenderStrategyPayload | VmPricePerformanceInsights;
136
+ export type AnyRecommendationRenderData = Record<string, unknown>;
16
137
  export interface Recommendation {
138
+ /** Business identity of a recommendation record (routing/state/sharing/dedupe). */
17
139
  id: string;
18
140
  name: string;
19
141
  category: RecommendationCategory;
142
+ subCategory?: string;
143
+ /** custom */
20
144
  type?: string;
21
145
  description?: string;
22
146
  remediation?: string;
@@ -30,28 +154,76 @@ export interface Recommendation {
30
154
  potentialBenefits?: string;
31
155
  effort?: string;
32
156
  effortReason?: string;
157
+ /** e.g. 10 hours */
158
+ effortHours?: number;
159
+ /** Detailed implementation estimates by delivery profile and bulk rollout mode. */
160
+ effortEstimates?: RecommendationEffortEstimates;
33
161
  risk?: string;
34
162
  riskReason?: string;
163
+ /** Could deprecate later */
35
164
  costImpact?: number;
36
165
  costImpactReason?: string;
37
- costImpactDetails?: CostImpactDetails;
166
+ /*** costImpactDetails is deprecated **/
38
167
  performanceImpact?: number;
39
168
  performanceImpactReason?: string;
40
169
  confidencePercentage?: number;
41
170
  confidenceReason?: string;
171
+ /** array of resources that have this recommendation */
42
172
  resources?: ResourceReference[];
173
+ /** only for security recommendations */
43
174
  securityImpactDetails?: SecurityImpact;
44
- subcategory?: string;
175
+ /** whether the recommendation has been resolved or not, eg, Security Assessment is "Healthy" should be true */
176
+ resolved?: boolean;
177
+ securityAssessmentStatuses?: SecurityAssessmentStatus[];
178
+ /** Deprecated fields, kept for compatibility */
45
179
  solution?: string;
46
180
  source?: string;
47
181
  service?: string;
182
+ /**
183
+ * Stored as string to allow JSON persistence.
184
+ * Uses a different name to avoid conflict with RecommendationWithState.createdAt.
185
+ */
48
186
  createdTime?: string;
187
+ /** Avoids conflict with RecommendationWithState.updatedAt */
49
188
  lastUpdatedTime?: string;
189
+ /** Business story properties */
190
+ headline: string;
191
+ bottomLine: string;
192
+ plainSummary: string;
193
+ quickSteps: string[];
194
+ businessOwner: string;
195
+ keyConstraint: string;
196
+ validationEvidence: string;
197
+ /** Technical playbook (only for multi-step implementations) */
198
+ technicalPlaybook?: string;
199
+ /** Static recommendation scoring metadata (library-level). */
200
+ baseScores?: RecommendationBaseScores;
201
+ overallBaseScore?: number;
202
+ overallBaseReason?: string;
203
+ priorityTier?: RecommendationPriorityTier;
204
+ /** Runtime scoring metadata (per company/tenant). */
205
+ adjustedScore?: number;
206
+ objectiveMultiplier?: number;
207
+ finalScore?: number;
208
+ /** UI display-only normalized score (0-100). */
209
+ normalizedScore?: number;
210
+ /** Cross-feature linkage IDs used for deep links and related views. */
211
+ linkingIds?: RecommendationLinkingIds;
212
+ /** Optional UI render payload consumed by recommendation-specific components. */
213
+ renderData?: RecommendationKnownRenderData | AnyRecommendationRenderData;
214
+ /** Optional action definition for implement-capable recommendations. */
215
+ action?: RecommendationActionMetadata;
216
+ }
217
+ export interface RecommendationLinkingIds {
218
+ serviceRetirementIds?: string[];
50
219
  }
220
+ /** Deprecated **/
51
221
  export interface CostImpactDetails {
222
+ /** e.g. "Saving Plan", "Reserved Instance", "Windows migration to Linux" */
52
223
  name: string;
53
224
  monthlySavings?: number;
54
225
  currentSpend?: number;
226
+ /** e.g. 20 for 20% */
55
227
  savingPercentage?: number;
56
228
  minMonthlySavings?: number;
57
229
  maxMonthlySavings?: number;
@@ -66,6 +238,18 @@ export interface RecommendationSummary {
66
238
  export interface RecommendationWithResources {
67
239
  recommendation: Recommendation;
68
240
  resources: RecommendationResource[];
241
+ savings?: SavingsPotential;
242
+ }
243
+ /**
244
+ * Contextual links from one recommendation row to other resources.
245
+ * Used to model "this disk belongs to that VM" style associations
246
+ * without changing which resource owns savings totals.
247
+ */
248
+ export interface RecommendationResourceAssociation {
249
+ id: string;
250
+ name?: string;
251
+ type?: string;
252
+ relationship?: ResourceRelationship;
69
253
  }
70
254
  export interface RecommendationResource {
71
255
  id: string;
@@ -73,9 +257,19 @@ export interface RecommendationResource {
73
257
  type: string;
74
258
  spend: number;
75
259
  spendAmortized: number;
260
+ savings?: SavingsPotential;
261
+ currency?: string;
262
+ currencySymbol?: string;
263
+ relationship?: ResourceRelationship;
264
+ associations?: RecommendationResourceAssociation[];
76
265
  }
77
266
  export interface RecommendationsView {
78
267
  recommendations: RecommendationWithResources[];
268
+ securityImpactDetails?: SecurityImpact[];
269
+ subscriptionSecurityStatus?: SubscriptionSecurityStatus;
270
+ savings?: SavingsPotential;
271
+ subscription: SubscriptionSummaryLite;
272
+ costSavingsSummary?: CostSavingsSummary;
79
273
  }
80
274
  export interface ResourceId {
81
275
  id: string;
@@ -83,7 +277,19 @@ export interface ResourceId {
83
277
  export interface ResourceReference {
84
278
  id: string;
85
279
  name: string;
280
+ type?: string;
281
+ savings?: SavingsPotential;
282
+ currency?: string;
283
+ currencySymbol?: string;
284
+ relationship?: ResourceRelationship;
285
+ associations?: RecommendationResourceAssociation[];
86
286
  }
287
+ export type ResourceRelationship = {
288
+ role?: 'primary' | 'related';
289
+ type?: string;
290
+ allocationId?: string;
291
+ metadata?: Record<string, string>;
292
+ };
87
293
  export interface ReliabilityRecommendation extends Recommendation {
88
294
  referenceID: string;
89
295
  resourceType: string;
@@ -91,7 +297,6 @@ export interface ReliabilityRecommendation extends Recommendation {
91
297
  service: string;
92
298
  }
93
299
  export interface CustomAzureRecommendation extends Recommendation {
94
- subcategory: string;
95
300
  service: string;
96
301
  source: string;
97
302
  fileName: string;
@@ -101,6 +306,7 @@ export interface RecommendationCollection {
101
306
  results: ResourceId[];
102
307
  }
103
308
  export interface AzureRecommendationLite {
309
+ /** e.g. Cost, Performance, Reliability, Security, Compliance, OperationalExcellence, Operational Excellence, HighAvailability */
104
310
  category: string;
105
311
  total: number;
106
312
  high: number;
@@ -108,13 +314,18 @@ export interface AzureRecommendationLite {
108
314
  low: number;
109
315
  }
110
316
  export interface RecommendationStats {
317
+ /** total number of recommendations in the subscription */
111
318
  total: number;
319
+ /** total number of high recommendations in the subscription */
112
320
  high: number;
321
+ /** total number of medium recommendations in the subscription */
113
322
  medium: number;
323
+ /** total number of low recommendations in the subscription */
114
324
  low: number;
115
325
  }
326
+ /** Recommendation with state information, name "ExtendedRecommendation" in the portal at the moment */
116
327
  export interface RecommendationWithState extends Recommendation {
117
- status?: 'Active' | 'Prioritized' | 'Postponed' | 'Dismissed' | 'Completed' | 'Archived';
328
+ status?: 'Active' | 'Prioritized' | 'Postponed' | 'Dismissed' | 'Completed' | 'Archived' | 'Implementing' | 'Implemented' | 'Failed';
118
329
  read?: boolean;
119
330
  scheduledAt?: Date;
120
331
  createdAt?: Date;
@@ -123,4 +334,177 @@ export interface RecommendationWithState extends Recommendation {
123
334
  comments?: Comment[];
124
335
  history?: RecommendationHistory[];
125
336
  }
337
+ export interface DismissRecommendationRequest extends RecommendationActionRequest {
338
+ dismissReason: string;
339
+ }
340
+ export interface ShareRecommendationRequest extends RecommendationActionRequest {
341
+ shareType: 'email' | 'slack' | 'teams' | 'jira' | 'halo' | 'connectwise';
342
+ email?: string;
343
+ halo?: HaloRoutingOverrides;
344
+ connectwise?: ConnectWiseRoutingFields;
345
+ }
346
+ export interface RecommendationActionRequest extends ProviderScope {
347
+ /** `providerScope` maps to subscription identity for Azure providers. */
348
+ scope?: CommentScope;
349
+ /** Optional cloud-account identity enriched by trusted server-side callers before queue publish. */
350
+ cloudAccountId?: string;
351
+ /** Optional user-provided reason for queue-backed actions such as implement. */
352
+ reason?: string;
353
+ recommendationId: string;
354
+ recommendationTitle?: string;
355
+ resourceIds: string[];
356
+ resourceGroupName?: string;
357
+ companyId: string;
358
+ byUserId?: string;
359
+ byUserDisplayName?: string;
360
+ }
361
+ export interface RecommendationActionResponse {
362
+ success: boolean;
363
+ message?: string;
364
+ affectedResources?: string[];
365
+ eventId?: string;
366
+ }
367
+ export interface ServiceRetirementRecommendation {
368
+ Id: string;
369
+ ServiceName: string;
370
+ RetiringFeature: string;
371
+ RetirementDate: string;
372
+ Link: string;
373
+ effort: string;
374
+ effortHours: number;
375
+ effortReason: string;
376
+ risk: string;
377
+ riskReason: string;
378
+ considerations: string;
379
+ confidencePercentage: number;
380
+ confidenceReason: string;
381
+ lastProcessedAt: string;
382
+ /** Related recommendation IDs for cross-navigation from retirement tracker. */
383
+ linkedRecommendationIds?: string[];
384
+ }
385
+ export interface JiraShareDetails {
386
+ projectKey?: string;
387
+ epicKey?: string;
388
+ label?: string;
389
+ }
390
+ export interface JiraIntegrationRequestBase {
391
+ siteUrl: string;
392
+ email: string;
393
+ secret?: string;
394
+ useStoredSecret?: boolean;
395
+ }
396
+ export interface JiraIntegrationTestPayload extends JiraIntegrationRequestBase {
397
+ projectKey?: string;
398
+ }
399
+ export interface JiraIntegrationEpicsPayload extends JiraIntegrationRequestBase {
400
+ projectKey: string;
401
+ maxResults?: number;
402
+ }
403
+ export interface JiraIntegrationProjectsPayload extends JiraIntegrationRequestBase {
404
+ maxResults?: number;
405
+ }
406
+ export interface JiraIntegrationLabelsPayload extends JiraIntegrationRequestBase {
407
+ projectKey: string;
408
+ maxResults?: number;
409
+ searchQuery?: string;
410
+ }
411
+ export interface JiraEntity {
412
+ id: string;
413
+ key: string;
414
+ name: string;
415
+ }
416
+ export interface JiraLabel {
417
+ name: string;
418
+ }
419
+ export interface ConnectWiseIntegrationRequestBase {
420
+ siteUrl: string;
421
+ companyId: string;
422
+ publicKey: string;
423
+ secret?: string;
424
+ useStoredSecret?: boolean;
425
+ credentialOwnerCompanyId?: string;
426
+ }
427
+ export type ConnectWiseId = string | number;
428
+ export interface ConnectWiseRoutingFields {
429
+ boardId?: ConnectWiseId;
430
+ boardName?: string;
431
+ statusId?: ConnectWiseId;
432
+ statusName?: string;
433
+ customerId?: ConnectWiseId;
434
+ customerName?: string;
435
+ projectId?: ConnectWiseId;
436
+ projectName?: string;
437
+ typeId?: ConnectWiseId;
438
+ typeName?: string;
439
+ subTypeId?: ConnectWiseId;
440
+ subTypeName?: string;
441
+ itemId?: ConnectWiseId;
442
+ itemName?: string;
443
+ priorityId?: ConnectWiseId;
444
+ priorityName?: string;
445
+ contactId?: ConnectWiseId;
446
+ contactName?: string;
447
+ agreementId?: ConnectWiseId;
448
+ agreementName?: string;
449
+ slaId?: ConnectWiseId;
450
+ slaName?: string;
451
+ source?: string;
452
+ }
453
+ export interface ConnectWiseIntegrationTestPayload extends ConnectWiseIntegrationRequestBase, ConnectWiseRoutingFields {
454
+ }
455
+ export type ConnectWiseBoardsPayload = ConnectWiseIntegrationRequestBase;
456
+ export type ConnectWiseCompaniesPayload = ConnectWiseIntegrationRequestBase;
457
+ export type ConnectWiseProjectsPayload = ConnectWiseIntegrationRequestBase;
458
+ export interface ConnectWiseStatusesPayload extends ConnectWiseIntegrationRequestBase {
459
+ boardId?: string;
460
+ boardName?: string;
461
+ }
462
+ export interface ConnectWiseTypesPayload extends ConnectWiseIntegrationRequestBase {
463
+ boardId?: string;
464
+ boardName?: string;
465
+ }
466
+ export interface ConnectWiseSubTypesPayload extends ConnectWiseIntegrationRequestBase {
467
+ boardId?: string;
468
+ boardName?: string;
469
+ typeId?: string;
470
+ typeName?: string;
471
+ }
472
+ export interface ConnectWiseItemsPayload extends ConnectWiseIntegrationRequestBase {
473
+ boardId?: string;
474
+ boardName?: string;
475
+ typeId?: string;
476
+ typeName?: string;
477
+ subTypeId?: string;
478
+ subTypeName?: string;
479
+ }
480
+ export interface ConnectWiseTypeSubTypeItemAssociationsPayload extends ConnectWiseIntegrationRequestBase {
481
+ boardId?: string;
482
+ boardName?: string;
483
+ }
484
+ export interface ConnectWisePrioritiesPayload extends ConnectWiseIntegrationRequestBase {
485
+ boardId?: string;
486
+ boardName?: string;
487
+ }
488
+ export interface ConnectWiseContactsPayload extends ConnectWiseIntegrationRequestBase {
489
+ searchQuery?: string;
490
+ }
491
+ export type ConnectWiseSourcesPayload = ConnectWiseIntegrationRequestBase;
492
+ export type ConnectWiseAgreementsPayload = ConnectWiseIntegrationRequestBase;
493
+ export type ConnectWiseSlasPayload = ConnectWiseIntegrationRequestBase;
494
+ export interface ConnectWiseEntity {
495
+ id: string | number;
496
+ name: string;
497
+ }
498
+ export interface ConnectWiseTypeSubTypeItemAssociation {
499
+ type?: ConnectWiseEntity;
500
+ subType?: ConnectWiseEntity;
501
+ item?: ConnectWiseEntity;
502
+ }
503
+ export interface ConnectWiseContact extends ConnectWiseEntity {
504
+ email?: string;
505
+ }
506
+ export interface ConnectWiseTicketMetadata extends ConnectWiseRoutingFields {
507
+ ticketId: ConnectWiseId;
508
+ ticketUrl?: string;
509
+ }
126
510
  //# 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":";;;AAMA,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"}
@@ -0,0 +1,77 @@
1
+ export type RelationshipSnapshotNodeKind = 'subscription' | 'resourceGroup' | 'resource' | 'location' | 'availabilityZone' | 'managementGroup';
2
+ export type RelationshipSnapshotEdgeKind = 'contains' | 'depends_on';
3
+ export interface RelationshipSnapshotCostOverlay {
4
+ spend30d?: number;
5
+ spend30dAmortized?: number;
6
+ }
7
+ export interface RelationshipSnapshotNodeData {
8
+ resourceGroup?: string;
9
+ name?: string;
10
+ type?: string;
11
+ location?: string;
12
+ tags?: Record<string, string>;
13
+ placeholder?: boolean;
14
+ displayName?: string;
15
+ icon?: string;
16
+ label1?: string;
17
+ label2?: string;
18
+ label3?: string;
19
+ properties?: Record<string, unknown>;
20
+ }
21
+ export interface RelationshipSnapshotNode {
22
+ id: string;
23
+ kind: RelationshipSnapshotNodeKind;
24
+ data: RelationshipSnapshotNodeData;
25
+ cost?: RelationshipSnapshotCostOverlay;
26
+ }
27
+ export interface RelationshipSnapshotEdgeEvidence {
28
+ method: string;
29
+ ruleName?: string;
30
+ propertyPath?: string;
31
+ matchedValue?: string;
32
+ }
33
+ export interface RelationshipSnapshotEdge {
34
+ id: string;
35
+ from: string;
36
+ to: string;
37
+ kind: RelationshipSnapshotEdgeKind;
38
+ relationshipTypes: string[];
39
+ confidence: number;
40
+ evidence: RelationshipSnapshotEdgeEvidence[];
41
+ costImpact?: {
42
+ type: 'full' | 'partial' | 'indirect' | 'none';
43
+ weight?: number;
44
+ category?: string;
45
+ description?: string;
46
+ };
47
+ }
48
+ export interface UnresolvedRelationshipReference {
49
+ sourceId: string;
50
+ ruleName?: string;
51
+ propertyPath?: string;
52
+ value: string;
53
+ resolverTried?: string;
54
+ reason?: string;
55
+ }
56
+ export interface RelationshipSnapshotStats {
57
+ totalNodes: number;
58
+ totalEdges: number;
59
+ unresolvedCount: number;
60
+ buildMs: number;
61
+ unresolvedTruncated?: boolean;
62
+ edgesTruncated?: boolean;
63
+ edgesDroppedCount?: number;
64
+ snapshotBytes?: number;
65
+ }
66
+ export interface RelationshipSnapshot {
67
+ schemaVersion: 1;
68
+ generatedAt: string;
69
+ subscriptionId: string;
70
+ currency?: string;
71
+ currencySymbol?: string;
72
+ nodes: RelationshipSnapshotNode[];
73
+ edges: RelationshipSnapshotEdge[];
74
+ unresolved: UnresolvedRelationshipReference[];
75
+ stats: RelationshipSnapshotStats;
76
+ }
77
+ //# sourceMappingURL=relationships.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relationships.d.ts","sourceRoot":"","sources":["../../src/azure/relationships.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=relationships.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relationships.js","sourceRoot":"","sources":["../../src/azure/relationships.ts"],"names":[],"mappings":""}